pokeruby/asm/player_pc.s
2016-10-30 18:00:20 -07:00

3468 lines
60 KiB
ArmAsm

.include "constants/gba_constants.inc"
.include "constants/species_constants.inc"
.include "asm/macros.inc"
.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 BedroomPC
BedroomPC: @ 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 @ =InitPlayerPCMenu
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 InitPlayerPCMenu
thumb_func_end BedroomPC
thumb_func_start PlayerPC
PlayerPC: @ 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 @ =InitPlayerPCMenu
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 InitPlayerPCMenu
thumb_func_end PlayerPC
thumb_func_start InitPlayerPCMenu
InitPlayerPCMenu: @ 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 @ =PlayerPCProcessMenuInput
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 PlayerPCProcessMenuInput
thumb_func_end InitPlayerPCMenu
thumb_func_start PlayerPCProcessMenuInput
PlayerPCProcessMenuInput: @ 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 PlayerPCProcessMenuInput
thumb_func_start ReshowPlayerPC
ReshowPlayerPC: @ 8139E24
push {lr}
lsls r0, 24
lsrs r0, 24
ldr r1, _08139E38 @ =gOtherText_WhatWillYouDo
ldr r2, _08139E3C @ =InitPlayerPCMenu
movs r3, 0
bl DisplayItemMessageOnField
pop {r0}
bx r0
.align 2, 0
_08139E38: .4byte gOtherText_WhatWillYouDo
_08139E3C: .4byte InitPlayerPCMenu
thumb_func_end ReshowPlayerPC
thumb_func_start PlayerPC_ItemStorage
PlayerPC_ItemStorage: @ 8139E40
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
movs r0, 0
bl InitItemStorageMenu
ldr r1, _08139E64 @ =gTasks
lsls r0, r4, 2
adds r0, r4
lsls r0, 3
adds r0, r1
ldr r1, _08139E68 @ =ItemStorageMenuProcessInput
str r1, [r0]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08139E64: .4byte gTasks
_08139E68: .4byte ItemStorageMenuProcessInput
thumb_func_end PlayerPC_ItemStorage
thumb_func_start PlayerPC_Mailbox
PlayerPC_Mailbox: @ 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 @ =ReshowPlayerPC
adds r0, r4, 0
movs r3, 0
bl DisplayItemMessageOnField
b _08139ECA
.align 2, 0
_08139E9C: .4byte 0x0201fe00
_08139EA0: .4byte gOtherText_NoMailHere
_08139EA4: .4byte ReshowPlayerPC
_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 PlayerPC_Mailbox
thumb_func_start PlayerPC_Decoration
PlayerPC_Decoration: @ 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 DoPlayerPCDecoration
pop {r4}
pop {r0}
bx r0
thumb_func_end PlayerPC_Decoration
thumb_func_start PlayerPC_TurnOff
PlayerPC_TurnOff: @ 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 PlayerPC_TurnOff
thumb_func_start InitItemStorageMenu
InitItemStorageMenu: @ 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 ItemStorageMenuPrint
add sp, 0x8
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08139FAC: .4byte gUnknown_084062C0
_08139FB0: .4byte gUnknown_08406288
thumb_func_end InitItemStorageMenu
thumb_func_start ItemStorageMenuPrint
ItemStorageMenuPrint: @ 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 ItemStorageMenuPrint
thumb_func_start ItemStorageMenuProcessInput
ItemStorageMenuProcessInput: @ 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 ItemStorageMenuPrint
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 ItemStorageMenuProcessInput
thumb_func_start Task_ItemStorage_Deposit
Task_ItemStorage_Deposit: @ 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 Task_ItemStorage_Deposit
thumb_func_start ItemStorage_Deposit
ItemStorage_Deposit: @ 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 @ =Task_ItemStorage_Deposit
str r0, [r1]
movs r0, 0x1
movs r1, 0
bl fade_screen
pop {r0}
bx r0
.align 2, 0
_0813A0C0: .4byte gTasks
_0813A0C4: .4byte Task_ItemStorage_Deposit
thumb_func_end ItemStorage_Deposit
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 @ =ItemStorageMenuProcessInput
str r0, [r1]
_0813A0E8:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0813A0F0: .4byte gTasks
_0813A0F4: .4byte ItemStorageMenuProcessInput
thumb_func_end sub_813A0C8
thumb_func_start sub_813A0F8
sub_813A0F8: @ 813A0F8
push {lr}
bl MenuDisplayMessageBox
movs r0, 0x1
bl InitItemStorageMenu
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 ItemStorage_Withdraw
ItemStorage_Withdraw: @ 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 @ =PlayerPC_ItemStorage
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 PlayerPC_ItemStorage
thumb_func_end ItemStorage_Withdraw
thumb_func_start ItemStorage_Toss
ItemStorage_Toss: @ 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 @ =PlayerPC_ItemStorage
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 PlayerPC_ItemStorage
thumb_func_end ItemStorage_Toss
thumb_func_start ItemStorage_Exit
ItemStorage_Exit: @ 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 ReshowPlayerPC
pop {r4}
pop {r0}
bx r0
thumb_func_end ItemStorage_Exit
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 InitItemStorageMenu
ldr r0, _0813A4B0 @ =ItemStorageMenuProcessInput
str r0, [r4]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0813A4AC: .4byte gTasks
_0813A4B0: .4byte ItemStorageMenuProcessInput
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 ReshowPlayerPC
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 Mailbox_Cancel
_0813B420:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_813B3A0
thumb_func_start Mailbox_Read
Mailbox_Read: @ 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 Mailbox_Read
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 Mailbox_MoveToBag
Mailbox_MoveToBag: @ 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 Mailbox_MoveToBag
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 Mailbox_Give
Mailbox_Give: @ 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 Mailbox_Give
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 Mailbox_Cancel
Mailbox_Cancel: @ 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 Mailbox_Cancel
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.