diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2021-03-30 13:11:51 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-30 13:11:51 -0500 |
commit | a2d206665c6fffbd962375f262b7fbb05c7b7478 (patch) | |
tree | 6710109c4d9098b74da68ca8f18024d6c184ebc2 /asm/wonder_mail.s | |
parent | 2fd4f339b42c010191c199772b09ac34c580de94 (diff) |
Move some data and Splitting (#32)
* move friend area settings to src
* split out playtime into different C file and decomp a few more funcs
* time -> play_time
* fix include
* split out more wonder mail stuff
* unify 203B2C0 and unkDungeon structs. snuck in a decomp func too
* split out more menu screens
* work some more on trade items
* doc a few more things
* add a close nonmatch and decomp nullsub and small func
* rollback struct attempt since it causes nonmatchings
* only one func left in asm
* death to trade_item asm and unify into one C file
* more docing and cleanup
* label main menu and trade items menu global menu struct
* doc itemMode
Diffstat (limited to 'asm/wonder_mail.s')
-rw-r--r-- | asm/wonder_mail.s | 16651 |
1 files changed, 987 insertions, 15664 deletions
diff --git a/asm/wonder_mail.s b/asm/wonder_mail.s index e5d1c87..af15e98 100644 --- a/asm/wonder_mail.s +++ b/asm/wonder_mail.s @@ -2,1244 +2,400 @@ .include "asm/macros.inc" .syntax unified + + .text - .text - - thumb_func_start sub_802A50C -sub_802A50C: - push {r4,r5,lr} - sub sp, 0x44 - bl sub_80154F0 - adds r4, r0, 0 - add r0, sp, 0x14 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - cmp r4, 0x2 - bne _0802A526 - b _0802A660 -_0802A526: - cmp r4, 0x3 - beq _0802A52C - b _0802A680 -_0802A52C: - ldr r0, _0802A54C - ldr r1, [r0] - adds r1, 0x8 - movs r0, 0x20 - add r2, sp, 0x14 - bl sub_8039068 - subs r0, 0x7 - cmp r0, 0x11 - bls _0802A542 - b _0802A654 -_0802A542: + thumb_func_start sub_8028078 +sub_8028078: + push {lr} + ldr r0, _08028090 + ldr r0, [r0] + ldr r0, [r0, 0x4] + cmp r0, 0x3C + bls _08028086 + b _080282D4 +_08028086: lsls r0, 2 - ldr r1, _0802A550 + ldr r1, _08028094 adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0802A54C: .4byte gUnknown_203B2C4 -_0802A550: .4byte _0802A554 - .align 2, 0 -_0802A554: - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A5F0 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A59C - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A5D8 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A654 - .4byte _0802A618 -_0802A59C: - ldr r0, _0802A5CC - ldr r3, _0802A5D0 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, _0802A5D4 - ldr r1, [r1] - movs r2, 0x84 - lsls r2, 3 - adds r1, r2 - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x7 - bl sub_8014248 - movs r0, 0x28 - bl sub_802B2BC - b _0802A654 - .align 2, 0 -_0802A5CC: .4byte gUnknown_80DF1C0 -_0802A5D0: .4byte gUnknown_80DEE44 -_0802A5D4: .4byte gUnknown_203B2C4 -_0802A5D8: - ldr r0, _0802A5E8 - ldr r1, _0802A5EC - ldr r2, [r1] - movs r3, 0x84 - lsls r3, 3 - adds r2, r3 - b _0802A5FC - .align 2, 0 -_0802A5E8: .4byte gUnknown_80DF208 -_0802A5EC: .4byte gUnknown_203B2C4 -_0802A5F0: - ldr r0, _0802A60C - ldr r1, _0802A610 - ldr r2, [r1] - movs r4, 0x84 - lsls r4, 3 - adds r2, r4 -_0802A5FC: - ldr r3, _0802A614 - movs r1, 0 - bl sub_80141B4 - movs r0, 0x1F - bl sub_802B2BC - b _0802A654 - .align 2, 0 -_0802A60C: .4byte gUnknown_80DF0A0 -_0802A610: .4byte gUnknown_203B2C4 -_0802A614: .4byte 0x0000010d -_0802A618: - ldr r1, [sp, 0x24] - movs r0, 0x4 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r2, r0, 0 - add r1, sp, 0x14 - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - movs r1, 0x6 - strb r1, [r0] - ldr r0, _0802A65C - ldr r0, [r0] - movs r5, 0x86 - lsls r5, 3 - adds r0, r5 - ldr r1, [sp, 0x24] - str r1, [r0] - movs r0, 0x21 - bl sub_802B2BC -_0802A654: - bl sub_80155F0 - b _0802A680 - .align 2, 0 -_0802A65C: .4byte gUnknown_203B2C4 -_0802A660: - bl sub_80155F0 - bl ResetUnusedInputStruct - ldr r0, _0802A688 - ldr r0, [r0] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_802B2BC -_0802A680: - add sp, 0x44 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802A688: .4byte gUnknown_203B2C4 - thumb_func_end sub_802A50C - - thumb_func_start sub_802A68C -sub_802A68C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A6AE - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _0802A6AE - bl sub_8012750 - movs r0, 0xD - bl sub_802B2BC -_0802A6AE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A68C - - thumb_func_start sub_802A6B4 -sub_802A6B4: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A6E8 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _0802A6E8 - bl sub_8012744 - adds r4, r0, 0 - bl sub_8012750 - cmp r4, 0 - bne _0802A6E2 - movs r0, 0x20 - bl sub_802B2BC - b _0802A6E8 -_0802A6E2: +_08028090: .4byte gUnknown_203B2C0 +_08028094: .4byte _08028098 + .align 2, 0 +_08028098: + .4byte _080282C4 + .4byte _080282C4 + .4byte _080282CA + .4byte _080282D0 + .4byte _08028222 + .4byte _08028234 + .4byte _08028228 + .4byte _0802822E + .4byte _0802823A + .4byte _080281FE + .4byte _08028272 + .4byte _08028278 + .4byte _0802828C + .4byte _0802827E + .4byte _0802828C + .4byte _0802827E + .4byte _0802828C + .4byte _08028286 + .4byte _08028294 + .4byte _0802829A + .4byte _080282B2 + .4byte _080282B8 + .4byte _080282BE + .4byte _080282A0 + .4byte _080282A6 + .4byte _080282AC + .4byte _08028240 + .4byte _08028248 + .4byte _0802824E + .4byte _0802824E + .4byte _0802825A + .4byte _0802826C + .4byte _08028260 + .4byte _08028266 + .4byte _08028254 + .4byte _08028204 + .4byte _0802820A + .4byte _080282CA + .4byte _08028210 + .4byte _08028216 + .4byte _0802821C + .4byte _080281E0 + .4byte _080281F2 + .4byte _080281E6 + .4byte _080281EC + .4byte _080281DA + .4byte _080281D4 + .4byte _080281F8 + .4byte _080281CE + .4byte _080281C2 + .4byte _080281AA + .4byte _080281B0 + .4byte _080281B6 + .4byte _080281BC + .4byte _080281C8 + .4byte _080281A4 + .4byte _0802819E + .4byte _080282CA + .4byte _08028192 + .4byte _08028198 + .4byte _0802818C +_0802818C: + bl sub_8029B34 + b _080282D4 +_08028192: + bl sub_8029AD8 + b _080282D4 +_08028198: + bl sub_8029AF4 + b _080282D4 +_0802819E: + bl sub_8029A88 + b _080282D4 +_080281A4: + bl sub_8029AB0 + b _080282D4 +_080281AA: + bl sub_80297B8 + b _080282D4 +_080281B0: + bl sub_80297D4 + b _080282D4 +_080281B6: + bl sub_8029884 + b _080282D4 +_080281BC: + bl sub_8029944 + b _080282D4 +_080281C2: + bl sub_80299AC + b _080282D4 +_080281C8: + bl sub_80299D8 + b _080282D4 +_080281CE: + bl sub_8029A6C + b _080282D4 +_080281D4: + bl sub_8029A18 + b _080282D4 +_080281DA: + bl sub_80295A8 + b _080282D4 +_080281E0: + bl sub_8029668 + b _080282D4 +_080281E6: + bl sub_8029684 + b _080282D4 +_080281EC: + bl sub_8029740 + b _080282D4 +_080281F2: + bl sub_80295D8 + b _080282D4 +_080281F8: + bl sub_802979C + b _080282D4 +_080281FE: + bl sub_8029358 + b _080282D4 +_08028204: + bl sub_8029374 + b _080282D4 +_0802820A: + bl sub_802939C + b _080282D4 +_08028210: + bl sub_80293D8 + b _080282D4 +_08028216: + bl sub_80293F4 + b _080282D4 +_0802821C: + bl sub_802955C + b _080282D4 +_08028222: + bl sub_80292A4 + b _080282D4 +_08028228: + bl sub_80292EC + b _080282D4 +_0802822E: + bl sub_802933C + b _080282D4 +_08028234: + bl sub_802958C + b _080282D4 +_0802823A: + bl sub_8029208 + b _080282D4 +_08028240: + movs r0, 0x1 + bl sub_8028DE8 + b _080282D4 +_08028248: + bl sub_8028F80 + b _080282D4 +_0802824E: + bl sub_8028FC0 + b _080282D4 +_08028254: + bl sub_8028FDC + b _080282D4 +_0802825A: + bl sub_80290D4 + b _080282D4 +_08028260: + bl sub_80290F0 + b _080282D4 +_08028266: + bl sub_80291AC + b _080282D4 +_0802826C: + bl sub_8029044 + b _080282D4 +_08028272: + bl sub_8028CFC + b _080282D4 +_08028278: + bl sub_8028D4C + b _080282D4 +_0802827E: + movs r0, 0xA + bl sub_8028DE8 + b _080282D4 +_08028286: + bl sub_8028E08 + b _080282D4 +_0802828C: + movs r0, 0x19 + bl sub_8028DE8 + b _080282D4 +_08028294: + bl sub_8028E24 + b _080282D4 +_0802829A: + bl sub_8028E54 + b _080282D4 +_080282A0: + bl sub_8028E84 + b _080282D4 +_080282A6: + bl sub_8028EAC + b _080282D4 +_080282AC: + bl sub_8028ED4 + b _080282D4 +_080282B2: + bl sub_8028F04 + b _080282D4 +_080282B8: + bl sub_8028F30 + b _080282D4 +_080282BE: + bl sub_8028F58 + b _080282D4 +_080282C4: + bl sub_8028BF0 + b _080282D4 +_080282CA: + bl sub_8028CE0 + b _080282D4 +_080282D0: movs r0, 0x3 - bl sub_802B2BC -_0802A6E8: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802A6B4 - - thumb_func_start sub_802A6F0 -sub_802A6F0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A710 - movs r0, 0x18 - bl sub_802B2BC - movs r0, 0x1 - bl sub_8011C28 + b _080282D6 +_080282D4: movs r0, 0 - bl sub_8012574 -_0802A710: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A6F0 - - thumb_func_start sub_802A718 -sub_802A718: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A738 - movs r0, 0x25 - bl sub_802B2BC - movs r0, 0x1 - bl sub_8011C28 - movs r0, 0 - bl sub_8012574 -_0802A738: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A718 - - thumb_func_start sub_802A740 -sub_802A740: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A754 - movs r0, 0x1E - bl sub_802B2BC -_0802A754: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A740 - - thumb_func_start sub_802A75C -sub_802A75C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A792 - ldr r0, [sp] - cmp r0, 0 - beq _0802A78C - cmp r0, 0x7 - bne _0802A792 - ldr r0, _0802A788 - ldr r0, [r0] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - movs r0, 0x16 - bl sub_802B2BC - b _0802A792 - .align 2, 0 -_0802A788: .4byte gUnknown_203B2C4 -_0802A78C: - movs r0, 0x1 - bl sub_802B2BC -_0802A792: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A75C +_080282D6: + pop {r1} + bx r1 + thumb_func_end sub_8028078 - thumb_func_start sub_802A798 -sub_802A798: - push {r4,r5,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A81E - ldr r0, [sp] - cmp r0, 0x7 - beq _0802A7BC - cmp r0, 0x7 - bgt _0802A7B6 - cmp r0, 0 - beq _0802A818 - b _0802A81E -_0802A7B6: - cmp r0, 0x8 - beq _0802A810 - b _0802A81E -_0802A7BC: - ldr r4, _0802A800 - ldr r0, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bl sub_8095228 - adds r2, r0, 0 - ldr r1, [r4] - ldr r3, _0802A804 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _0802A7E2 - ldr r5, _0802A808 - adds r0, r1, r5 - ldr r0, [r0] - str r0, [r2, 0x20] -_0802A7E2: - ldr r0, _0802A80C - ldr r1, [r0] - ldr r0, [r4] - adds r0, r3 - ldrb r0, [r0] - lsls r0, 1 - adds r1, 0x50 + thumb_func_start sub_80282DC +sub_80282DC: + ldr r1, _080282F4 + ldr r1, [r1] + movs r3, 0x86 + lsls r3, 2 + adds r2, r1, r3 + ldrb r2, [r2] + strb r2, [r0] + ldr r0, _080282F8 adds r1, r0 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r0, 0x29 - bl sub_802B2BC - b _0802A81E - .align 2, 0 -_0802A800: .4byte gUnknown_203B2C4 -_0802A804: .4byte 0x0000041e -_0802A808: .4byte 0x0000041c -_0802A80C: .4byte gUnknown_203B460 -_0802A810: - movs r0, 0xB - bl sub_802B2BC - b _0802A81E -_0802A818: - movs r0, 0x1 - bl sub_802B2BC -_0802A81E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_802A798 - - thumb_func_start sub_802A828 -sub_802A828: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A848 - movs r0, 0x2A - bl sub_802B2BC - movs r0, 0x1 - bl sub_8011C28 - movs r0, 0 - bl sub_8012574 -_0802A848: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A828 - - thumb_func_start sub_802A850 -sub_802A850: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A89A - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _0802A89A - bl sub_8012750 - ldr r0, _0802A884 - ldr r0, [r0] - ldr r1, _0802A888 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x3 - blt _0802A89A - cmp r0, 0x4 - ble _0802A88C - cmp r0, 0x5 - beq _0802A894 - b _0802A89A - .align 2, 0 -_0802A884: .4byte gUnknown_203B2C4 -_0802A888: .4byte 0x00000534 -_0802A88C: - movs r0, 0x1D - bl sub_802B2BC - b _0802A89A -_0802A894: - movs r0, 0x19 - bl sub_802B2BC -_0802A89A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A850 - - thumb_func_start sub_802A8A0 -sub_802A8A0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A8B4 - movs r0, 0x13 - bl sub_802B2BC -_0802A8B4: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A8A0 - - thumb_func_start sub_802A8BC -sub_802A8BC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A90A - ldr r0, [sp] - cmp r0, 0 - beq _0802A904 - cmp r0, 0xA - bne _0802A90A - ldr r0, _0802A8EC - ldr r0, [r0] - ldr r1, _0802A8F0 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x3 - blt _0802A90A - cmp r0, 0x4 - ble _0802A8F4 - cmp r0, 0x5 - beq _0802A8FC - b _0802A90A - .align 2, 0 -_0802A8EC: .4byte gUnknown_203B2C4 -_0802A8F0: .4byte 0x00000534 -_0802A8F4: - movs r0, 0x1D - bl sub_802B2BC - b _0802A90A -_0802A8FC: - movs r0, 0x19 - bl sub_802B2BC - b _0802A90A -_0802A904: - movs r0, 0x1 - bl sub_802B2BC -_0802A90A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A8BC - - thumb_func_start sub_802A910 -sub_802A910: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A986 - ldr r0, [sp] - cmp r0, 0x9 - beq _0802A934 - cmp r0, 0x9 - bgt _0802A92E - cmp r0, 0 - beq _0802A980 - b _0802A986 -_0802A92E: - cmp r0, 0xA - beq _0802A950 - b _0802A986 -_0802A934: - movs r0, 0 - bl sub_801CF14 - lsls r0, 24 - cmp r0, 0 - beq _0802A948 - movs r0, 0xA - bl sub_802B2BC - b _0802A986 -_0802A948: - movs r0, 0xB - bl sub_802B2BC - b _0802A986 -_0802A950: - ldr r0, _0802A968 - ldr r0, [r0] - ldr r1, _0802A96C - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x3 - blt _0802A986 - cmp r0, 0x4 - ble _0802A970 - cmp r0, 0x5 - beq _0802A978 - b _0802A986 - .align 2, 0 -_0802A968: .4byte gUnknown_203B2C4 -_0802A96C: .4byte 0x00000534 -_0802A970: - movs r0, 0x1D - bl sub_802B2BC - b _0802A986 -_0802A978: - movs r0, 0x19 - bl sub_802B2BC - b _0802A986 -_0802A980: - movs r0, 0x1 - bl sub_802B2BC -_0802A986: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A910 - - thumb_func_start sub_802A98C -sub_802A98C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A9A0 - movs r0, 0x8 - bl sub_802B2BC -_0802A9A0: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A98C - - thumb_func_start sub_802A9A8 -sub_802A9A8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802A9F6 - ldr r0, [sp] - cmp r0, 0 - beq _0802A9F0 - cmp r0, 0x7 - bne _0802A9F6 - ldr r0, _0802A9D8 - ldr r0, [r0] - ldr r1, _0802A9DC - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x3 - blt _0802A9F6 - cmp r0, 0x4 - ble _0802A9E0 - cmp r0, 0x5 - beq _0802A9E8 - b _0802A9F6 - .align 2, 0 -_0802A9D8: .4byte gUnknown_203B2C4 -_0802A9DC: .4byte 0x00000534 -_0802A9E0: - movs r0, 0x1D - bl sub_802B2BC - b _0802A9F6 -_0802A9E8: - movs r0, 0x19 - bl sub_802B2BC - b _0802A9F6 -_0802A9F0: - movs r0, 0x1 - bl sub_802B2BC -_0802A9F6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A9A8 - - thumb_func_start sub_802A9FC -sub_802A9FC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802AA22 - ldr r0, [sp] - cmp r0, 0 - beq _0802AA1C - cmp r0, 0x7 - bne _0802AA22 - movs r0, 0x26 - bl sub_802B2BC - b _0802AA22 -_0802AA1C: - movs r0, 0x1 - bl sub_802B2BC -_0802AA22: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802A9FC - - thumb_func_start sub_802AA28 -sub_802AA28: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802AAA6 - ldr r2, [sp] - cmp r2, 0 - beq _0802AAA0 - cmp r2, 0 - blt _0802AAA6 - cmp r2, 0x5 - bgt _0802AAA6 - cmp r2, 0x3 - blt _0802AAA6 - ldr r0, _0802AA7C - ldr r0, [r0] - ldr r3, _0802AA80 - adds r1, r0, r3 - str r2, [r1] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x1 - bne _0802AA8C - movs r0, 0x5 - bl sub_80953D4 - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r0, 0x22 - ldrb r0, [r0] - cmp r0, 0 - beq _0802AA84 - movs r0, 0x7 - bl sub_802B2BC - b _0802AAA6 + ldr r0, [r1] + bx lr .align 2, 0 -_0802AA7C: .4byte gUnknown_203B2C4 -_0802AA80: .4byte 0x00000534 -_0802AA84: - movs r0, 0x9 - bl sub_802B2BC - b _0802AAA6 -_0802AA8C: - cmp r2, 0x5 - bne _0802AA98 - movs r0, 0x26 - bl sub_802B2BC - b _0802AAA6 -_0802AA98: - movs r0, 0x1D - bl sub_802B2BC - b _0802AAA6 -_0802AAA0: - movs r0, 0x1 - bl sub_802B2BC -_0802AAA6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802AA28 +_080282F4: .4byte gUnknown_203B2C0 +_080282F8: .4byte 0x0000053c + thumb_func_end sub_80282DC - thumb_func_start sub_802AAAC -sub_802AAAC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802AAC0 - movs r0, 0x1 - bl sub_802B2BC -_0802AAC0: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802AAAC - - thumb_func_start sub_802AAC8 -sub_802AAC8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802AADC - movs r0, 0x3 - bl sub_802B2BC -_0802AADC: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802AAC8 - - thumb_func_start sub_802AAE4 -sub_802AAE4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 + thumb_func_start sub_80282FC +sub_80282FC: + push {r4,lr} + ldr r4, _08028340 + ldr r0, [r4] cmp r0, 0 - bne _0802AB5A - ldr r2, [sp] - cmp r2, 0x1 - beq _0802AB08 - cmp r2, 0x1 - bgt _0802AB02 - cmp r2, 0 - beq _0802AB54 - b _0802AB5A -_0802AB02: - cmp r2, 0x2 - beq _0802AB38 - b _0802AB5A -_0802AB08: - ldr r0, _0802AB2C - ldr r0, [r0] - movs r1, 0x6 - str r1, [r0, 0x40] - movs r1, 0xA7 + beq _08028338 + movs r1, 0x84 lsls r1, 3 adds r0, r1 - str r2, [r0] - movs r0, 0x5 - bl sub_8095324 - cmp r0, 0 - bne _0802AB30 - movs r0, 0x4 - bl sub_802B2BC - b _0802AB5A - .align 2, 0 -_0802AB2C: .4byte gUnknown_203B2C4 -_0802AB30: - movs r0, 0xF - bl sub_802B2BC - b _0802AB5A -_0802AB38: - ldr r0, _0802AB50 ldr r0, [r0] - movs r1, 0x7 - str r1, [r0, 0x40] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - str r2, [r0] - movs r0, 0x6 - bl sub_802B2BC - b _0802AB5A - .align 2, 0 -_0802AB50: .4byte gUnknown_203B2C4 -_0802AB54: - movs r0, 0x2 - bl sub_802B2BC -_0802AB5A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802AAE4 - - thumb_func_start sub_802AB60 -sub_802AB60: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802AB74 - movs r0, 0x22 - bl sub_802B2BC -_0802AB74: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802AB60 - - thumb_func_start sub_802AB7C -sub_802AB7C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802AB90 - movs r0, 0x22 - bl sub_802B2BC -_0802AB90: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802AB7C - - thumb_func_start sub_802AB98 -sub_802AB98: - push {r4,lr} - bl sub_802F298 - cmp r0, 0x3 - bne _0802ABE0 - bl sub_802F2C0 - ldr r0, _0802ABE8 - movs r4, 0x98 - lsls r4, 1 - adds r1, r4, 0 - bl sub_808D8E0 - adds r0, r4, 0 - bl GetMonSpecies - adds r1, r0, 0 - ldr r0, _0802ABEC - bl strcpy - ldr r0, _0802ABF0 - ldr r0, [r0] - movs r1, 0x86 - lsls r1, 3 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x6 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095240 - movs r0, 0x24 - bl sub_802B2BC -_0802ABE0: + bl CloseFile + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] + bl sub_8031E10 + bl sub_8023C60 + bl sub_803084C + bl sub_80155F0 + bl sub_80310B4 + bl sub_8030DE4 + bl sub_802453C +_08028338: pop {r4} pop {r0} bx r0 .align 2, 0 -_0802ABE8: .4byte gUnknown_202E5D8 -_0802ABEC: .4byte gAvailablePokemonNames -_0802ABF0: .4byte gUnknown_203B2C4 - thumb_func_end sub_802AB98 +_08028340: .4byte gUnknown_203B2C0 + thumb_func_end sub_80282FC - thumb_func_start nullsub_131 -nullsub_131: + thumb_func_start nullsub_130 +nullsub_130: bx lr - thumb_func_end nullsub_131 + thumb_func_end nullsub_130 - thumb_func_start sub_802ABF8 -sub_802ABF8: + thumb_func_start sub_8028348 +sub_8028348: push {r4-r6,lr} - sub sp, 0xB8 - ldr r1, _0802AC14 + sub sp, 0x14 + ldr r1, _08028368 ldr r0, [r1] - ldrb r0, [r0] + ldr r0, [r0, 0x4] adds r6, r1, 0 - cmp r0, 0x2A - bls _0802AC0A - b _0802B2AA -_0802AC0A: + cmp r0, 0x3C + bls _0802835C + bl _08028AF2 +_0802835C: lsls r0, 2 - ldr r1, _0802AC18 + ldr r1, _0802836C adds r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 -_0802AC14: .4byte gUnknown_203B2C4 -_0802AC18: .4byte _0802AC1C - .align 2, 0 -_0802AC1C: - .4byte _0802B1DC - .4byte _0802B1FC - .4byte _0802B22C - .4byte _0802B2AA - .4byte _0802B1D4 - .4byte _0802ACC8 - .4byte _0802B248 - .4byte _0802B194 - .4byte _0802B1A4 - .4byte _0802B168 - .4byte _0802B138 - .4byte _0802B128 - .4byte _0802B0F0 - .4byte _0802B0AC - .4byte _0802AD08 - .4byte _0802AD18 - .4byte _0802AD20 - .4byte _0802AD46 - .4byte _0802B2AA - .4byte _0802AD80 - .4byte _0802ADB0 - .4byte _0802B2AA - .4byte _0802B07C - .4byte _0802B094 - .4byte _0802B2AA - .4byte _0802AF50 - .4byte _0802AF1A - .4byte _0802AF46 - .4byte _0802B2AA - .4byte _0802B0A4 - .4byte _0802ADF8 - .4byte _0802B2AA - .4byte _0802AF70 - .4byte _0802AF78 - .4byte _0802AFAC - .4byte _0802B2AA - .4byte _0802AF60 - .4byte _0802B2AA - .4byte _0802AEEC - .4byte _0802AEF4 - .4byte _0802B2AA - .4byte _0802B110 - .4byte _0802B120 -_0802ACC8: - bl sub_808D33C - adds r1, r0, 0 - adds r1, 0x4C - add r0, sp, 0x14 - movs r2, 0xA - bl sub_80922B4 - ldr r5, _0802ACF8 - ldr r0, [r5] - ldr r4, _0802ACFC - adds r0, r4 - ldr r1, _0802AD00 - add r2, sp, 0x14 - bl sub_800D158 - ldr r2, [r5] - adds r4, r2, r4 - movs r0, 0x84 - lsls r0, 3 - adds r2, r0 - ldr r3, _0802AD04 - adds r0, r4, 0 - b _0802B238 - .align 2, 0 -_0802ACF8: .4byte gUnknown_203B2C4 -_0802ACFC: .4byte 0x00000434 -_0802AD00: .4byte gUnknown_80DF250 -_0802AD04: .4byte 0x0000010d -_0802AD08: - ldr r0, _0802AD10 - ldr r3, _0802AD14 - b _0802B1A8 - .align 2, 0 -_0802AD10: .4byte gUnknown_80DF304 -_0802AD14: .4byte gUnknown_80DEE60 -_0802AD18: - ldr r0, _0802AD1C - b _0802B22E - .align 2, 0 -_0802AD1C: .4byte gUnknown_80DF330 -_0802AD20: - bl sub_8030894 - cmp r0, 0 - beq _0802AD2A - b _0802B2AA -_0802AD2A: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x5 - movs r1, 0 - movs r2, 0 - movs r3, 0x6 - bl sub_80306A8 - b _0802B2AA -_0802AD46: - ldr r0, [r6] - movs r4, 0xD7 - lsls r4, 2 - adds r0, r4 - bl sub_8006518 - ldr r1, [r6] - movs r5, 0x87 - lsls r5, 2 - adds r0, r1, r5 - adds r1, r4 - ldr r3, _0802AD78 - ldr r2, _0802AD7C - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - str r2, [sp, 0xC] - movs r2, 0x3 - bl SetMenuItems - bl sub_803092C - b _0802ADE0 - .align 2, 0 -_0802AD78: .4byte gUnknown_80DED60 -_0802AD7C: .4byte gUnknown_80DED78 -_0802AD80: - bl sub_801D008 - cmp r0, 0 - beq _0802AD8A - b _0802B2AA -_0802AD8A: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - add r2, sp, 0xB4 - ldr r0, _0802ADAC - str r0, [r2] - movs r0, 0 - movs r1, 0x1 - movs r3, 0x9 - bl sub_801C8C4 - b _0802B2AA - .align 2, 0 -_0802ADAC: .4byte 0x00020003 -_0802ADB0: - ldr r0, [r6] - movs r4, 0xD7 - lsls r4, 2 - adds r0, r4 - bl sub_8006518 - ldr r1, [r6] - movs r5, 0x87 - lsls r5, 2 - adds r0, r1, r5 - adds r1, r4 - ldr r3, _0802ADF0 - ldr r2, _0802ADF4 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0 - str r2, [sp, 0x8] - str r2, [sp, 0xC] - movs r2, 0x3 - bl SetMenuItems - bl sub_801CCD8 -_0802ADE0: - ldr r0, [r6] - adds r0, r5 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - b _0802B2AA - .align 2, 0 -_0802ADF0: .4byte gUnknown_80DED48 -_0802ADF4: .4byte gUnknown_80DED78 -_0802ADF8: - ldr r1, [r6] - movs r0, 0 - str r0, [r1, 0x44] - bl sub_8011830 - ldr r0, [r6] - ldr r0, [r0, 0x40] - bl sub_8037B28 - ldr r1, [r6] - str r0, [r1, 0x44] - cmp r0, 0 - bne _0802AEE6 - ldr r0, [r1, 0x40] - cmp r0, 0x6 - beq _0802AE1E - cmp r0, 0x7 - beq _0802AE5C - b _0802AE8C -_0802AE1E: - movs r4, 0xDC - lsls r4, 1 - adds r0, r1, r4 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r5, 0x86 - lsls r5, 2 - adds r0, r5 - ldrb r0, [r0] - bl sub_8095228 - ldr r1, [r6] - adds r1, r4 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r4, r2, r4 - movs r1, 0xF4 - lsls r1, 1 - adds r2, r1 - b _0802AE82 -_0802AE5C: - movs r4, 0xDC - lsls r4, 1 - adds r0, r1, r4 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r5, 0xF4 - lsls r5, 1 - adds r0, r5 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r4, r2, r4 - adds r2, r5 -_0802AE82: - adds r1, r4, 0 - bl sub_8037D64 - ldr r1, [r6] - str r0, [r1, 0x44] -_0802AE8C: - ldr r4, _0802AED0 - ldr r2, [r4] - ldr r0, [r2, 0x44] - cmp r0, 0 - bne _0802AEE6 - ldr r0, [r2, 0x40] - cmp r0, 0x7 - bhi _0802AEE6 - cmp r0, 0x6 - bcc _0802AEE6 - movs r3, 0xDC - lsls r3, 1 - adds r1, r2, r3 - movs r5, 0xF4 - lsls r5, 1 - adds r2, r5 - bl sub_80381F4 - ldr r1, [r4] - str r0, [r1, 0x44] - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _0802AED4 - ldr r0, [r4] - movs r2, 0x86 - lsls r2, 3 - adds r1, r0, r2 - movs r3, 0xFC - lsls r3, 1 - adds r0, r3 - b _0802AEE2 - .align 2, 0 -_0802AED0: .4byte gUnknown_203B2C4 -_0802AED4: - ldr r0, [r4] - movs r5, 0x86 - lsls r5, 3 - adds r1, r0, r5 - movs r2, 0xE4 - lsls r2, 1 - adds r0, r2 -_0802AEE2: - ldr r0, [r0] - str r0, [r1] -_0802AEE6: - bl xxx_call_start_bg_music - b _0802B2AA -_0802AEEC: - ldr r0, _0802AEF0 - b _0802B22E - .align 2, 0 -_0802AEF0: .4byte gUnknown_80DF380 -_0802AEF4: - ldr r0, [r6] - movs r5, 0xEF - lsls r5, 2 - adds r0, r5 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, [r6] - adds r1, 0x8 - movs r0, 0x4 - bl sub_80151C0 - b _0802B2AA -_0802AF1A: +_08028368: .4byte gUnknown_203B2C0 +_0802836C: .4byte _08028370 + .align 2, 0 +_08028370: + .4byte _08028A84 + .4byte _08028AB4 + .4byte _08028AE0 + .4byte _08028AF2 + .4byte _08028650 + .4byte _08028660 + .4byte _08028678 + .4byte _08028AF2 + .4byte _08028802 + .4byte _08028640 + .4byte _0802890C + .4byte _08028948 + .4byte _08028988 + .4byte _08028978 + .4byte _080289A0 + .4byte _08028990 + .4byte _080289B8 + .4byte _080289B0 + .4byte _080289C8 + .4byte _080289E8 + .4byte _08028A48 + .4byte _08028A58 + .4byte _08028A68 + .4byte _080289F8 + .4byte _08028A08 + .4byte _08028A18 + .4byte _08028850 + .4byte _08028860 + .4byte _08028868 + .4byte _08028878 + .4byte _08028890 + .4byte _080288A0 + .4byte _080288C6 + .4byte _08028AF2 + .4byte _08028888 + .4byte _08028790 + .4byte _08028AF2 + .4byte _080287C4 + .4byte _080287D4 + .4byte _080287DC + .4byte _08028AF2 + .4byte _080285CC + .4byte _080285DC + .4byte _080288C6 + .4byte _08028AF2 + .4byte _080285AC + .4byte _08028610 + .4byte _080285F8 + .4byte _08028600 + .4byte _0802856C + .4byte _080284F4 + .4byte _0802850C + .4byte _08028532 + .4byte _08028AF2 + .4byte _0802859C + .4byte _080284B8 + .4byte _080284A8 + .4byte _080284EC + .4byte _080284A0 + .4byte _08028464 + .4byte _08028490 +_08028464: ldr r0, [r6] movs r1, 0xEF lsls r1, 2 @@ -1257,307 +413,120 @@ _0802AF1A: ldrb r0, [r0] movs r1, 0 bl sub_8031D70 - b _0802B2AA -_0802AF46: - ldr r0, _0802AF4C - b _0802B22E - .align 2, 0 -_0802AF4C: .4byte gUnknown_80DF3B4 -_0802AF50: - ldr r0, _0802AF5C + b _08028AF2 +_08028490: + ldr r0, _0802849C ldr r2, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r2, r5 - b _0802B236 + movs r3, 0x84 + lsls r3, 3 + adds r2, r3 + b _08028A72 .align 2, 0 -_0802AF5C: .4byte gUnknown_80DF418 -_0802AF60: - ldr r0, _0802AF6C +_0802849C: .4byte gUnknown_80DDBA8 +_080284A0: + ldr r0, _080284A4 + b _08028A6A + .align 2, 0 +_080284A4: .4byte gUnknown_80DDBFC +_080284A8: + ldr r0, _080284B4 ldr r2, [r6] movs r1, 0x84 lsls r1, 3 adds r2, r1 - b _0802B236 - .align 2, 0 -_0802AF6C: .4byte gUnknown_80DF44C -_0802AF70: - ldr r0, _0802AF74 - b _0802B22E + b _08028A72 .align 2, 0 -_0802AF74: .4byte gUnknown_80DF46C -_0802AF78: +_080284B4: .4byte gUnknown_80DDC30 +_080284B8: ldr r0, [r6] - ldr r5, _0802AF90 - adds r0, r5 + ldr r2, _080284D0 + adds r0, r2 ldr r0, [r0] - cmp r0, 0x4 - bne _0802AF86 - b _0802B2AA -_0802AF86: - cmp r0, 0x4 - bgt _0802AF94 - cmp r0, 0x3 - beq _0802AF9A - b _0802B2AA + cmp r0, 0xE + bne _080284C6 + b _08028AF2 +_080284C6: + cmp r0, 0xE + bhi _080284D4 + cmp r0, 0xD + beq _080284DA + b _08028AF2 .align 2, 0 -_0802AF90: .4byte 0x00000534 -_0802AF94: - cmp r0, 0x6 - ble _0802AF9A - b _0802B2AA -_0802AF9A: - ldr r0, _0802AFA8 +_080284D0: .4byte 0x00000534 +_080284D4: + cmp r0, 0x10 + bls _080284DA + b _08028AF2 +_080284DA: + ldr r0, _080284E8 ldr r2, [r6] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - b _0802B236 - .align 2, 0 -_0802AFA8: .4byte gUnknown_80DF4F4 -_0802AFAC: - movs r4, 0x98 - lsls r4, 1 - adds r0, r4, 0 - bl GetMonSpecies - adds r1, r0, 0 - ldr r5, _0802B00C - ldr r0, [r5] - ldr r2, _0802B010 - adds r0, r2 - bl strcpy - ldr r1, [r5] - movs r3, 0xAA - lsls r3, 3 - adds r0, r1, r3 - movs r2, 0 - strh r4, [r0] - ldr r0, _0802B014 - adds r1, r0 - movs r0, 0x2 - strb r0, [r1] - ldr r0, [r5] - adds r3, 0x4 - adds r1, r0, r3 - str r2, [r1] - movs r1, 0x86 - lsls r1, 3 - adds r0, r1 - ldr r1, [r0] - movs r0, 0x6 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r2, r0, 0 - adds r0, 0x22 - ldrb r1, [r0] - cmp r1, 0 - beq _0802B018 - ldr r0, [r5] - movs r3, 0xAB + movs r3, 0x84 lsls r3, 3 - adds r0, r3 - b _0802B022 + adds r2, r3 + b _08028A72 .align 2, 0 -_0802B00C: .4byte gUnknown_203B2C4 -_0802B010: .4byte 0x0000053c -_0802B014: .4byte 0x00000552 -_0802B018: - ldr r0, [r5] - movs r5, 0xAB - lsls r5, 3 - adds r0, r5 - movs r1, 0 -_0802B022: - strb r1, [r0] - ldr r4, _0802B068 - ldr r0, [r4] - ldr r1, _0802B06C - adds r0, r1 - movs r5, 0 - movs r1, 0x1 - strb r1, [r0] - adds r0, r2, 0x4 - movs r1, 0 - bl sub_803C200 - ldr r1, [r4] - movs r3, 0xAC - lsls r3, 3 - adds r2, r1, r3 - str r0, [r2] - ldr r0, _0802B070 - adds r1, r0 - strb r5, [r1] - ldr r0, [r4] - ldr r1, _0802B074 - adds r0, r1 - strb r5, [r0] - ldr r0, [r4] - ldr r2, _0802B078 - adds r0, r2 - strb r5, [r0] - ldr r0, [r4] - subs r3, 0x24 - adds r0, r3 - movs r1, 0 - bl sub_802F204 - b _0802B2AA +_080284E8: .4byte gUnknown_80DDC70 +_080284EC: + ldr r0, _080284F0 + b _08028A6A .align 2, 0 -_0802B068: .4byte gUnknown_203B2C4 -_0802B06C: .4byte 0x0000055b -_0802B070: .4byte 0x00000559 -_0802B074: .4byte 0x0000055a -_0802B078: .4byte 0x0000055c -_0802B07C: - movs r0, 0 - bl nullsub_23 - ldr r0, _0802B090 +_080284F0: .4byte gUnknown_80DDC30 +_080284F4: + ldr r0, _08028504 + ldr r3, _08028508 movs r1, 0 movs r2, 0 - movs r3, 0 bl sub_80141B4 - b _0802B2AA + b _08028AF2 .align 2, 0 -_0802B090: .4byte gUnknown_80DF544 -_0802B094: - ldr r0, _0802B0A0 - ldr r2, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r2, r5 - b _0802B236 - .align 2, 0 -_0802B0A0: .4byte gUnknown_80DF594 -_0802B0A4: - ldr r0, _0802B0A8 - b _0802B1A6 - .align 2, 0 -_0802B0A8: .4byte gUnknown_80DF5E4 -_0802B0AC: - bl sub_808D33C - adds r1, r0, 0 - add r6, sp, 0x64 - adds r1, 0x4C - adds r0, r6, 0 - movs r2, 0xA - bl sub_80922B4 - ldr r5, _0802B0E0 - ldr r0, [r5] - ldr r4, _0802B0E4 - adds r0, r4 - ldr r1, _0802B0E8 - adds r2, r6, 0 - bl sub_800D158 - ldr r2, [r5] - adds r4, r2, r4 - movs r3, 0x84 - lsls r3, 3 - adds r2, r3 - ldr r3, _0802B0EC - adds r0, r4, 0 - b _0802B238 - .align 2, 0 -_0802B0E0: .4byte gUnknown_203B2C4 -_0802B0E4: .4byte 0x00000434 -_0802B0E8: .4byte gUnknown_80DF63C -_0802B0EC: .4byte 0x0000010d -_0802B0F0: - ldr r0, _0802B108 - ldr r3, _0802B10C +_08028504: .4byte gUnknown_80DDCBC +_08028508: .4byte 0x00000101 +_0802850C: + bl sub_8023CE8 + cmp r0, 0 + beq _08028516 + b _08028AF2 +_08028516: + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x3 + movs r1, 0 movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] + movs r3, 0x9 + bl sub_8023868 + b _08028AF2 +_08028532: + ldr r0, [r6] + movs r4, 0xD7 + lsls r4, 2 + adds r0, r4 + bl sub_8006518 ldr r1, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r1, r5 - b _0802B1BA - .align 2, 0 -_0802B108: .4byte gUnknown_80DF694 -_0802B10C: .4byte gUnknown_80DEEE4 -_0802B110: - ldr r0, _0802B11C - ldr r2, [r6] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - b _0802B236 - .align 2, 0 -_0802B11C: .4byte gUnknown_80DF44C -_0802B120: - ldr r0, _0802B124 - b _0802B22E - .align 2, 0 -_0802B124: .4byte gUnknown_80DF6F0 -_0802B128: - ldr r0, _0802B134 - ldr r2, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r2, r5 - b _0802B236 - .align 2, 0 -_0802B134: .4byte gUnknown_80DF710 -_0802B138: - ldr r0, _0802B160 - ldr r3, _0802B164 - movs r2, 0 + movs r5, 0x87 + lsls r5, 2 + adds r0, r1, r5 + adds r1, r4 + ldr r3, _08028564 + ldr r2, _08028568 str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, [r6] - movs r2, 0x84 - lsls r2, 3 - adds r1, r2 - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0 - bl sub_8014248 - b _0802B2AA - .align 2, 0 -_0802B160: .4byte gUnknown_80DF73C -_0802B164: .4byte gUnknown_80DEEBC -_0802B168: - ldr r0, _0802B18C - ldr r3, _0802B190 + movs r2, 0x1 + str r2, [sp, 0x4] movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] str r2, [sp, 0x8] - ldr r1, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r1, r5 - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _0802B2AA - .align 2, 0 -_0802B18C: .4byte gUnknown_80DF77C -_0802B190: .4byte gUnknown_80DEE7C -_0802B194: - ldr r0, _0802B1A0 - ldr r2, [r6] - movs r1, 0x84 - lsls r1, 3 - adds r2, r1 - b _0802B236 + str r2, [sp, 0xC] + movs r2, 0x3 + bl SetMenuItems + bl sub_8023DA4 + b _080288F6 .align 2, 0 -_0802B1A0: .4byte gUnknown_80DF7D4 -_0802B1A4: - ldr r0, _0802B1CC -_0802B1A6: - ldr r3, _0802B1D0 -_0802B1A8: +_08028564: .4byte gUnknown_80DDAE4 +_08028568: .4byte gUnknown_80DDAFC +_0802856C: + ldr r0, _08028594 + ldr r3, _08028598 movs r2, 0 str r2, [sp] movs r1, 0x4 @@ -1567,41 +536,26 @@ _0802B1A8: movs r2, 0x84 lsls r2, 3 adds r1, r2 -_0802B1BA: str r1, [sp, 0xC] movs r1, 0xC str r1, [sp, 0x10] movs r1, 0 - movs r2, 0x7 + movs r2, 0xA bl sub_8014248 - b _0802B2AA + b _08028AF2 .align 2, 0 -_0802B1CC: .4byte gUnknown_80DF870 -_0802B1D0: .4byte gUnknown_80DEE44 -_0802B1D4: - ldr r0, _0802B1D8 - b _0802B22E +_08028594: .4byte gUnknown_80DDD2C +_08028598: .4byte gUnknown_80DDAA0 +_0802859C: + ldr r0, _080285A4 + ldr r3, _080285A8 + b _08028A1C .align 2, 0 -_0802B1D8: .4byte gUnknown_80DF8B4 -_0802B1DC: - ldr r0, _0802B1F4 - ldr r3, _0802B1F8 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r1, [r6] - movs r5, 0x84 - lsls r5, 3 - adds r1, r5 - b _0802B212 - .align 2, 0 -_0802B1F4: .4byte gUnknown_80DF8EC -_0802B1F8: .4byte gUnknown_80DEDB8 -_0802B1FC: - ldr r0, _0802B224 - ldr r3, _0802B228 +_080285A4: .4byte gUnknown_80DDD88 +_080285A8: .4byte gUnknown_80DDA80 +_080285AC: + ldr r0, _080285C4 + ldr r3, _080285C8 movs r2, 0 str r2, [sp] movs r1, 0x4 @@ -1611,14315 +565,684 @@ _0802B1FC: movs r2, 0x84 lsls r2, 3 adds r1, r2 -_0802B212: - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x1 - bl sub_8014248 - b _0802B2AA + b _08028A2E .align 2, 0 -_0802B224: .4byte gUnknown_80DF928 -_0802B228: .4byte gUnknown_80DEDB8 -_0802B22C: - ldr r0, _0802B240 -_0802B22E: +_080285C4: .4byte gUnknown_80DDDBC +_080285C8: .4byte gUnknown_80DDA64 +_080285CC: + ldr r0, _080285D8 ldr r2, [r6] movs r3, 0x84 lsls r3, 3 adds r2, r3 -_0802B236: - ldr r3, _0802B244 -_0802B238: - movs r1, 0 - bl sub_80141B4 - b _0802B2AA + b _08028A72 .align 2, 0 -_0802B240: .4byte gUnknown_80DF94C -_0802B244: .4byte 0x0000010d -_0802B248: - ldr r4, [r6] - movs r5, 0xA7 - lsls r5, 3 - adds r0, r4, r5 - ldr r0, [r0] - cmp r0, 0x1 - beq _0802B25C - cmp r0, 0x2 - beq _0802B288 - b _0802B2AA -_0802B25C: - ldr r0, _0802B280 - ldr r3, _0802B284 +_080285D8: .4byte gUnknown_80DDDD8 +_080285DC: + bl sub_8030894 + cmp r0, 0 + beq _080285E6 + b _08028AF2 +_080285E6: + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x4 + b _080288BA +_080285F8: + ldr r0, _080285FC + b _08028A6A + .align 2, 0 +_080285FC: .4byte gUnknown_80DDE20 +_08028600: + ldr r0, _0802860C + ldr r2, [r6] + movs r1, 0x84 + lsls r1, 3 + adds r2, r1 + b _08028A72 + .align 2, 0 +_0802860C: .4byte gUnknown_80DDE58 +_08028610: + ldr r0, _08028638 + ldr r3, _0802863C movs r2, 0 str r2, [sp] movs r1, 0x4 str r1, [sp, 0x4] str r2, [sp, 0x8] + ldr r1, [r6] movs r2, 0x84 lsls r2, 3 - adds r1, r4, r2 - str r1, [sp, 0xC] - movs r1, 0xC - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x3 - bl sub_8014248 - b _0802B2AA - .align 2, 0 -_0802B280: .4byte gUnknown_80DF96C -_0802B284: .4byte gUnknown_80DEE08 -_0802B288: - ldr r0, _0802B2B4 - ldr r3, _0802B2B8 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - movs r5, 0x84 - lsls r5, 3 - adds r1, r4, r5 + adds r1, r2 str r1, [sp, 0xC] movs r1, 0xC str r1, [sp, 0x10] movs r1, 0 - movs r2, 0x3 + movs r2, 0x11 bl sub_8014248 -_0802B2AA: - add sp, 0xB8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802B2B4: .4byte gUnknown_80DF9A4 -_0802B2B8: .4byte gUnknown_80DEE08 - thumb_func_end sub_802ABF8 - - thumb_func_start sub_802B2BC -sub_802B2BC: - push {lr} - ldr r1, _0802B2D0 - ldr r1, [r1] - strb r0, [r1] - bl nullsub_131 - bl sub_802ABF8 - pop {r0} - bx r0 - .align 2, 0 -_0802B2D0: .4byte gUnknown_203B2C4 - thumb_func_end sub_802B2BC - - thumb_func_start sub_802B2D4 -sub_802B2D4: - push {r4,r5,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _0802B348 - movs r4, 0xA0 - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 - ldr r1, [r5] - movs r0, 0xFF - strb r0, [r1, 0x1] - ldr r0, _0802B34C - subs r4, 0x10 - adds r1, r4, 0 - bl sub_808D8E0 - adds r0, r4, 0 - bl GetDialogueSpriteDataPtr - ldr r1, [r5] - str r0, [r1, 0x4] - ldr r0, [r0, 0x4] - str r0, [r1, 0x8] - movs r2, 0 - strb r2, [r1, 0x10] - ldr r0, [r5] - strb r2, [r0, 0x11] - ldr r0, [r5] - strb r2, [r0, 0x12] - ldr r0, [r5] - movs r1, 0x2 - strh r1, [r0, 0xC] - movs r1, 0x8 - strh r1, [r0, 0xE] - adds r0, 0x1 - bl sub_8099394 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0802B350 - movs r0, 0 - bl sub_802B548 - movs r0, 0x1 - b _0802B352 + b _08028AF2 .align 2, 0 -_0802B348: .4byte gUnknown_203B2C8 -_0802B34C: .4byte gUnknown_202E5D8 -_0802B350: - movs r0, 0 -_0802B352: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_802B2D4 - - thumb_func_start sub_802B358 -sub_802B358: - push {lr} - ldr r0, _0802B370 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x5 - bhi _0802B3B2 - lsls r0, 2 - ldr r1, _0802B374 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802B370: .4byte gUnknown_203B2C8 -_0802B374: .4byte _0802B378 - .align 2, 0 -_0802B378: - .4byte _0802B390 - .4byte _0802B396 - .4byte _0802B39C - .4byte _0802B3A2 - .4byte _0802B3A8 - .4byte _0802B3AE -_0802B390: - bl sub_802B560 - b _0802B3B2 -_0802B396: - bl sub_802B57C - b _0802B3B2 -_0802B39C: - bl sub_802B5B8 - b _0802B3B2 -_0802B3A2: - bl sub_802B5FC - b _0802B3B2 -_0802B3A8: - bl sub_802B624 - b _0802B3B2 -_0802B3AE: - movs r0, 0x3 - b _0802B3B4 -_0802B3B2: - movs r0, 0 -_0802B3B4: - pop {r1} - bx r1 - thumb_func_end sub_802B358 - - thumb_func_start sub_802B3B8 -sub_802B3B8: - push {r4,lr} - ldr r4, _0802B3D8 - ldr r0, [r4] - cmp r0, 0 - beq _0802B3D2 - ldr r0, [r0, 0x4] - bl CloseFile - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802B3D2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802B3D8: .4byte gUnknown_203B2C8 - thumb_func_end sub_802B3B8 - - thumb_func_start nullsub_132 -nullsub_132: - bx lr - thumb_func_end nullsub_132 - - thumb_func_start sub_802B3E0 -sub_802B3E0: - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x28 - ldr r1, _0802B404 - ldr r0, [r1] - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x5 - bls _0802B3F8 - b _0802B532 -_0802B3F8: - lsls r0, 2 - ldr r1, _0802B408 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802B404: .4byte gUnknown_203B2C8 -_0802B408: .4byte _0802B40C - .align 2, 0 -_0802B40C: - .4byte _0802B424 - .4byte _0802B464 - .4byte _0802B50C - .4byte _0802B532 - .4byte _0802B524 - .4byte _0802B532 -_0802B424: - movs r0, 0 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _0802B438 - mov r0, sp - bl sub_80920D8 - b _0802B440 -_0802B438: - ldr r1, _0802B458 - mov r0, sp - bl strcpy -_0802B440: - ldr r4, _0802B45C - ldr r0, [r4] - adds r0, 0x14 - ldr r1, _0802B460 - mov r2, sp - bl sub_800D158 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x14 - b _0802B510 - .align 2, 0 -_0802B458: .4byte gUnknown_80DF9F0 -_0802B45C: .4byte gUnknown_203B2C8 -_0802B460: .4byte gUnknown_80DF9F8 -_0802B464: - movs r6, 0x98 - lsls r6, 1 - adds r0, r6, 0 - bl GetMonSpecies - adds r1, r0, 0 - ldr r5, _0802B500 - ldr r0, [r5] - movs r2, 0x8A - lsls r2, 1 - mov r9, r2 - add r0, r9 - bl strcpy - ldr r2, [r5] - movs r3, 0x94 - lsls r3, 1 - adds r0, r2, r3 - movs r1, 0 - mov r8, r1 - movs r1, 0 - strh r6, [r0] - adds r3, 0x2 +_08028638: .4byte gUnknown_80DDEC0 +_0802863C: .4byte gUnknown_80DDB60 +_08028640: + ldr r0, _0802864C + ldr r2, [r6] + movs r3, 0x84 + lsls r3, 3 adds r2, r3 - movs r0, 0x2 - strb r0, [r2] - ldr r0, [r5] - movs r2, 0x96 - lsls r2, 1 - adds r0, r2 - str r1, [r0] - bl sub_8097790 - ldr r0, [r5] - ldrb r0, [r0, 0x1] - bl sub_8095228 - adds r4, r0, 0 - adds r4, 0x4 - ldr r2, [r5] - adds r2, r6 - adds r0, r4, 0 - movs r1, 0 - bl sub_803C37C - adds r0, r4, 0 - movs r1, 0 - bl sub_803C200 - ldr r2, [r5] - movs r3, 0x9C - lsls r3, 1 - adds r1, r2, r3 - str r0, [r1] - ldr r1, _0802B504 - adds r0, r2, r1 - mov r2, r8 - strb r2, [r0] - ldr r0, [r5] - subs r3, 0x6 - adds r0, r3 - strb r2, [r0] - ldr r0, [r5] - ldr r2, _0802B508 - adds r1, r0, r2 - movs r0, 0xA - strb r0, [r1] - ldr r0, [r5] - adds r3, 0x2 - adds r0, r3 - mov r1, r8 - strb r1, [r0] - ldr r0, [r5] - add r0, r9 - movs r1, 0 - bl sub_802F204 - b _0802B532 - .align 2, 0 -_0802B500: .4byte gUnknown_203B2C8 -_0802B504: .4byte 0x00000131 -_0802B508: .4byte 0x00000133 -_0802B50C: - ldr r0, _0802B51C - ldr r2, [r2] -_0802B510: - adds r2, 0x4 - ldr r3, _0802B520 - movs r1, 0 - bl sub_80141B4 - b _0802B532 - .align 2, 0 -_0802B51C: .4byte gUnknown_80DFAA8 -_0802B520: .4byte 0x0000010d -_0802B524: - ldr r0, _0802B540 - ldr r2, [r2] - adds r2, 0x4 - ldr r3, _0802B544 - movs r1, 0 - bl sub_80141B4 -_0802B532: - add sp, 0x28 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802B540: .4byte gUnknown_80DFB14 -_0802B544: .4byte 0x0000010d - thumb_func_end sub_802B3E0 - - thumb_func_start sub_802B548 -sub_802B548: - push {lr} - ldr r1, _0802B55C - ldr r1, [r1] - strb r0, [r1] - bl nullsub_132 - bl sub_802B3E0 - pop {r0} - bx r0 - .align 2, 0 -_0802B55C: .4byte gUnknown_203B2C8 - thumb_func_end sub_802B548 - - thumb_func_start sub_802B560 -sub_802B560: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802B574 - movs r0, 0x1 - bl sub_802B548 -_0802B574: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802B560 - - thumb_func_start sub_802B57C -sub_802B57C: - push {r4,lr} - bl sub_802F298 - cmp r0, 0x3 - bne _0802B5AA - bl sub_802F2C0 - ldr r0, _0802B5B0 - movs r4, 0x98 - lsls r4, 1 - adds r1, r4, 0 - bl sub_808D8E0 - adds r0, r4, 0 - bl GetMonSpecies - adds r1, r0, 0 - ldr r0, _0802B5B4 - bl strcpy - movs r0, 0x2 - bl sub_802B548 -_0802B5AA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802B5B0: .4byte gUnknown_202E5D8 -_0802B5B4: .4byte gAvailablePokemonNames - thumb_func_end sub_802B57C - - thumb_func_start sub_802B5B8 -sub_802B5B8: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802B5EE - bl sub_8011C34 - adds r4, r0, 0 - ldr r0, _0802B5F8 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - bl sub_8095228 - movs r1, 0x4 - strb r1, [r0] - str r4, [r0, 0x28] - movs r0, 0x3 - bl sub_802B548 - movs r0, 0x1 - bl sub_8011C28 - movs r0, 0 - bl sub_8012574 -_0802B5EE: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802B5F8: .4byte gUnknown_203B2C8 - thumb_func_end sub_802B5B8 - - thumb_func_start sub_802B5FC -sub_802B5FC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802B61E - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _0802B61E - bl sub_8012750 - movs r0, 0x4 - bl sub_802B548 -_0802B61E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802B5FC - - thumb_func_start sub_802B624 -sub_802B624: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802B638 - movs r0, 0x5 - bl sub_802B548 -_0802B638: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802B624 - - thumb_func_start sub_802B640 -sub_802B640: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - bl sub_802B9D8 - lsls r0, 24 - cmp r0, 0 - beq _0802B65A - movs r0, 0 - b _0802B706 -_0802B65A: - ldr r5, _0802B710 - ldr r0, [r5] - cmp r0, 0 - bne _0802B66C - movs r0, 0xD4 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] -_0802B66C: - ldr r0, [r5] - str r6, [r0, 0x6C] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x74 - adds r1, r0, r1 - str r1, [r0, 0x70] - adds r0, 0x74 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x6C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x74 - ldr r0, _0802B714 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - cmp r4, 0 - beq _0802B6B0 - ldr r1, [r5] - ldr r2, [r1, 0x6C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, 0x7C - adds r1, r0 - ldr r0, [r4] - str r0, [r1] -_0802B6B0: - ldr r0, [r5] - ldr r0, [r0, 0x70] - mov r1, r8 - bl sub_8012D08 - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x74 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x38 - bl sub_802B9A8 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_8013818 - ldr r2, [r5] - ldr r0, _0802B718 - ldrh r1, [r0] - adds r0, r2, 0 - adds r0, 0x50 - strh r1, [r0] - ldr r0, _0802B71C - ldrh r0, [r0] - adds r1, r2, 0 - adds r1, 0x56 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x38 - bl sub_8013984 - bl sub_802B880 - bl sub_802B8D4 - movs r0, 0x1 -_0802B706: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 + b _08028A72 .align 2, 0 -_0802B710: .4byte gUnknown_203B2CC -_0802B714: .4byte gUnknown_80DFBEC -_0802B718: .4byte gUnknown_203B2D0 -_0802B71C: .4byte gUnknown_203B2D2 - thumb_func_end sub_802B640 - - thumb_func_start sub_802B720 -sub_802B720: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0802B73C - ldr r0, _0802B738 - ldr r0, [r0] - adds r0, 0x38 - bl sub_8013660 - movs r0, 0 - b _0802B7A2 +_0802864C: .4byte gUnknown_80DDF2C +_08028650: + ldr r0, _08028658 + ldr r3, _0802865C + b _08028A1C .align 2, 0 -_0802B738: .4byte gUnknown_203B2CC -_0802B73C: - ldr r0, _0802B754 - ldr r0, [r0] - adds r0, 0x38 - bl GetKeyPress - cmp r0, 0x2 - beq _0802B75E - cmp r0, 0x2 - bgt _0802B758 - cmp r0, 0x1 - beq _0802B768 - b _0802B77C - .align 2, 0 -_0802B754: .4byte gUnknown_203B2CC -_0802B758: - cmp r0, 0x4 - beq _0802B772 - b _0802B77C -_0802B75E: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0802B7A2 -_0802B768: +_08028658: .4byte gUnknown_80DDFB8 +_0802865C: .4byte gUnknown_80DDA48 +_08028660: movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0802B7A2 -_0802B772: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _0802B7A2 -_0802B77C: - ldr r0, _0802B794 - ldr r0, [r0] - adds r0, 0x38 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802B798 - movs r0, 0 - b _0802B7A2 - .align 2, 0 -_0802B794: .4byte gUnknown_203B2CC -_0802B798: - bl sub_802B880 - bl sub_802B8D4 - movs r0, 0x1 -_0802B7A2: - pop {r1} - bx r1 - thumb_func_end sub_802B720 - - thumb_func_start sub_802B7A8 -sub_802B7A8: - ldr r0, _0802B7CC - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x56 - movs r3, 0 - ldrsh r1, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r1 - adds r1, r2, 0 - adds r1, 0x50 - movs r3, 0 - ldrsh r1, [r1, r3] - adds r0, r1 - adds r0, r2, r0 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0802B7CC: .4byte gUnknown_203B2CC - thumb_func_end sub_802B7A8 - - thumb_func_start sub_802B7D0 -sub_802B7D0: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0802B818 - ldr r0, [r5] - adds r0, 0x74 + bl nullsub_23 + ldr r0, _08028674 movs r1, 0 movs r2, 0 - bl sub_800641C - bl sub_802B9A8 - adds r1, r0, 0 - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x5A - strh r1, [r2] - adds r0, 0x38 - bl sub_8013984 - bl sub_802B880 - bl sub_802B8D4 - cmp r4, 0 - beq _0802B812 - ldr r0, [r5] - adds r0, 0x38 - bl AddMenuCursorSprite -_0802B812: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802B818: .4byte gUnknown_203B2CC - thumb_func_end sub_802B7D0 - - thumb_func_start sub_802B81C -sub_802B81C: - push {r4,r5,lr} - ldr r4, _0802B870 - ldr r2, [r4] - cmp r2, 0 - beq _0802B86A - ldr r1, _0802B874 - adds r0, r2, 0 - adds r0, 0x50 - ldrh r0, [r0] - strh r0, [r1] - ldr r1, _0802B878 - adds r0, r2, 0 - adds r0, 0x56 - ldrh r0, [r0] - strh r0, [r1] - ldr r0, [r2, 0x6C] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x74 - ldr r0, _0802B87C - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x74 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802B86A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802B870: .4byte gUnknown_203B2CC -_0802B874: .4byte gUnknown_203B2D0 -_0802B878: .4byte gUnknown_203B2D2 -_0802B87C: .4byte gUnknown_80DFBD0 - thumb_func_end sub_802B81C - - thumb_func_start sub_802B880 -sub_802B880: - push {r4,lr} - ldr r4, _0802B8D0 - ldr r0, [r4] - adds r0, 0x52 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x6C] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x82 - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x6C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x84 - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x74 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802B8D0: .4byte gUnknown_203B2CC - thumb_func_end sub_802B880 - - thumb_func_start sub_802B8D4 -sub_802B8D4: - push {r4-r7,lr} - sub sp, 0x8 - ldr r4, _0802B99C - ldr r0, [r4] - ldr r0, [r0, 0x6C] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x6C] - bl sub_80073B8 - ldr r2, _0802B9A0 - ldr r0, [r4] - ldr r3, [r0, 0x6C] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r0, _0802B9A4 - ldrb r0, [r0, 0x2] - lsls r0, 3 - adds r0, 0x4 - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0x56 - movs r5, 0 - ldrsh r2, [r1, r5] - adds r2, 0x1 - movs r1, 0x7 - str r1, [sp] - ldr r1, [r3, 0x6C] - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r6, 0 - ldr r0, [r4] - adds r0, 0x52 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r6, r0 - bge _0802B98A - adds r7, r4, 0 -_0802B930: - ldr r0, [r7] - adds r0, 0x38 - adds r1, r6, 0 - bl sub_8013800 - adds r5, r0, 0 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x56 - movs r3, 0 - ldrsh r2, [r0, r3] - subs r0, 0x2 movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r2 - adds r0, r6 - adds r0, r1, r0 - ldrb r4, [r0] - ldr r3, [r1, 0x6C] - movs r0, 0xA - adds r1, r5, 0 - movs r2, 0x6 - bl sub_803B6B0 - bl sub_802BC7C - adds r0, r4, 0 - bl GetPokemonMailHeadline - adds r2, r0, 0 - ldr r0, [r7] - ldr r3, [r0, 0x6C] - movs r0, 0 - str r0, [sp] - movs r0, 0x15 - adds r1, r5, 0 - bl sub_8014FF0 - adds r6, 0x1 - ldr r0, [r7] - adds r0, 0x52 - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r6, r0 - blt _0802B930 -_0802B98A: - ldr r0, _0802B99C - ldr r0, [r0] - ldr r0, [r0, 0x6C] - bl sub_80073E0 - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802B99C: .4byte gUnknown_203B2CC -_0802B9A0: .4byte gUnknown_80DFC04 -_0802B9A4: .4byte gUnknown_80DFBE8 - thumb_func_end sub_802B8D4 - - thumb_func_start sub_802B9A8 -sub_802B9A8: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0802B9AE: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096E14 - lsls r0, 24 - cmp r0, 0 - beq _0802B9C6 - ldr r0, _0802B9D4 - ldr r0, [r0] - adds r0, r5 - strb r4, [r0] - adds r5, 0x1 -_0802B9C6: - adds r4, 0x1 - cmp r4, 0x37 - ble _0802B9AE - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0802B9D4: .4byte gUnknown_203B2CC - thumb_func_end sub_802B9A8 - - thumb_func_start sub_802B9D8 -sub_802B9D8: - push {r4,lr} - movs r4, 0 -_0802B9DC: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096E14 - lsls r0, 24 - cmp r0, 0 - beq _0802B9EE - movs r0, 0 - b _0802B9F6 -_0802B9EE: - adds r4, 0x1 - cmp r4, 0x37 - ble _0802B9DC - movs r0, 0x1 -_0802B9F6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802B9D8 - - thumb_func_start sub_802B9FC -sub_802B9FC: - push {r4-r7,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _0802BA80 - movs r0, 0x94 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r6, 0 - strb r4, [r0, 0x4] - ldr r0, [r5] - adds r0, 0x88 - bl sub_801317C - ldr r1, [r5] - str r6, [r1, 0x24] - adds r1, 0x28 - ldr r0, _0802BA84 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r1, [r5] - ldr r2, _0802BA88 - adds r1, 0x40 - adds r0, r2, 0 - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldr r1, [r5] - adds r1, 0x58 - adds r0, r2, 0 - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldm r0!, {r3,r4,r7} - stm r1!, {r3,r4,r7} - ldr r0, [r5] - adds r0, 0x70 - ldm r2!, {r1,r4,r7} - stm r0!, {r1,r4,r7} - ldm r2!, {r3,r4,r7} - stm r0!, {r3,r4,r7} - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x28 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r5] - str r6, [r0, 0x8] - bl sub_802BCC4 - bl sub_802BC7C - movs r0, 0 - bl sub_802BB14 - movs r0, 0x1 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802BA80: .4byte gUnknown_203B2D4 -_0802BA84: .4byte gUnknown_80DFC34 -_0802BA88: .4byte gUnknown_80DFC18 - thumb_func_end sub_802B9FC - - thumb_func_start sub_802BA8C -sub_802BA8C: - push {lr} - ldr r0, _0802BAA4 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x1 - beq _0802BAB8 - cmp r0, 0x1 - bgt _0802BAA8 - cmp r0, 0 - beq _0802BAB2 - b _0802BAC2 - .align 2, 0 -_0802BAA4: .4byte gUnknown_203B2D4 -_0802BAA8: - cmp r0, 0x2 - beq _0802BAC2 - cmp r0, 0x3 - beq _0802BABE - b _0802BAC2 -_0802BAB2: - bl sub_802BB98 - b _0802BAC6 -_0802BAB8: - bl sub_802BC08 - b _0802BAC6 -_0802BABE: - movs r0, 0x3 - b _0802BAC8 -_0802BAC2: - movs r0, 0x2 - b _0802BAC8 -_0802BAC6: - movs r0, 0 -_0802BAC8: - pop {r1} - bx r1 - thumb_func_end sub_802BA8C - - thumb_func_start sub_802BACC -sub_802BACC: - push {r4,r5,lr} - ldr r4, _0802BB0C - ldr r2, [r4] - cmp r2, 0 - beq _0802BB06 - ldr r0, [r2, 0x24] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x28 - ldr r0, _0802BB10 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x28 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802BB06: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BB0C: .4byte gUnknown_203B2D4 -_0802BB10: .4byte gUnknown_80DFC18 - thumb_func_end sub_802BACC - - thumb_func_start sub_802BB14 -sub_802BB14: - push {lr} - ldr r1, _0802BB24 - ldr r1, [r1] - str r0, [r1] - bl sub_802BB28 - pop {r0} - bx r0 - .align 2, 0 -_0802BB24: .4byte gUnknown_203B2D4 - thumb_func_end sub_802BB14 - - thumb_func_start sub_802BB28 -sub_802BB28: - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _0802BB94 - ldr r1, [r5] - ldr r0, [r1] - cmp r0, 0 - blt _0802BB8C - cmp r0, 0x1 - bgt _0802BB8C - ldr r0, [r1, 0x24] - bl sub_8008C54 - ldr r0, [r5] - ldr r0, [r0, 0x24] - bl sub_80073B8 - ldr r0, [r5] - ldrb r0, [r0, 0x4] - bl GetPokemonMailHeadline - adds r2, r0, 0 - ldr r0, [r5] - ldr r3, [r0, 0x24] - movs r4, 0 - str r4, [sp] - movs r0, 0xA - movs r1, 0 - bl sub_8014FF0 - ldr r3, [r5] - ldr r1, [r3, 0x8] - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x10 - adds r0, r1 - ldr r2, [r0] - ldr r3, [r3, 0x24] - str r4, [sp] - movs r0, 0x6 - movs r1, 0x14 - bl sub_8014FF0 - ldr r0, [r5] - ldr r0, [r0, 0x24] - bl sub_80073E0 - ldr r1, [r5] - ldr r0, [r1, 0x8] - adds r0, 0x1 - str r0, [r1, 0x8] -_0802BB8C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BB94: .4byte gUnknown_203B2D4 - thumb_func_end sub_802BB28 - - thumb_func_start sub_802BB98 -sub_802BB98: - push {r4,lr} - ldr r0, _0802BBD4 - ldr r2, [r0] - ldr r1, [r2, 0xC] - adds r4, r0, 0 - cmp r1, 0 - beq _0802BBBC - ldr r0, [r2, 0x20] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802BBB4 - bl sub_8013E54 -_0802BBB4: - ldr r1, [r4] - ldr r0, [r1, 0x20] - adds r0, 0x1 - str r0, [r1, 0x20] -_0802BBBC: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x88 - ldr r1, [r1, 0x24] - bl sub_8012A64 - cmp r0, 0x1 - beq _0802BBD8 - cmp r0, 0x2 - beq _0802BBF6 - b _0802BC02 - .align 2, 0 -_0802BBD4: .4byte gUnknown_203B2D4 -_0802BBD8: - movs r0, 0 - bl PlayMenuSoundEffect - ldr r0, [r4] - ldr r0, [r0, 0xC] - cmp r0, 0 - beq _0802BBEE - movs r0, 0x1 - bl sub_802BB14 - b _0802BC02 -_0802BBEE: - movs r0, 0x3 - bl sub_802BB14 - b _0802BC02 -_0802BBF6: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - bl sub_802BB14 -_0802BC02: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802BB98 - - thumb_func_start sub_802BC08 -sub_802BC08: - push {r4,lr} - ldr r0, _0802BC44 - ldr r3, [r0] - ldr r2, [r3, 0x8] - ldr r1, [r3, 0xC] - adds r4, r0, 0 - cmp r2, r1 - bge _0802BC2E - ldr r0, [r3, 0x20] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0802BC26 - bl sub_8013E54 -_0802BC26: - ldr r1, [r4] - ldr r0, [r1, 0x20] - adds r0, 0x1 - str r0, [r1, 0x20] -_0802BC2E: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x88 - ldr r1, [r1, 0x24] - bl sub_8012A64 - cmp r0, 0x1 - beq _0802BC48 - cmp r0, 0x2 - beq _0802BC68 - b _0802BC74 - .align 2, 0 -_0802BC44: .4byte gUnknown_203B2D4 -_0802BC48: - movs r0, 0 - bl PlayMenuSoundEffect - ldr r0, [r4] - ldr r1, [r0, 0x8] - ldr r0, [r0, 0xC] - cmp r1, r0 - bge _0802BC60 - movs r0, 0x1 - bl sub_802BB14 - b _0802BC74 -_0802BC60: - movs r0, 0x3 - bl sub_802BB14 - b _0802BC74 -_0802BC68: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - bl sub_802BB14 -_0802BC74: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802BC08 - - thumb_func_start sub_802BC7C -sub_802BC7C: - push {r4,lr} - ldr r4, _0802BCA4 - bl sub_808D3BC - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_808DA34 - ldr r0, _0802BCA8 - ldr r0, [r0] - ldrb r0, [r0, 0xB] - cmp r0, 0x1 - bne _0802BCB0 - adds r0, r4, 0 - adds r0, 0x50 - ldr r1, _0802BCAC - bl strcpy - b _0802BCBA - .align 2, 0 -_0802BCA4: .4byte gAvailablePokemonNames -_0802BCA8: .4byte gUnknown_203B46C -_0802BCAC: .4byte gUnknown_80DFC4C -_0802BCB0: - adds r0, r4, 0 - adds r0, 0x50 - ldr r1, _0802BCC0 - bl strcpy -_0802BCBA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802BCC0: .4byte gUnknown_80DFC50 - thumb_func_end sub_802BC7C - - thumb_func_start sub_802BCC4 -sub_802BCC4: - push {r4,lr} - ldr r4, _0802BCDC - ldr r0, [r4] - ldrb r0, [r0, 0x4] - bl GetPokemonMailText - adds r3, r0, 0 - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0xC] - str r3, [r1, 0x10] - b _0802BD08 - .align 2, 0 -_0802BCDC: .4byte gUnknown_203B2D4 -_0802BCE0: - cmp r0, 0x23 - bne _0802BD06 - ldrb r2, [r3, 0x1] - cmp r2, 0x50 - beq _0802BCF0 - adds r1, r3, 0x2 - cmp r2, 0x70 - bne _0802BD02 -_0802BCF0: - ldr r0, [r4] - ldr r1, [r0, 0xC] - adds r1, 0x1 - str r1, [r0, 0xC] - lsls r1, 2 - adds r0, 0x10 - adds r0, r1 - adds r1, r3, 0x2 - str r1, [r0] -_0802BD02: - adds r3, r1, 0 - b _0802BD08 -_0802BD06: - adds r3, 0x1 -_0802BD08: - ldrb r0, [r3] - cmp r0, 0 - bne _0802BCE0 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802BCC4 - - thumb_func_start sub_802BD14 -sub_802BD14: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - bl sub_802C0E8 - lsls r0, 24 - cmp r0, 0 - beq _0802BD2E - movs r0, 0 - b _0802BDD4 -_0802BD2E: - ldr r5, _0802BDE0 - ldr r0, [r5] - cmp r0, 0 - bne _0802BD40 - movs r0, 0xA4 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] -_0802BD40: - ldr r0, [r5] - str r6, [r0, 0x38] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x40 - adds r1, r0, r1 - str r1, [r0, 0x3C] - adds r0, 0x40 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x38] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x40 - ldr r0, _0802BDE4 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r2, [r5] - ldr r1, [r2, 0x3C] - adds r0, r2, 0 - adds r0, 0xA0 - str r0, [r1, 0x14] - cmp r4, 0 - beq _0802BD8E - ldr r1, [r2, 0x38] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x48 - adds r1, r0 - ldr r0, [r4] - str r0, [r1] -_0802BD8E: - ldr r0, [r5] - ldr r0, [r0, 0x3C] - mov r1, r8 - bl sub_8012D34 - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x40 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x4 - bl sub_802C0B8 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_8013848 - ldr r0, [r5] - ldr r1, _0802BDE8 - ldrh r1, [r1] - strh r1, [r0, 0x1C] - adds r0, 0x4 - bl sub_8013984 - bl sub_802BF30 - bl CreateMailMenu - movs r0, 0x1 -_0802BDD4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802BDE0: .4byte gUnknown_203B2D8 -_0802BDE4: .4byte gUnknown_80DFC74 -_0802BDE8: .4byte gUnknown_203B2DC - thumb_func_end sub_802BD14 - - thumb_func_start sub_802BDEC -sub_802BDEC: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0802BE08 - ldr r0, _0802BE04 - ldr r0, [r0] - adds r0, 0x4 - bl sub_8013660 - movs r0, 0 - b _0802BE6E - .align 2, 0 -_0802BE04: .4byte gUnknown_203B2D8 -_0802BE08: - ldr r0, _0802BE20 - ldr r0, [r0] - adds r0, 0x4 - bl GetKeyPress - cmp r0, 0x2 - beq _0802BE2A - cmp r0, 0x2 - bgt _0802BE24 - cmp r0, 0x1 - beq _0802BE34 - b _0802BE48 - .align 2, 0 -_0802BE20: .4byte gUnknown_203B2D8 -_0802BE24: - cmp r0, 0x4 - beq _0802BE3E - b _0802BE48 -_0802BE2A: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0802BE6E -_0802BE34: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0802BE6E -_0802BE3E: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _0802BE6E -_0802BE48: - ldr r0, _0802BE60 - ldr r0, [r0] - adds r0, 0x4 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802BE64 - movs r0, 0 - b _0802BE6E - .align 2, 0 -_0802BE60: .4byte gUnknown_203B2D8 -_0802BE64: - bl sub_802BF30 - bl CreateMailMenu - movs r0, 0x1 -_0802BE6E: - pop {r1} - bx r1 - thumb_func_end sub_802BDEC - - thumb_func_start sub_802BE74 -sub_802BE74: - ldr r0, _0802BE90 - ldr r1, [r0] - movs r0, 0x22 - ldrsh r2, [r1, r0] - movs r3, 0x20 - ldrsh r0, [r1, r3] - muls r0, r2 - movs r3, 0x1C - ldrsh r2, [r1, r3] - adds r0, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_0802BE90: .4byte gUnknown_203B2D8 - thumb_func_end sub_802BE74 - - thumb_func_start sub_802BE94 -sub_802BE94: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0802BED8 - ldr r0, [r5] - adds r0, 0x40 - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_802C0B8 - adds r1, r0, 0 - ldr r0, [r5] - strh r1, [r0, 0x26] - adds r0, 0x4 - bl sub_8013984 - bl sub_802BF30 - bl CreateMailMenu - cmp r4, 0 - beq _0802BED2 - ldr r0, [r5] - adds r0, 0x4 - bl AddMenuCursorSprite -_0802BED2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BED8: .4byte gUnknown_203B2D8 - thumb_func_end sub_802BE94 - - thumb_func_start sub_802BEDC -sub_802BEDC: - push {r4,r5,lr} - ldr r4, _0802BF24 - ldr r2, [r4] - cmp r2, 0 - beq _0802BF1C - ldr r1, _0802BF28 - ldrh r0, [r2, 0x1C] - strh r0, [r1] - ldr r0, [r2, 0x38] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x40 - ldr r0, _0802BF2C - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x40 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802BF1C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802BF24: .4byte gUnknown_203B2D8 -_0802BF28: .4byte gUnknown_203B2DC -_0802BF2C: .4byte gUnknown_80DFC5C - thumb_func_end sub_802BEDC - - thumb_func_start sub_802BF30 -sub_802BF30: - push {r4,lr} - ldr r4, _0802BF9C - ldr r0, [r4] - adds r0, 0xA0 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA1 - strb r2, [r0] - ldr r0, [r4] - adds r0, 0xA2 - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA3 - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x1E - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl sub_8009614 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x38] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x4E - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x38] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x50 - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x40 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802BF9C: .4byte gUnknown_203B2D8 - thumb_func_end sub_802BF30 - - thumb_func_start CreateMailMenu -CreateMailMenu: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xDC - ldr r4, _0802C060 - ldr r0, [r4] - ldr r0, [r0, 0x38] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x38] - bl sub_80073B8 - ldr r1, [r4] - movs r2, 0x22 - ldrsh r0, [r1, r2] - lsls r0, 3 - adds r0, 0xA - ldr r2, _0802C064 - ldr r3, [r1, 0x38] - movs r1, 0 - str r1, [sp] - bl xxx_call_draw_string - movs r6, 0 - ldr r0, [r4] - movs r3, 0x1E - ldrsh r0, [r0, r3] - cmp r6, r0 - bge _0802C09A - adds r7, r4, 0 - ldr r0, _0802C068 - mov r9, r0 - add r1, sp, 0x5C - mov r8, r1 -_0802BFE8: - ldr r1, [r7] - movs r3, 0x22 - ldrsh r2, [r1, r3] - movs r3, 0x20 - ldrsh r0, [r1, r3] - muls r0, r2 - adds r0, r6 - adds r1, r0 - ldrb r0, [r1] - bl sub_8095FE8 - adds r5, r0, 0 - ldr r0, [r7] - ldr r1, [r0, 0x38] - str r1, [sp, 0x4] - adds r0, 0x4 - adds r1, r6, 0 - bl sub_8013800 - str r0, [sp, 0x4C] - ldrb r0, [r5] - cmp r0, 0x1 - bne _0802C06C - ldr r0, [r7] - adds r0, 0x4 - adds r1, r6, 0 - bl sub_8013800 - adds r4, r0, 0 - ldr r0, [r7] - ldr r3, [r0, 0x38] - movs r0, 0xA - adds r1, r4, 0 - movs r2, 0x6 - bl sub_803B6B0 - bl sub_808D33C - adds r1, r0, 0 - mov r0, r9 - bl sub_808DA34 - ldrb r0, [r5, 0x5] - bl GetPokemonMailHeadline - adds r1, r0, 0 - mov r0, r8 - mov r2, r9 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x38] - movs r0, 0 - str r0, [sp] - movs r0, 0x15 - adds r1, r4, 0 - mov r2, r8 - bl xxx_call_draw_string - b _0802C08E - .align 2, 0 -_0802C060: .4byte gUnknown_203B2D8 -_0802C064: .4byte gMailboxText -_0802C068: .4byte gAvailablePokemonNames -_0802C06C: - adds r0, r5, 0 - add r1, sp, 0x4 - bl sub_803B35C - adds r0, r5, 0 - bl sub_80968B0 - lsls r0, 24 - cmp r0, 0 - beq _0802C088 - mov r1, sp - adds r1, 0x47 - movs r0, 0x2 - strb r0, [r1] -_0802C088: - add r0, sp, 0x4 - bl sub_803B6D4 -_0802C08E: - adds r6, 0x1 - ldr r0, [r7] - movs r1, 0x1E - ldrsh r0, [r0, r1] - cmp r6, r0 - blt _0802BFE8 -_0802C09A: - ldr r0, _0802C0B4 - ldr r0, [r0] - ldr r0, [r0, 0x38] - bl sub_80073E0 - add sp, 0xDC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C0B4: .4byte gUnknown_203B2D8 - thumb_func_end CreateMailMenu - - thumb_func_start sub_802C0B8 -sub_802C0B8: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0802C0BE: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096000 - lsls r0, 24 - cmp r0, 0 - bne _0802C0D6 - ldr r0, _0802C0E4 - ldr r0, [r0] - adds r0, r5 - strb r4, [r0] - adds r5, 0x1 -_0802C0D6: - adds r4, 0x1 - cmp r4, 0x3 - ble _0802C0BE - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 + bl sub_80141B4 + b _08028AF2 .align 2, 0 -_0802C0E4: .4byte gUnknown_203B2D8 - thumb_func_end sub_802C0B8 - - thumb_func_start sub_802C0E8 -sub_802C0E8: - push {r4,lr} - movs r4, 0 -_0802C0EC: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096000 - lsls r0, 24 - cmp r0, 0 - bne _0802C0FE - movs r0, 0 - b _0802C106 -_0802C0FE: - adds r4, 0x1 - cmp r4, 0x3 - ble _0802C0EC - movs r0, 0x1 -_0802C106: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802C0E8 - - thumb_func_start sub_802C10C -sub_802C10C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - bl sub_802C4A4 - lsls r0, 24 - cmp r0, 0 - beq _0802C126 +_08028674: .4byte gUnknown_80DE01C +_08028678: + ldr r1, [r6] movs r0, 0 - b _0802C1CC -_0802C126: - ldr r5, _0802C1D8 - ldr r0, [r5] - cmp r0, 0 - bne _0802C138 - movs r0, 0xA8 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] -_0802C138: - ldr r0, [r5] - str r6, [r0, 0x3C] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x44 - adds r1, r0, r1 - str r1, [r0, 0x40] - adds r0, 0x44 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x3C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x44 - ldr r0, _0802C1DC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r2, [r5] - ldr r1, [r2, 0x40] - adds r0, r2, 0 - adds r0, 0xA4 - str r0, [r1, 0x14] - cmp r4, 0 - beq _0802C186 - ldr r1, [r2, 0x3C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x4C - adds r1, r0 - ldr r0, [r4] - str r0, [r1] -_0802C186: - ldr r0, [r5] + str r0, [r1, 0x44] + bl sub_8011830 + ldr r0, [r6] ldr r0, [r0, 0x40] - mov r1, r8 - bl sub_8012D34 - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x8 - bl sub_802C474 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_8013848 - ldr r0, [r5] - ldr r1, _0802C1E0 - ldrh r1, [r1] - strh r1, [r0, 0x20] - adds r0, 0x8 - bl sub_8013984 - bl sub_802C328 - bl sub_802C39C - movs r0, 0x1 -_0802C1CC: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802C1D8: .4byte gUnknown_203B2E0 -_0802C1DC: .4byte gUnknown_80DFCB4 -_0802C1E0: .4byte gUnknown_203B2E4 - thumb_func_end sub_802C10C - - thumb_func_start sub_802C1E4 -sub_802C1E4: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0802C200 - ldr r0, _0802C1FC - ldr r0, [r0] - adds r0, 0x8 - bl sub_8013660 - movs r0, 0 - b _0802C266 - .align 2, 0 -_0802C1FC: .4byte gUnknown_203B2E0 -_0802C200: - ldr r0, _0802C218 - ldr r0, [r0] - adds r0, 0x8 - bl GetKeyPress - cmp r0, 0x2 - beq _0802C222 - cmp r0, 0x2 - bgt _0802C21C - cmp r0, 0x1 - beq _0802C22C - b _0802C240 - .align 2, 0 -_0802C218: .4byte gUnknown_203B2E0 -_0802C21C: - cmp r0, 0x4 - beq _0802C236 - b _0802C240 -_0802C222: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0802C266 -_0802C22C: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0802C266 -_0802C236: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _0802C266 -_0802C240: - ldr r0, _0802C258 - ldr r0, [r0] - adds r0, 0x8 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802C25C - movs r0, 0 - b _0802C266 - .align 2, 0 -_0802C258: .4byte gUnknown_203B2E0 -_0802C25C: - bl sub_802C328 - bl sub_802C39C - movs r0, 0x1 -_0802C266: - pop {r1} - bx r1 - thumb_func_end sub_802C1E4 - - thumb_func_start sub_802C26C -sub_802C26C: - ldr r0, _0802C288 - ldr r1, [r0] - movs r0, 0x26 - ldrsh r2, [r1, r0] - movs r3, 0x24 - ldrsh r0, [r1, r3] - muls r0, r2 - movs r3, 0x20 - ldrsh r2, [r1, r3] - adds r0, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_0802C288: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C26C - - thumb_func_start sub_802C28C -sub_802C28C: - push {r4,r5,lr} + bl sub_8037B28 adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0802C2D0 - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_802C474 - adds r1, r0, 0 - ldr r0, [r5] - strh r1, [r0, 0x2A] - adds r0, 0x8 - bl sub_8013984 - bl sub_802C328 - bl sub_802C39C + ldr r0, [r6] + str r4, [r0, 0x44] cmp r4, 0 - beq _0802C2CA - ldr r0, [r5] - adds r0, 0x8 - bl AddMenuCursorSprite -_0802C2CA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802C2D0: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C28C - - thumb_func_start sub_802C2D4 -sub_802C2D4: - push {r4,r5,lr} - ldr r4, _0802C31C - ldr r2, [r4] - cmp r2, 0 - beq _0802C314 - ldr r1, _0802C320 - ldrh r0, [r2, 0x20] - strh r0, [r1] - ldr r0, [r2, 0x3C] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x44 - ldr r0, _0802C324 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802C314: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802C31C: .4byte gUnknown_203B2E0 -_0802C320: .4byte gUnknown_203B2E4 -_0802C324: .4byte gUnknown_80DFC9C - thumb_func_end sub_802C2D4 - - thumb_func_start sub_802C328 -sub_802C328: - push {r4,lr} - ldr r4, _0802C398 - ldr r0, [r4] - ldrh r1, [r0, 0x28] - adds r0, 0xA4 - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - ldrh r1, [r0, 0x26] - adds r0, 0xA5 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA6 - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA7 - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x22 - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl sub_8009614 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x3C] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x52 - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x3C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x54 - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C398: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C328 - - thumb_func_start sub_802C39C -sub_802C39C: - push {r4-r7,lr} - sub sp, 0x60 - ldr r7, _0802C3F8 - ldr r0, [r7] - ldr r0, [r0, 0x3C] - bl sub_8008C54 - ldr r0, [r7] - ldr r0, [r0, 0x3C] - bl sub_80073B8 - ldr r0, [r7] - movs r1, 0x26 - ldrsh r4, [r0, r1] - lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA - ldr r2, _0802C3FC - ldr r3, [r0, 0x3C] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 + bne _0802878A + ldr r1, [r0, 0x40] + cmp r1, 0x3 + beq _080286A0 + cmp r1, 0x4 + beq _080286C2 + b _08028748 +_080286A0: + adds r0, 0x48 movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0xA6 - ldrb r0, [r0] - lsls r0, 3 - adds r5, r4, r0 - movs r3, 0x26 - ldrsh r2, [r1, r3] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x3C] - str r0, [sp, 0x4] - adds r0, r5, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + adds r0, 0x78 movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r6, 0 - b _0802C452 - .align 2, 0 -_0802C3F8: .4byte gUnknown_203B2E0 -_0802C3FC: .4byte gBulletinBoardText -_0802C400: - ldr r1, [r7] - movs r3, 0x26 - ldrsh r2, [r1, r3] - movs r3, 0x24 - ldrsh r0, [r1, r3] - muls r0, r2 - adds r0, r6 - adds r1, r0 - ldrb r5, [r1] - adds r0, r5, 0 - bl sub_8096574 - adds r4, r0, 0 - ldr r0, [r7] - ldr r1, [r0, 0x3C] - str r1, [sp, 0x8] - adds r0, 0x8 - adds r1, r6, 0 - bl sub_8013800 - str r0, [sp, 0x50] - adds r0, r4, 0 - add r1, sp, 0x8 - bl sub_803B35C - adds r0, r5, 0 - bl sub_8096574 - bl sub_80968B0 - lsls r0, 24 - cmp r0, 0 - beq _0802C44A - mov r1, sp - adds r1, 0x4B - movs r0, 0x2 - strb r0, [r1] -_0802C44A: - add r0, sp, 0x8 - bl sub_803B6D4 - adds r6, 0x1 -_0802C452: - ldr r0, [r7] - movs r1, 0x22 - ldrsh r0, [r0, r1] - cmp r6, r0 - blt _0802C400 - ldr r0, _0802C470 - ldr r0, [r0] - ldr r0, [r0, 0x3C] - bl sub_80073E0 - add sp, 0x60 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C470: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C39C - - thumb_func_start sub_802C474 -sub_802C474: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0802C47A: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_809658C - lsls r0, 24 - cmp r0, 0 - bne _0802C492 - ldr r0, _0802C4A0 - ldr r0, [r0] - adds r0, r5 - strb r4, [r0] - adds r5, 0x1 -_0802C492: - adds r4, 0x1 - cmp r4, 0x7 - ble _0802C47A - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0802C4A0: .4byte gUnknown_203B2E0 - thumb_func_end sub_802C474 - - thumb_func_start sub_802C4A4 -sub_802C4A4: - push {r4,lr} - movs r4, 0 -_0802C4A8: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_809658C - lsls r0, 24 - cmp r0, 0 - bne _0802C4BA - movs r0, 0 - b _0802C4C2 -_0802C4BA: - adds r4, 0x1 - cmp r4, 0x7 - ble _0802C4A8 - movs r0, 0x1 -_0802C4C2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802C4A4 - - thumb_func_start sub_802C4C8 -sub_802C4C8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - mov r8, r2 - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - beq _0802C4E2 - movs r0, 0 - b _0802C580 -_0802C4E2: - ldr r5, _0802C58C - movs r0, 0xA8 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - str r6, [r0, 0x3C] - lsls r1, r6, 1 - adds r1, r6 - lsls r1, 3 - adds r1, 0x44 - adds r1, r0, r1 - str r1, [r0, 0x40] - adds r0, 0x44 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x3C] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x44 - ldr r0, _0802C590 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r2, [r5] - ldr r1, [r2, 0x40] - adds r0, r2, 0 - adds r0, 0xA4 - str r0, [r1, 0x14] - cmp r4, 0 - beq _0802C53A - ldr r1, [r2, 0x3C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 + movs r2, 0x30 + bl MemoryFill8 + ldr r2, [r6] + ldr r0, [r2, 0x40] adds r1, r2, 0 - adds r1, 0x4C - adds r1, r0 - ldr r0, [r4] - str r0, [r1] -_0802C53A: - ldr r0, [r5] - ldr r0, [r0, 0x40] - mov r1, r8 - bl sub_8012D34 - bl ResetUnusedInputStruct - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r5] - adds r4, 0x8 - bl sub_802C80C - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r6, 0 - bl sub_8013848 - ldr r0, [r5] - ldr r1, _0802C594 - ldrh r1, [r1] - strh r1, [r0, 0x20] - adds r0, 0x8 - bl sub_8013984 - bl sub_802C6DC - bl sub_802C750 - movs r0, 0x1 -_0802C580: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802C58C: .4byte gUnknown_203B2E8 -_0802C590: .4byte gUnknown_80DFCFC -_0802C594: .4byte gUnknown_203B2EC - thumb_func_end sub_802C4C8 - - thumb_func_start sub_802C598 -sub_802C598: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _0802C5B4 - ldr r0, _0802C5B0 - ldr r0, [r0] - adds r0, 0x8 - bl sub_8013660 - movs r0, 0 - b _0802C61A - .align 2, 0 -_0802C5B0: .4byte gUnknown_203B2E8 -_0802C5B4: - ldr r0, _0802C5CC - ldr r0, [r0] - adds r0, 0x8 - bl GetKeyPress - cmp r0, 0x2 - beq _0802C5D6 - cmp r0, 0x2 - bgt _0802C5D0 - cmp r0, 0x1 - beq _0802C5E0 - b _0802C5F4 - .align 2, 0 -_0802C5CC: .4byte gUnknown_203B2E8 -_0802C5D0: - cmp r0, 0x4 - beq _0802C5EA - b _0802C5F4 -_0802C5D6: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0802C61A -_0802C5E0: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0802C61A -_0802C5EA: - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _0802C61A -_0802C5F4: - ldr r0, _0802C60C - ldr r0, [r0] - adds r0, 0x8 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802C610 - movs r0, 0 - b _0802C61A - .align 2, 0 -_0802C60C: .4byte gUnknown_203B2E8 -_0802C610: - bl sub_802C6DC - bl sub_802C750 - movs r0, 0x1 -_0802C61A: - pop {r1} - bx r1 - thumb_func_end sub_802C598 - - thumb_func_start sub_802C620 -sub_802C620: - ldr r0, _0802C63C - ldr r1, [r0] - movs r0, 0x26 - ldrsh r2, [r1, r0] - movs r3, 0x24 - ldrsh r0, [r1, r3] - muls r0, r2 - movs r3, 0x20 - ldrsh r2, [r1, r3] - adds r0, r2 - adds r1, r0 - ldrb r0, [r1] - bx lr - .align 2, 0 -_0802C63C: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C620 - - thumb_func_start sub_802C640 -sub_802C640: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0802C684 - ldr r0, [r5] - adds r0, 0x44 + adds r1, 0x48 + adds r2, 0x78 + b _08028740 +_080286C2: + adds r0, 0xA8 movs r1, 0 - movs r2, 0 - bl sub_800641C - bl sub_802C80C - adds r1, r0, 0 - ldr r0, [r5] - strh r1, [r0, 0x2A] - adds r0, 0x8 - bl sub_8013984 - bl sub_802C6DC - bl sub_802C750 - cmp r4, 0 - beq _0802C67E - ldr r0, [r5] - adds r0, 0x8 - bl AddMenuCursorSprite -_0802C67E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802C684: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C640 - - thumb_func_start sub_802C688 -sub_802C688: - push {r4,r5,lr} - ldr r4, _0802C6D0 - ldr r2, [r4] - cmp r2, 0 - beq _0802C6C8 - ldr r1, _0802C6D4 - ldrh r0, [r2, 0x20] - strh r0, [r1] - ldr r0, [r2, 0x3C] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x44 - ldr r0, _0802C6D8 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802C6C8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802C6D0: .4byte gUnknown_203B2E8 -_0802C6D4: .4byte gUnknown_203B2EC -_0802C6D8: .4byte gUnknown_80DFCE4 - thumb_func_end sub_802C688 - - thumb_func_start sub_802C6DC -sub_802C6DC: - push {r4,lr} - ldr r4, _0802C74C - ldr r0, [r4] - ldrh r1, [r0, 0x28] - adds r0, 0xA4 - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - ldrh r1, [r0, 0x26] - adds r0, 0xA5 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA6 - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xA7 - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x22 - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl sub_8009614 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x3C] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x52 - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x3C] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x54 - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C74C: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C6DC - - thumb_func_start sub_802C750 -sub_802C750: - push {r4-r6,lr} - sub sp, 0x60 - ldr r6, _0802C7AC - ldr r0, [r6] - ldr r0, [r0, 0x3C] - bl sub_8008C54 - ldr r0, [r6] - ldr r0, [r0, 0x3C] - bl sub_80073B8 + movs r2, 0x88 + bl MemoryFill8 ldr r0, [r6] - movs r1, 0x26 - ldrsh r4, [r0, r1] - lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA - ldr r2, _0802C7B0 - ldr r3, [r0, 0x3C] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 + movs r5, 0x98 + lsls r5, 1 + adds r0, r5 movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 + movs r2, 0x88 + bl MemoryFill8 ldr r1, [r6] adds r0, r1, 0 - adds r0, 0xA6 + adds r0, 0xE0 + strh r4, [r0] + movs r2, 0xB4 + lsls r2, 1 + adds r0, r1, r2 + strh r4, [r0] + movs r3, 0x86 + lsls r3, 2 + adds r0, r1, r3 ldrb r0, [r0] - lsls r0, 3 - adds r5, r4, r0 - movs r3, 0x26 - ldrsh r2, [r1, r3] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x3C] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r5, 0 - b _0802C7EC - .align 2, 0 -_0802C7AC: .4byte gUnknown_203B2E8 -_0802C7B0: .4byte gUnknown_80DFD14 -_0802C7B4: + bl sub_8095228 ldr r1, [r6] - movs r3, 0x26 - ldrsh r2, [r1, r3] - movs r3, 0x24 - ldrsh r0, [r1, r3] - muls r0, r2 - adds r0, r5 - adds r1, r0 - ldrb r0, [r1] - bl sub_8096AB4 - adds r4, r0, 0 - ldr r0, [r6] - ldr r1, [r0, 0x3C] - str r1, [sp, 0x8] - adds r0, 0x8 - adds r1, r5, 0 - bl sub_8013800 - str r0, [sp, 0x50] - adds r0, r4, 0 - add r1, sp, 0x8 - bl sub_803B35C - add r0, sp, 0x8 - bl sub_803B6D4 - adds r5, 0x1 -_0802C7EC: - ldr r0, [r6] - movs r1, 0x22 - ldrsh r0, [r0, r1] - cmp r5, r0 - blt _0802C7B4 - ldr r0, _0802C808 - ldr r0, [r0] - ldr r0, [r0, 0x3C] - bl sub_80073E0 - add sp, 0x60 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802C808: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C750 - - thumb_func_start sub_802C80C -sub_802C80C: - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0802C812: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096ACC - lsls r0, 24 - cmp r0, 0 - bne _0802C82A - ldr r0, _0802C838 - ldr r0, [r0] - adds r0, r5 - strb r4, [r0] - adds r5, 0x1 -_0802C82A: - adds r4, 0x1 - cmp r4, 0x7 - ble _0802C812 - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0802C838: .4byte gUnknown_203B2E8 - thumb_func_end sub_802C80C - - thumb_func_start sub_802C83C -sub_802C83C: - push {r4,lr} - movs r4, 0 -_0802C840: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8096ACC - lsls r0, 24 - cmp r0, 0 - bne _0802C852 - movs r0, 0 - b _0802C85A -_0802C852: - adds r4, 0x1 - cmp r4, 0x7 - ble _0802C840 - movs r0, 0x1 -_0802C85A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802C83C - - thumb_func_start sub_802C860 -sub_802C860: - push {r4-r6,lr} - adds r6, r0, 0 - bl sub_802C83C - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0802C890 - ldr r4, _0802C88C - movs r0, 0xFE - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - str r5, [r0, 0x68] - str r6, [r0] - movs r0, 0 - bl sub_802C910 - movs r0, 0x1 - b _0802C892 - .align 2, 0 -_0802C88C: .4byte gUnknown_203B2F0 -_0802C890: - movs r0, 0 -_0802C892: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_802C860 - - thumb_func_start sub_802C898 -sub_802C898: - push {lr} - ldr r0, _0802C8B0 - ldr r0, [r0] - ldr r0, [r0, 0x4] - cmp r0, 0x5 - bhi _0802C8E8 - lsls r0, 2 - ldr r1, _0802C8B4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802C8B0: .4byte gUnknown_203B2F0 -_0802C8B4: .4byte _0802C8B8 - .align 2, 0 -_0802C8B8: - .4byte _0802C8D0 - .4byte _0802C8D0 - .4byte _0802C8D6 - .4byte _0802C8DC - .4byte _0802C8E2 - .4byte _0802C8E8 -_0802C8D0: - bl sub_802CC00 - b _0802C8EC -_0802C8D6: - bl sub_802CC70 - b _0802C8EC -_0802C8DC: - bl sub_802CD38 - b _0802C8EC -_0802C8E2: - bl sub_802CDB8 - b _0802C8EC -_0802C8E8: - movs r0, 0x3 - b _0802C8EE -_0802C8EC: - movs r0, 0 -_0802C8EE: - pop {r1} - bx r1 - thumb_func_end sub_802C898 - - thumb_func_start sub_802C8F4 -sub_802C8F4: - push {r4,lr} - ldr r4, _0802C90C - ldr r0, [r4] - cmp r0, 0 - beq _0802C906 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802C906: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802C90C: .4byte gUnknown_203B2F0 - thumb_func_end sub_802C8F4 - - thumb_func_start sub_802C910 -sub_802C910: - push {lr} - ldr r1, _0802C924 - ldr r1, [r1] - str r0, [r1, 0x4] - bl sub_802C928 - bl sub_802C9D8 - pop {r0} - bx r0 - .align 2, 0 -_0802C924: .4byte gUnknown_203B2F0 - thumb_func_end sub_802C910 - - thumb_func_start sub_802C928 -sub_802C928: - push {r4-r7,lr} - ldr r4, _0802C94C - ldr r0, [r4] - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - ldr r1, [r4] - ldr r0, [r1, 0x4] - cmp r0, 0x2 - beq _0802C954 - cmp r0, 0x3 - beq _0802C980 - movs r2, 0 - ldr r3, _0802C950 - b _0802C998 - .align 2, 0 -_0802C94C: .4byte gUnknown_203B2F0 -_0802C950: .4byte gUnknown_80DFD28 -_0802C954: - bl sub_802CAA4 - ldr r2, [r4] - movs r0, 0xE6 - lsls r0, 1 - adds r2, r0 - ldr r1, _0802C97C - ldm r1!, {r3,r5,r6} - stm r2!, {r3,r5,r6} - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldr r1, [r4] - adds r0, r1, r0 - movs r6, 0x86 - lsls r6, 1 - adds r1, r6 - bl sub_8012CAC - b _0802C9B8 - .align 2, 0 -_0802C97C: .4byte gUnknown_80DFD40 -_0802C980: - movs r7, 0xF2 - lsls r7, 1 - adds r1, r7 - ldr r0, _0802C994 + adds r1, 0xA8 ldm r0!, {r2-r4} stm r1!, {r2-r4} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - b _0802C9B8 - .align 2, 0 -_0802C994: .4byte gUnknown_80DFD58 -_0802C998: - ldr r0, [r4] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 3 - adds r0, r1 - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - adds r1, r3, 0 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - adds r2, 0x1 - cmp r2, 0x3 - ble _0802C998 -_0802C9B8: - bl ResetUnusedInputStruct - ldr r0, _0802C9D4 - ldr r0, [r0] - movs r1, 0xCE - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802C9D4: .4byte gUnknown_203B2F0 - thumb_func_end sub_802C928 - - thumb_func_start sub_802C9D8 -sub_802C9D8: - push {r4,lr} - sub sp, 0x8 - ldr r1, _0802C9F4 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r4, r1, 0 - cmp r0, 0x5 - bhi _0802CA9C - lsls r0, 2 - ldr r1, _0802C9F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802C9F4: .4byte gUnknown_203B2F0 -_0802C9F8: .4byte _0802C9FC - .align 2, 0 -_0802C9FC: - .4byte _0802CA14 - .4byte _0802CA20 - .4byte _0802CA28 - .4byte _0802CA48 - .4byte _0802CA80 - .4byte _0802CA9C -_0802CA14: - movs r0, 0 - movs r1, 0 - movs r2, 0x4 - bl sub_802C4C8 - b _0802CA9C -_0802CA20: - movs r0, 0x1 - bl sub_802C640 - b _0802CA9C -_0802CA28: - bl sub_802C750 - ldr r0, _0802CA44 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x6C - movs r3, 0x86 - lsls r3, 1 - adds r1, r2, r3 - ldr r2, [r2, 0x68] - str r2, [sp] - movs r2, 0x2 - b _0802CA6E - .align 2, 0 -_0802CA44: .4byte gUnknown_203B2F0 -_0802CA48: - bl sub_802CBAC - bl sub_802C750 - ldr r4, _0802CA7C - ldr r0, [r4] - adds r0, 0x6C - movs r1, 0 - bl sub_8012EA4 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xBC - movs r2, 0xA6 - lsls r2, 1 - adds r1, r2 - movs r2, 0x6 - str r2, [sp] - movs r2, 0x3 -_0802CA6E: - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0802CA9C - .align 2, 0 -_0802CA7C: .4byte gUnknown_203B2F0 -_0802CA80: - ldr r0, [r4] - ldrb r0, [r0, 0xC] - bl sub_8096AB4 - ldr r1, [r4] - adds r1, 0x10 - bl sub_803B35C - ldr r0, [r4] - movs r1, 0x3 - str r1, [r0, 0x10] - adds r0, 0x10 - bl sub_802DE84 -_0802CA9C: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802C9D8 - - thumb_func_start sub_802CAA4 -sub_802CAA4: - push {r4-r7,lr} - movs r7, 0 - ldr r5, _0802CAC8 - ldr r0, [r5] - ldrb r0, [r0, 0xC] - bl sub_8096AB4 - adds r4, r0, 0 - ldr r2, [r5] - ldr r0, [r2] - cmp r0, 0 - bne _0802CB26 - ldrb r0, [r4] - cmp r0, 0x5 - beq _0802CACC - cmp r0, 0x6 - beq _0802CB10 - b _0802CB26 - .align 2, 0 -_0802CAC8: .4byte gUnknown_203B2F0 -_0802CACC: - movs r0, 0x86 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, _0802CAFC - str r0, [r1] - adds r0, r4, 0 - bl sub_809693C - lsls r0, 24 - cmp r0, 0 - bne _0802CAEE - ldrb r0, [r4, 0x4] - bl sub_80A2824 - lsls r0, 24 - cmp r0, 0 - bne _0802CB00 -_0802CAEE: - ldr r0, [r5] - movs r1, 0x88 - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - b _0802CB0A - .align 2, 0 -_0802CAFC: .4byte gUnknown_80DFD70 -_0802CB00: - ldr r0, [r5] - movs r1, 0x88 - lsls r1, 1 - adds r0, r1 - movs r1, 0x2 -_0802CB0A: - str r1, [r0] - adds r7, 0x1 - b _0802CB26 -_0802CB10: - movs r0, 0x86 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, _0802CB9C - str r0, [r1] - movs r0, 0x88 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0x3 - str r0, [r1] - movs r7, 0x1 -_0802CB26: - ldr r4, _0802CBA0 - ldr r6, [r4] - lsls r1, r7, 3 - movs r0, 0x86 - lsls r0, 1 - adds r3, r6, r0 - adds r2, r3, r1 - ldr r0, _0802CBA4 - ldr r0, [r0] - str r0, [r2] - movs r0, 0x88 - lsls r0, 1 - adds r5, r6, r0 - adds r1, r5, r1 - movs r0, 0x4 - str r0, [r1] - adds r7, 0x1 - lsls r1, r7, 3 - adds r2, r3, r1 - ldr r0, _0802CBA8 - ldr r0, [r0] - str r0, [r2] - adds r1, r5, r1 - movs r0, 0x7 - str r0, [r1] - adds r7, 0x1 - lsls r1, r7, 3 - adds r3, r1 - movs r0, 0 - str r0, [r3] - adds r1, r5, r1 - movs r0, 0x1 - str r0, [r1] - movs r3, 0 - mov r12, r4 - cmp r3, r7 - bge _0802CB8C - adds r4, r6, 0 - adds r1, r5, 0 - movs r5, 0x1 - negs r5, r5 -_0802CB78: - ldr r2, [r1] - cmp r2, r5 - beq _0802CB84 - ldr r0, [r4, 0x68] - cmp r2, r0 - beq _0802CB94 -_0802CB84: - adds r1, 0x8 - adds r3, 0x1 - cmp r3, r7 - blt _0802CB78 -_0802CB8C: - mov r0, r12 - ldr r1, [r0] - movs r0, 0x7 - str r0, [r1, 0x68] -_0802CB94: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802CB9C: .4byte gUnknown_80DFD7C -_0802CBA0: .4byte gUnknown_203B2F0 -_0802CBA4: .4byte gUnknown_80D494C -_0802CBA8: .4byte gUnknown_80D4970 - thumb_func_end sub_802CAA4 - - thumb_func_start sub_802CBAC -sub_802CBAC: - ldr r0, _0802CBF4 - ldr r0, [r0] - mov r12, r0 - movs r3, 0 - movs r1, 0xA6 - lsls r1, 1 - add r1, r12 - ldr r0, _0802CBF8 - ldr r0, [r0] - str r0, [r1] - movs r1, 0xA8 - lsls r1, 1 - add r1, r12 - movs r0, 0x5 - str r0, [r1] - movs r2, 0x1 - movs r1, 0xAA - lsls r1, 1 - add r1, r12 - ldr r0, _0802CBFC - ldr r0, [r0] - str r0, [r1] - movs r1, 0xAC - lsls r1, 1 - add r1, r12 - movs r0, 0x6 - str r0, [r1] - movs r0, 0xAE - lsls r0, 1 - add r0, r12 - str r3, [r0] - movs r0, 0xB0 - lsls r0, 1 - add r0, r12 - str r2, [r0] - bx lr - .align 2, 0 -_0802CBF4: .4byte gUnknown_203B2F0 -_0802CBF8: .4byte gUnknown_80D4920 -_0802CBFC: .4byte gUnknown_80D4928 - thumb_func_end sub_802CBAC - - thumb_func_start sub_802CC00 -sub_802CC00: - push {lr} - movs r0, 0x1 - bl sub_802C598 - cmp r0, 0x4 - bhi _0802CC6A - lsls r0, 2 - ldr r1, _0802CC18 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802CC18: .4byte _0802CC1C - .align 2, 0 -_0802CC1C: - .4byte _0802CC6A - .4byte _0802CC6A - .4byte _0802CC60 - .4byte _0802CC30 - .4byte _0802CC48 -_0802CC30: - bl sub_802C620 - ldr r1, _0802CC44 - ldr r1, [r1] - strb r0, [r1, 0xC] - movs r0, 0x2 - bl sub_802C910 - b _0802CC6A - .align 2, 0 -_0802CC44: .4byte gUnknown_203B2F0 -_0802CC48: - bl sub_802C620 - ldr r1, _0802CC5C - ldr r1, [r1] - strb r0, [r1, 0xC] - movs r0, 0x4 - bl sub_802C910 - b _0802CC6A - .align 2, 0 -_0802CC5C: .4byte gUnknown_203B2F0 -_0802CC60: - bl sub_802C688 - movs r0, 0x5 - bl sub_802C910 -_0802CC6A: - pop {r0} - bx r0 - thumb_func_end sub_802CC00 - - thumb_func_start sub_802CC70 -sub_802CC70: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802C598 - ldr r4, _0802CCB4 - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802CCA0 - ldr r0, [r4] - adds r0, 0x6C - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802CCA0 - ldr r0, [r4] - str r1, [r0, 0x68] -_0802CCA0: - ldr r0, [sp] - subs r0, 0x1 - cmp r0, 0x6 - bhi _0802CD2E - lsls r0, 2 - ldr r1, _0802CCB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802CCB4: .4byte gUnknown_203B2F0 -_0802CCB8: .4byte _0802CCBC - .align 2, 0 -_0802CCBC: - .4byte _0802CD28 - .4byte _0802CCD8 - .4byte _0802CCF4 - .4byte _0802CD18 - .4byte _0802CD2E - .4byte _0802CD2E - .4byte _0802CD20 -_0802CCD8: - ldr r0, _0802CCEC - bl sub_8011988 - ldr r0, _0802CCF0 - ldr r0, [r0] - ldrb r0, [r0, 0xC] - bl sub_8096AB4 - movs r1, 0x6 - b _0802CD06 - .align 2, 0 -_0802CCEC: .4byte 0x00000133 -_0802CCF0: .4byte gUnknown_203B2F0 -_0802CCF4: - ldr r0, _0802CD10 - bl sub_8011988 - ldr r0, _0802CD14 - ldr r0, [r0] - ldrb r0, [r0, 0xC] - bl sub_8096AB4 - movs r1, 0x5 -_0802CD06: - strb r1, [r0] - movs r0, 0x1 - bl sub_802C910 - b _0802CD2E - .align 2, 0 -_0802CD10: .4byte 0x00000133 -_0802CD14: .4byte gUnknown_203B2F0 -_0802CD18: - movs r0, 0x3 - bl sub_802C910 - b _0802CD2E -_0802CD20: - movs r0, 0x4 - bl sub_802C910 - b _0802CD2E -_0802CD28: - movs r0, 0x1 - bl sub_802C910 -_0802CD2E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802CC70 - - thumb_func_start sub_802CD38 -sub_802CD38: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802C598 - ldr r4, _0802CD78 - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0xBC - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802CD66 - ldr r0, [r4] - adds r0, 0xBC - mov r1, sp - bl sub_8013114 -_0802CD66: - ldr r0, [sp] - cmp r0, 0x5 - beq _0802CD88 - cmp r0, 0x5 - bgt _0802CD7C - cmp r0, 0x1 - beq _0802CD80 - b _0802CDB0 - .align 2, 0 -_0802CD78: .4byte gUnknown_203B2F0 -_0802CD7C: - cmp r0, 0x6 - bne _0802CDB0 -_0802CD80: - movs r0, 0x1 - bl sub_802C910 - b _0802CDB0 -_0802CD88: - ldr r0, [r4] - ldrb r0, [r0, 0xC] - bl sub_8096C3C - bl sub_8096C80 - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - beq _0802CDAA - bl sub_802C688 - movs r0, 0x5 - bl sub_802C910 - b _0802CDB0 -_0802CDAA: - movs r0, 0x1 - bl sub_802C910 -_0802CDB0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802CD38 - - thumb_func_start sub_802CDB8 -sub_802CDB8: - push {lr} - bl sub_802DEE0 - cmp r0, 0x1 - bls _0802CDD0 - cmp r0, 0x3 - bhi _0802CDD0 - bl sub_802DF24 - movs r0, 0x1 - bl sub_802C910 -_0802CDD0: - pop {r0} - bx r0 - thumb_func_end sub_802CDB8 - - thumb_func_start sub_802CDD4 -sub_802CDD4: - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _0802CE54 - ldr r0, [r4] - cmp r0, 0 - bne _0802CDEA - movs r0, 0xA0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] -_0802CDEA: - ldr r0, [r4] - str r5, [r0, 0x34] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - adds r1, 0x3C - adds r1, r0, r1 - str r1, [r0, 0x38] - adds r0, 0x3C - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x34] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x3C - ldr r0, _0802CE58 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r1, [r4] - ldr r0, [r1, 0x38] - adds r1, 0x9C - str r1, [r0, 0x14] - movs r1, 0x4 - bl sub_8012D34 - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x5 - movs r2, 0x4 - adds r3, r5, 0 - bl sub_8013848 - bl sub_802CF5C - bl sub_802CFD0 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0802CE54: .4byte gUnknown_203B2F4 -_0802CE58: .4byte gUnknown_80DFDA4 - thumb_func_end sub_802CDD4 - - thumb_func_start sub_802CE5C -sub_802CE5C: - push {r4,lr} - lsls r0, 24 - cmp r0, 0 - bne _0802CE74 - ldr r0, _0802CE70 - ldr r0, [r0] - bl sub_8013660 - movs r0, 0 - b _0802CEB4 - .align 2, 0 -_0802CE70: .4byte gUnknown_203B2F4 -_0802CE74: - ldr r4, _0802CE90 - ldr r0, [r4] - bl GetKeyPress - cmp r0, 0x1 - beq _0802CE94 - cmp r0, 0x2 - bne _0802CE98 - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0802CEB4 - .align 2, 0 -_0802CE90: .4byte gUnknown_203B2F4 -_0802CE94: - movs r0, 0x3 - b _0802CEB4 -_0802CE98: - ldr r0, [r4] - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _0802CEAA - movs r0, 0 - b _0802CEB4 -_0802CEAA: - bl sub_802CF5C - bl sub_802CFD0 - movs r0, 0x1 -_0802CEB4: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802CE5C - - thumb_func_start sub_802CEBC -sub_802CEBC: - ldr r0, _0802CED4 - ldr r1, [r0] - movs r0, 0x1E - ldrsh r2, [r1, r0] - movs r3, 0x1C - ldrsh r0, [r1, r3] - muls r0, r2 - ldrb r1, [r1, 0x18] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - bx lr - .align 2, 0 -_0802CED4: .4byte gUnknown_203B2F4 - thumb_func_end sub_802CEBC - - thumb_func_start sub_802CED8 -sub_802CED8: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - ldr r5, _0802CF10 - ldr r0, [r5] - adds r0, 0x3C - movs r1, 0 - movs r2, 0 - bl sub_800641C - ldr r0, [r5] - bl sub_8013984 - bl sub_802CF5C - bl sub_802CFD0 - cmp r4, 0 - beq _0802CF0A - ldr r0, [r5] - bl AddMenuCursorSprite -_0802CF0A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802CF10: .4byte gUnknown_203B2F4 - thumb_func_end sub_802CED8 - - thumb_func_start sub_802CF14 -sub_802CF14: - push {r4,r5,lr} - ldr r4, _0802CF54 - ldr r2, [r4] - cmp r2, 0 - beq _0802CF4E - ldr r0, [r2, 0x34] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x3C - ldr r0, _0802CF58 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802CF4E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802CF54: .4byte gUnknown_203B2F4 -_0802CF58: .4byte gUnknown_80DFD8C - thumb_func_end sub_802CF14 - - thumb_func_start sub_802CF5C -sub_802CF5C: - push {r4,lr} - ldr r4, _0802CFCC - ldr r0, [r4] - ldrh r1, [r0, 0x20] - adds r0, 0x9C - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - ldrh r1, [r0, 0x1E] - adds r0, 0x9D - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9E - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9F - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x1A - ldrsh r0, [r0, r1] - movs r1, 0x18 - bl sub_8009614 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x34] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x4A - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x34] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x4C - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802CFCC: .4byte gUnknown_203B2F4 - thumb_func_end sub_802CF5C - - thumb_func_start sub_802CFD0 -sub_802CFD0: - push {r4-r6,lr} - sub sp, 0x60 - ldr r6, _0802D02C - ldr r0, [r6] - ldr r0, [r0, 0x34] - bl sub_8008C54 - ldr r0, [r6] - ldr r0, [r0, 0x34] - bl sub_80073B8 - ldr r0, [r6] - movs r1, 0x1E - ldrsh r4, [r0, r1] - lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA - ldr r2, _0802D030 - ldr r3, [r0, 0x34] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x9E - ldrb r0, [r0] - lsls r0, 3 - adds r5, r4, r0 - movs r0, 0x1E - ldrsh r2, [r1, r0] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x34] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r5, 0 - b _0802D076 - .align 2, 0 -_0802D02C: .4byte gUnknown_203B2F4 -_0802D030: .4byte gUnknown_80DFDBC -_0802D034: - ldr r0, [r6] - movs r2, 0x1E - ldrsh r1, [r0, r2] - movs r2, 0x1C - ldrsh r0, [r0, r2] - muls r0, r1 - adds r0, r5 - lsls r0, 24 - lsrs r0, 24 - bl sub_803B344 - adds r4, r0, 0 - ldr r0, [r6] - ldr r1, [r0, 0x34] - str r1, [sp, 0x8] - adds r1, r5, 0 - bl sub_8013800 - str r0, [sp, 0x50] - adds r0, r4, 0 - add r1, sp, 0x8 - bl sub_803B35C - mov r1, sp - adds r1, 0x4B - movs r0, 0x1 - strb r0, [r1] - ldr r0, [r4, 0x14] - str r0, [sp, 0x54] - add r0, sp, 0x8 - bl sub_803B6D4 - adds r5, 0x1 -_0802D076: - ldr r0, [r6] - movs r1, 0x1A - ldrsh r0, [r0, r1] - cmp r5, r0 - blt _0802D034 - ldr r0, _0802D094 - ldr r0, [r0] - ldr r0, [r0, 0x34] - bl sub_80073E0 - add sp, 0x60 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802D094: .4byte gUnknown_203B2F4 - thumb_func_end sub_802CFD0 - - thumb_func_start sub_802D098 -sub_802D098: - push {r4-r6,lr} - adds r4, r0, 0 - ldr r6, _0802D0DC - movs r0, 0x82 - lsls r0, 2 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - movs r5, 0 - str r5, [r0, 0x6C] - str r5, [r0, 0x70] - str r5, [r0, 0x74] - str r4, [r0, 0xC] - strb r5, [r0, 0x8] - ldr r0, [r6] - adds r0, 0xA - bl sub_8099328 - ldr r1, [r6] - strb r0, [r1, 0x9] - bl sub_8011C1C - cmp r0, 0x2 - beq _0802D0CE - ldr r0, [r6] - strb r5, [r0, 0x9] -_0802D0CE: - movs r0, 0 - bl sub_802D1A0 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0802D0DC: .4byte gUnknown_203B2F8 - thumb_func_end sub_802D098 - - thumb_func_start sub_802D0E0 -sub_802D0E0: - push {lr} - ldr r0, _0802D0F8 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x10 - bhi _0802D16C - lsls r0, 2 - ldr r1, _0802D0FC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802D0F8: .4byte gUnknown_203B2F8 -_0802D0FC: .4byte _0802D100 - .align 2, 0 -_0802D100: - .4byte _0802D170 - .4byte _0802D144 - .4byte _0802D168 - .4byte _0802D16C - .4byte _0802D16C - .4byte _0802D16C - .4byte _0802D16C - .4byte _0802D16C - .4byte _0802D16C - .4byte _0802D162 - .4byte _0802D16C - .4byte _0802D14A - .4byte _0802D14A - .4byte _0802D150 - .4byte _0802D156 - .4byte _0802D15C - .4byte _0802D15C -_0802D144: - bl sub_802D7D0 - b _0802D170 -_0802D14A: - bl sub_802D8CC - b _0802D170 -_0802D150: - bl sub_802D940 - b _0802D170 -_0802D156: - bl sub_802D9F0 - b _0802D170 -_0802D15C: - bl sub_802DA60 - b _0802D170 -_0802D162: - bl sub_802D82C - b _0802D170 -_0802D168: - movs r0, 0x3 - b _0802D172 -_0802D16C: - bl sub_802DA84 -_0802D170: - movs r0, 0 -_0802D172: - pop {r1} - bx r1 - thumb_func_end sub_802D0E0 - - thumb_func_start sub_802D178 -sub_802D178: - ldr r0, _0802D180 - ldr r0, [r0] - ldrb r0, [r0, 0x8] - bx lr - .align 2, 0 -_0802D180: .4byte gUnknown_203B2F8 - thumb_func_end sub_802D178 - - thumb_func_start sub_802D184 -sub_802D184: - push {r4,lr} - ldr r4, _0802D19C - ldr r0, [r4] - cmp r0, 0 - beq _0802D196 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802D196: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802D19C: .4byte gUnknown_203B2F8 - thumb_func_end sub_802D184 - - thumb_func_start sub_802D1A0 -sub_802D1A0: - push {lr} - ldr r1, _0802D1B4 - ldr r1, [r1] - str r0, [r1] - bl sub_802D1B8 - bl sub_802D2A8 - pop {r0} - bx r0 - .align 2, 0 -_0802D1B4: .4byte gUnknown_203B2F8 - thumb_func_end sub_802D1A0 - - thumb_func_start sub_802D1B8 -sub_802D1B8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _0802D1E0 - ldr r0, [r4] - movs r1, 0xD4 - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0xD - beq _0802D1EA - cmp r0, 0xD - bgt _0802D1E4 - cmp r0, 0x2 - beq _0802D27E - b _0802D254 - .align 2, 0 -_0802D1E0: .4byte gUnknown_203B2F8 -_0802D1E4: - cmp r0, 0xE - beq _0802D21C - b _0802D254 -_0802D1EA: - bl sub_802D5A4 - ldr r2, [r4] - movs r0, 0xEC - lsls r0, 1 - adds r2, r0 - ldr r1, _0802D218 - ldm r1!, {r3,r5,r6} - stm r2!, {r3,r5,r6} - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldr r1, [r4] - adds r0, r1, r0 - movs r6, 0x8C - lsls r6, 1 - adds r1, r6 - bl sub_8012CAC - ldr r0, [r4] - movs r7, 0xF2 - lsls r7, 1 - b _0802D246 - .align 2, 0 -_0802D218: .4byte gUnknown_80DFE04 -_0802D21C: - bl sub_802D63C - ldr r2, [r4] - movs r0, 0xF8 - lsls r0, 1 - adds r2, r0 - ldr r1, _0802D250 - ldm r1!, {r3,r5,r6} - stm r2!, {r3,r5,r6} - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldr r1, [r4] - adds r0, r1, r0 - movs r6, 0xAC - lsls r6, 1 - adds r1, r6 - bl sub_8012CAC - ldr r0, [r4] - movs r7, 0xFE - lsls r7, 1 -_0802D246: - adds r0, r7 - movs r1, 0x6 - strh r1, [r0] - b _0802D27E - .align 2, 0 -_0802D250: .4byte gUnknown_80DFE1C -_0802D254: - ldr r0, _0802D2A0 - mov r12, r0 - movs r1, 0xD4 - lsls r1, 1 - mov r8, r1 - ldr r4, _0802D2A4 - movs r3, 0 - movs r2, 0x3 -_0802D264: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r8 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0802D264 -_0802D27E: - bl ResetUnusedInputStruct - ldr r0, _0802D2A0 - ldr r0, [r0] - movs r6, 0xD4 - lsls r6, 1 - adds r0, r6 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802D2A0: .4byte gUnknown_203B2F8 -_0802D2A4: .4byte gUnknown_80DFDD4 - thumb_func_end sub_802D1B8 - - thumb_func_start sub_802D2A8 -sub_802D2A8: - push {r4,lr} - sub sp, 0x14 - ldr r1, _0802D2C4 - ldr r0, [r1] - ldr r0, [r0] - adds r4, r1, 0 - cmp r0, 0x10 - bls _0802D2BA - b _0802D59A -_0802D2BA: - lsls r0, 2 - ldr r1, _0802D2C8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802D2C4: .4byte gUnknown_203B2F8 -_0802D2C8: .4byte _0802D2CC - .align 2, 0 -_0802D2CC: - .4byte _0802D310 - .4byte _0802D398 - .4byte _0802D59A - .4byte _0802D3B4 - .4byte _0802D3C4 - .4byte _0802D3D4 - .4byte _0802D3E4 - .4byte _0802D3F4 - .4byte _0802D404 - .4byte _0802D498 - .4byte _0802D4C8 - .4byte _0802D4E4 - .4byte _0802D4F0 - .4byte _0802D4F8 - .4byte _0802D524 - .4byte _0802D558 - .4byte _0802D576 -_0802D310: - ldr r0, [r4] - ldr r0, [r0, 0xC] - bl sub_80968B0 - lsls r0, 24 - cmp r0, 0 - beq _0802D326 - movs r0, 0x3 - bl sub_802D1A0 - b _0802D59A -_0802D326: - ldr r0, [r4] - ldr r0, [r0, 0xC] - bl sub_8096F50 - lsls r0, 24 - cmp r0, 0 - beq _0802D33C - movs r0, 0x4 - bl sub_802D1A0 - b _0802D59A -_0802D33C: - ldr r1, [r4] - ldr r0, [r1, 0xC] - ldrb r0, [r0, 0x2] - cmp r0, 0x4 - bne _0802D36E - adds r0, r1, 0 - adds r0, 0x10 - bl sub_8096C08 - lsls r0, 24 - cmp r0, 0 - beq _0802D36E - bl sub_802DAA8 - lsls r0, 24 - cmp r0, 0 - beq _0802D366 - movs r0, 0x9 - bl sub_802D1A0 - b _0802D59A -_0802D366: - movs r0, 0x5 - bl sub_802D1A0 - b _0802D59A -_0802D36E: - bl sub_80969AC - cmp r0, 0x7 - ble _0802D390 - bl sub_802DADC - lsls r0, 24 - cmp r0, 0 - beq _0802D388 - movs r0, 0xA - bl sub_802D1A0 - b _0802D59A -_0802D388: - movs r0, 0x6 - bl sub_802D1A0 - b _0802D59A -_0802D390: - movs r0, 0x8 - bl sub_802D1A0 - b _0802D59A -_0802D398: - bl sub_802D73C - ldr r0, _0802D3AC - ldr r1, _0802D3B0 - ldr r3, [r1] - ldr r2, [r3, 0x70] - movs r1, 0xAC - lsls r1, 1 - adds r3, r1 - b _0802D4AA - .align 2, 0 -_0802D3AC: .4byte gUnknown_80DFE4C -_0802D3B0: .4byte gUnknown_203B2F8 -_0802D3B4: - ldr r1, [r4] - movs r0, 0x2 - str r0, [r1, 0x4] - ldr r0, _0802D3C0 - b _0802D4D0 - .align 2, 0 -_0802D3C0: .4byte gUnknown_80DFE9C -_0802D3C4: - ldr r1, [r4] - movs r0, 0x2 - str r0, [r1, 0x4] - ldr r0, _0802D3D0 - b _0802D4D0 - .align 2, 0 -_0802D3D0: .4byte gUnknown_80DFED0 -_0802D3D4: - ldr r1, [r4] - movs r0, 0x2 - str r0, [r1, 0x4] - ldr r0, _0802D3E0 - b _0802D4D0 - .align 2, 0 -_0802D3E0: .4byte gUnknown_80DFF2C -_0802D3E4: - ldr r1, [r4] - movs r0, 0x2 - str r0, [r1, 0x4] - ldr r0, _0802D3F0 - b _0802D4D0 - .align 2, 0 -_0802D3F0: .4byte gUnknown_80DFFA4 -_0802D3F4: - ldr r1, [r4] - movs r0, 0xC - str r0, [r1, 0x4] - ldr r0, _0802D400 - b _0802D4D0 - .align 2, 0 -_0802D400: .4byte gUnknown_80E0010 -_0802D404: - ldr r4, _0802D45C - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x8] - ldr r0, [r4] - ldr r0, [r0, 0xC] - bl sub_8096A78 - bl sub_8096C80 - bl sub_8096D24 - ldr r0, [r4] - ldr r0, [r0, 0xC] - ldrb r0, [r0, 0x2] - cmp r0, 0x4 - bne _0802D446 - bl sub_8096DD8 - ldr r1, [r4] - ldr r1, [r1, 0xC] - ldr r1, [r1, 0x14] - movs r2, 0x28 - bl MemoryCopy8 - bl sub_8096DE8 - ldr r1, [r4] - ldr r1, [r1, 0xC] - ldr r1, [r1, 0x18] - movs r2, 0x78 - bl MemoryCopy8 -_0802D446: - ldr r0, [r4] - ldr r0, [r0, 0xC] - ldrb r0, [r0, 0x4] - cmp r0, 0x2C - beq _0802D46E - cmp r0, 0x2C - bgt _0802D460 - cmp r0, 0x2B - beq _0802D46A - b _0802D484 - .align 2, 0 -_0802D45C: .4byte gUnknown_203B2F8 -_0802D460: - cmp r0, 0x2D - beq _0802D472 - cmp r0, 0x2E - beq _0802D47C - b _0802D484 -_0802D46A: - movs r0, 0x2A - b _0802D474 -_0802D46E: - movs r0, 0x2B - b _0802D474 -_0802D472: - movs r0, 0x2C -_0802D474: - movs r1, 0x1 - bl sub_8097418 - b _0802D484 -_0802D47C: - movs r0, 0x2D - movs r1, 0x1 - bl sub_8097418 -_0802D484: - ldr r0, _0802D490 - ldr r1, [r0] - movs r0, 0x2 - str r0, [r1, 0x4] - ldr r0, _0802D494 - b _0802D4D0 - .align 2, 0 -_0802D490: .4byte gUnknown_203B2F8 -_0802D494: .4byte gUnknown_80E0074 -_0802D498: - bl sub_802D690 - ldr r0, _0802D4C0 - ldr r1, _0802D4C4 - ldr r3, [r1] - ldr r2, [r3, 0x74] - movs r4, 0xAC - lsls r4, 1 - adds r3, r4 -_0802D4AA: - movs r4, 0 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r4, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _0802D59A - .align 2, 0 -_0802D4C0: .4byte gUnknown_80E0094 -_0802D4C4: .4byte gUnknown_203B2F8 -_0802D4C8: - ldr r1, [r4] - movs r0, 0xB - str r0, [r1, 0x4] - ldr r0, _0802D4DC -_0802D4D0: - ldr r3, _0802D4E0 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _0802D59A - .align 2, 0 -_0802D4DC: .4byte gUnknown_80E0108 -_0802D4E0: .4byte 0x00000101 -_0802D4E4: - movs r0, 0 - movs r1, 0 - movs r2, 0x4 - bl sub_802C4C8 - b _0802D59A -_0802D4F0: - movs r0, 0x1 - bl sub_802C640 - b _0802D59A -_0802D4F8: - bl sub_802C750 - ldr r0, _0802D520 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x78 - movs r3, 0x8C - lsls r3, 1 - adds r1, r2, r3 - movs r4, 0xCC - lsls r4, 1 - adds r3, r2, r4 - ldr r2, [r2, 0x6C] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - bl sub_8012D60 - b _0802D59A - .align 2, 0 -_0802D520: .4byte gUnknown_203B2F8 -_0802D524: - bl sub_802C750 - ldr r4, _0802D554 - ldr r0, [r4] - adds r0, 0x78 - movs r1, 0 - bl sub_8012EA4 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xC8 - movs r2, 0xAC - lsls r2, 1 - adds r1, r2 - movs r2, 0x4 - str r2, [sp] - movs r2, 0x3 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0802D59A - .align 2, 0 -_0802D554: .4byte gUnknown_203B2F8 -_0802D558: - ldr r0, [r4] - ldrb r0, [r0, 0x10] - bl sub_8096AB4 - ldr r1, [r4] - adds r1, 0x14 - bl sub_803B35C - ldr r0, [r4] - movs r1, 0x3 - str r1, [r0, 0x14] - adds r0, 0x14 - bl sub_802DE84 - b _0802D59A -_0802D576: - ldr r1, [r4] - ldr r0, [r1, 0xC] - adds r1, 0x14 - bl sub_803B35C - ldr r0, [r4] - movs r1, 0x3 - str r1, [r0, 0x14] - adds r0, 0x58 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - ldr r1, [r0, 0xC] - ldr r1, [r1, 0x18] - str r1, [r0, 0x64] - adds r0, 0x14 - bl sub_802DE84 -_0802D59A: - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802D2A8 - - thumb_func_start sub_802D5A4 -sub_802D5A4: - push {r4-r7,lr} - ldr r4, _0802D630 - ldr r0, [r4] - movs r5, 0xCC - lsls r5, 1 - adds r0, r5 - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r0, [r4] - mov r12, r0 - movs r3, 0 - movs r1, 0x8C - lsls r1, 1 - add r1, r12 - ldr r0, _0802D634 - ldr r0, [r0] - str r0, [r1] - movs r1, 0x8E - lsls r1, 1 - add r1, r12 - movs r0, 0x2 - str r0, [r1] - movs r2, 0x1 - movs r1, 0x90 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D638 - ldr r0, [r0] - str r0, [r1] - movs r1, 0x92 - lsls r1, 1 - add r1, r12 - movs r0, 0x5 - str r0, [r1] - movs r7, 0x2 - movs r0, 0x94 - lsls r0, 1 - add r0, r12 - str r3, [r0] - movs r0, 0x96 - lsls r0, 1 - add r0, r12 - str r2, [r0] - movs r6, 0 - movs r3, 0x8E - lsls r3, 1 - add r3, r12 - mov r0, r12 - adds r2, r0, r5 -_0802D60A: - ldrh r0, [r2] - cmp r0, 0 - bne _0802D61A - ldr r1, [r3] - mov r5, r12 - ldr r0, [r5, 0x6C] - cmp r1, r0 - beq _0802D62A -_0802D61A: - adds r3, 0x8 - adds r2, 0x2 - adds r6, 0x1 - cmp r6, r7 - blt _0802D60A - ldr r1, [r4] - movs r0, 0x2 - str r0, [r1, 0x6C] -_0802D62A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802D630: .4byte gUnknown_203B2F8 -_0802D634: .4byte gUnknown_80D494C -_0802D638: .4byte gUnknown_80D4970 - thumb_func_end sub_802D5A4 - - thumb_func_start sub_802D63C -sub_802D63C: - ldr r0, _0802D684 - ldr r0, [r0] - mov r12, r0 - movs r3, 0 - movs r1, 0xAC - lsls r1, 1 - add r1, r12 - ldr r0, _0802D688 - ldr r0, [r0] - str r0, [r1] - movs r1, 0xAE - lsls r1, 1 - add r1, r12 - movs r0, 0x3 - str r0, [r1] - movs r2, 0x1 - movs r1, 0xB0 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D68C - ldr r0, [r0] - str r0, [r1] - movs r1, 0xB2 - lsls r1, 1 - add r1, r12 - movs r0, 0x4 - str r0, [r1] - movs r0, 0xB4 - lsls r0, 1 - add r0, r12 - str r3, [r0] - movs r0, 0xB6 - lsls r0, 1 - add r0, r12 - str r2, [r0] - bx lr - .align 2, 0 -_0802D684: .4byte gUnknown_203B2F8 -_0802D688: .4byte gUnknown_80D4920 -_0802D68C: .4byte gUnknown_80D4928 - thumb_func_end sub_802D63C - - thumb_func_start sub_802D690 -sub_802D690: - push {r4,r5,lr} - ldr r2, _0802D728 - ldr r0, [r2] - mov r12, r0 - movs r4, 0 - movs r1, 0xAC - lsls r1, 1 - add r1, r12 - ldr r0, _0802D72C - ldr r0, [r0] - str r0, [r1] - movs r1, 0xAE - lsls r1, 1 - add r1, r12 - movs r0, 0x3 - str r0, [r1] - movs r3, 0x1 - movs r1, 0xB0 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D730 - ldr r0, [r0] - str r0, [r1] - movs r1, 0xB2 - lsls r1, 1 - add r1, r12 - movs r0, 0x4 - str r0, [r1] - movs r1, 0xB4 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D734 - str r0, [r1] - movs r1, 0xB6 - lsls r1, 1 - add r1, r12 - movs r0, 0x6 - str r0, [r1] - movs r1, 0xB8 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D738 - str r0, [r1] - movs r1, 0xBA - lsls r1, 1 - add r1, r12 - movs r0, 0x7 - str r0, [r1] - movs r5, 0x4 - movs r0, 0xBC - lsls r0, 1 - add r0, r12 - str r4, [r0] - movs r0, 0xBE - lsls r0, 1 - add r0, r12 - str r3, [r0] - movs r3, 0 - mov r0, r12 - ldr r4, [r0, 0x74] - movs r1, 0xAE - lsls r1, 1 - add r1, r12 -_0802D70E: - ldr r0, [r1] - cmp r0, r4 - beq _0802D722 - adds r1, 0x8 - adds r3, 0x1 - cmp r3, r5 - blt _0802D70E - ldr r1, [r2] - movs r0, 0x4 - str r0, [r1, 0x74] -_0802D722: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802D728: .4byte gUnknown_203B2F8 -_0802D72C: .4byte gUnknown_80D4920 -_0802D730: .4byte gUnknown_80D4928 -_0802D734: .4byte gUnknown_80E014C -_0802D738: .4byte gUnknown_80E0158 - thumb_func_end sub_802D690 - - thumb_func_start sub_802D73C -sub_802D73C: - push {r4,r5,lr} - ldr r3, _0802D7C0 - ldr r0, [r3] - mov r12, r0 - movs r4, 0 - movs r1, 0xAC - lsls r1, 1 - add r1, r12 - ldr r0, _0802D7C4 - ldr r0, [r0] - str r0, [r1] - movs r1, 0xAE - lsls r1, 1 - add r1, r12 - movs r0, 0x3 - str r0, [r1] - movs r2, 0x1 - movs r1, 0xB0 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D7C8 - ldr r0, [r0] - str r0, [r1] - movs r1, 0xB2 - lsls r1, 1 - add r1, r12 - movs r0, 0x4 - str r0, [r1] - movs r1, 0xB4 - lsls r1, 1 - add r1, r12 - ldr r0, _0802D7CC - str r0, [r1] - movs r1, 0xB6 - lsls r1, 1 - add r1, r12 - movs r0, 0x6 - str r0, [r1] - movs r5, 0x3 - movs r0, 0xB8 - lsls r0, 1 - add r0, r12 - str r4, [r0] - movs r0, 0xBA - lsls r0, 1 - add r0, r12 - str r2, [r0] - movs r2, 0 - mov r0, r12 - ldr r4, [r0, 0x70] - movs r1, 0xAE - lsls r1, 1 - add r1, r12 -_0802D7A6: - ldr r0, [r1] - cmp r0, r4 - beq _0802D7BA - adds r1, 0x8 - adds r2, 0x1 - cmp r2, r5 - blt _0802D7A6 - ldr r1, [r3] - movs r0, 0x4 - str r0, [r1, 0x70] -_0802D7BA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802D7C0: .4byte gUnknown_203B2F8 -_0802D7C4: .4byte gUnknown_80D4920 -_0802D7C8: .4byte gUnknown_80D4928 -_0802D7CC: .4byte gUnknown_80E014C - thumb_func_end sub_802D73C - - thumb_func_start sub_802D7D0 -sub_802D7D0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802D826 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802D7EA - ldr r0, _0802D800 - ldr r0, [r0] - str r1, [r0, 0x70] -_0802D7EA: - ldr r0, [sp] - cmp r0, 0x3 - beq _0802D804 - cmp r0, 0x3 - ble _0802D820 - cmp r0, 0x4 - beq _0802D820 - cmp r0, 0x6 - beq _0802D80C - b _0802D820 - .align 2, 0 -_0802D800: .4byte gUnknown_203B2F8 -_0802D804: - movs r0, 0x2 - bl sub_802D1A0 - b _0802D826 -_0802D80C: - ldr r0, _0802D81C - ldr r1, [r0] - movs r0, 0x1 - str r0, [r1, 0x4] - movs r0, 0x10 - bl sub_802D1A0 - b _0802D826 - .align 2, 0 -_0802D81C: .4byte gUnknown_203B2F8 -_0802D820: - movs r0, 0 - bl sub_802D1A0 -_0802D826: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802D7D0 - - thumb_func_start sub_802D82C -sub_802D82C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802D8C6 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802D846 - ldr r0, _0802D858 - ldr r0, [r0] - str r1, [r0, 0x74] -_0802D846: - ldr r0, [sp] - subs r0, 0x1 - cmp r0, 0x6 - bhi _0802D8C0 - lsls r0, 2 - ldr r1, _0802D85C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802D858: .4byte gUnknown_203B2F8 -_0802D85C: .4byte _0802D860 - .align 2, 0 -_0802D860: - .4byte _0802D8C0 - .4byte _0802D8C0 - .4byte _0802D87C - .4byte _0802D8C0 - .4byte _0802D8C0 - .4byte _0802D898 - .4byte _0802D8AC -_0802D87C: - ldr r0, _0802D894 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - bl sub_8096C3C - bl sub_8096C80 - movs r0, 0x8 - bl sub_802D1A0 - b _0802D8C6 - .align 2, 0 -_0802D894: .4byte gUnknown_203B2F8 -_0802D898: - ldr r0, _0802D8A8 - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x4] - movs r0, 0x10 - bl sub_802D1A0 - b _0802D8C6 - .align 2, 0 -_0802D8A8: .4byte gUnknown_203B2F8 -_0802D8AC: - ldr r0, _0802D8BC - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x4] - movs r0, 0xF - bl sub_802D1A0 - b _0802D8C6 - .align 2, 0 -_0802D8BC: .4byte gUnknown_203B2F8 -_0802D8C0: - movs r0, 0x1 - bl sub_802D1A0 -_0802D8C6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_802D82C - - thumb_func_start sub_802D8CC -sub_802D8CC: - push {lr} - movs r0, 0x1 - bl sub_802C598 - cmp r0, 0x4 - bhi _0802D93A - lsls r0, 2 - ldr r1, _0802D8E4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802D8E4: .4byte _0802D8E8 - .align 2, 0 -_0802D8E8: - .4byte _0802D93A - .4byte _0802D93A - .4byte _0802D930 - .4byte _0802D8FC - .4byte _0802D914 -_0802D8FC: - bl sub_802C620 - ldr r1, _0802D910 - ldr r1, [r1] - strb r0, [r1, 0x10] - movs r0, 0xD - bl sub_802D1A0 - b _0802D93A - .align 2, 0 -_0802D910: .4byte gUnknown_203B2F8 -_0802D914: - bl sub_802C620 - ldr r2, _0802D92C - ldr r1, [r2] - strb r0, [r1, 0x10] - ldr r1, [r2] - movs r0, 0xC - str r0, [r1, 0x4] - movs r0, 0xF - bl sub_802D1A0 - b _0802D93A - .align 2, 0 -_0802D92C: .4byte gUnknown_203B2F8 -_0802D930: - bl sub_802C688 - movs r0, 0x1 - bl sub_802D1A0 -_0802D93A: - pop {r0} - bx r0 - thumb_func_end sub_802D8CC - - thumb_func_start sub_802D940 -sub_802D940: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802C598 - ldr r4, _0802D980 - ldr r0, [r4] - adds r0, 0x78 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802D970 - ldr r0, [r4] - adds r0, 0x78 - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802D970 - ldr r0, [r4] - str r1, [r0, 0x6C] -_0802D970: - ldr r0, [sp] - cmp r0, 0x2 - beq _0802D98A - cmp r0, 0x2 - bgt _0802D984 - cmp r0, 0x1 - beq _0802D9E0 - b _0802D9E6 - .align 2, 0 -_0802D980: .4byte gUnknown_203B2F8 -_0802D984: - cmp r0, 0x5 - beq _0802D9CC - b _0802D9E6 -_0802D98A: - ldr r0, _0802D9BC - ldr r3, [r0] - ldrb r0, [r3, 0x9] - cmp r0, 0 - beq _0802D9C4 - ldr r2, _0802D9C0 - ldrb r1, [r3, 0x10] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, 0xF0 - ldr r1, [r2] - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x5 - bls _0802D9C4 - ldrb r0, [r3, 0xA] - ldrb r1, [r1, 0x4] - cmp r0, r1 - bne _0802D9C4 - movs r0, 0x7 - bl sub_802D1A0 - b _0802D9E6 - .align 2, 0 -_0802D9BC: .4byte gUnknown_203B2F8 -_0802D9C0: .4byte gUnknown_203B490 -_0802D9C4: - movs r0, 0xE - bl sub_802D1A0 - b _0802D9E6 -_0802D9CC: - ldr r0, _0802D9DC - ldr r1, [r0] - movs r0, 0xC - str r0, [r1, 0x4] - movs r0, 0xF - bl sub_802D1A0 - b _0802D9E6 - .align 2, 0 -_0802D9DC: .4byte gUnknown_203B2F8 -_0802D9E0: - movs r0, 0xC - bl sub_802D1A0 -_0802D9E6: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802D940 - - thumb_func_start sub_802D9F0 -sub_802D9F0: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802C598 - ldr r4, _0802DA30 - ldr r0, [r4] - adds r0, 0x78 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0xC8 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802DA1E - ldr r0, [r4] - adds r0, 0xC8 - mov r1, sp - bl sub_8013114 -_0802DA1E: - ldr r0, [sp] - cmp r0, 0x3 - beq _0802DA40 - cmp r0, 0x3 - bgt _0802DA34 - cmp r0, 0x1 - beq _0802DA38 - b _0802DA56 - .align 2, 0 -_0802DA30: .4byte gUnknown_203B2F8 -_0802DA34: - cmp r0, 0x4 - bne _0802DA56 -_0802DA38: - movs r0, 0xC - bl sub_802D1A0 - b _0802DA56 -_0802DA40: - bl sub_802C688 - ldr r0, [r4] - ldrb r0, [r0, 0x10] - bl sub_8096C3C - bl sub_8096C80 - movs r0, 0x8 - bl sub_802D1A0 -_0802DA56: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802D9F0 - - thumb_func_start sub_802DA60 -sub_802DA60: - push {lr} - bl sub_802DEE0 - cmp r0, 0x1 - bls _0802DA7C - cmp r0, 0x3 - bhi _0802DA7C - bl sub_802DF24 - ldr r0, _0802DA80 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_802D1A0 -_0802DA7C: - pop {r0} - bx r0 - .align 2, 0 -_0802DA80: .4byte gUnknown_203B2F8 - thumb_func_end sub_802DA60 - - thumb_func_start sub_802DA84 -sub_802DA84: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802DA9C - ldr r0, _0802DAA4 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_802D1A0 -_0802DA9C: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0802DAA4: .4byte gUnknown_203B2F8 - thumb_func_end sub_802DA84 - - thumb_func_start sub_802DAA8 -sub_802DAA8: - push {r4,lr} - ldr r4, _0802DAD0 - ldr r0, [r4] - ldrb r0, [r0, 0x10] - bl sub_8096AB4 - adds r1, r0, 0 - ldr r4, [r4] - ldrb r0, [r4, 0x9] - cmp r0, 0 - beq _0802DAD4 - ldrb r0, [r1] - cmp r0, 0x5 - beq _0802DAD4 - ldrb r0, [r4, 0xA] - ldrb r1, [r1, 0x4] - cmp r0, r1 - bne _0802DAD4 - movs r0, 0 - b _0802DAD6 - .align 2, 0 -_0802DAD0: .4byte gUnknown_203B2F8 -_0802DAD4: - movs r0, 0x1 -_0802DAD6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802DAA8 - - thumb_func_start sub_802DADC -sub_802DADC: - push {r4,lr} - ldr r3, _0802DAEC - ldr r0, [r3] - ldrb r0, [r0, 0x9] - cmp r0, 0 - bne _0802DAF0 -_0802DAE8: - movs r0, 0x1 - b _0802DB1C - .align 2, 0 -_0802DAEC: .4byte gUnknown_203B2F8 -_0802DAF0: - ldr r0, _0802DB24 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xF0 - movs r2, 0 -_0802DAFA: - ldrb r0, [r1] - cmp r0, 0 - beq _0802DAE8 - cmp r0, 0x5 - beq _0802DAE8 - cmp r0, 0x5 - bls _0802DB12 - ldr r0, [r3] - ldrb r0, [r0, 0xA] - ldrb r4, [r1, 0x4] - cmp r0, r4 - bne _0802DAE8 -_0802DB12: - adds r1, 0x14 - adds r2, 0x1 - cmp r2, 0x7 - ble _0802DAFA - movs r0, 0 -_0802DB1C: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0802DB24: .4byte gUnknown_203B490 - thumb_func_end sub_802DADC - - thumb_func_start sub_802DB28 -sub_802DB28: - push {r4-r6,lr} - sub sp, 0x8 - adds r2, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r2, 24 - mov r0, sp - adds r1, r6, 0 - bl sub_8096AF8 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - bne _0802DB4A - movs r0, 0 - b _0802DBC6 -_0802DB4A: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0802DBD0 - movs r0, 0xA8 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - adds r0, 0x30 - movs r5, 0 - strb r6, [r0] - adds r0, r6, 0 - bl sub_8096AB4 - ldr r1, [r4] - str r0, [r1, 0x34] - bl sub_8096EEC - ldr r1, [r4] - ldr r0, [r1, 0x34] - adds r1, 0x8 - bl sub_803C21C - ldr r0, [r4] - ldr r0, [r0, 0x34] - movs r1, 0xC - ldrsh r0, [r0, r1] - bl GetDialogueSpriteDataPtr - ldr r1, [r4] - str r0, [r1, 0x38] - str r5, [r1, 0x3C] - adds r1, 0x44 - strb r5, [r1] - ldr r0, [r4] - adds r0, 0x45 - strb r5, [r0] - ldr r0, [r4] - adds r0, 0x46 - strb r5, [r0] - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0x40 - movs r0, 0x2 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x8 - strh r0, [r1] - ldr r0, [r2, 0x38] - cmp r0, 0 - beq _0802DBBE - ldr r0, [r0, 0x4] - str r0, [r2, 0x3C] -_0802DBBE: - movs r0, 0 - bl sub_802DC28 - movs r0, 0x1 -_0802DBC6: - add sp, 0x8 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0802DBD0: .4byte gUnknown_203B2FC - thumb_func_end sub_802DB28 - - thumb_func_start sub_802DBD4 -sub_802DBD4: - push {lr} - ldr r0, _0802DBEC - ldr r0, [r0] - ldr r1, [r0] - cmp r1, 0x6 - beq _0802DBF0 - cmp r1, 0x7 - bne _0802DBF6 - ldr r0, [r0, 0x34] - strb r1, [r0] - movs r0, 0x3 - b _0802DBFC - .align 2, 0 -_0802DBEC: .4byte gUnknown_203B2FC -_0802DBF0: - bl sub_802DE44 - b _0802DBFA -_0802DBF6: - bl sub_802DE60 -_0802DBFA: - movs r0, 0 -_0802DBFC: - pop {r1} - bx r1 - thumb_func_end sub_802DBD4 - - thumb_func_start sub_802DC00 -sub_802DC00: - push {r4,lr} - ldr r4, _0802DC24 - ldr r0, [r4] - cmp r0, 0 - beq _0802DC1E - ldr r0, [r0, 0x38] - cmp r0, 0 - beq _0802DC14 - bl CloseFile -_0802DC14: - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802DC1E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802DC24: .4byte gUnknown_203B2FC - thumb_func_end sub_802DC00 - - thumb_func_start sub_802DC28 -sub_802DC28: - push {lr} - ldr r1, _0802DC3C - ldr r1, [r1] - str r0, [r1] - bl sub_802DC40 - bl sub_802DC9C - pop {r0} - bx r0 - .align 2, 0 -_0802DC3C: .4byte gUnknown_203B2FC - thumb_func_end sub_802DC28 - - thumb_func_start sub_802DC40 -sub_802DC40: - push {r4-r7,lr} - ldr r4, _0802DC94 - ldr r0, [r4] - adds r0, 0x48 - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0 - beq _0802DC58 - cmp r0, 0x7 - bne _0802DC7A -_0802DC58: - mov r12, r4 - ldr r4, _0802DC98 - movs r3, 0 - movs r2, 0x3 -_0802DC60: - mov r0, r12 - ldr r1, [r0] - adds r1, r3 - adds r1, 0x48 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0802DC60 -_0802DC7A: - bl ResetUnusedInputStruct - ldr r0, _0802DC94 - ldr r0, [r0] - adds r0, 0x48 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802DC94: .4byte gUnknown_203B2FC -_0802DC98: .4byte gUnknown_80E016C - thumb_func_end sub_802DC40 - - thumb_func_start sub_802DC9C -sub_802DC9C: - push {r4,r5,lr} - ldr r1, _0802DCB8 - ldr r0, [r1] - ldr r0, [r0] - adds r5, r1, 0 - cmp r0, 0x7 - bls _0802DCAC - b _0802DE3E -_0802DCAC: - lsls r0, 2 - ldr r1, _0802DCBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802DCB8: .4byte gUnknown_203B2FC -_0802DCBC: .4byte _0802DCC0 - .align 2, 0 -_0802DCC0: - .4byte _0802DCE0 - .4byte _0802DDDC - .4byte _0802DDE4 - .4byte _0802DDEC - .4byte _0802DDFC - .4byte _0802DDF4 - .4byte _0802DE34 - .4byte _0802DE3E -_0802DCE0: - ldr r0, _0802DD60 - ldr r1, [r5] - ldr r1, [r1, 0x34] - movs r2, 0xC - ldrsh r1, [r1, r2] - bl sub_808D8E0 - ldr r4, _0802DD64 - ldr r0, [r5] - ldr r0, [r0, 0x34] - movs r2, 0xC - ldrsh r1, [r0, r2] - adds r0, r4, 0 - bl sub_808D8E0 - ldr r0, [r5] - ldr r0, [r0, 0x34] - movs r1, 0xC - ldrsh r0, [r0, r1] - bl GetMonSpecies - adds r1, r0, 0 - ldr r2, _0802DD68 - adds r0, r4, r2 - bl strcpy - ldr r0, [r5] - ldr r0, [r0, 0x34] - movs r1, 0xE - ldrsh r0, [r0, r1] - bl GetMonSpecies - adds r1, r0, 0 - ldr r2, _0802DD6C - adds r4, r2 - adds r0, r4, 0 - bl strcpy - ldr r0, [r5] - ldr r0, [r0, 0x34] - movs r1, 0xC - ldrsh r0, [r0, r1] - bl sub_8098214 - ldr r0, _0802DD70 - ldr r1, [r5] - ldr r1, [r1, 0x34] - ldrb r1, [r1, 0x10] - movs r2, 0 - bl sub_8090DC4 - ldr r1, [r5] - movs r0, 0x6 - str r0, [r1, 0x4] - ldr r0, [r1, 0x34] - ldrb r0, [r0, 0x1] - cmp r0, 0x4 - bhi _0802DDD4 - lsls r0, 2 - ldr r1, _0802DD74 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802DD60: .4byte gUnknown_202E5D8 -_0802DD64: .4byte gUnknown_202E1C8 -_0802DD68: .4byte 0xfffffdd0 -_0802DD6C: .4byte 0xfffffe20 -_0802DD70: .4byte gUnknown_202DE58 -_0802DD74: .4byte _0802DD78 - .align 2, 0 -_0802DD78: - .4byte _0802DDD4 - .4byte _0802DD9C - .4byte _0802DDB8 - .4byte _0802DD94 - .4byte _0802DD8C -_0802DD8C: - movs r0, 0x5 - bl sub_802DC28 - b _0802DE3E -_0802DD94: - movs r0, 0x4 - bl sub_802DC28 - b _0802DE3E -_0802DD9C: - movs r0, 0x2 - bl sub_802DC28 - ldr r0, _0802DDB4 - ldr r0, [r0] - ldr r0, [r0, 0x34] - movs r2, 0xE - ldrsh r0, [r0, r2] - bl sub_8098214 - b _0802DE3E - .align 2, 0 -_0802DDB4: .4byte gUnknown_203B2FC -_0802DDB8: - movs r0, 0x3 - bl sub_802DC28 - ldr r0, _0802DDD0 - ldr r0, [r0] - ldr r0, [r0, 0x34] - movs r1, 0xE - ldrsh r0, [r0, r1] - bl sub_8098214 - b _0802DE3E - .align 2, 0 -_0802DDD0: .4byte gUnknown_203B2FC -_0802DDD4: - movs r0, 0x1 - bl sub_802DC28 - b _0802DE3E -_0802DDDC: - ldr r0, _0802DDE0 - b _0802DE1C - .align 2, 0 -_0802DDE0: .4byte gUnknown_80E0184 -_0802DDE4: - ldr r0, _0802DDE8 - b _0802DE1C - .align 2, 0 -_0802DDE8: .4byte gUnknown_80E01A0 -_0802DDEC: - ldr r0, _0802DDF0 - b _0802DE1C - .align 2, 0 -_0802DDF0: .4byte gUnknown_80E01C4 -_0802DDF4: - ldr r0, _0802DDF8 - b _0802DE1C - .align 2, 0 -_0802DDF8: .4byte gUnknown_80E01F0 -_0802DDFC: - ldr r0, [r5] - ldr r0, [r0, 0x34] - ldrb r0, [r0, 0x10] - bl sub_8091130 - adds r1, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0802DE1A - adds r0, r1, 0 - bl sub_80911F8 - bl sub_80910B4 -_0802DE1A: - ldr r0, _0802DE2C -_0802DE1C: - ldr r2, [r5] - adds r2, 0x38 - ldr r3, _0802DE30 - movs r1, 0 - bl sub_80141B4 - b _0802DE3E - .align 2, 0 -_0802DE2C: .4byte gUnknown_80E0218 -_0802DE30: .4byte 0x0000010d -_0802DE34: - ldr r0, [r5] - adds r0, 0x8 - movs r1, 0x1 - bl sub_802F204 -_0802DE3E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_802DC9C - - thumb_func_start sub_802DE44 -sub_802DE44: - push {lr} - bl sub_802F298 - cmp r0, 0x1 - bls _0802DE5C - cmp r0, 0x3 - bhi _0802DE5C - bl sub_802F2C0 - movs r0, 0x7 - bl sub_802DC28 -_0802DE5C: - pop {r0} - bx r0 - thumb_func_end sub_802DE44 - - thumb_func_start sub_802DE60 -sub_802DE60: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802DE78 - ldr r0, _0802DE80 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_802DC28 -_0802DE78: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0802DE80: .4byte gUnknown_203B2FC - thumb_func_end sub_802DE60 - - thumb_func_start sub_802DE84 -sub_802DE84: - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, _0802DED8 - movs r0, 0x7C - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - str r5, [r0, 0xC] - bl sub_801317C - ldr r0, [r4] - ldr r1, [r0, 0xC] - ldr r2, [r1] - str r2, [r0, 0x10] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 3 - adds r1, 0x18 - adds r1, r0, r1 - str r1, [r0, 0x14] - adds r0, 0x18 - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x10] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x18 - ldr r0, _0802DEDC ldm r0!, {r2-r4} stm r1!, {r2-r4} ldm r0!, {r2-r4} stm r1!, {r2-r4} - bl sub_802DF14 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0802DED8: .4byte gUnknown_203B300 -_0802DEDC: .4byte gUnknown_80E0264 - thumb_func_end sub_802DE84 - - thumb_func_start sub_802DEE0 -sub_802DEE0: - push {lr} - ldr r0, _0802DF00 - ldr r0, [r0] - ldr r1, [r0, 0x10] - bl sub_8012A64 - cmp r0, 0x1 - beq _0802DF04 - cmp r0, 0x2 - bne _0802DF0E - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0802DF10 - .align 2, 0 -_0802DF00: .4byte gUnknown_203B300 -_0802DF04: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0802DF10 -_0802DF0E: - movs r0, 0 -_0802DF10: - pop {r1} - bx r1 - thumb_func_end sub_802DEE0 - - thumb_func_start sub_802DF14 -sub_802DF14: - push {lr} - bl sub_802DF6C - bl sub_802DF88 - pop {r0} - bx r0 - thumb_func_end sub_802DF14 - - thumb_func_start sub_802DF24 -sub_802DF24: - push {r4,r5,lr} - ldr r4, _0802DF64 - ldr r2, [r4] - cmp r2, 0 - beq _0802DF5E - ldr r0, [r2, 0x10] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x18 - ldr r0, _0802DF68 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802DF5E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802DF64: .4byte gUnknown_203B300 -_0802DF68: .4byte gUnknown_80E0248 - thumb_func_end sub_802DF24 - - thumb_func_start sub_802DF6C -sub_802DF6C: - push {lr} - bl ResetUnusedInputStruct - ldr r0, _0802DF84 - ldr r0, [r0] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r0} - bx r0 - .align 2, 0 -_0802DF84: .4byte gUnknown_203B300 - thumb_func_end sub_802DF6C - - thumb_func_start sub_802DF88 -sub_802DF88: - push {r4,lr} - ldr r4, _0802DFAC - ldr r0, [r4] - ldr r0, [r0, 0x10] - bl sub_80073B8 - ldr r0, [r4] - ldr r0, [r0, 0xC] - bl CreateRescueDescription - ldr r0, [r4] - ldr r0, [r0, 0x10] - bl sub_80073E0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802DFAC: .4byte gUnknown_203B300 - thumb_func_end sub_802DF88 - - thumb_func_start sub_802DFB0 -sub_802DFB0: - push {r4,lr} - ldr r4, _0802DFD4 - movs r0, 0xB6 - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r1, 0 - str r1, [r0, 0x64] - str r1, [r0, 0x68] + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldr r2, [r6] + ldr r4, _08028760 + adds r3, r2, r4 movs r0, 0 - bl sub_802E088 + ldrsh r1, [r3, r0] movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0802DFD4: .4byte gUnknown_203B304 - thumb_func_end sub_802DFB0 - - thumb_func_start sub_802DFD8 -sub_802DFD8: - push {lr} - ldr r0, _0802DFF0 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0xB - bhi _0802E060 - lsls r0, 2 - ldr r1, _0802DFF4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802DFF0: .4byte gUnknown_203B304 -_0802DFF4: .4byte _0802DFF8 - .align 2, 0 -_0802DFF8: - .4byte _0802E028 - .4byte _0802E030 - .4byte _0802E036 - .4byte _0802E060 - .4byte _0802E03C - .4byte _0802E03C - .4byte _0802E042 - .4byte _0802E048 - .4byte _0802E04E - .4byte _0802E054 - .4byte _0802E054 - .4byte _0802E05A -_0802E028: - movs r0, 0x1 - bl sub_802E088 - b _0802E064 -_0802E030: - bl sub_802E4B0 - b _0802E064 -_0802E036: - bl nullsub_133 - b _0802E064 -_0802E03C: - bl sub_802E578 - b _0802E064 -_0802E042: - bl sub_802E60C - b _0802E064 -_0802E048: - bl sub_802E73C - b _0802E064 -_0802E04E: - bl sub_802E758 - b _0802E064 -_0802E054: - bl sub_802E774 - b _0802E064 -_0802E05A: - bl sub_802E7D0 - b _0802E064 -_0802E060: - movs r0, 0x3 - b _0802E066 -_0802E064: - movs r0, 0 -_0802E066: - pop {r1} - bx r1 - thumb_func_end sub_802DFD8 - - thumb_func_start sub_802E06C -sub_802E06C: - push {r4,lr} - ldr r4, _0802E084 - ldr r0, [r4] - cmp r0, 0 - beq _0802E07E - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802E07E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802E084: .4byte gUnknown_203B304 - thumb_func_end sub_802E06C - - thumb_func_start sub_802E088 -sub_802E088: - push {lr} - ldr r1, _0802E09C + negs r0, r0 + cmp r1, r0 + beq _08028736 + adds r0, r2, 0 + adds r0, 0xD8 + ldr r1, _08028764 ldr r1, [r1] - str r0, [r1] - bl sub_802E0A0 - bl sub_802E1AC - pop {r0} - bx r0 - .align 2, 0 -_0802E09C: .4byte gUnknown_203B304 - thumb_func_end sub_802E088 - - thumb_func_start sub_802E0A0 -sub_802E0A0: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _0802E0C8 - ldr r0, [r4] - movs r6, 0x86 - lsls r6, 1 - adds r0, r6 - bl sub_8006518 - ldr r0, [r4] - ldr r5, [r0] - cmp r5, 0x1 - beq _0802E0D0 - cmp r5, 0x6 - beq _0802E124 - movs r3, 0 - ldr r2, _0802E0CC - b _0802E168 - .align 2, 0 -_0802E0C8: .4byte gUnknown_203B304 -_0802E0CC: .4byte gUnknown_80E0284 -_0802E0D0: - mov r12, r6 - ldr r0, _0802E118 - mov r8, r0 movs r2, 0 - movs r3, 0x3 -_0802E0DA: - ldr r1, [r4] + ldrsh r3, [r3, r2] + movs r2, 0x58 + muls r2, r3 adds r1, r2 - add r1, r12 - mov r0, r8 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r2, 0x18 - subs r3, 0x1 - cmp r3, 0 - bge _0802E0DA - bl CreateMailboxMenu - ldr r3, _0802E11C - ldr r2, [r3] - movs r0, 0x9E - lsls r0, 1 - adds r2, r0 - ldr r1, _0802E120 - ldm r1!, {r4-r6} - stm r2!, {r4-r6} - ldm r1!, {r4,r5,r7} - stm r2!, {r4,r5,r7} - ldr r1, [r3] - adds r0, r1, r0 - adds r1, 0xBC - bl sub_8012CAC - b _0802E188 - .align 2, 0 -_0802E118: .4byte gUnknown_80E0284 -_0802E11C: .4byte gUnknown_203B304 -_0802E120: .4byte gUnknown_80E029C -_0802E124: - bl CreateMailActionMenu - ldr r2, [r4] - movs r0, 0x9E - lsls r0, 1 - adds r2, r0 - ldr r1, _0802E160 - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldr r1, [r4] - adds r0, r1, r0 - adds r1, 0xBC - bl sub_8012CAC - ldr r1, [r4] - movs r4, 0xA4 - lsls r4, 1 - adds r0, r1, r4 - strh r5, [r0] - movs r5, 0xAA - lsls r5, 1 - adds r1, r5 - ldr r0, _0802E164 - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - b _0802E188 - .align 2, 0 -_0802E160: .4byte gUnknown_80E02B4 -_0802E164: .4byte gUnknown_80E02CC -_0802E168: - ldr r0, [r4] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r0, r1 - movs r6, 0x86 - lsls r6, 1 - adds r0, r6 - adds r1, r2, 0 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - adds r3, 0x1 - cmp r3, 0x3 - ble _0802E168 -_0802E188: - bl ResetUnusedInputStruct - ldr r0, _0802E1A8 - ldr r0, [r0] - movs r7, 0x86 - lsls r7, 1 - adds r0, r7 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802E1A8: .4byte gUnknown_203B304 - thumb_func_end sub_802E0A0 - - thumb_func_start sub_802E1AC -sub_802E1AC: - push {r4,lr} - sub sp, 0x8 - ldr r1, _0802E1C8 - ldr r0, [r1] - ldr r0, [r0] - adds r4, r1, 0 - cmp r0, 0xB - bhi _0802E2AA - lsls r0, 2 - ldr r1, _0802E1CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802E1C8: .4byte gUnknown_203B304 -_0802E1CC: .4byte _0802E1D0 - .align 2, 0 -_0802E1D0: - .4byte _0802E2AA - .4byte _0802E200 - .4byte _0802E2AA - .4byte _0802E2AA - .4byte _0802E21E - .4byte _0802E22A - .4byte _0802E232 - .4byte _0802E260 - .4byte _0802E286 - .4byte _0802E28E - .4byte _0802E29A - .4byte _0802E2A2 -_0802E200: - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x6C - adds r1, r2, 0 - adds r1, 0xBC - adds r3, r2, 0 - adds r3, 0xFC - ldr r2, [r2, 0x64] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - bl sub_8012D60 - b _0802E2AA -_0802E21E: - movs r0, 0 - movs r1, 0 - movs r2, 0x4 - bl sub_802BD14 - b _0802E2AA -_0802E22A: - movs r0, 0x1 - bl sub_802BE94 - b _0802E2AA -_0802E232: - bl CreateMailMenu - movs r0, 0x3 - bl CreateMailAcceptedStatusBox - ldr r0, _0802E25C - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x6C - adds r1, r2, 0 - adds r1, 0xBC - ldr r2, [r2, 0x68] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0802E2AA - .align 2, 0 -_0802E25C: .4byte gUnknown_203B304 -_0802E260: - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8095FE8 - ldr r1, [r4] - adds r1, 0xC - bl sub_803B35C - ldr r0, [r4] - movs r1, 0x3 - str r1, [r0, 0xC] - adds r0, 0x50 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC - bl sub_802DE84 - b _0802E2AA -_0802E286: - movs r0, 0 - bl sub_802C860 - b _0802E2AA -_0802E28E: - movs r0, 0 - movs r1, 0 - movs r2, 0x8 - bl sub_802B640 - b _0802E2AA -_0802E29A: - movs r0, 0x1 - bl sub_802B7D0 - b _0802E2AA -_0802E2A2: - ldr r0, [r4] - ldrb r0, [r0, 0x9] - bl sub_802B9FC -_0802E2AA: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802E1AC - - thumb_func_start CreateMailboxMenu -CreateMailboxMenu: - push {r4-r7,lr} - ldr r4, _0802E380 - ldr r0, [r4] - adds r0, 0xFC - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xBC - ldr r0, _0802E384 - str r0, [r2] - adds r1, 0xC0 - movs r0, 0x2 - str r0, [r1] - bl sub_802C0E8 - lsls r0, 24 - cmp r0, 0 - beq _0802E2E6 - ldr r0, [r4] - adds r0, 0xFC - movs r1, 0x1 - strh r1, [r0] -_0802E2E6: - movs r5, 0x1 - ldr r1, [r4] - movs r6, 0x1 - adds r2, r1, 0 - adds r2, 0xC4 - ldr r0, _0802E388 - str r0, [r2] - adds r1, 0xC8 - movs r0, 0x3 - str r0, [r1] - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - beq _0802E30A - ldr r0, [r4] - adds r0, 0xFE - strh r5, [r0] -_0802E30A: - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xCC - ldr r0, _0802E38C - str r0, [r2] - adds r1, 0xD0 - movs r0, 0x4 - str r0, [r1] - bl sub_802B9D8 - lsls r0, 24 - cmp r0, 0 - beq _0802E32E - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - strh r6, [r0] -_0802E32E: - movs r5, 0x3 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0xD4 - movs r1, 0 - str r1, [r0] - adds r0, 0x4 - str r6, [r0] - movs r3, 0 - adds r6, r4, 0 - mov r12, r2 - mov r4, r12 - adds r4, 0xFC - adds r2, 0xC0 -_0802E34A: - ldrh r0, [r4] - cmp r0, 0 - bne _0802E35A - ldr r1, [r2] - mov r7, r12 - ldr r0, [r7, 0x64] - cmp r1, r0 - beq _0802E3B2 -_0802E35A: - adds r4, 0x2 - adds r2, 0x8 - adds r3, 0x1 - cmp r3, r5 - blt _0802E34A - movs r3, 0 - cmp r3, r5 - bge _0802E3B2 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0xFC - ldrh r0, [r0] - cmp r0, 0 - bne _0802E390 - adds r0, r1, 0 - adds r0, 0xC0 - ldr r0, [r0] - str r0, [r1, 0x64] - b _0802E3B2 - .align 2, 0 -_0802E380: .4byte gUnknown_203B304 -_0802E384: .4byte gMailboxCheckMail -_0802E388: .4byte gMailboxJobList -_0802E38C: .4byte gMailboxPKMNNews -_0802E390: - adds r3, 0x1 - cmp r3, r5 - bge _0802E3B2 + movs r2, 0x58 + bl memcpy +_08028736: ldr r2, [r6] - lsls r0, r3, 1 - adds r1, r2, 0 - adds r1, 0xFC - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _0802E390 - lsls r0, r3, 3 - adds r1, r2, 0 - adds r1, 0xC0 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x64] -_0802E3B2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end CreateMailboxMenu - - thumb_func_start CreateMailActionMenu -CreateMailActionMenu: - push {r4-r7,lr} - movs r5, 0 - ldr r4, _0802E3F0 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8095FE8 - adds r7, r0, 0 - ldrb r0, [r7] - cmp r0, 0x1 - bne _0802E3FC - ldr r2, [r4] + ldr r0, [r2, 0x40] adds r1, r2, 0 - adds r1, 0xBC - ldr r0, _0802E3F4 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x6 - str r0, [r1] - adds r1, 0x4 - ldr r0, _0802E3F8 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x7 - str r0, [r1] - movs r5, 0x2 - b _0802E44A - .align 2, 0 -_0802E3F0: .4byte gUnknown_203B304 -_0802E3F4: .4byte gMailActionStore -_0802E3F8: .4byte gMailActionRead -_0802E3FC: - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xBC - ldr r0, _0802E494 - ldr r0, [r0] - str r0, [r2] - adds r1, 0xC0 - movs r0, 0x5 - str r0, [r1] - adds r0, r7, 0 - bl sub_80968B0 - lsls r0, 24 - cmp r0, 0 - bne _0802E422 - bl sub_80969AC - cmp r0, 0x7 - ble _0802E42C -_0802E422: - ldr r0, [r4] - adds r0, 0xC0 - movs r1, 0x1 - negs r1, r1 - str r1, [r0] -_0802E42C: - adds r5, 0x1 - ldr r4, _0802E498 + adds r1, 0xA8 + adds r2, r5 +_08028740: + bl sub_8037D64 + ldr r1, [r6] + str r0, [r1, 0x44] +_08028748: + ldr r4, _08028768 ldr r2, [r4] - lsls r3, r5, 3 - adds r0, r2, 0 - adds r0, 0xBC - adds r0, r3 - ldr r1, _0802E49C - ldr r1, [r1] - str r1, [r0] - adds r2, 0xC0 - adds r2, r3 - movs r0, 0x8 - str r0, [r2] - adds r5, 0x1 -_0802E44A: - mov r12, r4 - mov r0, r12 - ldr r4, [r0] - lsls r2, r5, 3 - adds r0, r4, 0 - adds r0, 0xBC - adds r0, r2 - movs r1, 0 - str r1, [r0] - adds r1, r4, 0 - adds r1, 0xC0 - adds r2, r1, r2 - movs r0, 0x1 - str r0, [r2] - movs r3, 0 - cmp r3, r5 - bge _0802E486 - movs r6, 0x1 - negs r6, r6 - adds r2, r1, 0 -_0802E472: - ldr r1, [r2] - cmp r1, r6 - beq _0802E47E - ldr r0, [r4, 0x68] - cmp r1, r0 - beq _0802E4A8 -_0802E47E: - adds r2, 0x8 - adds r3, 0x1 - cmp r3, r5 - blt _0802E472 -_0802E486: - ldrb r0, [r7] - cmp r0, 0x1 - bne _0802E4A0 - mov r0, r12 - ldr r1, [r0] - movs r0, 0x7 - b _0802E4A6 - .align 2, 0 -_0802E494: .4byte gUnknown_80D4990 -_0802E498: .4byte gUnknown_203B304 -_0802E49C: .4byte gUnknown_80D4970 -_0802E4A0: - mov r0, r12 - ldr r1, [r0] - movs r0, 0x8 -_0802E4A6: - str r0, [r1, 0x68] -_0802E4A8: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end CreateMailActionMenu - - thumb_func_start sub_802E4B0 -sub_802E4B0: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r4, _0802E4F0 - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802E4DC - ldr r0, [r4] - adds r0, 0x6C - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802E4DC - ldr r0, [r4] - str r1, [r0, 0x64] -_0802E4DC: - ldr r0, [sp] - subs r0, 0x1 - cmp r0, 0x7 - bhi _0802E56E - lsls r0, 2 - ldr r1, _0802E4F4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802E4F0: .4byte gUnknown_203B304 -_0802E4F4: .4byte _0802E4F8 - .align 2, 0 -_0802E4F8: - .4byte _0802E568 - .4byte _0802E518 - .4byte _0802E52A - .4byte _0802E53C - .4byte _0802E56E - .4byte _0802E56E - .4byte _0802E56E - .4byte _0802E560 -_0802E518: - bl sub_802C0E8 - lsls r0, 24 - cmp r0, 0 - bne _0802E54E - movs r0, 0x4 - bl sub_802E088 - b _0802E56E -_0802E52A: - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - bne _0802E54E - movs r0, 0x8 - bl sub_802E088 - b _0802E56E -_0802E53C: - bl sub_802B9D8 - lsls r0, 24 - cmp r0, 0 - bne _0802E54E - movs r0, 0x9 - bl sub_802E088 - b _0802E56E -_0802E54E: - ldr r0, _0802E55C - ldr r0, [r0] - adds r0, 0x6C - movs r1, 0x1 - bl sub_8012EA4 - b _0802E56E - .align 2, 0 -_0802E55C: .4byte gUnknown_203B304 -_0802E560: - movs r0, 0x2 - bl sub_802E088 - b _0802E56E -_0802E568: - movs r0, 0x3 - bl sub_802E088 -_0802E56E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802E4B0 - - thumb_func_start sub_802E578 -sub_802E578: - push {r4,lr} - movs r0, 0x1 - bl sub_802BDEC - cmp r0, 0x4 - bhi _0802E606 - lsls r0, 2 - ldr r1, _0802E590 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802E590: .4byte _0802E594 - .align 2, 0 -_0802E594: - .4byte _0802E606 - .4byte _0802E606 - .4byte _0802E5FC - .4byte _0802E5A8 - .4byte _0802E5C0 -_0802E5A8: - bl sub_802BE74 - ldr r1, _0802E5BC - ldr r1, [r1] - strb r0, [r1, 0x8] - movs r0, 0x6 - bl sub_802E088 - b _0802E606 - .align 2, 0 -_0802E5BC: .4byte gUnknown_203B304 -_0802E5C0: - bl sub_802BE74 - ldr r4, _0802E5F0 - ldr r1, [r4] - strb r0, [r1, 0x8] - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8095FE8 - adds r2, r0, 0 - ldrb r0, [r2] - cmp r0, 0x1 - bne _0802E5F4 - ldr r1, [r4] - ldrb r0, [r2, 0x5] - strb r0, [r1, 0x9] - ldr r1, [r4] - movs r0, 0x5 - str r0, [r1, 0x4] - movs r0, 0xB - bl sub_802E088 - b _0802E606 - .align 2, 0 -_0802E5F0: .4byte gUnknown_203B304 -_0802E5F4: - movs r0, 0x7 - bl sub_802E088 - b _0802E606 -_0802E5FC: - bl sub_802BEDC - movs r0, 0x1 - bl sub_802E088 -_0802E606: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802E578 - - thumb_func_start sub_802E60C -sub_802E60C: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802BDEC - ldr r4, _0802E650 - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802E63C - ldr r0, [r4] - adds r0, 0x6C - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802E63C - ldr r0, [r4] - str r1, [r0, 0x68] -_0802E63C: - ldr r0, [sp] - subs r0, 0x1 - cmp r0, 0x7 - bhi _0802E732 - lsls r0, 2 - ldr r1, _0802E654 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802E650: .4byte gUnknown_203B304 -_0802E654: .4byte _0802E658 - .align 2, 0 -_0802E658: - .4byte _0802E72C - .4byte _0802E732 - .4byte _0802E732 - .4byte _0802E732 - .4byte _0802E678 - .4byte _0802E6BC - .4byte _0802E704 - .4byte _0802E6B4 -_0802E678: - ldr r0, _0802E6AC - bl sub_8011988 - ldr r4, _0802E6B0 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8095FE8 - bl sub_8096A78 - bl sub_8096C80 - bl sub_8096D24 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8096040 - bl sub_8096078 - bl sub_802C0E8 - lsls r0, 24 - cmp r0, 0 - bne _0802E6E8 - b _0802E6FC - .align 2, 0 -_0802E6AC: .4byte 0x00000133 -_0802E6B0: .4byte gUnknown_203B304 -_0802E6B4: - movs r0, 0x7 - bl sub_802E088 - b _0802E732 -_0802E6BC: - ldr r0, _0802E6F4 - bl sub_8011988 - ldr r4, _0802E6F8 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8095FE8 - ldrb r0, [r0, 0x5] - bl sub_8096DF8 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8096040 - bl sub_8096078 - bl sub_802C0E8 - lsls r0, 24 + ldr r0, [r2, 0x44] cmp r0, 0 - beq _0802E6FC -_0802E6E8: - bl sub_802BEDC - movs r0, 0x1 - bl sub_802E088 - b _0802E732 - .align 2, 0 -_0802E6F4: .4byte 0x00000133 -_0802E6F8: .4byte gUnknown_203B304 -_0802E6FC: - movs r0, 0x5 - bl sub_802E088 - b _0802E732 -_0802E704: - movs r0, 0 - bl PlayMenuSoundEffect - ldr r4, _0802E728 - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8095FE8 - ldr r1, [r4] - ldrb r0, [r0, 0x5] - strb r0, [r1, 0x9] - ldr r1, [r4] - movs r0, 0x5 - str r0, [r1, 0x4] - movs r0, 0xB - bl sub_802E088 - b _0802E732 - .align 2, 0 -_0802E728: .4byte gUnknown_203B304 -_0802E72C: - movs r0, 0x5 - bl sub_802E088 -_0802E732: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802E60C - - thumb_func_start sub_802E73C -sub_802E73C: - push {lr} - bl sub_802DEE0 - cmp r0, 0x1 - bls _0802E754 - cmp r0, 0x3 - bhi _0802E754 - bl sub_802DF24 - movs r0, 0x5 - bl sub_802E088 -_0802E754: - pop {r0} - bx r0 - thumb_func_end sub_802E73C - - thumb_func_start sub_802E758 -sub_802E758: - push {lr} - bl sub_802C898 - cmp r0, 0x1 - bls _0802E770 + bne _0802878A + ldr r0, [r2, 0x40] cmp r0, 0x3 - bhi _0802E770 - bl sub_802C8F4 - movs r0, 0x1 - bl sub_802E088 -_0802E770: - pop {r0} - bx r0 - thumb_func_end sub_802E758 - - thumb_func_start sub_802E774 -sub_802E774: - push {lr} - movs r0, 0x1 - bl sub_802B720 + beq _0802876C cmp r0, 0x4 - bhi _0802E7CA - lsls r0, 2 - ldr r1, _0802E78C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802E78C: .4byte _0802E790 - .align 2, 0 -_0802E790: - .4byte _0802E7CA - .4byte _0802E7CA - .4byte _0802E7C0 - .4byte _0802E7A4 - .4byte _0802E7A4 -_0802E7A4: - bl sub_802B7A8 - ldr r2, _0802E7BC - ldr r1, [r2] - strb r0, [r1, 0x9] - ldr r1, [r2] - movs r0, 0xA - str r0, [r1, 0x4] - movs r0, 0xB - bl sub_802E088 - b _0802E7CA - .align 2, 0 -_0802E7BC: .4byte gUnknown_203B304 -_0802E7C0: - bl sub_802B81C - movs r0, 0x1 - bl sub_802E088 -_0802E7CA: - pop {r0} - bx r0 - thumb_func_end sub_802E774 - - thumb_func_start sub_802E7D0 -sub_802E7D0: - push {lr} - bl sub_802BA8C - cmp r0, 0x1 - bls _0802E7EC - cmp r0, 0x3 - bhi _0802E7EC - bl sub_802BACC - ldr r0, _0802E7F0 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_802E088 -_0802E7EC: - pop {r0} - bx r0 - .align 2, 0 -_0802E7F0: .4byte gUnknown_203B304 - thumb_func_end sub_802E7D0 - - thumb_func_start nullsub_133 -nullsub_133: - bx lr - thumb_func_end nullsub_133 - - thumb_func_start CreateMailAcceptedStatusBox -CreateMailAcceptedStatusBox: - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - bl sub_8008C54 - adds r0, r4, 0 - bl sub_80073B8 - ldr r2, _0802E85C - movs r6, 0 - str r6, [sp] - movs r0, 0x3 - movs r1, 0 - adds r3, r4, 0 - bl xxx_call_draw_string - bl sub_80969AC - adds r2, r0, 0 - movs r5, 0x7 - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x12 - movs r1, 0xD - movs r3, 0x2 - bl sub_8012BC4 - ldr r2, _0802E860 - str r6, [sp] - movs r0, 0x16 - movs r1, 0xD - adds r3, r4, 0 - bl xxx_call_draw_string - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x23 - movs r1, 0xD - movs r2, 0x8 - movs r3, 0x2 - bl sub_8012BC4 - adds r0, r4, 0 - bl sub_80073E0 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0802E85C: .4byte gMailAccepted -_0802E860: .4byte gUnknown_80E0324 - thumb_func_end CreateMailAcceptedStatusBox - - thumb_func_start sub_802E864 -sub_802E864: - push {r4,lr} - ldr r4, _0802E88C - movs r0, 0xB6 - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r1, 0 - str r1, [r0, 0x64] - str r1, [r0, 0x68] - str r1, [r0, 0x4] - movs r0, 0 - bl sub_802E934 - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0802E88C: .4byte gUnknown_203B308 - thumb_func_end sub_802E864 - - thumb_func_start sub_802E890 -sub_802E890: - push {lr} - ldr r0, _0802E8A8 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x8 - bhi _0802E900 - lsls r0, 2 - ldr r1, _0802E8AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802E8A8: .4byte gUnknown_203B308 -_0802E8AC: .4byte _0802E8B0 - .align 2, 0 -_0802E8B0: - .4byte _0802E8D4 - .4byte _0802E8DC - .4byte _0802E8E2 - .4byte _0802E900 - .4byte _0802E8E8 - .4byte _0802E8E8 - .4byte _0802E8EE - .4byte _0802E8F4 - .4byte _0802E8FA -_0802E8D4: - movs r0, 0x1 - bl sub_802E934 - b _0802E904 -_0802E8DC: - bl sub_802ECB4 - b _0802E904 -_0802E8E2: - bl nullsub_134 - b _0802E904 -_0802E8E8: - bl sub_802ED4C - b _0802E904 -_0802E8EE: - bl sub_802EDBC - b _0802E904 -_0802E8F4: - bl sub_802EEA0 - b _0802E904 -_0802E8FA: - bl sub_802EEBC - b _0802E904 -_0802E900: - movs r0, 0x3 - b _0802E906 -_0802E904: - movs r0, 0 -_0802E906: - pop {r1} - bx r1 - thumb_func_end sub_802E890 - - thumb_func_start sub_802E90C -sub_802E90C: - ldr r0, _0802E914 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bx lr - .align 2, 0 -_0802E914: .4byte gUnknown_203B308 - thumb_func_end sub_802E90C - - thumb_func_start sub_802E918 -sub_802E918: - push {r4,lr} - ldr r4, _0802E930 - ldr r0, [r4] - cmp r0, 0 - beq _0802E92A - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802E92A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802E930: .4byte gUnknown_203B308 - thumb_func_end sub_802E918 - - thumb_func_start sub_802E934 -sub_802E934: - push {lr} - ldr r1, _0802E948 - ldr r1, [r1] - str r0, [r1] - bl sub_802E94C - bl sub_802EA58 - pop {r0} - bx r0 - .align 2, 0 -_0802E948: .4byte gUnknown_203B308 - thumb_func_end sub_802E934 - - thumb_func_start sub_802E94C -sub_802E94C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _0802E974 - ldr r0, [r4] - movs r6, 0x86 - lsls r6, 1 - adds r0, r6 - bl sub_8006518 - ldr r0, [r4] - ldr r5, [r0] - cmp r5, 0x1 - beq _0802E97C - cmp r5, 0x6 - beq _0802E9D0 - movs r3, 0 - ldr r2, _0802E978 - b _0802EA14 + beq _08028776 + b _0802878A .align 2, 0 -_0802E974: .4byte gUnknown_203B308 -_0802E978: .4byte gUnknown_80E0330 -_0802E97C: - mov r12, r6 - ldr r0, _0802E9C4 - mov r8, r0 - movs r2, 0 - movs r3, 0x3 -_0802E986: - ldr r1, [r4] - adds r1, r2 - add r1, r12 - mov r0, r8 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r2, 0x18 - subs r3, 0x1 - cmp r3, 0 - bge _0802E986 - bl CreatePelliperBoardMenu - ldr r3, _0802E9C8 - ldr r2, [r3] - movs r0, 0x9E - lsls r0, 1 - adds r2, r0 - ldr r1, _0802E9CC - ldm r1!, {r4-r6} - stm r2!, {r4-r6} - ldm r1!, {r4,r5,r7} - stm r2!, {r4,r5,r7} - ldr r1, [r3] - adds r0, r1, r0 - adds r1, 0xBC - bl sub_8012CAC - b _0802EA34 - .align 2, 0 -_0802E9C4: .4byte gUnknown_80E0330 -_0802E9C8: .4byte gUnknown_203B308 -_0802E9CC: .4byte gUnknown_80E0348 -_0802E9D0: - bl sub_802EC10 - ldr r2, [r4] - movs r0, 0x9E - lsls r0, 1 - adds r2, r0 - ldr r1, _0802EA0C - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldr r1, [r4] - adds r0, r1, r0 - adds r1, 0xBC - bl sub_8012CAC - ldr r1, [r4] - movs r4, 0xA4 - lsls r4, 1 - adds r0, r1, r4 - strh r5, [r0] - movs r5, 0xAA - lsls r5, 1 - adds r1, r5 - ldr r0, _0802EA10 - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - b _0802EA34 - .align 2, 0 -_0802EA0C: .4byte gUnknown_80E0360 -_0802EA10: .4byte gUnknown_80E0378 -_0802EA14: - ldr r0, [r4] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r0, r1 - movs r6, 0x86 - lsls r6, 1 - adds r0, r6 +_08028760: .4byte 0x00000544 +_08028764: .4byte gUnknown_203B45C +_08028768: .4byte gUnknown_203B2C0 +_0802876C: adds r1, r2, 0 - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - ldm r1!, {r5-r7} - stm r0!, {r5-r7} - adds r3, 0x1 - cmp r3, 0x3 - ble _0802EA14 -_0802EA34: - bl ResetUnusedInputStruct - ldr r0, _0802EA54 - ldr r0, [r0] - movs r7, 0x86 - lsls r7, 1 - adds r0, r7 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802EA54: .4byte gUnknown_203B308 - thumb_func_end sub_802E94C - - thumb_func_start sub_802EA58 -sub_802EA58: - push {r4,lr} - sub sp, 0x8 - ldr r1, _0802EA74 - ldr r0, [r1] - ldr r0, [r0] - adds r4, r1, 0 - cmp r0, 0x8 - bhi _0802EB2C - lsls r0, 2 - ldr r1, _0802EA78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802EA74: .4byte gUnknown_203B308 -_0802EA78: .4byte _0802EA7C - .align 2, 0 -_0802EA7C: - .4byte _0802EB2C - .4byte _0802EAA0 - .4byte _0802EB2C - .4byte _0802EB2C - .4byte _0802EABE - .4byte _0802EACA - .4byte _0802EAD2 - .4byte _0802EB00 - .4byte _0802EB26 -_0802EAA0: - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x6C - adds r1, r2, 0 - adds r1, 0xBC - adds r3, r2, 0 - adds r3, 0xFC - ldr r2, [r2, 0x64] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - bl sub_8012D60 - b _0802EB2C -_0802EABE: - movs r0, 0 - movs r1, 0 - movs r2, 0x4 - bl sub_802C10C - b _0802EB2C -_0802EACA: - movs r0, 0x1 - bl sub_802C28C - b _0802EB2C -_0802EAD2: - bl sub_802C39C + adds r1, 0x48 + adds r2, 0x78 movs r0, 0x3 - bl CreatePelliperAcceptedStatusBox - ldr r0, _0802EAFC - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x6C + b _08028782 +_08028776: adds r1, r2, 0 - adds r1, 0xBC - ldr r2, [r2, 0x68] - str r2, [sp] - movs r2, 0x2 - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0802EB2C - .align 2, 0 -_0802EAFC: .4byte gUnknown_203B308 -_0802EB00: - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8096574 - ldr r1, [r4] - adds r1, 0xC - bl sub_803B35C - ldr r0, [r4] - movs r1, 0x3 - str r1, [r0, 0xC] - adds r0, 0x50 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC - bl sub_802DE84 - b _0802EB2C -_0802EB26: - movs r0, 0 - bl sub_802C860 -_0802EB2C: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802EA58 - - thumb_func_start CreatePelliperBoardMenu -CreatePelliperBoardMenu: - push {r4-r7,lr} - ldr r4, _0802EBDC - ldr r0, [r4] - adds r0, 0xFC - movs r1, 0 - movs r2, 0x10 - bl MemoryFill16 - ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xBC - ldr r0, _0802EBE0 - str r0, [r2] - adds r1, 0xC0 - movs r0, 0x2 - str r0, [r1] - bl sub_802C4A4 - lsls r0, 24 - cmp r0, 0 - beq _0802EB66 - ldr r0, [r4] - adds r0, 0xFC - movs r1, 0x1 - strh r1, [r0] -_0802EB66: - movs r5, 0x1 + adds r1, 0xA8 + movs r3, 0x98 + lsls r3, 1 + adds r2, r3 + movs r0, 0x4 +_08028782: + bl sub_80381F4 ldr r1, [r4] - adds r2, r1, 0 - adds r2, 0xC4 - ldr r0, _0802EBE4 - str r0, [r2] - adds r1, 0xC8 - movs r0, 0x3 - str r0, [r1] - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - beq _0802EB88 - ldr r0, [r4] - adds r0, 0xFE - strh r5, [r0] -_0802EB88: - movs r5, 0x2 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xCC - movs r0, 0 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x1 - str r0, [r1] - movs r3, 0 - adds r6, r4, 0 - mov r12, r2 - mov r4, r12 - adds r4, 0xFC - adds r2, 0xC0 -_0802EBA6: - ldrh r0, [r4] - cmp r0, 0 - bne _0802EBB6 - ldr r1, [r2] - mov r7, r12 - ldr r0, [r7, 0x64] - cmp r1, r0 - beq _0802EC0A -_0802EBB6: - adds r4, 0x2 - adds r2, 0x8 - adds r3, 0x1 - cmp r3, r5 - blt _0802EBA6 - movs r3, 0 - cmp r3, r5 - bge _0802EC0A - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0xFC - ldrh r0, [r0] - cmp r0, 0 - bne _0802EBE8 - adds r0, r1, 0 - adds r0, 0xC0 + str r0, [r1, 0x44] +_0802878A: + bl xxx_call_start_bg_music + b _08028AF2 +_08028790: + ldr r0, [r6] + ldr r4, _080287A8 + adds r0, r4 ldr r0, [r0] - str r0, [r1, 0x64] - b _0802EC0A + cmp r0, 0xE + bne _0802879E + b _08028AF2 +_0802879E: + cmp r0, 0xE + bhi _080287AC + cmp r0, 0xD + beq _080287B2 + b _08028AF2 .align 2, 0 -_0802EBDC: .4byte gUnknown_203B308 -_0802EBE0: .4byte gPelliperBoard_BulletinBoard -_0802EBE4: .4byte gPelliperBoard_JobList -_0802EBE8: - adds r3, 0x1 - cmp r3, r5 - bge _0802EC0A +_080287A8: .4byte 0x00000534 +_080287AC: + cmp r0, 0x10 + bls _080287B2 + b _08028AF2 +_080287B2: + ldr r0, _080287C0 ldr r2, [r6] - lsls r0, r3, 1 - adds r1, r2, 0 - adds r1, 0xFC - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _0802EBE8 - lsls r0, r3, 3 - adds r1, r2, 0 - adds r1, 0xC0 - adds r1, r0 - ldr r0, [r1] - str r0, [r2, 0x64] -_0802EC0A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end CreatePelliperBoardMenu - - thumb_func_start sub_802EC10 -sub_802EC10: - push {r4-r7,lr} - movs r6, 0 - ldr r4, _0802ECA8 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xBC - ldr r0, _0802ECAC - ldr r0, [r0] - str r0, [r1] - adds r1, 0x4 - movs r0, 0x4 - str r0, [r1] - ldrb r0, [r2, 0x8] - bl sub_8096574 - bl sub_80968B0 - lsls r0, 24 - cmp r0, 0 - bne _0802EC40 - bl sub_80969AC - cmp r0, 0x7 - ble _0802EC4A -_0802EC40: - ldr r0, [r4] - adds r0, 0xC0 - movs r1, 0x1 - negs r1, r1 - str r1, [r0] -_0802EC4A: - adds r6, 0x1 - ldr r4, _0802ECA8 - ldr r5, [r4] - lsls r1, r6, 3 - adds r2, r5, 0 - adds r2, 0xBC - adds r3, r2, r1 - ldr r0, _0802ECB0 - ldr r0, [r0] - str r0, [r3] - adds r3, r5, 0 - adds r3, 0xC0 - adds r1, r3, r1 - movs r0, 0x5 - str r0, [r1] - adds r6, 0x1 - lsls r1, r6, 3 + movs r1, 0x84 + lsls r1, 3 adds r2, r1 - movs r0, 0 - str r0, [r2] - adds r1, r3, r1 - movs r0, 0x1 - str r0, [r1] - movs r2, 0 - adds r7, r4, 0 - cmp r2, r6 - bge _0802EC9C - adds r4, r5, 0 - movs r5, 0x1 - negs r5, r5 - adds r1, r3, 0 -_0802EC88: - ldr r3, [r1] - cmp r3, r5 - beq _0802EC94 - ldr r0, [r4, 0x68] - cmp r3, r0 - beq _0802ECA2 -_0802EC94: - adds r1, 0x8 - adds r2, 0x1 - cmp r2, r6 - blt _0802EC88 -_0802EC9C: - ldr r1, [r7] - movs r0, 0x5 - str r0, [r1, 0x68] -_0802ECA2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802ECA8: .4byte gUnknown_203B308 -_0802ECAC: .4byte gUnknown_80D4990 -_0802ECB0: .4byte gUnknown_80D4970 - thumb_func_end sub_802EC10 - - thumb_func_start sub_802ECB4 -sub_802ECB4: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r4, _0802ECF0 - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802ECE0 - ldr r0, [r4] - adds r0, 0x6C - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802ECE0 - ldr r0, [r4] - str r1, [r0, 0x64] -_0802ECE0: - ldr r0, [sp] - cmp r0, 0x2 - beq _0802ECFE - cmp r0, 0x2 - bgt _0802ECF4 - cmp r0, 0x1 - beq _0802ED3C - b _0802ED42 - .align 2, 0 -_0802ECF0: .4byte gUnknown_203B308 -_0802ECF4: - cmp r0, 0x3 - beq _0802ED10 - cmp r0, 0x5 - beq _0802ED34 - b _0802ED42 -_0802ECFE: - bl sub_802C4A4 - lsls r0, 24 - cmp r0, 0 - bne _0802ED22 - movs r0, 0x4 - bl sub_802E934 - b _0802ED42 -_0802ED10: - bl sub_802C83C - lsls r0, 24 - cmp r0, 0 - bne _0802ED22 - movs r0, 0x8 - bl sub_802E934 - b _0802ED42 -_0802ED22: - ldr r0, _0802ED30 - ldr r0, [r0] - adds r0, 0x6C - movs r1, 0x1 - bl sub_8012EA4 - b _0802ED42 - .align 2, 0 -_0802ED30: .4byte gUnknown_203B308 -_0802ED34: - movs r0, 0x2 - bl sub_802E934 - b _0802ED42 -_0802ED3C: - movs r0, 0x3 - bl sub_802E934 -_0802ED42: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802ECB4 - - thumb_func_start sub_802ED4C -sub_802ED4C: - push {lr} - movs r0, 0x1 - bl sub_802C1E4 - cmp r0, 0x4 - bhi _0802EDB6 - lsls r0, 2 - ldr r1, _0802ED64 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802ED64: .4byte _0802ED68 - .align 2, 0 -_0802ED68: - .4byte _0802EDB6 - .4byte _0802EDB6 - .4byte _0802EDAC - .4byte _0802ED7C - .4byte _0802ED94 -_0802ED7C: - bl sub_802C26C - ldr r1, _0802ED90 - ldr r1, [r1] - strb r0, [r1, 0x8] - movs r0, 0x6 - bl sub_802E934 - b _0802EDB6 + b _08028A72 .align 2, 0 -_0802ED90: .4byte gUnknown_203B308 -_0802ED94: - bl sub_802C26C - ldr r1, _0802EDA8 - ldr r1, [r1] - strb r0, [r1, 0x8] - movs r0, 0x7 - bl sub_802E934 - b _0802EDB6 - .align 2, 0 -_0802EDA8: .4byte gUnknown_203B308 -_0802EDAC: - bl sub_802C2D4 - movs r0, 0x1 - bl sub_802E934 -_0802EDB6: - pop {r0} - bx r0 - thumb_func_end sub_802ED4C - - thumb_func_start sub_802EDBC -sub_802EDBC: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802C1E4 - ldr r4, _0802EDFC - ldr r0, [r4] - adds r0, 0x6C - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802EDEC - ldr r0, [r4] - adds r0, 0x6C - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0802EDEC - ldr r0, [r4] - str r1, [r0, 0x68] -_0802EDEC: - ldr r0, [sp] - cmp r0, 0x4 - beq _0802EE06 - cmp r0, 0x4 - bgt _0802EE00 - cmp r0, 0x1 - beq _0802EE90 - b _0802EE96 - .align 2, 0 -_0802EDFC: .4byte gUnknown_203B308 -_0802EE00: - cmp r0, 0x5 - beq _0802EE88 - b _0802EE96 -_0802EE06: - ldr r0, _0802EE28 - bl sub_8011988 - ldr r4, _0802EE2C - ldr r0, [r4] - ldrb r0, [r0, 0x8] - bl sub_8096574 - ldrb r1, [r0] - cmp r1, 0x3 - beq _0802EE3C - cmp r1, 0x3 - bgt _0802EE30 - cmp r1, 0x2 - beq _0802EE36 - b _0802EE5E - .align 2, 0 -_0802EE28: .4byte 0x00000133 -_0802EE2C: .4byte gUnknown_203B308 -_0802EE30: - cmp r1, 0x4 - beq _0802EE42 - b _0802EE5E -_0802EE36: - ldr r0, [r4] - movs r1, 0x1 - b _0802EE46 -_0802EE3C: - ldr r0, [r4] - movs r1, 0x2 - b _0802EE46 -_0802EE42: - ldr r0, [r4] - movs r1, 0x3 -_0802EE46: - str r1, [r0, 0x4] - ldrb r0, [r0, 0x8] - bl sub_80965B8 - bl sub_80965F4 - bl sub_802C2D4 - movs r0, 0x3 - bl sub_802E934 - b _0802EE96 -_0802EE5E: - bl sub_8096A78 - bl sub_8096C80 - bl sub_8096D24 - bl sub_802C4A4 - lsls r0, 24 - cmp r0, 0 - beq _0802EE80 - bl sub_802C2D4 - movs r0, 0x1 - bl sub_802E934 - b _0802EE96 -_0802EE80: - movs r0, 0x5 - bl sub_802E934 - b _0802EE96 -_0802EE88: - movs r0, 0x7 - bl sub_802E934 - b _0802EE96 -_0802EE90: - movs r0, 0x5 - bl sub_802E934 -_0802EE96: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802EDBC - - thumb_func_start sub_802EEA0 -sub_802EEA0: - push {lr} - bl sub_802DEE0 - cmp r0, 0x1 - bls _0802EEB8 - cmp r0, 0x3 - bhi _0802EEB8 - bl sub_802DF24 - movs r0, 0x5 - bl sub_802E934 -_0802EEB8: - pop {r0} - bx r0 - thumb_func_end sub_802EEA0 - - thumb_func_start sub_802EEBC -sub_802EEBC: - push {lr} - bl sub_802C898 - cmp r0, 0x1 - bls _0802EED4 - cmp r0, 0x3 - bhi _0802EED4 - bl sub_802C8F4 - movs r0, 0x1 - bl sub_802E934 -_0802EED4: - pop {r0} - bx r0 - thumb_func_end sub_802EEBC - - thumb_func_start nullsub_134 -nullsub_134: - bx lr - thumb_func_end nullsub_134 - - thumb_func_start CreatePelliperAccepedStatusBox -CreatePelliperAcceptedStatusBox: - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r0, 0 - bl sub_8008C54 - adds r0, r4, 0 - bl sub_80073B8 - ldr r2, _0802EF40 - movs r6, 0 - str r6, [sp] - movs r0, 0x3 - movs r1, 0 - adds r3, r4, 0 - bl xxx_call_draw_string - bl sub_80969AC - adds r2, r0, 0 - movs r5, 0x7 - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x12 - movs r1, 0xD - movs r3, 0x2 - bl sub_8012BC4 - ldr r2, _0802EF44 - str r6, [sp] - movs r0, 0x16 - movs r1, 0xD - adds r3, r4, 0 - bl xxx_call_draw_string - str r5, [sp] - str r4, [sp, 0x4] - movs r0, 0x23 - movs r1, 0xD - movs r2, 0x8 - movs r3, 0x2 - bl sub_8012BC4 - adds r0, r4, 0 - bl sub_80073E0 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 +_080287C0: .4byte gUnknown_80DE06C +_080287C4: + ldr r0, _080287D0 + ldr r2, [r6] + movs r3, 0x84 + lsls r3, 3 + adds r2, r3 + b _08028A72 .align 2, 0 -_0802EF40: .4byte gUnknown_80E03AC -_0802EF44: .4byte gUnknown_80E03B8 - thumb_func_end CreatePelliperAcceptedStatusBox - - thumb_func_start sub_802EF48 -sub_802EF48: - push {r4,lr} - ldr r4, _0802EF68 - movs r0, 0xA8 - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - movs r0, 0 - bl sub_802EFEC - movs r0, 0x1 - pop {r4} - pop {r1} - bx r1 +_080287D0: .4byte gUnknown_80DE0C0 +_080287D4: + ldr r0, _080287D8 + b _08028A6A .align 2, 0 -_0802EF68: .4byte gUnknown_203B30C - thumb_func_end sub_802EF48 - - thumb_func_start sub_802EF6C -sub_802EF6C: - push {lr} - ldr r0, _0802EF84 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x5 - bhi _0802EFBA - lsls r0, 2 - ldr r1, _0802EF88 +_080287D8: .4byte gUnknown_80DE124 +_080287DC: + ldr r0, [r6] + movs r1, 0xEF + lsls r1, 2 adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802EF84: .4byte gUnknown_203B30C -_0802EF88: .4byte _0802EF8C - .align 2, 0 -_0802EF8C: - .4byte _0802EFA4 - .4byte _0802EFA4 - .4byte _0802EFAA - .4byte _0802EFB0 - .4byte _0802EFB6 - .4byte _0802EFBA -_0802EFA4: - bl sub_802F148 - b _0802EFBE -_0802EFAA: - bl sub_802F184 - b _0802EFBE -_0802EFB0: - bl sub_802F1E8 - b _0802EFBE -_0802EFB6: - movs r0, 0x3 - b _0802EFC0 -_0802EFBA: - movs r0, 0x2 - b _0802EFC0 -_0802EFBE: - movs r0, 0 -_0802EFC0: - pop {r1} - bx r1 - thumb_func_end sub_802EF6C - - thumb_func_start sub_802EFC4 -sub_802EFC4: - ldr r0, _0802EFCC - ldr r0, [r0] - ldrb r0, [r0, 0x4] - bx lr - .align 2, 0 -_0802EFCC: .4byte gUnknown_203B30C - thumb_func_end sub_802EFC4 - - thumb_func_start sub_802EFD0 -sub_802EFD0: - push {r4,lr} - ldr r4, _0802EFE8 - ldr r0, [r4] - cmp r0, 0 - beq _0802EFE2 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802EFE2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802EFE8: .4byte gUnknown_203B30C - thumb_func_end sub_802EFD0 - - thumb_func_start sub_802EFEC -sub_802EFEC: - push {lr} - ldr r1, _0802F000 - ldr r1, [r1] - str r0, [r1] - bl sub_802F004 - bl sub_802F088 - pop {r0} - bx r0 - .align 2, 0 -_0802F000: .4byte gUnknown_203B30C - thumb_func_end sub_802EFEC - - thumb_func_start sub_802F004 -sub_802F004: - push {r4-r7,lr} - ldr r4, _0802F03C - ldr r0, [r4] - adds r0, 0xF0 bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0x2 - bne _0802F044 - bl sub_802F108 - ldr r2, [r4] - movs r0, 0x90 - lsls r0, 1 - adds r2, r0 - ldr r1, _0802F040 - ldm r1!, {r3,r5,r6} - stm r2!, {r3,r5,r6} - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldr r1, [r4] - adds r0, r1, r0 - adds r1, 0xB0 - bl sub_8012CAC - b _0802F066 - .align 2, 0 -_0802F03C: .4byte gUnknown_203B30C -_0802F040: .4byte gUnknown_80E03F4 -_0802F044: - mov r12, r4 - ldr r4, _0802F080 - movs r2, 0 - movs r3, 0x3 -_0802F04C: - mov r6, r12 - ldr r1, [r6] - adds r1, r2 - adds r1, 0xF0 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r2, 0x18 - subs r3, 0x1 - cmp r3, 0 - bge _0802F04C -_0802F066: bl ResetUnusedInputStruct - ldr r0, _0802F084 - ldr r0, [r0] - adds r0, 0xF0 + movs r0, 0 movs r1, 0x1 movs r2, 0x1 bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802F080: .4byte gUnknown_80E03C4 -_0802F084: .4byte gUnknown_203B30C - thumb_func_end sub_802F004 - - thumb_func_start sub_802F088 -sub_802F088: - push {r4-r6,lr} - sub sp, 0x8 - ldr r6, _0802F0A0 - ldr r0, [r6] - ldr r5, [r0] - cmp r5, 0x1 - beq _0802F0B6 - cmp r5, 0x1 - bgt _0802F0A4 - cmp r5, 0 - beq _0802F0AE - b _0802F100 - .align 2, 0 -_0802F0A0: .4byte gUnknown_203B30C -_0802F0A4: - cmp r5, 0x2 - beq _0802F0BE - cmp r5, 0x3 - beq _0802F0DA - b _0802F100 -_0802F0AE: - movs r0, 0 - bl sub_802CDD4 - b _0802F100 -_0802F0B6: - movs r0, 0x1 - bl sub_802CED8 - b _0802F100 -_0802F0BE: - bl sub_802CFD0 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0x60 - adds r1, 0xB0 - movs r2, 0x3 - str r2, [sp] - str r5, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _0802F100 -_0802F0DA: - ldrb r0, [r0, 0x4] - bl sub_803B344 - adds r4, r0, 0 ldr r1, [r6] adds r1, 0x8 - bl sub_803B35C - ldr r0, [r6] - str r5, [r0, 0x8] - adds r0, 0x4C - movs r1, 0 - strb r1, [r0] - ldr r0, [r6] - ldr r1, [r4, 0x18] - str r1, [r0, 0x58] - adds r0, 0x8 - bl sub_802DE84 -_0802F100: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_802F088 - - thumb_func_start sub_802F108 -sub_802F108: - ldr r0, _0802F13C - ldr r0, [r0] - mov r12, r0 - movs r3, 0 - mov r1, r12 - adds r1, 0xB0 - ldr r0, _0802F140 - str r0, [r1] - adds r1, 0x4 - movs r0, 0x2 - str r0, [r1] - movs r2, 0x1 - adds r1, 0x4 - ldr r0, _0802F144 - ldr r0, [r0] - str r0, [r1] - adds r1, 0x4 - movs r0, 0x3 - str r0, [r1] - mov r0, r12 - adds r0, 0xC0 - str r3, [r0] - adds r0, 0x4 - str r2, [r0] - bx lr - .align 2, 0 -_0802F13C: .4byte gUnknown_203B30C -_0802F140: .4byte gUnknown_80E040C -_0802F144: .4byte gUnknown_80D4970 - thumb_func_end sub_802F108 - - thumb_func_start sub_802F148 -sub_802F148: - push {lr} - movs r0, 0x1 - bl sub_802CE5C - cmp r0, 0x2 - beq _0802F174 - cmp r0, 0x2 - bcc _0802F17E - cmp r0, 0x3 - bne _0802F17E - bl sub_802CEBC - ldr r1, _0802F170 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x2 - bl sub_802EFEC - b _0802F17E - .align 2, 0 -_0802F170: .4byte gUnknown_203B30C -_0802F174: - bl sub_802CF14 - movs r0, 0x5 - bl sub_802EFEC -_0802F17E: - pop {r0} - bx r0 - thumb_func_end sub_802F148 - - thumb_func_start sub_802F184 -sub_802F184: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_802CE5C - ldr r4, _0802F1BC - ldr r0, [r4] - adds r0, 0x60 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0802F1AA - ldr r0, [r4] - adds r0, 0x60 - mov r1, sp - bl sub_8013114 -_0802F1AA: - ldr r0, [sp] - cmp r0, 0x2 - beq _0802F1C6 - cmp r0, 0x2 - bgt _0802F1C0 - cmp r0, 0x1 - beq _0802F1DA - b _0802F1E0 - .align 2, 0 -_0802F1BC: .4byte gUnknown_203B30C -_0802F1C0: - cmp r0, 0x3 - beq _0802F1D2 - b _0802F1E0 -_0802F1C6: - bl sub_802CF14 movs r0, 0x4 - bl sub_802EFEC - b _0802F1E0 -_0802F1D2: - movs r0, 0x3 - bl sub_802EFEC - b _0802F1E0 -_0802F1DA: - movs r0, 0x1 - bl sub_802EFEC -_0802F1E0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_802F184 - - thumb_func_start sub_802F1E8 -sub_802F1E8: - push {lr} - bl sub_802DEE0 - cmp r0, 0x1 - bls _0802F200 - cmp r0, 0x3 - bhi _0802F200 - bl sub_802DF24 - movs r0, 0x1 - bl sub_802EFEC -_0802F200: - pop {r0} - bx r0 - thumb_func_end sub_802F1E8 - - thumb_func_start sub_802F204 -sub_802F204: - push {r4-r6,lr} - adds r6, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _0802F28C - movs r0, 0x84 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - str r6, [r0, 0x10] - movs r6, 0 - str r6, [r0, 0xC] - strb r4, [r0, 0x8] - ldr r1, [r5] - ldr r0, _0802F290 - ldr r1, [r1, 0x10] - bl strcpy - ldr r4, _0802F294 - bl sub_808D33C - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_808DA34 - ldr r0, [r5] - ldr r0, [r0, 0x10] - movs r1, 0x14 - ldrsh r0, [r0, r1] - bl GetDialogueSpriteDataPtr - ldr r1, [r5] - str r0, [r1, 0x14] - str r6, [r1, 0x18] - adds r1, 0x20 - strb r6, [r1] - ldr r0, [r5] - adds r0, 0x21 - strb r6, [r0] - ldr r0, [r5] - adds r0, 0x22 - strb r6, [r0] - ldr r5, [r5] - movs r0, 0x2 - strh r0, [r5, 0x1C] - movs r0, 0x8 - strh r0, [r5, 0x1E] - ldr r0, [r5, 0x14] - cmp r0, 0 - beq _0802F27C - ldr r0, [r0, 0x4] - str r0, [r5, 0x18] -_0802F27C: - movs r0, 0 - bl sub_802F2E8 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0802F28C: .4byte gUnknown_203B310 -_0802F290: .4byte gUnknown_202E5D8 -_0802F294: .4byte gAvailablePokemonNames - thumb_func_end sub_802F204 - - thumb_func_start sub_802F298 -sub_802F298: - push {lr} - ldr r0, _0802F2AC - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x5 - beq _0802F2B0 - cmp r0, 0x9 - bne _0802F2B6 - movs r0, 0x3 - b _0802F2BC - .align 2, 0 -_0802F2AC: .4byte gUnknown_203B310 -_0802F2B0: - bl sub_802F6FC - b _0802F2BA -_0802F2B6: - bl sub_802F718 -_0802F2BA: - movs r0, 0 -_0802F2BC: - pop {r1} - bx r1 - thumb_func_end sub_802F298 - - thumb_func_start sub_802F2C0 -sub_802F2C0: - push {r4,lr} - ldr r4, _0802F2E4 - ldr r0, [r4] - cmp r0, 0 - beq _0802F2DE - ldr r0, [r0, 0x14] - cmp r0, 0 - beq _0802F2D4 - bl CloseFile -_0802F2D4: - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802F2DE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802F2E4: .4byte gUnknown_203B310 - thumb_func_end sub_802F2C0 - - thumb_func_start sub_802F2E8 -sub_802F2E8: - push {lr} - ldr r1, _0802F2FC - ldr r1, [r1] - str r0, [r1] - bl sub_802F300 - bl HandleMissionReward - pop {r0} - bx r0 - .align 2, 0 -_0802F2FC: .4byte gUnknown_203B310 - thumb_func_end sub_802F2E8 - - thumb_func_start sub_802F300 -sub_802F300: - push {r4-r7,lr} - ldr r4, _0802F350 - ldr r1, [r4] - ldr r0, [r1] - cmp r0, 0 - bne _0802F348 - adds r0, r1, 0 - adds r0, 0x24 - bl sub_8006518 - mov r12, r4 - ldr r4, _0802F354 - movs r3, 0 - movs r2, 0x3 -_0802F31C: - mov r0, r12 - ldr r1, [r0] - adds r1, r3 - adds r1, 0x24 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 + bl sub_80151C0 + b _08028AF2 +_08028802: + ldr r4, [r6] + movs r2, 0xA7 + lsls r2, 3 + adds r0, r4, r2 + ldr r2, [r0] cmp r2, 0 - bge _0802F31C - bl ResetUnusedInputStruct - ldr r0, _0802F350 - ldr r0, [r0] - adds r0, 0x24 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C -_0802F348: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802F350: .4byte gUnknown_203B310 -_0802F354: .4byte gUnknown_80E041C - thumb_func_end sub_802F300 - - thumb_func_start HandleMissionReward -HandleMissionReward: - push {r4-r6,lr} - sub sp, 0x10 - ldr r1, _0802F374 - ldr r0, [r1] - ldr r0, [r0] - adds r6, r1, 0 - cmp r0, 0x9 - bls _0802F36A - b _0802F6E4 -_0802F36A: - lsls r0, 2 - ldr r1, _0802F378 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802F374: .4byte gUnknown_203B310 -_0802F378: .4byte _0802F37C - .align 2, 0 -_0802F37C: - .4byte _0802F3A4 - .4byte _0802F3E8 - .4byte _0802F444 - .4byte _0802F494 - .4byte _0802F524 - .4byte _0802F5CC - .4byte _0802F614 - .4byte _0802F630 - .4byte _0802F6A4 - .4byte _0802F6E4 -_0802F3A4: - ldr r2, [r6] - ldr r0, [r2, 0x10] - ldr r1, [r0, 0x18] - cmp r1, 0 - bne _0802F3B6 - movs r0, 0x2 - bl sub_802F2E8 - b _0802F6E4 -_0802F3B6: - ldr r0, _0802F3D4 - str r1, [r0] - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _0802F3E0 - ldr r0, _0802F3D8 - adds r2, 0x14 - ldr r3, _0802F3DC - movs r1, 0 - bl sub_80141B4 - ldr r1, [r6] - movs r0, 0x1 - str r0, [r1, 0x4] - b _0802F6E4 - .align 2, 0 -_0802F3D4: .4byte gUnknown_202DE30 -_0802F3D8: .4byte gUnknown_80E0434 -_0802F3DC: .4byte 0x0000010d -_0802F3E0: - movs r0, 0x1 - bl sub_802F2E8 - b _0802F6E4 -_0802F3E8: - movs r0, 0xCB - bl sub_8011988 - ldr r0, _0802F414 - ldr r0, [r0] - ldr r0, [r0, 0x10] - ldr r0, [r0, 0x18] - bl sub_80913A0 - movs r0, 0 - bl sub_808D544 - cmp r0, 0x1 - bgt _0802F420 - ldr r0, _0802F418 - ldr r3, _0802F41C - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _0802F42C - .align 2, 0 -_0802F414: .4byte gUnknown_203B310 -_0802F418: .4byte gUnknown_80E045C -_0802F41C: .4byte 0x00000101 -_0802F420: - ldr r0, _0802F438 - ldr r3, _0802F43C + beq _08028816 + cmp r2, 0x2 + beq _08028824 + b _08028AF2 +_08028816: + ldr r0, _0802881C + ldr r3, _08028820 + b _0802882A + .align 2, 0 +_0802881C: .4byte gUnknown_80DE178 +_08028820: .4byte gUnknown_80DDB24 +_08028824: + ldr r0, _08028848 + ldr r3, _0802884C + movs r2, 0 +_0802882A: + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + movs r2, 0x84 + lsls r2, 3 + adds r1, r4, r2 + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_0802F42C: - ldr r0, _0802F440 - ldr r1, [r0] - movs r0, 0x2 - str r0, [r1, 0x4] - b _0802F6E4 + movs r2, 0xD + bl sub_8014248 + b _08028AF2 .align 2, 0 -_0802F438: .4byte gUnknown_80E0484 -_0802F43C: .4byte 0x00000101 -_0802F440: .4byte gUnknown_203B310 -_0802F444: - ldr r0, [r6] - ldr r0, [r0, 0x10] - adds r1, r0, 0 - adds r1, 0x20 - ldrb r0, [r1] - cmp r0, 0 - bne _0802F45A - movs r0, 0x4 - bl sub_802F2E8 - b _0802F6E4 -_0802F45A: - ldr r0, _0802F480 - ldrb r1, [r1] - movs r2, 0 - bl sub_8092578 +_08028848: .4byte gUnknown_80DE1B4 +_0802884C: .4byte gUnknown_80DDB24 +_08028850: + ldr r0, _0802885C ldr r2, [r6] - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _0802F48C - ldr r0, _0802F484 - adds r2, 0x14 - ldr r3, _0802F488 - movs r1, 0 - bl sub_80141B4 - ldr r1, [r6] - movs r0, 0x3 - str r0, [r1, 0x4] - b _0802F6E4 - .align 2, 0 -_0802F480: .4byte gUnknown_202E628 -_0802F484: .4byte gUnknown_80E04B4 -_0802F488: .4byte 0x0000010d -_0802F48C: - movs r0, 0x3 - bl sub_802F2E8 - b _0802F6E4 -_0802F494: - ldr r4, _0802F4B4 - ldr r0, [r4] - ldr r0, [r0, 0x10] - adds r0, 0x20 - ldrb r0, [r0] - bl GetFriendAreaStatus - lsls r0, 24 - cmp r0, 0 - beq _0802F4BC - movs r0, 0xFA - lsls r0, 2 - bl sub_80913A0 - ldr r0, _0802F4B8 - b _0802F4DA - .align 2, 0 -_0802F4B4: .4byte gUnknown_203B310 -_0802F4B8: .4byte gUnknown_80E04F4 -_0802F4BC: - movs r0, 0 - bl sub_808D544 - cmp r0, 0x1 - bgt _0802F4F0 - ldr r0, [r4] - ldr r0, [r0, 0x10] - adds r0, 0x20 - ldrb r0, [r0] - bl UnlockFriendArea - movs r0, 0xCE - bl sub_8011988 - ldr r0, _0802F4E8 -_0802F4DA: - ldr r3, _0802F4EC - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _0802F50E - .align 2, 0 -_0802F4E8: .4byte gUnknown_80E05C0 -_0802F4EC: .4byte 0x00000101 -_0802F4F0: - ldr r0, [r4] - ldr r0, [r0, 0x10] - adds r0, 0x20 - ldrb r0, [r0] - bl UnlockFriendArea - movs r0, 0xCE - bl sub_8011988 - ldr r0, _0802F518 - ldr r3, _0802F51C - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_0802F50E: - ldr r0, _0802F520 - ldr r1, [r0] - movs r0, 0x4 - str r0, [r1, 0x4] - b _0802F6E4 - .align 2, 0 -_0802F518: .4byte gUnknown_80E05FC -_0802F51C: .4byte 0x00000101 -_0802F520: .4byte gUnknown_203B310 -_0802F524: - ldr r0, [r6] - ldr r0, [r0, 0x10] - ldrb r2, [r0, 0x1C] - cmp r2, 0 - beq _0802F628 - ldr r0, [r0, 0x18] - cmp r0, 0 - bne _0802F620 - lsls r2, 16 - ldr r1, _0802F564 - ldr r0, [sp, 0xC] - ands r0, r1 - orrs r0, r2 - str r0, [sp, 0xC] - lsrs r0, 16 - lsls r0, 24 - lsrs r0, 24 - bl sub_8090A60 - lsls r0, 24 - cmp r0, 0 - beq _0802F56C - ldr r0, [r6] - ldr r0, [r0, 0x10] - ldrb r1, [r0, 0x1F] - lsls r1, 8 - ldr r2, _0802F568 - ldr r0, [sp, 0xC] - ands r0, r2 - orrs r0, r1 - b _0802F572 - .align 2, 0 -_0802F564: .4byte 0xff00ffff -_0802F568: .4byte 0xffff00ff -_0802F56C: - ldr r1, _0802F5B4 - ldr r0, [sp, 0xC] - ands r0, r1 -_0802F572: - str r0, [sp, 0xC] - ldr r1, _0802F5B8 - ldr r0, [sp, 0xC] - ands r0, r1 - movs r2, 0x1 - orrs r0, r2 - str r0, [sp, 0xC] - movs r1, 0 - str r1, [sp] - mov r0, sp - strb r1, [r0, 0x4] - strb r2, [r0, 0x8] - ldr r0, _0802F5BC - add r1, sp, 0xC - mov r2, sp - bl sub_8090E14 - ldr r4, _0802F5C0 - ldr r2, [r4] - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _0802F620 - ldr r0, _0802F5C4 - adds r2, 0x14 - ldr r3, _0802F5C8 - movs r1, 0 - bl sub_80141B4 - ldr r1, [r4] - movs r0, 0x5 - str r0, [r1, 0x4] - b _0802F6E4 - .align 2, 0 -_0802F5B4: .4byte 0xffff00ff -_0802F5B8: .4byte 0xffffff00 -_0802F5BC: .4byte gUnknown_202DEA8 -_0802F5C0: .4byte gUnknown_203B310 -_0802F5C4: .4byte gUnknown_80E0640 -_0802F5C8: .4byte 0x0000010d -_0802F5CC: - ldr r0, [r6] - ldr r2, [r0, 0x10] - adds r1, r2, 0 - adds r1, 0x1C - ldr r3, [r0, 0xC] - adds r1, r3 - ldrb r0, [r1] - cmp r0, 0 - bne _0802F5E6 - movs r0, 0x6 - bl sub_802F2E8 - b _0802F6E4 -_0802F5E6: - cmp r3, 0 - bne _0802F5FC - ldr r0, [r2, 0x18] - cmp r0, 0 - bne _0802F5FC - ldrb r1, [r2, 0x1C] - ldrb r2, [r2, 0x1F] - movs r0, 0 - bl sub_801B60C - b _0802F6E4 -_0802F5FC: - ldr r1, [r6] - ldr r2, [r1, 0x10] - adds r0, r2, 0 - adds r0, 0x1C - ldr r1, [r1, 0xC] - adds r0, r1 - ldrb r1, [r0] - ldrb r2, [r2, 0x1F] - movs r0, 0x1 - bl sub_801B60C - b _0802F6E4 -_0802F614: - ldr r1, [r6] - ldr r0, [r1, 0xC] - adds r0, 0x1 - str r0, [r1, 0xC] - cmp r0, 0x2 - bgt _0802F628 -_0802F620: - movs r0, 0x5 - bl sub_802F2E8 - b _0802F6E4 -_0802F628: - movs r0, 0x7 - bl sub_802F2E8 - b _0802F6E4 -_0802F630: - adds r5, r6, 0 - ldr r0, [r5] - ldr r0, [r0, 0x10] - ldr r0, [r0, 0x24] - cmp r0, 0 - bne _0802F644 - movs r0, 0x9 - bl sub_802F2E8 - b _0802F6E4 -_0802F644: - bl GetRescueTeamRank - ldr r1, [r5] - strb r0, [r1, 0x9] - ldr r0, [r5] - ldr r0, [r0, 0x10] - ldr r0, [r0, 0x24] - bl AddToTeamRankPts - movs r0, 0xCB - bl sub_8011988 - ldr r4, [r5] - bl GetRescueTeamRank - ldrb r1, [r4, 0x9] - lsls r0, 24 - lsrs r0, 24 - cmp r1, r0 - beq _0802F672 - ldr r1, [r5] - movs r0, 0x8 - b _0802F676 -_0802F672: - ldr r1, [r6] - movs r0, 0x9 -_0802F676: - str r0, [r1, 0x4] - ldr r1, _0802F694 - ldr r0, _0802F698 - ldr r0, [r0] - ldr r0, [r0, 0x10] - ldr r0, [r0, 0x24] - str r0, [r1] - ldr r0, _0802F69C - ldr r3, _0802F6A0 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _0802F6E4 - .align 2, 0 -_0802F694: .4byte gUnknown_202DE30 -_0802F698: .4byte gUnknown_203B310 -_0802F69C: .4byte gUnknown_80E0670 -_0802F6A0: .4byte 0x00000101 -_0802F6A4: - movs r0, 0xC9 - bl sub_8011988 - ldr r0, _0802F6EC - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x4] - ldrb r0, [r1, 0x9] - bl GetTeamRankString - adds r1, r0, 0 - ldr r4, _0802F6F0 - adds r0, r4, 0 - bl strcpy - bl GetRescueTeamRank - lsls r0, 24 - lsrs r0, 24 - bl GetTeamRankString - adds r1, r0, 0 - adds r4, 0x50 - adds r0, r4, 0 - bl strcpy - ldr r0, _0802F6F4 - ldr r3, _0802F6F8 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_0802F6E4: - add sp, 0x10 - pop {r4-r6} - pop {r0} - bx r0 + movs r3, 0x84 + lsls r3, 3 + adds r2, r3 + b _08028A72 .align 2, 0 -_0802F6EC: .4byte gUnknown_203B310 -_0802F6F0: .4byte gUnknown_202E038 -_0802F6F4: .4byte gUnknown_80E06A8 -_0802F6F8: .4byte 0x00000101 - thumb_func_end HandleMissionReward - - thumb_func_start sub_802F6FC -sub_802F6FC: - push {lr} - bl sub_801B6AC - cmp r0, 0x1 - bls _0802F714 - cmp r0, 0x3 - bhi _0802F714 - bl sub_801B72C - movs r0, 0x6 - bl sub_802F2E8 -_0802F714: - pop {r0} - bx r0 - thumb_func_end sub_802F6FC - - thumb_func_start sub_802F718 -sub_802F718: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0802F730 - ldr r0, _0802F738 - ldr r0, [r0] - ldr r0, [r0, 0x4] - bl sub_802F2E8 -_0802F730: - add sp, 0x4 - pop {r0} - bx r0 +_0802885C: .4byte gUnknown_80DE1E4 +_08028860: + ldr r0, _08028864 + b _08028A6A .align 2, 0 -_0802F738: .4byte gUnknown_203B310 - thumb_func_end sub_802F718 - - thumb_func_start sub_802F73C -sub_802F73C: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - adds r7, r1, 0 - mov r8, r2 - lsls r3, 24 - lsrs r6, r3, 24 - bl sub_802FCF0 - lsls r0, 24 - cmp r0, 0 - beq _0802F75A - movs r0, 0 - b _0802F836 -_0802F75A: - ldr r4, _0802F7AC - ldr r0, [r4] - cmp r0, 0 - bne _0802F76E - movs r0, 0xAE - lsls r0, 1 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] -_0802F76E: - ldr r0, [r4] - adds r0, 0xB8 - strb r6, [r0] - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0xF0 - str r5, [r1] - adds r2, r0, 0 - adds r2, 0xF4 - lsls r1, r5, 1 - adds r1, r5 +_08028864: .4byte gUnknown_80DE280 +_08028868: + ldr r0, _08028874 + ldr r2, [r6] + movs r1, 0x84 lsls r1, 3 - adds r1, 0xF8 - adds r1, r0, r1 - str r1, [r2] - adds r0, 0xF8 - bl sub_8006518 - cmp r6, 0 - beq _0802F7B4 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xF0 - ldr r2, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0xF8 - ldr r0, _0802F7B0 - b _0802F7C8 - .align 2, 0 -_0802F7AC: .4byte gUnknown_203B314 -_0802F7B0: .4byte gUnknown_80E072C -_0802F7B4: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xF0 - ldr r2, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0xF8 - ldr r0, _0802F840 -_0802F7C8: - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r4, _0802F844 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0xF4 - ldr r1, [r0] - movs r3, 0xAC - lsls r3, 1 - adds r0, r2, r3 - str r0, [r1, 0x14] - cmp r7, 0 - beq _0802F7FC - adds r0, r2, 0 - adds r0, 0xF0 - ldr r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - subs r3, 0x58 - adds r1, r2, r3 - adds r1, r0 - ldr r0, [r7] - str r0, [r1] -_0802F7FC: - ldr r0, [r4] - adds r0, 0xF4 - ldr r0, [r0] - mov r1, r8 - bl sub_8012D08 - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0xF8 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r4] - adds r4, 0xBC - bl sub_802FBF4 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r5, 0 - bl sub_8013818 - bl sub_802F9C0 - bl sub_802FA50 - movs r0, 0x1 -_0802F836: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 + adds r2, r1 + b _08028A72 .align 2, 0 -_0802F840: .4byte gUnknown_80E0714 -_0802F844: .4byte gUnknown_203B314 - thumb_func_end sub_802F73C - - thumb_func_start sub_802F848 -sub_802F848: - push {r4,r5,lr} - lsls r0, 16 - asrs r4, r0, 16 - movs r3, 0 - ldr r1, _0802F858 - ldr r0, [r1] - b _0802F884 +_08028874: .4byte gUnknown_80DE2B0 +_08028878: + ldr r0, _08028884 + ldr r2, [r6] + movs r3, 0x84 + lsls r3, 3 + adds r2, r3 + b _08028A72 .align 2, 0 -_0802F858: .4byte gUnknown_203B314 -_0802F85C: - ldr r2, [r1] - lsls r0, r3, 1 - adds r0, r2, r0 - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r0, r4 - bne _0802F880 - adds r0, r2, 0 - adds r0, 0xBC - adds r1, r3, 0 - bl sub_8013878 - bl sub_802F9C0 - bl sub_802FA50 - movs r0, 0x1 - b _0802F89A -_0802F880: - adds r3, 0x1 - adds r0, r2, 0 -_0802F884: - adds r0, 0xDE - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r3, r0 - blt _0802F85C - ldr r0, [r1] - adds r0, 0xBC - movs r1, 0 - bl sub_8013878 - movs r0, 0 -_0802F89A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_802F848 - - thumb_func_start sub_802F8A0 -sub_802F8A0: - push {r4,lr} - lsls r0, 24 - cmp r0, 0 - bne _0802F8BC - ldr r0, _0802F8B8 - ldr r0, [r0] - adds r0, 0xBC - bl sub_8013660 - movs r0, 0 - b _0802F904 +_08028884: .4byte gUnknown_80DE368 +_08028888: + ldr r0, _0802888C + b _08028A1A .align 2, 0 -_0802F8B8: .4byte gUnknown_203B314 -_0802F8BC: - ldr r4, _0802F8D8 - ldr r0, [r4] - adds r0, 0xBC - bl GetKeyPress - cmp r0, 0x1 - beq _0802F8DC - cmp r0, 0x2 - bne _0802F8E6 - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _0802F904 +_0802888C: .4byte gUnknown_80DDDBC +_08028890: + ldr r0, _0802889C + ldr r2, [r6] + movs r1, 0x84 + lsls r1, 3 + adds r2, r1 + b _08028A72 .align 2, 0 -_0802F8D8: .4byte gUnknown_203B314 -_0802F8DC: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _0802F904 -_0802F8E6: - ldr r0, [r4] - adds r0, 0xBC - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 +_0802889C: .4byte gUnknown_80DE430 +_080288A0: + bl sub_8030894 cmp r0, 0 - bne _0802F8FA - movs r0, 0 - b _0802F904 -_0802F8FA: - bl sub_802F9C0 - bl sub_802FA50 - movs r0, 0x1 -_0802F904: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802F8A0 - - thumb_func_start sub_802F90C -sub_802F90C: - ldr r0, _0802F934 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0xDA - movs r3, 0 - ldrsh r1, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r1 - adds r1, r2, 0 - adds r1, 0xD4 - movs r3, 0 - ldrsh r1, [r1, r3] - adds r0, r1 - lsls r0, 1 - adds r0, r2, r0 - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_0802F934: .4byte gUnknown_203B314 - thumb_func_end sub_802F90C - - thumb_func_start sub_802F938 -sub_802F938: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_802FBF4 - adds r1, r0, 0 - ldr r5, _0802F970 - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0xDE - strh r1, [r2] - adds r0, 0xBC - bl sub_8013984 - bl sub_802F9C0 - bl sub_802FA50 - cmp r4, 0 - beq _0802F96A - ldr r0, [r5] - adds r0, 0xBC - bl AddMenuCursorSprite -_0802F96A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802F970: .4byte gUnknown_203B314 - thumb_func_end sub_802F938 - - thumb_func_start sub_802F974 -sub_802F974: - push {r4,r5,lr} - ldr r4, _0802F9B8 - ldr r2, [r4] - cmp r2, 0 - beq _0802F9B2 - adds r0, r2, 0 - adds r0, 0xF0 - ldr r0, [r0] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0xF8 - ldr r0, _0802F9BC - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} + beq _080288AA + b _08028AF2 +_080288AA: bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0xF8 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree movs r0, 0 - str r0, [r4] -_0802F9B2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802F9B8: .4byte gUnknown_203B314 -_0802F9BC: .4byte gUnknown_80E06FC - thumb_func_end sub_802F974 - - thumb_func_start sub_802F9C0 -sub_802F9C0: - push {r4,r5,lr} - ldr r4, _0802FA44 - ldr r0, [r4] - movs r1, 0xAC - lsls r1, 1 - adds r0, r1 - movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - ldr r3, _0802FA48 - adds r0, r3 - strb r2, [r0] - ldr r0, [r4] - adds r3, 0x1 - adds r1, r0, r3 - movs r0, 0x8 - strb r0, [r1] - ldr r0, [r4] - ldr r1, _0802FA4C - adds r0, r1 - strb r2, [r0] - ldr r0, [r4] - adds r0, 0xD6 - movs r2, 0 - ldrsh r0, [r0, r2] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r3, [r4] - adds r5, r3, 0 - adds r5, 0xF0 - ldr r2, [r5] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 3 - adds r1, r3, r1 - movs r2, 0x83 - lsls r2, 1 - adds r1, r2 - asrs r2, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r5] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r3, r0 - adds r2, 0x2 - movs r0, 0x84 - lsls r0, 1 - adds r3, r0 - strh r2, [r3] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0xF8 movs r1, 0x1 movs r2, 0x1 bl sub_800641C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0802FA44: .4byte gUnknown_203B314 -_0802FA48: .4byte 0x00000159 -_0802FA4C: .4byte 0x0000015b - thumb_func_end sub_802F9C0 - - thumb_func_start sub_802FA50 -sub_802FA50: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r4, _0802FB1C - ldr r0, [r4] - adds r0, 0xF0 - ldr r0, [r0] - bl sub_8008C54 - ldr r0, [r4] - adds r0, 0xF0 - ldr r0, [r0] - bl sub_80073B8 - ldr r2, _0802FB20 - ldr r0, [r4] - adds r0, 0xF0 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r3, [r4] - movs r1, 0xAD - lsls r1, 1 - adds r0, r3, r1 - ldrb r0, [r0] - lsls r0, 3 - adds r0, 0x4 - adds r1, r3, 0 - adds r1, 0xDA - movs r5, 0 - ldrsh r2, [r1, r5] - adds r2, 0x1 - movs r1, 0x7 - str r1, [sp] - adds r1, r3, 0 - adds r1, 0xF0 - ldr r1, [r1] - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0xB8 - ldrb r0, [r0] - cmp r0, 0 - beq _0802FB78 - movs r6, 0 - adds r0, r1, 0 - adds r0, 0xD6 + movs r0, 0x2 +_080288BA: movs r1, 0 - ldrsh r0, [r0, r1] - cmp r6, r0 - blt _0802FACA - b _0802FBD6 -_0802FACA: - mov r8, r4 -_0802FACC: - mov r2, r8 - ldr r0, [r2] - adds r0, 0xBC - adds r1, r6, 0 - bl sub_8013800 - adds r5, r0, 0 - mov r3, r8 - ldr r2, [r3] - adds r0, r2, 0 - adds r0, 0xDA - movs r3, 0 - ldrsh r1, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r1 - adds r1, r0, r6 - lsls r0, r1, 1 - adds r0, r2, r0 - movs r3, 0 - ldrsh r7, [r0, r3] - adds r0, r2, 0 - adds r0, 0x5C - adds r0, r1 - ldrb r4, [r0] - cmp r4, 0 - beq _0802FB28 - adds r0, r2, 0 - adds r0, 0xF0 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - adds r1, r5, 0 - ldr r2, _0802FB24 - bl xxx_call_draw_string - b _0802FB46 - .align 2, 0 -_0802FB1C: .4byte gUnknown_203B314 -_0802FB20: .4byte gUnknown_80E0744 -_0802FB24: .4byte gUnknown_80E0750 -_0802FB28: - adds r0, r2, 0 - adds r0, 0x8A - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0802FB46 - adds r0, r2, 0 - adds r0, 0xF0 - ldr r3, [r0] - str r4, [sp] - movs r0, 0xA - adds r1, r5, 0 - ldr r2, _0802FB74 - bl xxx_call_draw_string -_0802FB46: - adds r0, r7, 0 - bl sub_80974A0 - adds r2, r0, 0 - mov r1, r8 - ldr r0, [r1] - adds r0, 0xF0 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x18 - adds r1, r5, 0 - bl xxx_call_draw_string - adds r6, 0x1 - mov r2, r8 - ldr r0, [r2] - adds r0, 0xD6 - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r6, r0 - blt _0802FACC - b _0802FBD6 - .align 2, 0 -_0802FB74: .4byte gUnknown_80E0754 -_0802FB78: - movs r6, 0 - adds r0, r1, 0 - adds r0, 0xD6 - movs r5, 0 - ldrsh r0, [r0, r5] - cmp r6, r0 - bge _0802FBD6 - adds r5, r4, 0 -_0802FB88: - ldr r0, [r5] - adds r0, 0xBC - adds r1, r6, 0 - bl sub_8013800 - adds r4, r0, 0 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0xDA - movs r3, 0 - ldrsh r2, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r2 - adds r0, r6 - lsls r0, 1 - adds r1, r0 movs r2, 0 - ldrsh r0, [r1, r2] - bl sub_80974A0 - adds r2, r0, 0 - ldr r0, [r5] - adds r0, 0xF0 - ldr r3, [r0] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - adds r1, r4, 0 - bl xxx_call_draw_string - adds r6, 0x1 - ldr r0, [r5] - adds r0, 0xD6 - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r6, r0 - blt _0802FB88 -_0802FBD6: - ldr r0, _0802FBF0 - ldr r0, [r0] - adds r0, 0xF0 - ldr r0, [r0] - bl sub_80073E0 - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802FBF0: .4byte gUnknown_203B314 - thumb_func_end sub_802FA50 - - thumb_func_start sub_802FBF4 -sub_802FBF4: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r0, 0 - mov r8, r0 - movs r1, 0 - str r1, [sp] -_0802FC08: - ldr r1, [sp] - lsls r0, r1, 16 - asrs r4, r0, 16 - mov r10, r4 - adds r0, r4, 0 - bl sub_80A27CC - lsls r0, 24 - cmp r0, 0 - beq _0802FCCE - cmp r4, 0x13 - beq _0802FCCE - cmp r4, 0x1D - beq _0802FCCE - ldr r7, _0802FC88 - ldr r1, [r7] - mov r0, r8 - lsls r6, r0, 1 - adds r0, r1, r6 - strh r4, [r0] - adds r1, 0x5C - add r1, r8 - movs r0, 0 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x8A - add r0, r8 - movs r1, 0 - strb r1, [r0] - ldr r0, [r7] - adds r0, 0xB8 - ldrb r0, [r0] - cmp r0, 0 - beq _0802FCCA - cmp r4, 0xD - beq _0802FCCA - adds r0, r4, 0 - bl sub_80A270C - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r5, 0 - cmp r4, 0x1E - bgt _0802FCA8 - adds r0, r4, 0 - bl sub_8097384 - lsls r0, 24 - cmp r0, 0 - bne _0802FCA6 - cmp r4, 0x6 - bne _0802FC8C - movs r0, 0x13 - bl sub_8097384 - lsls r0, 24 - cmp r0, 0 - beq _0802FCA8 - ldr r0, [r7] - adds r0, r6 - movs r1, 0x13 - b _0802FCA4 - .align 2, 0 -_0802FC88: .4byte gUnknown_203B314 -_0802FC8C: - mov r0, r10 - cmp r0, 0xA - bne _0802FCA8 - movs r0, 0x1D - bl sub_8097384 - lsls r0, 24 - cmp r0, 0 - beq _0802FCA8 - ldr r0, [r7] - adds r0, r6 - movs r1, 0x1D -_0802FCA4: - strh r1, [r0] -_0802FCA6: - movs r5, 0x1 -_0802FCA8: - ldr r4, _0802FCEC - ldr r0, [r4] - adds r0, 0x5C - add r0, r8 - strb r5, [r0] - cmp r5, 0 - bne _0802FCCA - mov r0, r9 - bl sub_80969D0 - cmp r0, 0 - ble _0802FCCA - ldr r0, [r4] - adds r0, 0x8A - add r0, r8 - movs r1, 0x1 - strb r1, [r0] -_0802FCCA: - movs r1, 0x1 - add r8, r1 -_0802FCCE: - ldr r0, [sp] - adds r0, 0x1 - str r0, [sp] - cmp r0, 0x2D - ble _0802FC08 - mov r0, r8 - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0802FCEC: .4byte gUnknown_203B314 - thumb_func_end sub_802FBF4 - - thumb_func_start sub_802FCF0 -sub_802FCF0: - push {r4,lr} - movs r4, 0 -_0802FCF4: - lsls r0, r4, 16 - asrs r0, 16 - bl sub_80A27CC - lsls r0, 24 - cmp r0, 0 - beq _0802FD06 - movs r0, 0 - b _0802FD0E -_0802FD06: - adds r4, 0x1 - cmp r4, 0x2D - ble _0802FCF4 - movs r0, 0x1 -_0802FD0E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_802FCF0 - - thumb_func_start sub_802FD14 -sub_802FD14: - push {r4-r6,lr} - adds r5, r0, 0 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 + movs r3, 0x6 + bl sub_80306A8 + b _08028AF2 +_080288C6: + ldr r0, [r6] + movs r4, 0xD7 + lsls r4, 2 + adds r0, r4 + bl sub_8006518 + ldr r1, [r6] + movs r5, 0x87 + lsls r5, 2 + adds r0, r1, r5 + adds r1, r4 + ldr r3, _08028904 + ldr r2, _08028908 + str r2, [sp] movs r2, 0x1 - bl sub_800641C - ldr r4, _0802FD48 - movs r0, 0xCC - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - ldr r1, _0802FD4C - strh r1, [r0, 0x10] - str r5, [r0] - cmp r5, 0x7 - bhi _0802FDC0 - lsls r0, r5, 2 - ldr r1, _0802FD50 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802FD48: .4byte gUnknown_203B318 -_0802FD4C: .4byte 0x0000ffff -_0802FD50: .4byte _0802FD54 - .align 2, 0 -_0802FD54: - .4byte _0802FD74 - .4byte _0802FD84 - .4byte _0802FD94 - .4byte _0802FDA4 - .4byte _0802FDB4 - .4byte _0802FDB8 - .4byte _0802FDBC - .4byte _0802FDC0 -_0802FD74: - movs r6, 0 - ldr r1, _0802FD80 - ldr r0, [r1] - str r6, [r0, 0x4] - b _0802FDCC - .align 2, 0 -_0802FD80: .4byte gUnknown_203B318 -_0802FD84: - movs r6, 0x7 - ldr r2, _0802FD90 - ldr r1, [r2] - movs r0, 0 - b _0802FDC8 - .align 2, 0 -_0802FD90: .4byte gUnknown_203B318 -_0802FD94: - movs r6, 0x6 - ldr r2, _0802FDA0 - ldr r1, [r2] - movs r0, 0 - b _0802FDC8 - .align 2, 0 -_0802FDA0: .4byte gUnknown_203B318 -_0802FDA4: - movs r6, 0x8 - ldr r2, _0802FDB0 - ldr r1, [r2] - movs r0, 0 - b _0802FDC8 - .align 2, 0 -_0802FDB0: .4byte gUnknown_203B318 -_0802FDB4: - movs r6, 0 - b _0802FDC2 -_0802FDB8: - movs r6, 0x7 - b _0802FDC2 -_0802FDBC: - movs r6, 0x6 - b _0802FDC2 -_0802FDC0: - movs r6, 0x8 -_0802FDC2: - ldr r2, _0802FDD8 - ldr r1, [r2] - movs r0, 0x1 -_0802FDC8: - str r0, [r1, 0x4] - adds r1, r2, 0 -_0802FDCC: - ldr r1, [r1] - ldr r0, [r1, 0x4] - cmp r0, 0x1 - bne _0802FDDC - movs r0, 0 - b _0802FDE0 - .align 2, 0 -_0802FDD8: .4byte gUnknown_203B318 -_0802FDDC: - adds r0, r1, 0 - adds r0, 0x58 -_0802FDE0: - str r0, [r1, 0x68] - ldr r0, _0802FE48 - ldr r5, _0802FE4C - adds r1, r5, 0 - bl sub_808D8E0 - ldr r4, _0802FE50 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_808D8E0 - adds r0, r5, 0 - bl GetMonSpecies - adds r1, r0, 0 - subs r4, 0x50 - adds r0, r4, 0 - bl strcpy - adds r0, r5, 0 - bl GetDialogueSpriteDataPtr - ldr r3, _0802FE54 - ldr r1, [r3] - str r0, [r1, 0x58] - ldr r0, [r0, 0x4] - str r0, [r1, 0x5C] - adds r1, 0x64 + str r2, [sp, 0x4] movs r2, 0 - strb r2, [r1] - ldr r0, [r3] - adds r0, 0x65 - strb r2, [r0] - ldr r0, [r3] - adds r0, 0x66 - strb r2, [r0] - ldr r1, [r3] - adds r2, r1, 0 - adds r2, 0x60 - movs r0, 0x2 - strh r0, [r2] - adds r1, 0x62 - movs r0, 0x8 - strh r0, [r1] - adds r0, r6, 0 - bl sub_802FF04 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0802FE48: .4byte gUnknown_202E5D8 -_0802FE4C: .4byte 0x00000141 -_0802FE50: .4byte gUnknown_202E1C8 -_0802FE54: .4byte gUnknown_203B318 - thumb_func_end sub_802FD14 - - thumb_func_start sub_802FE58 -sub_802FE58: - push {lr} - ldr r0, _0802FE70 - ldr r0, [r0] - ldr r0, [r0, 0x8] - cmp r0, 0xD - bhi _0802FEC6 - lsls r0, 2 - ldr r1, _0802FE74 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802FE70: .4byte gUnknown_203B318 -_0802FE74: .4byte _0802FE78 - .align 2, 0 -_0802FE78: - .4byte _0802FEB0 - .4byte _0802FEB0 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEB6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEC6 - .4byte _0802FEBC - .4byte _0802FEC6 - .4byte _0802FEC2 -_0802FEB0: - bl sub_8030208 - b _0802FECA -_0802FEB6: - bl sub_8030258 - b _0802FECA -_0802FEBC: - bl sub_80302A8 - b _0802FECA -_0802FEC2: - movs r0, 0x3 - b _0802FECC -_0802FEC6: - bl sub_80302C4 -_0802FECA: - movs r0, 0 -_0802FECC: - pop {r1} - bx r1 - thumb_func_end sub_802FE58 - - thumb_func_start sub_802FED0 -sub_802FED0: - ldr r0, _0802FEDC - ldr r0, [r0] - movs r1, 0x10 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_0802FEDC: .4byte gUnknown_203B318 - thumb_func_end sub_802FED0 - - thumb_func_start sub_802FEE0 -sub_802FEE0: - push {r4,lr} - ldr r4, _0802FF00 - ldr r0, [r4] - cmp r0, 0 - beq _0802FEFA - ldr r0, [r0, 0x58] - bl CloseFile - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0802FEFA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0802FF00: .4byte gUnknown_203B318 - thumb_func_end sub_802FEE0 - - thumb_func_start sub_802FF04 -sub_802FF04: - push {lr} - ldr r1, _0802FF18 - ldr r1, [r1] - str r0, [r1, 0x8] - bl sub_802FF1C - bl sub_802FF88 - pop {r0} - bx r0 - .align 2, 0 -_0802FF18: .4byte gUnknown_203B318 - thumb_func_end sub_802FF04 - - thumb_func_start sub_802FF1C -sub_802FF1C: - push {r4-r7,lr} - ldr r4, _0802FF3C - ldr r0, [r4] - adds r0, 0x6C - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0, 0x8] - cmp r0, 0x4 - beq _0802FF44 - cmp r0, 0x4 - bgt _0802FF40 - cmp r0, 0 - beq _0802FF44 - b _0802FF68 - .align 2, 0 -_0802FF3C: .4byte gUnknown_203B318 -_0802FF40: - cmp r0, 0xD - bne _0802FF68 -_0802FF44: - ldr r0, _0802FF80 - mov r12, r0 - ldr r4, _0802FF84 - movs r3, 0 + str r2, [sp, 0x8] + str r2, [sp, 0xC] movs r2, 0x3 -_0802FF4E: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - adds r1, 0x6C - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _0802FF4E -_0802FF68: - bl ResetUnusedInputStruct - ldr r0, _0802FF80 - ldr r0, [r0] - adds r0, 0x6C - movs r1, 0x1 + bl SetMenuItems + bl sub_803092C +_080288F6: + ldr r0, [r6] + adds r0, r5 + movs r1, 0x3 movs r2, 0x1 - bl sub_800641C - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0802FF80: .4byte gUnknown_203B318 -_0802FF84: .4byte gUnknown_80E0760 - thumb_func_end sub_802FF1C - - thumb_func_start sub_802FF88 -sub_802FF88: - push {r4,r5,lr} - sub sp, 0x18 - ldr r1, _0802FFA4 - ldr r0, [r1] - ldr r0, [r0, 0x8] - adds r5, r1, 0 - cmp r0, 0xD - bls _0802FF9A - b _080301A0 -_0802FF9A: - lsls r0, 2 - ldr r1, _0802FFA8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0802FFA4: .4byte gUnknown_203B318 -_0802FFA8: .4byte _0802FFAC + bl sub_8035CF4 + b _08028AF2 .align 2, 0 -_0802FFAC: - .4byte _0802FFE4 - .4byte _08030000 - .4byte _08030038 - .4byte _08030050 - .4byte _08030068 - .4byte _08030074 - .4byte _080300DC - .4byte _080300C4 - .4byte _080300F4 - .4byte _0803010C - .4byte _08030148 - .4byte _08030174 - .4byte _08030180 - .4byte _080301A0 -_0802FFE4: - bl sub_80301B0 - ldr r2, _0802FFF8 - ldr r0, _0802FFFC - ldr r5, [r0] - ldr r1, [r5, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - b _0803000E +_08028904: .4byte gUnknown_80DDACC +_08028908: .4byte gUnknown_80DDAFC +_0802890C: + bl sub_8095350 + ldr r1, _0802893C + ldr r1, [r1] + movs r3, 0xA8 + lsls r3, 3 + adds r2, r1, r3 + str r0, [r2] + movs r4, 0xA7 + lsls r4, 3 + adds r1, r4 + ldr r1, [r1] + cmp r1, 0x6 + beq _08028940 + cmp r1, 0x6 + bls _0802892E + b _08028AF2 +_0802892E: + cmp r1, 0x5 + beq _08028934 + b _08028AF2 +_08028934: + movs r0, 0x2 + bl sub_8030F58 + b _08028AF2 .align 2, 0 -_0802FFF8: .4byte gMakuhitaDialogue -_0802FFFC: .4byte gUnknown_203B318 -_08030000: - ldr r2, _08030034 - ldr r5, [r5] - ldr r1, [r5, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x4 -_0803000E: - adds r0, r2 - ldr r0, [r0] - ldr r2, [r5, 0x14] - adds r3, r5, 0 - adds r3, 0x18 - movs r4, 0 - str r4, [sp] +_0802893C: .4byte gUnknown_203B2C0 +_08028940: + movs r0, 0x4 + bl sub_8030F58 + b _08028AF2 +_08028948: + ldr r0, _08028970 + ldr r3, _08028974 + movs r2, 0 + str r2, [sp] movs r1, 0x4 str r1, [sp, 0x4] - str r4, [sp, 0x8] - ldr r1, [r5, 0x68] + str r2, [sp, 0x8] + ldr r1, [r6] + movs r2, 0x84 + lsls r2, 3 + adds r1, r2 str r1, [sp, 0xC] movs r1, 0xC str r1, [sp, 0x10] movs r1, 0 + movs r2, 0x5 bl sub_8014248 - b _080301A0 - .align 2, 0 -_08030034: .4byte gMakuhitaDialogue -_08030038: - ldr r3, [r5] - movs r0, 0xD - str r0, [r3, 0xC] - ldr r2, _0803004C - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x8 - b _0803015A - .align 2, 0 -_0803004C: .4byte gMakuhitaDialogue -_08030050: - ldr r3, [r5] - movs r0, 0x4 - str r0, [r3, 0xC] - ldr r2, _08030064 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0xC - b _0803015A - .align 2, 0 -_08030064: .4byte gMakuhitaDialogue -_08030068: - movs r0, 0x3 - movs r1, 0 - movs r2, 0xA - bl sub_80302E8 - b _080301A0 -_08030074: - ldr r1, [r5] - movs r0, 0xD - str r0, [r1, 0xC] - movs r2, 0x10 - ldrsh r0, [r1, r2] - bl sub_80A2740 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080300B4 - ldr r1, [sp, 0x14] - ands r1, r2 - orrs r1, r0 - ldr r0, _080300B8 - ands r1, r0 - movs r0, 0x80 - lsls r0, 1 - orrs r1, r0 - str r1, [sp, 0x14] - ldr r0, _080300BC - add r1, sp, 0x14 - bl sub_8090208 - ldr r2, _080300C0 - ldr r3, [r5] - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x10 - b _0803015A - .align 2, 0 -_080300B4: .4byte 0xffffff00 -_080300B8: .4byte 0xffff00ff -_080300BC: .4byte gAvailablePokemonNames -_080300C0: .4byte gMakuhitaDialogue -_080300C4: - ldr r3, [r5] - movs r0, 0xD - str r0, [r3, 0xC] - ldr r2, _080300D8 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x18 - b _0803015A - .align 2, 0 -_080300D8: .4byte gMakuhitaDialogue -_080300DC: - ldr r3, [r5] - movs r0, 0xD - str r0, [r3, 0xC] - ldr r2, _080300F0 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x14 - b _0803015A - .align 2, 0 -_080300F0: .4byte gMakuhitaDialogue -_080300F4: - ldr r3, [r5] - movs r0, 0x9 - str r0, [r3, 0xC] - ldr r2, _08030108 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x1C - b _0803015A - .align 2, 0 -_08030108: .4byte gMakuhitaDialogue -_0803010C: - ldr r4, _08030138 - bl sub_808D33C - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x6 - bl sub_808D9AC - ldr r0, _0803013C - ldr r1, [r0] - movs r0, 0xB - str r0, [r1, 0xC] - movs r0, 0xCB - bl sub_8011988 - ldr r0, _08030140 - ldr r3, _08030144 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _080301A0 - .align 2, 0 -_08030138: .4byte gPlayerName -_0803013C: .4byte gUnknown_203B318 -_08030140: .4byte gUnknown_80E0778 -_08030144: .4byte 0x00000101 -_08030148: - ldr r3, [r5] - movs r0, 0xD - str r0, [r3, 0xC] - ldr r2, _0803016C - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x20 -_0803015A: - adds r0, r2 - ldr r0, [r0] - ldr r2, [r3, 0x68] - ldr r3, _08030170 - movs r1, 0 - bl sub_80141B4 - b _080301A0 - .align 2, 0 -_0803016C: .4byte gMakuhitaDialogue -_08030170: .4byte 0x0000010d -_08030174: - movs r0, 0x1 - movs r1, 0x49 - movs r2, 0x1 - bl sub_801B60C - b _080301A0 -_08030180: - ldr r3, [r5] - movs r0, 0x1 - str r0, [r3, 0xC] - ldr r2, _080301A8 - ldr r1, [r3, 0x4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, 0x24 - adds r0, r2 - ldr r0, [r0] - ldr r2, [r3, 0x68] - ldr r3, _080301AC - movs r1, 0 - bl sub_80141B4 -_080301A0: - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 + b _08028AF2 .align 2, 0 -_080301A8: .4byte gMakuhitaDialogue -_080301AC: .4byte 0x0000010d - thumb_func_end sub_802FF88 - - thumb_func_start sub_80301B0 -sub_80301B0: - push {r4,lr} - ldr r4, _080301F8 - ldr r1, [r4] - movs r2, 0x2 - str r2, [r1, 0x14] - ldr r0, _080301FC - str r0, [r1, 0x18] - str r2, [r1, 0x1C] - bl sub_80306A4 - lsls r0, 24 - cmp r0, 0 - beq _080301D6 - ldr r0, [r4] - movs r1, 0x1 - negs r1, r1 - str r1, [r0, 0x1C] - movs r1, 0x1 - str r1, [r0, 0x14] -_080301D6: - ldr r1, [r4] - movs r2, 0x1 - ldr r0, _08030200 - ldr r0, [r0] - str r0, [r1, 0x20] - movs r0, 0x3 - str r0, [r1, 0x24] - ldr r0, _08030204 - ldr r0, [r0] - str r0, [r1, 0x28] - str r2, [r1, 0x2C] - movs r0, 0 - str r0, [r1, 0x30] - str r2, [r1, 0x34] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080301F8: .4byte gUnknown_203B318 -_080301FC: .4byte gUnknown_80E07D8 -_08030200: .4byte gUnknown_80D4970 -_08030204: .4byte gUnknown_80D4934 - thumb_func_end sub_80301B0 - - thumb_func_start sub_8030208 -sub_8030208: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08030250 - ldr r0, _08030230 - ldr r1, [r0] - ldr r0, [sp] - str r0, [r1, 0x14] - ldr r0, [sp] - cmp r0, 0x2 - beq _0803023A - cmp r0, 0x2 - bgt _08030234 - cmp r0, 0x1 - beq _0803024A - b _08030250 - .align 2, 0 -_08030230: .4byte gUnknown_203B318 -_08030234: - cmp r0, 0x3 - beq _08030242 - b _08030250 -_0803023A: - movs r0, 0x3 - bl sub_802FF04 - b _08030250 -_08030242: - movs r0, 0xC - bl sub_802FF04 - b _08030250 -_0803024A: - movs r0, 0x2 - bl sub_802FF04 -_08030250: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8030208 - - thumb_func_start sub_8030258 -sub_8030258: - push {lr} - movs r0, 0x1 - bl sub_80303AC - cmp r0, 0x2 - beq _08030288 - cmp r0, 0x2 - bcc _0803029A - cmp r0, 0x3 - bne _0803029A - bl sub_8030418 - ldr r1, _08030284 - ldr r1, [r1] - strh r0, [r1, 0x10] - bl sub_8030480 - movs r0, 0x5 - bl sub_802FF04 - b _0803029A - .align 2, 0 -_08030284: .4byte gUnknown_203B318 -_08030288: - bl sub_8030480 - ldr r0, _080302A0 - ldr r1, [r0] - ldr r0, _080302A4 - strh r0, [r1, 0x10] - movs r0, 0x1 - bl sub_802FF04 -_0803029A: - pop {r0} - bx r0 +_08028970: .4byte gUnknown_80DE48C +_08028974: .4byte gUnknown_80DD9EC +_08028978: + ldr r0, _08028984 + ldr r2, [r6] + movs r3, 0x84 + lsls r3, 3 + adds r2, r3 + b _08028A72 .align 2, 0 -_080302A0: .4byte gUnknown_203B318 -_080302A4: .4byte 0x0000ffff - thumb_func_end sub_8030258 - - thumb_func_start sub_80302A8 -sub_80302A8: - push {lr} - bl sub_801B6AC - cmp r0, 0x1 - bls _080302C0 - cmp r0, 0x3 - bhi _080302C0 - bl sub_801B72C - movs r0, 0xA - bl sub_802FF04 -_080302C0: - pop {r0} - bx r0 - thumb_func_end sub_80302A8 - - thumb_func_start sub_80302C4 -sub_80302C4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080302DC - ldr r0, _080302E4 - ldr r0, [r0] - ldr r0, [r0, 0xC] - bl sub_802FF04 -_080302DC: - add sp, 0x4 - pop {r0} - bx r0 +_08028984: .4byte gUnknown_80DE4B8 +_08028988: + ldr r0, _0802898C + b _08028A6A .align 2, 0 -_080302E4: .4byte gUnknown_203B318 - thumb_func_end sub_80302C4 - - thumb_func_start sub_80302E8 -sub_80302E8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - bl sub_80306A4 - lsls r0, 24 - cmp r0, 0 - beq _08030302 - movs r0, 0 - b _0803039A -_08030302: - ldr r4, _080303A4 - ldr r0, [r4] - cmp r0, 0 - bne _08030314 - movs r0, 0xD0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] -_08030314: - ldr r0, [r4] - str r5, [r0, 0x64] - lsls r1, r5, 1 - adds r1, r5 +_0802898C: .4byte gUnknown_80DE4F0 +_08028990: + ldr r0, _0802899C + ldr r2, [r6] + movs r1, 0x84 lsls r1, 3 - adds r1, 0x6C - adds r1, r0, r1 - str r1, [r0, 0x68] - adds r0, 0x6C - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x64] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x6C - ldr r0, _080303A8 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldr r2, [r4] - ldr r1, [r2, 0x68] - adds r0, r2, 0 - adds r0, 0xCC - str r0, [r1, 0x14] - cmp r6, 0 - beq _08030362 - ldr r1, [r2, 0x64] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x74 - adds r1, r0 - ldr r0, [r6] - str r0, [r1] -_08030362: - ldr r0, [r4] - ldr r0, [r0, 0x68] - mov r1, r8 - bl sub_8012D08 - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x6C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r4] - adds r4, 0x30 - bl sub_8030668 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r5, 0 - bl sub_8013818 - bl sub_80304C8 - bl sub_803053C - movs r0, 0x1 -_0803039A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080303A4: .4byte gUnknown_203B31C -_080303A8: .4byte gUnknown_80E0804 - thumb_func_end sub_80302E8 - - thumb_func_start sub_80303AC -sub_80303AC: - push {r4,lr} - lsls r0, 24 - cmp r0, 0 - bne _080303C8 - ldr r0, _080303C4 - ldr r0, [r0] - adds r0, 0x30 - bl sub_8013660 - movs r0, 0 - b _08030410 - .align 2, 0 -_080303C4: .4byte gUnknown_203B31C -_080303C8: - ldr r4, _080303E4 - ldr r0, [r4] - adds r0, 0x30 - bl GetKeyPress - cmp r0, 0x1 - beq _080303E8 - cmp r0, 0x2 - bne _080303F2 - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _08030410 + adds r2, r1 + b _08028A72 .align 2, 0 -_080303E4: .4byte gUnknown_203B31C -_080303E8: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _08030410 -_080303F2: - ldr r0, [r4] - adds r0, 0x30 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _08030406 - movs r0, 0 - b _08030410 -_08030406: - bl sub_80304C8 - bl sub_803053C - movs r0, 0x1 -_08030410: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80303AC - - thumb_func_start sub_8030418 -sub_8030418: - ldr r0, _08030440 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x4E - movs r3, 0 - ldrsh r1, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r1 - adds r1, r2, 0 - adds r1, 0x48 - movs r3, 0 - ldrsh r1, [r1, r3] - adds r0, r1 - lsls r0, 1 - adds r0, r2, r0 - movs r1, 0 - ldrsh r0, [r0, r1] - bx lr +_0802899C: .4byte gUnknown_80DE524 +_080289A0: + ldr r0, _080289AC + ldr r2, [r6] + movs r3, 0x84 + lsls r3, 3 + adds r2, r3 + b _08028A72 .align 2, 0 -_08030440: .4byte gUnknown_203B31C - thumb_func_end sub_8030418 - - thumb_func_start sub_8030444 -sub_8030444: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8030668 - adds r1, r0, 0 - ldr r5, _0803047C - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x52 - strh r1, [r2] - adds r0, 0x30 - bl sub_8013984 - bl sub_80304C8 - bl sub_803053C - cmp r4, 0 - beq _08030476 - ldr r0, [r5] - adds r0, 0x30 - bl AddMenuCursorSprite -_08030476: - pop {r4,r5} - pop {r0} - bx r0 +_080289AC: .4byte gUnknown_80DE614 +_080289B0: + ldr r0, _080289B4 + b _08028A6A .align 2, 0 -_0803047C: .4byte gUnknown_203B31C - thumb_func_end sub_8030444 - - thumb_func_start sub_8030480 -sub_8030480: - push {r4,r5,lr} - ldr r4, _080304C0 - ldr r2, [r4] - cmp r2, 0 - beq _080304BA - ldr r0, [r2, 0x64] - lsls r1, r0, 1 - adds r1, r0 +_080289B4: .4byte gUnknown_80DE648 +_080289B8: + ldr r0, _080289C4 + ldr r2, [r6] + movs r1, 0x84 lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x6C - ldr r0, _080304C4 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x6C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080304BA: - pop {r4,r5} - pop {r0} - bx r0 + adds r2, r1 + b _08028A72 .align 2, 0 -_080304C0: .4byte gUnknown_203B31C -_080304C4: .4byte gUnknown_80E07EC - thumb_func_end sub_8030480 - - thumb_func_start sub_80304C8 -sub_80304C8: - push {r4,lr} - ldr r4, _08030538 - ldr r0, [r4] - adds r0, 0xCC +_080289C4: .4byte gUnknown_80DE694 +_080289C8: + ldr r0, _080289E0 + ldr r3, _080289E4 movs r2, 0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xCD - strb r2, [r0] - ldr r0, [r4] - adds r0, 0xCE - movs r1, 0x8 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xCF - strb r2, [r0] - ldr r0, [r4] - adds r0, 0x4A - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x64] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x7A - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x64] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x7C - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x6C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08030538: .4byte gUnknown_203B31C - thumb_func_end sub_80304C8 - - thumb_func_start sub_803053C -sub_803053C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x108 - ldr r4, _08030658 - ldr r0, [r4] - ldr r0, [r0, 0x64] - bl sub_8008C54 - ldr r0, [r4] - ldr r0, [r0, 0x64] - bl sub_80073B8 - ldr r2, _0803065C - ldr r0, [r4] - ldr r3, [r0, 0x64] - movs r0, 0 - str r0, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r3, [r4] - adds r0, r3, 0 - adds r0, 0xCE - ldrb r0, [r0] - lsls r0, 3 - adds r0, 0x4 - adds r1, r3, 0 - adds r1, 0x4E - movs r5, 0 - ldrsh r2, [r1, r5] - adds r2, 0x1 - movs r1, 0x7 - str r1, [sp] - ldr r1, [r3, 0x64] + str r2, [sp] + movs r1, 0x4 str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x2 - bl sub_8012BC4 - movs r0, 0 - mov r9, r0 - ldr r0, [r4] - adds r0, 0x4A - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r9, r0 - bge _0803063E - mov r8, r4 -_080305A2: - mov r3, r8 - ldr r1, [r3] - adds r0, r1, 0 - adds r0, 0x4E - movs r5, 0 - ldrsh r2, [r0, r5] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r2 - add r0, r9 - lsls r0, 1 - adds r1, r0 - movs r5, 0 - ldrsh r4, [r1, r5] - adds r0, r4, 0 - bl sub_80A2740 - lsls r0, 24 - lsrs r7, r0, 24 - adds r0, r4, 0 - bl sub_80A2668 - adds r4, r0, 0 - lsls r4, 16 - asrs r4, 16 - mov r1, r8 - ldr r0, [r1] - adds r0, 0x30 - mov r1, r9 - bl sub_8013800 - adds r6, r0, 0 - movs r5, 0x7 - adds r0, r4, 0 - bl sub_809758C - lsls r0, 24 - cmp r0, 0 - beq _08030608 - mov r3, r8 - ldr r0, [r3] - ldr r3, [r0, 0x64] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - adds r1, r6, 0 - ldr r2, _08030660 - bl xxx_call_draw_string - movs r5, 0x4 -_08030608: - adds r0, r7, 0 - bl GetDungeonName1 - adds r3, r0, 0 - add r0, sp, 0x8 - ldr r1, _08030664 - adds r2, r5, 0 - bl sub_800D158 - mov r5, r8 - ldr r0, [r5] - ldr r3, [r0, 0x64] - movs r0, 0 - str r0, [sp] - movs r0, 0x10 - adds r1, r6, 0 - add r2, sp, 0x8 - bl xxx_call_draw_string - movs r0, 0x1 - add r9, r0 - ldr r0, [r5] - adds r0, 0x4A - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r9, r0 - blt _080305A2 -_0803063E: - ldr r0, _08030658 - ldr r0, [r0] - ldr r0, [r0, 0x64] - bl sub_80073E0 - add sp, 0x108 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030658: .4byte gUnknown_203B31C -_0803065C: .4byte gUnknown_80E081C -_08030660: .4byte gUnknown_80E0824 -_08030664: .4byte gUnknown_80E0828 - thumb_func_end sub_803053C - - thumb_func_start sub_8030668 -sub_8030668: - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 -_0803066E: - lsls r0, r5, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - bl sub_8097504 - lsls r0, 24 - cmp r0, 0 - beq _08030690 - adds r0, r4, 0 - bl sub_80A26CC - ldr r1, _080306A0 - ldr r1, [r1] - lsls r2, r6, 1 - adds r1, r2 - strh r0, [r1] - adds r6, 0x1 -_08030690: - adds r5, 0x1 - cmp r5, 0x16 - ble _0803066E - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080306A0: .4byte gUnknown_203B31C - thumb_func_end sub_8030668 - - thumb_func_start sub_80306A4 -sub_80306A4: - movs r0, 0 - bx lr - thumb_func_end sub_80306A4 - - thumb_func_start sub_80306A8 -sub_80306A8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - mov r8, r3 - bl sub_8030C20 - lsls r0, 24 - cmp r0, 0 - beq _080306C4 - movs r0, 0 - b _08030756 -_080306C4: - ldr r6, _08030760 - movs r0, 0xC4 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - str r4, [r0, 0x20] - str r5, [r0, 0x58] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - adds r1, 0x60 - adds r1, r0, r1 - str r1, [r0, 0x5C] - adds r0, 0x60 - bl sub_8006518 + str r2, [sp, 0x8] ldr r1, [r6] - ldr r2, [r1, 0x58] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x60 - ldr r0, _08030764 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} + movs r2, 0x84 + lsls r2, 3 + adds r1, r2 + b _08028A2E + .align 2, 0 +_080289E0: .4byte gUnknown_80DE6D4 +_080289E4: .4byte gUnknown_80DDA48 +_080289E8: + ldr r0, _080289F0 + ldr r3, _080289F4 + b _08028A1C + .align 2, 0 +_080289F0: .4byte gUnknown_80DE754 +_080289F4: .4byte gUnknown_80DDA48 +_080289F8: + ldr r0, _08028A04 ldr r2, [r6] - ldr r1, [r2, 0x5C] - adds r0, r2, 0 - adds r0, 0xC0 - str r0, [r1, 0x14] - cmp r7, 0 - beq _0803071E - ldr r1, [r2, 0x58] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r1, r2, 0 - adds r1, 0x68 - adds r1, r0 - ldr r0, [r7] - str r0, [r1] -_0803071E: - ldr r0, [r6] - ldr r0, [r0, 0x5C] - mov r1, r8 - bl sub_8012D08 - bl ResetUnusedInputStruct - ldr r0, [r6] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, [r6] - adds r4, 0x24 - bl sub_8030A74 - adds r1, r0, 0 - adds r0, r4, 0 - mov r2, r8 - adds r3, r5, 0 - bl sub_8013818 - bl sub_80308A0 - bl sub_803092C - movs r0, 0x1 -_08030756: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08030760: .4byte gUnknown_203B320 -_08030764: .4byte gUnknown_80E0854 - thumb_func_end sub_80306A8 - - thumb_func_start sub_8030768 -sub_8030768: - push {lr} - lsls r0, 24 - cmp r0, 0 - bne _08030784 - ldr r0, _08030780 - ldr r0, [r0] - adds r0, 0x24 - bl sub_8013660 - movs r0, 0 - b _080307E6 - .align 2, 0 -_08030780: .4byte gUnknown_203B320 -_08030784: - ldr r0, _0803079C - ldr r0, [r0] - adds r0, 0x24 - bl GetKeyPress - cmp r0, 0x2 - beq _080307AE - cmp r0, 0x2 - bgt _080307A0 - cmp r0, 0x1 - beq _080307B8 - b _080307C2 - .align 2, 0 -_0803079C: .4byte gUnknown_203B320 -_080307A0: - cmp r0, 0x4 - bne _080307C2 - movs r0, 0x4 - bl PlayMenuSoundEffect - movs r0, 0x4 - b _080307E6 -_080307AE: - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _080307E6 -_080307B8: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _080307E6 -_080307C2: - ldr r0, _080307D8 - ldr r0, [r0] - adds r0, 0x24 - movs r1, 0x1 - bl sub_80138B8 - lsls r0, 24 - cmp r0, 0 - bne _080307DC - movs r0, 0 - b _080307E6 - .align 2, 0 -_080307D8: .4byte gUnknown_203B320 -_080307DC: - bl sub_80308A0 - bl sub_803092C - movs r0, 0x1 -_080307E6: - pop {r1} - bx r1 - thumb_func_end sub_8030768 - - thumb_func_start sub_80307EC -sub_80307EC: - ldr r0, _0803080C - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x42 - movs r3, 0 - ldrsh r1, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r1 - movs r3, 0x3C - ldrsh r1, [r2, r3] - adds r0, r1 - adds r2, r0 - ldrb r0, [r2] - bx lr - .align 2, 0 -_0803080C: .4byte gUnknown_203B320 - thumb_func_end sub_80307EC - - thumb_func_start sub_8030810 -sub_8030810: - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8030A74 - adds r1, r0, 0 - ldr r5, _08030848 - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x46 - strh r1, [r2] - adds r0, 0x24 - bl sub_8013984 - bl sub_80308A0 - bl sub_803092C - cmp r4, 0 - beq _08030842 - ldr r0, [r5] - adds r0, 0x24 - bl AddMenuCursorSprite -_08030842: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08030848: .4byte gUnknown_203B320 - thumb_func_end sub_8030810 - - thumb_func_start sub_803084C -sub_803084C: - push {r4,r5,lr} - ldr r4, _0803088C - ldr r2, [r4] - cmp r2, 0 - beq _08030886 - ldr r0, [r2, 0x58] - lsls r1, r0, 1 - adds r1, r0 + movs r1, 0x84 lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x60 - ldr r0, _08030890 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08030886: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803088C: .4byte gUnknown_203B320 -_08030890: .4byte gUnknown_80E083C - thumb_func_end sub_803084C - - thumb_func_start sub_8030894 -sub_8030894: - ldr r0, _0803089C - ldr r0, [r0] - bx lr + adds r2, r1 + b _08028A72 .align 2, 0 -_0803089C: .4byte gUnknown_203B320 - thumb_func_end sub_8030894 - - thumb_func_start sub_80308A0 -sub_80308A0: - push {r4,lr} - ldr r4, _08030928 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x44 - ldrh r1, [r1] - adds r0, 0xC0 - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0x42 - ldrh r1, [r1] - adds r0, 0xC1 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC2 - movs r1, 0xC - strb r1, [r0] - ldr r0, [r4] - adds r0, 0xC3 - strb r2, [r0] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x3E - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x58] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x6E - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x58] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x70 - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x60 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 +_08028A04: .4byte gUnknown_80DE7B8 +_08028A08: + ldr r0, _08028A14 + ldr r2, [r6] + movs r3, 0x84 + lsls r3, 3 + adds r2, r3 + b _08028A72 .align 2, 0 -_08030928: .4byte gUnknown_203B320 - thumb_func_end sub_80308A0 - - thumb_func_start sub_803092C -sub_803092C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x60 - ldr r7, _08030A24 - ldr r0, [r7] - ldr r0, [r0, 0x58] - bl sub_8008C54 - ldr r0, [r7] - ldr r0, [r0, 0x58] - bl sub_80073B8 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x42 +_08028A14: .4byte gUnknown_80DE7E8 +_08028A18: + ldr r0, _08028A40 +_08028A1A: + ldr r3, _08028A44 +_08028A1C: movs r2, 0 - ldrsh r4, [r0, r2] + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + ldr r1, [r6] + movs r4, 0x84 lsls r4, 3 - adds r5, r4, 0 - adds r5, 0xA - ldr r2, _08030A28 - ldr r0, [r1, 0x20] - lsls r0, 2 - adds r0, r2 - ldr r2, [r0] - ldr r3, [r1, 0x58] - movs r0, 0 - str r0, [sp] - adds r0, r5, 0 - movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r3, [r7] - adds r0, r3, 0 - adds r0, 0xC2 - ldrb r0, [r0] - lsls r0, 3 - adds r5, r4, r0 - adds r0, r3, 0 - adds r0, 0x42 - movs r1, 0 - ldrsh r2, [r0, r1] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r3, 0x58] - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - movs r3, 0x1 - bl sub_8012BC4 - movs r6, 0 - ldr r0, [r7] - movs r2, 0x3E - ldrsh r0, [r0, r2] - cmp r6, r0 - bge _08030A56 - mov r9, r7 - mov r8, r6 - add r7, sp, 0x8 - mov r5, sp - adds r5, 0x4B -_080309B0: - mov r3, r9 - ldr r1, [r3] - adds r0, r1, 0 - adds r0, 0x42 - movs r3, 0 - ldrsh r2, [r0, r3] - subs r0, 0x2 - movs r3, 0 - ldrsh r0, [r0, r3] - muls r0, r2 - adds r0, r6 - adds r1, r0 - ldrb r0, [r1] - bl sub_8095228 - adds r4, r0, 0 - mov r1, r9 - ldr r0, [r1] - ldr r1, [r0, 0x58] - str r1, [sp, 0x8] - adds r0, 0x24 - adds r1, r6, 0 - bl sub_8013800 - str r0, [sp, 0x50] - add r1, sp, 0x48 - movs r0, 0x7 - strb r0, [r1] - mov r0, sp - adds r0, 0x4A - mov r2, r8 - strb r2, [r0] - add r0, sp, 0x4C - strb r2, [r0] - adds r0, r4, 0x4 - str r0, [sp, 0x10] - adds r0, 0x10 - str r0, [sp, 0x14] - ldrh r0, [r4, 0xC] - strh r0, [r7, 0x10] - ldrh r0, [r4, 0xC] - strh r0, [r7, 0x12] - strb r2, [r7, 0x14] - subs r1, 0x12 - movs r0, 0x5 - strb r0, [r1] - ldrb r0, [r4] - cmp r0, 0x4 - beq _08030A32 - cmp r0, 0x4 - bgt _08030A2C - cmp r0, 0x2 - bgt _08030A3E - cmp r0, 0x1 - blt _08030A3E - movs r0, 0x1 - strb r0, [r5] - b _08030A42 - .align 2, 0 -_08030A24: .4byte gUnknown_203B320 -_08030A28: .4byte gUnknown_80E086C -_08030A2C: - cmp r0, 0x5 - beq _08030A38 - b _08030A3E -_08030A32: - movs r0, 0x3 - strb r0, [r5] - b _08030A42 -_08030A38: - movs r0, 0x4 - strb r0, [r5] - b _08030A42 -_08030A3E: - mov r3, r8 - strb r3, [r5] -_08030A42: - add r0, sp, 0x8 - bl sub_803B6D4 - adds r6, 0x1 - mov r1, r9 - ldr r0, [r1] - movs r2, 0x3E - ldrsh r0, [r0, r2] - cmp r6, r0 - blt _080309B0 -_08030A56: - ldr r0, _08030A70 - ldr r0, [r0] - ldr r0, [r0, 0x58] - bl sub_80073E0 - add sp, 0x60 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08030A70: .4byte gUnknown_203B320 - thumb_func_end sub_803092C - - thumb_func_start sub_8030A74 -sub_8030A74: - push {r4,r5,lr} - movs r2, 0 - ldr r0, _08030A90 - ldr r0, [r0] - ldr r0, [r0, 0x20] - cmp r0, 0x7 - bls _08030A84 - b _08030C0E -_08030A84: - lsls r0, 2 - ldr r1, _08030A94 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08030A90: .4byte gUnknown_203B320 -_08030A94: .4byte _08030A98 - .align 2, 0 -_08030A98: - .4byte _08030AB8 - .4byte _08030B10 - .4byte _08030B3C - .4byte _08030B94 - .4byte _08030B68 - .4byte _08030BC0 - .4byte _08030AE4 - .4byte _08030BEC -_08030AB8: - movs r1, 0 - ldr r5, _08030ADC - ldr r4, _08030AE0 - movs r3, 0 -_08030AC0: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _08030AD2 - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030AD2: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030AC0 - b _08030C0E - .align 2, 0 -_08030ADC: .4byte gUnknown_203B480 -_08030AE0: .4byte gUnknown_203B320 -_08030AE4: - movs r1, 0 - ldr r5, _08030B08 - ldr r4, _08030B0C - movs r3, 0 -_08030AEC: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x6 - bne _08030AFE - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030AFE: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030AEC - b _08030C0E - .align 2, 0 -_08030B08: .4byte gUnknown_203B480 -_08030B0C: .4byte gUnknown_203B320 -_08030B10: - movs r1, 0 - ldr r5, _08030B34 - ldr r4, _08030B38 - movs r3, 0 -_08030B18: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08030B2A - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030B2A: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030B18 - b _08030C0E - .align 2, 0 -_08030B34: .4byte gUnknown_203B480 -_08030B38: .4byte gUnknown_203B320 -_08030B3C: - movs r1, 0 - ldr r5, _08030B60 - ldr r4, _08030B64 - movs r3, 0 -_08030B44: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x2 - bne _08030B56 - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030B56: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030B44 - b _08030C0E - .align 2, 0 -_08030B60: .4byte gUnknown_203B480 -_08030B64: .4byte gUnknown_203B320 -_08030B68: - movs r1, 0 - ldr r5, _08030B8C - ldr r4, _08030B90 - movs r3, 0 -_08030B70: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x4 - bne _08030B82 - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030B82: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030B70 - b _08030C0E - .align 2, 0 -_08030B8C: .4byte gUnknown_203B480 -_08030B90: .4byte gUnknown_203B320 -_08030B94: - movs r1, 0 - ldr r5, _08030BB8 - ldr r4, _08030BBC - movs r3, 0 -_08030B9C: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x3 - bne _08030BAE - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030BAE: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030B9C - b _08030C0E - .align 2, 0 -_08030BB8: .4byte gUnknown_203B480 -_08030BBC: .4byte gUnknown_203B320 -_08030BC0: - movs r1, 0 - ldr r5, _08030BE4 - ldr r4, _08030BE8 - movs r3, 0 -_08030BC8: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x5 - bne _08030BDA - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030BDA: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030BC8 - b _08030C0E - .align 2, 0 -_08030BE4: .4byte gUnknown_203B480 -_08030BE8: .4byte gUnknown_203B320 -_08030BEC: - movs r1, 0 - ldr r5, _08030C18 - ldr r4, _08030C1C - movs r3, 0 -_08030BF4: - ldr r0, [r5] - adds r0, r3 - ldrb r0, [r0] - cmp r0, 0x7 - bne _08030C06 - ldr r0, [r4] - adds r0, r2 - strb r1, [r0] - adds r2, 0x1 -_08030C06: - adds r3, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030BF4 -_08030C0E: - adds r0, r2, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08030C18: .4byte gUnknown_203B480 -_08030C1C: .4byte gUnknown_203B320 - thumb_func_end sub_8030A74 - - thumb_func_start sub_8030C20 -sub_8030C20: - push {lr} - cmp r0, 0x7 - bls _08030C28 - b _08030D34 -_08030C28: - lsls r0, 2 - ldr r1, _08030C34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08030C34: .4byte _08030C38 - .align 2, 0 -_08030C38: - .4byte _08030C58 - .4byte _08030C90 - .4byte _08030CAC - .4byte _08030CE4 - .4byte _08030CC8 - .4byte _08030D00 - .4byte _08030C74 - .4byte _08030D20 -_08030C58: - movs r1, 0 - ldr r0, _08030C70 - ldr r2, [r0] -_08030C5E: - ldrb r0, [r2] - cmp r0, 0 - bne _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030C5E - b _08030D34 - .align 2, 0 -_08030C70: .4byte gUnknown_203B480 -_08030C74: - movs r1, 0 - ldr r0, _08030C8C - ldr r2, [r0] -_08030C7A: - ldrb r0, [r2] - cmp r0, 0x6 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030C7A - b _08030D34 - .align 2, 0 -_08030C8C: .4byte gUnknown_203B480 -_08030C90: - movs r1, 0 - ldr r0, _08030CA8 - ldr r2, [r0] -_08030C96: - ldrb r0, [r2] - cmp r0, 0x1 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030C96 - b _08030D34 - .align 2, 0 -_08030CA8: .4byte gUnknown_203B480 -_08030CAC: - movs r1, 0 - ldr r0, _08030CC4 - ldr r2, [r0] -_08030CB2: - ldrb r0, [r2] - cmp r0, 0x2 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030CB2 - b _08030D34 - .align 2, 0 -_08030CC4: .4byte gUnknown_203B480 -_08030CC8: - movs r1, 0 - ldr r0, _08030CE0 - ldr r2, [r0] -_08030CCE: - ldrb r0, [r2] - cmp r0, 0x4 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030CCE - b _08030D34 - .align 2, 0 -_08030CE0: .4byte gUnknown_203B480 -_08030CE4: - movs r1, 0 - ldr r0, _08030CFC - ldr r2, [r0] -_08030CEA: - ldrb r0, [r2] - cmp r0, 0x3 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030CEA - b _08030D34 - .align 2, 0 -_08030CFC: .4byte gUnknown_203B480 -_08030D00: - movs r1, 0 - ldr r0, _08030D18 - ldr r2, [r0] -_08030D06: - ldrb r0, [r2] - cmp r0, 0x5 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030D06 - b _08030D34 - .align 2, 0 -_08030D18: .4byte gUnknown_203B480 -_08030D1C: - movs r0, 0 - b _08030D36 -_08030D20: + adds r1, r4 +_08028A2E: + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] movs r1, 0 - ldr r0, _08030D3C - ldr r2, [r0] -_08030D26: - ldrb r0, [r2] - cmp r0, 0x7 - beq _08030D1C - adds r2, 0x30 - adds r1, 0x1 - cmp r1, 0x1F - ble _08030D26 -_08030D34: - movs r0, 0x1 -_08030D36: - pop {r1} - bx r1 - .align 2, 0 -_08030D3C: .4byte gUnknown_203B480 - thumb_func_end sub_8030C20 - - thumb_func_start sub_8030D40 -sub_8030D40: - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, _08030D98 - movs r0, 0x78 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - strb r4, [r0, 0xC] - ldr r0, [r6] - bl sub_801317C - ldr r0, [r6] - str r5, [r0, 0x10] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - adds r1, 0x18 - adds r1, r0, r1 - str r1, [r0, 0x14] - adds r0, 0x18 - bl sub_8006518 - ldr r1, [r6] - ldr r2, [r1, 0x10] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x18 - ldr r0, _08030D9C - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - bl sub_8030DD4 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08030D98: .4byte gUnknown_203B324 -_08030D9C: .4byte gUnknown_80E091C - thumb_func_end sub_8030D40 - - thumb_func_start sub_8030DA0 -sub_8030DA0: - push {lr} - ldr r0, _08030DC0 - ldr r0, [r0] - ldr r1, [r0, 0x10] - bl sub_8012A64 - cmp r0, 0x1 - beq _08030DC4 - cmp r0, 0x2 - bne _08030DCE - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _08030DD0 + movs r2, 0x8 + bl sub_8014248 + b _08028AF2 .align 2, 0 -_08030DC0: .4byte gUnknown_203B324 -_08030DC4: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _08030DD0 -_08030DCE: - movs r0, 0 -_08030DD0: - pop {r1} - bx r1 - thumb_func_end sub_8030DA0 - - thumb_func_start sub_8030DD4 -sub_8030DD4: - push {lr} - bl sub_8030E2C - bl sub_8030E48 - pop {r0} - bx r0 - thumb_func_end sub_8030DD4 - - thumb_func_start sub_8030DE4 -sub_8030DE4: - push {r4,r5,lr} - ldr r4, _08030E24 - ldr r2, [r4] - cmp r2, 0 - beq _08030E1E - ldr r0, [r2, 0x10] - lsls r1, r0, 1 - adds r1, r0 +_08028A40: .4byte gUnknown_80DE808 +_08028A44: .4byte gUnknown_80DDA64 +_08028A48: + ldr r0, _08028A54 + ldr r2, [r6] + movs r1, 0x84 lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x18 - ldr r0, _08030E28 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08030E1E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08030E24: .4byte gUnknown_203B324 -_08030E28: .4byte gUnknown_80E0900 - thumb_func_end sub_8030DE4 - - thumb_func_start sub_8030E2C -sub_8030E2C: - push {lr} - bl ResetUnusedInputStruct - ldr r0, _08030E44 - ldr r0, [r0] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r0} - bx r0 - .align 2, 0 -_08030E44: .4byte gUnknown_203B324 - thumb_func_end sub_8030E2C - - thumb_func_start sub_8030E48 -sub_8030E48: - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x15C - ldr r3, _08030EA8 - ldr r4, _08030EAC - ldr r2, [r4] - ldrb r1, [r2, 0xC] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - ldr r1, [r3] - adds r5, r1, r0 - ldr r0, [r2, 0x10] - bl sub_80073B8 - ldr r0, [r4] - ldr r0, [r0, 0x10] - str r0, [sp, 0x4] - add r1, sp, 0x44 - movs r2, 0 - movs r0, 0x7 - strb r0, [r1] - mov r0, sp - adds r0, 0x46 - strb r2, [r0] - add r0, sp, 0x48 - strb r2, [r0] - adds r0, r5, 0x4 - str r0, [sp, 0xC] - adds r0, 0x10 - str r0, [sp, 0x10] - add r1, sp, 0x4 - ldrh r0, [r5, 0xC] - strh r0, [r1, 0x10] - ldrh r0, [r5, 0xC] - strh r0, [r1, 0x12] - adds r0, r1, 0 - strb r2, [r0, 0x14] - adds r2, r5, 0 - adds r2, 0x22 - ldrb r0, [r2] - cmp r0, 0 - bne _08030EB0 - adds r1, 0x2E - movs r0, 0x5 - strb r0, [r1] - b _08030EBE + adds r2, r1 + b _08028A72 .align 2, 0 -_08030EA8: .4byte gUnknown_203B480 -_08030EAC: .4byte gUnknown_203B324 -_08030EB0: - mov r1, sp - adds r1, 0x32 - movs r0, 0x2 - strb r0, [r1] - ldrb r1, [r2] - add r0, sp, 0x38 - strb r1, [r0] -_08030EBE: - ldrb r0, [r5] - cmp r0, 0x2 - beq _08030ED2 - cmp r0, 0x2 - ble _08030EE2 - cmp r0, 0x4 - beq _08030ED2 - cmp r0, 0x5 - beq _08030EDA - b _08030EE2 -_08030ED2: - mov r1, sp - adds r1, 0x45 - movs r0, 0xA - b _08030EE8 -_08030EDA: - mov r1, sp - adds r1, 0x45 - movs r0, 0xB - b _08030EE8 -_08030EE2: - mov r1, sp - adds r1, 0x45 - movs r0, 0x9 -_08030EE8: - strb r0, [r1] - add r0, sp, 0x4 - bl CreateRescueDescription - ldrh r0, [r5, 0x10] - ldr r1, _08030F48 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r2, _08030F4C - ldr r5, _08030F50 - ldr r0, [r5] - ldr r3, [r0, 0x10] - movs r0, 0 - mov r8, r0 - str r0, [sp] - movs r0, 0xA - movs r1, 0x68 - bl xxx_call_draw_string - add r6, sp, 0x5C - ldr r1, _08030F54 - adds r0, r6, 0 - adds r2, r4, 0 - bl sub_800D158 - ldr r0, [r5] - ldr r3, [r0, 0x10] - mov r0, r8 - str r0, [sp] - movs r0, 0x44 - movs r1, 0x68 - adds r2, r6, 0 - bl xxx_call_draw_string - ldr r0, [r5] - ldr r0, [r0, 0x10] - bl sub_80073E0 - add sp, 0x15C - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 +_08028A54: .4byte gUnknown_80DE830 +_08028A58: + ldr r0, _08028A64 + ldr r2, [r6] + movs r3, 0x84 + lsls r3, 3 + adds r2, r3 + b _08028A72 .align 2, 0 -_08030F48: .4byte 0x00002710 -_08030F4C: .4byte gUnknown_80E0934 -_08030F50: .4byte gUnknown_203B324 -_08030F54: .4byte gUnknown_80E0938 - thumb_func_end sub_8030E48 - - thumb_func_start sub_8030F58 -sub_8030F58: - push {r4-r6,lr} - adds r6, r0, 0 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _08030FF4 - ldr r0, [r5] - cmp r0, 0 - bne _08030F88 - movs r4, 0x8E - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_08030F88: - ldr r0, [r5] - movs r1, 0x8C - lsls r1, 1 - adds r0, r1 - str r6, [r0] - movs r0, 0x98 - lsls r0, 1 - bl GetDialogueSpriteDataPtr - ldr r2, [r5] +_08028A64: .4byte gUnknown_80DE864 +_08028A68: + ldr r0, _08028A7C +_08028A6A: + ldr r2, [r6] movs r4, 0x84 - lsls r4, 1 - adds r1, r2, r4 - str r0, [r1] - movs r3, 0x86 - lsls r3, 1 - adds r1, r2, r3 - ldr r0, [r0, 0x4] - str r0, [r1] - movs r0, 0x8A - lsls r0, 1 - adds r2, r0 - movs r1, 0 - strb r1, [r2] - ldr r0, [r5] - ldr r2, _08030FF8 - adds r0, r2 - strb r1, [r0] - ldr r0, [r5] - adds r3, 0xA - adds r0, r3 - strb r1, [r0] - ldr r2, [r5] - movs r0, 0x88 - lsls r0, 1 - adds r1, r2, r0 - movs r0, 0x2 - strh r0, [r1] - subs r3, 0x4 - adds r1, r2, r3 - movs r0, 0x8 - strh r0, [r1] - adds r0, r6, 0 - bl sub_8030C20 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08031038 - cmp r6, 0x2 - beq _08030FFC - cmp r6, 0x4 - beq _08031014 - b _08031022 - .align 2, 0 -_08030FF4: .4byte gUnknown_203B328 -_08030FF8: .4byte 0x00000115 -_08030FFC: - ldr r0, _0803100C - ldr r2, [r5] - adds r2, r4 - ldr r3, _08031010 - movs r1, 0 - bl sub_80141B4 - b _08031022 - .align 2, 0 -_0803100C: .4byte gUnknown_80E09D8 -_08031010: .4byte 0x00000101 -_08031014: - ldr r0, _0803102C - ldr r2, [r5] + lsls r4, 3 adds r2, r4 - ldr r3, _08031030 +_08028A72: + ldr r3, _08028A80 movs r1, 0 bl sub_80141B4 -_08031022: - ldr r0, _08031034 - ldr r1, [r0] - movs r0, 0x5 - str r0, [r1] - b _08031048 + b _08028AF2 .align 2, 0 -_0803102C: .4byte gUnknown_80E0A0C -_08031030: .4byte 0x00000101 -_08031034: .4byte gUnknown_203B328 -_08031038: - ldr r0, [r5] - str r1, [r0] - adds r0, r6, 0 - movs r1, 0 +_08028A7C: .4byte gUnknown_80DE7E8 +_08028A80: .4byte 0x0000010d +_08028A84: + ldr r0, _08028AAC + ldr r3, _08028AB0 movs r2, 0 - movs r3, 0x8 - bl sub_80306A8 -_08031048: - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8030F58 - - thumb_func_start sub_8031050 -sub_8031050: - push {lr} - ldr r1, _08031068 - ldr r0, [r1] - ldr r0, [r0] - adds r2, r1, 0 - cmp r0, 0x6 - bhi _080310AC - lsls r0, 2 - ldr r1, _0803106C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031068: .4byte gUnknown_203B328 -_0803106C: .4byte _08031070 - .align 2, 0 -_08031070: - .4byte _0803108C - .4byte _08031092 - .4byte _08031098 - .4byte _08031098 - .4byte _080310A2 - .4byte _080310A8 - .4byte _080310A8 -_0803108C: - bl sub_8031300 - b _080310AC -_08031092: - bl sub_803136C - b _080310AC -_08031098: - ldr r0, [r2] - ldr r0, [r0] - bl sub_80313D8 - b _080310AC -_080310A2: - bl sub_8031498 - b _080310AC -_080310A8: - movs r0, 0x3 - b _080310AE -_080310AC: - movs r0, 0 -_080310AE: - pop {r1} - bx r1 - thumb_func_end sub_8031050 - - thumb_func_start sub_80310B4 -sub_80310B4: - push {r4,lr} - bl sub_803084C - ldr r4, _080310E0 - ldr r0, [r4] - cmp r0, 0 - beq _080310D8 - movs r1, 0x84 - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - bl CloseFile - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080310D8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080310E0: .4byte gUnknown_203B328 - thumb_func_end sub_80310B4 - - thumb_func_start sub_80310E4 -sub_80310E4: - push {lr} - ldr r1, _080310F8 - ldr r1, [r1] - str r0, [r1] - bl sub_80310FC - bl sub_8031258 - pop {r0} - bx r0 - .align 2, 0 -_080310F8: .4byte gUnknown_203B328 - thumb_func_end sub_80310E4 - - thumb_func_start sub_80310FC -sub_80310FC: - push {r4-r6,lr} - ldr r4, _0803111C - ldr r0, [r4] - adds r0, 0xA8 - bl sub_8006518 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0x6 - bls _08031112 - b _0803122C -_08031112: - lsls r0, 2 - ldr r1, _08031120 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803111C: .4byte gUnknown_203B328 -_08031120: .4byte _08031124 - .align 2, 0 -_08031124: - .4byte _08031140 - .4byte _08031178 - .4byte _080311C0 - .4byte _080311C0 - .4byte _080311E8 - .4byte _0803122C - .4byte _0803122C -_08031140: - ldr r3, _08031170 - ldr r1, [r3] - ldr r2, _08031174 - adds r1, 0xC0 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r1, [r3] - adds r1, 0xD8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r0, [r3] - adds r0, 0xF0 - ldm r2!, {r1,r3,r4} - stm r0!, {r1,r3,r4} - ldm r2!, {r1,r5,r6} - stm r0!, {r1,r5,r6} - b _0803123A - .align 2, 0 -_08031170: .4byte gUnknown_203B328 -_08031174: .4byte gUnknown_80E0990 -_08031178: - ldr r3, _080311B0 - ldr r1, [r3] - adds r1, 0xC0 - ldr r0, _080311B4 - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - ldm r0!, {r2,r4,r6} - stm r1!, {r2,r4,r6} - ldr r1, [r3] - ldr r2, _080311B8 - adds r1, 0xD8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r0, [r3] - adds r0, 0xF0 - ldm r2!, {r1,r5,r6} - stm r0!, {r1,r5,r6} - ldm r2!, {r4-r6} - stm r0!, {r4-r6} - ldr r0, [r3] - adds r0, 0xC0 - ldr r1, _080311BC - bl sub_8012CAC - b _0803123A - .align 2, 0 -_080311B0: .4byte gUnknown_203B328 -_080311B4: .4byte gUnknown_80E09A8 -_080311B8: .4byte gUnknown_80E0990 -_080311BC: .4byte gUnknown_80E0968 -_080311C0: - ldr r2, _080311DC - ldr r1, [r2] - adds r1, 0xD8 - ldr r0, _080311E0 - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r3,r4,r6} - stm r1!, {r3,r4,r6} - ldr r0, [r2] - adds r0, 0xD8 - ldr r1, _080311E4 - bl sub_8012CAC - b _0803123A - .align 2, 0 -_080311DC: .4byte gUnknown_203B328 -_080311E0: .4byte gUnknown_80E09C0 -_080311E4: .4byte gUnknown_80E0948 -_080311E8: - ldr r3, _08031224 - ldr r1, [r3] - ldr r2, _08031228 - adds r1, 0xA8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r1, [r3] - adds r1, 0xC0 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r1, [r3] - adds r1, 0xD8 - adds r0, r2, 0 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r0, [r3] - adds r0, 0xF0 - ldm r2!, {r1,r5,r6} - stm r0!, {r1,r5,r6} - ldm r2!, {r3-r5} - stm r0!, {r3-r5} - b _0803123A - .align 2, 0 -_08031224: .4byte gUnknown_203B328 -_08031228: .4byte gUnknown_80E0990 -_0803122C: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C -_0803123A: - bl ResetUnusedInputStruct - ldr r0, _08031254 - ldr r0, [r0] - adds r0, 0xA8 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08031254: .4byte gUnknown_203B328 - thumb_func_end sub_80310FC - - thumb_func_start sub_8031258 -sub_8031258: - push {r4,lr} - sub sp, 0x8 - ldr r1, _08031274 - ldr r0, [r1] - ldr r0, [r0] - adds r2, r1, 0 - cmp r0, 0x6 - bhi _080312F6 - lsls r0, 2 - ldr r1, _08031278 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031274: .4byte gUnknown_203B328 -_08031278: .4byte _0803127C - .align 2, 0 -_0803127C: - .4byte _08031298 - .4byte _080312A0 - .4byte _080312BC - .4byte _080312BC - .4byte _080312EC - .4byte _080312F6 - .4byte _080312F6 -_08031298: - movs r0, 0x1 - bl sub_8030810 - b _080312F6 -_080312A0: - bl sub_803092C - ldr r0, _080312B4 - ldr r0, [r0] - adds r0, 0x8 - ldr r1, _080312B8 - movs r2, 0x4 str r2, [sp] - movs r2, 0x1 - b _080312D8 - .align 2, 0 -_080312B4: .4byte gUnknown_203B328 -_080312B8: .4byte gUnknown_80E0968 -_080312BC: - bl sub_803092C - ldr r4, _080312E4 - ldr r0, [r4] - adds r0, 0x8 - movs r1, 0 - bl sub_8012EA4 - ldr r0, [r4] - adds r0, 0x58 - ldr r1, _080312E8 - movs r2, 0x3 - str r2, [sp] - movs r2, 0x2 -_080312D8: - str r2, [sp, 0x4] - movs r2, 0 - movs r3, 0 - bl sub_8012D60 - b _080312F6 - .align 2, 0 -_080312E4: .4byte gUnknown_203B328 -_080312E8: .4byte gUnknown_80E0948 -_080312EC: - ldr r0, [r2] - ldrb r0, [r0, 0x4] - movs r1, 0x3 - bl sub_8030D40 -_080312F6: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8031258 - - thumb_func_start sub_8031300 -sub_8031300: - push {lr} - movs r0, 0x1 - bl sub_8030768 - cmp r0, 0x4 - bhi _08031366 - lsls r0, 2 - ldr r1, _08031318 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031318: .4byte _0803131C - .align 2, 0 -_0803131C: - .4byte _08031366 - .4byte _08031366 - .4byte _08031360 - .4byte _08031330 - .4byte _08031348 -_08031330: - bl sub_80307EC - ldr r1, _08031344 - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x1 - bl sub_80310E4 - b _08031366 - .align 2, 0 -_08031344: .4byte gUnknown_203B328 -_08031348: - bl sub_80307EC - ldr r1, _0803135C - ldr r1, [r1] - strb r0, [r1, 0x4] - movs r0, 0x4 - bl sub_80310E4 - b _08031366 - .align 2, 0 -_0803135C: .4byte gUnknown_203B328 -_08031360: - movs r0, 0x6 - bl sub_80310E4 -_08031366: - pop {r0} - bx r0 - thumb_func_end sub_8031300 - - thumb_func_start sub_803136C -sub_803136C: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_8030768 - ldr r4, _080313A4 - ldr r0, [r4] - adds r0, 0x8 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08031392 - ldr r0, [r4] - adds r0, 0x8 - mov r1, sp - bl sub_8013114 -_08031392: - ldr r0, [sp] - cmp r0, 0x4 - beq _080313C2 - cmp r0, 0x4 - bgt _080313A8 - cmp r0, 0x1 - beq _080313B2 - b _080313D0 - .align 2, 0 -_080313A4: .4byte gUnknown_203B328 -_080313A8: - cmp r0, 0x5 - beq _080313CA - cmp r0, 0x6 - beq _080313BA - b _080313D0 -_080313B2: - movs r0, 0 - bl sub_80310E4 - b _080313D0 -_080313BA: - movs r0, 0x3 - bl sub_80310E4 - b _080313D0 -_080313C2: - movs r0, 0x2 - bl sub_80310E4 - b _080313D0 -_080313CA: - movs r0, 0x4 - bl sub_80310E4 -_080313D0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803136C - - thumb_func_start sub_80313D8 -sub_80313D8: - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r0, 0 - str r0, [sp] - bl sub_8030768 - ldr r4, _08031418 - ldr r0, [r4] - adds r0, 0x8 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0x58 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08031408 - ldr r0, [r4] - adds r0, 0x58 - mov r1, sp - bl sub_8013114 -_08031408: - ldr r0, [sp] - cmp r0, 0x2 - beq _08031428 - cmp r0, 0x2 - bgt _0803141C - cmp r0, 0x1 - beq _08031420 - b _0803148E - .align 2, 0 -_08031418: .4byte gUnknown_203B328 -_0803141C: - cmp r0, 0x3 - bne _0803148E -_08031420: - movs r0, 0 - bl sub_80310E4 - b _0803148E -_08031428: - cmp r5, 0x2 - beq _08031432 - cmp r5, 0x3 - beq _0803143C - b _0803145A -_08031432: - ldr r0, [r4] - ldrb r0, [r0, 0x4] - bl sub_8095240 - b _0803145A -_0803143C: - ldr r4, _08031480 - movs r3, 0 - movs r1, 0 - movs r2, 0x1F -_08031444: - ldr r0, [r4] - adds r0, r1 - strb r3, [r0] - ldr r0, [r4] - adds r0, r1 - adds r0, 0x22 - strb r3, [r0] - adds r1, 0x30 - subs r2, 0x1 - cmp r2, 0 - bge _08031444 -_0803145A: - ldr r0, _08031484 - ldr r0, [r0] - movs r1, 0x8C - lsls r1, 1 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x2 - beq _0803146E - cmp r0, 0x4 - bne _0803148E -_0803146E: - bl sub_8030C20 - lsls r0, 24 - cmp r0, 0 - beq _08031488 - movs r0, 0x5 - bl sub_80310E4 - b _0803148E - .align 2, 0 -_08031480: .4byte gUnknown_203B480 -_08031484: .4byte gUnknown_203B328 -_08031488: - movs r0, 0 - bl sub_80310E4 -_0803148E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80313D8 - - thumb_func_start sub_8031498 -sub_8031498: - push {lr} - bl sub_8030DA0 - cmp r0, 0x1 - bls _080314B0 - cmp r0, 0x3 - bhi _080314B0 - bl sub_8030DE4 - movs r0, 0 - bl sub_80310E4 -_080314B0: - pop {r0} - bx r0 - thumb_func_end sub_8031498 - - thumb_func_start sub_80314B4 -sub_80314B4: - push {r4-r6,lr} - lsls r0, 16 - asrs r5, r0, 16 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r6, _08031534 - movs r0, 0x18 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - ldr r0, _08031538 - adds r1, r5, 0 - bl sub_808D8E0 - adds r0, r5, 0 - bl GetMonSpecies - adds r1, r0, 0 - ldr r0, _0803153C - bl strcpy - ldr r0, [r6] - movs r4, 0 - str r4, [r0, 0x8] - str r4, [r0, 0xC] - cmp r5, 0 - beq _0803151E - adds r0, r5, 0 - bl GetDialogueSpriteDataPtr - ldr r1, [r6] - str r0, [r1, 0x8] - strb r4, [r1, 0x14] - ldr r0, [r6] - strb r4, [r0, 0x15] - ldr r0, [r6] - strb r4, [r0, 0x16] - ldr r1, [r6] - movs r0, 0x2 - strh r0, [r1, 0x10] - movs r0, 0x8 - strh r0, [r1, 0x12] - ldr r0, [r1, 0x8] - cmp r0, 0 - beq _0803151E - ldr r0, [r0, 0x4] - str r0, [r1, 0xC] -_0803151E: - ldr r0, _08031534 - ldr r1, [r0] - movs r0, 0 - str r0, [r1, 0x4] - movs r0, 0x1 - bl sub_80317C0 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08031534: .4byte gUnknown_203B32C -_08031538: .4byte gUnknown_202E5D8 -_0803153C: .4byte gAvailablePokemonNames - thumb_func_end sub_80314B4 - - thumb_func_start sub_8031540 -sub_8031540: - push {lr} - ldr r0, _08031558 - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x9 - bhi _080315BA - lsls r0, 2 - ldr r1, _0803155C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031558: .4byte gUnknown_203B32C -_0803155C: .4byte _08031560 - .align 2, 0 -_08031560: - .4byte _080315AC - .4byte _08031588 - .4byte _08031588 - .4byte _0803158E - .4byte _08031594 - .4byte _0803159A - .4byte _080315A0 - .4byte _080315A6 - .4byte _080315B0 - .4byte _080315B6 -_08031588: - bl sub_80317D8 - b _080315BA -_0803158E: - bl sub_8031848 - b _080315BA -_08031594: - bl sub_8031864 - b _080315BA -_0803159A: - bl sub_80318D0 - b _080315BA -_080315A0: - bl sub_80318EC - b _080315BA -_080315A6: - bl sub_803192C - b _080315BA -_080315AC: - movs r0, 0x3 - b _080315BC -_080315B0: - bl sub_8031948 - b _080315BA -_080315B6: - bl sub_8031988 -_080315BA: - movs r0, 0 -_080315BC: - pop {r1} - bx r1 - thumb_func_end sub_8031540 - - thumb_func_start sub_80315C0 -sub_80315C0: - push {r4,lr} - ldr r4, _080315E4 - ldr r0, [r4] - cmp r0, 0 - beq _080315DE - ldr r0, [r0, 0x8] - cmp r0, 0 - beq _080315D4 - bl CloseFile -_080315D4: - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080315DE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080315E4: .4byte gUnknown_203B32C - thumb_func_end sub_80315C0 - - thumb_func_start nullsub_39 -nullsub_39: - bx lr - thumb_func_end nullsub_39 - - thumb_func_start sub_80315EC -sub_80315EC: - push {r4,r5,lr} - sub sp, 0x14 - movs r5, 0 - ldr r0, _08031618 - ldr r2, [r0] - ldr r1, [r2, 0x8] - adds r3, r0, 0 - cmp r1, 0 - beq _08031602 - adds r5, r2, 0 - adds r5, 0x8 -_08031602: - ldrb r0, [r2] - subs r0, 0x1 - cmp r0, 0x8 - bls _0803160C - b _080317B0 -_0803160C: - lsls r0, 2 - ldr r1, _0803161C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031618: .4byte gUnknown_203B32C -_0803161C: .4byte _08031620 - .align 2, 0 -_08031620: - .4byte _08031700 - .4byte _08031714 - .4byte _08031728 - .4byte _08031758 - .4byte _08031780 - .4byte _08031694 - .4byte _080316A8 - .4byte _08031644 - .4byte _08031658 -_08031644: - ldr r0, _08031650 - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _08031654 - b _08031760 - .align 2, 0 -_08031650: .4byte gUnknown_80E0C4C -_08031654: .4byte gUnknown_80E0BD4 -_08031658: - ldr r0, [r3] - ldr r0, [r0, 0x4] - cmp r0, 0x10 - beq _0803167C - cmp r0, 0x10 - bgt _0803166A - cmp r0, 0xF - beq _08031674 - b _080317B0 -_0803166A: - cmp r0, 0x11 - beq _08031684 - cmp r0, 0x12 - beq _0803168C - b _080317B0 -_08031674: - ldr r0, _08031678 - b _08031790 - .align 2, 0 -_08031678: .4byte gUnknown_80E0C70 -_0803167C: - ldr r0, _08031680 - b _08031790 - .align 2, 0 -_08031680: .4byte gUnknown_80E0DD0 -_08031684: - ldr r0, _08031688 - b _08031790 - .align 2, 0 -_08031688: .4byte gUnknown_80E0ED8 -_0803168C: - ldr r0, _08031690 - b _08031790 - .align 2, 0 -_08031690: .4byte gUnknown_80E10C8 -_08031694: - ldr r0, _080316A0 - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _080316A4 - b _08031760 - .align 2, 0 -_080316A0: .4byte gUnknown_80E0C4C -_080316A4: .4byte gUnknown_80E0B3C -_080316A8: - ldr r0, [r3] - ldr r0, [r0, 0x4] - subs r0, 0xA - cmp r0, 0x4 - bls _080316B4 - b _080317B0 -_080316B4: - lsls r0, 2 - ldr r1, _080316C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080316C0: .4byte _080316C4 - .align 2, 0 -_080316C4: - .4byte _080316D8 - .4byte _080316E0 - .4byte _080316F0 - .4byte _080316E8 - .4byte _080316F8 -_080316D8: - ldr r0, _080316DC - b _08031790 - .align 2, 0 -_080316DC: .4byte gUnknown_80E120C -_080316E0: - ldr r0, _080316E4 - b _08031790 - .align 2, 0 -_080316E4: .4byte gUnknown_80E136C -_080316E8: - ldr r0, _080316EC - b _08031790 - .align 2, 0 -_080316EC: .4byte gUnknown_80E1420 -_080316F0: - ldr r0, _080316F4 - b _08031790 - .align 2, 0 -_080316F4: .4byte gUnknown_80E157C -_080316F8: - ldr r0, _080316FC - b _08031790 - .align 2, 0 -_080316FC: .4byte gUnknown_80E169C -_08031700: - ldr r0, _0803170C - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _08031710 - b _08031760 - .align 2, 0 -_0803170C: .4byte gUnknown_80E17C8 -_08031710: .4byte gUnknown_80E0A48 -_08031714: - ldr r0, _08031720 - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _08031724 - b _08031760 - .align 2, 0 -_08031720: .4byte gUnknown_80E183C -_08031724: .4byte gUnknown_80E0A48 -_08031728: - ldr r0, [r3] - ldr r0, [r0, 0x4] - cmp r0, 0x1 - beq _08031748 - cmp r0, 0x1 - bgt _0803173A - cmp r0, 0 - beq _08031740 - b _080317B0 -_0803173A: - cmp r0, 0x2 - beq _08031750 - b _080317B0 -_08031740: - ldr r0, _08031744 - b _08031790 - .align 2, 0 -_08031744: .4byte gUnknown_80E1868 -_08031748: - ldr r0, _0803174C - b _08031790 - .align 2, 0 -_0803174C: .4byte gUnknown_80E1A30 -_08031750: - ldr r0, _08031754 - b _08031790 - .align 2, 0 -_08031754: .4byte gUnknown_80E1AD8 -_08031758: - ldr r0, _08031778 - ldr r1, [r3] - ldr r2, [r1, 0x4] - ldr r3, _0803177C -_08031760: - movs r4, 0 - str r4, [sp] movs r1, 0x4 str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r5, [sp, 0xC] + str r2, [sp, 0x8] + ldr r1, [r6] + movs r2, 0x84 + lsls r2, 3 + adds r1, r2 + str r1, [sp, 0xC] movs r1, 0xC str r1, [sp, 0x10] movs r1, 0 - bl sub_8014248 - b _080317B0 - .align 2, 0 -_08031778: .4byte gUnknown_80E0C4C -_0803177C: .4byte gUnknown_80E0ABC -_08031780: - ldr r0, [r3] - ldr r0, [r0, 0x4] - cmp r0, 0x6 - beq _0803178E - cmp r0, 0x9 - beq _080317A4 - b _080317B0 -_0803178E: - ldr r0, _0803179C -_08031790: - ldr r3, _080317A0 - movs r1, 0 - adds r2, r5, 0 - bl sub_80141B4 - b _080317B0 - .align 2, 0 -_0803179C: .4byte gUnknown_80E1B88 -_080317A0: .4byte 0x0000010d -_080317A4: - ldr r0, _080317B8 - ldr r3, _080317BC - movs r1, 0 - adds r2, r5, 0 - bl sub_80141B4 -_080317B0: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080317B8: .4byte gUnknown_80E1D84 -_080317BC: .4byte 0x0000010d - thumb_func_end sub_80315EC - - thumb_func_start sub_80317C0 -sub_80317C0: - push {lr} - ldr r1, _080317D4 - ldr r1, [r1] - strb r0, [r1] - bl nullsub_39 - bl sub_80315EC - pop {r0} - bx r0 - .align 2, 0 -_080317D4: .4byte gUnknown_203B32C - thumb_func_end sub_80317C0 - - thumb_func_start sub_80317D8 -sub_80317D8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803183C - ldr r2, [sp] - cmp r2, 0x5 - bhi _0803183C - lsls r0, r2, 2 - ldr r1, _080317F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080317F8: .4byte _080317FC - .align 2, 0 -_080317FC: - .4byte _08031830 - .4byte _08031830 - .4byte _08031830 - .4byte _0803181C - .4byte _08031814 - .4byte _08031814 -_08031814: - movs r0, 0 - bl sub_80317C0 - b _0803183C -_0803181C: - ldr r0, _0803182C - ldr r0, [r0] - str r2, [r0, 0x4] - movs r0, 0x4 - bl sub_80317C0 - b _0803183C - .align 2, 0 -_0803182C: .4byte gUnknown_203B32C -_08031830: - ldr r0, _08031844 - ldr r0, [r0] - str r2, [r0, 0x4] - movs r0, 0x3 - bl sub_80317C0 -_0803183C: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08031844: .4byte gUnknown_203B32C - thumb_func_end sub_80317D8 - - thumb_func_start sub_8031848 -sub_8031848: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803185C - movs r0, 0x2 - bl sub_80317C0 -_0803185C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8031848 - - thumb_func_start sub_8031864 -sub_8031864: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080318C4 - ldr r0, [sp] - subs r1, r0, 0x5 - adds r2, r0, 0 - cmp r1, 0x4 - bhi _080318C4 - lsls r0, r1, 2 - ldr r1, _08031888 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08031888: .4byte _0803188C - .align 2, 0 -_0803188C: - .4byte _080318A0 - .4byte _080318B8 - .4byte _080318A8 - .4byte _080318B0 - .4byte _080318B8 -_080318A0: - movs r0, 0x2 - bl sub_80317C0 - b _080318C4 -_080318A8: - movs r0, 0x6 - bl sub_80317C0 - b _080318C4 -_080318B0: - movs r0, 0x8 - bl sub_80317C0 - b _080318C4 -_080318B8: - ldr r0, _080318CC - ldr r0, [r0] - str r2, [r0, 0x4] - movs r0, 0x5 - bl sub_80317C0 -_080318C4: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080318CC: .4byte gUnknown_203B32C - thumb_func_end sub_8031864 - - thumb_func_start sub_80318D0 -sub_80318D0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080318E4 - movs r0, 0x4 - bl sub_80317C0 -_080318E4: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80318D0 - - thumb_func_start sub_80318EC -sub_80318EC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08031920 - ldr r1, [sp] - cmp r1, 0x5 - bne _08031908 - movs r0, 0x4 - bl sub_80317C0 - b _08031920 -_08031908: - cmp r1, 0x5 - blt _08031920 - cmp r1, 0xE - bgt _08031920 - cmp r1, 0xA - blt _08031920 - ldr r0, _08031928 - ldr r0, [r0] - str r1, [r0, 0x4] - movs r0, 0x7 - bl sub_80317C0 -_08031920: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08031928: .4byte gUnknown_203B32C - thumb_func_end sub_80318EC - - thumb_func_start sub_803192C -sub_803192C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08031940 - movs r0, 0x6 - bl sub_80317C0 -_08031940: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_803192C - - thumb_func_start sub_8031948 -sub_8031948: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803197C - ldr r1, [sp] - cmp r1, 0x5 - bne _08031964 - movs r0, 0x4 - bl sub_80317C0 - b _0803197C -_08031964: - cmp r1, 0x5 - blt _0803197C - cmp r1, 0x12 - bgt _0803197C - cmp r1, 0xF - blt _0803197C - ldr r0, _08031984 - ldr r0, [r0] - str r1, [r0, 0x4] - movs r0, 0x9 - bl sub_80317C0 -_0803197C: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08031984: .4byte gUnknown_203B32C - thumb_func_end sub_8031948 - - thumb_func_start sub_8031988 -sub_8031988: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803199C - movs r0, 0x8 - bl sub_80317C0 -_0803199C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8031988 - - thumb_func_start sub_80319A4 -sub_80319A4: - push {r4-r6,lr} - mov r6, r8 - push {r6} - adds r4, r0, 0 - adds r5, r1, 0 - mov r8, r2 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r6, _080319F4 - movs r0, 0x78 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r6] - strb r4, [r0, 0xC] - ldr r0, [r6] - strb r5, [r0, 0xD] - ldr r0, [r6] - bl sub_801317C - ldr r1, [r6] - mov r0, r8 - str r0, [r1, 0x10] - lsls r0, 1 - add r0, r8 - lsls r0, 3 - adds r0, 0x18 - adds r0, r1, r0 - str r0, [r1, 0x14] - bl sub_8031A2C - movs r0, 0x1 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080319F4: .4byte gUnknown_203B330 - thumb_func_end sub_80319A4 - - thumb_func_start sub_80319F8 -sub_80319F8: - push {lr} - ldr r0, _08031A18 - ldr r0, [r0] - ldr r1, [r0, 0x10] - bl sub_8012A64 - cmp r0, 0x1 - beq _08031A1C - cmp r0, 0x2 - bne _08031A26 - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _08031A28 - .align 2, 0 -_08031A18: .4byte gUnknown_203B330 -_08031A1C: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _08031A28 -_08031A26: - movs r0, 0 -_08031A28: - pop {r1} - bx r1 - thumb_func_end sub_80319F8 - - thumb_func_start sub_8031A2C -sub_8031A2C: - push {lr} - bl sub_8031A84 - bl sub_8031AE8 - pop {r0} - bx r0 - thumb_func_end sub_8031A2C - - thumb_func_start sub_8031A3C -sub_8031A3C: - push {r4,r5,lr} - ldr r4, _08031A7C - ldr r2, [r4] - cmp r2, 0 - beq _08031A76 - ldr r0, [r2, 0x10] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x18 - ldr r0, _08031A80 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08031A76: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08031A7C: .4byte gUnknown_203B330 -_08031A80: .4byte gUnknown_80E1EFC - thumb_func_end sub_8031A3C - - thumb_func_start sub_8031A84 -sub_8031A84: - push {r4,r5,lr} - ldr r4, _08031AE0 - ldr r0, [r4] - adds r0, 0x18 - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x10] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x18 - ldr r0, _08031AE4 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r1, [r4] - ldrb r0, [r1, 0xC] - cmp r0, 0x2 - bne _08031AC6 - ldrb r0, [r1, 0xD] - bl sub_80969D0 - adds r1, r0, 0 - cmp r1, 0 - bne _08031ABE - movs r1, 0x1 -_08031ABE: - ldr r0, [r4] - ldr r0, [r0, 0x14] - bl sub_8012D08 -_08031AC6: - bl ResetUnusedInputStruct - ldr r0, _08031AE0 - ldr r0, [r0] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08031AE0: .4byte gUnknown_203B330 -_08031AE4: .4byte gUnknown_80E1F18 - thumb_func_end sub_8031A84 - - thumb_func_start sub_8031AE8 -sub_8031AE8: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xDC - ldr r7, _08031B24 - ldr r0, [r7] - ldr r0, [r0, 0x10] - bl sub_80073B8 - ldr r2, _08031B28 - ldr r0, [r7] - ldr r3, [r0, 0x10] - movs r6, 0 - str r6, [sp] - movs r0, 0xA - movs r1, 0 - bl xxx_call_draw_string - ldr r1, [r7] - ldrb r0, [r1, 0xC] - cmp r0, 0x1 - beq _08031B2C - cmp r0, 0x1 - bgt _08031B1E - b _08031CD4 -_08031B1E: - cmp r0, 0x2 - beq _08031B94 - b _08031CD4 - .align 2, 0 -_08031B24: .4byte gUnknown_203B330 -_08031B28: .4byte gUnknown_80E1F30 -_08031B2C: - add r4, sp, 0x68 - adds r0, r4, 0 - bl sub_8099394 - ldrb r0, [r4] - bl sub_8095228 - adds r5, r0, 0 - ldr r0, [r7] - ldr r3, [r0, 0x10] - movs r0, 0xA - movs r1, 0x10 - movs r2, 0x3 - bl sub_803B6B0 - ldr r1, _08031B8C - ldrb r2, [r5, 0x5] - add r0, sp, 0x4 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - str r6, [sp] - movs r0, 0x15 - movs r1, 0x10 - add r2, sp, 0x4 - bl xxx_call_draw_string - ldr r4, _08031B90 - movs r1, 0xC - ldrsh r0, [r5, r1] - bl GetMonSpecies - adds r2, r0, 0 - add r0, sp, 0x4 - adds r1, r4, 0 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - str r6, [sp] - movs r0, 0x28 - movs r1, 0x10 - add r2, sp, 0x4 - bl xxx_call_draw_string - b _08031D4E - .align 2, 0 -_08031B8C: .4byte gUnknown_80E1F3C -_08031B90: .4byte gUnknown_80E1F40 -_08031B94: - ldrb r0, [r1, 0xD] - bl sub_80969D0 - adds r1, r0, 0 - cmp r1, 0 - bne _08031BB0 - ldr r2, _08031BAC - ldr r0, [r7] - ldr r3, [r0, 0x10] - str r1, [sp] - b _08031D2C - .align 2, 0 -_08031BAC: .4byte gUnknown_80E1F54 -_08031BB0: - movs r6, 0x10 - movs r2, 0 - mov r10, r2 - mov r8, r2 - ldr r0, _08031C28 - mov r9, r0 - mov r1, sp - adds r1, 0x6C - str r1, [sp, 0xD8] -_08031BC2: - mov r2, r10 - lsls r0, r2, 24 - lsrs r0, 24 - bl sub_8096AB4 - adds r4, r0, 0 - ldr r1, [r7] - ldrb r0, [r4, 0x4] - ldrb r2, [r1, 0xD] - cmp r0, r2 - bne _08031CC2 - ldrb r0, [r4] - cmp r0, 0 - beq _08031CC2 - cmp r0, 0x5 - beq _08031CC2 - cmp r0, 0x7 - beq _08031CC2 - ldr r3, [r1, 0x10] - movs r0, 0xA - adds r1, r6, 0 - movs r2, 0x3 - bl sub_803B6B0 - ldrb r0, [r4, 0x1] - add r5, sp, 0x6C - cmp r0, 0x3 - beq _08031C16 - ldrb r2, [r4, 0x5] - ldr r0, [sp, 0xD8] - ldr r1, _08031C2C - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - mov r0, r8 - str r0, [sp] - movs r0, 0x15 - adds r1, r6, 0 - ldr r2, [sp, 0xD8] - bl xxx_call_draw_string -_08031C16: - ldrb r0, [r4, 0x1] - cmp r0, 0x3 - beq _08031C58 - cmp r0, 0x3 - bgt _08031C30 - cmp r0, 0x2 - beq _08031C70 - b _08031C9C - .align 2, 0 -_08031C28: .4byte gUnknown_202DE58 -_08031C2C: .4byte gUnknown_80E1F3C -_08031C30: - cmp r0, 0x4 - bne _08031C9C - ldrb r1, [r4, 0x10] - mov r0, r9 movs r2, 0 - bl sub_8090DC4 - adds r0, r5, 0 - ldr r1, _08031C54 - mov r2, r9 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - mov r1, r8 - str r1, [sp] - b _08031C8A + bl sub_8014248 + b _08028AF2 .align 2, 0 -_08031C54: .4byte gUnknown_80E1F60 -_08031C58: - ldrb r1, [r4, 0x10] - mov r0, r9 +_08028AAC: .4byte gUnknown_80DE8B4 +_08028AB0: .4byte gUnknown_80DD970 +_08028AB4: + ldr r0, _08028AD8 + ldr r3, _08028ADC movs r2, 0 - bl sub_8090DC4 - adds r0, r5, 0 - ldr r1, _08031C6C - mov r2, r9 - b _08031C7E - .align 2, 0 -_08031C6C: .4byte gUnknown_80E1F70 -_08031C70: - movs r1, 0xE - ldrsh r0, [r4, r1] - bl GetMonSpecies - adds r2, r0, 0 - adds r0, r5, 0 - ldr r1, _08031C98 -_08031C7E: - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - mov r2, r8 - str r2, [sp] -_08031C8A: - movs r0, 0x28 - adds r1, r6, 0 - adds r2, r5, 0 - bl xxx_call_draw_string - b _08031CC0 - .align 2, 0 -_08031C98: .4byte gUnknown_80E1F80 -_08031C9C: - movs r1, 0xE - ldrsh r0, [r4, r1] - bl GetMonSpecies - adds r2, r0, 0 - adds r0, r5, 0 - ldr r1, _08031CD0 - bl sub_800D158 - ldr r0, [r7] - ldr r3, [r0, 0x10] - mov r2, r8 str r2, [sp] - movs r0, 0x28 - adds r1, r6, 0 - adds r2, r5, 0 - bl xxx_call_draw_string -_08031CC0: - adds r6, 0xC -_08031CC2: - movs r0, 0x1 - add r10, r0 - mov r1, r10 - cmp r1, 0x7 - bgt _08031CCE - b _08031BC2 -_08031CCE: - b _08031D4E - .align 2, 0 -_08031CD0: .4byte gUnknown_80E1F40 -_08031CD4: - add r0, sp, 0xD0 - mov r4, sp - adds r4, 0xD2 - adds r1, r4, 0 - bl sub_80992E0 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - beq _08031D04 - movs r2, 0 - ldrsh r0, [r4, r2] - bl GetCurrentMissionText - adds r2, r0, 0 - ldr r0, _08031D00 - ldr r0, [r0] - ldr r3, [r0, 0x10] - movs r0, 0 - str r0, [sp] - b _08031D2C - .align 2, 0 -_08031D00: .4byte gUnknown_203B330 -_08031D04: - add r4, sp, 0xD4 - adds r0, r4, 0 - bl sub_8099360 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08031D3C - ldrb r0, [r4] - bl sub_80A2688 - lsls r0, 16 - asrs r0, 16 - bl sub_80975DC - adds r2, r0, 0 - ldr r0, _08031D38 - ldr r0, [r0] - ldr r3, [r0, 0x10] - str r5, [sp] -_08031D2C: - movs r0, 0xA - movs r1, 0x10 - bl xxx_call_draw_string - b _08031D4E - .align 2, 0 -_08031D38: .4byte gUnknown_203B330 -_08031D3C: - ldr r2, _08031D68 - ldr r0, _08031D6C - ldr r0, [r0] - ldr r3, [r0, 0x10] - str r1, [sp] - movs r0, 0xA - movs r1, 0x10 - bl xxx_call_draw_string -_08031D4E: - ldr r0, _08031D6C - ldr r0, [r0] - ldr r0, [r0, 0x10] - bl sub_80073E0 - add sp, 0xDC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08031D68: .4byte gUnknown_80E1F94 -_08031D6C: .4byte gUnknown_203B330 - thumb_func_end sub_8031AE8 - - thumb_func_start sub_8031D70 -sub_8031D70: - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - ldr r5, _08031DC4 - movs r0, 0x7C - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - stm r0!, {r6} - bl sub_801317C - ldr r0, [r5] - str r4, [r0, 0x10] - lsls r1, r4, 1 + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + ldr r1, [r6] + movs r4, 0x84 + lsls r4, 3 adds r1, r4 - lsls r1, 3 - adds r1, 0x18 - adds r1, r0, r1 - str r1, [r0, 0x14] - adds r0, 0x18 - bl sub_8006518 - ldr r1, [r5] - ldr r2, [r1, 0x10] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x18 - ldr r0, _08031DC8 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - bl sub_8031E00 - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08031DC4: .4byte gUnknown_203B334 -_08031DC8: .4byte gUnknown_80E1FC4 - thumb_func_end sub_8031D70 - - thumb_func_start sub_8031DCC -sub_8031DCC: - push {lr} - ldr r0, _08031DEC - ldr r1, [r0] - adds r0, r1, 0x4 - ldr r1, [r1, 0x10] - bl sub_8012A64 - cmp r0, 0x1 - beq _08031DF0 - cmp r0, 0x2 - bne _08031DFA - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _08031DFC - .align 2, 0 -_08031DEC: .4byte gUnknown_203B334 -_08031DF0: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _08031DFC -_08031DFA: - movs r0, 0 -_08031DFC: - pop {r1} - bx r1 - thumb_func_end sub_8031DCC - - thumb_func_start sub_8031E00 -sub_8031E00: - push {lr} - bl sub_8031E58 - bl sub_8031E74 - pop {r0} - bx r0 - thumb_func_end sub_8031E00 - - thumb_func_start sub_8031E10 -sub_8031E10: - push {r4,r5,lr} - ldr r4, _08031E50 - ldr r2, [r4] - cmp r2, 0 - beq _08031E4A - ldr r0, [r2, 0x10] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x18 - ldr r0, _08031E54 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08031E4A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08031E50: .4byte gUnknown_203B334 -_08031E54: .4byte gUnknown_80E1FA8 - thumb_func_end sub_8031E10 - - thumb_func_start sub_8031E58 -sub_8031E58: - push {lr} - bl ResetUnusedInputStruct - ldr r0, _08031E70 - ldr r0, [r0] - adds r0, 0x18 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r0} - bx r0 - .align 2, 0 -_08031E70: .4byte gUnknown_203B334 - thumb_func_end sub_8031E58 - - thumb_func_start sub_8031E74 -sub_8031E74: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x3C - ldr r3, _08031EC0 - ldr r5, _08031EC4 - ldr r2, [r5] - ldr r1, [r2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 4 - ldr r4, [r3] - adds r4, r0 - ldr r0, [r2, 0x10] - bl sub_80073B8 - ldr r2, _08031EC8 - ldr r0, [r5] - ldr r3, [r0, 0x10] - movs r0, 0 - str r0, [sp] - movs r0, 0x14 + str r1, [sp, 0xC] + movs r1, 0xC + str r1, [sp, 0x10] movs r1, 0 - bl xxx_call_draw_string - add r0, sp, 0x4 - adds r1, r4, 0 - bl sub_803D2C0 - movs r7, 0 - mov r8, r5 -_08031EB2: - cmp r7, 0x4 - ble _08031ED0 - cmp r7, 0xC - bgt _08031ECC - movs r6, 0x6 - movs r5, 0x16 - b _08031F00 - .align 2, 0 -_08031EC0: .4byte gUnknown_203B480 -_08031EC4: .4byte gUnknown_203B334 -_08031EC8: .4byte gUnknown_80E1FDC -_08031ECC: - cmp r7, 0x11 - bgt _08031ED6 -_08031ED0: - movs r6, 0x7 - movs r5, 0x15 - b _08031F00 -_08031ED6: - cmp r7, 0x16 - ble _08031EE8 - cmp r7, 0x1E - bgt _08031EE4 - movs r6, 0x6 - movs r5, 0x25 - b _08031F00 -_08031EE4: - cmp r7, 0x23 - bgt _08031EEE -_08031EE8: - movs r6, 0x7 - movs r5, 0x24 - b _08031F00 -_08031EEE: - cmp r7, 0x28 - ble _08031EFC - cmp r7, 0x30 - bgt _08031EFC - movs r6, 0x6 - movs r5, 0x34 - b _08031F00 -_08031EFC: - movs r6, 0x7 - movs r5, 0x33 -_08031F00: - adds r0, r7, 0 - movs r1, 0x12 - bl __modsi3 - movs r1, 0xB - adds r4, r0, 0 - muls r4, r1 - adds r4, 0x6 - mov r0, sp - adds r0, r7 - adds r0, 0x4 - ldrb r2, [r0] - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x10] - str r0, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - adds r3, r6, 0 - bl sub_8012C60 - mov r1, r8 - ldr r0, [r1] - ldr r0, [r0, 0x10] - adds r2, r5, 0 - adds r2, 0xA - movs r1, 0x5 - str r1, [sp] - adds r1, r4, 0 - movs r3, 0xA - bl sub_80078A4 - adds r7, 0x1 - cmp r7, 0x35 - ble _08031EB2 - ldr r0, _08031F5C - ldr r0, [r0] - ldr r0, [r0, 0x10] - bl sub_80073E0 - add sp, 0x3C - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08031F5C: .4byte gUnknown_203B334 - thumb_func_end sub_8031E74 - - thumb_func_start CreateAdventureLogScreen -CreateAdventureLogScreen: - push {r4-r6,lr} - adds r5, r0, 0 - ldr r4, _08031FD0 - movs r0, 0xA0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r4] - str r5, [r0, 0x34] - lsls r1, r5, 1 - adds r1, r5 - lsls r1, 3 - adds r1, 0x3C - adds r1, r0, r1 - str r1, [r0, 0x38] - adds r0, 0x3C - bl sub_8006518 - ldr r1, [r4] - ldr r2, [r1, 0x34] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 3 - adds r1, r0 - adds r1, 0x3C - ldr r0, _08031FD4 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r0, [r4] - ldr r1, [r0, 0x38] - adds r0, 0x9C - str r0, [r1, 0x14] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x20 - movs r2, 0x8 - adds r3, r5, 0 - bl sub_8013818 - bl sub_8032084 - bl DisplayAdventureLog - movs r0, 0x1 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08031FD0: .4byte gUnknown_203B338 -_08031FD4: .4byte gUnknown_80E2008 - thumb_func_end CreateAdventureLogScreen - - thumb_func_start HandleAdventureLogInput -HandleAdventureLogInput: - push {r4,lr} - lsls r0, 24 - cmp r0, 0 - bne _08031FF0 - ldr r0, _08031FEC - ldr r0, [r0] - bl sub_8013660 - movs r0, 0 - b _08032034 - .align 2, 0 -_08031FEC: .4byte gUnknown_203B338 -_08031FF0: - ldr r4, _0803200C - ldr r0, [r4] - bl GetKeyPress - cmp r0, 0x1 - beq _08032010 - cmp r0, 0x2 - bne _0803201A - movs r0, 0x1 - bl PlayMenuSoundEffect - movs r0, 0x2 - b _08032034 - .align 2, 0 -_0803200C: .4byte gUnknown_203B338 -_08032010: - movs r0, 0 - bl PlayMenuSoundEffect - movs r0, 0x3 - b _08032034 -_0803201A: - ldr r0, [r4] - bl sub_8013938 - lsls r0, 24 - cmp r0, 0 - bne _0803202A - movs r0, 0 - b _08032034 -_0803202A: - bl sub_8032084 - bl DisplayAdventureLog - movs r0, 0x1 -_08032034: - pop {r4} - pop {r1} - bx r1 - thumb_func_end HandleAdventureLogInput - - thumb_func_start sub_803203C -sub_803203C: - push {r4,r5,lr} - ldr r4, _0803207C - ldr r2, [r4] - cmp r2, 0 - beq _08032076 - ldr r0, [r2, 0x34] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x3C - ldr r0, _08032080 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08032076: - pop {r4,r5} - pop {r0} - bx r0 + bl sub_8014248 + b _08028AF2 .align 2, 0 -_0803207C: .4byte gUnknown_203B338 -_08032080: .4byte gUnknown_80E1FF0 - thumb_func_end sub_803203C - - thumb_func_start sub_8032084 -sub_8032084: - push {r4,lr} - ldr r4, _080320F4 - ldr r0, [r4] - ldrh r1, [r0, 0x20] - adds r0, 0x9C - movs r2, 0 - strb r1, [r0] - ldr r0, [r4] - ldrh r1, [r0, 0x1E] - adds r0, 0x9D - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9E - movs r1, 0xB - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x9F - strb r2, [r0] - ldr r0, [r4] - movs r1, 0x1A - ldrsh r0, [r0, r1] - movs r1, 0xC - bl sub_80095E4 - adds r0, 0x2 - lsls r0, 16 - ldr r2, [r4] - ldr r3, [r2, 0x34] - lsls r1, r3, 1 - adds r1, r3 +_08028AD8: .4byte gUnknown_80DE918 +_08028ADC: .4byte gUnknown_80DD970 +_08028AE0: + ldr r0, _08028AFC + ldr r2, [r6] + movs r1, 0x84 lsls r1, 3 - adds r1, r2, r1 - adds r1, 0x4A - asrs r3, r0, 16 - lsrs r0, 16 - strh r0, [r1] - ldr r1, [r2, 0x34] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - adds r2, r0 - adds r3, 0x2 - adds r2, 0x4C - strh r3, [r2] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x3C - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080320F4: .4byte gUnknown_203B338 - thumb_func_end sub_8032084 - - thumb_func_start DisplayAdventureLog -DisplayAdventureLog: - push {r4-r7,lr} - sub sp, 0x8 - ldr r5, _08032158 - ldr r0, [r5] - ldr r0, [r0, 0x34] - bl sub_8008C54 - ldr r0, [r5] - ldr r0, [r0, 0x34] - bl sub_80073B8 - ldr r0, [r5] - movs r1, 0x1E - ldrsh r4, [r0, r1] - lsls r4, 3 - adds r6, r4, 0 - adds r6, 0xA - ldr r2, _0803215C - ldr r3, [r0, 0x34] - movs r0, 0 - str r0, [sp] - adds r0, r6, 0 - movs r1, 0 - bl xxx_call_draw_string - adds r4, 0x4 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x9E - ldrb r0, [r0] - lsls r0, 3 - adds r6, r4, r0 - movs r0, 0x1E - ldrsh r2, [r1, r0] - adds r2, 0x1 - movs r0, 0x7 - str r0, [sp] - ldr r0, [r1, 0x34] - str r0, [sp, 0x4] - adds r0, r6, 0 + adds r2, r1 + ldr r3, _08028B00 movs r1, 0 - movs r3, 0x1 - bl sub_8012BC4 - movs r7, 0 - ldr r0, [r5] - b _0803223A - .align 2, 0 -_08032158: .4byte gUnknown_203B338 -_0803215C: .4byte gUnknown_80E2020 -_08032160: - ldr r5, _08032194 - ldr r0, [r5] - movs r2, 0x1E - ldrsh r1, [r0, r2] - movs r2, 0x1C - ldrsh r0, [r0, r2] - muls r0, r1 - adds r0, r7 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r6, 0 - bl sub_8097710 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0803221C - subs r0, r6, 0x7 - cmp r0, 0x5 - bhi _080321EC - lsls r0, 2 - ldr r1, _08032198 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08032194: .4byte gUnknown_203B338 -_08032198: .4byte _0803219C - .align 2, 0 -_0803219C: - .4byte _080321BA - .4byte _080321C6 - .4byte _080321D4 - .4byte _080321E0 - .4byte _080321C0 - .4byte _080321B4 -_080321B4: - bl sub_80978B8 - b _080321E4 -_080321BA: - bl sub_8097880 - b _080321E4 -_080321C0: - bl sub_8097838 - b _080321E4 -_080321C6: - bl sub_80977B8 - ldr r1, _080321D0 - b _080321EA - .align 2, 0 -_080321D0: .4byte gUnknown_202DE30 -_080321D4: - bl sub_80977F8 - ldr r1, _080321DC - b _080321EA - .align 2, 0 -_080321DC: .4byte gUnknown_202DE30 -_080321E0: - bl sub_8097870 -_080321E4: - ldr r1, _08032214 - lsls r0, 16 - asrs r0, 16 -_080321EA: - str r0, [r1] -_080321EC: - ldr r4, _08032218 - ldr r0, [r4] - adds r1, r7, 0 - bl sub_8013800 - adds r5, r0, 0 - adds r0, r6, 0 - bl GetAdventureLogLine - adds r2, r0, 0 - ldr r0, [r4] - ldr r3, [r0, 0x34] - movs r0, 0 - str r0, [sp] - movs r0, 0x8 - adds r1, r5, 0 - bl sub_8014FF0 - b _08032234 - .align 2, 0 -_08032214: .4byte gUnknown_202DE30 -_08032218: .4byte gUnknown_203B338 -_0803221C: - ldr r0, [r5] - adds r1, r7, 0 - bl sub_8013800 - adds r1, r0, 0 - ldr r2, _08032254 - ldr r0, [r5] - ldr r3, [r0, 0x34] - str r4, [sp] - movs r0, 0x8 - bl xxx_call_draw_string -_08032234: - adds r7, 0x1 - ldr r0, _08032258 - ldr r0, [r0] -_0803223A: - movs r1, 0x1A - ldrsh r0, [r0, r1] - cmp r7, r0 - blt _08032160 - ldr r0, _08032258 - ldr r0, [r0] - ldr r0, [r0, 0x34] - bl sub_80073E0 - add sp, 0x8 - pop {r4-r7} + bl sub_80141B4 +_08028AF2: + add sp, 0x14 + pop {r4-r6} pop {r0} bx r0 .align 2, 0 -_08032254: .4byte gUnknown_80E2030 -_08032258: .4byte gUnknown_203B338 - thumb_func_end DisplayAdventureLog +_08028AFC: .4byte gUnknown_80DE93C +_08028B00: .4byte 0x0000010d + thumb_func_end sub_8028348 .align 2,0 |