.include "asm/macros.inc" .include "constants/constants.inc" .syntax unified .text thumb_func_start sub_8126968 sub_8126968: @ 8126968 push {lr} ldr r3, =gUnknown_0203A173 ldrb r0, [r3] cmp r0, 0x7 bhi _0812697E ldr r2, =gUnknown_0203A14C ldr r1, =gDecorationInventories lsls r0, 3 adds r0, r1 ldr r0, [r0] str r0, [r2] _0812697E: ldr r2, =gUnknown_0203A17C ldrb r0, [r2, 0x9] cmp r0, 0 bne _08126996 ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r3, =0x00001aae adds r1, r0, r3 str r1, [r2] ldr r1, =0x00001abe adds r0, r1 str r0, [r2, 0x4] _08126996: ldrb r0, [r2, 0x9] cmp r0, 0x1 bne _081269AC ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r3, =0x0000271c adds r1, r0, r3 str r1, [r2] ldr r1, =0x00002728 adds r0, r1 str r0, [r2, 0x4] _081269AC: pop {r0} bx r0 .pool thumb_func_end sub_8126968 thumb_func_start sub_81269D4 sub_81269D4: @ 81269D4 push {r4,lr} sub sp, 0x8 lsls r0, 24 lsrs r1, r0, 24 ldr r0, =gUnknown_0203A188 adds r4, r1, r0 cmp r1, 0 bne _08126A28 ldr r0, =gUnknown_085A6B90 ldr r1, [r0, 0x4] ldr r0, [r0] str r0, [sp] str r1, [sp, 0x4] ldr r0, =gUnknown_085A6B48 movs r1, 0x4 bl GetMaxWidthInMenuTable lsls r0, 24 ldr r2, =0x00ffffff ldr r1, [sp] ands r1, r2 orrs r1, r0 str r1, [sp] lsrs r0, r1, 24 cmp r0, 0x12 bls _08126A14 adds r0, r2, 0 ands r0, r1 movs r1, 0x90 lsls r1, 21 orrs r0, r1 str r0, [sp] _08126A14: mov r0, sp b _08126A2E .pool _08126A28: lsls r0, r1, 3 ldr r1, =gUnknown_085A6B90 adds r0, r1 _08126A2E: bl AddWindow strb r0, [r4] ldrb r0, [r4] movs r2, 0x85 lsls r2, 2 movs r1, 0 movs r3, 0xE bl SetWindowBorderStyle movs r0, 0 bl schedule_bg_copy_tilemap_to_vram ldrb r0, [r4] add sp, 0x8 pop {r4} pop {r1} bx r1 .pool thumb_func_end sub_81269D4 thumb_func_start sub_8126A58 sub_8126A58: @ 8126A58 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, =gUnknown_0203A188 adds r4, r0 ldrb r0, [r4] movs r1, 0 bl sub_8198070 ldrb r0, [r4] bl ClearWindowTilemap ldrb r0, [r4] bl RemoveWindow movs r0, 0 bl schedule_bg_copy_tilemap_to_vram pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8126A58 thumb_func_start sub_8126A88 sub_8126A88: @ 8126A88 push {r4,lr} movs r0, 0 bl sub_81269D4 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r2, =gUnknown_085A6B48 adds r0, r4, 0 movs r1, 0x4 bl PrintMenuTable ldr r0, =gUnknown_0203A150 ldrb r2, [r0] adds r0, r4, 0 movs r1, 0x4 bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8126A88 thumb_func_start sub_8126ABC sub_8126ABC: @ 8126ABC push {lr} ldr r1, =gUnknown_0203A150 movs r0, 0 strb r0, [r1] bl script_env_2_enable bl sub_8126A88 bl sub_8126C08 pop {r0} bx r0 .pool thumb_func_end sub_8126ABC thumb_func_start sub_8126AD8 sub_8126AD8: @ 8126AD8 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sub_8126ABC ldr r2, =gUnknown_0203A17C ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r3, =0x00001aae adds r1, r0, r3 str r1, [r2] ldr r1, =0x00001abe adds r0, r1 str r0, [r2, 0x4] movs r1, 0 movs r0, 0x10 strb r0, [r2, 0x8] strb r1, [r2, 0x9] ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 ldr r1, =sub_8126B80 str r1, [r0] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8126AD8 thumb_func_start sub_8126B2C sub_8126B2C: @ 8126B2C push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sub_8126ABC ldr r2, =gUnknown_0203A17C ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r3, =0x0000271c adds r1, r0, r3 str r1, [r2] ldr r1, =0x00002728 adds r0, r1 str r0, [r2, 0x4] movs r0, 0xC strb r0, [r2, 0x8] movs r0, 0x1 strb r0, [r2, 0x9] ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 ldr r1, =sub_8126B80 str r1, [r0] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8126B2C thumb_func_start sub_8126B80 sub_8126B80: @ 8126B80 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r0, =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08126C00 bl GetMenuCursorPos lsls r0, 24 lsrs r4, r0, 24 bl ProcessMenuInput lsls r0, 24 asrs r1, r0, 24 movs r0, 0x2 negs r0, r0 cmp r1, r0 beq _08126BD8 adds r0, 0x1 cmp r1, r0 beq _08126BF4 movs r0, 0x5 bl PlaySE ldr r1, =gUnknown_085A6B48 ldr r0, =gUnknown_0203A150 ldrb r0, [r0] lsls r0, 3 adds r1, 0x4 adds r0, r1 ldr r1, [r0] adds r0, r5, 0 bl _call_via_r1 b _08126C00 .pool _08126BD8: bl GetMenuCursorPos ldr r1, =gUnknown_0203A150 strb r0, [r1] lsls r0, r4, 24 asrs r0, 24 ldrb r1, [r1] cmp r0, r1 beq _08126C00 bl sub_8126C08 b _08126C00 .pool _08126BF4: movs r0, 0x5 bl PlaySE adds r0, r5, 0 bl sub_8126D6C _08126C00: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8126B80 thumb_func_start sub_8126C08 sub_8126C08: @ 8126C08 push {lr} sub sp, 0x10 movs r0, 0 movs r1, 0x11 bl FillWindowPixelBuffer ldr r1, =gUnknown_085A6B68 ldr r0, =gUnknown_0203A150 ldrb r0, [r0] lsls r0, 2 adds r0, r1 ldr r2, [r0] movs r0, 0 str r0, [sp] movs r0, 0x2 str r0, [sp, 0x4] movs r0, 0x1 str r0, [sp, 0x8] movs r0, 0x3 str r0, [sp, 0xC] movs r0, 0 movs r1, 0x1 movs r3, 0 bl AddTextPrinterParametrized add sp, 0x10 pop {r0} bx r0 .pool thumb_func_end sub_8126C08 thumb_func_start sub_8126C48 sub_8126C48: @ 8126C48 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 bl sub_8161B10 lsls r0, 24 cmp r0, 0 bne _08126C7C ldr r4, =gStringVar4 ldr r1, =gUnknown_085EA83D adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_8126DA4 adds r0, r5, 0 adds r1, r4, 0 bl DisplayItemMessageOnField b _08126C96 .pool _08126C7C: ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 movs r2, 0 movs r1, 0 strh r1, [r0, 0x1E] ldr r0, =gUnknown_0203A173 strb r2, [r0] adds r0, r5, 0 bl sub_8126DCC _08126C96: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8126C48 thumb_func_start sub_8126CA4 sub_8126CA4: @ 8126CA4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 adds r0, r5, 0 bl sub_81299AC lsls r0, 24 cmp r0, 0 bne _08126CD8 ldr r4, =gStringVar4 ldr r1, =gUnknown_085EAAEC adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_8126DA4 adds r0, r5, 0 adds r1, r4, 0 bl DisplayItemMessageOnField b _08126D00 .pool _08126CD8: movs r0, 0 bl sub_8126A58 movs r0, 0 movs r1, 0 bl sub_8197434 movs r0, 0x1 movs r1, 0 bl fade_screen ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 movs r1, 0 strh r1, [r0, 0xC] ldr r1, =sub_8129ABC str r1, [r0] _08126D00: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8126CA4 thumb_func_start sub_8126D10 sub_8126D10: @ 8126D10 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 bl sub_8161B10 lsls r0, 24 cmp r0, 0 bne _08126D44 ldr r4, =gStringVar4 ldr r1, =gUnknown_085EA83D adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_8126DA4 adds r0, r5, 0 adds r1, r4, 0 bl DisplayItemMessageOnField b _08126D5E .pool _08126D44: ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 movs r2, 0 movs r1, 0x1 strh r1, [r0, 0x1E] ldr r0, =gUnknown_0203A173 strb r2, [r0] adds r0, r5, 0 bl sub_8126DCC _08126D5E: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8126D10 thumb_func_start sub_8126D6C sub_8126D6C: @ 8126D6C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 movs r0, 0 bl sub_8126A58 ldr r0, =gUnknown_0203A17C ldrb r0, [r0, 0x9] cmp r0, 0 bne _08126D98 ldr r0, =gUnknown_0823B4E8 bl ScriptContext1_SetupScript adds r0, r4, 0 bl DestroyTask b _08126D9E .pool _08126D98: adds r0, r4, 0 bl sub_816B060 _08126D9E: pop {r4} pop {r0} bx r0 thumb_func_end sub_8126D6C thumb_func_start sub_8126DA4 sub_8126DA4: @ 8126DA4 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sub_8126C08 ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 ldr r1, =sub_8126B80 str r1, [r0] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8126DA4 thumb_func_start sub_8126DCC sub_8126DCC: @ 8126DCC push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, =gUnknown_085A6BB0 movs r1, 0xD0 movs r2, 0x20 bl LoadPalette movs r0, 0 movs r1, 0 bl sub_8197434 movs r0, 0 bl sub_8126A58 adds r0, r4, 0 bl sub_8126DFC pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8126DCC thumb_func_start sub_8126DFC sub_8126DFC: @ 8126DFC push {r4,r5,lr} adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 movs r0, 0x1 bl sub_81269D4 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r5, 0 bl sub_8126E8C ldr r0, =gUnknown_0203A173 ldrb r2, [r0] adds r0, r4, 0 movs r1, 0x9 bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 ldr r1, =sub_8127088 str r1, [r0] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8126DFC thumb_func_start sub_8126E44 sub_8126E44: @ 8126E44 push {r4,r5,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r5, =gUnknown_0203A188 ldrb r0, [r5, 0x1] movs r1, 0x11 bl FillWindowPixelBuffer adds r0, r4, 0 bl sub_8126E8C ldrb r0, [r5, 0x1] ldr r1, =gUnknown_0203A173 ldrb r2, [r1] movs r1, 0x9 bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 ldr r1, =sub_8127088 str r1, [r0] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8126E44 thumb_func_start sub_8126E8C sub_8126E8C: @ 8126E8C push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} sub sp, 0xC lsls r0, 24 lsrs r6, r0, 24 lsls r0, r6, 2 adds r0, r6 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r1, r0, r1 ldr r0, =gUnknown_0203A188 ldrb r5, [r0, 0x1] ldr r0, =gUnknown_0203A17C ldrb r0, [r0, 0x9] movs r2, 0 mov r8, r2 cmp r0, 0x1 bne _08126EC0 movs r2, 0x16 ldrsh r0, [r1, r2] cmp r0, 0 bne _08126EC0 movs r0, 0x1 mov r8, r0 _08126EC0: movs r4, 0 lsls r2, r6, 2 mov r9, r2 movs r7, 0xFF _08126EC8: mov r0, r8 cmp r0, 0x1 bne _08126EF8 cmp r4, 0x6 beq _08126EF8 cmp r4, 0x7 beq _08126EF8 lsls r3, r4, 28 lsrs r3, 24 str r0, [sp] str r7, [sp, 0x4] adds r0, r5, 0 adds r1, r4, 0 movs r2, 0x8 bl sub_8126F68 b _08126F0C .pool _08126EF8: lsls r3, r4, 28 lsrs r3, 24 movs r0, 0 str r0, [sp] str r7, [sp, 0x4] adds r0, r5, 0 adds r1, r4, 0 movs r2, 0x8 bl sub_8126F68 _08126F0C: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x7 bls _08126EC8 ldr r0, =gTasks mov r2, r9 adds r1, r2, r6 lsls r1, 3 adds r1, r0 movs r2, 0x1E ldrsh r0, [r1, r2] ldr r2, =gUnknown_085E8CF0 cmp r0, 0x2 bne _08126F2C ldr r2, =gUnknown_085EB7EA _08126F2C: lsls r0, r4, 4 adds r0, 0x1 lsls r0, 24 lsrs r0, 24 str r0, [sp] movs r0, 0 str r0, [sp, 0x4] str r0, [sp, 0x8] adds r0, r5, 0 movs r1, 0x1 movs r3, 0x8 bl PrintTextOnWindow movs r0, 0 bl schedule_bg_copy_tilemap_to_vram add sp, 0xC pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_8126E8C thumb_func_start sub_8126F68 sub_8126F68: @ 8126F68 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x18 ldr r4, [sp, 0x38] ldr r6, [sp, 0x3C] lsls r0, 24 lsrs r0, 24 str r0, [sp, 0xC] lsls r1, 24 lsrs r1, 24 mov r8, r1 lsls r2, 24 lsrs r7, r2, 24 lsls r3, 24 lsrs r5, r3, 24 lsls r4, 24 lsrs r1, r4, 24 lsls r6, 24 lsrs r6, 24 mov r9, r6 movs r0, 0x60 str r0, [sp, 0x14] cmp r7, 0x8 bne _08126FA2 movs r2, 0x68 str r2, [sp, 0x14] _08126FA2: adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 ldr r4, =gStringVar4 adds r0, r4, 0 bl sub_8127058 adds r0, r4, 0 bl StringLength lsls r0, 16 lsrs r0, 16 adds r6, r0, r4 ldr r1, =gUnknown_085A6B28 mov r2, r8 lsls r0, r2, 2 adds r0, r1 ldr r1, [r0] adds r0, r6, 0 bl StringCopy str r5, [sp] mov r0, r9 str r0, [sp, 0x4] movs r2, 0 mov r10, r2 str r2, [sp, 0x8] ldr r0, [sp, 0xC] movs r1, 0x1 adds r2, r4, 0 adds r3, r7, 0 bl PrintTextOnWindow mov r0, r8 bl sub_8161AD0 adds r1, r0, 0 lsls r1, 24 lsrs r1, 24 adds r0, r6, 0 movs r2, 0x1 movs r3, 0x2 bl ConvertIntToDecimalStringN adds r6, r0, 0 movs r0, 0xBA strb r0, [r6] adds r6, 0x1 ldr r1, =gDecorationInventories mov r2, r8 lsls r0, r2, 3 adds r0, r1 ldrb r1, [r0, 0x4] adds r0, r6, 0 movs r2, 0x1 movs r3, 0x2 bl ConvertIntToDecimalStringN movs r0, 0x1 adds r1, r4, 0 ldr r2, [sp, 0x14] bl GetStringRightAlignXOffset lsls r0, 24 lsrs r7, r0, 24 str r5, [sp] mov r0, r9 str r0, [sp, 0x4] mov r2, r10 str r2, [sp, 0x8] ldr r0, [sp, 0xC] movs r1, 0x1 adds r2, r4, 0 adds r3, r7, 0 bl PrintTextOnWindow add sp, 0x18 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_8126F68 thumb_func_start sub_8127058 sub_8127058: @ 8127058 push {r4,r5,lr} adds r5, r0, 0 lsls r4, r1, 24 lsrs r4, 24 ldr r1, =gUnknown_085EA7C8 bl StringCopy cmp r4, 0x1 bne _08127078 movs r0, 0x4 strb r0, [r5, 0x2] movs r0, 0x5 b _0812707E .pool _08127078: movs r0, 0x2 strb r0, [r5, 0x2] movs r0, 0x3 _0812707E: strb r0, [r5, 0x5] pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8127058 thumb_func_start sub_8127088 sub_8127088: @ 8127088 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r0, =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _081270DE bl ProcessMenuInput lsls r0, 24 lsrs r4, r0, 24 asrs r1, r0, 24 movs r0, 0x1 negs r0, r0 cmp r1, r0 beq _081270C0 cmp r1, r0 bgt _081270BC subs r0, 0x1 cmp r1, r0 beq _081270DE b _081270CE .pool _081270BC: cmp r1, 0x8 bne _081270CE _081270C0: movs r0, 0x5 bl PlaySE adds r0, r5, 0 bl sub_812719C b _081270DE _081270CE: movs r0, 0x5 bl PlaySE ldr r0, =gUnknown_0203A173 strb r4, [r0] adds r0, r5, 0 bl sub_81270E8 _081270DE: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8127088 thumb_func_start sub_81270E8 sub_81270E8: @ 81270E8 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r4, =gUnknown_0203A173 ldrb r0, [r4] bl sub_8161AD0 ldr r1, =gUnknown_0203A151 strb r0, [r1] lsls r0, 24 cmp r0, 0 beq _08127154 ldrb r0, [r4] bl sub_8161A38 ldr r2, =gUnknown_0203A14C ldr r1, =gDecorationInventories ldrb r0, [r4] lsls r0, 3 adds r0, r1 ldr r0, [r0] str r0, [r2] adds r0, r5, 0 bl sub_81279B4 ldr r0, =gUnknown_0203A170 movs r1, 0 strh r1, [r0] ldr r0, =gUnknown_0203A16E strh r1, [r0] ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 ldr r1, =sub_8127620 str r1, [r0] b _0812716E .pool _08127154: movs r0, 0x1 bl sub_8126A58 ldr r4, =gStringVar4 ldr r1, =gUnknown_085EA83D adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_8127180 adds r0, r5, 0 adds r1, r4, 0 bl DisplayItemMessageOnField _0812716E: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_81270E8 thumb_func_start sub_8127180 sub_8127180: @ 8127180 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0 movs r1, 0 bl sub_8197434 adds r0, r4, 0 bl sub_8126DFC pop {r4} pop {r0} bx r0 thumb_func_end sub_8127180 thumb_func_start sub_812719C sub_812719C: @ 812719C push {lr} lsls r0, 24 lsrs r2, r0, 24 ldr r1, =gTasks lsls r0, r2, 2 adds r0, r2 lsls r0, 3 adds r0, r1 movs r1, 0x1E ldrsh r0, [r0, r1] cmp r0, 0x2 beq _081271C0 adds r0, r2, 0 bl sub_81271CC b _081271C6 .pool _081271C0: adds r0, r2, 0 bl sub_8127268 _081271C6: pop {r0} bx r0 thumb_func_end sub_812719C thumb_func_start sub_81271CC sub_81271CC: @ 81271CC push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x1 bl sub_8126A58 bl sub_8126A88 movs r0, 0 movs r1, 0 bl sub_81973C4 bl sub_8126C08 ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 ldr r1, =sub_8126B80 str r1, [r0] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81271CC thumb_func_start sub_8127208 sub_8127208: @ 8127208 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, =gUnknown_085A6BB0 movs r1, 0xD0 movs r2, 0x20 bl LoadPalette movs r0, 0 movs r1, 0 bl sub_8197434 ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 movs r2, 0 movs r1, 0x2 strh r1, [r0, 0x1E] ldr r0, =gUnknown_0203A173 strb r2, [r0] adds r0, r4, 0 bl sub_8126DFC pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8127208 thumb_func_start sub_8127250 sub_8127250: @ 8127250 push {lr} lsls r1, 24 ldr r2, =gUnknown_085A6B28 lsrs r1, 22 adds r1, r2 ldr r1, [r1] bl StringCopy pop {r0} bx r0 .pool thumb_func_end sub_8127250 thumb_func_start sub_8127268 sub_8127268: @ 8127268 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x1 bl sub_8126A58 adds r0, r4, 0 bl sub_8133E1C pop {r4} pop {r0} bx r0 thumb_func_end sub_8127268 thumb_func_start sub_8127284 sub_8127284: @ 8127284 push {lr} ldr r3, =gUnknown_0203A18C ldr r2, [r3] ldr r0, =gUnknown_0203A151 ldrb r0, [r0] adds r0, 0x1 movs r1, 0xA4 lsls r1, 3 adds r2, r1 strb r0, [r2] ldr r0, [r3] adds r1, r0, r1 ldrb r1, [r1] cmp r1, 0x8 bls _081272B8 ldr r2, =0x00000521 adds r1, r0, r2 movs r0, 0x8 strb r0, [r1] b _081272BE .pool _081272B8: ldr r2, =0x00000521 adds r0, r2 strb r1, [r0] _081272BE: pop {r0} bx r0 .pool thumb_func_end sub_8127284 thumb_func_start sub_81272C8 sub_81272C8: @ 81272C8 push {r4,lr} ldr r0, =gUnknown_0203A170 ldr r1, =gUnknown_0203A16E ldr r2, =gUnknown_0203A18C ldr r3, [r2] ldr r4, =0x00000521 adds r2, r3, r4 ldrb r2, [r2] subs r4, 0x1 adds r3, r4 ldrb r3, [r3] bl sub_812225C pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81272C8 thumb_func_start sub_81272F8 sub_81272F8: @ 81272F8 push {r4,lr} sub sp, 0x4 ldr r0, =gUnknown_0203A170 ldr r1, =gUnknown_0203A16E ldr r2, =gUnknown_0203A18C ldr r3, [r2] ldr r4, =0x00000521 adds r2, r3, r4 ldrb r2, [r2] subs r4, 0x1 adds r3, r4 ldrb r3, [r3] movs r4, 0x8 str r4, [sp] bl sub_8122298 add sp, 0x4 pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81272F8 thumb_func_start sub_8127330 sub_8127330: @ 8127330 push {r4-r6,lr} lsls r0, 24 lsrs r0, 24 lsls r1, r0, 2 adds r1, r0 lsls r1, 3 ldr r0, =gTasks + 0x8 adds r1, r0 ldr r0, =gUnknown_0203A173 ldrb r0, [r0] subs r0, 0x6 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bls _08127378 ldr r0, =gUnknown_0203A17C ldrb r0, [r0, 0x9] cmp r0, 0x1 bne _08127378 movs r2, 0x16 ldrsh r0, [r1, r2] cmp r0, 0 bne _08127378 ldr r0, =gStringVar1 movs r1, 0x1 bl sub_8127058 b _08127380 .pool _08127378: ldr r0, =gStringVar1 movs r1, 0 bl sub_8127058 _08127380: movs r6, 0 ldr r1, =gUnknown_0203A18C ldr r0, [r1] movs r3, 0xA4 lsls r3, 3 adds r0, r3 ldrb r0, [r0] subs r0, 0x1 cmp r6, r0 bge _081273D6 adds r5, r1, 0 _08127396: lsls r4, r6, 1 adds r4, r6 lsls r4, 3 movs r0, 0xA4 lsls r0, 1 adds r4, r0 ldr r0, [r5] adds r0, r4 ldr r1, =gUnknown_0203A14C ldr r1, [r1] adds r1, r6 ldrb r1, [r1] bl sub_8127454 ldr r1, [r5] lsls r2, r6, 3 adds r0, r1, r2 adds r4, r1, r4 str r4, [r0] adds r0, r1, 0x4 adds r0, r2 str r6, [r0] adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 movs r2, 0xA4 lsls r2, 3 adds r1, r2 ldrb r0, [r1] subs r0, 0x1 cmp r6, r0 blt _08127396 _081273D6: ldr r5, =gUnknown_0203A18C lsls r4, r6, 1 adds r4, r6 lsls r4, 3 movs r3, 0xA4 lsls r3, 1 adds r4, r3 ldr r0, [r5] adds r0, r4 ldr r1, =gUnknown_085E8CF0 bl StringCopy ldr r0, [r5] lsls r2, r6, 3 adds r1, r0, r2 adds r4, r0, r4 str r4, [r1] adds r0, 0x4 adds r0, r2 movs r1, 0x2 negs r1, r1 str r1, [r0] ldr r2, =gUnknown_03006310 adds r1, r2, 0 ldr r0, =gUnknown_085A6BD0 ldm r0!, {r3,r4,r6} stm r1!, {r3,r4,r6} ldm r0!, {r3,r4,r6} stm r1!, {r3,r4,r6} ldr r0, =gUnknown_0203A188 ldrb r0, [r0, 0x1] strb r0, [r2, 0x10] ldr r0, [r5] movs r4, 0xA4 lsls r4, 3 adds r1, r0, r4 ldrb r1, [r1] strh r1, [r2, 0xC] str r0, [r2] ldr r6, =0x00000521 adds r0, r6 ldrb r0, [r0] strh r0, [r2, 0xE] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8127330 thumb_func_start sub_8127454 sub_8127454: @ 8127454 push {r4,r5,lr} adds r5, r0, 0 lsls r4, r1, 16 lsrs r4, 16 ldr r1, =gStringVar1 bl StringCopy lsls r4, 5 ldr r0, =gUnknown_085A5C09 adds r4, r0 adds r0, r5, 0 adds r1, r4, 0 bl StringAppend pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8127454 thumb_func_start sub_8127480 sub_8127480: @ 8127480 push {r4,lr} adds r4, r0, 0 lsls r1, 24 lsrs r1, 24 cmp r1, 0x1 beq _08127492 movs r0, 0x5 bl PlaySE _08127492: adds r0, r4, 0 bl sub_8127744 pop {r4} pop {r0} bx r0 thumb_func_end sub_8127480 thumb_func_start sub_81274A0 sub_81274A0: @ 81274A0 push {r4-r7,lr} mov r7, r8 push {r7} lsls r0, 24 lsrs r6, r0, 24 mov r8, r6 lsls r2, 24 lsrs r5, r2, 24 adds r7, r5, 0 movs r0, 0x2 negs r0, r0 cmp r1, r0 beq _081274F6 adds r0, r1, 0x1 lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 bl sub_81277BC lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _081274DC adds r3, r5, 0x2 adds r0, r6, 0 movs r1, 0x18 movs r2, 0x5C bl blit_move_info_icon b _081274F6 _081274DC: adds r0, r4, 0 bl sub_81277E8 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _081274F6 adds r3, r7, 0x2 mov r0, r8 movs r1, 0x19 movs r2, 0x5C bl blit_move_info_icon _081274F6: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_81274A0 thumb_func_start sub_8127500 sub_8127500: @ 8127500 push {r4,lr} sub sp, 0x10 ldr r4, =gUnknown_0203A18C ldr r1, [r4] ldr r2, =0x00000522 adds r0, r1, r2 ldrb r0, [r0] cmp r0, 0xFF bne _08127540 subs r2, 0x2 adds r0, r1, r2 ldrb r0, [r0] adds r2, 0x1 adds r1, r2 ldrb r1, [r1] subs r0, r1 str r0, [sp] movs r0, 0x6E str r0, [sp, 0x4] str r0, [sp, 0x8] ldr r0, =gUnknown_0203A170 str r0, [sp, 0xC] movs r0, 0x2 movs r1, 0x3C movs r2, 0xC movs r3, 0x94 bl AddScrollIndicatorArrowPairParametrized ldr r1, [r4] ldr r2, =0x00000522 adds r1, r2 strb r0, [r1] _08127540: add sp, 0x10 pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8127500 thumb_func_start sub_8127554 sub_8127554: @ 8127554 push {r4,lr} ldr r4, =gUnknown_0203A18C ldr r0, [r4] ldr r2, =0x00000522 adds r1, r0, r2 ldrb r0, [r1] cmp r0, 0xFF beq _08127572 bl RemoveScrollIndicatorArrowPair ldr r0, [r4] ldr r1, =0x00000522 adds r0, r1 movs r1, 0xFF strb r1, [r0] _08127572: pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8127554 thumb_func_start sub_8127580 sub_8127580: @ 8127580 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x1 bl sub_81269D4 adds r0, r4, 0 bl sub_812759C pop {r4} pop {r0} bx r0 thumb_func_end sub_8127580 thumb_func_start sub_812759C sub_812759C: @ 812759C push {r4-r6,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 lsls r5, r4, 2 adds r5, r4 lsls r5, 3 ldr r0, =gTasks + 0x8 adds r5, r0 movs r0, 0x3 bl sub_81269D4 ldr r0, =gUnknown_0203A173 ldrb r0, [r0] bl sub_8127718 ldr r6, =gUnknown_0203A18C ldr r0, =0x00000524 bl AllocZeroed str r0, [r6] ldr r1, =0x00000522 adds r0, r1 movs r1, 0xFF strb r1, [r0] bl sub_8127284 bl sub_81272C8 bl sub_81272F8 adds r0, r4, 0 bl sub_8127330 ldr r0, =gUnknown_03006310 ldr r1, =gUnknown_0203A170 ldrh r1, [r1] ldr r2, =gUnknown_0203A16E ldrh r2, [r2] bl ListMenuInit lsls r0, 24 lsrs r0, 24 strh r0, [r5, 0x1A] bl sub_8127500 pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_812759C thumb_func_start sub_8127620 sub_8127620: @ 8127620 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 bl sub_812759C ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 ldr r1, =sub_812764C str r1, [r0] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8127620 thumb_func_start sub_812764C sub_812764C: @ 812764C push {r4-r7,lr} mov r7, r8 push {r7} lsls r0, 24 lsrs r6, r0, 24 lsls r0, r6, 2 adds r0, r6 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r5, r0, r1 ldr r0, =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08127700 ldrb r0, [r5, 0x1A] bl ListMenuHandleInput adds r4, r0, 0 ldrb r0, [r5, 0x1A] ldr r7, =gUnknown_0203A170 ldr r1, =gUnknown_0203A16E mov r8, r1 adds r1, r7, 0 mov r2, r8 bl get_coro_args_x18_x1A movs r0, 0x2 negs r0, r0 cmp r4, r0 beq _081276A4 adds r0, 0x1 cmp r4, r0 bne _081276C4 b _08127700 .pool _081276A4: movs r0, 0x5 bl PlaySE ldr r0, =gUnknown_085A6B78 movs r2, 0x16 ldrsh r1, [r5, r2] lsls r1, 3 adds r0, 0x4 adds r1, r0 ldr r1, [r1] adds r0, r6, 0 bl _call_via_r1 b _08127700 .pool _081276C4: movs r0, 0x5 bl PlaySE ldr r0, =gUnknown_0203A172 strb r4, [r0] bl sub_8127554 ldrb r0, [r5, 0x1A] adds r1, r7, 0 mov r2, r8 bl sub_81AE6C8 movs r0, 0x1 bl sub_8126A58 bl sub_81277A8 ldr r0, =gUnknown_0203A18C ldr r0, [r0] bl Free ldr r1, =gUnknown_085A6B78 movs r2, 0x16 ldrsh r0, [r5, r2] lsls r0, 3 adds r0, r1 ldr r1, [r0] adds r0, r6, 0 bl _call_via_r1 _08127700: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_812764C thumb_func_start sub_8127718 sub_8127718: @ 8127718 push {r4,lr} sub sp, 0x8 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x2 bl sub_81269D4 lsls r0, 24 lsrs r0, 24 movs r1, 0 str r1, [sp] str r1, [sp, 0x4] adds r1, r4, 0 movs r2, 0 movs r3, 0 bl sub_8126F68 add sp, 0x8 pop {r4} pop {r0} bx r0 thumb_func_end sub_8127718 thumb_func_start sub_8127744 sub_8127744: @ 8127744 push {r4,r5,lr} sub sp, 0xC adds r4, r0, 0 ldr r0, =gUnknown_0203A188 ldrb r5, [r0, 0x3] adds r0, r5, 0 movs r1, 0x11 bl FillWindowPixelBuffer ldr r0, =gUnknown_0203A151 ldrb r0, [r0] cmp r4, r0 bcc _08127770 ldr r2, =gUnknown_085E8D62 b _08127782 .pool _08127770: ldr r1, =gDecorations ldr r0, =gUnknown_0203A14C ldr r0, [r0] adds r0, r4 ldrb r0, [r0] lsls r0, 5 adds r1, 0x18 adds r0, r1 ldr r2, [r0] _08127782: movs r0, 0x1 str r0, [sp] movs r0, 0 str r0, [sp, 0x4] str r0, [sp, 0x8] adds r0, r5, 0 movs r1, 0x1 movs r3, 0 bl PrintTextOnWindow add sp, 0xC pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8127744 thumb_func_start sub_81277A8 sub_81277A8: @ 81277A8 push {lr} movs r0, 0x3 bl sub_8126A58 movs r0, 0x2 bl sub_8126A58 pop {r0} bx r0 thumb_func_end sub_81277A8 thumb_func_start sub_81277BC sub_81277BC: @ 81277BC push {lr} lsls r0, 24 lsrs r2, r0, 24 movs r1, 0 ldr r3, =gUnknown_0203A152 _081277C6: adds r0, r1, r3 ldrb r0, [r0] cmp r0, r2 bne _081277D8 movs r0, 0x1 b _081277E4 .pool _081277D8: adds r0, r1, 0x1 lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0xF bls _081277C6 movs r0, 0 _081277E4: pop {r1} bx r1 thumb_func_end sub_81277BC thumb_func_start sub_81277E8 sub_81277E8: @ 81277E8 push {lr} lsls r0, 24 lsrs r2, r0, 24 movs r1, 0 ldr r3, =gUnknown_0203A162 _081277F2: adds r0, r1, r3 ldrb r0, [r0] cmp r0, r2 bne _08127804 movs r0, 0x1 b _08127810 .pool _08127804: adds r0, r1, 0x1 lsls r0, 24 lsrs r1, r0, 24 cmp r1, 0xB bls _081277F2 movs r0, 0 _08127810: pop {r1} bx r1 thumb_func_end sub_81277E8 thumb_func_start sub_8127814 sub_8127814: @ 8127814 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} movs r5, 0 ldr r0, =gUnknown_0203A152 movs r1, 0 movs r2, 0x10 bl memset ldr r0, =gUnknown_0203A162 movs r1, 0 movs r2, 0xC bl memset movs r6, 0 ldr r0, =gSaveBlock1Ptr mov r10, r0 ldr r1, =0x00001aae mov r9, r1 ldr r3, =gUnknown_0203A173 mov r8, r3 _08127842: mov r1, r10 ldr r0, [r1] add r0, r9 adds r0, r6 ldrb r0, [r0] cmp r0, 0 beq _081278E2 movs r2, 0 mov r3, r8 ldrb r0, [r3] lsls r0, 3 ldr r1, =gDecorationInventories adds r0, r1 ldrb r0, [r0, 0x4] cmp r2, r0 bcs _081278E2 ldr r7, =gUnknown_0203A152 adds r3, r1, 0 mov r12, r3 _08127868: ldr r0, =gUnknown_0203A14C ldr r1, [r0] adds r1, r2 mov r3, r10 ldr r0, [r3] add r0, r9 adds r0, r6 ldrb r1, [r1] adds r4, r2, 0x1 ldrb r0, [r0] cmp r1, r0 bne _081278D0 movs r1, 0 cmp r1, r5 bcs _081278A2 ldrb r0, [r7] cmp r0, r4 beq _081278A2 ldr r3, =gUnknown_0203A152 adds r2, r4, 0 _08127890: adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, r5 bcs _081278A2 adds r0, r1, r3 ldrb r0, [r0] cmp r0, r2 bne _08127890 _081278A2: cmp r1, r5 bne _081278D0 adds r0, r5, r7 strb r4, [r0] adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 b _081278E2 .pool _081278D0: lsls r0, r4, 16 lsrs r2, r0, 16 mov r1, r8 ldrb r0, [r1] lsls r0, 3 add r0, r12 ldrb r0, [r0, 0x4] cmp r2, r0 bcc _08127868 _081278E2: adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 cmp r6, 0xF bls _08127842 movs r5, 0 movs r6, 0 ldr r3, =gDecorationInventories mov r8, r3 _081278F4: ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r1, =0x0000271c adds r0, r1 adds r0, r6 ldrb r0, [r0] adds r7, r6, 0x1 cmp r0, 0 beq _0812799A movs r2, 0 b _0812798C .pool _08127918: ldr r0, =gUnknown_0203A14C ldr r1, [r0] adds r1, r2 ldr r0, =gSaveBlock1Ptr ldr r0, [r0] ldr r3, =0x0000271c adds r0, r3 adds r0, r6 ldrb r1, [r1] adds r4, r2, 0x1 ldrb r0, [r0] cmp r1, r0 bne _08127988 lsls r0, r4, 24 lsrs r0, 24 bl sub_81277BC lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _08127988 movs r1, 0 cmp r1, r5 bcs _08127966 ldr r2, =gUnknown_0203A162 ldrb r0, [r2] cmp r0, r4 beq _08127966 adds r3, r2, 0 adds r2, r4, 0 _08127954: adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, r5 bcs _08127966 adds r0, r1, r3 ldrb r0, [r0] cmp r0, r2 bne _08127954 _08127966: cmp r1, r5 bne _08127988 ldr r0, =gUnknown_0203A162 adds r0, r5, r0 strb r4, [r0] adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 b _0812799A .pool _08127988: lsls r0, r4, 16 lsrs r2, r0, 16 _0812798C: ldr r0, =gUnknown_0203A173 ldrb r0, [r0] lsls r0, 3 add r0, r8 ldrb r0, [r0, 0x4] cmp r2, r0 bcc _08127918 _0812799A: lsls r0, r7, 16 lsrs r6, r0, 16 cmp r6, 0xB bls _081278F4 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_8127814 thumb_func_start sub_81279B4 sub_81279B4: @ 81279B4 push {lr} lsls r0, 24 lsrs r0, 24 bl sub_8127814 pop {r0} bx r0 thumb_func_end sub_81279B4 thumb_func_start sub_81279C4 sub_81279C4: @ 81279C4 push {r4,lr} movs r2, 0 ldr r0, =gUnknown_0203A170 ldrh r0, [r0] ldr r1, =gUnknown_0203A16E ldrh r1, [r1] adds r0, r1 adds r1, r0, 0x1 ldr r4, =gUnknown_0203A152 ldr r3, =gUnknown_0203A162 _081279D8: adds r0, r2, r4 ldrb r0, [r0] cmp r0, r1 beq _081279EC cmp r2, 0xB bhi _08127A00 adds r0, r2, r3 ldrb r0, [r0] cmp r0, r1 bne _08127A00 _081279EC: movs r0, 0 b _08127A0C .pool _08127A00: adds r0, r2, 0x1 lsls r0, 16 lsrs r2, r0, 16 cmp r2, 0xF bls _081279D8 movs r0, 0x1 _08127A0C: pop {r4} pop {r1} bx r1 thumb_func_end sub_81279C4 thumb_func_start sub_8127A14 sub_8127A14: @ 8127A14 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x1 bl sub_81269D4 adds r0, r4, 0 bl sub_8127620 pop {r4} pop {r0} bx r0 thumb_func_end sub_8127A14 thumb_func_start sub_8127A30 sub_8127A30: @ 8127A30 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0 movs r1, 0 bl sub_8197434 ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 ldr r1, =sub_8127A14 str r1, [r0] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8127A30 thumb_func_start sub_8127A5C sub_8127A5C: @ 8127A5C push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r0, =gMain ldrh r1, [r0, 0x2E] movs r0, 0x3 ands r0, r1 cmp r0, 0 beq _08127A82 movs r0, 0 movs r1, 0 bl sub_8197434 movs r0, 0x1 bl sub_81269D4 adds r0, r4, 0 bl sub_8127620 _08127A82: pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8127A5C thumb_func_start sub_8127A8C sub_8127A8C: @ 8127A8C push {r4,r5,lr} adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 lsls r4, r5, 2 adds r4, r5 lsls r4, 3 ldr r0, =gTasks + 0x8 adds r4, r0 bl sub_8127554 bl sub_81277A8 ldrb r0, [r4, 0x1A] movs r1, 0 movs r2, 0 bl sub_81AE6C8 ldr r0, =gUnknown_0203A18C ldr r0, [r0] bl Free adds r0, r5, 0 bl sub_8126E44 pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8127A8C thumb_func_start sub_8127ACC sub_8127ACC: @ 8127ACC push {r4,lr} lsls r0, 24 lsrs r0, 24 ldr r3, =gTasks lsls r2, r0, 2 adds r2, r0 lsls r2, 3 adds r4, r2, r3 ldr r0, =gSaveBlock1Ptr ldr r1, [r0] ldrh r0, [r1] strh r0, [r4, 0xE] ldrh r0, [r1, 0x2] strh r0, [r4, 0x10] adds r3, 0x8 adds r2, r3 adds r1, r2, 0x2 adds r0, r2, 0 bl PlayerGetDestCoords pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8127ACC thumb_func_start sub_8127B04 sub_8127B04: @ 8127B04 push {r4,r5,lr} sub sp, 0x4 adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 bl DrawWholeMapView ldr r0, =gSaveBlock1Ptr ldr r1, [r0] movs r0, 0x4 ldrsb r0, [r1, r0] ldrb r1, [r1, 0x5] lsls r1, 24 asrs r1, 24 movs r2, 0x1 negs r2, r2 ldr r3, =gTasks lsls r4, r5, 2 adds r4, r5 lsls r4, 3 adds r4, r3 movs r3, 0xE ldrsb r3, [r4, r3] ldrb r4, [r4, 0x10] lsls r4, 24 asrs r4, 24 str r4, [sp] bl warp1_set bl warp_in add sp, 0x4 pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8127B04 thumb_func_start sub_8127B54 sub_8127B54: @ 8127B54 push {lr} lsls r0, 24 lsrs r2, r0, 24 lsls r1, 24 lsrs r1, 24 ldr r0, =0x0000ffff cmp r2, 0x22 beq _08127B7C cmp r2, 0x26 bne _08127B86 ldr r0, =gUnknown_085A72E4 adds r0, r1, r0 ldrb r0, [r0] lsls r0, 28 lsrs r0, 16 b _08127B86 .pool _08127B7C: ldr r0, =gUnknown_085A72EC adds r0, r1, r0 ldrb r0, [r0] lsls r0, 28 lsrs r0, 16 _08127B86: pop {r1} bx r1 .pool thumb_func_end sub_8127B54 thumb_func_start sub_8127B90 sub_8127B90: @ 8127B90 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x34 ldr r4, [sp, 0x54] lsls r0, 16 lsrs r0, 16 str r0, [sp] lsls r1, 16 lsrs r1, 16 str r1, [sp, 0x4] lsls r2, 24 lsrs r2, 24 str r2, [sp, 0x8] lsls r3, 24 lsrs r3, 24 str r3, [sp, 0xC] lsls r4, 16 lsrs r4, 16 str r4, [sp, 0x10] movs r2, 0 lsls r0, r3, 16 cmp r2, r3 bcc _08127BC6 b _08127D28 _08127BC6: ldr r1, [sp, 0x8] str r1, [sp, 0x28] str r0, [sp, 0x2C] _08127BCC: ldr r3, [sp, 0x4] ldr r4, [sp, 0xC] subs r1, r3, r4 lsls r0, r2, 16 asrs r0, 16 adds r0, 0x1 adds r1, r0 lsls r1, 16 lsrs r1, 16 str r1, [sp, 0x14] movs r0, 0 mov r10, r0 adds r1, r2, 0x1 str r1, [sp, 0x30] ldr r3, [sp, 0x28] cmp r10, r3 bcc _08127BF0 b _08127D18 _08127BF0: ldr r4, [sp, 0x10] lsls r4, 5 str r4, [sp, 0x18] ldr r0, =gUnknown_085A5C24 adds r0, r4, r0 str r0, [sp, 0x1C] ldr r0, =gDecorations adds r0, r4, r0 str r0, [sp, 0x24] ldr r3, [sp, 0x8] adds r1, r2, 0 muls r1, r3 str r1, [sp, 0x20] _08127C0A: ldr r0, [sp] add r0, r10 lsls r0, 16 lsrs r5, r0, 16 ldr r1, [sp, 0x20] add r1, r10 ldr r4, [sp, 0x1C] ldr r0, [r4] lsls r1, 1 adds r1, r0 movs r2, 0x80 lsls r2, 2 adds r0, r2, 0 ldrh r1, [r1] adds r0, r1 lsls r0, 16 lsrs r0, 16 bl GetBehaviorByMetatileId lsls r4, r0, 16 lsls r0, r4, 8 lsrs r0, 24 bl sub_80892D8 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _08127C50 ldr r3, [sp, 0x24] ldrb r0, [r3, 0x11] cmp r0, 0x1 beq _08127C60 lsrs r0, r4, 28 cmp r0, 0 beq _08127C60 _08127C50: movs r4, 0xC0 lsls r4, 4 mov r8, r4 b _08127C64 .pool _08127C60: movs r0, 0 mov r8, r0 _08127C64: ldr r1, [sp, 0x24] ldrb r0, [r1, 0x11] lsls r7, r5, 16 ldr r2, [sp, 0x14] lsls r2, 16 mov r9, r2 cmp r0, 0x3 beq _08127C8E asrs r0, r7, 16 asrs r1, r2, 16 bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_8089328 lsls r0, 24 lsrs r0, 24 movs r6, 0x1 cmp r0, 0x1 beq _08127C90 _08127C8E: movs r6, 0 _08127C90: ldr r3, [sp, 0x18] ldr r4, =gDecorations adds r0, r3, r4 ldrb r0, [r0] ldr r4, [sp, 0x20] add r4, r10 lsls r1, r4, 24 lsrs r1, 24 bl sub_8127B54 lsls r0, 16 lsrs r5, r0, 16 ldr r0, =0x0000ffff cmp r5, r0 beq _08127CE0 asrs r0, r7, 16 mov r2, r9 asrs r1, r2, 16 ldr r3, [sp, 0x1C] ldr r2, [r3] lsls r3, r4, 1 adds r3, r2 movs r4, 0x80 lsls r4, 2 adds r2, r4, 0 orrs r6, r2 ldrh r3, [r3] adds r2, r6, r3 mov r3, r8 orrs r3, r2 orrs r3, r5 lsls r2, r3, 16 lsrs r2, 16 bl MapGridSetMetatileEntryAt b _08127D06 .pool _08127CE0: asrs r0, r7, 16 mov r2, r9 asrs r1, r2, 16 ldr r3, [sp, 0x1C] ldr r2, [r3] lsls r3, r4, 1 adds r3, r2 movs r4, 0x80 lsls r4, 2 adds r2, r4, 0 orrs r6, r2 ldrh r3, [r3] adds r2, r6, r3 mov r3, r8 orrs r3, r2 lsls r2, r3, 16 lsrs r2, 16 bl MapGridSetMetatileIdAt _08127D06: mov r0, r10 adds r0, 0x1 lsls r0, 16 lsrs r0, 16 mov r10, r0 ldr r4, [sp, 0x28] cmp r10, r4 bcs _08127D18 b _08127C0A _08127D18: ldr r1, [sp, 0x30] lsls r0, r1, 16 lsrs r2, r0, 16 ldr r3, [sp, 0x2C] lsrs r0, r3, 16 cmp r2, r0 bcs _08127D28 b _08127BCC _08127D28: add sp, 0x34 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8127B90 thumb_func_start sub_8127D38 sub_8127D38: @ 8127D38 push {r4,lr} sub sp, 0x4 lsls r0, 16 lsrs r3, r0, 16 lsls r1, 16 lsrs r4, r1, 16 lsls r2, 16 lsrs r2, 16 ldr r1, =gDecorations lsls r0, r2, 5 adds r0, r1 ldrb r0, [r0, 0x12] cmp r0, 0x9 bhi _08127E10 lsls r0, 2 ldr r1, =_08127D68 adds r0, r1 ldr r0, [r0] mov pc, r0 .pool .align 2, 0 _08127D68: .4byte _08127D90 .4byte _08127D9A .4byte _08127DA4 .4byte _08127DB4 .4byte _08127DBE .4byte _08127DC8 .4byte _08127DD8 .4byte _08127DE2 .4byte _08127DF2 .4byte _08127E02 _08127D90: str r2, [sp] adds r0, r3, 0 adds r1, r4, 0 movs r2, 0x1 b _08127DAC _08127D9A: str r2, [sp] adds r0, r3, 0 adds r1, r4, 0 movs r2, 0x2 b _08127DAC _08127DA4: str r2, [sp] adds r0, r3, 0 adds r1, r4, 0 movs r2, 0x3 _08127DAC: movs r3, 0x1 bl sub_8127B90 b _08127E10 _08127DB4: str r2, [sp] adds r0, r3, 0 adds r1, r4, 0 movs r2, 0x4 b _08127DD0 _08127DBE: str r2, [sp] adds r0, r3, 0 adds r1, r4, 0 movs r2, 0x2 b _08127DD0 _08127DC8: str r2, [sp] adds r0, r3, 0 adds r1, r4, 0 movs r2, 0x1 _08127DD0: movs r3, 0x2 bl sub_8127B90 b _08127E10 _08127DD8: str r2, [sp] adds r0, r3, 0 adds r1, r4, 0 movs r2, 0x1 b _08127DFA _08127DE2: str r2, [sp] adds r0, r3, 0 adds r1, r4, 0 movs r2, 0x2 movs r3, 0x4 bl sub_8127B90 b _08127E10 _08127DF2: str r2, [sp] adds r0, r3, 0 adds r1, r4, 0 movs r2, 0x3 _08127DFA: movs r3, 0x3 bl sub_8127B90 b _08127E10 _08127E02: str r2, [sp] adds r0, r3, 0 adds r1, r4, 0 movs r2, 0x3 movs r3, 0x2 bl sub_8127B90 _08127E10: add sp, 0x4 pop {r4} pop {r0} bx r0 thumb_func_end sub_8127D38 thumb_func_start sub_8127E18 sub_8127E18: @ 8127E18 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x4 movs r6, 0 ldr r7, =gUnknown_02037318 ldr r0, =gSpecialVar_0x8005 mov r8, r0 ldr r1, =gSpecialVar_0x8006 mov r10, r1 ldr r2, =gSaveBlock1Ptr mov r9, r2 _08127E34: adds r5, r6, 0 adds r5, 0xAE adds r4, r5, 0 adds r0, r4, 0 bl FlagGet lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _08127F1C adds r0, r4, 0 bl FlagReset movs r2, 0 ldr r0, [r7, 0x4] ldrb r4, [r0] cmp r2, r4 bcs _08127E82 ldr r0, [r0, 0x4] ldrh r0, [r0, 0x14] cmp r0, r5 beq _08127E82 ldr r0, =gUnknown_02037318 ldr r3, [r0, 0x4] ldrb r6, [r3] adds r4, r5, 0 _08127E68: adds r0, r2, 0x1 lsls r0, 24 lsrs r2, r0, 24 cmp r2, r6 bcs _08127E82 ldr r0, [r3, 0x4] lsls r1, r2, 1 adds r1, r2 lsls r1, 3 adds r1, r0 ldrh r0, [r1, 0x14] cmp r0, r4 bne _08127E68 _08127E82: ldr r0, [r7, 0x4] ldr r1, [r0, 0x4] lsls r4, r2, 1 adds r4, r2 lsls r4, 3 adds r1, r4, r1 ldr r5, =0x00003f20 adds r0, r5, 0 ldrb r1, [r1, 0x1] adds r0, r1 ldr r1, =gUnknown_0203A190 ldr r1, [r1] ldr r1, [r1, 0x1C] ldrh r1, [r1] bl VarSet ldr r0, [r7, 0x4] ldr r0, [r0, 0x4] adds r4, r0 ldrb r0, [r4] mov r6, r8 strh r0, [r6] ldr r1, =gUnknown_0203AA34 ldrh r1, [r1] mov r2, r10 strh r1, [r2] ldr r1, =gUnknown_0203AA36 ldrh r1, [r1] ldr r4, =gSpecialVar_0x8007 strh r1, [r4] mov r5, r9 ldr r2, [r5] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] bl show_sprite ldrb r0, [r6] ldr r2, [r5] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] mov r6, r10 movs r4, 0 ldrsh r3, [r6, r4] ldr r5, =gSpecialVar_0x8007 movs r6, 0 ldrsh r4, [r5, r6] str r4, [sp] bl sub_808EBA8 mov r1, r8 ldrb r0, [r1] mov r4, r9 ldr r2, [r4] ldrb r1, [r2, 0x5] ldrb r2, [r2, 0x4] bl sub_808F254 b _08127F26 .pool _08127F1C: adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 cmp r6, 0xD bls _08127E34 _08127F26: add sp, 0x4 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8127E18 thumb_func_start sub_8127F38 sub_8127F38: @ 8127F38 push {lr} movs r1, 0 ldr r0, =gUnknown_0203A17C ldrb r2, [r0, 0x8] cmp r1, r2 bcs _08127F62 ldr r3, [r0] _08127F46: adds r0, r3, r1 ldrb r0, [r0] cmp r0, 0 bne _08127F58 movs r0, 0x1 b _08127F64 .pool _08127F58: adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, r2 bcc _08127F46 _08127F62: movs r0, 0 _08127F64: pop {r1} bx r1 thumb_func_end sub_8127F38 thumb_func_start sub_8127F68 sub_8127F68: @ 8127F68 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r0, =gUnknown_0203A17C ldrb r0, [r0, 0x9] cmp r0, 0x1 bne _08127FAC ldr r0, =gUnknown_0203A173 ldrb r0, [r0] cmp r0, 0x6 beq _08127FAC cmp r0, 0x7 beq _08127FAC ldr r4, =gStringVar4 ldr r1, =gUnknown_085EA9AE adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_8127A5C adds r0, r5, 0 adds r1, r4, 0 bl DisplayItemMessageOnField b _0812804C .pool _08127FAC: bl sub_81279C4 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _08128038 bl sub_8127F38 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _08127FE8 movs r0, 0x1 movs r1, 0 bl fade_screen ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 movs r1, 0 strh r1, [r0, 0xC] ldr r1, =sub_8128060 str r1, [r0] b _0812804C .pool _08127FE8: ldr r0, =gStringVar1 ldr r4, =gUnknown_0203A17C ldrb r1, [r4, 0x8] movs r2, 0x1 movs r3, 0x2 bl ConvertIntToDecimalStringN ldrb r0, [r4, 0x9] cmp r0, 0 bne _08128018 ldr r0, =gStringVar4 ldr r1, =gUnknown_085EA8EA bl StringExpandPlaceholders b _08128020 .pool _08128018: ldr r0, =gStringVar4 ldr r1, =gUnknown_085EA931 bl StringExpandPlaceholders _08128020: ldr r1, =gStringVar4 ldr r2, =sub_8127A5C adds r0, r5, 0 bl DisplayItemMessageOnField b _0812804C .pool _08128038: ldr r4, =gStringVar4 ldr r1, =gUnknown_085EA8D2 adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_8127A5C adds r0, r5, 0 adds r1, r4, 0 bl DisplayItemMessageOnField _0812804C: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8127F68 thumb_func_start sub_8128060 sub_8128060: @ 8128060 push {r4-r7,lr} lsls r0, 24 lsrs r6, r0, 24 ldr r1, =gTasks lsls r0, r6, 2 adds r0, r6 lsls r0, 3 adds r7, r0, r1 movs r1, 0xC ldrsh r0, [r7, r1] cmp r0, 0x1 beq _081280AC cmp r0, 0x1 bgt _08128088 cmp r0, 0 beq _0812808E b _08128112 .pool _08128088: cmp r0, 0x2 beq _081280FC b _08128112 _0812808E: ldr r0, =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08128112 adds r0, r6, 0 bl sub_8127ACC movs r0, 0x1 strh r0, [r7, 0xC] b _08128112 .pool _081280AC: ldr r4, =gPaletteFade ldrb r0, [r4, 0x8] movs r1, 0x80 orrs r0, r1 strb r0, [r4, 0x8] ldr r5, =gUnknown_0203A190 ldr r0, =gUnknown_0203A172 ldrb r1, [r0] ldr r0, =gUnknown_0203A14C ldr r0, [r0] adds r0, r1 ldrb r1, [r0] adds r0, r5, 0 bl ConfigureCameraObjectForPlacingDecoration adds r0, r6, 0 bl sub_812826C adds r0, r6, 0 adds r1, r5, 0 bl SetUpPlacingDecorationPlayerAvatar bl pal_fill_black ldrb r1, [r4, 0x8] movs r0, 0x7F ands r0, r1 strb r0, [r4, 0x8] movs r0, 0x2 strh r0, [r7, 0xC] b _08128112 .pool _081280FC: bl sub_80ABDFC lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _08128112 movs r0, 0 strh r0, [r7, 0x20] adds r0, r6, 0 bl sub_8128FD8 _08128112: pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8128060 thumb_func_start ConfigureCameraObjectForPlacingDecoration ConfigureCameraObjectForPlacingDecoration: @ 8128118 push {r4-r6,lr} adds r6, r0, 0 lsls r1, 24 lsrs r1, 24 ldr r3, =gUnknown_0203AA38 ldr r4, =gSprites ldr r5, =gUnknown_03005DD0 ldr r2, [r5, 0x4] lsls r0, r2, 4 adds r0, r2 lsls r0, 2 adds r0, r4 ldrh r0, [r0, 0x2E] strb r0, [r3] adds r0, r6, 0 bl gpu_pal_decompress_alloc_tag_and_upload lsls r0, 24 lsrs r0, 24 str r0, [r5, 0x4] lsls r1, r0, 4 adds r1, r0 lsls r1, 2 adds r1, r4 ldrb r2, [r1, 0x5] movs r0, 0xD negs r0, r0 ands r0, r2 movs r2, 0x4 orrs r0, r2 strb r0, [r1, 0x5] ldr r0, [r5, 0x4] lsls r2, r0, 4 adds r2, r0 lsls r2, 2 adds r0, r4, 0 adds r0, 0x1C adds r0, r2, r0 ldr r1, =sub_81292D0 str r1, [r0] adds r2, r4 ldr r3, =gUnknown_085A7250 ldr r0, [r6] ldrb r0, [r0, 0x12] lsls r0, 2 adds r0, r3 ldrb r0, [r0, 0x2] strh r0, [r2, 0x20] ldr r0, [r5, 0x4] lsls r1, r0, 4 adds r1, r0 lsls r1, 2 adds r1, r4 ldr r0, [r6] ldrb r0, [r0, 0x12] lsls r0, 2 adds r0, r3 ldrb r0, [r0, 0x3] strh r0, [r1, 0x22] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end ConfigureCameraObjectForPlacingDecoration thumb_func_start SetUpPlacingDecorationPlayerAvatar SetUpPlacingDecorationPlayerAvatar: @ 81281A8 push {r4,lr} sub sp, 0x4 lsls r0, 24 lsrs r0, 24 ldr r3, =gTasks lsls r2, r0, 2 adds r2, r0 lsls r2, 3 adds r2, r3 ldrb r2, [r2, 0x12] ldr r3, =gUnknown_085A7250 ldr r0, [r1] ldrb r4, [r0, 0x12] lsls r1, r4, 2 adds r1, r3 lsls r0, r2, 4 ldrb r1, [r1, 0x2] adds r0, r1 subs r2, 0x1 lsls r2, 3 subs r0, r2 lsls r0, 24 lsrs r2, r0, 24 cmp r4, 0x2 beq _081281E2 cmp r4, 0x8 beq _081281E2 cmp r4, 0x9 bne _081281EA _081281E2: adds r0, r2, 0 subs r0, 0x8 lsls r0, 24 lsrs r2, r0, 24 _081281EA: ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 bne _0812820C ldr r1, =SpriteCallbackDummy str r0, [sp] movs r0, 0xC1 b _08128214 .pool _0812820C: ldr r1, =SpriteCallbackDummy movs r0, 0 str r0, [sp] movs r0, 0xC2 _08128214: movs r3, 0x48 bl AddPseudoFieldObject ldr r1, =gUnknown_0203AA39 strb r0, [r1] ldr r3, =gSprites ldr r0, =gUnknown_0203AA39 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r3 ldrb r2, [r0, 0x5] movs r1, 0xD negs r1, r1 ands r1, r2 movs r2, 0x4 orrs r1, r2 strb r1, [r0, 0x5] ldr r4, =gUnknown_0203AA38 ldrb r1, [r4] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r3 bl DestroySprite ldr r0, =gUnknown_03005DD0 ldr r0, [r0, 0x4] strb r0, [r4] add sp, 0x4 pop {r4} pop {r0} bx r0 .pool thumb_func_end SetUpPlacingDecorationPlayerAvatar thumb_func_start sub_812826C sub_812826C: @ 812826C push {lr} lsls r0, 24 lsrs r3, r0, 24 ldr r2, =gDecorations ldr r0, =gUnknown_0203A172 ldrb r1, [r0] ldr r0, =gUnknown_0203A14C ldr r0, [r0] adds r0, r1 ldrb r0, [r0] lsls r0, 5 adds r0, r2 ldrb r0, [r0, 0x12] cmp r0, 0x9 bls _0812828C b _081283B2 _0812828C: lsls r0, 2 ldr r1, =_081282A8 adds r0, r1 ldr r0, [r0] mov pc, r0 .pool .align 2, 0 _081282A8: .4byte _081282D0 .4byte _081282E4 .4byte _081282FC .4byte _08128314 .4byte _08128328 .4byte _0812833C .4byte _08128350 .4byte _08128370 .4byte _08128388 .4byte _081283A0 _081282D0: ldr r0, =gTasks lsls r1, r3, 2 adds r1, r3 lsls r1, 3 adds r1, r0 movs r0, 0x1 b _08128394 .pool _081282E4: ldr r1, =gTasks lsls r0, r3, 2 adds r0, r3 lsls r0, 3 adds r0, r1 movs r1, 0x2 strh r1, [r0, 0x12] movs r1, 0x1 b _081283B0 .pool _081282FC: ldr r1, =gTasks lsls r0, r3, 2 adds r0, r3 lsls r0, 3 adds r0, r1 movs r1, 0x3 strh r1, [r0, 0x12] movs r1, 0x1 b _081283B0 .pool _08128314: ldr r1, =gTasks lsls r0, r3, 2 adds r0, r3 lsls r0, 3 adds r0, r1 movs r1, 0x4 b _081283AC .pool _08128328: ldr r0, =gTasks lsls r1, r3, 2 adds r1, r3 lsls r1, 3 adds r1, r0 movs r0, 0x2 b _08128394 .pool _0812833C: ldr r1, =gTasks lsls r0, r3, 2 adds r0, r3 lsls r0, 3 adds r0, r1 movs r1, 0x1 b _081283AC .pool _08128350: ldr r0, =gTasks lsls r1, r3, 2 adds r1, r3 lsls r1, 3 adds r1, r0 movs r0, 0x1 strh r0, [r1, 0x12] movs r0, 0x3 strh r0, [r1, 0x14] ldrh r0, [r1, 0xA] adds r0, 0x1 strh r0, [r1, 0xA] b _081283B2 .pool _08128370: ldr r1, =gTasks lsls r0, r3, 2 adds r0, r3 lsls r0, 3 adds r0, r1 movs r1, 0x2 strh r1, [r0, 0x12] movs r1, 0x4 b _081283B0 .pool _08128388: ldr r0, =gTasks lsls r1, r3, 2 adds r1, r3 lsls r1, 3 adds r1, r0 movs r0, 0x3 _08128394: strh r0, [r1, 0x12] strh r0, [r1, 0x14] b _081283B2 .pool _081283A0: ldr r1, =gTasks lsls r0, r3, 2 adds r0, r3 lsls r0, 3 adds r0, r1 movs r1, 0x3 _081283AC: strh r1, [r0, 0x12] movs r1, 0x2 _081283B0: strh r1, [r0, 0x14] _081283B2: pop {r0} bx r0 .pool thumb_func_end sub_812826C thumb_func_start sub_81283BC sub_81283BC: @ 81283BC push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 movs r1, 0 strh r1, [r0, 0x1C] ldr r3, =gSprites ldr r0, =gUnknown_0203AA38 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r3 movs r2, 0x1 strh r2, [r0, 0x3C] ldr r0, =gUnknown_0203AA39 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r3 strh r2, [r0, 0x3C] bl sub_8128DE0 adds r0, r4, 0 bl sub_8128950 pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81283BC thumb_func_start sub_8128414 sub_8128414: @ 8128414 push {r4,r5,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 movs r1, 0 strh r1, [r0, 0x1C] ldr r3, =gSprites ldr r0, =gUnknown_0203AA38 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r3 movs r2, 0x1 strh r2, [r0, 0x3C] ldr r0, =gUnknown_0203AA39 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r3 strh r2, [r0, 0x3C] bl sub_8128DE0 ldr r5, =gStringVar4 ldr r1, =gUnknown_085EA8BF adds r0, r5, 0 bl StringExpandPlaceholders ldr r2, =sub_8128B80 adds r0, r4, 0 adds r1, r5, 0 bl DisplayItemMessageOnField pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8128414 thumb_func_start sub_8128484 sub_8128484: @ 8128484 push {r4,lr} lsls r0, 24 lsrs r0, 24 lsls r1, 16 lsrs r4, r1, 16 bl sub_80892C4 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _0812849E cmp r4, 0 beq _081284A2 _0812849E: movs r0, 0 b _081284A4 _081284A2: movs r0, 0x1 _081284A4: pop {r4} pop {r1} bx r1 thumb_func_end sub_8128484 thumb_func_start sub_81284AC sub_81284AC: @ 81284AC push {r4,r5,lr} lsls r0, 24 lsrs r0, 24 lsls r2, 16 lsrs r4, r2, 16 lsls r3, 16 lsrs r5, r3, 16 lsls r1, 16 asrs r1, 16 ldr r3, =gTasks lsls r2, r0, 2 adds r2, r0 lsls r2, 3 adds r2, r3 movs r3, 0xE ldrsh r0, [r2, r3] adds r0, 0x7 cmp r1, r0 bne _081284EC lsls r1, r4, 16 asrs r1, 16 movs r3, 0x10 ldrsh r0, [r2, r3] adds r0, 0x7 cmp r1, r0 bne _081284EC cmp r5, 0 beq _081284EC movs r0, 0 b _081284EE .pool _081284EC: movs r0, 0x1 _081284EE: pop {r4,r5} pop {r1} bx r1 thumb_func_end sub_81284AC thumb_func_start sub_81284F4 sub_81284F4: @ 81284F4 push {r4-r6,lr} adds r5, r1, 0 lsls r0, 16 lsrs r6, r0, 16 lsls r0, r6, 24 lsrs r4, r0, 24 adds r0, r4, 0 bl sub_80892C4 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _08128534 ldrb r0, [r5] cmp r0, 0x21 bne _08128522 adds r0, r4, 0 bl sub_8089378 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _08128530 _08128522: lsls r0, r6, 24 lsrs r0, 24 bl sub_8089314 lsls r0, 24 cmp r0, 0 beq _08128534 _08128530: movs r0, 0x1 b _08128536 _08128534: movs r0, 0 _08128536: pop {r4-r6} pop {r1} bx r1 thumb_func_end sub_81284F4 thumb_func_start sub_812853C sub_812853C: @ 812853C push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x24 str r1, [sp] lsls r0, 24 lsrs r0, 24 mov r10, r0 ldr r1, =gTasks lsls r0, 2 add r0, r10 lsls r0, 3 adds r0, r1 ldrb r2, [r0, 0x14] str r2, [sp, 0x4] ldrb r0, [r0, 0x12] str r0, [sp, 0x8] ldr r3, [sp] ldrb r0, [r3, 0x11] adds r2, r1, 0 cmp r0, 0x4 bls _0812856E b _0812893C _0812856E: lsls r0, 2 ldr r1, =_08128580 adds r0, r1 ldr r0, [r0] mov pc, r0 .pool .align 2, 0 _08128580: .4byte _08128594 .4byte _08128594 .4byte _08128680 .4byte _08128834 .4byte _081288B8 _08128594: movs r6, 0 ldr r0, [sp, 0x4] cmp r6, r0 bcc _0812859E b _0812893C _0812859E: mov r1, r10 lsls r1, 2 str r1, [sp, 0x1C] _081285A4: mov r2, r10 lsls r0, r2, 2 add r0, r10 lsls r0, 3 ldr r3, =gTasks adds r0, r3 ldrh r0, [r0, 0xA] subs r0, r6 lsls r0, 16 lsrs r0, 16 mov r9, r0 movs r7, 0 adds r6, 0x1 str r6, [sp, 0x14] ldr r0, [sp, 0x8] cmp r7, r0 bcs _0812866E mov r1, r9 lsls r1, 16 str r1, [sp, 0xC] asrs r1, 16 mov r9, r1 _081285D0: ldr r0, [sp, 0x1C] add r0, r10 lsls r0, 3 ldr r2, =gTasks adds r0, r2 ldrh r0, [r0, 0x8] adds r0, r7 lsls r0, 16 mov r8, r0 asrs r6, r0, 16 adds r0, r6, 0 mov r1, r9 bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r4, r0, 24 ldr r3, [sp, 0x4] ldr r1, [sp, 0x14] subs r0, r3, r1 ldr r2, [sp, 0x8] adds r1, r0, 0 muls r1, r2 adds r1, r7 ldr r3, [sp] ldr r0, [r3, 0x1C] lsls r1, 1 adds r1, r0 movs r2, 0x80 lsls r2, 2 adds r0, r2, 0 ldrh r1, [r1] adds r0, r1 lsls r0, 16 lsrs r0, 16 bl GetBehaviorByMetatileId movs r3, 0xF0 lsls r3, 8 adds r1, r3, 0 adds r5, r1, 0 ands r5, r0 adds r0, r4, 0 ldr r1, [sp] bl sub_81284F4 lsls r0, 24 cmp r0, 0 bne _08128632 b _0812890C _08128632: mov r0, r10 adds r1, r6, 0 mov r2, r9 adds r3, r5, 0 bl sub_81284AC lsls r0, 24 cmp r0, 0 bne _08128646 b _0812890C _08128646: mov r1, r8 lsrs r0, r1, 16 ldr r2, [sp, 0xC] lsrs r1, r2, 16 movs r2, 0 bl GetFieldObjectIdByXYZ lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 beq _08128662 cmp r4, 0x10 beq _08128662 b _0812890C _08128662: adds r0, r7, 0x1 lsls r0, 24 lsrs r7, r0, 24 ldr r3, [sp, 0x8] cmp r7, r3 bcc _081285D0 _0812866E: ldr r1, [sp, 0x14] lsls r0, r1, 24 lsrs r6, r0, 24 ldr r2, [sp, 0x4] cmp r6, r2 bcc _081285A4 b _0812893C .pool _08128680: movs r6, 0 mov r3, r10 lsls r3, 2 str r3, [sp, 0x1C] ldr r0, [sp, 0x4] subs r0, 0x1 str r0, [sp, 0x18] cmp r6, r0 bge _0812876C adds r0, r3, 0 add r0, r10 lsls r0, 3 str r0, [sp, 0x10] _0812869A: ldr r1, [sp, 0x10] adds r0, r1, r2 ldrh r0, [r0, 0xA] subs r0, r6 lsls r0, 16 lsrs r0, 16 mov r9, r0 movs r7, 0 adds r6, 0x1 str r6, [sp, 0x14] ldr r3, [sp, 0x8] cmp r7, r3 bcs _08128760 lsls r0, 16 str r0, [sp, 0x20] _081286B8: ldr r1, [sp, 0x10] adds r0, r1, r2 ldrh r0, [r0, 0x8] adds r0, r7 lsls r0, 16 mov r8, r0 asrs r6, r0, 16 mov r2, r9 lsls r1, r2, 16 adds r0, r6, 0 asrs r1, 16 bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r4, r0, 24 ldr r3, [sp, 0x4] ldr r1, [sp, 0x14] subs r0, r3, r1 ldr r2, [sp, 0x8] adds r1, r0, 0 muls r1, r2 adds r1, r7 ldr r3, [sp] ldr r0, [r3, 0x1C] lsls r1, 1 adds r1, r0 movs r2, 0x80 lsls r2, 2 adds r0, r2, 0 ldrh r1, [r1] adds r0, r1 lsls r0, 16 lsrs r0, 16 bl GetBehaviorByMetatileId movs r3, 0xF0 lsls r3, 8 adds r1, r3, 0 adds r5, r1, 0 ands r5, r0 adds r0, r4, 0 bl sub_8089314 lsls r0, 24 cmp r0, 0 bne _08128724 adds r0, r4, 0 adds r1, r5, 0 bl sub_8128484 lsls r0, 24 cmp r0, 0 bne _08128724 b _0812890C _08128724: mov r0, r10 adds r1, r6, 0 ldr r3, [sp, 0x20] asrs r2, r3, 16 adds r3, r5, 0 bl sub_81284AC lsls r0, 24 cmp r0, 0 bne _0812873A b _0812890C _0812873A: mov r1, r8 lsrs r0, r1, 16 ldr r2, [sp, 0x20] lsrs r1, r2, 16 movs r2, 0 bl GetFieldObjectIdByXYZ lsls r0, 24 lsrs r0, 24 cmp r0, 0x10 beq _08128752 b _0812890C _08128752: adds r0, r7, 0x1 lsls r0, 24 lsrs r7, r0, 24 ldr r2, =gTasks ldr r3, [sp, 0x8] cmp r7, r3 bcc _081286B8 _08128760: ldr r1, [sp, 0x14] lsls r0, r1, 24 lsrs r6, r0, 24 ldr r3, [sp, 0x18] cmp r6, r3 blt _0812869A _0812876C: ldr r0, [sp, 0x1C] add r0, r10 lsls r0, 3 adds r0, r2 ldrh r0, [r0, 0xA] ldr r1, [sp, 0x4] subs r0, r1 adds r0, 0x1 lsls r0, 16 lsrs r0, 16 mov r9, r0 movs r7, 0 ldr r3, [sp, 0x8] cmp r7, r3 bcc _0812878C b _0812893C _0812878C: lsls r0, 16 str r0, [sp, 0x20] _08128790: ldr r0, [sp, 0x1C] add r0, r10 lsls r0, 3 ldr r1, =gTasks adds r0, r1 ldrh r0, [r0, 0x8] adds r0, r7 lsls r0, 16 mov r8, r0 asrs r6, r0, 16 mov r2, r9 lsls r1, r2, 16 adds r0, r6, 0 asrs r1, 16 bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r4, r0, 24 ldr r3, [sp] ldr r0, [r3, 0x1C] lsls r1, r7, 1 adds r1, r0 movs r2, 0x80 lsls r2, 2 adds r0, r2, 0 ldrh r1, [r1] adds r0, r1 lsls r0, 16 lsrs r0, 16 bl GetBehaviorByMetatileId movs r3, 0xF0 lsls r3, 8 adds r1, r3, 0 adds r5, r1, 0 ands r5, r0 adds r0, r4, 0 bl sub_8089314 lsls r0, 24 cmp r0, 0 bne _081287F2 adds r0, r4, 0 bl sub_8089328 lsls r0, 24 cmp r0, 0 bne _081287F2 b _0812890C _081287F2: mov r0, r10 adds r1, r6, 0 ldr r3, [sp, 0x20] asrs r2, r3, 16 adds r3, r5, 0 bl sub_81284AC lsls r0, 24 cmp r0, 0 bne _08128808 b _0812890C _08128808: mov r1, r8 lsrs r0, r1, 16 ldr r2, [sp, 0x20] lsrs r1, r2, 16 movs r2, 0 bl GetFieldObjectIdByXYZ lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 beq _08128822 cmp r4, 0x10 bne _0812890C _08128822: adds r0, r7, 0x1 lsls r0, 24 lsrs r7, r0, 24 ldr r3, [sp, 0x8] cmp r7, r3 bcc _08128790 b _0812893C .pool _08128834: movs r6, 0 ldr r0, [sp, 0x4] cmp r6, r0 bcc _0812883E b _0812893C _0812883E: mov r1, r10 lsls r0, r1, 2 add r0, r10 lsls r1, r0, 3 ldr r2, =gTasks adds r0, r1, r2 ldrh r0, [r0, 0xA] subs r0, r6 lsls r0, 16 lsrs r0, 16 mov r9, r0 movs r7, 0 ldr r3, [sp, 0x8] cmp r7, r3 bcs _081288A4 adds r0, r2, 0 adds r1, r0 mov r8, r1 mov r1, r9 lsls r0, r1, 16 asrs r5, r0, 16 _08128868: mov r2, r8 ldrh r0, [r2, 0x8] adds r0, r7 lsls r0, 16 asrs r4, r0, 16 adds r0, r4, 0 adds r1, r5, 0 bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r0, 24 bl sub_8089328 lsls r0, 24 cmp r0, 0 beq _0812890C adds r0, r4, 0 adds r1, r5, 0x1 bl MapGridGetMetatileIdAt movs r1, 0xA3 lsls r1, 2 cmp r0, r1 beq _0812890C adds r0, r7, 0x1 lsls r0, 24 lsrs r7, r0, 24 ldr r3, [sp, 0x8] cmp r7, r3 bcc _08128868 _081288A4: adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 ldr r0, [sp, 0x4] cmp r6, r0 bcc _0812883E b _0812893C .pool _081288B8: mov r3, r10 lsls r1, r3, 2 adds r0, r1, r3 lsls r0, 3 adds r0, r2 ldrh r0, [r0, 0xA] mov r9, r0 movs r7, 0 str r1, [sp, 0x1C] ldr r0, [sp, 0x8] cmp r7, r0 bcs _0812893C adds r6, r2, 0 mov r1, r9 lsls r1, 16 str r1, [sp, 0x20] _081288D8: ldr r0, [sp, 0x1C] add r0, r10 lsls r0, 3 adds r0, r6 ldrh r0, [r0, 0x8] adds r0, r7 lsls r0, 16 lsrs r5, r0, 16 asrs r0, 16 mov r2, r9 lsls r1, r2, 16 asrs r1, 16 bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r4, r0, 24 ldr r3, [sp] ldrb r0, [r3, 0x12] cmp r0, 0x5 bne _08128910 _08128900: adds r0, r4, 0 bl sub_8089364 lsls r0, 24 cmp r0, 0 bne _0812891C _0812890C: movs r0, 0 b _0812893E _08128910: adds r0, r4, 0 bl sub_8089350 lsls r0, 24 cmp r0, 0 beq _08128900 _0812891C: adds r0, r5, 0 ldr r2, [sp, 0x20] lsrs r1, r2, 16 movs r2, 0 bl GetFieldObjectIdByXYZ lsls r0, 24 lsrs r0, 24 cmp r0, 0x10 bne _0812890C adds r0, r7, 0x1 lsls r0, 24 lsrs r7, r0, 24 ldr r3, [sp, 0x8] cmp r7, r3 bcc _081288D8 _0812893C: movs r0, 0x1 _0812893E: add sp, 0x24 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_812853C thumb_func_start sub_8128950 sub_8128950: @ 8128950 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r0, =gUnknown_0203A172 ldrb r1, [r0] ldr r0, =gUnknown_0203A14C ldr r0, [r0] adds r0, r1 ldrb r1, [r0] lsls r1, 5 ldr r0, =gDecorations adds r1, r0 adds r0, r5, 0 bl sub_812853C lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _081289A4 ldr r4, =gStringVar4 ldr r1, =gUnknown_085EA897 adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_81289D0 adds r0, r5, 0 adds r1, r4, 0 bl DisplayItemMessageOnField b _081289BE .pool _081289A4: movs r0, 0x20 bl PlaySE ldr r4, =gStringVar4 ldr r1, =gUnknown_085EA8A6 adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_8129020 adds r0, r5, 0 adds r1, r4, 0 bl DisplayItemMessageOnField _081289BE: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8128950 thumb_func_start sub_81289D0 sub_81289D0: @ 81289D0 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sub_8197930 ldr r1, =gUnknown_085A72C4 adds r0, r4, 0 bl sub_8121F68 pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81289D0 thumb_func_start sub_81289F0 sub_81289F0: @ 81289F0 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 movs r0, 0 movs r1, 0 bl sub_8197434 adds r0, r4, 0 bl sub_8128AAC ldr r2, =gDecorations ldr r0, =gUnknown_0203A172 ldrb r1, [r0] ldr r0, =gUnknown_0203A14C ldr r0, [r0] adds r0, r1 ldrb r3, [r0] lsls r0, r3, 5 adds r0, r2 ldrb r0, [r0, 0x11] cmp r0, 0x4 beq _08128A44 ldr r0, =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 ldrh r0, [r1, 0x8] ldrh r1, [r1, 0xA] adds r2, r3, 0 bl sub_8127D38 b _08128A64 .pool _08128A44: ldr r2, =gUnknown_0203AA34 ldr r0, =gTasks lsls r1, r4, 2 adds r1, r4 lsls r1, 3 adds r1, r0 ldrh r0, [r1, 0x8] subs r0, 0x7 strh r0, [r2] ldr r2, =gUnknown_0203AA36 ldrh r0, [r1, 0xA] subs r0, 0x7 strh r0, [r2] ldr r0, =gUnknown_08275D1F bl ScriptContext1_SetupScript _08128A64: ldr r2, =gSprites ldr r0, =gUnknown_0203AA38 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r2 ldrh r1, [r0, 0x22] adds r1, 0x2 strh r1, [r0, 0x22] ldr r0, =gUnknown_02037318 ldrb r0, [r0, 0x14] cmp r0, 0x56 bne _08128A84 bl sub_80EE104 _08128A84: adds r0, r4, 0 bl sub_8128BBC pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_81289F0 thumb_func_start sub_8128AAC sub_8128AAC: @ 8128AAC push {r4-r6,lr} lsls r0, 24 lsrs r6, r0, 24 movs r3, 0 ldr r0, =gUnknown_0203A17C ldrb r1, [r0, 0x8] adds r5, r0, 0 cmp r3, r1 bcs _08128AD2 ldr r4, [r5] _08128AC0: adds r2, r4, r3 ldrb r0, [r2] cmp r0, 0 beq _08128AF0 adds r0, r3, 0x1 lsls r0, 16 lsrs r3, r0, 16 cmp r3, r1 bcc _08128AC0 _08128AD2: ldrb r0, [r5, 0x9] cmp r0, 0 bne _08128B3C movs r3, 0 ldr r0, =gUnknown_0203A152 ldrb r1, [r0] adds r2, r0, 0 cmp r1, 0 bne _08128B28 b _08128B48 .pool _08128AF0: ldr r0, =gUnknown_0203A172 ldrb r1, [r0] ldr r0, =gUnknown_0203A14C ldr r0, [r0] adds r0, r1 ldrb r0, [r0] strb r0, [r2] ldr r2, [r5, 0x4] adds r2, r3 ldr r0, =gTasks lsls r1, r6, 2 adds r1, r6 lsls r1, 3 adds r1, r0 ldrb r0, [r1, 0x8] subs r0, 0x7 lsls r0, 4 ldrb r1, [r1, 0xA] subs r1, 0x7 adds r0, r1 strb r0, [r2] b _08128AD2 .pool _08128B28: adds r0, r3, 0x1 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0xF bhi _08128B76 adds r1, r3, r2 ldrb r0, [r1] cmp r0, 0 bne _08128B28 b _08128B6E _08128B3C: movs r3, 0 ldr r0, =gUnknown_0203A162 ldrb r1, [r0] adds r2, r0, 0 cmp r1, 0 bne _08128B5C _08128B48: ldr r0, =gUnknown_0203A172 ldrb r0, [r0] adds r0, 0x1 strb r0, [r2] b _08128B76 .pool _08128B5C: adds r0, r3, 0x1 lsls r0, 16 lsrs r3, r0, 16 cmp r3, 0xB bhi _08128B76 adds r1, r3, r2 ldrb r0, [r1] cmp r0, 0 bne _08128B5C _08128B6E: ldr r0, =gUnknown_0203A172 ldrb r0, [r0] adds r0, 0x1 strb r0, [r1] _08128B76: pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8128AAC thumb_func_start sub_8128B80 sub_8128B80: @ 8128B80 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sub_8197930 ldr r1, =gUnknown_085A72CC adds r0, r4, 0 bl sub_8121F68 pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8128B80 thumb_func_start sub_8128BA0 sub_8128BA0: @ 8128BA0 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0 movs r1, 0 bl sub_8197434 adds r0, r4, 0 bl sub_8128BBC pop {r4} pop {r0} bx r0 thumb_func_end sub_8128BA0 thumb_func_start sub_8128BBC sub_8128BBC: @ 8128BBC push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x1 movs r1, 0 bl fade_screen ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 movs r1, 0 strh r1, [r0, 0xC] ldr r1, =c1_overworld_prev_quest str r1, [r0] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8128BBC thumb_func_start c1_overworld_prev_quest c1_overworld_prev_quest: @ 8128BEC push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r5, r0, r1 movs r1, 0xC ldrsh r0, [r5, r1] cmp r0, 0 beq _08128C10 cmp r0, 0x1 beq _08128C30 b _08128C4C .pool _08128C10: bl script_env_2_enable ldr r0, =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08128C4C adds r0, r4, 0 bl sub_8127B04 movs r0, 0x1 strh r0, [r5, 0xC] b _08128C4C .pool _08128C30: bl sub_812A3C8 ldr r0, =0x00000be5 bl FreeSpritePaletteByTag ldr r1, =gUnknown_03005DAC ldr r0, =sub_8128CD4 str r0, [r1] ldr r0, =c2_exit_to_overworld_2_switch bl SetMainCallback2 adds r0, r4, 0 bl DestroyTask _08128C4C: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end c1_overworld_prev_quest thumb_func_start sub_8128C64 sub_8128C64: @ 8128C64 push {r4-r6,lr} lsls r0, 24 lsrs r0, 24 lsls r1, r0, 2 adds r1, r0 lsls r5, r1, 3 ldr r6, =gTasks + 0x8 adds r4, r5, r6 movs r1, 0x4 ldrsh r0, [r4, r1] cmp r0, 0x1 beq _08128C9C cmp r0, 0x1 bgt _08128C8C cmp r0, 0 beq _08128C96 b _08128CCA .pool _08128C8C: cmp r0, 0x2 beq _08128CA8 cmp r0, 0x3 beq _08128CB4 b _08128CCA _08128C96: bl sub_80E9578 b _08128CAC _08128C9C: ldr r0, =gUnknown_08275D0C bl ScriptContext1_SetupScript b _08128CAC .pool _08128CA8: bl script_env_2_enable _08128CAC: ldrh r0, [r4, 0x4] adds r0, 0x1 strh r0, [r4, 0x4] b _08128CCA _08128CB4: bl sub_80ABDFC lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _08128CCA adds r0, r6, 0 subs r0, 0x8 adds r0, r5, r0 ldr r1, =sub_812764C str r1, [r0] _08128CCA: pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8128C64 thumb_func_start sub_8128CD4 sub_8128CD4: @ 8128CD4 push {r4,lr} bl script_env_2_enable bl pal_fill_black ldr r0, =sub_8128C64 movs r1, 0x8 bl CreateTask adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 adds r0, r4, 0 bl sub_8127580 ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 movs r1, 0 strh r1, [r0, 0xC] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8128CD4 thumb_func_start sub_8128D10 sub_8128D10: @ 8128D10 push {r4,lr} lsls r0, 24 lsrs r0, 24 lsls r1, r0, 2 adds r1, r0 lsls r1, 3 ldr r0, =gTasks + 0x8 adds r2, r1, r0 ldr r0, =gUnknown_0203AA3A ldrb r1, [r0] adds r3, r0, 0 cmp r1, 0x1 bne _08128D48 movs r1, 0x2 ldrsh r0, [r2, r1] movs r4, 0xC ldrsh r1, [r2, r4] subs r0, r1 subs r0, 0x6 cmp r0, 0 bge _08128D48 ldrh r0, [r2, 0x2] adds r0, 0x1 b _08128D62 .pool _08128D48: ldrb r0, [r3] cmp r0, 0x2 bne _08128D6C movs r0, 0x2 ldrsh r1, [r2, r0] subs r1, 0x7 ldr r0, =gUnknown_02037318 ldr r0, [r0] ldr r0, [r0, 0x4] cmp r1, r0 blt _08128D6C ldrh r0, [r2, 0x2] subs r0, 0x1 _08128D62: strh r0, [r2, 0x2] movs r0, 0 b _08128DAE .pool _08128D6C: ldrb r0, [r3] cmp r0, 0x3 bne _08128D82 movs r1, 0 ldrsh r0, [r2, r1] subs r0, 0x7 cmp r0, 0 bge _08128D82 ldrh r0, [r2] adds r0, 0x1 b _08128DA2 _08128D82: ldrb r0, [r3] cmp r0, 0x4 bne _08128DAC movs r3, 0 ldrsh r1, [r2, r3] movs r4, 0xA ldrsh r0, [r2, r4] adds r1, r0 subs r1, 0x8 ldr r0, =gUnknown_02037318 ldr r0, [r0] ldr r0, [r0] cmp r1, r0 blt _08128DAC ldrh r0, [r2] subs r0, 0x1 _08128DA2: strh r0, [r2] movs r0, 0 b _08128DAE .pool _08128DAC: movs r0, 0x1 _08128DAE: pop {r4} pop {r1} bx r1 thumb_func_end sub_8128D10 thumb_func_start sub_8128DB4 sub_8128DB4: @ 8128DB4 push {lr} ldr r0, =gMain ldrh r0, [r0, 0x2C] movs r1, 0xF0 ands r1, r0 cmp r1, 0x40 beq _08128DD8 cmp r1, 0x80 beq _08128DD8 cmp r1, 0x20 beq _08128DD8 cmp r1, 0x10 beq _08128DD8 movs r0, 0 b _08128DDA .pool _08128DD8: movs r0, 0x1 _08128DDA: pop {r1} bx r1 thumb_func_end sub_8128DB4 thumb_func_start sub_8128DE0 sub_8128DE0: @ 8128DE0 push {r4,lr} ldr r1, =gUnknown_0203AA3A movs r0, 0 strb r0, [r1] ldr r4, =gSprites ldr r3, =gUnknown_0203AA38 ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r4 movs r2, 0 strh r2, [r0, 0x32] ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r4 strh r2, [r0, 0x34] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8128DE0 thumb_func_start sub_8128E18 sub_8128E18: @ 8128E18 push {r4-r7,lr} mov r7, r8 push {r7} lsls r0, 24 lsrs r2, r0, 24 mov r8, r2 lsls r0, r2, 2 adds r0, r2 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r4, r0, r1 ldr r5, =gSprites ldr r3, =gUnknown_0203AA38 ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 movs r1, 0x36 ldrsh r6, [r0, r1] cmp r6, 0 beq _08128E46 b _08128F66 _08128E46: movs r1, 0x14 ldrsh r0, [r4, r1] cmp r0, 0x1 bne _08128E68 ldr r0, =gUnknown_085A72D4 movs r3, 0x18 ldrsh r1, [r4, r3] lsls r1, 3 b _08128E76 .pool _08128E68: cmp r0, 0x2 bne _08128E88 ldr r0, =gUnknown_085A72D4 movs r3, 0x18 ldrsh r1, [r4, r3] lsls r1, 3 adds r0, 0x4 _08128E76: adds r1, r0 ldr r1, [r1] adds r0, r2, 0 bl _call_via_r1 b _08128FBA .pool _08128E88: ldr r2, =gMain ldrh r1, [r2, 0x2C] movs r7, 0xF0 adds r0, r7, 0 ands r0, r1 cmp r0, 0x40 bne _08128EBC ldr r1, =gUnknown_0203AA3A movs r0, 0x1 strb r0, [r1] ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 strh r6, [r0, 0x32] ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 ldr r1, =0x0000fffe strh r1, [r0, 0x34] ldrh r0, [r4, 0x2] subs r0, 0x1 strh r0, [r4, 0x2] _08128EBC: ldrh r1, [r2, 0x2C] adds r0, r7, 0 ands r0, r1 cmp r0, 0x80 bne _08128EEC ldr r1, =gUnknown_0203AA3A movs r0, 0x2 strb r0, [r1] ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 strh r6, [r0, 0x32] ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 movs r1, 0x2 strh r1, [r0, 0x34] ldrh r0, [r4, 0x2] adds r0, 0x1 strh r0, [r4, 0x2] _08128EEC: ldrh r1, [r2, 0x2C] adds r0, r7, 0 ands r0, r1 cmp r0, 0x20 bne _08128F1C ldr r1, =gUnknown_0203AA3A movs r0, 0x3 strb r0, [r1] ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 ldr r1, =0x0000fffe strh r1, [r0, 0x32] ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 strh r6, [r0, 0x34] ldrh r0, [r4] subs r0, 0x1 strh r0, [r4] _08128F1C: ldrh r1, [r2, 0x2C] adds r0, r7, 0 ands r0, r1 cmp r0, 0x10 bne _08128F4C ldr r1, =gUnknown_0203AA3A movs r0, 0x4 strb r0, [r1] ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 movs r1, 0x2 strh r1, [r0, 0x32] ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r5 strh r6, [r0, 0x34] ldrh r0, [r4] adds r0, 0x1 strh r0, [r4] _08128F4C: bl sub_8128DB4 lsls r0, 24 cmp r0, 0 beq _08128F62 mov r0, r8 bl sub_8128D10 lsls r0, 24 cmp r0, 0 bne _08128F66 _08128F62: bl sub_8128DE0 _08128F66: ldr r0, =gUnknown_0203AA3A ldrb r0, [r0] cmp r0, 0 beq _08128F94 ldr r3, =gSprites ldr r2, =gUnknown_0203AA38 ldrb r1, [r2] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r3 ldrh r1, [r0, 0x36] adds r1, 0x1 strh r1, [r0, 0x36] ldrb r0, [r2] lsls r1, r0, 4 adds r1, r0 lsls r1, 2 adds r1, r3 ldrh r2, [r1, 0x36] movs r0, 0x7 ands r0, r2 strh r0, [r1, 0x36] _08128F94: movs r1, 0x14 ldrsh r0, [r4, r1] cmp r0, 0 bne _08128FBA ldr r3, =gMain ldrh r1, [r3, 0x2E] movs r2, 0x1 adds r0, r2, 0 ands r0, r1 cmp r0, 0 beq _08128FAC strh r2, [r4, 0x14] _08128FAC: ldrh r1, [r3, 0x2E] movs r2, 0x2 adds r0, r2, 0 ands r0, r1 cmp r0, 0 beq _08128FBA strh r2, [r4, 0x14] _08128FBA: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_8128E18 thumb_func_start sub_8128FD8 sub_8128FD8: @ 8128FD8 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0 movs r1, 0x1 bl sub_8197434 ldr r2, =gSprites ldr r0, =gUnknown_0203AA38 ldrb r1, [r0] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r2 movs r2, 0 strh r2, [r0, 0x3C] ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 strh r2, [r0, 0x1C] ldr r1, =sub_8128E18 str r1, [r0] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8128FD8 thumb_func_start sub_8129020 sub_8129020: @ 8129020 push {lr} lsls r0, 24 lsrs r2, r0, 24 ldr r0, =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 cmp r0, 0 bne _0812903A movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _08129040 _0812903A: adds r0, r2, 0 bl sub_8128FD8 _08129040: pop {r0} bx r0 .pool thumb_func_end sub_8129020 thumb_func_start sub_8129048 sub_8129048: @ 8129048 push {lr} sub sp, 0x4 adds r1, r0, 0 mov r2, sp movs r0, 0 strh r0, [r2] ldr r2, =0x01000452 mov r0, sp bl CpuSet add sp, 0x4 pop {r0} bx r0 .pool thumb_func_end sub_8129048 thumb_func_start sub_8129068 sub_8129068: @ 8129068 push {lr} adds r2, r0, 0 lsls r1, 16 ldr r0, =gTilesetPointer_SecretBase ldr r0, [r0] lsrs r1, 11 ldr r0, [r0, 0x8] adds r0, r1 adds r1, r2, 0 movs r2, 0x8 bl CpuFastSet pop {r0} bx r0 .pool thumb_func_end sub_8129068 thumb_func_start sub_8129088 sub_8129088: @ 8129088 push {r4-r7,lr} sub sp, 0x20 adds r7, r0, 0 lsls r1, 16 lsrs r2, r1, 16 lsrs r4, r1, 26 adds r5, r4, 0 cmp r2, 0 beq _0812909E ldr r0, =0x000003ff ands r2, r0 _0812909E: ldr r0, =gTilesetPointer_SecretBase ldr r0, [r0] lsls r1, r2, 5 ldr r0, [r0, 0x4] adds r0, r1 mov r1, sp movs r2, 0x8 bl CpuFastSet cmp r4, 0x1 beq _081290DE cmp r4, 0x1 bgt _081290C8 cmp r4, 0 beq _081290D2 b _0812919A .pool _081290C8: cmp r5, 0x2 beq _0812913E cmp r5, 0x3 beq _08129176 b _0812919A _081290D2: mov r0, sp adds r1, r7, 0 movs r2, 0x8 bl CpuFastSet b _0812919A _081290DE: movs r5, 0 movs r6, 0xF _081290E2: lsls r4, r5, 2 adds r4, r7 adds r5, 0x1 lsls r3, r5, 2 subs r0, r3, 0x1 add r0, sp ldrb r2, [r0] lsrs r1, r2, 4 adds r0, r6, 0 ands r0, r2 lsls r0, 4 adds r1, r0 strb r1, [r4] subs r0, r3, 0x2 add r0, sp ldrb r2, [r0] lsrs r1, r2, 4 adds r0, r6, 0 ands r0, r2 lsls r0, 4 adds r1, r0 strb r1, [r4, 0x1] subs r0, r3, 0x3 add r0, sp ldrb r2, [r0] lsrs r1, r2, 4 adds r0, r6, 0 ands r0, r2 lsls r0, 4 adds r1, r0 strb r1, [r4, 0x2] subs r3, 0x4 mov r1, sp adds r0, r1, r3 ldrb r2, [r0] lsrs r1, r2, 4 adds r0, r6, 0 ands r0, r2 lsls r0, 4 adds r1, r0 strb r1, [r4, 0x3] lsls r5, 16 lsrs r5, 16 cmp r5, 0x7 bls _081290E2 b _0812919A _0812913E: movs r5, 0 movs r3, 0x7 _08129142: lsls r2, r5, 2 adds r2, r7 subs r1, r3, r5 lsls r1, 2 mov r4, sp adds r0, r4, r1 ldrb r0, [r0] strb r0, [r2] adds r0, r1, 0x1 add r0, sp ldrb r0, [r0] strb r0, [r2, 0x1] adds r0, r1, 0x2 add r0, sp ldrb r0, [r0] strb r0, [r2, 0x2] adds r1, 0x3 adds r0, r4, r1 ldrb r0, [r0] strb r0, [r2, 0x3] adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0x7 bls _08129142 b _0812919A _08129176: movs r5, 0 movs r4, 0x1F movs r6, 0xF _0812917C: adds r3, r7, r5 subs r0, r4, r5 add r0, sp ldrb r2, [r0] lsrs r1, r2, 4 adds r0, r6, 0 ands r0, r2 lsls r0, 4 adds r1, r0 strb r1, [r3] adds r0, r5, 0x1 lsls r0, 16 lsrs r5, r0, 16 cmp r5, 0x1F bls _0812917C _0812919A: add sp, 0x20 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8129088 thumb_func_start sub_81291A4 sub_81291A4: @ 81291A4 push {r4,r5,lr} adds r5, r0, 0 movs r4, 0 _081291AA: lsls r0, r4, 5 adds r0, 0x84 adds r0, r5, r0 lsls r2, r4, 1 adds r1, r5, 0x4 adds r1, r2 ldrh r1, [r1] bl sub_8129088 adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x3F bls _081291AA pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_81291A4 thumb_func_start sub_81291CC sub_81291CC: @ 81291CC lsls r0, 16 ldr r1, =gTilesetPointer_SecretBaseRedCave ldr r1, [r1] ldr r1, [r1, 0xC] lsrs r0, 15 adds r0, r1 ldrh r1, [r0] ldr r0, =0x00000fff ands r0, r1 bx lr .pool thumb_func_end sub_81291CC thumb_func_start sub_81291E8 sub_81291E8: @ 81291E8 push {r4-r7,lr} mov r7, r8 push {r7} mov r8, r0 ldr r0, [r0] ldrb r0, [r0, 0x12] movs r6, 0 ldr r1, =gUnknown_085A71B0 lsls r5, r0, 4 adds r0, r5, r1 ldrb r0, [r0, 0xC] cmp r6, r0 bcs _0812924C adds r7, r1, 0 _08129204: mov r4, r8 ldm r4!, {r1} adds r0, r7, 0x4 adds r0, r5, r0 ldr r0, [r0] adds r0, r6 ldrb r0, [r0] ldr r1, [r1, 0x1C] lsls r0, 1 adds r0, r1 ldrh r0, [r0] adds r1, r7, 0 adds r1, 0x8 adds r1, r5, r1 ldr r1, [r1] adds r1, r6 lsls r0, 3 ldrb r1, [r1] adds r0, r1 lsls r0, 16 lsrs r0, 16 bl sub_81291CC adds r2, r5, r7 ldr r1, [r2] adds r1, r6 ldrb r1, [r1] lsls r1, 1 adds r4, r1 strh r0, [r4] adds r0, r6, 0x1 lsls r0, 24 lsrs r6, r0, 24 ldrb r2, [r2, 0xC] cmp r6, r2 bcc _08129204 _0812924C: pop {r3} mov r8, r3 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_81291E8 thumb_func_start sub_812925C sub_812925C: @ 812925C push {r4,r5,lr} lsls r0, 24 ldr r3, =gUnknown_0203AA3C movs r1, 0 strb r1, [r3] ldrb r2, [r3, 0x1] subs r1, 0x4 ands r1, r2 movs r5, 0xD negs r5, r5 ands r1, r5 movs r2, 0x11 negs r2, r2 ands r1, r2 subs r2, 0x10 ands r1, r2 strb r1, [r3, 0x1] ldr r1, =gUnknown_085A7250 lsrs r0, 22 adds r0, r1 ldrb r1, [r0] movs r4, 0x3F lsls r1, 6 strb r1, [r3, 0x1] ldrh r2, [r3, 0x2] ldr r1, =0xfffffe00 ands r1, r2 strh r1, [r3, 0x2] ldrb r2, [r3, 0x3] movs r1, 0x3F negs r1, r1 ands r1, r2 strb r1, [r3, 0x3] ldrb r0, [r0, 0x1] lsls r0, 6 ands r4, r1 orrs r4, r0 strb r4, [r3, 0x3] ldrh r1, [r3, 0x4] ldr r0, =0xfffffc00 ands r0, r1 strh r0, [r3, 0x4] ldrb r0, [r3, 0x5] ands r5, r0 movs r0, 0xF ands r5, r0 strb r5, [r3, 0x5] pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_812925C thumb_func_start sub_81292D0 sub_81292D0: @ 81292D0 movs r1, 0 strh r1, [r0, 0x32] strh r1, [r0, 0x34] strh r1, [r0, 0x36] strh r1, [r0, 0x38] strh r1, [r0, 0x3A] strh r1, [r0, 0x3C] ldr r1, =sub_81292E8 str r1, [r0, 0x1C] bx lr .pool thumb_func_end sub_81292D0 thumb_func_start sub_81292E8 sub_81292E8: @ 81292E8 push {lr} adds r2, r0, 0 movs r1, 0x3C ldrsh r0, [r2, r1] cmp r0, 0 bne _08129322 movs r1, 0x3A ldrsh r0, [r2, r1] cmp r0, 0xE bgt _0812930A adds r3, r2, 0 adds r3, 0x3E ldrb r1, [r3] movs r0, 0x5 negs r0, r0 ands r0, r1 b _08129314 _0812930A: adds r3, r2, 0 adds r3, 0x3E ldrb r0, [r3] movs r1, 0x4 orrs r0, r1 _08129314: strb r0, [r3] ldrh r0, [r2, 0x3A] adds r0, 0x1 movs r1, 0x1F ands r0, r1 strh r0, [r2, 0x3A] b _0812932E _08129322: adds r2, 0x3E ldrb r1, [r2] movs r0, 0x5 negs r0, r0 ands r0, r1 strb r0, [r2] _0812932E: pop {r0} bx r0 thumb_func_end sub_81292E8 thumb_func_start gpu_pal_decompress_alloc_tag_and_upload gpu_pal_decompress_alloc_tag_and_upload: @ 8129334 push {r4,r5,lr} sub sp, 0x4 adds r5, r0, 0 lsls r4, r1, 24 lsrs r4, 24 bl sub_8129048 lsls r4, 5 ldr r0, =gDecorations adds r4, r0 str r4, [r5] ldrb r0, [r4, 0x11] cmp r0, 0x4 beq _081293B4 ldr r0, =0x00000be5 bl FreeSpritePaletteByTag adds r0, r5, 0 bl sub_81291E8 ldr r0, [r5] ldrb r0, [r0, 0x12] bl sub_812925C adds r0, r5, 0 bl sub_81291A4 ldr r1, =0x00000884 adds r0, r5, r1 ldr r1, =gTilesetPointer_SecretBaseRedCave ldr r2, [r1] ldr r1, [r5] ldr r1, [r1, 0x1C] ldrh r1, [r1] ldr r2, [r2, 0xC] lsls r1, 4 adds r1, r2 ldrh r1, [r1, 0xE] lsrs r1, 12 bl sub_8129068 ldr r0, =gUnknown_085A72BC bl LoadSpritePalette ldr r0, =gUnknown_085A728C movs r1, 0 movs r2, 0 movs r3, 0 bl CreateSprite b _081293C6 .pool _081293B4: ldr r0, [r4, 0x1C] ldrh r0, [r0] ldr r1, =SpriteCallbackDummy movs r2, 0x1 str r2, [sp] movs r2, 0 movs r3, 0 bl AddPseudoFieldObject _081293C6: lsls r0, 24 lsrs r0, 24 add sp, 0x4 pop {r4,r5} pop {r1} bx r1 .pool thumb_func_end gpu_pal_decompress_alloc_tag_and_upload thumb_func_start AddDecorationIconObjectFromIconTable @ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decorationId) AddDecorationIconObjectFromIconTable: @ 81293D8 push {r4-r7,lr} sub sp, 0x10 lsls r0, 16 lsrs r7, r0, 16 lsls r1, 16 lsrs r6, r1, 16 lsls r2, 24 lsrs r5, r2, 24 bl AllocItemIconTemporaryBuffers lsls r0, 24 cmp r0, 0 beq _08129490 adds r0, r5, 0 movs r1, 0 bl GetDecorationIconPicOrPalette ldr r4, =gUnknown_0203CEBC ldr r1, [r4] bl LZDecompressWram ldr r0, [r4] ldr r4, =gUnknown_0203CEC0 ldr r1, [r4] bl CopyItemIconPicTo4x4Buffer ldr r0, [r4] str r0, [sp] ldr r4, =0xffff0000 ldr r0, [sp, 0x4] ands r0, r4 movs r1, 0x80 lsls r1, 2 orrs r0, r1 lsls r2, r7, 16 ldr r1, =0x0000ffff ands r0, r1 orrs r0, r2 str r0, [sp, 0x4] mov r0, sp bl LoadSpriteSheet adds r0, r5, 0 movs r1, 0x1 bl GetDecorationIconPicOrPalette str r0, [sp, 0x8] add r0, sp, 0x8 ldr r1, [r0, 0x4] ands r1, r4 orrs r1, r6 str r1, [r0, 0x4] bl LoadCompressedObjectPalette movs r0, 0x18 bl Alloc adds r5, r0, 0 adds r1, r5, 0 ldr r0, =gUnknown_08614FF4 ldm r0!, {r2-r4} stm r1!, {r2-r4} ldm r0!, {r2-r4} stm r1!, {r2-r4} strh r7, [r5] strh r6, [r5, 0x2] adds r0, r5, 0 movs r1, 0 movs r2, 0 movs r3, 0 bl CreateSprite adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl FreeItemIconTemporaryBuffers adds r0, r5, 0 bl Free adds r0, r4, 0 b _08129492 .pool _08129490: movs r0, 0x40 _08129492: add sp, 0x10 pop {r4-r7} pop {r1} bx r1 thumb_func_end AddDecorationIconObjectFromIconTable thumb_func_start GetDecorationIconPicOrPalette @ u32 GetDecorationIconPicOrPalette(u16 decorationId, u8 which) GetDecorationIconPicOrPalette: @ 812949C push {lr} lsls r0, 16 lsrs r3, r0, 16 lsls r1, 24 lsrs r0, r1, 24 cmp r3, 0x78 bls _081294AC movs r3, 0 _081294AC: ldr r2, =gUnknown_085A6BE8 lsls r0, 2 lsls r1, r3, 3 adds r0, r1 adds r0, r2 ldr r0, [r0] pop {r1} bx r1 .pool thumb_func_end GetDecorationIconPicOrPalette thumb_func_start AddDecorationIconObjectFromFieldObject @ u8 AddDecorationIconObjectFromFieldObject(u16 tilesTag, u16 paletteTag, u8 decorationId) AddDecorationIconObjectFromFieldObject: @ 81294C0 push {r4-r7,lr} mov r7, r8 push {r7} sub sp, 0x14 adds r4, r2, 0 lsls r0, 16 lsrs r0, 16 mov r8, r0 lsls r1, 16 lsrs r7, r1, 16 lsls r4, 24 lsrs r4, 24 ldr r6, =gUnknown_0203A190 adds r0, r6, 0 bl sub_8129048 lsls r4, 5 ldr r0, =gDecorations adds r4, r0 str r4, [r6] ldrb r0, [r4, 0x11] cmp r0, 0x4 beq _081295A4 adds r0, r6, 0 bl sub_81291E8 ldr r0, [r6] ldrb r0, [r0, 0x12] bl sub_812925C adds r0, r6, 0 bl sub_81291A4 ldr r0, =0x00000884 adds r5, r6, r0 ldr r0, =gTilesetPointer_SecretBaseRedCave ldr r1, [r0] ldr r0, [r6] ldr r0, [r0, 0x1C] ldrh r0, [r0] ldr r1, [r1, 0xC] lsls r0, 4 adds r0, r1 ldrh r1, [r0, 0xE] lsrs r1, 12 adds r0, r5, 0 bl sub_8129068 adds r0, r6, 0 adds r0, 0x84 str r0, [sp, 0x4] ldr r1, =gUnknown_085A72F4 ldr r0, [r6] ldrb r0, [r0, 0x12] lsls r0, 1 adds r0, r1 ldrh r0, [r0] lsls r0, 21 ldr r4, =0xffff0000 mov r2, r8 lsls r1, r2, 16 lsrs r0, 16 orrs r0, r1 str r0, [sp, 0x8] add r0, sp, 0x4 bl LoadSpriteSheet str r5, [sp, 0xC] add r0, sp, 0xC ldr r1, [r0, 0x4] ands r1, r4 orrs r1, r7 str r1, [r0, 0x4] bl LoadSpritePalette movs r0, 0x18 bl Alloc adds r4, r0, 0 adds r1, r4, 0 ldr r0, =gUnknown_085A72A4 ldm r0!, {r2,r3,r5} stm r1!, {r2,r3,r5} ldm r0!, {r2,r3,r5} stm r1!, {r2,r3,r5} mov r3, r8 strh r3, [r4] strh r7, [r4, 0x2] adds r0, r4, 0 movs r1, 0 movs r2, 0 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r5, r0, 24 adds r0, r4, 0 bl Free b _081295BA .pool _081295A4: ldr r0, [r4, 0x1C] ldrh r0, [r0] ldr r1, =SpriteCallbackDummy movs r2, 0x1 str r2, [sp] movs r2, 0 movs r3, 0 bl AddPseudoFieldObject lsls r0, 24 lsrs r5, r0, 24 _081295BA: adds r0, r5, 0 add sp, 0x14 pop {r3} mov r8, r3 pop {r4-r7} pop {r1} bx r1 .pool thumb_func_end AddDecorationIconObjectFromFieldObject thumb_func_start AddDecorationIconObject @ u8 AddDecorationIconObject(u8 decorationId, u16 x, u16 y, u8 priority, u16 tilesTag, u16 paletteTag) AddDecorationIconObject: @ 81295CC push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x4 ldr r4, [sp, 0x24] ldr r5, [sp, 0x28] lsls r0, 24 lsrs r6, r0, 24 mov r12, r6 lsls r1, 16 lsrs r1, 16 mov r8, r1 mov r9, r8 lsls r2, 16 lsrs r7, r2, 16 mov r10, r7 lsls r3, 24 lsrs r3, 24 str r3, [sp] lsls r4, 16 lsrs r4, 16 adds r3, r4, 0 lsls r5, 16 lsrs r5, 16 adds r2, r5, 0 cmp r6, 0x78 bls _08129634 adds r0, r4, 0 adds r1, r5, 0 movs r2, 0 bl AddDecorationIconObjectFromIconTable lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x40 beq _08129696 ldr r2, =gSprites lsls r3, r4, 4 adds r1, r3, r4 lsls r1, 2 adds r1, r2 mov r5, r8 lsls r0, r5, 16 asrs r0, 16 adds r0, 0x4 strh r0, [r1, 0x24] lsls r0, r7, 16 b _081296B2 .pool _08129634: ldr r0, =gUnknown_085A6BE8 lsls r1, r6, 3 adds r1, r0 ldr r0, [r1] cmp r0, 0 bne _08129684 adds r0, r4, 0 adds r1, r5, 0 adds r2, r6, 0 bl AddDecorationIconObjectFromFieldObject lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x40 beq _08129696 ldr r1, =gSprites lsls r2, r4, 4 adds r0, r2, r4 lsls r0, 2 adds r5, r0, r1 mov r0, r8 strh r0, [r5, 0x24] adds r0, r6, 0 subs r0, 0x2A lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bhi _08129680 lsls r0, r7, 16 asrs r0, 16 subs r0, 0x4 strh r0, [r5, 0x26] b _081296BC .pool _08129680: strh r7, [r5, 0x26] b _081296BC _08129684: adds r0, r3, 0 adds r1, r2, 0 mov r2, r12 bl AddDecorationIconObjectFromIconTable lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x40 bne _0812969A _08129696: movs r0, 0x40 b _081296D8 _0812969A: ldr r2, =gSprites lsls r3, r4, 4 adds r1, r3, r4 lsls r1, 2 adds r1, r2 mov r5, r9 lsls r0, r5, 16 asrs r0, 16 adds r0, 0x4 strh r0, [r1, 0x24] mov r5, r10 lsls r0, r5, 16 _081296B2: asrs r0, 16 adds r0, 0x4 strh r0, [r1, 0x26] adds r1, r2, 0 adds r2, r3, 0 _081296BC: adds r2, r4 lsls r2, 2 adds r2, r1 movs r0, 0x3 ldr r1, [sp] ands r1, r0 lsls r1, 2 ldrb r3, [r2, 0x5] movs r0, 0xD negs r0, r0 ands r0, r3 orrs r0, r1 strb r0, [r2, 0x5] adds r0, r4, 0 _081296D8: add sp, 0x4 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r1} bx r1 .pool thumb_func_end AddDecorationIconObject thumb_func_start sub_81296EC sub_81296EC: @ 81296EC lsls r0, 24 lsrs r0, 24 ldr r3, =gUnknown_0203A17C ldr r1, [r3] adds r1, r0 movs r2, 0 strb r2, [r1] ldr r1, [r3, 0x4] adds r1, r0 strb r2, [r1] bx lr .pool thumb_func_end sub_81296EC thumb_func_start sub_8129708 sub_8129708: @ 8129708 push {r4-r6,lr} ldr r6, =gSpecialVar_0x8005 movs r0, 0 strh r0, [r6] ldr r2, =gScriptResult strh r0, [r2] ldr r4, =gSpecialVar_0x8004 ldr r1, =gUnknown_0203AAC4 ldrh r0, [r4] ldrb r1, [r1] cmp r0, r1 bne _08129744 movs r0, 0x1 strh r0, [r2] b _08129796 .pool _08129738: ldr r1, =gSpecialVar_0x8006 ldrb r0, [r2] strh r0, [r1] b _08129796 .pool _08129744: ldr r3, =gDecorations ldr r2, =gUnknown_0203A17C ldr r1, =gUnknown_0203AA44 ldrh r0, [r4] lsls r0, 3 adds r4, r0, r1 ldrb r1, [r4] ldr r0, [r2] adds r0, r1 ldrb r0, [r0] lsls r0, 5 adds r0, r3 ldrb r0, [r0, 0x11] cmp r0, 0x4 bne _08129796 ldrh r0, [r4, 0x4] strh r0, [r6] ldrb r0, [r4] bl sub_81296EC movs r1, 0 ldr r0, =gUnknown_02037318 ldr r0, [r0, 0x4] ldrb r2, [r0] cmp r1, r2 bcs _08129796 ldr r5, [r0, 0x4] ldrh r4, [r6] adds r3, r2, 0 _0812977E: lsls r0, r1, 1 adds r0, r1 lsls r0, 3 adds r2, r0, r5 ldrh r0, [r2, 0x14] cmp r0, r4 beq _08129738 adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, r3 bcc _0812977E _08129796: pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8129708 thumb_func_start sub_81297AC sub_81297AC: @ 81297AC push {r4-r6,lr} movs r2, 0 ldr r0, =gUnknown_02037318 ldr r0, [r0, 0x4] ldrb r1, [r0] cmp r2, r1 bcs _081297F0 adds r3, r0, 0 ldr r5, [r3, 0x4] ldr r0, =gSpecialVar_0x8004 ldrh r4, [r0] ldr r6, =gSpecialVar_0x8005 _081297C4: lsls r0, r2, 1 adds r0, r2 lsls r0, 3 adds r1, r0, r5 ldrh r0, [r1, 0x14] cmp r0, r4 bne _081297E4 ldrb r0, [r1] strh r0, [r6] b _081297F0 .pool _081297E4: adds r0, r2, 0x1 lsls r0, 24 lsrs r2, r0, 24 ldrb r0, [r3] cmp r2, r0 bcc _081297C4 _081297F0: pop {r4-r6} pop {r0} bx r0 thumb_func_end sub_81297AC thumb_func_start sub_81297F8 sub_81297F8: @ 81297F8 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0xC movs r6, 0 b _081298BE _08129808: ldr r3, =gUnknown_0203AA44 lsls r5, r6, 3 adds r4, r5, r3 ldrb r1, [r4] ldr r2, =gUnknown_0203A17C ldr r0, [r2] adds r0, r1 ldrb r0, [r0] lsls r0, 5 ldr r7, =gDecorations adds r0, r7 ldrb r2, [r0, 0x11] ldr r7, =gUnknown_0203A17C ldr r0, [r7, 0x4] adds r0, r1 ldrb r0, [r0] lsrs r1, r0, 4 mov r8, r1 movs r7, 0xF adds r1, r7, 0 ands r1, r0 str r1, [sp] adds r7, r5, 0 adds r6, 0x1 str r6, [sp, 0x4] cmp r2, 0x4 beq _081298B8 movs r6, 0 ldrb r4, [r4, 0x2] cmp r6, r4 bcs _081298AE _08129846: movs r4, 0 adds r0, r5, r3 adds r2, r6, 0x1 mov r10, r2 ldrb r0, [r0, 0x1] cmp r4, r0 bcs _0812989C ldr r3, =gUnknown_0203AA44 adds r3, r7 mov r9, r3 subs r5, r6, 0x7 str r5, [sp, 0x8] _0812985E: adds r0, r4, 0x7 add r0, r8 ldr r1, =gUnknown_02037318 ldr r3, [r1] ldr r1, [sp] subs r2, r1, r6 ldr r1, [r3] muls r2, r1 mov r5, r8 adds r1, r5, r4 adds r1, r2 ldr r2, [r3, 0xC] lsls r1, 1 adds r1, r2 ldrh r1, [r1] movs r3, 0xC0 lsls r3, 6 adds r2, r3, 0 orrs r2, r1 ldr r5, [sp] ldr r3, [sp, 0x8] subs r1, r5, r3 bl MapGridSetMetatileEntryAt adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 mov r5, r9 ldrb r5, [r5, 0x1] cmp r4, r5 bcc _0812985E _0812989C: mov r1, r10 lsls r0, r1, 24 lsrs r6, r0, 24 ldr r3, =gUnknown_0203AA44 adds r5, r7, 0 adds r0, r7, r3 ldrb r0, [r0, 0x2] cmp r6, r0 bcc _08129846 _081298AE: ldr r2, =gUnknown_0203AA44 adds r0, r7, r2 ldrb r0, [r0] bl sub_81296EC _081298B8: ldr r3, [sp, 0x4] lsls r0, r3, 24 lsrs r6, r0, 24 _081298BE: ldr r0, =gUnknown_0203AAC4 ldrb r0, [r0] cmp r6, r0 bcc _08129808 add sp, 0xC pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_81297F8 thumb_func_start sub_81298EC sub_81298EC: @ 81298EC push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r4, r0, r1 movs r1, 0xC ldrsh r0, [r4, r1] cmp r0, 0x1 beq _08129928 cmp r0, 0x1 bgt _08129914 cmp r0, 0 beq _0812991E b _08129994 .pool _08129914: cmp r0, 0x2 beq _08129954 cmp r0, 0x3 beq _08129968 b _08129994 _0812991E: bl sub_81297F8 movs r0, 0x1 strh r0, [r4, 0xC] b _08129994 _08129928: ldr r0, =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08129994 bl DrawWholeMapView ldr r0, =gUnknown_08275D2E bl ScriptContext1_SetupScript movs r0, 0 movs r1, 0x1 bl sub_8197434 movs r0, 0x2 strh r0, [r4, 0xC] b _08129994 .pool _08129954: bl script_env_2_enable adds r0, r5, 0 bl sub_8127814 bl pal_fill_black movs r0, 0x3 strh r0, [r4, 0xC] b _08129994 _08129968: bl sub_80ABDFC lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _08129994 ldr r4, =gStringVar4 ldr r1, =gUnknown_085EAAC5 adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_8129D64 adds r0, r5, 0 adds r1, r4, 0 bl DisplayItemMessageOnField ldr r0, =gUnknown_02037318 ldrb r0, [r0, 0x14] cmp r0, 0x56 bne _08129994 bl sub_80EE104 _08129994: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_81298EC thumb_func_start sub_81299AC sub_81299AC: @ 81299AC push {lr} movs r1, 0 ldr r0, =gUnknown_0203A17C ldrb r2, [r0, 0x8] cmp r1, r2 bcs _081299D6 ldr r3, [r0] _081299BA: adds r0, r3, r1 ldrb r0, [r0] cmp r0, 0 beq _081299CC movs r0, 0x1 b _081299D8 .pool _081299CC: adds r0, r1, 0x1 lsls r0, 16 lsrs r1, r0, 16 cmp r1, r2 bcc _081299BA _081299D6: movs r0, 0 _081299D8: pop {r1} bx r1 thumb_func_end sub_81299AC thumb_func_start SetUpPuttingAwayDecorationPlayerAvatar SetUpPuttingAwayDecorationPlayerAvatar: @ 81299DC push {r4-r6,lr} mov r6, r8 push {r6} sub sp, 0x4 bl player_get_direction_lower_nybble ldr r3, =gUnknown_0203AA38 ldr r2, =gSprites ldr r4, =gUnknown_03005DD0 ldr r1, [r4, 0x4] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r2 ldrh r0, [r0, 0x2E] strb r0, [r3] bl sub_812A39C ldr r0, =gUnknown_085A7404 movs r1, 0x78 movs r2, 0x50 movs r3, 0 bl CreateSprite lsls r0, 24 lsrs r0, 24 str r0, [r4, 0x4] ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 bne _08129A3C ldr r1, =SpriteCallbackDummy str r0, [sp] movs r0, 0xC1 b _08129A44 .pool _08129A3C: ldr r1, =SpriteCallbackDummy movs r0, 0 str r0, [sp] movs r0, 0xC2 _08129A44: movs r2, 0x88 movs r3, 0x48 bl AddPseudoFieldObject ldr r1, =gUnknown_0203AA39 strb r0, [r1] ldr r6, =gSprites ldr r0, =gUnknown_0203AA39 ldrb r0, [r0] lsls r1, r0, 4 adds r1, r0 lsls r1, 2 adds r1, r6 ldrb r2, [r1, 0x5] movs r4, 0xD negs r4, r4 adds r0, r4, 0 ands r0, r2 movs r2, 0x4 mov r8, r2 mov r2, r8 orrs r0, r2 strb r0, [r1, 0x5] ldr r5, =gUnknown_0203AA38 ldrb r1, [r5] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r6 bl DestroySprite ldr r0, =gUnknown_03005DD0 ldr r0, [r0, 0x4] strb r0, [r5] ldrb r1, [r5] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r6 ldrb r1, [r0, 0x5] ands r4, r1 mov r1, r8 orrs r4, r1 strb r4, [r0, 0x5] add sp, 0x4 pop {r3} mov r8, r3 pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end SetUpPuttingAwayDecorationPlayerAvatar thumb_func_start sub_8129ABC sub_8129ABC: @ 8129ABC push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 lsls r0, r5, 2 adds r0, r5 lsls r0, 3 ldr r1, =gTasks + 0x8 adds r4, r0, r1 movs r1, 0x4 ldrsh r0, [r4, r1] cmp r0, 0x1 beq _08129B0C cmp r0, 0x1 bgt _08129AE4 cmp r0, 0 beq _08129AEA b _08129B2E .pool _08129AE4: cmp r0, 0x2 beq _08129B1A b _08129B2E _08129AEA: ldr r0, =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _08129B2E adds r0, r5, 0 bl sub_8127ACC movs r0, 0x1 strh r0, [r4, 0x4] strh r0, [r4, 0xC] strh r0, [r4, 0xA] b _08129B2E .pool _08129B0C: bl SetUpPuttingAwayDecorationPlayerAvatar bl pal_fill_black movs r0, 0x2 strh r0, [r4, 0x4] b _08129B2E _08129B1A: bl sub_80ABDFC lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _08129B2E strh r0, [r4, 0x18] adds r0, r5, 0 bl sub_8129B34 _08129B2E: pop {r4,r5} pop {r0} bx r0 thumb_func_end sub_8129ABC thumb_func_start sub_8129B34 sub_8129B34: @ 8129B34 push {r4-r6,lr} adds r5, r0, 0 lsls r5, 24 lsrs r5, 24 movs r0, 0 movs r1, 0x1 bl sub_8197434 ldr r4, =gSprites ldr r3, =gUnknown_0203AA38 ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r4 movs r6, 0 strh r6, [r0, 0x3C] ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r4 adds r0, 0x3E ldrb r2, [r0] movs r1, 0x5 negs r1, r1 ands r1, r2 strb r1, [r0] ldrb r1, [r3] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r1, r4, 0 adds r1, 0x1C adds r0, r1 ldr r1, =sub_812A36C str r1, [r0] ldr r2, =gUnknown_0203AA39 ldrb r1, [r2] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r4 movs r1, 0x88 strh r1, [r0, 0x20] ldrb r1, [r2] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r4 movs r1, 0x48 strh r1, [r0, 0x22] ldr r1, =gTasks lsls r0, r5, 2 adds r0, r5 lsls r0, 3 adds r0, r1 strh r6, [r0, 0x1C] ldr r1, =sub_8128E18 str r1, [r0] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8129B34 thumb_func_start sub_8129BCC sub_8129BCC: @ 8129BCC push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 movs r1, 0 strh r1, [r0, 0x1C] bl sub_8128DE0 adds r0, r4, 0 bl sub_8129C74 pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_8129BCC thumb_func_start sub_8129BF8 sub_8129BF8: @ 8129BF8 push {r4,r5,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 movs r1, 0 strh r1, [r0, 0x1C] bl sub_8128DE0 ldr r3, =gSprites ldr r5, =gUnknown_0203AA38 ldrb r1, [r5] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r3 adds r0, 0x3E ldrb r2, [r0] movs r1, 0x5 negs r1, r1 ands r1, r2 strb r1, [r0] ldrb r1, [r5] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r3, 0x1C adds r0, r3 ldr r1, =SpriteCallbackDummy str r1, [r0] ldr r5, =gStringVar4 ldr r1, =gUnknown_085EAA62 adds r0, r5, 0 bl StringExpandPlaceholders ldr r2, =sub_812A1F0 adds r0, r4, 0 adds r1, r5, 0 bl DisplayItemMessageOnField pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8129BF8 thumb_func_start sub_8129C74 sub_8129C74: @ 8129C74 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 adds r0, r5, 0 bl sub_812A0E8 ldr r0, =gUnknown_0203AAC4 ldrb r0, [r0] cmp r0, 0 beq _08129CA8 ldr r4, =gStringVar4 ldr r1, =gUnknown_085EAAA3 adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_812A1A0 b _08129D14 .pool _08129CA8: lsls r1, r5, 2 adds r1, r5 lsls r1, 3 ldr r0, =gTasks + 0x8 adds r1, r0 movs r2, 0 ldrsh r0, [r1, r2] movs r2, 0x2 ldrsh r1, [r1, r2] bl MapGridGetMetatileBehaviorAt lsls r0, 24 lsrs r4, r0, 24 adds r0, r4, 0 bl sub_8089288 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _08129CDE adds r0, r4, 0 bl sub_8089404 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _08129D3C _08129CDE: ldr r3, =gSprites ldr r4, =gUnknown_0203AA38 ldrb r1, [r4] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r0, r3 adds r0, 0x3E ldrb r2, [r0] movs r1, 0x5 negs r1, r1 ands r1, r2 strb r1, [r0] ldrb r1, [r4] lsls r0, r1, 4 adds r0, r1 lsls r0, 2 adds r3, 0x1C adds r0, r3 ldr r1, =SpriteCallbackDummy str r1, [r0] ldr r4, =gStringVar4 ldr r1, =gUnknown_085EAA62 adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_812A1F0 _08129D14: adds r0, r5, 0 adds r1, r4, 0 bl DisplayItemMessageOnField b _08129D50 .pool _08129D3C: ldr r4, =gStringVar4 ldr r1, =gUnknown_085EAA81 adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_8129D64 adds r0, r5, 0 adds r1, r4, 0 bl DisplayItemMessageOnField _08129D50: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_8129C74 thumb_func_start sub_8129D64 sub_8129D64: @ 8129D64 push {lr} lsls r0, 24 lsrs r2, r0, 24 ldr r0, =gMain ldrh r1, [r0, 0x2E] movs r0, 0x1 ands r0, r1 cmp r0, 0 bne _08129D7E movs r0, 0x2 ands r0, r1 cmp r0, 0 beq _08129D84 _08129D7E: adds r0, r2, 0 bl sub_8129B34 _08129D84: pop {r0} bx r0 .pool thumb_func_end sub_8129D64 thumb_func_start sub_8129D8C sub_8129D8C: @ 8129D8C push {lr} adds r2, r1, 0 lsls r0, 24 ldr r1, =gDecorations lsrs r0, 19 adds r0, r1 ldrb r1, [r0, 0x12] cmp r1, 0 bne _08129DA8 movs r0, 0x1 strb r0, [r2, 0x1] b _08129E06 .pool _08129DA8: cmp r1, 0x1 bne _08129DB4 movs r0, 0x2 strb r0, [r2, 0x1] strb r1, [r2, 0x2] b _08129E08 _08129DB4: cmp r1, 0x2 bne _08129DC0 movs r0, 0x3 strb r0, [r2, 0x1] movs r0, 0x1 b _08129E06 _08129DC0: cmp r1, 0x3 bne _08129DC8 movs r0, 0x4 b _08129E02 _08129DC8: cmp r1, 0x4 bne _08129DD2 movs r0, 0x2 strb r0, [r2, 0x1] b _08129E06 _08129DD2: cmp r1, 0x5 bne _08129DDA movs r0, 0x1 b _08129E02 _08129DDA: cmp r1, 0x6 bne _08129DE6 movs r0, 0x1 strb r0, [r2, 0x1] movs r0, 0x3 b _08129E06 _08129DE6: cmp r1, 0x7 bne _08129DF2 movs r0, 0x2 strb r0, [r2, 0x1] movs r0, 0x4 b _08129E06 _08129DF2: cmp r1, 0x8 bne _08129DFC movs r0, 0x3 strb r0, [r2, 0x1] b _08129E06 _08129DFC: cmp r1, 0x9 bne _08129E08 movs r0, 0x3 _08129E02: strb r0, [r2, 0x1] movs r0, 0x2 _08129E06: strb r0, [r2, 0x2] _08129E08: pop {r0} bx r0 thumb_func_end sub_8129D8C thumb_func_start sub_8129E0C sub_8129E0C: @ 8129E0C push {r4-r6,lr} lsls r0, 24 lsls r1, 24 ldr r5, =gSprites ldr r6, =gUnknown_0203AA38 ldrb r3, [r6] lsls r2, r3, 4 adds r2, r3 lsls r2, 2 adds r2, r5 adds r2, 0x3E ldrb r3, [r2] movs r4, 0x4 orrs r3, r4 strb r3, [r2] ldrb r3, [r6] lsls r2, r3, 4 adds r2, r3 lsls r2, 2 adds r3, r5, 0 adds r3, 0x1C adds r2, r3 ldr r3, =SpriteCallbackDummy str r3, [r2] ldr r4, =gUnknown_0203AA39 ldrb r3, [r4] lsls r2, r3, 4 adds r2, r3 lsls r2, 2 adds r2, r5 lsrs r0, 20 adds r0, 0x88 strh r0, [r2, 0x20] ldrb r2, [r4] lsls r0, r2, 4 adds r0, r2 lsls r0, 2 adds r0, r5 lsrs r1, 20 adds r1, 0x48 strh r1, [r0, 0x22] pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_8129E0C thumb_func_start sub_8129E74 sub_8129E74: @ 8129E74 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} mov r9, r2 lsls r0, 24 lsrs r0, 24 lsls r1, 24 lsrs r1, 24 ldr r3, =gTasks lsls r2, r0, 2 adds r2, r0 lsls r2, 3 adds r2, r3 ldrb r0, [r2, 0x8] subs r0, 0x7 lsls r0, 24 lsrs r7, r0, 24 ldrb r0, [r2, 0xA] subs r0, 0x7 lsls r0, 24 lsrs r0, 24 mov r8, r0 ldr r2, =gUnknown_0203A17C ldr r0, [r2, 0x4] adds r0, r1 ldrb r0, [r0] lsrs r5, r0, 4 movs r6, 0xF ands r6, r0 mov r0, r9 ldrb r4, [r0, 0x2] ldr r0, [r2] adds r0, r1 ldrb r0, [r0] cmp r0, 0x29 bne _08129ED4 adds r0, r5, 0x7 adds r1, r6, 0x7 bl MapGridGetMetatileIdAt movs r1, 0xA3 lsls r1, 2 cmp r0, r1 bne _08129ED4 subs r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 _08129ED4: cmp r7, r5 bcc _08129F10 mov r0, r9 ldrb r2, [r0, 0x1] adds r0, r5, r2 cmp r7, r0 bge _08129F10 subs r0, r6, r4 cmp r8, r0 ble _08129F10 cmp r8, r6 bhi _08129F10 subs r0, r7, r5 adds r0, 0x1 subs r0, r2, r0 lsls r0, 24 lsrs r0, 24 mov r2, r8 subs r1, r6, r2 lsls r1, 24 lsrs r1, 24 bl sub_8129E0C movs r0, 0x1 b _08129F12 .pool _08129F10: movs r0, 0 _08129F12: pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r1} bx r1 thumb_func_end sub_8129E74 thumb_func_start sub_8129F20 sub_8129F20: @ 8129F20 push {r4-r7,lr} mov r7, r9 mov r6, r8 push {r6,r7} ldr r2, =gUnknown_0203A17C ldr r3, =gUnknown_0203AA44 ldr r0, =gUnknown_0203AAC4 ldrb r0, [r0] lsls r0, 3 adds r0, r3 ldrb r1, [r0] ldr r0, [r2, 0x4] adds r0, r1 ldrb r0, [r0] lsrs r1, r0, 4 mov r8, r1 movs r6, 0xF ands r6, r0 movs r4, 0 ldr r7, =gSaveBlock1Ptr mov r9, r3 _08129F4A: ldr r1, [r7] lsls r0, r4, 1 adds r0, r4 lsls r5, r0, 3 adds r1, r5 ldr r2, =0x00000c74 adds r0, r1, r2 movs r2, 0 ldrsh r0, [r0, r2] cmp r0, r8 bne _08129FB0 ldr r2, =0x00000c76 adds r0, r1, r2 movs r2, 0 ldrsh r0, [r0, r2] cmp r0, r6 bne _08129FB0 ldr r2, =0x00000c84 adds r0, r1, r2 ldrh r0, [r0] bl FlagGet lsls r0, 24 cmp r0, 0 bne _08129FB0 ldr r0, =gUnknown_0203AAC4 ldrb r1, [r0] lsls r1, 3 add r1, r9 ldr r0, [r7] adds r0, r5 ldr r2, =0x00000c84 adds r0, r2 ldrh r0, [r0] strh r0, [r1, 0x4] b _08129FBA .pool _08129FB0: adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 cmp r4, 0x3F bls _08129F4A _08129FBA: pop {r3,r4} mov r8, r3 mov r9, r4 pop {r4-r7} pop {r0} bx r0 thumb_func_end sub_8129F20 thumb_func_start sub_8129FC8 sub_8129FC8: @ 8129FC8 push {r4-r7,lr} lsls r0, 24 lsrs r7, r0, 24 movs r6, 0 b _0812A02A _08129FD2: ldr r0, [r0] adds r1, r0, r6 ldrb r0, [r1] cmp r0, 0 beq _0812A024 ldr r0, =gDecorations ldrb r2, [r1] lsls r1, r2, 5 adds r1, r0 ldrb r0, [r1, 0x11] cmp r0, 0x4 bne _0812A024 ldr r5, =gUnknown_0203AA44 adds r0, r2, 0 adds r1, r5, 0 bl sub_8129D8C lsls r1, r6, 24 lsrs r1, 24 adds r0, r7, 0 adds r2, r5, 0 bl sub_8129E74 lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x1 bne _0812A024 strb r6, [r5] bl sub_8129F20 ldr r0, =gUnknown_0203AAC4 strb r4, [r0] movs r0, 0x1 b _0812A034 .pool _0812A024: adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 _0812A02A: ldr r0, =gUnknown_0203A17C ldrb r1, [r0, 0x8] cmp r6, r1 bcc _08129FD2 movs r0, 0 _0812A034: pop {r4-r7} pop {r1} bx r1 .pool thumb_func_end sub_8129FC8 thumb_func_start sub_812A040 sub_812A040: @ 812A040 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} sub sp, 0x4 lsls r0, 24 lsrs r0, 24 str r0, [sp] lsls r1, 24 lsrs r1, 24 mov r10, r1 lsls r2, 24 lsrs r2, 24 mov r9, r2 lsls r3, 24 lsrs r3, 24 mov r8, r3 movs r4, 0 ldr r7, =gUnknown_0203A17C ldrb r0, [r7, 0x8] cmp r4, r0 bcs _0812A0C6 adds r6, r7, 0 ldr r5, =gUnknown_0203AAC4 _0812A072: ldr r0, [r6] adds r0, r4 ldrb r1, [r0] ldr r0, [r6, 0x4] adds r0, r4 ldrb r0, [r0] lsrs r3, r0, 4 movs r2, 0xF ands r2, r0 cmp r1, 0 beq _0812A0BA ldr r0, =gDecorations lsls r1, 5 adds r1, r0 ldrb r0, [r1, 0x11] cmp r0, 0x4 bne _0812A0BA ldr r0, [sp] cmp r0, r3 bhi _0812A0BA cmp r10, r2 bhi _0812A0BA cmp r9, r3 bcc _0812A0BA cmp r8, r2 bcc _0812A0BA ldr r0, =gUnknown_0203AA44 ldrb r1, [r5] lsls r1, 3 adds r1, r0 strb r4, [r1] bl sub_8129F20 ldrb r0, [r5] adds r0, 0x1 strb r0, [r5] _0812A0BA: adds r0, r4, 0x1 lsls r0, 24 lsrs r4, r0, 24 ldrb r0, [r7, 0x8] cmp r4, r0 bcc _0812A072 _0812A0C6: add sp, 0x4 pop {r3-r5} mov r8, r3 mov r9, r4 mov r10, r5 pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_812A040 thumb_func_start sub_812A0E8 sub_812A0E8: @ 812A0E8 push {r4-r7,lr} lsls r0, 24 lsrs r6, r0, 24 ldr r4, =gUnknown_0203AAC4 movs r0, 0 strb r0, [r4] adds r0, r6, 0 bl sub_8129FC8 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 beq _0812A18C movs r5, 0 ldr r0, =gUnknown_0203A17C ldrb r1, [r0, 0x8] cmp r5, r1 bcs _0812A15A adds r7, r4, 0 _0812A10E: ldr r0, [r0] adds r0, r5 ldrb r1, [r0] cmp r1, 0 beq _0812A14C ldr r4, =gUnknown_0203AA44 adds r0, r1, 0 adds r1, r4, 0 bl sub_8129D8C adds r0, r6, 0 adds r1, r5, 0 adds r2, r4, 0 bl sub_8129E74 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _0812A14C strb r5, [r4] ldrb r0, [r7] adds r0, 0x1 strb r0, [r7] b _0812A15A .pool _0812A14C: adds r0, r5, 0x1 lsls r0, 24 lsrs r5, r0, 24 ldr r0, =gUnknown_0203A17C ldrb r1, [r0, 0x8] cmp r5, r1 bcc _0812A10E _0812A15A: ldr r0, =gUnknown_0203AAC4 ldrb r0, [r0] cmp r0, 0 beq _0812A18C ldr r0, =gUnknown_0203A17C ldr r2, =gUnknown_0203AA44 ldrb r1, [r2] ldr r0, [r0, 0x4] adds r0, r1 ldrb r1, [r0] lsrs r0, r1, 4 movs r3, 0xF ands r3, r1 ldrb r1, [r2, 0x2] subs r1, r3, r1 adds r1, 0x1 lsls r1, 24 lsrs r1, 24 ldrb r2, [r2, 0x1] adds r2, r0 subs r2, 0x1 lsls r2, 24 lsrs r2, 24 bl sub_812A040 _0812A18C: pop {r4-r7} pop {r0} bx r0 .pool thumb_func_end sub_812A0E8 thumb_func_start sub_812A1A0 sub_812A1A0: @ 812A1A0 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sub_8197930 ldr r1, =gUnknown_085A7348 adds r0, r4, 0 bl sub_8121F68 pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_812A1A0 thumb_func_start sub_812A1C0 sub_812A1C0: @ 812A1C0 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x1 movs r1, 0 bl fade_screen ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 movs r1, 0 strh r1, [r0, 0xC] ldr r1, =sub_81298EC str r1, [r0] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_812A1C0 thumb_func_start sub_812A1F0 sub_812A1F0: @ 812A1F0 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sub_8197930 ldr r1, =gUnknown_085A7350 adds r0, r4, 0 bl sub_8121F68 pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_812A1F0 thumb_func_start sub_812A210 sub_812A210: @ 812A210 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0 movs r1, 0 bl sub_8197434 adds r0, r4, 0 bl sub_812A22C pop {r4} pop {r0} bx r0 thumb_func_end sub_812A210 thumb_func_start sub_812A22C sub_812A22C: @ 812A22C push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 movs r0, 0x1 movs r1, 0 bl fade_screen ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r0, r1 movs r1, 0 strh r1, [r0, 0xC] ldr r1, =sub_812A25C str r1, [r0] pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_812A22C thumb_func_start sub_812A25C sub_812A25C: @ 812A25C push {r4,r5,lr} lsls r0, 24 lsrs r4, r0, 24 ldr r1, =gTasks lsls r0, r4, 2 adds r0, r4 lsls r0, 3 adds r5, r0, r1 movs r1, 0xC ldrsh r0, [r5, r1] cmp r0, 0 beq _0812A280 cmp r0, 0x1 beq _0812A29C b _0812A2B2 .pool _0812A280: ldr r0, =gPaletteFade ldrb r1, [r0, 0x7] movs r0, 0x80 ands r0, r1 cmp r0, 0 bne _0812A2B2 adds r0, r4, 0 bl sub_8127B04 movs r0, 0x1 strh r0, [r5, 0xC] b _0812A2B2 .pool _0812A29C: bl sub_812A3C8 ldr r0, =gUnknown_03005DAC ldr r1, =sub_812A334 str r1, [r0] ldr r0, =c2_exit_to_overworld_2_switch bl SetMainCallback2 adds r0, r4, 0 bl DestroyTask _0812A2B2: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_812A25C thumb_func_start sub_812A2C4 sub_812A2C4: @ 812A2C4 push {r4-r6,lr} lsls r0, 24 lsrs r0, 24 lsls r1, r0, 2 adds r1, r0 lsls r5, r1, 3 ldr r6, =gTasks + 0x8 adds r4, r5, r6 movs r1, 0x4 ldrsh r0, [r4, r1] cmp r0, 0x1 beq _0812A2FC cmp r0, 0x1 bgt _0812A2EC cmp r0, 0 beq _0812A2F6 b _0812A32A .pool _0812A2EC: cmp r0, 0x2 beq _0812A308 cmp r0, 0x3 beq _0812A314 b _0812A32A _0812A2F6: bl sub_80E9578 b _0812A30C _0812A2FC: ldr r0, =gUnknown_08275D0C bl ScriptContext1_SetupScript b _0812A30C .pool _0812A308: bl script_env_2_enable _0812A30C: ldrh r0, [r4, 0x4] adds r0, 0x1 strh r0, [r4, 0x4] b _0812A32A _0812A314: bl sub_80ABDFC lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _0812A32A adds r0, r6, 0 subs r0, 0x8 adds r0, r5, r0 ldr r1, =sub_8126B80 str r1, [r0] _0812A32A: pop {r4-r6} pop {r0} bx r0 .pool thumb_func_end sub_812A2C4 thumb_func_start sub_812A334 sub_812A334: @ 812A334 push {lr} bl pal_fill_black movs r0, 0 movs r1, 0x1 bl sub_81973C4 bl sub_8126ABC ldr r0, =sub_812A2C4 movs r1, 0x8 bl CreateTask lsls r0, 24 lsrs r0, 24 ldr r2, =gTasks lsls r1, r0, 2 adds r1, r0 lsls r1, 3 adds r1, r2 movs r0, 0 strh r0, [r1, 0xC] pop {r0} bx r0 .pool thumb_func_end sub_812A334 thumb_func_start sub_812A36C sub_812A36C: @ 812A36C push {lr} adds r2, r0, 0 ldrh r0, [r2, 0x2E] adds r0, 0x1 movs r1, 0x1F ands r0, r1 strh r0, [r2, 0x2E] cmp r0, 0xF ble _0812A38C adds r0, r2, 0 adds r0, 0x3E ldrb r1, [r0] movs r2, 0x4 orrs r1, r2 strb r1, [r0] b _0812A398 _0812A38C: adds r2, 0x3E ldrb r1, [r2] movs r0, 0x5 negs r0, r0 ands r0, r1 strb r0, [r2] _0812A398: pop {r0} bx r0 thumb_func_end sub_812A36C thumb_func_start sub_812A39C sub_812A39C: @ 812A39C push {lr} ldr r0, =gSaveBlock2Ptr ldr r0, [r0] ldrb r0, [r0, 0x8] cmp r0, 0 bne _0812A3B8 ldr r0, =gUnknown_085A73D8 bl LoadSpritePalette b _0812A3BE .pool _0812A3B8: ldr r0, =gUnknown_085A73E0 bl LoadSpritePalette _0812A3BE: pop {r0} bx r0 .pool thumb_func_end sub_812A39C thumb_func_start sub_812A3C8 sub_812A3C8: @ 812A3C8 push {lr} movs r0, 0x8 bl FreeSpritePaletteByTag pop {r0} bx r0 thumb_func_end sub_812A3C8 thumb_func_start sub_812A3D4 sub_812A3D4: @ 812A3D4 push {r4,r5,lr} lsls r0, 24 lsrs r5, r0, 24 bl sub_81279C4 lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 bne _0812A430 ldr r0, =gStringVar1 ldr r1, =gUnknown_0203A172 ldrb r2, [r1] ldr r1, =gUnknown_0203A14C ldr r1, [r1] adds r1, r2 ldrb r1, [r1] lsls r1, 5 ldr r2, =gUnknown_085A5C09 adds r1, r2 bl StringCopy ldr r4, =gStringVar4 ldr r1, =gUnknown_085EAA14 adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_812A458 adds r0, r5, 0 adds r1, r4, 0 bl DisplayItemMessageOnField b _0812A444 .pool _0812A430: ldr r4, =gStringVar4 ldr r1, =gUnknown_085EA9E0 adds r0, r4, 0 bl StringExpandPlaceholders ldr r2, =sub_8127A5C adds r0, r5, 0 adds r1, r4, 0 bl DisplayItemMessageOnField _0812A444: pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_812A3D4 thumb_func_start sub_812A458 sub_812A458: @ 812A458 push {r4,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 bl sub_8197930 ldr r1, =gUnknown_085A741C adds r0, r4, 0 bl sub_8121F68 pop {r4} pop {r0} bx r0 .pool thumb_func_end sub_812A458 thumb_func_start sub_812A478 sub_812A478: @ 812A478 push {r4,r5,lr} adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 ldr r0, =gUnknown_0203A172 ldrb r1, [r0] ldr r0, =gUnknown_0203A14C ldr r0, [r0] adds r0, r1 movs r1, 0 strb r1, [r0] ldr r5, =gUnknown_0203A173 ldrb r0, [r5] bl sub_8161AD0 ldr r1, =gUnknown_0203A151 strb r0, [r1] ldrb r0, [r5] bl sub_8161A38 adds r0, r4, 0 bl sub_8127814 ldr r5, =gStringVar4 ldr r1, =gUnknown_085EAA3D adds r0, r5, 0 bl StringExpandPlaceholders ldr r2, =sub_8127A5C adds r0, r4, 0 adds r1, r5, 0 bl DisplayItemMessageOnField pop {r4,r5} pop {r0} bx r0 .pool thumb_func_end sub_812A478 .align 2, 0 @ Don't pad with nop.