diff options
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | asm/player_pc.s | 3467 | ||||
-rw-r--r-- | asm/rom_81258BC.s | 3458 | ||||
-rw-r--r-- | ld_script.txt | 1 |
4 files changed, 3469 insertions, 3458 deletions
@@ -143,6 +143,7 @@ asm/mystery_event_script.o \ asm/field_effect_helpers.o \ asm/contest_ai.o \ asm/rom_81258BC.o \ +asm/player_pc.o \ asm/rom_813BA94.o \ asm/berry_tag_screen.o \ asm/mystery_event_menu.o \ diff --git a/asm/player_pc.s b/asm/player_pc.s new file mode 100644 index 000000000..6b84e4fc2 --- /dev/null +++ b/asm/player_pc.s @@ -0,0 +1,3467 @@ + .include "constants/gba_constants.s" + .include "constants/species_constants.s" + .include "asm/macros.s" + + .syntax unified + + .text + + thumb_func_start NewGameInitPCItems +NewGameInitPCItems: @ 8139C18 + push {r4-r6,lr} + movs r4, 0 + ldr r0, _08139C6C @ =gSaveBlock1 + 0x498 + movs r1, 0x32 + bl ClearItemSlots + ldr r1, _08139C70 @ =gNewGamePCItems + ldrh r0, [r1] + cmp r0, 0 + beq _08139C64 + ldrh r0, [r1, 0x2] + cmp r0, 0 + beq _08139C64 + adds r5, r1, 0 + adds r6, r5, 0x2 +_08139C36: + lsls r1, r4, 2 + adds r0, r1, r5 + ldrh r0, [r0] + adds r1, r6 + ldrh r1, [r1] + bl AddPCItem + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08139C64 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, r4, 2 + adds r0, r1, r5 + ldrh r0, [r0] + cmp r0, 0 + beq _08139C64 + adds r0, r1, r6 + ldrh r0, [r0] + cmp r0, 0 + bne _08139C36 +_08139C64: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08139C6C: .4byte gSaveBlock1 + 0x498 +_08139C70: .4byte gNewGamePCItems + thumb_func_end NewGameInitPCItems + + thumb_func_start sub_8139C74 +sub_8139C74: @ 8139C74 + push {lr} + ldr r1, _08139C9C @ =gUnknown_02039314 + ldr r0, _08139CA0 @ =gUnknown_084062B8 + str r0, [r1] + ldr r1, _08139CA4 @ =gUnknown_030007B4 + movs r0, 0x4 + strb r0, [r1] + ldr r0, _08139CA8 @ =TaskDummy + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r1, _08139CAC @ =gOtherText_WhatWillYouDo + ldr r2, _08139CB0 @ =sub_8139CF4 + movs r3, 0 + bl DisplayItemMessageOnField + pop {r0} + bx r0 + .align 2, 0 +_08139C9C: .4byte gUnknown_02039314 +_08139CA0: .4byte gUnknown_084062B8 +_08139CA4: .4byte gUnknown_030007B4 +_08139CA8: .4byte TaskDummy +_08139CAC: .4byte gOtherText_WhatWillYouDo +_08139CB0: .4byte sub_8139CF4 + thumb_func_end sub_8139C74 + + thumb_func_start sub_8139CB4 +sub_8139CB4: @ 8139CB4 + push {lr} + ldr r1, _08139CDC @ =gUnknown_02039314 + ldr r0, _08139CE0 @ =gUnknown_084062BC + str r0, [r1] + ldr r1, _08139CE4 @ =gUnknown_030007B4 + movs r0, 0x3 + strb r0, [r1] + ldr r0, _08139CE8 @ =TaskDummy + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r1, _08139CEC @ =gOtherText_WhatWillYouDo + ldr r2, _08139CF0 @ =sub_8139CF4 + movs r3, 0 + bl DisplayItemMessageOnField + pop {r0} + bx r0 + .align 2, 0 +_08139CDC: .4byte gUnknown_02039314 +_08139CE0: .4byte gUnknown_084062BC +_08139CE4: .4byte gUnknown_030007B4 +_08139CE8: .4byte TaskDummy +_08139CEC: .4byte gOtherText_WhatWillYouDo +_08139CF0: .4byte sub_8139CF4 + thumb_func_end sub_8139CB4 + + thumb_func_start sub_8139CF4 +sub_8139CF4: @ 8139CF4 + push {r4,r5,lr} + sub sp, 0x8 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _08139D50 @ =gUnknown_030007B4 + ldrb r3, [r5] + lsls r3, 1 + adds r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + movs r0, 0 + movs r1, 0 + movs r2, 0xA + bl MenuDrawTextWindow + ldrb r2, [r5] + ldr r3, _08139D54 @ =gUnknown_08406298 + ldr r0, _08139D58 @ =gUnknown_02039314 + ldr r0, [r0] + str r0, [sp] + movs r0, 0x1 + movs r1, 0x1 + bl PrintMenuItemsReordered + ldrb r3, [r5] + movs r0, 0 + str r0, [sp] + movs r0, 0x9 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl InitMenu + ldr r1, _08139D5C @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _08139D60 @ =sub_8139D64 + str r1, [r0] + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08139D50: .4byte gUnknown_030007B4 +_08139D54: .4byte gUnknown_08406298 +_08139D58: .4byte gUnknown_02039314 +_08139D5C: .4byte gTasks +_08139D60: .4byte sub_8139D64 + thumb_func_end sub_8139CF4 + + thumb_func_start sub_8139D64 +sub_8139D64: @ 8139D64 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r4, r5, 0 + ldr r2, _08139D88 @ =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _08139D8C + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + negs r0, r0 + bl MoveMenuCursor + b _08139E10 + .align 2, 0 +_08139D88: .4byte gMain +_08139D8C: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08139DA2 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + bl MoveMenuCursor + b _08139E10 +_08139DA2: + ldrh r1, [r2, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08139DE0 + bl sub_8072DEC + movs r0, 0x5 + bl PlaySE + ldr r4, _08139DD8 @ =gUnknown_08406298 + bl GetMenuCursorPos + lsls r0, 24 + lsrs r0, 24 + ldr r1, _08139DDC @ =gUnknown_02039314 + ldr r1, [r1] + adds r1, r0 + ldrb r0, [r1] + lsls r0, 3 + adds r4, 0x4 + adds r0, r4 + ldr r1, [r0] + adds r0, r5, 0 + bl _call_via_r1 + b _08139E10 + .align 2, 0 +_08139DD8: .4byte gUnknown_08406298 +_08139DDC: .4byte gUnknown_02039314 +_08139DE0: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08139E10 + bl sub_8072DEC + movs r0, 0x5 + bl PlaySE + ldr r2, _08139E18 @ =gUnknown_08406298 + ldr r0, _08139E1C @ =gUnknown_030007B4 + ldrb r0, [r0] + ldr r1, _08139E20 @ =gUnknown_02039314 + ldr r1, [r1] + adds r0, r1 + subs r0, 0x1 + ldrb r0, [r0] + lsls r0, 3 + adds r2, 0x4 + adds r0, r2 + ldr r1, [r0] + adds r0, r4, 0 + bl _call_via_r1 +_08139E10: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08139E18: .4byte gUnknown_08406298 +_08139E1C: .4byte gUnknown_030007B4 +_08139E20: .4byte gUnknown_02039314 + thumb_func_end sub_8139D64 + + thumb_func_start sub_8139E24 +sub_8139E24: @ 8139E24 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _08139E38 @ =gOtherText_WhatWillYouDo + ldr r2, _08139E3C @ =sub_8139CF4 + movs r3, 0 + bl DisplayItemMessageOnField + pop {r0} + bx r0 + .align 2, 0 +_08139E38: .4byte gOtherText_WhatWillYouDo +_08139E3C: .4byte sub_8139CF4 + thumb_func_end sub_8139E24 + + thumb_func_start sub_8139E40 +sub_8139E40: @ 8139E40 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + bl sub_8139F58 + ldr r1, _08139E64 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _08139E68 @ =sub_8139FD4 + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08139E64: .4byte gTasks +_08139E68: .4byte sub_8139FD4 + thumb_func_end sub_8139E40 + + thumb_func_start sub_8139E6C +sub_8139E6C: @ 8139E6C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0 + movs r1, 0 + movs r2, 0xA + movs r3, 0x9 + bl MenuZeroFillWindowRect + bl sub_813AF3C + ldr r1, _08139E9C @ =0x0201fe00 + movs r2, 0 + strb r0, [r1, 0x3] + lsls r0, 24 + cmp r0, 0 + bne _08139EA8 + ldr r1, _08139EA0 @ =gOtherText_NoMailHere + ldr r2, _08139EA4 @ =sub_8139E24 + adds r0, r4, 0 + movs r3, 0 + bl DisplayItemMessageOnField + b _08139ECA + .align 2, 0 +_08139E9C: .4byte 0x0201fe00 +_08139EA0: .4byte gOtherText_NoMailHere +_08139EA4: .4byte sub_8139E24 +_08139EA8: + strb r2, [r1] + strb r2, [r1, 0x2] + bl sub_813AF78 + adds r0, r4, 0 + bl sub_813A240 + adds r0, r4, 0 + bl sub_813B108 + ldr r0, _08139ED0 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _08139ED4 @ =sub_813B174 + str r0, [r1] +_08139ECA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08139ED0: .4byte gTasks +_08139ED4: .4byte sub_813B174 + thumb_func_end sub_8139E6C + + thumb_func_start sub_8139ED8 +sub_8139ED8: @ 8139ED8 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + movs r1, 0 + movs r2, 0xA + movs r3, 0x9 + bl MenuZeroFillWindowRect + adds r0, r4, 0 + bl sub_80FE28C + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8139ED8 + + thumb_func_start sub_8139EF8 +sub_8139EF8: @ 8139EF8 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08139F24 @ =gUnknown_030007B4 + ldrb r0, [r0] + cmp r0, 0x4 + bne _08139F3C + movs r0, 0 + movs r1, 0 + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + ldr r0, _08139F28 @ =gSaveBlock2 + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _08139F30 + ldr r0, _08139F2C @ =gUnknown_08152850 + bl ScriptContext1_SetupScript + b _08139F4C + .align 2, 0 +_08139F24: .4byte gUnknown_030007B4 +_08139F28: .4byte gSaveBlock2 +_08139F2C: .4byte gUnknown_08152850 +_08139F30: + ldr r0, _08139F38 @ =gUnknown_08152C75 + bl ScriptContext1_SetupScript + b _08139F4C + .align 2, 0 +_08139F38: .4byte gUnknown_08152C75 +_08139F3C: + movs r0, 0 + movs r1, 0 + movs r2, 0xA + movs r3, 0x9 + bl MenuZeroFillWindowRect + bl EnableBothScriptContexts +_08139F4C: + adds r0, r4, 0 + bl DestroyTask + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8139EF8 + + thumb_func_start sub_8139F58 +sub_8139F58: @ 8139F58 + push {r4,lr} + sub sp, 0x8 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + movs r1, 0 + movs r2, 0xA + movs r3, 0x9 + bl MenuZeroFillWindowRect + movs r0, 0 + movs r1, 0 + movs r2, 0xB + movs r3, 0x9 + bl MenuDrawTextWindow + ldr r3, _08139FAC @ =gUnknown_084062C0 + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0x4 + bl PrintMenuItems + str r4, [sp] + movs r0, 0xA + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + movs r3, 0x4 + bl InitMenu + ldr r0, _08139FB0 @ =gUnknown_08406288 + lsls r4, 2 + adds r4, r0 + ldr r0, [r4] + bl sub_8139FB4 + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08139FAC: .4byte gUnknown_084062C0 +_08139FB0: .4byte gUnknown_08406288 + thumb_func_end sub_8139F58 + + thumb_func_start sub_8139FB4 +sub_8139FB4: @ 8139FB4 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x2 + movs r1, 0xF + movs r2, 0x1B + movs r3, 0x12 + bl MenuFillWindowRectWithBlankTile + adds r0, r4, 0 + movs r1, 0x2 + movs r2, 0xF + bl MenuPrint + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8139FB4 + + thumb_func_start sub_8139FD4 +sub_8139FD4: @ 8139FD4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r4, r5, 0 + ldr r2, _08139FF4 @ =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _08139FF8 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + negs r0, r0 + b _0813A008 + .align 2, 0 +_08139FF4: .4byte gMain +_08139FF8: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _0813A024 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 +_0813A008: + bl MoveMenuCursor + ldr r4, _0813A020 @ =gUnknown_08406288 + bl GetMenuCursorPos + lsls r0, 24 + lsrs r0, 22 + adds r0, r4 + ldr r0, [r0] + bl sub_8139FB4 + b _0813A06C + .align 2, 0 +_0813A020: .4byte gUnknown_08406288 +_0813A024: + ldrh r1, [r2, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0813A050 + movs r0, 0x5 + bl PlaySE + ldr r4, _0813A04C @ =gUnknown_084062C0 + bl GetMenuCursorPos + lsls r0, 24 + lsrs r0, 21 + adds r4, 0x4 + adds r0, r4 + ldr r1, [r0] + adds r0, r5, 0 + bl _call_via_r1 + b _0813A06C + .align 2, 0 +_0813A04C: .4byte gUnknown_084062C0 +_0813A050: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0813A06C + bl sub_8072DEC + movs r0, 0x5 + bl PlaySE + ldr r0, _0813A074 @ =gUnknown_084062C0 + ldr r1, [r0, 0x1C] + adds r0, r4, 0 + bl _call_via_r1 +_0813A06C: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0813A074: .4byte gUnknown_084062C0 + thumb_func_end sub_8139FD4 + + thumb_func_start sub_813A078 +sub_813A078: @ 813A078 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0813A09C @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0813A094 + bl sub_80A6A30 + adds r0, r4, 0 + bl DestroyTask +_0813A094: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813A09C: .4byte gPaletteFade + thumb_func_end sub_813A078 + + thumb_func_start sub_813A0A0 +sub_813A0A0: @ 813A0A0 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0813A0C0 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, _0813A0C4 @ =sub_813A078 + str r0, [r1] + movs r0, 0x1 + movs r1, 0 + bl fade_screen + pop {r0} + bx r0 + .align 2, 0 +_0813A0C0: .4byte gTasks +_0813A0C4: .4byte sub_813A078 + thumb_func_end sub_813A0A0 + + thumb_func_start sub_813A0C8 +sub_813A0C8: @ 813A0C8 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_807D770 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0813A0E8 + ldr r0, _0813A0F0 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0813A0F4 @ =sub_8139FD4 + str r0, [r1] +_0813A0E8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813A0F0: .4byte gTasks +_0813A0F4: .4byte sub_8139FD4 + thumb_func_end sub_813A0C8 + + thumb_func_start sub_813A0F8 +sub_813A0F8: @ 813A0F8 + push {lr} + bl MenuDisplayMessageBox + movs r0, 0x1 + bl sub_8139F58 + ldr r0, _0813A114 @ =sub_813A0C8 + movs r1, 0 + bl CreateTask + bl pal_fill_black + pop {r0} + bx r0 + .align 2, 0 +_0813A114: .4byte sub_813A0C8 + thumb_func_end sub_813A0F8 + + thumb_func_start sub_813A118 +sub_813A118: @ 813A118 + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r6, r0, 3 + ldr r7, _0813A174 @ =gTasks + 0x8 + adds r4, r6, r7 + bl sub_8072DEC + movs r0, 0 + movs r1, 0 + movs r2, 0xB + movs r3, 0x9 + bl MenuZeroFillWindowRect + bl CountUsedPCItemSlots + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x4] + cmp r0, 0 + beq _0813A17C + movs r0, 0 + movs r1, 0xE + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + movs r0, 0 + strh r0, [r4, 0xC] + strh r0, [r4] + strh r0, [r4, 0x2] + adds r0, r5, 0 + bl sub_813A240 + adds r0, r5, 0 + movs r1, 0 + bl sub_813AE6C + adds r0, r7, 0 + subs r0, 0x8 + adds r0, r6, r0 + ldr r1, _0813A178 @ =sub_813A280 + str r1, [r0] + b _0813A188 + .align 2, 0 +_0813A174: .4byte gTasks + 0x8 +_0813A178: .4byte sub_813A280 +_0813A17C: + ldr r1, _0813A190 @ =gOtherText_NoItems + ldr r2, _0813A194 @ =sub_8139E40 + adds r0, r5, 0 + movs r3, 0 + bl DisplayItemMessageOnField +_0813A188: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813A190: .4byte gOtherText_NoItems +_0813A194: .4byte sub_8139E40 + thumb_func_end sub_813A118 + + thumb_func_start sub_813A198 +sub_813A198: @ 813A198 + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r6, r0, 3 + ldr r7, _0813A1F8 @ =gTasks + 0x8 + adds r4, r6, r7 + bl sub_8072DEC + movs r0, 0 + movs r1, 0 + movs r2, 0xB + movs r3, 0x9 + bl MenuZeroFillWindowRect + bl CountUsedPCItemSlots + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x4] + cmp r0, 0 + beq _0813A200 + movs r0, 0 + movs r1, 0xE + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + movs r0, 0x2 + strh r0, [r4, 0xC] + movs r0, 0 + strh r0, [r4] + strh r0, [r4, 0x2] + adds r0, r5, 0 + bl sub_813A240 + adds r0, r5, 0 + movs r1, 0x2 + bl sub_813AE6C + adds r0, r7, 0 + subs r0, 0x8 + adds r0, r6, r0 + ldr r1, _0813A1FC @ =sub_813A280 + str r1, [r0] + b _0813A20C + .align 2, 0 +_0813A1F8: .4byte gTasks + 0x8 +_0813A1FC: .4byte sub_813A280 +_0813A200: + ldr r1, _0813A214 @ =gOtherText_NoItems + ldr r2, _0813A218 @ =sub_8139E40 + adds r0, r5, 0 + movs r3, 0 + bl DisplayItemMessageOnField +_0813A20C: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813A214: .4byte gOtherText_NoItems +_0813A218: .4byte sub_8139E40 + thumb_func_end sub_813A198 + + thumb_func_start sub_813A21C +sub_813A21C: @ 813A21C + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_8072DEC + movs r0, 0 + movs r1, 0 + movs r2, 0xB + movs r3, 0x9 + bl MenuZeroFillWindowRect + adds r0, r4, 0 + bl sub_8139E24 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_813A21C + + thumb_func_start sub_813A240 +sub_813A240: @ 813A240 + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0813A260 @ =gTasks + 0x8 + adds r1, r0 + ldrh r2, [r1, 0x4] + movs r3, 0x4 + ldrsh r0, [r1, r3] + cmp r0, 0x7 + ble _0813A264 + movs r0, 0x8 + b _0813A266 + .align 2, 0 +_0813A260: .4byte gTasks + 0x8 +_0813A264: + adds r0, r2, 0x1 +_0813A266: + strh r0, [r1, 0x8] + ldr r1, _0813A274 @ =0x0201fe00 + ldrb r0, [r1, 0x3] + cmp r0, 0x7 + bls _0813A278 + movs r0, 0x8 + b _0813A27A + .align 2, 0 +_0813A274: .4byte 0x0201fe00 +_0813A278: + adds r0, 0x1 +_0813A27A: + strb r0, [r1, 0x1] + pop {r0} + bx r0 + thumb_func_end sub_813A240 + + thumb_func_start sub_813A280 +sub_813A280: @ 813A280 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r6, r5, 0 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _0813A2DC @ =gTasks + 0x8 + adds r4, r0, r1 + ldr r2, _0813A2E0 @ =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0813A306 + movs r1, 0 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _0813A2E4 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + negs r0, r0 + bl MoveMenuCursor + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + ldrh r1, [r4, 0x2] + adds r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r2, 0x12 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _0813A2CC + b _0813A460 +_0813A2CC: + lsls r0, r1, 16 + asrs r1, r0, 16 + movs r2, 0x4 + ldrsh r0, [r4, r2] + cmp r1, r0 + beq _0813A34C + b _0813A358 + .align 2, 0 +_0813A2DC: .4byte gTasks + 0x8 +_0813A2E0: .4byte gMain +_0813A2E4: + movs r1, 0x2 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _0813A2EE + b _0813A460 +_0813A2EE: + movs r0, 0x5 + bl PlaySE + ldrh r0, [r4, 0x2] + subs r0, 0x1 + strh r0, [r4, 0x2] + adds r0, r5, 0 + bl sub_813AE0C + movs r2, 0x12 + ldrsh r0, [r4, r2] + b _0813A394 +_0813A306: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _0813A3A0 + movs r0, 0 + ldrsh r1, [r4, r0] + movs r2, 0x8 + ldrsh r0, [r4, r2] + subs r0, 0x1 + cmp r1, r0 + beq _0813A370 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + bl MoveMenuCursor + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4] + ldrh r1, [r4, 0x2] + adds r1, r0 + lsls r1, 16 + lsrs r1, 16 + movs r2, 0x12 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _0813A340 + b _0813A460 +_0813A340: + lsls r0, r1, 16 + asrs r1, r0, 16 + movs r2, 0x4 + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _0813A358 +_0813A34C: + ldr r0, _0813A354 @ =0x0000ffff + bl sub_813AD58 + b _0813A460 + .align 2, 0 +_0813A354: .4byte 0x0000ffff +_0813A358: + ldr r0, _0813A36C @ =gSaveBlock1 + lsls r1, 2 + adds r1, r0 + movs r0, 0x93 + lsls r0, 3 + adds r1, r0 + ldrh r0, [r1] + bl sub_813AD58 + b _0813A460 + .align 2, 0 +_0813A36C: .4byte gSaveBlock1 +_0813A370: + movs r2, 0x2 + ldrsh r0, [r4, r2] + adds r0, r1 + movs r2, 0x4 + ldrsh r1, [r4, r2] + cmp r0, r1 + beq _0813A460 + movs r0, 0x5 + bl PlaySE + ldrh r0, [r4, 0x2] + adds r0, 0x1 + strh r0, [r4, 0x2] + adds r0, r5, 0 + bl sub_813AE0C + movs r1, 0x12 + ldrsh r0, [r4, r1] +_0813A394: + cmp r0, 0 + beq _0813A460 + movs r0, 0 + bl MoveMenuCursor + b _0813A460 +_0813A3A0: + ldrh r1, [r2, 0x2E] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _0813A3F0 + movs r2, 0x12 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _0813A3E8 + movs r1, 0 + ldrsh r0, [r4, r1] + movs r2, 0x2 + ldrsh r1, [r4, r2] + adds r0, r1 + movs r2, 0x4 + ldrsh r1, [r4, r2] + cmp r0, r1 + beq _0813A3DC + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + strh r0, [r4, 0x12] + ldrh r0, [r4] + ldrh r1, [r4, 0x2] + adds r0, r1 + strh r0, [r4, 0x10] + ldr r0, _0813A3E4 @ =0x0000fff7 + bl sub_813AD58 +_0813A3DC: + adds r0, r5, 0 + bl sub_813ABE8 + b _0813A460 + .align 2, 0 +_0813A3E4: .4byte 0x0000fff7 +_0813A3E8: + movs r0, 0x5 + bl PlaySE + b _0813A420 +_0813A3F0: + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0813A430 + movs r0, 0x5 + bl PlaySE + movs r2, 0x12 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _0813A420 + movs r1, 0x2 + ldrsh r0, [r4, r1] + movs r2, 0 + ldrsh r1, [r4, r2] + adds r0, r1 + movs r2, 0x4 + ldrsh r1, [r4, r2] + cmp r0, r1 + beq _0813A44A + adds r0, r5, 0 + bl sub_813A4B4 + b _0813A460 +_0813A420: + adds r0, r5, 0 + movs r1, 0 + bl sub_813AA30 + adds r0, r5, 0 + bl sub_813AE0C + b _0813A460 +_0813A430: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0813A460 + movs r0, 0x5 + bl PlaySE + movs r1, 0x12 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _0813A452 + bl sub_8072DEC +_0813A44A: + adds r0, r5, 0 + bl sub_813A468 + b _0813A460 +_0813A452: + adds r0, r6, 0 + movs r1, 0x1 + bl sub_813AA30 + adds r0, r6, 0 + bl sub_813AE0C +_0813A460: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_813A280 + + thumb_func_start sub_813A468 +sub_813A468: @ 813A468 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + bl BuyMenuFreeMemory + movs r0, 0 + bl DestroyVerticalScrollIndicator + movs r0, 0x1 + bl DestroyVerticalScrollIndicator + movs r0, 0 + movs r1, 0 + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + bl MenuDisplayMessageBox + ldr r0, _0813A4AC @ =gTasks + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + adds r4, r0 + ldrb r0, [r4, 0x14] + bl sub_8139F58 + ldr r0, _0813A4B0 @ =sub_8139FD4 + str r0, [r4] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0813A4AC: .4byte gTasks +_0813A4B0: .4byte sub_8139FD4 + thumb_func_end sub_813A468 + + thumb_func_start sub_813A4B4 +sub_813A4B4: @ 813A4B4 + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _0813A500 @ =gTasks + 0x8 + adds r4, r0, r1 + ldrb r0, [r4, 0x2] + ldrb r1, [r4] + adds r0, r1 + lsls r0, 24 + lsrs r5, r0, 24 + movs r0, 0 + bl sub_80F996C + movs r0, 0x1 + bl sub_80F996C + movs r1, 0xC + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _0813A518 + ldr r1, _0813A504 @ =gSaveBlock1 + lsls r0, r5, 2 + adds r0, r1 + ldr r1, _0813A508 @ =0x0000049a + adds r0, r1 + ldrh r0, [r0] + cmp r0, 0x1 + bne _0813A50C + strh r0, [r4, 0x6] + adds r0, r6, 0 + bl sub_813A6FC + b _0813A570 + .align 2, 0 +_0813A500: .4byte gTasks + 0x8 +_0813A504: .4byte gSaveBlock1 +_0813A508: .4byte 0x0000049a +_0813A50C: + ldr r0, _0813A514 @ =0x0000fffe + bl sub_813AD58 + b _0813A542 + .align 2, 0 +_0813A514: .4byte 0x0000fffe +_0813A518: + ldr r1, _0813A534 @ =gSaveBlock1 + lsls r0, r5, 2 + adds r0, r1 + ldr r1, _0813A538 @ =0x0000049a + adds r0, r1 + ldrh r0, [r0] + cmp r0, 0x1 + bne _0813A53C + strh r0, [r4, 0x6] + adds r0, r6, 0 + bl sub_813A794 + b _0813A570 + .align 2, 0 +_0813A534: .4byte gSaveBlock1 +_0813A538: .4byte 0x0000049a +_0813A53C: + ldr r0, _0813A578 @ =0x0000fffc + bl sub_813AD58 +_0813A542: + movs r0, 0x1 + strh r0, [r4, 0x6] + movs r0, 0x6 + movs r1, 0x8 + movs r2, 0xD + movs r3, 0xB + bl MenuDrawTextWindow + ldrh r0, [r4, 0x6] + movs r1, 0x3 + str r1, [sp] + movs r1, 0x1 + movs r2, 0x8 + movs r3, 0x9 + bl sub_80A418C + ldr r1, _0813A57C @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, _0813A580 @ =sub_813A584 + str r1, [r0] +_0813A570: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813A578: .4byte 0x0000fffc +_0813A57C: .4byte gTasks +_0813A580: .4byte sub_813A584 + thumb_func_end sub_813A4B4 + + thumb_func_start sub_813A584 +sub_813A584: @ 813A584 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r7, r0, 3 + ldr r0, _0813A5D0 @ =gTasks + 0x8 + mov r8, r0 + adds r4, r7, r0 + ldrb r0, [r4, 0x2] + ldrb r1, [r4] + adds r0, r1 + lsls r0, 24 + lsrs r3, r0, 24 + adds r6, r3, 0 + ldr r2, _0813A5D4 @ =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0813A5E4 + movs r0, 0x6 + ldrsh r2, [r4, r0] + ldr r1, _0813A5D8 @ =gSaveBlock1 + lsls r0, r3, 2 + adds r0, r1 + ldr r1, _0813A5DC @ =0x0000049a + adds r0, r1 + ldrh r0, [r0] + cmp r2, r0 + beq _0813A5E0 + ldrh r0, [r4, 0x6] + adds r0, 0x1 + b _0813A64A + .align 2, 0 +_0813A5D0: .4byte gTasks + 0x8 +_0813A5D4: .4byte gMain +_0813A5D8: .4byte gSaveBlock1 +_0813A5DC: .4byte 0x0000049a +_0813A5E0: + movs r0, 0x1 + b _0813A64A +_0813A5E4: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _0813A610 + ldrh r1, [r4, 0x6] + movs r2, 0x6 + ldrsh r0, [r4, r2] + cmp r0, 0x1 + beq _0813A5FA + subs r0, r1, 0x1 + b _0813A64A +_0813A5FA: + ldr r0, _0813A608 @ =gSaveBlock1 + lsls r1, r3, 2 + adds r1, r0 + ldr r3, _0813A60C @ =0x0000049a + adds r1, r3 + ldrh r0, [r1] + b _0813A64A + .align 2, 0 +_0813A608: .4byte gSaveBlock1 +_0813A60C: .4byte 0x0000049a +_0813A610: + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _0813A628 + ldrh r0, [r4, 0x6] + subs r0, 0xA + strh r0, [r4, 0x6] + lsls r0, 16 + cmp r0, 0 + bgt _0813A64C + movs r0, 0x1 + b _0813A64A +_0813A628: + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _0813A668 + ldrh r0, [r4, 0x6] + adds r0, 0xA + strh r0, [r4, 0x6] + movs r0, 0x6 + ldrsh r2, [r4, r0] + ldr r1, _0813A660 @ =gSaveBlock1 + lsls r0, r6, 2 + adds r0, r1 + ldr r1, _0813A664 @ =0x0000049a + adds r0, r1 + ldrh r0, [r0] + cmp r2, r0 + ble _0813A64C +_0813A64A: + strh r0, [r4, 0x6] +_0813A64C: + ldrh r0, [r4, 0x6] + movs r1, 0x3 + str r1, [sp] + movs r1, 0x1 + movs r2, 0x8 + movs r3, 0x9 + bl sub_80A418C + b _0813A6E8 + .align 2, 0 +_0813A660: .4byte gSaveBlock1 +_0813A664: .4byte 0x0000049a +_0813A668: + ldrh r1, [r2, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0813A69C + movs r0, 0x5 + bl PlaySE + movs r0, 0x6 + movs r1, 0x6 + movs r2, 0xD + movs r3, 0xB + bl MenuZeroFillWindowRect + movs r2, 0xC + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _0813A694 + adds r0, r5, 0 + bl sub_813A6FC + b _0813A6E8 +_0813A694: + adds r0, r5, 0 + bl sub_813A794 + b _0813A6E8 +_0813A69C: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0813A6E8 + movs r0, 0x5 + bl PlaySE + movs r0, 0x6 + movs r1, 0x6 + movs r2, 0xD + movs r3, 0xB + bl MenuZeroFillWindowRect + movs r0, 0 + bl sub_80F98DC + movs r0, 0x1 + bl sub_80F98DC + ldr r2, _0813A6F4 @ =gSaveBlock1 + movs r3, 0x2 + ldrsh r0, [r4, r3] + movs r3, 0 + ldrsh r1, [r4, r3] + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x93 + lsls r1, 3 + adds r0, r1 + ldrh r0, [r0] + bl sub_813AD58 + mov r0, r8 + subs r0, 0x8 + adds r0, r7, r0 + ldr r1, _0813A6F8 @ =sub_813A280 + str r1, [r0] +_0813A6E8: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813A6F4: .4byte gSaveBlock1 +_0813A6F8: .4byte sub_813A280 + thumb_func_end sub_813A584 + + thumb_func_start sub_813A6FC +sub_813A6FC: @ 813A6FC + push {r4-r7,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r6, r1, 3 + ldr r7, _0813A758 @ =gTasks + 0x8 + adds r4, r6, r7 + ldrb r0, [r4, 0x2] + ldrb r1, [r4] + adds r0, r1 + lsls r0, 24 + ldr r1, _0813A75C @ =gSaveBlock1 + lsrs r0, 22 + adds r0, r1 + movs r2, 0x93 + lsls r2, 3 + adds r5, r0, r2 + ldrh r0, [r5] + ldrh r1, [r4, 0x6] + bl AddBagItem + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0813A770 + ldrh r0, [r5] + ldr r1, _0813A760 @ =gStringVar1 + bl CopyItemName + ldr r0, _0813A764 @ =gStringVar2 + movs r2, 0x6 + ldrsh r1, [r4, r2] + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + ldr r0, _0813A768 @ =0x0000fffd + bl sub_813AD58 + adds r0, r7, 0 + subs r0, 0x8 + adds r0, r6, r0 + ldr r1, _0813A76C @ =sub_813A8F0 + b _0813A782 + .align 2, 0 +_0813A758: .4byte gTasks + 0x8 +_0813A75C: .4byte gSaveBlock1 +_0813A760: .4byte gStringVar1 +_0813A764: .4byte gStringVar2 +_0813A768: .4byte 0x0000fffd +_0813A76C: .4byte sub_813A8F0 +_0813A770: + movs r0, 0 + strh r0, [r4, 0x6] + ldr r0, _0813A78C @ =0x0000fffa + bl sub_813AD58 + adds r0, r7, 0 + subs r0, 0x8 + adds r0, r6, r0 + ldr r1, _0813A790 @ =sub_813A984 +_0813A782: + str r1, [r0] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813A78C: .4byte 0x0000fffa +_0813A790: .4byte sub_813A984 + thumb_func_end sub_813A6FC + + thumb_func_start sub_813A794 +sub_813A794: @ 813A794 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r7, r0, 3 + ldr r0, _0813A7FC @ =gTasks + 0x8 + mov r8, r0 + adds r4, r7, r0 + ldrb r0, [r4, 0x2] + ldrb r1, [r4] + adds r0, r1 + lsls r0, 24 + ldr r1, _0813A800 @ =gSaveBlock1 + lsrs r0, 22 + adds r0, r1 + movs r2, 0x93 + lsls r2, 3 + adds r5, r0, r2 + ldrh r0, [r5] + bl ItemId_GetImportance + lsls r0, 24 + cmp r0, 0 + bne _0813A814 + ldrh r0, [r5] + ldr r1, _0813A804 @ =gStringVar1 + bl CopyItemName + ldr r0, _0813A808 @ =gStringVar2 + movs r2, 0x6 + ldrsh r1, [r4, r2] + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + ldr r0, _0813A80C @ =0x0000fff8 + bl sub_813AD58 + movs r0, 0x7 + movs r1, 0x6 + movs r2, 0x1 + bl DisplayYesNoMenu + ldr r1, _0813A810 @ =gUnknown_084062E0 + adds r0, r6, 0 + bl sub_80F914C + b _0813A828 + .align 2, 0 +_0813A7FC: .4byte gTasks + 0x8 +_0813A800: .4byte gSaveBlock1 +_0813A804: .4byte gStringVar1 +_0813A808: .4byte gStringVar2 +_0813A80C: .4byte 0x0000fff8 +_0813A810: .4byte gUnknown_084062E0 +_0813A814: + movs r0, 0 + strh r0, [r4, 0x6] + ldr r0, _0813A834 @ =0x0000fff9 + bl sub_813AD58 + mov r0, r8 + subs r0, 0x8 + adds r0, r7, r0 + ldr r1, _0813A838 @ =sub_813A8F0 + str r1, [r0] +_0813A828: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813A834: .4byte 0x0000fff9 +_0813A838: .4byte sub_813A8F0 + thumb_func_end sub_813A794 + + thumb_func_start sub_813A83C +sub_813A83C: @ 813A83C + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x6 + movs r1, 0x6 + movs r2, 0xD + movs r3, 0xB + bl MenuZeroFillWindowRect + ldr r0, _0813A86C @ =0x0000fffb + bl sub_813AD58 + ldr r1, _0813A870 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0813A874 @ =sub_813A8F0 + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813A86C: .4byte 0x0000fffb +_0813A870: .4byte gTasks +_0813A874: .4byte sub_813A8F0 + thumb_func_end sub_813A83C + + thumb_func_start sub_813A878 +sub_813A878: @ 813A878 + push {r4-r6,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 2 + adds r4, r0 + lsls r4, 3 + ldr r6, _0813A8E4 @ =gTasks + 0x8 + adds r5, r4, r6 + movs r0, 0x6 + movs r1, 0x6 + movs r2, 0xD + movs r3, 0xB + bl MenuZeroFillWindowRect + ldrb r3, [r5, 0x8] + ldrb r0, [r5] + str r0, [sp] + movs r0, 0xD + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x10 + movs r2, 0x2 + bl InitMenu + movs r0, 0 + bl sub_80F98DC + movs r0, 0x1 + bl sub_80F98DC + ldr r2, _0813A8E8 @ =gSaveBlock1 + movs r1, 0x2 + ldrsh r0, [r5, r1] + movs r3, 0 + ldrsh r1, [r5, r3] + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x93 + lsls r1, 3 + adds r0, r1 + ldrh r0, [r0] + bl sub_813AD58 + subs r6, 0x8 + adds r4, r6 + ldr r0, _0813A8EC @ =sub_813A280 + str r0, [r4] + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813A8E4: .4byte gTasks + 0x8 +_0813A8E8: .4byte gSaveBlock1 +_0813A8EC: .4byte sub_813A280 + thumb_func_end sub_813A878 + + thumb_func_start sub_813A8F0 +sub_813A8F0: @ 813A8F0 + push {r4-r6,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r6, r0, 24 + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + ldr r1, _0813A97C @ =gTasks + 0x8 + adds r5, r0, r1 + ldr r0, _0813A980 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0813A912 + cmp r1, 0x2 + bne _0813A972 +_0813A912: + ldrb r0, [r5, 0x2] + ldrb r1, [r5] + adds r0, r1 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r5, 0x6] + bl RemovePCItem + ldrh r4, [r5, 0x4] + bl CountUsedPCItemSlots + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0x4] + lsls r4, 16 + asrs r4, 16 + cmp r4, r0 + beq _0813A952 + movs r2, 0x8 + ldrsh r0, [r5, r2] + movs r2, 0x2 + ldrsh r1, [r5, r2] + adds r0, r1 + cmp r4, r0 + bge _0813A952 + ldrh r1, [r5, 0x2] + movs r2, 0x2 + ldrsh r0, [r5, r2] + cmp r0, 0 + beq _0813A952 + subs r0, r1, 0x1 + strh r0, [r5, 0x2] +_0813A952: + adds r0, r6, 0 + bl sub_813A240 + adds r0, r6, 0 + bl sub_813A9EC + ldrb r3, [r5, 0x8] + ldrb r0, [r5] + str r0, [sp] + movs r0, 0xD + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x10 + movs r2, 0x2 + bl InitMenu +_0813A972: + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813A97C: .4byte gTasks + 0x8 +_0813A980: .4byte gMain + thumb_func_end sub_813A8F0 + + thumb_func_start sub_813A984 +sub_813A984: @ 813A984 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r4, r1, 3 + ldr r5, _0813A9DC @ =gTasks + 0x8 + adds r3, r4, r5 + ldr r0, _0813A9E0 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0813A9A4 + cmp r1, 0x2 + bne _0813A9D6 +_0813A9A4: + ldr r2, _0813A9E4 @ =gSaveBlock1 + movs r1, 0x2 + ldrsh r0, [r3, r1] + movs r6, 0 + ldrsh r1, [r3, r6] + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x93 + lsls r1, 3 + adds r0, r1 + ldrh r0, [r0] + bl sub_813AD58 + movs r0, 0 + bl sub_80F98DC + movs r0, 0x1 + bl sub_80F98DC + adds r0, r5, 0 + subs r0, 0x8 + adds r0, r4, r0 + ldr r1, _0813A9E8 @ =sub_813A280 + str r1, [r0] +_0813A9D6: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813A9DC: .4byte gTasks + 0x8 +_0813A9E0: .4byte gMain +_0813A9E4: .4byte gSaveBlock1 +_0813A9E8: .4byte sub_813A280 + thumb_func_end sub_813A984 + + thumb_func_start sub_813A9EC +sub_813A9EC: @ 813A9EC + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x6 + movs r1, 0x6 + movs r2, 0xD + movs r3, 0xB + bl MenuZeroFillWindowRect + movs r0, 0 + bl sub_80F98DC + movs r0, 0x1 + bl sub_80F98DC + adds r0, r4, 0 + bl sub_813AE0C + ldr r1, _0813AA28 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0813AA2C @ =sub_813A280 + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813AA28: .4byte gTasks +_0813AA2C: .4byte sub_813A280 + thumb_func_end sub_813A9EC + + thumb_func_start sub_813AA30 +sub_813AA30: @ 813AA30 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r2, r1, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0813AA80 @ =gTasks + 0x8 + adds r4, r1, r0 + ldrb r0, [r4] + ldrb r1, [r4, 0x2] + adds r0, r1 + lsls r0, 24 + lsrs r5, r0, 24 + movs r0, 0 + strh r0, [r4, 0x12] + ldrb r0, [r4, 0x4] + cmp r0, r5 + bls _0813AA88 + ldrb r0, [r4, 0x10] + cmp r0, r5 + beq _0813AA88 + cmp r2, 0 + bne _0813AA88 + ldr r1, _0813AA84 @ =gSaveBlock1 + movs r0, 0x10 + ldrsh r2, [r4, r0] + lsls r2, 2 + movs r0, 0x93 + lsls r0, 3 + adds r1, r0 + adds r2, r1 + ldr r3, [r2] + lsls r0, r5, 2 + adds r0, r1 + ldr r1, [r0] + str r1, [r2] + str r3, [r0] + b _0813AAB8 + .align 2, 0 +_0813AA80: .4byte gTasks + 0x8 +_0813AA84: .4byte gSaveBlock1 +_0813AA88: + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r5, r0 + bne _0813AA9C + ldr r0, _0813AA98 @ =0x0000ffff + bl sub_813AD58 + b _0813AAAE + .align 2, 0 +_0813AA98: .4byte 0x0000ffff +_0813AA9C: + ldr r0, _0813AAC0 @ =gSaveBlock1 + lsls r1, r5, 2 + adds r1, r0 + movs r2, 0x93 + lsls r2, 3 + adds r1, r2 + ldrh r0, [r1] + bl sub_813AD58 +_0813AAAE: + movs r0, 0x10 + ldrsh r1, [r4, r0] + movs r2, 0x2 + ldrsh r0, [r4, r2] + subs r0, r1, r0 +_0813AAB8: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0813AAC0: .4byte gSaveBlock1 + thumb_func_end sub_813AA30 + + thumb_func_start sub_813AAC4 +sub_813AAC4: @ 813AAC4 + push {r4-r7,lr} + adds r4, r0, 0 + adds r5, r1, 0 + ldr r6, [sp, 0x14] + lsls r4, 16 + lsrs r4, 16 + lsls r2, 24 + lsrs r7, r2, 24 + lsls r3, 24 + lsrs r3, 24 + ldr r0, _0813AAF4 @ =gStringVar1 + adds r1, r4, 0 + adds r2, r5, 0 + bl sub_80A4164 + cmp r6, 0 + beq _0813AAFC + ldr r0, _0813AAF8 @ =gUnknown_0840632A + movs r1, 0x1A + adds r2, r7, 0 + bl MenuPrint + b _0813AB06 + .align 2, 0 +_0813AAF4: .4byte gStringVar1 +_0813AAF8: .4byte gUnknown_0840632A +_0813AAFC: + ldr r0, _0813AB0C @ =gUnknown_08406327 + movs r1, 0x1A + adds r2, r7, 0 + bl MenuPrint +_0813AB06: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813AB0C: .4byte gUnknown_08406327 + thumb_func_end sub_813AAC4 + + thumb_func_start sub_813AB10 +sub_813AB10: @ 813AB10 + push {lr} + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + ldr r0, _0813AB24 @ =gUnknown_08406330 + movs r1, 0x19 + bl MenuPrint + pop {r0} + bx r0 + .align 2, 0 +_0813AB24: .4byte gUnknown_08406330 + thumb_func_end sub_813AB10 + + thumb_func_start sub_813AB28 +sub_813AB28: @ 813AB28 + push {r4,r5,lr} + adds r4, r2, 0 + lsls r1, 24 + lsrs r5, r1, 24 + ldrh r0, [r0] + ldr r1, _0813AB48 @ =gStringVar1 + bl CopyItemName + cmp r4, 0 + beq _0813AB50 + ldr r0, _0813AB4C @ =gUnknown_0840631E + movs r1, 0x10 + adds r2, r5, 0 + bl MenuPrint + b _0813AB5A + .align 2, 0 +_0813AB48: .4byte gStringVar1 +_0813AB4C: .4byte gUnknown_0840631E +_0813AB50: + ldr r0, _0813AB60 @ =gUnknown_08406318 + movs r1, 0x10 + adds r2, r5, 0 + bl MenuPrint +_0813AB5A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0813AB60: .4byte gUnknown_08406318 + thumb_func_end sub_813AB28 + + thumb_func_start sub_813AB64 +sub_813AB64: @ 813AB64 + push {r4-r6,lr} + sub sp, 0x4 + adds r6, r0, 0 + adds r4, r1, 0 + adds r5, r2, 0 + lsls r4, 24 + lsrs r4, 24 + adds r1, r4, 0 + bl sub_813AB28 + ldrh r0, [r6, 0x2] + str r5, [sp] + movs r1, 0x1 + adds r2, r4, 0 + movs r3, 0x3 + bl sub_813AAC4 + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_813AB64 + + thumb_func_start sub_813AB90 +sub_813AB90: @ 813AB90 + push {r4,lr} + adds r4, r1, 0 + lsls r4, 24 + lsrs r4, 24 + adds r1, r4, 0 + bl sub_813AB28 + adds r0, r4, 0 + bl sub_813AB10 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_813AB90 + + thumb_func_start sub_813ABAC +sub_813ABAC: @ 813ABAC + push {r4-r6,lr} + sub sp, 0x4 + adds r4, r0, 0 + adds r6, r2, 0 + lsls r1, 24 + lsrs r5, r1, 24 + adds r1, r5, 0 + bl sub_813AB28 + ldrh r1, [r4] + movs r0, 0xA9 + lsls r0, 1 + cmp r1, r0 + bhi _0813ABD8 + ldrh r0, [r4, 0x2] + str r6, [sp] + movs r1, 0x1 + adds r2, r5, 0 + movs r3, 0x3 + bl sub_813AAC4 + b _0813ABDE +_0813ABD8: + adds r0, r5, 0 + bl sub_813AB10 +_0813ABDE: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_813ABAC + + thumb_func_start sub_813ABE8 +sub_813ABE8: @ 813ABE8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0813AC0C @ =gTasks + 0x8 + adds r6, r1, r0 + movs r0, 0 + mov r8, r0 + ldrh r5, [r6, 0x2] + movs r2, 0x2 + ldrsh r1, [r6, r2] + b _0813ACC4 + .align 2, 0 +_0813AC0C: .4byte gTasks + 0x8 +_0813AC10: + subs r0, r5, r1 + lsls r0, 17 + lsrs r0, 16 + mov r8, r0 + movs r1, 0x4 + ldrsh r0, [r6, r1] + cmp r5, r0 + beq _0813AD04 + movs r7, 0 + movs r2, 0x12 + ldrsh r0, [r6, r2] + cmp r0, 0 + beq _0813AC34 + movs r1, 0x10 + ldrsh r0, [r6, r1] + cmp r5, r0 + bne _0813AC34 + movs r7, 0x1 +_0813AC34: + ldr r0, _0813AC5C @ =gSaveBlock1 + lsls r4, r5, 2 + adds r0, r4, r0 + movs r2, 0x93 + lsls r2, 3 + adds r0, r2 + ldrh r0, [r0] + bl GetPocketByItemId + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x1 + cmp r0, 0x4 + bhi _0813ACBA + lsls r0, 2 + ldr r1, _0813AC60 @ =_0813AC64 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0813AC5C: .4byte gSaveBlock1 +_0813AC60: .4byte _0813AC64 + .align 2, 0 +_0813AC64: + .4byte _0813AC78 + .4byte _0813AC78 + .4byte _0813ACA8 + .4byte _0813AC78 + .4byte _0813AC90 +_0813AC78: + ldr r0, _0813AC8C @ =gSaveBlock1 + 0x498 + adds r0, r4, r0 + mov r1, r8 + adds r1, 0x2 + lsls r1, 24 + lsrs r1, 24 + adds r2, r7, 0 + bl sub_813AB64 + b _0813ACBA + .align 2, 0 +_0813AC8C: .4byte gSaveBlock1 + 0x498 +_0813AC90: + ldr r0, _0813ACA4 @ =gSaveBlock1 + 0x498 + adds r0, r4, r0 + mov r1, r8 + adds r1, 0x2 + lsls r1, 24 + lsrs r1, 24 + adds r2, r7, 0 + bl sub_813AB90 + b _0813ACBA + .align 2, 0 +_0813ACA4: .4byte gSaveBlock1 + 0x498 +_0813ACA8: + ldr r0, _0813AD00 @ =gSaveBlock1 + 0x498 + adds r0, r4, r0 + mov r1, r8 + adds r1, 0x2 + lsls r1, 24 + lsrs r1, 24 + adds r2, r7, 0 + bl sub_813ABAC +_0813ACBA: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + movs r0, 0x2 + ldrsh r1, [r6, r0] +_0813ACC4: + movs r2, 0x8 + ldrsh r0, [r6, r2] + adds r0, r1, r0 + cmp r5, r0 + blt _0813AC10 +_0813ACCE: + movs r1, 0x2 + ldrsh r0, [r6, r1] + subs r0, r5, r0 + cmp r0, 0x7 + bgt _0813ACEA + mov r1, r8 + adds r1, 0x4 + lsls r1, 24 + lsrs r1, 24 + movs r0, 0x10 + movs r2, 0x1C + movs r3, 0x12 + bl MenuFillWindowRectWithBlankTile +_0813ACEA: + movs r2, 0x2 + ldrsh r0, [r6, r2] + cmp r0, 0 + beq _0813AD20 + movs r0, 0 + movs r1, 0xB8 + movs r2, 0x8 + bl CreateVerticalScrollIndicators + b _0813AD26 + .align 2, 0 +_0813AD00: .4byte gSaveBlock1 + 0x498 +_0813AD04: + ldr r0, _0813AD1C @ =gOtherText_CancelNoTerminator + mov r2, r8 + adds r2, 0x2 + lsls r2, 19 + lsrs r2, 16 + movs r1, 0x1 + str r1, [sp] + movs r1, 0x80 + movs r3, 0x68 + bl sub_8072A18 + b _0813ACCE + .align 2, 0 +_0813AD1C: .4byte gOtherText_CancelNoTerminator +_0813AD20: + movs r0, 0 + bl DestroyVerticalScrollIndicator +_0813AD26: + movs r1, 0x2 + ldrsh r0, [r6, r1] + movs r2, 0x8 + ldrsh r1, [r6, r2] + adds r0, r1 + movs r2, 0x4 + ldrsh r1, [r6, r2] + cmp r0, r1 + bgt _0813AD44 + movs r0, 0x1 + movs r1, 0xB8 + movs r2, 0x98 + bl CreateVerticalScrollIndicators + b _0813AD4A +_0813AD44: + movs r0, 0x1 + bl DestroyVerticalScrollIndicator +_0813AD4A: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_813ABE8 + + thumb_func_start sub_813AD58 +sub_813AD58: @ 813AD58 + push {lr} + sub sp, 0x8 + lsls r0, 16 + lsrs r1, r0, 16 + ldr r2, _0813AD74 @ =0xffff0009 + adds r0, r1, r2 + cmp r0, 0x8 + bhi _0813ADE8 + lsls r0, 2 + ldr r1, _0813AD78 @ =_0813AD7C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0813AD74: .4byte 0xffff0009 +_0813AD78: .4byte _0813AD7C + .align 2, 0 +_0813AD7C: + .4byte _0813ADE0 + .4byte _0813ADD8 + .4byte _0813ADD0 + .4byte _0813ADC8 + .4byte _0813ADC0 + .4byte _0813ADB8 + .4byte _0813ADB0 + .4byte _0813ADA8 + .4byte _0813ADA0 +_0813ADA0: + ldr r1, _0813ADA4 @ =gMenuText_GoBackToPrev + b _0813ADF0 + .align 2, 0 +_0813ADA4: .4byte gMenuText_GoBackToPrev +_0813ADA8: + ldr r1, _0813ADAC @ =gOtherText_HowManyToWithdraw + b _0813ADF0 + .align 2, 0 +_0813ADAC: .4byte gOtherText_HowManyToWithdraw +_0813ADB0: + ldr r1, _0813ADB4 @ =gOtherText_WithdrewThing + b _0813ADF0 + .align 2, 0 +_0813ADB4: .4byte gOtherText_WithdrewThing +_0813ADB8: + ldr r1, _0813ADBC @ =gOtherText_HowManyToToss + b _0813ADF0 + .align 2, 0 +_0813ADBC: .4byte gOtherText_HowManyToToss +_0813ADC0: + ldr r1, _0813ADC4 @ =gOtherText_ThrewAwayItem + b _0813ADF0 + .align 2, 0 +_0813ADC4: .4byte gOtherText_ThrewAwayItem +_0813ADC8: + ldr r1, _0813ADCC @ =gOtherText_NoMoreRoom + b _0813ADF0 + .align 2, 0 +_0813ADCC: .4byte gOtherText_NoMoreRoom +_0813ADD0: + ldr r1, _0813ADD4 @ =gOtherText_TooImportant + b _0813ADF0 + .align 2, 0 +_0813ADD4: .4byte gOtherText_TooImportant +_0813ADD8: + ldr r1, _0813ADDC @ =gOtherText_OkayToThrowAwayPrompt + b _0813ADF0 + .align 2, 0 +_0813ADDC: .4byte gOtherText_OkayToThrowAwayPrompt +_0813ADE0: + ldr r1, _0813ADE4 @ =gOtherText_SwitchWhichItem + b _0813ADF0 + .align 2, 0 +_0813ADE4: .4byte gOtherText_SwitchWhichItem +_0813ADE8: + adds r0, r1, 0 + bl ItemId_GetDescription + adds r1, r0, 0 +_0813ADF0: + movs r0, 0x30 + str r0, [sp] + movs r0, 0x1 + str r0, [sp, 0x4] + adds r0, r1, 0 + movs r1, 0x8 + movs r2, 0x68 + movs r3, 0x68 + bl sub_8072AB0 + add sp, 0x8 + pop {r0} + bx r0 + thumb_func_end sub_813AD58 + + thumb_func_start sub_813AE0C +sub_813AE0C: @ 813AE0C + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r2, _0813AE48 @ =gTasks + 0x8 + adds r4, r1, r2 + ldrh r1, [r4] + ldrh r2, [r4, 0x2] + adds r1, r2 + lsls r1, 16 + lsrs r5, r1, 16 + bl sub_813ABE8 + movs r1, 0x12 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _0813AE62 + lsls r0, r5, 16 + asrs r1, r0, 16 + movs r2, 0x4 + ldrsh r0, [r4, r2] + cmp r1, r0 + bne _0813AE50 + ldr r0, _0813AE4C @ =0x0000ffff + bl sub_813AD58 + b _0813AE62 + .align 2, 0 +_0813AE48: .4byte gTasks + 0x8 +_0813AE4C: .4byte 0x0000ffff +_0813AE50: + ldr r0, _0813AE68 @ =gSaveBlock1 + lsls r1, 2 + adds r1, r0 + movs r0, 0x93 + lsls r0, 3 + adds r1, r0 + ldrh r0, [r1] + bl sub_813AD58 +_0813AE62: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0813AE68: .4byte gSaveBlock1 + thumb_func_end sub_813AE0C + + thumb_func_start sub_813AE6C +sub_813AE6C: @ 813AE6C + push {r4-r6,lr} + sub sp, 0x8 + adds r6, r0, 0 + adds r4, r1, 0 + lsls r6, 24 + lsrs r6, 24 + lsls r4, 24 + lsrs r4, 24 + lsls r5, r6, 2 + adds r5, r6 + lsls r5, 3 + ldr r0, _0813AEF8 @ =gTasks + 0x8 + adds r5, r0 + bl sub_80F944C + bl LoadScrollIndicatorPalette + bl sub_813AF04 + movs r0, 0xF + movs r1, 0 + movs r2, 0x1D + movs r3, 0x13 + bl MenuDrawTextWindow + movs r0, 0 + movs r1, 0xC + movs r2, 0xE + movs r3, 0x13 + bl MenuDrawTextWindow + movs r0, 0 + movs r1, 0 + movs r2, 0xB + movs r3, 0x3 + bl MenuDrawTextWindow + ldr r0, _0813AEFC @ =gSaveBlock1 + movs r1, 0x93 + lsls r1, 3 + adds r0, r1 + ldrh r0, [r0] + bl sub_813AD58 + ldr r0, _0813AF00 @ =gUnknown_084062C0 + lsls r4, 3 + adds r4, r0 + ldr r0, [r4] + movs r1, 0x1 + movs r2, 0x1 + bl MenuPrint + adds r0, r6, 0 + bl sub_813ABE8 + ldrb r3, [r5, 0x8] + ldrb r0, [r5] + str r0, [sp] + movs r0, 0xD + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x10 + movs r2, 0x2 + bl InitMenu + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813AEF8: .4byte gTasks + 0x8 +_0813AEFC: .4byte gSaveBlock1 +_0813AF00: .4byte gUnknown_084062C0 + thumb_func_end sub_813AE6C + + thumb_func_start sub_813AF04 +sub_813AF04: @ 813AF04 + push {lr} + sub sp, 0x8 + ldr r1, _0813AF38 @ =gUnknown_08406334 + mov r0, sp + movs r2, 0x6 + bl memcpy + add r0, sp, 0x4 + movs r1, 0xDF + movs r2, 0x2 + bl LoadPalette + mov r0, sp + adds r0, 0x2 + movs r1, 0xD1 + movs r2, 0x2 + bl LoadPalette + mov r0, sp + movs r1, 0xD8 + movs r2, 0x2 + bl LoadPalette + add sp, 0x8 + pop {r0} + bx r0 + .align 2, 0 +_0813AF38: .4byte gUnknown_08406334 + thumb_func_end sub_813AF04 + + thumb_func_start sub_813AF3C +sub_813AF3C: @ 813AF3C + push {r4,lr} + movs r2, 0 + movs r1, 0x6 + ldr r4, _0813AF70 @ =gSaveBlock1 + ldr r3, _0813AF74 @ =0x00002b6c +_0813AF46: + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + adds r0, r3 + ldrh r0, [r0] + cmp r0, 0 + beq _0813AF5C + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 +_0813AF5C: + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0xF + bls _0813AF46 + adds r0, r2, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0813AF70: .4byte gSaveBlock1 +_0813AF74: .4byte 0x00002b6c + thumb_func_end sub_813AF3C + + thumb_func_start sub_813AF78 +sub_813AF78: @ 813AF78 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x24 + movs r2, 0x6 +_0813AF86: + adds r1, r2, 0x1 + lsls r0, r1, 24 + lsrs r3, r0, 24 + mov r10, r1 + cmp r3, 0xF + bhi _0813AFF4 + ldr r0, _0813B010 @ =gSaveBlock1 + mov r12, r0 + lsls r0, r2, 3 + adds r0, r2 + lsls r0, 2 + add r0, r12 + ldr r1, _0813B014 @ =0x00002b6c + adds r1, r0 + mov r8, r1 + ldr r2, _0813B018 @ =0x00002b4c + mov r9, r2 + adds r4, r0, r2 +_0813AFAA: + mov r5, r8 + ldrh r0, [r5] + cmp r0, 0 + bne _0813AFEA + mov r1, sp + adds r0, r4, 0 + ldm r0!, {r2,r6,r7} + stm r1!, {r2,r6,r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r2,r5,r6} + stm r1!, {r2,r5,r6} + lsls r2, r3, 3 + adds r2, r3 + lsls r2, 2 + add r2, r12 + add r2, r9 + adds r1, r4, 0 + adds r0, r2, 0 + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + ldm r0!, {r5-r7} + stm r1!, {r5-r7} + mov r0, sp + ldm r0!, {r1,r5,r7} + stm r2!, {r1,r5,r7} + ldm r0!, {r1,r6,r7} + stm r2!, {r1,r6,r7} + ldm r0!, {r5-r7} + stm r2!, {r5-r7} +_0813AFEA: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0xF + bls _0813AFAA +_0813AFF4: + mov r1, r10 + lsls r0, r1, 24 + lsrs r2, r0, 24 + cmp r2, 0xE + bls _0813AF86 + add sp, 0x24 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813B010: .4byte gSaveBlock1 +_0813B014: .4byte 0x00002b6c +_0813B018: .4byte 0x00002b4c + thumb_func_end sub_813AF78 + + thumb_func_start sub_813B01C +sub_813B01C: @ 813B01C + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r7, 0 + ldr r1, _0813B0B8 @ =0x0201fe00 + ldrb r4, [r1, 0x2] + ldrb r0, [r1, 0x1] + adds r0, r4, r0 + cmp r4, r0 + bge _0813B08A + adds r6, r1, 0 + ldr r0, _0813B0BC @ =gStringVar1 + mov r8, r0 +_0813B036: + ldrb r0, [r6, 0x2] + subs r0, r4, r0 + lsls r0, 17 + lsrs r7, r0, 16 + adds r0, r7, 0x2 + lsls r0, 24 + lsrs r5, r0, 24 + adds r3, r7, 0x3 + lsls r3, 24 + lsrs r3, 24 + movs r0, 0x15 + adds r1, r5, 0 + movs r2, 0x1C + bl MenuFillWindowRectWithBlankTile + ldrb r0, [r6, 0x3] + cmp r4, r0 + beq _0813B0C4 + lsls r1, r4, 3 + adds r1, r4 + lsls r1, 2 + ldr r0, _0813B0C0 @ =gSaveBlock1 + 0x2C36 + adds r1, r0 + mov r0, r8 + bl StringCopy + mov r0, r8 + bl sub_814A568 + mov r0, r8 + movs r1, 0x15 + adds r2, r5, 0 + bl MenuPrint + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + ldrb r0, [r6, 0x2] + ldrb r1, [r6, 0x1] + adds r0, r1 + cmp r4, r0 + blt _0813B036 +_0813B08A: + ldr r5, _0813B0B8 @ =0x0201fe00 + ldrb r0, [r5, 0x2] + subs r0, r4, r0 + cmp r0, 0x8 + beq _0813B0A4 + adds r1, r7, 0x4 + lsls r1, 24 + lsrs r1, 24 + movs r0, 0x15 + movs r2, 0x1C + movs r3, 0x12 + bl MenuFillWindowRectWithBlankTile +_0813B0A4: + ldrb r0, [r5, 0x2] + cmp r0, 0 + beq _0813B0D4 + movs r0, 0 + movs r1, 0xC8 + movs r2, 0x8 + bl CreateVerticalScrollIndicators + b _0813B0DA + .align 2, 0 +_0813B0B8: .4byte 0x0201fe00 +_0813B0BC: .4byte gStringVar1 +_0813B0C0: .4byte gSaveBlock1 + 0x2C36 +_0813B0C4: + ldr r0, _0813B0D0 @ =gOtherText_CancelNoTerminator + movs r1, 0x15 + adds r2, r5, 0 + bl MenuPrint + b _0813B08A + .align 2, 0 +_0813B0D0: .4byte gOtherText_CancelNoTerminator +_0813B0D4: + movs r0, 0 + bl DestroyVerticalScrollIndicator +_0813B0DA: + ldr r0, _0813B0F4 @ =0x0201fe00 + ldrb r1, [r0, 0x2] + ldrb r2, [r0, 0x1] + adds r1, r2 + ldrb r0, [r0, 0x3] + cmp r1, r0 + bgt _0813B0F8 + movs r0, 0x1 + movs r1, 0xC8 + movs r2, 0x98 + bl CreateVerticalScrollIndicators + b _0813B0FE + .align 2, 0 +_0813B0F4: .4byte 0x0201fe00 +_0813B0F8: + movs r0, 0x1 + bl DestroyVerticalScrollIndicator +_0813B0FE: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_813B01C + + thumb_func_start sub_813B108 +sub_813B108: @ 813B108 + push {r4,lr} + sub sp, 0x8 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_80F944C + bl LoadScrollIndicatorPalette + movs r0, 0 + movs r1, 0 + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + movs r0, 0 + movs r1, 0 + movs r2, 0x8 + movs r3, 0x3 + bl MenuDrawTextWindow + ldr r0, _0813B16C @ =gPCText_Mailbox + movs r1, 0x1 + movs r2, 0x1 + bl MenuPrint + movs r0, 0x14 + movs r1, 0 + movs r2, 0x1D + movs r3, 0x13 + bl MenuDrawTextWindow + adds r0, r4, 0 + bl sub_813B01C + ldr r0, _0813B170 @ =0x0201fe00 + ldrb r3, [r0, 0x1] + ldrb r0, [r0] + str r0, [sp] + movs r0, 0x8 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x15 + movs r2, 0x2 + bl InitMenu + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813B16C: .4byte gPCText_Mailbox +_0813B170: .4byte 0x0201fe00 + thumb_func_end sub_813B108 + + thumb_func_start sub_813B174 +sub_813B174: @ 813B174 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r4, r5, 0 + ldr r0, _0813B1AC @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r3, 0x80 + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + bne _0813B274 + ldr r2, _0813B1B0 @ =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0813B1CA + ldr r4, _0813B1B4 @ =0x0201fe00 + ldrb r0, [r4] + cmp r0, 0 + beq _0813B1B8 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + negs r0, r0 + b _0813B1E6 + .align 2, 0 +_0813B1AC: .4byte gPaletteFade +_0813B1B0: .4byte gMain +_0813B1B4: .4byte 0x0201fe00 +_0813B1B8: + ldrb r0, [r4, 0x2] + cmp r0, 0 + beq _0813B274 + movs r0, 0x5 + bl PlaySE + ldrb r0, [r4, 0x2] + subs r0, 0x1 + b _0813B208 +_0813B1CA: + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _0813B212 + ldr r4, _0813B1F0 @ =0x0201fe00 + ldrb r1, [r4] + ldrb r0, [r4, 0x1] + subs r0, 0x1 + cmp r1, r0 + beq _0813B1F4 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 +_0813B1E6: + bl MoveMenuCursor + strb r0, [r4] + b _0813B274 + .align 2, 0 +_0813B1F0: .4byte 0x0201fe00 +_0813B1F4: + ldrb r0, [r4, 0x2] + adds r0, r1 + ldrb r1, [r4, 0x3] + cmp r0, r1 + beq _0813B274 + movs r0, 0x5 + bl PlaySE + ldrb r0, [r4, 0x2] + adds r0, 0x1 +_0813B208: + strb r0, [r4, 0x2] + adds r0, r5, 0 + bl sub_813B01C + b _0813B274 +_0813B212: + ldrh r1, [r2, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0813B25C + bl sub_8072DEC + movs r0, 0x5 + bl PlaySE + ldr r0, _0813B23C @ =0x0201fe00 + ldrb r1, [r0, 0x2] + ldrb r2, [r0] + adds r1, r2 + ldrb r0, [r0, 0x3] + cmp r1, r0 + bne _0813B240 + adds r0, r5, 0 + bl sub_813B320 + b _0813B274 + .align 2, 0 +_0813B23C: .4byte 0x0201fe00 +_0813B240: + bl sub_813B27C + ldr r0, _0813B254 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldr r0, _0813B258 @ =sub_813B294 + str r0, [r1] + b _0813B274 + .align 2, 0 +_0813B254: .4byte gTasks +_0813B258: .4byte sub_813B294 +_0813B25C: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0813B274 + bl sub_8072DEC + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl sub_813B320 +_0813B274: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_813B174 + + thumb_func_start sub_813B27C +sub_813B27C: @ 813B27C + push {lr} + bl BuyMenuFreeMemory + movs r0, 0 + bl DestroyVerticalScrollIndicator + movs r0, 0x1 + bl DestroyVerticalScrollIndicator + pop {r0} + bx r0 + thumb_func_end sub_813B27C + + thumb_func_start sub_813B294 +sub_813B294: @ 813B294 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + movs r0, 0 + movs r1, 0 + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + ldr r4, _0813B2E8 @ =gStringVar1 + ldr r1, _0813B2EC @ =0x0201fe00 + ldrb r0, [r1] + adds r0, 0x6 + ldrb r1, [r1, 0x2] + adds r0, r1 + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + ldr r0, _0813B2F0 @ =gSaveBlock1 + 0x2B5E + adds r1, r0 + adds r0, r4, 0 + bl StringCopy + adds r0, r4, 0 + bl sub_814A568 + ldr r4, _0813B2F4 @ =gStringVar4 + ldr r1, _0813B2F8 @ =gOtherText_WhatWillYouDoMail + adds r0, r4, 0 + bl StringExpandPlaceholders + ldr r2, _0813B2FC @ =sub_813B348 + adds r0, r5, 0 + adds r1, r4, 0 + movs r3, 0 + bl DisplayItemMessageOnField + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0813B2E8: .4byte gStringVar1 +_0813B2EC: .4byte 0x0201fe00 +_0813B2F0: .4byte gSaveBlock1 + 0x2B5E +_0813B2F4: .4byte gStringVar4 +_0813B2F8: .4byte gOtherText_WhatWillYouDoMail +_0813B2FC: .4byte sub_813B348 + thumb_func_end sub_813B294 + + thumb_func_start sub_813B300 +sub_813B300: @ 813B300 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + movs r1, 0 + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + adds r0, r4, 0 + bl sub_8139E24 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_813B300 + + thumb_func_start sub_813B320 +sub_813B320: @ 813B320 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_813B27C + ldr r1, _0813B340 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0813B344 @ =sub_813B300 + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813B340: .4byte gTasks +_0813B344: .4byte sub_813B300 + thumb_func_end sub_813B320 + + thumb_func_start sub_813B348 +sub_813B348: @ 813B348 + push {r4,lr} + sub sp, 0x8 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + movs r1, 0 + movs r2, 0xC + movs r3, 0x9 + bl MenuDrawTextWindow + ldr r3, _0813B394 @ =gUnknown_084062F8 + movs r0, 0x1 + movs r1, 0x1 + movs r2, 0x4 + bl PrintMenuItems + movs r0, 0 + str r0, [sp] + movs r0, 0xB + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + movs r3, 0x4 + bl InitMenu + ldr r1, _0813B398 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0813B39C @ =sub_813B3A0 + str r1, [r0] + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813B394: .4byte gUnknown_084062F8 +_0813B398: .4byte gTasks +_0813B39C: .4byte sub_813B3A0 + thumb_func_end sub_813B348 + + thumb_func_start sub_813B3A0 +sub_813B3A0: @ 813B3A0 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r4, r5, 0 + ldr r2, _0813B3C4 @ =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0813B3C8 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + negs r0, r0 + bl MoveMenuCursor + b _0813B420 + .align 2, 0 +_0813B3C4: .4byte gMain +_0813B3C8: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _0813B3DE + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + bl MoveMenuCursor + b _0813B420 +_0813B3DE: + ldrh r1, [r2, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0813B40C + movs r0, 0x5 + bl PlaySE + ldr r4, _0813B408 @ =gUnknown_084062F8 + bl GetMenuCursorPos + lsls r0, 24 + lsrs r0, 21 + adds r4, 0x4 + adds r0, r4 + ldr r1, [r0] + adds r0, r5, 0 + bl _call_via_r1 + b _0813B420 + .align 2, 0 +_0813B408: .4byte gUnknown_084062F8 +_0813B40C: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0813B420 + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl sub_813B734 +_0813B420: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_813B3A0 + + thumb_func_start sub_813B428 +sub_813B428: @ 813B428 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + movs r1, 0 + bl fade_screen + ldr r1, _0813B44C @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0813B450 @ =sub_813B454 + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813B44C: .4byte gTasks +_0813B450: .4byte sub_813B454 + thumb_func_end sub_813B428 + + thumb_func_start sub_813B454 +sub_813B454: @ 813B454 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0813B490 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0813B488 + ldr r0, _0813B494 @ =0x0201fe00 + ldrb r1, [r0] + adds r1, 0x6 + ldrb r0, [r0, 0x2] + adds r1, r0 + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r1, _0813B498 @ =gSaveBlock1 + 0x2B4C + adds r0, r1 + ldr r1, _0813B49C @ =sub_813B4F0 + movs r2, 0x1 + bl sub_80F890C + adds r0, r4, 0 + bl DestroyTask +_0813B488: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813B490: .4byte gPaletteFade +_0813B494: .4byte 0x0201fe00 +_0813B498: .4byte gSaveBlock1 + 0x2B4C +_0813B49C: .4byte sub_813B4F0 + thumb_func_end sub_813B454 + + thumb_func_start sub_813B4A0 +sub_813B4A0: @ 813B4A0 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_807D770 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0813B4C0 + ldr r0, _0813B4C8 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0813B4CC @ =sub_813B174 + str r0, [r1] +_0813B4C0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813B4C8: .4byte gTasks +_0813B4CC: .4byte sub_813B174 + thumb_func_end sub_813B4A0 + + thumb_func_start sub_813B4D0 +sub_813B4D0: @ 813B4D0 + push {lr} + ldr r0, _0813B4EC @ =sub_813B4A0 + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + bl sub_813B108 + bl pal_fill_black + pop {r0} + bx r0 + .align 2, 0 +_0813B4EC: .4byte sub_813B4A0 + thumb_func_end sub_813B4D0 + + thumb_func_start sub_813B4F0 +sub_813B4F0: @ 813B4F0 + push {lr} + ldr r0, _0813B504 @ =gUnknown_0300485C + ldr r1, _0813B508 @ =sub_813B4D0 + str r1, [r0] + ldr r0, _0813B50C @ =c2_exit_to_overworld_2_switch + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_0813B504: .4byte gUnknown_0300485C +_0813B508: .4byte sub_813B4D0 +_0813B50C: .4byte c2_exit_to_overworld_2_switch + thumb_func_end sub_813B4F0 + + thumb_func_start sub_813B510 +sub_813B510: @ 813B510 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_8072DEC + ldr r0, _0813B540 @ =gStringVar1 + ldr r1, _0813B544 @ =gOtherText_MoveToBag + bl StringCopy + ldr r0, _0813B548 @ =gUnknown_0840633A + movs r1, 0x1 + movs r2, 0x3 + bl MenuPrint + ldr r1, _0813B54C @ =gOtherText_MessageWillBeLost + ldr r2, _0813B550 @ =sub_813B554 + adds r0, r4, 0 + movs r3, 0 + bl DisplayItemMessageOnField + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813B540: .4byte gStringVar1 +_0813B544: .4byte gOtherText_MoveToBag +_0813B548: .4byte gUnknown_0840633A +_0813B54C: .4byte gOtherText_MessageWillBeLost +_0813B550: .4byte sub_813B554 + thumb_func_end sub_813B510 + + thumb_func_start sub_813B554 +sub_813B554: @ 813B554 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x14 + movs r1, 0x8 + movs r2, 0x1 + bl DisplayYesNoMenu + ldr r1, _0813B574 @ =gUnknown_084062E8 + adds r0, r4, 0 + bl sub_80F914C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813B574: .4byte gUnknown_084062E8 + thumb_func_end sub_813B554 + + thumb_func_start sub_813B578 +sub_813B578: @ 813B578 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r4, _0813B5BC @ =0x0201fe00 + ldrb r0, [r4] + adds r0, 0x6 + ldrb r1, [r4, 0x2] + adds r0, r1 + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + ldr r0, _0813B5C0 @ =gSaveBlock1 + 0x2B4C + adds r6, r1, r0 + movs r0, 0x14 + movs r1, 0x8 + movs r2, 0x1A + movs r3, 0xD + bl MenuZeroFillWindowRect + ldrh r0, [r6, 0x20] + movs r1, 0x1 + bl AddBagItem + lsls r0, 24 + cmp r0, 0 + bne _0813B5CC + ldr r1, _0813B5C4 @ =gOtherText_BagIsFull + ldr r2, _0813B5C8 @ =sub_813B758 + adds r0, r5, 0 + movs r3, 0 + bl DisplayItemMessageOnField + b _0813B602 + .align 2, 0 +_0813B5BC: .4byte 0x0201fe00 +_0813B5C0: .4byte gSaveBlock1 + 0x2B4C +_0813B5C4: .4byte gOtherText_BagIsFull +_0813B5C8: .4byte sub_813B758 +_0813B5CC: + ldr r1, _0813B608 @ =gOtherText_MailWasReturned + ldr r2, _0813B60C @ =sub_813B758 + adds r0, r5, 0 + movs r3, 0 + bl DisplayItemMessageOnField + adds r0, r6, 0 + bl sub_80A2B40 + bl sub_813AF78 + ldrb r0, [r4, 0x3] + subs r0, 0x1 + strb r0, [r4, 0x3] + ldrb r1, [r4, 0x3] + ldrb r0, [r4, 0x1] + ldrb r2, [r4, 0x2] + adds r0, r2 + cmp r1, r0 + bge _0813B5FC + cmp r2, 0 + beq _0813B5FC + subs r0, r2, 0x1 + strb r0, [r4, 0x2] +_0813B5FC: + adds r0, r5, 0 + bl sub_813A240 +_0813B602: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813B608: .4byte gOtherText_MailWasReturned +_0813B60C: .4byte sub_813B758 + thumb_func_end sub_813B578 + + thumb_func_start sub_813B610 +sub_813B610: @ 813B610 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x14 + movs r1, 0x8 + movs r2, 0x1A + movs r3, 0xD + bl MenuZeroFillWindowRect + adds r0, r4, 0 + bl sub_813B758 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_813B610 + + thumb_func_start sub_813B630 +sub_813B630: @ 813B630 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl CalculatePlayerPartyCount + lsls r0, 24 + cmp r0, 0 + bne _0813B648 + adds r0, r4, 0 + bl sub_813B718 + b _0813B65E +_0813B648: + movs r0, 0x1 + movs r1, 0 + bl fade_screen + ldr r0, _0813B664 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0813B668 @ =sub_813B66C + str r0, [r1] +_0813B65E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813B664: .4byte gTasks +_0813B668: .4byte sub_813B66C + thumb_func_end sub_813B630 + + thumb_func_start sub_813B66C +sub_813B66C: @ 813B66C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0813B698 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0813B690 + ldr r0, _0813B69C @ =sub_808B020 + bl SetMainCallback2 + ldr r1, _0813B6A0 @ =gUnknown_02038561 + movs r0, 0x3 + strb r0, [r1] + adds r0, r4, 0 + bl DestroyTask +_0813B690: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813B698: .4byte gPaletteFade +_0813B69C: .4byte sub_808B020 +_0813B6A0: .4byte gUnknown_02038561 + thumb_func_end sub_813B66C + + thumb_func_start sub_813B6A4 +sub_813B6A4: @ 813B6A4 + push {r4-r6,lr} + ldr r0, _0813B6F0 @ =sub_813B4A0 + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r6, r0, 24 + ldr r5, _0813B6F4 @ =0x0201fe00 + ldrb r4, [r5, 0x3] + bl sub_813AF3C + strb r0, [r5, 0x3] + bl sub_813AF78 + ldrb r0, [r5, 0x3] + cmp r4, r0 + beq _0813B6DA + ldrb r1, [r5, 0x3] + ldrb r0, [r5, 0x1] + ldrb r2, [r5, 0x2] + adds r0, r2 + cmp r1, r0 + bge _0813B6DA + cmp r2, 0 + beq _0813B6DA + subs r0, r2, 0x1 + strb r0, [r5, 0x2] +_0813B6DA: + adds r0, r6, 0 + bl sub_813A240 + adds r0, r6, 0 + bl sub_813B108 + bl pal_fill_black + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813B6F0: .4byte sub_813B4A0 +_0813B6F4: .4byte 0x0201fe00 + thumb_func_end sub_813B6A4 + + thumb_func_start sub_813B6F8 +sub_813B6F8: @ 813B6F8 + push {lr} + ldr r0, _0813B70C @ =gUnknown_0300485C + ldr r1, _0813B710 @ =sub_813B6A4 + str r1, [r0] + ldr r0, _0813B714 @ =c2_exit_to_overworld_2_switch + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_0813B70C: .4byte gUnknown_0300485C +_0813B710: .4byte sub_813B6A4 +_0813B714: .4byte c2_exit_to_overworld_2_switch + thumb_func_end sub_813B6F8 + + thumb_func_start sub_813B718 +sub_813B718: @ 813B718 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r1, _0813B72C @ =gOtherText_NoPokemon + ldr r2, _0813B730 @ =sub_813B758 + movs r3, 0 + bl DisplayItemMessageOnField + pop {r0} + bx r0 + .align 2, 0 +_0813B72C: .4byte gOtherText_NoPokemon +_0813B730: .4byte sub_813B758 + thumb_func_end sub_813B718 + + thumb_func_start sub_813B734 +sub_813B734: @ 813B734 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + bl sub_8072DEC + movs r0, 0 + movs r1, 0 + movs r2, 0xC + movs r3, 0x9 + bl MenuZeroFillWindowRect + adds r0, r4, 0 + bl sub_813B758 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_813B734 + + thumb_func_start sub_813B758 +sub_813B758: @ 813B758 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl sub_813B108 + ldr r1, _0813B77C @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0813B780 @ =sub_813B174 + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813B77C: .4byte gTasks +_0813B780: .4byte sub_813B174 + thumb_func_end sub_813B758 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_81258BC.s b/asm/rom_81258BC.s index 407e07162..9689efcaf 100644 --- a/asm/rom_81258BC.s +++ b/asm/rom_81258BC.s @@ -30201,3462 +30201,4 @@ nullsub_80: @ 8139C14 bx lr thumb_func_end nullsub_80 - thumb_func_start NewGameInitPCItems -NewGameInitPCItems: @ 8139C18 - push {r4-r6,lr} - movs r4, 0 - ldr r0, _08139C6C @ =gSaveBlock1 + 0x498 - movs r1, 0x32 - bl ClearItemSlots - ldr r1, _08139C70 @ =gNewGamePCItems - ldrh r0, [r1] - cmp r0, 0 - beq _08139C64 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _08139C64 - adds r5, r1, 0 - adds r6, r5, 0x2 -_08139C36: - lsls r1, r4, 2 - adds r0, r1, r5 - ldrh r0, [r0] - adds r1, r6 - ldrh r1, [r1] - bl AddPCItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08139C64 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, r4, 2 - adds r0, r1, r5 - ldrh r0, [r0] - cmp r0, 0 - beq _08139C64 - adds r0, r1, r6 - ldrh r0, [r0] - cmp r0, 0 - bne _08139C36 -_08139C64: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08139C6C: .4byte gSaveBlock1 + 0x498 -_08139C70: .4byte gNewGamePCItems - thumb_func_end NewGameInitPCItems - - thumb_func_start sub_8139C74 -sub_8139C74: @ 8139C74 - push {lr} - ldr r1, _08139C9C @ =gUnknown_02039314 - ldr r0, _08139CA0 @ =gUnknown_084062B8 - str r0, [r1] - ldr r1, _08139CA4 @ =gUnknown_030007B4 - movs r0, 0x4 - strb r0, [r1] - ldr r0, _08139CA8 @ =TaskDummy - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08139CAC @ =gOtherText_WhatWillYouDo - ldr r2, _08139CB0 @ =sub_8139CF4 - movs r3, 0 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_08139C9C: .4byte gUnknown_02039314 -_08139CA0: .4byte gUnknown_084062B8 -_08139CA4: .4byte gUnknown_030007B4 -_08139CA8: .4byte TaskDummy -_08139CAC: .4byte gOtherText_WhatWillYouDo -_08139CB0: .4byte sub_8139CF4 - thumb_func_end sub_8139C74 - - thumb_func_start sub_8139CB4 -sub_8139CB4: @ 8139CB4 - push {lr} - ldr r1, _08139CDC @ =gUnknown_02039314 - ldr r0, _08139CE0 @ =gUnknown_084062BC - str r0, [r1] - ldr r1, _08139CE4 @ =gUnknown_030007B4 - movs r0, 0x3 - strb r0, [r1] - ldr r0, _08139CE8 @ =TaskDummy - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08139CEC @ =gOtherText_WhatWillYouDo - ldr r2, _08139CF0 @ =sub_8139CF4 - movs r3, 0 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_08139CDC: .4byte gUnknown_02039314 -_08139CE0: .4byte gUnknown_084062BC -_08139CE4: .4byte gUnknown_030007B4 -_08139CE8: .4byte TaskDummy -_08139CEC: .4byte gOtherText_WhatWillYouDo -_08139CF0: .4byte sub_8139CF4 - thumb_func_end sub_8139CB4 - - thumb_func_start sub_8139CF4 -sub_8139CF4: @ 8139CF4 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08139D50 @ =gUnknown_030007B4 - ldrb r3, [r5] - lsls r3, 1 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0xA - bl MenuDrawTextWindow - ldrb r2, [r5] - ldr r3, _08139D54 @ =gUnknown_08406298 - ldr r0, _08139D58 @ =gUnknown_02039314 - ldr r0, [r0] - str r0, [sp] - movs r0, 0x1 - movs r1, 0x1 - bl PrintMenuItemsReordered - ldrb r3, [r5] - movs r0, 0 - str r0, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl InitMenu - ldr r1, _08139D5C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08139D60 @ =sub_8139D64 - str r1, [r0] - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08139D50: .4byte gUnknown_030007B4 -_08139D54: .4byte gUnknown_08406298 -_08139D58: .4byte gUnknown_02039314 -_08139D5C: .4byte gTasks -_08139D60: .4byte sub_8139D64 - thumb_func_end sub_8139CF4 - - thumb_func_start sub_8139D64 -sub_8139D64: @ 8139D64 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r2, _08139D88 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08139D8C - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _08139E10 - .align 2, 0 -_08139D88: .4byte gMain -_08139D8C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08139DA2 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _08139E10 -_08139DA2: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08139DE0 - bl sub_8072DEC - movs r0, 0x5 - bl PlaySE - ldr r4, _08139DD8 @ =gUnknown_08406298 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08139DDC @ =gUnknown_02039314 - ldr r1, [r1] - adds r1, r0 - ldrb r0, [r1] - lsls r0, 3 - adds r4, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - b _08139E10 - .align 2, 0 -_08139DD8: .4byte gUnknown_08406298 -_08139DDC: .4byte gUnknown_02039314 -_08139DE0: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08139E10 - bl sub_8072DEC - movs r0, 0x5 - bl PlaySE - ldr r2, _08139E18 @ =gUnknown_08406298 - ldr r0, _08139E1C @ =gUnknown_030007B4 - ldrb r0, [r0] - ldr r1, _08139E20 @ =gUnknown_02039314 - ldr r1, [r1] - adds r0, r1 - subs r0, 0x1 - ldrb r0, [r0] - lsls r0, 3 - adds r2, 0x4 - adds r0, r2 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 -_08139E10: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08139E18: .4byte gUnknown_08406298 -_08139E1C: .4byte gUnknown_030007B4 -_08139E20: .4byte gUnknown_02039314 - thumb_func_end sub_8139D64 - - thumb_func_start sub_8139E24 -sub_8139E24: @ 8139E24 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08139E38 @ =gOtherText_WhatWillYouDo - ldr r2, _08139E3C @ =sub_8139CF4 - movs r3, 0 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_08139E38: .4byte gOtherText_WhatWillYouDo -_08139E3C: .4byte sub_8139CF4 - thumb_func_end sub_8139E24 - - thumb_func_start sub_8139E40 -sub_8139E40: @ 8139E40 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_8139F58 - ldr r1, _08139E64 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08139E68 @ =sub_8139FD4 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08139E64: .4byte gTasks -_08139E68: .4byte sub_8139FD4 - thumb_func_end sub_8139E40 - - thumb_func_start sub_8139E6C -sub_8139E6C: @ 8139E6C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x9 - bl MenuZeroFillWindowRect - bl sub_813AF3C - ldr r1, _08139E9C @ =0x0201fe00 - movs r2, 0 - strb r0, [r1, 0x3] - lsls r0, 24 - cmp r0, 0 - bne _08139EA8 - ldr r1, _08139EA0 @ =gOtherText_NoMailHere - ldr r2, _08139EA4 @ =sub_8139E24 - adds r0, r4, 0 - movs r3, 0 - bl DisplayItemMessageOnField - b _08139ECA - .align 2, 0 -_08139E9C: .4byte 0x0201fe00 -_08139EA0: .4byte gOtherText_NoMailHere -_08139EA4: .4byte sub_8139E24 -_08139EA8: - strb r2, [r1] - strb r2, [r1, 0x2] - bl sub_813AF78 - adds r0, r4, 0 - bl sub_813A240 - adds r0, r4, 0 - bl sub_813B108 - ldr r0, _08139ED0 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08139ED4 @ =sub_813B174 - str r0, [r1] -_08139ECA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08139ED0: .4byte gTasks -_08139ED4: .4byte sub_813B174 - thumb_func_end sub_8139E6C - - thumb_func_start sub_8139ED8 -sub_8139ED8: @ 8139ED8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x9 - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl sub_80FE28C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8139ED8 - - thumb_func_start sub_8139EF8 -sub_8139EF8: @ 8139EF8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08139F24 @ =gUnknown_030007B4 - ldrb r0, [r0] - cmp r0, 0x4 - bne _08139F3C - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r0, _08139F28 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08139F30 - ldr r0, _08139F2C @ =gUnknown_08152850 - bl ScriptContext1_SetupScript - b _08139F4C - .align 2, 0 -_08139F24: .4byte gUnknown_030007B4 -_08139F28: .4byte gSaveBlock2 -_08139F2C: .4byte gUnknown_08152850 -_08139F30: - ldr r0, _08139F38 @ =gUnknown_08152C75 - bl ScriptContext1_SetupScript - b _08139F4C - .align 2, 0 -_08139F38: .4byte gUnknown_08152C75 -_08139F3C: - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x9 - bl MenuZeroFillWindowRect - bl EnableBothScriptContexts -_08139F4C: - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8139EF8 - - thumb_func_start sub_8139F58 -sub_8139F58: @ 8139F58 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x9 - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0 - movs r2, 0xB - movs r3, 0x9 - bl MenuDrawTextWindow - ldr r3, _08139FAC @ =gUnknown_084062C0 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x4 - bl PrintMenuItems - str r4, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x4 - bl InitMenu - ldr r0, _08139FB0 @ =gUnknown_08406288 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - bl sub_8139FB4 - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08139FAC: .4byte gUnknown_084062C0 -_08139FB0: .4byte gUnknown_08406288 - thumb_func_end sub_8139F58 - - thumb_func_start sub_8139FB4 -sub_8139FB4: @ 8139FB4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2 - movs r1, 0xF - movs r2, 0x1B - movs r3, 0x12 - bl MenuFillWindowRectWithBlankTile - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8139FB4 - - thumb_func_start sub_8139FD4 -sub_8139FD4: @ 8139FD4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r2, _08139FF4 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08139FF8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _0813A008 - .align 2, 0 -_08139FF4: .4byte gMain -_08139FF8: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0813A024 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_0813A008: - bl MoveMenuCursor - ldr r4, _0813A020 @ =gUnknown_08406288 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r0, [r0] - bl sub_8139FB4 - b _0813A06C - .align 2, 0 -_0813A020: .4byte gUnknown_08406288 -_0813A024: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813A050 - movs r0, 0x5 - bl PlaySE - ldr r4, _0813A04C @ =gUnknown_084062C0 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 21 - adds r4, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - b _0813A06C - .align 2, 0 -_0813A04C: .4byte gUnknown_084062C0 -_0813A050: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0813A06C - bl sub_8072DEC - movs r0, 0x5 - bl PlaySE - ldr r0, _0813A074 @ =gUnknown_084062C0 - ldr r1, [r0, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 -_0813A06C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813A074: .4byte gUnknown_084062C0 - thumb_func_end sub_8139FD4 - - thumb_func_start sub_813A078 -sub_813A078: @ 813A078 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813A09C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813A094 - bl sub_80A6A30 - adds r0, r4, 0 - bl DestroyTask -_0813A094: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813A09C: .4byte gPaletteFade - thumb_func_end sub_813A078 - - thumb_func_start sub_813A0A0 -sub_813A0A0: @ 813A0A0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0813A0C0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0813A0C4 @ =sub_813A078 - str r0, [r1] - movs r0, 0x1 - movs r1, 0 - bl fade_screen - pop {r0} - bx r0 - .align 2, 0 -_0813A0C0: .4byte gTasks -_0813A0C4: .4byte sub_813A078 - thumb_func_end sub_813A0A0 - - thumb_func_start sub_813A0C8 -sub_813A0C8: @ 813A0C8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807D770 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813A0E8 - ldr r0, _0813A0F0 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0813A0F4 @ =sub_8139FD4 - str r0, [r1] -_0813A0E8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813A0F0: .4byte gTasks -_0813A0F4: .4byte sub_8139FD4 - thumb_func_end sub_813A0C8 - - thumb_func_start sub_813A0F8 -sub_813A0F8: @ 813A0F8 - push {lr} - bl MenuDisplayMessageBox - movs r0, 0x1 - bl sub_8139F58 - ldr r0, _0813A114 @ =sub_813A0C8 - movs r1, 0 - bl CreateTask - bl pal_fill_black - pop {r0} - bx r0 - .align 2, 0 -_0813A114: .4byte sub_813A0C8 - thumb_func_end sub_813A0F8 - - thumb_func_start sub_813A118 -sub_813A118: @ 813A118 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r7, _0813A174 @ =gTasks + 0x8 - adds r4, r6, r7 - bl sub_8072DEC - movs r0, 0 - movs r1, 0 - movs r2, 0xB - movs r3, 0x9 - bl MenuZeroFillWindowRect - bl CountUsedPCItemSlots - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x4] - cmp r0, 0 - beq _0813A17C - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - movs r0, 0 - strh r0, [r4, 0xC] - strh r0, [r4] - strh r0, [r4, 0x2] - adds r0, r5, 0 - bl sub_813A240 - adds r0, r5, 0 - movs r1, 0 - bl sub_813AE6C - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0813A178 @ =sub_813A280 - str r1, [r0] - b _0813A188 - .align 2, 0 -_0813A174: .4byte gTasks + 0x8 -_0813A178: .4byte sub_813A280 -_0813A17C: - ldr r1, _0813A190 @ =gOtherText_NoItems - ldr r2, _0813A194 @ =sub_8139E40 - adds r0, r5, 0 - movs r3, 0 - bl DisplayItemMessageOnField -_0813A188: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813A190: .4byte gOtherText_NoItems -_0813A194: .4byte sub_8139E40 - thumb_func_end sub_813A118 - - thumb_func_start sub_813A198 -sub_813A198: @ 813A198 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r7, _0813A1F8 @ =gTasks + 0x8 - adds r4, r6, r7 - bl sub_8072DEC - movs r0, 0 - movs r1, 0 - movs r2, 0xB - movs r3, 0x9 - bl MenuZeroFillWindowRect - bl CountUsedPCItemSlots - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x4] - cmp r0, 0 - beq _0813A200 - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - movs r0, 0x2 - strh r0, [r4, 0xC] - movs r0, 0 - strh r0, [r4] - strh r0, [r4, 0x2] - adds r0, r5, 0 - bl sub_813A240 - adds r0, r5, 0 - movs r1, 0x2 - bl sub_813AE6C - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0813A1FC @ =sub_813A280 - str r1, [r0] - b _0813A20C - .align 2, 0 -_0813A1F8: .4byte gTasks + 0x8 -_0813A1FC: .4byte sub_813A280 -_0813A200: - ldr r1, _0813A214 @ =gOtherText_NoItems - ldr r2, _0813A218 @ =sub_8139E40 - adds r0, r5, 0 - movs r3, 0 - bl DisplayItemMessageOnField -_0813A20C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813A214: .4byte gOtherText_NoItems -_0813A218: .4byte sub_8139E40 - thumb_func_end sub_813A198 - - thumb_func_start sub_813A21C -sub_813A21C: @ 813A21C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8072DEC - movs r0, 0 - movs r1, 0 - movs r2, 0xB - movs r3, 0x9 - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl sub_8139E24 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813A21C - - thumb_func_start sub_813A240 -sub_813A240: @ 813A240 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0813A260 @ =gTasks + 0x8 - adds r1, r0 - ldrh r2, [r1, 0x4] - movs r3, 0x4 - ldrsh r0, [r1, r3] - cmp r0, 0x7 - ble _0813A264 - movs r0, 0x8 - b _0813A266 - .align 2, 0 -_0813A260: .4byte gTasks + 0x8 -_0813A264: - adds r0, r2, 0x1 -_0813A266: - strh r0, [r1, 0x8] - ldr r1, _0813A274 @ =0x0201fe00 - ldrb r0, [r1, 0x3] - cmp r0, 0x7 - bls _0813A278 - movs r0, 0x8 - b _0813A27A - .align 2, 0 -_0813A274: .4byte 0x0201fe00 -_0813A278: - adds r0, 0x1 -_0813A27A: - strb r0, [r1, 0x1] - pop {r0} - bx r0 - thumb_func_end sub_813A240 - - thumb_func_start sub_813A280 -sub_813A280: @ 813A280 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0813A2DC @ =gTasks + 0x8 - adds r4, r0, r1 - ldr r2, _0813A2E0 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0813A306 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0813A2E4 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldrh r1, [r4, 0x2] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0813A2CC - b _0813A460 -_0813A2CC: - lsls r0, r1, 16 - asrs r1, r0, 16 - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _0813A34C - b _0813A358 - .align 2, 0 -_0813A2DC: .4byte gTasks + 0x8 -_0813A2E0: .4byte gMain -_0813A2E4: - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0813A2EE - b _0813A460 -_0813A2EE: - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4, 0x2] - subs r0, 0x1 - strh r0, [r4, 0x2] - adds r0, r5, 0 - bl sub_813AE0C - movs r2, 0x12 - ldrsh r0, [r4, r2] - b _0813A394 -_0813A306: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0813A3A0 - movs r0, 0 - ldrsh r1, [r4, r0] - movs r2, 0x8 - ldrsh r0, [r4, r2] - subs r0, 0x1 - cmp r1, r0 - beq _0813A370 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldrh r1, [r4, 0x2] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0813A340 - b _0813A460 -_0813A340: - lsls r0, r1, 16 - asrs r1, r0, 16 - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _0813A358 -_0813A34C: - ldr r0, _0813A354 @ =0x0000ffff - bl sub_813AD58 - b _0813A460 - .align 2, 0 -_0813A354: .4byte 0x0000ffff -_0813A358: - ldr r0, _0813A36C @ =gSaveBlock1 - lsls r1, 2 - adds r1, r0 - movs r0, 0x93 - lsls r0, 3 - adds r1, r0 - ldrh r0, [r1] - bl sub_813AD58 - b _0813A460 - .align 2, 0 -_0813A36C: .4byte gSaveBlock1 -_0813A370: - movs r2, 0x2 - ldrsh r0, [r4, r2] - adds r0, r1 - movs r2, 0x4 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _0813A460 - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - adds r0, r5, 0 - bl sub_813AE0C - movs r1, 0x12 - ldrsh r0, [r4, r1] -_0813A394: - cmp r0, 0 - beq _0813A460 - movs r0, 0 - bl MoveMenuCursor - b _0813A460 -_0813A3A0: - ldrh r1, [r2, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0813A3F0 - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0813A3E8 - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r2, 0x4 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _0813A3DC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - strh r0, [r4, 0x12] - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r4, 0x10] - ldr r0, _0813A3E4 @ =0x0000fff7 - bl sub_813AD58 -_0813A3DC: - adds r0, r5, 0 - bl sub_813ABE8 - b _0813A460 - .align 2, 0 -_0813A3E4: .4byte 0x0000fff7 -_0813A3E8: - movs r0, 0x5 - bl PlaySE - b _0813A420 -_0813A3F0: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813A430 - movs r0, 0x5 - bl PlaySE - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0813A420 - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r2, 0x4 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _0813A44A - adds r0, r5, 0 - bl sub_813A4B4 - b _0813A460 -_0813A420: - adds r0, r5, 0 - movs r1, 0 - bl sub_813AA30 - adds r0, r5, 0 - bl sub_813AE0C - b _0813A460 -_0813A430: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0813A460 - movs r0, 0x5 - bl PlaySE - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0813A452 - bl sub_8072DEC -_0813A44A: - adds r0, r5, 0 - bl sub_813A468 - b _0813A460 -_0813A452: - adds r0, r6, 0 - movs r1, 0x1 - bl sub_813AA30 - adds r0, r6, 0 - bl sub_813AE0C -_0813A460: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813A280 - - thumb_func_start sub_813A468 -sub_813A468: @ 813A468 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl BuyMenuFreeMemory - movs r0, 0 - bl DestroyVerticalScrollIndicator - movs r0, 0x1 - bl DestroyVerticalScrollIndicator - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - bl MenuDisplayMessageBox - ldr r0, _0813A4AC @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrb r0, [r4, 0x14] - bl sub_8139F58 - ldr r0, _0813A4B0 @ =sub_8139FD4 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813A4AC: .4byte gTasks -_0813A4B0: .4byte sub_8139FD4 - thumb_func_end sub_813A468 - - thumb_func_start sub_813A4B4 -sub_813A4B4: @ 813A4B4 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0813A500 @ =gTasks + 0x8 - adds r4, r0, r1 - ldrb r0, [r4, 0x2] - ldrb r1, [r4] - adds r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0 - bl sub_80F996C - movs r0, 0x1 - bl sub_80F996C - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0813A518 - ldr r1, _0813A504 @ =gSaveBlock1 - lsls r0, r5, 2 - adds r0, r1 - ldr r1, _0813A508 @ =0x0000049a - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813A50C - strh r0, [r4, 0x6] - adds r0, r6, 0 - bl sub_813A6FC - b _0813A570 - .align 2, 0 -_0813A500: .4byte gTasks + 0x8 -_0813A504: .4byte gSaveBlock1 -_0813A508: .4byte 0x0000049a -_0813A50C: - ldr r0, _0813A514 @ =0x0000fffe - bl sub_813AD58 - b _0813A542 - .align 2, 0 -_0813A514: .4byte 0x0000fffe -_0813A518: - ldr r1, _0813A534 @ =gSaveBlock1 - lsls r0, r5, 2 - adds r0, r1 - ldr r1, _0813A538 @ =0x0000049a - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813A53C - strh r0, [r4, 0x6] - adds r0, r6, 0 - bl sub_813A794 - b _0813A570 - .align 2, 0 -_0813A534: .4byte gSaveBlock1 -_0813A538: .4byte 0x0000049a -_0813A53C: - ldr r0, _0813A578 @ =0x0000fffc - bl sub_813AD58 -_0813A542: - movs r0, 0x1 - strh r0, [r4, 0x6] - movs r0, 0x6 - movs r1, 0x8 - movs r2, 0xD - movs r3, 0xB - bl MenuDrawTextWindow - ldrh r0, [r4, 0x6] - movs r1, 0x3 - str r1, [sp] - movs r1, 0x1 - movs r2, 0x8 - movs r3, 0x9 - bl sub_80A418C - ldr r1, _0813A57C @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0813A580 @ =sub_813A584 - str r1, [r0] -_0813A570: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813A578: .4byte 0x0000fffc -_0813A57C: .4byte gTasks -_0813A580: .4byte sub_813A584 - thumb_func_end sub_813A4B4 - - thumb_func_start sub_813A584 -sub_813A584: @ 813A584 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r7, r0, 3 - ldr r0, _0813A5D0 @ =gTasks + 0x8 - mov r8, r0 - adds r4, r7, r0 - ldrb r0, [r4, 0x2] - ldrb r1, [r4] - adds r0, r1 - lsls r0, 24 - lsrs r3, r0, 24 - adds r6, r3, 0 - ldr r2, _0813A5D4 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0813A5E4 - movs r0, 0x6 - ldrsh r2, [r4, r0] - ldr r1, _0813A5D8 @ =gSaveBlock1 - lsls r0, r3, 2 - adds r0, r1 - ldr r1, _0813A5DC @ =0x0000049a - adds r0, r1 - ldrh r0, [r0] - cmp r2, r0 - beq _0813A5E0 - ldrh r0, [r4, 0x6] - adds r0, 0x1 - b _0813A64A - .align 2, 0 -_0813A5D0: .4byte gTasks + 0x8 -_0813A5D4: .4byte gMain -_0813A5D8: .4byte gSaveBlock1 -_0813A5DC: .4byte 0x0000049a -_0813A5E0: - movs r0, 0x1 - b _0813A64A -_0813A5E4: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0813A610 - ldrh r1, [r4, 0x6] - movs r2, 0x6 - ldrsh r0, [r4, r2] - cmp r0, 0x1 - beq _0813A5FA - subs r0, r1, 0x1 - b _0813A64A -_0813A5FA: - ldr r0, _0813A608 @ =gSaveBlock1 - lsls r1, r3, 2 - adds r1, r0 - ldr r3, _0813A60C @ =0x0000049a - adds r1, r3 - ldrh r0, [r1] - b _0813A64A - .align 2, 0 -_0813A608: .4byte gSaveBlock1 -_0813A60C: .4byte 0x0000049a -_0813A610: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0813A628 - ldrh r0, [r4, 0x6] - subs r0, 0xA - strh r0, [r4, 0x6] - lsls r0, 16 - cmp r0, 0 - bgt _0813A64C - movs r0, 0x1 - b _0813A64A -_0813A628: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0813A668 - ldrh r0, [r4, 0x6] - adds r0, 0xA - strh r0, [r4, 0x6] - movs r0, 0x6 - ldrsh r2, [r4, r0] - ldr r1, _0813A660 @ =gSaveBlock1 - lsls r0, r6, 2 - adds r0, r1 - ldr r1, _0813A664 @ =0x0000049a - adds r0, r1 - ldrh r0, [r0] - cmp r2, r0 - ble _0813A64C -_0813A64A: - strh r0, [r4, 0x6] -_0813A64C: - ldrh r0, [r4, 0x6] - movs r1, 0x3 - str r1, [sp] - movs r1, 0x1 - movs r2, 0x8 - movs r3, 0x9 - bl sub_80A418C - b _0813A6E8 - .align 2, 0 -_0813A660: .4byte gSaveBlock1 -_0813A664: .4byte 0x0000049a -_0813A668: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813A69C - movs r0, 0x5 - bl PlaySE - movs r0, 0x6 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0813A694 - adds r0, r5, 0 - bl sub_813A6FC - b _0813A6E8 -_0813A694: - adds r0, r5, 0 - bl sub_813A794 - b _0813A6E8 -_0813A69C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0813A6E8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x6 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - movs r0, 0 - bl sub_80F98DC - movs r0, 0x1 - bl sub_80F98DC - ldr r2, _0813A6F4 @ =gSaveBlock1 - movs r3, 0x2 - ldrsh r0, [r4, r3] - movs r3, 0 - ldrsh r1, [r4, r3] - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x93 - lsls r1, 3 - adds r0, r1 - ldrh r0, [r0] - bl sub_813AD58 - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, _0813A6F8 @ =sub_813A280 - str r1, [r0] -_0813A6E8: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813A6F4: .4byte gSaveBlock1 -_0813A6F8: .4byte sub_813A280 - thumb_func_end sub_813A584 - - thumb_func_start sub_813A6FC -sub_813A6FC: @ 813A6FC - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r6, r1, 3 - ldr r7, _0813A758 @ =gTasks + 0x8 - adds r4, r6, r7 - ldrb r0, [r4, 0x2] - ldrb r1, [r4] - adds r0, r1 - lsls r0, 24 - ldr r1, _0813A75C @ =gSaveBlock1 - lsrs r0, 22 - adds r0, r1 - movs r2, 0x93 - lsls r2, 3 - adds r5, r0, r2 - ldrh r0, [r5] - ldrh r1, [r4, 0x6] - bl AddBagItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813A770 - ldrh r0, [r5] - ldr r1, _0813A760 @ =gStringVar1 - bl CopyItemName - ldr r0, _0813A764 @ =gStringVar2 - movs r2, 0x6 - ldrsh r1, [r4, r2] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _0813A768 @ =0x0000fffd - bl sub_813AD58 - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0813A76C @ =sub_813A8F0 - b _0813A782 - .align 2, 0 -_0813A758: .4byte gTasks + 0x8 -_0813A75C: .4byte gSaveBlock1 -_0813A760: .4byte gStringVar1 -_0813A764: .4byte gStringVar2 -_0813A768: .4byte 0x0000fffd -_0813A76C: .4byte sub_813A8F0 -_0813A770: - movs r0, 0 - strh r0, [r4, 0x6] - ldr r0, _0813A78C @ =0x0000fffa - bl sub_813AD58 - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0813A790 @ =sub_813A984 -_0813A782: - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813A78C: .4byte 0x0000fffa -_0813A790: .4byte sub_813A984 - thumb_func_end sub_813A6FC - - thumb_func_start sub_813A794 -sub_813A794: @ 813A794 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r7, r0, 3 - ldr r0, _0813A7FC @ =gTasks + 0x8 - mov r8, r0 - adds r4, r7, r0 - ldrb r0, [r4, 0x2] - ldrb r1, [r4] - adds r0, r1 - lsls r0, 24 - ldr r1, _0813A800 @ =gSaveBlock1 - lsrs r0, 22 - adds r0, r1 - movs r2, 0x93 - lsls r2, 3 - adds r5, r0, r2 - ldrh r0, [r5] - bl ItemId_GetImportance - lsls r0, 24 - cmp r0, 0 - bne _0813A814 - ldrh r0, [r5] - ldr r1, _0813A804 @ =gStringVar1 - bl CopyItemName - ldr r0, _0813A808 @ =gStringVar2 - movs r2, 0x6 - ldrsh r1, [r4, r2] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _0813A80C @ =0x0000fff8 - bl sub_813AD58 - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r1, _0813A810 @ =gUnknown_084062E0 - adds r0, r6, 0 - bl sub_80F914C - b _0813A828 - .align 2, 0 -_0813A7FC: .4byte gTasks + 0x8 -_0813A800: .4byte gSaveBlock1 -_0813A804: .4byte gStringVar1 -_0813A808: .4byte gStringVar2 -_0813A80C: .4byte 0x0000fff8 -_0813A810: .4byte gUnknown_084062E0 -_0813A814: - movs r0, 0 - strh r0, [r4, 0x6] - ldr r0, _0813A834 @ =0x0000fff9 - bl sub_813AD58 - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, _0813A838 @ =sub_813A8F0 - str r1, [r0] -_0813A828: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813A834: .4byte 0x0000fff9 -_0813A838: .4byte sub_813A8F0 - thumb_func_end sub_813A794 - - thumb_func_start sub_813A83C -sub_813A83C: @ 813A83C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x6 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - ldr r0, _0813A86C @ =0x0000fffb - bl sub_813AD58 - ldr r1, _0813A870 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0813A874 @ =sub_813A8F0 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813A86C: .4byte 0x0000fffb -_0813A870: .4byte gTasks -_0813A874: .4byte sub_813A8F0 - thumb_func_end sub_813A83C - - thumb_func_start sub_813A878 -sub_813A878: @ 813A878 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r6, _0813A8E4 @ =gTasks + 0x8 - adds r5, r4, r6 - movs r0, 0x6 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - ldrb r3, [r5, 0x8] - ldrb r0, [r5] - str r0, [sp] - movs r0, 0xD - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x10 - movs r2, 0x2 - bl InitMenu - movs r0, 0 - bl sub_80F98DC - movs r0, 0x1 - bl sub_80F98DC - ldr r2, _0813A8E8 @ =gSaveBlock1 - movs r1, 0x2 - ldrsh r0, [r5, r1] - movs r3, 0 - ldrsh r1, [r5, r3] - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x93 - lsls r1, 3 - adds r0, r1 - ldrh r0, [r0] - bl sub_813AD58 - subs r6, 0x8 - adds r4, r6 - ldr r0, _0813A8EC @ =sub_813A280 - str r0, [r4] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813A8E4: .4byte gTasks + 0x8 -_0813A8E8: .4byte gSaveBlock1 -_0813A8EC: .4byte sub_813A280 - thumb_func_end sub_813A878 - - thumb_func_start sub_813A8F0 -sub_813A8F0: @ 813A8F0 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0813A97C @ =gTasks + 0x8 - adds r5, r0, r1 - ldr r0, _0813A980 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0813A912 - cmp r1, 0x2 - bne _0813A972 -_0813A912: - ldrb r0, [r5, 0x2] - ldrb r1, [r5] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x6] - bl RemovePCItem - ldrh r4, [r5, 0x4] - bl CountUsedPCItemSlots - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x4] - lsls r4, 16 - asrs r4, 16 - cmp r4, r0 - beq _0813A952 - movs r2, 0x8 - ldrsh r0, [r5, r2] - movs r2, 0x2 - ldrsh r1, [r5, r2] - adds r0, r1 - cmp r4, r0 - bge _0813A952 - ldrh r1, [r5, 0x2] - movs r2, 0x2 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _0813A952 - subs r0, r1, 0x1 - strh r0, [r5, 0x2] -_0813A952: - adds r0, r6, 0 - bl sub_813A240 - adds r0, r6, 0 - bl sub_813A9EC - ldrb r3, [r5, 0x8] - ldrb r0, [r5] - str r0, [sp] - movs r0, 0xD - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x10 - movs r2, 0x2 - bl InitMenu -_0813A972: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813A97C: .4byte gTasks + 0x8 -_0813A980: .4byte gMain - thumb_func_end sub_813A8F0 - - thumb_func_start sub_813A984 -sub_813A984: @ 813A984 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r4, r1, 3 - ldr r5, _0813A9DC @ =gTasks + 0x8 - adds r3, r4, r5 - ldr r0, _0813A9E0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0813A9A4 - cmp r1, 0x2 - bne _0813A9D6 -_0813A9A4: - ldr r2, _0813A9E4 @ =gSaveBlock1 - movs r1, 0x2 - ldrsh r0, [r3, r1] - movs r6, 0 - ldrsh r1, [r3, r6] - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x93 - lsls r1, 3 - adds r0, r1 - ldrh r0, [r0] - bl sub_813AD58 - movs r0, 0 - bl sub_80F98DC - movs r0, 0x1 - bl sub_80F98DC - adds r0, r5, 0 - subs r0, 0x8 - adds r0, r4, r0 - ldr r1, _0813A9E8 @ =sub_813A280 - str r1, [r0] -_0813A9D6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813A9DC: .4byte gTasks + 0x8 -_0813A9E0: .4byte gMain -_0813A9E4: .4byte gSaveBlock1 -_0813A9E8: .4byte sub_813A280 - thumb_func_end sub_813A984 - - thumb_func_start sub_813A9EC -sub_813A9EC: @ 813A9EC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x6 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - movs r0, 0 - bl sub_80F98DC - movs r0, 0x1 - bl sub_80F98DC - adds r0, r4, 0 - bl sub_813AE0C - ldr r1, _0813AA28 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0813AA2C @ =sub_813A280 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813AA28: .4byte gTasks -_0813AA2C: .4byte sub_813A280 - thumb_func_end sub_813A9EC - - thumb_func_start sub_813AA30 -sub_813AA30: @ 813AA30 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0813AA80 @ =gTasks + 0x8 - adds r4, r1, r0 - ldrb r0, [r4] - ldrb r1, [r4, 0x2] - adds r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0 - strh r0, [r4, 0x12] - ldrb r0, [r4, 0x4] - cmp r0, r5 - bls _0813AA88 - ldrb r0, [r4, 0x10] - cmp r0, r5 - beq _0813AA88 - cmp r2, 0 - bne _0813AA88 - ldr r1, _0813AA84 @ =gSaveBlock1 - movs r0, 0x10 - ldrsh r2, [r4, r0] - lsls r2, 2 - movs r0, 0x93 - lsls r0, 3 - adds r1, r0 - adds r2, r1 - ldr r3, [r2] - lsls r0, r5, 2 - adds r0, r1 - ldr r1, [r0] - str r1, [r2] - str r3, [r0] - b _0813AAB8 - .align 2, 0 -_0813AA80: .4byte gTasks + 0x8 -_0813AA84: .4byte gSaveBlock1 -_0813AA88: - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r5, r0 - bne _0813AA9C - ldr r0, _0813AA98 @ =0x0000ffff - bl sub_813AD58 - b _0813AAAE - .align 2, 0 -_0813AA98: .4byte 0x0000ffff -_0813AA9C: - ldr r0, _0813AAC0 @ =gSaveBlock1 - lsls r1, r5, 2 - adds r1, r0 - movs r2, 0x93 - lsls r2, 3 - adds r1, r2 - ldrh r0, [r1] - bl sub_813AD58 -_0813AAAE: - movs r0, 0x10 - ldrsh r1, [r4, r0] - movs r2, 0x2 - ldrsh r0, [r4, r2] - subs r0, r1, r0 -_0813AAB8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813AAC0: .4byte gSaveBlock1 - thumb_func_end sub_813AA30 - - thumb_func_start sub_813AAC4 -sub_813AAC4: @ 813AAC4 - push {r4-r7,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r6, [sp, 0x14] - lsls r4, 16 - lsrs r4, 16 - lsls r2, 24 - lsrs r7, r2, 24 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _0813AAF4 @ =gStringVar1 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80A4164 - cmp r6, 0 - beq _0813AAFC - ldr r0, _0813AAF8 @ =gUnknown_0840632A - movs r1, 0x1A - adds r2, r7, 0 - bl MenuPrint - b _0813AB06 - .align 2, 0 -_0813AAF4: .4byte gStringVar1 -_0813AAF8: .4byte gUnknown_0840632A -_0813AAFC: - ldr r0, _0813AB0C @ =gUnknown_08406327 - movs r1, 0x1A - adds r2, r7, 0 - bl MenuPrint -_0813AB06: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813AB0C: .4byte gUnknown_08406327 - thumb_func_end sub_813AAC4 - - thumb_func_start sub_813AB10 -sub_813AB10: @ 813AB10 - push {lr} - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0813AB24 @ =gUnknown_08406330 - movs r1, 0x19 - bl MenuPrint - pop {r0} - bx r0 - .align 2, 0 -_0813AB24: .4byte gUnknown_08406330 - thumb_func_end sub_813AB10 - - thumb_func_start sub_813AB28 -sub_813AB28: @ 813AB28 - push {r4,r5,lr} - adds r4, r2, 0 - lsls r1, 24 - lsrs r5, r1, 24 - ldrh r0, [r0] - ldr r1, _0813AB48 @ =gStringVar1 - bl CopyItemName - cmp r4, 0 - beq _0813AB50 - ldr r0, _0813AB4C @ =gUnknown_0840631E - movs r1, 0x10 - adds r2, r5, 0 - bl MenuPrint - b _0813AB5A - .align 2, 0 -_0813AB48: .4byte gStringVar1 -_0813AB4C: .4byte gUnknown_0840631E -_0813AB50: - ldr r0, _0813AB60 @ =gUnknown_08406318 - movs r1, 0x10 - adds r2, r5, 0 - bl MenuPrint -_0813AB5A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813AB60: .4byte gUnknown_08406318 - thumb_func_end sub_813AB28 - - thumb_func_start sub_813AB64 -sub_813AB64: @ 813AB64 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 24 - lsrs r4, 24 - adds r1, r4, 0 - bl sub_813AB28 - ldrh r0, [r6, 0x2] - str r5, [sp] - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x3 - bl sub_813AAC4 - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813AB64 - - thumb_func_start sub_813AB90 -sub_813AB90: @ 813AB90 - push {r4,lr} - adds r4, r1, 0 - lsls r4, 24 - lsrs r4, 24 - adds r1, r4, 0 - bl sub_813AB28 - adds r0, r4, 0 - bl sub_813AB10 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813AB90 - - thumb_func_start sub_813ABAC -sub_813ABAC: @ 813ABAC - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r2, 0 - lsls r1, 24 - lsrs r5, r1, 24 - adds r1, r5, 0 - bl sub_813AB28 - ldrh r1, [r4] - movs r0, 0xA9 - lsls r0, 1 - cmp r1, r0 - bhi _0813ABD8 - ldrh r0, [r4, 0x2] - str r6, [sp] - movs r1, 0x1 - adds r2, r5, 0 - movs r3, 0x3 - bl sub_813AAC4 - b _0813ABDE -_0813ABD8: - adds r0, r5, 0 - bl sub_813AB10 -_0813ABDE: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813ABAC - - thumb_func_start sub_813ABE8 -sub_813ABE8: @ 813ABE8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0813AC0C @ =gTasks + 0x8 - adds r6, r1, r0 - movs r0, 0 - mov r8, r0 - ldrh r5, [r6, 0x2] - movs r2, 0x2 - ldrsh r1, [r6, r2] - b _0813ACC4 - .align 2, 0 -_0813AC0C: .4byte gTasks + 0x8 -_0813AC10: - subs r0, r5, r1 - lsls r0, 17 - lsrs r0, 16 - mov r8, r0 - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r5, r0 - beq _0813AD04 - movs r7, 0 - movs r2, 0x12 - ldrsh r0, [r6, r2] - cmp r0, 0 - beq _0813AC34 - movs r1, 0x10 - ldrsh r0, [r6, r1] - cmp r5, r0 - bne _0813AC34 - movs r7, 0x1 -_0813AC34: - ldr r0, _0813AC5C @ =gSaveBlock1 - lsls r4, r5, 2 - adds r0, r4, r0 - movs r2, 0x93 - lsls r2, 3 - adds r0, r2 - ldrh r0, [r0] - bl GetPocketByItemId - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x4 - bhi _0813ACBA - lsls r0, 2 - ldr r1, _0813AC60 @ =_0813AC64 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813AC5C: .4byte gSaveBlock1 -_0813AC60: .4byte _0813AC64 - .align 2, 0 -_0813AC64: - .4byte _0813AC78 - .4byte _0813AC78 - .4byte _0813ACA8 - .4byte _0813AC78 - .4byte _0813AC90 -_0813AC78: - ldr r0, _0813AC8C @ =gSaveBlock1 + 0x498 - adds r0, r4, r0 - mov r1, r8 - adds r1, 0x2 - lsls r1, 24 - lsrs r1, 24 - adds r2, r7, 0 - bl sub_813AB64 - b _0813ACBA - .align 2, 0 -_0813AC8C: .4byte gSaveBlock1 + 0x498 -_0813AC90: - ldr r0, _0813ACA4 @ =gSaveBlock1 + 0x498 - adds r0, r4, r0 - mov r1, r8 - adds r1, 0x2 - lsls r1, 24 - lsrs r1, 24 - adds r2, r7, 0 - bl sub_813AB90 - b _0813ACBA - .align 2, 0 -_0813ACA4: .4byte gSaveBlock1 + 0x498 -_0813ACA8: - ldr r0, _0813AD00 @ =gSaveBlock1 + 0x498 - adds r0, r4, r0 - mov r1, r8 - adds r1, 0x2 - lsls r1, 24 - lsrs r1, 24 - adds r2, r7, 0 - bl sub_813ABAC -_0813ACBA: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x2 - ldrsh r1, [r6, r0] -_0813ACC4: - movs r2, 0x8 - ldrsh r0, [r6, r2] - adds r0, r1, r0 - cmp r5, r0 - blt _0813AC10 -_0813ACCE: - movs r1, 0x2 - ldrsh r0, [r6, r1] - subs r0, r5, r0 - cmp r0, 0x7 - bgt _0813ACEA - mov r1, r8 - adds r1, 0x4 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x10 - movs r2, 0x1C - movs r3, 0x12 - bl MenuFillWindowRectWithBlankTile -_0813ACEA: - movs r2, 0x2 - ldrsh r0, [r6, r2] - cmp r0, 0 - beq _0813AD20 - movs r0, 0 - movs r1, 0xB8 - movs r2, 0x8 - bl CreateVerticalScrollIndicators - b _0813AD26 - .align 2, 0 -_0813AD00: .4byte gSaveBlock1 + 0x498 -_0813AD04: - ldr r0, _0813AD1C @ =gOtherText_CancelNoTerminator - mov r2, r8 - adds r2, 0x2 - lsls r2, 19 - lsrs r2, 16 - movs r1, 0x1 - str r1, [sp] - movs r1, 0x80 - movs r3, 0x68 - bl sub_8072A18 - b _0813ACCE - .align 2, 0 -_0813AD1C: .4byte gOtherText_CancelNoTerminator -_0813AD20: - movs r0, 0 - bl DestroyVerticalScrollIndicator -_0813AD26: - movs r1, 0x2 - ldrsh r0, [r6, r1] - movs r2, 0x8 - ldrsh r1, [r6, r2] - adds r0, r1 - movs r2, 0x4 - ldrsh r1, [r6, r2] - cmp r0, r1 - bgt _0813AD44 - movs r0, 0x1 - movs r1, 0xB8 - movs r2, 0x98 - bl CreateVerticalScrollIndicators - b _0813AD4A -_0813AD44: - movs r0, 0x1 - bl DestroyVerticalScrollIndicator -_0813AD4A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813ABE8 - - thumb_func_start sub_813AD58 -sub_813AD58: @ 813AD58 - push {lr} - sub sp, 0x8 - lsls r0, 16 - lsrs r1, r0, 16 - ldr r2, _0813AD74 @ =0xffff0009 - adds r0, r1, r2 - cmp r0, 0x8 - bhi _0813ADE8 - lsls r0, 2 - ldr r1, _0813AD78 @ =_0813AD7C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813AD74: .4byte 0xffff0009 -_0813AD78: .4byte _0813AD7C - .align 2, 0 -_0813AD7C: - .4byte _0813ADE0 - .4byte _0813ADD8 - .4byte _0813ADD0 - .4byte _0813ADC8 - .4byte _0813ADC0 - .4byte _0813ADB8 - .4byte _0813ADB0 - .4byte _0813ADA8 - .4byte _0813ADA0 -_0813ADA0: - ldr r1, _0813ADA4 @ =gMenuText_GoBackToPrev - b _0813ADF0 - .align 2, 0 -_0813ADA4: .4byte gMenuText_GoBackToPrev -_0813ADA8: - ldr r1, _0813ADAC @ =gOtherText_HowManyToWithdraw - b _0813ADF0 - .align 2, 0 -_0813ADAC: .4byte gOtherText_HowManyToWithdraw -_0813ADB0: - ldr r1, _0813ADB4 @ =gOtherText_WithdrewThing - b _0813ADF0 - .align 2, 0 -_0813ADB4: .4byte gOtherText_WithdrewThing -_0813ADB8: - ldr r1, _0813ADBC @ =gOtherText_HowManyToToss - b _0813ADF0 - .align 2, 0 -_0813ADBC: .4byte gOtherText_HowManyToToss -_0813ADC0: - ldr r1, _0813ADC4 @ =gOtherText_ThrewAwayItem - b _0813ADF0 - .align 2, 0 -_0813ADC4: .4byte gOtherText_ThrewAwayItem -_0813ADC8: - ldr r1, _0813ADCC @ =gOtherText_NoMoreRoom - b _0813ADF0 - .align 2, 0 -_0813ADCC: .4byte gOtherText_NoMoreRoom -_0813ADD0: - ldr r1, _0813ADD4 @ =gOtherText_TooImportant - b _0813ADF0 - .align 2, 0 -_0813ADD4: .4byte gOtherText_TooImportant -_0813ADD8: - ldr r1, _0813ADDC @ =gOtherText_OkayToThrowAwayPrompt - b _0813ADF0 - .align 2, 0 -_0813ADDC: .4byte gOtherText_OkayToThrowAwayPrompt -_0813ADE0: - ldr r1, _0813ADE4 @ =gOtherText_SwitchWhichItem - b _0813ADF0 - .align 2, 0 -_0813ADE4: .4byte gOtherText_SwitchWhichItem -_0813ADE8: - adds r0, r1, 0 - bl ItemId_GetDescription - adds r1, r0, 0 -_0813ADF0: - movs r0, 0x30 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - adds r0, r1, 0 - movs r1, 0x8 - movs r2, 0x68 - movs r3, 0x68 - bl sub_8072AB0 - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_813AD58 - - thumb_func_start sub_813AE0C -sub_813AE0C: @ 813AE0C - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, _0813AE48 @ =gTasks + 0x8 - adds r4, r1, r2 - ldrh r1, [r4] - ldrh r2, [r4, 0x2] - adds r1, r2 - lsls r1, 16 - lsrs r5, r1, 16 - bl sub_813ABE8 - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0813AE62 - lsls r0, r5, 16 - asrs r1, r0, 16 - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _0813AE50 - ldr r0, _0813AE4C @ =0x0000ffff - bl sub_813AD58 - b _0813AE62 - .align 2, 0 -_0813AE48: .4byte gTasks + 0x8 -_0813AE4C: .4byte 0x0000ffff -_0813AE50: - ldr r0, _0813AE68 @ =gSaveBlock1 - lsls r1, 2 - adds r1, r0 - movs r0, 0x93 - lsls r0, 3 - adds r1, r0 - ldrh r0, [r1] - bl sub_813AD58 -_0813AE62: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813AE68: .4byte gSaveBlock1 - thumb_func_end sub_813AE0C - - thumb_func_start sub_813AE6C -sub_813AE6C: @ 813AE6C - push {r4-r6,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r4, r1, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r5, r6, 2 - adds r5, r6 - lsls r5, 3 - ldr r0, _0813AEF8 @ =gTasks + 0x8 - adds r5, r0 - bl sub_80F944C - bl LoadScrollIndicatorPalette - bl sub_813AF04 - movs r0, 0xF - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - movs r0, 0 - movs r1, 0xC - movs r2, 0xE - movs r3, 0x13 - bl MenuDrawTextWindow - movs r0, 0 - movs r1, 0 - movs r2, 0xB - movs r3, 0x3 - bl MenuDrawTextWindow - ldr r0, _0813AEFC @ =gSaveBlock1 - movs r1, 0x93 - lsls r1, 3 - adds r0, r1 - ldrh r0, [r0] - bl sub_813AD58 - ldr r0, _0813AF00 @ =gUnknown_084062C0 - lsls r4, 3 - adds r4, r0 - ldr r0, [r4] - movs r1, 0x1 - movs r2, 0x1 - bl MenuPrint - adds r0, r6, 0 - bl sub_813ABE8 - ldrb r3, [r5, 0x8] - ldrb r0, [r5] - str r0, [sp] - movs r0, 0xD - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x10 - movs r2, 0x2 - bl InitMenu - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813AEF8: .4byte gTasks + 0x8 -_0813AEFC: .4byte gSaveBlock1 -_0813AF00: .4byte gUnknown_084062C0 - thumb_func_end sub_813AE6C - - thumb_func_start sub_813AF04 -sub_813AF04: @ 813AF04 - push {lr} - sub sp, 0x8 - ldr r1, _0813AF38 @ =gUnknown_08406334 - mov r0, sp - movs r2, 0x6 - bl memcpy - add r0, sp, 0x4 - movs r1, 0xDF - movs r2, 0x2 - bl LoadPalette - mov r0, sp - adds r0, 0x2 - movs r1, 0xD1 - movs r2, 0x2 - bl LoadPalette - mov r0, sp - movs r1, 0xD8 - movs r2, 0x2 - bl LoadPalette - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0813AF38: .4byte gUnknown_08406334 - thumb_func_end sub_813AF04 - - thumb_func_start sub_813AF3C -sub_813AF3C: @ 813AF3C - push {r4,lr} - movs r2, 0 - movs r1, 0x6 - ldr r4, _0813AF70 @ =gSaveBlock1 - ldr r3, _0813AF74 @ =0x00002b6c -_0813AF46: - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, r3 - ldrh r0, [r0] - cmp r0, 0 - beq _0813AF5C - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_0813AF5C: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _0813AF46 - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0813AF70: .4byte gSaveBlock1 -_0813AF74: .4byte 0x00002b6c - thumb_func_end sub_813AF3C - - thumb_func_start sub_813AF78 -sub_813AF78: @ 813AF78 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x24 - movs r2, 0x6 -_0813AF86: - adds r1, r2, 0x1 - lsls r0, r1, 24 - lsrs r3, r0, 24 - mov r10, r1 - cmp r3, 0xF - bhi _0813AFF4 - ldr r0, _0813B010 @ =gSaveBlock1 - mov r12, r0 - lsls r0, r2, 3 - adds r0, r2 - lsls r0, 2 - add r0, r12 - ldr r1, _0813B014 @ =0x00002b6c - adds r1, r0 - mov r8, r1 - ldr r2, _0813B018 @ =0x00002b4c - mov r9, r2 - adds r4, r0, r2 -_0813AFAA: - mov r5, r8 - ldrh r0, [r5] - cmp r0, 0 - bne _0813AFEA - mov r1, sp - adds r0, r4, 0 - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r2,r5,r6} - stm r1!, {r2,r5,r6} - lsls r2, r3, 3 - adds r2, r3 - lsls r2, 2 - add r2, r12 - add r2, r9 - adds r1, r4, 0 - adds r0, r2, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - mov r0, sp - ldm r0!, {r1,r5,r7} - stm r2!, {r1,r5,r7} - ldm r0!, {r1,r6,r7} - stm r2!, {r1,r6,r7} - ldm r0!, {r5-r7} - stm r2!, {r5-r7} -_0813AFEA: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xF - bls _0813AFAA -_0813AFF4: - mov r1, r10 - lsls r0, r1, 24 - lsrs r2, r0, 24 - cmp r2, 0xE - bls _0813AF86 - add sp, 0x24 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813B010: .4byte gSaveBlock1 -_0813B014: .4byte 0x00002b6c -_0813B018: .4byte 0x00002b4c - thumb_func_end sub_813AF78 - - thumb_func_start sub_813B01C -sub_813B01C: @ 813B01C - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r7, 0 - ldr r1, _0813B0B8 @ =0x0201fe00 - ldrb r4, [r1, 0x2] - ldrb r0, [r1, 0x1] - adds r0, r4, r0 - cmp r4, r0 - bge _0813B08A - adds r6, r1, 0 - ldr r0, _0813B0BC @ =gStringVar1 - mov r8, r0 -_0813B036: - ldrb r0, [r6, 0x2] - subs r0, r4, r0 - lsls r0, 17 - lsrs r7, r0, 16 - adds r0, r7, 0x2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r3, r7, 0x3 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x15 - adds r1, r5, 0 - movs r2, 0x1C - bl MenuFillWindowRectWithBlankTile - ldrb r0, [r6, 0x3] - cmp r4, r0 - beq _0813B0C4 - lsls r1, r4, 3 - adds r1, r4 - lsls r1, 2 - ldr r0, _0813B0C0 @ =gSaveBlock1 + 0x2C36 - adds r1, r0 - mov r0, r8 - bl StringCopy - mov r0, r8 - bl sub_814A568 - mov r0, r8 - movs r1, 0x15 - adds r2, r5, 0 - bl MenuPrint - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrb r0, [r6, 0x2] - ldrb r1, [r6, 0x1] - adds r0, r1 - cmp r4, r0 - blt _0813B036 -_0813B08A: - ldr r5, _0813B0B8 @ =0x0201fe00 - ldrb r0, [r5, 0x2] - subs r0, r4, r0 - cmp r0, 0x8 - beq _0813B0A4 - adds r1, r7, 0x4 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x15 - movs r2, 0x1C - movs r3, 0x12 - bl MenuFillWindowRectWithBlankTile -_0813B0A4: - ldrb r0, [r5, 0x2] - cmp r0, 0 - beq _0813B0D4 - movs r0, 0 - movs r1, 0xC8 - movs r2, 0x8 - bl CreateVerticalScrollIndicators - b _0813B0DA - .align 2, 0 -_0813B0B8: .4byte 0x0201fe00 -_0813B0BC: .4byte gStringVar1 -_0813B0C0: .4byte gSaveBlock1 + 0x2C36 -_0813B0C4: - ldr r0, _0813B0D0 @ =gOtherText_CancelNoTerminator - movs r1, 0x15 - adds r2, r5, 0 - bl MenuPrint - b _0813B08A - .align 2, 0 -_0813B0D0: .4byte gOtherText_CancelNoTerminator -_0813B0D4: - movs r0, 0 - bl DestroyVerticalScrollIndicator -_0813B0DA: - ldr r0, _0813B0F4 @ =0x0201fe00 - ldrb r1, [r0, 0x2] - ldrb r2, [r0, 0x1] - adds r1, r2 - ldrb r0, [r0, 0x3] - cmp r1, r0 - bgt _0813B0F8 - movs r0, 0x1 - movs r1, 0xC8 - movs r2, 0x98 - bl CreateVerticalScrollIndicators - b _0813B0FE - .align 2, 0 -_0813B0F4: .4byte 0x0201fe00 -_0813B0F8: - movs r0, 0x1 - bl DestroyVerticalScrollIndicator -_0813B0FE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813B01C - - thumb_func_start sub_813B108 -sub_813B108: @ 813B108 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_80F944C - bl LoadScrollIndicatorPalette - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0 - movs r2, 0x8 - movs r3, 0x3 - bl MenuDrawTextWindow - ldr r0, _0813B16C @ =gPCText_Mailbox - movs r1, 0x1 - movs r2, 0x1 - bl MenuPrint - movs r0, 0x14 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - adds r0, r4, 0 - bl sub_813B01C - ldr r0, _0813B170 @ =0x0201fe00 - ldrb r3, [r0, 0x1] - ldrb r0, [r0] - str r0, [sp] - movs r0, 0x8 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x15 - movs r2, 0x2 - bl InitMenu - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813B16C: .4byte gPCText_Mailbox -_0813B170: .4byte 0x0201fe00 - thumb_func_end sub_813B108 - - thumb_func_start sub_813B174 -sub_813B174: @ 813B174 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r0, _0813B1AC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r3, 0x80 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - bne _0813B274 - ldr r2, _0813B1B0 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0813B1CA - ldr r4, _0813B1B4 @ =0x0201fe00 - ldrb r0, [r4] - cmp r0, 0 - beq _0813B1B8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _0813B1E6 - .align 2, 0 -_0813B1AC: .4byte gPaletteFade -_0813B1B0: .4byte gMain -_0813B1B4: .4byte 0x0201fe00 -_0813B1B8: - ldrb r0, [r4, 0x2] - cmp r0, 0 - beq _0813B274 - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4, 0x2] - subs r0, 0x1 - b _0813B208 -_0813B1CA: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0813B212 - ldr r4, _0813B1F0 @ =0x0201fe00 - ldrb r1, [r4] - ldrb r0, [r4, 0x1] - subs r0, 0x1 - cmp r1, r0 - beq _0813B1F4 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_0813B1E6: - bl MoveMenuCursor - strb r0, [r4] - b _0813B274 - .align 2, 0 -_0813B1F0: .4byte 0x0201fe00 -_0813B1F4: - ldrb r0, [r4, 0x2] - adds r0, r1 - ldrb r1, [r4, 0x3] - cmp r0, r1 - beq _0813B274 - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4, 0x2] - adds r0, 0x1 -_0813B208: - strb r0, [r4, 0x2] - adds r0, r5, 0 - bl sub_813B01C - b _0813B274 -_0813B212: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813B25C - bl sub_8072DEC - movs r0, 0x5 - bl PlaySE - ldr r0, _0813B23C @ =0x0201fe00 - ldrb r1, [r0, 0x2] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x3] - cmp r1, r0 - bne _0813B240 - adds r0, r5, 0 - bl sub_813B320 - b _0813B274 - .align 2, 0 -_0813B23C: .4byte 0x0201fe00 -_0813B240: - bl sub_813B27C - ldr r0, _0813B254 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0813B258 @ =sub_813B294 - str r0, [r1] - b _0813B274 - .align 2, 0 -_0813B254: .4byte gTasks -_0813B258: .4byte sub_813B294 -_0813B25C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0813B274 - bl sub_8072DEC - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_813B320 -_0813B274: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_813B174 - - thumb_func_start sub_813B27C -sub_813B27C: @ 813B27C - push {lr} - bl BuyMenuFreeMemory - movs r0, 0 - bl DestroyVerticalScrollIndicator - movs r0, 0x1 - bl DestroyVerticalScrollIndicator - pop {r0} - bx r0 - thumb_func_end sub_813B27C - - thumb_func_start sub_813B294 -sub_813B294: @ 813B294 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r4, _0813B2E8 @ =gStringVar1 - ldr r1, _0813B2EC @ =0x0201fe00 - ldrb r0, [r1] - adds r0, 0x6 - ldrb r1, [r1, 0x2] - adds r0, r1 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _0813B2F0 @ =gSaveBlock1 + 0x2B5E - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - bl sub_814A568 - ldr r4, _0813B2F4 @ =gStringVar4 - ldr r1, _0813B2F8 @ =gOtherText_WhatWillYouDoMail - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _0813B2FC @ =sub_813B348 - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0 - bl DisplayItemMessageOnField - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813B2E8: .4byte gStringVar1 -_0813B2EC: .4byte 0x0201fe00 -_0813B2F0: .4byte gSaveBlock1 + 0x2B5E -_0813B2F4: .4byte gStringVar4 -_0813B2F8: .4byte gOtherText_WhatWillYouDoMail -_0813B2FC: .4byte sub_813B348 - thumb_func_end sub_813B294 - - thumb_func_start sub_813B300 -sub_813B300: @ 813B300 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl sub_8139E24 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813B300 - - thumb_func_start sub_813B320 -sub_813B320: @ 813B320 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_813B27C - ldr r1, _0813B340 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0813B344 @ =sub_813B300 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813B340: .4byte gTasks -_0813B344: .4byte sub_813B300 - thumb_func_end sub_813B320 - - thumb_func_start sub_813B348 -sub_813B348: @ 813B348 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0xC - movs r3, 0x9 - bl MenuDrawTextWindow - ldr r3, _0813B394 @ =gUnknown_084062F8 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x4 - bl PrintMenuItems - movs r0, 0 - str r0, [sp] - movs r0, 0xB - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x4 - bl InitMenu - ldr r1, _0813B398 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0813B39C @ =sub_813B3A0 - str r1, [r0] - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813B394: .4byte gUnknown_084062F8 -_0813B398: .4byte gTasks -_0813B39C: .4byte sub_813B3A0 - thumb_func_end sub_813B348 - - thumb_func_start sub_813B3A0 -sub_813B3A0: @ 813B3A0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r2, _0813B3C4 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0813B3C8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _0813B420 - .align 2, 0 -_0813B3C4: .4byte gMain -_0813B3C8: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0813B3DE - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _0813B420 -_0813B3DE: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813B40C - movs r0, 0x5 - bl PlaySE - ldr r4, _0813B408 @ =gUnknown_084062F8 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 21 - adds r4, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - b _0813B420 - .align 2, 0 -_0813B408: .4byte gUnknown_084062F8 -_0813B40C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0813B420 - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_813B734 -_0813B420: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_813B3A0 - - thumb_func_start sub_813B428 -sub_813B428: @ 813B428 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0 - bl fade_screen - ldr r1, _0813B44C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0813B450 @ =sub_813B454 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813B44C: .4byte gTasks -_0813B450: .4byte sub_813B454 - thumb_func_end sub_813B428 - - thumb_func_start sub_813B454 -sub_813B454: @ 813B454 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813B490 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813B488 - ldr r0, _0813B494 @ =0x0201fe00 - ldrb r1, [r0] - adds r1, 0x6 - ldrb r0, [r0, 0x2] - adds r1, r0 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0813B498 @ =gSaveBlock1 + 0x2B4C - adds r0, r1 - ldr r1, _0813B49C @ =sub_813B4F0 - movs r2, 0x1 - bl sub_80F890C - adds r0, r4, 0 - bl DestroyTask -_0813B488: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813B490: .4byte gPaletteFade -_0813B494: .4byte 0x0201fe00 -_0813B498: .4byte gSaveBlock1 + 0x2B4C -_0813B49C: .4byte sub_813B4F0 - thumb_func_end sub_813B454 - - thumb_func_start sub_813B4A0 -sub_813B4A0: @ 813B4A0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807D770 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813B4C0 - ldr r0, _0813B4C8 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0813B4CC @ =sub_813B174 - str r0, [r1] -_0813B4C0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813B4C8: .4byte gTasks -_0813B4CC: .4byte sub_813B174 - thumb_func_end sub_813B4A0 - - thumb_func_start sub_813B4D0 -sub_813B4D0: @ 813B4D0 - push {lr} - ldr r0, _0813B4EC @ =sub_813B4A0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl sub_813B108 - bl pal_fill_black - pop {r0} - bx r0 - .align 2, 0 -_0813B4EC: .4byte sub_813B4A0 - thumb_func_end sub_813B4D0 - - thumb_func_start sub_813B4F0 -sub_813B4F0: @ 813B4F0 - push {lr} - ldr r0, _0813B504 @ =gUnknown_0300485C - ldr r1, _0813B508 @ =sub_813B4D0 - str r1, [r0] - ldr r0, _0813B50C @ =c2_exit_to_overworld_2_switch - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0813B504: .4byte gUnknown_0300485C -_0813B508: .4byte sub_813B4D0 -_0813B50C: .4byte c2_exit_to_overworld_2_switch - thumb_func_end sub_813B4F0 - - thumb_func_start sub_813B510 -sub_813B510: @ 813B510 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8072DEC - ldr r0, _0813B540 @ =gStringVar1 - ldr r1, _0813B544 @ =gOtherText_MoveToBag - bl StringCopy - ldr r0, _0813B548 @ =gUnknown_0840633A - movs r1, 0x1 - movs r2, 0x3 - bl MenuPrint - ldr r1, _0813B54C @ =gOtherText_MessageWillBeLost - ldr r2, _0813B550 @ =sub_813B554 - adds r0, r4, 0 - movs r3, 0 - bl DisplayItemMessageOnField - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813B540: .4byte gStringVar1 -_0813B544: .4byte gOtherText_MoveToBag -_0813B548: .4byte gUnknown_0840633A -_0813B54C: .4byte gOtherText_MessageWillBeLost -_0813B550: .4byte sub_813B554 - thumb_func_end sub_813B510 - - thumb_func_start sub_813B554 -sub_813B554: @ 813B554 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x14 - movs r1, 0x8 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r1, _0813B574 @ =gUnknown_084062E8 - adds r0, r4, 0 - bl sub_80F914C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813B574: .4byte gUnknown_084062E8 - thumb_func_end sub_813B554 - - thumb_func_start sub_813B578 -sub_813B578: @ 813B578 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r4, _0813B5BC @ =0x0201fe00 - ldrb r0, [r4] - adds r0, 0x6 - ldrb r1, [r4, 0x2] - adds r0, r1 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _0813B5C0 @ =gSaveBlock1 + 0x2B4C - adds r6, r1, r0 - movs r0, 0x14 - movs r1, 0x8 - movs r2, 0x1A - movs r3, 0xD - bl MenuZeroFillWindowRect - ldrh r0, [r6, 0x20] - movs r1, 0x1 - bl AddBagItem - lsls r0, 24 - cmp r0, 0 - bne _0813B5CC - ldr r1, _0813B5C4 @ =gOtherText_BagIsFull - ldr r2, _0813B5C8 @ =sub_813B758 - adds r0, r5, 0 - movs r3, 0 - bl DisplayItemMessageOnField - b _0813B602 - .align 2, 0 -_0813B5BC: .4byte 0x0201fe00 -_0813B5C0: .4byte gSaveBlock1 + 0x2B4C -_0813B5C4: .4byte gOtherText_BagIsFull -_0813B5C8: .4byte sub_813B758 -_0813B5CC: - ldr r1, _0813B608 @ =gOtherText_MailWasReturned - ldr r2, _0813B60C @ =sub_813B758 - adds r0, r5, 0 - movs r3, 0 - bl DisplayItemMessageOnField - adds r0, r6, 0 - bl sub_80A2B40 - bl sub_813AF78 - ldrb r0, [r4, 0x3] - subs r0, 0x1 - strb r0, [r4, 0x3] - ldrb r1, [r4, 0x3] - ldrb r0, [r4, 0x1] - ldrb r2, [r4, 0x2] - adds r0, r2 - cmp r1, r0 - bge _0813B5FC - cmp r2, 0 - beq _0813B5FC - subs r0, r2, 0x1 - strb r0, [r4, 0x2] -_0813B5FC: - adds r0, r5, 0 - bl sub_813A240 -_0813B602: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813B608: .4byte gOtherText_MailWasReturned -_0813B60C: .4byte sub_813B758 - thumb_func_end sub_813B578 - - thumb_func_start sub_813B610 -sub_813B610: @ 813B610 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x14 - movs r1, 0x8 - movs r2, 0x1A - movs r3, 0xD - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl sub_813B758 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813B610 - - thumb_func_start sub_813B630 -sub_813B630: @ 813B630 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _0813B648 - adds r0, r4, 0 - bl sub_813B718 - b _0813B65E -_0813B648: - movs r0, 0x1 - movs r1, 0 - bl fade_screen - ldr r0, _0813B664 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0813B668 @ =sub_813B66C - str r0, [r1] -_0813B65E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813B664: .4byte gTasks -_0813B668: .4byte sub_813B66C - thumb_func_end sub_813B630 - - thumb_func_start sub_813B66C -sub_813B66C: @ 813B66C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813B698 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813B690 - ldr r0, _0813B69C @ =sub_808B020 - bl SetMainCallback2 - ldr r1, _0813B6A0 @ =gUnknown_02038561 - movs r0, 0x3 - strb r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0813B690: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813B698: .4byte gPaletteFade -_0813B69C: .4byte sub_808B020 -_0813B6A0: .4byte gUnknown_02038561 - thumb_func_end sub_813B66C - - thumb_func_start sub_813B6A4 -sub_813B6A4: @ 813B6A4 - push {r4-r6,lr} - ldr r0, _0813B6F0 @ =sub_813B4A0 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _0813B6F4 @ =0x0201fe00 - ldrb r4, [r5, 0x3] - bl sub_813AF3C - strb r0, [r5, 0x3] - bl sub_813AF78 - ldrb r0, [r5, 0x3] - cmp r4, r0 - beq _0813B6DA - ldrb r1, [r5, 0x3] - ldrb r0, [r5, 0x1] - ldrb r2, [r5, 0x2] - adds r0, r2 - cmp r1, r0 - bge _0813B6DA - cmp r2, 0 - beq _0813B6DA - subs r0, r2, 0x1 - strb r0, [r5, 0x2] -_0813B6DA: - adds r0, r6, 0 - bl sub_813A240 - adds r0, r6, 0 - bl sub_813B108 - bl pal_fill_black - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813B6F0: .4byte sub_813B4A0 -_0813B6F4: .4byte 0x0201fe00 - thumb_func_end sub_813B6A4 - - thumb_func_start sub_813B6F8 -sub_813B6F8: @ 813B6F8 - push {lr} - ldr r0, _0813B70C @ =gUnknown_0300485C - ldr r1, _0813B710 @ =sub_813B6A4 - str r1, [r0] - ldr r0, _0813B714 @ =c2_exit_to_overworld_2_switch - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0813B70C: .4byte gUnknown_0300485C -_0813B710: .4byte sub_813B6A4 -_0813B714: .4byte c2_exit_to_overworld_2_switch - thumb_func_end sub_813B6F8 - - thumb_func_start sub_813B718 -sub_813B718: @ 813B718 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0813B72C @ =gOtherText_NoPokemon - ldr r2, _0813B730 @ =sub_813B758 - movs r3, 0 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_0813B72C: .4byte gOtherText_NoPokemon -_0813B730: .4byte sub_813B758 - thumb_func_end sub_813B718 - - thumb_func_start sub_813B734 -sub_813B734: @ 813B734 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8072DEC - movs r0, 0 - movs r1, 0 - movs r2, 0xC - movs r3, 0x9 - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl sub_813B758 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813B734 - - thumb_func_start sub_813B758 -sub_813B758: @ 813B758 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_813B108 - ldr r1, _0813B77C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0813B780 @ =sub_813B174 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813B77C: .4byte gTasks -_0813B780: .4byte sub_813B174 - thumb_func_end sub_813B758 - .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index 7c2e952aa..4d36d310c 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -170,6 +170,7 @@ SECTIONS { asm/field_effect_helpers.o(.text); asm/contest_ai.o(.text); asm/rom_81258BC.o(.text); + asm/player_pc.o(.text); src/intro.o(.text); asm/rom_813BA94.o(.text); src/lottery_corner.o(.text); |