From 7b142311a7294c4c7a943870fa5f24f0fbea604a Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Fri, 12 Mar 2021 15:39:07 -0600 Subject: Miscellaneous Work (Again) (#30) * work on debug menu and document that and main menu * split, decomp, label more funcs * split exclusive pokemon data out into C * macro-ize exlusive pokemon data * decomp 2 more funcs * decomp a few more * finally match PromptNewQuestion * woot 7% aka more debug menu stuff --- asm/code_8012A18.s | 220 +- asm/code_801D760.s | 96 +- asm/code_803B050.s | 8 +- asm/code_808EAB0.s | 198 - asm/code_809017C.s | 469 +-- asm/code_8097F40.s | 692 ---- asm/code_80983D8.s | 63 + asm/code_8098BDC.s | 16 +- asm/debug_menu.s | 331 -- asm/event_flag.s | 36 - asm/exclusive_pokemon.s | 606 +++ asm/friend_rescue.s | 5206 ++++++++++++++++++++++++++ asm/main_menu.s | 8643 ------------------------------------------- asm/main_menu_1.s | 7318 ++++++++++++++++++++++++++++++++++++ asm/wonder_mail.s | 6010 +----------------------------- asm/wonder_mail_main_menu.s | 1163 ++++++ 16 files changed, 14518 insertions(+), 16557 deletions(-) delete mode 100644 asm/code_8097F40.s create mode 100644 asm/code_80983D8.s create mode 100644 asm/exclusive_pokemon.s create mode 100644 asm/friend_rescue.s create mode 100644 asm/main_menu_1.s create mode 100644 asm/wonder_mail_main_menu.s (limited to 'asm') diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s index 6b3198e..e0de48b 100644 --- a/asm/code_8012A18.s +++ b/asm/code_8012A18.s @@ -605,7 +605,7 @@ _08013018: cmp r7, r0 beq _08013094 movs r0, 0x3 - bl sub_80119D4 + bl PlayMenuSoundEffect b _08013094 _08013028: adds r0, r5, 0 @@ -642,11 +642,11 @@ _0801304C: bne _08013070 _08013068: movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _08013094 _08013070: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect b _08013094 _08013078: movs r1, 0x2E @@ -661,7 +661,7 @@ _08013078: movs r0, 0 strb r0, [r6] movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect _08013094: adds r0, r4, 0 bl sub_8012EBC @@ -702,7 +702,7 @@ _080130CA: movs r0, 0 strb r0, [r6] strh r0, [r4, 0x38] - bl sub_80119D4 + bl PlayMenuSoundEffect b _08013100 _080130E6: movs r1, 0x2E @@ -716,7 +716,7 @@ _080130E6: str r0, [r4, 0x48] movs r0, 0 strb r0, [r6] - bl sub_80119D4 + bl PlayMenuSoundEffect _08013100: adds r0, r4, 0 bl sub_8012EBC @@ -1798,7 +1798,7 @@ _080138FE: cmp r6, r0 beq _0801391C movs r0, 0x3 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0801391C _0801390E: adds r0, r5, 0 @@ -1816,7 +1816,7 @@ _0801391C: b _08013930 _08013928: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x1 _08013930: pop {r4-r7} @@ -1858,7 +1858,7 @@ _0801396A: b _0801397E _08013976: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x1 _0801397E: pop {r4,r5} @@ -2237,12 +2237,12 @@ _08013C40: cmp r0, 0x2 bne _08013C60 movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _08013C62 _08013C56: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _08013C62 _08013C60: @@ -2402,7 +2402,7 @@ _08013D62: beq _08013D7C strb r5, [r4] movs r0, 0x3 - bl sub_80119D4 + bl PlayMenuSoundEffect adds r1, r6, 0 adds r1, 0x26 movs r0, 0x8 @@ -2475,7 +2475,7 @@ _08013DE4: ldr r0, [r0] adds r5, r2, r0 movs r0, 0x3 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, [r4, 0xC] cmp r5, r0 bgt _08013E3E @@ -2489,7 +2489,7 @@ _08013E10: bne _08013E22 _08013E18: movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0 b _08013E4C _08013E22: @@ -2502,7 +2502,7 @@ _08013E22: ldr r0, [r0] subs r5, r2, r0 movs r0, 0x3 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, [r4, 0x8] cmp r5, r0 bge _08013E48 @@ -5434,13 +5434,13 @@ _0801558C: _080155A8: strb r0, [r1, 0x1C] movs r0, 0x3 - bl sub_80119D4 + bl PlayMenuSoundEffect b _080155E2 .align 2, 0 _080155B4: .4byte gUnknown_203B1FC _080155B8: movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _080155E2 _080155C0: bl sub_801560C @@ -5454,7 +5454,7 @@ _080155C6: b _080155E4 _080155D4: movs r0, 0x3 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, _080155EC ldr r1, [r0] movs r0, 0x5 @@ -5529,7 +5529,7 @@ _08015648: _08015658: strb r1, [r5, 0x18] movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0 bl sub_8015A08 b _0801573E @@ -5557,7 +5557,7 @@ _0801567A: bne _080156D4 _08015696: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, _080156B8 ldr r2, [r0] movs r1, 0x9A @@ -5587,7 +5587,7 @@ _080156BC: bne _080156DC _080156D4: movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0801573E _080156DC: ldr r0, _08015728 @@ -5637,7 +5637,7 @@ _0801572C: strb r0, [r1, 0x1A] _08015730: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect bl sub_8015C1C bl sub_8015F84 _0801573E: @@ -5664,7 +5664,7 @@ sub_8015748: cmp r1, 0 bne _08015770 movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x1 b _080157CE .align 2, 0 @@ -5679,7 +5679,7 @@ _08015770: adds r0, r1 strb r3, [r0] movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect bl sub_8015C1C bl sub_8015F84 b _080157CC @@ -5709,7 +5709,7 @@ _080157B0: movs r1, 0 strb r1, [r0] movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect bl sub_8015C1C bl sub_8015F84 _080157CC: @@ -5947,7 +5947,7 @@ _08015988: beq _080159A0 strb r0, [r1, 0x1A] movs r0, 0x3 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r1, [r4] movs r0, 0x8 strb r0, [r1, 0x17] @@ -14650,7 +14650,7 @@ _08019F14: b _08019F88 _08019F1A: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _08019FAA _08019F24: @@ -14682,7 +14682,7 @@ _08019F24: cmp r0, r1 ble _08019F74 movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _08019F7A .align 2, 0 _08019F68: .4byte 0xff00ffff @@ -14690,13 +14690,13 @@ _08019F6C: .4byte 0xffff00ff _08019F70: .4byte gUnknown_203B460 _08019F74: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect _08019F7A: movs r0, 0x3 b _08019FAA _08019F7E: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _08019FAA _08019F88: @@ -15118,7 +15118,7 @@ _0801A2E0: b _0801A354 _0801A2E6: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0801A376 _0801A2F0: @@ -15150,7 +15150,7 @@ _0801A2F0: cmp r0, r1 ble _0801A340 movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0801A346 .align 2, 0 _0801A334: .4byte 0xff00ffff @@ -15158,13 +15158,13 @@ _0801A338: .4byte 0xffff00ff _0801A33C: .4byte gUnknown_203B460 _0801A340: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect _0801A346: movs r0, 0x3 b _0801A376 _0801A34A: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _0801A376 _0801A354: @@ -15651,7 +15651,7 @@ _0801A728: .4byte _0801A810 _0801A740: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0801A8A2 _0801A74A: @@ -15724,24 +15724,24 @@ _0801A7AC: bgt _0801A7F4 _0801A7E2: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0801A802 .align 2, 0 _0801A7EC: .4byte gUnknown_203B460 _0801A7F0: .4byte 0x0001869f _0801A7F4: movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0801A802 _0801A7FC: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect _0801A802: movs r0, 0x3 b _0801A8A2 _0801A806: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _0801A8A2 _0801A810: @@ -15766,7 +15766,7 @@ _0801A810: beq _0801A85C _0801A83A: movs r0, 0x6 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, [r4] adds r2, r0, 0x4 adds r2, r5 @@ -15782,7 +15782,7 @@ _0801A83A: _0801A858: .4byte gUnknown_203B224 _0801A85C: movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0801A87C _0801A864: ldr r0, _0801A894 @@ -15791,7 +15791,7 @@ _0801A864: cmp r0, 0x2 beq _0801A87C movs r0, 0x5 - bl sub_80119D4 + bl PlayMenuSoundEffect bl sub_801AEF8 bl sub_801A9E0 _0801A87C: @@ -17462,7 +17462,7 @@ _0801B540: _0801B558: .4byte gUnknown_203B230 _0801B55C: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r1, [r4] ldr r0, [r1, 0xC] cmp r0, 0 @@ -17478,7 +17478,7 @@ _0801B576: b _0801B58A _0801B57E: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 bl sub_801B46C _0801B58A: @@ -17524,7 +17524,7 @@ _0801B5B8: _0801B5D0: .4byte gUnknown_203B230 _0801B5D4: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, [r4] ldr r1, [r0, 0x8] adds r1, 0x1 @@ -17541,7 +17541,7 @@ _0801B5F0: b _0801B604 _0801B5F8: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 bl sub_801B46C _0801B604: @@ -19205,17 +19205,17 @@ _0801C340: b _0801C364 _0801C346: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0801C38A _0801C350: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0801C38A _0801C35A: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _0801C38A _0801C364: @@ -19815,7 +19815,7 @@ _0801C7F8: _0801C810: .4byte gUnknown_203B240 _0801C814: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r1, [r4] ldr r0, [r1, 0xC] cmp r0, 0 @@ -19831,7 +19831,7 @@ _0801C82E: b _0801C842 _0801C836: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 bl sub_801C6D0 _0801C842: @@ -19877,7 +19877,7 @@ _0801C870: _0801C888: .4byte gUnknown_203B240 _0801C88C: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, [r4] ldr r1, [r0, 0x8] adds r1, 0x1 @@ -19894,7 +19894,7 @@ _0801C8A8: b _0801C8BC _0801C8B0: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 bl sub_801C6D0 _0801C8BC: @@ -20096,12 +20096,12 @@ _0801CA50: .4byte _0801CA7C _0801CA68: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0801CB1E _0801CA72: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0801CB1E _0801CA7C: @@ -20130,7 +20130,7 @@ _0801CAAC: beq _0801CAE0 _0801CAB0: movs r0, 0x6 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, _0801CAD8 ldr r0, [r0] lsls r1, r5, 2 @@ -20151,11 +20151,11 @@ _0801CAD8: .4byte gUnknown_203B244 _0801CADC: .4byte 0x000004b4 _0801CAE0: movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0801CAF2 _0801CAE8: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _0801CB1E _0801CAF2: @@ -21649,108 +21649,4 @@ _0801D67A: bx r0 thumb_func_end sub_801D4C0 - thumb_func_start sub_801D680 -sub_801D680: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r4, _0801D6C0 - ldr r0, [r4] - adds r0, 0x18 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0801D6AC - ldr r0, [r4] - adds r0, 0x18 - mov r1, sp - bl sub_8013114 - ldr r1, [sp] - cmp r1, 0x1 - beq _0801D6AC - ldr r0, [r4] - str r1, [r0, 0x14] -_0801D6AC: - ldr r0, [sp] - subs r0, 0x1 - cmp r0, 0xA - bhi _0801D756 - lsls r0, 2 - ldr r1, _0801D6C4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0801D6C0: .4byte gUnknown_203B250 -_0801D6C4: .4byte _0801D6C8 - .align 2, 0 -_0801D6C8: - .4byte _0801D750 - .4byte _0801D6F4 - .4byte _0801D704 - .4byte _0801D6FC - .4byte _0801D70C - .4byte _0801D714 - .4byte _0801D71C - .4byte _0801D724 - .4byte _0801D72C - .4byte _0801D734 - .4byte _0801D748 -_0801D6F4: - movs r0, 0x3 - bl sub_801D208 - b _0801D756 -_0801D6FC: - movs r0, 0x6 - bl sub_801D208 - b _0801D756 -_0801D704: - movs r0, 0x4 - bl sub_801D208 - b _0801D756 -_0801D70C: - movs r0, 0x7 - bl sub_801D208 - b _0801D756 -_0801D714: - movs r0, 0x8 - bl sub_801D208 - b _0801D756 -_0801D71C: - movs r0, 0x9 - bl sub_801D208 - b _0801D756 -_0801D724: - movs r0, 0xA - bl sub_801D208 - b _0801D756 -_0801D72C: - movs r0, 0xB - bl sub_801D208 - b _0801D756 -_0801D734: - ldr r0, _0801D744 - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x9] - movs r0, 0x2 - bl sub_801D208 - b _0801D756 - .align 2, 0 -_0801D744: .4byte gUnknown_203B250 -_0801D748: - movs r0, 0xC - bl sub_801D208 - b _0801D756 -_0801D750: - movs r0, 0x2 - bl sub_801D208 -_0801D756: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_801D680 - .align 2, 0 @ Don't pad with nop. diff --git a/asm/code_801D760.s b/asm/code_801D760.s index 59f446e..6032d36 100644 --- a/asm/code_801D760.s +++ b/asm/code_801D760.s @@ -237,7 +237,7 @@ sub_801DA78: cmp r0, 0x2 bne _0801DA9C movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0801DAB8 .align 2, 0 @@ -1219,12 +1219,12 @@ _0801E22E: b _0801E294 _0801E238: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0801E2BE _0801E242: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0801E2BE _0801E24C: @@ -1266,7 +1266,7 @@ _0801E28A: strb r0, [r1, 0x8] _0801E28C: movs r0, 0x3 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r4, 0x1 _0801E294: ldr r0, _0801E2B8 @@ -1537,17 +1537,17 @@ _0801E4A8: b _0801E4CC _0801E4AE: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0801E4EE _0801E4B8: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0801E4EE _0801E4C2: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _0801E4EE _0801E4CC: @@ -1814,14 +1814,14 @@ sub_801E6CC: cmp r0, 0x2 bne _0801E6F6 movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0801E70C .align 2, 0 _0801E6E8: .4byte gUnknown_203B268 _0801E6EC: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0801E70C _0801E6F6: @@ -2940,17 +2940,17 @@ _0801EF78: .4byte _0801F018 _0801EFAC: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0801F18E _0801EFB6: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0801F18E _0801EFC0: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _0801F18E _0801EFCA: @@ -2988,7 +2988,7 @@ _0801EFF8: b _0801F12E _0801F00C: movs r0, 0x3 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0801F12E .align 2, 0 _0801F014: .4byte gUnknown_203B270 @@ -3014,7 +3014,7 @@ _0801F032: cmp r4, r0 beq _0801F06C movs r0, 0x3 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0801F182 .align 2, 0 _0801F048: .4byte gUnknown_203B270 @@ -3035,7 +3035,7 @@ _0801F04C: _0801F068: .4byte gUnknown_203B270 _0801F06C: movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0801F182 _0801F074: ldr r0, _0801F0C8 @@ -3065,7 +3065,7 @@ _0801F074: ldr r1, [r1, 0x10] bl sub_8093400 movs r0, 0x6 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r7, 0x1 ldr r1, [r5] ldrb r0, [r1, 0x4] @@ -3107,7 +3107,7 @@ _0801F0FE: cmp r0, 0 bne _0801F120 movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0801F12E .align 2, 0 _0801F10C: .4byte gUnknown_203B270 @@ -3121,11 +3121,11 @@ _0801F110: beq _0801F128 _0801F120: movs r0, 0x6 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0801F182 _0801F128: movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect _0801F12E: cmp r7, 0 bne _0801F182 @@ -3673,17 +3673,17 @@ _0801F560: b _0801F584 _0801F566: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0801F5AE _0801F570: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0801F5AE _0801F57A: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _0801F5AE _0801F584: @@ -4348,7 +4348,7 @@ _0801FA7C: _0801FAA4: .4byte gUnknown_203B278 _0801FAA8: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r1, [r4] ldr r0, [r1, 0x10] cmp r0, 0 @@ -4362,7 +4362,7 @@ _0801FABE: b _0801FACA _0801FAC2: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 _0801FACA: bl sub_801F918 @@ -4409,7 +4409,7 @@ _0801FAFC: _0801FB14: .4byte gUnknown_203B278 _0801FB18: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, [r4] ldr r1, [r0, 0xC] adds r1, 0x1 @@ -4426,7 +4426,7 @@ _0801FB34: b _0801FB48 _0801FB3C: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 bl sub_801F918 _0801FB48: @@ -6909,7 +6909,7 @@ _08020F60: .4byte gUnknown_203B27C _08020F64: .4byte 0x00000133 _08020F68: movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _08021068 _08020F70: ldr r0, _08020F84 @@ -6940,7 +6940,7 @@ _08020FA8: .4byte gUnknown_203B27C _08020FAC: .4byte 0x00000133 _08020FB0: movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _08021068 _08020FB8: ldr r0, _08020FD8 @@ -6952,7 +6952,7 @@ _08020FB8: cmp r0, 0x95 bgt _08020FDC movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 bl sub_801FDA8 b _080210BE @@ -6968,7 +6968,7 @@ _08020FDC: cmp r0, 0 bne _08021000 movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 bl sub_801FDA8 b _080210BE @@ -7008,7 +7008,7 @@ _08021034: cmp r0, 0 bne _08021058 movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x5 bl sub_801FDA8 b _080210BE @@ -7037,7 +7037,7 @@ _08021074: cmp r0, 0 bne _08021098 movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x6 bl sub_801FDA8 b _080210BE @@ -7319,7 +7319,7 @@ _080212AC: b _08021300 _080212B2: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _08021326 _080212BC: @@ -7340,19 +7340,19 @@ _080212BC: cmp r0, r1 ble _080212EC movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _080212F2 .align 2, 0 _080212E8: .4byte gUnknown_203B460 _080212EC: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect _080212F2: movs r0, 0x3 b _08021326 _080212F6: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _08021326 _08021300: @@ -8001,14 +8001,14 @@ sub_80217EC: cmp r0, 0x2 bne _0802181A movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0802181C .align 2, 0 _0802180C: .4byte gUnknown_203B28C _08021810: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0802181C _0802181A: @@ -11339,17 +11339,17 @@ _080232B8: b _080232EC _080232BE: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _08023316 _080232C8: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _08023316 _080232D2: movs r0, 0x5 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, [r4] ldr r1, [r0, 0x4] movs r2, 0x1 @@ -12367,22 +12367,22 @@ _08023AD4: b _08023B16 _08023ADE: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _08023B3E _08023AE8: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _08023B3E _08023AF2: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _08023B3E _08023AFC: movs r0, 0x5 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, [r4] ldr r1, [r0, 0x4] movs r2, 0x1 @@ -13710,14 +13710,14 @@ sub_80244E4: cmp r0, 0x2 bne _0802450E movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _08024524 .align 2, 0 _08024500: .4byte gUnknown_203B2AC _08024504: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _08024524 _0802450E: @@ -15148,7 +15148,7 @@ _080250A0: .4byte gUnknown_203B2B0 _080250A4: .4byte gUnknown_203B460 _080250A8: movs r0, 0x2 - bl sub_80119D4 + bl PlayMenuSoundEffect b _080250E6 _080250B0: bl sub_801A8AC diff --git a/asm/code_803B050.s b/asm/code_803B050.s index a3bd8bf..16a958f 100644 --- a/asm/code_803B050.s +++ b/asm/code_803B050.s @@ -118,7 +118,7 @@ sub_803B120: cmp r0, 0x2 bne _0803B144 movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0803B160 .align 2, 0 @@ -1206,8 +1206,8 @@ _0803B968: bx r0 thumb_func_end sub_803B6D4 - thumb_func_start sub_803B98C -sub_803B98C: + thumb_func_start CreateRescueDescription +CreateRescueDescription: push {r4-r7,lr} mov r7, r9 mov r6, r8 @@ -2055,7 +2055,7 @@ _0803C0C6: .align 2, 0 _0803C0D4: .4byte gUnknown_80E8C48 _0803C0D8: .4byte gUnknown_80E8B7C - thumb_func_end sub_803B98C + thumb_func_end CreateRescueDescription thumb_func_start sub_803C0DC sub_803C0DC: diff --git a/asm/code_808EAB0.s b/asm/code_808EAB0.s index 8838f83..b561623 100644 --- a/asm/code_808EAB0.s +++ b/asm/code_808EAB0.s @@ -5,204 +5,6 @@ .text - thumb_func_start sub_808EBA8 -sub_808EBA8: - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - mov r8, r1 - movs r6, 0 - movs r5, 0x1 -_0808EBB6: - lsls r0, r5, 24 - lsrs r4, r0, 24 - mov r0, r8 - adds r1, r4, 0 - bl sub_808EB7C - lsls r0, 24 - cmp r0, 0 - beq _0808EBCE - adds r0, r7, r6 - strb r4, [r0] - adds r6, 0x1 -_0808EBCE: - adds r5, 0x1 - cmp r5, 0x17 - ble _0808EBB6 - adds r1, r6, 0 - cmp r6, 0x17 - bgt _0808EBE6 - movs r2, 0 -_0808EBDC: - adds r0, r7, r1 - strb r2, [r0] - adds r1, 0x1 - cmp r1, 0x17 - ble _0808EBDC -_0808EBE6: - adds r0, r6, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_808EBA8 - - thumb_func_start sub_808EBF4 -sub_808EBF4: - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - movs r5, 0x1 - lsls r5, r6 - adds r1, r5, 0 - bl sub_808ECD0 - lsls r0, 24 - cmp r0, 0 - beq _0808EC22 - ldrb r0, [r4] - bics r0, r5 - strb r0, [r4] - asrs r1, r5, 8 - ldrb r0, [r4, 0x1] - bics r0, r1 - strb r0, [r4, 0x1] - asrs r1, r5, 16 - ldrb r0, [r4, 0x2] - bics r0, r1 - strb r0, [r4, 0x2] - b _0808EC2A -_0808EC22: - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_808EC30 -_0808EC2A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_808EBF4 - - thumb_func_start sub_808EC30 -sub_808EC30: - push {r4-r7,lr} - adds r3, r0, 0 - adds r7, r1, 0 - movs r4, 0 - ldr r1, _0808EC90 - lsls r0, r7, 2 - adds r0, r1 - ldr r6, [r0] - adds r5, r1, 0 - movs r0, 0x1 - mov r12, r0 -_0808EC46: - ldr r0, [r5] - cmp r6, r0 - bne _0808EC66 - mov r1, r12 - lsls r1, r4 - ldrb r0, [r3] - bics r0, r1 - strb r0, [r3] - asrs r2, r1, 8 - ldrb r0, [r3, 0x1] - bics r0, r2 - strb r0, [r3, 0x1] - asrs r1, 16 - ldrb r0, [r3, 0x2] - bics r0, r1 - strb r0, [r3, 0x2] -_0808EC66: - adds r5, 0x4 - adds r4, 0x1 - cmp r4, 0x17 - ble _0808EC46 - movs r1, 0x1 - lsls r1, r7 - ldrb r2, [r3] - adds r0, r1, 0 - orrs r0, r2 - strb r0, [r3] - asrs r0, r1, 8 - ldrb r2, [r3, 0x1] - orrs r0, r2 - strb r0, [r3, 0x1] - asrs r1, 16 - ldrb r0, [r3, 0x2] - orrs r1, r0 - strb r1, [r3, 0x2] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0808EC90: .4byte gUnknown_81076E4 - thumb_func_end sub_808EC30 - - thumb_func_start sub_808EC94 -sub_808EC94: - push {r4,r5,lr} - adds r5, r0, 0 - lsls r4, r1, 24 - lsrs r4, 24 - movs r0, 0 - strb r0, [r5] - strb r0, [r5, 0x1] - strb r0, [r5, 0x2] - adds r0, r5, 0 - movs r1, 0x2 - bl sub_808EC30 - adds r0, r5, 0 - movs r1, 0x3 - bl sub_808EC30 - adds r0, r5, 0 - movs r1, 0x16 - bl sub_808EC30 - cmp r4, 0 - beq _0808ECC8 - adds r0, r5, 0 - movs r1, 0x12 - bl sub_808EC30 -_0808ECC8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_808EC94 - - thumb_func_start sub_808ECD0 -sub_808ECD0: - push {lr} - adds r2, r0, 0 - adds r3, r1, 0 - ldrb r0, [r2] - ands r0, r3 - cmp r0, 0 - bne _0808ECF6 - ldrb r0, [r2, 0x1] - lsrs r1, r3, 8 - ands r0, r1 - cmp r0, 0 - bne _0808ECF6 - ldrb r0, [r2, 0x2] - lsrs r1, r3, 16 - ands r0, r1 - cmp r0, 0 - bne _0808ECF6 - movs r0, 0 - b _0808ECF8 -_0808ECF6: - movs r0, 0x1 -_0808ECF8: - pop {r1} - bx r1 - thumb_func_end sub_808ECD0 - - thumb_func_start sub_808ECFC -sub_808ECFC: - movs r0, 0 - bx lr - thumb_func_end sub_808ECFC - thumb_func_start sub_808ED00 sub_808ED00: push {r4-r7,lr} diff --git a/asm/code_809017C.s b/asm/code_809017C.s index 7a79b2c..5ea4cef 100644 --- a/asm/code_809017C.s +++ b/asm/code_809017C.s @@ -1077,8 +1077,8 @@ _0809098C: _08090994: .4byte gUnknown_810A350 thumb_func_end sub_809095C - thumb_func_start sub_8090998 -sub_8090998: + thumb_func_start LoadItemParameters +LoadItemParameters: push {lr} ldr r1, _080909B8 ldr r0, _080909BC @@ -1100,7 +1100,7 @@ _080909C0: .4byte gUnknown_8109764 _080909C4: .4byte gSystemFileArchive _080909C8: .4byte gItemParametersFile _080909CC: .4byte gItemParametersFile + 4 - thumb_func_end sub_8090998 + thumb_func_end LoadItemParameters thumb_func_start sub_80909D0 sub_80909D0: @@ -4238,467 +4238,4 @@ _08092038: .4byte gUnknown_203B460 _0809203C: .4byte gUnknown_203B45C thumb_func_end sub_8091FB4 - thumb_func_start sub_8092040 -sub_8092040: - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xEF - bls _0809204E -_0809204A: - movs r0, 0x1 - b _08092070 -_0809204E: - movs r2, 0 - ldr r0, _08092078 - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0xF0 - beq _0809206E - adds r1, r4, 0 -_0809205C: - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, r3 - beq _0809204A - adds r2, 0x1 - adds r0, r2, r4 - ldrb r0, [r0] - cmp r0, 0xF0 - bne _0809205C -_0809206E: - movs r0, 0 -_08092070: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08092078: .4byte gUnknown_810A35B - thumb_func_end sub_8092040 - - thumb_func_start sub_809207C -sub_809207C: - ldr r1, _08092084 - ldr r0, _08092088 - str r0, [r1] - bx lr - .align 2, 0 -_08092084: .4byte gUnknown_203B464 -_08092088: .4byte gUnknown_2038C10 - thumb_func_end sub_809207C - - thumb_func_start sub_809208C -sub_809208C: - ldr r0, _08092090 - bx lr - .align 2, 0 -_08092090: .4byte gUnknown_2038C10 - thumb_func_end sub_809208C - - thumb_func_start sub_8092094 -sub_8092094: - push {r4,lr} - ldr r4, _080920B0 - ldr r0, [r4] - ldr r1, _080920B4 - movs r2, 0xA - bl BoundedCopyStringtoBuffer - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0xC] - strb r0, [r1, 0x10] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080920B0: .4byte gUnknown_203B464 -_080920B4: .4byte gUnknown_810982C - thumb_func_end sub_8092094 - - thumb_func_start sub_80920B8 -sub_80920B8: - push {lr} - adds r2, r0, 0 - movs r1, 0 - ldr r0, _080920D4 - ldr r3, [r0] -_080920C2: - adds r0, r3, r1 - ldrb r0, [r0] - strb r0, [r2] - adds r2, 0x1 - adds r1, 0x1 - cmp r1, 0x9 - ble _080920C2 - pop {r0} - bx r0 - .align 2, 0 -_080920D4: .4byte gUnknown_203B464 - thumb_func_end sub_80920B8 - - thumb_func_start sub_80920D8 -sub_80920D8: - push {lr} - ldr r1, _080920E8 - ldr r1, [r1] - movs r2, 0xA - bl sub_80922B4 - pop {r0} - bx r0 - .align 2, 0 -_080920E8: .4byte gUnknown_203B464 - thumb_func_end sub_80920D8 - - thumb_func_start sub_80920EC -sub_80920EC: - push {r4,lr} - adds r3, r0, 0 - movs r2, 0 - ldr r4, _0809210C -_080920F4: - ldr r0, [r4] - adds r0, r2 - ldrb r1, [r3] - strb r1, [r0] - adds r3, 0x1 - adds r2, 0x1 - cmp r2, 0x9 - ble _080920F4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809210C: .4byte gUnknown_203B464 - thumb_func_end sub_80920EC - - thumb_func_start sub_8092110 -sub_8092110: - ldr r0, _08092118 - ldr r0, [r0] - ldr r0, [r0, 0xC] - bx lr - .align 2, 0 -_08092118: .4byte gUnknown_203B464 - thumb_func_end sub_8092110 - - thumb_func_start sub_809211C -sub_809211C: - push {lr} - bl sub_8092178 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - beq _08092144 - ldr r1, _0809213C - lsls r0, 2 - adds r0, r1 - ldr r1, _08092140 - ldr r1, [r1] - ldr r0, [r0] - ldr r1, [r1, 0xC] - subs r0, r1 - b _08092146 - .align 2, 0 -_0809213C: .4byte gUnknown_8109810 -_08092140: .4byte gUnknown_203B464 -_08092144: - movs r0, 0 -_08092146: - pop {r1} - bx r1 - thumb_func_end sub_809211C - - thumb_func_start sub_809214C -sub_809214C: - ldr r1, _08092154 - ldr r1, [r1] - str r0, [r1, 0xC] - bx lr - .align 2, 0 -_08092154: .4byte gUnknown_203B464 - thumb_func_end sub_809214C - - thumb_func_start sub_8092158 -sub_8092158: - push {lr} - ldr r1, _08092170 - ldr r2, [r1] - ldr r1, [r2, 0xC] - adds r1, r0 - str r1, [r2, 0xC] - ldr r0, _08092174 - cmp r1, r0 - ble _0809216C - str r0, [r2, 0xC] -_0809216C: - pop {r0} - bx r0 - .align 2, 0 -_08092170: .4byte gUnknown_203B464 -_08092174: .4byte 0x05f5e0ff - thumb_func_end sub_8092158 - - thumb_func_start sub_8092178 -sub_8092178: - push {lr} - movs r1, 0 - ldr r0, _08092190 - ldr r0, [r0] - ldr r3, [r0, 0xC] - ldr r2, _08092194 -_08092184: - ldr r0, [r2] - cmp r3, r0 - bge _08092198 - lsls r0, r1, 24 - lsrs r0, 24 - b _080921A2 - .align 2, 0 -_08092190: .4byte gUnknown_203B464 -_08092194: .4byte gUnknown_8109810 -_08092198: - adds r2, 0x4 - adds r1, 0x1 - cmp r1, 0x6 - ble _08092184 - movs r0, 0x6 -_080921A2: - pop {r1} - bx r1 - thumb_func_end sub_8092178 - - thumb_func_start GetTeamRankString -GetTeamRankString: - lsls r0, 24 - ldr r1, _080921B4 - lsrs r0, 22 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_080921B4: .4byte gRescueTeamRanks - thumb_func_end GetTeamRankString - - thumb_func_start sub_80921B8 -sub_80921B8: - ldr r0, _080921C0 - ldr r0, [r0] - ldrb r0, [r0, 0x10] - bx lr - .align 2, 0 -_080921C0: .4byte gUnknown_203B464 - thumb_func_end sub_80921B8 - - thumb_func_start sub_80921C4 -sub_80921C4: - push {r4-r6,lr} - sub sp, 0x14 - adds r3, r0, 0 - adds r2, r1, 0 - add r6, sp, 0x10 - movs r0, 0xFF - strb r0, [r6] - mov r5, sp - adds r5, 0x11 - movs r0, 0 - strb r0, [r5] - mov r0, sp - adds r1, r3, 0 - bl sub_809486C - ldr r4, _08092228 - ldr r1, [r4] - mov r0, sp - movs r2, 0x58 - bl sub_809488C - ldr r1, [r4] - adds r1, 0xC - mov r0, sp - movs r2, 0x20 - bl sub_809488C - movs r0, 0 - bl sub_80023E4 - ldr r1, [r4] - strb r0, [r1, 0x10] - ldr r0, [r4] - ldrb r0, [r0, 0x10] - adds r1, r5, 0 - cmp r0, 0 - beq _08092210 - adds r1, r6, 0 -_08092210: - mov r0, sp - movs r2, 0x1 - bl sub_809488C - mov r0, sp - bl nullsub_102 - ldr r0, [sp, 0x8] - add sp, 0x14 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08092228: .4byte gUnknown_203B464 - thumb_func_end sub_80921C4 - - thumb_func_start sub_809222C -sub_809222C: - push {r4,r5,lr} - sub sp, 0x14 - adds r3, r0, 0 - adds r2, r1, 0 - mov r0, sp - adds r1, r3, 0 - bl sub_809485C - ldr r5, _0809227C - ldr r1, [r5] - mov r0, sp - movs r2, 0x58 - bl sub_8094924 - ldr r1, [r5] - adds r1, 0xC - mov r0, sp - movs r2, 0x20 - bl sub_8094924 - add r4, sp, 0x10 - mov r0, sp - adds r1, r4, 0 - movs r2, 0x1 - bl sub_8094924 - ldr r2, [r5] - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - strb r0, [r2, 0x10] - mov r0, sp - bl nullsub_102 - ldr r0, [sp, 0x8] - add sp, 0x14 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809227C: .4byte gUnknown_203B464 - thumb_func_end sub_809222C - - thumb_func_start ReturnIntFromChar -ReturnIntFromChar: - lsls r0, 24 - lsrs r0, 24 - bx lr - thumb_func_end ReturnIntFromChar - - thumb_func_start ReturnIntFromChar2 -ReturnIntFromChar2: - lsls r0, 24 - lsrs r0, 24 - bx lr - thumb_func_end ReturnIntFromChar2 - - thumb_func_start sub_8092290 -sub_8092290: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - b _080922A4 -_08092298: - ldrb r0, [r4] - adds r4, 0x1 - bl ReturnIntFromChar2 - strb r0, [r5] - adds r5, 0x1 -_080922A4: - ldrb r0, [r4] - cmp r0, 0 - bne _08092298 - movs r0, 0 - strb r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8092290 - - thumb_func_start sub_80922B4 -sub_80922B4: - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - b _080922CA -_080922BE: - ldrb r0, [r4] - adds r4, 0x1 - bl ReturnIntFromChar2 - strb r0, [r6] - adds r6, 0x1 -_080922CA: - adds r0, r5, 0 - subs r5, 0x1 - cmp r0, 0 - ble _080922D8 - ldrb r0, [r4] - cmp r0, 0 - bne _080922BE -_080922D8: - movs r0, 0 - strb r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80922B4 - - thumb_func_start sub_80922E4 -sub_80922E4: - ldr r1, _080922F0 - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bx lr - .align 2, 0 -_080922F0: .4byte gUnknown_810983C - thumb_func_end sub_80922E4 - - thumb_func_start CopyStringtoBuffer -CopyStringtoBuffer: - push {lr} - adds r2, r0, 0 - b _08092300 -_080922FA: - strb r0, [r2] - adds r1, 0x1 - adds r2, 0x1 -_08092300: - ldrb r0, [r1] - cmp r0, 0 - bne _080922FA - movs r0, 0 - strb r0, [r2] - pop {r0} - bx r0 - thumb_func_end CopyStringtoBuffer - - thumb_func_start BoundedCopyStringtoBuffer -BoundedCopyStringtoBuffer: - push {r4,lr} - adds r4, r0, 0 - b _0809231C -_08092316: - strb r0, [r4] - adds r4, 0x1 - adds r1, 0x1 -_0809231C: - adds r0, r2, 0 - subs r2, 0x1 - cmp r0, 0 - ble _0809232E - ldrb r0, [r1] - adds r3, r0, 0 - cmp r3, 0 - bne _08092316 - strb r3, [r4] -_0809232E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end BoundedCopyStringtoBuffer - .align 2, 0 @ Don't pad with nop. diff --git a/asm/code_8097F40.s b/asm/code_8097F40.s deleted file mode 100644 index 6392ba9..0000000 --- a/asm/code_8097F40.s +++ /dev/null @@ -1,692 +0,0 @@ - .include "constants/gba_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8097FA8 -sub_8097FA8: - lsls r0, 24 - ldr r1, _08097FCC - ldr r3, [r1] - lsrs r1, r0, 29 - lsls r1, 2 - adds r3, 0x48 - adds r3, r1 - movs r1, 0xF8 - lsls r1, 21 - ands r1, r0 - lsrs r1, 24 - movs r2, 0x1 - lsls r2, r1 - ldr r0, [r3] - orrs r0, r2 - str r0, [r3] - bx lr - .align 2, 0 -_08097FCC: .4byte gUnknown_203B498 - thumb_func_end sub_8097FA8 - - thumb_func_start sub_8097FD0 -sub_8097FD0: - lsls r0, 24 - ldr r1, _08097FF4 - ldr r3, [r1] - lsrs r1, r0, 29 - lsls r1, 2 - adds r3, 0x3C - adds r3, r1 - movs r1, 0xF8 - lsls r1, 21 - ands r1, r0 - lsrs r1, 24 - movs r2, 0x1 - lsls r2, r1 - ldr r0, [r3] - orrs r0, r2 - str r0, [r3] - bx lr - .align 2, 0 -_08097FF4: .4byte gUnknown_203B498 - thumb_func_end sub_8097FD0 - - thumb_func_start sub_8097FF8 -sub_8097FF8: - push {r4-r7,lr} - movs r4, 0 - ldr r6, _08098040 - movs r7, 0x1 -_08098000: - ldr r5, [r6] - adds r0, r4, 0 - cmp r4, 0 - bge _0809800A - adds r0, 0x1F -_0809800A: - asrs r0, 5 - lsls r3, r0, 2 - adds r1, r5, 0 - adds r1, 0x48 - adds r1, r3 - lsls r0, 5 - subs r0, r4, r0 - adds r2, r7, 0 - lsls r2, r0 - ldr r0, [r1] - ands r0, r2 - cmp r0, 0 - beq _08098030 - adds r1, r5, 0 - adds r1, 0x3C - adds r1, r3 - ldr r0, [r1] - orrs r0, r2 - str r0, [r1] -_08098030: - adds r4, 0x1 - cmp r4, 0x3F - ble _08098000 - bl sub_8098080 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08098040: .4byte gUnknown_203B498 - thumb_func_end sub_8097FF8 - - thumb_func_start sub_8098044 -sub_8098044: - push {r4,r5,lr} - lsls r0, 24 - ldr r1, _0809807C - ldr r3, [r1] - lsrs r5, r0, 29 - lsls r5, 2 - adds r4, r3, 0 - adds r4, 0x3C - adds r4, r5 - movs r1, 0xF8 - lsls r1, 21 - ands r1, r0 - lsrs r1, 24 - movs r2, 0x1 - lsls r2, r1 - mvns r2, r2 - ldr r0, [r4] - ands r0, r2 - str r0, [r4] - adds r3, 0x48 - adds r3, r5 - ldr r0, [r3] - ands r0, r2 - str r0, [r3] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809807C: .4byte gUnknown_203B498 - thumb_func_end sub_8098044 - - thumb_func_start sub_8098080 -sub_8098080: - push {r4,lr} - movs r2, 0 - ldr r4, _080980A0 - movs r3, 0 -_08098088: - ldr r0, [r4] - lsls r1, r2, 2 - adds r0, 0x48 - adds r0, r1 - str r3, [r0] - adds r2, 0x1 - cmp r2, 0x2 - ble _08098088 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080980A0: .4byte gUnknown_203B498 - thumb_func_end sub_8098080 - - thumb_func_start sub_80980A4 -sub_80980A4: - ldr r0, _080980B0 - ldr r2, [r0] - ldrb r0, [r2] - movs r1, 0x1 - strb r1, [r2] - bx lr - .align 2, 0 -_080980B0: .4byte gUnknown_203B498 - thumb_func_end sub_80980A4 - - thumb_func_start sub_80980B4 -sub_80980B4: - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - adds r3, r1, 0 - ldr r0, _080980F8 - cmp r1, r0 - beq _080980F4 - adds r0, 0x1 - cmp r1, r0 - beq _080980F4 - adds r0, 0x1 - cmp r1, r0 - beq _080980F4 - ldr r0, _080980FC - ldr r2, [r0] - adds r0, r1, 0 - cmp r1, 0 - bge _080980DA - adds r0, 0x1F -_080980DA: - asrs r0, 5 - lsls r1, r0, 2 - adds r2, 0x4 - adds r2, r1 - lsls r0, 5 - subs r0, r3, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] -_080980F4: - pop {r0} - bx r0 - .align 2, 0 -_080980F8: .4byte 0x000001a5 -_080980FC: .4byte gUnknown_203B498 - thumb_func_end sub_80980B4 - - thumb_func_start sub_8098100 -sub_8098100: - push {lr} - lsls r1, r0, 24 - lsrs r3, r1, 24 - cmp r3, 0x3F - bls _0809810E - movs r0, 0 - b _0809812C -_0809810E: - ldr r0, _08098130 - ldr r2, [r0] - lsrs r0, r1, 29 - lsls r0, 2 - adds r2, 0x3C - adds r2, r0 - movs r0, 0x1F - ands r0, r3 - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - ands r0, r1 - cmp r0, 0 - beq _0809812C - movs r0, 0x1 -_0809812C: - pop {r1} - bx r1 - .align 2, 0 -_08098130: .4byte gUnknown_203B498 - thumb_func_end sub_8098100 - - thumb_func_start sub_8098134 -sub_8098134: - push {lr} - lsls r0, 16 - asrs r1, r0, 16 - adds r3, r1, 0 - ldr r0, _0809816C - ldr r2, [r0] - adds r0, r1, 0 - cmp r1, 0 - bge _08098148 - adds r0, 0x1F -_08098148: - asrs r0, 5 - lsls r1, r0, 2 - adds r2, 0x4 - adds r2, r1 - lsls r0, 5 - subs r0, r3, r0 - lsls r0, 16 - asrs r0, 16 - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - ands r0, r1 - cmp r0, 0 - beq _08098166 - movs r0, 0x1 -_08098166: - pop {r1} - bx r1 - .align 2, 0 -_0809816C: .4byte gUnknown_203B498 - thumb_func_end sub_8098134 - - thumb_func_start sub_8098170 -sub_8098170: - push {lr} - adds r3, r0, 0 - ldr r0, _0809819C - ldr r2, [r0] - adds r0, r3, 0 - cmp r3, 0 - bge _08098180 - adds r0, 0x1F -_08098180: - asrs r0, 5 - lsls r1, r0, 2 - adds r2, 0x54 - adds r2, r1 - lsls r0, 5 - subs r0, r3, r0 - movs r1, 0x1 - lsls r1, r0 - ldr r0, [r2] - orrs r0, r1 - str r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_0809819C: .4byte gUnknown_203B498 - thumb_func_end sub_8098170 - - thumb_func_start sub_80981A0 -sub_80981A0: - push {lr} - adds r3, r0, 0 - cmp r3, 0x1E - ble _080981AC - movs r0, 0 - b _080981D4 -_080981AC: - ldr r0, _080981D8 - ldr r2, [r0] - adds r1, r3, 0 - cmp r3, 0 - bge _080981B8 - adds r1, 0x1F -_080981B8: - asrs r1, 5 - lsls r0, r1, 2 - adds r2, 0x54 - adds r2, r0 - lsls r1, 5 - subs r1, r3, r1 - movs r0, 0x1 - lsls r0, r1 - ldr r2, [r2] - ands r2, r0 - cmp r2, 0 - beq _080981D2 - movs r2, 0x1 -_080981D2: - adds r0, r2, 0 -_080981D4: - pop {r1} - bx r1 - .align 2, 0 -_080981D8: .4byte gUnknown_203B498 - thumb_func_end sub_80981A0 - - thumb_func_start sub_80981DC -sub_80981DC: - push {r4,r5,lr} - lsls r0, 16 - asrs r3, r0, 16 - movs r1, 0 - ldr r4, _080981FC - ldr r2, _08098200 -_080981E8: - movs r5, 0 - ldrsh r0, [r2, r5] - cmp r0, r3 - bne _08098204 - ldr r0, [r4] - adds r0, 0x58 - adds r0, r1 - ldrb r0, [r0] - b _0809820E - .align 2, 0 -_080981FC: .4byte gUnknown_203B498 -_08098200: .4byte gExclusivePokemon -_08098204: - adds r2, 0x4 - adds r1, 0x1 - cmp r1, 0xB - ble _080981E8 - movs r0, 0x1 -_0809820E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80981DC - - thumb_func_start sub_8098214 -sub_8098214: - push {r4-r6,lr} - lsls r0, 16 - asrs r3, r0, 16 - movs r1, 0 - ldr r5, _08098240 - movs r4, 0x1 - ldr r2, _08098244 -_08098222: - movs r6, 0 - ldrsh r0, [r2, r6] - cmp r0, r3 - bne _08098232 - ldr r0, [r5] - adds r0, 0x58 - adds r0, r1 - strb r4, [r0] -_08098232: - adds r2, 0x4 - adds r1, 0x1 - cmp r1, 0xB - ble _08098222 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08098240: .4byte gUnknown_203B498 -_08098244: .4byte gExclusivePokemon - thumb_func_end sub_8098214 - - thumb_func_start sub_8098248 -sub_8098248: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r7, r0, 0 - mov r5, sp - adds r5, 0x3 - movs r0, 0xFF - strb r0, [r5] - add r4, sp, 0x4 - movs r0, 0 - strb r0, [r4] - ldr r0, _08098300 - ldr r1, [r0] - adds r0, r7, 0 - movs r2, 0x1 - bl sub_809488C - movs r6, 0 - mov r9, r5 - mov r8, r4 - mov r4, sp - adds r4, 0x1 - mov r5, sp - adds r5, 0x2 -_0809827C: - lsls r0, r6, 16 - asrs r0, 16 - bl sub_8098134 - mov r1, sp - strb r0, [r1] - adds r0, r7, 0 - movs r2, 0x1 - bl sub_809488C - adds r6, 0x1 - ldr r0, _08098304 - cmp r6, r0 - ble _0809827C - movs r6, 0 -_0809829A: - lsls r0, r6, 24 - lsrs r0, 24 - bl sub_8098100 - strb r0, [r4] - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_809488C - adds r6, 0x1 - cmp r6, 0x3F - ble _0809829A - movs r6, 0 - adds r4, r5, 0 -_080982B8: - adds r0, r6, 0 - bl sub_80981A0 - strb r0, [r4] - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl sub_809488C - adds r6, 0x1 - cmp r6, 0x1E - ble _080982B8 - movs r6, 0 -_080982D2: - ldr r0, _08098300 - ldr r0, [r0] - adds r0, 0x58 - adds r0, r6 - ldrb r0, [r0] - mov r1, r8 - cmp r0, 0 - beq _080982E4 - mov r1, r9 -_080982E4: - adds r0, r7, 0 - movs r2, 0x1 - bl sub_809488C - adds r6, 0x1 - cmp r6, 0xB - ble _080982D2 - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08098300: .4byte gUnknown_203B498 -_08098304: .4byte 0x000001a7 - thumb_func_end sub_8098248 - - thumb_func_start sub_8098308 -sub_8098308: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r6, r0, 0 - ldr r4, _080983D0 - ldr r0, [r4] - movs r1, 0 - movs r2, 0x64 - bl memset - ldr r1, [r4] - adds r0, r6, 0 - movs r2, 0x1 - bl sub_8094924 - movs r4, 0 - mov r5, sp - adds r5, 0x1 - mov r7, sp - adds r7, 0x2 - movs r0, 0x3 - add r0, sp - mov r8, r0 -_08098338: - adds r0, r6, 0 - mov r1, sp - movs r2, 0x1 - bl sub_8094924 - mov r0, sp - ldrb r0, [r0] - cmp r0, 0 - beq _08098352 - lsls r0, r4, 16 - asrs r0, 16 - bl sub_80980B4 -_08098352: - adds r4, 0x1 - ldr r0, _080983D4 - cmp r4, r0 - ble _08098338 - movs r4, 0 -_0809835C: - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_8094924 - ldrb r0, [r5] - cmp r0, 0 - beq _08098374 - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_8097FA8 -_08098374: - adds r4, 0x1 - cmp r4, 0x3F - ble _0809835C - movs r4, 0 - adds r5, r7, 0 -_0809837E: - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x1 - bl sub_8094924 - ldrb r0, [r5] - cmp r0, 0 - beq _08098394 - adds r0, r4, 0 - bl sub_8098170 -_08098394: - adds r4, 0x1 - cmp r4, 0x1E - ble _0809837E - movs r4, 0 -_0809839C: - adds r0, r6, 0 - mov r1, r8 - movs r2, 0x1 - bl sub_8094924 - ldr r0, _080983D0 - ldr r1, [r0] - adds r1, 0x58 - adds r1, r4 - mov r0, sp - adds r0, 0x3 - ldrb r2, [r0] - movs r0, 0x1 - ands r0, r2 - strb r0, [r1] - adds r4, 0x1 - cmp r4, 0xB - ble _0809839C - bl sub_8097FF8 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080983D0: .4byte gUnknown_203B498 -_080983D4: .4byte 0x000001a7 - thumb_func_end sub_8098308 - - thumb_func_start sub_80983D8 -sub_80983D8: - push {r4,lr} - movs r2, 0 - ldrsh r3, [r1, r2] - movs r4, 0 - ldrsh r2, [r0, r4] - subs r2, r3, r2 - movs r3, 0x2 - ldrsh r1, [r1, r3] - movs r4, 0x2 - ldrsh r0, [r0, r4] - subs r1, r0 - cmp r2, 0 - bne _080983FA - cmp r1, 0 - bne _080983FA - movs r0, 0 - b _08098428 -_080983FA: - cmp r2, 0 - ble _08098400 - movs r2, 0x1 -_08098400: - cmp r1, 0 - ble _08098406 - movs r1, 0x1 -_08098406: - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - bgt _08098410 - adds r2, r0, 0 -_08098410: - cmp r1, r0 - bgt _08098416 - adds r1, r0, 0 -_08098416: - ldr r3, _08098430 - adds r2, 0x1 - adds r1, 0x1 - lsls r0, r1, 1 - adds r0, r1 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - ldr r0, [r0] -_08098428: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08098430: .4byte gUnknown_8115E94 - thumb_func_end sub_80983D8 - - thumb_func_start sub_8098434 -sub_8098434: - push {r4,lr} - adds r3, r0, 0 - adds r4, r1, 0 - movs r0, 0 - ldrsh r1, [r3, r0] - movs r2, 0 - ldrsh r0, [r4, r2] - subs r2, r1, r0 - cmp r2, 0 - bge _0809844A - negs r2, r2 -_0809844A: - movs r0, 0x2 - ldrsh r1, [r3, r0] - movs r3, 0x2 - ldrsh r0, [r4, r3] - subs r0, r1, r0 - cmp r0, 0 - bge _0809845A - negs r0, r0 -_0809845A: - cmp r0, r2 - bge _08098460 - adds r0, r2, 0 -_08098460: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8098434 - - .align 2,0 diff --git a/asm/code_80983D8.s b/asm/code_80983D8.s new file mode 100644 index 0000000..bb55c2d --- /dev/null +++ b/asm/code_80983D8.s @@ -0,0 +1,63 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_80983D8 +sub_80983D8: + push {r4,lr} + movs r2, 0 + ldrsh r3, [r1, r2] + movs r4, 0 + ldrsh r2, [r0, r4] + subs r2, r3, r2 + movs r3, 0x2 + ldrsh r1, [r1, r3] + movs r4, 0x2 + ldrsh r0, [r0, r4] + subs r1, r0 + cmp r2, 0 + bne _080983FA + cmp r1, 0 + bne _080983FA + movs r0, 0 + b _08098428 +_080983FA: + cmp r2, 0 + ble _08098400 + movs r2, 0x1 +_08098400: + cmp r1, 0 + ble _08098406 + movs r1, 0x1 +_08098406: + movs r0, 0x1 + negs r0, r0 + cmp r2, r0 + bgt _08098410 + adds r2, r0, 0 +_08098410: + cmp r1, r0 + bgt _08098416 + adds r1, r0, 0 +_08098416: + ldr r3, _08098430 + adds r2, 0x1 + adds r1, 0x1 + lsls r0, r1, 1 + adds r0, r1 + adds r0, r2 + lsls r0, 2 + adds r0, r3 + ldr r0, [r0] +_08098428: + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08098430: .4byte gUnknown_8115E94 + thumb_func_end sub_80983D8 + + .align 2,0 diff --git a/asm/code_8098BDC.s b/asm/code_8098BDC.s index 283c8ec..cf72446 100644 --- a/asm/code_8098BDC.s +++ b/asm/code_8098BDC.s @@ -5351,7 +5351,7 @@ _0809B91C: _0809B932: str r1, [r0] movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0809B784 .align 2, 0 _0809B93C: .4byte 0x0000042c @@ -5392,7 +5392,7 @@ _0809B988: .4byte 0x0000042c _0809B98C: .4byte gUnknown_811610C _0809B990: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0809B784 _0809B998: bl sub_801516C @@ -5451,7 +5451,7 @@ _0809BA0C: .4byte 0x0000042c _0809BA10: .4byte gUnknown_811612C _0809BA14: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0809B784 _0809BA1C: bl sub_801516C @@ -5487,7 +5487,7 @@ _0809BA2A: _0809BA5C: .4byte 0x00000424 _0809BA60: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0809B784 _0809BA68: movs r0, 0x1 @@ -5564,7 +5564,7 @@ _0809BAEA: bl sub_80018D8 _0809BB08: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0809B784 _0809BB10: movs r0, 0x1 @@ -5627,7 +5627,7 @@ _0809BB66: b _0809B978 _0809BB92: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect b _0809B784 _0809BB9A: movs r0, 0x1 @@ -5990,7 +5990,7 @@ _0809BE94: .4byte gUnknown_3001B64 _0809BE98: .4byte gUnknown_8116258 _0809BE9C: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, _0809BEB0 ldr r0, [r0] movs r2, 0x83 @@ -6003,7 +6003,7 @@ _0809BEB0: .4byte gUnknown_3001B64 _0809BEB4: .4byte gUnknown_8116268 _0809BEB8: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, _0809BECC ldr r0, [r0] movs r3, 0x83 diff --git a/asm/debug_menu.s b/asm/debug_menu.s index 2b25b3e..60e049e 100644 --- a/asm/debug_menu.s +++ b/asm/debug_menu.s @@ -5,230 +5,6 @@ .text - thumb_func_start CreateDebugMenu -CreateDebugMenu: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r5, _0803A270 - ldr r0, [r5] - cmp r0, 0 - bne _0803A224 - movs r4, 0xD2 - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_0803A224: - mov r12, r5 - movs r0, 0xA0 - lsls r0, 1 - mov r8, r0 - ldr r4, _0803A274 - movs r3, 0 - movs r2, 0x3 -_0803A232: - 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 _0803A232 - bl ResetUnusedInputStruct - ldr r0, _0803A270 - ldr r0, [r0] - movs r6, 0xA0 - lsls r6, 1 - adds r0, r6 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl SetDebugMenuItems - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803A270: .4byte gUnknown_203B3EC -_0803A274: .4byte gUnknown_80E7D40 - thumb_func_end CreateDebugMenu - - thumb_func_start DeleteDebugMenu -DeleteDebugMenu: - push {r4,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0803A2A0 - ldr r0, [r4] - cmp r0, 0 - beq _0803A298 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_0803A298: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A2A0: .4byte gUnknown_203B3EC - thumb_func_end DeleteDebugMenu - - thumb_func_start sub_803A2A4 -sub_803A2A4: - push {r4,r5,lr} - sub sp, 0x4 - ldr r4, _0803A2D4 - movs r0, 0xB - str r0, [sp] - ldr r5, _0803A2D8 - ldr r0, [r5] - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0803A2C4 - ldr r0, [r5] - mov r1, sp - bl sub_8013114 -_0803A2C4: - ldr r0, [sp] - cmp r0, 0xB - bhi _0803A34E - lsls r0, 2 - ldr r1, _0803A2DC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803A2D4: .4byte 0x0000ffdc -_0803A2D8: .4byte gUnknown_203B3EC -_0803A2DC: .4byte _0803A2E0 - .align 2, 0 -_0803A2E0: - .4byte _0803A310 - .4byte _0803A314 - .4byte _0803A318 - .4byte _0803A31C - .4byte _0803A320 - .4byte _0803A324 - .4byte _0803A328 - .4byte _0803A34E - .4byte _0803A34E - .4byte _0803A330 - .4byte _0803A344 - .4byte _0803A34C -_0803A310: - movs r4, 0x2F - b _0803A34E -_0803A314: - movs r4, 0x30 - b _0803A34E -_0803A318: - movs r4, 0x31 - b _0803A34E -_0803A31C: - movs r4, 0x32 - b _0803A34E -_0803A320: - movs r4, 0x33 - b _0803A34E -_0803A324: - movs r4, 0x34 - b _0803A34E -_0803A328: - bl sub_803A3BC - movs r4, 0x1 - b _0803A34E -_0803A330: - movs r4, 0 -_0803A332: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_80976F8 - adds r4, 0x1 - cmp r4, 0x1F - ble _0803A332 - movs r4, 0x1 - b _0803A34E -_0803A344: - bl sub_803A3A0 - movs r4, 0x1 - b _0803A34E -_0803A34C: - ldr r4, _0803A358 -_0803A34E: - adds r0, r4, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803A358: .4byte 0x0000ffdc - thumb_func_end sub_803A2A4 - - thumb_func_start SetDebugMenuItems -SetDebugMenuItems: - push {r4,lr} - sub sp, 0x10 - ldr r4, _0803A394 - ldr r0, [r4] - movs r2, 0xA0 - lsls r2, 1 - adds r1, r0, r2 - ldr r3, _0803A398 - ldr r2, _0803A39C - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0xD - str r2, [sp, 0x8] - movs r2, 0 - str r2, [sp, 0xC] - bl SetMenuItems - ldr r0, [r4] - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803A394: .4byte gUnknown_203B3EC -_0803A398: .4byte gUnknown_80E7D58 -_0803A39C: .4byte gDebugMenuItems - thumb_func_end SetDebugMenuItems - - thumb_func_start sub_803A3A0 -sub_803A3A0: - push {lr} - ldr r0, _0803A3B8 - ldr r0, [r0] - movs r1, 0xA0 - lsls r1, 1 - adds r0, r1 - movs r1, 0 - bl sub_8035CC0 - pop {r0} - bx r0 - .align 2, 0 -_0803A3B8: .4byte gUnknown_203B3EC - thumb_func_end sub_803A3A0 - thumb_func_start sub_803A3BC sub_803A3BC: push {r4-r7,lr} @@ -1734,111 +1510,4 @@ _0803AF82: bx r0 thumb_func_end sub_803AF38 - thumb_func_start sub_803AF88 -sub_803AF88: - push {r4,lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - bl sub_8023A94 - ldr r4, _0803AFC0 - ldr r0, [r4] - adds r0, 0x10 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _0803AFAE - ldr r0, [r4] - adds r0, 0x10 - mov r1, sp - bl sub_8013114 -_0803AFAE: - ldr r0, [sp] - cmp r0, 0x4 - beq _0803AFCA - cmp r0, 0x4 - bgt _0803AFC4 - cmp r0, 0x1 - beq _0803AFDA - b _0803AFE0 - .align 2, 0 -_0803AFC0: .4byte gUnknown_203B3F8 -_0803AFC4: - cmp r0, 0x5 - beq _0803AFD2 - b _0803AFE0 -_0803AFCA: - movs r0, 0x5 - bl sub_803ACD0 - b _0803AFE0 -_0803AFD2: - movs r0, 0x6 - bl sub_803ACD0 - b _0803AFE0 -_0803AFDA: - movs r0, 0x2 - bl sub_803ACD0 -_0803AFE0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803AF88 - - thumb_func_start sub_803AFE8 -sub_803AFE8: - push {r4,lr} - movs r0, 0 - bl sub_8023A94 - ldr r4, _0803B010 - ldr r0, [r4] - adds r0, 0x10 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0x60 - bl sub_8013BBC - cmp r0, 0x2 - beq _0803B020 - cmp r0, 0x2 - bhi _0803B014 - cmp r0, 0x1 - beq _0803B028 - b _0803B02C - .align 2, 0 -_0803B010: .4byte gUnknown_203B3F8 -_0803B014: - cmp r0, 0x3 - bne _0803B02C - ldr r0, [r4] - ldr r1, [r0, 0x8] - ldr r0, [r0, 0x60] - strb r0, [r1, 0x3] -_0803B020: - movs r0, 0x2 - bl sub_803ACD0 - b _0803B02C -_0803B028: - bl sub_803AE58 -_0803B02C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803AFE8 - - thumb_func_start sub_803B034 -sub_803B034: - push {lr} - bl sub_8016080 - cmp r0, 0x3 - bhi _0803B04C - cmp r0, 0x2 - bcc _0803B04C - bl sub_80160D8 - movs r0, 0x2 - bl sub_803ACD0 -_0803B04C: - pop {r0} - bx r0 - thumb_func_end sub_803B034 - .align 2,0 diff --git a/asm/event_flag.s b/asm/event_flag.s index fc1667f..61262cd 100644 --- a/asm/event_flag.s +++ b/asm/event_flag.s @@ -2453,40 +2453,4 @@ _0800268E: bx r1 thumb_func_end sub_8002658 - thumb_func_start sub_8002694 -sub_8002694: - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _080026B4 - movs r2, 0 - ldrsh r0, [r1, r2] - movs r2, 0x1 - negs r2, r2 - cmp r0, r2 - beq _080026C2 -_080026A8: - ldrb r0, [r1, 0x2] - cmp r0, r3 - bne _080026B8 - movs r4, 0 - ldrsh r0, [r1, r4] - b _080026C6 - .align 2, 0 -_080026B4: .4byte gUnknown_80B71E4 -_080026B8: - adds r1, 0x4 - movs r4, 0 - ldrsh r0, [r1, r4] - cmp r0, r2 - bne _080026A8 -_080026C2: - movs r0, 0x1 - negs r0, r0 -_080026C6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8002694 - .align 2, 0 @ Don't pad with nop. diff --git a/asm/exclusive_pokemon.s b/asm/exclusive_pokemon.s new file mode 100644 index 0000000..f52efbc --- /dev/null +++ b/asm/exclusive_pokemon.s @@ -0,0 +1,606 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8097FA8 +sub_8097FA8: + lsls r0, 24 + ldr r1, _08097FCC + ldr r3, [r1] + lsrs r1, r0, 29 + lsls r1, 2 + adds r3, 0x48 + adds r3, r1 + movs r1, 0xF8 + lsls r1, 21 + ands r1, r0 + lsrs r1, 24 + movs r2, 0x1 + lsls r2, r1 + ldr r0, [r3] + orrs r0, r2 + str r0, [r3] + bx lr + .align 2, 0 +_08097FCC: .4byte gUnknown_203B498 + thumb_func_end sub_8097FA8 + + thumb_func_start sub_8097FD0 +sub_8097FD0: + lsls r0, 24 + ldr r1, _08097FF4 + ldr r3, [r1] + lsrs r1, r0, 29 + lsls r1, 2 + adds r3, 0x3C + adds r3, r1 + movs r1, 0xF8 + lsls r1, 21 + ands r1, r0 + lsrs r1, 24 + movs r2, 0x1 + lsls r2, r1 + ldr r0, [r3] + orrs r0, r2 + str r0, [r3] + bx lr + .align 2, 0 +_08097FF4: .4byte gUnknown_203B498 + thumb_func_end sub_8097FD0 + + thumb_func_start sub_8097FF8 +sub_8097FF8: + push {r4-r7,lr} + movs r4, 0 + ldr r6, _08098040 + movs r7, 0x1 +_08098000: + ldr r5, [r6] + adds r0, r4, 0 + cmp r4, 0 + bge _0809800A + adds r0, 0x1F +_0809800A: + asrs r0, 5 + lsls r3, r0, 2 + adds r1, r5, 0 + adds r1, 0x48 + adds r1, r3 + lsls r0, 5 + subs r0, r4, r0 + adds r2, r7, 0 + lsls r2, r0 + ldr r0, [r1] + ands r0, r2 + cmp r0, 0 + beq _08098030 + adds r1, r5, 0 + adds r1, 0x3C + adds r1, r3 + ldr r0, [r1] + orrs r0, r2 + str r0, [r1] +_08098030: + adds r4, 0x1 + cmp r4, 0x3F + ble _08098000 + bl sub_8098080 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08098040: .4byte gUnknown_203B498 + thumb_func_end sub_8097FF8 + + thumb_func_start sub_8098044 +sub_8098044: + push {r4,r5,lr} + lsls r0, 24 + ldr r1, _0809807C + ldr r3, [r1] + lsrs r5, r0, 29 + lsls r5, 2 + adds r4, r3, 0 + adds r4, 0x3C + adds r4, r5 + movs r1, 0xF8 + lsls r1, 21 + ands r1, r0 + lsrs r1, 24 + movs r2, 0x1 + lsls r2, r1 + mvns r2, r2 + ldr r0, [r4] + ands r0, r2 + str r0, [r4] + adds r3, 0x48 + adds r3, r5 + ldr r0, [r3] + ands r0, r2 + str r0, [r3] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0809807C: .4byte gUnknown_203B498 + thumb_func_end sub_8098044 + + thumb_func_start sub_8098080 +sub_8098080: + push {r4,lr} + movs r2, 0 + ldr r4, _080980A0 + movs r3, 0 +_08098088: + ldr r0, [r4] + lsls r1, r2, 2 + adds r0, 0x48 + adds r0, r1 + str r3, [r0] + adds r2, 0x1 + cmp r2, 0x2 + ble _08098088 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080980A0: .4byte gUnknown_203B498 + thumb_func_end sub_8098080 + + thumb_func_start sub_80980A4 +sub_80980A4: + ldr r0, _080980B0 + ldr r2, [r0] + ldrb r0, [r2] + movs r1, 0x1 + strb r1, [r2] + bx lr + .align 2, 0 +_080980B0: .4byte gUnknown_203B498 + thumb_func_end sub_80980A4 + + thumb_func_start sub_80980B4 +sub_80980B4: + push {lr} + lsls r0, 16 + asrs r1, r0, 16 + adds r3, r1, 0 + ldr r0, _080980F8 + cmp r1, r0 + beq _080980F4 + adds r0, 0x1 + cmp r1, r0 + beq _080980F4 + adds r0, 0x1 + cmp r1, r0 + beq _080980F4 + ldr r0, _080980FC + ldr r2, [r0] + adds r0, r1, 0 + cmp r1, 0 + bge _080980DA + adds r0, 0x1F +_080980DA: + asrs r0, 5 + lsls r1, r0, 2 + adds r2, 0x4 + adds r2, r1 + lsls r0, 5 + subs r0, r3, r0 + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + orrs r0, r1 + str r0, [r2] +_080980F4: + pop {r0} + bx r0 + .align 2, 0 +_080980F8: .4byte 0x000001a5 +_080980FC: .4byte gUnknown_203B498 + thumb_func_end sub_80980B4 + + thumb_func_start sub_8098100 +sub_8098100: + push {lr} + lsls r1, r0, 24 + lsrs r3, r1, 24 + cmp r3, 0x3F + bls _0809810E + movs r0, 0 + b _0809812C +_0809810E: + ldr r0, _08098130 + ldr r2, [r0] + lsrs r0, r1, 29 + lsls r0, 2 + adds r2, 0x3C + adds r2, r0 + movs r0, 0x1F + ands r0, r3 + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + ands r0, r1 + cmp r0, 0 + beq _0809812C + movs r0, 0x1 +_0809812C: + pop {r1} + bx r1 + .align 2, 0 +_08098130: .4byte gUnknown_203B498 + thumb_func_end sub_8098100 + + thumb_func_start sub_8098134 +sub_8098134: + push {lr} + lsls r0, 16 + asrs r1, r0, 16 + adds r3, r1, 0 + ldr r0, _0809816C + ldr r2, [r0] + adds r0, r1, 0 + cmp r1, 0 + bge _08098148 + adds r0, 0x1F +_08098148: + asrs r0, 5 + lsls r1, r0, 2 + adds r2, 0x4 + adds r2, r1 + lsls r0, 5 + subs r0, r3, r0 + lsls r0, 16 + asrs r0, 16 + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + ands r0, r1 + cmp r0, 0 + beq _08098166 + movs r0, 0x1 +_08098166: + pop {r1} + bx r1 + .align 2, 0 +_0809816C: .4byte gUnknown_203B498 + thumb_func_end sub_8098134 + + thumb_func_start sub_8098170 +sub_8098170: + push {lr} + adds r3, r0, 0 + ldr r0, _0809819C + ldr r2, [r0] + adds r0, r3, 0 + cmp r3, 0 + bge _08098180 + adds r0, 0x1F +_08098180: + asrs r0, 5 + lsls r1, r0, 2 + adds r2, 0x54 + adds r2, r1 + lsls r0, 5 + subs r0, r3, r0 + movs r1, 0x1 + lsls r1, r0 + ldr r0, [r2] + orrs r0, r1 + str r0, [r2] + pop {r0} + bx r0 + .align 2, 0 +_0809819C: .4byte gUnknown_203B498 + thumb_func_end sub_8098170 + + thumb_func_start sub_80981A0 +sub_80981A0: + push {lr} + adds r3, r0, 0 + cmp r3, 0x1E + ble _080981AC + movs r0, 0 + b _080981D4 +_080981AC: + ldr r0, _080981D8 + ldr r2, [r0] + adds r1, r3, 0 + cmp r3, 0 + bge _080981B8 + adds r1, 0x1F +_080981B8: + asrs r1, 5 + lsls r0, r1, 2 + adds r2, 0x54 + adds r2, r0 + lsls r1, 5 + subs r1, r3, r1 + movs r0, 0x1 + lsls r0, r1 + ldr r2, [r2] + ands r2, r0 + cmp r2, 0 + beq _080981D2 + movs r2, 0x1 +_080981D2: + adds r0, r2, 0 +_080981D4: + pop {r1} + bx r1 + .align 2, 0 +_080981D8: .4byte gUnknown_203B498 + thumb_func_end sub_80981A0 + + thumb_func_start sub_80981DC +sub_80981DC: + push {r4,r5,lr} + lsls r0, 16 + asrs r3, r0, 16 + movs r1, 0 + ldr r4, _080981FC + ldr r2, _08098200 +_080981E8: + movs r5, 0 + ldrsh r0, [r2, r5] + cmp r0, r3 + bne _08098204 + ldr r0, [r4] + adds r0, 0x58 + adds r0, r1 + ldrb r0, [r0] + b _0809820E + .align 2, 0 +_080981FC: .4byte gUnknown_203B498 +_08098200: .4byte gExclusivePokemon +_08098204: + adds r2, 0x4 + adds r1, 0x1 + cmp r1, 0xB + ble _080981E8 + movs r0, 0x1 +_0809820E: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_80981DC + + thumb_func_start sub_8098214 +sub_8098214: + push {r4-r6,lr} + lsls r0, 16 + asrs r3, r0, 16 + movs r1, 0 + ldr r5, _08098240 + movs r4, 0x1 + ldr r2, _08098244 +_08098222: + movs r6, 0 + ldrsh r0, [r2, r6] + cmp r0, r3 + bne _08098232 + ldr r0, [r5] + adds r0, 0x58 + adds r0, r1 + strb r4, [r0] +_08098232: + adds r2, 0x4 + adds r1, 0x1 + cmp r1, 0xB + ble _08098222 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08098240: .4byte gUnknown_203B498 +_08098244: .4byte gExclusivePokemon + thumb_func_end sub_8098214 + + thumb_func_start sub_8098248 +sub_8098248: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x8 + adds r7, r0, 0 + mov r5, sp + adds r5, 0x3 + movs r0, 0xFF + strb r0, [r5] + add r4, sp, 0x4 + movs r0, 0 + strb r0, [r4] + ldr r0, _08098300 + ldr r1, [r0] + adds r0, r7, 0 + movs r2, 0x1 + bl sub_809488C + movs r6, 0 + mov r9, r5 + mov r8, r4 + mov r4, sp + adds r4, 0x1 + mov r5, sp + adds r5, 0x2 +_0809827C: + lsls r0, r6, 16 + asrs r0, 16 + bl sub_8098134 + mov r1, sp + strb r0, [r1] + adds r0, r7, 0 + movs r2, 0x1 + bl sub_809488C + adds r6, 0x1 + ldr r0, _08098304 + cmp r6, r0 + ble _0809827C + movs r6, 0 +_0809829A: + lsls r0, r6, 24 + lsrs r0, 24 + bl sub_8098100 + strb r0, [r4] + adds r0, r7, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_809488C + adds r6, 0x1 + cmp r6, 0x3F + ble _0809829A + movs r6, 0 + adds r4, r5, 0 +_080982B8: + adds r0, r6, 0 + bl sub_80981A0 + strb r0, [r4] + adds r0, r7, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl sub_809488C + adds r6, 0x1 + cmp r6, 0x1E + ble _080982B8 + movs r6, 0 +_080982D2: + ldr r0, _08098300 + ldr r0, [r0] + adds r0, 0x58 + adds r0, r6 + ldrb r0, [r0] + mov r1, r8 + cmp r0, 0 + beq _080982E4 + mov r1, r9 +_080982E4: + adds r0, r7, 0 + movs r2, 0x1 + bl sub_809488C + adds r6, 0x1 + cmp r6, 0xB + ble _080982D2 + add sp, 0x8 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08098300: .4byte gUnknown_203B498 +_08098304: .4byte 0x000001a7 + thumb_func_end sub_8098248 + + thumb_func_start sub_8098308 +sub_8098308: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + adds r6, r0, 0 + ldr r4, _080983D0 + ldr r0, [r4] + movs r1, 0 + movs r2, 0x64 + bl memset + ldr r1, [r4] + adds r0, r6, 0 + movs r2, 0x1 + bl sub_8094924 + movs r4, 0 + mov r5, sp + adds r5, 0x1 + mov r7, sp + adds r7, 0x2 + movs r0, 0x3 + add r0, sp + mov r8, r0 +_08098338: + adds r0, r6, 0 + mov r1, sp + movs r2, 0x1 + bl sub_8094924 + mov r0, sp + ldrb r0, [r0] + cmp r0, 0 + beq _08098352 + lsls r0, r4, 16 + asrs r0, 16 + bl sub_80980B4 +_08098352: + adds r4, 0x1 + ldr r0, _080983D4 + cmp r4, r0 + ble _08098338 + movs r4, 0 +_0809835C: + adds r0, r6, 0 + adds r1, r5, 0 + movs r2, 0x1 + bl sub_8094924 + ldrb r0, [r5] + cmp r0, 0 + beq _08098374 + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_8097FA8 +_08098374: + adds r4, 0x1 + cmp r4, 0x3F + ble _0809835C + movs r4, 0 + adds r5, r7, 0 +_0809837E: + adds r0, r6, 0 + adds r1, r5, 0 + movs r2, 0x1 + bl sub_8094924 + ldrb r0, [r5] + cmp r0, 0 + beq _08098394 + adds r0, r4, 0 + bl sub_8098170 +_08098394: + adds r4, 0x1 + cmp r4, 0x1E + ble _0809837E + movs r4, 0 +_0809839C: + adds r0, r6, 0 + mov r1, r8 + movs r2, 0x1 + bl sub_8094924 + ldr r0, _080983D0 + ldr r1, [r0] + adds r1, 0x58 + adds r1, r4 + mov r0, sp + adds r0, 0x3 + ldrb r2, [r0] + movs r0, 0x1 + ands r0, r2 + strb r0, [r1] + adds r4, 0x1 + cmp r4, 0xB + ble _0809839C + bl sub_8097FF8 + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080983D0: .4byte gUnknown_203B498 +_080983D4: .4byte 0x000001a7 + thumb_func_end sub_8098308 + + + .align 2,0 diff --git a/asm/friend_rescue.s b/asm/friend_rescue.s new file mode 100644 index 0000000..e1328ba --- /dev/null +++ b/asm/friend_rescue.s @@ -0,0 +1,5206 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8032828 +sub_8032828: + push {r4-r6,lr} + sub sp, 0x68 + ldr r1, _08032848 + ldr r0, [r1] + ldr r0, [r0] + adds r6, r1, 0 + cmp r0, 0x7D + bls _0803283C + bl _080338B4 +_0803283C: + lsls r0, 2 + ldr r1, _0803284C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08032848: .4byte gUnknown_203B33C +_0803284C: .4byte _08032850 + .align 2, 0 +_08032850: + .4byte _08032A48 + .4byte _08032AD0 + .4byte _080338B4 + .4byte _08032B80 + .4byte _08032BC4 + .4byte _08032FD0 + .4byte _080338B4 + .4byte _08032FF0 + .4byte _080338B4 + .4byte _080338B4 + .4byte _08032FD8 + .4byte _08032FE0 + .4byte _08032FE8 + .4byte _0803356C + .4byte _08032C50 + .4byte _08033200 + .4byte _080331CC + .4byte _080331D4 + .4byte _080331DC + .4byte _080336B2 + .4byte _080338B4 + .4byte _080331F8 + .4byte _08033208 + .4byte _080338B4 + .4byte _08033234 + .4byte _0803323C + .4byte _08033244 + .4byte _080338B4 + .4byte _08032F8C + .4byte _08032F98 + .4byte _080336B2 + .4byte _080338B4 + .4byte _08032FB6 + .4byte _08032EB8 + .4byte _08032FC4 + .4byte _08032EAC + .4byte _08032F54 + .4byte _08032EE0 + .4byte _08032EEC + .4byte _08032F16 + .4byte _080338B4 + .4byte _08032F7C + .4byte _08032E60 + .4byte _08032E6C + .4byte _08032EA0 + .4byte _08032E48 + .4byte _0803341C + .4byte _08032E54 + .4byte _08032D84 + .4byte _08032D90 + .4byte _08032D9C + .4byte _080336B2 + .4byte _080338B4 + .4byte _08032DBC + .4byte _080338B4 + .4byte _08032DCC + .4byte _08032E00 + .4byte _08032E3C + .4byte _08032E0C + .4byte _08032E30 + .4byte _08032D04 + .4byte _08032D10 + .4byte _08032D2C + .4byte _08032D38 + .4byte _08032D44 + .4byte _080338B4 + .4byte _08032D78 + .4byte _08032D20 + .4byte _08033720 + .4byte _08033728 + .4byte _08033684 + .4byte _0803368C + .4byte _080336B2 + .4byte _080338B4 + .4byte _080336F8 + .4byte _080338B4 + .4byte _08032FD8 + .4byte _08032FE0 + .4byte _08032FE8 + .4byte _080338B4 + .4byte _08033468 + .4byte _08033730 + .4byte _08033738 + .4byte _0803366C + .4byte _08033674 + .4byte _08033644 + .4byte _0803361C + .4byte _08033614 + .4byte _080335F4 + .4byte _080335C0 + .4byte _0803324E + .4byte _0803325C + .4byte _0803368C + .4byte _08033264 + .4byte _080338B4 + .4byte _08033288 + .4byte _080332B8 + .4byte _080338B4 + .4byte _0803356C + .4byte _080335B0 + .4byte _08033584 + .4byte _080338B4 + .4byte _08033412 + .4byte _0803341C + .4byte _08033448 + .4byte _080335B8 + .4byte _080332F4 + .4byte _080338B4 + .4byte _08033460 + .4byte _08033470 + .4byte _0803349C + .4byte _08033450 + .4byte _08033458 + .4byte _080338B4 + .4byte _080333E4 + .4byte _080333EC + .4byte _080338B4 + .4byte _08033604 + .4byte _0803360C + .4byte _080338B4 + .4byte _0803384C + .4byte _0803387C + .4byte _080337D4 + .4byte _080337F0 + .4byte _08033770 + .4byte _0803378C +_08032A48: + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + bne _08032A9C + movs r0, 0x5 + bl sub_8095324 + adds r4, r0, 0 + cmp r4, 0 + bne _08032A9C + ldr r0, _08032A7C + ldr r0, [r0] + ldr r1, _08032A80 + adds r0, r1 + ldrb r2, [r0] + cmp r2, 0 + beq _08032A8C + ldr r0, _08032A84 + ldr r3, _08032A88 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + b _08032B66 + .align 2, 0 +_08032A7C: .4byte gUnknown_203B33C +_08032A80: .4byte 0x0000052c +_08032A84: .4byte gUnknown_80E25F4 +_08032A88: .4byte gUnknown_80E2108 +_08032A8C: + ldr r0, _08032A94 + ldr r3, _08032A98 + b _08032B5C + .align 2, 0 +_08032A94: .4byte gUnknown_80E25F4 +_08032A98: .4byte gUnknown_80E20B8 +_08032A9C: + ldr r0, _08032AC0 + ldr r0, [r0] + ldr r2, _08032AC4 + adds r0, r2 + ldrb r2, [r0] + cmp r2, 0 + beq _08032B58 + ldr r0, _08032AC8 + ldr r3, _08032ACC + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + bl _08033864 + .align 2, 0 +_08032AC0: .4byte gUnknown_203B33C +_08032AC4: .4byte 0x0000052c +_08032AC8: .4byte gUnknown_80E25F4 +_08032ACC: .4byte gUnknown_80E20E0 +_08032AD0: + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + bne _08032B24 + movs r0, 0x5 + bl sub_8095324 + adds r4, r0, 0 + cmp r4, 0 + bne _08032B24 + ldr r0, _08032B04 + ldr r0, [r0] + ldr r3, _08032B08 + adds r0, r3 + ldrb r2, [r0] + cmp r2, 0 + beq _08032B14 + ldr r0, _08032B0C + ldr r3, _08032B10 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + b _08032B66 + .align 2, 0 +_08032B04: .4byte gUnknown_203B33C +_08032B08: .4byte 0x0000052c +_08032B0C: .4byte gUnknown_80E25F4 +_08032B10: .4byte gUnknown_80E2108 +_08032B14: + ldr r0, _08032B1C + ldr r3, _08032B20 + b _08032B5C + .align 2, 0 +_08032B1C: .4byte gUnknown_80E25F4 +_08032B20: .4byte gUnknown_80E20B8 +_08032B24: + ldr r0, _08032B48 + ldr r0, [r0] + ldr r4, _08032B4C + adds r0, r4 + ldrb r2, [r0] + cmp r2, 0 + beq _08032B58 + ldr r0, _08032B50 + ldr r3, _08032B54 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + bl _08033864 + .align 2, 0 +_08032B48: .4byte gUnknown_203B33C +_08032B4C: .4byte 0x0000052c +_08032B50: .4byte gUnknown_80E25F4 +_08032B54: .4byte gUnknown_80E20E0 +_08032B58: + ldr r0, _08032B78 + ldr r3, _08032B7C +_08032B5C: + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] +_08032B66: + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0 + bl sub_8014248 + bl _080338B4 + .align 2, 0 +_08032B78: .4byte gUnknown_80E25F4 +_08032B7C: .4byte gUnknown_80E2068 +_08032B80: + movs r0, 0x4 + bl sub_8095324 + adds r2, r0, 0 + cmp r2, 0 + beq _08032B9C + ldr r0, _08032B94 + ldr r3, _08032B98 + movs r2, 0 + b _08032BA0 + .align 2, 0 +_08032B94: .4byte gUnknown_80E25F4 +_08032B98: .4byte gUnknown_80E2130 +_08032B9C: + ldr r0, _08032BBC + ldr r3, _08032BC0 +_08032BA0: + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x3 + bl sub_8014248 + bl _080338B4 + .align 2, 0 +_08032BBC: .4byte gUnknown_80E25F4 +_08032BC0: .4byte gUnknown_80E2190 +_08032BC4: + movs r0, 0x1 + bl sub_8095324 + adds r4, r0, 0 + cmp r4, 0 + bne _08032C0C + movs r0, 0x5 + bl sub_8095324 + cmp r0, 0 + bne _08032BF4 + ldr r0, _08032BEC + ldr r3, _08032BF0 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + b _08032C38 + .align 2, 0 +_08032BEC: .4byte gUnknown_80E25F4 +_08032BF0: .4byte gUnknown_80E2268 +_08032BF4: + ldr r0, _08032C04 + ldr r3, _08032C08 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + b _08032C38 + .align 2, 0 +_08032C04: .4byte gUnknown_80E25F4 +_08032C08: .4byte gUnknown_80E2218 +_08032C0C: + movs r0, 0x5 + bl sub_8095324 + adds r2, r0, 0 + cmp r2, 0 + bne _08032C28 + ldr r0, _08032C20 + ldr r3, _08032C24 + b _08032C2E + .align 2, 0 +_08032C20: .4byte gUnknown_80E25F4 +_08032C24: .4byte gUnknown_80E2240 +_08032C28: + ldr r0, _08032C48 + ldr r3, _08032C4C + movs r2, 0 +_08032C2E: + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] +_08032C38: + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x11 + bl sub_8014248 + bl _080338B4 + .align 2, 0 +_08032C48: .4byte gUnknown_80E25F4 +_08032C4C: .4byte gUnknown_80E21B8 +_08032C50: + ldr r0, [r6] + movs r5, 0xA5 + lsls r5, 3 + adds r0, r5 + ldr r0, [r0] + subs r0, 0x3 + cmp r0, 0x11 + bls _08032C64 + bl _080338B4 +_08032C64: + lsls r0, 2 + ldr r1, _08032C70 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08032C70: .4byte _08032C74 + .align 2, 0 +_08032C74: + .4byte _08032CC8 + .4byte _08032CD4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _080338B4 + .4byte _08032CBC + .4byte _08032CE0 + .4byte _08032CEC + .4byte _08032CF8 +_08032CBC: + ldr r0, _08032CC4 + bl _0803374A + .align 2, 0 +_08032CC4: .4byte gUnknown_80E2610 +_08032CC8: + ldr r0, _08032CD0 + bl _0803374A + .align 2, 0 +_08032CD0: .4byte gUnknown_80E2640 +_08032CD4: + ldr r0, _08032CDC + bl _0803374A + .align 2, 0 +_08032CDC: .4byte gUnknown_80E2680 +_08032CE0: + ldr r0, _08032CE8 + bl _0803374A + .align 2, 0 +_08032CE8: .4byte gUnknown_80E26B0 +_08032CEC: + ldr r0, _08032CF4 + bl _0803374A + .align 2, 0 +_08032CF4: .4byte gUnknown_80E26F0 +_08032CF8: + ldr r0, _08032D00 + bl _0803374A + .align 2, 0 +_08032D00: .4byte gUnknown_80E2728 +_08032D04: + ldr r0, _08032D0C + bl _0803388E + .align 2, 0 +_08032D0C: .4byte gUnknown_80E276C +_08032D10: + ldr r0, _08032D18 + ldr r3, _08032D1C + bl _080336FC + .align 2, 0 +_08032D18: .4byte gUnknown_80E27A4 +_08032D1C: .4byte gUnknown_80E2458 +_08032D20: + ldr r0, _08032D28 + bl _0803388E + .align 2, 0 +_08032D28: .4byte gUnknown_80E2814 +_08032D2C: + ldr r0, _08032D34 + bl _0803388E + .align 2, 0 +_08032D34: .4byte gUnknown_80E2840 +_08032D38: + ldr r0, _08032D40 + bl _0803388E + .align 2, 0 +_08032D40: .4byte gUnknown_80E2874 +_08032D44: + ldr r0, [r6] + ldr r1, _08032D60 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xC + bne _08032D54 + bl _080338B4 +_08032D54: + cmp r0, 0xC + bhi _08032D64 + cmp r0, 0xB + beq _08032D6C + bl _080338B4 + .align 2, 0 +_08032D60: .4byte 0x00000524 +_08032D64: + cmp r0, 0xE + bls _08032D6C + bl _080338B4 +_08032D6C: + ldr r0, _08032D74 + bl _0803388E + .align 2, 0 +_08032D74: .4byte gUnknown_80E2898 +_08032D78: + ldr r0, _08032D80 + bl _0803388E + .align 2, 0 +_08032D80: .4byte gUnknown_80E28D8 +_08032D84: + ldr r0, _08032D8C + bl _0803388E + .align 2, 0 +_08032D8C: .4byte gUnknown_80E2904 +_08032D90: + ldr r0, _08032D98 + bl _0803388E + .align 2, 0 +_08032D98: .4byte gUnknown_80E296C +_08032D9C: + bl sub_8030894 + cmp r0, 0 + beq _08032DA8 + bl _080338B4 +_08032DA8: + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl _080336A6 +_08032DBC: + ldr r0, _08032DC4 + ldr r3, _08032DC8 + bl _080336FC + .align 2, 0 +_08032DC4: .4byte gUnknown_80E29A0 +_08032DC8: .4byte gUnknown_80E22B4 +_08032DCC: + ldr r0, [r6] + ldr r2, _08032DE8 + adds r0, r2 + ldr r0, [r0] + cmp r0, 0xC + bne _08032DDC + bl _080338B4 +_08032DDC: + cmp r0, 0xC + bhi _08032DEC + cmp r0, 0xB + beq _08032DF4 + bl _080338B4 + .align 2, 0 +_08032DE8: .4byte 0x00000524 +_08032DEC: + cmp r0, 0xE + bls _08032DF4 + bl _080338B4 +_08032DF4: + ldr r0, _08032DFC + bl _0803388E + .align 2, 0 +_08032DFC: .4byte gUnknown_80E29D0 +_08032E00: + ldr r0, _08032E08 + bl _0803388E + .align 2, 0 +_08032E08: .4byte gUnknown_80E2A0C +_08032E0C: + ldr r0, [r6] + movs r3, 0xEF + lsls r3, 2 + adds r0, r3 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r6] + movs r4, 0x86 + lsls r4, 2 + adds r0, r4 + b _0803343E +_08032E30: + ldr r0, _08032E38 + bl _0803388E + .align 2, 0 +_08032E38: .4byte gUnknown_80E2A1C +_08032E3C: + ldr r0, _08032E44 + bl _0803388E + .align 2, 0 +_08032E44: .4byte gUnknown_80E2A5C +_08032E48: + ldr r0, _08032E50 + bl _0803388E + .align 2, 0 +_08032E50: .4byte gUnknown_80E2A80 +_08032E54: + ldr r0, _08032E5C + bl _0803388E + .align 2, 0 +_08032E5C: .4byte gUnknown_80E2AA8 +_08032E60: + ldr r0, _08032E68 + bl _0803388E + .align 2, 0 +_08032E68: .4byte gUnknown_80E2AE4 +_08032E6C: + ldr r0, [r6] + ldr r2, _08032E88 + adds r0, r2 + ldr r0, [r0] + cmp r0, 0xC + bne _08032E7C + bl _080338B4 +_08032E7C: + cmp r0, 0xC + bhi _08032E8C + cmp r0, 0xB + beq _08032E94 + bl _080338B4 + .align 2, 0 +_08032E88: .4byte 0x00000524 +_08032E8C: + cmp r0, 0xE + bls _08032E94 + bl _080338B4 +_08032E94: + ldr r0, _08032E9C + bl _0803388E + .align 2, 0 +_08032E9C: .4byte gUnknown_80E2B54 +_08032EA0: + ldr r0, _08032EA8 + bl _0803388E + .align 2, 0 +_08032EA8: .4byte gUnknown_80E2A0C +_08032EAC: + ldr r0, _08032EB4 + bl _0803388E + .align 2, 0 +_08032EB4: .4byte gUnknown_80E2B90 +_08032EB8: + ldr r0, _08032ED8 + ldr r3, _08032EDC + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0xF + bl sub_8014248 + bl _080338B4 + .align 2, 0 +_08032ED8: .4byte gUnknown_80E2BE0 +_08032EDC: .4byte gUnknown_80E23A8 +_08032EE0: + ldr r0, _08032EE8 + bl _0803388E + .align 2, 0 +_08032EE8: .4byte gUnknown_80E2C48 +_08032EEC: + bl sub_8023CE8 + cmp r0, 0 + beq _08032EF8 + bl sub_8023C60 +_08032EF8: + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x3 + movs r1, 0 + movs r2, 0 + movs r3, 0x9 + bl sub_8023868 + bl _080338B4 +_08032F16: + 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, _08032F4C + ldr r2, _08032F50 + 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_8023DA4 + bl _080336E2 + .align 2, 0 +_08032F4C: .4byte gUnknown_80E2334 +_08032F50: .4byte gUnknown_80E234C +_08032F54: + ldr r0, _08032F74 + ldr r3, _08032F78 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x10 + bl sub_8014248 + bl _080338B4 + .align 2, 0 +_08032F74: .4byte gUnknown_80E2C94 +_08032F78: .4byte gUnknown_80E22F0 +_08032F7C: + ldr r0, _08032F84 + ldr r3, _08032F88 + bl _080336FC + .align 2, 0 +_08032F84: .4byte gUnknown_80E2CD4 +_08032F88: .4byte gUnknown_80E22D0 +_08032F8C: + ldr r0, _08032F94 + bl _0803388E + .align 2, 0 +_08032F94: .4byte gUnknown_80E2CE8 +_08032F98: + bl sub_8030894 + cmp r0, 0 + beq _08032FA4 + bl _080338B4 +_08032FA4: + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x4 + b _080336A6 +_08032FB6: + ldr r0, _08032FBC + ldr r3, _08032FC0 + b _080336FC + .align 2, 0 +_08032FBC: .4byte gUnknown_80E2D30 +_08032FC0: .4byte gUnknown_80E22B4 +_08032FC4: + ldr r0, _08032FCC + bl _0803388E + .align 2, 0 +_08032FCC: .4byte gUnknown_80E2D60 +_08032FD0: + ldr r0, _08032FD4 + b _080336FA + .align 2, 0 +_08032FD4: .4byte gUnknown_80E2D7C +_08032FD8: + ldr r0, _08032FDC + b _080336FA + .align 2, 0 +_08032FDC: .4byte gUnknown_80E2E20 +_08032FE0: + ldr r0, _08032FE4 + b _08033574 + .align 2, 0 +_08032FE4: .4byte gUnknown_80E2E54 +_08032FE8: + ldr r0, _08032FEC + b _08033574 + .align 2, 0 +_08032FEC: .4byte gUnknown_80E2EB4 +_08032FF0: + ldr r1, [r6] + movs r0, 0 + str r0, [r1, 0x44] + bl sub_8011830 + ldr r0, [r6] + ldr r0, [r0, 0x40] + bl sub_8037B28 + adds r4, r0, 0 + ldr r0, [r6] + str r4, [r0, 0x44] + cmp r4, 0 + beq _0803300E + b _080333DE +_0803300E: + ldr r1, [r0, 0x40] + cmp r1, 0x3 + beq _08033028 + cmp r1, 0x3 + bhi _0803301E + cmp r1, 0x2 + beq _0803304A + b _0803313C +_0803301E: + cmp r1, 0x4 + beq _080330B4 + cmp r1, 0x5 + beq _0803308E + b _0803313C +_08033028: + adds r0, 0x48 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + adds r0, 0x78 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r2, [r6] + ldr r0, [r2, 0x40] + adds r1, r2, 0 + adds r1, 0x48 + adds r2, 0x78 + b _08033134 +_0803304A: + adds r0, 0x48 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + adds r0, 0x78 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r3, 0x86 + lsls r3, 2 + adds r0, r3 + ldrb r0, [r0] + bl sub_8095228 + ldr r1, [r6] + adds r1, 0x48 + ldm r0!, {r2,r4,r5} + stm r1!, {r2,r4,r5} + ldm r0!, {r3-r5} + stm r1!, {r3-r5} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2,r3,r5} + stm r1!, {r2,r3,r5} + ldr r2, [r6] + ldr r0, [r2, 0x40] + adds r1, r2, 0 + adds r1, 0x48 + adds r2, 0x78 + b _08033134 +_0803308E: + adds r0, 0xA8 + movs r1, 0 + movs r2, 0x88 + bl MemoryFill8 + ldr r0, [r6] + movs r4, 0x98 + lsls r4, 1 + adds r0, r4 + movs r1, 0 + movs r2, 0x88 + bl MemoryFill8 + ldr r2, [r6] + ldr r0, [r2, 0x40] + adds r1, r2, 0 + adds r1, 0xA8 + adds r2, r4 + b _08033134 +_080330B4: + adds r0, 0xA8 + movs r1, 0 + movs r2, 0x88 + bl MemoryFill8 + ldr r0, [r6] + movs r5, 0x98 + lsls r5, 1 + adds r0, r5 + movs r1, 0 + movs r2, 0x88 + bl MemoryFill8 + ldr r1, [r6] + adds r0, r1, 0 + 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] + bl sub_8095228 + ldr r1, [r6] + adds r1, 0xA8 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldr r2, [r6] + movs r4, 0xA7 + lsls r4, 3 + adds r3, r2, r4 + movs r0, 0 + ldrsh r1, [r3, r0] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + beq _0803312A + adds r0, r2, 0 + adds r0, 0xD8 + ldr r1, _08033188 + ldr r1, [r1] + movs r2, 0 + ldrsh r3, [r3, r2] + movs r2, 0x58 + muls r2, r3 + adds r1, r2 + movs r2, 0x58 + bl memcpy +_0803312A: + ldr r2, [r6] + ldr r0, [r2, 0x40] + adds r1, r2, 0 + adds r1, 0xA8 + adds r2, r5 +_08033134: + bl sub_8037D64 + ldr r1, [r6] + str r0, [r1, 0x44] +_0803313C: + ldr r4, _0803318C + ldr r2, [r4] + ldr r0, [r2, 0x44] + cmp r0, 0 + beq _08033148 + b _080333DE +_08033148: + ldr r0, [r2, 0x40] + cmp r0, 0x2 + bcs _08033150 + b _080333DE +_08033150: + cmp r0, 0x3 + bls _08033190 + cmp r0, 0x5 + bls _0803315A + b _080333DE +_0803315A: + adds r1, r2, 0 + adds r1, 0xA8 + movs r3, 0x98 + lsls r3, 1 + adds r2, r3 + bl sub_80381F4 + ldr r1, [r4] + str r0, [r1, 0x44] + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + beq _080331C0 + ldr r0, [r4] + movs r4, 0x84 + lsls r4, 3 + adds r1, r0, r4 + movs r5, 0xA0 + lsls r5, 1 + adds r0, r5 + b _080333DA + .align 2, 0 +_08033188: .4byte gUnknown_203B45C +_0803318C: .4byte gUnknown_203B33C +_08033190: + adds r1, r2, 0 + adds r1, 0x48 + adds r2, 0x78 + bl sub_80381F4 + ldr r1, [r4] + str r0, [r1, 0x44] + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + beq _080331B4 + ldr r0, [r4] + movs r2, 0x84 + lsls r2, 3 + adds r1, r0, r2 + adds r0, 0x88 + b _080333DA +_080331B4: + ldr r0, [r4] + movs r3, 0x84 + lsls r3, 3 + adds r1, r0, r3 + ldr r0, [r0, 0x58] + b _080333DC +_080331C0: + ldr r0, [r4] + movs r4, 0x84 + lsls r4, 3 + adds r1, r0, r4 + adds r0, 0xB8 + b _080333DA +_080331CC: + ldr r0, _080331D0 + b _0803388E + .align 2, 0 +_080331D0: .4byte gUnknown_80E2F14 +_080331D4: + ldr r0, _080331D8 + b _0803388E + .align 2, 0 +_080331D8: .4byte gUnknown_80E2F44 +_080331DC: + bl sub_8030894 + cmp r0, 0 + beq _080331E6 + b _080338B4 +_080331E6: + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + b _080336A6 +_080331F8: + ldr r0, _080331FC + b _080336FA + .align 2, 0 +_080331FC: .4byte gUnknown_80E2F78 +_08033200: + ldr r0, _08033204 + b _0803388E + .align 2, 0 +_08033204: .4byte gUnknown_80E2FA0 +_08033208: + ldr r0, [r6] + ldr r5, _08033220 + adds r0, r5 + ldr r0, [r0] + cmp r0, 0xC + bne _08033216 + b _080338B4 +_08033216: + cmp r0, 0xC + bhi _08033224 + cmp r0, 0xB + beq _0803322A + b _080338B4 + .align 2, 0 +_08033220: .4byte 0x00000524 +_08033224: + cmp r0, 0xE + bls _0803322A + b _080338B4 +_0803322A: + ldr r0, _08033230 + b _0803388E + .align 2, 0 +_08033230: .4byte gUnknown_80E2FEC +_08033234: + ldr r0, _08033238 + b _0803388E + .align 2, 0 +_08033238: .4byte gUnknown_80E3030 +_0803323C: + ldr r0, _08033240 + b _0803388E + .align 2, 0 +_08033240: .4byte gUnknown_80E3078 +_08033244: + ldr r0, [r6] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + b _080333F4 +_0803324E: + ldr r0, _08033254 + ldr r3, _08033258 + b _080336FC + .align 2, 0 +_08033254: .4byte gUnknown_80E30A4 +_08033258: .4byte gUnknown_80E2458 +_0803325C: + ldr r0, _08033260 + b _0803388E + .align 2, 0 +_08033260: .4byte gUnknown_80E30D0 +_08033264: + 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, _08033280 + ldr r2, _08033284 + b _080336CC + .align 2, 0 +_08033280: .4byte gUnknown_80E231C +_08033284: .4byte gUnknown_80E2408 +_08033288: + bl sub_801D008 + cmp r0, 0 + beq _08033292 + b _080338B4 +_08033292: + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, _080332B4 + str r0, [sp, 0x64] + add r2, sp, 0x64 + movs r0, 0 + movs r1, 0x1 + movs r3, 0x9 + bl sub_801C8C4 + b _080338B4 + .align 2, 0 +_080332B4: .4byte 0x00020003 +_080332B8: + 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, _080332EC + ldr r2, _080332F0 + 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 + b _080336E2 + .align 2, 0 +_080332EC: .4byte gUnknown_80E23F0 +_080332F0: .4byte gUnknown_80E2408 +_080332F4: + 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 _080333DE + ldr r0, [r1, 0x40] + cmp r0, 0x6 + beq _0803331A + cmp r0, 0x7 + beq _08033358 + b _08033388 +_0803331A: + movs r4, 0xDC + lsls r4, 1 + adds r0, r1, r4 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r2, 0x86 + lsls r2, 2 + adds r0, r2 + 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 r3, 0xF4 + lsls r3, 1 + adds r2, r3 + b _0803337E +_08033358: + 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 +_0803337E: + adds r1, r4, 0 + bl sub_8037D64 + ldr r1, [r6] + str r0, [r1, 0x44] +_08033388: + ldr r4, _080333C8 + ldr r2, [r4] + ldr r0, [r2, 0x44] + cmp r0, 0 + bne _080333DE + ldr r0, [r2, 0x40] + cmp r0, 0x7 + bhi _080333DE + cmp r0, 0x6 + bcc _080333DE + movs r5, 0xDC + lsls r5, 1 + adds r1, r2, r5 + movs r3, 0xF4 + lsls r3, 1 + adds r2, r3 + bl sub_80381F4 + ldr r1, [r4] + str r0, [r1, 0x44] + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + beq _080333CC + ldr r0, [r4] + movs r4, 0x84 + lsls r4, 3 + adds r1, r0, r4 + adds r5, 0x40 + adds r0, r5 + b _080333DA + .align 2, 0 +_080333C8: .4byte gUnknown_203B33C +_080333CC: + ldr r0, [r4] + movs r2, 0x84 + lsls r2, 3 + adds r1, r0, r2 + movs r3, 0xE4 + lsls r3, 1 + adds r0, r3 +_080333DA: + ldr r0, [r0] +_080333DC: + str r0, [r1] +_080333DE: + bl xxx_call_start_bg_music + b _080338B4 +_080333E4: + ldr r0, _080333E8 + b _0803388E + .align 2, 0 +_080333E8: .4byte gUnknown_80E311C +_080333EC: + ldr r0, [r6] + movs r4, 0xEF + lsls r4, 2 + adds r0, r4 +_080333F4: + 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 _080338B4 +_08033412: + ldr r0, _08033418 + b _0803388E + .align 2, 0 +_08033418: .4byte gUnknown_80E314C +_0803341C: + 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 r0, [r6] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 +_0803343E: + ldrb r0, [r0] + movs r1, 0 + bl sub_8031D70 + b _080338B4 +_08033448: + ldr r0, _0803344C + b _0803388E + .align 2, 0 +_0803344C: .4byte gUnknown_80E317C +_08033450: + ldr r0, _08033454 + b _0803388E + .align 2, 0 +_08033454: .4byte gUnknown_80E319C +_08033458: + ldr r0, _0803345C + b _0803388E + .align 2, 0 +_0803345C: .4byte gUnknown_80E317C +_08033460: + ldr r0, _08033464 + b _0803388E + .align 2, 0 +_08033464: .4byte gUnknown_80E31D8 +_08033468: + ldr r0, _0803346C + b _0803388E + .align 2, 0 +_0803346C: .4byte gUnknown_80E31FC +_08033470: + ldr r0, [r6] + ldr r2, _08033488 + adds r0, r2 + ldr r0, [r0] + cmp r0, 0xC + bne _0803347E + b _080338B4 +_0803347E: + cmp r0, 0xC + bhi _0803348C + cmp r0, 0xB + beq _08033492 + b _080338B4 + .align 2, 0 +_08033488: .4byte 0x00000524 +_0803348C: + cmp r0, 0xE + bls _08033492 + b _080338B4 +_08033492: + ldr r0, _08033498 + b _0803388E + .align 2, 0 +_08033498: .4byte gUnknown_80E3220 +_0803349C: + movs r0, 0x98 + lsls r0, 1 + bl GetMonSpecies + adds r1, r0, 0 + ldr r4, _080334F8 + ldr r0, [r4] + ldr r3, _080334FC + adds r0, r3 + bl strcpy + ldr r1, [r4] + movs r5, 0xAA + lsls r5, 3 + adds r0, r1, r5 + movs r2, 0 + strh r2, [r0] + ldr r0, _08033500 + adds r1, r0 + movs r0, 0x2 + strb r0, [r1] + ldr r0, [r4] + ldr r3, _08033504 + adds r1, r0, r3 + str r2, [r1] + movs r5, 0x84 + lsls r5, 3 + adds r0, r5 + 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 _08033508 + ldr r0, [r4] + movs r3, 0xAB + lsls r3, 3 + adds r0, r3 + b _08033512 + .align 2, 0 +_080334F8: .4byte gUnknown_203B33C +_080334FC: .4byte 0x0000053c +_08033500: .4byte 0x00000552 +_08033504: .4byte 0x00000554 +_08033508: + ldr r0, [r4] + movs r4, 0xAB + lsls r4, 3 + adds r0, r4 + movs r1, 0 +_08033512: + strb r1, [r0] + ldr r4, _08033558 + ldr r0, [r4] + ldr r5, _0803355C + adds r0, r5 + 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, _08033560 + adds r1, r0 + strb r5, [r1] + ldr r0, [r4] + ldr r1, _08033564 + adds r0, r1 + strb r5, [r0] + ldr r0, [r4] + ldr r2, _08033568 + adds r0, r2 + strb r5, [r0] + ldr r0, [r4] + subs r3, 0x24 + adds r0, r3 + movs r1, 0 + bl sub_802F204 + b _080338B4 + .align 2, 0 +_08033558: .4byte gUnknown_203B33C +_0803355C: .4byte 0x0000055b +_08033560: .4byte 0x00000559 +_08033564: .4byte 0x0000055a +_08033568: .4byte 0x0000055c +_0803356C: + movs r0, 0 + bl nullsub_23 + ldr r0, _08033580 +_08033574: + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_80141B4 + b _080338B4 + .align 2, 0 +_08033580: .4byte gUnknown_80E2DD0 +_08033584: + ldr r0, [r6] + ldr r4, _0803359C + adds r0, r4 + ldr r0, [r0] + cmp r0, 0xC + bne _08033592 + b _080338B4 +_08033592: + cmp r0, 0xC + bhi _080335A0 + cmp r0, 0xB + beq _080335A6 + b _080338B4 + .align 2, 0 +_0803359C: .4byte 0x00000524 +_080335A0: + cmp r0, 0xE + bls _080335A6 + b _080338B4 +_080335A6: + ldr r0, _080335AC + b _0803388E + .align 2, 0 +_080335AC: .4byte gUnknown_80E3248 +_080335B0: + ldr r0, _080335B4 + b _0803388E + .align 2, 0 +_080335B4: .4byte gUnknown_80E3288 +_080335B8: + ldr r0, _080335BC + b _080336FA + .align 2, 0 +_080335BC: .4byte gUnknown_80E2D7C +_080335C0: + bl sub_808D33C + adds r1, r0, 0 + adds r1, 0x4C + add r0, sp, 0x14 + movs r2, 0xA + bl sub_80922B4 + ldr r5, _080335E8 + ldr r0, [r5] + ldr r4, _080335EC + adds r0, r4 + ldr r1, _080335F0 + add r2, sp, 0x14 + bl sub_800D158 + ldr r0, [r5] + adds r0, r4 + b _0803388E + .align 2, 0 +_080335E8: .4byte gUnknown_203B33C +_080335EC: .4byte 0x00000424 +_080335F0: .4byte gUnknown_80E32C4 +_080335F4: + ldr r0, _080335FC + ldr r3, _08033600 + b _080336FC + .align 2, 0 +_080335FC: .4byte gUnknown_80E331C +_08033600: .4byte gUnknown_80E24D8 +_08033604: + ldr r0, _08033608 + b _0803388E + .align 2, 0 +_08033608: .4byte gUnknown_80E317C +_0803360C: + ldr r0, _08033610 + b _0803388E + .align 2, 0 +_08033610: .4byte gUnknown_80E2A0C +_08033614: + ldr r0, _08033618 + b _0803388E + .align 2, 0 +_08033618: .4byte gUnknown_80E3378 +_0803361C: + ldr r0, _0803363C + ldr r3, _08033640 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x16 + bl sub_8014248 + b _080338B4 + .align 2, 0 +_0803363C: .4byte gUnknown_80E339C +_08033640: .4byte gUnknown_80E24B0 +_08033644: + ldr r0, _08033664 + ldr r3, _08033668 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x15 + bl sub_8014248 + b _080338B4 + .align 2, 0 +_08033664: .4byte gUnknown_80E33D8 +_08033668: .4byte gUnknown_80E2470 +_0803366C: + ldr r0, _08033670 + b _0803388E + .align 2, 0 +_08033670: .4byte gUnknown_80E3430 +_08033674: + ldr r0, _0803367C + ldr r3, _08033680 + b _080336FC + .align 2, 0 +_0803367C: .4byte gUnknown_80E34B0 +_08033680: .4byte gUnknown_80E2440 +_08033684: + ldr r0, _08033688 + b _0803388E + .align 2, 0 +_08033688: .4byte gUnknown_80E34F0 +_0803368C: + bl sub_8030894 + cmp r0, 0 + beq _08033696 + b _080338B4 +_08033696: + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x5 +_080336A6: + movs r1, 0 + movs r2, 0 + movs r3, 0x6 + bl sub_80306A8 + b _080338B4 +_080336B2: + 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, _080336F0 + ldr r2, _080336F4 +_080336CC: + 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 +_080336E2: + ldr r0, [r6] + adds r0, r5 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + b _080338B4 + .align 2, 0 +_080336F0: .4byte gUnknown_80E231C +_080336F4: .4byte gUnknown_80E234C +_080336F8: + ldr r0, _08033718 +_080336FA: + ldr r3, _0803371C +_080336FC: + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x6 + bl sub_8014248 + b _080338B4 + .align 2, 0 +_08033718: .4byte gUnknown_80E352C +_0803371C: .4byte gUnknown_80E2290 +_08033720: + ldr r0, _08033724 + b _0803388E + .align 2, 0 +_08033724: .4byte gUnknown_80E355C +_08033728: + ldr r0, _0803372C + b _0803388E + .align 2, 0 +_0803372C: .4byte gUnknown_80E35AC +_08033730: + ldr r0, _08033734 + b _0803388E + .align 2, 0 +_08033734: .4byte gUnknown_80E35E8 +_08033738: + ldr r0, [r6] + ldr r0, [r0, 0x40] + cmp r0, 0x6 + bne _08033748 + ldr r0, _08033744 + b _0803374A + .align 2, 0 +_08033744: .4byte gUnknown_80E360C +_08033748: + ldr r0, _08033768 +_0803374A: + ldr r3, _0803376C + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0xB + bl sub_8014248 + b _080338B4 + .align 2, 0 +_08033768: .4byte gUnknown_80E3644 +_0803376C: .4byte gUnknown_80E236C +_08033770: + ldr r0, _08033780 + ldr r1, [r6] + ldr r5, _08033784 + adds r1, r5 + ldr r2, [r1] + ldr r3, _08033788 + b _08033858 + .align 2, 0 +_08033780: .4byte gUnknown_80E367C +_08033784: .4byte 0x00000564 +_08033788: .4byte gUnknown_80E25B4 +_0803378C: + ldr r0, [r6] + ldr r1, _080337A4 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x24 + beq _080337BC + cmp r0, 0x24 + bgt _080337A8 + cmp r0, 0x23 + beq _080337B2 + b _080338B4 + .align 2, 0 +_080337A4: .4byte 0x00000564 +_080337A8: + cmp r0, 0x25 + beq _080337C4 + cmp r0, 0x26 + beq _080337CC + b _080338B4 +_080337B2: + ldr r0, _080337B8 + b _0803388E + .align 2, 0 +_080337B8: .4byte gUnknown_80E3690 +_080337BC: + ldr r0, _080337C0 + b _0803388E + .align 2, 0 +_080337C0: .4byte gUnknown_80E3818 +_080337C4: + ldr r0, _080337C8 + b _0803388E + .align 2, 0 +_080337C8: .4byte gUnknown_80E3998 +_080337CC: + ldr r0, _080337D0 + b _0803388E + .align 2, 0 +_080337D0: .4byte gUnknown_80E3B1C +_080337D4: + ldr r0, _080337E4 + ldr r1, [r6] + ldr r2, _080337E8 + adds r1, r2 + ldr r2, [r1] + ldr r3, _080337EC + b _08033858 + .align 2, 0 +_080337E4: .4byte gUnknown_80E367C +_080337E8: .4byte 0x00000564 +_080337EC: .4byte gUnknown_80E2554 +_080337F0: + ldr r0, [r6] + ldr r3, _08033808 + adds r0, r3 + ldr r0, [r0] + subs r0, 0x1E + cmp r0, 0x4 + bhi _080338B4 + lsls r0, 2 + ldr r1, _0803380C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08033808: .4byte 0x00000564 +_0803380C: .4byte _08033810 + .align 2, 0 +_08033810: + .4byte _08033824 + .4byte _0803382C + .4byte _0803383C + .4byte _08033834 + .4byte _08033844 +_08033824: + ldr r0, _08033828 + b _0803388E + .align 2, 0 +_08033828: .4byte gUnknown_80E3BF8 +_0803382C: + ldr r0, _08033830 + b _0803388E + .align 2, 0 +_08033830: .4byte gUnknown_80E3DE4 +_08033834: + ldr r0, _08033838 + b _0803388E + .align 2, 0 +_08033838: .4byte gUnknown_80E3E98 +_0803383C: + ldr r0, _08033840 + b _0803388E + .align 2, 0 +_08033840: .4byte gUnknown_80E4014 +_08033844: + ldr r0, _08033848 + b _0803388E + .align 2, 0 +_08033848: .4byte gUnknown_80E4130 +_0803384C: + ldr r0, _08033870 + ldr r1, [r6] + ldr r4, _08033874 + adds r1, r4 + ldr r2, [r1] + ldr r3, _08033878 +_08033858: + movs r4, 0 + str r4, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] +_08033864: + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + bl sub_8014248 + b _080338B4 + .align 2, 0 +_08033870: .4byte gUnknown_80E367C +_08033874: .4byte 0x00000564 +_08033878: .4byte gUnknown_80E24F8 +_0803387C: + ldr r0, [r6] + ldr r5, _0803389C + adds r0, r5 + ldr r0, [r0] + cmp r0, 0x1A + beq _080338A8 + cmp r0, 0x1D + bne _080338B4 + ldr r0, _080338A0 +_0803388E: + ldr r3, _080338A4 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _080338B4 + .align 2, 0 +_0803389C: .4byte 0x00000564 +_080338A0: .4byte gUnknown_80E41DC +_080338A4: .4byte 0x00000101 +_080338A8: + ldr r0, _080338BC + ldr r3, _080338C0 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_080338B4: + add sp, 0x68 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080338BC: .4byte gUnknown_80E4314 +_080338C0: .4byte 0x00000101 + thumb_func_end sub_8032828 + + thumb_func_start sub_80338C4 +sub_80338C4: + push {lr} + ldr r1, _080338D8 + ldr r1, [r1] + str r0, [r1] + bl nullsub_40 + bl sub_8032828 + pop {r0} + bx r0 + .align 2, 0 +_080338D8: .4byte gUnknown_203B33C + thumb_func_end sub_80338C4 + + thumb_func_start sub_80338DC +sub_80338DC: + push {lr} + cmp r0, 0x10 + bls _080338E4 + b _080339BC +_080338E4: + lsls r0, 2 + ldr r1, _080338F0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080338F0: .4byte _080338F4 + .align 2, 0 +_080338F4: + .4byte _080339BC + .4byte _08033998 + .4byte _08033940 + .4byte _08033938 + .4byte _08033948 + .4byte _08033998 + .4byte _08033950 + .4byte _08033958 + .4byte _08033960 + .4byte _08033968 + .4byte _08033970 + .4byte _08033978 + .4byte _08033980 + .4byte _08033990 + .4byte _08033998 + .4byte _080339B0 + .4byte _08033988 +_08033938: + ldr r0, _0803393C + b _0803399A + .align 2, 0 +_0803393C: .4byte gUnknown_80E44A4 +_08033940: + ldr r0, _08033944 + b _0803399A + .align 2, 0 +_08033944: .4byte gUnknown_80E4500 +_08033948: + ldr r0, _0803394C + b _0803399A + .align 2, 0 +_0803394C: .4byte gUnknown_80E4550 +_08033950: + ldr r0, _08033954 + b _0803399A + .align 2, 0 +_08033954: .4byte gUnknown_80E45B4 +_08033958: + ldr r0, _0803395C + b _0803399A + .align 2, 0 +_0803395C: .4byte gUnknown_80E460C +_08033960: + ldr r0, _08033964 + b _0803399A + .align 2, 0 +_08033964: .4byte gUnknown_80E4650 +_08033968: + ldr r0, _0803396C + b _0803399A + .align 2, 0 +_0803396C: .4byte gUnknown_80E468C +_08033970: + ldr r0, _08033974 + b _0803399A + .align 2, 0 +_08033974: .4byte gUnknown_80E46C8 +_08033978: + ldr r0, _0803397C + b _0803399A + .align 2, 0 +_0803397C: .4byte gUnknown_80E4704 +_08033980: + ldr r0, _08033984 + b _0803399A + .align 2, 0 +_08033984: .4byte gUnknown_80E4744 +_08033988: + ldr r0, _0803398C + b _0803399A + .align 2, 0 +_0803398C: .4byte gUnknown_80E4788 +_08033990: + ldr r0, _08033994 + b _0803399A + .align 2, 0 +_08033994: .4byte gUnknown_80E47D8 +_08033998: + ldr r0, _080339A8 +_0803399A: + ldr r3, _080339AC + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _080339BC + .align 2, 0 +_080339A8: .4byte gUnknown_80E4480 +_080339AC: .4byte 0x00000101 +_080339B0: + ldr r0, _080339C0 + ldr r3, _080339C4 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_080339BC: + pop {r0} + bx r0 + .align 2, 0 +_080339C0: .4byte gUnknown_80E482C +_080339C4: .4byte 0x00000101 + thumb_func_end sub_80338DC + + thumb_func_start sub_80339C8 +sub_80339C8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033A24 + ldr r0, _080339F4 + ldr r0, [r0] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + ldr r1, _080339F8 + strh r1, [r0] + ldr r0, [sp] + cmp r0, 0x1 + beq _08033A0E + cmp r0, 0x1 + bgt _080339FC + cmp r0, 0 + beq _08033A06 + b _08033A24 + .align 2, 0 +_080339F4: .4byte gUnknown_203B33C +_080339F8: .4byte 0x0000ffff +_080339FC: + cmp r0, 0x8 + beq _08033A1E + cmp r0, 0x17 + beq _08033A16 + b _08033A24 +_08033A06: + movs r0, 0x3 + bl sub_80338C4 + b _08033A24 +_08033A0E: + movs r0, 0x4 + bl sub_80338C4 + b _08033A24 +_08033A16: + movs r0, 0x78 + bl sub_80338C4 + b _08033A24 +_08033A1E: + movs r0, 0x2 + bl sub_80338C4 +_08033A24: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80339C8 + + thumb_func_start sub_8033A2C +sub_8033A2C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + beq _08033A3C + b _08033B86 +_08033A3C: + ldr r2, _08033A58 + ldr r1, [r2] + movs r0, 0x8 + str r0, [r1, 0x40] + ldr r0, [sp] + subs r0, 0x3 + cmp r0, 0x11 + bls _08033A4E + b _08033B86 +_08033A4E: + lsls r0, 2 + ldr r1, _08033A5C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08033A58: .4byte gUnknown_203B33C +_08033A5C: .4byte _08033A60 + .align 2, 0 +_08033A60: + .4byte _08033ACA + .4byte _08033AEC + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B80 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033B86 + .4byte _08033AA8 + .4byte _08033B14 + .4byte _08033B3E + .4byte _08033B68 +_08033AA8: + ldr r0, [r2] + movs r1, 0x2 + str r1, [r0, 0x40] + movs r1, 0xA5 + lsls r1, 3 + adds r0, r1 + movs r1, 0x11 + str r1, [r0] + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + beq _08033B0C + movs r0, 0x31 + bl sub_80338C4 + b _08033B86 +_08033ACA: + ldr r0, [r2] + movs r1, 0x3 + str r1, [r0, 0x40] + movs r2, 0xA5 + lsls r2, 3 + adds r0, r2 + str r1, [r0] + bl sub_8095190 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _08033B36 + movs r0, 0xF + bl sub_80338C4 + b _08033B86 +_08033AEC: + ldr r0, [r2] + movs r1, 0x4 + str r1, [r0, 0x40] + movs r2, 0xA5 + lsls r2, 3 + adds r0, r2 + str r1, [r0] + movs r0, 0x4 + bl sub_8095324 + cmp r0, 0 + beq _08033B0C + movs r0, 0x1C + bl sub_80338C4 + b _08033B86 +_08033B0C: + movs r0, 0x22 + bl sub_80338C4 + b _08033B86 +_08033B14: + ldr r0, [r2] + movs r1, 0x5 + str r1, [r0, 0x40] + movs r1, 0xA5 + lsls r1, 3 + adds r0, r1 + movs r1, 0x12 + str r1, [r0] + movs r0, 0x5 + bl sub_8095324 + cmp r0, 0 + beq _08033B36 + movs r0, 0x3D + bl sub_80338C4 + b _08033B86 +_08033B36: + movs r0, 0xE + bl sub_80338C4 + b _08033B86 +_08033B3E: + ldr r0, [r2] + movs r1, 0x6 + str r1, [r0, 0x40] + movs r2, 0xA5 + lsls r2, 3 + adds r0, r2 + movs r1, 0x13 + str r1, [r0] + movs r0, 0x5 + bl sub_8095324 + cmp r0, 0 + bne _08033B60 + movs r0, 0x51 + bl sub_80338C4 + b _08033B86 +_08033B60: + movs r0, 0x5B + bl sub_80338C4 + b _08033B86 +_08033B68: + ldr r0, [r2] + movs r1, 0x7 + str r1, [r0, 0x40] + movs r1, 0xA5 + lsls r1, 3 + adds r0, r1 + movs r1, 0x14 + str r1, [r0] + movs r0, 0x52 + bl sub_80338C4 + b _08033B86 +_08033B80: + movs r0, 0x1 + bl sub_80338C4 +_08033B86: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033A2C + + thumb_func_start sub_8033B8C +sub_8033B8C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033C4C + ldr r2, [sp] + cmp r2, 0xC + bgt _08033BAA + cmp r2, 0xB + bge _08033BB0 + cmp r2, 0x8 + beq _08033C46 + b _08033C4C +_08033BAA: + cmp r2, 0xD + beq _08033BF4 + b _08033C4C +_08033BB0: + ldr r0, _08033BD4 + ldr r0, [r0] + ldr r1, _08033BD8 + adds r2, r0, r1 + movs r1, 0xB + str r1, [r2] + movs r3, 0xA5 + lsls r3, 3 + adds r0, r3 + ldr r0, [r0] + cmp r0, 0x4 + beq _08033BEC + cmp r0, 0x4 + bhi _08033BDC + cmp r0, 0x3 + beq _08033BE4 + b _08033C4C + .align 2, 0 +_08033BD4: .4byte gUnknown_203B33C +_08033BD8: .4byte 0x00000524 +_08033BDC: + cmp r0, 0x12 + bhi _08033C4C + cmp r0, 0x11 + bcc _08033C4C +_08033BE4: + movs r0, 0x5 + bl sub_80338C4 + b _08033C4C +_08033BEC: + movs r0, 0x23 + bl sub_80338C4 + b _08033C4C +_08033BF4: + ldr r0, _08033C14 + ldr r0, [r0] + ldr r3, _08033C18 + adds r1, r0, r3 + str r2, [r1] + movs r1, 0xA5 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x4 + beq _08033C3E + cmp r0, 0x4 + bhi _08033C1C + cmp r0, 0x3 + beq _08033C26 + b _08033C4C + .align 2, 0 +_08033C14: .4byte gUnknown_203B33C +_08033C18: .4byte 0x00000524 +_08033C1C: + cmp r0, 0x11 + beq _08033C2E + cmp r0, 0x12 + beq _08033C36 + b _08033C4C +_08033C26: + movs r0, 0x19 + bl sub_80338C4 + b _08033C4C +_08033C2E: + movs r0, 0x39 + bl sub_80338C4 + b _08033C4C +_08033C36: + movs r0, 0x43 + bl sub_80338C4 + b _08033C4C +_08033C3E: + movs r0, 0x2D + bl sub_80338C4 + b _08033C4C +_08033C46: + movs r0, 0x1 + bl sub_80338C4 +_08033C4C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033B8C + + thumb_func_start sub_8033C54 +sub_8033C54: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033CA2 + ldr r0, [sp] + cmp r0, 0x6 + beq _08033C6E + cmp r0, 0x8 + beq _08033C9C + b _08033CA2 +_08033C6E: + ldr r0, _08033C88 + ldr r0, [r0] + movs r1, 0xA5 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x4 + beq _08033C94 + cmp r0, 0x4 + bhi _08033C8C + cmp r0, 0x3 + beq _08033C94 + b _08033CA2 + .align 2, 0 +_08033C88: .4byte gUnknown_203B33C +_08033C8C: + cmp r0, 0x11 + beq _08033C94 + cmp r0, 0x12 + bne _08033CA2 +_08033C94: + movs r0, 0xD + bl sub_80338C4 + b _08033CA2 +_08033C9C: + movs r0, 0x1 + bl sub_80338C4 +_08033CA2: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033C54 + + thumb_func_start nullsub_41 +nullsub_41: + bx lr + thumb_func_end nullsub_41 + + thumb_func_start sub_8033CAC +sub_8033CAC: + push {r4,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033D40 + ldr r4, _08033CDC + ldr r1, [r4] + ldr r0, [r1, 0x44] + cmp r0, 0 + bne _08033D36 + movs r2, 0xA5 + lsls r2, 3 + adds r0, r1, r2 + ldr r0, [r0] + cmp r0, 0x4 + beq _08033D2E + cmp r0, 0x4 + bhi _08033CE0 + cmp r0, 0x3 + beq _08033CEA + b _08033D40 + .align 2, 0 +_08033CDC: .4byte gUnknown_203B33C +_08033CE0: + cmp r0, 0x11 + beq _08033CF2 + cmp r0, 0x12 + beq _08033CFA + b _08033D40 +_08033CEA: + movs r0, 0x16 + bl sub_80338C4 + b _08033D40 +_08033CF2: + movs r0, 0x37 + bl sub_80338C4 + b _08033D40 +_08033CFA: + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + beq _08033D12 + ldr r0, [r4] + movs r1, 0xB4 + lsls r1, 1 + adds r0, r1 + movs r2, 0 + ldrsh r0, [r0, r2] + b _08033D1A +_08033D12: + ldr r0, [r4] + adds r0, 0xE0 + movs r1, 0 + ldrsh r0, [r0, r1] +_08033D1A: + cmp r0, 0 + beq _08033D26 + movs r0, 0x3F + bl sub_80338C4 + b _08033D40 +_08033D26: + movs r0, 0x40 + bl sub_80338C4 + b _08033D40 +_08033D2E: + movs r0, 0x2B + bl sub_80338C4 + b _08033D40 +_08033D36: + bl sub_80338DC + movs r0, 0x8 + bl sub_80338C4 +_08033D40: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8033CAC + + thumb_func_start sub_8033D48 +sub_8033D48: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033D5C + movs r0, 0x1 + bl sub_80338C4 +_08033D5C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033D48 + + thumb_func_start nullsub_42 +nullsub_42: + bx lr + thumb_func_end nullsub_42 + + thumb_func_start nullsub_43 +nullsub_43: + bx lr + thumb_func_end nullsub_43 + + thumb_func_start nullsub_44 +nullsub_44: + bx lr + thumb_func_end nullsub_44 + + thumb_func_start nullsub_45 +nullsub_45: + bx lr + thumb_func_end nullsub_45 + + thumb_func_start sub_8033D74 +sub_8033D74: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033D8E + movs r0, 0x17 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_08033D8E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033D74 + + thumb_func_start sub_8033D94 +sub_8033D94: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033DB6 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08033DB6 + bl sub_8012750 + movs r0, 0x18 + bl sub_80338C4 +_08033DB6: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033D94 + + thumb_func_start sub_8033DBC +sub_8033DBC: + push {r4,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 _08033DD6 + b _08033F38 +_08033DD6: + cmp r4, 0x3 + beq _08033DDC + b _08033F58 +_08033DDC: + ldr r2, _08033DF4 + ldr r1, _08033DF8 + ldr r0, [r1] + movs r3, 0xA5 + lsls r3, 3 + adds r0, r3 + ldr r0, [r0] + cmp r0, 0x3 + beq _08033DFC + cmp r0, 0x12 + beq _08033E00 + b _08033E02 + .align 2, 0 +_08033DF4: .4byte 0x0000ffdc +_08033DF8: .4byte gUnknown_203B33C +_08033DFC: + movs r2, 0x1C + b _08033E02 +_08033E00: + movs r2, 0x1E +_08033E02: + ldr r1, [r1] + adds r1, 0x8 + adds r0, r2, 0 + add r2, sp, 0x14 + bl sub_8039068 + subs r0, 0x7 + cmp r0, 0x11 + bls _08033E16 + b _08033F2E +_08033E16: + lsls r0, 2 + ldr r1, _08033E20 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08033E20: .4byte _08033E24 + .align 2, 0 +_08033E24: + .4byte _08033EA0 + .4byte _08033F2E + .4byte _08033EE0 + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033E6C + .4byte _08033E98 + .4byte _08033ED8 + .4byte _08033F2E + .4byte _08033F2E + .4byte _08033EA8 + .4byte _08033EFC + .4byte _08033F2E +_08033E6C: + ldr r0, _08033E90 + ldr r3, _08033E94 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x6 + bl sub_8014248 + movs r0, 0x1B + bl sub_80338C4 + b _08033F2E + .align 2, 0 +_08033E90: .4byte gUnknown_80E48A8 +_08033E94: .4byte gUnknown_80E2290 +_08033E98: + ldr r0, _08033E9C + b _08033EE2 + .align 2, 0 +_08033E9C: .4byte gUnknown_80E48E8 +_08033EA0: + ldr r0, _08033EA4 + b _08033EE2 + .align 2, 0 +_08033EA4: .4byte gUnknown_80E460C +_08033EA8: + ldr r0, [sp, 0x24] + bl sub_8095274 + add r1, sp, 0x14 + movs r0, 0x2 + strb r0, [r1] + adds r0, r1, 0 + bl sub_80951BC + ldr r0, _08033ED0 + ldr r3, _08033ED4 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + movs r0, 0x16 + bl sub_80338C4 + b _08033F2E + .align 2, 0 +_08033ED0: .4byte gUnknown_80E4928 +_08033ED4: .4byte 0x00000101 +_08033ED8: + ldr r0, _08033EDC + b _08033EE2 + .align 2, 0 +_08033EDC: .4byte gUnknown_80E4964 +_08033EE0: + ldr r0, _08033EF4 +_08033EE2: + ldr r3, _08033EF8 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + movs r0, 0x8 + bl sub_80338C4 + b _08033F2E + .align 2, 0 +_08033EF4: .4byte gUnknown_80E499C +_08033EF8: .4byte 0x00000101 +_08033EFC: + add r1, sp, 0x14 + movs r0, 0x5 + strb r0, [r1] + adds r0, r1, 0 + bl sub_80951FC + ldr r1, [sp, 0x24] + movs r0, 0x1 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + movs r1, 0x7 + strb r1, [r0] + ldr r0, _08033F34 + ldr r0, [r0] + movs r1, 0 + movs r2, 0x5C + bl MemoryFill8 + movs r0, 0x40 + bl sub_80338C4 +_08033F2E: + bl sub_80155F0 + b _08033F58 + .align 2, 0 +_08033F34: .4byte gUnknown_203B484 +_08033F38: + bl sub_80155F0 + bl ResetUnusedInputStruct + ldr r0, _08033F60 + 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_80338C4 +_08033F58: + add sp, 0x44 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08033F60: .4byte gUnknown_203B33C + thumb_func_end sub_8033DBC + + thumb_func_start sub_8033F64 +sub_8033F64: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033FAE + ldr r0, [sp] + cmp r0, 0x6 + beq _08033F7E + cmp r0, 0x8 + beq _08033FA8 + b _08033FAE +_08033F7E: + ldr r0, _08033F94 + ldr r0, [r0] + movs r1, 0xA5 + lsls r1, 3 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x3 + beq _08033F98 + cmp r0, 0x12 + beq _08033FA0 + b _08033FAE + .align 2, 0 +_08033F94: .4byte gUnknown_203B33C +_08033F98: + movs r0, 0x19 + bl sub_80338C4 + b _08033FAE +_08033FA0: + movs r0, 0x43 + bl sub_80338C4 + b _08033FAE +_08033FA8: + movs r0, 0x1 + bl sub_80338C4 +_08033FAE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033F64 + + thumb_func_start sub_8033FB4 +sub_8033FB4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08033FDE + ldr r0, [sp] + cmp r0, 0x6 + bne _08033FD0 + movs r0, 0xE + bl sub_80338C4 + b _08033FDE +_08033FD0: + cmp r0, 0x6 + blt _08033FDE + cmp r0, 0x8 + bgt _08033FDE + movs r0, 0x1 + bl sub_80338C4 +_08033FDE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8033FB4 + + thumb_func_start sub_8033FE4 +sub_8033FE4: + push {r4,r5,lr} + movs r0, 0x1 + bl sub_8030768 + cmp r0, 0x3 + beq _0803400C + cmp r0, 0x3 + bhi _08033FFA + cmp r0, 0x2 + beq _08034000 + b _0803406A +_08033FFA: + cmp r0, 0x4 + beq _08034028 + b _0803406A +_08034000: + bl sub_803084C + movs r0, 0x1 + bl sub_80338C4 + b _0803406A +_0803400C: + bl sub_80307EC + ldr r1, _08034024 + ldr r1, [r1] + movs r2, 0x86 + lsls r2, 2 + adds r1, r2 + strb r0, [r1] + movs r0, 0x1E + bl sub_80338C4 + b _0803406A + .align 2, 0 +_08034024: .4byte gUnknown_203B33C +_08034028: + ldr r4, _08034070 + ldr r1, [r4] + movs r0, 0x1D + str r0, [r1, 0x4] + bl sub_80307EC + ldr r1, [r4] + movs r5, 0x86 + lsls r5, 2 + adds r1, r5 + strb r0, [r1] + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + adds r0, r5 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x1F + bl sub_80338C4 +_0803406A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08034070: .4byte gUnknown_203B33C + thumb_func_end sub_8033FE4 + + thumb_func_start sub_8034074 +sub_8034074: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_8030768 + ldr r4, _080340B8 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _080340A6 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_080340A6: + ldr r0, [sp] + cmp r0, 0x8 + beq _08034108 + cmp r0, 0x8 + bgt _080340BC + cmp r0, 0x5 + beq _08034108 + b _08034124 + .align 2, 0 +_080340B8: .4byte gUnknown_203B33C +_080340BC: + cmp r0, 0x9 + beq _080340C6 + cmp r0, 0xA + beq _080340D2 + b _08034124 +_080340C6: + bl sub_803084C + movs r0, 0x20 + bl sub_80338C4 + b _08034124 +_080340D2: + ldr r0, [r4] + movs r1, 0x7E + str r1, [r0, 0x4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x1F + bl sub_80338C4 + b _08034124 +_08034108: + ldr r0, _0803412C + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x2 + bl sub_8035CC0 + movs r0, 0x1 + bl sub_8030810 + movs r0, 0x1D + bl sub_80338C4 +_08034124: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803412C: .4byte gUnknown_203B33C + thumb_func_end sub_8034074 + + thumb_func_start sub_8034130 +sub_8034130: + push {r4,lr} + bl sub_8030DA0 + cmp r0, 0x3 + bhi _08034184 + cmp r0, 0x2 + bcc _08034184 + bl sub_8030DE4 + bl ResetUnusedInputStruct + ldr r4, _0803417C + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_803092C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x7E + bne _08034180 + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x1E + bl sub_80338C4 + b _08034184 + .align 2, 0 +_0803417C: .4byte gUnknown_203B33C +_08034180: + bl sub_80338C4 +_08034184: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8034130 + + thumb_func_start sub_803418C +sub_803418C: + push {r4,r5,lr} + movs r0, 0x1 + bl sub_8023A94 + cmp r0, 0x3 + beq _080341D0 + cmp r0, 0x3 + bhi _080341A2 + cmp r0, 0x2 + beq _080341A8 + b _08034248 +_080341A2: + cmp r0, 0x4 + beq _08034204 + b _08034248 +_080341A8: + bl sub_8023C60 + movs r0, 0x1 + bl sub_80338C4 + bl sub_8035D1C + ldr r0, _080341C8 + ldr r0, [r0] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + ldr r1, _080341CC + strh r1, [r0] + b _08034248 + .align 2, 0 +_080341C8: .4byte gUnknown_203B33C +_080341CC: .4byte 0x0000ffff +_080341D0: + bl sub_8023B44 + ldr r1, _080341F4 + ldr r1, [r1] + movs r3, 0xA7 + lsls r3, 3 + adds r2, r1, r3 + strh r0, [r2] + ldr r0, _080341F8 + adds r1, r0 + ldr r0, [r1] + cmp r0, 0xE + bne _080341FC + movs r0, 0x9 + bl sub_80338C4 + b _08034248 + .align 2, 0 +_080341F4: .4byte gUnknown_203B33C +_080341F8: .4byte 0x00000524 +_080341FC: + movs r0, 0x27 + bl sub_80338C4 + b _08034248 +_08034204: + ldr r4, _08034250 + ldr r1, [r4] + movs r0, 0x26 + str r0, [r1, 0x4] + bl sub_8023B44 + adds r2, r0, 0 + ldr r0, [r4] + movs r5, 0xA7 + lsls r5, 3 + adds r1, r0, r5 + strh r2, [r1] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + adds r0, r5 + movs r3, 0 + ldrsh r0, [r0, r3] + movs r1, 0 + bl sub_8024458 + movs r0, 0x28 + bl sub_80338C4 +_08034248: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08034250: .4byte gUnknown_203B33C + thumb_func_end sub_803418C + + thumb_func_start sub_8034254 +sub_8034254: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_8023A94 + ldr r4, _08034298 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08034286 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_08034286: + ldr r0, [sp] + cmp r0, 0x8 + beq _080342EA + cmp r0, 0x8 + bgt _0803429C + cmp r0, 0x5 + beq _080342EA + b _08034304 + .align 2, 0 +_08034298: .4byte gUnknown_203B33C +_0803429C: + cmp r0, 0x9 + beq _080342A6 + cmp r0, 0xA + beq _080342B2 + b _08034304 +_080342A6: + bl sub_8023C60 + movs r0, 0x29 + bl sub_80338C4 + b _08034304 +_080342B2: + ldr r0, [r4] + movs r1, 0x7E + str r1, [r0, 0x4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0xA7 + lsls r1, 3 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0 + bl sub_8024458 + movs r0, 0x28 + bl sub_80338C4 + b _08034304 +_080342EA: + ldr r0, _0803430C + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x3 + bl sub_8035CC0 + bl sub_8023DA4 + movs r0, 0x26 + bl sub_80338C4 +_08034304: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803430C: .4byte gUnknown_203B33C + thumb_func_end sub_8034254 + + thumb_func_start sub_8034310 +sub_8034310: + push {r4,lr} + bl sub_80244E4 + cmp r0, 0x1 + bne _08034320 + bl sub_802452C + b _08034370 +_08034320: + cmp r0, 0x1 + bcc _08034370 + cmp r0, 0x3 + bhi _08034370 + bl sub_802453C + bl ResetUnusedInputStruct + ldr r4, _08034368 + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl sub_8023B7C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x7E + bne _0803436C + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x27 + bl sub_80338C4 + b _08034370 + .align 2, 0 +_08034368: .4byte gUnknown_203B33C +_0803436C: + bl sub_80338C4 +_08034370: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8034310 + + thumb_func_start sub_8034378 +sub_8034378: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080343BE + ldr r0, [sp] + cmp r0, 0x8 + beq _080343B8 + cmp r0, 0x10 + bne _080343BE + ldr r0, _080343A8 + ldr r0, [r0] + ldr r1, _080343AC + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xE + bne _080343B0 + movs r0, 0x9 + bl sub_80338C4 + b _080343BE + .align 2, 0 +_080343A8: .4byte gUnknown_203B33C +_080343AC: .4byte 0x00000524 +_080343B0: + movs r0, 0x5 + bl sub_80338C4 + b _080343BE +_080343B8: + movs r0, 0x1 + bl sub_80338C4 +_080343BE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034378 + + thumb_func_start sub_80343C4 +sub_80343C4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080343FE + ldr r0, [sp] + cmp r0, 0x7 + beq _080343F0 + cmp r0, 0x7 + bgt _080343E2 + cmp r0, 0x6 + beq _080343E8 + b _080343FE +_080343E2: + cmp r0, 0x8 + beq _080343F8 + b _080343FE +_080343E8: + movs r0, 0x5 + bl sub_80338C4 + b _080343FE +_080343F0: + movs r0, 0x25 + bl sub_80338C4 + b _080343FE +_080343F8: + movs r0, 0x1 + bl sub_80338C4 +_080343FE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80343C4 + + thumb_func_start sub_8034404 +sub_8034404: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034472 + ldr r0, [sp] + cmp r0, 0xF + beq _08034428 + cmp r0, 0xF + bgt _08034422 + cmp r0, 0x8 + beq _0803446C + b _08034472 +_08034422: + cmp r0, 0x10 + beq _08034444 + b _08034472 +_08034428: + movs r0, 0x3 + bl sub_8024108 + lsls r0, 24 + cmp r0, 0 + beq _0803443C + movs r0, 0x24 + bl sub_80338C4 + b _08034472 +_0803443C: + movs r0, 0x25 + bl sub_80338C4 + b _08034472 +_08034444: + ldr r0, _0803445C + ldr r0, [r0] + ldr r1, _08034460 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xE + bne _08034464 + movs r0, 0x9 + bl sub_80338C4 + b _08034472 + .align 2, 0 +_0803445C: .4byte gUnknown_203B33C +_08034460: .4byte 0x00000524 +_08034464: + movs r0, 0x5 + bl sub_80338C4 + b _08034472 +_0803446C: + movs r0, 0x1 + bl sub_80338C4 +_08034472: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034404 + + thumb_func_start sub_8034478 +sub_8034478: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803449A + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _0803449A + bl sub_8012750 + movs r0, 0x2 + bl sub_80338C4 +_0803449A: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034478 + + thumb_func_start sub_80344A0 +sub_80344A0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080344BA + movs r0, 0x2C + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_080344BA: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80344A0 + + thumb_func_start sub_80344C0 +sub_80344C0: + push {lr} + bl sub_8031DCC + cmp r0, 0x1 + beq _080344F8 + cmp r0, 0x1 + bcc _080344FC + cmp r0, 0x3 + bhi _080344FC + bl sub_8031E10 + bl ResetUnusedInputStruct + ldr r0, _080344F4 + ldr r0, [r0] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x2F + bl sub_80338C4 + b _080344FC + .align 2, 0 +_080344F4: .4byte gUnknown_203B33C +_080344F8: + bl sub_8031E00 +_080344FC: + pop {r0} + bx r0 + thumb_func_end sub_80344C0 + + thumb_func_start sub_8034500 +sub_8034500: + push {r4,r5,lr} + movs r0, 0x1 + bl sub_8030768 + cmp r0, 0x3 + beq _08034528 + cmp r0, 0x3 + bhi _08034516 + cmp r0, 0x2 + beq _0803451C + b _08034586 +_08034516: + cmp r0, 0x4 + beq _08034544 + b _08034586 +_0803451C: + bl sub_803084C + movs r0, 0x1 + bl sub_80338C4 + b _08034586 +_08034528: + bl sub_80307EC + ldr r1, _08034540 + ldr r1, [r1] + movs r2, 0x86 + lsls r2, 2 + adds r1, r2 + strb r0, [r1] + movs r0, 0x33 + bl sub_80338C4 + b _08034586 + .align 2, 0 +_08034540: .4byte gUnknown_203B33C +_08034544: + ldr r4, _0803458C + ldr r1, [r4] + movs r0, 0x32 + str r0, [r1, 0x4] + bl sub_80307EC + ldr r1, [r4] + movs r5, 0x86 + lsls r5, 2 + adds r1, r5 + strb r0, [r1] + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + adds r0, r5 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x34 + bl sub_80338C4 +_08034586: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0803458C: .4byte gUnknown_203B33C + thumb_func_end sub_8034500 + + thumb_func_start sub_8034590 +sub_8034590: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_8030768 + ldr r4, _080345D4 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _080345C2 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_080345C2: + ldr r0, [sp] + cmp r0, 0x8 + beq _08034624 + cmp r0, 0x8 + bgt _080345D8 + cmp r0, 0x5 + beq _08034624 + b _08034640 + .align 2, 0 +_080345D4: .4byte gUnknown_203B33C +_080345D8: + cmp r0, 0x9 + beq _080345E2 + cmp r0, 0xA + beq _080345EE + b _08034640 +_080345E2: + bl sub_803084C + movs r0, 0x35 + bl sub_80338C4 + b _08034640 +_080345EE: + ldr r0, [r4] + movs r1, 0x7E + str r1, [r0, 0x4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x34 + bl sub_80338C4 + b _08034640 +_08034624: + ldr r0, _08034648 + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x2 + bl sub_8035CC0 + movs r0, 0x1 + bl sub_8030810 + movs r0, 0x32 + bl sub_80338C4 +_08034640: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08034648: .4byte gUnknown_203B33C + thumb_func_end sub_8034590 + + thumb_func_start sub_803464C +sub_803464C: + push {r4,lr} + bl sub_8030DA0 + cmp r0, 0x3 + bhi _080346A0 + cmp r0, 0x2 + bcc _080346A0 + bl sub_8030DE4 + bl ResetUnusedInputStruct + ldr r4, _08034698 + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_803092C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x7E + bne _0803469C + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x33 + bl sub_80338C4 + b _080346A0 + .align 2, 0 +_08034698: .4byte gUnknown_203B33C +_0803469C: + bl sub_80338C4 +_080346A0: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_803464C + + thumb_func_start sub_80346A8 +sub_80346A8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080346D2 + ldr r0, [sp] + cmp r0, 0x6 + bne _080346C4 + movs r0, 0xE + bl sub_80338C4 + b _080346D2 +_080346C4: + cmp r0, 0x6 + blt _080346D2 + cmp r0, 0x8 + bgt _080346D2 + movs r0, 0x1 + bl sub_80338C4 +_080346D2: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80346A8 + + thumb_func_start sub_80346D8 +sub_80346D8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080346FA + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _080346FA + bl sub_8012750 + movs r0, 0x2 + bl sub_80338C4 +_080346FA: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80346D8 + + thumb_func_start sub_8034700 +sub_8034700: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803471A + movs r0, 0x38 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_0803471A: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034700 + + thumb_func_start sub_8034720 +sub_8034720: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034734 + movs r0, 0x3A + bl sub_80338C4 +_08034734: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034720 + + thumb_func_start sub_803473C +sub_803473C: + push {lr} + bl sub_8031DCC + cmp r0, 0x1 + beq _08034774 + cmp r0, 0x1 + bcc _08034778 + cmp r0, 0x3 + bhi _08034778 + bl sub_8031E10 + bl ResetUnusedInputStruct + ldr r0, _08034770 + ldr r0, [r0] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x3B + bl sub_80338C4 + b _08034778 + .align 2, 0 +_08034770: .4byte gUnknown_203B33C +_08034774: + bl sub_8031E00 +_08034778: + pop {r0} + bx r0 + thumb_func_end sub_803473C + + thumb_func_start sub_803477C +sub_803477C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080347A6 + ldr r0, [sp] + cmp r0, 0x6 + bne _08034798 + movs r0, 0xE + bl sub_80338C4 + b _080347A6 +_08034798: + cmp r0, 0x6 + blt _080347A6 + cmp r0, 0x8 + bgt _080347A6 + movs r0, 0x1 + bl sub_80338C4 +_080347A6: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_803477C + + thumb_func_start sub_80347AC +sub_80347AC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080347C0 + movs r0, 0xD + bl sub_80338C4 +_080347C0: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80347AC + + thumb_func_start sub_80347C8 +sub_80347C8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080347DC + movs r0, 0x40 + bl sub_80338C4 +_080347DC: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80347C8 + + thumb_func_start sub_80347E4 +sub_80347E4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080347FE + movs r0, 0x41 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_080347FE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80347E4 + + thumb_func_start sub_8034804 +sub_8034804: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034826 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08034826 + bl sub_8012750 + movs r0, 0x42 + bl sub_80338C4 +_08034826: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034804 + + thumb_func_start sub_803482C +sub_803482C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034840 + movs r0, 0x1 + bl sub_80338C4 +_08034840: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_803482C + + thumb_func_start sub_8034848 +sub_8034848: + push {r4-r6,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + adds r6, r0, 0 + cmp r6, 0 + bne _080348BA + ldr r4, _0803489C + ldr r0, [r4] + ldr r5, _080348A0 + adds r0, r5 + movs r1, 0 + movs r2, 0x4 + bl MemoryFill8 + ldr r0, [r4] + ldr r1, _080348A4 + adds r0, r1 + strb r6, [r0] + ldr r0, [r4] + subs r1, 0x1 + adds r0, r1 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + adds r0, r5 + strb r6, [r0] + ldr r4, [r4] + ldr r0, [r4, 0x44] + cmp r0, 0 + bne _080348B0 + ldr r4, [r4, 0x40] + cmp r4, 0x6 + beq _080348A8 + cmp r4, 0x7 + bne _080348BA + movs r0, 0x6D + bl sub_80338C4 + b _080348BA + .align 2, 0 +_0803489C: .4byte gUnknown_203B33C +_080348A0: .4byte 0x0000041c +_080348A4: .4byte 0x0000041e +_080348A8: + movs r0, 0x50 + bl sub_80338C4 + b _080348BA +_080348B0: + bl sub_80338DC + movs r0, 0x6B + bl sub_80338C4 +_080348BA: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8034848 + + thumb_func_start sub_80348C4 +sub_80348C4: + push {r4-r6,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + adds r6, r0, 0 + cmp r6, 0 + bne _08034968 + ldr r4, _08034910 + ldr r0, [r4] + ldr r5, _08034914 + adds r0, r5 + movs r1, 0 + movs r2, 0x4 + bl MemoryFill8 + ldr r0, [r4] + ldr r1, _08034918 + adds r0, r1 + strb r6, [r0] + ldr r0, [r4] + subs r1, 0x1 + adds r0, r1 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + adds r0, r5 + strb r6, [r0] + ldr r0, [r4] + ldr r1, [r0, 0x44] + cmp r1, 0 + bne _0803495C + ldr r1, [r0, 0x40] + cmp r1, 0x6 + beq _0803491C + cmp r1, 0x7 + beq _08034954 + b _08034968 + .align 2, 0 +_08034910: .4byte gUnknown_203B33C +_08034914: .4byte 0x0000041c +_08034918: .4byte 0x0000041e +_0803491C: + ldr r1, _08034930 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xC + beq _08034944 + cmp r0, 0xC + bhi _08034934 + cmp r0, 0xB + beq _08034938 + b _08034944 + .align 2, 0 +_08034930: .4byte 0x00000524 +_08034934: + cmp r0, 0xE + bhi _08034944 +_08034938: + ldr r0, _0803494C + ldr r3, _08034950 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_08034944: + movs r0, 0x77 + bl sub_80338C4 + b _08034968 + .align 2, 0 +_0803494C: .4byte gUnknown_80E31FC +_08034950: .4byte 0x00000101 +_08034954: + movs r0, 0x6D + bl sub_80338C4 + b _08034968 +_0803495C: + adds r0, r1, 0 + bl sub_80338DC + movs r0, 0x6B + bl sub_80338C4 +_08034968: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_80348C4 + + thumb_func_start sub_8034970 +sub_8034970: + push {lr} + bl sub_8031DCC + cmp r0, 0x1 + beq _080349A8 + cmp r0, 0x1 + bcc _080349AC + cmp r0, 0x3 + bhi _080349AC + bl sub_8031E10 + bl ResetUnusedInputStruct + ldr r0, _080349A4 + ldr r0, [r0] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x68 + bl sub_80338C4 + b _080349AC + .align 2, 0 +_080349A4: .4byte gUnknown_203B33C +_080349A8: + bl sub_8031E00 +_080349AC: + pop {r0} + bx r0 + thumb_func_end sub_8034970 + + thumb_func_start sub_80349B0 +sub_80349B0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080349DA + ldr r0, [sp] + cmp r0, 0x6 + bne _080349CC + movs r0, 0x52 + bl sub_80338C4 + b _080349DA +_080349CC: + cmp r0, 0x6 + blt _080349DA + cmp r0, 0x8 + bgt _080349DA + movs r0, 0x1 + bl sub_80338C4 +_080349DA: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80349B0 + + thumb_func_start sub_80349E0 +sub_80349E0: + push {r4,r5,lr} + movs r0, 0x1 + bl sub_8030768 + cmp r0, 0x3 + beq _08034A08 + cmp r0, 0x3 + bhi _080349F6 + cmp r0, 0x2 + beq _080349FC + b _08034A66 +_080349F6: + cmp r0, 0x4 + beq _08034A24 + b _08034A66 +_080349FC: + bl sub_803084C + movs r0, 0x1 + bl sub_80338C4 + b _08034A66 +_08034A08: + bl sub_80307EC + ldr r1, _08034A20 + ldr r1, [r1] + movs r2, 0x86 + lsls r2, 2 + adds r1, r2 + strb r0, [r1] + movs r0, 0x5D + bl sub_80338C4 + b _08034A66 + .align 2, 0 +_08034A20: .4byte gUnknown_203B33C +_08034A24: + ldr r4, _08034A6C + ldr r1, [r4] + movs r0, 0x5C + str r0, [r1, 0x4] + bl sub_80307EC + ldr r1, [r4] + movs r5, 0x86 + lsls r5, 2 + adds r1, r5 + strb r0, [r1] + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + adds r0, r5 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x5E + bl sub_80338C4 +_08034A66: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08034A6C: .4byte gUnknown_203B33C + thumb_func_end sub_80349E0 + + thumb_func_start sub_8034A70 +sub_8034A70: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_8030768 + ldr r4, _08034AB4 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08034AA2 + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_08034AA2: + ldr r0, [sp] + cmp r0, 0x8 + beq _08034B04 + cmp r0, 0x8 + bgt _08034AB8 + cmp r0, 0x5 + beq _08034B04 + b _08034B20 + .align 2, 0 +_08034AB4: .4byte gUnknown_203B33C +_08034AB8: + cmp r0, 0x9 + beq _08034AC2 + cmp r0, 0xA + beq _08034ACE + b _08034B20 +_08034AC2: + bl sub_803084C + movs r0, 0x5A + bl sub_80338C4 + b _08034B20 +_08034ACE: + ldr r0, [r4] + movs r1, 0x7E + str r1, [r0, 0x4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0x86 + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + movs r1, 0 + bl sub_8030D40 + movs r0, 0x5E + bl sub_80338C4 + b _08034B20 +_08034B04: + ldr r0, _08034B28 + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x2 + bl sub_8035CC0 + movs r0, 0x1 + bl sub_8030810 + movs r0, 0x5C + bl sub_80338C4 +_08034B20: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08034B28: .4byte gUnknown_203B33C + thumb_func_end sub_8034A70 + + thumb_func_start sub_8034B2C +sub_8034B2C: + push {r4,lr} + bl sub_8030DA0 + cmp r0, 0x3 + bhi _08034B80 + cmp r0, 0x2 + bcc _08034B80 + bl sub_8030DE4 + bl ResetUnusedInputStruct + ldr r4, _08034B78 + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_803092C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x7E + bne _08034B7C + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x5D + bl sub_80338C4 + b _08034B80 + .align 2, 0 +_08034B78: .4byte gUnknown_203B33C +_08034B7C: + bl sub_80338C4 +_08034B80: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8034B2C + + thumb_func_start sub_8034B88 +sub_8034B88: + push {r4-r6,lr} + ldr r4, _08034BBC + ldr r0, [r4] + ldr r5, _08034BC0 + adds r0, r5 + movs r2, 0 + strb r2, [r0] + ldr r0, [r4] + ldr r1, _08034BC4 + adds r0, r1 + movs r1, 0x1 + strb r1, [r0] + ldr r0, [r4] + ldr r6, _08034BC8 + adds r0, r6 + strb r2, [r0] + movs r0, 0x1 + bl sub_801CA08 + cmp r0, 0x3 + beq _08034BDE + cmp r0, 0x3 + bhi _08034BCC + cmp r0, 0x2 + beq _08034BD2 + b _08034C30 + .align 2, 0 +_08034BBC: .4byte gUnknown_203B33C +_08034BC0: .4byte 0x0000041e +_08034BC4: .4byte 0x0000041d +_08034BC8: .4byte 0x0000041c +_08034BCC: + cmp r0, 0x4 + beq _08034BF8 + b _08034C30 +_08034BD2: + bl sub_801CBB8 + movs r0, 0x1 + bl sub_80338C4 + b _08034C30 +_08034BDE: + bl sub_801CB24 + ldr r1, [r4] + ldr r2, _08034BF4 + adds r1, r2 + strb r0, [r1] + movs r0, 0x60 + bl sub_80338C4 + b _08034C30 + .align 2, 0 +_08034BF4: .4byte 0x0000041e +_08034BF8: + ldr r1, [r4] + movs r0, 0x5F + str r0, [r1, 0x4] + bl sub_801CB24 + ldr r1, [r4] + adds r1, r5 + strb r0, [r1] + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + adds r0, r6 + bl sub_801B3C0 + movs r0, 0x61 + bl sub_80338C4 +_08034C30: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8034B88 + + thumb_func_start sub_8034C38 +sub_8034C38: + push {r4,lr} + bl sub_801B410 + cmp r0, 0x1 + beq _08034C90 + cmp r0, 0x1 + bcc _08034C90 + cmp r0, 0x3 + bhi _08034C90 + bl sub_801B450 + bl ResetUnusedInputStruct + ldr r4, _08034C88 + ldr r0, [r4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl sub_801CB5C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x7E + bne _08034C8C + movs r1, 0x87 + lsls r1, 2 + adds r0, r4, r1 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x60 + bl sub_80338C4 + b _08034C90 + .align 2, 0 +_08034C88: .4byte gUnknown_203B33C +_08034C8C: + bl sub_80338C4 +_08034C90: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8034C38 + + thumb_func_start sub_8034C98 +sub_8034C98: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_801CA08 + ldr r4, _08034CDC + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08034CCA + ldr r0, [r4] + movs r1, 0xC3 + lsls r1, 2 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_08034CCA: + ldr r0, [sp] + cmp r0, 0x8 + beq _08034D2C + cmp r0, 0x8 + bgt _08034CE0 + cmp r0, 0x5 + beq _08034D2C + b _08034D48 + .align 2, 0 +_08034CDC: .4byte gUnknown_203B33C +_08034CE0: + cmp r0, 0x9 + beq _08034CEA + cmp r0, 0xA + beq _08034CF6 + b _08034D48 +_08034CEA: + bl sub_801CBB8 + movs r0, 0x58 + bl sub_80338C4 + b _08034D48 +_08034CF6: + ldr r0, [r4] + movs r1, 0x7E + str r1, [r0, 0x4] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + ldr r1, _08034D28 + adds r0, r1 + bl sub_801B3C0 + movs r0, 0x61 + bl sub_80338C4 + b _08034D48 + .align 2, 0 +_08034D28: .4byte 0x0000041c +_08034D2C: + ldr r0, _08034D50 + ldr r0, [r0] + movs r1, 0xD7 + lsls r1, 2 + adds r0, r1 + movs r1, 0x3 + bl sub_8035CC0 + movs r0, 0x1 + bl sub_801CB5C + movs r0, 0x5F + bl sub_80338C4 +_08034D48: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08034D50: .4byte gUnknown_203B33C + thumb_func_end sub_8034C98 + + thumb_func_start sub_8034D54 +sub_8034D54: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034D6E + movs r0, 0x65 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_08034D6E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034D54 + + thumb_func_start sub_8034D74 +sub_8034D74: + 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 _08034D8E + b _08034E9C +_08034D8E: + cmp r4, 0x3 + beq _08034D94 + b _08034EBC +_08034D94: + ldr r0, _08034DB4 + ldr r1, [r0] + adds r1, 0x8 + movs r0, 0x20 + add r2, sp, 0x14 + bl sub_8039068 + subs r0, 0x7 + cmp r0, 0x11 + bhi _08034E90 + lsls r0, 2 + ldr r1, _08034DB8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08034DB4: .4byte gUnknown_203B33C +_08034DB8: .4byte _08034DBC + .align 2, 0 +_08034DBC: + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E38 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E04 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E30 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E90 + .4byte _08034E54 +_08034E04: + ldr r0, _08034E28 + ldr r3, _08034E2C + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x6 + bl sub_8014248 + movs r0, 0x74 + bl sub_80338C4 + b _08034E90 + .align 2, 0 +_08034E28: .4byte gUnknown_80E48A8 +_08034E2C: .4byte gUnknown_80E2440 +_08034E30: + ldr r0, _08034E34 + b _08034E3A + .align 2, 0 +_08034E34: .4byte gUnknown_80E49C4 +_08034E38: + ldr r0, _08034E4C +_08034E3A: + ldr r3, _08034E50 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + movs r0, 0x6B + bl sub_80338C4 + b _08034E90 + .align 2, 0 +_08034E4C: .4byte gUnknown_80E4704 +_08034E50: .4byte 0x00000101 +_08034E54: + 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, _08034E98 + ldr r0, [r0] + movs r1, 0x84 + lsls r1, 3 + adds r0, r1 + ldr r1, [sp, 0x24] + str r1, [r0] + movs r0, 0x6D + bl sub_80338C4 +_08034E90: + bl sub_80155F0 + b _08034EBC + .align 2, 0 +_08034E98: .4byte gUnknown_203B33C +_08034E9C: + bl sub_80155F0 + bl ResetUnusedInputStruct + ldr r0, _08034EC4 + ldr r0, [r0] + movs r3, 0xEF + lsls r3, 2 + adds r0, r3 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl sub_80338C4 +_08034EBC: + add sp, 0x44 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08034EC4: .4byte gUnknown_203B33C + thumb_func_end sub_8034D74 + + thumb_func_start sub_8034EC8 +sub_8034EC8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034EEA + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08034EEA + bl sub_8012750 + movs r0, 0x2 + bl sub_80338C4 +_08034EEA: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034EC8 + + thumb_func_start sub_8034EF0 +sub_8034EF0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034F12 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08034F12 + bl sub_8012750 + movs r0, 0x2 + bl sub_80338C4 +_08034F12: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034EF0 + + thumb_func_start sub_8034F18 +sub_8034F18: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034F32 + movs r0, 0x65 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_08034F32: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034F18 + + thumb_func_start sub_8034F38 +sub_8034F38: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034F52 + movs r0, 0x71 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_08034F52: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034F38 + + thumb_func_start sub_8034F58 +sub_8034F58: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08034F80 + ldr r0, [sp] + cmp r0, 0x6 + beq _08034F72 + cmp r0, 0x8 + beq _08034F7A + b _08034F80 +_08034F72: + movs r0, 0x62 + bl sub_80338C4 + b _08034F80 +_08034F7A: + movs r0, 0x1 + bl sub_80338C4 +_08034F80: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8034F58 + + thumb_func_start sub_8034F88 +sub_8034F88: + push {r4,r5,lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803500E + ldr r0, [sp] + cmp r0, 0x7 + beq _08035000 + cmp r0, 0x7 + bgt _08034FA6 + cmp r0, 0x6 + beq _08034FAC + b _0803500E +_08034FA6: + cmp r0, 0x8 + beq _08035008 + b _0803500E +_08034FAC: + ldr r4, _08034FF0 + 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, _08034FF4 + adds r0, r1, r3 + ldrb r0, [r0] + cmp r0, 0 + beq _08034FD2 + ldr r5, _08034FF8 + adds r0, r1, r5 + ldr r0, [r0] + str r0, [r2, 0x20] +_08034FD2: + ldr r0, _08034FFC + ldr r1, [r0] + ldr r0, [r4] + adds r0, r3 + ldrb r0, [r0] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r0, [r1] + subs r0, 0x1 + strh r0, [r1] + movs r0, 0x75 + bl sub_80338C4 + b _0803500E + .align 2, 0 +_08034FF0: .4byte gUnknown_203B33C +_08034FF4: .4byte 0x0000041e +_08034FF8: .4byte 0x0000041c +_08034FFC: .4byte gUnknown_203B460 +_08035000: + movs r0, 0x57 + bl sub_80338C4 + b _0803500E +_08035008: + movs r0, 0x1 + bl sub_80338C4 +_0803500E: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8034F88 + + thumb_func_start sub_8035018 +sub_8035018: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08035032 + movs r0, 0x76 + bl sub_80338C4 + movs r0, 0 + bl sub_8012574 +_08035032: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8035018 + + thumb_func_start sub_8035038 +sub_8035038: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803508E + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _0803508E + bl sub_8012750 + ldr r0, _0803506C + ldr r0, [r0] + ldr r1, _08035070 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xD + beq _08035080 + cmp r0, 0xD + bls _08035074 + cmp r0, 0xE + beq _08035088 + b _0803508E + .align 2, 0 +_0803506C: .4byte gUnknown_203B33C +_08035070: .4byte 0x00000524 +_08035074: + cmp r0, 0xB + bcc _0803508E + movs r0, 0x69 + bl sub_80338C4 + b _0803508E +_08035080: + movs r0, 0x66 + bl sub_80338C4 + b _0803508E +_08035088: + movs r0, 0x4B + bl sub_80338C4 +_0803508E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8035038 + + thumb_func_start sub_8035094 +sub_8035094: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080350EE + ldr r0, [sp] + cmp r0, 0x8 + beq _080350E8 + cmp r0, 0x16 + bne _080350EE + ldr r0, _080350C4 + ldr r0, [r0] + ldr r1, _080350C8 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xD + beq _080350D8 + cmp r0, 0xD + bls _080350CC + cmp r0, 0xE + beq _080350E0 + b _080350EE + .align 2, 0 +_080350C4: .4byte gUnknown_203B33C +_080350C8: .4byte 0x00000524 +_080350CC: + cmp r0, 0xB + bcc _080350EE + movs r0, 0x69 + bl sub_80338C4 + b _080350EE +_080350D8: + movs r0, 0x66 + bl sub_80338C4 + b _080350EE +_080350E0: + movs r0, 0x4B + bl sub_80338C4 + b _080350EE +_080350E8: + movs r0, 0x1 + bl sub_80338C4 +_080350EE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8035094 + + thumb_func_start sub_80350F4 +sub_80350F4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08035176 + ldr r0, [sp] + cmp r0, 0x15 + beq _08035118 + cmp r0, 0x15 + bgt _08035112 + cmp r0, 0x8 + beq _08035170 + b _08035176 +_08035112: + cmp r0, 0x16 + beq _08035134 + b _08035176 +_08035118: + movs r0, 0 + bl sub_801CF14 + lsls r0, 24 + cmp r0, 0 + beq _0803512C + movs r0, 0x56 + bl sub_80338C4 + b _08035176 +_0803512C: + movs r0, 0x57 + bl sub_80338C4 + b _08035176 +_08035134: + ldr r0, _0803514C + ldr r0, [r0] + ldr r1, _08035150 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xD + beq _08035160 + cmp r0, 0xD + bls _08035154 + cmp r0, 0xE + beq _08035168 + b _08035176 + .align 2, 0 +_0803514C: .4byte gUnknown_203B33C +_08035150: .4byte 0x00000524 +_08035154: + cmp r0, 0xB + bcc _08035176 + movs r0, 0x69 + bl sub_80338C4 + b _08035176 +_08035160: + movs r0, 0x66 + bl sub_80338C4 + b _08035176 +_08035168: + movs r0, 0x4B + bl sub_80338C4 + b _08035176 +_08035170: + movs r0, 0x1 + bl sub_80338C4 +_08035176: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80350F4 + + thumb_func_start sub_803517C +sub_803517C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080351DA + ldr r0, [sp] + cmp r0, 0x6 + beq _08035196 + cmp r0, 0x8 + beq _080351D4 + b _080351DA +_08035196: + ldr r0, _080351B0 + ldr r0, [r0] + ldr r1, _080351B4 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0xD + beq _080351C4 + cmp r0, 0xD + bls _080351B8 + cmp r0, 0xE + beq _080351CC + b _080351DA + .align 2, 0 +_080351B0: .4byte gUnknown_203B33C +_080351B4: .4byte 0x00000524 +_080351B8: + cmp r0, 0xB + bcc _080351DA + movs r0, 0x69 + bl sub_80338C4 + b _080351DA +_080351C4: + movs r0, 0x66 + bl sub_80338C4 + b _080351DA +_080351CC: + movs r0, 0x4B + bl sub_80338C4 + b _080351DA +_080351D4: + movs r0, 0x1 + bl sub_80338C4 +_080351DA: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_803517C + + thumb_func_start sub_80351E0 +sub_80351E0: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08035208 + ldr r0, [sp] + cmp r0, 0x6 + beq _080351FA + cmp r0, 0x8 + beq _08035202 + b _08035208 +_080351FA: + movs r0, 0x72 + bl sub_80338C4 + b _08035208 +_08035202: + movs r0, 0x1 + bl sub_80338C4 +_08035208: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80351E0 + + thumb_func_start sub_8035210 +sub_8035210: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803528C + ldr r0, _08035238 + ldr r2, [r0] + ldr r1, _0803523C + adds r0, r2, r1 + ldr r1, [sp] + str r1, [r0] + cmp r1, 0xD + bgt _0803528C + cmp r1, 0xB + bge _08035240 + cmp r1, 0x8 + beq _08035286 + b _0803528C + .align 2, 0 +_08035238: .4byte gUnknown_203B33C +_0803523C: .4byte 0x00000524 +_08035240: + movs r3, 0xA5 + lsls r3, 3 + adds r0, r2, r3 + ldr r0, [r0] + cmp r0, 0x13 + bne _08035272 + 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 _0803526A + movs r0, 0x53 + bl sub_80338C4 + b _0803528C +_0803526A: + movs r0, 0x55 + bl sub_80338C4 + b _0803528C +_08035272: + cmp r1, 0xD + beq _0803527E + movs r0, 0x69 + bl sub_80338C4 + b _0803528C +_0803527E: + movs r0, 0x72 + bl sub_80338C4 + b _0803528C +_08035286: + movs r0, 0x1 + bl sub_80338C4 +_0803528C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8035210 + + .align 2,0 diff --git a/asm/main_menu.s b/asm/main_menu.s index 4309f97..ad0ce64 100644 --- a/asm/main_menu.s +++ b/asm/main_menu.s @@ -73,8647 +73,4 @@ _08035CA8: bx r0 thumb_func_end SetMenuItems - thumb_func_start sub_8035CC0 -sub_8035CC0: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl sub_8006518 - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 3 - adds r1, r5 - ldr r0, _08035CF0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - bl ResetUnusedInputStruct - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08035CF0: .4byte gUnknown_80E59A8 - thumb_func_end sub_8035CC0 - - thumb_func_start sub_8035CF4 -sub_8035CF4: - push {lr} - adds r3, r0, 0 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 4 - adds r0, r3 - adds r1, r0, 0 - adds r1, 0x4C - strb r2, [r1] - adds r2, r0, 0 - adds r2, 0x4D - movs r1, 0x1 - strb r1, [r2] - subs r1, 0x2 - str r1, [r0, 0x48] - bl sub_8012EBC - pop {r0} - bx r0 - thumb_func_end sub_8035CF4 - - thumb_func_start sub_8035D1C -sub_8035D1C: - ldr r0, _08035D28 - ldr r1, [r0] - ldr r0, _08035D2C - strh r0, [r1, 0x38] - bx lr - .align 2, 0 -_08035D28: .4byte gUnknown_203B348 -_08035D2C: .4byte 0x0000ffff - thumb_func_end sub_8035D1C - - thumb_func_start sub_8035D30 -sub_8035D30: - ldr r1, _08035D38 - ldr r1, [r1] - strh r0, [r1, 0x38] - bx lr - .align 2, 0 -_08035D38: .4byte gUnknown_203B348 - thumb_func_end sub_8035D30 - - thumb_func_start sub_8035D3C -sub_8035D3C: - ldr r0, _08035D48 - ldr r0, [r0] - movs r1, 0x38 - ldrsh r0, [r0, r1] - bx lr - .align 2, 0 -_08035D48: .4byte gUnknown_203B348 - thumb_func_end sub_8035D3C - - thumb_func_start sub_8035D4C -sub_8035D4C: - ldr r0, _08035D54 - ldr r0, [r0] - bx lr - .align 2, 0 -_08035D54: .4byte gUnknown_203B348 - thumb_func_end sub_8035D4C - - thumb_func_start sub_8035D58 -sub_8035D58: - ldr r0, _08035D64 - ldr r1, [r0] - movs r0, 0x1 - negs r0, r0 - str r0, [r1, 0x3C] - bx lr - .align 2, 0 -_08035D64: .4byte gUnknown_203B348 - thumb_func_end sub_8035D58 - - thumb_func_start sub_8035D68 -sub_8035D68: - ldr r1, _08035D70 - ldr r1, [r1] - str r0, [r1, 0x3C] - bx lr - .align 2, 0 -_08035D70: .4byte gUnknown_203B348 - thumb_func_end sub_8035D68 - - thumb_func_start sub_8035D74 -sub_8035D74: - ldr r0, _08035D7C - ldr r0, [r0] - ldr r0, [r0, 0x3C] - bx lr - .align 2, 0 -_08035D7C: .4byte gUnknown_203B348 - thumb_func_end sub_8035D74 - - thumb_func_start sub_8035D80 -sub_8035D80: - ldr r1, _08035D90 - ldr r2, [r1] - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2, 0x30] - str r1, [r2, 0x34] - bx lr - .align 2, 0 -_08035D90: .4byte gUnknown_203B348 - thumb_func_end sub_8035D80 - - thumb_func_start sub_8035D94 -sub_8035D94: - ldr r0, _08035D9C - ldr r0, [r0] - adds r0, 0x30 - bx lr - .align 2, 0 -_08035D9C: .4byte gUnknown_203B348 - thumb_func_end sub_8035D94 - - thumb_func_start sub_8035DA0 -sub_8035DA0: - ldr r2, _08035DB0 - ldr r0, [r2] - adds r0, 0x30 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - str r1, [r0, 0x34] - bx lr - .align 2, 0 -_08035DB0: .4byte gUnknown_203B348 - thumb_func_end sub_8035DA0 - - thumb_func_start sub_8035DB4 -sub_8035DB4: - push {lr} - movs r1, 0x8 - subs r0, 0x13 - cmp r0, 0x7 - bhi _08035E0A - lsls r0, 2 - ldr r1, _08035DC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08035DC8: .4byte _08035DCC - .align 2, 0 -_08035DCC: - .4byte _08035DEC - .4byte _08035DF0 - .4byte _08035DF4 - .4byte _08035DF8 - .4byte _08035DFC - .4byte _08035E00 - .4byte _08035E04 - .4byte _08035E08 -_08035DEC: - movs r1, 0 - b _08035E0A -_08035DF0: - movs r1, 0x1 - b _08035E0A -_08035DF4: - movs r1, 0x2 - b _08035E0A -_08035DF8: - movs r1, 0x3 - b _08035E0A -_08035DFC: - movs r1, 0x4 - b _08035E0A -_08035E00: - movs r1, 0x5 - b _08035E0A -_08035E04: - movs r1, 0x6 - b _08035E0A -_08035E08: - movs r1, 0x7 -_08035E0A: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_8035DB4 - - thumb_func_start DrawMainMenu -DrawMainMenu: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r5, _08035EB8 - ldr r0, [r5] - cmp r0, 0 - bne _08035E34 - movs r4, 0xD4 - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_08035E34: - mov r12, r5 - movs r0, 0xA2 - lsls r0, 1 - mov r8, r0 - ldr r4, _08035EBC - movs r3, 0 - movs r2, 0x3 -_08035E42: - 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 _08035E42 - bl ResetUnusedInputStruct - ldr r4, _08035EB8 - ldr r0, [r4] - movs r6, 0xA2 - lsls r6, 1 - adds r0, r6 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl SetMainMenuItems - ldr r0, [r4] - movs r7, 0xD2 - lsls r7, 1 - adds r0, r7 - movs r1, 0x1 - negs r1, r1 - str r1, [r0] - bl SetMainMenuText - lsls r0, 24 - cmp r0, 0 - beq _08035E9A - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x2 - movs r2, 0 - bl sub_8035CF4 -_08035E9A: - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08035EB8: .4byte gUnknown_203B34C -_08035EBC: .4byte gUnknown_80E59C8 - thumb_func_end DrawMainMenu - - thumb_func_start CleanMainMenu -CleanMainMenu: - push {r4,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _08035EE8 - ldr r0, [r4] - cmp r0, 0 - beq _08035EE0 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08035EE0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08035EE8: .4byte gUnknown_203B34C - thumb_func_end CleanMainMenu - - thumb_func_start sub_8035EEC -sub_8035EEC: - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, _08035F64 - str r6, [sp] - ldr r4, _08035F68 - ldr r0, [r4] - ldr r5, [r0] - cmp r5, 0xC - beq _08035FB8 - cmp r5, 0xC - bls _08035F04 - b _0803601A -_08035F04: - cmp r5, 0x1 - beq _08035F0A - b _0803601A -_08035F0A: - adds r0, 0xA4 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0x4 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08035F28 - ldr r0, [r4] - adds r0, 0x4 - mov r1, sp - bl sub_8013114 -_08035F28: - bl SetMainMenuText - lsls r0, 24 - cmp r0, 0 - beq _08035F4A - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x2 - movs r2, 0 - bl sub_8035CF4 -_08035F4A: - ldr r1, [sp] - cmp r1, 0xC - beq _08035FA8 - cmp r1, 0xC - bhi _08035F6C - cmp r1, 0x3 - beq _08035FAC - cmp r1, 0x3 - bcc _0803601A - cmp r1, 0x6 - bcc _0803601A - b _08035FAC - .align 2, 0 -_08035F64: .4byte 0x0000ffdc -_08035F68: .4byte gUnknown_203B34C -_08035F6C: - cmp r1, r6 - beq _08035FF2 - cmp r1, r6 - bhi _08035F7A - cmp r1, 0x10 - bhi _0803601A - b _08035FAC -_08035F7A: - ldr r0, _08035FA4 - cmp r1, r0 - bne _0803601A - ldr r0, [r4] - str r5, [r0] - str r6, [sp] - bl ResetUnusedInputStruct - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x2 - movs r2, 0 - bl sub_8035CF4 - b _0803601A - .align 2, 0 -_08035FA4: .4byte 0x0000ffdd -_08035FA8: - bl sub_8035DA0 -_08035FAC: - ldr r1, _08035FB4 - ldr r0, [sp] - str r0, [r1] - b _0803601A - .align 2, 0 -_08035FB4: .4byte gUnknown_203B350 -_08035FB8: - adds r0, 0x54 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08035FCE - ldr r0, [r4] - adds r0, 0x54 - mov r1, sp - bl sub_8013114 -_08035FCE: - ldr r1, [sp] - cmp r1, 0x12 - beq _08036008 - cmp r1, 0x12 - bhi _08035FDE - cmp r1, 0x11 - beq _08035FFC - b _0803601A -_08035FDE: - cmp r1, r6 - beq _08036018 - ldr r0, _08035FF8 - cmp r1, r0 - bne _0803601A - bl sub_803623C - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1] -_08035FF2: - str r6, [sp] - b _0803601A - .align 2, 0 -_08035FF8: .4byte 0x0000ffdd -_08035FFC: - ldr r0, _08036004 - str r1, [r0] - str r5, [sp] - b _0803601A - .align 2, 0 -_08036004: .4byte gUnknown_203B354 -_08036008: - ldr r0, _08036014 - str r1, [r0] - movs r0, 0x14 - str r0, [sp] - b _0803601A - .align 2, 0 -_08036014: .4byte gUnknown_203B354 -_08036018: - str r1, [sp] -_0803601A: - ldr r0, [sp] - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8035EEC - - thumb_func_start SetMainMenuText -SetMainMenuText: - push {r4-r6,lr} - sub sp, 0x10 - ldr r6, _08036048 - ldr r2, [r6] - ldr r0, [r2, 0x8] - movs r3, 0x30 - ldrsh r1, [r2, r3] - lsls r1, 3 - adds r1, r0 - ldr r5, [r1, 0x4] - movs r0, 0xD2 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, [r1] - cmp r0, r5 - bne _0803604C - movs r0, 0 - b _08036226 - .align 2, 0 -_08036048: .4byte gUnknown_203B34C -_0803604C: - str r5, [r1] - movs r4, 0xA2 - lsls r4, 1 - adds r0, r2, r4 - movs r1, 0x2 - bl sub_8035CC0 - ldr r0, [r6] - adds r0, r4 - movs r1, 0x3 - bl sub_8035CC0 - subs r0, r5, 0x3 - cmp r0, 0xD - bls _0803606C - b _08036224 -_0803606C: - lsls r0, 2 - ldr r1, _08036078 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08036078: .4byte _0803607C - .align 2, 0 -_0803607C: - .4byte _08036114 - .4byte _08036224 - .4byte _08036224 - .4byte _080360F4 - .4byte _08036134 - .4byte _08036154 - .4byte _08036224 - .4byte _08036174 - .4byte _08036194 - .4byte _080361B4 - .4byte _080360D4 - .4byte _080361D4 - .4byte _080360B4 - .4byte _08036204 -_080360B4: - ldr r0, _080360C8 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _080360CC - ldr r2, _080360D0 - b _080361E4 - .align 2, 0 -_080360C8: .4byte gUnknown_203B34C -_080360CC: .4byte gUnknown_80E5CB4 -_080360D0: .4byte gUnknown_80E6030 -_080360D4: - ldr r0, _080360E8 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r3, 0xA2 - lsls r3, 1 - adds r1, r3 - ldr r3, _080360EC - ldr r2, _080360F0 - b _080361E4 - .align 2, 0 -_080360E8: .4byte gUnknown_203B34C -_080360EC: .4byte gUnknown_80E5CB4 -_080360F0: .4byte gUnknown_80E5F80 -_080360F4: - ldr r0, _08036108 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _0803610C - ldr r2, _08036110 - b _080361E4 - .align 2, 0 -_08036108: .4byte gUnknown_203B34C -_0803610C: .4byte gUnknown_80E5CB4 -_08036110: .4byte gUnknown_80E5F1C -_08036114: - ldr r0, _08036128 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r3, 0xA2 - lsls r3, 1 - adds r1, r3 - ldr r3, _0803612C - ldr r2, _08036130 - b _080361E4 - .align 2, 0 -_08036128: .4byte gUnknown_203B34C -_0803612C: .4byte gUnknown_80E5CB4 -_08036130: .4byte gUnknown_80E5CCC -_08036134: - ldr r0, _08036148 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _0803614C - ldr r2, _08036150 - b _080361E4 - .align 2, 0 -_08036148: .4byte gUnknown_203B34C -_0803614C: .4byte gUnknown_80E5CB4 -_08036150: .4byte gUnknown_80E5DA0 -_08036154: - ldr r0, _08036168 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r3, 0xA2 - lsls r3, 1 - adds r1, r3 - ldr r3, _0803616C - ldr r2, _08036170 - b _080361E4 - .align 2, 0 -_08036168: .4byte gUnknown_203B34C -_0803616C: .4byte gUnknown_80E5CB4 -_08036170: .4byte gUnknown_80E5DF0 -_08036174: - ldr r0, _08036188 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _0803618C - ldr r2, _08036190 - b _080361E4 - .align 2, 0 -_08036188: .4byte gUnknown_203B34C -_0803618C: .4byte gUnknown_80E5CB4 -_08036190: .4byte gUnknown_80E5D0C -_08036194: - ldr r0, _080361A8 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r3, 0xA2 - lsls r3, 1 - adds r1, r3 - ldr r3, _080361AC - ldr r2, _080361B0 - b _080361E4 - .align 2, 0 -_080361A8: .4byte gUnknown_203B34C -_080361AC: .4byte gUnknown_80E5CB4 -_080361B0: .4byte gUnknown_80E5E5C -_080361B4: - ldr r0, _080361C8 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _080361CC - ldr r2, _080361D0 - b _080361E4 - .align 2, 0 -_080361C8: .4byte gUnknown_203B34C -_080361CC: .4byte gUnknown_80E5CB4 -_080361D0: .4byte gUnknown_80E5EBC -_080361D4: - ldr r0, _080361F8 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r3, 0xA2 - lsls r3, 1 - adds r1, r3 - ldr r3, _080361FC - ldr r2, _08036200 -_080361E4: - str r2, [sp] - movs r2, 0 - str r2, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - movs r2, 0x2 - bl SetMenuItems - b _08036224 - .align 2, 0 -_080361F8: .4byte gUnknown_203B34C -_080361FC: .4byte gUnknown_80E5CB4 -_08036200: .4byte gUnknown_80E5FCC -_08036204: - ldr r0, _08036230 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _08036234 - ldr r2, _08036238 - str r2, [sp] - movs r2, 0 - str r2, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - movs r2, 0x2 - bl SetMenuItems -_08036224: - movs r0, 0x1 -_08036226: - add sp, 0x10 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08036230: .4byte gUnknown_203B34C -_08036234: .4byte gUnknown_80E5CB4 -_08036238: .4byte gUnknown_80E5D48 - thumb_func_end SetMainMenuText - - thumb_func_start sub_803623C -sub_803623C: - push {r4,lr} - ldr r4, _08036288 - ldr r0, [r4] - movs r1, 0xA2 - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - bl sub_8035CC0 - bl SetMainMenuItems - ldr r0, [r4] - movs r1, 0xD2 - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - negs r1, r1 - str r1, [r0] - bl SetMainMenuText - lsls r0, 24 - cmp r0, 0 - beq _08036276 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x2 - movs r2, 0 - bl sub_8035CF4 -_08036276: - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08036288: .4byte gUnknown_203B34C - thumb_func_end sub_803623C - - thumb_func_start SetMainMenuItems -SetMainMenuItems: - push {r4,lr} - sub sp, 0x10 - bl sub_8011C34 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0803629E - b _080363A4 -_0803629E: - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - bne _08036344 - movs r0, 0x7 - bl sub_8095324 - cmp r0, 0 - beq _080362FC - bl sub_803D0D8 - lsls r0, 24 - cmp r0, 0 - beq _080362DC - ldr r0, _080362D0 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _080362D4 - ldr r2, _080362D8 - b _0803637C - .align 2, 0 -_080362D0: .4byte gUnknown_203B34C -_080362D4: .4byte gUnknown_80E5A78 -_080362D8: .4byte gUnknown_80E5C18 -_080362DC: - ldr r0, _080362F0 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _080362F4 - ldr r2, _080362F8 - b _0803637C - .align 2, 0 -_080362F0: .4byte gUnknown_203B34C -_080362F4: .4byte gUnknown_80E5BC4 -_080362F8: .4byte gUnknown_80E5BDC -_080362FC: - bl sub_803D0D8 - lsls r0, 24 - cmp r0, 0 - beq _08036324 - ldr r0, _08036318 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _0803631C - ldr r2, _08036320 - b _0803637C - .align 2, 0 -_08036318: .4byte gUnknown_203B34C -_0803631C: .4byte gUnknown_80E5A78 -_08036320: .4byte gUnknown_80E5AFC -_08036324: - ldr r0, _08036338 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _0803633C - ldr r2, _08036340 - b _0803637C - .align 2, 0 -_08036338: .4byte gUnknown_203B34C -_0803633C: .4byte gUnknown_80E5A60 -_08036340: .4byte gUnknown_80E5A90 -_08036344: - bl sub_803D0D8 - lsls r0, 24 - cmp r0, 0 - beq _0803636C - ldr r0, _08036360 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _08036364 - ldr r2, _08036368 - b _0803637C - .align 2, 0 -_08036360: .4byte gUnknown_203B34C -_08036364: .4byte gUnknown_80E5A78 -_08036368: .4byte gUnknown_80E5B8C -_0803636C: - ldr r0, _08036394 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _08036398 - ldr r2, _0803639C -_0803637C: - str r2, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - ldr r2, _080363A0 - ldr r2, [r2] - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - b _080363C8 - .align 2, 0 -_08036394: .4byte gUnknown_203B34C -_08036398: .4byte gUnknown_80E5B34 -_0803639C: .4byte gUnknown_80E5B4C -_080363A0: .4byte gUnknown_203B350 -_080363A4: - ldr r0, _080363D0 - ldr r1, [r0] - adds r0, r1, 0x4 - movs r2, 0xA2 - lsls r2, 1 - adds r1, r2 - ldr r3, _080363D4 - ldr r2, _080363D8 - str r2, [sp] - movs r4, 0x1 - str r4, [sp, 0x4] - ldr r2, _080363DC - ldr r2, [r2] - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_080363C8: - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080363D0: .4byte gUnknown_203B34C -_080363D4: .4byte gUnknown_80E59E0 -_080363D8: .4byte gUnknown_80E59F8 -_080363DC: .4byte gUnknown_203B350 - thumb_func_end SetMainMenuItems - - thumb_func_start sub_80363E0 -sub_80363E0: - push {lr} - ldr r0, _080363F4 - ldr r0, [r0] - cmp r0, 0 - beq _080363F8 - ldr r0, [r0] - cmp r0, 0xC - beq _080363F8 - movs r0, 0x1 - b _080363FA - .align 2, 0 -_080363F4: .4byte gUnknown_203B34C -_080363F8: - movs r0, 0 -_080363FA: - pop {r1} - bx r1 - thumb_func_end sub_80363E0 - - thumb_func_start sub_8036400 -sub_8036400: - push {r4,r5,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _08036444 - movs r4, 0xE8 - lsls r4, 2 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 - bl sub_8035C1C - bl sub_8035DA0 - ldr r1, [r5] - movs r0, 0x13 - str r0, [r1, 0x4] - movs r0, 0 - bl sub_8036FC4 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08036444: .4byte gUnknown_203B358 - thumb_func_end sub_8036400 - - thumb_func_start sub_8036448 -sub_8036448: - push {lr} - ldr r0, _08036460 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x12 - bhi _08036524 - lsls r0, 2 - ldr r1, _08036464 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08036460: .4byte gUnknown_203B358 -_08036464: .4byte _08036468 - .align 2, 0 -_08036468: - .4byte _080364B4 - .4byte _080364BA - .4byte _080364C0 - .4byte _080364C6 - .4byte _080364D2 - .4byte _080364CC - .4byte _080364D8 - .4byte _080364DE - .4byte _080364E4 - .4byte _080364F0 - .4byte _080364F6 - .4byte _080364FC - .4byte _08036502 - .4byte _08036514 - .4byte _08036508 - .4byte _080364EA - .4byte _0803650E - .4byte _0803651A - .4byte _08036520 -_080364B4: - bl sub_803652C - b _08036524 -_080364BA: - bl sub_8036590 - b _08036524 -_080364C0: - bl sub_80365AC - b _08036524 -_080364C6: - bl sub_8036674 - b _08036524 -_080364CC: - bl sub_8036728 - b _08036524 -_080364D2: - bl sub_8036788 - b _08036524 -_080364D8: - bl sub_8036830 - b _08036524 -_080364DE: - bl sub_803689C - b _08036524 -_080364E4: - bl sub_80368D4 - b _08036524 -_080364EA: - bl sub_8036A7C - b _08036524 -_080364F0: - bl sub_8036934 - b _08036524 -_080364F6: - bl sub_8036950 - b _08036524 -_080364FC: - bl sub_8036AA4 - b _08036524 -_08036502: - bl sub_80369FC - b _08036524 -_08036508: - bl sub_8036A34 - b _08036524 -_0803650E: - bl sub_8036A54 - b _08036524 -_08036514: - bl sub_8036A18 - b _08036524 -_0803651A: - bl sub_8036ADC - b _08036524 -_08036520: - movs r0, 0x3 - b _08036526 -_08036524: - movs r0, 0 -_08036526: - pop {r1} - bx r1 - thumb_func_end sub_8036448 - - thumb_func_start sub_803652C -sub_803652C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - adds r1, r0, 0 - cmp r1, 0 - bne _0803658A - ldr r2, [sp] - cmp r2, 0x1 - beq _08036556 - cmp r2, 0x1 - bgt _0803654C - cmp r2, 0 - beq _08036584 - b _0803658A -_0803654C: - cmp r2, 0x2 - beq _0803656C - cmp r2, 0x7 - beq _08036584 - b _0803658A -_08036556: - ldr r0, _08036568 - ldr r0, [r0] - str r1, [r0, 0x8] - str r2, [r0, 0x10] - movs r0, 0x1 - bl sub_8036FC4 - b _0803658A - .align 2, 0 -_08036568: .4byte gUnknown_203B358 -_0803656C: - ldr r0, _08036580 - ldr r1, [r0] - movs r0, 0x1 - str r0, [r1, 0x8] - str r2, [r1, 0x10] - movs r0, 0x7 - bl sub_8036FC4 - b _0803658A - .align 2, 0 -_08036580: .4byte gUnknown_203B358 -_08036584: - movs r0, 0x12 - bl sub_8036FC4 -_0803658A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_803652C - - thumb_func_start sub_8036590 -sub_8036590: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080365A4 - movs r0, 0x2 - bl sub_8036FC4 -_080365A4: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036590 - - thumb_func_start sub_80365AC -sub_80365AC: - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, _080365E8 - ldr r0, [r4] - ldr r7, _080365EC - adds r0, r7 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - ldr r6, _080365F0 - adds r0, r6 - movs r5, 0x1 - strb r5, [r0] - ldr r0, [r4] - movs r2, 0x97 - lsls r2, 2 - mov r8, r2 - add r0, r8 - strb r1, [r0] - movs r0, 0x1 - bl sub_801CA08 - cmp r0, 0x3 - beq _08036606 - cmp r0, 0x3 - bhi _080365F4 - cmp r0, 0x2 - beq _080365FA - b _0803666A - .align 2, 0 -_080365E8: .4byte gUnknown_203B358 -_080365EC: .4byte 0x0000025e -_080365F0: .4byte 0x0000025d -_080365F4: - cmp r0, 0x4 - beq _0803662C - b _0803666A -_080365FA: - bl sub_801CBB8 - movs r0, 0 - bl sub_8036FC4 - b _0803666A -_08036606: - bl sub_801CB24 - ldr r1, [r4] - ldr r2, _08036624 - adds r1, r2 - strb r0, [r1] - ldr r0, [r4] - ldr r1, _08036628 - adds r0, r1 - strb r5, [r0] - movs r0, 0x3 - bl sub_8036FC4 - b _0803666A - .align 2, 0 -_08036624: .4byte 0x0000025e -_08036628: .4byte 0x0000025d -_0803662C: - ldr r1, [r4] - movs r0, 0x2 - str r0, [r1, 0x4] - bl sub_801CB24 - ldr r1, [r4] - adds r1, r7 - strb r0, [r1] - ldr r0, [r4] - adds r0, r6 - strb r5, [r0] - ldr r0, [r4] - movs r2, 0xF2 - lsls r2, 1 - adds r0, r2 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - add r0, r8 - bl sub_801B3C0 - movs r0, 0x5 - bl sub_8036FC4 -_0803666A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80365AC - - thumb_func_start sub_8036674 -sub_8036674: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_801CA08 - ldr r4, _080366B8 - ldr r0, [r4] - movs r1, 0x9A - lsls r1, 1 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _080366A6 - ldr r0, [r4] - movs r1, 0x9A - lsls r1, 1 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_080366A6: - ldr r0, [sp] - cmp r0, 0x3 - beq _080366C6 - cmp r0, 0x3 - bgt _080366BC - cmp r0, 0 - beq _08036700 - b _0803671A - .align 2, 0 -_080366B8: .4byte gUnknown_203B358 -_080366BC: - cmp r0, 0x4 - beq _080366CE - cmp r0, 0x7 - beq _08036700 - b _0803671A -_080366C6: - movs r0, 0x4 - bl sub_8036FC4 - b _0803671A -_080366CE: - ldr r0, [r4] - movs r1, 0x13 - str r1, [r0, 0x4] - movs r1, 0xF2 - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x97 - lsls r1, 2 - adds r0, r1 - bl sub_801B3C0 - movs r0, 0x5 - bl sub_8036FC4 - b _0803671A -_08036700: - ldr r0, _08036724 - ldr r0, [r0] - movs r1, 0xC2 - lsls r1, 1 - adds r0, r1 - movs r1, 0x3 - bl sub_8035CC0 - bl sub_801CCD8 - movs r0, 0x2 - bl sub_8036FC4 -_0803671A: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08036724: .4byte gUnknown_203B358 - thumb_func_end sub_8036674 - - thumb_func_start sub_8036728 -sub_8036728: - push {r4,lr} - bl sub_801B410 - cmp r0, 0x1 - beq _08036780 - cmp r0, 0x1 - bcc _08036780 - cmp r0, 0x3 - bhi _08036780 - bl sub_801B450 - bl ResetUnusedInputStruct - ldr r4, _08036778 - ldr r0, [r4] - movs r1, 0xF2 - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_801CB5C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x13 - bne _0803677C - adds r0, r4, 0 - adds r0, 0x44 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x3 - bl sub_8036FC4 - b _08036780 - .align 2, 0 -_08036778: .4byte gUnknown_203B358 -_0803677C: - bl sub_8036FC4 -_08036780: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8036728 - - thumb_func_start sub_8036788 -sub_8036788: - push {r4,lr} - ldr r4, _080367B8 - ldr r0, [r4] - movs r1, 0x9A - lsls r1, 1 - adds r0, r1 - bl sub_8012FD8 - movs r0, 0 - bl sub_801CA08 - ldr r0, [r4] - adds r0, 0x14 - bl sub_8013BBC - cmp r0, 0x1 - beq _080367BC - cmp r0, 0x1 - bcc _08036824 - cmp r0, 0x2 - beq _080367D2 - cmp r0, 0x3 - beq _080367F8 - b _08036824 - .align 2, 0 -_080367B8: .4byte gUnknown_203B358 -_080367BC: - bl sub_801CCD8 - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x3 - movs r2, 0 - bl sub_8035CF4 - bl sub_8036F30 - b _08036824 -_080367D2: - ldr r0, [r4] - movs r2, 0xC2 - lsls r2, 1 - adds r0, r2 - movs r1, 0x2 - bl sub_8035CC0 - bl sub_801CCD8 - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x3 - bl sub_8036FC4 - b _08036824 -_080367F8: - ldr r0, [r4] - ldr r1, [r0, 0x14] - ldr r2, _0803682C - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r2, 0x1 - adds r1, r0, r2 - ldrb r1, [r1] - subs r2, 0xA - adds r0, r2 - strb r1, [r0] - ldr r0, [r4] - adds r2, 0x4 - adds r1, r0, r2 - ldr r0, [r0, 0x14] - str r0, [r1] - bl sub_801CBB8 - movs r0, 0x6 - bl sub_8036FC4 -_08036824: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803682C: .4byte 0x0000025d - thumb_func_end sub_8036788 - - thumb_func_start sub_8036830 -sub_8036830: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036896 - ldr r0, [sp] - cmp r0, 0x5 - beq _08036854 - cmp r0, 0x5 - bgt _0803684E - cmp r0, 0 - beq _08036890 - b _08036896 -_0803684E: - cmp r0, 0x6 - beq _08036890 - b _08036896 -_08036854: - bl sub_801CBB8 - ldr r0, _08036884 - ldr r2, [r0] - ldr r0, _08036888 - ldr r1, [r0] - ldr r3, _0803688C - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, 1 - adds r2, 0x50 - adds r2, r0 - ldrh r0, [r2] - ldr r1, [r1, 0x14] - subs r0, r1 - strh r0, [r2] - movs r0, 0xF - bl sub_8036FC4 - movs r0, 0 - bl sub_8012574 - b _08036896 - .align 2, 0 -_08036884: .4byte gUnknown_203B460 -_08036888: .4byte gUnknown_203B358 -_0803688C: .4byte 0x0000025e -_08036890: - movs r0, 0 - bl sub_8036FC4 -_08036896: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036830 - - thumb_func_start sub_803689C -sub_803689C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080368CE - ldr r0, [sp] - cmp r0, 0x5 - beq _080368C0 - cmp r0, 0x5 - bgt _080368BA - cmp r0, 0 - beq _080368C8 - b _080368CE -_080368BA: - cmp r0, 0x7 - beq _080368C8 - b _080368CE -_080368C0: - movs r0, 0x9 - bl sub_8036FC4 - b _080368CE -_080368C8: - movs r0, 0x12 - bl sub_8036FC4 -_080368CE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_803689C - - thumb_func_start sub_80368D4 -sub_80368D4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803692A - ldr r0, [sp] - cmp r0, 0x5 - beq _080368F8 - cmp r0, 0x5 - bgt _080368F2 - cmp r0, 0 - beq _08036900 - b _0803692A -_080368F2: - cmp r0, 0x7 - beq _08036900 - b _0803692A -_080368F8: - movs r0, 0x9 - bl sub_8036FC4 - b _0803692A -_08036900: - ldr r0, _08036930 - ldr r1, [r0] - movs r2, 0x95 - lsls r2, 2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _0803692A - adds r2, 0x4 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - beq _0803692A - bl sub_80369D0 - movs r0, 0x11 - bl sub_8036FC4 - movs r0, 0 - bl sub_8012574 -_0803692A: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08036930: .4byte gUnknown_203B358 - thumb_func_end sub_80368D4 - - thumb_func_start sub_8036934 -sub_8036934: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036948 - movs r0, 0xA - bl sub_8036FC4 -_08036948: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036934 - - thumb_func_start sub_8036950 -sub_8036950: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080369C8 - ldr r0, _08036978 - ldr r2, [r0] - ldr r1, [r2, 0xC] - adds r3, r0, 0 - cmp r1, 0 - bne _0803698C - ldr r0, [r2, 0x8] - cmp r0, 0 - beq _0803697C - cmp r0, 0x1 - beq _08036984 - b _080369C8 - .align 2, 0 -_08036978: .4byte gUnknown_203B358 -_0803697C: - movs r0, 0xD - bl sub_8036FC4 - b _080369C8 -_08036984: - movs r0, 0xE - bl sub_8036FC4 - b _080369C8 -_0803698C: - ldr r0, [r2, 0x8] - cmp r0, 0 - bne _080369BA - movs r1, 0x95 - lsls r1, 2 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080369BA - adds r1, 0x4 - adds r0, r2, r1 - ldr r0, [r0] - cmp r0, 0 - beq _080369BA - bl sub_80369D0 - movs r0, 0xB - bl sub_8036FC4 - movs r0, 0 - bl sub_8012574 - b _080369C8 -_080369BA: - ldr r0, [r3] - ldr r0, [r0, 0xC] - bl sub_8036E18 - movs r0, 0xC - bl sub_8036FC4 -_080369C8: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036950 - - thumb_func_start sub_80369D0 -sub_80369D0: - ldr r0, _080369F4 - ldr r2, [r0] - ldr r0, _080369F8 - ldr r1, [r0] - movs r3, 0x95 - lsls r3, 2 - adds r0, r1, r3 - ldrb r0, [r0] - lsls r0, 1 - adds r2, 0x50 - adds r2, r0 - ldrh r0, [r2] - adds r3, 0x4 - adds r1, r3 - ldr r1, [r1] - adds r0, r1 - strh r0, [r2] - bx lr - .align 2, 0 -_080369F4: .4byte gUnknown_203B460 -_080369F8: .4byte gUnknown_203B358 - thumb_func_end sub_80369D0 - - thumb_func_start sub_80369FC -sub_80369FC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036A10 - movs r0, 0 - bl sub_8036FC4 -_08036A10: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80369FC - - thumb_func_start sub_8036A18 -sub_8036A18: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036A2C - movs r0, 0x12 - bl sub_8036FC4 -_08036A2C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036A18 - - thumb_func_start sub_8036A34 -sub_8036A34: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036A4E - movs r0, 0x10 - bl sub_8036FC4 - movs r0, 0 - bl sub_8012574 -_08036A4E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036A34 - - thumb_func_start sub_8036A54 -sub_8036A54: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036A76 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08036A76 - bl sub_8012750 - movs r0, 0x12 - bl sub_8036FC4 -_08036A76: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036A54 - - thumb_func_start sub_8036A7C -sub_8036A7C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036A9E - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08036A9E - bl sub_8012750 - movs r0, 0x8 - bl sub_8036FC4 -_08036A9E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036A7C - - thumb_func_start sub_8036AA4 -sub_8036AA4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036AD0 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08036AD0 - bl sub_8012750 - ldr r0, _08036AD8 - ldr r0, [r0] - ldr r0, [r0, 0xC] - bl sub_8036E18 - movs r0, 0xC - bl sub_8036FC4 -_08036AD0: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08036AD8: .4byte gUnknown_203B358 - thumb_func_end sub_8036AA4 - - thumb_func_start sub_8036ADC -sub_8036ADC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08036AFE - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08036AFE - bl sub_8012750 - movs r0, 0x12 - bl sub_8036FC4 -_08036AFE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8036ADC - - thumb_func_start sub_8036B04 -sub_8036B04: - push {r4,lr} - ldr r4, _08036B20 - ldr r0, [r4] - cmp r0, 0 - beq _08036B1A - bl MemoryFree - movs r0, 0 - str r0, [r4] - bl sub_801CBB8 -_08036B1A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08036B20: .4byte gUnknown_203B358 - thumb_func_end sub_8036B04 - - thumb_func_start nullsub_52 -nullsub_52: - bx lr - thumb_func_end nullsub_52 - - thumb_func_start sub_8036B28 -sub_8036B28: - push {r4,r5,lr} - sub sp, 0x18 - ldr r1, _08036B44 - ldr r0, [r1] - ldr r0, [r0] - adds r5, r1, 0 - cmp r0, 0x12 - bls _08036B3A - b _08036DFA -_08036B3A: - lsls r0, 2 - ldr r1, _08036B48 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08036B44: .4byte gUnknown_203B358 -_08036B48: .4byte _08036B4C - .align 2, 0 -_08036B4C: - .4byte _08036B98 - .4byte _08036BDC - .4byte _08036BE4 - .4byte _08036C14 - .4byte _08036C58 - .4byte _08036DFA - .4byte _08036C5E - .4byte _08036C90 - .4byte _08036C98 - .4byte _08036CC0 - .4byte _08036CD8 - .4byte _08036DFA - .4byte _08036DFA - .4byte _08036DD8 - .4byte _08036D70 - .4byte _08036DFA - .4byte _08036DFA - .4byte _08036DFA - .4byte _08036DFA -_08036B98: - movs r0, 0 - bl sub_801CF14 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08036BB8 - ldr r0, _08036BB0 - ldr r3, _08036BB4 - movs r2, 0 - b _08036BBC - .align 2, 0 -_08036BB0: .4byte gUnknown_80E61A4 -_08036BB4: .4byte gUnknown_80E60D4 -_08036BB8: - ldr r0, _08036BD4 - ldr r3, _08036BD8 -_08036BBC: - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x1 - bl sub_8014248 - b _08036DFA - .align 2, 0 -_08036BD4: .4byte gUnknown_80E61A4 -_08036BD8: .4byte gUnknown_80E60A0 -_08036BDC: - ldr r0, _08036BE0 - b _08036DBA - .align 2, 0 -_08036BE0: .4byte gUnknown_80E61C0 -_08036BE4: - bl sub_801D008 - cmp r0, 0 - beq _08036BEE - b _08036DFA -_08036BEE: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, _08036C10 - str r0, [sp, 0x14] - movs r0, 0 - movs r1, 0x1 - add r2, sp, 0x14 - movs r3, 0x9 - bl sub_801C8C4 - b _08036DFA - .align 2, 0 -_08036C10: .4byte 0x00020003 -_08036C14: - ldr r0, [r5] - movs r4, 0xC2 - lsls r4, 1 - adds r0, r4 - bl sub_8006518 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x44 - adds r1, r4 - ldr r3, _08036C50 - ldr r2, _08036C54 - 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 - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - b _08036DFA - .align 2, 0 -_08036C50: .4byte gUnknown_80E60EC -_08036C54: .4byte gUnknown_80E6104 -_08036C58: - bl sub_8036F74 - b _08036DFA -_08036C5E: - ldr r2, _08036C7C - ldr r1, [r5] - ldr r0, [r1, 0x14] - str r0, [r2] - ldr r0, _08036C80 - ldr r2, _08036C84 - adds r1, r2 - ldrb r1, [r1] - movs r2, 0 - bl sub_8090DC4 - ldr r0, _08036C88 - ldr r3, _08036C8C - b _08036C9C - .align 2, 0 -_08036C7C: .4byte gUnknown_202DE30 -_08036C80: .4byte gUnknown_202DE58 -_08036C84: .4byte 0x0000025e -_08036C88: .4byte gUnknown_80E61E4 -_08036C8C: .4byte gUnknown_80E6154 -_08036C90: - ldr r0, _08036C94 - b _08036C9A - .align 2, 0 -_08036C94: .4byte gUnknown_80E6214 -_08036C98: - ldr r0, _08036CB8 -_08036C9A: - ldr r3, _08036CBC -_08036C9C: - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x5 - bl sub_8014248 - b _08036DFA - .align 2, 0 -_08036CB8: .4byte gUnknown_80E6268 -_08036CBC: .4byte gUnknown_80E618C -_08036CC0: - movs r0, 0 - bl nullsub_23 - ldr r0, _08036CD4 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80141B4 - b _08036DFA - .align 2, 0 -_08036CD4: .4byte gUnknown_80E62C4 -_08036CD8: - ldr r4, _08036D18 - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0xC] - movs r2, 0 - movs r3, 0 - movs r5, 0x91 - lsls r5, 2 - adds r0, r1, r5 - str r2, [r0] - str r3, [r0, 0x4] - movs r0, 0x93 - lsls r0, 2 - adds r1, r0 - str r2, [r1] - str r3, [r1, 0x4] - bl sub_8011830 - ldr r0, [r4] - ldr r0, [r0, 0x8] - bl sub_8037B28 - ldr r4, [r4] - str r0, [r4, 0xC] - cmp r0, 0 - bne _08036D44 - ldr r0, [r4, 0x8] - cmp r0, 0 - beq _08036D1C - cmp r0, 0x1 - beq _08036D2C - b _08036D44 - .align 2, 0 -_08036D18: .4byte gUnknown_203B358 -_08036D1C: - adds r2, r4, r5 - movs r1, 0x95 - lsls r1, 2 - adds r0, r4, r1 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] -_08036D2C: - ldr r4, _08036D6C - ldr r2, [r4] - ldr r0, [r2, 0x8] - movs r3, 0x91 - lsls r3, 2 - adds r1, r2, r3 - adds r3, 0x8 - adds r2, r3 - bl sub_8037D64 - ldr r1, [r4] - str r0, [r1, 0xC] -_08036D44: - ldr r4, _08036D6C - ldr r2, [r4] - ldr r0, [r2, 0xC] - cmp r0, 0 - bne _08036D66 - ldr r0, [r2, 0x8] - cmp r0, 0x1 - bhi _08036D66 - movs r3, 0x91 - lsls r3, 2 - adds r1, r2, r3 - adds r3, 0x8 - adds r2, r3 - bl sub_80381F4 - ldr r1, [r4] - str r0, [r1, 0xC] -_08036D66: - bl xxx_call_start_bg_music - b _08036DFA - .align 2, 0 -_08036D6C: .4byte gUnknown_203B358 -_08036D70: - ldr r2, [r5] - movs r1, 0x94 - lsls r1, 2 - adds r0, r2, r1 - ldr r1, [r0] - cmp r1, 0 - bne _08036DA4 - ldr r1, _08036D9C - movs r3, 0x92 - lsls r3, 2 - adds r0, r2, r3 - ldr r0, [r0] - str r0, [r1] - ldr r0, _08036DA0 - subs r3, 0x4 - adds r1, r2, r3 - ldrb r1, [r1] - movs r2, 0 - bl sub_8090DC4 - b _08036DB8 - .align 2, 0 -_08036D9C: .4byte gUnknown_202DE30 -_08036DA0: .4byte gUnknown_202DE58 -_08036DA4: - ldr r0, _08036DC8 - str r1, [r0] - ldr r0, _08036DCC - movs r3, 0x93 - lsls r3, 2 - adds r1, r2, r3 - ldrb r1, [r1] - movs r2, 0 - bl sub_8090DC4 -_08036DB8: - ldr r0, _08036DD0 -_08036DBA: - ldr r3, _08036DD4 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _08036DFA - .align 2, 0 -_08036DC8: .4byte gUnknown_202DE30 -_08036DCC: .4byte gUnknown_202DE58 -_08036DD0: .4byte gUnknown_80E6314 -_08036DD4: .4byte 0x00000101 -_08036DD8: - ldr r2, _08036E04 - ldr r1, [r5] - ldr r0, [r1, 0x14] - str r0, [r2] - ldr r0, _08036E08 - ldr r2, _08036E0C - adds r1, r2 - ldrb r1, [r1] - movs r2, 0 - bl sub_8090DC4 - ldr r0, _08036E10 - ldr r3, _08036E14 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_08036DFA: - add sp, 0x18 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08036E04: .4byte gUnknown_202DE30 -_08036E08: .4byte gUnknown_202DE58 -_08036E0C: .4byte 0x0000025e -_08036E10: .4byte gUnknown_80E6358 -_08036E14: .4byte 0x00000101 - thumb_func_end sub_8036B28 - - thumb_func_start sub_8036E18 -sub_8036E18: - push {lr} - cmp r0, 0xF - bhi _08036EB4 - lsls r0, 2 - ldr r1, _08036E28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08036E28: .4byte _08036E2C - .align 2, 0 -_08036E2C: - .4byte _08036EC0 - .4byte _08036E6C - .4byte _08036E7C - .4byte _08036E74 - .4byte _08036E84 - .4byte _08036E8C - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036EB4 - .4byte _08036E94 - .4byte _08036E9C -_08036E6C: - ldr r0, _08036E70 - b _08036E9E - .align 2, 0 -_08036E70: .4byte gUnknown_80E6378 -_08036E74: - ldr r0, _08036E78 - b _08036E9E - .align 2, 0 -_08036E78: .4byte gUnknown_80E639C -_08036E7C: - ldr r0, _08036E80 - b _08036E9E - .align 2, 0 -_08036E80: .4byte gUnknown_80E63F8 -_08036E84: - ldr r0, _08036E88 - b _08036E9E - .align 2, 0 -_08036E88: .4byte gUnknown_80E6448 -_08036E8C: - ldr r0, _08036E90 - b _08036E9E - .align 2, 0 -_08036E90: .4byte gUnknown_80E6378 -_08036E94: - ldr r0, _08036E98 - b _08036E9E - .align 2, 0 -_08036E98: .4byte gUnknown_80E6378 -_08036E9C: - ldr r0, _08036EAC -_08036E9E: - ldr r3, _08036EB0 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _08036EC0 - .align 2, 0 -_08036EAC: .4byte gUnknown_80E64AC -_08036EB0: .4byte 0x00000101 -_08036EB4: - ldr r0, _08036EC4 - ldr r3, _08036EC8 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_08036EC0: - pop {r0} - bx r0 - .align 2, 0 -_08036EC4: .4byte gUnknown_80E6378 -_08036EC8: .4byte 0x00000101 - thumb_func_end sub_8036E18 - - thumb_func_start sub_8036ECC -sub_8036ECC: - push {r4-r6,lr} - adds r3, r0, 0 - ldr r6, _08036F28 - ldr r0, [r6] - movs r2, 0x3 - str r2, [r0, 0x24] - movs r2, 0x1 - str r2, [r0, 0x18] - str r2, [r0, 0x1C] - str r1, [r0, 0x20] - movs r1, 0x2C - str r1, [r0, 0x30] - movs r1, 0x12 - str r1, [r0, 0x34] - str r3, [r0, 0x28] - lsls r4, r3, 1 - adds r4, r3 - lsls r4, 3 - movs r5, 0xC2 - lsls r5, 1 - adds r1, r4, r5 - adds r1, r0, r1 - str r1, [r0, 0x2C] - adds r0, 0x14 - bl sub_8013AA0 - ldr r1, [r6] - adds r1, r4 - adds r1, r5 - ldr r0, _08036F2C - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - bl ResetUnusedInputStruct - ldr r0, [r6] - adds r0, r5 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08036F28: .4byte gUnknown_203B358 -_08036F2C: .4byte gUnknown_80E6174 - thumb_func_end sub_8036ECC - - thumb_func_start sub_8036F30 -sub_8036F30: - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08036F6C - ldr r0, [r5] - ldr r4, [r0, 0x28] - adds r0, r4, 0 - bl sub_8008C54 - adds r0, r4, 0 - bl sub_80073B8 - ldr r2, _08036F70 - movs r0, 0 - str r0, [sp] - movs r0, 0x2 - movs r1, 0 - adds r3, r4, 0 - bl xxx_call_draw_string - ldr r0, [r5] - adds r0, 0x14 - bl sub_8013C68 - adds r0, r4, 0 - bl sub_80073E0 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08036F6C: .4byte gUnknown_203B358 -_08036F70: .4byte gUnknown_80E6528 - thumb_func_end sub_8036F30 - - thumb_func_start sub_8036F74 -sub_8036F74: - push {r4,lr} - ldr r4, _08036FB8 - ldr r0, [r4] - movs r1, 0xC2 - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - ldr r0, _08036FBC - ldr r1, [r0] - ldr r0, [r4] - ldr r2, _08036FC0 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r1, [r1] - movs r0, 0x2 - bl sub_8036ECC - bl sub_801CCD8 - ldr r0, [r4] - adds r0, 0x44 - movs r1, 0x3 - movs r2, 0 - bl sub_8035CF4 - bl sub_8036F30 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08036FB8: .4byte gUnknown_203B358 -_08036FBC: .4byte gUnknown_203B460 -_08036FC0: .4byte 0x0000025e - thumb_func_end sub_8036F74 - - thumb_func_start sub_8036FC4 -sub_8036FC4: - push {lr} - ldr r1, _08036FD8 - ldr r1, [r1] - str r0, [r1] - bl nullsub_52 - bl sub_8036B28 - pop {r0} - bx r0 - .align 2, 0 -_08036FD8: .4byte gUnknown_203B358 - thumb_func_end sub_8036FC4 - - thumb_func_start sub_8036FDC -sub_8036FDC: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r6, r0, 0 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0 - bl ResetSprites - ldr r5, _080370C0 - ldr r0, [r5] - cmp r0, 0 - bne _08037016 - ldr r4, _080370C4 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_08037016: - ldr r0, [r5] - str r6, [r0] - movs r1, 0 - str r1, [r0, 0x4] - str r1, [r0, 0x8] - movs r3, 0 - adds r7, r5, 0 - movs r6, 0xE0 - lsls r6, 1 - movs r4, 0 - movs r5, 0xDE - lsls r5, 1 -_0803702E: - ldr r0, [r7] - lsls r2, r3, 3 - adds r1, r0, r6 - adds r1, r2 - str r4, [r1] - adds r0, r2 - adds r0, r5 - strb r4, [r0] - adds r3, 0x1 - cmp r3, 0x1 - ble _0803702E - ldr r0, _080370C0 - mov r12, r0 - movs r5, 0xAE - lsls r5, 1 - mov r8, r5 - ldr r4, _080370C8 - movs r3, 0 - movs r2, 0x3 -_08037054: - mov r6, r12 - ldr r1, [r6] - 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 _08037054 - movs r6, 0 - bl ResetUnusedInputStruct - ldr r5, _080370C0 - ldr r0, [r5] - movs r4, 0xAE - lsls r4, 1 - adds r0, r4 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x1C - adds r1, r4 - ldr r3, _080370CC - ldr r2, _080370D0 - str r2, [sp] - str r6, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r6, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - ldr r0, [r5] - adds r0, 0x1C - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - bl sub_80376CC - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080370C0: .4byte gUnknown_203B35C -_080370C4: .4byte 0x00000504 -_080370C8: .4byte gUnknown_80E653C -_080370CC: .4byte gUnknown_80E6CD0 -_080370D0: .4byte gUnknown_80E6CE8 - thumb_func_end sub_8036FDC - - thumb_func_start sub_80370D4 -sub_80370D4: - push {r4,lr} - ldr r4, _080370EC - ldr r0, [r4] - cmp r0, 0 - beq _080370E6 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080370E6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080370EC: .4byte gUnknown_203B35C - thumb_func_end sub_80370D4 - - thumb_func_start sub_80370F0 -sub_80370F0: - push {r4,r5,lr} - sub sp, 0x4 - movs r0, 0x4 - str r0, [sp] - ldr r5, _08037110 - ldr r4, _08037114 - ldr r1, [r4] - ldr r0, [r1, 0x8] - cmp r0, 0x1 - beq _08037148 - cmp r0, 0x1 - bcc _08037118 - cmp r0, 0x2 - beq _08037158 - b _080371A8 - .align 2, 0 -_08037110: .4byte 0x0000ffdc -_08037114: .4byte gUnknown_203B35C -_08037118: - adds r0, r1, 0 - adds r0, 0x1C - bl sub_80130A8 - lsls r0, 24 - cmp r0, 0 - bne _08037130 - ldr r0, [r4] - adds r0, 0x1C - mov r1, sp - bl sub_8013114 -_08037130: - ldr r0, [sp] - cmp r0, 0x4 - bne _0803713C - bl sub_8037748 - b _080371A8 -_0803713C: - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1, 0x8] - bl sub_8037900 - b _080371A8 -_08037148: - bl sub_80376CC - ldr r1, [r4] - movs r0, 0x2 - str r0, [r1, 0x8] - bl sub_80371B8 - b _080371A8 -_08037158: - ldr r0, [r1] - cmp r0, 0x1 - bhi _08037172 - ldr r0, [r1, 0x4] - cmp r0, 0 - bne _08037172 - movs r0, 0 - bl sub_8037C10 - cmp r0, 0 - bne _08037172 - movs r0, 0x29 - b _080371AA -_08037172: - ldr r4, _080371B4 - ldr r0, [r4] - adds r0, 0x1C - bl sub_80130A8 - lsls r0, 24 - cmp r0, 0 - bne _0803718C - ldr r0, [r4] - adds r0, 0x1C - mov r1, sp - bl sub_8013114 -_0803718C: - ldr r0, [sp] - cmp r0, 0x4 - beq _080371A4 - movs r0, 0x3 - bl sub_80119D4 - bl sub_8037798 - adds r5, r0, 0 - ldr r1, [r4] - movs r0, 0x4 - str r0, [r1, 0x8] -_080371A4: - bl sub_8037748 -_080371A8: - adds r0, r5, 0 -_080371AA: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080371B4: .4byte gUnknown_203B35C - thumb_func_end sub_80370F0 - - thumb_func_start sub_80371B8 -sub_80371B8: - push {r4-r7,lr} - sub sp, 0x10 - movs r6, 0 - movs r5, 0 - bl sub_8037400 - ldr r7, _0803721C - ldr r1, [r7] - ldr r0, [r1] - cmp r0, 0x1 - bhi _08037228 - ldr r0, [r1, 0x4] - cmp r0, 0 - bne _08037228 - movs r0, 0 - bl sub_8037C10 - cmp r0, 0 - bne _080371E0 - b _080373AC -_080371E0: - bl sub_80376CC - ldr r0, [r7] - movs r4, 0xAE - lsls r4, 1 - adds r0, r4 - movs r1, 0 - bl sub_8035CC0 - ldr r1, [r7] - adds r0, r1, 0 - adds r0, 0x1C - adds r1, r4 - ldr r3, _08037220 - ldr r2, _08037224 - str r2, [sp] - str r6, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r6, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - ldr r0, [r7] - adds r0, 0x1C - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - b _080373AC - .align 2, 0 -_0803721C: .4byte gUnknown_203B35C -_08037220: .4byte gUnknown_80E6C50 -_08037224: .4byte gUnknown_80E6C68 -_08037228: - bl sub_80376CC - ldr r4, _08037250 - ldr r0, [r4] - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - movs r1, 0 - bl sub_8035CC0 - ldr r0, [r4] - ldr r0, [r0, 0x4] - cmp r0, 0xF - bls _08037246 - b _0803734C -_08037246: - lsls r0, 2 - ldr r1, _08037254 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037250: .4byte gUnknown_203B35C -_08037254: .4byte _08037258 - .align 2, 0 -_08037258: - .4byte _08037298 - .4byte _080372D8 - .4byte _080372B8 - .4byte _080372A8 - .4byte _080372C8 - .4byte _080372D8 - .4byte _080372E8 - .4byte _080372F8 - .4byte _0803734C - .4byte _08037308 - .4byte _0803734C - .4byte _08037318 - .4byte _0803734C - .4byte _08037328 - .4byte _08037338 - .4byte _08037348 -_08037298: - ldr r6, _080372A0 - ldr r5, _080372A4 - b _0803734C - .align 2, 0 -_080372A0: .4byte gUnknown_80E66BC -_080372A4: .4byte gUnknown_80E66D4 -_080372A8: - ldr r6, _080372B0 - ldr r5, _080372B4 - b _0803734C - .align 2, 0 -_080372B0: .4byte gUnknown_80E6D54 -_080372B4: .4byte gUnknown_80E6D6C -_080372B8: - ldr r6, _080372C0 - ldr r5, _080372C4 - b _0803734C - .align 2, 0 -_080372C0: .4byte gUnknown_80E6DDC -_080372C4: .4byte gUnknown_80E6DF4 -_080372C8: - ldr r6, _080372D0 - ldr r5, _080372D4 - b _0803734C - .align 2, 0 -_080372D0: .4byte gUnknown_80E67D4 -_080372D4: .4byte gUnknown_80E67EC -_080372D8: - ldr r6, _080372E0 - ldr r5, _080372E4 - b _0803734C - .align 2, 0 -_080372E0: .4byte gUnknown_80E6748 -_080372E4: .4byte gUnknown_80E6760 -_080372E8: - ldr r6, _080372F0 - ldr r5, _080372F4 - b _0803734C - .align 2, 0 -_080372F0: .4byte gUnknown_80E689C -_080372F4: .4byte gUnknown_80E68B4 -_080372F8: - ldr r6, _08037300 - ldr r5, _08037304 - b _0803734C - .align 2, 0 -_08037300: .4byte gUnknown_80E6938 -_08037304: .4byte gUnknown_80E6950 -_08037308: - ldr r6, _08037310 - ldr r5, _08037314 - b _0803734C - .align 2, 0 -_08037310: .4byte gUnknown_80E69B0 -_08037314: .4byte gUnknown_80E69C8 -_08037318: - ldr r6, _08037320 - ldr r5, _08037324 - b _0803734C - .align 2, 0 -_08037320: .4byte gUnknown_80E6A10 -_08037324: .4byte gUnknown_80E6A28 -_08037328: - ldr r6, _08037330 - ldr r5, _08037334 - b _0803734C - .align 2, 0 -_08037330: .4byte gUnknown_80E6A74 -_08037334: .4byte gUnknown_80E6A8C -_08037338: - ldr r6, _08037340 - ldr r5, _08037344 - b _0803734C - .align 2, 0 -_08037340: .4byte gUnknown_80E6B78 -_08037344: .4byte gUnknown_80E6B90 -_08037348: - ldr r6, _080373B4 - ldr r5, _080373B8 -_0803734C: - ldr r4, _080373BC - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x1C - movs r2, 0xAE - lsls r2, 1 - adds r1, r2 - str r5, [sp] - movs r3, 0 - str r3, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r3, [sp, 0xC] - movs r2, 0 - adds r3, r6, 0 - bl SetMenuItems - ldr r0, [r4] - adds r0, 0x1C - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _080373AC - ldr r0, [r4] - cmp r0, 0 - bne _080373AC - bl sub_8035D94 - adds r2, r0, 0 - ldrb r0, [r2] - cmp r0, 0 - beq _080373AC - ldr r3, [r2, 0x4] - cmp r3, 0 - beq _080373AC - ldr r0, _080373C0 - ldr r1, [r0] - ldrb r0, [r2] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r0, [r1] - adds r0, r3 - strh r0, [r1] -_080373AC: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080373B4: .4byte gUnknown_80E6BF4 -_080373B8: .4byte gUnknown_80E6C0C -_080373BC: .4byte gUnknown_203B35C -_080373C0: .4byte gUnknown_203B460 - thumb_func_end sub_80371B8 - - thumb_func_start sub_80373C4 -sub_80373C4: - push {lr} - movs r0, 0 - movs r1, 0 - bl sub_8005838 - bl sub_80060EC - bl sub_800CB20 - bl LoadBufferedInputs - bl TransferBGPaletteBuffer - bl xxx_call_update_bg_vram - bl sub_8009908 - bl xxx_call_update_bg_sound_input - movs r0, 0 - bl ResetSprites - pop {r0} - bx r0 - thumb_func_end sub_80373C4 - - thumb_func_start sub_80373F4 -sub_80373F4: - ldr r0, _080373FC - ldr r0, [r0] - bx lr - .align 2, 0 -_080373FC: .4byte gUnknown_203B35C - thumb_func_end sub_80373F4 - - thumb_func_start sub_8037400 -sub_8037400: - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - bl sub_8037810 - bl sub_8011830 - ldr r4, _08037434 - ldr r0, [r4] - ldr r0, [r0] - bl sub_8037B28 - ldr r4, [r4] - str r0, [r4, 0x4] - cmp r0, 0 - beq _08037422 - b _080376BE -_08037422: - ldr r0, [r4] - cmp r0, 0xA - bls _0803742A - b _080375E8 -_0803742A: - lsls r0, 2 - ldr r1, _08037438 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037434: .4byte gUnknown_203B35C -_08037438: .4byte _0803743C - .align 2, 0 -_0803743C: - .4byte _08037494 - .4byte _080374B8 - .4byte _08037534 - .4byte _0803751C - .4byte _0803756C - .4byte _080375D8 - .4byte _080374E4 - .4byte _080374D0 - .4byte _080375E8 - .4byte _08037480 - .4byte _08037468 -_08037468: - ldr r0, _0803747C - ldr r0, [r0] - movs r1, 0xE7 - lsls r1, 2 - adds r6, r0, r1 - movs r2, 0x8A - lsls r2, 3 - adds r5, r0, r2 - b _080375E8 - .align 2, 0 -_0803747C: .4byte gUnknown_203B35C -_08037480: - ldr r0, _08037490 - ldr r0, [r0] - movs r3, 0xE7 - lsls r3, 2 - adds r6, r0, r3 - movs r4, 0x8A - lsls r4, 3 - b _080375E6 - .align 2, 0 -_08037490: .4byte gUnknown_203B35C -_08037494: - bl sub_8035D94 - ldr r1, _080374B4 - ldr r3, [r1] - movs r5, 0xDE - lsls r5, 1 - adds r2, r3, r5 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r2] - str r1, [r2, 0x4] - adds r6, r2, 0 - movs r0, 0xE2 - lsls r0, 1 - adds r5, r3, r0 - b _080375E8 - .align 2, 0 -_080374B4: .4byte gUnknown_203B35C -_080374B8: - ldr r0, _080374CC - ldr r0, [r0] - movs r1, 0xDE - lsls r1, 1 - adds r6, r0, r1 - movs r2, 0xE2 - lsls r2, 1 - adds r5, r0, r2 - b _080375E8 - .align 2, 0 -_080374CC: .4byte gUnknown_203B35C -_080374D0: - ldr r0, _080374E0 - ldr r0, [r0] - movs r3, 0xE6 - lsls r3, 1 - adds r6, r0, r3 - movs r4, 0xFE - lsls r4, 1 - b _080375E6 - .align 2, 0 -_080374E0: .4byte gUnknown_203B35C -_080374E4: - bl sub_8035D74 - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - ldr r3, _08037518 - ldr r1, [r3] - movs r2, 0xE6 - lsls r2, 1 - adds r1, r2 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r0, [r3] - adds r6, r0, r2 - movs r1, 0xFE - lsls r1, 1 - adds r5, r0, r1 - b _080375E8 - .align 2, 0 -_08037518: .4byte gUnknown_203B35C -_0803751C: - ldr r0, _08037530 - ldr r0, [r0] - movs r2, 0x8B - lsls r2, 2 - adds r6, r0, r2 - movs r3, 0x97 - lsls r3, 2 - adds r5, r0, r3 - b _080375E8 - .align 2, 0 -_08037530: .4byte gUnknown_203B35C -_08037534: - bl sub_8035D74 - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - ldr r3, _08037568 - ldr r1, [r3] - movs r2, 0x8B - lsls r2, 2 - adds r1, r2 - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldm r0!, {r4-r6} - stm r1!, {r4-r6} - ldr r0, [r3] - adds r6, r0, r2 - movs r1, 0x97 - lsls r1, 2 - adds r5, r0, r1 - b _080375E8 - .align 2, 0 -_08037568: .4byte gUnknown_203B35C -_0803756C: - bl sub_8035D74 - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - ldr r4, _080375CC - ldr r1, [r4] - movs r5, 0xA3 - lsls r5, 2 - adds r1, r5 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - bl sub_8035D3C - lsls r0, 16 - ldr r1, _080375D0 - cmp r0, r1 - beq _080375BE - bl sub_8035D3C - ldr r3, [r4] - movs r1, 0xAF - lsls r1, 2 - adds r3, r1 - ldr r1, _080375D4 - ldr r1, [r1] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x58 - muls r0, r2 - adds r1, r0 - adds r0, r3, 0 - bl memcpy -_080375BE: - ldr r0, [r4] - adds r6, r0, r5 - movs r2, 0xC5 - lsls r2, 2 - adds r5, r0, r2 - b _080375E8 - .align 2, 0 -_080375CC: .4byte gUnknown_203B35C -_080375D0: .4byte 0xffff0000 -_080375D4: .4byte gUnknown_203B45C -_080375D8: - ldr r0, _08037610 - ldr r0, [r0] - movs r3, 0xA3 - lsls r3, 2 - adds r6, r0, r3 - movs r4, 0xC5 - lsls r4, 2 -_080375E6: - adds r5, r0, r4 -_080375E8: - ldr r4, _08037610 - ldr r0, [r4] - ldr r0, [r0] - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_8037D64 - ldr r1, [r4] - str r0, [r1, 0x4] - cmp r0, 0 - bne _080376BE - ldr r0, [r1] - cmp r0, 0xA - bhi _080376AE - lsls r0, 2 - ldr r1, _08037614 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037610: .4byte gUnknown_203B35C -_08037614: .4byte _08037618 - .align 2, 0 -_08037618: - .4byte _08037644 - .4byte _08037644 - .4byte _08037658 - .4byte _08037658 - .4byte _0803766C - .4byte _0803766C - .4byte _08037684 - .4byte _08037684 - .4byte _080376AE - .4byte _0803769C - .4byte _0803769C -_08037644: - ldr r0, _08037654 - ldr r2, [r0] - movs r5, 0xDE - lsls r5, 1 - adds r6, r2, r5 - movs r1, 0xE2 - lsls r1, 1 - b _0803767A - .align 2, 0 -_08037654: .4byte gUnknown_203B35C -_08037658: - ldr r0, _08037668 - ldr r2, [r0] - movs r3, 0x8B - lsls r3, 2 - adds r6, r2, r3 - movs r4, 0x97 - lsls r4, 2 - b _08037692 - .align 2, 0 -_08037668: .4byte gUnknown_203B35C -_0803766C: - ldr r0, _08037680 - ldr r2, [r0] - movs r5, 0xA3 - lsls r5, 2 - adds r6, r2, r5 - movs r1, 0xC5 - lsls r1, 2 -_0803767A: - adds r5, r2, r1 - adds r4, r0, 0 - b _080376AE - .align 2, 0 -_08037680: .4byte gUnknown_203B35C -_08037684: - ldr r0, _08037698 - ldr r2, [r0] - movs r3, 0xE6 - lsls r3, 1 - adds r6, r2, r3 - movs r4, 0xFE - lsls r4, 1 -_08037692: - adds r5, r2, r4 - adds r4, r0, 0 - b _080376AE - .align 2, 0 -_08037698: .4byte gUnknown_203B35C -_0803769C: - ldr r1, _080376C8 - ldr r0, [r1] - movs r5, 0xE7 - lsls r5, 2 - adds r6, r0, r5 - movs r2, 0x8A - lsls r2, 3 - adds r5, r0, r2 - adds r4, r1, 0 -_080376AE: - ldr r0, [r4] - ldr r0, [r0] - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_80381F4 - ldr r1, [r4] - str r0, [r1, 0x4] -_080376BE: - bl xxx_call_start_bg_music - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080376C8: .4byte gUnknown_203B35C - thumb_func_end sub_8037400 - - thumb_func_start sub_80376CC -sub_80376CC: - push {r4,lr} - ldr r0, _08037728 - ldr r3, [r0] - ldrh r1, [r3, 0xC] - ldr r0, _0803772C - ands r0, r1 - ldr r1, _08037730 - ands r0, r1 - ldr r4, _08037734 - ands r0, r4 - ldr r1, _08037738 - ands r0, r1 - ldr r1, _0803773C - ands r0, r1 - movs r2, 0x80 - lsls r2, 7 - ldr r1, _08037740 - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0xC] - movs r2, 0xFC - lsls r2, 2 - ldrh r1, [r3, 0x10] - movs r0, 0xFC - lsls r0, 8 - ands r0, r1 - orrs r0, r2 - ands r0, r4 - movs r2, 0xF - movs r4, 0xF0 - lsls r4, 8 - ldr r1, _08037744 - ands r0, r1 - orrs r0, r4 - strh r0, [r3, 0x10] - movs r0, 0 - strh r0, [r3, 0xE] - movs r1, 0xC0 - lsls r1, 4 - ldrh r0, [r3, 0x12] - ands r2, r0 - orrs r2, r1 - strh r2, [r3, 0x12] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08037728: .4byte gUnknown_203B35C -_0803772C: .4byte 0x0000feff -_08037730: .4byte 0x0000fdff -_08037734: .4byte 0x0000f3ff -_08037738: .4byte 0x0000efff -_0803773C: .4byte 0x0000dfff -_08037740: .4byte 0x00003fff -_08037744: .4byte 0x00000fff - thumb_func_end sub_80376CC - - thumb_func_start sub_8037748 -sub_8037748: - push {r4,lr} - ldr r4, _08037794 - ldr r3, [r4] - ldrh r1, [r3, 0xE] - movs r0, 0xFE - lsls r0, 8 - ands r0, r1 - movs r1, 0x70 - orrs r0, r1 - strh r0, [r3, 0xE] - movs r2, 0xD0 - lsls r2, 3 - ldrh r1, [r3, 0x12] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strh r0, [r3, 0x12] - ldr r0, [r3, 0x14] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08037782 - adds r0, r3, 0 - adds r0, 0xC - adds r1, 0xF8 - movs r2, 0 - movs r3, 0 - bl AddSprite -_08037782: - bl xxx_draw_string_80144C4 - ldr r1, [r4] - ldr r0, [r1, 0x14] - adds r0, 0x1 - str r0, [r1, 0x14] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08037794: .4byte gUnknown_203B35C - thumb_func_end sub_8037748 - - thumb_func_start sub_8037798 -sub_8037798: - push {lr} - ldr r2, _080377B4 - ldr r1, _080377B8 - ldr r0, [r1] - ldr r0, [r0] - adds r3, r1, 0 - cmp r0, 0xA - bhi _0803780A - lsls r0, 2 - ldr r1, _080377BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080377B4: .4byte 0x0000ffdc -_080377B8: .4byte gUnknown_203B35C -_080377BC: .4byte _080377C0 - .align 2, 0 -_080377C0: - .4byte _080377EC - .4byte _080377EC - .4byte _080377F0 - .4byte _080377F0 - .4byte _080377F0 - .4byte _080377F0 - .4byte _080377F0 - .4byte _080377F0 - .4byte _0803780A - .4byte _080377FE - .4byte _080377FE -_080377EC: - movs r2, 0x1 - b _0803780A -_080377F0: - ldr r0, [r3] - ldr r0, [r0, 0x4] - movs r2, 0x1 - cmp r0, 0 - bne _0803780A - movs r2, 0x2A - b _0803780A -_080377FE: - ldr r0, [r3] - ldr r0, [r0, 0x4] - movs r2, 0xD - cmp r0, 0 - bne _0803780A - movs r2, 0x2B -_0803780A: - adds r0, r2, 0 - pop {r1} - bx r1 - thumb_func_end sub_8037798 - - thumb_func_start sub_8037810 -sub_8037810: - push {r4-r6,lr} - ldr r6, _080378FC - ldr r0, [r6] - movs r5, 0xDE - lsls r5, 1 - adds r0, r5 - movs r1, 0 - movs r2, 0x8 - bl MemoryFill8 - ldr r0, [r6] - movs r4, 0xE2 - lsls r4, 1 - adds r0, r4 - movs r1, 0 - movs r2, 0x8 - bl MemoryFill8 - ldr r0, [r6] - adds r5, r0, r5 - movs r1, 0 - movs r2, 0 - str r1, [r5] - str r2, [r5, 0x4] - adds r4, r0, r4 - str r1, [r4] - str r2, [r4, 0x4] - movs r2, 0xE6 - lsls r2, 1 - adds r0, r2 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r3, 0xFE - lsls r3, 1 - adds r0, r3 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r1, 0x8B - lsls r1, 2 - adds r0, r1 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r2, 0x97 - lsls r2, 2 - adds r0, r2 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r3, 0xA3 - lsls r3, 2 - adds r0, r3 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r1, 0xC5 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r2, 0xAF - lsls r2, 2 - adds r0, r2 - movs r1, 0 - movs r2, 0x58 - bl MemoryFill8 - ldr r0, [r6] - movs r3, 0xD1 - lsls r3, 2 - adds r0, r3 - movs r1, 0 - movs r2, 0x58 - bl MemoryFill8 - ldr r0, [r6] - movs r1, 0xE7 - lsls r1, 2 - adds r0, r1 - movs r1, 0 - movs r2, 0xB4 - bl MemoryFill8 - ldr r0, [r6] - movs r2, 0x8A - lsls r2, 3 - adds r0, r2 - movs r1, 0 - movs r2, 0xB4 - bl MemoryFill8 - ldr r2, [r6] - movs r3, 0xB1 - lsls r3, 2 - adds r0, r2, r3 - movs r1, 0 - strh r1, [r0] - adds r3, 0x88 - adds r0, r2, r3 - strh r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080378FC: .4byte gUnknown_203B35C - thumb_func_end sub_8037810 - - thumb_func_start sub_8037900 -sub_8037900: - push {r4,lr} - sub sp, 0x10 - ldr r4, _08037928 - ldr r0, [r4] - movs r1, 0xAE - lsls r1, 1 - adds r0, r1 - movs r1, 0 - bl sub_8035CC0 - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0xA - bls _0803791E - b _08037A14 -_0803791E: - lsls r0, 2 - ldr r1, _0803792C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037928: .4byte gUnknown_203B35C -_0803792C: .4byte _08037930 - .align 2, 0 -_08037930: - .4byte _0803795C - .4byte _0803795C - .4byte _0803797C - .4byte _0803797C - .4byte _0803799C - .4byte _0803799C - .4byte _080379BC - .4byte _080379BC - .4byte _08037A14 - .4byte _080379F0 - .4byte _080379F0 -_0803795C: - ldr r0, _08037970 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x1C - movs r2, 0xAE - lsls r2, 1 - adds r1, r2 - ldr r3, _08037974 - ldr r2, _08037978 - b _080379CE - .align 2, 0 -_08037970: .4byte gUnknown_203B35C -_08037974: .4byte gUnknown_80E6554 -_08037978: .4byte gUnknown_80E656C -_0803797C: - ldr r0, _08037990 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x1C - movs r2, 0xAE - lsls r2, 1 - adds r1, r2 - ldr r3, _08037994 - ldr r2, _08037998 - b _080379CE - .align 2, 0 -_08037990: .4byte gUnknown_203B35C -_08037994: .4byte gUnknown_80E6554 -_08037998: .4byte gUnknown_80E65D8 -_0803799C: - ldr r0, _080379B0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x1C - movs r2, 0xAE - lsls r2, 1 - adds r1, r2 - ldr r3, _080379B4 - ldr r2, _080379B8 - b _080379CE - .align 2, 0 -_080379B0: .4byte gUnknown_203B35C -_080379B4: .4byte gUnknown_80E6554 -_080379B8: .4byte gUnknown_80E661C -_080379BC: - ldr r0, _080379E4 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x1C - movs r2, 0xAE - lsls r2, 1 - adds r1, r2 - ldr r3, _080379E8 - ldr r2, _080379EC -_080379CE: - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - b _08037A14 - .align 2, 0 -_080379E4: .4byte gUnknown_203B35C -_080379E8: .4byte gUnknown_80E6554 -_080379EC: .4byte gUnknown_80E665C -_080379F0: - ldr r0, _08037A38 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x1C - movs r2, 0xAE - lsls r2, 1 - adds r1, r2 - ldr r3, _08037A3C - ldr r2, _08037A40 - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_08037A14: - ldr r4, _08037A38 - ldr r0, [r4] - adds r0, 0x1C - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - bl sub_80373C4 - ldr r0, [r4] - adds r0, 0x1C - bl sub_80130A8 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08037A38: .4byte gUnknown_203B35C -_08037A3C: .4byte gUnknown_80E6554 -_08037A40: .4byte gUnknown_80E667C - thumb_func_end sub_8037900 - - thumb_func_start nullsub_202 -nullsub_202: - bx lr - thumb_func_end nullsub_202 - - thumb_func_start sub_8037A48 -sub_8037A48: - push {r4-r6,lr} - sub sp, 0x28 - movs r6, 0x1 - movs r0, 0 - mov r1, sp - movs r2, 0x14 - bl sub_800D670 - add r4, sp, 0x14 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x14 - bl sub_800D670 - ldr r1, _08037AAC - movs r3, 0x8 - adds r2, r1, 0 - adds r0, r2, 0x4 -_08037A6C: - str r3, [r0] - subs r0, 0x4 - cmp r0, r1 - bge _08037A6C - ldr r0, [sp, 0x10] - str r0, [r2] - ldr r0, [r4, 0x10] - str r0, [r2, 0x4] - ldr r5, _08037AB0 - mov r0, sp - adds r1, r5, 0 - bl strcmp - cmp r0, 0 - beq _08037A8C - movs r0, 0x1 -_08037A8C: - lsls r0, 24 - cmp r0, 0 - bne _08037AA6 - adds r0, r4, 0 - adds r1, r5, 0 - bl strcmp - cmp r0, 0 - beq _08037AA0 - movs r0, 0x1 -_08037AA0: - lsls r0, 24 - cmp r0, 0 - beq _08037AB4 -_08037AA6: - movs r0, 0 - b _08037B1E - .align 2, 0 -_08037AAC: .4byte gUnknown_202EC40 -_08037AB0: .4byte gUnknown_80E6E50 -_08037AB4: - ldr r1, [sp, 0x10] - cmp r1, 0 - bne _08037AC0 - ldr r0, [r4, 0x10] - cmp r0, 0x1 - beq _08037B1C -_08037AC0: - cmp r1, 0x1 - bne _08037ACA - ldr r0, [r4, 0x10] - cmp r0, 0 - beq _08037B1C -_08037ACA: - cmp r1, 0x2 - bne _08037AD4 - ldr r0, [r4, 0x10] - cmp r0, 0x3 - beq _08037B1C -_08037AD4: - cmp r1, 0x3 - bne _08037ADE - ldr r0, [r4, 0x10] - cmp r0, 0x2 - beq _08037B1C -_08037ADE: - cmp r1, 0x9 - bne _08037AE8 - ldr r0, [r4, 0x10] - cmp r0, 0xA - beq _08037B1C -_08037AE8: - cmp r1, 0xA - bne _08037AF2 - ldr r0, [r4, 0x10] - cmp r0, 0x9 - beq _08037B1C -_08037AF2: - cmp r1, 0x4 - bne _08037AFC - ldr r0, [r4, 0x10] - cmp r0, 0x5 - beq _08037B1C -_08037AFC: - cmp r1, 0x5 - bne _08037B06 - ldr r0, [r4, 0x10] - cmp r0, 0x4 - beq _08037B1C -_08037B06: - cmp r1, 0x6 - bne _08037B10 - ldr r0, [r4, 0x10] - cmp r0, 0x7 - beq _08037B1C -_08037B10: - cmp r1, 0x7 - bne _08037B1A - ldr r0, [r4, 0x10] - cmp r0, 0x6 - beq _08037B1C -_08037B1A: - movs r6, 0 -_08037B1C: - adds r0, r6, 0 -_08037B1E: - add sp, 0x28 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8037A48 - - thumb_func_start sub_8037B28 -sub_8037B28: - push {r4,r5,lr} - sub sp, 0x14 - adds r4, r0, 0 - movs r5, 0 - bl sub_800D414 - ldr r0, _08037B58 - str r5, [r0] - ldr r5, _08037B5C - mov r0, sp - movs r1, 0 - movs r2, 0x14 - bl MemoryFill8 - mov r0, sp - adds r1, r5, 0 - bl strcpy - str r4, [sp, 0x10] - mov r0, sp - movs r1, 0x14 - bl sub_800D59C - b _08037B7A - .align 2, 0 -_08037B58: .4byte gUnknown_202EC38 -_08037B5C: .4byte gUnknown_80E6E50 -_08037B60: - cmp r5, 0x3 - beq _08037BCC - cmp r5, 0x4 - beq _08037BD8 - cmp r5, 0x5 - beq _08037BF0 - ldr r2, _08037BC0 - ldr r1, [r2] - ldr r0, _08037BC4 - cmp r1, r0 - bgt _08037BE4 - adds r0, r1, 0x1 - str r0, [r2] -_08037B7A: - movs r4, 0 -_08037B7C: - bl sub_80373C4 - bl sub_8012AE8 - cmp r0, 0x3 - bgt _08037B8C - cmp r0, 0x2 - bge _08037BF0 -_08037B8C: - adds r4, 0x1 - cmp r4, 0 - ble _08037B7C - bl sub_800D33C - adds r5, r0, 0 - bl sub_800D570 - cmp r5, 0x2 - bne _08037B60 - bl sub_800D600 - lsls r0, 24 - cmp r0, 0 - beq _08037BFC - bl sub_8037A48 - lsls r0, 24 - cmp r0, 0 - bne _08037BC8 - movs r4, 0x4 - bl sub_800D520 - bl sub_800D510 - b _08037C06 - .align 2, 0 -_08037BC0: .4byte gUnknown_202EC38 -_08037BC4: .4byte 0x00000707 -_08037BC8: - movs r4, 0 - b _08037C06 -_08037BCC: - bl sub_800D520 - bl sub_800D510 - movs r0, 0x2 - b _08037C08 -_08037BD8: - bl sub_800D520 - bl sub_800D510 - movs r0, 0x3 - b _08037C08 -_08037BE4: - bl sub_800D520 - bl sub_800D510 - movs r0, 0xF - b _08037C08 -_08037BF0: - bl sub_800D520 - bl sub_800D510 - movs r0, 0x1 - b _08037C08 -_08037BFC: - movs r4, 0x5 - bl sub_800D520 - bl sub_800D510 -_08037C06: - adds r0, r4, 0 -_08037C08: - add sp, 0x14 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8037B28 - - thumb_func_start sub_8037C10 -sub_8037C10: - push {lr} - lsls r0, 24 - cmp r0, 0 - beq _08037C24 - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - bne _08037C38 - b _08037C2E -_08037C24: - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _08037C38 -_08037C2E: - ldr r0, _08037C34 - ldr r0, [r0, 0x4] - b _08037C3C - .align 2, 0 -_08037C34: .4byte gUnknown_202EC40 -_08037C38: - ldr r0, _08037C40 - ldr r0, [r0] -_08037C3C: - pop {r1} - bx r1 - .align 2, 0 -_08037C40: .4byte gUnknown_202EC40 - thumb_func_end sub_8037C10 - - thumb_func_start sub_8037C44 -sub_8037C44: - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - movs r4, 0 -_08037C4C: - adds r0, r4, 0 - bl sub_800D68C - adds r4, 0x1 - cmp r4, 0x1 - ble _08037C4C - cmp r6, 0xA - bhi _08037CBE - lsls r0, r6, 2 - ldr r1, _08037C68 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037C68: .4byte _08037C6C - .align 2, 0 -_08037C6C: - .4byte _08037C98 - .4byte _08037C98 - .4byte _08037CA2 - .4byte _08037CA2 - .4byte _08037CAC - .4byte _08037CAC - .4byte _08037CA2 - .4byte _08037CA2 - .4byte _08037CBE - .4byte _08037CB6 - .4byte _08037CB6 -_08037C98: - adds r0, r5, 0 - movs r1, 0x8 - bl sub_800D59C - b _08037CBE -_08037CA2: - adds r0, r5, 0 - movs r1, 0x30 - bl sub_800D59C - b _08037CBE -_08037CAC: - adds r0, r5, 0 - movs r1, 0x88 - bl sub_800D59C - b _08037CBE -_08037CB6: - adds r0, r5, 0 - movs r1, 0xB4 - bl sub_800D59C -_08037CBE: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8037C44 - - thumb_func_start sub_8037CC4 -sub_8037CC4: - push {r4,lr} - adds r3, r1, 0 - adds r4, r2, 0 - cmp r0, 0xA - bhi _08037D5E - lsls r0, 2 - ldr r1, _08037CD8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037CD8: .4byte _08037CDC - .align 2, 0 -_08037CDC: - .4byte _08037D08 - .4byte _08037D08 - .4byte _08037D1E - .4byte _08037D1E - .4byte _08037D34 - .4byte _08037D34 - .4byte _08037D1E - .4byte _08037D1E - .4byte _08037D5E - .4byte _08037D4A - .4byte _08037D4A -_08037D08: - movs r0, 0 - adds r1, r3, 0 - movs r2, 0x8 - bl sub_800D670 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x8 - bl sub_800D670 - b _08037D5E -_08037D1E: - movs r0, 0 - adds r1, r3, 0 - movs r2, 0x30 - bl sub_800D670 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x30 - bl sub_800D670 - b _08037D5E -_08037D34: - movs r0, 0 - adds r1, r3, 0 - movs r2, 0x88 - bl sub_800D670 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0x88 - bl sub_800D670 - b _08037D5E -_08037D4A: - movs r0, 0 - adds r1, r3, 0 - movs r2, 0xB4 - bl sub_800D670 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0xB4 - bl sub_800D670 -_08037D5E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8037CC4 - - thumb_func_start sub_8037D64 -sub_8037D64: - push {r4-r7,lr} - adds r5, r0, 0 - adds r6, r1, 0 - adds r7, r2, 0 - movs r4, 0 - ldr r0, _08037D80 - str r4, [r0] - bl sub_800D494 - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_8037C44 - b _08037D96 - .align 2, 0 -_08037D80: .4byte gUnknown_202EC48 -_08037D84: - subs r0, r4, 0x3 - cmp r0, 0x2 - bls _08037DBC - ldr r1, _08037DB8 - ldr r0, [r1] - cmp r0, 0x63 - bgt _08037DC8 - adds r0, 0x1 - str r0, [r1] -_08037D96: - bl sub_80373C4 - bl sub_800D33C - adds r4, r0, 0 - bl sub_800D570 - cmp r4, 0x2 - bne _08037D84 - bl sub_800D600 - lsls r0, 24 - cmp r0, 0 - beq _08037DD4 - movs r4, 0 - b _08037DDE - .align 2, 0 -_08037DB8: .4byte gUnknown_202EC48 -_08037DBC: - bl sub_800D520 - bl sub_800D510 - movs r0, 0x1 - b _08037DEA -_08037DC8: - bl sub_800D520 - bl sub_800D510 - movs r0, 0xF - b _08037DEA -_08037DD4: - bl sub_800D520 - bl sub_800D510 - movs r4, 0x5 -_08037DDE: - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_8037CC4 - adds r0, r4, 0 -_08037DEA: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8037D64 - - thumb_func_start sub_8037DF0 -sub_8037DF0: - push {r4,lr} - sub sp, 0x8 - movs r4, 0 - movs r0, 0 - mov r1, sp - movs r2, 0x4 - bl sub_800D670 - add r1, sp, 0x4 - movs r0, 0x1 - movs r2, 0x4 - bl sub_800D670 - ldr r0, [sp] - cmp r0, 0 - bne _08037E16 - ldr r0, [sp, 0x4] - cmp r0, 0 - beq _08037E2C -_08037E16: - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - bne _08037E24 - ldr r4, [sp, 0x4] - b _08037E26 -_08037E24: - ldr r4, [sp] -_08037E26: - cmp r4, 0 - bne _08037E2C - movs r4, 0xE -_08037E2C: - adds r0, r4, 0 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8037DF0 - - thumb_func_start sub_8037E38 -sub_8037E38: - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - bl sub_800D588 - lsls r0, 24 - adds r4, r6, 0 - cmp r0, 0 - bne _08037E4C - adds r4, r5, 0 -_08037E4C: - bl sub_800D588 - lsls r0, 24 - adds r3, r5, 0 - cmp r0, 0 - bne _08037E5A - adds r3, r6, 0 -_08037E5A: - ldrb r0, [r4] - ldrb r1, [r3] - cmp r0, r1 - bne _08037E70 - ldr r0, _08037E6C - ldr r1, [r0] - ldrb r0, [r4] - b _08037E76 - .align 2, 0 -_08037E6C: .4byte gUnknown_203B460 -_08037E70: - ldr r0, _08037E8C - ldr r1, [r0] - ldrb r0, [r3] -_08037E76: - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r2, [r1] - ldr r0, [r3, 0x4] - adds r2, r0 - strh r2, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08037E8C: .4byte gUnknown_203B460 - thumb_func_end sub_8037E38 - - thumb_func_start sub_8037E90 -sub_8037E90: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - bne _08037EA2 - adds r4, r5, 0 -_08037EA2: - movs r0, 0x2 - strb r0, [r4] - adds r0, r4, 0 - bl sub_80951BC - ldr r0, [r4, 0x10] - bl sub_8095274 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8037E90 - - thumb_func_start nullsub_53 -nullsub_53: - bx lr - thumb_func_end nullsub_53 - - thumb_func_start sub_8037EBC -sub_8037EBC: - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - bl sub_800D588 - lsls r0, 24 - adds r5, r4, 0 - cmp r0, 0 - bne _08037ED0 - adds r5, r6, 0 -_08037ED0: - ldr r1, [r5, 0x10] - movs r0, 0x1 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r4, r0, 0 - adds r1, r4, 0 - adds r0, r5, 0 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - movs r0, 0x5 - strb r0, [r4] - adds r0, r4, 0 - bl sub_80951FC - movs r0, 0x7 - strb r0, [r4] - movs r0, 0x38 - ldrsh r6, [r5, r0] - cmp r6, 0 - beq _08037F30 - ldr r4, _08037F2C - ldr r0, [r4] - ldr r1, [r5, 0x10] - stm r0!, {r1} - adds r1, r5, 0 - adds r1, 0x30 - movs r2, 0x58 - bl memcpy - ldr r1, [r4] - movs r0, 0x42 - strb r0, [r1, 0x8] - ldr r1, [r4] - movs r0, 0x1 - strb r0, [r1, 0x9] - b _08037F40 - .align 2, 0 -_08037F2C: .4byte gUnknown_203B484 -_08037F30: - ldr r4, _08037F48 - ldr r0, [r4] - movs r1, 0 - movs r2, 0x5C - bl MemoryFill8 - ldr r0, [r4] - strh r6, [r0, 0xC] -_08037F40: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08037F48: .4byte gUnknown_203B484 - thumb_func_end sub_8037EBC - - thumb_func_start sub_8037F4C -sub_8037F4C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - bne _08037F5E - adds r4, r5, 0 -_08037F5E: - ldr r1, [r4, 0x10] - movs r0, 0x4 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r2, r0, 0 - adds r1, r4, 0 - 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] - bl sub_8035D4C - cmp r0, 0 - beq _08037F96 - adds r1, r0, 0 - adds r1, 0x3A - movs r0, 0x1 - strb r0, [r1] -_08037F96: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8037F4C - - thumb_func_start sub_8037F9C -sub_8037F9C: - push {lr} - adds r3, r1, 0 - cmp r0, 0xA - bhi _08038010 - lsls r0, 2 - ldr r1, _08037FB0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08037FB0: .4byte _08037FB4 - .align 2, 0 -_08037FB4: - .4byte _08037FE0 - .4byte _08037FE0 - .4byte _08038010 - .4byte _08037FF4 - .4byte _08038010 - .4byte _08037FFE - .4byte _08038010 - .4byte _08037FEA - .4byte _08038010 - .4byte _08038010 - .4byte _08038008 -_08037FE0: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8037E38 - b _08038010 -_08037FEA: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8037F4C - b _08038010 -_08037FF4: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8037E90 - b _08038010 -_08037FFE: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8037EBC - b _08038010 -_08038008: - adds r0, r3, 0 - adds r1, r2, 0 - bl nullsub_53 -_08038010: - pop {r0} - bx r0 - thumb_func_end sub_8037F9C - - thumb_func_start sub_8038014 -sub_8038014: - push {r4-r6,lr} - adds r6, r0, 0 - adds r5, r1, 0 - bl sub_800D588 - lsls r0, 24 - adds r4, r6, 0 - cmp r0, 0 - bne _08038028 - adds r4, r5, 0 -_08038028: - bl sub_800D588 - lsls r0, 24 - adds r3, r5, 0 - cmp r0, 0 - bne _08038036 - adds r3, r6, 0 -_08038036: - ldrb r0, [r4] - ldrb r1, [r3] - cmp r0, r1 - bne _0803804C - ldr r0, _08038048 - ldr r1, [r0] - ldrb r0, [r4] - b _08038052 - .align 2, 0 -_08038048: .4byte gUnknown_203B460 -_0803804C: - ldr r0, _08038070 - ldr r1, [r0] - ldrb r0, [r3] -_08038052: - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r2, [r1] - ldr r0, [r3, 0x4] - adds r2, r0 - ldr r0, _08038074 - movs r1, 0 - cmp r2, r0 - ble _08038068 - movs r1, 0x6 -_08038068: - adds r0, r1, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08038070: .4byte gUnknown_203B460 -_08038074: .4byte 0x000003e7 - thumb_func_end sub_8038014 - - thumb_func_start sub_8038078 -sub_8038078: - push {r4-r6,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - bne _0803808A - adds r4, r5, 0 -_0803808A: - ldr r6, [r4, 0x10] - ldr r0, _08038098 - ldr r0, [r0] - cmp r0, 0 - beq _0803809C - ldr r5, [r0, 0x50] - b _080380A2 - .align 2, 0 -_08038098: .4byte gUnknown_203B184 -_0803809C: - bl sub_8011C34 - adds r5, r0, 0 -_080380A2: - movs r0, 0x4 - adds r1, r6, 0 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - beq _080380BA - ldr r0, [r4, 0x28] - cmp r0, r5 - bne _080380BA - movs r0, 0 - b _080380BC -_080380BA: - movs r0, 0xB -_080380BC: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8038078 - - thumb_func_start sub_80380C4 -sub_80380C4: - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - bl sub_800D588 - lsls r0, 24 - adds r5, r4, 0 - cmp r0, 0 - bne _080380D8 - adds r5, r6, 0 -_080380D8: - ldr r4, [r5, 0x10] - movs r0, 0x2 - adds r1, r4, 0 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08038110 - movs r0, 0x4 - adds r1, r4, 0 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08038110 - movs r0, 0x6 - adds r1, r4, 0 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08038110 - ldr r0, [r5, 0x10] - bl sub_8095298 - lsls r0, 24 - cmp r0, 0 - beq _08038114 -_08038110: - movs r0, 0x7 - b _08038126 -_08038114: - bl sub_8095190 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _08038124 - movs r0, 0 - b _08038126 -_08038124: - movs r0, 0xD -_08038126: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80380C4 - - thumb_func_start sub_803812C -sub_803812C: - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - bne _0803813E - adds r4, r5, 0 -_0803813E: - ldr r1, [r4, 0x10] - movs r0, 0x1 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08038150 - movs r0, 0x9 - b _08038152 -_08038150: - movs r0, 0 -_08038152: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_803812C - - thumb_func_start sub_8038158 -sub_8038158: - movs r0, 0 - bx lr - thumb_func_end sub_8038158 - - thumb_func_start sub_803815C -sub_803815C: - push {r4,lr} - adds r3, r1, 0 - movs r4, 0 - cmp r0, 0xA - bhi _080381D2 - lsls r0, 2 - ldr r1, _08038170 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08038170: .4byte _08038174 - .align 2, 0 -_08038174: - .4byte _080381A0 - .4byte _080381A0 - .4byte _080381D2 - .4byte _080381B4 - .4byte _080381D2 - .4byte _080381BE - .4byte _080381D2 - .4byte _080381AA - .4byte _080381D2 - .4byte _080381D2 - .4byte _080381C8 -_080381A0: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8038014 - b _080381D0 -_080381AA: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8038078 - b _080381D0 -_080381B4: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_80380C4 - b _080381D0 -_080381BE: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_803812C - b _080381D0 -_080381C8: - adds r0, r3, 0 - adds r1, r2, 0 - bl sub_8038158 -_080381D0: - adds r4, r0, 0 -_080381D2: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_803815C - - thumb_func_start sub_80381DC -sub_80381DC: - push {lr} - bl sub_8037F9C - pop {r0} - bx r0 - thumb_func_end sub_80381DC - - thumb_func_start sub_80381E8 -sub_80381E8: - push {lr} - bl sub_803815C - pop {r1} - bx r1 - thumb_func_end sub_80381E8 - - thumb_func_start sub_80381F4 -sub_80381F4: - push {r4-r7,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r6, r1, 0 - adds r7, r2, 0 - movs r4, 0 - bl sub_803815C - str r0, [sp] - ldr r0, _08038218 - str r4, [r0] - bl sub_800D494 - mov r0, sp - movs r1, 0x4 - bl sub_800D59C - b _0803822E - .align 2, 0 -_08038218: .4byte gUnknown_202EC4C -_0803821C: - subs r0, r4, 0x3 - cmp r0, 0x2 - bls _08038272 - ldr r1, _08038250 - ldr r0, [r1] - cmp r0, 0x63 - bgt _0803827E - adds r0, 0x1 - str r0, [r1] -_0803822E: - bl sub_80373C4 - bl sub_800D33C - adds r4, r0, 0 - bl sub_800D570 - cmp r4, 0x2 - bne _0803821C - bl sub_800D600 - lsls r0, 24 - cmp r0, 0 - beq _08038254 - bl sub_8037DF0 - b _0803825E - .align 2, 0 -_08038250: .4byte gUnknown_202EC4C -_08038254: - bl sub_800D520 - bl sub_800D510 - movs r0, 0x5 -_0803825E: - str r0, [sp] - ldr r0, [sp] - cmp r0, 0 - bne _0803828A - adds r0, r5, 0 - adds r1, r6, 0 - adds r2, r7, 0 - bl sub_8037F9C - b _08038292 -_08038272: - bl sub_800D520 - bl sub_800D510 - movs r0, 0x1 - b _08038298 -_0803827E: - bl sub_800D520 - bl sub_800D510 - movs r0, 0xF - b _08038298 -_0803828A: - bl sub_800D520 - bl sub_800D510 -_08038292: - bl sub_800D520 - ldr r0, [sp] -_08038298: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80381F4 - - thumb_func_start sub_80382A0 -sub_80382A0: - push {lr} - movs r0, 0 - bl CreateAdventureLogScreen - pop {r0} - bx r0 - thumb_func_end sub_80382A0 - - thumb_func_start sub_80382AC -sub_80382AC: - push {lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r0} - bx r0 - thumb_func_end sub_80382AC - - thumb_func_start sub_80382C0 -sub_80382C0: - push {r4,lr} - ldr r4, _080382E0 - movs r0, 0x1 - bl sub_8031FD8 - cmp r0, 0x1 - bls _080382D8 - cmp r0, 0x3 - bhi _080382D8 - bl sub_803203C - movs r4, 0x1 -_080382D8: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080382E0: .4byte 0x0000ffdc - thumb_func_end sub_80382C0 - - thumb_func_start sub_80382E4 -sub_80382E4: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r8, r0 - ldr r5, _08038398 - ldr r0, [r5] - cmp r0, 0 - bne _0803830E - movs r4, 0xDA - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_0803830E: - mov r12, r5 - movs r0, 0xA4 - lsls r0, 1 - mov r9, r0 - ldr r4, _0803839C - movs r3, 0 - movs r2, 0x3 -_0803831C: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r9 - 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 _0803831C - bl ResetUnusedInputStruct - ldr r5, _08038398 - ldr r0, [r5] - movs r6, 0xA4 - lsls r6, 1 - adds r0, r6 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - mov r7, r8 - cmp r7, 0x25 - bne _08038370 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x8 - adds r1, r6 - ldr r3, _080383A0 - ldr r2, _080383A4 - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0x4 - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_08038370: - ldr r0, [r5] - adds r0, 0x8 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - ldr r1, [r5] - mov r0, r8 - str r0, [r1] - movs r0, 0 - str r0, [r1, 0x4] - bl sub_8038440 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08038398: .4byte gUnknown_203B360 -_0803839C: .4byte gUnknown_80E6E7C -_080383A0: .4byte gUnknown_80E6E94 -_080383A4: .4byte gUnknown_80E6EAC - thumb_func_end sub_80382E4 - - thumb_func_start sub_80383A8 -sub_80383A8: - push {r4,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _080383D0 - ldr r0, [r4] - cmp r0, 0 - beq _080383C8 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_080383C8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080383D0: .4byte gUnknown_203B360 - thumb_func_end sub_80383A8 - - thumb_func_start sub_80383D4 -sub_80383D4: - push {r4-r6,lr} - sub sp, 0x4 - movs r0, 0x2 - str r0, [sp] - ldr r6, _08038410 - ldr r4, _08038414 - ldr r0, [r4] - ldr r5, [r0, 0x4] - cmp r5, 0 - bne _08038434 - adds r0, 0x8 - bl sub_80130A8 - lsls r0, 24 - cmp r0, 0 - bne _080383FE - ldr r0, [r4] - adds r0, 0x8 - mov r1, sp - bl sub_8013114 -_080383FE: - ldr r0, [sp] - cmp r0, 0x2 - beq _0803842C - cmp r0, 0x2 - bhi _08038418 - cmp r0, 0x1 - beq _0803841C - b _08038430 - .align 2, 0 -_08038410: .4byte 0x0000ffdc -_08038414: .4byte gUnknown_203B360 -_08038418: - cmp r0, 0x3 - bne _08038430 -_0803841C: - ldr r0, _08038428 - ldr r1, [r0] - movs r0, 0 - str r0, [r1, 0x4] - movs r6, 0x1 - b _08038430 - .align 2, 0 -_08038428: .4byte gUnknown_203B360 -_0803842C: - ldr r0, [r4] - str r5, [r0, 0x4] -_08038430: - bl sub_80384D0 -_08038434: - adds r0, r6, 0 - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80383D4 - - thumb_func_start sub_8038440 -sub_8038440: - push {r4,r5,lr} - movs r5, 0 - ldr r0, _080384B0 - ldr r0, [r0] - mov r12, r0 - movs r3, 0xD4 - lsls r3, 1 - add r3, r12 - ldrh r1, [r3] - ldr r0, _080384B4 - ands r0, r1 - ldr r1, _080384B8 - ands r0, r1 - ldr r4, _080384BC - ands r0, r4 - ldr r1, _080384C0 - ands r0, r1 - ldr r1, _080384C4 - ands r0, r1 - movs r2, 0x80 - lsls r2, 7 - ldr r1, _080384C8 - ands r0, r1 - orrs r0, r2 - strh r0, [r3] - movs r2, 0xFC - lsls r2, 2 - ldrh r1, [r3, 0x4] - movs r0, 0xFC - lsls r0, 8 - ands r0, r1 - orrs r0, r2 - ands r0, r4 - movs r2, 0xF - movs r4, 0xF0 - lsls r4, 8 - ldr r1, _080384CC - ands r0, r1 - orrs r0, r4 - strh r0, [r3, 0x4] - movs r0, 0x70 - strh r0, [r3, 0x2] - movs r1, 0xE0 - lsls r1, 3 - ldrh r0, [r3, 0x6] - ands r2, r0 - orrs r2, r1 - strh r2, [r3, 0x6] - movs r0, 0xD8 - lsls r0, 1 - add r0, r12 - str r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080384B0: .4byte gUnknown_203B360 -_080384B4: .4byte 0x0000feff -_080384B8: .4byte 0x0000fdff -_080384BC: .4byte 0x0000f3ff -_080384C0: .4byte 0x0000efff -_080384C4: .4byte 0x0000dfff -_080384C8: .4byte 0x00003fff -_080384CC: .4byte 0x00000fff - thumb_func_end sub_8038440 - - thumb_func_start sub_80384D0 -sub_80384D0: - push {r4,r5,lr} - ldr r5, _08038508 - ldr r2, [r5] - movs r4, 0xD8 - lsls r4, 1 - adds r0, r2, r4 - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080384F6 - movs r1, 0xD4 - lsls r1, 1 - adds r0, r2, r1 - subs r1, 0xA8 - movs r2, 0 - movs r3, 0 - bl AddSprite -_080384F6: - ldr r1, [r5] - adds r1, r4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08038508: .4byte gUnknown_203B360 - thumb_func_end sub_80384D0 - - thumb_func_start sub_803850C -sub_803850C: - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - mov r8, r0 - ldr r5, _0803859C - ldr r0, [r5] - cmp r0, 0 - bne _08038536 - movs r4, 0xDA - lsls r4, 1 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_08038536: - mov r12, r5 - movs r0, 0xA4 - lsls r0, 1 - mov r9, r0 - ldr r4, _080385A0 - movs r3, 0 - movs r2, 0x3 -_08038544: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r9 - 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 _08038544 - bl ResetUnusedInputStruct - ldr r4, _0803859C - ldr r0, [r4] - movs r6, 0xA4 - lsls r6, 1 - adds r0, r6 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - mov r7, r8 - cmp r7, 0x2E - bne _080385AC - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x8 - adds r1, r6 - ldr r3, _080385A4 - ldr r2, _080385A8 - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - b _080385CE - .align 2, 0 -_0803859C: .4byte gUnknown_203B364 -_080385A0: .4byte gUnknown_80E6F20 -_080385A4: .4byte gUnknown_80E6F38 -_080385A8: .4byte gUnknown_80E7090 -_080385AC: - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _080385F8 - ldr r2, _080385FC - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_080385CE: - ldr r4, _08038600 - ldr r0, [r4] - adds r0, 0x8 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0x4] - mov r5, r8 - str r5, [r1] - bl sub_8038830 - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080385F8: .4byte gUnknown_80E6F38 -_080385FC: .4byte gUnknown_80E6F50 -_08038600: .4byte gUnknown_203B364 - thumb_func_end sub_803850C - - thumb_func_start sub_8038604 -sub_8038604: - push {r4,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _0803862C - ldr r0, [r4] - cmp r0, 0 - beq _08038624 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08038624: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803862C: .4byte gUnknown_203B364 - thumb_func_end sub_8038604 - - thumb_func_start sub_8038630 -sub_8038630: - push {r4-r6,lr} - sub sp, 0x18 - ldr r5, _080386A8 - movs r0, 0x3 - str r0, [sp, 0x14] - ldr r6, _080386AC - ldr r0, [r6] - ldr r4, [r0, 0x4] - cmp r4, 0x1 - bne _08038646 - b _08038798 -_08038646: - cmp r4, 0x1 - bcc _0803864C - b _08038824 -_0803864C: - adds r0, 0x8 - bl sub_8012FD8 - movs r5, 0 - str r5, [sp, 0x10] - bl sub_80140F8 - bl sub_8011C1C - adds r1, r0, 0 - add r0, sp, 0x10 - bl sub_801203C - adds r4, r0, 0 - bl sub_8014114 - cmp r4, 0 - beq _080386B8 - cmp r4, 0x1 - beq _08038738 - ldr r0, [r6] - movs r4, 0xA4 - lsls r4, 1 - adds r0, r4 - movs r1, 0 - bl sub_8035CC0 - ldr r1, [r6] - ldr r0, [r1] - cmp r0, 0x2E - bne _08038750 - adds r0, r1, 0 - adds r0, 0x8 - adds r1, r4 - ldr r3, _080386B0 - ldr r2, _080386B4 - str r2, [sp] - str r5, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r5, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - b _0803876E - .align 2, 0 -_080386A8: .4byte 0x0000ffdc -_080386AC: .4byte gUnknown_203B364 -_080386B0: .4byte gUnknown_80E6F38 -_080386B4: .4byte gUnknown_80E7114 -_080386B8: - ldr r0, [r6] - movs r1, 0xA4 - lsls r1, 1 - adds r0, r1 - movs r1, 0 - bl sub_8035CC0 - ldr r1, [r6] - ldr r0, [r1] - cmp r0, 0x2E - bne _080386F8 - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _080386F0 - ldr r2, _080386F4 - str r2, [sp] - str r5, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r5, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - b _08038716 - .align 2, 0 -_080386F0: .4byte gUnknown_80E6F38 -_080386F4: .4byte gUnknown_80E70CC -_080386F8: - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038728 - ldr r2, _0803872C - str r2, [sp] - str r5, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r5, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_08038716: - ldr r4, _08038730 - ldr r1, [r4] - ldr r0, [r1] - cmp r0, 0x2D - bne _08038734 - movs r0, 0x1 - str r0, [r1, 0x4] - movs r0, 0x13 - b _08038826 - .align 2, 0 -_08038728: .4byte gUnknown_80E6F38 -_0803872C: .4byte gUnknown_80E6FBC -_08038730: .4byte gUnknown_203B364 -_08038734: - adds r0, r1, 0 - b _08038772 -_08038738: - ldr r0, _0803874C - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80141B4 - ldr r1, [r6] - movs r0, 0x5 - b _08038780 - .align 2, 0 -_0803874C: .4byte gUnknown_80E7178 -_08038750: - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038788 - ldr r2, _0803878C - str r2, [sp] - str r5, [sp, 0x4] - movs r2, 0x6 - str r2, [sp, 0x8] - str r5, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_0803876E: - ldr r4, _08038790 - ldr r0, [r4] -_08038772: - adds r0, 0x8 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - ldr r1, [r4] - movs r0, 0x1 -_08038780: - str r0, [r1, 0x4] - ldr r5, _08038794 - b _08038824 - .align 2, 0 -_08038788: .4byte gUnknown_80E6F38 -_0803878C: .4byte gUnknown_80E701C -_08038790: .4byte gUnknown_203B364 -_08038794: .4byte 0x0000ffdc -_08038798: - adds r0, 0x8 - bl sub_80130A8 - lsls r0, 24 - cmp r0, 0 - bne _080387AE - ldr r0, [r6] - adds r0, 0x8 - add r1, sp, 0x14 - bl sub_8013114 -_080387AE: - ldr r0, [sp, 0x14] - cmp r0, 0x3 - beq _0803881C - cmp r0, 0x3 - bhi _080387BE - cmp r0, 0x2 - beq _080387C2 - b _08038820 -_080387BE: - cmp r0, 0x4 - bne _08038820 -_080387C2: - ldr r4, _080387D8 - ldr r1, [r4] - ldr r0, [r1] - cmp r0, 0x29 - beq _080387D0 - cmp r0, 0x2E - bne _080387DC -_080387D0: - movs r0, 0x1 - str r0, [r1, 0x4] - movs r5, 0x1 - b _08038820 - .align 2, 0 -_080387D8: .4byte gUnknown_203B364 -_080387DC: - cmp r0, 0x2D - bne _080387E8 - movs r0, 0x1 - str r0, [r1, 0x4] - movs r5, 0x13 - b _08038820 -_080387E8: - cmp r0, 0x2C - bne _080387F4 - movs r0, 0x1 - str r0, [r1, 0x4] - movs r5, 0x1F - b _08038820 -_080387F4: - bl sub_8035D4C - adds r0, 0x3A - ldrb r0, [r0] - cmp r0, 0 - beq _0803880A - ldr r1, [r4] - movs r0, 0x1 - str r0, [r1, 0x4] - movs r5, 0x35 - b _08038820 -_0803880A: - ldr r0, [r4] - movs r1, 0x1 - str r1, [r0, 0x4] - ldr r0, [r0] - movs r5, 0xB - cmp r0, 0x2B - bne _08038820 - movs r5, 0xD - b _08038820 -_0803881C: - ldr r0, [r6] - str r4, [r0, 0x4] -_08038820: - bl sub_80388C4 -_08038824: - adds r0, r5, 0 -_08038826: - add sp, 0x18 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8038630 - - thumb_func_start sub_8038830 -sub_8038830: - push {r4,r5,lr} - movs r5, 0 - ldr r0, _080388A4 - ldr r0, [r0] - mov r12, r0 - movs r3, 0xD4 - lsls r3, 1 - add r3, r12 - ldrh r1, [r3] - ldr r0, _080388A8 - ands r0, r1 - ldr r1, _080388AC - ands r0, r1 - ldr r4, _080388B0 - ands r0, r4 - ldr r1, _080388B4 - ands r0, r1 - ldr r1, _080388B8 - ands r0, r1 - movs r2, 0x80 - lsls r2, 7 - ldr r1, _080388BC - ands r0, r1 - orrs r0, r2 - strh r0, [r3] - movs r2, 0xFC - lsls r2, 2 - ldrh r1, [r3, 0x4] - movs r0, 0xFC - lsls r0, 8 - ands r0, r1 - orrs r0, r2 - ands r0, r4 - movs r2, 0xF - movs r4, 0xF0 - lsls r4, 8 - ldr r1, _080388C0 - ands r0, r1 - orrs r0, r4 - strh r0, [r3, 0x4] - movs r0, 0x70 - strh r0, [r3, 0x2] - movs r1, 0xD0 - lsls r1, 3 - ldrh r0, [r3, 0x6] - ands r2, r0 - orrs r2, r1 - strh r2, [r3, 0x6] - movs r0, 0xD8 - lsls r0, 1 - add r0, r12 - str r5, [r0] - movs r0, 0 - bl ResetSprites - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080388A4: .4byte gUnknown_203B364 -_080388A8: .4byte 0x0000feff -_080388AC: .4byte 0x0000fdff -_080388B0: .4byte 0x0000f3ff -_080388B4: .4byte 0x0000efff -_080388B8: .4byte 0x0000dfff -_080388BC: .4byte 0x00003fff -_080388C0: .4byte 0x00000fff - thumb_func_end sub_8038830 - - thumb_func_start sub_80388C4 -sub_80388C4: - push {r4,r5,lr} - ldr r5, _080388FC - ldr r2, [r5] - movs r4, 0xD8 - lsls r4, 1 - adds r0, r2, r4 - ldr r0, [r0] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _080388EA - movs r1, 0xD4 - lsls r1, 1 - adds r0, r2, r1 - subs r1, 0xA8 - movs r2, 0 - movs r3, 0 - bl AddSprite -_080388EA: - ldr r1, [r5] - adds r1, r4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080388FC: .4byte gUnknown_203B364 - thumb_func_end sub_80388C4 - - thumb_func_start sub_8038900 -sub_8038900: - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r6, r0, 0 - ldr r5, _080389B8 - ldr r0, [r5] - cmp r0, 0 - bne _0803892A - movs r4, 0x85 - lsls r4, 2 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_0803892A: - movs r0, 0x1B - negs r0, r0 - adds r0, r6 - mov r8, r0 - mov r12, r5 - movs r1, 0xA4 - lsls r1, 1 - mov r9, r1 - ldr r4, _080389BC - mov r10, r4 - movs r3, 0 - movs r2, 0x3 -_08038942: - mov r5, r12 - ldr r1, [r5] - adds r1, r3 - add r1, r9 - mov r0, r10 - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - ldm r0!, {r4,r5,r7} - stm r1!, {r4,r5,r7} - adds r3, 0x18 - subs r2, 0x1 - cmp r2, 0 - bge _08038942 - bl ResetUnusedInputStruct - ldr r4, _080389B8 - ldr r0, [r4] - movs r7, 0xA4 - lsls r7, 1 - adds r0, r7 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r2, _080389C0 - ldrb r0, [r2] - cmp r0, 0 - bne _08038986 - ldr r0, _080389C4 - ldr r1, [r0] - adds r7, r4, 0 - adds r5, r0, 0 - cmp r1, r6 - beq _080389A0 -_08038986: - adds r7, r4, 0 - adds r3, r2, 0 - ldr r5, _080389C4 - ldr r1, _080389C8 - movs r2, 0 - adds r0, r1, 0 - adds r0, 0x35 -_08038994: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _08038994 - movs r0, 0 - strb r0, [r3] -_080389A0: - ldr r0, [r7] - str r6, [r0] - str r6, [r5] - mov r0, r8 - cmp r0, 0x7 - bhi _08038A36 - lsls r0, 2 - ldr r1, _080389CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080389B8: .4byte gUnknown_203B370 -_080389BC: .4byte gUnknown_80E71E4 -_080389C0: .4byte gUnknown_203B368 -_080389C4: .4byte gUnknown_203B36C -_080389C8: .4byte gUnknown_202EC50 -_080389CC: .4byte _080389D0 - .align 2, 0 -_080389D0: - .4byte _080389F0 - .4byte _080389FC - .4byte _080389F0 - .4byte _080389FC - .4byte _080389F0 - .4byte _080389FC - .4byte _08038A0C - .4byte _08038A2E -_080389F0: - bl sub_8035D74 - movs r1, 0 - bl sub_8031D70 - b _08038A36 -_080389FC: - ldr r1, _08038A08 - movs r0, 0x4 - bl sub_80151C0 - b _08038A36 - .align 2, 0 -_08038A08: .4byte gUnknown_202EC50 -_08038A0C: - movs r0, 0x1F - bl sub_8095228 - adds r4, r0, 0 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - movs r1, 0 - movs r0, 0x2 - strb r0, [r4] - adds r4, 0x22 - strb r1, [r4] - movs r0, 0x1F - bl sub_8031D70 - b _08038A36 -_08038A2E: - ldr r1, _08038A54 - movs r0, 0x4 - bl sub_80151C0 -_08038A36: - adds r0, r6, 0 - bl sub_8039000 - ldr r1, _08038A58 - ldr r1, [r1] - str r0, [r1, 0x4] - bl sub_8039174 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08038A54: .4byte gUnknown_202EC50 -_08038A58: .4byte gUnknown_203B370 - thumb_func_end sub_8038900 - - thumb_func_start sub_8038A5C -sub_8038A5C: - push {r4,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _08038A8C - ldr r0, [r4] - cmp r0, 0 - beq _08038A86 - bl sub_80155F0 - bl sub_8031E10 - ldr r0, [r4] - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08038A86: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08038A8C: .4byte gUnknown_203B370 - thumb_func_end sub_8038A5C - - thumb_func_start sub_8038A90 -sub_8038A90: - push {r4-r6,lr} - sub sp, 0x34 - movs r0, 0xB - str r0, [sp, 0x30] - ldr r5, _08038AB4 - ldr r1, _08038AB8 - ldr r0, [r1] - ldr r0, [r0, 0x4] - adds r6, r1, 0 - cmp r0, 0x9 - bls _08038AA8 - b _08038DB0 -_08038AA8: - lsls r0, 2 - ldr r1, _08038ABC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08038AB4: .4byte 0x0000ffdc -_08038AB8: .4byte gUnknown_203B370 -_08038ABC: .4byte _08038AC0 - .align 2, 0 -_08038AC0: - .4byte _08038AE8 - .4byte _08038AFC - .4byte _08038AE8 - .4byte _08038AFC - .4byte _08038AE8 - .4byte _08038AFC - .4byte _08038C78 - .4byte _08038C8C - .4byte _08038CC2 - .4byte _08038D38 -_08038AE8: - bl sub_8031DCC - ldr r5, _08038AF8 - cmp r0, 0 - bne _08038AF4 - b _08038DB0 -_08038AF4: - movs r5, 0xB - b _08038DB0 - .align 2, 0 -_08038AF8: .4byte 0x0000ffdc -_08038AFC: - bl sub_80154F0 - adds r4, r0, 0 - mov r0, sp - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - cmp r4, 0x1 - bne _08038B12 - b _08038CBC -_08038B12: - cmp r4, 0x1 - bcs _08038B18 - b _08038CB0 -_08038B18: - cmp r4, 0x2 - beq _08038AF4 - cmp r4, 0x3 - beq _08038B22 - b _08038DB0 -_08038B22: - ldr r0, _08038B44 - ldr r0, [r0] - ldr r0, [r0] - ldr r1, _08038B48 - mov r2, sp - bl sub_8039068 - subs r0, 0x7 - cmp r0, 0x11 - bls _08038B38 - b _08038DB0 -_08038B38: - lsls r0, 2 - ldr r1, _08038B4C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08038B44: .4byte gUnknown_203B370 -_08038B48: .4byte gUnknown_202EC50 -_08038B4C: .4byte _08038B50 - .align 2, 0 -_08038B50: - .4byte _08038BA4 - .4byte _08038DB0 - .4byte _08038BD8 - .4byte _08038DB0 - .4byte _08038C28 - .4byte _08038DB0 - .4byte _08038B9C - .4byte _08038DB0 - .4byte _08038DB0 - .4byte _08038DB0 - .4byte _08038B98 - .4byte _08038BA0 - .4byte _08038BD4 - .4byte _08038C24 - .4byte _08038DB0 - .4byte _08038BA8 - .4byte _08038BDC - .4byte _08038C2C -_08038B98: - movs r0, 0x11 - b _08038CA4 -_08038B9C: - movs r0, 0xD - b _08038CA4 -_08038BA0: - movs r0, 0x12 - b _08038CA4 -_08038BA4: - movs r0, 0x7 - b _08038CA4 -_08038BA8: - ldr r0, [sp, 0x10] - bl sub_8095274 - bl sub_8038F98 - ldr r0, _08038BCC - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x4] - ldr r5, _08038BD0 - mov r1, sp - movs r0, 0x2 - strb r0, [r1] - mov r0, sp - bl sub_80951BC - b _08038DB0 - .align 2, 0 -_08038BCC: .4byte gUnknown_203B370 -_08038BD0: .4byte 0x0000ffdc -_08038BD4: - movs r0, 0x13 - b _08038CA4 -_08038BD8: - movs r0, 0x9 - b _08038CA4 -_08038BDC: - bl sub_8038F98 - ldr r0, _08038C18 - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x4] - ldr r5, _08038C1C - mov r1, sp - movs r0, 0x5 - strb r0, [r1] - mov r0, sp - bl sub_80951FC - ldr r1, [sp, 0x10] - movs r0, 0x1 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - movs r1, 0x7 - strb r1, [r0] - ldr r0, _08038C20 - movs r1, 0 - movs r2, 0x5C - bl MemoryFill8 - b _08038DB0 - .align 2, 0 -_08038C18: .4byte gUnknown_203B370 -_08038C1C: .4byte 0x0000ffdc -_08038C20: .4byte gUnknown_203B484 -_08038C24: - movs r0, 0x14 - b _08038CA4 -_08038C28: - movs r0, 0xB - b _08038CA4 -_08038C2C: - bl sub_8038F98 - ldr r0, _08038C70 - ldr r1, [r0] - movs r0, 0x9 - str r0, [r1, 0x4] - ldr r5, _08038C74 - ldr r1, [sp, 0x10] - movs r0, 0x4 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - adds r2, r0, 0 - mov r1, sp - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - movs r1, 0x6 - strb r1, [r0] - bl sub_8035D4C - adds r0, 0x3A - movs r1, 0x1 - strb r1, [r0] - b _08038DB0 - .align 2, 0 -_08038C70: .4byte gUnknown_203B370 -_08038C74: .4byte 0x0000ffdc -_08038C78: - bl sub_8031DCC - ldr r5, _08038C88 - cmp r0, 0 - bne _08038C84 - b _08038DB0 -_08038C84: - movs r5, 0xD - b _08038DB0 - .align 2, 0 -_08038C88: .4byte 0x0000ffdc -_08038C8C: - bl sub_80154F0 - cmp r0, 0x1 - beq _08038CBC - cmp r0, 0x1 - bcc _08038CB0 - cmp r0, 0x2 - beq _08038C84 - cmp r0, 0x3 - beq _08038CA2 - b _08038DB0 -_08038CA2: - movs r0, 0x15 -_08038CA4: - bl sub_8038DC0 - ldr r0, _08038CB4 - ldr r1, [r0] - movs r0, 0x8 - str r0, [r1, 0x4] -_08038CB0: - ldr r5, _08038CB8 - b _08038DB0 - .align 2, 0 -_08038CB4: .4byte gUnknown_203B370 -_08038CB8: .4byte 0x0000ffdc -_08038CBC: - bl sub_8031E00 - b _08038CB0 -_08038CC2: - ldr r0, [r6] - adds r0, 0x8 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08038CDA - ldr r0, [r6] - adds r0, 0x8 - add r1, sp, 0x30 - bl sub_8013114 -_08038CDA: - ldr r0, [sp, 0x30] - cmp r0, 0xB - beq _08038D24 - cmp r0, 0xB - bhi _08038CEA - cmp r0, 0xA - beq _08038CEE - b _08038DB0 -_08038CEA: - cmp r0, 0xC - bne _08038DB0 -_08038CEE: - bl sub_8039174 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, _08038D1C - movs r0, 0x4 - bl sub_80151C0 - ldr r0, _08038D20 - ldr r1, [r0] - movs r0, 0x8 - str r0, [r1, 0x4] - ldr r0, [r1] - subs r0, 0x21 - movs r5, 0xB - cmp r0, 0x1 - bhi _08038DB0 - b _08038C84 - .align 2, 0 -_08038D1C: .4byte gUnknown_202EC50 -_08038D20: .4byte gUnknown_203B370 -_08038D24: - ldr r1, [r6] - movs r0, 0x8 - str r0, [r1, 0x4] - ldr r5, _08038D34 - bl sub_80391F8 - b _08038DB0 - .align 2, 0 -_08038D34: .4byte 0x0000ffdc -_08038D38: - adds r4, r6, 0 - ldr r0, [r4] - adds r0, 0x8 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08038D52 - ldr r0, [r4] - adds r0, 0x8 - add r1, sp, 0x30 - bl sub_8013114 -_08038D52: - ldr r0, [sp, 0x30] - cmp r0, 0xB - beq _08038DA4 - cmp r0, 0xB - bhi _08038D62 - cmp r0, 0xA - beq _08038D66 - b _08038DB0 -_08038D62: - cmp r0, 0xC - bne _08038DB0 -_08038D66: - bl sub_8039174 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, _08038D9C - movs r0, 0x4 - bl sub_80151C0 - ldr r4, _08038DA0 - ldr r0, [r4] - ldr r0, [r0] - bl sub_8039000 - ldr r1, [r4] - str r0, [r1, 0x4] - ldr r0, [r1] - subs r0, 0x21 - movs r5, 0x2A - cmp r0, 0x1 - bhi _08038DB0 - movs r5, 0x2B - b _08038DB0 - .align 2, 0 -_08038D9C: .4byte gUnknown_202EC50 -_08038DA0: .4byte gUnknown_203B370 -_08038DA4: - ldr r1, [r6] - movs r0, 0x9 - str r0, [r1, 0x4] - ldr r5, _08038DBC - bl sub_80391F8 -_08038DB0: - adds r0, r5, 0 - add sp, 0x34 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08038DBC: .4byte 0x0000ffdc - thumb_func_end sub_8038A90 - - thumb_func_start sub_8038DC0 -sub_8038DC0: - push {r4,lr} - sub sp, 0x10 - adds r4, r0, 0 - ldr r0, _08038DF8 - ldr r0, [r0] - movs r1, 0xD4 - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_80155F0 - subs r0, r4, 0x7 - cmp r0, 0xE - bls _08038DEE - b _08038F74 -_08038DEE: - lsls r0, 2 - ldr r1, _08038DFC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08038DF8: .4byte gUnknown_203B370 -_08038DFC: .4byte _08038E00 - .align 2, 0 -_08038E00: - .4byte _08038E7C - .4byte _08038F74 - .4byte _08038EDC - .4byte _08038F74 - .4byte _08038F1C - .4byte _08038F74 - .4byte _08038E9C - .4byte _08038F74 - .4byte _08038F74 - .4byte _08038F74 - .4byte _08038E3C - .4byte _08038E5C - .4byte _08038EBC - .4byte _08038EFC - .4byte _08038F50 -_08038E3C: - ldr r0, _08038E50 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038E54 - ldr r2, _08038E58 - b _08038F2E - .align 2, 0 -_08038E50: .4byte gUnknown_203B370 -_08038E54: .4byte gUnknown_80E71FC -_08038E58: .4byte gUnknown_80E7214 -_08038E5C: - ldr r0, _08038E70 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038E74 - ldr r2, _08038E78 - b _08038F2E - .align 2, 0 -_08038E70: .4byte gUnknown_203B370 -_08038E74: .4byte gUnknown_80E72EC -_08038E78: .4byte gUnknown_80E7304 -_08038E7C: - ldr r0, _08038E90 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038E94 - ldr r2, _08038E98 - b _08038F2E - .align 2, 0 -_08038E90: .4byte gUnknown_203B370 -_08038E94: .4byte gUnknown_80E7344 -_08038E98: .4byte gUnknown_80E735C -_08038E9C: - ldr r0, _08038EB0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038EB4 - ldr r2, _08038EB8 - b _08038F2E - .align 2, 0 -_08038EB0: .4byte gUnknown_203B370 -_08038EB4: .4byte gUnknown_80E7588 -_08038EB8: .4byte gUnknown_80E75A0 -_08038EBC: - ldr r0, _08038ED0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038ED4 - ldr r2, _08038ED8 - b _08038F2E - .align 2, 0 -_08038ED0: .4byte gUnknown_203B370 -_08038ED4: .4byte gUnknown_80E73AC -_08038ED8: .4byte gUnknown_80E73C4 -_08038EDC: - ldr r0, _08038EF0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038EF4 - ldr r2, _08038EF8 - b _08038F2E - .align 2, 0 -_08038EF0: .4byte gUnknown_203B370 -_08038EF4: .4byte gUnknown_80E7408 -_08038EF8: .4byte gUnknown_80E7420 -_08038EFC: - ldr r0, _08038F10 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038F14 - ldr r2, _08038F18 - b _08038F2E - .align 2, 0 -_08038F10: .4byte gUnknown_203B370 -_08038F14: .4byte gUnknown_80E7468 -_08038F18: .4byte gUnknown_80E7480 -_08038F1C: - ldr r0, _08038F44 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038F48 - ldr r2, _08038F4C -_08038F2E: - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0xD - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - b _08038F74 - .align 2, 0 -_08038F44: .4byte gUnknown_203B370 -_08038F48: .4byte gUnknown_80E74C8 -_08038F4C: .4byte gUnknown_80E74E0 -_08038F50: - ldr r0, _08038F8C - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038F90 - ldr r2, _08038F94 - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0xD - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems -_08038F74: - ldr r0, _08038F8C - ldr r0, [r0] - adds r0, 0x8 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08038F8C: .4byte gUnknown_203B370 -_08038F90: .4byte gUnknown_80E752C -_08038F94: .4byte gUnknown_80E7544 - thumb_func_end sub_8038DC0 - - thumb_func_start sub_8038F98 -sub_8038F98: - push {r4,r5,lr} - sub sp, 0x10 - ldr r5, _08038FF4 - ldr r0, [r5] - movs r1, 0xD4 - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_80155F0 - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x8 - movs r2, 0xA4 - lsls r2, 1 - adds r1, r2 - ldr r3, _08038FF8 - ldr r2, _08038FFC - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r2, 0xD - str r2, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - ldr r0, [r5] - adds r0, 0x8 - movs r1, 0 - movs r2, 0x1 - bl sub_8035CF4 - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08038FF4: .4byte gUnknown_203B370 -_08038FF8: .4byte gUnknown_80E7278 -_08038FFC: .4byte gUnknown_80E7290 - thumb_func_end sub_8038F98 - - thumb_func_start sub_8039000 -sub_8039000: - push {lr} - movs r1, 0xB - ldr r0, _0803901C - ldr r0, [r0] - ldr r0, [r0] - subs r0, 0x1B - cmp r0, 0x7 - bhi _08039062 - lsls r0, 2 - ldr r1, _08039020 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803901C: .4byte gUnknown_203B370 -_08039020: .4byte _08039024 - .align 2, 0 -_08039024: - .4byte _08039044 - .4byte _08039054 - .4byte _0803904C - .4byte _0803905C - .4byte _08039048 - .4byte _08039058 - .4byte _08039050 - .4byte _08039060 -_08039044: - movs r1, 0 - b _08039062 -_08039048: - movs r1, 0x4 - b _08039062 -_0803904C: - movs r1, 0x2 - b _08039062 -_08039050: - movs r1, 0x6 - b _08039062 -_08039054: - movs r1, 0x1 - b _08039062 -_08039058: - movs r1, 0x5 - b _08039062 -_0803905C: - movs r1, 0x3 - b _08039062 -_08039060: - movs r1, 0x7 -_08039062: - adds r0, r1, 0 - pop {r1} - bx r1 - thumb_func_end sub_8039000 - - thumb_func_start sub_8039068 -sub_8039068: - push {r4-r6,lr} - adds r6, r0, 0 - adds r0, r1, 0 - adds r5, r2, 0 - adds r1, r5, 0 - bl sub_803D204 - lsls r0, 24 - cmp r0, 0 - beq _080390AC - ldrb r0, [r5] - cmp r0, 0x7 - bhi _080390AC - ldrb r4, [r5, 0x5] - ldrb r0, [r5, 0x4] - bl sub_8090298 - cmp r4, r0 - bge _080390AC - movs r0, 0xC - ldrsh r1, [r5, r0] - cmp r1, 0 - beq _080390AC - ldr r0, _080390B0 - cmp r1, r0 - bgt _080390AC - adds r0, r5, 0 - adds r0, 0x22 - ldrb r0, [r0] - bl sub_8092040 - lsls r0, 24 - cmp r0, 0 - beq _080390B4 -_080390AC: - movs r0, 0x11 - b _0803916E - .align 2, 0 -_080390B0: .4byte 0x000001a7 -_080390B4: - cmp r6, 0x1E - beq _08039120 - cmp r6, 0x1E - bhi _080390C2 - cmp r6, 0x1C - beq _080390C8 - b _0803916A -_080390C2: - cmp r6, 0x20 - beq _08039140 - b _0803916A -_080390C8: - ldrb r0, [r5] - cmp r0, 0x1 - beq _080390D2 - movs r0, 0x12 - b _0803916E -_080390D2: - ldr r1, [r5, 0x10] - movs r0, 0x2 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08039108 - ldr r1, [r5, 0x10] - movs r0, 0x4 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08039108 - ldr r1, [r5, 0x10] - movs r0, 0x6 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _08039108 - ldr r0, [r5, 0x10] - bl sub_8095298 - lsls r0, 24 - cmp r0, 0 - beq _0803910C -_08039108: - movs r0, 0x7 - b _0803916E -_0803910C: - bl sub_8095190 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _0803911C - movs r0, 0xD - b _0803916E -_0803911C: - movs r0, 0x16 - b _0803916E -_08039120: - ldrb r0, [r5] - cmp r0, 0x4 - beq _0803912A - movs r0, 0x13 - b _0803916E -_0803912A: - ldr r1, [r5, 0x10] - movs r0, 0x1 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - bne _0803913C - movs r0, 0x9 - b _0803916E -_0803913C: - movs r0, 0x17 - b _0803916E -_08039140: - ldrb r0, [r5] - cmp r0, 0x5 - beq _0803914A - movs r0, 0x14 - b _0803916E -_0803914A: - ldr r1, [r5, 0x10] - movs r0, 0x4 - bl sub_80952F0 - lsls r0, 24 - cmp r0, 0 - beq _08039162 - bl sub_8011C34 - ldr r1, [r5, 0x28] - cmp r1, r0 - beq _08039166 -_08039162: - movs r0, 0xB - b _0803916E -_08039166: - movs r0, 0x18 - b _0803916E -_0803916A: - movs r0, 0x1 - negs r0, r0 -_0803916E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8039068 - - thumb_func_start sub_8039174 -sub_8039174: - push {r4,lr} - ldr r0, _080391D8 - ldr r3, [r0] - movs r0, 0x82 - lsls r0, 2 - adds r3, r0 - ldrh r1, [r3] - ldr r0, _080391DC - ands r0, r1 - ldr r1, _080391E0 - ands r0, r1 - ldr r4, _080391E4 - ands r0, r4 - ldr r1, _080391E8 - ands r0, r1 - ldr r1, _080391EC - ands r0, r1 - movs r2, 0x80 - lsls r2, 7 - ldr r1, _080391F0 - ands r0, r1 - orrs r0, r2 - strh r0, [r3] - movs r2, 0xFC - lsls r2, 2 - ldrh r1, [r3, 0x4] - movs r0, 0xFC - lsls r0, 8 - ands r0, r1 - orrs r0, r2 - ands r0, r4 - movs r2, 0xF - movs r4, 0xF0 - lsls r4, 8 - ldr r1, _080391F4 - ands r0, r1 - orrs r0, r4 - strh r0, [r3, 0x4] - movs r0, 0 - strh r0, [r3, 0x2] - movs r1, 0xC0 - lsls r1, 4 - ldrh r0, [r3, 0x6] - ands r2, r0 - orrs r2, r1 - strh r2, [r3, 0x6] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080391D8: .4byte gUnknown_203B370 -_080391DC: .4byte 0x0000feff -_080391E0: .4byte 0x0000fdff -_080391E4: .4byte 0x0000f3ff -_080391E8: .4byte 0x0000efff -_080391EC: .4byte 0x0000dfff -_080391F0: .4byte 0x00003fff -_080391F4: .4byte 0x00000fff - thumb_func_end sub_8039174 - - thumb_func_start sub_80391F8 -sub_80391F8: - push {r4-r6,lr} - ldr r6, _08039250 - ldr r2, [r6] - movs r0, 0x82 - lsls r0, 2 - adds r4, r2, r0 - ldrh r1, [r4, 0x2] - movs r0, 0xFE - lsls r0, 8 - ands r0, r1 - movs r1, 0x70 - orrs r0, r1 - strh r0, [r4, 0x2] - movs r3, 0xE0 - lsls r3, 3 - ldrh r1, [r4, 0x6] - movs r0, 0xF - ands r0, r1 - orrs r0, r3 - strh r0, [r4, 0x6] - movs r5, 0x84 - lsls r5, 2 - adds r2, r5 - ldr r0, [r2] - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0803923C - adds r1, 0xF8 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0 - bl AddSprite -_0803923C: - bl xxx_draw_string_80144C4 - ldr r1, [r6] - adds r1, r5 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08039250: .4byte gUnknown_203B370 - thumb_func_end sub_80391F8 - - thumb_func_start CreateLoadScreen -CreateLoadScreen: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x10 - adds r6, r0, 0 - ldr r5, _080392EC - ldr r0, [r5] - cmp r0, 0 - bne _0803927C - movs r4, 0x9F - lsls r4, 2 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 -_0803927C: - ldr r0, [r5] - str r6, [r0] - mov r12, r5 - movs r0, 0xA2 - lsls r0, 1 - mov r8, r0 - ldr r4, _080392F0 - movs r3, 0 - movs r2, 0x3 -_0803928E: - 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 _0803928E - bl ResetUnusedInputStruct - ldr r6, _080392EC - ldr r0, [r6] - movs r5, 0xA2 - lsls r5, 1 - adds r0, r5 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _080392F4 - ldr r2, _080392F8 - str r2, [sp] - movs r4, 0 - str r4, [sp, 0x4] - movs r7, 0x6 - str r7, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0 - bl SetMenuItems - ldr r1, [r6] - ldr r0, [r1] - cmp r0, 0x7 - beq _08039306 - cmp r0, 0x7 - bhi _080392FC - cmp r0, 0x6 - beq _08039338 - b _08039382 - .align 2, 0 -_080392EC: .4byte gUnknown_203B374 -_080392F0: .4byte gUnknown_80E75F8 -_080392F4: .4byte gUnknown_80E7610 -_080392F8: .4byte gUnknown_203B378 -_080392FC: - cmp r0, 0x8 - beq _0803934C - cmp r0, 0x9 - beq _0803936C - b _08039382 -_08039306: - bl sub_8039844 - lsls r0, 24 - cmp r0, 0 - beq _08039324 - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _0803931C - ldr r2, _08039320 - b _08039354 - .align 2, 0 -_0803931C: .4byte gUnknown_80E762C -_08039320: .4byte gUnknown_80E7644 -_08039324: - ldr r1, [r6] - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _08039330 - ldr r2, _08039334 - b _08039354 - .align 2, 0 -_08039330: .4byte gUnknown_80E762C -_08039334: .4byte gUnknown_80E7684 -_08039338: - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _08039344 - ldr r2, _08039348 - b _08039354 - .align 2, 0 -_08039344: .4byte gUnknown_80E762C -_08039348: .4byte gUnknown_80E76B8 -_0803934C: - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _08039364 - ldr r2, _08039368 -_08039354: - str r2, [sp] - str r4, [sp, 0x4] - str r7, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0x1 - bl SetMenuItems - b _08039382 - .align 2, 0 -_08039364: .4byte gUnknown_80E762C -_08039368: .4byte gUnknown_80E76E8 -_0803936C: - adds r0, r1, 0x4 - adds r1, r5 - ldr r3, _080393DC - ldr r2, _080393E0 - str r2, [sp] - str r4, [sp, 0x4] - str r7, [sp, 0x8] - str r4, [sp, 0xC] - movs r2, 0x1 - bl SetMenuItems -_08039382: - ldr r4, _080393E4 - ldr r1, [r4] - adds r0, r1, 0x4 - movs r6, 0xA2 - lsls r6, 1 - adds r1, r6 - ldr r3, _080393E8 - ldr r2, _080393EC - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x2 - str r2, [sp, 0x8] - movs r2, 0 - str r2, [sp, 0xC] - movs r2, 0x2 - bl SetMenuItems - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0 - movs r2, 0 - bl sub_8035CF4 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x1 - movs r2, 0 - bl sub_8035CF4 - ldr r0, [r4] - adds r0, 0x4 - movs r1, 0x2 - movs r2, 0x1 - bl sub_8035CF4 - bl DrawLoadScreenText - add sp, 0x10 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080393DC: .4byte gUnknown_80E762C -_080393E0: .4byte gUnknown_80E7730 -_080393E4: .4byte gUnknown_203B374 -_080393E8: .4byte gUnknown_80E7784 -_080393EC: .4byte gUnknown_80E779C - thumb_func_end CreateLoadScreen - - thumb_func_start CleanLoadScreen -CleanLoadScreen: - push {r4,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r4, _08039418 - ldr r0, [r4] - cmp r0, 0 - beq _08039410 - bl MemoryFree - movs r0, 0 - str r0, [r4] -_08039410: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08039418: .4byte gUnknown_203B374 - thumb_func_end CleanLoadScreen - - thumb_func_start sub_803941C -sub_803941C: - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08039458 - movs r0, 0x4 - str r0, [sp] - ldr r4, _0803945C - ldr r0, [r4] - adds r0, 0x54 - bl sub_8012FD8 - ldr r0, [r4] - adds r0, 0xA4 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08039448 - ldr r0, [r4] - adds r0, 0xA4 - mov r1, sp - bl sub_8013114 -_08039448: - ldr r0, [sp] - cmp r0, 0x3 - bhi _08039498 - cmp r0, 0x2 - bcs _08039460 - cmp r0, 0x1 - beq _08039464 - b _08039498 - .align 2, 0 -_08039458: .4byte 0x0000ffdc -_0803945C: .4byte gUnknown_203B374 -_08039460: - movs r5, 0x1 - b _08039498 -_08039464: - ldr r0, [r4] - ldr r0, [r0] - cmp r0, 0x7 - beq _08039480 - cmp r0, 0x7 - bhi _08039476 - cmp r0, 0x6 - beq _08039484 - b _08039498 -_08039476: - cmp r0, 0x8 - beq _0803948E - cmp r0, 0x9 - beq _08039492 - b _08039498 -_08039480: - movs r5, 0x2 - b _08039498 -_08039484: - movs r0, 0 - bl sub_8095240 - movs r5, 0x4 - b _08039498 -_0803948E: - movs r5, 0x9 - b _08039498 -_08039492: - bl sub_80122A8 - movs r5, 0x2E -_08039498: - adds r0, r5, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_803941C - - thumb_func_start DrawLoadScreenText -DrawLoadScreenText: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x150 - bl sub_8011FA8 - mov r8, r0 - movs r0, 0 - bl sub_8008C54 - movs r0, 0 - bl sub_80073B8 - ldr r2, _0803952C - movs r4, 0 - str r4, [sp] - movs r0, 0x8 - movs r1, 0 - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _08039530 - str r4, [sp] - movs r0, 0x8 - movs r1, 0xC - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _08039534 - str r4, [sp] - movs r0, 0x8 - movs r1, 0x18 - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _08039538 - str r4, [sp] - movs r0, 0x8 - movs r1, 0x24 - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _0803953C - str r4, [sp] - movs r0, 0x8 - movs r1, 0x30 - movs r3, 0 - bl xxx_call_draw_string - ldr r2, _08039540 - str r4, [sp] - movs r0, 0x8 - movs r1, 0x3C - movs r3, 0 - bl xxx_call_draw_string - movs r0, 0 - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _08039544 - add r4, sp, 0x68 - adds r0, r4, 0 - bl sub_80920D8 - adds r2, r4, 0 - b _0803954E - .align 2, 0 -_0803952C: .4byte gUnknown_80E77BC -_08039530: .4byte gUnknown_80E77C4 -_08039534: .4byte gUnknown_80E77CC -_08039538: .4byte gUnknown_80E77D8 -_0803953C: .4byte gUnknown_80E77E4 -_08039540: .4byte gUnknown_80E77F0 -_08039544: - ldr r1, _08039588 - add r0, sp, 0x68 - bl strcpy - add r2, sp, 0x68 -_0803954E: - ldr r5, _0803958C - ldr r0, [r5] - movs r4, 0xD2 - lsls r4, 1 - adds r0, r4 - ldr r1, _08039590 - bl sub_800D158 - ldr r2, [r5] - adds r2, r4 - movs r0, 0 - str r0, [sp] - movs r0, 0x40 - movs r1, 0 - movs r3, 0 - bl xxx_call_draw_string - bl sub_808D33C - cmp r0, 0 - bne _08039598 - add r4, sp, 0x90 - ldr r1, _08039594 - adds r0, r4, 0 - movs r2, 0xA - bl sub_80922B4 - b _080395A6 - .align 2, 0 -_08039588: .4byte gUnknown_80E77F8 -_0803958C: .4byte gUnknown_203B374 -_08039590: .4byte gUnknown_80E7804 -_08039594: .4byte gUnknown_80E7808 -_08039598: - add r4, sp, 0x90 - adds r1, r0, 0 - adds r1, 0x4C - adds r0, r4, 0 - movs r2, 0xA - bl sub_80922B4 -_080395A6: - adds r2, r4, 0 - ldr r5, _080395F0 - ldr r0, [r5] - movs r4, 0xE4 - lsls r4, 1 - adds r0, r4 - ldr r6, _080395F4 - adds r1, r6, 0 - bl sub_800D158 - ldr r2, [r5] - adds r2, r4 - movs r0, 0 - str r0, [sp] - movs r0, 0x40 - movs r1, 0xC - movs r3, 0 - bl xxx_call_draw_string - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - bne _080395E0 - movs r0, 0x7 - bl sub_8095324 - cmp r0, 0 - beq _08039606 -_080395E0: - ldr r0, _080395F8 - cmp r8, r0 - bne _080395FC - ldr r4, [r5] - movs r0, 0xF6 - lsls r0, 1 - adds r4, r0 - b _08039676 - .align 2, 0 -_080395F0: .4byte gUnknown_203B374 -_080395F4: .4byte gUnknown_80E7804 -_080395F8: .4byte 0x000f1207 -_080395FC: - ldr r0, [r5] - movs r1, 0xF6 - lsls r1, 1 - adds r0, r1 - b _08039690 -_08039606: - bl sub_8011C1C - cmp r0, 0x1 - beq _08039624 - cmp r0, 0x2 - beq _08039668 - ldr r0, [r5] - movs r2, 0xF6 - lsls r2, 1 - adds r0, r2 - ldr r1, _08039620 - b _08039692 - .align 2, 0 -_08039620: .4byte gUnknown_80E7824 -_08039624: - movs r0, 0 - movs r1, 0x18 - bl sub_8001658 - cmp r0, 0x7 - beq _08039658 - cmp r0, 0xB - beq _08039658 - bl sub_8098FB4 - adds r2, r0, 0 - add r0, sp, 0x4 - adds r1, r6, 0 - bl sub_800D158 - ldr r0, [r5] - movs r3, 0xF6 - lsls r3, 1 - adds r1, r0, r3 - adds r3, 0x24 - adds r2, r0, r3 - add r0, sp, 0x4 - movs r3, 0 - bl xxx_format_string - b _08039696 -_08039658: - ldr r0, _08039664 - ldr r0, [r0] - movs r1, 0xF6 - lsls r1, 1 - adds r0, r1 - b _08039690 - .align 2, 0 -_08039664: .4byte gUnknown_203B374 -_08039668: - ldr r0, _08039684 - cmp r8, r0 - bne _08039688 - ldr r4, [r5] - movs r2, 0xF6 - lsls r2, 1 - adds r4, r2 -_08039676: - bl sub_809769C - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_8090228 - b _08039696 - .align 2, 0 -_08039684: .4byte 0x000f1207 -_08039688: - ldr r0, [r5] - movs r3, 0xF6 - lsls r3, 1 - adds r0, r3 -_08039690: - ldr r1, _0803974C -_08039692: - bl sub_800D158 -_08039696: - ldr r7, _08039750 - ldr r2, [r7] - movs r0, 0xF6 - lsls r0, 1 - adds r2, r0 - movs r6, 0 - str r6, [sp] - movs r0, 0x40 - movs r1, 0x18 - movs r3, 0 - bl xxx_call_draw_string - ldr r0, _08039754 - ldr r0, [r0] - add r1, sp, 0x144 - add r2, sp, 0x148 - add r3, sp, 0x14C - bl DeconstructPlayTime - ldr r0, [r7] - movs r5, 0x84 - lsls r5, 2 - adds r0, r5 - ldr r1, _08039758 - add r2, sp, 0x144 - ldr r2, [r2] - add r3, sp, 0x148 - ldr r3, [r3] - add r4, sp, 0x14C - ldr r4, [r4] - str r4, [sp] - bl sub_800D158 - ldr r2, [r7] - adds r2, r5 - str r6, [sp] - movs r0, 0x40 - movs r1, 0x24 - movs r3, 0 - bl xxx_call_draw_string - bl sub_8097778 - adds r2, r0, 0 - ldr r0, [r7] - movs r4, 0x8D - lsls r4, 2 - adds r0, r4 - ldr r1, _0803975C - bl sub_800D158 - ldr r2, [r7] - adds r2, r4 - str r6, [sp] - movs r0, 0x40 - movs r1, 0x30 - movs r3, 0 - bl xxx_call_draw_string - ldr r0, _08039760 - cmp r8, r0 - bne _0803976C - ldr r0, _08039764 - ldr r6, [r0] - movs r1, 0xC - ldrsh r0, [r6, r1] - cmp r0, 0 - beq _0803976C - add r5, sp, 0x130 - adds r1, r0, 0 - adds r0, r5, 0 - bl sub_808D930 - add r4, sp, 0xE0 - adds r1, r6, 0 - adds r1, 0x50 - adds r0, r4, 0 - movs r2, 0xA - bl sub_80922B4 - ldr r0, [r7] - movs r3, 0x96 - lsls r3, 2 - adds r0, r3 - ldr r1, _08039768 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_800D158 - b _0803977C - .align 2, 0 -_0803974C: .4byte gUnknown_80E780C -_08039750: .4byte gUnknown_203B374 -_08039754: .4byte gPlayTimeRef -_08039758: .4byte gUnknown_80E7838 -_0803975C: .4byte gUnknown_80E7848 -_08039760: .4byte 0x000f1207 -_08039764: .4byte gUnknown_203B484 -_08039768: .4byte gUnknown_80E784C -_0803976C: - ldr r0, _080397AC - ldr r0, [r0] - movs r1, 0x96 - lsls r1, 2 - adds r0, r1 - ldr r1, _080397B0 - bl sub_800D158 -_0803977C: - ldr r0, _080397AC - ldr r2, [r0] - movs r3, 0x96 - lsls r3, 2 - adds r2, r3 - movs r0, 0 - str r0, [sp] - movs r0, 0x40 - movs r1, 0x3C - movs r3, 0 - bl xxx_call_draw_string - bl sub_80397B4 - movs r0, 0 - bl sub_80073E0 - add sp, 0x150 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080397AC: .4byte gUnknown_203B374 -_080397B0: .4byte gUnknown_80E7854 - thumb_func_end DrawLoadScreenText - - thumb_func_start sub_80397B4 -sub_80397B4: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - ldr r0, _08039834 - ldr r1, _08039838 - bl OpenFileAndGetFileDataPtr - adds r6, r0, 0 - movs r4, 0 -_080397C8: - adds r0, r4, 0 - adds r0, 0xB0 - ldr r1, [r6, 0x4] - lsls r2, r4, 2 - ldr r1, [r1, 0x4] - adds r1, r2 - bl SetBGPaletteBufferColorArray - adds r4, 0x1 - cmp r4, 0x3F - ble _080397C8 - movs r7, 0x8 - movs r0, 0x49 - mov r8, r0 - movs r4, 0 -_080397E6: - ldr r0, _0803983C - lsls r5, r4, 2 - adds r0, r5, r0 - ldr r0, [r0] - bl sub_80023E4 - lsls r0, 24 - cmp r0, 0 - beq _0803981C - movs r0, 0x10 - str r0, [sp] - ldr r0, [r6, 0x4] - lsls r1, r4, 7 - ldr r0, [r0] - adds r0, r1 - str r0, [sp, 0x4] - ldr r0, _08039840 - adds r0, r5, r0 - ldr r0, [r0] - str r0, [sp, 0x8] - movs r0, 0 - adds r1, r7, 0 - mov r2, r8 - movs r3, 0x10 - bl sub_8007E20 - adds r7, 0x10 -_0803981C: - adds r4, 0x1 - cmp r4, 0xB - ble _080397E6 - adds r0, r6, 0 - bl CloseFile - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08039834: .4byte gUnknown_80E785C -_08039838: .4byte gTitleMenuFileArchive -_0803983C: .4byte gUnknown_203B3B8 -_08039840: .4byte gUnknown_203B388 - thumb_func_end sub_80397B4 - - thumb_func_start sub_8039844 -sub_8039844: - push {r4,r5,lr} - bl sub_8011FA8 - adds r5, r0, 0 - movs r4, 0 - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - bne _0803986A - movs r0, 0x7 - bl sub_8095324 - cmp r0, 0 - bne _0803986A - bl sub_8011C1C - cmp r0, 0x2 - bne _08039872 -_0803986A: - ldr r0, _0803987C - cmp r5, r0 - bne _08039872 - movs r4, 0x1 -_08039872: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803987C: .4byte 0x000f1207 - thumb_func_end sub_8039844 - - thumb_func_start sub_8039880 -sub_8039880: - push {r4,lr} - movs r4, 0 - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - bne _080398A0 - movs r0, 0x7 - bl sub_8095324 - cmp r0, 0 - bne _080398A0 - bl sub_8011C1C - cmp r0, 0x2 - bne _080398A2 -_080398A0: - movs r4, 0x1 -_080398A2: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8039880 - - thumb_func_start sub_80398AC -sub_80398AC: - push {r4,r5,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _0803991C - ldr r4, _08039920 - adds r0, r4, 0 - movs r1, 0x8 - bl MemoryAlloc - str r0, [r5] - movs r1, 0 - adds r2, r4, 0 - bl MemoryFill8 - movs r1, 0 - movs r2, 0 - adds r4, r5, 0 -_080398D8: - ldr r0, [r5] - adds r0, 0x1 - adds r0, r1 - strb r2, [r0] - adds r1, 0x1 - cmp r1, 0x35 - ble _080398D8 - ldr r1, [r4] - movs r3, 0x92 - lsls r3, 3 - adds r2, r1, r3 - movs r0, 0x3 - str r0, [r2] - ldr r0, _08039924 - adds r2, r1, r0 - movs r0, 0x2 - str r0, [r2] - movs r0, 0x93 - lsls r0, 3 - adds r1, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, [r4] - adds r0, r3 - movs r1, 0x5 - str r1, [r0] - movs r0, 0x11 - bl sub_803A1C0 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0803991C: .4byte gUnknown_203B3E8 -_08039920: .4byte 0x0000049c -_08039924: .4byte 0x00000494 - thumb_func_end sub_80398AC - - thumb_func_start sub_8039928 -sub_8039928: - push {lr} - ldr r0, _08039940 - ldr r0, [r0] - ldrb r0, [r0] - subs r0, 0x4 - cmp r0, 0xF - bhi _080399DE - lsls r0, 2 - ldr r1, _08039944 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08039940: .4byte gUnknown_203B3E8 -_08039944: .4byte _08039948 - .align 2, 0 -_08039948: - .4byte _08039988 - .4byte _0803998E - .4byte _0803999E - .4byte _080399AA - .4byte _08039992 - .4byte _080399A4 - .4byte _080399C8 - .4byte _080399DE - .4byte _08039998 - .4byte _080399B0 - .4byte _080399B6 - .4byte _080399BC - .4byte _080399C2 - .4byte _080399CE - .4byte _080399D4 - .4byte _080399DA -_08039988: - bl sub_8039A18 - b _080399DE -_0803998E: - movs r0, 0x3 - b _080399E0 -_08039992: - bl sub_8039AA8 - b _080399DE -_08039998: - bl sub_8039B14 - b _080399DE -_0803999E: - bl sub_8039B20 - b _080399DE -_080399A4: - bl sub_8039B58 - b _080399DE -_080399AA: - bl sub_8039D88 - b _080399DE -_080399B0: - bl sub_8039D28 - b _080399DE -_080399B6: - bl sub_8039D68 - b _080399DE -_080399BC: - bl sub_8039DA4 - b _080399DE -_080399C2: - bl sub_8039DCC - b _080399DE -_080399C8: - bl sub_8039B3C - b _080399DE -_080399CE: - bl sub_8039D0C - b _080399DE -_080399D4: - bl sub_8039C60 - b _080399DE -_080399DA: - bl sub_8039DE8 -_080399DE: - movs r0, 0 -_080399E0: - pop {r1} - bx r1 - thumb_func_end sub_8039928 - - thumb_func_start sub_80399E4 -sub_80399E4: - push {r4,lr} - ldr r4, _08039A14 - ldr r0, [r4] - cmp r0, 0 - beq _08039A0E - bl MemoryFree - movs r0, 0 - str r0, [r4] - bl sub_8030DE4 - bl sub_801B450 - bl sub_803084C - bl sub_801CBB8 - bl sub_80155F0 - bl sub_8031E10 -_08039A0E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08039A14: .4byte gUnknown_203B3E8 - thumb_func_end sub_80399E4 - - thumb_func_start sub_8039A18 -sub_8039A18: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039AA2 - ldr r0, _08039A48 - ldr r1, [r0] - movs r2, 0x93 - lsls r2, 2 - adds r1, r2 - movs r2, 0xA - str r2, [r1] - ldr r1, [sp] - adds r2, r0, 0 - cmp r1, 0x8 - bhi _08039AA2 - lsls r0, r1, 2 - ldr r1, _08039A4C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08039A48: .4byte gUnknown_203B3E8 -_08039A4C: .4byte _08039A50 - .align 2, 0 -_08039A50: - .4byte _08039A9C - .4byte _08039AA2 - .4byte _08039AA2 - .4byte _08039A74 - .4byte _08039A74 - .4byte _08039A88 - .4byte _08039AA2 - .4byte _08039AA2 - .4byte _08039A9C -_08039A74: - ldr r0, [r2] - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - movs r1, 0x3 - str r1, [r0] - movs r0, 0x8 - bl sub_803A1C0 - b _08039AA2 -_08039A88: - ldr r0, [r2] - movs r2, 0x92 - lsls r2, 3 - adds r0, r2 - movs r1, 0x5 - str r1, [r0] - movs r0, 0x11 - bl sub_803A1C0 - b _08039AA2 -_08039A9C: - movs r0, 0x5 - bl sub_803A1C0 -_08039AA2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039A18 - - thumb_func_start sub_8039AA8 -sub_8039AA8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039B0E - ldr r0, [sp] - cmp r0, 0 - beq _08039AE8 - cmp r0, 0x6 - bne _08039B0E - ldr r0, _08039AD8 - ldr r0, [r0] - ldr r1, _08039ADC - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x1 - bne _08039AE0 - movs r0, 0x2 - bl sub_803A1C0 - b _08039B0E - .align 2, 0 -_08039AD8: .4byte gUnknown_203B3E8 -_08039ADC: .4byte 0x00000494 -_08039AE0: - movs r0, 0xC - bl sub_803A1C0 - b _08039B0E -_08039AE8: - ldr r0, _08039B00 - ldr r0, [r0] - ldr r1, _08039B04 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x1 - bne _08039B08 - movs r0, 0x1 - bl sub_803A1C0 - b _08039B0E - .align 2, 0 -_08039B00: .4byte gUnknown_203B3E8 -_08039B04: .4byte 0x00000494 -_08039B08: - movs r0, 0x4 - bl sub_803A1C0 -_08039B0E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039AA8 - - thumb_func_start sub_8039B14 -sub_8039B14: - push {lr} - movs r0, 0x6 - bl sub_803A1C0 - pop {r0} - bx r0 - thumb_func_end sub_8039B14 - - thumb_func_start sub_8039B20 -sub_8039B20: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039B34 - movs r0, 0x9 - bl sub_803A1C0 -_08039B34: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039B20 - - thumb_func_start sub_8039B3C -sub_8039B3C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039B50 - movs r0, 0x4 - bl sub_803A1C0 -_08039B50: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039B3C - - thumb_func_start sub_8039B58 -sub_8039B58: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039BA6 - ldr r0, _08039B88 - ldr r1, [r0] - movs r2, 0x94 - lsls r2, 2 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0 - bne _08039B9C - subs r2, 0x4 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0x9 - beq _08039B8C - cmp r0, 0xA - beq _08039B94 - b _08039BA6 - .align 2, 0 -_08039B88: .4byte gUnknown_203B3E8 -_08039B8C: - movs r0, 0x7 - bl sub_803A1C0 - b _08039BA6 -_08039B94: - movs r0, 0xD - bl sub_803A1C0 - b _08039BA6 -_08039B9C: - bl sub_8039BAC - movs r0, 0xA - bl sub_803A1C0 -_08039BA6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039B58 - - thumb_func_start sub_8039BAC -sub_8039BAC: - push {lr} - cmp r0, 0xF - bhi _08039C48 - lsls r0, 2 - ldr r1, _08039BBC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08039BBC: .4byte _08039BC0 - .align 2, 0 -_08039BC0: - .4byte _08039C54 - .4byte _08039C00 - .4byte _08039C10 - .4byte _08039C08 - .4byte _08039C18 - .4byte _08039C20 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C48 - .4byte _08039C28 - .4byte _08039C30 -_08039C00: - ldr r0, _08039C04 - b _08039C32 - .align 2, 0 -_08039C04: .4byte gUnknown_80E7914 -_08039C08: - ldr r0, _08039C0C - b _08039C32 - .align 2, 0 -_08039C0C: .4byte gUnknown_80E7938 -_08039C10: - ldr r0, _08039C14 - b _08039C32 - .align 2, 0 -_08039C14: .4byte gUnknown_80E7994 -_08039C18: - ldr r0, _08039C1C - b _08039C32 - .align 2, 0 -_08039C1C: .4byte gUnknown_80E79E4 -_08039C20: - ldr r0, _08039C24 - b _08039C32 - .align 2, 0 -_08039C24: .4byte gUnknown_80E7914 -_08039C28: - ldr r0, _08039C2C - b _08039C32 - .align 2, 0 -_08039C2C: .4byte gUnknown_80E7914 -_08039C30: - ldr r0, _08039C40 -_08039C32: - ldr r3, _08039C44 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _08039C54 - .align 2, 0 -_08039C40: .4byte gUnknown_80E7A48 -_08039C44: .4byte 0x00000101 -_08039C48: - ldr r0, _08039C58 - ldr r3, _08039C5C - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_08039C54: - pop {r0} - bx r0 - .align 2, 0 -_08039C58: .4byte gUnknown_80E7914 -_08039C5C: .4byte 0x00000101 - thumb_func_end sub_8039BAC - - thumb_func_start sub_8039C60 -sub_8039C60: - push {r4,r5,lr} - bl sub_80154F0 - adds r4, r0, 0 - ldr r5, _08039CBC - ldr r0, [r5] - adds r0, 0x38 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - cmp r4, 0x2 - beq _08039CE6 - cmp r4, 0x3 - bne _08039D04 - bl sub_80155F0 - bl ResetUnusedInputStruct - ldr r0, [r5] - movs r1, 0xF6 - lsls r1, 1 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, [r5] - adds r0, r1, 0x1 - adds r1, 0x38 - bl sub_803D358 - lsls r0, 24 - cmp r0, 0 - beq _08039CB4 - ldr r0, [r5] - adds r0, 0x38 - bl sub_80959C0 - lsls r0, 24 - cmp r0, 0 - bne _08039CC0 -_08039CB4: - movs r0, 0x13 - bl sub_803A1C0 - b _08039D04 - .align 2, 0 -_08039CBC: .4byte gUnknown_203B3E8 -_08039CC0: - ldr r0, [r5] - movs r2, 0xF0 - lsls r2, 2 - adds r1, r0, r2 - adds r0, 0x38 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r3,r4} - stm r1!, {r3,r4} - ldr r0, [r5] - movs r1, 0x93 - lsls r1, 3 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - movs r0, 0xD - bl sub_803A1C0 - b _08039D04 -_08039CE6: - bl sub_80155F0 - bl ResetUnusedInputStruct - ldr r0, [r5] - movs r2, 0xF6 - lsls r2, 1 - adds r0, r2 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x5 - bl sub_803A1C0 -_08039D04: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8039C60 - - thumb_func_start sub_8039D0C -sub_8039D0C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039D20 - movs r0, 0x12 - bl sub_803A1C0 -_08039D20: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039D0C - - thumb_func_start sub_8039D28 -sub_8039D28: - push {r4,r5,lr} - bl sub_802D0E0 - cmp r0, 0x3 - bne _08039D62 - bl sub_802D178 - ldr r5, _08039D58 - ldr r1, [r5] - movs r4, 0x93 - lsls r4, 3 - adds r1, r4 - strb r0, [r1] - bl sub_802D184 - ldr r0, [r5] - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _08039D5C - movs r0, 0xE - bl sub_803A1C0 - b _08039D62 - .align 2, 0 -_08039D58: .4byte gUnknown_203B3E8 -_08039D5C: - movs r0, 0x10 - bl sub_803A1C0 -_08039D62: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8039D28 - - thumb_func_start sub_8039D68 -sub_8039D68: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039D82 - movs r0, 0xF - bl sub_803A1C0 - movs r0, 0 - bl sub_8012574 -_08039D82: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039D68 - - thumb_func_start sub_8039D88 -sub_8039D88: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039D9C - movs r0, 0x8 - bl sub_803A1C0 -_08039D9C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039D88 - - thumb_func_start sub_8039DA4 -sub_8039DA4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039DC6 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08039DC6 - bl sub_8012750 - movs r0, 0x10 - bl sub_803A1C0 -_08039DC6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039DA4 - - thumb_func_start sub_8039DCC -sub_8039DCC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039DE0 - movs r0, 0x5 - bl sub_803A1C0 -_08039DE0: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039DCC - - thumb_func_start sub_8039DE8 -sub_8039DE8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08039E0E - ldr r0, [sp] - cmp r0, 0 - beq _08039E08 - cmp r0, 0x6 - bne _08039E0E - movs r0, 0x11 - bl sub_803A1C0 - b _08039E0E -_08039E08: - movs r0, 0x5 - bl sub_803A1C0 -_08039E0E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8039DE8 - - thumb_func_start nullsub_54 -nullsub_54: - bx lr - thumb_func_end nullsub_54 - - thumb_func_start sub_8039E18 -sub_8039E18: - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - ldr r1, _08039E38 - ldr r0, [r1] - ldrb r0, [r0] - adds r6, r1, 0 - cmp r0, 0x13 - bls _08039E2E - b _0803A1AA -_08039E2E: - lsls r0, 2 - ldr r1, _08039E3C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08039E38: .4byte gUnknown_203B3E8 -_08039E3C: .4byte _08039E40 - .align 2, 0 -_08039E40: - .4byte _08039E90 - .4byte _08039EB8 - .4byte _0803A1AA - .4byte _08039EC8 - .4byte _08039EDC - .4byte _0803A1AA - .4byte _08039FF4 - .4byte _08039FA4 - .4byte _08039FCC - .4byte _0803A00C - .4byte _0803A1AA - .4byte _0803A1AA - .4byte _0803A1AA - .4byte _08039F04 - .4byte _08039F68 - .4byte _0803A1AA - .4byte _08039FAC - .4byte _0803A152 - .4byte _0803A168 - .4byte _0803A18E -_08039E90: - ldr r0, _08039EB0 - ldr r3, _08039EB4 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x1 - bl sub_8014248 - b _0803A1AA - .align 2, 0 -_08039EB0: .4byte gUnknown_80E7AC4 -_08039EB4: .4byte gUnknown_80E786C -_08039EB8: - ldr r0, _08039EC0 - ldr r3, _08039EC4 - b _08039EE0 - .align 2, 0 -_08039EC0: .4byte gUnknown_80E7AE0 -_08039EC4: .4byte gUnknown_80E7894 -_08039EC8: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_802EF48 - b _0803A1AA -_08039EDC: - ldr r0, _08039EFC - ldr r3, _08039F00 -_08039EE0: - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x3 - bl sub_8014248 - b _0803A1AA - .align 2, 0 -_08039EFC: .4byte gUnknown_80E7B14 -_08039F00: .4byte gUnknown_80E78D8 -_08039F04: - ldr r0, [r6] - ldr r2, _08039F3C - adds r1, r0, r2 - movs r3, 0xF0 - lsls r3, 2 - adds r0, r3 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r4} - stm r1!, {r2,r4} - ldr r2, [r6] - ldr r3, _08039F40 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0x4 - bne _08039F44 - movs r4, 0x91 - lsls r4, 3 - adds r1, r2, r4 - subs r3, 0xA2 - adds r0, r2, r3 - str r0, [r1] - adds r4, 0x4 - adds r1, r2, r4 - adds r3, 0x28 - adds r0, r2, r3 - str r0, [r1] - b _08039F54 - .align 2, 0 -_08039F3C: .4byte 0x00000474 -_08039F40: .4byte 0x00000476 -_08039F44: - movs r4, 0x91 - lsls r4, 3 - adds r0, r2, r4 - movs r1, 0 - str r1, [r0] - ldr r3, _08039F60 - adds r0, r2, r3 - str r1, [r0] -_08039F54: - ldr r0, [r6] - ldr r4, _08039F64 - adds r0, r4 - bl sub_802D098 - b _0803A1AA - .align 2, 0 -_08039F60: .4byte 0x0000048c -_08039F64: .4byte 0x00000474 -_08039F68: - ldr r1, [r6] - movs r2, 0x93 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _08039F9C - movs r3, 0x92 - lsls r3, 3 - adds r0, r1, r3 - ldr r0, [r0] - cmp r0, 0x4 - bne _08039F84 - b _0803A1AA -_08039F84: - cmp r0, 0x4 - bgt _08039F8E - cmp r0, 0x3 - beq _08039F94 - b _0803A1AA -_08039F8E: - cmp r0, 0x5 - beq _08039F94 - b _0803A1AA -_08039F94: - ldr r0, _08039F98 - b _0803A154 - .align 2, 0 -_08039F98: .4byte gUnknown_80E7B48 -_08039F9C: - ldr r0, _08039FA0 - b _0803A154 - .align 2, 0 -_08039FA0: .4byte gUnknown_80E7B48 -_08039FA4: - ldr r0, _08039FA8 - b _0803A154 - .align 2, 0 -_08039FA8: .4byte gUnknown_80E7B68 -_08039FAC: - ldr r0, [r6] - movs r4, 0x93 - lsls r4, 3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _08039FC4 - ldr r0, _08039FC0 - b _0803A154 - .align 2, 0 -_08039FC0: .4byte gUnknown_80E7B88 -_08039FC4: - ldr r0, _08039FC8 - b _0803A154 - .align 2, 0 -_08039FC8: .4byte gUnknown_80E7BC8 -_08039FCC: - ldr r0, _08039FEC - ldr r3, _08039FF0 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x6 - bl sub_8014248 - b _0803A1AA - .align 2, 0 -_08039FEC: .4byte gUnknown_80E7BEC -_08039FF0: .4byte gUnknown_80E78F8 -_08039FF4: - movs r0, 0 - bl nullsub_23 - ldr r0, _0803A008 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80141B4 - b _0803A1AA - .align 2, 0 -_0803A008: .4byte gUnknown_80E7C48 -_0803A00C: - ldr r0, [r6] - movs r1, 0x94 - lsls r1, 2 - mov r8, r1 - add r0, r8 - movs r1, 0 - str r1, [r0] - bl sub_8011830 - ldr r0, [r6] - movs r7, 0x93 - lsls r7, 2 - adds r0, r7 - ldr r0, [r0] - bl sub_8037B28 - ldr r2, [r6] - mov r3, r8 - adds r1, r2, r3 - str r0, [r1] - cmp r0, 0 - beq _0803A03A - b _0803A14C -_0803A03A: - adds r4, r7, 0 - adds r0, r2, r4 - ldr r0, [r0] - cmp r0, 0x9 - beq _0803A04A - cmp r0, 0xA - beq _0803A0AA - b _0803A0DE -_0803A04A: - movs r5, 0x95 - lsls r5, 2 - adds r0, r2, r5 - movs r1, 0 - movs r2, 0xB4 - bl MemoryFill8 - ldr r0, [r6] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - bl sub_803B344 - adds r4, r0, 0 - ldr r1, [r4, 0x14] - cmp r1, 0 - beq _0803A08C - ldr r0, [r6] - movs r2, 0x9A - lsls r2, 2 - adds r0, r2 - movs r2, 0x28 - bl MemoryCopy8 - ldr r0, [r6] - movs r3, 0xA4 - lsls r3, 2 - adds r0, r3 - ldr r1, [r4, 0x18] - movs r2, 0x78 - bl MemoryCopy8 -_0803A08C: - ldr r1, [r6] - adds r1, r5 - adds r0, r4, 0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r4} - stm r1!, {r2,r4} - ldr r2, [r6] - adds r0, r2, r7 - ldr r0, [r0] - adds r1, r2, r5 - movs r3, 0xC2 - lsls r3, 2 - adds r2, r3 - b _0803A0D4 -_0803A0AA: - movs r4, 0x95 - lsls r4, 2 - adds r0, r2, r4 - movs r1, 0 - movs r2, 0xB4 - bl MemoryFill8 - ldr r0, [r6] - movs r5, 0xC2 - lsls r5, 2 - adds r0, r5 - movs r1, 0 - movs r2, 0xB4 - bl MemoryFill8 - ldr r2, [r6] - adds r0, r2, r7 - ldr r0, [r0] - adds r4, r2, r4 - adds r2, r5 - adds r1, r4, 0 -_0803A0D4: - bl sub_8037D64 - ldr r1, [r6] - add r1, r8 - str r0, [r1] -_0803A0DE: - ldr r4, _0803A134 - ldr r2, [r4] - movs r5, 0x94 - lsls r5, 2 - adds r0, r2, r5 - ldr r0, [r0] - cmp r0, 0 - bne _0803A14C - movs r1, 0x93 - lsls r1, 2 - adds r0, r2, r1 - ldr r0, [r0] - cmp r0, 0xA - bhi _0803A14C - cmp r0, 0x9 - bcc _0803A14C - movs r3, 0x95 - lsls r3, 2 - adds r1, r2, r3 - adds r3, 0xB4 - adds r2, r3 - bl sub_80381F4 - ldr r1, [r4] - adds r1, r5 - str r0, [r1] - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _0803A138 - ldr r1, [r4] - movs r4, 0xF0 - lsls r4, 2 - adds r0, r1, r4 - movs r2, 0xC2 - lsls r2, 2 - adds r1, r2 - movs r2, 0xB4 - bl memcpy - b _0803A14C - .align 2, 0 -_0803A134: .4byte gUnknown_203B3E8 -_0803A138: - ldr r1, [r4] - movs r3, 0xF0 - lsls r3, 2 - adds r0, r1, r3 - movs r4, 0x95 - lsls r4, 2 - adds r1, r4 - movs r2, 0xB4 - bl memcpy -_0803A14C: - bl xxx_call_start_bg_music - b _0803A1AA -_0803A152: - ldr r0, _0803A160 -_0803A154: - ldr r3, _0803A164 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _0803A1AA - .align 2, 0 -_0803A160: .4byte gUnknown_80E7C98 -_0803A164: .4byte 0x00000101 -_0803A168: - ldr r0, [r6] - movs r1, 0xF6 - lsls r1, 1 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r1, [r6] - adds r1, 0x1 - movs r0, 0x5 - bl sub_80151C0 - b _0803A1AA -_0803A18E: - ldr r0, _0803A1B8 - ldr r3, _0803A1BC - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x6 - bl sub_8014248 -_0803A1AA: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803A1B8: .4byte gUnknown_80E7CC4 -_0803A1BC: .4byte gUnknown_80E78F8 - thumb_func_end sub_8039E18 - - thumb_func_start sub_803A1C0 -sub_803A1C0: - push {lr} - ldr r1, _0803A1D4 - ldr r1, [r1] - strb r0, [r1] - bl nullsub_54 - bl sub_8039E18 - pop {r0} - bx r0 - .align 2, 0 -_0803A1D4: .4byte gUnknown_203B3E8 - thumb_func_end sub_803A1C0 - - thumb_func_start sub_803A1D8 -sub_803A1D8: - movs r0, 0x1 - bx lr - thumb_func_end sub_803A1D8 - - thumb_func_start sub_803A1DC -sub_803A1DC: - movs r0, 0 - bx lr - thumb_func_end sub_803A1DC - - thumb_func_start nullsub_55 -nullsub_55: - bx lr - thumb_func_end nullsub_55 - - thumb_func_start sub_803A1E4 -sub_803A1E4: - movs r0, 0x1 - bx lr - thumb_func_end sub_803A1E4 - - thumb_func_start sub_803A1E8 -sub_803A1E8: - movs r0, 0x2 - bx lr - thumb_func_end sub_803A1E8 - - thumb_func_start sub_803A1EC -sub_803A1EC: - push {lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - pop {r0} - bx r0 - thumb_func_end sub_803A1EC - .align 2,0 diff --git a/asm/main_menu_1.s b/asm/main_menu_1.s new file mode 100644 index 0000000..5289feb --- /dev/null +++ b/asm/main_menu_1.s @@ -0,0 +1,7318 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8035D80 +sub_8035D80: + ldr r1, _08035D90 + ldr r2, [r1] + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2, 0x30] + str r1, [r2, 0x34] + bx lr + .align 2, 0 +_08035D90: .4byte gUnknown_203B348 + thumb_func_end sub_8035D80 + + thumb_func_start sub_8035D94 +sub_8035D94: + ldr r0, _08035D9C + ldr r0, [r0] + adds r0, 0x30 + bx lr + .align 2, 0 +_08035D9C: .4byte gUnknown_203B348 + thumb_func_end sub_8035D94 + + thumb_func_start sub_8035DA0 +sub_8035DA0: + ldr r2, _08035DB0 + ldr r0, [r2] + adds r0, 0x30 + movs r1, 0 + strb r1, [r0] + ldr r0, [r2] + str r1, [r0, 0x34] + bx lr + .align 2, 0 +_08035DB0: .4byte gUnknown_203B348 + thumb_func_end sub_8035DA0 + + thumb_func_start sub_8035DB4 +sub_8035DB4: + push {lr} + movs r1, 0x8 + subs r0, 0x13 + cmp r0, 0x7 + bhi _08035E0A + lsls r0, 2 + ldr r1, _08035DC8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08035DC8: .4byte _08035DCC + .align 2, 0 +_08035DCC: + .4byte _08035DEC + .4byte _08035DF0 + .4byte _08035DF4 + .4byte _08035DF8 + .4byte _08035DFC + .4byte _08035E00 + .4byte _08035E04 + .4byte _08035E08 +_08035DEC: + movs r1, 0 + b _08035E0A +_08035DF0: + movs r1, 0x1 + b _08035E0A +_08035DF4: + movs r1, 0x2 + b _08035E0A +_08035DF8: + movs r1, 0x3 + b _08035E0A +_08035DFC: + movs r1, 0x4 + b _08035E0A +_08035E00: + movs r1, 0x5 + b _08035E0A +_08035E04: + movs r1, 0x6 + b _08035E0A +_08035E08: + movs r1, 0x7 +_08035E0A: + adds r0, r1, 0 + pop {r1} + bx r1 + thumb_func_end sub_8035DB4 + + thumb_func_start DrawMainMenu +DrawMainMenu: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r5, _08035EB8 + ldr r0, [r5] + cmp r0, 0 + bne _08035E34 + movs r4, 0xD4 + lsls r4, 1 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_08035E34: + mov r12, r5 + movs r0, 0xA2 + lsls r0, 1 + mov r8, r0 + ldr r4, _08035EBC + movs r3, 0 + movs r2, 0x3 +_08035E42: + 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 _08035E42 + bl ResetUnusedInputStruct + ldr r4, _08035EB8 + ldr r0, [r4] + movs r6, 0xA2 + lsls r6, 1 + adds r0, r6 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl SetMainMenuItems + ldr r0, [r4] + movs r7, 0xD2 + lsls r7, 1 + adds r0, r7 + movs r1, 0x1 + negs r1, r1 + str r1, [r0] + bl SetMainMenuText + lsls r0, 24 + cmp r0, 0 + beq _08035E9A + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0x2 + movs r2, 0 + bl sub_8035CF4 +_08035E9A: + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08035EB8: .4byte gUnknown_203B34C +_08035EBC: .4byte gUnknown_80E59C8 + thumb_func_end DrawMainMenu + + thumb_func_start CleanMainMenu +CleanMainMenu: + push {r4,lr} + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _08035EE8 + ldr r0, [r4] + cmp r0, 0 + beq _08035EE0 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08035EE0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08035EE8: .4byte gUnknown_203B34C + thumb_func_end CleanMainMenu + + thumb_func_start UpdateMainMenu +UpdateMainMenu: + push {r4-r6,lr} + sub sp, 0x4 + ldr r6, _08035F64 + str r6, [sp] + ldr r4, _08035F68 + ldr r0, [r4] + ldr r5, [r0] + cmp r5, 0xC + beq _08035FB8 + cmp r5, 0xC + bls _08035F04 + b _0803601A +_08035F04: + cmp r5, 0x1 + beq _08035F0A + b _0803601A +_08035F0A: + adds r0, 0xA4 + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0x4 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08035F28 + ldr r0, [r4] + adds r0, 0x4 + mov r1, sp + bl sub_8013114 +_08035F28: + bl SetMainMenuText + lsls r0, 24 + cmp r0, 0 + beq _08035F4A + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0x2 + movs r2, 0 + bl sub_8035CF4 +_08035F4A: + ldr r1, [sp] + cmp r1, 0xC + beq _08035FA8 + cmp r1, 0xC + bhi _08035F6C + cmp r1, 0x3 + beq _08035FAC + cmp r1, 0x3 + bcc _0803601A + cmp r1, 0x6 + bcc _0803601A + b _08035FAC + .align 2, 0 +_08035F64: .4byte 0x0000ffdc +_08035F68: .4byte gUnknown_203B34C +_08035F6C: + cmp r1, r6 + beq _08035FF2 + cmp r1, r6 + bhi _08035F7A + cmp r1, 0x10 + bhi _0803601A + b _08035FAC +_08035F7A: + ldr r0, _08035FA4 + cmp r1, r0 + bne _0803601A + ldr r0, [r4] + str r5, [r0] + str r6, [sp] + bl ResetUnusedInputStruct + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0x2 + movs r2, 0 + bl sub_8035CF4 + b _0803601A + .align 2, 0 +_08035FA4: .4byte 0x0000ffdd +_08035FA8: + bl sub_8035DA0 +_08035FAC: + ldr r1, _08035FB4 + ldr r0, [sp] + str r0, [r1] + b _0803601A + .align 2, 0 +_08035FB4: .4byte gUnknown_203B350 +_08035FB8: + adds r0, 0x54 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08035FCE + ldr r0, [r4] + adds r0, 0x54 + mov r1, sp + bl sub_8013114 +_08035FCE: + ldr r1, [sp] + cmp r1, 0x12 + beq _08036008 + cmp r1, 0x12 + bhi _08035FDE + cmp r1, 0x11 + beq _08035FFC + b _0803601A +_08035FDE: + cmp r1, r6 + beq _08036018 + ldr r0, _08035FF8 + cmp r1, r0 + bne _0803601A + bl sub_803623C + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1] +_08035FF2: + str r6, [sp] + b _0803601A + .align 2, 0 +_08035FF8: .4byte 0x0000ffdd +_08035FFC: + ldr r0, _08036004 + str r1, [r0] + str r5, [sp] + b _0803601A + .align 2, 0 +_08036004: .4byte gUnknown_203B354 +_08036008: + ldr r0, _08036014 + str r1, [r0] + movs r0, 0x14 + str r0, [sp] + b _0803601A + .align 2, 0 +_08036014: .4byte gUnknown_203B354 +_08036018: + str r1, [sp] +_0803601A: + ldr r0, [sp] + add sp, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end UpdateMainMenu + + thumb_func_start SetMainMenuText +SetMainMenuText: + push {r4-r6,lr} + sub sp, 0x10 + ldr r6, _08036048 + ldr r2, [r6] + ldr r0, [r2, 0x8] + movs r3, 0x30 + ldrsh r1, [r2, r3] + lsls r1, 3 + adds r1, r0 + ldr r5, [r1, 0x4] + movs r0, 0xD2 + lsls r0, 1 + adds r1, r2, r0 + ldr r0, [r1] + cmp r0, r5 + bne _0803604C + movs r0, 0 + b _08036226 + .align 2, 0 +_08036048: .4byte gUnknown_203B34C +_0803604C: + str r5, [r1] + movs r4, 0xA2 + lsls r4, 1 + adds r0, r2, r4 + movs r1, 0x2 + bl sub_8035CC0 + ldr r0, [r6] + adds r0, r4 + movs r1, 0x3 + bl sub_8035CC0 + subs r0, r5, 0x3 + cmp r0, 0xD + bls _0803606C + b _08036224 +_0803606C: + lsls r0, 2 + ldr r1, _08036078 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08036078: .4byte _0803607C + .align 2, 0 +_0803607C: + .4byte _08036114 + .4byte _08036224 + .4byte _08036224 + .4byte _080360F4 + .4byte _08036134 + .4byte _08036154 + .4byte _08036224 + .4byte _08036174 + .4byte _08036194 + .4byte _080361B4 + .4byte _080360D4 + .4byte _080361D4 + .4byte _080360B4 + .4byte _08036204 +_080360B4: + ldr r0, _080360C8 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _080360CC + ldr r2, _080360D0 + b _080361E4 + .align 2, 0 +_080360C8: .4byte gUnknown_203B34C +_080360CC: .4byte gUnknown_80E5CB4 +_080360D0: .4byte gUnknown_80E6030 +_080360D4: + ldr r0, _080360E8 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r3, 0xA2 + lsls r3, 1 + adds r1, r3 + ldr r3, _080360EC + ldr r2, _080360F0 + b _080361E4 + .align 2, 0 +_080360E8: .4byte gUnknown_203B34C +_080360EC: .4byte gUnknown_80E5CB4 +_080360F0: .4byte gUnknown_80E5F80 +_080360F4: + ldr r0, _08036108 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _0803610C + ldr r2, _08036110 + b _080361E4 + .align 2, 0 +_08036108: .4byte gUnknown_203B34C +_0803610C: .4byte gUnknown_80E5CB4 +_08036110: .4byte gUnknown_80E5F1C +_08036114: + ldr r0, _08036128 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r3, 0xA2 + lsls r3, 1 + adds r1, r3 + ldr r3, _0803612C + ldr r2, _08036130 + b _080361E4 + .align 2, 0 +_08036128: .4byte gUnknown_203B34C +_0803612C: .4byte gUnknown_80E5CB4 +_08036130: .4byte gUnknown_80E5CCC +_08036134: + ldr r0, _08036148 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _0803614C + ldr r2, _08036150 + b _080361E4 + .align 2, 0 +_08036148: .4byte gUnknown_203B34C +_0803614C: .4byte gUnknown_80E5CB4 +_08036150: .4byte gUnknown_80E5DA0 +_08036154: + ldr r0, _08036168 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r3, 0xA2 + lsls r3, 1 + adds r1, r3 + ldr r3, _0803616C + ldr r2, _08036170 + b _080361E4 + .align 2, 0 +_08036168: .4byte gUnknown_203B34C +_0803616C: .4byte gUnknown_80E5CB4 +_08036170: .4byte gUnknown_80E5DF0 +_08036174: + ldr r0, _08036188 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _0803618C + ldr r2, _08036190 + b _080361E4 + .align 2, 0 +_08036188: .4byte gUnknown_203B34C +_0803618C: .4byte gUnknown_80E5CB4 +_08036190: .4byte gUnknown_80E5D0C +_08036194: + ldr r0, _080361A8 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r3, 0xA2 + lsls r3, 1 + adds r1, r3 + ldr r3, _080361AC + ldr r2, _080361B0 + b _080361E4 + .align 2, 0 +_080361A8: .4byte gUnknown_203B34C +_080361AC: .4byte gUnknown_80E5CB4 +_080361B0: .4byte gUnknown_80E5E5C +_080361B4: + ldr r0, _080361C8 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _080361CC + ldr r2, _080361D0 + b _080361E4 + .align 2, 0 +_080361C8: .4byte gUnknown_203B34C +_080361CC: .4byte gUnknown_80E5CB4 +_080361D0: .4byte gUnknown_80E5EBC +_080361D4: + ldr r0, _080361F8 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r3, 0xA2 + lsls r3, 1 + adds r1, r3 + ldr r3, _080361FC + ldr r2, _08036200 +_080361E4: + str r2, [sp] + movs r2, 0 + str r2, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + movs r2, 0x2 + bl SetMenuItems + b _08036224 + .align 2, 0 +_080361F8: .4byte gUnknown_203B34C +_080361FC: .4byte gUnknown_80E5CB4 +_08036200: .4byte gUnknown_80E5FCC +_08036204: + ldr r0, _08036230 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _08036234 + ldr r2, _08036238 + str r2, [sp] + movs r2, 0 + str r2, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + movs r2, 0x2 + bl SetMenuItems +_08036224: + movs r0, 0x1 +_08036226: + add sp, 0x10 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08036230: .4byte gUnknown_203B34C +_08036234: .4byte gUnknown_80E5CB4 +_08036238: .4byte gUnknown_80E5D48 + thumb_func_end SetMainMenuText + + thumb_func_start sub_803623C +sub_803623C: + push {r4,lr} + ldr r4, _08036288 + ldr r0, [r4] + movs r1, 0xA2 + lsls r1, 1 + adds r0, r1 + movs r1, 0x1 + bl sub_8035CC0 + bl SetMainMenuItems + ldr r0, [r4] + movs r1, 0xD2 + lsls r1, 1 + adds r0, r1 + movs r1, 0x1 + negs r1, r1 + str r1, [r0] + bl SetMainMenuText + lsls r0, 24 + cmp r0, 0 + beq _08036276 + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0x2 + movs r2, 0 + bl sub_8035CF4 +_08036276: + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08036288: .4byte gUnknown_203B34C + thumb_func_end sub_803623C + + thumb_func_start SetMainMenuItems +SetMainMenuItems: + push {r4,lr} + sub sp, 0x10 + bl sub_8011C34 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _0803629E + b _080363A4 +_0803629E: + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + bne _08036344 + movs r0, 0x7 + bl sub_8095324 + cmp r0, 0 + beq _080362FC + bl sub_803D0D8 + lsls r0, 24 + cmp r0, 0 + beq _080362DC + ldr r0, _080362D0 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _080362D4 + ldr r2, _080362D8 + b _0803637C + .align 2, 0 +_080362D0: .4byte gUnknown_203B34C +_080362D4: .4byte gUnknown_80E5A78 +_080362D8: .4byte gUnknown_80E5C18 +_080362DC: + ldr r0, _080362F0 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _080362F4 + ldr r2, _080362F8 + b _0803637C + .align 2, 0 +_080362F0: .4byte gUnknown_203B34C +_080362F4: .4byte gUnknown_80E5BC4 +_080362F8: .4byte gUnknown_80E5BDC +_080362FC: + bl sub_803D0D8 + lsls r0, 24 + cmp r0, 0 + beq _08036324 + ldr r0, _08036318 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _0803631C + ldr r2, _08036320 + b _0803637C + .align 2, 0 +_08036318: .4byte gUnknown_203B34C +_0803631C: .4byte gUnknown_80E5A78 +_08036320: .4byte gUnknown_80E5AFC +_08036324: + ldr r0, _08036338 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _0803633C + ldr r2, _08036340 + b _0803637C + .align 2, 0 +_08036338: .4byte gUnknown_203B34C +_0803633C: .4byte gUnknown_80E5A60 +_08036340: .4byte gUnknown_80E5A90 +_08036344: + bl sub_803D0D8 + lsls r0, 24 + cmp r0, 0 + beq _0803636C + ldr r0, _08036360 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _08036364 + ldr r2, _08036368 + b _0803637C + .align 2, 0 +_08036360: .4byte gUnknown_203B34C +_08036364: .4byte gUnknown_80E5A78 +_08036368: .4byte gUnknown_80E5B8C +_0803636C: + ldr r0, _08036394 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _08036398 + ldr r2, _0803639C +_0803637C: + str r2, [sp] + movs r4, 0x1 + str r4, [sp, 0x4] + ldr r2, _080363A0 + ldr r2, [r2] + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + b _080363C8 + .align 2, 0 +_08036394: .4byte gUnknown_203B34C +_08036398: .4byte gUnknown_80E5B34 +_0803639C: .4byte gUnknown_80E5B4C +_080363A0: .4byte gUnknown_203B350 +_080363A4: + ldr r0, _080363D0 + ldr r1, [r0] + adds r0, r1, 0x4 + movs r2, 0xA2 + lsls r2, 1 + adds r1, r2 + ldr r3, _080363D4 + ldr r2, _080363D8 + str r2, [sp] + movs r4, 0x1 + str r4, [sp, 0x4] + ldr r2, _080363DC + ldr r2, [r2] + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_080363C8: + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080363D0: .4byte gUnknown_203B34C +_080363D4: .4byte gUnknown_80E59E0 +_080363D8: .4byte gUnknown_80E59F8 +_080363DC: .4byte gUnknown_203B350 + thumb_func_end SetMainMenuItems + + thumb_func_start sub_80363E0 +sub_80363E0: + push {lr} + ldr r0, _080363F4 + ldr r0, [r0] + cmp r0, 0 + beq _080363F8 + ldr r0, [r0] + cmp r0, 0xC + beq _080363F8 + movs r0, 0x1 + b _080363FA + .align 2, 0 +_080363F4: .4byte gUnknown_203B34C +_080363F8: + movs r0, 0 +_080363FA: + pop {r1} + bx r1 + thumb_func_end sub_80363E0 + + thumb_func_start CreateTradeItemsMenu +CreateTradeItemsMenu: + push {r4,r5,lr} + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r5, _08036444 + movs r4, 0xE8 + lsls r4, 2 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 + bl sub_8035C1C + bl sub_8035DA0 + ldr r1, [r5] + movs r0, 0x13 + str r0, [r1, 0x4] + movs r0, 0 + bl sub_8036FC4 + movs r0, 0x1 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08036444: .4byte gUnknown_203B358 + thumb_func_end CreateTradeItemsMenu + + thumb_func_start UpdateTradeItemsMenu +UpdateTradeItemsMenu: + push {lr} + ldr r0, _08036460 + ldr r0, [r0] + ldr r0, [r0] + cmp r0, 0x12 + bhi _08036524 + lsls r0, 2 + ldr r1, _08036464 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08036460: .4byte gUnknown_203B358 +_08036464: .4byte _08036468 + .align 2, 0 +_08036468: + .4byte _080364B4 + .4byte _080364BA + .4byte _080364C0 + .4byte _080364C6 + .4byte _080364D2 + .4byte _080364CC + .4byte _080364D8 + .4byte _080364DE + .4byte _080364E4 + .4byte _080364F0 + .4byte _080364F6 + .4byte _080364FC + .4byte _08036502 + .4byte _08036514 + .4byte _08036508 + .4byte _080364EA + .4byte _0803650E + .4byte _0803651A + .4byte _08036520 +_080364B4: + bl sub_803652C + b _08036524 +_080364BA: + bl sub_8036590 + b _08036524 +_080364C0: + bl sub_80365AC + b _08036524 +_080364C6: + bl sub_8036674 + b _08036524 +_080364CC: + bl sub_8036728 + b _08036524 +_080364D2: + bl sub_8036788 + b _08036524 +_080364D8: + bl sub_8036830 + b _08036524 +_080364DE: + bl sub_803689C + b _08036524 +_080364E4: + bl sub_80368D4 + b _08036524 +_080364EA: + bl sub_8036A7C + b _08036524 +_080364F0: + bl sub_8036934 + b _08036524 +_080364F6: + bl sub_8036950 + b _08036524 +_080364FC: + bl sub_8036AA4 + b _08036524 +_08036502: + bl sub_80369FC + b _08036524 +_08036508: + bl sub_8036A34 + b _08036524 +_0803650E: + bl sub_8036A54 + b _08036524 +_08036514: + bl sub_8036A18 + b _08036524 +_0803651A: + bl sub_8036ADC + b _08036524 +_08036520: + movs r0, 0x3 + b _08036526 +_08036524: + movs r0, 0 +_08036526: + pop {r1} + bx r1 + thumb_func_end UpdateTradeItemsMenu + + thumb_func_start sub_803652C +sub_803652C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + adds r1, r0, 0 + cmp r1, 0 + bne _0803658A + ldr r2, [sp] + cmp r2, 0x1 + beq _08036556 + cmp r2, 0x1 + bgt _0803654C + cmp r2, 0 + beq _08036584 + b _0803658A +_0803654C: + cmp r2, 0x2 + beq _0803656C + cmp r2, 0x7 + beq _08036584 + b _0803658A +_08036556: + ldr r0, _08036568 + ldr r0, [r0] + str r1, [r0, 0x8] + str r2, [r0, 0x10] + movs r0, 0x1 + bl sub_8036FC4 + b _0803658A + .align 2, 0 +_08036568: .4byte gUnknown_203B358 +_0803656C: + ldr r0, _08036580 + ldr r1, [r0] + movs r0, 0x1 + str r0, [r1, 0x8] + str r2, [r1, 0x10] + movs r0, 0x7 + bl sub_8036FC4 + b _0803658A + .align 2, 0 +_08036580: .4byte gUnknown_203B358 +_08036584: + movs r0, 0x12 + bl sub_8036FC4 +_0803658A: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_803652C + + thumb_func_start sub_8036590 +sub_8036590: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080365A4 + movs r0, 0x2 + bl sub_8036FC4 +_080365A4: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036590 + + thumb_func_start sub_80365AC +sub_80365AC: + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r4, _080365E8 + ldr r0, [r4] + ldr r7, _080365EC + adds r0, r7 + movs r1, 0 + strb r1, [r0] + ldr r0, [r4] + ldr r6, _080365F0 + adds r0, r6 + movs r5, 0x1 + strb r5, [r0] + ldr r0, [r4] + movs r2, 0x97 + lsls r2, 2 + mov r8, r2 + add r0, r8 + strb r1, [r0] + movs r0, 0x1 + bl sub_801CA08 + cmp r0, 0x3 + beq _08036606 + cmp r0, 0x3 + bhi _080365F4 + cmp r0, 0x2 + beq _080365FA + b _0803666A + .align 2, 0 +_080365E8: .4byte gUnknown_203B358 +_080365EC: .4byte 0x0000025e +_080365F0: .4byte 0x0000025d +_080365F4: + cmp r0, 0x4 + beq _0803662C + b _0803666A +_080365FA: + bl sub_801CBB8 + movs r0, 0 + bl sub_8036FC4 + b _0803666A +_08036606: + bl sub_801CB24 + ldr r1, [r4] + ldr r2, _08036624 + adds r1, r2 + strb r0, [r1] + ldr r0, [r4] + ldr r1, _08036628 + adds r0, r1 + strb r5, [r0] + movs r0, 0x3 + bl sub_8036FC4 + b _0803666A + .align 2, 0 +_08036624: .4byte 0x0000025e +_08036628: .4byte 0x0000025d +_0803662C: + ldr r1, [r4] + movs r0, 0x2 + str r0, [r1, 0x4] + bl sub_801CB24 + ldr r1, [r4] + adds r1, r7 + strb r0, [r1] + ldr r0, [r4] + adds r0, r6 + strb r5, [r0] + ldr r0, [r4] + movs r2, 0xF2 + lsls r2, 1 + adds r0, r2 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + add r0, r8 + bl sub_801B3C0 + movs r0, 0x5 + bl sub_8036FC4 +_0803666A: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80365AC + + thumb_func_start sub_8036674 +sub_8036674: + push {r4,lr} + sub sp, 0x4 + movs r0, 0x1 + negs r0, r0 + str r0, [sp] + movs r0, 0 + bl sub_801CA08 + ldr r4, _080366B8 + ldr r0, [r4] + movs r1, 0x9A + lsls r1, 1 + adds r0, r1 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _080366A6 + ldr r0, [r4] + movs r1, 0x9A + lsls r1, 1 + adds r0, r1 + mov r1, sp + bl sub_8013114 +_080366A6: + ldr r0, [sp] + cmp r0, 0x3 + beq _080366C6 + cmp r0, 0x3 + bgt _080366BC + cmp r0, 0 + beq _08036700 + b _0803671A + .align 2, 0 +_080366B8: .4byte gUnknown_203B358 +_080366BC: + cmp r0, 0x4 + beq _080366CE + cmp r0, 0x7 + beq _08036700 + b _0803671A +_080366C6: + movs r0, 0x4 + bl sub_8036FC4 + b _0803671A +_080366CE: + ldr r0, [r4] + movs r1, 0x13 + str r1, [r0, 0x4] + movs r1, 0xF2 + lsls r1, 1 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, [r4] + movs r1, 0x97 + lsls r1, 2 + adds r0, r1 + bl sub_801B3C0 + movs r0, 0x5 + bl sub_8036FC4 + b _0803671A +_08036700: + ldr r0, _08036724 + ldr r0, [r0] + movs r1, 0xC2 + lsls r1, 1 + adds r0, r1 + movs r1, 0x3 + bl sub_8035CC0 + bl sub_801CCD8 + movs r0, 0x2 + bl sub_8036FC4 +_0803671A: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08036724: .4byte gUnknown_203B358 + thumb_func_end sub_8036674 + + thumb_func_start sub_8036728 +sub_8036728: + push {r4,lr} + bl sub_801B410 + cmp r0, 0x1 + beq _08036780 + cmp r0, 0x1 + bcc _08036780 + cmp r0, 0x3 + bhi _08036780 + bl sub_801B450 + bl ResetUnusedInputStruct + ldr r4, _08036778 + ldr r0, [r4] + movs r1, 0xF2 + lsls r1, 1 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x1 + bl sub_801CB5C + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0x13 + bne _0803677C + adds r0, r4, 0 + adds r0, 0x44 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x3 + bl sub_8036FC4 + b _08036780 + .align 2, 0 +_08036778: .4byte gUnknown_203B358 +_0803677C: + bl sub_8036FC4 +_08036780: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8036728 + + thumb_func_start sub_8036788 +sub_8036788: + push {r4,lr} + ldr r4, _080367B8 + ldr r0, [r4] + movs r1, 0x9A + lsls r1, 1 + adds r0, r1 + bl sub_8012FD8 + movs r0, 0 + bl sub_801CA08 + ldr r0, [r4] + adds r0, 0x14 + bl sub_8013BBC + cmp r0, 0x1 + beq _080367BC + cmp r0, 0x1 + bcc _08036824 + cmp r0, 0x2 + beq _080367D2 + cmp r0, 0x3 + beq _080367F8 + b _08036824 + .align 2, 0 +_080367B8: .4byte gUnknown_203B358 +_080367BC: + bl sub_801CCD8 + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x3 + movs r2, 0 + bl sub_8035CF4 + bl sub_8036F30 + b _08036824 +_080367D2: + ldr r0, [r4] + movs r2, 0xC2 + lsls r2, 1 + adds r0, r2 + movs r1, 0x2 + bl sub_8035CC0 + bl sub_801CCD8 + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + movs r0, 0x3 + bl sub_8036FC4 + b _08036824 +_080367F8: + ldr r0, [r4] + ldr r1, [r0, 0x14] + ldr r2, _0803682C + adds r0, r2 + strb r1, [r0] + ldr r0, [r4] + adds r2, 0x1 + adds r1, r0, r2 + ldrb r1, [r1] + subs r2, 0xA + adds r0, r2 + strb r1, [r0] + ldr r0, [r4] + adds r2, 0x4 + adds r1, r0, r2 + ldr r0, [r0, 0x14] + str r0, [r1] + bl sub_801CBB8 + movs r0, 0x6 + bl sub_8036FC4 +_08036824: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803682C: .4byte 0x0000025d + thumb_func_end sub_8036788 + + thumb_func_start sub_8036830 +sub_8036830: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036896 + ldr r0, [sp] + cmp r0, 0x5 + beq _08036854 + cmp r0, 0x5 + bgt _0803684E + cmp r0, 0 + beq _08036890 + b _08036896 +_0803684E: + cmp r0, 0x6 + beq _08036890 + b _08036896 +_08036854: + bl sub_801CBB8 + ldr r0, _08036884 + ldr r2, [r0] + ldr r0, _08036888 + ldr r1, [r0] + ldr r3, _0803688C + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, 1 + adds r2, 0x50 + adds r2, r0 + ldrh r0, [r2] + ldr r1, [r1, 0x14] + subs r0, r1 + strh r0, [r2] + movs r0, 0xF + bl sub_8036FC4 + movs r0, 0 + bl sub_8012574 + b _08036896 + .align 2, 0 +_08036884: .4byte gUnknown_203B460 +_08036888: .4byte gUnknown_203B358 +_0803688C: .4byte 0x0000025e +_08036890: + movs r0, 0 + bl sub_8036FC4 +_08036896: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036830 + + thumb_func_start sub_803689C +sub_803689C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080368CE + ldr r0, [sp] + cmp r0, 0x5 + beq _080368C0 + cmp r0, 0x5 + bgt _080368BA + cmp r0, 0 + beq _080368C8 + b _080368CE +_080368BA: + cmp r0, 0x7 + beq _080368C8 + b _080368CE +_080368C0: + movs r0, 0x9 + bl sub_8036FC4 + b _080368CE +_080368C8: + movs r0, 0x12 + bl sub_8036FC4 +_080368CE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_803689C + + thumb_func_start sub_80368D4 +sub_80368D4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _0803692A + ldr r0, [sp] + cmp r0, 0x5 + beq _080368F8 + cmp r0, 0x5 + bgt _080368F2 + cmp r0, 0 + beq _08036900 + b _0803692A +_080368F2: + cmp r0, 0x7 + beq _08036900 + b _0803692A +_080368F8: + movs r0, 0x9 + bl sub_8036FC4 + b _0803692A +_08036900: + ldr r0, _08036930 + ldr r1, [r0] + movs r2, 0x95 + lsls r2, 2 + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, 0 + beq _0803692A + adds r2, 0x4 + adds r0, r1, r2 + ldr r0, [r0] + cmp r0, 0 + beq _0803692A + bl sub_80369D0 + movs r0, 0x11 + bl sub_8036FC4 + movs r0, 0 + bl sub_8012574 +_0803692A: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_08036930: .4byte gUnknown_203B358 + thumb_func_end sub_80368D4 + + thumb_func_start sub_8036934 +sub_8036934: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036948 + movs r0, 0xA + bl sub_8036FC4 +_08036948: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036934 + + thumb_func_start sub_8036950 +sub_8036950: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _080369C8 + ldr r0, _08036978 + ldr r2, [r0] + ldr r1, [r2, 0xC] + adds r3, r0, 0 + cmp r1, 0 + bne _0803698C + ldr r0, [r2, 0x8] + cmp r0, 0 + beq _0803697C + cmp r0, 0x1 + beq _08036984 + b _080369C8 + .align 2, 0 +_08036978: .4byte gUnknown_203B358 +_0803697C: + movs r0, 0xD + bl sub_8036FC4 + b _080369C8 +_08036984: + movs r0, 0xE + bl sub_8036FC4 + b _080369C8 +_0803698C: + ldr r0, [r2, 0x8] + cmp r0, 0 + bne _080369BA + movs r1, 0x95 + lsls r1, 2 + adds r0, r2, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _080369BA + adds r1, 0x4 + adds r0, r2, r1 + ldr r0, [r0] + cmp r0, 0 + beq _080369BA + bl sub_80369D0 + movs r0, 0xB + bl sub_8036FC4 + movs r0, 0 + bl sub_8012574 + b _080369C8 +_080369BA: + ldr r0, [r3] + ldr r0, [r0, 0xC] + bl sub_8036E18 + movs r0, 0xC + bl sub_8036FC4 +_080369C8: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036950 + + thumb_func_start sub_80369D0 +sub_80369D0: + ldr r0, _080369F4 + ldr r2, [r0] + ldr r0, _080369F8 + ldr r1, [r0] + movs r3, 0x95 + lsls r3, 2 + adds r0, r1, r3 + ldrb r0, [r0] + lsls r0, 1 + adds r2, 0x50 + adds r2, r0 + ldrh r0, [r2] + adds r3, 0x4 + adds r1, r3 + ldr r1, [r1] + adds r0, r1 + strh r0, [r2] + bx lr + .align 2, 0 +_080369F4: .4byte gUnknown_203B460 +_080369F8: .4byte gUnknown_203B358 + thumb_func_end sub_80369D0 + + thumb_func_start sub_80369FC +sub_80369FC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036A10 + movs r0, 0 + bl sub_8036FC4 +_08036A10: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_80369FC + + thumb_func_start sub_8036A18 +sub_8036A18: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036A2C + movs r0, 0x12 + bl sub_8036FC4 +_08036A2C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036A18 + + thumb_func_start sub_8036A34 +sub_8036A34: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036A4E + movs r0, 0x10 + bl sub_8036FC4 + movs r0, 0 + bl sub_8012574 +_08036A4E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036A34 + + thumb_func_start sub_8036A54 +sub_8036A54: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036A76 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08036A76 + bl sub_8012750 + movs r0, 0x12 + bl sub_8036FC4 +_08036A76: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036A54 + + thumb_func_start sub_8036A7C +sub_8036A7C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036A9E + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08036A9E + bl sub_8012750 + movs r0, 0x8 + bl sub_8036FC4 +_08036A9E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036A7C + + thumb_func_start sub_8036AA4 +sub_8036AA4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036AD0 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08036AD0 + bl sub_8012750 + ldr r0, _08036AD8 + ldr r0, [r0] + ldr r0, [r0, 0xC] + bl sub_8036E18 + movs r0, 0xC + bl sub_8036FC4 +_08036AD0: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_08036AD8: .4byte gUnknown_203B358 + thumb_func_end sub_8036AA4 + + thumb_func_start sub_8036ADC +sub_8036ADC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08036AFE + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08036AFE + bl sub_8012750 + movs r0, 0x12 + bl sub_8036FC4 +_08036AFE: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8036ADC + + thumb_func_start CleanTradeItemsMenu +CleanTradeItemsMenu: + push {r4,lr} + ldr r4, _08036B20 + ldr r0, [r4] + cmp r0, 0 + beq _08036B1A + bl MemoryFree + movs r0, 0 + str r0, [r4] + bl sub_801CBB8 +_08036B1A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08036B20: .4byte gUnknown_203B358 + thumb_func_end CleanTradeItemsMenu + + thumb_func_start nullsub_52 +nullsub_52: + bx lr + thumb_func_end nullsub_52 + + thumb_func_start sub_8036B28 +sub_8036B28: + push {r4,r5,lr} + sub sp, 0x18 + ldr r1, _08036B44 + ldr r0, [r1] + ldr r0, [r0] + adds r5, r1, 0 + cmp r0, 0x12 + bls _08036B3A + b _08036DFA +_08036B3A: + lsls r0, 2 + ldr r1, _08036B48 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08036B44: .4byte gUnknown_203B358 +_08036B48: .4byte _08036B4C + .align 2, 0 +_08036B4C: + .4byte _08036B98 + .4byte _08036BDC + .4byte _08036BE4 + .4byte _08036C14 + .4byte _08036C58 + .4byte _08036DFA + .4byte _08036C5E + .4byte _08036C90 + .4byte _08036C98 + .4byte _08036CC0 + .4byte _08036CD8 + .4byte _08036DFA + .4byte _08036DFA + .4byte _08036DD8 + .4byte _08036D70 + .4byte _08036DFA + .4byte _08036DFA + .4byte _08036DFA + .4byte _08036DFA +_08036B98: + movs r0, 0 + bl sub_801CF14 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0 + beq _08036BB8 + ldr r0, _08036BB0 + ldr r3, _08036BB4 + movs r2, 0 + b _08036BBC + .align 2, 0 +_08036BB0: .4byte gUnknown_80E61A4 +_08036BB4: .4byte gUnknown_80E60D4 +_08036BB8: + ldr r0, _08036BD4 + ldr r3, _08036BD8 +_08036BBC: + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x1 + bl sub_8014248 + b _08036DFA + .align 2, 0 +_08036BD4: .4byte gUnknown_80E61A4 +_08036BD8: .4byte gUnknown_80E60A0 +_08036BDC: + ldr r0, _08036BE0 + b _08036DBA + .align 2, 0 +_08036BE0: .4byte gUnknown_80E61C0 +_08036BE4: + bl sub_801D008 + cmp r0, 0 + beq _08036BEE + b _08036DFA +_08036BEE: + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r0, _08036C10 + str r0, [sp, 0x14] + movs r0, 0 + movs r1, 0x1 + add r2, sp, 0x14 + movs r3, 0x9 + bl sub_801C8C4 + b _08036DFA + .align 2, 0 +_08036C10: .4byte 0x00020003 +_08036C14: + ldr r0, [r5] + movs r4, 0xC2 + lsls r4, 1 + adds r0, r4 + bl sub_8006518 + ldr r1, [r5] + adds r0, r1, 0 + adds r0, 0x44 + adds r1, r4 + ldr r3, _08036C50 + ldr r2, _08036C54 + 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 + ldr r0, [r5] + adds r0, 0x44 + movs r1, 0x3 + movs r2, 0x1 + bl sub_8035CF4 + b _08036DFA + .align 2, 0 +_08036C50: .4byte gUnknown_80E60EC +_08036C54: .4byte gUnknown_80E6104 +_08036C58: + bl sub_8036F74 + b _08036DFA +_08036C5E: + ldr r2, _08036C7C + ldr r1, [r5] + ldr r0, [r1, 0x14] + str r0, [r2] + ldr r0, _08036C80 + ldr r2, _08036C84 + adds r1, r2 + ldrb r1, [r1] + movs r2, 0 + bl sub_8090DC4 + ldr r0, _08036C88 + ldr r3, _08036C8C + b _08036C9C + .align 2, 0 +_08036C7C: .4byte gUnknown_202DE30 +_08036C80: .4byte gUnknown_202DE58 +_08036C84: .4byte 0x0000025e +_08036C88: .4byte gUnknown_80E61E4 +_08036C8C: .4byte gUnknown_80E6154 +_08036C90: + ldr r0, _08036C94 + b _08036C9A + .align 2, 0 +_08036C94: .4byte gUnknown_80E6214 +_08036C98: + ldr r0, _08036CB8 +_08036C9A: + ldr r3, _08036CBC +_08036C9C: + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x5 + bl sub_8014248 + b _08036DFA + .align 2, 0 +_08036CB8: .4byte gUnknown_80E6268 +_08036CBC: .4byte gUnknown_80E618C +_08036CC0: + movs r0, 0 + bl nullsub_23 + ldr r0, _08036CD4 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_80141B4 + b _08036DFA + .align 2, 0 +_08036CD4: .4byte gUnknown_80E62C4 +_08036CD8: + ldr r4, _08036D18 + ldr r1, [r4] + movs r0, 0 + str r0, [r1, 0xC] + movs r2, 0 + movs r3, 0 + movs r5, 0x91 + lsls r5, 2 + adds r0, r1, r5 + str r2, [r0] + str r3, [r0, 0x4] + movs r0, 0x93 + lsls r0, 2 + adds r1, r0 + str r2, [r1] + str r3, [r1, 0x4] + bl sub_8011830 + ldr r0, [r4] + ldr r0, [r0, 0x8] + bl sub_8037B28 + ldr r4, [r4] + str r0, [r4, 0xC] + cmp r0, 0 + bne _08036D44 + ldr r0, [r4, 0x8] + cmp r0, 0 + beq _08036D1C + cmp r0, 0x1 + beq _08036D2C + b _08036D44 + .align 2, 0 +_08036D18: .4byte gUnknown_203B358 +_08036D1C: + adds r2, r4, r5 + movs r1, 0x95 + lsls r1, 2 + adds r0, r4, r1 + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2] + str r1, [r2, 0x4] +_08036D2C: + ldr r4, _08036D6C + ldr r2, [r4] + ldr r0, [r2, 0x8] + movs r3, 0x91 + lsls r3, 2 + adds r1, r2, r3 + adds r3, 0x8 + adds r2, r3 + bl sub_8037D64 + ldr r1, [r4] + str r0, [r1, 0xC] +_08036D44: + ldr r4, _08036D6C + ldr r2, [r4] + ldr r0, [r2, 0xC] + cmp r0, 0 + bne _08036D66 + ldr r0, [r2, 0x8] + cmp r0, 0x1 + bhi _08036D66 + movs r3, 0x91 + lsls r3, 2 + adds r1, r2, r3 + adds r3, 0x8 + adds r2, r3 + bl sub_80381F4 + ldr r1, [r4] + str r0, [r1, 0xC] +_08036D66: + bl xxx_call_start_bg_music + b _08036DFA + .align 2, 0 +_08036D6C: .4byte gUnknown_203B358 +_08036D70: + ldr r2, [r5] + movs r1, 0x94 + lsls r1, 2 + adds r0, r2, r1 + ldr r1, [r0] + cmp r1, 0 + bne _08036DA4 + ldr r1, _08036D9C + movs r3, 0x92 + lsls r3, 2 + adds r0, r2, r3 + ldr r0, [r0] + str r0, [r1] + ldr r0, _08036DA0 + subs r3, 0x4 + adds r1, r2, r3 + ldrb r1, [r1] + movs r2, 0 + bl sub_8090DC4 + b _08036DB8 + .align 2, 0 +_08036D9C: .4byte gUnknown_202DE30 +_08036DA0: .4byte gUnknown_202DE58 +_08036DA4: + ldr r0, _08036DC8 + str r1, [r0] + ldr r0, _08036DCC + movs r3, 0x93 + lsls r3, 2 + adds r1, r2, r3 + ldrb r1, [r1] + movs r2, 0 + bl sub_8090DC4 +_08036DB8: + ldr r0, _08036DD0 +_08036DBA: + ldr r3, _08036DD4 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _08036DFA + .align 2, 0 +_08036DC8: .4byte gUnknown_202DE30 +_08036DCC: .4byte gUnknown_202DE58 +_08036DD0: .4byte gUnknown_80E6314 +_08036DD4: .4byte 0x00000101 +_08036DD8: + ldr r2, _08036E04 + ldr r1, [r5] + ldr r0, [r1, 0x14] + str r0, [r2] + ldr r0, _08036E08 + ldr r2, _08036E0C + adds r1, r2 + ldrb r1, [r1] + movs r2, 0 + bl sub_8090DC4 + ldr r0, _08036E10 + ldr r3, _08036E14 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_08036DFA: + add sp, 0x18 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08036E04: .4byte gUnknown_202DE30 +_08036E08: .4byte gUnknown_202DE58 +_08036E0C: .4byte 0x0000025e +_08036E10: .4byte gUnknown_80E6358 +_08036E14: .4byte 0x00000101 + thumb_func_end sub_8036B28 + + thumb_func_start sub_8036E18 +sub_8036E18: + push {lr} + cmp r0, 0xF + bhi _08036EB4 + lsls r0, 2 + ldr r1, _08036E28 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08036E28: .4byte _08036E2C + .align 2, 0 +_08036E2C: + .4byte _08036EC0 + .4byte _08036E6C + .4byte _08036E7C + .4byte _08036E74 + .4byte _08036E84 + .4byte _08036E8C + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036EB4 + .4byte _08036E94 + .4byte _08036E9C +_08036E6C: + ldr r0, _08036E70 + b _08036E9E + .align 2, 0 +_08036E70: .4byte gUnknown_80E6378 +_08036E74: + ldr r0, _08036E78 + b _08036E9E + .align 2, 0 +_08036E78: .4byte gUnknown_80E639C +_08036E7C: + ldr r0, _08036E80 + b _08036E9E + .align 2, 0 +_08036E80: .4byte gUnknown_80E63F8 +_08036E84: + ldr r0, _08036E88 + b _08036E9E + .align 2, 0 +_08036E88: .4byte gUnknown_80E6448 +_08036E8C: + ldr r0, _08036E90 + b _08036E9E + .align 2, 0 +_08036E90: .4byte gUnknown_80E6378 +_08036E94: + ldr r0, _08036E98 + b _08036E9E + .align 2, 0 +_08036E98: .4byte gUnknown_80E6378 +_08036E9C: + ldr r0, _08036EAC +_08036E9E: + ldr r3, _08036EB0 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _08036EC0 + .align 2, 0 +_08036EAC: .4byte gUnknown_80E64AC +_08036EB0: .4byte 0x00000101 +_08036EB4: + ldr r0, _08036EC4 + ldr r3, _08036EC8 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_08036EC0: + pop {r0} + bx r0 + .align 2, 0 +_08036EC4: .4byte gUnknown_80E6378 +_08036EC8: .4byte 0x00000101 + thumb_func_end sub_8036E18 + + thumb_func_start sub_8036ECC +sub_8036ECC: + push {r4-r6,lr} + adds r3, r0, 0 + ldr r6, _08036F28 + ldr r0, [r6] + movs r2, 0x3 + str r2, [r0, 0x24] + movs r2, 0x1 + str r2, [r0, 0x18] + str r2, [r0, 0x1C] + str r1, [r0, 0x20] + movs r1, 0x2C + str r1, [r0, 0x30] + movs r1, 0x12 + str r1, [r0, 0x34] + str r3, [r0, 0x28] + lsls r4, r3, 1 + adds r4, r3 + lsls r4, 3 + movs r5, 0xC2 + lsls r5, 1 + adds r1, r4, r5 + adds r1, r0, r1 + str r1, [r0, 0x2C] + adds r0, 0x14 + bl sub_8013AA0 + ldr r1, [r6] + adds r1, r4 + adds r1, r5 + ldr r0, _08036F2C + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + bl ResetUnusedInputStruct + ldr r0, [r6] + adds r0, r5 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08036F28: .4byte gUnknown_203B358 +_08036F2C: .4byte gUnknown_80E6174 + thumb_func_end sub_8036ECC + + thumb_func_start sub_8036F30 +sub_8036F30: + push {r4,r5,lr} + sub sp, 0x4 + ldr r5, _08036F6C + ldr r0, [r5] + ldr r4, [r0, 0x28] + adds r0, r4, 0 + bl sub_8008C54 + adds r0, r4, 0 + bl sub_80073B8 + ldr r2, _08036F70 + movs r0, 0 + str r0, [sp] + movs r0, 0x2 + movs r1, 0 + adds r3, r4, 0 + bl xxx_call_draw_string + ldr r0, [r5] + adds r0, 0x14 + bl sub_8013C68 + adds r0, r4, 0 + bl sub_80073E0 + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08036F6C: .4byte gUnknown_203B358 +_08036F70: .4byte gUnknown_80E6528 + thumb_func_end sub_8036F30 + + thumb_func_start sub_8036F74 +sub_8036F74: + push {r4,lr} + ldr r4, _08036FB8 + ldr r0, [r4] + movs r1, 0xC2 + lsls r1, 1 + adds r0, r1 + bl sub_8006518 + ldr r0, _08036FBC + ldr r1, [r0] + ldr r0, [r4] + ldr r2, _08036FC0 + adds r0, r2 + ldrb r0, [r0] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r1, [r1] + movs r0, 0x2 + bl sub_8036ECC + bl sub_801CCD8 + ldr r0, [r4] + adds r0, 0x44 + movs r1, 0x3 + movs r2, 0 + bl sub_8035CF4 + bl sub_8036F30 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08036FB8: .4byte gUnknown_203B358 +_08036FBC: .4byte gUnknown_203B460 +_08036FC0: .4byte 0x0000025e + thumb_func_end sub_8036F74 + + thumb_func_start sub_8036FC4 +sub_8036FC4: + push {lr} + ldr r1, _08036FD8 + ldr r1, [r1] + str r0, [r1] + bl nullsub_52 + bl sub_8036B28 + pop {r0} + bx r0 + .align 2, 0 +_08036FD8: .4byte gUnknown_203B358 + thumb_func_end sub_8036FC4 + + thumb_func_start sub_8036FDC +sub_8036FDC: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x10 + adds r6, r0, 0 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0 + bl ResetSprites + ldr r5, _080370C0 + ldr r0, [r5] + cmp r0, 0 + bne _08037016 + ldr r4, _080370C4 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_08037016: + ldr r0, [r5] + str r6, [r0] + movs r1, 0 + str r1, [r0, 0x4] + str r1, [r0, 0x8] + movs r3, 0 + adds r7, r5, 0 + movs r6, 0xE0 + lsls r6, 1 + movs r4, 0 + movs r5, 0xDE + lsls r5, 1 +_0803702E: + ldr r0, [r7] + lsls r2, r3, 3 + adds r1, r0, r6 + adds r1, r2 + str r4, [r1] + adds r0, r2 + adds r0, r5 + strb r4, [r0] + adds r3, 0x1 + cmp r3, 0x1 + ble _0803702E + ldr r0, _080370C0 + mov r12, r0 + movs r5, 0xAE + lsls r5, 1 + mov r8, r5 + ldr r4, _080370C8 + movs r3, 0 + movs r2, 0x3 +_08037054: + mov r6, r12 + ldr r1, [r6] + 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 _08037054 + movs r6, 0 + bl ResetUnusedInputStruct + ldr r5, _080370C0 + ldr r0, [r5] + movs r4, 0xAE + lsls r4, 1 + adds r0, r4 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r1, [r5] + adds r0, r1, 0 + adds r0, 0x1C + adds r1, r4 + ldr r3, _080370CC + ldr r2, _080370D0 + str r2, [sp] + str r6, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r6, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + ldr r0, [r5] + adds r0, 0x1C + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + bl sub_80376CC + add sp, 0x10 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080370C0: .4byte gUnknown_203B35C +_080370C4: .4byte 0x00000504 +_080370C8: .4byte gUnknown_80E653C +_080370CC: .4byte gUnknown_80E6CD0 +_080370D0: .4byte gUnknown_80E6CE8 + thumb_func_end sub_8036FDC + + thumb_func_start sub_80370D4 +sub_80370D4: + push {r4,lr} + ldr r4, _080370EC + ldr r0, [r4] + cmp r0, 0 + beq _080370E6 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_080370E6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080370EC: .4byte gUnknown_203B35C + thumb_func_end sub_80370D4 + + thumb_func_start sub_80370F0 +sub_80370F0: + push {r4,r5,lr} + sub sp, 0x4 + movs r0, 0x4 + str r0, [sp] + ldr r5, _08037110 + ldr r4, _08037114 + ldr r1, [r4] + ldr r0, [r1, 0x8] + cmp r0, 0x1 + beq _08037148 + cmp r0, 0x1 + bcc _08037118 + cmp r0, 0x2 + beq _08037158 + b _080371A8 + .align 2, 0 +_08037110: .4byte 0x0000ffdc +_08037114: .4byte gUnknown_203B35C +_08037118: + adds r0, r1, 0 + adds r0, 0x1C + bl sub_80130A8 + lsls r0, 24 + cmp r0, 0 + bne _08037130 + ldr r0, [r4] + adds r0, 0x1C + mov r1, sp + bl sub_8013114 +_08037130: + ldr r0, [sp] + cmp r0, 0x4 + bne _0803713C + bl sub_8037748 + b _080371A8 +_0803713C: + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0x8] + bl sub_8037900 + b _080371A8 +_08037148: + bl sub_80376CC + ldr r1, [r4] + movs r0, 0x2 + str r0, [r1, 0x8] + bl sub_80371B8 + b _080371A8 +_08037158: + ldr r0, [r1] + cmp r0, 0x1 + bhi _08037172 + ldr r0, [r1, 0x4] + cmp r0, 0 + bne _08037172 + movs r0, 0 + bl sub_8037C10 + cmp r0, 0 + bne _08037172 + movs r0, 0x29 + b _080371AA +_08037172: + ldr r4, _080371B4 + ldr r0, [r4] + adds r0, 0x1C + bl sub_80130A8 + lsls r0, 24 + cmp r0, 0 + bne _0803718C + ldr r0, [r4] + adds r0, 0x1C + mov r1, sp + bl sub_8013114 +_0803718C: + ldr r0, [sp] + cmp r0, 0x4 + beq _080371A4 + movs r0, 0x3 + bl PlayMenuSoundEffect + bl sub_8037798 + adds r5, r0, 0 + ldr r1, [r4] + movs r0, 0x4 + str r0, [r1, 0x8] +_080371A4: + bl sub_8037748 +_080371A8: + adds r0, r5, 0 +_080371AA: + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_080371B4: .4byte gUnknown_203B35C + thumb_func_end sub_80370F0 + + thumb_func_start sub_80371B8 +sub_80371B8: + push {r4-r7,lr} + sub sp, 0x10 + movs r6, 0 + movs r5, 0 + bl sub_8037400 + ldr r7, _0803721C + ldr r1, [r7] + ldr r0, [r1] + cmp r0, 0x1 + bhi _08037228 + ldr r0, [r1, 0x4] + cmp r0, 0 + bne _08037228 + movs r0, 0 + bl sub_8037C10 + cmp r0, 0 + bne _080371E0 + b _080373AC +_080371E0: + bl sub_80376CC + ldr r0, [r7] + movs r4, 0xAE + lsls r4, 1 + adds r0, r4 + movs r1, 0 + bl sub_8035CC0 + ldr r1, [r7] + adds r0, r1, 0 + adds r0, 0x1C + adds r1, r4 + ldr r3, _08037220 + ldr r2, _08037224 + str r2, [sp] + str r6, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r6, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + ldr r0, [r7] + adds r0, 0x1C + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + b _080373AC + .align 2, 0 +_0803721C: .4byte gUnknown_203B35C +_08037220: .4byte gUnknown_80E6C50 +_08037224: .4byte gUnknown_80E6C68 +_08037228: + bl sub_80376CC + ldr r4, _08037250 + ldr r0, [r4] + movs r1, 0xAE + lsls r1, 1 + adds r0, r1 + movs r1, 0 + bl sub_8035CC0 + ldr r0, [r4] + ldr r0, [r0, 0x4] + cmp r0, 0xF + bls _08037246 + b _0803734C +_08037246: + lsls r0, 2 + ldr r1, _08037254 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037250: .4byte gUnknown_203B35C +_08037254: .4byte _08037258 + .align 2, 0 +_08037258: + .4byte _08037298 + .4byte _080372D8 + .4byte _080372B8 + .4byte _080372A8 + .4byte _080372C8 + .4byte _080372D8 + .4byte _080372E8 + .4byte _080372F8 + .4byte _0803734C + .4byte _08037308 + .4byte _0803734C + .4byte _08037318 + .4byte _0803734C + .4byte _08037328 + .4byte _08037338 + .4byte _08037348 +_08037298: + ldr r6, _080372A0 + ldr r5, _080372A4 + b _0803734C + .align 2, 0 +_080372A0: .4byte gUnknown_80E66BC +_080372A4: .4byte gUnknown_80E66D4 +_080372A8: + ldr r6, _080372B0 + ldr r5, _080372B4 + b _0803734C + .align 2, 0 +_080372B0: .4byte gUnknown_80E6D54 +_080372B4: .4byte gUnknown_80E6D6C +_080372B8: + ldr r6, _080372C0 + ldr r5, _080372C4 + b _0803734C + .align 2, 0 +_080372C0: .4byte gUnknown_80E6DDC +_080372C4: .4byte gUnknown_80E6DF4 +_080372C8: + ldr r6, _080372D0 + ldr r5, _080372D4 + b _0803734C + .align 2, 0 +_080372D0: .4byte gUnknown_80E67D4 +_080372D4: .4byte gUnknown_80E67EC +_080372D8: + ldr r6, _080372E0 + ldr r5, _080372E4 + b _0803734C + .align 2, 0 +_080372E0: .4byte gUnknown_80E6748 +_080372E4: .4byte gUnknown_80E6760 +_080372E8: + ldr r6, _080372F0 + ldr r5, _080372F4 + b _0803734C + .align 2, 0 +_080372F0: .4byte gUnknown_80E689C +_080372F4: .4byte gUnknown_80E68B4 +_080372F8: + ldr r6, _08037300 + ldr r5, _08037304 + b _0803734C + .align 2, 0 +_08037300: .4byte gUnknown_80E6938 +_08037304: .4byte gUnknown_80E6950 +_08037308: + ldr r6, _08037310 + ldr r5, _08037314 + b _0803734C + .align 2, 0 +_08037310: .4byte gUnknown_80E69B0 +_08037314: .4byte gUnknown_80E69C8 +_08037318: + ldr r6, _08037320 + ldr r5, _08037324 + b _0803734C + .align 2, 0 +_08037320: .4byte gUnknown_80E6A10 +_08037324: .4byte gUnknown_80E6A28 +_08037328: + ldr r6, _08037330 + ldr r5, _08037334 + b _0803734C + .align 2, 0 +_08037330: .4byte gUnknown_80E6A74 +_08037334: .4byte gUnknown_80E6A8C +_08037338: + ldr r6, _08037340 + ldr r5, _08037344 + b _0803734C + .align 2, 0 +_08037340: .4byte gUnknown_80E6B78 +_08037344: .4byte gUnknown_80E6B90 +_08037348: + ldr r6, _080373B4 + ldr r5, _080373B8 +_0803734C: + ldr r4, _080373BC + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x1C + movs r2, 0xAE + lsls r2, 1 + adds r1, r2 + str r5, [sp] + movs r3, 0 + str r3, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r3, [sp, 0xC] + movs r2, 0 + adds r3, r6, 0 + bl SetMenuItems + ldr r0, [r4] + adds r0, 0x1C + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + ldr r4, [r4] + ldr r0, [r4, 0x4] + cmp r0, 0 + beq _080373AC + ldr r0, [r4] + cmp r0, 0 + bne _080373AC + bl sub_8035D94 + adds r2, r0, 0 + ldrb r0, [r2] + cmp r0, 0 + beq _080373AC + ldr r3, [r2, 0x4] + cmp r3, 0 + beq _080373AC + ldr r0, _080373C0 + ldr r1, [r0] + ldrb r0, [r2] + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r0, [r1] + adds r0, r3 + strh r0, [r1] +_080373AC: + add sp, 0x10 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080373B4: .4byte gUnknown_80E6BF4 +_080373B8: .4byte gUnknown_80E6C0C +_080373BC: .4byte gUnknown_203B35C +_080373C0: .4byte gUnknown_203B460 + thumb_func_end sub_80371B8 + + thumb_func_start sub_80373C4 +sub_80373C4: + push {lr} + movs r0, 0 + movs r1, 0 + bl sub_8005838 + bl sub_80060EC + bl sub_800CB20 + bl LoadBufferedInputs + bl TransferBGPaletteBuffer + bl xxx_call_update_bg_vram + bl sub_8009908 + bl xxx_call_update_bg_sound_input + movs r0, 0 + bl ResetSprites + pop {r0} + bx r0 + thumb_func_end sub_80373C4 + + thumb_func_start sub_80373F4 +sub_80373F4: + ldr r0, _080373FC + ldr r0, [r0] + bx lr + .align 2, 0 +_080373FC: .4byte gUnknown_203B35C + thumb_func_end sub_80373F4 + + thumb_func_start sub_8037400 +sub_8037400: + push {r4-r6,lr} + movs r6, 0 + movs r5, 0 + bl sub_8037810 + bl sub_8011830 + ldr r4, _08037434 + ldr r0, [r4] + ldr r0, [r0] + bl sub_8037B28 + ldr r4, [r4] + str r0, [r4, 0x4] + cmp r0, 0 + beq _08037422 + b _080376BE +_08037422: + ldr r0, [r4] + cmp r0, 0xA + bls _0803742A + b _080375E8 +_0803742A: + lsls r0, 2 + ldr r1, _08037438 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037434: .4byte gUnknown_203B35C +_08037438: .4byte _0803743C + .align 2, 0 +_0803743C: + .4byte _08037494 + .4byte _080374B8 + .4byte _08037534 + .4byte _0803751C + .4byte _0803756C + .4byte _080375D8 + .4byte _080374E4 + .4byte _080374D0 + .4byte _080375E8 + .4byte _08037480 + .4byte _08037468 +_08037468: + ldr r0, _0803747C + ldr r0, [r0] + movs r1, 0xE7 + lsls r1, 2 + adds r6, r0, r1 + movs r2, 0x8A + lsls r2, 3 + adds r5, r0, r2 + b _080375E8 + .align 2, 0 +_0803747C: .4byte gUnknown_203B35C +_08037480: + ldr r0, _08037490 + ldr r0, [r0] + movs r3, 0xE7 + lsls r3, 2 + adds r6, r0, r3 + movs r4, 0x8A + lsls r4, 3 + b _080375E6 + .align 2, 0 +_08037490: .4byte gUnknown_203B35C +_08037494: + bl sub_8035D94 + ldr r1, _080374B4 + ldr r3, [r1] + movs r5, 0xDE + lsls r5, 1 + adds r2, r3, r5 + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r2] + str r1, [r2, 0x4] + adds r6, r2, 0 + movs r0, 0xE2 + lsls r0, 1 + adds r5, r3, r0 + b _080375E8 + .align 2, 0 +_080374B4: .4byte gUnknown_203B35C +_080374B8: + ldr r0, _080374CC + ldr r0, [r0] + movs r1, 0xDE + lsls r1, 1 + adds r6, r0, r1 + movs r2, 0xE2 + lsls r2, 1 + adds r5, r0, r2 + b _080375E8 + .align 2, 0 +_080374CC: .4byte gUnknown_203B35C +_080374D0: + ldr r0, _080374E0 + ldr r0, [r0] + movs r3, 0xE6 + lsls r3, 1 + adds r6, r0, r3 + movs r4, 0xFE + lsls r4, 1 + b _080375E6 + .align 2, 0 +_080374E0: .4byte gUnknown_203B35C +_080374E4: + bl sub_8035D74 + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + ldr r3, _08037518 + ldr r1, [r3] + movs r2, 0xE6 + lsls r2, 1 + adds r1, r2 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r0, [r3] + adds r6, r0, r2 + movs r1, 0xFE + lsls r1, 1 + adds r5, r0, r1 + b _080375E8 + .align 2, 0 +_08037518: .4byte gUnknown_203B35C +_0803751C: + ldr r0, _08037530 + ldr r0, [r0] + movs r2, 0x8B + lsls r2, 2 + adds r6, r0, r2 + movs r3, 0x97 + lsls r3, 2 + adds r5, r0, r3 + b _080375E8 + .align 2, 0 +_08037530: .4byte gUnknown_203B35C +_08037534: + bl sub_8035D74 + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + ldr r3, _08037568 + ldr r1, [r3] + movs r2, 0x8B + lsls r2, 2 + adds r1, r2 + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldm r0!, {r4-r6} + stm r1!, {r4-r6} + ldr r0, [r3] + adds r6, r0, r2 + movs r1, 0x97 + lsls r1, 2 + adds r5, r0, r1 + b _080375E8 + .align 2, 0 +_08037568: .4byte gUnknown_203B35C +_0803756C: + bl sub_8035D74 + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + ldr r4, _080375CC + ldr r1, [r4] + movs r5, 0xA3 + lsls r5, 2 + adds r1, r5 + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + bl sub_8035D3C + lsls r0, 16 + ldr r1, _080375D0 + cmp r0, r1 + beq _080375BE + bl sub_8035D3C + ldr r3, [r4] + movs r1, 0xAF + lsls r1, 2 + adds r3, r1 + ldr r1, _080375D4 + ldr r1, [r1] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x58 + muls r0, r2 + adds r1, r0 + adds r0, r3, 0 + bl memcpy +_080375BE: + ldr r0, [r4] + adds r6, r0, r5 + movs r2, 0xC5 + lsls r2, 2 + adds r5, r0, r2 + b _080375E8 + .align 2, 0 +_080375CC: .4byte gUnknown_203B35C +_080375D0: .4byte 0xffff0000 +_080375D4: .4byte gUnknown_203B45C +_080375D8: + ldr r0, _08037610 + ldr r0, [r0] + movs r3, 0xA3 + lsls r3, 2 + adds r6, r0, r3 + movs r4, 0xC5 + lsls r4, 2 +_080375E6: + adds r5, r0, r4 +_080375E8: + ldr r4, _08037610 + ldr r0, [r4] + ldr r0, [r0] + adds r1, r6, 0 + adds r2, r5, 0 + bl sub_8037D64 + ldr r1, [r4] + str r0, [r1, 0x4] + cmp r0, 0 + bne _080376BE + ldr r0, [r1] + cmp r0, 0xA + bhi _080376AE + lsls r0, 2 + ldr r1, _08037614 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037610: .4byte gUnknown_203B35C +_08037614: .4byte _08037618 + .align 2, 0 +_08037618: + .4byte _08037644 + .4byte _08037644 + .4byte _08037658 + .4byte _08037658 + .4byte _0803766C + .4byte _0803766C + .4byte _08037684 + .4byte _08037684 + .4byte _080376AE + .4byte _0803769C + .4byte _0803769C +_08037644: + ldr r0, _08037654 + ldr r2, [r0] + movs r5, 0xDE + lsls r5, 1 + adds r6, r2, r5 + movs r1, 0xE2 + lsls r1, 1 + b _0803767A + .align 2, 0 +_08037654: .4byte gUnknown_203B35C +_08037658: + ldr r0, _08037668 + ldr r2, [r0] + movs r3, 0x8B + lsls r3, 2 + adds r6, r2, r3 + movs r4, 0x97 + lsls r4, 2 + b _08037692 + .align 2, 0 +_08037668: .4byte gUnknown_203B35C +_0803766C: + ldr r0, _08037680 + ldr r2, [r0] + movs r5, 0xA3 + lsls r5, 2 + adds r6, r2, r5 + movs r1, 0xC5 + lsls r1, 2 +_0803767A: + adds r5, r2, r1 + adds r4, r0, 0 + b _080376AE + .align 2, 0 +_08037680: .4byte gUnknown_203B35C +_08037684: + ldr r0, _08037698 + ldr r2, [r0] + movs r3, 0xE6 + lsls r3, 1 + adds r6, r2, r3 + movs r4, 0xFE + lsls r4, 1 +_08037692: + adds r5, r2, r4 + adds r4, r0, 0 + b _080376AE + .align 2, 0 +_08037698: .4byte gUnknown_203B35C +_0803769C: + ldr r1, _080376C8 + ldr r0, [r1] + movs r5, 0xE7 + lsls r5, 2 + adds r6, r0, r5 + movs r2, 0x8A + lsls r2, 3 + adds r5, r0, r2 + adds r4, r1, 0 +_080376AE: + ldr r0, [r4] + ldr r0, [r0] + adds r1, r6, 0 + adds r2, r5, 0 + bl sub_80381F4 + ldr r1, [r4] + str r0, [r1, 0x4] +_080376BE: + bl xxx_call_start_bg_music + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080376C8: .4byte gUnknown_203B35C + thumb_func_end sub_8037400 + + thumb_func_start sub_80376CC +sub_80376CC: + push {r4,lr} + ldr r0, _08037728 + ldr r3, [r0] + ldrh r1, [r3, 0xC] + ldr r0, _0803772C + ands r0, r1 + ldr r1, _08037730 + ands r0, r1 + ldr r4, _08037734 + ands r0, r4 + ldr r1, _08037738 + ands r0, r1 + ldr r1, _0803773C + ands r0, r1 + movs r2, 0x80 + lsls r2, 7 + ldr r1, _08037740 + ands r0, r1 + orrs r0, r2 + strh r0, [r3, 0xC] + movs r2, 0xFC + lsls r2, 2 + ldrh r1, [r3, 0x10] + movs r0, 0xFC + lsls r0, 8 + ands r0, r1 + orrs r0, r2 + ands r0, r4 + movs r2, 0xF + movs r4, 0xF0 + lsls r4, 8 + ldr r1, _08037744 + ands r0, r1 + orrs r0, r4 + strh r0, [r3, 0x10] + movs r0, 0 + strh r0, [r3, 0xE] + movs r1, 0xC0 + lsls r1, 4 + ldrh r0, [r3, 0x12] + ands r2, r0 + orrs r2, r1 + strh r2, [r3, 0x12] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08037728: .4byte gUnknown_203B35C +_0803772C: .4byte 0x0000feff +_08037730: .4byte 0x0000fdff +_08037734: .4byte 0x0000f3ff +_08037738: .4byte 0x0000efff +_0803773C: .4byte 0x0000dfff +_08037740: .4byte 0x00003fff +_08037744: .4byte 0x00000fff + thumb_func_end sub_80376CC + + thumb_func_start sub_8037748 +sub_8037748: + push {r4,lr} + ldr r4, _08037794 + ldr r3, [r4] + ldrh r1, [r3, 0xE] + movs r0, 0xFE + lsls r0, 8 + ands r0, r1 + movs r1, 0x70 + orrs r0, r1 + strh r0, [r3, 0xE] + movs r2, 0xD0 + lsls r2, 3 + ldrh r1, [r3, 0x12] + movs r0, 0xF + ands r0, r1 + orrs r0, r2 + strh r0, [r3, 0x12] + ldr r0, [r3, 0x14] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _08037782 + adds r0, r3, 0 + adds r0, 0xC + adds r1, 0xF8 + movs r2, 0 + movs r3, 0 + bl AddSprite +_08037782: + bl xxx_draw_string_80144C4 + ldr r1, [r4] + ldr r0, [r1, 0x14] + adds r0, 0x1 + str r0, [r1, 0x14] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08037794: .4byte gUnknown_203B35C + thumb_func_end sub_8037748 + + thumb_func_start sub_8037798 +sub_8037798: + push {lr} + ldr r2, _080377B4 + ldr r1, _080377B8 + ldr r0, [r1] + ldr r0, [r0] + adds r3, r1, 0 + cmp r0, 0xA + bhi _0803780A + lsls r0, 2 + ldr r1, _080377BC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080377B4: .4byte 0x0000ffdc +_080377B8: .4byte gUnknown_203B35C +_080377BC: .4byte _080377C0 + .align 2, 0 +_080377C0: + .4byte _080377EC + .4byte _080377EC + .4byte _080377F0 + .4byte _080377F0 + .4byte _080377F0 + .4byte _080377F0 + .4byte _080377F0 + .4byte _080377F0 + .4byte _0803780A + .4byte _080377FE + .4byte _080377FE +_080377EC: + movs r2, 0x1 + b _0803780A +_080377F0: + ldr r0, [r3] + ldr r0, [r0, 0x4] + movs r2, 0x1 + cmp r0, 0 + bne _0803780A + movs r2, 0x2A + b _0803780A +_080377FE: + ldr r0, [r3] + ldr r0, [r0, 0x4] + movs r2, 0xD + cmp r0, 0 + bne _0803780A + movs r2, 0x2B +_0803780A: + adds r0, r2, 0 + pop {r1} + bx r1 + thumb_func_end sub_8037798 + + thumb_func_start sub_8037810 +sub_8037810: + push {r4-r6,lr} + ldr r6, _080378FC + ldr r0, [r6] + movs r5, 0xDE + lsls r5, 1 + adds r0, r5 + movs r1, 0 + movs r2, 0x8 + bl MemoryFill8 + ldr r0, [r6] + movs r4, 0xE2 + lsls r4, 1 + adds r0, r4 + movs r1, 0 + movs r2, 0x8 + bl MemoryFill8 + ldr r0, [r6] + adds r5, r0, r5 + movs r1, 0 + movs r2, 0 + str r1, [r5] + str r2, [r5, 0x4] + adds r4, r0, r4 + str r1, [r4] + str r2, [r4, 0x4] + movs r2, 0xE6 + lsls r2, 1 + adds r0, r2 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r3, 0xFE + lsls r3, 1 + adds r0, r3 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r1, 0x8B + lsls r1, 2 + adds r0, r1 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r2, 0x97 + lsls r2, 2 + adds r0, r2 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r3, 0xA3 + lsls r3, 2 + adds r0, r3 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r1, 0xC5 + lsls r1, 2 + adds r0, r1 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + ldr r0, [r6] + movs r2, 0xAF + lsls r2, 2 + adds r0, r2 + movs r1, 0 + movs r2, 0x58 + bl MemoryFill8 + ldr r0, [r6] + movs r3, 0xD1 + lsls r3, 2 + adds r0, r3 + movs r1, 0 + movs r2, 0x58 + bl MemoryFill8 + ldr r0, [r6] + movs r1, 0xE7 + lsls r1, 2 + adds r0, r1 + movs r1, 0 + movs r2, 0xB4 + bl MemoryFill8 + ldr r0, [r6] + movs r2, 0x8A + lsls r2, 3 + adds r0, r2 + movs r1, 0 + movs r2, 0xB4 + bl MemoryFill8 + ldr r2, [r6] + movs r3, 0xB1 + lsls r3, 2 + adds r0, r2, r3 + movs r1, 0 + strh r1, [r0] + adds r3, 0x88 + adds r0, r2, r3 + strh r1, [r0] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080378FC: .4byte gUnknown_203B35C + thumb_func_end sub_8037810 + + thumb_func_start sub_8037900 +sub_8037900: + push {r4,lr} + sub sp, 0x10 + ldr r4, _08037928 + ldr r0, [r4] + movs r1, 0xAE + lsls r1, 1 + adds r0, r1 + movs r1, 0 + bl sub_8035CC0 + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0xA + bls _0803791E + b _08037A14 +_0803791E: + lsls r0, 2 + ldr r1, _0803792C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037928: .4byte gUnknown_203B35C +_0803792C: .4byte _08037930 + .align 2, 0 +_08037930: + .4byte _0803795C + .4byte _0803795C + .4byte _0803797C + .4byte _0803797C + .4byte _0803799C + .4byte _0803799C + .4byte _080379BC + .4byte _080379BC + .4byte _08037A14 + .4byte _080379F0 + .4byte _080379F0 +_0803795C: + ldr r0, _08037970 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x1C + movs r2, 0xAE + lsls r2, 1 + adds r1, r2 + ldr r3, _08037974 + ldr r2, _08037978 + b _080379CE + .align 2, 0 +_08037970: .4byte gUnknown_203B35C +_08037974: .4byte gUnknown_80E6554 +_08037978: .4byte gUnknown_80E656C +_0803797C: + ldr r0, _08037990 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x1C + movs r2, 0xAE + lsls r2, 1 + adds r1, r2 + ldr r3, _08037994 + ldr r2, _08037998 + b _080379CE + .align 2, 0 +_08037990: .4byte gUnknown_203B35C +_08037994: .4byte gUnknown_80E6554 +_08037998: .4byte gUnknown_80E65D8 +_0803799C: + ldr r0, _080379B0 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x1C + movs r2, 0xAE + lsls r2, 1 + adds r1, r2 + ldr r3, _080379B4 + ldr r2, _080379B8 + b _080379CE + .align 2, 0 +_080379B0: .4byte gUnknown_203B35C +_080379B4: .4byte gUnknown_80E6554 +_080379B8: .4byte gUnknown_80E661C +_080379BC: + ldr r0, _080379E4 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x1C + movs r2, 0xAE + lsls r2, 1 + adds r1, r2 + ldr r3, _080379E8 + ldr r2, _080379EC +_080379CE: + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + b _08037A14 + .align 2, 0 +_080379E4: .4byte gUnknown_203B35C +_080379E8: .4byte gUnknown_80E6554 +_080379EC: .4byte gUnknown_80E665C +_080379F0: + ldr r0, _08037A38 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x1C + movs r2, 0xAE + lsls r2, 1 + adds r1, r2 + ldr r3, _08037A3C + ldr r2, _08037A40 + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_08037A14: + ldr r4, _08037A38 + ldr r0, [r4] + adds r0, 0x1C + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + bl sub_80373C4 + ldr r0, [r4] + adds r0, 0x1C + bl sub_80130A8 + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08037A38: .4byte gUnknown_203B35C +_08037A3C: .4byte gUnknown_80E6554 +_08037A40: .4byte gUnknown_80E667C + thumb_func_end sub_8037900 + + thumb_func_start nullsub_202 +nullsub_202: + bx lr + thumb_func_end nullsub_202 + + thumb_func_start sub_8037A48 +sub_8037A48: + push {r4-r6,lr} + sub sp, 0x28 + movs r6, 0x1 + movs r0, 0 + mov r1, sp + movs r2, 0x14 + bl sub_800D670 + add r4, sp, 0x14 + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0x14 + bl sub_800D670 + ldr r1, _08037AAC + movs r3, 0x8 + adds r2, r1, 0 + adds r0, r2, 0x4 +_08037A6C: + str r3, [r0] + subs r0, 0x4 + cmp r0, r1 + bge _08037A6C + ldr r0, [sp, 0x10] + str r0, [r2] + ldr r0, [r4, 0x10] + str r0, [r2, 0x4] + ldr r5, _08037AB0 + mov r0, sp + adds r1, r5, 0 + bl strcmp + cmp r0, 0 + beq _08037A8C + movs r0, 0x1 +_08037A8C: + lsls r0, 24 + cmp r0, 0 + bne _08037AA6 + adds r0, r4, 0 + adds r1, r5, 0 + bl strcmp + cmp r0, 0 + beq _08037AA0 + movs r0, 0x1 +_08037AA0: + lsls r0, 24 + cmp r0, 0 + beq _08037AB4 +_08037AA6: + movs r0, 0 + b _08037B1E + .align 2, 0 +_08037AAC: .4byte gUnknown_202EC40 +_08037AB0: .4byte gUnknown_80E6E50 +_08037AB4: + ldr r1, [sp, 0x10] + cmp r1, 0 + bne _08037AC0 + ldr r0, [r4, 0x10] + cmp r0, 0x1 + beq _08037B1C +_08037AC0: + cmp r1, 0x1 + bne _08037ACA + ldr r0, [r4, 0x10] + cmp r0, 0 + beq _08037B1C +_08037ACA: + cmp r1, 0x2 + bne _08037AD4 + ldr r0, [r4, 0x10] + cmp r0, 0x3 + beq _08037B1C +_08037AD4: + cmp r1, 0x3 + bne _08037ADE + ldr r0, [r4, 0x10] + cmp r0, 0x2 + beq _08037B1C +_08037ADE: + cmp r1, 0x9 + bne _08037AE8 + ldr r0, [r4, 0x10] + cmp r0, 0xA + beq _08037B1C +_08037AE8: + cmp r1, 0xA + bne _08037AF2 + ldr r0, [r4, 0x10] + cmp r0, 0x9 + beq _08037B1C +_08037AF2: + cmp r1, 0x4 + bne _08037AFC + ldr r0, [r4, 0x10] + cmp r0, 0x5 + beq _08037B1C +_08037AFC: + cmp r1, 0x5 + bne _08037B06 + ldr r0, [r4, 0x10] + cmp r0, 0x4 + beq _08037B1C +_08037B06: + cmp r1, 0x6 + bne _08037B10 + ldr r0, [r4, 0x10] + cmp r0, 0x7 + beq _08037B1C +_08037B10: + cmp r1, 0x7 + bne _08037B1A + ldr r0, [r4, 0x10] + cmp r0, 0x6 + beq _08037B1C +_08037B1A: + movs r6, 0 +_08037B1C: + adds r0, r6, 0 +_08037B1E: + add sp, 0x28 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8037A48 + + thumb_func_start sub_8037B28 +sub_8037B28: + push {r4,r5,lr} + sub sp, 0x14 + adds r4, r0, 0 + movs r5, 0 + bl sub_800D414 + ldr r0, _08037B58 + str r5, [r0] + ldr r5, _08037B5C + mov r0, sp + movs r1, 0 + movs r2, 0x14 + bl MemoryFill8 + mov r0, sp + adds r1, r5, 0 + bl strcpy + str r4, [sp, 0x10] + mov r0, sp + movs r1, 0x14 + bl sub_800D59C + b _08037B7A + .align 2, 0 +_08037B58: .4byte gUnknown_202EC38 +_08037B5C: .4byte gUnknown_80E6E50 +_08037B60: + cmp r5, 0x3 + beq _08037BCC + cmp r5, 0x4 + beq _08037BD8 + cmp r5, 0x5 + beq _08037BF0 + ldr r2, _08037BC0 + ldr r1, [r2] + ldr r0, _08037BC4 + cmp r1, r0 + bgt _08037BE4 + adds r0, r1, 0x1 + str r0, [r2] +_08037B7A: + movs r4, 0 +_08037B7C: + bl sub_80373C4 + bl sub_8012AE8 + cmp r0, 0x3 + bgt _08037B8C + cmp r0, 0x2 + bge _08037BF0 +_08037B8C: + adds r4, 0x1 + cmp r4, 0 + ble _08037B7C + bl sub_800D33C + adds r5, r0, 0 + bl sub_800D570 + cmp r5, 0x2 + bne _08037B60 + bl sub_800D600 + lsls r0, 24 + cmp r0, 0 + beq _08037BFC + bl sub_8037A48 + lsls r0, 24 + cmp r0, 0 + bne _08037BC8 + movs r4, 0x4 + bl sub_800D520 + bl sub_800D510 + b _08037C06 + .align 2, 0 +_08037BC0: .4byte gUnknown_202EC38 +_08037BC4: .4byte 0x00000707 +_08037BC8: + movs r4, 0 + b _08037C06 +_08037BCC: + bl sub_800D520 + bl sub_800D510 + movs r0, 0x2 + b _08037C08 +_08037BD8: + bl sub_800D520 + bl sub_800D510 + movs r0, 0x3 + b _08037C08 +_08037BE4: + bl sub_800D520 + bl sub_800D510 + movs r0, 0xF + b _08037C08 +_08037BF0: + bl sub_800D520 + bl sub_800D510 + movs r0, 0x1 + b _08037C08 +_08037BFC: + movs r4, 0x5 + bl sub_800D520 + bl sub_800D510 +_08037C06: + adds r0, r4, 0 +_08037C08: + add sp, 0x14 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8037B28 + + thumb_func_start sub_8037C10 +sub_8037C10: + push {lr} + lsls r0, 24 + cmp r0, 0 + beq _08037C24 + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + bne _08037C38 + b _08037C2E +_08037C24: + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + beq _08037C38 +_08037C2E: + ldr r0, _08037C34 + ldr r0, [r0, 0x4] + b _08037C3C + .align 2, 0 +_08037C34: .4byte gUnknown_202EC40 +_08037C38: + ldr r0, _08037C40 + ldr r0, [r0] +_08037C3C: + pop {r1} + bx r1 + .align 2, 0 +_08037C40: .4byte gUnknown_202EC40 + thumb_func_end sub_8037C10 + + thumb_func_start sub_8037C44 +sub_8037C44: + push {r4-r6,lr} + adds r6, r0, 0 + adds r5, r1, 0 + movs r4, 0 +_08037C4C: + adds r0, r4, 0 + bl sub_800D68C + adds r4, 0x1 + cmp r4, 0x1 + ble _08037C4C + cmp r6, 0xA + bhi _08037CBE + lsls r0, r6, 2 + ldr r1, _08037C68 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037C68: .4byte _08037C6C + .align 2, 0 +_08037C6C: + .4byte _08037C98 + .4byte _08037C98 + .4byte _08037CA2 + .4byte _08037CA2 + .4byte _08037CAC + .4byte _08037CAC + .4byte _08037CA2 + .4byte _08037CA2 + .4byte _08037CBE + .4byte _08037CB6 + .4byte _08037CB6 +_08037C98: + adds r0, r5, 0 + movs r1, 0x8 + bl sub_800D59C + b _08037CBE +_08037CA2: + adds r0, r5, 0 + movs r1, 0x30 + bl sub_800D59C + b _08037CBE +_08037CAC: + adds r0, r5, 0 + movs r1, 0x88 + bl sub_800D59C + b _08037CBE +_08037CB6: + adds r0, r5, 0 + movs r1, 0xB4 + bl sub_800D59C +_08037CBE: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8037C44 + + thumb_func_start sub_8037CC4 +sub_8037CC4: + push {r4,lr} + adds r3, r1, 0 + adds r4, r2, 0 + cmp r0, 0xA + bhi _08037D5E + lsls r0, 2 + ldr r1, _08037CD8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037CD8: .4byte _08037CDC + .align 2, 0 +_08037CDC: + .4byte _08037D08 + .4byte _08037D08 + .4byte _08037D1E + .4byte _08037D1E + .4byte _08037D34 + .4byte _08037D34 + .4byte _08037D1E + .4byte _08037D1E + .4byte _08037D5E + .4byte _08037D4A + .4byte _08037D4A +_08037D08: + movs r0, 0 + adds r1, r3, 0 + movs r2, 0x8 + bl sub_800D670 + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0x8 + bl sub_800D670 + b _08037D5E +_08037D1E: + movs r0, 0 + adds r1, r3, 0 + movs r2, 0x30 + bl sub_800D670 + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0x30 + bl sub_800D670 + b _08037D5E +_08037D34: + movs r0, 0 + adds r1, r3, 0 + movs r2, 0x88 + bl sub_800D670 + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0x88 + bl sub_800D670 + b _08037D5E +_08037D4A: + movs r0, 0 + adds r1, r3, 0 + movs r2, 0xB4 + bl sub_800D670 + movs r0, 0x1 + adds r1, r4, 0 + movs r2, 0xB4 + bl sub_800D670 +_08037D5E: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8037CC4 + + thumb_func_start sub_8037D64 +sub_8037D64: + push {r4-r7,lr} + adds r5, r0, 0 + adds r6, r1, 0 + adds r7, r2, 0 + movs r4, 0 + ldr r0, _08037D80 + str r4, [r0] + bl sub_800D494 + adds r0, r5, 0 + adds r1, r6, 0 + bl sub_8037C44 + b _08037D96 + .align 2, 0 +_08037D80: .4byte gUnknown_202EC48 +_08037D84: + subs r0, r4, 0x3 + cmp r0, 0x2 + bls _08037DBC + ldr r1, _08037DB8 + ldr r0, [r1] + cmp r0, 0x63 + bgt _08037DC8 + adds r0, 0x1 + str r0, [r1] +_08037D96: + bl sub_80373C4 + bl sub_800D33C + adds r4, r0, 0 + bl sub_800D570 + cmp r4, 0x2 + bne _08037D84 + bl sub_800D600 + lsls r0, 24 + cmp r0, 0 + beq _08037DD4 + movs r4, 0 + b _08037DDE + .align 2, 0 +_08037DB8: .4byte gUnknown_202EC48 +_08037DBC: + bl sub_800D520 + bl sub_800D510 + movs r0, 0x1 + b _08037DEA +_08037DC8: + bl sub_800D520 + bl sub_800D510 + movs r0, 0xF + b _08037DEA +_08037DD4: + bl sub_800D520 + bl sub_800D510 + movs r4, 0x5 +_08037DDE: + adds r0, r5, 0 + adds r1, r6, 0 + adds r2, r7, 0 + bl sub_8037CC4 + adds r0, r4, 0 +_08037DEA: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8037D64 + + thumb_func_start sub_8037DF0 +sub_8037DF0: + push {r4,lr} + sub sp, 0x8 + movs r4, 0 + movs r0, 0 + mov r1, sp + movs r2, 0x4 + bl sub_800D670 + add r1, sp, 0x4 + movs r0, 0x1 + movs r2, 0x4 + bl sub_800D670 + ldr r0, [sp] + cmp r0, 0 + bne _08037E16 + ldr r0, [sp, 0x4] + cmp r0, 0 + beq _08037E2C +_08037E16: + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + bne _08037E24 + ldr r4, [sp, 0x4] + b _08037E26 +_08037E24: + ldr r4, [sp] +_08037E26: + cmp r4, 0 + bne _08037E2C + movs r4, 0xE +_08037E2C: + adds r0, r4, 0 + add sp, 0x8 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8037DF0 + + thumb_func_start sub_8037E38 +sub_8037E38: + push {r4-r6,lr} + adds r6, r0, 0 + adds r5, r1, 0 + bl sub_800D588 + lsls r0, 24 + adds r4, r6, 0 + cmp r0, 0 + bne _08037E4C + adds r4, r5, 0 +_08037E4C: + bl sub_800D588 + lsls r0, 24 + adds r3, r5, 0 + cmp r0, 0 + bne _08037E5A + adds r3, r6, 0 +_08037E5A: + ldrb r0, [r4] + ldrb r1, [r3] + cmp r0, r1 + bne _08037E70 + ldr r0, _08037E6C + ldr r1, [r0] + ldrb r0, [r4] + b _08037E76 + .align 2, 0 +_08037E6C: .4byte gUnknown_203B460 +_08037E70: + ldr r0, _08037E8C + ldr r1, [r0] + ldrb r0, [r3] +_08037E76: + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r2, [r1] + ldr r0, [r3, 0x4] + adds r2, r0 + strh r2, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08037E8C: .4byte gUnknown_203B460 + thumb_func_end sub_8037E38 + + thumb_func_start sub_8037E90 +sub_8037E90: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + bne _08037EA2 + adds r4, r5, 0 +_08037EA2: + movs r0, 0x2 + strb r0, [r4] + adds r0, r4, 0 + bl sub_80951BC + ldr r0, [r4, 0x10] + bl sub_8095274 + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8037E90 + + thumb_func_start nullsub_53 +nullsub_53: + bx lr + thumb_func_end nullsub_53 + + thumb_func_start sub_8037EBC +sub_8037EBC: + push {r4-r6,lr} + adds r6, r0, 0 + adds r4, r1, 0 + bl sub_800D588 + lsls r0, 24 + adds r5, r4, 0 + cmp r0, 0 + bne _08037ED0 + adds r5, r6, 0 +_08037ED0: + ldr r1, [r5, 0x10] + movs r0, 0x1 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + adds r4, r0, 0 + adds r1, r4, 0 + adds r0, r5, 0 + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + ldm r0!, {r2,r3,r6} + stm r1!, {r2,r3,r6} + movs r0, 0x5 + strb r0, [r4] + adds r0, r4, 0 + bl sub_80951FC + movs r0, 0x7 + strb r0, [r4] + movs r0, 0x38 + ldrsh r6, [r5, r0] + cmp r6, 0 + beq _08037F30 + ldr r4, _08037F2C + ldr r0, [r4] + ldr r1, [r5, 0x10] + stm r0!, {r1} + adds r1, r5, 0 + adds r1, 0x30 + movs r2, 0x58 + bl memcpy + ldr r1, [r4] + movs r0, 0x42 + strb r0, [r1, 0x8] + ldr r1, [r4] + movs r0, 0x1 + strb r0, [r1, 0x9] + b _08037F40 + .align 2, 0 +_08037F2C: .4byte gUnknown_203B484 +_08037F30: + ldr r4, _08037F48 + ldr r0, [r4] + movs r1, 0 + movs r2, 0x5C + bl MemoryFill8 + ldr r0, [r4] + strh r6, [r0, 0xC] +_08037F40: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08037F48: .4byte gUnknown_203B484 + thumb_func_end sub_8037EBC + + thumb_func_start sub_8037F4C +sub_8037F4C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + bne _08037F5E + adds r4, r5, 0 +_08037F5E: + ldr r1, [r4, 0x10] + movs r0, 0x4 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + adds r2, r0, 0 + adds r1, r4, 0 + 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] + bl sub_8035D4C + cmp r0, 0 + beq _08037F96 + adds r1, r0, 0 + adds r1, 0x3A + movs r0, 0x1 + strb r0, [r1] +_08037F96: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8037F4C + + thumb_func_start sub_8037F9C +sub_8037F9C: + push {lr} + adds r3, r1, 0 + cmp r0, 0xA + bhi _08038010 + lsls r0, 2 + ldr r1, _08037FB0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08037FB0: .4byte _08037FB4 + .align 2, 0 +_08037FB4: + .4byte _08037FE0 + .4byte _08037FE0 + .4byte _08038010 + .4byte _08037FF4 + .4byte _08038010 + .4byte _08037FFE + .4byte _08038010 + .4byte _08037FEA + .4byte _08038010 + .4byte _08038010 + .4byte _08038008 +_08037FE0: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8037E38 + b _08038010 +_08037FEA: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8037F4C + b _08038010 +_08037FF4: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8037E90 + b _08038010 +_08037FFE: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8037EBC + b _08038010 +_08038008: + adds r0, r3, 0 + adds r1, r2, 0 + bl nullsub_53 +_08038010: + pop {r0} + bx r0 + thumb_func_end sub_8037F9C + + thumb_func_start sub_8038014 +sub_8038014: + push {r4-r6,lr} + adds r6, r0, 0 + adds r5, r1, 0 + bl sub_800D588 + lsls r0, 24 + adds r4, r6, 0 + cmp r0, 0 + bne _08038028 + adds r4, r5, 0 +_08038028: + bl sub_800D588 + lsls r0, 24 + adds r3, r5, 0 + cmp r0, 0 + bne _08038036 + adds r3, r6, 0 +_08038036: + ldrb r0, [r4] + ldrb r1, [r3] + cmp r0, r1 + bne _0803804C + ldr r0, _08038048 + ldr r1, [r0] + ldrb r0, [r4] + b _08038052 + .align 2, 0 +_08038048: .4byte gUnknown_203B460 +_0803804C: + ldr r0, _08038070 + ldr r1, [r0] + ldrb r0, [r3] +_08038052: + lsls r0, 1 + adds r1, 0x50 + adds r1, r0 + ldrh r2, [r1] + ldr r0, [r3, 0x4] + adds r2, r0 + ldr r0, _08038074 + movs r1, 0 + cmp r2, r0 + ble _08038068 + movs r1, 0x6 +_08038068: + adds r0, r1, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08038070: .4byte gUnknown_203B460 +_08038074: .4byte 0x000003e7 + thumb_func_end sub_8038014 + + thumb_func_start sub_8038078 +sub_8038078: + push {r4-r6,lr} + adds r5, r0, 0 + adds r4, r1, 0 + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + bne _0803808A + adds r4, r5, 0 +_0803808A: + ldr r6, [r4, 0x10] + ldr r0, _08038098 + ldr r0, [r0] + cmp r0, 0 + beq _0803809C + ldr r5, [r0, 0x50] + b _080380A2 + .align 2, 0 +_08038098: .4byte gUnknown_203B184 +_0803809C: + bl sub_8011C34 + adds r5, r0, 0 +_080380A2: + movs r0, 0x4 + adds r1, r6, 0 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + beq _080380BA + ldr r0, [r4, 0x28] + cmp r0, r5 + bne _080380BA + movs r0, 0 + b _080380BC +_080380BA: + movs r0, 0xB +_080380BC: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8038078 + + thumb_func_start sub_80380C4 +sub_80380C4: + push {r4-r6,lr} + adds r6, r0, 0 + adds r4, r1, 0 + bl sub_800D588 + lsls r0, 24 + adds r5, r4, 0 + cmp r0, 0 + bne _080380D8 + adds r5, r6, 0 +_080380D8: + ldr r4, [r5, 0x10] + movs r0, 0x2 + adds r1, r4, 0 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08038110 + movs r0, 0x4 + adds r1, r4, 0 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08038110 + movs r0, 0x6 + adds r1, r4, 0 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08038110 + ldr r0, [r5, 0x10] + bl sub_8095298 + lsls r0, 24 + cmp r0, 0 + beq _08038114 +_08038110: + movs r0, 0x7 + b _08038126 +_08038114: + bl sub_8095190 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + beq _08038124 + movs r0, 0 + b _08038126 +_08038124: + movs r0, 0xD +_08038126: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80380C4 + + thumb_func_start sub_803812C +sub_803812C: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + bne _0803813E + adds r4, r5, 0 +_0803813E: + ldr r1, [r4, 0x10] + movs r0, 0x1 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08038150 + movs r0, 0x9 + b _08038152 +_08038150: + movs r0, 0 +_08038152: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_803812C + + thumb_func_start sub_8038158 +sub_8038158: + movs r0, 0 + bx lr + thumb_func_end sub_8038158 + + thumb_func_start sub_803815C +sub_803815C: + push {r4,lr} + adds r3, r1, 0 + movs r4, 0 + cmp r0, 0xA + bhi _080381D2 + lsls r0, 2 + ldr r1, _08038170 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08038170: .4byte _08038174 + .align 2, 0 +_08038174: + .4byte _080381A0 + .4byte _080381A0 + .4byte _080381D2 + .4byte _080381B4 + .4byte _080381D2 + .4byte _080381BE + .4byte _080381D2 + .4byte _080381AA + .4byte _080381D2 + .4byte _080381D2 + .4byte _080381C8 +_080381A0: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8038014 + b _080381D0 +_080381AA: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8038078 + b _080381D0 +_080381B4: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_80380C4 + b _080381D0 +_080381BE: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_803812C + b _080381D0 +_080381C8: + adds r0, r3, 0 + adds r1, r2, 0 + bl sub_8038158 +_080381D0: + adds r4, r0, 0 +_080381D2: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_803815C + + thumb_func_start sub_80381DC +sub_80381DC: + push {lr} + bl sub_8037F9C + pop {r0} + bx r0 + thumb_func_end sub_80381DC + + thumb_func_start sub_80381E8 +sub_80381E8: + push {lr} + bl sub_803815C + pop {r1} + bx r1 + thumb_func_end sub_80381E8 + + thumb_func_start sub_80381F4 +sub_80381F4: + push {r4-r7,lr} + sub sp, 0x4 + adds r5, r0, 0 + adds r6, r1, 0 + adds r7, r2, 0 + movs r4, 0 + bl sub_803815C + str r0, [sp] + ldr r0, _08038218 + str r4, [r0] + bl sub_800D494 + mov r0, sp + movs r1, 0x4 + bl sub_800D59C + b _0803822E + .align 2, 0 +_08038218: .4byte gUnknown_202EC4C +_0803821C: + subs r0, r4, 0x3 + cmp r0, 0x2 + bls _08038272 + ldr r1, _08038250 + ldr r0, [r1] + cmp r0, 0x63 + bgt _0803827E + adds r0, 0x1 + str r0, [r1] +_0803822E: + bl sub_80373C4 + bl sub_800D33C + adds r4, r0, 0 + bl sub_800D570 + cmp r4, 0x2 + bne _0803821C + bl sub_800D600 + lsls r0, 24 + cmp r0, 0 + beq _08038254 + bl sub_8037DF0 + b _0803825E + .align 2, 0 +_08038250: .4byte gUnknown_202EC4C +_08038254: + bl sub_800D520 + bl sub_800D510 + movs r0, 0x5 +_0803825E: + str r0, [sp] + ldr r0, [sp] + cmp r0, 0 + bne _0803828A + adds r0, r5, 0 + adds r1, r6, 0 + adds r2, r7, 0 + bl sub_8037F9C + b _08038292 +_08038272: + bl sub_800D520 + bl sub_800D510 + movs r0, 0x1 + b _08038298 +_0803827E: + bl sub_800D520 + bl sub_800D510 + movs r0, 0xF + b _08038298 +_0803828A: + bl sub_800D520 + bl sub_800D510 +_08038292: + bl sub_800D520 + ldr r0, [sp] +_08038298: + add sp, 0x4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80381F4 + + thumb_func_start CreateAdventureLogMenu +CreateAdventureLogMenu: + push {lr} + movs r0, 0 + bl CreateAdventureLogScreen + pop {r0} + bx r0 + thumb_func_end CreateAdventureLogMenu + + thumb_func_start CleanAdventureLogMenu +CleanAdventureLogMenu: + push {lr} + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + pop {r0} + bx r0 + thumb_func_end CleanAdventureLogMenu + + thumb_func_start UpdateAdventureLogMenu +UpdateAdventureLogMenu: + push {r4,lr} + ldr r4, _080382E0 + movs r0, 0x1 + bl HandleAdventureLogInput + cmp r0, 0x1 + bls _080382D8 + cmp r0, 0x3 + bhi _080382D8 + bl sub_803203C + movs r4, 0x1 +_080382D8: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080382E0: .4byte 0x0000ffdc + thumb_func_end UpdateAdventureLogMenu + + thumb_func_start sub_80382E4 +sub_80382E4: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x10 + mov r8, r0 + ldr r5, _08038398 + ldr r0, [r5] + cmp r0, 0 + bne _0803830E + movs r4, 0xDA + lsls r4, 1 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_0803830E: + mov r12, r5 + movs r0, 0xA4 + lsls r0, 1 + mov r9, r0 + ldr r4, _0803839C + movs r3, 0 + movs r2, 0x3 +_0803831C: + mov r5, r12 + ldr r1, [r5] + adds r1, r3 + add r1, r9 + 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 _0803831C + bl ResetUnusedInputStruct + ldr r5, _08038398 + ldr r0, [r5] + movs r6, 0xA4 + lsls r6, 1 + adds r0, r6 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + mov r7, r8 + cmp r7, 0x25 + bne _08038370 + ldr r1, [r5] + adds r0, r1, 0 + adds r0, 0x8 + adds r1, r6 + ldr r3, _080383A0 + ldr r2, _080383A4 + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0x4 + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_08038370: + ldr r0, [r5] + adds r0, 0x8 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + ldr r1, [r5] + mov r0, r8 + str r0, [r1] + movs r0, 0 + str r0, [r1, 0x4] + bl sub_8038440 + add sp, 0x10 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08038398: .4byte gUnknown_203B360 +_0803839C: .4byte gUnknown_80E6E7C +_080383A0: .4byte gUnknown_80E6E94 +_080383A4: .4byte gUnknown_80E6EAC + thumb_func_end sub_80382E4 + + thumb_func_start sub_80383A8 +sub_80383A8: + push {r4,lr} + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _080383D0 + ldr r0, [r4] + cmp r0, 0 + beq _080383C8 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_080383C8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080383D0: .4byte gUnknown_203B360 + thumb_func_end sub_80383A8 + + thumb_func_start sub_80383D4 +sub_80383D4: + push {r4-r6,lr} + sub sp, 0x4 + movs r0, 0x2 + str r0, [sp] + ldr r6, _08038410 + ldr r4, _08038414 + ldr r0, [r4] + ldr r5, [r0, 0x4] + cmp r5, 0 + bne _08038434 + adds r0, 0x8 + bl sub_80130A8 + lsls r0, 24 + cmp r0, 0 + bne _080383FE + ldr r0, [r4] + adds r0, 0x8 + mov r1, sp + bl sub_8013114 +_080383FE: + ldr r0, [sp] + cmp r0, 0x2 + beq _0803842C + cmp r0, 0x2 + bhi _08038418 + cmp r0, 0x1 + beq _0803841C + b _08038430 + .align 2, 0 +_08038410: .4byte 0x0000ffdc +_08038414: .4byte gUnknown_203B360 +_08038418: + cmp r0, 0x3 + bne _08038430 +_0803841C: + ldr r0, _08038428 + ldr r1, [r0] + movs r0, 0 + str r0, [r1, 0x4] + movs r6, 0x1 + b _08038430 + .align 2, 0 +_08038428: .4byte gUnknown_203B360 +_0803842C: + ldr r0, [r4] + str r5, [r0, 0x4] +_08038430: + bl sub_80384D0 +_08038434: + adds r0, r6, 0 + add sp, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_80383D4 + + thumb_func_start sub_8038440 +sub_8038440: + push {r4,r5,lr} + movs r5, 0 + ldr r0, _080384B0 + ldr r0, [r0] + mov r12, r0 + movs r3, 0xD4 + lsls r3, 1 + add r3, r12 + ldrh r1, [r3] + ldr r0, _080384B4 + ands r0, r1 + ldr r1, _080384B8 + ands r0, r1 + ldr r4, _080384BC + ands r0, r4 + ldr r1, _080384C0 + ands r0, r1 + ldr r1, _080384C4 + ands r0, r1 + movs r2, 0x80 + lsls r2, 7 + ldr r1, _080384C8 + ands r0, r1 + orrs r0, r2 + strh r0, [r3] + movs r2, 0xFC + lsls r2, 2 + ldrh r1, [r3, 0x4] + movs r0, 0xFC + lsls r0, 8 + ands r0, r1 + orrs r0, r2 + ands r0, r4 + movs r2, 0xF + movs r4, 0xF0 + lsls r4, 8 + ldr r1, _080384CC + ands r0, r1 + orrs r0, r4 + strh r0, [r3, 0x4] + movs r0, 0x70 + strh r0, [r3, 0x2] + movs r1, 0xE0 + lsls r1, 3 + ldrh r0, [r3, 0x6] + ands r2, r0 + orrs r2, r1 + strh r2, [r3, 0x6] + movs r0, 0xD8 + lsls r0, 1 + add r0, r12 + str r5, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080384B0: .4byte gUnknown_203B360 +_080384B4: .4byte 0x0000feff +_080384B8: .4byte 0x0000fdff +_080384BC: .4byte 0x0000f3ff +_080384C0: .4byte 0x0000efff +_080384C4: .4byte 0x0000dfff +_080384C8: .4byte 0x00003fff +_080384CC: .4byte 0x00000fff + thumb_func_end sub_8038440 + + thumb_func_start sub_80384D0 +sub_80384D0: + push {r4,r5,lr} + ldr r5, _08038508 + ldr r2, [r5] + movs r4, 0xD8 + lsls r4, 1 + adds r0, r2, r4 + ldr r0, [r0] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _080384F6 + movs r1, 0xD4 + lsls r1, 1 + adds r0, r2, r1 + subs r1, 0xA8 + movs r2, 0 + movs r3, 0 + bl AddSprite +_080384F6: + ldr r1, [r5] + adds r1, r4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08038508: .4byte gUnknown_203B360 + thumb_func_end sub_80384D0 + + thumb_func_start sub_803850C +sub_803850C: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x10 + mov r8, r0 + ldr r5, _0803859C + ldr r0, [r5] + cmp r0, 0 + bne _08038536 + movs r4, 0xDA + lsls r4, 1 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_08038536: + mov r12, r5 + movs r0, 0xA4 + lsls r0, 1 + mov r9, r0 + ldr r4, _080385A0 + movs r3, 0 + movs r2, 0x3 +_08038544: + mov r5, r12 + ldr r1, [r5] + adds r1, r3 + add r1, r9 + 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 _08038544 + bl ResetUnusedInputStruct + ldr r4, _0803859C + ldr r0, [r4] + movs r6, 0xA4 + lsls r6, 1 + adds r0, r6 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + mov r7, r8 + cmp r7, 0x2E + bne _080385AC + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x8 + adds r1, r6 + ldr r3, _080385A4 + ldr r2, _080385A8 + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + b _080385CE + .align 2, 0 +_0803859C: .4byte gUnknown_203B364 +_080385A0: .4byte gUnknown_80E6F20 +_080385A4: .4byte gUnknown_80E6F38 +_080385A8: .4byte gUnknown_80E7090 +_080385AC: + ldr r1, [r4] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _080385F8 + ldr r2, _080385FC + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_080385CE: + ldr r4, _08038600 + ldr r0, [r4] + adds r0, 0x8 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + ldr r1, [r4] + movs r0, 0 + str r0, [r1, 0x4] + mov r5, r8 + str r5, [r1] + bl sub_8038830 + add sp, 0x10 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080385F8: .4byte gUnknown_80E6F38 +_080385FC: .4byte gUnknown_80E6F50 +_08038600: .4byte gUnknown_203B364 + thumb_func_end sub_803850C + + thumb_func_start sub_8038604 +sub_8038604: + push {r4,lr} + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _0803862C + ldr r0, [r4] + cmp r0, 0 + beq _08038624 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08038624: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0803862C: .4byte gUnknown_203B364 + thumb_func_end sub_8038604 + + thumb_func_start sub_8038630 +sub_8038630: + push {r4-r6,lr} + sub sp, 0x18 + ldr r5, _080386A8 + movs r0, 0x3 + str r0, [sp, 0x14] + ldr r6, _080386AC + ldr r0, [r6] + ldr r4, [r0, 0x4] + cmp r4, 0x1 + bne _08038646 + b _08038798 +_08038646: + cmp r4, 0x1 + bcc _0803864C + b _08038824 +_0803864C: + adds r0, 0x8 + bl sub_8012FD8 + movs r5, 0 + str r5, [sp, 0x10] + bl sub_80140F8 + bl sub_8011C1C + adds r1, r0, 0 + add r0, sp, 0x10 + bl sub_801203C + adds r4, r0, 0 + bl sub_8014114 + cmp r4, 0 + beq _080386B8 + cmp r4, 0x1 + beq _08038738 + ldr r0, [r6] + movs r4, 0xA4 + lsls r4, 1 + adds r0, r4 + movs r1, 0 + bl sub_8035CC0 + ldr r1, [r6] + ldr r0, [r1] + cmp r0, 0x2E + bne _08038750 + adds r0, r1, 0 + adds r0, 0x8 + adds r1, r4 + ldr r3, _080386B0 + ldr r2, _080386B4 + str r2, [sp] + str r5, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r5, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + b _0803876E + .align 2, 0 +_080386A8: .4byte 0x0000ffdc +_080386AC: .4byte gUnknown_203B364 +_080386B0: .4byte gUnknown_80E6F38 +_080386B4: .4byte gUnknown_80E7114 +_080386B8: + ldr r0, [r6] + movs r1, 0xA4 + lsls r1, 1 + adds r0, r1 + movs r1, 0 + bl sub_8035CC0 + ldr r1, [r6] + ldr r0, [r1] + cmp r0, 0x2E + bne _080386F8 + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _080386F0 + ldr r2, _080386F4 + str r2, [sp] + str r5, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r5, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + b _08038716 + .align 2, 0 +_080386F0: .4byte gUnknown_80E6F38 +_080386F4: .4byte gUnknown_80E70CC +_080386F8: + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038728 + ldr r2, _0803872C + str r2, [sp] + str r5, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r5, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_08038716: + ldr r4, _08038730 + ldr r1, [r4] + ldr r0, [r1] + cmp r0, 0x2D + bne _08038734 + movs r0, 0x1 + str r0, [r1, 0x4] + movs r0, 0x13 + b _08038826 + .align 2, 0 +_08038728: .4byte gUnknown_80E6F38 +_0803872C: .4byte gUnknown_80E6FBC +_08038730: .4byte gUnknown_203B364 +_08038734: + adds r0, r1, 0 + b _08038772 +_08038738: + ldr r0, _0803874C + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_80141B4 + ldr r1, [r6] + movs r0, 0x5 + b _08038780 + .align 2, 0 +_0803874C: .4byte gUnknown_80E7178 +_08038750: + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038788 + ldr r2, _0803878C + str r2, [sp] + str r5, [sp, 0x4] + movs r2, 0x6 + str r2, [sp, 0x8] + str r5, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_0803876E: + ldr r4, _08038790 + ldr r0, [r4] +_08038772: + adds r0, 0x8 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + ldr r1, [r4] + movs r0, 0x1 +_08038780: + str r0, [r1, 0x4] + ldr r5, _08038794 + b _08038824 + .align 2, 0 +_08038788: .4byte gUnknown_80E6F38 +_0803878C: .4byte gUnknown_80E701C +_08038790: .4byte gUnknown_203B364 +_08038794: .4byte 0x0000ffdc +_08038798: + adds r0, 0x8 + bl sub_80130A8 + lsls r0, 24 + cmp r0, 0 + bne _080387AE + ldr r0, [r6] + adds r0, 0x8 + add r1, sp, 0x14 + bl sub_8013114 +_080387AE: + ldr r0, [sp, 0x14] + cmp r0, 0x3 + beq _0803881C + cmp r0, 0x3 + bhi _080387BE + cmp r0, 0x2 + beq _080387C2 + b _08038820 +_080387BE: + cmp r0, 0x4 + bne _08038820 +_080387C2: + ldr r4, _080387D8 + ldr r1, [r4] + ldr r0, [r1] + cmp r0, 0x29 + beq _080387D0 + cmp r0, 0x2E + bne _080387DC +_080387D0: + movs r0, 0x1 + str r0, [r1, 0x4] + movs r5, 0x1 + b _08038820 + .align 2, 0 +_080387D8: .4byte gUnknown_203B364 +_080387DC: + cmp r0, 0x2D + bne _080387E8 + movs r0, 0x1 + str r0, [r1, 0x4] + movs r5, 0x13 + b _08038820 +_080387E8: + cmp r0, 0x2C + bne _080387F4 + movs r0, 0x1 + str r0, [r1, 0x4] + movs r5, 0x1F + b _08038820 +_080387F4: + bl sub_8035D4C + adds r0, 0x3A + ldrb r0, [r0] + cmp r0, 0 + beq _0803880A + ldr r1, [r4] + movs r0, 0x1 + str r0, [r1, 0x4] + movs r5, 0x35 + b _08038820 +_0803880A: + ldr r0, [r4] + movs r1, 0x1 + str r1, [r0, 0x4] + ldr r0, [r0] + movs r5, 0xB + cmp r0, 0x2B + bne _08038820 + movs r5, 0xD + b _08038820 +_0803881C: + ldr r0, [r6] + str r4, [r0, 0x4] +_08038820: + bl sub_80388C4 +_08038824: + adds r0, r5, 0 +_08038826: + add sp, 0x18 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8038630 + + thumb_func_start sub_8038830 +sub_8038830: + push {r4,r5,lr} + movs r5, 0 + ldr r0, _080388A4 + ldr r0, [r0] + mov r12, r0 + movs r3, 0xD4 + lsls r3, 1 + add r3, r12 + ldrh r1, [r3] + ldr r0, _080388A8 + ands r0, r1 + ldr r1, _080388AC + ands r0, r1 + ldr r4, _080388B0 + ands r0, r4 + ldr r1, _080388B4 + ands r0, r1 + ldr r1, _080388B8 + ands r0, r1 + movs r2, 0x80 + lsls r2, 7 + ldr r1, _080388BC + ands r0, r1 + orrs r0, r2 + strh r0, [r3] + movs r2, 0xFC + lsls r2, 2 + ldrh r1, [r3, 0x4] + movs r0, 0xFC + lsls r0, 8 + ands r0, r1 + orrs r0, r2 + ands r0, r4 + movs r2, 0xF + movs r4, 0xF0 + lsls r4, 8 + ldr r1, _080388C0 + ands r0, r1 + orrs r0, r4 + strh r0, [r3, 0x4] + movs r0, 0x70 + strh r0, [r3, 0x2] + movs r1, 0xD0 + lsls r1, 3 + ldrh r0, [r3, 0x6] + ands r2, r0 + orrs r2, r1 + strh r2, [r3, 0x6] + movs r0, 0xD8 + lsls r0, 1 + add r0, r12 + str r5, [r0] + movs r0, 0 + bl ResetSprites + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080388A4: .4byte gUnknown_203B364 +_080388A8: .4byte 0x0000feff +_080388AC: .4byte 0x0000fdff +_080388B0: .4byte 0x0000f3ff +_080388B4: .4byte 0x0000efff +_080388B8: .4byte 0x0000dfff +_080388BC: .4byte 0x00003fff +_080388C0: .4byte 0x00000fff + thumb_func_end sub_8038830 + + thumb_func_start sub_80388C4 +sub_80388C4: + push {r4,r5,lr} + ldr r5, _080388FC + ldr r2, [r5] + movs r4, 0xD8 + lsls r4, 1 + adds r0, r2, r4 + ldr r0, [r0] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _080388EA + movs r1, 0xD4 + lsls r1, 1 + adds r0, r2, r1 + subs r1, 0xA8 + movs r2, 0 + movs r3, 0 + bl AddSprite +_080388EA: + ldr r1, [r5] + adds r1, r4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080388FC: .4byte gUnknown_203B364 + thumb_func_end sub_80388C4 + + thumb_func_start CreateRescuePasswordMenu +CreateRescuePasswordMenu: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + adds r6, r0, 0 + ldr r5, _080389B8 + ldr r0, [r5] + cmp r0, 0 + bne _0803892A + movs r4, 0x85 + lsls r4, 2 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_0803892A: + movs r0, 0x1B + negs r0, r0 + adds r0, r6 + mov r8, r0 + mov r12, r5 + movs r1, 0xA4 + lsls r1, 1 + mov r9, r1 + ldr r4, _080389BC + mov r10, r4 + movs r3, 0 + movs r2, 0x3 +_08038942: + mov r5, r12 + ldr r1, [r5] + adds r1, r3 + add r1, r9 + mov r0, r10 + ldm r0!, {r4,r5,r7} + stm r1!, {r4,r5,r7} + ldm r0!, {r4,r5,r7} + stm r1!, {r4,r5,r7} + adds r3, 0x18 + subs r2, 0x1 + cmp r2, 0 + bge _08038942 + bl ResetUnusedInputStruct + ldr r4, _080389B8 + ldr r0, [r4] + movs r7, 0xA4 + lsls r7, 1 + adds r0, r7 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r2, _080389C0 + ldrb r0, [r2] + cmp r0, 0 + bne _08038986 + ldr r0, _080389C4 + ldr r1, [r0] + adds r7, r4, 0 + adds r5, r0, 0 + cmp r1, r6 + beq _080389A0 +_08038986: + adds r7, r4, 0 + adds r3, r2, 0 + ldr r5, _080389C4 + ldr r1, _080389C8 + movs r2, 0 + adds r0, r1, 0 + adds r0, 0x35 +_08038994: + strb r2, [r0] + subs r0, 0x1 + cmp r0, r1 + bge _08038994 + movs r0, 0 + strb r0, [r3] +_080389A0: + ldr r0, [r7] + str r6, [r0] + str r6, [r5] + mov r0, r8 + cmp r0, 0x7 + bhi _08038A36 + lsls r0, 2 + ldr r1, _080389CC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_080389B8: .4byte gUnknown_203B370 +_080389BC: .4byte gUnknown_80E71E4 +_080389C0: .4byte gUnknown_203B368 +_080389C4: .4byte gUnknown_203B36C +_080389C8: .4byte gUnknown_202EC50 +_080389CC: .4byte _080389D0 + .align 2, 0 +_080389D0: + .4byte _080389F0 + .4byte _080389FC + .4byte _080389F0 + .4byte _080389FC + .4byte _080389F0 + .4byte _080389FC + .4byte _08038A0C + .4byte _08038A2E +_080389F0: + bl sub_8035D74 + movs r1, 0 + bl sub_8031D70 + b _08038A36 +_080389FC: + ldr r1, _08038A08 + movs r0, 0x4 + bl sub_80151C0 + b _08038A36 + .align 2, 0 +_08038A08: .4byte gUnknown_202EC50 +_08038A0C: + movs r0, 0x1F + bl sub_8095228 + adds r4, r0, 0 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + movs r1, 0 + movs r0, 0x2 + strb r0, [r4] + adds r4, 0x22 + strb r1, [r4] + movs r0, 0x1F + bl sub_8031D70 + b _08038A36 +_08038A2E: + ldr r1, _08038A54 + movs r0, 0x4 + bl sub_80151C0 +_08038A36: + adds r0, r6, 0 + bl sub_8039000 + ldr r1, _08038A58 + ldr r1, [r1] + str r0, [r1, 0x4] + bl sub_8039174 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08038A54: .4byte gUnknown_202EC50 +_08038A58: .4byte gUnknown_203B370 + thumb_func_end CreateRescuePasswordMenu + + thumb_func_start CleanRescuePasswordMenu +CleanRescuePasswordMenu: + push {r4,lr} + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _08038A8C + ldr r0, [r4] + cmp r0, 0 + beq _08038A86 + bl sub_80155F0 + bl sub_8031E10 + ldr r0, [r4] + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08038A86: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08038A8C: .4byte gUnknown_203B370 + thumb_func_end CleanRescuePasswordMenu + + thumb_func_start UpdateRescuePasswordMenu +UpdateRescuePasswordMenu: + push {r4-r6,lr} + sub sp, 0x34 + movs r0, 0xB + str r0, [sp, 0x30] + ldr r5, _08038AB4 + ldr r1, _08038AB8 + ldr r0, [r1] + ldr r0, [r0, 0x4] + adds r6, r1, 0 + cmp r0, 0x9 + bls _08038AA8 + b _08038DB0 +_08038AA8: + lsls r0, 2 + ldr r1, _08038ABC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08038AB4: .4byte 0x0000ffdc +_08038AB8: .4byte gUnknown_203B370 +_08038ABC: .4byte _08038AC0 + .align 2, 0 +_08038AC0: + .4byte _08038AE8 + .4byte _08038AFC + .4byte _08038AE8 + .4byte _08038AFC + .4byte _08038AE8 + .4byte _08038AFC + .4byte _08038C78 + .4byte _08038C8C + .4byte _08038CC2 + .4byte _08038D38 +_08038AE8: + bl sub_8031DCC + ldr r5, _08038AF8 + cmp r0, 0 + bne _08038AF4 + b _08038DB0 +_08038AF4: + movs r5, 0xB + b _08038DB0 + .align 2, 0 +_08038AF8: .4byte 0x0000ffdc +_08038AFC: + bl sub_80154F0 + adds r4, r0, 0 + mov r0, sp + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + cmp r4, 0x1 + bne _08038B12 + b _08038CBC +_08038B12: + cmp r4, 0x1 + bcs _08038B18 + b _08038CB0 +_08038B18: + cmp r4, 0x2 + beq _08038AF4 + cmp r4, 0x3 + beq _08038B22 + b _08038DB0 +_08038B22: + ldr r0, _08038B44 + ldr r0, [r0] + ldr r0, [r0] + ldr r1, _08038B48 + mov r2, sp + bl sub_8039068 + subs r0, 0x7 + cmp r0, 0x11 + bls _08038B38 + b _08038DB0 +_08038B38: + lsls r0, 2 + ldr r1, _08038B4C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08038B44: .4byte gUnknown_203B370 +_08038B48: .4byte gUnknown_202EC50 +_08038B4C: .4byte _08038B50 + .align 2, 0 +_08038B50: + .4byte _08038BA4 + .4byte _08038DB0 + .4byte _08038BD8 + .4byte _08038DB0 + .4byte _08038C28 + .4byte _08038DB0 + .4byte _08038B9C + .4byte _08038DB0 + .4byte _08038DB0 + .4byte _08038DB0 + .4byte _08038B98 + .4byte _08038BA0 + .4byte _08038BD4 + .4byte _08038C24 + .4byte _08038DB0 + .4byte _08038BA8 + .4byte _08038BDC + .4byte _08038C2C +_08038B98: + movs r0, 0x11 + b _08038CA4 +_08038B9C: + movs r0, 0xD + b _08038CA4 +_08038BA0: + movs r0, 0x12 + b _08038CA4 +_08038BA4: + movs r0, 0x7 + b _08038CA4 +_08038BA8: + ldr r0, [sp, 0x10] + bl sub_8095274 + bl sub_8038F98 + ldr r0, _08038BCC + ldr r1, [r0] + movs r0, 0x9 + str r0, [r1, 0x4] + ldr r5, _08038BD0 + mov r1, sp + movs r0, 0x2 + strb r0, [r1] + mov r0, sp + bl sub_80951BC + b _08038DB0 + .align 2, 0 +_08038BCC: .4byte gUnknown_203B370 +_08038BD0: .4byte 0x0000ffdc +_08038BD4: + movs r0, 0x13 + b _08038CA4 +_08038BD8: + movs r0, 0x9 + b _08038CA4 +_08038BDC: + bl sub_8038F98 + ldr r0, _08038C18 + ldr r1, [r0] + movs r0, 0x9 + str r0, [r1, 0x4] + ldr r5, _08038C1C + mov r1, sp + movs r0, 0x5 + strb r0, [r1] + mov r0, sp + bl sub_80951FC + ldr r1, [sp, 0x10] + movs r0, 0x1 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + movs r1, 0x7 + strb r1, [r0] + ldr r0, _08038C20 + movs r1, 0 + movs r2, 0x5C + bl MemoryFill8 + b _08038DB0 + .align 2, 0 +_08038C18: .4byte gUnknown_203B370 +_08038C1C: .4byte 0x0000ffdc +_08038C20: .4byte gUnknown_203B484 +_08038C24: + movs r0, 0x14 + b _08038CA4 +_08038C28: + movs r0, 0xB + b _08038CA4 +_08038C2C: + bl sub_8038F98 + ldr r0, _08038C70 + ldr r1, [r0] + movs r0, 0x9 + str r0, [r1, 0x4] + ldr r5, _08038C74 + ldr r1, [sp, 0x10] + movs r0, 0x4 + bl sub_809539C + lsls r0, 24 + lsrs r0, 24 + bl sub_8095228 + adds r2, r0, 0 + mov r1, sp + ldm r1!, {r3,r4,r6} + stm r2!, {r3,r4,r6} + ldm r1!, {r3,r4,r6} + stm r2!, {r3,r4,r6} + ldm r1!, {r3,r4,r6} + stm r2!, {r3,r4,r6} + ldm r1!, {r3,r4,r6} + stm r2!, {r3,r4,r6} + movs r1, 0x6 + strb r1, [r0] + bl sub_8035D4C + adds r0, 0x3A + movs r1, 0x1 + strb r1, [r0] + b _08038DB0 + .align 2, 0 +_08038C70: .4byte gUnknown_203B370 +_08038C74: .4byte 0x0000ffdc +_08038C78: + bl sub_8031DCC + ldr r5, _08038C88 + cmp r0, 0 + bne _08038C84 + b _08038DB0 +_08038C84: + movs r5, 0xD + b _08038DB0 + .align 2, 0 +_08038C88: .4byte 0x0000ffdc +_08038C8C: + bl sub_80154F0 + cmp r0, 0x1 + beq _08038CBC + cmp r0, 0x1 + bcc _08038CB0 + cmp r0, 0x2 + beq _08038C84 + cmp r0, 0x3 + beq _08038CA2 + b _08038DB0 +_08038CA2: + movs r0, 0x15 +_08038CA4: + bl sub_8038DC0 + ldr r0, _08038CB4 + ldr r1, [r0] + movs r0, 0x8 + str r0, [r1, 0x4] +_08038CB0: + ldr r5, _08038CB8 + b _08038DB0 + .align 2, 0 +_08038CB4: .4byte gUnknown_203B370 +_08038CB8: .4byte 0x0000ffdc +_08038CBC: + bl sub_8031E00 + b _08038CB0 +_08038CC2: + ldr r0, [r6] + adds r0, 0x8 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08038CDA + ldr r0, [r6] + adds r0, 0x8 + add r1, sp, 0x30 + bl sub_8013114 +_08038CDA: + ldr r0, [sp, 0x30] + cmp r0, 0xB + beq _08038D24 + cmp r0, 0xB + bhi _08038CEA + cmp r0, 0xA + beq _08038CEE + b _08038DB0 +_08038CEA: + cmp r0, 0xC + bne _08038DB0 +_08038CEE: + bl sub_8039174 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r1, _08038D1C + movs r0, 0x4 + bl sub_80151C0 + ldr r0, _08038D20 + ldr r1, [r0] + movs r0, 0x8 + str r0, [r1, 0x4] + ldr r0, [r1] + subs r0, 0x21 + movs r5, 0xB + cmp r0, 0x1 + bhi _08038DB0 + b _08038C84 + .align 2, 0 +_08038D1C: .4byte gUnknown_202EC50 +_08038D20: .4byte gUnknown_203B370 +_08038D24: + ldr r1, [r6] + movs r0, 0x8 + str r0, [r1, 0x4] + ldr r5, _08038D34 + bl sub_80391F8 + b _08038DB0 + .align 2, 0 +_08038D34: .4byte 0x0000ffdc +_08038D38: + adds r4, r6, 0 + ldr r0, [r4] + adds r0, 0x8 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08038D52 + ldr r0, [r4] + adds r0, 0x8 + add r1, sp, 0x30 + bl sub_8013114 +_08038D52: + ldr r0, [sp, 0x30] + cmp r0, 0xB + beq _08038DA4 + cmp r0, 0xB + bhi _08038D62 + cmp r0, 0xA + beq _08038D66 + b _08038DB0 +_08038D62: + cmp r0, 0xC + bne _08038DB0 +_08038D66: + bl sub_8039174 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r1, _08038D9C + movs r0, 0x4 + bl sub_80151C0 + ldr r4, _08038DA0 + ldr r0, [r4] + ldr r0, [r0] + bl sub_8039000 + ldr r1, [r4] + str r0, [r1, 0x4] + ldr r0, [r1] + subs r0, 0x21 + movs r5, 0x2A + cmp r0, 0x1 + bhi _08038DB0 + movs r5, 0x2B + b _08038DB0 + .align 2, 0 +_08038D9C: .4byte gUnknown_202EC50 +_08038DA0: .4byte gUnknown_203B370 +_08038DA4: + ldr r1, [r6] + movs r0, 0x9 + str r0, [r1, 0x4] + ldr r5, _08038DBC + bl sub_80391F8 +_08038DB0: + adds r0, r5, 0 + add sp, 0x34 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08038DBC: .4byte 0x0000ffdc + thumb_func_end UpdateRescuePasswordMenu + + thumb_func_start sub_8038DC0 +sub_8038DC0: + push {r4,lr} + sub sp, 0x10 + adds r4, r0, 0 + ldr r0, _08038DF8 + ldr r0, [r0] + movs r1, 0xD4 + lsls r1, 1 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_80155F0 + subs r0, r4, 0x7 + cmp r0, 0xE + bls _08038DEE + b _08038F74 +_08038DEE: + lsls r0, 2 + ldr r1, _08038DFC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08038DF8: .4byte gUnknown_203B370 +_08038DFC: .4byte _08038E00 + .align 2, 0 +_08038E00: + .4byte _08038E7C + .4byte _08038F74 + .4byte _08038EDC + .4byte _08038F74 + .4byte _08038F1C + .4byte _08038F74 + .4byte _08038E9C + .4byte _08038F74 + .4byte _08038F74 + .4byte _08038F74 + .4byte _08038E3C + .4byte _08038E5C + .4byte _08038EBC + .4byte _08038EFC + .4byte _08038F50 +_08038E3C: + ldr r0, _08038E50 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038E54 + ldr r2, _08038E58 + b _08038F2E + .align 2, 0 +_08038E50: .4byte gUnknown_203B370 +_08038E54: .4byte gUnknown_80E71FC +_08038E58: .4byte gUnknown_80E7214 +_08038E5C: + ldr r0, _08038E70 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038E74 + ldr r2, _08038E78 + b _08038F2E + .align 2, 0 +_08038E70: .4byte gUnknown_203B370 +_08038E74: .4byte gUnknown_80E72EC +_08038E78: .4byte gUnknown_80E7304 +_08038E7C: + ldr r0, _08038E90 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038E94 + ldr r2, _08038E98 + b _08038F2E + .align 2, 0 +_08038E90: .4byte gUnknown_203B370 +_08038E94: .4byte gUnknown_80E7344 +_08038E98: .4byte gUnknown_80E735C +_08038E9C: + ldr r0, _08038EB0 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038EB4 + ldr r2, _08038EB8 + b _08038F2E + .align 2, 0 +_08038EB0: .4byte gUnknown_203B370 +_08038EB4: .4byte gUnknown_80E7588 +_08038EB8: .4byte gUnknown_80E75A0 +_08038EBC: + ldr r0, _08038ED0 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038ED4 + ldr r2, _08038ED8 + b _08038F2E + .align 2, 0 +_08038ED0: .4byte gUnknown_203B370 +_08038ED4: .4byte gUnknown_80E73AC +_08038ED8: .4byte gUnknown_80E73C4 +_08038EDC: + ldr r0, _08038EF0 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038EF4 + ldr r2, _08038EF8 + b _08038F2E + .align 2, 0 +_08038EF0: .4byte gUnknown_203B370 +_08038EF4: .4byte gUnknown_80E7408 +_08038EF8: .4byte gUnknown_80E7420 +_08038EFC: + ldr r0, _08038F10 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038F14 + ldr r2, _08038F18 + b _08038F2E + .align 2, 0 +_08038F10: .4byte gUnknown_203B370 +_08038F14: .4byte gUnknown_80E7468 +_08038F18: .4byte gUnknown_80E7480 +_08038F1C: + ldr r0, _08038F44 + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038F48 + ldr r2, _08038F4C +_08038F2E: + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0xD + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + b _08038F74 + .align 2, 0 +_08038F44: .4byte gUnknown_203B370 +_08038F48: .4byte gUnknown_80E74C8 +_08038F4C: .4byte gUnknown_80E74E0 +_08038F50: + ldr r0, _08038F8C + ldr r1, [r0] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038F90 + ldr r2, _08038F94 + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0xD + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems +_08038F74: + ldr r0, _08038F8C + ldr r0, [r0] + adds r0, 0x8 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + add sp, 0x10 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08038F8C: .4byte gUnknown_203B370 +_08038F90: .4byte gUnknown_80E752C +_08038F94: .4byte gUnknown_80E7544 + thumb_func_end sub_8038DC0 + + thumb_func_start sub_8038F98 +sub_8038F98: + push {r4,r5,lr} + sub sp, 0x10 + ldr r5, _08038FF4 + ldr r0, [r5] + movs r1, 0xD4 + lsls r1, 1 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_80155F0 + ldr r1, [r5] + adds r0, r1, 0 + adds r0, 0x8 + movs r2, 0xA4 + lsls r2, 1 + adds r1, r2 + ldr r3, _08038FF8 + ldr r2, _08038FFC + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r2, 0xD + str r2, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + ldr r0, [r5] + adds r0, 0x8 + movs r1, 0 + movs r2, 0x1 + bl sub_8035CF4 + add sp, 0x10 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08038FF4: .4byte gUnknown_203B370 +_08038FF8: .4byte gUnknown_80E7278 +_08038FFC: .4byte gUnknown_80E7290 + thumb_func_end sub_8038F98 + + thumb_func_start sub_8039000 +sub_8039000: + push {lr} + movs r1, 0xB + ldr r0, _0803901C + ldr r0, [r0] + ldr r0, [r0] + subs r0, 0x1B + cmp r0, 0x7 + bhi _08039062 + lsls r0, 2 + ldr r1, _08039020 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803901C: .4byte gUnknown_203B370 +_08039020: .4byte _08039024 + .align 2, 0 +_08039024: + .4byte _08039044 + .4byte _08039054 + .4byte _0803904C + .4byte _0803905C + .4byte _08039048 + .4byte _08039058 + .4byte _08039050 + .4byte _08039060 +_08039044: + movs r1, 0 + b _08039062 +_08039048: + movs r1, 0x4 + b _08039062 +_0803904C: + movs r1, 0x2 + b _08039062 +_08039050: + movs r1, 0x6 + b _08039062 +_08039054: + movs r1, 0x1 + b _08039062 +_08039058: + movs r1, 0x5 + b _08039062 +_0803905C: + movs r1, 0x3 + b _08039062 +_08039060: + movs r1, 0x7 +_08039062: + adds r0, r1, 0 + pop {r1} + bx r1 + thumb_func_end sub_8039000 + + thumb_func_start sub_8039068 +sub_8039068: + push {r4-r6,lr} + adds r6, r0, 0 + adds r0, r1, 0 + adds r5, r2, 0 + adds r1, r5, 0 + bl sub_803D204 + lsls r0, 24 + cmp r0, 0 + beq _080390AC + ldrb r0, [r5] + cmp r0, 0x7 + bhi _080390AC + ldrb r4, [r5, 0x5] + ldrb r0, [r5, 0x4] + bl sub_8090298 + cmp r4, r0 + bge _080390AC + movs r0, 0xC + ldrsh r1, [r5, r0] + cmp r1, 0 + beq _080390AC + ldr r0, _080390B0 + cmp r1, r0 + bgt _080390AC + adds r0, r5, 0 + adds r0, 0x22 + ldrb r0, [r0] + bl sub_8092040 + lsls r0, 24 + cmp r0, 0 + beq _080390B4 +_080390AC: + movs r0, 0x11 + b _0803916E + .align 2, 0 +_080390B0: .4byte 0x000001a7 +_080390B4: + cmp r6, 0x1E + beq _08039120 + cmp r6, 0x1E + bhi _080390C2 + cmp r6, 0x1C + beq _080390C8 + b _0803916A +_080390C2: + cmp r6, 0x20 + beq _08039140 + b _0803916A +_080390C8: + ldrb r0, [r5] + cmp r0, 0x1 + beq _080390D2 + movs r0, 0x12 + b _0803916E +_080390D2: + ldr r1, [r5, 0x10] + movs r0, 0x2 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08039108 + ldr r1, [r5, 0x10] + movs r0, 0x4 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08039108 + ldr r1, [r5, 0x10] + movs r0, 0x6 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _08039108 + ldr r0, [r5, 0x10] + bl sub_8095298 + lsls r0, 24 + cmp r0, 0 + beq _0803910C +_08039108: + movs r0, 0x7 + b _0803916E +_0803910C: + bl sub_8095190 + movs r1, 0x1 + negs r1, r1 + cmp r0, r1 + bne _0803911C + movs r0, 0xD + b _0803916E +_0803911C: + movs r0, 0x16 + b _0803916E +_08039120: + ldrb r0, [r5] + cmp r0, 0x4 + beq _0803912A + movs r0, 0x13 + b _0803916E +_0803912A: + ldr r1, [r5, 0x10] + movs r0, 0x1 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + bne _0803913C + movs r0, 0x9 + b _0803916E +_0803913C: + movs r0, 0x17 + b _0803916E +_08039140: + ldrb r0, [r5] + cmp r0, 0x5 + beq _0803914A + movs r0, 0x14 + b _0803916E +_0803914A: + ldr r1, [r5, 0x10] + movs r0, 0x4 + bl sub_80952F0 + lsls r0, 24 + cmp r0, 0 + beq _08039162 + bl sub_8011C34 + ldr r1, [r5, 0x28] + cmp r1, r0 + beq _08039166 +_08039162: + movs r0, 0xB + b _0803916E +_08039166: + movs r0, 0x18 + b _0803916E +_0803916A: + movs r0, 0x1 + negs r0, r0 +_0803916E: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8039068 + + thumb_func_start sub_8039174 +sub_8039174: + push {r4,lr} + ldr r0, _080391D8 + ldr r3, [r0] + movs r0, 0x82 + lsls r0, 2 + adds r3, r0 + ldrh r1, [r3] + ldr r0, _080391DC + ands r0, r1 + ldr r1, _080391E0 + ands r0, r1 + ldr r4, _080391E4 + ands r0, r4 + ldr r1, _080391E8 + ands r0, r1 + ldr r1, _080391EC + ands r0, r1 + movs r2, 0x80 + lsls r2, 7 + ldr r1, _080391F0 + ands r0, r1 + orrs r0, r2 + strh r0, [r3] + movs r2, 0xFC + lsls r2, 2 + ldrh r1, [r3, 0x4] + movs r0, 0xFC + lsls r0, 8 + ands r0, r1 + orrs r0, r2 + ands r0, r4 + movs r2, 0xF + movs r4, 0xF0 + lsls r4, 8 + ldr r1, _080391F4 + ands r0, r1 + orrs r0, r4 + strh r0, [r3, 0x4] + movs r0, 0 + strh r0, [r3, 0x2] + movs r1, 0xC0 + lsls r1, 4 + ldrh r0, [r3, 0x6] + ands r2, r0 + orrs r2, r1 + strh r2, [r3, 0x6] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080391D8: .4byte gUnknown_203B370 +_080391DC: .4byte 0x0000feff +_080391E0: .4byte 0x0000fdff +_080391E4: .4byte 0x0000f3ff +_080391E8: .4byte 0x0000efff +_080391EC: .4byte 0x0000dfff +_080391F0: .4byte 0x00003fff +_080391F4: .4byte 0x00000fff + thumb_func_end sub_8039174 + + thumb_func_start sub_80391F8 +sub_80391F8: + push {r4-r6,lr} + ldr r6, _08039250 + ldr r2, [r6] + movs r0, 0x82 + lsls r0, 2 + adds r4, r2, r0 + ldrh r1, [r4, 0x2] + movs r0, 0xFE + lsls r0, 8 + ands r0, r1 + movs r1, 0x70 + orrs r0, r1 + strh r0, [r4, 0x2] + movs r3, 0xE0 + lsls r3, 3 + ldrh r1, [r4, 0x6] + movs r0, 0xF + ands r0, r1 + orrs r0, r3 + strh r0, [r4, 0x6] + movs r5, 0x84 + lsls r5, 2 + adds r2, r5 + ldr r0, [r2] + movs r1, 0x8 + ands r0, r1 + cmp r0, 0 + beq _0803923C + adds r1, 0xF8 + adds r0, r4, 0 + movs r2, 0 + movs r3, 0 + bl AddSprite +_0803923C: + bl xxx_draw_string_80144C4 + ldr r1, [r6] + adds r1, r5 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08039250: .4byte gUnknown_203B370 + thumb_func_end sub_80391F8 + + thumb_func_start CreateLoadScreen +CreateLoadScreen: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x10 + adds r6, r0, 0 + ldr r5, _080392EC + ldr r0, [r5] + cmp r0, 0 + bne _0803927C + movs r4, 0x9F + lsls r4, 2 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 +_0803927C: + ldr r0, [r5] + str r6, [r0] + mov r12, r5 + movs r0, 0xA2 + lsls r0, 1 + mov r8, r0 + ldr r4, _080392F0 + movs r3, 0 + movs r2, 0x3 +_0803928E: + 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 _0803928E + bl ResetUnusedInputStruct + ldr r6, _080392EC + ldr r0, [r6] + movs r5, 0xA2 + lsls r5, 1 + adds r0, r5 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r1, [r6] + adds r0, r1, 0x4 + adds r1, r5 + ldr r3, _080392F4 + ldr r2, _080392F8 + str r2, [sp] + movs r4, 0 + str r4, [sp, 0x4] + movs r7, 0x6 + str r7, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0 + bl SetMenuItems + ldr r1, [r6] + ldr r0, [r1] + cmp r0, 0x7 + beq _08039306 + cmp r0, 0x7 + bhi _080392FC + cmp r0, 0x6 + beq _08039338 + b _08039382 + .align 2, 0 +_080392EC: .4byte gUnknown_203B374 +_080392F0: .4byte gUnknown_80E75F8 +_080392F4: .4byte gUnknown_80E7610 +_080392F8: .4byte gUnknown_203B378 +_080392FC: + cmp r0, 0x8 + beq _0803934C + cmp r0, 0x9 + beq _0803936C + b _08039382 +_08039306: + bl sub_8039844 + lsls r0, 24 + cmp r0, 0 + beq _08039324 + ldr r1, [r6] + adds r0, r1, 0x4 + adds r1, r5 + ldr r3, _0803931C + ldr r2, _08039320 + b _08039354 + .align 2, 0 +_0803931C: .4byte gUnknown_80E762C +_08039320: .4byte gUnknown_80E7644 +_08039324: + ldr r1, [r6] + adds r0, r1, 0x4 + adds r1, r5 + ldr r3, _08039330 + ldr r2, _08039334 + b _08039354 + .align 2, 0 +_08039330: .4byte gUnknown_80E762C +_08039334: .4byte gUnknown_80E7684 +_08039338: + adds r0, r1, 0x4 + adds r1, r5 + ldr r3, _08039344 + ldr r2, _08039348 + b _08039354 + .align 2, 0 +_08039344: .4byte gUnknown_80E762C +_08039348: .4byte gUnknown_80E76B8 +_0803934C: + adds r0, r1, 0x4 + adds r1, r5 + ldr r3, _08039364 + ldr r2, _08039368 +_08039354: + str r2, [sp] + str r4, [sp, 0x4] + str r7, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0x1 + bl SetMenuItems + b _08039382 + .align 2, 0 +_08039364: .4byte gUnknown_80E762C +_08039368: .4byte gUnknown_80E76E8 +_0803936C: + adds r0, r1, 0x4 + adds r1, r5 + ldr r3, _080393DC + ldr r2, _080393E0 + str r2, [sp] + str r4, [sp, 0x4] + str r7, [sp, 0x8] + str r4, [sp, 0xC] + movs r2, 0x1 + bl SetMenuItems +_08039382: + ldr r4, _080393E4 + ldr r1, [r4] + adds r0, r1, 0x4 + movs r6, 0xA2 + lsls r6, 1 + adds r1, r6 + ldr r3, _080393E8 + ldr r2, _080393EC + str r2, [sp] + movs r2, 0x1 + str r2, [sp, 0x4] + movs r2, 0x2 + str r2, [sp, 0x8] + movs r2, 0 + str r2, [sp, 0xC] + movs r2, 0x2 + bl SetMenuItems + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0 + movs r2, 0 + bl sub_8035CF4 + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0x1 + movs r2, 0 + bl sub_8035CF4 + ldr r0, [r4] + adds r0, 0x4 + movs r1, 0x2 + movs r2, 0x1 + bl sub_8035CF4 + bl DrawLoadScreenText + add sp, 0x10 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080393DC: .4byte gUnknown_80E762C +_080393E0: .4byte gUnknown_80E7730 +_080393E4: .4byte gUnknown_203B374 +_080393E8: .4byte gUnknown_80E7784 +_080393EC: .4byte gUnknown_80E779C + thumb_func_end CreateLoadScreen + + thumb_func_start CleanLoadScreen +CleanLoadScreen: + push {r4,lr} + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r4, _08039418 + ldr r0, [r4] + cmp r0, 0 + beq _08039410 + bl MemoryFree + movs r0, 0 + str r0, [r4] +_08039410: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08039418: .4byte gUnknown_203B374 + thumb_func_end CleanLoadScreen + + thumb_func_start sub_803941C +sub_803941C: + push {r4,r5,lr} + sub sp, 0x4 + ldr r5, _08039458 + movs r0, 0x4 + str r0, [sp] + ldr r4, _0803945C + ldr r0, [r4] + adds r0, 0x54 + bl sub_8012FD8 + ldr r0, [r4] + adds r0, 0xA4 + bl sub_8012FD8 + lsls r0, 24 + cmp r0, 0 + bne _08039448 + ldr r0, [r4] + adds r0, 0xA4 + mov r1, sp + bl sub_8013114 +_08039448: + ldr r0, [sp] + cmp r0, 0x3 + bhi _08039498 + cmp r0, 0x2 + bcs _08039460 + cmp r0, 0x1 + beq _08039464 + b _08039498 + .align 2, 0 +_08039458: .4byte 0x0000ffdc +_0803945C: .4byte gUnknown_203B374 +_08039460: + movs r5, 0x1 + b _08039498 +_08039464: + ldr r0, [r4] + ldr r0, [r0] + cmp r0, 0x7 + beq _08039480 + cmp r0, 0x7 + bhi _08039476 + cmp r0, 0x6 + beq _08039484 + b _08039498 +_08039476: + cmp r0, 0x8 + beq _0803948E + cmp r0, 0x9 + beq _08039492 + b _08039498 +_08039480: + movs r5, 0x2 + b _08039498 +_08039484: + movs r0, 0 + bl sub_8095240 + movs r5, 0x4 + b _08039498 +_0803948E: + movs r5, 0x9 + b _08039498 +_08039492: + bl sub_80122A8 + movs r5, 0x2E +_08039498: + adds r0, r5, 0 + add sp, 0x4 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_803941C + + thumb_func_start DrawLoadScreenText +DrawLoadScreenText: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x150 + bl sub_8011FA8 + mov r8, r0 + movs r0, 0 + bl sub_8008C54 + movs r0, 0 + bl sub_80073B8 + ldr r2, _0803952C + movs r4, 0 + str r4, [sp] + movs r0, 0x8 + movs r1, 0 + movs r3, 0 + bl xxx_call_draw_string + ldr r2, _08039530 + str r4, [sp] + movs r0, 0x8 + movs r1, 0xC + movs r3, 0 + bl xxx_call_draw_string + ldr r2, _08039534 + str r4, [sp] + movs r0, 0x8 + movs r1, 0x18 + movs r3, 0 + bl xxx_call_draw_string + ldr r2, _08039538 + str r4, [sp] + movs r0, 0x8 + movs r1, 0x24 + movs r3, 0 + bl xxx_call_draw_string + ldr r2, _0803953C + str r4, [sp] + movs r0, 0x8 + movs r1, 0x30 + movs r3, 0 + bl xxx_call_draw_string + ldr r2, _08039540 + str r4, [sp] + movs r0, 0x8 + movs r1, 0x3C + movs r3, 0 + bl xxx_call_draw_string + movs r0, 0 + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + beq _08039544 + add r4, sp, 0x68 + adds r0, r4, 0 + bl sub_80920D8 + adds r2, r4, 0 + b _0803954E + .align 2, 0 +_0803952C: .4byte gUnknown_80E77BC +_08039530: .4byte gUnknown_80E77C4 +_08039534: .4byte gUnknown_80E77CC +_08039538: .4byte gUnknown_80E77D8 +_0803953C: .4byte gUnknown_80E77E4 +_08039540: .4byte gUnknown_80E77F0 +_08039544: + ldr r1, _08039588 + add r0, sp, 0x68 + bl strcpy + add r2, sp, 0x68 +_0803954E: + ldr r5, _0803958C + ldr r0, [r5] + movs r4, 0xD2 + lsls r4, 1 + adds r0, r4 + ldr r1, _08039590 + bl sub_800D158 + ldr r2, [r5] + adds r2, r4 + movs r0, 0 + str r0, [sp] + movs r0, 0x40 + movs r1, 0 + movs r3, 0 + bl xxx_call_draw_string + bl sub_808D33C + cmp r0, 0 + bne _08039598 + add r4, sp, 0x90 + ldr r1, _08039594 + adds r0, r4, 0 + movs r2, 0xA + bl sub_80922B4 + b _080395A6 + .align 2, 0 +_08039588: .4byte gUnknown_80E77F8 +_0803958C: .4byte gUnknown_203B374 +_08039590: .4byte gUnknown_80E7804 +_08039594: .4byte gUnknown_80E7808 +_08039598: + add r4, sp, 0x90 + adds r1, r0, 0 + adds r1, 0x4C + adds r0, r4, 0 + movs r2, 0xA + bl sub_80922B4 +_080395A6: + adds r2, r4, 0 + ldr r5, _080395F0 + ldr r0, [r5] + movs r4, 0xE4 + lsls r4, 1 + adds r0, r4 + ldr r6, _080395F4 + adds r1, r6, 0 + bl sub_800D158 + ldr r2, [r5] + adds r2, r4 + movs r0, 0 + str r0, [sp] + movs r0, 0x40 + movs r1, 0xC + movs r3, 0 + bl xxx_call_draw_string + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + bne _080395E0 + movs r0, 0x7 + bl sub_8095324 + cmp r0, 0 + beq _08039606 +_080395E0: + ldr r0, _080395F8 + cmp r8, r0 + bne _080395FC + ldr r4, [r5] + movs r0, 0xF6 + lsls r0, 1 + adds r4, r0 + b _08039676 + .align 2, 0 +_080395F0: .4byte gUnknown_203B374 +_080395F4: .4byte gUnknown_80E7804 +_080395F8: .4byte 0x000f1207 +_080395FC: + ldr r0, [r5] + movs r1, 0xF6 + lsls r1, 1 + adds r0, r1 + b _08039690 +_08039606: + bl sub_8011C1C + cmp r0, 0x1 + beq _08039624 + cmp r0, 0x2 + beq _08039668 + ldr r0, [r5] + movs r2, 0xF6 + lsls r2, 1 + adds r0, r2 + ldr r1, _08039620 + b _08039692 + .align 2, 0 +_08039620: .4byte gUnknown_80E7824 +_08039624: + movs r0, 0 + movs r1, 0x18 + bl sub_8001658 + cmp r0, 0x7 + beq _08039658 + cmp r0, 0xB + beq _08039658 + bl sub_8098FB4 + adds r2, r0, 0 + add r0, sp, 0x4 + adds r1, r6, 0 + bl sub_800D158 + ldr r0, [r5] + movs r3, 0xF6 + lsls r3, 1 + adds r1, r0, r3 + adds r3, 0x24 + adds r2, r0, r3 + add r0, sp, 0x4 + movs r3, 0 + bl xxx_format_string + b _08039696 +_08039658: + ldr r0, _08039664 + ldr r0, [r0] + movs r1, 0xF6 + lsls r1, 1 + adds r0, r1 + b _08039690 + .align 2, 0 +_08039664: .4byte gUnknown_203B374 +_08039668: + ldr r0, _08039684 + cmp r8, r0 + bne _08039688 + ldr r4, [r5] + movs r2, 0xF6 + lsls r2, 1 + adds r4, r2 +_08039676: + bl sub_809769C + adds r1, r0, 0 + adds r0, r4, 0 + bl sub_8090228 + b _08039696 + .align 2, 0 +_08039684: .4byte 0x000f1207 +_08039688: + ldr r0, [r5] + movs r3, 0xF6 + lsls r3, 1 + adds r0, r3 +_08039690: + ldr r1, _0803974C +_08039692: + bl sub_800D158 +_08039696: + ldr r7, _08039750 + ldr r2, [r7] + movs r0, 0xF6 + lsls r0, 1 + adds r2, r0 + movs r6, 0 + str r6, [sp] + movs r0, 0x40 + movs r1, 0x18 + movs r3, 0 + bl xxx_call_draw_string + ldr r0, _08039754 + ldr r0, [r0] + add r1, sp, 0x144 + add r2, sp, 0x148 + add r3, sp, 0x14C + bl DeconstructPlayTime + ldr r0, [r7] + movs r5, 0x84 + lsls r5, 2 + adds r0, r5 + ldr r1, _08039758 + add r2, sp, 0x144 + ldr r2, [r2] + add r3, sp, 0x148 + ldr r3, [r3] + add r4, sp, 0x14C + ldr r4, [r4] + str r4, [sp] + bl sub_800D158 + ldr r2, [r7] + adds r2, r5 + str r6, [sp] + movs r0, 0x40 + movs r1, 0x24 + movs r3, 0 + bl xxx_call_draw_string + bl sub_8097778 + adds r2, r0, 0 + ldr r0, [r7] + movs r4, 0x8D + lsls r4, 2 + adds r0, r4 + ldr r1, _0803975C + bl sub_800D158 + ldr r2, [r7] + adds r2, r4 + str r6, [sp] + movs r0, 0x40 + movs r1, 0x30 + movs r3, 0 + bl xxx_call_draw_string + ldr r0, _08039760 + cmp r8, r0 + bne _0803976C + ldr r0, _08039764 + ldr r6, [r0] + movs r1, 0xC + ldrsh r0, [r6, r1] + cmp r0, 0 + beq _0803976C + add r5, sp, 0x130 + adds r1, r0, 0 + adds r0, r5, 0 + bl sub_808D930 + add r4, sp, 0xE0 + adds r1, r6, 0 + adds r1, 0x50 + adds r0, r4, 0 + movs r2, 0xA + bl sub_80922B4 + ldr r0, [r7] + movs r3, 0x96 + lsls r3, 2 + adds r0, r3 + ldr r1, _08039768 + adds r2, r4, 0 + adds r3, r5, 0 + bl sub_800D158 + b _0803977C + .align 2, 0 +_0803974C: .4byte gUnknown_80E780C +_08039750: .4byte gUnknown_203B374 +_08039754: .4byte gPlayTimeRef +_08039758: .4byte gUnknown_80E7838 +_0803975C: .4byte gUnknown_80E7848 +_08039760: .4byte 0x000f1207 +_08039764: .4byte gUnknown_203B484 +_08039768: .4byte gUnknown_80E784C +_0803976C: + ldr r0, _080397AC + ldr r0, [r0] + movs r1, 0x96 + lsls r1, 2 + adds r0, r1 + ldr r1, _080397B0 + bl sub_800D158 +_0803977C: + ldr r0, _080397AC + ldr r2, [r0] + movs r3, 0x96 + lsls r3, 2 + adds r2, r3 + movs r0, 0 + str r0, [sp] + movs r0, 0x40 + movs r1, 0x3C + movs r3, 0 + bl xxx_call_draw_string + bl sub_80397B4 + movs r0, 0 + bl sub_80073E0 + add sp, 0x150 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080397AC: .4byte gUnknown_203B374 +_080397B0: .4byte gUnknown_80E7854 + thumb_func_end DrawLoadScreenText + + thumb_func_start sub_80397B4 +sub_80397B4: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0xC + ldr r0, _08039834 + ldr r1, _08039838 + bl OpenFileAndGetFileDataPtr + adds r6, r0, 0 + movs r4, 0 +_080397C8: + adds r0, r4, 0 + adds r0, 0xB0 + ldr r1, [r6, 0x4] + lsls r2, r4, 2 + ldr r1, [r1, 0x4] + adds r1, r2 + bl SetBGPaletteBufferColorArray + adds r4, 0x1 + cmp r4, 0x3F + ble _080397C8 + movs r7, 0x8 + movs r0, 0x49 + mov r8, r0 + movs r4, 0 +_080397E6: + ldr r0, _0803983C + lsls r5, r4, 2 + adds r0, r5, r0 + ldr r0, [r0] + bl sub_80023E4 + lsls r0, 24 + cmp r0, 0 + beq _0803981C + movs r0, 0x10 + str r0, [sp] + ldr r0, [r6, 0x4] + lsls r1, r4, 7 + ldr r0, [r0] + adds r0, r1 + str r0, [sp, 0x4] + ldr r0, _08039840 + adds r0, r5, r0 + ldr r0, [r0] + str r0, [sp, 0x8] + movs r0, 0 + adds r1, r7, 0 + mov r2, r8 + movs r3, 0x10 + bl sub_8007E20 + adds r7, 0x10 +_0803981C: + adds r4, 0x1 + cmp r4, 0xB + ble _080397E6 + adds r0, r6, 0 + bl CloseFile + add sp, 0xC + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08039834: .4byte gUnknown_80E785C +_08039838: .4byte gTitleMenuFileArchive +_0803983C: .4byte gUnknown_203B3B8 +_08039840: .4byte gUnknown_203B388 + thumb_func_end sub_80397B4 + + thumb_func_start sub_8039844 +sub_8039844: + push {r4,r5,lr} + bl sub_8011FA8 + adds r5, r0, 0 + movs r4, 0 + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + bne _0803986A + movs r0, 0x7 + bl sub_8095324 + cmp r0, 0 + bne _0803986A + bl sub_8011C1C + cmp r0, 0x2 + bne _08039872 +_0803986A: + ldr r0, _0803987C + cmp r5, r0 + bne _08039872 + movs r4, 0x1 +_08039872: + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0803987C: .4byte 0x000f1207 + thumb_func_end sub_8039844 + + .align 2,0 diff --git a/asm/wonder_mail.s b/asm/wonder_mail.s index 3492026..7f2973c 100644 --- a/asm/wonder_mail.s +++ b/asm/wonder_mail.s @@ -2283,17 +2283,17 @@ _0802B758: b _0802B77C _0802B75E: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0802B7A2 _0802B768: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0802B7A2 _0802B772: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _0802B7A2 _0802B77C: @@ -2870,7 +2870,7 @@ _0802BBBC: _0802BBD4: .4byte gUnknown_203B2D4 _0802BBD8: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, [r4] ldr r0, [r0, 0xC] cmp r0, 0 @@ -2884,7 +2884,7 @@ _0802BBEE: b _0802BC02 _0802BBF6: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 bl sub_802BB14 _0802BC02: @@ -2929,7 +2929,7 @@ _0802BC2E: _0802BC44: .4byte gUnknown_203B2D4 _0802BC48: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r0, [r4] ldr r1, [r0, 0x8] ldr r0, [r0, 0xC] @@ -2944,7 +2944,7 @@ _0802BC60: b _0802BC74 _0802BC68: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 bl sub_802BB14 _0802BC74: @@ -3172,17 +3172,17 @@ _0802BE24: b _0802BE48 _0802BE2A: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0802BE6E _0802BE34: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0802BE6E _0802BE3E: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _0802BE6E _0802BE48: @@ -3677,17 +3677,17 @@ _0802C21C: b _0802C240 _0802C222: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0802C266 _0802C22C: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0802C266 _0802C236: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _0802C266 _0802C240: @@ -4150,17 +4150,17 @@ _0802C5D0: b _0802C5F4 _0802C5D6: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0802C61A _0802C5E0: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0802C61A _0802C5EA: movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _0802C61A _0802C5F4: @@ -5258,7 +5258,7 @@ _0802CE74: cmp r0, 0x2 bne _0802CE98 movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0802CEB4 .align 2, 0 @@ -7348,14 +7348,14 @@ sub_802DEE0: cmp r0, 0x2 bne _0802DF0E movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0802DF10 .align 2, 0 _0802DF00: .4byte gUnknown_203B300 _0802DF04: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0802DF10 _0802DF0E: @@ -7436,7 +7436,7 @@ sub_802DF88: bl sub_80073B8 ldr r0, [r4] ldr r0, [r0, 0xC] - bl sub_803B98C + bl CreateRescueDescription ldr r0, [r4] ldr r0, [r0, 0x10] bl sub_80073E0 @@ -8344,7 +8344,7 @@ _0802E6FC: b _0802E732 _0802E704: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect ldr r4, _0802E728 ldr r0, [r4] ldrb r0, [r0, 0x8] @@ -10601,14 +10601,14 @@ _0802F8BC: cmp r0, 0x2 bne _0802F8E6 movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _0802F904 .align 2, 0 _0802F8D8: .4byte gUnknown_203B314 _0802F8DC: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _0802F904 _0802F8E6: @@ -12003,14 +12003,14 @@ _080303C8: cmp r0, 0x2 bne _080303F2 movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _08030410 .align 2, 0 _080303E4: .4byte gUnknown_203B31C _080303E8: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _08030410 _080303F2: @@ -12487,17 +12487,17 @@ _080307A0: cmp r0, 0x4 bne _080307C2 movs r0, 0x4 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x4 b _080307E6 _080307AE: movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _080307E6 _080307B8: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _080307E6 _080307C2: @@ -13292,14 +13292,14 @@ sub_8030DA0: cmp r0, 0x2 bne _08030DCE movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _08030DD0 .align 2, 0 _08030DC0: .4byte gUnknown_203B324 _08030DC4: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _08030DD0 _08030DCE: @@ -13459,7 +13459,7 @@ _08030EE2: _08030EE8: strb r0, [r1] add r0, sp, 0x4 - bl sub_803B98C + bl CreateRescueDescription ldrh r0, [r5, 0x10] ldr r1, _08030F48 bl __umodsi3 @@ -14881,14 +14881,14 @@ sub_80319F8: cmp r0, 0x2 bne _08031A26 movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _08031A28 .align 2, 0 _08031A18: .4byte gUnknown_203B330 _08031A1C: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _08031A28 _08031A26: @@ -15235,7 +15235,7 @@ _08031CD4: beq _08031D04 movs r2, 0 ldrsh r0, [r4, r2] - bl sub_80974C4 + bl GetCurrentMissionText adds r2, r0, 0 ldr r0, _08031D00 ldr r0, [r0] @@ -15354,14 +15354,14 @@ sub_8031DCC: cmp r0, 0x2 bne _08031DFA movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _08031DFC .align 2, 0 _08031DEC: .4byte gUnknown_203B334 _08031DF0: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _08031DFC _08031DFA: @@ -15611,8 +15611,8 @@ _08031FD0: .4byte gUnknown_203B338 _08031FD4: .4byte gUnknown_80E2008 thumb_func_end CreateAdventureLogScreen - thumb_func_start sub_8031FD8 -sub_8031FD8: + thumb_func_start HandleAdventureLogInput +HandleAdventureLogInput: push {r4,lr} lsls r0, 24 cmp r0, 0 @@ -15633,14 +15633,14 @@ _08031FF0: cmp r0, 0x2 bne _0803201A movs r0, 0x1 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x2 b _08032034 .align 2, 0 _0803200C: .4byte gUnknown_203B338 _08032010: movs r0, 0 - bl sub_80119D4 + bl PlayMenuSoundEffect movs r0, 0x3 b _08032034 _0803201A: @@ -15659,7 +15659,7 @@ _08032034: pop {r4} pop {r1} bx r1 - thumb_func_end sub_8031FD8 + thumb_func_end HandleAdventureLogInput thumb_func_start sub_803203C sub_803203C: @@ -15922,5932 +15922,4 @@ _08032254: .4byte gUnknown_80E2030 _08032258: .4byte gUnknown_203B338 thumb_func_end DisplayAdventureLog - thumb_func_start sub_803225C -sub_803225C: - push {r4,r5,lr} - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r5, _08032300 - movs r4, 0xAD - lsls r4, 3 - 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, 0xA6 - lsls r0, 3 - adds r2, r1, r0 - movs r0, 0 - str r0, [r2] - movs r2, 0x86 - lsls r2, 2 - adds r1, r2 - movs r0, 0xFF - strb r0, [r1] - ldr r0, [r5] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - ldr r1, _08032304 - strh r1, [r0] - ldr r0, _08032308 - 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, _0803230C - bl strcpy - movs r1, 0 - movs r2, 0 - adds r4, r5, 0 -_080322C6: - ldr r0, [r5] - adds r0, 0x8 - adds r0, r1 - strb r2, [r0] - adds r1, 0x1 - cmp r1, 0x35 - ble _080322C6 - ldr r1, [r4] - movs r0, 0x7E - str r0, [r1, 0x4] - bl sub_8039880 - ldr r1, [r4] - ldr r2, _08032310 - adds r1, r2 - strb r0, [r1] - ldr r0, [r4] - adds r2, r0, r2 - ldrb r1, [r2] - ldr r2, _08032314 - adds r0, r2 - strb r1, [r0] - movs r0, 0 - bl sub_80338C4 - movs r0, 0x1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08032300: .4byte gUnknown_203B33C -_08032304: .4byte 0x0000ffff -_08032308: .4byte gUnknown_202E5D8 -_0803230C: .4byte gAvailablePokemonNames -_08032310: .4byte 0x0000052c -_08032314: .4byte 0x0000052d - thumb_func_end sub_803225C - - thumb_func_start sub_8032318 -sub_8032318: - push {lr} - ldr r0, _08032330 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0x7D - bls _08032326 - b _080327DC -_08032326: - lsls r0, 2 - ldr r1, _08032334 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08032330: .4byte gUnknown_203B33C -_08032334: .4byte _08032338 - .align 2, 0 -_08032338: - .4byte _080326A6 - .4byte _080326A6 - .4byte _080326AC - .4byte _0803255A - .4byte _0803255A - .4byte _0803266C - .4byte _08032672 - .4byte _08032678 - .4byte _0803267E - .4byte _08032684 - .4byte _0803268A - .4byte _08032690 - .4byte _08032690 - .4byte _08032698 - .4byte _080326A0 - .4byte _080327CE - .4byte _080327CE - .4byte _0803262C - .4byte _08032634 - .4byte _0803263A - .4byte _08032640 - .4byte _08032646 - .4byte _0803264C - .4byte _08032652 - .4byte _08032764 - .4byte _08032658 - .4byte _08032660 - .4byte _08032666 - .4byte _08032612 - .4byte _08032626 - .4byte _0803261A - .4byte _08032620 - .4byte _0803260C - .4byte _080325CE - .4byte _080327CE - .4byte _080325C6 - .4byte _080325BA - .4byte _080325A0 - .4byte _080325A8 - .4byte _080325AE - .4byte _080325B4 - .4byte _080325C0 - .4byte _0803258C - .4byte _0803259A - .4byte _08032594 - .4byte _0803257E - .4byte _08032586 - .4byte _08032764 - .4byte _080327CE - .4byte _080325D4 - .4byte _080325DC - .4byte _080325E2 - .4byte _080325E8 - .4byte _080325EE - .4byte _080327DC - .4byte _080325FA - .4byte _080325F4 - .4byte _08032600 - .4byte _08032606 - .4byte _08032764 - .4byte _080327CE - .4byte _08032560 - .4byte _08032566 - .4byte _0803256C - .4byte _08032572 - .4byte _08032578 - .4byte _08032764 - .4byte _08032658 - .4byte _080327CE - .4byte _080327CE - .4byte _08032794 - .4byte _0803279C - .4byte _080327A2 - .4byte _080327A8 - .4byte _080327AE - .4byte _080327B4 - .4byte _080327BA - .4byte _080327C0 - .4byte _080327C0 - .4byte _080327C8 - .4byte _08032722 - .4byte _080327D6 - .4byte _0803278E - .4byte _08032780 - .4byte _08032788 - .4byte _0803277A - .4byte _08032774 - .4byte _0803276C - .4byte _08032752 - .4byte _08032764 - .4byte _080326BC - .4byte _080326C2 - .4byte _080326D6 - .4byte _080326CA - .4byte _080326D0 - .4byte _080326DC - .4byte _080326E2 - .4byte _080326E8 - .4byte _08032730 - .4byte _08032744 - .4byte _0803273E - .4byte _08032738 - .4byte _080326F4 - .4byte _080326FC - .4byte _080326EE - .4byte _0803274C - .4byte _080326B0 - .4byte _080326B6 - .4byte _08032764 - .4byte _08032722 - .4byte _0803272A - .4byte _08032744 - .4byte _0803271C - .4byte _08032716 - .4byte _08032708 - .4byte _08032710 - .4byte _08032702 - .4byte _08032758 - .4byte _0803275E - .4byte _08032764 - .4byte _08032530 - .4byte _08032536 - .4byte _0803253E - .4byte _08032544 - .4byte _0803254C - .4byte _08032552 -_08032530: - bl sub_8035300 - b _080327DC -_08032536: - movs r0, 0x78 - bl sub_8035404 - b _080327DC -_0803253E: - bl sub_8035374 - b _080327DC -_08032544: - movs r0, 0x7A - bl sub_8035404 - b _080327DC -_0803254C: - bl sub_80353BC - b _080327DC -_08032552: - movs r0, 0x7C - bl sub_8035404 - b _080327DC -_0803255A: - bl sub_8033A2C - b _080327DC -_08032560: - bl sub_803477C - b _080327DC -_08032566: - bl sub_80347AC - b _080327DC -_0803256C: - bl sub_80347C8 - b _080327DC -_08032572: - bl sub_80347E4 - b _080327DC -_08032578: - bl sub_8034804 - b _080327DC -_0803257E: - movs r0, 0x2E - bl sub_8035404 - b _080327DC -_08032586: - bl sub_80344C0 - b _080327DC -_0803258C: - movs r0, 0xD - bl sub_8035404 - b _080327DC -_08032594: - bl sub_8034478 - b _080327DC -_0803259A: - bl sub_80344A0 - b _080327DC -_080325A0: - movs r0, 0x26 - bl sub_8035404 - b _080327DC -_080325A8: - bl sub_803418C - b _080327DC -_080325AE: - bl sub_8034254 - b _080327DC -_080325B4: - bl sub_8034310 - b _080327DC -_080325BA: - bl sub_8034378 - b _080327DC -_080325C0: - bl sub_80343C4 - b _080327DC -_080325C6: - movs r0, 0x21 - bl sub_8035404 - b _080327DC -_080325CE: - bl sub_8034404 - b _080327DC -_080325D4: - movs r0, 0x32 - bl sub_8035404 - b _080327DC -_080325DC: - bl sub_8034500 - b _080327DC -_080325E2: - bl sub_8034590 - b _080327DC -_080325E8: - bl sub_803464C - b _080327DC -_080325EE: - bl sub_80346A8 - b _080327DC -_080325F4: - bl sub_80346D8 - b _080327DC -_080325FA: - bl sub_8034700 - b _080327DC -_08032600: - bl sub_8034720 - b _080327DC -_08032606: - bl sub_803473C - b _080327DC -_0803260C: - bl sub_8033FB4 - b _080327DC -_08032612: - movs r0, 0x1D - bl sub_8035404 - b _080327DC -_0803261A: - bl sub_8034074 - b _080327DC -_08032620: - bl sub_8034130 - b _080327DC -_08032626: - bl sub_8033FE4 - b _080327DC -_0803262C: - movs r0, 0x12 - bl sub_8035404 - b _080327DC -_08032634: - bl nullsub_42 - b _080327DC -_0803263A: - bl nullsub_43 - b _080327DC -_08032640: - bl nullsub_44 - b _080327DC -_08032646: - bl nullsub_45 - b _080327DC -_0803264C: - bl sub_8033D74 - b _080327DC -_08032652: - bl sub_8033D94 - b _080327DC -_08032658: - movs r0, 0x1A - bl sub_8035404 - b _080327DC -_08032660: - bl sub_8033DBC - b _080327DC -_08032666: - bl sub_8033F64 - b _080327DC -_0803266C: - bl sub_8033C54 - b _080327DC -_08032672: - bl nullsub_41 - b _080327DC -_08032678: - bl sub_8033CAC - b _080327DC -_0803267E: - bl sub_8033D48 - b _080327DC -_08032684: - bl sub_8035424 - b _080327DC -_0803268A: - bl nullsub_50 - b _080327DC -_08032690: - movs r0, 0x6 - bl sub_8035404 - b _080327DC -_08032698: - movs r0, 0x7 - bl sub_8035404 - b _080327DC -_080326A0: - bl sub_8033B8C - b _080327DC -_080326A6: - bl sub_80339C8 - b _080327DC -_080326AC: - movs r0, 0x3 - b _080327DE -_080326B0: - bl sub_80348C4 - b _080327DC -_080326B6: - bl sub_803482C - b _080327DC -_080326BC: - bl sub_80349B0 - b _080327DC -_080326C2: - movs r0, 0x5C - bl sub_8035404 - b _080327DC -_080326CA: - bl sub_8034A70 - b _080327DC -_080326D0: - bl sub_8034B2C - b _080327DC -_080326D6: - bl sub_80349E0 - b _080327DC -_080326DC: - bl sub_8034B88 - b _080327DC -_080326E2: - bl sub_8034C98 - b _080327DC -_080326E8: - bl sub_8034C38 - b _080327DC -_080326EE: - bl sub_8034D54 - b _080327DC -_080326F4: - movs r0, 0x67 - bl sub_8035404 - b _080327DC -_080326FC: - bl sub_8034970 - b _080327DC -_08032702: - bl sub_80351E0 - b _080327DC -_08032708: - movs r0, 0x73 - bl sub_8035404 - b _080327DC -_08032710: - bl sub_8034D74 - b _080327DC -_08032716: - bl sub_8034EF0 - b _080327DC -_0803271C: - bl sub_8034F38 - b _080327DC -_08032722: - movs r0, 0x6E - bl sub_8035404 - b _080327DC -_0803272A: - bl sub_80352A4 - b _080327DC -_08032730: - movs r0, 0x6A - bl sub_8035404 - b _080327DC -_08032738: - bl sub_8034EC8 - b _080327DC -_0803273E: - bl sub_8034F18 - b _080327DC -_08032744: - movs r0, 0x62 - bl sub_8035404 - b _080327DC -_0803274C: - bl sub_8034F58 - b _080327DC -_08032752: - bl sub_8034F88 - b _080327DC -_08032758: - bl sub_8035018 - b _080327DC -_0803275E: - bl sub_8035038 - b _080327DC -_08032764: - movs r0, 0x2 - bl sub_8035404 - b _080327DC -_0803276C: - movs r0, 0x5F - bl sub_8035404 - b _080327DC -_08032774: - bl sub_8035094 - b _080327DC -_0803277A: - bl sub_80350F4 - b _080327DC -_08032780: - movs r0, 0x54 - bl sub_8035404 - b _080327DC -_08032788: - bl sub_803517C - b _080327DC -_0803278E: - bl sub_8035210 - b _080327DC -_08032794: - movs r0, 0x47 - bl sub_8035404 - b _080327DC -_0803279C: - bl nullsub_46 - b _080327DC -_080327A2: - bl nullsub_47 - b _080327DC -_080327A8: - bl nullsub_48 - b _080327DC -_080327AE: - bl nullsub_49 - b _080327DC -_080327B4: - bl sub_8035430 - b _080327DC -_080327BA: - bl nullsub_51 - b _080327DC -_080327C0: - movs r0, 0x4F - bl sub_8035404 - b _080327DC -_080327C8: - bl sub_8034848 - b _080327DC -_080327CE: - movs r0, 0x1 - bl sub_8035404 - b _080327DC -_080327D6: - movs r0, 0x1 - bl sub_8035404 -_080327DC: - movs r0, 0 -_080327DE: - pop {r1} - bx r1 - thumb_func_end sub_8032318 - - thumb_func_start sub_80327E4 -sub_80327E4: - push {r4,lr} - ldr r4, _08032820 - ldr r0, [r4] - cmp r0, 0 - beq _0803281A - bl MemoryFree - movs r0, 0 - str r0, [r4] - bl sub_803084C - bl sub_8031E10 - bl sub_8023C60 - bl sub_80155F0 - bl sub_801CBB8 - bl sub_802F2C0 - bl sub_8030DE4 - bl sub_802453C - bl sub_801B450 -_0803281A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08032820: .4byte gUnknown_203B33C - thumb_func_end sub_80327E4 - - thumb_func_start nullsub_40 -nullsub_40: - bx lr - thumb_func_end nullsub_40 - - thumb_func_start sub_8032828 -sub_8032828: - push {r4-r6,lr} - sub sp, 0x68 - ldr r1, _08032848 - ldr r0, [r1] - ldr r0, [r0] - adds r6, r1, 0 - cmp r0, 0x7D - bls _0803283C - bl _080338B4 -_0803283C: - lsls r0, 2 - ldr r1, _0803284C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08032848: .4byte gUnknown_203B33C -_0803284C: .4byte _08032850 - .align 2, 0 -_08032850: - .4byte _08032A48 - .4byte _08032AD0 - .4byte _080338B4 - .4byte _08032B80 - .4byte _08032BC4 - .4byte _08032FD0 - .4byte _080338B4 - .4byte _08032FF0 - .4byte _080338B4 - .4byte _080338B4 - .4byte _08032FD8 - .4byte _08032FE0 - .4byte _08032FE8 - .4byte _0803356C - .4byte _08032C50 - .4byte _08033200 - .4byte _080331CC - .4byte _080331D4 - .4byte _080331DC - .4byte _080336B2 - .4byte _080338B4 - .4byte _080331F8 - .4byte _08033208 - .4byte _080338B4 - .4byte _08033234 - .4byte _0803323C - .4byte _08033244 - .4byte _080338B4 - .4byte _08032F8C - .4byte _08032F98 - .4byte _080336B2 - .4byte _080338B4 - .4byte _08032FB6 - .4byte _08032EB8 - .4byte _08032FC4 - .4byte _08032EAC - .4byte _08032F54 - .4byte _08032EE0 - .4byte _08032EEC - .4byte _08032F16 - .4byte _080338B4 - .4byte _08032F7C - .4byte _08032E60 - .4byte _08032E6C - .4byte _08032EA0 - .4byte _08032E48 - .4byte _0803341C - .4byte _08032E54 - .4byte _08032D84 - .4byte _08032D90 - .4byte _08032D9C - .4byte _080336B2 - .4byte _080338B4 - .4byte _08032DBC - .4byte _080338B4 - .4byte _08032DCC - .4byte _08032E00 - .4byte _08032E3C - .4byte _08032E0C - .4byte _08032E30 - .4byte _08032D04 - .4byte _08032D10 - .4byte _08032D2C - .4byte _08032D38 - .4byte _08032D44 - .4byte _080338B4 - .4byte _08032D78 - .4byte _08032D20 - .4byte _08033720 - .4byte _08033728 - .4byte _08033684 - .4byte _0803368C - .4byte _080336B2 - .4byte _080338B4 - .4byte _080336F8 - .4byte _080338B4 - .4byte _08032FD8 - .4byte _08032FE0 - .4byte _08032FE8 - .4byte _080338B4 - .4byte _08033468 - .4byte _08033730 - .4byte _08033738 - .4byte _0803366C - .4byte _08033674 - .4byte _08033644 - .4byte _0803361C - .4byte _08033614 - .4byte _080335F4 - .4byte _080335C0 - .4byte _0803324E - .4byte _0803325C - .4byte _0803368C - .4byte _08033264 - .4byte _080338B4 - .4byte _08033288 - .4byte _080332B8 - .4byte _080338B4 - .4byte _0803356C - .4byte _080335B0 - .4byte _08033584 - .4byte _080338B4 - .4byte _08033412 - .4byte _0803341C - .4byte _08033448 - .4byte _080335B8 - .4byte _080332F4 - .4byte _080338B4 - .4byte _08033460 - .4byte _08033470 - .4byte _0803349C - .4byte _08033450 - .4byte _08033458 - .4byte _080338B4 - .4byte _080333E4 - .4byte _080333EC - .4byte _080338B4 - .4byte _08033604 - .4byte _0803360C - .4byte _080338B4 - .4byte _0803384C - .4byte _0803387C - .4byte _080337D4 - .4byte _080337F0 - .4byte _08033770 - .4byte _0803378C -_08032A48: - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - bne _08032A9C - movs r0, 0x5 - bl sub_8095324 - adds r4, r0, 0 - cmp r4, 0 - bne _08032A9C - ldr r0, _08032A7C - ldr r0, [r0] - ldr r1, _08032A80 - adds r0, r1 - ldrb r2, [r0] - cmp r2, 0 - beq _08032A8C - ldr r0, _08032A84 - ldr r3, _08032A88 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - b _08032B66 - .align 2, 0 -_08032A7C: .4byte gUnknown_203B33C -_08032A80: .4byte 0x0000052c -_08032A84: .4byte gUnknown_80E25F4 -_08032A88: .4byte gUnknown_80E2108 -_08032A8C: - ldr r0, _08032A94 - ldr r3, _08032A98 - b _08032B5C - .align 2, 0 -_08032A94: .4byte gUnknown_80E25F4 -_08032A98: .4byte gUnknown_80E20B8 -_08032A9C: - ldr r0, _08032AC0 - ldr r0, [r0] - ldr r2, _08032AC4 - adds r0, r2 - ldrb r2, [r0] - cmp r2, 0 - beq _08032B58 - ldr r0, _08032AC8 - ldr r3, _08032ACC - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - bl _08033864 - .align 2, 0 -_08032AC0: .4byte gUnknown_203B33C -_08032AC4: .4byte 0x0000052c -_08032AC8: .4byte gUnknown_80E25F4 -_08032ACC: .4byte gUnknown_80E20E0 -_08032AD0: - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - bne _08032B24 - movs r0, 0x5 - bl sub_8095324 - adds r4, r0, 0 - cmp r4, 0 - bne _08032B24 - ldr r0, _08032B04 - ldr r0, [r0] - ldr r3, _08032B08 - adds r0, r3 - ldrb r2, [r0] - cmp r2, 0 - beq _08032B14 - ldr r0, _08032B0C - ldr r3, _08032B10 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - b _08032B66 - .align 2, 0 -_08032B04: .4byte gUnknown_203B33C -_08032B08: .4byte 0x0000052c -_08032B0C: .4byte gUnknown_80E25F4 -_08032B10: .4byte gUnknown_80E2108 -_08032B14: - ldr r0, _08032B1C - ldr r3, _08032B20 - b _08032B5C - .align 2, 0 -_08032B1C: .4byte gUnknown_80E25F4 -_08032B20: .4byte gUnknown_80E20B8 -_08032B24: - ldr r0, _08032B48 - ldr r0, [r0] - ldr r4, _08032B4C - adds r0, r4 - ldrb r2, [r0] - cmp r2, 0 - beq _08032B58 - ldr r0, _08032B50 - ldr r3, _08032B54 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - bl _08033864 - .align 2, 0 -_08032B48: .4byte gUnknown_203B33C -_08032B4C: .4byte 0x0000052c -_08032B50: .4byte gUnknown_80E25F4 -_08032B54: .4byte gUnknown_80E20E0 -_08032B58: - ldr r0, _08032B78 - ldr r3, _08032B7C -_08032B5C: - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] -_08032B66: - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0 - bl sub_8014248 - bl _080338B4 - .align 2, 0 -_08032B78: .4byte gUnknown_80E25F4 -_08032B7C: .4byte gUnknown_80E2068 -_08032B80: - movs r0, 0x4 - bl sub_8095324 - adds r2, r0, 0 - cmp r2, 0 - beq _08032B9C - ldr r0, _08032B94 - ldr r3, _08032B98 - movs r2, 0 - b _08032BA0 - .align 2, 0 -_08032B94: .4byte gUnknown_80E25F4 -_08032B98: .4byte gUnknown_80E2130 -_08032B9C: - ldr r0, _08032BBC - ldr r3, _08032BC0 -_08032BA0: - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x3 - bl sub_8014248 - bl _080338B4 - .align 2, 0 -_08032BBC: .4byte gUnknown_80E25F4 -_08032BC0: .4byte gUnknown_80E2190 -_08032BC4: - movs r0, 0x1 - bl sub_8095324 - adds r4, r0, 0 - cmp r4, 0 - bne _08032C0C - movs r0, 0x5 - bl sub_8095324 - cmp r0, 0 - bne _08032BF4 - ldr r0, _08032BEC - ldr r3, _08032BF0 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - b _08032C38 - .align 2, 0 -_08032BEC: .4byte gUnknown_80E25F4 -_08032BF0: .4byte gUnknown_80E2268 -_08032BF4: - ldr r0, _08032C04 - ldr r3, _08032C08 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - b _08032C38 - .align 2, 0 -_08032C04: .4byte gUnknown_80E25F4 -_08032C08: .4byte gUnknown_80E2218 -_08032C0C: - movs r0, 0x5 - bl sub_8095324 - adds r2, r0, 0 - cmp r2, 0 - bne _08032C28 - ldr r0, _08032C20 - ldr r3, _08032C24 - b _08032C2E - .align 2, 0 -_08032C20: .4byte gUnknown_80E25F4 -_08032C24: .4byte gUnknown_80E2240 -_08032C28: - ldr r0, _08032C48 - ldr r3, _08032C4C - movs r2, 0 -_08032C2E: - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] -_08032C38: - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x11 - bl sub_8014248 - bl _080338B4 - .align 2, 0 -_08032C48: .4byte gUnknown_80E25F4 -_08032C4C: .4byte gUnknown_80E21B8 -_08032C50: - ldr r0, [r6] - movs r5, 0xA5 - lsls r5, 3 - adds r0, r5 - ldr r0, [r0] - subs r0, 0x3 - cmp r0, 0x11 - bls _08032C64 - bl _080338B4 -_08032C64: - lsls r0, 2 - ldr r1, _08032C70 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08032C70: .4byte _08032C74 - .align 2, 0 -_08032C74: - .4byte _08032CC8 - .4byte _08032CD4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _080338B4 - .4byte _08032CBC - .4byte _08032CE0 - .4byte _08032CEC - .4byte _08032CF8 -_08032CBC: - ldr r0, _08032CC4 - bl _0803374A - .align 2, 0 -_08032CC4: .4byte gUnknown_80E2610 -_08032CC8: - ldr r0, _08032CD0 - bl _0803374A - .align 2, 0 -_08032CD0: .4byte gUnknown_80E2640 -_08032CD4: - ldr r0, _08032CDC - bl _0803374A - .align 2, 0 -_08032CDC: .4byte gUnknown_80E2680 -_08032CE0: - ldr r0, _08032CE8 - bl _0803374A - .align 2, 0 -_08032CE8: .4byte gUnknown_80E26B0 -_08032CEC: - ldr r0, _08032CF4 - bl _0803374A - .align 2, 0 -_08032CF4: .4byte gUnknown_80E26F0 -_08032CF8: - ldr r0, _08032D00 - bl _0803374A - .align 2, 0 -_08032D00: .4byte gUnknown_80E2728 -_08032D04: - ldr r0, _08032D0C - bl _0803388E - .align 2, 0 -_08032D0C: .4byte gUnknown_80E276C -_08032D10: - ldr r0, _08032D18 - ldr r3, _08032D1C - bl _080336FC - .align 2, 0 -_08032D18: .4byte gUnknown_80E27A4 -_08032D1C: .4byte gUnknown_80E2458 -_08032D20: - ldr r0, _08032D28 - bl _0803388E - .align 2, 0 -_08032D28: .4byte gUnknown_80E2814 -_08032D2C: - ldr r0, _08032D34 - bl _0803388E - .align 2, 0 -_08032D34: .4byte gUnknown_80E2840 -_08032D38: - ldr r0, _08032D40 - bl _0803388E - .align 2, 0 -_08032D40: .4byte gUnknown_80E2874 -_08032D44: - ldr r0, [r6] - ldr r1, _08032D60 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xC - bne _08032D54 - bl _080338B4 -_08032D54: - cmp r0, 0xC - bhi _08032D64 - cmp r0, 0xB - beq _08032D6C - bl _080338B4 - .align 2, 0 -_08032D60: .4byte 0x00000524 -_08032D64: - cmp r0, 0xE - bls _08032D6C - bl _080338B4 -_08032D6C: - ldr r0, _08032D74 - bl _0803388E - .align 2, 0 -_08032D74: .4byte gUnknown_80E2898 -_08032D78: - ldr r0, _08032D80 - bl _0803388E - .align 2, 0 -_08032D80: .4byte gUnknown_80E28D8 -_08032D84: - ldr r0, _08032D8C - bl _0803388E - .align 2, 0 -_08032D8C: .4byte gUnknown_80E2904 -_08032D90: - ldr r0, _08032D98 - bl _0803388E - .align 2, 0 -_08032D98: .4byte gUnknown_80E296C -_08032D9C: - bl sub_8030894 - cmp r0, 0 - beq _08032DA8 - bl _080338B4 -_08032DA8: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl _080336A6 -_08032DBC: - ldr r0, _08032DC4 - ldr r3, _08032DC8 - bl _080336FC - .align 2, 0 -_08032DC4: .4byte gUnknown_80E29A0 -_08032DC8: .4byte gUnknown_80E22B4 -_08032DCC: - ldr r0, [r6] - ldr r2, _08032DE8 - adds r0, r2 - ldr r0, [r0] - cmp r0, 0xC - bne _08032DDC - bl _080338B4 -_08032DDC: - cmp r0, 0xC - bhi _08032DEC - cmp r0, 0xB - beq _08032DF4 - bl _080338B4 - .align 2, 0 -_08032DE8: .4byte 0x00000524 -_08032DEC: - cmp r0, 0xE - bls _08032DF4 - bl _080338B4 -_08032DF4: - ldr r0, _08032DFC - bl _0803388E - .align 2, 0 -_08032DFC: .4byte gUnknown_80E29D0 -_08032E00: - ldr r0, _08032E08 - bl _0803388E - .align 2, 0 -_08032E08: .4byte gUnknown_80E2A0C -_08032E0C: - ldr r0, [r6] - movs r3, 0xEF - lsls r3, 2 - adds r0, r3 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r6] - movs r4, 0x86 - lsls r4, 2 - adds r0, r4 - b _0803343E -_08032E30: - ldr r0, _08032E38 - bl _0803388E - .align 2, 0 -_08032E38: .4byte gUnknown_80E2A1C -_08032E3C: - ldr r0, _08032E44 - bl _0803388E - .align 2, 0 -_08032E44: .4byte gUnknown_80E2A5C -_08032E48: - ldr r0, _08032E50 - bl _0803388E - .align 2, 0 -_08032E50: .4byte gUnknown_80E2A80 -_08032E54: - ldr r0, _08032E5C - bl _0803388E - .align 2, 0 -_08032E5C: .4byte gUnknown_80E2AA8 -_08032E60: - ldr r0, _08032E68 - bl _0803388E - .align 2, 0 -_08032E68: .4byte gUnknown_80E2AE4 -_08032E6C: - ldr r0, [r6] - ldr r2, _08032E88 - adds r0, r2 - ldr r0, [r0] - cmp r0, 0xC - bne _08032E7C - bl _080338B4 -_08032E7C: - cmp r0, 0xC - bhi _08032E8C - cmp r0, 0xB - beq _08032E94 - bl _080338B4 - .align 2, 0 -_08032E88: .4byte 0x00000524 -_08032E8C: - cmp r0, 0xE - bls _08032E94 - bl _080338B4 -_08032E94: - ldr r0, _08032E9C - bl _0803388E - .align 2, 0 -_08032E9C: .4byte gUnknown_80E2B54 -_08032EA0: - ldr r0, _08032EA8 - bl _0803388E - .align 2, 0 -_08032EA8: .4byte gUnknown_80E2A0C -_08032EAC: - ldr r0, _08032EB4 - bl _0803388E - .align 2, 0 -_08032EB4: .4byte gUnknown_80E2B90 -_08032EB8: - ldr r0, _08032ED8 - ldr r3, _08032EDC - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0xF - bl sub_8014248 - bl _080338B4 - .align 2, 0 -_08032ED8: .4byte gUnknown_80E2BE0 -_08032EDC: .4byte gUnknown_80E23A8 -_08032EE0: - ldr r0, _08032EE8 - bl _0803388E - .align 2, 0 -_08032EE8: .4byte gUnknown_80E2C48 -_08032EEC: - bl sub_8023CE8 - cmp r0, 0 - beq _08032EF8 - bl sub_8023C60 -_08032EF8: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0x9 - bl sub_8023868 - bl _080338B4 -_08032F16: - 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, _08032F4C - ldr r2, _08032F50 - 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_8023DA4 - bl _080336E2 - .align 2, 0 -_08032F4C: .4byte gUnknown_80E2334 -_08032F50: .4byte gUnknown_80E234C -_08032F54: - ldr r0, _08032F74 - ldr r3, _08032F78 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x10 - bl sub_8014248 - bl _080338B4 - .align 2, 0 -_08032F74: .4byte gUnknown_80E2C94 -_08032F78: .4byte gUnknown_80E22F0 -_08032F7C: - ldr r0, _08032F84 - ldr r3, _08032F88 - bl _080336FC - .align 2, 0 -_08032F84: .4byte gUnknown_80E2CD4 -_08032F88: .4byte gUnknown_80E22D0 -_08032F8C: - ldr r0, _08032F94 - bl _0803388E - .align 2, 0 -_08032F94: .4byte gUnknown_80E2CE8 -_08032F98: - bl sub_8030894 - cmp r0, 0 - beq _08032FA4 - bl _080338B4 -_08032FA4: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x4 - b _080336A6 -_08032FB6: - ldr r0, _08032FBC - ldr r3, _08032FC0 - b _080336FC - .align 2, 0 -_08032FBC: .4byte gUnknown_80E2D30 -_08032FC0: .4byte gUnknown_80E22B4 -_08032FC4: - ldr r0, _08032FCC - bl _0803388E - .align 2, 0 -_08032FCC: .4byte gUnknown_80E2D60 -_08032FD0: - ldr r0, _08032FD4 - b _080336FA - .align 2, 0 -_08032FD4: .4byte gUnknown_80E2D7C -_08032FD8: - ldr r0, _08032FDC - b _080336FA - .align 2, 0 -_08032FDC: .4byte gUnknown_80E2E20 -_08032FE0: - ldr r0, _08032FE4 - b _08033574 - .align 2, 0 -_08032FE4: .4byte gUnknown_80E2E54 -_08032FE8: - ldr r0, _08032FEC - b _08033574 - .align 2, 0 -_08032FEC: .4byte gUnknown_80E2EB4 -_08032FF0: - ldr r1, [r6] - movs r0, 0 - str r0, [r1, 0x44] - bl sub_8011830 - ldr r0, [r6] - ldr r0, [r0, 0x40] - bl sub_8037B28 - adds r4, r0, 0 - ldr r0, [r6] - str r4, [r0, 0x44] - cmp r4, 0 - beq _0803300E - b _080333DE -_0803300E: - ldr r1, [r0, 0x40] - cmp r1, 0x3 - beq _08033028 - cmp r1, 0x3 - bhi _0803301E - cmp r1, 0x2 - beq _0803304A - b _0803313C -_0803301E: - cmp r1, 0x4 - beq _080330B4 - cmp r1, 0x5 - beq _0803308E - b _0803313C -_08033028: - adds r0, 0x48 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - adds r0, 0x78 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r1, r2, 0 - adds r1, 0x48 - adds r2, 0x78 - b _08033134 -_0803304A: - adds r0, 0x48 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - adds r0, 0x78 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r3, 0x86 - lsls r3, 2 - adds r0, r3 - ldrb r0, [r0] - bl sub_8095228 - ldr r1, [r6] - adds r1, 0x48 - ldm r0!, {r2,r4,r5} - stm r1!, {r2,r4,r5} - ldm r0!, {r3-r5} - stm r1!, {r3-r5} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r1, r2, 0 - adds r1, 0x48 - adds r2, 0x78 - b _08033134 -_0803308E: - adds r0, 0xA8 - movs r1, 0 - movs r2, 0x88 - bl MemoryFill8 - ldr r0, [r6] - movs r4, 0x98 - lsls r4, 1 - adds r0, r4 - movs r1, 0 - movs r2, 0x88 - bl MemoryFill8 - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r1, r2, 0 - adds r1, 0xA8 - adds r2, r4 - b _08033134 -_080330B4: - adds r0, 0xA8 - movs r1, 0 - movs r2, 0x88 - bl MemoryFill8 - ldr r0, [r6] - movs r5, 0x98 - lsls r5, 1 - adds r0, r5 - movs r1, 0 - movs r2, 0x88 - bl MemoryFill8 - ldr r1, [r6] - adds r0, r1, 0 - 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] - bl sub_8095228 - ldr r1, [r6] - adds r1, 0xA8 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldr r2, [r6] - movs r4, 0xA7 - lsls r4, 3 - adds r3, r2, r4 - movs r0, 0 - ldrsh r1, [r3, r0] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0803312A - adds r0, r2, 0 - adds r0, 0xD8 - ldr r1, _08033188 - ldr r1, [r1] - movs r2, 0 - ldrsh r3, [r3, r2] - movs r2, 0x58 - muls r2, r3 - adds r1, r2 - movs r2, 0x58 - bl memcpy -_0803312A: - ldr r2, [r6] - ldr r0, [r2, 0x40] - adds r1, r2, 0 - adds r1, 0xA8 - adds r2, r5 -_08033134: - bl sub_8037D64 - ldr r1, [r6] - str r0, [r1, 0x44] -_0803313C: - ldr r4, _0803318C - ldr r2, [r4] - ldr r0, [r2, 0x44] - cmp r0, 0 - beq _08033148 - b _080333DE -_08033148: - ldr r0, [r2, 0x40] - cmp r0, 0x2 - bcs _08033150 - b _080333DE -_08033150: - cmp r0, 0x3 - bls _08033190 - cmp r0, 0x5 - bls _0803315A - b _080333DE -_0803315A: - adds r1, r2, 0 - adds r1, 0xA8 - movs r3, 0x98 - lsls r3, 1 - adds r2, r3 - bl sub_80381F4 - ldr r1, [r4] - str r0, [r1, 0x44] - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _080331C0 - ldr r0, [r4] - movs r4, 0x84 - lsls r4, 3 - adds r1, r0, r4 - movs r5, 0xA0 - lsls r5, 1 - adds r0, r5 - b _080333DA - .align 2, 0 -_08033188: .4byte gUnknown_203B45C -_0803318C: .4byte gUnknown_203B33C -_08033190: - adds r1, r2, 0 - adds r1, 0x48 - adds r2, 0x78 - bl sub_80381F4 - ldr r1, [r4] - str r0, [r1, 0x44] - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _080331B4 - ldr r0, [r4] - movs r2, 0x84 - lsls r2, 3 - adds r1, r0, r2 - adds r0, 0x88 - b _080333DA -_080331B4: - ldr r0, [r4] - movs r3, 0x84 - lsls r3, 3 - adds r1, r0, r3 - ldr r0, [r0, 0x58] - b _080333DC -_080331C0: - ldr r0, [r4] - movs r4, 0x84 - lsls r4, 3 - adds r1, r0, r4 - adds r0, 0xB8 - b _080333DA -_080331CC: - ldr r0, _080331D0 - b _0803388E - .align 2, 0 -_080331D0: .4byte gUnknown_80E2F14 -_080331D4: - ldr r0, _080331D8 - b _0803388E - .align 2, 0 -_080331D8: .4byte gUnknown_80E2F44 -_080331DC: - bl sub_8030894 - cmp r0, 0 - beq _080331E6 - b _080338B4 -_080331E6: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - b _080336A6 -_080331F8: - ldr r0, _080331FC - b _080336FA - .align 2, 0 -_080331FC: .4byte gUnknown_80E2F78 -_08033200: - ldr r0, _08033204 - b _0803388E - .align 2, 0 -_08033204: .4byte gUnknown_80E2FA0 -_08033208: - ldr r0, [r6] - ldr r5, _08033220 - adds r0, r5 - ldr r0, [r0] - cmp r0, 0xC - bne _08033216 - b _080338B4 -_08033216: - cmp r0, 0xC - bhi _08033224 - cmp r0, 0xB - beq _0803322A - b _080338B4 - .align 2, 0 -_08033220: .4byte 0x00000524 -_08033224: - cmp r0, 0xE - bls _0803322A - b _080338B4 -_0803322A: - ldr r0, _08033230 - b _0803388E - .align 2, 0 -_08033230: .4byte gUnknown_80E2FEC -_08033234: - ldr r0, _08033238 - b _0803388E - .align 2, 0 -_08033238: .4byte gUnknown_80E3030 -_0803323C: - ldr r0, _08033240 - b _0803388E - .align 2, 0 -_08033240: .4byte gUnknown_80E3078 -_08033244: - ldr r0, [r6] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - b _080333F4 -_0803324E: - ldr r0, _08033254 - ldr r3, _08033258 - b _080336FC - .align 2, 0 -_08033254: .4byte gUnknown_80E30A4 -_08033258: .4byte gUnknown_80E2458 -_0803325C: - ldr r0, _08033260 - b _0803388E - .align 2, 0 -_08033260: .4byte gUnknown_80E30D0 -_08033264: - 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, _08033280 - ldr r2, _08033284 - b _080336CC - .align 2, 0 -_08033280: .4byte gUnknown_80E231C -_08033284: .4byte gUnknown_80E2408 -_08033288: - bl sub_801D008 - cmp r0, 0 - beq _08033292 - b _080338B4 -_08033292: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, _080332B4 - str r0, [sp, 0x64] - add r2, sp, 0x64 - movs r0, 0 - movs r1, 0x1 - movs r3, 0x9 - bl sub_801C8C4 - b _080338B4 - .align 2, 0 -_080332B4: .4byte 0x00020003 -_080332B8: - 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, _080332EC - ldr r2, _080332F0 - 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 - b _080336E2 - .align 2, 0 -_080332EC: .4byte gUnknown_80E23F0 -_080332F0: .4byte gUnknown_80E2408 -_080332F4: - 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 _080333DE - ldr r0, [r1, 0x40] - cmp r0, 0x6 - beq _0803331A - cmp r0, 0x7 - beq _08033358 - b _08033388 -_0803331A: - movs r4, 0xDC - lsls r4, 1 - adds r0, r1, r4 - movs r1, 0 - movs r2, 0x30 - bl MemoryFill8 - ldr r0, [r6] - movs r2, 0x86 - lsls r2, 2 - adds r0, r2 - 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 r3, 0xF4 - lsls r3, 1 - adds r2, r3 - b _0803337E -_08033358: - 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 -_0803337E: - adds r1, r4, 0 - bl sub_8037D64 - ldr r1, [r6] - str r0, [r1, 0x44] -_08033388: - ldr r4, _080333C8 - ldr r2, [r4] - ldr r0, [r2, 0x44] - cmp r0, 0 - bne _080333DE - ldr r0, [r2, 0x40] - cmp r0, 0x7 - bhi _080333DE - cmp r0, 0x6 - bcc _080333DE - movs r5, 0xDC - lsls r5, 1 - adds r1, r2, r5 - movs r3, 0xF4 - lsls r3, 1 - adds r2, r3 - bl sub_80381F4 - ldr r1, [r4] - str r0, [r1, 0x44] - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _080333CC - ldr r0, [r4] - movs r4, 0x84 - lsls r4, 3 - adds r1, r0, r4 - adds r5, 0x40 - adds r0, r5 - b _080333DA - .align 2, 0 -_080333C8: .4byte gUnknown_203B33C -_080333CC: - ldr r0, [r4] - movs r2, 0x84 - lsls r2, 3 - adds r1, r0, r2 - movs r3, 0xE4 - lsls r3, 1 - adds r0, r3 -_080333DA: - ldr r0, [r0] -_080333DC: - str r0, [r1] -_080333DE: - bl xxx_call_start_bg_music - b _080338B4 -_080333E4: - ldr r0, _080333E8 - b _0803388E - .align 2, 0 -_080333E8: .4byte gUnknown_80E311C -_080333EC: - ldr r0, [r6] - movs r4, 0xEF - lsls r4, 2 - adds r0, r4 -_080333F4: - 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 _080338B4 -_08033412: - ldr r0, _08033418 - b _0803388E - .align 2, 0 -_08033418: .4byte gUnknown_80E314C -_0803341C: - 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 r0, [r6] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 -_0803343E: - ldrb r0, [r0] - movs r1, 0 - bl sub_8031D70 - b _080338B4 -_08033448: - ldr r0, _0803344C - b _0803388E - .align 2, 0 -_0803344C: .4byte gUnknown_80E317C -_08033450: - ldr r0, _08033454 - b _0803388E - .align 2, 0 -_08033454: .4byte gUnknown_80E319C -_08033458: - ldr r0, _0803345C - b _0803388E - .align 2, 0 -_0803345C: .4byte gUnknown_80E317C -_08033460: - ldr r0, _08033464 - b _0803388E - .align 2, 0 -_08033464: .4byte gUnknown_80E31D8 -_08033468: - ldr r0, _0803346C - b _0803388E - .align 2, 0 -_0803346C: .4byte gUnknown_80E31FC -_08033470: - ldr r0, [r6] - ldr r2, _08033488 - adds r0, r2 - ldr r0, [r0] - cmp r0, 0xC - bne _0803347E - b _080338B4 -_0803347E: - cmp r0, 0xC - bhi _0803348C - cmp r0, 0xB - beq _08033492 - b _080338B4 - .align 2, 0 -_08033488: .4byte 0x00000524 -_0803348C: - cmp r0, 0xE - bls _08033492 - b _080338B4 -_08033492: - ldr r0, _08033498 - b _0803388E - .align 2, 0 -_08033498: .4byte gUnknown_80E3220 -_0803349C: - movs r0, 0x98 - lsls r0, 1 - bl GetMonSpecies - adds r1, r0, 0 - ldr r4, _080334F8 - ldr r0, [r4] - ldr r3, _080334FC - adds r0, r3 - bl strcpy - ldr r1, [r4] - movs r5, 0xAA - lsls r5, 3 - adds r0, r1, r5 - movs r2, 0 - strh r2, [r0] - ldr r0, _08033500 - adds r1, r0 - movs r0, 0x2 - strb r0, [r1] - ldr r0, [r4] - ldr r3, _08033504 - adds r1, r0, r3 - str r2, [r1] - movs r5, 0x84 - lsls r5, 3 - adds r0, r5 - 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 _08033508 - ldr r0, [r4] - movs r3, 0xAB - lsls r3, 3 - adds r0, r3 - b _08033512 - .align 2, 0 -_080334F8: .4byte gUnknown_203B33C -_080334FC: .4byte 0x0000053c -_08033500: .4byte 0x00000552 -_08033504: .4byte 0x00000554 -_08033508: - ldr r0, [r4] - movs r4, 0xAB - lsls r4, 3 - adds r0, r4 - movs r1, 0 -_08033512: - strb r1, [r0] - ldr r4, _08033558 - ldr r0, [r4] - ldr r5, _0803355C - adds r0, r5 - 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, _08033560 - adds r1, r0 - strb r5, [r1] - ldr r0, [r4] - ldr r1, _08033564 - adds r0, r1 - strb r5, [r0] - ldr r0, [r4] - ldr r2, _08033568 - adds r0, r2 - strb r5, [r0] - ldr r0, [r4] - subs r3, 0x24 - adds r0, r3 - movs r1, 0 - bl sub_802F204 - b _080338B4 - .align 2, 0 -_08033558: .4byte gUnknown_203B33C -_0803355C: .4byte 0x0000055b -_08033560: .4byte 0x00000559 -_08033564: .4byte 0x0000055a -_08033568: .4byte 0x0000055c -_0803356C: - movs r0, 0 - bl nullsub_23 - ldr r0, _08033580 -_08033574: - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80141B4 - b _080338B4 - .align 2, 0 -_08033580: .4byte gUnknown_80E2DD0 -_08033584: - ldr r0, [r6] - ldr r4, _0803359C - adds r0, r4 - ldr r0, [r0] - cmp r0, 0xC - bne _08033592 - b _080338B4 -_08033592: - cmp r0, 0xC - bhi _080335A0 - cmp r0, 0xB - beq _080335A6 - b _080338B4 - .align 2, 0 -_0803359C: .4byte 0x00000524 -_080335A0: - cmp r0, 0xE - bls _080335A6 - b _080338B4 -_080335A6: - ldr r0, _080335AC - b _0803388E - .align 2, 0 -_080335AC: .4byte gUnknown_80E3248 -_080335B0: - ldr r0, _080335B4 - b _0803388E - .align 2, 0 -_080335B4: .4byte gUnknown_80E3288 -_080335B8: - ldr r0, _080335BC - b _080336FA - .align 2, 0 -_080335BC: .4byte gUnknown_80E2D7C -_080335C0: - bl sub_808D33C - adds r1, r0, 0 - adds r1, 0x4C - add r0, sp, 0x14 - movs r2, 0xA - bl sub_80922B4 - ldr r5, _080335E8 - ldr r0, [r5] - ldr r4, _080335EC - adds r0, r4 - ldr r1, _080335F0 - add r2, sp, 0x14 - bl sub_800D158 - ldr r0, [r5] - adds r0, r4 - b _0803388E - .align 2, 0 -_080335E8: .4byte gUnknown_203B33C -_080335EC: .4byte 0x00000424 -_080335F0: .4byte gUnknown_80E32C4 -_080335F4: - ldr r0, _080335FC - ldr r3, _08033600 - b _080336FC - .align 2, 0 -_080335FC: .4byte gUnknown_80E331C -_08033600: .4byte gUnknown_80E24D8 -_08033604: - ldr r0, _08033608 - b _0803388E - .align 2, 0 -_08033608: .4byte gUnknown_80E317C -_0803360C: - ldr r0, _08033610 - b _0803388E - .align 2, 0 -_08033610: .4byte gUnknown_80E2A0C -_08033614: - ldr r0, _08033618 - b _0803388E - .align 2, 0 -_08033618: .4byte gUnknown_80E3378 -_0803361C: - ldr r0, _0803363C - ldr r3, _08033640 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x16 - bl sub_8014248 - b _080338B4 - .align 2, 0 -_0803363C: .4byte gUnknown_80E339C -_08033640: .4byte gUnknown_80E24B0 -_08033644: - ldr r0, _08033664 - ldr r3, _08033668 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x15 - bl sub_8014248 - b _080338B4 - .align 2, 0 -_08033664: .4byte gUnknown_80E33D8 -_08033668: .4byte gUnknown_80E2470 -_0803366C: - ldr r0, _08033670 - b _0803388E - .align 2, 0 -_08033670: .4byte gUnknown_80E3430 -_08033674: - ldr r0, _0803367C - ldr r3, _08033680 - b _080336FC - .align 2, 0 -_0803367C: .4byte gUnknown_80E34B0 -_08033680: .4byte gUnknown_80E2440 -_08033684: - ldr r0, _08033688 - b _0803388E - .align 2, 0 -_08033688: .4byte gUnknown_80E34F0 -_0803368C: - bl sub_8030894 - cmp r0, 0 - beq _08033696 - b _080338B4 -_08033696: - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x5 -_080336A6: - movs r1, 0 - movs r2, 0 - movs r3, 0x6 - bl sub_80306A8 - b _080338B4 -_080336B2: - 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, _080336F0 - ldr r2, _080336F4 -_080336CC: - 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 -_080336E2: - ldr r0, [r6] - adds r0, r5 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - b _080338B4 - .align 2, 0 -_080336F0: .4byte gUnknown_80E231C -_080336F4: .4byte gUnknown_80E234C -_080336F8: - ldr r0, _08033718 -_080336FA: - ldr r3, _0803371C -_080336FC: - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x6 - bl sub_8014248 - b _080338B4 - .align 2, 0 -_08033718: .4byte gUnknown_80E352C -_0803371C: .4byte gUnknown_80E2290 -_08033720: - ldr r0, _08033724 - b _0803388E - .align 2, 0 -_08033724: .4byte gUnknown_80E355C -_08033728: - ldr r0, _0803372C - b _0803388E - .align 2, 0 -_0803372C: .4byte gUnknown_80E35AC -_08033730: - ldr r0, _08033734 - b _0803388E - .align 2, 0 -_08033734: .4byte gUnknown_80E35E8 -_08033738: - ldr r0, [r6] - ldr r0, [r0, 0x40] - cmp r0, 0x6 - bne _08033748 - ldr r0, _08033744 - b _0803374A - .align 2, 0 -_08033744: .4byte gUnknown_80E360C -_08033748: - ldr r0, _08033768 -_0803374A: - ldr r3, _0803376C - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0xB - bl sub_8014248 - b _080338B4 - .align 2, 0 -_08033768: .4byte gUnknown_80E3644 -_0803376C: .4byte gUnknown_80E236C -_08033770: - ldr r0, _08033780 - ldr r1, [r6] - ldr r5, _08033784 - adds r1, r5 - ldr r2, [r1] - ldr r3, _08033788 - b _08033858 - .align 2, 0 -_08033780: .4byte gUnknown_80E367C -_08033784: .4byte 0x00000564 -_08033788: .4byte gUnknown_80E25B4 -_0803378C: - ldr r0, [r6] - ldr r1, _080337A4 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x24 - beq _080337BC - cmp r0, 0x24 - bgt _080337A8 - cmp r0, 0x23 - beq _080337B2 - b _080338B4 - .align 2, 0 -_080337A4: .4byte 0x00000564 -_080337A8: - cmp r0, 0x25 - beq _080337C4 - cmp r0, 0x26 - beq _080337CC - b _080338B4 -_080337B2: - ldr r0, _080337B8 - b _0803388E - .align 2, 0 -_080337B8: .4byte gUnknown_80E3690 -_080337BC: - ldr r0, _080337C0 - b _0803388E - .align 2, 0 -_080337C0: .4byte gUnknown_80E3818 -_080337C4: - ldr r0, _080337C8 - b _0803388E - .align 2, 0 -_080337C8: .4byte gUnknown_80E3998 -_080337CC: - ldr r0, _080337D0 - b _0803388E - .align 2, 0 -_080337D0: .4byte gUnknown_80E3B1C -_080337D4: - ldr r0, _080337E4 - ldr r1, [r6] - ldr r2, _080337E8 - adds r1, r2 - ldr r2, [r1] - ldr r3, _080337EC - b _08033858 - .align 2, 0 -_080337E4: .4byte gUnknown_80E367C -_080337E8: .4byte 0x00000564 -_080337EC: .4byte gUnknown_80E2554 -_080337F0: - ldr r0, [r6] - ldr r3, _08033808 - adds r0, r3 - ldr r0, [r0] - subs r0, 0x1E - cmp r0, 0x4 - bhi _080338B4 - lsls r0, 2 - ldr r1, _0803380C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08033808: .4byte 0x00000564 -_0803380C: .4byte _08033810 - .align 2, 0 -_08033810: - .4byte _08033824 - .4byte _0803382C - .4byte _0803383C - .4byte _08033834 - .4byte _08033844 -_08033824: - ldr r0, _08033828 - b _0803388E - .align 2, 0 -_08033828: .4byte gUnknown_80E3BF8 -_0803382C: - ldr r0, _08033830 - b _0803388E - .align 2, 0 -_08033830: .4byte gUnknown_80E3DE4 -_08033834: - ldr r0, _08033838 - b _0803388E - .align 2, 0 -_08033838: .4byte gUnknown_80E3E98 -_0803383C: - ldr r0, _08033840 - b _0803388E - .align 2, 0 -_08033840: .4byte gUnknown_80E4014 -_08033844: - ldr r0, _08033848 - b _0803388E - .align 2, 0 -_08033848: .4byte gUnknown_80E4130 -_0803384C: - ldr r0, _08033870 - ldr r1, [r6] - ldr r4, _08033874 - adds r1, r4 - ldr r2, [r1] - ldr r3, _08033878 -_08033858: - movs r4, 0 - str r4, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] -_08033864: - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - bl sub_8014248 - b _080338B4 - .align 2, 0 -_08033870: .4byte gUnknown_80E367C -_08033874: .4byte 0x00000564 -_08033878: .4byte gUnknown_80E24F8 -_0803387C: - ldr r0, [r6] - ldr r5, _0803389C - adds r0, r5 - ldr r0, [r0] - cmp r0, 0x1A - beq _080338A8 - cmp r0, 0x1D - bne _080338B4 - ldr r0, _080338A0 -_0803388E: - ldr r3, _080338A4 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _080338B4 - .align 2, 0 -_0803389C: .4byte 0x00000564 -_080338A0: .4byte gUnknown_80E41DC -_080338A4: .4byte 0x00000101 -_080338A8: - ldr r0, _080338BC - ldr r3, _080338C0 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_080338B4: - add sp, 0x68 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080338BC: .4byte gUnknown_80E4314 -_080338C0: .4byte 0x00000101 - thumb_func_end sub_8032828 - - thumb_func_start sub_80338C4 -sub_80338C4: - push {lr} - ldr r1, _080338D8 - ldr r1, [r1] - str r0, [r1] - bl nullsub_40 - bl sub_8032828 - pop {r0} - bx r0 - .align 2, 0 -_080338D8: .4byte gUnknown_203B33C - thumb_func_end sub_80338C4 - - thumb_func_start sub_80338DC -sub_80338DC: - push {lr} - cmp r0, 0x10 - bls _080338E4 - b _080339BC -_080338E4: - lsls r0, 2 - ldr r1, _080338F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080338F0: .4byte _080338F4 - .align 2, 0 -_080338F4: - .4byte _080339BC - .4byte _08033998 - .4byte _08033940 - .4byte _08033938 - .4byte _08033948 - .4byte _08033998 - .4byte _08033950 - .4byte _08033958 - .4byte _08033960 - .4byte _08033968 - .4byte _08033970 - .4byte _08033978 - .4byte _08033980 - .4byte _08033990 - .4byte _08033998 - .4byte _080339B0 - .4byte _08033988 -_08033938: - ldr r0, _0803393C - b _0803399A - .align 2, 0 -_0803393C: .4byte gUnknown_80E44A4 -_08033940: - ldr r0, _08033944 - b _0803399A - .align 2, 0 -_08033944: .4byte gUnknown_80E4500 -_08033948: - ldr r0, _0803394C - b _0803399A - .align 2, 0 -_0803394C: .4byte gUnknown_80E4550 -_08033950: - ldr r0, _08033954 - b _0803399A - .align 2, 0 -_08033954: .4byte gUnknown_80E45B4 -_08033958: - ldr r0, _0803395C - b _0803399A - .align 2, 0 -_0803395C: .4byte gUnknown_80E460C -_08033960: - ldr r0, _08033964 - b _0803399A - .align 2, 0 -_08033964: .4byte gUnknown_80E4650 -_08033968: - ldr r0, _0803396C - b _0803399A - .align 2, 0 -_0803396C: .4byte gUnknown_80E468C -_08033970: - ldr r0, _08033974 - b _0803399A - .align 2, 0 -_08033974: .4byte gUnknown_80E46C8 -_08033978: - ldr r0, _0803397C - b _0803399A - .align 2, 0 -_0803397C: .4byte gUnknown_80E4704 -_08033980: - ldr r0, _08033984 - b _0803399A - .align 2, 0 -_08033984: .4byte gUnknown_80E4744 -_08033988: - ldr r0, _0803398C - b _0803399A - .align 2, 0 -_0803398C: .4byte gUnknown_80E4788 -_08033990: - ldr r0, _08033994 - b _0803399A - .align 2, 0 -_08033994: .4byte gUnknown_80E47D8 -_08033998: - ldr r0, _080339A8 -_0803399A: - ldr r3, _080339AC - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - b _080339BC - .align 2, 0 -_080339A8: .4byte gUnknown_80E4480 -_080339AC: .4byte 0x00000101 -_080339B0: - ldr r0, _080339C0 - ldr r3, _080339C4 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_080339BC: - pop {r0} - bx r0 - .align 2, 0 -_080339C0: .4byte gUnknown_80E482C -_080339C4: .4byte 0x00000101 - thumb_func_end sub_80338DC - - thumb_func_start sub_80339C8 -sub_80339C8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033A24 - ldr r0, _080339F4 - ldr r0, [r0] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - ldr r1, _080339F8 - strh r1, [r0] - ldr r0, [sp] - cmp r0, 0x1 - beq _08033A0E - cmp r0, 0x1 - bgt _080339FC - cmp r0, 0 - beq _08033A06 - b _08033A24 - .align 2, 0 -_080339F4: .4byte gUnknown_203B33C -_080339F8: .4byte 0x0000ffff -_080339FC: - cmp r0, 0x8 - beq _08033A1E - cmp r0, 0x17 - beq _08033A16 - b _08033A24 -_08033A06: - movs r0, 0x3 - bl sub_80338C4 - b _08033A24 -_08033A0E: - movs r0, 0x4 - bl sub_80338C4 - b _08033A24 -_08033A16: - movs r0, 0x78 - bl sub_80338C4 - b _08033A24 -_08033A1E: - movs r0, 0x2 - bl sub_80338C4 -_08033A24: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80339C8 - - thumb_func_start sub_8033A2C -sub_8033A2C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - beq _08033A3C - b _08033B86 -_08033A3C: - ldr r2, _08033A58 - ldr r1, [r2] - movs r0, 0x8 - str r0, [r1, 0x40] - ldr r0, [sp] - subs r0, 0x3 - cmp r0, 0x11 - bls _08033A4E - b _08033B86 -_08033A4E: - lsls r0, 2 - ldr r1, _08033A5C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08033A58: .4byte gUnknown_203B33C -_08033A5C: .4byte _08033A60 - .align 2, 0 -_08033A60: - .4byte _08033ACA - .4byte _08033AEC - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B80 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033B86 - .4byte _08033AA8 - .4byte _08033B14 - .4byte _08033B3E - .4byte _08033B68 -_08033AA8: - ldr r0, [r2] - movs r1, 0x2 - str r1, [r0, 0x40] - movs r1, 0xA5 - lsls r1, 3 - adds r0, r1 - movs r1, 0x11 - str r1, [r0] - movs r0, 0x1 - bl sub_8095324 - cmp r0, 0 - beq _08033B0C - movs r0, 0x31 - bl sub_80338C4 - b _08033B86 -_08033ACA: - ldr r0, [r2] - movs r1, 0x3 - str r1, [r0, 0x40] - movs r2, 0xA5 - lsls r2, 3 - adds r0, r2 - str r1, [r0] - bl sub_8095190 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - bne _08033B36 - movs r0, 0xF - bl sub_80338C4 - b _08033B86 -_08033AEC: - ldr r0, [r2] - movs r1, 0x4 - str r1, [r0, 0x40] - movs r2, 0xA5 - lsls r2, 3 - adds r0, r2 - str r1, [r0] - movs r0, 0x4 - bl sub_8095324 - cmp r0, 0 - beq _08033B0C - movs r0, 0x1C - bl sub_80338C4 - b _08033B86 -_08033B0C: - movs r0, 0x22 - bl sub_80338C4 - b _08033B86 -_08033B14: - ldr r0, [r2] - movs r1, 0x5 - str r1, [r0, 0x40] - movs r1, 0xA5 - lsls r1, 3 - adds r0, r1 - movs r1, 0x12 - str r1, [r0] - movs r0, 0x5 - bl sub_8095324 - cmp r0, 0 - beq _08033B36 - movs r0, 0x3D - bl sub_80338C4 - b _08033B86 -_08033B36: - movs r0, 0xE - bl sub_80338C4 - b _08033B86 -_08033B3E: - ldr r0, [r2] - movs r1, 0x6 - str r1, [r0, 0x40] - movs r2, 0xA5 - lsls r2, 3 - adds r0, r2 - movs r1, 0x13 - str r1, [r0] - movs r0, 0x5 - bl sub_8095324 - cmp r0, 0 - bne _08033B60 - movs r0, 0x51 - bl sub_80338C4 - b _08033B86 -_08033B60: - movs r0, 0x5B - bl sub_80338C4 - b _08033B86 -_08033B68: - ldr r0, [r2] - movs r1, 0x7 - str r1, [r0, 0x40] - movs r1, 0xA5 - lsls r1, 3 - adds r0, r1 - movs r1, 0x14 - str r1, [r0] - movs r0, 0x52 - bl sub_80338C4 - b _08033B86 -_08033B80: - movs r0, 0x1 - bl sub_80338C4 -_08033B86: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033A2C - - thumb_func_start sub_8033B8C -sub_8033B8C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033C4C - ldr r2, [sp] - cmp r2, 0xC - bgt _08033BAA - cmp r2, 0xB - bge _08033BB0 - cmp r2, 0x8 - beq _08033C46 - b _08033C4C -_08033BAA: - cmp r2, 0xD - beq _08033BF4 - b _08033C4C -_08033BB0: - ldr r0, _08033BD4 - ldr r0, [r0] - ldr r1, _08033BD8 - adds r2, r0, r1 - movs r1, 0xB - str r1, [r2] - movs r3, 0xA5 - lsls r3, 3 - adds r0, r3 - ldr r0, [r0] - cmp r0, 0x4 - beq _08033BEC - cmp r0, 0x4 - bhi _08033BDC - cmp r0, 0x3 - beq _08033BE4 - b _08033C4C - .align 2, 0 -_08033BD4: .4byte gUnknown_203B33C -_08033BD8: .4byte 0x00000524 -_08033BDC: - cmp r0, 0x12 - bhi _08033C4C - cmp r0, 0x11 - bcc _08033C4C -_08033BE4: - movs r0, 0x5 - bl sub_80338C4 - b _08033C4C -_08033BEC: - movs r0, 0x23 - bl sub_80338C4 - b _08033C4C -_08033BF4: - ldr r0, _08033C14 - ldr r0, [r0] - ldr r3, _08033C18 - adds r1, r0, r3 - str r2, [r1] - movs r1, 0xA5 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x4 - beq _08033C3E - cmp r0, 0x4 - bhi _08033C1C - cmp r0, 0x3 - beq _08033C26 - b _08033C4C - .align 2, 0 -_08033C14: .4byte gUnknown_203B33C -_08033C18: .4byte 0x00000524 -_08033C1C: - cmp r0, 0x11 - beq _08033C2E - cmp r0, 0x12 - beq _08033C36 - b _08033C4C -_08033C26: - movs r0, 0x19 - bl sub_80338C4 - b _08033C4C -_08033C2E: - movs r0, 0x39 - bl sub_80338C4 - b _08033C4C -_08033C36: - movs r0, 0x43 - bl sub_80338C4 - b _08033C4C -_08033C3E: - movs r0, 0x2D - bl sub_80338C4 - b _08033C4C -_08033C46: - movs r0, 0x1 - bl sub_80338C4 -_08033C4C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033B8C - - thumb_func_start sub_8033C54 -sub_8033C54: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033CA2 - ldr r0, [sp] - cmp r0, 0x6 - beq _08033C6E - cmp r0, 0x8 - beq _08033C9C - b _08033CA2 -_08033C6E: - ldr r0, _08033C88 - ldr r0, [r0] - movs r1, 0xA5 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x4 - beq _08033C94 - cmp r0, 0x4 - bhi _08033C8C - cmp r0, 0x3 - beq _08033C94 - b _08033CA2 - .align 2, 0 -_08033C88: .4byte gUnknown_203B33C -_08033C8C: - cmp r0, 0x11 - beq _08033C94 - cmp r0, 0x12 - bne _08033CA2 -_08033C94: - movs r0, 0xD - bl sub_80338C4 - b _08033CA2 -_08033C9C: - movs r0, 0x1 - bl sub_80338C4 -_08033CA2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033C54 - - thumb_func_start nullsub_41 -nullsub_41: - bx lr - thumb_func_end nullsub_41 - - thumb_func_start sub_8033CAC -sub_8033CAC: - push {r4,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033D40 - ldr r4, _08033CDC - ldr r1, [r4] - ldr r0, [r1, 0x44] - cmp r0, 0 - bne _08033D36 - movs r2, 0xA5 - lsls r2, 3 - adds r0, r1, r2 - ldr r0, [r0] - cmp r0, 0x4 - beq _08033D2E - cmp r0, 0x4 - bhi _08033CE0 - cmp r0, 0x3 - beq _08033CEA - b _08033D40 - .align 2, 0 -_08033CDC: .4byte gUnknown_203B33C -_08033CE0: - cmp r0, 0x11 - beq _08033CF2 - cmp r0, 0x12 - beq _08033CFA - b _08033D40 -_08033CEA: - movs r0, 0x16 - bl sub_80338C4 - b _08033D40 -_08033CF2: - movs r0, 0x37 - bl sub_80338C4 - b _08033D40 -_08033CFA: - bl sub_800D588 - lsls r0, 24 - cmp r0, 0 - beq _08033D12 - ldr r0, [r4] - movs r1, 0xB4 - lsls r1, 1 - adds r0, r1 - movs r2, 0 - ldrsh r0, [r0, r2] - b _08033D1A -_08033D12: - ldr r0, [r4] - adds r0, 0xE0 - movs r1, 0 - ldrsh r0, [r0, r1] -_08033D1A: - cmp r0, 0 - beq _08033D26 - movs r0, 0x3F - bl sub_80338C4 - b _08033D40 -_08033D26: - movs r0, 0x40 - bl sub_80338C4 - b _08033D40 -_08033D2E: - movs r0, 0x2B - bl sub_80338C4 - b _08033D40 -_08033D36: - bl sub_80338DC - movs r0, 0x8 - bl sub_80338C4 -_08033D40: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8033CAC - - thumb_func_start sub_8033D48 -sub_8033D48: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033D5C - movs r0, 0x1 - bl sub_80338C4 -_08033D5C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033D48 - - thumb_func_start nullsub_42 -nullsub_42: - bx lr - thumb_func_end nullsub_42 - - thumb_func_start nullsub_43 -nullsub_43: - bx lr - thumb_func_end nullsub_43 - - thumb_func_start nullsub_44 -nullsub_44: - bx lr - thumb_func_end nullsub_44 - - thumb_func_start nullsub_45 -nullsub_45: - bx lr - thumb_func_end nullsub_45 - - thumb_func_start sub_8033D74 -sub_8033D74: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033D8E - movs r0, 0x17 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_08033D8E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033D74 - - thumb_func_start sub_8033D94 -sub_8033D94: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033DB6 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08033DB6 - bl sub_8012750 - movs r0, 0x18 - bl sub_80338C4 -_08033DB6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033D94 - - thumb_func_start sub_8033DBC -sub_8033DBC: - push {r4,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 _08033DD6 - b _08033F38 -_08033DD6: - cmp r4, 0x3 - beq _08033DDC - b _08033F58 -_08033DDC: - ldr r2, _08033DF4 - ldr r1, _08033DF8 - ldr r0, [r1] - movs r3, 0xA5 - lsls r3, 3 - adds r0, r3 - ldr r0, [r0] - cmp r0, 0x3 - beq _08033DFC - cmp r0, 0x12 - beq _08033E00 - b _08033E02 - .align 2, 0 -_08033DF4: .4byte 0x0000ffdc -_08033DF8: .4byte gUnknown_203B33C -_08033DFC: - movs r2, 0x1C - b _08033E02 -_08033E00: - movs r2, 0x1E -_08033E02: - ldr r1, [r1] - adds r1, 0x8 - adds r0, r2, 0 - add r2, sp, 0x14 - bl sub_8039068 - subs r0, 0x7 - cmp r0, 0x11 - bls _08033E16 - b _08033F2E -_08033E16: - lsls r0, 2 - ldr r1, _08033E20 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08033E20: .4byte _08033E24 - .align 2, 0 -_08033E24: - .4byte _08033EA0 - .4byte _08033F2E - .4byte _08033EE0 - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033E6C - .4byte _08033E98 - .4byte _08033ED8 - .4byte _08033F2E - .4byte _08033F2E - .4byte _08033EA8 - .4byte _08033EFC - .4byte _08033F2E -_08033E6C: - ldr r0, _08033E90 - ldr r3, _08033E94 - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x6 - bl sub_8014248 - movs r0, 0x1B - bl sub_80338C4 - b _08033F2E - .align 2, 0 -_08033E90: .4byte gUnknown_80E48A8 -_08033E94: .4byte gUnknown_80E2290 -_08033E98: - ldr r0, _08033E9C - b _08033EE2 - .align 2, 0 -_08033E9C: .4byte gUnknown_80E48E8 -_08033EA0: - ldr r0, _08033EA4 - b _08033EE2 - .align 2, 0 -_08033EA4: .4byte gUnknown_80E460C -_08033EA8: - ldr r0, [sp, 0x24] - bl sub_8095274 - add r1, sp, 0x14 - movs r0, 0x2 - strb r0, [r1] - adds r0, r1, 0 - bl sub_80951BC - ldr r0, _08033ED0 - ldr r3, _08033ED4 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - movs r0, 0x16 - bl sub_80338C4 - b _08033F2E - .align 2, 0 -_08033ED0: .4byte gUnknown_80E4928 -_08033ED4: .4byte 0x00000101 -_08033ED8: - ldr r0, _08033EDC - b _08033EE2 - .align 2, 0 -_08033EDC: .4byte gUnknown_80E4964 -_08033EE0: - ldr r0, _08033EF4 -_08033EE2: - ldr r3, _08033EF8 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - movs r0, 0x8 - bl sub_80338C4 - b _08033F2E - .align 2, 0 -_08033EF4: .4byte gUnknown_80E499C -_08033EF8: .4byte 0x00000101 -_08033EFC: - add r1, sp, 0x14 - movs r0, 0x5 - strb r0, [r1] - adds r0, r1, 0 - bl sub_80951FC - ldr r1, [sp, 0x24] - movs r0, 0x1 - bl sub_809539C - lsls r0, 24 - lsrs r0, 24 - bl sub_8095228 - movs r1, 0x7 - strb r1, [r0] - ldr r0, _08033F34 - ldr r0, [r0] - movs r1, 0 - movs r2, 0x5C - bl MemoryFill8 - movs r0, 0x40 - bl sub_80338C4 -_08033F2E: - bl sub_80155F0 - b _08033F58 - .align 2, 0 -_08033F34: .4byte gUnknown_203B484 -_08033F38: - bl sub_80155F0 - bl ResetUnusedInputStruct - ldr r0, _08033F60 - 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_80338C4 -_08033F58: - add sp, 0x44 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08033F60: .4byte gUnknown_203B33C - thumb_func_end sub_8033DBC - - thumb_func_start sub_8033F64 -sub_8033F64: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033FAE - ldr r0, [sp] - cmp r0, 0x6 - beq _08033F7E - cmp r0, 0x8 - beq _08033FA8 - b _08033FAE -_08033F7E: - ldr r0, _08033F94 - ldr r0, [r0] - movs r1, 0xA5 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0x3 - beq _08033F98 - cmp r0, 0x12 - beq _08033FA0 - b _08033FAE - .align 2, 0 -_08033F94: .4byte gUnknown_203B33C -_08033F98: - movs r0, 0x19 - bl sub_80338C4 - b _08033FAE -_08033FA0: - movs r0, 0x43 - bl sub_80338C4 - b _08033FAE -_08033FA8: - movs r0, 0x1 - bl sub_80338C4 -_08033FAE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033F64 - - thumb_func_start sub_8033FB4 -sub_8033FB4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08033FDE - ldr r0, [sp] - cmp r0, 0x6 - bne _08033FD0 - movs r0, 0xE - bl sub_80338C4 - b _08033FDE -_08033FD0: - cmp r0, 0x6 - blt _08033FDE - cmp r0, 0x8 - bgt _08033FDE - movs r0, 0x1 - bl sub_80338C4 -_08033FDE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8033FB4 - - thumb_func_start sub_8033FE4 -sub_8033FE4: - push {r4,r5,lr} - movs r0, 0x1 - bl sub_8030768 - cmp r0, 0x3 - beq _0803400C - cmp r0, 0x3 - bhi _08033FFA - cmp r0, 0x2 - beq _08034000 - b _0803406A -_08033FFA: - cmp r0, 0x4 - beq _08034028 - b _0803406A -_08034000: - bl sub_803084C - movs r0, 0x1 - bl sub_80338C4 - b _0803406A -_0803400C: - bl sub_80307EC - ldr r1, _08034024 - ldr r1, [r1] - movs r2, 0x86 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - movs r0, 0x1E - bl sub_80338C4 - b _0803406A - .align 2, 0 -_08034024: .4byte gUnknown_203B33C -_08034028: - ldr r4, _08034070 - ldr r1, [r4] - movs r0, 0x1D - str r0, [r1, 0x4] - bl sub_80307EC - ldr r1, [r4] - movs r5, 0x86 - lsls r5, 2 - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x1F - bl sub_80338C4 -_0803406A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08034070: .4byte gUnknown_203B33C - thumb_func_end sub_8033FE4 - - thumb_func_start sub_8034074 -sub_8034074: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_8030768 - ldr r4, _080340B8 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _080340A6 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_080340A6: - ldr r0, [sp] - cmp r0, 0x8 - beq _08034108 - cmp r0, 0x8 - bgt _080340BC - cmp r0, 0x5 - beq _08034108 - b _08034124 - .align 2, 0 -_080340B8: .4byte gUnknown_203B33C -_080340BC: - cmp r0, 0x9 - beq _080340C6 - cmp r0, 0xA - beq _080340D2 - b _08034124 -_080340C6: - bl sub_803084C - movs r0, 0x20 - bl sub_80338C4 - b _08034124 -_080340D2: - ldr r0, [r4] - movs r1, 0x7E - str r1, [r0, 0x4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x1F - bl sub_80338C4 - b _08034124 -_08034108: - ldr r0, _0803412C - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x2 - bl sub_8035CC0 - movs r0, 0x1 - bl sub_8030810 - movs r0, 0x1D - bl sub_80338C4 -_08034124: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803412C: .4byte gUnknown_203B33C - thumb_func_end sub_8034074 - - thumb_func_start sub_8034130 -sub_8034130: - push {r4,lr} - bl sub_8030DA0 - cmp r0, 0x3 - bhi _08034184 - cmp r0, 0x2 - bcc _08034184 - bl sub_8030DE4 - bl ResetUnusedInputStruct - ldr r4, _0803417C - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_803092C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x7E - bne _08034180 - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x1E - bl sub_80338C4 - b _08034184 - .align 2, 0 -_0803417C: .4byte gUnknown_203B33C -_08034180: - bl sub_80338C4 -_08034184: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8034130 - - thumb_func_start sub_803418C -sub_803418C: - push {r4,r5,lr} - movs r0, 0x1 - bl sub_8023A94 - cmp r0, 0x3 - beq _080341D0 - cmp r0, 0x3 - bhi _080341A2 - cmp r0, 0x2 - beq _080341A8 - b _08034248 -_080341A2: - cmp r0, 0x4 - beq _08034204 - b _08034248 -_080341A8: - bl sub_8023C60 - movs r0, 0x1 - bl sub_80338C4 - bl sub_8035D1C - ldr r0, _080341C8 - ldr r0, [r0] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - ldr r1, _080341CC - strh r1, [r0] - b _08034248 - .align 2, 0 -_080341C8: .4byte gUnknown_203B33C -_080341CC: .4byte 0x0000ffff -_080341D0: - bl sub_8023B44 - ldr r1, _080341F4 - ldr r1, [r1] - movs r3, 0xA7 - lsls r3, 3 - adds r2, r1, r3 - strh r0, [r2] - ldr r0, _080341F8 - adds r1, r0 - ldr r0, [r1] - cmp r0, 0xE - bne _080341FC - movs r0, 0x9 - bl sub_80338C4 - b _08034248 - .align 2, 0 -_080341F4: .4byte gUnknown_203B33C -_080341F8: .4byte 0x00000524 -_080341FC: - movs r0, 0x27 - bl sub_80338C4 - b _08034248 -_08034204: - ldr r4, _08034250 - ldr r1, [r4] - movs r0, 0x26 - str r0, [r1, 0x4] - bl sub_8023B44 - adds r2, r0, 0 - ldr r0, [r4] - movs r5, 0xA7 - lsls r5, 3 - adds r1, r0, r5 - strh r2, [r1] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - adds r0, r5 - movs r3, 0 - ldrsh r0, [r0, r3] - movs r1, 0 - bl sub_8024458 - movs r0, 0x28 - bl sub_80338C4 -_08034248: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08034250: .4byte gUnknown_203B33C - thumb_func_end sub_803418C - - thumb_func_start sub_8034254 -sub_8034254: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_8023A94 - ldr r4, _08034298 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08034286 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_08034286: - ldr r0, [sp] - cmp r0, 0x8 - beq _080342EA - cmp r0, 0x8 - bgt _0803429C - cmp r0, 0x5 - beq _080342EA - b _08034304 - .align 2, 0 -_08034298: .4byte gUnknown_203B33C -_0803429C: - cmp r0, 0x9 - beq _080342A6 - cmp r0, 0xA - beq _080342B2 - b _08034304 -_080342A6: - bl sub_8023C60 - movs r0, 0x29 - bl sub_80338C4 - b _08034304 -_080342B2: - ldr r0, [r4] - movs r1, 0x7E - str r1, [r0, 0x4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0xA7 - lsls r1, 3 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0 - bl sub_8024458 - movs r0, 0x28 - bl sub_80338C4 - b _08034304 -_080342EA: - ldr r0, _0803430C - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x3 - bl sub_8035CC0 - bl sub_8023DA4 - movs r0, 0x26 - bl sub_80338C4 -_08034304: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0803430C: .4byte gUnknown_203B33C - thumb_func_end sub_8034254 - - thumb_func_start sub_8034310 -sub_8034310: - push {r4,lr} - bl sub_80244E4 - cmp r0, 0x1 - bne _08034320 - bl sub_802452C - b _08034370 -_08034320: - cmp r0, 0x1 - bcc _08034370 - cmp r0, 0x3 - bhi _08034370 - bl sub_802453C - bl ResetUnusedInputStruct - ldr r4, _08034368 - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_8023B7C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x7E - bne _0803436C - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x27 - bl sub_80338C4 - b _08034370 - .align 2, 0 -_08034368: .4byte gUnknown_203B33C -_0803436C: - bl sub_80338C4 -_08034370: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8034310 - - thumb_func_start sub_8034378 -sub_8034378: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080343BE - ldr r0, [sp] - cmp r0, 0x8 - beq _080343B8 - cmp r0, 0x10 - bne _080343BE - ldr r0, _080343A8 - ldr r0, [r0] - ldr r1, _080343AC - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xE - bne _080343B0 - movs r0, 0x9 - bl sub_80338C4 - b _080343BE - .align 2, 0 -_080343A8: .4byte gUnknown_203B33C -_080343AC: .4byte 0x00000524 -_080343B0: - movs r0, 0x5 - bl sub_80338C4 - b _080343BE -_080343B8: - movs r0, 0x1 - bl sub_80338C4 -_080343BE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034378 - - thumb_func_start sub_80343C4 -sub_80343C4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080343FE - ldr r0, [sp] - cmp r0, 0x7 - beq _080343F0 - cmp r0, 0x7 - bgt _080343E2 - cmp r0, 0x6 - beq _080343E8 - b _080343FE -_080343E2: - cmp r0, 0x8 - beq _080343F8 - b _080343FE -_080343E8: - movs r0, 0x5 - bl sub_80338C4 - b _080343FE -_080343F0: - movs r0, 0x25 - bl sub_80338C4 - b _080343FE -_080343F8: - movs r0, 0x1 - bl sub_80338C4 -_080343FE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80343C4 - - thumb_func_start sub_8034404 -sub_8034404: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034472 - ldr r0, [sp] - cmp r0, 0xF - beq _08034428 - cmp r0, 0xF - bgt _08034422 - cmp r0, 0x8 - beq _0803446C - b _08034472 -_08034422: - cmp r0, 0x10 - beq _08034444 - b _08034472 -_08034428: - movs r0, 0x3 - bl sub_8024108 - lsls r0, 24 - cmp r0, 0 - beq _0803443C - movs r0, 0x24 - bl sub_80338C4 - b _08034472 -_0803443C: - movs r0, 0x25 - bl sub_80338C4 - b _08034472 -_08034444: - ldr r0, _0803445C - ldr r0, [r0] - ldr r1, _08034460 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xE - bne _08034464 - movs r0, 0x9 - bl sub_80338C4 - b _08034472 - .align 2, 0 -_0803445C: .4byte gUnknown_203B33C -_08034460: .4byte 0x00000524 -_08034464: - movs r0, 0x5 - bl sub_80338C4 - b _08034472 -_0803446C: - movs r0, 0x1 - bl sub_80338C4 -_08034472: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034404 - - thumb_func_start sub_8034478 -sub_8034478: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803449A - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _0803449A - bl sub_8012750 - movs r0, 0x2 - bl sub_80338C4 -_0803449A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034478 - - thumb_func_start sub_80344A0 -sub_80344A0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080344BA - movs r0, 0x2C - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_080344BA: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80344A0 - - thumb_func_start sub_80344C0 -sub_80344C0: - push {lr} - bl sub_8031DCC - cmp r0, 0x1 - beq _080344F8 - cmp r0, 0x1 - bcc _080344FC - cmp r0, 0x3 - bhi _080344FC - bl sub_8031E10 - bl ResetUnusedInputStruct - ldr r0, _080344F4 - ldr r0, [r0] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x2F - bl sub_80338C4 - b _080344FC - .align 2, 0 -_080344F4: .4byte gUnknown_203B33C -_080344F8: - bl sub_8031E00 -_080344FC: - pop {r0} - bx r0 - thumb_func_end sub_80344C0 - - thumb_func_start sub_8034500 -sub_8034500: - push {r4,r5,lr} - movs r0, 0x1 - bl sub_8030768 - cmp r0, 0x3 - beq _08034528 - cmp r0, 0x3 - bhi _08034516 - cmp r0, 0x2 - beq _0803451C - b _08034586 -_08034516: - cmp r0, 0x4 - beq _08034544 - b _08034586 -_0803451C: - bl sub_803084C - movs r0, 0x1 - bl sub_80338C4 - b _08034586 -_08034528: - bl sub_80307EC - ldr r1, _08034540 - ldr r1, [r1] - movs r2, 0x86 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - movs r0, 0x33 - bl sub_80338C4 - b _08034586 - .align 2, 0 -_08034540: .4byte gUnknown_203B33C -_08034544: - ldr r4, _0803458C - ldr r1, [r4] - movs r0, 0x32 - str r0, [r1, 0x4] - bl sub_80307EC - ldr r1, [r4] - movs r5, 0x86 - lsls r5, 2 - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x34 - bl sub_80338C4 -_08034586: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0803458C: .4byte gUnknown_203B33C - thumb_func_end sub_8034500 - - thumb_func_start sub_8034590 -sub_8034590: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_8030768 - ldr r4, _080345D4 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _080345C2 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_080345C2: - ldr r0, [sp] - cmp r0, 0x8 - beq _08034624 - cmp r0, 0x8 - bgt _080345D8 - cmp r0, 0x5 - beq _08034624 - b _08034640 - .align 2, 0 -_080345D4: .4byte gUnknown_203B33C -_080345D8: - cmp r0, 0x9 - beq _080345E2 - cmp r0, 0xA - beq _080345EE - b _08034640 -_080345E2: - bl sub_803084C - movs r0, 0x35 - bl sub_80338C4 - b _08034640 -_080345EE: - ldr r0, [r4] - movs r1, 0x7E - str r1, [r0, 0x4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x34 - bl sub_80338C4 - b _08034640 -_08034624: - ldr r0, _08034648 - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x2 - bl sub_8035CC0 - movs r0, 0x1 - bl sub_8030810 - movs r0, 0x32 - bl sub_80338C4 -_08034640: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034648: .4byte gUnknown_203B33C - thumb_func_end sub_8034590 - - thumb_func_start sub_803464C -sub_803464C: - push {r4,lr} - bl sub_8030DA0 - cmp r0, 0x3 - bhi _080346A0 - cmp r0, 0x2 - bcc _080346A0 - bl sub_8030DE4 - bl ResetUnusedInputStruct - ldr r4, _08034698 - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_803092C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x7E - bne _0803469C - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x33 - bl sub_80338C4 - b _080346A0 - .align 2, 0 -_08034698: .4byte gUnknown_203B33C -_0803469C: - bl sub_80338C4 -_080346A0: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_803464C - - thumb_func_start sub_80346A8 -sub_80346A8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080346D2 - ldr r0, [sp] - cmp r0, 0x6 - bne _080346C4 - movs r0, 0xE - bl sub_80338C4 - b _080346D2 -_080346C4: - cmp r0, 0x6 - blt _080346D2 - cmp r0, 0x8 - bgt _080346D2 - movs r0, 0x1 - bl sub_80338C4 -_080346D2: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80346A8 - - thumb_func_start sub_80346D8 -sub_80346D8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080346FA - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _080346FA - bl sub_8012750 - movs r0, 0x2 - bl sub_80338C4 -_080346FA: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80346D8 - - thumb_func_start sub_8034700 -sub_8034700: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803471A - movs r0, 0x38 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_0803471A: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034700 - - thumb_func_start sub_8034720 -sub_8034720: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034734 - movs r0, 0x3A - bl sub_80338C4 -_08034734: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034720 - - thumb_func_start sub_803473C -sub_803473C: - push {lr} - bl sub_8031DCC - cmp r0, 0x1 - beq _08034774 - cmp r0, 0x1 - bcc _08034778 - cmp r0, 0x3 - bhi _08034778 - bl sub_8031E10 - bl ResetUnusedInputStruct - ldr r0, _08034770 - ldr r0, [r0] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x3B - bl sub_80338C4 - b _08034778 - .align 2, 0 -_08034770: .4byte gUnknown_203B33C -_08034774: - bl sub_8031E00 -_08034778: - pop {r0} - bx r0 - thumb_func_end sub_803473C - - thumb_func_start sub_803477C -sub_803477C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080347A6 - ldr r0, [sp] - cmp r0, 0x6 - bne _08034798 - movs r0, 0xE - bl sub_80338C4 - b _080347A6 -_08034798: - cmp r0, 0x6 - blt _080347A6 - cmp r0, 0x8 - bgt _080347A6 - movs r0, 0x1 - bl sub_80338C4 -_080347A6: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_803477C - - thumb_func_start sub_80347AC -sub_80347AC: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080347C0 - movs r0, 0xD - bl sub_80338C4 -_080347C0: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80347AC - - thumb_func_start sub_80347C8 -sub_80347C8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080347DC - movs r0, 0x40 - bl sub_80338C4 -_080347DC: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80347C8 - - thumb_func_start sub_80347E4 -sub_80347E4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080347FE - movs r0, 0x41 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_080347FE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80347E4 - - thumb_func_start sub_8034804 -sub_8034804: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034826 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08034826 - bl sub_8012750 - movs r0, 0x42 - bl sub_80338C4 -_08034826: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034804 - - thumb_func_start sub_803482C -sub_803482C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034840 - movs r0, 0x1 - bl sub_80338C4 -_08034840: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_803482C - - thumb_func_start sub_8034848 -sub_8034848: - push {r4-r6,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - adds r6, r0, 0 - cmp r6, 0 - bne _080348BA - ldr r4, _0803489C - ldr r0, [r4] - ldr r5, _080348A0 - adds r0, r5 - movs r1, 0 - movs r2, 0x4 - bl MemoryFill8 - ldr r0, [r4] - ldr r1, _080348A4 - adds r0, r1 - strb r6, [r0] - ldr r0, [r4] - subs r1, 0x1 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, r5 - strb r6, [r0] - ldr r4, [r4] - ldr r0, [r4, 0x44] - cmp r0, 0 - bne _080348B0 - ldr r4, [r4, 0x40] - cmp r4, 0x6 - beq _080348A8 - cmp r4, 0x7 - bne _080348BA - movs r0, 0x6D - bl sub_80338C4 - b _080348BA - .align 2, 0 -_0803489C: .4byte gUnknown_203B33C -_080348A0: .4byte 0x0000041c -_080348A4: .4byte 0x0000041e -_080348A8: - movs r0, 0x50 - bl sub_80338C4 - b _080348BA -_080348B0: - bl sub_80338DC - movs r0, 0x6B - bl sub_80338C4 -_080348BA: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8034848 - - thumb_func_start sub_80348C4 -sub_80348C4: - push {r4-r6,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - adds r6, r0, 0 - cmp r6, 0 - bne _08034968 - ldr r4, _08034910 - ldr r0, [r4] - ldr r5, _08034914 - adds r0, r5 - movs r1, 0 - movs r2, 0x4 - bl MemoryFill8 - ldr r0, [r4] - ldr r1, _08034918 - adds r0, r1 - strb r6, [r0] - ldr r0, [r4] - subs r1, 0x1 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - adds r0, r5 - strb r6, [r0] - ldr r0, [r4] - ldr r1, [r0, 0x44] - cmp r1, 0 - bne _0803495C - ldr r1, [r0, 0x40] - cmp r1, 0x6 - beq _0803491C - cmp r1, 0x7 - beq _08034954 - b _08034968 - .align 2, 0 -_08034910: .4byte gUnknown_203B33C -_08034914: .4byte 0x0000041c -_08034918: .4byte 0x0000041e -_0803491C: - ldr r1, _08034930 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xC - beq _08034944 - cmp r0, 0xC - bhi _08034934 - cmp r0, 0xB - beq _08034938 - b _08034944 - .align 2, 0 -_08034930: .4byte 0x00000524 -_08034934: - cmp r0, 0xE - bhi _08034944 -_08034938: - ldr r0, _0803494C - ldr r3, _08034950 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 -_08034944: - movs r0, 0x77 - bl sub_80338C4 - b _08034968 - .align 2, 0 -_0803494C: .4byte gUnknown_80E31FC -_08034950: .4byte 0x00000101 -_08034954: - movs r0, 0x6D - bl sub_80338C4 - b _08034968 -_0803495C: - adds r0, r1, 0 - bl sub_80338DC - movs r0, 0x6B - bl sub_80338C4 -_08034968: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80348C4 - - thumb_func_start sub_8034970 -sub_8034970: - push {lr} - bl sub_8031DCC - cmp r0, 0x1 - beq _080349A8 - cmp r0, 0x1 - bcc _080349AC - cmp r0, 0x3 - bhi _080349AC - bl sub_8031E10 - bl ResetUnusedInputStruct - ldr r0, _080349A4 - ldr r0, [r0] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x68 - bl sub_80338C4 - b _080349AC - .align 2, 0 -_080349A4: .4byte gUnknown_203B33C -_080349A8: - bl sub_8031E00 -_080349AC: - pop {r0} - bx r0 - thumb_func_end sub_8034970 - - thumb_func_start sub_80349B0 -sub_80349B0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080349DA - ldr r0, [sp] - cmp r0, 0x6 - bne _080349CC - movs r0, 0x52 - bl sub_80338C4 - b _080349DA -_080349CC: - cmp r0, 0x6 - blt _080349DA - cmp r0, 0x8 - bgt _080349DA - movs r0, 0x1 - bl sub_80338C4 -_080349DA: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80349B0 - - thumb_func_start sub_80349E0 -sub_80349E0: - push {r4,r5,lr} - movs r0, 0x1 - bl sub_8030768 - cmp r0, 0x3 - beq _08034A08 - cmp r0, 0x3 - bhi _080349F6 - cmp r0, 0x2 - beq _080349FC - b _08034A66 -_080349F6: - cmp r0, 0x4 - beq _08034A24 - b _08034A66 -_080349FC: - bl sub_803084C - movs r0, 0x1 - bl sub_80338C4 - b _08034A66 -_08034A08: - bl sub_80307EC - ldr r1, _08034A20 - ldr r1, [r1] - movs r2, 0x86 - lsls r2, 2 - adds r1, r2 - strb r0, [r1] - movs r0, 0x5D - bl sub_80338C4 - b _08034A66 - .align 2, 0 -_08034A20: .4byte gUnknown_203B33C -_08034A24: - ldr r4, _08034A6C - ldr r1, [r4] - movs r0, 0x5C - str r0, [r1, 0x4] - bl sub_80307EC - ldr r1, [r4] - movs r5, 0x86 - lsls r5, 2 - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x5E - bl sub_80338C4 -_08034A66: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08034A6C: .4byte gUnknown_203B33C - thumb_func_end sub_80349E0 - - thumb_func_start sub_8034A70 -sub_8034A70: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_8030768 - ldr r4, _08034AB4 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08034AA2 - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_08034AA2: - ldr r0, [sp] - cmp r0, 0x8 - beq _08034B04 - cmp r0, 0x8 - bgt _08034AB8 - cmp r0, 0x5 - beq _08034B04 - b _08034B20 - .align 2, 0 -_08034AB4: .4byte gUnknown_203B33C -_08034AB8: - cmp r0, 0x9 - beq _08034AC2 - cmp r0, 0xA - beq _08034ACE - b _08034B20 -_08034AC2: - bl sub_803084C - movs r0, 0x5A - bl sub_80338C4 - b _08034B20 -_08034ACE: - ldr r0, [r4] - movs r1, 0x7E - str r1, [r0, 0x4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - movs r1, 0x86 - lsls r1, 2 - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - bl sub_8030D40 - movs r0, 0x5E - bl sub_80338C4 - b _08034B20 -_08034B04: - ldr r0, _08034B28 - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x2 - bl sub_8035CC0 - movs r0, 0x1 - bl sub_8030810 - movs r0, 0x5C - bl sub_80338C4 -_08034B20: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034B28: .4byte gUnknown_203B33C - thumb_func_end sub_8034A70 - - thumb_func_start sub_8034B2C -sub_8034B2C: - push {r4,lr} - bl sub_8030DA0 - cmp r0, 0x3 - bhi _08034B80 - cmp r0, 0x2 - bcc _08034B80 - bl sub_8030DE4 - bl ResetUnusedInputStruct - ldr r4, _08034B78 - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - bl sub_803092C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x7E - bne _08034B7C - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x5D - bl sub_80338C4 - b _08034B80 - .align 2, 0 -_08034B78: .4byte gUnknown_203B33C -_08034B7C: - bl sub_80338C4 -_08034B80: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8034B2C - - thumb_func_start sub_8034B88 -sub_8034B88: - push {r4-r6,lr} - ldr r4, _08034BBC - ldr r0, [r4] - ldr r5, _08034BC0 - adds r0, r5 - movs r2, 0 - strb r2, [r0] - ldr r0, [r4] - ldr r1, _08034BC4 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r4] - ldr r6, _08034BC8 - adds r0, r6 - strb r2, [r0] - movs r0, 0x1 - bl sub_801CA08 - cmp r0, 0x3 - beq _08034BDE - cmp r0, 0x3 - bhi _08034BCC - cmp r0, 0x2 - beq _08034BD2 - b _08034C30 - .align 2, 0 -_08034BBC: .4byte gUnknown_203B33C -_08034BC0: .4byte 0x0000041e -_08034BC4: .4byte 0x0000041d -_08034BC8: .4byte 0x0000041c -_08034BCC: - cmp r0, 0x4 - beq _08034BF8 - b _08034C30 -_08034BD2: - bl sub_801CBB8 - movs r0, 0x1 - bl sub_80338C4 - b _08034C30 -_08034BDE: - bl sub_801CB24 - ldr r1, [r4] - ldr r2, _08034BF4 - adds r1, r2 - strb r0, [r1] - movs r0, 0x60 - bl sub_80338C4 - b _08034C30 - .align 2, 0 -_08034BF4: .4byte 0x0000041e -_08034BF8: - ldr r1, [r4] - movs r0, 0x5F - str r0, [r1, 0x4] - bl sub_801CB24 - ldr r1, [r4] - adds r1, r5 - strb r0, [r1] - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - adds r0, r6 - bl sub_801B3C0 - movs r0, 0x61 - bl sub_80338C4 -_08034C30: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8034B88 - - thumb_func_start sub_8034C38 -sub_8034C38: - push {r4,lr} - bl sub_801B410 - cmp r0, 0x1 - beq _08034C90 - cmp r0, 0x1 - bcc _08034C90 - cmp r0, 0x3 - bhi _08034C90 - bl sub_801B450 - bl ResetUnusedInputStruct - ldr r4, _08034C88 - ldr r0, [r4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_801CB5C - ldr r4, [r4] - ldr r0, [r4, 0x4] - cmp r0, 0x7E - bne _08034C8C - movs r1, 0x87 - lsls r1, 2 - adds r0, r4, r1 - movs r1, 0x3 - movs r2, 0x1 - bl sub_8035CF4 - movs r0, 0x60 - bl sub_80338C4 - b _08034C90 - .align 2, 0 -_08034C88: .4byte gUnknown_203B33C -_08034C8C: - bl sub_80338C4 -_08034C90: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8034C38 - - thumb_func_start sub_8034C98 -sub_8034C98: - push {r4,lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - str r0, [sp] - movs r0, 0 - bl sub_801CA08 - ldr r4, _08034CDC - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - bl sub_8012FD8 - lsls r0, 24 - cmp r0, 0 - bne _08034CCA - ldr r0, [r4] - movs r1, 0xC3 - lsls r1, 2 - adds r0, r1 - mov r1, sp - bl sub_8013114 -_08034CCA: - ldr r0, [sp] - cmp r0, 0x8 - beq _08034D2C - cmp r0, 0x8 - bgt _08034CE0 - cmp r0, 0x5 - beq _08034D2C - b _08034D48 - .align 2, 0 -_08034CDC: .4byte gUnknown_203B33C -_08034CE0: - cmp r0, 0x9 - beq _08034CEA - cmp r0, 0xA - beq _08034CF6 - b _08034D48 -_08034CEA: - bl sub_801CBB8 - movs r0, 0x58 - bl sub_80338C4 - b _08034D48 -_08034CF6: - ldr r0, [r4] - movs r1, 0x7E - str r1, [r0, 0x4] - movs r1, 0xEF - lsls r1, 2 - adds r0, r1 - bl sub_8006518 - bl ResetUnusedInputStruct - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - ldr r0, [r4] - ldr r1, _08034D28 - adds r0, r1 - bl sub_801B3C0 - movs r0, 0x61 - bl sub_80338C4 - b _08034D48 - .align 2, 0 -_08034D28: .4byte 0x0000041c -_08034D2C: - ldr r0, _08034D50 - ldr r0, [r0] - movs r1, 0xD7 - lsls r1, 2 - adds r0, r1 - movs r1, 0x3 - bl sub_8035CC0 - movs r0, 0x1 - bl sub_801CB5C - movs r0, 0x5F - bl sub_80338C4 -_08034D48: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08034D50: .4byte gUnknown_203B33C - thumb_func_end sub_8034C98 - - thumb_func_start sub_8034D54 -sub_8034D54: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034D6E - movs r0, 0x65 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_08034D6E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034D54 - - thumb_func_start sub_8034D74 -sub_8034D74: - 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 _08034D8E - b _08034E9C -_08034D8E: - cmp r4, 0x3 - beq _08034D94 - b _08034EBC -_08034D94: - ldr r0, _08034DB4 - ldr r1, [r0] - adds r1, 0x8 - movs r0, 0x20 - add r2, sp, 0x14 - bl sub_8039068 - subs r0, 0x7 - cmp r0, 0x11 - bhi _08034E90 - lsls r0, 2 - ldr r1, _08034DB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08034DB4: .4byte gUnknown_203B33C -_08034DB8: .4byte _08034DBC - .align 2, 0 -_08034DBC: - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E38 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E04 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E30 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E90 - .4byte _08034E54 -_08034E04: - ldr r0, _08034E28 - ldr r3, _08034E2C - movs r2, 0 - str r2, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - str r2, [sp, 0xC] - adds r1, 0xFD - str r1, [sp, 0x10] - movs r1, 0 - movs r2, 0x6 - bl sub_8014248 - movs r0, 0x74 - bl sub_80338C4 - b _08034E90 - .align 2, 0 -_08034E28: .4byte gUnknown_80E48A8 -_08034E2C: .4byte gUnknown_80E2440 -_08034E30: - ldr r0, _08034E34 - b _08034E3A - .align 2, 0 -_08034E34: .4byte gUnknown_80E49C4 -_08034E38: - ldr r0, _08034E4C -_08034E3A: - ldr r3, _08034E50 - movs r1, 0 - movs r2, 0 - bl sub_80141B4 - movs r0, 0x6B - bl sub_80338C4 - b _08034E90 - .align 2, 0 -_08034E4C: .4byte gUnknown_80E4704 -_08034E50: .4byte 0x00000101 -_08034E54: - 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, _08034E98 - ldr r0, [r0] - movs r1, 0x84 - lsls r1, 3 - adds r0, r1 - ldr r1, [sp, 0x24] - str r1, [r0] - movs r0, 0x6D - bl sub_80338C4 -_08034E90: - bl sub_80155F0 - b _08034EBC - .align 2, 0 -_08034E98: .4byte gUnknown_203B33C -_08034E9C: - bl sub_80155F0 - bl ResetUnusedInputStruct - ldr r0, _08034EC4 - ldr r0, [r0] - movs r3, 0xEF - lsls r3, 2 - adds r0, r3 - movs r1, 0x1 - movs r2, 0x1 - bl sub_800641C - movs r0, 0x1 - bl sub_80338C4 -_08034EBC: - add sp, 0x44 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08034EC4: .4byte gUnknown_203B33C - thumb_func_end sub_8034D74 - - thumb_func_start sub_8034EC8 -sub_8034EC8: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034EEA - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08034EEA - bl sub_8012750 - movs r0, 0x2 - bl sub_80338C4 -_08034EEA: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034EC8 - - thumb_func_start sub_8034EF0 -sub_8034EF0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034F12 - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _08034F12 - bl sub_8012750 - movs r0, 0x2 - bl sub_80338C4 -_08034F12: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034EF0 - - thumb_func_start sub_8034F18 -sub_8034F18: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034F32 - movs r0, 0x65 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_08034F32: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034F18 - - thumb_func_start sub_8034F38 -sub_8034F38: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034F52 - movs r0, 0x71 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_08034F52: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034F38 - - thumb_func_start sub_8034F58 -sub_8034F58: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08034F80 - ldr r0, [sp] - cmp r0, 0x6 - beq _08034F72 - cmp r0, 0x8 - beq _08034F7A - b _08034F80 -_08034F72: - movs r0, 0x62 - bl sub_80338C4 - b _08034F80 -_08034F7A: - movs r0, 0x1 - bl sub_80338C4 -_08034F80: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8034F58 - - thumb_func_start sub_8034F88 -sub_8034F88: - push {r4,r5,lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803500E - ldr r0, [sp] - cmp r0, 0x7 - beq _08035000 - cmp r0, 0x7 - bgt _08034FA6 - cmp r0, 0x6 - beq _08034FAC - b _0803500E -_08034FA6: - cmp r0, 0x8 - beq _08035008 - b _0803500E -_08034FAC: - ldr r4, _08034FF0 - 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, _08034FF4 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - beq _08034FD2 - ldr r5, _08034FF8 - adds r0, r1, r5 - ldr r0, [r0] - str r0, [r2, 0x20] -_08034FD2: - ldr r0, _08034FFC - ldr r1, [r0] - ldr r0, [r4] - adds r0, r3 - ldrb r0, [r0] - lsls r0, 1 - adds r1, 0x50 - adds r1, r0 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] - movs r0, 0x75 - bl sub_80338C4 - b _0803500E - .align 2, 0 -_08034FF0: .4byte gUnknown_203B33C -_08034FF4: .4byte 0x0000041e -_08034FF8: .4byte 0x0000041c -_08034FFC: .4byte gUnknown_203B460 -_08035000: - movs r0, 0x57 - bl sub_80338C4 - b _0803500E -_08035008: - movs r0, 0x1 - bl sub_80338C4 -_0803500E: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8034F88 - - thumb_func_start sub_8035018 -sub_8035018: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08035032 - movs r0, 0x76 - bl sub_80338C4 - movs r0, 0 - bl sub_8012574 -_08035032: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8035018 - - thumb_func_start sub_8035038 -sub_8035038: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803508E - bl sub_8012600 - lsls r0, 24 - cmp r0, 0 - bne _0803508E - bl sub_8012750 - ldr r0, _0803506C - ldr r0, [r0] - ldr r1, _08035070 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xD - beq _08035080 - cmp r0, 0xD - bls _08035074 - cmp r0, 0xE - beq _08035088 - b _0803508E - .align 2, 0 -_0803506C: .4byte gUnknown_203B33C -_08035070: .4byte 0x00000524 -_08035074: - cmp r0, 0xB - bcc _0803508E - movs r0, 0x69 - bl sub_80338C4 - b _0803508E -_08035080: - movs r0, 0x66 - bl sub_80338C4 - b _0803508E -_08035088: - movs r0, 0x4B - bl sub_80338C4 -_0803508E: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8035038 - - thumb_func_start sub_8035094 -sub_8035094: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080350EE - ldr r0, [sp] - cmp r0, 0x8 - beq _080350E8 - cmp r0, 0x16 - bne _080350EE - ldr r0, _080350C4 - ldr r0, [r0] - ldr r1, _080350C8 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xD - beq _080350D8 - cmp r0, 0xD - bls _080350CC - cmp r0, 0xE - beq _080350E0 - b _080350EE - .align 2, 0 -_080350C4: .4byte gUnknown_203B33C -_080350C8: .4byte 0x00000524 -_080350CC: - cmp r0, 0xB - bcc _080350EE - movs r0, 0x69 - bl sub_80338C4 - b _080350EE -_080350D8: - movs r0, 0x66 - bl sub_80338C4 - b _080350EE -_080350E0: - movs r0, 0x4B - bl sub_80338C4 - b _080350EE -_080350E8: - movs r0, 0x1 - bl sub_80338C4 -_080350EE: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8035094 - - thumb_func_start sub_80350F4 -sub_80350F4: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08035176 - ldr r0, [sp] - cmp r0, 0x15 - beq _08035118 - cmp r0, 0x15 - bgt _08035112 - cmp r0, 0x8 - beq _08035170 - b _08035176 -_08035112: - cmp r0, 0x16 - beq _08035134 - b _08035176 -_08035118: - movs r0, 0 - bl sub_801CF14 - lsls r0, 24 - cmp r0, 0 - beq _0803512C - movs r0, 0x56 - bl sub_80338C4 - b _08035176 -_0803512C: - movs r0, 0x57 - bl sub_80338C4 - b _08035176 -_08035134: - ldr r0, _0803514C - ldr r0, [r0] - ldr r1, _08035150 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xD - beq _08035160 - cmp r0, 0xD - bls _08035154 - cmp r0, 0xE - beq _08035168 - b _08035176 - .align 2, 0 -_0803514C: .4byte gUnknown_203B33C -_08035150: .4byte 0x00000524 -_08035154: - cmp r0, 0xB - bcc _08035176 - movs r0, 0x69 - bl sub_80338C4 - b _08035176 -_08035160: - movs r0, 0x66 - bl sub_80338C4 - b _08035176 -_08035168: - movs r0, 0x4B - bl sub_80338C4 - b _08035176 -_08035170: - movs r0, 0x1 - bl sub_80338C4 -_08035176: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80350F4 - - thumb_func_start sub_803517C -sub_803517C: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _080351DA - ldr r0, [sp] - cmp r0, 0x6 - beq _08035196 - cmp r0, 0x8 - beq _080351D4 - b _080351DA -_08035196: - ldr r0, _080351B0 - ldr r0, [r0] - ldr r1, _080351B4 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0xD - beq _080351C4 - cmp r0, 0xD - bls _080351B8 - cmp r0, 0xE - beq _080351CC - b _080351DA - .align 2, 0 -_080351B0: .4byte gUnknown_203B33C -_080351B4: .4byte 0x00000524 -_080351B8: - cmp r0, 0xB - bcc _080351DA - movs r0, 0x69 - bl sub_80338C4 - b _080351DA -_080351C4: - movs r0, 0x66 - bl sub_80338C4 - b _080351DA -_080351CC: - movs r0, 0x4B - bl sub_80338C4 - b _080351DA -_080351D4: - movs r0, 0x1 - bl sub_80338C4 -_080351DA: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_803517C - - thumb_func_start sub_80351E0 -sub_80351E0: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08035208 - ldr r0, [sp] - cmp r0, 0x6 - beq _080351FA - cmp r0, 0x8 - beq _08035202 - b _08035208 -_080351FA: - movs r0, 0x72 - bl sub_80338C4 - b _08035208 -_08035202: - movs r0, 0x1 - bl sub_80338C4 -_08035208: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_80351E0 - - thumb_func_start sub_8035210 -sub_8035210: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _0803528C - ldr r0, _08035238 - ldr r2, [r0] - ldr r1, _0803523C - adds r0, r2, r1 - ldr r1, [sp] - str r1, [r0] - cmp r1, 0xD - bgt _0803528C - cmp r1, 0xB - bge _08035240 - cmp r1, 0x8 - beq _08035286 - b _0803528C - .align 2, 0 -_08035238: .4byte gUnknown_203B33C -_0803523C: .4byte 0x00000524 -_08035240: - movs r3, 0xA5 - lsls r3, 3 - adds r0, r2, r3 - ldr r0, [r0] - cmp r0, 0x13 - bne _08035272 - 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 _0803526A - movs r0, 0x53 - bl sub_80338C4 - b _0803528C -_0803526A: - movs r0, 0x55 - bl sub_80338C4 - b _0803528C -_08035272: - cmp r1, 0xD - beq _0803527E - movs r0, 0x69 - bl sub_80338C4 - b _0803528C -_0803527E: - movs r0, 0x72 - bl sub_80338C4 - b _0803528C -_08035286: - movs r0, 0x1 - bl sub_80338C4 -_0803528C: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_8035210 - - thumb_func_start nullsub_46 -nullsub_46: - bx lr - thumb_func_end nullsub_46 - - thumb_func_start nullsub_47 -nullsub_47: - bx lr - thumb_func_end nullsub_47 - - thumb_func_start nullsub_48 -nullsub_48: - bx lr - thumb_func_end nullsub_48 - - thumb_func_start nullsub_49 -nullsub_49: - bx lr - thumb_func_end nullsub_49 - - thumb_func_start sub_80352A4 -sub_80352A4: - push {r4,lr} - bl sub_802F298 - cmp r0, 0x3 - bne _080352EC - bl sub_802F2C0 - ldr r0, _080352F4 - 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, _080352F8 - bl strcpy - ldr r0, _080352FC - ldr r0, [r0] - movs r1, 0x84 - 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, 0x70 - bl sub_80338C4 -_080352EC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080352F4: .4byte gUnknown_202E5D8 -_080352F8: .4byte gAvailablePokemonNames -_080352FC: .4byte gUnknown_203B33C - thumb_func_end sub_80352A4 - - thumb_func_start sub_8035300 -sub_8035300: - push {lr} - sub sp, 0x4 - mov r0, sp - bl sub_80144A4 - cmp r0, 0 - bne _08035364 - ldr r0, [sp] - adds r1, r0, 0 - subs r1, 0x19 - adds r2, r0, 0 - cmp r1, 0x4 - bhi _08035364 - lsls r0, r1, 2 - ldr r1, _08035324 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08035324: .4byte _08035328 - .align 2, 0 -_08035328: - .4byte _0803533C - .4byte _08035354 - .4byte _08035344 - .4byte _0803534C - .4byte _08035354 -_0803533C: - movs r0, 0x1 - bl sub_80338C4 - b _08035364 -_08035344: - movs r0, 0x7A - bl sub_80338C4 - b _08035364 -_0803534C: - movs r0, 0x7C - bl sub_80338C4 - b _08035364 -_08035354: - ldr r0, _0803536C - ldr r0, [r0] - ldr r1, _08035370 - adds r0, r1 - str r2, [r0] - movs r0, 0x79 - bl sub_80338C4 -_08035364: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0803536C: .4byte gUnknown_203B33C -_08035370: .4byte 0x00000564 - thumb_func_end sub_8035300 - .align 2,0 diff --git a/asm/wonder_mail_main_menu.s b/asm/wonder_mail_main_menu.s new file mode 100644 index 0000000..01cbdc4 --- /dev/null +++ b/asm/wonder_mail_main_menu.s @@ -0,0 +1,1163 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8039880 +sub_8039880: + push {r4,lr} + movs r4, 0 + movs r0, 0x1 + bl sub_8095324 + cmp r0, 0 + bne _080398A0 + movs r0, 0x7 + bl sub_8095324 + cmp r0, 0 + bne _080398A0 + bl sub_8011C1C + cmp r0, 0x2 + bne _080398A2 +_080398A0: + movs r4, 0x1 +_080398A2: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8039880 + + thumb_func_start CreateWonderMailMenu +CreateWonderMailMenu: + push {r4,r5,lr} + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r5, _0803991C + ldr r4, _08039920 + adds r0, r4, 0 + movs r1, 0x8 + bl MemoryAlloc + str r0, [r5] + movs r1, 0 + adds r2, r4, 0 + bl MemoryFill8 + movs r1, 0 + movs r2, 0 + adds r4, r5, 0 +_080398D8: + ldr r0, [r5] + adds r0, 0x1 + adds r0, r1 + strb r2, [r0] + adds r1, 0x1 + cmp r1, 0x35 + ble _080398D8 + ldr r1, [r4] + movs r3, 0x92 + lsls r3, 3 + adds r2, r1, r3 + movs r0, 0x3 + str r0, [r2] + ldr r0, _08039924 + adds r2, r1, r0 + movs r0, 0x2 + str r0, [r2] + movs r0, 0x93 + lsls r0, 3 + adds r1, r0 + movs r0, 0x1 + strb r0, [r1] + ldr r0, [r4] + adds r0, r3 + movs r1, 0x5 + str r1, [r0] + movs r0, 0x11 + bl sub_803A1C0 + movs r0, 0x1 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0803991C: .4byte gUnknown_203B3E8 +_08039920: .4byte 0x0000049c +_08039924: .4byte 0x00000494 + thumb_func_end CreateWonderMailMenu + + thumb_func_start UpdateWonderMailMenu +UpdateWonderMailMenu: + push {lr} + ldr r0, _08039940 + ldr r0, [r0] + ldrb r0, [r0] + subs r0, 0x4 + cmp r0, 0xF + bhi _080399DE + lsls r0, 2 + ldr r1, _08039944 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08039940: .4byte gUnknown_203B3E8 +_08039944: .4byte _08039948 + .align 2, 0 +_08039948: + .4byte _08039988 + .4byte _0803998E + .4byte _0803999E + .4byte _080399AA + .4byte _08039992 + .4byte _080399A4 + .4byte _080399C8 + .4byte _080399DE + .4byte _08039998 + .4byte _080399B0 + .4byte _080399B6 + .4byte _080399BC + .4byte _080399C2 + .4byte _080399CE + .4byte _080399D4 + .4byte _080399DA +_08039988: + bl sub_8039A18 + b _080399DE +_0803998E: + movs r0, 0x3 + b _080399E0 +_08039992: + bl sub_8039AA8 + b _080399DE +_08039998: + bl sub_8039B14 + b _080399DE +_0803999E: + bl sub_8039B20 + b _080399DE +_080399A4: + bl sub_8039B58 + b _080399DE +_080399AA: + bl sub_8039D88 + b _080399DE +_080399B0: + bl sub_8039D28 + b _080399DE +_080399B6: + bl sub_8039D68 + b _080399DE +_080399BC: + bl sub_8039DA4 + b _080399DE +_080399C2: + bl sub_8039DCC + b _080399DE +_080399C8: + bl sub_8039B3C + b _080399DE +_080399CE: + bl sub_8039D0C + b _080399DE +_080399D4: + bl sub_8039C60 + b _080399DE +_080399DA: + bl sub_8039DE8 +_080399DE: + movs r0, 0 +_080399E0: + pop {r1} + bx r1 + thumb_func_end UpdateWonderMailMenu + + thumb_func_start CleanWonderMailMenu +CleanWonderMailMenu: + push {r4,lr} + ldr r4, _08039A14 + ldr r0, [r4] + cmp r0, 0 + beq _08039A0E + bl MemoryFree + movs r0, 0 + str r0, [r4] + bl sub_8030DE4 + bl sub_801B450 + bl sub_803084C + bl sub_801CBB8 + bl sub_80155F0 + bl sub_8031E10 +_08039A0E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08039A14: .4byte gUnknown_203B3E8 + thumb_func_end CleanWonderMailMenu + + thumb_func_start sub_8039A18 +sub_8039A18: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039AA2 + ldr r0, _08039A48 + ldr r1, [r0] + movs r2, 0x93 + lsls r2, 2 + adds r1, r2 + movs r2, 0xA + str r2, [r1] + ldr r1, [sp] + adds r2, r0, 0 + cmp r1, 0x8 + bhi _08039AA2 + lsls r0, r1, 2 + ldr r1, _08039A4C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08039A48: .4byte gUnknown_203B3E8 +_08039A4C: .4byte _08039A50 + .align 2, 0 +_08039A50: + .4byte _08039A9C + .4byte _08039AA2 + .4byte _08039AA2 + .4byte _08039A74 + .4byte _08039A74 + .4byte _08039A88 + .4byte _08039AA2 + .4byte _08039AA2 + .4byte _08039A9C +_08039A74: + ldr r0, [r2] + movs r1, 0x92 + lsls r1, 3 + adds r0, r1 + movs r1, 0x3 + str r1, [r0] + movs r0, 0x8 + bl sub_803A1C0 + b _08039AA2 +_08039A88: + ldr r0, [r2] + movs r2, 0x92 + lsls r2, 3 + adds r0, r2 + movs r1, 0x5 + str r1, [r0] + movs r0, 0x11 + bl sub_803A1C0 + b _08039AA2 +_08039A9C: + movs r0, 0x5 + bl sub_803A1C0 +_08039AA2: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039A18 + + thumb_func_start sub_8039AA8 +sub_8039AA8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039B0E + ldr r0, [sp] + cmp r0, 0 + beq _08039AE8 + cmp r0, 0x6 + bne _08039B0E + ldr r0, _08039AD8 + ldr r0, [r0] + ldr r1, _08039ADC + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x1 + bne _08039AE0 + movs r0, 0x2 + bl sub_803A1C0 + b _08039B0E + .align 2, 0 +_08039AD8: .4byte gUnknown_203B3E8 +_08039ADC: .4byte 0x00000494 +_08039AE0: + movs r0, 0xC + bl sub_803A1C0 + b _08039B0E +_08039AE8: + ldr r0, _08039B00 + ldr r0, [r0] + ldr r1, _08039B04 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0x1 + bne _08039B08 + movs r0, 0x1 + bl sub_803A1C0 + b _08039B0E + .align 2, 0 +_08039B00: .4byte gUnknown_203B3E8 +_08039B04: .4byte 0x00000494 +_08039B08: + movs r0, 0x4 + bl sub_803A1C0 +_08039B0E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039AA8 + + thumb_func_start sub_8039B14 +sub_8039B14: + push {lr} + movs r0, 0x6 + bl sub_803A1C0 + pop {r0} + bx r0 + thumb_func_end sub_8039B14 + + thumb_func_start sub_8039B20 +sub_8039B20: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039B34 + movs r0, 0x9 + bl sub_803A1C0 +_08039B34: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039B20 + + thumb_func_start sub_8039B3C +sub_8039B3C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039B50 + movs r0, 0x4 + bl sub_803A1C0 +_08039B50: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039B3C + + thumb_func_start sub_8039B58 +sub_8039B58: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039BA6 + ldr r0, _08039B88 + ldr r1, [r0] + movs r2, 0x94 + lsls r2, 2 + adds r0, r1, r2 + ldr r0, [r0] + cmp r0, 0 + bne _08039B9C + subs r2, 0x4 + adds r0, r1, r2 + ldr r0, [r0] + cmp r0, 0x9 + beq _08039B8C + cmp r0, 0xA + beq _08039B94 + b _08039BA6 + .align 2, 0 +_08039B88: .4byte gUnknown_203B3E8 +_08039B8C: + movs r0, 0x7 + bl sub_803A1C0 + b _08039BA6 +_08039B94: + movs r0, 0xD + bl sub_803A1C0 + b _08039BA6 +_08039B9C: + bl sub_8039BAC + movs r0, 0xA + bl sub_803A1C0 +_08039BA6: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039B58 + + thumb_func_start sub_8039BAC +sub_8039BAC: + push {lr} + cmp r0, 0xF + bhi _08039C48 + lsls r0, 2 + ldr r1, _08039BBC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08039BBC: .4byte _08039BC0 + .align 2, 0 +_08039BC0: + .4byte _08039C54 + .4byte _08039C00 + .4byte _08039C10 + .4byte _08039C08 + .4byte _08039C18 + .4byte _08039C20 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C48 + .4byte _08039C28 + .4byte _08039C30 +_08039C00: + ldr r0, _08039C04 + b _08039C32 + .align 2, 0 +_08039C04: .4byte gUnknown_80E7914 +_08039C08: + ldr r0, _08039C0C + b _08039C32 + .align 2, 0 +_08039C0C: .4byte gUnknown_80E7938 +_08039C10: + ldr r0, _08039C14 + b _08039C32 + .align 2, 0 +_08039C14: .4byte gUnknown_80E7994 +_08039C18: + ldr r0, _08039C1C + b _08039C32 + .align 2, 0 +_08039C1C: .4byte gUnknown_80E79E4 +_08039C20: + ldr r0, _08039C24 + b _08039C32 + .align 2, 0 +_08039C24: .4byte gUnknown_80E7914 +_08039C28: + ldr r0, _08039C2C + b _08039C32 + .align 2, 0 +_08039C2C: .4byte gUnknown_80E7914 +_08039C30: + ldr r0, _08039C40 +_08039C32: + ldr r3, _08039C44 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _08039C54 + .align 2, 0 +_08039C40: .4byte gUnknown_80E7A48 +_08039C44: .4byte 0x00000101 +_08039C48: + ldr r0, _08039C58 + ldr r3, _08039C5C + movs r1, 0 + movs r2, 0 + bl sub_80141B4 +_08039C54: + pop {r0} + bx r0 + .align 2, 0 +_08039C58: .4byte gUnknown_80E7914 +_08039C5C: .4byte 0x00000101 + thumb_func_end sub_8039BAC + + thumb_func_start sub_8039C60 +sub_8039C60: + push {r4,r5,lr} + bl sub_80154F0 + adds r4, r0, 0 + ldr r5, _08039CBC + ldr r0, [r5] + adds r0, 0x38 + movs r1, 0 + movs r2, 0x30 + bl MemoryFill8 + cmp r4, 0x2 + beq _08039CE6 + cmp r4, 0x3 + bne _08039D04 + bl sub_80155F0 + bl ResetUnusedInputStruct + ldr r0, [r5] + movs r1, 0xF6 + lsls r1, 1 + adds r0, r1 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r1, [r5] + adds r0, r1, 0x1 + adds r1, 0x38 + bl sub_803D358 + lsls r0, 24 + cmp r0, 0 + beq _08039CB4 + ldr r0, [r5] + adds r0, 0x38 + bl sub_80959C0 + lsls r0, 24 + cmp r0, 0 + bne _08039CC0 +_08039CB4: + movs r0, 0x13 + bl sub_803A1C0 + b _08039D04 + .align 2, 0 +_08039CBC: .4byte gUnknown_203B3E8 +_08039CC0: + ldr r0, [r5] + movs r2, 0xF0 + lsls r2, 2 + adds r1, r0, r2 + adds r0, 0x38 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r3,r4} + stm r1!, {r3,r4} + ldr r0, [r5] + movs r1, 0x93 + lsls r1, 3 + adds r0, r1 + movs r1, 0x1 + strb r1, [r0] + movs r0, 0xD + bl sub_803A1C0 + b _08039D04 +_08039CE6: + bl sub_80155F0 + bl ResetUnusedInputStruct + ldr r0, [r5] + movs r2, 0xF6 + lsls r2, 1 + adds r0, r2 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + movs r0, 0x5 + bl sub_803A1C0 +_08039D04: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8039C60 + + thumb_func_start sub_8039D0C +sub_8039D0C: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039D20 + movs r0, 0x12 + bl sub_803A1C0 +_08039D20: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039D0C + + thumb_func_start sub_8039D28 +sub_8039D28: + push {r4,r5,lr} + bl sub_802D0E0 + cmp r0, 0x3 + bne _08039D62 + bl sub_802D178 + ldr r5, _08039D58 + ldr r1, [r5] + movs r4, 0x93 + lsls r4, 3 + adds r1, r4 + strb r0, [r1] + bl sub_802D184 + ldr r0, [r5] + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + beq _08039D5C + movs r0, 0xE + bl sub_803A1C0 + b _08039D62 + .align 2, 0 +_08039D58: .4byte gUnknown_203B3E8 +_08039D5C: + movs r0, 0x10 + bl sub_803A1C0 +_08039D62: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8039D28 + + thumb_func_start sub_8039D68 +sub_8039D68: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039D82 + movs r0, 0xF + bl sub_803A1C0 + movs r0, 0 + bl sub_8012574 +_08039D82: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039D68 + + thumb_func_start sub_8039D88 +sub_8039D88: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039D9C + movs r0, 0x8 + bl sub_803A1C0 +_08039D9C: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039D88 + + thumb_func_start sub_8039DA4 +sub_8039DA4: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039DC6 + bl sub_8012600 + lsls r0, 24 + cmp r0, 0 + bne _08039DC6 + bl sub_8012750 + movs r0, 0x10 + bl sub_803A1C0 +_08039DC6: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039DA4 + + thumb_func_start sub_8039DCC +sub_8039DCC: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039DE0 + movs r0, 0x5 + bl sub_803A1C0 +_08039DE0: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039DCC + + thumb_func_start sub_8039DE8 +sub_8039DE8: + push {lr} + sub sp, 0x4 + mov r0, sp + bl sub_80144A4 + cmp r0, 0 + bne _08039E0E + ldr r0, [sp] + cmp r0, 0 + beq _08039E08 + cmp r0, 0x6 + bne _08039E0E + movs r0, 0x11 + bl sub_803A1C0 + b _08039E0E +_08039E08: + movs r0, 0x5 + bl sub_803A1C0 +_08039E0E: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end sub_8039DE8 + + thumb_func_start nullsub_54 +nullsub_54: + bx lr + thumb_func_end nullsub_54 + + thumb_func_start sub_8039E18 +sub_8039E18: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x14 + ldr r1, _08039E38 + ldr r0, [r1] + ldrb r0, [r0] + adds r6, r1, 0 + cmp r0, 0x13 + bls _08039E2E + b _0803A1AA +_08039E2E: + lsls r0, 2 + ldr r1, _08039E3C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08039E38: .4byte gUnknown_203B3E8 +_08039E3C: .4byte _08039E40 + .align 2, 0 +_08039E40: + .4byte _08039E90 + .4byte _08039EB8 + .4byte _0803A1AA + .4byte _08039EC8 + .4byte _08039EDC + .4byte _0803A1AA + .4byte _08039FF4 + .4byte _08039FA4 + .4byte _08039FCC + .4byte _0803A00C + .4byte _0803A1AA + .4byte _0803A1AA + .4byte _0803A1AA + .4byte _08039F04 + .4byte _08039F68 + .4byte _0803A1AA + .4byte _08039FAC + .4byte _0803A152 + .4byte _0803A168 + .4byte _0803A18E +_08039E90: + ldr r0, _08039EB0 + ldr r3, _08039EB4 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x1 + bl sub_8014248 + b _0803A1AA + .align 2, 0 +_08039EB0: .4byte gUnknown_80E7AC4 +_08039EB4: .4byte gUnknown_80E786C +_08039EB8: + ldr r0, _08039EC0 + ldr r3, _08039EC4 + b _08039EE0 + .align 2, 0 +_08039EC0: .4byte gUnknown_80E7AE0 +_08039EC4: .4byte gUnknown_80E7894 +_08039EC8: + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + bl sub_802EF48 + b _0803A1AA +_08039EDC: + ldr r0, _08039EFC + ldr r3, _08039F00 +_08039EE0: + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x3 + bl sub_8014248 + b _0803A1AA + .align 2, 0 +_08039EFC: .4byte gUnknown_80E7B14 +_08039F00: .4byte gUnknown_80E78D8 +_08039F04: + ldr r0, [r6] + ldr r2, _08039F3C + adds r1, r0, r2 + movs r3, 0xF0 + lsls r3, 2 + adds r0, r3 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2,r4} + stm r1!, {r2,r4} + ldr r2, [r6] + ldr r3, _08039F40 + adds r0, r2, r3 + ldrb r0, [r0] + cmp r0, 0x4 + bne _08039F44 + movs r4, 0x91 + lsls r4, 3 + adds r1, r2, r4 + subs r3, 0xA2 + adds r0, r2, r3 + str r0, [r1] + adds r4, 0x4 + adds r1, r2, r4 + adds r3, 0x28 + adds r0, r2, r3 + str r0, [r1] + b _08039F54 + .align 2, 0 +_08039F3C: .4byte 0x00000474 +_08039F40: .4byte 0x00000476 +_08039F44: + movs r4, 0x91 + lsls r4, 3 + adds r0, r2, r4 + movs r1, 0 + str r1, [r0] + ldr r3, _08039F60 + adds r0, r2, r3 + str r1, [r0] +_08039F54: + ldr r0, [r6] + ldr r4, _08039F64 + adds r0, r4 + bl sub_802D098 + b _0803A1AA + .align 2, 0 +_08039F60: .4byte 0x0000048c +_08039F64: .4byte 0x00000474 +_08039F68: + ldr r1, [r6] + movs r2, 0x93 + lsls r2, 3 + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, 0 + beq _08039F9C + movs r3, 0x92 + lsls r3, 3 + adds r0, r1, r3 + ldr r0, [r0] + cmp r0, 0x4 + bne _08039F84 + b _0803A1AA +_08039F84: + cmp r0, 0x4 + bgt _08039F8E + cmp r0, 0x3 + beq _08039F94 + b _0803A1AA +_08039F8E: + cmp r0, 0x5 + beq _08039F94 + b _0803A1AA +_08039F94: + ldr r0, _08039F98 + b _0803A154 + .align 2, 0 +_08039F98: .4byte gUnknown_80E7B48 +_08039F9C: + ldr r0, _08039FA0 + b _0803A154 + .align 2, 0 +_08039FA0: .4byte gUnknown_80E7B48 +_08039FA4: + ldr r0, _08039FA8 + b _0803A154 + .align 2, 0 +_08039FA8: .4byte gUnknown_80E7B68 +_08039FAC: + ldr r0, [r6] + movs r4, 0x93 + lsls r4, 3 + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + beq _08039FC4 + ldr r0, _08039FC0 + b _0803A154 + .align 2, 0 +_08039FC0: .4byte gUnknown_80E7B88 +_08039FC4: + ldr r0, _08039FC8 + b _0803A154 + .align 2, 0 +_08039FC8: .4byte gUnknown_80E7BC8 +_08039FCC: + ldr r0, _08039FEC + ldr r3, _08039FF0 + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x6 + bl sub_8014248 + b _0803A1AA + .align 2, 0 +_08039FEC: .4byte gUnknown_80E7BEC +_08039FF0: .4byte gUnknown_80E78F8 +_08039FF4: + movs r0, 0 + bl nullsub_23 + ldr r0, _0803A008 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_80141B4 + b _0803A1AA + .align 2, 0 +_0803A008: .4byte gUnknown_80E7C48 +_0803A00C: + ldr r0, [r6] + movs r1, 0x94 + lsls r1, 2 + mov r8, r1 + add r0, r8 + movs r1, 0 + str r1, [r0] + bl sub_8011830 + ldr r0, [r6] + movs r7, 0x93 + lsls r7, 2 + adds r0, r7 + ldr r0, [r0] + bl sub_8037B28 + ldr r2, [r6] + mov r3, r8 + adds r1, r2, r3 + str r0, [r1] + cmp r0, 0 + beq _0803A03A + b _0803A14C +_0803A03A: + adds r4, r7, 0 + adds r0, r2, r4 + ldr r0, [r0] + cmp r0, 0x9 + beq _0803A04A + cmp r0, 0xA + beq _0803A0AA + b _0803A0DE +_0803A04A: + movs r5, 0x95 + lsls r5, 2 + adds r0, r2, r5 + movs r1, 0 + movs r2, 0xB4 + bl MemoryFill8 + ldr r0, [r6] + movs r1, 0xEF + lsls r1, 2 + adds r0, r1 + ldrb r0, [r0] + bl sub_803B344 + adds r4, r0, 0 + ldr r1, [r4, 0x14] + cmp r1, 0 + beq _0803A08C + ldr r0, [r6] + movs r2, 0x9A + lsls r2, 2 + adds r0, r2 + movs r2, 0x28 + bl MemoryCopy8 + ldr r0, [r6] + movs r3, 0xA4 + lsls r3, 2 + adds r0, r3 + ldr r1, [r4, 0x18] + movs r2, 0x78 + bl MemoryCopy8 +_0803A08C: + ldr r1, [r6] + adds r1, r5 + adds r0, r4, 0 + ldm r0!, {r2-r4} + stm r1!, {r2-r4} + ldm r0!, {r2,r4} + stm r1!, {r2,r4} + ldr r2, [r6] + adds r0, r2, r7 + ldr r0, [r0] + adds r1, r2, r5 + movs r3, 0xC2 + lsls r3, 2 + adds r2, r3 + b _0803A0D4 +_0803A0AA: + movs r4, 0x95 + lsls r4, 2 + adds r0, r2, r4 + movs r1, 0 + movs r2, 0xB4 + bl MemoryFill8 + ldr r0, [r6] + movs r5, 0xC2 + lsls r5, 2 + adds r0, r5 + movs r1, 0 + movs r2, 0xB4 + bl MemoryFill8 + ldr r2, [r6] + adds r0, r2, r7 + ldr r0, [r0] + adds r4, r2, r4 + adds r2, r5 + adds r1, r4, 0 +_0803A0D4: + bl sub_8037D64 + ldr r1, [r6] + add r1, r8 + str r0, [r1] +_0803A0DE: + ldr r4, _0803A134 + ldr r2, [r4] + movs r5, 0x94 + lsls r5, 2 + adds r0, r2, r5 + ldr r0, [r0] + cmp r0, 0 + bne _0803A14C + movs r1, 0x93 + lsls r1, 2 + adds r0, r2, r1 + ldr r0, [r0] + cmp r0, 0xA + bhi _0803A14C + cmp r0, 0x9 + bcc _0803A14C + movs r3, 0x95 + lsls r3, 2 + adds r1, r2, r3 + adds r3, 0xB4 + adds r2, r3 + bl sub_80381F4 + ldr r1, [r4] + adds r1, r5 + str r0, [r1] + bl sub_800D588 + lsls r0, 24 + cmp r0, 0 + beq _0803A138 + ldr r1, [r4] + movs r4, 0xF0 + lsls r4, 2 + adds r0, r1, r4 + movs r2, 0xC2 + lsls r2, 2 + adds r1, r2 + movs r2, 0xB4 + bl memcpy + b _0803A14C + .align 2, 0 +_0803A134: .4byte gUnknown_203B3E8 +_0803A138: + ldr r1, [r4] + movs r3, 0xF0 + lsls r3, 2 + adds r0, r1, r3 + movs r4, 0x95 + lsls r4, 2 + adds r1, r4 + movs r2, 0xB4 + bl memcpy +_0803A14C: + bl xxx_call_start_bg_music + b _0803A1AA +_0803A152: + ldr r0, _0803A160 +_0803A154: + ldr r3, _0803A164 + movs r1, 0 + movs r2, 0 + bl sub_80141B4 + b _0803A1AA + .align 2, 0 +_0803A160: .4byte gUnknown_80E7C98 +_0803A164: .4byte 0x00000101 +_0803A168: + ldr r0, [r6] + movs r1, 0xF6 + lsls r1, 1 + adds r0, r1 + bl sub_8006518 + bl ResetUnusedInputStruct + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl sub_800641C + ldr r1, [r6] + adds r1, 0x1 + movs r0, 0x5 + bl sub_80151C0 + b _0803A1AA +_0803A18E: + ldr r0, _0803A1B8 + ldr r3, _0803A1BC + movs r2, 0 + str r2, [sp] + movs r1, 0x4 + str r1, [sp, 0x4] + str r2, [sp, 0x8] + str r2, [sp, 0xC] + adds r1, 0xFD + str r1, [sp, 0x10] + movs r1, 0 + movs r2, 0x6 + bl sub_8014248 +_0803A1AA: + add sp, 0x14 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803A1B8: .4byte gUnknown_80E7CC4 +_0803A1BC: .4byte gUnknown_80E78F8 + thumb_func_end sub_8039E18 + + .align 2,0 -- cgit v1.2.3