summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-02-27 10:16:45 -0800
committerGitHub <noreply@github.com>2021-02-27 12:16:45 -0600
commitd72e17b5f5d795bebda2f6dc78dccb5e80c432b5 (patch)
tree776df17a36e2b30d2b362649db4408d701d55f9d
parent7fa4f1a92bdc4cefb094f9e3f1144ad3e3a588d9 (diff)
Miscellaneous decomp/labeling/splitting (#29)
* lots of wonder mail work, credits and label some stuff * nonmatch one intr func, match another, and label unused intr func * seperate credits out * split out debug menu and other stuff that isn't main menu * label another func * label some more funcs
-rw-r--r--asm/code_2.s8
-rw-r--r--asm/code_800B5F0.s202
-rw-r--r--asm/code_800D090.s2
-rw-r--r--asm/code_8012A18.s32
-rw-r--r--asm/code_801D760.s44
-rw-r--r--asm/code_8027C84.s4
-rw-r--r--asm/code_803B050.s2159
-rw-r--r--asm/code_8041AD0.s2
-rw-r--r--asm/code_80428A0.s22
-rw-r--r--asm/code_8048480.s4
-rw-r--r--asm/code_80521D0.s570
-rw-r--r--asm/code_808EAB0.s20
-rw-r--r--asm/code_809017C.s38
-rw-r--r--asm/code_8092334.s6
-rw-r--r--asm/code_8095014.s2
-rw-r--r--asm/code_8098BDC.s14
-rw-r--r--asm/code_809D148.s6
-rw-r--r--asm/code_80A7714.s4
-rw-r--r--asm/credits.s173
-rw-r--r--asm/debug_menu.s1844
-rw-r--r--asm/main_menu.s4009
-rw-r--r--asm/personality_test_2.s2
-rw-r--r--asm/pokemon.s30
-rw-r--r--asm/wonder_mail.s1241
-rw-r--r--data/data_80B9BB8.s100
-rw-r--r--data/text/credits.inc920
-rw-r--r--include/personality_test.h2
-rwxr-xr-xld_script.txt5
-rw-r--r--src/code_8048480.c4
-rw-r--r--src/code_80521D0_1.c13
-rw-r--r--src/credits.c107
-rw-r--r--src/main_menu.c8
-rw-r--r--src/music_pre.c195
-rw-r--r--src/personality_test_pre.c16
-rw-r--r--src/wonder_mail.c579
-rw-r--r--src/wonder_mail_1.c30
-rw-r--r--src/wonder_mail_mid.c399
-rw-r--r--sym_ewram.txt2
38 files changed, 6594 insertions, 6224 deletions
diff --git a/asm/code_2.s b/asm/code_2.s
index 994f260..626681a 100644
--- a/asm/code_2.s
+++ b/asm/code_2.s
@@ -1262,10 +1262,10 @@ sub_8001064:
movs r0, 0x4
ldrsh r1, [r5, r0]
adds r0, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
mov r0, sp
adds r1, r4, 0
- bl sub_80922F4
+ bl CopyStringtoBuffer
movs r1, 0x4
ldrsh r0, [r5, r1]
movs r1, 0x1
@@ -1293,10 +1293,10 @@ _080010AE:
movs r0, 0x6
ldrsh r1, [r5, r0]
adds r0, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
mov r0, sp
adds r1, r4, 0
- bl sub_80922F4
+ bl CopyStringtoBuffer
movs r1, 0x6
ldrsh r0, [r5, r1]
movs r1, 0
diff --git a/asm/code_800B5F0.s b/asm/code_800B5F0.s
index fd2f643..2afdbed 100644
--- a/asm/code_800B5F0.s
+++ b/asm/code_800B5F0.s
@@ -227,206 +227,4 @@ _0800B8BC:
bx r0
thumb_func_end sub_800B850
- thumb_func_start nullsub_177
-nullsub_177:
- bx lr
- thumb_func_end nullsub_177
-
- thumb_func_start VBlankIntr
-VBlankIntr:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _0800B95C
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- bl SoundVSync
- bl BlinkSavingIcon
- ldr r0, _0800B960
- ldr r0, [r0, 0x4]
- cmp r0, 0
- beq _0800B8EE
- bl _call_via_r0
-_0800B8EE:
- movs r2, 0
- ldr r3, _0800B964
- movs r1, 0
- ldrsh r0, [r3, r1]
- adds r6, r3, 0
- ldr r7, _0800B968
- ldr r1, _0800B96C
- mov r12, r1
- ldr r1, _0800B970
- mov r8, r1
- ldr r1, _0800B974
- mov r9, r1
- ldr r1, _0800B978
- mov r10, r1
- cmp r2, r0
- bge _0800B920
- ldr r5, _0800B97C
- ldr r4, _0800B980
-_0800B912:
- ldm r5!, {r0,r1}
- stm r4!, {r0,r1}
- adds r2, 0x1
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r2, r0
- blt _0800B912
-_0800B920:
- ldrh r0, [r6]
- strh r0, [r7]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- mov r1, r12
- strh r0, [r1]
- mov r1, r8
- strh r0, [r1]
- mov r1, r9
- strh r0, [r1]
- ldr r1, _0800B984
- movs r0, 0x28
- strh r0, [r1]
- mov r1, r10
- ldrb r0, [r1]
- cmp r0, 0
- bne _0800B948
- bl UpdateSound
-_0800B948:
- movs r0, 0x1
- bl SetInterruptFlag
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800B95C: .4byte gUnknown_203B0A0
-_0800B960: .4byte gUnknown_202D5F0
-_0800B964: .4byte gUnknown_203B0AA
-_0800B968: .4byte gUnknown_203B0AC
-_0800B96C: .4byte gUnknown_203B0AE
-_0800B970: .4byte gUnknown_203B0B0
-_0800B974: .4byte gUnknown_203B0B2
-_0800B978: .4byte gUnknown_203B099
-_0800B97C: .4byte gUnknown_202D608
-_0800B980: .4byte gUnknown_202D648
-_0800B984: .4byte 0x04000004
- thumb_func_end VBlankIntr
-
- thumb_func_start VCountIntr
-VCountIntr:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _0800BA44
- ldrh r0, [r0]
- lsls r0, 16
- asrs r6, r0, 16
- ldr r0, _0800BA48
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r7, r0, 0
- cmp r1, 0
- bge _0800B9B2
- ldr r0, _0800BA4C
- ldr r0, [r0, 0x8]
- cmp r0, 0
- beq _0800B9AE
- bl _call_via_r0
-_0800B9AE:
- movs r0, 0
- strh r0, [r7]
-_0800B9B2:
- ldr r0, _0800BA50
- movs r3, 0
- ldrsh r2, [r7, r3]
- movs r3, 0
- ldrsh r1, [r0, r3]
- mov r8, r0
- cmp r2, r1
- bge _0800BA34
- ldr r1, _0800BA54
- adds r0, r2, 0
- lsls r0, 3
- adds r0, r1
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- cmp r0, r6
- bgt _0800BA10
- adds r5, r1, 0
- adds r4, r7, 0
-_0800B9D6:
- movs r1, 0
- ldrsh r0, [r4, r1]
- lsls r0, 3
- adds r1, r5, 0x4
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0800B9EA
- bl _call_via_r0
-_0800B9EA:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldr r1, _0800BA50
- lsls r0, 16
- asrs r0, 16
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bge _0800BA34
- movs r3, 0
- ldrsh r0, [r4, r3]
- lsls r0, 3
- adds r0, r5
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- ldr r7, _0800BA48
- cmp r0, r6
- ble _0800B9D6
-_0800BA10:
- movs r2, 0
- ldrsh r1, [r7, r2]
- mov r3, r8
- movs r2, 0
- ldrsh r0, [r3, r2]
- cmp r1, r0
- bge _0800BA34
- ldr r2, _0800BA58
- ldr r1, _0800BA54
- movs r3, 0
- ldrsh r0, [r7, r3]
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x2]
- lsls r0, 8
- movs r1, 0x28
- orrs r0, r1
- strh r0, [r2]
-_0800BA34:
- movs r0, 0x4
- bl SetInterruptFlag
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0800BA44: .4byte 0x04000006
-_0800BA48: .4byte gUnknown_203B0AE
-_0800BA4C: .4byte gUnknown_202D5F0
-_0800BA50: .4byte gUnknown_203B0AC
-_0800BA54: .4byte gUnknown_202D648
-_0800BA58: .4byte 0x04000004
- thumb_func_end VCountIntr
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/code_800D090.s b/asm/code_800D090.s
index b9463be..efc28d7 100644
--- a/asm/code_800D090.s
+++ b/asm/code_800D090.s
@@ -7726,7 +7726,7 @@ _08010BD0:
pop {r0}
bx r0
.align 2, 0
-_08010C08: .4byte gUnknown_202DF98
+_08010C08: .4byte gAvailablePokemonNames
_08010C0C: .4byte gUnknown_80D4074
thumb_func_end sub_8010B74
diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s
index 3c4be5d..6b3198e 100644
--- a/asm/code_8012A18.s
+++ b/asm/code_8012A18.s
@@ -55,7 +55,7 @@ _08012C18:
adds r0, 0x30
lsls r0, 24
lsrs r0, 24
- bl sub_8092288
+ bl ReturnIntFromChar2
adds r4, r0, 0
bl GetCharacter
movs r1, 0x6
@@ -97,7 +97,7 @@ sub_8012C60:
adds r7, r3, 0
lsls r0, 24
lsrs r0, 24
- bl sub_8092288
+ bl ReturnIntFromChar2
adds r4, r0, 0
bl GetCharacter
adds r1, r0, 0
@@ -6745,7 +6745,7 @@ _08015F96:
_08015FBC: .4byte gUnknown_203B1FC
_08015FC0:
ldrb r0, [r2]
- bl sub_8092288
+ bl ReturnIntFromChar2
bl GetCharacter
ldr r3, [r7]
adds r1, r3, 0
@@ -6781,7 +6781,7 @@ sub_8015FEC:
adds r4, r2, 0
_08016002:
ldrb r0, [r4]
- bl sub_8092288
+ bl ReturnIntFromChar2
bl GetCharacter
movs r1, 0x6
ldrsh r0, [r0, r1]
@@ -6971,7 +6971,7 @@ _08016140:
bl sub_80922B4
b _08016166
.align 2, 0
-_08016158: .4byte gUnknown_202DF98
+_08016158: .4byte gAvailablePokemonNames
_0801615C:
ldr r0, _08016188
ldr r1, [r1, 0x8]
@@ -6995,7 +6995,7 @@ _08016166:
bl sub_8014248
b _080161B8
.align 2, 0
-_08016188: .4byte gUnknown_202DF98
+_08016188: .4byte gAvailablePokemonNames
_0801618C: .4byte gUnknown_80DB688
_08016190: .4byte gUnknown_203B200
_08016194:
@@ -7208,7 +7208,7 @@ DisplayPersianDialogueSprite:
movs r1, 0x35
bl sub_808D8E0
movs r0, 0x35
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
subs r4, 0x50
adds r0, r4, 0
@@ -8428,7 +8428,7 @@ DisplayKangaskhanDialogueSprite:
movs r1, 0x73
bl sub_808D8E0
movs r0, 0x73
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
subs r4, 0x50
adds r0, r4, 0
@@ -12242,7 +12242,7 @@ _08018B50:
adds r1, r5, 0
bl sub_808D8E0
adds r0, r5, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
subs r4, 0x50
adds r0, r4, 0
@@ -12266,7 +12266,7 @@ _08018B80:
adds r1, r5, 0
bl sub_808D8E0
adds r0, r5, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
subs r4, 0x50
adds r0, r4, 0
@@ -17005,7 +17005,7 @@ _0801B1D2:
.align 2, 0
_0801B1F4: .4byte gUnknown_203B22C
_0801B1F8: .4byte gUnknown_203B45C
-_0801B1FC: .4byte gUnknown_202DF98
+_0801B1FC: .4byte gAvailablePokemonNames
thumb_func_end sub_801B178
thumb_func_start sub_801B200
@@ -17423,7 +17423,7 @@ _0801B50C:
pop {r0}
bx r0
.align 2, 0
-_0801B514: .4byte gUnknown_202DF98
+_0801B514: .4byte gAvailablePokemonNames
_0801B518: .4byte gUnknown_80DBA4C
thumb_func_end sub_801B480
@@ -17622,7 +17622,7 @@ _0801B65E:
bx r1
.align 2, 0
_0801B6A0: .4byte gUnknown_203B234
-_0801B6A4: .4byte gUnknown_202DF98
+_0801B6A4: .4byte gAvailablePokemonNames
_0801B6A8: .4byte gUnknown_202DE58
thumb_func_end sub_801B60C
@@ -19776,7 +19776,7 @@ _0801C7C4:
pop {r0}
bx r0
.align 2, 0
-_0801C7CC: .4byte gUnknown_202DF98
+_0801C7CC: .4byte gAvailablePokemonNames
_0801C7D0: .4byte gUnknown_80DBE30
thumb_func_end sub_801C6E4
@@ -21359,7 +21359,7 @@ _0801D400:
bl sub_8012D60
b _0801D4B6
.align 2, 0
-_0801D434: .4byte gUnknown_202DF98
+_0801D434: .4byte gAvailablePokemonNames
_0801D438:
bl sub_801D894
ldr r2, [r6]
@@ -21618,7 +21618,7 @@ _0801D622:
str r0, [r1, 0x14]
b _0801D67A
.align 2, 0
-_0801D63C: .4byte gUnknown_202DF98
+_0801D63C: .4byte gAvailablePokemonNames
_0801D640: .4byte gUnknown_80DBF34
_0801D644: .4byte gUnknown_80D49A8
_0801D648: .4byte gMenuItems
diff --git a/asm/code_801D760.s b/asm/code_801D760.s
index fdd142e..59f446e 100644
--- a/asm/code_801D760.s
+++ b/asm/code_801D760.s
@@ -58,7 +58,7 @@ _0801D8B2:
bl sub_8092178
lsls r0, 24
lsrs r0, 24
- bl sub_80921A8
+ bl GetTeamRankString
adds r4, r0, 0
bl sub_8092110
adds r3, r0, 0
@@ -2342,7 +2342,7 @@ _0801EACA:
beq _0801EB68
b _0801EBB8
.align 2, 0
-_0801EAF8: .4byte gUnknown_202DF98
+_0801EAF8: .4byte gAvailablePokemonNames
_0801EAFC: .4byte gUnknown_203B26C
_0801EB00:
ldrb r4, [r2, 0xE]
@@ -3378,7 +3378,7 @@ _0801F2E0:
b _0801F31A
.align 2, 0
_0801F30C: .4byte gUnknown_203B270
-_0801F310: .4byte gUnknown_202DF98
+_0801F310: .4byte gAvailablePokemonNames
_0801F314: .4byte gUnknown_80DC28C
_0801F318:
movs r0, 0x4
@@ -4302,7 +4302,7 @@ _0801FA48:
pop {r0}
bx r0
.align 2, 0
-_0801FA50: .4byte gUnknown_202DF98
+_0801FA50: .4byte gAvailablePokemonNames
_0801FA54: .4byte gUnknown_80DC310
thumb_func_end sub_801F9A4
@@ -4465,7 +4465,7 @@ sub_801FB50:
adds r1, r4, 0
bl sub_808D8E0
adds r0, r4, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
adds r0, r5, 0
subs r0, 0x50
@@ -5374,7 +5374,7 @@ _08020304:
ldr r2, [r2]
b _0802052C
.align 2, 0
-_0802033C: .4byte gUnknown_202DF98
+_0802033C: .4byte gAvailablePokemonNames
_08020340: .4byte gGulpinDialogue
_08020344:
ldr r1, [r5]
@@ -8492,7 +8492,7 @@ sub_8021B9C:
movs r1, 0x28
bl sub_808D8E0
movs r0, 0x28
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
subs r4, 0x50
adds r0, r4, 0
@@ -9237,7 +9237,7 @@ _080221FA:
ldr r0, [r4]
movs r1, 0x12
ldrsh r0, [r0, r1]
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
ldr r0, _0802222C
bl strcpy
@@ -9256,7 +9256,7 @@ _080221FA:
b _0802227A
.align 2, 0
_08022228: .4byte gUnknown_203B290
-_0802222C: .4byte gUnknown_202DF98
+_0802222C: .4byte gAvailablePokemonNames
_08022230: .4byte gUnknown_202E628
_08022234: .4byte gWigglytuffDialogue
_08022238:
@@ -10024,7 +10024,7 @@ sub_80227B8:
b _08022856
.align 2, 0
_08022810: .4byte gUnknown_203B294
-_08022814: .4byte gUnknown_202DF98
+_08022814: .4byte gAvailablePokemonNames
_08022818:
movs r0, 0x11
bl sub_8022924
@@ -10046,7 +10046,7 @@ _08022820:
bl sub_8022924
b _08022856
.align 2, 0
-_08022848: .4byte gUnknown_202DF98
+_08022848: .4byte gAvailablePokemonNames
_0802284C: .4byte gUnknown_80DC5EC
_08022850:
movs r0, 0
@@ -14487,7 +14487,7 @@ _08024B74:
ldr r0, [r0, 0xC]
movs r1, 0x8
ldrsh r0, [r0, r1]
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
ldr r4, _08024C10
adds r0, r4, 0
@@ -14495,7 +14495,7 @@ _08024B74:
ldr r0, [r5]
movs r2, 0xA
ldrsh r0, [r0, r2]
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
adds r4, 0x50
adds r0, r4, 0
@@ -14538,11 +14538,11 @@ _08024BD6:
adds r4, 0x4C
movs r1, 0x8
ldrsh r0, [r0, r1]
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0xA
- bl sub_8092310
+ bl BoundedCopyStringtoBuffer
_08024C06:
ldr r1, [r5]
movs r0, 0x3
@@ -14550,7 +14550,7 @@ _08024C06:
ldr r0, _08024C18
b _08024CAE
.align 2, 0
-_08024C10: .4byte gUnknown_202DF98
+_08024C10: .4byte gAvailablePokemonNames
_08024C14: .4byte 0x000001ff
_08024C18: .4byte gUnknown_80DCEB0
_08024C1C:
@@ -14647,11 +14647,11 @@ _08024CC8:
adds r4, 0x4C
movs r2, 0x8
ldrsh r0, [r0, r2]
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0xA
- bl sub_8092310
+ bl BoundedCopyStringtoBuffer
_08024CE8:
ldr r0, [r5]
ldr r1, [r0, 0xC]
@@ -15833,7 +15833,7 @@ _080255D2:
ldr r2, [r2, 0x70]
b _08025654
.align 2, 0
-_08025608: .4byte gUnknown_202DF98
+_08025608: .4byte gAvailablePokemonNames
_0802560C:
ldr r0, [r5]
movs r1, 0xE
@@ -17382,7 +17382,7 @@ _0802625C:
b _0802633E
.align 2, 0
_080262A0: .4byte gUnknown_203B2B8
-_080262A4: .4byte gUnknown_202DF98
+_080262A4: .4byte gAvailablePokemonNames
_080262A8:
movs r0, 0x3
bl sub_8026E08
@@ -17410,7 +17410,7 @@ _080262A8:
b _080264BA
.align 2, 0
_080262E4: .4byte gUnknown_203B2B8
-_080262E8: .4byte gUnknown_202DF98
+_080262E8: .4byte gAvailablePokemonNames
_080262EC:
ldr r0, [r4]
movs r1, 0xA
@@ -18851,7 +18851,7 @@ sub_8026E08:
pop {r0}
bx r0
.align 2, 0
-_08026E78: .4byte gUnknown_202DF98
+_08026E78: .4byte gAvailablePokemonNames
_08026E7C: .4byte gUnknown_203B2B8
_08026E80: .4byte gUnknown_80DD6E0
_08026E84: .4byte gUnknown_80DD370
diff --git a/asm/code_8027C84.s b/asm/code_8027C84.s
index 7c4a52b..d385681 100644
--- a/asm/code_8027C84.s
+++ b/asm/code_8027C84.s
@@ -426,7 +426,7 @@ sub_8027F88:
adds r1, r4, 0
bl sub_808D8E0
adds r0, r4, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
ldr r0, _08028064
bl strcpy
@@ -487,7 +487,7 @@ _08028054: .4byte 0x0000053c
_08028058: .4byte 0x00000544
_0802805C: .4byte 0x0000ffff
_08028060: .4byte gUnknown_202E5D8
-_08028064: .4byte gUnknown_202DF98
+_08028064: .4byte gAvailablePokemonNames
_08028068: .4byte 0x0000042c
_0802806C: .4byte 0x0000042d
_08028070: .4byte 0x0000042e
diff --git a/asm/code_803B050.s b/asm/code_803B050.s
new file mode 100644
index 0000000..a3bd8bf
--- /dev/null
+++ b/asm/code_803B050.s
@@ -0,0 +1,2159 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_803B050
+sub_803B050:
+ push {r4-r7,lr}
+ ldr r4, _0803B0F4
+ movs r0, 0xF4
+ lsls r0, 2
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r1, 0x3
+ str r1, [r0, 0x34]
+ adds r1, r0, 0
+ adds r1, 0x84
+ str r1, [r0, 0x38]
+ adds r0, 0x3C
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r2, [r1, 0x34]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x3C
+ ldr r0, _0803B0F8
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldr r0, [r4]
+ ldr r1, [r0, 0x38]
+ adds r0, 0x9C
+ str r0, [r1, 0x14]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ movs r2, 0
+ movs r3, 0
+ movs r7, 0xCB
+ lsls r7, 1
+ movs r6, 0x80
+ lsls r6, 9
+ movs r5, 0
+_0803B0AE:
+ ldr r0, _0803B0FC
+ adds r0, r5, r0
+ movs r1, 0x2
+ ldrsh r0, [r0, r1]
+ ldr r4, _0803B0F4
+ cmp r0, 0xA
+ bne _0803B0C8
+ ldr r0, [r4]
+ lsls r1, r2, 1
+ adds r0, 0xA0
+ adds r0, r1
+ strh r3, [r0]
+ adds r2, 0x1
+_0803B0C8:
+ adds r0, r6, 0
+ movs r3, 0x80
+ lsls r3, 9
+ adds r6, r3
+ adds r5, 0xC
+ asrs r3, r0, 16
+ cmp r3, r7
+ ble _0803B0AE
+ ldr r0, [r4]
+ ldr r3, [r0, 0x34]
+ adds r1, r2, 0
+ movs r2, 0xA
+ bl sub_8013818
+ bl sub_803B204
+ bl sub_803B284
+ movs r0, 0x1
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0803B0F4: .4byte gUnknown_203B3FC
+_0803B0F8: .4byte gUnknown_80E7F54
+_0803B0FC: .4byte gFunctionScriptTable
+ thumb_func_end sub_803B050
+
+ thumb_func_start sub_803B100
+sub_803B100:
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 16
+ asrs r1, 16
+ ldr r0, _0803B11C
+ ldr r0, [r0]
+ bl sub_8013878
+ bl sub_803B204
+ bl sub_803B284
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803B11C: .4byte gUnknown_203B3FC
+ thumb_func_end sub_803B100
+
+ thumb_func_start sub_803B120
+sub_803B120:
+ push {r4,lr}
+ ldr r4, _0803B13C
+ ldr r0, [r4]
+ bl GetKeyPress
+ cmp r0, 0x1
+ beq _0803B140
+ cmp r0, 0x2
+ bne _0803B144
+ movs r0, 0x1
+ bl sub_80119D4
+ movs r0, 0x2
+ b _0803B160
+ .align 2, 0
+_0803B13C: .4byte gUnknown_203B3FC
+_0803B140:
+ movs r0, 0x3
+ b _0803B160
+_0803B144:
+ ldr r0, [r4]
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0803B156
+ movs r0, 0
+ b _0803B160
+_0803B156:
+ bl sub_803B204
+ bl sub_803B284
+ movs r0, 0x1
+_0803B160:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803B120
+
+ thumb_func_start sub_803B168
+sub_803B168:
+ ldr r0, _0803B188
+ ldr r0, [r0]
+ movs r1, 0x1E
+ ldrsh r2, [r0, r1]
+ movs r3, 0x1C
+ ldrsh r1, [r0, r3]
+ muls r1, r2
+ movs r3, 0x18
+ ldrsh r2, [r0, r3]
+ adds r1, r2
+ lsls r1, 1
+ adds r0, 0xA0
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_0803B188: .4byte gUnknown_203B3FC
+ thumb_func_end sub_803B168
+
+ thumb_func_start sub_803B18C
+sub_803B18C:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, _0803B1B8
+ ldr r0, [r5]
+ movs r1, 0xE5
+ strh r1, [r0, 0x22]
+ bl sub_8013984
+ bl sub_803B204
+ bl sub_803B284
+ cmp r4, 0
+ beq _0803B1B2
+ ldr r0, [r5]
+ bl AddMenuCursorSprite
+_0803B1B2:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803B1B8: .4byte gUnknown_203B3FC
+ thumb_func_end sub_803B18C
+
+ thumb_func_start sub_803B1BC
+sub_803B1BC:
+ push {r4,r5,lr}
+ ldr r4, _0803B1FC
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0803B1F6
+ ldr r0, [r2, 0x34]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x3C
+ ldr r0, _0803B200
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0803B1F6:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803B1FC: .4byte gUnknown_203B3FC
+_0803B200: .4byte gUnknown_80E7F3C
+ thumb_func_end sub_803B1BC
+
+ thumb_func_start sub_803B204
+sub_803B204:
+ push {r4,lr}
+ ldr r4, _0803B280
+ ldr r0, [r4]
+ adds r0, 0x9C
+ movs r2, 0
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0x9D
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, 0x9E
+ movs r1, 0x8
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0x9F
+ strb r2, [r0]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ lsls r0, 16
+ ldr r2, [r4]
+ ldr r3, [r2, 0x34]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x4A
+ asrs r3, r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r1, [r2, 0x34]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r2, r0
+ adds r3, 0x2
+ adds r2, 0x4C
+ strh r3, [r2]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803B280: .4byte gUnknown_203B3FC
+ thumb_func_end sub_803B204
+
+ thumb_func_start sub_803B284
+sub_803B284:
+ push {r4-r6,lr}
+ sub sp, 0x8
+ ldr r6, _0803B338
+ ldr r0, [r6]
+ ldr r0, [r0, 0x34]
+ bl sub_8008C54
+ ldr r0, [r6]
+ ldr r0, [r0, 0x34]
+ bl sub_80073B8
+ ldr r2, _0803B33C
+ ldr r0, [r6]
+ ldr r3, [r0, 0x34]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r1, [r6]
+ adds r0, r1, 0
+ adds r0, 0x9E
+ ldrb r4, [r0]
+ lsls r4, 3
+ subs r4, 0x2
+ movs r0, 0x1E
+ ldrsh r2, [r1, r0]
+ adds r2, 0x1
+ movs r0, 0x7
+ str r0, [sp]
+ ldr r0, [r1, 0x34]
+ str r0, [sp, 0x4]
+ adds r0, r4, 0
+ movs r1, 0
+ movs r3, 0x2
+ bl sub_8012BC4
+ movs r5, 0
+ ldr r0, [r6]
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ cmp r5, r0
+ bge _0803B324
+_0803B2DC:
+ ldr r0, [r6]
+ movs r3, 0x1E
+ ldrsh r2, [r0, r3]
+ movs r3, 0x1C
+ ldrsh r1, [r0, r3]
+ muls r2, r1
+ adds r2, r5
+ lsls r2, 1
+ adds r1, r0, 0
+ adds r1, 0xA0
+ adds r1, r2
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ lsls r4, r1, 1
+ adds r4, r1
+ lsls r4, 2
+ ldr r1, _0803B340
+ adds r4, r1
+ adds r1, r5, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r2, [r4, 0x4]
+ ldr r0, [r6]
+ ldr r3, [r0, 0x34]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ bl xxx_call_draw_string
+ adds r5, 0x1
+ ldr r0, [r6]
+ movs r3, 0x1A
+ ldrsh r0, [r0, r3]
+ cmp r5, r0
+ blt _0803B2DC
+_0803B324:
+ ldr r0, _0803B338
+ ldr r0, [r0]
+ ldr r0, [r0, 0x34]
+ bl sub_80073E0
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803B338: .4byte gUnknown_203B3FC
+_0803B33C: .4byte gUnknown_80E7F6C
+_0803B340: .4byte gFunctionScriptTable
+ thumb_func_end sub_803B284
+
+ thumb_func_start sub_803B344
+sub_803B344:
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r0, r1, 3
+ subs r0, r1
+ lsls r0, 2
+ ldr r1, _0803B358
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_0803B358: .4byte gUnknown_80E7F94
+ thumb_func_end sub_803B344
+
+ thumb_func_start sub_803B35C
+sub_803B35C:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ adds r1, 0x18
+ bl sub_803C21C
+ ldrb r0, [r5, 0x2]
+ subs r0, 0x1
+ cmp r0, 0x8
+ bls _0803B372
+ b _0803B4FA
+_0803B372:
+ lsls r0, 2
+ ldr r1, _0803B37C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803B37C: .4byte _0803B380
+ .align 2, 0
+_0803B380:
+ .4byte _0803B3A4
+ .4byte _0803B3BE
+ .4byte _0803B3D8
+ .4byte _0803B3F2
+ .4byte _0803B414
+ .4byte _0803B442
+ .4byte _0803B470
+ .4byte _0803B49E
+ .4byte _0803B4CC
+_0803B3A4:
+ adds r0, r4, 0
+ adds r0, 0x40
+ movs r1, 0
+ strb r1, [r0]
+ adds r0, 0x1
+ strb r1, [r0]
+ adds r1, r4, 0
+ adds r1, 0x42
+ movs r0, 0x6
+ strb r0, [r1]
+ subs r1, 0x14
+ movs r0, 0x5
+ b _0803B576
+_0803B3BE:
+ adds r0, r4, 0
+ adds r0, 0x40
+ movs r1, 0x1
+ strb r1, [r0]
+ adds r0, 0x1
+ strb r1, [r0]
+ adds r1, r4, 0
+ adds r1, 0x42
+ movs r0, 0x6
+ strb r0, [r1]
+ subs r1, 0x14
+ movs r0, 0x5
+ b _0803B576
+_0803B3D8:
+ adds r0, r4, 0
+ adds r0, 0x40
+ movs r1, 0x2
+ strb r1, [r0]
+ adds r0, 0x1
+ strb r1, [r0]
+ adds r1, r4, 0
+ adds r1, 0x42
+ movs r0, 0x6
+ strb r0, [r1]
+ subs r1, 0x14
+ movs r0, 0x5
+ b _0803B576
+_0803B3F2:
+ adds r0, r4, 0
+ adds r0, 0x40
+ movs r1, 0x3
+ strb r1, [r0]
+ adds r0, 0x1
+ strb r1, [r0]
+ adds r1, r4, 0
+ adds r1, 0x42
+ movs r0, 0x6
+ strb r0, [r1]
+ bl sub_8096DD8
+ str r0, [r4, 0x4C]
+ bl sub_8096DE8
+ str r0, [r4, 0x50]
+ b _0803B578
+_0803B414:
+ ldrb r0, [r5, 0x1]
+ cmp r0, 0x3
+ bne _0803B42A
+ adds r0, r4, 0
+ adds r0, 0x40
+ movs r1, 0xB
+ strb r1, [r0]
+ adds r1, r4, 0
+ adds r1, 0x42
+ movs r0, 0x1
+ b _0803B438
+_0803B42A:
+ adds r0, r4, 0
+ adds r0, 0x40
+ movs r1, 0xC
+ strb r1, [r0]
+ adds r1, r4, 0
+ adds r1, 0x42
+ movs r0, 0x2
+_0803B438:
+ strb r0, [r1]
+ adds r1, r4, 0
+ adds r1, 0x41
+ movs r0, 0x4
+ b _0803B576
+_0803B442:
+ ldrb r0, [r5, 0x1]
+ cmp r0, 0x3
+ bne _0803B458
+ adds r0, r4, 0
+ adds r0, 0x40
+ movs r1, 0xB
+ strb r1, [r0]
+ adds r1, r4, 0
+ adds r1, 0x42
+ movs r0, 0x1
+ b _0803B466
+_0803B458:
+ adds r0, r4, 0
+ adds r0, 0x40
+ movs r1, 0xC
+ strb r1, [r0]
+ adds r1, r4, 0
+ adds r1, 0x42
+ movs r0, 0x2
+_0803B466:
+ strb r0, [r1]
+ adds r1, r4, 0
+ adds r1, 0x41
+ movs r0, 0x5
+ b _0803B576
+_0803B470:
+ adds r0, r5, 0
+ bl sub_803B600
+ str r0, [r4, 0x4]
+ movs r1, 0x1
+ negs r1, r1
+ cmp r0, r1
+ bne _0803B488
+ adds r1, r4, 0
+ adds r1, 0x40
+ movs r0, 0x9
+ b _0803B48E
+_0803B488:
+ adds r1, r4, 0
+ adds r1, 0x40
+ movs r0, 0x4
+_0803B48E:
+ strb r0, [r1]
+ adds r1, r4, 0
+ adds r1, 0x41
+ movs r0, 0x6
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0x4
+ b _0803B576
+_0803B49E:
+ adds r0, r5, 0
+ bl sub_803B628
+ str r0, [r4, 0x4]
+ movs r1, 0x1
+ negs r1, r1
+ cmp r0, r1
+ bne _0803B4B6
+ adds r1, r4, 0
+ adds r1, 0x40
+ movs r0, 0x9
+ b _0803B4BC
+_0803B4B6:
+ adds r1, r4, 0
+ adds r1, 0x40
+ movs r0, 0x5
+_0803B4BC:
+ strb r0, [r1]
+ adds r1, r4, 0
+ adds r1, 0x41
+ movs r0, 0x7
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0x4
+ b _0803B576
+_0803B4CC:
+ adds r0, r5, 0
+ bl sub_803B66C
+ str r0, [r4, 0x4]
+ movs r1, 0x1
+ negs r1, r1
+ cmp r0, r1
+ bne _0803B4E4
+ adds r1, r4, 0
+ adds r1, 0x40
+ movs r0, 0xA
+ b _0803B4EA
+_0803B4E4:
+ adds r1, r4, 0
+ adds r1, 0x40
+ movs r0, 0x6
+_0803B4EA:
+ strb r0, [r1]
+ adds r1, r4, 0
+ adds r1, 0x41
+ movs r0, 0x8
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0x5
+ b _0803B576
+_0803B4FA:
+ ldrb r0, [r5, 0x1]
+ cmp r0, 0x2
+ beq _0803B528
+ cmp r0, 0x2
+ bgt _0803B50A
+ cmp r0, 0x1
+ beq _0803B514
+ b _0803B564
+_0803B50A:
+ cmp r0, 0x3
+ beq _0803B53C
+ cmp r0, 0x4
+ beq _0803B550
+ b _0803B564
+_0803B514:
+ adds r1, r4, 0
+ adds r1, 0x40
+ movs r0, 0x9
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0xD
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0x4
+ b _0803B576
+_0803B528:
+ adds r1, r4, 0
+ adds r1, 0x40
+ movs r0, 0xA
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0xE
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0x5
+ b _0803B576
+_0803B53C:
+ adds r1, r4, 0
+ adds r1, 0x40
+ movs r0, 0xB
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0xF
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0x1
+ b _0803B576
+_0803B550:
+ adds r1, r4, 0
+ adds r1, 0x40
+ movs r0, 0xC
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0x10
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0x2
+ b _0803B576
+_0803B564:
+ adds r1, r4, 0
+ adds r1, 0x40
+ movs r0, 0x8
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0xC
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0x3
+_0803B576:
+ strb r0, [r1]
+_0803B578:
+ adds r0, r5, 0x4
+ str r0, [r4, 0x8]
+ movs r0, 0
+ str r0, [r4, 0xC]
+ ldrh r0, [r5, 0xC]
+ movs r1, 0
+ strh r0, [r4, 0x10]
+ ldrh r0, [r5, 0xE]
+ strh r0, [r4, 0x12]
+ ldrb r0, [r5, 0x10]
+ strb r0, [r4, 0x14]
+ ldrb r0, [r5]
+ subs r0, 0x2
+ cmp r0, 0x7
+ bhi _0803B5EC
+ lsls r0, 2
+ ldr r1, _0803B5A0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803B5A0: .4byte _0803B5A4
+ .align 2, 0
+_0803B5A4:
+ .4byte _0803B5C4
+ .4byte _0803B5C4
+ .4byte _0803B5C4
+ .4byte _0803B5C4
+ .4byte _0803B5DC
+ .4byte _0803B5CC
+ .4byte _0803B5DC
+ .4byte _0803B5DC
+_0803B5C4:
+ adds r0, r4, 0
+ adds r0, 0x43
+ movs r1, 0x1
+ b _0803B5F0
+_0803B5CC:
+ adds r1, r4, 0
+ adds r1, 0x43
+ movs r0, 0
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0x3
+ strb r0, [r1]
+ b _0803B5F6
+_0803B5DC:
+ adds r1, r4, 0
+ adds r1, 0x43
+ movs r0, 0x3
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0x2
+ strb r0, [r1]
+ b _0803B5F6
+_0803B5EC:
+ adds r0, r4, 0
+ adds r0, 0x43
+_0803B5F0:
+ strb r1, [r0]
+ adds r0, 0x1
+ strb r1, [r0]
+_0803B5F6:
+ str r5, [r4, 0x54]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803B35C
+
+ thumb_func_start sub_803B600
+sub_803B600:
+ push {lr}
+ ldr r2, _0803B614
+ movs r1, 0
+ ldr r3, [r0, 0xC]
+_0803B608:
+ ldr r0, [r2]
+ cmp r0, r3
+ bne _0803B618
+ adds r0, r1, 0
+ b _0803B624
+ .align 2, 0
+_0803B614: .4byte gUnknown_80E9920
+_0803B618:
+ adds r2, 0x8
+ adds r1, 0x1
+ cmp r1, 0x14
+ ble _0803B608
+ movs r0, 0x1
+ negs r0, r0
+_0803B624:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803B600
+
+ thumb_func_start sub_803B628
+sub_803B628:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r2, _0803B654
+ movs r3, 0
+_0803B630:
+ ldr r1, [r2]
+ ldr r0, [r4, 0xC]
+ cmp r1, r0
+ beq _0803B650
+ movs r0, 0x2
+ ldrsh r1, [r2, r0]
+ movs r5, 0xC
+ ldrsh r0, [r4, r5]
+ cmp r1, r0
+ bne _0803B658
+ movs r0, 0
+ ldrsh r1, [r2, r0]
+ movs r5, 0xE
+ ldrsh r0, [r4, r5]
+ cmp r1, r0
+ bne _0803B658
+_0803B650:
+ adds r0, r3, 0
+ b _0803B664
+ .align 2, 0
+_0803B654: .4byte gUnknown_80E9F8C
+_0803B658:
+ adds r2, 0xC
+ adds r3, 0x1
+ cmp r3, 0x2C
+ ble _0803B630
+ movs r0, 0x1
+ negs r0, r0
+_0803B664:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803B628
+
+ thumb_func_start sub_803B66C
+sub_803B66C:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r2, _0803B698
+ movs r3, 0
+_0803B674:
+ ldr r1, [r2]
+ ldr r0, [r4, 0xC]
+ cmp r1, r0
+ beq _0803B694
+ movs r0, 0x2
+ ldrsh r1, [r2, r0]
+ movs r5, 0xC
+ ldrsh r0, [r4, r5]
+ cmp r1, r0
+ bne _0803B69C
+ movs r0, 0
+ ldrsh r1, [r2, r0]
+ movs r5, 0xE
+ ldrsh r0, [r4, r5]
+ cmp r1, r0
+ bne _0803B69C
+_0803B694:
+ adds r0, r3, 0
+ b _0803B6A8
+ .align 2, 0
+_0803B698: .4byte gUnknown_80E8168
+_0803B69C:
+ adds r2, 0x4
+ adds r3, 0x1
+ cmp r3, 0x5
+ ble _0803B674
+ movs r0, 0x1
+ negs r0, r0
+_0803B6A8:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803B66C
+
+ thumb_func_start sub_803B6B0
+sub_803B6B0:
+ push {r4,lr}
+ sub sp, 0x4
+ lsls r2, 24
+ ldr r4, _0803B6D0
+ lsrs r2, 22
+ adds r2, r4
+ ldr r2, [r2]
+ movs r4, 0
+ str r4, [sp]
+ bl xxx_call_draw_string
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803B6D0: .4byte gUnknown_80E8B94
+ thumb_func_end sub_803B6B0
+
+ thumb_func_start sub_803B6D4
+sub_803B6D4:
+ push {r4-r7,lr}
+ sub sp, 0x144
+ adds r7, r0, 0
+ ldr r1, [r7, 0x48]
+ adds r0, 0x43
+ ldrb r2, [r0]
+ ldr r3, [r7]
+ movs r0, 0xA
+ bl sub_803B6B0
+ adds r0, r7, 0
+ adds r0, 0x40
+ ldrb r0, [r0]
+ cmp r0, 0xC
+ bls _0803B6F4
+ b _0803B86C
+_0803B6F4:
+ lsls r0, 2
+ ldr r1, _0803B700
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803B700: .4byte _0803B704
+ .align 2, 0
+_0803B704:
+ .4byte _0803B73E
+ .4byte _0803B748
+ .4byte _0803B754
+ .4byte _0803B738
+ .4byte _0803B7A4
+ .4byte _0803B7B0
+ .4byte _0803B7C8
+ .4byte _0803B760
+ .4byte _0803B86C
+ .4byte _0803B818
+ .4byte _0803B7E0
+ .4byte _0803B788
+ .4byte _0803B76A
+_0803B738:
+ ldr r1, [r7, 0x48]
+ ldr r2, [r7, 0x4C]
+ b _0803B7CC
+_0803B73E:
+ ldr r1, [r7, 0x48]
+ ldr r2, _0803B744
+ b _0803B7CC
+ .align 2, 0
+_0803B744: .4byte gMankeyMission
+_0803B748:
+ ldr r1, [r7, 0x48]
+ ldr r2, _0803B750
+ b _0803B7CC
+ .align 2, 0
+_0803B750: .4byte gSmeargleMission
+_0803B754:
+ ldr r1, [r7, 0x48]
+ ldr r2, _0803B75C
+ b _0803B7CC
+ .align 2, 0
+_0803B75C: .4byte gMedichamMission
+_0803B760:
+ ldr r1, [r7, 0x8]
+ add r0, sp, 0x4
+ bl sub_8090208
+ b _0803B850
+_0803B76A:
+ ldr r4, _0803B780
+ ldrb r1, [r7, 0x14]
+ adds r0, r4, 0
+ movs r2, 0
+ bl sub_8090DC4
+ ldr r1, _0803B784
+ add r0, sp, 0x4
+ adds r2, r4, 0
+ b _0803B84C
+ .align 2, 0
+_0803B780: .4byte gUnknown_202DE58
+_0803B784: .4byte gUnknown_80E8830
+_0803B788:
+ ldr r4, _0803B79C
+ ldrb r1, [r7, 0x14]
+ adds r0, r4, 0
+ movs r2, 0
+ bl sub_8090DC4
+ ldr r1, _0803B7A0
+ add r0, sp, 0x4
+ adds r2, r4, 0
+ b _0803B84C
+ .align 2, 0
+_0803B79C: .4byte gUnknown_202DE58
+_0803B7A0: .4byte gUnknown_80E8848
+_0803B7A4:
+ ldr r1, [r7, 0x48]
+ ldr r2, _0803B7AC
+ b _0803B7CC
+ .align 2, 0
+_0803B7AC: .4byte gUnknown_80E885C
+_0803B7B0:
+ ldr r1, [r7, 0x48]
+ ldr r3, _0803B7C4
+ ldr r2, [r7, 0x4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r3, 0x4
+ adds r0, r3
+ ldr r2, [r0]
+ b _0803B7CC
+ .align 2, 0
+_0803B7C4: .4byte gUnknown_80E9F8C
+_0803B7C8:
+ ldr r1, [r7, 0x48]
+ ldr r2, _0803B7DC
+_0803B7CC:
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x15
+ bl xxx_call_draw_string
+ b _0803B8B4
+ .align 2, 0
+_0803B7DC: .4byte gUnknown_80E886C
+_0803B7E0:
+ ldr r0, [r7, 0x8]
+ ldr r4, [r0, 0x4]
+ ldrb r0, [r0]
+ adds r4, r0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r1, 0x12
+ ldrsh r0, [r7, r1]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ ldr r5, _0803B810
+ adds r0, r5, 0
+ bl strcpy
+ ldr r1, _0803B814
+ movs r0, 0x3
+ ands r4, r0
+ lsls r4, 2
+ adds r4, r1
+ ldr r1, [r4]
+ add r0, sp, 0x4
+ adds r2, r5, 0
+ b _0803B84C
+ .align 2, 0
+_0803B810: .4byte gAvailablePokemonNames
+_0803B814: .4byte gUnknown_80EAE5C
+_0803B818:
+ ldr r0, [r7, 0x8]
+ ldr r4, [r0, 0x4]
+ ldrb r0, [r0]
+ adds r4, r0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r1, 0x12
+ ldrsh r0, [r7, r1]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ ldr r6, _0803B864
+ adds r0, r6, 0
+ bl strcpy
+ ldr r5, _0803B868
+ adds r0, r4, 0
+ movs r1, 0xA
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 22
+ adds r0, r5
+ ldr r1, [r0]
+ add r0, sp, 0x4
+ adds r2, r6, 0
+_0803B84C:
+ bl sub_800D158
+_0803B850:
+ ldr r1, [r7, 0x48]
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x15
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ b _0803B8B4
+ .align 2, 0
+_0803B864: .4byte gAvailablePokemonNames
+_0803B868: .4byte gUnknown_80E910C
+_0803B86C:
+ ldr r0, [r7, 0x8]
+ ldr r4, [r0, 0x4]
+ ldrb r0, [r0]
+ adds r4, r0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r1, 0x12
+ ldrsh r0, [r7, r1]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ ldr r6, _0803B8E8
+ adds r0, r6, 0
+ bl strcpy
+ ldr r5, _0803B8EC
+ adds r0, r4, 0
+ movs r1, 0xF
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 22
+ adds r0, r5
+ ldr r1, [r0]
+ add r0, sp, 0x4
+ adds r2, r6, 0
+ bl sub_800D158
+ ldr r1, [r7, 0x48]
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x15
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+_0803B8B4:
+ adds r0, r7, 0
+ adds r0, 0x40
+ ldrb r1, [r0]
+ adds r6, r0, 0
+ cmp r1, 0x7
+ bne _0803B916
+ ldr r5, [r7, 0xC]
+ cmp r5, 0
+ bne _0803B8F0
+ bl sub_8016028
+ movs r4, 0xB2
+ subs r4, r0
+ movs r1, 0x10
+ ldrsh r0, [r7, r1]
+ bl GetMonSpecies
+ adds r2, r0, 0
+ ldr r1, [r7, 0x48]
+ ldr r3, [r7]
+ str r5, [sp]
+ adds r0, r4, 0
+ bl xxx_call_draw_string
+ b _0803B956
+ .align 2, 0
+_0803B8E8: .4byte gAvailablePokemonNames
+_0803B8EC: .4byte gUnknown_80E8C98
+_0803B8F0:
+ add r4, sp, 0xCC
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0xA
+ bl sub_80922B4
+ bl sub_8016028
+ adds r1, r0, 0
+ movs r0, 0xB2
+ subs r0, r1
+ ldr r1, [r7, 0x48]
+ ldr r3, [r7]
+ movs r2, 0
+ str r2, [sp]
+ adds r2, r4, 0
+ bl xxx_call_draw_string
+ b _0803B956
+_0803B916:
+ adds r0, r7, 0
+ adds r0, 0x42
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0803B93C
+ add r4, sp, 0xE0
+ ldr r1, [r7, 0x8]
+ adds r0, r4, 0
+ bl sub_8090228
+ ldr r1, _0803B938
+ add r0, sp, 0x4
+ adds r2, r4, 0
+ bl sub_800D158
+ b _0803B944
+ .align 2, 0
+_0803B938: .4byte gUnknown_80E8884
+_0803B93C:
+ ldr r1, [r7, 0x8]
+ add r0, sp, 0x4
+ bl sub_8090228
+_0803B944:
+ ldr r1, [r7, 0x48]
+ adds r1, 0xC
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x1D
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+_0803B956:
+ ldrb r0, [r6]
+ cmp r0, 0x7
+ bne _0803B962
+ ldr r0, [r7, 0x8]
+ movs r1, 0
+ b _0803B968
+_0803B962:
+ ldr r0, [r7, 0x8]
+ ldr r1, [r7, 0x54]
+ ldrb r1, [r1, 0x1]
+_0803B968:
+ bl sub_803C1D0
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_803C1F0
+ adds r2, r0, 0
+ ldr r1, [r7, 0x48]
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xB4
+ bl xxx_call_draw_string
+ add sp, 0x144
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803B6D4
+
+ thumb_func_start sub_803B98C
+sub_803B98C:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x1FC
+ adds r7, r0, 0
+ movs r0, 0
+ mov r9, r0
+ ldr r2, _0803B9E0
+ ldr r3, [r7]
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r1, _0803B9E4
+ adds r0, r7, 0
+ adds r0, 0x44
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r2, [r0]
+ ldr r3, [r7]
+ mov r1, r9
+ str r1, [sp]
+ movs r0, 0x6C
+ movs r1, 0
+ bl xxx_call_draw_string
+ movs r0, 0x10
+ mov r9, r0
+ adds r0, r7, 0
+ adds r0, 0x41
+ ldrb r0, [r0]
+ cmp r0, 0x10
+ bls _0803B9D6
+ b _0803BCC0
+_0803B9D6:
+ lsls r0, 2
+ ldr r1, _0803B9E8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803B9E0: .4byte gUnknown_80E888C
+_0803B9E4: .4byte gUnknown_80E8BCC
+_0803B9E8: .4byte _0803B9EC
+ .align 2, 0
+_0803B9EC:
+ .4byte _0803BA34
+ .4byte _0803BA3C
+ .4byte _0803BA44
+ .4byte _0803BA30
+ .4byte _0803BA4C
+ .4byte _0803BA6C
+ .4byte _0803BA8C
+ .4byte _0803BAA0
+ .4byte _0803BBF0
+ .4byte _0803BAE8
+ .4byte _0803BAF0
+ .4byte _0803BAF8
+ .4byte _0803BCC0
+ .4byte _0803BC58
+ .4byte _0803BB74
+ .4byte _0803BB10
+ .4byte _0803BB10
+_0803BA30:
+ ldr r2, [r7, 0x50]
+ b _0803BAFA
+_0803BA34:
+ ldr r2, _0803BA38
+ b _0803BAFA
+ .align 2, 0
+_0803BA38: .4byte gUnknown_80E88A0
+_0803BA3C:
+ ldr r2, _0803BA40
+ b _0803BAFA
+ .align 2, 0
+_0803BA40: .4byte gUnknown_80E88C8
+_0803BA44:
+ ldr r2, _0803BA48
+ b _0803BAFA
+ .align 2, 0
+_0803BA48: .4byte gUnknown_80E8920
+_0803BA4C:
+ ldr r4, _0803BA64
+ ldrb r1, [r7, 0x14]
+ adds r0, r4, 0
+ movs r2, 0
+ bl sub_8090DC4
+ ldr r1, _0803BA68
+ add r0, sp, 0x4
+ adds r2, r4, 0
+ bl sub_800D158
+ b _0803BACC
+ .align 2, 0
+_0803BA64: .4byte gUnknown_202DE58
+_0803BA68: .4byte gUnknown_80E8968
+_0803BA6C:
+ ldr r4, _0803BA84
+ ldrb r1, [r7, 0x14]
+ adds r0, r4, 0
+ movs r2, 0
+ bl sub_8090DC4
+ ldr r1, _0803BA88
+ add r0, sp, 0x4
+ adds r2, r4, 0
+ bl sub_800D158
+ b _0803BACC
+ .align 2, 0
+_0803BA84: .4byte gUnknown_202DE58
+_0803BA88: .4byte gUnknown_80E89B0
+_0803BA8C:
+ ldr r1, _0803BA9C
+ ldr r0, [r7, 0x4]
+ lsls r0, 3
+ adds r1, 0x4
+ adds r0, r1
+ ldr r2, [r0]
+ b _0803BAFA
+ .align 2, 0
+_0803BA9C: .4byte gUnknown_80E9920
+_0803BAA0:
+ movs r1, 0x12
+ ldrsh r0, [r7, r1]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ ldr r4, _0803BAE0
+ adds r0, r4, 0
+ bl strcpy
+ ldr r2, _0803BAE4
+ ldr r1, [r7, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x8
+ adds r0, r2
+ ldr r1, [r0]
+ add r0, sp, 0x4
+ adds r2, r4, 0
+ adds r3, r4, 0
+ bl sub_800D158
+_0803BACC:
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ mov r1, r9
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ b _0803BD42
+ .align 2, 0
+_0803BAE0: .4byte gAvailablePokemonNames
+_0803BAE4: .4byte gUnknown_80E9F8C
+_0803BAE8:
+ ldr r2, _0803BAEC
+ b _0803BAFA
+ .align 2, 0
+_0803BAEC: .4byte gUnknown_80E89FC
+_0803BAF0:
+ ldr r2, _0803BAF4
+ b _0803BAFA
+ .align 2, 0
+_0803BAF4: .4byte gUnknown_80E8A40
+_0803BAF8:
+ ldr r2, _0803BB0C
+_0803BAFA:
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ mov r1, r9
+ bl xxx_call_draw_string
+ b _0803BD42
+ .align 2, 0
+_0803BB0C: .4byte gUnknown_80E8A7C
+_0803BB10:
+ ldr r0, [r7, 0x8]
+ ldr r5, [r0, 0x4]
+ ldrb r4, [r0]
+ adds r4, r5, r4
+ lsls r4, 24
+ lsrs r4, 24
+ ldrb r0, [r0, 0x1]
+ adds r5, r0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r0, _0803BB68
+ mov r8, r0
+ ldrb r1, [r7, 0x14]
+ movs r2, 0
+ bl sub_8090DC4
+ ldr r6, _0803BB6C
+ adds r0, r4, 0
+ movs r1, 0x16
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 22
+ adds r0, r6
+ ldr r1, [r0]
+ add r0, sp, 0x4
+ mov r2, r8
+ bl sub_800D158
+ ldr r3, [r7]
+ movs r6, 0
+ str r6, [sp]
+ movs r0, 0xA
+ mov r1, r9
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ movs r1, 0xC
+ add r9, r1
+ ldr r4, _0803BB70
+ adds r0, r5, 0
+ movs r1, 0x16
+ b _0803BD1A
+ .align 2, 0
+_0803BB68: .4byte gUnknown_202DE58
+_0803BB6C: .4byte gUnknown_80EB3F8
+_0803BB70: .4byte gUnknown_80EB72C
+_0803BB74:
+ ldr r0, [r7, 0x8]
+ ldr r5, [r0, 0x4]
+ ldrb r4, [r0]
+ adds r4, r5, r4
+ lsls r4, 24
+ lsrs r4, 24
+ ldrb r0, [r0, 0x1]
+ adds r5, r0
+ lsls r5, 24
+ lsrs r5, 24
+ movs r1, 0x12
+ ldrsh r0, [r7, r1]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ ldr r0, _0803BBE4
+ mov r8, r0
+ bl strcpy
+ ldr r6, _0803BBE8
+ adds r0, r4, 0
+ movs r1, 0x14
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 22
+ adds r0, r6
+ ldr r1, [r0]
+ add r0, sp, 0x4
+ mov r2, r8
+ bl sub_800D158
+ ldr r3, [r7]
+ movs r4, 0
+ str r4, [sp]
+ movs r0, 0xA
+ mov r1, r9
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ movs r1, 0xC
+ add r9, r1
+ ldr r1, _0803BBEC
+ movs r0, 0x3
+ ands r5, r0
+ lsls r5, 2
+ adds r5, r1
+ ldr r1, [r5]
+ add r0, sp, 0x4
+ mov r2, r8
+ bl sub_800D158
+ ldr r3, [r7]
+ str r4, [sp]
+ b _0803BD32
+ .align 2, 0
+_0803BBE4: .4byte gAvailablePokemonNames
+_0803BBE8: .4byte gUnknown_80EAEB8
+_0803BBEC: .4byte gUnknown_80EB198
+_0803BBF0:
+ ldr r0, [r7, 0x8]
+ ldr r5, [r0, 0x4]
+ ldrb r4, [r0]
+ adds r4, r5, r4
+ lsls r4, 24
+ lsrs r4, 24
+ ldrb r0, [r0, 0x1]
+ adds r5, r0
+ lsls r5, 24
+ lsrs r5, 24
+ movs r1, 0x12
+ ldrsh r0, [r7, r1]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ ldr r0, _0803BC4C
+ mov r8, r0
+ bl strcpy
+ ldr r6, _0803BC50
+ adds r0, r4, 0
+ movs r1, 0x6
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 22
+ adds r0, r6
+ ldr r1, [r0]
+ add r0, sp, 0x4
+ mov r2, r8
+ bl sub_800D158
+ ldr r3, [r7]
+ movs r6, 0
+ str r6, [sp]
+ movs r0, 0xA
+ mov r1, r9
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ movs r1, 0xC
+ add r9, r1
+ ldr r4, _0803BC54
+ adds r0, r5, 0
+ movs r1, 0x6
+ b _0803BD1A
+ .align 2, 0
+_0803BC4C: .4byte gAvailablePokemonNames
+_0803BC50: .4byte gUnknown_80EB220
+_0803BC54: .4byte gUnknown_80EB2F0
+_0803BC58:
+ ldr r0, [r7, 0x8]
+ ldr r5, [r0, 0x4]
+ ldrb r4, [r0]
+ adds r4, r5, r4
+ lsls r4, 24
+ lsrs r4, 24
+ ldrb r0, [r0, 0x1]
+ adds r5, r0
+ lsls r5, 24
+ lsrs r5, 24
+ movs r1, 0x12
+ ldrsh r0, [r7, r1]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ ldr r0, _0803BCB4
+ mov r8, r0
+ bl strcpy
+ ldr r6, _0803BCB8
+ adds r0, r4, 0
+ movs r1, 0x2D
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 22
+ adds r0, r6
+ ldr r1, [r0]
+ add r0, sp, 0x4
+ mov r2, r8
+ bl sub_800D158
+ ldr r3, [r7]
+ movs r6, 0
+ str r6, [sp]
+ movs r0, 0xA
+ mov r1, r9
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ movs r1, 0xC
+ add r9, r1
+ ldr r4, _0803BCBC
+ adds r0, r5, 0
+ movs r1, 0xA
+ b _0803BD1A
+ .align 2, 0
+_0803BCB4: .4byte gAvailablePokemonNames
+_0803BCB8: .4byte gUnknown_80E91D4
+_0803BCBC: .4byte gUnknown_80E9820
+_0803BCC0:
+ ldr r0, [r7, 0x8]
+ ldr r5, [r0, 0x4]
+ ldrb r4, [r0]
+ adds r4, r5, r4
+ lsls r4, 24
+ lsrs r4, 24
+ ldrb r0, [r0, 0x1]
+ adds r5, r0
+ lsls r5, 24
+ lsrs r5, 24
+ movs r1, 0x10
+ ldrsh r0, [r7, r1]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ ldr r0, _0803BD78
+ mov r8, r0
+ bl strcpy
+ ldr r6, _0803BD7C
+ adds r0, r4, 0
+ movs r1, 0xD
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 22
+ adds r0, r6
+ ldr r1, [r0]
+ add r0, sp, 0x4
+ mov r2, r8
+ bl sub_800D158
+ ldr r3, [r7]
+ movs r6, 0
+ str r6, [sp]
+ movs r0, 0xA
+ mov r1, r9
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ movs r1, 0xC
+ add r9, r1
+ ldr r4, _0803BD80
+ adds r0, r5, 0
+ movs r1, 0xD
+_0803BD1A:
+ bl __umodsi3
+ lsls r0, 24
+ lsrs r0, 22
+ adds r0, r4
+ ldr r1, [r0]
+ add r0, sp, 0x4
+ mov r2, r8
+ bl sub_800D158
+ ldr r3, [r7]
+ str r6, [sp]
+_0803BD32:
+ movs r0, 0xA
+ mov r1, r9
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ movs r0, 0xC
+ negs r0, r0
+ add r9, r0
+_0803BD42:
+ movs r1, 0x1C
+ add r9, r1
+ ldr r2, _0803BD84
+ ldr r3, [r7]
+ movs r0, 0
+ mov r8, r0
+ str r0, [sp]
+ movs r0, 0xA
+ mov r1, r9
+ bl xxx_call_draw_string
+ ldr r1, [r7, 0xC]
+ cmp r1, 0
+ bne _0803BD88
+ movs r1, 0x10
+ ldrsh r0, [r7, r1]
+ bl GetMonSpecies
+ adds r2, r0, 0
+ ldr r3, [r7]
+ mov r0, r8
+ str r0, [sp]
+ movs r0, 0x44
+ mov r1, r9
+ bl xxx_call_draw_string
+ b _0803BDBC
+ .align 2, 0
+_0803BD78: .4byte gAvailablePokemonNames
+_0803BD7C: .4byte gUnknown_80E8DE4
+_0803BD80: .4byte gUnknown_80E8FB0
+_0803BD84: .4byte gUnknown_80E8AC8
+_0803BD88:
+ add r6, sp, 0x158
+ adds r0, r6, 0
+ movs r2, 0xA
+ bl sub_80922B4
+ add r4, sp, 0x16C
+ movs r0, 0x10
+ ldrsh r1, [r7, r0]
+ adds r0, r4, 0
+ bl sub_808D930
+ add r5, sp, 0x130
+ ldr r1, _0803BDE8
+ adds r0, r5, 0
+ adds r2, r6, 0
+ adds r3, r4, 0
+ bl sub_800D158
+ ldr r3, [r7]
+ mov r1, r8
+ str r1, [sp]
+ movs r0, 0x44
+ mov r1, r9
+ adds r2, r5, 0
+ bl xxx_call_draw_string
+_0803BDBC:
+ movs r0, 0xC
+ add r9, r0
+ ldr r2, _0803BDEC
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ mov r1, r9
+ bl xxx_call_draw_string
+ adds r0, r7, 0
+ adds r0, 0x42
+ ldrb r1, [r0]
+ adds r5, r0, 0
+ cmp r1, 0x6
+ bhi _0803BEB8
+ lsls r0, r1, 2
+ ldr r1, _0803BDF0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803BDE8: .4byte gUnknown_80E8AD0
+_0803BDEC: .4byte gUnknown_80E8AE0
+_0803BDF0: .4byte _0803BDF4
+ .align 2, 0
+_0803BDF4:
+ .4byte _0803BE10
+ .4byte _0803BE30
+ .4byte _0803BE18
+ .4byte _0803BE48
+ .4byte _0803BE80
+ .4byte _0803BE60
+ .4byte _0803BEB8
+_0803BE10:
+ ldr r2, _0803BE14
+ b _0803BE4A
+ .align 2, 0
+_0803BE14: .4byte gUnknown_80E8AEC
+_0803BE18:
+ ldr r4, _0803BE28
+ ldrb r1, [r7, 0x14]
+ adds r0, r4, 0
+ movs r2, 0
+ bl sub_8090DC4
+ ldr r1, _0803BE2C
+ b _0803BE94
+ .align 2, 0
+_0803BE28: .4byte gUnknown_202DE58
+_0803BE2C: .4byte gUnknown_80E8AFC
+_0803BE30:
+ ldr r4, _0803BE40
+ ldrb r1, [r7, 0x14]
+ adds r0, r4, 0
+ movs r2, 0
+ bl sub_8090DC4
+ ldr r1, _0803BE44
+ b _0803BE94
+ .align 2, 0
+_0803BE40: .4byte gUnknown_202DE58
+_0803BE44: .4byte gUnknown_80E8B10
+_0803BE48:
+ ldr r2, _0803BE5C
+_0803BE4A:
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x44
+ mov r1, r9
+ bl xxx_call_draw_string
+ b _0803BEC8
+ .align 2, 0
+_0803BE5C: .4byte gUnknown_80E8B20
+_0803BE60:
+ movs r1, 0x12
+ ldrsh r0, [r7, r1]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ ldr r4, _0803BE78
+ adds r0, r4, 0
+ bl strcpy
+ ldr r1, _0803BE7C
+ b _0803BE94
+ .align 2, 0
+_0803BE78: .4byte gAvailablePokemonNames
+_0803BE7C: .4byte gUnknown_80E8B2C
+_0803BE80:
+ movs r1, 0x12
+ ldrsh r0, [r7, r1]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ ldr r4, _0803BEB0
+ adds r0, r4, 0
+ bl strcpy
+ ldr r1, _0803BEB4
+_0803BE94:
+ add r0, sp, 0x4
+ adds r2, r4, 0
+ bl sub_800D158
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x44
+ mov r1, r9
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ b _0803BEC8
+ .align 2, 0
+_0803BEB0: .4byte gAvailablePokemonNames
+_0803BEB4: .4byte gUnknown_80E8B40
+_0803BEB8:
+ ldr r2, _0803BEF8
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x44
+ mov r1, r9
+ bl xxx_call_draw_string
+_0803BEC8:
+ movs r0, 0xC
+ add r9, r0
+ ldr r2, _0803BEFC
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ mov r1, r9
+ bl xxx_call_draw_string
+ ldrb r0, [r5]
+ cmp r0, 0x1
+ bne _0803BF04
+ add r4, sp, 0x180
+ ldr r1, [r7, 0x8]
+ adds r0, r4, 0
+ bl sub_8090228
+ ldr r1, _0803BF00
+ add r0, sp, 0x4
+ adds r2, r4, 0
+ bl sub_800D158
+ b _0803BF0C
+ .align 2, 0
+_0803BEF8: .4byte gSpecialMissionText
+_0803BEFC: .4byte gPlaceText
+_0803BF00: .4byte gUnknown_80E8884
+_0803BF04:
+ ldr r1, [r7, 0x8]
+ add r0, sp, 0x4
+ bl sub_8090228
+_0803BF0C:
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x44
+ mov r1, r9
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ ldrb r0, [r5]
+ cmp r0, 0
+ bne _0803BF28
+ ldr r0, [r7, 0x8]
+ movs r1, 0
+ b _0803BF2E
+_0803BF28:
+ ldr r0, [r7, 0x8]
+ ldr r1, [r7, 0x54]
+ ldrb r1, [r1, 0x1]
+_0803BF2E:
+ bl sub_803C1D0
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r1, 0xC
+ add r9, r1
+ ldr r2, _0803BF88
+ ldr r3, [r7]
+ movs r6, 0
+ str r6, [sp]
+ movs r0, 0xA
+ mov r1, r9
+ bl xxx_call_draw_string
+ adds r0, r4, 0
+ bl sub_803C1F0
+ adds r2, r0, 0
+ ldr r3, [r7]
+ str r6, [sp]
+ movs r0, 0x44
+ mov r1, r9
+ bl xxx_call_draw_string
+ movs r0, 0xC
+ add r9, r0
+ ldr r2, _0803BF8C
+ ldr r3, [r7]
+ str r6, [sp]
+ movs r0, 0xA
+ mov r1, r9
+ bl xxx_call_draw_string
+ adds r0, r7, 0
+ adds r0, 0x2E
+ ldrb r2, [r0]
+ adds r5, r0, 0
+ cmp r2, 0x4
+ bhi _0803C02C
+ lsls r0, r2, 2
+ ldr r1, _0803BF90
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803BF88: .4byte gDifficultyText
+_0803BF8C: .4byte gRewardText
+_0803BF90: .4byte _0803BF94
+ .align 2, 0
+_0803BF94:
+ .4byte _0803BFA8
+ .4byte _0803BFBC
+ .4byte _0803BFD0
+ .4byte _0803BFD0
+ .4byte _0803C00C
+_0803BFA8:
+ ldr r1, _0803BFB8
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ ldr r2, [r7, 0x30]
+ add r0, sp, 0x4
+ b _0803BFEE
+ .align 2, 0
+_0803BFB8: .4byte gUnknown_80E8C48
+_0803BFBC:
+ ldr r1, _0803BFCC
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ ldr r2, [r7, 0x30]
+ add r0, sp, 0x4
+ b _0803BFEE
+ .align 2, 0
+_0803BFCC: .4byte gUnknown_80E8C48
+_0803BFD0:
+ ldr r4, _0803C004
+ adds r0, r7, 0
+ adds r0, 0x34
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ movs r2, 0
+ bl sub_8090DC4
+ ldr r1, _0803C008
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ add r0, sp, 0x4
+ adds r2, r4, 0
+_0803BFEE:
+ bl sub_800D158
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x44
+ mov r1, r9
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ b _0803C040
+ .align 2, 0
+_0803C004: .4byte gUnknown_202DE58
+_0803C008: .4byte gUnknown_80E8C48
+_0803C00C:
+ ldr r1, _0803C028
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r2, [r0]
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x44
+ mov r1, r9
+ bl xxx_call_draw_string
+ b _0803C040
+ .align 2, 0
+_0803C028: .4byte gUnknown_80E8C48
+_0803C02C:
+ ldr r1, _0803C0D4
+ lsls r0, r2, 2
+ adds r0, r1
+ ldr r2, [r0]
+ ldr r3, [r7]
+ str r6, [sp]
+ movs r0, 0x44
+ mov r1, r9
+ bl xxx_call_draw_string
+_0803C040:
+ movs r1, 0xC
+ add r9, r1
+ adds r0, r7, 0
+ adds r0, 0x41
+ ldrb r1, [r0]
+ adds r0, r1, 0
+ subs r0, 0x9
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bls _0803C0C6
+ cmp r1, 0x3
+ beq _0803C0C6
+ ldr r0, [r7, 0x54]
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ bne _0803C0C6
+ ldr r2, _0803C0D8
+ ldr r3, [r7]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ mov r1, r9
+ bl xxx_call_draw_string
+ add r0, sp, 0x1E4
+ ldr r1, [r7, 0x54]
+ bl sub_803D414
+ movs r4, 0
+_0803C07C:
+ cmp r4, 0xC
+ bne _0803C084
+ movs r0, 0xC
+ add r9, r0
+_0803C084:
+ movs r5, 0x7
+ cmp r4, 0x3
+ ble _0803C09C
+ movs r5, 0x6
+ cmp r4, 0x7
+ ble _0803C09C
+ movs r5, 0x7
+ cmp r4, 0xF
+ ble _0803C09C
+ cmp r4, 0x13
+ bgt _0803C09C
+ movs r5, 0x6
+_0803C09C:
+ adds r0, r4, 0
+ movs r1, 0xC
+ bl __modsi3
+ adds r1, r0, 0
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 1
+ adds r0, 0x54
+ add r1, sp, 0x1E4
+ adds r1, r4
+ ldrb r2, [r1]
+ ldr r1, [r7]
+ str r1, [sp]
+ mov r1, r9
+ adds r3, r5, 0
+ bl sub_8012C60
+ adds r4, 0x1
+ cmp r4, 0x17
+ ble _0803C07C
+_0803C0C6:
+ add sp, 0x1FC
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803C0D4: .4byte gUnknown_80E8C48
+_0803C0D8: .4byte gUnknown_80E8B7C
+ thumb_func_end sub_803B98C
+
+ thumb_func_start sub_803C0DC
+sub_803C0DC:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_808E770
+ lsls r0, 16
+ asrs r2, r0, 16
+ ldr r1, _0803C0F0
+ b _0803C102
+ .align 2, 0
+_0803C0F0: .4byte gUnknown_80E80E0
+_0803C0F4:
+ movs r3, 0
+ ldrsh r0, [r1, r3]
+ cmp r0, r2
+ bne _0803C100
+ movs r0, 0
+ b _0803C10C
+_0803C100:
+ adds r1, 0x2
+_0803C102:
+ movs r3, 0
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ bne _0803C0F4
+ movs r0, 0x1
+_0803C10C:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803C0DC
+
+ thumb_func_start sub_803C110
+sub_803C110:
+ push {r4,lr}
+ lsls r0, 16
+ asrs r4, r0, 16
+ adds r0, r4, 0
+ bl sub_8098134
+ lsls r0, 24
+ cmp r0, 0
+ beq _0803C180
+ adds r0, r4, 0
+ bl sub_808E770
+ lsls r0, 16
+ asrs r0, 16
+ cmp r4, r0
+ bne _0803C180
+ adds r0, r4, 0
+ bl sub_803C0DC
+ lsls r0, 24
+ cmp r0, 0
+ beq _0803C180
+ movs r0, 0x6
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _0803C188
+ ldr r1, _0803C184
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _0803C168
+ adds r2, r1, 0
+_0803C154:
+ movs r3, 0
+ ldrsh r0, [r2, r3]
+ cmp r0, r4
+ beq _0803C180
+ adds r1, 0x2
+ adds r2, 0x2
+ movs r3, 0
+ ldrsh r0, [r1, r3]
+ cmp r0, 0
+ bne _0803C154
+_0803C168:
+ bl sub_808D33C
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ cmp r0, r4
+ beq _0803C180
+ bl sub_808D378
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ cmp r0, r4
+ bne _0803C188
+_0803C180:
+ movs r0, 0
+ b _0803C18A
+ .align 2, 0
+_0803C184: .4byte gUnknown_80E8126
+_0803C188:
+ movs r0, 0x1
+_0803C18A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803C110
+
+ .align 2,0
diff --git a/asm/code_8041AD0.s b/asm/code_8041AD0.s
index 15ac13b..b5e37a1 100644
--- a/asm/code_8041AD0.s
+++ b/asm/code_8041AD0.s
@@ -735,7 +735,7 @@ _080427FA:
.align 2, 0
_08042808: .4byte gUnknown_203B418
_0804280C: .4byte 0x000135cc
-_08042810: .4byte gUnknown_202DF98
+_08042810: .4byte gAvailablePokemonNames
_08042814: .4byte gPtrFeralFoundItemMessage
thumb_func_end sub_80427AC
diff --git a/asm/code_80428A0.s b/asm/code_80428A0.s
index 6c37244..460780b 100644
--- a/asm/code_80428A0.s
+++ b/asm/code_80428A0.s
@@ -2496,7 +2496,7 @@ _08043F20:
b _08043FAC
.align 2, 0
_08043F2C: .4byte gUnknown_203B418
-_08043F30: .4byte gUnknown_202DF98
+_08043F30: .4byte gAvailablePokemonNames
_08043F34: .4byte 0x000005f4
_08043F38: .4byte gUnknown_80F89B4
_08043F3C: .4byte 0x0000021f
@@ -2519,7 +2519,7 @@ _08043F40:
ldr r0, _08043F70
b _08043F9A
.align 2, 0
-_08043F68: .4byte gUnknown_202DF98
+_08043F68: .4byte gAvailablePokemonNames
_08043F6C: .4byte 0x000005f4
_08043F70: .4byte gUnknown_80F89D4
_08043F74:
@@ -2560,7 +2560,7 @@ _08043FB8:
pop {r1}
bx r1
.align 2, 0
-_08043FC0: .4byte gUnknown_202DF98
+_08043FC0: .4byte gAvailablePokemonNames
_08043FC4: .4byte 0x000005f4
_08043FC8: .4byte gUnknown_80F89D8
_08043FCC: .4byte 0x00000222
@@ -6627,7 +6627,7 @@ _08045E1E:
b _08046048
.align 2, 0
_08045E34: .4byte gUnknown_202DE58
-_08045E38: .4byte gUnknown_202DF98
+_08045E38: .4byte gAvailablePokemonNames
_08045E3C: .4byte gUnknown_80F8F88
_08045E40:
ldrb r0, [r5, 0x2]
@@ -6897,7 +6897,7 @@ _08046048:
b _080460E0
.align 2, 0
_08046054: .4byte gUnknown_202DE58
-_08046058: .4byte gUnknown_202DF98
+_08046058: .4byte gAvailablePokemonNames
_0804605C: .4byte gUnknown_80F8F54
_08046060:
movs r0, 0xA5
@@ -6939,7 +6939,7 @@ _080460AC:
bl sub_80522A8
b _080460DA
.align 2, 0
-_080460B8: .4byte gUnknown_202DF98
+_080460B8: .4byte gAvailablePokemonNames
_080460BC: .4byte gUnknown_80F8FAC
_080460C0:
ldr r0, _080460F0
@@ -8755,7 +8755,7 @@ _08046EE4: .4byte gUnknown_203B418
_08046EE8: .4byte 0x0001356c
_08046EEC: .4byte gUnknown_810531C
_08046EF0: .4byte gUnknown_8105360
-_08046EF4: .4byte gUnknown_202DF98
+_08046EF4: .4byte gAvailablePokemonNames
_08046EF8: .4byte gUnknown_81053A8
_08046EFC: .4byte gUnknown_8105434
thumb_func_end sub_8046D8C
@@ -9516,7 +9516,7 @@ _080474A6:
_080474B8: .4byte 0x00000195
_080474BC: .4byte gUnknown_203B418
_080474C0: .4byte 0x0001c05e
-_080474C4: .4byte gUnknown_202DF98
+_080474C4: .4byte gAvailablePokemonNames
_080474C8: .4byte gUnknown_202DE58
_080474CC: .4byte gUnknown_80F94C4
_080474D0:
@@ -9548,7 +9548,7 @@ _080474E2:
bl sub_80522F4
b _08047524
.align 2, 0
-_0804750C: .4byte gUnknown_202DF98
+_0804750C: .4byte gAvailablePokemonNames
_08047510: .4byte gUnknown_202DE58
_08047514: .4byte gUnknown_80F94D8
_08047518:
@@ -10023,7 +10023,7 @@ _080478B8:
.align 2, 0
_080478CC: .4byte 0xffffff00
_080478D0: .4byte gUnknown_202DE58
-_080478D4: .4byte gUnknown_202DF98
+_080478D4: .4byte gAvailablePokemonNames
_080478D8: .4byte gUnknown_80F94C4
_080478DC:
cmp r7, 0
@@ -10257,7 +10257,7 @@ _08047A76:
.align 2, 0
_08047AAC: .4byte 0x0000014d
_08047AB0: .4byte gUnknown_202DE58
-_08047AB4: .4byte gUnknown_202DF98
+_08047AB4: .4byte gAvailablePokemonNames
_08047AB8: .4byte gUnknown_80FDBB8
_08047ABC:
cmp r6, 0
diff --git a/asm/code_8048480.s b/asm/code_8048480.s
index 9ba81c8..cad3483 100644
--- a/asm/code_8048480.s
+++ b/asm/code_8048480.s
@@ -35,7 +35,7 @@ _08048542:
ldr r0, _08048564
b _08048586
.align 2, 0
-_08048560: .4byte gUnknown_202DF98
+_08048560: .4byte gAvailablePokemonNames
_08048564: .4byte gPtrSelfHealPreventedHungerMessage
_08048568:
movs r0, 0x9E
@@ -1111,7 +1111,7 @@ _08048D9A:
movs r0, 0
b _08048DB2
.align 2, 0
-_08048DA8: .4byte gUnknown_202DF98
+_08048DA8: .4byte gAvailablePokemonNames
_08048DAC: .4byte gUnknown_80FDCA4
_08048DB0:
movs r0, 0x1
diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s
index 8e2fd1b..80c95b8 100644
--- a/asm/code_80521D0.s
+++ b/asm/code_80521D0.s
@@ -723,7 +723,7 @@ sub_8052910:
.align 2, 0
_08052950: .4byte gUnknown_203B45C
_08052954: .4byte 0x00008df8
-_08052958: .4byte gUnknown_202DF98
+_08052958: .4byte gAvailablePokemonNames
_0805295C:
movs r7, 0
ldr r0, _08052988
@@ -747,7 +747,7 @@ _08052966:
ldrsh r4, [r4, r2]
b _080529A6
.align 2, 0
-_08052988: .4byte gUnknown_202DF98
+_08052988: .4byte gAvailablePokemonNames
_0805298C: .4byte gUnknown_80F7AF8
_08052990: .4byte gUnknown_203B45C
_08052994: .4byte 0x00008df8
@@ -790,7 +790,7 @@ _080529D4:
.align 2, 0
_080529E4: .4byte gUnknown_202E5D8
_080529E8: .4byte gUnknown_80F7AFC
-_080529EC: .4byte gUnknown_202DF98
+_080529EC: .4byte gAvailablePokemonNames
_080529F0:
ldr r0, _080529FC
ldr r1, _08052A00
@@ -1220,7 +1220,7 @@ sub_8052D44:
strh r0, [r7]
b _08052D7A
.align 2, 0
-_08052D6C: .4byte gUnknown_202DF98
+_08052D6C: .4byte gAvailablePokemonNames
_08052D70:
ldr r0, _08052D9C
ldr r1, _08052DA0
@@ -1242,7 +1242,7 @@ _08052D7A:
strh r0, [r7, 0x2]
b _08052DB2
.align 2, 0
-_08052D9C: .4byte gUnknown_202DF98
+_08052D9C: .4byte gAvailablePokemonNames
_08052DA0: .4byte gUnknown_80F7AF8
_08052DA4: .4byte gUnknown_202DFE8
_08052DA8:
@@ -6368,7 +6368,7 @@ _08055A22:
b _08055A8A
.align 2, 0
_08055A4C: .4byte 0x00000159
-_08055A50: .4byte gUnknown_202DF98
+_08055A50: .4byte gAvailablePokemonNames
_08055A54: .4byte gUnknown_80FC714
_08055A58:
cmp r0, 0x7
@@ -6380,7 +6380,7 @@ _08055A58:
ldr r0, _08055A70
b _08055A8A
.align 2, 0
-_08055A6C: .4byte gUnknown_202DF98
+_08055A6C: .4byte gAvailablePokemonNames
_08055A70: .4byte gUnknown_80FC718
_08055A74:
mov r0, r10
@@ -6400,7 +6400,7 @@ _08055A8A:
movs r0, 0
b _08055DB4
.align 2, 0
-_08055A98: .4byte gUnknown_202DF98
+_08055A98: .4byte gAvailablePokemonNames
_08055A9C: .4byte gUnknown_80FC6A8
_08055AA0:
ldr r0, _08055B24
@@ -7004,7 +7004,7 @@ _08055F84: .4byte gUnknown_80FEF54
_08055F88: .4byte gUnknown_80F4E74
_08055F8C: .4byte gUnknown_80FEF74
_08055F90: .4byte gUnknown_80FEF98
-_08055F94: .4byte gUnknown_202DF98
+_08055F94: .4byte gAvailablePokemonNames
_08055F98: .4byte gUnknown_80FEFD0
_08055F9C: .4byte gUnknown_80F5004
thumb_func_end sub_8055DDC
@@ -7186,7 +7186,7 @@ _08056108: .4byte gUnknown_203B418
_0805610C: .4byte 0x00003a0e
_08056110: .4byte gUnknown_80F5D10
_08056114: .4byte gUnknown_80FECE0
-_08056118: .4byte gUnknown_202DF98
+_08056118: .4byte gAvailablePokemonNames
_0805611C: .4byte gUnknown_202DE58
_08056120: .4byte gUnknown_80FC72C
_08056124:
@@ -7246,7 +7246,7 @@ _08056190:
b _08056446
.align 2, 0
_08056194: .4byte gUnknown_80F9158
-_08056198: .4byte gUnknown_202DF98
+_08056198: .4byte gAvailablePokemonNames
_0805619C: .4byte gUnknown_80FC710
_080561A0:
cmp r4, 0
@@ -7271,7 +7271,7 @@ _080561A0:
ldr r0, _080561DC
b _08056188
.align 2, 0
-_080561D4: .4byte gUnknown_202DF98
+_080561D4: .4byte gAvailablePokemonNames
_080561D8: .4byte gUnknown_202DE58
_080561DC: .4byte gUnknown_80FC6D0
_080561E0:
@@ -7642,7 +7642,7 @@ _080564BC:
bl sub_80928C0
b _080564F2
.align 2, 0
-_080564DC: .4byte gUnknown_202DF98
+_080564DC: .4byte gAvailablePokemonNames
_080564E0: .4byte gUnknown_202DE58
_080564E4:
ldr r0, _08056508
@@ -10573,7 +10573,7 @@ _08057A78:
pop {r1}
bx r1
.align 2, 0
-_08057A90: .4byte gUnknown_202DF98
+_08057A90: .4byte gAvailablePokemonNames
_08057A94: .4byte gUnknown_80FC7EC
thumb_func_end sub_8057A0C
@@ -13236,7 +13236,7 @@ _08058E4C:
pop {r1}
bx r1
.align 2, 0
-_08058E54: .4byte gUnknown_202DF98
+_08058E54: .4byte gAvailablePokemonNames
_08058E58: .4byte gUnknown_80FBD58
thumb_func_end sub_8058DBC
@@ -15482,7 +15482,7 @@ _08059F1A:
pop {r1}
bx r1
.align 2, 0
-_08059F2C: .4byte gUnknown_202DF98
+_08059F2C: .4byte gAvailablePokemonNames
_08059F30: .4byte gUnknown_80FC7C8
_08059F34: .4byte 0x000001f7
thumb_func_end sub_8059E54
@@ -15665,7 +15665,7 @@ _0805A090:
pop {r1}
bx r1
.align 2, 0
-_0805A0A0: .4byte gUnknown_202DF98
+_0805A0A0: .4byte gAvailablePokemonNames
_0805A0A4: .4byte gUnknown_80FC7C8
thumb_func_end sub_8059FC8
@@ -15767,7 +15767,7 @@ sub_805A120:
ldr r0, _0805A170
b _0805A1B8
.align 2, 0
-_0805A16C: .4byte gUnknown_202DF98
+_0805A16C: .4byte gAvailablePokemonNames
_0805A170: .4byte gUnknown_80FCCE4
_0805A174:
adds r0, r5, 0
@@ -16537,7 +16537,7 @@ sub_805A6C8:
ldr r0, _0805A70C
b _0805A73A
.align 2, 0
-_0805A708: .4byte gUnknown_202DF98
+_0805A708: .4byte gAvailablePokemonNames
_0805A70C: .4byte gUnknown_80FCCE8
_0805A710:
adds r0, r5, 0
@@ -17057,7 +17057,7 @@ _0805AB36:
pop {r1}
bx r1
.align 2, 0
-_0805AB40: .4byte gUnknown_202DF98
+_0805AB40: .4byte gAvailablePokemonNames
_0805AB44: .4byte gUnknown_80FC5CC
thumb_func_end sub_805AAE0
@@ -18384,7 +18384,7 @@ _0805B4F8:
b _0805B524
.align 2, 0
_0805B50C: .4byte 0x00000147
-_0805B510: .4byte gUnknown_202DF98
+_0805B510: .4byte gAvailablePokemonNames
_0805B514: .4byte gUnknown_80FDCE4
_0805B518:
ldr r0, _0805B538
@@ -19132,7 +19132,7 @@ sub_805BA50:
movs r0, 0x1
b _0805BB4E
.align 2, 0
-_0805BAC0: .4byte gUnknown_202DF98
+_0805BAC0: .4byte gAvailablePokemonNames
_0805BAC4:
adds r0, r5, 0
movs r1, 0x24
@@ -19554,7 +19554,7 @@ TransferOrbAction:
movs r0, 0
b _0805BE78
.align 2, 0
-_0805BDD0: .4byte gUnknown_202DF98
+_0805BDD0: .4byte gAvailablePokemonNames
_0805BDD4: .4byte gUnknown_80FD450
_0805BDD8:
movs r6, 0
@@ -19642,7 +19642,7 @@ _0805BE78:
pop {r1}
bx r1
.align 2, 0
-_0805BE88: .4byte gUnknown_202DF98
+_0805BE88: .4byte gAvailablePokemonNames
_0805BE8C: .4byte gUnknown_80FD450
thumb_func_end TransferOrbAction
@@ -19717,7 +19717,7 @@ EscapeOrbAction:
bl sub_80522F4
b _0805BF26
.align 2, 0
-_0805BF00: .4byte gUnknown_202DF98
+_0805BF00: .4byte gAvailablePokemonNames
_0805BF04: .4byte gUnknown_203B418
_0805BF08: .4byte 0x0000066e
_0805BF0C: .4byte gUnknown_80FD4DC
@@ -25578,7 +25578,7 @@ _0805F184:
bx r0
.align 2, 0
_0805F194: .4byte gUnknown_203B450
-_0805F198: .4byte gUnknown_202DF98
+_0805F198: .4byte gAvailablePokemonNames
_0805F19C: .4byte gUnknown_80F9BB0
thumb_func_end sub_805F02C
@@ -26427,7 +26427,7 @@ _0805F8CE:
mov r10, r3
b _0805F904
.align 2, 0
-_0805F8D8: .4byte gUnknown_202DF98
+_0805F8D8: .4byte gAvailablePokemonNames
_0805F8DC: .4byte gUnknown_80FDE18
_0805F8E0:
ldr r0, [sp, 0x10]
@@ -26760,7 +26760,7 @@ _0805FBC0: .4byte gUnknown_202DE30
_0805FBC4: .4byte gUnknown_80F9174
_0805FBC8: .4byte gUnknown_203B460
_0805FBCC: .4byte gUnknown_80F9190
-_0805FBD0: .4byte gUnknown_202DF98
+_0805FBD0: .4byte gAvailablePokemonNames
_0805FBD4: .4byte gUnknown_80F91A8
_0805FBD8: .4byte gUnknown_80F91C8
_0805FBDC: .4byte gUnknown_203B418
@@ -28140,7 +28140,7 @@ _080606B0:
bl sub_8014FF0
b _08060794
.align 2, 0
-_0806070C: .4byte gUnknown_202DF98
+_0806070C: .4byte gAvailablePokemonNames
_08060710: .4byte gUnknown_80FE940
_08060714: .4byte gUnknown_8106B60
_08060718:
@@ -28241,7 +28241,7 @@ _080607D0:
_080607E0: .4byte gUnknown_203B418
_080607E4: .4byte gUnknown_202F248
_080607E8: .4byte 0x0001357c
-_080607EC: .4byte gUnknown_202DF98
+_080607EC: .4byte gAvailablePokemonNames
_080607F0: .4byte gUnknown_80FE940
_080607F4: .4byte gUnknown_202EE10
_080607F8: .4byte gUnknown_8106B60
@@ -29647,7 +29647,7 @@ _08061324: .4byte gUnknown_202F260
_08061328: .4byte gUnknown_202F270
_0806132C: .4byte gUnknown_202EE10
_08061330: .4byte gUnknown_8106BB0
-_08061334: .4byte gUnknown_202DF98
+_08061334: .4byte gAvailablePokemonNames
_08061338: .4byte gUnknown_203B45C
_0806133C: .4byte 0x00008e02
_08061340: .4byte gUnknown_8106BB4
@@ -30459,7 +30459,7 @@ _080619B8:
bl sub_8014FF0
b _080619F4
.align 2, 0
-_080619DC: .4byte gUnknown_202DF98
+_080619DC: .4byte gAvailablePokemonNames
_080619E0: .4byte gUnknown_8106BEC
_080619E4:
mov r1, r10
@@ -32698,7 +32698,7 @@ _08062BCA:
movs r0, 0x1
b _08062BDA
.align 2, 0
-_08062BD0: .4byte gUnknown_202DF98
+_08062BD0: .4byte gAvailablePokemonNames
_08062BD4: .4byte gUnknown_80FE978
_08062BD8:
movs r0, 0
@@ -32849,7 +32849,7 @@ _08062CF4:
movs r0, 0x1
b _08062D02
.align 2, 0
-_08062CF8: .4byte gUnknown_202DF98
+_08062CF8: .4byte gAvailablePokemonNames
_08062CFC: .4byte gUnknown_80FE940
_08062D00:
movs r0, 0
@@ -33859,7 +33859,7 @@ _08063508: .4byte gUnknown_8106CAC
_0806350C: .4byte gUnknown_202EE10
_08063510: .4byte gUnknown_202F2D8
_08063514: .4byte gUnknown_2027370
-_08063518: .4byte gUnknown_202DF98
+_08063518: .4byte gAvailablePokemonNames
_0806351C:
movs r0, 0x2
ands r0, r1
@@ -33972,7 +33972,7 @@ _080635D0:
movs r0, 0x2
b _08063606
.align 2, 0
-_080635FC: .4byte gUnknown_202DF98
+_080635FC: .4byte gAvailablePokemonNames
_08063600: .4byte gUnknown_80FE978
_08063604:
movs r0, 0x4
@@ -34532,7 +34532,7 @@ sub_80639E4:
.align 2, 0
_08063A5C: .4byte gUnknown_202F278
_08063A60: .4byte gUnknown_8106CC8
-_08063A64: .4byte gUnknown_202DF98
+_08063A64: .4byte gAvailablePokemonNames
_08063A68: .4byte gUnknown_8106CCC
_08063A6C: .4byte gUnknown_202EE10
thumb_func_end sub_80639E4
@@ -35643,7 +35643,7 @@ _08064262:
.align 2, 0
_08064304: .4byte gUnknown_202EE10
_08064308: .4byte gUnknown_202F2D8
-_0806430C: .4byte gUnknown_202DF98
+_0806430C: .4byte gAvailablePokemonNames
thumb_func_end sub_8064228
thumb_func_start sub_8064310
@@ -39517,7 +39517,7 @@ _08066244:
.align 2, 0
_08066254: .4byte gUnknown_80FEA80
_08066258: .4byte gUnknown_8106D8C
-_0806625C: .4byte gUnknown_202DF98
+_0806625C: .4byte gAvailablePokemonNames
_08066260:
ldr r0, _08066284
ldr r2, [r0]
@@ -39630,7 +39630,7 @@ _0806633E:
bx r1
.align 2, 0
_08066348: .4byte gUnknown_8106D8C
-_0806634C: .4byte gUnknown_202DF98
+_0806634C: .4byte gAvailablePokemonNames
_08066350: .4byte gUnknown_203B084
_08066354: .4byte gUnknown_202F2F8
thumb_func_end sub_8066288
@@ -39732,7 +39732,7 @@ _0806641A:
bx r1
.align 2, 0
_08066424: .4byte gUnknown_8106D8C
-_08066428: .4byte gUnknown_202DF98
+_08066428: .4byte gAvailablePokemonNames
_0806642C: .4byte gUnknown_203B080
_08066430: .4byte gUnknown_202F2F8
thumb_func_end sub_8066358
@@ -40672,7 +40672,7 @@ _08066BAC:
.align 2, 0
_08066BB8: .4byte 0xffffff00
_08066BBC: .4byte gUnknown_202DE58
-_08066BC0: .4byte gUnknown_202DF98
+_08066BC0: .4byte gAvailablePokemonNames
_08066BC4: .4byte 0x0000014d
_08066BC8: .4byte gUnknown_80F8D7C
_08066BCC: .4byte gUnknown_203B418
@@ -40943,7 +40943,7 @@ _08066DF8:
bx r0
.align 2, 0
_08066E00: .4byte 0x0000014d
-_08066E04: .4byte gUnknown_202DF98
+_08066E04: .4byte gAvailablePokemonNames
_08066E08: .4byte gUnknown_80F8E28
_08066E0C: .4byte gUnknown_203B418
_08066E10: .4byte 0x00003a08
@@ -41366,7 +41366,7 @@ _08067188:
bx r0
.align 2, 0
_08067190: .4byte gUnknown_202DE58
-_08067194: .4byte gUnknown_202DF98
+_08067194: .4byte gAvailablePokemonNames
_08067198: .4byte gUnknown_203B418
_0806719C: .4byte 0x00003a08
thumb_func_end sub_8067110
@@ -41625,7 +41625,7 @@ _08067384:
b _080673C6
.align 2, 0
_080673B0: .4byte gUnknown_202DE58
-_080673B4: .4byte gUnknown_202DF98
+_080673B4: .4byte gAvailablePokemonNames
_080673B8: .4byte gUnknown_80F8EC8
_080673BC:
ldr r0, _080673F8
@@ -41920,7 +41920,7 @@ _08067600:
movs r0, 0
b _08067716
.align 2, 0
-_08067608: .4byte gUnknown_202DF98
+_08067608: .4byte gAvailablePokemonNames
_0806760C: .4byte gUnknown_80FE008
_08067610:
adds r0, r6, 0x4
@@ -42168,7 +42168,7 @@ _080677B4:
ldr r0, _08067808
b _08067832
.align 2, 0
-_080677F0: .4byte gUnknown_202DF98
+_080677F0: .4byte gAvailablePokemonNames
_080677F4: .4byte gUnknown_80F9094
_080677F8: .4byte gUnknown_80F913C
_080677FC: .4byte gUnknown_203B45C
@@ -42229,7 +42229,7 @@ _0806786C:
.align 2, 0
_08067874: .4byte gUnknown_80F90C8
_08067878: .4byte gUnknown_80F9150
-_0806787C: .4byte gUnknown_202DF98
+_0806787C: .4byte gAvailablePokemonNames
_08067880: .4byte 0x0000021d
thumb_func_end sub_8067794
@@ -42329,7 +42329,7 @@ sub_8067904:
b _08067962
.align 2, 0
_08067940: .4byte gUnknown_202F208
-_08067944: .4byte gUnknown_202DF98
+_08067944: .4byte gAvailablePokemonNames
_08067948: .4byte gUnknown_80F8F20
_0806794C:
adds r0, r6, 0
@@ -42348,7 +42348,7 @@ _08067962:
bl sub_80522A8
b _08067A56
.align 2, 0
-_0806796C: .4byte gUnknown_202DF98
+_0806796C: .4byte gAvailablePokemonNames
_08067970: .4byte gUnknown_80F8F38
_08067974:
movs r0, 0xB0
@@ -43074,7 +43074,7 @@ sub_8067F00:
mov r10, r1
b _08067FF6
.align 2, 0
-_08067F44: .4byte gUnknown_202DF98
+_08067F44: .4byte gAvailablePokemonNames
_08067F48: .4byte gUnknown_8106E28
_08067F4C:
ldr r4, _08067F8C
@@ -43106,7 +43106,7 @@ _08067F4C:
bl strcpy
b _08067FA4
.align 2, 0
-_08067F8C: .4byte gUnknown_202DF98
+_08067F8C: .4byte gAvailablePokemonNames
_08067F90: .4byte gUnknown_202DE30
_08067F94: .4byte gUnknown_202DE58
_08067F98: .4byte gUnknown_8106E2C
@@ -44546,7 +44546,7 @@ _08068AB2:
.align 2, 0
_08068AE0: .4byte gUnknown_203B45C
_08068AE4: .4byte 0x00008df8
-_08068AE8: .4byte gUnknown_202DF98
+_08068AE8: .4byte gAvailablePokemonNames
_08068AEC: .4byte gUnknown_80FE0F4
_08068AF0:
cmp r0, 0x47
@@ -44616,7 +44616,7 @@ _08068B3E:
_08068B6C: .4byte gUnknown_203B45C
_08068B70: .4byte 0x00008df8
_08068B74: .4byte 0x000055aa
-_08068B78: .4byte gUnknown_202DF98
+_08068B78: .4byte gAvailablePokemonNames
_08068B7C: .4byte gUnknown_80FE134
_08068B80:
adds r5, 0x1
@@ -44632,7 +44632,7 @@ _08068B80:
ldr r0, _08068BA0
b _08068BB2
.align 2, 0
-_08068B9C: .4byte gUnknown_202DF98
+_08068B9C: .4byte gAvailablePokemonNames
_08068BA0: .4byte gUnknown_80FE0F4
_08068BA4:
cmp r0, 0x47
@@ -47421,7 +47421,7 @@ _0806A0FA:
bx r0
.align 2, 0
_0806A108: .4byte gUnknown_203B418
-_0806A10C: .4byte gUnknown_202DF98
+_0806A10C: .4byte gAvailablePokemonNames
_0806A110: .4byte gUnknown_80FCC7C
_0806A114: .4byte gUnknown_80F51E4
_0806A118: .4byte gUnknown_202DE58
@@ -47488,7 +47488,7 @@ _0806A19C:
pop {r0}
bx r0
.align 2, 0
-_0806A1A4: .4byte gUnknown_202DF98
+_0806A1A4: .4byte gAvailablePokemonNames
_0806A1A8: .4byte gUnknown_202DE58
_0806A1AC: .4byte gUnknown_80FDCC8
thumb_func_end sub_806A120
@@ -48356,7 +48356,7 @@ _0806A818:
mov r0, sp
b _0806A836
.align 2, 0
-_0806A828: .4byte gUnknown_202DF98
+_0806A828: .4byte gAvailablePokemonNames
_0806A82C:
adds r1, 0x1
cmp r1, r9
@@ -54483,7 +54483,7 @@ _0806D71E:
b _0806D754
.align 2, 0
_0806D728: .4byte gUnknown_80F9670
-_0806D72C: .4byte gUnknown_202DF98
+_0806D72C: .4byte gAvailablePokemonNames
_0806D730: .4byte gUnknown_80F9688
_0806D734:
movs r1, 0xA9
@@ -54902,7 +54902,7 @@ _0806DA50:
ldr r2, [r0]
b _0806DAC2
.align 2, 0
-_0806DA88: .4byte gUnknown_202DF98
+_0806DA88: .4byte gAvailablePokemonNames
_0806DA8C: .4byte gUnknown_80F9E44
_0806DA90:
ldr r0, _0806DA98
@@ -55330,7 +55330,7 @@ _0806DDA2:
ldr r0, _0806DDF4
b _0806DF2E
.align 2, 0
-_0806DDF0: .4byte gUnknown_202DF98
+_0806DDF0: .4byte gAvailablePokemonNames
_0806DDF4: .4byte gUnknown_80FD484
_0806DDF8:
mov r4, r8
@@ -58980,7 +58980,7 @@ sub_806FA5C:
bl sub_80522A8
b _0806FB28
.align 2, 0
-_0806FAD4: .4byte gUnknown_202DF98
+_0806FAD4: .4byte gAvailablePokemonNames
_0806FAD8: .4byte gUnknown_80F9FE8
_0806FADC: .4byte 0x0000019d
_0806FAE0: .4byte gUnknown_80FA004
@@ -59123,11 +59123,11 @@ _0806FBC4:
adds r4, 0x58
movs r1, 0
ldrsh r0, [r6, r1]
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0xA
- bl sub_8092310
+ bl BoundedCopyStringtoBuffer
bl sub_8097848
movs r2, 0
ldrsh r0, [r6, r2]
@@ -59240,7 +59240,7 @@ _0806FCF0:
bx r1
.align 2, 0
_0806FD00: .4byte gUnknown_80FA0C8
-_0806FD04: .4byte gUnknown_202DF98
+_0806FD04: .4byte gAvailablePokemonNames
_0806FD08: .4byte gUnknown_80FA0F0
_0806FD0C: .4byte gUnknown_202E628
_0806FD10: .4byte gUnknown_80FA120
@@ -59510,11 +59510,11 @@ _0806FED8:
add r0, sp, 0xC
movs r1, 0
ldrsh r0, [r0, r1]
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0xA
- bl sub_8092310
+ bl BoundedCopyStringtoBuffer
adds r0, r7, 0
bl GetFriendAreaStatus
lsls r0, 24
@@ -59622,7 +59622,7 @@ _0806FFF8:
bx r1
.align 2, 0
_08070008: .4byte gUnknown_80FA0C8
-_0807000C: .4byte gUnknown_202DF98
+_0807000C: .4byte gAvailablePokemonNames
_08070010: .4byte gUnknown_202E628
_08070014: .4byte gUnknown_80FA120
_08070018: .4byte gUnknown_202E088
@@ -59656,7 +59656,7 @@ _08070042:
_0807004C:
b _0807005A
.align 2, 0
-_08070050: .4byte gUnknown_202DF98
+_08070050: .4byte gAvailablePokemonNames
_08070054:
cmp r0, 0x5
bne _0807005A
@@ -59854,7 +59854,7 @@ sub_80701A4:
beq _080701DC
b _080701E4
.align 2, 0
-_080701D4: .4byte gUnknown_202DF98
+_080701D4: .4byte gAvailablePokemonNames
_080701D8:
cmp r0, 0x5
bne _080701E4
@@ -60998,7 +60998,7 @@ _08070A20:
movs r0, 0x4
ldrsh r1, [r1, r0]
adds r0, r3, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
b _08070A48
_08070A32:
ldr r2, _08070A50
@@ -62755,7 +62755,7 @@ _08071714:
movs r0, 0x1
b _08071722
.align 2, 0
-_08071718: .4byte gUnknown_202DF98
+_08071718: .4byte gAvailablePokemonNames
_0807171C: .4byte gUnknown_80FC2FC
_08071720:
movs r0, 0
@@ -62786,7 +62786,7 @@ sub_8071728:
ldr r0, _08071754
b _08071784
.align 2, 0
-_08071750: .4byte gUnknown_202DF98
+_08071750: .4byte gAvailablePokemonNames
_08071754: .4byte gUnknown_80FC31C
_08071758:
adds r0, r4, 0
@@ -62818,7 +62818,7 @@ _0807178E:
movs r0, 0x1
b _0807179E
.align 2, 0
-_08071794: .4byte gUnknown_202DF98
+_08071794: .4byte gAvailablePokemonNames
_08071798: .4byte gUnknown_80FCEFC
_0807179C:
movs r0, 0
@@ -63516,7 +63516,7 @@ _08071C60: .4byte gUnknown_80F4DAC
_08071C64: .4byte 0x00000662
_08071C68: .4byte 0x00017b34
_08071C6C: .4byte 0x00017b40
-_08071C70: .4byte gUnknown_202DF98
+_08071C70: .4byte gAvailablePokemonNames
_08071C74: .4byte 0x0001358c
_08071C78: .4byte 0x0000066e
_08071C7C: .4byte gUnknown_203B418
@@ -63835,7 +63835,7 @@ _08071EB6:
b _08071F02
.align 2, 0
_08071EE8: .4byte gUnknown_202DE30
-_08071EEC: .4byte gUnknown_202DF98
+_08071EEC: .4byte gAvailablePokemonNames
_08071EF0: .4byte gUnknown_80F9E64
_08071EF4: .4byte 0x00000149
_08071EF8:
@@ -63968,7 +63968,7 @@ _08071FE2:
bx r0
.align 2, 0
_08071FF4: .4byte gUnknown_202DE30
-_08071FF8: .4byte gUnknown_202DF98
+_08071FF8: .4byte gAvailablePokemonNames
_08071FFC: .4byte gUnknown_202DE58
_08072000: .4byte gUnknown_80FF730
_08072004: .4byte 0x00000149
@@ -64159,7 +64159,7 @@ _08072162:
bx r0
.align 2, 0
_08072174: .4byte gUnknown_202DE30
-_08072178: .4byte gUnknown_202DF98
+_08072178: .4byte gAvailablePokemonNames
_0807217C: .4byte gUnknown_202DE58
_08072180: .4byte gUnknown_80FF730
_08072184: .4byte 0x00000149
@@ -64196,7 +64196,7 @@ sub_807218C:
lsls r1, 1
b _080721EC
.align 2, 0
-_080721C8: .4byte gUnknown_202DF98
+_080721C8: .4byte gAvailablePokemonNames
_080721CC:
cmp r0, 0x47
bne _080721D8
@@ -64444,7 +64444,7 @@ _080723B6:
bx r0
.align 2, 0
_080723C4: .4byte 0x00000149
-_080723C8: .4byte gUnknown_202DF98
+_080723C8: .4byte gAvailablePokemonNames
_080723CC: .4byte gUnknown_80F9B94
thumb_func_end sub_807232C
@@ -64535,7 +64535,7 @@ _08072456:
b _080724A4
.align 2, 0
_08072474: .4byte gUnknown_202DE30
-_08072478: .4byte gUnknown_202DF98
+_08072478: .4byte gAvailablePokemonNames
_0807247C: .4byte gUnknown_80F9E80
_08072480:
ldr r3, [sp, 0x18]
@@ -64675,7 +64675,7 @@ _08072576:
bx r1
.align 2, 0
_08072588: .4byte gUnknown_202DE30
-_0807258C: .4byte gUnknown_202DF98
+_0807258C: .4byte gAvailablePokemonNames
_08072590: .4byte gUnknown_80F9E80
_08072594: .4byte 0x03e60000
_08072598: .4byte 0x000003e7
@@ -64900,7 +64900,7 @@ _0807272E:
.align 2, 0
_08072734: .4byte gUnknown_202F31C
_08072738: .4byte gUnknown_202F324
-_0807273C: .4byte gUnknown_202DF98
+_0807273C: .4byte gAvailablePokemonNames
_08072740: .4byte gUnknown_80F9EEC
_08072744:
ldr r0, _08072770
@@ -65102,7 +65102,7 @@ _08072894:
bl sub_80528F4
b _08072928
.align 2, 0
-_080728C8: .4byte gUnknown_202DF98
+_080728C8: .4byte gAvailablePokemonNames
_080728CC: .4byte gUnknown_202DE58
_080728D0: .4byte gUnknown_80F9F04
_080728D4:
@@ -65297,7 +65297,7 @@ _08072A0C:
bl sub_80528F4
b _08072A8C
.align 2, 0
-_08072A44: .4byte gUnknown_202DF98
+_08072A44: .4byte gAvailablePokemonNames
_08072A48: .4byte gUnknown_202DE58
_08072A4C: .4byte gUnknown_80F9F04
_08072A50:
@@ -65358,7 +65358,7 @@ _08072AB0:
pop {r1}
bx r1
.align 2, 0
-_08072AC0: .4byte gUnknown_202DF98
+_08072AC0: .4byte gAvailablePokemonNames
_08072AC4: .4byte gUnknown_80F9F2C
thumb_func_end sub_8072938
@@ -65521,7 +65521,7 @@ sub_8072B78:
ldr r4, _08072C04
b _08072C0C
.align 2, 0
-_08072BFC: .4byte gUnknown_202DF98
+_08072BFC: .4byte gAvailablePokemonNames
_08072C00: .4byte gUnknown_80FE2EC
_08072C04: .4byte gUnknown_80F4448
_08072C08:
@@ -66132,7 +66132,7 @@ _08073136:
ldr r0, _08073148
b _080731A2
.align 2, 0
-_08073144: .4byte gUnknown_202DF98
+_08073144: .4byte gAvailablePokemonNames
_08073148: .4byte gUnknown_80FE6D4
_0807314C:
adds r0, r4, 0
@@ -66185,7 +66185,7 @@ _080731A2:
bl sub_80522A8
b _080731B8
.align 2, 0
-_080731AC: .4byte gUnknown_202DF98
+_080731AC: .4byte gAvailablePokemonNames
_080731B0: .4byte gUnknown_80FE478
_080731B4:
movs r0, 0x1
@@ -66502,7 +66502,7 @@ _080733FC:
b _08073456
.align 2, 0
_08073434: .4byte 0x00000147
-_08073438: .4byte gUnknown_202DF98
+_08073438: .4byte gAvailablePokemonNames
_0807343C: .4byte gUnknown_80FCF38
_08073440:
adds r0, r5, 0x4
@@ -66739,7 +66739,7 @@ _080735EE:
pop {r0}
bx r0
.align 2, 0
-_08073600: .4byte gUnknown_202DF98
+_08073600: .4byte gAvailablePokemonNames
_08073604: .4byte gUnknown_80FCF50
_08073608: .4byte 0x00000165
thumb_func_end sub_807348C
@@ -67721,7 +67721,7 @@ _08073D64:
movs r0, 0x1
b _08073D6E
.align 2, 0
-_08073D68: .4byte gUnknown_202DF98
+_08073D68: .4byte gAvailablePokemonNames
_08073D6C:
movs r0, 0
_08073D6E:
@@ -67765,7 +67765,7 @@ _08073D98:
b _0807404C
.align 2, 0
_08073DBC: .4byte gUnknown_202DE58
-_08073DC0: .4byte gUnknown_202DF98
+_08073DC0: .4byte gAvailablePokemonNames
_08073DC4: .4byte gUnknown_80F8F88
_08073DC8:
mov r1, r10
@@ -68092,7 +68092,7 @@ _0807404C:
bl sub_805239C
b _0807407A
.align 2, 0
-_08074058: .4byte gUnknown_202DF98
+_08074058: .4byte gAvailablePokemonNames
_0807405C: .4byte gUnknown_80F8FAC
_08074060:
ldr r0, _0807408C
@@ -69400,7 +69400,7 @@ _08074B2E:
_08074B40: .4byte 0x0000270f
_08074B44: .4byte 0x0000020e
_08074B48: .4byte 0x00000165
-_08074B4C: .4byte gUnknown_202DF98
+_08074B4C: .4byte gAvailablePokemonNames
_08074B50: .4byte gUnknown_80FABD8
thumb_func_end sub_8074094
@@ -69866,7 +69866,7 @@ _08074EC6:
_08074EF8: .4byte gUnknown_80F4FC4
_08074EFC: .4byte gUnknown_80F4FC0
_08074F00: .4byte gUnknown_80F4FC2
-_08074F04: .4byte gUnknown_202DF98
+_08074F04: .4byte gAvailablePokemonNames
_08074F08:
movs r2, 0
bl sub_8045B94
@@ -69945,7 +69945,7 @@ _08074F96:
.align 2, 0
_08074FA0: .4byte gPtrStenchWavedOffMessage
_08074FA4: .4byte 0x0000010d
-_08074FA8: .4byte gUnknown_202DF98
+_08074FA8: .4byte gAvailablePokemonNames
_08074FAC: .4byte gUnknown_80FA124
thumb_func_end sub_8074B54
@@ -71261,7 +71261,7 @@ _080759E4:
bl sub_80522A8
b _08075B92
.align 2, 0
-_08075A1C: .4byte gUnknown_202DF98
+_08075A1C: .4byte gAvailablePokemonNames
_08075A20: .4byte gPtrCouldntBeUsedMessage
_08075A24:
adds r0, r7, 0
@@ -71671,7 +71671,7 @@ _08075D34:
ldr r0, _08075D50
b _08075DA0
.align 2, 0
-_08075D4C: .4byte gUnknown_202DF98
+_08075D4C: .4byte gAvailablePokemonNames
_08075D50: .4byte gUnknown_80FCD54
_08075D54:
adds r0, r4, 0
@@ -72071,7 +72071,7 @@ _08076050:
bl sub_80522F4
b _08076080
.align 2, 0
-_08076060: .4byte gUnknown_202DF98
+_08076060: .4byte gAvailablePokemonNames
_08076064: .4byte gUnknown_80F4E7C
_08076068: .4byte 0x00000165
_0807606C: .4byte gUnknown_80FB41C
@@ -72148,7 +72148,7 @@ _080760D0:
ldr r0, _08076104
b _08076116
.align 2, 0
-_08076100: .4byte gUnknown_202DF98
+_08076100: .4byte gAvailablePokemonNames
_08076104: .4byte gUnknown_80FB480
_08076108:
ldr r0, _0807610C
@@ -72226,7 +72226,7 @@ sub_807614C:
bl sub_80522F4
b _08076206
.align 2, 0
-_080761A0: .4byte gUnknown_202DF98
+_080761A0: .4byte gAvailablePokemonNames
_080761A4: .4byte gUnknown_80FCC4C
_080761A8:
ldr r0, _080761E8
@@ -72257,7 +72257,7 @@ _080761A8:
bl sub_80522F4
b _08076200
.align 2, 0
-_080761E8: .4byte gUnknown_202DF98
+_080761E8: .4byte gAvailablePokemonNames
_080761EC: .4byte gUnknown_80F4F00
_080761F0: .4byte gUnknown_80FB50C
_080761F4:
@@ -72328,7 +72328,7 @@ _0807626E:
ldr r0, _08076278
b _080762CC
.align 2, 0
-_08076274: .4byte gUnknown_202DF98
+_08076274: .4byte gAvailablePokemonNames
_08076278: .4byte gUnknown_80FCE5C
_0807627C:
adds r0, r5, 0
@@ -72507,7 +72507,7 @@ _080763DA:
.align 2, 0
_080763E8: .4byte gUnknown_80FB564
_080763EC: .4byte gUnknown_80F4448
-_080763F0: .4byte gUnknown_202DF98
+_080763F0: .4byte gAvailablePokemonNames
_080763F4: .4byte gUnknown_80FF01C
thumb_func_end sub_8076210
@@ -72559,7 +72559,7 @@ _08076450:
ldr r0, _08076458
b _080764A4
.align 2, 0
-_08076454: .4byte gUnknown_202DF98
+_08076454: .4byte gAvailablePokemonNames
_08076458: .4byte gUnknown_80FD524
_0807645C:
adds r0, r5, 0
@@ -72741,7 +72741,7 @@ _080765C0:
.align 2, 0
_080765D0: .4byte gUnknown_80FB5F8
_080765D4: .4byte gUnknown_80F4448
-_080765D8: .4byte gUnknown_202DF98
+_080765D8: .4byte gAvailablePokemonNames
_080765DC: .4byte gUnknown_80FF01C
thumb_func_end sub_80763F8
@@ -72793,7 +72793,7 @@ _08076638:
ldr r0, _08076640
b _0807668C
.align 2, 0
-_0807663C: .4byte gUnknown_202DF98
+_0807663C: .4byte gAvailablePokemonNames
_08076640: .4byte gUnknown_80FD524
_08076644:
adds r0, r5, 0
@@ -72964,7 +72964,7 @@ _08076790:
.align 2, 0
_080767A0: .4byte gUnknown_80FB5F8
_080767A4: .4byte gUnknown_80F4448
-_080767A8: .4byte gUnknown_202DF98
+_080767A8: .4byte gAvailablePokemonNames
_080767AC: .4byte gUnknown_80FF01C
thumb_func_end sub_80765E0
@@ -73013,7 +73013,7 @@ _080767CE:
ldr r0, _08076810
b _0807685C
.align 2, 0
-_0807680C: .4byte gUnknown_202DF98
+_0807680C: .4byte gAvailablePokemonNames
_08076810: .4byte gUnknown_80FCDE0
_08076814:
adds r0, r5, 0
@@ -73200,7 +73200,7 @@ _08076948:
bl sub_806CE94
b _080769B8
.align 2, 0
-_0807699C: .4byte gUnknown_202DF98
+_0807699C: .4byte gAvailablePokemonNames
_080769A0: .4byte gUnknown_80FA844
_080769A4: .4byte gUnknown_80F4E58
_080769A8: .4byte gUnknown_80FB628
@@ -73304,7 +73304,7 @@ _08076A2A:
bl sub_806CE94
b _08076A94
.align 2, 0
-_08076A78: .4byte gUnknown_202DF98
+_08076A78: .4byte gAvailablePokemonNames
_08076A7C: .4byte gUnknown_80FA844
_08076A80: .4byte gUnknown_80F4E54
_08076A84: .4byte gUnknown_80FB668
@@ -73382,7 +73382,7 @@ _08076AD8:
bl sub_80522F4
b _08076B34
.align 2, 0
-_08076B1C: .4byte gUnknown_202DF98
+_08076B1C: .4byte gAvailablePokemonNames
_08076B20: .4byte gUnknown_80F4E60
_08076B24: .4byte gUnknown_80FB6A4
_08076B28:
@@ -73502,7 +73502,7 @@ _08076B74:
_08076C0C: .4byte gUnknown_80F4E5C
_08076C10: .4byte gUnknown_203B418
_08076C14: .4byte 0x000037f4
-_08076C18: .4byte gUnknown_202DF98
+_08076C18: .4byte gAvailablePokemonNames
_08076C1C: .4byte gUnknown_80FB6D8
_08076C20:
adds r7, r5, 0
@@ -73570,7 +73570,7 @@ _08076C9E:
pop {r0}
bx r0
.align 2, 0
-_08076CA8: .4byte gUnknown_202DF98
+_08076CA8: .4byte gAvailablePokemonNames
_08076CAC: .4byte gUnknown_80FB6FC
_08076CB0: .4byte gUnknown_80FB718
thumb_func_end sub_8076B48
@@ -73673,7 +73673,7 @@ _08076D54:
ldr r1, _08076D78
b _08076D7E
.align 2, 0
-_08076D74: .4byte gUnknown_202DF98
+_08076D74: .4byte gAvailablePokemonNames
_08076D78: .4byte gUnknown_80F4EBC
_08076D7C:
ldr r1, _08076DA4
@@ -73823,7 +73823,7 @@ _08076E6E:
.align 2, 0
_08076EA0: .4byte gUnknown_202DE58
_08076EA4: .4byte gUnknown_80FC0B8
-_08076EA8: .4byte gUnknown_202DF98
+_08076EA8: .4byte gAvailablePokemonNames
_08076EAC: .4byte gUnknown_80FD550
_08076EB0:
adds r0, r4, 0
@@ -73846,7 +73846,7 @@ _08076ECE:
bl sub_80522F4
b _08076F6E
.align 2, 0
-_08076EDC: .4byte gUnknown_202DF98
+_08076EDC: .4byte gAvailablePokemonNames
_08076EE0: .4byte gUnknown_80FCA60
_08076EE4:
ldr r7, [r4, 0x70]
@@ -73866,7 +73866,7 @@ _08076EE4:
bl strcpy
b _08076F22
.align 2, 0
-_08076F0C: .4byte gUnknown_202DF98
+_08076F0C: .4byte gAvailablePokemonNames
_08076F10: .4byte gUnknown_202DEA8
_08076F14: .4byte gUnknown_80FC0E4
_08076F18:
@@ -73989,7 +73989,7 @@ _08076FE2:
.align 2, 0
_08077008: .4byte gUnknown_202DE58
_0807700C: .4byte gUnknown_80FC09C
-_08077010: .4byte gUnknown_202DF98
+_08077010: .4byte gAvailablePokemonNames
_08077014: .4byte gUnknown_202DEA8
_08077018: .4byte gUnknown_80FC0E4
_0807701C:
@@ -74075,7 +74075,7 @@ sub_8077084:
bl strcpy
b _080770DA
.align 2, 0
-_080770C4: .4byte gUnknown_202DF98
+_080770C4: .4byte gAvailablePokemonNames
_080770C8: .4byte gUnknown_202DE58
_080770CC: .4byte gUnknown_80FC0C8
_080770D0:
@@ -74177,7 +74177,7 @@ sub_8077160:
bl strcpy
b _080771B6
.align 2, 0
-_080771A0: .4byte gUnknown_202DF98
+_080771A0: .4byte gAvailablePokemonNames
_080771A4: .4byte gUnknown_202DE58
_080771A8: .4byte gUnknown_80FC0AC
_080771AC:
@@ -74319,7 +74319,7 @@ _080772B4:
pop {r0}
bx r0
.align 2, 0
-_080772BC: .4byte gUnknown_202DF98
+_080772BC: .4byte gAvailablePokemonNames
thumb_func_end sub_8077274
thumb_func_start sub_80772C0
@@ -74387,7 +74387,7 @@ _08077320:
.align 2, 0
_08077340: .4byte gUnknown_202DE58
_08077344: .4byte gUnknown_80FC0B8
-_08077348: .4byte gUnknown_202DF98
+_08077348: .4byte gAvailablePokemonNames
_0807734C: .4byte gUnknown_80FD550
_08077350:
adds r0, r5, 0
@@ -74414,7 +74414,7 @@ _08077376:
bl sub_80522F4
b _08077422
.align 2, 0
-_08077384: .4byte gUnknown_202DF98
+_08077384: .4byte gAvailablePokemonNames
_08077388: .4byte gUnknown_80FCA60
_0807738C:
ldr r0, [r5, 0x70]
@@ -74437,7 +74437,7 @@ _0807738C:
bl sub_8041FD8
b _080773C4
.align 2, 0
-_080773B8: .4byte gUnknown_202DF98
+_080773B8: .4byte gAvailablePokemonNames
_080773BC:
adds r0, r5, 0
adds r1, r4, 0
@@ -74570,7 +74570,7 @@ _08077490:
.align 2, 0
_080774BC: .4byte gUnknown_202DE58
_080774C0: .4byte gUnknown_80FC09C
-_080774C4: .4byte gUnknown_202DF98
+_080774C4: .4byte gAvailablePokemonNames
_080774C8:
adds r0, r5, 0
adds r1, r4, 0
@@ -74662,7 +74662,7 @@ sub_8077540:
bl strcpy
b _0807758E
.align 2, 0
-_08077578: .4byte gUnknown_202DF98
+_08077578: .4byte gAvailablePokemonNames
_0807757C: .4byte gUnknown_202DE58
_08077580: .4byte gUnknown_80FC090
_08077584:
@@ -74768,7 +74768,7 @@ _08077616:
.align 2, 0
_08077654: .4byte gUnknown_202DE58
_08077658: .4byte gUnknown_80FC084
-_0807765C: .4byte gUnknown_202DF98
+_0807765C: .4byte gAvailablePokemonNames
_08077660: .4byte gUnknown_80FCA64
_08077664:
ldr r4, [r5, 0x70]
@@ -74796,7 +74796,7 @@ _08077664:
bl sub_80522F4
b _080776B0
.align 2, 0
-_0807769C: .4byte gUnknown_202DF98
+_0807769C: .4byte gAvailablePokemonNames
_080776A0: .4byte gUnknown_80FC1A4
_080776A4:
ldr r0, _080776BC
@@ -74853,7 +74853,7 @@ sub_80776C0:
bl sub_80522F4
b _08077776
.align 2, 0
-_08077710: .4byte gUnknown_202DF98
+_08077710: .4byte gAvailablePokemonNames
_08077714: .4byte gUnknown_80FCC18
_08077718:
ldr r6, [r4, 0x70]
@@ -74885,7 +74885,7 @@ _08077718:
bl sub_80522F4
b _08077770
.align 2, 0
-_08077758: .4byte gUnknown_202DF98
+_08077758: .4byte gAvailablePokemonNames
_0807775C: .4byte gUnknown_80F4E3C
_08077760: .4byte gUnknown_80FB2E0
_08077764:
@@ -74956,7 +74956,7 @@ _080777D6:
bl sub_80522F4
b _080778F0
.align 2, 0
-_080777E4: .4byte gUnknown_202DF98
+_080777E4: .4byte gAvailablePokemonNames
_080777E8: .4byte gUnknown_80FCBF8
_080777EC:
movs r6, 0x1
@@ -74998,7 +74998,7 @@ _080777EC:
bl sub_8070774
b _0807785C
.align 2, 0
-_08077844: .4byte gUnknown_202DF98
+_08077844: .4byte gAvailablePokemonNames
_08077848: .4byte gUnknown_80F4E50
_0807784C: .4byte gUnknown_80FB2AC
_08077850:
@@ -75088,7 +75088,7 @@ _080778F0:
.align 2, 0
_08077900: .4byte gUnknown_80FB2CC
_08077904: .4byte gUnknown_80F4448
-_08077908: .4byte gUnknown_202DF98
+_08077908: .4byte gAvailablePokemonNames
_0807790C: .4byte gUnknown_80FF01C
thumb_func_end sub_8077780
@@ -75134,7 +75134,7 @@ _08077940:
b _0807799E
.align 2, 0
_08077964: .4byte gUnknown_80F4E40
-_08077968: .4byte gUnknown_202DF98
+_08077968: .4byte gAvailablePokemonNames
_0807796C: .4byte gUnknown_80FC2B8
_08077970:
movs r2, 0
@@ -75245,7 +75245,7 @@ sub_80779F0:
ldr r0, _08077A4C
b _08077AA2
.align 2, 0
-_08077A48: .4byte gUnknown_202DF98
+_08077A48: .4byte gAvailablePokemonNames
_08077A4C: .4byte gUnknown_80FC2D8
_08077A50:
movs r0, 0
@@ -75359,7 +75359,7 @@ sub_8077AE4:
ldr r0, _08077B30
b _08077B48
.align 2, 0
-_08077B2C: .4byte gUnknown_202DF98
+_08077B2C: .4byte gAvailablePokemonNames
_08077B30: .4byte gUnknown_80FD500
_08077B34:
adds r0, r4, 0
@@ -75472,7 +75472,7 @@ sub_8077BB4:
bl sub_80522F4
b _08077C34
.align 2, 0
-_08077C1C: .4byte gUnknown_202DF98
+_08077C1C: .4byte gAvailablePokemonNames
_08077C20: .4byte gUnknown_80F4ECC
_08077C24: .4byte gUnknown_80FB940
_08077C28:
@@ -75608,7 +75608,7 @@ _08077CE8:
b _08077D3A
.align 2, 0
_08077D1C: .4byte gUnknown_202DE30
-_08077D20: .4byte gUnknown_202DF98
+_08077D20: .4byte gAvailablePokemonNames
_08077D24: .4byte gUnknown_80FB204
_08077D28:
mov r0, r8
@@ -75750,7 +75750,7 @@ _08077E3C:
pop {r0}
bx r0
.align 2, 0
-_08077E44: .4byte gUnknown_202DF98
+_08077E44: .4byte gAvailablePokemonNames
_08077E48: .4byte gUnknown_80FAEA0
thumb_func_end sub_8077DDC
@@ -75812,7 +75812,7 @@ _08077EC0:
pop {r0}
bx r0
.align 2, 0
-_08077EC8: .4byte gUnknown_202DF98
+_08077EC8: .4byte gAvailablePokemonNames
_08077ECC: .4byte gUnknown_80FAEC8
thumb_func_end sub_8077E4C
@@ -75864,7 +75864,7 @@ _08077F30:
pop {r0}
bx r0
.align 2, 0
-_08077F38: .4byte gUnknown_202DF98
+_08077F38: .4byte gAvailablePokemonNames
_08077F3C: .4byte gUnknown_80FAFAC
thumb_func_end sub_8077ED0
@@ -75931,7 +75931,7 @@ _08077F88:
ldr r0, _08077FC4
b _0807801E
.align 2, 0
-_08077FC0: .4byte gUnknown_202DF98
+_08077FC0: .4byte gAvailablePokemonNames
_08077FC4: .4byte gPtrCantLeechSeedMonMessage
_08077FC8:
adds r6, r7, 0
@@ -76141,7 +76141,7 @@ _08078134:
adds r3, r1, 0
b _0807818C
.align 2, 0
-_0807816C: .4byte gUnknown_202DF98
+_0807816C: .4byte gAvailablePokemonNames
_08078170: .4byte gUnknown_80FA79C
_08078174: .4byte gUnknown_80F4EF0
_08078178:
@@ -76229,7 +76229,7 @@ sub_80781DC:
bl sub_80522F4
b _0807823C
.align 2, 0
-_08078228: .4byte gUnknown_202DF98
+_08078228: .4byte gAvailablePokemonNames
_0807822C: .4byte gUnknown_80FB73C
_08078230:
ldr r0, _08078248
@@ -76291,7 +76291,7 @@ sub_807824C:
bl sub_80522F4
b _080782BC
.align 2, 0
-_080782A8: .4byte gUnknown_202DF98
+_080782A8: .4byte gAvailablePokemonNames
_080782AC: .4byte gUnknown_80FB780
_080782B0:
ldr r0, _080782C8
@@ -76349,7 +76349,7 @@ sub_80782CC:
bl sub_80522F4
b _08078338
.align 2, 0
-_08078320: .4byte gUnknown_202DF98
+_08078320: .4byte gAvailablePokemonNames
_08078324: .4byte gUnknown_80F4EC4
_08078328: .4byte gUnknown_80FB8BC
_0807832C:
@@ -76408,7 +76408,7 @@ sub_8078348:
bl sub_80522F4
b _080783B4
.align 2, 0
-_0807839C: .4byte gUnknown_202DF98
+_0807839C: .4byte gAvailablePokemonNames
_080783A0: .4byte gUnknown_80F4EC8
_080783A4: .4byte gUnknown_80FB900
_080783A8:
@@ -76474,7 +76474,7 @@ _080783FA:
bl sub_80522F4
b _0807856A
.align 2, 0
-_08078420: .4byte gUnknown_202DF98
+_08078420: .4byte gAvailablePokemonNames
_08078424: .4byte gUnknown_80FB994
_08078428:
movs r6, 0
@@ -76642,7 +76642,7 @@ _0807856A:
.align 2, 0
_0807857C: .4byte gUnknown_203B418
_08078580: .4byte 0x000135cc
-_08078584: .4byte gUnknown_202DF98
+_08078584: .4byte gAvailablePokemonNames
_08078588: .4byte gUnknown_80F4ED0
_0807858C: .4byte 0x000037fc
_08078590: .4byte gUnknown_80FB978
@@ -76725,7 +76725,7 @@ _0807861C:
b _08078668
.align 2, 0
_08078634: .4byte gUnknown_80F4EA4
-_08078638: .4byte gUnknown_202DF98
+_08078638: .4byte gAvailablePokemonNames
_0807863C: .4byte gUnknown_80FB004
_08078640:
ldr r0, _08078674
@@ -76857,7 +76857,7 @@ _08078740: .4byte 0x000135cc
_08078744: .4byte gUnknown_80F4EA8
_08078748: .4byte 0x00017b30
_0807874C: .4byte 0x00017b3c
-_08078750: .4byte gUnknown_202DF98
+_08078750: .4byte gAvailablePokemonNames
_08078754: .4byte gUnknown_80FB01C
thumb_func_end sub_8078678
@@ -76907,7 +76907,7 @@ sub_8078758:
bl sub_80522F4
b _080787D4
.align 2, 0
-_080787BC: .4byte gUnknown_202DF98
+_080787BC: .4byte gAvailablePokemonNames
_080787C0: .4byte gUnknown_80F4ED8
_080787C4: .4byte gUnknown_80FB9F0
_080787C8:
@@ -76964,7 +76964,7 @@ sub_80787E4:
bl sub_80522F4
b _0807884C
.align 2, 0
-_08078834: .4byte gUnknown_202DF98
+_08078834: .4byte gAvailablePokemonNames
_08078838: .4byte gUnknown_202DE30
_0807883C: .4byte gUnknown_80FBA38
_08078840:
@@ -77031,7 +77031,7 @@ _08078884:
bl sub_80522F4
b _080788D8
.align 2, 0
-_080788C0: .4byte gUnknown_202DF98
+_080788C0: .4byte gAvailablePokemonNames
_080788C4: .4byte gUnknown_80F4EE4
_080788C8: .4byte gUnknown_80FBA80
_080788CC:
@@ -77092,7 +77092,7 @@ sub_80788E8:
bl sub_80522F4
b _08078958
.align 2, 0
-_08078940: .4byte gUnknown_202DF98
+_08078940: .4byte gAvailablePokemonNames
_08078944: .4byte gUnknown_80F4EEC
_08078948: .4byte gUnknown_80FBB04
_0807894C:
@@ -77178,7 +77178,7 @@ _080789BC:
bl sub_80522F4
b _08078A4A
.align 2, 0
-_080789E8: .4byte gUnknown_202DF98
+_080789E8: .4byte gAvailablePokemonNames
_080789EC: .4byte gUnknown_80FBBD4
_080789F0:
mov r0, r8
@@ -77285,7 +77285,7 @@ sub_8078A58:
ldr r0, _08078AD4
b _08078B22
.align 2, 0
-_08078AD0: .4byte gUnknown_202DF98
+_08078AD0: .4byte gAvailablePokemonNames
_08078AD4: .4byte gUnknown_80FBD9C
_08078AD8:
ldr r0, _08078ADC
@@ -77327,7 +77327,7 @@ _08078B22:
bl sub_80522F4
b _08078B44
.align 2, 0
-_08078B30: .4byte gUnknown_202DF98
+_08078B30: .4byte gAvailablePokemonNames
_08078B34: .4byte gUnknown_80FBD78
_08078B38:
ldr r0, _08078B58
@@ -77496,7 +77496,7 @@ _08078C5E:
.align 2, 0
_08078C8C: .4byte 0x000003e7
_08078C90: .4byte gUnknown_80FBE64
-_08078C94: .4byte gUnknown_202DF98
+_08078C94: .4byte gAvailablePokemonNames
_08078C98: .4byte gUnknown_80FBDF0
_08078C9C:
adds r0, r6, 0
@@ -77511,7 +77511,7 @@ _08078C9C:
ldr r0, _08078CBC
b _08078D4E
.align 2, 0
-_08078CB8: .4byte gUnknown_202DF98
+_08078CB8: .4byte gAvailablePokemonNames
_08078CBC: .4byte gUnknown_80FBDC4
_08078CC0:
movs r0, 0x9E
@@ -77561,7 +77561,7 @@ _08078CFA:
b _08078D4E
.align 2, 0
_08078D28: .4byte 0x000003e7
-_08078D2C: .4byte gUnknown_202DF98
+_08078D2C: .4byte gAvailablePokemonNames
_08078D30: .4byte gUnknown_80FBE14
_08078D34:
ldr r0, [r5]
@@ -77654,7 +77654,7 @@ sub_8078D8C:
bl sub_80522F4
b _08078E08
.align 2, 0
-_08078DF0: .4byte gUnknown_202DF98
+_08078DF0: .4byte gAvailablePokemonNames
_08078DF4: .4byte gUnknown_80F4F1C
_08078DF8: .4byte gUnknown_80FBF68
_08078DFC:
@@ -77762,7 +77762,7 @@ _08078EC0:
bl sub_80522F4
b _08078F2E
.align 2, 0
-_08078ECC: .4byte gUnknown_202DF98
+_08078ECC: .4byte gAvailablePokemonNames
_08078ED0: .4byte gUnknown_80FBEE4
_08078ED4:
strh r4, [r7, 0x4]
@@ -77866,7 +77866,7 @@ _08078F78:
bl sub_80522F4
b _08078FCC
.align 2, 0
-_08078FB4: .4byte gUnknown_202DF98
+_08078FB4: .4byte gAvailablePokemonNames
_08078FB8: .4byte gUnknown_80F4F04
_08078FBC: .4byte gUnknown_80FBF28
_08078FC0:
@@ -77952,7 +77952,7 @@ _0807904C:
bl sub_80522F4
b _080790B6
.align 2, 0
-_08079064: .4byte gUnknown_202DF98
+_08079064: .4byte gAvailablePokemonNames
_08079068: .4byte gUnknown_80FC000
_0807906C: .4byte gUnknown_80FBFB8
_08079070:
@@ -78107,7 +78107,7 @@ sub_8079140:
bl sub_8040A84
b _080791C8
.align 2, 0
-_080791B0: .4byte gUnknown_202DF98
+_080791B0: .4byte gAvailablePokemonNames
_080791B4: .4byte gUnknown_80F4F08
_080791B8: .4byte gUnknown_80FB7F4
_080791BC:
@@ -78177,7 +78177,7 @@ sub_80791D8:
bl sub_8040A84
b _08079260
.align 2, 0
-_08079248: .4byte gUnknown_202DF98
+_08079248: .4byte gAvailablePokemonNames
_0807924C: .4byte gUnknown_80FB834
_08079250: .4byte gUnknown_80F4F0C
_08079254:
@@ -78240,7 +78240,7 @@ sub_8079270:
bl sub_8040A84
b _080792E8
.align 2, 0
-_080792D0: .4byte gUnknown_202DF98
+_080792D0: .4byte gAvailablePokemonNames
_080792D4: .4byte gUnknown_80F4F10
_080792D8: .4byte gUnknown_80FB880
_080792DC:
@@ -78392,7 +78392,7 @@ _080793DE:
bl sub_80522F4
b _08079410
.align 2, 0
-_080793FC: .4byte gUnknown_202DF98
+_080793FC: .4byte gAvailablePokemonNames
_08079400: .4byte gUnknown_80FC33C
_08079404:
ldr r0, _0807941C
@@ -78449,7 +78449,7 @@ _0807944E:
bl sub_80522F4
b _08079480
.align 2, 0
-_0807946C: .4byte gUnknown_202DF98
+_0807946C: .4byte gAvailablePokemonNames
_08079470: .4byte gUnknown_80FC388
_08079474:
ldr r0, _0807948C
@@ -78506,7 +78506,7 @@ _080794BE:
bl sub_80522F4
b _080794F0
.align 2, 0
-_080794DC: .4byte gUnknown_202DF98
+_080794DC: .4byte gAvailablePokemonNames
_080794E0: .4byte gUnknown_80FC3D8
_080794E4:
ldr r0, _080794FC
@@ -78563,7 +78563,7 @@ _0807952E:
bl sub_80522F4
b _08079560
.align 2, 0
-_0807954C: .4byte gUnknown_202DF98
+_0807954C: .4byte gAvailablePokemonNames
_08079550: .4byte gUnknown_80FC428
_08079554:
ldr r0, _0807956C
@@ -78703,7 +78703,7 @@ _08079638:
bl sub_80522F4
b _08079752
.align 2, 0
-_08079660: .4byte gUnknown_202DF98
+_08079660: .4byte gAvailablePokemonNames
_08079664: .4byte gUnknown_80FC074
_08079668:
adds r0, r5, 0
@@ -78901,7 +78901,7 @@ sub_80797A0:
bl sub_80522F4
b _08079822
.align 2, 0
-_080797E0: .4byte gUnknown_202DF98
+_080797E0: .4byte gAvailablePokemonNames
_080797E4: .4byte gUnknown_80FB10C
_080797E8:
adds r0, r4, 0
@@ -78980,7 +78980,7 @@ sub_8079834:
bl sub_80522F4
b _080798A0
.align 2, 0
-_08079888: .4byte gUnknown_202DF98
+_08079888: .4byte gAvailablePokemonNames
_0807988C: .4byte gUnknown_80F4E88
_08079890: .4byte gUnknown_80FB048
_08079894:
@@ -79039,7 +79039,7 @@ sub_80798B0:
bl sub_80522F4
b _0807991C
.align 2, 0
-_08079904: .4byte gUnknown_202DF98
+_08079904: .4byte gAvailablePokemonNames
_08079908: .4byte gUnknown_80F4E8C
_0807990C: .4byte gUnknown_80FB09C
_08079910:
@@ -79098,7 +79098,7 @@ sub_807992C:
bl sub_80522F4
b _08079998
.align 2, 0
-_08079980: .4byte gUnknown_202DF98
+_08079980: .4byte gAvailablePokemonNames
_08079984: .4byte gUnknown_80F4EB4
_08079988: .4byte gUnknown_80FAE1C
_0807998C:
@@ -79157,7 +79157,7 @@ sub_80799A8:
bl sub_80522F4
b _08079A14
.align 2, 0
-_080799FC: .4byte gUnknown_202DF98
+_080799FC: .4byte gAvailablePokemonNames
_08079A00: .4byte gUnknown_80F4E90
_08079A04: .4byte gUnknown_80FAF5C
_08079A08:
@@ -79216,7 +79216,7 @@ sub_8079A24:
bl sub_80522F4
b _08079A90
.align 2, 0
-_08079A78: .4byte gUnknown_202DF98
+_08079A78: .4byte gAvailablePokemonNames
_08079A7C: .4byte gUnknown_80F4E84
_08079A80: .4byte gUnknown_80FB130
_08079A84:
@@ -79275,7 +79275,7 @@ sub_8079AA0:
bl sub_80522F4
b _08079B0C
.align 2, 0
-_08079AF4: .4byte gUnknown_202DF98
+_08079AF4: .4byte gAvailablePokemonNames
_08079AF8: .4byte gUnknown_80F4E80
_08079AFC: .4byte gUnknown_80FB17C
_08079B00:
@@ -79335,7 +79335,7 @@ sub_8079B1C:
b _08079B92
.align 2, 0
_08079B70: .4byte gUnknown_80F4ED4
-_08079B74: .4byte gUnknown_202DF98
+_08079B74: .4byte gAvailablePokemonNames
_08079B78: .4byte gUnknown_80FB9B0
_08079B7C:
ldr r0, _08079BA0
@@ -79355,7 +79355,7 @@ _08079B98:
pop {r0}
bx r0
.align 2, 0
-_08079BA0: .4byte gUnknown_202DF98
+_08079BA0: .4byte gAvailablePokemonNames
_08079BA4: .4byte gUnknown_80FB9D8
thumb_func_end sub_8079B1C
@@ -79398,7 +79398,7 @@ sub_8079BA8:
bl sub_80522F4
b _08079C14
.align 2, 0
-_08079BFC: .4byte gUnknown_202DF98
+_08079BFC: .4byte gAvailablePokemonNames
_08079C00: .4byte gUnknown_80F4EE8
_08079C04: .4byte gUnknown_80FBAC0
_08079C08:
@@ -79457,7 +79457,7 @@ sub_8079C24:
bl sub_80522F4
b _08079C90
.align 2, 0
-_08079C78: .4byte gUnknown_202DF98
+_08079C78: .4byte gAvailablePokemonNames
_08079C7C: .4byte gUnknown_80F4EF8
_08079C80: .4byte gUnknown_80FBBF0
_08079C84:
@@ -79516,7 +79516,7 @@ sub_8079CA0:
bl sub_80522F4
b _08079D0C
.align 2, 0
-_08079CF4: .4byte gUnknown_202DF98
+_08079CF4: .4byte gAvailablePokemonNames
_08079CF8: .4byte gUnknown_80F4F18
_08079CFC: .4byte gUnknown_80FBC38
_08079D00:
@@ -79590,7 +79590,7 @@ _08079D50:
bl sub_80522F4
b _08079DA8
.align 2, 0
-_08079D90: .4byte gUnknown_202DF98
+_08079D90: .4byte gAvailablePokemonNames
_08079D94: .4byte gUnknown_80F4F20
_08079D98: .4byte gUnknown_80FBC7C
_08079D9C:
@@ -79649,7 +79649,7 @@ sub_8079DB8:
bl sub_80522F4
b _08079E24
.align 2, 0
-_08079E0C: .4byte gUnknown_202DF98
+_08079E0C: .4byte gAvailablePokemonNames
_08079E10: .4byte gUnknown_80F4F24
_08079E14: .4byte gUnknown_80FBCC8
_08079E18:
@@ -79771,7 +79771,7 @@ _08079ED8:
bl sub_80522F4
b _08079F08
.align 2, 0
-_08079EF4: .4byte gUnknown_202DF98
+_08079EF4: .4byte gAvailablePokemonNames
_08079EF8: .4byte gUnknown_80FBD18
_08079EFC:
ldr r0, _08079F1C
@@ -80087,7 +80087,7 @@ _0807A166:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0807A170: .4byte gUnknown_202DF98
+_0807A170: .4byte gAvailablePokemonNames
_0807A174: .4byte _0807A178
.align 2, 0
_0807A178:
@@ -80244,7 +80244,7 @@ sub_807A290:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0807A2C4: .4byte gUnknown_202DF98
+_0807A2C4: .4byte gAvailablePokemonNames
_0807A2C8: .4byte _0807A2CC
.align 2, 0
_0807A2CC:
@@ -80317,7 +80317,7 @@ sub_807A324:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0807A358: .4byte gUnknown_202DF98
+_0807A358: .4byte gAvailablePokemonNames
_0807A35C: .4byte _0807A360
.align 2, 0
_0807A360:
@@ -80419,7 +80419,7 @@ sub_807A400:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0807A434: .4byte gUnknown_202DF98
+_0807A434: .4byte gAvailablePokemonNames
_0807A438: .4byte _0807A43C
.align 2, 0
_0807A43C:
@@ -80517,7 +80517,7 @@ _0807A4DA:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0807A4FC: .4byte gUnknown_202DF98
+_0807A4FC: .4byte gAvailablePokemonNames
_0807A500: .4byte _0807A504
.align 2, 0
_0807A504:
@@ -80648,7 +80648,7 @@ sub_807A5D0:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0807A604: .4byte gUnknown_202DF98
+_0807A604: .4byte gAvailablePokemonNames
_0807A608: .4byte _0807A60C
.align 2, 0
_0807A60C:
@@ -80731,7 +80731,7 @@ _0807A6B2:
.align 2, 0
_0807A6B8: .4byte gUnknown_203B418
_0807A6BC: .4byte 0x000037fc
-_0807A6C0: .4byte gUnknown_202DF98
+_0807A6C0: .4byte gAvailablePokemonNames
_0807A6C4: .4byte gUnknown_80FA9A0
thumb_func_end sub_807A5D0
@@ -80760,7 +80760,7 @@ sub_807A6C8:
beq _0807A70C
b _0807A716
.align 2, 0
-_0807A6F8: .4byte gUnknown_202DF98
+_0807A6F8: .4byte gAvailablePokemonNames
_0807A6FC:
ldr r0, _0807A708
ldr r1, [r0]
@@ -80817,7 +80817,7 @@ sub_807A734:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0807A764: .4byte gUnknown_202DF98
+_0807A764: .4byte gAvailablePokemonNames
_0807A768: .4byte _0807A76C
.align 2, 0
_0807A76C:
@@ -80892,7 +80892,7 @@ sub_807A7C8:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0807A7FC: .4byte gUnknown_202DF98
+_0807A7FC: .4byte gAvailablePokemonNames
_0807A800: .4byte _0807A804
.align 2, 0
_0807A804:
@@ -80981,7 +80981,7 @@ sub_807A888:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0807A8B8: .4byte gUnknown_202DF98
+_0807A8B8: .4byte gAvailablePokemonNames
_0807A8BC: .4byte _0807A8C0
.align 2, 0
_0807A8C0:
@@ -81063,7 +81063,7 @@ _0807A95C:
pop {r0}
bx r0
.align 2, 0
-_0807A964: .4byte gUnknown_202DF98
+_0807A964: .4byte gAvailablePokemonNames
_0807A968: .4byte gUnknown_80FABC0
thumb_func_end sub_807A924
@@ -81165,7 +81165,7 @@ _0807AA20:
pop {r0}
bx r0
.align 2, 0
-_0807AA28: .4byte gUnknown_202DF98
+_0807AA28: .4byte gAvailablePokemonNames
_0807AA2C: .4byte gUnknown_80FA8BC
thumb_func_end sub_807A9D8
@@ -85668,7 +85668,7 @@ _0807CC08:
b _0807CC3C
.align 2, 0
_0807CC20: .4byte 0xffffff00
-_0807CC24: .4byte gUnknown_202DF98
+_0807CC24: .4byte gAvailablePokemonNames
_0807CC28: .4byte gUnknown_80FC714
_0807CC2C:
cmp r0, 0x7
@@ -85684,7 +85684,7 @@ _0807CC3C:
bl sub_80522A8
b _0807CCDC
.align 2, 0
-_0807CC48: .4byte gUnknown_202DF98
+_0807CC48: .4byte gAvailablePokemonNames
_0807CC4C: .4byte gUnknown_80FC718
_0807CC50:
adds r0, r7, 0
@@ -85737,7 +85737,7 @@ _0807CC84:
bl sub_8055FA0
b _0807CCDE
.align 2, 0
-_0807CCB8: .4byte gUnknown_202DF98
+_0807CCB8: .4byte gAvailablePokemonNames
_0807CCBC: .4byte gUnknown_80FC6A8
_0807CCC0:
mov r3, r9
@@ -85882,7 +85882,7 @@ _0807CDC4:
adds r0, r6, 0
b _0807CE02
.align 2, 0
-_0807CDDC: .4byte gUnknown_202DF98
+_0807CDDC: .4byte gAvailablePokemonNames
_0807CDE0: .4byte gUnknown_80FCA10
_0807CDE4:
ldr r0, _0807CE0C
@@ -85904,7 +85904,7 @@ _0807CE02:
bl sub_80522F4
b _0807D02A
.align 2, 0
-_0807CE0C: .4byte gUnknown_202DF98
+_0807CE0C: .4byte gAvailablePokemonNames
_0807CE10: .4byte gUnknown_80FCBCC
_0807CE14:
str r0, [sp, 0x28]
@@ -86324,7 +86324,7 @@ sub_807D148:
ldr r0, _0807D184
b _0807D194
.align 2, 0
-_0807D180: .4byte gUnknown_202DF98
+_0807D180: .4byte gAvailablePokemonNames
_0807D184: .4byte gUnknown_80FCAE8
_0807D188:
bl sub_80441E8
@@ -87416,7 +87416,7 @@ sub_807DA14:
ldr r0, _0807DA4C
b _0807DA5C
.align 2, 0
-_0807DA48: .4byte gUnknown_202DF98
+_0807DA48: .4byte gAvailablePokemonNames
_0807DA4C: .4byte gUnknown_80FCB98
_0807DA50:
bl sub_80441E8
@@ -88086,7 +88086,7 @@ _0807DF8E:
.align 2, 0
_0807DFA8: .4byte gUnknown_203B418
_0807DFAC: .4byte 0x000135cc
-_0807DFB0: .4byte gUnknown_202DF98
+_0807DFB0: .4byte gAvailablePokemonNames
_0807DFB4:
mov r0, r10
bl sub_807E580
@@ -88317,7 +88317,7 @@ _0807E174:
pop {r0}
bx r0
.align 2, 0
-_0807E184: .4byte gUnknown_202DF98
+_0807E184: .4byte gAvailablePokemonNames
_0807E188: .4byte gUnknown_80F96BC
_0807E18C: .4byte gUnknown_8107178
_0807E190: .4byte 0xffff0000
@@ -88431,7 +88431,7 @@ sub_807E254:
adds r1, r6, 0
b _0807E286
.align 2, 0
-_0807E270: .4byte gUnknown_202DF98
+_0807E270: .4byte gAvailablePokemonNames
_0807E274:
adds r0, r7, 0
movs r1, 0xE
@@ -88451,7 +88451,7 @@ _0807E286:
bl sub_80522F4
b _0807E366
.align 2, 0
-_0807E29C: .4byte gUnknown_202DF98
+_0807E29C: .4byte gAvailablePokemonNames
_0807E2A0: .4byte gUnknown_80FCAC0
_0807E2A4:
ldrh r1, [r6, 0x6]
@@ -89171,7 +89171,7 @@ _0807E866:
_0807E874: .4byte gUnknown_203B418
_0807E878: .4byte 0x000181f8
_0807E87C: .4byte 0x0001356c
-_0807E880: .4byte gUnknown_202DF98
+_0807E880: .4byte gAvailablePokemonNames
_0807E884: .4byte gUnknown_80FC5E0
_0807E888: .4byte 0x000135cc
thumb_func_end sub_807E7FC
@@ -90666,7 +90666,7 @@ sub_807F43C:
ldr r0, _0807F46C
b _0807F694
.align 2, 0
-_0807F468: .4byte gUnknown_202DF98
+_0807F468: .4byte gAvailablePokemonNames
_0807F46C: .4byte gUnknown_80FCB40
_0807F470:
ldr r0, [sp, 0xEC]
@@ -90681,7 +90681,7 @@ _0807F470:
mov r0, r8
b _0807F698
.align 2, 0
-_0807F488: .4byte gUnknown_202DF98
+_0807F488: .4byte gAvailablePokemonNames
_0807F48C: .4byte gUnknown_80FCB70
_0807F490:
mov r1, r8
@@ -91163,7 +91163,7 @@ _0807F7FC:
bl sub_807F9BC
b _0807F99C
.align 2, 0
-_0807F860: .4byte gUnknown_202DF98
+_0807F860: .4byte gAvailablePokemonNames
_0807F864: .4byte gUnknown_80FE690
_0807F868: .4byte 0x000001a3
_0807F86C: .4byte gUnknown_80F4448
@@ -92072,7 +92072,7 @@ _0807FF50:
bge _0807FF70
b _0807FF6C
.align 2, 0
-_0807FF58: .4byte gUnknown_202DF98
+_0807FF58: .4byte gAvailablePokemonNames
_0807FF5C: .4byte gUnknown_80FDB5C
_0807FF60: .4byte gUnknown_203B418
_0807FF64: .4byte 0x0001820f
@@ -92897,7 +92897,7 @@ _080805C4:
bl sub_80522F4
b _080805F6
.align 2, 0
-_080805E4: .4byte gUnknown_202DF98
+_080805E4: .4byte gAvailablePokemonNames
_080805E8: .4byte gUnknown_80F970C
_080805EC:
ldr r0, _08080618
@@ -99478,7 +99478,7 @@ _08083AE4:
bl sub_80709C8
adds r0, r4, 0
mov r1, sp
- bl sub_80922F4
+ bl CopyStringtoBuffer
b _08083B0E
.align 2, 0
_08083AFC: .4byte gUnknown_203B418
@@ -99487,7 +99487,7 @@ _08083B04:
ldr r0, _08083C04
ldr r1, [r0]
adds r0, r4, 0
- bl sub_80922F4
+ bl CopyStringtoBuffer
_08083B0E:
mov r0, sp
adds r1, r5, 0
@@ -99495,7 +99495,7 @@ _08083B0E:
adds r0, r4, 0
adds r0, 0xA
mov r1, sp
- bl sub_80922F4
+ bl CopyStringtoBuffer
movs r2, 0
mov r3, r8
strh r3, [r4, 0x14]
@@ -100776,7 +100776,7 @@ sub_8084448:
ldr r0, _08084480
b _080844F0
.align 2, 0
-_0808447C: .4byte gUnknown_202DF98
+_0808447C: .4byte gAvailablePokemonNames
_08084480: .4byte gUnknown_80FA464
_08084484:
ldr r4, _080844FC
@@ -100970,7 +100970,7 @@ sub_80845E0:
ldr r0, _08084624
b _080846B4
.align 2, 0
-_08084620: .4byte gUnknown_202DF98
+_08084620: .4byte gAvailablePokemonNames
_08084624: .4byte gUnknown_80FA530
_08084628:
adds r7, r4, 0
@@ -105524,11 +105524,11 @@ sub_8086B14:
ldr r4, _08086B90
adds r0, r4, 0
movs r1, 0x32
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
adds r4, 0x50
adds r0, r4, 0
movs r1, 0xFC
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r3}
mov r8, r3
pop {r4-r6}
@@ -105889,15 +105889,15 @@ sub_8086E9C:
ldr r4, _08086EFC
adds r0, r4, 0
movs r1, 0xB
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
adds r0, r4, 0
adds r0, 0x50
movs r1, 0x5E
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
adds r4, 0xA0
adds r0, r4, 0
movs r1, 0xA
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -105925,15 +105925,15 @@ sub_8086F00:
ldr r4, _08086F50
adds r0, r4, 0
movs r1, 0xB
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
adds r0, r4, 0
adds r0, 0x50
movs r1, 0x5E
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
adds r4, 0xA0
adds r0, r4, 0
movs r1, 0xA
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4}
pop {r0}
bx r0
@@ -106287,11 +106287,11 @@ sub_8087230:
movs r1, 0x96
lsls r1, 1
adds r0, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
adds r4, 0x50
adds r0, r4, 0
movs r1, 0x91
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4-r6}
pop {r0}
bx r0
@@ -106354,11 +106354,11 @@ _08087300:
movs r1, 0x96
lsls r1, 1
adds r0, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
adds r4, 0x50
adds r0, r4, 0
movs r1, 0x91
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
add sp, 0x4
pop {r4-r6}
pop {r0}
@@ -106915,7 +106915,7 @@ sub_80877E8:
bl sub_8085860
ldr r0, _08087844
movs r1, 0x92
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4-r6}
pop {r0}
bx r0
@@ -106986,7 +106986,7 @@ _080878B4:
bl sub_803F878
ldr r0, _080878F0
movs r1, 0x92
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
add sp, 0x4
pop {r4-r6}
pop {r0}
@@ -107716,7 +107716,7 @@ sub_8087F54:
bl sub_8085860
ldr r0, _08087FB0
movs r1, 0x90
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4-r6}
pop {r0}
bx r0
@@ -107746,7 +107746,7 @@ sub_8087FB4:
bl sub_806CDD4
ldr r0, _08087FF4
movs r1, 0x90
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4}
pop {r0}
bx r0
@@ -107807,7 +107807,7 @@ _08088060:
bl sub_8085860
ldr r0, _08088084
movs r1, 0x90
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
add sp, 0x4
pop {r4-r6}
pop {r0}
@@ -108467,11 +108467,11 @@ sub_808862C:
ldr r4, _080886BC
ldr r1, _080886C0
adds r0, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
adds r4, 0x50
adds r0, r4, 0
movs r1, 0x41
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r3}
mov r8, r3
pop {r4-r6}
@@ -108527,11 +108527,11 @@ sub_80886C4:
ldr r4, _08088754
ldr r1, _08088758
adds r0, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
adds r4, 0x50
adds r0, r4, 0
movs r1, 0x41
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4-r6}
pop {r0}
bx r0
@@ -108606,11 +108606,11 @@ _080887E0:
ldr r4, _08088810
ldr r1, _08088814
adds r0, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
adds r4, 0x50
adds r0, r4, 0
movs r1, 0x41
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
add sp, 0x4
pop {r4-r7}
pop {r0}
@@ -109257,11 +109257,11 @@ sub_8088DC0:
ldr r4, _08088E54
ldr r1, _08088E58
adds r0, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
adds r4, 0x50
adds r0, r4, 0
movs r1, 0x41
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r3}
mov r8, r3
pop {r4-r6}
@@ -109316,11 +109316,11 @@ sub_8088E5C:
ldr r4, _08088EE0
ldr r1, _08088EE4
adds r0, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
adds r4, 0x50
adds r0, r4, 0
movs r1, 0x41
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r3}
mov r8, r3
pop {r4-r6}
@@ -109789,7 +109789,7 @@ sub_80892C8:
ldr r0, _08089324
movs r1, 0xCE
lsls r1, 1
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4-r6}
pop {r0}
bx r0
@@ -109851,7 +109851,7 @@ _0808938C:
ldr r0, _080893B0
movs r1, 0xCE
lsls r1, 1
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
add sp, 0x4
pop {r4-r6}
pop {r0}
@@ -110484,7 +110484,7 @@ sub_8089914:
bl sub_8085860
ldr r0, _08089974
movs r1, 0x96
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4-r6}
pop {r0}
bx r0
@@ -110543,7 +110543,7 @@ _080899DA:
bl sub_8085860
ldr r0, _080899FC
movs r1, 0x96
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4-r6}
pop {r0}
bx r0
@@ -110832,7 +110832,7 @@ sub_8089C44:
bl sub_8085860
ldr r0, _08089C88
ldr r1, _08089C8C
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -110879,7 +110879,7 @@ _08089CD8:
bl sub_8085860
ldr r0, _08089CF4
ldr r1, _08089CF8
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -111136,7 +111136,7 @@ sub_8089EFC:
ldr r0, _08089F40
movs r1, 0x86
lsls r1, 1
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -111168,7 +111168,7 @@ sub_8089F44:
ldr r0, _08089F88
movs r1, 0x86
lsls r1, 1
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -111214,7 +111214,7 @@ _08089FD0:
ldr r0, _08089FEC
movs r1, 0x86
lsls r1, 1
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -111516,7 +111516,7 @@ sub_808A264:
ldr r0, _0808A2BC
movs r1, 0x87
lsls r1, 1
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4-r6}
pop {r0}
bx r0
@@ -111549,7 +111549,7 @@ sub_808A2C0:
ldr r0, _0808A304
movs r1, 0x87
lsls r1, 1
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -111595,7 +111595,7 @@ _0808A34C:
ldr r0, _0808A368
movs r1, 0x87
lsls r1, 1
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -111926,7 +111926,7 @@ sub_808A608:
bl sub_8085860
ldr r0, _0808A660
ldr r1, _0808A664
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -111981,7 +111981,7 @@ _0808A6C2:
bl sub_8085860
ldr r0, _0808A6E0
ldr r1, _0808A6E4
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -112342,7 +112342,7 @@ sub_808A9E4:
bl sub_8085860
ldr r0, _0808AA34
ldr r1, _0808AA38
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -112378,7 +112378,7 @@ sub_808AA3C:
bl sub_8085860
ldr r0, _0808AA8C
ldr r1, _0808AA90
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -112416,7 +112416,7 @@ sub_808AA94:
bl sub_8085860
ldr r0, _0808AAE8
ldr r1, _0808AAEC
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -112680,7 +112680,7 @@ _0808AD1E:
bl sub_80855E4
ldr r0, _0808AD44
adds r1, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
_0808AD38:
pop {r4}
pop {r0}
@@ -112739,7 +112739,7 @@ _0808ADA4:
bl sub_80855E4
ldr r0, _0808ADC8
adds r1, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
_0808ADBE:
pop {r4}
pop {r0}
@@ -112799,7 +112799,7 @@ _0808AE2A:
bl sub_80855E4
ldr r0, _0808AE50
adds r1, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
_0808AE44:
pop {r4}
pop {r0}
@@ -113016,7 +113016,7 @@ _0808B01E:
pop {r0}
bx r0
.align 2, 0
-_0808B028: .4byte gUnknown_202DF98
+_0808B028: .4byte gAvailablePokemonNames
_0808B02C: .4byte gUnknown_81050B4
thumb_func_end sub_808AFB0
@@ -113071,7 +113071,7 @@ _0808B09E:
pop {r0}
bx r0
.align 2, 0
-_0808B0A8: .4byte gUnknown_202DF98
+_0808B0A8: .4byte gAvailablePokemonNames
_0808B0AC: .4byte gUnknown_810517C
thumb_func_end sub_808B030
@@ -113126,7 +113126,7 @@ _0808B11E:
pop {r0}
bx r0
.align 2, 0
-_0808B128: .4byte gUnknown_202DF98
+_0808B128: .4byte gAvailablePokemonNames
_0808B12C: .4byte gUnknown_8105244
thumb_func_end sub_808B0B0
@@ -113391,7 +113391,7 @@ sub_808B2F4:
bl sub_8085860
ldr r0, _0808B354
ldr r1, _0808B358
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4-r6}
pop {r0}
bx r0
@@ -113448,7 +113448,7 @@ _0808B3BE:
bl sub_8085860
ldr r0, _0808B3DC
ldr r1, _0808B3E0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4-r6}
pop {r0}
bx r0
@@ -113594,7 +113594,7 @@ sub_808B50C:
adds r5, r0, 0
ldr r0, _0808B59C
ldr r1, _0808B5A0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
ldr r4, _0808B5A4
adds r0, r4, 0
bl sub_80855E4
@@ -113668,7 +113668,7 @@ JirachiWish:
adds r6, r0, 0
ldr r0, _0808B82C
ldr r1, _0808B830
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
ldr r4, _0808B834
adds r0, r4, 0
bl sub_80855E4
@@ -114140,7 +114140,7 @@ _0808B9F8:
_0808BA30: .4byte gUnknown_8105AD4
_0808BA34: .4byte 0x0000015d
_0808BA38: .4byte gUnknown_8105B20
-_0808BA3C: .4byte gUnknown_202DF98
+_0808BA3C: .4byte gAvailablePokemonNames
_0808BA40: .4byte gUnknown_202DE58
_0808BA44: .4byte gUnknown_8105B68
_0808BA48: .4byte gUnknown_8105BA8
@@ -114631,7 +114631,7 @@ _0808BE48:
ldr r0, _0808BE6C
movs r1, 0x89
lsls r1, 1
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -114985,11 +114985,11 @@ _0808C156:
movs r1, 0xCD
lsls r1, 1
adds r0, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
adds r4, 0x50
ldr r1, _0808C1A0
adds r0, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
@@ -115263,7 +115263,7 @@ _0808C3EA:
ldr r0, _0808C410
movs r1, 0xCF
lsls r1, 1
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4}
pop {r0}
bx r0
@@ -115510,7 +115510,7 @@ sub_808C5C0:
ldr r0, _0808C620
movs r1, 0x8A
lsls r1, 1
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
pop {r4,r5}
pop {r0}
bx r0
diff --git a/asm/code_808EAB0.s b/asm/code_808EAB0.s
index 2223eea..8838f83 100644
--- a/asm/code_808EAB0.s
+++ b/asm/code_808EAB0.s
@@ -1518,11 +1518,11 @@ sub_808F734:
add r4, sp, 0x4C
ldr r5, _0808F794
adds r0, r5, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0xA
- bl sub_8092310
+ bl BoundedCopyStringtoBuffer
mov r0, sp
adds r1, r5, 0
bl sub_808F798
@@ -1586,10 +1586,10 @@ _0808F7DA:
_0808F7EA:
add r4, sp, 0x64
adds r0, r6, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
adds r0, r4, 0
- bl sub_80922F4
+ bl CopyStringtoBuffer
movs r2, 0
b _0808F800
_0808F7FE:
@@ -1612,11 +1612,11 @@ _0808F816:
beq _0808F82E
add r4, sp, 0x4C
adds r0, r5, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
adds r0, r4, 0
movs r2, 0xA
- bl sub_8092310
+ bl BoundedCopyStringtoBuffer
_0808F82E:
mov r0, sp
bl sub_808D1DC
@@ -1664,7 +1664,7 @@ _0808F874:
ldr r0, [r0]
mov pc, r0
.align 2, 0
-_0808F880: .4byte gUnknown_202DF98
+_0808F880: .4byte gAvailablePokemonNames
_0808F884: .4byte _0808F888
.align 2, 0
_0808F888:
@@ -1976,7 +1976,7 @@ _0808FB28: .4byte gUnknown_810DE58
_0808FB2C: .4byte gUnknown_810DE6C
_0808FB30: .4byte gUnknown_202DE30
_0808FB34: .4byte gUnknown_8115718
-_0808FB38: .4byte gUnknown_202DF98
+_0808FB38: .4byte gAvailablePokemonNames
_0808FB3C: .4byte gUnknown_810DE80
_0808FB40: .4byte gUnknown_810DE98
_0808FB44:
@@ -2289,7 +2289,7 @@ _0808FDB0:
movs r3, 0
ldrsh r1, [r2, r3]
adds r0, r6, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
ldr r1, _0808FEF4
mov r2, r10
movs r3, 0
@@ -2419,7 +2419,7 @@ _0808FED6:
bx r0
.align 2, 0
_0808FEEC: .4byte gUnknown_8107798
-_0808FEF0: .4byte gUnknown_202DF98
+_0808FEF0: .4byte gAvailablePokemonNames
_0808FEF4: .4byte gUnknown_202DE30
_0808FEF8: .4byte gUnknown_810DEB4
_0808FEFC: .4byte gUnknown_202DE58
diff --git a/asm/code_809017C.s b/asm/code_809017C.s
index f155cb0..7a79b2c 100644
--- a/asm/code_809017C.s
+++ b/asm/code_809017C.s
@@ -442,7 +442,7 @@ _0809048E:
b _080904BA
.align 2, 0
_080904AC: .4byte gUnknown_8115ADC
-_080904B0: .4byte gUnknown_202DF98
+_080904B0: .4byte gAvailablePokemonNames
_080904B4: .4byte gUnknown_8115B3C
_080904B8:
ldr r0, _08090528
@@ -4302,7 +4302,7 @@ sub_8092094:
ldr r0, [r4]
ldr r1, _080920B4
movs r2, 0xA
- bl sub_8092310
+ bl BoundedCopyStringtoBuffer
ldr r1, [r4]
movs r0, 0
str r0, [r1, 0xC]
@@ -4467,8 +4467,8 @@ _080921A2:
bx r1
thumb_func_end sub_8092178
- thumb_func_start sub_80921A8
-sub_80921A8:
+ thumb_func_start GetTeamRankString
+GetTeamRankString:
lsls r0, 24
ldr r1, _080921B4
lsrs r0, 22
@@ -4477,7 +4477,7 @@ sub_80921A8:
bx lr
.align 2, 0
_080921B4: .4byte gRescueTeamRanks
- thumb_func_end sub_80921A8
+ thumb_func_end GetTeamRankString
thumb_func_start sub_80921B8
sub_80921B8:
@@ -4580,19 +4580,19 @@ sub_809222C:
_0809227C: .4byte gUnknown_203B464
thumb_func_end sub_809222C
- thumb_func_start sub_8092280
-sub_8092280:
+ thumb_func_start ReturnIntFromChar
+ReturnIntFromChar:
lsls r0, 24
lsrs r0, 24
bx lr
- thumb_func_end sub_8092280
+ thumb_func_end ReturnIntFromChar
- thumb_func_start sub_8092288
-sub_8092288:
+ thumb_func_start ReturnIntFromChar2
+ReturnIntFromChar2:
lsls r0, 24
lsrs r0, 24
bx lr
- thumb_func_end sub_8092288
+ thumb_func_end ReturnIntFromChar2
thumb_func_start sub_8092290
sub_8092290:
@@ -4603,7 +4603,7 @@ sub_8092290:
_08092298:
ldrb r0, [r4]
adds r4, 0x1
- bl sub_8092288
+ bl ReturnIntFromChar2
strb r0, [r5]
adds r5, 0x1
_080922A4:
@@ -4627,7 +4627,7 @@ sub_80922B4:
_080922BE:
ldrb r0, [r4]
adds r4, 0x1
- bl sub_8092288
+ bl ReturnIntFromChar2
strb r0, [r6]
adds r6, 0x1
_080922CA:
@@ -4657,8 +4657,8 @@ sub_80922E4:
_080922F0: .4byte gUnknown_810983C
thumb_func_end sub_80922E4
- thumb_func_start sub_80922F4
-sub_80922F4:
+ thumb_func_start CopyStringtoBuffer
+CopyStringtoBuffer:
push {lr}
adds r2, r0, 0
b _08092300
@@ -4674,10 +4674,10 @@ _08092300:
strb r0, [r2]
pop {r0}
bx r0
- thumb_func_end sub_80922F4
+ thumb_func_end CopyStringtoBuffer
- thumb_func_start sub_8092310
-sub_8092310:
+ thumb_func_start BoundedCopyStringtoBuffer
+BoundedCopyStringtoBuffer:
push {r4,lr}
adds r4, r0, 0
b _0809231C
@@ -4699,6 +4699,6 @@ _0809232E:
pop {r4}
pop {r0}
bx r0
- thumb_func_end sub_8092310
+ thumb_func_end BoundedCopyStringtoBuffer
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/code_8092334.s b/asm/code_8092334.s
index bb28f8b..6e8718e 100644
--- a/asm/code_8092334.s
+++ b/asm/code_8092334.s
@@ -3215,7 +3215,7 @@ _08093E3A:
bx r1
.align 2, 0
_08093E80: .4byte 0xfffffcdc
-_08093E84: .4byte gUnknown_202DF98
+_08093E84: .4byte gAvailablePokemonNames
_08093E88: .4byte gUnknown_8109930
_08093E8C: .4byte gMovesData
thumb_func_end sub_8093DE8
@@ -3271,7 +3271,7 @@ sub_8093E90:
pop {r0}
bx r0
.align 2, 0
-_08093F00: .4byte gUnknown_202DF98
+_08093F00: .4byte gAvailablePokemonNames
_08093F04: .4byte gUnknown_810CF00
_08093F08: .4byte gUnknown_810CF0C
_08093F0C: .4byte gUnknown_202DE30
@@ -4227,7 +4227,7 @@ sub_8094558:
bl xxx_format_string
b _080945EA
.align 2, 0
-_080945D0: .4byte gUnknown_202DF98
+_080945D0: .4byte gAvailablePokemonNames
_080945D4: .4byte gUnknown_8113850
_080945D8: .4byte gUnknown_8113868
_080945DC:
diff --git a/asm/code_8095014.s b/asm/code_8095014.s
index e7081c3..28e652f 100644
--- a/asm/code_8095014.s
+++ b/asm/code_8095014.s
@@ -512,7 +512,7 @@ sub_809542C:
ldr r0, [r4]
adds r0, 0x14
mov r1, sp
- bl sub_80922F4
+ bl CopyStringtoBuffer
bl sub_8011C34
ldr r1, [r4]
str r0, [r1, 0x24]
diff --git a/asm/code_8098BDC.s b/asm/code_8098BDC.s
index 6008fe1..283c8ec 100644
--- a/asm/code_8098BDC.s
+++ b/asm/code_8098BDC.s
@@ -190,7 +190,7 @@ _0809913E:
adds r0, r4, 0
mov r1, sp
movs r2, 0xA
- bl sub_8092310
+ bl BoundedCopyStringtoBuffer
add r5, sp, 0x30
str r4, [sp, 0x58]
add r1, sp, 0x5C
@@ -3246,7 +3246,7 @@ _0809A89A:
_0809A8A0: .4byte gUnknown_3001B64
_0809A8A4: .4byte 0x0000043c
_0809A8A8: .4byte 0x0000ffff
-_0809A8AC: .4byte gUnknown_202DF98
+_0809A8AC: .4byte gAvailablePokemonNames
_0809A8B0: .4byte gUnknown_811615C
_0809A8B4: .4byte gPlayerName
thumb_func_end sub_809A83C
@@ -3535,7 +3535,7 @@ _0809AAE6:
movs r0, 0x1
b _0809AB3C
.align 2, 0
-_0809AB28: .4byte gUnknown_202DF98
+_0809AB28: .4byte gAvailablePokemonNames
_0809AB2C: .4byte gUnknown_811616C
_0809AB30: .4byte gPlayerName
_0809AB34:
@@ -3598,7 +3598,7 @@ _0809ABA0:
pop {r1}
bx r1
.align 2, 0
-_0809ABA8: .4byte gUnknown_202DF98
+_0809ABA8: .4byte gAvailablePokemonNames
_0809ABAC: .4byte gPlayerName
_0809ABB0: .4byte gUnknown_811617C
thumb_func_end sub_809AB4C
@@ -3649,7 +3649,7 @@ _0809AC0A:
pop {r1}
bx r1
.align 2, 0
-_0809AC10: .4byte gUnknown_202DF98
+_0809AC10: .4byte gAvailablePokemonNames
_0809AC14: .4byte gPlayerName
thumb_func_end sub_809ABB4
@@ -3699,7 +3699,7 @@ _0809AC6E:
pop {r1}
bx r1
.align 2, 0
-_0809AC74: .4byte gUnknown_202DF98
+_0809AC74: .4byte gAvailablePokemonNames
_0809AC78: .4byte gPlayerName
thumb_func_end sub_809AC18
@@ -6555,7 +6555,7 @@ _0809C32A:
lsls r2, 3
adds r1, r2
ldr r1, [r1]
- bl sub_8035444
+ bl DrawCredits
lsls r0, 24
cmp r0, 0
beq _0809C35C
diff --git a/asm/code_809D148.s b/asm/code_809D148.s
index 8af7edf..c56442e 100644
--- a/asm/code_809D148.s
+++ b/asm/code_809D148.s
@@ -2505,7 +2505,7 @@ _0809E718:
cmp r1, r3
bge _0809E718
adds r1, r4, 0
- bl sub_80922F4
+ bl CopyStringtoBuffer
movs r2, 0
ldrb r0, [r4]
ldrb r3, [r5]
@@ -9018,13 +9018,13 @@ _080A1EE8:
lsls r5, 24
lsrs r5, 24
adds r0, r4, 0
- bl sub_80921A8
+ bl GetTeamRankString
adds r1, r0, 0
ldr r4, _080A1F30
adds r0, r4, 0
bl strcpy
adds r0, r5, 0
- bl sub_80921A8
+ bl GetTeamRankString
adds r1, r0, 0
adds r4, 0x50
adds r0, r4, 0
diff --git a/asm/code_80A7714.s b/asm/code_80A7714.s
index 6717a3c..31e753d 100644
--- a/asm/code_80A7714.s
+++ b/asm/code_80A7714.s
@@ -3103,7 +3103,7 @@ _080A8F30:
ldrsh r1, [r0, r2]
_080A8F34:
adds r0, r4, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
b _080A8F44
_080A8F3C:
ldr r1, _080A8F4C
@@ -3131,7 +3131,7 @@ sub_80A8F50:
adds r0, r4, 0
mov r1, sp
adds r2, r5, 0
- bl sub_8092310
+ bl BoundedCopyStringtoBuffer
add sp, 0x80
pop {r4,r5}
pop {r0}
diff --git a/asm/credits.s b/asm/credits.s
index b0c4564..e4ae06b 100644
--- a/asm/credits.s
+++ b/asm/credits.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start sub_8035444
-sub_8035444:
+ thumb_func_start DrawCredits
+DrawCredits:
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@@ -157,8 +157,8 @@ _08035542:
pop {r1}
bx r1
.align 2, 0
-_08035570: .4byte gCreditsText
- thumb_func_end sub_8035444
+_08035570: .4byte gUnknown_80E4A40
+ thumb_func_end DrawCredits
thumb_func_start sub_8035574
sub_8035574:
@@ -201,7 +201,7 @@ _080355A8:
b _08035654
.align 2, 0
_080355C8: .4byte gUnknown_203B340
-_080355CC: .4byte gCreditsText
+_080355CC: .4byte gUnknown_80E4A40
_080355D0:
bl sub_8099B94
lsls r0, 24
@@ -233,7 +233,7 @@ _08035600:
str r0, [r1, 0x64]
b _08035654
.align 2, 0
-_0803560C: .4byte gCreditsText
+_0803560C: .4byte gUnknown_80E4A40
_08035610:
bl sub_8099B94
lsls r0, 24
@@ -262,7 +262,7 @@ _08035638:
movs r0, 0x3
b _08035656
.align 2, 0
-_08035650: .4byte gCreditsText
+_08035650: .4byte gUnknown_80E4A40
_08035654:
movs r0, 0
_08035656:
@@ -271,163 +271,4 @@ _08035656:
bx r1
thumb_func_end sub_8035574
- thumb_func_start sub_803565C
-sub_803565C:
- push {r4,lr}
- ldr r4, _08035674
- ldr r0, [r4]
- cmp r0, 0
- beq _0803566E
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803566E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035674: .4byte gUnknown_203B340
- thumb_func_end sub_803565C
-
- thumb_func_start sub_8035678
-sub_8035678:
- push {r4,lr}
- ldr r4, _0803569C
- movs r0, 0x8
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0]
- str r1, [r0, 0x4]
- movs r0, 0
- movs r1, 0x39
- bl sub_80015C0
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0803569C: .4byte gUnknown_203B344
- thumb_func_end sub_8035678
-
- thumb_func_start sub_80356A0
-sub_80356A0:
- push {r4,lr}
- ldr r0, _080356C4
- ldrh r4, [r0]
- ldr r3, _080356C8
- ldr r2, _080356CC
- ldr r1, [r2]
- ldr r0, [r1, 0x4]
- lsls r0, 1
- adds r0, r3
- ldrh r3, [r0]
- ldr r0, [r1]
- cmp r0, 0x4
- bhi _08035734
- lsls r0, 2
- ldr r1, _080356D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080356C4: .4byte gRealInputs
-_080356C8: .4byte gUnknown_80E5990
-_080356CC: .4byte gUnknown_203B344
-_080356D0: .4byte _080356D4
- .align 2, 0
-_080356D4:
- .4byte _08035728
- .4byte _080356E8
- .4byte _08035710
- .4byte _0803574C
- .4byte _08035730
-_080356E8:
- cmp r3, 0
- bne _080356F4
- ldr r1, [r2]
- movs r0, 0x4
- str r0, [r1]
- b _08035734
-_080356F4:
- cmp r4, r3
- bne _08035700
- ldr r1, [r2]
- movs r0, 0x2
- str r0, [r1]
- b _08035734
-_08035700:
- ands r3, r4
- cmp r3, r4
- bne _08035728
- ldr r1, [r2]
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bne _08035734
- b _0803572A
-_08035710:
- cmp r4, 0
- bne _08035722
- ldr r1, [r2]
- movs r0, 0x1
- str r0, [r1]
- ldr r0, [r1, 0x4]
- adds r0, 0x1
- str r0, [r1, 0x4]
- b _08035734
-_08035722:
- ands r3, r4
- cmp r3, r4
- beq _08035734
-_08035728:
- ldr r1, [r2]
-_0803572A:
- movs r0, 0x3
- str r0, [r1]
- b _08035734
-_08035730:
- movs r0, 0x3
- b _0803574E
-_08035734:
- movs r0, 0
- movs r1, 0x39
- bl sub_8001658
- cmp r0, 0
- bne _08035744
- movs r0, 0
- b _0803574E
-_08035744:
- ldr r0, _08035754
- ldr r1, [r0]
- movs r0, 0x3
- str r0, [r1]
-_0803574C:
- movs r0, 0x2
-_0803574E:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08035754: .4byte gUnknown_203B344
- thumb_func_end sub_80356A0
-
- thumb_func_start sub_8035758
-sub_8035758:
- push {r4,lr}
- ldr r4, _08035770
- ldr r0, [r4]
- cmp r0, 0
- beq _0803576A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803576A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035770: .4byte gUnknown_203B344
- thumb_func_end sub_8035758
-
.align 2,0
diff --git a/asm/debug_menu.s b/asm/debug_menu.s
new file mode 100644
index 0000000..2b25b3e
--- /dev/null
+++ b/asm/debug_menu.s
@@ -0,0 +1,1844 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .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}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x84
+ movs r5, 0x1
+ add r4, sp, 0x60
+ add r6, sp, 0x68
+ add r0, sp, 0x7C
+ mov r8, r0
+ add r0, sp, 0x80
+ mov r10, r0
+_0803A3D6:
+ lsls r0, r5, 24
+ lsrs r0, 24
+ bl UnlockFriendArea
+ adds r5, 0x1
+ cmp r5, 0x39
+ ble _0803A3D6
+ movs r5, 0
+ adds r7, r4, 0
+_0803A3E8:
+ movs r0, 0
+ mov r9, r0
+ ldr r0, _0803A454
+ str r0, [sp, 0x7C]
+ adds r5, 0x1
+ lsls r4, r5, 16
+ asrs r4, 16
+ adds r0, r7, 0
+ movs r1, 0
+ movs r2, 0x8
+ bl memset
+ movs r0, 0x27
+ strh r0, [r7]
+ adds r0, r6, 0
+ adds r1, r4, 0
+ bl CopySpeciesNametoBuffer
+ adds r0, r6, 0
+ adds r1, r6, 0
+ bl CopyStringtoBuffer
+ movs r0, 0x40
+ strb r0, [r6]
+ mov r0, r8
+ str r0, [sp]
+ str r7, [sp, 0x4]
+ add r0, sp, 0x8
+ adds r1, r4, 0
+ adds r2, r6, 0
+ movs r3, 0x43
+ bl sub_808CFD0
+ add r0, sp, 0x8
+ bl sub_808D1DC
+ ldr r0, _0803A458
+ cmp r5, r0
+ ble _0803A3E8
+ mov r0, r9
+ str r0, [sp, 0x80]
+ mov r0, r10
+ movs r1, 0x1
+ bl sub_801203C
+ add sp, 0x84
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803A454: .4byte 0x00001006
+_0803A458: .4byte 0x0000012b
+ thumb_func_end sub_803A3BC
+
+ thumb_func_start sub_803A45C
+sub_803A45C:
+ push {r4,lr}
+ bl ResetUnusedInputStruct
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, _0803A488
+ movs r0, 0x9C
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r0, 0
+ bl sub_803A504
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0803A488: .4byte gUnknown_203B3F0
+ thumb_func_end sub_803A45C
+
+ thumb_func_start sub_803A48C
+sub_803A48C:
+ push {lr}
+ ldr r0, _0803A4A4
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x5
+ bhi _0803A4E0
+ lsls r0, 2
+ ldr r1, _0803A4A8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803A4A4: .4byte gUnknown_203B3F0
+_0803A4A8: .4byte _0803A4AC
+ .align 2, 0
+_0803A4AC:
+ .4byte _0803A4C4
+ .4byte _0803A4C4
+ .4byte _0803A4CA
+ .4byte _0803A4D0
+ .4byte _0803A4D6
+ .4byte _0803A4DC
+_0803A4C4:
+ bl sub_803A740
+ b _0803A4E0
+_0803A4CA:
+ bl sub_803A7B0
+ b _0803A4E0
+_0803A4D0:
+ bl sub_803A810
+ b _0803A4E0
+_0803A4D6:
+ bl sub_803A86C
+ b _0803A4E0
+_0803A4DC:
+ movs r0, 0x3
+ b _0803A4E2
+_0803A4E0:
+ movs r0, 0
+_0803A4E2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803A48C
+
+ thumb_func_start sub_803A4E8
+sub_803A4E8:
+ push {r4,lr}
+ ldr r4, _0803A500
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0803A4FA
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0803A4FA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803A500: .4byte gUnknown_203B3F0
+ thumb_func_end sub_803A4E8
+
+ thumb_func_start sub_803A504
+sub_803A504:
+ push {lr}
+ ldr r1, _0803A518
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_803A51C
+ bl sub_803A5A0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803A518: .4byte gUnknown_203B3F0
+ thumb_func_end sub_803A504
+
+ thumb_func_start sub_803A51C
+sub_803A51C:
+ push {r4-r7,lr}
+ ldr r4, _0803A53C
+ ldr r0, [r4]
+ adds r0, 0xD8
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1]
+ cmp r0, 0x2
+ beq _0803A544
+ cmp r0, 0x3
+ bne _0803A55C
+ adds r1, 0xF0
+ ldr r0, _0803A540
+ b _0803A54C
+ .align 2, 0
+_0803A53C: .4byte gUnknown_203B3F0
+_0803A540: .4byte gUnknown_80E7E64
+_0803A544:
+ movs r0, 0x84
+ lsls r0, 1
+ adds r1, r0
+ ldr r0, _0803A558
+_0803A54C:
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ b _0803A57E
+ .align 2, 0
+_0803A558: .4byte gUnknown_80E7E4C
+_0803A55C:
+ mov r12, r4
+ ldr r4, _0803A598
+ movs r3, 0
+ movs r2, 0x3
+_0803A564:
+ mov r0, r12
+ ldr r1, [r0]
+ adds r1, r3
+ adds r1, 0xD8
+ 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 _0803A564
+_0803A57E:
+ bl ResetUnusedInputStruct
+ ldr r0, _0803A59C
+ ldr r0, [r0]
+ adds r0, 0xD8
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803A598: .4byte gUnknown_80E7E34
+_0803A59C: .4byte gUnknown_203B3F0
+ thumb_func_end sub_803A51C
+
+ thumb_func_start sub_803A5A0
+sub_803A5A0:
+ push {lr}
+ sub sp, 0xC
+ ldr r1, _0803A5BC
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r2, r1, 0
+ cmp r0, 0x5
+ bhi _0803A68A
+ lsls r0, 2
+ ldr r1, _0803A5C0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803A5BC: .4byte gUnknown_203B3F0
+_0803A5C0: .4byte _0803A5C4
+ .align 2, 0
+_0803A5C4:
+ .4byte _0803A5DC
+ .4byte _0803A5EA
+ .4byte _0803A5F2
+ .4byte _0803A61C
+ .4byte _0803A678
+ .4byte _0803A68A
+_0803A5DC:
+ movs r0, 0x2
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801C8C4
+ b _0803A68A
+_0803A5EA:
+ movs r0, 0x1
+ bl sub_801CB5C
+ b _0803A68A
+_0803A5F2:
+ bl sub_801CCD8
+ bl sub_803A6F0
+ ldr r0, _0803A618
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x4C
+ adds r1, r2, 0
+ adds r1, 0xC
+ ldr r2, [r2, 0x8]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ movs r3, 0
+ bl sub_8012D60
+ b _0803A68A
+ .align 2, 0
+_0803A618: .4byte gUnknown_203B3F0
+_0803A61C:
+ ldr r3, [r2]
+ adds r1, r3, 0
+ adds r1, 0xAC
+ movs r0, 0x3
+ str r0, [r1]
+ subs r1, 0x8
+ movs r0, 0
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, _0803A670
+ str r0, [r1]
+ adds r2, r3, 0
+ adds r2, 0xA0
+ ldr r0, _0803A674
+ ldr r1, [r0]
+ ldrb r0, [r3, 0x4]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r0, [r1]
+ str r0, [r2]
+ adds r1, r3, 0
+ adds r1, 0xB0
+ movs r0, 0x1
+ str r0, [r1]
+ adds r1, 0x4
+ adds r0, r3, 0
+ adds r0, 0xF0
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x2C
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x12
+ str r0, [r1]
+ adds r0, r3, 0
+ adds r0, 0x9C
+ bl sub_8013AA0
+ bl sub_803A690
+ b _0803A68A
+ .align 2, 0
+_0803A670: .4byte 0x000003e7
+_0803A674: .4byte gUnknown_203B460
+_0803A678:
+ ldr r0, [r2]
+ ldrb r1, [r0, 0x4]
+ add r0, sp, 0x8
+ movs r2, 0
+ bl sub_8090A8C
+ add r0, sp, 0x8
+ bl sub_801B3C0
+_0803A68A:
+ add sp, 0xC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803A5A0
+
+ thumb_func_start sub_803A690
+sub_803A690:
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r4, _0803A6E8
+ ldr r0, [r4]
+ adds r0, 0xB0
+ ldr r0, [r0]
+ bl sub_8008C54
+ ldr r0, [r4]
+ adds r0, 0xB0
+ ldr r0, [r0]
+ bl sub_80073B8
+ ldr r2, _0803A6EC
+ ldr r0, [r4]
+ adds r0, 0xB0
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r0, [r4]
+ adds r0, 0x9C
+ bl sub_8013C68
+ ldr r0, [r4]
+ adds r0, 0xB0
+ ldr r0, [r0]
+ bl sub_80073E0
+ bl sub_801CCD8
+ ldr r0, [r4]
+ adds r0, 0x4C
+ movs r1, 0
+ bl sub_8012EA4
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803A6E8: .4byte gUnknown_203B3F0
+_0803A6EC: .4byte gUnknown_80E7E7C
+ thumb_func_end sub_803A690
+
+ thumb_func_start sub_803A6F0
+sub_803A6F0:
+ push {r4,lr}
+ ldr r4, _0803A734
+ ldr r1, [r4]
+ ldr r0, _0803A738
+ str r0, [r1, 0xC]
+ movs r0, 0x2
+ str r0, [r1, 0x10]
+ str r0, [r1, 0x8]
+ ldrb r0, [r1, 0x4]
+ bl sub_8091524
+ lsls r0, 24
+ cmp r0, 0
+ bne _0803A718
+ ldr r0, [r4]
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0, 0x10]
+ movs r1, 0x3
+ str r1, [r0, 0x8]
+_0803A718:
+ ldr r1, [r4]
+ movs r2, 0x1
+ ldr r0, _0803A73C
+ ldr r0, [r0]
+ str r0, [r1, 0x14]
+ movs r0, 0x3
+ str r0, [r1, 0x18]
+ movs r0, 0
+ str r0, [r1, 0x1C]
+ str r2, [r1, 0x20]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803A734: .4byte gUnknown_203B3F0
+_0803A738: .4byte gUnknown_80E7E7C
+_0803A73C: .4byte gUnknown_80D4970
+ thumb_func_end sub_803A6F0
+
+ thumb_func_start sub_803A740
+sub_803A740:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801CA08
+ cmp r0, 0x4
+ bhi _0803A7AA
+ lsls r0, 2
+ ldr r1, _0803A758
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803A758: .4byte _0803A75C
+ .align 2, 0
+_0803A75C:
+ .4byte _0803A7AA
+ .4byte _0803A7AA
+ .4byte _0803A7A0
+ .4byte _0803A770
+ .4byte _0803A788
+_0803A770:
+ bl sub_801CB24
+ ldr r1, _0803A784
+ ldr r1, [r1]
+ strb r0, [r1, 0x4]
+ movs r0, 0x2
+ bl sub_803A504
+ b _0803A7AA
+ .align 2, 0
+_0803A784: .4byte gUnknown_203B3F0
+_0803A788:
+ bl sub_801CB24
+ ldr r1, _0803A79C
+ ldr r1, [r1]
+ strb r0, [r1, 0x4]
+ movs r0, 0x4
+ bl sub_803A504
+ b _0803A7AA
+ .align 2, 0
+_0803A79C: .4byte gUnknown_203B3F0
+_0803A7A0:
+ bl sub_801CBB8
+ movs r0, 0x5
+ bl sub_803A504
+_0803A7AA:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803A740
+
+ thumb_func_start sub_803A7B0
+sub_803A7B0:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801CA08
+ ldr r4, _0803A7E8
+ ldr r0, [r4]
+ adds r0, 0x4C
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0803A7D6
+ ldr r0, [r4]
+ adds r0, 0x4C
+ mov r1, sp
+ bl sub_8013114
+_0803A7D6:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0803A7F2
+ cmp r0, 0x2
+ bgt _0803A7EC
+ cmp r0, 0x1
+ beq _0803A802
+ b _0803A808
+ .align 2, 0
+_0803A7E8: .4byte gUnknown_203B3F0
+_0803A7EC:
+ cmp r0, 0x3
+ beq _0803A7FA
+ b _0803A808
+_0803A7F2:
+ movs r0, 0x3
+ bl sub_803A504
+ b _0803A808
+_0803A7FA:
+ movs r0, 0x4
+ bl sub_803A504
+ b _0803A808
+_0803A802:
+ movs r0, 0x1
+ bl sub_803A504
+_0803A808:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803A7B0
+
+ thumb_func_start sub_803A810
+sub_803A810:
+ push {r4,lr}
+ movs r0, 0
+ bl sub_801CA08
+ ldr r4, _0803A838
+ ldr r0, [r4]
+ adds r0, 0x4C
+ bl sub_8012FD8
+ ldr r0, [r4]
+ adds r0, 0x9C
+ bl sub_8013BBC
+ cmp r0, 0x2
+ beq _0803A854
+ cmp r0, 0x2
+ bhi _0803A83C
+ cmp r0, 0x1
+ beq _0803A860
+ b _0803A864
+ .align 2, 0
+_0803A838: .4byte gUnknown_203B3F0
+_0803A83C:
+ cmp r0, 0x3
+ bne _0803A864
+ ldr r0, _0803A85C
+ ldr r2, [r0]
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x4]
+ lsls r0, 1
+ adds r2, 0x50
+ adds r2, r0
+ adds r1, 0x9C
+ ldr r0, [r1]
+ strh r0, [r2]
+_0803A854:
+ movs r0, 0x1
+ bl sub_803A504
+ b _0803A864
+ .align 2, 0
+_0803A85C: .4byte gUnknown_203B460
+_0803A860:
+ bl sub_803A690
+_0803A864:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803A810
+
+ thumb_func_start sub_803A86C
+sub_803A86C:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _0803A884
+ cmp r0, 0x3
+ bhi _0803A884
+ bl sub_801B450
+ movs r0, 0x1
+ bl sub_803A504
+_0803A884:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803A86C
+
+ thumb_func_start sub_803A888
+sub_803A888:
+ push {r4,lr}
+ bl ResetUnusedInputStruct
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, _0803A8B4
+ movs r0, 0xFC
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r0, 0
+ bl sub_803A924
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0803A8B4: .4byte gUnknown_203B3F4
+ thumb_func_end sub_803A888
+
+ thumb_func_start sub_803A8B8
+sub_803A8B8:
+ push {lr}
+ ldr r0, _0803A8D0
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x4
+ bhi _0803A902
+ lsls r0, 2
+ ldr r1, _0803A8D4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803A8D0: .4byte gUnknown_203B3F4
+_0803A8D4: .4byte _0803A8D8
+ .align 2, 0
+_0803A8D8:
+ .4byte _0803A8EC
+ .4byte _0803A8EC
+ .4byte _0803A8F2
+ .4byte _0803A8F8
+ .4byte _0803A8FE
+_0803A8EC:
+ bl sub_803AAC4
+ b _0803A902
+_0803A8F2:
+ bl sub_803AB34
+ b _0803A902
+_0803A8F8:
+ bl sub_803ABAC
+ b _0803A902
+_0803A8FE:
+ movs r0, 0x3
+ b _0803A904
+_0803A902:
+ movs r0, 0
+_0803A904:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803A8B8
+
+ thumb_func_start sub_803A908
+sub_803A908:
+ push {r4,lr}
+ ldr r4, _0803A920
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0803A91A
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0803A91A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803A920: .4byte gUnknown_203B3F4
+ thumb_func_end sub_803A908
+
+ thumb_func_start sub_803A924
+sub_803A924:
+ push {lr}
+ ldr r1, _0803A938
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_803A93C
+ bl sub_803A9AC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803A938: .4byte gUnknown_203B3F4
+ thumb_func_end sub_803A924
+
+ thumb_func_start sub_803A93C
+sub_803A93C:
+ push {r4-r7,lr}
+ ldr r4, _0803A960
+ ldr r0, [r4]
+ adds r0, 0x9C
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1]
+ cmp r0, 0x2
+ bne _0803A968
+ adds r1, 0xCC
+ ldr r0, _0803A964
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ b _0803A98A
+ .align 2, 0
+_0803A960: .4byte gUnknown_203B3F4
+_0803A964: .4byte gUnknown_80E7EA4
+_0803A968:
+ mov r12, r4
+ ldr r4, _0803A9A4
+ movs r3, 0
+ movs r2, 0x3
+_0803A970:
+ mov r0, r12
+ ldr r1, [r0]
+ adds r1, r3
+ adds r1, 0x9C
+ 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 _0803A970
+_0803A98A:
+ bl ResetUnusedInputStruct
+ ldr r0, _0803A9A8
+ ldr r0, [r0]
+ adds r0, 0x9C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803A9A4: .4byte gUnknown_80E7E8C
+_0803A9A8: .4byte gUnknown_203B3F4
+ thumb_func_end sub_803A93C
+
+ thumb_func_start sub_803A9AC
+sub_803A9AC:
+ push {lr}
+ sub sp, 0x8
+ ldr r1, _0803A9C8
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r2, r1, 0
+ cmp r0, 0x4
+ bhi _0803AA2C
+ lsls r0, 2
+ ldr r1, _0803A9CC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803A9C8: .4byte gUnknown_203B3F4
+_0803A9CC: .4byte _0803A9D0
+ .align 2, 0
+_0803A9D0:
+ .4byte _0803A9E4
+ .4byte _0803A9EE
+ .4byte _0803A9F6
+ .4byte _0803AA20
+ .4byte _0803AA2C
+_0803A9E4:
+ movs r0, 0
+ movs r1, 0x3
+ bl sub_80211AC
+ b _0803AA2C
+_0803A9EE:
+ movs r0, 0x1
+ bl sub_8021354
+ b _0803AA2C
+_0803A9F6:
+ bl sub_8021494
+ bl sub_803AA34
+ ldr r0, _0803AA1C
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x4C
+ adds r1, r2, 0
+ adds r1, 0xC
+ ldr r2, [r2, 0x8]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ movs r3, 0
+ bl sub_8012D60
+ b _0803AA2C
+ .align 2, 0
+_0803AA1C: .4byte gUnknown_203B3F4
+_0803AA20:
+ ldr r0, [r2]
+ ldrb r0, [r0, 0x4]
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_8021774
+_0803AA2C:
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803A9AC
+
+ thumb_func_start sub_803AA34
+sub_803AA34:
+ push {r4,r5,lr}
+ movs r4, 0
+ ldr r0, _0803AA64
+ ldr r1, [r0]
+ ldr r2, _0803AA68
+ ldr r3, [r2]
+ ldrb r0, [r3, 0x4]
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r5, r2, 0
+ cmp r0, 0
+ beq _0803AA7A
+ ldr r0, _0803AA6C
+ str r0, [r3, 0xC]
+ bl sub_803ABC8
+ lsls r0, 24
+ cmp r0, 0
+ beq _0803AA70
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x10]
+ b _0803AA82
+ .align 2, 0
+_0803AA64: .4byte gFriendAreas
+_0803AA68: .4byte gUnknown_203B3F4
+_0803AA6C: .4byte gUnknown_80E7EBC
+_0803AA70:
+ ldr r1, [r5]
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [r1, 0x10]
+ b _0803AA82
+_0803AA7A:
+ ldr r0, _0803AABC
+ str r0, [r3, 0xC]
+ movs r0, 0x2
+ str r0, [r3, 0x10]
+_0803AA82:
+ adds r4, 0x1
+ ldr r5, [r5]
+ mov r12, r5
+ lsls r1, r4, 3
+ mov r3, r12
+ adds r3, 0xC
+ adds r2, r3, r1
+ ldr r0, _0803AAC0
+ ldr r0, [r0]
+ str r0, [r2]
+ mov r2, r12
+ adds r2, 0x10
+ adds r1, r2, r1
+ movs r0, 0x4
+ str r0, [r1]
+ adds r4, 0x1
+ lsls r1, r4, 3
+ adds r3, r1
+ movs r0, 0
+ str r0, [r3]
+ adds r2, r1
+ movs r0, 0x1
+ str r0, [r2]
+ mov r1, r12
+ ldr r0, [r1, 0x10]
+ str r0, [r1, 0x8]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803AABC: .4byte gUnknown_80E7EC4
+_0803AAC0: .4byte gUnknown_80D4970
+ thumb_func_end sub_803AA34
+
+ thumb_func_start sub_803AAC4
+sub_803AAC4:
+ push {lr}
+ movs r0, 0x1
+ bl sub_8021274
+ cmp r0, 0x4
+ bhi _0803AB2E
+ lsls r0, 2
+ ldr r1, _0803AADC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803AADC: .4byte _0803AAE0
+ .align 2, 0
+_0803AAE0:
+ .4byte _0803AB2E
+ .4byte _0803AB2E
+ .4byte _0803AB24
+ .4byte _0803AAF4
+ .4byte _0803AB0C
+_0803AAF4:
+ bl sub_802132C
+ ldr r1, _0803AB08
+ ldr r1, [r1]
+ strb r0, [r1, 0x4]
+ movs r0, 0x2
+ bl sub_803A924
+ b _0803AB2E
+ .align 2, 0
+_0803AB08: .4byte gUnknown_203B3F4
+_0803AB0C:
+ bl sub_802132C
+ ldr r1, _0803AB20
+ ldr r1, [r1]
+ strb r0, [r1, 0x4]
+ movs r0, 0x3
+ bl sub_803A924
+ b _0803AB2E
+ .align 2, 0
+_0803AB20: .4byte gUnknown_203B3F4
+_0803AB24:
+ bl sub_80213A0
+ movs r0, 0x4
+ bl sub_803A924
+_0803AB2E:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803AAC4
+
+ thumb_func_start sub_803AB34
+sub_803AB34:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_8021274
+ ldr r4, _0803AB6C
+ ldr r0, [r4]
+ adds r0, 0x4C
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0803AB5A
+ ldr r0, [r4]
+ adds r0, 0x4C
+ mov r1, sp
+ bl sub_8013114
+_0803AB5A:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0803AB7A
+ cmp r0, 0x2
+ bgt _0803AB70
+ cmp r0, 0x1
+ beq _0803AB9E
+ b _0803ABA4
+ .align 2, 0
+_0803AB6C: .4byte gUnknown_203B3F4
+_0803AB70:
+ cmp r0, 0x3
+ beq _0803AB84
+ cmp r0, 0x4
+ beq _0803AB96
+ b _0803ABA4
+_0803AB7A:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x4]
+ bl UnlockFriendArea
+ b _0803AB8E
+_0803AB84:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x4]
+ movs r1, 0x1
+ bl sub_809249C
+_0803AB8E:
+ movs r0, 0x1
+ bl sub_803A924
+ b _0803ABA4
+_0803AB96:
+ movs r0, 0x3
+ bl sub_803A924
+ b _0803ABA4
+_0803AB9E:
+ movs r0, 0x1
+ bl sub_803A924
+_0803ABA4:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803AB34
+
+ thumb_func_start sub_803ABAC
+sub_803ABAC:
+ push {lr}
+ bl sub_80217EC
+ cmp r0, 0x1
+ bls _0803ABC4
+ cmp r0, 0x3
+ bhi _0803ABC4
+ bl sub_8021830
+ movs r0, 0x1
+ bl sub_803A924
+_0803ABC4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803ABAC
+
+ thumb_func_start sub_803ABC8
+sub_803ABC8:
+ push {r4-r6,lr}
+ movs r5, 0
+ movs r6, 0x1
+_0803ABCE:
+ ldr r2, _0803AC08
+ movs r0, 0x58
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, [r2]
+ adds r2, r0, r1
+ ldrh r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0803AC10
+ lsrs r0, r1, 1
+ ands r0, r6
+ cmp r0, 0
+ beq _0803AC10
+ ldr r0, _0803AC0C
+ ldr r4, [r0]
+ movs r1, 0x8
+ ldrsh r0, [r2, r1]
+ bl GetFriendArea
+ ldrb r1, [r4, 0x4]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r1, r0
+ bne _0803AC10
+ movs r0, 0
+ b _0803AC1C
+ .align 2, 0
+_0803AC08: .4byte gUnknown_203B45C
+_0803AC0C: .4byte gUnknown_203B3F4
+_0803AC10:
+ adds r5, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r5, r0
+ ble _0803ABCE
+ movs r0, 0x1
+_0803AC1C:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803ABC8
+
+ thumb_func_start sub_803AC24
+sub_803AC24:
+ push {r4,lr}
+ ldr r4, _0803AC44
+ movs r0, 0xA0
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r0, 0
+ bl sub_803ACD0
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0803AC44: .4byte gUnknown_203B3F8
+ thumb_func_end sub_803AC24
+
+ thumb_func_start sub_803AC48
+sub_803AC48:
+ push {lr}
+ ldr r0, _0803AC60
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x7
+ bhi _0803ACA8
+ lsls r0, 2
+ ldr r1, _0803AC64
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803AC60: .4byte gUnknown_203B3F8
+_0803AC64: .4byte _0803AC68
+ .align 2, 0
+_0803AC68:
+ .4byte _0803AC88
+ .4byte _0803AC90
+ .4byte _0803AC90
+ .4byte _0803AC96
+ .4byte _0803ACA8
+ .4byte _0803AC9C
+ .4byte _0803ACA2
+ .4byte _0803ACA8
+_0803AC88:
+ movs r0, 0x1
+ bl sub_803ACD0
+ b _0803ACAC
+_0803AC90:
+ bl sub_803AF38
+ b _0803ACAC
+_0803AC96:
+ bl sub_803AF88
+ b _0803ACAC
+_0803AC9C:
+ bl sub_803AFE8
+ b _0803ACAC
+_0803ACA2:
+ bl sub_803B034
+ b _0803ACAC
+_0803ACA8:
+ movs r0, 0x3
+ b _0803ACAE
+_0803ACAC:
+ movs r0, 0
+_0803ACAE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803AC48
+
+ thumb_func_start sub_803ACB4
+sub_803ACB4:
+ push {r4,lr}
+ ldr r4, _0803ACCC
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0803ACC6
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0803ACC6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803ACCC: .4byte gUnknown_203B3F8
+ thumb_func_end sub_803ACB4
+
+ thumb_func_start sub_803ACD0
+sub_803ACD0:
+ push {lr}
+ ldr r1, _0803ACE4
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_803ACE8
+ bl sub_803AD88
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803ACE4: .4byte gUnknown_203B3F8
+ thumb_func_end sub_803ACD0
+
+ thumb_func_start sub_803ACE8
+sub_803ACE8:
+ push {r4-r7,lr}
+ ldr r4, _0803AD08
+ ldr r0, [r4]
+ adds r0, 0xE0
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1]
+ cmp r0, 0x3
+ beq _0803AD10
+ cmp r0, 0x5
+ beq _0803AD38
+ movs r2, 0
+ ldr r3, _0803AD0C
+ b _0803AD50
+ .align 2, 0
+_0803AD08: .4byte gUnknown_203B3F8
+_0803AD0C: .4byte gUnknown_80E7ED4
+_0803AD10:
+ bl sub_803AEB0
+ ldr r2, [r4]
+ movs r0, 0x88
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _0803AD34
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ adds r1, 0x90
+ bl sub_8012CAC
+ b _0803AD6C
+ .align 2, 0
+_0803AD34: .4byte gUnknown_80E7EEC
+_0803AD38:
+ movs r6, 0x94
+ lsls r6, 1
+ adds r1, r6
+ ldr r0, _0803AD4C
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ b _0803AD6C
+ .align 2, 0
+_0803AD4C: .4byte gUnknown_80E7F04
+_0803AD50:
+ ldr r0, [r4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r0, r1
+ adds r0, 0xE0
+ adds r1, r3, 0
+ ldm r1!, {r5-r7}
+ stm r0!, {r5-r7}
+ ldm r1!, {r5-r7}
+ stm r0!, {r5-r7}
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _0803AD50
+_0803AD6C:
+ bl ResetUnusedInputStruct
+ ldr r0, _0803AD84
+ ldr r0, [r0]
+ adds r0, 0xE0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803AD84: .4byte gUnknown_203B3F8
+ thumb_func_end sub_803ACE8
+
+ thumb_func_start sub_803AD88
+sub_803AD88:
+ push {lr}
+ sub sp, 0x8
+ ldr r1, _0803ADA4
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r2, r1, 0
+ cmp r0, 0x7
+ bhi _0803AE50
+ lsls r0, 2
+ ldr r1, _0803ADA8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803ADA4: .4byte gUnknown_203B3F8
+_0803ADA8: .4byte _0803ADAC
+ .align 2, 0
+_0803ADAC:
+ .4byte _0803AE50
+ .4byte _0803ADCC
+ .4byte _0803ADDA
+ .4byte _0803ADE2
+ .4byte _0803AE50
+ .4byte _0803AE0C
+ .4byte _0803AE44
+ .4byte _0803AE50
+_0803ADCC:
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_8023868
+ b _0803AE50
+_0803ADDA:
+ movs r0, 0x1
+ bl sub_8023B7C
+ b _0803AE50
+_0803ADE2:
+ bl sub_8023DA4
+ ldr r0, _0803AE08
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x10
+ adds r1, r2, 0
+ adds r1, 0x90
+ adds r3, r2, 0
+ adds r3, 0xD0
+ ldr r2, [r2, 0xC]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _0803AE50
+ .align 2, 0
+_0803AE08: .4byte gUnknown_203B3F8
+_0803AE0C:
+ ldr r2, [r2]
+ movs r1, 0x3
+ str r1, [r2, 0x70]
+ movs r0, 0x1
+ str r0, [r2, 0x68]
+ movs r0, 0x64
+ str r0, [r2, 0x6C]
+ ldr r0, [r2, 0x8]
+ ldrb r0, [r0, 0x3]
+ str r0, [r2, 0x64]
+ str r1, [r2, 0x74]
+ movs r1, 0x94
+ lsls r1, 1
+ adds r0, r2, r1
+ str r0, [r2, 0x78]
+ movs r0, 0x2C
+ str r0, [r2, 0x7C]
+ adds r1, r2, 0
+ adds r1, 0x80
+ movs r0, 0x12
+ str r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0x60
+ bl sub_8013AA0
+ bl sub_803AE58
+ b _0803AE50
+_0803AE44:
+ ldr r0, [r2]
+ ldr r1, [r0, 0x8]
+ adds r1, 0x4C
+ movs r0, 0x2
+ bl sub_801602C
+_0803AE50:
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803AD88
+
+ thumb_func_start sub_803AE58
+sub_803AE58:
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r4, _0803AEA8
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ bl sub_8008C54
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ bl sub_80073B8
+ ldr r2, _0803AEAC
+ ldr r0, [r4]
+ ldr r3, [r0, 0x74]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r0, [r4]
+ adds r0, 0x60
+ bl sub_8013C68
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ bl sub_80073E0
+ bl sub_8023DA4
+ ldr r0, [r4]
+ adds r0, 0x10
+ movs r1, 0
+ bl sub_8012EA4
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803AEA8: .4byte gUnknown_203B3F8
+_0803AEAC: .4byte gUnknown_80E7F1C
+ thumb_func_end sub_803AE58
+
+ thumb_func_start sub_803AEB0
+sub_803AEB0:
+ push {r4-r6,lr}
+ ldr r4, _0803AEFC
+ ldr r0, [r4]
+ adds r0, 0xD0
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r4, [r4]
+ movs r3, 0
+ adds r1, r4, 0
+ adds r1, 0x90
+ ldr r0, _0803AF00
+ str r0, [r1]
+ adds r5, r4, 0
+ adds r5, 0x94
+ movs r0, 0x4
+ str r0, [r5]
+ movs r2, 0x1
+ adds r1, 0x8
+ ldr r0, _0803AF04
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x5
+ str r0, [r1]
+ movs r6, 0x2
+ adds r0, r4, 0
+ adds r0, 0xA0
+ str r3, [r0]
+ adds r0, 0x4
+ str r2, [r0]
+ adds r0, 0x2C
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0803AF08
+ ldr r0, [r5]
+ str r0, [r4, 0xC]
+ b _0803AF2C
+ .align 2, 0
+_0803AEFC: .4byte gUnknown_203B3F8
+_0803AF00: .4byte gUnknown_80E7F24
+_0803AF04: .4byte gUnknown_80E7F2C
+_0803AF08:
+ adds r3, 0x1
+ cmp r3, r6
+ bge _0803AF2C
+ ldr r0, _0803AF34
+ ldr r2, [r0]
+ lsls r1, r3, 1
+ adds r0, r2, 0
+ adds r0, 0xD0
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0803AF08
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0x94
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0xC]
+_0803AF2C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803AF34: .4byte gUnknown_203B3F8
+ thumb_func_end sub_803AEB0
+
+ thumb_func_start sub_803AF38
+sub_803AF38:
+ push {lr}
+ movs r0, 0x1
+ bl sub_8023A94
+ cmp r0, 0x2
+ beq _0803AF78
+ cmp r0, 0x2
+ bcc _0803AF82
+ cmp r0, 0x3
+ bne _0803AF82
+ bl sub_8023B44
+ ldr r1, _0803AF70
+ ldr r1, [r1]
+ strh r0, [r1, 0x4]
+ ldr r3, _0803AF74
+ movs r0, 0x4
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x8]
+ movs r0, 0x3
+ bl sub_803ACD0
+ b _0803AF82
+ .align 2, 0
+_0803AF70: .4byte gUnknown_203B3F8
+_0803AF74: .4byte gUnknown_203B45C
+_0803AF78:
+ bl sub_8023C60
+ movs r0, 0x7
+ bl sub_803ACD0
+_0803AF82:
+ pop {r0}
+ 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/main_menu.s b/asm/main_menu.s
index aaa28f6..4309f97 100644
--- a/asm/main_menu.s
+++ b/asm/main_menu.s
@@ -4824,7 +4824,7 @@ _08038298:
sub_80382A0:
push {lr}
movs r0, 0
- bl sub_8031F60
+ bl CreateAdventureLogScreen
pop {r0}
bx r0
thumb_func_end sub_80382A0
@@ -6765,8 +6765,8 @@ _0803923C:
_08039250: .4byte gUnknown_203B370
thumb_func_end sub_80391F8
- thumb_func_start sub_8039254
-sub_8039254:
+ thumb_func_start CreateLoadScreen
+CreateLoadScreen:
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -6944,7 +6944,7 @@ _08039382:
movs r1, 0x2
movs r2, 0x1
bl sub_8035CF4
- bl sub_80394A4
+ bl DrawLoadScreenText
add sp, 0x10
pop {r3}
mov r8, r3
@@ -6957,10 +6957,10 @@ _080393E0: .4byte gUnknown_80E7730
_080393E4: .4byte gUnknown_203B374
_080393E8: .4byte gUnknown_80E7784
_080393EC: .4byte gUnknown_80E779C
- thumb_func_end sub_8039254
+ thumb_func_end CreateLoadScreen
- thumb_func_start sub_80393F0
-sub_80393F0:
+ thumb_func_start CleanLoadScreen
+CleanLoadScreen:
push {r4,lr}
bl ResetUnusedInputStruct
movs r0, 0
@@ -6980,7 +6980,7 @@ _08039410:
bx r0
.align 2, 0
_08039418: .4byte gUnknown_203B374
- thumb_func_end sub_80393F0
+ thumb_func_end CleanLoadScreen
thumb_func_start sub_803941C
sub_803941C:
@@ -7056,8 +7056,8 @@ _08039498:
bx r1
thumb_func_end sub_803941C
- thumb_func_start sub_80394A4
-sub_80394A4:
+ thumb_func_start DrawLoadScreenText
+DrawLoadScreenText:
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -7402,7 +7402,7 @@ _0803977C:
.align 2, 0
_080397AC: .4byte gUnknown_203B374
_080397B0: .4byte gUnknown_80E7854
- thumb_func_end sub_80394A4
+ thumb_func_end DrawLoadScreenText
thumb_func_start sub_80397B4
sub_80397B4:
@@ -8716,3991 +8716,4 @@ sub_803A1EC:
bx r0
thumb_func_end sub_803A1EC
- 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}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x84
- movs r5, 0x1
- add r4, sp, 0x60
- add r6, sp, 0x68
- add r0, sp, 0x7C
- mov r8, r0
- add r0, sp, 0x80
- mov r10, r0
-_0803A3D6:
- lsls r0, r5, 24
- lsrs r0, 24
- bl UnlockFriendArea
- adds r5, 0x1
- cmp r5, 0x39
- ble _0803A3D6
- movs r5, 0
- adds r7, r4, 0
-_0803A3E8:
- movs r0, 0
- mov r9, r0
- ldr r0, _0803A454
- str r0, [sp, 0x7C]
- adds r5, 0x1
- lsls r4, r5, 16
- asrs r4, 16
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x8
- bl memset
- movs r0, 0x27
- strh r0, [r7]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_808D8BC
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_80922F4
- movs r0, 0x40
- strb r0, [r6]
- mov r0, r8
- str r0, [sp]
- str r7, [sp, 0x4]
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r6, 0
- movs r3, 0x43
- bl sub_808CFD0
- add r0, sp, 0x8
- bl sub_808D1DC
- ldr r0, _0803A458
- cmp r5, r0
- ble _0803A3E8
- mov r0, r9
- str r0, [sp, 0x80]
- mov r0, r10
- movs r1, 0x1
- bl sub_801203C
- add sp, 0x84
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A454: .4byte 0x00001006
-_0803A458: .4byte 0x0000012b
- thumb_func_end sub_803A3BC
-
- thumb_func_start sub_803A45C
-sub_803A45C:
- push {r4,lr}
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _0803A488
- movs r0, 0x9C
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r0, 0
- bl sub_803A504
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0803A488: .4byte gUnknown_203B3F0
- thumb_func_end sub_803A45C
-
- thumb_func_start sub_803A48C
-sub_803A48C:
- push {lr}
- ldr r0, _0803A4A4
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x5
- bhi _0803A4E0
- lsls r0, 2
- ldr r1, _0803A4A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803A4A4: .4byte gUnknown_203B3F0
-_0803A4A8: .4byte _0803A4AC
- .align 2, 0
-_0803A4AC:
- .4byte _0803A4C4
- .4byte _0803A4C4
- .4byte _0803A4CA
- .4byte _0803A4D0
- .4byte _0803A4D6
- .4byte _0803A4DC
-_0803A4C4:
- bl sub_803A740
- b _0803A4E0
-_0803A4CA:
- bl sub_803A7B0
- b _0803A4E0
-_0803A4D0:
- bl sub_803A810
- b _0803A4E0
-_0803A4D6:
- bl sub_803A86C
- b _0803A4E0
-_0803A4DC:
- movs r0, 0x3
- b _0803A4E2
-_0803A4E0:
- movs r0, 0
-_0803A4E2:
- pop {r1}
- bx r1
- thumb_func_end sub_803A48C
-
- thumb_func_start sub_803A4E8
-sub_803A4E8:
- push {r4,lr}
- ldr r4, _0803A500
- ldr r0, [r4]
- cmp r0, 0
- beq _0803A4FA
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803A4FA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A500: .4byte gUnknown_203B3F0
- thumb_func_end sub_803A4E8
-
- thumb_func_start sub_803A504
-sub_803A504:
- push {lr}
- ldr r1, _0803A518
- ldr r1, [r1]
- str r0, [r1]
- bl sub_803A51C
- bl sub_803A5A0
- pop {r0}
- bx r0
- .align 2, 0
-_0803A518: .4byte gUnknown_203B3F0
- thumb_func_end sub_803A504
-
- thumb_func_start sub_803A51C
-sub_803A51C:
- push {r4-r7,lr}
- ldr r4, _0803A53C
- ldr r0, [r4]
- adds r0, 0xD8
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x2
- beq _0803A544
- cmp r0, 0x3
- bne _0803A55C
- adds r1, 0xF0
- ldr r0, _0803A540
- b _0803A54C
- .align 2, 0
-_0803A53C: .4byte gUnknown_203B3F0
-_0803A540: .4byte gUnknown_80E7E64
-_0803A544:
- movs r0, 0x84
- lsls r0, 1
- adds r1, r0
- ldr r0, _0803A558
-_0803A54C:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _0803A57E
- .align 2, 0
-_0803A558: .4byte gUnknown_80E7E4C
-_0803A55C:
- mov r12, r4
- ldr r4, _0803A598
- movs r3, 0
- movs r2, 0x3
-_0803A564:
- mov r0, r12
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0xD8
- 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 _0803A564
-_0803A57E:
- bl ResetUnusedInputStruct
- ldr r0, _0803A59C
- ldr r0, [r0]
- adds r0, 0xD8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A598: .4byte gUnknown_80E7E34
-_0803A59C: .4byte gUnknown_203B3F0
- thumb_func_end sub_803A51C
-
- thumb_func_start sub_803A5A0
-sub_803A5A0:
- push {lr}
- sub sp, 0xC
- ldr r1, _0803A5BC
- ldr r0, [r1]
- ldr r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x5
- bhi _0803A68A
- lsls r0, 2
- ldr r1, _0803A5C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803A5BC: .4byte gUnknown_203B3F0
-_0803A5C0: .4byte _0803A5C4
- .align 2, 0
-_0803A5C4:
- .4byte _0803A5DC
- .4byte _0803A5EA
- .4byte _0803A5F2
- .4byte _0803A61C
- .4byte _0803A678
- .4byte _0803A68A
-_0803A5DC:
- movs r0, 0x2
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801C8C4
- b _0803A68A
-_0803A5EA:
- movs r0, 0x1
- bl sub_801CB5C
- b _0803A68A
-_0803A5F2:
- bl sub_801CCD8
- bl sub_803A6F0
- ldr r0, _0803A618
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x4C
- adds r1, r2, 0
- adds r1, 0xC
- ldr r2, [r2, 0x8]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0803A68A
- .align 2, 0
-_0803A618: .4byte gUnknown_203B3F0
-_0803A61C:
- ldr r3, [r2]
- adds r1, r3, 0
- adds r1, 0xAC
- movs r0, 0x3
- str r0, [r1]
- subs r1, 0x8
- movs r0, 0
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0803A670
- str r0, [r1]
- adds r2, r3, 0
- adds r2, 0xA0
- ldr r0, _0803A674
- ldr r1, [r0]
- ldrb r0, [r3, 0x4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- str r0, [r2]
- adds r1, r3, 0
- adds r1, 0xB0
- movs r0, 0x1
- str r0, [r1]
- adds r1, 0x4
- adds r0, r3, 0
- adds r0, 0xF0
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x2C
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x12
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0x9C
- bl sub_8013AA0
- bl sub_803A690
- b _0803A68A
- .align 2, 0
-_0803A670: .4byte 0x000003e7
-_0803A674: .4byte gUnknown_203B460
-_0803A678:
- ldr r0, [r2]
- ldrb r1, [r0, 0x4]
- add r0, sp, 0x8
- movs r2, 0
- bl sub_8090A8C
- add r0, sp, 0x8
- bl sub_801B3C0
-_0803A68A:
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_803A5A0
-
- thumb_func_start sub_803A690
-sub_803A690:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _0803A6E8
- ldr r0, [r4]
- adds r0, 0xB0
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, 0xB0
- ldr r0, [r0]
- bl sub_80073B8
- ldr r2, _0803A6EC
- ldr r0, [r4]
- adds r0, 0xB0
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0
- bl xxx_call_draw_string
- ldr r0, [r4]
- adds r0, 0x9C
- bl sub_8013C68
- ldr r0, [r4]
- adds r0, 0xB0
- ldr r0, [r0]
- bl sub_80073E0
- bl sub_801CCD8
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0
- bl sub_8012EA4
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A6E8: .4byte gUnknown_203B3F0
-_0803A6EC: .4byte gUnknown_80E7E7C
- thumb_func_end sub_803A690
-
- thumb_func_start sub_803A6F0
-sub_803A6F0:
- push {r4,lr}
- ldr r4, _0803A734
- ldr r1, [r4]
- ldr r0, _0803A738
- str r0, [r1, 0xC]
- movs r0, 0x2
- str r0, [r1, 0x10]
- str r0, [r1, 0x8]
- ldrb r0, [r1, 0x4]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- bne _0803A718
- ldr r0, [r4]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x10]
- movs r1, 0x3
- str r1, [r0, 0x8]
-_0803A718:
- ldr r1, [r4]
- movs r2, 0x1
- ldr r0, _0803A73C
- ldr r0, [r0]
- str r0, [r1, 0x14]
- movs r0, 0x3
- str r0, [r1, 0x18]
- movs r0, 0
- str r0, [r1, 0x1C]
- str r2, [r1, 0x20]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A734: .4byte gUnknown_203B3F0
-_0803A738: .4byte gUnknown_80E7E7C
-_0803A73C: .4byte gUnknown_80D4970
- thumb_func_end sub_803A6F0
-
- thumb_func_start sub_803A740
-sub_803A740:
- push {lr}
- movs r0, 0x1
- bl sub_801CA08
- cmp r0, 0x4
- bhi _0803A7AA
- lsls r0, 2
- ldr r1, _0803A758
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803A758: .4byte _0803A75C
- .align 2, 0
-_0803A75C:
- .4byte _0803A7AA
- .4byte _0803A7AA
- .4byte _0803A7A0
- .4byte _0803A770
- .4byte _0803A788
-_0803A770:
- bl sub_801CB24
- ldr r1, _0803A784
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x2
- bl sub_803A504
- b _0803A7AA
- .align 2, 0
-_0803A784: .4byte gUnknown_203B3F0
-_0803A788:
- bl sub_801CB24
- ldr r1, _0803A79C
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x4
- bl sub_803A504
- b _0803A7AA
- .align 2, 0
-_0803A79C: .4byte gUnknown_203B3F0
-_0803A7A0:
- bl sub_801CBB8
- movs r0, 0x5
- bl sub_803A504
-_0803A7AA:
- pop {r0}
- bx r0
- thumb_func_end sub_803A740
-
- thumb_func_start sub_803A7B0
-sub_803A7B0:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801CA08
- ldr r4, _0803A7E8
- ldr r0, [r4]
- adds r0, 0x4C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0803A7D6
- ldr r0, [r4]
- adds r0, 0x4C
- mov r1, sp
- bl sub_8013114
-_0803A7D6:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0803A7F2
- cmp r0, 0x2
- bgt _0803A7EC
- cmp r0, 0x1
- beq _0803A802
- b _0803A808
- .align 2, 0
-_0803A7E8: .4byte gUnknown_203B3F0
-_0803A7EC:
- cmp r0, 0x3
- beq _0803A7FA
- b _0803A808
-_0803A7F2:
- movs r0, 0x3
- bl sub_803A504
- b _0803A808
-_0803A7FA:
- movs r0, 0x4
- bl sub_803A504
- b _0803A808
-_0803A802:
- movs r0, 0x1
- bl sub_803A504
-_0803A808:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_803A7B0
-
- thumb_func_start sub_803A810
-sub_803A810:
- push {r4,lr}
- movs r0, 0
- bl sub_801CA08
- ldr r4, _0803A838
- ldr r0, [r4]
- adds r0, 0x4C
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0x9C
- bl sub_8013BBC
- cmp r0, 0x2
- beq _0803A854
- cmp r0, 0x2
- bhi _0803A83C
- cmp r0, 0x1
- beq _0803A860
- b _0803A864
- .align 2, 0
-_0803A838: .4byte gUnknown_203B3F0
-_0803A83C:
- cmp r0, 0x3
- bne _0803A864
- ldr r0, _0803A85C
- ldr r2, [r0]
- ldr r1, [r4]
- ldrb r0, [r1, 0x4]
- lsls r0, 1
- adds r2, 0x50
- adds r2, r0
- adds r1, 0x9C
- ldr r0, [r1]
- strh r0, [r2]
-_0803A854:
- movs r0, 0x1
- bl sub_803A504
- b _0803A864
- .align 2, 0
-_0803A85C: .4byte gUnknown_203B460
-_0803A860:
- bl sub_803A690
-_0803A864:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_803A810
-
- thumb_func_start sub_803A86C
-sub_803A86C:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _0803A884
- cmp r0, 0x3
- bhi _0803A884
- bl sub_801B450
- movs r0, 0x1
- bl sub_803A504
-_0803A884:
- pop {r0}
- bx r0
- thumb_func_end sub_803A86C
-
- thumb_func_start sub_803A888
-sub_803A888:
- push {r4,lr}
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _0803A8B4
- movs r0, 0xFC
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r0, 0
- bl sub_803A924
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0803A8B4: .4byte gUnknown_203B3F4
- thumb_func_end sub_803A888
-
- thumb_func_start sub_803A8B8
-sub_803A8B8:
- push {lr}
- ldr r0, _0803A8D0
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x4
- bhi _0803A902
- lsls r0, 2
- ldr r1, _0803A8D4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803A8D0: .4byte gUnknown_203B3F4
-_0803A8D4: .4byte _0803A8D8
- .align 2, 0
-_0803A8D8:
- .4byte _0803A8EC
- .4byte _0803A8EC
- .4byte _0803A8F2
- .4byte _0803A8F8
- .4byte _0803A8FE
-_0803A8EC:
- bl sub_803AAC4
- b _0803A902
-_0803A8F2:
- bl sub_803AB34
- b _0803A902
-_0803A8F8:
- bl sub_803ABAC
- b _0803A902
-_0803A8FE:
- movs r0, 0x3
- b _0803A904
-_0803A902:
- movs r0, 0
-_0803A904:
- pop {r1}
- bx r1
- thumb_func_end sub_803A8B8
-
- thumb_func_start sub_803A908
-sub_803A908:
- push {r4,lr}
- ldr r4, _0803A920
- ldr r0, [r4]
- cmp r0, 0
- beq _0803A91A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803A91A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A920: .4byte gUnknown_203B3F4
- thumb_func_end sub_803A908
-
- thumb_func_start sub_803A924
-sub_803A924:
- push {lr}
- ldr r1, _0803A938
- ldr r1, [r1]
- str r0, [r1]
- bl sub_803A93C
- bl sub_803A9AC
- pop {r0}
- bx r0
- .align 2, 0
-_0803A938: .4byte gUnknown_203B3F4
- thumb_func_end sub_803A924
-
- thumb_func_start sub_803A93C
-sub_803A93C:
- push {r4-r7,lr}
- ldr r4, _0803A960
- ldr r0, [r4]
- adds r0, 0x9C
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x2
- bne _0803A968
- adds r1, 0xCC
- ldr r0, _0803A964
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _0803A98A
- .align 2, 0
-_0803A960: .4byte gUnknown_203B3F4
-_0803A964: .4byte gUnknown_80E7EA4
-_0803A968:
- mov r12, r4
- ldr r4, _0803A9A4
- movs r3, 0
- movs r2, 0x3
-_0803A970:
- mov r0, r12
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0x9C
- 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 _0803A970
-_0803A98A:
- bl ResetUnusedInputStruct
- ldr r0, _0803A9A8
- ldr r0, [r0]
- adds r0, 0x9C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A9A4: .4byte gUnknown_80E7E8C
-_0803A9A8: .4byte gUnknown_203B3F4
- thumb_func_end sub_803A93C
-
- thumb_func_start sub_803A9AC
-sub_803A9AC:
- push {lr}
- sub sp, 0x8
- ldr r1, _0803A9C8
- ldr r0, [r1]
- ldr r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _0803AA2C
- lsls r0, 2
- ldr r1, _0803A9CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803A9C8: .4byte gUnknown_203B3F4
-_0803A9CC: .4byte _0803A9D0
- .align 2, 0
-_0803A9D0:
- .4byte _0803A9E4
- .4byte _0803A9EE
- .4byte _0803A9F6
- .4byte _0803AA20
- .4byte _0803AA2C
-_0803A9E4:
- movs r0, 0
- movs r1, 0x3
- bl sub_80211AC
- b _0803AA2C
-_0803A9EE:
- movs r0, 0x1
- bl sub_8021354
- b _0803AA2C
-_0803A9F6:
- bl sub_8021494
- bl sub_803AA34
- ldr r0, _0803AA1C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x4C
- adds r1, r2, 0
- adds r1, 0xC
- ldr r2, [r2, 0x8]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0803AA2C
- .align 2, 0
-_0803AA1C: .4byte gUnknown_203B3F4
-_0803AA20:
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- movs r1, 0x1
- movs r2, 0
- bl sub_8021774
-_0803AA2C:
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_803A9AC
-
- thumb_func_start sub_803AA34
-sub_803AA34:
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _0803AA64
- ldr r1, [r0]
- ldr r2, _0803AA68
- ldr r3, [r2]
- ldrb r0, [r3, 0x4]
- adds r1, r0
- ldrb r0, [r1]
- adds r5, r2, 0
- cmp r0, 0
- beq _0803AA7A
- ldr r0, _0803AA6C
- str r0, [r3, 0xC]
- bl sub_803ABC8
- lsls r0, 24
- cmp r0, 0
- beq _0803AA70
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x10]
- b _0803AA82
- .align 2, 0
-_0803AA64: .4byte gFriendAreas
-_0803AA68: .4byte gUnknown_203B3F4
-_0803AA6C: .4byte gUnknown_80E7EBC
-_0803AA70:
- ldr r1, [r5]
- movs r0, 0x1
- negs r0, r0
- str r0, [r1, 0x10]
- b _0803AA82
-_0803AA7A:
- ldr r0, _0803AABC
- str r0, [r3, 0xC]
- movs r0, 0x2
- str r0, [r3, 0x10]
-_0803AA82:
- adds r4, 0x1
- ldr r5, [r5]
- mov r12, r5
- lsls r1, r4, 3
- mov r3, r12
- adds r3, 0xC
- adds r2, r3, r1
- ldr r0, _0803AAC0
- ldr r0, [r0]
- str r0, [r2]
- mov r2, r12
- adds r2, 0x10
- adds r1, r2, r1
- movs r0, 0x4
- str r0, [r1]
- adds r4, 0x1
- lsls r1, r4, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r2, r1
- movs r0, 0x1
- str r0, [r2]
- mov r1, r12
- ldr r0, [r1, 0x10]
- str r0, [r1, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803AABC: .4byte gUnknown_80E7EC4
-_0803AAC0: .4byte gUnknown_80D4970
- thumb_func_end sub_803AA34
-
- thumb_func_start sub_803AAC4
-sub_803AAC4:
- push {lr}
- movs r0, 0x1
- bl sub_8021274
- cmp r0, 0x4
- bhi _0803AB2E
- lsls r0, 2
- ldr r1, _0803AADC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803AADC: .4byte _0803AAE0
- .align 2, 0
-_0803AAE0:
- .4byte _0803AB2E
- .4byte _0803AB2E
- .4byte _0803AB24
- .4byte _0803AAF4
- .4byte _0803AB0C
-_0803AAF4:
- bl sub_802132C
- ldr r1, _0803AB08
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x2
- bl sub_803A924
- b _0803AB2E
- .align 2, 0
-_0803AB08: .4byte gUnknown_203B3F4
-_0803AB0C:
- bl sub_802132C
- ldr r1, _0803AB20
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x3
- bl sub_803A924
- b _0803AB2E
- .align 2, 0
-_0803AB20: .4byte gUnknown_203B3F4
-_0803AB24:
- bl sub_80213A0
- movs r0, 0x4
- bl sub_803A924
-_0803AB2E:
- pop {r0}
- bx r0
- thumb_func_end sub_803AAC4
-
- thumb_func_start sub_803AB34
-sub_803AB34:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8021274
- ldr r4, _0803AB6C
- ldr r0, [r4]
- adds r0, 0x4C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0803AB5A
- ldr r0, [r4]
- adds r0, 0x4C
- mov r1, sp
- bl sub_8013114
-_0803AB5A:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0803AB7A
- cmp r0, 0x2
- bgt _0803AB70
- cmp r0, 0x1
- beq _0803AB9E
- b _0803ABA4
- .align 2, 0
-_0803AB6C: .4byte gUnknown_203B3F4
-_0803AB70:
- cmp r0, 0x3
- beq _0803AB84
- cmp r0, 0x4
- beq _0803AB96
- b _0803ABA4
-_0803AB7A:
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- bl UnlockFriendArea
- b _0803AB8E
-_0803AB84:
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- movs r1, 0x1
- bl sub_809249C
-_0803AB8E:
- movs r0, 0x1
- bl sub_803A924
- b _0803ABA4
-_0803AB96:
- movs r0, 0x3
- bl sub_803A924
- b _0803ABA4
-_0803AB9E:
- movs r0, 0x1
- bl sub_803A924
-_0803ABA4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_803AB34
-
- thumb_func_start sub_803ABAC
-sub_803ABAC:
- push {lr}
- bl sub_80217EC
- cmp r0, 0x1
- bls _0803ABC4
- cmp r0, 0x3
- bhi _0803ABC4
- bl sub_8021830
- movs r0, 0x1
- bl sub_803A924
-_0803ABC4:
- pop {r0}
- bx r0
- thumb_func_end sub_803ABAC
-
- thumb_func_start sub_803ABC8
-sub_803ABC8:
- push {r4-r6,lr}
- movs r5, 0
- movs r6, 0x1
-_0803ABCE:
- ldr r2, _0803AC08
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r2]
- adds r2, r0, r1
- ldrh r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0803AC10
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _0803AC10
- ldr r0, _0803AC0C
- ldr r4, [r0]
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- bl GetFriendArea
- ldrb r1, [r4, 0x4]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _0803AC10
- movs r0, 0
- b _0803AC1C
- .align 2, 0
-_0803AC08: .4byte gUnknown_203B45C
-_0803AC0C: .4byte gUnknown_203B3F4
-_0803AC10:
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _0803ABCE
- movs r0, 0x1
-_0803AC1C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_803ABC8
-
- thumb_func_start sub_803AC24
-sub_803AC24:
- push {r4,lr}
- ldr r4, _0803AC44
- movs r0, 0xA0
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r0, 0
- bl sub_803ACD0
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0803AC44: .4byte gUnknown_203B3F8
- thumb_func_end sub_803AC24
-
- thumb_func_start sub_803AC48
-sub_803AC48:
- push {lr}
- ldr r0, _0803AC60
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x7
- bhi _0803ACA8
- lsls r0, 2
- ldr r1, _0803AC64
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803AC60: .4byte gUnknown_203B3F8
-_0803AC64: .4byte _0803AC68
- .align 2, 0
-_0803AC68:
- .4byte _0803AC88
- .4byte _0803AC90
- .4byte _0803AC90
- .4byte _0803AC96
- .4byte _0803ACA8
- .4byte _0803AC9C
- .4byte _0803ACA2
- .4byte _0803ACA8
-_0803AC88:
- movs r0, 0x1
- bl sub_803ACD0
- b _0803ACAC
-_0803AC90:
- bl sub_803AF38
- b _0803ACAC
-_0803AC96:
- bl sub_803AF88
- b _0803ACAC
-_0803AC9C:
- bl sub_803AFE8
- b _0803ACAC
-_0803ACA2:
- bl sub_803B034
- b _0803ACAC
-_0803ACA8:
- movs r0, 0x3
- b _0803ACAE
-_0803ACAC:
- movs r0, 0
-_0803ACAE:
- pop {r1}
- bx r1
- thumb_func_end sub_803AC48
-
- thumb_func_start sub_803ACB4
-sub_803ACB4:
- push {r4,lr}
- ldr r4, _0803ACCC
- ldr r0, [r4]
- cmp r0, 0
- beq _0803ACC6
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803ACC6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803ACCC: .4byte gUnknown_203B3F8
- thumb_func_end sub_803ACB4
-
- thumb_func_start sub_803ACD0
-sub_803ACD0:
- push {lr}
- ldr r1, _0803ACE4
- ldr r1, [r1]
- str r0, [r1]
- bl sub_803ACE8
- bl sub_803AD88
- pop {r0}
- bx r0
- .align 2, 0
-_0803ACE4: .4byte gUnknown_203B3F8
- thumb_func_end sub_803ACD0
-
- thumb_func_start sub_803ACE8
-sub_803ACE8:
- push {r4-r7,lr}
- ldr r4, _0803AD08
- ldr r0, [r4]
- adds r0, 0xE0
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x3
- beq _0803AD10
- cmp r0, 0x5
- beq _0803AD38
- movs r2, 0
- ldr r3, _0803AD0C
- b _0803AD50
- .align 2, 0
-_0803AD08: .4byte gUnknown_203B3F8
-_0803AD0C: .4byte gUnknown_80E7ED4
-_0803AD10:
- bl sub_803AEB0
- ldr r2, [r4]
- movs r0, 0x88
- lsls r0, 1
- adds r2, r0
- ldr r1, _0803AD34
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0x90
- bl sub_8012CAC
- b _0803AD6C
- .align 2, 0
-_0803AD34: .4byte gUnknown_80E7EEC
-_0803AD38:
- movs r6, 0x94
- lsls r6, 1
- adds r1, r6
- ldr r0, _0803AD4C
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- b _0803AD6C
- .align 2, 0
-_0803AD4C: .4byte gUnknown_80E7F04
-_0803AD50:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- adds r0, 0xE0
- adds r1, r3, 0
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r2, 0x1
- cmp r2, 0x3
- ble _0803AD50
-_0803AD6C:
- bl ResetUnusedInputStruct
- ldr r0, _0803AD84
- ldr r0, [r0]
- adds r0, 0xE0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803AD84: .4byte gUnknown_203B3F8
- thumb_func_end sub_803ACE8
-
- thumb_func_start sub_803AD88
-sub_803AD88:
- push {lr}
- sub sp, 0x8
- ldr r1, _0803ADA4
- ldr r0, [r1]
- ldr r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x7
- bhi _0803AE50
- lsls r0, 2
- ldr r1, _0803ADA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803ADA4: .4byte gUnknown_203B3F8
-_0803ADA8: .4byte _0803ADAC
- .align 2, 0
-_0803ADAC:
- .4byte _0803AE50
- .4byte _0803ADCC
- .4byte _0803ADDA
- .4byte _0803ADE2
- .4byte _0803AE50
- .4byte _0803AE0C
- .4byte _0803AE44
- .4byte _0803AE50
-_0803ADCC:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_8023868
- b _0803AE50
-_0803ADDA:
- movs r0, 0x1
- bl sub_8023B7C
- b _0803AE50
-_0803ADE2:
- bl sub_8023DA4
- ldr r0, _0803AE08
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x10
- adds r1, r2, 0
- adds r1, 0x90
- adds r3, r2, 0
- adds r3, 0xD0
- ldr r2, [r2, 0xC]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0803AE50
- .align 2, 0
-_0803AE08: .4byte gUnknown_203B3F8
-_0803AE0C:
- ldr r2, [r2]
- movs r1, 0x3
- str r1, [r2, 0x70]
- movs r0, 0x1
- str r0, [r2, 0x68]
- movs r0, 0x64
- str r0, [r2, 0x6C]
- ldr r0, [r2, 0x8]
- ldrb r0, [r0, 0x3]
- str r0, [r2, 0x64]
- str r1, [r2, 0x74]
- movs r1, 0x94
- lsls r1, 1
- adds r0, r2, r1
- str r0, [r2, 0x78]
- movs r0, 0x2C
- str r0, [r2, 0x7C]
- adds r1, r2, 0
- adds r1, 0x80
- movs r0, 0x12
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0x60
- bl sub_8013AA0
- bl sub_803AE58
- b _0803AE50
-_0803AE44:
- ldr r0, [r2]
- ldr r1, [r0, 0x8]
- adds r1, 0x4C
- movs r0, 0x2
- bl sub_801602C
-_0803AE50:
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_803AD88
-
- thumb_func_start sub_803AE58
-sub_803AE58:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _0803AEA8
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_80073B8
- ldr r2, _0803AEAC
- ldr r0, [r4]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0
- bl xxx_call_draw_string
- ldr r0, [r4]
- adds r0, 0x60
- bl sub_8013C68
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_80073E0
- bl sub_8023DA4
- ldr r0, [r4]
- adds r0, 0x10
- movs r1, 0
- bl sub_8012EA4
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803AEA8: .4byte gUnknown_203B3F8
-_0803AEAC: .4byte gUnknown_80E7F1C
- thumb_func_end sub_803AE58
-
- thumb_func_start sub_803AEB0
-sub_803AEB0:
- push {r4-r6,lr}
- ldr r4, _0803AEFC
- ldr r0, [r4]
- adds r0, 0xD0
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- adds r1, r4, 0
- adds r1, 0x90
- ldr r0, _0803AF00
- str r0, [r1]
- adds r5, r4, 0
- adds r5, 0x94
- movs r0, 0x4
- str r0, [r5]
- movs r2, 0x1
- adds r1, 0x8
- ldr r0, _0803AF04
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x5
- str r0, [r1]
- movs r6, 0x2
- adds r0, r4, 0
- adds r0, 0xA0
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- adds r0, 0x2C
- ldrh r0, [r0]
- cmp r0, 0
- bne _0803AF08
- ldr r0, [r5]
- str r0, [r4, 0xC]
- b _0803AF2C
- .align 2, 0
-_0803AEFC: .4byte gUnknown_203B3F8
-_0803AF00: .4byte gUnknown_80E7F24
-_0803AF04: .4byte gUnknown_80E7F2C
-_0803AF08:
- adds r3, 0x1
- cmp r3, r6
- bge _0803AF2C
- ldr r0, _0803AF34
- ldr r2, [r0]
- lsls r1, r3, 1
- adds r0, r2, 0
- adds r0, 0xD0
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _0803AF08
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x94
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0xC]
-_0803AF2C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803AF34: .4byte gUnknown_203B3F8
- thumb_func_end sub_803AEB0
-
- thumb_func_start sub_803AF38
-sub_803AF38:
- push {lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x2
- beq _0803AF78
- cmp r0, 0x2
- bcc _0803AF82
- cmp r0, 0x3
- bne _0803AF82
- bl sub_8023B44
- ldr r1, _0803AF70
- ldr r1, [r1]
- strh r0, [r1, 0x4]
- ldr r3, _0803AF74
- movs r0, 0x4
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x8]
- movs r0, 0x3
- bl sub_803ACD0
- b _0803AF82
- .align 2, 0
-_0803AF70: .4byte gUnknown_203B3F8
-_0803AF74: .4byte gUnknown_203B45C
-_0803AF78:
- bl sub_8023C60
- movs r0, 0x7
- bl sub_803ACD0
-_0803AF82:
- pop {r0}
- 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
-
- thumb_func_start sub_803B050
-sub_803B050:
- push {r4-r7,lr}
- ldr r4, _0803B0F4
- movs r0, 0xF4
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0x3
- str r1, [r0, 0x34]
- adds r1, r0, 0
- adds r1, 0x84
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0803B0F8
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r4]
- ldr r1, [r0, 0x38]
- adds r0, 0x9C
- str r0, [r1, 0x14]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r2, 0
- movs r3, 0
- movs r7, 0xCB
- lsls r7, 1
- movs r6, 0x80
- lsls r6, 9
- movs r5, 0
-_0803B0AE:
- ldr r0, _0803B0FC
- adds r0, r5, r0
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- ldr r4, _0803B0F4
- cmp r0, 0xA
- bne _0803B0C8
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r0, 0xA0
- adds r0, r1
- strh r3, [r0]
- adds r2, 0x1
-_0803B0C8:
- adds r0, r6, 0
- movs r3, 0x80
- lsls r3, 9
- adds r6, r3
- adds r5, 0xC
- asrs r3, r0, 16
- cmp r3, r7
- ble _0803B0AE
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- adds r1, r2, 0
- movs r2, 0xA
- bl sub_8013818
- bl sub_803B204
- bl sub_803B284
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803B0F4: .4byte gUnknown_203B3FC
-_0803B0F8: .4byte gUnknown_80E7F54
-_0803B0FC: .4byte gFunctionScriptTable
- thumb_func_end sub_803B050
-
- thumb_func_start sub_803B100
-sub_803B100:
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- ldr r0, _0803B11C
- ldr r0, [r0]
- bl sub_8013878
- bl sub_803B204
- bl sub_803B284
- pop {r0}
- bx r0
- .align 2, 0
-_0803B11C: .4byte gUnknown_203B3FC
- thumb_func_end sub_803B100
-
- thumb_func_start sub_803B120
-sub_803B120:
- push {r4,lr}
- ldr r4, _0803B13C
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _0803B140
- cmp r0, 0x2
- bne _0803B144
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0803B160
- .align 2, 0
-_0803B13C: .4byte gUnknown_203B3FC
-_0803B140:
- movs r0, 0x3
- b _0803B160
-_0803B144:
- ldr r0, [r4]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0803B156
- movs r0, 0
- b _0803B160
-_0803B156:
- bl sub_803B204
- bl sub_803B284
- movs r0, 0x1
-_0803B160:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_803B120
-
- thumb_func_start sub_803B168
-sub_803B168:
- ldr r0, _0803B188
- ldr r0, [r0]
- movs r1, 0x1E
- ldrsh r2, [r0, r1]
- movs r3, 0x1C
- ldrsh r1, [r0, r3]
- muls r1, r2
- movs r3, 0x18
- ldrsh r2, [r0, r3]
- adds r1, r2
- lsls r1, 1
- adds r0, 0xA0
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0803B188: .4byte gUnknown_203B3FC
- thumb_func_end sub_803B168
-
- thumb_func_start sub_803B18C
-sub_803B18C:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _0803B1B8
- ldr r0, [r5]
- movs r1, 0xE5
- strh r1, [r0, 0x22]
- bl sub_8013984
- bl sub_803B204
- bl sub_803B284
- cmp r4, 0
- beq _0803B1B2
- ldr r0, [r5]
- bl AddMenuCursorSprite
-_0803B1B2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803B1B8: .4byte gUnknown_203B3FC
- thumb_func_end sub_803B18C
-
- thumb_func_start sub_803B1BC
-sub_803B1BC:
- push {r4,r5,lr}
- ldr r4, _0803B1FC
- ldr r2, [r4]
- cmp r2, 0
- beq _0803B1F6
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0803B200
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803B1F6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803B1FC: .4byte gUnknown_203B3FC
-_0803B200: .4byte gUnknown_80E7F3C
- thumb_func_end sub_803B1BC
-
- thumb_func_start sub_803B204
-sub_803B204:
- push {r4,lr}
- ldr r4, _0803B280
- ldr r0, [r4]
- adds r0, 0x9C
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9D
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0x9E
- movs r1, 0x8
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9F
- strb r2, [r0]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x34]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x34]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x4C
- strh r3, [r2]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803B280: .4byte gUnknown_203B3FC
- thumb_func_end sub_803B204
-
- thumb_func_start sub_803B284
-sub_803B284:
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, _0803B338
- ldr r0, [r6]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r6]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r2, _0803B33C
- ldr r0, [r6]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x9E
- ldrb r4, [r0]
- lsls r4, 3
- subs r4, 0x2
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- ldr r0, [r1, 0x34]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r5, 0
- ldr r0, [r6]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r5, r0
- bge _0803B324
-_0803B2DC:
- ldr r0, [r6]
- movs r3, 0x1E
- ldrsh r2, [r0, r3]
- movs r3, 0x1C
- ldrsh r1, [r0, r3]
- muls r2, r1
- adds r2, r5
- lsls r2, 1
- adds r1, r0, 0
- adds r1, 0xA0
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- lsls r4, r1, 1
- adds r4, r1
- lsls r4, 2
- ldr r1, _0803B340
- adds r4, r1
- adds r1, r5, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, [r4, 0x4]
- ldr r0, [r6]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- bl xxx_call_draw_string
- adds r5, 0x1
- ldr r0, [r6]
- movs r3, 0x1A
- ldrsh r0, [r0, r3]
- cmp r5, r0
- blt _0803B2DC
-_0803B324:
- ldr r0, _0803B338
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803B338: .4byte gUnknown_203B3FC
-_0803B33C: .4byte gUnknown_80E7F6C
-_0803B340: .4byte gFunctionScriptTable
- thumb_func_end sub_803B284
-
- thumb_func_start sub_803B344
-sub_803B344:
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _0803B358
- adds r0, r1
- bx lr
- .align 2, 0
-_0803B358: .4byte gUnknown_80E7F94
- thumb_func_end sub_803B344
-
- thumb_func_start sub_803B35C
-sub_803B35C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r1, 0x18
- bl sub_803C21C
- ldrb r0, [r5, 0x2]
- subs r0, 0x1
- cmp r0, 0x8
- bls _0803B372
- b _0803B4FA
-_0803B372:
- lsls r0, 2
- ldr r1, _0803B37C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803B37C: .4byte _0803B380
- .align 2, 0
-_0803B380:
- .4byte _0803B3A4
- .4byte _0803B3BE
- .4byte _0803B3D8
- .4byte _0803B3F2
- .4byte _0803B414
- .4byte _0803B442
- .4byte _0803B470
- .4byte _0803B49E
- .4byte _0803B4CC
-_0803B3A4:
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x6
- strb r0, [r1]
- subs r1, 0x14
- movs r0, 0x5
- b _0803B576
-_0803B3BE:
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0x1
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x6
- strb r0, [r1]
- subs r1, 0x14
- movs r0, 0x5
- b _0803B576
-_0803B3D8:
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0x2
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x6
- strb r0, [r1]
- subs r1, 0x14
- movs r0, 0x5
- b _0803B576
-_0803B3F2:
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0x3
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x6
- strb r0, [r1]
- bl sub_8096DD8
- str r0, [r4, 0x4C]
- bl sub_8096DE8
- str r0, [r4, 0x50]
- b _0803B578
-_0803B414:
- ldrb r0, [r5, 0x1]
- cmp r0, 0x3
- bne _0803B42A
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0xB
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x1
- b _0803B438
-_0803B42A:
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0xC
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x2
-_0803B438:
- strb r0, [r1]
- adds r1, r4, 0
- adds r1, 0x41
- movs r0, 0x4
- b _0803B576
-_0803B442:
- ldrb r0, [r5, 0x1]
- cmp r0, 0x3
- bne _0803B458
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0xB
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x1
- b _0803B466
-_0803B458:
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0xC
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x2
-_0803B466:
- strb r0, [r1]
- adds r1, r4, 0
- adds r1, 0x41
- movs r0, 0x5
- b _0803B576
-_0803B470:
- adds r0, r5, 0
- bl sub_803B600
- str r0, [r4, 0x4]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0803B488
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x9
- b _0803B48E
-_0803B488:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x4
-_0803B48E:
- strb r0, [r1]
- adds r1, r4, 0
- adds r1, 0x41
- movs r0, 0x6
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x4
- b _0803B576
-_0803B49E:
- adds r0, r5, 0
- bl sub_803B628
- str r0, [r4, 0x4]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0803B4B6
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x9
- b _0803B4BC
-_0803B4B6:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x5
-_0803B4BC:
- strb r0, [r1]
- adds r1, r4, 0
- adds r1, 0x41
- movs r0, 0x7
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x4
- b _0803B576
-_0803B4CC:
- adds r0, r5, 0
- bl sub_803B66C
- str r0, [r4, 0x4]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0803B4E4
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0xA
- b _0803B4EA
-_0803B4E4:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x6
-_0803B4EA:
- strb r0, [r1]
- adds r1, r4, 0
- adds r1, 0x41
- movs r0, 0x8
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x5
- b _0803B576
-_0803B4FA:
- ldrb r0, [r5, 0x1]
- cmp r0, 0x2
- beq _0803B528
- cmp r0, 0x2
- bgt _0803B50A
- cmp r0, 0x1
- beq _0803B514
- b _0803B564
-_0803B50A:
- cmp r0, 0x3
- beq _0803B53C
- cmp r0, 0x4
- beq _0803B550
- b _0803B564
-_0803B514:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x9
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0xD
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x4
- b _0803B576
-_0803B528:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0xA
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0xE
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x5
- b _0803B576
-_0803B53C:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0xB
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0xF
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x1
- b _0803B576
-_0803B550:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0xC
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x10
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x2
- b _0803B576
-_0803B564:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x8
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0xC
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x3
-_0803B576:
- strb r0, [r1]
-_0803B578:
- adds r0, r5, 0x4
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
- ldrh r0, [r5, 0xC]
- movs r1, 0
- strh r0, [r4, 0x10]
- ldrh r0, [r5, 0xE]
- strh r0, [r4, 0x12]
- ldrb r0, [r5, 0x10]
- strb r0, [r4, 0x14]
- ldrb r0, [r5]
- subs r0, 0x2
- cmp r0, 0x7
- bhi _0803B5EC
- lsls r0, 2
- ldr r1, _0803B5A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803B5A0: .4byte _0803B5A4
- .align 2, 0
-_0803B5A4:
- .4byte _0803B5C4
- .4byte _0803B5C4
- .4byte _0803B5C4
- .4byte _0803B5C4
- .4byte _0803B5DC
- .4byte _0803B5CC
- .4byte _0803B5DC
- .4byte _0803B5DC
-_0803B5C4:
- adds r0, r4, 0
- adds r0, 0x43
- movs r1, 0x1
- b _0803B5F0
-_0803B5CC:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x3
- strb r0, [r1]
- b _0803B5F6
-_0803B5DC:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x3
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x2
- strb r0, [r1]
- b _0803B5F6
-_0803B5EC:
- adds r0, r4, 0
- adds r0, 0x43
-_0803B5F0:
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
-_0803B5F6:
- str r5, [r4, 0x54]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_803B35C
-
- thumb_func_start sub_803B600
-sub_803B600:
- push {lr}
- ldr r2, _0803B614
- movs r1, 0
- ldr r3, [r0, 0xC]
-_0803B608:
- ldr r0, [r2]
- cmp r0, r3
- bne _0803B618
- adds r0, r1, 0
- b _0803B624
- .align 2, 0
-_0803B614: .4byte gUnknown_80E9920
-_0803B618:
- adds r2, 0x8
- adds r1, 0x1
- cmp r1, 0x14
- ble _0803B608
- movs r0, 0x1
- negs r0, r0
-_0803B624:
- pop {r1}
- bx r1
- thumb_func_end sub_803B600
-
- thumb_func_start sub_803B628
-sub_803B628:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r2, _0803B654
- movs r3, 0
-_0803B630:
- ldr r1, [r2]
- ldr r0, [r4, 0xC]
- cmp r1, r0
- beq _0803B650
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r5, 0xC
- ldrsh r0, [r4, r5]
- cmp r1, r0
- bne _0803B658
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r5, 0xE
- ldrsh r0, [r4, r5]
- cmp r1, r0
- bne _0803B658
-_0803B650:
- adds r0, r3, 0
- b _0803B664
- .align 2, 0
-_0803B654: .4byte gUnknown_80E9F8C
-_0803B658:
- adds r2, 0xC
- adds r3, 0x1
- cmp r3, 0x2C
- ble _0803B630
- movs r0, 0x1
- negs r0, r0
-_0803B664:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_803B628
-
- thumb_func_start sub_803B66C
-sub_803B66C:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r2, _0803B698
- movs r3, 0
-_0803B674:
- ldr r1, [r2]
- ldr r0, [r4, 0xC]
- cmp r1, r0
- beq _0803B694
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r5, 0xC
- ldrsh r0, [r4, r5]
- cmp r1, r0
- bne _0803B69C
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r5, 0xE
- ldrsh r0, [r4, r5]
- cmp r1, r0
- bne _0803B69C
-_0803B694:
- adds r0, r3, 0
- b _0803B6A8
- .align 2, 0
-_0803B698: .4byte gUnknown_80E8168
-_0803B69C:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x5
- ble _0803B674
- movs r0, 0x1
- negs r0, r0
-_0803B6A8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_803B66C
-
- thumb_func_start sub_803B6B0
-sub_803B6B0:
- push {r4,lr}
- sub sp, 0x4
- lsls r2, 24
- ldr r4, _0803B6D0
- lsrs r2, 22
- adds r2, r4
- ldr r2, [r2]
- movs r4, 0
- str r4, [sp]
- bl xxx_call_draw_string
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803B6D0: .4byte gUnknown_80E8B94
- thumb_func_end sub_803B6B0
-
- thumb_func_start sub_803B6D4
-sub_803B6D4:
- push {r4-r7,lr}
- sub sp, 0x144
- adds r7, r0, 0
- ldr r1, [r7, 0x48]
- adds r0, 0x43
- ldrb r2, [r0]
- ldr r3, [r7]
- movs r0, 0xA
- bl sub_803B6B0
- adds r0, r7, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0xC
- bls _0803B6F4
- b _0803B86C
-_0803B6F4:
- lsls r0, 2
- ldr r1, _0803B700
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803B700: .4byte _0803B704
- .align 2, 0
-_0803B704:
- .4byte _0803B73E
- .4byte _0803B748
- .4byte _0803B754
- .4byte _0803B738
- .4byte _0803B7A4
- .4byte _0803B7B0
- .4byte _0803B7C8
- .4byte _0803B760
- .4byte _0803B86C
- .4byte _0803B818
- .4byte _0803B7E0
- .4byte _0803B788
- .4byte _0803B76A
-_0803B738:
- ldr r1, [r7, 0x48]
- ldr r2, [r7, 0x4C]
- b _0803B7CC
-_0803B73E:
- ldr r1, [r7, 0x48]
- ldr r2, _0803B744
- b _0803B7CC
- .align 2, 0
-_0803B744: .4byte gMankeyMission
-_0803B748:
- ldr r1, [r7, 0x48]
- ldr r2, _0803B750
- b _0803B7CC
- .align 2, 0
-_0803B750: .4byte gSmeargleMission
-_0803B754:
- ldr r1, [r7, 0x48]
- ldr r2, _0803B75C
- b _0803B7CC
- .align 2, 0
-_0803B75C: .4byte gMedichamMission
-_0803B760:
- ldr r1, [r7, 0x8]
- add r0, sp, 0x4
- bl sub_8090208
- b _0803B850
-_0803B76A:
- ldr r4, _0803B780
- ldrb r1, [r7, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803B784
- add r0, sp, 0x4
- adds r2, r4, 0
- b _0803B84C
- .align 2, 0
-_0803B780: .4byte gUnknown_202DE58
-_0803B784: .4byte gUnknown_80E8830
-_0803B788:
- ldr r4, _0803B79C
- ldrb r1, [r7, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803B7A0
- add r0, sp, 0x4
- adds r2, r4, 0
- b _0803B84C
- .align 2, 0
-_0803B79C: .4byte gUnknown_202DE58
-_0803B7A0: .4byte gUnknown_80E8848
-_0803B7A4:
- ldr r1, [r7, 0x48]
- ldr r2, _0803B7AC
- b _0803B7CC
- .align 2, 0
-_0803B7AC: .4byte gUnknown_80E885C
-_0803B7B0:
- ldr r1, [r7, 0x48]
- ldr r3, _0803B7C4
- ldr r2, [r7, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r3, 0x4
- adds r0, r3
- ldr r2, [r0]
- b _0803B7CC
- .align 2, 0
-_0803B7C4: .4byte gUnknown_80E9F8C
-_0803B7C8:
- ldr r1, [r7, 0x48]
- ldr r2, _0803B7DC
-_0803B7CC:
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x15
- bl xxx_call_draw_string
- b _0803B8B4
- .align 2, 0
-_0803B7DC: .4byte gUnknown_80E886C
-_0803B7E0:
- ldr r0, [r7, 0x8]
- ldr r4, [r0, 0x4]
- ldrb r0, [r0]
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r5, _0803B810
- adds r0, r5, 0
- bl strcpy
- ldr r1, _0803B814
- movs r0, 0x3
- ands r4, r0
- lsls r4, 2
- adds r4, r1
- ldr r1, [r4]
- add r0, sp, 0x4
- adds r2, r5, 0
- b _0803B84C
- .align 2, 0
-_0803B810: .4byte gUnknown_202DF98
-_0803B814: .4byte gUnknown_80EAE5C
-_0803B818:
- ldr r0, [r7, 0x8]
- ldr r4, [r0, 0x4]
- ldrb r0, [r0]
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r6, _0803B864
- adds r0, r6, 0
- bl strcpy
- ldr r5, _0803B868
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r5
- ldr r1, [r0]
- add r0, sp, 0x4
- adds r2, r6, 0
-_0803B84C:
- bl sub_800D158
-_0803B850:
- ldr r1, [r7, 0x48]
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x15
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0803B8B4
- .align 2, 0
-_0803B864: .4byte gUnknown_202DF98
-_0803B868: .4byte gUnknown_80E910C
-_0803B86C:
- ldr r0, [r7, 0x8]
- ldr r4, [r0, 0x4]
- ldrb r0, [r0]
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r6, _0803B8E8
- adds r0, r6, 0
- bl strcpy
- ldr r5, _0803B8EC
- adds r0, r4, 0
- movs r1, 0xF
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r5
- ldr r1, [r0]
- add r0, sp, 0x4
- adds r2, r6, 0
- bl sub_800D158
- ldr r1, [r7, 0x48]
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x15
- add r2, sp, 0x4
- bl xxx_call_draw_string
-_0803B8B4:
- adds r0, r7, 0
- adds r0, 0x40
- ldrb r1, [r0]
- adds r6, r0, 0
- cmp r1, 0x7
- bne _0803B916
- ldr r5, [r7, 0xC]
- cmp r5, 0
- bne _0803B8F0
- bl sub_8016028
- movs r4, 0xB2
- subs r4, r0
- movs r1, 0x10
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r2, r0, 0
- ldr r1, [r7, 0x48]
- ldr r3, [r7]
- str r5, [sp]
- adds r0, r4, 0
- bl xxx_call_draw_string
- b _0803B956
- .align 2, 0
-_0803B8E8: .4byte gUnknown_202DF98
-_0803B8EC: .4byte gUnknown_80E8C98
-_0803B8F0:
- add r4, sp, 0xCC
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xA
- bl sub_80922B4
- bl sub_8016028
- adds r1, r0, 0
- movs r0, 0xB2
- subs r0, r1
- ldr r1, [r7, 0x48]
- ldr r3, [r7]
- movs r2, 0
- str r2, [sp]
- adds r2, r4, 0
- bl xxx_call_draw_string
- b _0803B956
-_0803B916:
- adds r0, r7, 0
- adds r0, 0x42
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0803B93C
- add r4, sp, 0xE0
- ldr r1, [r7, 0x8]
- adds r0, r4, 0
- bl sub_8090228
- ldr r1, _0803B938
- add r0, sp, 0x4
- adds r2, r4, 0
- bl sub_800D158
- b _0803B944
- .align 2, 0
-_0803B938: .4byte gUnknown_80E8884
-_0803B93C:
- ldr r1, [r7, 0x8]
- add r0, sp, 0x4
- bl sub_8090228
-_0803B944:
- ldr r1, [r7, 0x48]
- adds r1, 0xC
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1D
- add r2, sp, 0x4
- bl xxx_call_draw_string
-_0803B956:
- ldrb r0, [r6]
- cmp r0, 0x7
- bne _0803B962
- ldr r0, [r7, 0x8]
- movs r1, 0
- b _0803B968
-_0803B962:
- ldr r0, [r7, 0x8]
- ldr r1, [r7, 0x54]
- ldrb r1, [r1, 0x1]
-_0803B968:
- bl sub_803C1D0
- lsls r0, 24
- lsrs r0, 24
- bl sub_803C1F0
- adds r2, r0, 0
- ldr r1, [r7, 0x48]
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xB4
- bl xxx_call_draw_string
- add sp, 0x144
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_803B6D4
-
- thumb_func_start sub_803B98C
-sub_803B98C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x1FC
- adds r7, r0, 0
- movs r0, 0
- mov r9, r0
- ldr r2, _0803B9E0
- ldr r3, [r7]
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, _0803B9E4
- adds r0, r7, 0
- adds r0, 0x44
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- ldr r3, [r7]
- mov r1, r9
- str r1, [sp]
- movs r0, 0x6C
- movs r1, 0
- bl xxx_call_draw_string
- movs r0, 0x10
- mov r9, r0
- adds r0, r7, 0
- adds r0, 0x41
- ldrb r0, [r0]
- cmp r0, 0x10
- bls _0803B9D6
- b _0803BCC0
-_0803B9D6:
- lsls r0, 2
- ldr r1, _0803B9E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803B9E0: .4byte gUnknown_80E888C
-_0803B9E4: .4byte gUnknown_80E8BCC
-_0803B9E8: .4byte _0803B9EC
- .align 2, 0
-_0803B9EC:
- .4byte _0803BA34
- .4byte _0803BA3C
- .4byte _0803BA44
- .4byte _0803BA30
- .4byte _0803BA4C
- .4byte _0803BA6C
- .4byte _0803BA8C
- .4byte _0803BAA0
- .4byte _0803BBF0
- .4byte _0803BAE8
- .4byte _0803BAF0
- .4byte _0803BAF8
- .4byte _0803BCC0
- .4byte _0803BC58
- .4byte _0803BB74
- .4byte _0803BB10
- .4byte _0803BB10
-_0803BA30:
- ldr r2, [r7, 0x50]
- b _0803BAFA
-_0803BA34:
- ldr r2, _0803BA38
- b _0803BAFA
- .align 2, 0
-_0803BA38: .4byte gUnknown_80E88A0
-_0803BA3C:
- ldr r2, _0803BA40
- b _0803BAFA
- .align 2, 0
-_0803BA40: .4byte gUnknown_80E88C8
-_0803BA44:
- ldr r2, _0803BA48
- b _0803BAFA
- .align 2, 0
-_0803BA48: .4byte gUnknown_80E8920
-_0803BA4C:
- ldr r4, _0803BA64
- ldrb r1, [r7, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803BA68
- add r0, sp, 0x4
- adds r2, r4, 0
- bl sub_800D158
- b _0803BACC
- .align 2, 0
-_0803BA64: .4byte gUnknown_202DE58
-_0803BA68: .4byte gUnknown_80E8968
-_0803BA6C:
- ldr r4, _0803BA84
- ldrb r1, [r7, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803BA88
- add r0, sp, 0x4
- adds r2, r4, 0
- bl sub_800D158
- b _0803BACC
- .align 2, 0
-_0803BA84: .4byte gUnknown_202DE58
-_0803BA88: .4byte gUnknown_80E89B0
-_0803BA8C:
- ldr r1, _0803BA9C
- ldr r0, [r7, 0x4]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r2, [r0]
- b _0803BAFA
- .align 2, 0
-_0803BA9C: .4byte gUnknown_80E9920
-_0803BAA0:
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r4, _0803BAE0
- adds r0, r4, 0
- bl strcpy
- ldr r2, _0803BAE4
- ldr r1, [r7, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r1, [r0]
- add r0, sp, 0x4
- adds r2, r4, 0
- adds r3, r4, 0
- bl sub_800D158
-_0803BACC:
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0803BD42
- .align 2, 0
-_0803BAE0: .4byte gUnknown_202DF98
-_0803BAE4: .4byte gUnknown_80E9F8C
-_0803BAE8:
- ldr r2, _0803BAEC
- b _0803BAFA
- .align 2, 0
-_0803BAEC: .4byte gUnknown_80E89FC
-_0803BAF0:
- ldr r2, _0803BAF4
- b _0803BAFA
- .align 2, 0
-_0803BAF4: .4byte gUnknown_80E8A40
-_0803BAF8:
- ldr r2, _0803BB0C
-_0803BAFA:
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- b _0803BD42
- .align 2, 0
-_0803BB0C: .4byte gUnknown_80E8A7C
-_0803BB10:
- ldr r0, [r7, 0x8]
- ldr r5, [r0, 0x4]
- ldrb r4, [r0]
- adds r4, r5, r4
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r0, 0x1]
- adds r5, r0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0803BB68
- mov r8, r0
- ldrb r1, [r7, 0x14]
- movs r2, 0
- bl sub_8090DC4
- ldr r6, _0803BB6C
- adds r0, r4, 0
- movs r1, 0x16
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r6
- ldr r1, [r0]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- movs r6, 0
- str r6, [sp]
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- movs r1, 0xC
- add r9, r1
- ldr r4, _0803BB70
- adds r0, r5, 0
- movs r1, 0x16
- b _0803BD1A
- .align 2, 0
-_0803BB68: .4byte gUnknown_202DE58
-_0803BB6C: .4byte gUnknown_80EB3F8
-_0803BB70: .4byte gUnknown_80EB72C
-_0803BB74:
- ldr r0, [r7, 0x8]
- ldr r5, [r0, 0x4]
- ldrb r4, [r0]
- adds r4, r5, r4
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r0, 0x1]
- adds r5, r0
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0803BBE4
- mov r8, r0
- bl strcpy
- ldr r6, _0803BBE8
- adds r0, r4, 0
- movs r1, 0x14
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r6
- ldr r1, [r0]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- movs r4, 0
- str r4, [sp]
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- movs r1, 0xC
- add r9, r1
- ldr r1, _0803BBEC
- movs r0, 0x3
- ands r5, r0
- lsls r5, 2
- adds r5, r1
- ldr r1, [r5]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- str r4, [sp]
- b _0803BD32
- .align 2, 0
-_0803BBE4: .4byte gUnknown_202DF98
-_0803BBE8: .4byte gUnknown_80EAEB8
-_0803BBEC: .4byte gUnknown_80EB198
-_0803BBF0:
- ldr r0, [r7, 0x8]
- ldr r5, [r0, 0x4]
- ldrb r4, [r0]
- adds r4, r5, r4
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r0, 0x1]
- adds r5, r0
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0803BC4C
- mov r8, r0
- bl strcpy
- ldr r6, _0803BC50
- adds r0, r4, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r6
- ldr r1, [r0]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- movs r6, 0
- str r6, [sp]
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- movs r1, 0xC
- add r9, r1
- ldr r4, _0803BC54
- adds r0, r5, 0
- movs r1, 0x6
- b _0803BD1A
- .align 2, 0
-_0803BC4C: .4byte gUnknown_202DF98
-_0803BC50: .4byte gUnknown_80EB220
-_0803BC54: .4byte gUnknown_80EB2F0
-_0803BC58:
- ldr r0, [r7, 0x8]
- ldr r5, [r0, 0x4]
- ldrb r4, [r0]
- adds r4, r5, r4
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r0, 0x1]
- adds r5, r0
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0803BCB4
- mov r8, r0
- bl strcpy
- ldr r6, _0803BCB8
- adds r0, r4, 0
- movs r1, 0x2D
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r6
- ldr r1, [r0]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- movs r6, 0
- str r6, [sp]
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- movs r1, 0xC
- add r9, r1
- ldr r4, _0803BCBC
- adds r0, r5, 0
- movs r1, 0xA
- b _0803BD1A
- .align 2, 0
-_0803BCB4: .4byte gUnknown_202DF98
-_0803BCB8: .4byte gUnknown_80E91D4
-_0803BCBC: .4byte gUnknown_80E9820
-_0803BCC0:
- ldr r0, [r7, 0x8]
- ldr r5, [r0, 0x4]
- ldrb r4, [r0]
- adds r4, r5, r4
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r0, 0x1]
- adds r5, r0
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x10
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0803BD78
- mov r8, r0
- bl strcpy
- ldr r6, _0803BD7C
- adds r0, r4, 0
- movs r1, 0xD
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r6
- ldr r1, [r0]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- movs r6, 0
- str r6, [sp]
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- movs r1, 0xC
- add r9, r1
- ldr r4, _0803BD80
- adds r0, r5, 0
- movs r1, 0xD
-_0803BD1A:
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r1, [r0]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- str r6, [sp]
-_0803BD32:
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- movs r0, 0xC
- negs r0, r0
- add r9, r0
-_0803BD42:
- movs r1, 0x1C
- add r9, r1
- ldr r2, _0803BD84
- ldr r3, [r7]
- movs r0, 0
- mov r8, r0
- str r0, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- ldr r1, [r7, 0xC]
- cmp r1, 0
- bne _0803BD88
- movs r1, 0x10
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r2, r0, 0
- ldr r3, [r7]
- mov r0, r8
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- bl xxx_call_draw_string
- b _0803BDBC
- .align 2, 0
-_0803BD78: .4byte gUnknown_202DF98
-_0803BD7C: .4byte gUnknown_80E8DE4
-_0803BD80: .4byte gUnknown_80E8FB0
-_0803BD84: .4byte gUnknown_80E8AC8
-_0803BD88:
- add r6, sp, 0x158
- adds r0, r6, 0
- movs r2, 0xA
- bl sub_80922B4
- add r4, sp, 0x16C
- movs r0, 0x10
- ldrsh r1, [r7, r0]
- adds r0, r4, 0
- bl sub_808D930
- add r5, sp, 0x130
- ldr r1, _0803BDE8
- adds r0, r5, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl sub_800D158
- ldr r3, [r7]
- mov r1, r8
- str r1, [sp]
- movs r0, 0x44
- mov r1, r9
- adds r2, r5, 0
- bl xxx_call_draw_string
-_0803BDBC:
- movs r0, 0xC
- add r9, r0
- ldr r2, _0803BDEC
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- adds r0, r7, 0
- adds r0, 0x42
- ldrb r1, [r0]
- adds r5, r0, 0
- cmp r1, 0x6
- bhi _0803BEB8
- lsls r0, r1, 2
- ldr r1, _0803BDF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803BDE8: .4byte gUnknown_80E8AD0
-_0803BDEC: .4byte gUnknown_80E8AE0
-_0803BDF0: .4byte _0803BDF4
- .align 2, 0
-_0803BDF4:
- .4byte _0803BE10
- .4byte _0803BE30
- .4byte _0803BE18
- .4byte _0803BE48
- .4byte _0803BE80
- .4byte _0803BE60
- .4byte _0803BEB8
-_0803BE10:
- ldr r2, _0803BE14
- b _0803BE4A
- .align 2, 0
-_0803BE14: .4byte gUnknown_80E8AEC
-_0803BE18:
- ldr r4, _0803BE28
- ldrb r1, [r7, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803BE2C
- b _0803BE94
- .align 2, 0
-_0803BE28: .4byte gUnknown_202DE58
-_0803BE2C: .4byte gUnknown_80E8AFC
-_0803BE30:
- ldr r4, _0803BE40
- ldrb r1, [r7, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803BE44
- b _0803BE94
- .align 2, 0
-_0803BE40: .4byte gUnknown_202DE58
-_0803BE44: .4byte gUnknown_80E8B10
-_0803BE48:
- ldr r2, _0803BE5C
-_0803BE4A:
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- bl xxx_call_draw_string
- b _0803BEC8
- .align 2, 0
-_0803BE5C: .4byte gUnknown_80E8B20
-_0803BE60:
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r4, _0803BE78
- adds r0, r4, 0
- bl strcpy
- ldr r1, _0803BE7C
- b _0803BE94
- .align 2, 0
-_0803BE78: .4byte gUnknown_202DF98
-_0803BE7C: .4byte gUnknown_80E8B2C
-_0803BE80:
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r4, _0803BEB0
- adds r0, r4, 0
- bl strcpy
- ldr r1, _0803BEB4
-_0803BE94:
- add r0, sp, 0x4
- adds r2, r4, 0
- bl sub_800D158
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0803BEC8
- .align 2, 0
-_0803BEB0: .4byte gUnknown_202DF98
-_0803BEB4: .4byte gUnknown_80E8B40
-_0803BEB8:
- ldr r2, _0803BEF8
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- bl xxx_call_draw_string
-_0803BEC8:
- movs r0, 0xC
- add r9, r0
- ldr r2, _0803BEFC
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- ldrb r0, [r5]
- cmp r0, 0x1
- bne _0803BF04
- add r4, sp, 0x180
- ldr r1, [r7, 0x8]
- adds r0, r4, 0
- bl sub_8090228
- ldr r1, _0803BF00
- add r0, sp, 0x4
- adds r2, r4, 0
- bl sub_800D158
- b _0803BF0C
- .align 2, 0
-_0803BEF8: .4byte gSpecialMissionText
-_0803BEFC: .4byte gPlaceText
-_0803BF00: .4byte gUnknown_80E8884
-_0803BF04:
- ldr r1, [r7, 0x8]
- add r0, sp, 0x4
- bl sub_8090228
-_0803BF0C:
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- ldrb r0, [r5]
- cmp r0, 0
- bne _0803BF28
- ldr r0, [r7, 0x8]
- movs r1, 0
- b _0803BF2E
-_0803BF28:
- ldr r0, [r7, 0x8]
- ldr r1, [r7, 0x54]
- ldrb r1, [r1, 0x1]
-_0803BF2E:
- bl sub_803C1D0
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0xC
- add r9, r1
- ldr r2, _0803BF88
- ldr r3, [r7]
- movs r6, 0
- str r6, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- adds r0, r4, 0
- bl sub_803C1F0
- adds r2, r0, 0
- ldr r3, [r7]
- str r6, [sp]
- movs r0, 0x44
- mov r1, r9
- bl xxx_call_draw_string
- movs r0, 0xC
- add r9, r0
- ldr r2, _0803BF8C
- ldr r3, [r7]
- str r6, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- adds r0, r7, 0
- adds r0, 0x2E
- ldrb r2, [r0]
- adds r5, r0, 0
- cmp r2, 0x4
- bhi _0803C02C
- lsls r0, r2, 2
- ldr r1, _0803BF90
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803BF88: .4byte gDifficultyText
-_0803BF8C: .4byte gRewardText
-_0803BF90: .4byte _0803BF94
- .align 2, 0
-_0803BF94:
- .4byte _0803BFA8
- .4byte _0803BFBC
- .4byte _0803BFD0
- .4byte _0803BFD0
- .4byte _0803C00C
-_0803BFA8:
- ldr r1, _0803BFB8
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r2, [r7, 0x30]
- add r0, sp, 0x4
- b _0803BFEE
- .align 2, 0
-_0803BFB8: .4byte gUnknown_80E8C48
-_0803BFBC:
- ldr r1, _0803BFCC
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r2, [r7, 0x30]
- add r0, sp, 0x4
- b _0803BFEE
- .align 2, 0
-_0803BFCC: .4byte gUnknown_80E8C48
-_0803BFD0:
- ldr r4, _0803C004
- adds r0, r7, 0
- adds r0, 0x34
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803C008
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- add r0, sp, 0x4
- adds r2, r4, 0
-_0803BFEE:
- bl sub_800D158
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0803C040
- .align 2, 0
-_0803C004: .4byte gUnknown_202DE58
-_0803C008: .4byte gUnknown_80E8C48
-_0803C00C:
- ldr r1, _0803C028
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- bl xxx_call_draw_string
- b _0803C040
- .align 2, 0
-_0803C028: .4byte gUnknown_80E8C48
-_0803C02C:
- ldr r1, _0803C0D4
- lsls r0, r2, 2
- adds r0, r1
- ldr r2, [r0]
- ldr r3, [r7]
- str r6, [sp]
- movs r0, 0x44
- mov r1, r9
- bl xxx_call_draw_string
-_0803C040:
- movs r1, 0xC
- add r9, r1
- adds r0, r7, 0
- adds r0, 0x41
- ldrb r1, [r0]
- adds r0, r1, 0
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _0803C0C6
- cmp r1, 0x3
- beq _0803C0C6
- ldr r0, [r7, 0x54]
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _0803C0C6
- ldr r2, _0803C0D8
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- add r0, sp, 0x1E4
- ldr r1, [r7, 0x54]
- bl sub_803D414
- movs r4, 0
-_0803C07C:
- cmp r4, 0xC
- bne _0803C084
- movs r0, 0xC
- add r9, r0
-_0803C084:
- movs r5, 0x7
- cmp r4, 0x3
- ble _0803C09C
- movs r5, 0x6
- cmp r4, 0x7
- ble _0803C09C
- movs r5, 0x7
- cmp r4, 0xF
- ble _0803C09C
- cmp r4, 0x13
- bgt _0803C09C
- movs r5, 0x6
-_0803C09C:
- adds r0, r4, 0
- movs r1, 0xC
- bl __modsi3
- adds r1, r0, 0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, 0x54
- add r1, sp, 0x1E4
- adds r1, r4
- ldrb r2, [r1]
- ldr r1, [r7]
- str r1, [sp]
- mov r1, r9
- adds r3, r5, 0
- bl sub_8012C60
- adds r4, 0x1
- cmp r4, 0x17
- ble _0803C07C
-_0803C0C6:
- add sp, 0x1FC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803C0D4: .4byte gUnknown_80E8C48
-_0803C0D8: .4byte gUnknown_80E8B7C
- thumb_func_end sub_803B98C
-
- thumb_func_start sub_803C0DC
-sub_803C0DC:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_808E770
- lsls r0, 16
- asrs r2, r0, 16
- ldr r1, _0803C0F0
- b _0803C102
- .align 2, 0
-_0803C0F0: .4byte gUnknown_80E80E0
-_0803C0F4:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, r2
- bne _0803C100
- movs r0, 0
- b _0803C10C
-_0803C100:
- adds r1, 0x2
-_0803C102:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _0803C0F4
- movs r0, 0x1
-_0803C10C:
- pop {r1}
- bx r1
- thumb_func_end sub_803C0DC
-
- thumb_func_start sub_803C110
-sub_803C110:
- push {r4,lr}
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_8098134
- lsls r0, 24
- cmp r0, 0
- beq _0803C180
- adds r0, r4, 0
- bl sub_808E770
- lsls r0, 16
- asrs r0, 16
- cmp r4, r0
- bne _0803C180
- adds r0, r4, 0
- bl sub_803C0DC
- lsls r0, 24
- cmp r0, 0
- beq _0803C180
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _0803C188
- ldr r1, _0803C184
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0803C168
- adds r2, r1, 0
-_0803C154:
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r0, r4
- beq _0803C180
- adds r1, 0x2
- adds r2, 0x2
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _0803C154
-_0803C168:
- bl sub_808D33C
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, r4
- beq _0803C180
- bl sub_808D378
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- cmp r0, r4
- bne _0803C188
-_0803C180:
- movs r0, 0
- b _0803C18A
- .align 2, 0
-_0803C184: .4byte gUnknown_80E8126
-_0803C188:
- movs r0, 0x1
-_0803C18A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_803C110
-
.align 2,0
diff --git a/asm/personality_test_2.s b/asm/personality_test_2.s
index 8ff0bfc..3f9d8f6 100644
--- a/asm/personality_test_2.s
+++ b/asm/personality_test_2.s
@@ -72,7 +72,7 @@ _0803CF68:
adds r0, r1
movs r1, 0
ldrsh r0, [r0, r1]
- bl sub_808D994
+ bl GetMonSpecies
adds r2, r0, 0
ldr r0, [r6]
ldr r3, [r0, 0x4C]
diff --git a/asm/pokemon.s b/asm/pokemon.s
index 852b601..bd729f7 100644
--- a/asm/pokemon.s
+++ b/asm/pokemon.s
@@ -147,11 +147,11 @@ _0808CEA4:
add r4, sp, 0x58
adds r0, r4, 0
adds r1, r7, 0
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
add r0, sp, 0x4C
adds r1, r4, 0
movs r2, 0xA
- bl sub_8092310
+ bl BoundedCopyStringtoBuffer
lsls r4, r7, 3
b _0808CF72
_0808CF36:
@@ -339,11 +339,11 @@ _0808D09A:
bne _0808D0B4
mov r0, sp
mov r1, r9
- bl sub_808D8BC
+ bl CopySpeciesNametoBuffer
mov r0, r8
mov r1, sp
movs r2, 0xA
- bl sub_8092310
+ bl BoundedCopyStringtoBuffer
b _0808D0C8
_0808D0B4:
movs r2, 0
@@ -1422,10 +1422,10 @@ sub_808D824:
adds r4, r0, 0
movs r1, 0x8
ldrsh r0, [r4, r1]
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
mov r0, sp
- bl sub_80922F4
+ bl CopyStringtoBuffer
movs r2, 0
adds r4, 0x4C
_0808D83E:
@@ -1475,10 +1475,10 @@ sub_808D864:
movs r7, 0
_0808D888:
ldrb r0, [r6]
- bl sub_8092280
+ bl ReturnIntFromChar
adds r4, r0, 0
ldrb r0, [r5]
- bl sub_8092280
+ bl ReturnIntFromChar
cmp r4, r0
ble _0808D8A4
movs r0, 0x1
@@ -1501,8 +1501,8 @@ _0808D8B4:
bx r1
thumb_func_end sub_808D864
- thumb_func_start sub_808D8BC
-sub_808D8BC:
+ thumb_func_start CopySpeciesNametoBuffer
+CopySpeciesNametoBuffer:
push {lr}
lsls r1, 16
asrs r1, 16
@@ -1519,7 +1519,7 @@ sub_808D8BC:
bx r0
.align 2, 0
_0808D8DC: .4byte gMonsterParameters
- thumb_func_end sub_808D8BC
+ thumb_func_end CopySpeciesNametoBuffer
thumb_func_start sub_808D8E0
sub_808D8E0:
@@ -1579,7 +1579,7 @@ sub_808D930:
bne _0808D970
ldr r5, _0808D968
movs r0, 0xC9
- bl sub_808D994
+ bl GetMonSpecies
adds r4, r0, 0
adds r0, r6, 0
bl sub_808E8C8
@@ -1614,8 +1614,8 @@ _0808D98C: .4byte gUnknown_8107638
_0808D990: .4byte gMonsterParameters
thumb_func_end sub_808D930
- thumb_func_start sub_808D994
-sub_808D994:
+ thumb_func_start GetMonSpecies
+GetMonSpecies:
lsls r0, 16
asrs r0, 16
ldr r1, _0808D9A8
@@ -1628,7 +1628,7 @@ sub_808D994:
bx lr
.align 2, 0
_0808D9A8: .4byte gMonsterParameters
- thumb_func_end sub_808D994
+ thumb_func_end GetMonSpecies
thumb_func_start sub_808D9AC
sub_808D9AC:
diff --git a/asm/wonder_mail.s b/asm/wonder_mail.s
index ba61bb1..3492026 100644
--- a/asm/wonder_mail.s
+++ b/asm/wonder_mail.s
@@ -5,1183 +5,6 @@
.text
- thumb_func_start sub_8029B50
-sub_8029B50:
- push {r4,r5,lr}
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _08029C3C
- ldr r4, _08029C40
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
- ldr r0, _08029C44
- movs r4, 0x98
- lsls r4, 1
- adds r1, r4, 0
- bl sub_808D8E0
- adds r0, r4, 0
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _08029C48
- bl strcpy
- adds r0, r4, 0
- bl GetDialogueSpriteDataPtr
- ldr r2, [r5]
- movs r3, 0x84
- lsls r3, 3
- adds r1, r2, r3
- str r0, [r1]
- adds r3, 0x4
- adds r1, r2, r3
- ldr r0, [r0, 0x4]
- str r0, [r1]
- ldr r0, _08029C4C
- adds r2, r0
- movs r1, 0
- strb r1, [r2]
- ldr r0, [r5]
- ldr r2, _08029C50
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r5]
- adds r3, 0xA
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r5]
- movs r0, 0x85
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0x2
- strh r0, [r2]
- ldr r2, _08029C54
- adds r1, r2
- movs r0, 0x8
- strh r0, [r1]
- movs r1, 0
- movs r2, 0
-_08029BD8:
- ldr r0, [r5]
- adds r0, 0x8
- adds r0, r1
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0x35
- ble _08029BD8
- ldr r5, _08029C3C
- ldr r1, [r5]
- ldr r3, _08029C58
- adds r2, r1, r3
- movs r0, 0x3
- str r0, [r2]
- movs r0, 0xA7
- lsls r0, 3
- adds r1, r0
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0x6
- bl sub_80953D4
- adds r4, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08029C60
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8095228
- ldr r1, [r5]
- ldr r2, _08029C5C
- adds r3, r1, r2
- ldr r2, [r0, 0x20]
- str r2, [r3]
- movs r3, 0x86
- lsls r3, 2
- adds r1, r3
- strb r4, [r1]
- ldr r1, [r5]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- ldr r0, [r0, 0x10]
- str r0, [r1]
- movs r0, 0x5
- bl sub_802B2BC
- b _08029C7C
- .align 2, 0
-_08029C3C: .4byte gUnknown_203B2C4
-_08029C40: .4byte 0x00000564
-_08029C44: .4byte gUnknown_202E5D8
-_08029C48: .4byte gUnknown_202DF98
-_08029C4C: .4byte 0x0000042c
-_08029C50: .4byte 0x0000042d
-_08029C54: .4byte 0x0000042a
-_08029C58: .4byte 0x00000534
-_08029C5C: .4byte 0x0000041c
-_08029C60:
- ldr r1, [r5]
- ldr r3, _08029C8C
- adds r2, r1, r3
- ldr r0, _08029C90
- ldr r0, [r0]
- str r0, [r2]
- movs r0, 0x86
- lsls r0, 2
- adds r1, r0
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0
- bl sub_802B2BC
-_08029C7C:
- ldr r0, _08029C94
- ldr r1, [r0]
- movs r0, 0x2B
- str r0, [r1, 0x4]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08029C8C: .4byte 0x0000041c
-_08029C90: .4byte gUnknown_80DED44
-_08029C94: .4byte gUnknown_203B2C4
- thumb_func_end sub_8029B50
-
- thumb_func_start sub_8029C98
-sub_8029C98:
- push {lr}
- ldr r0, _08029CB0
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x2A
- bls _08029CA6
- b _08029E58
-_08029CA6:
- lsls r0, 2
- ldr r1, _08029CB4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08029CB0: .4byte gUnknown_203B2C4
-_08029CB4: .4byte _08029CB8
- .align 2, 0
-_08029CB8:
- .4byte _08029E48
- .4byte _08029E48
- .4byte _08029E4E
- .4byte _08029E54
- .4byte _08029E42
- .4byte _08029D64
- .4byte _08029E3C
- .4byte _08029E30
- .4byte _08029E36
- .4byte _08029E2A
- .4byte _08029E24
- .4byte _08029E1E
- .4byte _08029E0C
- .4byte _08029E06
- .4byte _08029D76
- .4byte _08029D7C
- .4byte _08029D8E
- .4byte _08029D82
- .4byte _08029D88
- .4byte _08029D94
- .4byte _08029D9A
- .4byte _08029DA0
- .4byte _08029DE8
- .4byte _08029DF4
- .4byte _08029DEE
- .4byte _08029DB2
- .4byte _08029DB8
- .4byte _08029DAC
- .4byte _08029DA6
- .4byte _08029DFA
- .4byte _08029D6A
- .4byte _08029D70
- .4byte _08029E00
- .4byte _08029DDC
- .4byte _08029DE2
- .4byte _08029E58
- .4byte _08029DD6
- .4byte _08029DD0
- .4byte _08029DC4
- .4byte _08029DCA
- .4byte _08029DBE
- .4byte _08029E12
- .4byte _08029E18
-_08029D64:
- bl sub_802AB7C
- b _08029E58
-_08029D6A:
- bl sub_8029F98
- b _08029E58
-_08029D70:
- bl sub_8029EA8
- b _08029E58
-_08029D76:
- bl sub_802A090
- b _08029E58
-_08029D7C:
- bl sub_802A158
- b _08029E58
-_08029D82:
- bl sub_802A174
- b _08029E58
-_08029D88:
- bl sub_802A230
- b _08029E58
-_08029D8E:
- bl sub_802A0C8
- b _08029E58
-_08029D94:
- bl sub_802A28C
- b _08029E58
-_08029D9A:
- bl sub_802A39C
- b _08029E58
-_08029DA0:
- bl sub_802A33C
- b _08029E58
-_08029DA6:
- bl sub_802A458
- b _08029E58
-_08029DAC:
- bl sub_802A4AC
- b _08029E58
-_08029DB2:
- bl sub_802A4D4
- b _08029E58
-_08029DB8:
- bl sub_802A050
- b _08029E58
-_08029DBE:
- bl sub_802A9FC
- b _08029E58
-_08029DC4:
- bl sub_802A4F0
- b _08029E58
-_08029DCA:
- bl sub_802A50C
- b _08029E58
-_08029DD0:
- bl sub_802A6B4
- b _08029E58
-_08029DD6:
- bl sub_802A718
- b _08029E58
-_08029DDC:
- bl sub_802AB60
- b _08029E58
-_08029DE2:
- bl sub_802AB98
- b _08029E58
-_08029DE8:
- bl sub_802A740
- b _08029E58
-_08029DEE:
- bl sub_802A68C
- b _08029E58
-_08029DF4:
- bl sub_802A6F0
- b _08029E58
-_08029DFA:
- bl sub_802A75C
- b _08029E58
-_08029E00:
- bl sub_802A490
- b _08029E58
-_08029E06:
- bl sub_802A474
- b _08029E58
-_08029E0C:
- bl sub_802A798
- b _08029E58
-_08029E12:
- bl sub_802A828
- b _08029E58
-_08029E18:
- bl sub_802A850
- b _08029E58
-_08029E1E:
- bl sub_802A8A0
- b _08029E58
-_08029E24:
- bl sub_802A8BC
- b _08029E58
-_08029E2A:
- bl sub_802A910
- b _08029E58
-_08029E30:
- bl sub_802A98C
- b _08029E58
-_08029E36:
- bl sub_802A9A8
- b _08029E58
-_08029E3C:
- bl sub_802AA28
- b _08029E58
-_08029E42:
- bl sub_802AAAC
- b _08029E58
-_08029E48:
- bl sub_802AAE4
- b _08029E58
-_08029E4E:
- bl sub_802AAC8
- b _08029E58
-_08029E54:
- movs r0, 0x3
- b _08029E5A
-_08029E58:
- movs r0, 0
-_08029E5A:
- pop {r1}
- bx r1
- thumb_func_end sub_8029C98
-
- thumb_func_start sub_8029E60
-sub_8029E60:
- push {r4,lr}
- ldr r4, _08029EA4
- ldr r0, [r4]
- cmp r0, 0
- beq _08029E9C
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- 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
- bl sub_802F2C0
-_08029E9C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08029EA4: .4byte gUnknown_203B2C4
- thumb_func_end sub_8029E60
-
- thumb_func_start sub_8029EA8
-sub_8029EA8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08029EBC
- movs r0, 0x1
- bl sub_802B2BC
-_08029EBC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8029EA8
-
- thumb_func_start sub_8029EC4
-sub_8029EC4:
- push {lr}
- cmp r0, 0xF
- bhi _08029F88
- lsls r0, 2
- ldr r1, _08029ED4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08029ED4: .4byte _08029ED8
- .align 2, 0
-_08029ED8:
- .4byte _08029F88
- .4byte _08029F50
- .4byte _08029F50
- .4byte _08029F18
- .4byte _08029F20
- .4byte _08029F50
- .4byte _08029F28
- .4byte _08029F30
- .4byte _08029F88
- .4byte _08029F38
- .4byte _08029F88
- .4byte _08029F40
- .4byte _08029F88
- .4byte _08029F48
- .4byte _08029F50
- .4byte _08029F74
-_08029F18:
- ldr r0, _08029F1C
- b _08029F52
- .align 2, 0
-_08029F1C: .4byte gUnknown_80DEF28
-_08029F20:
- ldr r0, _08029F24
- b _08029F52
- .align 2, 0
-_08029F24: .4byte gUnknown_80DEF80
-_08029F28:
- ldr r0, _08029F2C
- b _08029F52
- .align 2, 0
-_08029F2C: .4byte gUnknown_80DEFDC
-_08029F30:
- ldr r0, _08029F34
- b _08029F52
- .align 2, 0
-_08029F34: .4byte gUnknown_80DF044
-_08029F38:
- ldr r0, _08029F3C
- b _08029F52
- .align 2, 0
-_08029F3C: .4byte gUnknown_80DF0A0
-_08029F40:
- ldr r0, _08029F44
- b _08029F52
- .align 2, 0
-_08029F44: .4byte gUnknown_80DF0A0
-_08029F48:
- ldr r0, _08029F4C
- b _08029F52
- .align 2, 0
-_08029F4C: .4byte gUnknown_80DF0E0
-_08029F50:
- ldr r0, _08029F68
-_08029F52:
- ldr r1, _08029F6C
- ldr r2, [r1]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- ldr r3, _08029F70
- movs r1, 0
- bl sub_80141B4
- b _08029F88
- .align 2, 0
-_08029F68: .4byte gUnknown_80DEF04
-_08029F6C: .4byte gUnknown_203B2C4
-_08029F70: .4byte 0x0000010d
-_08029F74:
- ldr r0, _08029F8C
- ldr r1, _08029F90
- ldr r2, [r1]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- ldr r3, _08029F94
- movs r1, 0
- bl sub_80141B4
-_08029F88:
- pop {r0}
- bx r0
- .align 2, 0
-_08029F8C: .4byte gUnknown_80DF138
-_08029F90: .4byte gUnknown_203B2C4
-_08029F94: .4byte 0x0000010d
- thumb_func_end sub_8029EC4
-
- thumb_func_start sub_8029F98
-sub_8029F98:
- push {r4-r6,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- adds r6, r0, 0
- cmp r6, 0
- bne _0802A048
- ldr r4, _08029FE4
- ldr r0, [r4]
- ldr r5, _08029FE8
- adds r0, r5
- movs r1, 0
- movs r2, 0x4
- bl MemoryFill8
- ldr r0, [r4]
- ldr r1, _08029FEC
- 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 _0802A03C
- ldr r1, [r0, 0x40]
- cmp r1, 0x6
- beq _08029FF0
- cmp r1, 0x7
- beq _0802A034
- b _0802A048
- .align 2, 0
-_08029FE4: .4byte gUnknown_203B2C4
-_08029FE8: .4byte 0x0000041c
-_08029FEC: .4byte 0x0000041e
-_08029FF0:
- ldr r1, _0802A004
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x4
- beq _0802A020
- cmp r0, 0x4
- bgt _0802A008
- cmp r0, 0x3
- beq _0802A00C
- b _0802A020
- .align 2, 0
-_0802A004: .4byte 0x00000534
-_0802A008:
- cmp r0, 0x6
- bgt _0802A020
-_0802A00C:
- ldr r0, _0802A028
- ldr r1, _0802A02C
- ldr r2, [r1]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- ldr r3, _0802A030
- movs r1, 0
- bl sub_80141B4
-_0802A020:
- movs r0, 0xD
- bl sub_802B2BC
- b _0802A048
- .align 2, 0
-_0802A028: .4byte gUnknown_80DF194
-_0802A02C: .4byte gUnknown_203B2C4
-_0802A030: .4byte 0x0000010d
-_0802A034:
- movs r0, 0x21
- bl sub_802B2BC
- b _0802A048
-_0802A03C:
- adds r0, r1, 0
- bl sub_8029EC4
- movs r0, 0x1F
- bl sub_802B2BC
-_0802A048:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8029F98
-
- thumb_func_start sub_802A050
-sub_802A050:
- push {lr}
- bl sub_8031DCC
- cmp r0, 0x1
- beq _0802A088
- cmp r0, 0x1
- bcc _0802A08C
- cmp r0, 0x3
- bhi _0802A08C
- bl sub_8031E10
- bl ResetUnusedInputStruct
- ldr r0, _0802A084
- ldr r0, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1B
- bl sub_802B2BC
- b _0802A08C
- .align 2, 0
-_0802A084: .4byte gUnknown_203B2C4
-_0802A088:
- bl sub_8031E00
-_0802A08C:
- pop {r0}
- bx r0
- thumb_func_end sub_802A050
-
- thumb_func_start sub_802A090
-sub_802A090:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A0C2
- ldr r0, [sp]
- cmp r0, 0x7
- beq _0802A0B4
- cmp r0, 0x7
- bgt _0802A0AE
- cmp r0, 0
- beq _0802A0BC
- b _0802A0C2
-_0802A0AE:
- cmp r0, 0x8
- beq _0802A0BC
- b _0802A0C2
-_0802A0B4:
- movs r0, 0x6
- bl sub_802B2BC
- b _0802A0C2
-_0802A0BC:
- movs r0, 0x1
- bl sub_802B2BC
-_0802A0C2:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A090
-
- thumb_func_start sub_802A0C8
-sub_802A0C8:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_8030768
- cmp r0, 0x3
- beq _0802A0F0
- cmp r0, 0x3
- bhi _0802A0DE
- cmp r0, 0x2
- beq _0802A0E4
- b _0802A14E
-_0802A0DE:
- cmp r0, 0x4
- beq _0802A10C
- b _0802A14E
-_0802A0E4:
- bl sub_803084C
- movs r0, 0x1
- bl sub_802B2BC
- b _0802A14E
-_0802A0F0:
- bl sub_80307EC
- ldr r1, _0802A108
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x11
- bl sub_802B2BC
- b _0802A14E
- .align 2, 0
-_0802A108: .4byte gUnknown_203B2C4
-_0802A10C:
- ldr r4, _0802A154
- ldr r1, [r4]
- movs r0, 0x10
- 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, 0x12
- bl sub_802B2BC
-_0802A14E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802A154: .4byte gUnknown_203B2C4
- thumb_func_end sub_802A0C8
-
- thumb_func_start sub_802A158
-sub_802A158:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A16C
- movs r0, 0x10
- bl sub_802B2BC
-_0802A16C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A158
-
- thumb_func_start sub_802A174
-sub_802A174:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_8030768
- ldr r4, _0802A1B8
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802A1A6
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_0802A1A6:
- ldr r0, [sp]
- cmp r0, 0xB
- beq _0802A1C6
- cmp r0, 0xB
- bgt _0802A1BC
- cmp r0, 0
- beq _0802A208
- b _0802A224
- .align 2, 0
-_0802A1B8: .4byte gUnknown_203B2C4
-_0802A1BC:
- cmp r0, 0xC
- beq _0802A1D2
- cmp r0, 0xD
- beq _0802A208
- b _0802A224
-_0802A1C6:
- bl sub_803084C
- movs r0, 0xE
- bl sub_802B2BC
- b _0802A224
-_0802A1D2:
- ldr r0, [r4]
- movs r1, 0x2B
- 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, 0x12
- bl sub_802B2BC
- b _0802A224
-_0802A208:
- ldr r0, _0802A22C
- 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, 0x10
- bl sub_802B2BC
-_0802A224:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802A22C: .4byte gUnknown_203B2C4
- thumb_func_end sub_802A174
-
- thumb_func_start sub_802A230
-sub_802A230:
- push {r4,lr}
- bl sub_8030DA0
- cmp r0, 0x3
- bhi _0802A284
- cmp r0, 0x2
- bcc _0802A284
- bl sub_8030DE4
- bl ResetUnusedInputStruct
- ldr r4, _0802A27C
- 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, 0x2B
- bne _0802A280
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x11
- bl sub_802B2BC
- b _0802A284
- .align 2, 0
-_0802A27C: .4byte gUnknown_203B2C4
-_0802A280:
- bl sub_802B2BC
-_0802A284:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802A230
-
- thumb_func_start sub_802A28C
-sub_802A28C:
- push {r4-r6,lr}
- ldr r4, _0802A2C0
- ldr r0, [r4]
- ldr r5, _0802A2C4
- adds r0, r5
- movs r2, 0
- strb r2, [r0]
- ldr r0, [r4]
- ldr r1, _0802A2C8
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r6, _0802A2CC
- adds r0, r6
- strb r2, [r0]
- movs r0, 0x1
- bl sub_801CA08
- cmp r0, 0x3
- beq _0802A2E2
- cmp r0, 0x3
- bhi _0802A2D0
- cmp r0, 0x2
- beq _0802A2D6
- b _0802A334
- .align 2, 0
-_0802A2C0: .4byte gUnknown_203B2C4
-_0802A2C4: .4byte 0x0000041e
-_0802A2C8: .4byte 0x0000041d
-_0802A2CC: .4byte 0x0000041c
-_0802A2D0:
- cmp r0, 0x4
- beq _0802A2FC
- b _0802A334
-_0802A2D6:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_802B2BC
- b _0802A334
-_0802A2E2:
- bl sub_801CB24
- ldr r1, [r4]
- ldr r2, _0802A2F8
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x14
- bl sub_802B2BC
- b _0802A334
- .align 2, 0
-_0802A2F8: .4byte 0x0000041e
-_0802A2FC:
- ldr r1, [r4]
- movs r0, 0x13
- 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, 0x15
- bl sub_802B2BC
-_0802A334:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802A28C
-
- thumb_func_start sub_802A33C
-sub_802A33C:
- push {r4,lr}
- bl sub_801B410
- cmp r0, 0x1
- beq _0802A394
- cmp r0, 0x1
- bcc _0802A394
- cmp r0, 0x3
- bhi _0802A394
- bl sub_801B450
- bl ResetUnusedInputStruct
- ldr r4, _0802A38C
- 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, 0x2B
- bne _0802A390
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x14
- bl sub_802B2BC
- b _0802A394
- .align 2, 0
-_0802A38C: .4byte gUnknown_203B2C4
-_0802A390:
- bl sub_802B2BC
-_0802A394:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802A33C
-
- thumb_func_start sub_802A39C
-sub_802A39C:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_801CA08
- ldr r4, _0802A3E0
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802A3CE
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_0802A3CE:
- ldr r0, [sp]
- cmp r0, 0xB
- beq _0802A3EE
- cmp r0, 0xB
- bgt _0802A3E4
- cmp r0, 0
- beq _0802A430
- b _0802A44A
- .align 2, 0
-_0802A3E0: .4byte gUnknown_203B2C4
-_0802A3E4:
- cmp r0, 0xC
- beq _0802A3FA
- cmp r0, 0xD
- beq _0802A430
- b _0802A44A
-_0802A3EE:
- bl sub_801CBB8
- movs r0, 0xC
- bl sub_802B2BC
- b _0802A44A
-_0802A3FA:
- ldr r0, [r4]
- movs r1, 0x2B
- 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, _0802A42C
- adds r0, r1
- bl sub_801B3C0
- movs r0, 0x15
- bl sub_802B2BC
- b _0802A44A
- .align 2, 0
-_0802A42C: .4byte 0x0000041c
-_0802A430:
- ldr r0, _0802A454
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x3
- bl sub_8035CC0
- bl sub_801CCD8
- movs r0, 0x13
- bl sub_802B2BC
-_0802A44A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802A454: .4byte gUnknown_203B2C4
- thumb_func_end sub_802A39C
-
- thumb_func_start sub_802A458
-sub_802A458:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A46C
- movs r0, 0xD
- bl sub_802B2BC
-_0802A46C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A458
-
- thumb_func_start sub_802A474
-sub_802A474:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A488
- movs r0, 0x3
- bl sub_802B2BC
-_0802A488:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A474
-
- thumb_func_start sub_802A490
-sub_802A490:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A4A4
- movs r0, 0x3
- bl sub_802B2BC
-_0802A4A4:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A490
-
- thumb_func_start sub_802A4AC
-sub_802A4AC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A4CC
- movs r0, 0x18
- bl sub_802B2BC
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
-_0802A4CC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A4AC
-
- thumb_func_start sub_802A4D4
-sub_802A4D4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A4E8
- movs r0, 0x1A
- bl sub_802B2BC
-_0802A4E8:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A4D4
-
- thumb_func_start sub_802A4F0
-sub_802A4F0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A504
- movs r0, 0x27
- bl sub_802B2BC
-_0802A504:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A4F0
-
thumb_func_start sub_802A50C
sub_802A50C:
push {r4,r5,lr}
@@ -2044,7 +867,7 @@ sub_802AB98:
adds r1, r4, 0
bl sub_808D8E0
adds r0, r4, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
ldr r0, _0802ABEC
bl strcpy
@@ -2067,7 +890,7 @@ _0802ABE0:
bx r0
.align 2, 0
_0802ABE8: .4byte gUnknown_202E5D8
-_0802ABEC: .4byte gUnknown_202DF98
+_0802ABEC: .4byte gAvailablePokemonNames
_0802ABF0: .4byte gUnknown_203B2C4
thumb_func_end sub_802AB98
@@ -2496,7 +1319,7 @@ _0802AFAC:
movs r4, 0x98
lsls r4, 1
adds r0, r4, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
ldr r5, _0802B00C
ldr r0, [r5]
@@ -3089,7 +1912,7 @@ _0802B464:
movs r6, 0x98
lsls r6, 1
adds r0, r6, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
ldr r5, _0802B500
ldr r0, [r5]
@@ -3236,7 +2059,7 @@ sub_802B57C:
adds r1, r4, 0
bl sub_808D8E0
adds r0, r4, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
ldr r0, _0802B5B4
bl strcpy
@@ -3248,7 +2071,7 @@ _0802B5AA:
bx r0
.align 2, 0
_0802B5B0: .4byte gUnknown_202E5D8
-_0802B5B4: .4byte gUnknown_202DF98
+_0802B5B4: .4byte gAvailablePokemonNames
thumb_func_end sub_802B57C
thumb_func_start sub_802B5B8
@@ -4149,7 +2972,7 @@ sub_802BC7C:
bl strcpy
b _0802BCBA
.align 2, 0
-_0802BCA4: .4byte gUnknown_202DF98
+_0802BCA4: .4byte gAvailablePokemonNames
_0802BCA8: .4byte gUnknown_203B46C
_0802BCAC: .4byte gUnknown_80DFC4C
_0802BCB0:
@@ -4625,7 +3448,7 @@ _0802BFE8:
.align 2, 0
_0802C060: .4byte gUnknown_203B2D8
_0802C064: .4byte gMailboxText
-_0802C068: .4byte gUnknown_202DF98
+_0802C068: .4byte gAvailablePokemonNames
_0802C06C:
adds r0, r5, 0
add r1, sp, 0x4
@@ -8288,7 +7111,7 @@ _0802DCE0:
ldr r0, [r0, 0x34]
movs r1, 0xC
ldrsh r0, [r0, r1]
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
ldr r2, _0802DD68
adds r0, r4, r2
@@ -8297,7 +7120,7 @@ _0802DCE0:
ldr r0, [r0, 0x34]
movs r1, 0xE
ldrsh r0, [r0, r1]
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
ldr r2, _0802DD6C
adds r4, r2
@@ -11008,7 +9831,7 @@ _0802F27C:
.align 2, 0
_0802F28C: .4byte gUnknown_203B310
_0802F290: .4byte gUnknown_202E5D8
-_0802F294: .4byte gUnknown_202DF98
+_0802F294: .4byte gAvailablePokemonNames
thumb_func_end sub_802F204
thumb_func_start sub_802F298
@@ -11068,7 +9891,7 @@ sub_802F2E8:
ldr r1, [r1]
str r0, [r1]
bl sub_802F300
- bl sub_802F358
+ bl HandleMissionReward
pop {r0}
bx r0
.align 2, 0
@@ -11120,8 +9943,8 @@ _0802F350: .4byte gUnknown_203B310
_0802F354: .4byte gUnknown_80E041C
thumb_func_end sub_802F300
- thumb_func_start sub_802F358
-sub_802F358:
+ thumb_func_start HandleMissionReward
+HandleMissionReward:
push {r4-r6,lr}
sub sp, 0x10
ldr r1, _0802F374
@@ -11509,7 +10332,7 @@ _0802F6A4:
movs r0, 0x9
str r0, [r1, 0x4]
ldrb r0, [r1, 0x9]
- bl sub_80921A8
+ bl GetTeamRankString
adds r1, r0, 0
ldr r4, _0802F6F0
adds r0, r4, 0
@@ -11517,7 +10340,7 @@ _0802F6A4:
bl sub_8092178
lsls r0, 24
lsrs r0, 24
- bl sub_80921A8
+ bl GetTeamRankString
adds r1, r0, 0
adds r4, 0x50
adds r0, r4, 0
@@ -11537,7 +10360,7 @@ _0802F6EC: .4byte gUnknown_203B310
_0802F6F0: .4byte gUnknown_202E038
_0802F6F4: .4byte gUnknown_80E06A8
_0802F6F8: .4byte 0x00000101
- thumb_func_end sub_802F358
+ thumb_func_end HandleMissionReward
thumb_func_start sub_802F6FC
sub_802F6FC:
@@ -12442,7 +11265,7 @@ _0802FDE0:
adds r1, r5, 0
bl sub_808D8E0
adds r0, r5, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
subs r4, 0x50
adds r0, r4, 0
@@ -12782,7 +11605,7 @@ _08030074:
.align 2, 0
_080300B4: .4byte 0xffffff00
_080300B8: .4byte 0xffff00ff
-_080300BC: .4byte gUnknown_202DF98
+_080300BC: .4byte gAvailablePokemonNames
_080300C0: .4byte gMakuhitaDialogue
_080300C4:
ldr r3, [r5]
@@ -15374,7 +14197,7 @@ sub_80314B4:
adds r1, r5, 0
bl sub_808D8E0
adds r0, r5, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
ldr r0, _0803153C
bl strcpy
@@ -15417,7 +14240,7 @@ _0803151E:
.align 2, 0
_08031534: .4byte gUnknown_203B32C
_08031538: .4byte gUnknown_202E5D8
-_0803153C: .4byte gUnknown_202DF98
+_0803153C: .4byte gAvailablePokemonNames
thumb_func_end sub_80314B4
thumb_func_start sub_8031540
@@ -16231,7 +15054,7 @@ _08031B2C:
ldr r4, _08031B90
movs r1, 0xC
ldrsh r0, [r5, r1]
- bl sub_808D994
+ bl GetMonSpecies
adds r2, r0, 0
add r0, sp, 0x4
adds r1, r4, 0
@@ -16353,7 +15176,7 @@ _08031C6C: .4byte gUnknown_80E1F70
_08031C70:
movs r1, 0xE
ldrsh r0, [r4, r1]
- bl sub_808D994
+ bl GetMonSpecies
adds r2, r0, 0
adds r0, r5, 0
ldr r1, _08031C98
@@ -16374,7 +15197,7 @@ _08031C98: .4byte gUnknown_80E1F80
_08031C9C:
movs r1, 0xE
ldrsh r0, [r4, r1]
- bl sub_808D994
+ bl GetMonSpecies
adds r2, r0, 0
adds r0, r5, 0
ldr r1, _08031CD0
@@ -16732,8 +15555,8 @@ _08031F00:
_08031F5C: .4byte gUnknown_203B334
thumb_func_end sub_8031E74
- thumb_func_start sub_8031F60
-sub_8031F60:
+ thumb_func_start CreateAdventureLogScreen
+CreateAdventureLogScreen:
push {r4-r6,lr}
adds r5, r0, 0
ldr r4, _08031FD0
@@ -16786,7 +15609,7 @@ sub_8031F60:
.align 2, 0
_08031FD0: .4byte gUnknown_203B338
_08031FD4: .4byte gUnknown_80E2008
- thumb_func_end sub_8031F60
+ thumb_func_end CreateAdventureLogScreen
thumb_func_start sub_8031FD8
sub_8031FD8:
@@ -17140,7 +15963,7 @@ sub_803225C:
adds r1, r4, 0
bl sub_808D8E0
adds r0, r4, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
ldr r0, _0803230C
bl strcpy
@@ -17179,7 +16002,7 @@ _080322C6:
_08032300: .4byte gUnknown_203B33C
_08032304: .4byte 0x0000ffff
_08032308: .4byte gUnknown_202E5D8
-_0803230C: .4byte gUnknown_202DF98
+_0803230C: .4byte gAvailablePokemonNames
_08032310: .4byte 0x0000052c
_08032314: .4byte 0x0000052d
thumb_func_end sub_803225C
@@ -19098,7 +17921,7 @@ _08033498: .4byte gUnknown_80E3220
_0803349C:
movs r0, 0x98
lsls r0, 1
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
ldr r4, _080334F8
ldr r0, [r4]
@@ -22943,7 +21766,7 @@ sub_80352A4:
adds r1, r4, 0
bl sub_808D8E0
adds r0, r4, 0
- bl sub_808D994
+ bl GetMonSpecies
adds r1, r0, 0
ldr r0, _080352F8
bl strcpy
@@ -22966,7 +21789,7 @@ _080352EC:
bx r0
.align 2, 0
_080352F4: .4byte gUnknown_202E5D8
-_080352F8: .4byte gUnknown_202DF98
+_080352F8: .4byte gAvailablePokemonNames
_080352FC: .4byte gUnknown_203B33C
thumb_func_end sub_80352A4
diff --git a/data/data_80B9BB8.s b/data/data_80B9BB8.s
index 7fe5043..0ed109e 100644
--- a/data/data_80B9BB8.s
+++ b/data/data_80B9BB8.s
@@ -25,9 +25,9 @@ gUnknown_80B9C00: @ 80B9C00
.4byte gUnknown_202DBB8
.4byte VBlankIntr
.4byte VCountIntr
- .4byte nullsub_177
+ .4byte UnusedIntrFunc
.4byte Timer3Intr
- .4byte nullsub_177
+ .4byte UnusedIntrFunc
.string "pksdir0\0"
.align 2,0
.string "pksdir0\0"
@@ -4911,21 +4911,99 @@ gUnknown_80E4A28: @ 80E4A28
.byte 0x10, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
- .global gCreditsText
-gCreditsText: @ 80E4A40
- .incbin "baserom.gba", 0xE4A40, 0xEDC
-
- .global gCreditsTable
-gCreditsTable: @ 80E591C
- .incbin "baserom.gba", 0xE591C, 0x74
+ .global gUnknown_80E4A40
+gUnknown_80E4A40: @ 80E4A40
+@ replacing .incbin "baserom.gba", 0x000e4a40, 0xedc
+ .byte 0x18, 0x18
+ .byte 0x38, 0x00
+ .byte 0x21, 0xff
+ .byte 0x22, 0xff
+ .byte 0x23, 0xff
+ .byte 0x24, 0xff
+ .byte 0x25, 0xff
+ .byte 0x26, 0xff
+ .byte 0x27, 0xff
+ .byte 0x28, 0xff
+ .byte 0x29, 0xff
+ .byte 0x2a, 0xff
+ .byte 0x2b, 0xff
+ .byte 0x2c, 0xff
+ .byte 0x2d, 0xff
+ .byte 0x2e, 0xff
+ .byte 0x2f, 0xff
+ .byte 0x30, 0xff
+ .byte 0x31, 0xff
+ .byte 0x32, 0xff
+ .byte 0x33, 0xff
+ .byte 0x34, 0xff
+ .byte 0x35, 0xff
+ .byte 0x36, 0xff
+ .byte 0x37, 0xff
+ .byte 0x38, 0xff
+ .byte 0x39, 0xff
+ .byte 0x3a, 0xff
+ .byte 0x41, 0xff
+ .byte 0x42, 0xff
+ .byte 0x43, 0xff
+ .byte 0x44, 0xff
+ .byte 0x45, 0xff
+ .byte 0x46, 0xff
+ .byte 0x47, 0xff
+ .byte 0x48, 0xff
+ .byte 0x49, 0xff
+ .byte 0x4a, 0xff
+ .byte 0x4b, 0xff
+ .byte 0x4c, 0xff
+ .byte 0x4d, 0xff
+ .byte 0x4e, 0xff
+ .byte 0x4f, 0xff
+ .byte 0x50, 0xff
+ .byte 0x51, 0xff
+ .byte 0x52, 0xff
+ .byte 0x53, 0xff
+ .byte 0x54, 0xff
+ .byte 0x55, 0xff
+ .byte 0x56, 0xff
+ .byte 0x57, 0xff
+ .byte 0x58, 0xff
+ .byte 0x59, 0xff
+ .byte 0x5a, 0xff
+ .byte 0x10, 0xff
+ .byte 0x11, 0xff
+ .byte 0x12, 0xff
+ .byte 0x13, 0xff
+ .byte 0x14, 0xff
+ .byte 0x15, 0xff
+ .byte 0x16, 0xff
+ .byte 0x17, 0xff
+ .byte 0x18, 0xff
+ .byte 0x19, 0xff
+
+ .include "data/text/credits.inc"
.global gUnknown_80E5990
gUnknown_80E5990: @ 80E5990
- .incbin "baserom.gba", 0xE5990, 0x18
+ .byte 0x06, 0x02
+ .byte 0x40, 0x00
+ .byte 0x80, 0x00
+ .byte 0x10, 0x00
+ .byte 0x20, 0x00
+ .byte 0x01, 0x00
+ .byte 0x02, 0x00
+ .byte 0x00, 0x00
+ .string "pksdir0\0"
+ .align 2,0
.global gUnknown_80E59A8
gUnknown_80E59A8: @ 80E59A8
- .incbin "baserom.gba", 0xE59A8, 0x20
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .string "pksdir0\0"
+ .align 2,0
.global gUnknown_80E59C8
gUnknown_80E59C8: @ 80E59C8
diff --git a/data/text/credits.inc b/data/text/credits.inc
new file mode 100644
index 0000000..7bcec19
--- /dev/null
+++ b/data/text/credits.inc
@@ -0,0 +1,920 @@
+@ Actual Start of Credits
+ .global Credits_StaffCredits
+ Credits_StaffCredits:
+ .byte 0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00
+ .4byte StaffCredits_80E4AD8
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global StaffCredits_80E4AD8
+ StaffCredits_80E4AD8:
+ .string "#+"
+ .byte 0x82, 0xa0
+ .string "STAFF CREDITS"
+ .byte 0x82, 0xa2, 0x00
+
+ .global Credits_Producer
+ Credits_Producer:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
+ .4byte Producer_80E4B20
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00
+ .4byte KoichiNakamura
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global KoichiNakamura
+ KoichiNakamura:
+ .string "Koichi Nakamura\0"
+ .align 2,0
+ .global Producer_80E4B20
+ Producer_80E4B20:
+ .byte 0x82, 0xa0
+ .string "PRODUCER"
+ .byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00
+
+ .global Credits_Director
+ Credits_Director:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
+ .4byte Director_80E4B68
+ .byte 0x02, 0x00, 0x1e, 0x00
+ .byte 0x3c, 0x00, 0x00, 0x00
+ .4byte SeeichiroNagahata
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .global SeeichiroNagahata
+ SeeichiroNagahata:
+ .string "Seiichiro Nagahata\0"
+ .align 2,0
+ .global Director_80E4B68
+ Director_80E4B68:
+ .byte 0x82, 0xa0
+ .string "DIRECTOR"
+ .byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00
+
+ .global Credits_Scenario
+ Credits_Scenario:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x28, 0x00, 0x00, 0x00
+ .4byte Scenario_80EB4CC
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x37, 0x00, 0x00, 0x00
+ .4byte ShinichiroTomie
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte EmikoTanaka
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global EmikoTanaka
+ EmikoTanaka:
+ .string "Emiko Tanaka\0"
+ .align 2,0
+ .global ShinichiroTomie
+ ShinichiroTomie:
+ .string "Shin-ichiro Tomie\0"
+ .align 2,0
+ .global Scenario_80EB4CC
+ Scenario_80EB4CC:
+ .byte 0x82, 0xa0
+ .string "SCENARIO"
+ .byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00
+
+ .global Credits_GamePlanning
+ Credits_GamePlanning:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x23, 0x00, 0x00, 0x00
+ .4byte GamePlanning_80E4C48
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x32, 0x00, 0x00, 0x00
+ .4byte KunimiKawamura
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte ShonosukeMorisue
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte JiroIshii
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global JiroIshii
+ JiroIshii:
+ .string "Jiro Ishii\0"
+ .align 2,0
+ .global ShonosukeMorisue
+ ShonosukeMorisue:
+ .string "Shonosuke Morisue\0"
+ .align 2,0
+ .global KunimiKawamura
+ KunimiKawamura:
+ .string "Kunimi Kawamura\0"
+ .align 2,0
+
+ .global GamePlanning_80E4C48
+ GamePlanning_80E4C48:
+ .byte 0x82, 0xa0
+ .string "GAME PLANNING"
+ .byte 0x82, 0xa2, 0x00, 0x00, 0x00
+
+ .global Credits_Programming
+ Credits_Programming:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
+ .4byte MainProgramming_80E4D04
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
+ .4byte MasayasuYamamoto
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x32, 0x00, 0x00, 0x00
+ .4byte Programming_80E4CE0
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x41, 0x00, 0x00, 0x00
+ .4byte YujiFukuda
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte HironoriIshigami
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte NobuoMorioka
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global NobuoMorioka
+ NobuoMorioka:
+ .string "Nobuo Morioka\0"
+ .align 2,0
+ .global HironoriIshigami
+ HironoriIshigami:
+ .string "Hironori Ishigami\0"
+ .align 2,0
+ .global YujiFukuda
+ YujiFukuda:
+ .string "Yuji Fukuda\0"
+ .align 2,0
+
+ .global Programming_80E4CE0
+ Programming_80E4CE0:
+ .byte 0x82, 0xa0
+ .string "PROGRAMMING"
+ .byte 0x82, 0xa2, 0x00
+
+ .global MasayasuYamamoto
+ MasayasuYamamoto:
+ .string "Masayasu Yamamoto\0"
+ .align 2,0
+
+ .global MainProgramming_80E4D04
+ MainProgramming_80E4D04:
+ .byte 0x82, 0xa0
+ .string "MAIN PROGRAMMING"
+ .byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00
+
+ .global Credits_GraphicsDirectorBGIllus
+ Credits_GraphicsDirectorBGIllus:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x23, 0x00, 0x00, 0x00
+ .4byte GraphicDirector_80E4D90
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x32, 0x00, 0x00, 0x00
+ .4byte FuyuhikoKoizumi
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x46, 0x00, 0x00, 0x00
+ .4byte BGIllustration_80E4D68
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x55, 0x00, 0x00, 0x00
+ .4byte KaoruHasegawa
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global KaoruHasegawa
+ KaoruHasegawa:
+ .string "Kaoru Hasegawa\0"
+ .align 2,0
+
+ .global BGIllustration_80E4D68
+ BGIllustration_80E4D68:
+ .byte 0x82, 0xa0
+ .string "BG ILLUSTRATION"
+ .byte 0x82, 0xa2, 0x00
+
+ .global FuyuhikoKoizumi
+ FuyuhikoKoizumi:
+ .string "Fuyuhiko Koizumi\0"
+ .align 2,0
+
+ .global GraphicDirector_80E4D90
+ GraphicDirector_80E4D90:
+ .byte 0x82, 0xa0
+ .string "GRAPHIC DIRECTOR"
+ .byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00
+
+ .global Credits_DesignDirector
+ Credits_DesignDirector:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x23, 0x00, 0x00, 0x00
+ .4byte DesignDirector_80E4E1C
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x32, 0x00, 0x00, 0x00
+ .4byte HiroshiNakamura
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte FujimiOnishi
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte YoshihitoTakaishi
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global YoshihitoTakaishi
+ YoshihitoTakaishi:
+ .string "Yoshihito Takaishi\0"
+ .align 2,0
+ .global FujimiOnishi
+ FujimiOnishi:
+ .string "Fujimi O-nishi\0"
+ .align 2,0
+ .global HiroshiNakamura
+ HiroshiNakamura:
+ .string "Hiroshi Nakamura\0"
+ .align 2,0
+
+ .global DesignDirector_80E4E1C
+ DesignDirector_80E4E1C:
+ .byte 0x82, 0xa0
+ .string "DESIGN DIRECTOR"
+ .byte 0x82, 0xa2, 0x00
+
+ .global Credits_CharacterGraphics
+ Credits_CharacterGraphics:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
+ .4byte CharacterGraphics_80E4EEC
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
+ .4byte YoshinariKaiho
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte AsamiWatanabe
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte YusukeFuruya
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte HirokoFujikawa
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte YukoKameyama
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte YukiAda
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global YukiUda
+ YukiAda:
+ .string "Yuki Uda\0"
+ .align 2,0
+ .global YukoKameyama
+ YukoKameyama:
+ .string "Yuko Kameyama\0"
+ .align 2,0
+ .global HirokoFujikawa
+ HirokoFujikawa:
+ .string "Hiroko Fujikawa\0"
+ .align 2,0
+ .global YusukeFuruya
+ YusukeFuruya:
+ .string "Yusuke Furuya\0"
+ .align 2,0
+ .global AsamiWatanabe
+ AsamiWatanabe:
+ .string "Asami Watanabe\0"
+ .align 2,0
+ .global YoshinariKaiho
+ YoshinariKaiho:
+ .string "Yoshinari Kaiho\0"
+ .align 2,0
+
+ .global CharacterGraphics_80E4EEC
+ CharacterGraphics_80E4EEC:
+ .byte 0x82, 0xa0
+ .string "CHARACTER GRAPHICS"
+ .byte 0x82, 0xa2, 0x00, 0x00
+
+ .global Credits_CharacterGraphics2
+ Credits_CharacterGraphics2:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
+ .4byte CharacterGraphics_80E4EEC
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
+ .4byte MarieHirosawa
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte YoshikoOta
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte JunkoHarada
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte YuichiHirose
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte NorimasaHigaki
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte MisakiTsukada
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global MisakiTsukada
+ MisakiTsukada:
+ .string "Misaki Tsukada\0"
+ .align 2,0
+ .global NorimasaHigaki
+ NorimasaHigaki:
+ .string "Norimasa Higaki\0"
+ .align 2,0
+ .global YuichiHirose
+ YuichiHirose:
+ .string "Yuichi Hirose\0"
+ .align 2,0
+ .global JunkoHarada
+ JunkoHarada:
+ .string "Junko Harada\0"
+ .align 2,0
+ .global YoshikoOta
+ YoshikoOta:
+ .string "Yoshiko Ota\0"
+ .align 2,0
+ .global MarieHirosawa
+ MarieHirosawa:
+ .string "Marie Hirosawa\0"
+ .align 2,0
+
+ .global Credits_BGGraphics
+ Credits_BGGraphics:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
+ .4byte BGGraphics_80E5088
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
+ .4byte MigakuMatsui
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte ToshimiAoyagi
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte SatoshiMatsuura
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte ShigeruKawahara
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte YukoNakagawa
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte ChikaHirano
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global ChikaHirano
+ ChikaHirano:
+ .string "Chika Hirano\0"
+ .align 2,0
+ .global YukoNakagawa
+ YukoNakagawa:
+ .string "Yuko Nakagawa\0"
+ .align 2,0
+ .global ShigeruKawahara
+ ShigeruKawahara:
+ .string "Shigeru Kawahara\0"
+ .align 2,0
+ .global SatoshiMatsuura
+ SatoshiMatsuura:
+ .string "Satoshi Matsuura\0"
+ .align 2,0
+ .global ToshimiAoyagi
+ ToshimiAoyagi:
+ .string "Toshimi Aoyagi\0"
+ .align 2,0
+ .global MigakuMatsui
+ MigakuMatsui:
+ .string "Migaku Matsui\0"
+ .align 2,0
+
+ .global BGGraphics_80E5088
+ BGGraphics_80E5088:
+ .byte 0x82, 0xa0
+ .string "BG GRAPHICS"
+ .byte 0x82, 0xa2, 0x00
+
+ .global Credits_BGGraphics2
+ Credits_BGGraphics2:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
+ .4byte BGGraphics_80E5088
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
+ .4byte KyoheiIshida
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte ReikoNagashima
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte MasayukiShirakawa
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global MasayukiShirakawa
+ MasayukiShirakawa:
+ .string "Masayuki Shirakawa\0"
+ .align 2,0
+ .global ReikoNagashima
+ ReikoNagashima:
+ .string "Reiko Nagashima\0"
+ .global KyoheiIshida
+ KyoheiIshida:
+ .align 2,0
+ .string "Kyohei Ishida\0"
+ .align 2,0
+
+ .global Credits_SoundMusic
+ Credits_SoundMusic:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00
+ .4byte SoundDirector_80E51D0
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x0f, 0x00, 0x00, 0x00
+ .4byte KojiroNakashima
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x23, 0x00, 0x00, 0x00
+ .4byte Music_80E51B0
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x32, 0x00, 0x00, 0x00
+ .4byte ArataIiyoshi
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x41, 0x00, 0x00, 0x00
+ .4byte AtsurhiroIshizuna
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x55, 0x00, 0x00, 0x00
+ .4byte SoundEffects_80E5178
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x64, 0x00, 0x00, 0x00
+ .4byte MisakiOkibe
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global MisakiOkibe
+ MisakiOkibe:
+ .string "Misaki Okibe\0"
+ .align 2,0
+ .global SoundEffects_80E5178
+ SoundEffects_80E5178:
+ .byte 0x82, 0xa0
+ .string "SOUND EFFECTS"
+ .byte 0x82, 0xa2, 0x00, 0x00, 0x00
+
+ .global AtsurhiroIshizuna
+ AtsurhiroIshizuna:
+ .string "Atsuhiro Ishizuna\0"
+ .align 2,0
+ .global ArataIiyoshi
+ ArataIiyoshi:
+ .string "Arata Iiyoshi\0"
+ .align 2,0
+
+ .global Music_80E51B0
+ Music_80E51B0:
+ .byte 0x82, 0xa0
+ .string "MUSIC"
+ .byte 0x82, 0xa2, 0x00, 0x00, 0x00
+
+ .global KojiroNakashima
+ KojiroNakashima:
+ .string "Kojiro Nakashima\0"
+ .align 2,0
+ .global SoundDirector_80E51D0
+ SoundDirector_80E51D0:
+ .byte 0x82, 0xa0
+ .string "SOUND DIRECTOR"
+ .byte 0x82, 0xa2, 0x00, 0x00
+
+ .global Credits_SpecialThanks
+ Credits_SpecialThanks:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
+ .4byte SpecialThanks_80E5218
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00
+ .4byte KoyushaLTD
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global KoyushaLTD
+ KoyushaLTD:
+ .string "KOYUSHA LTD.\0"
+ .align 2,0
+ .global SpecialThanks_80E5218
+ SpecialThanks_80E5218:
+ .byte 0x82, 0xa0
+ .string "SPECIAL THANKS"
+ .byte 0x82, 0xa2, 0x00, 0x00
+
+ .global Credits_Debug
+ Credits_Debug:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x28, 0x00, 0x00, 0x00
+ .4byte Debug_80E5284
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x37, 0x00, 0x00, 0x00
+ .4byte ChunsoftDebugTeam
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte SuperMarioClub
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global SuperMarioClub
+ SuperMarioClub:
+ .string "Super Mario Club\0"
+ .align 2,0
+ .global ChunsoftDebugTeam
+ ChunsoftDebugTeam:
+ .string "CHUNSOFT Debug Team\0"
+ .align 2,0
+
+ .global Debug_80E5284
+ Debug_80E5284:
+ .byte 0x82, 0xa0
+ .string "DEBUG"
+ .byte 0x82, 0xa2, 0x00, 0x00, 0x00
+
+ .global Credits_PackageIllustration
+ Credits_PackageIllustration:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
+ .4byte PackageIllustration_80E52C4
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00
+ .4byte KenSugimori
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global KenSugimori
+ KenSugimori:
+ .string "Ken Sugimori\0"
+ .align 2,0
+ .global PackageIllustration_80E52C4
+ PackageIllustration_80E52C4:
+ .byte 0x82, 0xa0
+ .string "PACKAGE ILLUSTRATION"
+ .byte 0x82, 0xa2, 0x00, 0x00, 0x00, 0x00
+
+ .global Credits_Artwork
+ Credits_Artwork:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x14, 0x00, 0x00, 0x00
+ .4byte Artwork_80E5384
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x23, 0x00, 0x00, 0x00
+ .4byte KazuhikoNakanishi
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte SakaeKimura
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte KenichiKoga
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte KiyomoOe
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte FujikoNomura
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global FujikoNomura
+ FujikoNomura:
+ .string "Fujiko Nomura\0"
+ .align 2,0
+ .global KiyomoOe
+ KiyomoOe:
+ .string "Kiyomo Oe\0"
+ .align 2,0
+ .global KenichiKoga
+ KenichiKoga:
+ .string "Ken-ichi Koga\0"
+ .align 2,0
+ .global SakaeKimura
+ SakaeKimura:
+ .string "Sakae Kimura\0"
+ .align 2,0
+ .global KazuhikoNakanishi
+ KazuhikoNakanishi:
+ .string "Kazuhiko Nakanishi\0"
+ .align 2,0
+
+ .global Artwork_80E5384
+ Artwork_80E5384:
+ .byte 0x82, 0xa0
+ .string "ARTWORK"
+ .byte 0x82, 0xa2, 0x00
+
+ .global Credits_DevelopmentSupport
+ Credits_DevelopmentSupport:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
+ .4byte DevelopmentSupport_80E544C
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
+ .4byte AkihiroKaneko
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte NobuhiroSaito
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte KosukeYoshida
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte KeikoHoriuchi
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte MayumiIso
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte KensukeOguri
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global KensukeOguri
+ KensukeOguri:
+ .string "Kensuke Oguri\0"
+ .align 2,0
+ .global MayumiIso
+ MayumiIso:
+ .string "Mayumi Iso\0"
+ .align 2,0
+ .global KeikoHoriuchi
+ KeikoHoriuchi:
+ .string "Keiko Horiuchi\0"
+ .align 2,0
+ .global KosukeYoshida
+ KosukeYoshida:
+ .string "Kosuke Yoshida\0"
+ .align 2,0
+ .global NobuhiroSaito
+ NobuhiroSaito:
+ .string "Nobuhiro Saito\0"
+ .align 2,0
+ .global AkihiroKaneko
+ AkihiroKaneko:
+ .string "Akihiro Kaneko\0"
+ .align 2,0
+
+ .global DevelopmentSupport_80E544C
+ DevelopmentSupport_80E544C:
+ .byte 0x82, 0xa0
+ .string "DEVELOPMENT SUPPORT"
+ .byte 0x82, 0xa2, 0x00
+
+ .global Credits_DevelopmentSupport2
+ Credits_DevelopmentSupport2:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x0f, 0x00, 0x00, 0x00
+ .4byte DevelopmentSupport_80E544C
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00
+ .4byte KojiMalta
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte YasufumiFukuda
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte HizukiMisono
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte TakahiroOnishi
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte TakaoNakano
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global TakaoNakano
+ TakaoNakano:
+ .string "Takao Nakano\0"
+ .align 2,0
+ .global TakahiroOnishi
+ TakahiroOnishi:
+ .string "Takahiro O-nishi\0"
+ .align 2,0
+ .global HizukiMisono
+ HizukiMisono:
+ .string "Hizuki Misono\0"
+ .align 2,0
+ .global YasufumiFukuda
+ YasufumiFukuda:
+ .string "Yasufumi Fukuda\0"
+ .align 2,0
+ .global KojiMalta
+ KojiMalta:
+ .string "Koji Malta\0"
+ .align 2,0
+
+ .global Credits_Localization
+ Credits_Localization:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00
+ .4byte LocalizationCoordinators_80E55CC
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x0f, 0x00, 0x00, 0x00
+ .4byte KeisukeTominaga
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x23, 0x00, 0x00, 0x00
+ .4byte SethMcMahill
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x32, 0x00, 0x00, 0x00
+ .4byte Translator_80E5598
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x41, 0x00, 0x00, 0x00
+ .4byte NobOgasawara
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x55, 0x00, 0x00, 0x00
+ .4byte Editor_80E557C
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x64, 0x00, 0x00, 0x00
+ .4byte TeresaLillygren
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global TeresaLillygren
+ TeresaLillygren:
+ .string "Teresa Lillygren\0"
+ .align 2,0
+ .global Editor_80E557C
+ Editor_80E557C:
+ .byte 0x82, 0xa0
+ .string "EDITOR"
+ .byte 0x82, 0xa2, 0x00, 0x00
+
+ .global NobOgasawara
+ NobOgasawara:
+ .string "Nob Ogasawara\0"
+ .align 2,0
+
+ .global Translator_80E5598
+ Translator_80E5598:
+ .byte 0x82, 0xa0
+ .string "TRANSLATOR"
+ .byte 0x82, 0xa2, 0x00, 0x00
+
+ .global SethMcMahill
+ SethMcMahill:
+ .string "Seth McMahill\0"
+ .align 2,0
+ .global KeisukeTominaga
+ KeisukeTominaga:
+ .string "Keisuke Tominaga\0"
+ .align 2,0
+
+ .global LocalizationCoordinators_80E55CC
+ LocalizationCoordinators_80E55CC:
+ .byte 0x82, 0xa0
+ .string "LOCALIZATION COORDINATORS"
+ .byte 0x82, 0xa2, 0x00, 0x00, 0x00
+
+ .global Credits_Product
+ Credits_Product:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x05, 0x00, 0x00, 0x00
+ .4byte ProductSupport_80E56B8
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x14, 0x00, 0x00, 0x00
+ .4byte KimikoNakamichi
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte HiroshiAkune
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x37, 0x00, 0x00, 0x00
+ .4byte NoaProductTesting_80E567C
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x46, 0x00, 0x00, 0x00
+ .4byte ThomasHertzog
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte JimHoldeman
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte MikaKurosawa
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global MikaKurosawa
+ MikaKurosawa:
+ .string "Mika Kurosawa\0"
+ .align 2,0
+ .global JimHoldeman
+ JimHoldeman:
+ .string "Jim Holdeman\0"
+ .align 2,0
+ .global ThomasHertzog
+ ThomasHertzog:
+ .string "Thomas Hertzog\0"
+ .align 2,0
+
+ .global NoaProductTesting_80E567C
+ NoaProductTesting_80E567C:
+ .byte 0x82, 0xa0
+ .string "NOA PRODUCT TESTING"
+ .byte 0x82, 0xa2, 0x00
+
+ .global HiroshiAkune
+ HiroshiAkune:
+ .string "Hiroshi Akune\0"
+ .align 2,0
+ .global KimikoNakamichi
+ KimikoNakamichi:
+ .string "Kimiko Nakamichi\0"
+ .align 2,0
+ .global ProductSupport_80E56B8
+ ProductSupport_80E56B8:
+ .byte 0x82, 0xa0
+ .string "PRODUCT SUPPORT"
+ .byte 0x82, 0xa2, 0x00
+
+ .global Credits_SpecialThanks2
+ Credits_SpecialThanks2:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x19, 0x00, 0x00, 0x00
+ .4byte SpecialThanks_80E5218
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x28, 0x00, 0x00, 0x00
+ .4byte NicolaWright
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte ShellieDow
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte JoshNewman
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte HitomiRoss
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global HitomiRoss
+ HitomiRoss:
+ .string "Hitomi Ross\0"
+ .align 2,0
+ .global JoshNewman
+ JoshNewman:
+ .string "Josh Newman\0"
+ .align 2,0
+ .global ShellieDow
+ ShellieDow:
+ .string "Shellie Dow\0"
+ .align 2,0
+ .global NicolaWright
+ NicolaWright:
+ .string "Nicola Wright\0"
+ .align 2,0
+
+ .global Credits_VerySpecialThanks
+ Credits_VerySpecialThanks:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x28, 0x00, 0x00, 0x00
+ .4byte VerySpecialThanks_80E579C
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x37, 0x00, 0x00, 0x00
+ .4byte GameFreakInc
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte AmbrellaCoLtd
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global AmbrellaCoLtd
+ AmbrellaCoLtd:
+ .string "Ambrella Co., Ltd.\0"
+ .align 2,0
+
+ .global GameFreakInc
+ GameFreakInc:
+ .string "GAME FREAK inc.\0"
+ .align 2,0
+
+ .global VerySpecialThanks_80E579C
+ VerySpecialThanks_80E579C:
+ .byte 0x82, 0xa0
+ .string "VERY SPECIAL THANKS"
+ .byte 0x82, 0xa2, 0x00
+
+ .global Credits_OriginalDirector
+ Credits_OriginalDirector:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
+ .4byte OriginalDirector_80E57E8
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00
+ .4byte SatoshiTajiri
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global SatoshiTajiri
+ SatoshiTajiri:
+ .string "Satoshi Tajiri\0"
+ .align 2,0
+ .global OriginalDirector_80E57E8
+ OriginalDirector_80E57E8:
+ .byte 0x82, 0xa0
+ .string "POK~e9MON ORIGINAL DIRECTOR"
+ .byte 0x82, 0xa2, 0x00
+
+ .global Credits_Producers
+ Credits_Producers:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x19, 0x00, 0x00, 0x00
+ .4byte Producers_80E5888
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x28, 0x00, 0x00, 0x00
+ .4byte HiroakiTsuru
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte AtsushiSugimoto
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte KunimiKawamura
+ .byte 0x02, 0x00, 0x1e, 0x00, 0xf1, 0xff, 0x00, 0x00
+ .4byte HitoshiYamagami
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global HitoshiYamagami
+ HitoshiYamagami:
+ .string "Hitoshi Yamagami\0"
+ .align 2,0
+ .global AtsushiSugimoto
+ AtsushiSugimoto:
+ .string "Atsushi Sugimoto\0"
+ .align 2,0
+ .global HiroakiTsuru
+ HiroakiTsuru:
+ .string "Hiroaki Tsuru\0"
+ .align 2,0
+
+ .global Producers_80E5888
+ Producers_80E5888:
+ .byte 0x82, 0xa0
+ .string "PRODUCERS"
+ .byte 0x82, 0xa2, 0x00, 0x00, 0x00
+
+ .global Credits_ExectiveProducer
+ Credits_ExecutiveProducer:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
+ .4byte ExecutiveProducer_80E58CC
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00
+ .4byte SatoruIwata
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global SatoruIwata
+ SatoruIwata:
+ .string "Satoru Iwata\0"
+ .align 2,0
+ .global ExecutiveProducer_80E58CC
+ ExecutiveProducer_80E58CC:
+ .byte 0x82, 0xa0
+ .string "EXECUTIVE PRODUCER"
+ .byte 0x82, 0xa2, 0x00, 0x00
+
+ .global Credits_ExectiveProducer2
+ Credits_ExecutiveProducer2:
+ .byte 0x01, 0x00, 0x0a, 0x00, 0x2d, 0x00, 0x00, 0x00
+ .4byte ExecutiveProducer_80E58CC
+ .byte 0x02, 0x00, 0x1e, 0x00, 0x3c, 0x00, 0x00, 0x00
+ .4byte TsuenehazuIshihara
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .global TsunekazuIshihara
+ TsuenehazuIshihara:
+ .string "Tsunekazu Ishihara\0"
+ .align 2,0
+
+ .global gCreditsTable
+gCreditsTable: @ 80E591C
+@ replacing .incbin "baserom.gba", 0x000e591c, 0x74
+ .4byte Credits_StaffCredits
+ .4byte Credits_Producer
+ .4byte Credits_Director
+ .4byte Credits_Scenario
+ .4byte Credits_GamePlanning
+ .4byte Credits_Programming
+ .4byte Credits_GraphicsDirectorBGIllus
+ .4byte Credits_DesignDirector
+ .4byte Credits_CharacterGraphics
+ .4byte Credits_CharacterGraphics2
+ .4byte Credits_BGGraphics
+ .4byte Credits_BGGraphics2
+ .4byte Credits_SoundMusic
+ .4byte Credits_SpecialThanks
+ .4byte Credits_Debug
+ .4byte Credits_PackageIllustration
+ .4byte Credits_Artwork
+ .4byte Credits_DevelopmentSupport
+ .4byte Credits_DevelopmentSupport2
+ .4byte Credits_Localization
+ .4byte Credits_Product
+ .4byte Credits_SpecialThanks2
+ .4byte Credits_VerySpecialThanks
+ .4byte Credits_OriginalDirector
+ .4byte Credits_Producers
+ .4byte Credits_ExecutiveProducer
+ .4byte Credits_ExecutiveProducer2
+ .string "pksdir0\0"
+ .align 2,0
diff --git a/include/personality_test.h b/include/personality_test.h
index 49f6c6b..50615eb 100644
--- a/include/personality_test.h
+++ b/include/personality_test.h
@@ -17,7 +17,7 @@ struct PersonalityStruct_203B400
/* 0x8 */ s16 StarterID;
/* 0xA */ s16 PartnerID;
u8 padding[0x20 - 0xC];
- s32 unk20;
+ s32 unk20; // Buffer to store partner name?
u8 padding2[0x34 - 0x24];
/* 0x34 */ u32 TestState;
/* 0x38 */ s32 QuestionCounter;
diff --git a/ld_script.txt b/ld_script.txt
index 87332c1..0bb7a54 100755
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -90,12 +90,15 @@ SECTIONS {
src/code_8027C84_pre.o(.text);
asm/code_8027C84.o(.text);
src/wonder_mail.o(.text);
+ src/wonder_mail_mid.o(.text);
asm/wonder_mail.o(.text);
src/wonder_mail_1.o(.text);
- src/credits.o(.text);
asm/credits.o(.text);
+ src/credits.o(.text);
src/main_menu.o(.text);
asm/main_menu.o(.text);
+ asm/debug_menu.o(.text);
+ asm/code_803B050.o(.text);
src/pokemon_mail.o(.text);
src/code_803C1B4.o(.text);
asm/code_803C1D0.o(.text);
diff --git a/src/code_8048480.c b/src/code_8048480.c
index 7860fa8..880bf05 100644
--- a/src/code_8048480.c
+++ b/src/code_8048480.c
@@ -7,7 +7,7 @@ struct unkDungeon_8041D5C
};
extern u32 gUnknown_80F89F4;
-extern u32 gUnknown_202DF98;
+extern u32 gAvailablePokemonNames;
extern u32 gUnknown_80FB580;
extern s16 gUnknown_80F4FB6;
extern s16 gUnknown_80F4FB8;
@@ -162,6 +162,6 @@ void sub_80484E8(u32 r0, struct unkDungeon_8041D5C *r1)
sub_807A290(r0, r1);
return;
}
- sub_8045B94(&gUnknown_202DF98, r1, 0);
+ sub_8045B94(&gAvailablePokemonNames, r1, 0);
sub_80522F4(r0, r1, gUnknown_80FB580);
}
diff --git a/src/code_80521D0_1.c b/src/code_80521D0_1.c
index dd6dc7c..8be3be6 100644
--- a/src/code_80521D0_1.c
+++ b/src/code_80521D0_1.c
@@ -1,8 +1,9 @@
#include "global.h"
+#include "constants/species.h"
extern s16 *sub_8085480(void);
extern u32 sub_8085680(u32);
-extern u32 gUnknown_202E038;
+extern char gUnknown_202E038[0x50];
extern u8* gUnknown_203B418;
extern u32 gUnknown_8106778;
@@ -15,7 +16,7 @@ extern u32 gUnknown_8106918;
extern u32 gUnknown_8106934;
extern void sub_8086A3C(void);
-extern void sub_808D8BC(u32 *r0, u32 r1);
+extern void CopySpeciesNametoBuffer(char *r0, u32 r1);
extern void sub_8083E88(u32);
extern void sub_80854D4(void);
extern void sub_80855E4(void *);
@@ -51,7 +52,7 @@ void sub_808C9C4(void)
sub_80855E4(sub_8086A3C);
sub_8085918(temp_2, 0);
sub_8085860(array[2], array[3] - 3);
- sub_808D8BC(&gUnknown_202E038, 0x14d);
+ CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MEDICHAM);
}
void sub_808CA1C(void)
@@ -112,7 +113,7 @@ void sub_808CB5C(void)
sub_8085930(0x4);
sub_8068FE0(temp_2, 0x87 << 2, 0);
sub_8085860(array[2], array[3]);
- sub_808D8BC(&gUnknown_202E038, 0x14d);
+ CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MEDICHAM);
}
void nullsub_101(void)
@@ -132,7 +133,7 @@ void sub_808CBB0(void)
sub_80855E4(sub_8086A3C);
sub_8085918(temp_2, 0);
sub_8085860(array[2], array[3] - 3);
- sub_808D8BC(&gUnknown_202E038, 0x82 << 1);
+ CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SMEARGLE);
}
void sub_808CC04(void)
@@ -195,6 +196,6 @@ void sub_808CD44(void)
sub_80855E4(sub_8086A3C);
sub_8068FE0(temp_2, 0x87 << 2, 0);
sub_8085860(array[2], array[3] - 3);
- sub_808D8BC(&gUnknown_202E038, 0x82 << 1);
+ CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SMEARGLE);
}
diff --git a/src/credits.c b/src/credits.c
index 2f499fb..2329bd4 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -1,33 +1,108 @@
#include "global.h"
+#include "input.h"
-extern s32 sub_80144A4(s32 *);
-extern void sub_80338C4(u32);
-extern void sub_80338C4(u32);
+extern struct Inputs gRealInputs;
-void sub_8035404(u32 param_1)
+struct unkStruct_203B344
{
- s32 iVar1;
+ u32 unk0; // state variable
+ u32 unk4; // timer??
+};
- if(sub_80144A4(&iVar1) == 0){
- sub_80338C4(param_1);
- }
-}
+struct unkStruct_203B340
+{
+ // size: 0x84
+ u32 unk0;
+};
+
+extern void MemoryFree(void *);
+extern void* MemoryAlloc(u32, u32);
+extern void sub_80015C0(u32, u32);
-void sub_8035424(void)
+extern u16 gUnknown_80E5990[];
+extern struct unkStruct_203B344 *gUnknown_203B344;
+extern struct unkStruct_203B340 *gUnknown_203B340;
+extern s32 sub_8001658(u32, u32);
+
+void sub_803565C(void)
{
- sub_80338C4(6);
+ if(gUnknown_203B340 != NULL)
+ {
+ MemoryFree(gUnknown_203B340);
+ gUnknown_203B340 = NULL;
+ }
}
-void sub_8035430(void)
+
+u32 sub_8035678(void)
{
- sub_80338C4(0x4F);
+ gUnknown_203B344 = MemoryAlloc(sizeof(struct unkStruct_203B344), 8);
+ gUnknown_203B344->unk0 = 0;
+ gUnknown_203B344->unk4 = 0;
+ sub_80015C0(0, 0x39);
+ return 1;
}
-void nullsub_50(void)
+u32 sub_80356A0(void)
{
+ u16 uVar1;
+ u16 held_input;
+
+ held_input = gRealInputs.held;
+ uVar1 = gUnknown_80E5990[gUnknown_203B344->unk4];
+
+ switch(gUnknown_203B344->unk0) {
+ case 0:
+ gUnknown_203B344->unk0 = 3;
+ break;
+ case 1:
+ if (uVar1 == 0)
+ gUnknown_203B344->unk0 = 4;
+ else {
+ if (held_input == uVar1)
+ gUnknown_203B344->unk0 = 2;
+ else {
+ // NOTE: couldn't match with OR'd condition so split up to match
+ if ((uVar1 & held_input) != held_input)
+ gUnknown_203B344->unk0 = 3;
+ else
+ {
+ if (gUnknown_203B344->unk4 == 0)
+ gUnknown_203B344->unk0 = 3;
+ }
+ }
+ }
+ break;
+ case 2:
+ if (held_input == 0) {
+ gUnknown_203B344->unk0 = 1;
+ gUnknown_203B344->unk4++;
+ }
+ else {
+ if ((uVar1 & held_input) != held_input)
+ gUnknown_203B344->unk0 = 3;
+ }
+ break;
+ case 3:
+ return 2;
+ case 4:
+ return 3; // sub_809C478 clears the flash data when this is returned
+ }
+
+ if (sub_8001658(0,0x39) != 0) {
+ gUnknown_203B344->unk0 = 3;
+ return 2;
+ }
+ else {
+ return 0;
+ }
}
-void nullsub_51(void)
+void sub_8035758(void)
{
+ if(gUnknown_203B344 != NULL)
+ {
+ MemoryFree(gUnknown_203B344);
+ gUnknown_203B344 = NULL;
+ }
}
-
diff --git a/src/main_menu.c b/src/main_menu.c
index 0302550..d0a8f36 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -39,7 +39,7 @@ extern void sub_803225C(void);
extern void sub_803A1D8(void);
extern void sub_80398AC(void);
extern void sub_80382A0(void);
-extern void sub_8039254(u32);
+extern void CreateLoadScreen(u32);
extern void sub_8035DB4(u32);
extern void sub_8038900(u32);
extern void sub_803850C(u32);
@@ -57,7 +57,7 @@ extern s32 sub_8038630(void);
extern s32 sub_803A2A4(void);
extern void CleanMainMenu(void);
-extern void sub_80393F0(void);
+extern void CleanLoadScreen(void);
extern void sub_8036B04(void);
extern void sub_80370D4(void);
extern void sub_80327E4(void);
@@ -109,7 +109,7 @@ void SetUpMenu(void)
case 7:
case 8:
case 9:
- sub_8039254(gUnknown_203B348->unk4);
+ CreateLoadScreen(gUnknown_203B348->unk4);
break;
case 0xc:
sub_8036400();
@@ -248,7 +248,7 @@ void CleanUpMenu(void)
case 7:
case 8:
case 9:
- sub_80393F0();
+ CleanLoadScreen();
break;
case 0xc:
sub_8036B04();
diff --git a/src/music_pre.c b/src/music_pre.c
index edb00cd..53c5688 100644
--- a/src/music_pre.c
+++ b/src/music_pre.c
@@ -19,6 +19,15 @@ extern void sub_800C298(u16 r0);
typedef void (*IntrCallback)(void);
extern IntrCallback gUnknown_202D5F0[];
+struct unkStruct_202D648
+{
+ s16 unk0;
+ s16 unk2; // Vcount??
+ IntrCallback unk4; // some function... just making it IntrCallback for now
+};
+extern struct unkStruct_202D648 gUnknown_202D648[8];
+extern struct unkStruct_202D648 gUnknown_202D608[8];
+
extern struct MusicPlayerInfo gUnknown_20008F0; // BGM??
extern u32 gUnknown_203B0A0;
extern u32 gUnknown_203B0A4;
@@ -34,6 +43,13 @@ extern u8 gUnknown_203B09B;
extern u32 gUnknown_203B09C;
extern u8 gUnknown_203B09A;
+extern u32 gUnknown_203B0A0;
+extern s16 gUnknown_203B0AA;
+extern s16 gUnknown_203B0AC;
+extern s16 gUnknown_203B0AE;
+extern s16 gUnknown_203B0B0;
+extern s16 gUnknown_203B0B2;
+
struct unkStruct_3000FD8
{
u16 unk0;
@@ -51,9 +67,188 @@ extern struct BGControlStruct gBG1Control;
extern struct BGControlStruct gBG2Control;
extern struct BGControlStruct gBG3Control;
+extern void SoundVSync();
+extern void BlinkSavingIcon();
+
void sub_800BF80(void);
void xxx_update_bg_sound_input(void);
+void UnusedIntrFunc(void)
+{
+}
+
+void VBlankIntr(void)
+{
+ int index;
+
+ gUnknown_203B0A0++;
+ SoundVSync();
+ BlinkSavingIcon();
+ if (gUnknown_202D5F0[1] != NULL) {
+ gUnknown_202D5F0[1]();
+ }
+ index = 0;
+ while (index < gUnknown_203B0AA) {
+ gUnknown_202D648[index] = gUnknown_202D608[index];
+ index++;
+ }
+ gUnknown_203B0AC = gUnknown_203B0AA;
+ gUnknown_203B0AE = -1;
+ gUnknown_203B0B0 = -1;
+ gUnknown_203B0B2 = -1;
+ REG_DISPSTAT = DISPSTAT_VBLANK_INTR | DISPSTAT_VCOUNT_INTR;
+ if (gUnknown_203B099 == 0) {
+ UpdateSound();
+ }
+ SetInterruptFlag(INTR_FLAG_VBLANK);
+}
+
+// Registers are a little off.. seems to be around the while loop
+#ifdef NONMATCHING
+void VCountIntr(void)
+{
+ s32 sVar1;
+ s32 sVar2;
+
+ // Hack to get the lsr/asr shifts
+ sVar2 = REG_VCOUNT << 16;
+ sVar2 = sVar2 >> 16;
+
+ if (gUnknown_203B0AE < 0) {
+ if (gUnknown_202D5F0[2] != 0) {
+ gUnknown_202D5F0[2]();
+ }
+ gUnknown_203B0AE = 0;
+ }
+ if (gUnknown_203B0AE < gUnknown_203B0AC) {
+ sVar1 = gUnknown_202D648[gUnknown_203B0AE].unk2;
+ while (sVar1 <= sVar2) {
+ if ( gUnknown_202D648[gUnknown_203B0AE].unk4 != NULL) {
+ gUnknown_202D648[gUnknown_203B0AE].unk4();
+ }
+ gUnknown_203B0AE++;
+ if (gUnknown_203B0AC >= gUnknown_203B0AE) break;
+ sVar1 = gUnknown_202D648[gUnknown_203B0AE].unk2;
+ }
+ if (gUnknown_203B0AE < gUnknown_203B0AC) {
+ REG_DISPSTAT = gUnknown_202D648[gUnknown_203B0AE].unk2 << 8 | DISPSTAT_VBLANK_INTR | DISPSTAT_VCOUNT_INTR;
+ }
+ }
+ SetInterruptFlag(INTR_FLAG_VCOUNT);
+}
+#else
+NAKED
+void VCountIntr(void)
+{
+ asm_unified(
+ "\tpush {r4-r7,lr}\n"
+ "\tmov r7, r8\n"
+ "\tpush {r7}\n"
+ "\tldr r0, _0800BA44\n"
+ "\tldrh r0, [r0]\n"
+ "\tlsls r0, 16\n"
+ "\tasrs r6, r0, 16\n"
+ "\tldr r0, _0800BA48\n"
+ "\tmovs r2, 0\n"
+ "\tldrsh r1, [r0, r2]\n"
+ "\tadds r7, r0, 0\n"
+ "\tcmp r1, 0\n"
+ "\tbge _0800B9B2\n"
+ "\tldr r0, _0800BA4C\n"
+ "\tldr r0, [r0, 0x8]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _0800B9AE\n"
+ "\tbl _call_via_r0\n"
+"_0800B9AE:\n"
+ "\tmovs r0, 0\n"
+ "\tstrh r0, [r7]\n"
+"_0800B9B2:\n"
+ "\tldr r0, _0800BA50\n"
+ "\tmovs r3, 0\n"
+ "\tldrsh r2, [r7, r3]\n"
+ "\tmovs r3, 0\n"
+ "\tldrsh r1, [r0, r3]\n"
+ "\tmov r8, r0\n"
+ "\tcmp r2, r1\n"
+ "\tbge _0800BA34\n"
+ "\tldr r1, _0800BA54\n"
+ "\tadds r0, r2, 0\n"
+ "\tlsls r0, 3\n"
+ "\tadds r0, r1\n"
+ "\tmovs r3, 0x2\n"
+ "\tldrsh r0, [r0, r3]\n"
+ "\tcmp r0, r6\n"
+ "\tbgt _0800BA10\n"
+ "\tadds r5, r1, 0\n"
+ "\tadds r4, r7, 0\n"
+"_0800B9D6:\n"
+ "\tmovs r1, 0\n"
+ "\tldrsh r0, [r4, r1]\n"
+ "\tlsls r0, 3\n"
+ "\tadds r1, r5, 0x4\n"
+ "\tadds r0, r1\n"
+ "\tldr r0, [r0]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _0800B9EA\n"
+ "\tbl _call_via_r0\n"
+"_0800B9EA:\n"
+ "\tldrh r0, [r4]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r4]\n"
+ "\tldr r1, _0800BA50\n"
+ "\tlsls r0, 16\n"
+ "\tasrs r0, 16\n"
+ "\tmovs r2, 0\n"
+ "\tldrsh r1, [r1, r2]\n"
+ "\tcmp r0, r1\n"
+ "\tbge _0800BA34\n"
+ "\tmovs r3, 0\n"
+ "\tldrsh r0, [r4, r3]\n"
+ "\tlsls r0, 3\n"
+ "\tadds r0, r5\n"
+ "\tmovs r1, 0x2\n"
+ "\tldrsh r0, [r0, r1]\n"
+ "\tldr r7, _0800BA48\n"
+ "\tcmp r0, r6\n"
+ "\tble _0800B9D6\n"
+"_0800BA10:\n"
+ "\tmovs r2, 0\n"
+ "\tldrsh r1, [r7, r2]\n"
+ "\tmov r3, r8\n"
+ "\tmovs r2, 0\n"
+ "\tldrsh r0, [r3, r2]\n"
+ "\tcmp r1, r0\n"
+ "\tbge _0800BA34\n"
+ "\tldr r2, _0800BA58\n"
+ "\tldr r1, _0800BA54\n"
+ "\tmovs r3, 0\n"
+ "\tldrsh r0, [r7, r3]\n"
+ "\tlsls r0, 3\n"
+ "\tadds r0, r1\n"
+ "\tldrh r0, [r0, 0x2]\n"
+ "\tlsls r0, 8\n"
+ "\tmovs r1, 0x28\n"
+ "\torrs r0, r1\n"
+ "\tstrh r0, [r2]\n"
+"_0800BA34:\n"
+ "\tmovs r0, 0x4\n"
+ "\tbl SetInterruptFlag\n"
+ "\tpop {r3}\n"
+ "\tmov r8, r3\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+"_0800BA44: .4byte 0x04000006\n"
+"_0800BA48: .4byte gUnknown_203B0AE\n"
+"_0800BA4C: .4byte gUnknown_202D5F0\n"
+"_0800BA50: .4byte gUnknown_203B0AC\n"
+"_0800BA54: .4byte gUnknown_202D648\n"
+"_0800BA58: .4byte 0x04000004"
+ );
+}
+#endif
+
void sub_800BA5C(void)
{
if(gUnknown_203B09A != 0)
diff --git a/src/personality_test_pre.c b/src/personality_test_pre.c
index 27a55a8..5c5f85e 100644
--- a/src/personality_test_pre.c
+++ b/src/personality_test_pre.c
@@ -50,14 +50,14 @@ extern void sub_8014248(const char *text, u32, u32, u32 *r0, u32, u32, u32, u32,
extern u32 sub_80144A4(s32 *);
extern void sub_803CE6C(void);
-extern u32 sub_808D994(u32);
-extern void sub_80922F4(s32 *r0, u32);
+extern char* GetMonSpecies(u32);
+extern void CopyStringtoBuffer(s32 *r0, char *r1);
extern void sub_801602C(u32, s32 *r0);
extern u32 sub_8016080(void);
extern void sub_80160D8(void);
extern void sub_8099690(u32);
-extern void sub_808D8BC(u32 *r0, u32);
+extern void CopySpeciesNametoBuffer(char *r0, u32);
extern void sub_8006518(void *);
extern void sub_800641C(void *, u32, u32);
@@ -89,7 +89,7 @@ extern u32 gGenderMenu;
extern u8 gNatureQuestionTable[NUM_QUIZ_QUESTIONS];
extern const char *gPersonalityTypeDescriptionTable[];
-extern u32 gUnknown_202DF98;
+extern char gAvailablePokemonNames[0x50];
struct unkData gUnknown_80F4244 =
@@ -503,12 +503,12 @@ void sub_803CB5C(void)
void sub_803CB7C(void)
{
- u32 uVar1;
+ char *monName;
s32 *iVar2;
iVar2 = &gUnknown_203B400->unk20;
- uVar1 = sub_808D994(gUnknown_203B400->PartnerID);
- sub_80922F4(iVar2,uVar1);
+ monName = GetMonSpecies(gUnknown_203B400->PartnerID);
+ CopyStringtoBuffer(iVar2, monName);
sub_801602C(3, &gUnknown_203B400->unk20);
gUnknown_203B400->TestState = 13;
}
@@ -567,7 +567,7 @@ void PromptNewQuestion(void)
void PrintPersonalityTypeDescription(void)
{
- sub_808D8BC(&gUnknown_202DF98,gUnknown_203B400->StarterID);
+ CopySpeciesNametoBuffer(gAvailablePokemonNames, gUnknown_203B400->StarterID);
sub_80141B4(gPersonalityTypeDescriptionTable[gUnknown_203B400->playerNature],0,
0,0x101);
}
diff --git a/src/wonder_mail.c b/src/wonder_mail.c
index 274625c..e2daaa6 100644
--- a/src/wonder_mail.c
+++ b/src/wonder_mail.c
@@ -1,12 +1,16 @@
#include "global.h"
#include "save.h"
+#include "pokemon.h"
+#include "file_system.h"
+#include "constants/species.h"
// Wonder Mail Related
struct WonderMailStruct_203B2C0
{
+ // size: 0x548
u32 unk0;
u32 unk4;
- u8 padding2[0x38];
+ u8 unk8[0x38];
u32 unk40;
u32 unk44;
u16 unk48[232];
@@ -22,7 +26,7 @@ struct WonderMailStruct_203B2C0
u8 padding5[0x5C];
u32 unk3BC;
u8 padding4[0x60];
- u32 unk420;
+ u32 unk420; // Is this supposed to be a File like 203B2C4?
u8 padding3[0x110];
u32 unk534;
s32 unk538; // A7 << 3
@@ -31,29 +35,65 @@ struct WonderMailStruct_203B2C0
s16 unk544;
};
+struct unkStruct_203B2C4
+{
+ // size: 0x564
+ u8 unk0;
+ u8 padding[3];
+ u32 unk4; // wonder mail link status??
+ u8 unk8[0x36];
+ u8 unk3E;
+ u32 unk40;
+ u32 unk44; // another link status
+ u8 filler48[0x218 - 0x48];
+ s8 unk218;
+ u32 unk21C;
+ u8 filler220[0x30C - 0x220];
+ u32 unk30C;
+ u8 filler310[0x35C - 0x310];
+ u32 unk35C;
+ u8 filler360[0x3BC - 0x360];
+ u32 unk3BC;
+ u8 filler3C0[0x41C - 0x3C0];
+ u8 *unk41C;
+ /* 0x420 */ struct OpenedFile *faceFile;
+ /* 0x424 */ u8 *faceData;
+ u16 unk428;
+ u16 unk42A;
+ u8 unk42C;
+ u8 unk42D;
+ u8 unk42E;
+ u32 unk430;
+ u8 padding3[0x534 - 0x434];
+ s32 unk534;
+ u32 unk538;
+};
+extern struct unkStruct_203B2C4 *gUnknown_203B2C4;
+
struct unkStruct_8095228
{
u32 unk0;
u8 unk4;
- u8 padding[0x27];
+ u8 padding[0x10 - 0x5];
+ u32 unk10;
+ u8 padding2[0x20 - 0x14];
+ u8 *unk20;
+ u8 padding3[0x2C - 0x24];
+ s8 unk2C;
+ u8 padding4[0x30 - 0x2D];
s8 unk30;
};
+// Used as a temp storage when receiveing A-OK Mail
struct unkStruct_80293F4
{
- // size of 0x44
- u32 unk0;
- u32 unk4;
- u32 unk8;
- u32 *unkC;
+ u8 unkArray[0x10];
u32 unk10;
- u8 unk14[0xA]; // very unsure about this one
- u32 unk20;
- u32 unk24;
- u32 padding[7];
+ u8 padding[0x30 - 0x14];
};
+
extern struct WonderMailStruct_203B2C0 *gUnknown_203B2C0;
extern u32 sub_80144A4(s32 *r0);
@@ -81,6 +121,19 @@ extern u32 gWonderMailPasswordIncorrectText;
extern u32 gWonderMailSOSPasswordIncorrectText;
extern u32 gWonderMailDuplicateText;
extern u32 gWonderMailAOKMailReceivedText;
+extern u32 gUnknown_80DDA48;
+extern u32 gUnknown_80DEF04;
+extern u32 gUnknown_80DEF28;
+extern u32 gUnknown_80DEF80;
+extern u32 gUnknown_80DEFDC;
+extern u32 gUnknown_80DF044;
+extern u32 gUnknown_80DF0A0;
+extern u32 gUnknown_80DF0E0;
+extern u32 gUnknown_80DF138;
+extern u32 gUnknown_80DF194;
+extern char gUnknown_202E5D8[0x50];
+extern char gAvailablePokemonNames[0x50];
+extern u8 *gUnknown_80DED44;
extern s32 sub_8095190(void);
extern u32 sub_8095324(u32);
@@ -91,7 +144,7 @@ extern void sub_800641C(void *r0, u8, u8);
extern void ResetUnusedInputStruct();
extern void sub_803084C();
extern u32 sub_8030768(u32);
-extern u8 sub_80307EC();
+extern s8 sub_80307EC();
extern void sub_8030D40(u8, u32);
extern void sub_8006518(u32 *r0);
extern u8 sub_8012FD8(u32 *r0);
@@ -104,11 +157,13 @@ extern void sub_803092C(void);
extern void sub_8011C28(u32);
+extern void MemoryFill8(u8 *dest, u8 value, s32 size);
+extern void* MemoryAlloc(u32, u32);
+extern void MemoryFree(void *);
+
extern u32 sub_80154F0();
-void MemoryFill8(u8 *dest, u8 value, s32 size);
-extern u32 sub_8039068(u32, u32 *r1, u8 *r0);
-extern u32 gUnknown_80DDA48;
-extern void sub_8014248(u32 *r0, u32, u32, u32 *r1);
+extern u32 sub_8039068(u32, u8 *r1, u8 *r0);
+extern void sub_8014248(u32 *r0, u32, u32, u32 *r4, u32, u32, u32, u32 *r5, u32);
extern void sub_8095274(u32);
extern void sub_80155F0();
extern void sub_80951BC(u8 *r0);
@@ -126,6 +181,61 @@ extern u8 sub_8024108(u32);
extern u32 sub_8031DCC();
extern void sub_8031E10();
extern void sub_8031E00();
+void sub_808D8E0(u8 *, u32);
+extern char* GetMonSpecies(u32);
+extern s32 sub_80953D4(u32);
+extern void sub_802B2BC(u32);
+
+extern void sub_802AAE4();
+extern void sub_802AAC8();
+extern void sub_802AAAC();
+extern void sub_802AB7C();
+extern void sub_802AA28();
+extern void sub_802A98C();
+extern void sub_802A9A8();
+extern void sub_802A910();
+extern void sub_802A8BC();
+extern void sub_802A8A0();
+extern void sub_802A798();
+extern void sub_802A474();
+extern void sub_802A090();
+extern void sub_802A158();
+extern void sub_802A0C8();
+extern void sub_802A174();
+extern void sub_802A230();
+extern void sub_802A28C();
+extern void sub_802A39C();
+extern void sub_802A33C();
+extern void sub_802A740();
+extern void sub_802A6F0();
+extern void sub_802A68C();
+extern void sub_802A4D4();
+extern void sub_802A050();
+extern void sub_802A4AC();
+extern void sub_802A458();
+extern void sub_802A75C();
+extern void sub_8029F98();
+extern void sub_8029EA8();
+extern void sub_802A490();
+extern void sub_802AB60();
+extern void sub_802AB98();
+extern void sub_802A718();
+extern void sub_802A6B4();
+extern void sub_802A4F0();
+extern void sub_802A50C();
+extern void sub_802A9FC();
+extern void sub_802A828();
+extern void sub_802A850();
+extern void sub_8030DE4();
+extern void sub_801B450();
+extern void sub_803084C();
+extern void sub_801CBB8();
+extern void sub_80155F0();
+extern void sub_8031E10();
+extern void sub_802F2C0();
+
+
+
void sub_8028B04(u32 r0)
{
@@ -546,7 +656,7 @@ void sub_8028FDC(void)
}
else
{
- if(return_var->unk30 <= 0)
+ if(return_var->unk2C <= 0)
{
sub_8028B04(0x1D);
}
@@ -817,24 +927,20 @@ void sub_80293D8(void)
sub_8028B04(0x27);
}
-#ifndef NONMATCHING
-NAKED
-#endif
+// TODO: pls someone fix this madness of a match - Sese
+// This is definitely a fake match with the casting and switch could probably be cleaned up too..
+//
void sub_80293F4(void)
{
-#ifdef NONMATCHING
u32 return_var;
- u32 temp_var;
struct unkStruct_80293F4 temp;
+
return_var = sub_80154F0();
- MemoryFill8(temp.unk14, 0, 0x30);
+ MemoryFill8((u8 *)temp.unkArray, 0, 0x30);
switch(return_var)
{
case 3:
- return_var = sub_8039068(0x1C, &(gUnknown_203B2C0->unk8), temp.unk14) - 7;
- if(return_var <= 0x11)
- {
- switch(return_var)
+ switch(sub_8039068(0x1C, (gUnknown_203B2C0->unk8), temp.unkArray) - 7)
{
case 1:
case 2:
@@ -847,13 +953,7 @@ void sub_80293F4(void)
case 9:
break;
case 10:
- // TODO one register off from matching
- temp.unk0 = 0;
- temp.unk4 = 4;
- temp.unk8 = 0;
- temp.unkC = &(gUnknown_203B2C0->unk420);
- temp.unk10 = 0xC;
- sub_8014248(&gWonderMailPasswordIncorrectText, 0, 8, &gUnknown_80DDA48);
+ sub_8014248(&gWonderMailPasswordIncorrectText, 0, 8, &gUnknown_80DDA48, 0, 4, 0, &gUnknown_203B2C0->unk420, 0xC);
sub_8028B04(0x28);
break;
case 11:
@@ -869,10 +969,9 @@ void sub_80293F4(void)
case 14:
break;
case 15:
- sub_8095274(temp.unk24);
- // This one is iffy.. not sure
- temp.unk14[0] = 2;
- sub_80951BC(temp.unk14);
+ sub_8095274(temp.unk10);
+ temp.unkArray[0] = 2; // Some sort of Ack?
+ sub_80951BC(temp.unkArray);
sub_80141B4(&gWonderMailAOKMailReceivedText, 0, &gUnknown_203B2C0->unk420, 0x101);
sub_8028B04(0x23);
break;
@@ -881,7 +980,6 @@ void sub_80293F4(void)
default:
break;
}
- }
sub_80155F0();
break;
case 2:
@@ -893,158 +991,6 @@ void sub_80293F4(void)
default:
break;
}
-#else
- asm_unified("\tpush {r4,lr}\n"
- "\tsub sp, 0x44\n"
- "\tbl sub_80154F0\n"
- "\tadds r4, r0, 0\n"
- "\tadd r0, sp, 0x14\n"
- "\tmovs r1, 0\n"
- "\tmovs r2, 0x30\n"
- "\tbl MemoryFill8\n"
- "\tcmp r4, 0x2\n"
- "\tbne _0802940E\n"
- "\tb _08029530\n"
-"_0802940E:\n"
- "\tcmp r4, 0x3\n"
- "\tbeq _08029414\n"
- "\tb _08029550\n"
-"_08029414:\n"
- "\tldr r0, _08029434\n"
- "\tldr r1, [r0]\n"
- "\tadds r1, 0x8\n"
- "\tmovs r0, 0x1C\n"
- "\tadd r2, sp, 0x14\n"
- "\tbl sub_8039068\n"
- "\tsubs r0, 0x7\n"
- "\tcmp r0, 0x11\n"
- "\tbls _0802942A\n"
- "\tb _0802951C\n"
-"_0802942A:\n"
- "\tlsls r0, 2\n"
- "\tldr r1, _08029438\n"
- "\tadds r0, r1\n"
- "\tldr r0, [r0]\n"
- "\tmov pc, r0\n"
- "\t.align 2, 0\n"
-"_08029434: .4byte gUnknown_203B2C0\n"
-"_08029438: .4byte _0802943C\n"
- "\t.align 2, 0\n"
-"_0802943C:\n"
- "\t.4byte _080294C8\n"
- "\t.4byte _0802951C\n"
- "\t.4byte _0802951C\n"
- "\t.4byte _0802951C\n"
- "\t.4byte _0802951C\n"
- "\t.4byte _0802951C\n"
- "\t.4byte _0802951C\n"
- "\t.4byte _0802951C\n"
- "\t.4byte _0802951C\n"
- "\t.4byte _0802951C\n"
- "\t.4byte _08029484\n"
- "\t.4byte _080294C0\n"
- "\t.4byte _0802951C\n"
- "\t.4byte _0802951C\n"
- "\t.4byte _0802951C\n"
- "\t.4byte _080294F0\n"
- "\t.4byte _0802951C\n"
- "\t.4byte _0802951C\n"
-"_08029484:\n"
- "\tldr r0, _080294B4\n"
- "\tldr r3, _080294B8\n"
- "\tmovs r2, 0\n"
- "\tstr r2, [sp]\n"
- "\tmovs r1, 0x4\n"
- "\tstr r1, [sp, 0x4]\n"
- "\tstr r2, [sp, 0x8]\n"
- "\tldr r1, _080294BC\n"
- "\tldr r1, [r1]\n"
- "\tmovs r2, 0x84\n"
- "\tlsls r2, 3\n"
- "\tadds r1, r2\n"
- "\tstr r1, [sp, 0xC]\n"
- "\tmovs r1, 0xC\n"
- "\tstr r1, [sp, 0x10]\n"
- "\tmovs r1, 0\n"
- "\tmovs r2, 0x8\n"
- "\tbl sub_8014248\n"
- "\tmovs r0, 0x28\n"
- "\tbl sub_8028B04\n"
- "\tb _0802951C\n"
- "\t.align 2, 0\n"
-"_080294B4: .4byte gWonderMailPasswordIncorrectText\n"
-"_080294B8: .4byte gUnknown_80DDA48\n"
-"_080294BC: .4byte gUnknown_203B2C0\n"
-"_080294C0:\n"
- "\tldr r0, _080294C4\n"
- "\tb _080294CA\n"
- "\t.align 2, 0\n"
-"_080294C4: .4byte gWonderMailSOSPasswordIncorrectText\n"
-"_080294C8:\n"
- "\tldr r0, _080294E4\n"
-"_080294CA:\n"
- "\tldr r1, _080294E8\n"
- "\tldr r2, [r1]\n"
- "\tmovs r1, 0x84\n"
- "\tlsls r1, 3\n"
- "\tadds r2, r1\n"
- "\tldr r3, _080294EC\n"
- "\tmovs r1, 0\n"
- "\tbl sub_80141B4\n"
- "\tmovs r0, 0x7\n"
- "\tbl sub_8028B04\n"
- "\tb _0802951C\n"
- "\t.align 2, 0\n"
-"_080294E4: .4byte gWonderMailDuplicateText\n"
-"_080294E8: .4byte gUnknown_203B2C0\n"
-"_080294EC: .4byte 0x0000010d\n"
-"_080294F0:\n"
- "\tldr r0, [sp, 0x24]\n"
- "\tbl sub_8095274\n"
- "\tadd r1, sp, 0x14\n"
- "\tmovs r0, 0x2\n"
- "\tstrb r0, [r1]\n"
- "\tadds r0, r1, 0\n"
- "\tbl sub_80951BC\n"
- "\tldr r0, _08029524\n"
- "\tldr r1, _08029528\n"
- "\tldr r2, [r1]\n"
- "\tmovs r1, 0x84\n"
- "\tlsls r1, 3\n"
- "\tadds r2, r1\n"
- "\tldr r3, _0802952C\n"
- "\tmovs r1, 0\n"
- "\tbl sub_80141B4\n"
- "\tmovs r0, 0x23\n"
- "\tbl sub_8028B04\n"
-"_0802951C:\n"
- "\tbl sub_80155F0\n"
- "\tb _08029550\n"
- "\t.align 2, 0\n"
-"_08029524: .4byte gWonderMailAOKMailReceivedText\n"
-"_08029528: .4byte gUnknown_203B2C0\n"
-"_0802952C: .4byte 0x00000101\n"
-"_08029530:\n"
- "\tbl sub_80155F0\n"
- "\tbl ResetUnusedInputStruct\n"
- "\tldr r0, _08029558\n"
- "\tldr r0, [r0]\n"
- "\tmovs r2, 0xEF\n"
- "\tlsls r2, 2\n"
- "\tadds r0, r2\n"
- "\tmovs r1, 0x1\n"
- "\tmovs r2, 0x1\n"
- "\tbl sub_800641C\n"
- "\tmovs r0, 0x1\n"
- "\tbl sub_8028B04\n"
-"_08029550:\n"
- "\tadd sp, 0x44\n"
- "\tpop {r4}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.align 2, 0\n"
-"_08029558: .4byte gUnknown_203B2C0\n");
-#endif
}
void sub_802955C(void)
@@ -1436,3 +1382,252 @@ void sub_8029B34(void)
}
sub_8028B04(3);
}
+
+u32 sub_8029B50(void)
+{
+ char *monName;
+ struct OpenedFile *faceFile;
+ s32 uVar2;
+ int counter;
+ struct unkStruct_8095228 *temp;
+
+ ResetUnusedInputStruct();
+ sub_800641C(0,1,1);
+ gUnknown_203B2C4 = MemoryAlloc(0x564, 8);
+ MemoryFill8((u8 *)gUnknown_203B2C4, 0, 0x564);
+
+ sub_808D8E0(gUnknown_202E5D8, SPECIES_PELIPPER);
+ monName = GetMonSpecies(SPECIES_PELIPPER);
+ strcpy(gAvailablePokemonNames, monName);
+ faceFile = GetDialogueSpriteDataPtr(SPECIES_PELIPPER);
+
+ gUnknown_203B2C4->faceFile = faceFile;
+ gUnknown_203B2C4->faceData = faceFile->data;
+ gUnknown_203B2C4->unk42C = 0;
+ gUnknown_203B2C4->unk42D = 0;
+ gUnknown_203B2C4->unk42E = 0;
+ gUnknown_203B2C4->unk428 = 2;
+ gUnknown_203B2C4->unk42A = 8;
+
+ for(counter = 0; counter < 0x36; counter++){
+ gUnknown_203B2C4->unk8[counter] = 0;
+ }
+
+ gUnknown_203B2C4->unk534 = 3;
+ gUnknown_203B2C4->unk538 = 1;
+
+ uVar2 = sub_80953D4(6);
+ if (uVar2 != -1) {
+ temp = sub_8095228(uVar2);
+ gUnknown_203B2C4->unk41C = temp->unk20;
+ gUnknown_203B2C4->unk218 = uVar2;
+ gUnknown_203B2C4->unk430 = temp->unk10;
+ sub_802B2BC(5);
+ }
+ else {
+ gUnknown_203B2C4->unk41C = gUnknown_80DED44;
+ gUnknown_203B2C4->unk218 = -1;
+ sub_802B2BC(0);
+ }
+ gUnknown_203B2C4->unk4 = 0x2b;
+ return 1;
+}
+
+u32 sub_8029C98(void)
+{
+
+ switch(gUnknown_203B2C4->unk0) {
+ case 5:
+ sub_802AB7C();
+ break;
+ case 0x1e:
+ sub_8029F98();
+ break;
+ case 0x1f:
+ sub_8029EA8();
+ break;
+ case 0xe:
+ sub_802A090();
+ break;
+ case 0xf:
+ sub_802A158();
+ break;
+ case 0x11:
+ sub_802A174();
+ break;
+ case 0x12:
+ sub_802A230();
+ break;
+ case 0x10:
+ sub_802A0C8();
+ break;
+ case 0x13:
+ sub_802A28C();
+ break;
+ case 0x14:
+ sub_802A39C();
+ break;
+ case 0x15:
+ sub_802A33C();
+ break;
+ case 0x1c:
+ sub_802A458();
+ break;
+ case 0x1b:
+ sub_802A4AC();
+ break;
+ case 0x19:
+ sub_802A4D4();
+ break;
+ case 0x1a:
+ sub_802A050();
+ break;
+ case 0x28:
+ sub_802A9FC();
+ break;
+ case 0x26:
+ sub_802A4F0();
+ break;
+ case 0x27:
+ sub_802A50C();
+ break;
+ case 0x25:
+ sub_802A6B4();
+ break;
+ case 0x24:
+ sub_802A718();
+ break;
+ case 0x21:
+ sub_802AB60();
+ break;
+ case 0x22:
+ sub_802AB98();
+ break;
+ case 0x16:
+ sub_802A740();
+ break;
+ case 0x18:
+ sub_802A68C();
+ break;
+ case 0x17:
+ sub_802A6F0();
+ break;
+ case 0x1d:
+ sub_802A75C();
+ break;
+ case 0x20:
+ sub_802A490();
+ break;
+ case 0xd:
+ sub_802A474();
+ break;
+ case 0xc:
+ sub_802A798();
+ break;
+ case 0x29:
+ sub_802A828();
+ break;
+ case 0x2a:
+ sub_802A850();
+ break;
+ case 0xb:
+ sub_802A8A0();
+ break;
+ case 10:
+ sub_802A8BC();
+ break;
+ case 9:
+ sub_802A910();
+ break;
+ case 7:
+ sub_802A98C();
+ break;
+ case 8:
+ sub_802A9A8();
+ break;
+ case 6:
+ sub_802AA28();
+ break;
+ case 4:
+ sub_802AAAC();
+ break;
+ case 0:
+ case 1:
+ sub_802AAE4();
+ break;
+ case 2:
+ sub_802AAC8();
+ break;
+ case 3:
+ return 3;
+ }
+ return 0;
+}
+
+void sub_8029E60(void)
+{
+ if(gUnknown_203B2C4 != NULL)
+ {
+ CloseFile(gUnknown_203B2C4->faceFile);
+ MemoryFree(gUnknown_203B2C4);
+ gUnknown_203B2C4 = NULL;
+ sub_8030DE4();
+ sub_801B450();
+ sub_803084C();
+ sub_801CBB8();
+ sub_80155F0();
+ sub_8031E10();
+ sub_802F2C0();
+ }
+}
+
+void sub_8029EA8(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ sub_802B2BC(1);
+ }
+}
+
+void sub_8029EC4(u32 param_1)
+{
+ switch(param_1) {
+ case 3:
+ sub_80141B4(&gUnknown_80DEF28, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
+ break;
+ case 4:
+ sub_80141B4(&gUnknown_80DEF80, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
+ break;
+ case 6:
+ sub_80141B4(&gUnknown_80DEFDC, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
+ break;
+ case 7:
+ sub_80141B4(&gUnknown_80DF044, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
+ break;
+ case 9:
+ sub_80141B4(&gUnknown_80DF0A0, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
+ break;
+ case 11:
+ sub_80141B4(&gUnknown_80DF0A0, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
+ break;
+ case 13:
+ sub_80141B4(&gUnknown_80DF0E0, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
+ break;
+ case 1:
+ case 2:
+ case 5:
+ case 14:
+ sub_80141B4(&gUnknown_80DEF04, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
+ break;
+ case 15:
+ sub_80141B4(&gUnknown_80DF138,0,(u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
+ break;
+ case 0:
+ case 8:
+ case 10:
+ case 12:
+ default:
+ return;
+ }
+}
diff --git a/src/wonder_mail_1.c b/src/wonder_mail_1.c
index e8ca386..20f901c 100644
--- a/src/wonder_mail_1.c
+++ b/src/wonder_mail_1.c
@@ -2,8 +2,7 @@
extern void sub_80338C4(u32);
extern u32 *gUnknown_203B33C;
-
-u32 sub_80144A4(s32 *);
+extern s32 sub_80144A4(s32 *);
void sub_8035374(void)
{
@@ -45,3 +44,30 @@ void sub_80353BC(void)
break;
}
}
+
+void sub_8035404(u32 param_1)
+{
+ s32 iVar1;
+
+ if(sub_80144A4(&iVar1) == 0){
+ sub_80338C4(param_1);
+ }
+}
+
+void sub_8035424(void)
+{
+ sub_80338C4(6);
+}
+
+void sub_8035430(void)
+{
+ sub_80338C4(0x4F);
+}
+
+void nullsub_50(void)
+{
+}
+
+void nullsub_51(void)
+{
+}
diff --git a/src/wonder_mail_mid.c b/src/wonder_mail_mid.c
new file mode 100644
index 0000000..93b2f5e
--- /dev/null
+++ b/src/wonder_mail_mid.c
@@ -0,0 +1,399 @@
+#include "global.h"
+#include "file_system.h"
+
+struct unkStruct_203B2C4
+{
+ // size: 0x564
+ u8 unk0;
+ u8 padding[3];
+ u32 unk4; // wonder mail link status??
+ u8 unk8[0x36];
+ u8 unk3E;
+ u32 unk40;
+ u32 unk44; // another link status
+ u8 filler48[0x218 - 0x48];
+ s8 unk218;
+ u32 unk21C;
+ u8 filler220[0x30C - 0x220];
+ u32 unk30C;
+ u8 filler310[0x35C - 0x310];
+ u32 unk35C;
+ u8 filler360[0x3BC - 0x360];
+ u32 unk3BC;
+ u8 filler3C0[0x41C - 0x3C0];
+ u8 unk41C[4]; // TODO: unify this with wonder_mail.c
+ struct OpenedFile *faceFile;
+ u8 *faceData;
+ u16 unk428;
+ u16 unk42A;
+ u8 unk42C;
+ u8 unk42D;
+ u8 unk42E;
+ u32 unk430;
+ u8 filler434[0x534 - 0x434];
+ s32 unk534;
+ u32 unk538;
+};
+extern struct unkStruct_203B2C4 *gUnknown_203B2C4;
+
+
+extern u16 gUnknown_80E5990[];
+extern struct unkStruct_203B340 *gUnknown_203B340;
+extern s32 sub_8001658(u32, u32);
+extern u32 gUnknown_80E4A40[];
+extern u8 sub_8099B94();
+
+extern void sub_8099A5C(u32, u32, u32*);
+extern void sub_8099AFC(u32, u32, u32*);
+extern void sub_800641C(void *, u32, u32);
+extern void ResetUnusedInputStruct();
+extern void sub_8099690(u32);
+extern void sub_80141B4(u32 *r0, u32, u32 *r1, u32);
+
+
+extern void MemoryFill8(u8 *dest, u8 value, s32 size);
+extern u32 gUnknown_80DF194;
+extern void sub_8029EC4(u32 param_1);
+
+extern void sub_802B2BC(u32);
+extern u32 sub_80144A4(s32 *r0);
+extern u32 sub_8031DCC(void);
+extern void sub_8031E00(void);
+extern void sub_8031E10(void);
+extern void sub_8030D40(u8, u32);
+extern u32 sub_8030768(u32);
+extern void sub_803084C(void);
+extern s8 sub_80307EC(void);
+extern void sub_8006518(u32 *);
+extern u8 sub_8012FD8(u32 *r0);
+extern void sub_8013114(u32 *, s32 *);
+extern void sub_8035CC0(u32 *, u32);
+extern void sub_8030810(u32);
+extern u32 sub_8030DA0();
+extern void sub_8030DE4();
+extern void sub_803092C();
+extern void sub_8035CF4(u32 *, u32, u32);
+extern u32 sub_801CA08(u32);
+extern void sub_801CBB8();
+extern void sub_801B3C0(u8 *);
+extern u8 sub_801CB24();
+extern void sub_801B450();
+extern u32 sub_801B410();
+extern void sub_801CB5C(u32);
+extern void sub_801CCD8();
+extern void sub_8011C28(u32);
+extern void sub_8012574(u32);
+
+void sub_8029F98(void)
+{
+ s32 auStack20;
+
+ if (sub_80144A4(&auStack20) != 0) {
+ return;
+ }
+ MemoryFill8(gUnknown_203B2C4->unk41C, 0, 4);
+ gUnknown_203B2C4->unk41C[2] = 0;
+ gUnknown_203B2C4->unk41C[1] = 1;
+ gUnknown_203B2C4->unk41C[0] = 0;
+ if (gUnknown_203B2C4->unk44 == 0) {
+ switch(gUnknown_203B2C4->unk40)
+ {
+ case 6:
+ switch(gUnknown_203B2C4->unk534)
+ {
+ case 3:
+ case 5:
+ case 6:
+ sub_80141B4(&gUnknown_80DF194, 0, (u32 *)&gUnknown_203B2C4->faceFile, 0x10d);
+ break;
+ case 4:
+ default:
+ break;
+ }
+ sub_802B2BC(0xD);
+ return;
+ case 7:
+ sub_802B2BC(0x21);
+ return;
+ default:
+ return;
+ }
+ }
+ else
+ {
+ sub_8029EC4(gUnknown_203B2C4->unk44);
+ sub_802B2BC(0x1F);
+ }
+}
+
+void sub_802A050(void)
+{
+ switch(sub_8031DCC())
+ {
+
+ case 3:
+ case 2:
+ sub_8031E10();
+ ResetUnusedInputStruct();
+ sub_800641C(&gUnknown_203B2C4->unk3BC, 1, 1);
+ sub_802B2BC(0x1B);
+ break;
+ case 1:
+ sub_8031E00();
+ break;
+ default:
+ return;
+ }
+}
+
+void sub_802A090(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ switch(temp)
+ {
+ case 7:
+ sub_802B2BC(6);
+ break;
+ case 8:
+ case 0:
+ sub_802B2BC(1);
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+void sub_802A0C8(void)
+{
+ switch(sub_8030768(1))
+ {
+ case 2:
+ sub_803084C();
+ sub_802B2BC(1);
+ break;
+ case 3:
+ gUnknown_203B2C4->unk218 = sub_80307EC();
+ sub_802B2BC(0x11);
+ break;
+ case 4:
+ gUnknown_203B2C4->unk4 = 0x10;
+ gUnknown_203B2C4->unk218 = sub_80307EC();
+ sub_8006518(&gUnknown_203B2C4->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0,1,1);
+ sub_8030D40(gUnknown_203B2C4->unk218,0);
+ sub_802B2BC(0x12);
+ }
+}
+
+void sub_802A158(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ sub_802B2BC(0x10);
+ }
+}
+
+void sub_802A174(void)
+{
+ s32 temp;
+
+ temp = -1;
+ sub_8030768(0);
+ if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) {
+ sub_8013114(&gUnknown_203B2C4->unk30C, &temp);
+ }
+
+ switch(temp)
+ {
+ case 0xB:
+ sub_803084C();
+ sub_802B2BC(0xe);
+ break;
+ case 0xC:
+ gUnknown_203B2C4->unk4 = 0x2b;
+ sub_8006518(&gUnknown_203B2C4->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0,1,1);
+ sub_8030D40(gUnknown_203B2C4->unk218,0);
+ sub_802B2BC(0x12);
+ break;
+ case 0:
+ case 0xD:
+ sub_8035CC0(&gUnknown_203B2C4->unk35C,2);
+ sub_8030810(1);
+ sub_802B2BC(0x10);
+ default:
+ break;
+ }
+}
+
+void sub_802A230(void)
+{
+ switch(sub_8030DA0())
+ {
+ case 2:
+ case 3:
+ sub_8030DE4();
+ ResetUnusedInputStruct();
+ sub_800641C(&gUnknown_203B2C4->unk3BC, 1, 1);
+ sub_803092C();
+ if (gUnknown_203B2C4->unk4 == 0x2b) {
+ sub_8035CF4(&gUnknown_203B2C4->unk21C, 3, 1);
+ sub_802B2BC(0x11);
+ }
+ else {
+ sub_802B2BC(gUnknown_203B2C4->unk4);
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+void sub_802A28C(void)
+{
+
+ gUnknown_203B2C4->unk41C[2] = 0;
+ gUnknown_203B2C4->unk41C[1] = 1;
+ gUnknown_203B2C4->unk41C[0] = 0;
+
+ switch(sub_801CA08(1))
+ {
+ case 2:
+ sub_801CBB8();
+ sub_802B2BC(1);
+ break;
+ case 3:
+ gUnknown_203B2C4->unk41C[2] = sub_801CB24();
+ sub_802B2BC(0x14);
+ break;
+ case 4:
+ gUnknown_203B2C4->unk4 = 0x13;
+ gUnknown_203B2C4->unk41C[2] = sub_801CB24();
+ sub_8006518(&gUnknown_203B2C4->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0,1,1);
+ sub_801B3C0(gUnknown_203B2C4->unk41C);
+ sub_802B2BC(0x15);
+ break;
+ }
+}
+
+void sub_802A33C(void)
+{
+ switch(sub_801B410())
+ {
+ case 2:
+ case 3:
+ sub_801B450();
+ ResetUnusedInputStruct();
+ sub_800641C(&gUnknown_203B2C4->unk3BC,1,1);
+ sub_801CB5C(1);
+ if (gUnknown_203B2C4->unk4 == 0x2b) {
+ sub_8035CF4(&gUnknown_203B2C4->unk21C,3,1);
+ sub_802B2BC(0x14);
+ }
+ else {
+ sub_802B2BC(gUnknown_203B2C4->unk4);
+ }
+ break;
+ case 1:
+ default:
+ break;
+ }
+}
+
+void sub_802A39C(void)
+{
+ s32 temp;
+
+ temp = -1;
+ sub_801CA08(0);
+ if (sub_8012FD8(&gUnknown_203B2C4->unk30C) == 0) {
+ sub_8013114(&gUnknown_203B2C4->unk30C, &temp);
+ }
+
+ switch(temp)
+ {
+ case 0xB:
+ sub_801CBB8();
+ sub_802B2BC(0xC);
+ break;
+ case 0xC:
+ gUnknown_203B2C4->unk4 = 0x2b;
+ sub_8006518(&gUnknown_203B2C4->unk3BC);
+ ResetUnusedInputStruct();
+ sub_800641C(0,1,1);
+ sub_801B3C0(gUnknown_203B2C4->unk41C);
+ sub_802B2BC(0x15);
+ break;
+ case 0:
+ case 0xD:
+ sub_8035CC0(&gUnknown_203B2C4->unk35C, 3);
+ sub_801CCD8();
+ sub_802B2BC(0x13);
+ default:
+ break;
+ }
+}
+
+void sub_802A458(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ sub_802B2BC(0xD);
+ }
+}
+
+void sub_802A474(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ sub_802B2BC(0x3);
+ }
+}
+
+void sub_802A490(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ sub_802B2BC(0x3);
+ }
+}
+
+void sub_802A4AC(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ sub_802B2BC(0x18);
+ sub_8011C28(1);
+ sub_8012574(0);
+ }
+}
+
+void sub_802A4D4(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ sub_802B2BC(0x1A);
+ }
+}
+
+void sub_802A4F0(void)
+{
+ s32 temp;
+ if(sub_80144A4(&temp) == 0)
+ {
+ sub_802B2BC(0x27);
+ }
+}
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 53ff44a..febc159 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -398,7 +398,7 @@ gUnknown_202DE58 = .; /* 202DE58 */
gUnknown_202DEA8 = .; /* 202DEA8 */
. += 0xF0;
-gUnknown_202DF98 = .; /* 202DF98 ( Available Pokemon Names ) */
+gAvailablePokemonNames = .; /* 202DF98 */
. += 0x50;
gUnknown_202DFE8 = .; /* 202DFE8 */