summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-03-12 15:39:07 -0600
committerGitHub <noreply@github.com>2021-03-12 15:39:07 -0600
commit7b142311a7294c4c7a943870fa5f24f0fbea604a (patch)
treea1a9513c2f997cc8274af093803dd7d936e65ad0 /asm
parentd72e17b5f5d795bebda2f6dc78dccb5e80c432b5 (diff)
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
Diffstat (limited to 'asm')
-rw-r--r--asm/code_8012A18.s220
-rw-r--r--asm/code_801D760.s96
-rw-r--r--asm/code_803B050.s8
-rw-r--r--asm/code_808EAB0.s198
-rw-r--r--asm/code_809017C.s469
-rw-r--r--asm/code_80983D8.s63
-rw-r--r--asm/code_8098BDC.s16
-rw-r--r--asm/debug_menu.s331
-rw-r--r--asm/event_flag.s36
-rw-r--r--asm/exclusive_pokemon.s (renamed from asm/code_8097F40.s)86
-rw-r--r--asm/friend_rescue.s5206
-rw-r--r--asm/main_menu.s8643
-rw-r--r--asm/main_menu_1.s7318
-rw-r--r--asm/wonder_mail.s6010
-rw-r--r--asm/wonder_mail_main_menu.s1163
15 files changed, 13912 insertions, 15951 deletions
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_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/code_8097F40.s b/asm/exclusive_pokemon.s
index 6392ba9..f52efbc 100644
--- a/asm/code_8097F40.s
+++ b/asm/exclusive_pokemon.s
@@ -602,91 +602,5 @@ _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/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