diff options
Diffstat (limited to 'asm/player_pc.s')
-rw-r--r-- | asm/player_pc.s | 3467 |
1 files changed, 3467 insertions, 0 deletions
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. |