summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/code_8012A18.s417
-rw-r--r--asm/code_801C620.s1754
-rw-r--r--asm/code_801D760.s20193
-rw-r--r--asm/code_801DCC4.s833
-rw-r--r--asm/code_80521D0.s2
-rw-r--r--asm/code_8057824.s74
-rw-r--r--asm/code_808EAB0.s4
-rw-r--r--asm/code_8092334.s849
-rw-r--r--asm/code_8098BDC.s4
-rw-r--r--asm/game_options.s801
-rw-r--r--asm/gulpin_shop.s18648
-rw-r--r--asm/kangaskhan_storage_1.s1611
-rw-r--r--asm/kangaskhan_storage_2.s1456
-rw-r--r--asm/makuhita_dojo.s14
-rw-r--r--asm/memory.s359
-rw-r--r--asm/memory_1.s274
-rw-r--r--asm/pokemon.s57
-rw-r--r--asm/pokemon_square.s2086
-rw-r--r--data/data_80B9BB8.s2390
-rw-r--r--data/data_80D47B8.s2306
-rw-r--r--data/data_810AE24.s6
-rw-r--r--include/code_8041D5C.h4
-rw-r--r--include/constants/species.h2
-rw-r--r--include/gUnknown_203B46C.h21
-rw-r--r--include/kecleon_items.h2
-rw-r--r--include/memory.h3
-rw-r--r--include/pokemon.h51
-rw-r--r--include/save.h6
-rwxr-xr-xld_script.txt15
-rw-r--r--src/adventure_log.c5
-rw-r--r--src/code_2.c13
-rw-r--r--src/code_8012A18.c12
-rw-r--r--src/code_8012A18_1.c284
-rw-r--r--src/code_801C620.c197
-rw-r--r--src/code_801D760.c286
-rw-r--r--src/code_801DCC4.c474
-rw-r--r--src/code_8048480.c27
-rw-r--r--src/code_8057824.c50
-rw-r--r--src/code_808EAB0.c8
-rw-r--r--src/credits.c79
-rw-r--r--src/debug.c16
-rw-r--r--src/debug_menu.c4
-rw-r--r--src/debug_menu_mid.c3
-rw-r--r--src/felicity_bank.c3
-rw-r--r--src/friend_area.c22
-rw-r--r--src/friend_rescue.c4
-rw-r--r--src/game_options.c34
-rw-r--r--src/kangaskhan_storage.c3
-rw-r--r--src/kangaskhan_storage_2.c98
-rw-r--r--src/kangaskhan_storage_3.c37
-rw-r--r--src/kecleon_items.c11
-rw-r--r--src/load_screen.c4
-rw-r--r--src/main_menu.c6
-rw-r--r--src/main_menu_1.c4
-rw-r--r--src/makuhita_dojo.c19
-rw-r--r--src/memory_mid.c63
-rw-r--r--src/other_menus.c16
-rw-r--r--src/personality_test.c12
-rw-r--r--src/pokemon.c31
-rw-r--r--src/post_office_guide.c4
-rw-r--r--src/save.c152
-rw-r--r--src/trade_items_menu.c4
-rw-r--r--src/unk_menu_203B360.c4
-rw-r--r--src/unk_menu_203B364.c4
-rw-r--r--src/wonder_mail.c5
-rw-r--r--src/wonder_mail_2.c9
-rw-r--r--src/wonder_mail_3.c9
-rw-r--r--src/wonder_mail_main_menu.c4
-rw-r--r--src/wonder_mail_pre.c3
69 files changed, 27901 insertions, 28364 deletions
diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s
index 57fabe0..959eade 100644
--- a/asm/code_8012A18.s
+++ b/asm/code_8012A18.s
@@ -6766,421 +6766,4 @@ _08015FE4:
bx r0
thumb_func_end sub_8015F84
- thumb_func_start sub_8015FEC
-sub_8015FEC:
- push {r4-r7,lr}
- adds r2, r0, 0
- adds r5, r1, 0
- movs r7, 0
- movs r6, 0
- cmp r7, r5
- bge _08016020
- ldrb r0, [r2]
- cmp r0, 0
- beq _08016020
- adds r4, r2, 0
-_08016002:
- ldrb r0, [r4]
- bl ReturnIntFromChar2
- bl GetCharacter
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- adds r7, r0
- adds r4, 0x1
- adds r6, 0x1
- cmp r6, r5
- bge _08016020
- ldrb r0, [r4]
- cmp r0, 0
- bne _08016002
-_08016020:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8015FEC
-
- thumb_func_start sub_8016028
-sub_8016028:
- movs r0, 0x3C
- bx lr
- thumb_func_end sub_8016028
-
- thumb_func_start sub_801602C
-sub_801602C:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _08016064
- movs r0, 0x50
- movs r1, 0x8
- bl MemoryAlloc
- adds r1, r0, 0
- str r1, [r4]
- str r6, [r1]
- str r5, [r1, 0x8]
- cmp r6, 0x1
- beq _0801606E
- cmp r6, 0x1
- bcc _08016068
- cmp r6, 0x2
- beq _0801606E
- cmp r6, 0x3
- beq _0801606E
- b _08016070
- .align 2, 0
-_08016064: .4byte gUnknown_203B200
-_08016068:
- movs r0, 0
- str r0, [r1, 0x4]
- b _08016070
-_0801606E:
- str r6, [r1, 0x4]
-_08016070:
- movs r0, 0
- bl sub_80160F4
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801602C
-
- thumb_func_start sub_8016080
-sub_8016080:
- push {lr}
- ldr r0, _08016098
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- cmp r0, 0x4
- bhi _080160D0
- lsls r0, 2
- ldr r1, _0801609C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08016098: .4byte gUnknown_203B200
-_0801609C: .4byte _080160A0
- .align 2, 0
-_080160A0:
- .4byte _080160B4
- .4byte _080160BA
- .4byte _080160C0
- .4byte _080160C6
- .4byte _080160CC
-_080160B4:
- bl sub_80161F8
- b _080160D0
-_080160BA:
- bl sub_8016248
- b _080160D0
-_080160C0:
- bl sub_8016280
- b _080160D0
-_080160C6:
- bl sub_801629C
- b _080160D0
-_080160CC:
- movs r0, 0x3
- b _080160D2
-_080160D0:
- movs r0, 0
-_080160D2:
- pop {r1}
- bx r1
- thumb_func_end sub_8016080
-
- thumb_func_start sub_80160D8
-sub_80160D8:
- push {r4,lr}
- ldr r4, _080160F0
- ldr r0, [r4]
- cmp r0, 0
- beq _080160EA
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080160EA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080160F0: .4byte gUnknown_203B200
- thumb_func_end sub_80160D8
-
- thumb_func_start sub_80160F4
-sub_80160F4:
- push {lr}
- ldr r1, _08016108
- ldr r1, [r1]
- str r0, [r1, 0xC]
- bl nullsub_36
- bl sub_8016110
- pop {r0}
- bx r0
- .align 2, 0
-_08016108: .4byte gUnknown_203B200
- thumb_func_end sub_80160F4
-
- thumb_func_start nullsub_36
-nullsub_36:
- bx lr
- thumb_func_end nullsub_36
-
- thumb_func_start sub_8016110
-sub_8016110:
- push {r4,lr}
- sub sp, 0x14
- ldr r4, _08016128
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- cmp r0, 0x1
- beq _08016140
- cmp r0, 0x1
- bgt _0801612C
- cmp r0, 0
- beq _08016136
- b _080161B8
- .align 2, 0
-_08016128: .4byte gUnknown_203B200
-_0801612C:
- cmp r0, 0x2
- beq _08016194
- cmp r0, 0x3
- beq _080161AC
- b _080161B8
-_08016136:
- ldr r0, [r1, 0x4]
- ldr r1, [r1, 0x8]
- bl sub_80151C0
- b _080161B8
-_08016140:
- bl sub_80161C8
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- cmp r0, 0x1
- bne _0801615C
- ldr r0, _08016158
- ldr r1, [r1, 0x8]
- movs r2, 0xA
- bl sub_80922B4
- b _08016166
- .align 2, 0
-_08016158: .4byte gAvailablePokemonNames
-_0801615C:
- ldr r0, _08016188
- ldr r1, [r1, 0x8]
- movs r2, 0xA
- bl sub_80922B4
-_08016166:
- ldr r0, _0801618C
- ldr r1, _08016190
- ldr r3, [r1]
- adds r3, 0x10
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r1, 0x20
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- b _080161B8
- .align 2, 0
-_08016188: .4byte gAvailablePokemonNames
-_0801618C: .4byte gUnknown_80DB688
-_08016190: .4byte gUnknown_203B200
-_08016194:
- ldr r0, _080161A4
- ldr r3, _080161A8
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _080161B8
- .align 2, 0
-_080161A4: .4byte gUnknown_80DB6A4
-_080161A8: .4byte 0x00000121
-_080161AC:
- ldr r0, _080161C0
- ldr r3, _080161C4
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_080161B8:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080161C0: .4byte gUnknown_80DB6BC
-_080161C4: .4byte 0x00000121
- thumb_func_end sub_8016110
-
- thumb_func_start sub_80161C8
-sub_80161C8:
- ldr r0, _080161EC
- ldr r1, [r0]
- ldr r0, _080161F0
- ldr r0, [r0]
- str r0, [r1, 0x10]
- movs r0, 0x2
- str r0, [r1, 0x14]
- ldr r0, _080161F4
- ldr r0, [r0]
- str r0, [r1, 0x18]
- movs r0, 0x3
- str r0, [r1, 0x1C]
- movs r0, 0
- str r0, [r1, 0x20]
- movs r0, 0x1
- str r0, [r1, 0x24]
- bx lr
- .align 2, 0
-_080161EC: .4byte gUnknown_203B200
-_080161F0: .4byte gUnknown_80D4920
-_080161F4: .4byte gUnknown_80D4928
- thumb_func_end sub_80161C8
-
- thumb_func_start sub_80161F8
-sub_80161F8:
- push {r4,lr}
- bl sub_80154F0
- cmp r0, 0x3
- bne _08016242
- bl sub_80155F0
- bl sub_80162B8
- lsls r0, 24
- cmp r0, 0
- beq _08016218
- movs r0, 0x3
- bl sub_80160F4
- b _08016242
-_08016218:
- ldr r0, _08016238
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- movs r1, 0xA
- bl sub_8015FEC
- adds r4, r0, 0
- bl sub_8016028
- cmp r4, r0
- ble _0801623C
- movs r0, 0x2
- bl sub_80160F4
- b _08016242
- .align 2, 0
-_08016238: .4byte gUnknown_203B200
-_0801623C:
- movs r0, 0x1
- bl sub_80160F4
-_08016242:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80161F8
-
- thumb_func_start sub_8016248
-sub_8016248:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801627A
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801626C
- cmp r0, 0x2
- bgt _08016266
- cmp r0, 0x1
- beq _08016274
- b _0801627A
-_08016266:
- cmp r0, 0x3
- beq _08016274
- b _0801627A
-_0801626C:
- movs r0, 0x4
- bl sub_80160F4
- b _0801627A
-_08016274:
- movs r0, 0
- bl sub_80160F4
-_0801627A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8016248
-
- thumb_func_start sub_8016280
-sub_8016280:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08016294
- movs r0, 0
- bl sub_80160F4
-_08016294:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8016280
-
- thumb_func_start sub_801629C
-sub_801629C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080162B0
- movs r0, 0
- bl sub_80160F4
-_080162B0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_801629C
-
- thumb_func_start sub_80162B8
-sub_80162B8:
- push {lr}
- movs r3, 0xA
- movs r1, 0
- ldr r0, _080162D4
- ldr r0, [r0]
- ldr r2, [r0, 0x8]
-_080162C4:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080162DE
- cmp r0, 0x20
- beq _080162D8
- movs r0, 0
- b _080162E0
- .align 2, 0
-_080162D4: .4byte gUnknown_203B200
-_080162D8:
- adds r1, 0x1
- cmp r1, r3
- blt _080162C4
-_080162DE:
- movs r0, 0x1
-_080162E0:
- pop {r1}
- bx r1
- thumb_func_end sub_80162B8
-
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/code_801C620.s b/asm/code_801C620.s
new file mode 100644
index 0000000..8c97b65
--- /dev/null
+++ b/asm/code_801C620.s
@@ -0,0 +1,1754 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_801C8C4
+sub_801C8C4:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r4, r0, 0
+ adds r6, r1, 0
+ mov r9, r2
+ mov r10, r3
+ bl sub_801CF14
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801C8E4
+ movs r0, 0
+ b _0801C9D0
+_0801C8E4:
+ ldr r5, _0801C9E0
+ ldr r0, [r5]
+ cmp r0, 0
+ bne _0801C8F6
+ ldr r0, _0801C9E4
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+_0801C8F6:
+ ldr r0, [r5]
+ str r4, [r0]
+ bl sub_801CF94
+ ldr r0, [r5]
+ movs r4, 0x9D
+ lsls r4, 3
+ adds r1, r0, r4
+ str r6, [r1]
+ ldr r1, _0801C9E8
+ mov r8, r1
+ adds r2, r0, r1
+ lsls r1, r6, 1
+ adds r1, r6
+ lsls r1, 3
+ movs r7, 0x9E
+ lsls r7, 3
+ adds r1, r7
+ adds r1, r0, r1
+ str r1, [r2]
+ adds r0, r7
+ bl sub_8006518
+ ldr r1, [r5]
+ adds r4, r1, r4
+ ldr r2, [r4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, r7
+ ldr r0, _0801C9EC
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r2, [r5]
+ mov r1, r8
+ adds r0, r2, r1
+ ldr r1, [r0]
+ movs r3, 0xAA
+ lsls r3, 3
+ adds r0, r2, r3
+ str r0, [r1, 0x14]
+ mov r4, r9
+ cmp r4, 0
+ beq _0801C96C
+ movs r1, 0x9D
+ lsls r1, 3
+ adds r0, r2, r1
+ ldr r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ subs r3, 0x58
+ adds r1, r2, r3
+ adds r1, r0
+ ldr r0, [r4]
+ str r0, [r1]
+_0801C96C:
+ ldr r0, [r5]
+ add r0, r8
+ ldr r0, [r0]
+ mov r1, r10
+ bl sub_8012D08
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ adds r0, r7
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r5]
+ ldr r0, _0801C9F0
+ adds r4, r0
+ bl sub_801CE58
+ adds r1, r0, 0
+ adds r0, r4, 0
+ mov r2, r10
+ adds r3, r6, 0
+ bl sub_8013818
+ ldr r0, _0801C9F4
+ ldr r4, [r5]
+ ldr r1, [r0]
+ ldr r0, [r4]
+ cmp r1, r0
+ bne _0801C9C6
+ ldr r0, _0801C9F8
+ ldrh r1, [r0]
+ ldr r2, _0801C9FC
+ adds r0, r4, r2
+ strh r1, [r0]
+ ldr r0, _0801CA00
+ ldrh r1, [r0]
+ ldr r3, _0801CA04
+ adds r0, r4, r3
+ strh r1, [r0]
+ ldr r1, _0801C9F0
+ adds r0, r4, r1
+ bl sub_8013984
+_0801C9C6:
+ bl sub_801CC38
+ bl sub_801CCD8
+ movs r0, 0x1
+_0801C9D0:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801C9E0: .4byte gUnknown_203B244
+_0801C9E4: .4byte 0x00000554
+_0801C9E8: .4byte 0x000004ec
+_0801C9EC: .4byte gUnknown_80DBE54
+_0801C9F0: .4byte 0x000004b4
+_0801C9F4: .4byte gUnknown_203B248
+_0801C9F8: .4byte gUnknown_203B24C
+_0801C9FC: .4byte 0x000004cc
+_0801CA00: .4byte gUnknown_203B24E
+_0801CA04: .4byte 0x000004d2
+ thumb_func_end sub_801C8C4
+
+ thumb_func_start sub_801CA08
+sub_801CA08:
+ push {r4-r6,lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801CA28
+ ldr r0, _0801CA20
+ ldr r0, [r0]
+ ldr r1, _0801CA24
+ adds r0, r1
+ bl sub_8013660
+ movs r0, 0
+ b _0801CB1E
+ .align 2, 0
+_0801CA20: .4byte gUnknown_203B244
+_0801CA24: .4byte 0x000004b4
+_0801CA28:
+ ldr r0, _0801CA44
+ ldr r0, [r0]
+ ldr r1, _0801CA48
+ adds r0, r1
+ bl GetKeyPress
+ subs r0, 0x1
+ cmp r0, 0x5
+ bhi _0801CAF2
+ lsls r0, 2
+ ldr r1, _0801CA4C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801CA44: .4byte gUnknown_203B244
+_0801CA48: .4byte 0x000004b4
+_0801CA4C: .4byte _0801CA50
+ .align 2, 0
+_0801CA50:
+ .4byte _0801CA72
+ .4byte _0801CA68
+ .4byte _0801CAF2
+ .4byte _0801CAE8
+ .4byte _0801CA7C
+ .4byte _0801CA7C
+_0801CA68:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _0801CB1E
+_0801CA72:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _0801CB1E
+_0801CA7C:
+ ldr r0, _0801CAD8
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0801CAF2
+ bl sub_801CB24
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r5, 0
+ bl sub_801CFE0
+ movs r6, 0
+ cmp r0, 0
+ bne _0801CAB0
+ bl sub_8090A34
+ adds r4, r0, 0
+ bl sub_801CFB8
+ adds r4, r0
+ cmp r4, 0x13
+ bgt _0801CAAC
+ movs r6, 0x1
+_0801CAAC:
+ cmp r6, 0
+ beq _0801CAE0
+_0801CAB0:
+ movs r0, 0x6
+ bl PlayMenuSoundEffect
+ ldr r0, _0801CAD8
+ ldr r0, [r0]
+ lsls r1, r5, 2
+ adds r2, r0, 0
+ adds r2, 0xF4
+ adds r2, r1
+ ldr r1, [r2]
+ movs r3, 0x1
+ eors r1, r3
+ str r1, [r2]
+ ldr r1, _0801CADC
+ adds r0, r1
+ movs r1, 0
+ bl sub_80138B8
+ b _0801CB18
+ .align 2, 0
+_0801CAD8: .4byte gUnknown_203B244
+_0801CADC: .4byte 0x000004b4
+_0801CAE0:
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ b _0801CAF2
+_0801CAE8:
+ movs r0, 0x4
+ bl PlayMenuSoundEffect
+ movs r0, 0x4
+ b _0801CB1E
+_0801CAF2:
+ ldr r0, _0801CB0C
+ ldr r0, [r0]
+ ldr r1, _0801CB10
+ adds r0, r1
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801CB14
+ movs r0, 0
+ b _0801CB1E
+ .align 2, 0
+_0801CB0C: .4byte gUnknown_203B244
+_0801CB10: .4byte 0x000004b4
+_0801CB14:
+ bl sub_801CC38
+_0801CB18:
+ bl sub_801CCD8
+ movs r0, 0x1
+_0801CB1E:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801CA08
+
+ thumb_func_start sub_801CB24
+sub_801CB24:
+ ldr r0, _0801CB50
+ ldr r0, [r0]
+ ldr r2, _0801CB54
+ adds r1, r0, r2
+ movs r3, 0
+ ldrsh r2, [r1, r3]
+ movs r3, 0x9A
+ lsls r3, 3
+ adds r1, r0, r3
+ movs r3, 0
+ ldrsh r1, [r1, r3]
+ muls r2, r1
+ ldr r3, _0801CB58
+ adds r1, r0, r3
+ movs r3, 0
+ ldrsh r1, [r1, r3]
+ adds r2, r1
+ adds r0, 0x4
+ adds r0, r2
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_0801CB50: .4byte gUnknown_203B244
+_0801CB54: .4byte 0x000004d2
+_0801CB58: .4byte 0x000004cc
+ thumb_func_end sub_801CB24
+
+ thumb_func_start sub_801CB5C
+sub_801CB5C:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl ResetUnusedInputStruct
+ ldr r5, _0801CBAC
+ ldr r0, [r5]
+ movs r1, 0x9E
+ lsls r1, 3
+ adds r0, r1
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ bl sub_801CE58
+ adds r2, r0, 0
+ ldr r0, [r5]
+ ldr r3, _0801CBB0
+ adds r1, r0, r3
+ strh r2, [r1]
+ ldr r1, _0801CBB4
+ adds r0, r1
+ bl sub_8013984
+ bl sub_801CC38
+ bl sub_801CCD8
+ cmp r4, 0
+ beq _0801CBA6
+ ldr r0, [r5]
+ ldr r3, _0801CBB4
+ adds r0, r3
+ bl AddMenuCursorSprite
+_0801CBA6:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801CBAC: .4byte gUnknown_203B244
+_0801CBB0: .4byte 0x000004d6
+_0801CBB4: .4byte 0x000004b4
+ thumb_func_end sub_801CB5C
+
+ thumb_func_start sub_801CBB8
+sub_801CBB8:
+ push {r4-r6,lr}
+ ldr r5, _0801CC1C
+ ldr r2, [r5]
+ cmp r2, 0
+ beq _0801CC16
+ ldr r1, _0801CC20
+ ldr r0, [r2]
+ str r0, [r1]
+ ldr r1, _0801CC24
+ ldr r3, _0801CC28
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1]
+ ldr r1, _0801CC2C
+ ldr r6, _0801CC30
+ adds r0, r2, r6
+ ldrh r0, [r0]
+ strh r0, [r1]
+ movs r1, 0x9D
+ lsls r1, 3
+ adds r0, r2, r1
+ ldr r0, [r0]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ movs r4, 0x9E
+ lsls r4, 3
+ adds r1, r4
+ ldr r0, _0801CC34
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ adds r0, r4
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r5]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r5]
+_0801CC16:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801CC1C: .4byte gUnknown_203B244
+_0801CC20: .4byte gUnknown_203B248
+_0801CC24: .4byte gUnknown_203B24C
+_0801CC28: .4byte 0x000004cc
+_0801CC2C: .4byte gUnknown_203B24E
+_0801CC30: .4byte 0x000004d2
+_0801CC34: .4byte gUnknown_80DBE3C
+ thumb_func_end sub_801CBB8
+
+ thumb_func_start sub_801CC38
+sub_801CC38:
+ push {r4,r5,lr}
+ ldr r4, _0801CCC4
+ ldr r0, [r4]
+ movs r1, 0xAA
+ lsls r1, 3
+ adds r0, r1
+ movs r2, 0
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldr r1, _0801CCC8
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r1, 0x1
+ adds r0, r1
+ movs r1, 0xC
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldr r1, _0801CCCC
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r4]
+ ldr r2, _0801CCD0
+ adds r0, r2
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ lsls r0, 16
+ ldr r3, [r4]
+ movs r2, 0x9D
+ lsls r2, 3
+ adds r5, r3, r2
+ ldr r2, [r5]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r3, r1
+ ldr r2, _0801CCD4
+ adds r1, r2
+ asrs r2, r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r1, [r5]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r3, r0
+ adds r2, 0x2
+ movs r0, 0xA0
+ lsls r0, 3
+ adds r3, r0
+ strh r2, [r3]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ movs r1, 0x9E
+ lsls r1, 3
+ adds r0, r1
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801CCC4: .4byte gUnknown_203B244
+_0801CCC8: .4byte 0x00000551
+_0801CCCC: .4byte 0x00000553
+_0801CCD0: .4byte 0x000004ce
+_0801CCD4: .4byte 0x000004fe
+ thumb_func_end sub_801CC38
+
+ thumb_func_start sub_801CCD8
+sub_801CCD8:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x58
+ ldr r4, _0801CE38
+ ldr r0, [r4]
+ movs r5, 0x9D
+ lsls r5, 3
+ adds r0, r5
+ ldr r0, [r0]
+ bl sub_8008C54
+ ldr r0, [r4]
+ adds r0, r5
+ ldr r0, [r0]
+ bl sub_80073B8
+ ldr r2, _0801CE3C
+ ldr r0, [r4]
+ adds r0, r5
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r3, [r4]
+ ldr r1, _0801CE40
+ adds r0, r3, r1
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, 0x4
+ ldr r2, _0801CE44
+ adds r1, r3, r2
+ movs r6, 0
+ ldrsh r2, [r1, r6]
+ adds r2, 0x1
+ movs r1, 0x7
+ str r1, [sp]
+ adds r3, r5
+ ldr r1, [r3]
+ str r1, [sp, 0x4]
+ movs r1, 0
+ movs r3, 0x2
+ bl sub_8012BC4
+ movs r7, 0
+ ldr r0, [r4]
+ ldr r1, _0801CE48
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r7, r0
+ bge _0801CE1A
+ adds r6, r4, 0
+ ldr r3, _0801CE4C
+ mov r9, r3
+ mov r8, r5
+_0801CD50:
+ ldr r1, [r6]
+ ldr r4, _0801CE44
+ adds r0, r1, r4
+ movs r3, 0
+ ldrsh r2, [r0, r3]
+ subs r4, 0x2
+ adds r0, r1, r4
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r0, r2
+ adds r0, r7
+ adds r1, 0x4
+ adds r1, r0
+ ldrb r5, [r1]
+ add r0, sp, 0x8
+ adds r1, r5, 0
+ movs r2, 0
+ bl sub_8090DC4
+ ldr r0, [r6]
+ add r0, r9
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r6]
+ add r0, r8
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ add r2, sp, 0x8
+ bl xxx_call_draw_string
+ ldr r0, [r6]
+ add r0, r9
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r4, [r6]
+ ldr r2, _0801CE50
+ adds r0, r4, r2
+ ldr r0, [r0]
+ movs r3, 0xC
+ ldrsh r0, [r0, r3]
+ lsls r0, 3
+ subs r0, 0x2
+ ldr r2, _0801CE54
+ ldr r2, [r2]
+ lsls r3, r5, 1
+ adds r2, 0x50
+ adds r2, r3
+ ldrh r2, [r2]
+ movs r3, 0x5
+ str r3, [sp]
+ add r4, r8
+ ldr r3, [r4]
+ str r3, [sp, 0x4]
+ movs r3, 0x3
+ bl sub_8012BC4
+ adds r0, r5, 0
+ bl sub_801CFE0
+ movs r1, 0x1
+ ands r1, r0
+ cmp r1, 0
+ beq _0801CE0A
+ ldr r0, [r6]
+ ldr r4, _0801CE4C
+ adds r0, r4
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r2, r0, 0
+ ldr r1, [r6]
+ movs r3, 0x9D
+ lsls r3, 3
+ adds r0, r1, r3
+ ldr r0, [r0]
+ adds r4, 0x38
+ adds r1, r4
+ ldr r1, [r1]
+ movs r4, 0xC
+ ldrsh r3, [r1, r4]
+ subs r3, 0x1
+ lsls r3, 3
+ movs r1, 0xA
+ str r1, [sp]
+ movs r1, 0x8
+ bl sub_8007B7C
+_0801CE0A:
+ adds r7, 0x1
+ ldr r0, [r6]
+ ldr r1, _0801CE48
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r7, r0
+ blt _0801CD50
+_0801CE1A:
+ ldr r0, _0801CE38
+ ldr r0, [r0]
+ movs r3, 0x9D
+ lsls r3, 3
+ adds r0, r3
+ ldr r0, [r0]
+ bl sub_80073E0
+ add sp, 0x58
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801CE38: .4byte gUnknown_203B244
+_0801CE3C: .4byte gUnknown_80DBE6C
+_0801CE40: .4byte 0x00000552
+_0801CE44: .4byte 0x000004d2
+_0801CE48: .4byte 0x000004ce
+_0801CE4C: .4byte 0x000004b4
+_0801CE50: .4byte 0x000004ec
+_0801CE54: .4byte gUnknown_203B460
+ thumb_func_end sub_801CCD8
+
+ thumb_func_start sub_801CE58
+sub_801CE58:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ movs r3, 0
+ movs r6, 0x1
+ ldr r4, _0801CF0C
+_0801CE68:
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0x2
+ beq _0801CE92
+ ldr r0, _0801CF10
+ ldr r0, [r0]
+ lsls r1, r6, 1
+ adds r0, 0x50
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0801CE9C
+ lsls r0, r6, 24
+ lsrs r0, 24
+ str r3, [sp]
+ bl sub_8091524
+ lsls r0, 24
+ ldr r3, [sp]
+ cmp r0, 0
+ beq _0801CE9C
+_0801CE92:
+ ldr r0, [r4]
+ adds r0, 0x4
+ adds r0, r3
+ strb r6, [r0]
+ adds r3, 0x1
+_0801CE9C:
+ adds r6, 0x1
+ cmp r6, 0xEF
+ ble _0801CE68
+ movs r6, 0
+ subs r0, r3, 0x1
+ mov r9, r0
+ cmp r6, r9
+ bge _0801CEFC
+_0801CEAC:
+ adds r0, r6, 0x1
+ mov r8, r0
+ mov r5, r8
+ cmp r8, r3
+ bge _0801CEF6
+ ldr r7, _0801CF0C
+_0801CEB8:
+ ldr r0, [r7]
+ adds r0, 0x4
+ adds r0, r6
+ ldrb r0, [r0]
+ str r3, [sp]
+ bl GetItemOrder
+ adds r4, r0, 0
+ ldr r0, [r7]
+ adds r0, 0x4
+ adds r0, r5
+ ldrb r0, [r0]
+ bl GetItemOrder
+ ldr r3, [sp]
+ cmp r4, r0
+ ble _0801CEF0
+ ldr r0, [r7]
+ adds r0, 0x4
+ adds r1, r0, r6
+ ldrb r2, [r1]
+ adds r0, r5
+ ldrb r0, [r0]
+ strb r0, [r1]
+ ldr r0, [r7]
+ adds r0, 0x4
+ adds r0, r5
+ strb r2, [r0]
+_0801CEF0:
+ adds r5, 0x1
+ cmp r5, r3
+ blt _0801CEB8
+_0801CEF6:
+ mov r6, r8
+ cmp r6, r9
+ blt _0801CEAC
+_0801CEFC:
+ adds r0, r3, 0
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801CF0C: .4byte gUnknown_203B244
+_0801CF10: .4byte gUnknown_203B460
+ thumb_func_end sub_801CE58
+
+ thumb_func_start sub_801CF14
+sub_801CF14:
+ push {r4,lr}
+ cmp r0, 0x2
+ bne _0801CF1E
+_0801CF1A:
+ movs r0, 0
+ b _0801CF46
+_0801CF1E:
+ movs r4, 0x1
+_0801CF20:
+ ldr r0, _0801CF4C
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x50
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0801CF3E
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8091524
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801CF1A
+_0801CF3E:
+ adds r4, 0x1
+ cmp r4, 0xEF
+ ble _0801CF20
+ movs r0, 0x1
+_0801CF46:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801CF4C: .4byte gUnknown_203B460
+ thumb_func_end sub_801CF14
+
+ thumb_func_start sub_801CF50
+sub_801CF50:
+ push {r4,r5,lr}
+ cmp r0, 0x2
+ bne _0801CF5A
+_0801CF56:
+ movs r0, 0
+ b _0801CF84
+_0801CF5A:
+ movs r4, 0x1
+ ldr r5, _0801CF8C
+_0801CF5E:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8091524
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801CF7C
+ ldr r0, _0801CF90
+ ldr r0, [r0]
+ lsls r1, r4, 1
+ adds r0, 0x50
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r0, r5
+ bls _0801CF56
+_0801CF7C:
+ adds r4, 0x1
+ cmp r4, 0xEF
+ ble _0801CF5E
+ movs r0, 0x1
+_0801CF84:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801CF8C: .4byte 0x000003e6
+_0801CF90: .4byte gUnknown_203B460
+ thumb_func_end sub_801CF50
+
+ thumb_func_start sub_801CF94
+sub_801CF94:
+ push {r4,lr}
+ movs r2, 0
+ ldr r4, _0801CFB4
+ movs r3, 0
+_0801CF9C:
+ ldr r0, [r4]
+ lsls r1, r2, 2
+ adds r0, 0xF4
+ adds r0, r1
+ str r3, [r0]
+ adds r2, 0x1
+ cmp r2, 0xEF
+ ble _0801CF9C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801CFB4: .4byte gUnknown_203B244
+ thumb_func_end sub_801CF94
+
+ thumb_func_start sub_801CFB8
+sub_801CFB8:
+ push {lr}
+ movs r3, 0
+ ldr r0, _0801CFDC
+ ldr r0, [r0]
+ adds r1, r0, 0
+ adds r1, 0xF4
+ movs r2, 0xEF
+_0801CFC6:
+ ldr r0, [r1]
+ cmp r0, 0
+ beq _0801CFCE
+ adds r3, 0x1
+_0801CFCE:
+ adds r1, 0x4
+ subs r2, 0x1
+ cmp r2, 0
+ bge _0801CFC6
+ adds r0, r3, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801CFDC: .4byte gUnknown_203B244
+ thumb_func_end sub_801CFB8
+
+ thumb_func_start sub_801CFE0
+sub_801CFE0:
+ lsls r0, 24
+ ldr r1, _0801CFF0
+ ldr r1, [r1]
+ lsrs r0, 22
+ adds r1, 0xF4
+ adds r1, r0
+ ldr r0, [r1]
+ bx lr
+ .align 2, 0
+_0801CFF0: .4byte gUnknown_203B244
+ thumb_func_end sub_801CFE0
+
+ thumb_func_start sub_801CFF4
+sub_801CFF4:
+ lsls r0, 24
+ ldr r2, _0801D004
+ ldr r2, [r2]
+ lsrs r0, 22
+ adds r2, 0xF4
+ adds r2, r0
+ str r1, [r2]
+ bx lr
+ .align 2, 0
+_0801D004: .4byte gUnknown_203B244
+ thumb_func_end sub_801CFF4
+
+ thumb_func_start sub_801D008
+sub_801D008:
+ ldr r0, _0801D010
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_0801D010: .4byte gUnknown_203B244
+ thumb_func_end sub_801D008
+
+ thumb_func_start sub_801D014
+sub_801D014:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl ResetUnusedInputStruct
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, _0801D054
+ movs r0, 0x8C
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ adds r2, r0, 0
+ str r2, [r4]
+ ldr r0, _0801D058
+ ldr r0, [r0]
+ str r0, [r2, 0x14]
+ str r5, [r2]
+ cmp r5, 0
+ beq _0801D088
+ movs r3, 0
+ ldr r0, _0801D05C
+ ldr r1, [r0]
+ adds r4, r0, 0
+ cmp r5, r1
+ bne _0801D060
+ strh r3, [r2, 0x4]
+ b _0801D08C
+ .align 2, 0
+_0801D054: .4byte gUnknown_203B250
+_0801D058: .4byte gUnknown_203B254
+_0801D05C: .4byte gRecruitedPokemonRef
+_0801D060:
+ adds r3, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r3, r0
+ bgt _0801D08C
+ ldr r0, _0801D084
+ ldr r2, [r0]
+ lsls r0, r3, 16
+ asrs r0, 16
+ movs r1, 0x58
+ muls r1, r0
+ ldr r0, [r4]
+ adds r0, r1
+ ldr r1, [r2]
+ cmp r1, r0
+ bne _0801D060
+ strh r3, [r2, 0x4]
+ b _0801D08C
+ .align 2, 0
+_0801D084: .4byte gUnknown_203B250
+_0801D088:
+ ldr r0, _0801D0C4
+ strh r0, [r2, 0x4]
+_0801D08C:
+ bl sub_80A5728
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_8002658
+ ldr r4, _0801D0C8
+ ldr r1, [r4]
+ movs r5, 0
+ strb r0, [r1, 0x6]
+ ldr r0, [r4]
+ strb r5, [r0, 0x8]
+ ldr r0, [r4]
+ strb r5, [r0, 0x9]
+ bl sub_808D33C
+ ldr r1, [r4]
+ str r0, [r1, 0xC]
+ strb r5, [r1, 0x7]
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0801D0CC
+ movs r0, 0x5
+ bl sub_801D208
+ b _0801D0D2
+ .align 2, 0
+_0801D0C4: .4byte 0x0000019d
+_0801D0C8: .4byte gUnknown_203B250
+_0801D0CC:
+ movs r0, 0
+ bl sub_801D208
+_0801D0D2:
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801D014
+
+ thumb_func_start sub_801D0DC
+sub_801D0DC:
+ push {lr}
+ ldr r0, _0801D0F4
+ ldr r0, [r0]
+ ldr r0, [r0, 0x10]
+ cmp r0, 0xC
+ bhi _0801D16C
+ lsls r0, 2
+ ldr r1, _0801D0F8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801D0F4: .4byte gUnknown_203B250
+_0801D0F8: .4byte _0801D0FC
+ .align 2, 0
+_0801D0FC:
+ .4byte _0801D130
+ .4byte _0801D130
+ .4byte _0801D16C
+ .4byte _0801D136
+ .4byte _0801D13C
+ .4byte _0801D142
+ .4byte _0801D148
+ .4byte _0801D148
+ .4byte _0801D14E
+ .4byte _0801D154
+ .4byte _0801D15A
+ .4byte _0801D160
+ .4byte _0801D166
+_0801D130:
+ bl sub_801D680
+ b _0801D170
+_0801D136:
+ bl sub_801D760
+ b _0801D170
+_0801D13C:
+ bl sub_801D77C
+ b _0801D170
+_0801D142:
+ bl sub_801D798
+ b _0801D170
+_0801D148:
+ bl sub_801D7CC
+ b _0801D170
+_0801D14E:
+ bl sub_801D808
+ b _0801D170
+_0801D154:
+ bl sub_801D824
+ b _0801D170
+_0801D15A:
+ bl sub_801D840
+ b _0801D170
+_0801D160:
+ bl sub_801D85C
+ b _0801D170
+_0801D166:
+ bl sub_801D878
+ b _0801D170
+_0801D16C:
+ movs r0, 0x3
+ b _0801D172
+_0801D170:
+ movs r0, 0
+_0801D172:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801D0DC
+
+ thumb_func_start sub_801D178
+sub_801D178:
+ push {r4,lr}
+ ldr r0, _0801D188
+ ldr r4, [r0]
+ ldrb r0, [r4, 0x9]
+ cmp r0, 0
+ beq _0801D18C
+ movs r0, 0x2
+ b _0801D1CC
+ .align 2, 0
+_0801D188: .4byte gUnknown_203B250
+_0801D18C:
+ ldrb r0, [r4, 0x7]
+ cmp r0, 0
+ beq _0801D196
+ movs r0, 0x3
+ b _0801D1CC
+_0801D196:
+ ldrb r0, [r4, 0x8]
+ cmp r0, 0
+ beq _0801D1A0
+ movs r0, 0x1
+ b _0801D1CC
+_0801D1A0:
+ bl sub_808D33C
+ ldr r1, [r4, 0xC]
+ cmp r1, r0
+ bne _0801D1C6
+ movs r0, 0x7
+ bl sub_80A7AE8
+ lsls r0, 16
+ cmp r0, 0
+ blt _0801D1CA
+ bl sub_808D3F8
+ ldrh r0, [r0]
+ lsrs r0, 1
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0801D1CA
+_0801D1C6:
+ movs r0, 0x4
+ b _0801D1CC
+_0801D1CA:
+ movs r0, 0
+_0801D1CC:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801D178
+
+ thumb_func_start sub_801D1D4
+sub_801D1D4:
+ ldr r0, _0801D1DC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x7]
+ bx lr
+ .align 2, 0
+_0801D1DC: .4byte gUnknown_203B250
+ thumb_func_end sub_801D1D4
+
+ thumb_func_start sub_801D1E0
+sub_801D1E0:
+ push {r4,lr}
+ ldr r4, _0801D200
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801D1FA
+ ldr r0, _0801D204
+ ldr r1, [r2, 0x14]
+ str r1, [r0]
+ adds r0, r2, 0
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801D1FA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801D200: .4byte gUnknown_203B250
+_0801D204: .4byte gUnknown_203B254
+ thumb_func_end sub_801D1E0
+
+ thumb_func_start sub_801D208
+sub_801D208:
+ push {lr}
+ ldr r1, _0801D21C
+ ldr r1, [r1]
+ str r0, [r1, 0x10]
+ bl sub_801D220
+ bl sub_801D3A8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801D21C: .4byte gUnknown_203B250
+ thumb_func_end sub_801D208
+
+ thumb_func_start sub_801D220
+sub_801D220:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ ldr r4, _0801D248
+ ldr r0, [r4]
+ adds r0, 0xB8
+ bl sub_8006518
+ ldr r0, [r4]
+ ldr r0, [r0, 0x10]
+ cmp r0, 0
+ beq _0801D250
+ cmp r0, 0x1
+ beq _0801D2C0
+ movs r2, 0
+ adds r7, r4, 0
+ ldr r3, _0801D24C
+ b _0801D368
+ .align 2, 0
+_0801D248: .4byte gUnknown_203B250
+_0801D24C: .4byte gUnknown_80DBE7C
+_0801D250:
+ bl sub_801D4C0
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0801D290
+ adds r7, r4, 0
+ ldr r0, _0801D288
+ mov r9, r0
+ mov r12, r7
+ ldr r2, _0801D28C
+ mov r8, r2
+ movs r3, 0
+ movs r2, 0x3
+_0801D26C:
+ mov r4, r12
+ ldr r1, [r4]
+ adds r1, r3
+ adds r1, 0xB8
+ mov r0, r8
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ adds r3, 0x18
+ subs r2, 0x1
+ cmp r2, 0
+ bge _0801D26C
+ b _0801D2F6
+ .align 2, 0
+_0801D288: .4byte gUnknown_80DBE98
+_0801D28C: .4byte gUnknown_80DBE7C
+_0801D290:
+ adds r7, r4, 0
+ mov r8, r7
+ ldr r6, _0801D2BC
+ mov r9, r6
+ movs r3, 0
+ movs r2, 0x3
+_0801D29C:
+ mov r0, r8
+ ldr r1, [r0]
+ adds r1, r3
+ adds r1, 0xB8
+ mov r0, r9
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ movs r0, 0x18
+ add r9, r0
+ adds r3, 0x18
+ subs r2, 0x1
+ cmp r2, 0
+ bge _0801D29C
+ b _0801D34E
+ .align 2, 0
+_0801D2BC: .4byte gUnknown_80DBEB0
+_0801D2C0:
+ bl sub_801D4C0
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0801D324
+ adds r7, r4, 0
+ ldr r2, _0801D31C
+ mov r9, r2
+ mov r8, r7
+ ldr r3, _0801D320
+ mov r12, r3
+ movs r3, 0
+ movs r2, 0x3
+_0801D2DC:
+ mov r4, r8
+ ldr r1, [r4]
+ adds r1, r3
+ adds r1, 0xB8
+ mov r0, r12
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ adds r3, 0x18
+ subs r2, 0x1
+ cmp r2, 0
+ bge _0801D2DC
+_0801D2F6:
+ ldr r1, [r7]
+ adds r1, 0xB8
+ mov r0, r9
+ ldm r0!, {r2,r5,r6}
+ stm r1!, {r2,r5,r6}
+ ldm r0!, {r3-r5}
+ stm r1!, {r3-r5}
+ ldr r1, [r7]
+ adds r0, r1, 0
+ adds r0, 0xB8
+ adds r1, 0x68
+ bl sub_8012CAC
+ ldr r0, [r7]
+ adds r0, 0xC4
+ movs r1, 0x9
+ strh r1, [r0]
+ b _0801D384
+ .align 2, 0
+_0801D31C: .4byte gUnknown_80DBE98
+_0801D320: .4byte gUnknown_80DBE7C
+_0801D324:
+ adds r7, r4, 0
+ mov r8, r7
+ ldr r6, _0801D364
+ mov r9, r6
+ movs r3, 0
+ movs r2, 0x3
+_0801D330:
+ mov r0, r8
+ ldr r1, [r0]
+ adds r1, r3
+ adds r1, 0xB8
+ mov r0, r9
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ movs r0, 0x18
+ add r9, r0
+ adds r3, 0x18
+ subs r2, 0x1
+ cmp r2, 0
+ bge _0801D330
+_0801D34E:
+ ldr r1, [r7]
+ adds r0, r1, 0
+ adds r0, 0xB8
+ adds r1, 0x68
+ bl sub_8012CAC
+ ldr r0, [r7]
+ adds r0, 0xC4
+ movs r1, 0x8
+ strh r1, [r0]
+ b _0801D384
+ .align 2, 0
+_0801D364: .4byte gUnknown_80DBEB0
+_0801D368:
+ ldr r0, [r7]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r0, r1
+ adds r0, 0xB8
+ adds r1, r3, 0
+ ldm r1!, {r4-r6}
+ stm r0!, {r4-r6}
+ ldm r1!, {r4-r6}
+ stm r0!, {r4-r6}
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _0801D368
+_0801D384:
+ bl ResetUnusedInputStruct
+ ldr r0, _0801D3A4
+ ldr r0, [r0]
+ adds r0, 0xB8
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801D3A4: .4byte gUnknown_203B250
+ thumb_func_end sub_801D220
+
+ thumb_func_start sub_801D3A8
+sub_801D3A8:
+ push {r4-r6,lr}
+ sub sp, 0x8
+ ldr r1, _0801D3C4
+ ldr r0, [r1]
+ ldr r0, [r0, 0x10]
+ adds r6, r1, 0
+ cmp r0, 0xC
+ bls _0801D3BA
+ b _0801D4B6
+_0801D3BA:
+ lsls r0, 2
+ ldr r1, _0801D3C8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801D3C4: .4byte gUnknown_203B250
+_0801D3C8: .4byte _0801D3CC
+ .align 2, 0
+_0801D3CC:
+ .4byte _0801D400
+ .4byte _0801D400
+ .4byte _0801D4B6
+ .4byte _0801D458
+ .4byte _0801D462
+ .4byte _0801D468
+ .4byte _0801D472
+ .4byte _0801D47A
+ .4byte _0801D482
+ .4byte _0801D490
+ .4byte _0801D49C
+ .4byte _0801D4AA
+ .4byte _0801D4B2
+_0801D400:
+ ldr r0, [r6]
+ ldr r5, [r0]
+ cmp r5, 0
+ beq _0801D438
+ ldr r4, _0801D434
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x7
+ bl sub_808D9AC
+ ldr r2, [r6]
+ str r4, [r2, 0x18]
+ adds r0, r2, 0
+ adds r0, 0x18
+ adds r1, r2, 0
+ adds r1, 0x68
+ adds r3, r2, 0
+ adds r3, 0xA8
+ ldr r2, [r2, 0x14]
+ str r2, [sp]
+ movs r2, 0
+ str r2, [sp, 0x4]
+ bl sub_8012D60
+ b _0801D4B6
+ .align 2, 0
+_0801D434: .4byte gAvailablePokemonNames
+_0801D438:
+ bl sub_801D894
+ ldr r2, [r6]
+ adds r0, r2, 0
+ adds r0, 0x18
+ adds r1, r2, 0
+ adds r1, 0x68
+ adds r3, r2, 0
+ adds r3, 0xA8
+ ldr r2, [r2, 0x14]
+ str r2, [sp]
+ str r5, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _0801D4B6
+_0801D458:
+ ldr r0, [r6]
+ ldr r0, [r0]
+ bl sub_80227B8
+ b _0801D4B6
+_0801D462:
+ bl sub_8027074
+ b _0801D4B6
+_0801D468:
+ ldr r0, [r6]
+ ldr r0, [r0]
+ bl sub_8025EF4
+ b _0801D4B6
+_0801D472:
+ movs r0, 0
+ bl sub_80252F0
+ b _0801D4B6
+_0801D47A:
+ movs r0, 0x1
+ bl sub_80252F0
+ b _0801D4B6
+_0801D482:
+ ldr r0, [r6]
+ movs r1, 0x4
+ ldrsh r0, [r0, r1]
+ movs r1, 0x2
+ bl sub_8024458
+ b _0801D4B6
+_0801D490:
+ ldr r0, [r6]
+ movs r1, 0x4
+ ldrsh r0, [r0, r1]
+ bl sub_801BEEC
+ b _0801D4B6
+_0801D49C:
+ ldr r0, [r6]
+ ldrb r0, [r0, 0x6]
+ movs r1, 0x1
+ movs r2, 0x2
+ bl sub_8021774
+ b _0801D4B6
+_0801D4AA:
+ movs r0, 0
+ bl sub_802C860
+ b _0801D4B6
+_0801D4B2:
+ bl sub_801DCC4
+_0801D4B6:
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801D3A8
+
+ thumb_func_start sub_801D4C0
+sub_801D4C0:
+ push {r4-r7,lr}
+ movs r6, 0
+ ldr r4, _0801D554
+ ldr r0, [r4]
+ adds r0, 0xA8
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x6]
+ cmp r0, 0
+ bne _0801D568
+ bl sub_8096E2C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801D534
+ ldr r1, [r4]
+ movs r0, 0x2
+ str r0, [r1, 0x6C]
+ ldr r0, _0801D558
+ str r0, [r1, 0x68]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _0801D4FE
+ ldr r0, [r4]
+ adds r0, 0xA8
+ movs r1, 0x1
+ strh r1, [r0]
+_0801D4FE:
+ ldr r1, [r4]
+ ldr r0, _0801D55C
+ str r0, [r1, 0x70]
+ movs r0, 0x4
+ str r0, [r1, 0x74]
+ movs r6, 0x2
+ movs r0, 0x2
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801D534
+ ldr r1, [r4]
+ ldr r0, _0801D560
+ str r0, [r1, 0x78]
+ movs r0, 0x9
+ str r0, [r1, 0x7C]
+ bl sub_802C83C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801D532
+ ldr r0, [r4]
+ adds r0, 0xAC
+ movs r1, 0x1
+ strh r1, [r0]
+_0801D532:
+ movs r6, 0x3
+_0801D534:
+ ldr r4, _0801D554
+ ldr r2, [r4]
+ lsls r3, r6, 3
+ adds r0, r2, 0
+ adds r0, 0x68
+ adds r0, r3
+ ldr r1, _0801D564
+ str r1, [r0]
+ adds r2, 0x6C
+ adds r2, r3
+ movs r0, 0xB
+ str r0, [r2]
+ adds r6, 0x1
+ adds r7, r4, 0
+ b _0801D5E6
+ .align 2, 0
+_0801D554: .4byte gUnknown_203B250
+_0801D558: .4byte gMenuItems
+_0801D55C: .4byte gMenuTeam
+_0801D560: .4byte gMenuJobList
+_0801D564: .4byte gMenuOthers
+_0801D568:
+ ldr r0, _0801D63C
+ ldr r1, _0801D640
+ bl strcpy
+ bl sub_8096E2C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801D5B6
+ ldr r1, [r4]
+ ldr r0, _0801D644
+ ldr r0, [r0]
+ str r0, [r1, 0x68]
+ movs r0, 0x5
+ str r0, [r1, 0x6C]
+ movs r0, 0x4
+ bl sub_8024108
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801D59A
+ ldr r0, [r4]
+ adds r0, 0xA8
+ movs r1, 0x1
+ strh r1, [r0]
+_0801D59A:
+ movs r6, 0x1
+ ldr r1, [r4]
+ movs r0, 0x2
+ str r0, [r1, 0x74]
+ ldr r0, _0801D648
+ str r0, [r1, 0x70]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _0801D5B4
+ ldr r0, [r4]
+ adds r0, 0xAA
+ strh r6, [r0]
+_0801D5B4:
+ movs r6, 0x2
+_0801D5B6:
+ ldr r5, _0801D64C
+ ldr r1, [r5]
+ lsls r2, r6, 3
+ adds r3, r1, 0
+ adds r3, 0x68
+ adds r4, r3, r2
+ ldr r0, _0801D650
+ ldr r0, [r0]
+ str r0, [r4]
+ adds r1, 0x6C
+ adds r2, r1, r2
+ movs r0, 0x8
+ str r0, [r2]
+ adds r6, 0x1
+ lsls r2, r6, 3
+ adds r3, r2
+ ldr r0, _0801D654
+ ldr r0, [r0]
+ str r0, [r3]
+ adds r1, r2
+ movs r0, 0xA
+ str r0, [r1]
+ adds r6, 0x1
+ adds r7, r5, 0
+_0801D5E6:
+ ldr r4, [r7]
+ lsls r2, r6, 3
+ adds r0, r4, 0
+ adds r0, 0x68
+ adds r0, r2
+ movs r1, 0
+ str r1, [r0]
+ adds r1, r4, 0
+ adds r1, 0x6C
+ adds r2, r1, r2
+ movs r0, 0x1
+ str r0, [r2]
+ movs r3, 0
+ cmp r3, r6
+ bge _0801D622
+ adds r5, r4, 0
+ adds r4, 0xA8
+ adds r2, r1, 0
+_0801D60A:
+ ldrh r0, [r4]
+ cmp r0, 0
+ bne _0801D618
+ ldr r1, [r2]
+ ldr r0, [r5, 0x14]
+ cmp r1, r0
+ beq _0801D67A
+_0801D618:
+ adds r4, 0x2
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, r6
+ blt _0801D60A
+_0801D622:
+ movs r3, 0
+ cmp r3, r6
+ bge _0801D67A
+ ldr r1, [r7]
+ adds r0, r1, 0
+ adds r0, 0xA8
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0801D658
+ ldr r0, [r1, 0x6C]
+ str r0, [r1, 0x14]
+ b _0801D67A
+ .align 2, 0
+_0801D63C: .4byte gAvailablePokemonNames
+_0801D640: .4byte gUnknown_80DBF34
+_0801D644: .4byte gUnknown_80D49A8
+_0801D648: .4byte gMenuItems
+_0801D64C: .4byte gUnknown_203B250
+_0801D650: .4byte gUnknown_80D4970
+_0801D654: .4byte gUnknown_80D49B4
+_0801D658:
+ adds r3, 0x1
+ cmp r3, r6
+ bge _0801D67A
+ ldr r2, [r7]
+ lsls r0, r3, 1
+ adds r1, r2, 0
+ adds r1, 0xA8
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _0801D658
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0x6C
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x14]
+_0801D67A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801D4C0
+
+ .align 2,0
diff --git a/asm/code_801D760.s b/asm/code_801D760.s
index a93ed64..6f026d5 100644
--- a/asm/code_801D760.s
+++ b/asm/code_801D760.s
@@ -5,114 +5,6 @@
.text
- thumb_func_start sub_801D9E4
-sub_801D9E4:
- push {r4,r5,lr}
- ldr r4, _0801DA50
- movs r0, 0xA0
- 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, _0801DA54
- 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
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- movs r1, 0xE5
- movs r2, 0xA
- bl sub_8013818
- bl sub_801DB54
- bl sub_801DBD4
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801DA50: .4byte gUnknown_203B258
-_0801DA54: .4byte gUnknown_80DBF88
- thumb_func_end sub_801D9E4
-
- thumb_func_start sub_801DA58
-sub_801DA58:
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- ldr r0, _0801DA74
- ldr r0, [r0]
- bl sub_8013878
- bl sub_801DB54
- bl sub_801DBD4
- pop {r0}
- bx r0
- .align 2, 0
-_0801DA74: .4byte gUnknown_203B258
- thumb_func_end sub_801DA58
-
- thumb_func_start sub_801DA78
-sub_801DA78:
- push {r4,lr}
- ldr r4, _0801DA94
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _0801DA98
- cmp r0, 0x2
- bne _0801DA9C
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0801DAB8
- .align 2, 0
-_0801DA94: .4byte gUnknown_203B258
-_0801DA98:
- movs r0, 0x3
- b _0801DAB8
-_0801DA9C:
- ldr r0, [r4]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801DAAE
- movs r0, 0
- b _0801DAB8
-_0801DAAE:
- bl sub_801DB54
- bl sub_801DBD4
- movs r0, 0x1
-_0801DAB8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801DA78
-
thumb_func_start sub_801DAC0
sub_801DAC0:
ldr r0, _0801DAD8
@@ -369,20090 +261,5 @@ _0801DCBC: .4byte gUnknown_811BAF4
_0801DCC0: .4byte gUnknown_81188F0
thumb_func_end sub_801DBD4
- thumb_func_start sub_801DCC4
-sub_801DCC4:
- push {r4,lr}
- ldr r4, _0801DCE4
- movs r0, 0x8E
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r0, 0
- bl sub_801DD6C
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0801DCE4: .4byte gUnknown_203B25C
- thumb_func_end sub_801DCC4
-
- thumb_func_start sub_801DCE8
-sub_801DCE8:
- push {lr}
- ldr r0, _0801DD00
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x7
- bhi _0801DD48
- lsls r0, 2
- ldr r1, _0801DD04
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801DD00: .4byte gUnknown_203B25C
-_0801DD04: .4byte _0801DD08
- .align 2, 0
-_0801DD08:
- .4byte _0801DD2C
- .4byte _0801DD2C
- .4byte _0801DD28
- .4byte _0801DD32
- .4byte _0801DD32
- .4byte _0801DD38
- .4byte _0801DD3E
- .4byte _0801DD44
-_0801DD28:
- movs r0, 0x3
- b _0801DD4A
-_0801DD2C:
- bl sub_801E028
- b _0801DD48
-_0801DD32:
- bl sub_801E088
- b _0801DD48
-_0801DD38:
- bl sub_801E0E0
- b _0801DD48
-_0801DD3E:
- bl sub_801E0FC
- b _0801DD48
-_0801DD44:
- bl sub_801E138
-_0801DD48:
- movs r0, 0
-_0801DD4A:
- pop {r1}
- bx r1
- thumb_func_end sub_801DCE8
-
- thumb_func_start sub_801DD50
-sub_801DD50:
- push {r4,lr}
- ldr r4, _0801DD68
- ldr r0, [r4]
- cmp r0, 0
- beq _0801DD62
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801DD62:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DD68: .4byte gUnknown_203B25C
- thumb_func_end sub_801DD50
-
- thumb_func_start sub_801DD6C
-sub_801DD6C:
- push {lr}
- ldr r1, _0801DD80
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801DD84
- bl sub_801DED0
- pop {r0}
- bx r0
- .align 2, 0
-_0801DD80: .4byte gUnknown_203B25C
- thumb_func_end sub_801DD6C
-
- thumb_func_start sub_801DD84
-sub_801DD84:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, _0801DDAC
- ldr r0, [r4]
- adds r0, 0xBC
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0801DDB4
- cmp r0, 0x1
- beq _0801DE38
- movs r3, 0
- adds r7, r4, 0
- ldr r2, _0801DDB0
- b _0801DE90
- .align 2, 0
-_0801DDAC: .4byte gUnknown_203B25C
-_0801DDB0: .4byte gUnknown_80DBFB0
-_0801DDB4:
- bl CreateOthersMenu
- movs r3, 0
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xAC
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801DDCE
- ldr r0, [r1, 0x70]
- str r0, [r1, 0x18]
- adds r7, r4, 0
- b _0801DDF2
-_0801DDCE:
- adds r3, 0x1
- ldr r7, _0801DE2C
- cmp r3, 0x7
- bgt _0801DDF2
- ldr r2, [r7]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0xAC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0801DDCE
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x70
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x18]
-_0801DDF2:
- ldr r0, _0801DE30
- mov r9, r0
- ldr r2, _0801DE2C
- mov r12, r2
- ldr r3, _0801DE34
- mov r8, r3
- movs r2, 0
- movs r3, 0x3
-_0801DE02:
- mov r4, r12
- ldr r1, [r4]
- adds r1, r2
- adds r1, 0xBC
- mov r0, r8
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _0801DE02
- ldr r1, [r7]
- adds r1, 0xBC
- mov r0, r9
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- b _0801DE70
- .align 2, 0
-_0801DE2C: .4byte gUnknown_203B25C
-_0801DE30: .4byte gUnknown_80DBFCC
-_0801DE34: .4byte gUnknown_80DBFB0
-_0801DE38:
- bl CreateOthersMenu
- mov r8, r4
- ldr r6, _0801DE88
- mov r12, r6
- mov r7, r8
- movs r2, 0
- movs r3, 0x3
-_0801DE48:
- mov r0, r8
- ldr r1, [r0]
- adds r1, r2
- adds r1, 0xBC
- mov r0, r12
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _0801DE48
- ldr r1, [r7]
- adds r1, 0xBC
- ldr r0, _0801DE8C
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
-_0801DE70:
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xBC
- adds r1, 0x6C
- bl sub_8012CAC
- ldr r0, [r7]
- adds r0, 0xC8
- movs r1, 0xA
- strh r1, [r0]
- b _0801DEAC
- .align 2, 0
-_0801DE88: .4byte gUnknown_80DBFB0
-_0801DE8C: .4byte gUnknown_80DBFCC
-_0801DE90:
- ldr r0, [r7]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r0, r1
- adds r0, 0xBC
- adds r1, r2, 0
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- adds r3, 0x1
- cmp r3, 0x3
- ble _0801DE90
-_0801DEAC:
- bl ResetUnusedInputStruct
- ldr r0, _0801DECC
- ldr r0, [r0]
- adds r0, 0xBC
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DECC: .4byte gUnknown_203B25C
- thumb_func_end sub_801DD84
-
- thumb_func_start sub_801DED0
-sub_801DED0:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _0801DEEC
- ldr r0, [r1]
- ldr r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x7
- bhi _0801DF94
- lsls r0, 2
- ldr r1, _0801DEF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801DEEC: .4byte gUnknown_203B25C
-_0801DEF0: .4byte _0801DEF4
- .align 2, 0
-_0801DEF4:
- .4byte _0801DF14
- .4byte _0801DF14
- .4byte _0801DF94
- .4byte _0801DF38
- .4byte _0801DF40
- .4byte _0801DF48
- .4byte _0801DF52
- .4byte _0801DF70
-_0801DF14:
- ldr r2, [r3]
- ldr r0, _0801DF34
- str r0, [r2, 0x1C]
- adds r0, r2, 0
- adds r0, 0x1C
- adds r1, r2, 0
- adds r1, 0x6C
- adds r3, r2, 0
- adds r3, 0xAC
- ldr r2, [r2, 0x18]
- str r2, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- bl sub_8012D60
- b _0801DF94
- .align 2, 0
-_0801DF34: .4byte gOthers_MenuOption
-_0801DF38:
- movs r0, 0
- bl sub_801E3F0
- b _0801DF94
-_0801DF40:
- movs r0, 0x1
- bl sub_801E510
- b _0801DF94
-_0801DF48:
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- bl sub_801E658
- b _0801DF94
-_0801DF52:
- ldr r1, [r3]
- ldr r0, _0801DF6C
- adds r1, 0x8
- ldr r0, [r0]
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, [r3]
- adds r0, 0x8
- bl sub_801E198
- b _0801DF94
- .align 2, 0
-_0801DF6C: .4byte gUnknown_203B46C
-_0801DF70:
- bl sub_801DFE4
- ldr r0, _0801DF9C
- ldr r1, _0801DFA0
- ldr r3, [r1]
- adds r3, 0x6C
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r1, 0x20
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x4
- bl sub_8014248
-_0801DF94:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DF9C: .4byte gUnknown_80DBFEC
-_0801DFA0: .4byte gUnknown_203B25C
- thumb_func_end sub_801DED0
-
- thumb_func_start CreateOthersMenu
-CreateOthersMenu:
- push {r4,lr}
- ldr r4, _0801DFD8
- ldr r0, [r4]
- adds r0, 0xAC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r0, [r4]
- movs r3, 0
- ldr r1, _0801DFDC
- str r1, [r0, 0x6C]
- movs r1, 0x3
- str r1, [r0, 0x70]
- movs r2, 0x1
- ldr r1, _0801DFE0
- str r1, [r0, 0x74]
- movs r1, 0x2
- str r1, [r0, 0x78]
- str r3, [r0, 0x7C]
- adds r0, 0x80
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DFD8: .4byte gUnknown_203B25C
-_0801DFDC: .4byte gOthers_GameOptions
-_0801DFE0: .4byte gOthers_Hints
- thumb_func_end CreateOthersMenu
-
- thumb_func_start sub_801DFE4
-sub_801DFE4:
- push {r4,lr}
- ldr r4, _0801E01C
- ldr r0, [r4]
- adds r0, 0xAC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r3, 0
- ldr r0, _0801E020
- ldr r0, [r0]
- str r0, [r1, 0x6C]
- movs r0, 0x4
- str r0, [r1, 0x70]
- movs r2, 0x1
- ldr r0, _0801E024
- ldr r0, [r0]
- str r0, [r1, 0x74]
- movs r0, 0x5
- str r0, [r1, 0x78]
- str r3, [r1, 0x7C]
- adds r1, 0x80
- str r2, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E01C: .4byte gUnknown_203B25C
-_0801E020: .4byte gUnknown_80D4920
-_0801E024: .4byte gUnknown_80D4928
- thumb_func_end sub_801DFE4
-
- thumb_func_start sub_801E028
-sub_801E028:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, _0801E060
- ldr r0, [r4]
- adds r0, 0x1C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801E050
- ldr r0, [r4]
- adds r0, 0x1C
- mov r1, sp
- bl sub_8013114
- ldr r1, [r4]
- ldr r0, [sp]
- str r0, [r1, 0x18]
-_0801E050:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801E06A
- cmp r0, 0x2
- bgt _0801E064
- cmp r0, 0x1
- beq _0801E07A
- b _0801E080
- .align 2, 0
-_0801E060: .4byte gUnknown_203B25C
-_0801E064:
- cmp r0, 0x3
- beq _0801E072
- b _0801E080
-_0801E06A:
- movs r0, 0x3
- bl sub_801DD6C
- b _0801E080
-_0801E072:
- movs r0, 0x6
- bl sub_801DD6C
- b _0801E080
-_0801E07A:
- movs r0, 0x2
- bl sub_801DD6C
-_0801E080:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801E028
-
- thumb_func_start sub_801E088
-sub_801E088:
- push {lr}
- movs r0, 0x1
- bl sub_801E474
- cmp r0, 0x4
- bhi _0801E0DA
- lsls r0, 2
- ldr r1, _0801E0A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801E0A0: .4byte _0801E0A4
- .align 2, 0
-_0801E0A4:
- .4byte _0801E0DA
- .4byte _0801E0DA
- .4byte _0801E0D0
- .4byte _0801E0B8
- .4byte _0801E0B8
-_0801E0B8:
- bl sub_801E4F4
- ldr r1, _0801E0CC
- ldr r1, [r1]
- str r0, [r1, 0x4]
- movs r0, 0x5
- bl sub_801DD6C
- b _0801E0DA
- .align 2, 0
-_0801E0CC: .4byte gUnknown_203B25C
-_0801E0D0:
- bl sub_801E54C
- movs r0, 0x1
- bl sub_801DD6C
-_0801E0DA:
- pop {r0}
- bx r0
- thumb_func_end sub_801E088
-
- thumb_func_start sub_801E0E0
-sub_801E0E0:
- push {lr}
- bl sub_801E6CC
- cmp r0, 0x1
- bls _0801E0F8
- cmp r0, 0x3
- bhi _0801E0F8
- bl sub_801E724
- movs r0, 0x4
- bl sub_801DD6C
-_0801E0F8:
- pop {r0}
- bx r0
- thumb_func_end sub_801E0E0
-
- thumb_func_start sub_801E0FC
-sub_801E0FC:
- push {lr}
- bl sub_801E218
- cmp r0, 0x1
- bls _0801E132
- cmp r0, 0x3
- bhi _0801E132
- bl sub_801E2C4
- ldr r0, _0801E128
- ldr r0, [r0]
- adds r0, 0x8
- bl sub_80949DC
- lsls r0, 24
- cmp r0, 0
- beq _0801E12C
- movs r0, 0x1
- bl sub_801DD6C
- b _0801E132
- .align 2, 0
-_0801E128: .4byte gUnknown_203B25C
-_0801E12C:
- movs r0, 0x7
- bl sub_801DD6C
-_0801E132:
- pop {r0}
- bx r0
- thumb_func_end sub_801E0FC
-
- thumb_func_start sub_801E138
-sub_801E138:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801E18E
- ldr r0, [sp]
- cmp r0, 0x4
- beq _0801E15C
- cmp r0, 0x4
- bgt _0801E156
- cmp r0, 0x1
- beq _0801E188
- b _0801E18E
-_0801E156:
- cmp r0, 0x5
- beq _0801E188
- b _0801E18E
-_0801E15C:
- ldr r1, _0801E180
- ldr r0, _0801E184
- ldr r0, [r0]
- ldr r1, [r1]
- adds r0, 0x8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- bl sub_8094C14
- movs r0, 0
- bl sub_8099690
- movs r0, 0x1
- bl sub_801DD6C
- b _0801E18E
- .align 2, 0
-_0801E180: .4byte gUnknown_203B46C
-_0801E184: .4byte gUnknown_203B25C
-_0801E188:
- movs r0, 0x1
- bl sub_801DD6C
-_0801E18E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801E138
-
- thumb_func_start sub_801E198
-sub_801E198:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _0801E210
- movs r0, 0xAC
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- stm r0!, {r5}
- bl sub_801317C
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x44]
- adds r0, r1, 0
- adds r0, 0x4C
- str r0, [r1, 0x48]
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x44]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x4C
- ldr r0, _0801E214
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r4]
- ldr r0, [r0, 0x48]
- movs r1, 0x1
- bl sub_8012D08
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x10
- ldr r3, [r1, 0x44]
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8013818
- bl nullsub_38
- bl CreateOptionsMenu
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E210: .4byte gUnknown_203B260
-_0801E214: .4byte gUnknown_80DC03C
- thumb_func_end sub_801E198
-
- thumb_func_start sub_801E218
-sub_801E218:
- push {r4,lr}
- movs r4, 0
- bl sub_8012AE8
- cmp r0, 0x2
- beq _0801E238
- cmp r0, 0x2
- bgt _0801E22E
- cmp r0, 0x1
- beq _0801E242
- b _0801E294
-_0801E22E:
- cmp r0, 0x9
- beq _0801E24C
- cmp r0, 0xA
- beq _0801E26C
- b _0801E294
-_0801E238:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0801E2BE
-_0801E242:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _0801E2BE
-_0801E24C:
- ldr r0, _0801E264
- ldr r1, [r0]
- movs r2, 0x28
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0801E294
- ldr r1, [r1]
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- bne _0801E268
- movs r0, 0x2
- b _0801E28A
- .align 2, 0
-_0801E264: .4byte gUnknown_203B260
-_0801E268:
- subs r0, 0x1
- b _0801E28A
-_0801E26C:
- ldr r0, _0801E284
- ldr r1, [r0]
- movs r2, 0x28
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0801E294
- ldr r1, [r1]
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- bls _0801E288
- strb r4, [r1, 0x8]
- b _0801E28C
- .align 2, 0
-_0801E284: .4byte gUnknown_203B260
-_0801E288:
- adds r0, 0x1
-_0801E28A:
- strb r0, [r1, 0x8]
-_0801E28C:
- movs r0, 0x3
- bl PlayMenuSoundEffect
- movs r4, 0x1
-_0801E294:
- ldr r0, _0801E2B8
- ldr r0, [r0]
- adds r0, 0x10
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801E2AA
- cmp r4, 0x1
- bne _0801E2BC
-_0801E2AA:
- bl nullsub_38
- bl CreateOptionsMenu
- movs r0, 0x1
- b _0801E2BE
- .align 2, 0
-_0801E2B8: .4byte gUnknown_203B260
-_0801E2BC:
- movs r0, 0
-_0801E2BE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801E218
-
- thumb_func_start sub_801E2C4
-sub_801E2C4:
- push {r4,r5,lr}
- ldr r4, _0801E304
- ldr r2, [r4]
- cmp r2, 0
- beq _0801E2FE
- ldr r0, [r2, 0x44]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4C
- ldr r0, _0801E308
- 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, 0x4C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801E2FE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E304: .4byte gUnknown_203B260
-_0801E308: .4byte gUnknown_80DC020
- thumb_func_end sub_801E2C4
-
- thumb_func_start nullsub_38
-nullsub_38:
- bx lr
- thumb_func_end nullsub_38
-
- thumb_func_start CreateOptionsMenu
-CreateOptionsMenu:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r5, _0801E368
- ldr r0, [r5]
- ldr r0, [r0, 0x44]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x44]
- bl sub_80073B8
- ldr r2, _0801E36C
- ldr r0, [r5]
- ldr r3, [r0, 0x44]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- bl xxx_call_draw_string
- ldr r0, [r5]
- adds r0, 0x10
- movs r1, 0
- bl sub_8013800
- adds r6, r0, 0
- ldr r2, _0801E370
- ldr r0, [r5]
- ldr r3, [r0, 0x44]
- str r4, [sp]
- movs r0, 0x8
- adds r1, r6, 0
- bl xxx_call_draw_string
- ldr r0, [r5]
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- beq _0801E384
- cmp r0, 0x1
- bgt _0801E374
- cmp r0, 0
- beq _0801E37A
- b _0801E3D6
- .align 2, 0
-_0801E368: .4byte gUnknown_203B260
-_0801E36C: .4byte gWindowBGTitle
-_0801E370: .4byte gUnknown_80DC064
-_0801E374:
- cmp r0, 0x2
- beq _0801E3B0
- b _0801E3D6
-_0801E37A:
- ldr r0, _0801E380
- b _0801E386
- .align 2, 0
-_0801E380: .4byte gWindowBGBlueString
-_0801E384:
- ldr r0, _0801E3AC
-_0801E386:
- bl sub_8008ED0
- adds r4, r0, 0
- ldr r1, [r5]
- ldr r0, [r1, 0x44]
- ldr r1, [r1]
- ldrb r2, [r1, 0x8]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, 0x50
- adds r2, r6, 0
- adds r2, 0xA
- movs r3, 0x7
- str r3, [sp]
- adds r3, r4, 0
- bl sub_80078A4
- b _0801E3D6
- .align 2, 0
-_0801E3AC: .4byte gWindowBGRedString
-_0801E3B0:
- ldr r0, _0801E3E8
- bl sub_8008ED0
- adds r4, r0, 0
- ldr r1, [r5]
- ldr r0, [r1, 0x44]
- ldr r1, [r1]
- ldrb r2, [r1, 0x8]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, 0x50
- adds r2, r6, 0
- adds r2, 0xA
- movs r3, 0x7
- str r3, [sp]
- adds r3, r4, 0
- bl sub_80078A4
-_0801E3D6:
- ldr r0, _0801E3EC
- ldr r0, [r0]
- ldr r0, [r0, 0x44]
- bl sub_80073E0
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E3E8: .4byte gWindowBGGreenString
-_0801E3EC: .4byte gUnknown_203B260
- thumb_func_end CreateOptionsMenu
-
- thumb_func_start sub_801E3F0
-sub_801E3F0:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _0801E46C
- ldr r0, [r4]
- cmp r0, 0
- bne _0801E406
- movs r0, 0x9C
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
-_0801E406:
- ldr r0, [r4]
- str r5, [r0, 0x34]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0x3C
- adds r1, r0, r1
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0801E470
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r4]
- ldr r0, [r0, 0x38]
- movs r1, 0xA
- bl sub_8012D08
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x5
- movs r2, 0xA
- adds r3, r5, 0
- bl sub_8013818
- bl sub_801E594
- bl sub_801E5E8
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E46C: .4byte gUnknown_203B264
-_0801E470: .4byte gUnknown_80DC0BC
- thumb_func_end sub_801E3F0
-
- thumb_func_start sub_801E474
-sub_801E474:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0801E48C
- ldr r0, _0801E488
- ldr r0, [r0]
- bl sub_8013660
- movs r0, 0
- b _0801E4EE
- .align 2, 0
-_0801E488: .4byte gUnknown_203B264
-_0801E48C:
- ldr r0, _0801E4A4
- ldr r0, [r0]
- bl GetKeyPress
- cmp r0, 0x2
- beq _0801E4AE
- cmp r0, 0x2
- bgt _0801E4A8
- cmp r0, 0x1
- beq _0801E4B8
- b _0801E4CC
- .align 2, 0
-_0801E4A4: .4byte gUnknown_203B264
-_0801E4A8:
- cmp r0, 0x4
- beq _0801E4C2
- b _0801E4CC
-_0801E4AE:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0801E4EE
-_0801E4B8:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _0801E4EE
-_0801E4C2:
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _0801E4EE
-_0801E4CC:
- ldr r0, _0801E4E0
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801E4E4
- movs r0, 0
- b _0801E4EE
- .align 2, 0
-_0801E4E0: .4byte gUnknown_203B264
-_0801E4E4:
- bl sub_801E594
- bl sub_801E5E8
- movs r0, 0x1
-_0801E4EE:
- pop {r1}
- bx r1
- thumb_func_end sub_801E474
-
- thumb_func_start sub_801E4F4
-sub_801E4F4:
- ldr r0, _0801E50C
- ldr r1, [r0]
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- movs r3, 0x1C
- ldrsh r0, [r1, r3]
- muls r0, r2
- movs r2, 0x18
- ldrsh r1, [r1, r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_0801E50C: .4byte gUnknown_203B264
- thumb_func_end sub_801E4F4
-
- thumb_func_start sub_801E510
-sub_801E510:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetUnusedInputStruct
- ldr r5, _0801E548
- ldr r0, [r5]
- adds r0, 0x3C
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- bl sub_8013984
- bl sub_801E594
- bl sub_801E5E8
- cmp r4, 0
- beq _0801E542
- ldr r0, [r5]
- bl AddMenuCursorSprite
-_0801E542:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E548: .4byte gUnknown_203B264
- thumb_func_end sub_801E510
-
- thumb_func_start sub_801E54C
-sub_801E54C:
- push {r4,r5,lr}
- ldr r4, _0801E58C
- ldr r2, [r4]
- cmp r2, 0
- beq _0801E586
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801E590
- 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]
-_0801E586:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E58C: .4byte gUnknown_203B264
-_0801E590: .4byte gUnknown_80DC0A0
- thumb_func_end sub_801E54C
-
- thumb_func_start sub_801E594
-sub_801E594:
- push {r4,lr}
- ldr r4, _0801E5E4
- 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
-_0801E5E4: .4byte gUnknown_203B264
- thumb_func_end sub_801E594
-
- thumb_func_start sub_801E5E8
-sub_801E5E8:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r4, _0801E64C
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r2, _0801E650
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- bl xxx_call_draw_string
- movs r5, 0
- adds r6, r4, 0
- ldr r4, _0801E654
-_0801E616:
- ldr r0, [r6]
- adds r1, r5, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, [r4]
- ldr r0, [r6]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- bl xxx_call_draw_string
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x4
- ble _0801E616
- ldr r0, _0801E64C
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E64C: .4byte gUnknown_203B264
-_0801E650: .4byte gUnknown_80DC0D4
-_0801E654: .4byte gUnknown_80DAA98
- thumb_func_end sub_801E5E8
-
- thumb_func_start sub_801E658
-sub_801E658:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _0801E6C4
- movs r0, 0xA0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0, 0x34]
- adds r1, r0, 0
- adds r1, 0x3C
- str r1, [r0, 0x38]
- adds r0, r1, 0
- 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, _0801E6C8
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r4]
- ldr r1, [r0, 0x38]
- adds r0, 0x9C
- str r0, [r1, 0x14]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- movs r1, 0x5
- movs r2, 0x1
- bl sub_8013818
- ldr r0, [r4]
- strh r5, [r0, 0x1E]
- bl sub_801E714
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E6C4: .4byte gUnknown_203B268
-_0801E6C8: .4byte gUnknown_80DC0FC
- thumb_func_end sub_801E658
-
- thumb_func_start sub_801E6CC
-sub_801E6CC:
- push {r4,lr}
- ldr r4, _0801E6E8
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _0801E6EC
- cmp r0, 0x2
- bne _0801E6F6
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0801E70C
- .align 2, 0
-_0801E6E8: .4byte gUnknown_203B268
-_0801E6EC:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _0801E70C
-_0801E6F6:
- ldr r0, [r4]
- bl sub_8013938
- lsls r0, 24
- cmp r0, 0
- bne _0801E706
- movs r0, 0
- b _0801E70C
-_0801E706:
- bl sub_801E714
- movs r0, 0x1
-_0801E70C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801E6CC
-
- thumb_func_start sub_801E714
-sub_801E714:
- push {lr}
- bl sub_801E76C
- bl sub_801E7AC
- pop {r0}
- bx r0
- thumb_func_end sub_801E714
-
- thumb_func_start sub_801E724
-sub_801E724:
- push {r4,r5,lr}
- ldr r4, _0801E764
- ldr r2, [r4]
- cmp r2, 0
- beq _0801E75E
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801E768
- 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]
-_0801E75E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E764: .4byte gUnknown_203B268
-_0801E768: .4byte gUnknown_80DC0E4
- thumb_func_end sub_801E724
-
- thumb_func_start sub_801E76C
-sub_801E76C:
- push {r4,lr}
- ldr r4, _0801E7A8
- ldr r0, [r4]
- ldrh r1, [r0, 0x20]
- adds r0, 0x9C
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldrh r1, [r0, 0x1E]
- adds r0, 0x9D
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9E
- movs r1, 0xF
- 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
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E7A8: .4byte gUnknown_203B268
- thumb_func_end sub_801E76C
-
- thumb_func_start sub_801E7AC
-sub_801E7AC:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r5, _0801E804
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r3, [r5]
- movs r0, 0x1E
- ldrsh r1, [r3, r0]
- lsls r1, 3
- adds r0, r1, 0
- adds r0, 0x10
- ldr r4, _0801E808
- adds r1, r4
- ldr r2, [r1]
- ldr r3, [r3, 0x34]
- movs r6, 0
- str r6, [sp]
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, [r5]
- movs r2, 0x1E
- ldrsh r0, [r1, r2]
- lsls r0, 3
- adds r4, 0x4
- adds r0, r4
- ldr r2, [r0]
- ldr r3, [r1, 0x34]
- str r6, [sp]
- movs r0, 0xA
- movs r1, 0x14
- bl xxx_call_draw_string
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E804: .4byte gUnknown_203B268
-_0801E808: .4byte gUnknown_80DAA98
- thumb_func_end sub_801E7AC
-
- thumb_func_start DisplayGulpinDialogueSprite
-DisplayGulpinDialogueSprite:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- asrs r4, 16
- ldr r5, _0801E84C
- movs r0, 0xC6
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- adds r2, r0, 0
- str r2, [r5]
- mov r0, r8
- str r0, [r2]
- strh r4, [r2, 0xC]
- str r6, [r2, 0x10]
- ldrh r0, [r6, 0x22]
- strh r0, [r2, 0x1C]
- mov r1, r8
- cmp r1, 0
- bne _0801E850
- movs r3, 0x94
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0x8C
- lsls r4, 1
- adds r0, r2, r4
- b _0801E858
- .align 2, 0
-_0801E84C: .4byte gUnknown_203B26C
-_0801E850:
- movs r0, 0x94
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
-_0801E858:
- str r0, [r1]
- ldr r0, _0801E8B4
- bl GetDialogueSpriteDataPtr
- ldr r2, _0801E8B8
- ldr r3, [r2]
- movs r4, 0x8C
- lsls r4, 1
- adds r1, r3, r4
- str r0, [r1]
- adds r4, 0x4
- adds r1, r3, r4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- movs r1, 0x92
- lsls r1, 1
- adds r0, r3, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _0801E8BC
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r4, 0xA
- adds r0, r4
- strb r1, [r0]
- ldr r2, [r2]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x2
- strh r0, [r1]
- subs r3, 0x3
- adds r1, r2, r3
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_801E968
- movs r0, 0x1
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E8B4: .4byte 0x00000155
-_0801E8B8: .4byte gUnknown_203B26C
-_0801E8BC: .4byte 0x00000125
- thumb_func_end DisplayGulpinDialogueSprite
-
- thumb_func_start sub_801E8C0
-sub_801E8C0:
- push {lr}
- ldr r0, _0801E8D8
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x6
- bhi _0801E928
- lsls r0, 2
- ldr r1, _0801E8DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801E8D8: .4byte gUnknown_203B26C
-_0801E8DC: .4byte _0801E8E0
- .align 2, 0
-_0801E8E0:
- .4byte _0801E8FC
- .4byte _0801E8FC
- .4byte _0801E902
- .4byte _0801E908
- .4byte _0801E90E
- .4byte _0801E91C
- .4byte _0801E924
-_0801E8FC:
- bl sub_801ECBC
- b _0801E928
-_0801E902:
- bl sub_801ED28
- b _0801E928
-_0801E908:
- bl sub_801EDA4
- b _0801E928
-_0801E90E:
- bl sub_801EDC0
- ldr r0, _0801E920
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x5
- bne _0801E928
-_0801E91C:
- movs r0, 0x3
- b _0801E92A
- .align 2, 0
-_0801E920: .4byte gUnknown_203B26C
-_0801E924:
- movs r0, 0x2
- b _0801E92A
-_0801E928:
- movs r0, 0
-_0801E92A:
- pop {r1}
- bx r1
- thumb_func_end sub_801E8C0
-
- thumb_func_start sub_801E930
-sub_801E930:
- ldr r0, _0801E938
- ldr r0, [r0]
- ldrb r0, [r0, 0xE]
- bx lr
- .align 2, 0
-_0801E938: .4byte gUnknown_203B26C
- thumb_func_end sub_801E930
-
- thumb_func_start sub_801E93C
-sub_801E93C:
- push {r4,lr}
- ldr r4, _0801E964
- ldr r0, [r4]
- cmp r0, 0
- beq _0801E95C
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801E95C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E964: .4byte gUnknown_203B26C
- thumb_func_end sub_801E93C
-
- thumb_func_start sub_801E968
-sub_801E968:
- push {lr}
- ldr r1, _0801E97C
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_801E980
- bl sub_801EA28
- pop {r0}
- bx r0
- .align 2, 0
-_0801E97C: .4byte gUnknown_203B26C
- thumb_func_end sub_801E968
-
- thumb_func_start sub_801E980
-sub_801E980:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0801E9D0
- ldr r0, [r4]
- movs r5, 0x96
- lsls r5, 1
- adds r0, r5
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- cmp r0, 0x2
- bne _0801E9DC
- bl sub_801EBC4
- ldr r1, [r4]
- movs r0, 0xA2
- lsls r0, 1
- adds r1, r0
- ldr r0, _0801E9D4
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldr r2, [r4]
- movs r0, 0xAE
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801E9D8
- 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, 0x28
- bl sub_8012CAC
- b _0801EA00
- .align 2, 0
-_0801E9D0: .4byte gUnknown_203B26C
-_0801E9D4: .4byte gUnknown_80DC11C
-_0801E9D8: .4byte gUnknown_80DC134
-_0801E9DC:
- mov r12, r4
- mov r8, r5
- ldr r4, _0801EA20
- movs r2, 0
- movs r3, 0x3
-_0801E9E6:
- mov r6, r12
- ldr r1, [r6]
- adds r1, r2
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _0801E9E6
-_0801EA00:
- bl ResetUnusedInputStruct
- ldr r0, _0801EA24
- ldr r0, [r0]
- movs r7, 0x96
- lsls r7, 1
- adds r0, r7
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801EA20: .4byte gUnknown_80DC11C
-_0801EA24: .4byte gUnknown_203B26C
- thumb_func_end sub_801E980
-
- thumb_func_start sub_801EA28
-sub_801EA28:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _0801EA44
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r4, r1, 0
- cmp r0, 0x4
- bls _0801EA3A
- b _0801EBB8
-_0801EA3A:
- lsls r0, 2
- ldr r1, _0801EA48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801EA44: .4byte gUnknown_203B26C
-_0801EA48: .4byte _0801EA4C
- .align 2, 0
-_0801EA4C:
- .4byte _0801EA60
- .4byte _0801EA80
- .4byte _0801EA8A
- .4byte _0801EAB4
- .4byte _0801EACA
-_0801EA60:
- ldr r0, [r4]
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- ldr r2, [r0, 0x10]
- ldr r0, _0801EA7C
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r3, 0
- bl sub_801EE10
- b _0801EBB8
- .align 2, 0
-_0801EA7C: .4byte gUnknown_80DC164
-_0801EA80:
- movs r0, 0x1
- movs r1, 0
- bl sub_801F1B0
- b _0801EBB8
-_0801EA8A:
- movs r0, 0
- bl sub_801F280
- ldr r0, _0801EAB0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x78
- adds r1, r2, 0
- adds r1, 0x28
- adds r3, r2, 0
- adds r3, 0x68
- ldr r2, [r2, 0x24]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0801EBB8
- .align 2, 0
-_0801EAB0: .4byte gUnknown_203B26C
-_0801EAB4:
- ldr r2, [r4]
- ldr r0, [r2, 0x20]
- ldr r1, [r2, 0x10]
- adds r2, 0x14
- bl sub_8093560
- ldr r0, [r4]
- adds r0, 0x14
- bl sub_801F808
- b _0801EBB8
-_0801EACA:
- bl sub_801EC7C
- ldr r4, _0801EAF8
- ldr r5, _0801EAFC
- ldr r0, [r5]
- ldrh r1, [r0, 0x1C]
- adds r0, r4, 0
- bl sub_8092C84
- adds r4, 0x50
- ldr r0, [r5]
- ldrh r1, [r0, 0x1E]
- adds r0, r4, 0
- bl sub_8092C84
- ldr r2, [r5]
- ldr r3, [r2]
- cmp r3, 0x1
- bls _0801EB00
- cmp r3, 0x2
- beq _0801EB68
- b _0801EBB8
- .align 2, 0
-_0801EAF8: .4byte gAvailablePokemonNames
-_0801EAFC: .4byte gUnknown_203B26C
-_0801EB00:
- ldrb r4, [r2, 0xE]
- cmp r4, 0
- beq _0801EB38
- ldr r1, _0801EB34
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x30
- adds r0, r1
- ldr r0, [r0]
- adds r3, r2, 0
- adds r3, 0x28
- adds r1, r2, 0
- adds r1, 0x68
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r4, 0x94
- lsls r4, 1
- adds r1, r2, r4
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- b _0801EB86
- .align 2, 0
-_0801EB34: .4byte gGulpinDialogue
-_0801EB38:
- ldr r1, _0801EB64
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x2C
- adds r0, r1
- ldr r0, [r0]
- adds r3, r2, 0
- adds r3, 0x28
- adds r1, r2, 0
- adds r1, 0x68
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r4, 0x94
- lsls r4, 1
- adds r1, r2, r4
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- b _0801EB86
- .align 2, 0
-_0801EB64: .4byte gGulpinDialogue
-_0801EB68:
- ldrb r4, [r2, 0xE]
- cmp r4, 0
- beq _0801EB98
- ldr r0, _0801EB94
- adds r3, r2, 0
- adds r3, 0x28
- adds r1, r2, 0
- adds r1, 0x68
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r1, 0x20
-_0801EB86:
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
- b _0801EBB8
- .align 2, 0
-_0801EB94: .4byte gUnknown_80DC1A0
-_0801EB98:
- ldr r0, _0801EBC0
- adds r3, r2, 0
- adds r3, 0x28
- adds r1, r2, 0
- adds r1, 0x68
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r1, 0x20
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
-_0801EBB8:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801EBC0: .4byte gUnknown_80DC1FC
- thumb_func_end sub_801EA28
-
- thumb_func_start sub_801EBC4
-sub_801EBC4:
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, _0801EC48
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- ldr r0, _0801EC4C
- str r0, [r1, 0x28]
- movs r0, 0x2
- str r0, [r1, 0x2C]
- ldrh r0, [r1, 0x1E]
- ldr r1, [r1, 0x10]
- bl sub_80933A0
- lsls r0, 24
- cmp r0, 0
- beq _0801EBF6
- ldr r0, [r4]
- ldr r0, [r0, 0x20]
- cmp r0, 0x3
- ble _0801EBFE
-_0801EBF6:
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0x1
- strh r1, [r0]
-_0801EBFE:
- adds r5, 0x1
- ldr r4, _0801EC48
- ldr r0, [r4]
- mov r12, r0
- lsls r1, r5, 3
- mov r3, r12
- adds r3, 0x28
- adds r2, r3, r1
- ldr r0, _0801EC50
- ldr r0, [r0]
- str r0, [r2]
- mov r2, r12
- adds r2, 0x2C
- adds r1, r2, r1
- movs r0, 0x3
- str r0, [r1]
- adds r5, 0x1
- lsls r1, r5, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r2, r1
- movs r0, 0x1
- str r0, [r2]
- movs r3, 0
- cmp r3, r5
- bge _0801EC76
- mov r0, r12
- adds r0, 0x68
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801EC54
- mov r1, r12
- ldr r0, [r1, 0x2C]
- str r0, [r1, 0x24]
- b _0801EC76
- .align 2, 0
-_0801EC48: .4byte gUnknown_203B26C
-_0801EC4C: .4byte gUnknown_80DC230
-_0801EC50: .4byte gUnknown_80D4970
-_0801EC54:
- adds r3, 0x1
- cmp r3, r5
- bge _0801EC76
- ldr r2, [r4]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0x68
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0801EC54
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x2C
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x24]
-_0801EC76:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801EBC4
-
- thumb_func_start sub_801EC7C
-sub_801EC7C:
- push {r4,lr}
- ldr r4, _0801ECB0
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r3, 0
- ldr r0, _0801ECB4
- ldr r0, [r0]
- str r0, [r1, 0x28]
- movs r0, 0x4
- str r0, [r1, 0x2C]
- movs r2, 0x1
- ldr r0, _0801ECB8
- ldr r0, [r0]
- str r0, [r1, 0x30]
- movs r0, 0x5
- str r0, [r1, 0x34]
- str r3, [r1, 0x38]
- str r2, [r1, 0x3C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801ECB0: .4byte gUnknown_203B26C
-_0801ECB4: .4byte gUnknown_80D4920
-_0801ECB8: .4byte gUnknown_80D4928
- thumb_func_end sub_801EC7C
-
- thumb_func_start sub_801ECBC
-sub_801ECBC:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x3
- beq _0801ECD8
- cmp r0, 0x3
- bhi _0801ECD2
- cmp r0, 0x2
- beq _0801ED18
- b _0801ED22
-_0801ECD2:
- cmp r0, 0x4
- beq _0801ECF8
- b _0801ED22
-_0801ECD8:
- bl sub_801F194
- ldr r1, _0801ECF4
- ldr r2, [r1]
- str r0, [r2, 0x20]
- ldr r1, [r2, 0x10]
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1, 0x2]
- strh r0, [r2, 0x1E]
- movs r0, 0x2
- bl sub_801E968
- b _0801ED22
- .align 2, 0
-_0801ECF4: .4byte gUnknown_203B26C
-_0801ECF8:
- bl sub_801F194
- ldr r1, _0801ED14
- ldr r2, [r1]
- str r0, [r2, 0x20]
- ldr r1, [r2, 0x10]
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1, 0x2]
- strh r0, [r2, 0x1E]
- movs r0, 0x3
- bl sub_801E968
- b _0801ED22
- .align 2, 0
-_0801ED14: .4byte gUnknown_203B26C
-_0801ED18:
- bl sub_801F214
- movs r0, 0x6
- bl sub_801E968
-_0801ED22:
- pop {r0}
- bx r0
- thumb_func_end sub_801ECBC
-
- thumb_func_start sub_801ED28
-sub_801ED28:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801EF38
- ldr r4, _0801ED60
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801ED4E
- ldr r0, [r4]
- adds r0, 0x78
- mov r1, sp
- bl sub_8013114
-_0801ED4E:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801ED74
- cmp r0, 0x2
- bgt _0801ED64
- cmp r0, 0x1
- beq _0801ED6C
- b _0801ED9A
- .align 2, 0
-_0801ED60: .4byte gUnknown_203B26C
-_0801ED64:
- cmp r0, 0x3
- beq _0801ED94
- cmp r0, 0x5
- bne _0801ED9A
-_0801ED6C:
- movs r0, 0x1
- bl sub_801E968
- b _0801ED9A
-_0801ED74:
- ldr r0, _0801ED90
- bl PlaySound
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- ldr r1, [r1, 0x10]
- bl sub_80934B0
- ldr r1, [r4]
- strb r0, [r1, 0xE]
- movs r0, 0x4
- bl sub_801E968
- b _0801ED9A
- .align 2, 0
-_0801ED90: .4byte 0x00000133
-_0801ED94:
- movs r0, 0x3
- bl sub_801E968
-_0801ED9A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801ED28
-
- thumb_func_start sub_801EDA4
-sub_801EDA4:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _0801EDBC
- cmp r0, 0x3
- bhi _0801EDBC
- bl sub_801F8D0
- movs r0, 0x1
- bl sub_801E968
-_0801EDBC:
- pop {r0}
- bx r0
- thumb_func_end sub_801EDA4
-
- thumb_func_start sub_801EDC0
-sub_801EDC0:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801EE06
- ldr r0, [sp]
- cmp r0, 0x4
- beq _0801EDE4
- cmp r0, 0x4
- bgt _0801EDDE
- cmp r0, 0x1
- beq _0801EE00
- b _0801EE06
-_0801EDDE:
- cmp r0, 0x5
- beq _0801EE00
- b _0801EE06
-_0801EDE4:
- bl sub_801F214
- ldr r4, _0801EDFC
- ldr r1, [r4]
- ldr r0, [r1, 0x10]
- ldr r1, [r1, 0x20]
- bl sub_8093CF8
- ldr r1, [r4]
- movs r0, 0x5
- str r0, [r1, 0x4]
- b _0801EE06
- .align 2, 0
-_0801EDFC: .4byte gUnknown_203B26C
-_0801EE00:
- movs r0, 0x1
- bl sub_801E968
-_0801EE06:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801EDC0
-
- thumb_func_start sub_801EE10
-sub_801EE10:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- mov r9, r2
- adds r4, r3, 0
- ldr r0, [sp, 0x20]
- mov r8, r0
- lsls r1, 16
- asrs r7, r1, 16
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _0801EF28
- movs r0, 0xBC
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r2, 0
- strb r4, [r0, 0x4]
- ldr r0, [r5]
- movs r1, 0x1
- strb r1, [r0, 0x5]
- ldr r0, [r5]
- strb r1, [r0, 0x6]
- ldr r0, [r5]
- strb r1, [r0, 0x7]
- ldr r0, [r5]
- str r6, [r0]
- cmp r6, 0x1
- bls _0801EE5E
- cmp r6, 0x3
- bhi _0801EE5E
- strb r2, [r0, 0x5]
- ldr r0, [r5]
- strb r2, [r0, 0x6]
- ldr r0, [r5]
- strb r2, [r0, 0x7]
-_0801EE5E:
- ldr r4, _0801EF28
- ldr r3, [r4]
- ldr r2, _0801EF2C
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- str r0, [r3, 0x8]
- ldrb r0, [r0, 0x2]
- strb r0, [r3, 0xC]
- ldr r0, [r4]
- mov r1, r9
- str r1, [r0, 0x10]
- adds r0, 0xB8
- ldr r1, [sp, 0x1C]
- str r1, [r0]
- bl sub_801F3F8
- adds r5, r0, 0
- adds r6, r5, 0
- cmp r5, 0x4
- bge _0801EE8E
- movs r6, 0x4
-_0801EE8E:
- ldr r0, [r4]
- adds r0, 0x58
- bl sub_8006518
- ldr r1, [r4]
- mov r2, r8
- str r2, [r1, 0x50]
- lsls r0, r2, 1
- add r0, r8
- lsls r0, 3
- adds r1, r0
- adds r1, 0x58
- ldr r0, _0801EF30
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r0, [r4]
- adds r0, 0xB8
- ldr r0, [r0]
- cmp r0, 0
- beq _0801EED8
- mov r0, r8
- bl sub_8006544
- ldr r1, [r4]
- str r0, [r1, 0x54]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 3
- adds r1, r2
- adds r1, 0x58
- ldr r0, _0801EF34
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
-_0801EED8:
- ldr r0, [r4]
- ldr r2, [r0, 0x50]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, 0x58
- adds r0, r1
- adds r1, r6, 0
- bl sub_8012D08
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x58
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, 0x1C
- adds r1, r5, 0
- adds r2, r5, 0
- mov r3, r8
- bl sub_8013818
- ldr r0, [r4]
- adds r0, 0x1C
- movs r1, 0
- bl sub_8013780
- movs r0, 0x1
- bl sub_801F280
- movs r0, 0x1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801EF28: .4byte gUnknown_203B270
-_0801EF2C: .4byte gRecruitedPokemonRef
-_0801EF30: .4byte gUnknown_80DC25C
-_0801EF34: .4byte gUnknown_80DC274
- thumb_func_end sub_801EE10
-
- thumb_func_start sub_801EF38
-sub_801EF38:
- push {r4-r7,lr}
- lsls r0, 24
- movs r7, 0
- cmp r0, 0
- bne _0801EF54
- ldr r0, _0801EF50
- ldr r0, [r0]
- adds r0, 0x1C
- bl sub_8013660
- b _0801F18C
- .align 2, 0
-_0801EF50: .4byte gUnknown_203B270
-_0801EF54:
- ldr r0, _0801EF70
- ldr r0, [r0]
- adds r0, 0x1C
- bl GetKeyPress
- subs r0, 0x1
- cmp r0, 0xC
- bls _0801EF66
- b _0801F12E
-_0801EF66:
- lsls r0, 2
- ldr r1, _0801EF74
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801EF70: .4byte gUnknown_203B270
-_0801EF74: .4byte _0801EF78
- .align 2, 0
-_0801EF78:
- .4byte _0801EFB6
- .4byte _0801EFAC
- .4byte _0801F0E4
- .4byte _0801EFC0
- .4byte _0801F12E
- .4byte _0801F12E
- .4byte _0801EFE4
- .4byte _0801EFCA
- .4byte _0801F12E
- .4byte _0801F12E
- .4byte _0801F074
- .4byte _0801F04C
- .4byte _0801F018
-_0801EFAC:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0801F18E
-_0801EFB6:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _0801F18E
-_0801EFC0:
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _0801F18E
-_0801EFCA:
- ldr r5, _0801EFE0
- ldr r0, [r5]
- movs r1, 0x34
- ldrsh r6, [r0, r1]
- adds r4, r0, 0
- adds r4, 0x1C
- ldr r0, [r0, 0x10]
- adds r1, r6, 0
- bl sub_8092E54
- b _0801EFF8
- .align 2, 0
-_0801EFE0: .4byte gUnknown_203B270
-_0801EFE4:
- ldr r5, _0801F014
- ldr r0, [r5]
- movs r1, 0x34
- ldrsh r6, [r0, r1]
- adds r4, r0, 0
- adds r4, 0x1C
- ldr r0, [r0, 0x10]
- adds r1, r6, 0
- bl sub_8092EEC
-_0801EFF8:
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_8013780
- ldr r0, [r5]
- movs r2, 0x34
- ldrsh r0, [r0, r2]
- cmp r6, r0
- bne _0801F00C
- b _0801F12E
-_0801F00C:
- movs r0, 0x3
- bl PlayMenuSoundEffect
- b _0801F12E
- .align 2, 0
-_0801F014: .4byte gUnknown_203B270
-_0801F018:
- ldr r0, _0801F048
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- adds r5, r0, 0
- cmp r1, 0
- bne _0801F026
- b _0801F12E
-_0801F026:
- movs r0, 0x34
- ldrsh r4, [r2, r0]
- ldr r0, [r2, 0x10]
- adds r1, r4, 0
- bl sub_809309C
-_0801F032:
- ldr r1, [r5]
- strh r0, [r1, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r4, r0
- beq _0801F06C
- movs r0, 0x3
- bl PlayMenuSoundEffect
- b _0801F182
- .align 2, 0
-_0801F048: .4byte gUnknown_203B270
-_0801F04C:
- ldr r0, _0801F068
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- adds r5, r0, 0
- cmp r1, 0
- beq _0801F12E
- movs r1, 0x34
- ldrsh r4, [r2, r1]
- ldr r0, [r2, 0x10]
- adds r1, r4, 0
- bl sub_809324C
- b _0801F032
- .align 2, 0
-_0801F068: .4byte gUnknown_203B270
-_0801F06C:
- movs r0, 0x2
- bl PlayMenuSoundEffect
- b _0801F182
-_0801F074:
- ldr r0, _0801F0C8
- ldr r2, [r0]
- ldrb r1, [r2, 0x6]
- adds r5, r0, 0
- cmp r1, 0
- beq _0801F12E
- ldr r0, _0801F0CC
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x95
- ble _0801F0D0
- movs r1, 0x34
- ldrsh r0, [r2, r1]
- ldr r1, [r2, 0x10]
- bl sub_8093318
- lsls r0, 24
- cmp r0, 0
- beq _0801F0D0
- ldr r1, [r5]
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- ldr r1, [r1, 0x10]
- bl sub_8093400
- movs r0, 0x6
- bl PlayMenuSoundEffect
- movs r7, 0x1
- ldr r1, [r5]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _0801F12E
- strb r7, [r1, 0x4]
- movs r0, 0xA6
- lsls r0, 1
- bl PlaySound
- b _0801F12E
- .align 2, 0
-_0801F0C8: .4byte gUnknown_203B270
-_0801F0CC: .4byte gUnknown_203B460
-_0801F0D0:
- ldr r0, _0801F0E0
- ldr r1, [r0]
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- ldr r1, [r1, 0x10]
- bl sub_8093468
- b _0801F0FE
- .align 2, 0
-_0801F0E0: .4byte gUnknown_203B270
-_0801F0E4:
- ldr r0, _0801F10C
- ldr r1, [r0]
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _0801F12E
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- beq _0801F110
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- ldr r1, [r1, 0x10]
- bl sub_80934DC
-_0801F0FE:
- lsls r0, 24
- cmp r0, 0
- bne _0801F120
- movs r0, 0x2
- bl PlayMenuSoundEffect
- b _0801F12E
- .align 2, 0
-_0801F10C: .4byte gUnknown_203B270
-_0801F110:
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- ldr r1, [r1, 0x10]
- bl sub_8093544
- lsls r0, 24
- cmp r0, 0
- beq _0801F128
-_0801F120:
- movs r0, 0x6
- bl PlayMenuSoundEffect
- b _0801F182
-_0801F128:
- movs r0, 0x2
- bl PlayMenuSoundEffect
-_0801F12E:
- cmp r7, 0
- bne _0801F182
- movs r3, 0
- ldr r5, _0801F160
- movs r4, 0x1
-_0801F138:
- ldr r2, [r5]
- lsls r0, r3, 3
- ldr r1, [r2, 0x10]
- adds r1, r0
- ldrb r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0801F16C
- movs r0, 0x2
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0801F164
- adds r0, r2, 0
- adds r0, 0x14
- adds r0, r3
- strb r4, [r0]
- b _0801F16C
- .align 2, 0
-_0801F160: .4byte gUnknown_203B270
-_0801F164:
- adds r0, r2, 0
- adds r0, 0x14
- adds r0, r3
- strb r1, [r0]
-_0801F16C:
- adds r3, 0x1
- cmp r3, 0x7
- ble _0801F138
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x1C
- adds r1, 0x14
- bl AddMenuCursorSprite_
- cmp r7, 0
- beq _0801F18C
-_0801F182:
- movs r0, 0x1
- bl sub_801F280
- movs r0, 0x1
- b _0801F18E
-_0801F18C:
- movs r0, 0
-_0801F18E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801EF38
-
- thumb_func_start sub_801F194
-sub_801F194:
- ldr r0, _0801F1A0
- ldr r0, [r0]
- movs r1, 0x34
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0801F1A0: .4byte gUnknown_203B270
- thumb_func_end sub_801F194
-
- thumb_func_start sub_801F1A4
-sub_801F1A4:
- ldr r0, _0801F1AC
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_0801F1AC: .4byte gUnknown_203B270
- thumb_func_end sub_801F1A4
-
- thumb_func_start sub_801F1B0
-sub_801F1B0:
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r4, _0801F210
- ldr r2, [r4]
- ldrb r0, [r2, 0x4]
- cmp r0, 0
- bne _0801F1C6
- strb r1, [r2, 0x4]
-_0801F1C6:
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x58
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_801F3F8
- adds r1, r0, 0
- ldr r0, [r4]
- strh r1, [r0, 0x3E]
- adds r0, 0x1C
- bl sub_8013984
- ldr r1, [r4]
- ldr r0, [r1, 0x10]
- movs r2, 0x34
- ldrsh r1, [r1, r2]
- bl sub_8092F4C
- ldr r1, [r4]
- strh r0, [r1, 0x34]
- movs r0, 0x1
- bl sub_801F280
- cmp r5, 0
- beq _0801F208
- ldr r0, [r4]
- adds r0, 0x1C
- bl AddMenuCursorSprite
-_0801F208:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F210: .4byte gUnknown_203B270
- thumb_func_end sub_801F1B0
-
- thumb_func_start sub_801F214
-sub_801F214:
- push {r4-r6,lr}
- ldr r4, _0801F278
- ldr r2, [r4]
- cmp r2, 0
- beq _0801F272
- ldr r0, [r2, 0x50]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- ldr r3, _0801F27C
- adds r1, 0x58
- adds r0, r3, 0
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0xB8
- ldr r0, [r0]
- cmp r0, 0
- beq _0801F258
- ldr r0, [r2, 0x54]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x58
- adds r0, r3, 0
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
-_0801F258:
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x58
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801F272:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F278: .4byte gUnknown_203B270
-_0801F27C: .4byte gUnknown_80DC240
- thumb_func_end sub_801F214
-
- thumb_func_start sub_801F280
-sub_801F280:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r4, _0801F30C
- ldr r0, [r4]
- ldr r0, [r0, 0x50]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x50]
- bl sub_80073B8
- ldr r0, [r4]
- ldr r1, [r0, 0x8]
- adds r1, 0x4C
- add r0, sp, 0x4
- movs r2, 0xA
- bl sub_80922B4
- ldr r0, _0801F310
- add r1, sp, 0x4
- bl strcpy
- ldr r2, _0801F314
- ldr r0, [r4]
- ldr r3, [r0, 0x50]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- movs r1, 0
- bl sub_8014FF0
- movs r7, 0
- ldr r0, [r4]
- movs r1, 0x36
- ldrsh r0, [r0, r1]
- cmp r7, r0
- bge _0801F394
- add r5, sp, 0x18
- mov r8, r4
- movs r0, 0x1
- mov r9, r0
-_0801F2E0:
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0xC
- bl memset
- movs r0, 0x6A
- str r0, [r5, 0x4]
- mov r1, r8
- ldr r2, [r1]
- lsls r1, r7, 3
- ldr r0, [r2, 0x10]
- adds r4, r0, r1
- ldrb r1, [r4]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _0801F386
- ldrb r0, [r2, 0xC]
- cmp r0, 0
- beq _0801F318
- movs r0, 0x2
- b _0801F31A
- .align 2, 0
-_0801F30C: .4byte gUnknown_203B270
-_0801F310: .4byte gAvailablePokemonNames
-_0801F314: .4byte gUnknown_80DC28C
-_0801F318:
- movs r0, 0x4
-_0801F31A:
- str r0, [sp, 0x18]
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0801F328
- mov r0, r9
-_0801F328:
- strb r0, [r5, 0x9]
- cmp r7, 0x3
- ble _0801F332
- mov r1, r9
- strb r1, [r5, 0x8]
-_0801F332:
- ldr r0, _0801F3EC
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80928A0
- ldr r2, _0801F3F0
- ldr r0, [r2]
- adds r0, 0x1C
- adds r1, r7, 0
- str r2, [sp, 0x24]
- bl sub_8013800
- adds r6, r0, 0
- ldrb r1, [r4]
- movs r0, 0x2
- ands r0, r1
- movs r4, 0xD
- ldr r2, [sp, 0x24]
- cmp r0, 0
- bne _0801F372
- movs r4, 0x8
- cmp r7, 0
- beq _0801F372
- ldr r0, [r2]
- ldr r0, [r0, 0x50]
- subs r2, r6, 0x2
- movs r1, 0x7
- str r1, [sp]
- movs r1, 0xC
- movs r3, 0x78
- bl sub_800792C
-_0801F372:
- mov r1, r8
- ldr r0, [r1]
- ldr r3, [r0, 0x50]
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r6, 0
- ldr r2, _0801F3F4
- bl sub_8014FF0
-_0801F386:
- adds r7, 0x1
- mov r1, r8
- ldr r0, [r1]
- movs r1, 0x36
- ldrsh r0, [r0, r1]
- cmp r7, r0
- blt _0801F2E0
-_0801F394:
- ldr r4, _0801F3F0
- ldr r0, [r4]
- ldr r0, [r0, 0x50]
- bl sub_80073E0
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xB8
- ldr r0, [r0]
- cmp r0, 0
- beq _0801F3DC
- mov r0, r10
- cmp r0, 0
- beq _0801F3DC
- ldr r0, [r1, 0x54]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x54]
- bl sub_80073B8
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xB8
- ldr r2, [r0]
- ldr r3, [r1, 0x54]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0
- bl sub_8014FF0
- ldr r0, [r4]
- ldr r0, [r0, 0x54]
- bl sub_80073E0
-_0801F3DC:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F3EC: .4byte gUnknown_202DE58
-_0801F3F0: .4byte gUnknown_203B270
-_0801F3F4: .4byte gUnknown_80DC2A0
- thumb_func_end sub_801F280
-
- thumb_func_start sub_801F3F8
-sub_801F3F8:
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _0801F424
- ldr r0, [r0]
- movs r5, 0x1
- ldr r2, [r0, 0x10]
- movs r3, 0x7
-_0801F406:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0801F412
- adds r4, 0x1
-_0801F412:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _0801F406
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F424: .4byte gUnknown_203B270
- thumb_func_end sub_801F3F8
-
- thumb_func_start sub_801F428
-sub_801F428:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r4, r0, 0
- mov r9, r1
- lsls r4, 16
- asrs r4, 16
- ldr r5, _0801F50C
- movs r0, 0xFA
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- ldr r3, _0801F510
- movs r1, 0x58
- adds r2, r4, 0
- muls r2, r1
- ldr r1, [r3]
- adds r1, r2
- str r1, [r0]
- adds r1, r0, 0
- adds r1, 0x8
- str r1, [r0, 0x4]
- movs r4, 0xDF
- lsls r4, 2
- adds r1, r0, r4
- mov r2, r9
- str r2, [r1]
- movs r6, 0xE0
- lsls r6, 2
- adds r2, r0, r6
- mov r3, r9
- lsls r1, r3, 1
- add r1, r9
- lsls r1, 3
- movs r3, 0xE1
- lsls r3, 2
- mov r8, r3
- add r1, r8
- adds r1, r0, r1
- str r1, [r2]
- add r0, r8
- bl sub_8006518
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r2, [r4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- add r1, r8
- ldr r0, _0801F514
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r1, [r5]
- adds r6, r1, r6
- ldr r0, [r6]
- movs r4, 0xF9
- lsls r4, 2
- adds r1, r4
- str r1, [r0, 0x14]
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, _0801F518
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r5]
- ldr r3, _0801F51C
- adds r0, r3
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r5]
- adds r4, 0x3
- adds r0, r4
- strb r2, [r0]
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- add r0, r8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- movs r0, 0xD2
- lsls r0, 2
- adds r4, r0
- bl sub_801F7E4
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x4
- mov r3, r9
- bl sub_8013818
- bl sub_801F690
- bl sub_801F700
- movs r0, 0x1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F50C: .4byte gUnknown_203B274
-_0801F510: .4byte gRecruitedPokemonRef
-_0801F514: .4byte gUnknown_80DC2C4
-_0801F518: .4byte 0x000003e5
-_0801F51C: .4byte 0x000003e6
- thumb_func_end sub_801F428
-
- thumb_func_start sub_801F520
-sub_801F520:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0801F540
- ldr r0, _0801F53C
- ldr r0, [r0]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- bl sub_8013660
- movs r0, 0
- b _0801F5AE
- .align 2, 0
-_0801F53C: .4byte gUnknown_203B274
-_0801F540:
- ldr r0, _0801F55C
- ldr r0, [r0]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- bl GetKeyPress
- cmp r0, 0x2
- beq _0801F566
- cmp r0, 0x2
- bgt _0801F560
- cmp r0, 0x1
- beq _0801F570
- b _0801F584
- .align 2, 0
-_0801F55C: .4byte gUnknown_203B274
-_0801F560:
- cmp r0, 0x4
- beq _0801F57A
- b _0801F584
-_0801F566:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0801F5AE
-_0801F570:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _0801F5AE
-_0801F57A:
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _0801F5AE
-_0801F584:
- ldr r0, _0801F5A0
- ldr r0, [r0]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801F5A4
- movs r0, 0
- b _0801F5AE
- .align 2, 0
-_0801F5A0: .4byte gUnknown_203B274
-_0801F5A4:
- bl sub_801F690
- bl sub_801F700
- movs r0, 0x1
-_0801F5AE:
- pop {r1}
- bx r1
- thumb_func_end sub_801F520
-
- thumb_func_start sub_801F5B4
-sub_801F5B4:
- push {r4,lr}
- ldr r0, _0801F5E8
- ldr r1, [r0]
- ldr r2, [r1, 0x4]
- ldr r3, _0801F5EC
- adds r0, r1, r3
- movs r4, 0
- ldrsh r3, [r0, r4]
- movs r4, 0xD9
- lsls r4, 2
- adds r0, r1, r4
- movs r4, 0
- ldrsh r0, [r0, r4]
- muls r0, r3
- movs r3, 0xD8
- lsls r3, 2
- adds r1, r3
- movs r4, 0
- ldrsh r1, [r1, r4]
- adds r0, r1
- lsls r0, 1
- adds r2, r0
- ldrh r0, [r2]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F5E8: .4byte gUnknown_203B274
-_0801F5EC: .4byte 0x00000366
- thumb_func_end sub_801F5B4
-
- thumb_func_start sub_801F5F0
-sub_801F5F0:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetUnusedInputStruct
- ldr r5, _0801F638
- ldr r0, [r5]
- movs r1, 0xE1
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- bl sub_8013984
- bl sub_801F690
- bl sub_801F700
- cmp r4, 0
- beq _0801F632
- ldr r0, [r5]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- bl AddMenuCursorSprite
-_0801F632:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F638: .4byte gUnknown_203B274
- thumb_func_end sub_801F5F0
-
- thumb_func_start sub_801F63C
-sub_801F63C:
- push {r4-r6,lr}
- ldr r5, _0801F688
- ldr r2, [r5]
- cmp r2, 0
- beq _0801F680
- movs r1, 0xDF
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- movs r4, 0xE1
- lsls r4, 2
- adds r1, r4
- ldr r0, _0801F68C
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- bl MemoryFree
- movs r0, 0
- str r0, [r5]
-_0801F680:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F688: .4byte gUnknown_203B274
-_0801F68C: .4byte gUnknown_80DC2AC
- thumb_func_end sub_801F63C
-
- thumb_func_start sub_801F690
-sub_801F690:
- push {r4,r5,lr}
- ldr r5, _0801F6F4
- ldr r0, [r5]
- ldr r1, _0801F6F8
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r3, [r5]
- movs r1, 0xDF
- lsls r1, 2
- adds r4, r3, r1
- ldr r2, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r3, r1
- ldr r2, _0801F6FC
- adds r1, r2
- asrs r2, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r3, r0
- adds r2, 0x2
- movs r0, 0xE5
- lsls r0, 2
- adds r3, r0
- strh r2, [r3]
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- movs r1, 0xE1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F6F4: .4byte gUnknown_203B274
-_0801F6F8: .4byte 0x00000362
-_0801F6FC: .4byte 0x00000392
- thumb_func_end sub_801F690
-
- thumb_func_start sub_801F700
-sub_801F700:
- push {r4-r7,lr}
- sub sp, 0xB4
- ldr r6, _0801F7D4
- ldr r0, [r6]
- movs r4, 0xDF
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r6]
- adds r0, r4
- ldr r0, [r0]
- bl sub_80073B8
- add r5, sp, 0x34
- ldr r1, _0801F7D8
- ldr r0, [r6]
- ldr r3, _0801F7DC
- adds r2, r0, r3
- movs r7, 0
- ldrsh r2, [r2, r7]
- adds r2, 0x1
- adds r3, 0x2
- adds r0, r3
- movs r7, 0
- ldrsh r3, [r0, r7]
- adds r0, r5, 0
- bl sub_800D158
- ldr r0, [r6]
- adds r0, r4
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- adds r2, r5, 0
- bl xxx_call_draw_string
- movs r4, 0
- ldr r0, [r6]
- ldr r1, _0801F7E0
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r4, r0
- bge _0801F7BC
- adds r5, r6, 0
-_0801F762:
- ldr r1, [r5]
- ldr r2, [r1, 0x4]
- ldr r3, _0801F7DC
- adds r0, r1, r3
- movs r6, 0
- ldrsh r3, [r0, r6]
- movs r7, 0xD9
- lsls r7, 2
- adds r1, r7
- movs r6, 0
- ldrsh r0, [r1, r6]
- muls r0, r3
- adds r0, r4
- lsls r0, 1
- adds r2, r0
- ldrh r1, [r2]
- add r0, sp, 0x4
- bl sub_8092C84
- ldr r0, [r5]
- subs r7, 0x1C
- adds r0, r7
- adds r1, r4, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r5]
- movs r2, 0xDF
- lsls r2, 2
- adds r0, r2
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x4
- bl xxx_call_draw_string
- adds r4, 0x1
- ldr r0, [r5]
- ldr r3, _0801F7E0
- adds r0, r3
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r4, r0
- blt _0801F762
-_0801F7BC:
- ldr r0, _0801F7D4
- ldr r0, [r0]
- movs r7, 0xDF
- lsls r7, 2
- adds r0, r7
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0xB4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F7D4: .4byte gUnknown_203B274
-_0801F7D8: .4byte gUnknown_80DC2DC
-_0801F7DC: .4byte 0x00000366
-_0801F7E0: .4byte 0x00000362
- thumb_func_end sub_801F700
-
- thumb_func_start sub_801F7E4
-sub_801F7E4:
- push {r4,lr}
- ldr r4, _0801F804
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- ldr r1, [r1]
- bl sub_808E218
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- movs r1, 0xCF
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F804: .4byte gUnknown_203B274
- thumb_func_end sub_801F7E4
-
- thumb_func_start sub_801F808
-sub_801F808:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x1
- bl ResetSprites
- ldr r5, _0801F88C
- movs r0, 0xD4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- str r1, [r0, 0x5C]
- adds r1, r0, 0
- adds r1, 0x64
- str r1, [r0, 0x60]
- adds r0, r1, 0
- bl sub_80140B4
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, 0x64
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- str r4, [r0, 0x4]
- movs r2, 0x4
- ldrh r0, [r4, 0x6]
- cmp r0, 0
- bne _0801F862
- adds r3, r5, 0
-_0801F84C:
- subs r2, 0x1
- cmp r2, 0x1
- ble _0801F862
- ldr r0, [r3]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r1
- subs r0, 0x2
- ldrh r0, [r0]
- cmp r0, 0
- beq _0801F84C
-_0801F862:
- ldr r4, _0801F88C
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r3, [r1, 0x5C]
- adds r1, r2, 0
- movs r2, 0x1
- bl sub_8013818
- ldr r0, [r4]
- adds r0, 0xC8
- bl sub_801317C
- movs r0, 0
- bl sub_801F918
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F88C: .4byte gUnknown_203B278
- thumb_func_end sub_801F808
-
- thumb_func_start sub_801F890
-sub_801F890:
- push {lr}
- ldr r0, _0801F8A8
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0801F8BC
- cmp r0, 0x1
- bgt _0801F8AC
- cmp r0, 0
- beq _0801F8B6
- b _0801F8C6
- .align 2, 0
-_0801F8A8: .4byte gUnknown_203B278
-_0801F8AC:
- cmp r0, 0x2
- beq _0801F8C6
- cmp r0, 0x3
- beq _0801F8C2
- b _0801F8C6
-_0801F8B6:
- bl sub_801FA58
- b _0801F8CA
-_0801F8BC:
- bl sub_801FAD4
- b _0801F8CA
-_0801F8C2:
- movs r0, 0x3
- b _0801F8CC
-_0801F8C6:
- movs r0, 0x2
- b _0801F8CC
-_0801F8CA:
- movs r0, 0
-_0801F8CC:
- pop {r1}
- bx r1
- thumb_func_end sub_801F890
-
- thumb_func_start sub_801F8D0
-sub_801F8D0:
- push {r4,r5,lr}
- ldr r4, _0801F910
- ldr r2, [r4]
- cmp r2, 0
- beq _0801F90A
- ldr r0, [r2, 0x5C]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x64
- ldr r0, _0801F914
- 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, 0x64
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801F90A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F910: .4byte gUnknown_203B278
-_0801F914: .4byte gUnknown_80DC2F8
- thumb_func_end sub_801F8D0
-
- thumb_func_start sub_801F918
-sub_801F918:
- push {lr}
- ldr r1, _0801F92C
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801F930
- bl sub_801F9A4
- pop {r0}
- bx r0
- .align 2, 0
-_0801F92C: .4byte gUnknown_203B278
- thumb_func_end sub_801F918
-
- thumb_func_start sub_801F930
-sub_801F930:
- push {r4,lr}
- ldr r4, _0801F94C
- ldr r0, [r4]
- adds r0, 0x64
- bl sub_80140B4
- ldr r2, [r4]
- ldr r3, [r2]
- cmp r3, 0
- beq _0801F950
- cmp r3, 0x1
- beq _0801F98C
- b _0801F99C
- .align 2, 0
-_0801F94C: .4byte gUnknown_203B278
-_0801F950:
- ldr r0, [r2, 0x60]
- adds r1, r2, 0
- adds r1, 0xC4
- str r1, [r0, 0x14]
- adds r0, r2, 0
- adds r0, 0x48
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x46
- ldrh r1, [r1]
- adds r0, 0xC5
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC6
- movs r1, 0x10
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC7
- strb r3, [r0]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x64
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- b _0801F99C
-_0801F98C:
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x64
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0801F99C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801F930
-
- thumb_func_start sub_801F9A4
-sub_801F9A4:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0801F9EC
- ldr r0, [r5]
- ldr r4, [r0]
- cmp r4, 0x1
- beq _0801F9F0
- cmp r4, 0x1
- bgt _0801FA48
- cmp r4, 0
- bne _0801FA48
- ldr r0, [r0, 0x5C]
- bl sub_8008C54
- ldr r3, [r5]
- adds r2, r3, 0
- adds r2, 0x46
- movs r1, 0
- ldrsh r0, [r2, r1]
- ldr r1, [r3, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3, 0x8]
- movs r1, 0
- ldrsh r0, [r2, r1]
- ldrh r1, [r3, 0x8]
- ldr r2, [r3, 0x5C]
- adds r3, 0x14
- bl sub_8093D9C
- ldr r1, [r5]
- str r0, [r1, 0x10]
- str r4, [r1, 0x24]
- b _0801FA48
- .align 2, 0
-_0801F9EC: .4byte gUnknown_203B278
-_0801F9F0:
- ldr r0, [r0, 0x5C]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x5C]
- bl sub_80073B8
- ldr r0, [r5]
- ldr r1, [r0, 0xC]
- lsls r1, 2
- adds r0, 0x14
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _0801FA50
- ldr r1, [r1]
- bl strcpy
- ldr r2, _0801FA54
- ldr r0, [r5]
- ldr r3, [r0, 0x5C]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- bl sub_8014FF0
- ldr r3, [r5]
- ldr r1, [r3, 0xC]
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x14
- adds r0, r1
- ldr r0, [r0]
- ldr r2, [r0, 0x4]
- ldr r3, [r3, 0x5C]
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x10
- bl sub_8014FF0
- ldr r0, [r5]
- ldr r0, [r0, 0x5C]
- bl sub_80073E0
-_0801FA48:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801FA50: .4byte gAvailablePokemonNames
-_0801FA54: .4byte gUnknown_80DC310
- thumb_func_end sub_801F9A4
-
- thumb_func_start sub_801FA58
-sub_801FA58:
- push {r4,lr}
- ldr r0, _0801FAA4
- ldr r2, [r0]
- ldr r1, [r2, 0x10]
- adds r4, r0, 0
- cmp r1, 0
- beq _0801FA7C
- ldr r0, [r2, 0x24]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801FA74
- bl sub_8013F84
-_0801FA74:
- ldr r1, [r4]
- ldr r0, [r1, 0x24]
- adds r0, 0x1
- str r0, [r1, 0x24]
-_0801FA7C:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC8
- ldr r1, [r1, 0x5C]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801FAA8
- cmp r0, 0x2
- beq _0801FAC2
- ldr r0, [r4]
- adds r0, 0x28
- bl sub_8013938
- lsls r0, 24
- cmp r0, 0
- beq _0801FACE
- movs r0, 0
- b _0801FACA
- .align 2, 0
-_0801FAA4: .4byte gUnknown_203B278
-_0801FAA8:
- movs r0, 0
- bl PlayMenuSoundEffect
- ldr r1, [r4]
- ldr r0, [r1, 0x10]
- cmp r0, 0
- beq _0801FABE
- movs r0, 0
- str r0, [r1, 0xC]
- movs r0, 0x1
- b _0801FACA
-_0801FABE:
- movs r0, 0x3
- b _0801FACA
-_0801FAC2:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
-_0801FACA:
- bl sub_801F918
-_0801FACE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801FA58
-
- thumb_func_start sub_801FAD4
-sub_801FAD4:
- push {r4,lr}
- ldr r0, _0801FB14
- ldr r3, [r0]
- ldr r1, [r3, 0x10]
- subs r1, 0x1
- ldr r2, [r3, 0xC]
- adds r4, r0, 0
- cmp r2, r1
- bge _0801FAFC
- ldr r0, [r3, 0x24]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801FAF4
- bl sub_8013F84
-_0801FAF4:
- ldr r1, [r4]
- ldr r0, [r1, 0x24]
- adds r0, 0x1
- str r0, [r1, 0x24]
-_0801FAFC:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC8
- ldr r1, [r1, 0x5C]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801FB18
- cmp r0, 0x2
- beq _0801FB3C
- b _0801FB48
- .align 2, 0
-_0801FB14: .4byte gUnknown_203B278
-_0801FB18:
- movs r0, 0
- bl PlayMenuSoundEffect
- ldr r0, [r4]
- ldr r1, [r0, 0xC]
- adds r1, 0x1
- str r1, [r0, 0xC]
- ldr r0, [r0, 0x10]
- cmp r1, r0
- bge _0801FB34
- movs r0, 0x1
- bl sub_801F918
- b _0801FB48
-_0801FB34:
- movs r0, 0
- bl sub_801F918
- b _0801FB48
-_0801FB3C:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- bl sub_801F918
-_0801FB48:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801FAD4
-
- thumb_func_start sub_801FB50
-sub_801FB50:
- push {r4-r7,lr}
- adds r4, r0, 0
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r6, _0801FBC0
- movs r0, 0xF0
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- movs r7, 0
- str r7, [r0, 0x70]
- str r7, [r0, 0x74]
- str r7, [r0, 0x78]
- str r4, [r0]
- strb r7, [r0, 0x15]
- ldr r0, _0801FBC4
- ldr r4, _0801FBC8
- adds r1, r4, 0
- bl CopyYellowSpeciesNametoBuffer
- ldr r5, _0801FBCC
- adds r0, r5, 0
- adds r1, r4, 0
- bl CopyYellowSpeciesNametoBuffer
- adds r0, r4, 0
- bl GetMonSpecies
- adds r1, r0, 0
- adds r0, r5, 0
- subs r0, 0x50
- bl strcpy
- subs r5, 0xF0
- bl sub_808D33C
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_808DA34
- ldr r2, [r6]
- ldr r0, [r2]
- cmp r0, 0x1
- bne _0801FBD0
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r2, r1
- str r7, [r0]
- b _0801FBDE
- .align 2, 0
-_0801FBC0: .4byte gUnknown_203B27C
-_0801FBC4: .4byte gUnknown_202E5D8
-_0801FBC8: .4byte 0x00000155
-_0801FBCC: .4byte gUnknown_202E1C8
-_0801FBD0:
- movs r3, 0xBE
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0xB6
- lsls r4, 1
- adds r0, r2, r4
- str r0, [r1]
-_0801FBDE:
- ldr r0, _0801FC34
- bl GetDialogueSpriteDataPtr
- ldr r2, _0801FC38
- ldr r3, [r2]
- movs r4, 0xB6
- lsls r4, 1
- adds r1, r3, r4
- str r0, [r1]
- adds r4, 0x4
- adds r1, r3, r4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r3, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _0801FC3C
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r4, 0xA
- adds r0, r4
- strb r1, [r0]
- ldr r2, [r2]
- movs r0, 0xBA
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x2
- strh r0, [r1]
- subs r3, 0x3
- adds r1, r2, r3
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_801FDA8
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801FC34: .4byte 0x00000155
-_0801FC38: .4byte gUnknown_203B27C
-_0801FC3C: .4byte 0x00000179
- thumb_func_end sub_801FB50
-
- thumb_func_start sub_801FC40
-sub_801FC40:
- push {lr}
- ldr r1, _0801FC5C
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r2, r1, 0
- cmp r0, 0x22
- bls _0801FC50
- b _0801FD70
-_0801FC50:
- lsls r0, 2
- ldr r1, _0801FC60
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801FC5C: .4byte gUnknown_203B27C
-_0801FC60: .4byte _0801FC64
- .align 2, 0
-_0801FC64:
- .4byte _0801FCF0
- .4byte _0801FCF0
- .4byte _0801FCF6
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FCFC
- .4byte _0801FD02
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD50
- .4byte _0801FD70
- .4byte _0801FD08
- .4byte _0801FD08
- .4byte _0801FD0E
- .4byte _0801FD14
- .4byte _0801FD1A
- .4byte _0801FD70
- .4byte _0801FD20
- .4byte _0801FD20
- .4byte _0801FD26
- .4byte _0801FD2C
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD32
- .4byte _0801FD38
- .4byte _0801FD38
- .4byte _0801FD3E
- .4byte _0801FD44
- .4byte _0801FD4A
-_0801FCF0:
- bl sub_8021154
- b _0801FD74
-_0801FCF6:
- bl sub_80209AC
- b _0801FD74
-_0801FCFC:
- bl sub_80209FC
- b _0801FD74
-_0801FD02:
- bl sub_8020A34
- b _0801FD74
-_0801FD08:
- bl sub_8020A80
- b _0801FD74
-_0801FD0E:
- bl sub_8020B38
- b _0801FD74
-_0801FD14:
- bl sub_8020C2C
- b _0801FD74
-_0801FD1A:
- bl sub_8020C48
- b _0801FD74
-_0801FD20:
- bl sub_8020C64
- b _0801FD74
-_0801FD26:
- bl sub_8020CC0
- b _0801FD74
-_0801FD2C:
- bl sub_8020D74
- b _0801FD74
-_0801FD32:
- bl sub_8020D90
- b _0801FD74
-_0801FD38:
- bl sub_8020DCC
- b _0801FD74
-_0801FD3E:
- bl sub_8020EB4
- b _0801FD74
-_0801FD44:
- bl sub_80210C8
- b _0801FD74
-_0801FD4A:
- bl sub_80210E4
- b _0801FD74
-_0801FD50:
- ldr r0, [r2]
- ldrb r0, [r0, 0x15]
- cmp r0, 0x1
- bne _0801FD68
- ldr r0, _0801FD6C
- ldr r1, [r0]
- movs r0, 0x98
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- subs r0, 0x96
- str r0, [r1]
-_0801FD68:
- movs r0, 0x3
- b _0801FD76
- .align 2, 0
-_0801FD6C: .4byte gUnknown_203B460
-_0801FD70:
- bl sub_8021130
-_0801FD74:
- movs r0, 0
-_0801FD76:
- pop {r1}
- bx r1
- thumb_func_end sub_801FC40
-
- thumb_func_start sub_801FD7C
-sub_801FD7C:
- push {r4,lr}
- ldr r4, _0801FDA4
- ldr r0, [r4]
- cmp r0, 0
- beq _0801FD9C
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801FD9C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801FDA4: .4byte gUnknown_203B27C
- thumb_func_end sub_801FD7C
-
- thumb_func_start sub_801FDA8
-sub_801FDA8:
- push {lr}
- ldr r1, _0801FDBC
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_801FDC0
- bl sub_801FF28
- pop {r0}
- bx r0
- .align 2, 0
-_0801FDBC: .4byte gUnknown_203B27C
- thumb_func_end sub_801FDA8
-
- thumb_func_start sub_801FDC0
-sub_801FDC0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0801FDE8
- ldr r0, [r4]
- movs r5, 0xC0
- lsls r5, 1
- adds r0, r5
- bl sub_8006518
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- cmp r1, 0x11
- beq _0801FE38
- cmp r1, 0x11
- bgt _0801FDEC
- cmp r1, 0x2
- beq _0801FDF6
- b _0801FED4
- .align 2, 0
-_0801FDE8: .4byte gUnknown_203B27C
-_0801FDEC:
- cmp r1, 0x17
- beq _0801FE6C
- cmp r1, 0x20
- beq _0801FE88
- b _0801FED4
-_0801FDF6:
- adds r0, r5
- movs r1, 0x80
- strb r1, [r0]
- ldr r0, [r4]
- movs r2, 0xCC
- lsls r2, 1
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- movs r3, 0xD8
- lsls r3, 1
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r4]
- movs r6, 0xE4
- lsls r6, 1
- adds r1, r6
- ldr r0, _0801FE34
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x1
- movs r2, 0
- bl sub_800641C
- b _0801FF14
- .align 2, 0
-_0801FE34: .4byte gUnknown_80DC37C
-_0801FE38:
- bl sub_80205D0
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801FE68
- 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, 0x7C
- bl sub_8012CAC
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- movs r6, 0xC0
- lsls r6, 1
- adds r0, r6
- b _0801FEC2
- .align 2, 0
-_0801FE68: .4byte gUnknown_80DC334
-_0801FE6C:
- bl sub_802069C
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801FE84
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- b _0801FEB0
- .align 2, 0
-_0801FE84: .4byte gUnknown_80DC334
-_0801FE88:
- bl CreateGulpinLinkMenu
- ldr r1, [r4]
- movs r7, 0xCC
- lsls r7, 1
- adds r1, r7
- ldr r0, _0801FECC
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801FED0
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
-_0801FEB0:
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0x7C
- bl sub_8012CAC
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, r5
-_0801FEC2:
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- b _0801FF14
- .align 2, 0
-_0801FECC: .4byte gUnknown_80DC31C
-_0801FED0: .4byte gUnknown_80DC34C
-_0801FED4:
- ldr r5, _0801FF20
- mov r12, r5
- movs r6, 0xC0
- lsls r6, 1
- mov r8, r6
- ldr r4, _0801FF24
- movs r3, 0
- movs r2, 0x3
-_0801FEE4:
- mov r7, r12
- ldr r1, [r7]
- 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 _0801FEE4
- bl ResetUnusedInputStruct
- ldr r0, _0801FF20
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0801FF14:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801FF20: .4byte gUnknown_203B27C
-_0801FF24: .4byte gUnknown_80DC31C
- thumb_func_end sub_801FDC0
-
- thumb_func_start sub_801FF28
-sub_801FF28:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _0801FF44
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r5, r1, 0
- cmp r0, 0x23
- bls _0801FF3A
- b _08020562
-_0801FF3A:
- lsls r0, 2
- ldr r1, _0801FF48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801FF44: .4byte gUnknown_203B27C
-_0801FF48: .4byte _0801FF4C
- .align 2, 0
-_0801FF4C:
- .4byte _0801FFDC
- .4byte _08020018
- .4byte _08020064
- .4byte _0802006C
- .4byte _08020090
- .4byte _080200B4
- .4byte _080200D8
- .4byte _080200FC
- .4byte _08020144
- .4byte _0802018C
- .4byte _080201B0
- .4byte _080201D4
- .4byte _080201F8
- .4byte _08020562
- .4byte _0802021C
- .4byte _08020240
- .4byte _0802024E
- .4byte _08020256
- .4byte _08020274
- .4byte _08020282
- .4byte _0802028E
- .4byte _080202B0
- .4byte _080202BE
- .4byte _080202C6
- .4byte _080202E4
- .4byte _08020304
- .4byte _08020344
- .4byte _080203B0
- .4byte _080203D4
- .4byte _0802038C
- .4byte _080203F8
- .4byte _08020428
- .4byte _08020434
- .4byte _08020460
- .4byte _08020478
- .4byte _08020500
-_0801FFDC:
- ldr r0, [r5]
- movs r4, 0x2
- str r4, [r0, 0x6C]
- bl CreateGulpinShopMenu
- ldr r5, [r5]
- str r4, [r5, 0x8]
- ldr r2, _08020014
- ldr r1, [r5]
- movs r0, 0x64
- muls r0, r1
- adds r0, r2
- ldr r0, [r0]
- ldr r2, [r5, 0x6C]
- adds r3, r5, 0
- adds r3, 0x7C
- adds r1, r5, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r4, 0xBE
- lsls r4, 1
- adds r1, r5, r4
- b _0802004C
- .align 2, 0
-_08020014: .4byte gGulpinDialogue
-_08020018:
- bl CreateGulpinShopMenu
- ldr r0, _0802005C
- ldr r4, [r0]
- movs r0, 0x2
- str r0, [r4, 0x8]
- ldr r1, _08020060
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- ldr r2, [r4, 0x6C]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r5, 0xBE
- lsls r5, 1
- adds r1, r4, r5
-_0802004C:
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _08020562
- .align 2, 0
-_0802005C: .4byte gUnknown_203B27C
-_08020060: .4byte gGulpinDialogue
-_08020064:
- movs r0, 0x3
- bl sub_8016C40
- b _08020562
-_0802006C:
- ldr r2, [r5]
- movs r0, 0x1F
- str r0, [r2, 0x8]
- ldr r1, _0802008C
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_0802008C: .4byte gGulpinDialogue
-_08020090:
- ldr r2, [r5]
- movs r0, 0x1F
- str r0, [r2, 0x8]
- ldr r1, _080200B0
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0xC
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080200B0: .4byte gGulpinDialogue
-_080200B4:
- ldr r2, [r5]
- movs r0, 0x1F
- str r0, [r2, 0x8]
- ldr r1, _080200D4
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x10
- adds r0, r1
- ldr r0, [r0]
- movs r5, 0xBE
- lsls r5, 1
- adds r2, r5
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080200D4: .4byte gGulpinDialogue
-_080200D8:
- ldr r2, [r5]
- movs r0, 0x1F
- str r0, [r2, 0x8]
- ldr r1, _080200F8
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x14
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080200F8: .4byte gGulpinDialogue
-_080200FC:
- bl sub_8020900
- ldr r1, _0802013C
- ldr r0, _08020140
- ldr r4, [r0]
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x18
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r4, r2
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x10
- bl sub_8014248
- b _08020562
- .align 2, 0
-_0802013C: .4byte gGulpinDialogue
-_08020140: .4byte gUnknown_203B27C
-_08020144:
- bl sub_8020950
- ldr r1, _08020184
- ldr r0, _08020188
- ldr r4, [r0]
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x54
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r5, 0xBE
- lsls r5, 1
- adds r1, r4, r5
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0xD
- bl sub_8014248
- b _08020562
- .align 2, 0
-_08020184: .4byte gGulpinDialogue
-_08020188: .4byte gUnknown_203B27C
-_0802018C:
- ldr r2, [r5]
- movs r0, 0x1
- str r0, [r2, 0x8]
- ldr r1, _080201AC
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x58
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080201AC: .4byte gGulpinDialogue
-_080201B0:
- ldr r2, [r5]
- movs r0, 0x1
- str r0, [r2, 0x8]
- ldr r1, _080201D0
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x5C
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080201D0: .4byte gGulpinDialogue
-_080201D4:
- ldr r2, [r5]
- movs r0, 0x1
- str r0, [r2, 0x8]
- ldr r1, _080201F4
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x60
- adds r0, r1
- ldr r0, [r0]
- movs r5, 0xBE
- lsls r5, 1
- adds r2, r5
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080201F4: .4byte gGulpinDialogue
-_080201F8:
- ldr r2, [r5]
- movs r0, 0xD
- str r0, [r2, 0x8]
- ldr r1, _08020218
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x1C
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_08020218: .4byte gGulpinDialogue
-_0802021C:
- ldr r2, [r5]
- movs r0, 0xF
- str r0, [r2, 0x8]
- ldr r1, _0802023C
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x20
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_0802023C: .4byte gGulpinDialogue
-_08020240:
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_8023868
- b _08020562
-_0802024E:
- movs r0, 0x1
- bl sub_8023B7C
- b _08020562
-_08020256:
- bl sub_8023DA4
- ldr r0, _08020270
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xCC
- adds r1, r2, 0
- adds r1, 0x7C
- adds r3, r2, 0
- adds r3, 0xBC
- ldr r2, [r2, 0x70]
- b _0802044C
- .align 2, 0
-_08020270: .4byte gUnknown_203B27C
-_08020274:
- ldr r0, [r5]
- movs r5, 0xC
- ldrsh r0, [r0, r5]
- movs r1, 0x2
- bl sub_8024458
- b _08020562
-_08020282:
- ldr r0, [r5]
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- bl sub_801BEEC
- b _08020562
-_0802028E:
- ldr r2, [r5]
- movs r0, 0x15
- str r0, [r2, 0x8]
- ldr r1, _080202AC
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x24
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080202AC: .4byte gGulpinDialogue
-_080202B0:
- ldr r0, [r5]
- movs r5, 0xC
- ldrsh r0, [r0, r5]
- movs r1, 0
- bl sub_801F428
- b _08020562
-_080202BE:
- movs r0, 0x1
- bl sub_801F5F0
- b _08020562
-_080202C6:
- bl sub_801F700
- ldr r0, _080202E0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xCC
- adds r1, r2, 0
- adds r1, 0x7C
- adds r3, r2, 0
- adds r3, 0xBC
- ldr r2, [r2, 0x74]
- b _0802044C
- .align 2, 0
-_080202E0: .4byte gUnknown_203B27C
-_080202E4:
- ldr r0, [r5]
- ldrh r1, [r0, 0x1C]
- adds r0, 0x64
- strh r1, [r0]
- movs r2, 0x1
- adds r4, r5, 0
- movs r3, 0
-_080202F2:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r0, 0x64
- adds r0, r1
- strh r3, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _080202F2
- b _0802046E
-_08020304:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_8094060
- ldr r1, [r5]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0802033C
- ldrh r1, [r1, 0x1E]
- bl sub_8092C84
- ldr r1, _08020340
- ldr r2, [r5]
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x28
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_0802033C: .4byte gAvailablePokemonNames
-_08020340: .4byte gGulpinDialogue
-_08020344:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_8094060
- ldr r3, [r5]
- movs r0, 0x10
- str r0, [r3, 0x8]
- ldrb r0, [r3, 0x14]
- cmp r0, 0
- beq _08020370
- ldr r1, _0802036C
- ldr r2, [r3]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x38
- b _08020520
- .align 2, 0
-_0802036C: .4byte gGulpinDialogue
-_08020370:
- ldr r1, _08020388
- ldr r2, [r3]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x34
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r1, r3, r4
- b _0802052A
- .align 2, 0
-_08020388: .4byte gGulpinDialogue
-_0802038C:
- ldr r2, [r5]
- ldr r0, [r2]
- cmp r0, 0
- bne _080203A2
- movs r5, 0xC
- ldrsh r1, [r2, r5]
- adds r2, 0x24
- movs r0, 0
- bl DisplayGulpinDialogueSprite
- b _08020562
-_080203A2:
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- adds r2, 0x24
- movs r0, 0x1
- bl DisplayGulpinDialogueSprite
- b _08020562
-_080203B0:
- ldr r2, [r5]
- movs r0, 0x10
- str r0, [r2, 0x8]
- ldr r1, _080203D0
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x3C
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080203D0: .4byte gGulpinDialogue
-_080203D4:
- ldr r2, [r5]
- movs r0, 0x10
- str r0, [r2, 0x8]
- ldr r1, _080203F4
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x40
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080203F4: .4byte gGulpinDialogue
-_080203F8:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_809401C
- ldr r0, [r5]
- movs r5, 0xC
- ldrsh r1, [r0, r5]
- adds r2, r0, 0
- adds r2, 0x24
- ldrb r3, [r0, 0x15]
- ldr r0, _08020424
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0x1
- bl sub_801EE10
- b _08020562
- .align 2, 0
-_08020424: .4byte gUnknown_80DC394
-_08020428:
- ldr r0, [r5]
- ldrb r1, [r0, 0x15]
- movs r0, 0x1
- bl sub_801F1B0
- b _08020562
-_08020434:
- movs r0, 0
- bl sub_801F280
- ldr r0, _0802045C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xCC
- adds r1, r2, 0
- adds r1, 0x7C
- adds r3, r2, 0
- adds r3, 0xBC
- ldr r2, [r2, 0x78]
-_0802044C:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08020562
- .align 2, 0
-_0802045C: .4byte gUnknown_203B27C
-_08020460:
- ldr r2, [r5]
- ldr r0, [r2, 0x18]
- adds r1, r2, 0
- adds r1, 0x24
- adds r2, 0x64
- bl sub_8093560
-_0802046E:
- ldr r0, [r5]
- adds r0, 0x64
- bl sub_801F808
- b _08020562
-_08020478:
- bl sub_80208B0
- ldr r0, _080204B8
- ldr r4, _080204BC
- ldr r1, [r4]
- ldrh r1, [r1, 0x20]
- bl sub_8092C84
- ldr r4, [r4]
- ldrb r5, [r4, 0x14]
- cmp r5, 0
- beq _080204C4
- ldr r1, _080204C0
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x48
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r4, r2
- b _080204E8
- .align 2, 0
-_080204B8: .4byte gUnknown_202DFE8
-_080204BC: .4byte gUnknown_203B27C
-_080204C0: .4byte gGulpinDialogue
-_080204C4:
- ldr r1, _080204FC
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x44
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r5, 0xBE
- lsls r5, 1
- adds r1, r4, r5
-_080204E8:
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x11
- bl sub_8014248
- b _08020562
- .align 2, 0
-_080204FC: .4byte gGulpinDialogue
-_08020500:
- ldr r1, [r5]
- movs r0, 0x1F
- str r0, [r1, 0x8]
- ldr r0, _08020538
- ldrh r1, [r1, 0x20]
- bl sub_8092C84
- ldr r3, [r5]
- ldrb r0, [r3, 0x14]
- cmp r0, 0
- beq _08020544
- ldr r1, _0802053C
- ldr r2, [r3]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x50
-_08020520:
- adds r0, r1
- ldr r0, [r0]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r3, r2
-_0802052A:
- ldr r2, [r1]
-_0802052C:
- ldr r3, _08020540
- movs r1, 0
- bl sub_80141B4
- b _08020562
- .align 2, 0
-_08020538: .4byte gUnknown_202DFE8
-_0802053C: .4byte gGulpinDialogue
-_08020540: .4byte 0x0000010d
-_08020544:
- ldr r1, _0802056C
- ldr r2, [r3]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r1, r3, r4
- ldr r2, [r1]
- ldr r3, _08020570
- movs r1, 0
- bl sub_80141B4
-_08020562:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802056C: .4byte gGulpinDialogue
-_08020570: .4byte 0x0000010d
- thumb_func_end sub_801FF28
-
- thumb_func_start CreateGulpinShopMenu
-CreateGulpinShopMenu:
- push {r4,lr}
- ldr r4, _080205C0
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- ldr r0, _080205C4
- str r0, [r4, 0x7C]
- adds r1, r4, 0
- adds r1, 0x80
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _080205C8
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xB
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _080205CC
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r4, 0
- adds r0, 0x90
- str r2, [r0]
- adds r0, 0x4
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080205C0: .4byte gUnknown_203B27C
-_080205C4: .4byte gGulpinProceed
-_080205C8: .4byte gGulpinInfo
-_080205CC: .4byte gUnknown_80D4934
- thumb_func_end CreateGulpinShopMenu
-
- thumb_func_start sub_80205D0
-sub_80205D0:
- push {r4-r7,lr}
- ldr r4, _08020660
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r0, [r4]
- mov r12, r0
- movs r5, 0
- ldr r0, _08020664
- mov r1, r12
- str r0, [r1, 0x7C]
- mov r2, r12
- adds r2, 0x80
- movs r0, 0x4
- str r0, [r2]
- movs r3, 0x1
- adds r1, 0x84
- ldr r0, _08020668
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xB
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0802066C
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xC
- str r0, [r1]
- movs r6, 0x3
- adds r1, 0x4
- ldr r0, _08020670
- str r0, [r1]
- mov r0, r12
- adds r0, 0x98
- str r6, [r0]
- movs r6, 0x4
- adds r0, 0x4
- str r5, [r0]
- adds r0, 0x4
- str r3, [r0]
- mov r3, r12
- adds r3, 0xBC
-_0802062A:
- ldrh r0, [r3]
- cmp r0, 0
- bne _0802063A
- ldr r1, [r2]
- mov r7, r12
- ldr r0, [r7, 0x70]
- cmp r1, r0
- beq _08020696
-_0802063A:
- adds r2, 0x8
- adds r3, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _0802062A
- movs r5, 0
- cmp r5, r6
- bge _08020696
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrh r0, [r0]
- cmp r0, 0
- bne _08020674
- adds r0, r1, 0
- adds r0, 0x80
- ldr r0, [r0]
- str r0, [r1, 0x70]
- b _08020696
- .align 2, 0
-_08020660: .4byte gUnknown_203B27C
-_08020664: .4byte gUnknown_80DC3D8
-_08020668: .4byte gUnknown_80DC3E0
-_0802066C: .4byte gUnknown_80DC3E8
-_08020670: .4byte gUnknown_80DC3F4
-_08020674:
- adds r5, 0x1
- cmp r5, r6
- bge _08020696
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0xBC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08020674
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x80
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x70]
-_08020696:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80205D0
-
- thumb_func_start sub_802069C
-sub_802069C:
- push {r4-r7,lr}
- ldr r4, _08020718
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r0, [r4]
- mov r12, r0
- movs r5, 0
- ldr r0, _0802071C
- mov r1, r12
- str r0, [r1, 0x7C]
- mov r3, r12
- adds r3, 0x80
- movs r0, 0x3
- str r0, [r3]
- movs r2, 0x1
- adds r1, 0x84
- ldr r0, _08020720
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xB
- str r0, [r1]
- movs r6, 0x2
- mov r0, r12
- adds r0, 0x8C
- str r5, [r0]
- adds r0, 0x4
- str r2, [r0]
- mov r2, r12
- adds r2, 0xBC
-_080206E0:
- ldrh r0, [r2]
- cmp r0, 0
- bne _080206F0
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x74]
- cmp r1, r0
- beq _08020746
-_080206F0:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _080206E0
- movs r5, 0
- cmp r5, r6
- bge _08020746
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrh r0, [r0]
- cmp r0, 0
- bne _08020724
- adds r0, r1, 0
- adds r0, 0x80
- ldr r0, [r0]
- str r0, [r1, 0x74]
- b _08020746
- .align 2, 0
-_08020718: .4byte gUnknown_203B27C
-_0802071C: .4byte gUnknown_80DC3F4
-_08020720: .4byte gUnknown_80D4970
-_08020724:
- adds r5, 0x1
- cmp r5, r6
- bge _08020746
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0xBC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08020724
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x80
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x74]
-_08020746:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802069C
-
- thumb_func_start CreateGulpinLinkMenu
-CreateGulpinLinkMenu:
- push {r4-r7,lr}
- movs r7, 0
- ldr r4, _08020780
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- ldrb r0, [r1, 0x16]
- cmp r0, 0
- beq _0802079C
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80932E0
- lsls r0, 24
- cmp r0, 0
- beq _08020788
- ldr r0, [r4]
- ldr r1, _08020784
- str r1, [r0, 0x7C]
- adds r0, 0x80
- movs r1, 0x6
- b _08020792
- .align 2, 0
-_08020780: .4byte gUnknown_203B27C
-_08020784: .4byte gGulpinDeselect
-_08020788:
- ldr r0, [r4]
- ldr r1, _08020798
- str r1, [r0, 0x7C]
- adds r0, 0x80
- movs r1, 0x5
-_08020792:
- str r1, [r0]
- mov r12, r4
- b _080207CA
- .align 2, 0
-_08020798: .4byte gGulpinSet
-_0802079C:
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80932FC
- lsls r0, 24
- cmp r0, 0
- beq _080207B4
- ldr r1, [r4]
- ldr r0, _080207B0
- b _080207B8
- .align 2, 0
-_080207B0: .4byte gGulpinDeselect
-_080207B4:
- ldr r1, [r4]
- ldr r0, _0802086C
-_080207B8:
- str r0, [r1, 0x7C]
- ldr r2, _08020870
- ldr r0, [r2]
- lsls r1, r7, 3
- adds r0, 0x80
- adds r0, r1
- movs r1, 0x7
- str r1, [r0]
- mov r12, r2
-_080207CA:
- adds r7, 0x1
- mov r0, r12
- ldr r4, [r0]
- lsls r1, r7, 3
- adds r3, r4, 0
- adds r3, 0x7C
- adds r2, r3, r1
- ldr r0, _08020874
- str r0, [r2]
- adds r6, r4, 0
- adds r6, 0x80
- adds r1, r6, r1
- movs r0, 0x8
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _08020878
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0x9
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _0802087C
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0xA
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _08020880
- ldr r0, [r0]
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0xB
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r1, r6, r1
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- cmp r3, r7
- bge _0802084C
- adds r5, r4, 0
- adds r4, 0xBC
- adds r2, r6, 0
-_08020834:
- ldrh r0, [r4]
- cmp r0, 0
- bne _08020842
- ldr r1, [r2]
- ldr r0, [r5, 0x78]
- cmp r1, r0
- beq _080208A8
-_08020842:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r7
- blt _08020834
-_0802084C:
- movs r3, 0
- cmp r3, r7
- bge _080208A8
- mov r0, r12
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrh r0, [r0]
- cmp r0, 0
- bne _08020884
- adds r0, r1, 0
- adds r0, 0x80
- ldr r0, [r0]
- str r0, [r1, 0x78]
- b _080208A8
- .align 2, 0
-_0802086C: .4byte gGulpinSet
-_08020870: .4byte gUnknown_203B27C
-_08020874: .4byte gGulpinLink
-_08020878: .4byte gGulpinDelink
-_0802087C: .4byte gGulpinForget
-_08020880: .4byte gUnknown_80D4970
-_08020884:
- adds r3, 0x1
- cmp r3, r7
- bge _080208A8
- mov r0, r12
- ldr r2, [r0]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0xBC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08020884
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x80
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x78]
-_080208A8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end CreateGulpinLinkMenu
-
- thumb_func_start sub_80208B0
-sub_80208B0:
- push {r4,lr}
- ldr r4, _080208F4
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- ldr r0, _080208F8
- ldr r0, [r0]
- str r0, [r4, 0x7C]
- adds r1, r4, 0
- adds r1, 0x80
- movs r0, 0x10
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _080208FC
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x11
- str r0, [r1]
- adds r0, r4, 0
- adds r0, 0x8C
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080208F4: .4byte gUnknown_203B27C
-_080208F8: .4byte gUnknown_80D4920
-_080208FC: .4byte gUnknown_80D4928
- thumb_func_end sub_80208B0
-
- thumb_func_start sub_8020900
-sub_8020900:
- push {r4,lr}
- ldr r4, _08020944
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08020948
- ldr r0, [r0]
- str r0, [r3, 0x7C]
- adds r1, r3, 0
- adds r1, 0x80
- movs r0, 0x10
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0802094C
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x11
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0x8C
- str r2, [r0]
- adds r1, 0x8
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08020944: .4byte gUnknown_203B27C
-_08020948: .4byte gUnknown_80D4920
-_0802094C: .4byte gUnknown_80D4928
- thumb_func_end sub_8020900
-
- thumb_func_start sub_8020950
-sub_8020950:
- push {r4,lr}
- ldr r4, _0802099C
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- ldr r0, _080209A0
- str r0, [r4, 0x7C]
- adds r1, r4, 0
- adds r1, 0x80
- movs r0, 0xD
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _080209A4
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xE
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _080209A8
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xF
- str r0, [r1]
- adds r0, r4, 0
- adds r0, 0x94
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802099C: .4byte gUnknown_203B27C
-_080209A0: .4byte gUnknown_80DC428
-_080209A4: .4byte gUnknown_80DC438
-_080209A8: .4byte gUnknown_80DC448
- thumb_func_end sub_8020950
-
- thumb_func_start sub_80209AC
-sub_80209AC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080209F4
- ldr r0, _080209D4
- ldr r1, [r0]
- ldr r0, [sp]
- str r0, [r1, 0x6C]
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080209DE
- cmp r0, 0x2
- bgt _080209D8
- cmp r0, 0x1
- beq _080209EE
- b _080209F4
- .align 2, 0
-_080209D4: .4byte gUnknown_203B27C
-_080209D8:
- cmp r0, 0xB
- beq _080209E6
- b _080209F4
-_080209DE:
- movs r0, 0xE
- bl sub_801FDA8
- b _080209F4
-_080209E6:
- movs r0, 0x8
- bl sub_801FDA8
- b _080209F4
-_080209EE:
- movs r0, 0xC
- bl sub_801FDA8
-_080209F4:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80209AC
-
- thumb_func_start sub_80209FC
-sub_80209FC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08020A2E
- ldr r0, [sp]
- cmp r0, 0x10
- beq _08020A20
- cmp r0, 0x10
- bgt _08020A1A
- cmp r0, 0x1
- beq _08020A28
- b _08020A2E
-_08020A1A:
- cmp r0, 0x11
- beq _08020A28
- b _08020A2E
-_08020A20:
- movs r0, 0xE
- bl sub_801FDA8
- b _08020A2E
-_08020A28:
- movs r0, 0xC
- bl sub_801FDA8
-_08020A2E:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80209FC
-
- thumb_func_start sub_8020A34
-sub_8020A34:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08020A7A
- ldr r0, [sp]
- cmp r0, 0xD
- beq _08020A5C
- cmp r0, 0xD
- bgt _08020A52
- cmp r0, 0x1
- beq _08020A74
- b _08020A7A
-_08020A52:
- cmp r0, 0xE
- beq _08020A64
- cmp r0, 0xF
- beq _08020A6C
- b _08020A7A
-_08020A5C:
- movs r0, 0x9
- bl sub_801FDA8
- b _08020A7A
-_08020A64:
- movs r0, 0xA
- bl sub_801FDA8
- b _08020A7A
-_08020A6C:
- movs r0, 0xB
- bl sub_801FDA8
- b _08020A7A
-_08020A74:
- movs r0, 0x1
- bl sub_801FDA8
-_08020A7A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8020A34
-
- thumb_func_start sub_8020A80
-sub_8020A80:
- push {r4,lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x4
- bhi _08020B32
- lsls r0, 2
- ldr r1, _08020A98
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08020A98: .4byte _08020A9C
- .align 2, 0
-_08020A9C:
- .4byte _08020B32
- .4byte _08020B32
- .4byte _08020B28
- .4byte _08020AB0
- .4byte _08020AEC
-_08020AB0:
- bl sub_8023B44
- ldr r4, _08020AE0
- ldr r1, [r4]
- strh r0, [r1, 0xC]
- ldr r3, _08020AE4
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x10]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x16]
- ldr r0, _08020AE8
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- bl sub_808DA34
- movs r0, 0x11
- bl sub_801FDA8
- b _08020B32
- .align 2, 0
-_08020AE0: .4byte gUnknown_203B27C
-_08020AE4: .4byte gRecruitedPokemonRef
-_08020AE8: .4byte gUnknown_202E128
-_08020AEC:
- bl sub_8023B44
- ldr r4, _08020B1C
- ldr r1, [r4]
- strh r0, [r1, 0xC]
- ldr r3, _08020B20
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x10]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x16]
- ldr r0, _08020B24
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- bl sub_808DA34
- movs r0, 0x12
- bl sub_801FDA8
- b _08020B32
- .align 2, 0
-_08020B1C: .4byte gUnknown_203B27C
-_08020B20: .4byte gRecruitedPokemonRef
-_08020B24: .4byte gUnknown_202E128
-_08020B28:
- bl sub_8023C60
- movs r0, 0x7
- bl sub_801FDA8
-_08020B32:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8020A80
-
- thumb_func_start sub_8020B38
-sub_8020B38:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8023A94
- ldr r4, _08020B7C
- ldr r0, [r4]
- adds r0, 0xCC
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08020B68
- ldr r0, [r4]
- adds r0, 0xCC
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08020B68
- ldr r0, [r4]
- str r1, [r0, 0x70]
-_08020B68:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x10
- bhi _08020C24
- lsls r0, 2
- ldr r1, _08020B80
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08020B7C: .4byte gUnknown_203B27C
-_08020B80: .4byte _08020B84
- .align 2, 0
-_08020B84:
- .4byte _08020BC8
- .4byte _08020C24
- .4byte _08020BD0
- .4byte _08020C0E
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C16
- .4byte _08020C1E
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020BC8
-_08020BC8:
- movs r0, 0x10
- bl sub_801FDA8
- b _08020C24
-_08020BD0:
- ldr r0, _08020BF0
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl sub_808E858
- lsls r0, 16
- movs r1, 0xCF
- lsls r1, 17
- cmp r0, r1
- bne _08020BF4
- movs r0, 0x1C
- bl sub_801FDA8
- b _08020C24
- .align 2, 0
-_08020BF0: .4byte gUnknown_203B27C
-_08020BF4:
- bl sub_8021178
- lsls r0, 24
- cmp r0, 0
- beq _08020C06
- movs r0, 0x1B
- bl sub_801FDA8
- b _08020C24
-_08020C06:
- movs r0, 0x14
- bl sub_801FDA8
- b _08020C24
-_08020C0E:
- movs r0, 0x1E
- bl sub_801FDA8
- b _08020C24
-_08020C16:
- movs r0, 0x12
- bl sub_801FDA8
- b _08020C24
-_08020C1E:
- movs r0, 0x13
- bl sub_801FDA8
-_08020C24:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8020B38
-
- thumb_func_start sub_8020C2C
-sub_8020C2C:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _08020C44
- cmp r0, 0x3
- bhi _08020C44
- bl sub_802453C
- movs r0, 0x10
- bl sub_801FDA8
-_08020C44:
- pop {r0}
- bx r0
- thumb_func_end sub_8020C2C
-
- thumb_func_start sub_8020C48
-sub_8020C48:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _08020C60
- cmp r0, 0x3
- bhi _08020C60
- bl sub_801BF98
- movs r0, 0x10
- bl sub_801FDA8
-_08020C60:
- pop {r0}
- bx r0
- thumb_func_end sub_8020C48
-
- thumb_func_start sub_8020C64
-sub_8020C64:
- push {lr}
- movs r0, 0x1
- bl sub_801F520
- cmp r0, 0x3
- beq _08020C80
- cmp r0, 0x3
- bhi _08020C7A
- cmp r0, 0x2
- beq _08020CB0
- b _08020CBA
-_08020C7A:
- cmp r0, 0x4
- beq _08020C98
- b _08020CBA
-_08020C80:
- bl sub_801F5B4
- ldr r1, _08020C94
- ldr r1, [r1]
- strh r0, [r1, 0x1C]
- strh r0, [r1, 0x1E]
- movs r0, 0x17
- bl sub_801FDA8
- b _08020CBA
- .align 2, 0
-_08020C94: .4byte gUnknown_203B27C
-_08020C98:
- bl sub_801F5B4
- ldr r1, _08020CAC
- ldr r1, [r1]
- strh r0, [r1, 0x1C]
- strh r0, [r1, 0x1E]
- movs r0, 0x18
- bl sub_801FDA8
- b _08020CBA
- .align 2, 0
-_08020CAC: .4byte gUnknown_203B27C
-_08020CB0:
- bl sub_801F63C
- movs r0, 0x10
- bl sub_801FDA8
-_08020CBA:
- pop {r0}
- bx r0
- thumb_func_end sub_8020C64
-
- thumb_func_start sub_8020CC0
-sub_8020CC0:
- push {r4-r6,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801F520
- ldr r4, _08020D00
- ldr r0, [r4]
- adds r0, 0xCC
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08020CF0
- ldr r0, [r4]
- adds r0, 0xCC
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08020CF0
- ldr r0, [r4]
- str r1, [r0, 0x74]
-_08020CF0:
- ldr r0, [sp]
- cmp r0, 0x3
- beq _08020D14
- cmp r0, 0x3
- bgt _08020D04
- cmp r0, 0x1
- beq _08020D0C
- b _08020D6C
- .align 2, 0
-_08020D00: .4byte gUnknown_203B27C
-_08020D04:
- cmp r0, 0xB
- beq _08020D66
- cmp r0, 0x11
- bne _08020D6C
-_08020D0C:
- movs r0, 0x16
- bl sub_801FDA8
- b _08020D6C
-_08020D14:
- bl sub_801F63C
- ldr r4, _08020D30
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_809401C
- movs r5, 0
- adds r6, r4, 0
- movs r4, 0x24
- b _08020D38
- .align 2, 0
-_08020D30: .4byte gUnknown_203B27C
-_08020D34:
- adds r4, 0x8
- adds r5, 0x1
-_08020D38:
- cmp r5, 0x7
- bgt _08020D52
- ldr r3, [r6]
- adds r2, r3, r4
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08020D34
- ldrh r1, [r3, 0x1E]
- adds r0, r2, 0
- bl sub_8092AD4
-_08020D52:
- cmp r5, 0x3
- ble _08020D5E
- movs r0, 0x1D
- bl sub_801FDA8
- b _08020D6C
-_08020D5E:
- movs r0, 0x19
- bl sub_801FDA8
- b _08020D6C
-_08020D66:
- movs r0, 0x18
- bl sub_801FDA8
-_08020D6C:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8020CC0
-
- thumb_func_start sub_8020D74
-sub_8020D74:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _08020D8C
- cmp r0, 0x3
- bhi _08020D8C
- bl sub_801F8D0
- movs r0, 0x16
- bl sub_801FDA8
-_08020D8C:
- pop {r0}
- bx r0
- thumb_func_end sub_8020D74
-
- thumb_func_start sub_8020D90
-sub_8020D90:
- push {lr}
- bl sub_801E8C0
- cmp r0, 0x2
- beq _08020DBC
- cmp r0, 0x2
- bcc _08020DC6
- cmp r0, 0x3
- bne _08020DC6
- bl sub_801E930
- ldr r1, _08020DB8
- ldr r1, [r1]
- strb r0, [r1, 0x14]
- bl sub_801E93C
- movs r0, 0x1A
- bl sub_801FDA8
- b _08020DC6
- .align 2, 0
-_08020DB8: .4byte gUnknown_203B27C
-_08020DBC:
- bl sub_801E93C
- movs r0, 0x10
- bl sub_801FDA8
-_08020DC6:
- pop {r0}
- bx r0
- thumb_func_end sub_8020D90
-
- thumb_func_start sub_8020DCC
-sub_8020DCC:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x4
- bhi _08020EAA
- lsls r0, 2
- ldr r1, _08020DE4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08020DE4: .4byte _08020DE8
- .align 2, 0
-_08020DE8:
- .4byte _08020EAA
- .4byte _08020E98
- .4byte _08020E64
- .4byte _08020DFC
- .4byte _08020E30
-_08020DFC:
- bl sub_801F1A4
- lsls r0, 24
- cmp r0, 0
- beq _08020E0E
- ldr r0, _08020E2C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x15]
-_08020E0E:
- bl sub_801F194
- ldr r1, _08020E2C
- ldr r2, [r1]
- str r0, [r2, 0x18]
- lsls r0, 3
- adds r0, r2, r0
- ldrh r1, [r0, 0x26]
- strh r1, [r2, 0x1C]
- ldrh r0, [r0, 0x26]
- strh r0, [r2, 0x20]
- movs r0, 0x20
- bl sub_801FDA8
- b _08020EAA
- .align 2, 0
-_08020E2C: .4byte gUnknown_203B27C
-_08020E30:
- bl sub_801F1A4
- lsls r0, 24
- cmp r0, 0
- beq _08020E42
- ldr r0, _08020E60
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x15]
-_08020E42:
- bl sub_801F194
- ldr r1, _08020E60
- ldr r2, [r1]
- str r0, [r2, 0x18]
- lsls r0, 3
- adds r0, r2, r0
- ldrh r1, [r0, 0x26]
- strh r1, [r2, 0x1C]
- ldrh r0, [r0, 0x26]
- strh r0, [r2, 0x20]
- movs r0, 0x21
- bl sub_801FDA8
- b _08020EAA
- .align 2, 0
-_08020E60: .4byte gUnknown_203B27C
-_08020E64:
- bl sub_801F1A4
- lsls r0, 24
- cmp r0, 0
- beq _08020E76
- ldr r0, _08020E94
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x15]
-_08020E76:
- bl sub_801F214
- ldr r0, _08020E94
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_8094060
- movs r0, 0x10
- bl sub_801FDA8
- b _08020EAA
- .align 2, 0
-_08020E94: .4byte gUnknown_203B27C
-_08020E98:
- bl sub_801F1A4
- lsls r0, 24
- cmp r0, 0
- beq _08020EAA
- ldr r0, _08020EB0
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x15]
-_08020EAA:
- pop {r0}
- bx r0
- .align 2, 0
-_08020EB0: .4byte gUnknown_203B27C
- thumb_func_end sub_8020DCC
-
- thumb_func_start sub_8020EB4
-sub_8020EB4:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801EF38
- ldr r4, _08020EF8
- ldr r0, [r4]
- adds r0, 0xCC
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08020EE4
- ldr r0, [r4]
- adds r0, 0xCC
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08020EE4
- ldr r0, [r4]
- str r1, [r0, 0x78]
-_08020EE4:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x10
- bls _08020EEE
- b _080210BE
-_08020EEE:
- lsls r0, 2
- ldr r1, _08020EFC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08020EF8: .4byte gUnknown_203B27C
-_08020EFC: .4byte _08020F00
- .align 2, 0
-_08020F00:
- .4byte _08021068
- .4byte _080210BE
- .4byte _080210BE
- .4byte _080210BE
- .4byte _08020F44
- .4byte _08020F70
- .4byte _08020F8C
- .4byte _08020FB8
- .4byte _08021034
- .4byte _08021074
- .4byte _080210B8
- .4byte _080210BE
- .4byte _080210BE
- .4byte _080210BE
- .4byte _080210BE
- .4byte _080210BE
- .4byte _08021068
-_08020F44:
- ldr r0, _08020F60
- ldr r1, [r0]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80934DC
- lsls r0, 24
- cmp r0, 0
- beq _08020F68
- ldr r0, _08020F64
- bl PlaySound
- b _08021068
- .align 2, 0
-_08020F60: .4byte gUnknown_203B27C
-_08020F64: .4byte 0x00000133
-_08020F68:
- movs r0, 0x2
- bl PlayMenuSoundEffect
- b _08021068
-_08020F70:
- ldr r0, _08020F84
- bl PlaySound
- ldr r0, _08020F88
- ldr r1, [r0]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_809352C
- b _08021068
- .align 2, 0
-_08020F84: .4byte 0x00000133
-_08020F88: .4byte gUnknown_203B27C
-_08020F8C:
- ldr r0, _08020FA8
- ldr r1, [r0]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_8093544
- lsls r0, 24
- cmp r0, 0
- beq _08020FB0
- ldr r0, _08020FAC
- bl PlaySound
- b _08021068
- .align 2, 0
-_08020FA8: .4byte gUnknown_203B27C
-_08020FAC: .4byte 0x00000133
-_08020FB0:
- movs r0, 0x2
- bl PlayMenuSoundEffect
- b _08021068
-_08020FB8:
- ldr r0, _08020FD8
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x95
- bgt _08020FDC
- movs r0, 0x2
- bl PlayMenuSoundEffect
- movs r0, 0x3
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08020FD8: .4byte gUnknown_203B460
-_08020FDC:
- ldr r4, _08020FFC
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_8093318
- lsls r0, 24
- cmp r0, 0
- bne _08021000
- movs r0, 0x2
- bl PlayMenuSoundEffect
- movs r0, 0x4
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08020FFC: .4byte gUnknown_203B27C
-_08021000:
- ldr r1, [r4]
- ldrb r0, [r1, 0x15]
- cmp r0, 0
- bne _08021016
- movs r0, 0x1
- strb r0, [r1, 0x15]
- movs r0, 0xA6
- lsls r0, 1
- bl PlaySound
- b _0802101C
-_08021016:
- ldr r0, _0802102C
- bl PlaySound
-_0802101C:
- ldr r0, _08021030
- ldr r1, [r0]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_8093400
- b _08021068
- .align 2, 0
-_0802102C: .4byte 0x00000133
-_08021030: .4byte gUnknown_203B27C
-_08021034:
- ldr r4, _08021054
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_809333C
- lsls r0, 24
- cmp r0, 0
- bne _08021058
- movs r0, 0x2
- bl PlayMenuSoundEffect
- movs r0, 0x5
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08021054: .4byte gUnknown_203B27C
-_08021058:
- ldr r0, _08021070
- bl PlaySound
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_8093468
-_08021068:
- movs r0, 0x1F
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08021070: .4byte 0x00000133
-_08021074:
- ldr r4, _08021094
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80933A0
- lsls r0, 24
- cmp r0, 0
- bne _08021098
- movs r0, 0x2
- bl PlayMenuSoundEffect
- movs r0, 0x6
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08021094: .4byte gUnknown_203B27C
-_08021098:
- ldr r0, _080210B4
- bl PlaySound
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80934B0
- ldr r1, [r4]
- strb r0, [r1, 0x14]
- movs r0, 0x22
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_080210B4: .4byte 0x00000133
-_080210B8:
- movs r0, 0x21
- bl sub_801FDA8
-_080210BE:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8020EB4
-
- thumb_func_start sub_80210C8
-sub_80210C8:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _080210E0
- cmp r0, 0x3
- bhi _080210E0
- bl sub_801F8D0
- movs r0, 0x1F
- bl sub_801FDA8
-_080210E0:
- pop {r0}
- bx r0
- thumb_func_end sub_80210C8
-
- thumb_func_start sub_80210E4
-sub_80210E4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802112A
- ldr r0, [sp]
- cmp r0, 0x10
- beq _08021108
- cmp r0, 0x10
- bgt _08021102
- cmp r0, 0x1
- beq _08021124
- b _0802112A
-_08021102:
- cmp r0, 0x11
- beq _08021124
- b _0802112A
-_08021108:
- ldr r0, _08021120
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x18]
- bl sub_8093CF8
- movs r0, 0x23
- bl sub_801FDA8
- b _0802112A
- .align 2, 0
-_08021120: .4byte gUnknown_203B27C
-_08021124:
- movs r0, 0x1F
- bl sub_801FDA8
-_0802112A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80210E4
-
- thumb_func_start sub_8021130
-sub_8021130:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08021148
- ldr r0, _08021150
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_801FDA8
-_08021148:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08021150: .4byte gUnknown_203B27C
- thumb_func_end sub_8021130
-
- thumb_func_start sub_8021154
-sub_8021154:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0x4
- bne _0802116C
- ldr r0, _08021174
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_801FDA8
-_0802116C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08021174: .4byte gUnknown_203B27C
- thumb_func_end sub_8021154
-
- thumb_func_start sub_8021178
-sub_8021178:
- push {lr}
- mov r12, r4
- ldr r4, _08021198
- add sp, r4
- mov r4, r12
- ldr r0, _0802119C
- ldr r0, [r0]
- ldr r1, [r0, 0x10]
- mov r0, sp
- bl sub_808E218
- cmp r0, 0
- beq _080211A0
- movs r0, 0
- b _080211A2
- .align 2, 0
-_08021198: .4byte 0xfffffcc0
-_0802119C: .4byte gUnknown_203B27C
-_080211A0:
- movs r0, 0x1
-_080211A2:
- movs r3, 0xD0
- lsls r3, 2
- add sp, r3
- pop {r1}
- bx r1
- thumb_func_end sub_8021178
-
- thumb_func_start sub_80211AC
-sub_80211AC:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- bl sub_8021700
- lsls r0, 24
- cmp r0, 0
- beq _080211C0
- movs r0, 0
- b _08021258
-_080211C0:
- ldr r5, _08021260
- movs r0, 0xE0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- str r4, [r0, 0x3C]
- str r6, [r0, 0x74]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x7C
- adds r1, r0, r1
- str r1, [r0, 0x78]
- adds r0, 0x7C
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x74]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x7C
- ldr r0, _08021264
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r5]
- ldr r1, [r0, 0x78]
- adds r0, 0xDC
- str r0, [r1, 0x14]
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- adds r4, 0x40
- bl sub_8021664
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_8013818
- ldr r0, _08021268
- ldr r2, [r5]
- ldr r1, [r0]
- ldr r0, [r2, 0x3C]
- cmp r1, r0
- bne _0802124E
- ldr r0, _0802126C
- ldrh r1, [r0]
- adds r0, r2, 0
- adds r0, 0x58
- strh r1, [r0]
- ldr r0, _08021270
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x5E
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x40
- bl sub_8013984
-_0802124E:
- bl sub_8021410
- bl sub_8021494
- movs r0, 0x1
-_08021258:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08021260: .4byte gUnknown_203B280
-_08021264: .4byte gUnknown_80DC47C
-_08021268: .4byte gUnknown_203B284
-_0802126C: .4byte gUnknown_203B288
-_08021270: .4byte gUnknown_203B28A
- thumb_func_end sub_80211AC
-
- thumb_func_start sub_8021274
-sub_8021274:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _08021290
- ldr r0, _0802128C
- ldr r0, [r0]
- adds r0, 0x40
- bl sub_8013660
- movs r0, 0
- b _08021326
- .align 2, 0
-_0802128C: .4byte gUnknown_203B280
-_08021290:
- ldr r4, _080212A8
- ldr r0, [r4]
- adds r0, 0x40
- bl GetKeyPress
- cmp r0, 0x2
- beq _080212B2
- cmp r0, 0x2
- bgt _080212AC
- cmp r0, 0x1
- beq _080212BC
- b _08021300
- .align 2, 0
-_080212A8: .4byte gUnknown_203B280
-_080212AC:
- cmp r0, 0x4
- beq _080212F6
- b _08021300
-_080212B2:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _08021326
-_080212BC:
- ldr r0, [r4]
- ldr r0, [r0, 0x3C]
- cmp r0, 0x2
- bne _080212EC
- bl sub_802132C
- lsls r0, 24
- lsrs r0, 24
- bl GetFriendAreaPrice
- ldr r1, _080212E8
- ldr r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- cmp r0, r1
- ble _080212EC
- movs r0, 0x2
- bl PlayMenuSoundEffect
- b _080212F2
- .align 2, 0
-_080212E8: .4byte gUnknown_203B460
-_080212EC:
- movs r0, 0
- bl PlayMenuSoundEffect
-_080212F2:
- movs r0, 0x3
- b _08021326
-_080212F6:
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _08021326
-_08021300:
- ldr r0, _08021318
- ldr r0, [r0]
- adds r0, 0x40
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0802131C
- movs r0, 0
- b _08021326
- .align 2, 0
-_08021318: .4byte gUnknown_203B280
-_0802131C:
- bl sub_8021410
- bl sub_8021494
- movs r0, 0x1
-_08021326:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8021274
-
- thumb_func_start sub_802132C
-sub_802132C:
- ldr r0, _08021350
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x5E
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- adds r1, r2, 0
- adds r1, 0x58
- movs r3, 0
- ldrsh r1, [r1, r3]
- adds r0, r1
- adds r0, r2, r0
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08021350: .4byte gUnknown_203B280
- thumb_func_end sub_802132C
-
- thumb_func_start sub_8021354
-sub_8021354:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetUnusedInputStruct
- ldr r5, _0802139C
- ldr r0, [r5]
- adds r0, 0x7C
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_8021664
- adds r1, r0, 0
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x62
- strh r1, [r2]
- adds r0, 0x40
- bl sub_8013984
- bl sub_8021410
- bl sub_8021494
- cmp r4, 0
- beq _08021396
- ldr r0, [r5]
- adds r0, 0x40
- bl AddMenuCursorSprite
-_08021396:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802139C: .4byte gUnknown_203B280
- thumb_func_end sub_8021354
-
- thumb_func_start sub_80213A0
-sub_80213A0:
- push {r4,r5,lr}
- ldr r4, _080213FC
- ldr r2, [r4]
- cmp r2, 0
- beq _080213F4
- ldr r1, _08021400
- ldr r0, [r2, 0x3C]
- str r0, [r1]
- ldr r1, _08021404
- adds r0, r2, 0
- adds r0, 0x58
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _08021408
- adds r0, r2, 0
- adds r0, 0x5E
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r0, [r2, 0x74]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x7C
- ldr r0, _0802140C
- 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, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080213F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080213FC: .4byte gUnknown_203B280
-_08021400: .4byte gUnknown_203B284
-_08021404: .4byte gUnknown_203B288
-_08021408: .4byte gUnknown_203B28A
-_0802140C: .4byte gUnknown_80DC464
- thumb_func_end sub_80213A0
-
- thumb_func_start sub_8021410
-sub_8021410:
- push {r4,lr}
- ldr r4, _08021490
- ldr r0, [r4]
- adds r0, 0xDC
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xDD
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0xDE
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xDF
- strb r2, [r0]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, 0x5A
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x74]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x8A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x74]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x8C
- strh r3, [r2]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08021490: .4byte gUnknown_203B280
- thumb_func_end sub_8021410
-
- thumb_func_start sub_8021494
-sub_8021494:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xA8
- ldr r4, _08021568
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_80073B8
- ldr r2, _0802156C
- ldr r0, [r4]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0xDE
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- adds r1, r3, 0
- adds r1, 0x5E
- movs r5, 0
- ldrsh r2, [r1, r5]
- adds r2, 0x1
- movs r1, 0x7
- str r1, [sp]
- ldr r1, [r3, 0x74]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x1
- bl sub_8012BC4
- movs r0, 0
- mov r9, r0
- ldr r0, [r4]
- adds r0, 0x5A
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r9, r0
- blt _080214FC
- b _08021646
-_080214FC:
- mov r8, r4
- add r2, sp, 0x58
- mov r10, r2
-_08021502:
- mov r3, r8
- ldr r2, [r3]
- adds r0, r2, 0
- adds r0, 0x5E
- movs r5, 0
- ldrsh r1, [r0, r5]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- add r0, r9
- adds r0, r2, r0
- ldrb r5, [r0]
- adds r7, r5, 0
- ldr r6, [r2, 0x3C]
- cmp r6, 0x2
- bne _0802159C
- add r0, sp, 0x8
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8092578
- adds r0, r5, 0
- bl GetFriendAreaPrice
- ldr r1, _08021570
- ldr r1, [r1]
- movs r5, 0x98
- lsls r5, 2
- adds r1, r5
- ldr r1, [r1]
- cmp r0, r1
- bgt _08021574
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r1, r0, 0
- mov r2, r8
- ldr r0, [r2]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x8
- bl xxx_call_draw_string
- b _08021632
- .align 2, 0
-_08021568: .4byte gUnknown_203B280
-_0802156C: .4byte gUnknown_80DC494
-_08021570: .4byte gUnknown_203B460
-_08021574:
- mov r0, r10
- ldr r1, _08021598
- add r2, sp, 0x8
- bl sub_800D158
- mov r3, r8
- ldr r0, [r3]
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r1, r0, 0
- mov r5, r8
- ldr r0, [r5]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- b _080215FE
- .align 2, 0
-_08021598: .4byte gUnknown_80DC4A4
-_0802159C:
- cmp r6, 0
- bne _0802160C
- ldr r0, _080215D4
- ldr r0, [r0]
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080215D8
- adds r0, r2, 0
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r4, r0, 0
- adds r0, r5, 0
- bl GetFriendAreaName
- adds r2, r0, 0
- mov r1, r8
- ldr r0, [r1]
- ldr r3, [r0, 0x74]
- str r6, [sp]
- movs r0, 0x8
- adds r1, r4, 0
- bl xxx_call_draw_string
- b _08021632
- .align 2, 0
-_080215D4: .4byte gFriendAreas
-_080215D8:
- adds r0, r5, 0
- bl GetFriendAreaName
- adds r2, r0, 0
- mov r0, r10
- ldr r1, _08021608
- bl sub_800D158
- mov r2, r8
- ldr r0, [r2]
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r1, r0, 0
- mov r3, r8
- ldr r0, [r3]
- ldr r3, [r0, 0x74]
- str r6, [sp]
-_080215FE:
- movs r0, 0x8
- mov r2, r10
- bl xxx_call_draw_string
- b _08021632
- .align 2, 0
-_08021608: .4byte gUnknown_80DC4AC
-_0802160C:
- adds r0, r2, 0
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r4, r0, 0
- adds r0, r7, 0
- bl GetFriendAreaName
- adds r2, r0, 0
- mov r5, r8
- ldr r0, [r5]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- adds r1, r4, 0
- bl xxx_call_draw_string
-_08021632:
- movs r0, 0x1
- add r9, r0
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x5A
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r9, r0
- bge _08021646
- b _08021502
-_08021646:
- ldr r0, _08021660
- ldr r0, [r0]
- ldr r0, [r0, 0x74]
- bl sub_80073E0
- add sp, 0xA8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08021660: .4byte gUnknown_203B280
- thumb_func_end sub_8021494
-
- thumb_func_start sub_8021664
-sub_8021664:
- push {r4-r6,lr}
- movs r5, 0
- ldr r1, _0802167C
- ldr r0, [r1]
- ldr r0, [r0, 0x3C]
- cmp r0, 0x1
- beq _08021692
- cmp r0, 0x1
- bcc _08021680
- cmp r0, 0x2
- beq _080216B4
- b _080216F2
- .align 2, 0
-_0802167C: .4byte gUnknown_203B280
-_08021680:
- movs r4, 0x1
-_08021682:
- ldr r0, [r1]
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
- adds r4, 0x1
- cmp r4, 0x39
- ble _08021682
- b _080216F2
-_08021692:
- movs r4, 0x1
- ldr r2, _080216B0
-_08021696:
- ldr r0, [r2]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080216A8
- ldr r0, [r1]
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
-_080216A8:
- adds r4, 0x1
- cmp r4, 0x39
- ble _08021696
- b _080216F2
- .align 2, 0
-_080216B0: .4byte gFriendAreas
-_080216B4:
- movs r4, 0x1
- adds r6, r1, 0
-_080216B8:
- ldr r0, _080216FC
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080216EC
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetFriendAreaUnlockCondition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080216E4
- cmp r0, 0x1
- bne _080216EC
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080216EC
-_080216E4:
- ldr r0, [r6]
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
-_080216EC:
- adds r4, 0x1
- cmp r4, 0x39
- ble _080216B8
-_080216F2:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080216FC: .4byte gFriendAreas
- thumb_func_end sub_8021664
-
- thumb_func_start sub_8021700
-sub_8021700:
- push {r4,lr}
- cmp r0, 0x1
- beq _08021710
- cmp r0, 0x1
- bcc _08021754
- cmp r0, 0x2
- beq _0802172C
- b _0802176A
-_08021710:
- movs r4, 0x1
- ldr r0, _08021728
- ldr r1, [r0]
-_08021716:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08021754
- adds r4, 0x1
- cmp r4, 0x39
- ble _08021716
- b _0802176A
- .align 2, 0
-_08021728: .4byte gFriendAreas
-_0802172C:
- movs r4, 0x1
-_0802172E:
- ldr r0, _08021750
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08021764
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetFriendAreaUnlockCondition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08021754
- cmp r0, 0x1
- beq _08021758
- b _08021764
- .align 2, 0
-_08021750: .4byte gFriendAreas
-_08021754:
- movs r0, 0
- b _0802176C
-_08021758:
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08021754
-_08021764:
- adds r4, 0x1
- cmp r4, 0x39
- ble _0802172E
-_0802176A:
- movs r0, 0x1
-_0802176C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8021700
-
- thumb_func_start sub_8021774
-sub_8021774:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- mov r8, r2
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _080217E4
- movs r0, 0xE0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- strb r4, [r0, 0xC]
- ldr r0, [r6]
- strb r5, [r0, 0xD]
- ldr r0, [r6]
- bl sub_801317C
- bl sub_8021A60
- ldr r0, [r6]
- mov r1, r8
- str r1, [r0, 0x74]
- lsls r1, 1
- add r1, r8
- lsls r1, 3
- adds r1, 0x7C
- adds r1, r0, r1
- str r1, [r0, 0x78]
- adds r0, 0x7C
- bl sub_8006518
- ldr r1, [r6]
- ldr r2, [r1, 0x74]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x7C
- ldr r0, _080217E8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- bl sub_8021820
- movs r0, 0x1
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080217E4: .4byte gUnknown_203B28C
-_080217E8: .4byte gUnknown_80DC4D8
- thumb_func_end sub_8021774
-
- thumb_func_start sub_80217EC
-sub_80217EC:
- push {lr}
- ldr r0, _0802180C
- ldr r0, [r0]
- ldr r1, [r0, 0x74]
- bl sub_8012A64
- cmp r0, 0x1
- beq _08021810
- cmp r0, 0x2
- bne _0802181A
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0802181C
- .align 2, 0
-_0802180C: .4byte gUnknown_203B28C
-_08021810:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _0802181C
-_0802181A:
- movs r0, 0
-_0802181C:
- pop {r1}
- bx r1
- thumb_func_end sub_80217EC
-
- thumb_func_start sub_8021820
-sub_8021820:
- push {lr}
- bl sub_8021878
- bl sub_8021894
- pop {r0}
- bx r0
- thumb_func_end sub_8021820
-
- thumb_func_start sub_8021830
-sub_8021830:
- push {r4,r5,lr}
- ldr r4, _08021870
- ldr r2, [r4]
- cmp r2, 0
- beq _0802186A
- ldr r0, [r2, 0x74]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x7C
- ldr r0, _08021874
- 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, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802186A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08021870: .4byte gUnknown_203B28C
-_08021874: .4byte gUnknown_80DC4BC
- thumb_func_end sub_8021830
-
- thumb_func_start sub_8021878
-sub_8021878:
- push {lr}
- bl ResetUnusedInputStruct
- ldr r0, _08021890
- ldr r0, [r0]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r0}
- bx r0
- .align 2, 0
-_08021890: .4byte gUnknown_203B28C
- thumb_func_end sub_8021878
-
- thumb_func_start sub_8021894
-sub_8021894:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x168
- ldr r4, _080218F8
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_80073B8
- ldr r0, [r4]
- ldrb r1, [r0, 0xC]
- add r0, sp, 0x4
- movs r2, 0
- bl sub_8092578
- ldr r0, [r4]
- ldr r3, [r0, 0x74]
- movs r5, 0
- str r5, [sp]
- movs r0, 0x14
- movs r1, 0
- add r2, sp, 0x4
- bl xxx_call_draw_string
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- bl GetFriendAreaDescription
- adds r2, r0, 0
- ldr r0, [r4]
- ldr r3, [r0, 0x74]
- str r5, [sp]
- movs r0, 0xA
- movs r1, 0x14
- bl xxx_call_draw_string
- ldr r4, [r4]
- ldrb r0, [r4, 0xD]
- cmp r0, 0
- beq _08021900
- ldr r2, _080218FC
- ldr r3, [r4, 0x74]
- str r5, [sp]
- movs r0, 0x20
- movs r1, 0x3C
- bl xxx_call_draw_string
- b _0802190E
- .align 2, 0
-_080218F8: .4byte gUnknown_203B28C
-_080218FC: .4byte gUnknown_80DC4F0
-_08021900:
- ldr r2, _0802193C
- ldr r3, [r4, 0x74]
- str r0, [sp]
- movs r0, 0x20
- movs r1, 0x3C
- bl xxx_call_draw_string
-_0802190E:
- ldr r4, _08021940
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- movs r5, 0x4
- str r5, [sp]
- movs r1, 0x4
- movs r2, 0x40
- movs r3, 0x14
- bl sub_800792C
- ldr r4, [r4]
- ldrb r0, [r4, 0xD]
- cmp r0, 0
- beq _08021944
- ldr r0, [r4, 0x74]
- str r5, [sp]
- movs r1, 0xB8
- movs r2, 0x40
- movs r3, 0x14
- bl sub_800792C
- b _08021952
- .align 2, 0
-_0802193C: .4byte gUnknown_80DC518
-_08021940: .4byte gUnknown_203B28C
-_08021944:
- ldr r0, [r4, 0x74]
- str r5, [sp]
- movs r1, 0x5E
- movs r2, 0x40
- movs r3, 0x6E
- bl sub_800792C
-_08021952:
- ldr r5, _080219E8
- ldr r0, [r5]
- ldr r0, [r0, 0x74]
- movs r4, 0x4
- str r4, [sp]
- movs r1, 0x4
- movs r2, 0x82
- movs r3, 0xC8
- bl sub_800792C
- ldr r0, [r5]
- ldr r0, [r0, 0x74]
- str r4, [sp]
- movs r1, 0x3
- movs r2, 0x40
- movs r3, 0x43
- bl sub_8007A78
- ldr r0, [r5]
- ldr r0, [r0, 0x74]
- str r4, [sp]
- movs r1, 0xCC
- movs r2, 0x40
- movs r3, 0x43
- bl sub_8007A78
- movs r6, 0
- ldr r0, [r5]
- ldr r0, [r0, 0x70]
- cmp r6, r0
- bge _08021A40
- add r7, sp, 0x104
- mov r8, r5
- mov r9, r6
-_08021996:
- adds r0, r6, 0
- movs r1, 0x3
- bl __modsi3
- lsls r1, r0, 6
- subs r1, r0
- adds r5, r1, 0x7
- adds r0, r6, 0
- movs r1, 0x3
- bl __divsi3
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r4, r1, 0
- adds r4, 0x47
- mov r1, r8
- ldr r0, [r1]
- lsls r1, r6, 1
- adds r0, 0xE
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r7, 0
- bl sub_808D930
- mov r0, r8
- ldr r3, [r0]
- lsls r1, r6, 2
- adds r0, r3, 0
- adds r0, 0x30
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- beq _08021A04
- cmp r0, 0x1
- bcc _080219EC
- cmp r0, 0x2
- beq _08021A16
- b _08021A34
- .align 2, 0
-_080219E8: .4byte gUnknown_203B28C
-_080219EC:
- ldr r0, _08021A00
- ldr r2, [r0]
- ldr r3, [r3, 0x74]
- mov r1, r9
- str r1, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- bl xxx_call_draw_string
- b _08021A34
- .align 2, 0
-_08021A00: .4byte gUnknown_80D49BC
-_08021A04:
- ldr r3, [r3, 0x74]
- mov r2, r9
- str r2, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- bl xxx_call_draw_string
- b _08021A34
-_08021A16:
- add r0, sp, 0x4
- ldr r1, _08021A58
- adds r2, r7, 0
- bl sub_800D158
- mov r1, r8
- ldr r0, [r1]
- ldr r3, [r0, 0x74]
- mov r2, r9
- str r2, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- add r2, sp, 0x4
- bl xxx_call_draw_string
-_08021A34:
- adds r6, 0x1
- mov r1, r8
- ldr r0, [r1]
- ldr r0, [r0, 0x70]
- cmp r6, r0
- blt _08021996
-_08021A40:
- ldr r0, _08021A5C
- ldr r0, [r0]
- ldr r0, [r0, 0x74]
- bl sub_80073E0
- add sp, 0x168
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08021A58: .4byte gUnknown_80DC524
-_08021A5C: .4byte gUnknown_203B28C
- thumb_func_end sub_8021894
-
- thumb_func_start sub_8021A60
-sub_8021A60:
- push {r4-r7,lr}
- ldr r2, _08021B4C
- ldr r1, [r2]
- movs r0, 0
- str r0, [r1, 0x70]
- movs r6, 0
- adds r4, r2, 0
- movs r3, 0
-_08021A70:
- ldr r1, [r4]
- lsls r2, r6, 1
- adds r0, r1, 0
- adds r0, 0xE
- adds r0, r2
- strh r3, [r0]
- lsls r0, r6, 2
- adds r1, 0x30
- adds r1, r0
- str r3, [r1]
- adds r6, 0x1
- cmp r6, 0xF
- ble _08021A70
- movs r6, 0
- ldr r7, _08021B4C
-_08021A8E:
- lsls r0, r6, 16
- asrs r5, r0, 16
- ldr r4, [r7]
- adds r0, r5, 0
- bl GetFriendArea
- ldrb r1, [r4, 0xC]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _08021AC4
- adds r0, r5, 0
- bl sub_808E858
- lsls r0, 16
- asrs r0, 16
- cmp r5, r0
- bne _08021AC4
- ldr r3, [r7]
- ldr r1, [r3, 0x70]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0xE
- adds r0, r2
- strh r5, [r0]
- adds r1, 0x1
- str r1, [r3, 0x70]
-_08021AC4:
- adds r6, 0x1
- ldr r0, _08021B50
- cmp r6, r0
- ble _08021A8E
- movs r6, 0
-_08021ACE:
- lsls r0, r6, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_8098134
- lsls r0, 24
- cmp r0, 0
- beq _08021AFC
- adds r0, r4, 0
- bl sub_8021B58
- adds r2, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _08021AFC
- ldr r0, _08021B4C
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, 0x30
- adds r1, r0
- movs r0, 0x1
- str r0, [r1]
-_08021AFC:
- adds r6, 0x1
- ldr r0, _08021B50
- cmp r6, r0
- ble _08021ACE
- movs r6, 0
- ldr r4, _08021B54
-_08021B08:
- movs r0, 0x58
- adds r1, r6, 0
- muls r1, r0
- ldr r0, [r4]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08021B3C
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- bl sub_8021B58
- adds r2, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _08021B3C
- ldr r0, _08021B4C
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, 0x30
- adds r1, r0
- movs r0, 0x2
- str r0, [r1]
-_08021B3C:
- adds r6, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r6, r0
- ble _08021B08
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08021B4C: .4byte gUnknown_203B28C
-_08021B50: .4byte 0x000001a7
-_08021B54: .4byte gRecruitedPokemonRef
- thumb_func_end sub_8021A60
-
- thumb_func_start sub_8021B58
-sub_8021B58:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_808E858
- lsls r0, 16
- asrs r4, r0, 16
- movs r2, 0
- ldr r0, _08021B84
- ldr r0, [r0]
- ldr r1, [r0, 0x70]
- cmp r2, r1
- bge _08021B90
- adds r3, r1, 0
- adds r1, r0, 0
- adds r1, 0xE
-_08021B78:
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r4, r0
- bne _08021B88
- adds r0, r2, 0
- b _08021B94
- .align 2, 0
-_08021B84: .4byte gUnknown_203B28C
-_08021B88:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r3
- blt _08021B78
-_08021B90:
- movs r0, 0x1
- negs r0, r0
-_08021B94:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8021B58
-
- thumb_func_start CreateWigglytuffShop
-CreateWigglytuffShop:
- push {r4-r6,lr}
- adds r4, r0, 0
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _08021BF8
- movs r0, 0x9C
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r6, 0
- str r6, [r0, 0x14]
- str r6, [r0, 0x18]
- str r4, [r0]
- ldr r0, _08021BFC
- movs r1, 0x28
- bl CopyYellowSpeciesNametoBuffer
- ldr r4, _08021C00
- adds r0, r4, 0
- movs r1, 0x28
- bl CopyYellowSpeciesNametoBuffer
- movs r0, 0x28
- bl GetMonSpecies
- adds r1, r0, 0
- subs r4, 0x50
- adds r0, r4, 0
- bl strcpy
- ldr r5, [r5]
- ldr r0, [r5]
- cmp r0, 0x1
- bne _08021C04
- adds r0, r5, 0
- adds r0, 0xCC
- str r6, [r0]
- b _08021C0E
- .align 2, 0
-_08021BF8: .4byte gUnknown_203B290
-_08021BFC: .4byte gUnknown_202E5D8
-_08021C00: .4byte gUnknown_202E1C8
-_08021C04:
- adds r1, r5, 0
- adds r1, 0xCC
- adds r0, r5, 0
- adds r0, 0xBC
- str r0, [r1]
-_08021C0E:
- movs r0, 0x28
- bl GetDialogueSpriteDataPtr
- ldr r2, _08021C58
- ldr r3, [r2]
- adds r1, r3, 0
- adds r1, 0xBC
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0xC8
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xC9
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xCA
- strb r1, [r0]
- ldr r1, [r2]
- adds r2, r1, 0
- adds r2, 0xC4
- movs r0, 0x2
- strh r0, [r2]
- adds r1, 0xC6
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_8021D44
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08021C58: .4byte gUnknown_203B290
- thumb_func_end CreateWigglytuffShop
-
- thumb_func_start sub_8021C5C
-sub_8021C5C:
- push {lr}
- ldr r0, _08021C74
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x17
- bhi _08021D10
- lsls r0, 2
- ldr r1, _08021C78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08021C74: .4byte gUnknown_203B290
-_08021C78: .4byte _08021C7C
- .align 2, 0
-_08021C7C:
- .4byte _08021CDC
- .4byte _08021CDC
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D0C
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021CE2
- .4byte _08021CE2
- .4byte _08021CE8
- .4byte _08021D10
- .4byte _08021CF4
- .4byte _08021CFA
- .4byte _08021D10
- .4byte _08021D00
- .4byte _08021CEE
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D06
- .4byte _08021D06
-_08021CDC:
- bl sub_8022460
- b _08021D14
-_08021CE2:
- bl sub_8022538
- b _08021D14
-_08021CE8:
- bl sub_80225C8
- b _08021D14
-_08021CEE:
- bl sub_80224D4
- b _08021D14
-_08021CF4:
- bl sub_80226F0
- b _08021D14
-_08021CFA:
- bl sub_8022790
- b _08021D14
-_08021D00:
- bl sub_8022668
- b _08021D14
-_08021D06:
- bl sub_8022684
- b _08021D14
-_08021D0C:
- movs r0, 0x3
- b _08021D16
-_08021D10:
- bl sub_80226CC
-_08021D14:
- movs r0, 0
-_08021D16:
- pop {r1}
- bx r1
- thumb_func_end sub_8021C5C
-
- thumb_func_start sub_8021D1C
-sub_8021D1C:
- push {r4,lr}
- ldr r4, _08021D40
- ldr r0, [r4]
- cmp r0, 0
- beq _08021D38
- adds r0, 0xBC
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08021D38:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08021D40: .4byte gUnknown_203B290
- thumb_func_end sub_8021D1C
-
- thumb_func_start sub_8021D44
-sub_8021D44:
- push {lr}
- ldr r1, _08021D58
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_8021D5C
- bl UpdateWigglytuffDialogue
- pop {r0}
- bx r0
- .align 2, 0
-_08021D58: .4byte gUnknown_203B290
- thumb_func_end sub_8021D44
-
- thumb_func_start sub_8021D5C
-sub_8021D5C:
- push {r4-r7,lr}
- ldr r4, _08021D7C
- ldr r0, [r4]
- adds r0, 0xD0
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- cmp r0, 0x9
- blt _08021DC8
- cmp r0, 0xA
- ble _08021D80
- cmp r0, 0xB
- beq _08021DB0
- b _08021DC8
- .align 2, 0
-_08021D7C: .4byte gUnknown_203B290
-_08021D80:
- ldr r2, _08021DA8
- adds r1, 0xD0
- adds r0, r2, 0
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- ldr r0, [r4]
- movs r6, 0x80
- lsls r6, 1
- adds r0, r6
- ldm r2!, {r1,r3,r7}
- stm r0!, {r1,r3,r7}
- ldm r2!, {r5-r7}
- stm r0!, {r5-r7}
- ldr r1, [r4]
- adds r1, 0xE8
- ldr r0, _08021DAC
- b _08021DB8
- .align 2, 0
-_08021DA8: .4byte gUnknown_80DC534
-_08021DAC: .4byte gUnknown_80DC564
-_08021DB0:
- movs r0, 0x80
- lsls r0, 1
- adds r1, r0
- ldr r0, _08021DC4
-_08021DB8:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _08021DEC
- .align 2, 0
-_08021DC4: .4byte gUnknown_80DC54C
-_08021DC8:
- ldr r0, _08021E04
- mov r12, r0
- ldr r4, _08021E08
- movs r3, 0
- movs r2, 0x3
-_08021DD2:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0xD0
- 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 _08021DD2
-_08021DEC:
- bl ResetUnusedInputStruct
- ldr r0, _08021E04
- ldr r0, [r0]
- adds r0, 0xD0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08021E04: .4byte gUnknown_203B290
-_08021E08: .4byte gUnknown_80DC534
- thumb_func_end sub_8021D5C
-
- thumb_func_start UpdateWigglytuffDialogue
-UpdateWigglytuffDialogue:
- push {r4,lr}
- sub sp, 0x20
- ldr r1, _08021E28
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r4, r1, 0
- cmp r0, 0x1C
- bls _08021E1E
- b _080222B6
-_08021E1E:
- lsls r0, 2
- ldr r1, _08021E2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08021E28: .4byte gUnknown_203B290
-_08021E2C: .4byte _08021E30
- .align 2, 0
-_08021E30:
- .4byte _08021EA4
- .4byte _08021EC0
- .4byte _08021F38
- .4byte _08021F50
- .4byte _080222B6
- .4byte _08021F78
- .4byte _08021F90
- .4byte _08021F08
- .4byte _08021F20
- .4byte _08021FD8
- .4byte _08021FE2
- .4byte _08021FF0
- .4byte _0802208E
- .4byte _080220B8
- .4byte _080220D8
- .4byte _080220EA
- .4byte _08022080
- .4byte _08022024
- .4byte _08021FA8
- .4byte _08021FC0
- .4byte _08022138
- .4byte _08022150
- .4byte _08022168
- .4byte _08022176
- .4byte _0802217E
- .4byte _08022238
- .4byte _08022250
- .4byte _08022268
- .4byte _08022294
-_08021EA4:
- bl sub_80222C8
- ldr r2, _08021EB8
- ldr r0, _08021EBC
- ldr r4, [r0]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- b _08021ED4
- .align 2, 0
-_08021EB8: .4byte gWigglytuffDialogue
-_08021EBC: .4byte gUnknown_203B290
-_08021EC0:
- bl sub_80222C8
- ldr r2, _08021F00
- ldr r0, _08021F04
- ldr r4, [r0]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x4
-_08021ED4:
- adds r0, r2
- ldr r0, [r0]
- ldr r2, [r4, 0x14]
- adds r3, r4, 0
- adds r3, 0x1C
- adds r1, r4, 0
- adds r1, 0x5C
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- adds r1, r4, 0
- adds r1, 0xCC
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _080222B6
- .align 2, 0
-_08021F00: .4byte gWigglytuffDialogue
-_08021F04: .4byte gUnknown_203B290
-_08021F08:
- ldr r3, [r4]
- movs r0, 0x9
- str r0, [r3, 0x8]
- ldr r2, _08021F1C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0xC
- b _0802227A
- .align 2, 0
-_08021F1C: .4byte gWigglytuffDialogue
-_08021F20:
- ldr r3, [r4]
- movs r0, 0xA
- str r0, [r3, 0x8]
- ldr r2, _08021F34
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x10
- b _0802227A
- .align 2, 0
-_08021F34: .4byte gWigglytuffDialogue
-_08021F38:
- ldr r3, [r4]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _08021F4C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x4C
- b _0802227A
- .align 2, 0
-_08021F4C: .4byte gWigglytuffDialogue
-_08021F50:
- ldr r3, [r4]
- movs r0, 0x4
- str r0, [r3, 0x8]
- ldr r2, _08021F70
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xCC
- ldr r2, [r3]
- ldr r3, _08021F74
- b _08022284
- .align 2, 0
-_08021F70: .4byte gWigglytuffDialogue
-_08021F74: .4byte 0x0000030d
-_08021F78:
- ldr r3, [r4]
- movs r0, 0x3
- str r0, [r3, 0x8]
- ldr r2, _08021F8C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x20
- b _0802227A
- .align 2, 0
-_08021F8C: .4byte gWigglytuffDialogue
-_08021F90:
- ldr r3, [r4]
- movs r0, 0xA
- str r0, [r3, 0x8]
- ldr r2, _08021FA4
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x24
- b _0802227A
- .align 2, 0
-_08021FA4: .4byte gWigglytuffDialogue
-_08021FA8:
- ldr r3, [r4]
- movs r0, 0x3
- str r0, [r3, 0x8]
- ldr r2, _08021FBC
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x28
- b _0802227A
- .align 2, 0
-_08021FBC: .4byte gWigglytuffDialogue
-_08021FC0:
- ldr r3, [r4]
- movs r0, 0xA
- str r0, [r3, 0x8]
- ldr r2, _08021FD4
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x2C
- b _0802227A
- .align 2, 0
-_08021FD4: .4byte gWigglytuffDialogue
-_08021FD8:
- movs r0, 0x2
- movs r1, 0x3
- bl sub_80211AC
- b _08021FE8
-_08021FE2:
- movs r0, 0x1
- bl sub_8021354
-_08021FE8:
- movs r0, 0x1
- bl sub_8016C40
- b _080222B6
-_08021FF0:
- bl sub_8021494
- movs r0, 0x1
- bl sub_8016C40
- bl sub_8022380
- ldr r0, _08022020
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x6C
- adds r1, r2, 0
- adds r1, 0x1C
- adds r3, r2, 0
- adds r3, 0x5C
- ldr r2, [r2, 0x18]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _080222B6
- .align 2, 0
-_08022020: .4byte gUnknown_203B290
-_08022024:
- bl sub_8022420
- ldr r0, _08022070
- ldr r4, _08022074
- ldr r1, [r4]
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8092578
- ldr r1, _08022078
- ldr r4, [r4]
- ldr r0, [r4, 0xC]
- str r0, [r1]
- ldr r2, _0802207C
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x14
- adds r0, r2
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x1C
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- adds r4, 0xCC
- ldr r1, [r4]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
- b _080222B6
- .align 2, 0
-_08022070: .4byte gUnknown_202E628
-_08022074: .4byte gUnknown_203B290
-_08022078: .4byte gUnknown_202DE30
-_0802207C: .4byte gWigglytuffDialogue
-_08022080:
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- movs r1, 0
- movs r2, 0x2
- bl sub_8021774
- b _080222B6
-_0802208E:
- ldr r1, [r4]
- movs r0, 0xD
- str r0, [r1, 0x8]
- ldr r0, _080220B0
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8092578
- ldr r2, _080220B4
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x18
- b _0802227A
- .align 2, 0
-_080220B0: .4byte gUnknown_202E628
-_080220B4: .4byte gWigglytuffDialogue
-_080220B8:
- ldr r1, [r4]
- movs r0, 0xE
- str r0, [r1, 0x8]
- ldr r0, _080220D4
- bl PlaySound
- ldr r0, [r4]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- b _080222B6
- .align 2, 0
-_080220D4: .4byte 0x0000025b
-_080220D8:
- ldr r0, [r4]
- movs r1, 0xF
- str r1, [r0, 0x8]
- movs r1, 0x9A
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1E
- str r1, [r0]
- b _080222B6
-_080220EA:
- movs r0, 0x2
- bl sub_8021700
- lsls r0, 24
- cmp r0, 0
- beq _08022108
- bl sub_80213A0
- ldr r0, _08022104
- ldr r1, [r0]
- movs r0, 0x12
- b _0802210E
- .align 2, 0
-_08022104: .4byte gUnknown_203B290
-_08022108:
- ldr r0, _08022130
- ldr r1, [r0]
- movs r0, 0x8
-_0802210E:
- str r0, [r1, 0x8]
- movs r0, 0xCE
- bl PlaySound
- ldr r3, _08022134
- ldr r0, _08022130
- ldr r2, [r0]
- ldr r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r3, 0x1C
- adds r0, r3
- ldr r0, [r0]
- adds r2, 0xCC
- ldr r2, [r2]
- b _08022282
- .align 2, 0
-_08022130: .4byte gUnknown_203B290
-_08022134: .4byte gWigglytuffDialogue
-_08022138:
- ldr r3, [r4]
- movs r0, 0x16
- str r0, [r3, 0x8]
- ldr r2, _0802214C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x30
- b _0802227A
- .align 2, 0
-_0802214C: .4byte gWigglytuffDialogue
-_08022150:
- ldr r3, [r4]
- movs r0, 0x17
- str r0, [r3, 0x8]
- ldr r2, _08022164
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x34
- b _0802227A
- .align 2, 0
-_08022164: .4byte gWigglytuffDialogue
-_08022168:
- movs r0, 0
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_8023144
- b _080222B6
-_08022176:
- movs r0, 0x1
- bl sub_8023354
- b _080222B6
-_0802217E:
- ldr r4, _080221A0
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- add r1, sp, 0x14
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- add r0, sp, 0x14
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080221A4
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x8]
- b _080221FA
- .align 2, 0
-_080221A0: .4byte gUnknown_203B290
-_080221A4:
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- bl GetFriendAreaUnlockCondition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080221E0
- cmp r0, 0x2
- bgt _080221BE
- cmp r0, 0x1
- beq _080221C4
- b _080221F0
-_080221BE:
- cmp r0, 0x3
- beq _080221E8
- b _080221F0
-_080221C4:
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080221D8
- ldr r1, [r4]
- movs r0, 0x15
- str r0, [r1, 0x8]
- b _080221FA
-_080221D8:
- ldr r1, [r4]
- movs r0, 0x1A
- str r0, [r1, 0x8]
- b _080221FA
-_080221E0:
- ldr r1, [r4]
- movs r0, 0x1B
- str r0, [r1, 0x8]
- b _080221FA
-_080221E8:
- ldr r1, [r4]
- movs r0, 0x1C
- str r0, [r1, 0x8]
- b _080221FA
-_080221F0:
- ldr r2, _08022228
- ldr r1, [r2]
- movs r0, 0x15
- str r0, [r1, 0x8]
- adds r4, r2, 0
-_080221FA:
- ldr r0, [r4]
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- bl GetMonSpecies
- adds r1, r0, 0
- ldr r0, _0802222C
- bl strcpy
- ldr r0, _08022230
- ldr r1, [r4]
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8092578
- ldr r2, _08022234
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x38
- b _0802227A
- .align 2, 0
-_08022228: .4byte gUnknown_203B290
-_0802222C: .4byte gAvailablePokemonNames
-_08022230: .4byte gUnknown_202E628
-_08022234: .4byte gWigglytuffDialogue
-_08022238:
- ldr r3, [r4]
- movs r0, 0x15
- str r0, [r3, 0x8]
- ldr r2, _0802224C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x3C
- b _0802227A
- .align 2, 0
-_0802224C: .4byte gWigglytuffDialogue
-_08022250:
- ldr r3, [r4]
- movs r0, 0x15
- str r0, [r3, 0x8]
- ldr r2, _08022264
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x40
- b _0802227A
- .align 2, 0
-_08022264: .4byte gWigglytuffDialogue
-_08022268:
- ldr r3, [r4]
- movs r0, 0x15
- str r0, [r3, 0x8]
- ldr r2, _0802228C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x44
-_0802227A:
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xCC
- ldr r2, [r3]
-_08022282:
- ldr r3, _08022290
-_08022284:
- movs r1, 0
- bl sub_80141B4
- b _080222B6
- .align 2, 0
-_0802228C: .4byte gWigglytuffDialogue
-_08022290: .4byte 0x0000010d
-_08022294:
- ldr r3, [r4]
- movs r0, 0x15
- str r0, [r3, 0x8]
- ldr r2, _080222C0
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x48
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xCC
- ldr r2, [r3]
- ldr r3, _080222C4
- movs r1, 0
- bl sub_80141B4
-_080222B6:
- add sp, 0x20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080222C0: .4byte gWigglytuffDialogue
-_080222C4: .4byte 0x0000010d
- thumb_func_end UpdateWigglytuffDialogue
-
- thumb_func_start sub_80222C8
-sub_80222C8:
- push {r4-r7,lr}
- ldr r4, _08022344
- ldr r0, [r4]
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r5, 0
- ldr r0, _08022348
- ldr r0, [r0]
- str r0, [r1, 0x1C]
- adds r3, r1, 0
- adds r3, 0x20
- movs r0, 0x2
- str r0, [r1, 0x20]
- movs r2, 0x1
- ldr r0, _0802234C
- ldr r0, [r0]
- str r0, [r1, 0x24]
- movs r0, 0x3
- str r0, [r1, 0x28]
- ldr r0, _08022350
- ldr r0, [r0]
- str r0, [r1, 0x2C]
- movs r0, 0x4
- str r0, [r1, 0x30]
- ldr r0, _08022354
- ldr r0, [r0]
- str r0, [r1, 0x34]
- str r2, [r1, 0x38]
- movs r7, 0x4
- str r5, [r1, 0x3C]
- str r2, [r3, 0x20]
- adds r6, r1, 0
- adds r2, r6, 0
- adds r2, 0x5C
-_08022314:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08022322
- ldr r1, [r3]
- ldr r0, [r6, 0x14]
- cmp r1, r0
- beq _0802237A
-_08022322:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r7
- blt _08022314
- movs r5, 0
- cmp r5, r7
- bge _0802237A
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x5C
- ldrh r0, [r0]
- cmp r0, 0
- bne _08022358
- ldr r0, [r1, 0x20]
- str r0, [r1, 0x14]
- b _0802237A
- .align 2, 0
-_08022344: .4byte gUnknown_203B290
-_08022348: .4byte gUnknown_80D4978
-_0802234C: .4byte gWigglytuffCheck
-_08022350: .4byte gUnknown_80D4970
-_08022354: .4byte gUnknown_80D4934
-_08022358:
- adds r5, 0x1
- cmp r5, r7
- bge _0802237A
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x5C
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08022358
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x20
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x14]
-_0802237A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80222C8
-
- thumb_func_start sub_8022380
-sub_8022380:
- push {r4-r7,lr}
- ldr r4, _080223EC
- ldr r0, [r4]
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _080223F0
- ldr r0, [r0]
- str r0, [r3, 0x1C]
- movs r0, 0x2
- str r0, [r3, 0x20]
- movs r1, 0x1
- ldr r0, _080223F4
- ldr r0, [r0]
- str r0, [r3, 0x24]
- movs r0, 0x4
- str r0, [r3, 0x28]
- movs r6, 0x2
- str r2, [r3, 0x2C]
- str r1, [r3, 0x30]
- movs r5, 0
- mov r12, r3
- adds r3, 0x20
- mov r2, r12
- adds r2, 0x5C
-_080223BA:
- ldrh r0, [r2]
- cmp r0, 0
- bne _080223CA
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x18]
- cmp r1, r0
- beq _0802241A
-_080223CA:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _080223BA
- movs r5, 0
- cmp r5, r6
- bge _0802241A
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x5C
- ldrh r0, [r0]
- cmp r0, 0
- bne _080223F8
- ldr r0, [r1, 0x20]
- str r0, [r1, 0x18]
- b _0802241A
- .align 2, 0
-_080223EC: .4byte gUnknown_203B290
-_080223F0: .4byte gUnknown_80D4978
-_080223F4: .4byte gUnknown_80D4970
-_080223F8:
- adds r5, 0x1
- cmp r5, r6
- bge _0802241A
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x5C
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080223F8
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x20
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x18]
-_0802241A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8022380
-
- thumb_func_start sub_8022420
-sub_8022420:
- push {r4,lr}
- ldr r4, _08022454
- ldr r0, [r4]
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r3, 0
- ldr r0, _08022458
- ldr r0, [r0]
- str r0, [r1, 0x1C]
- movs r0, 0x5
- str r0, [r1, 0x20]
- movs r2, 0x1
- ldr r0, _0802245C
- ldr r0, [r0]
- str r0, [r1, 0x24]
- movs r0, 0x6
- str r0, [r1, 0x28]
- str r3, [r1, 0x2C]
- str r2, [r1, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08022454: .4byte gUnknown_203B290
-_08022458: .4byte gUnknown_80D4920
-_0802245C: .4byte gUnknown_80D4928
- thumb_func_end sub_8022420
-
- thumb_func_start sub_8022460
-sub_8022460:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080224CC
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802247A
- ldr r0, _0802248C
- ldr r0, [r0]
- str r1, [r0, 0x14]
-_0802247A:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0802249A
- cmp r0, 0x2
- bgt _08022490
- cmp r0, 0x1
- beq _080224C6
- b _080224CC
- .align 2, 0
-_0802248C: .4byte gUnknown_203B290
-_08022490:
- cmp r0, 0x3
- beq _080224B6
- cmp r0, 0x4
- beq _080224BE
- b _080224CC
-_0802249A:
- movs r0, 0x2
- bl sub_8021700
- lsls r0, 24
- cmp r0, 0
- beq _080224AE
- movs r0, 0x5
- bl sub_8021D44
- b _080224CC
-_080224AE:
- movs r0, 0x7
- bl sub_8021D44
- b _080224CC
-_080224B6:
- movs r0, 0x14
- bl sub_8021D44
- b _080224CC
-_080224BE:
- movs r0, 0x2
- bl sub_8021D44
- b _080224CC
-_080224C6:
- movs r0, 0x3
- bl sub_8021D44
-_080224CC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8022460
-
- thumb_func_start sub_80224D4
-sub_80224D4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08022532
- ldr r0, [sp]
- cmp r0, 0x5
- beq _080224F8
- cmp r0, 0x5
- bgt _080224F2
- cmp r0, 0x1
- beq _0802252C
- b _08022532
-_080224F2:
- cmp r0, 0x6
- beq _0802252C
- b _08022532
-_080224F8:
- ldr r0, _08022524
- ldr r2, [r0]
- movs r0, 0x98
- lsls r0, 2
- adds r2, r0
- ldr r0, _08022528
- ldr r3, [r0]
- ldr r0, [r2]
- ldr r1, [r3, 0xC]
- subs r0, r1
- str r0, [r2]
- ldrb r0, [r3, 0x10]
- bl UnlockFriendArea
- movs r0, 0xA6
- lsls r0, 1
- bl PlaySound
- movs r0, 0xC
- bl sub_8021D44
- b _08022532
- .align 2, 0
-_08022524: .4byte gUnknown_203B460
-_08022528: .4byte gUnknown_203B290
-_0802252C:
- movs r0, 0xA
- bl sub_8021D44
-_08022532:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80224D4
-
- thumb_func_start sub_8022538
-sub_8022538:
- push {r4,lr}
- movs r0, 0x1
- bl sub_8021274
- cmp r0, 0x4
- bhi _080225BC
- lsls r0, 2
- ldr r1, _08022550
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022550: .4byte _08022554
- .align 2, 0
-_08022554:
- .4byte _080225C2
- .4byte _080225BC
- .4byte _080225B0
- .4byte _08022568
- .4byte _0802258C
-_08022568:
- bl sub_802132C
- ldr r4, _08022588
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- bl GetFriendAreaPrice
- ldr r1, [r4]
- str r0, [r1, 0xC]
- movs r0, 0xB
- bl sub_8021D44
- b _080225C2
- .align 2, 0
-_08022588: .4byte gUnknown_203B290
-_0802258C:
- bl sub_802132C
- ldr r4, _080225AC
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- bl GetFriendAreaPrice
- ldr r1, [r4]
- str r0, [r1, 0xC]
- movs r0, 0x10
- bl sub_8021D44
- b _080225C2
- .align 2, 0
-_080225AC: .4byte gUnknown_203B290
-_080225B0:
- bl sub_80213A0
- movs r0, 0x1
- bl sub_8021D44
- b _080225C2
-_080225BC:
- movs r0, 0x1
- bl sub_8016C40
-_080225C2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8022538
-
- thumb_func_start sub_80225C8
-sub_80225C8:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8021274
- ldr r4, _08022608
- ldr r0, [r4]
- adds r0, 0x6C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080225F8
- ldr r0, [r4]
- adds r0, 0x6C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080225F8
- ldr r0, [r4]
- str r1, [r0, 0x18]
-_080225F8:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08022612
- cmp r0, 0x2
- bgt _0802260C
- cmp r0, 0x1
- beq _08022658
- b _0802265E
- .align 2, 0
-_08022608: .4byte gUnknown_203B290
-_0802260C:
- cmp r0, 0x4
- beq _08022650
- b _0802265E
-_08022612:
- ldr r0, _0802262C
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- cmp r1, 0
- bne _08022630
- movs r0, 0x6
- bl sub_8021D44
- b _0802265E
- .align 2, 0
-_0802262C: .4byte gUnknown_203B460
-_08022630:
- ldr r0, _08022644
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- cmp r0, r1
- ble _08022648
- movs r0, 0x13
- bl sub_8021D44
- b _0802265E
- .align 2, 0
-_08022644: .4byte gUnknown_203B290
-_08022648:
- movs r0, 0x11
- bl sub_8021D44
- b _0802265E
-_08022650:
- movs r0, 0x10
- bl sub_8021D44
- b _0802265E
-_08022658:
- movs r0, 0xA
- bl sub_8021D44
-_0802265E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80225C8
-
- thumb_func_start sub_8022668
-sub_8022668:
- push {lr}
- bl sub_80217EC
- cmp r0, 0x1
- bls _08022680
- cmp r0, 0x3
- bhi _08022680
- bl sub_8021830
- movs r0, 0xA
- bl sub_8021D44
-_08022680:
- pop {r0}
- bx r0
- thumb_func_end sub_8022668
-
- thumb_func_start sub_8022684
-sub_8022684:
- push {r4,lr}
- movs r0, 0x1
- bl sub_8023278
- cmp r0, 0x2
- beq _080226BC
- cmp r0, 0x2
- bcc _080226C6
- cmp r0, 0x3
- bne _080226C6
- bl sub_802331C
- ldr r4, _080226B8
- ldr r1, [r4]
- strh r0, [r1, 0x12]
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- bl GetFriendArea
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- movs r0, 0x18
- bl sub_8021D44
- b _080226C6
- .align 2, 0
-_080226B8: .4byte gUnknown_203B290
-_080226BC:
- bl sub_80233A0
- movs r0, 0x1
- bl sub_8021D44
-_080226C6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8022684
-
- thumb_func_start sub_80226CC
-sub_80226CC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080226E4
- ldr r0, _080226EC
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_8021D44
-_080226E4:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080226EC: .4byte gUnknown_203B290
- thumb_func_end sub_80226CC
-
- thumb_func_start sub_80226F0
-sub_80226F0:
- push {r4,lr}
- sub sp, 0x4
- mov r1, sp
- movs r2, 0
- movs r0, 0x80
- strb r0, [r1]
- strb r0, [r1, 0x1]
- movs r0, 0x10
- strb r0, [r1, 0x2]
- strb r2, [r1, 0x3]
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- bne _08022782
- ldr r0, _08022728
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x4
- bhi _0802275C
- lsls r0, 2
- ldr r1, _0802272C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022728: .4byte gUnknown_203B290
-_0802272C: .4byte _08022730
- .align 2, 0
-_08022730:
- .4byte _0802275C
- .4byte _08022744
- .4byte _08022750
- .4byte _08022744
- .4byte _08022750
-_08022744:
- movs r0, 0x5
- movs r1, 0x2
- ldr r2, [sp]
- bl sub_8099AFC
- b _08022772
-_08022750:
- movs r0, 0x5
- movs r1, 0x2
- ldr r2, [sp]
- bl sub_8099A5C
- b _08022772
-_0802275C:
- ldr r4, _0802278C
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- bl sub_8021D44
- ldr r0, [r4]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_08022772:
- ldr r0, _0802278C
- ldr r1, [r0]
- movs r0, 0x98
- lsls r0, 1
- adds r1, r0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_08022782:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802278C: .4byte gUnknown_203B290
- thumb_func_end sub_80226F0
-
- thumb_func_start sub_8022790
-sub_8022790:
- push {lr}
- ldr r0, _080227A8
- ldr r2, [r0]
- movs r0, 0x9A
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, [r1]
- cmp r0, 0
- beq _080227AC
- subs r0, 0x1
- str r0, [r1]
- b _080227B2
- .align 2, 0
-_080227A8: .4byte gUnknown_203B290
-_080227AC:
- ldr r0, [r2, 0x8]
- bl sub_8021D44
-_080227B2:
- pop {r0}
- bx r0
- thumb_func_end sub_8022790
-
- thumb_func_start sub_80227B8
-sub_80227B8:
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _08022810
- movs r0, 0xD4
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- adds r2, r0, 0
- adds r2, 0xF4
- movs r1, 0
- str r1, [r2]
- str r5, [r0, 0x48]
- cmp r5, 0
- beq _08022820
- ldr r4, _08022814
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl sub_808D9AC
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x6
- bl sub_808D9AC
- bl sub_809177C
- lsls r0, 24
- cmp r0, 0
- beq _08022818
- movs r0, 0
- bl sub_8022924
- b _08022856
- .align 2, 0
-_08022810: .4byte gUnknown_203B294
-_08022814: .4byte gAvailablePokemonNames
-_08022818:
- movs r0, 0x11
- bl sub_8022924
- b _08022856
-_08022820:
- ldr r4, _08022848
- ldr r5, _0802284C
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- bl sub_8090A34
- cmp r0, 0
- bne _08022850
- movs r0, 0x12
- bl sub_8022924
- b _08022856
- .align 2, 0
-_08022848: .4byte gAvailablePokemonNames
-_0802284C: .4byte gUnknown_80DC5EC
-_08022850:
- movs r0, 0
- bl sub_8022924
-_08022856:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80227B8
-
- thumb_func_start sub_8022860
-sub_8022860:
- push {lr}
- ldr r0, _08022878
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x16
- bhi _080228FE
- lsls r0, 2
- ldr r1, _0802287C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022878: .4byte gUnknown_203B294
-_0802287C: .4byte _08022880
- .align 2, 0
-_08022880:
- .4byte _080228DC
- .4byte _080228DC
- .4byte _080228E2
- .4byte _080228E8
- .4byte _080228EE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228F4
- .4byte _080228FA
-_080228DC:
- bl sub_8022E78
- b _08022902
-_080228E2:
- bl sub_8022EF4
- b _08022902
-_080228E8:
- bl sub_8023068
- b _08022902
-_080228EE:
- bl sub_80230E8
- b _08022902
-_080228F4:
- bl sub_8023104
- b _08022902
-_080228FA:
- movs r0, 0x3
- b _08022904
-_080228FE:
- bl sub_8023120
-_08022902:
- movs r0, 0
-_08022904:
- pop {r1}
- bx r1
- thumb_func_end sub_8022860
-
- thumb_func_start sub_8022908
-sub_8022908:
- push {r4,lr}
- ldr r4, _08022920
- ldr r0, [r4]
- cmp r0, 0
- beq _0802291A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802291A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08022920: .4byte gUnknown_203B294
- thumb_func_end sub_8022908
-
- thumb_func_start sub_8022924
-sub_8022924:
- push {lr}
- ldr r1, _08022938
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802293C
- bl sub_8022A10
- pop {r0}
- bx r0
- .align 2, 0
-_08022938: .4byte gUnknown_203B294
- thumb_func_end sub_8022924
-
- thumb_func_start sub_802293C
-sub_802293C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _08022964
- ldr r0, [r4]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x3
- beq _080229A4
- cmp r0, 0x3
- bgt _08022968
- cmp r0, 0x2
- beq _08022972
- b _080229BC
- .align 2, 0
-_08022964: .4byte gUnknown_203B294
-_08022968:
- cmp r0, 0x10
- bgt _080229BC
- cmp r0, 0xA
- blt _080229BC
- b _080229E6
-_08022972:
- bl sub_8022D2C
- ldr r2, [r4]
- movs r0, 0xBC
- lsls r0, 1
- adds r2, r0
- ldr r1, _080229A0
- 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, 0xF8
- bl sub_8012CAC
- ldr r0, [r4]
- movs r6, 0xC2
- lsls r6, 1
- adds r0, r6
- movs r1, 0x6
- strh r1, [r0]
- b _080229E6
- .align 2, 0
-_080229A0: .4byte gUnknown_80DC5BC
-_080229A4:
- movs r7, 0xB0
- lsls r7, 1
- adds r1, r7
- ldr r0, _080229B8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _080229E6
- .align 2, 0
-_080229B8: .4byte gUnknown_80DC5D4
-_080229BC:
- ldr r0, _08022A08
- mov r12, r0
- movs r1, 0xA4
- lsls r1, 1
- mov r8, r1
- ldr r4, _08022A0C
- movs r3, 0
- movs r2, 0x3
-_080229CC:
- 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 _080229CC
-_080229E6:
- bl ResetUnusedInputStruct
- ldr r0, _08022A08
- ldr r0, [r0]
- movs r6, 0xA4
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08022A08: .4byte gUnknown_203B294
-_08022A0C: .4byte gUnknown_80DC5A4
- thumb_func_end sub_802293C
-
- thumb_func_start sub_8022A10
-sub_8022A10:
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r1, _08022A2C
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x16
- bls _08022A22
- b _08022D1E
-_08022A22:
- lsls r0, 2
- ldr r1, _08022A30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022A2C: .4byte gUnknown_203B294
-_08022A30: .4byte _08022A34
- .align 2, 0
-_08022A34:
- .4byte _08022A90
- .4byte _08022AAA
- .4byte _08022AB2
- .4byte _08022AE0
- .4byte _08022B10
- .4byte _08022B1A
- .4byte _08022B24
- .4byte _08022B34
- .4byte _08022B44
- .4byte _08022B54
- .4byte _08022B64
- .4byte _08022C28
- .4byte _08022CA0
- .4byte _08022CA8
- .4byte _08022CB0
- .4byte _08022CB8
- .4byte _08022CC0
- .4byte _08022CC8
- .4byte _08022CD8
- .4byte _08022CE8
- .4byte _08022CF8
- .4byte _08022D14
- .4byte _08022D1E
-_08022A90:
- ldr r0, [r4]
- ldr r0, [r0, 0x48]
- cmp r0, 0
- beq _08022A9C
- movs r0, 0x5
- b _08022A9E
-_08022A9C:
- movs r0, 0x1
-_08022A9E:
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08022D22
-_08022AAA:
- movs r0, 0x1
- bl sub_801A8D0
- b _08022D22
-_08022AB2:
- bl sub_801A9E0
- ldr r0, _08022ADC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x54
- adds r1, r2, 0
- adds r1, 0xF8
- movs r4, 0x9C
- lsls r4, 1
- adds r3, r2, r4
- adds r2, 0xF4
- ldr r2, [r2]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08022D22
- .align 2, 0
-_08022ADC: .4byte gUnknown_203B294
-_08022AE0:
- bl sub_801A9E0
- ldr r4, _08022B08
- ldr r0, [r4]
- adds r0, 0x54
- movs r1, 0
- bl sub_8012EA4
- ldr r0, [r4]
- adds r0, 0xA4
- ldr r1, _08022B0C
- movs r2, 0x3
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _08022D22
- .align 2, 0
-_08022B08: .4byte gUnknown_203B294
-_08022B0C: .4byte gUnknown_80DC584
-_08022B10:
- ldr r0, [r4]
- adds r0, 0x50
- bl sub_801B3C0
- b _08022D22
-_08022B1A:
- ldr r0, _08022B20
- b _08022D00
- .align 2, 0
-_08022B20: .4byte gUnknown_80DC5F4
-_08022B24:
- ldr r0, _08022B2C
- ldr r3, _08022B30
- b _08022D02
- .align 2, 0
-_08022B2C: .4byte gUnknown_80DC618
-_08022B30: .4byte 0x00000101
-_08022B34:
- ldr r0, _08022B3C
- ldr r3, _08022B40
- b _08022D02
- .align 2, 0
-_08022B3C: .4byte gUnknown_80DC674
-_08022B40: .4byte 0x00000101
-_08022B44:
- ldr r0, _08022B4C
- ldr r3, _08022B50
- b _08022D02
- .align 2, 0
-_08022B4C: .4byte gUnknown_80DC6CC
-_08022B50: .4byte 0x00000101
-_08022B54:
- ldr r0, _08022B5C
- ldr r3, _08022B60
- b _08022D02
- .align 2, 0
-_08022B5C: .4byte gUnknown_80DC728
-_08022B60: .4byte 0x00000101
-_08022B64:
- ldr r7, _08022B68
- b _08022B78
- .align 2, 0
-_08022B68: .4byte gUnknown_203B294
-_08022B6C:
- ldr r1, [r4]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- cmp r0, 0x17
- bgt _08022C10
-_08022B78:
- movs r5, 0
- movs r6, 0
- movs r3, 0
- ldr r2, [r4]
- ldr r0, [r2, 0x38]
- cmp r5, r0
- bge _08022BA4
- ldrb r1, [r2, 0x8]
- b _08022B9C
-_08022B8A:
- adds r3, 0x1
- ldr r2, [r4]
- ldr r0, [r2, 0x38]
- cmp r3, r0
- bge _08022BA4
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r3
- ldrb r1, [r0]
-_08022B9C:
- ldr r0, [r2, 0x40]
- cmp r1, r0
- bne _08022B8A
- movs r5, 0x1
-_08022BA4:
- movs r3, 0
- ldr r2, [r4]
- ldr r0, [r2, 0x3C]
- cmp r3, r0
- bge _08022BCE
- adds r0, r2, 0
- adds r0, 0x20
- b _08022BC4
-_08022BB4:
- adds r3, 0x1
- ldr r2, [r4]
- ldr r0, [r2, 0x3C]
- cmp r3, r0
- bge _08022BCE
- adds r0, r2, 0
- adds r0, 0x20
- adds r0, r3
-_08022BC4:
- ldrb r1, [r0]
- ldr r0, [r2, 0x40]
- cmp r1, r0
- bne _08022BB4
- movs r6, 0x1
-_08022BCE:
- cmp r5, r6
- beq _08022B6C
- ldr r1, [r7]
- movs r0, 0xA
- str r0, [r1, 0x4]
- ldr r0, [r1, 0x40]
- lsls r0, 24
- lsrs r0, 24
- bl sub_808EAB0
- adds r1, r0, 0
- ldr r0, _08022C18
- bl strcpy
- movs r0, 0xCB
- bl PlaySound
- ldr r0, _08022C1C
- movs r1, 0
- movs r2, 0
- ldr r3, _08022C20
- bl sub_80141B4
- ldr r1, [r7]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- ldr r0, _08022C24
- ldr r0, [r0]
- ldr r0, [r0, 0x40]
- cmp r0, 0x17
- bgt _08022C10
- b _08022D22
-_08022C10:
- movs r0, 0xB
- bl sub_8022924
- b _08022D22
- .align 2, 0
-_08022C18: .4byte gUnknown_202DEA8
-_08022C1C: .4byte gUnknown_80DC788
-_08022C20: .4byte 0x00000101
-_08022C24: .4byte gUnknown_203B294
-_08022C28:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- bl nullsub_104
- ldr r0, [r4]
- adds r0, 0x46
- ldrh r0, [r0]
- cmp r0, 0x8
- bhi _08022C98
- lsls r0, 2
- ldr r1, _08022C48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022C48: .4byte _08022C4C
- .align 2, 0
-_08022C4C:
- .4byte _08022C70
- .4byte _08022C78
- .4byte _08022C80
- .4byte _08022C98
- .4byte _08022C88
- .4byte _08022C98
- .4byte _08022C98
- .4byte _08022C98
- .4byte _08022C90
-_08022C70:
- movs r0, 0x16
- bl sub_8022924
- b _08022D22
-_08022C78:
- movs r0, 0xD
- bl sub_8022924
- b _08022D22
-_08022C80:
- movs r0, 0xE
- bl sub_8022924
- b _08022D22
-_08022C88:
- movs r0, 0xF
- bl sub_8022924
- b _08022D22
-_08022C90:
- movs r0, 0x10
- bl sub_8022924
- b _08022D22
-_08022C98:
- movs r0, 0xC
- bl sub_8022924
- b _08022D22
-_08022CA0:
- ldr r0, _08022CA4
- b _08022D00
- .align 2, 0
-_08022CA4: .4byte gUnknown_80DC7B4
-_08022CA8:
- ldr r0, _08022CAC
- b _08022D00
- .align 2, 0
-_08022CAC: .4byte gUnknown_80DC7FC
-_08022CB0:
- ldr r0, _08022CB4
- b _08022D00
- .align 2, 0
-_08022CB4: .4byte gUnknown_80DC81C
-_08022CB8:
- ldr r0, _08022CBC
- b _08022D00
- .align 2, 0
-_08022CBC: .4byte gUnknown_80DC844
-_08022CC0:
- ldr r0, _08022CC4
- b _08022D00
- .align 2, 0
-_08022CC4: .4byte gUnknown_80DC864
-_08022CC8:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- ldr r0, _08022CD4
- b _08022D00
- .align 2, 0
-_08022CD4: .4byte gUnknown_80DC88C
-_08022CD8:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- ldr r0, _08022CE4
- b _08022D00
- .align 2, 0
-_08022CE4: .4byte gUnknown_80DC8AC
-_08022CE8:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- ldr r0, _08022CF4
- b _08022D00
- .align 2, 0
-_08022CF4: .4byte gUnknown_80DC8C8
-_08022CF8:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- ldr r0, _08022D0C
-_08022D00:
- ldr r3, _08022D10
-_08022D02:
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08022D22
- .align 2, 0
-_08022D0C: .4byte gUnknown_80DC8DC
-_08022D10: .4byte 0x00000301
-_08022D14:
- ldr r0, [r4]
- ldr r0, [r0, 0x4C]
- bl sub_801AFA4
- b _08022D22
-_08022D1E:
- bl sub_801A928
-_08022D22:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8022A10
-
- thumb_func_start sub_8022D2C
-sub_8022D2C:
- push {r4-r7,lr}
- movs r6, 0
- ldr r4, _08022D78
- ldr r0, [r4]
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r2, [r4]
- ldr r0, [r2, 0x48]
- cmp r0, 0
- beq _08022D80
- adds r1, r2, 0
- adds r1, 0xF8
- ldr r0, _08022D7C
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x5
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0x52
- ldrb r0, [r0]
- bl sub_8091764
- lsls r0, 24
- cmp r0, 0
- bne _08022D74
- ldr r0, [r4]
- movs r2, 0x9C
- lsls r2, 1
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0]
-_08022D74:
- movs r6, 0x1
- b _08022DBE
- .align 2, 0
-_08022D78: .4byte gUnknown_203B294
-_08022D7C: .4byte gUnknown_80DC8F0
-_08022D80:
- adds r0, r2, 0
- adds r0, 0x52
- ldrb r0, [r0]
- bl GetItemType
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _08022DA4
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0xF8
- ldr r0, _08022E38
- str r0, [r2]
- adds r1, 0xFC
- movs r0, 0x6
- str r0, [r1]
- movs r6, 0x1
-_08022DA4:
- ldr r2, [r4]
- lsls r3, r6, 3
- adds r0, r2, 0
- adds r0, 0xF8
- adds r0, r3
- ldr r1, _08022E3C
- ldr r1, [r1]
- str r1, [r0]
- adds r2, 0xFC
- adds r2, r3
- movs r0, 0x4
- str r0, [r2]
- adds r6, 0x1
-_08022DBE:
- ldr r4, _08022E40
- ldr r0, [r4]
- mov r12, r0
- lsls r1, r6, 3
- mov r2, r12
- adds r2, 0xF8
- adds r3, r2, r1
- ldr r0, _08022E44
- ldr r0, [r0]
- str r0, [r3]
- mov r3, r12
- adds r3, 0xFC
- adds r1, r3, r1
- movs r0, 0x7
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r1
- movs r0, 0
- str r0, [r2]
- adds r1, r3, r1
- movs r0, 0x1
- str r0, [r1]
- movs r5, 0
- adds r7, r4, 0
- cmp r5, r6
- bge _08022E16
- mov r4, r12
- adds r4, 0xF4
- movs r2, 0x9C
- lsls r2, 1
- add r2, r12
-_08022DFE:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08022E0C
- ldr r1, [r3]
- ldr r0, [r4]
- cmp r1, r0
- beq _08022E70
-_08022E0C:
- adds r2, 0x2
- adds r3, 0x8
- adds r5, 0x1
- cmp r5, r6
- blt _08022DFE
-_08022E16:
- movs r5, 0
- cmp r5, r6
- bge _08022E70
- ldr r1, [r7]
- movs r2, 0x9C
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _08022E48
- adds r0, r1, 0
- adds r0, 0xF4
- adds r1, 0xFC
- ldr r1, [r1]
- str r1, [r0]
- b _08022E70
- .align 2, 0
-_08022E38: .4byte gUnknown_80DC8F8
-_08022E3C: .4byte gUnknown_80D4940
-_08022E40: .4byte gUnknown_203B294
-_08022E44: .4byte gUnknown_80D4970
-_08022E48:
- adds r5, 0x1
- cmp r5, r6
- bge _08022E70
- ldr r3, [r7]
- lsls r0, r5, 1
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r3, r2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08022E48
- adds r2, r3, 0
- adds r2, 0xF4
- lsls r1, r5, 3
- adds r0, r3, 0
- adds r0, 0xFC
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
-_08022E70:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8022D2C
-
- thumb_func_start sub_8022E78
-sub_8022E78:
- push {lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _08022E94
- cmp r0, 0x3
- bhi _08022E8E
- cmp r0, 0x2
- beq _08022EE8
- b _08022EEE
-_08022E8E:
- cmp r0, 0x4
- beq _08022EBC
- b _08022EEE
-_08022E94:
- bl sub_801A8AC
- ldr r1, _08022EB4
- ldr r2, [r1]
- str r0, [r2, 0x4C]
- ldr r1, _08022EB8
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x50]
- movs r0, 0x2
- bl sub_8022924
- b _08022EEE
- .align 2, 0
-_08022EB4: .4byte gUnknown_203B294
-_08022EB8: .4byte gUnknown_203B460
-_08022EBC:
- bl sub_801A8AC
- ldr r1, _08022EE0
- ldr r2, [r1]
- str r0, [r2, 0x4C]
- ldr r1, _08022EE4
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x50]
- movs r0, 0
- bl sub_8099690
- movs r0, 0x4
- bl sub_8022924
- b _08022EEE
- .align 2, 0
-_08022EE0: .4byte gUnknown_203B294
-_08022EE4: .4byte gUnknown_203B460
-_08022EE8:
- movs r0, 0x16
- bl sub_8022924
-_08022EEE:
- pop {r0}
- bx r0
- thumb_func_end sub_8022E78
-
- thumb_func_start sub_8022EF4
-sub_8022EF4:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _08022F3C
- ldr r0, [r4]
- adds r0, 0x54
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08022F26
- ldr r0, [r4]
- adds r0, 0x54
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08022F26
- ldr r0, [r4]
- adds r0, 0xF4
- str r1, [r0]
-_08022F26:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x6
- bls _08022F30
- b _08023060
-_08022F30:
- lsls r0, 2
- ldr r1, _08022F40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022F3C: .4byte gUnknown_203B294
-_08022F40: .4byte _08022F44
- .align 2, 0
-_08022F44:
- .4byte _08022F60
- .4byte _08023060
- .4byte _08023060
- .4byte _0802304C
- .4byte _08022F68
- .4byte _08023044
- .4byte _08023054
-_08022F60:
- movs r0, 0x1
- bl sub_8022924
- b _08023060
-_08022F68:
- ldr r4, _08022FEC
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- ldr r1, [r1, 0x48]
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- bl sub_808EBA8
- ldr r3, [r4]
- str r0, [r3, 0x38]
- ldr r0, [r3, 0x48]
- adds r1, r3, 0
- adds r1, 0x52
- ldrb r1, [r1]
- adds r3, 0x44
- movs r2, 0
- bl sub_80915F4
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x20
- ldr r1, [r1, 0x48]
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- bl sub_808EBA8
- ldr r1, [r4]
- str r0, [r1, 0x3C]
- movs r0, 0x1
- str r0, [r1, 0x40]
- adds r0, r1, 0
- adds r0, 0x44
- movs r2, 0
- ldrsh r5, [r0, r2]
- ldr r0, _08022FF0
- ldr r3, _08022FF4
- ldr r2, [r1, 0x4C]
- lsls r2, 2
- ldr r1, [r3]
- adds r1, r2
- movs r2, 0
- bl sub_8090E14
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _08022FD0
- ldr r0, [r4]
- ldr r0, [r0, 0x4C]
- bl sub_80911F8
-_08022FD0:
- movs r0, 0
- bl sub_8099690
- ldr r1, [r4]
- movs r0, 0xA
- str r0, [r1, 0x4]
- adds r0, r5, 0x1
- cmp r0, 0x4
- bhi _08023030
- lsls r0, 2
- ldr r1, _08022FF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022FEC: .4byte gUnknown_203B294
-_08022FF0: .4byte gUnknown_202DE58
-_08022FF4: .4byte gUnknown_203B460
-_08022FF8: .4byte _08022FFC
- .align 2, 0
-_08022FFC:
- .4byte _08023030
- .4byte _08023010
- .4byte _08023018
- .4byte _08023020
- .4byte _08023028
-_08023010:
- movs r0, 0x6
- bl sub_8022924
- b _08023060
-_08023018:
- movs r0, 0x7
- bl sub_8022924
- b _08023060
-_08023020:
- movs r0, 0x8
- bl sub_8022924
- b _08023060
-_08023028:
- movs r0, 0x9
- bl sub_8022924
- b _08023060
-_08023030:
- ldr r0, _08023040
- ldr r1, [r0]
- movs r0, 0x16
- str r0, [r1, 0x4]
- movs r0, 0x5
- bl sub_8022924
- b _08023060
- .align 2, 0
-_08023040: .4byte gUnknown_203B294
-_08023044:
- movs r0, 0x15
- bl sub_8022924
- b _08023060
-_0802304C:
- movs r0, 0x3
- bl sub_8022924
- b _08023060
-_08023054:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x4
- bl sub_8022924
-_08023060:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8022EF4
-
- thumb_func_start sub_8023068
-sub_8023068:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _080230A8
- ldr r0, [r4]
- adds r0, 0x54
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0xA4
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08023096
- ldr r0, [r4]
- adds r0, 0xA4
- mov r1, sp
- bl sub_8013114
-_08023096:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080230B8
- cmp r0, 0x2
- bgt _080230AC
- cmp r0, 0x1
- beq _080230B0
- b _080230E0
- .align 2, 0
-_080230A8: .4byte gUnknown_203B294
-_080230AC:
- cmp r0, 0x3
- bne _080230E0
-_080230B0:
- movs r0, 0x1
- bl sub_8022924
- b _080230E0
-_080230B8:
- ldr r0, [r4]
- ldr r0, [r0, 0x4C]
- bl sub_80911F8
- bl sub_8090A34
- cmp r0, 0
- bne _080230DA
- movs r0, 0
- bl sub_8099690
- bl sub_801A928
- movs r0, 0x14
- bl sub_8022924
- b _080230E0
-_080230DA:
- movs r0, 0x1
- bl sub_8022924
-_080230E0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8023068
-
- thumb_func_start sub_80230E8
-sub_80230E8:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08023100
- cmp r0, 0x3
- bhi _08023100
- bl sub_801B450
- movs r0, 0x1
- bl sub_8022924
-_08023100:
- pop {r0}
- bx r0
- thumb_func_end sub_80230E8
-
- thumb_func_start sub_8023104
-sub_8023104:
- push {lr}
- bl sub_801B00C
- cmp r0, 0x1
- bls _0802311C
- cmp r0, 0x3
- bhi _0802311C
- bl sub_801B048
- movs r0, 0x1
- bl sub_8022924
-_0802311C:
- pop {r0}
- bx r0
- thumb_func_end sub_8023104
-
- thumb_func_start sub_8023120
-sub_8023120:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08023138
- ldr r0, _08023140
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_8022924
-_08023138:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08023140: .4byte gUnknown_203B294
- thumb_func_end sub_8023120
-
- thumb_func_start sub_8023144
-sub_8023144:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r1, 0
- mov r9, r2
- mov r10, r3
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl sub_8023704
- lsls r0, 24
- cmp r0, 0
- beq _08023168
- movs r0, 0
- b _08023252
-_08023168:
- ldr r6, _08023260
- ldr r0, [r6]
- cmp r0, 0
- bne _0802317C
- movs r0, 0xFF
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
-_0802317C:
- ldr r0, [r6]
- strb r4, [r0]
- ldr r0, [r6]
- ldr r1, _08023264
- ldr r1, [r1]
- str r1, [r0, 0x4]
- movs r4, 0xE4
- lsls r4, 2
- adds r1, r0, r4
- str r7, [r1]
- movs r1, 0xE5
- lsls r1, 2
- mov r8, r1
- adds r2, r0, r1
- lsls r1, r7, 1
- adds r1, r7
- lsls r1, 3
- movs r5, 0xE6
- lsls r5, 2
- adds r1, r5
- adds r1, r0, r1
- str r1, [r2]
- adds r0, r5
- bl sub_8006518
- ldr r1, [r6]
- adds r4, r1, r4
- ldr r2, [r4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r5
- ldr r0, _08023268
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r6]
- mov r1, r8
- adds r0, r2, r1
- ldr r1, [r0]
- movs r3, 0xFE
- lsls r3, 2
- adds r0, r2, r3
- str r0, [r1, 0x14]
- mov r4, r9
- cmp r4, 0
- beq _080231F6
- movs r1, 0xE4
- lsls r1, 2
- adds r0, r2, r1
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- subs r3, 0x58
- adds r1, r2, r3
- adds r1, r0
- ldr r0, [r4]
- str r0, [r1]
-_080231F6:
- ldr r0, [r6]
- add r0, r8
- ldr r0, [r0]
- mov r1, r10
- bl sub_8012D08
- bl ResetUnusedInputStruct
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r6]
- movs r5, 0xD7
- lsls r5, 2
- adds r4, r5
- bl sub_80236A4
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r10
- adds r3, r7, 0
- bl sub_8013818
- ldr r0, [r6]
- ldr r1, _0802326C
- ldrh r2, [r1]
- movs r4, 0xDD
- lsls r4, 2
- adds r1, r0, r4
- strh r2, [r1]
- ldr r1, _08023270
- ldrh r2, [r1]
- ldr r3, _08023274
- adds r1, r0, r3
- strh r2, [r1]
- adds r0, r5
- bl sub_8013984
- bl sub_8023420
- bl sub_80234BC
- movs r0, 0x1
-_08023252:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08023260: .4byte gUnknown_3001B5C
-_08023264: .4byte gUnknown_203B298
-_08023268: .4byte gUnknown_80DC91C
-_0802326C: .4byte gUnknown_203B29C
-_08023270: .4byte gUnknown_203B29E
-_08023274: .4byte 0x0000037a
- thumb_func_end sub_8023144
-
- thumb_func_start sub_8023278
-sub_8023278:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _08023298
- ldr r0, _08023294
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- bl sub_8013660
- movs r0, 0
- b _08023316
- .align 2, 0
-_08023294: .4byte gUnknown_3001B5C
-_08023298:
- ldr r4, _080232B4
- ldr r0, [r4]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- bl GetKeyPress
- cmp r0, 0x2
- beq _080232BE
- cmp r0, 0x2
- bgt _080232B8
- cmp r0, 0x1
- beq _080232C8
- b _080232EC
- .align 2, 0
-_080232B4: .4byte gUnknown_3001B5C
-_080232B8:
- cmp r0, 0x3
- beq _080232D2
- b _080232EC
-_080232BE:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _08023316
-_080232C8:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _08023316
-_080232D2:
- movs r0, 0x5
- bl PlayMenuSoundEffect
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- movs r2, 0x1
- cmp r1, 0x1
- bhi _080232E4
- adds r2, r1, 0x1
-_080232E4:
- str r2, [r0, 0x4]
- bl sub_80236A4
- b _0802330C
-_080232EC:
- ldr r0, _08023308
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0802330C
- movs r0, 0
- b _08023316
- .align 2, 0
-_08023308: .4byte gUnknown_3001B5C
-_0802330C:
- bl sub_8023420
- bl sub_80234BC
- movs r0, 0x1
-_08023316:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8023278
-
- thumb_func_start sub_802331C
-sub_802331C:
- ldr r0, _0802334C
- ldr r0, [r0]
- ldr r2, _08023350
- adds r1, r0, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- movs r3, 0xDE
- lsls r3, 2
- adds r1, r0, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- muls r1, r2
- movs r3, 0xDD
- lsls r3, 2
- adds r2, r0, r3
- movs r3, 0
- ldrsh r2, [r2, r3]
- adds r1, r2
- lsls r1, 1
- adds r0, 0xC
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0802334C: .4byte gUnknown_3001B5C
-_08023350: .4byte 0x0000037a
- thumb_func_end sub_802331C
-
- thumb_func_start sub_8023354
-sub_8023354:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetUnusedInputStruct
- ldr r5, _0802339C
- ldr r0, [r5]
- movs r1, 0xE6
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- bl sub_8013984
- bl sub_8023420
- bl sub_80234BC
- cmp r4, 0
- beq _08023396
- ldr r0, [r5]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- bl AddMenuCursorSprite
-_08023396:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802339C: .4byte gUnknown_3001B5C
- thumb_func_end sub_8023354
-
- thumb_func_start sub_80233A0
-sub_80233A0:
- push {r4-r6,lr}
- ldr r5, _08023408
- ldr r2, [r5]
- cmp r2, 0
- beq _08023400
- ldr r1, _0802340C
- ldr r0, [r2, 0x4]
- str r0, [r1]
- ldr r1, _08023410
- movs r3, 0xDD
- lsls r3, 2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _08023414
- ldr r6, _08023418
- adds r0, r2, r6
- ldrh r0, [r0]
- strh r0, [r1]
- movs r1, 0xE4
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- movs r4, 0xE6
- lsls r4, 2
- adds r1, r4
- ldr r0, _0802341C
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- bl MemoryFree
- movs r0, 0
- str r0, [r5]
-_08023400:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08023408: .4byte gUnknown_3001B5C
-_0802340C: .4byte gUnknown_203B298
-_08023410: .4byte gUnknown_203B29C
-_08023414: .4byte gUnknown_203B29E
-_08023418: .4byte 0x0000037a
-_0802341C: .4byte gUnknown_80DC904
- thumb_func_end sub_80233A0
-
- thumb_func_start sub_8023420
-sub_8023420:
- push {r4,r5,lr}
- ldr r4, _080234A8
- ldr r0, [r4]
- movs r1, 0xFE
- lsls r1, 2
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080234AC
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r1, 0x1
- adds r0, r1
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080234B0
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- ldr r2, _080234B4
- adds r0, r2
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- ldr r3, [r4]
- movs r2, 0xE4
- lsls r2, 2
- adds r5, r3, r2
- ldr r2, [r5]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r3, r1
- ldr r2, _080234B8
- adds r1, r2
- lsls r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r2, [r5]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r3, r1
- movs r1, 0xEA
- lsls r1, 2
- adds r3, r1
- strh r0, [r3]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- movs r2, 0xE6
- lsls r2, 2
- adds r0, r2
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080234A8: .4byte gUnknown_3001B5C
-_080234AC: .4byte 0x000003f9
-_080234B0: .4byte 0x000003fb
-_080234B4: .4byte 0x00000376
-_080234B8: .4byte 0x000003a6
- thumb_func_end sub_8023420
-
- thumb_func_start sub_80234BC
-sub_80234BC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x178
- ldr r5, _0802368C
- ldr r0, [r5]
- movs r4, 0xE4
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r5]
- adds r0, r4
- ldr r0, [r0]
- bl sub_80073B8
- ldr r2, _08023690
- ldr r0, [r5]
- adds r0, r4
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r3, [r5]
- ldr r1, _08023694
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- ldr r2, _08023698
- adds r1, r3, r2
- movs r6, 0
- ldrsh r2, [r1, r6]
- adds r2, 0x1
- movs r1, 0x7
- str r1, [sp]
- adds r3, r4
- ldr r1, [r3]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r0, 0
- mov r10, r0
- ldr r0, [r5]
- ldr r1, _0802369C
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r10, r0
- blt _08023532
- b _0802366C
-_08023532:
- ldr r3, _0802368C
- ldr r0, [r3]
- movs r6, 0xD7
- lsls r6, 2
- adds r0, r6
- mov r1, r10
- bl sub_8013800
- mov r8, r0
- ldr r0, _0802368C
- ldr r1, [r0]
- ldr r2, _08023698
- adds r0, r1, r2
- movs r3, 0
- ldrsh r2, [r0, r3]
- adds r6, 0x1C
- adds r0, r1, r6
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r2
- add r0, r10
- lsls r0, 1
- adds r1, 0xC
- adds r1, r0
- movs r6, 0
- ldrsh r5, [r1, r6]
- adds r0, r5, 0
- bl GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0x16C
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- movs r7, 0x7
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _08023594
- adds r0, r5, 0
- bl HasRecruitedMon
- lsls r0, 24
- movs r7, 0x4
- cmp r0, 0
- beq _08023594
- movs r7, 0x5
-_08023594:
- adds r0, r5, 0
- movs r1, 0
- bl GetDexInternalNo
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __modsi3
- adds r2, r0, 0
- adds r2, 0x30
- lsls r2, 24
- lsrs r2, 24
- ldr r6, _0802368C
- ldr r0, [r6]
- movs r1, 0xE4
- lsls r1, 2
- mov r9, r1
- add r0, r9
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x14
- mov r1, r8
- adds r3, r7, 0
- bl sub_8012C60
- cmp r4, 0x9
- ble _08023628
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- adds r4, r0, 0
- movs r1, 0xA
- bl __modsi3
- adds r2, r0, 0
- adds r2, 0x30
- lsls r2, 24
- lsrs r2, 24
- ldr r0, [r6]
- movs r3, 0xE4
- lsls r3, 2
- adds r0, r3
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0xD
- mov r1, r8
- adds r3, r7, 0
- bl sub_8012C60
- cmp r4, 0x9
- ble _08023628
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- movs r1, 0xA
- bl __modsi3
- adds r2, r0, 0
- adds r2, 0x30
- lsls r2, 24
- lsrs r2, 24
- ldr r0, [r6]
- add r0, r9
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x6
- mov r1, r8
- adds r3, r7, 0
- bl sub_8012C60
-_08023628:
- add r4, sp, 0x108
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808D930
- add r0, sp, 0x8
- ldr r1, _080236A0
- adds r2, r7, 0
- adds r3, r4, 0
- bl sub_800D158
- ldr r6, _0802368C
- ldr r0, [r6]
- movs r1, 0xE4
- lsls r1, 2
- adds r0, r1
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x24
- mov r1, r8
- add r2, sp, 0x8
- bl xxx_call_draw_string
- movs r2, 0x1
- add r10, r2
- ldr r0, [r6]
- ldr r3, _0802369C
- adds r0, r3
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r10, r0
- bge _0802366C
- b _08023532
-_0802366C:
- ldr r0, _0802368C
- ldr r0, [r0]
- movs r1, 0xE4
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0x178
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802368C: .4byte gUnknown_3001B5C
-_08023690: .4byte gUnknown_80DC934
-_08023694: .4byte 0x000003fa
-_08023698: .4byte 0x0000037a
-_0802369C: .4byte 0x00000376
-_080236A0: .4byte gUnknown_80DC93C
- thumb_func_end sub_80234BC
-
- thumb_func_start sub_80236A4
-sub_80236A4:
- push {r4,r5,lr}
- ldr r0, _080236FC
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x8]
- movs r5, 0
-_080236B0:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_8098134
- lsls r0, 24
- cmp r0, 0
- beq _080236E2
- adds r0, r4, 0
- bl sub_808E858
- lsls r0, 16
- asrs r0, 16
- cmp r4, r0
- bne _080236E2
- ldr r0, _080236FC
- ldr r3, [r0]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0xC
- adds r0, r2
- strh r5, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
-_080236E2:
- adds r5, 0x1
- ldr r0, _08023700
- cmp r5, r0
- ble _080236B0
- bl sub_8023730
- ldr r0, _080236FC
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080236FC: .4byte gUnknown_3001B5C
-_08023700: .4byte 0x000001a7
- thumb_func_end sub_80236A4
-
- thumb_func_start sub_8023704
-sub_8023704:
- push {r4,lr}
- movs r4, 0
-_08023708:
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_8098134
- lsls r0, 24
- cmp r0, 0
- beq _0802371A
- movs r0, 0
- b _08023724
-_0802371A:
- adds r4, 0x1
- ldr r0, _0802372C
- cmp r4, r0
- ble _08023708
- movs r0, 0x1
-_08023724:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0802372C: .4byte 0x000001a7
- thumb_func_end sub_8023704
-
- thumb_func_start sub_8023730
-sub_8023730:
- push {lr}
- ldr r0, _08023744
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x1
- beq _08023748
- cmp r0, 0x2
- beq _0802374E
- b _08023752
- .align 2, 0
-_08023744: .4byte gUnknown_3001B5C
-_08023748:
- bl sub_8023758
- b _08023752
-_0802374E:
- bl sub_80237E0
-_08023752:
- pop {r0}
- bx r0
- thumb_func_end sub_8023730
-
- thumb_func_start sub_8023758
-sub_8023758:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r3, _080237DC
- ldr r2, [r3]
- ldr r1, [r2, 0x8]
- lsls r0, r1, 1
- adds r0, 0xA
- adds r2, r0
- mov r9, r2
- movs r2, 0
- subs r1, 0x1
- cmp r2, r1
- bge _080237CC
-_08023778:
- mov r5, r9
- ldr r0, [r3]
- ldr r0, [r0, 0x8]
- subs r7, r0, 0x1
- adds r0, r2, 0x1
- mov r8, r0
- cmp r7, r2
- ble _080237BE
-_08023788:
- subs r6, r5, 0x2
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r1, 0x1
- str r2, [sp]
- bl GetAlphabetParentNo
- adds r4, r0, 0
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r1, 0x1
- bl GetAlphabetParentNo
- lsls r4, 16
- lsls r0, 16
- ldr r2, [sp]
- cmp r4, r0
- ble _080237B6
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r6]
- strh r0, [r5]
- strh r1, [r6]
-_080237B6:
- adds r5, r6, 0
- subs r7, 0x1
- cmp r7, r2
- bgt _08023788
-_080237BE:
- mov r2, r8
- ldr r3, _080237DC
- ldr r0, [r3]
- ldr r0, [r0, 0x8]
- subs r0, 0x1
- cmp r2, r0
- blt _08023778
-_080237CC:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080237DC: .4byte gUnknown_3001B5C
- thumb_func_end sub_8023758
-
- thumb_func_start sub_80237E0
-sub_80237E0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r3, _08023864
- ldr r2, [r3]
- ldr r1, [r2, 0x8]
- lsls r0, r1, 1
- adds r0, 0xA
- adds r2, r0
- mov r9, r2
- movs r2, 0
- subs r1, 0x1
- cmp r2, r1
- bge _08023854
-_08023800:
- mov r5, r9
- ldr r0, [r3]
- ldr r0, [r0, 0x8]
- subs r7, r0, 0x1
- adds r0, r2, 0x1
- mov r8, r0
- cmp r7, r2
- ble _08023846
-_08023810:
- subs r6, r5, 0x2
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r1, 0
- str r2, [sp]
- bl GetAlphabetParentNo
- adds r4, r0, 0
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r1, 0
- bl GetAlphabetParentNo
- lsls r4, 16
- lsls r0, 16
- ldr r2, [sp]
- cmp r4, r0
- ble _0802383E
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r6]
- strh r0, [r5]
- strh r1, [r6]
-_0802383E:
- adds r5, r6, 0
- subs r7, 0x1
- cmp r7, r2
- bgt _08023810
-_08023846:
- mov r2, r8
- ldr r3, _08023864
- ldr r0, [r3]
- ldr r0, [r0, 0x8]
- subs r0, 0x1
- cmp r2, r0
- blt _08023800
-_08023854:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08023864: .4byte gUnknown_3001B5C
- thumb_func_end sub_80237E0
-
- thumb_func_start sub_8023868
-sub_8023868:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- mov r8, r1
- mov r9, r2
- mov r10, r3
- bl sub_8024108
- lsls r0, 24
- cmp r0, 0
- beq _08023888
- movs r0, 0
- b _08023A6E
-_08023888:
- ldr r4, _080238AC
- ldr r0, [r4]
- cmp r0, 0
- bne _0802389C
- movs r0, 0xFE
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
-_0802389C:
- ldr r1, [r4]
- str r5, [r1]
- ldr r0, _080238B0
- ldr r0, [r0]
- cmp r0, r5
- beq _080238B4
- movs r0, 0x1
- b _080238B8
- .align 2, 0
-_080238AC: .4byte gUnknown_3001B60
-_080238B0: .4byte gUnknown_203B2A0
-_080238B4:
- ldr r0, _080238E4
- ldr r0, [r0]
-_080238B8:
- str r0, [r1, 0x4]
- ldr r2, _080238E8
- ldr r0, [r2]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r2]
- strb r1, [r0, 0x15]
- ldr r0, [r2]
- strb r1, [r0, 0x16]
- ldr r0, [r2]
- strb r1, [r0, 0x17]
- ldr r0, [r2]
- strb r1, [r0, 0x18]
- ldr r0, [r2]
- ldr r0, [r0]
- cmp r0, 0x4
- bhi _08023980
- lsls r0, 2
- ldr r1, _080238EC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080238E4: .4byte gUnknown_203B2A4
-_080238E8: .4byte gUnknown_3001B60
-_080238EC: .4byte _080238F0
- .align 2, 0
-_080238F0:
- .4byte _08023958
- .4byte _08023904
- .4byte _08023914
- .4byte _08023924
- .4byte _0802393C
-_08023904:
- ldr r0, _08023910
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x18]
- b _08023958
- .align 2, 0
-_08023910: .4byte gUnknown_3001B60
-_08023914:
- ldr r0, _08023920
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x14]
- b _08023958
- .align 2, 0
-_08023920: .4byte gUnknown_3001B60
-_08023924:
- ldr r2, _08023938
- ldr r0, [r2]
- movs r1, 0x1
- strb r1, [r0, 0x17]
- ldr r0, [r2]
- strb r1, [r0, 0x15]
- ldr r0, [r2]
- strb r1, [r0, 0x16]
- b _08023958
- .align 2, 0
-_08023938: .4byte gUnknown_3001B60
-_0802393C:
- ldr r5, _0802397C
- ldr r0, [r5]
- movs r4, 0x1
- strb r4, [r0, 0x18]
- ldr r0, [r5]
- strb r4, [r0, 0x15]
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08023958
- ldr r0, [r5]
- strb r4, [r0, 0x16]
-_08023958:
- ldr r4, _0802397C
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x4
- bne _08023980
- bl sub_80A5728
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- ldr r1, [r4]
- movs r2, 0xD5
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- b _0802398E
- .align 2, 0
-_0802397C: .4byte gUnknown_3001B60
-_08023980:
- ldr r0, _08023A7C
- ldr r0, [r0]
- movs r3, 0xD5
- lsls r3, 2
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
-_0802398E:
- ldr r5, _08023A7C
- ldr r0, [r5]
- movs r4, 0xE3
- lsls r4, 2
- adds r1, r0, r4
- mov r2, r8
- str r2, [r1]
- movs r7, 0xE4
- lsls r7, 2
- adds r2, r0, r7
- mov r3, r8
- lsls r1, r3, 1
- add r1, r8
- lsls r1, 3
- movs r6, 0xE5
- lsls r6, 2
- adds r1, r6
- adds r1, r0, r1
- str r1, [r2]
- adds r0, r6
- bl sub_8006518
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r2, [r4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r6
- ldr r0, _08023A80
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r5]
- adds r0, r2, r7
- ldr r1, [r0]
- movs r4, 0xFD
- lsls r4, 2
- adds r0, r2, r4
- str r0, [r1, 0x14]
- mov r0, r9
- cmp r0, 0
- beq _08023A04
- movs r1, 0xE3
- lsls r1, 2
- adds r0, r2, r1
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- movs r3, 0xE7
- lsls r3, 2
- adds r1, r2, r3
- adds r1, r0
- mov r4, r9
- ldr r0, [r4]
- str r0, [r1]
-_08023A04:
- ldr r0, [r5]
- adds r0, r7
- ldr r0, [r0]
- mov r1, r10
- bl sub_8012D08
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- movs r0, 0xD6
- lsls r0, 2
- adds r4, r0
- bl sub_8023F8C
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r10
- mov r3, r8
- bl sub_8013818
- ldr r0, _08023A84
- ldr r4, [r5]
- ldr r1, [r0]
- ldr r0, [r4]
- cmp r1, r0
- bne _08023A64
- ldr r0, _08023A88
- ldrh r1, [r0]
- movs r2, 0xDC
- lsls r2, 2
- adds r0, r4, r2
- strh r1, [r0]
- ldr r0, _08023A8C
- ldrh r1, [r0]
- ldr r3, _08023A90
- adds r0, r4, r3
- strh r1, [r0]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r4, r1
- bl sub_8013984
-_08023A64:
- bl sub_8023CF4
- bl sub_8023DA4
- movs r0, 0x1
-_08023A6E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08023A7C: .4byte gUnknown_3001B60
-_08023A80: .4byte gUnknown_80DC968
-_08023A84: .4byte gUnknown_203B2A0
-_08023A88: .4byte gUnknown_203B2A8
-_08023A8C: .4byte gUnknown_203B2AA
-_08023A90: .4byte 0x00000376
- thumb_func_end sub_8023868
-
- thumb_func_start sub_8023A94
-sub_8023A94:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _08023AB4
- ldr r0, _08023AB0
- ldr r0, [r0]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r1
- bl sub_8013660
- movs r0, 0
- b _08023B3E
- .align 2, 0
-_08023AB0: .4byte gUnknown_3001B60
-_08023AB4:
- ldr r4, _08023AD0
- ldr r0, [r4]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r1
- bl GetKeyPress
- cmp r0, 0x2
- beq _08023ADE
- cmp r0, 0x2
- bgt _08023AD4
- cmp r0, 0x1
- beq _08023AF2
- b _08023B16
- .align 2, 0
-_08023AD0: .4byte gUnknown_3001B60
-_08023AD4:
- cmp r0, 0x3
- beq _08023AFC
- cmp r0, 0x4
- beq _08023AE8
- b _08023B16
-_08023ADE:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _08023B3E
-_08023AE8:
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _08023B3E
-_08023AF2:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _08023B3E
-_08023AFC:
- movs r0, 0x5
- bl PlayMenuSoundEffect
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- movs r2, 0x1
- cmp r1, 0x2
- bhi _08023B0E
- adds r2, r1, 0x1
-_08023B0E:
- str r2, [r0, 0x4]
- bl sub_8023F8C
- b _08023B34
-_08023B16:
- ldr r0, _08023B30
- ldr r0, [r0]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _08023B34
- movs r0, 0
- b _08023B3E
- .align 2, 0
-_08023B30: .4byte gUnknown_3001B60
-_08023B34:
- bl sub_8023CF4
- bl sub_8023DA4
- movs r0, 0x1
-_08023B3E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8023A94
-
- thumb_func_start sub_8023B44
-sub_8023B44:
- ldr r0, _08023B74
- ldr r0, [r0]
- ldr r2, _08023B78
- adds r1, r0, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- movs r3, 0xDD
- lsls r3, 2
- adds r1, r0, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- muls r1, r2
- movs r3, 0xDC
- lsls r3, 2
- adds r2, r0, r3
- movs r3, 0
- ldrsh r2, [r2, r3]
- adds r1, r2
- lsls r1, 1
- adds r0, 0x1A
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08023B74: .4byte gUnknown_3001B60
-_08023B78: .4byte 0x00000376
- thumb_func_end sub_8023B44
-
- thumb_func_start sub_8023B7C
-sub_8023B7C:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetUnusedInputStruct
- ldr r5, _08023BD0
- ldr r0, [r5]
- movs r1, 0xE5
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_8023BD8
- adds r2, r0, 0
- ldr r0, [r5]
- ldr r3, _08023BD4
- adds r1, r0, r3
- strh r2, [r1]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r1
- bl sub_8013984
- bl sub_8023CF4
- bl sub_8023DA4
- cmp r4, 0
- beq _08023BCA
- ldr r0, [r5]
- movs r3, 0xD6
- lsls r3, 2
- adds r0, r3
- bl AddMenuCursorSprite
-_08023BCA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08023BD0: .4byte gUnknown_3001B60
-_08023BD4: .4byte 0x0000037a
- thumb_func_end sub_8023B7C
-
- thumb_func_start sub_8023BD8
-sub_8023BD8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r3, 0
- ldr r1, _08023C58
- ldr r0, [r1]
- ldr r0, [r0, 0x8]
- adds r7, r1, 0
- cmp r3, r0
- bge _08023C4A
- ldr r0, _08023C5C
- mov r8, r0
- mov r12, r7
-_08023BF2:
- ldr r2, [r1]
- lsls r4, r3, 1
- adds r0, r2, 0
- adds r0, 0x1A
- adds r0, r4
- movs r5, 0
- ldrsh r1, [r0, r5]
- movs r0, 0x58
- muls r0, r1
- mov r5, r8
- ldr r1, [r5]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- adds r6, r3, 0x1
- cmp r0, 0
- bne _08023C3E
- ldr r0, [r2, 0x8]
- subs r0, 0x1
- str r0, [r2, 0x8]
- cmp r3, r0
- bge _08023C3E
- mov r5, r12
- adds r4, 0x2
-_08023C24:
- ldr r2, [r5]
- lsls r1, r3, 1
- adds r0, r2, 0
- adds r0, 0x1A
- adds r1, r0, r1
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r4, 0x2
- adds r3, 0x1
- ldr r0, [r2, 0x8]
- cmp r3, r0
- blt _08023C24
-_08023C3E:
- adds r3, r6, 0
- adds r1, r7, 0
- ldr r0, [r7]
- ldr r0, [r0, 0x8]
- cmp r3, r0
- blt _08023BF2
-_08023C4A:
- ldr r0, [r7]
- ldr r0, [r0, 0x8]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08023C58: .4byte gUnknown_3001B60
-_08023C5C: .4byte gRecruitedPokemonRef
- thumb_func_end sub_8023BD8
-
- thumb_func_start sub_8023C60
-sub_8023C60:
- push {r4-r6,lr}
- ldr r5, _08023CCC
- ldr r2, [r5]
- cmp r2, 0
- beq _08023CC6
- ldr r1, _08023CD0
- ldr r0, [r2]
- str r0, [r1]
- ldr r1, _08023CD4
- ldr r0, [r2, 0x4]
- str r0, [r1]
- ldr r1, _08023CD8
- movs r3, 0xDC
- lsls r3, 2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _08023CDC
- ldr r6, _08023CE0
- adds r0, r2, r6
- ldrh r0, [r0]
- strh r0, [r1]
- movs r1, 0xE3
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- movs r4, 0xE5
- lsls r4, 2
- adds r1, r4
- ldr r0, _08023CE4
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- bl MemoryFree
- movs r0, 0
- str r0, [r5]
-_08023CC6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08023CCC: .4byte gUnknown_3001B60
-_08023CD0: .4byte gUnknown_203B2A0
-_08023CD4: .4byte gUnknown_203B2A4
-_08023CD8: .4byte gUnknown_203B2A8
-_08023CDC: .4byte gUnknown_203B2AA
-_08023CE0: .4byte 0x00000376
-_08023CE4: .4byte gUnknown_80DC950
- thumb_func_end sub_8023C60
-
- thumb_func_start sub_8023CE8
-sub_8023CE8:
- ldr r0, _08023CF0
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08023CF0: .4byte gUnknown_3001B60
- thumb_func_end sub_8023CE8
-
- thumb_func_start sub_8023CF4
-sub_8023CF4:
- push {r4,r5,lr}
- ldr r2, _08023D28
- ldr r0, [r2]
- movs r1, 0xFD
- lsls r1, 2
- adds r0, r1
- movs r3, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _08023D2C
- adds r0, r1
- strb r3, [r0]
- ldr r0, [r2]
- adds r1, 0x2
- adds r0, r1
- strb r3, [r0]
- ldr r1, [r2]
- ldr r0, [r1]
- adds r5, r2, 0
- cmp r0, 0x2
- bne _08023D34
- ldr r0, _08023D30
- adds r1, r0
- b _08023D38
- .align 2, 0
-_08023D28: .4byte gUnknown_3001B60
-_08023D2C: .4byte 0x000003f5
-_08023D30: .4byte 0x000003f6
-_08023D34:
- ldr r2, _08023D98
- adds r1, r2
-_08023D38:
- movs r0, 0xC
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, _08023D9C
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- ldr r3, [r5]
- movs r1, 0xE3
- lsls r1, 2
- adds r4, r3, r1
- ldr r2, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r3, r1
- ldr r2, _08023DA0
- adds r1, r2
- lsls r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r2, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r3, r1
- movs r1, 0xE9
- lsls r1, 2
- adds r3, r1
- strh r0, [r3]
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- movs r2, 0xE5
- lsls r2, 2
- adds r0, r2
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08023D98: .4byte 0x000003f6
-_08023D9C: .4byte 0x00000372
-_08023DA0: .4byte 0x000003a2
- thumb_func_end sub_8023CF4
-
- thumb_func_start sub_8023DA4
-sub_8023DA4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x58
- ldr r4, _08023DD8
- ldr r0, [r4]
- movs r5, 0xE3
- lsls r5, 2
- adds r0, r5
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, r5
- ldr r0, [r0]
- bl sub_80073B8
- ldr r0, [r4]
- ldr r1, [r0]
- cmp r1, 0x2
- beq _08023DE0
- cmp r1, 0x4
- beq _08023E00
- ldr r2, _08023DDC
- b _08023E02
- .align 2, 0
-_08023DD8: .4byte gUnknown_3001B60
-_08023DDC: .4byte gUnknown_80DC988
-_08023DE0:
- add r0, sp, 0x8
- bl sub_80920D8
- ldr r0, [r4]
- movs r1, 0xE3
- lsls r1, 2
- adds r0, r1
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- add r2, sp, 0x8
- bl xxx_call_draw_string
- b _08023E3C
-_08023E00:
- ldr r2, _08023EBC
-_08023E02:
- adds r0, r5
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, [r4]
- ldr r2, _08023EC0
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r3, r0, 0x4
- ldr r4, _08023EC4
- adds r0, r1, r4
- movs r4, 0
- ldrsh r2, [r0, r4]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- adds r1, r5
- ldr r0, [r1]
- str r0, [sp, 0x4]
- adds r0, r3, 0
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
-_08023E3C:
- movs r7, 0
- ldr r1, _08023EC8
- ldr r0, [r1]
- ldr r2, _08023ECC
- adds r0, r2
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r7, r0
- blt _08023E50
- b _08023F62
-_08023E50:
- mov r8, r1
- add r0, sp, 0x30
- mov r9, r0
-_08023E56:
- ldr r3, [r1]
- ldr r1, _08023EC4
- adds r0, r3, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r4, 0xDD
- lsls r4, 2
- adds r0, r3, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- muls r1, r0
- adds r1, r7
- lsls r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r1
- movs r4, 0
- ldrsh r5, [r0, r4]
- ldr r2, _08023ED0
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- movs r6, 0x7
- ldrh r0, [r4]
- lsrs r0, 1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08023ED4
- movs r0, 0
- ldrb r1, [r4, 0x4]
- cmp r1, 0x41
- bne _08023E9E
- movs r0, 0x1
-_08023E9E:
- cmp r0, 0
- beq _08023EA4
- movs r6, 0x6
-_08023EA4:
- movs r0, 0
- cmp r1, 0x40
- bne _08023EAC
- movs r0, 0x1
-_08023EAC:
- cmp r0, 0
- beq _08023EB2
- movs r6, 0x6
-_08023EB2:
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _08023EEA
- movs r6, 0x5
- b _08023EEA
- .align 2, 0
-_08023EBC: .4byte gUnknown_80DC980
-_08023EC0: .4byte 0x000003f6
-_08023EC4: .4byte 0x00000376
-_08023EC8: .4byte gUnknown_3001B60
-_08023ECC: .4byte 0x00000372
-_08023ED0: .4byte gRecruitedPokemonRef
-_08023ED4:
- ldrb r0, [r3, 0x18]
- cmp r0, 0
- beq _08023EEA
- adds r0, r5, 0
- bl sub_808D750
- lsls r0, 24
- movs r6, 0x2
- cmp r0, 0
- beq _08023EEA
- movs r6, 0x4
-_08023EEA:
- mov r0, r8
- ldr r1, [r0]
- ldr r0, [r1]
- cmp r0, 0x4
- bne _08023F02
- movs r2, 0xD5
- lsls r2, 2
- adds r0, r1, r2
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_8024184
-_08023F02:
- adds r1, r4, 0
- adds r1, 0x4C
- mov r0, r9
- movs r2, 0xA
- bl sub_80922B4
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- add r0, sp, 0x44
- bl sub_808D930
- add r0, sp, 0x8
- ldr r1, _08023F80
- adds r2, r6, 0
- mov r3, r9
- bl sub_800D158
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0xD6
- lsls r2, 2
- adds r0, r2
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- mov r4, r8
- ldr r0, [r4]
- movs r2, 0xE3
- lsls r2, 2
- adds r0, r2
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x8
- bl xxx_call_draw_string
- adds r7, 0x1
- mov r1, r8
- ldr r0, [r4]
- ldr r4, _08023F84
- adds r0, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r7, r0
- bge _08023F62
- b _08023E56
-_08023F62:
- ldr r0, _08023F88
- ldr r0, [r0]
- movs r4, 0xE3
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0x58
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08023F80: .4byte gUnknown_80DC998
-_08023F84: .4byte 0x00000372
-_08023F88: .4byte gUnknown_3001B60
- thumb_func_end sub_8023DA4
-
- thumb_func_start sub_8023F8C
-sub_8023F8C:
- push {r4-r7,lr}
- ldr r2, _08023FD0
- ldr r1, [r2]
- movs r0, 0
- str r0, [r1, 0x8]
- ldrb r0, [r1, 0x15]
- adds r6, r2, 0
- cmp r0, 0
- bne _08023FE2
- movs r4, 0
- ldr r2, _08023FD4
-_08023FA2:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [r2]
- adds r1, r0, r1
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _08023FD8
- ldrb r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08023FD8
- ldr r3, [r6]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r2
- strh r4, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
- b _08023FE2
- .align 2, 0
-_08023FD0: .4byte gUnknown_3001B60
-_08023FD4: .4byte gRecruitedPokemonRef
-_08023FD8:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08023FA2
-_08023FE2:
- ldr r0, [r6]
- ldrb r0, [r0, 0x16]
- cmp r0, 0
- bne _08024042
- movs r4, 0
- ldr r3, _08024034
-_08023FEE:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [r3]
- adds r1, r0, r1
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08024002
- movs r2, 0x1
-_08024002:
- cmp r2, 0
- beq _08024038
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _08024038
- ldrh r1, [r1]
- lsrs r0, r1, 1
- movs r2, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08024038
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08024038
- ldr r3, [r6]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r2
- strh r4, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
- b _08024042
- .align 2, 0
-_08024034: .4byte gRecruitedPokemonRef
-_08024038:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08023FEE
-_08024042:
- ldr r0, [r6]
- ldr r1, [r0, 0x8]
- str r1, [r0, 0xC]
- ldrb r0, [r0, 0x17]
- cmp r0, 0
- bne _080240A4
- movs r4, 0
- ldr r7, _08024100
- movs r5, 0x1
-_08024054:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [r7]
- adds r1, r0, r1
- ldrh r2, [r1]
- lsrs r0, r2, 1
- ands r0, r5
- cmp r0, 0
- beq _0802409A
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _0802409A
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _0802409A
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08024080
- movs r2, 0x1
-_08024080:
- cmp r2, 0
- bne _0802409A
- ldr r3, [r6]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r2
- strh r4, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
- cmp r1, 0x3
- bgt _080240A4
-_0802409A:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08024054
-_080240A4:
- ldr r0, [r6]
- ldr r1, [r0, 0x8]
- str r1, [r0, 0x10]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080240EE
- movs r4, 0
- ldr r7, _08024100
- movs r5, 0x1
-_080240B6:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [r7]
- adds r1, r0, r1
- ldrh r1, [r1]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080240E4
- lsrs r0, r1, 1
- ands r0, r5
- cmp r0, 0
- bne _080240E4
- ldr r3, [r6]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r2
- strh r4, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
-_080240E4:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _080240B6
-_080240EE:
- bl sub_80241A8
- ldr r0, _08024104
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08024100: .4byte gRecruitedPokemonRef
-_08024104: .4byte gUnknown_3001B60
- thumb_func_end sub_8023F8C
-
- thumb_func_start sub_8024108
-sub_8024108:
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r7, 0
- movs r6, 0x1
-_08024110:
- ldr r2, _08024134
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldrh r1, [r4]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08024172
- cmp r5, 0x2
- bne _08024138
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _08024172
- b _0802416E
- .align 2, 0
-_08024134: .4byte gRecruitedPokemonRef
-_08024138:
- cmp r5, 0x3
- bne _08024140
- lsrs r0, r1, 1
- b _08024168
-_08024140:
- cmp r5, 0x4
- bne _0802416E
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _08024172
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _0802416E
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _08024160
- movs r1, 0x1
-_08024160:
- cmp r1, 0
- beq _0802416E
- ldrh r0, [r4]
- lsrs r0, 1
-_08024168:
- ands r0, r6
- cmp r0, 0
- bne _08024172
-_0802416E:
- movs r0, 0
- b _0802417E
-_08024172:
- adds r7, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- ble _08024110
- movs r0, 0x1
-_0802417E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8024108
-
- thumb_func_start sub_8024184
-sub_8024184:
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _0802419E
- movs r0, 0
- b _080241A0
-_0802419E:
- movs r0, 0x1
-_080241A0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8024184
-
- thumb_func_start sub_80241A8
-sub_80241A8:
- push {r4,lr}
- ldr r4, _080241C0
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- cmp r0, 0x2
- beq _080241CA
- cmp r0, 0x2
- bhi _080241C4
- cmp r0, 0x1
- beq _08024206
- b _08024222
- .align 2, 0
-_080241C0: .4byte gUnknown_3001B60
-_080241C4:
- cmp r0, 0x3
- beq _080241E8
- b _08024222
-_080241CA:
- ldr r0, [r1, 0xC]
- ldr r1, [r1, 0x10]
- cmp r0, r1
- beq _080241D6
- bl sub_80242D0
-_080241D6:
- ldr r0, [r4]
- ldr r2, [r0, 0x10]
- ldr r1, [r0, 0x8]
- cmp r2, r1
- beq _08024222
- adds r0, r2, 0
- bl sub_80242D0
- b _08024222
-_080241E8:
- ldr r0, [r1, 0xC]
- ldr r1, [r1, 0x10]
- cmp r0, r1
- beq _080241F4
- bl sub_802437C
-_080241F4:
- ldr r0, [r4]
- ldr r2, [r0, 0x10]
- ldr r1, [r0, 0x8]
- cmp r2, r1
- beq _08024222
- adds r0, r2, 0
- bl sub_802437C
- b _08024222
-_08024206:
- ldr r0, [r1, 0xC]
- ldr r1, [r1, 0x10]
- cmp r0, r1
- beq _08024212
- bl sub_8024228
-_08024212:
- ldr r0, [r4]
- ldr r2, [r0, 0x10]
- ldr r1, [r0, 0x8]
- cmp r2, r1
- beq _08024222
- adds r0, r2, 0
- bl sub_8024228
-_08024222:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80241A8
-
- thumb_func_start sub_8024228
-sub_8024228:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r3, _080242C8
- lsls r2, r1, 1
- adds r2, 0x18
- ldr r3, [r3]
- adds r3, r2
- str r3, [sp]
- adds r2, r0, 0
- subs r1, 0x1
- cmp r2, r1
- bge _080242B8
- str r1, [sp, 0x4]
-_0802424A:
- ldr r5, [sp]
- adds r7, r1, 0
- adds r0, r2, 0x1
- mov r10, r0
- cmp r7, r2
- ble _080242B0
- ldr r3, _080242CC
- mov r9, r3
- movs r0, 0x58
- mov r8, r0
-_0802425E:
- mov r3, r9
- ldr r1, [r3]
- subs r6, r5, 0x2
- movs r3, 0
- ldrsh r0, [r6, r3]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r1, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- str r2, [sp, 0x8]
- bl GetInternalNo
- adds r4, r0, 0
- mov r0, r9
- ldr r1, [r0]
- movs r3, 0
- ldrsh r0, [r5, r3]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r1, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- bl GetInternalNo
- lsls r4, 16
- lsls r0, 16
- ldr r2, [sp, 0x8]
- cmp r4, r0
- ble _080242A8
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r6]
- strh r0, [r5]
- strh r1, [r6]
-_080242A8:
- adds r5, r6, 0
- subs r7, 0x1
- cmp r7, r2
- bgt _0802425E
-_080242B0:
- mov r2, r10
- ldr r1, [sp, 0x4]
- cmp r2, r1
- blt _0802424A
-_080242B8:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080242C8: .4byte gUnknown_3001B60
-_080242CC: .4byte gRecruitedPokemonRef
- thumb_func_end sub_8024228
-
- thumb_func_start sub_80242D0
-sub_80242D0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r3, _08024374
- lsls r2, r1, 1
- adds r2, 0x18
- ldr r3, [r3]
- adds r3, r2
- str r3, [sp]
- adds r2, r0, 0
- subs r1, 0x1
- cmp r2, r1
- bge _08024364
- str r1, [sp, 0x4]
-_080242F2:
- ldr r5, [sp]
- adds r7, r1, 0
- adds r0, r2, 0x1
- mov r10, r0
- cmp r7, r2
- ble _0802435C
- ldr r3, _08024378
- mov r9, r3
- movs r0, 0x58
- mov r8, r0
-_08024306:
- mov r3, r9
- ldr r1, [r3]
- subs r6, r5, 0x2
- movs r3, 0
- ldrsh r0, [r6, r3]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r1, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- movs r1, 0
- str r2, [sp, 0x8]
- bl GetAlphabetParentNo
- adds r4, r0, 0
- mov r0, r9
- ldr r1, [r0]
- movs r3, 0
- ldrsh r0, [r5, r3]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r1, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- movs r1, 0
- bl GetAlphabetParentNo
- lsls r4, 16
- lsls r0, 16
- ldr r2, [sp, 0x8]
- cmp r4, r0
- ble _08024354
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r6]
- strh r0, [r5]
- strh r1, [r6]
-_08024354:
- adds r5, r6, 0
- subs r7, 0x1
- cmp r7, r2
- bgt _08024306
-_0802435C:
- mov r2, r10
- ldr r1, [sp, 0x4]
- cmp r2, r1
- blt _080242F2
-_08024364:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024374: .4byte gUnknown_3001B60
-_08024378: .4byte gRecruitedPokemonRef
- thumb_func_end sub_80242D0
-
- thumb_func_start sub_802437C
-sub_802437C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r3, _080243E4
- lsls r2, r1, 1
- adds r2, 0x18
- ldr r3, [r3]
- adds r3, r2
- mov r10, r3
- adds r7, r0, 0
- subs r1, 0x1
- cmp r7, r1
- bge _080243D6
- mov r9, r1
-_0802439C:
- mov r4, r10
- adds r6, r1, 0
- adds r0, r7, 0x1
- mov r8, r0
- cmp r6, r7
- ble _080243CE
-_080243A8:
- subs r5, r4, 0x2
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl sub_808D864
- lsls r0, 24
- cmp r0, 0
- beq _080243C6
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldrh r0, [r5]
- strh r0, [r4]
- strh r1, [r5]
-_080243C6:
- adds r4, r5, 0
- subs r6, 0x1
- cmp r6, r7
- bgt _080243A8
-_080243CE:
- mov r7, r8
- mov r1, r9
- cmp r7, r1
- blt _0802439C
-_080243D6:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080243E4: .4byte gUnknown_3001B60
- thumb_func_end sub_802437C
-
- thumb_func_start sub_80243E8
-sub_80243E8:
- push {r4,r5,lr}
- sub sp, 0x3C
- ldr r3, _08024448
- ldr r0, _0802444C
- ldr r0, [r0]
- ldr r2, _08024450
- adds r1, r0, r2
- movs r4, 0
- ldrsh r2, [r1, r4]
- movs r4, 0xDD
- lsls r4, 2
- adds r1, r0, r4
- movs r4, 0
- ldrsh r1, [r1, r4]
- muls r1, r2
- movs r4, 0xDC
- lsls r4, 2
- adds r2, r0, r4
- movs r4, 0
- ldrsh r2, [r2, r4]
- adds r1, r2
- lsls r1, 1
- adds r0, 0x1A
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x58
- muls r0, r1
- ldr r4, [r3]
- adds r4, r0
- add r5, sp, 0x28
- adds r1, r4, 0
- adds r1, 0x4C
- adds r0, r5, 0
- movs r2, 0xA
- bl sub_80922B4
- ldr r1, _08024454
- mov r0, sp
- adds r2, r5, 0
- bl sub_800D158
- adds r0, r4, 0
- add sp, 0x3C
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08024448: .4byte gRecruitedPokemonRef
-_0802444C: .4byte gUnknown_3001B60
-_08024450: .4byte 0x00000376
-_08024454: .4byte gUnknown_80DC9A4
- thumb_func_end sub_80243E8
-
- thumb_func_start sub_8024458
-sub_8024458:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- asrs r4, 16
- ldr r6, _080244DC
- movs r0, 0xA6
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- adds r1, r0, 0
- adds r1, 0x48
- strh r4, [r1]
- adds r1, 0x98
- str r5, [r1]
- adds r2, r0, 0
- adds r2, 0xE4
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0xE8
- adds r1, r0, r1
- str r1, [r2]
- adds r0, 0xE8
- bl sub_8006518
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xE0
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0xE8
- ldr r0, _080244E0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0xE4
- ldr r1, [r0]
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r2, r3
- str r0, [r1, 0x14]
- movs r4, 0xA5
- lsls r4, 1
- adds r1, r2, r4
- movs r0, 0xA
- strb r0, [r1]
- bl sub_8024604
- bl sub_802452C
- ldr r0, [r6]
- bl sub_8013984
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080244DC: .4byte gUnknown_203B2AC
-_080244E0: .4byte gUnknown_80DC9C8
- thumb_func_end sub_8024458
-
- thumb_func_start sub_80244E4
-sub_80244E4:
- push {r4,lr}
- ldr r4, _08024500
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _08024504
- cmp r0, 0x2
- bne _0802450E
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _08024524
- .align 2, 0
-_08024500: .4byte gUnknown_203B2AC
-_08024504:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _08024524
-_0802450E:
- ldr r0, [r4]
- bl sub_8013938
- lsls r0, 24
- cmp r0, 0
- bne _0802451E
- movs r0, 0
- b _08024524
-_0802451E:
- bl sub_802452C
- movs r0, 0x1
-_08024524:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80244E4
-
- thumb_func_start sub_802452C
-sub_802452C:
- push {lr}
- bl sub_8024588
- bl sub_80245D0
- pop {r0}
- bx r0
- thumb_func_end sub_802452C
-
- thumb_func_start sub_802453C
-sub_802453C:
- push {r4,r5,lr}
- ldr r4, _08024580
- ldr r2, [r4]
- cmp r2, 0
- beq _0802457A
- adds r0, r2, 0
- adds r0, 0xE0
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0xE8
- ldr r0, _08024584
- 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, 0xE8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802457A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08024580: .4byte gUnknown_203B2AC
-_08024584: .4byte gUnknown_80DC9B0
- thumb_func_end sub_802453C
-
- thumb_func_start sub_8024588
-sub_8024588:
- push {r4,lr}
- ldr r4, _080245C4
- ldr r0, [r4]
- ldrh r1, [r0, 0x20]
- movs r2, 0xA4
- lsls r2, 1
- adds r0, r2
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldrh r1, [r0, 0x1E]
- ldr r3, _080245C8
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080245CC
- adds r0, r1
- strb r2, [r0]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0xE8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080245C4: .4byte gUnknown_203B2AC
-_080245C8: .4byte 0x00000149
-_080245CC: .4byte 0x0000014b
- thumb_func_end sub_8024588
-
- thumb_func_start sub_80245D0
-sub_80245D0:
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08024600
- ldr r4, [r0]
- movs r0, 0x1E
- ldrsh r1, [r4, r0]
- lsls r2, r1, 2
- adds r0, r4, 0
- adds r0, 0x34
- adds r0, r2
- ldr r0, [r0]
- adds r2, r4, 0
- adds r2, 0x4C
- adds r3, r4, 0
- adds r3, 0xB0
- adds r4, 0xE0
- ldr r4, [r4]
- str r4, [sp]
- bl sub_808F844
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08024600: .4byte gUnknown_203B2AC
- thumb_func_end sub_80245D0
-
- thumb_func_start sub_8024604
-sub_8024604:
- push {r4,r5,lr}
- ldr r4, _08024654
- ldr r0, [r4]
- movs r1, 0x2
- str r1, [r0, 0x34]
- movs r1, 0x3
- str r1, [r0, 0x38]
- movs r1, 0x5
- str r1, [r0, 0x3C]
- adds r1, r0, 0
- adds r1, 0xE0
- ldr r3, [r1]
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8013818
- ldr r0, [r4]
- adds r5, r0, 0
- adds r5, 0x4C
- ldr r2, _08024658
- adds r0, 0x48
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r0, 0x58
- muls r0, r1
- ldr r4, [r2]
- adds r4, r0
- movs r0, 0x7
- bl sub_80023E4
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_808FF20
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08024654: .4byte gUnknown_203B2AC
-_08024658: .4byte gRecruitedPokemonRef
- thumb_func_end sub_8024604
-
- thumb_func_start sub_802465C
-sub_802465C:
- push {r4,r5,lr}
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _080246E8
- movs r0, 0xBA
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r4, 0
- str r4, [r0, 0x28]
- str r4, [r0, 0x2C]
- str r4, [r0, 0x30]
- bl sub_808D33C
- ldr r1, [r5]
- str r0, [r1, 0xC]
- bl sub_808D824
- ldr r1, [r5]
- strb r0, [r1, 0x10]
- ldr r0, [r5]
- strb r4, [r0]
- ldr r0, _080246EC
- bl GetDialogueSpriteDataPtr
- ldr r2, [r5]
- movs r3, 0x82
- lsls r3, 1
- adds r1, r2, r3
- str r0, [r1]
- adds r3, 0x4
- adds r1, r2, r3
- ldr r0, [r0, 0x4]
- str r0, [r1]
- movs r1, 0x88
- lsls r1, 1
- adds r0, r2, r1
- strb r4, [r0]
- ldr r0, [r5]
- adds r3, 0x9
- adds r0, r3
- strb r4, [r0]
- ldr r0, [r5]
- adds r1, 0x2
- adds r0, r1
- strb r4, [r0]
- ldr r2, [r5]
- subs r3, 0x5
- adds r1, r2, r3
- movs r0, 0x2
- strh r0, [r1]
- movs r0, 0x87
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_80247EC
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080246E8: .4byte gUnknown_203B2B0
-_080246EC: .4byte 0x00000155
- thumb_func_end sub_802465C
-
- thumb_func_start sub_80246F0
-sub_80246F0:
- push {lr}
- ldr r0, _08024708
- ldr r0, [r0]
- ldr r0, [r0, 0x20]
- cmp r0, 0x15
- bhi _080247A8
- lsls r0, 2
- ldr r1, _0802470C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08024708: .4byte gUnknown_203B2B0
-_0802470C: .4byte _08024710
- .align 2, 0
-_08024710:
- .4byte _08024768
- .4byte _08024768
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A4
- .4byte _0802476E
- .4byte _08024774
- .4byte _08024774
- .4byte _0802477A
- .4byte _08024780
- .4byte _08024786
- .4byte _0802478C
- .4byte _0802478C
- .4byte _08024792
- .4byte _08024798
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A8
- .4byte _0802479E
-_08024768:
- bl sub_8024E9C
- b _080247AC
-_0802476E:
- bl sub_8024F00
- b _080247AC
-_08024774:
- bl sub_8024FD4
- b _080247AC
-_0802477A:
- bl sub_80250EC
- b _080247AC
-_08024780:
- bl sub_80251CC
- b _080247AC
-_08024786:
- bl sub_8024F70
- b _080247AC
-_0802478C:
- bl sub_8025058
- b _080247AC
-_08024792:
- bl sub_802515C
- b _080247AC
-_08024798:
- bl sub_80251E8
- b _080247AC
-_0802479E:
- bl sub_8025204
- b _080247AC
-_080247A4:
- movs r0, 0x3
- b _080247AE
-_080247A8:
- bl sub_8025230
-_080247AC:
- movs r0, 0
-_080247AE:
- pop {r1}
- bx r1
- thumb_func_end sub_80246F0
-
- thumb_func_start sub_80247B4
-sub_80247B4:
- ldr r0, _080247BC
- ldr r0, [r0]
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080247BC: .4byte gUnknown_203B2B0
- thumb_func_end sub_80247B4
-
- thumb_func_start sub_80247C0
-sub_80247C0:
- push {r4,lr}
- ldr r4, _080247E8
- ldr r0, [r4]
- cmp r0, 0
- beq _080247E0
- movs r1, 0x82
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080247E0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080247E8: .4byte gUnknown_203B2B0
- thumb_func_end sub_80247C0
-
- thumb_func_start sub_80247EC
-sub_80247EC:
- push {lr}
- ldr r1, _08024800
- ldr r1, [r1]
- str r0, [r1, 0x20]
- bl sub_8024804
- bl sub_80248FC
- pop {r0}
- bx r0
- .align 2, 0
-_08024800: .4byte gUnknown_203B2B0
- thumb_func_end sub_80247EC
-
- thumb_func_start sub_8024804
-sub_8024804:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0802482C
- ldr r0, [r4]
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x20]
- subs r0, 0x8
- cmp r0, 0x14
- bhi _080248A8
- lsls r0, 2
- ldr r1, _08024830
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802482C: .4byte gUnknown_203B2B0
-_08024830: .4byte _08024834
- .align 2, 0
-_08024834:
- .4byte _08024888
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248A8
- .4byte _08024888
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
-_08024888:
- ldr r0, _080248A0
- ldr r1, [r0]
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r0, _080248A4
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- b _080248D2
- .align 2, 0
-_080248A0: .4byte gUnknown_203B2B0
-_080248A4: .4byte gUnknown_80DCA00
-_080248A8:
- ldr r3, _080248F4
- mov r12, r3
- movs r4, 0x8A
- lsls r4, 1
- mov r8, r4
- ldr r4, _080248F8
- movs r3, 0
- movs r2, 0x3
-_080248B8:
- 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 _080248B8
-_080248D2:
- bl ResetUnusedInputStruct
- ldr r0, _080248F4
- ldr r0, [r0]
- movs r6, 0x8A
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080248F4: .4byte gUnknown_203B2B0
-_080248F8: .4byte gUnknown_80DC9E8
- thumb_func_end sub_8024804
-
- thumb_func_start sub_80248FC
-sub_80248FC:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _08024918
- ldr r0, [r1]
- ldr r0, [r0, 0x20]
- adds r5, r1, 0
- cmp r0, 0x1D
- bls _0802490E
- b _08024CF4
-_0802490E:
- lsls r0, 2
- ldr r1, _0802491C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08024918: .4byte gUnknown_203B2B0
-_0802491C: .4byte _08024920
- .align 2, 0
-_08024920:
- .4byte _08024998
- .4byte _080249D0
- .4byte _080249E8
- .4byte _080249F8
- .4byte _08024CF4
- .4byte _08024A14
- .4byte _08024A20
- .4byte _08024A2E
- .4byte _08024A94
- .4byte _08024AC0
- .4byte _08024A36
- .4byte _08024A68
- .4byte _08024A76
- .4byte _08024A94
- .4byte _08024AC0
- .4byte _08024ACA
- .4byte _08024AD8
- .4byte _08024AE8
- .4byte _08024B4C
- .4byte _08024B74
- .4byte _08024C9C
- .4byte _08024CC8
- .4byte _08024C1C
- .4byte _08024C2C
- .4byte _08024C3C
- .4byte _08024C4C
- .4byte _08024C5C
- .4byte _08024C6C
- .4byte _08024C7C
- .4byte _08024C8C
-_08024998:
- bl sub_80252B8
- lsls r0, 24
- cmp r0, 0
- beq _080249B0
- ldr r0, _080249AC
- ldr r1, [r0]
- movs r0, 0x3
- b _080249B6
- .align 2, 0
-_080249AC: .4byte gUnknown_203B2B0
-_080249B0:
- ldr r0, _080249C8
- ldr r1, [r0]
- movs r0, 0x1
-_080249B6:
- str r0, [r1, 0x28]
- bl sub_8024CFC
- ldr r0, _080249CC
- ldr r1, _080249C8
- ldr r1, [r1]
- ldr r2, [r1, 0x28]
- b _08024A42
- .align 2, 0
-_080249C8: .4byte gUnknown_203B2B0
-_080249CC: .4byte gUnknown_80DCA34
-_080249D0:
- bl sub_8024CFC
- ldr r0, _080249E0
- ldr r1, _080249E4
- ldr r1, [r1]
- ldr r2, [r1, 0x28]
- b _08024A42
- .align 2, 0
-_080249E0: .4byte gUnknown_80DCAB8
-_080249E4: .4byte gUnknown_203B2B0
-_080249E8:
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1, 0x24]
- ldr r0, _080249F4
- b _08024CAE
- .align 2, 0
-_080249F4: .4byte gUnknown_80DCAD0
-_080249F8:
- ldr r1, [r5]
- movs r0, 0x4
- str r0, [r1, 0x24]
- movs r0, 0x8
- movs r1, 0x3C
- bl xxx_call_fade_in_new_bgm
- ldr r0, _08024A0C
- ldr r3, _08024A10
- b _08024CB0
- .align 2, 0
-_08024A0C: .4byte gUnknown_80DCD5C
-_08024A10: .4byte 0x00000305
-_08024A14:
- bl sub_8024D48
- ldr r0, _08024A1C
- b _08024A3C
- .align 2, 0
-_08024A1C: .4byte gUnknown_80DCD90
-_08024A20:
- movs r0, 0x2
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08024CF4
-_08024A2E:
- movs r0, 0x1
- bl sub_801A8D0
- b _08024CF4
-_08024A36:
- bl sub_8024DBC
- ldr r0, _08024A60
-_08024A3C:
- ldr r1, _08024A64
- ldr r1, [r1]
- ldr r2, [r1, 0x2C]
-_08024A42:
- adds r3, r1, 0
- adds r3, 0x34
- adds r1, 0x74
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r1, 0x5
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _08024CF4
- .align 2, 0
-_08024A60: .4byte gUnknown_80DCDB8
-_08024A64: .4byte gUnknown_203B2B0
-_08024A68:
- movs r0, 0x2
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08024A7C
-_08024A76:
- movs r0, 0x1
- bl sub_801A8D0
-_08024A7C:
- ldr r0, _08024A90
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- movs r1, 0x1
- bl sub_801AEE4
- bl sub_801A9E0
- b _08024CF4
- .align 2, 0
-_08024A90: .4byte gUnknown_203B2B0
-_08024A94:
- bl sub_801A9E0
- bl sub_8024E30
- ldr r0, _08024ABC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x84
- adds r1, r2, 0
- adds r1, 0x34
- adds r3, r2, 0
- adds r3, 0x74
- ldr r2, [r2, 0x30]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08024CF4
- .align 2, 0
-_08024ABC: .4byte gUnknown_203B2B0
-_08024AC0:
- ldr r0, [r5]
- adds r0, 0x1C
- bl sub_801B3C0
- b _08024CF4
-_08024ACA:
- ldr r1, [r5]
- movs r0, 0x5
- str r0, [r1, 0x24]
- ldr r0, _08024AD4
- b _08024CAE
- .align 2, 0
-_08024AD4: .4byte gUnknown_80DCDDC
-_08024AD8:
- ldr r1, [r5]
- movs r0, 0xA
- str r0, [r1, 0x24]
- ldr r0, _08024AE4
- b _08024CAE
- .align 2, 0
-_08024AE4: .4byte gUnknown_80DCE18
-_08024AE8:
- bl sub_8025254
- ldr r0, _08024B00
- ldr r1, [r0]
- ldrh r2, [r1, 0x8]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08024B04
- movs r0, 0x12
- b _08024B3A
- .align 2, 0
-_08024B00: .4byte gUnknown_203B2B0
-_08024B04:
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0x4
- bne _08024B10
- movs r0, 0x18
- b _08024B3A
-_08024B10:
- cmp r0, 0x2
- bne _08024B18
- movs r0, 0x17
- b _08024B3A
-_08024B18:
- cmp r0, 0x10
- bne _08024B20
- movs r0, 0x1B
- b _08024B3A
-_08024B20:
- cmp r0, 0x20
- bne _08024B28
- movs r0, 0x19
- b _08024B3A
-_08024B28:
- cmp r0, 0x40
- bne _08024B30
- movs r0, 0x1A
- b _08024B3A
-_08024B30:
- cmp r0, 0x8
- bne _08024B38
- movs r0, 0x1C
- b _08024B3A
-_08024B38:
- movs r0, 0x1D
-_08024B3A:
- str r0, [r1, 0x24]
- movs r0, 0x3C
- bl xxx_call_fade_out_bgm
- ldr r0, _08024B48
- b _08024CAE
- .align 2, 0
-_08024B48: .4byte gUnknown_80DCE38
-_08024B4C:
- ldr r0, _08024B68
- ldr r1, [r5]
- ldr r1, [r1, 0xC]
- movs r2, 0x5
- bl sub_808D9AC
- ldr r0, _08024B6C
- bl PlaySound
- ldr r1, [r5]
- movs r0, 0x13
- str r0, [r1, 0x24]
- ldr r0, _08024B70
- b _08024CAE
- .align 2, 0
-_08024B68: .4byte gPlayerName
-_08024B6C: .4byte 0x000001ff
-_08024B70: .4byte gUnknown_80DCE68
-_08024B74:
- ldr r0, [r5]
- ldr r0, [r0, 0xC]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl GetMonSpecies
- adds r1, r0, 0
- ldr r4, _08024C10
- adds r0, r4, 0
- bl strcpy
- ldr r0, [r5]
- movs r2, 0xA
- ldrsh r0, [r0, r2]
- bl GetMonSpecies
- adds r1, r0, 0
- adds r4, 0x50
- adds r0, r4, 0
- bl strcpy
- ldr r1, [r5]
- movs r0, 0x1
- strb r0, [r1]
- bl sub_80977D0
- ldr r1, [r5]
- ldr r0, [r1, 0xC]
- movs r2, 0xA
- ldrsh r1, [r1, r2]
- bl sub_808F734
- bl nullsub_104
- bl sub_808D33C
- ldr r1, [r5]
- str r0, [r1, 0xC]
- ldr r0, [r1, 0x14]
- cmp r0, 0x14
- beq _08024BCA
- bl sub_8091234
-_08024BCA:
- ldr r0, [r5]
- ldr r0, [r0, 0x18]
- cmp r0, 0x14
- beq _08024BD6
- bl sub_8091234
-_08024BD6:
- bl sub_80910B4
- ldr r0, _08024C14
- bl sub_801199C
- movs r0, 0xD2
- bl PlaySound
- ldr r1, [r5]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- beq _08024C06
- ldr r0, [r1, 0xC]
- adds r4, r0, 0
- adds r4, 0x4C
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl GetMonSpecies
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- bl BoundedCopyStringtoBuffer
-_08024C06:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C18
- b _08024CAE
- .align 2, 0
-_08024C10: .4byte gAvailablePokemonNames
-_08024C14: .4byte 0x000001ff
-_08024C18: .4byte gUnknown_80DCEB0
-_08024C1C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C28
- b _08024CAE
- .align 2, 0
-_08024C28: .4byte gUnknown_80DCEDC
-_08024C2C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C38
- b _08024CAE
- .align 2, 0
-_08024C38: .4byte gUnknown_80DCF44
-_08024C3C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C48
- b _08024CAE
- .align 2, 0
-_08024C48: .4byte gUnknown_80DCF88
-_08024C4C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C58
- b _08024CAE
- .align 2, 0
-_08024C58: .4byte gUnknown_80DCFAC
-_08024C5C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C68
- b _08024CAE
- .align 2, 0
-_08024C68: .4byte gUnknown_80DCFF4
-_08024C6C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C78
- b _08024CAE
- .align 2, 0
-_08024C78: .4byte gUnknown_80DD054
-_08024C7C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C88
- b _08024CAE
- .align 2, 0
-_08024C88: .4byte gUnknown_80DD098
-_08024C8C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C98
- b _08024CAE
- .align 2, 0
-_08024C98: .4byte gUnknown_80DD0E0
-_08024C9C:
- movs r0, 0x8
- movs r1, 0x3C
- bl xxx_call_fade_in_new_bgm
- ldr r0, _08024CBC
- ldr r1, [r0]
- movs r0, 0x15
- str r0, [r1, 0x24]
- ldr r0, _08024CC0
-_08024CAE:
- ldr r3, _08024CC4
-_08024CB0:
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08024CF4
- .align 2, 0
-_08024CBC: .4byte gUnknown_203B2B0
-_08024CC0: .4byte gUnknown_80DD104
-_08024CC4: .4byte 0x00000105
-_08024CC8:
- ldr r1, [r5]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- beq _08024CE8
- ldr r0, [r1, 0xC]
- adds r4, r0, 0
- adds r4, 0x4C
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- bl GetMonSpecies
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- bl BoundedCopyStringtoBuffer
-_08024CE8:
- ldr r0, [r5]
- ldr r1, [r0, 0xC]
- adds r1, 0x4C
- movs r0, 0
- bl sub_801602C
-_08024CF4:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80248FC
-
- thumb_func_start sub_8024CFC
-sub_8024CFC:
- push {r4,lr}
- ldr r4, _08024D38
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r3, 0
- ldr r0, _08024D3C
- str r0, [r1, 0x34]
- movs r0, 0x3
- str r0, [r1, 0x38]
- movs r2, 0x1
- ldr r0, _08024D40
- ldr r0, [r0]
- str r0, [r1, 0x3C]
- movs r0, 0x2
- str r0, [r1, 0x40]
- ldr r0, _08024D44
- ldr r0, [r0]
- str r0, [r1, 0x44]
- str r2, [r1, 0x48]
- str r3, [r1, 0x4C]
- str r2, [r1, 0x50]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08024D38: .4byte gUnknown_203B2B0
-_08024D3C: .4byte gUnknown_80DCA18
-_08024D40: .4byte gUnknown_80D4970
-_08024D44: .4byte gUnknown_80D4934
- thumb_func_end sub_8024CFC
-
- thumb_func_start sub_8024D48
-sub_8024D48:
- push {r4-r7,lr}
- ldr r4, _08024DAC
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08024DB0
- str r0, [r3, 0x34]
- movs r0, 0x4
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _08024DB4
- str r0, [r3, 0x3C]
- movs r0, 0x5
- str r0, [r3, 0x40]
- ldr r0, _08024DB8
- ldr r0, [r0]
- str r0, [r3, 0x44]
- str r1, [r3, 0x48]
- movs r6, 0x3
- str r2, [r3, 0x4C]
- str r1, [r3, 0x50]
- movs r5, 0
- mov r12, r3
- adds r3, 0x38
- mov r2, r12
- adds r2, 0x74
-_08024D86:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08024D96
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x2C]
- cmp r1, r0
- beq _08024DA6
-_08024D96:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _08024D86
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1, 0x2C]
-_08024DA6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024DAC: .4byte gUnknown_203B2B0
-_08024DB0: .4byte gUnknown_80DCA24
-_08024DB4: .4byte gUnknown_80DCA2C
-_08024DB8: .4byte gUnknown_80D4934
- thumb_func_end sub_8024D48
-
- thumb_func_start sub_8024DBC
-sub_8024DBC:
- push {r4-r7,lr}
- ldr r4, _08024E20
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08024E24
- str r0, [r3, 0x34]
- movs r0, 0x4
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _08024E28
- str r0, [r3, 0x3C]
- movs r0, 0x5
- str r0, [r3, 0x40]
- ldr r0, _08024E2C
- ldr r0, [r0]
- str r0, [r3, 0x44]
- str r1, [r3, 0x48]
- movs r6, 0x3
- str r2, [r3, 0x4C]
- str r1, [r3, 0x50]
- movs r5, 0
- mov r12, r3
- adds r3, 0x38
- mov r2, r12
- adds r2, 0x74
-_08024DFA:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08024E0A
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x2C]
- cmp r1, r0
- beq _08024E1A
-_08024E0A:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _08024DFA
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1, 0x2C]
-_08024E1A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024E20: .4byte gUnknown_203B2B0
-_08024E24: .4byte gUnknown_80DCA24
-_08024E28: .4byte gUnknown_80DCA2C
-_08024E2C: .4byte gUnknown_80D4934
- thumb_func_end sub_8024DBC
-
- thumb_func_start sub_8024E30
-sub_8024E30:
- push {r4-r7,lr}
- ldr r4, _08024E90
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08024E94
- str r0, [r3, 0x34]
- movs r0, 0x5
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _08024E98
- ldr r0, [r0]
- str r0, [r3, 0x3C]
- movs r0, 0x2
- str r0, [r3, 0x40]
- movs r6, 0x2
- str r2, [r3, 0x44]
- str r1, [r3, 0x48]
- movs r5, 0
- mov r12, r3
- adds r3, 0x38
- mov r2, r12
- adds r2, 0x74
-_08024E68:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08024E78
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x30]
- cmp r1, r0
- beq _08024E88
-_08024E78:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _08024E68
- ldr r1, [r4]
- movs r0, 0x5
- str r0, [r1, 0x30]
-_08024E88:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024E90: .4byte gUnknown_203B2B0
-_08024E94: .4byte gUnknown_80DCA2C
-_08024E98: .4byte gUnknown_80D4970
- thumb_func_end sub_8024E30
-
- thumb_func_start sub_8024E9C
-sub_8024E9C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08024EF8
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08024EB6
- ldr r0, _08024EC8
- ldr r0, [r0]
- str r1, [r0, 0x28]
-_08024EB6:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08024EEA
- cmp r0, 0x2
- bgt _08024ECC
- cmp r0, 0x1
- beq _08024EF2
- b _08024EF8
- .align 2, 0
-_08024EC8: .4byte gUnknown_203B2B0
-_08024ECC:
- cmp r0, 0x3
- bne _08024EF8
- bl sub_80252B8
- lsls r0, 24
- cmp r0, 0
- beq _08024EE2
- movs r0, 0x5
- bl sub_80247EC
- b _08024EF8
-_08024EE2:
- movs r0, 0x16
- bl sub_80247EC
- b _08024EF8
-_08024EEA:
- movs r0, 0x2
- bl sub_80247EC
- b _08024EF8
-_08024EF2:
- movs r0, 0x3
- bl sub_80247EC
-_08024EF8:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8024E9C
-
- thumb_func_start sub_8024F00
-sub_8024F00:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08024F6A
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08024F1A
- ldr r0, _08024F2C
- ldr r0, [r0]
- str r1, [r0, 0x2C]
-_08024F1A:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _08024F36
- cmp r0, 0x4
- bgt _08024F30
- cmp r0, 0x1
- beq _08024F64
- b _08024F6A
- .align 2, 0
-_08024F2C: .4byte gUnknown_203B2B0
-_08024F30:
- cmp r0, 0x5
- beq _08024F4C
- b _08024F6A
-_08024F36:
- ldr r0, _08024F48
- ldr r1, [r0]
- movs r0, 0x14
- str r0, [r1, 0x14]
- str r0, [r1, 0x18]
- movs r0, 0x11
- bl sub_80247EC
- b _08024F6A
- .align 2, 0
-_08024F48: .4byte gUnknown_203B2B0
-_08024F4C:
- bl sub_8090A34
- cmp r0, 0
- bne _08024F5C
- movs r0, 0xF
- bl sub_80247EC
- b _08024F6A
-_08024F5C:
- movs r0, 0x6
- bl sub_80247EC
- b _08024F6A
-_08024F64:
- movs r0, 0x1
- bl sub_80247EC
-_08024F6A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8024F00
-
- thumb_func_start sub_8024F70
-sub_8024F70:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08024FCC
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08024F8A
- ldr r0, _08024F9C
- ldr r0, [r0]
- str r1, [r0, 0x2C]
-_08024F8A:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _08024FA6
- cmp r0, 0x4
- bgt _08024FA0
- cmp r0, 0x1
- beq _08024FC6
- b _08024FCC
- .align 2, 0
-_08024F9C: .4byte gUnknown_203B2B0
-_08024FA0:
- cmp r0, 0x5
- beq _08024FAE
- b _08024FCC
-_08024FA6:
- movs r0, 0x11
- bl sub_80247EC
- b _08024FCC
-_08024FAE:
- bl sub_8090A34
- cmp r0, 0x1
- bgt _08024FBE
- movs r0, 0x10
- bl sub_80247EC
- b _08024FCC
-_08024FBE:
- movs r0, 0xB
- bl sub_80247EC
- b _08024FCC
-_08024FC6:
- movs r0, 0x1
- bl sub_80247EC
-_08024FCC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8024F70
-
- thumb_func_start sub_8024FD4
-sub_8024FD4:
- push {lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _08024FF0
- cmp r0, 0x3
- bhi _08024FEA
- cmp r0, 0x2
- beq _08025048
- b _08025052
-_08024FEA:
- cmp r0, 0x4
- beq _0802501C
- b _08025052
-_08024FF0:
- bl sub_801A8AC
- ldr r1, _08025014
- ldr r2, [r1]
- str r0, [r2, 0x14]
- movs r1, 0x14
- str r1, [r2, 0x18]
- ldr r1, _08025018
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- movs r0, 0x8
- bl sub_80247EC
- b _08025052
- .align 2, 0
-_08025014: .4byte gUnknown_203B2B0
-_08025018: .4byte gUnknown_203B460
-_0802501C:
- bl sub_801A8AC
- ldr r1, _08025040
- ldr r2, [r1]
- ldr r1, _08025044
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- movs r0, 0
- bl sub_8099690
- movs r0, 0x9
- bl sub_80247EC
- b _08025052
- .align 2, 0
-_08025040: .4byte gUnknown_203B2B0
-_08025044: .4byte gUnknown_203B460
-_08025048:
- bl sub_801A928
- movs r0, 0x5
- bl sub_80247EC
-_08025052:
- pop {r0}
- bx r0
- thumb_func_end sub_8024FD4
-
- thumb_func_start sub_8025058
-sub_8025058:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _08025074
- cmp r0, 0x3
- bhi _0802506E
- cmp r0, 0x2
- beq _080250DC
- b _080250E6
-_0802506E:
- cmp r0, 0x4
- beq _080250B0
- b _080250E6
-_08025074:
- ldr r5, _080250A0
- ldr r4, [r5]
- bl sub_801A8AC
- ldr r1, [r4, 0x14]
- cmp r1, r0
- beq _080250A8
- bl sub_801A8AC
- ldr r2, [r5]
- str r0, [r2, 0x18]
- ldr r1, _080250A4
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- movs r0, 0xD
- bl sub_80247EC
- b _080250E6
- .align 2, 0
-_080250A0: .4byte gUnknown_203B2B0
-_080250A4: .4byte gUnknown_203B460
-_080250A8:
- movs r0, 0x2
- bl PlayMenuSoundEffect
- b _080250E6
-_080250B0:
- bl sub_801A8AC
- ldr r1, _080250D4
- ldr r2, [r1]
- ldr r1, _080250D8
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- movs r0, 0
- bl sub_8099690
- movs r0, 0xE
- bl sub_80247EC
- b _080250E6
- .align 2, 0
-_080250D4: .4byte gUnknown_203B2B0
-_080250D8: .4byte gUnknown_203B460
-_080250DC:
- bl sub_801A928
- movs r0, 0xA
- bl sub_80247EC
-_080250E6:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8025058
-
- thumb_func_start sub_80250EC
-sub_80250EC:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _0802512C
- ldr r0, [r4]
- adds r0, 0x84
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802511C
- ldr r0, [r4]
- adds r0, 0x84
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802511C
- ldr r0, [r4]
- str r1, [r0, 0x30]
-_0802511C:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08025140
- cmp r0, 0x2
- bgt _08025130
- cmp r0, 0x1
- beq _0802514E
- b _08025154
- .align 2, 0
-_0802512C: .4byte gUnknown_203B2B0
-_08025130:
- cmp r0, 0x5
- bne _08025154
- bl sub_801A928
- movs r0, 0xA
- bl sub_80247EC
- b _08025154
-_08025140:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x9
- bl sub_80247EC
- b _08025154
-_0802514E:
- movs r0, 0x7
- bl sub_80247EC
-_08025154:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80250EC
-
- thumb_func_start sub_802515C
-sub_802515C:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _0802519C
- ldr r0, [r4]
- adds r0, 0x84
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802518C
- ldr r0, [r4]
- adds r0, 0x84
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802518C
- ldr r0, [r4]
- str r1, [r0, 0x30]
-_0802518C:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080251B0
- cmp r0, 0x2
- bgt _080251A0
- cmp r0, 0x1
- beq _080251BE
- b _080251C4
- .align 2, 0
-_0802519C: .4byte gUnknown_203B2B0
-_080251A0:
- cmp r0, 0x5
- bne _080251C4
- bl sub_801A928
- movs r0, 0x11
- bl sub_80247EC
- b _080251C4
-_080251B0:
- movs r0, 0
- bl sub_8099690
- movs r0, 0xE
- bl sub_80247EC
- b _080251C4
-_080251BE:
- movs r0, 0xC
- bl sub_80247EC
-_080251C4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802515C
-
- thumb_func_start sub_80251CC
-sub_80251CC:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _080251E4
- cmp r0, 0x3
- bhi _080251E4
- bl sub_801B450
- movs r0, 0x7
- bl sub_80247EC
-_080251E4:
- pop {r0}
- bx r0
- thumb_func_end sub_80251CC
-
- thumb_func_start sub_80251E8
-sub_80251E8:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08025200
- cmp r0, 0x3
- bhi _08025200
- bl sub_801B450
- movs r0, 0xC
- bl sub_80247EC
-_08025200:
- pop {r0}
- bx r0
- thumb_func_end sub_80251E8
-
- thumb_func_start sub_8025204
-sub_8025204:
- push {r4,lr}
- bl sub_8016080
- cmp r0, 0x3
- bne _08025226
- bl sub_80160D8
- ldr r4, _0802522C
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_808D824
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- movs r0, 0x3
- bl sub_80247EC
-_08025226:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802522C: .4byte gUnknown_203B2B0
- thumb_func_end sub_8025204
-
- thumb_func_start sub_8025230
-sub_8025230:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08025248
- ldr r0, _08025250
- ldr r0, [r0]
- ldr r0, [r0, 0x24]
- bl sub_80247EC
-_08025248:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08025250: .4byte gUnknown_203B2B0
- thumb_func_end sub_8025230
-
- thumb_func_start sub_8025254
-sub_8025254:
- push {lr}
- ldr r0, _08025268
- ldr r2, [r0]
- ldr r1, [r2, 0x14]
- adds r3, r0, 0
- cmp r1, 0x14
- bne _0802526C
- movs r0, 0
- b _08025276
- .align 2, 0
-_08025268: .4byte gUnknown_203B2B0
-_0802526C:
- ldr r0, _08025284
- ldr r0, [r0]
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
-_08025276:
- strb r0, [r2, 0x4]
- ldr r2, [r3]
- ldr r1, [r2, 0x18]
- cmp r1, 0x14
- bne _08025288
- movs r0, 0
- b _08025292
- .align 2, 0
-_08025284: .4byte gUnknown_203B460
-_08025288:
- ldr r0, _080252B0
- ldr r0, [r0]
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
-_08025292:
- strb r0, [r2, 0x5]
- movs r0, 0xFF
- bl RandomCapped
- ldr r2, _080252B4
- ldr r1, [r2]
- strb r0, [r1, 0x6]
- ldr r1, [r2]
- ldr r0, [r1, 0xC]
- adds r1, 0x4
- movs r2, 0x1
- bl sub_808F468
- pop {r0}
- bx r0
- .align 2, 0
-_080252B0: .4byte gUnknown_203B460
-_080252B4: .4byte gUnknown_203B2B0
- thumb_func_end sub_8025254
-
- thumb_func_start sub_80252B8
-sub_80252B8:
- push {r4,lr}
- ldr r0, _080252E0
- ldr r1, [r0]
- movs r3, 0
- movs r4, 0x1
- ldr r2, _080252E4
-_080252C4:
- ldrh r0, [r1]
- lsrs r0, 1
- ands r0, r4
- cmp r0, 0
- beq _080252D0
- adds r3, 0x1
-_080252D0:
- subs r2, 0x1
- adds r1, 0x58
- cmp r2, 0
- bne _080252C4
- cmp r3, 0x1
- beq _080252E8
- movs r0, 0
- b _080252EA
- .align 2, 0
-_080252E0: .4byte gRecruitedPokemonRef
-_080252E4: .4byte 0x0000019d
-_080252E8:
- movs r0, 0x1
-_080252EA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80252B8
-
- thumb_func_start sub_80252F0
-sub_80252F0:
- push {r4-r6,lr}
- adds r6, r0, 0
- cmp r6, 0x2
- bne _08025308
- movs r0, 0x4
- bl sub_8024108
- lsls r0, 24
- cmp r0, 0
- beq _08025308
- movs r0, 0
- b _0802534C
-_08025308:
- ldr r4, _08025340
- movs r0, 0xBC
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r5, 0
- str r5, [r0, 0x70]
- str r6, [r0]
- bl sub_80A5728
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- ldr r1, [r4]
- strb r0, [r1, 0xC]
- ldr r0, [r4]
- strb r5, [r0, 0xD]
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x2
- bne _08025344
- movs r0, 0
- bl sub_8025434
- b _0802534A
- .align 2, 0
-_08025340: .4byte gUnknown_203B2B4
-_08025344:
- movs r0, 0x1
- bl sub_8025434
-_0802534A:
- movs r0, 0x1
-_0802534C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80252F0
-
- thumb_func_start sub_8025354
-sub_8025354:
- push {lr}
- ldr r0, _0802536C
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- subs r0, 0x1
- cmp r0, 0x12
- bhi _08025400
- lsls r0, 2
- ldr r1, _08025370
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802536C: .4byte gUnknown_203B2B4
-_08025370: .4byte _08025374
- .align 2, 0
-_08025374:
- .4byte _080253C4
- .4byte _080253C4
- .4byte _080253CA
- .4byte _080253D0
- .4byte _080253D6
- .4byte _08025400
- .4byte _08025400
- .4byte _08025400
- .4byte _08025400
- .4byte _08025400
- .4byte _080253DC
- .4byte _080253DC
- .4byte _080253E2
- .4byte _080253E8
- .4byte _080253EE
- .4byte _080253EE
- .4byte _080253F4
- .4byte _080253FA
- .4byte _080253C0
-_080253C0:
- movs r0, 0x3
- b _08025406
-_080253C4:
- bl sub_80259F0
- b _08025404
-_080253CA:
- bl sub_8025A84
- b _08025404
-_080253D0:
- bl sub_8025BCC
- b _08025404
-_080253D6:
- bl sub_8025BE8
- b _08025404
-_080253DC:
- bl sub_8025C04
- b _08025404
-_080253E2:
- bl sub_8025CB4
- b _08025404
-_080253E8:
- bl sub_8025D90
- b _08025404
-_080253EE:
- bl sub_8025DAC
- b _08025404
-_080253F4:
- bl sub_8025E08
- b _08025404
-_080253FA:
- bl sub_8025E24
- b _08025404
-_08025400:
- bl sub_8025E44
-_08025404:
- movs r0, 0
-_08025406:
- pop {r1}
- bx r1
- thumb_func_end sub_8025354
-
- thumb_func_start sub_802540C
-sub_802540C:
- ldr r0, _08025414
- ldr r0, [r0]
- ldrb r0, [r0, 0xD]
- bx lr
- .align 2, 0
-_08025414: .4byte gUnknown_203B2B4
- thumb_func_end sub_802540C
-
- thumb_func_start sub_8025418
-sub_8025418:
- push {r4,lr}
- ldr r4, _08025430
- ldr r0, [r4]
- cmp r0, 0
- beq _0802542A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802542A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08025430: .4byte gUnknown_203B2B4
- thumb_func_end sub_8025418
-
- thumb_func_start sub_8025434
-sub_8025434:
- push {lr}
- ldr r1, _08025448
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_802544C
- bl sub_8025518
- pop {r0}
- bx r0
- .align 2, 0
-_08025448: .4byte gUnknown_203B2B4
- thumb_func_end sub_8025434
-
- thumb_func_start sub_802544C
-sub_802544C:
- push {r4-r7,lr}
- ldr r4, _08025470
- ldr r0, [r4]
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- cmp r0, 0x3
- beq _08025478
- cmp r0, 0xD
- beq _080254B0
- movs r2, 0
- ldr r3, _08025474
- b _080254D8
- .align 2, 0
-_08025470: .4byte gUnknown_203B2B4
-_08025474: .4byte gUnknown_80DD148
-_08025478:
- ldr r0, [r1]
- cmp r0, 0
- bne _0802548E
- movs r2, 0xB0
- lsls r2, 1
- adds r1, r2
- ldr r0, _080254A8
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
-_0802548E:
- bl sub_8025728
- ldr r2, [r4]
- movs r0, 0xA4
- lsls r0, 1
- adds r2, r0
- ldr r1, _080254AC
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- b _080254C6
- .align 2, 0
-_080254A8: .4byte gUnknown_80DD190
-_080254AC: .4byte gUnknown_80DD160
-_080254B0:
- bl sub_802591C
- ldr r2, [r4]
- movs r0, 0xA4
- lsls r0, 1
- adds r2, r0
- ldr r1, _080254D4
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
-_080254C6:
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0xC8
- bl sub_8012CAC
- b _080254F8
- .align 2, 0
-_080254D4: .4byte gUnknown_80DD178
-_080254D8:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- movs r5, 0x8C
- lsls r5, 1
- adds r0, r5
- 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 _080254D8
-_080254F8:
- bl ResetUnusedInputStruct
- ldr r0, _08025514
- ldr r0, [r0]
- movs r6, 0x8C
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08025514: .4byte gUnknown_203B2B4
- thumb_func_end sub_802544C
-
- thumb_func_start sub_8025518
-sub_8025518:
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r1, _08025534
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r5, r1, 0
- cmp r0, 0x13
- bls _0802552A
- b _08025720
-_0802552A:
- lsls r0, 2
- ldr r1, _08025538
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08025534: .4byte gUnknown_203B2B4
-_08025538: .4byte _0802553C
- .align 2, 0
-_0802553C:
- .4byte _0802558C
- .4byte _080255A0
- .4byte _080255BA
- .4byte _080255C2
- .4byte _0802560C
- .4byte _0802561A
- .4byte _08025720
- .4byte _080256A8
- .4byte _0802567A
- .4byte _08025688
- .4byte _08025698
- .4byte _08025626
- .4byte _08025634
- .4byte _0802563C
- .4byte _08025668
- .4byte _080256CC
- .4byte _080256F2
- .4byte _080256FC
- .4byte _08025714
- .4byte _08025720
-_0802558C:
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1, 0x8]
- ldr r0, _08025598
- ldr r3, _0802559C
- b _080256B8
- .align 2, 0
-_08025598: .4byte gUnknown_80DD1A8
-_0802559C: .4byte 0x00000301
-_080255A0:
- movs r1, 0x4
- ldr r0, [r5]
- ldr r0, [r0]
- cmp r0, 0
- bne _080255AC
- movs r1, 0x2
-_080255AC:
- adds r0, r1, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_8023868
- b _08025720
-_080255BA:
- movs r0, 0x1
- bl sub_8023B7C
- b _08025720
-_080255C2:
- ldr r1, [r5]
- ldr r0, [r1]
- cmp r0, 0
- bne _080255D2
- adds r1, 0x18
- movs r0, 0x3
- bl sub_8025E68
-_080255D2:
- bl sub_8023DA4
- ldr r4, _08025608
- ldr r0, [r5]
- ldr r1, [r0, 0x1C]
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_808D9AC
- adds r4, 0x50
- ldr r0, [r5]
- ldr r1, [r0, 0x1C]
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x78
- adds r1, r2, 0
- adds r1, 0xC8
- movs r4, 0x84
- lsls r4, 1
- adds r3, r2, r4
- ldr r2, [r2, 0x70]
- b _08025654
- .align 2, 0
-_08025608: .4byte gAvailablePokemonNames
-_0802560C:
- ldr r0, [r5]
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- movs r1, 0x2
- bl sub_8024458
- b _08025720
-_0802561A:
- ldr r0, [r5]
- movs r4, 0xE
- ldrsh r0, [r0, r4]
- bl sub_801BEEC
- b _08025720
-_08025626:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08025720
-_08025634:
- movs r0, 0x1
- bl sub_801A8D0
- b _08025720
-_0802563C:
- bl sub_801A9E0
- ldr r0, _08025664
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x78
- adds r1, r2, 0
- adds r1, 0xC8
- movs r4, 0x84
- lsls r4, 1
- adds r3, r2, r4
- ldr r2, [r2, 0x74]
-_08025654:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08025720
- .align 2, 0
-_08025664: .4byte gUnknown_203B2B4
-_08025668:
- ldr r1, [r5]
- adds r1, 0x14
- add r0, sp, 0x8
- bl sub_8090B64
- add r0, sp, 0x8
- bl sub_801B3C0
- b _08025720
-_0802567A:
- ldr r1, [r5]
- movs r0, 0x2
- str r0, [r1, 0x8]
- ldr r0, _08025684
- b _080256B6
- .align 2, 0
-_08025684: .4byte gUnknown_80DD1C8
-_08025688:
- ldr r1, [r5]
- movs r0, 0x2
- str r0, [r1, 0x8]
- ldr r0, _08025694
- b _080256B6
- .align 2, 0
-_08025694: .4byte gUnknown_80DD1EC
-_08025698:
- ldr r1, [r5]
- movs r0, 0x2
- str r0, [r1, 0x8]
- ldr r0, _080256A4
- b _080256B6
- .align 2, 0
-_080256A4: .4byte gUnknown_80DD240
-_080256A8:
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1, 0x8]
- movs r0, 0xCF
- bl PlaySound
- ldr r0, _080256C4
-_080256B6:
- ldr r3, _080256C8
-_080256B8:
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08025720
- .align 2, 0
-_080256C4: .4byte gUnknown_80DD270
-_080256C8: .4byte 0x00000101
-_080256CC:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r1, [r1, 0x1C]
- adds r1, 0x2C
- bl sub_809401C
- ldr r2, [r5]
- movs r0, 0xE
- ldrsh r1, [r2, r0]
- adds r2, 0x28
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r3, 0
- bl sub_801EE10
- b _08025720
-_080256F2:
- movs r0, 0x1
- movs r1, 0
- bl sub_801F1B0
- b _08025720
-_080256FC:
- ldr r2, [r5]
- ldr r0, [r2, 0x20]
- adds r1, r2, 0
- adds r1, 0x28
- adds r2, 0x68
- bl sub_8093560
- ldr r0, [r5]
- adds r0, 0x68
- bl sub_801F808
- b _08025720
-_08025714:
- ldr r0, [r5]
- ldr r1, [r0, 0x1C]
- adds r1, 0x4C
- movs r0, 0x2
- bl sub_801602C
-_08025720:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8025518
-
- thumb_func_start sub_8025728
-sub_8025728:
- push {r4-r7,lr}
- ldr r3, _080257CC
- ldr r5, _080257D0
- ldr r0, [r5]
- movs r1, 0xE
- ldrsh r2, [r0, r1]
- movs r1, 0x58
- muls r2, r1
- ldr r1, [r3]
- adds r7, r1, r2
- movs r2, 0x84
- lsls r2, 1
- adds r0, r2
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r5]
- ldr r0, [r4]
- cmp r0, 0
- bne _080257E0
- adds r1, r4, 0
- adds r1, 0xC8
- ldr r0, _080257D4
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xA
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0
- bne _08025774
- ldr r0, [r5]
- movs r4, 0x84
- lsls r4, 1
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
-_08025774:
- movs r6, 0x1
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0xD0
- ldr r0, _080257D8
- str r0, [r2]
- adds r1, 0xD4
- movs r0, 0xB
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0x13
- bgt _08025796
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- cmp r0, 0
- bne _080257A0
-_08025796:
- ldr r0, [r5]
- movs r1, 0x85
- lsls r1, 1
- adds r0, r1
- strh r6, [r0]
-_080257A0:
- adds r6, 0x1
- adds r0, r7, 0
- bl sub_8025EC4
- lsls r0, 24
- cmp r0, 0
- beq _08025810
- ldr r0, _080257D0
- ldr r2, [r0]
- lsls r3, r6, 3
- adds r0, r2, 0
- adds r0, 0xC8
- adds r0, r3
- ldr r1, _080257DC
- str r1, [r0]
- adds r2, 0xCC
- adds r2, r3
- movs r0, 0x9
- str r0, [r2]
- adds r6, 0x1
- b _08025810
- .align 2, 0
-_080257CC: .4byte gRecruitedPokemonRef
-_080257D0: .4byte gUnknown_203B2B4
-_080257D4: .4byte gUnknown_80DD2B0
-_080257D8: .4byte gUnknown_80DD2B8
-_080257DC: .4byte gUnknown_80DD2C0
-_080257E0:
- adds r1, r4, 0
- adds r1, 0xC8
- ldr r0, _080258D4
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x7
- str r0, [r1]
- ldr r0, [r4, 0x1C]
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- bl GetFriendArea
- ldrb r1, [r4, 0xC]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _0802580E
- ldr r0, [r5]
- movs r4, 0x84
- lsls r4, 1
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
-_0802580E:
- movs r6, 0x1
-_08025810:
- movs r0, 0x8
- ldrsh r1, [r7, r0]
- ldr r0, _080258D8
- cmp r1, r0
- bne _08025840
- adds r0, r7, 0
- bl sub_808D824
- lsls r0, 24
- cmp r0, 0
- beq _08025840
- ldr r0, _080258DC
- ldr r2, [r0]
- lsls r3, r6, 3
- adds r0, r2, 0
- adds r0, 0xC8
- adds r0, r3
- ldr r1, _080258E0
- str r1, [r0]
- adds r2, 0xCC
- adds r2, r3
- movs r0, 0x8
- str r0, [r2]
- adds r6, 0x1
-_08025840:
- ldr r4, _080258DC
- ldr r5, [r4]
- lsls r1, r6, 3
- adds r3, r5, 0
- adds r3, 0xC8
- adds r2, r3, r1
- ldr r0, _080258E4
- str r0, [r2]
- adds r7, r5, 0
- adds r7, 0xCC
- adds r1, r7, r1
- movs r0, 0x4
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r3, r1
- ldr r0, _080258E8
- str r0, [r2]
- adds r1, r7, r1
- movs r0, 0x6
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r3, r1
- ldr r0, _080258EC
- str r0, [r2]
- adds r1, r7, r1
- movs r0, 0x5
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r1, r7, r1
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- mov r12, r4
- cmp r3, r6
- bge _080258B2
- movs r1, 0x84
- lsls r1, 1
- adds r4, r5, r1
- adds r2, r7, 0
-_0802589A:
- ldrh r0, [r4]
- cmp r0, 0
- bne _080258A8
- ldr r1, [r2]
- ldr r0, [r5, 0x70]
- cmp r1, r0
- beq _08025916
-_080258A8:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r6
- blt _0802589A
-_080258B2:
- movs r3, 0
- cmp r3, r6
- bge _08025916
- mov r2, r12
- ldr r1, [r2]
- movs r4, 0x84
- lsls r4, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, 0
- bne _080258F0
- adds r0, r1, 0
- adds r0, 0xCC
- ldr r0, [r0]
- str r0, [r1, 0x70]
- b _08025916
- .align 2, 0
-_080258D4: .4byte gUnknown_80DD2CC
-_080258D8: .4byte 0x0000013d
-_080258DC: .4byte gUnknown_203B2B4
-_080258E0: .4byte gUnknown_80DD2D4
-_080258E4: .4byte gUnknown_80DD2DC
-_080258E8: .4byte gUnknown_80DD2E4
-_080258EC: .4byte gUnknown_80DD2EC
-_080258F0:
- adds r3, 0x1
- cmp r3, r6
- bge _08025916
- mov r0, r12
- ldr r2, [r0]
- lsls r0, r3, 1
- movs r4, 0x84
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080258F0
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0xCC
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x70]
-_08025916:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8025728
-
- thumb_func_start sub_802591C
-sub_802591C:
- push {r4-r7,lr}
- ldr r5, _080259B8
- ldr r0, [r5]
- movs r7, 0x84
- lsls r7, 1
- adds r0, r7
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0xC8
- ldr r0, _080259BC
- str r0, [r2]
- adds r1, 0xCC
- movs r0, 0xA
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0
- bne _08025952
- ldr r0, [r5]
- adds r1, r7, 0
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_08025952:
- ldr r4, [r5]
- movs r2, 0x1
- adds r1, r4, 0
- adds r1, 0xD0
- ldr r0, _080259C0
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x4
- str r0, [r1]
- movs r6, 0x2
- adds r1, 0x4
- movs r0, 0
- str r0, [r1]
- adds r0, r4, 0
- adds r0, 0xDC
- str r2, [r0]
- movs r3, 0
- mov r12, r4
- adds r4, r7
- mov r2, r12
- adds r2, 0xCC
-_0802597E:
- ldrh r0, [r4]
- cmp r0, 0
- bne _0802598E
- ldr r1, [r2]
- mov r7, r12
- ldr r0, [r7, 0x74]
- cmp r1, r0
- beq _080259E8
-_0802598E:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r6
- blt _0802597E
- movs r3, 0
- cmp r3, r6
- bge _080259E8
- ldr r1, [r5]
- movs r2, 0x84
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _080259C4
- adds r0, r1, 0
- adds r0, 0xCC
- ldr r0, [r0]
- str r0, [r1, 0x74]
- b _080259E8
- .align 2, 0
-_080259B8: .4byte gUnknown_203B2B4
-_080259BC: .4byte gUnknown_80DD2B0
-_080259C0: .4byte gUnknown_80D4970
-_080259C4:
- adds r3, 0x1
- cmp r3, r6
- bge _080259E8
- ldr r2, [r5]
- lsls r0, r3, 1
- movs r4, 0x84
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080259C4
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0xCC
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x74]
-_080259E8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802591C
-
- thumb_func_start sub_80259F0
-sub_80259F0:
- push {lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x3
- beq _08025A0C
- cmp r0, 0x3
- bhi _08025A06
- cmp r0, 0x2
- beq _08025A74
- b _08025A7E
-_08025A06:
- cmp r0, 0x4
- beq _08025A40
- b _08025A7E
-_08025A0C:
- bl sub_8023B44
- ldr r1, _08025A38
- ldr r1, [r1]
- strh r0, [r1, 0xE]
- ldr r3, _08025A3C
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x1C]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x18
- bl sub_808D7DC
- movs r0, 0x3
- bl sub_8025434
- b _08025A7E
- .align 2, 0
-_08025A38: .4byte gUnknown_203B2B4
-_08025A3C: .4byte gRecruitedPokemonRef
-_08025A40:
- bl sub_8023B44
- ldr r1, _08025A6C
- ldr r1, [r1]
- strh r0, [r1, 0xE]
- ldr r3, _08025A70
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x1C]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x18
- bl sub_808D7DC
- movs r0, 0x4
- bl sub_8025434
- b _08025A7E
- .align 2, 0
-_08025A6C: .4byte gUnknown_203B2B4
-_08025A70: .4byte gRecruitedPokemonRef
-_08025A74:
- bl sub_8023C60
- movs r0, 0x13
- bl sub_8025434
-_08025A7E:
- pop {r0}
- bx r0
- thumb_func_end sub_80259F0
-
- thumb_func_start sub_8025A84
-sub_8025A84:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8023A94
- ldr r4, _08025AC8
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08025AB4
- ldr r0, [r4]
- adds r0, 0x78
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08025AB4
- ldr r0, [r4]
- str r1, [r0, 0x70]
-_08025AB4:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0xA
- bls _08025ABE
- b _08025BC2
-_08025ABE:
- lsls r0, 2
- ldr r1, _08025ACC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08025AC8: .4byte gUnknown_203B2B4
-_08025ACC: .4byte _08025AD0
- .align 2, 0
-_08025AD0:
- .4byte _08025BBC
- .4byte _08025BC2
- .4byte _08025BC2
- .4byte _08025BAC
- .4byte _08025BB4
- .4byte _08025B9C
- .4byte _08025AFC
- .4byte _08025BA4
- .4byte _08025B70
- .4byte _08025B20
- .4byte _08025B28
-_08025AFC:
- ldr r4, _08025B1C
- ldr r0, [r4]
- ldr r0, [r0, 0x1C]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl GetFriendArea
- ldr r1, [r4]
- strb r0, [r1, 0xD]
- bl sub_8023C60
- movs r0, 0x13
- bl sub_8025434
- b _08025BC2
- .align 2, 0
-_08025B1C: .4byte gUnknown_203B2B4
-_08025B20:
- movs r0, 0xB
- bl sub_8025434
- b _08025BC2
-_08025B28:
- ldr r0, _08025B68
- bl PlaySound
- ldr r4, _08025B6C
- ldr r1, [r4]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- beq _08025B40
- adds r0, r1, 0
- adds r0, 0x18
- bl sub_8091274
-_08025B40:
- bl sub_80910B4
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x18]
- ldr r0, [r4]
- strb r1, [r0, 0x19]
- ldr r1, [r4]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x18
- bl sub_808D800
- bl nullsub_104
- movs r0, 0xA
- bl sub_8025434
- b _08025BC2
- .align 2, 0
-_08025B68: .4byte 0x0000014d
-_08025B6C: .4byte gUnknown_203B2B4
-_08025B70:
- ldr r0, _08025B94
- ldr r0, [r0]
- ldr r2, [r0, 0x1C]
- ldrh r1, [r2]
- ldr r0, _08025B98
- ands r0, r1
- strh r0, [r2]
- bl nullsub_104
- bl sub_808ED00
- bl sub_8023C60
- movs r0, 0x7
- bl sub_8025434
- b _08025BC2
- .align 2, 0
-_08025B94: .4byte gUnknown_203B2B4
-_08025B98: .4byte 0x0000fffd
-_08025B9C:
- movs r0, 0xF
- bl sub_8025434
- b _08025BC2
-_08025BA4:
- movs r0, 0x12
- bl sub_8025434
- b _08025BC2
-_08025BAC:
- movs r0, 0x4
- bl sub_8025434
- b _08025BC2
-_08025BB4:
- movs r0, 0x5
- bl sub_8025434
- b _08025BC2
-_08025BBC:
- movs r0, 0x2
- bl sub_8025434
-_08025BC2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8025A84
-
- thumb_func_start sub_8025BCC
-sub_8025BCC:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _08025BE4
- cmp r0, 0x3
- bhi _08025BE4
- bl sub_802453C
- movs r0, 0x2
- bl sub_8025434
-_08025BE4:
- pop {r0}
- bx r0
- thumb_func_end sub_8025BCC
-
- thumb_func_start sub_8025BE8
-sub_8025BE8:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _08025C00
- cmp r0, 0x3
- bhi _08025C00
- bl sub_801BF98
- movs r0, 0x2
- bl sub_8025434
-_08025C00:
- pop {r0}
- bx r0
- thumb_func_end sub_8025BE8
-
- thumb_func_start sub_8025C04
-sub_8025C04:
- push {r4,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _08025CAE
- lsls r0, 2
- ldr r1, _08025C1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08025C1C: .4byte _08025C20
- .align 2, 0
-_08025C20:
- .4byte _08025CAE
- .4byte _08025CAE
- .4byte _08025CA4
- .4byte _08025C34
- .4byte _08025C68
-_08025C34:
- bl sub_801A8AC
- ldr r4, _08025C60
- ldr r2, [r4]
- str r0, [r2, 0x10]
- ldr r3, _08025C64
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x14]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0x10]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x15]
- movs r0, 0xD
- bl sub_8025434
- b _08025CAE
- .align 2, 0
-_08025C60: .4byte gUnknown_203B2B4
-_08025C64: .4byte gUnknown_203B460
-_08025C68:
- bl sub_801A8AC
- ldr r4, _08025C9C
- ldr r2, [r4]
- str r0, [r2, 0x10]
- ldr r3, _08025CA0
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x14]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0x10]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x15]
- movs r0, 0
- bl sub_8099690
- movs r0, 0xE
- bl sub_8025434
- b _08025CAE
- .align 2, 0
-_08025C9C: .4byte gUnknown_203B2B4
-_08025CA0: .4byte gUnknown_203B460
-_08025CA4:
- bl sub_801A928
- movs r0, 0x2
- bl sub_8025434
-_08025CAE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8025C04
-
- thumb_func_start sub_8025CB4
-sub_8025CB4:
- push {r4-r6,lr}
- sub sp, 0x14
- movs r0, 0
- str r0, [sp, 0xC]
- bl sub_801A6E8
- ldr r4, _08025CF4
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08025CE4
- ldr r0, [r4]
- adds r0, 0x78
- add r1, sp, 0xC
- bl sub_8013114
- ldr r1, [sp, 0xC]
- cmp r1, 0x1
- beq _08025CE4
- ldr r0, [r4]
- str r1, [r0, 0x74]
-_08025CE4:
- ldr r0, [sp, 0xC]
- cmp r0, 0x4
- beq _08025D74
- cmp r0, 0x4
- bgt _08025CF8
- cmp r0, 0x1
- beq _08025D82
- b _08025D88
- .align 2, 0
-_08025CF4: .4byte gUnknown_203B2B4
-_08025CF8:
- cmp r0, 0xA
- bne _08025D88
- movs r6, 0x8
- ldr r0, _08025D68
- bl PlaySound
- ldr r5, _08025D6C
- ldr r0, [r5]
- ldr r0, [r0, 0x10]
- bl sub_80911F8
- bl sub_80910B4
- ldr r1, [r5]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- beq _08025D24
- adds r0, r1, 0
- adds r0, 0x18
- bl sub_8091274
- movs r6, 0x9
-_08025D24:
- add r4, sp, 0x10
- ldr r1, [r5]
- adds r1, 0x14
- adds r0, r4, 0
- bl sub_8090B64
- movs r1, 0
- str r1, [sp]
- mov r0, sp
- strb r1, [r0, 0x4]
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08025D70
- adds r1, r4, 0
- mov r2, sp
- bl sub_8090E14
- ldr r1, [r5]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- bl sub_801A928
- bl nullsub_104
- adds r0, r6, 0
- bl sub_8025434
- b _08025D88
- .align 2, 0
-_08025D68: .4byte 0x0000014d
-_08025D6C: .4byte gUnknown_203B2B4
-_08025D70: .4byte gUnknown_202DEA8
-_08025D74:
- movs r0, 0
- bl sub_8099690
- movs r0, 0xE
- bl sub_8025434
- b _08025D88
-_08025D82:
- movs r0, 0xC
- bl sub_8025434
-_08025D88:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8025CB4
-
- thumb_func_start sub_8025D90
-sub_8025D90:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08025DA8
- cmp r0, 0x3
- bhi _08025DA8
- bl sub_801B450
- movs r0, 0xC
- bl sub_8025434
-_08025DA8:
- pop {r0}
- bx r0
- thumb_func_end sub_8025D90
-
- thumb_func_start sub_8025DAC
-sub_8025DAC:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x3
- beq _08025DC6
- cmp r0, 0x3
- bhi _08025DC2
- cmp r0, 0x2
- beq _08025DE4
- b _08025DFE
-_08025DC2:
- cmp r0, 0x4
- bne _08025DFE
-_08025DC6:
- bl sub_801F194
- ldr r1, _08025DE0
- ldr r1, [r1]
- str r0, [r1, 0x20]
- lsls r0, 3
- adds r0, r1, r0
- ldrh r0, [r0, 0x2A]
- strh r0, [r1, 0x24]
- movs r0, 0x11
- bl sub_8025434
- b _08025DFE
- .align 2, 0
-_08025DE0: .4byte gUnknown_203B2B4
-_08025DE4:
- bl sub_801F214
- ldr r0, _08025E04
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r1, [r1, 0x1C]
- adds r1, 0x2C
- bl sub_8094060
- movs r0, 0x2
- bl sub_8025434
-_08025DFE:
- pop {r0}
- bx r0
- .align 2, 0
-_08025E04: .4byte gUnknown_203B2B4
- thumb_func_end sub_8025DAC
-
- thumb_func_start sub_8025E08
-sub_8025E08:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _08025E20
- cmp r0, 0x3
- bhi _08025E20
- bl sub_801F8D0
- movs r0, 0x10
- bl sub_8025434
-_08025E20:
- pop {r0}
- bx r0
- thumb_func_end sub_8025E08
-
- thumb_func_start sub_8025E24
-sub_8025E24:
- push {lr}
- bl sub_8016080
- cmp r0, 0x3
- bhi _08025E40
- cmp r0, 0x2
- bcc _08025E40
- bl sub_80160D8
- bl nullsub_104
- movs r0, 0x2
- bl sub_8025434
-_08025E40:
- pop {r0}
- bx r0
- thumb_func_end sub_8025E24
-
- thumb_func_start sub_8025E44
-sub_8025E44:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08025E5C
- ldr r0, _08025E64
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_8025434
-_08025E5C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08025E64: .4byte gUnknown_203B2B4
- thumb_func_end sub_8025E44
-
- thumb_func_start sub_8025E68
-sub_8025E68:
- push {r4-r6,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_8008C54
- adds r0, r6, 0
- bl sub_80073B8
- add r4, sp, 0x10
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8090B64
- movs r5, 0
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- strb r5, [r0, 0x4]
- adds r1, r0, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08025EBC
- adds r1, r4, 0
- add r2, sp, 0x4
- bl sub_8090E14
- ldr r2, _08025EC0
- str r5, [sp]
- movs r0, 0x4
- movs r1, 0x3
- adds r3, r6, 0
- bl sub_8014FF0
- adds r0, r6, 0
- bl sub_80073E0
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08025EBC: .4byte gUnknown_202DE58
-_08025EC0: .4byte gUnknown_80DD2F8
- thumb_func_end sub_8025E68
-
- thumb_func_start sub_8025EC4
-sub_8025EC4:
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _08025EE8
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08025ED8
- movs r2, 0x1
-_08025ED8:
- cmp r2, 0
- beq _08025EEC
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08025EEC
-_08025EE8:
- movs r0, 0
- b _08025EEE
-_08025EEC:
- movs r0, 0x1
-_08025EEE:
- pop {r1}
- bx r1
- thumb_func_end sub_8025EC4
-
- thumb_func_start sub_8025EF4
-sub_8025EF4:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, _08025F1C
- movs r0, 0xA0
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- adds r1, r0, 0
- str r1, [r6]
- str r4, [r1, 0x18]
- movs r5, 0
- ldr r0, _08025F20
- ldr r0, [r0]
- cmp r4, r0
- bne _08025F24
- strh r5, [r1, 0xA]
- adds r4, r6, 0
- b _08025F48
- .align 2, 0
-_08025F1C: .4byte gUnknown_203B2B8
-_08025F20: .4byte gRecruitedPokemonRef
-_08025F24:
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- ldr r4, _08025F60
- cmp r5, r0
- bgt _08025F48
- ldr r3, [r4]
- ldr r2, _08025F64
- lsls r0, r5, 16
- asrs r0, 16
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- ldr r1, [r3, 0x18]
- cmp r1, r0
- bne _08025F24
- strh r5, [r3, 0xA]
-_08025F48:
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x70]
- str r0, [r1, 0x74]
- str r0, [r1, 0x78]
- strb r0, [r1, 0x8]
- bl sub_8026074
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08025F60: .4byte gUnknown_203B2B8
-_08025F64: .4byte gRecruitedPokemonRef
- thumb_func_end sub_8025EF4
-
- thumb_func_start sub_8025F68
-sub_8025F68:
- push {lr}
- ldr r0, _08025F80
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x19
- bhi _0802603A
- lsls r0, 2
- ldr r1, _08025F84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08025F80: .4byte gUnknown_203B2B8
-_08025F84: .4byte _08025F88
- .align 2, 0
-_08025F88:
- .4byte _08025FF0
- .4byte _08025FF8
- .4byte _08025FF8
- .4byte _08025FFE
- .4byte _08026004
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802600A
- .4byte _08026010
- .4byte _08026016
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802601C
- .4byte _0802601C
- .4byte _08026022
- .4byte _08026028
- .4byte _0802602E
- .4byte _0802602E
- .4byte _08026034
- .4byte _08026040
-_08025FF0:
- movs r0, 0x1
- bl sub_8026074
- b _08026044
-_08025FF8:
- bl sub_80268CC
- b _08026044
-_08025FFE:
- bl sub_8026A78
- b _08026044
-_08026004:
- bl sub_8026A94
- b _08026044
-_0802600A:
- bl sub_8026AB0
- b _08026044
-_08026010:
- bl sub_8026B10
- b _08026044
-_08026016:
- bl sub_8026B48
- b _08026044
-_0802601C:
- bl sub_8026B64
- b _08026044
-_08026022:
- bl sub_8026C14
- b _08026044
-_08026028:
- bl sub_8026CF0
- b _08026044
-_0802602E:
- bl sub_8026D0C
- b _08026044
-_08026034:
- bl sub_8026D6C
- b _08026044
-_0802603A:
- bl sub_8026D88
- b _08026044
-_08026040:
- movs r0, 0x3
- b _08026046
-_08026044:
- movs r0, 0
-_08026046:
- pop {r1}
- bx r1
- thumb_func_end sub_8025F68
-
- thumb_func_start sub_802604C
-sub_802604C:
- ldr r0, _08026054
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_08026054: .4byte gUnknown_203B2B8
- thumb_func_end sub_802604C
-
- thumb_func_start sub_8026058
-sub_8026058:
- push {r4,lr}
- ldr r4, _08026070
- ldr r0, [r4]
- cmp r0, 0
- beq _0802606A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802606A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08026070: .4byte gUnknown_203B2B8
- thumb_func_end sub_8026058
-
- thumb_func_start sub_8026074
-sub_8026074:
- push {lr}
- ldr r1, _08026088
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802608C
- bl sub_80261D0
- pop {r0}
- bx r0
- .align 2, 0
-_08026088: .4byte gUnknown_203B2B8
- thumb_func_end sub_8026074
-
- thumb_func_start sub_802608C
-sub_802608C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _080260B8
- ldr r0, [r4]
- movs r5, 0x88
- lsls r5, 2
- adds r0, r5
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x1
- blt _08026178
- cmp r0, 0x2
- ble _080260BC
- cmp r0, 0x14
- beq _0802614C
- b _08026178
- .align 2, 0
-_080260B8: .4byte gUnknown_203B2B8
-_080260BC:
- ldr r0, _0802613C
- mov r12, r0
- ldr r1, _08026140
- mov r8, r1
- mov r9, r4
- mov r10, r5
- movs r3, 0
- movs r2, 0x3
-_080260CC:
- mov r5, r9
- ldr r1, [r5]
- adds r1, r3
- add r1, r10
- ldr r0, _08026144
- 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 _080260CC
- ldr r1, [r4]
- movs r6, 0x88
- lsls r6, 2
- adds r1, r6
- mov r0, r12
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldr r1, [r4]
- movs r0, 0x9A
- lsls r0, 2
- adds r1, r0
- mov r0, r8
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- bl sub_80264CC
- ldr r2, [r4]
- movs r0, 0x94
- lsls r0, 2
- adds r2, r0
- ldr r1, _08026148
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0xB6
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- ldr r0, [r4]
- movs r7, 0x97
- lsls r7, 2
- adds r0, r7
- movs r1, 0x9
- strh r1, [r0]
- b _080261A2
- .align 2, 0
-_0802613C: .4byte gUnknown_80DD358
-_08026140: .4byte gUnknown_80DD370
-_08026144: .4byte gUnknown_80DD310
-_08026148: .4byte gUnknown_80DD328
-_0802614C:
- bl sub_802678C
- ldr r2, [r4]
- movs r0, 0x94
- lsls r0, 2
- adds r2, r0
- ldr r1, _08026174
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0xB6
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- b _080261A2
- .align 2, 0
-_08026174: .4byte gUnknown_80DD340
-_08026178:
- ldr r7, _080261C8
- mov r8, r7
- movs r0, 0x88
- lsls r0, 2
- mov r9, r0
- ldr r4, _080261CC
- movs r3, 0
- movs r2, 0x3
-_08026188:
- mov r5, r8
- ldr r1, [r5]
- adds r1, r3
- add r1, r9
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08026188
-_080261A2:
- bl ResetUnusedInputStruct
- ldr r0, _080261C8
- ldr r0, [r0]
- movs r6, 0x88
- lsls r6, 2
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080261C8: .4byte gUnknown_203B2B8
-_080261CC: .4byte gUnknown_80DD310
- thumb_func_end sub_802608C
-
- thumb_func_start sub_80261D0
-sub_80261D0:
- push {r4,r5,lr}
- sub sp, 0x18
- ldr r1, _080261EC
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x19
- bls _080261E2
- b _080264BA
-_080261E2:
- lsls r0, 2
- ldr r1, _080261F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080261EC: .4byte gUnknown_203B2B8
-_080261F0: .4byte _080261F4
- .align 2, 0
-_080261F4:
- .4byte _080264BA
- .4byte _0802625C
- .4byte _080262A8
- .4byte _080262EC
- .4byte _080262FA
- .4byte _080263F8
- .4byte _0802640C
- .4byte _08026420
- .4byte _08026434
- .4byte _08026448
- .4byte _0802648A
- .4byte _080264A8
- .4byte _08026392
- .4byte _080263AC
- .4byte _08026306
- .4byte _08026464
- .4byte _08026474
- .4byte _08026484
- .4byte _08026310
- .4byte _0802631E
- .4byte _08026326
- .4byte _08026350
- .4byte _08026362
- .4byte _08026388
- .4byte _080263E0
- .4byte _080264BA
-_0802625C:
- movs r0, 0x3
- bl sub_8026E08
- ldr r5, _080262A0
- ldr r1, [r5]
- adds r1, 0x14
- movs r0, 0
- bl sub_8026DAC
- ldr r4, _080262A4
- ldr r0, [r5]
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_808D9AC
- adds r4, 0x50
- ldr r0, [r5]
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x7C
- movs r3, 0xB6
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0x83
- lsls r4, 2
- adds r3, r2, r4
- ldr r2, [r2, 0x70]
- b _0802633E
- .align 2, 0
-_080262A0: .4byte gUnknown_203B2B8
-_080262A4: .4byte gAvailablePokemonNames
-_080262A8:
- movs r0, 0x3
- bl sub_8026E08
- ldr r5, _080262E4
- ldr r1, [r5]
- adds r1, 0x14
- movs r0, 0
- bl sub_8026DAC
- ldr r4, _080262E8
- ldr r0, [r5]
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_808D9AC
- adds r4, 0x50
- ldr r0, [r5]
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r0, [r5]
- adds r0, 0x7C
- movs r1, 0x1
- bl sub_8012EA4
- b _080264BA
- .align 2, 0
-_080262E4: .4byte gUnknown_203B2B8
-_080262E8: .4byte gAvailablePokemonNames
-_080262EC:
- ldr r0, [r4]
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- movs r1, 0x2
- bl sub_8024458
- b _080264BA
-_080262FA:
- ldr r0, [r4]
- movs r3, 0xA
- ldrsh r0, [r0, r3]
- bl sub_801BEEC
- b _080264BA
-_08026306:
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- bl sub_80227B8
- b _080264BA
-_08026310:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _080264BA
-_0802631E:
- movs r0, 0x1
- bl sub_801A8D0
- b _080264BA
-_08026326:
- bl sub_801A9E0
- ldr r0, _0802634C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xCC
- movs r4, 0xB6
- lsls r4, 1
- adds r1, r2, r4
- adds r4, 0xA0
- adds r3, r2, r4
- ldr r2, [r2, 0x74]
-_0802633E:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _080264BA
- .align 2, 0
-_0802634C: .4byte gUnknown_203B2B8
-_08026350:
- ldr r1, [r4]
- adds r1, 0x10
- add r0, sp, 0x14
- bl sub_8090B64
- add r0, sp, 0x14
- bl sub_801B3C0
- b _080264BA
-_08026362:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r1, [r1, 0x18]
- adds r1, 0x2C
- bl sub_809401C
- ldr r2, [r4]
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- adds r2, 0x28
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r3, 0
- bl sub_801EE10
- b _080264BA
-_08026388:
- movs r0, 0x1
- movs r1, 0
- bl sub_801F1B0
- b _080264BA
-_08026392:
- bl sub_8026878
- ldr r0, _080263A4
- ldr r1, _080263A8
- ldr r3, [r1]
- movs r1, 0xDE
- lsls r1, 1
- adds r3, r1
- b _080263BC
- .align 2, 0
-_080263A4: .4byte gUnknown_80DD388
-_080263A8: .4byte gUnknown_203B2B8
-_080263AC:
- bl sub_8026878
- ldr r0, _080263D8
- ldr r1, _080263DC
- ldr r3, [r1]
- movs r4, 0xDE
- lsls r4, 1
- adds r3, r4
-_080263BC:
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- b _080264BA
- .align 2, 0
-_080263D8: .4byte gUnknown_80DD420
-_080263DC: .4byte gUnknown_203B2B8
-_080263E0:
- ldr r2, [r4]
- ldr r0, [r2, 0x20]
- adds r1, r2, 0
- adds r1, 0x28
- adds r2, 0x68
- bl sub_8093560
- ldr r0, [r4]
- adds r0, 0x68
- bl sub_801F808
- b _080264BA
-_080263F8:
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x4]
- movs r0, 0xCF
- bl PlaySound
- ldr r0, _08026408
- b _08026492
- .align 2, 0
-_08026408: .4byte gUnknown_80DD4C4
-_0802640C:
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x4]
- movs r0, 0xCF
- bl PlaySound
- ldr r0, _0802641C
- b _08026492
- .align 2, 0
-_0802641C: .4byte gUnknown_80DD4F4
-_08026420:
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x4]
- movs r0, 0xCC
- bl PlaySound
- ldr r0, _08026430
- b _08026492
- .align 2, 0
-_08026430: .4byte gUnknown_80DD534
-_08026434:
- ldr r1, [r4]
- movs r0, 0x9
- str r0, [r1, 0x4]
- movs r0, 0xCA
- bl PlaySound
- ldr r0, _08026444
- b _08026492
- .align 2, 0
-_08026444: .4byte gUnknown_80DD564
-_08026448:
- bl sub_8026FA4
- ldr r4, _08026460
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- bl sub_808D31C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x8]
- b _080264BA
- .align 2, 0
-_08026460: .4byte gUnknown_203B2B8
-_08026464:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _08026470
- b _08026492
- .align 2, 0
-_08026470: .4byte gUnknown_80DD594
-_08026474:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _08026480
- b _08026492
- .align 2, 0
-_08026480: .4byte gUnknown_80DD5B8
-_08026484:
- ldr r1, [r4]
- movs r0, 0x2
- b _0802648E
-_0802648A:
- ldr r1, [r4]
- movs r0, 0x19
-_0802648E:
- str r0, [r1, 0x4]
- ldr r0, _080264A0
-_08026492:
- ldr r3, _080264A4
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _080264BA
- .align 2, 0
-_080264A0: .4byte gUnknown_80DD60C
-_080264A4: .4byte 0x00000101
-_080264A8:
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x4]
- ldr r0, _080264C4
- ldr r3, _080264C8
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_080264BA:
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080264C4: .4byte gUnknown_80DD63C
-_080264C8: .4byte 0x00000101
- thumb_func_end sub_80261D0
-
- thumb_func_start sub_80264CC
-sub_80264CC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r3, _08026574
- ldr r4, _08026578
- ldr r0, [r4]
- movs r1, 0xA
- ldrsh r2, [r0, r1]
- movs r1, 0x58
- muls r2, r1
- ldr r1, [r3]
- adds r1, r2
- mov r8, r1
- movs r2, 0x83
- lsls r2, 2
- adds r0, r2
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x1C]
- ldr r1, [r4]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- adds r1, 0x14
- bl sub_808D7DC
- mov r1, r8
- ldrh r0, [r1]
- lsrs r0, 1
- movs r5, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08026584
- ldr r2, [r4]
- movs r3, 0xB6
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _0802657C
- str r0, [r1]
- movs r0, 0xB8
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x7
- str r0, [r1]
- mov r0, r8
- bl sub_8026E88
- lsls r0, 24
- cmp r0, 0
- bne _08026542
- ldr r0, [r4]
- movs r1, 0x83
- lsls r1, 2
- adds r0, r1
- strh r5, [r0]
-_08026542:
- movs r6, 0x1
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080265B4
- mov r2, r8
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _080265B4
- ldr r3, [r4]
- movs r2, 0x8
- movs r4, 0xBA
- lsls r4, 1
- adds r1, r3, r4
- ldr r0, _08026580
- str r0, [r1]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r3, r1
- str r2, [r0]
- movs r6, 0x2
- b _080265B4
- .align 2, 0
-_08026574: .4byte gRecruitedPokemonRef
-_08026578: .4byte gUnknown_203B2B8
-_0802657C: .4byte gUnknown_80DD664
-_08026580: .4byte gUnknown_80DD670
-_08026584:
- ldr r2, [r4]
- movs r3, 0xB6
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _08026734
- str r0, [r1]
- movs r0, 0xB8
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x6
- str r0, [r1]
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- bl sub_808D750
- lsls r0, 24
- cmp r0, 0
- bne _080265B2
- ldr r0, [r4]
- movs r2, 0x83
- lsls r2, 2
- adds r0, r2
- strh r5, [r0]
-_080265B2:
- movs r6, 0x1
-_080265B4:
- ldr r4, _08026738
- ldr r2, [r4]
- lsls r3, r6, 3
- movs r7, 0xB6
- lsls r7, 1
- adds r0, r2, r7
- adds r0, r3
- ldr r1, _0802673C
- str r1, [r0]
- movs r5, 0xB8
- lsls r5, 1
- adds r2, r5
- adds r2, r3
- movs r0, 0xA
- str r0, [r2]
- bl sub_809177C
- lsls r0, 24
- cmp r0, 0
- bne _080265EC
- ldr r0, [r4]
- lsls r1, r6, 1
- movs r3, 0x83
- lsls r3, 2
- adds r0, r3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_080265EC:
- adds r6, 0x1
- ldr r2, [r4]
- lsls r3, r6, 3
- adds r0, r2, r7
- adds r0, r3
- ldr r1, _08026740
- str r1, [r0]
- adds r2, r5
- adds r2, r3
- movs r0, 0xB
- str r0, [r2]
- bl sub_8090A34
- cmp r0, 0
- bne _0802661A
- ldr r0, [r4]
- lsls r1, r6, 1
- movs r2, 0x83
- lsls r2, 2
- adds r0, r2
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_0802661A:
- adds r6, 0x1
- ldr r2, [r4]
- lsls r3, r6, 3
- adds r0, r2, r7
- adds r0, r3
- ldr r1, _08026744
- str r1, [r0]
- adds r2, r5
- adds r2, r3
- movs r0, 0xC
- str r0, [r2]
- bl sub_8090A34
- cmp r0, 0x13
- bgt _08026640
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _08026650
-_08026640:
- ldr r0, [r4]
- lsls r1, r6, 1
- movs r3, 0x83
- lsls r3, 2
- adds r0, r3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_08026650:
- adds r6, 0x1
- mov r4, r8
- ldrh r0, [r4]
- lsrs r0, 1
- movs r5, 0x1
- ands r0, r5
- cmp r0, 0
- bne _0802669A
- ldr r4, _08026738
- ldr r3, [r4]
- lsls r2, r6, 3
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r3, r1
- adds r0, r2
- ldr r1, _08026748
- str r1, [r0]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r3, r1
- adds r0, r2
- movs r1, 0x9
- str r1, [r0]
- mov r0, r8
- bl sub_8026EB8
- lsls r0, 24
- cmp r0, 0
- bne _08026698
- ldr r0, [r4]
- lsls r1, r6, 1
- movs r2, 0x83
- lsls r2, 2
- adds r0, r2
- adds r0, r1
- strh r5, [r0]
-_08026698:
- adds r6, 0x1
-_0802669A:
- ldr r4, _08026738
- ldr r5, [r4]
- lsls r1, r6, 3
- movs r0, 0xB6
- lsls r0, 1
- adds r3, r5, r0
- adds r2, r3, r1
- ldr r0, _0802674C
- str r0, [r2]
- movs r2, 0xB8
- lsls r2, 1
- adds r7, r5, r2
- adds r1, r7, r1
- movs r0, 0x4
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r3, r1
- ldr r0, _08026750
- str r0, [r2]
- adds r1, r7, r1
- movs r0, 0xD
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r3, r1
- ldr r0, _08026754
- str r0, [r2]
- adds r1, r7, r1
- movs r0, 0x5
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r1, r7, r1
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- mov r12, r4
- cmp r3, r6
- bge _08026710
- adds r4, r7, 0
- movs r0, 0x83
- lsls r0, 2
- adds r2, r5, r0
-_080266F8:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08026706
- ldr r1, [r4]
- ldr r0, [r5, 0x70]
- cmp r1, r0
- beq _08026780
-_08026706:
- adds r4, 0x8
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, r6
- blt _080266F8
-_08026710:
- movs r3, 0
- cmp r3, r6
- bge _08026780
- mov r2, r12
- ldr r1, [r2]
- movs r4, 0x83
- lsls r4, 2
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, 0
- bne _08026758
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- str r0, [r1, 0x70]
- b _08026780
- .align 2, 0
-_08026734: .4byte gUnknown_80DD67C
-_08026738: .4byte gUnknown_203B2B8
-_0802673C: .4byte gUnknown_80DD688
-_08026740: .4byte gUnknown_80DD694
-_08026744: .4byte gUnknown_80DD69C
-_08026748: .4byte gUnknown_80DD6A4
-_0802674C: .4byte gUnknown_80DD6B4
-_08026750: .4byte gUnknown_80DD6BC
-_08026754: .4byte gUnknown_80DD6C4
-_08026758:
- adds r3, 0x1
- cmp r3, r6
- bge _08026780
- mov r4, r12
- ldr r2, [r4]
- lsls r0, r3, 1
- movs r4, 0x83
- lsls r4, 2
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08026758
- lsls r0, r3, 3
- movs r3, 0xB8
- lsls r3, 1
- adds r1, r2, r3
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x70]
-_08026780:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80264CC
-
- thumb_func_start sub_802678C
-sub_802678C:
- push {r4-r7,lr}
- ldr r5, _08026840
- ldr r0, [r5]
- movs r7, 0x83
- lsls r7, 2
- adds r0, r7
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldr r2, [r5]
- movs r0, 0xB6
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, _08026844
- str r0, [r1]
- movs r3, 0xB8
- lsls r3, 1
- adds r1, r2, r3
- movs r0, 0xB
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0
- bne _080267C8
- ldr r0, [r5]
- adds r4, r7, 0
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
-_080267C8:
- ldr r4, [r5]
- movs r2, 0x1
- movs r0, 0xBA
- lsls r0, 1
- adds r1, r4, r0
- ldr r0, _08026848
- ldr r0, [r0]
- str r0, [r1]
- movs r3, 0xBC
- lsls r3, 1
- adds r1, r4, r3
- movs r0, 0x4
- str r0, [r1]
- movs r6, 0x2
- movs r0, 0xBE
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0
- str r0, [r1]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r4, r1
- str r2, [r0]
- movs r3, 0
- mov r12, r4
- movs r4, 0xB8
- lsls r4, 1
- add r4, r12
- mov r0, r12
- adds r2, r0, r7
-_08026804:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08026814
- ldr r1, [r4]
- mov r7, r12
- ldr r0, [r7, 0x74]
- cmp r1, r0
- beq _08026872
-_08026814:
- adds r4, 0x8
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, r6
- blt _08026804
- movs r3, 0
- cmp r3, r6
- bge _08026872
- ldr r1, [r5]
- movs r2, 0x83
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _0802684C
- movs r3, 0xB8
- lsls r3, 1
- adds r0, r1, r3
- ldr r0, [r0]
- str r0, [r1, 0x74]
- b _08026872
- .align 2, 0
-_08026840: .4byte gUnknown_203B2B8
-_08026844: .4byte gUnknown_80DD694
-_08026848: .4byte gUnknown_80D4970
-_0802684C:
- adds r3, 0x1
- cmp r3, r6
- bge _08026872
- ldr r2, [r5]
- lsls r0, r3, 1
- movs r4, 0x83
- lsls r4, 2
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0802684C
- lsls r0, r3, 3
- movs r7, 0xB8
- lsls r7, 1
- adds r1, r2, r7
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x74]
-_08026872:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802678C
-
- thumb_func_start sub_8026878
-sub_8026878:
- ldr r0, _080268C0
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0
- movs r1, 0xDE
- lsls r1, 1
- add r1, r12
- ldr r0, _080268C4
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xE0
- lsls r1, 1
- add r1, r12
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- movs r1, 0xE2
- lsls r1, 1
- add r1, r12
- ldr r0, _080268C8
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xE4
- lsls r1, 1
- add r1, r12
- movs r0, 0x3
- str r0, [r1]
- movs r0, 0xE6
- lsls r0, 1
- add r0, r12
- str r3, [r0]
- movs r0, 0xE8
- lsls r0, 1
- add r0, r12
- str r2, [r0]
- bx lr
- .align 2, 0
-_080268C0: .4byte gUnknown_203B2B8
-_080268C4: .4byte gUnknown_80D4920
-_080268C8: .4byte gUnknown_80D4928
- thumb_func_end sub_8026878
-
- thumb_func_start sub_80268CC
-sub_80268CC:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, _0802690C
- ldr r0, [r4]
- adds r0, 0x7C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080268F8
- ldr r0, [r4]
- adds r0, 0x7C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080268F8
- ldr r0, [r4]
- str r1, [r0, 0x70]
-_080268F8:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0xC
- bls _08026902
- b _08026A6E
-_08026902:
- lsls r0, 2
- ldr r1, _08026910
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802690C: .4byte gUnknown_203B2B8
-_08026910: .4byte _08026914
- .align 2, 0
-_08026914:
- .4byte _08026A68
- .4byte _08026A6E
- .4byte _08026A6E
- .4byte _08026A58
- .4byte _08026A60
- .4byte _08026948
- .4byte _0802698C
- .4byte _080269B4
- .4byte _080269F0
- .4byte _08026A00
- .4byte _08026A08
- .4byte _08026A10
- .4byte _080269F8
-_08026948:
- ldr r4, _08026984
- ldr r0, [r4]
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- bl sub_808D750
- lsls r0, 24
- cmp r0, 0
- beq _08026976
- ldr r0, [r4]
- movs r2, 0xA
- ldrsh r1, [r0, r2]
- movs r0, 0x58
- muls r1, r0
- ldr r0, _08026988
- ldr r0, [r0]
- adds r1, r0
- ldrh r2, [r1]
- movs r0, 0x2
- orrs r0, r2
- strh r0, [r1]
- bl nullsub_104
-_08026976:
- bl sub_808ED00
- movs r0, 0x5
- bl sub_8026074
- b _08026A6E
- .align 2, 0
-_08026984: .4byte gUnknown_203B2B8
-_08026988: .4byte gRecruitedPokemonRef
-_0802698C:
- ldr r0, _080269AC
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrh r1, [r2]
- ldr r0, _080269B0
- ands r0, r1
- strh r0, [r2]
- bl nullsub_104
- bl sub_808ED00
- movs r0, 0x6
- bl sub_8026074
- b _08026A6E
- .align 2, 0
-_080269AC: .4byte gUnknown_203B2B8
-_080269B0: .4byte 0x0000fffd
-_080269B4:
- ldr r2, _080269E8
- ldr r0, _080269EC
- ldr r0, [r0]
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- movs r0, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- bl sub_808D33C
- ldrb r1, [r4, 0x2]
- cmp r1, 0
- bne _080269DA
- strb r1, [r0, 0x2]
- movs r0, 0x1
- strb r0, [r4, 0x2]
- bl nullsub_104
-_080269DA:
- bl sub_808ED00
- movs r0, 0x7
- bl sub_8026074
- b _08026A6E
- .align 2, 0
-_080269E8: .4byte gRecruitedPokemonRef
-_080269EC: .4byte gUnknown_203B2B8
-_080269F0:
- movs r0, 0xC
- bl sub_8026074
- b _08026A6E
-_080269F8:
- movs r0, 0x16
- bl sub_8026074
- b _08026A6E
-_08026A00:
- movs r0, 0xE
- bl sub_8026074
- b _08026A6E
-_08026A08:
- movs r0, 0x12
- bl sub_8026074
- b _08026A6E
-_08026A10:
- ldr r0, _08026A50
- bl PlaySound
- ldr r4, _08026A54
- ldr r1, [r4]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- beq _08026A28
- adds r0, r1, 0
- adds r0, 0x14
- bl sub_8091274
-_08026A28:
- bl sub_80910B4
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r4]
- strb r1, [r0, 0x15]
- ldr r1, [r4]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- bl nullsub_104
- movs r0, 0x11
- bl sub_8026074
- b _08026A6E
- .align 2, 0
-_08026A50: .4byte 0x0000014d
-_08026A54: .4byte gUnknown_203B2B8
-_08026A58:
- movs r0, 0x3
- bl sub_8026074
- b _08026A6E
-_08026A60:
- movs r0, 0x4
- bl sub_8026074
- b _08026A6E
-_08026A68:
- movs r0, 0x19
- bl sub_8026074
-_08026A6E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80268CC
-
- thumb_func_start sub_8026A78
-sub_8026A78:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _08026A90
- cmp r0, 0x3
- bhi _08026A90
- bl sub_802453C
- movs r0, 0x2
- bl sub_8026074
-_08026A90:
- pop {r0}
- bx r0
- thumb_func_end sub_8026A78
-
- thumb_func_start sub_8026A94
-sub_8026A94:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _08026AAC
- cmp r0, 0x3
- bhi _08026AAC
- bl sub_801BF98
- movs r0, 0x2
- bl sub_8026074
-_08026AAC:
- pop {r0}
- bx r0
- thumb_func_end sub_8026A94
-
- thumb_func_start sub_8026AB0
-sub_8026AB0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08026B08
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08026ADA
- cmp r0, 0x2
- bgt _08026ACE
- cmp r0, 0x1
- beq _08026AD2
- b _08026B08
-_08026ACE:
- cmp r0, 0x3
- bne _08026B08
-_08026AD2:
- movs r0, 0x2
- bl sub_8026074
- b _08026B08
-_08026ADA:
- ldr r0, _08026AF0
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrb r0, [r0, 0x4]
- subs r0, 0x44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08026AF4
- movs r0, 0x1
- b _08026AF6
- .align 2, 0
-_08026AF0: .4byte gUnknown_203B2B8
-_08026AF4:
- movs r0, 0
-_08026AF6:
- cmp r0, 0
- beq _08026B02
- movs r0, 0xD
- bl sub_8026074
- b _08026B08
-_08026B02:
- movs r0, 0x8
- bl sub_8026074
-_08026B08:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8026AB0
-
- thumb_func_start sub_8026B10
-sub_8026B10:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08026B40
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08026B3A
- cmp r0, 0x2
- bgt _08026B2E
- cmp r0, 0x1
- beq _08026B32
- b _08026B40
-_08026B2E:
- cmp r0, 0x3
- bne _08026B40
-_08026B32:
- movs r0, 0x2
- bl sub_8026074
- b _08026B40
-_08026B3A:
- movs r0, 0x8
- bl sub_8026074
-_08026B40:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8026B10
-
- thumb_func_start sub_8026B48
-sub_8026B48:
- push {lr}
- bl sub_8022860
- cmp r0, 0x1
- bls _08026B60
- cmp r0, 0x3
- bhi _08026B60
- bl sub_8022908
- movs r0, 0x2
- bl sub_8026074
-_08026B60:
- pop {r0}
- bx r0
- thumb_func_end sub_8026B48
-
- thumb_func_start sub_8026B64
-sub_8026B64:
- push {r4,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _08026C0E
- lsls r0, 2
- ldr r1, _08026B7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08026B7C: .4byte _08026B80
- .align 2, 0
-_08026B80:
- .4byte _08026C0E
- .4byte _08026C0E
- .4byte _08026C04
- .4byte _08026B94
- .4byte _08026BC8
-_08026B94:
- bl sub_801A8AC
- ldr r4, _08026BC0
- ldr r2, [r4]
- str r0, [r2, 0xC]
- ldr r3, _08026BC4
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x10]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0xC]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x11]
- movs r0, 0x14
- bl sub_8026074
- b _08026C0E
- .align 2, 0
-_08026BC0: .4byte gUnknown_203B2B8
-_08026BC4: .4byte gUnknown_203B460
-_08026BC8:
- bl sub_801A8AC
- ldr r4, _08026BFC
- ldr r2, [r4]
- str r0, [r2, 0xC]
- ldr r3, _08026C00
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x10]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0xC]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x11]
- movs r0, 0
- bl sub_8099690
- movs r0, 0x15
- bl sub_8026074
- b _08026C0E
- .align 2, 0
-_08026BFC: .4byte gUnknown_203B2B8
-_08026C00: .4byte gUnknown_203B460
-_08026C04:
- bl sub_801A928
- movs r0, 0x2
- bl sub_8026074
-_08026C0E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8026B64
-
- thumb_func_start sub_8026C14
-sub_8026C14:
- push {r4-r6,lr}
- sub sp, 0x14
- movs r0, 0
- str r0, [sp, 0xC]
- bl sub_801A6E8
- ldr r4, _08026C54
- ldr r0, [r4]
- adds r0, 0xCC
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08026C44
- ldr r0, [r4]
- adds r0, 0xCC
- add r1, sp, 0xC
- bl sub_8013114
- ldr r1, [sp, 0xC]
- cmp r1, 0x1
- beq _08026C44
- ldr r0, [r4]
- str r1, [r0, 0x74]
-_08026C44:
- ldr r0, [sp, 0xC]
- cmp r0, 0x4
- beq _08026CD4
- cmp r0, 0x4
- bgt _08026C58
- cmp r0, 0x1
- beq _08026CE2
- b _08026CE8
- .align 2, 0
-_08026C54: .4byte gUnknown_203B2B8
-_08026C58:
- cmp r0, 0xB
- bne _08026CE8
- movs r6, 0xF
- ldr r0, _08026CC8
- bl PlaySound
- ldr r5, _08026CCC
- ldr r0, [r5]
- ldr r0, [r0, 0xC]
- bl sub_80911F8
- bl sub_80910B4
- ldr r1, [r5]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- beq _08026C84
- adds r0, r1, 0
- adds r0, 0x14
- bl sub_8091274
- movs r6, 0x10
-_08026C84:
- add r4, sp, 0x10
- ldr r1, [r5]
- adds r1, 0x10
- adds r0, r4, 0
- bl sub_8090B64
- movs r1, 0
- str r1, [sp]
- mov r0, sp
- strb r1, [r0, 0x4]
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08026CD0
- adds r1, r4, 0
- mov r2, sp
- bl sub_8090E14
- ldr r1, [r5]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- adds r1, 0x10
- bl sub_808D800
- bl sub_801A928
- bl nullsub_104
- adds r0, r6, 0
- bl sub_8026074
- b _08026CE8
- .align 2, 0
-_08026CC8: .4byte 0x0000014d
-_08026CCC: .4byte gUnknown_203B2B8
-_08026CD0: .4byte gUnknown_202DEA8
-_08026CD4:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x15
- bl sub_8026074
- b _08026CE8
-_08026CE2:
- movs r0, 0x13
- bl sub_8026074
-_08026CE8:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8026C14
-
- thumb_func_start sub_8026CF0
-sub_8026CF0:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08026D08
- cmp r0, 0x3
- bhi _08026D08
- bl sub_801B450
- movs r0, 0x13
- bl sub_8026074
-_08026D08:
- pop {r0}
- bx r0
- thumb_func_end sub_8026CF0
-
- thumb_func_start sub_8026D0C
-sub_8026D0C:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x4
- bhi _08026D66
- lsls r0, 2
- ldr r1, _08026D24
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08026D24: .4byte _08026D28
- .align 2, 0
-_08026D28:
- .4byte _08026D66
- .4byte _08026D66
- .4byte _08026D5C
- .4byte _08026D3C
- .4byte _08026D3C
-_08026D3C:
- bl sub_801F194
- ldr r1, _08026D58
- ldr r1, [r1]
- str r0, [r1, 0x20]
- lsls r0, 3
- adds r0, r1, r0
- ldrh r0, [r0, 0x2A]
- strh r0, [r1, 0x24]
- movs r0, 0x18
- bl sub_8026074
- b _08026D66
- .align 2, 0
-_08026D58: .4byte gUnknown_203B2B8
-_08026D5C:
- bl sub_801F214
- movs r0, 0x2
- bl sub_8026074
-_08026D66:
- pop {r0}
- bx r0
- thumb_func_end sub_8026D0C
-
- thumb_func_start sub_8026D6C
-sub_8026D6C:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _08026D84
- cmp r0, 0x3
- bhi _08026D84
- bl sub_801F8D0
- movs r0, 0x17
- bl sub_8026074
-_08026D84:
- pop {r0}
- bx r0
- thumb_func_end sub_8026D6C
-
- thumb_func_start sub_8026D88
-sub_8026D88:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08026DA0
- ldr r0, _08026DA8
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_8026074
-_08026DA0:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08026DA8: .4byte gUnknown_203B2B8
- thumb_func_end sub_8026D88
-
- thumb_func_start sub_8026DAC
-sub_8026DAC:
- push {r4-r6,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_8008C54
- adds r0, r6, 0
- bl sub_80073B8
- add r4, sp, 0x10
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8090B64
- movs r5, 0
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- strb r5, [r0, 0x4]
- adds r1, r0, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08026E00
- adds r1, r4, 0
- add r2, sp, 0x4
- bl sub_8090E14
- ldr r2, _08026E04
- str r5, [sp]
- movs r0, 0x4
- movs r1, 0x3
- adds r3, r6, 0
- bl sub_8014FF0
- adds r0, r6, 0
- bl sub_80073E0
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08026E00: .4byte gUnknown_202DE58
-_08026E04: .4byte gUnknown_80DD6D0
- thumb_func_end sub_8026DAC
-
- thumb_func_start sub_8026E08
-sub_8026E08:
- push {r4-r6,lr}
- sub sp, 0x40
- adds r5, r0, 0
- bl sub_8008C54
- adds r0, r5, 0
- bl sub_80073B8
- ldr r6, _08026E78
- ldr r4, _08026E7C
- ldr r0, [r4]
- ldr r1, [r0, 0x18]
- adds r1, 0x4C
- adds r0, r6, 0
- movs r2, 0xA
- bl sub_80922B4
- add r0, sp, 0x2C
- ldr r1, [r4]
- ldr r1, [r1, 0x18]
- movs r2, 0x8
- ldrsh r1, [r1, r2]
- bl sub_808D930
- ldr r1, _08026E80
- add r0, sp, 0x4
- adds r2, r6, 0
- bl sub_800D158
- add r0, sp, 0x4
- bl sub_8008ED0
- adds r1, r0, 0
- ldr r0, _08026E84
- movs r2, 0xC
- ldrsh r0, [r0, r2]
- lsls r0, 3
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0
- str r1, [sp]
- movs r1, 0x3
- add r2, sp, 0x4
- adds r3, r5, 0
- bl xxx_call_draw_string
- adds r0, r5, 0
- bl sub_80073E0
- add sp, 0x40
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08026E78: .4byte gAvailablePokemonNames
-_08026E7C: .4byte gUnknown_203B2B8
-_08026E80: .4byte gUnknown_80DD6E0
-_08026E84: .4byte gUnknown_80DD370
- thumb_func_end sub_8026E08
-
- thumb_func_start sub_8026E88
-sub_8026E88:
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _08026EAC
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08026E9C
- movs r2, 0x1
-_08026E9C:
- cmp r2, 0
- beq _08026EB0
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08026EB0
-_08026EAC:
- movs r0, 0
- b _08026EB2
-_08026EB0:
- movs r0, 0x1
-_08026EB2:
- pop {r1}
- bx r1
- thumb_func_end sub_8026E88
-
- thumb_func_start sub_8026EB8
-sub_8026EB8:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_808D3BC
- cmp r0, r4
- beq _08026EFA
- bl sub_808D3F8
- cmp r0, r4
- beq _08026EFA
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _08026EFA
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _08026EDC
- movs r1, 0x1
-_08026EDC:
- cmp r1, 0
- beq _08026EEC
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _08026EFA
-_08026EEC:
- adds r0, r4, 0
- bl sub_8026F04
- cmp r0, 0x3
- beq _08026EFA
- movs r0, 0x1
- b _08026EFC
-_08026EFA:
- movs r0, 0
-_08026EFC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8026EB8
-
- thumb_func_start sub_8026F04
-sub_8026F04:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0
- bne _08026F14
- movs r0, 0
- b _08026F32
-_08026F14:
- bl sub_8090A34
- cmp r0, 0x13
- bgt _08026F20
- movs r0, 0x1
- b _08026F32
-_08026F20:
- adds r0, r4, 0
- bl sub_8026F38
- lsls r0, 24
- cmp r0, 0
- bne _08026F30
- movs r0, 0x3
- b _08026F32
-_08026F30:
- movs r0, 0x2
-_08026F32:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8026F04
-
- thumb_func_start sub_8026F38
-sub_8026F38:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x28
- ldrb r0, [r4]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _08026F74
- ldrb r0, [r4]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _08026F80
- ldr r0, _08026F78
- ldr r1, [r0]
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _08026F7C
- cmp r1, r0
- ble _08026F94
-_08026F74:
- movs r0, 0
- b _08026F96
- .align 2, 0
-_08026F78: .4byte gUnknown_203B460
-_08026F7C: .4byte 0x000003e7
-_08026F80:
- ldr r0, _08026F9C
- ldr r1, [r0]
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- ldr r0, _08026FA0
- cmp r1, r0
- bhi _08026F74
-_08026F94:
- movs r0, 0x1
-_08026F96:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08026F9C: .4byte gUnknown_203B460
-_08026FA0: .4byte 0x000003e6
- thumb_func_end sub_8026F38
-
- thumb_func_start sub_8026FA4
-sub_8026FA4:
- push {r4,lr}
- ldr r4, _08026FC0
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- bl sub_8026F04
- cmp r0, 0x1
- beq _08026FC4
- cmp r0, 0x1
- bcc _08027068
- cmp r0, 0x2
- beq _08026FF8
- b _08027068
- .align 2, 0
-_08026FC0: .4byte gUnknown_203B2B8
-_08026FC4:
- ldr r0, _08026FF4
- bl PlaySound
- ldr r0, [r4]
- adds r0, 0x14
- bl sub_8091274
- bl sub_80910B4
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r4]
- strb r1, [r0, 0x15]
- ldr r1, [r4]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- movs r0, 0xA
- bl sub_8026074
- b _0802706E
- .align 2, 0
-_08026FF4: .4byte 0x0000014d
-_08026FF8:
- ldr r0, _08027024
- bl PlaySound
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _0802702C
- ldr r0, _08027028
- ldr r1, [r0]
- ldr r2, [r4]
- ldrb r0, [r2, 0x14]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- ldrb r2, [r2, 0x15]
- adds r0, r2
- b _0802703E
- .align 2, 0
-_08027024: .4byte 0x0000014d
-_08027028: .4byte gUnknown_203B460
-_0802702C:
- ldr r0, _08027060
- ldr r1, [r0]
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
-_0802703E:
- strh r0, [r1]
- ldr r1, _08027064
- ldr r0, [r1]
- movs r2, 0
- strb r2, [r0, 0x14]
- ldr r0, [r1]
- strb r2, [r0, 0x15]
- ldr r1, [r1]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- movs r0, 0xB
- bl sub_8026074
- b _0802706E
- .align 2, 0
-_08027060: .4byte gUnknown_203B460
-_08027064: .4byte gUnknown_203B2B8
-_08027068:
- movs r0, 0x19
- bl sub_8026074
-_0802706E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8026FA4
-
- thumb_func_start sub_8027074
-sub_8027074:
- push {r4,lr}
- movs r0, 0
- bl ResetSprites
- ldr r4, _080270A0
- movs r0, 0xF0
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0, 0x70]
- str r1, [r0, 0x74]
- str r1, [r0, 0x78]
- movs r0, 0
- bl sub_8027184
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080270A0: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027074
-
- thumb_func_start sub_80270A4
-sub_80270A4:
- push {lr}
- ldr r0, _080270BC
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x11
- bhi _08027156
- lsls r0, 2
- ldr r1, _080270C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080270BC: .4byte gUnknown_203B2BC
-_080270C0: .4byte _080270C4
- .align 2, 0
-_080270C4:
- .4byte _0802710C
- .4byte _08027114
- .4byte _08027114
- .4byte _0802711A
- .4byte _08027120
- .4byte _08027126
- .4byte _08027156
- .4byte _08027156
- .4byte _0802712C
- .4byte _08027132
- .4byte _08027138
- .4byte _08027138
- .4byte _0802713E
- .4byte _08027144
- .4byte _0802714A
- .4byte _0802714A
- .4byte _08027150
- .4byte _0802715C
-_0802710C:
- movs r0, 0x1
- bl sub_8027184
- b _08027160
-_08027114:
- bl sub_80277FC
- b _08027160
-_0802711A:
- bl sub_80278B4
- b _08027160
-_08027120:
- bl sub_8027A40
- b _08027160
-_08027126:
- bl sub_8027A5C
- b _08027160
-_0802712C:
- bl sub_8027A78
- b _08027160
-_08027132:
- bl sub_8027AE4
- b _08027160
-_08027138:
- bl sub_8027B28
- b _08027160
-_0802713E:
- bl sub_8027BD8
- b _08027160
-_08027144:
- bl sub_8027C84
- b _08027160
-_0802714A:
- bl sub_8027CA0
- b _08027160
-_08027150:
- bl sub_8027D00
- b _08027160
-_08027156:
- bl sub_8027D1C
- b _08027160
-_0802715C:
- movs r0, 0x3
- b _08027162
-_08027160:
- movs r0, 0
-_08027162:
- pop {r1}
- bx r1
- thumb_func_end sub_80270A4
-
- thumb_func_start sub_8027168
-sub_8027168:
- push {r4,lr}
- ldr r4, _08027180
- ldr r0, [r4]
- cmp r0, 0
- beq _0802717A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802717A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08027180: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027168
-
- thumb_func_start sub_8027184
-sub_8027184:
- push {lr}
- ldr r1, _08027198
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802719C
- bl sub_8027274
- pop {r0}
- bx r0
- .align 2, 0
-_08027198: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027184
-
- thumb_func_start sub_802719C
-sub_802719C:
- push {r4-r7,lr}
- ldr r4, _080271C0
- ldr r0, [r4]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x3
- beq _080271C8
- cmp r0, 0xC
- beq _08027208
- movs r2, 0
- ldr r3, _080271C4
- b _08027234
- .align 2, 0
-_080271C0: .4byte gUnknown_203B2BC
-_080271C4: .4byte gUnknown_80DD6EC
-_080271C8:
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r2
- ldr r0, _08027200
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- bl CreateFriendActionMenu
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _08027204
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r7, 0x8E
- lsls r7, 1
- adds r1, r7
- bl sub_8012CAC
- b _08027254
- .align 2, 0
-_08027200: .4byte gUnknown_80DD74C
-_08027204: .4byte gUnknown_80DD704
-_08027208:
- bl sub_80276A8
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _08027230
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0x8E
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- b _08027254
- .align 2, 0
-_08027230: .4byte gUnknown_80DD71C
-_08027234:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- movs r7, 0xC0
- lsls r7, 1
- adds r0, r7
- 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 _08027234
-_08027254:
- bl ResetUnusedInputStruct
- ldr r0, _08027270
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08027270: .4byte gUnknown_203B2BC
- thumb_func_end sub_802719C
-
- thumb_func_start sub_8027274
-sub_8027274:
- push {r4,lr}
- sub sp, 0x18
- ldr r1, _08027290
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x11
- bls _08027286
- b _0802744A
-_08027286:
- lsls r0, 2
- ldr r1, _08027294
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08027290: .4byte gUnknown_203B2BC
-_08027294: .4byte _08027298
- .align 2, 0
-_08027298:
- .4byte _0802744A
- .4byte _080272E0
- .4byte _080272EE
- .4byte _080272F6
- .4byte _0802731A
- .4byte _08027328
- .4byte _0802741C
- .4byte _08027438
- .4byte _080273B6
- .4byte _080273D0
- .4byte _08027334
- .4byte _08027342
- .4byte _0802734A
- .4byte _08027374
- .4byte _08027386
- .4byte _080273AC
- .4byte _08027404
- .4byte _0802744A
-_080272E0:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x7
- bl sub_8023868
- b _0802744A
-_080272EE:
- movs r0, 0x1
- bl sub_8023B7C
- b _0802744A
-_080272F6:
- ldr r1, [r4]
- adds r1, 0x14
- movs r0, 0x3
- bl sub_8027D40
- bl sub_8023DA4
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x7C
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0xB6
- lsls r4, 1
- adds r3, r2, r4
- ldr r2, [r2, 0x70]
- b _08027362
-_0802731A:
- ldr r0, [r4]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- movs r1, 0x2
- bl sub_8024458
- b _0802744A
-_08027328:
- ldr r0, [r4]
- movs r3, 0x8
- ldrsh r0, [r0, r3]
- bl sub_801BEEC
- b _0802744A
-_08027334:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _0802744A
-_08027342:
- movs r0, 0x1
- bl sub_801A8D0
- b _0802744A
-_0802734A:
- bl sub_801A9E0
- ldr r0, _08027370
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x7C
- movs r4, 0x8E
- lsls r4, 1
- adds r1, r2, r4
- adds r4, 0x50
- adds r3, r2, r4
- ldr r2, [r2, 0x74]
-_08027362:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0802744A
- .align 2, 0
-_08027370: .4byte gUnknown_203B2BC
-_08027374:
- ldr r1, [r4]
- adds r1, 0x10
- add r0, sp, 0x14
- bl sub_8090B64
- add r0, sp, 0x14
- bl sub_801B3C0
- b _0802744A
-_08027386:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r1, [r1, 0x18]
- adds r1, 0x2C
- bl sub_809401C
- ldr r2, [r4]
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- adds r2, 0x28
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r3, 0
- bl sub_801EE10
- b _0802744A
-_080273AC:
- movs r0, 0x1
- movs r1, 0
- bl sub_801F1B0
- b _0802744A
-_080273B6:
- bl sub_8027794
- ldr r0, _080273C8
- ldr r1, _080273CC
- ldr r3, [r1]
- movs r1, 0x8E
- lsls r1, 1
- adds r3, r1
- b _080273E0
- .align 2, 0
-_080273C8: .4byte gUnknown_80DD764
-_080273CC: .4byte gUnknown_203B2BC
-_080273D0:
- bl sub_8027794
- ldr r0, _080273FC
- ldr r1, _08027400
- ldr r3, [r1]
- movs r4, 0x8E
- lsls r4, 1
- adds r3, r4
-_080273E0:
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- b _0802744A
- .align 2, 0
-_080273FC: .4byte gUnknown_80DD7FC
-_08027400: .4byte gUnknown_203B2BC
-_08027404:
- ldr r2, [r4]
- ldr r0, [r2, 0x20]
- adds r1, r2, 0
- adds r1, 0x28
- adds r2, 0x68
- bl sub_8093560
- ldr r0, [r4]
- adds r0, 0x68
- bl sub_801F808
- b _0802744A
-_0802741C:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _08027430
- ldr r3, _08027434
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0802744A
- .align 2, 0
-_08027430: .4byte gUnknown_80DD8A0
-_08027434: .4byte 0x00000101
-_08027438:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _08027454
- ldr r3, _08027458
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0802744A:
- add sp, 0x18
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08027454: .4byte gUnknown_80DD8D0
-_08027458: .4byte 0x00000101
- thumb_func_end sub_8027274
-
- @ Menu that gets created when you talk to friend
- thumb_func_start CreateFriendActionMenu
-CreateFriendActionMenu:
- push {r4-r7,lr}
- ldr r3, _080274E4
- ldr r4, _080274E8
- ldr r0, [r4]
- movs r1, 0x8
- ldrsh r2, [r0, r1]
- movs r1, 0x58
- muls r2, r1
- ldr r1, [r3]
- adds r5, r1, r2
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r2
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldrh r0, [r5]
- lsrs r0, 1
- movs r6, 0x1
- ands r0, r6
- cmp r0, 0
- beq _080274F4
- ldr r2, [r4]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _080274EC
- str r0, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x7
- str r0, [r1]
- adds r0, r5, 0
- bl sub_8027D9C
- lsls r0, 24
- cmp r0, 0
- bne _080274B6
- ldr r0, [r4]
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r1
- strh r6, [r0]
-_080274B6:
- movs r7, 0x1
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _08027552
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- bne _08027552
- ldr r3, [r4]
- movs r2, 0x8
- movs r4, 0x92
- lsls r4, 1
- adds r1, r3, r4
- ldr r0, _080274F0
- str r0, [r1]
- movs r1, 0x94
- lsls r1, 1
- adds r0, r3, r1
- str r2, [r0]
- b _08027550
- .align 2, 0
-_080274E4: .4byte gRecruitedPokemonRef
-_080274E8: .4byte gUnknown_203B2BC
-_080274EC: .4byte gFriendActionStandby
-_080274F0: .4byte gFriendActionMakeLeader
-_080274F4:
- ldr r2, [r4]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _08027658
- str r0, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x6
- str r0, [r1]
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- bl sub_808D750
- lsls r0, 24
- cmp r0, 0
- bne _08027522
- ldr r0, [r4]
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r2
- strh r6, [r0]
-_08027522:
- movs r7, 0x1
- ldr r2, [r4]
- movs r3, 0x92
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _0802765C
- str r0, [r1]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x9
- str r0, [r1]
- adds r0, r5, 0
- bl sub_8027DCC
- lsls r0, 24
- cmp r0, 0
- bne _08027550
- ldr r0, [r4]
- movs r1, 0xB7
- lsls r1, 1
- adds r0, r1
- strh r7, [r0]
-_08027550:
- movs r7, 0x2
-_08027552:
- ldr r4, _08027660
- ldr r2, [r4]
- lsls r3, r7, 3
- movs r6, 0x8E
- lsls r6, 1
- adds r0, r2, r6
- adds r0, r3
- ldr r1, _08027664
- str r1, [r0]
- movs r5, 0x90
- lsls r5, 1
- adds r2, r5
- adds r2, r3
- movs r0, 0xA
- str r0, [r2]
- bl sub_8090A34
- cmp r0, 0
- bne _08027588
- ldr r0, [r4]
- lsls r1, r7, 1
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r2
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_08027588:
- adds r7, 0x1
- ldr r2, [r4]
- lsls r3, r7, 3
- adds r0, r2, r6
- adds r0, r3
- ldr r1, _08027668
- str r1, [r0]
- adds r2, r5
- adds r2, r3
- movs r0, 0xB
- str r0, [r2]
- bl sub_8090A34
- cmp r0, 0x13
- bgt _080275AE
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080275BE
-_080275AE:
- ldr r0, [r4]
- lsls r1, r7, 1
- movs r3, 0xB6
- lsls r3, 1
- adds r0, r3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_080275BE:
- adds r7, 0x1
- ldr r4, _08027660
- ldr r5, [r4]
- lsls r1, r7, 3
- movs r0, 0x8E
- lsls r0, 1
- adds r3, r5, r0
- adds r2, r3, r1
- ldr r0, _0802766C
- str r0, [r2]
- movs r2, 0x90
- lsls r2, 1
- adds r6, r5, r2
- adds r1, r6, r1
- movs r0, 0x4
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _08027670
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0xC
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _08027674
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0x5
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r1, r6, r1
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- mov r12, r4
- cmp r3, r7
- bge _08027636
- adds r4, r6, 0
- movs r0, 0xB6
- lsls r0, 1
- adds r2, r5, r0
-_0802761E:
- ldrh r0, [r2]
- cmp r0, 0
- bne _0802762C
- ldr r1, [r4]
- ldr r0, [r5, 0x70]
- cmp r1, r0
- beq _080276A0
-_0802762C:
- adds r4, 0x8
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, r7
- blt _0802761E
-_08027636:
- movs r3, 0
- cmp r3, r7
- bge _080276A0
- mov r2, r12
- ldr r1, [r2]
- movs r4, 0xB6
- lsls r4, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, 0
- bne _08027678
- movs r2, 0x90
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- str r0, [r1, 0x70]
- b _080276A0
- .align 2, 0
-_08027658: .4byte gFriendActionJoinTeam
-_0802765C: .4byte gFriendActionSayFarewell
-_08027660: .4byte gUnknown_203B2BC
-_08027664: .4byte gFriendActionGive
-_08027668: .4byte gFriendActionTake
-_0802766C: .4byte gFriendActionSummary
-_08027670: .4byte gFriendActionMoves
-_08027674: .4byte gFriendActionCheckIQ
-_08027678:
- adds r3, 0x1
- cmp r3, r7
- bge _080276A0
- mov r4, r12
- ldr r2, [r4]
- lsls r0, r3, 1
- movs r4, 0xB6
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08027678
- lsls r0, r3, 3
- movs r3, 0x90
- lsls r3, 1
- adds r1, r2, r3
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x70]
-_080276A0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end CreateFriendActionMenu
-
- thumb_func_start sub_80276A8
-sub_80276A8:
- push {r4-r7,lr}
- ldr r5, _0802775C
- ldr r0, [r5]
- movs r7, 0xB6
- lsls r7, 1
- adds r0, r7
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldr r2, [r5]
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, _08027760
- str r0, [r1]
- movs r3, 0x90
- lsls r3, 1
- adds r1, r2, r3
- movs r0, 0xA
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0
- bne _080276E4
- ldr r0, [r5]
- adds r4, r7, 0
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
-_080276E4:
- ldr r4, [r5]
- movs r2, 0x1
- movs r0, 0x92
- lsls r0, 1
- adds r1, r4, r0
- ldr r0, _08027764
- ldr r0, [r0]
- str r0, [r1]
- movs r3, 0x94
- lsls r3, 1
- adds r1, r4, r3
- movs r0, 0x4
- str r0, [r1]
- movs r6, 0x2
- movs r0, 0x96
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0
- str r0, [r1]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r4, r1
- str r2, [r0]
- movs r3, 0
- mov r12, r4
- movs r4, 0x90
- lsls r4, 1
- add r4, r12
- mov r0, r12
- adds r2, r0, r7
-_08027720:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08027730
- ldr r1, [r4]
- mov r7, r12
- ldr r0, [r7, 0x74]
- cmp r1, r0
- beq _0802778E
-_08027730:
- adds r4, 0x8
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, r6
- blt _08027720
- movs r3, 0
- cmp r3, r6
- bge _0802778E
- ldr r1, [r5]
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _08027768
- movs r3, 0x90
- lsls r3, 1
- adds r0, r1, r3
- ldr r0, [r0]
- str r0, [r1, 0x74]
- b _0802778E
- .align 2, 0
-_0802775C: .4byte gUnknown_203B2BC
-_08027760: .4byte gFriendActionGive
-_08027764: .4byte gUnknown_80D4970
-_08027768:
- adds r3, 0x1
- cmp r3, r6
- bge _0802778E
- ldr r2, [r5]
- lsls r0, r3, 1
- movs r4, 0xB6
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08027768
- lsls r0, r3, 3
- movs r7, 0x90
- lsls r7, 1
- adds r1, r2, r7
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x74]
-_0802778E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80276A8
-
- thumb_func_start sub_8027794
-sub_8027794:
- push {r4,lr}
- ldr r4, _080277F0
- ldr r0, [r4]
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r4, r0
- ldr r0, _080277F4
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- movs r0, 0x92
- lsls r0, 1
- adds r1, r4, r0
- ldr r0, _080277F8
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x3
- str r0, [r1]
- movs r1, 0x96
- lsls r1, 1
- adds r0, r4, r1
- str r3, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080277F0: .4byte gUnknown_203B2BC
-_080277F4: .4byte gUnknown_80D4920
-_080277F8: .4byte gUnknown_80D4928
- thumb_func_end sub_8027794
-
- thumb_func_start sub_80277FC
-sub_80277FC:
- push {r4,lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x4
- bhi _080278AE
- lsls r0, 2
- ldr r1, _08027814
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08027814: .4byte _08027818
- .align 2, 0
-_08027818:
- .4byte _080278AE
- .4byte _080278AE
- .4byte _080278A4
- .4byte _0802782C
- .4byte _08027868
-_0802782C:
- bl sub_8023B44
- ldr r4, _08027860
- ldr r1, [r4]
- strh r0, [r1, 0x8]
- ldr r3, _08027864
- movs r0, 0x8
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x18]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x1C]
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D7DC
- movs r0, 0x3
- bl sub_8027184
- b _080278AE
- .align 2, 0
-_08027860: .4byte gUnknown_203B2BC
-_08027864: .4byte gRecruitedPokemonRef
-_08027868:
- bl sub_8023B44
- ldr r4, _0802789C
- ldr r1, [r4]
- strh r0, [r1, 0x8]
- ldr r3, _080278A0
- movs r0, 0x8
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x18]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x1C]
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D7DC
- movs r0, 0x4
- bl sub_8027184
- b _080278AE
- .align 2, 0
-_0802789C: .4byte gUnknown_203B2BC
-_080278A0: .4byte gRecruitedPokemonRef
-_080278A4:
- bl sub_8023C60
- movs r0, 0x11
- bl sub_8027184
-_080278AE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80277FC
-
- thumb_func_start sub_80278B4
-sub_80278B4:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8023A94
- ldr r4, _080278F8
- ldr r0, [r4]
- adds r0, 0x7C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080278E4
- ldr r0, [r4]
- adds r0, 0x7C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080278E4
- ldr r0, [r4]
- str r1, [r0, 0x70]
-_080278E4:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0xB
- bls _080278EE
- b _08027A36
-_080278EE:
- lsls r0, 2
- ldr r1, _080278FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080278F8: .4byte gUnknown_203B2BC
-_080278FC: .4byte _08027900
- .align 2, 0
-_08027900:
- .4byte _08027A30
- .4byte _08027A36
- .4byte _08027A36
- .4byte _08027A20
- .4byte _08027A28
- .4byte _08027930
- .4byte _0802796C
- .4byte _0802798C
- .4byte _080279C0
- .4byte _080279D0
- .4byte _080279D8
- .4byte _080279C8
-_08027930:
- ldr r4, _08027964
- ldr r0, [r4]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl sub_808D750
- lsls r0, 24
- cmp r0, 0
- beq _0802795E
- ldr r0, [r4]
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- movs r0, 0x58
- muls r1, r0
- ldr r0, _08027968
- ldr r0, [r0]
- adds r1, r0
- ldrh r2, [r1]
- movs r0, 0x2
- orrs r0, r2
- strh r0, [r1]
- bl nullsub_104
-_0802795E:
- bl sub_808ED00
- b _08027A0E
- .align 2, 0
-_08027964: .4byte gUnknown_203B2BC
-_08027968: .4byte gRecruitedPokemonRef
-_0802796C:
- ldr r0, _08027984
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrh r1, [r2]
- ldr r0, _08027988
- ands r0, r1
- strh r0, [r2]
- bl nullsub_104
- bl sub_808ED00
- b _08027A0E
- .align 2, 0
-_08027984: .4byte gUnknown_203B2BC
-_08027988: .4byte 0x0000fffd
-_0802798C:
- ldr r2, _080279B8
- ldr r0, _080279BC
- ldr r0, [r0]
- movs r3, 0x8
- ldrsh r1, [r0, r3]
- movs r0, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- bl sub_808D33C
- ldrb r1, [r4, 0x2]
- cmp r1, 0
- bne _080279B2
- strb r1, [r0, 0x2]
- movs r0, 0x1
- strb r0, [r4, 0x2]
- bl nullsub_104
-_080279B2:
- bl sub_808ED00
- b _08027A0E
- .align 2, 0
-_080279B8: .4byte gRecruitedPokemonRef
-_080279BC: .4byte gUnknown_203B2BC
-_080279C0:
- movs r0, 0x8
- bl sub_8027184
- b _08027A36
-_080279C8:
- movs r0, 0xE
- bl sub_8027184
- b _08027A36
-_080279D0:
- movs r0, 0xA
- bl sub_8027184
- b _08027A36
-_080279D8:
- ldr r0, _08027A18
- bl PlaySound
- ldr r4, _08027A1C
- ldr r1, [r4]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- beq _080279F0
- adds r0, r1, 0
- adds r0, 0x14
- bl sub_8091274
-_080279F0:
- bl sub_80910B4
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r4]
- strb r1, [r0, 0x15]
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- bl nullsub_104
-_08027A0E:
- movs r0, 0x2
- bl sub_8027184
- b _08027A36
- .align 2, 0
-_08027A18: .4byte 0x0000014d
-_08027A1C: .4byte gUnknown_203B2BC
-_08027A20:
- movs r0, 0x4
- bl sub_8027184
- b _08027A36
-_08027A28:
- movs r0, 0x5
- bl sub_8027184
- b _08027A36
-_08027A30:
- movs r0, 0x2
- bl sub_8027184
-_08027A36:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80278B4
-
- thumb_func_start sub_8027A40
-sub_8027A40:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _08027A58
- cmp r0, 0x3
- bhi _08027A58
- bl sub_802453C
- movs r0, 0x2
- bl sub_8027184
-_08027A58:
- pop {r0}
- bx r0
- thumb_func_end sub_8027A40
-
- thumb_func_start sub_8027A5C
-sub_8027A5C:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _08027A74
- cmp r0, 0x3
- bhi _08027A74
- bl sub_801BF98
- movs r0, 0x2
- bl sub_8027184
-_08027A74:
- pop {r0}
- bx r0
- thumb_func_end sub_8027A5C
-
- thumb_func_start sub_8027A78
-sub_8027A78:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08027AD8
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08027AA2
- cmp r0, 0x2
- bgt _08027A96
- cmp r0, 0x1
- beq _08027A9A
- b _08027AD8
-_08027A96:
- cmp r0, 0x3
- bne _08027AD8
-_08027A9A:
- movs r0, 0x2
- bl sub_8027184
- b _08027AD8
-_08027AA2:
- ldr r0, _08027AB8
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrb r0, [r0, 0x4]
- subs r0, 0x44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08027ABC
- movs r0, 0x1
- b _08027ABE
- .align 2, 0
-_08027AB8: .4byte gUnknown_203B2BC
-_08027ABC:
- movs r0, 0
-_08027ABE:
- cmp r0, 0
- beq _08027ACA
- movs r0, 0x9
- bl sub_8027184
- b _08027AD8
-_08027ACA:
- bl sub_8027EB8
- ldr r0, _08027AE0
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- bl sub_808D31C
-_08027AD8:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08027AE0: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027A78
-
- thumb_func_start sub_8027AE4
-sub_8027AE4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08027B1C
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08027B0E
- cmp r0, 0x2
- bgt _08027B02
- cmp r0, 0x1
- beq _08027B06
- b _08027B1C
-_08027B02:
- cmp r0, 0x3
- bne _08027B1C
-_08027B06:
- movs r0, 0x2
- bl sub_8027184
- b _08027B1C
-_08027B0E:
- bl sub_8027EB8
- ldr r0, _08027B24
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- bl sub_808D31C
-_08027B1C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08027B24: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027AE4
-
- thumb_func_start sub_8027B28
-sub_8027B28:
- push {r4,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _08027BD2
- lsls r0, 2
- ldr r1, _08027B40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08027B40: .4byte _08027B44
- .align 2, 0
-_08027B44:
- .4byte _08027BD2
- .4byte _08027BD2
- .4byte _08027BC8
- .4byte _08027B58
- .4byte _08027B8C
-_08027B58:
- bl sub_801A8AC
- ldr r4, _08027B84
- ldr r2, [r4]
- str r0, [r2, 0xC]
- ldr r3, _08027B88
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x10]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0xC]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x11]
- movs r0, 0xC
- bl sub_8027184
- b _08027BD2
- .align 2, 0
-_08027B84: .4byte gUnknown_203B2BC
-_08027B88: .4byte gUnknown_203B460
-_08027B8C:
- bl sub_801A8AC
- ldr r4, _08027BC0
- ldr r2, [r4]
- str r0, [r2, 0xC]
- ldr r3, _08027BC4
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x10]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0xC]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x11]
- movs r0, 0
- bl sub_8099690
- movs r0, 0xD
- bl sub_8027184
- b _08027BD2
- .align 2, 0
-_08027BC0: .4byte gUnknown_203B2BC
-_08027BC4: .4byte gUnknown_203B460
-_08027BC8:
- bl sub_801A928
- movs r0, 0x2
- bl sub_8027184
-_08027BD2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8027B28
-
- thumb_func_start sub_8027BD8
-sub_8027BD8:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _08027C18
- ldr r0, [r4]
- adds r0, 0x7C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08027C08
- ldr r0, [r4]
- adds r0, 0x7C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08027C08
- ldr r0, [r4]
- str r1, [r0, 0x74]
-_08027C08:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _08027C68
- cmp r0, 0x4
- bgt _08027C1C
- cmp r0, 0x1
- beq _08027C76
- b _08027C7C
- .align 2, 0
-_08027C18: .4byte gUnknown_203B2BC
-_08027C1C:
- cmp r0, 0xA
- bne _08027C7C
- ldr r0, _08027C60
- bl PlaySound
- ldr r4, _08027C64
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_80911F8
- bl sub_80910B4
- ldr r1, [r4]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- beq _08027C44
- adds r0, r1, 0
- adds r0, 0x14
- bl sub_8091274
-_08027C44:
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x10
- bl sub_808D800
- bl sub_801A928
- bl nullsub_104
- movs r0, 0x2
- bl sub_8027184
- b _08027C7C
- .align 2, 0
-_08027C60: .4byte 0x0000014d
-_08027C64: .4byte gUnknown_203B2BC
-_08027C68:
- movs r0, 0
- bl sub_8099690
- movs r0, 0xD
- bl sub_8027184
- b _08027C7C
-_08027C76:
- movs r0, 0xB
- bl sub_8027184
-_08027C7C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8027BD8
.align 2,0
diff --git a/asm/code_801DCC4.s b/asm/code_801DCC4.s
new file mode 100644
index 0000000..ed678b6
--- /dev/null
+++ b/asm/code_801DCC4.s
@@ -0,0 +1,833 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_801E198
+sub_801E198:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r4, _0801E210
+ movs r0, 0xAC
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ stm r0!, {r5}
+ bl sub_801317C
+ ldr r1, [r4]
+ movs r0, 0
+ str r0, [r1, 0x44]
+ adds r0, r1, 0
+ adds r0, 0x4C
+ str r0, [r1, 0x48]
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r2, [r1, 0x44]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x4C
+ ldr r0, _0801E214
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldr r0, [r4]
+ ldr r0, [r0, 0x48]
+ movs r1, 0x1
+ bl sub_8012D08
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x4C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x10
+ ldr r3, [r1, 0x44]
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_8013818
+ bl nullsub_38
+ bl CreateOptionsMenu
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801E210: .4byte gUnknown_203B260
+_0801E214: .4byte gUnknown_80DC03C
+ thumb_func_end sub_801E198
+
+ thumb_func_start sub_801E218
+sub_801E218:
+ push {r4,lr}
+ movs r4, 0
+ bl sub_8012AE8
+ cmp r0, 0x2
+ beq _0801E238
+ cmp r0, 0x2
+ bgt _0801E22E
+ cmp r0, 0x1
+ beq _0801E242
+ b _0801E294
+_0801E22E:
+ cmp r0, 0x9
+ beq _0801E24C
+ cmp r0, 0xA
+ beq _0801E26C
+ b _0801E294
+_0801E238:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _0801E2BE
+_0801E242:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _0801E2BE
+_0801E24C:
+ ldr r0, _0801E264
+ ldr r1, [r0]
+ movs r2, 0x28
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _0801E294
+ ldr r1, [r1]
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0
+ bne _0801E268
+ movs r0, 0x2
+ b _0801E28A
+ .align 2, 0
+_0801E264: .4byte gUnknown_203B260
+_0801E268:
+ subs r0, 0x1
+ b _0801E28A
+_0801E26C:
+ ldr r0, _0801E284
+ ldr r1, [r0]
+ movs r2, 0x28
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ bne _0801E294
+ ldr r1, [r1]
+ ldrb r0, [r1, 0x8]
+ cmp r0, 0x1
+ bls _0801E288
+ strb r4, [r1, 0x8]
+ b _0801E28C
+ .align 2, 0
+_0801E284: .4byte gUnknown_203B260
+_0801E288:
+ adds r0, 0x1
+_0801E28A:
+ strb r0, [r1, 0x8]
+_0801E28C:
+ movs r0, 0x3
+ bl PlayMenuSoundEffect
+ movs r4, 0x1
+_0801E294:
+ ldr r0, _0801E2B8
+ ldr r0, [r0]
+ adds r0, 0x10
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801E2AA
+ cmp r4, 0x1
+ bne _0801E2BC
+_0801E2AA:
+ bl nullsub_38
+ bl CreateOptionsMenu
+ movs r0, 0x1
+ b _0801E2BE
+ .align 2, 0
+_0801E2B8: .4byte gUnknown_203B260
+_0801E2BC:
+ movs r0, 0
+_0801E2BE:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801E218
+
+ thumb_func_start sub_801E2C4
+sub_801E2C4:
+ push {r4,r5,lr}
+ ldr r4, _0801E304
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801E2FE
+ ldr r0, [r2, 0x44]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x4C
+ ldr r0, _0801E308
+ 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, 0x4C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801E2FE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E304: .4byte gUnknown_203B260
+_0801E308: .4byte gUnknown_80DC020
+ thumb_func_end sub_801E2C4
+
+ thumb_func_start nullsub_38
+nullsub_38:
+ bx lr
+ thumb_func_end nullsub_38
+
+ thumb_func_start CreateOptionsMenu
+CreateOptionsMenu:
+ push {r4-r6,lr}
+ sub sp, 0x4
+ ldr r5, _0801E368
+ ldr r0, [r5]
+ ldr r0, [r0, 0x44]
+ bl sub_8008C54
+ ldr r0, [r5]
+ ldr r0, [r0, 0x44]
+ bl sub_80073B8
+ ldr r2, _0801E36C
+ ldr r0, [r5]
+ ldr r3, [r0, 0x44]
+ movs r4, 0
+ str r4, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r0, [r5]
+ adds r0, 0x10
+ movs r1, 0
+ bl sub_8013800
+ adds r6, r0, 0
+ ldr r2, _0801E370
+ ldr r0, [r5]
+ ldr r3, [r0, 0x44]
+ str r4, [sp]
+ movs r0, 0x8
+ adds r1, r6, 0
+ bl xxx_call_draw_string
+ ldr r0, [r5]
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x8]
+ cmp r0, 0x1
+ beq _0801E384
+ cmp r0, 0x1
+ bgt _0801E374
+ cmp r0, 0
+ beq _0801E37A
+ b _0801E3D6
+ .align 2, 0
+_0801E368: .4byte gUnknown_203B260
+_0801E36C: .4byte gWindowBGTitle
+_0801E370: .4byte gUnknown_80DC064
+_0801E374:
+ cmp r0, 0x2
+ beq _0801E3B0
+ b _0801E3D6
+_0801E37A:
+ ldr r0, _0801E380
+ b _0801E386
+ .align 2, 0
+_0801E380: .4byte gWindowBGBlueString
+_0801E384:
+ ldr r0, _0801E3AC
+_0801E386:
+ bl sub_8008ED0
+ adds r4, r0, 0
+ ldr r1, [r5]
+ ldr r0, [r1, 0x44]
+ ldr r1, [r1]
+ ldrb r2, [r1, 0x8]
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, 0x50
+ adds r2, r6, 0
+ adds r2, 0xA
+ movs r3, 0x7
+ str r3, [sp]
+ adds r3, r4, 0
+ bl sub_80078A4
+ b _0801E3D6
+ .align 2, 0
+_0801E3AC: .4byte gWindowBGRedString
+_0801E3B0:
+ ldr r0, _0801E3E8
+ bl sub_8008ED0
+ adds r4, r0, 0
+ ldr r1, [r5]
+ ldr r0, [r1, 0x44]
+ ldr r1, [r1]
+ ldrb r2, [r1, 0x8]
+ lsls r1, r2, 2
+ adds r1, r2
+ lsls r1, 3
+ adds r1, 0x50
+ adds r2, r6, 0
+ adds r2, 0xA
+ movs r3, 0x7
+ str r3, [sp]
+ adds r3, r4, 0
+ bl sub_80078A4
+_0801E3D6:
+ ldr r0, _0801E3EC
+ ldr r0, [r0]
+ ldr r0, [r0, 0x44]
+ bl sub_80073E0
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E3E8: .4byte gWindowBGGreenString
+_0801E3EC: .4byte gUnknown_203B260
+ thumb_func_end CreateOptionsMenu
+
+ thumb_func_start sub_801E3F0
+sub_801E3F0:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r4, _0801E46C
+ ldr r0, [r4]
+ cmp r0, 0
+ bne _0801E406
+ movs r0, 0x9C
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+_0801E406:
+ ldr r0, [r4]
+ str r5, [r0, 0x34]
+ lsls r1, r5, 1
+ adds r1, r5
+ lsls r1, 3
+ adds r1, 0x3C
+ adds r1, r0, r1
+ str r1, [r0, 0x38]
+ adds r0, 0x3C
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r2, [r1, 0x34]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x3C
+ ldr r0, _0801E470
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldr r0, [r4]
+ ldr r0, [r0, 0x38]
+ movs r1, 0xA
+ bl sub_8012D08
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ movs r1, 0x5
+ movs r2, 0xA
+ adds r3, r5, 0
+ bl sub_8013818
+ bl sub_801E594
+ bl sub_801E5E8
+ movs r0, 0x1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801E46C: .4byte gUnknown_203B264
+_0801E470: .4byte gUnknown_80DC0BC
+ thumb_func_end sub_801E3F0
+
+ thumb_func_start sub_801E474
+sub_801E474:
+ push {lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801E48C
+ ldr r0, _0801E488
+ ldr r0, [r0]
+ bl sub_8013660
+ movs r0, 0
+ b _0801E4EE
+ .align 2, 0
+_0801E488: .4byte gUnknown_203B264
+_0801E48C:
+ ldr r0, _0801E4A4
+ ldr r0, [r0]
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _0801E4AE
+ cmp r0, 0x2
+ bgt _0801E4A8
+ cmp r0, 0x1
+ beq _0801E4B8
+ b _0801E4CC
+ .align 2, 0
+_0801E4A4: .4byte gUnknown_203B264
+_0801E4A8:
+ cmp r0, 0x4
+ beq _0801E4C2
+ b _0801E4CC
+_0801E4AE:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _0801E4EE
+_0801E4B8:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _0801E4EE
+_0801E4C2:
+ movs r0, 0x4
+ bl PlayMenuSoundEffect
+ movs r0, 0x4
+ b _0801E4EE
+_0801E4CC:
+ ldr r0, _0801E4E0
+ ldr r0, [r0]
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801E4E4
+ movs r0, 0
+ b _0801E4EE
+ .align 2, 0
+_0801E4E0: .4byte gUnknown_203B264
+_0801E4E4:
+ bl sub_801E594
+ bl sub_801E5E8
+ movs r0, 0x1
+_0801E4EE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801E474
+
+ thumb_func_start sub_801E4F4
+sub_801E4F4:
+ ldr r0, _0801E50C
+ ldr r1, [r0]
+ movs r0, 0x1E
+ ldrsh r2, [r1, r0]
+ movs r3, 0x1C
+ ldrsh r0, [r1, r3]
+ muls r0, r2
+ movs r2, 0x18
+ ldrsh r1, [r1, r2]
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_0801E50C: .4byte gUnknown_203B264
+ thumb_func_end sub_801E4F4
+
+ thumb_func_start sub_801E510
+sub_801E510:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl ResetUnusedInputStruct
+ ldr r5, _0801E548
+ ldr r0, [r5]
+ adds r0, 0x3C
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ ldr r0, [r5]
+ bl sub_8013984
+ bl sub_801E594
+ bl sub_801E5E8
+ cmp r4, 0
+ beq _0801E542
+ ldr r0, [r5]
+ bl AddMenuCursorSprite
+_0801E542:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E548: .4byte gUnknown_203B264
+ thumb_func_end sub_801E510
+
+ thumb_func_start sub_801E54C
+sub_801E54C:
+ push {r4,r5,lr}
+ ldr r4, _0801E58C
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801E586
+ ldr r0, [r2, 0x34]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x3C
+ ldr r0, _0801E590
+ 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]
+_0801E586:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E58C: .4byte gUnknown_203B264
+_0801E590: .4byte gUnknown_80DC0A0
+ thumb_func_end sub_801E54C
+
+ thumb_func_start sub_801E594
+sub_801E594:
+ push {r4,lr}
+ ldr r4, _0801E5E4
+ 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
+_0801E5E4: .4byte gUnknown_203B264
+ thumb_func_end sub_801E594
+
+ thumb_func_start sub_801E5E8
+sub_801E5E8:
+ push {r4-r6,lr}
+ sub sp, 0x4
+ ldr r4, _0801E64C
+ ldr r0, [r4]
+ ldr r0, [r0, 0x34]
+ bl sub_8008C54
+ ldr r0, [r4]
+ ldr r0, [r0, 0x34]
+ bl sub_80073B8
+ ldr r2, _0801E650
+ ldr r0, [r4]
+ ldr r3, [r0, 0x34]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ bl xxx_call_draw_string
+ movs r5, 0
+ adds r6, r4, 0
+ ldr r4, _0801E654
+_0801E616:
+ ldr r0, [r6]
+ adds r1, r5, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r2, [r4]
+ ldr r0, [r6]
+ ldr r3, [r0, 0x34]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ bl xxx_call_draw_string
+ adds r4, 0x8
+ adds r5, 0x1
+ cmp r5, 0x4
+ ble _0801E616
+ ldr r0, _0801E64C
+ ldr r0, [r0]
+ ldr r0, [r0, 0x34]
+ bl sub_80073E0
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E64C: .4byte gUnknown_203B264
+_0801E650: .4byte gUnknown_80DC0D4
+_0801E654: .4byte gUnknown_80DAA98
+ thumb_func_end sub_801E5E8
+
+ thumb_func_start sub_801E658
+sub_801E658:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r4, _0801E6C4
+ movs r0, 0xA0
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r1, 0
+ str r1, [r0, 0x34]
+ adds r1, r0, 0
+ adds r1, 0x3C
+ str r1, [r0, 0x38]
+ adds r0, r1, 0
+ 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, _0801E6C8
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldr r0, [r4]
+ ldr r1, [r0, 0x38]
+ adds r0, 0x9C
+ str r0, [r1, 0x14]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ ldr r3, [r0, 0x34]
+ movs r1, 0x5
+ movs r2, 0x1
+ bl sub_8013818
+ ldr r0, [r4]
+ strh r5, [r0, 0x1E]
+ bl sub_801E714
+ movs r0, 0x1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801E6C4: .4byte gUnknown_203B268
+_0801E6C8: .4byte gUnknown_80DC0FC
+ thumb_func_end sub_801E658
+
+ thumb_func_start sub_801E6CC
+sub_801E6CC:
+ push {r4,lr}
+ ldr r4, _0801E6E8
+ ldr r0, [r4]
+ bl GetKeyPress
+ cmp r0, 0x1
+ beq _0801E6EC
+ cmp r0, 0x2
+ bne _0801E6F6
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _0801E70C
+ .align 2, 0
+_0801E6E8: .4byte gUnknown_203B268
+_0801E6EC:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _0801E70C
+_0801E6F6:
+ ldr r0, [r4]
+ bl sub_8013938
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801E706
+ movs r0, 0
+ b _0801E70C
+_0801E706:
+ bl sub_801E714
+ movs r0, 0x1
+_0801E70C:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801E6CC
+
+ thumb_func_start sub_801E714
+sub_801E714:
+ push {lr}
+ bl sub_801E76C
+ bl sub_801E7AC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801E714
+
+ thumb_func_start sub_801E724
+sub_801E724:
+ push {r4,r5,lr}
+ ldr r4, _0801E764
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801E75E
+ ldr r0, [r2, 0x34]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x3C
+ ldr r0, _0801E768
+ 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]
+_0801E75E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E764: .4byte gUnknown_203B268
+_0801E768: .4byte gUnknown_80DC0E4
+ thumb_func_end sub_801E724
+
+ thumb_func_start sub_801E76C
+sub_801E76C:
+ push {r4,lr}
+ ldr r4, _0801E7A8
+ ldr r0, [r4]
+ ldrh r1, [r0, 0x20]
+ adds r0, 0x9C
+ movs r2, 0
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldrh r1, [r0, 0x1E]
+ adds r0, 0x9D
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0x9E
+ movs r1, 0xF
+ 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
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E7A8: .4byte gUnknown_203B268
+ thumb_func_end sub_801E76C
+
+ thumb_func_start sub_801E7AC
+sub_801E7AC:
+ push {r4-r6,lr}
+ sub sp, 0x4
+ ldr r5, _0801E804
+ ldr r0, [r5]
+ ldr r0, [r0, 0x34]
+ bl sub_80073B8
+ ldr r3, [r5]
+ movs r0, 0x1E
+ ldrsh r1, [r3, r0]
+ lsls r1, 3
+ adds r0, r1, 0
+ adds r0, 0x10
+ ldr r4, _0801E808
+ adds r1, r4
+ ldr r2, [r1]
+ ldr r3, [r3, 0x34]
+ movs r6, 0
+ str r6, [sp]
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r1, [r5]
+ movs r2, 0x1E
+ ldrsh r0, [r1, r2]
+ lsls r0, 3
+ adds r4, 0x4
+ adds r0, r4
+ ldr r2, [r0]
+ ldr r3, [r1, 0x34]
+ str r6, [sp]
+ movs r0, 0xA
+ movs r1, 0x14
+ bl xxx_call_draw_string
+ ldr r0, [r5]
+ ldr r0, [r0, 0x34]
+ bl sub_80073E0
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E804: .4byte gUnknown_203B268
+_0801E808: .4byte gUnknown_80DAA98
+ thumb_func_end sub_801E7AC
+
+ .align 2,0
diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s
index a77765b..17fde77 100644
--- a/asm/code_80521D0.s
+++ b/asm/code_80521D0.s
@@ -10148,7 +10148,7 @@ sub_8057748:
adds r0, r5, 0
adds r1, r6, 0
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
movs r0, 0x1
add sp, 0x4
pop {r4-r6}
diff --git a/asm/code_8057824.s b/asm/code_8057824.s
index c700946..d6aaab4 100644
--- a/asm/code_8057824.s
+++ b/asm/code_8057824.s
@@ -1789,7 +1789,7 @@ _08058756:
adds r0, r7, 0
adds r1, r7, 0
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
_08058762:
adds r0, r5, 0
add sp, 0x4
@@ -2142,7 +2142,7 @@ sub_80589D4:
adds r0, r5, 0
adds r1, r6, 0
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
movs r0, 0x1
add sp, 0x4
pop {r4-r6}
@@ -2821,7 +2821,7 @@ sub_8058EE0:
movs r3, 0x1
str r3, [sp]
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
movs r0, 0x1
add sp, 0x4
pop {r1}
@@ -3293,7 +3293,7 @@ _0805926E:
adds r1, r7, 0
adds r2, r4, 0
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
_0805927E:
mov r0, r8
add sp, 0x4
@@ -4287,7 +4287,7 @@ _080599FE:
str r0, [sp]
adds r0, r3, 0
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
movs r0, 0x1
add sp, 0x4
pop {r4}
@@ -4408,7 +4408,7 @@ sub_8059AC4:
adds r0, r5, 0
adds r1, r6, 0
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
movs r0, 0x1
add sp, 0x4
pop {r4-r6}
@@ -5789,7 +5789,7 @@ sub_805A508:
adds r0, r5, 0
adds r1, r3, 0
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
movs r0, 0
strb r0, [r4]
b _0805A54C
@@ -7110,7 +7110,7 @@ _0805AF64:
adds r0, r7, 0
adds r1, r5, 0
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
movs r0, 0x1
b _0805AF9C
_0805AF78:
@@ -8143,7 +8143,7 @@ _0805B700:
adds r1, r5, 0
adds r2, r4, 0
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
b _0805B71E
_0805B712:
ldr r0, _0805B730
@@ -19945,7 +19945,7 @@ _080619B4: .4byte gUnknown_80FE954
_080619B8:
ldr r0, _080619DC
adds r1, r4, 0
- bl sub_808EAC0
+ bl CopyTacticsNameToBuffer
ldr r0, [sp, 0x10]
adds r0, 0x94
ldrb r0, [r0]
@@ -21558,7 +21558,7 @@ _08062650:
movs r0, 0
bl sub_80073B8
mov r0, r10
- bl sub_808EAB0
+ bl GetIQSkillName
adds r1, r0, 0
ldr r0, _080626CC
bl strcpy
@@ -21571,7 +21571,7 @@ _08062650:
movs r3, 0
bl sub_8014FF0
mov r0, r10
- bl sub_808EADC
+ bl GetIQSkillDescription
adds r2, r0, 0
mov r0, r9
str r0, [sp]
@@ -21582,7 +21582,7 @@ _08062650:
movs r0, 0
bl sub_80073E0
mov r0, r10
- bl sub_808EADC
+ bl GetIQSkillDescription
ldr r1, [sp, 0x84]
bl sub_8097DF0
adds r5, r0, 0
@@ -21691,7 +21691,7 @@ _0806276C:
bl sub_80073B8
ldr r0, _080627E0
mov r1, r10
- bl sub_808EAC0
+ bl CopyTacticsNameToBuffer
ldr r0, _080627E4
ldr r2, [r0]
mov r0, r9
@@ -21701,7 +21701,7 @@ _0806276C:
movs r3, 0
bl sub_8014FF0
mov r0, r10
- bl sub_808EAEC
+ bl GetTacticsDescription
adds r2, r0, 0
mov r0, r9
str r0, [sp]
@@ -21712,7 +21712,7 @@ _0806276C:
movs r0, 0
bl sub_80073E0
mov r0, r10
- bl sub_808EAEC
+ bl GetTacticsDescription
ldr r1, [sp, 0x84]
bl sub_8097DF0
adds r5, r0, 0
@@ -26801,7 +26801,7 @@ sub_8065040:
cmp r0, 0
beq _0806505C
ldr r0, _08065058
- bl sub_80949DC
+ bl GameOptionsNotChange
lsls r0, 24
cmp r0, 0
bne _0806505E
@@ -26851,7 +26851,7 @@ sub_806509C:
cmp r0, 0x1
bne _080650B8
movs r0, 0
- bl sub_8094998
+ bl InitializeGameOptions
bl sub_803E13C
_080650B8:
pop {r0}
@@ -37892,7 +37892,7 @@ _0806A85C:
beq _0806A87A
lsls r0, r2, 24
lsrs r0, 24
- bl sub_808EAB0
+ bl GetIQSkillName
adds r1, r0, 0
ldr r0, _0806A890
bl strcpy
@@ -43883,7 +43883,7 @@ _0806D64E:
mov r0, r9
adds r1, r7, 0
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
b _0806D754
_0806D660:
adds r0, r7, 0
@@ -53434,7 +53434,7 @@ _08071F94:
lsls r1, r4, 24
lsrs r1, 24
ldr r0, _08071FFC
- bl sub_808EAC0
+ bl CopyTacticsNameToBuffer
ldr r0, _08072000
ldr r2, [r0]
ldr r0, [sp, 0xB4]
@@ -53615,7 +53615,7 @@ _080720FA:
lsls r1, r6, 24
lsrs r1, 24
ldr r0, _0807217C
- bl sub_808EAC0
+ bl CopyTacticsNameToBuffer
ldr r0, _08072180
ldr r2, [r0]
mov r0, r9
@@ -53865,8 +53865,8 @@ _08072324: .4byte gUnknown_80F9B34
_08072328: .4byte gUnknown_80F9B58
thumb_func_end sub_807218C
- thumb_func_start sub_807232C
-sub_807232C:
+ thumb_func_start LevelDownTarget
+LevelDownTarget:
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -53947,7 +53947,7 @@ _080723B6:
_080723C4: .4byte 0x00000149
_080723C8: .4byte gAvailablePokemonNames
_080723CC: .4byte gUnknown_80F9B94
- thumb_func_end sub_807232C
+ thumb_func_end LevelDownTarget
thumb_func_start sub_80723D0
sub_80723D0:
@@ -58511,7 +58511,7 @@ _080747E8:
adds r0, r5, 0
adds r1, r5, 0
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
_08074802:
mov r0, r8
adds r0, 0xC8
@@ -58704,7 +58704,7 @@ _08074984:
adds r1, r4, 0
adds r2, r6, 0
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
_08074994:
adds r0, r5, 0
bl sub_80450E0
@@ -64993,8 +64993,8 @@ _08077C3A:
_08077C40: .4byte gUnknown_80FB960
thumb_func_end sub_8077BB4
- thumb_func_start sub_8077C44
-sub_8077C44:
+ thumb_func_start HealTargetHP
+HealTargetHP:
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -65201,7 +65201,7 @@ _08077DC8:
bx r0
.align 2, 0
_08077DD8: .4byte gUnknown_80FB1C4
- thumb_func_end sub_8077C44
+ thumb_func_end HealTargetHP
thumb_func_start sub_8077DDC
sub_8077DDC:
@@ -67558,8 +67558,8 @@ _08079134:
_0807913C: .4byte gUnknown_80FC054
thumb_func_end sub_80790C8
- thumb_func_start sub_8079140
-sub_8079140:
+ thumb_func_start BlindTarget
+BlindTarget:
push {r4-r6,lr}
adds r5, r0, 0
adds r4, r1, 0
@@ -67626,7 +67626,7 @@ _080791CE:
bx r0
.align 2, 0
_080791D4: .4byte gUnknown_80FB810
- thumb_func_end sub_8079140
+ thumb_func_end BlindTarget
thumb_func_start sub_80791D8
sub_80791D8:
@@ -67698,8 +67698,8 @@ _08079266:
_0807926C: .4byte gUnknown_80FB85C
thumb_func_end sub_80791D8
- thumb_func_start sub_8079270
-sub_8079270:
+ thumb_func_start RestoreVisionTarget
+RestoreVisionTarget:
push {r4-r6,lr}
adds r6, r0, 0
adds r4, r1, 0
@@ -67759,7 +67759,7 @@ _080792EE:
bx r0
.align 2, 0
_080792F4: .4byte gUnknown_80FB89C
- thumb_func_end sub_8079270
+ thumb_func_end RestoreVisionTarget
thumb_func_start sub_80792F8
sub_80792F8:
@@ -69655,7 +69655,7 @@ _0807A1E8:
adds r0, r6, 0
adds r1, r5, 0
movs r3, 0
- bl sub_8077C44
+ bl HealTargetHP
adds r0, r7, 0
adds r0, 0xA8
strb r4, [r0]
diff --git a/asm/code_808EAB0.s b/asm/code_808EAB0.s
index ac46e44..45acd74 100644
--- a/asm/code_808EAB0.s
+++ b/asm/code_808EAB0.s
@@ -1767,7 +1767,7 @@ _0808FB10:
adds r0, 0x1C
ldrb r1, [r0]
adds r0, r5, 0
- bl sub_808EAC0
+ bl CopyTacticsNameToBuffer
ldr r0, _0808FB40
ldr r2, [r0]
str r4, [sp]
@@ -1997,7 +1997,7 @@ _0808FCFC:
cmp r0, 0
beq _0808FD74
movs r4, 0x1
- bl sub_808EAB0
+ bl GetIQSkillName
adds r1, r0, 0
ldr r6, _0808FD3C
adds r0, r6, 0
diff --git a/asm/code_8092334.s b/asm/code_8092334.s
index f503417..7eee044 100644
--- a/asm/code_8092334.s
+++ b/asm/code_8092334.s
@@ -4707,853 +4707,4 @@ _08094978:
bx r0
thumb_func_end sub_8094924
- thumb_func_start sub_8094980
-sub_8094980:
- ldr r1, _08094988
- ldr r0, _0809498C
- str r0, [r1]
- bx lr
- .align 2, 0
-_08094988: .4byte gUnknown_203B46C
-_0809498C: .4byte gUnknown_2038C70
- thumb_func_end sub_8094980
-
- thumb_func_start sub_8094990
-sub_8094990:
- ldr r0, _08094994
- bx lr
- .align 2, 0
-_08094994: .4byte gUnknown_2038C70
- thumb_func_end sub_8094990
-
- thumb_func_start sub_8094998
-sub_8094998:
- push {lr}
- lsls r0, 24
- ldr r2, _080949D8
- ldr r1, [r2]
- movs r3, 0
- strb r3, [r1, 0x8]
- cmp r0, 0
- beq _080949AC
- ldr r0, [r2]
- strb r3, [r0, 0xB]
-_080949AC:
- ldr r0, [r2]
- strb r3, [r0, 0x9]
- ldr r0, [r2]
- strb r3, [r0, 0xA]
- ldr r0, [r2]
- strb r3, [r0]
- ldr r0, [r2]
- movs r1, 0x1
- strb r1, [r0, 0x1]
- ldr r0, [r2]
- strb r1, [r0, 0x2]
- ldr r0, [r2]
- strb r1, [r0, 0x3]
- ldr r0, [r2]
- strb r1, [r0, 0x4]
- ldr r0, [r2]
- strb r3, [r0, 0xC]
- bl sub_8094C14
- pop {r0}
- bx r0
- .align 2, 0
-_080949D8: .4byte gUnknown_203B46C
- thumb_func_end sub_8094998
-
- thumb_func_start sub_80949DC
-sub_80949DC:
- push {lr}
- adds r2, r0, 0
- ldr r0, _08094A38
- ldr r1, [r0]
- ldrb r0, [r1, 0x8]
- ldrb r3, [r2, 0x8]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x9]
- ldrb r3, [r2, 0x9]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0xA]
- ldrb r3, [r2, 0xA]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0xB]
- ldrb r3, [r2, 0xB]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1]
- ldrb r3, [r2]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x1]
- ldrb r3, [r2, 0x1]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x2]
- ldrb r3, [r2, 0x2]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x3]
- ldrb r3, [r2, 0x3]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x4]
- ldrb r3, [r2, 0x4]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0xC]
- ldrb r2, [r2, 0xC]
- cmp r0, r2
- bne _08094A3C
- movs r0, 0x1
- b _08094A3E
- .align 2, 0
-_08094A38: .4byte gUnknown_203B46C
-_08094A3C:
- movs r0, 0
-_08094A3E:
- pop {r1}
- bx r1
- thumb_func_end sub_80949DC
-
- thumb_func_start sub_8094A44
-sub_8094A44:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0xFF
- mov r0, sp
- strb r1, [r0]
- mov r7, sp
- adds r7, 0x1
- movs r0, 0
- strb r0, [r7]
- ldr r5, _08094B14
- ldr r1, [r5]
- adds r1, 0x8
- adds r0, r4, 0
- movs r2, 0x2
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0x9]
- mov r1, sp
- adds r6, r7, 0
- cmp r0, 0
- bne _08094A74
- adds r1, r6, 0
-_08094A74:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0xA]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094A88
- mov r1, sp
-_08094A88:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0xB]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094A9C
- mov r1, sp
-_08094A9C:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094AB0
- mov r1, sp
-_08094AB0:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094AC4
- mov r1, sp
-_08094AC4:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0x2]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094AD8
- mov r1, sp
-_08094AD8:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0x3]
- adds r1, r7, 0
- cmp r0, 0
- beq _08094AEC
- mov r1, sp
-_08094AEC:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r1, [r5]
- adds r1, 0x4
- adds r0, r4, 0
- movs r2, 0x3
- bl sub_809488C
- ldr r1, [r5]
- adds r1, 0xC
- adds r0, r4, 0
- movs r2, 0x2
- bl sub_809488C
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08094B14: .4byte gUnknown_203B46C
- thumb_func_end sub_8094A44
-
- thumb_func_start sub_8094B18
-sub_8094B18:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r6, r0, 0
- mov r1, sp
- movs r2, 0x2
- bl sub_8094924
- ldr r5, _08094C10
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0x3
- mov r8, r0
- ands r0, r1
- strb r0, [r2, 0x8]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0x9]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0xA]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0xB]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0x1]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0x2]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r1, [r5]
- mov r0, sp
- ldrb r0, [r0]
- ands r4, r0
- strb r4, [r1, 0x3]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x3
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0x7
- ands r0, r1
- strb r0, [r2, 0x4]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x2
- bl sub_8094924
- ldr r1, [r5]
- mov r0, sp
- ldrb r0, [r0]
- mov r2, r8
- ands r2, r0
- strb r2, [r1, 0xC]
- bl sub_8094C14
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08094C10: .4byte gUnknown_203B46C
- thumb_func_end sub_8094B18
-
- thumb_func_start sub_8094C14
-sub_8094C14:
- push {r4,lr}
- sub sp, 0x10
- mov r1, sp
- ldr r0, _08094C40
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, _08094C44
- ldr r0, [r0]
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- bl sub_80099F0
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08094C40: .4byte gUnknown_8109954
-_08094C44: .4byte gUnknown_203B46C
- thumb_func_end sub_8094C14
-
- thumb_func_start sub_8094C48
-sub_8094C48:
- push {lr}
- ldr r0, _08094C5C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08094C60
- cmp r0, 0x3
- beq _08094C60
- movs r0, 0x1
- b _08094C62
- .align 2, 0
-_08094C5C: .4byte gUnknown_203B46C
-_08094C60:
- movs r0, 0
-_08094C62:
- pop {r1}
- bx r1
- thumb_func_end sub_8094C48
-
- thumb_func_start sub_8094C68
-sub_8094C68:
- push {lr}
- ldr r0, _08094C7C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0x2
- beq _08094C80
- cmp r0, 0x5
- beq _08094C80
- movs r0, 0x1
- b _08094C82
- .align 2, 0
-_08094C7C: .4byte gUnknown_203B46C
-_08094C80:
- movs r0, 0
-_08094C82:
- pop {r1}
- bx r1
- thumb_func_end sub_8094C68
-
- thumb_func_start sub_8094C88
-sub_8094C88:
- push {lr}
- ldr r0, _08094C98
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- cmp r0, 0x2
- bhi _08094C9C
- movs r0, 0x1
- b _08094CA8
- .align 2, 0
-_08094C98: .4byte gUnknown_203B46C
-_08094C9C:
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _08094CAA
- movs r0, 0x4
-_08094CA8:
- strb r0, [r1, 0x4]
-_08094CAA:
- pop {r0}
- bx r0
- thumb_func_end sub_8094C88
-
- thumb_func_start sub_8094CB0
-sub_8094CB0:
- ldr r1, _08094CBC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CBC: .4byte 0x0000ffff
- thumb_func_end sub_8094CB0
-
- thumb_func_start sub_8094CC0
-sub_8094CC0:
- ldr r1, _08094CCC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CCC: .4byte 0x0000ffff
- thumb_func_end sub_8094CC0
-
- thumb_func_start sub_8094CD0
-sub_8094CD0:
- ldr r1, _08094CDC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CDC: .4byte 0x0000ffff
- thumb_func_end sub_8094CD0
-
- thumb_func_start sub_8094CE0
-sub_8094CE0:
- ldr r1, _08094CEC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CEC: .4byte 0x0000ffff
- thumb_func_end sub_8094CE0
-
- thumb_func_start sub_8094CF0
-sub_8094CF0:
- ldr r1, _08094CFC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CFC: .4byte 0x0000ffff
- thumb_func_end sub_8094CF0
-
- thumb_func_start sub_8094D00
-sub_8094D00:
- ldr r1, _08094D0C
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094D0C: .4byte 0x0000ffff
- thumb_func_end sub_8094D00
-
- thumb_func_start sub_8094D10
-sub_8094D10:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D10
-
- thumb_func_start sub_8094D14
-sub_8094D14:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D14
-
- thumb_func_start sub_8094D18
-sub_8094D18:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D18
-
- thumb_func_start sub_8094D1C
-sub_8094D1C:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D1C
-
- thumb_func_start sub_8094D20
-sub_8094D20:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D20
-
- thumb_func_start sub_8094D24
-sub_8094D24:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D24
-
- thumb_func_start sub_8094D28
-sub_8094D28:
- push {r4-r7,lr}
- ldr r2, _08094D64
- str r0, [r2]
- ldr r1, _08094D68
- movs r0, 0x1
- str r0, [r1]
- ldr r7, _08094D6C
- adds r5, r2, 0
- adds r4, r1, 0
- ldr r6, _08094D70
-_08094D3C:
- ldr r2, [r4]
- lsls r3, r2, 2
- adds r3, r5
- subs r0, r2, 0x1
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- lsrs r1, r0, 30
- eors r0, r1
- muls r0, r6
- adds r0, r2
- str r0, [r3]
- adds r2, 0x1
- str r2, [r4]
- cmp r2, r7
- ble _08094D3C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08094D64: .4byte gUnknown_3001198
-_08094D68: .4byte gUnknown_203B470
-_08094D6C: .4byte 0x0000026f
-_08094D70: .4byte 0x6c078965
- thumb_func_end sub_8094D28
-
- thumb_func_start sub_8094D74
-sub_8094D74:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- adds r7, r1, 0
- ldr r0, _08094E34
- bl sub_8094D28
- movs r4, 0x1
- movs r5, 0
- adds r3, r7, 0
- movs r0, 0x9C
- lsls r0, 2
- cmp r3, r0
- bge _08094D96
- adds r3, r0, 0
-_08094D96:
- ldr r6, _08094E38
- cmp r3, 0
- beq _08094DE2
- mov r9, r6
- ldr r0, _08094E3C
- adds r0, r6
- mov r12, r0
- adds r2, r6, 0
-_08094DA6:
- ldr r1, [r2]
- lsrs r0, r1, 30
- eors r1, r0
- ldr r0, _08094E40
- muls r0, r1
- ldr r1, [r2, 0x4]
- eors r1, r0
- lsls r0, r5, 2
- add r0, r8
- ldr r0, [r0]
- adds r1, r0
- adds r1, r5
- str r1, [r2, 0x4]
- adds r2, 0x4
- adds r4, 0x1
- adds r5, 0x1
- ldr r0, _08094E44
- cmp r4, r0
- ble _08094DD6
- mov r1, r12
- ldr r0, [r1]
- str r0, [r6]
- mov r2, r9
- movs r4, 0x1
-_08094DD6:
- cmp r5, r7
- blt _08094DDC
- movs r5, 0
-_08094DDC:
- subs r3, 0x1
- cmp r3, 0
- bne _08094DA6
-_08094DE2:
- ldr r3, _08094E44
- ldr r5, _08094E38
- ldr r0, _08094E3C
- adds r0, r5
- mov r8, r0
- lsls r0, r4, 2
- subs r0, 0x4
- adds r2, r0, r5
- ldr r1, _08094E48
- mov r12, r1
- adds r7, r3, 0
-_08094DF8:
- ldr r0, [r2]
- lsrs r1, r0, 30
- eors r0, r1
- mov r1, r12
- muls r1, r0
- ldr r0, [r2, 0x4]
- eors r0, r1
- subs r0, r4
- str r0, [r2, 0x4]
- adds r2, 0x4
- adds r4, 0x1
- cmp r4, r7
- ble _08094E1C
- mov r1, r8
- ldr r0, [r1]
- str r0, [r6]
- adds r2, r5, 0
- movs r4, 0x1
-_08094E1C:
- subs r3, 0x1
- cmp r3, 0
- bne _08094DF8
- movs r0, 0x80
- lsls r0, 24
- str r0, [r6]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08094E34: .4byte 0x012bd6aa
-_08094E38: .4byte gUnknown_3001198
-_08094E3C: .4byte 0x000009bc
-_08094E40: .4byte 0x0019660d
-_08094E44: .4byte 0x0000026f
-_08094E48: .4byte 0x5d588b65
- thumb_func_end sub_8094D74
-
- thumb_func_start sub_8094E4C
-sub_8094E4C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _08094F54
- ldr r2, [r0]
- ldr r1, _08094F58
- mov r8, r0
- cmp r2, r1
- ble _08094F1C
- ldr r0, _08094F5C
- cmp r2, r0
- bne _08094E6C
- ldr r0, _08094F60
- bl sub_8094D28
-_08094E6C:
- movs r3, 0
- ldr r0, _08094F64
- mov r9, r0
- ldr r7, _08094F68
- mov r12, r9
- adds r5, r7, 0
-_08094E78:
- ldr r4, [r5]
- movs r6, 0x80
- lsls r6, 24
- ands r4, r6
- ldr r0, [r5, 0x4]
- ldr r1, _08094F6C
- ands r0, r1
- orrs r4, r0
- ldr r1, _08094F70
- adds r0, r3, r1
- lsls r0, 2
- adds r0, r7
- lsrs r2, r4, 1
- ldr r1, [r0]
- eors r1, r2
- movs r0, 0x1
- ands r4, r0
- lsls r0, r4, 2
- add r0, r12
- ldr r0, [r0]
- eors r1, r0
- stm r5!, {r1}
- adds r3, 0x1
- cmp r3, 0xE2
- ble _08094E78
- ldr r5, _08094F74
- cmp r3, r5
- bgt _08094EE6
- ldr r1, _08094F68
- ldr r4, _08094F64
- mov r12, r4
- lsls r0, r3, 2
- adds r2, r0, r1
- ldr r4, _08094F78
- adds r0, r4
- adds r7, r0, r1
-_08094EC0:
- ldr r4, [r2]
- ands r4, r6
- ldr r0, [r2, 0x4]
- ldr r1, _08094F6C
- ands r0, r1
- orrs r4, r0
- lsrs r0, r4, 1
- ldm r7!, {r1}
- eors r1, r0
- movs r0, 0x1
- ands r4, r0
- lsls r0, r4, 2
- add r0, r12
- ldr r0, [r0]
- eors r1, r0
- stm r2!, {r1}
- adds r3, 0x1
- cmp r3, r5
- ble _08094EC0
-_08094EE6:
- ldr r2, _08094F68
- ldr r0, _08094F7C
- adds r3, r2, r0
- ldr r4, [r3]
- movs r0, 0x80
- lsls r0, 24
- ands r4, r0
- ldr r0, [r2]
- ldr r1, _08094F6C
- ands r0, r1
- orrs r4, r0
- movs r1, 0xC6
- lsls r1, 3
- adds r2, r1
- lsrs r0, r4, 1
- ldr r1, [r2]
- eors r1, r0
- movs r0, 0x1
- ands r4, r0
- lsls r0, r4, 2
- add r0, r9
- ldr r0, [r0]
- eors r1, r0
- str r1, [r3]
- movs r0, 0
- mov r4, r8
- str r0, [r4]
-_08094F1C:
- ldr r2, _08094F68
- mov r0, r8
- ldr r1, [r0]
- lsls r0, r1, 2
- adds r0, r2
- ldr r4, [r0]
- adds r1, 0x1
- mov r0, r8
- str r1, [r0]
- lsrs r0, r4, 11
- eors r4, r0
- lsls r0, r4, 7
- ldr r1, _08094F80
- ands r0, r1
- eors r4, r0
- lsls r0, r4, 15
- ldr r1, _08094F84
- ands r0, r1
- eors r4, r0
- lsrs r0, r4, 18
- eors r4, r0
- adds r0, r4, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08094F54: .4byte gUnknown_203B470
-_08094F58: .4byte 0x0000026f
-_08094F5C: .4byte 0x00000271
-_08094F60: .4byte 0x00001571
-_08094F64: .4byte gUnknown_203B474
-_08094F68: .4byte gUnknown_3001198
-_08094F6C: .4byte 0x7fffffff
-_08094F70: .4byte 0x0000018d
-_08094F74: .4byte 0x0000026e
-_08094F78: .4byte 0xfffffc74
-_08094F7C: .4byte 0x000009bc
-_08094F80: .4byte 0x9d2c5680
-_08094F84: .4byte 0xefc60000
- thumb_func_end sub_8094E4C
-
.align 2,0 @ Don't pad with nop
diff --git a/asm/code_8098BDC.s b/asm/code_8098BDC.s
index 861e906..e930645 100644
--- a/asm/code_8098BDC.s
+++ b/asm/code_8098BDC.s
@@ -6199,7 +6199,7 @@ _0809C046:
lsls r0, 16
asrs r0, 16
str r0, [r1]
- bl sub_802FEE0
+ bl CleanMakuhitaShop
b _0809C392
_0809C05E:
ldr r0, [r6]
@@ -6209,7 +6209,7 @@ _0809C05E:
movs r1, 0x1
negs r1, r1
str r1, [r0]
- bl sub_802FEE0
+ bl CleanMakuhitaShop
b _0809C392
_0809C072:
movs r4, 0x1
diff --git a/asm/game_options.s b/asm/game_options.s
new file mode 100644
index 0000000..cad1919
--- /dev/null
+++ b/asm/game_options.s
@@ -0,0 +1,801 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start GameOptionsNotChange
+GameOptionsNotChange:
+ push {lr}
+ adds r2, r0, 0
+ ldr r0, _08094A38
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x8]
+ ldrb r3, [r2, 0x8]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0x9]
+ ldrb r3, [r2, 0x9]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0xA]
+ ldrb r3, [r2, 0xA]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0xB]
+ ldrb r3, [r2, 0xB]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1]
+ ldrb r3, [r2]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0x1]
+ ldrb r3, [r2, 0x1]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0x2]
+ ldrb r3, [r2, 0x2]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0x3]
+ ldrb r3, [r2, 0x3]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0x4]
+ ldrb r3, [r2, 0x4]
+ cmp r0, r3
+ bne _08094A3C
+ ldrb r0, [r1, 0xC]
+ ldrb r2, [r2, 0xC]
+ cmp r0, r2
+ bne _08094A3C
+ movs r0, 0x1
+ b _08094A3E
+ .align 2, 0
+_08094A38: .4byte gUnknown_203B46C
+_08094A3C:
+ movs r0, 0
+_08094A3E:
+ pop {r1}
+ bx r1
+ thumb_func_end GameOptionsNotChange
+
+ thumb_func_start sub_8094A44
+sub_8094A44:
+ push {r4-r7,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ movs r1, 0xFF
+ mov r0, sp
+ strb r1, [r0]
+ mov r7, sp
+ adds r7, 0x1
+ movs r0, 0
+ strb r0, [r7]
+ ldr r5, _08094B14
+ ldr r1, [r5]
+ adds r1, 0x8
+ adds r0, r4, 0
+ movs r2, 0x2
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x9]
+ mov r1, sp
+ adds r6, r7, 0
+ cmp r0, 0
+ bne _08094A74
+ adds r1, r6, 0
+_08094A74:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0, 0xA]
+ adds r1, r6, 0
+ cmp r0, 0
+ beq _08094A88
+ mov r1, sp
+_08094A88:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0, 0xB]
+ adds r1, r6, 0
+ cmp r0, 0
+ beq _08094A9C
+ mov r1, sp
+_08094A9C:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0]
+ adds r1, r6, 0
+ cmp r0, 0
+ beq _08094AB0
+ mov r1, sp
+_08094AB0:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x1]
+ adds r1, r6, 0
+ cmp r0, 0
+ beq _08094AC4
+ mov r1, sp
+_08094AC4:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x2]
+ adds r1, r6, 0
+ cmp r0, 0
+ beq _08094AD8
+ mov r1, sp
+_08094AD8:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x3]
+ adds r1, r7, 0
+ cmp r0, 0
+ beq _08094AEC
+ mov r1, sp
+_08094AEC:
+ adds r0, r4, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r1, [r5]
+ adds r1, 0x4
+ adds r0, r4, 0
+ movs r2, 0x3
+ bl sub_809488C
+ ldr r1, [r5]
+ adds r1, 0xC
+ adds r0, r4, 0
+ movs r2, 0x2
+ bl sub_809488C
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08094B14: .4byte gUnknown_203B46C
+ thumb_func_end sub_8094A44
+
+ thumb_func_start sub_8094B18
+sub_8094B18:
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0x4
+ adds r6, r0, 0
+ mov r1, sp
+ movs r2, 0x2
+ bl sub_8094924
+ ldr r5, _08094C10
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ movs r0, 0x3
+ mov r8, r0
+ ands r0, r1
+ strb r0, [r2, 0x8]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ movs r4, 0x1
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r2, 0x9]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r2, 0xA]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r2, 0xB]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r2]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r2, 0x1]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ ands r0, r1
+ strb r0, [r2, 0x2]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r1, [r5]
+ mov r0, sp
+ ldrb r0, [r0]
+ ands r4, r0
+ strb r4, [r1, 0x3]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x3
+ bl sub_8094924
+ ldr r2, [r5]
+ mov r0, sp
+ ldrb r1, [r0]
+ movs r0, 0x7
+ ands r0, r1
+ strb r0, [r2, 0x4]
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x2
+ bl sub_8094924
+ ldr r1, [r5]
+ mov r0, sp
+ ldrb r0, [r0]
+ mov r2, r8
+ ands r2, r0
+ strb r2, [r1, 0xC]
+ bl sub_8094C14
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08094C10: .4byte gUnknown_203B46C
+ thumb_func_end sub_8094B18
+
+ thumb_func_start sub_8094C14
+sub_8094C14:
+ push {r4,lr}
+ sub sp, 0x10
+ mov r1, sp
+ ldr r0, _08094C40
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r0, [r0]
+ str r0, [r1]
+ ldr r0, _08094C44
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x8]
+ movs r0, 0x3
+ ands r0, r1
+ lsls r0, 2
+ add r0, sp
+ ldr r0, [r0]
+ bl sub_80099F0
+ add sp, 0x10
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08094C40: .4byte gUnknown_8109954
+_08094C44: .4byte gUnknown_203B46C
+ thumb_func_end sub_8094C14
+
+ thumb_func_start sub_8094C48
+sub_8094C48:
+ push {lr}
+ ldr r0, _08094C5C
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _08094C60
+ cmp r0, 0x3
+ beq _08094C60
+ movs r0, 0x1
+ b _08094C62
+ .align 2, 0
+_08094C5C: .4byte gUnknown_203B46C
+_08094C60:
+ movs r0, 0
+_08094C62:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8094C48
+
+ thumb_func_start sub_8094C68
+sub_8094C68:
+ push {lr}
+ ldr r0, _08094C7C
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0x2
+ beq _08094C80
+ cmp r0, 0x5
+ beq _08094C80
+ movs r0, 0x1
+ b _08094C82
+ .align 2, 0
+_08094C7C: .4byte gUnknown_203B46C
+_08094C80:
+ movs r0, 0
+_08094C82:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8094C68
+
+ thumb_func_start sub_8094C88
+sub_8094C88:
+ push {lr}
+ ldr r0, _08094C98
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0x2
+ bhi _08094C9C
+ movs r0, 0x1
+ b _08094CA8
+ .align 2, 0
+_08094C98: .4byte gUnknown_203B46C
+_08094C9C:
+ subs r0, 0x3
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bhi _08094CAA
+ movs r0, 0x4
+_08094CA8:
+ strb r0, [r1, 0x4]
+_08094CAA:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8094C88
+
+ thumb_func_start sub_8094CB0
+sub_8094CB0:
+ ldr r1, _08094CBC
+ strh r1, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ strh r1, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_08094CBC: .4byte 0x0000ffff
+ thumb_func_end sub_8094CB0
+
+ thumb_func_start sub_8094CC0
+sub_8094CC0:
+ ldr r1, _08094CCC
+ strh r1, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ strh r1, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_08094CCC: .4byte 0x0000ffff
+ thumb_func_end sub_8094CC0
+
+ thumb_func_start sub_8094CD0
+sub_8094CD0:
+ ldr r1, _08094CDC
+ strh r1, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ strh r1, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_08094CDC: .4byte 0x0000ffff
+ thumb_func_end sub_8094CD0
+
+ thumb_func_start sub_8094CE0
+sub_8094CE0:
+ ldr r1, _08094CEC
+ strh r1, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ strh r1, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_08094CEC: .4byte 0x0000ffff
+ thumb_func_end sub_8094CE0
+
+ thumb_func_start sub_8094CF0
+sub_8094CF0:
+ ldr r1, _08094CFC
+ strh r1, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ strh r1, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_08094CFC: .4byte 0x0000ffff
+ thumb_func_end sub_8094CF0
+
+ thumb_func_start sub_8094D00
+sub_8094D00:
+ ldr r1, _08094D0C
+ strh r1, [r0]
+ movs r1, 0x1
+ negs r1, r1
+ strh r1, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_08094D0C: .4byte 0x0000ffff
+ thumb_func_end sub_8094D00
+
+ thumb_func_start sub_8094D10
+sub_8094D10:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8094D10
+
+ thumb_func_start sub_8094D14
+sub_8094D14:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8094D14
+
+ thumb_func_start sub_8094D18
+sub_8094D18:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8094D18
+
+ thumb_func_start sub_8094D1C
+sub_8094D1C:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8094D1C
+
+ thumb_func_start sub_8094D20
+sub_8094D20:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8094D20
+
+ thumb_func_start sub_8094D24
+sub_8094D24:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8094D24
+
+ thumb_func_start sub_8094D28
+sub_8094D28:
+ push {r4-r7,lr}
+ ldr r2, _08094D64
+ str r0, [r2]
+ ldr r1, _08094D68
+ movs r0, 0x1
+ str r0, [r1]
+ ldr r7, _08094D6C
+ adds r5, r2, 0
+ adds r4, r1, 0
+ ldr r6, _08094D70
+_08094D3C:
+ ldr r2, [r4]
+ lsls r3, r2, 2
+ adds r3, r5
+ subs r0, r2, 0x1
+ lsls r0, 2
+ adds r0, r5
+ ldr r0, [r0]
+ lsrs r1, r0, 30
+ eors r0, r1
+ muls r0, r6
+ adds r0, r2
+ str r0, [r3]
+ adds r2, 0x1
+ str r2, [r4]
+ cmp r2, r7
+ ble _08094D3C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08094D64: .4byte gUnknown_3001198
+_08094D68: .4byte gUnknown_203B470
+_08094D6C: .4byte 0x0000026f
+_08094D70: .4byte 0x6c078965
+ thumb_func_end sub_8094D28
+
+ thumb_func_start sub_8094D74
+sub_8094D74:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ mov r8, r0
+ adds r7, r1, 0
+ ldr r0, _08094E34
+ bl sub_8094D28
+ movs r4, 0x1
+ movs r5, 0
+ adds r3, r7, 0
+ movs r0, 0x9C
+ lsls r0, 2
+ cmp r3, r0
+ bge _08094D96
+ adds r3, r0, 0
+_08094D96:
+ ldr r6, _08094E38
+ cmp r3, 0
+ beq _08094DE2
+ mov r9, r6
+ ldr r0, _08094E3C
+ adds r0, r6
+ mov r12, r0
+ adds r2, r6, 0
+_08094DA6:
+ ldr r1, [r2]
+ lsrs r0, r1, 30
+ eors r1, r0
+ ldr r0, _08094E40
+ muls r0, r1
+ ldr r1, [r2, 0x4]
+ eors r1, r0
+ lsls r0, r5, 2
+ add r0, r8
+ ldr r0, [r0]
+ adds r1, r0
+ adds r1, r5
+ str r1, [r2, 0x4]
+ adds r2, 0x4
+ adds r4, 0x1
+ adds r5, 0x1
+ ldr r0, _08094E44
+ cmp r4, r0
+ ble _08094DD6
+ mov r1, r12
+ ldr r0, [r1]
+ str r0, [r6]
+ mov r2, r9
+ movs r4, 0x1
+_08094DD6:
+ cmp r5, r7
+ blt _08094DDC
+ movs r5, 0
+_08094DDC:
+ subs r3, 0x1
+ cmp r3, 0
+ bne _08094DA6
+_08094DE2:
+ ldr r3, _08094E44
+ ldr r5, _08094E38
+ ldr r0, _08094E3C
+ adds r0, r5
+ mov r8, r0
+ lsls r0, r4, 2
+ subs r0, 0x4
+ adds r2, r0, r5
+ ldr r1, _08094E48
+ mov r12, r1
+ adds r7, r3, 0
+_08094DF8:
+ ldr r0, [r2]
+ lsrs r1, r0, 30
+ eors r0, r1
+ mov r1, r12
+ muls r1, r0
+ ldr r0, [r2, 0x4]
+ eors r0, r1
+ subs r0, r4
+ str r0, [r2, 0x4]
+ adds r2, 0x4
+ adds r4, 0x1
+ cmp r4, r7
+ ble _08094E1C
+ mov r1, r8
+ ldr r0, [r1]
+ str r0, [r6]
+ adds r2, r5, 0
+ movs r4, 0x1
+_08094E1C:
+ subs r3, 0x1
+ cmp r3, 0
+ bne _08094DF8
+ movs r0, 0x80
+ lsls r0, 24
+ str r0, [r6]
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08094E34: .4byte 0x012bd6aa
+_08094E38: .4byte gUnknown_3001198
+_08094E3C: .4byte 0x000009bc
+_08094E40: .4byte 0x0019660d
+_08094E44: .4byte 0x0000026f
+_08094E48: .4byte 0x5d588b65
+ thumb_func_end sub_8094D74
+
+ thumb_func_start sub_8094E4C
+sub_8094E4C:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ ldr r0, _08094F54
+ ldr r2, [r0]
+ ldr r1, _08094F58
+ mov r8, r0
+ cmp r2, r1
+ ble _08094F1C
+ ldr r0, _08094F5C
+ cmp r2, r0
+ bne _08094E6C
+ ldr r0, _08094F60
+ bl sub_8094D28
+_08094E6C:
+ movs r3, 0
+ ldr r0, _08094F64
+ mov r9, r0
+ ldr r7, _08094F68
+ mov r12, r9
+ adds r5, r7, 0
+_08094E78:
+ ldr r4, [r5]
+ movs r6, 0x80
+ lsls r6, 24
+ ands r4, r6
+ ldr r0, [r5, 0x4]
+ ldr r1, _08094F6C
+ ands r0, r1
+ orrs r4, r0
+ ldr r1, _08094F70
+ adds r0, r3, r1
+ lsls r0, 2
+ adds r0, r7
+ lsrs r2, r4, 1
+ ldr r1, [r0]
+ eors r1, r2
+ movs r0, 0x1
+ ands r4, r0
+ lsls r0, r4, 2
+ add r0, r12
+ ldr r0, [r0]
+ eors r1, r0
+ stm r5!, {r1}
+ adds r3, 0x1
+ cmp r3, 0xE2
+ ble _08094E78
+ ldr r5, _08094F74
+ cmp r3, r5
+ bgt _08094EE6
+ ldr r1, _08094F68
+ ldr r4, _08094F64
+ mov r12, r4
+ lsls r0, r3, 2
+ adds r2, r0, r1
+ ldr r4, _08094F78
+ adds r0, r4
+ adds r7, r0, r1
+_08094EC0:
+ ldr r4, [r2]
+ ands r4, r6
+ ldr r0, [r2, 0x4]
+ ldr r1, _08094F6C
+ ands r0, r1
+ orrs r4, r0
+ lsrs r0, r4, 1
+ ldm r7!, {r1}
+ eors r1, r0
+ movs r0, 0x1
+ ands r4, r0
+ lsls r0, r4, 2
+ add r0, r12
+ ldr r0, [r0]
+ eors r1, r0
+ stm r2!, {r1}
+ adds r3, 0x1
+ cmp r3, r5
+ ble _08094EC0
+_08094EE6:
+ ldr r2, _08094F68
+ ldr r0, _08094F7C
+ adds r3, r2, r0
+ ldr r4, [r3]
+ movs r0, 0x80
+ lsls r0, 24
+ ands r4, r0
+ ldr r0, [r2]
+ ldr r1, _08094F6C
+ ands r0, r1
+ orrs r4, r0
+ movs r1, 0xC6
+ lsls r1, 3
+ adds r2, r1
+ lsrs r0, r4, 1
+ ldr r1, [r2]
+ eors r1, r0
+ movs r0, 0x1
+ ands r4, r0
+ lsls r0, r4, 2
+ add r0, r9
+ ldr r0, [r0]
+ eors r1, r0
+ str r1, [r3]
+ movs r0, 0
+ mov r4, r8
+ str r0, [r4]
+_08094F1C:
+ ldr r2, _08094F68
+ mov r0, r8
+ ldr r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r2
+ ldr r4, [r0]
+ adds r1, 0x1
+ mov r0, r8
+ str r1, [r0]
+ lsrs r0, r4, 11
+ eors r4, r0
+ lsls r0, r4, 7
+ ldr r1, _08094F80
+ ands r0, r1
+ eors r4, r0
+ lsls r0, r4, 15
+ ldr r1, _08094F84
+ ands r0, r1
+ eors r4, r0
+ lsrs r0, r4, 18
+ eors r4, r0
+ adds r0, r4, 0
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08094F54: .4byte gUnknown_203B470
+_08094F58: .4byte 0x0000026f
+_08094F5C: .4byte 0x00000271
+_08094F60: .4byte 0x00001571
+_08094F64: .4byte gUnknown_203B474
+_08094F68: .4byte gUnknown_3001198
+_08094F6C: .4byte 0x7fffffff
+_08094F70: .4byte 0x0000018d
+_08094F74: .4byte 0x0000026e
+_08094F78: .4byte 0xfffffc74
+_08094F7C: .4byte 0x000009bc
+_08094F80: .4byte 0x9d2c5680
+_08094F84: .4byte 0xefc60000
+ thumb_func_end sub_8094E4C
+
+ .align 2,0
diff --git a/asm/gulpin_shop.s b/asm/gulpin_shop.s
new file mode 100644
index 0000000..04a143b
--- /dev/null
+++ b/asm/gulpin_shop.s
@@ -0,0 +1,18648 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start DisplayGulpinDialogueSprite
+DisplayGulpinDialogueSprite:
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ mov r8, r0
+ adds r4, r1, 0
+ adds r6, r2, 0
+ lsls r4, 16
+ asrs r4, 16
+ ldr r5, _0801E84C
+ movs r0, 0xC6
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ adds r2, r0, 0
+ str r2, [r5]
+ mov r0, r8
+ str r0, [r2]
+ strh r4, [r2, 0xC]
+ str r6, [r2, 0x10]
+ ldrh r0, [r6, 0x22]
+ strh r0, [r2, 0x1C]
+ mov r1, r8
+ cmp r1, 0
+ bne _0801E850
+ movs r3, 0x94
+ lsls r3, 1
+ adds r1, r2, r3
+ movs r4, 0x8C
+ lsls r4, 1
+ adds r0, r2, r4
+ b _0801E858
+ .align 2, 0
+_0801E84C: .4byte gUnknown_203B26C
+_0801E850:
+ movs r0, 0x94
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0
+_0801E858:
+ str r0, [r1]
+ ldr r0, _0801E8B4
+ bl GetDialogueSpriteDataPtr
+ ldr r2, _0801E8B8
+ ldr r3, [r2]
+ movs r4, 0x8C
+ lsls r4, 1
+ adds r1, r3, r4
+ str r0, [r1]
+ adds r4, 0x4
+ adds r1, r3, r4
+ ldr r0, [r0, 0x4]
+ str r0, [r1]
+ movs r1, 0x92
+ lsls r1, 1
+ adds r0, r3, r1
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r3, _0801E8BC
+ adds r0, r3
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r4, 0xA
+ adds r0, r4
+ strb r1, [r0]
+ ldr r2, [r2]
+ movs r0, 0x90
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x2
+ strh r0, [r1]
+ subs r3, 0x3
+ adds r1, r2, r3
+ movs r0, 0x8
+ strh r0, [r1]
+ movs r0, 0
+ bl sub_801E968
+ movs r0, 0x1
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801E8B4: .4byte 0x00000155
+_0801E8B8: .4byte gUnknown_203B26C
+_0801E8BC: .4byte 0x00000125
+ thumb_func_end DisplayGulpinDialogueSprite
+
+ thumb_func_start sub_801E8C0
+sub_801E8C0:
+ push {lr}
+ ldr r0, _0801E8D8
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ cmp r0, 0x6
+ bhi _0801E928
+ lsls r0, 2
+ ldr r1, _0801E8DC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801E8D8: .4byte gUnknown_203B26C
+_0801E8DC: .4byte _0801E8E0
+ .align 2, 0
+_0801E8E0:
+ .4byte _0801E8FC
+ .4byte _0801E8FC
+ .4byte _0801E902
+ .4byte _0801E908
+ .4byte _0801E90E
+ .4byte _0801E91C
+ .4byte _0801E924
+_0801E8FC:
+ bl sub_801ECBC
+ b _0801E928
+_0801E902:
+ bl sub_801ED28
+ b _0801E928
+_0801E908:
+ bl sub_801EDA4
+ b _0801E928
+_0801E90E:
+ bl sub_801EDC0
+ ldr r0, _0801E920
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ cmp r0, 0x5
+ bne _0801E928
+_0801E91C:
+ movs r0, 0x3
+ b _0801E92A
+ .align 2, 0
+_0801E920: .4byte gUnknown_203B26C
+_0801E924:
+ movs r0, 0x2
+ b _0801E92A
+_0801E928:
+ movs r0, 0
+_0801E92A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801E8C0
+
+ thumb_func_start sub_801E930
+sub_801E930:
+ ldr r0, _0801E938
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xE]
+ bx lr
+ .align 2, 0
+_0801E938: .4byte gUnknown_203B26C
+ thumb_func_end sub_801E930
+
+ thumb_func_start sub_801E93C
+sub_801E93C:
+ push {r4,lr}
+ ldr r4, _0801E964
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0801E95C
+ movs r1, 0x8C
+ lsls r1, 1
+ adds r0, r1
+ ldr r0, [r0]
+ bl CloseFile
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801E95C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E964: .4byte gUnknown_203B26C
+ thumb_func_end sub_801E93C
+
+ thumb_func_start sub_801E968
+sub_801E968:
+ push {lr}
+ ldr r1, _0801E97C
+ ldr r1, [r1]
+ str r0, [r1, 0x4]
+ bl sub_801E980
+ bl sub_801EA28
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801E97C: .4byte gUnknown_203B26C
+ thumb_func_end sub_801E968
+
+ thumb_func_start sub_801E980
+sub_801E980:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _0801E9D0
+ ldr r0, [r4]
+ movs r5, 0x96
+ lsls r5, 1
+ adds r0, r5
+ bl sub_8006518
+ ldr r0, [r4]
+ ldr r0, [r0, 0x4]
+ cmp r0, 0x2
+ bne _0801E9DC
+ bl sub_801EBC4
+ ldr r1, [r4]
+ movs r0, 0xA2
+ lsls r0, 1
+ adds r1, r0
+ ldr r0, _0801E9D4
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r6,r7}
+ stm r1!, {r2,r6,r7}
+ ldr r2, [r4]
+ movs r0, 0xAE
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _0801E9D8
+ 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, 0x28
+ bl sub_8012CAC
+ b _0801EA00
+ .align 2, 0
+_0801E9D0: .4byte gUnknown_203B26C
+_0801E9D4: .4byte gUnknown_80DC11C
+_0801E9D8: .4byte gUnknown_80DC134
+_0801E9DC:
+ mov r12, r4
+ mov r8, r5
+ ldr r4, _0801EA20
+ movs r2, 0
+ movs r3, 0x3
+_0801E9E6:
+ mov r6, r12
+ ldr r1, [r6]
+ adds r1, r2
+ add r1, r8
+ adds r0, r4, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ adds r2, 0x18
+ subs r3, 0x1
+ cmp r3, 0
+ bge _0801E9E6
+_0801EA00:
+ bl ResetUnusedInputStruct
+ ldr r0, _0801EA24
+ ldr r0, [r0]
+ movs r7, 0x96
+ lsls r7, 1
+ adds r0, r7
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801EA20: .4byte gUnknown_80DC11C
+_0801EA24: .4byte gUnknown_203B26C
+ thumb_func_end sub_801E980
+
+ thumb_func_start sub_801EA28
+sub_801EA28:
+ push {r4,r5,lr}
+ sub sp, 0x14
+ ldr r1, _0801EA44
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r4, r1, 0
+ cmp r0, 0x4
+ bls _0801EA3A
+ b _0801EBB8
+_0801EA3A:
+ lsls r0, 2
+ ldr r1, _0801EA48
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801EA44: .4byte gUnknown_203B26C
+_0801EA48: .4byte _0801EA4C
+ .align 2, 0
+_0801EA4C:
+ .4byte _0801EA60
+ .4byte _0801EA80
+ .4byte _0801EA8A
+ .4byte _0801EAB4
+ .4byte _0801EACA
+_0801EA60:
+ ldr r0, [r4]
+ movs r2, 0xC
+ ldrsh r1, [r0, r2]
+ ldr r2, [r0, 0x10]
+ ldr r0, _0801EA7C
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ movs r0, 0x2
+ movs r3, 0
+ bl sub_801EE10
+ b _0801EBB8
+ .align 2, 0
+_0801EA7C: .4byte gUnknown_80DC164
+_0801EA80:
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_801F1B0
+ b _0801EBB8
+_0801EA8A:
+ movs r0, 0
+ bl sub_801F280
+ ldr r0, _0801EAB0
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x78
+ adds r1, r2, 0
+ adds r1, 0x28
+ adds r3, r2, 0
+ adds r3, 0x68
+ ldr r2, [r2, 0x24]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _0801EBB8
+ .align 2, 0
+_0801EAB0: .4byte gUnknown_203B26C
+_0801EAB4:
+ ldr r2, [r4]
+ ldr r0, [r2, 0x20]
+ ldr r1, [r2, 0x10]
+ adds r2, 0x14
+ bl sub_8093560
+ ldr r0, [r4]
+ adds r0, 0x14
+ bl sub_801F808
+ b _0801EBB8
+_0801EACA:
+ bl sub_801EC7C
+ ldr r4, _0801EAF8
+ ldr r5, _0801EAFC
+ ldr r0, [r5]
+ ldrh r1, [r0, 0x1C]
+ adds r0, r4, 0
+ bl sub_8092C84
+ adds r4, 0x50
+ ldr r0, [r5]
+ ldrh r1, [r0, 0x1E]
+ adds r0, r4, 0
+ bl sub_8092C84
+ ldr r2, [r5]
+ ldr r3, [r2]
+ cmp r3, 0x1
+ bls _0801EB00
+ cmp r3, 0x2
+ beq _0801EB68
+ b _0801EBB8
+ .align 2, 0
+_0801EAF8: .4byte gAvailablePokemonNames
+_0801EAFC: .4byte gUnknown_203B26C
+_0801EB00:
+ ldrb r4, [r2, 0xE]
+ cmp r4, 0
+ beq _0801EB38
+ ldr r1, _0801EB34
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x30
+ adds r0, r1
+ ldr r0, [r0]
+ adds r3, r2, 0
+ adds r3, 0x28
+ adds r1, r2, 0
+ adds r1, 0x68
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r4, 0x94
+ lsls r4, 1
+ adds r1, r2, r4
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ b _0801EB86
+ .align 2, 0
+_0801EB34: .4byte gGulpinDialogue
+_0801EB38:
+ ldr r1, _0801EB64
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x2C
+ adds r0, r1
+ ldr r0, [r0]
+ adds r3, r2, 0
+ adds r3, 0x28
+ adds r1, r2, 0
+ adds r1, 0x68
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ movs r4, 0x94
+ lsls r4, 1
+ adds r1, r2, r4
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ b _0801EB86
+ .align 2, 0
+_0801EB64: .4byte gGulpinDialogue
+_0801EB68:
+ ldrb r4, [r2, 0xE]
+ cmp r4, 0
+ beq _0801EB98
+ ldr r0, _0801EB94
+ adds r3, r2, 0
+ adds r3, 0x28
+ adds r1, r2, 0
+ adds r1, 0x68
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ str r1, [sp, 0xC]
+ movs r1, 0x20
+_0801EB86:
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x5
+ bl sub_8014248
+ b _0801EBB8
+ .align 2, 0
+_0801EB94: .4byte gUnknown_80DC1A0
+_0801EB98:
+ ldr r0, _0801EBC0
+ adds r3, r2, 0
+ adds r3, 0x28
+ adds r1, r2, 0
+ adds r1, 0x68
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ str r4, [sp, 0xC]
+ movs r1, 0x20
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x5
+ bl sub_8014248
+_0801EBB8:
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801EBC0: .4byte gUnknown_80DC1FC
+ thumb_func_end sub_801EA28
+
+ thumb_func_start sub_801EBC4
+sub_801EBC4:
+ push {r4,r5,lr}
+ movs r5, 0
+ ldr r4, _0801EC48
+ ldr r0, [r4]
+ adds r0, 0x68
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ ldr r0, _0801EC4C
+ str r0, [r1, 0x28]
+ movs r0, 0x2
+ str r0, [r1, 0x2C]
+ ldrh r0, [r1, 0x1E]
+ ldr r1, [r1, 0x10]
+ bl sub_80933A0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801EBF6
+ ldr r0, [r4]
+ ldr r0, [r0, 0x20]
+ cmp r0, 0x3
+ ble _0801EBFE
+_0801EBF6:
+ ldr r0, [r4]
+ adds r0, 0x68
+ movs r1, 0x1
+ strh r1, [r0]
+_0801EBFE:
+ adds r5, 0x1
+ ldr r4, _0801EC48
+ ldr r0, [r4]
+ mov r12, r0
+ lsls r1, r5, 3
+ mov r3, r12
+ adds r3, 0x28
+ adds r2, r3, r1
+ ldr r0, _0801EC50
+ ldr r0, [r0]
+ str r0, [r2]
+ mov r2, r12
+ adds r2, 0x2C
+ adds r1, r2, r1
+ movs r0, 0x3
+ str r0, [r1]
+ adds r5, 0x1
+ lsls r1, r5, 3
+ adds r3, r1
+ movs r0, 0
+ str r0, [r3]
+ adds r2, r1
+ movs r0, 0x1
+ str r0, [r2]
+ movs r3, 0
+ cmp r3, r5
+ bge _0801EC76
+ mov r0, r12
+ adds r0, 0x68
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0801EC54
+ mov r1, r12
+ ldr r0, [r1, 0x2C]
+ str r0, [r1, 0x24]
+ b _0801EC76
+ .align 2, 0
+_0801EC48: .4byte gUnknown_203B26C
+_0801EC4C: .4byte gUnknown_80DC230
+_0801EC50: .4byte gUnknown_80D4970
+_0801EC54:
+ adds r3, 0x1
+ cmp r3, r5
+ bge _0801EC76
+ ldr r2, [r4]
+ lsls r0, r3, 1
+ adds r1, r2, 0
+ adds r1, 0x68
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _0801EC54
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0x2C
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x24]
+_0801EC76:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801EBC4
+
+ thumb_func_start sub_801EC7C
+sub_801EC7C:
+ push {r4,lr}
+ ldr r4, _0801ECB0
+ ldr r0, [r4]
+ adds r0, 0x68
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ movs r3, 0
+ ldr r0, _0801ECB4
+ ldr r0, [r0]
+ str r0, [r1, 0x28]
+ movs r0, 0x4
+ str r0, [r1, 0x2C]
+ movs r2, 0x1
+ ldr r0, _0801ECB8
+ ldr r0, [r0]
+ str r0, [r1, 0x30]
+ movs r0, 0x5
+ str r0, [r1, 0x34]
+ str r3, [r1, 0x38]
+ str r2, [r1, 0x3C]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801ECB0: .4byte gUnknown_203B26C
+_0801ECB4: .4byte gUnknown_80D4920
+_0801ECB8: .4byte gUnknown_80D4928
+ thumb_func_end sub_801EC7C
+
+ thumb_func_start sub_801ECBC
+sub_801ECBC:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801EF38
+ cmp r0, 0x3
+ beq _0801ECD8
+ cmp r0, 0x3
+ bhi _0801ECD2
+ cmp r0, 0x2
+ beq _0801ED18
+ b _0801ED22
+_0801ECD2:
+ cmp r0, 0x4
+ beq _0801ECF8
+ b _0801ED22
+_0801ECD8:
+ bl sub_801F194
+ ldr r1, _0801ECF4
+ ldr r2, [r1]
+ str r0, [r2, 0x20]
+ ldr r1, [r2, 0x10]
+ lsls r0, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x2]
+ strh r0, [r2, 0x1E]
+ movs r0, 0x2
+ bl sub_801E968
+ b _0801ED22
+ .align 2, 0
+_0801ECF4: .4byte gUnknown_203B26C
+_0801ECF8:
+ bl sub_801F194
+ ldr r1, _0801ED14
+ ldr r2, [r1]
+ str r0, [r2, 0x20]
+ ldr r1, [r2, 0x10]
+ lsls r0, 3
+ adds r1, r0
+ ldrh r0, [r1, 0x2]
+ strh r0, [r2, 0x1E]
+ movs r0, 0x3
+ bl sub_801E968
+ b _0801ED22
+ .align 2, 0
+_0801ED14: .4byte gUnknown_203B26C
+_0801ED18:
+ bl sub_801F214
+ movs r0, 0x6
+ bl sub_801E968
+_0801ED22:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801ECBC
+
+ thumb_func_start sub_801ED28
+sub_801ED28:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801EF38
+ ldr r4, _0801ED60
+ ldr r0, [r4]
+ adds r0, 0x78
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801ED4E
+ ldr r0, [r4]
+ adds r0, 0x78
+ mov r1, sp
+ bl sub_8013114
+_0801ED4E:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0801ED74
+ cmp r0, 0x2
+ bgt _0801ED64
+ cmp r0, 0x1
+ beq _0801ED6C
+ b _0801ED9A
+ .align 2, 0
+_0801ED60: .4byte gUnknown_203B26C
+_0801ED64:
+ cmp r0, 0x3
+ beq _0801ED94
+ cmp r0, 0x5
+ bne _0801ED9A
+_0801ED6C:
+ movs r0, 0x1
+ bl sub_801E968
+ b _0801ED9A
+_0801ED74:
+ ldr r0, _0801ED90
+ bl PlaySound
+ ldr r1, [r4]
+ ldr r0, [r1, 0x20]
+ ldr r1, [r1, 0x10]
+ bl sub_80934B0
+ ldr r1, [r4]
+ strb r0, [r1, 0xE]
+ movs r0, 0x4
+ bl sub_801E968
+ b _0801ED9A
+ .align 2, 0
+_0801ED90: .4byte 0x00000133
+_0801ED94:
+ movs r0, 0x3
+ bl sub_801E968
+_0801ED9A:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801ED28
+
+ thumb_func_start sub_801EDA4
+sub_801EDA4:
+ push {lr}
+ bl sub_801F890
+ cmp r0, 0x1
+ bls _0801EDBC
+ cmp r0, 0x3
+ bhi _0801EDBC
+ bl sub_801F8D0
+ movs r0, 0x1
+ bl sub_801E968
+_0801EDBC:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801EDA4
+
+ thumb_func_start sub_801EDC0
+sub_801EDC0:
+ push {r4,lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801EE06
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _0801EDE4
+ cmp r0, 0x4
+ bgt _0801EDDE
+ cmp r0, 0x1
+ beq _0801EE00
+ b _0801EE06
+_0801EDDE:
+ cmp r0, 0x5
+ beq _0801EE00
+ b _0801EE06
+_0801EDE4:
+ bl sub_801F214
+ ldr r4, _0801EDFC
+ ldr r1, [r4]
+ ldr r0, [r1, 0x10]
+ ldr r1, [r1, 0x20]
+ bl sub_8093CF8
+ ldr r1, [r4]
+ movs r0, 0x5
+ str r0, [r1, 0x4]
+ b _0801EE06
+ .align 2, 0
+_0801EDFC: .4byte gUnknown_203B26C
+_0801EE00:
+ movs r0, 0x1
+ bl sub_801E968
+_0801EE06:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801EDC0
+
+ thumb_func_start sub_801EE10
+sub_801EE10:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r6, r0, 0
+ mov r9, r2
+ adds r4, r3, 0
+ ldr r0, [sp, 0x20]
+ mov r8, r0
+ lsls r1, 16
+ asrs r7, r1, 16
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r5, _0801EF28
+ movs r0, 0xBC
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ movs r2, 0
+ strb r4, [r0, 0x4]
+ ldr r0, [r5]
+ movs r1, 0x1
+ strb r1, [r0, 0x5]
+ ldr r0, [r5]
+ strb r1, [r0, 0x6]
+ ldr r0, [r5]
+ strb r1, [r0, 0x7]
+ ldr r0, [r5]
+ str r6, [r0]
+ cmp r6, 0x1
+ bls _0801EE5E
+ cmp r6, 0x3
+ bhi _0801EE5E
+ strb r2, [r0, 0x5]
+ ldr r0, [r5]
+ strb r2, [r0, 0x6]
+ ldr r0, [r5]
+ strb r2, [r0, 0x7]
+_0801EE5E:
+ ldr r4, _0801EF28
+ ldr r3, [r4]
+ ldr r2, _0801EF2C
+ movs r0, 0x58
+ adds r1, r7, 0
+ muls r1, r0
+ ldr r0, [r2]
+ adds r0, r1
+ str r0, [r3, 0x8]
+ ldrb r0, [r0, 0x2]
+ strb r0, [r3, 0xC]
+ ldr r0, [r4]
+ mov r1, r9
+ str r1, [r0, 0x10]
+ adds r0, 0xB8
+ ldr r1, [sp, 0x1C]
+ str r1, [r0]
+ bl sub_801F3F8
+ adds r5, r0, 0
+ adds r6, r5, 0
+ cmp r5, 0x4
+ bge _0801EE8E
+ movs r6, 0x4
+_0801EE8E:
+ ldr r0, [r4]
+ adds r0, 0x58
+ bl sub_8006518
+ ldr r1, [r4]
+ mov r2, r8
+ str r2, [r1, 0x50]
+ lsls r0, r2, 1
+ add r0, r8
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x58
+ ldr r0, _0801EF30
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldr r0, [r4]
+ adds r0, 0xB8
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0801EED8
+ mov r0, r8
+ bl sub_8006544
+ ldr r1, [r4]
+ str r0, [r1, 0x54]
+ lsls r2, r0, 1
+ adds r2, r0
+ lsls r2, 3
+ adds r1, r2
+ adds r1, 0x58
+ ldr r0, _0801EF34
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+_0801EED8:
+ ldr r0, [r4]
+ ldr r2, [r0, 0x50]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r1, 0x58
+ adds r0, r1
+ adds r1, r6, 0
+ bl sub_8012D08
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x58
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ adds r0, 0x1C
+ adds r1, r5, 0
+ adds r2, r5, 0
+ mov r3, r8
+ bl sub_8013818
+ ldr r0, [r4]
+ adds r0, 0x1C
+ movs r1, 0
+ bl sub_8013780
+ movs r0, 0x1
+ bl sub_801F280
+ movs r0, 0x1
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801EF28: .4byte gUnknown_203B270
+_0801EF2C: .4byte gRecruitedPokemonRef
+_0801EF30: .4byte gUnknown_80DC25C
+_0801EF34: .4byte gUnknown_80DC274
+ thumb_func_end sub_801EE10
+
+ thumb_func_start sub_801EF38
+sub_801EF38:
+ push {r4-r7,lr}
+ lsls r0, 24
+ movs r7, 0
+ cmp r0, 0
+ bne _0801EF54
+ ldr r0, _0801EF50
+ ldr r0, [r0]
+ adds r0, 0x1C
+ bl sub_8013660
+ b _0801F18C
+ .align 2, 0
+_0801EF50: .4byte gUnknown_203B270
+_0801EF54:
+ ldr r0, _0801EF70
+ ldr r0, [r0]
+ adds r0, 0x1C
+ bl GetKeyPress
+ subs r0, 0x1
+ cmp r0, 0xC
+ bls _0801EF66
+ b _0801F12E
+_0801EF66:
+ lsls r0, 2
+ ldr r1, _0801EF74
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801EF70: .4byte gUnknown_203B270
+_0801EF74: .4byte _0801EF78
+ .align 2, 0
+_0801EF78:
+ .4byte _0801EFB6
+ .4byte _0801EFAC
+ .4byte _0801F0E4
+ .4byte _0801EFC0
+ .4byte _0801F12E
+ .4byte _0801F12E
+ .4byte _0801EFE4
+ .4byte _0801EFCA
+ .4byte _0801F12E
+ .4byte _0801F12E
+ .4byte _0801F074
+ .4byte _0801F04C
+ .4byte _0801F018
+_0801EFAC:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _0801F18E
+_0801EFB6:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _0801F18E
+_0801EFC0:
+ movs r0, 0x4
+ bl PlayMenuSoundEffect
+ movs r0, 0x4
+ b _0801F18E
+_0801EFCA:
+ ldr r5, _0801EFE0
+ ldr r0, [r5]
+ movs r1, 0x34
+ ldrsh r6, [r0, r1]
+ adds r4, r0, 0
+ adds r4, 0x1C
+ ldr r0, [r0, 0x10]
+ adds r1, r6, 0
+ bl sub_8092E54
+ b _0801EFF8
+ .align 2, 0
+_0801EFE0: .4byte gUnknown_203B270
+_0801EFE4:
+ ldr r5, _0801F014
+ ldr r0, [r5]
+ movs r1, 0x34
+ ldrsh r6, [r0, r1]
+ adds r4, r0, 0
+ adds r4, 0x1C
+ ldr r0, [r0, 0x10]
+ adds r1, r6, 0
+ bl sub_8092EEC
+_0801EFF8:
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_8013780
+ ldr r0, [r5]
+ movs r2, 0x34
+ ldrsh r0, [r0, r2]
+ cmp r6, r0
+ bne _0801F00C
+ b _0801F12E
+_0801F00C:
+ movs r0, 0x3
+ bl PlayMenuSoundEffect
+ b _0801F12E
+ .align 2, 0
+_0801F014: .4byte gUnknown_203B270
+_0801F018:
+ ldr r0, _0801F048
+ ldr r2, [r0]
+ ldrb r1, [r2, 0x5]
+ adds r5, r0, 0
+ cmp r1, 0
+ bne _0801F026
+ b _0801F12E
+_0801F026:
+ movs r0, 0x34
+ ldrsh r4, [r2, r0]
+ ldr r0, [r2, 0x10]
+ adds r1, r4, 0
+ bl sub_809309C
+_0801F032:
+ ldr r1, [r5]
+ strh r0, [r1, 0x34]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r4, r0
+ beq _0801F06C
+ movs r0, 0x3
+ bl PlayMenuSoundEffect
+ b _0801F182
+ .align 2, 0
+_0801F048: .4byte gUnknown_203B270
+_0801F04C:
+ ldr r0, _0801F068
+ ldr r2, [r0]
+ ldrb r1, [r2, 0x5]
+ adds r5, r0, 0
+ cmp r1, 0
+ beq _0801F12E
+ movs r1, 0x34
+ ldrsh r4, [r2, r1]
+ ldr r0, [r2, 0x10]
+ adds r1, r4, 0
+ bl sub_809324C
+ b _0801F032
+ .align 2, 0
+_0801F068: .4byte gUnknown_203B270
+_0801F06C:
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ b _0801F182
+_0801F074:
+ ldr r0, _0801F0C8
+ ldr r2, [r0]
+ ldrb r1, [r2, 0x6]
+ adds r5, r0, 0
+ cmp r1, 0
+ beq _0801F12E
+ ldr r0, _0801F0CC
+ ldr r0, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x95
+ ble _0801F0D0
+ movs r1, 0x34
+ ldrsh r0, [r2, r1]
+ ldr r1, [r2, 0x10]
+ bl sub_8093318
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801F0D0
+ ldr r1, [r5]
+ movs r2, 0x34
+ ldrsh r0, [r1, r2]
+ ldr r1, [r1, 0x10]
+ bl sub_8093400
+ movs r0, 0x6
+ bl PlayMenuSoundEffect
+ movs r7, 0x1
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0
+ bne _0801F12E
+ strb r7, [r1, 0x4]
+ movs r0, 0xA6
+ lsls r0, 1
+ bl PlaySound
+ b _0801F12E
+ .align 2, 0
+_0801F0C8: .4byte gUnknown_203B270
+_0801F0CC: .4byte gUnknown_203B460
+_0801F0D0:
+ ldr r0, _0801F0E0
+ ldr r1, [r0]
+ movs r2, 0x34
+ ldrsh r0, [r1, r2]
+ ldr r1, [r1, 0x10]
+ bl sub_8093468
+ b _0801F0FE
+ .align 2, 0
+_0801F0E0: .4byte gUnknown_203B270
+_0801F0E4:
+ ldr r0, _0801F10C
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0
+ beq _0801F12E
+ ldrb r0, [r1, 0xC]
+ cmp r0, 0
+ beq _0801F110
+ movs r2, 0x34
+ ldrsh r0, [r1, r2]
+ ldr r1, [r1, 0x10]
+ bl sub_80934DC
+_0801F0FE:
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801F120
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ b _0801F12E
+ .align 2, 0
+_0801F10C: .4byte gUnknown_203B270
+_0801F110:
+ movs r2, 0x34
+ ldrsh r0, [r1, r2]
+ ldr r1, [r1, 0x10]
+ bl sub_8093544
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801F128
+_0801F120:
+ movs r0, 0x6
+ bl PlayMenuSoundEffect
+ b _0801F182
+_0801F128:
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+_0801F12E:
+ cmp r7, 0
+ bne _0801F182
+ movs r3, 0
+ ldr r5, _0801F160
+ movs r4, 0x1
+_0801F138:
+ ldr r2, [r5]
+ lsls r0, r3, 3
+ ldr r1, [r2, 0x10]
+ adds r1, r0
+ ldrb r1, [r1]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0801F16C
+ movs r0, 0x2
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _0801F164
+ adds r0, r2, 0
+ adds r0, 0x14
+ adds r0, r3
+ strb r4, [r0]
+ b _0801F16C
+ .align 2, 0
+_0801F160: .4byte gUnknown_203B270
+_0801F164:
+ adds r0, r2, 0
+ adds r0, 0x14
+ adds r0, r3
+ strb r1, [r0]
+_0801F16C:
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _0801F138
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x1C
+ adds r1, 0x14
+ bl AddMenuCursorSprite_
+ cmp r7, 0
+ beq _0801F18C
+_0801F182:
+ movs r0, 0x1
+ bl sub_801F280
+ movs r0, 0x1
+ b _0801F18E
+_0801F18C:
+ movs r0, 0
+_0801F18E:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801EF38
+
+ thumb_func_start sub_801F194
+sub_801F194:
+ ldr r0, _0801F1A0
+ ldr r0, [r0]
+ movs r1, 0x34
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_0801F1A0: .4byte gUnknown_203B270
+ thumb_func_end sub_801F194
+
+ thumb_func_start sub_801F1A4
+sub_801F1A4:
+ ldr r0, _0801F1AC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ bx lr
+ .align 2, 0
+_0801F1AC: .4byte gUnknown_203B270
+ thumb_func_end sub_801F1A4
+
+ thumb_func_start sub_801F1B0
+sub_801F1B0:
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r4, _0801F210
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x4]
+ cmp r0, 0
+ bne _0801F1C6
+ strb r1, [r2, 0x4]
+_0801F1C6:
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x58
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ bl sub_801F3F8
+ adds r1, r0, 0
+ ldr r0, [r4]
+ strh r1, [r0, 0x3E]
+ adds r0, 0x1C
+ bl sub_8013984
+ ldr r1, [r4]
+ ldr r0, [r1, 0x10]
+ movs r2, 0x34
+ ldrsh r1, [r1, r2]
+ bl sub_8092F4C
+ ldr r1, [r4]
+ strh r0, [r1, 0x34]
+ movs r0, 0x1
+ bl sub_801F280
+ cmp r5, 0
+ beq _0801F208
+ ldr r0, [r4]
+ adds r0, 0x1C
+ bl AddMenuCursorSprite
+_0801F208:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F210: .4byte gUnknown_203B270
+ thumb_func_end sub_801F1B0
+
+ thumb_func_start sub_801F214
+sub_801F214:
+ push {r4-r6,lr}
+ ldr r4, _0801F278
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801F272
+ ldr r0, [r2, 0x50]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ ldr r3, _0801F27C
+ adds r1, 0x58
+ adds r0, r3, 0
+ ldm r0!, {r2,r5,r6}
+ stm r1!, {r2,r5,r6}
+ ldm r0!, {r2,r5,r6}
+ stm r1!, {r2,r5,r6}
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0xB8
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0801F258
+ ldr r0, [r2, 0x54]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x58
+ adds r0, r3, 0
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+_0801F258:
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x58
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801F272:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F278: .4byte gUnknown_203B270
+_0801F27C: .4byte gUnknown_80DC240
+ thumb_func_end sub_801F214
+
+ thumb_func_start sub_801F280
+sub_801F280:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x28
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ ldr r4, _0801F30C
+ ldr r0, [r4]
+ ldr r0, [r0, 0x50]
+ bl sub_8008C54
+ ldr r0, [r4]
+ ldr r0, [r0, 0x50]
+ bl sub_80073B8
+ ldr r0, [r4]
+ ldr r1, [r0, 0x8]
+ adds r1, 0x4C
+ add r0, sp, 0x4
+ movs r2, 0xA
+ bl sub_80922B4
+ ldr r0, _0801F310
+ add r1, sp, 0x4
+ bl strcpy
+ ldr r2, _0801F314
+ ldr r0, [r4]
+ ldr r3, [r0, 0x50]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xC
+ movs r1, 0
+ bl sub_8014FF0
+ movs r7, 0
+ ldr r0, [r4]
+ movs r1, 0x36
+ ldrsh r0, [r0, r1]
+ cmp r7, r0
+ bge _0801F394
+ add r5, sp, 0x18
+ mov r8, r4
+ movs r0, 0x1
+ mov r9, r0
+_0801F2E0:
+ adds r0, r5, 0
+ movs r1, 0
+ movs r2, 0xC
+ bl memset
+ movs r0, 0x6A
+ str r0, [r5, 0x4]
+ mov r1, r8
+ ldr r2, [r1]
+ lsls r1, r7, 3
+ ldr r0, [r2, 0x10]
+ adds r4, r0, r1
+ ldrb r1, [r4]
+ mov r0, r9
+ ands r0, r1
+ cmp r0, 0
+ beq _0801F386
+ ldrb r0, [r2, 0xC]
+ cmp r0, 0
+ beq _0801F318
+ movs r0, 0x2
+ b _0801F31A
+ .align 2, 0
+_0801F30C: .4byte gUnknown_203B270
+_0801F310: .4byte gAvailablePokemonNames
+_0801F314: .4byte gUnknown_80DC28C
+_0801F318:
+ movs r0, 0x4
+_0801F31A:
+ str r0, [sp, 0x18]
+ mov r1, r8
+ ldr r0, [r1]
+ ldrb r0, [r0, 0x6]
+ cmp r0, 0
+ beq _0801F328
+ mov r0, r9
+_0801F328:
+ strb r0, [r5, 0x9]
+ cmp r7, 0x3
+ ble _0801F332
+ mov r1, r9
+ strb r1, [r5, 0x8]
+_0801F332:
+ ldr r0, _0801F3EC
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_80928A0
+ ldr r2, _0801F3F0
+ ldr r0, [r2]
+ adds r0, 0x1C
+ adds r1, r7, 0
+ str r2, [sp, 0x24]
+ bl sub_8013800
+ adds r6, r0, 0
+ ldrb r1, [r4]
+ movs r0, 0x2
+ ands r0, r1
+ movs r4, 0xD
+ ldr r2, [sp, 0x24]
+ cmp r0, 0
+ bne _0801F372
+ movs r4, 0x8
+ cmp r7, 0
+ beq _0801F372
+ ldr r0, [r2]
+ ldr r0, [r0, 0x50]
+ subs r2, r6, 0x2
+ movs r1, 0x7
+ str r1, [sp]
+ movs r1, 0xC
+ movs r3, 0x78
+ bl sub_800792C
+_0801F372:
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r3, [r0, 0x50]
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r4, 0
+ adds r1, r6, 0
+ ldr r2, _0801F3F4
+ bl sub_8014FF0
+_0801F386:
+ adds r7, 0x1
+ mov r1, r8
+ ldr r0, [r1]
+ movs r1, 0x36
+ ldrsh r0, [r0, r1]
+ cmp r7, r0
+ blt _0801F2E0
+_0801F394:
+ ldr r4, _0801F3F0
+ ldr r0, [r4]
+ ldr r0, [r0, 0x50]
+ bl sub_80073E0
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xB8
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0801F3DC
+ mov r0, r10
+ cmp r0, 0
+ beq _0801F3DC
+ ldr r0, [r1, 0x54]
+ bl sub_8008C54
+ ldr r0, [r4]
+ ldr r0, [r0, 0x54]
+ bl sub_80073B8
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xB8
+ ldr r2, [r0]
+ ldr r3, [r1, 0x54]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ movs r1, 0
+ bl sub_8014FF0
+ ldr r0, [r4]
+ ldr r0, [r0, 0x54]
+ bl sub_80073E0
+_0801F3DC:
+ add sp, 0x28
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F3EC: .4byte gUnknown_202DE58
+_0801F3F0: .4byte gUnknown_203B270
+_0801F3F4: .4byte gUnknown_80DC2A0
+ thumb_func_end sub_801F280
+
+ thumb_func_start sub_801F3F8
+sub_801F3F8:
+ push {r4,r5,lr}
+ movs r4, 0
+ ldr r0, _0801F424
+ ldr r0, [r0]
+ movs r5, 0x1
+ ldr r2, [r0, 0x10]
+ movs r3, 0x7
+_0801F406:
+ ldrb r1, [r2]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0801F412
+ adds r4, 0x1
+_0801F412:
+ adds r2, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bge _0801F406
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801F424: .4byte gUnknown_203B270
+ thumb_func_end sub_801F3F8
+
+ thumb_func_start sub_801F428
+sub_801F428:
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ adds r4, r0, 0
+ mov r9, r1
+ lsls r4, 16
+ asrs r4, 16
+ ldr r5, _0801F50C
+ movs r0, 0xFA
+ lsls r0, 2
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ ldr r3, _0801F510
+ movs r1, 0x58
+ adds r2, r4, 0
+ muls r2, r1
+ ldr r1, [r3]
+ adds r1, r2
+ str r1, [r0]
+ adds r1, r0, 0
+ adds r1, 0x8
+ str r1, [r0, 0x4]
+ movs r4, 0xDF
+ lsls r4, 2
+ adds r1, r0, r4
+ mov r2, r9
+ str r2, [r1]
+ movs r6, 0xE0
+ lsls r6, 2
+ adds r2, r0, r6
+ mov r3, r9
+ lsls r1, r3, 1
+ add r1, r9
+ lsls r1, 3
+ movs r3, 0xE1
+ lsls r3, 2
+ mov r8, r3
+ add r1, r8
+ adds r1, r0, r1
+ str r1, [r2]
+ add r0, r8
+ bl sub_8006518
+ ldr r1, [r5]
+ adds r4, r1, r4
+ ldr r2, [r4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ add r1, r8
+ ldr r0, _0801F514
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r1, [r5]
+ adds r6, r1, r6
+ ldr r0, [r6]
+ movs r4, 0xF9
+ lsls r4, 2
+ adds r1, r4
+ str r1, [r0, 0x14]
+ movs r2, 0
+ movs r0, 0x1
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldr r1, _0801F518
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r5]
+ ldr r3, _0801F51C
+ adds r0, r3
+ movs r1, 0xC
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r4, 0x3
+ adds r0, r4
+ strb r2, [r0]
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ add r0, r8
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r5]
+ movs r0, 0xD2
+ lsls r0, 2
+ adds r4, r0
+ bl sub_801F7E4
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0x4
+ mov r3, r9
+ bl sub_8013818
+ bl sub_801F690
+ bl sub_801F700
+ movs r0, 0x1
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801F50C: .4byte gUnknown_203B274
+_0801F510: .4byte gRecruitedPokemonRef
+_0801F514: .4byte gUnknown_80DC2C4
+_0801F518: .4byte 0x000003e5
+_0801F51C: .4byte 0x000003e6
+ thumb_func_end sub_801F428
+
+ thumb_func_start sub_801F520
+sub_801F520:
+ push {lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801F540
+ ldr r0, _0801F53C
+ ldr r0, [r0]
+ movs r1, 0xD2
+ lsls r1, 2
+ adds r0, r1
+ bl sub_8013660
+ movs r0, 0
+ b _0801F5AE
+ .align 2, 0
+_0801F53C: .4byte gUnknown_203B274
+_0801F540:
+ ldr r0, _0801F55C
+ ldr r0, [r0]
+ movs r1, 0xD2
+ lsls r1, 2
+ adds r0, r1
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _0801F566
+ cmp r0, 0x2
+ bgt _0801F560
+ cmp r0, 0x1
+ beq _0801F570
+ b _0801F584
+ .align 2, 0
+_0801F55C: .4byte gUnknown_203B274
+_0801F560:
+ cmp r0, 0x4
+ beq _0801F57A
+ b _0801F584
+_0801F566:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _0801F5AE
+_0801F570:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _0801F5AE
+_0801F57A:
+ movs r0, 0x4
+ bl PlayMenuSoundEffect
+ movs r0, 0x4
+ b _0801F5AE
+_0801F584:
+ ldr r0, _0801F5A0
+ ldr r0, [r0]
+ movs r1, 0xD2
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801F5A4
+ movs r0, 0
+ b _0801F5AE
+ .align 2, 0
+_0801F5A0: .4byte gUnknown_203B274
+_0801F5A4:
+ bl sub_801F690
+ bl sub_801F700
+ movs r0, 0x1
+_0801F5AE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801F520
+
+ thumb_func_start sub_801F5B4
+sub_801F5B4:
+ push {r4,lr}
+ ldr r0, _0801F5E8
+ ldr r1, [r0]
+ ldr r2, [r1, 0x4]
+ ldr r3, _0801F5EC
+ adds r0, r1, r3
+ movs r4, 0
+ ldrsh r3, [r0, r4]
+ movs r4, 0xD9
+ lsls r4, 2
+ adds r0, r1, r4
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ muls r0, r3
+ movs r3, 0xD8
+ lsls r3, 2
+ adds r1, r3
+ movs r4, 0
+ ldrsh r1, [r1, r4]
+ adds r0, r1
+ lsls r0, 1
+ adds r2, r0
+ ldrh r0, [r2]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801F5E8: .4byte gUnknown_203B274
+_0801F5EC: .4byte 0x00000366
+ thumb_func_end sub_801F5B4
+
+ thumb_func_start sub_801F5F0
+sub_801F5F0:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl ResetUnusedInputStruct
+ ldr r5, _0801F638
+ ldr r0, [r5]
+ movs r1, 0xE1
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ ldr r0, [r5]
+ movs r1, 0xD2
+ lsls r1, 2
+ adds r0, r1
+ bl sub_8013984
+ bl sub_801F690
+ bl sub_801F700
+ cmp r4, 0
+ beq _0801F632
+ ldr r0, [r5]
+ movs r1, 0xD2
+ lsls r1, 2
+ adds r0, r1
+ bl AddMenuCursorSprite
+_0801F632:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F638: .4byte gUnknown_203B274
+ thumb_func_end sub_801F5F0
+
+ thumb_func_start sub_801F63C
+sub_801F63C:
+ push {r4-r6,lr}
+ ldr r5, _0801F688
+ ldr r2, [r5]
+ cmp r2, 0
+ beq _0801F680
+ movs r1, 0xDF
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r0, [r0]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ movs r4, 0xE1
+ lsls r4, 2
+ adds r1, r4
+ ldr r0, _0801F68C
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ adds r0, r4
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r5]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r5]
+_0801F680:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F688: .4byte gUnknown_203B274
+_0801F68C: .4byte gUnknown_80DC2AC
+ thumb_func_end sub_801F63C
+
+ thumb_func_start sub_801F690
+sub_801F690:
+ push {r4,r5,lr}
+ ldr r5, _0801F6F4
+ ldr r0, [r5]
+ ldr r1, _0801F6F8
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ lsls r0, 16
+ ldr r3, [r5]
+ movs r1, 0xDF
+ lsls r1, 2
+ adds r4, r3, r1
+ ldr r2, [r4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r3, r1
+ ldr r2, _0801F6FC
+ adds r1, r2
+ asrs r2, r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r1, [r4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r3, r0
+ adds r2, 0x2
+ movs r0, 0xE5
+ lsls r0, 2
+ adds r3, r0
+ strh r2, [r3]
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ movs r1, 0xE1
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F6F4: .4byte gUnknown_203B274
+_0801F6F8: .4byte 0x00000362
+_0801F6FC: .4byte 0x00000392
+ thumb_func_end sub_801F690
+
+ thumb_func_start sub_801F700
+sub_801F700:
+ push {r4-r7,lr}
+ sub sp, 0xB4
+ ldr r6, _0801F7D4
+ ldr r0, [r6]
+ movs r4, 0xDF
+ lsls r4, 2
+ adds r0, r4
+ ldr r0, [r0]
+ bl sub_8008C54
+ ldr r0, [r6]
+ adds r0, r4
+ ldr r0, [r0]
+ bl sub_80073B8
+ add r5, sp, 0x34
+ ldr r1, _0801F7D8
+ ldr r0, [r6]
+ ldr r3, _0801F7DC
+ adds r2, r0, r3
+ movs r7, 0
+ ldrsh r2, [r2, r7]
+ adds r2, 0x1
+ adds r3, 0x2
+ adds r0, r3
+ movs r7, 0
+ ldrsh r3, [r0, r7]
+ adds r0, r5, 0
+ bl sub_800D158
+ ldr r0, [r6]
+ adds r0, r4
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ adds r2, r5, 0
+ bl xxx_call_draw_string
+ movs r4, 0
+ ldr r0, [r6]
+ ldr r1, _0801F7E0
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r4, r0
+ bge _0801F7BC
+ adds r5, r6, 0
+_0801F762:
+ ldr r1, [r5]
+ ldr r2, [r1, 0x4]
+ ldr r3, _0801F7DC
+ adds r0, r1, r3
+ movs r6, 0
+ ldrsh r3, [r0, r6]
+ movs r7, 0xD9
+ lsls r7, 2
+ adds r1, r7
+ movs r6, 0
+ ldrsh r0, [r1, r6]
+ muls r0, r3
+ adds r0, r4
+ lsls r0, 1
+ adds r2, r0
+ ldrh r1, [r2]
+ add r0, sp, 0x4
+ bl sub_8092C84
+ ldr r0, [r5]
+ subs r7, 0x1C
+ adds r0, r7
+ adds r1, r4, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r5]
+ movs r2, 0xDF
+ lsls r2, 2
+ adds r0, r2
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ adds r4, 0x1
+ ldr r0, [r5]
+ ldr r3, _0801F7E0
+ adds r0, r3
+ movs r6, 0
+ ldrsh r0, [r0, r6]
+ cmp r4, r0
+ blt _0801F762
+_0801F7BC:
+ ldr r0, _0801F7D4
+ ldr r0, [r0]
+ movs r7, 0xDF
+ lsls r7, 2
+ adds r0, r7
+ ldr r0, [r0]
+ bl sub_80073E0
+ add sp, 0xB4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F7D4: .4byte gUnknown_203B274
+_0801F7D8: .4byte gUnknown_80DC2DC
+_0801F7DC: .4byte 0x00000366
+_0801F7E0: .4byte 0x00000362
+ thumb_func_end sub_801F700
+
+ thumb_func_start sub_801F7E4
+sub_801F7E4:
+ push {r4,lr}
+ ldr r4, _0801F804
+ ldr r1, [r4]
+ ldr r0, [r1, 0x4]
+ ldr r1, [r1]
+ bl sub_808E218
+ ldr r0, [r4]
+ ldr r0, [r0, 0x4]
+ movs r1, 0xCF
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801F804: .4byte gUnknown_203B274
+ thumb_func_end sub_801F7E4
+
+ thumb_func_start sub_801F808
+sub_801F808:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r0, 0x1
+ bl ResetSprites
+ ldr r5, _0801F88C
+ movs r0, 0xD4
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ movs r1, 0
+ str r1, [r0, 0x5C]
+ adds r1, r0, 0
+ adds r1, 0x64
+ str r1, [r0, 0x60]
+ adds r0, r1, 0
+ bl sub_80140B4
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ adds r0, 0x64
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r5]
+ str r4, [r0, 0x4]
+ movs r2, 0x4
+ ldrh r0, [r4, 0x6]
+ cmp r0, 0
+ bne _0801F862
+ adds r3, r5, 0
+_0801F84C:
+ subs r2, 0x1
+ cmp r2, 0x1
+ ble _0801F862
+ ldr r0, [r3]
+ ldr r1, [r0, 0x4]
+ lsls r0, r2, 1
+ adds r0, r1
+ subs r0, 0x2
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0801F84C
+_0801F862:
+ ldr r4, _0801F88C
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldr r3, [r1, 0x5C]
+ adds r1, r2, 0
+ movs r2, 0x1
+ bl sub_8013818
+ ldr r0, [r4]
+ adds r0, 0xC8
+ bl sub_801317C
+ movs r0, 0
+ bl sub_801F918
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801F88C: .4byte gUnknown_203B278
+ thumb_func_end sub_801F808
+
+ thumb_func_start sub_801F890
+sub_801F890:
+ push {lr}
+ ldr r0, _0801F8A8
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x1
+ beq _0801F8BC
+ cmp r0, 0x1
+ bgt _0801F8AC
+ cmp r0, 0
+ beq _0801F8B6
+ b _0801F8C6
+ .align 2, 0
+_0801F8A8: .4byte gUnknown_203B278
+_0801F8AC:
+ cmp r0, 0x2
+ beq _0801F8C6
+ cmp r0, 0x3
+ beq _0801F8C2
+ b _0801F8C6
+_0801F8B6:
+ bl sub_801FA58
+ b _0801F8CA
+_0801F8BC:
+ bl sub_801FAD4
+ b _0801F8CA
+_0801F8C2:
+ movs r0, 0x3
+ b _0801F8CC
+_0801F8C6:
+ movs r0, 0x2
+ b _0801F8CC
+_0801F8CA:
+ movs r0, 0
+_0801F8CC:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801F890
+
+ thumb_func_start sub_801F8D0
+sub_801F8D0:
+ push {r4,r5,lr}
+ ldr r4, _0801F910
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801F90A
+ ldr r0, [r2, 0x5C]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x64
+ ldr r0, _0801F914
+ 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, 0x64
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801F90A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F910: .4byte gUnknown_203B278
+_0801F914: .4byte gUnknown_80DC2F8
+ thumb_func_end sub_801F8D0
+
+ thumb_func_start sub_801F918
+sub_801F918:
+ push {lr}
+ ldr r1, _0801F92C
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_801F930
+ bl sub_801F9A4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801F92C: .4byte gUnknown_203B278
+ thumb_func_end sub_801F918
+
+ thumb_func_start sub_801F930
+sub_801F930:
+ push {r4,lr}
+ ldr r4, _0801F94C
+ ldr r0, [r4]
+ adds r0, 0x64
+ bl sub_80140B4
+ ldr r2, [r4]
+ ldr r3, [r2]
+ cmp r3, 0
+ beq _0801F950
+ cmp r3, 0x1
+ beq _0801F98C
+ b _0801F99C
+ .align 2, 0
+_0801F94C: .4byte gUnknown_203B278
+_0801F950:
+ ldr r0, [r2, 0x60]
+ adds r1, r2, 0
+ adds r1, 0xC4
+ str r1, [r0, 0x14]
+ adds r0, r2, 0
+ adds r0, 0x48
+ ldrh r0, [r0]
+ strb r0, [r1]
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x46
+ ldrh r1, [r1]
+ adds r0, 0xC5
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xC6
+ movs r1, 0x10
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xC7
+ strb r3, [r0]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x64
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ b _0801F99C
+_0801F98C:
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x64
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+_0801F99C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801F930
+
+ thumb_func_start sub_801F9A4
+sub_801F9A4:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r5, _0801F9EC
+ ldr r0, [r5]
+ ldr r4, [r0]
+ cmp r4, 0x1
+ beq _0801F9F0
+ cmp r4, 0x1
+ bgt _0801FA48
+ cmp r4, 0
+ bne _0801FA48
+ ldr r0, [r0, 0x5C]
+ bl sub_8008C54
+ ldr r3, [r5]
+ adds r2, r3, 0
+ adds r2, 0x46
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ ldr r1, [r3, 0x4]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ strh r0, [r3, 0x8]
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ ldrh r1, [r3, 0x8]
+ ldr r2, [r3, 0x5C]
+ adds r3, 0x14
+ bl sub_8093D9C
+ ldr r1, [r5]
+ str r0, [r1, 0x10]
+ str r4, [r1, 0x24]
+ b _0801FA48
+ .align 2, 0
+_0801F9EC: .4byte gUnknown_203B278
+_0801F9F0:
+ ldr r0, [r0, 0x5C]
+ bl sub_8008C54
+ ldr r0, [r5]
+ ldr r0, [r0, 0x5C]
+ bl sub_80073B8
+ ldr r0, [r5]
+ ldr r1, [r0, 0xC]
+ lsls r1, 2
+ adds r0, 0x14
+ adds r0, r1
+ ldr r1, [r0]
+ ldr r0, _0801FA50
+ ldr r1, [r1]
+ bl strcpy
+ ldr r2, _0801FA54
+ ldr r0, [r5]
+ ldr r3, [r0, 0x5C]
+ movs r4, 0
+ str r4, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ bl sub_8014FF0
+ ldr r3, [r5]
+ ldr r1, [r3, 0xC]
+ lsls r1, 2
+ adds r0, r3, 0
+ adds r0, 0x14
+ adds r0, r1
+ ldr r0, [r0]
+ ldr r2, [r0, 0x4]
+ ldr r3, [r3, 0x5C]
+ str r4, [sp]
+ movs r0, 0x4
+ movs r1, 0x10
+ bl sub_8014FF0
+ ldr r0, [r5]
+ ldr r0, [r0, 0x5C]
+ bl sub_80073E0
+_0801FA48:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801FA50: .4byte gAvailablePokemonNames
+_0801FA54: .4byte gUnknown_80DC310
+ thumb_func_end sub_801F9A4
+
+ thumb_func_start sub_801FA58
+sub_801FA58:
+ push {r4,lr}
+ ldr r0, _0801FAA4
+ ldr r2, [r0]
+ ldr r1, [r2, 0x10]
+ adds r4, r0, 0
+ cmp r1, 0
+ beq _0801FA7C
+ ldr r0, [r2, 0x24]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _0801FA74
+ bl sub_8013F84
+_0801FA74:
+ ldr r1, [r4]
+ ldr r0, [r1, 0x24]
+ adds r0, 0x1
+ str r0, [r1, 0x24]
+_0801FA7C:
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xC8
+ ldr r1, [r1, 0x5C]
+ bl sub_8012A64
+ cmp r0, 0x1
+ beq _0801FAA8
+ cmp r0, 0x2
+ beq _0801FAC2
+ ldr r0, [r4]
+ adds r0, 0x28
+ bl sub_8013938
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801FACE
+ movs r0, 0
+ b _0801FACA
+ .align 2, 0
+_0801FAA4: .4byte gUnknown_203B278
+_0801FAA8:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ ldr r1, [r4]
+ ldr r0, [r1, 0x10]
+ cmp r0, 0
+ beq _0801FABE
+ movs r0, 0
+ str r0, [r1, 0xC]
+ movs r0, 0x1
+ b _0801FACA
+_0801FABE:
+ movs r0, 0x3
+ b _0801FACA
+_0801FAC2:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+_0801FACA:
+ bl sub_801F918
+_0801FACE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801FA58
+
+ thumb_func_start sub_801FAD4
+sub_801FAD4:
+ push {r4,lr}
+ ldr r0, _0801FB14
+ ldr r3, [r0]
+ ldr r1, [r3, 0x10]
+ subs r1, 0x1
+ ldr r2, [r3, 0xC]
+ adds r4, r0, 0
+ cmp r2, r1
+ bge _0801FAFC
+ ldr r0, [r3, 0x24]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _0801FAF4
+ bl sub_8013F84
+_0801FAF4:
+ ldr r1, [r4]
+ ldr r0, [r1, 0x24]
+ adds r0, 0x1
+ str r0, [r1, 0x24]
+_0801FAFC:
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xC8
+ ldr r1, [r1, 0x5C]
+ bl sub_8012A64
+ cmp r0, 0x1
+ beq _0801FB18
+ cmp r0, 0x2
+ beq _0801FB3C
+ b _0801FB48
+ .align 2, 0
+_0801FB14: .4byte gUnknown_203B278
+_0801FB18:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ ldr r0, [r4]
+ ldr r1, [r0, 0xC]
+ adds r1, 0x1
+ str r1, [r0, 0xC]
+ ldr r0, [r0, 0x10]
+ cmp r1, r0
+ bge _0801FB34
+ movs r0, 0x1
+ bl sub_801F918
+ b _0801FB48
+_0801FB34:
+ movs r0, 0
+ bl sub_801F918
+ b _0801FB48
+_0801FB3C:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ bl sub_801F918
+_0801FB48:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801FAD4
+
+ thumb_func_start sub_801FB50
+sub_801FB50:
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ bl ResetUnusedInputStruct
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r6, _0801FBC0
+ movs r0, 0xF0
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r6]
+ movs r7, 0
+ str r7, [r0, 0x70]
+ str r7, [r0, 0x74]
+ str r7, [r0, 0x78]
+ str r4, [r0]
+ strb r7, [r0, 0x15]
+ ldr r0, _0801FBC4
+ ldr r4, _0801FBC8
+ adds r1, r4, 0
+ bl CopyYellowSpeciesNametoBuffer
+ ldr r5, _0801FBCC
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl CopyYellowSpeciesNametoBuffer
+ adds r0, r4, 0
+ bl GetMonSpecies
+ adds r1, r0, 0
+ adds r0, r5, 0
+ subs r0, 0x50
+ bl strcpy
+ subs r5, 0xF0
+ bl sub_808D33C
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl sub_808DA34
+ ldr r2, [r6]
+ ldr r0, [r2]
+ cmp r0, 0x1
+ bne _0801FBD0
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r0, r2, r1
+ str r7, [r0]
+ b _0801FBDE
+ .align 2, 0
+_0801FBC0: .4byte gUnknown_203B27C
+_0801FBC4: .4byte gUnknown_202E5D8
+_0801FBC8: .4byte 0x00000155
+_0801FBCC: .4byte gUnknown_202E1C8
+_0801FBD0:
+ movs r3, 0xBE
+ lsls r3, 1
+ adds r1, r2, r3
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r0, r2, r4
+ str r0, [r1]
+_0801FBDE:
+ ldr r0, _0801FC34
+ bl GetDialogueSpriteDataPtr
+ ldr r2, _0801FC38
+ ldr r3, [r2]
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r1, r3, r4
+ str r0, [r1]
+ adds r4, 0x4
+ adds r1, r3, r4
+ ldr r0, [r0, 0x4]
+ str r0, [r1]
+ movs r1, 0xBC
+ lsls r1, 1
+ adds r0, r3, r1
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r3, _0801FC3C
+ adds r0, r3
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r4, 0xA
+ adds r0, r4
+ strb r1, [r0]
+ ldr r2, [r2]
+ movs r0, 0xBA
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x2
+ strh r0, [r1]
+ subs r3, 0x3
+ adds r1, r2, r3
+ movs r0, 0x8
+ strh r0, [r1]
+ movs r0, 0
+ bl sub_801FDA8
+ movs r0, 0x1
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801FC34: .4byte 0x00000155
+_0801FC38: .4byte gUnknown_203B27C
+_0801FC3C: .4byte 0x00000179
+ thumb_func_end sub_801FB50
+
+ thumb_func_start sub_801FC40
+sub_801FC40:
+ push {lr}
+ ldr r1, _0801FC5C
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r2, r1, 0
+ cmp r0, 0x22
+ bls _0801FC50
+ b _0801FD70
+_0801FC50:
+ lsls r0, 2
+ ldr r1, _0801FC60
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801FC5C: .4byte gUnknown_203B27C
+_0801FC60: .4byte _0801FC64
+ .align 2, 0
+_0801FC64:
+ .4byte _0801FCF0
+ .4byte _0801FCF0
+ .4byte _0801FCF6
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FCFC
+ .4byte _0801FD02
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD50
+ .4byte _0801FD70
+ .4byte _0801FD08
+ .4byte _0801FD08
+ .4byte _0801FD0E
+ .4byte _0801FD14
+ .4byte _0801FD1A
+ .4byte _0801FD70
+ .4byte _0801FD20
+ .4byte _0801FD20
+ .4byte _0801FD26
+ .4byte _0801FD2C
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD70
+ .4byte _0801FD32
+ .4byte _0801FD38
+ .4byte _0801FD38
+ .4byte _0801FD3E
+ .4byte _0801FD44
+ .4byte _0801FD4A
+_0801FCF0:
+ bl sub_8021154
+ b _0801FD74
+_0801FCF6:
+ bl sub_80209AC
+ b _0801FD74
+_0801FCFC:
+ bl sub_80209FC
+ b _0801FD74
+_0801FD02:
+ bl sub_8020A34
+ b _0801FD74
+_0801FD08:
+ bl sub_8020A80
+ b _0801FD74
+_0801FD0E:
+ bl sub_8020B38
+ b _0801FD74
+_0801FD14:
+ bl sub_8020C2C
+ b _0801FD74
+_0801FD1A:
+ bl sub_8020C48
+ b _0801FD74
+_0801FD20:
+ bl sub_8020C64
+ b _0801FD74
+_0801FD26:
+ bl sub_8020CC0
+ b _0801FD74
+_0801FD2C:
+ bl sub_8020D74
+ b _0801FD74
+_0801FD32:
+ bl sub_8020D90
+ b _0801FD74
+_0801FD38:
+ bl sub_8020DCC
+ b _0801FD74
+_0801FD3E:
+ bl sub_8020EB4
+ b _0801FD74
+_0801FD44:
+ bl sub_80210C8
+ b _0801FD74
+_0801FD4A:
+ bl sub_80210E4
+ b _0801FD74
+_0801FD50:
+ ldr r0, [r2]
+ ldrb r0, [r0, 0x15]
+ cmp r0, 0x1
+ bne _0801FD68
+ ldr r0, _0801FD6C
+ ldr r1, [r0]
+ movs r0, 0x98
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ subs r0, 0x96
+ str r0, [r1]
+_0801FD68:
+ movs r0, 0x3
+ b _0801FD76
+ .align 2, 0
+_0801FD6C: .4byte gUnknown_203B460
+_0801FD70:
+ bl sub_8021130
+_0801FD74:
+ movs r0, 0
+_0801FD76:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801FC40
+
+ thumb_func_start sub_801FD7C
+sub_801FD7C:
+ push {r4,lr}
+ ldr r4, _0801FDA4
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0801FD9C
+ movs r1, 0xB6
+ lsls r1, 1
+ adds r0, r1
+ ldr r0, [r0]
+ bl CloseFile
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801FD9C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801FDA4: .4byte gUnknown_203B27C
+ thumb_func_end sub_801FD7C
+
+ thumb_func_start sub_801FDA8
+sub_801FDA8:
+ push {lr}
+ ldr r1, _0801FDBC
+ ldr r1, [r1]
+ str r0, [r1, 0x4]
+ bl sub_801FDC0
+ bl sub_801FF28
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801FDBC: .4byte gUnknown_203B27C
+ thumb_func_end sub_801FDA8
+
+ thumb_func_start sub_801FDC0
+sub_801FDC0:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _0801FDE8
+ ldr r0, [r4]
+ movs r5, 0xC0
+ lsls r5, 1
+ adds r0, r5
+ bl sub_8006518
+ ldr r0, [r4]
+ ldr r1, [r0, 0x4]
+ cmp r1, 0x11
+ beq _0801FE38
+ cmp r1, 0x11
+ bgt _0801FDEC
+ cmp r1, 0x2
+ beq _0801FDF6
+ b _0801FED4
+ .align 2, 0
+_0801FDE8: .4byte gUnknown_203B27C
+_0801FDEC:
+ cmp r1, 0x17
+ beq _0801FE6C
+ cmp r1, 0x20
+ beq _0801FE88
+ b _0801FED4
+_0801FDF6:
+ adds r0, r5
+ movs r1, 0x80
+ strb r1, [r0]
+ ldr r0, [r4]
+ movs r2, 0xCC
+ lsls r2, 1
+ adds r0, r2
+ strb r1, [r0]
+ ldr r0, [r4]
+ movs r3, 0xD8
+ lsls r3, 1
+ adds r0, r3
+ strb r1, [r0]
+ ldr r1, [r4]
+ movs r6, 0xE4
+ lsls r6, 1
+ adds r1, r6
+ ldr r0, _0801FE34
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r2,r6,r7}
+ stm r1!, {r2,r6,r7}
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, r5
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_800641C
+ b _0801FF14
+ .align 2, 0
+_0801FE34: .4byte gUnknown_80DC37C
+_0801FE38:
+ bl sub_80205D0
+ ldr r2, [r4]
+ movs r0, 0xD8
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _0801FE68
+ 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, 0x7C
+ bl sub_8012CAC
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ movs r6, 0xC0
+ lsls r6, 1
+ adds r0, r6
+ b _0801FEC2
+ .align 2, 0
+_0801FE68: .4byte gUnknown_80DC334
+_0801FE6C:
+ bl sub_802069C
+ ldr r2, [r4]
+ movs r0, 0xD8
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _0801FE84
+ ldm r1!, {r3,r6,r7}
+ stm r2!, {r3,r6,r7}
+ ldm r1!, {r3,r6,r7}
+ stm r2!, {r3,r6,r7}
+ b _0801FEB0
+ .align 2, 0
+_0801FE84: .4byte gUnknown_80DC334
+_0801FE88:
+ bl CreateGulpinLinkMenu
+ ldr r1, [r4]
+ movs r7, 0xCC
+ lsls r7, 1
+ adds r1, r7
+ ldr r0, _0801FECC
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldr r2, [r4]
+ movs r0, 0xD8
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _0801FED0
+ ldm r1!, {r3,r6,r7}
+ stm r2!, {r3,r6,r7}
+ ldm r1!, {r3,r6,r7}
+ stm r2!, {r3,r6,r7}
+_0801FEB0:
+ ldr r1, [r4]
+ adds r0, r1, r0
+ adds r1, 0x7C
+ bl sub_8012CAC
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, r5
+_0801FEC2:
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ b _0801FF14
+ .align 2, 0
+_0801FECC: .4byte gUnknown_80DC31C
+_0801FED0: .4byte gUnknown_80DC34C
+_0801FED4:
+ ldr r5, _0801FF20
+ mov r12, r5
+ movs r6, 0xC0
+ lsls r6, 1
+ mov r8, r6
+ ldr r4, _0801FF24
+ movs r3, 0
+ movs r2, 0x3
+_0801FEE4:
+ mov r7, r12
+ ldr r1, [r7]
+ 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 _0801FEE4
+ bl ResetUnusedInputStruct
+ ldr r0, _0801FF20
+ ldr r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+_0801FF14:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801FF20: .4byte gUnknown_203B27C
+_0801FF24: .4byte gUnknown_80DC31C
+ thumb_func_end sub_801FDC0
+
+ thumb_func_start sub_801FF28
+sub_801FF28:
+ push {r4,r5,lr}
+ sub sp, 0x14
+ ldr r1, _0801FF44
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r5, r1, 0
+ cmp r0, 0x23
+ bls _0801FF3A
+ b _08020562
+_0801FF3A:
+ lsls r0, 2
+ ldr r1, _0801FF48
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801FF44: .4byte gUnknown_203B27C
+_0801FF48: .4byte _0801FF4C
+ .align 2, 0
+_0801FF4C:
+ .4byte _0801FFDC
+ .4byte _08020018
+ .4byte _08020064
+ .4byte _0802006C
+ .4byte _08020090
+ .4byte _080200B4
+ .4byte _080200D8
+ .4byte _080200FC
+ .4byte _08020144
+ .4byte _0802018C
+ .4byte _080201B0
+ .4byte _080201D4
+ .4byte _080201F8
+ .4byte _08020562
+ .4byte _0802021C
+ .4byte _08020240
+ .4byte _0802024E
+ .4byte _08020256
+ .4byte _08020274
+ .4byte _08020282
+ .4byte _0802028E
+ .4byte _080202B0
+ .4byte _080202BE
+ .4byte _080202C6
+ .4byte _080202E4
+ .4byte _08020304
+ .4byte _08020344
+ .4byte _080203B0
+ .4byte _080203D4
+ .4byte _0802038C
+ .4byte _080203F8
+ .4byte _08020428
+ .4byte _08020434
+ .4byte _08020460
+ .4byte _08020478
+ .4byte _08020500
+_0801FFDC:
+ ldr r0, [r5]
+ movs r4, 0x2
+ str r4, [r0, 0x6C]
+ bl CreateGulpinShopMenu
+ ldr r5, [r5]
+ str r4, [r5, 0x8]
+ ldr r2, _08020014
+ ldr r1, [r5]
+ movs r0, 0x64
+ muls r0, r1
+ adds r0, r2
+ ldr r0, [r0]
+ ldr r2, [r5, 0x6C]
+ adds r3, r5, 0
+ adds r3, 0x7C
+ adds r1, r5, 0
+ adds r1, 0xBC
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r1, r5, r4
+ b _0802004C
+ .align 2, 0
+_08020014: .4byte gGulpinDialogue
+_08020018:
+ bl CreateGulpinShopMenu
+ ldr r0, _0802005C
+ ldr r4, [r0]
+ movs r0, 0x2
+ str r0, [r4, 0x8]
+ ldr r1, _08020060
+ ldr r2, [r4]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x4
+ adds r0, r1
+ ldr r0, [r0]
+ ldr r2, [r4, 0x6C]
+ adds r3, r4, 0
+ adds r3, 0x7C
+ adds r1, r4, 0
+ adds r1, 0xBC
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r5, 0xBE
+ lsls r5, 1
+ adds r1, r4, r5
+_0802004C:
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ bl sub_8014248
+ b _08020562
+ .align 2, 0
+_0802005C: .4byte gUnknown_203B27C
+_08020060: .4byte gGulpinDialogue
+_08020064:
+ movs r0, 0x3
+ bl sub_8016C40
+ b _08020562
+_0802006C:
+ ldr r2, [r5]
+ movs r0, 0x1F
+ str r0, [r2, 0x8]
+ ldr r1, _0802008C
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x8
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r2, r1
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_0802008C: .4byte gGulpinDialogue
+_08020090:
+ ldr r2, [r5]
+ movs r0, 0x1F
+ str r0, [r2, 0x8]
+ ldr r1, _080200B0
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0xC
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r2, r4
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080200B0: .4byte gGulpinDialogue
+_080200B4:
+ ldr r2, [r5]
+ movs r0, 0x1F
+ str r0, [r2, 0x8]
+ ldr r1, _080200D4
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x10
+ adds r0, r1
+ ldr r0, [r0]
+ movs r5, 0xBE
+ lsls r5, 1
+ adds r2, r5
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080200D4: .4byte gGulpinDialogue
+_080200D8:
+ ldr r2, [r5]
+ movs r0, 0x1F
+ str r0, [r2, 0x8]
+ ldr r1, _080200F8
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x14
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r2, r1
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080200F8: .4byte gGulpinDialogue
+_080200FC:
+ bl sub_8020900
+ ldr r1, _0802013C
+ ldr r0, _08020140
+ ldr r4, [r0]
+ ldr r2, [r4]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x18
+ adds r0, r1
+ ldr r0, [r0]
+ adds r3, r4, 0
+ adds r3, 0x7C
+ adds r1, r4, 0
+ adds r1, 0xBC
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r2, 0xBE
+ lsls r2, 1
+ adds r1, r4, r2
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x10
+ bl sub_8014248
+ b _08020562
+ .align 2, 0
+_0802013C: .4byte gGulpinDialogue
+_08020140: .4byte gUnknown_203B27C
+_08020144:
+ bl sub_8020950
+ ldr r1, _08020184
+ ldr r0, _08020188
+ ldr r4, [r0]
+ ldr r2, [r4]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x54
+ adds r0, r1
+ ldr r0, [r0]
+ adds r3, r4, 0
+ adds r3, 0x7C
+ adds r1, r4, 0
+ adds r1, 0xBC
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r5, 0xBE
+ lsls r5, 1
+ adds r1, r4, r5
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0xD
+ bl sub_8014248
+ b _08020562
+ .align 2, 0
+_08020184: .4byte gGulpinDialogue
+_08020188: .4byte gUnknown_203B27C
+_0802018C:
+ ldr r2, [r5]
+ movs r0, 0x1
+ str r0, [r2, 0x8]
+ ldr r1, _080201AC
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x58
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r2, r1
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080201AC: .4byte gGulpinDialogue
+_080201B0:
+ ldr r2, [r5]
+ movs r0, 0x1
+ str r0, [r2, 0x8]
+ ldr r1, _080201D0
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x5C
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r2, r4
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080201D0: .4byte gGulpinDialogue
+_080201D4:
+ ldr r2, [r5]
+ movs r0, 0x1
+ str r0, [r2, 0x8]
+ ldr r1, _080201F4
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x60
+ adds r0, r1
+ ldr r0, [r0]
+ movs r5, 0xBE
+ lsls r5, 1
+ adds r2, r5
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080201F4: .4byte gGulpinDialogue
+_080201F8:
+ ldr r2, [r5]
+ movs r0, 0xD
+ str r0, [r2, 0x8]
+ ldr r1, _08020218
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r2, r1
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_08020218: .4byte gGulpinDialogue
+_0802021C:
+ ldr r2, [r5]
+ movs r0, 0xF
+ str r0, [r2, 0x8]
+ ldr r1, _0802023C
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x20
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r2, r4
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_0802023C: .4byte gGulpinDialogue
+_08020240:
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_8023868
+ b _08020562
+_0802024E:
+ movs r0, 0x1
+ bl sub_8023B7C
+ b _08020562
+_08020256:
+ bl sub_8023DA4
+ ldr r0, _08020270
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0xCC
+ adds r1, r2, 0
+ adds r1, 0x7C
+ adds r3, r2, 0
+ adds r3, 0xBC
+ ldr r2, [r2, 0x70]
+ b _0802044C
+ .align 2, 0
+_08020270: .4byte gUnknown_203B27C
+_08020274:
+ ldr r0, [r5]
+ movs r5, 0xC
+ ldrsh r0, [r0, r5]
+ movs r1, 0x2
+ bl sub_8024458
+ b _08020562
+_08020282:
+ ldr r0, [r5]
+ movs r1, 0xC
+ ldrsh r0, [r0, r1]
+ bl sub_801BEEC
+ b _08020562
+_0802028E:
+ ldr r2, [r5]
+ movs r0, 0x15
+ str r0, [r2, 0x8]
+ ldr r1, _080202AC
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x24
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r2, r4
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080202AC: .4byte gGulpinDialogue
+_080202B0:
+ ldr r0, [r5]
+ movs r5, 0xC
+ ldrsh r0, [r0, r5]
+ movs r1, 0
+ bl sub_801F428
+ b _08020562
+_080202BE:
+ movs r0, 0x1
+ bl sub_801F5F0
+ b _08020562
+_080202C6:
+ bl sub_801F700
+ ldr r0, _080202E0
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0xCC
+ adds r1, r2, 0
+ adds r1, 0x7C
+ adds r3, r2, 0
+ adds r3, 0xBC
+ ldr r2, [r2, 0x74]
+ b _0802044C
+ .align 2, 0
+_080202E0: .4byte gUnknown_203B27C
+_080202E4:
+ ldr r0, [r5]
+ ldrh r1, [r0, 0x1C]
+ adds r0, 0x64
+ strh r1, [r0]
+ movs r2, 0x1
+ adds r4, r5, 0
+ movs r3, 0
+_080202F2:
+ ldr r0, [r4]
+ lsls r1, r2, 1
+ adds r0, 0x64
+ adds r0, r1
+ strh r3, [r0]
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _080202F2
+ b _0802046E
+_08020304:
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x10]
+ adds r1, 0x2C
+ bl sub_8094060
+ ldr r1, [r5]
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ ldr r0, _0802033C
+ ldrh r1, [r1, 0x1E]
+ bl sub_8092C84
+ ldr r1, _08020340
+ ldr r2, [r5]
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x28
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r2, r1
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_0802033C: .4byte gAvailablePokemonNames
+_08020340: .4byte gGulpinDialogue
+_08020344:
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x10]
+ adds r1, 0x2C
+ bl sub_8094060
+ ldr r3, [r5]
+ movs r0, 0x10
+ str r0, [r3, 0x8]
+ ldrb r0, [r3, 0x14]
+ cmp r0, 0
+ beq _08020370
+ ldr r1, _0802036C
+ ldr r2, [r3]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x38
+ b _08020520
+ .align 2, 0
+_0802036C: .4byte gGulpinDialogue
+_08020370:
+ ldr r1, _08020388
+ ldr r2, [r3]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x34
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r1, r3, r4
+ b _0802052A
+ .align 2, 0
+_08020388: .4byte gGulpinDialogue
+_0802038C:
+ ldr r2, [r5]
+ ldr r0, [r2]
+ cmp r0, 0
+ bne _080203A2
+ movs r5, 0xC
+ ldrsh r1, [r2, r5]
+ adds r2, 0x24
+ movs r0, 0
+ bl DisplayGulpinDialogueSprite
+ b _08020562
+_080203A2:
+ movs r0, 0xC
+ ldrsh r1, [r2, r0]
+ adds r2, 0x24
+ movs r0, 0x1
+ bl DisplayGulpinDialogueSprite
+ b _08020562
+_080203B0:
+ ldr r2, [r5]
+ movs r0, 0x10
+ str r0, [r2, 0x8]
+ ldr r1, _080203D0
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x3C
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0xBE
+ lsls r1, 1
+ adds r2, r1
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080203D0: .4byte gGulpinDialogue
+_080203D4:
+ ldr r2, [r5]
+ movs r0, 0x10
+ str r0, [r2, 0x8]
+ ldr r1, _080203F4
+ ldr r3, [r2]
+ movs r0, 0x64
+ muls r0, r3
+ adds r1, 0x40
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r2, r4
+ ldr r2, [r2]
+ b _0802052C
+ .align 2, 0
+_080203F4: .4byte gGulpinDialogue
+_080203F8:
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x10]
+ adds r1, 0x2C
+ bl sub_809401C
+ ldr r0, [r5]
+ movs r5, 0xC
+ ldrsh r1, [r0, r5]
+ adds r2, r0, 0
+ adds r2, 0x24
+ ldrb r3, [r0, 0x15]
+ ldr r0, _08020424
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ bl sub_801EE10
+ b _08020562
+ .align 2, 0
+_08020424: .4byte gUnknown_80DC394
+_08020428:
+ ldr r0, [r5]
+ ldrb r1, [r0, 0x15]
+ movs r0, 0x1
+ bl sub_801F1B0
+ b _08020562
+_08020434:
+ movs r0, 0
+ bl sub_801F280
+ ldr r0, _0802045C
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0xCC
+ adds r1, r2, 0
+ adds r1, 0x7C
+ adds r3, r2, 0
+ adds r3, 0xBC
+ ldr r2, [r2, 0x78]
+_0802044C:
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _08020562
+ .align 2, 0
+_0802045C: .4byte gUnknown_203B27C
+_08020460:
+ ldr r2, [r5]
+ ldr r0, [r2, 0x18]
+ adds r1, r2, 0
+ adds r1, 0x24
+ adds r2, 0x64
+ bl sub_8093560
+_0802046E:
+ ldr r0, [r5]
+ adds r0, 0x64
+ bl sub_801F808
+ b _08020562
+_08020478:
+ bl sub_80208B0
+ ldr r0, _080204B8
+ ldr r4, _080204BC
+ ldr r1, [r4]
+ ldrh r1, [r1, 0x20]
+ bl sub_8092C84
+ ldr r4, [r4]
+ ldrb r5, [r4, 0x14]
+ cmp r5, 0
+ beq _080204C4
+ ldr r1, _080204C0
+ ldr r2, [r4]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x48
+ adds r0, r1
+ ldr r0, [r0]
+ adds r3, r4, 0
+ adds r3, 0x7C
+ adds r1, r4, 0
+ adds r1, 0xBC
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r2, 0xBE
+ lsls r2, 1
+ adds r1, r4, r2
+ b _080204E8
+ .align 2, 0
+_080204B8: .4byte gUnknown_202DFE8
+_080204BC: .4byte gUnknown_203B27C
+_080204C0: .4byte gGulpinDialogue
+_080204C4:
+ ldr r1, _080204FC
+ ldr r2, [r4]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x44
+ adds r0, r1
+ ldr r0, [r0]
+ adds r3, r4, 0
+ adds r3, 0x7C
+ adds r1, r4, 0
+ adds r1, 0xBC
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r5, 0xBE
+ lsls r5, 1
+ adds r1, r4, r5
+_080204E8:
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x11
+ bl sub_8014248
+ b _08020562
+ .align 2, 0
+_080204FC: .4byte gGulpinDialogue
+_08020500:
+ ldr r1, [r5]
+ movs r0, 0x1F
+ str r0, [r1, 0x8]
+ ldr r0, _08020538
+ ldrh r1, [r1, 0x20]
+ bl sub_8092C84
+ ldr r3, [r5]
+ ldrb r0, [r3, 0x14]
+ cmp r0, 0
+ beq _08020544
+ ldr r1, _0802053C
+ ldr r2, [r3]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x50
+_08020520:
+ adds r0, r1
+ ldr r0, [r0]
+ movs r2, 0xBE
+ lsls r2, 1
+ adds r1, r3, r2
+_0802052A:
+ ldr r2, [r1]
+_0802052C:
+ ldr r3, _08020540
+ movs r1, 0
+ bl sub_80141B4
+ b _08020562
+ .align 2, 0
+_08020538: .4byte gUnknown_202DFE8
+_0802053C: .4byte gGulpinDialogue
+_08020540: .4byte 0x0000010d
+_08020544:
+ ldr r1, _0802056C
+ ldr r2, [r3]
+ movs r0, 0x64
+ muls r0, r2
+ adds r1, 0x4C
+ adds r0, r1
+ ldr r0, [r0]
+ movs r4, 0xBE
+ lsls r4, 1
+ adds r1, r3, r4
+ ldr r2, [r1]
+ ldr r3, _08020570
+ movs r1, 0
+ bl sub_80141B4
+_08020562:
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802056C: .4byte gGulpinDialogue
+_08020570: .4byte 0x0000010d
+ thumb_func_end sub_801FF28
+
+ thumb_func_start CreateGulpinShopMenu
+CreateGulpinShopMenu:
+ push {r4,lr}
+ ldr r4, _080205C0
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r4, [r4]
+ movs r3, 0
+ ldr r0, _080205C4
+ str r0, [r4, 0x7C]
+ adds r1, r4, 0
+ adds r1, 0x80
+ movs r0, 0x2
+ str r0, [r1]
+ movs r2, 0x1
+ adds r1, 0x4
+ ldr r0, _080205C8
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xB
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, _080205CC
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x90
+ str r2, [r0]
+ adds r0, 0x4
+ str r3, [r0]
+ adds r0, 0x4
+ str r2, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080205C0: .4byte gUnknown_203B27C
+_080205C4: .4byte gGulpinProceed
+_080205C8: .4byte gGulpinInfo
+_080205CC: .4byte gUnknown_80D4934
+ thumb_func_end CreateGulpinShopMenu
+
+ thumb_func_start sub_80205D0
+sub_80205D0:
+ push {r4-r7,lr}
+ ldr r4, _08020660
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r0, [r4]
+ mov r12, r0
+ movs r5, 0
+ ldr r0, _08020664
+ mov r1, r12
+ str r0, [r1, 0x7C]
+ mov r2, r12
+ adds r2, 0x80
+ movs r0, 0x4
+ str r0, [r2]
+ movs r3, 0x1
+ adds r1, 0x84
+ ldr r0, _08020668
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xB
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, _0802066C
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xC
+ str r0, [r1]
+ movs r6, 0x3
+ adds r1, 0x4
+ ldr r0, _08020670
+ str r0, [r1]
+ mov r0, r12
+ adds r0, 0x98
+ str r6, [r0]
+ movs r6, 0x4
+ adds r0, 0x4
+ str r5, [r0]
+ adds r0, 0x4
+ str r3, [r0]
+ mov r3, r12
+ adds r3, 0xBC
+_0802062A:
+ ldrh r0, [r3]
+ cmp r0, 0
+ bne _0802063A
+ ldr r1, [r2]
+ mov r7, r12
+ ldr r0, [r7, 0x70]
+ cmp r1, r0
+ beq _08020696
+_0802063A:
+ adds r2, 0x8
+ adds r3, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _0802062A
+ movs r5, 0
+ cmp r5, r6
+ bge _08020696
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xBC
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08020674
+ adds r0, r1, 0
+ adds r0, 0x80
+ ldr r0, [r0]
+ str r0, [r1, 0x70]
+ b _08020696
+ .align 2, 0
+_08020660: .4byte gUnknown_203B27C
+_08020664: .4byte gUnknown_80DC3D8
+_08020668: .4byte gUnknown_80DC3E0
+_0802066C: .4byte gUnknown_80DC3E8
+_08020670: .4byte gUnknown_80DC3F4
+_08020674:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _08020696
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0xBC
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08020674
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x80
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x70]
+_08020696:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80205D0
+
+ thumb_func_start sub_802069C
+sub_802069C:
+ push {r4-r7,lr}
+ ldr r4, _08020718
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r0, [r4]
+ mov r12, r0
+ movs r5, 0
+ ldr r0, _0802071C
+ mov r1, r12
+ str r0, [r1, 0x7C]
+ mov r3, r12
+ adds r3, 0x80
+ movs r0, 0x3
+ str r0, [r3]
+ movs r2, 0x1
+ adds r1, 0x84
+ ldr r0, _08020720
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xB
+ str r0, [r1]
+ movs r6, 0x2
+ mov r0, r12
+ adds r0, 0x8C
+ str r5, [r0]
+ adds r0, 0x4
+ str r2, [r0]
+ mov r2, r12
+ adds r2, 0xBC
+_080206E0:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _080206F0
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x74]
+ cmp r1, r0
+ beq _08020746
+_080206F0:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _080206E0
+ movs r5, 0
+ cmp r5, r6
+ bge _08020746
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xBC
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08020724
+ adds r0, r1, 0
+ adds r0, 0x80
+ ldr r0, [r0]
+ str r0, [r1, 0x74]
+ b _08020746
+ .align 2, 0
+_08020718: .4byte gUnknown_203B27C
+_0802071C: .4byte gUnknown_80DC3F4
+_08020720: .4byte gUnknown_80D4970
+_08020724:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _08020746
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0xBC
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08020724
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x80
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x74]
+_08020746:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802069C
+
+ thumb_func_start CreateGulpinLinkMenu
+CreateGulpinLinkMenu:
+ push {r4-r7,lr}
+ movs r7, 0
+ ldr r4, _08020780
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x16]
+ cmp r0, 0
+ beq _0802079C
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_80932E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020788
+ ldr r0, [r4]
+ ldr r1, _08020784
+ str r1, [r0, 0x7C]
+ adds r0, 0x80
+ movs r1, 0x6
+ b _08020792
+ .align 2, 0
+_08020780: .4byte gUnknown_203B27C
+_08020784: .4byte gGulpinDeselect
+_08020788:
+ ldr r0, [r4]
+ ldr r1, _08020798
+ str r1, [r0, 0x7C]
+ adds r0, 0x80
+ movs r1, 0x5
+_08020792:
+ str r1, [r0]
+ mov r12, r4
+ b _080207CA
+ .align 2, 0
+_08020798: .4byte gGulpinSet
+_0802079C:
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_80932FC
+ lsls r0, 24
+ cmp r0, 0
+ beq _080207B4
+ ldr r1, [r4]
+ ldr r0, _080207B0
+ b _080207B8
+ .align 2, 0
+_080207B0: .4byte gGulpinDeselect
+_080207B4:
+ ldr r1, [r4]
+ ldr r0, _0802086C
+_080207B8:
+ str r0, [r1, 0x7C]
+ ldr r2, _08020870
+ ldr r0, [r2]
+ lsls r1, r7, 3
+ adds r0, 0x80
+ adds r0, r1
+ movs r1, 0x7
+ str r1, [r0]
+ mov r12, r2
+_080207CA:
+ adds r7, 0x1
+ mov r0, r12
+ ldr r4, [r0]
+ lsls r1, r7, 3
+ adds r3, r4, 0
+ adds r3, 0x7C
+ adds r2, r3, r1
+ ldr r0, _08020874
+ str r0, [r2]
+ adds r6, r4, 0
+ adds r6, 0x80
+ adds r1, r6, r1
+ movs r0, 0x8
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r2, r3, r1
+ ldr r0, _08020878
+ str r0, [r2]
+ adds r1, r6, r1
+ movs r0, 0x9
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r2, r3, r1
+ ldr r0, _0802087C
+ str r0, [r2]
+ adds r1, r6, r1
+ movs r0, 0xA
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r2, r3, r1
+ ldr r0, _08020880
+ ldr r0, [r0]
+ str r0, [r2]
+ adds r1, r6, r1
+ movs r0, 0xB
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r3, r1
+ movs r0, 0
+ str r0, [r3]
+ adds r1, r6, r1
+ movs r0, 0x1
+ str r0, [r1]
+ movs r3, 0
+ cmp r3, r7
+ bge _0802084C
+ adds r5, r4, 0
+ adds r4, 0xBC
+ adds r2, r6, 0
+_08020834:
+ ldrh r0, [r4]
+ cmp r0, 0
+ bne _08020842
+ ldr r1, [r2]
+ ldr r0, [r5, 0x78]
+ cmp r1, r0
+ beq _080208A8
+_08020842:
+ adds r4, 0x2
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, r7
+ blt _08020834
+_0802084C:
+ movs r3, 0
+ cmp r3, r7
+ bge _080208A8
+ mov r0, r12
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0xBC
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08020884
+ adds r0, r1, 0
+ adds r0, 0x80
+ ldr r0, [r0]
+ str r0, [r1, 0x78]
+ b _080208A8
+ .align 2, 0
+_0802086C: .4byte gGulpinSet
+_08020870: .4byte gUnknown_203B27C
+_08020874: .4byte gGulpinLink
+_08020878: .4byte gGulpinDelink
+_0802087C: .4byte gGulpinForget
+_08020880: .4byte gUnknown_80D4970
+_08020884:
+ adds r3, 0x1
+ cmp r3, r7
+ bge _080208A8
+ mov r0, r12
+ ldr r2, [r0]
+ lsls r0, r3, 1
+ adds r1, r2, 0
+ adds r1, 0xBC
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08020884
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0x80
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x78]
+_080208A8:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end CreateGulpinLinkMenu
+
+ thumb_func_start sub_80208B0
+sub_80208B0:
+ push {r4,lr}
+ ldr r4, _080208F4
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r4, [r4]
+ movs r3, 0
+ ldr r0, _080208F8
+ ldr r0, [r0]
+ str r0, [r4, 0x7C]
+ adds r1, r4, 0
+ adds r1, 0x80
+ movs r0, 0x10
+ str r0, [r1]
+ movs r2, 0x1
+ adds r1, 0x4
+ ldr r0, _080208FC
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x11
+ str r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x8C
+ str r3, [r0]
+ adds r0, 0x4
+ str r2, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080208F4: .4byte gUnknown_203B27C
+_080208F8: .4byte gUnknown_80D4920
+_080208FC: .4byte gUnknown_80D4928
+ thumb_func_end sub_80208B0
+
+ thumb_func_start sub_8020900
+sub_8020900:
+ push {r4,lr}
+ ldr r4, _08020944
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08020948
+ ldr r0, [r0]
+ str r0, [r3, 0x7C]
+ adds r1, r3, 0
+ adds r1, 0x80
+ movs r0, 0x10
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, _0802094C
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x11
+ str r0, [r1]
+ adds r0, r3, 0
+ adds r0, 0x8C
+ str r2, [r0]
+ adds r1, 0x8
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08020944: .4byte gUnknown_203B27C
+_08020948: .4byte gUnknown_80D4920
+_0802094C: .4byte gUnknown_80D4928
+ thumb_func_end sub_8020900
+
+ thumb_func_start sub_8020950
+sub_8020950:
+ push {r4,lr}
+ ldr r4, _0802099C
+ ldr r0, [r4]
+ adds r0, 0xBC
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r4, [r4]
+ movs r3, 0
+ ldr r0, _080209A0
+ str r0, [r4, 0x7C]
+ adds r1, r4, 0
+ adds r1, 0x80
+ movs r0, 0xD
+ str r0, [r1]
+ movs r2, 0x1
+ adds r1, 0x4
+ ldr r0, _080209A4
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xE
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, _080209A8
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xF
+ str r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0x94
+ str r3, [r0]
+ adds r0, 0x4
+ str r2, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802099C: .4byte gUnknown_203B27C
+_080209A0: .4byte gUnknown_80DC428
+_080209A4: .4byte gUnknown_80DC438
+_080209A8: .4byte gUnknown_80DC448
+ thumb_func_end sub_8020950
+
+ thumb_func_start sub_80209AC
+sub_80209AC:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _080209F4
+ ldr r0, _080209D4
+ ldr r1, [r0]
+ ldr r0, [sp]
+ str r0, [r1, 0x6C]
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _080209DE
+ cmp r0, 0x2
+ bgt _080209D8
+ cmp r0, 0x1
+ beq _080209EE
+ b _080209F4
+ .align 2, 0
+_080209D4: .4byte gUnknown_203B27C
+_080209D8:
+ cmp r0, 0xB
+ beq _080209E6
+ b _080209F4
+_080209DE:
+ movs r0, 0xE
+ bl sub_801FDA8
+ b _080209F4
+_080209E6:
+ movs r0, 0x8
+ bl sub_801FDA8
+ b _080209F4
+_080209EE:
+ movs r0, 0xC
+ bl sub_801FDA8
+_080209F4:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80209AC
+
+ thumb_func_start sub_80209FC
+sub_80209FC:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08020A2E
+ ldr r0, [sp]
+ cmp r0, 0x10
+ beq _08020A20
+ cmp r0, 0x10
+ bgt _08020A1A
+ cmp r0, 0x1
+ beq _08020A28
+ b _08020A2E
+_08020A1A:
+ cmp r0, 0x11
+ beq _08020A28
+ b _08020A2E
+_08020A20:
+ movs r0, 0xE
+ bl sub_801FDA8
+ b _08020A2E
+_08020A28:
+ movs r0, 0xC
+ bl sub_801FDA8
+_08020A2E:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80209FC
+
+ thumb_func_start sub_8020A34
+sub_8020A34:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08020A7A
+ ldr r0, [sp]
+ cmp r0, 0xD
+ beq _08020A5C
+ cmp r0, 0xD
+ bgt _08020A52
+ cmp r0, 0x1
+ beq _08020A74
+ b _08020A7A
+_08020A52:
+ cmp r0, 0xE
+ beq _08020A64
+ cmp r0, 0xF
+ beq _08020A6C
+ b _08020A7A
+_08020A5C:
+ movs r0, 0x9
+ bl sub_801FDA8
+ b _08020A7A
+_08020A64:
+ movs r0, 0xA
+ bl sub_801FDA8
+ b _08020A7A
+_08020A6C:
+ movs r0, 0xB
+ bl sub_801FDA8
+ b _08020A7A
+_08020A74:
+ movs r0, 0x1
+ bl sub_801FDA8
+_08020A7A:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020A34
+
+ thumb_func_start sub_8020A80
+sub_8020A80:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_8023A94
+ cmp r0, 0x4
+ bhi _08020B32
+ lsls r0, 2
+ ldr r1, _08020A98
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08020A98: .4byte _08020A9C
+ .align 2, 0
+_08020A9C:
+ .4byte _08020B32
+ .4byte _08020B32
+ .4byte _08020B28
+ .4byte _08020AB0
+ .4byte _08020AEC
+_08020AB0:
+ bl sub_8023B44
+ ldr r4, _08020AE0
+ ldr r1, [r4]
+ strh r0, [r1, 0xC]
+ ldr r3, _08020AE4
+ movs r0, 0xC
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x10]
+ ldrb r0, [r0, 0x2]
+ strb r0, [r1, 0x16]
+ ldr r0, _08020AE8
+ ldr r1, [r4]
+ ldr r1, [r1, 0x10]
+ bl sub_808DA34
+ movs r0, 0x11
+ bl sub_801FDA8
+ b _08020B32
+ .align 2, 0
+_08020AE0: .4byte gUnknown_203B27C
+_08020AE4: .4byte gRecruitedPokemonRef
+_08020AE8: .4byte gUnknown_202E128
+_08020AEC:
+ bl sub_8023B44
+ ldr r4, _08020B1C
+ ldr r1, [r4]
+ strh r0, [r1, 0xC]
+ ldr r3, _08020B20
+ movs r0, 0xC
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x10]
+ ldrb r0, [r0, 0x2]
+ strb r0, [r1, 0x16]
+ ldr r0, _08020B24
+ ldr r1, [r4]
+ ldr r1, [r1, 0x10]
+ bl sub_808DA34
+ movs r0, 0x12
+ bl sub_801FDA8
+ b _08020B32
+ .align 2, 0
+_08020B1C: .4byte gUnknown_203B27C
+_08020B20: .4byte gRecruitedPokemonRef
+_08020B24: .4byte gUnknown_202E128
+_08020B28:
+ bl sub_8023C60
+ movs r0, 0x7
+ bl sub_801FDA8
+_08020B32:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020A80
+
+ thumb_func_start sub_8020B38
+sub_8020B38:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_8023A94
+ ldr r4, _08020B7C
+ ldr r0, [r4]
+ adds r0, 0xCC
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08020B68
+ ldr r0, [r4]
+ adds r0, 0xCC
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08020B68
+ ldr r0, [r4]
+ str r1, [r0, 0x70]
+_08020B68:
+ ldr r0, [sp]
+ subs r0, 0x1
+ cmp r0, 0x10
+ bhi _08020C24
+ lsls r0, 2
+ ldr r1, _08020B80
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08020B7C: .4byte gUnknown_203B27C
+_08020B80: .4byte _08020B84
+ .align 2, 0
+_08020B84:
+ .4byte _08020BC8
+ .4byte _08020C24
+ .4byte _08020BD0
+ .4byte _08020C0E
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C16
+ .4byte _08020C1E
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020C24
+ .4byte _08020BC8
+_08020BC8:
+ movs r0, 0x10
+ bl sub_801FDA8
+ b _08020C24
+_08020BD0:
+ ldr r0, _08020BF0
+ ldr r0, [r0]
+ ldr r0, [r0, 0x10]
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ bl sub_808E858
+ lsls r0, 16
+ movs r1, 0xCF
+ lsls r1, 17
+ cmp r0, r1
+ bne _08020BF4
+ movs r0, 0x1C
+ bl sub_801FDA8
+ b _08020C24
+ .align 2, 0
+_08020BF0: .4byte gUnknown_203B27C
+_08020BF4:
+ bl sub_8021178
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020C06
+ movs r0, 0x1B
+ bl sub_801FDA8
+ b _08020C24
+_08020C06:
+ movs r0, 0x14
+ bl sub_801FDA8
+ b _08020C24
+_08020C0E:
+ movs r0, 0x1E
+ bl sub_801FDA8
+ b _08020C24
+_08020C16:
+ movs r0, 0x12
+ bl sub_801FDA8
+ b _08020C24
+_08020C1E:
+ movs r0, 0x13
+ bl sub_801FDA8
+_08020C24:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020B38
+
+ thumb_func_start sub_8020C2C
+sub_8020C2C:
+ push {lr}
+ bl sub_80244E4
+ cmp r0, 0x1
+ bls _08020C44
+ cmp r0, 0x3
+ bhi _08020C44
+ bl sub_802453C
+ movs r0, 0x10
+ bl sub_801FDA8
+_08020C44:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020C2C
+
+ thumb_func_start sub_8020C48
+sub_8020C48:
+ push {lr}
+ bl sub_801BF48
+ cmp r0, 0x1
+ bls _08020C60
+ cmp r0, 0x3
+ bhi _08020C60
+ bl sub_801BF98
+ movs r0, 0x10
+ bl sub_801FDA8
+_08020C60:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020C48
+
+ thumb_func_start sub_8020C64
+sub_8020C64:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801F520
+ cmp r0, 0x3
+ beq _08020C80
+ cmp r0, 0x3
+ bhi _08020C7A
+ cmp r0, 0x2
+ beq _08020CB0
+ b _08020CBA
+_08020C7A:
+ cmp r0, 0x4
+ beq _08020C98
+ b _08020CBA
+_08020C80:
+ bl sub_801F5B4
+ ldr r1, _08020C94
+ ldr r1, [r1]
+ strh r0, [r1, 0x1C]
+ strh r0, [r1, 0x1E]
+ movs r0, 0x17
+ bl sub_801FDA8
+ b _08020CBA
+ .align 2, 0
+_08020C94: .4byte gUnknown_203B27C
+_08020C98:
+ bl sub_801F5B4
+ ldr r1, _08020CAC
+ ldr r1, [r1]
+ strh r0, [r1, 0x1C]
+ strh r0, [r1, 0x1E]
+ movs r0, 0x18
+ bl sub_801FDA8
+ b _08020CBA
+ .align 2, 0
+_08020CAC: .4byte gUnknown_203B27C
+_08020CB0:
+ bl sub_801F63C
+ movs r0, 0x10
+ bl sub_801FDA8
+_08020CBA:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020C64
+
+ thumb_func_start sub_8020CC0
+sub_8020CC0:
+ push {r4-r6,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801F520
+ ldr r4, _08020D00
+ ldr r0, [r4]
+ adds r0, 0xCC
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08020CF0
+ ldr r0, [r4]
+ adds r0, 0xCC
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08020CF0
+ ldr r0, [r4]
+ str r1, [r0, 0x74]
+_08020CF0:
+ ldr r0, [sp]
+ cmp r0, 0x3
+ beq _08020D14
+ cmp r0, 0x3
+ bgt _08020D04
+ cmp r0, 0x1
+ beq _08020D0C
+ b _08020D6C
+ .align 2, 0
+_08020D00: .4byte gUnknown_203B27C
+_08020D04:
+ cmp r0, 0xB
+ beq _08020D66
+ cmp r0, 0x11
+ bne _08020D6C
+_08020D0C:
+ movs r0, 0x16
+ bl sub_801FDA8
+ b _08020D6C
+_08020D14:
+ bl sub_801F63C
+ ldr r4, _08020D30
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x10]
+ adds r1, 0x2C
+ bl sub_809401C
+ movs r5, 0
+ adds r6, r4, 0
+ movs r4, 0x24
+ b _08020D38
+ .align 2, 0
+_08020D30: .4byte gUnknown_203B27C
+_08020D34:
+ adds r4, 0x8
+ adds r5, 0x1
+_08020D38:
+ cmp r5, 0x7
+ bgt _08020D52
+ ldr r3, [r6]
+ adds r2, r3, r4
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08020D34
+ ldrh r1, [r3, 0x1E]
+ adds r0, r2, 0
+ bl sub_8092AD4
+_08020D52:
+ cmp r5, 0x3
+ ble _08020D5E
+ movs r0, 0x1D
+ bl sub_801FDA8
+ b _08020D6C
+_08020D5E:
+ movs r0, 0x19
+ bl sub_801FDA8
+ b _08020D6C
+_08020D66:
+ movs r0, 0x18
+ bl sub_801FDA8
+_08020D6C:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020CC0
+
+ thumb_func_start sub_8020D74
+sub_8020D74:
+ push {lr}
+ bl sub_801F890
+ cmp r0, 0x1
+ bls _08020D8C
+ cmp r0, 0x3
+ bhi _08020D8C
+ bl sub_801F8D0
+ movs r0, 0x16
+ bl sub_801FDA8
+_08020D8C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020D74
+
+ thumb_func_start sub_8020D90
+sub_8020D90:
+ push {lr}
+ bl sub_801E8C0
+ cmp r0, 0x2
+ beq _08020DBC
+ cmp r0, 0x2
+ bcc _08020DC6
+ cmp r0, 0x3
+ bne _08020DC6
+ bl sub_801E930
+ ldr r1, _08020DB8
+ ldr r1, [r1]
+ strb r0, [r1, 0x14]
+ bl sub_801E93C
+ movs r0, 0x1A
+ bl sub_801FDA8
+ b _08020DC6
+ .align 2, 0
+_08020DB8: .4byte gUnknown_203B27C
+_08020DBC:
+ bl sub_801E93C
+ movs r0, 0x10
+ bl sub_801FDA8
+_08020DC6:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020D90
+
+ thumb_func_start sub_8020DCC
+sub_8020DCC:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801EF38
+ cmp r0, 0x4
+ bhi _08020EAA
+ lsls r0, 2
+ ldr r1, _08020DE4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08020DE4: .4byte _08020DE8
+ .align 2, 0
+_08020DE8:
+ .4byte _08020EAA
+ .4byte _08020E98
+ .4byte _08020E64
+ .4byte _08020DFC
+ .4byte _08020E30
+_08020DFC:
+ bl sub_801F1A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020E0E
+ ldr r0, _08020E2C
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x15]
+_08020E0E:
+ bl sub_801F194
+ ldr r1, _08020E2C
+ ldr r2, [r1]
+ str r0, [r2, 0x18]
+ lsls r0, 3
+ adds r0, r2, r0
+ ldrh r1, [r0, 0x26]
+ strh r1, [r2, 0x1C]
+ ldrh r0, [r0, 0x26]
+ strh r0, [r2, 0x20]
+ movs r0, 0x20
+ bl sub_801FDA8
+ b _08020EAA
+ .align 2, 0
+_08020E2C: .4byte gUnknown_203B27C
+_08020E30:
+ bl sub_801F1A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020E42
+ ldr r0, _08020E60
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x15]
+_08020E42:
+ bl sub_801F194
+ ldr r1, _08020E60
+ ldr r2, [r1]
+ str r0, [r2, 0x18]
+ lsls r0, 3
+ adds r0, r2, r0
+ ldrh r1, [r0, 0x26]
+ strh r1, [r2, 0x1C]
+ ldrh r0, [r0, 0x26]
+ strh r0, [r2, 0x20]
+ movs r0, 0x21
+ bl sub_801FDA8
+ b _08020EAA
+ .align 2, 0
+_08020E60: .4byte gUnknown_203B27C
+_08020E64:
+ bl sub_801F1A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020E76
+ ldr r0, _08020E94
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x15]
+_08020E76:
+ bl sub_801F214
+ ldr r0, _08020E94
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x10]
+ adds r1, 0x2C
+ bl sub_8094060
+ movs r0, 0x10
+ bl sub_801FDA8
+ b _08020EAA
+ .align 2, 0
+_08020E94: .4byte gUnknown_203B27C
+_08020E98:
+ bl sub_801F1A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020EAA
+ ldr r0, _08020EB0
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x15]
+_08020EAA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08020EB0: .4byte gUnknown_203B27C
+ thumb_func_end sub_8020DCC
+
+ thumb_func_start sub_8020EB4
+sub_8020EB4:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801EF38
+ ldr r4, _08020EF8
+ ldr r0, [r4]
+ adds r0, 0xCC
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08020EE4
+ ldr r0, [r4]
+ adds r0, 0xCC
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08020EE4
+ ldr r0, [r4]
+ str r1, [r0, 0x78]
+_08020EE4:
+ ldr r0, [sp]
+ subs r0, 0x1
+ cmp r0, 0x10
+ bls _08020EEE
+ b _080210BE
+_08020EEE:
+ lsls r0, 2
+ ldr r1, _08020EFC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08020EF8: .4byte gUnknown_203B27C
+_08020EFC: .4byte _08020F00
+ .align 2, 0
+_08020F00:
+ .4byte _08021068
+ .4byte _080210BE
+ .4byte _080210BE
+ .4byte _080210BE
+ .4byte _08020F44
+ .4byte _08020F70
+ .4byte _08020F8C
+ .4byte _08020FB8
+ .4byte _08021034
+ .4byte _08021074
+ .4byte _080210B8
+ .4byte _080210BE
+ .4byte _080210BE
+ .4byte _080210BE
+ .4byte _080210BE
+ .4byte _080210BE
+ .4byte _08021068
+_08020F44:
+ ldr r0, _08020F60
+ ldr r1, [r0]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_80934DC
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020F68
+ ldr r0, _08020F64
+ bl PlaySound
+ b _08021068
+ .align 2, 0
+_08020F60: .4byte gUnknown_203B27C
+_08020F64: .4byte 0x00000133
+_08020F68:
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ b _08021068
+_08020F70:
+ ldr r0, _08020F84
+ bl PlaySound
+ ldr r0, _08020F88
+ ldr r1, [r0]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_809352C
+ b _08021068
+ .align 2, 0
+_08020F84: .4byte 0x00000133
+_08020F88: .4byte gUnknown_203B27C
+_08020F8C:
+ ldr r0, _08020FA8
+ ldr r1, [r0]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_8093544
+ lsls r0, 24
+ cmp r0, 0
+ beq _08020FB0
+ ldr r0, _08020FAC
+ bl PlaySound
+ b _08021068
+ .align 2, 0
+_08020FA8: .4byte gUnknown_203B27C
+_08020FAC: .4byte 0x00000133
+_08020FB0:
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ b _08021068
+_08020FB8:
+ ldr r0, _08020FD8
+ ldr r0, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x95
+ bgt _08020FDC
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ bl sub_801FDA8
+ b _080210BE
+ .align 2, 0
+_08020FD8: .4byte gUnknown_203B460
+_08020FDC:
+ ldr r4, _08020FFC
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_8093318
+ lsls r0, 24
+ cmp r0, 0
+ bne _08021000
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ movs r0, 0x4
+ bl sub_801FDA8
+ b _080210BE
+ .align 2, 0
+_08020FFC: .4byte gUnknown_203B27C
+_08021000:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x15]
+ cmp r0, 0
+ bne _08021016
+ movs r0, 0x1
+ strb r0, [r1, 0x15]
+ movs r0, 0xA6
+ lsls r0, 1
+ bl PlaySound
+ b _0802101C
+_08021016:
+ ldr r0, _0802102C
+ bl PlaySound
+_0802101C:
+ ldr r0, _08021030
+ ldr r1, [r0]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_8093400
+ b _08021068
+ .align 2, 0
+_0802102C: .4byte 0x00000133
+_08021030: .4byte gUnknown_203B27C
+_08021034:
+ ldr r4, _08021054
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_809333C
+ lsls r0, 24
+ cmp r0, 0
+ bne _08021058
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ movs r0, 0x5
+ bl sub_801FDA8
+ b _080210BE
+ .align 2, 0
+_08021054: .4byte gUnknown_203B27C
+_08021058:
+ ldr r0, _08021070
+ bl PlaySound
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_8093468
+_08021068:
+ movs r0, 0x1F
+ bl sub_801FDA8
+ b _080210BE
+ .align 2, 0
+_08021070: .4byte 0x00000133
+_08021074:
+ ldr r4, _08021094
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_80933A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08021098
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ movs r0, 0x6
+ bl sub_801FDA8
+ b _080210BE
+ .align 2, 0
+_08021094: .4byte gUnknown_203B27C
+_08021098:
+ ldr r0, _080210B4
+ bl PlaySound
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ adds r1, 0x24
+ bl sub_80934B0
+ ldr r1, [r4]
+ strb r0, [r1, 0x14]
+ movs r0, 0x22
+ bl sub_801FDA8
+ b _080210BE
+ .align 2, 0
+_080210B4: .4byte 0x00000133
+_080210B8:
+ movs r0, 0x21
+ bl sub_801FDA8
+_080210BE:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8020EB4
+
+ thumb_func_start sub_80210C8
+sub_80210C8:
+ push {lr}
+ bl sub_801F890
+ cmp r0, 0x1
+ bls _080210E0
+ cmp r0, 0x3
+ bhi _080210E0
+ bl sub_801F8D0
+ movs r0, 0x1F
+ bl sub_801FDA8
+_080210E0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80210C8
+
+ thumb_func_start sub_80210E4
+sub_80210E4:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0802112A
+ ldr r0, [sp]
+ cmp r0, 0x10
+ beq _08021108
+ cmp r0, 0x10
+ bgt _08021102
+ cmp r0, 0x1
+ beq _08021124
+ b _0802112A
+_08021102:
+ cmp r0, 0x11
+ beq _08021124
+ b _0802112A
+_08021108:
+ ldr r0, _08021120
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x18]
+ bl sub_8093CF8
+ movs r0, 0x23
+ bl sub_801FDA8
+ b _0802112A
+ .align 2, 0
+_08021120: .4byte gUnknown_203B27C
+_08021124:
+ movs r0, 0x1F
+ bl sub_801FDA8
+_0802112A:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80210E4
+
+ thumb_func_start sub_8021130
+sub_8021130:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08021148
+ ldr r0, _08021150
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ bl sub_801FDA8
+_08021148:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021150: .4byte gUnknown_203B27C
+ thumb_func_end sub_8021130
+
+ thumb_func_start sub_8021154
+sub_8021154:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0x4
+ bne _0802116C
+ ldr r0, _08021174
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ bl sub_801FDA8
+_0802116C:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021174: .4byte gUnknown_203B27C
+ thumb_func_end sub_8021154
+
+ thumb_func_start sub_8021178
+sub_8021178:
+ push {lr}
+ mov r12, r4
+ ldr r4, _08021198
+ add sp, r4
+ mov r4, r12
+ ldr r0, _0802119C
+ ldr r0, [r0]
+ ldr r1, [r0, 0x10]
+ mov r0, sp
+ bl sub_808E218
+ cmp r0, 0
+ beq _080211A0
+ movs r0, 0
+ b _080211A2
+ .align 2, 0
+_08021198: .4byte 0xfffffcc0
+_0802119C: .4byte gUnknown_203B27C
+_080211A0:
+ movs r0, 0x1
+_080211A2:
+ movs r3, 0xD0
+ lsls r3, 2
+ add sp, r3
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8021178
+
+ thumb_func_start sub_80211AC
+sub_80211AC:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r6, r1, 0
+ bl sub_8021700
+ lsls r0, 24
+ cmp r0, 0
+ beq _080211C0
+ movs r0, 0
+ b _08021258
+_080211C0:
+ ldr r5, _08021260
+ movs r0, 0xE0
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ str r4, [r0, 0x3C]
+ str r6, [r0, 0x74]
+ lsls r1, r6, 1
+ adds r1, r6
+ lsls r1, 3
+ adds r1, 0x7C
+ adds r1, r0, r1
+ str r1, [r0, 0x78]
+ adds r0, 0x7C
+ bl sub_8006518
+ ldr r1, [r5]
+ ldr r2, [r1, 0x74]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x7C
+ ldr r0, _08021264
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r0, [r5]
+ ldr r1, [r0, 0x78]
+ adds r0, 0xDC
+ str r0, [r1, 0x14]
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ adds r0, 0x7C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r5]
+ adds r4, 0x40
+ bl sub_8021664
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0xA
+ adds r3, r6, 0
+ bl sub_8013818
+ ldr r0, _08021268
+ ldr r2, [r5]
+ ldr r1, [r0]
+ ldr r0, [r2, 0x3C]
+ cmp r1, r0
+ bne _0802124E
+ ldr r0, _0802126C
+ ldrh r1, [r0]
+ adds r0, r2, 0
+ adds r0, 0x58
+ strh r1, [r0]
+ ldr r0, _08021270
+ ldrh r0, [r0]
+ adds r1, r2, 0
+ adds r1, 0x5E
+ strh r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0x40
+ bl sub_8013984
+_0802124E:
+ bl sub_8021410
+ bl sub_8021494
+ movs r0, 0x1
+_08021258:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08021260: .4byte gUnknown_203B280
+_08021264: .4byte gUnknown_80DC47C
+_08021268: .4byte gUnknown_203B284
+_0802126C: .4byte gUnknown_203B288
+_08021270: .4byte gUnknown_203B28A
+ thumb_func_end sub_80211AC
+
+ thumb_func_start sub_8021274
+sub_8021274:
+ push {r4,lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _08021290
+ ldr r0, _0802128C
+ ldr r0, [r0]
+ adds r0, 0x40
+ bl sub_8013660
+ movs r0, 0
+ b _08021326
+ .align 2, 0
+_0802128C: .4byte gUnknown_203B280
+_08021290:
+ ldr r4, _080212A8
+ ldr r0, [r4]
+ adds r0, 0x40
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _080212B2
+ cmp r0, 0x2
+ bgt _080212AC
+ cmp r0, 0x1
+ beq _080212BC
+ b _08021300
+ .align 2, 0
+_080212A8: .4byte gUnknown_203B280
+_080212AC:
+ cmp r0, 0x4
+ beq _080212F6
+ b _08021300
+_080212B2:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _08021326
+_080212BC:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x3C]
+ cmp r0, 0x2
+ bne _080212EC
+ bl sub_802132C
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetFriendAreaPrice
+ ldr r1, _080212E8
+ ldr r1, [r1]
+ movs r2, 0x98
+ lsls r2, 2
+ adds r1, r2
+ ldr r1, [r1]
+ cmp r0, r1
+ ble _080212EC
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ b _080212F2
+ .align 2, 0
+_080212E8: .4byte gUnknown_203B460
+_080212EC:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+_080212F2:
+ movs r0, 0x3
+ b _08021326
+_080212F6:
+ movs r0, 0x4
+ bl PlayMenuSoundEffect
+ movs r0, 0x4
+ b _08021326
+_08021300:
+ ldr r0, _08021318
+ ldr r0, [r0]
+ adds r0, 0x40
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802131C
+ movs r0, 0
+ b _08021326
+ .align 2, 0
+_08021318: .4byte gUnknown_203B280
+_0802131C:
+ bl sub_8021410
+ bl sub_8021494
+ movs r0, 0x1
+_08021326:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8021274
+
+ thumb_func_start sub_802132C
+sub_802132C:
+ ldr r0, _08021350
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x5E
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ subs r0, 0x2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r0, r1
+ adds r1, r2, 0
+ adds r1, 0x58
+ movs r3, 0
+ ldrsh r1, [r1, r3]
+ adds r0, r1
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_08021350: .4byte gUnknown_203B280
+ thumb_func_end sub_802132C
+
+ thumb_func_start sub_8021354
+sub_8021354:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl ResetUnusedInputStruct
+ ldr r5, _0802139C
+ ldr r0, [r5]
+ adds r0, 0x7C
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ bl sub_8021664
+ adds r1, r0, 0
+ ldr r0, [r5]
+ adds r2, r0, 0
+ adds r2, 0x62
+ strh r1, [r2]
+ adds r0, 0x40
+ bl sub_8013984
+ bl sub_8021410
+ bl sub_8021494
+ cmp r4, 0
+ beq _08021396
+ ldr r0, [r5]
+ adds r0, 0x40
+ bl AddMenuCursorSprite
+_08021396:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802139C: .4byte gUnknown_203B280
+ thumb_func_end sub_8021354
+
+ thumb_func_start sub_80213A0
+sub_80213A0:
+ push {r4,r5,lr}
+ ldr r4, _080213FC
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _080213F4
+ ldr r1, _08021400
+ ldr r0, [r2, 0x3C]
+ str r0, [r1]
+ ldr r1, _08021404
+ adds r0, r2, 0
+ adds r0, 0x58
+ ldrh r0, [r0]
+ strh r0, [r1]
+ ldr r1, _08021408
+ adds r0, r2, 0
+ adds r0, 0x5E
+ ldrh r0, [r0]
+ strh r0, [r1]
+ ldr r0, [r2, 0x74]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x7C
+ ldr r0, _0802140C
+ 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, 0x7C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_080213F4:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080213FC: .4byte gUnknown_203B280
+_08021400: .4byte gUnknown_203B284
+_08021404: .4byte gUnknown_203B288
+_08021408: .4byte gUnknown_203B28A
+_0802140C: .4byte gUnknown_80DC464
+ thumb_func_end sub_80213A0
+
+ thumb_func_start sub_8021410
+sub_8021410:
+ push {r4,lr}
+ ldr r4, _08021490
+ ldr r0, [r4]
+ adds r0, 0xDC
+ movs r2, 0
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xDD
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, 0xDE
+ movs r1, 0xC
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xDF
+ strb r2, [r0]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x7C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ adds r0, 0x5A
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ lsls r0, 16
+ ldr r2, [r4]
+ ldr r3, [r2, 0x74]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x8A
+ asrs r3, r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r1, [r2, 0x74]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r2, r0
+ adds r3, 0x2
+ adds r2, 0x8C
+ strh r3, [r2]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x7C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021490: .4byte gUnknown_203B280
+ thumb_func_end sub_8021410
+
+ thumb_func_start sub_8021494
+sub_8021494:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xA8
+ ldr r4, _08021568
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ bl sub_8008C54
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ bl sub_80073B8
+ ldr r2, _0802156C
+ ldr r0, [r4]
+ ldr r3, [r0, 0x74]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r3, [r4]
+ adds r0, r3, 0
+ adds r0, 0xDE
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, 0x4
+ adds r1, r3, 0
+ adds r1, 0x5E
+ movs r5, 0
+ ldrsh r2, [r1, r5]
+ adds r2, 0x1
+ movs r1, 0x7
+ str r1, [sp]
+ ldr r1, [r3, 0x74]
+ str r1, [sp, 0x4]
+ movs r1, 0
+ movs r3, 0x1
+ bl sub_8012BC4
+ movs r0, 0
+ mov r9, r0
+ ldr r0, [r4]
+ adds r0, 0x5A
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r9, r0
+ blt _080214FC
+ b _08021646
+_080214FC:
+ mov r8, r4
+ add r2, sp, 0x58
+ mov r10, r2
+_08021502:
+ mov r3, r8
+ ldr r2, [r3]
+ adds r0, r2, 0
+ adds r0, 0x5E
+ movs r5, 0
+ ldrsh r1, [r0, r5]
+ subs r0, 0x2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r0, r1
+ add r0, r9
+ adds r0, r2, r0
+ ldrb r5, [r0]
+ adds r7, r5, 0
+ ldr r6, [r2, 0x3C]
+ cmp r6, 0x2
+ bne _0802159C
+ add r0, sp, 0x8
+ adds r1, r5, 0
+ movs r2, 0x1
+ bl sub_8092578
+ adds r0, r5, 0
+ bl GetFriendAreaPrice
+ ldr r1, _08021570
+ ldr r1, [r1]
+ movs r5, 0x98
+ lsls r5, 2
+ adds r1, r5
+ ldr r1, [r1]
+ cmp r0, r1
+ bgt _08021574
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, 0x40
+ mov r1, r9
+ bl sub_8013800
+ adds r1, r0, 0
+ mov r2, r8
+ ldr r0, [r2]
+ ldr r3, [r0, 0x74]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ add r2, sp, 0x8
+ bl xxx_call_draw_string
+ b _08021632
+ .align 2, 0
+_08021568: .4byte gUnknown_203B280
+_0802156C: .4byte gUnknown_80DC494
+_08021570: .4byte gUnknown_203B460
+_08021574:
+ mov r0, r10
+ ldr r1, _08021598
+ add r2, sp, 0x8
+ bl sub_800D158
+ mov r3, r8
+ ldr r0, [r3]
+ adds r0, 0x40
+ mov r1, r9
+ bl sub_8013800
+ adds r1, r0, 0
+ mov r5, r8
+ ldr r0, [r5]
+ ldr r3, [r0, 0x74]
+ movs r0, 0
+ str r0, [sp]
+ b _080215FE
+ .align 2, 0
+_08021598: .4byte gUnknown_80DC4A4
+_0802159C:
+ cmp r6, 0
+ bne _0802160C
+ ldr r0, _080215D4
+ ldr r0, [r0]
+ adds r0, r5
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080215D8
+ adds r0, r2, 0
+ adds r0, 0x40
+ mov r1, r9
+ bl sub_8013800
+ adds r4, r0, 0
+ adds r0, r5, 0
+ bl GetFriendAreaName
+ adds r2, r0, 0
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r3, [r0, 0x74]
+ str r6, [sp]
+ movs r0, 0x8
+ adds r1, r4, 0
+ bl xxx_call_draw_string
+ b _08021632
+ .align 2, 0
+_080215D4: .4byte gFriendAreas
+_080215D8:
+ adds r0, r5, 0
+ bl GetFriendAreaName
+ adds r2, r0, 0
+ mov r0, r10
+ ldr r1, _08021608
+ bl sub_800D158
+ mov r2, r8
+ ldr r0, [r2]
+ adds r0, 0x40
+ mov r1, r9
+ bl sub_8013800
+ adds r1, r0, 0
+ mov r3, r8
+ ldr r0, [r3]
+ ldr r3, [r0, 0x74]
+ str r6, [sp]
+_080215FE:
+ movs r0, 0x8
+ mov r2, r10
+ bl xxx_call_draw_string
+ b _08021632
+ .align 2, 0
+_08021608: .4byte gUnknown_80DC4AC
+_0802160C:
+ adds r0, r2, 0
+ adds r0, 0x40
+ mov r1, r9
+ bl sub_8013800
+ adds r4, r0, 0
+ adds r0, r7, 0
+ bl GetFriendAreaName
+ adds r2, r0, 0
+ mov r5, r8
+ ldr r0, [r5]
+ ldr r3, [r0, 0x74]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ adds r1, r4, 0
+ bl xxx_call_draw_string
+_08021632:
+ movs r0, 0x1
+ add r9, r0
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, 0x5A
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r9, r0
+ bge _08021646
+ b _08021502
+_08021646:
+ ldr r0, _08021660
+ ldr r0, [r0]
+ ldr r0, [r0, 0x74]
+ bl sub_80073E0
+ add sp, 0xA8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021660: .4byte gUnknown_203B280
+ thumb_func_end sub_8021494
+
+ thumb_func_start sub_8021664
+sub_8021664:
+ push {r4-r6,lr}
+ movs r5, 0
+ ldr r1, _0802167C
+ ldr r0, [r1]
+ ldr r0, [r0, 0x3C]
+ cmp r0, 0x1
+ beq _08021692
+ cmp r0, 0x1
+ bcc _08021680
+ cmp r0, 0x2
+ beq _080216B4
+ b _080216F2
+ .align 2, 0
+_0802167C: .4byte gUnknown_203B280
+_08021680:
+ movs r4, 0x1
+_08021682:
+ ldr r0, [r1]
+ adds r0, r5
+ strb r4, [r0]
+ adds r5, 0x1
+ adds r4, 0x1
+ cmp r4, 0x39
+ ble _08021682
+ b _080216F2
+_08021692:
+ movs r4, 0x1
+ ldr r2, _080216B0
+_08021696:
+ ldr r0, [r2]
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080216A8
+ ldr r0, [r1]
+ adds r0, r5
+ strb r4, [r0]
+ adds r5, 0x1
+_080216A8:
+ adds r4, 0x1
+ cmp r4, 0x39
+ ble _08021696
+ b _080216F2
+ .align 2, 0
+_080216B0: .4byte gFriendAreas
+_080216B4:
+ movs r4, 0x1
+ adds r6, r1, 0
+_080216B8:
+ ldr r0, _080216FC
+ ldr r0, [r0]
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080216EC
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl GetFriendAreaUnlockCondition
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _080216E4
+ cmp r0, 0x1
+ bne _080216EC
+ movs r0, 0x6
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080216EC
+_080216E4:
+ ldr r0, [r6]
+ adds r0, r5
+ strb r4, [r0]
+ adds r5, 0x1
+_080216EC:
+ adds r4, 0x1
+ cmp r4, 0x39
+ ble _080216B8
+_080216F2:
+ adds r0, r5, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080216FC: .4byte gFriendAreas
+ thumb_func_end sub_8021664
+
+ thumb_func_start sub_8021700
+sub_8021700:
+ push {r4,lr}
+ cmp r0, 0x1
+ beq _08021710
+ cmp r0, 0x1
+ bcc _08021754
+ cmp r0, 0x2
+ beq _0802172C
+ b _0802176A
+_08021710:
+ movs r4, 0x1
+ ldr r0, _08021728
+ ldr r1, [r0]
+_08021716:
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08021754
+ adds r4, 0x1
+ cmp r4, 0x39
+ ble _08021716
+ b _0802176A
+ .align 2, 0
+_08021728: .4byte gFriendAreas
+_0802172C:
+ movs r4, 0x1
+_0802172E:
+ ldr r0, _08021750
+ ldr r0, [r0]
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08021764
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl GetFriendAreaUnlockCondition
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _08021754
+ cmp r0, 0x1
+ beq _08021758
+ b _08021764
+ .align 2, 0
+_08021750: .4byte gFriendAreas
+_08021754:
+ movs r0, 0
+ b _0802176C
+_08021758:
+ movs r0, 0x6
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08021754
+_08021764:
+ adds r4, 0x1
+ cmp r4, 0x39
+ ble _0802172E
+_0802176A:
+ movs r0, 0x1
+_0802176C:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8021700
+
+ thumb_func_start sub_8021774
+sub_8021774:
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ mov r8, r2
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r6, _080217E4
+ movs r0, 0xE0
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r6]
+ strb r4, [r0, 0xC]
+ ldr r0, [r6]
+ strb r5, [r0, 0xD]
+ ldr r0, [r6]
+ bl sub_801317C
+ bl sub_8021A60
+ ldr r0, [r6]
+ mov r1, r8
+ str r1, [r0, 0x74]
+ lsls r1, 1
+ add r1, r8
+ lsls r1, 3
+ adds r1, 0x7C
+ adds r1, r0, r1
+ str r1, [r0, 0x78]
+ adds r0, 0x7C
+ bl sub_8006518
+ ldr r1, [r6]
+ ldr r2, [r1, 0x74]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x7C
+ ldr r0, _080217E8
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ bl sub_8021820
+ movs r0, 0x1
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080217E4: .4byte gUnknown_203B28C
+_080217E8: .4byte gUnknown_80DC4D8
+ thumb_func_end sub_8021774
+
+ thumb_func_start sub_80217EC
+sub_80217EC:
+ push {lr}
+ ldr r0, _0802180C
+ ldr r0, [r0]
+ ldr r1, [r0, 0x74]
+ bl sub_8012A64
+ cmp r0, 0x1
+ beq _08021810
+ cmp r0, 0x2
+ bne _0802181A
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _0802181C
+ .align 2, 0
+_0802180C: .4byte gUnknown_203B28C
+_08021810:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _0802181C
+_0802181A:
+ movs r0, 0
+_0802181C:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80217EC
+
+ thumb_func_start sub_8021820
+sub_8021820:
+ push {lr}
+ bl sub_8021878
+ bl sub_8021894
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8021820
+
+ thumb_func_start sub_8021830
+sub_8021830:
+ push {r4,r5,lr}
+ ldr r4, _08021870
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0802186A
+ ldr r0, [r2, 0x74]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x7C
+ ldr r0, _08021874
+ 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, 0x7C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0802186A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021870: .4byte gUnknown_203B28C
+_08021874: .4byte gUnknown_80DC4BC
+ thumb_func_end sub_8021830
+
+ thumb_func_start sub_8021878
+sub_8021878:
+ push {lr}
+ bl ResetUnusedInputStruct
+ ldr r0, _08021890
+ ldr r0, [r0]
+ adds r0, 0x7C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021890: .4byte gUnknown_203B28C
+ thumb_func_end sub_8021878
+
+ thumb_func_start sub_8021894
+sub_8021894:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x168
+ ldr r4, _080218F8
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ bl sub_80073B8
+ ldr r0, [r4]
+ ldrb r1, [r0, 0xC]
+ add r0, sp, 0x4
+ movs r2, 0
+ bl sub_8092578
+ ldr r0, [r4]
+ ldr r3, [r0, 0x74]
+ movs r5, 0
+ str r5, [sp]
+ movs r0, 0x14
+ movs r1, 0
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xC]
+ bl GetFriendAreaDescription
+ adds r2, r0, 0
+ ldr r0, [r4]
+ ldr r3, [r0, 0x74]
+ str r5, [sp]
+ movs r0, 0xA
+ movs r1, 0x14
+ bl xxx_call_draw_string
+ ldr r4, [r4]
+ ldrb r0, [r4, 0xD]
+ cmp r0, 0
+ beq _08021900
+ ldr r2, _080218FC
+ ldr r3, [r4, 0x74]
+ str r5, [sp]
+ movs r0, 0x20
+ movs r1, 0x3C
+ bl xxx_call_draw_string
+ b _0802190E
+ .align 2, 0
+_080218F8: .4byte gUnknown_203B28C
+_080218FC: .4byte gUnknown_80DC4F0
+_08021900:
+ ldr r2, _0802193C
+ ldr r3, [r4, 0x74]
+ str r0, [sp]
+ movs r0, 0x20
+ movs r1, 0x3C
+ bl xxx_call_draw_string
+_0802190E:
+ ldr r4, _08021940
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ movs r5, 0x4
+ str r5, [sp]
+ movs r1, 0x4
+ movs r2, 0x40
+ movs r3, 0x14
+ bl sub_800792C
+ ldr r4, [r4]
+ ldrb r0, [r4, 0xD]
+ cmp r0, 0
+ beq _08021944
+ ldr r0, [r4, 0x74]
+ str r5, [sp]
+ movs r1, 0xB8
+ movs r2, 0x40
+ movs r3, 0x14
+ bl sub_800792C
+ b _08021952
+ .align 2, 0
+_0802193C: .4byte gUnknown_80DC518
+_08021940: .4byte gUnknown_203B28C
+_08021944:
+ ldr r0, [r4, 0x74]
+ str r5, [sp]
+ movs r1, 0x5E
+ movs r2, 0x40
+ movs r3, 0x6E
+ bl sub_800792C
+_08021952:
+ ldr r5, _080219E8
+ ldr r0, [r5]
+ ldr r0, [r0, 0x74]
+ movs r4, 0x4
+ str r4, [sp]
+ movs r1, 0x4
+ movs r2, 0x82
+ movs r3, 0xC8
+ bl sub_800792C
+ ldr r0, [r5]
+ ldr r0, [r0, 0x74]
+ str r4, [sp]
+ movs r1, 0x3
+ movs r2, 0x40
+ movs r3, 0x43
+ bl sub_8007A78
+ ldr r0, [r5]
+ ldr r0, [r0, 0x74]
+ str r4, [sp]
+ movs r1, 0xCC
+ movs r2, 0x40
+ movs r3, 0x43
+ bl sub_8007A78
+ movs r6, 0
+ ldr r0, [r5]
+ ldr r0, [r0, 0x70]
+ cmp r6, r0
+ bge _08021A40
+ add r7, sp, 0x104
+ mov r8, r5
+ mov r9, r6
+_08021996:
+ adds r0, r6, 0
+ movs r1, 0x3
+ bl __modsi3
+ lsls r1, r0, 6
+ subs r1, r0
+ adds r5, r1, 0x7
+ adds r0, r6, 0
+ movs r1, 0x3
+ bl __divsi3
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r4, r1, 0
+ adds r4, 0x47
+ mov r1, r8
+ ldr r0, [r1]
+ lsls r1, r6, 1
+ adds r0, 0xE
+ adds r0, r1
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ adds r0, r7, 0
+ bl sub_808D930
+ mov r0, r8
+ ldr r3, [r0]
+ lsls r1, r6, 2
+ adds r0, r3, 0
+ adds r0, 0x30
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x1
+ beq _08021A04
+ cmp r0, 0x1
+ bcc _080219EC
+ cmp r0, 0x2
+ beq _08021A16
+ b _08021A34
+ .align 2, 0
+_080219E8: .4byte gUnknown_203B28C
+_080219EC:
+ ldr r0, _08021A00
+ ldr r2, [r0]
+ ldr r3, [r3, 0x74]
+ mov r1, r9
+ str r1, [sp]
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl xxx_call_draw_string
+ b _08021A34
+ .align 2, 0
+_08021A00: .4byte gUnknown_80D49BC
+_08021A04:
+ ldr r3, [r3, 0x74]
+ mov r2, r9
+ str r2, [sp]
+ adds r0, r5, 0
+ adds r1, r4, 0
+ adds r2, r7, 0
+ bl xxx_call_draw_string
+ b _08021A34
+_08021A16:
+ add r0, sp, 0x4
+ ldr r1, _08021A58
+ adds r2, r7, 0
+ bl sub_800D158
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r3, [r0, 0x74]
+ mov r2, r9
+ str r2, [sp]
+ adds r0, r5, 0
+ adds r1, r4, 0
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+_08021A34:
+ adds r6, 0x1
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r0, [r0, 0x70]
+ cmp r6, r0
+ blt _08021996
+_08021A40:
+ ldr r0, _08021A5C
+ ldr r0, [r0]
+ ldr r0, [r0, 0x74]
+ bl sub_80073E0
+ add sp, 0x168
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021A58: .4byte gUnknown_80DC524
+_08021A5C: .4byte gUnknown_203B28C
+ thumb_func_end sub_8021894
+
+ thumb_func_start sub_8021A60
+sub_8021A60:
+ push {r4-r7,lr}
+ ldr r2, _08021B4C
+ ldr r1, [r2]
+ movs r0, 0
+ str r0, [r1, 0x70]
+ movs r6, 0
+ adds r4, r2, 0
+ movs r3, 0
+_08021A70:
+ ldr r1, [r4]
+ lsls r2, r6, 1
+ adds r0, r1, 0
+ adds r0, 0xE
+ adds r0, r2
+ strh r3, [r0]
+ lsls r0, r6, 2
+ adds r1, 0x30
+ adds r1, r0
+ str r3, [r1]
+ adds r6, 0x1
+ cmp r6, 0xF
+ ble _08021A70
+ movs r6, 0
+ ldr r7, _08021B4C
+_08021A8E:
+ lsls r0, r6, 16
+ asrs r5, r0, 16
+ ldr r4, [r7]
+ adds r0, r5, 0
+ bl GetFriendArea
+ ldrb r1, [r4, 0xC]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r1, r0
+ bne _08021AC4
+ adds r0, r5, 0
+ bl sub_808E858
+ lsls r0, 16
+ asrs r0, 16
+ cmp r5, r0
+ bne _08021AC4
+ ldr r3, [r7]
+ ldr r1, [r3, 0x70]
+ lsls r2, r1, 1
+ adds r0, r3, 0
+ adds r0, 0xE
+ adds r0, r2
+ strh r5, [r0]
+ adds r1, 0x1
+ str r1, [r3, 0x70]
+_08021AC4:
+ adds r6, 0x1
+ ldr r0, _08021B50
+ cmp r6, r0
+ ble _08021A8E
+ movs r6, 0
+_08021ACE:
+ lsls r0, r6, 16
+ asrs r4, r0, 16
+ adds r0, r4, 0
+ bl sub_8098134
+ lsls r0, 24
+ cmp r0, 0
+ beq _08021AFC
+ adds r0, r4, 0
+ bl sub_8021B58
+ adds r2, r0, 0
+ movs r0, 0x1
+ negs r0, r0
+ cmp r2, r0
+ beq _08021AFC
+ ldr r0, _08021B4C
+ ldr r1, [r0]
+ lsls r0, r2, 2
+ adds r1, 0x30
+ adds r1, r0
+ movs r0, 0x1
+ str r0, [r1]
+_08021AFC:
+ adds r6, 0x1
+ ldr r0, _08021B50
+ cmp r6, r0
+ ble _08021ACE
+ movs r6, 0
+ ldr r4, _08021B54
+_08021B08:
+ movs r0, 0x58
+ adds r1, r6, 0
+ muls r1, r0
+ ldr r0, [r4]
+ adds r2, r0, r1
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08021B3C
+ movs r1, 0x8
+ ldrsh r0, [r2, r1]
+ bl sub_8021B58
+ adds r2, r0, 0
+ movs r0, 0x1
+ negs r0, r0
+ cmp r2, r0
+ beq _08021B3C
+ ldr r0, _08021B4C
+ ldr r1, [r0]
+ lsls r0, r2, 2
+ adds r1, 0x30
+ adds r1, r0
+ movs r0, 0x2
+ str r0, [r1]
+_08021B3C:
+ adds r6, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r6, r0
+ ble _08021B08
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021B4C: .4byte gUnknown_203B28C
+_08021B50: .4byte 0x000001a7
+_08021B54: .4byte gRecruitedPokemonRef
+ thumb_func_end sub_8021A60
+
+ thumb_func_start sub_8021B58
+sub_8021B58:
+ push {r4,r5,lr}
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_808E858
+ lsls r0, 16
+ asrs r4, r0, 16
+ movs r2, 0
+ ldr r0, _08021B84
+ ldr r0, [r0]
+ ldr r1, [r0, 0x70]
+ cmp r2, r1
+ bge _08021B90
+ adds r3, r1, 0
+ adds r1, r0, 0
+ adds r1, 0xE
+_08021B78:
+ movs r5, 0
+ ldrsh r0, [r1, r5]
+ cmp r4, r0
+ bne _08021B88
+ adds r0, r2, 0
+ b _08021B94
+ .align 2, 0
+_08021B84: .4byte gUnknown_203B28C
+_08021B88:
+ adds r1, 0x2
+ adds r2, 0x1
+ cmp r2, r3
+ blt _08021B78
+_08021B90:
+ movs r0, 0x1
+ negs r0, r0
+_08021B94:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8021B58
+
+ thumb_func_start CreateWigglytuffShop
+CreateWigglytuffShop:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ bl ResetUnusedInputStruct
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r5, _08021BF8
+ movs r0, 0x9C
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ movs r6, 0
+ str r6, [r0, 0x14]
+ str r6, [r0, 0x18]
+ str r4, [r0]
+ ldr r0, _08021BFC
+ movs r1, 0x28
+ bl CopyYellowSpeciesNametoBuffer
+ ldr r4, _08021C00
+ adds r0, r4, 0
+ movs r1, 0x28
+ bl CopyYellowSpeciesNametoBuffer
+ movs r0, 0x28
+ bl GetMonSpecies
+ adds r1, r0, 0
+ subs r4, 0x50
+ adds r0, r4, 0
+ bl strcpy
+ ldr r5, [r5]
+ ldr r0, [r5]
+ cmp r0, 0x1
+ bne _08021C04
+ adds r0, r5, 0
+ adds r0, 0xCC
+ str r6, [r0]
+ b _08021C0E
+ .align 2, 0
+_08021BF8: .4byte gUnknown_203B290
+_08021BFC: .4byte gUnknown_202E5D8
+_08021C00: .4byte gUnknown_202E1C8
+_08021C04:
+ adds r1, r5, 0
+ adds r1, 0xCC
+ adds r0, r5, 0
+ adds r0, 0xBC
+ str r0, [r1]
+_08021C0E:
+ movs r0, 0x28
+ bl GetDialogueSpriteDataPtr
+ ldr r2, _08021C58
+ ldr r3, [r2]
+ adds r1, r3, 0
+ adds r1, 0xBC
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, [r0, 0x4]
+ str r0, [r1]
+ adds r0, r3, 0
+ adds r0, 0xC8
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, 0xC9
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, 0xCA
+ strb r1, [r0]
+ ldr r1, [r2]
+ adds r2, r1, 0
+ adds r2, 0xC4
+ movs r0, 0x2
+ strh r0, [r2]
+ adds r1, 0xC6
+ movs r0, 0x8
+ strh r0, [r1]
+ movs r0, 0
+ bl sub_8021D44
+ movs r0, 0x1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08021C58: .4byte gUnknown_203B290
+ thumb_func_end CreateWigglytuffShop
+
+ thumb_func_start sub_8021C5C
+sub_8021C5C:
+ push {lr}
+ ldr r0, _08021C74
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ cmp r0, 0x17
+ bhi _08021D10
+ lsls r0, 2
+ ldr r1, _08021C78
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08021C74: .4byte gUnknown_203B290
+_08021C78: .4byte _08021C7C
+ .align 2, 0
+_08021C7C:
+ .4byte _08021CDC
+ .4byte _08021CDC
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021D0C
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021CE2
+ .4byte _08021CE2
+ .4byte _08021CE8
+ .4byte _08021D10
+ .4byte _08021CF4
+ .4byte _08021CFA
+ .4byte _08021D10
+ .4byte _08021D00
+ .4byte _08021CEE
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021D10
+ .4byte _08021D06
+ .4byte _08021D06
+_08021CDC:
+ bl sub_8022460
+ b _08021D14
+_08021CE2:
+ bl sub_8022538
+ b _08021D14
+_08021CE8:
+ bl sub_80225C8
+ b _08021D14
+_08021CEE:
+ bl sub_80224D4
+ b _08021D14
+_08021CF4:
+ bl sub_80226F0
+ b _08021D14
+_08021CFA:
+ bl sub_8022790
+ b _08021D14
+_08021D00:
+ bl sub_8022668
+ b _08021D14
+_08021D06:
+ bl sub_8022684
+ b _08021D14
+_08021D0C:
+ movs r0, 0x3
+ b _08021D16
+_08021D10:
+ bl sub_80226CC
+_08021D14:
+ movs r0, 0
+_08021D16:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8021C5C
+
+ thumb_func_start sub_8021D1C
+sub_8021D1C:
+ push {r4,lr}
+ ldr r4, _08021D40
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _08021D38
+ adds r0, 0xBC
+ ldr r0, [r0]
+ bl CloseFile
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_08021D38:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021D40: .4byte gUnknown_203B290
+ thumb_func_end sub_8021D1C
+
+ thumb_func_start sub_8021D44
+sub_8021D44:
+ push {lr}
+ ldr r1, _08021D58
+ ldr r1, [r1]
+ str r0, [r1, 0x4]
+ bl sub_8021D5C
+ bl UpdateWigglytuffDialogue
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021D58: .4byte gUnknown_203B290
+ thumb_func_end sub_8021D44
+
+ thumb_func_start sub_8021D5C
+sub_8021D5C:
+ push {r4-r7,lr}
+ ldr r4, _08021D7C
+ ldr r0, [r4]
+ adds r0, 0xD0
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1, 0x4]
+ cmp r0, 0x9
+ blt _08021DC8
+ cmp r0, 0xA
+ ble _08021D80
+ cmp r0, 0xB
+ beq _08021DB0
+ b _08021DC8
+ .align 2, 0
+_08021D7C: .4byte gUnknown_203B290
+_08021D80:
+ ldr r2, _08021DA8
+ adds r1, 0xD0
+ adds r0, r2, 0
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldm r0!, {r3,r5,r7}
+ stm r1!, {r3,r5,r7}
+ ldr r0, [r4]
+ movs r6, 0x80
+ lsls r6, 1
+ adds r0, r6
+ ldm r2!, {r1,r3,r7}
+ stm r0!, {r1,r3,r7}
+ ldm r2!, {r5-r7}
+ stm r0!, {r5-r7}
+ ldr r1, [r4]
+ adds r1, 0xE8
+ ldr r0, _08021DAC
+ b _08021DB8
+ .align 2, 0
+_08021DA8: .4byte gUnknown_80DC534
+_08021DAC: .4byte gUnknown_80DC564
+_08021DB0:
+ movs r0, 0x80
+ lsls r0, 1
+ adds r1, r0
+ ldr r0, _08021DC4
+_08021DB8:
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ b _08021DEC
+ .align 2, 0
+_08021DC4: .4byte gUnknown_80DC54C
+_08021DC8:
+ ldr r0, _08021E04
+ mov r12, r0
+ ldr r4, _08021E08
+ movs r3, 0
+ movs r2, 0x3
+_08021DD2:
+ mov r5, r12
+ ldr r1, [r5]
+ adds r1, r3
+ adds r1, 0xD0
+ 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 _08021DD2
+_08021DEC:
+ bl ResetUnusedInputStruct
+ ldr r0, _08021E04
+ ldr r0, [r0]
+ adds r0, 0xD0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08021E04: .4byte gUnknown_203B290
+_08021E08: .4byte gUnknown_80DC534
+ thumb_func_end sub_8021D5C
+
+ thumb_func_start UpdateWigglytuffDialogue
+UpdateWigglytuffDialogue:
+ push {r4,lr}
+ sub sp, 0x20
+ ldr r1, _08021E28
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r4, r1, 0
+ cmp r0, 0x1C
+ bls _08021E1E
+ b _080222B6
+_08021E1E:
+ lsls r0, 2
+ ldr r1, _08021E2C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08021E28: .4byte gUnknown_203B290
+_08021E2C: .4byte _08021E30
+ .align 2, 0
+_08021E30:
+ .4byte _08021EA4
+ .4byte _08021EC0
+ .4byte _08021F38
+ .4byte _08021F50
+ .4byte _080222B6
+ .4byte _08021F78
+ .4byte _08021F90
+ .4byte _08021F08
+ .4byte _08021F20
+ .4byte _08021FD8
+ .4byte _08021FE2
+ .4byte _08021FF0
+ .4byte _0802208E
+ .4byte _080220B8
+ .4byte _080220D8
+ .4byte _080220EA
+ .4byte _08022080
+ .4byte _08022024
+ .4byte _08021FA8
+ .4byte _08021FC0
+ .4byte _08022138
+ .4byte _08022150
+ .4byte _08022168
+ .4byte _08022176
+ .4byte _0802217E
+ .4byte _08022238
+ .4byte _08022250
+ .4byte _08022268
+ .4byte _08022294
+_08021EA4:
+ bl sub_80222C8
+ ldr r2, _08021EB8
+ ldr r0, _08021EBC
+ ldr r4, [r0]
+ ldr r1, [r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ b _08021ED4
+ .align 2, 0
+_08021EB8: .4byte gWigglytuffDialogue
+_08021EBC: .4byte gUnknown_203B290
+_08021EC0:
+ bl sub_80222C8
+ ldr r2, _08021F00
+ ldr r0, _08021F04
+ ldr r4, [r0]
+ ldr r1, [r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x4
+_08021ED4:
+ adds r0, r2
+ ldr r0, [r0]
+ ldr r2, [r4, 0x14]
+ adds r3, r4, 0
+ adds r3, 0x1C
+ adds r1, r4, 0
+ adds r1, 0x5C
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ adds r1, r4, 0
+ adds r1, 0xCC
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ bl sub_8014248
+ b _080222B6
+ .align 2, 0
+_08021F00: .4byte gWigglytuffDialogue
+_08021F04: .4byte gUnknown_203B290
+_08021F08:
+ ldr r3, [r4]
+ movs r0, 0x9
+ str r0, [r3, 0x8]
+ ldr r2, _08021F1C
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0xC
+ b _0802227A
+ .align 2, 0
+_08021F1C: .4byte gWigglytuffDialogue
+_08021F20:
+ ldr r3, [r4]
+ movs r0, 0xA
+ str r0, [r3, 0x8]
+ ldr r2, _08021F34
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x10
+ b _0802227A
+ .align 2, 0
+_08021F34: .4byte gWigglytuffDialogue
+_08021F38:
+ ldr r3, [r4]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _08021F4C
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x4C
+ b _0802227A
+ .align 2, 0
+_08021F4C: .4byte gWigglytuffDialogue
+_08021F50:
+ ldr r3, [r4]
+ movs r0, 0x4
+ str r0, [r3, 0x8]
+ ldr r2, _08021F70
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x8
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xCC
+ ldr r2, [r3]
+ ldr r3, _08021F74
+ b _08022284
+ .align 2, 0
+_08021F70: .4byte gWigglytuffDialogue
+_08021F74: .4byte 0x0000030d
+_08021F78:
+ ldr r3, [r4]
+ movs r0, 0x3
+ str r0, [r3, 0x8]
+ ldr r2, _08021F8C
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x20
+ b _0802227A
+ .align 2, 0
+_08021F8C: .4byte gWigglytuffDialogue
+_08021F90:
+ ldr r3, [r4]
+ movs r0, 0xA
+ str r0, [r3, 0x8]
+ ldr r2, _08021FA4
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x24
+ b _0802227A
+ .align 2, 0
+_08021FA4: .4byte gWigglytuffDialogue
+_08021FA8:
+ ldr r3, [r4]
+ movs r0, 0x3
+ str r0, [r3, 0x8]
+ ldr r2, _08021FBC
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x28
+ b _0802227A
+ .align 2, 0
+_08021FBC: .4byte gWigglytuffDialogue
+_08021FC0:
+ ldr r3, [r4]
+ movs r0, 0xA
+ str r0, [r3, 0x8]
+ ldr r2, _08021FD4
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x2C
+ b _0802227A
+ .align 2, 0
+_08021FD4: .4byte gWigglytuffDialogue
+_08021FD8:
+ movs r0, 0x2
+ movs r1, 0x3
+ bl sub_80211AC
+ b _08021FE8
+_08021FE2:
+ movs r0, 0x1
+ bl sub_8021354
+_08021FE8:
+ movs r0, 0x1
+ bl sub_8016C40
+ b _080222B6
+_08021FF0:
+ bl sub_8021494
+ movs r0, 0x1
+ bl sub_8016C40
+ bl sub_8022380
+ ldr r0, _08022020
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x6C
+ adds r1, r2, 0
+ adds r1, 0x1C
+ adds r3, r2, 0
+ adds r3, 0x5C
+ ldr r2, [r2, 0x18]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _080222B6
+ .align 2, 0
+_08022020: .4byte gUnknown_203B290
+_08022024:
+ bl sub_8022420
+ ldr r0, _08022070
+ ldr r4, _08022074
+ ldr r1, [r4]
+ ldrb r1, [r1, 0x10]
+ movs r2, 0
+ bl sub_8092578
+ ldr r1, _08022078
+ ldr r4, [r4]
+ ldr r0, [r4, 0xC]
+ str r0, [r1]
+ ldr r2, _0802207C
+ ldr r1, [r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x14
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, r4, 0
+ adds r3, 0x1C
+ movs r2, 0
+ str r2, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ adds r4, 0xCC
+ ldr r1, [r4]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x5
+ bl sub_8014248
+ b _080222B6
+ .align 2, 0
+_08022070: .4byte gUnknown_202E628
+_08022074: .4byte gUnknown_203B290
+_08022078: .4byte gUnknown_202DE30
+_0802207C: .4byte gWigglytuffDialogue
+_08022080:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ movs r1, 0
+ movs r2, 0x2
+ bl sub_8021774
+ b _080222B6
+_0802208E:
+ ldr r1, [r4]
+ movs r0, 0xD
+ str r0, [r1, 0x8]
+ ldr r0, _080220B0
+ ldrb r1, [r1, 0x10]
+ movs r2, 0
+ bl sub_8092578
+ ldr r2, _080220B4
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x18
+ b _0802227A
+ .align 2, 0
+_080220B0: .4byte gUnknown_202E628
+_080220B4: .4byte gWigglytuffDialogue
+_080220B8:
+ ldr r1, [r4]
+ movs r0, 0xE
+ str r0, [r1, 0x8]
+ ldr r0, _080220D4
+ bl PlaySound
+ ldr r0, [r4]
+ movs r1, 0x98
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0x1
+ str r1, [r0]
+ b _080222B6
+ .align 2, 0
+_080220D4: .4byte 0x0000025b
+_080220D8:
+ ldr r0, [r4]
+ movs r1, 0xF
+ str r1, [r0, 0x8]
+ movs r1, 0x9A
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0x1E
+ str r1, [r0]
+ b _080222B6
+_080220EA:
+ movs r0, 0x2
+ bl sub_8021700
+ lsls r0, 24
+ cmp r0, 0
+ beq _08022108
+ bl sub_80213A0
+ ldr r0, _08022104
+ ldr r1, [r0]
+ movs r0, 0x12
+ b _0802210E
+ .align 2, 0
+_08022104: .4byte gUnknown_203B290
+_08022108:
+ ldr r0, _08022130
+ ldr r1, [r0]
+ movs r0, 0x8
+_0802210E:
+ str r0, [r1, 0x8]
+ movs r0, 0xCE
+ bl PlaySound
+ ldr r3, _08022134
+ ldr r0, _08022130
+ ldr r2, [r0]
+ ldr r1, [r2]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r3, 0x1C
+ adds r0, r3
+ ldr r0, [r0]
+ adds r2, 0xCC
+ ldr r2, [r2]
+ b _08022282
+ .align 2, 0
+_08022130: .4byte gUnknown_203B290
+_08022134: .4byte gWigglytuffDialogue
+_08022138:
+ ldr r3, [r4]
+ movs r0, 0x16
+ str r0, [r3, 0x8]
+ ldr r2, _0802214C
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x30
+ b _0802227A
+ .align 2, 0
+_0802214C: .4byte gWigglytuffDialogue
+_08022150:
+ ldr r3, [r4]
+ movs r0, 0x17
+ str r0, [r3, 0x8]
+ ldr r2, _08022164
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x34
+ b _0802227A
+ .align 2, 0
+_08022164: .4byte gWigglytuffDialogue
+_08022168:
+ movs r0, 0
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_8023144
+ b _080222B6
+_08022176:
+ movs r0, 0x1
+ bl sub_8023354
+ b _080222B6
+_0802217E:
+ ldr r4, _080221A0
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ add r1, sp, 0x14
+ movs r2, 0
+ movs r3, 0
+ bl sub_8092638
+ add r0, sp, 0x14
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _080221A4
+ ldr r1, [r4]
+ movs r0, 0x19
+ str r0, [r1, 0x8]
+ b _080221FA
+ .align 2, 0
+_080221A0: .4byte gUnknown_203B290
+_080221A4:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ bl GetFriendAreaUnlockCondition
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ beq _080221E0
+ cmp r0, 0x2
+ bgt _080221BE
+ cmp r0, 0x1
+ beq _080221C4
+ b _080221F0
+_080221BE:
+ cmp r0, 0x3
+ beq _080221E8
+ b _080221F0
+_080221C4:
+ movs r0, 0x6
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080221D8
+ ldr r1, [r4]
+ movs r0, 0x15
+ str r0, [r1, 0x8]
+ b _080221FA
+_080221D8:
+ ldr r1, [r4]
+ movs r0, 0x1A
+ str r0, [r1, 0x8]
+ b _080221FA
+_080221E0:
+ ldr r1, [r4]
+ movs r0, 0x1B
+ str r0, [r1, 0x8]
+ b _080221FA
+_080221E8:
+ ldr r1, [r4]
+ movs r0, 0x1C
+ str r0, [r1, 0x8]
+ b _080221FA
+_080221F0:
+ ldr r2, _08022228
+ ldr r1, [r2]
+ movs r0, 0x15
+ str r0, [r1, 0x8]
+ adds r4, r2, 0
+_080221FA:
+ ldr r0, [r4]
+ movs r1, 0x12
+ ldrsh r0, [r0, r1]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ ldr r0, _0802222C
+ bl strcpy
+ ldr r0, _08022230
+ ldr r1, [r4]
+ ldrb r1, [r1, 0x10]
+ movs r2, 0
+ bl sub_8092578
+ ldr r2, _08022234
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x38
+ b _0802227A
+ .align 2, 0
+_08022228: .4byte gUnknown_203B290
+_0802222C: .4byte gAvailablePokemonNames
+_08022230: .4byte gUnknown_202E628
+_08022234: .4byte gWigglytuffDialogue
+_08022238:
+ ldr r3, [r4]
+ movs r0, 0x15
+ str r0, [r3, 0x8]
+ ldr r2, _0802224C
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x3C
+ b _0802227A
+ .align 2, 0
+_0802224C: .4byte gWigglytuffDialogue
+_08022250:
+ ldr r3, [r4]
+ movs r0, 0x15
+ str r0, [r3, 0x8]
+ ldr r2, _08022264
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x40
+ b _0802227A
+ .align 2, 0
+_08022264: .4byte gWigglytuffDialogue
+_08022268:
+ ldr r3, [r4]
+ movs r0, 0x15
+ str r0, [r3, 0x8]
+ ldr r2, _0802228C
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x44
+_0802227A:
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xCC
+ ldr r2, [r3]
+_08022282:
+ ldr r3, _08022290
+_08022284:
+ movs r1, 0
+ bl sub_80141B4
+ b _080222B6
+ .align 2, 0
+_0802228C: .4byte gWigglytuffDialogue
+_08022290: .4byte 0x0000010d
+_08022294:
+ ldr r3, [r4]
+ movs r0, 0x15
+ str r0, [r3, 0x8]
+ ldr r2, _080222C0
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x48
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xCC
+ ldr r2, [r3]
+ ldr r3, _080222C4
+ movs r1, 0
+ bl sub_80141B4
+_080222B6:
+ add sp, 0x20
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080222C0: .4byte gWigglytuffDialogue
+_080222C4: .4byte 0x0000010d
+ thumb_func_end UpdateWigglytuffDialogue
+
+ thumb_func_start sub_80222C8
+sub_80222C8:
+ push {r4-r7,lr}
+ ldr r4, _08022344
+ ldr r0, [r4]
+ adds r0, 0x5C
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ movs r5, 0
+ ldr r0, _08022348
+ ldr r0, [r0]
+ str r0, [r1, 0x1C]
+ adds r3, r1, 0
+ adds r3, 0x20
+ movs r0, 0x2
+ str r0, [r1, 0x20]
+ movs r2, 0x1
+ ldr r0, _0802234C
+ ldr r0, [r0]
+ str r0, [r1, 0x24]
+ movs r0, 0x3
+ str r0, [r1, 0x28]
+ ldr r0, _08022350
+ ldr r0, [r0]
+ str r0, [r1, 0x2C]
+ movs r0, 0x4
+ str r0, [r1, 0x30]
+ ldr r0, _08022354
+ ldr r0, [r0]
+ str r0, [r1, 0x34]
+ str r2, [r1, 0x38]
+ movs r7, 0x4
+ str r5, [r1, 0x3C]
+ str r2, [r3, 0x20]
+ adds r6, r1, 0
+ adds r2, r6, 0
+ adds r2, 0x5C
+_08022314:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08022322
+ ldr r1, [r3]
+ ldr r0, [r6, 0x14]
+ cmp r1, r0
+ beq _0802237A
+_08022322:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r7
+ blt _08022314
+ movs r5, 0
+ cmp r5, r7
+ bge _0802237A
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x5C
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08022358
+ ldr r0, [r1, 0x20]
+ str r0, [r1, 0x14]
+ b _0802237A
+ .align 2, 0
+_08022344: .4byte gUnknown_203B290
+_08022348: .4byte gUnknown_80D4978
+_0802234C: .4byte gWigglytuffCheck
+_08022350: .4byte gUnknown_80D4970
+_08022354: .4byte gUnknown_80D4934
+_08022358:
+ adds r5, 0x1
+ cmp r5, r7
+ bge _0802237A
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0x5C
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08022358
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x20
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x14]
+_0802237A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80222C8
+
+ thumb_func_start sub_8022380
+sub_8022380:
+ push {r4-r7,lr}
+ ldr r4, _080223EC
+ ldr r0, [r4]
+ adds r0, 0x5C
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _080223F0
+ ldr r0, [r0]
+ str r0, [r3, 0x1C]
+ movs r0, 0x2
+ str r0, [r3, 0x20]
+ movs r1, 0x1
+ ldr r0, _080223F4
+ ldr r0, [r0]
+ str r0, [r3, 0x24]
+ movs r0, 0x4
+ str r0, [r3, 0x28]
+ movs r6, 0x2
+ str r2, [r3, 0x2C]
+ str r1, [r3, 0x30]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x20
+ mov r2, r12
+ adds r2, 0x5C
+_080223BA:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _080223CA
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x18]
+ cmp r1, r0
+ beq _0802241A
+_080223CA:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _080223BA
+ movs r5, 0
+ cmp r5, r6
+ bge _0802241A
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x5C
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080223F8
+ ldr r0, [r1, 0x20]
+ str r0, [r1, 0x18]
+ b _0802241A
+ .align 2, 0
+_080223EC: .4byte gUnknown_203B290
+_080223F0: .4byte gUnknown_80D4978
+_080223F4: .4byte gUnknown_80D4970
+_080223F8:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _0802241A
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0x5C
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _080223F8
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x20
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x18]
+_0802241A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022380
+
+ thumb_func_start sub_8022420
+sub_8022420:
+ push {r4,lr}
+ ldr r4, _08022454
+ ldr r0, [r4]
+ adds r0, 0x5C
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ movs r3, 0
+ ldr r0, _08022458
+ ldr r0, [r0]
+ str r0, [r1, 0x1C]
+ movs r0, 0x5
+ str r0, [r1, 0x20]
+ movs r2, 0x1
+ ldr r0, _0802245C
+ ldr r0, [r0]
+ str r0, [r1, 0x24]
+ movs r0, 0x6
+ str r0, [r1, 0x28]
+ str r3, [r1, 0x2C]
+ str r2, [r1, 0x30]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08022454: .4byte gUnknown_203B290
+_08022458: .4byte gUnknown_80D4920
+_0802245C: .4byte gUnknown_80D4928
+ thumb_func_end sub_8022420
+
+ thumb_func_start sub_8022460
+sub_8022460:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _080224CC
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _0802247A
+ ldr r0, _0802248C
+ ldr r0, [r0]
+ str r1, [r0, 0x14]
+_0802247A:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0802249A
+ cmp r0, 0x2
+ bgt _08022490
+ cmp r0, 0x1
+ beq _080224C6
+ b _080224CC
+ .align 2, 0
+_0802248C: .4byte gUnknown_203B290
+_08022490:
+ cmp r0, 0x3
+ beq _080224B6
+ cmp r0, 0x4
+ beq _080224BE
+ b _080224CC
+_0802249A:
+ movs r0, 0x2
+ bl sub_8021700
+ lsls r0, 24
+ cmp r0, 0
+ beq _080224AE
+ movs r0, 0x5
+ bl sub_8021D44
+ b _080224CC
+_080224AE:
+ movs r0, 0x7
+ bl sub_8021D44
+ b _080224CC
+_080224B6:
+ movs r0, 0x14
+ bl sub_8021D44
+ b _080224CC
+_080224BE:
+ movs r0, 0x2
+ bl sub_8021D44
+ b _080224CC
+_080224C6:
+ movs r0, 0x3
+ bl sub_8021D44
+_080224CC:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022460
+
+ thumb_func_start sub_80224D4
+sub_80224D4:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08022532
+ ldr r0, [sp]
+ cmp r0, 0x5
+ beq _080224F8
+ cmp r0, 0x5
+ bgt _080224F2
+ cmp r0, 0x1
+ beq _0802252C
+ b _08022532
+_080224F2:
+ cmp r0, 0x6
+ beq _0802252C
+ b _08022532
+_080224F8:
+ ldr r0, _08022524
+ ldr r2, [r0]
+ movs r0, 0x98
+ lsls r0, 2
+ adds r2, r0
+ ldr r0, _08022528
+ ldr r3, [r0]
+ ldr r0, [r2]
+ ldr r1, [r3, 0xC]
+ subs r0, r1
+ str r0, [r2]
+ ldrb r0, [r3, 0x10]
+ bl UnlockFriendArea
+ movs r0, 0xA6
+ lsls r0, 1
+ bl PlaySound
+ movs r0, 0xC
+ bl sub_8021D44
+ b _08022532
+ .align 2, 0
+_08022524: .4byte gUnknown_203B460
+_08022528: .4byte gUnknown_203B290
+_0802252C:
+ movs r0, 0xA
+ bl sub_8021D44
+_08022532:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80224D4
+
+ thumb_func_start sub_8022538
+sub_8022538:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_8021274
+ cmp r0, 0x4
+ bhi _080225BC
+ lsls r0, 2
+ ldr r1, _08022550
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022550: .4byte _08022554
+ .align 2, 0
+_08022554:
+ .4byte _080225C2
+ .4byte _080225BC
+ .4byte _080225B0
+ .4byte _08022568
+ .4byte _0802258C
+_08022568:
+ bl sub_802132C
+ ldr r4, _08022588
+ ldr r1, [r4]
+ strb r0, [r1, 0x10]
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ bl GetFriendAreaPrice
+ ldr r1, [r4]
+ str r0, [r1, 0xC]
+ movs r0, 0xB
+ bl sub_8021D44
+ b _080225C2
+ .align 2, 0
+_08022588: .4byte gUnknown_203B290
+_0802258C:
+ bl sub_802132C
+ ldr r4, _080225AC
+ ldr r1, [r4]
+ strb r0, [r1, 0x10]
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x10]
+ bl GetFriendAreaPrice
+ ldr r1, [r4]
+ str r0, [r1, 0xC]
+ movs r0, 0x10
+ bl sub_8021D44
+ b _080225C2
+ .align 2, 0
+_080225AC: .4byte gUnknown_203B290
+_080225B0:
+ bl sub_80213A0
+ movs r0, 0x1
+ bl sub_8021D44
+ b _080225C2
+_080225BC:
+ movs r0, 0x1
+ bl sub_8016C40
+_080225C2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022538
+
+ thumb_func_start sub_80225C8
+sub_80225C8:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_8021274
+ ldr r4, _08022608
+ ldr r0, [r4]
+ adds r0, 0x6C
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _080225F8
+ ldr r0, [r4]
+ adds r0, 0x6C
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _080225F8
+ ldr r0, [r4]
+ str r1, [r0, 0x18]
+_080225F8:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08022612
+ cmp r0, 0x2
+ bgt _0802260C
+ cmp r0, 0x1
+ beq _08022658
+ b _0802265E
+ .align 2, 0
+_08022608: .4byte gUnknown_203B290
+_0802260C:
+ cmp r0, 0x4
+ beq _08022650
+ b _0802265E
+_08022612:
+ ldr r0, _0802262C
+ ldr r0, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r1
+ ldr r1, [r0]
+ cmp r1, 0
+ bne _08022630
+ movs r0, 0x6
+ bl sub_8021D44
+ b _0802265E
+ .align 2, 0
+_0802262C: .4byte gUnknown_203B460
+_08022630:
+ ldr r0, _08022644
+ ldr r0, [r0]
+ ldr r0, [r0, 0xC]
+ cmp r0, r1
+ ble _08022648
+ movs r0, 0x13
+ bl sub_8021D44
+ b _0802265E
+ .align 2, 0
+_08022644: .4byte gUnknown_203B290
+_08022648:
+ movs r0, 0x11
+ bl sub_8021D44
+ b _0802265E
+_08022650:
+ movs r0, 0x10
+ bl sub_8021D44
+ b _0802265E
+_08022658:
+ movs r0, 0xA
+ bl sub_8021D44
+_0802265E:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80225C8
+
+ thumb_func_start sub_8022668
+sub_8022668:
+ push {lr}
+ bl sub_80217EC
+ cmp r0, 0x1
+ bls _08022680
+ cmp r0, 0x3
+ bhi _08022680
+ bl sub_8021830
+ movs r0, 0xA
+ bl sub_8021D44
+_08022680:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022668
+
+ thumb_func_start sub_8022684
+sub_8022684:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_8023278
+ cmp r0, 0x2
+ beq _080226BC
+ cmp r0, 0x2
+ bcc _080226C6
+ cmp r0, 0x3
+ bne _080226C6
+ bl sub_802331C
+ ldr r4, _080226B8
+ ldr r1, [r4]
+ strh r0, [r1, 0x12]
+ movs r2, 0x12
+ ldrsh r0, [r1, r2]
+ bl GetFriendArea
+ ldr r1, [r4]
+ strb r0, [r1, 0x10]
+ movs r0, 0x18
+ bl sub_8021D44
+ b _080226C6
+ .align 2, 0
+_080226B8: .4byte gUnknown_203B290
+_080226BC:
+ bl sub_80233A0
+ movs r0, 0x1
+ bl sub_8021D44
+_080226C6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022684
+
+ thumb_func_start sub_80226CC
+sub_80226CC:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _080226E4
+ ldr r0, _080226EC
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ bl sub_8021D44
+_080226E4:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080226EC: .4byte gUnknown_203B290
+ thumb_func_end sub_80226CC
+
+ thumb_func_start sub_80226F0
+sub_80226F0:
+ push {r4,lr}
+ sub sp, 0x4
+ mov r1, sp
+ movs r2, 0
+ movs r0, 0x80
+ strb r0, [r1]
+ strb r0, [r1, 0x1]
+ movs r0, 0x10
+ strb r0, [r1, 0x2]
+ strb r2, [r1, 0x3]
+ bl sub_8099B94
+ lsls r0, 24
+ cmp r0, 0
+ bne _08022782
+ ldr r0, _08022728
+ ldr r0, [r0]
+ movs r1, 0x98
+ lsls r1, 1
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x4
+ bhi _0802275C
+ lsls r0, 2
+ ldr r1, _0802272C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022728: .4byte gUnknown_203B290
+_0802272C: .4byte _08022730
+ .align 2, 0
+_08022730:
+ .4byte _0802275C
+ .4byte _08022744
+ .4byte _08022750
+ .4byte _08022744
+ .4byte _08022750
+_08022744:
+ movs r0, 0x5
+ movs r1, 0x2
+ ldr r2, [sp]
+ bl sub_8099AFC
+ b _08022772
+_08022750:
+ movs r0, 0x5
+ movs r1, 0x2
+ ldr r2, [sp]
+ bl sub_8099A5C
+ b _08022772
+_0802275C:
+ ldr r4, _0802278C
+ ldr r0, [r4]
+ ldr r0, [r0, 0x8]
+ bl sub_8021D44
+ ldr r0, [r4]
+ movs r1, 0x98
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0
+ str r1, [r0]
+_08022772:
+ ldr r0, _0802278C
+ ldr r1, [r0]
+ movs r0, 0x98
+ lsls r0, 1
+ adds r1, r0
+ ldr r0, [r1]
+ adds r0, 0x1
+ str r0, [r1]
+_08022782:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802278C: .4byte gUnknown_203B290
+ thumb_func_end sub_80226F0
+
+ thumb_func_start sub_8022790
+sub_8022790:
+ push {lr}
+ ldr r0, _080227A8
+ ldr r2, [r0]
+ movs r0, 0x9A
+ lsls r0, 1
+ adds r1, r2, r0
+ ldr r0, [r1]
+ cmp r0, 0
+ beq _080227AC
+ subs r0, 0x1
+ str r0, [r1]
+ b _080227B2
+ .align 2, 0
+_080227A8: .4byte gUnknown_203B290
+_080227AC:
+ ldr r0, [r2, 0x8]
+ bl sub_8021D44
+_080227B2:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022790
+
+ thumb_func_start sub_80227B8
+sub_80227B8:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl ResetUnusedInputStruct
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, _08022810
+ movs r0, 0xD4
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ adds r2, r0, 0
+ adds r2, 0xF4
+ movs r1, 0
+ str r1, [r2]
+ str r5, [r0, 0x48]
+ cmp r5, 0
+ beq _08022820
+ ldr r4, _08022814
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x7
+ bl sub_808D9AC
+ adds r4, 0x50
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x6
+ bl sub_808D9AC
+ bl sub_809177C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08022818
+ movs r0, 0
+ bl sub_8022924
+ b _08022856
+ .align 2, 0
+_08022810: .4byte gUnknown_203B294
+_08022814: .4byte gAvailablePokemonNames
+_08022818:
+ movs r0, 0x11
+ bl sub_8022924
+ b _08022856
+_08022820:
+ ldr r4, _08022848
+ ldr r5, _0802284C
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl strcpy
+ adds r4, 0x50
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl strcpy
+ bl sub_8090A34
+ cmp r0, 0
+ bne _08022850
+ movs r0, 0x12
+ bl sub_8022924
+ b _08022856
+ .align 2, 0
+_08022848: .4byte gAvailablePokemonNames
+_0802284C: .4byte gUnknown_80DC5EC
+_08022850:
+ movs r0, 0
+ bl sub_8022924
+_08022856:
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80227B8
+
+ thumb_func_start sub_8022860
+sub_8022860:
+ push {lr}
+ ldr r0, _08022878
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x16
+ bhi _080228FE
+ lsls r0, 2
+ ldr r1, _0802287C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022878: .4byte gUnknown_203B294
+_0802287C: .4byte _08022880
+ .align 2, 0
+_08022880:
+ .4byte _080228DC
+ .4byte _080228DC
+ .4byte _080228E2
+ .4byte _080228E8
+ .4byte _080228EE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228FE
+ .4byte _080228F4
+ .4byte _080228FA
+_080228DC:
+ bl sub_8022E78
+ b _08022902
+_080228E2:
+ bl sub_8022EF4
+ b _08022902
+_080228E8:
+ bl sub_8023068
+ b _08022902
+_080228EE:
+ bl sub_80230E8
+ b _08022902
+_080228F4:
+ bl sub_8023104
+ b _08022902
+_080228FA:
+ movs r0, 0x3
+ b _08022904
+_080228FE:
+ bl sub_8023120
+_08022902:
+ movs r0, 0
+_08022904:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8022860
+
+ thumb_func_start sub_8022908
+sub_8022908:
+ push {r4,lr}
+ ldr r4, _08022920
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0802291A
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0802291A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08022920: .4byte gUnknown_203B294
+ thumb_func_end sub_8022908
+
+ thumb_func_start sub_8022924
+sub_8022924:
+ push {lr}
+ ldr r1, _08022938
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_802293C
+ bl sub_8022A10
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08022938: .4byte gUnknown_203B294
+ thumb_func_end sub_8022924
+
+ thumb_func_start sub_802293C
+sub_802293C:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _08022964
+ ldr r0, [r4]
+ movs r1, 0xA4
+ lsls r1, 1
+ adds r0, r1
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1]
+ cmp r0, 0x3
+ beq _080229A4
+ cmp r0, 0x3
+ bgt _08022968
+ cmp r0, 0x2
+ beq _08022972
+ b _080229BC
+ .align 2, 0
+_08022964: .4byte gUnknown_203B294
+_08022968:
+ cmp r0, 0x10
+ bgt _080229BC
+ cmp r0, 0xA
+ blt _080229BC
+ b _080229E6
+_08022972:
+ bl sub_8022D2C
+ ldr r2, [r4]
+ movs r0, 0xBC
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _080229A0
+ 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, 0xF8
+ bl sub_8012CAC
+ ldr r0, [r4]
+ movs r6, 0xC2
+ lsls r6, 1
+ adds r0, r6
+ movs r1, 0x6
+ strh r1, [r0]
+ b _080229E6
+ .align 2, 0
+_080229A0: .4byte gUnknown_80DC5BC
+_080229A4:
+ movs r7, 0xB0
+ lsls r7, 1
+ adds r1, r7
+ ldr r0, _080229B8
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ b _080229E6
+ .align 2, 0
+_080229B8: .4byte gUnknown_80DC5D4
+_080229BC:
+ ldr r0, _08022A08
+ mov r12, r0
+ movs r1, 0xA4
+ lsls r1, 1
+ mov r8, r1
+ ldr r4, _08022A0C
+ movs r3, 0
+ movs r2, 0x3
+_080229CC:
+ 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 _080229CC
+_080229E6:
+ bl ResetUnusedInputStruct
+ ldr r0, _08022A08
+ ldr r0, [r0]
+ movs r6, 0xA4
+ lsls r6, 1
+ adds r0, r6
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08022A08: .4byte gUnknown_203B294
+_08022A0C: .4byte gUnknown_80DC5A4
+ thumb_func_end sub_802293C
+
+ thumb_func_start sub_8022A10
+sub_8022A10:
+ push {r4-r7,lr}
+ sub sp, 0x8
+ ldr r1, _08022A2C
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0x16
+ bls _08022A22
+ b _08022D1E
+_08022A22:
+ lsls r0, 2
+ ldr r1, _08022A30
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022A2C: .4byte gUnknown_203B294
+_08022A30: .4byte _08022A34
+ .align 2, 0
+_08022A34:
+ .4byte _08022A90
+ .4byte _08022AAA
+ .4byte _08022AB2
+ .4byte _08022AE0
+ .4byte _08022B10
+ .4byte _08022B1A
+ .4byte _08022B24
+ .4byte _08022B34
+ .4byte _08022B44
+ .4byte _08022B54
+ .4byte _08022B64
+ .4byte _08022C28
+ .4byte _08022CA0
+ .4byte _08022CA8
+ .4byte _08022CB0
+ .4byte _08022CB8
+ .4byte _08022CC0
+ .4byte _08022CC8
+ .4byte _08022CD8
+ .4byte _08022CE8
+ .4byte _08022CF8
+ .4byte _08022D14
+ .4byte _08022D1E
+_08022A90:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x48]
+ cmp r0, 0
+ beq _08022A9C
+ movs r0, 0x5
+ b _08022A9E
+_08022A9C:
+ movs r0, 0x1
+_08022A9E:
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _08022D22
+_08022AAA:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _08022D22
+_08022AB2:
+ bl sub_801A9E0
+ ldr r0, _08022ADC
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x54
+ adds r1, r2, 0
+ adds r1, 0xF8
+ movs r4, 0x9C
+ lsls r4, 1
+ adds r3, r2, r4
+ adds r2, 0xF4
+ ldr r2, [r2]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _08022D22
+ .align 2, 0
+_08022ADC: .4byte gUnknown_203B294
+_08022AE0:
+ bl sub_801A9E0
+ ldr r4, _08022B08
+ ldr r0, [r4]
+ adds r0, 0x54
+ movs r1, 0
+ bl sub_8012EA4
+ ldr r0, [r4]
+ adds r0, 0xA4
+ ldr r1, _08022B0C
+ movs r2, 0x3
+ str r2, [sp]
+ movs r2, 0x1
+ str r2, [sp, 0x4]
+ movs r2, 0
+ movs r3, 0
+ bl sub_8012D60
+ b _08022D22
+ .align 2, 0
+_08022B08: .4byte gUnknown_203B294
+_08022B0C: .4byte gUnknown_80DC584
+_08022B10:
+ ldr r0, [r4]
+ adds r0, 0x50
+ bl sub_801B3C0
+ b _08022D22
+_08022B1A:
+ ldr r0, _08022B20
+ b _08022D00
+ .align 2, 0
+_08022B20: .4byte gUnknown_80DC5F4
+_08022B24:
+ ldr r0, _08022B2C
+ ldr r3, _08022B30
+ b _08022D02
+ .align 2, 0
+_08022B2C: .4byte gUnknown_80DC618
+_08022B30: .4byte 0x00000101
+_08022B34:
+ ldr r0, _08022B3C
+ ldr r3, _08022B40
+ b _08022D02
+ .align 2, 0
+_08022B3C: .4byte gUnknown_80DC674
+_08022B40: .4byte 0x00000101
+_08022B44:
+ ldr r0, _08022B4C
+ ldr r3, _08022B50
+ b _08022D02
+ .align 2, 0
+_08022B4C: .4byte gUnknown_80DC6CC
+_08022B50: .4byte 0x00000101
+_08022B54:
+ ldr r0, _08022B5C
+ ldr r3, _08022B60
+ b _08022D02
+ .align 2, 0
+_08022B5C: .4byte gUnknown_80DC728
+_08022B60: .4byte 0x00000101
+_08022B64:
+ ldr r7, _08022B68
+ b _08022B78
+ .align 2, 0
+_08022B68: .4byte gUnknown_203B294
+_08022B6C:
+ ldr r1, [r4]
+ ldr r0, [r1, 0x40]
+ adds r0, 0x1
+ str r0, [r1, 0x40]
+ cmp r0, 0x17
+ bgt _08022C10
+_08022B78:
+ movs r5, 0
+ movs r6, 0
+ movs r3, 0
+ ldr r2, [r4]
+ ldr r0, [r2, 0x38]
+ cmp r5, r0
+ bge _08022BA4
+ ldrb r1, [r2, 0x8]
+ b _08022B9C
+_08022B8A:
+ adds r3, 0x1
+ ldr r2, [r4]
+ ldr r0, [r2, 0x38]
+ cmp r3, r0
+ bge _08022BA4
+ adds r0, r2, 0
+ adds r0, 0x8
+ adds r0, r3
+ ldrb r1, [r0]
+_08022B9C:
+ ldr r0, [r2, 0x40]
+ cmp r1, r0
+ bne _08022B8A
+ movs r5, 0x1
+_08022BA4:
+ movs r3, 0
+ ldr r2, [r4]
+ ldr r0, [r2, 0x3C]
+ cmp r3, r0
+ bge _08022BCE
+ adds r0, r2, 0
+ adds r0, 0x20
+ b _08022BC4
+_08022BB4:
+ adds r3, 0x1
+ ldr r2, [r4]
+ ldr r0, [r2, 0x3C]
+ cmp r3, r0
+ bge _08022BCE
+ adds r0, r2, 0
+ adds r0, 0x20
+ adds r0, r3
+_08022BC4:
+ ldrb r1, [r0]
+ ldr r0, [r2, 0x40]
+ cmp r1, r0
+ bne _08022BB4
+ movs r6, 0x1
+_08022BCE:
+ cmp r5, r6
+ beq _08022B6C
+ ldr r1, [r7]
+ movs r0, 0xA
+ str r0, [r1, 0x4]
+ ldr r0, [r1, 0x40]
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetIQSkillName
+ adds r1, r0, 0
+ ldr r0, _08022C18
+ bl strcpy
+ movs r0, 0xCB
+ bl PlaySound
+ ldr r0, _08022C1C
+ movs r1, 0
+ movs r2, 0
+ ldr r3, _08022C20
+ bl sub_80141B4
+ ldr r1, [r7]
+ ldr r0, [r1, 0x40]
+ adds r0, 0x1
+ str r0, [r1, 0x40]
+ ldr r0, _08022C24
+ ldr r0, [r0]
+ ldr r0, [r0, 0x40]
+ cmp r0, 0x17
+ bgt _08022C10
+ b _08022D22
+_08022C10:
+ movs r0, 0xB
+ bl sub_8022924
+ b _08022D22
+ .align 2, 0
+_08022C18: .4byte gUnknown_202DEA8
+_08022C1C: .4byte gUnknown_80DC788
+_08022C20: .4byte 0x00000101
+_08022C24: .4byte gUnknown_203B294
+_08022C28:
+ ldr r1, [r4]
+ movs r0, 0x16
+ str r0, [r1, 0x4]
+ bl nullsub_104
+ ldr r0, [r4]
+ adds r0, 0x46
+ ldrh r0, [r0]
+ cmp r0, 0x8
+ bhi _08022C98
+ lsls r0, 2
+ ldr r1, _08022C48
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022C48: .4byte _08022C4C
+ .align 2, 0
+_08022C4C:
+ .4byte _08022C70
+ .4byte _08022C78
+ .4byte _08022C80
+ .4byte _08022C98
+ .4byte _08022C88
+ .4byte _08022C98
+ .4byte _08022C98
+ .4byte _08022C98
+ .4byte _08022C90
+_08022C70:
+ movs r0, 0x16
+ bl sub_8022924
+ b _08022D22
+_08022C78:
+ movs r0, 0xD
+ bl sub_8022924
+ b _08022D22
+_08022C80:
+ movs r0, 0xE
+ bl sub_8022924
+ b _08022D22
+_08022C88:
+ movs r0, 0xF
+ bl sub_8022924
+ b _08022D22
+_08022C90:
+ movs r0, 0x10
+ bl sub_8022924
+ b _08022D22
+_08022C98:
+ movs r0, 0xC
+ bl sub_8022924
+ b _08022D22
+_08022CA0:
+ ldr r0, _08022CA4
+ b _08022D00
+ .align 2, 0
+_08022CA4: .4byte gUnknown_80DC7B4
+_08022CA8:
+ ldr r0, _08022CAC
+ b _08022D00
+ .align 2, 0
+_08022CAC: .4byte gUnknown_80DC7FC
+_08022CB0:
+ ldr r0, _08022CB4
+ b _08022D00
+ .align 2, 0
+_08022CB4: .4byte gUnknown_80DC81C
+_08022CB8:
+ ldr r0, _08022CBC
+ b _08022D00
+ .align 2, 0
+_08022CBC: .4byte gUnknown_80DC844
+_08022CC0:
+ ldr r0, _08022CC4
+ b _08022D00
+ .align 2, 0
+_08022CC4: .4byte gUnknown_80DC864
+_08022CC8:
+ ldr r1, [r4]
+ movs r0, 0x16
+ str r0, [r1, 0x4]
+ ldr r0, _08022CD4
+ b _08022D00
+ .align 2, 0
+_08022CD4: .4byte gUnknown_80DC88C
+_08022CD8:
+ ldr r1, [r4]
+ movs r0, 0x16
+ str r0, [r1, 0x4]
+ ldr r0, _08022CE4
+ b _08022D00
+ .align 2, 0
+_08022CE4: .4byte gUnknown_80DC8AC
+_08022CE8:
+ ldr r1, [r4]
+ movs r0, 0x16
+ str r0, [r1, 0x4]
+ ldr r0, _08022CF4
+ b _08022D00
+ .align 2, 0
+_08022CF4: .4byte gUnknown_80DC8C8
+_08022CF8:
+ ldr r1, [r4]
+ movs r0, 0x16
+ str r0, [r1, 0x4]
+ ldr r0, _08022D0C
+_08022D00:
+ ldr r3, _08022D10
+_08022D02:
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _08022D22
+ .align 2, 0
+_08022D0C: .4byte gUnknown_80DC8DC
+_08022D10: .4byte 0x00000301
+_08022D14:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x4C]
+ bl sub_801AFA4
+ b _08022D22
+_08022D1E:
+ bl sub_801A928
+_08022D22:
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022A10
+
+ thumb_func_start sub_8022D2C
+sub_8022D2C:
+ push {r4-r7,lr}
+ movs r6, 0
+ ldr r4, _08022D78
+ ldr r0, [r4]
+ movs r1, 0x9C
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r2, [r4]
+ ldr r0, [r2, 0x48]
+ cmp r0, 0
+ beq _08022D80
+ adds r1, r2, 0
+ adds r1, 0xF8
+ ldr r0, _08022D7C
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x5
+ str r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0x52
+ ldrb r0, [r0]
+ bl sub_8091764
+ lsls r0, 24
+ cmp r0, 0
+ bne _08022D74
+ ldr r0, [r4]
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r0, r2
+ movs r1, 0x1
+ strh r1, [r0]
+_08022D74:
+ movs r6, 0x1
+ b _08022DBE
+ .align 2, 0
+_08022D78: .4byte gUnknown_203B294
+_08022D7C: .4byte gUnknown_80DC8F0
+_08022D80:
+ adds r0, r2, 0
+ adds r0, 0x52
+ ldrb r0, [r0]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bne _08022DA4
+ ldr r1, [r4]
+ adds r2, r1, 0
+ adds r2, 0xF8
+ ldr r0, _08022E38
+ str r0, [r2]
+ adds r1, 0xFC
+ movs r0, 0x6
+ str r0, [r1]
+ movs r6, 0x1
+_08022DA4:
+ ldr r2, [r4]
+ lsls r3, r6, 3
+ adds r0, r2, 0
+ adds r0, 0xF8
+ adds r0, r3
+ ldr r1, _08022E3C
+ ldr r1, [r1]
+ str r1, [r0]
+ adds r2, 0xFC
+ adds r2, r3
+ movs r0, 0x4
+ str r0, [r2]
+ adds r6, 0x1
+_08022DBE:
+ ldr r4, _08022E40
+ ldr r0, [r4]
+ mov r12, r0
+ lsls r1, r6, 3
+ mov r2, r12
+ adds r2, 0xF8
+ adds r3, r2, r1
+ ldr r0, _08022E44
+ ldr r0, [r0]
+ str r0, [r3]
+ mov r3, r12
+ adds r3, 0xFC
+ adds r1, r3, r1
+ movs r0, 0x7
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r2, r1
+ movs r0, 0
+ str r0, [r2]
+ adds r1, r3, r1
+ movs r0, 0x1
+ str r0, [r1]
+ movs r5, 0
+ adds r7, r4, 0
+ cmp r5, r6
+ bge _08022E16
+ mov r4, r12
+ adds r4, 0xF4
+ movs r2, 0x9C
+ lsls r2, 1
+ add r2, r12
+_08022DFE:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08022E0C
+ ldr r1, [r3]
+ ldr r0, [r4]
+ cmp r1, r0
+ beq _08022E70
+_08022E0C:
+ adds r2, 0x2
+ adds r3, 0x8
+ adds r5, 0x1
+ cmp r5, r6
+ blt _08022DFE
+_08022E16:
+ movs r5, 0
+ cmp r5, r6
+ bge _08022E70
+ ldr r1, [r7]
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08022E48
+ adds r0, r1, 0
+ adds r0, 0xF4
+ adds r1, 0xFC
+ ldr r1, [r1]
+ str r1, [r0]
+ b _08022E70
+ .align 2, 0
+_08022E38: .4byte gUnknown_80DC8F8
+_08022E3C: .4byte gUnknown_80D4940
+_08022E40: .4byte gUnknown_203B294
+_08022E44: .4byte gUnknown_80D4970
+_08022E48:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _08022E70
+ ldr r3, [r7]
+ lsls r0, r5, 1
+ movs r2, 0x9C
+ lsls r2, 1
+ adds r1, r3, r2
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08022E48
+ adds r2, r3, 0
+ adds r2, 0xF4
+ lsls r1, r5, 3
+ adds r0, r3, 0
+ adds r0, 0xFC
+ adds r0, r1
+ ldr r0, [r0]
+ str r0, [r2]
+_08022E70:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022D2C
+
+ thumb_func_start sub_8022E78
+sub_8022E78:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x3
+ beq _08022E94
+ cmp r0, 0x3
+ bhi _08022E8E
+ cmp r0, 0x2
+ beq _08022EE8
+ b _08022EEE
+_08022E8E:
+ cmp r0, 0x4
+ beq _08022EBC
+ b _08022EEE
+_08022E94:
+ bl sub_801A8AC
+ ldr r1, _08022EB4
+ ldr r2, [r1]
+ str r0, [r2, 0x4C]
+ ldr r1, _08022EB8
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x50]
+ movs r0, 0x2
+ bl sub_8022924
+ b _08022EEE
+ .align 2, 0
+_08022EB4: .4byte gUnknown_203B294
+_08022EB8: .4byte gUnknown_203B460
+_08022EBC:
+ bl sub_801A8AC
+ ldr r1, _08022EE0
+ ldr r2, [r1]
+ str r0, [r2, 0x4C]
+ ldr r1, _08022EE4
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x50]
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x4
+ bl sub_8022924
+ b _08022EEE
+ .align 2, 0
+_08022EE0: .4byte gUnknown_203B294
+_08022EE4: .4byte gUnknown_203B460
+_08022EE8:
+ movs r0, 0x16
+ bl sub_8022924
+_08022EEE:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022E78
+
+ thumb_func_start sub_8022EF4
+sub_8022EF4:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _08022F3C
+ ldr r0, [r4]
+ adds r0, 0x54
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08022F26
+ ldr r0, [r4]
+ adds r0, 0x54
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08022F26
+ ldr r0, [r4]
+ adds r0, 0xF4
+ str r1, [r0]
+_08022F26:
+ ldr r0, [sp]
+ subs r0, 0x1
+ cmp r0, 0x6
+ bls _08022F30
+ b _08023060
+_08022F30:
+ lsls r0, 2
+ ldr r1, _08022F40
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022F3C: .4byte gUnknown_203B294
+_08022F40: .4byte _08022F44
+ .align 2, 0
+_08022F44:
+ .4byte _08022F60
+ .4byte _08023060
+ .4byte _08023060
+ .4byte _0802304C
+ .4byte _08022F68
+ .4byte _08023044
+ .4byte _08023054
+_08022F60:
+ movs r0, 0x1
+ bl sub_8022924
+ b _08023060
+_08022F68:
+ ldr r4, _08022FEC
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x8
+ ldr r1, [r1, 0x48]
+ movs r2, 0x14
+ ldrsh r1, [r1, r2]
+ bl sub_808EBA8
+ ldr r3, [r4]
+ str r0, [r3, 0x38]
+ ldr r0, [r3, 0x48]
+ adds r1, r3, 0
+ adds r1, 0x52
+ ldrb r1, [r1]
+ adds r3, 0x44
+ movs r2, 0
+ bl sub_80915F4
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x20
+ ldr r1, [r1, 0x48]
+ movs r2, 0x14
+ ldrsh r1, [r1, r2]
+ bl sub_808EBA8
+ ldr r1, [r4]
+ str r0, [r1, 0x3C]
+ movs r0, 0x1
+ str r0, [r1, 0x40]
+ adds r0, r1, 0
+ adds r0, 0x44
+ movs r2, 0
+ ldrsh r5, [r0, r2]
+ ldr r0, _08022FF0
+ ldr r3, _08022FF4
+ ldr r2, [r1, 0x4C]
+ lsls r2, 2
+ ldr r1, [r3]
+ adds r1, r2
+ movs r2, 0
+ bl sub_8090E14
+ movs r0, 0x1
+ negs r0, r0
+ cmp r5, r0
+ beq _08022FD0
+ ldr r0, [r4]
+ ldr r0, [r0, 0x4C]
+ bl sub_80911F8
+_08022FD0:
+ movs r0, 0
+ bl sub_8099690
+ ldr r1, [r4]
+ movs r0, 0xA
+ str r0, [r1, 0x4]
+ adds r0, r5, 0x1
+ cmp r0, 0x4
+ bhi _08023030
+ lsls r0, 2
+ ldr r1, _08022FF8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08022FEC: .4byte gUnknown_203B294
+_08022FF0: .4byte gUnknown_202DE58
+_08022FF4: .4byte gUnknown_203B460
+_08022FF8: .4byte _08022FFC
+ .align 2, 0
+_08022FFC:
+ .4byte _08023030
+ .4byte _08023010
+ .4byte _08023018
+ .4byte _08023020
+ .4byte _08023028
+_08023010:
+ movs r0, 0x6
+ bl sub_8022924
+ b _08023060
+_08023018:
+ movs r0, 0x7
+ bl sub_8022924
+ b _08023060
+_08023020:
+ movs r0, 0x8
+ bl sub_8022924
+ b _08023060
+_08023028:
+ movs r0, 0x9
+ bl sub_8022924
+ b _08023060
+_08023030:
+ ldr r0, _08023040
+ ldr r1, [r0]
+ movs r0, 0x16
+ str r0, [r1, 0x4]
+ movs r0, 0x5
+ bl sub_8022924
+ b _08023060
+ .align 2, 0
+_08023040: .4byte gUnknown_203B294
+_08023044:
+ movs r0, 0x15
+ bl sub_8022924
+ b _08023060
+_0802304C:
+ movs r0, 0x3
+ bl sub_8022924
+ b _08023060
+_08023054:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x4
+ bl sub_8022924
+_08023060:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8022EF4
+
+ thumb_func_start sub_8023068
+sub_8023068:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _080230A8
+ ldr r0, [r4]
+ adds r0, 0x54
+ bl sub_8012FD8
+ ldr r0, [r4]
+ adds r0, 0xA4
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08023096
+ ldr r0, [r4]
+ adds r0, 0xA4
+ mov r1, sp
+ bl sub_8013114
+_08023096:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _080230B8
+ cmp r0, 0x2
+ bgt _080230AC
+ cmp r0, 0x1
+ beq _080230B0
+ b _080230E0
+ .align 2, 0
+_080230A8: .4byte gUnknown_203B294
+_080230AC:
+ cmp r0, 0x3
+ bne _080230E0
+_080230B0:
+ movs r0, 0x1
+ bl sub_8022924
+ b _080230E0
+_080230B8:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x4C]
+ bl sub_80911F8
+ bl sub_8090A34
+ cmp r0, 0
+ bne _080230DA
+ movs r0, 0
+ bl sub_8099690
+ bl sub_801A928
+ movs r0, 0x14
+ bl sub_8022924
+ b _080230E0
+_080230DA:
+ movs r0, 0x1
+ bl sub_8022924
+_080230E0:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8023068
+
+ thumb_func_start sub_80230E8
+sub_80230E8:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _08023100
+ cmp r0, 0x3
+ bhi _08023100
+ bl sub_801B450
+ movs r0, 0x1
+ bl sub_8022924
+_08023100:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80230E8
+
+ thumb_func_start sub_8023104
+sub_8023104:
+ push {lr}
+ bl sub_801B00C
+ cmp r0, 0x1
+ bls _0802311C
+ cmp r0, 0x3
+ bhi _0802311C
+ bl sub_801B048
+ movs r0, 0x1
+ bl sub_8022924
+_0802311C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8023104
+
+ thumb_func_start sub_8023120
+sub_8023120:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08023138
+ ldr r0, _08023140
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ bl sub_8022924
+_08023138:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023140: .4byte gUnknown_203B294
+ thumb_func_end sub_8023120
+
+ thumb_func_start sub_8023144
+sub_8023144:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r7, r1, 0
+ mov r9, r2
+ mov r10, r3
+ lsls r0, 24
+ lsrs r0, 24
+ adds r4, r0, 0
+ bl sub_8023704
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023168
+ movs r0, 0
+ b _08023252
+_08023168:
+ ldr r6, _08023260
+ ldr r0, [r6]
+ cmp r0, 0
+ bne _0802317C
+ movs r0, 0xFF
+ lsls r0, 2
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r6]
+_0802317C:
+ ldr r0, [r6]
+ strb r4, [r0]
+ ldr r0, [r6]
+ ldr r1, _08023264
+ ldr r1, [r1]
+ str r1, [r0, 0x4]
+ movs r4, 0xE4
+ lsls r4, 2
+ adds r1, r0, r4
+ str r7, [r1]
+ movs r1, 0xE5
+ lsls r1, 2
+ mov r8, r1
+ adds r2, r0, r1
+ lsls r1, r7, 1
+ adds r1, r7
+ lsls r1, 3
+ movs r5, 0xE6
+ lsls r5, 2
+ adds r1, r5
+ adds r1, r0, r1
+ str r1, [r2]
+ adds r0, r5
+ bl sub_8006518
+ ldr r1, [r6]
+ adds r4, r1, r4
+ ldr r2, [r4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, r5
+ ldr r0, _08023268
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r2, [r6]
+ mov r1, r8
+ adds r0, r2, r1
+ ldr r1, [r0]
+ movs r3, 0xFE
+ lsls r3, 2
+ adds r0, r2, r3
+ str r0, [r1, 0x14]
+ mov r4, r9
+ cmp r4, 0
+ beq _080231F6
+ movs r1, 0xE4
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ subs r3, 0x58
+ adds r1, r2, r3
+ adds r1, r0
+ ldr r0, [r4]
+ str r0, [r1]
+_080231F6:
+ ldr r0, [r6]
+ add r0, r8
+ ldr r0, [r0]
+ mov r1, r10
+ bl sub_8012D08
+ bl ResetUnusedInputStruct
+ ldr r0, [r6]
+ adds r0, r5
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r6]
+ movs r5, 0xD7
+ lsls r5, 2
+ adds r4, r5
+ bl sub_80236A4
+ adds r1, r0, 0
+ adds r0, r4, 0
+ mov r2, r10
+ adds r3, r7, 0
+ bl sub_8013818
+ ldr r0, [r6]
+ ldr r1, _0802326C
+ ldrh r2, [r1]
+ movs r4, 0xDD
+ lsls r4, 2
+ adds r1, r0, r4
+ strh r2, [r1]
+ ldr r1, _08023270
+ ldrh r2, [r1]
+ ldr r3, _08023274
+ adds r1, r0, r3
+ strh r2, [r1]
+ adds r0, r5
+ bl sub_8013984
+ bl sub_8023420
+ bl sub_80234BC
+ movs r0, 0x1
+_08023252:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08023260: .4byte gUnknown_3001B5C
+_08023264: .4byte gUnknown_203B298
+_08023268: .4byte gUnknown_80DC91C
+_0802326C: .4byte gUnknown_203B29C
+_08023270: .4byte gUnknown_203B29E
+_08023274: .4byte 0x0000037a
+ thumb_func_end sub_8023144
+
+ thumb_func_start sub_8023278
+sub_8023278:
+ push {r4,lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _08023298
+ ldr r0, _08023294
+ ldr r0, [r0]
+ movs r1, 0xD7
+ lsls r1, 2
+ adds r0, r1
+ bl sub_8013660
+ movs r0, 0
+ b _08023316
+ .align 2, 0
+_08023294: .4byte gUnknown_3001B5C
+_08023298:
+ ldr r4, _080232B4
+ ldr r0, [r4]
+ movs r1, 0xD7
+ lsls r1, 2
+ adds r0, r1
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _080232BE
+ cmp r0, 0x2
+ bgt _080232B8
+ cmp r0, 0x1
+ beq _080232C8
+ b _080232EC
+ .align 2, 0
+_080232B4: .4byte gUnknown_3001B5C
+_080232B8:
+ cmp r0, 0x3
+ beq _080232D2
+ b _080232EC
+_080232BE:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _08023316
+_080232C8:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _08023316
+_080232D2:
+ movs r0, 0x5
+ bl PlayMenuSoundEffect
+ ldr r0, [r4]
+ ldr r1, [r0, 0x4]
+ movs r2, 0x1
+ cmp r1, 0x1
+ bhi _080232E4
+ adds r2, r1, 0x1
+_080232E4:
+ str r2, [r0, 0x4]
+ bl sub_80236A4
+ b _0802330C
+_080232EC:
+ ldr r0, _08023308
+ ldr r0, [r0]
+ movs r1, 0xD7
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802330C
+ movs r0, 0
+ b _08023316
+ .align 2, 0
+_08023308: .4byte gUnknown_3001B5C
+_0802330C:
+ bl sub_8023420
+ bl sub_80234BC
+ movs r0, 0x1
+_08023316:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023278
+
+ thumb_func_start sub_802331C
+sub_802331C:
+ ldr r0, _0802334C
+ ldr r0, [r0]
+ ldr r2, _08023350
+ adds r1, r0, r2
+ movs r3, 0
+ ldrsh r2, [r1, r3]
+ movs r3, 0xDE
+ lsls r3, 2
+ adds r1, r0, r3
+ movs r3, 0
+ ldrsh r1, [r1, r3]
+ muls r1, r2
+ movs r3, 0xDD
+ lsls r3, 2
+ adds r2, r0, r3
+ movs r3, 0
+ ldrsh r2, [r2, r3]
+ adds r1, r2
+ lsls r1, 1
+ adds r0, 0xC
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_0802334C: .4byte gUnknown_3001B5C
+_08023350: .4byte 0x0000037a
+ thumb_func_end sub_802331C
+
+ thumb_func_start sub_8023354
+sub_8023354:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl ResetUnusedInputStruct
+ ldr r5, _0802339C
+ ldr r0, [r5]
+ movs r1, 0xE6
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ ldr r0, [r5]
+ movs r1, 0xD7
+ lsls r1, 2
+ adds r0, r1
+ bl sub_8013984
+ bl sub_8023420
+ bl sub_80234BC
+ cmp r4, 0
+ beq _08023396
+ ldr r0, [r5]
+ movs r1, 0xD7
+ lsls r1, 2
+ adds r0, r1
+ bl AddMenuCursorSprite
+_08023396:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802339C: .4byte gUnknown_3001B5C
+ thumb_func_end sub_8023354
+
+ thumb_func_start sub_80233A0
+sub_80233A0:
+ push {r4-r6,lr}
+ ldr r5, _08023408
+ ldr r2, [r5]
+ cmp r2, 0
+ beq _08023400
+ ldr r1, _0802340C
+ ldr r0, [r2, 0x4]
+ str r0, [r1]
+ ldr r1, _08023410
+ movs r3, 0xDD
+ lsls r3, 2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1]
+ ldr r1, _08023414
+ ldr r6, _08023418
+ adds r0, r2, r6
+ ldrh r0, [r0]
+ strh r0, [r1]
+ movs r1, 0xE4
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r0, [r0]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ movs r4, 0xE6
+ lsls r4, 2
+ adds r1, r4
+ ldr r0, _0802341C
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ adds r0, r4
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r5]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r5]
+_08023400:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023408: .4byte gUnknown_3001B5C
+_0802340C: .4byte gUnknown_203B298
+_08023410: .4byte gUnknown_203B29C
+_08023414: .4byte gUnknown_203B29E
+_08023418: .4byte 0x0000037a
+_0802341C: .4byte gUnknown_80DC904
+ thumb_func_end sub_80233A0
+
+ thumb_func_start sub_8023420
+sub_8023420:
+ push {r4,r5,lr}
+ ldr r4, _080234A8
+ ldr r0, [r4]
+ movs r1, 0xFE
+ lsls r1, 2
+ adds r0, r1
+ movs r2, 0
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldr r1, _080234AC
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r1, 0x1
+ adds r0, r1
+ movs r1, 0xC
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldr r1, _080234B0
+ adds r0, r1
+ strb r2, [r0]
+ ldr r0, [r4]
+ ldr r2, _080234B4
+ adds r0, r2
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ ldr r3, [r4]
+ movs r2, 0xE4
+ lsls r2, 2
+ adds r5, r3, r2
+ ldr r2, [r5]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r3, r1
+ ldr r2, _080234B8
+ adds r1, r2
+ lsls r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r2, [r5]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r3, r1
+ movs r1, 0xEA
+ lsls r1, 2
+ adds r3, r1
+ strh r0, [r3]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ movs r2, 0xE6
+ lsls r2, 2
+ adds r0, r2
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080234A8: .4byte gUnknown_3001B5C
+_080234AC: .4byte 0x000003f9
+_080234B0: .4byte 0x000003fb
+_080234B4: .4byte 0x00000376
+_080234B8: .4byte 0x000003a6
+ thumb_func_end sub_8023420
+
+ thumb_func_start sub_80234BC
+sub_80234BC:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x178
+ ldr r5, _0802368C
+ ldr r0, [r5]
+ movs r4, 0xE4
+ lsls r4, 2
+ adds r0, r4
+ ldr r0, [r0]
+ bl sub_8008C54
+ ldr r0, [r5]
+ adds r0, r4
+ ldr r0, [r0]
+ bl sub_80073B8
+ ldr r2, _08023690
+ ldr r0, [r5]
+ adds r0, r4
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r3, [r5]
+ ldr r1, _08023694
+ adds r0, r3, r1
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, 0x4
+ ldr r2, _08023698
+ adds r1, r3, r2
+ movs r6, 0
+ ldrsh r2, [r1, r6]
+ adds r2, 0x1
+ movs r1, 0x7
+ str r1, [sp]
+ adds r3, r4
+ ldr r1, [r3]
+ str r1, [sp, 0x4]
+ movs r1, 0
+ movs r3, 0x2
+ bl sub_8012BC4
+ movs r0, 0
+ mov r10, r0
+ ldr r0, [r5]
+ ldr r1, _0802369C
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r10, r0
+ blt _08023532
+ b _0802366C
+_08023532:
+ ldr r3, _0802368C
+ ldr r0, [r3]
+ movs r6, 0xD7
+ lsls r6, 2
+ adds r0, r6
+ mov r1, r10
+ bl sub_8013800
+ mov r8, r0
+ ldr r0, _0802368C
+ ldr r1, [r0]
+ ldr r2, _08023698
+ adds r0, r1, r2
+ movs r3, 0
+ ldrsh r2, [r0, r3]
+ adds r6, 0x1C
+ adds r0, r1, r6
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r0, r2
+ add r0, r10
+ lsls r0, 1
+ adds r1, 0xC
+ adds r1, r0
+ movs r6, 0
+ ldrsh r5, [r1, r6]
+ adds r0, r5, 0
+ bl GetFriendArea
+ lsls r0, 24
+ lsrs r0, 24
+ add r4, sp, 0x16C
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0
+ bl sub_8092638
+ movs r7, 0x7
+ ldrb r0, [r4, 0x4]
+ cmp r0, 0
+ beq _08023594
+ adds r0, r5, 0
+ bl HasRecruitedMon
+ lsls r0, 24
+ movs r7, 0x4
+ cmp r0, 0
+ beq _08023594
+ movs r7, 0x5
+_08023594:
+ adds r0, r5, 0
+ movs r1, 0
+ bl GetDexInternalNo
+ lsls r0, 16
+ asrs r4, r0, 16
+ adds r0, r4, 0
+ movs r1, 0xA
+ bl __modsi3
+ adds r2, r0, 0
+ adds r2, 0x30
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r6, _0802368C
+ ldr r0, [r6]
+ movs r1, 0xE4
+ lsls r1, 2
+ mov r9, r1
+ add r0, r9
+ ldr r0, [r0]
+ str r0, [sp]
+ movs r0, 0x14
+ mov r1, r8
+ adds r3, r7, 0
+ bl sub_8012C60
+ cmp r4, 0x9
+ ble _08023628
+ adds r0, r4, 0
+ movs r1, 0xA
+ bl __divsi3
+ adds r4, r0, 0
+ movs r1, 0xA
+ bl __modsi3
+ adds r2, r0, 0
+ adds r2, 0x30
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r0, [r6]
+ movs r3, 0xE4
+ lsls r3, 2
+ adds r0, r3
+ ldr r0, [r0]
+ str r0, [sp]
+ movs r0, 0xD
+ mov r1, r8
+ adds r3, r7, 0
+ bl sub_8012C60
+ cmp r4, 0x9
+ ble _08023628
+ adds r0, r4, 0
+ movs r1, 0xA
+ bl __divsi3
+ movs r1, 0xA
+ bl __modsi3
+ adds r2, r0, 0
+ adds r2, 0x30
+ lsls r2, 24
+ lsrs r2, 24
+ ldr r0, [r6]
+ add r0, r9
+ ldr r0, [r0]
+ str r0, [sp]
+ movs r0, 0x6
+ mov r1, r8
+ adds r3, r7, 0
+ bl sub_8012C60
+_08023628:
+ add r4, sp, 0x108
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_808D930
+ add r0, sp, 0x8
+ ldr r1, _080236A0
+ adds r2, r7, 0
+ adds r3, r4, 0
+ bl sub_800D158
+ ldr r6, _0802368C
+ ldr r0, [r6]
+ movs r1, 0xE4
+ lsls r1, 2
+ adds r0, r1
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x24
+ mov r1, r8
+ add r2, sp, 0x8
+ bl xxx_call_draw_string
+ movs r2, 0x1
+ add r10, r2
+ ldr r0, [r6]
+ ldr r3, _0802369C
+ adds r0, r3
+ movs r6, 0
+ ldrsh r0, [r0, r6]
+ cmp r10, r0
+ bge _0802366C
+ b _08023532
+_0802366C:
+ ldr r0, _0802368C
+ ldr r0, [r0]
+ movs r1, 0xE4
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bl sub_80073E0
+ add sp, 0x178
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802368C: .4byte gUnknown_3001B5C
+_08023690: .4byte gUnknown_80DC934
+_08023694: .4byte 0x000003fa
+_08023698: .4byte 0x0000037a
+_0802369C: .4byte 0x00000376
+_080236A0: .4byte gUnknown_80DC93C
+ thumb_func_end sub_80234BC
+
+ thumb_func_start sub_80236A4
+sub_80236A4:
+ push {r4,r5,lr}
+ ldr r0, _080236FC
+ ldr r1, [r0]
+ movs r0, 0
+ str r0, [r1, 0x8]
+ movs r5, 0
+_080236B0:
+ lsls r0, r5, 16
+ asrs r4, r0, 16
+ adds r0, r4, 0
+ bl sub_8098134
+ lsls r0, 24
+ cmp r0, 0
+ beq _080236E2
+ adds r0, r4, 0
+ bl sub_808E858
+ lsls r0, 16
+ asrs r0, 16
+ cmp r4, r0
+ bne _080236E2
+ ldr r0, _080236FC
+ ldr r3, [r0]
+ ldr r1, [r3, 0x8]
+ lsls r2, r1, 1
+ adds r0, r3, 0
+ adds r0, 0xC
+ adds r0, r2
+ strh r5, [r0]
+ adds r1, 0x1
+ str r1, [r3, 0x8]
+_080236E2:
+ adds r5, 0x1
+ ldr r0, _08023700
+ cmp r5, r0
+ ble _080236B0
+ bl sub_8023730
+ ldr r0, _080236FC
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080236FC: .4byte gUnknown_3001B5C
+_08023700: .4byte 0x000001a7
+ thumb_func_end sub_80236A4
+
+ thumb_func_start sub_8023704
+sub_8023704:
+ push {r4,lr}
+ movs r4, 0
+_08023708:
+ lsls r0, r4, 16
+ asrs r0, 16
+ bl sub_8098134
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802371A
+ movs r0, 0
+ b _08023724
+_0802371A:
+ adds r4, 0x1
+ ldr r0, _0802372C
+ cmp r4, r0
+ ble _08023708
+ movs r0, 0x1
+_08023724:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0802372C: .4byte 0x000001a7
+ thumb_func_end sub_8023704
+
+ thumb_func_start sub_8023730
+sub_8023730:
+ push {lr}
+ ldr r0, _08023744
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ cmp r0, 0x1
+ beq _08023748
+ cmp r0, 0x2
+ beq _0802374E
+ b _08023752
+ .align 2, 0
+_08023744: .4byte gUnknown_3001B5C
+_08023748:
+ bl sub_8023758
+ b _08023752
+_0802374E:
+ bl sub_80237E0
+_08023752:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8023730
+
+ thumb_func_start sub_8023758
+sub_8023758:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ ldr r3, _080237DC
+ ldr r2, [r3]
+ ldr r1, [r2, 0x8]
+ lsls r0, r1, 1
+ adds r0, 0xA
+ adds r2, r0
+ mov r9, r2
+ movs r2, 0
+ subs r1, 0x1
+ cmp r2, r1
+ bge _080237CC
+_08023778:
+ mov r5, r9
+ ldr r0, [r3]
+ ldr r0, [r0, 0x8]
+ subs r7, r0, 0x1
+ adds r0, r2, 0x1
+ mov r8, r0
+ cmp r7, r2
+ ble _080237BE
+_08023788:
+ subs r6, r5, 0x2
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ movs r1, 0x1
+ str r2, [sp]
+ bl GetAlphabetParentNo
+ adds r4, r0, 0
+ movs r1, 0
+ ldrsh r0, [r5, r1]
+ movs r1, 0x1
+ bl GetAlphabetParentNo
+ lsls r4, 16
+ lsls r0, 16
+ ldr r2, [sp]
+ cmp r4, r0
+ ble _080237B6
+ movs r0, 0
+ ldrsh r1, [r5, r0]
+ ldrh r0, [r6]
+ strh r0, [r5]
+ strh r1, [r6]
+_080237B6:
+ adds r5, r6, 0
+ subs r7, 0x1
+ cmp r7, r2
+ bgt _08023788
+_080237BE:
+ mov r2, r8
+ ldr r3, _080237DC
+ ldr r0, [r3]
+ ldr r0, [r0, 0x8]
+ subs r0, 0x1
+ cmp r2, r0
+ blt _08023778
+_080237CC:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080237DC: .4byte gUnknown_3001B5C
+ thumb_func_end sub_8023758
+
+ thumb_func_start sub_80237E0
+sub_80237E0:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ ldr r3, _08023864
+ ldr r2, [r3]
+ ldr r1, [r2, 0x8]
+ lsls r0, r1, 1
+ adds r0, 0xA
+ adds r2, r0
+ mov r9, r2
+ movs r2, 0
+ subs r1, 0x1
+ cmp r2, r1
+ bge _08023854
+_08023800:
+ mov r5, r9
+ ldr r0, [r3]
+ ldr r0, [r0, 0x8]
+ subs r7, r0, 0x1
+ adds r0, r2, 0x1
+ mov r8, r0
+ cmp r7, r2
+ ble _08023846
+_08023810:
+ subs r6, r5, 0x2
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ movs r1, 0
+ str r2, [sp]
+ bl GetAlphabetParentNo
+ adds r4, r0, 0
+ movs r1, 0
+ ldrsh r0, [r5, r1]
+ movs r1, 0
+ bl GetAlphabetParentNo
+ lsls r4, 16
+ lsls r0, 16
+ ldr r2, [sp]
+ cmp r4, r0
+ ble _0802383E
+ movs r0, 0
+ ldrsh r1, [r5, r0]
+ ldrh r0, [r6]
+ strh r0, [r5]
+ strh r1, [r6]
+_0802383E:
+ adds r5, r6, 0
+ subs r7, 0x1
+ cmp r7, r2
+ bgt _08023810
+_08023846:
+ mov r2, r8
+ ldr r3, _08023864
+ ldr r0, [r3]
+ ldr r0, [r0, 0x8]
+ subs r0, 0x1
+ cmp r2, r0
+ blt _08023800
+_08023854:
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023864: .4byte gUnknown_3001B5C
+ thumb_func_end sub_80237E0
+
+ thumb_func_start sub_8023868
+sub_8023868:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r5, r0, 0
+ mov r8, r1
+ mov r9, r2
+ mov r10, r3
+ bl sub_8024108
+ lsls r0, 24
+ cmp r0, 0
+ beq _08023888
+ movs r0, 0
+ b _08023A6E
+_08023888:
+ ldr r4, _080238AC
+ ldr r0, [r4]
+ cmp r0, 0
+ bne _0802389C
+ movs r0, 0xFE
+ lsls r0, 2
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+_0802389C:
+ ldr r1, [r4]
+ str r5, [r1]
+ ldr r0, _080238B0
+ ldr r0, [r0]
+ cmp r0, r5
+ beq _080238B4
+ movs r0, 0x1
+ b _080238B8
+ .align 2, 0
+_080238AC: .4byte gUnknown_3001B60
+_080238B0: .4byte gUnknown_203B2A0
+_080238B4:
+ ldr r0, _080238E4
+ ldr r0, [r0]
+_080238B8:
+ str r0, [r1, 0x4]
+ ldr r2, _080238E8
+ ldr r0, [r2]
+ movs r1, 0
+ strb r1, [r0, 0x14]
+ ldr r0, [r2]
+ strb r1, [r0, 0x15]
+ ldr r0, [r2]
+ strb r1, [r0, 0x16]
+ ldr r0, [r2]
+ strb r1, [r0, 0x17]
+ ldr r0, [r2]
+ strb r1, [r0, 0x18]
+ ldr r0, [r2]
+ ldr r0, [r0]
+ cmp r0, 0x4
+ bhi _08023980
+ lsls r0, 2
+ ldr r1, _080238EC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080238E4: .4byte gUnknown_203B2A4
+_080238E8: .4byte gUnknown_3001B60
+_080238EC: .4byte _080238F0
+ .align 2, 0
+_080238F0:
+ .4byte _08023958
+ .4byte _08023904
+ .4byte _08023914
+ .4byte _08023924
+ .4byte _0802393C
+_08023904:
+ ldr r0, _08023910
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x18]
+ b _08023958
+ .align 2, 0
+_08023910: .4byte gUnknown_3001B60
+_08023914:
+ ldr r0, _08023920
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x14]
+ b _08023958
+ .align 2, 0
+_08023920: .4byte gUnknown_3001B60
+_08023924:
+ ldr r2, _08023938
+ ldr r0, [r2]
+ movs r1, 0x1
+ strb r1, [r0, 0x17]
+ ldr r0, [r2]
+ strb r1, [r0, 0x15]
+ ldr r0, [r2]
+ strb r1, [r0, 0x16]
+ b _08023958
+ .align 2, 0
+_08023938: .4byte gUnknown_3001B60
+_0802393C:
+ ldr r5, _0802397C
+ ldr r0, [r5]
+ movs r4, 0x1
+ strb r4, [r0, 0x18]
+ ldr r0, [r5]
+ strb r4, [r0, 0x15]
+ movs r0, 0x9
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08023958
+ ldr r0, [r5]
+ strb r4, [r0, 0x16]
+_08023958:
+ ldr r4, _0802397C
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0x4
+ bne _08023980
+ bl sub_80A5728
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_8002658
+ ldr r1, [r4]
+ movs r2, 0xD5
+ lsls r2, 2
+ adds r1, r2
+ strb r0, [r1]
+ b _0802398E
+ .align 2, 0
+_0802397C: .4byte gUnknown_3001B60
+_08023980:
+ ldr r0, _08023A7C
+ ldr r0, [r0]
+ movs r3, 0xD5
+ lsls r3, 2
+ adds r0, r3
+ movs r1, 0
+ strb r1, [r0]
+_0802398E:
+ ldr r5, _08023A7C
+ ldr r0, [r5]
+ movs r4, 0xE3
+ lsls r4, 2
+ adds r1, r0, r4
+ mov r2, r8
+ str r2, [r1]
+ movs r7, 0xE4
+ lsls r7, 2
+ adds r2, r0, r7
+ mov r3, r8
+ lsls r1, r3, 1
+ add r1, r8
+ lsls r1, 3
+ movs r6, 0xE5
+ lsls r6, 2
+ adds r1, r6
+ adds r1, r0, r1
+ str r1, [r2]
+ adds r0, r6
+ bl sub_8006518
+ ldr r1, [r5]
+ adds r4, r1, r4
+ ldr r2, [r4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, r6
+ ldr r0, _08023A80
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r2, [r5]
+ adds r0, r2, r7
+ ldr r1, [r0]
+ movs r4, 0xFD
+ lsls r4, 2
+ adds r0, r2, r4
+ str r0, [r1, 0x14]
+ mov r0, r9
+ cmp r0, 0
+ beq _08023A04
+ movs r1, 0xE3
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ movs r3, 0xE7
+ lsls r3, 2
+ adds r1, r2, r3
+ adds r1, r0
+ mov r4, r9
+ ldr r0, [r4]
+ str r0, [r1]
+_08023A04:
+ ldr r0, [r5]
+ adds r0, r7
+ ldr r0, [r0]
+ mov r1, r10
+ bl sub_8012D08
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ adds r0, r6
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r5]
+ movs r0, 0xD6
+ lsls r0, 2
+ adds r4, r0
+ bl sub_8023F8C
+ adds r1, r0, 0
+ adds r0, r4, 0
+ mov r2, r10
+ mov r3, r8
+ bl sub_8013818
+ ldr r0, _08023A84
+ ldr r4, [r5]
+ ldr r1, [r0]
+ ldr r0, [r4]
+ cmp r1, r0
+ bne _08023A64
+ ldr r0, _08023A88
+ ldrh r1, [r0]
+ movs r2, 0xDC
+ lsls r2, 2
+ adds r0, r4, r2
+ strh r1, [r0]
+ ldr r0, _08023A8C
+ ldrh r1, [r0]
+ ldr r3, _08023A90
+ adds r0, r4, r3
+ strh r1, [r0]
+ movs r1, 0xD6
+ lsls r1, 2
+ adds r0, r4, r1
+ bl sub_8013984
+_08023A64:
+ bl sub_8023CF4
+ bl sub_8023DA4
+ movs r0, 0x1
+_08023A6E:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08023A7C: .4byte gUnknown_3001B60
+_08023A80: .4byte gUnknown_80DC968
+_08023A84: .4byte gUnknown_203B2A0
+_08023A88: .4byte gUnknown_203B2A8
+_08023A8C: .4byte gUnknown_203B2AA
+_08023A90: .4byte 0x00000376
+ thumb_func_end sub_8023868
+
+ thumb_func_start sub_8023A94
+sub_8023A94:
+ push {r4,lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _08023AB4
+ ldr r0, _08023AB0
+ ldr r0, [r0]
+ movs r1, 0xD6
+ lsls r1, 2
+ adds r0, r1
+ bl sub_8013660
+ movs r0, 0
+ b _08023B3E
+ .align 2, 0
+_08023AB0: .4byte gUnknown_3001B60
+_08023AB4:
+ ldr r4, _08023AD0
+ ldr r0, [r4]
+ movs r1, 0xD6
+ lsls r1, 2
+ adds r0, r1
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _08023ADE
+ cmp r0, 0x2
+ bgt _08023AD4
+ cmp r0, 0x1
+ beq _08023AF2
+ b _08023B16
+ .align 2, 0
+_08023AD0: .4byte gUnknown_3001B60
+_08023AD4:
+ cmp r0, 0x3
+ beq _08023AFC
+ cmp r0, 0x4
+ beq _08023AE8
+ b _08023B16
+_08023ADE:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _08023B3E
+_08023AE8:
+ movs r0, 0x4
+ bl PlayMenuSoundEffect
+ movs r0, 0x4
+ b _08023B3E
+_08023AF2:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _08023B3E
+_08023AFC:
+ movs r0, 0x5
+ bl PlayMenuSoundEffect
+ ldr r0, [r4]
+ ldr r1, [r0, 0x4]
+ movs r2, 0x1
+ cmp r1, 0x2
+ bhi _08023B0E
+ adds r2, r1, 0x1
+_08023B0E:
+ str r2, [r0, 0x4]
+ bl sub_8023F8C
+ b _08023B34
+_08023B16:
+ ldr r0, _08023B30
+ ldr r0, [r0]
+ movs r1, 0xD6
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08023B34
+ movs r0, 0
+ b _08023B3E
+ .align 2, 0
+_08023B30: .4byte gUnknown_3001B60
+_08023B34:
+ bl sub_8023CF4
+ bl sub_8023DA4
+ movs r0, 0x1
+_08023B3E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8023A94
+
+ thumb_func_start sub_8023B44
+sub_8023B44:
+ ldr r0, _08023B74
+ ldr r0, [r0]
+ ldr r2, _08023B78
+ adds r1, r0, r2
+ movs r3, 0
+ ldrsh r2, [r1, r3]
+ movs r3, 0xDD
+ lsls r3, 2
+ adds r1, r0, r3
+ movs r3, 0
+ ldrsh r1, [r1, r3]
+ muls r1, r2
+ movs r3, 0xDC
+ lsls r3, 2
+ adds r2, r0, r3
+ movs r3, 0
+ ldrsh r2, [r2, r3]
+ adds r1, r2
+ lsls r1, 1
+ adds r0, 0x1A
+ adds r0, r1
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_08023B74: .4byte gUnknown_3001B60
+_08023B78: .4byte 0x00000376
+ thumb_func_end sub_8023B44
+
+ thumb_func_start sub_8023B7C
+sub_8023B7C:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl ResetUnusedInputStruct
+ ldr r5, _08023BD0
+ ldr r0, [r5]
+ movs r1, 0xE5
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ bl sub_8023BD8
+ adds r2, r0, 0
+ ldr r0, [r5]
+ ldr r3, _08023BD4
+ adds r1, r0, r3
+ strh r2, [r1]
+ movs r1, 0xD6
+ lsls r1, 2
+ adds r0, r1
+ bl sub_8013984
+ bl sub_8023CF4
+ bl sub_8023DA4
+ cmp r4, 0
+ beq _08023BCA
+ ldr r0, [r5]
+ movs r3, 0xD6
+ lsls r3, 2
+ adds r0, r3
+ bl AddMenuCursorSprite
+_08023BCA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023BD0: .4byte gUnknown_3001B60
+_08023BD4: .4byte 0x0000037a
+ thumb_func_end sub_8023B7C
+
+ thumb_func_start sub_8023BD8
+sub_8023BD8:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r3, 0
+ ldr r1, _08023C58
+ ldr r0, [r1]
+ ldr r0, [r0, 0x8]
+ adds r7, r1, 0
+ cmp r3, r0
+ bge _08023C4A
+ ldr r0, _08023C5C
+ mov r8, r0
+ mov r12, r7
+_08023BF2:
+ ldr r2, [r1]
+ lsls r4, r3, 1
+ adds r0, r2, 0
+ adds r0, 0x1A
+ adds r0, r4
+ movs r5, 0
+ ldrsh r1, [r0, r5]
+ movs r0, 0x58
+ muls r0, r1
+ mov r5, r8
+ ldr r1, [r5]
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ adds r6, r3, 0x1
+ cmp r0, 0
+ bne _08023C3E
+ ldr r0, [r2, 0x8]
+ subs r0, 0x1
+ str r0, [r2, 0x8]
+ cmp r3, r0
+ bge _08023C3E
+ mov r5, r12
+ adds r4, 0x2
+_08023C24:
+ ldr r2, [r5]
+ lsls r1, r3, 1
+ adds r0, r2, 0
+ adds r0, 0x1A
+ adds r1, r0, r1
+ adds r0, r4
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r4, 0x2
+ adds r3, 0x1
+ ldr r0, [r2, 0x8]
+ cmp r3, r0
+ blt _08023C24
+_08023C3E:
+ adds r3, r6, 0
+ adds r1, r7, 0
+ ldr r0, [r7]
+ ldr r0, [r0, 0x8]
+ cmp r3, r0
+ blt _08023BF2
+_08023C4A:
+ ldr r0, [r7]
+ ldr r0, [r0, 0x8]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08023C58: .4byte gUnknown_3001B60
+_08023C5C: .4byte gRecruitedPokemonRef
+ thumb_func_end sub_8023BD8
+
+ thumb_func_start sub_8023C60
+sub_8023C60:
+ push {r4-r6,lr}
+ ldr r5, _08023CCC
+ ldr r2, [r5]
+ cmp r2, 0
+ beq _08023CC6
+ ldr r1, _08023CD0
+ ldr r0, [r2]
+ str r0, [r1]
+ ldr r1, _08023CD4
+ ldr r0, [r2, 0x4]
+ str r0, [r1]
+ ldr r1, _08023CD8
+ movs r3, 0xDC
+ lsls r3, 2
+ adds r0, r2, r3
+ ldrh r0, [r0]
+ strh r0, [r1]
+ ldr r1, _08023CDC
+ ldr r6, _08023CE0
+ adds r0, r2, r6
+ ldrh r0, [r0]
+ strh r0, [r1]
+ movs r1, 0xE3
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r0, [r0]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ movs r4, 0xE5
+ lsls r4, 2
+ adds r1, r4
+ ldr r0, _08023CE4
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ ldm r0!, {r2,r3,r6}
+ stm r1!, {r2,r3,r6}
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ adds r0, r4
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r5]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r5]
+_08023CC6:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023CCC: .4byte gUnknown_3001B60
+_08023CD0: .4byte gUnknown_203B2A0
+_08023CD4: .4byte gUnknown_203B2A4
+_08023CD8: .4byte gUnknown_203B2A8
+_08023CDC: .4byte gUnknown_203B2AA
+_08023CE0: .4byte 0x00000376
+_08023CE4: .4byte gUnknown_80DC950
+ thumb_func_end sub_8023C60
+
+ thumb_func_start sub_8023CE8
+sub_8023CE8:
+ ldr r0, _08023CF0
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_08023CF0: .4byte gUnknown_3001B60
+ thumb_func_end sub_8023CE8
+
+ thumb_func_start sub_8023CF4
+sub_8023CF4:
+ push {r4,r5,lr}
+ ldr r2, _08023D28
+ ldr r0, [r2]
+ movs r1, 0xFD
+ lsls r1, 2
+ adds r0, r1
+ movs r3, 0
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, [r2]
+ ldr r1, _08023D2C
+ adds r0, r1
+ strb r3, [r0]
+ ldr r0, [r2]
+ adds r1, 0x2
+ adds r0, r1
+ strb r3, [r0]
+ ldr r1, [r2]
+ ldr r0, [r1]
+ adds r5, r2, 0
+ cmp r0, 0x2
+ bne _08023D34
+ ldr r0, _08023D30
+ adds r1, r0
+ b _08023D38
+ .align 2, 0
+_08023D28: .4byte gUnknown_3001B60
+_08023D2C: .4byte 0x000003f5
+_08023D30: .4byte 0x000003f6
+_08023D34:
+ ldr r2, _08023D98
+ adds r1, r2
+_08023D38:
+ movs r0, 0xC
+ strb r0, [r1]
+ ldr r0, [r5]
+ ldr r1, _08023D9C
+ adds r0, r1
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ ldr r3, [r5]
+ movs r1, 0xE3
+ lsls r1, 2
+ adds r4, r3, r1
+ ldr r2, [r4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r1, r3, r1
+ ldr r2, _08023DA0
+ adds r1, r2
+ lsls r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r2, [r4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r3, r1
+ movs r1, 0xE9
+ lsls r1, 2
+ adds r3, r1
+ strh r0, [r3]
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ movs r2, 0xE5
+ lsls r2, 2
+ adds r0, r2
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023D98: .4byte 0x000003f6
+_08023D9C: .4byte 0x00000372
+_08023DA0: .4byte 0x000003a2
+ thumb_func_end sub_8023CF4
+
+ thumb_func_start sub_8023DA4
+sub_8023DA4:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x58
+ ldr r4, _08023DD8
+ ldr r0, [r4]
+ movs r5, 0xE3
+ lsls r5, 2
+ adds r0, r5
+ ldr r0, [r0]
+ bl sub_8008C54
+ ldr r0, [r4]
+ adds r0, r5
+ ldr r0, [r0]
+ bl sub_80073B8
+ ldr r0, [r4]
+ ldr r1, [r0]
+ cmp r1, 0x2
+ beq _08023DE0
+ cmp r1, 0x4
+ beq _08023E00
+ ldr r2, _08023DDC
+ b _08023E02
+ .align 2, 0
+_08023DD8: .4byte gUnknown_3001B60
+_08023DDC: .4byte gUnknown_80DC988
+_08023DE0:
+ add r0, sp, 0x8
+ bl sub_80920D8
+ ldr r0, [r4]
+ movs r1, 0xE3
+ lsls r1, 2
+ adds r0, r1
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ add r2, sp, 0x8
+ bl xxx_call_draw_string
+ b _08023E3C
+_08023E00:
+ ldr r2, _08023EBC
+_08023E02:
+ adds r0, r5
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r1, [r4]
+ ldr r2, _08023EC0
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r3, r0, 0x4
+ ldr r4, _08023EC4
+ adds r0, r1, r4
+ movs r4, 0
+ ldrsh r2, [r0, r4]
+ adds r2, 0x1
+ movs r0, 0x7
+ str r0, [sp]
+ adds r1, r5
+ ldr r0, [r1]
+ str r0, [sp, 0x4]
+ adds r0, r3, 0
+ movs r1, 0
+ movs r3, 0x2
+ bl sub_8012BC4
+_08023E3C:
+ movs r7, 0
+ ldr r1, _08023EC8
+ ldr r0, [r1]
+ ldr r2, _08023ECC
+ adds r0, r2
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ cmp r7, r0
+ blt _08023E50
+ b _08023F62
+_08023E50:
+ mov r8, r1
+ add r0, sp, 0x30
+ mov r9, r0
+_08023E56:
+ ldr r3, [r1]
+ ldr r1, _08023EC4
+ adds r0, r3, r1
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ movs r4, 0xDD
+ lsls r4, 2
+ adds r0, r3, r4
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ muls r1, r0
+ adds r1, r7
+ lsls r1, 1
+ adds r0, r3, 0
+ adds r0, 0x1A
+ adds r0, r1
+ movs r4, 0
+ ldrsh r5, [r0, r4]
+ ldr r2, _08023ED0
+ movs r0, 0x58
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, [r2]
+ adds r4, r0, r1
+ movs r6, 0x7
+ ldrh r0, [r4]
+ lsrs r0, 1
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08023ED4
+ movs r0, 0
+ ldrb r1, [r4, 0x4]
+ cmp r1, 0x41
+ bne _08023E9E
+ movs r0, 0x1
+_08023E9E:
+ cmp r0, 0
+ beq _08023EA4
+ movs r6, 0x6
+_08023EA4:
+ movs r0, 0
+ cmp r1, 0x40
+ bne _08023EAC
+ movs r0, 0x1
+_08023EAC:
+ cmp r0, 0
+ beq _08023EB2
+ movs r6, 0x6
+_08023EB2:
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0
+ beq _08023EEA
+ movs r6, 0x5
+ b _08023EEA
+ .align 2, 0
+_08023EBC: .4byte gUnknown_80DC980
+_08023EC0: .4byte 0x000003f6
+_08023EC4: .4byte 0x00000376
+_08023EC8: .4byte gUnknown_3001B60
+_08023ECC: .4byte 0x00000372
+_08023ED0: .4byte gRecruitedPokemonRef
+_08023ED4:
+ ldrb r0, [r3, 0x18]
+ cmp r0, 0
+ beq _08023EEA
+ adds r0, r5, 0
+ bl sub_808D750
+ lsls r0, 24
+ movs r6, 0x2
+ cmp r0, 0
+ beq _08023EEA
+ movs r6, 0x4
+_08023EEA:
+ mov r0, r8
+ ldr r1, [r0]
+ ldr r0, [r1]
+ cmp r0, 0x4
+ bne _08023F02
+ movs r2, 0xD5
+ lsls r2, 2
+ adds r0, r1, r2
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ bl sub_8024184
+_08023F02:
+ adds r1, r4, 0
+ adds r1, 0x4C
+ mov r0, r9
+ movs r2, 0xA
+ bl sub_80922B4
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ add r0, sp, 0x44
+ bl sub_808D930
+ add r0, sp, 0x8
+ ldr r1, _08023F80
+ adds r2, r6, 0
+ mov r3, r9
+ bl sub_800D158
+ mov r1, r8
+ ldr r0, [r1]
+ movs r2, 0xD6
+ lsls r2, 2
+ adds r0, r2
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ mov r4, r8
+ ldr r0, [r4]
+ movs r2, 0xE3
+ lsls r2, 2
+ adds r0, r2
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ add r2, sp, 0x8
+ bl xxx_call_draw_string
+ adds r7, 0x1
+ mov r1, r8
+ ldr r0, [r4]
+ ldr r4, _08023F84
+ adds r0, r4
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r7, r0
+ bge _08023F62
+ b _08023E56
+_08023F62:
+ ldr r0, _08023F88
+ ldr r0, [r0]
+ movs r4, 0xE3
+ lsls r4, 2
+ adds r0, r4
+ ldr r0, [r0]
+ bl sub_80073E0
+ add sp, 0x58
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08023F80: .4byte gUnknown_80DC998
+_08023F84: .4byte 0x00000372
+_08023F88: .4byte gUnknown_3001B60
+ thumb_func_end sub_8023DA4
+
+ thumb_func_start sub_8023F8C
+sub_8023F8C:
+ push {r4-r7,lr}
+ ldr r2, _08023FD0
+ ldr r1, [r2]
+ movs r0, 0
+ str r0, [r1, 0x8]
+ ldrb r0, [r1, 0x15]
+ adds r6, r2, 0
+ cmp r0, 0
+ bne _08023FE2
+ movs r4, 0
+ ldr r2, _08023FD4
+_08023FA2:
+ movs r0, 0x58
+ adds r1, r4, 0
+ muls r1, r0
+ ldr r0, [r2]
+ adds r1, r0, r1
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ beq _08023FD8
+ ldrb r1, [r1]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08023FD8
+ ldr r3, [r6]
+ ldr r1, [r3, 0x8]
+ lsls r2, r1, 1
+ adds r0, r3, 0
+ adds r0, 0x1A
+ adds r0, r2
+ strh r4, [r0]
+ adds r1, 0x1
+ str r1, [r3, 0x8]
+ b _08023FE2
+ .align 2, 0
+_08023FD0: .4byte gUnknown_3001B60
+_08023FD4: .4byte gRecruitedPokemonRef
+_08023FD8:
+ adds r4, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ ble _08023FA2
+_08023FE2:
+ ldr r0, [r6]
+ ldrb r0, [r0, 0x16]
+ cmp r0, 0
+ bne _08024042
+ movs r4, 0
+ ldr r3, _08024034
+_08023FEE:
+ movs r0, 0x58
+ adds r1, r4, 0
+ muls r1, r0
+ ldr r0, [r3]
+ adds r1, r0, r1
+ movs r2, 0
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0x41
+ bne _08024002
+ movs r2, 0x1
+_08024002:
+ cmp r2, 0
+ beq _08024038
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ bne _08024038
+ ldrh r1, [r1]
+ lsrs r0, r1, 1
+ movs r2, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _08024038
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08024038
+ ldr r3, [r6]
+ ldr r1, [r3, 0x8]
+ lsls r2, r1, 1
+ adds r0, r3, 0
+ adds r0, 0x1A
+ adds r0, r2
+ strh r4, [r0]
+ adds r1, 0x1
+ str r1, [r3, 0x8]
+ b _08024042
+ .align 2, 0
+_08024034: .4byte gRecruitedPokemonRef
+_08024038:
+ adds r4, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ ble _08023FEE
+_08024042:
+ ldr r0, [r6]
+ ldr r1, [r0, 0x8]
+ str r1, [r0, 0xC]
+ ldrb r0, [r0, 0x17]
+ cmp r0, 0
+ bne _080240A4
+ movs r4, 0
+ ldr r7, _08024100
+ movs r5, 0x1
+_08024054:
+ movs r0, 0x58
+ adds r1, r4, 0
+ muls r1, r0
+ ldr r0, [r7]
+ adds r1, r0, r1
+ ldrh r2, [r1]
+ lsrs r0, r2, 1
+ ands r0, r5
+ cmp r0, 0
+ beq _0802409A
+ adds r0, r5, 0
+ ands r0, r2
+ cmp r0, 0
+ beq _0802409A
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ bne _0802409A
+ movs r2, 0
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0x41
+ bne _08024080
+ movs r2, 0x1
+_08024080:
+ cmp r2, 0
+ bne _0802409A
+ ldr r3, [r6]
+ ldr r1, [r3, 0x8]
+ lsls r2, r1, 1
+ adds r0, r3, 0
+ adds r0, 0x1A
+ adds r0, r2
+ strh r4, [r0]
+ adds r1, 0x1
+ str r1, [r3, 0x8]
+ cmp r1, 0x3
+ bgt _080240A4
+_0802409A:
+ adds r4, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ ble _08024054
+_080240A4:
+ ldr r0, [r6]
+ ldr r1, [r0, 0x8]
+ str r1, [r0, 0x10]
+ ldrb r0, [r0, 0x14]
+ cmp r0, 0
+ bne _080240EE
+ movs r4, 0
+ ldr r7, _08024100
+ movs r5, 0x1
+_080240B6:
+ movs r0, 0x58
+ adds r1, r4, 0
+ muls r1, r0
+ ldr r0, [r7]
+ adds r1, r0, r1
+ ldrh r1, [r1]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080240E4
+ lsrs r0, r1, 1
+ ands r0, r5
+ cmp r0, 0
+ bne _080240E4
+ ldr r3, [r6]
+ ldr r1, [r3, 0x8]
+ lsls r2, r1, 1
+ adds r0, r3, 0
+ adds r0, 0x1A
+ adds r0, r2
+ strh r4, [r0]
+ adds r1, 0x1
+ str r1, [r3, 0x8]
+_080240E4:
+ adds r4, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ ble _080240B6
+_080240EE:
+ bl sub_80241A8
+ ldr r0, _08024104
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08024100: .4byte gRecruitedPokemonRef
+_08024104: .4byte gUnknown_3001B60
+ thumb_func_end sub_8023F8C
+
+ thumb_func_start sub_8024108
+sub_8024108:
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ movs r7, 0
+ movs r6, 0x1
+_08024110:
+ ldr r2, _08024134
+ movs r0, 0x58
+ adds r1, r7, 0
+ muls r1, r0
+ ldr r0, [r2]
+ adds r4, r0, r1
+ ldrh r1, [r4]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08024172
+ cmp r5, 0x2
+ bne _08024138
+ lsrs r0, r1, 1
+ ands r0, r6
+ cmp r0, 0
+ beq _08024172
+ b _0802416E
+ .align 2, 0
+_08024134: .4byte gRecruitedPokemonRef
+_08024138:
+ cmp r5, 0x3
+ bne _08024140
+ lsrs r0, r1, 1
+ b _08024168
+_08024140:
+ cmp r5, 0x4
+ bne _0802416E
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0
+ bne _08024172
+ movs r0, 0x9
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802416E
+ movs r1, 0
+ ldrb r0, [r4, 0x4]
+ cmp r0, 0x41
+ bne _08024160
+ movs r1, 0x1
+_08024160:
+ cmp r1, 0
+ beq _0802416E
+ ldrh r0, [r4]
+ lsrs r0, 1
+_08024168:
+ ands r0, r6
+ cmp r0, 0
+ bne _08024172
+_0802416E:
+ movs r0, 0
+ b _0802417E
+_08024172:
+ adds r7, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r7, r0
+ ble _08024110
+ movs r0, 0x1
+_0802417E:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024108
+
+ thumb_func_start sub_8024184
+sub_8024184:
+ push {r4,lr}
+ lsls r4, r1, 24
+ lsrs r4, 24
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ bl GetFriendArea
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ beq _0802419E
+ movs r0, 0
+ b _080241A0
+_0802419E:
+ movs r0, 0x1
+_080241A0:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8024184
+
+ thumb_func_start sub_80241A8
+sub_80241A8:
+ push {r4,lr}
+ ldr r4, _080241C0
+ ldr r1, [r4]
+ ldr r0, [r1, 0x4]
+ cmp r0, 0x2
+ beq _080241CA
+ cmp r0, 0x2
+ bhi _080241C4
+ cmp r0, 0x1
+ beq _08024206
+ b _08024222
+ .align 2, 0
+_080241C0: .4byte gUnknown_3001B60
+_080241C4:
+ cmp r0, 0x3
+ beq _080241E8
+ b _08024222
+_080241CA:
+ ldr r0, [r1, 0xC]
+ ldr r1, [r1, 0x10]
+ cmp r0, r1
+ beq _080241D6
+ bl sub_80242D0
+_080241D6:
+ ldr r0, [r4]
+ ldr r2, [r0, 0x10]
+ ldr r1, [r0, 0x8]
+ cmp r2, r1
+ beq _08024222
+ adds r0, r2, 0
+ bl sub_80242D0
+ b _08024222
+_080241E8:
+ ldr r0, [r1, 0xC]
+ ldr r1, [r1, 0x10]
+ cmp r0, r1
+ beq _080241F4
+ bl sub_802437C
+_080241F4:
+ ldr r0, [r4]
+ ldr r2, [r0, 0x10]
+ ldr r1, [r0, 0x8]
+ cmp r2, r1
+ beq _08024222
+ adds r0, r2, 0
+ bl sub_802437C
+ b _08024222
+_08024206:
+ ldr r0, [r1, 0xC]
+ ldr r1, [r1, 0x10]
+ cmp r0, r1
+ beq _08024212
+ bl sub_8024228
+_08024212:
+ ldr r0, [r4]
+ ldr r2, [r0, 0x10]
+ ldr r1, [r0, 0x8]
+ cmp r2, r1
+ beq _08024222
+ adds r0, r2, 0
+ bl sub_8024228
+_08024222:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80241A8
+
+ thumb_func_start sub_8024228
+sub_8024228:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ ldr r3, _080242C8
+ lsls r2, r1, 1
+ adds r2, 0x18
+ ldr r3, [r3]
+ adds r3, r2
+ str r3, [sp]
+ adds r2, r0, 0
+ subs r1, 0x1
+ cmp r2, r1
+ bge _080242B8
+ str r1, [sp, 0x4]
+_0802424A:
+ ldr r5, [sp]
+ adds r7, r1, 0
+ adds r0, r2, 0x1
+ mov r10, r0
+ cmp r7, r2
+ ble _080242B0
+ ldr r3, _080242CC
+ mov r9, r3
+ movs r0, 0x58
+ mov r8, r0
+_0802425E:
+ mov r3, r9
+ ldr r1, [r3]
+ subs r6, r5, 0x2
+ movs r3, 0
+ ldrsh r0, [r6, r3]
+ mov r3, r8
+ muls r3, r0
+ adds r0, r3, 0
+ adds r1, r0
+ movs r3, 0x8
+ ldrsh r0, [r1, r3]
+ str r2, [sp, 0x8]
+ bl GetInternalNo
+ adds r4, r0, 0
+ mov r0, r9
+ ldr r1, [r0]
+ movs r3, 0
+ ldrsh r0, [r5, r3]
+ mov r3, r8
+ muls r3, r0
+ adds r0, r3, 0
+ adds r1, r0
+ movs r3, 0x8
+ ldrsh r0, [r1, r3]
+ bl GetInternalNo
+ lsls r4, 16
+ lsls r0, 16
+ ldr r2, [sp, 0x8]
+ cmp r4, r0
+ ble _080242A8
+ movs r0, 0
+ ldrsh r1, [r5, r0]
+ ldrh r0, [r6]
+ strh r0, [r5]
+ strh r1, [r6]
+_080242A8:
+ adds r5, r6, 0
+ subs r7, 0x1
+ cmp r7, r2
+ bgt _0802425E
+_080242B0:
+ mov r2, r10
+ ldr r1, [sp, 0x4]
+ cmp r2, r1
+ blt _0802424A
+_080242B8:
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080242C8: .4byte gUnknown_3001B60
+_080242CC: .4byte gRecruitedPokemonRef
+ thumb_func_end sub_8024228
+
+ thumb_func_start sub_80242D0
+sub_80242D0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ ldr r3, _08024374
+ lsls r2, r1, 1
+ adds r2, 0x18
+ ldr r3, [r3]
+ adds r3, r2
+ str r3, [sp]
+ adds r2, r0, 0
+ subs r1, 0x1
+ cmp r2, r1
+ bge _08024364
+ str r1, [sp, 0x4]
+_080242F2:
+ ldr r5, [sp]
+ adds r7, r1, 0
+ adds r0, r2, 0x1
+ mov r10, r0
+ cmp r7, r2
+ ble _0802435C
+ ldr r3, _08024378
+ mov r9, r3
+ movs r0, 0x58
+ mov r8, r0
+_08024306:
+ mov r3, r9
+ ldr r1, [r3]
+ subs r6, r5, 0x2
+ movs r3, 0
+ ldrsh r0, [r6, r3]
+ mov r3, r8
+ muls r3, r0
+ adds r0, r3, 0
+ adds r1, r0
+ movs r3, 0x8
+ ldrsh r0, [r1, r3]
+ movs r1, 0
+ str r2, [sp, 0x8]
+ bl GetAlphabetParentNo
+ adds r4, r0, 0
+ mov r0, r9
+ ldr r1, [r0]
+ movs r3, 0
+ ldrsh r0, [r5, r3]
+ mov r3, r8
+ muls r3, r0
+ adds r0, r3, 0
+ adds r1, r0
+ movs r3, 0x8
+ ldrsh r0, [r1, r3]
+ movs r1, 0
+ bl GetAlphabetParentNo
+ lsls r4, 16
+ lsls r0, 16
+ ldr r2, [sp, 0x8]
+ cmp r4, r0
+ ble _08024354
+ movs r0, 0
+ ldrsh r1, [r5, r0]
+ ldrh r0, [r6]
+ strh r0, [r5]
+ strh r1, [r6]
+_08024354:
+ adds r5, r6, 0
+ subs r7, 0x1
+ cmp r7, r2
+ bgt _08024306
+_0802435C:
+ mov r2, r10
+ ldr r1, [sp, 0x4]
+ cmp r2, r1
+ blt _080242F2
+_08024364:
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024374: .4byte gUnknown_3001B60
+_08024378: .4byte gRecruitedPokemonRef
+ thumb_func_end sub_80242D0
+
+ thumb_func_start sub_802437C
+sub_802437C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r3, _080243E4
+ lsls r2, r1, 1
+ adds r2, 0x18
+ ldr r3, [r3]
+ adds r3, r2
+ mov r10, r3
+ adds r7, r0, 0
+ subs r1, 0x1
+ cmp r7, r1
+ bge _080243D6
+ mov r9, r1
+_0802439C:
+ mov r4, r10
+ adds r6, r1, 0
+ adds r0, r7, 0x1
+ mov r8, r0
+ cmp r6, r7
+ ble _080243CE
+_080243A8:
+ subs r5, r4, 0x2
+ movs r1, 0
+ ldrsh r0, [r5, r1]
+ movs r2, 0
+ ldrsh r1, [r4, r2]
+ bl sub_808D864
+ lsls r0, 24
+ cmp r0, 0
+ beq _080243C6
+ movs r0, 0
+ ldrsh r1, [r4, r0]
+ ldrh r0, [r5]
+ strh r0, [r4]
+ strh r1, [r5]
+_080243C6:
+ adds r4, r5, 0
+ subs r6, 0x1
+ cmp r6, r7
+ bgt _080243A8
+_080243CE:
+ mov r7, r8
+ mov r1, r9
+ cmp r7, r1
+ blt _0802439C
+_080243D6:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080243E4: .4byte gUnknown_3001B60
+ thumb_func_end sub_802437C
+
+ thumb_func_start sub_80243E8
+sub_80243E8:
+ push {r4,r5,lr}
+ sub sp, 0x3C
+ ldr r3, _08024448
+ ldr r0, _0802444C
+ ldr r0, [r0]
+ ldr r2, _08024450
+ adds r1, r0, r2
+ movs r4, 0
+ ldrsh r2, [r1, r4]
+ movs r4, 0xDD
+ lsls r4, 2
+ adds r1, r0, r4
+ movs r4, 0
+ ldrsh r1, [r1, r4]
+ muls r1, r2
+ movs r4, 0xDC
+ lsls r4, 2
+ adds r2, r0, r4
+ movs r4, 0
+ ldrsh r2, [r2, r4]
+ adds r1, r2
+ lsls r1, 1
+ adds r0, 0x1A
+ adds r0, r1
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ movs r0, 0x58
+ muls r0, r1
+ ldr r4, [r3]
+ adds r4, r0
+ add r5, sp, 0x28
+ adds r1, r4, 0
+ adds r1, 0x4C
+ adds r0, r5, 0
+ movs r2, 0xA
+ bl sub_80922B4
+ ldr r1, _08024454
+ mov r0, sp
+ adds r2, r5, 0
+ bl sub_800D158
+ adds r0, r4, 0
+ add sp, 0x3C
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08024448: .4byte gRecruitedPokemonRef
+_0802444C: .4byte gUnknown_3001B60
+_08024450: .4byte 0x00000376
+_08024454: .4byte gUnknown_80DC9A4
+ thumb_func_end sub_80243E8
+
+ thumb_func_start sub_8024458
+sub_8024458:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ lsls r4, 16
+ asrs r4, 16
+ ldr r6, _080244DC
+ movs r0, 0xA6
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r6]
+ adds r1, r0, 0
+ adds r1, 0x48
+ strh r4, [r1]
+ adds r1, 0x98
+ str r5, [r1]
+ adds r2, r0, 0
+ adds r2, 0xE4
+ lsls r1, r5, 1
+ adds r1, r5
+ lsls r1, 3
+ adds r1, 0xE8
+ adds r1, r0, r1
+ str r1, [r2]
+ adds r0, 0xE8
+ bl sub_8006518
+ ldr r1, [r6]
+ adds r0, r1, 0
+ adds r0, 0xE0
+ ldr r2, [r0]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0xE8
+ ldr r0, _080244E0
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r2, [r6]
+ adds r0, r2, 0
+ adds r0, 0xE4
+ ldr r1, [r0]
+ movs r3, 0xA4
+ lsls r3, 1
+ adds r0, r2, r3
+ str r0, [r1, 0x14]
+ movs r4, 0xA5
+ lsls r4, 1
+ adds r1, r2, r4
+ movs r0, 0xA
+ strb r0, [r1]
+ bl sub_8024604
+ bl sub_802452C
+ ldr r0, [r6]
+ bl sub_8013984
+ movs r0, 0x1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080244DC: .4byte gUnknown_203B2AC
+_080244E0: .4byte gUnknown_80DC9C8
+ thumb_func_end sub_8024458
+
+ thumb_func_start sub_80244E4
+sub_80244E4:
+ push {r4,lr}
+ ldr r4, _08024500
+ ldr r0, [r4]
+ bl GetKeyPress
+ cmp r0, 0x1
+ beq _08024504
+ cmp r0, 0x2
+ bne _0802450E
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _08024524
+ .align 2, 0
+_08024500: .4byte gUnknown_203B2AC
+_08024504:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _08024524
+_0802450E:
+ ldr r0, [r4]
+ bl sub_8013938
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802451E
+ movs r0, 0
+ b _08024524
+_0802451E:
+ bl sub_802452C
+ movs r0, 0x1
+_08024524:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80244E4
+
+ thumb_func_start sub_802452C
+sub_802452C:
+ push {lr}
+ bl sub_8024588
+ bl sub_80245D0
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802452C
+
+ thumb_func_start sub_802453C
+sub_802453C:
+ push {r4,r5,lr}
+ ldr r4, _08024580
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0802457A
+ adds r0, r2, 0
+ adds r0, 0xE0
+ ldr r0, [r0]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0xE8
+ ldr r0, _08024584
+ 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, 0xE8
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0802457A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024580: .4byte gUnknown_203B2AC
+_08024584: .4byte gUnknown_80DC9B0
+ thumb_func_end sub_802453C
+
+ thumb_func_start sub_8024588
+sub_8024588:
+ push {r4,lr}
+ ldr r4, _080245C4
+ ldr r0, [r4]
+ ldrh r1, [r0, 0x20]
+ movs r2, 0xA4
+ lsls r2, 1
+ adds r0, r2
+ movs r2, 0
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldrh r1, [r0, 0x1E]
+ ldr r3, _080245C8
+ adds r0, r3
+ strb r1, [r0]
+ ldr r0, [r4]
+ ldr r1, _080245CC
+ adds r0, r1
+ strb r2, [r0]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0xE8
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080245C4: .4byte gUnknown_203B2AC
+_080245C8: .4byte 0x00000149
+_080245CC: .4byte 0x0000014b
+ thumb_func_end sub_8024588
+
+ thumb_func_start sub_80245D0
+sub_80245D0:
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r0, _08024600
+ ldr r4, [r0]
+ movs r0, 0x1E
+ ldrsh r1, [r4, r0]
+ lsls r2, r1, 2
+ adds r0, r4, 0
+ adds r0, 0x34
+ adds r0, r2
+ ldr r0, [r0]
+ adds r2, r4, 0
+ adds r2, 0x4C
+ adds r3, r4, 0
+ adds r3, 0xB0
+ adds r4, 0xE0
+ ldr r4, [r4]
+ str r4, [sp]
+ bl sub_808F844
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024600: .4byte gUnknown_203B2AC
+ thumb_func_end sub_80245D0
+
+ thumb_func_start sub_8024604
+sub_8024604:
+ push {r4,r5,lr}
+ ldr r4, _08024654
+ ldr r0, [r4]
+ movs r1, 0x2
+ str r1, [r0, 0x34]
+ movs r1, 0x3
+ str r1, [r0, 0x38]
+ movs r1, 0x5
+ str r1, [r0, 0x3C]
+ adds r1, r0, 0
+ adds r1, 0xE0
+ ldr r3, [r1]
+ movs r1, 0x3
+ movs r2, 0x1
+ bl sub_8013818
+ ldr r0, [r4]
+ adds r5, r0, 0
+ adds r5, 0x4C
+ ldr r2, _08024658
+ adds r0, 0x48
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ movs r0, 0x58
+ muls r0, r1
+ ldr r4, [r2]
+ adds r4, r0
+ movs r0, 0x7
+ bl sub_80023E4
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_808FF20
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024654: .4byte gUnknown_203B2AC
+_08024658: .4byte gRecruitedPokemonRef
+ thumb_func_end sub_8024604
+
+ thumb_func_start sub_802465C
+sub_802465C:
+ push {r4,r5,lr}
+ bl ResetUnusedInputStruct
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r5, _080246E8
+ movs r0, 0xBA
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ movs r4, 0
+ str r4, [r0, 0x28]
+ str r4, [r0, 0x2C]
+ str r4, [r0, 0x30]
+ bl sub_808D33C
+ ldr r1, [r5]
+ str r0, [r1, 0xC]
+ bl sub_808D824
+ ldr r1, [r5]
+ strb r0, [r1, 0x10]
+ ldr r0, [r5]
+ strb r4, [r0]
+ ldr r0, _080246EC
+ bl GetDialogueSpriteDataPtr
+ ldr r2, [r5]
+ movs r3, 0x82
+ lsls r3, 1
+ adds r1, r2, r3
+ str r0, [r1]
+ adds r3, 0x4
+ adds r1, r2, r3
+ ldr r0, [r0, 0x4]
+ str r0, [r1]
+ movs r1, 0x88
+ lsls r1, 1
+ adds r0, r2, r1
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r3, 0x9
+ adds r0, r3
+ strb r4, [r0]
+ ldr r0, [r5]
+ adds r1, 0x2
+ adds r0, r1
+ strb r4, [r0]
+ ldr r2, [r5]
+ subs r3, 0x5
+ adds r1, r2, r3
+ movs r0, 0x2
+ strh r0, [r1]
+ movs r0, 0x87
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x8
+ strh r0, [r1]
+ movs r0, 0
+ bl sub_80247EC
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080246E8: .4byte gUnknown_203B2B0
+_080246EC: .4byte 0x00000155
+ thumb_func_end sub_802465C
+
+ thumb_func_start sub_80246F0
+sub_80246F0:
+ push {lr}
+ ldr r0, _08024708
+ ldr r0, [r0]
+ ldr r0, [r0, 0x20]
+ cmp r0, 0x15
+ bhi _080247A8
+ lsls r0, 2
+ ldr r1, _0802470C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08024708: .4byte gUnknown_203B2B0
+_0802470C: .4byte _08024710
+ .align 2, 0
+_08024710:
+ .4byte _08024768
+ .4byte _08024768
+ .4byte _080247A8
+ .4byte _080247A8
+ .4byte _080247A4
+ .4byte _0802476E
+ .4byte _08024774
+ .4byte _08024774
+ .4byte _0802477A
+ .4byte _08024780
+ .4byte _08024786
+ .4byte _0802478C
+ .4byte _0802478C
+ .4byte _08024792
+ .4byte _08024798
+ .4byte _080247A8
+ .4byte _080247A8
+ .4byte _080247A8
+ .4byte _080247A8
+ .4byte _080247A8
+ .4byte _080247A8
+ .4byte _0802479E
+_08024768:
+ bl sub_8024E9C
+ b _080247AC
+_0802476E:
+ bl sub_8024F00
+ b _080247AC
+_08024774:
+ bl sub_8024FD4
+ b _080247AC
+_0802477A:
+ bl sub_80250EC
+ b _080247AC
+_08024780:
+ bl sub_80251CC
+ b _080247AC
+_08024786:
+ bl sub_8024F70
+ b _080247AC
+_0802478C:
+ bl sub_8025058
+ b _080247AC
+_08024792:
+ bl sub_802515C
+ b _080247AC
+_08024798:
+ bl sub_80251E8
+ b _080247AC
+_0802479E:
+ bl sub_8025204
+ b _080247AC
+_080247A4:
+ movs r0, 0x3
+ b _080247AE
+_080247A8:
+ bl sub_8025230
+_080247AC:
+ movs r0, 0
+_080247AE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80246F0
+
+ thumb_func_start sub_80247B4
+sub_80247B4:
+ ldr r0, _080247BC
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_080247BC: .4byte gUnknown_203B2B0
+ thumb_func_end sub_80247B4
+
+ thumb_func_start sub_80247C0
+sub_80247C0:
+ push {r4,lr}
+ ldr r4, _080247E8
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _080247E0
+ movs r1, 0x82
+ lsls r1, 1
+ adds r0, r1
+ ldr r0, [r0]
+ bl CloseFile
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_080247E0:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080247E8: .4byte gUnknown_203B2B0
+ thumb_func_end sub_80247C0
+
+ thumb_func_start sub_80247EC
+sub_80247EC:
+ push {lr}
+ ldr r1, _08024800
+ ldr r1, [r1]
+ str r0, [r1, 0x20]
+ bl sub_8024804
+ bl sub_80248FC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024800: .4byte gUnknown_203B2B0
+ thumb_func_end sub_80247EC
+
+ thumb_func_start sub_8024804
+sub_8024804:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r4, _0802482C
+ ldr r0, [r4]
+ movs r1, 0x8A
+ lsls r1, 1
+ adds r0, r1
+ bl sub_8006518
+ ldr r0, [r4]
+ ldr r0, [r0, 0x20]
+ subs r0, 0x8
+ cmp r0, 0x14
+ bhi _080248A8
+ lsls r0, 2
+ ldr r1, _08024830
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0802482C: .4byte gUnknown_203B2B0
+_08024830: .4byte _08024834
+ .align 2, 0
+_08024834:
+ .4byte _08024888
+ .4byte _080248A8
+ .4byte _080248A8
+ .4byte _080248A8
+ .4byte _080248A8
+ .4byte _08024888
+ .4byte _080248A8
+ .4byte _080248A8
+ .4byte _080248A8
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248A8
+ .4byte _080248A8
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248D2
+ .4byte _080248D2
+_08024888:
+ ldr r0, _080248A0
+ ldr r1, [r0]
+ movs r2, 0xA2
+ lsls r2, 1
+ adds r1, r2
+ ldr r0, _080248A4
+ ldm r0!, {r3-r5}
+ stm r1!, {r3-r5}
+ ldm r0!, {r2,r6,r7}
+ stm r1!, {r2,r6,r7}
+ b _080248D2
+ .align 2, 0
+_080248A0: .4byte gUnknown_203B2B0
+_080248A4: .4byte gUnknown_80DCA00
+_080248A8:
+ ldr r3, _080248F4
+ mov r12, r3
+ movs r4, 0x8A
+ lsls r4, 1
+ mov r8, r4
+ ldr r4, _080248F8
+ movs r3, 0
+ movs r2, 0x3
+_080248B8:
+ 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 _080248B8
+_080248D2:
+ bl ResetUnusedInputStruct
+ ldr r0, _080248F4
+ ldr r0, [r0]
+ movs r6, 0x8A
+ lsls r6, 1
+ adds r0, r6
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080248F4: .4byte gUnknown_203B2B0
+_080248F8: .4byte gUnknown_80DC9E8
+ thumb_func_end sub_8024804
+
+ thumb_func_start sub_80248FC
+sub_80248FC:
+ push {r4,r5,lr}
+ sub sp, 0x14
+ ldr r1, _08024918
+ ldr r0, [r1]
+ ldr r0, [r0, 0x20]
+ adds r5, r1, 0
+ cmp r0, 0x1D
+ bls _0802490E
+ b _08024CF4
+_0802490E:
+ lsls r0, 2
+ ldr r1, _0802491C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08024918: .4byte gUnknown_203B2B0
+_0802491C: .4byte _08024920
+ .align 2, 0
+_08024920:
+ .4byte _08024998
+ .4byte _080249D0
+ .4byte _080249E8
+ .4byte _080249F8
+ .4byte _08024CF4
+ .4byte _08024A14
+ .4byte _08024A20
+ .4byte _08024A2E
+ .4byte _08024A94
+ .4byte _08024AC0
+ .4byte _08024A36
+ .4byte _08024A68
+ .4byte _08024A76
+ .4byte _08024A94
+ .4byte _08024AC0
+ .4byte _08024ACA
+ .4byte _08024AD8
+ .4byte _08024AE8
+ .4byte _08024B4C
+ .4byte _08024B74
+ .4byte _08024C9C
+ .4byte _08024CC8
+ .4byte _08024C1C
+ .4byte _08024C2C
+ .4byte _08024C3C
+ .4byte _08024C4C
+ .4byte _08024C5C
+ .4byte _08024C6C
+ .4byte _08024C7C
+ .4byte _08024C8C
+_08024998:
+ bl sub_80252B8
+ lsls r0, 24
+ cmp r0, 0
+ beq _080249B0
+ ldr r0, _080249AC
+ ldr r1, [r0]
+ movs r0, 0x3
+ b _080249B6
+ .align 2, 0
+_080249AC: .4byte gUnknown_203B2B0
+_080249B0:
+ ldr r0, _080249C8
+ ldr r1, [r0]
+ movs r0, 0x1
+_080249B6:
+ str r0, [r1, 0x28]
+ bl sub_8024CFC
+ ldr r0, _080249CC
+ ldr r1, _080249C8
+ ldr r1, [r1]
+ ldr r2, [r1, 0x28]
+ b _08024A42
+ .align 2, 0
+_080249C8: .4byte gUnknown_203B2B0
+_080249CC: .4byte gUnknown_80DCA34
+_080249D0:
+ bl sub_8024CFC
+ ldr r0, _080249E0
+ ldr r1, _080249E4
+ ldr r1, [r1]
+ ldr r2, [r1, 0x28]
+ b _08024A42
+ .align 2, 0
+_080249E0: .4byte gUnknown_80DCAB8
+_080249E4: .4byte gUnknown_203B2B0
+_080249E8:
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1, 0x24]
+ ldr r0, _080249F4
+ b _08024CAE
+ .align 2, 0
+_080249F4: .4byte gUnknown_80DCAD0
+_080249F8:
+ ldr r1, [r5]
+ movs r0, 0x4
+ str r0, [r1, 0x24]
+ movs r0, 0x8
+ movs r1, 0x3C
+ bl xxx_call_fade_in_new_bgm
+ ldr r0, _08024A0C
+ ldr r3, _08024A10
+ b _08024CB0
+ .align 2, 0
+_08024A0C: .4byte gUnknown_80DCD5C
+_08024A10: .4byte 0x00000305
+_08024A14:
+ bl sub_8024D48
+ ldr r0, _08024A1C
+ b _08024A3C
+ .align 2, 0
+_08024A1C: .4byte gUnknown_80DCD90
+_08024A20:
+ movs r0, 0x2
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _08024CF4
+_08024A2E:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _08024CF4
+_08024A36:
+ bl sub_8024DBC
+ ldr r0, _08024A60
+_08024A3C:
+ ldr r1, _08024A64
+ ldr r1, [r1]
+ ldr r2, [r1, 0x2C]
+_08024A42:
+ adds r3, r1, 0
+ adds r3, 0x34
+ adds r1, 0x74
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ str r1, [sp, 0xC]
+ movs r1, 0x5
+ str r1, [sp, 0x10]
+ movs r1, 0
+ bl sub_8014248
+ b _08024CF4
+ .align 2, 0
+_08024A60: .4byte gUnknown_80DCDB8
+_08024A64: .4byte gUnknown_203B2B0
+_08024A68:
+ movs r0, 0x2
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _08024A7C
+_08024A76:
+ movs r0, 0x1
+ bl sub_801A8D0
+_08024A7C:
+ ldr r0, _08024A90
+ ldr r0, [r0]
+ ldr r0, [r0, 0x14]
+ movs r1, 0x1
+ bl sub_801AEE4
+ bl sub_801A9E0
+ b _08024CF4
+ .align 2, 0
+_08024A90: .4byte gUnknown_203B2B0
+_08024A94:
+ bl sub_801A9E0
+ bl sub_8024E30
+ ldr r0, _08024ABC
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x84
+ adds r1, r2, 0
+ adds r1, 0x34
+ adds r3, r2, 0
+ adds r3, 0x74
+ ldr r2, [r2, 0x30]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _08024CF4
+ .align 2, 0
+_08024ABC: .4byte gUnknown_203B2B0
+_08024AC0:
+ ldr r0, [r5]
+ adds r0, 0x1C
+ bl sub_801B3C0
+ b _08024CF4
+_08024ACA:
+ ldr r1, [r5]
+ movs r0, 0x5
+ str r0, [r1, 0x24]
+ ldr r0, _08024AD4
+ b _08024CAE
+ .align 2, 0
+_08024AD4: .4byte gUnknown_80DCDDC
+_08024AD8:
+ ldr r1, [r5]
+ movs r0, 0xA
+ str r0, [r1, 0x24]
+ ldr r0, _08024AE4
+ b _08024CAE
+ .align 2, 0
+_08024AE4: .4byte gUnknown_80DCE18
+_08024AE8:
+ bl sub_8025254
+ ldr r0, _08024B00
+ ldr r1, [r0]
+ ldrh r2, [r1, 0x8]
+ movs r0, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _08024B04
+ movs r0, 0x12
+ b _08024B3A
+ .align 2, 0
+_08024B00: .4byte gUnknown_203B2B0
+_08024B04:
+ lsls r0, r2, 16
+ lsrs r0, 16
+ cmp r0, 0x4
+ bne _08024B10
+ movs r0, 0x18
+ b _08024B3A
+_08024B10:
+ cmp r0, 0x2
+ bne _08024B18
+ movs r0, 0x17
+ b _08024B3A
+_08024B18:
+ cmp r0, 0x10
+ bne _08024B20
+ movs r0, 0x1B
+ b _08024B3A
+_08024B20:
+ cmp r0, 0x20
+ bne _08024B28
+ movs r0, 0x19
+ b _08024B3A
+_08024B28:
+ cmp r0, 0x40
+ bne _08024B30
+ movs r0, 0x1A
+ b _08024B3A
+_08024B30:
+ cmp r0, 0x8
+ bne _08024B38
+ movs r0, 0x1C
+ b _08024B3A
+_08024B38:
+ movs r0, 0x1D
+_08024B3A:
+ str r0, [r1, 0x24]
+ movs r0, 0x3C
+ bl xxx_call_fade_out_bgm
+ ldr r0, _08024B48
+ b _08024CAE
+ .align 2, 0
+_08024B48: .4byte gUnknown_80DCE38
+_08024B4C:
+ ldr r0, _08024B68
+ ldr r1, [r5]
+ ldr r1, [r1, 0xC]
+ movs r2, 0x5
+ bl sub_808D9AC
+ ldr r0, _08024B6C
+ bl PlaySound
+ ldr r1, [r5]
+ movs r0, 0x13
+ str r0, [r1, 0x24]
+ ldr r0, _08024B70
+ b _08024CAE
+ .align 2, 0
+_08024B68: .4byte gPlayerName
+_08024B6C: .4byte 0x000001ff
+_08024B70: .4byte gUnknown_80DCE68
+_08024B74:
+ ldr r0, [r5]
+ ldr r0, [r0, 0xC]
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ ldr r4, _08024C10
+ adds r0, r4, 0
+ bl strcpy
+ ldr r0, [r5]
+ movs r2, 0xA
+ ldrsh r0, [r0, r2]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ adds r4, 0x50
+ adds r0, r4, 0
+ bl strcpy
+ ldr r1, [r5]
+ movs r0, 0x1
+ strb r0, [r1]
+ bl sub_80977D0
+ ldr r1, [r5]
+ ldr r0, [r1, 0xC]
+ movs r2, 0xA
+ ldrsh r1, [r1, r2]
+ bl sub_808F734
+ bl nullsub_104
+ bl sub_808D33C
+ ldr r1, [r5]
+ str r0, [r1, 0xC]
+ ldr r0, [r1, 0x14]
+ cmp r0, 0x14
+ beq _08024BCA
+ bl sub_8091234
+_08024BCA:
+ ldr r0, [r5]
+ ldr r0, [r0, 0x18]
+ cmp r0, 0x14
+ beq _08024BD6
+ bl sub_8091234
+_08024BD6:
+ bl sub_80910B4
+ ldr r0, _08024C14
+ bl sub_801199C
+ movs r0, 0xD2
+ bl PlaySound
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x10]
+ cmp r0, 0
+ beq _08024C06
+ ldr r0, [r1, 0xC]
+ adds r4, r0, 0
+ adds r4, 0x4C
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0xA
+ bl BoundedCopyStringtoBuffer
+_08024C06:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C18
+ b _08024CAE
+ .align 2, 0
+_08024C10: .4byte gAvailablePokemonNames
+_08024C14: .4byte 0x000001ff
+_08024C18: .4byte gUnknown_80DCEB0
+_08024C1C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C28
+ b _08024CAE
+ .align 2, 0
+_08024C28: .4byte gUnknown_80DCEDC
+_08024C2C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C38
+ b _08024CAE
+ .align 2, 0
+_08024C38: .4byte gUnknown_80DCF44
+_08024C3C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C48
+ b _08024CAE
+ .align 2, 0
+_08024C48: .4byte gUnknown_80DCF88
+_08024C4C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C58
+ b _08024CAE
+ .align 2, 0
+_08024C58: .4byte gUnknown_80DCFAC
+_08024C5C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C68
+ b _08024CAE
+ .align 2, 0
+_08024C68: .4byte gUnknown_80DCFF4
+_08024C6C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C78
+ b _08024CAE
+ .align 2, 0
+_08024C78: .4byte gUnknown_80DD054
+_08024C7C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C88
+ b _08024CAE
+ .align 2, 0
+_08024C88: .4byte gUnknown_80DD098
+_08024C8C:
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08024C98
+ b _08024CAE
+ .align 2, 0
+_08024C98: .4byte gUnknown_80DD0E0
+_08024C9C:
+ movs r0, 0x8
+ movs r1, 0x3C
+ bl xxx_call_fade_in_new_bgm
+ ldr r0, _08024CBC
+ ldr r1, [r0]
+ movs r0, 0x15
+ str r0, [r1, 0x24]
+ ldr r0, _08024CC0
+_08024CAE:
+ ldr r3, _08024CC4
+_08024CB0:
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _08024CF4
+ .align 2, 0
+_08024CBC: .4byte gUnknown_203B2B0
+_08024CC0: .4byte gUnknown_80DD104
+_08024CC4: .4byte 0x00000105
+_08024CC8:
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x10]
+ cmp r0, 0
+ beq _08024CE8
+ ldr r0, [r1, 0xC]
+ adds r4, r0, 0
+ adds r4, 0x4C
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ bl GetMonSpecies
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0xA
+ bl BoundedCopyStringtoBuffer
+_08024CE8:
+ ldr r0, [r5]
+ ldr r1, [r0, 0xC]
+ adds r1, 0x4C
+ movs r0, 0
+ bl sub_801602C
+_08024CF4:
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80248FC
+
+ thumb_func_start sub_8024CFC
+sub_8024CFC:
+ push {r4,lr}
+ ldr r4, _08024D38
+ ldr r0, [r4]
+ adds r0, 0x74
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ movs r3, 0
+ ldr r0, _08024D3C
+ str r0, [r1, 0x34]
+ movs r0, 0x3
+ str r0, [r1, 0x38]
+ movs r2, 0x1
+ ldr r0, _08024D40
+ ldr r0, [r0]
+ str r0, [r1, 0x3C]
+ movs r0, 0x2
+ str r0, [r1, 0x40]
+ ldr r0, _08024D44
+ ldr r0, [r0]
+ str r0, [r1, 0x44]
+ str r2, [r1, 0x48]
+ str r3, [r1, 0x4C]
+ str r2, [r1, 0x50]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024D38: .4byte gUnknown_203B2B0
+_08024D3C: .4byte gUnknown_80DCA18
+_08024D40: .4byte gUnknown_80D4970
+_08024D44: .4byte gUnknown_80D4934
+ thumb_func_end sub_8024CFC
+
+ thumb_func_start sub_8024D48
+sub_8024D48:
+ push {r4-r7,lr}
+ ldr r4, _08024DAC
+ ldr r0, [r4]
+ adds r0, 0x74
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08024DB0
+ str r0, [r3, 0x34]
+ movs r0, 0x4
+ str r0, [r3, 0x38]
+ movs r1, 0x1
+ ldr r0, _08024DB4
+ str r0, [r3, 0x3C]
+ movs r0, 0x5
+ str r0, [r3, 0x40]
+ ldr r0, _08024DB8
+ ldr r0, [r0]
+ str r0, [r3, 0x44]
+ str r1, [r3, 0x48]
+ movs r6, 0x3
+ str r2, [r3, 0x4C]
+ str r1, [r3, 0x50]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x38
+ mov r2, r12
+ adds r2, 0x74
+_08024D86:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08024D96
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x2C]
+ cmp r1, r0
+ beq _08024DA6
+_08024D96:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _08024D86
+ ldr r1, [r4]
+ movs r0, 0x4
+ str r0, [r1, 0x2C]
+_08024DA6:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024DAC: .4byte gUnknown_203B2B0
+_08024DB0: .4byte gUnknown_80DCA24
+_08024DB4: .4byte gUnknown_80DCA2C
+_08024DB8: .4byte gUnknown_80D4934
+ thumb_func_end sub_8024D48
+
+ thumb_func_start sub_8024DBC
+sub_8024DBC:
+ push {r4-r7,lr}
+ ldr r4, _08024E20
+ ldr r0, [r4]
+ adds r0, 0x74
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08024E24
+ str r0, [r3, 0x34]
+ movs r0, 0x4
+ str r0, [r3, 0x38]
+ movs r1, 0x1
+ ldr r0, _08024E28
+ str r0, [r3, 0x3C]
+ movs r0, 0x5
+ str r0, [r3, 0x40]
+ ldr r0, _08024E2C
+ ldr r0, [r0]
+ str r0, [r3, 0x44]
+ str r1, [r3, 0x48]
+ movs r6, 0x3
+ str r2, [r3, 0x4C]
+ str r1, [r3, 0x50]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x38
+ mov r2, r12
+ adds r2, 0x74
+_08024DFA:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08024E0A
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x2C]
+ cmp r1, r0
+ beq _08024E1A
+_08024E0A:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _08024DFA
+ ldr r1, [r4]
+ movs r0, 0x4
+ str r0, [r1, 0x2C]
+_08024E1A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024E20: .4byte gUnknown_203B2B0
+_08024E24: .4byte gUnknown_80DCA24
+_08024E28: .4byte gUnknown_80DCA2C
+_08024E2C: .4byte gUnknown_80D4934
+ thumb_func_end sub_8024DBC
+
+ thumb_func_start sub_8024E30
+sub_8024E30:
+ push {r4-r7,lr}
+ ldr r4, _08024E90
+ ldr r0, [r4]
+ adds r0, 0x74
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08024E94
+ str r0, [r3, 0x34]
+ movs r0, 0x5
+ str r0, [r3, 0x38]
+ movs r1, 0x1
+ ldr r0, _08024E98
+ ldr r0, [r0]
+ str r0, [r3, 0x3C]
+ movs r0, 0x2
+ str r0, [r3, 0x40]
+ movs r6, 0x2
+ str r2, [r3, 0x44]
+ str r1, [r3, 0x48]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x38
+ mov r2, r12
+ adds r2, 0x74
+_08024E68:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08024E78
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x30]
+ cmp r1, r0
+ beq _08024E88
+_08024E78:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _08024E68
+ ldr r1, [r4]
+ movs r0, 0x5
+ str r0, [r1, 0x30]
+_08024E88:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08024E90: .4byte gUnknown_203B2B0
+_08024E94: .4byte gUnknown_80DCA2C
+_08024E98: .4byte gUnknown_80D4970
+ thumb_func_end sub_8024E30
+
+ thumb_func_start sub_8024E9C
+sub_8024E9C:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08024EF8
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08024EB6
+ ldr r0, _08024EC8
+ ldr r0, [r0]
+ str r1, [r0, 0x28]
+_08024EB6:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08024EEA
+ cmp r0, 0x2
+ bgt _08024ECC
+ cmp r0, 0x1
+ beq _08024EF2
+ b _08024EF8
+ .align 2, 0
+_08024EC8: .4byte gUnknown_203B2B0
+_08024ECC:
+ cmp r0, 0x3
+ bne _08024EF8
+ bl sub_80252B8
+ lsls r0, 24
+ cmp r0, 0
+ beq _08024EE2
+ movs r0, 0x5
+ bl sub_80247EC
+ b _08024EF8
+_08024EE2:
+ movs r0, 0x16
+ bl sub_80247EC
+ b _08024EF8
+_08024EEA:
+ movs r0, 0x2
+ bl sub_80247EC
+ b _08024EF8
+_08024EF2:
+ movs r0, 0x3
+ bl sub_80247EC
+_08024EF8:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024E9C
+
+ thumb_func_start sub_8024F00
+sub_8024F00:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08024F6A
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08024F1A
+ ldr r0, _08024F2C
+ ldr r0, [r0]
+ str r1, [r0, 0x2C]
+_08024F1A:
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _08024F36
+ cmp r0, 0x4
+ bgt _08024F30
+ cmp r0, 0x1
+ beq _08024F64
+ b _08024F6A
+ .align 2, 0
+_08024F2C: .4byte gUnknown_203B2B0
+_08024F30:
+ cmp r0, 0x5
+ beq _08024F4C
+ b _08024F6A
+_08024F36:
+ ldr r0, _08024F48
+ ldr r1, [r0]
+ movs r0, 0x14
+ str r0, [r1, 0x14]
+ str r0, [r1, 0x18]
+ movs r0, 0x11
+ bl sub_80247EC
+ b _08024F6A
+ .align 2, 0
+_08024F48: .4byte gUnknown_203B2B0
+_08024F4C:
+ bl sub_8090A34
+ cmp r0, 0
+ bne _08024F5C
+ movs r0, 0xF
+ bl sub_80247EC
+ b _08024F6A
+_08024F5C:
+ movs r0, 0x6
+ bl sub_80247EC
+ b _08024F6A
+_08024F64:
+ movs r0, 0x1
+ bl sub_80247EC
+_08024F6A:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024F00
+
+ thumb_func_start sub_8024F70
+sub_8024F70:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08024FCC
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08024F8A
+ ldr r0, _08024F9C
+ ldr r0, [r0]
+ str r1, [r0, 0x2C]
+_08024F8A:
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _08024FA6
+ cmp r0, 0x4
+ bgt _08024FA0
+ cmp r0, 0x1
+ beq _08024FC6
+ b _08024FCC
+ .align 2, 0
+_08024F9C: .4byte gUnknown_203B2B0
+_08024FA0:
+ cmp r0, 0x5
+ beq _08024FAE
+ b _08024FCC
+_08024FA6:
+ movs r0, 0x11
+ bl sub_80247EC
+ b _08024FCC
+_08024FAE:
+ bl sub_8090A34
+ cmp r0, 0x1
+ bgt _08024FBE
+ movs r0, 0x10
+ bl sub_80247EC
+ b _08024FCC
+_08024FBE:
+ movs r0, 0xB
+ bl sub_80247EC
+ b _08024FCC
+_08024FC6:
+ movs r0, 0x1
+ bl sub_80247EC
+_08024FCC:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024F70
+
+ thumb_func_start sub_8024FD4
+sub_8024FD4:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x3
+ beq _08024FF0
+ cmp r0, 0x3
+ bhi _08024FEA
+ cmp r0, 0x2
+ beq _08025048
+ b _08025052
+_08024FEA:
+ cmp r0, 0x4
+ beq _0802501C
+ b _08025052
+_08024FF0:
+ bl sub_801A8AC
+ ldr r1, _08025014
+ ldr r2, [r1]
+ str r0, [r2, 0x14]
+ movs r1, 0x14
+ str r1, [r2, 0x18]
+ ldr r1, _08025018
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x1C]
+ movs r0, 0x8
+ bl sub_80247EC
+ b _08025052
+ .align 2, 0
+_08025014: .4byte gUnknown_203B2B0
+_08025018: .4byte gUnknown_203B460
+_0802501C:
+ bl sub_801A8AC
+ ldr r1, _08025040
+ ldr r2, [r1]
+ ldr r1, _08025044
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x1C]
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x9
+ bl sub_80247EC
+ b _08025052
+ .align 2, 0
+_08025040: .4byte gUnknown_203B2B0
+_08025044: .4byte gUnknown_203B460
+_08025048:
+ bl sub_801A928
+ movs r0, 0x5
+ bl sub_80247EC
+_08025052:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8024FD4
+
+ thumb_func_start sub_8025058
+sub_8025058:
+ push {r4,r5,lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x3
+ beq _08025074
+ cmp r0, 0x3
+ bhi _0802506E
+ cmp r0, 0x2
+ beq _080250DC
+ b _080250E6
+_0802506E:
+ cmp r0, 0x4
+ beq _080250B0
+ b _080250E6
+_08025074:
+ ldr r5, _080250A0
+ ldr r4, [r5]
+ bl sub_801A8AC
+ ldr r1, [r4, 0x14]
+ cmp r1, r0
+ beq _080250A8
+ bl sub_801A8AC
+ ldr r2, [r5]
+ str r0, [r2, 0x18]
+ ldr r1, _080250A4
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x1C]
+ movs r0, 0xD
+ bl sub_80247EC
+ b _080250E6
+ .align 2, 0
+_080250A0: .4byte gUnknown_203B2B0
+_080250A4: .4byte gUnknown_203B460
+_080250A8:
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ b _080250E6
+_080250B0:
+ bl sub_801A8AC
+ ldr r1, _080250D4
+ ldr r2, [r1]
+ ldr r1, _080250D8
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x1C]
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xE
+ bl sub_80247EC
+ b _080250E6
+ .align 2, 0
+_080250D4: .4byte gUnknown_203B2B0
+_080250D8: .4byte gUnknown_203B460
+_080250DC:
+ bl sub_801A928
+ movs r0, 0xA
+ bl sub_80247EC
+_080250E6:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025058
+
+ thumb_func_start sub_80250EC
+sub_80250EC:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _0802512C
+ ldr r0, [r4]
+ adds r0, 0x84
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802511C
+ ldr r0, [r4]
+ adds r0, 0x84
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _0802511C
+ ldr r0, [r4]
+ str r1, [r0, 0x30]
+_0802511C:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08025140
+ cmp r0, 0x2
+ bgt _08025130
+ cmp r0, 0x1
+ beq _0802514E
+ b _08025154
+ .align 2, 0
+_0802512C: .4byte gUnknown_203B2B0
+_08025130:
+ cmp r0, 0x5
+ bne _08025154
+ bl sub_801A928
+ movs r0, 0xA
+ bl sub_80247EC
+ b _08025154
+_08025140:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x9
+ bl sub_80247EC
+ b _08025154
+_0802514E:
+ movs r0, 0x7
+ bl sub_80247EC
+_08025154:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80250EC
+
+ thumb_func_start sub_802515C
+sub_802515C:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _0802519C
+ ldr r0, [r4]
+ adds r0, 0x84
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0802518C
+ ldr r0, [r4]
+ adds r0, 0x84
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _0802518C
+ ldr r0, [r4]
+ str r1, [r0, 0x30]
+_0802518C:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _080251B0
+ cmp r0, 0x2
+ bgt _080251A0
+ cmp r0, 0x1
+ beq _080251BE
+ b _080251C4
+ .align 2, 0
+_0802519C: .4byte gUnknown_203B2B0
+_080251A0:
+ cmp r0, 0x5
+ bne _080251C4
+ bl sub_801A928
+ movs r0, 0x11
+ bl sub_80247EC
+ b _080251C4
+_080251B0:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xE
+ bl sub_80247EC
+ b _080251C4
+_080251BE:
+ movs r0, 0xC
+ bl sub_80247EC
+_080251C4:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802515C
+
+ thumb_func_start sub_80251CC
+sub_80251CC:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _080251E4
+ cmp r0, 0x3
+ bhi _080251E4
+ bl sub_801B450
+ movs r0, 0x7
+ bl sub_80247EC
+_080251E4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80251CC
+
+ thumb_func_start sub_80251E8
+sub_80251E8:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _08025200
+ cmp r0, 0x3
+ bhi _08025200
+ bl sub_801B450
+ movs r0, 0xC
+ bl sub_80247EC
+_08025200:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80251E8
+
+ thumb_func_start sub_8025204
+sub_8025204:
+ push {r4,lr}
+ bl sub_8016080
+ cmp r0, 0x3
+ bne _08025226
+ bl sub_80160D8
+ ldr r4, _0802522C
+ ldr r0, [r4]
+ ldr r0, [r0, 0xC]
+ bl sub_808D824
+ ldr r1, [r4]
+ strb r0, [r1, 0x10]
+ movs r0, 0x3
+ bl sub_80247EC
+_08025226:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0802522C: .4byte gUnknown_203B2B0
+ thumb_func_end sub_8025204
+
+ thumb_func_start sub_8025230
+sub_8025230:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08025248
+ ldr r0, _08025250
+ ldr r0, [r0]
+ ldr r0, [r0, 0x24]
+ bl sub_80247EC
+_08025248:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025250: .4byte gUnknown_203B2B0
+ thumb_func_end sub_8025230
+
+ thumb_func_start sub_8025254
+sub_8025254:
+ push {lr}
+ ldr r0, _08025268
+ ldr r2, [r0]
+ ldr r1, [r2, 0x14]
+ adds r3, r0, 0
+ cmp r1, 0x14
+ bne _0802526C
+ movs r0, 0
+ b _08025276
+ .align 2, 0
+_08025268: .4byte gUnknown_203B2B0
+_0802526C:
+ ldr r0, _08025284
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x2]
+_08025276:
+ strb r0, [r2, 0x4]
+ ldr r2, [r3]
+ ldr r1, [r2, 0x18]
+ cmp r1, 0x14
+ bne _08025288
+ movs r0, 0
+ b _08025292
+ .align 2, 0
+_08025284: .4byte gUnknown_203B460
+_08025288:
+ ldr r0, _080252B0
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r0, r1
+ ldrb r0, [r0, 0x2]
+_08025292:
+ strb r0, [r2, 0x5]
+ movs r0, 0xFF
+ bl RandomCapped
+ ldr r2, _080252B4
+ ldr r1, [r2]
+ strb r0, [r1, 0x6]
+ ldr r1, [r2]
+ ldr r0, [r1, 0xC]
+ adds r1, 0x4
+ movs r2, 0x1
+ bl sub_808F468
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080252B0: .4byte gUnknown_203B460
+_080252B4: .4byte gUnknown_203B2B0
+ thumb_func_end sub_8025254
+
+ thumb_func_start sub_80252B8
+sub_80252B8:
+ push {r4,lr}
+ ldr r0, _080252E0
+ ldr r1, [r0]
+ movs r3, 0
+ movs r4, 0x1
+ ldr r2, _080252E4
+_080252C4:
+ ldrh r0, [r1]
+ lsrs r0, 1
+ ands r0, r4
+ cmp r0, 0
+ beq _080252D0
+ adds r3, 0x1
+_080252D0:
+ subs r2, 0x1
+ adds r1, 0x58
+ cmp r2, 0
+ bne _080252C4
+ cmp r3, 0x1
+ beq _080252E8
+ movs r0, 0
+ b _080252EA
+ .align 2, 0
+_080252E0: .4byte gRecruitedPokemonRef
+_080252E4: .4byte 0x0000019d
+_080252E8:
+ movs r0, 0x1
+_080252EA:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80252B8
+
+ thumb_func_start sub_80252F0
+sub_80252F0:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ cmp r6, 0x2
+ bne _08025308
+ movs r0, 0x4
+ bl sub_8024108
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025308
+ movs r0, 0
+ b _0802534C
+_08025308:
+ ldr r4, _08025340
+ movs r0, 0xBC
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r5, 0
+ str r5, [r0, 0x70]
+ str r6, [r0]
+ bl sub_80A5728
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_8002658
+ ldr r1, [r4]
+ strb r0, [r1, 0xC]
+ ldr r0, [r4]
+ strb r5, [r0, 0xD]
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0x2
+ bne _08025344
+ movs r0, 0
+ bl sub_8025434
+ b _0802534A
+ .align 2, 0
+_08025340: .4byte gUnknown_203B2B4
+_08025344:
+ movs r0, 0x1
+ bl sub_8025434
+_0802534A:
+ movs r0, 0x1
+_0802534C:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80252F0
+
+ thumb_func_start sub_8025354
+sub_8025354:
+ push {lr}
+ ldr r0, _0802536C
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ subs r0, 0x1
+ cmp r0, 0x12
+ bhi _08025400
+ lsls r0, 2
+ ldr r1, _08025370
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0802536C: .4byte gUnknown_203B2B4
+_08025370: .4byte _08025374
+ .align 2, 0
+_08025374:
+ .4byte _080253C4
+ .4byte _080253C4
+ .4byte _080253CA
+ .4byte _080253D0
+ .4byte _080253D6
+ .4byte _08025400
+ .4byte _08025400
+ .4byte _08025400
+ .4byte _08025400
+ .4byte _08025400
+ .4byte _080253DC
+ .4byte _080253DC
+ .4byte _080253E2
+ .4byte _080253E8
+ .4byte _080253EE
+ .4byte _080253EE
+ .4byte _080253F4
+ .4byte _080253FA
+ .4byte _080253C0
+_080253C0:
+ movs r0, 0x3
+ b _08025406
+_080253C4:
+ bl sub_80259F0
+ b _08025404
+_080253CA:
+ bl sub_8025A84
+ b _08025404
+_080253D0:
+ bl sub_8025BCC
+ b _08025404
+_080253D6:
+ bl sub_8025BE8
+ b _08025404
+_080253DC:
+ bl sub_8025C04
+ b _08025404
+_080253E2:
+ bl sub_8025CB4
+ b _08025404
+_080253E8:
+ bl sub_8025D90
+ b _08025404
+_080253EE:
+ bl sub_8025DAC
+ b _08025404
+_080253F4:
+ bl sub_8025E08
+ b _08025404
+_080253FA:
+ bl sub_8025E24
+ b _08025404
+_08025400:
+ bl sub_8025E44
+_08025404:
+ movs r0, 0
+_08025406:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8025354
+
+ thumb_func_start sub_802540C
+sub_802540C:
+ ldr r0, _08025414
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xD]
+ bx lr
+ .align 2, 0
+_08025414: .4byte gUnknown_203B2B4
+ thumb_func_end sub_802540C
+
+ thumb_func_start sub_8025418
+sub_8025418:
+ push {r4,lr}
+ ldr r4, _08025430
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0802542A
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0802542A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025430: .4byte gUnknown_203B2B4
+ thumb_func_end sub_8025418
+
+ thumb_func_start sub_8025434
+sub_8025434:
+ push {lr}
+ ldr r1, _08025448
+ ldr r1, [r1]
+ str r0, [r1, 0x4]
+ bl sub_802544C
+ bl sub_8025518
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025448: .4byte gUnknown_203B2B4
+ thumb_func_end sub_8025434
+
+ thumb_func_start sub_802544C
+sub_802544C:
+ push {r4-r7,lr}
+ ldr r4, _08025470
+ ldr r0, [r4]
+ movs r1, 0x8C
+ lsls r1, 1
+ adds r0, r1
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1, 0x4]
+ cmp r0, 0x3
+ beq _08025478
+ cmp r0, 0xD
+ beq _080254B0
+ movs r2, 0
+ ldr r3, _08025474
+ b _080254D8
+ .align 2, 0
+_08025470: .4byte gUnknown_203B2B4
+_08025474: .4byte gUnknown_80DD148
+_08025478:
+ ldr r0, [r1]
+ cmp r0, 0
+ bne _0802548E
+ movs r2, 0xB0
+ lsls r2, 1
+ adds r1, r2
+ ldr r0, _080254A8
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+_0802548E:
+ bl sub_8025728
+ ldr r2, [r4]
+ movs r0, 0xA4
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _080254AC
+ ldm r1!, {r5-r7}
+ stm r2!, {r5-r7}
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ b _080254C6
+ .align 2, 0
+_080254A8: .4byte gUnknown_80DD190
+_080254AC: .4byte gUnknown_80DD160
+_080254B0:
+ bl sub_802591C
+ ldr r2, [r4]
+ movs r0, 0xA4
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _080254D4
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldm r1!, {r3,r6,r7}
+ stm r2!, {r3,r6,r7}
+_080254C6:
+ ldr r1, [r4]
+ adds r0, r1, r0
+ adds r1, 0xC8
+ bl sub_8012CAC
+ b _080254F8
+ .align 2, 0
+_080254D4: .4byte gUnknown_80DD178
+_080254D8:
+ ldr r0, [r4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r0, r1
+ movs r5, 0x8C
+ lsls r5, 1
+ adds r0, r5
+ 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 _080254D8
+_080254F8:
+ bl ResetUnusedInputStruct
+ ldr r0, _08025514
+ ldr r0, [r0]
+ movs r6, 0x8C
+ lsls r6, 1
+ adds r0, r6
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025514: .4byte gUnknown_203B2B4
+ thumb_func_end sub_802544C
+
+ thumb_func_start sub_8025518
+sub_8025518:
+ push {r4,r5,lr}
+ sub sp, 0xC
+ ldr r1, _08025534
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r5, r1, 0
+ cmp r0, 0x13
+ bls _0802552A
+ b _08025720
+_0802552A:
+ lsls r0, 2
+ ldr r1, _08025538
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08025534: .4byte gUnknown_203B2B4
+_08025538: .4byte _0802553C
+ .align 2, 0
+_0802553C:
+ .4byte _0802558C
+ .4byte _080255A0
+ .4byte _080255BA
+ .4byte _080255C2
+ .4byte _0802560C
+ .4byte _0802561A
+ .4byte _08025720
+ .4byte _080256A8
+ .4byte _0802567A
+ .4byte _08025688
+ .4byte _08025698
+ .4byte _08025626
+ .4byte _08025634
+ .4byte _0802563C
+ .4byte _08025668
+ .4byte _080256CC
+ .4byte _080256F2
+ .4byte _080256FC
+ .4byte _08025714
+ .4byte _08025720
+_0802558C:
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1, 0x8]
+ ldr r0, _08025598
+ ldr r3, _0802559C
+ b _080256B8
+ .align 2, 0
+_08025598: .4byte gUnknown_80DD1A8
+_0802559C: .4byte 0x00000301
+_080255A0:
+ movs r1, 0x4
+ ldr r0, [r5]
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _080255AC
+ movs r1, 0x2
+_080255AC:
+ adds r0, r1, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_8023868
+ b _08025720
+_080255BA:
+ movs r0, 0x1
+ bl sub_8023B7C
+ b _08025720
+_080255C2:
+ ldr r1, [r5]
+ ldr r0, [r1]
+ cmp r0, 0
+ bne _080255D2
+ adds r1, 0x18
+ movs r0, 0x3
+ bl sub_8025E68
+_080255D2:
+ bl sub_8023DA4
+ ldr r4, _08025608
+ ldr r0, [r5]
+ ldr r1, [r0, 0x1C]
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl sub_808D9AC
+ adds r4, 0x50
+ ldr r0, [r5]
+ ldr r1, [r0, 0x1C]
+ adds r0, r4, 0
+ movs r2, 0x6
+ bl sub_808D9AC
+ ldr r2, [r5]
+ adds r0, r2, 0
+ adds r0, 0x78
+ adds r1, r2, 0
+ adds r1, 0xC8
+ movs r4, 0x84
+ lsls r4, 1
+ adds r3, r2, r4
+ ldr r2, [r2, 0x70]
+ b _08025654
+ .align 2, 0
+_08025608: .4byte gAvailablePokemonNames
+_0802560C:
+ ldr r0, [r5]
+ movs r1, 0xE
+ ldrsh r0, [r0, r1]
+ movs r1, 0x2
+ bl sub_8024458
+ b _08025720
+_0802561A:
+ ldr r0, [r5]
+ movs r4, 0xE
+ ldrsh r0, [r0, r4]
+ bl sub_801BEEC
+ b _08025720
+_08025626:
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _08025720
+_08025634:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _08025720
+_0802563C:
+ bl sub_801A9E0
+ ldr r0, _08025664
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x78
+ adds r1, r2, 0
+ adds r1, 0xC8
+ movs r4, 0x84
+ lsls r4, 1
+ adds r3, r2, r4
+ ldr r2, [r2, 0x74]
+_08025654:
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _08025720
+ .align 2, 0
+_08025664: .4byte gUnknown_203B2B4
+_08025668:
+ ldr r1, [r5]
+ adds r1, 0x14
+ add r0, sp, 0x8
+ bl sub_8090B64
+ add r0, sp, 0x8
+ bl sub_801B3C0
+ b _08025720
+_0802567A:
+ ldr r1, [r5]
+ movs r0, 0x2
+ str r0, [r1, 0x8]
+ ldr r0, _08025684
+ b _080256B6
+ .align 2, 0
+_08025684: .4byte gUnknown_80DD1C8
+_08025688:
+ ldr r1, [r5]
+ movs r0, 0x2
+ str r0, [r1, 0x8]
+ ldr r0, _08025694
+ b _080256B6
+ .align 2, 0
+_08025694: .4byte gUnknown_80DD1EC
+_08025698:
+ ldr r1, [r5]
+ movs r0, 0x2
+ str r0, [r1, 0x8]
+ ldr r0, _080256A4
+ b _080256B6
+ .align 2, 0
+_080256A4: .4byte gUnknown_80DD240
+_080256A8:
+ ldr r1, [r5]
+ movs r0, 0x1
+ str r0, [r1, 0x8]
+ movs r0, 0xCF
+ bl PlaySound
+ ldr r0, _080256C4
+_080256B6:
+ ldr r3, _080256C8
+_080256B8:
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _08025720
+ .align 2, 0
+_080256C4: .4byte gUnknown_80DD270
+_080256C8: .4byte 0x00000101
+_080256CC:
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldr r1, [r1, 0x1C]
+ adds r1, 0x2C
+ bl sub_809401C
+ ldr r2, [r5]
+ movs r0, 0xE
+ ldrsh r1, [r2, r0]
+ adds r2, 0x28
+ movs r0, 0
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ movs r0, 0x3
+ movs r3, 0
+ bl sub_801EE10
+ b _08025720
+_080256F2:
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_801F1B0
+ b _08025720
+_080256FC:
+ ldr r2, [r5]
+ ldr r0, [r2, 0x20]
+ adds r1, r2, 0
+ adds r1, 0x28
+ adds r2, 0x68
+ bl sub_8093560
+ ldr r0, [r5]
+ adds r0, 0x68
+ bl sub_801F808
+ b _08025720
+_08025714:
+ ldr r0, [r5]
+ ldr r1, [r0, 0x1C]
+ adds r1, 0x4C
+ movs r0, 0x2
+ bl sub_801602C
+_08025720:
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025518
+
+ thumb_func_start sub_8025728
+sub_8025728:
+ push {r4-r7,lr}
+ ldr r3, _080257CC
+ ldr r5, _080257D0
+ ldr r0, [r5]
+ movs r1, 0xE
+ ldrsh r2, [r0, r1]
+ movs r1, 0x58
+ muls r2, r1
+ ldr r1, [r3]
+ adds r7, r1, r2
+ movs r2, 0x84
+ lsls r2, 1
+ adds r0, r2
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r4, [r5]
+ ldr r0, [r4]
+ cmp r0, 0
+ bne _080257E0
+ adds r1, r4, 0
+ adds r1, 0xC8
+ ldr r0, _080257D4
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0xA
+ str r0, [r1]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _08025774
+ ldr r0, [r5]
+ movs r4, 0x84
+ lsls r4, 1
+ adds r0, r4
+ movs r1, 0x1
+ strh r1, [r0]
+_08025774:
+ movs r6, 0x1
+ ldr r1, [r5]
+ adds r2, r1, 0
+ adds r2, 0xD0
+ ldr r0, _080257D8
+ str r0, [r2]
+ adds r1, 0xD4
+ movs r0, 0xB
+ str r0, [r1]
+ bl sub_8090A34
+ cmp r0, 0x13
+ bgt _08025796
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x18]
+ cmp r0, 0
+ bne _080257A0
+_08025796:
+ ldr r0, [r5]
+ movs r1, 0x85
+ lsls r1, 1
+ adds r0, r1
+ strh r6, [r0]
+_080257A0:
+ adds r6, 0x1
+ adds r0, r7, 0
+ bl sub_8025EC4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025810
+ ldr r0, _080257D0
+ ldr r2, [r0]
+ lsls r3, r6, 3
+ adds r0, r2, 0
+ adds r0, 0xC8
+ adds r0, r3
+ ldr r1, _080257DC
+ str r1, [r0]
+ adds r2, 0xCC
+ adds r2, r3
+ movs r0, 0x9
+ str r0, [r2]
+ adds r6, 0x1
+ b _08025810
+ .align 2, 0
+_080257CC: .4byte gRecruitedPokemonRef
+_080257D0: .4byte gUnknown_203B2B4
+_080257D4: .4byte gUnknown_80DD2B0
+_080257D8: .4byte gUnknown_80DD2B8
+_080257DC: .4byte gUnknown_80DD2C0
+_080257E0:
+ adds r1, r4, 0
+ adds r1, 0xC8
+ ldr r0, _080258D4
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x7
+ str r0, [r1]
+ ldr r0, [r4, 0x1C]
+ movs r2, 0x8
+ ldrsh r0, [r0, r2]
+ bl GetFriendArea
+ ldrb r1, [r4, 0xC]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r1, r0
+ bne _0802580E
+ ldr r0, [r5]
+ movs r4, 0x84
+ lsls r4, 1
+ adds r0, r4
+ movs r1, 0x1
+ strh r1, [r0]
+_0802580E:
+ movs r6, 0x1
+_08025810:
+ movs r0, 0x8
+ ldrsh r1, [r7, r0]
+ ldr r0, _080258D8
+ cmp r1, r0
+ bne _08025840
+ adds r0, r7, 0
+ bl sub_808D824
+ lsls r0, 24
+ cmp r0, 0
+ beq _08025840
+ ldr r0, _080258DC
+ ldr r2, [r0]
+ lsls r3, r6, 3
+ adds r0, r2, 0
+ adds r0, 0xC8
+ adds r0, r3
+ ldr r1, _080258E0
+ str r1, [r0]
+ adds r2, 0xCC
+ adds r2, r3
+ movs r0, 0x8
+ str r0, [r2]
+ adds r6, 0x1
+_08025840:
+ ldr r4, _080258DC
+ ldr r5, [r4]
+ lsls r1, r6, 3
+ adds r3, r5, 0
+ adds r3, 0xC8
+ adds r2, r3, r1
+ ldr r0, _080258E4
+ str r0, [r2]
+ adds r7, r5, 0
+ adds r7, 0xCC
+ adds r1, r7, r1
+ movs r0, 0x4
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r2, r3, r1
+ ldr r0, _080258E8
+ str r0, [r2]
+ adds r1, r7, r1
+ movs r0, 0x6
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r2, r3, r1
+ ldr r0, _080258EC
+ str r0, [r2]
+ adds r1, r7, r1
+ movs r0, 0x5
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r3, r1
+ movs r0, 0
+ str r0, [r3]
+ adds r1, r7, r1
+ movs r0, 0x1
+ str r0, [r1]
+ movs r3, 0
+ mov r12, r4
+ cmp r3, r6
+ bge _080258B2
+ movs r1, 0x84
+ lsls r1, 1
+ adds r4, r5, r1
+ adds r2, r7, 0
+_0802589A:
+ ldrh r0, [r4]
+ cmp r0, 0
+ bne _080258A8
+ ldr r1, [r2]
+ ldr r0, [r5, 0x70]
+ cmp r1, r0
+ beq _08025916
+_080258A8:
+ adds r4, 0x2
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, r6
+ blt _0802589A
+_080258B2:
+ movs r3, 0
+ cmp r3, r6
+ bge _08025916
+ mov r2, r12
+ ldr r1, [r2]
+ movs r4, 0x84
+ lsls r4, 1
+ adds r0, r1, r4
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080258F0
+ adds r0, r1, 0
+ adds r0, 0xCC
+ ldr r0, [r0]
+ str r0, [r1, 0x70]
+ b _08025916
+ .align 2, 0
+_080258D4: .4byte gUnknown_80DD2CC
+_080258D8: .4byte 0x0000013d
+_080258DC: .4byte gUnknown_203B2B4
+_080258E0: .4byte gUnknown_80DD2D4
+_080258E4: .4byte gUnknown_80DD2DC
+_080258E8: .4byte gUnknown_80DD2E4
+_080258EC: .4byte gUnknown_80DD2EC
+_080258F0:
+ adds r3, 0x1
+ cmp r3, r6
+ bge _08025916
+ mov r0, r12
+ ldr r2, [r0]
+ lsls r0, r3, 1
+ movs r4, 0x84
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _080258F0
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0xCC
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x70]
+_08025916:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025728
+
+ thumb_func_start sub_802591C
+sub_802591C:
+ push {r4-r7,lr}
+ ldr r5, _080259B8
+ ldr r0, [r5]
+ movs r7, 0x84
+ lsls r7, 1
+ adds r0, r7
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r5]
+ adds r2, r1, 0
+ adds r2, 0xC8
+ ldr r0, _080259BC
+ str r0, [r2]
+ adds r1, 0xCC
+ movs r0, 0xA
+ str r0, [r1]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _08025952
+ ldr r0, [r5]
+ adds r1, r7, 0
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0]
+_08025952:
+ ldr r4, [r5]
+ movs r2, 0x1
+ adds r1, r4, 0
+ adds r1, 0xD0
+ ldr r0, _080259C0
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x4
+ str r0, [r1]
+ movs r6, 0x2
+ adds r1, 0x4
+ movs r0, 0
+ str r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0xDC
+ str r2, [r0]
+ movs r3, 0
+ mov r12, r4
+ adds r4, r7
+ mov r2, r12
+ adds r2, 0xCC
+_0802597E:
+ ldrh r0, [r4]
+ cmp r0, 0
+ bne _0802598E
+ ldr r1, [r2]
+ mov r7, r12
+ ldr r0, [r7, 0x74]
+ cmp r1, r0
+ beq _080259E8
+_0802598E:
+ adds r4, 0x2
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, r6
+ blt _0802597E
+ movs r3, 0
+ cmp r3, r6
+ bge _080259E8
+ ldr r1, [r5]
+ movs r2, 0x84
+ lsls r2, 1
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080259C4
+ adds r0, r1, 0
+ adds r0, 0xCC
+ ldr r0, [r0]
+ str r0, [r1, 0x74]
+ b _080259E8
+ .align 2, 0
+_080259B8: .4byte gUnknown_203B2B4
+_080259BC: .4byte gUnknown_80DD2B0
+_080259C0: .4byte gUnknown_80D4970
+_080259C4:
+ adds r3, 0x1
+ cmp r3, r6
+ bge _080259E8
+ ldr r2, [r5]
+ lsls r0, r3, 1
+ movs r4, 0x84
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _080259C4
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0xCC
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x74]
+_080259E8:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802591C
+
+ thumb_func_start sub_80259F0
+sub_80259F0:
+ push {lr}
+ movs r0, 0x1
+ bl sub_8023A94
+ cmp r0, 0x3
+ beq _08025A0C
+ cmp r0, 0x3
+ bhi _08025A06
+ cmp r0, 0x2
+ beq _08025A74
+ b _08025A7E
+_08025A06:
+ cmp r0, 0x4
+ beq _08025A40
+ b _08025A7E
+_08025A0C:
+ bl sub_8023B44
+ ldr r1, _08025A38
+ ldr r1, [r1]
+ strh r0, [r1, 0xE]
+ ldr r3, _08025A3C
+ movs r0, 0xE
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x1C]
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ adds r1, 0x18
+ bl sub_808D7DC
+ movs r0, 0x3
+ bl sub_8025434
+ b _08025A7E
+ .align 2, 0
+_08025A38: .4byte gUnknown_203B2B4
+_08025A3C: .4byte gRecruitedPokemonRef
+_08025A40:
+ bl sub_8023B44
+ ldr r1, _08025A6C
+ ldr r1, [r1]
+ strh r0, [r1, 0xE]
+ ldr r3, _08025A70
+ movs r0, 0xE
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x1C]
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ adds r1, 0x18
+ bl sub_808D7DC
+ movs r0, 0x4
+ bl sub_8025434
+ b _08025A7E
+ .align 2, 0
+_08025A6C: .4byte gUnknown_203B2B4
+_08025A70: .4byte gRecruitedPokemonRef
+_08025A74:
+ bl sub_8023C60
+ movs r0, 0x13
+ bl sub_8025434
+_08025A7E:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80259F0
+
+ thumb_func_start sub_8025A84
+sub_8025A84:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_8023A94
+ ldr r4, _08025AC8
+ ldr r0, [r4]
+ adds r0, 0x78
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08025AB4
+ ldr r0, [r4]
+ adds r0, 0x78
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08025AB4
+ ldr r0, [r4]
+ str r1, [r0, 0x70]
+_08025AB4:
+ ldr r0, [sp]
+ subs r0, 0x1
+ cmp r0, 0xA
+ bls _08025ABE
+ b _08025BC2
+_08025ABE:
+ lsls r0, 2
+ ldr r1, _08025ACC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08025AC8: .4byte gUnknown_203B2B4
+_08025ACC: .4byte _08025AD0
+ .align 2, 0
+_08025AD0:
+ .4byte _08025BBC
+ .4byte _08025BC2
+ .4byte _08025BC2
+ .4byte _08025BAC
+ .4byte _08025BB4
+ .4byte _08025B9C
+ .4byte _08025AFC
+ .4byte _08025BA4
+ .4byte _08025B70
+ .4byte _08025B20
+ .4byte _08025B28
+_08025AFC:
+ ldr r4, _08025B1C
+ ldr r0, [r4]
+ ldr r0, [r0, 0x1C]
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ bl GetFriendArea
+ ldr r1, [r4]
+ strb r0, [r1, 0xD]
+ bl sub_8023C60
+ movs r0, 0x13
+ bl sub_8025434
+ b _08025BC2
+ .align 2, 0
+_08025B1C: .4byte gUnknown_203B2B4
+_08025B20:
+ movs r0, 0xB
+ bl sub_8025434
+ b _08025BC2
+_08025B28:
+ ldr r0, _08025B68
+ bl PlaySound
+ ldr r4, _08025B6C
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x18]
+ cmp r0, 0
+ beq _08025B40
+ adds r0, r1, 0
+ adds r0, 0x18
+ bl sub_8091274
+_08025B40:
+ bl sub_80910B4
+ ldr r0, [r4]
+ movs r1, 0
+ strb r1, [r0, 0x18]
+ ldr r0, [r4]
+ strb r1, [r0, 0x19]
+ ldr r1, [r4]
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ adds r1, 0x18
+ bl sub_808D800
+ bl nullsub_104
+ movs r0, 0xA
+ bl sub_8025434
+ b _08025BC2
+ .align 2, 0
+_08025B68: .4byte 0x0000014d
+_08025B6C: .4byte gUnknown_203B2B4
+_08025B70:
+ ldr r0, _08025B94
+ ldr r0, [r0]
+ ldr r2, [r0, 0x1C]
+ ldrh r1, [r2]
+ ldr r0, _08025B98
+ ands r0, r1
+ strh r0, [r2]
+ bl nullsub_104
+ bl sub_808ED00
+ bl sub_8023C60
+ movs r0, 0x7
+ bl sub_8025434
+ b _08025BC2
+ .align 2, 0
+_08025B94: .4byte gUnknown_203B2B4
+_08025B98: .4byte 0x0000fffd
+_08025B9C:
+ movs r0, 0xF
+ bl sub_8025434
+ b _08025BC2
+_08025BA4:
+ movs r0, 0x12
+ bl sub_8025434
+ b _08025BC2
+_08025BAC:
+ movs r0, 0x4
+ bl sub_8025434
+ b _08025BC2
+_08025BB4:
+ movs r0, 0x5
+ bl sub_8025434
+ b _08025BC2
+_08025BBC:
+ movs r0, 0x2
+ bl sub_8025434
+_08025BC2:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025A84
+
+ thumb_func_start sub_8025BCC
+sub_8025BCC:
+ push {lr}
+ bl sub_80244E4
+ cmp r0, 0x1
+ bls _08025BE4
+ cmp r0, 0x3
+ bhi _08025BE4
+ bl sub_802453C
+ movs r0, 0x2
+ bl sub_8025434
+_08025BE4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025BCC
+
+ thumb_func_start sub_8025BE8
+sub_8025BE8:
+ push {lr}
+ bl sub_801BF48
+ cmp r0, 0x1
+ bls _08025C00
+ cmp r0, 0x3
+ bhi _08025C00
+ bl sub_801BF98
+ movs r0, 0x2
+ bl sub_8025434
+_08025C00:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025BE8
+
+ thumb_func_start sub_8025C04
+sub_8025C04:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x4
+ bhi _08025CAE
+ lsls r0, 2
+ ldr r1, _08025C1C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08025C1C: .4byte _08025C20
+ .align 2, 0
+_08025C20:
+ .4byte _08025CAE
+ .4byte _08025CAE
+ .4byte _08025CA4
+ .4byte _08025C34
+ .4byte _08025C68
+_08025C34:
+ bl sub_801A8AC
+ ldr r4, _08025C60
+ ldr r2, [r4]
+ str r0, [r2, 0x10]
+ ldr r3, _08025C64
+ ldr r1, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x2]
+ strb r0, [r2, 0x14]
+ ldr r2, [r4]
+ ldr r1, [r3]
+ ldr r0, [r2, 0x10]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x1]
+ strb r0, [r2, 0x15]
+ movs r0, 0xD
+ bl sub_8025434
+ b _08025CAE
+ .align 2, 0
+_08025C60: .4byte gUnknown_203B2B4
+_08025C64: .4byte gUnknown_203B460
+_08025C68:
+ bl sub_801A8AC
+ ldr r4, _08025C9C
+ ldr r2, [r4]
+ str r0, [r2, 0x10]
+ ldr r3, _08025CA0
+ ldr r1, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x2]
+ strb r0, [r2, 0x14]
+ ldr r2, [r4]
+ ldr r1, [r3]
+ ldr r0, [r2, 0x10]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x1]
+ strb r0, [r2, 0x15]
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xE
+ bl sub_8025434
+ b _08025CAE
+ .align 2, 0
+_08025C9C: .4byte gUnknown_203B2B4
+_08025CA0: .4byte gUnknown_203B460
+_08025CA4:
+ bl sub_801A928
+ movs r0, 0x2
+ bl sub_8025434
+_08025CAE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025C04
+
+ thumb_func_start sub_8025CB4
+sub_8025CB4:
+ push {r4-r6,lr}
+ sub sp, 0x14
+ movs r0, 0
+ str r0, [sp, 0xC]
+ bl sub_801A6E8
+ ldr r4, _08025CF4
+ ldr r0, [r4]
+ adds r0, 0x78
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08025CE4
+ ldr r0, [r4]
+ adds r0, 0x78
+ add r1, sp, 0xC
+ bl sub_8013114
+ ldr r1, [sp, 0xC]
+ cmp r1, 0x1
+ beq _08025CE4
+ ldr r0, [r4]
+ str r1, [r0, 0x74]
+_08025CE4:
+ ldr r0, [sp, 0xC]
+ cmp r0, 0x4
+ beq _08025D74
+ cmp r0, 0x4
+ bgt _08025CF8
+ cmp r0, 0x1
+ beq _08025D82
+ b _08025D88
+ .align 2, 0
+_08025CF4: .4byte gUnknown_203B2B4
+_08025CF8:
+ cmp r0, 0xA
+ bne _08025D88
+ movs r6, 0x8
+ ldr r0, _08025D68
+ bl PlaySound
+ ldr r5, _08025D6C
+ ldr r0, [r5]
+ ldr r0, [r0, 0x10]
+ bl sub_80911F8
+ bl sub_80910B4
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x18]
+ cmp r0, 0
+ beq _08025D24
+ adds r0, r1, 0
+ adds r0, 0x18
+ bl sub_8091274
+ movs r6, 0x9
+_08025D24:
+ add r4, sp, 0x10
+ ldr r1, [r5]
+ adds r1, 0x14
+ adds r0, r4, 0
+ bl sub_8090B64
+ movs r1, 0
+ str r1, [sp]
+ mov r0, sp
+ strb r1, [r0, 0x4]
+ mov r1, sp
+ movs r0, 0x1
+ strb r0, [r1, 0x8]
+ strb r0, [r4]
+ ldr r0, _08025D70
+ adds r1, r4, 0
+ mov r2, sp
+ bl sub_8090E14
+ ldr r1, [r5]
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D800
+ bl sub_801A928
+ bl nullsub_104
+ adds r0, r6, 0
+ bl sub_8025434
+ b _08025D88
+ .align 2, 0
+_08025D68: .4byte 0x0000014d
+_08025D6C: .4byte gUnknown_203B2B4
+_08025D70: .4byte gUnknown_202DEA8
+_08025D74:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xE
+ bl sub_8025434
+ b _08025D88
+_08025D82:
+ movs r0, 0xC
+ bl sub_8025434
+_08025D88:
+ add sp, 0x14
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025CB4
+
+ thumb_func_start sub_8025D90
+sub_8025D90:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _08025DA8
+ cmp r0, 0x3
+ bhi _08025DA8
+ bl sub_801B450
+ movs r0, 0xC
+ bl sub_8025434
+_08025DA8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025D90
+
+ thumb_func_start sub_8025DAC
+sub_8025DAC:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801EF38
+ cmp r0, 0x3
+ beq _08025DC6
+ cmp r0, 0x3
+ bhi _08025DC2
+ cmp r0, 0x2
+ beq _08025DE4
+ b _08025DFE
+_08025DC2:
+ cmp r0, 0x4
+ bne _08025DFE
+_08025DC6:
+ bl sub_801F194
+ ldr r1, _08025DE0
+ ldr r1, [r1]
+ str r0, [r1, 0x20]
+ lsls r0, 3
+ adds r0, r1, r0
+ ldrh r0, [r0, 0x2A]
+ strh r0, [r1, 0x24]
+ movs r0, 0x11
+ bl sub_8025434
+ b _08025DFE
+ .align 2, 0
+_08025DE0: .4byte gUnknown_203B2B4
+_08025DE4:
+ bl sub_801F214
+ ldr r0, _08025E04
+ ldr r1, [r0]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldr r1, [r1, 0x1C]
+ adds r1, 0x2C
+ bl sub_8094060
+ movs r0, 0x2
+ bl sub_8025434
+_08025DFE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025E04: .4byte gUnknown_203B2B4
+ thumb_func_end sub_8025DAC
+
+ thumb_func_start sub_8025E08
+sub_8025E08:
+ push {lr}
+ bl sub_801F890
+ cmp r0, 0x1
+ bls _08025E20
+ cmp r0, 0x3
+ bhi _08025E20
+ bl sub_801F8D0
+ movs r0, 0x10
+ bl sub_8025434
+_08025E20:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025E08
+
+ thumb_func_start sub_8025E24
+sub_8025E24:
+ push {lr}
+ bl sub_8016080
+ cmp r0, 0x3
+ bhi _08025E40
+ cmp r0, 0x2
+ bcc _08025E40
+ bl sub_80160D8
+ bl nullsub_104
+ movs r0, 0x2
+ bl sub_8025434
+_08025E40:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8025E24
+
+ thumb_func_start sub_8025E44
+sub_8025E44:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08025E5C
+ ldr r0, _08025E64
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ bl sub_8025434
+_08025E5C:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025E64: .4byte gUnknown_203B2B4
+ thumb_func_end sub_8025E44
+
+ thumb_func_start sub_8025E68
+sub_8025E68:
+ push {r4-r6,lr}
+ sub sp, 0x14
+ adds r6, r0, 0
+ adds r5, r1, 0
+ bl sub_8008C54
+ adds r0, r6, 0
+ bl sub_80073B8
+ add r4, sp, 0x10
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8090B64
+ movs r5, 0
+ str r5, [sp, 0x4]
+ add r0, sp, 0x4
+ strb r5, [r0, 0x4]
+ adds r1, r0, 0
+ movs r0, 0x1
+ strb r0, [r1, 0x8]
+ strb r0, [r4]
+ ldr r0, _08025EBC
+ adds r1, r4, 0
+ add r2, sp, 0x4
+ bl sub_8090E14
+ ldr r2, _08025EC0
+ str r5, [sp]
+ movs r0, 0x4
+ movs r1, 0x3
+ adds r3, r6, 0
+ bl sub_8014FF0
+ adds r0, r6, 0
+ bl sub_80073E0
+ add sp, 0x14
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08025EBC: .4byte gUnknown_202DE58
+_08025EC0: .4byte gUnknown_80DD2F8
+ thumb_func_end sub_8025E68
+
+ thumb_func_start sub_8025EC4
+sub_8025EC4:
+ push {lr}
+ adds r1, r0, 0
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ bne _08025EE8
+ movs r2, 0
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0x41
+ bne _08025ED8
+ movs r2, 0x1
+_08025ED8:
+ cmp r2, 0
+ beq _08025EEC
+ movs r0, 0x8
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08025EEC
+_08025EE8:
+ movs r0, 0
+ b _08025EEE
+_08025EEC:
+ movs r0, 0x1
+_08025EEE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8025EC4
+
+ thumb_func_start sub_8025EF4
+sub_8025EF4:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ ldr r6, _08025F1C
+ movs r0, 0xA0
+ lsls r0, 2
+ movs r1, 0x8
+ bl MemoryAlloc
+ adds r1, r0, 0
+ str r1, [r6]
+ str r4, [r1, 0x18]
+ movs r5, 0
+ ldr r0, _08025F20
+ ldr r0, [r0]
+ cmp r4, r0
+ bne _08025F24
+ strh r5, [r1, 0xA]
+ adds r4, r6, 0
+ b _08025F48
+ .align 2, 0
+_08025F1C: .4byte gUnknown_203B2B8
+_08025F20: .4byte gRecruitedPokemonRef
+_08025F24:
+ adds r5, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ ldr r4, _08025F60
+ cmp r5, r0
+ bgt _08025F48
+ ldr r3, [r4]
+ ldr r2, _08025F64
+ lsls r0, r5, 16
+ asrs r0, 16
+ movs r1, 0x58
+ muls r1, r0
+ ldr r0, [r2]
+ adds r0, r1
+ ldr r1, [r3, 0x18]
+ cmp r1, r0
+ bne _08025F24
+ strh r5, [r3, 0xA]
+_08025F48:
+ ldr r1, [r4]
+ movs r0, 0
+ str r0, [r1, 0x70]
+ str r0, [r1, 0x74]
+ str r0, [r1, 0x78]
+ strb r0, [r1, 0x8]
+ bl sub_8026074
+ movs r0, 0x1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08025F60: .4byte gUnknown_203B2B8
+_08025F64: .4byte gRecruitedPokemonRef
+ thumb_func_end sub_8025EF4
+
+ thumb_func_start sub_8025F68
+sub_8025F68:
+ push {lr}
+ ldr r0, _08025F80
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x19
+ bhi _0802603A
+ lsls r0, 2
+ ldr r1, _08025F84
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08025F80: .4byte gUnknown_203B2B8
+_08025F84: .4byte _08025F88
+ .align 2, 0
+_08025F88:
+ .4byte _08025FF0
+ .4byte _08025FF8
+ .4byte _08025FF8
+ .4byte _08025FFE
+ .4byte _08026004
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802600A
+ .4byte _08026010
+ .4byte _08026016
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802603A
+ .4byte _0802601C
+ .4byte _0802601C
+ .4byte _08026022
+ .4byte _08026028
+ .4byte _0802602E
+ .4byte _0802602E
+ .4byte _08026034
+ .4byte _08026040
+_08025FF0:
+ movs r0, 0x1
+ bl sub_8026074
+ b _08026044
+_08025FF8:
+ bl sub_80268CC
+ b _08026044
+_08025FFE:
+ bl sub_8026A78
+ b _08026044
+_08026004:
+ bl sub_8026A94
+ b _08026044
+_0802600A:
+ bl sub_8026AB0
+ b _08026044
+_08026010:
+ bl sub_8026B10
+ b _08026044
+_08026016:
+ bl sub_8026B48
+ b _08026044
+_0802601C:
+ bl sub_8026B64
+ b _08026044
+_08026022:
+ bl sub_8026C14
+ b _08026044
+_08026028:
+ bl sub_8026CF0
+ b _08026044
+_0802602E:
+ bl sub_8026D0C
+ b _08026044
+_08026034:
+ bl sub_8026D6C
+ b _08026044
+_0802603A:
+ bl sub_8026D88
+ b _08026044
+_08026040:
+ movs r0, 0x3
+ b _08026046
+_08026044:
+ movs r0, 0
+_08026046:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8025F68
+
+ thumb_func_start sub_802604C
+sub_802604C:
+ ldr r0, _08026054
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x8]
+ bx lr
+ .align 2, 0
+_08026054: .4byte gUnknown_203B2B8
+ thumb_func_end sub_802604C
+
+ thumb_func_start sub_8026058
+sub_8026058:
+ push {r4,lr}
+ ldr r4, _08026070
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0802606A
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0802606A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08026070: .4byte gUnknown_203B2B8
+ thumb_func_end sub_8026058
+
+ thumb_func_start sub_8026074
+sub_8026074:
+ push {lr}
+ ldr r1, _08026088
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_802608C
+ bl sub_80261D0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08026088: .4byte gUnknown_203B2B8
+ thumb_func_end sub_8026074
+
+ thumb_func_start sub_802608C
+sub_802608C:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r4, _080260B8
+ ldr r0, [r4]
+ movs r5, 0x88
+ lsls r5, 2
+ adds r0, r5
+ bl sub_8006518
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0x1
+ blt _08026178
+ cmp r0, 0x2
+ ble _080260BC
+ cmp r0, 0x14
+ beq _0802614C
+ b _08026178
+ .align 2, 0
+_080260B8: .4byte gUnknown_203B2B8
+_080260BC:
+ ldr r0, _0802613C
+ mov r12, r0
+ ldr r1, _08026140
+ mov r8, r1
+ mov r9, r4
+ mov r10, r5
+ movs r3, 0
+ movs r2, 0x3
+_080260CC:
+ mov r5, r9
+ ldr r1, [r5]
+ adds r1, r3
+ add r1, r10
+ ldr r0, _08026144
+ 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 _080260CC
+ ldr r1, [r4]
+ movs r6, 0x88
+ lsls r6, 2
+ adds r1, r6
+ mov r0, r12
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldr r1, [r4]
+ movs r0, 0x9A
+ lsls r0, 2
+ adds r1, r0
+ mov r0, r8
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r6,r7}
+ stm r1!, {r2,r6,r7}
+ bl sub_80264CC
+ ldr r2, [r4]
+ movs r0, 0x94
+ lsls r0, 2
+ adds r2, r0
+ ldr r1, _08026148
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ movs r6, 0xB6
+ lsls r6, 1
+ adds r1, r6
+ bl sub_8012CAC
+ ldr r0, [r4]
+ movs r7, 0x97
+ lsls r7, 2
+ adds r0, r7
+ movs r1, 0x9
+ strh r1, [r0]
+ b _080261A2
+ .align 2, 0
+_0802613C: .4byte gUnknown_80DD358
+_08026140: .4byte gUnknown_80DD370
+_08026144: .4byte gUnknown_80DD310
+_08026148: .4byte gUnknown_80DD328
+_0802614C:
+ bl sub_802678C
+ ldr r2, [r4]
+ movs r0, 0x94
+ lsls r0, 2
+ adds r2, r0
+ ldr r1, _08026174
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ movs r6, 0xB6
+ lsls r6, 1
+ adds r1, r6
+ bl sub_8012CAC
+ b _080261A2
+ .align 2, 0
+_08026174: .4byte gUnknown_80DD340
+_08026178:
+ ldr r7, _080261C8
+ mov r8, r7
+ movs r0, 0x88
+ lsls r0, 2
+ mov r9, r0
+ ldr r4, _080261CC
+ movs r3, 0
+ movs r2, 0x3
+_08026188:
+ mov r5, r8
+ ldr r1, [r5]
+ adds r1, r3
+ add r1, r9
+ adds r0, r4, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ adds r3, 0x18
+ subs r2, 0x1
+ cmp r2, 0
+ bge _08026188
+_080261A2:
+ bl ResetUnusedInputStruct
+ ldr r0, _080261C8
+ ldr r0, [r0]
+ movs r6, 0x88
+ lsls r6, 2
+ adds r0, r6
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080261C8: .4byte gUnknown_203B2B8
+_080261CC: .4byte gUnknown_80DD310
+ thumb_func_end sub_802608C
+
+ thumb_func_start sub_80261D0
+sub_80261D0:
+ push {r4,r5,lr}
+ sub sp, 0x18
+ ldr r1, _080261EC
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0x19
+ bls _080261E2
+ b _080264BA
+_080261E2:
+ lsls r0, 2
+ ldr r1, _080261F0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080261EC: .4byte gUnknown_203B2B8
+_080261F0: .4byte _080261F4
+ .align 2, 0
+_080261F4:
+ .4byte _080264BA
+ .4byte _0802625C
+ .4byte _080262A8
+ .4byte _080262EC
+ .4byte _080262FA
+ .4byte _080263F8
+ .4byte _0802640C
+ .4byte _08026420
+ .4byte _08026434
+ .4byte _08026448
+ .4byte _0802648A
+ .4byte _080264A8
+ .4byte _08026392
+ .4byte _080263AC
+ .4byte _08026306
+ .4byte _08026464
+ .4byte _08026474
+ .4byte _08026484
+ .4byte _08026310
+ .4byte _0802631E
+ .4byte _08026326
+ .4byte _08026350
+ .4byte _08026362
+ .4byte _08026388
+ .4byte _080263E0
+ .4byte _080264BA
+_0802625C:
+ movs r0, 0x3
+ bl sub_8026E08
+ ldr r5, _080262A0
+ ldr r1, [r5]
+ adds r1, 0x14
+ movs r0, 0
+ bl sub_8026DAC
+ ldr r4, _080262A4
+ ldr r0, [r5]
+ ldr r1, [r0, 0x18]
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl sub_808D9AC
+ adds r4, 0x50
+ ldr r0, [r5]
+ ldr r1, [r0, 0x18]
+ adds r0, r4, 0
+ movs r2, 0x6
+ bl sub_808D9AC
+ ldr r2, [r5]
+ adds r0, r2, 0
+ adds r0, 0x7C
+ movs r3, 0xB6
+ lsls r3, 1
+ adds r1, r2, r3
+ movs r4, 0x83
+ lsls r4, 2
+ adds r3, r2, r4
+ ldr r2, [r2, 0x70]
+ b _0802633E
+ .align 2, 0
+_080262A0: .4byte gUnknown_203B2B8
+_080262A4: .4byte gAvailablePokemonNames
+_080262A8:
+ movs r0, 0x3
+ bl sub_8026E08
+ ldr r5, _080262E4
+ ldr r1, [r5]
+ adds r1, 0x14
+ movs r0, 0
+ bl sub_8026DAC
+ ldr r4, _080262E8
+ ldr r0, [r5]
+ ldr r1, [r0, 0x18]
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl sub_808D9AC
+ adds r4, 0x50
+ ldr r0, [r5]
+ ldr r1, [r0, 0x18]
+ adds r0, r4, 0
+ movs r2, 0x6
+ bl sub_808D9AC
+ ldr r0, [r5]
+ adds r0, 0x7C
+ movs r1, 0x1
+ bl sub_8012EA4
+ b _080264BA
+ .align 2, 0
+_080262E4: .4byte gUnknown_203B2B8
+_080262E8: .4byte gAvailablePokemonNames
+_080262EC:
+ ldr r0, [r4]
+ movs r1, 0xA
+ ldrsh r0, [r0, r1]
+ movs r1, 0x2
+ bl sub_8024458
+ b _080264BA
+_080262FA:
+ ldr r0, [r4]
+ movs r3, 0xA
+ ldrsh r0, [r0, r3]
+ bl sub_801BEEC
+ b _080264BA
+_08026306:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x18]
+ bl sub_80227B8
+ b _080264BA
+_08026310:
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _080264BA
+_0802631E:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _080264BA
+_08026326:
+ bl sub_801A9E0
+ ldr r0, _0802634C
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0xCC
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r4, 0xA0
+ adds r3, r2, r4
+ ldr r2, [r2, 0x74]
+_0802633E:
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _080264BA
+ .align 2, 0
+_0802634C: .4byte gUnknown_203B2B8
+_08026350:
+ ldr r1, [r4]
+ adds r1, 0x10
+ add r0, sp, 0x14
+ bl sub_8090B64
+ add r0, sp, 0x14
+ bl sub_801B3C0
+ b _080264BA
+_08026362:
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldr r1, [r1, 0x18]
+ adds r1, 0x2C
+ bl sub_809401C
+ ldr r2, [r4]
+ movs r0, 0xA
+ ldrsh r1, [r2, r0]
+ adds r2, 0x28
+ movs r0, 0
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ movs r0, 0x3
+ movs r3, 0
+ bl sub_801EE10
+ b _080264BA
+_08026388:
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_801F1B0
+ b _080264BA
+_08026392:
+ bl sub_8026878
+ ldr r0, _080263A4
+ ldr r1, _080263A8
+ ldr r3, [r1]
+ movs r1, 0xDE
+ lsls r1, 1
+ adds r3, r1
+ b _080263BC
+ .align 2, 0
+_080263A4: .4byte gUnknown_80DD388
+_080263A8: .4byte gUnknown_203B2B8
+_080263AC:
+ bl sub_8026878
+ ldr r0, _080263D8
+ ldr r1, _080263DC
+ ldr r3, [r1]
+ movs r4, 0xDE
+ lsls r4, 1
+ adds r3, r4
+_080263BC:
+ movs r2, 0
+ str r2, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r2, [sp, 0xC]
+ adds r1, 0xFD
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x3
+ bl sub_8014248
+ b _080264BA
+ .align 2, 0
+_080263D8: .4byte gUnknown_80DD420
+_080263DC: .4byte gUnknown_203B2B8
+_080263E0:
+ ldr r2, [r4]
+ ldr r0, [r2, 0x20]
+ adds r1, r2, 0
+ adds r1, 0x28
+ adds r2, 0x68
+ bl sub_8093560
+ ldr r0, [r4]
+ adds r0, 0x68
+ bl sub_801F808
+ b _080264BA
+_080263F8:
+ ldr r1, [r4]
+ movs r0, 0x19
+ str r0, [r1, 0x4]
+ movs r0, 0xCF
+ bl PlaySound
+ ldr r0, _08026408
+ b _08026492
+ .align 2, 0
+_08026408: .4byte gUnknown_80DD4C4
+_0802640C:
+ ldr r1, [r4]
+ movs r0, 0x19
+ str r0, [r1, 0x4]
+ movs r0, 0xCF
+ bl PlaySound
+ ldr r0, _0802641C
+ b _08026492
+ .align 2, 0
+_0802641C: .4byte gUnknown_80DD4F4
+_08026420:
+ ldr r1, [r4]
+ movs r0, 0x19
+ str r0, [r1, 0x4]
+ movs r0, 0xCC
+ bl PlaySound
+ ldr r0, _08026430
+ b _08026492
+ .align 2, 0
+_08026430: .4byte gUnknown_80DD534
+_08026434:
+ ldr r1, [r4]
+ movs r0, 0x9
+ str r0, [r1, 0x4]
+ movs r0, 0xCA
+ bl PlaySound
+ ldr r0, _08026444
+ b _08026492
+ .align 2, 0
+_08026444: .4byte gUnknown_80DD564
+_08026448:
+ bl sub_8026FA4
+ ldr r4, _08026460
+ ldr r0, [r4]
+ ldr r0, [r0, 0x18]
+ bl sub_808D31C
+ ldr r1, [r4]
+ movs r0, 0x1
+ strb r0, [r1, 0x8]
+ b _080264BA
+ .align 2, 0
+_08026460: .4byte gUnknown_203B2B8
+_08026464:
+ ldr r1, [r4]
+ movs r0, 0x2
+ str r0, [r1, 0x4]
+ ldr r0, _08026470
+ b _08026492
+ .align 2, 0
+_08026470: .4byte gUnknown_80DD594
+_08026474:
+ ldr r1, [r4]
+ movs r0, 0x2
+ str r0, [r1, 0x4]
+ ldr r0, _08026480
+ b _08026492
+ .align 2, 0
+_08026480: .4byte gUnknown_80DD5B8
+_08026484:
+ ldr r1, [r4]
+ movs r0, 0x2
+ b _0802648E
+_0802648A:
+ ldr r1, [r4]
+ movs r0, 0x19
+_0802648E:
+ str r0, [r1, 0x4]
+ ldr r0, _080264A0
+_08026492:
+ ldr r3, _080264A4
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _080264BA
+ .align 2, 0
+_080264A0: .4byte gUnknown_80DD60C
+_080264A4: .4byte 0x00000101
+_080264A8:
+ ldr r1, [r4]
+ movs r0, 0x19
+ str r0, [r1, 0x4]
+ ldr r0, _080264C4
+ ldr r3, _080264C8
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+_080264BA:
+ add sp, 0x18
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080264C4: .4byte gUnknown_80DD63C
+_080264C8: .4byte 0x00000101
+ thumb_func_end sub_80261D0
+
+ thumb_func_start sub_80264CC
+sub_80264CC:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r3, _08026574
+ ldr r4, _08026578
+ ldr r0, [r4]
+ movs r1, 0xA
+ ldrsh r2, [r0, r1]
+ movs r1, 0x58
+ muls r2, r1
+ ldr r1, [r3]
+ adds r1, r2
+ mov r8, r1
+ movs r2, 0x83
+ lsls r2, 2
+ adds r0, r2
+ movs r1, 0
+ movs r2, 0x14
+ bl MemoryFill16
+ ldr r1, [r4]
+ ldr r0, [r1, 0x18]
+ ldrb r0, [r0, 0x2]
+ strb r0, [r1, 0x1C]
+ ldr r1, [r4]
+ movs r3, 0xA
+ ldrsh r0, [r1, r3]
+ adds r1, 0x14
+ bl sub_808D7DC
+ mov r1, r8
+ ldrh r0, [r1]
+ lsrs r0, 1
+ movs r5, 0x1
+ ands r0, r5
+ cmp r0, 0
+ beq _08026584
+ ldr r2, [r4]
+ movs r3, 0xB6
+ lsls r3, 1
+ adds r1, r2, r3
+ ldr r0, _0802657C
+ str r0, [r1]
+ movs r0, 0xB8
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x7
+ str r0, [r1]
+ mov r0, r8
+ bl sub_8026E88
+ lsls r0, 24
+ cmp r0, 0
+ bne _08026542
+ ldr r0, [r4]
+ movs r1, 0x83
+ lsls r1, 2
+ adds r0, r1
+ strh r5, [r0]
+_08026542:
+ movs r6, 0x1
+ movs r0, 0x8
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080265B4
+ mov r2, r8
+ ldrb r0, [r2, 0x2]
+ cmp r0, 0
+ bne _080265B4
+ ldr r3, [r4]
+ movs r2, 0x8
+ movs r4, 0xBA
+ lsls r4, 1
+ adds r1, r3, r4
+ ldr r0, _08026580
+ str r0, [r1]
+ movs r1, 0xBC
+ lsls r1, 1
+ adds r0, r3, r1
+ str r2, [r0]
+ movs r6, 0x2
+ b _080265B4
+ .align 2, 0
+_08026574: .4byte gRecruitedPokemonRef
+_08026578: .4byte gUnknown_203B2B8
+_0802657C: .4byte gUnknown_80DD664
+_08026580: .4byte gUnknown_80DD670
+_08026584:
+ ldr r2, [r4]
+ movs r3, 0xB6
+ lsls r3, 1
+ adds r1, r2, r3
+ ldr r0, _08026734
+ str r0, [r1]
+ movs r0, 0xB8
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x6
+ str r0, [r1]
+ movs r1, 0xA
+ ldrsh r0, [r2, r1]
+ bl sub_808D750
+ lsls r0, 24
+ cmp r0, 0
+ bne _080265B2
+ ldr r0, [r4]
+ movs r2, 0x83
+ lsls r2, 2
+ adds r0, r2
+ strh r5, [r0]
+_080265B2:
+ movs r6, 0x1
+_080265B4:
+ ldr r4, _08026738
+ ldr r2, [r4]
+ lsls r3, r6, 3
+ movs r7, 0xB6
+ lsls r7, 1
+ adds r0, r2, r7
+ adds r0, r3
+ ldr r1, _0802673C
+ str r1, [r0]
+ movs r5, 0xB8
+ lsls r5, 1
+ adds r2, r5
+ adds r2, r3
+ movs r0, 0xA
+ str r0, [r2]
+ bl sub_809177C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080265EC
+ ldr r0, [r4]
+ lsls r1, r6, 1
+ movs r3, 0x83
+ lsls r3, 2
+ adds r0, r3
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0]
+_080265EC:
+ adds r6, 0x1
+ ldr r2, [r4]
+ lsls r3, r6, 3
+ adds r0, r2, r7
+ adds r0, r3
+ ldr r1, _08026740
+ str r1, [r0]
+ adds r2, r5
+ adds r2, r3
+ movs r0, 0xB
+ str r0, [r2]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _0802661A
+ ldr r0, [r4]
+ lsls r1, r6, 1
+ movs r2, 0x83
+ lsls r2, 2
+ adds r0, r2
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0]
+_0802661A:
+ adds r6, 0x1
+ ldr r2, [r4]
+ lsls r3, r6, 3
+ adds r0, r2, r7
+ adds r0, r3
+ ldr r1, _08026744
+ str r1, [r0]
+ adds r2, r5
+ adds r2, r3
+ movs r0, 0xC
+ str r0, [r2]
+ bl sub_8090A34
+ cmp r0, 0x13
+ bgt _08026640
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x14]
+ cmp r0, 0
+ bne _08026650
+_08026640:
+ ldr r0, [r4]
+ lsls r1, r6, 1
+ movs r3, 0x83
+ lsls r3, 2
+ adds r0, r3
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0]
+_08026650:
+ adds r6, 0x1
+ mov r4, r8
+ ldrh r0, [r4]
+ lsrs r0, 1
+ movs r5, 0x1
+ ands r0, r5
+ cmp r0, 0
+ bne _0802669A
+ ldr r4, _08026738
+ ldr r3, [r4]
+ lsls r2, r6, 3
+ movs r1, 0xB6
+ lsls r1, 1
+ adds r0, r3, r1
+ adds r0, r2
+ ldr r1, _08026748
+ str r1, [r0]
+ movs r1, 0xB8
+ lsls r1, 1
+ adds r0, r3, r1
+ adds r0, r2
+ movs r1, 0x9
+ str r1, [r0]
+ mov r0, r8
+ bl sub_8026EB8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08026698
+ ldr r0, [r4]
+ lsls r1, r6, 1
+ movs r2, 0x83
+ lsls r2, 2
+ adds r0, r2
+ adds r0, r1
+ strh r5, [r0]
+_08026698:
+ adds r6, 0x1
+_0802669A:
+ ldr r4, _08026738
+ ldr r5, [r4]
+ lsls r1, r6, 3
+ movs r0, 0xB6
+ lsls r0, 1
+ adds r3, r5, r0
+ adds r2, r3, r1
+ ldr r0, _0802674C
+ str r0, [r2]
+ movs r2, 0xB8
+ lsls r2, 1
+ adds r7, r5, r2
+ adds r1, r7, r1
+ movs r0, 0x4
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r2, r3, r1
+ ldr r0, _08026750
+ str r0, [r2]
+ adds r1, r7, r1
+ movs r0, 0xD
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r2, r3, r1
+ ldr r0, _08026754
+ str r0, [r2]
+ adds r1, r7, r1
+ movs r0, 0x5
+ str r0, [r1]
+ adds r6, 0x1
+ lsls r1, r6, 3
+ adds r3, r1
+ movs r0, 0
+ str r0, [r3]
+ adds r1, r7, r1
+ movs r0, 0x1
+ str r0, [r1]
+ movs r3, 0
+ mov r12, r4
+ cmp r3, r6
+ bge _08026710
+ adds r4, r7, 0
+ movs r0, 0x83
+ lsls r0, 2
+ adds r2, r5, r0
+_080266F8:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08026706
+ ldr r1, [r4]
+ ldr r0, [r5, 0x70]
+ cmp r1, r0
+ beq _08026780
+_08026706:
+ adds r4, 0x8
+ adds r2, 0x2
+ adds r3, 0x1
+ cmp r3, r6
+ blt _080266F8
+_08026710:
+ movs r3, 0
+ cmp r3, r6
+ bge _08026780
+ mov r2, r12
+ ldr r1, [r2]
+ movs r4, 0x83
+ lsls r4, 2
+ adds r0, r1, r4
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08026758
+ movs r2, 0xB8
+ lsls r2, 1
+ adds r0, r1, r2
+ ldr r0, [r0]
+ str r0, [r1, 0x70]
+ b _08026780
+ .align 2, 0
+_08026734: .4byte gUnknown_80DD67C
+_08026738: .4byte gUnknown_203B2B8
+_0802673C: .4byte gUnknown_80DD688
+_08026740: .4byte gUnknown_80DD694
+_08026744: .4byte gUnknown_80DD69C
+_08026748: .4byte gUnknown_80DD6A4
+_0802674C: .4byte gUnknown_80DD6B4
+_08026750: .4byte gUnknown_80DD6BC
+_08026754: .4byte gUnknown_80DD6C4
+_08026758:
+ adds r3, 0x1
+ cmp r3, r6
+ bge _08026780
+ mov r4, r12
+ ldr r2, [r4]
+ lsls r0, r3, 1
+ movs r4, 0x83
+ lsls r4, 2
+ adds r1, r2, r4
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08026758
+ lsls r0, r3, 3
+ movs r3, 0xB8
+ lsls r3, 1
+ adds r1, r2, r3
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x70]
+_08026780:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80264CC
+
+ thumb_func_start sub_802678C
+sub_802678C:
+ push {r4-r7,lr}
+ ldr r5, _08026840
+ ldr r0, [r5]
+ movs r7, 0x83
+ lsls r7, 2
+ adds r0, r7
+ movs r1, 0
+ movs r2, 0x14
+ bl MemoryFill16
+ ldr r2, [r5]
+ movs r0, 0xB6
+ lsls r0, 1
+ adds r1, r2, r0
+ ldr r0, _08026844
+ str r0, [r1]
+ movs r3, 0xB8
+ lsls r3, 1
+ adds r1, r2, r3
+ movs r0, 0xB
+ str r0, [r1]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _080267C8
+ ldr r0, [r5]
+ adds r4, r7, 0
+ adds r0, r4
+ movs r1, 0x1
+ strh r1, [r0]
+_080267C8:
+ ldr r4, [r5]
+ movs r2, 0x1
+ movs r0, 0xBA
+ lsls r0, 1
+ adds r1, r4, r0
+ ldr r0, _08026848
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r3, 0xBC
+ lsls r3, 1
+ adds r1, r4, r3
+ movs r0, 0x4
+ str r0, [r1]
+ movs r6, 0x2
+ movs r0, 0xBE
+ lsls r0, 1
+ adds r1, r4, r0
+ movs r0, 0
+ str r0, [r1]
+ movs r1, 0xC0
+ lsls r1, 1
+ adds r0, r4, r1
+ str r2, [r0]
+ movs r3, 0
+ mov r12, r4
+ movs r4, 0xB8
+ lsls r4, 1
+ add r4, r12
+ mov r0, r12
+ adds r2, r0, r7
+_08026804:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08026814
+ ldr r1, [r4]
+ mov r7, r12
+ ldr r0, [r7, 0x74]
+ cmp r1, r0
+ beq _08026872
+_08026814:
+ adds r4, 0x8
+ adds r2, 0x2
+ adds r3, 0x1
+ cmp r3, r6
+ blt _08026804
+ movs r3, 0
+ cmp r3, r6
+ bge _08026872
+ ldr r1, [r5]
+ movs r2, 0x83
+ lsls r2, 2
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0802684C
+ movs r3, 0xB8
+ lsls r3, 1
+ adds r0, r1, r3
+ ldr r0, [r0]
+ str r0, [r1, 0x74]
+ b _08026872
+ .align 2, 0
+_08026840: .4byte gUnknown_203B2B8
+_08026844: .4byte gUnknown_80DD694
+_08026848: .4byte gUnknown_80D4970
+_0802684C:
+ adds r3, 0x1
+ cmp r3, r6
+ bge _08026872
+ ldr r2, [r5]
+ lsls r0, r3, 1
+ movs r4, 0x83
+ lsls r4, 2
+ adds r1, r2, r4
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _0802684C
+ lsls r0, r3, 3
+ movs r7, 0xB8
+ lsls r7, 1
+ adds r1, r2, r7
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x74]
+_08026872:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_802678C
+
+ thumb_func_start sub_8026878
+sub_8026878:
+ ldr r0, _080268C0
+ ldr r0, [r0]
+ mov r12, r0
+ movs r3, 0
+ movs r1, 0xDE
+ lsls r1, 1
+ add r1, r12
+ ldr r0, _080268C4
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r1, 0xE0
+ lsls r1, 1
+ add r1, r12
+ movs r0, 0x2
+ str r0, [r1]
+ movs r2, 0x1
+ movs r1, 0xE2
+ lsls r1, 1
+ add r1, r12
+ ldr r0, _080268C8
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r1, 0xE4
+ lsls r1, 1
+ add r1, r12
+ movs r0, 0x3
+ str r0, [r1]
+ movs r0, 0xE6
+ lsls r0, 1
+ add r0, r12
+ str r3, [r0]
+ movs r0, 0xE8
+ lsls r0, 1
+ add r0, r12
+ str r2, [r0]
+ bx lr
+ .align 2, 0
+_080268C0: .4byte gUnknown_203B2B8
+_080268C4: .4byte gUnknown_80D4920
+_080268C8: .4byte gUnknown_80D4928
+ thumb_func_end sub_8026878
+
+ thumb_func_start sub_80268CC
+sub_80268CC:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ ldr r4, _0802690C
+ ldr r0, [r4]
+ adds r0, 0x7C
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _080268F8
+ ldr r0, [r4]
+ adds r0, 0x7C
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _080268F8
+ ldr r0, [r4]
+ str r1, [r0, 0x70]
+_080268F8:
+ ldr r0, [sp]
+ subs r0, 0x1
+ cmp r0, 0xC
+ bls _08026902
+ b _08026A6E
+_08026902:
+ lsls r0, 2
+ ldr r1, _08026910
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0802690C: .4byte gUnknown_203B2B8
+_08026910: .4byte _08026914
+ .align 2, 0
+_08026914:
+ .4byte _08026A68
+ .4byte _08026A6E
+ .4byte _08026A6E
+ .4byte _08026A58
+ .4byte _08026A60
+ .4byte _08026948
+ .4byte _0802698C
+ .4byte _080269B4
+ .4byte _080269F0
+ .4byte _08026A00
+ .4byte _08026A08
+ .4byte _08026A10
+ .4byte _080269F8
+_08026948:
+ ldr r4, _08026984
+ ldr r0, [r4]
+ movs r1, 0xA
+ ldrsh r0, [r0, r1]
+ bl sub_808D750
+ lsls r0, 24
+ cmp r0, 0
+ beq _08026976
+ ldr r0, [r4]
+ movs r2, 0xA
+ ldrsh r1, [r0, r2]
+ movs r0, 0x58
+ muls r1, r0
+ ldr r0, _08026988
+ ldr r0, [r0]
+ adds r1, r0
+ ldrh r2, [r1]
+ movs r0, 0x2
+ orrs r0, r2
+ strh r0, [r1]
+ bl nullsub_104
+_08026976:
+ bl sub_808ED00
+ movs r0, 0x5
+ bl sub_8026074
+ b _08026A6E
+ .align 2, 0
+_08026984: .4byte gUnknown_203B2B8
+_08026988: .4byte gRecruitedPokemonRef
+_0802698C:
+ ldr r0, _080269AC
+ ldr r0, [r0]
+ ldr r2, [r0, 0x18]
+ ldrh r1, [r2]
+ ldr r0, _080269B0
+ ands r0, r1
+ strh r0, [r2]
+ bl nullsub_104
+ bl sub_808ED00
+ movs r0, 0x6
+ bl sub_8026074
+ b _08026A6E
+ .align 2, 0
+_080269AC: .4byte gUnknown_203B2B8
+_080269B0: .4byte 0x0000fffd
+_080269B4:
+ ldr r2, _080269E8
+ ldr r0, _080269EC
+ ldr r0, [r0]
+ movs r3, 0xA
+ ldrsh r1, [r0, r3]
+ movs r0, 0x58
+ muls r1, r0
+ ldr r0, [r2]
+ adds r4, r0, r1
+ bl sub_808D33C
+ ldrb r1, [r4, 0x2]
+ cmp r1, 0
+ bne _080269DA
+ strb r1, [r0, 0x2]
+ movs r0, 0x1
+ strb r0, [r4, 0x2]
+ bl nullsub_104
+_080269DA:
+ bl sub_808ED00
+ movs r0, 0x7
+ bl sub_8026074
+ b _08026A6E
+ .align 2, 0
+_080269E8: .4byte gRecruitedPokemonRef
+_080269EC: .4byte gUnknown_203B2B8
+_080269F0:
+ movs r0, 0xC
+ bl sub_8026074
+ b _08026A6E
+_080269F8:
+ movs r0, 0x16
+ bl sub_8026074
+ b _08026A6E
+_08026A00:
+ movs r0, 0xE
+ bl sub_8026074
+ b _08026A6E
+_08026A08:
+ movs r0, 0x12
+ bl sub_8026074
+ b _08026A6E
+_08026A10:
+ ldr r0, _08026A50
+ bl PlaySound
+ ldr r4, _08026A54
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x14]
+ cmp r0, 0
+ beq _08026A28
+ adds r0, r1, 0
+ adds r0, 0x14
+ bl sub_8091274
+_08026A28:
+ bl sub_80910B4
+ ldr r0, [r4]
+ movs r1, 0
+ strb r1, [r0, 0x14]
+ ldr r0, [r4]
+ strb r1, [r0, 0x15]
+ ldr r1, [r4]
+ movs r2, 0xA
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D800
+ bl nullsub_104
+ movs r0, 0x11
+ bl sub_8026074
+ b _08026A6E
+ .align 2, 0
+_08026A50: .4byte 0x0000014d
+_08026A54: .4byte gUnknown_203B2B8
+_08026A58:
+ movs r0, 0x3
+ bl sub_8026074
+ b _08026A6E
+_08026A60:
+ movs r0, 0x4
+ bl sub_8026074
+ b _08026A6E
+_08026A68:
+ movs r0, 0x19
+ bl sub_8026074
+_08026A6E:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80268CC
+
+ thumb_func_start sub_8026A78
+sub_8026A78:
+ push {lr}
+ bl sub_80244E4
+ cmp r0, 0x1
+ bls _08026A90
+ cmp r0, 0x3
+ bhi _08026A90
+ bl sub_802453C
+ movs r0, 0x2
+ bl sub_8026074
+_08026A90:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026A78
+
+ thumb_func_start sub_8026A94
+sub_8026A94:
+ push {lr}
+ bl sub_801BF48
+ cmp r0, 0x1
+ bls _08026AAC
+ cmp r0, 0x3
+ bhi _08026AAC
+ bl sub_801BF98
+ movs r0, 0x2
+ bl sub_8026074
+_08026AAC:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026A94
+
+ thumb_func_start sub_8026AB0
+sub_8026AB0:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08026B08
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08026ADA
+ cmp r0, 0x2
+ bgt _08026ACE
+ cmp r0, 0x1
+ beq _08026AD2
+ b _08026B08
+_08026ACE:
+ cmp r0, 0x3
+ bne _08026B08
+_08026AD2:
+ movs r0, 0x2
+ bl sub_8026074
+ b _08026B08
+_08026ADA:
+ ldr r0, _08026AF0
+ ldr r0, [r0]
+ ldr r0, [r0, 0x18]
+ ldrb r0, [r0, 0x4]
+ subs r0, 0x44
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _08026AF4
+ movs r0, 0x1
+ b _08026AF6
+ .align 2, 0
+_08026AF0: .4byte gUnknown_203B2B8
+_08026AF4:
+ movs r0, 0
+_08026AF6:
+ cmp r0, 0
+ beq _08026B02
+ movs r0, 0xD
+ bl sub_8026074
+ b _08026B08
+_08026B02:
+ movs r0, 0x8
+ bl sub_8026074
+_08026B08:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026AB0
+
+ thumb_func_start sub_8026B10
+sub_8026B10:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08026B40
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08026B3A
+ cmp r0, 0x2
+ bgt _08026B2E
+ cmp r0, 0x1
+ beq _08026B32
+ b _08026B40
+_08026B2E:
+ cmp r0, 0x3
+ bne _08026B40
+_08026B32:
+ movs r0, 0x2
+ bl sub_8026074
+ b _08026B40
+_08026B3A:
+ movs r0, 0x8
+ bl sub_8026074
+_08026B40:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026B10
+
+ thumb_func_start sub_8026B48
+sub_8026B48:
+ push {lr}
+ bl sub_8022860
+ cmp r0, 0x1
+ bls _08026B60
+ cmp r0, 0x3
+ bhi _08026B60
+ bl sub_8022908
+ movs r0, 0x2
+ bl sub_8026074
+_08026B60:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026B48
+
+ thumb_func_start sub_8026B64
+sub_8026B64:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x4
+ bhi _08026C0E
+ lsls r0, 2
+ ldr r1, _08026B7C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08026B7C: .4byte _08026B80
+ .align 2, 0
+_08026B80:
+ .4byte _08026C0E
+ .4byte _08026C0E
+ .4byte _08026C04
+ .4byte _08026B94
+ .4byte _08026BC8
+_08026B94:
+ bl sub_801A8AC
+ ldr r4, _08026BC0
+ ldr r2, [r4]
+ str r0, [r2, 0xC]
+ ldr r3, _08026BC4
+ ldr r1, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x2]
+ strb r0, [r2, 0x10]
+ ldr r2, [r4]
+ ldr r1, [r3]
+ ldr r0, [r2, 0xC]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x1]
+ strb r0, [r2, 0x11]
+ movs r0, 0x14
+ bl sub_8026074
+ b _08026C0E
+ .align 2, 0
+_08026BC0: .4byte gUnknown_203B2B8
+_08026BC4: .4byte gUnknown_203B460
+_08026BC8:
+ bl sub_801A8AC
+ ldr r4, _08026BFC
+ ldr r2, [r4]
+ str r0, [r2, 0xC]
+ ldr r3, _08026C00
+ ldr r1, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x2]
+ strb r0, [r2, 0x10]
+ ldr r2, [r4]
+ ldr r1, [r3]
+ ldr r0, [r2, 0xC]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x1]
+ strb r0, [r2, 0x11]
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x15
+ bl sub_8026074
+ b _08026C0E
+ .align 2, 0
+_08026BFC: .4byte gUnknown_203B2B8
+_08026C00: .4byte gUnknown_203B460
+_08026C04:
+ bl sub_801A928
+ movs r0, 0x2
+ bl sub_8026074
+_08026C0E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026B64
+
+ thumb_func_start sub_8026C14
+sub_8026C14:
+ push {r4-r6,lr}
+ sub sp, 0x14
+ movs r0, 0
+ str r0, [sp, 0xC]
+ bl sub_801A6E8
+ ldr r4, _08026C54
+ ldr r0, [r4]
+ adds r0, 0xCC
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08026C44
+ ldr r0, [r4]
+ adds r0, 0xCC
+ add r1, sp, 0xC
+ bl sub_8013114
+ ldr r1, [sp, 0xC]
+ cmp r1, 0x1
+ beq _08026C44
+ ldr r0, [r4]
+ str r1, [r0, 0x74]
+_08026C44:
+ ldr r0, [sp, 0xC]
+ cmp r0, 0x4
+ beq _08026CD4
+ cmp r0, 0x4
+ bgt _08026C58
+ cmp r0, 0x1
+ beq _08026CE2
+ b _08026CE8
+ .align 2, 0
+_08026C54: .4byte gUnknown_203B2B8
+_08026C58:
+ cmp r0, 0xB
+ bne _08026CE8
+ movs r6, 0xF
+ ldr r0, _08026CC8
+ bl PlaySound
+ ldr r5, _08026CCC
+ ldr r0, [r5]
+ ldr r0, [r0, 0xC]
+ bl sub_80911F8
+ bl sub_80910B4
+ ldr r1, [r5]
+ ldrb r0, [r1, 0x14]
+ cmp r0, 0
+ beq _08026C84
+ adds r0, r1, 0
+ adds r0, 0x14
+ bl sub_8091274
+ movs r6, 0x10
+_08026C84:
+ add r4, sp, 0x10
+ ldr r1, [r5]
+ adds r1, 0x10
+ adds r0, r4, 0
+ bl sub_8090B64
+ movs r1, 0
+ str r1, [sp]
+ mov r0, sp
+ strb r1, [r0, 0x4]
+ mov r1, sp
+ movs r0, 0x1
+ strb r0, [r1, 0x8]
+ strb r0, [r4]
+ ldr r0, _08026CD0
+ adds r1, r4, 0
+ mov r2, sp
+ bl sub_8090E14
+ ldr r1, [r5]
+ movs r2, 0xA
+ ldrsh r0, [r1, r2]
+ adds r1, 0x10
+ bl sub_808D800
+ bl sub_801A928
+ bl nullsub_104
+ adds r0, r6, 0
+ bl sub_8026074
+ b _08026CE8
+ .align 2, 0
+_08026CC8: .4byte 0x0000014d
+_08026CCC: .4byte gUnknown_203B2B8
+_08026CD0: .4byte gUnknown_202DEA8
+_08026CD4:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x15
+ bl sub_8026074
+ b _08026CE8
+_08026CE2:
+ movs r0, 0x13
+ bl sub_8026074
+_08026CE8:
+ add sp, 0x14
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026C14
+
+ thumb_func_start sub_8026CF0
+sub_8026CF0:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _08026D08
+ cmp r0, 0x3
+ bhi _08026D08
+ bl sub_801B450
+ movs r0, 0x13
+ bl sub_8026074
+_08026D08:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026CF0
+
+ thumb_func_start sub_8026D0C
+sub_8026D0C:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801EF38
+ cmp r0, 0x4
+ bhi _08026D66
+ lsls r0, 2
+ ldr r1, _08026D24
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08026D24: .4byte _08026D28
+ .align 2, 0
+_08026D28:
+ .4byte _08026D66
+ .4byte _08026D66
+ .4byte _08026D5C
+ .4byte _08026D3C
+ .4byte _08026D3C
+_08026D3C:
+ bl sub_801F194
+ ldr r1, _08026D58
+ ldr r1, [r1]
+ str r0, [r1, 0x20]
+ lsls r0, 3
+ adds r0, r1, r0
+ ldrh r0, [r0, 0x2A]
+ strh r0, [r1, 0x24]
+ movs r0, 0x18
+ bl sub_8026074
+ b _08026D66
+ .align 2, 0
+_08026D58: .4byte gUnknown_203B2B8
+_08026D5C:
+ bl sub_801F214
+ movs r0, 0x2
+ bl sub_8026074
+_08026D66:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026D0C
+
+ thumb_func_start sub_8026D6C
+sub_8026D6C:
+ push {lr}
+ bl sub_801F890
+ cmp r0, 0x1
+ bls _08026D84
+ cmp r0, 0x3
+ bhi _08026D84
+ bl sub_801F8D0
+ movs r0, 0x17
+ bl sub_8026074
+_08026D84:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026D6C
+
+ thumb_func_start sub_8026D88
+sub_8026D88:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08026DA0
+ ldr r0, _08026DA8
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ bl sub_8026074
+_08026DA0:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08026DA8: .4byte gUnknown_203B2B8
+ thumb_func_end sub_8026D88
+
+ thumb_func_start sub_8026DAC
+sub_8026DAC:
+ push {r4-r6,lr}
+ sub sp, 0x14
+ adds r6, r0, 0
+ adds r5, r1, 0
+ bl sub_8008C54
+ adds r0, r6, 0
+ bl sub_80073B8
+ add r4, sp, 0x10
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8090B64
+ movs r5, 0
+ str r5, [sp, 0x4]
+ add r0, sp, 0x4
+ strb r5, [r0, 0x4]
+ adds r1, r0, 0
+ movs r0, 0x1
+ strb r0, [r1, 0x8]
+ strb r0, [r4]
+ ldr r0, _08026E00
+ adds r1, r4, 0
+ add r2, sp, 0x4
+ bl sub_8090E14
+ ldr r2, _08026E04
+ str r5, [sp]
+ movs r0, 0x4
+ movs r1, 0x3
+ adds r3, r6, 0
+ bl sub_8014FF0
+ adds r0, r6, 0
+ bl sub_80073E0
+ add sp, 0x14
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08026E00: .4byte gUnknown_202DE58
+_08026E04: .4byte gUnknown_80DD6D0
+ thumb_func_end sub_8026DAC
+
+ thumb_func_start sub_8026E08
+sub_8026E08:
+ push {r4-r6,lr}
+ sub sp, 0x40
+ adds r5, r0, 0
+ bl sub_8008C54
+ adds r0, r5, 0
+ bl sub_80073B8
+ ldr r6, _08026E78
+ ldr r4, _08026E7C
+ ldr r0, [r4]
+ ldr r1, [r0, 0x18]
+ adds r1, 0x4C
+ adds r0, r6, 0
+ movs r2, 0xA
+ bl sub_80922B4
+ add r0, sp, 0x2C
+ ldr r1, [r4]
+ ldr r1, [r1, 0x18]
+ movs r2, 0x8
+ ldrsh r1, [r1, r2]
+ bl sub_808D930
+ ldr r1, _08026E80
+ add r0, sp, 0x4
+ adds r2, r6, 0
+ bl sub_800D158
+ add r0, sp, 0x4
+ bl sub_8008ED0
+ adds r1, r0, 0
+ ldr r0, _08026E84
+ movs r2, 0xC
+ ldrsh r0, [r0, r2]
+ lsls r0, 3
+ subs r0, r1
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ movs r1, 0
+ str r1, [sp]
+ movs r1, 0x3
+ add r2, sp, 0x4
+ adds r3, r5, 0
+ bl xxx_call_draw_string
+ adds r0, r5, 0
+ bl sub_80073E0
+ add sp, 0x40
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08026E78: .4byte gAvailablePokemonNames
+_08026E7C: .4byte gUnknown_203B2B8
+_08026E80: .4byte gUnknown_80DD6E0
+_08026E84: .4byte gUnknown_80DD370
+ thumb_func_end sub_8026E08
+
+ thumb_func_start sub_8026E88
+sub_8026E88:
+ push {lr}
+ adds r1, r0, 0
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0
+ bne _08026EAC
+ movs r2, 0
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0x41
+ bne _08026E9C
+ movs r2, 0x1
+_08026E9C:
+ cmp r2, 0
+ beq _08026EB0
+ movs r0, 0x8
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08026EB0
+_08026EAC:
+ movs r0, 0
+ b _08026EB2
+_08026EB0:
+ movs r0, 0x1
+_08026EB2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026E88
+
+ thumb_func_start sub_8026EB8
+sub_8026EB8:
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_808D3BC
+ cmp r0, r4
+ beq _08026EFA
+ bl sub_808D3F8
+ cmp r0, r4
+ beq _08026EFA
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0
+ bne _08026EFA
+ movs r1, 0
+ ldrb r0, [r4, 0x4]
+ cmp r0, 0x41
+ bne _08026EDC
+ movs r1, 0x1
+_08026EDC:
+ cmp r1, 0
+ beq _08026EEC
+ movs r0, 0x8
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08026EFA
+_08026EEC:
+ adds r0, r4, 0
+ bl sub_8026F04
+ cmp r0, 0x3
+ beq _08026EFA
+ movs r0, 0x1
+ b _08026EFC
+_08026EFA:
+ movs r0, 0
+_08026EFC:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026EB8
+
+ thumb_func_start sub_8026F04
+sub_8026F04:
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r0, 0x28
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08026F14
+ movs r0, 0
+ b _08026F32
+_08026F14:
+ bl sub_8090A34
+ cmp r0, 0x13
+ bgt _08026F20
+ movs r0, 0x1
+ b _08026F32
+_08026F20:
+ adds r0, r4, 0
+ bl sub_8026F38
+ lsls r0, 24
+ cmp r0, 0
+ bne _08026F30
+ movs r0, 0x3
+ b _08026F32
+_08026F30:
+ movs r0, 0x2
+_08026F32:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8026F04
+
+ thumb_func_start sub_8026F38
+sub_8026F38:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r5, 0
+ adds r4, 0x28
+ ldrb r0, [r4]
+ bl sub_8091524
+ lsls r0, 24
+ cmp r0, 0
+ beq _08026F74
+ ldrb r0, [r4]
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ beq _08026F80
+ ldr r0, _08026F78
+ ldr r1, [r0]
+ ldrb r0, [r4]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r1, [r1]
+ adds r0, r5, 0
+ adds r0, 0x29
+ ldrb r0, [r0]
+ adds r1, r0
+ ldr r0, _08026F7C
+ cmp r1, r0
+ ble _08026F94
+_08026F74:
+ movs r0, 0
+ b _08026F96
+ .align 2, 0
+_08026F78: .4byte gUnknown_203B460
+_08026F7C: .4byte 0x000003e7
+_08026F80:
+ ldr r0, _08026F9C
+ ldr r1, [r0]
+ ldrb r0, [r4]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r1, [r1]
+ ldr r0, _08026FA0
+ cmp r1, r0
+ bhi _08026F74
+_08026F94:
+ movs r0, 0x1
+_08026F96:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08026F9C: .4byte gUnknown_203B460
+_08026FA0: .4byte 0x000003e6
+ thumb_func_end sub_8026F38
+
+ thumb_func_start sub_8026FA4
+sub_8026FA4:
+ push {r4,lr}
+ ldr r4, _08026FC0
+ ldr r0, [r4]
+ ldr r0, [r0, 0x18]
+ bl sub_8026F04
+ cmp r0, 0x1
+ beq _08026FC4
+ cmp r0, 0x1
+ bcc _08027068
+ cmp r0, 0x2
+ beq _08026FF8
+ b _08027068
+ .align 2, 0
+_08026FC0: .4byte gUnknown_203B2B8
+_08026FC4:
+ ldr r0, _08026FF4
+ bl PlaySound
+ ldr r0, [r4]
+ adds r0, 0x14
+ bl sub_8091274
+ bl sub_80910B4
+ ldr r0, [r4]
+ movs r1, 0
+ strb r1, [r0, 0x14]
+ ldr r0, [r4]
+ strb r1, [r0, 0x15]
+ ldr r1, [r4]
+ movs r2, 0xA
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D800
+ movs r0, 0xA
+ bl sub_8026074
+ b _0802706E
+ .align 2, 0
+_08026FF4: .4byte 0x0000014d
+_08026FF8:
+ ldr r0, _08027024
+ bl PlaySound
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x14]
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802702C
+ ldr r0, _08027028
+ ldr r1, [r0]
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x14]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r0, [r1]
+ ldrb r2, [r2, 0x15]
+ adds r0, r2
+ b _0802703E
+ .align 2, 0
+_08027024: .4byte 0x0000014d
+_08027028: .4byte gUnknown_203B460
+_0802702C:
+ ldr r0, _08027060
+ ldr r1, [r0]
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x14]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r0, [r1]
+ adds r0, 0x1
+_0802703E:
+ strh r0, [r1]
+ ldr r1, _08027064
+ ldr r0, [r1]
+ movs r2, 0
+ strb r2, [r0, 0x14]
+ ldr r0, [r1]
+ strb r2, [r0, 0x15]
+ ldr r1, [r1]
+ movs r2, 0xA
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D800
+ movs r0, 0xB
+ bl sub_8026074
+ b _0802706E
+ .align 2, 0
+_08027060: .4byte gUnknown_203B460
+_08027064: .4byte gUnknown_203B2B8
+_08027068:
+ movs r0, 0x19
+ bl sub_8026074
+_0802706E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8026FA4
+
+ thumb_func_start sub_8027074
+sub_8027074:
+ push {r4,lr}
+ movs r0, 0
+ bl ResetSprites
+ ldr r4, _080270A0
+ movs r0, 0xF0
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r1, 0
+ str r1, [r0, 0x70]
+ str r1, [r0, 0x74]
+ str r1, [r0, 0x78]
+ movs r0, 0
+ bl sub_8027184
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080270A0: .4byte gUnknown_203B2BC
+ thumb_func_end sub_8027074
+
+ thumb_func_start sub_80270A4
+sub_80270A4:
+ push {lr}
+ ldr r0, _080270BC
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x11
+ bhi _08027156
+ lsls r0, 2
+ ldr r1, _080270C0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080270BC: .4byte gUnknown_203B2BC
+_080270C0: .4byte _080270C4
+ .align 2, 0
+_080270C4:
+ .4byte _0802710C
+ .4byte _08027114
+ .4byte _08027114
+ .4byte _0802711A
+ .4byte _08027120
+ .4byte _08027126
+ .4byte _08027156
+ .4byte _08027156
+ .4byte _0802712C
+ .4byte _08027132
+ .4byte _08027138
+ .4byte _08027138
+ .4byte _0802713E
+ .4byte _08027144
+ .4byte _0802714A
+ .4byte _0802714A
+ .4byte _08027150
+ .4byte _0802715C
+_0802710C:
+ movs r0, 0x1
+ bl sub_8027184
+ b _08027160
+_08027114:
+ bl sub_80277FC
+ b _08027160
+_0802711A:
+ bl sub_80278B4
+ b _08027160
+_08027120:
+ bl sub_8027A40
+ b _08027160
+_08027126:
+ bl sub_8027A5C
+ b _08027160
+_0802712C:
+ bl sub_8027A78
+ b _08027160
+_08027132:
+ bl sub_8027AE4
+ b _08027160
+_08027138:
+ bl sub_8027B28
+ b _08027160
+_0802713E:
+ bl sub_8027BD8
+ b _08027160
+_08027144:
+ bl sub_8027C84
+ b _08027160
+_0802714A:
+ bl sub_8027CA0
+ b _08027160
+_08027150:
+ bl sub_8027D00
+ b _08027160
+_08027156:
+ bl sub_8027D1C
+ b _08027160
+_0802715C:
+ movs r0, 0x3
+ b _08027162
+_08027160:
+ movs r0, 0
+_08027162:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80270A4
+
+ thumb_func_start sub_8027168
+sub_8027168:
+ push {r4,lr}
+ ldr r4, _08027180
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0802717A
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0802717A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08027180: .4byte gUnknown_203B2BC
+ thumb_func_end sub_8027168
+
+ thumb_func_start sub_8027184
+sub_8027184:
+ push {lr}
+ ldr r1, _08027198
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_802719C
+ bl sub_8027274
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08027198: .4byte gUnknown_203B2BC
+ thumb_func_end sub_8027184
+
+ thumb_func_start sub_802719C
+sub_802719C:
+ push {r4-r7,lr}
+ ldr r4, _080271C0
+ ldr r0, [r4]
+ movs r1, 0xC0
+ lsls r1, 1
+ adds r0, r1
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1]
+ cmp r0, 0x3
+ beq _080271C8
+ cmp r0, 0xC
+ beq _08027208
+ movs r2, 0
+ ldr r3, _080271C4
+ b _08027234
+ .align 2, 0
+_080271C0: .4byte gUnknown_203B2BC
+_080271C4: .4byte gUnknown_80DD6EC
+_080271C8:
+ movs r2, 0xE4
+ lsls r2, 1
+ adds r1, r2
+ ldr r0, _08027200
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ bl CreateFriendActionMenu
+ ldr r2, [r4]
+ movs r0, 0xD8
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _08027204
+ ldm r1!, {r5-r7}
+ stm r2!, {r5-r7}
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ movs r7, 0x8E
+ lsls r7, 1
+ adds r1, r7
+ bl sub_8012CAC
+ b _08027254
+ .align 2, 0
+_08027200: .4byte gUnknown_80DD74C
+_08027204: .4byte gUnknown_80DD704
+_08027208:
+ bl sub_80276A8
+ ldr r2, [r4]
+ movs r0, 0xD8
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _08027230
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ movs r6, 0x8E
+ lsls r6, 1
+ adds r1, r6
+ bl sub_8012CAC
+ b _08027254
+ .align 2, 0
+_08027230: .4byte gUnknown_80DD71C
+_08027234:
+ ldr r0, [r4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r0, r1
+ movs r7, 0xC0
+ lsls r7, 1
+ adds r0, r7
+ 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 _08027234
+_08027254:
+ bl ResetUnusedInputStruct
+ ldr r0, _08027270
+ ldr r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08027270: .4byte gUnknown_203B2BC
+ thumb_func_end sub_802719C
+
+ thumb_func_start sub_8027274
+sub_8027274:
+ push {r4,lr}
+ sub sp, 0x18
+ ldr r1, _08027290
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0x11
+ bls _08027286
+ b _0802744A
+_08027286:
+ lsls r0, 2
+ ldr r1, _08027294
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08027290: .4byte gUnknown_203B2BC
+_08027294: .4byte _08027298
+ .align 2, 0
+_08027298:
+ .4byte _0802744A
+ .4byte _080272E0
+ .4byte _080272EE
+ .4byte _080272F6
+ .4byte _0802731A
+ .4byte _08027328
+ .4byte _0802741C
+ .4byte _08027438
+ .4byte _080273B6
+ .4byte _080273D0
+ .4byte _08027334
+ .4byte _08027342
+ .4byte _0802734A
+ .4byte _08027374
+ .4byte _08027386
+ .4byte _080273AC
+ .4byte _08027404
+ .4byte _0802744A
+_080272E0:
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x7
+ bl sub_8023868
+ b _0802744A
+_080272EE:
+ movs r0, 0x1
+ bl sub_8023B7C
+ b _0802744A
+_080272F6:
+ ldr r1, [r4]
+ adds r1, 0x14
+ movs r0, 0x3
+ bl sub_8027D40
+ bl sub_8023DA4
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0x7C
+ movs r3, 0x8E
+ lsls r3, 1
+ adds r1, r2, r3
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r3, r2, r4
+ ldr r2, [r2, 0x70]
+ b _08027362
+_0802731A:
+ ldr r0, [r4]
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ movs r1, 0x2
+ bl sub_8024458
+ b _0802744A
+_08027328:
+ ldr r0, [r4]
+ movs r3, 0x8
+ ldrsh r0, [r0, r3]
+ bl sub_801BEEC
+ b _0802744A
+_08027334:
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _0802744A
+_08027342:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _0802744A
+_0802734A:
+ bl sub_801A9E0
+ ldr r0, _08027370
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x7C
+ movs r4, 0x8E
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r4, 0x50
+ adds r3, r2, r4
+ ldr r2, [r2, 0x74]
+_08027362:
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _0802744A
+ .align 2, 0
+_08027370: .4byte gUnknown_203B2BC
+_08027374:
+ ldr r1, [r4]
+ adds r1, 0x10
+ add r0, sp, 0x14
+ bl sub_8090B64
+ add r0, sp, 0x14
+ bl sub_801B3C0
+ b _0802744A
+_08027386:
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x28
+ ldr r1, [r1, 0x18]
+ adds r1, 0x2C
+ bl sub_809401C
+ ldr r2, [r4]
+ movs r0, 0x8
+ ldrsh r1, [r2, r0]
+ adds r2, 0x28
+ movs r0, 0
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ movs r0, 0x3
+ movs r3, 0
+ bl sub_801EE10
+ b _0802744A
+_080273AC:
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_801F1B0
+ b _0802744A
+_080273B6:
+ bl sub_8027794
+ ldr r0, _080273C8
+ ldr r1, _080273CC
+ ldr r3, [r1]
+ movs r1, 0x8E
+ lsls r1, 1
+ adds r3, r1
+ b _080273E0
+ .align 2, 0
+_080273C8: .4byte gUnknown_80DD764
+_080273CC: .4byte gUnknown_203B2BC
+_080273D0:
+ bl sub_8027794
+ ldr r0, _080273FC
+ ldr r1, _08027400
+ ldr r3, [r1]
+ movs r4, 0x8E
+ lsls r4, 1
+ adds r3, r4
+_080273E0:
+ movs r2, 0
+ str r2, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r2, [sp, 0xC]
+ adds r1, 0xFD
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x3
+ bl sub_8014248
+ b _0802744A
+ .align 2, 0
+_080273FC: .4byte gUnknown_80DD7FC
+_08027400: .4byte gUnknown_203B2BC
+_08027404:
+ ldr r2, [r4]
+ ldr r0, [r2, 0x20]
+ adds r1, r2, 0
+ adds r1, 0x28
+ adds r2, 0x68
+ bl sub_8093560
+ ldr r0, [r4]
+ adds r0, 0x68
+ bl sub_801F808
+ b _0802744A
+_0802741C:
+ ldr r1, [r4]
+ movs r0, 0x2
+ str r0, [r1, 0x4]
+ ldr r0, _08027430
+ ldr r3, _08027434
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _0802744A
+ .align 2, 0
+_08027430: .4byte gUnknown_80DD8A0
+_08027434: .4byte 0x00000101
+_08027438:
+ ldr r1, [r4]
+ movs r0, 0x2
+ str r0, [r1, 0x4]
+ ldr r0, _08027454
+ ldr r3, _08027458
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+_0802744A:
+ add sp, 0x18
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08027454: .4byte gUnknown_80DD8D0
+_08027458: .4byte 0x00000101
+ thumb_func_end sub_8027274
+
+ @ Menu that gets created when you talk to friend
+ thumb_func_start CreateFriendActionMenu
+CreateFriendActionMenu:
+ push {r4-r7,lr}
+ ldr r3, _080274E4
+ ldr r4, _080274E8
+ ldr r0, [r4]
+ movs r1, 0x8
+ ldrsh r2, [r0, r1]
+ movs r1, 0x58
+ muls r2, r1
+ ldr r1, [r3]
+ adds r5, r1, r2
+ movs r2, 0xB6
+ lsls r2, 1
+ adds r0, r2
+ movs r1, 0
+ movs r2, 0x14
+ bl MemoryFill16
+ ldrh r0, [r5]
+ lsrs r0, 1
+ movs r6, 0x1
+ ands r0, r6
+ cmp r0, 0
+ beq _080274F4
+ ldr r2, [r4]
+ movs r3, 0x8E
+ lsls r3, 1
+ adds r1, r2, r3
+ ldr r0, _080274EC
+ str r0, [r1]
+ movs r0, 0x90
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x7
+ str r0, [r1]
+ adds r0, r5, 0
+ bl sub_8027D9C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080274B6
+ ldr r0, [r4]
+ movs r1, 0xB6
+ lsls r1, 1
+ adds r0, r1
+ strh r6, [r0]
+_080274B6:
+ movs r7, 0x1
+ movs r0, 0x8
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08027552
+ ldrb r0, [r5, 0x2]
+ cmp r0, 0
+ bne _08027552
+ ldr r3, [r4]
+ movs r2, 0x8
+ movs r4, 0x92
+ lsls r4, 1
+ adds r1, r3, r4
+ ldr r0, _080274F0
+ str r0, [r1]
+ movs r1, 0x94
+ lsls r1, 1
+ adds r0, r3, r1
+ str r2, [r0]
+ b _08027550
+ .align 2, 0
+_080274E4: .4byte gRecruitedPokemonRef
+_080274E8: .4byte gUnknown_203B2BC
+_080274EC: .4byte gFriendActionStandby
+_080274F0: .4byte gFriendActionMakeLeader
+_080274F4:
+ ldr r2, [r4]
+ movs r3, 0x8E
+ lsls r3, 1
+ adds r1, r2, r3
+ ldr r0, _08027658
+ str r0, [r1]
+ movs r0, 0x90
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x6
+ str r0, [r1]
+ movs r1, 0x8
+ ldrsh r0, [r2, r1]
+ bl sub_808D750
+ lsls r0, 24
+ cmp r0, 0
+ bne _08027522
+ ldr r0, [r4]
+ movs r2, 0xB6
+ lsls r2, 1
+ adds r0, r2
+ strh r6, [r0]
+_08027522:
+ movs r7, 0x1
+ ldr r2, [r4]
+ movs r3, 0x92
+ lsls r3, 1
+ adds r1, r2, r3
+ ldr r0, _0802765C
+ str r0, [r1]
+ movs r0, 0x94
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x9
+ str r0, [r1]
+ adds r0, r5, 0
+ bl sub_8027DCC
+ lsls r0, 24
+ cmp r0, 0
+ bne _08027550
+ ldr r0, [r4]
+ movs r1, 0xB7
+ lsls r1, 1
+ adds r0, r1
+ strh r7, [r0]
+_08027550:
+ movs r7, 0x2
+_08027552:
+ ldr r4, _08027660
+ ldr r2, [r4]
+ lsls r3, r7, 3
+ movs r6, 0x8E
+ lsls r6, 1
+ adds r0, r2, r6
+ adds r0, r3
+ ldr r1, _08027664
+ str r1, [r0]
+ movs r5, 0x90
+ lsls r5, 1
+ adds r2, r5
+ adds r2, r3
+ movs r0, 0xA
+ str r0, [r2]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _08027588
+ ldr r0, [r4]
+ lsls r1, r7, 1
+ movs r2, 0xB6
+ lsls r2, 1
+ adds r0, r2
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0]
+_08027588:
+ adds r7, 0x1
+ ldr r2, [r4]
+ lsls r3, r7, 3
+ adds r0, r2, r6
+ adds r0, r3
+ ldr r1, _08027668
+ str r1, [r0]
+ adds r2, r5
+ adds r2, r3
+ movs r0, 0xB
+ str r0, [r2]
+ bl sub_8090A34
+ cmp r0, 0x13
+ bgt _080275AE
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x14]
+ cmp r0, 0
+ bne _080275BE
+_080275AE:
+ ldr r0, [r4]
+ lsls r1, r7, 1
+ movs r3, 0xB6
+ lsls r3, 1
+ adds r0, r3
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0]
+_080275BE:
+ adds r7, 0x1
+ ldr r4, _08027660
+ ldr r5, [r4]
+ lsls r1, r7, 3
+ movs r0, 0x8E
+ lsls r0, 1
+ adds r3, r5, r0
+ adds r2, r3, r1
+ ldr r0, _0802766C
+ str r0, [r2]
+ movs r2, 0x90
+ lsls r2, 1
+ adds r6, r5, r2
+ adds r1, r6, r1
+ movs r0, 0x4
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r2, r3, r1
+ ldr r0, _08027670
+ str r0, [r2]
+ adds r1, r6, r1
+ movs r0, 0xC
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r2, r3, r1
+ ldr r0, _08027674
+ str r0, [r2]
+ adds r1, r6, r1
+ movs r0, 0x5
+ str r0, [r1]
+ adds r7, 0x1
+ lsls r1, r7, 3
+ adds r3, r1
+ movs r0, 0
+ str r0, [r3]
+ adds r1, r6, r1
+ movs r0, 0x1
+ str r0, [r1]
+ movs r3, 0
+ mov r12, r4
+ cmp r3, r7
+ bge _08027636
+ adds r4, r6, 0
+ movs r0, 0xB6
+ lsls r0, 1
+ adds r2, r5, r0
+_0802761E:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _0802762C
+ ldr r1, [r4]
+ ldr r0, [r5, 0x70]
+ cmp r1, r0
+ beq _080276A0
+_0802762C:
+ adds r4, 0x8
+ adds r2, 0x2
+ adds r3, 0x1
+ cmp r3, r7
+ blt _0802761E
+_08027636:
+ movs r3, 0
+ cmp r3, r7
+ bge _080276A0
+ mov r2, r12
+ ldr r1, [r2]
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r0, r1, r4
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08027678
+ movs r2, 0x90
+ lsls r2, 1
+ adds r0, r1, r2
+ ldr r0, [r0]
+ str r0, [r1, 0x70]
+ b _080276A0
+ .align 2, 0
+_08027658: .4byte gFriendActionJoinTeam
+_0802765C: .4byte gFriendActionSayFarewell
+_08027660: .4byte gUnknown_203B2BC
+_08027664: .4byte gFriendActionGive
+_08027668: .4byte gFriendActionTake
+_0802766C: .4byte gFriendActionSummary
+_08027670: .4byte gFriendActionMoves
+_08027674: .4byte gFriendActionCheckIQ
+_08027678:
+ adds r3, 0x1
+ cmp r3, r7
+ bge _080276A0
+ mov r4, r12
+ ldr r2, [r4]
+ lsls r0, r3, 1
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08027678
+ lsls r0, r3, 3
+ movs r3, 0x90
+ lsls r3, 1
+ adds r1, r2, r3
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x70]
+_080276A0:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end CreateFriendActionMenu
+
+ thumb_func_start sub_80276A8
+sub_80276A8:
+ push {r4-r7,lr}
+ ldr r5, _0802775C
+ ldr r0, [r5]
+ movs r7, 0xB6
+ lsls r7, 1
+ adds r0, r7
+ movs r1, 0
+ movs r2, 0x14
+ bl MemoryFill16
+ ldr r2, [r5]
+ movs r0, 0x8E
+ lsls r0, 1
+ adds r1, r2, r0
+ ldr r0, _08027760
+ str r0, [r1]
+ movs r3, 0x90
+ lsls r3, 1
+ adds r1, r2, r3
+ movs r0, 0xA
+ str r0, [r1]
+ bl sub_8090A34
+ cmp r0, 0
+ bne _080276E4
+ ldr r0, [r5]
+ adds r4, r7, 0
+ adds r0, r4
+ movs r1, 0x1
+ strh r1, [r0]
+_080276E4:
+ ldr r4, [r5]
+ movs r2, 0x1
+ movs r0, 0x92
+ lsls r0, 1
+ adds r1, r4, r0
+ ldr r0, _08027764
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r3, 0x94
+ lsls r3, 1
+ adds r1, r4, r3
+ movs r0, 0x4
+ str r0, [r1]
+ movs r6, 0x2
+ movs r0, 0x96
+ lsls r0, 1
+ adds r1, r4, r0
+ movs r0, 0
+ str r0, [r1]
+ movs r1, 0x98
+ lsls r1, 1
+ adds r0, r4, r1
+ str r2, [r0]
+ movs r3, 0
+ mov r12, r4
+ movs r4, 0x90
+ lsls r4, 1
+ add r4, r12
+ mov r0, r12
+ adds r2, r0, r7
+_08027720:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08027730
+ ldr r1, [r4]
+ mov r7, r12
+ ldr r0, [r7, 0x74]
+ cmp r1, r0
+ beq _0802778E
+_08027730:
+ adds r4, 0x8
+ adds r2, 0x2
+ adds r3, 0x1
+ cmp r3, r6
+ blt _08027720
+ movs r3, 0
+ cmp r3, r6
+ bge _0802778E
+ ldr r1, [r5]
+ movs r2, 0xB6
+ lsls r2, 1
+ adds r0, r1, r2
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08027768
+ movs r3, 0x90
+ lsls r3, 1
+ adds r0, r1, r3
+ ldr r0, [r0]
+ str r0, [r1, 0x74]
+ b _0802778E
+ .align 2, 0
+_0802775C: .4byte gUnknown_203B2BC
+_08027760: .4byte gFriendActionGive
+_08027764: .4byte gUnknown_80D4970
+_08027768:
+ adds r3, 0x1
+ cmp r3, r6
+ bge _0802778E
+ ldr r2, [r5]
+ lsls r0, r3, 1
+ movs r4, 0xB6
+ lsls r4, 1
+ adds r1, r2, r4
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08027768
+ lsls r0, r3, 3
+ movs r7, 0x90
+ lsls r7, 1
+ adds r1, r2, r7
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x74]
+_0802778E:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80276A8
+
+ thumb_func_start sub_8027794
+sub_8027794:
+ push {r4,lr}
+ ldr r4, _080277F0
+ ldr r0, [r4]
+ movs r1, 0xB6
+ lsls r1, 1
+ adds r0, r1
+ movs r1, 0
+ movs r2, 0x14
+ bl MemoryFill16
+ ldr r4, [r4]
+ movs r3, 0
+ movs r0, 0x8E
+ lsls r0, 1
+ adds r1, r4, r0
+ ldr r0, _080277F4
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r0, 0x90
+ lsls r0, 1
+ adds r1, r4, r0
+ movs r0, 0x2
+ str r0, [r1]
+ movs r2, 0x1
+ movs r0, 0x92
+ lsls r0, 1
+ adds r1, r4, r0
+ ldr r0, _080277F8
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r0, 0x94
+ lsls r0, 1
+ adds r1, r4, r0
+ movs r0, 0x3
+ str r0, [r1]
+ movs r1, 0x96
+ lsls r1, 1
+ adds r0, r4, r1
+ str r3, [r0]
+ adds r1, 0x4
+ adds r0, r4, r1
+ str r2, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080277F0: .4byte gUnknown_203B2BC
+_080277F4: .4byte gUnknown_80D4920
+_080277F8: .4byte gUnknown_80D4928
+ thumb_func_end sub_8027794
+
+ thumb_func_start sub_80277FC
+sub_80277FC:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_8023A94
+ cmp r0, 0x4
+ bhi _080278AE
+ lsls r0, 2
+ ldr r1, _08027814
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08027814: .4byte _08027818
+ .align 2, 0
+_08027818:
+ .4byte _080278AE
+ .4byte _080278AE
+ .4byte _080278A4
+ .4byte _0802782C
+ .4byte _08027868
+_0802782C:
+ bl sub_8023B44
+ ldr r4, _08027860
+ ldr r1, [r4]
+ strh r0, [r1, 0x8]
+ ldr r3, _08027864
+ movs r0, 0x8
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x18]
+ ldrb r0, [r0, 0x2]
+ strb r0, [r1, 0x1C]
+ ldr r1, [r4]
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D7DC
+ movs r0, 0x3
+ bl sub_8027184
+ b _080278AE
+ .align 2, 0
+_08027860: .4byte gUnknown_203B2BC
+_08027864: .4byte gRecruitedPokemonRef
+_08027868:
+ bl sub_8023B44
+ ldr r4, _0802789C
+ ldr r1, [r4]
+ strh r0, [r1, 0x8]
+ ldr r3, _080278A0
+ movs r0, 0x8
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x18]
+ ldrb r0, [r0, 0x2]
+ strb r0, [r1, 0x1C]
+ ldr r1, [r4]
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D7DC
+ movs r0, 0x4
+ bl sub_8027184
+ b _080278AE
+ .align 2, 0
+_0802789C: .4byte gUnknown_203B2BC
+_080278A0: .4byte gRecruitedPokemonRef
+_080278A4:
+ bl sub_8023C60
+ movs r0, 0x11
+ bl sub_8027184
+_080278AE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80277FC
+
+ thumb_func_start sub_80278B4
+sub_80278B4:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_8023A94
+ ldr r4, _080278F8
+ ldr r0, [r4]
+ adds r0, 0x7C
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _080278E4
+ ldr r0, [r4]
+ adds r0, 0x7C
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _080278E4
+ ldr r0, [r4]
+ str r1, [r0, 0x70]
+_080278E4:
+ ldr r0, [sp]
+ subs r0, 0x1
+ cmp r0, 0xB
+ bls _080278EE
+ b _08027A36
+_080278EE:
+ lsls r0, 2
+ ldr r1, _080278FC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080278F8: .4byte gUnknown_203B2BC
+_080278FC: .4byte _08027900
+ .align 2, 0
+_08027900:
+ .4byte _08027A30
+ .4byte _08027A36
+ .4byte _08027A36
+ .4byte _08027A20
+ .4byte _08027A28
+ .4byte _08027930
+ .4byte _0802796C
+ .4byte _0802798C
+ .4byte _080279C0
+ .4byte _080279D0
+ .4byte _080279D8
+ .4byte _080279C8
+_08027930:
+ ldr r4, _08027964
+ ldr r0, [r4]
+ movs r1, 0x8
+ ldrsh r0, [r0, r1]
+ bl sub_808D750
+ lsls r0, 24
+ cmp r0, 0
+ beq _0802795E
+ ldr r0, [r4]
+ movs r2, 0x8
+ ldrsh r1, [r0, r2]
+ movs r0, 0x58
+ muls r1, r0
+ ldr r0, _08027968
+ ldr r0, [r0]
+ adds r1, r0
+ ldrh r2, [r1]
+ movs r0, 0x2
+ orrs r0, r2
+ strh r0, [r1]
+ bl nullsub_104
+_0802795E:
+ bl sub_808ED00
+ b _08027A0E
+ .align 2, 0
+_08027964: .4byte gUnknown_203B2BC
+_08027968: .4byte gRecruitedPokemonRef
+_0802796C:
+ ldr r0, _08027984
+ ldr r0, [r0]
+ ldr r2, [r0, 0x18]
+ ldrh r1, [r2]
+ ldr r0, _08027988
+ ands r0, r1
+ strh r0, [r2]
+ bl nullsub_104
+ bl sub_808ED00
+ b _08027A0E
+ .align 2, 0
+_08027984: .4byte gUnknown_203B2BC
+_08027988: .4byte 0x0000fffd
+_0802798C:
+ ldr r2, _080279B8
+ ldr r0, _080279BC
+ ldr r0, [r0]
+ movs r3, 0x8
+ ldrsh r1, [r0, r3]
+ movs r0, 0x58
+ muls r1, r0
+ ldr r0, [r2]
+ adds r4, r0, r1
+ bl sub_808D33C
+ ldrb r1, [r4, 0x2]
+ cmp r1, 0
+ bne _080279B2
+ strb r1, [r0, 0x2]
+ movs r0, 0x1
+ strb r0, [r4, 0x2]
+ bl nullsub_104
+_080279B2:
+ bl sub_808ED00
+ b _08027A0E
+ .align 2, 0
+_080279B8: .4byte gRecruitedPokemonRef
+_080279BC: .4byte gUnknown_203B2BC
+_080279C0:
+ movs r0, 0x8
+ bl sub_8027184
+ b _08027A36
+_080279C8:
+ movs r0, 0xE
+ bl sub_8027184
+ b _08027A36
+_080279D0:
+ movs r0, 0xA
+ bl sub_8027184
+ b _08027A36
+_080279D8:
+ ldr r0, _08027A18
+ bl PlaySound
+ ldr r4, _08027A1C
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x14]
+ cmp r0, 0
+ beq _080279F0
+ adds r0, r1, 0
+ adds r0, 0x14
+ bl sub_8091274
+_080279F0:
+ bl sub_80910B4
+ ldr r0, [r4]
+ movs r1, 0
+ strb r1, [r0, 0x14]
+ ldr r0, [r4]
+ strb r1, [r0, 0x15]
+ ldr r1, [r4]
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ adds r1, 0x14
+ bl sub_808D800
+ bl nullsub_104
+_08027A0E:
+ movs r0, 0x2
+ bl sub_8027184
+ b _08027A36
+ .align 2, 0
+_08027A18: .4byte 0x0000014d
+_08027A1C: .4byte gUnknown_203B2BC
+_08027A20:
+ movs r0, 0x4
+ bl sub_8027184
+ b _08027A36
+_08027A28:
+ movs r0, 0x5
+ bl sub_8027184
+ b _08027A36
+_08027A30:
+ movs r0, 0x2
+ bl sub_8027184
+_08027A36:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80278B4
+
+ thumb_func_start sub_8027A40
+sub_8027A40:
+ push {lr}
+ bl sub_80244E4
+ cmp r0, 0x1
+ bls _08027A58
+ cmp r0, 0x3
+ bhi _08027A58
+ bl sub_802453C
+ movs r0, 0x2
+ bl sub_8027184
+_08027A58:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027A40
+
+ thumb_func_start sub_8027A5C
+sub_8027A5C:
+ push {lr}
+ bl sub_801BF48
+ cmp r0, 0x1
+ bls _08027A74
+ cmp r0, 0x3
+ bhi _08027A74
+ bl sub_801BF98
+ movs r0, 0x2
+ bl sub_8027184
+_08027A74:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027A5C
+
+ thumb_func_start sub_8027A78
+sub_8027A78:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08027AD8
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08027AA2
+ cmp r0, 0x2
+ bgt _08027A96
+ cmp r0, 0x1
+ beq _08027A9A
+ b _08027AD8
+_08027A96:
+ cmp r0, 0x3
+ bne _08027AD8
+_08027A9A:
+ movs r0, 0x2
+ bl sub_8027184
+ b _08027AD8
+_08027AA2:
+ ldr r0, _08027AB8
+ ldr r0, [r0]
+ ldr r0, [r0, 0x18]
+ ldrb r0, [r0, 0x4]
+ subs r0, 0x44
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _08027ABC
+ movs r0, 0x1
+ b _08027ABE
+ .align 2, 0
+_08027AB8: .4byte gUnknown_203B2BC
+_08027ABC:
+ movs r0, 0
+_08027ABE:
+ cmp r0, 0
+ beq _08027ACA
+ movs r0, 0x9
+ bl sub_8027184
+ b _08027AD8
+_08027ACA:
+ bl sub_8027EB8
+ ldr r0, _08027AE0
+ ldr r0, [r0]
+ ldr r0, [r0, 0x18]
+ bl sub_808D31C
+_08027AD8:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08027AE0: .4byte gUnknown_203B2BC
+ thumb_func_end sub_8027A78
+
+ thumb_func_start sub_8027AE4
+sub_8027AE4:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08027B1C
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08027B0E
+ cmp r0, 0x2
+ bgt _08027B02
+ cmp r0, 0x1
+ beq _08027B06
+ b _08027B1C
+_08027B02:
+ cmp r0, 0x3
+ bne _08027B1C
+_08027B06:
+ movs r0, 0x2
+ bl sub_8027184
+ b _08027B1C
+_08027B0E:
+ bl sub_8027EB8
+ ldr r0, _08027B24
+ ldr r0, [r0]
+ ldr r0, [r0, 0x18]
+ bl sub_808D31C
+_08027B1C:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08027B24: .4byte gUnknown_203B2BC
+ thumb_func_end sub_8027AE4
+
+ thumb_func_start sub_8027B28
+sub_8027B28:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x4
+ bhi _08027BD2
+ lsls r0, 2
+ ldr r1, _08027B40
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08027B40: .4byte _08027B44
+ .align 2, 0
+_08027B44:
+ .4byte _08027BD2
+ .4byte _08027BD2
+ .4byte _08027BC8
+ .4byte _08027B58
+ .4byte _08027B8C
+_08027B58:
+ bl sub_801A8AC
+ ldr r4, _08027B84
+ ldr r2, [r4]
+ str r0, [r2, 0xC]
+ ldr r3, _08027B88
+ ldr r1, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x2]
+ strb r0, [r2, 0x10]
+ ldr r2, [r4]
+ ldr r1, [r3]
+ ldr r0, [r2, 0xC]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x1]
+ strb r0, [r2, 0x11]
+ movs r0, 0xC
+ bl sub_8027184
+ b _08027BD2
+ .align 2, 0
+_08027B84: .4byte gUnknown_203B2BC
+_08027B88: .4byte gUnknown_203B460
+_08027B8C:
+ bl sub_801A8AC
+ ldr r4, _08027BC0
+ ldr r2, [r4]
+ str r0, [r2, 0xC]
+ ldr r3, _08027BC4
+ ldr r1, [r3]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x2]
+ strb r0, [r2, 0x10]
+ ldr r2, [r4]
+ ldr r1, [r3]
+ ldr r0, [r2, 0xC]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r1, 0x1]
+ strb r0, [r2, 0x11]
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xD
+ bl sub_8027184
+ b _08027BD2
+ .align 2, 0
+_08027BC0: .4byte gUnknown_203B2BC
+_08027BC4: .4byte gUnknown_203B460
+_08027BC8:
+ bl sub_801A928
+ movs r0, 0x2
+ bl sub_8027184
+_08027BD2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027B28
+
+ thumb_func_start sub_8027BD8
+sub_8027BD8:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _08027C18
+ ldr r0, [r4]
+ adds r0, 0x7C
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08027C08
+ ldr r0, [r4]
+ adds r0, 0x7C
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08027C08
+ ldr r0, [r4]
+ str r1, [r0, 0x74]
+_08027C08:
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _08027C68
+ cmp r0, 0x4
+ bgt _08027C1C
+ cmp r0, 0x1
+ beq _08027C76
+ b _08027C7C
+ .align 2, 0
+_08027C18: .4byte gUnknown_203B2BC
+_08027C1C:
+ cmp r0, 0xA
+ bne _08027C7C
+ ldr r0, _08027C60
+ bl PlaySound
+ ldr r4, _08027C64
+ ldr r0, [r4]
+ ldr r0, [r0, 0xC]
+ bl sub_80911F8
+ bl sub_80910B4
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x14]
+ cmp r0, 0
+ beq _08027C44
+ adds r0, r1, 0
+ adds r0, 0x14
+ bl sub_8091274
+_08027C44:
+ ldr r1, [r4]
+ movs r2, 0x8
+ ldrsh r0, [r1, r2]
+ adds r1, 0x10
+ bl sub_808D800
+ bl sub_801A928
+ bl nullsub_104
+ movs r0, 0x2
+ bl sub_8027184
+ b _08027C7C
+ .align 2, 0
+_08027C60: .4byte 0x0000014d
+_08027C64: .4byte gUnknown_203B2BC
+_08027C68:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xD
+ bl sub_8027184
+ b _08027C7C
+_08027C76:
+ movs r0, 0xB
+ bl sub_8027184
+_08027C7C:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8027BD8
+
+ .align 2,0
diff --git a/asm/kangaskhan_storage_1.s b/asm/kangaskhan_storage_1.s
index 733a90d..41378b7 100644
--- a/asm/kangaskhan_storage_1.s
+++ b/asm/kangaskhan_storage_1.s
@@ -1061,1615 +1061,4 @@ _08017E10:
_08017E18: .4byte gUnknown_203B208
thumb_func_end sub_8017DF8
- thumb_func_start sub_8017E1C
-sub_8017E1C:
- push {r4,lr}
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _08017E50
- movs r0, 0xA8
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0, 0x14]
- str r1, [r0, 0x18]
- str r1, [r0, 0x1C]
- movs r0, 0
- bl sub_8017F10
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08017E50: .4byte gUnknown_203B20C
- thumb_func_end sub_8017E1C
-
- thumb_func_start sub_8017E54
-sub_8017E54:
- push {lr}
- ldr r0, _08017E6C
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0xE
- bhi _08017EEC
- lsls r0, 2
- ldr r1, _08017E70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08017E6C: .4byte gUnknown_203B20C
-_08017E70: .4byte _08017E74
- .align 2, 0
-_08017E74:
- .4byte _08017EB0
- .4byte _08017EB8
- .4byte _08017EEC
- .4byte _08017EE8
- .4byte _08017EBE
- .4byte _08017EBE
- .4byte _08017EC4
- .4byte _08017ECA
- .4byte _08017EEC
- .4byte _08017EEC
- .4byte _08017ED0
- .4byte _08017ED0
- .4byte _08017ED6
- .4byte _08017EDC
- .4byte _08017EE2
-_08017EB0:
- movs r0, 0x1
- bl sub_8017F10
- b _08017EEC
-_08017EB8:
- bl sub_8018588
- b _08017EEC
-_08017EBE:
- bl sub_8018620
- b _08017EEC
-_08017EC4:
- bl sub_8018904
- b _08017EEC
-_08017ECA:
- bl sub_8018AC8
- b _08017EEC
-_08017ED0:
- bl sub_80186F8
- b _08017EEC
-_08017ED6:
- bl sub_8018854
- b _08017EEC
-_08017EDC:
- bl sub_80189C8
- b _08017EEC
-_08017EE2:
- bl sub_8018AE4
- b _08017EEC
-_08017EE8:
- movs r0, 0x3
- b _08017EEE
-_08017EEC:
- movs r0, 0
-_08017EEE:
- pop {r1}
- bx r1
- thumb_func_end sub_8017E54
-
- thumb_func_start sub_8017EF4
-sub_8017EF4:
- push {r4,lr}
- ldr r4, _08017F0C
- ldr r0, [r4]
- cmp r0, 0
- beq _08017F06
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08017F06:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08017F0C: .4byte gUnknown_203B20C
- thumb_func_end sub_8017EF4
-
- thumb_func_start sub_8017F10
-sub_8017F10:
- push {lr}
- ldr r1, _08017F24
- ldr r1, [r1]
- str r0, [r1]
- bl sub_8017F28
- bl sub_8018100
- pop {r0}
- bx r0
- .align 2, 0
-_08017F24: .4byte gUnknown_203B20C
- thumb_func_end sub_8017F10
-
- thumb_func_start sub_8017F28
-sub_8017F28:
- push {r4-r7,lr}
- ldr r4, _08017F48
- ldr r0, [r4]
- adds r0, 0xF0
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0xD
- bls _08017F3E
- b _080180BC
-_08017F3E:
- lsls r0, 2
- ldr r1, _08017F4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08017F48: .4byte gUnknown_203B20C
-_08017F4C: .4byte _08017F50
- .align 2, 0
-_08017F50:
- .4byte _080180BC
- .4byte _08017F88
- .4byte _080180BC
- .4byte _080180BC
- .4byte _08017FE8
- .4byte _08017FE8
- .4byte _0801809C
- .4byte _080180BC
- .4byte _080180BC
- .4byte _080180BC
- .4byte _08018034
- .4byte _08018034
- .4byte _08018084
- .4byte _0801809C
-_08017F88:
- ldr r4, _08017FDC
- ldr r1, [r4]
- ldr r2, _08017FE0
- adds r1, 0xF0
- adds r0, r2, 0
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- ldr r1, [r4]
- movs r6, 0x84
- lsls r6, 1
- adds r1, r6
- adds r0, r2, 0
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldr r0, [r4]
- adds r0, 0xF0
- ldm r2!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r2!, {r1,r3,r5}
- stm r0!, {r1,r3,r5}
- bl sub_80182E4
- ldr r2, [r4]
- movs r0, 0x90
- lsls r0, 1
- adds r2, r0
- ldr r1, _08017FE4
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0x20
- bl sub_8012CAC
- b _080180E0
- .align 2, 0
-_08017FDC: .4byte gUnknown_203B20C
-_08017FE0: .4byte gUnknown_80DB7B8
-_08017FE4: .4byte gUnknown_80DB7D0
-_08017FE8:
- ldr r3, _0801802C
- ldr r1, [r3]
- ldr r2, _08018030
- adds r1, 0xF0
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldr r1, [r3]
- movs r6, 0x84
- lsls r6, 1
- adds r1, r6
- adds r0, r2, 0
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldr r1, [r3]
- movs r5, 0x90
- lsls r5, 1
- adds r1, r5
- adds r0, r2, 0
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldr r0, [r3]
- adds r0, 0xF0
- ldm r2!, {r1,r3,r4}
- stm r0!, {r1,r3,r4}
- ldm r2!, {r5-r7}
- stm r0!, {r5-r7}
- b _080180E0
- .align 2, 0
-_0801802C: .4byte gUnknown_203B20C
-_08018030: .4byte gUnknown_80DB7B8
-_08018034:
- ldr r3, _08018078
- ldr r1, [r3]
- ldr r2, _0801807C
- adds r1, 0xF0
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldr r1, [r3]
- movs r6, 0x84
- lsls r6, 1
- adds r1, r6
- adds r0, r2, 0
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldr r0, [r3]
- movs r5, 0x90
- lsls r5, 1
- adds r0, r5
- ldm r2!, {r1,r6,r7}
- stm r0!, {r1,r6,r7}
- ldm r2!, {r4-r6}
- stm r0!, {r4-r6}
- ldr r1, [r3]
- adds r1, 0xF0
- ldr r0, _08018080
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- b _080180E0
- .align 2, 0
-_08018078: .4byte gUnknown_203B20C
-_0801807C: .4byte gUnknown_80DB7B8
-_08018080: .4byte gUnknown_80DB800
-_08018084:
- ldr r0, _08018094
- ldr r1, [r0]
- movs r7, 0x84
- lsls r7, 1
- adds r1, r7
- ldr r0, _08018098
- b _080180A8
- .align 2, 0
-_08018094: .4byte gUnknown_203B20C
-_08018098: .4byte gUnknown_80DB818
-_0801809C:
- ldr r0, _080180B4
- ldr r1, [r0]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r0
- ldr r0, _080180B8
-_080180A8:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _080180E0
- .align 2, 0
-_080180B4: .4byte gUnknown_203B20C
-_080180B8: .4byte gUnknown_80DB7E8
-_080180BC:
- ldr r0, _080180F8
- mov r12, r0
- ldr r4, _080180FC
- movs r3, 0
- movs r2, 0x3
-_080180C6:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0xF0
- 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 _080180C6
-_080180E0:
- bl ResetUnusedInputStruct
- ldr r0, _080180F8
- ldr r0, [r0]
- adds r0, 0xF0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080180F8: .4byte gUnknown_203B20C
-_080180FC: .4byte gUnknown_80DB7B8
- thumb_func_end sub_8017F28
-
- thumb_func_start sub_8018100
-sub_8018100:
- push {r4,lr}
- sub sp, 0x8
- ldr r1, _0801811C
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0xE
- bls _08018112
- b _08018278
-_08018112:
- lsls r0, 2
- ldr r1, _08018120
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801811C: .4byte gUnknown_203B20C
-_08018120: .4byte _08018124
- .align 2, 0
-_08018124:
- .4byte _08018278
- .4byte _08018160
- .4byte _08018278
- .4byte _08018278
- .4byte _08018172
- .4byte _08018180
- .4byte _08018188
- .4byte _080181A8
- .4byte _08018278
- .4byte _08018278
- .4byte _080181B2
- .4byte _080181C0
- .4byte _080181CE
- .4byte _0801823C
- .4byte _08018270
-_08018160:
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x70
- adds r1, r2, 0
- adds r1, 0x20
- adds r3, r2, 0
- adds r3, 0x60
- ldr r2, [r2, 0x14]
- b _0801825C
-_08018172:
- movs r0, 0x3
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08018278
-_08018180:
- movs r0, 0x1
- bl sub_801A8D0
- b _08018278
-_08018188:
- bl sub_801A9E0
- bl sub_801841C
- ldr r0, _080181A4
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x70
- adds r1, r2, 0
- adds r1, 0x20
- adds r3, r2, 0
- adds r3, 0x60
- ldr r2, [r2, 0x18]
- b _0801825C
- .align 2, 0
-_080181A4: .4byte gUnknown_203B20C
-_080181A8:
- ldr r0, [r4]
- adds r0, 0x8
- bl sub_801B3C0
- b _08018278
-_080181B2:
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801C8C4
- b _080181C6
-_080181C0:
- movs r0, 0x1
- bl sub_801CB5C
-_080181C6:
- movs r0, 0
- bl sub_801AD34
- b _08018278
-_080181CE:
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xD0
- movs r0, 0x2
- str r0, [r1]
- subs r1, 0x8
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _080181F8
- ldr r1, [r0]
- ldrb r0, [r2, 0xA]
- lsls r0, 1
- adds r1, 0x50
- adds r3, r1, r0
- ldrh r0, [r3]
- cmp r0, 0x63
- bls _080181FC
- adds r1, r2, 0
- adds r1, 0xCC
- movs r0, 0x63
- b _08018202
- .align 2, 0
-_080181F8: .4byte gUnknown_203B460
-_080181FC:
- adds r1, r2, 0
- adds r1, 0xCC
- ldrh r0, [r3]
-_08018202:
- str r0, [r1]
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xC4
- adds r0, r2, 0
- adds r0, 0xCC
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x10
- movs r0, 0x1
- str r0, [r1]
- adds r1, 0x4
- movs r3, 0x84
- lsls r3, 1
- adds r0, r2, r3
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x28
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x12
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0xC0
- bl sub_8013AA0
- bl sub_8018280
- b _08018278
-_0801823C:
- bl sub_801CCD8
- movs r0, 0
- bl sub_801AD34
- bl sub_80184D4
- ldr r0, _0801826C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x70
- adds r1, r2, 0
- adds r1, 0x20
- adds r3, r2, 0
- adds r3, 0x60
- ldr r2, [r2, 0x1C]
-_0801825C:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08018278
- .align 2, 0
-_0801826C: .4byte gUnknown_203B20C
-_08018270:
- ldr r0, [r4]
- adds r0, 0x8
- bl sub_801B3C0
-_08018278:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8018100
-
- thumb_func_start sub_8018280
-sub_8018280:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080182DC
- ldr r0, [r4]
- adds r0, 0xD4
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, 0xD4
- ldr r0, [r0]
- bl sub_80073B8
- ldr r2, _080182E0
- ldr r0, [r4]
- adds r0, 0xD4
- 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, 0xC0
- bl sub_8013C68
- ldr r0, [r4]
- adds r0, 0xD4
- ldr r0, [r0]
- bl sub_80073E0
- bl sub_801CCD8
- movs r0, 0
- bl sub_801AD34
- ldr r0, [r4]
- adds r0, 0x70
- movs r1, 0
- bl sub_8012EA4
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080182DC: .4byte gUnknown_203B20C
-_080182E0: .4byte gUnknown_80DB830
- thumb_func_end sub_8018280
-
- thumb_func_start sub_80182E4
-sub_80182E4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0
- mov r8, r0
- ldr r4, _080183DC
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- ldr r0, _080183E0
- ldr r0, [r0]
- str r0, [r1, 0x20]
- movs r0, 0x2
- str r0, [r1, 0x24]
- bl sub_8090A34
- cmp r0, 0
- beq _0801831C
- movs r0, 0
- bl sub_801CF50
- lsls r0, 24
- cmp r0, 0
- beq _08018324
-_0801831C:
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- strh r1, [r0]
-_08018324:
- movs r1, 0x1
- add r8, r1
- ldr r4, _080183DC
- ldr r2, [r4]
- mov r0, r8
- lsls r3, r0, 3
- adds r0, r2, 0
- adds r0, 0x20
- adds r0, r3
- ldr r1, _080183E4
- ldr r1, [r1]
- str r1, [r0]
- adds r2, 0x24
- adds r2, r3
- movs r0, 0x3
- str r0, [r2]
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- bne _08018358
- bl sub_8090A34
- cmp r0, 0x13
- ble _08018366
-_08018358:
- ldr r0, [r4]
- mov r2, r8
- lsls r1, r2, 1
- adds r0, 0x60
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_08018366:
- movs r0, 0x1
- add r8, r0
- ldr r4, _080183DC
- ldr r7, [r4]
- mov r2, r8
- lsls r1, r2, 3
- adds r2, r7, 0
- adds r2, 0x20
- adds r3, r2, r1
- ldr r0, _080183E8
- ldr r0, [r0]
- str r0, [r3]
- adds r6, r7, 0
- adds r6, 0x24
- adds r1, r6, r1
- movs r3, 0x1
- str r3, [r1]
- add r8, r3
- mov r1, r8
- lsls r0, r1, 3
- adds r2, r0
- movs r1, 0
- str r1, [r2]
- adds r0, r6, r0
- str r3, [r0]
- movs r5, 0
- mov r12, r4
- cmp r5, r8
- bge _080183C0
- adds r4, r7, 0
- adds r2, r4, 0
- adds r2, 0x60
- adds r3, r6, 0
-_080183A8:
- ldrh r0, [r2]
- cmp r0, 0
- bne _080183B6
- ldr r1, [r3]
- ldr r0, [r4, 0x14]
- cmp r1, r0
- beq _08018410
-_080183B6:
- adds r2, 0x2
- adds r3, 0x8
- adds r5, 0x1
- cmp r5, r8
- blt _080183A8
-_080183C0:
- movs r5, 0
- cmp r5, r8
- bge _08018410
- mov r2, r12
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x60
- ldrh r0, [r0]
- cmp r0, 0
- bne _080183EC
- ldr r0, [r1, 0x24]
- str r0, [r1, 0x14]
- b _08018410
- .align 2, 0
-_080183DC: .4byte gUnknown_203B20C
-_080183E0: .4byte gUnknown_80D4958
-_080183E4: .4byte gUnknown_80D4964
-_080183E8: .4byte gUnknown_80D4934
-_080183EC:
- adds r5, 0x1
- cmp r5, r8
- bge _08018410
- mov r0, r12
- ldr r2, [r0]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x60
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080183EC
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x24
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x14]
-_08018410:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80182E4
-
- thumb_func_start sub_801841C
-sub_801841C:
- push {r4-r7,lr}
- ldr r4, _080184A0
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- ldr r0, _080184A4
- ldr r0, [r0]
- str r0, [r1, 0x20]
- movs r0, 0x2
- str r0, [r1, 0x24]
- ldr r0, [r1, 0xC]
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- bne _0801844C
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- strh r1, [r0]
-_0801844C:
- ldr r2, [r4]
- movs r1, 0x1
- ldr r0, _080184A8
- ldr r0, [r0]
- str r0, [r2, 0x28]
- movs r0, 0x4
- str r0, [r2, 0x2C]
- movs r5, 0x2
- movs r0, 0
- str r0, [r2, 0x30]
- str r1, [r2, 0x34]
- movs r3, 0
- adds r6, r4, 0
- mov r12, r2
- mov r4, r12
- adds r4, 0x60
- adds r2, 0x24
-_0801846E:
- ldrh r0, [r4]
- cmp r0, 0
- bne _0801847E
- ldr r1, [r2]
- mov r7, r12
- ldr r0, [r7, 0x18]
- cmp r1, r0
- beq _080184CE
-_0801847E:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r5
- blt _0801846E
- movs r3, 0
- cmp r3, r5
- bge _080184CE
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x60
- ldrh r0, [r0]
- cmp r0, 0
- bne _080184AC
- ldr r0, [r1, 0x24]
- str r0, [r1, 0x18]
- b _080184CE
- .align 2, 0
-_080184A0: .4byte gUnknown_203B20C
-_080184A4: .4byte gUnknown_80D4958
-_080184A8: .4byte gUnknown_80D4970
-_080184AC:
- adds r3, 0x1
- cmp r3, r5
- bge _080184CE
- ldr r2, [r6]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0x60
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080184AC
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x24
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x18]
-_080184CE:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801841C
-
- thumb_func_start sub_80184D4
-sub_80184D4:
- push {r4-r7,lr}
- ldr r4, _08018554
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- ldr r0, _08018558
- ldr r0, [r0]
- str r0, [r1, 0x20]
- movs r0, 0x3
- str r0, [r1, 0x24]
- bl sub_8090A34
- cmp r0, 0x13
- ble _08018500
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- strh r1, [r0]
-_08018500:
- ldr r2, [r4]
- movs r1, 0x1
- ldr r0, _0801855C
- ldr r0, [r0]
- str r0, [r2, 0x28]
- movs r0, 0x4
- str r0, [r2, 0x2C]
- movs r5, 0x2
- movs r0, 0
- str r0, [r2, 0x30]
- str r1, [r2, 0x34]
- movs r3, 0
- adds r6, r4, 0
- mov r12, r2
- mov r4, r12
- adds r4, 0x60
- adds r2, 0x24
-_08018522:
- ldrh r0, [r4]
- cmp r0, 0
- bne _08018532
- ldr r1, [r2]
- mov r7, r12
- ldr r0, [r7, 0x1C]
- cmp r1, r0
- beq _08018582
-_08018532:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r5
- blt _08018522
- movs r3, 0
- cmp r3, r5
- bge _08018582
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x60
- ldrh r0, [r0]
- cmp r0, 0
- bne _08018560
- ldr r0, [r1, 0x24]
- str r0, [r1, 0x1C]
- b _08018582
- .align 2, 0
-_08018554: .4byte gUnknown_203B20C
-_08018558: .4byte gUnknown_80D4964
-_0801855C: .4byte gUnknown_80D4970
-_08018560:
- adds r3, 0x1
- cmp r3, r5
- bge _08018582
- ldr r2, [r6]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0x60
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08018560
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x24
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
-_08018582:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80184D4
-
- thumb_func_start sub_8018588
-sub_8018588:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, _080185C4
- ldr r0, [r4]
- adds r0, 0x70
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080185B4
- ldr r0, [r4]
- adds r0, 0x70
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080185B4
- ldr r0, [r4]
- str r1, [r0, 0x14]
-_080185B4:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080185CE
- cmp r0, 0x2
- bgt _080185C8
- cmp r0, 0x1
- beq _08018610
- b _08018616
- .align 2, 0
-_080185C4: .4byte gUnknown_203B20C
-_080185C8:
- cmp r0, 0x3
- beq _080185EA
- b _08018616
-_080185CE:
- bl sub_8090A34
- cmp r0, 0
- beq _080185F6
- movs r0, 0
- bl sub_801CF50
- lsls r0, 24
- cmp r0, 0
- bne _080185F6
- movs r0, 0x4
- bl sub_8017F10
- b _08018616
-_080185EA:
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- beq _08018608
-_080185F6:
- ldr r0, _08018604
- ldr r0, [r0]
- adds r0, 0x70
- movs r1, 0x1
- bl sub_8012EA4
- b _08018616
- .align 2, 0
-_08018604: .4byte gUnknown_203B20C
-_08018608:
- movs r0, 0xA
- bl sub_8017F10
- b _08018616
-_08018610:
- movs r0, 0x3
- bl sub_8017F10
-_08018616:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8018588
-
- thumb_func_start sub_8018620
-sub_8018620:
- push {r4-r7,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _0801863C
- cmp r0, 0x3
- bhi _08018636
- cmp r0, 0x2
- beq _080186E8
- b _080186F2
-_08018636:
- cmp r0, 0x4
- beq _080186C0
- b _080186F2
-_0801863C:
- bl sub_801AEA8
- cmp r0, 0
- beq _08018698
- movs r5, 0
- ldr r6, _0801868C
- movs r7, 0
-_0801864A:
- adds r0, r5, 0
- bl sub_801AED0
- cmp r0, 0
- beq _0801866A
- lsls r4, r5, 2
- ldr r0, [r6]
- adds r0, r4
- bl sub_80917B8
- ldr r0, [r6]
- adds r0, r4
- strb r7, [r0, 0x2]
- ldr r0, [r6]
- adds r0, r4
- strb r7, [r0]
-_0801866A:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0801864A
- bl sub_80910B4
- bl sub_801AE84
- bl sub_8090A34
- cmp r0, 0
- bne _08018690
- bl sub_801A928
- movs r0, 0x1
- bl sub_8017F10
- b _080186F2
- .align 2, 0
-_0801868C: .4byte gUnknown_203B460
-_08018690:
- movs r0, 0x5
- bl sub_8017F10
- b _080186F2
-_08018698:
- bl sub_801A8AC
- ldr r1, _080186B8
- ldr r2, [r1]
- str r0, [r2, 0xC]
- ldr r1, _080186BC
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x8]
- movs r0, 0x6
- bl sub_8017F10
- b _080186F2
- .align 2, 0
-_080186B8: .4byte gUnknown_203B20C
-_080186BC: .4byte gUnknown_203B460
-_080186C0:
- bl sub_801A8AC
- ldr r1, _080186E0
- ldr r2, [r1]
- str r0, [r2, 0xC]
- ldr r1, _080186E4
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x8]
- movs r0, 0x7
- bl sub_8017F10
- b _080186F2
- .align 2, 0
-_080186E0: .4byte gUnknown_203B20C
-_080186E4: .4byte gUnknown_203B460
-_080186E8:
- bl sub_801A928
- movs r0, 0x1
- bl sub_8017F10
-_080186F2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8018620
-
- thumb_func_start sub_80186F8
-sub_80186F8:
- push {r4-r7,lr}
- sub sp, 0x4
- movs r0, 0x1
- bl sub_801CA08
- cmp r0, 0x2
- bne _08018708
- b _08018838
-_08018708:
- cmp r0, 0x2
- bhi _08018714
- cmp r0, 0x1
- bne _08018712
- b _08018844
-_08018712:
- b _0801884A
-_08018714:
- cmp r0, 0x3
- beq _0801871E
- cmp r0, 0x4
- beq _0801880C
- b _0801884A
-_0801871E:
- bl sub_801CFB8
- cmp r0, 0
- beq _080187E0
- movs r6, 0
- mov r5, sp
- ldr r7, _0801876C
-_0801872C:
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_801CFE0
- cmp r0, 0
- beq _080187B2
- ldr r1, _08018770
- ldr r0, [sp]
- ands r0, r1
- orrs r0, r4
- str r0, [sp]
- ldrb r0, [r5]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _08018786
- ldr r2, _08018774
- ldr r1, [r2]
- ldrb r0, [r5]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- cmp r1, 0x63
- bls _08018778
- ldr r0, [sp]
- ands r0, r7
- movs r1, 0xC6
- lsls r1, 7
- b _08018780
- .align 2, 0
-_0801876C: .4byte 0xffff00ff
-_08018770: .4byte 0xffffff00
-_08018774: .4byte gUnknown_203B460
-_08018778:
- lsls r1, 24
- lsrs r1, 16
- ldr r0, [sp]
- ands r0, r7
-_08018780:
- orrs r0, r1
- str r0, [sp]
- b _08018794
-_08018786:
- ldr r0, [sp]
- ands r0, r7
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- str r0, [sp]
- ldr r2, _080187DC
-_08018794:
- ldr r2, [r2]
- ldrb r0, [r5]
- lsls r0, 1
- adds r2, 0x50
- adds r2, r0
- ldr r0, [sp]
- lsrs r0, 8
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r2]
- subs r1, r0
- strh r1, [r2]
- mov r0, sp
- bl sub_8091274
-_080187B2:
- adds r6, 0x1
- cmp r6, 0xEF
- ble _0801872C
- bl sub_80910B4
- bl sub_801CF94
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- bne _08018838
- bl sub_8090A34
- cmp r0, 0x13
- bgt _08018838
- movs r0, 0xB
- bl sub_8017F10
- b _0801884A
- .align 2, 0
-_080187DC: .4byte gUnknown_203B460
-_080187E0:
- bl sub_801CB24
- ldr r4, _08018808
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8090A8C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x9]
- movs r0, 0xD
- bl sub_8017F10
- b _0801884A
- .align 2, 0
-_08018808: .4byte gUnknown_203B20C
-_0801880C:
- bl sub_801CB24
- ldr r4, _08018834
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8090A8C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x9]
- movs r0, 0xE
- bl sub_8017F10
- b _0801884A
- .align 2, 0
-_08018834: .4byte gUnknown_203B20C
-_08018838:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_8017F10
- b _0801884A
-_08018844:
- movs r0, 0
- bl sub_801AD34
-_0801884A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80186F8
-
- thumb_func_start sub_8018854
-sub_8018854:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- bl sub_801CA08
- ldr r4, _080188E0
- ldr r0, [r4]
- adds r0, 0x70
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0xC0
- bl sub_8013BBC
- cmp r0, 0x1
- beq _080188F8
- cmp r0, 0x1
- bcc _080188FC
- cmp r0, 0x2
- beq _080188F0
- cmp r0, 0x3
- bne _080188FC
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC0
- ldr r0, [r0]
- strb r0, [r1, 0x9]
- ldr r0, _080188E4
- ldr r1, [r0]
- ldr r3, [r4]
- ldrb r0, [r3, 0xA]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrb r2, [r3, 0x9]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- ldrb r2, [r3, 0xA]
- ldr r1, _080188E8
- ldr r0, [sp]
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- ldrb r1, [r3, 0x9]
- lsls r1, 8
- ldr r2, _080188EC
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- mov r0, sp
- bl sub_8091274
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- bne _080188D2
- bl sub_8090A34
- cmp r0, 0x13
- ble _080188F0
-_080188D2:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_8017F10
- b _080188FC
- .align 2, 0
-_080188E0: .4byte gUnknown_203B20C
-_080188E4: .4byte gUnknown_203B460
-_080188E8: .4byte 0xffffff00
-_080188EC: .4byte 0xffff00ff
-_080188F0:
- movs r0, 0xB
- bl sub_8017F10
- b _080188FC
-_080188F8:
- bl sub_8018280
-_080188FC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8018854
-
- thumb_func_start sub_8018904
-sub_8018904:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _08018944
- ldr r0, [r4]
- adds r0, 0x70
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08018934
- ldr r0, [r4]
- adds r0, 0x70
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08018934
- ldr r0, [r4]
- str r1, [r0, 0x18]
-_08018934:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801894E
- cmp r0, 0x2
- bgt _08018948
- cmp r0, 0x1
- beq _080189BA
- b _080189C0
- .align 2, 0
-_08018944: .4byte gUnknown_203B20C
-_08018948:
- cmp r0, 0x4
- beq _080189AC
- b _080189C0
-_0801894E:
- ldr r4, _08018978
- ldr r0, [r4]
- ldrb r0, [r0, 0xA]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _0801896C
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- bne _0801897C
-_0801896C:
- ldr r0, [r4]
- adds r0, 0x70
- movs r1, 0x1
- bl sub_8012EA4
- b _080189C0
- .align 2, 0
-_08018978: .4byte gUnknown_203B20C
-_0801897C:
- ldr r0, [r4]
- adds r0, 0x8
- bl sub_80917B8
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_80911F8
- bl sub_80910B4
- bl sub_8090A34
- cmp r0, 0
- bne _080189A4
- bl sub_801A928
- movs r0, 0x1
- bl sub_8017F10
- b _080189C0
-_080189A4:
- movs r0, 0x5
- bl sub_8017F10
- b _080189C0
-_080189AC:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x7
- bl sub_8017F10
- b _080189C0
-_080189BA:
- movs r0, 0x5
- bl sub_8017F10
-_080189C0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8018904
-
- thumb_func_start sub_80189C8
-sub_80189C8:
- push {r4,lr}
- sub sp, 0x8
- movs r0, 0
- str r0, [sp]
- bl sub_801CA08
- ldr r4, _08018A08
- ldr r0, [r4]
- adds r0, 0x70
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080189F8
- ldr r0, [r4]
- adds r0, 0x70
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080189F8
- ldr r0, [r4]
- str r1, [r0, 0x1C]
-_080189F8:
- ldr r0, [sp]
- cmp r0, 0x3
- beq _08018A12
- cmp r0, 0x3
- bgt _08018A0C
- cmp r0, 0x1
- beq _08018AB8
- b _08018ABE
- .align 2, 0
-_08018A08: .4byte gUnknown_203B20C
-_08018A0C:
- cmp r0, 0x4
- beq _08018AB0
- b _08018ABE
-_08018A12:
- bl sub_8090A34
- cmp r0, 0x13
- ble _08018A2C
- ldr r0, _08018A28
- ldr r0, [r0]
- adds r0, 0x70
- movs r1, 0x1
- bl sub_8012EA4
- b _08018ABE
- .align 2, 0
-_08018A28: .4byte gUnknown_203B20C
-_08018A2C:
- ldr r4, _08018A44
- ldr r0, [r4]
- ldrb r0, [r0, 0xA]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _08018A48
- movs r0, 0xC
- bl sub_8017F10
- b _08018ABE
- .align 2, 0
-_08018A44: .4byte gUnknown_203B20C
-_08018A48:
- ldr r0, _08018A9C
- ldr r1, [r0]
- ldr r3, [r4]
- ldrb r0, [r3, 0xA]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrb r2, [r3, 0x9]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- ldrb r2, [r3, 0xA]
- ldr r1, _08018AA0
- ldr r0, [sp, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x4]
- ldrb r1, [r3, 0x9]
- lsls r1, 8
- ldr r2, _08018AA4
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
- add r0, sp, 0x4
- bl sub_8091274
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- bne _08018A90
- bl sub_8090A34
- cmp r0, 0x13
- ble _08018AA8
-_08018A90:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_8017F10
- b _08018ABE
- .align 2, 0
-_08018A9C: .4byte gUnknown_203B460
-_08018AA0: .4byte 0xffffff00
-_08018AA4: .4byte 0xffff00ff
-_08018AA8:
- movs r0, 0xB
- bl sub_8017F10
- b _08018ABE
-_08018AB0:
- movs r0, 0xE
- bl sub_8017F10
- b _08018ABE
-_08018AB8:
- movs r0, 0xB
- bl sub_8017F10
-_08018ABE:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80189C8
-
- thumb_func_start sub_8018AC8
-sub_8018AC8:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08018AE0
- cmp r0, 0x3
- bhi _08018AE0
- bl sub_801B450
- movs r0, 0x5
- bl sub_8017F10
-_08018AE0:
- pop {r0}
- bx r0
- thumb_func_end sub_8018AC8
-
- thumb_func_start sub_8018AE4
-sub_8018AE4:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08018AFC
- cmp r0, 0x3
- bhi _08018AFC
- bl sub_801B450
- movs r0, 0xB
- bl sub_8017F10
-_08018AFC:
- pop {r0}
- bx r0
- thumb_func_end sub_8018AE4
-
.align 2,0
diff --git a/asm/kangaskhan_storage_2.s b/asm/kangaskhan_storage_2.s
new file mode 100644
index 0000000..e0cda63
--- /dev/null
+++ b/asm/kangaskhan_storage_2.s
@@ -0,0 +1,1456 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8017F28
+sub_8017F28:
+ push {r4-r7,lr}
+ ldr r4, _08017F48
+ ldr r0, [r4]
+ adds r0, 0xF0
+ bl sub_8006518
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0xD
+ bls _08017F3E
+ b _080180BC
+_08017F3E:
+ lsls r0, 2
+ ldr r1, _08017F4C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08017F48: .4byte gUnknown_203B20C
+_08017F4C: .4byte _08017F50
+ .align 2, 0
+_08017F50:
+ .4byte _080180BC
+ .4byte _08017F88
+ .4byte _080180BC
+ .4byte _080180BC
+ .4byte _08017FE8
+ .4byte _08017FE8
+ .4byte _0801809C
+ .4byte _080180BC
+ .4byte _080180BC
+ .4byte _080180BC
+ .4byte _08018034
+ .4byte _08018034
+ .4byte _08018084
+ .4byte _0801809C
+_08017F88:
+ ldr r4, _08017FDC
+ ldr r1, [r4]
+ ldr r2, _08017FE0
+ adds r1, 0xF0
+ adds r0, r2, 0
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldm r0!, {r3,r5,r7}
+ stm r1!, {r3,r5,r7}
+ ldr r1, [r4]
+ movs r6, 0x84
+ lsls r6, 1
+ adds r1, r6
+ adds r0, r2, 0
+ ldm r0!, {r3,r5,r7}
+ stm r1!, {r3,r5,r7}
+ ldm r0!, {r3,r6,r7}
+ stm r1!, {r3,r6,r7}
+ ldr r0, [r4]
+ adds r0, 0xF0
+ ldm r2!, {r5-r7}
+ stm r0!, {r5-r7}
+ ldm r2!, {r1,r3,r5}
+ stm r0!, {r1,r3,r5}
+ bl sub_80182E4
+ ldr r2, [r4]
+ movs r0, 0x90
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _08017FE4
+ ldm r1!, {r3,r6,r7}
+ stm r2!, {r3,r6,r7}
+ ldm r1!, {r5-r7}
+ stm r2!, {r5-r7}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ adds r1, 0x20
+ bl sub_8012CAC
+ b _080180E0
+ .align 2, 0
+_08017FDC: .4byte gUnknown_203B20C
+_08017FE0: .4byte gUnknown_80DB7B8
+_08017FE4: .4byte gUnknown_80DB7D0
+_08017FE8:
+ ldr r3, _0801802C
+ ldr r1, [r3]
+ ldr r2, _08018030
+ adds r1, 0xF0
+ adds r0, r2, 0
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4,r5,r7}
+ stm r1!, {r4,r5,r7}
+ ldr r1, [r3]
+ movs r6, 0x84
+ lsls r6, 1
+ adds r1, r6
+ adds r0, r2, 0
+ ldm r0!, {r4,r5,r7}
+ stm r1!, {r4,r5,r7}
+ ldm r0!, {r4,r6,r7}
+ stm r1!, {r4,r6,r7}
+ ldr r1, [r3]
+ movs r5, 0x90
+ lsls r5, 1
+ adds r1, r5
+ adds r0, r2, 0
+ ldm r0!, {r4,r6,r7}
+ stm r1!, {r4,r6,r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldr r0, [r3]
+ adds r0, 0xF0
+ ldm r2!, {r1,r3,r4}
+ stm r0!, {r1,r3,r4}
+ ldm r2!, {r5-r7}
+ stm r0!, {r5-r7}
+ b _080180E0
+ .align 2, 0
+_0801802C: .4byte gUnknown_203B20C
+_08018030: .4byte gUnknown_80DB7B8
+_08018034:
+ ldr r3, _08018078
+ ldr r1, [r3]
+ ldr r2, _0801807C
+ adds r1, 0xF0
+ adds r0, r2, 0
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4,r5,r7}
+ stm r1!, {r4,r5,r7}
+ ldr r1, [r3]
+ movs r6, 0x84
+ lsls r6, 1
+ adds r1, r6
+ adds r0, r2, 0
+ ldm r0!, {r4,r5,r7}
+ stm r1!, {r4,r5,r7}
+ ldm r0!, {r4,r6,r7}
+ stm r1!, {r4,r6,r7}
+ ldr r0, [r3]
+ movs r5, 0x90
+ lsls r5, 1
+ adds r0, r5
+ ldm r2!, {r1,r6,r7}
+ stm r0!, {r1,r6,r7}
+ ldm r2!, {r4-r6}
+ stm r0!, {r4-r6}
+ ldr r1, [r3]
+ adds r1, 0xF0
+ ldr r0, _08018080
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ b _080180E0
+ .align 2, 0
+_08018078: .4byte gUnknown_203B20C
+_0801807C: .4byte gUnknown_80DB7B8
+_08018080: .4byte gUnknown_80DB800
+_08018084:
+ ldr r0, _08018094
+ ldr r1, [r0]
+ movs r7, 0x84
+ lsls r7, 1
+ adds r1, r7
+ ldr r0, _08018098
+ b _080180A8
+ .align 2, 0
+_08018094: .4byte gUnknown_203B20C
+_08018098: .4byte gUnknown_80DB818
+_0801809C:
+ ldr r0, _080180B4
+ ldr r1, [r0]
+ movs r0, 0x90
+ lsls r0, 1
+ adds r1, r0
+ ldr r0, _080180B8
+_080180A8:
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ b _080180E0
+ .align 2, 0
+_080180B4: .4byte gUnknown_203B20C
+_080180B8: .4byte gUnknown_80DB7E8
+_080180BC:
+ ldr r0, _080180F8
+ mov r12, r0
+ ldr r4, _080180FC
+ movs r3, 0
+ movs r2, 0x3
+_080180C6:
+ mov r5, r12
+ ldr r1, [r5]
+ adds r1, r3
+ adds r1, 0xF0
+ 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 _080180C6
+_080180E0:
+ bl ResetUnusedInputStruct
+ ldr r0, _080180F8
+ ldr r0, [r0]
+ adds r0, 0xF0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080180F8: .4byte gUnknown_203B20C
+_080180FC: .4byte gUnknown_80DB7B8
+ thumb_func_end sub_8017F28
+
+ thumb_func_start sub_8018100
+sub_8018100:
+ push {r4,lr}
+ sub sp, 0x8
+ ldr r1, _0801811C
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0xE
+ bls _08018112
+ b _08018278
+_08018112:
+ lsls r0, 2
+ ldr r1, _08018120
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801811C: .4byte gUnknown_203B20C
+_08018120: .4byte _08018124
+ .align 2, 0
+_08018124:
+ .4byte _08018278
+ .4byte _08018160
+ .4byte _08018278
+ .4byte _08018278
+ .4byte _08018172
+ .4byte _08018180
+ .4byte _08018188
+ .4byte _080181A8
+ .4byte _08018278
+ .4byte _08018278
+ .4byte _080181B2
+ .4byte _080181C0
+ .4byte _080181CE
+ .4byte _0801823C
+ .4byte _08018270
+_08018160:
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0x70
+ adds r1, r2, 0
+ adds r1, 0x20
+ adds r3, r2, 0
+ adds r3, 0x60
+ ldr r2, [r2, 0x14]
+ b _0801825C
+_08018172:
+ movs r0, 0x3
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _08018278
+_08018180:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _08018278
+_08018188:
+ bl sub_801A9E0
+ bl sub_801841C
+ ldr r0, _080181A4
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x70
+ adds r1, r2, 0
+ adds r1, 0x20
+ adds r3, r2, 0
+ adds r3, 0x60
+ ldr r2, [r2, 0x18]
+ b _0801825C
+ .align 2, 0
+_080181A4: .4byte gUnknown_203B20C
+_080181A8:
+ ldr r0, [r4]
+ adds r0, 0x8
+ bl sub_801B3C0
+ b _08018278
+_080181B2:
+ movs r0, 0x1
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801C8C4
+ b _080181C6
+_080181C0:
+ movs r0, 0x1
+ bl sub_801CB5C
+_080181C6:
+ movs r0, 0
+ bl sub_801AD34
+ b _08018278
+_080181CE:
+ ldr r2, [r4]
+ adds r1, r2, 0
+ adds r1, 0xD0
+ movs r0, 0x2
+ str r0, [r1]
+ subs r1, 0x8
+ movs r0, 0x1
+ str r0, [r1]
+ ldr r0, _080181F8
+ ldr r1, [r0]
+ ldrb r0, [r2, 0xA]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r3, r1, r0
+ ldrh r0, [r3]
+ cmp r0, 0x63
+ bls _080181FC
+ adds r1, r2, 0
+ adds r1, 0xCC
+ movs r0, 0x63
+ b _08018202
+ .align 2, 0
+_080181F8: .4byte gUnknown_203B460
+_080181FC:
+ adds r1, r2, 0
+ adds r1, 0xCC
+ ldrh r0, [r3]
+_08018202:
+ str r0, [r1]
+ ldr r2, [r4]
+ adds r1, r2, 0
+ adds r1, 0xC4
+ adds r0, r2, 0
+ adds r0, 0xCC
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x10
+ movs r0, 0x1
+ str r0, [r1]
+ adds r1, 0x4
+ movs r3, 0x84
+ lsls r3, 1
+ adds r0, r2, r3
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x28
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x12
+ str r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0xC0
+ bl sub_8013AA0
+ bl sub_8018280
+ b _08018278
+_0801823C:
+ bl sub_801CCD8
+ movs r0, 0
+ bl sub_801AD34
+ bl sub_80184D4
+ ldr r0, _0801826C
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x70
+ adds r1, r2, 0
+ adds r1, 0x20
+ adds r3, r2, 0
+ adds r3, 0x60
+ ldr r2, [r2, 0x1C]
+_0801825C:
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _08018278
+ .align 2, 0
+_0801826C: .4byte gUnknown_203B20C
+_08018270:
+ ldr r0, [r4]
+ adds r0, 0x8
+ bl sub_801B3C0
+_08018278:
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8018100
+
+ thumb_func_start sub_8018280
+sub_8018280:
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r4, _080182DC
+ ldr r0, [r4]
+ adds r0, 0xD4
+ ldr r0, [r0]
+ bl sub_8008C54
+ ldr r0, [r4]
+ adds r0, 0xD4
+ ldr r0, [r0]
+ bl sub_80073B8
+ ldr r2, _080182E0
+ ldr r0, [r4]
+ adds r0, 0xD4
+ 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, 0xC0
+ bl sub_8013C68
+ ldr r0, [r4]
+ adds r0, 0xD4
+ ldr r0, [r0]
+ bl sub_80073E0
+ bl sub_801CCD8
+ movs r0, 0
+ bl sub_801AD34
+ ldr r0, [r4]
+ adds r0, 0x70
+ movs r1, 0
+ bl sub_8012EA4
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080182DC: .4byte gUnknown_203B20C
+_080182E0: .4byte gUnknown_80DB830
+ thumb_func_end sub_8018280
+
+ thumb_func_start sub_80182E4
+sub_80182E4:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r0, 0
+ mov r8, r0
+ ldr r4, _080183DC
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ ldr r0, _080183E0
+ ldr r0, [r0]
+ str r0, [r1, 0x20]
+ movs r0, 0x2
+ str r0, [r1, 0x24]
+ bl sub_8090A34
+ cmp r0, 0
+ beq _0801831C
+ movs r0, 0
+ bl sub_801CF50
+ lsls r0, 24
+ cmp r0, 0
+ beq _08018324
+_0801831C:
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0x1
+ strh r1, [r0]
+_08018324:
+ movs r1, 0x1
+ add r8, r1
+ ldr r4, _080183DC
+ ldr r2, [r4]
+ mov r0, r8
+ lsls r3, r0, 3
+ adds r0, r2, 0
+ adds r0, 0x20
+ adds r0, r3
+ ldr r1, _080183E4
+ ldr r1, [r1]
+ str r1, [r0]
+ adds r2, 0x24
+ adds r2, r3
+ movs r0, 0x3
+ str r0, [r2]
+ movs r0, 0x1
+ bl sub_801CF14
+ lsls r0, 24
+ cmp r0, 0
+ bne _08018358
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _08018366
+_08018358:
+ ldr r0, [r4]
+ mov r2, r8
+ lsls r1, r2, 1
+ adds r0, 0x60
+ adds r0, r1
+ movs r1, 0x1
+ strh r1, [r0]
+_08018366:
+ movs r0, 0x1
+ add r8, r0
+ ldr r4, _080183DC
+ ldr r7, [r4]
+ mov r2, r8
+ lsls r1, r2, 3
+ adds r2, r7, 0
+ adds r2, 0x20
+ adds r3, r2, r1
+ ldr r0, _080183E8
+ ldr r0, [r0]
+ str r0, [r3]
+ adds r6, r7, 0
+ adds r6, 0x24
+ adds r1, r6, r1
+ movs r3, 0x1
+ str r3, [r1]
+ add r8, r3
+ mov r1, r8
+ lsls r0, r1, 3
+ adds r2, r0
+ movs r1, 0
+ str r1, [r2]
+ adds r0, r6, r0
+ str r3, [r0]
+ movs r5, 0
+ mov r12, r4
+ cmp r5, r8
+ bge _080183C0
+ adds r4, r7, 0
+ adds r2, r4, 0
+ adds r2, 0x60
+ adds r3, r6, 0
+_080183A8:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _080183B6
+ ldr r1, [r3]
+ ldr r0, [r4, 0x14]
+ cmp r1, r0
+ beq _08018410
+_080183B6:
+ adds r2, 0x2
+ adds r3, 0x8
+ adds r5, 0x1
+ cmp r5, r8
+ blt _080183A8
+_080183C0:
+ movs r5, 0
+ cmp r5, r8
+ bge _08018410
+ mov r2, r12
+ ldr r1, [r2]
+ adds r0, r1, 0
+ adds r0, 0x60
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080183EC
+ ldr r0, [r1, 0x24]
+ str r0, [r1, 0x14]
+ b _08018410
+ .align 2, 0
+_080183DC: .4byte gUnknown_203B20C
+_080183E0: .4byte gUnknown_80D4958
+_080183E4: .4byte gUnknown_80D4964
+_080183E8: .4byte gUnknown_80D4934
+_080183EC:
+ adds r5, 0x1
+ cmp r5, r8
+ bge _08018410
+ mov r0, r12
+ ldr r2, [r0]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0x60
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _080183EC
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x24
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x14]
+_08018410:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80182E4
+
+ thumb_func_start sub_801841C
+sub_801841C:
+ push {r4-r7,lr}
+ ldr r4, _080184A0
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ ldr r0, _080184A4
+ ldr r0, [r0]
+ str r0, [r1, 0x20]
+ movs r0, 0x2
+ str r0, [r1, 0x24]
+ ldr r0, [r1, 0xC]
+ bl sub_801ADA0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801844C
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0x1
+ strh r1, [r0]
+_0801844C:
+ ldr r2, [r4]
+ movs r1, 0x1
+ ldr r0, _080184A8
+ ldr r0, [r0]
+ str r0, [r2, 0x28]
+ movs r0, 0x4
+ str r0, [r2, 0x2C]
+ movs r5, 0x2
+ movs r0, 0
+ str r0, [r2, 0x30]
+ str r1, [r2, 0x34]
+ movs r3, 0
+ adds r6, r4, 0
+ mov r12, r2
+ mov r4, r12
+ adds r4, 0x60
+ adds r2, 0x24
+_0801846E:
+ ldrh r0, [r4]
+ cmp r0, 0
+ bne _0801847E
+ ldr r1, [r2]
+ mov r7, r12
+ ldr r0, [r7, 0x18]
+ cmp r1, r0
+ beq _080184CE
+_0801847E:
+ adds r4, 0x2
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, r5
+ blt _0801846E
+ movs r3, 0
+ cmp r3, r5
+ bge _080184CE
+ ldr r1, [r6]
+ adds r0, r1, 0
+ adds r0, 0x60
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080184AC
+ ldr r0, [r1, 0x24]
+ str r0, [r1, 0x18]
+ b _080184CE
+ .align 2, 0
+_080184A0: .4byte gUnknown_203B20C
+_080184A4: .4byte gUnknown_80D4958
+_080184A8: .4byte gUnknown_80D4970
+_080184AC:
+ adds r3, 0x1
+ cmp r3, r5
+ bge _080184CE
+ ldr r2, [r6]
+ lsls r0, r3, 1
+ adds r1, r2, 0
+ adds r1, 0x60
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _080184AC
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0x24
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x18]
+_080184CE:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801841C
+
+ thumb_func_start sub_80184D4
+sub_80184D4:
+ push {r4-r7,lr}
+ ldr r4, _08018554
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r1, [r4]
+ ldr r0, _08018558
+ ldr r0, [r0]
+ str r0, [r1, 0x20]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _08018500
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0x1
+ strh r1, [r0]
+_08018500:
+ ldr r2, [r4]
+ movs r1, 0x1
+ ldr r0, _0801855C
+ ldr r0, [r0]
+ str r0, [r2, 0x28]
+ movs r0, 0x4
+ str r0, [r2, 0x2C]
+ movs r5, 0x2
+ movs r0, 0
+ str r0, [r2, 0x30]
+ str r1, [r2, 0x34]
+ movs r3, 0
+ adds r6, r4, 0
+ mov r12, r2
+ mov r4, r12
+ adds r4, 0x60
+ adds r2, 0x24
+_08018522:
+ ldrh r0, [r4]
+ cmp r0, 0
+ bne _08018532
+ ldr r1, [r2]
+ mov r7, r12
+ ldr r0, [r7, 0x1C]
+ cmp r1, r0
+ beq _08018582
+_08018532:
+ adds r4, 0x2
+ adds r2, 0x8
+ adds r3, 0x1
+ cmp r3, r5
+ blt _08018522
+ movs r3, 0
+ cmp r3, r5
+ bge _08018582
+ ldr r1, [r6]
+ adds r0, r1, 0
+ adds r0, 0x60
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08018560
+ ldr r0, [r1, 0x24]
+ str r0, [r1, 0x1C]
+ b _08018582
+ .align 2, 0
+_08018554: .4byte gUnknown_203B20C
+_08018558: .4byte gUnknown_80D4964
+_0801855C: .4byte gUnknown_80D4970
+_08018560:
+ adds r3, 0x1
+ cmp r3, r5
+ bge _08018582
+ ldr r2, [r6]
+ lsls r0, r3, 1
+ adds r1, r2, 0
+ adds r1, 0x60
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08018560
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0x24
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x1C]
+_08018582:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80184D4
+
+ thumb_func_start sub_8018588
+sub_8018588:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ ldr r4, _080185C4
+ ldr r0, [r4]
+ adds r0, 0x70
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _080185B4
+ ldr r0, [r4]
+ adds r0, 0x70
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _080185B4
+ ldr r0, [r4]
+ str r1, [r0, 0x14]
+_080185B4:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _080185CE
+ cmp r0, 0x2
+ bgt _080185C8
+ cmp r0, 0x1
+ beq _08018610
+ b _08018616
+ .align 2, 0
+_080185C4: .4byte gUnknown_203B20C
+_080185C8:
+ cmp r0, 0x3
+ beq _080185EA
+ b _08018616
+_080185CE:
+ bl sub_8090A34
+ cmp r0, 0
+ beq _080185F6
+ movs r0, 0
+ bl sub_801CF50
+ lsls r0, 24
+ cmp r0, 0
+ bne _080185F6
+ movs r0, 0x4
+ bl sub_8017F10
+ b _08018616
+_080185EA:
+ movs r0, 0x1
+ bl sub_801CF14
+ lsls r0, 24
+ cmp r0, 0
+ beq _08018608
+_080185F6:
+ ldr r0, _08018604
+ ldr r0, [r0]
+ adds r0, 0x70
+ movs r1, 0x1
+ bl sub_8012EA4
+ b _08018616
+ .align 2, 0
+_08018604: .4byte gUnknown_203B20C
+_08018608:
+ movs r0, 0xA
+ bl sub_8017F10
+ b _08018616
+_08018610:
+ movs r0, 0x3
+ bl sub_8017F10
+_08018616:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8018588
+
+ thumb_func_start sub_8018620
+sub_8018620:
+ push {r4-r7,lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x3
+ beq _0801863C
+ cmp r0, 0x3
+ bhi _08018636
+ cmp r0, 0x2
+ beq _080186E8
+ b _080186F2
+_08018636:
+ cmp r0, 0x4
+ beq _080186C0
+ b _080186F2
+_0801863C:
+ bl sub_801AEA8
+ cmp r0, 0
+ beq _08018698
+ movs r5, 0
+ ldr r6, _0801868C
+ movs r7, 0
+_0801864A:
+ adds r0, r5, 0
+ bl sub_801AED0
+ cmp r0, 0
+ beq _0801866A
+ lsls r4, r5, 2
+ ldr r0, [r6]
+ adds r0, r4
+ bl sub_80917B8
+ ldr r0, [r6]
+ adds r0, r4
+ strb r7, [r0, 0x2]
+ ldr r0, [r6]
+ adds r0, r4
+ strb r7, [r0]
+_0801866A:
+ adds r5, 0x1
+ cmp r5, 0x13
+ ble _0801864A
+ bl sub_80910B4
+ bl sub_801AE84
+ bl sub_8090A34
+ cmp r0, 0
+ bne _08018690
+ bl sub_801A928
+ movs r0, 0x1
+ bl sub_8017F10
+ b _080186F2
+ .align 2, 0
+_0801868C: .4byte gUnknown_203B460
+_08018690:
+ movs r0, 0x5
+ bl sub_8017F10
+ b _080186F2
+_08018698:
+ bl sub_801A8AC
+ ldr r1, _080186B8
+ ldr r2, [r1]
+ str r0, [r2, 0xC]
+ ldr r1, _080186BC
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x8]
+ movs r0, 0x6
+ bl sub_8017F10
+ b _080186F2
+ .align 2, 0
+_080186B8: .4byte gUnknown_203B20C
+_080186BC: .4byte gUnknown_203B460
+_080186C0:
+ bl sub_801A8AC
+ ldr r1, _080186E0
+ ldr r2, [r1]
+ str r0, [r2, 0xC]
+ ldr r1, _080186E4
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x8]
+ movs r0, 0x7
+ bl sub_8017F10
+ b _080186F2
+ .align 2, 0
+_080186E0: .4byte gUnknown_203B20C
+_080186E4: .4byte gUnknown_203B460
+_080186E8:
+ bl sub_801A928
+ movs r0, 0x1
+ bl sub_8017F10
+_080186F2:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8018620
+
+ thumb_func_start sub_80186F8
+sub_80186F8:
+ push {r4-r7,lr}
+ sub sp, 0x4
+ movs r0, 0x1
+ bl sub_801CA08
+ cmp r0, 0x2
+ bne _08018708
+ b _08018838
+_08018708:
+ cmp r0, 0x2
+ bhi _08018714
+ cmp r0, 0x1
+ bne _08018712
+ b _08018844
+_08018712:
+ b _0801884A
+_08018714:
+ cmp r0, 0x3
+ beq _0801871E
+ cmp r0, 0x4
+ beq _0801880C
+ b _0801884A
+_0801871E:
+ bl sub_801CFB8
+ cmp r0, 0
+ beq _080187E0
+ movs r6, 0
+ mov r5, sp
+ ldr r7, _0801876C
+_0801872C:
+ lsls r0, r6, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl sub_801CFE0
+ cmp r0, 0
+ beq _080187B2
+ ldr r1, _08018770
+ ldr r0, [sp]
+ ands r0, r1
+ orrs r0, r4
+ str r0, [sp]
+ ldrb r0, [r5]
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ beq _08018786
+ ldr r2, _08018774
+ ldr r1, [r2]
+ ldrb r0, [r5]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r1, [r1]
+ cmp r1, 0x63
+ bls _08018778
+ ldr r0, [sp]
+ ands r0, r7
+ movs r1, 0xC6
+ lsls r1, 7
+ b _08018780
+ .align 2, 0
+_0801876C: .4byte 0xffff00ff
+_08018770: .4byte 0xffffff00
+_08018774: .4byte gUnknown_203B460
+_08018778:
+ lsls r1, 24
+ lsrs r1, 16
+ ldr r0, [sp]
+ ands r0, r7
+_08018780:
+ orrs r0, r1
+ str r0, [sp]
+ b _08018794
+_08018786:
+ ldr r0, [sp]
+ ands r0, r7
+ movs r1, 0x80
+ lsls r1, 1
+ orrs r0, r1
+ str r0, [sp]
+ ldr r2, _080187DC
+_08018794:
+ ldr r2, [r2]
+ ldrb r0, [r5]
+ lsls r0, 1
+ adds r2, 0x50
+ adds r2, r0
+ ldr r0, [sp]
+ lsrs r0, 8
+ lsls r0, 24
+ lsrs r0, 24
+ ldrh r1, [r2]
+ subs r1, r0
+ strh r1, [r2]
+ mov r0, sp
+ bl sub_8091274
+_080187B2:
+ adds r6, 0x1
+ cmp r6, 0xEF
+ ble _0801872C
+ bl sub_80910B4
+ bl sub_801CF94
+ movs r0, 0x1
+ bl sub_801CF14
+ lsls r0, 24
+ cmp r0, 0
+ bne _08018838
+ bl sub_8090A34
+ cmp r0, 0x13
+ bgt _08018838
+ movs r0, 0xB
+ bl sub_8017F10
+ b _0801884A
+ .align 2, 0
+_080187DC: .4byte gUnknown_203B460
+_080187E0:
+ bl sub_801CB24
+ ldr r4, _08018808
+ ldr r1, [r4]
+ strb r0, [r1, 0x10]
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x8
+ ldrb r1, [r1, 0x10]
+ movs r2, 0
+ bl sub_8090A8C
+ ldr r1, [r4]
+ movs r0, 0x1
+ strb r0, [r1, 0x9]
+ movs r0, 0xD
+ bl sub_8017F10
+ b _0801884A
+ .align 2, 0
+_08018808: .4byte gUnknown_203B20C
+_0801880C:
+ bl sub_801CB24
+ ldr r4, _08018834
+ ldr r1, [r4]
+ strb r0, [r1, 0x10]
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x8
+ ldrb r1, [r1, 0x10]
+ movs r2, 0
+ bl sub_8090A8C
+ ldr r1, [r4]
+ movs r0, 0x1
+ strb r0, [r1, 0x9]
+ movs r0, 0xE
+ bl sub_8017F10
+ b _0801884A
+ .align 2, 0
+_08018834: .4byte gUnknown_203B20C
+_08018838:
+ bl sub_801CBB8
+ movs r0, 0x1
+ bl sub_8017F10
+ b _0801884A
+_08018844:
+ movs r0, 0
+ bl sub_801AD34
+_0801884A:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80186F8
+
+ thumb_func_start sub_8018854
+sub_8018854:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ bl sub_801CA08
+ ldr r4, _080188E0
+ ldr r0, [r4]
+ adds r0, 0x70
+ bl sub_8012FD8
+ ldr r0, [r4]
+ adds r0, 0xC0
+ bl sub_8013BBC
+ cmp r0, 0x1
+ beq _080188F8
+ cmp r0, 0x1
+ bcc _080188FC
+ cmp r0, 0x2
+ beq _080188F0
+ cmp r0, 0x3
+ bne _080188FC
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xC0
+ ldr r0, [r0]
+ strb r0, [r1, 0x9]
+ ldr r0, _080188E4
+ ldr r1, [r0]
+ ldr r3, [r4]
+ ldrb r0, [r3, 0xA]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrb r2, [r3, 0x9]
+ ldrh r0, [r1]
+ subs r0, r2
+ strh r0, [r1]
+ ldrb r2, [r3, 0xA]
+ ldr r1, _080188E8
+ ldr r0, [sp]
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp]
+ ldrb r1, [r3, 0x9]
+ lsls r1, 8
+ ldr r2, _080188EC
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp]
+ mov r0, sp
+ bl sub_8091274
+ movs r0, 0x1
+ bl sub_801CF14
+ lsls r0, 24
+ cmp r0, 0
+ bne _080188D2
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _080188F0
+_080188D2:
+ bl sub_801CBB8
+ movs r0, 0x1
+ bl sub_8017F10
+ b _080188FC
+ .align 2, 0
+_080188E0: .4byte gUnknown_203B20C
+_080188E4: .4byte gUnknown_203B460
+_080188E8: .4byte 0xffffff00
+_080188EC: .4byte 0xffff00ff
+_080188F0:
+ movs r0, 0xB
+ bl sub_8017F10
+ b _080188FC
+_080188F8:
+ bl sub_8018280
+_080188FC:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8018854
+
+ thumb_func_start sub_8018904
+sub_8018904:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _08018944
+ ldr r0, [r4]
+ adds r0, 0x70
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08018934
+ ldr r0, [r4]
+ adds r0, 0x70
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08018934
+ ldr r0, [r4]
+ str r1, [r0, 0x18]
+_08018934:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0801894E
+ cmp r0, 0x2
+ bgt _08018948
+ cmp r0, 0x1
+ beq _080189BA
+ b _080189C0
+ .align 2, 0
+_08018944: .4byte gUnknown_203B20C
+_08018948:
+ cmp r0, 0x4
+ beq _080189AC
+ b _080189C0
+_0801894E:
+ ldr r4, _08018978
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xA]
+ bl sub_8091524
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801896C
+ ldr r0, [r4]
+ ldr r0, [r0, 0xC]
+ bl sub_801ADA0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801897C
+_0801896C:
+ ldr r0, [r4]
+ adds r0, 0x70
+ movs r1, 0x1
+ bl sub_8012EA4
+ b _080189C0
+ .align 2, 0
+_08018978: .4byte gUnknown_203B20C
+_0801897C:
+ ldr r0, [r4]
+ adds r0, 0x8
+ bl sub_80917B8
+ ldr r0, [r4]
+ ldr r0, [r0, 0xC]
+ bl sub_80911F8
+ bl sub_80910B4
+ bl sub_8090A34
+ cmp r0, 0
+ bne _080189A4
+ bl sub_801A928
+ movs r0, 0x1
+ bl sub_8017F10
+ b _080189C0
+_080189A4:
+ movs r0, 0x5
+ bl sub_8017F10
+ b _080189C0
+_080189AC:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x7
+ bl sub_8017F10
+ b _080189C0
+_080189BA:
+ movs r0, 0x5
+ bl sub_8017F10
+_080189C0:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8018904
+
+ thumb_func_start sub_80189C8
+sub_80189C8:
+ push {r4,lr}
+ sub sp, 0x8
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801CA08
+ ldr r4, _08018A08
+ ldr r0, [r4]
+ adds r0, 0x70
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _080189F8
+ ldr r0, [r4]
+ adds r0, 0x70
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _080189F8
+ ldr r0, [r4]
+ str r1, [r0, 0x1C]
+_080189F8:
+ ldr r0, [sp]
+ cmp r0, 0x3
+ beq _08018A12
+ cmp r0, 0x3
+ bgt _08018A0C
+ cmp r0, 0x1
+ beq _08018AB8
+ b _08018ABE
+ .align 2, 0
+_08018A08: .4byte gUnknown_203B20C
+_08018A0C:
+ cmp r0, 0x4
+ beq _08018AB0
+ b _08018ABE
+_08018A12:
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _08018A2C
+ ldr r0, _08018A28
+ ldr r0, [r0]
+ adds r0, 0x70
+ movs r1, 0x1
+ bl sub_8012EA4
+ b _08018ABE
+ .align 2, 0
+_08018A28: .4byte gUnknown_203B20C
+_08018A2C:
+ ldr r4, _08018A44
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xA]
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ beq _08018A48
+ movs r0, 0xC
+ bl sub_8017F10
+ b _08018ABE
+ .align 2, 0
+_08018A44: .4byte gUnknown_203B20C
+_08018A48:
+ ldr r0, _08018A9C
+ ldr r1, [r0]
+ ldr r3, [r4]
+ ldrb r0, [r3, 0xA]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrb r2, [r3, 0x9]
+ ldrh r0, [r1]
+ subs r0, r2
+ strh r0, [r1]
+ ldrb r2, [r3, 0xA]
+ ldr r1, _08018AA0
+ ldr r0, [sp, 0x4]
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp, 0x4]
+ ldrb r1, [r3, 0x9]
+ lsls r1, 8
+ ldr r2, _08018AA4
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ add r0, sp, 0x4
+ bl sub_8091274
+ movs r0, 0x1
+ bl sub_801CF14
+ lsls r0, 24
+ cmp r0, 0
+ bne _08018A90
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _08018AA8
+_08018A90:
+ bl sub_801CBB8
+ movs r0, 0x1
+ bl sub_8017F10
+ b _08018ABE
+ .align 2, 0
+_08018A9C: .4byte gUnknown_203B460
+_08018AA0: .4byte 0xffffff00
+_08018AA4: .4byte 0xffff00ff
+_08018AA8:
+ movs r0, 0xB
+ bl sub_8017F10
+ b _08018ABE
+_08018AB0:
+ movs r0, 0xE
+ bl sub_8017F10
+ b _08018ABE
+_08018AB8:
+ movs r0, 0xB
+ bl sub_8017F10
+_08018ABE:
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80189C8
+
+ .align 2,0
diff --git a/asm/makuhita_dojo.s b/asm/makuhita_dojo.s
index c206233..ef46882 100644
--- a/asm/makuhita_dojo.s
+++ b/asm/makuhita_dojo.s
@@ -338,15 +338,15 @@ _08030234:
b _08030250
_0803023A:
movs r0, 0x3
- bl sub_802FF04
+ bl UpdateMakuhitaState
b _08030250
_08030242:
movs r0, 0xC
- bl sub_802FF04
+ bl UpdateMakuhitaState
b _08030250
_0803024A:
movs r0, 0x2
- bl sub_802FF04
+ bl UpdateMakuhitaState
_08030250:
add sp, 0x4
pop {r0}
@@ -370,7 +370,7 @@ sub_8030258:
strh r0, [r1, 0x10]
bl sub_8030480
movs r0, 0x5
- bl sub_802FF04
+ bl UpdateMakuhitaState
b _0803029A
.align 2, 0
_08030284: .4byte gUnknown_203B318
@@ -381,7 +381,7 @@ _08030288:
ldr r0, _080302A4
strh r0, [r1, 0x10]
movs r0, 0x1
- bl sub_802FF04
+ bl UpdateMakuhitaState
_0803029A:
pop {r0}
bx r0
@@ -400,7 +400,7 @@ sub_80302A8:
bhi _080302C0
bl sub_801B72C
movs r0, 0xA
- bl sub_802FF04
+ bl UpdateMakuhitaState
_080302C0:
pop {r0}
bx r0
@@ -417,7 +417,7 @@ sub_80302C4:
ldr r0, _080302E4
ldr r0, [r0]
ldr r0, [r0, 0xC]
- bl sub_802FF04
+ bl UpdateMakuhitaState
_080302DC:
add sp, 0x4
pop {r0}
diff --git a/asm/memory.s b/asm/memory.s
index d113ece..e856585 100644
--- a/asm/memory.s
+++ b/asm/memory.s
@@ -412,364 +412,5 @@ _08003328:
bx r1
thumb_func_end _LocateSetBack
- thumb_func_start _LocateSet
-_LocateSet:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r7, r1, 0
- adds r6, r2, 0
- cmp r5, 0
- bne _0800335C
- ldr r5, =gMainHeapDescriptor
-_0800335C:
- asrs r4, r6, 8
- movs r0, 0x1
- orrs r4, r0
- movs r0, 0xFF
- ands r6, r0
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _08003394
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- bl MemorySearchFromFront
- adds r1, r0, 0
- cmp r1, 0
- blt _080033B4
- str r6, [sp]
- adds r0, r5, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl _LocateSetFront
- ldr r0, [r0, 0xC]
- b _080033CC
- .align 2, 0
- .pool
-_08003394:
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- bl MemorySearchFromBack
- adds r1, r0, 0
- cmp r1, 0
- blt _080033B4
- str r6, [sp]
- adds r0, r5, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl _LocateSetBack
- ldr r0, [r0, 0xC]
- b _080033CC
-_080033B4:
- ldr r0, =gUnknown_80B7F14
- ldr r1, =gUnknown_80B7F20
- str r4, [sp]
- str r6, [sp, 0x4]
- adds r2, r5, 0
- adds r3, r7, 0
- bl FatalError
- .align 2, 0
- .pool
-_080033CC:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end _LocateSet
-
- thumb_func_start MemoryAlloc
-MemoryAlloc:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, =gMainHeapDescriptor
- adds r1, r3, 0
- bl DoAlloc
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end MemoryAlloc
-
- thumb_func_start MemoryFree
-MemoryFree:
- push {lr}
- adds r1, r0, 0
- ldr r0, =gMainHeapDescriptor
- bl DoFree
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end MemoryFree
-
- thumb_func_start MemoryLocate_LocalCreate
-MemoryLocate_LocalCreate:
- push {r4-r7,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- adds r6, r3, 0
- cmp r4, 0
- bne _08003412
- ldr r4, =gMainHeapDescriptor
-_08003412:
- adds r0, r4, 0
- movs r1, 0x9
- adds r2, r5, 0
- bl MemorySearchFromBack
- adds r1, r0, 0
- cmp r1, 0
- bge _08003438
- ldr r0, =gUnknown_80B7F88
- ldr r1, =gUnknown_80B7F94
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
- .pool
-_08003438:
- str r6, [sp]
- adds r0, r4, 0
- movs r2, 0x9
- adds r3, r5, 0
- bl _LocateSetBack
- ldr r1, [r0, 0xC]
- str r1, [sp, 0x4]
- ldr r0, [r0, 0x10]
- str r0, [sp, 0x8]
- add r0, sp, 0x4
- adds r1, r7, 0
- bl DoCreateSubHeap
- str r4, [r0, 0x4]
- add sp, 0xC
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end MemoryLocate_LocalCreate
-
- thumb_func_start DoCreateSubHeap
-DoCreateSubHeap:
- push {r4,lr}
- sub sp, 0x8
- adds r2, r1, 0
- ldr r4, [r0]
- adds r1, r4, 0
- adds r1, 0x1C
- str r1, [sp]
- ldr r0, [r0, 0x4]
- subs r0, 0x1C
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r1, sp
- bl InitSubHeap
- adds r0, r4, 0
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end DoCreateSubHeap
-
- thumb_func_start xxx_unused_memory_free
-xxx_unused_memory_free:
- push {r4-r7,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _08003504
- movs r1, 0
- ldr r0, [r4, 0xC]
- cmp r0, 0x1
- bne _080034A2
- ldr r0, [r4, 0x8]
- ldr r0, [r0, 0x4]
- cmp r0, 0
- bne _080034A2
- movs r1, 0x1
-_080034A2:
- cmp r1, 0
- beq _08003504
- movs r0, 0
- mov r12, r0
- movs r3, 0
- ldr r6, =gHeapCount
- ldr r0, [r6]
- cmp r12, r0
- bge _080034F2
- ldr r5, =gHeapDescriptorList
- adds r1, r6, 0
- adds r7, r5, 0
- movs r2, 0
-_080034BC:
- adds r0, r2, r5
- ldr r0, [r0]
- cmp r0, r4
- bne _080034E8
- ldr r0, [r1]
- subs r0, 0x1
- str r0, [r1]
- cmp r3, r0
- bge _080034F8
- ldr r1, =gHeapCount
- adds r2, r7
-_080034D2:
- ldr r0, [r2, 0x4]
- stm r2!, {r0}
- adds r3, 0x1
- ldr r0, [r1]
- cmp r3, r0
- blt _080034D2
- b _080034F8
- .align 2, 0
- .pool
-_080034E8:
- adds r2, 0x4
- adds r3, 0x1
- ldr r0, [r6]
- cmp r3, r0
- blt _080034BC
-_080034F2:
- mov r0, r12
- cmp r0, 0
- beq _08003504
-_080034F8:
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _08003504
- adds r1, r4, 0
- bl DoFree
-_08003504:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end xxx_unused_memory_free
-
- thumb_func_start DoAlloc
-DoAlloc:
- push {lr}
- movs r3, 0x80
- lsls r3, 1
- orrs r3, r2
- adds r2, r3, 0
- bl _LocateSet
- pop {r1}
- bx r1
- thumb_func_end DoAlloc
-
- thumb_func_start DoFree
-DoFree:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- cmp r4, 0
- bne _0800352E
- ldr r4, =gMainHeapDescriptor
-_0800352E:
- cmp r1, 0
- beq _080035E4
- movs r0, 0
- mov r8, r0
- ldr r3, [r4, 0x8]
- mov r12, r3
- ldr r3, [r4, 0xC]
- cmp r8, r3
- bge _080035E4
- movs r2, 0
-_08003542:
- mov r5, r12
- ldr r0, [r5, 0xC]
- cmp r0, r1
- bne _080035D8
- str r2, [r5]
- str r2, [r5, 0x4]
- str r2, [r5, 0x14]
- str r2, [r5, 0x8]
- ldr r0, [r4, 0xC]
- subs r0, 0x1
- cmp r8, r0
- bge _08003592
- mov r2, r12
- adds r2, 0x18
- ldr r0, [r2, 0x4]
- cmp r0, 0
- bne _08003592
- ldr r0, [r5, 0x10]
- ldr r1, [r2, 0x10]
- adds r0, r1
- str r0, [r5, 0x10]
- ldr r0, [r4, 0xC]
- subs r0, 0x1
- str r0, [r4, 0xC]
- mov r3, r8
- adds r3, 0x1
- cmp r3, r0
- bge _08003592
-_0800357A:
- adds r0, r2, 0
- adds r1, r2, 0
- adds r1, 0x18
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r3, 0x1
- adds r2, 0x18
- ldr r0, [r4, 0xC]
- cmp r3, r0
- blt _0800357A
-_08003592:
- mov r6, r8
- cmp r6, 0
- ble _080035E4
- mov r2, r12
- subs r2, 0x18
- ldr r0, [r2, 0x4]
- cmp r0, 0
- bne _080035E4
- ldr r0, [r2, 0x10]
- mov r7, r12
- ldr r1, [r7, 0x10]
- adds r0, r1
- str r0, [r2, 0x10]
- ldr r0, [r4, 0xC]
- subs r0, 0x1
- str r0, [r4, 0xC]
- mov r2, r12
- mov r3, r8
- cmp r3, r0
- bge _080035E4
-_080035BA:
- adds r0, r2, 0
- adds r1, r2, 0
- adds r1, 0x18
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r3, 0x1
- adds r2, 0x18
- ldr r0, [r4, 0xC]
- cmp r3, r0
- blt _080035BA
- b _080035E4
- .align 2, 0
- .pool
-_080035D8:
- movs r0, 0x1
- add r8, r0
- movs r5, 0x18
- add r12, r5
- cmp r8, r3
- blt _08003542
-_080035E4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end DoFree
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/memory_1.s b/asm/memory_1.s
new file mode 100644
index 0000000..d9f1362
--- /dev/null
+++ b/asm/memory_1.s
@@ -0,0 +1,274 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start MemoryLocate_LocalCreate
+MemoryLocate_LocalCreate:
+ push {r4-r7,lr}
+ sub sp, 0xC
+ adds r4, r0, 0
+ adds r5, r1, 0
+ adds r7, r2, 0
+ adds r6, r3, 0
+ cmp r4, 0
+ bne _08003412
+ ldr r4, =gMainHeapDescriptor
+_08003412:
+ adds r0, r4, 0
+ movs r1, 0x9
+ adds r2, r5, 0
+ bl MemorySearchFromBack
+ adds r1, r0, 0
+ cmp r1, 0
+ bge _08003438
+ ldr r0, =gUnknown_80B7F88
+ ldr r1, =gUnknown_80B7F94
+ adds r2, r5, 0
+ bl FatalError
+ .align 2, 0
+ .pool
+_08003438:
+ str r6, [sp]
+ adds r0, r4, 0
+ movs r2, 0x9
+ adds r3, r5, 0
+ bl _LocateSetBack
+ ldr r1, [r0, 0xC]
+ str r1, [sp, 0x4]
+ ldr r0, [r0, 0x10]
+ str r0, [sp, 0x8]
+ add r0, sp, 0x4
+ adds r1, r7, 0
+ bl DoCreateSubHeap
+ str r4, [r0, 0x4]
+ add sp, 0xC
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end MemoryLocate_LocalCreate
+
+ thumb_func_start DoCreateSubHeap
+DoCreateSubHeap:
+ push {r4,lr}
+ sub sp, 0x8
+ adds r2, r1, 0
+ ldr r4, [r0]
+ adds r1, r4, 0
+ adds r1, 0x1C
+ str r1, [sp]
+ ldr r0, [r0, 0x4]
+ subs r0, 0x1C
+ str r0, [sp, 0x4]
+ adds r0, r4, 0
+ mov r1, sp
+ bl InitSubHeap
+ adds r0, r4, 0
+ add sp, 0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end DoCreateSubHeap
+
+ thumb_func_start xxx_unused_memory_free
+xxx_unused_memory_free:
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ cmp r4, 0
+ beq _08003504
+ movs r1, 0
+ ldr r0, [r4, 0xC]
+ cmp r0, 0x1
+ bne _080034A2
+ ldr r0, [r4, 0x8]
+ ldr r0, [r0, 0x4]
+ cmp r0, 0
+ bne _080034A2
+ movs r1, 0x1
+_080034A2:
+ cmp r1, 0
+ beq _08003504
+ movs r0, 0
+ mov r12, r0
+ movs r3, 0
+ ldr r6, =gHeapCount
+ ldr r0, [r6]
+ cmp r12, r0
+ bge _080034F2
+ ldr r5, =gHeapDescriptorList
+ adds r1, r6, 0
+ adds r7, r5, 0
+ movs r2, 0
+_080034BC:
+ adds r0, r2, r5
+ ldr r0, [r0]
+ cmp r0, r4
+ bne _080034E8
+ ldr r0, [r1]
+ subs r0, 0x1
+ str r0, [r1]
+ cmp r3, r0
+ bge _080034F8
+ ldr r1, =gHeapCount
+ adds r2, r7
+_080034D2:
+ ldr r0, [r2, 0x4]
+ stm r2!, {r0}
+ adds r3, 0x1
+ ldr r0, [r1]
+ cmp r3, r0
+ blt _080034D2
+ b _080034F8
+ .align 2, 0
+ .pool
+_080034E8:
+ adds r2, 0x4
+ adds r3, 0x1
+ ldr r0, [r6]
+ cmp r3, r0
+ blt _080034BC
+_080034F2:
+ mov r0, r12
+ cmp r0, 0
+ beq _08003504
+_080034F8:
+ ldr r0, [r4, 0x4]
+ cmp r0, 0
+ beq _08003504
+ adds r1, r4, 0
+ bl DoFree
+_08003504:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end xxx_unused_memory_free
+
+ thumb_func_start DoAlloc
+DoAlloc:
+ push {lr}
+ movs r3, 0x80
+ lsls r3, 1
+ orrs r3, r2
+ adds r2, r3, 0
+ bl _LocateSet
+ pop {r1}
+ bx r1
+ thumb_func_end DoAlloc
+
+ thumb_func_start DoFree
+DoFree:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r4, r0, 0
+ cmp r4, 0
+ bne _0800352E
+ ldr r4, =gMainHeapDescriptor
+_0800352E:
+ cmp r1, 0
+ beq _080035E4
+ movs r0, 0
+ mov r8, r0
+ ldr r3, [r4, 0x8]
+ mov r12, r3
+ ldr r3, [r4, 0xC]
+ cmp r8, r3
+ bge _080035E4
+ movs r2, 0
+_08003542:
+ mov r5, r12
+ ldr r0, [r5, 0xC]
+ cmp r0, r1
+ bne _080035D8
+ str r2, [r5]
+ str r2, [r5, 0x4]
+ str r2, [r5, 0x14]
+ str r2, [r5, 0x8]
+ ldr r0, [r4, 0xC]
+ subs r0, 0x1
+ cmp r8, r0
+ bge _08003592
+ mov r2, r12
+ adds r2, 0x18
+ ldr r0, [r2, 0x4]
+ cmp r0, 0
+ bne _08003592
+ ldr r0, [r5, 0x10]
+ ldr r1, [r2, 0x10]
+ adds r0, r1
+ str r0, [r5, 0x10]
+ ldr r0, [r4, 0xC]
+ subs r0, 0x1
+ str r0, [r4, 0xC]
+ mov r3, r8
+ adds r3, 0x1
+ cmp r3, r0
+ bge _08003592
+_0800357A:
+ adds r0, r2, 0
+ adds r1, r2, 0
+ adds r1, 0x18
+ ldm r1!, {r5-r7}
+ stm r0!, {r5-r7}
+ ldm r1!, {r5-r7}
+ stm r0!, {r5-r7}
+ adds r3, 0x1
+ adds r2, 0x18
+ ldr r0, [r4, 0xC]
+ cmp r3, r0
+ blt _0800357A
+_08003592:
+ mov r6, r8
+ cmp r6, 0
+ ble _080035E4
+ mov r2, r12
+ subs r2, 0x18
+ ldr r0, [r2, 0x4]
+ cmp r0, 0
+ bne _080035E4
+ ldr r0, [r2, 0x10]
+ mov r7, r12
+ ldr r1, [r7, 0x10]
+ adds r0, r1
+ str r0, [r2, 0x10]
+ ldr r0, [r4, 0xC]
+ subs r0, 0x1
+ str r0, [r4, 0xC]
+ mov r2, r12
+ mov r3, r8
+ cmp r3, r0
+ bge _080035E4
+_080035BA:
+ adds r0, r2, 0
+ adds r1, r2, 0
+ adds r1, 0x18
+ ldm r1!, {r5-r7}
+ stm r0!, {r5-r7}
+ ldm r1!, {r5-r7}
+ stm r0!, {r5-r7}
+ adds r3, 0x1
+ adds r2, 0x18
+ ldr r0, [r4, 0xC]
+ cmp r3, r0
+ blt _080035BA
+ b _080035E4
+ .align 2, 0
+ .pool
+_080035D8:
+ movs r0, 0x1
+ add r8, r0
+ movs r5, 0x18
+ add r12, r5
+ cmp r8, r3
+ blt _08003542
+_080035E4:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end DoFree
+
+ .align 2,0
diff --git a/asm/pokemon.s b/asm/pokemon.s
index 1e8d2ed..ab75d5f 100644
--- a/asm/pokemon.s
+++ b/asm/pokemon.s
@@ -5,63 +5,6 @@
.text
- thumb_func_start sub_808CE08
-sub_808CE08:
- push {r4-r7,lr}
- ldr r4, _0808CE60
- movs r3, 0
- movs r1, 0
- ldr r2, _0808CE64
-_0808CE12:
- ldr r0, [r4]
- adds r0, r1
- strh r3, [r0]
- adds r1, 0x58
- subs r2, 0x1
- cmp r2, 0
- bne _0808CE12
- ldr r5, _0808CE60
- ldr r4, _0808CE68
- movs r3, 0
- movs r1, 0
- movs r2, 0x3
-_0808CE2A:
- ldr r0, [r5]
- adds r0, r1
- adds r0, r4
- strh r3, [r0]
- adds r1, 0x64
- subs r2, 0x1
- cmp r2, 0
- bge _0808CE2A
- ldr r7, _0808CE60
- ldr r6, _0808CE6C
- movs r4, 0
- movs r3, 0
- ldr r5, _0808CE70
- movs r2, 0x3
-_0808CE46:
- ldr r0, [r7]
- adds r0, r3
- adds r1, r0, r6
- strh r4, [r1]
- adds r0, r5
- strh r4, [r0]
- adds r3, 0x58
- subs r2, 0x1
- cmp r2, 0
- bge _0808CE46
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CE60: .4byte gRecruitedPokemonRef
-_0808CE64: .4byte 0x0000019d
-_0808CE68: .4byte 0x00008df8
-_0808CE6C: .4byte 0x00008f90
-_0808CE70: .4byte 0x00008f88
- thumb_func_end sub_808CE08
-
thumb_func_start sub_808CE74
sub_808CE74:
push {r4-r7,lr}
diff --git a/asm/pokemon_square.s b/asm/pokemon_square.s
index 6eef7df..7434269 100644
--- a/asm/pokemon_square.s
+++ b/asm/pokemon_square.s
@@ -4935,7 +4935,7 @@ _0801C53C:
bl sub_8013800
adds r7, r0, 0
adds r0, r4, 0
- bl sub_808EAB0
+ bl GetIQSkillName
adds r1, r0, 0
mov r0, r8
movs r2, 0x50
@@ -5025,2088 +5025,4 @@ _0801C61A:
bx r1
thumb_func_end sub_801C5F0
- thumb_func_start sub_801C620
-sub_801C620:
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl ResetSprites
- ldr r5, _0801C670
- movs r0, 0x94
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r6, 0
- strb r4, [r0, 0x4]
- ldr r0, [r5]
- adds r0, 0x88
- bl sub_801317C
- ldr r0, [r5]
- str r6, [r0, 0x24]
- adds r0, 0x28
- bl sub_80140B4
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, 0x28
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- bl sub_801C6D0
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801C670: .4byte gUnknown_203B240
- thumb_func_end sub_801C620
-
- thumb_func_start sub_801C674
-sub_801C674:
- push {lr}
- ldr r0, _0801C68C
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0801C6A0
- cmp r0, 0x1
- bgt _0801C690
- cmp r0, 0
- beq _0801C69A
- b _0801C6AA
- .align 2, 0
-_0801C68C: .4byte gUnknown_203B240
-_0801C690:
- cmp r0, 0x2
- beq _0801C6AA
- cmp r0, 0x3
- beq _0801C6A6
- b _0801C6AA
-_0801C69A:
- bl sub_801C7D4
- b _0801C6AE
-_0801C6A0:
- bl sub_801C848
- b _0801C6AE
-_0801C6A6:
- movs r0, 0x3
- b _0801C6B0
-_0801C6AA:
- movs r0, 0x2
- b _0801C6B0
-_0801C6AE:
- movs r0, 0
-_0801C6B0:
- pop {r1}
- bx r1
- thumb_func_end sub_801C674
-
- thumb_func_start sub_801C6B4
-sub_801C6B4:
- push {r4,lr}
- ldr r4, _0801C6CC
- ldr r0, [r4]
- cmp r0, 0
- beq _0801C6C6
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801C6C6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C6CC: .4byte gUnknown_203B240
- thumb_func_end sub_801C6B4
-
- thumb_func_start sub_801C6D0
-sub_801C6D0:
- push {lr}
- ldr r1, _0801C6E0
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801C6E4
- pop {r0}
- bx r0
- .align 2, 0
-_0801C6E0: .4byte gUnknown_203B240
- thumb_func_end sub_801C6D0
-
- thumb_func_start sub_801C6E4
-sub_801C6E4:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0801C760
- ldr r0, [r5]
- ldr r4, [r0]
- cmp r4, 0x1
- beq _0801C76C
- cmp r4, 0x1
- bgt _0801C7C4
- cmp r4, 0
- bne _0801C7C4
- ldr r0, [r0, 0x24]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073B8
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- bl sub_808EAB0
- adds r1, r0, 0
- ldr r0, _0801C764
- bl strcpy
- ldr r2, _0801C768
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- bl sub_808EADC
- adds r2, r0, 0
- ldr r0, [r5]
- ldr r3, [r0, 0x24]
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0x10
- bl xxx_call_draw_string
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073E0
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- bl sub_808EADC
- ldr r1, [r5]
- adds r1, 0x10
- bl sub_8097DF0
- ldr r1, [r5]
- str r0, [r1, 0xC]
- str r4, [r1, 0x20]
- b _0801C7C4
- .align 2, 0
-_0801C760: .4byte gUnknown_203B240
-_0801C764: .4byte gUnknown_202DE58
-_0801C768: .4byte gUnknown_80DBE2C
-_0801C76C:
- ldr r0, [r0, 0x24]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073B8
- ldr r0, [r5]
- ldr r1, [r0, 0x8]
- lsls r1, 2
- adds r0, 0x10
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _0801C7CC
- ldr r1, [r1]
- bl strcpy
- ldr r2, _0801C7D0
- ldr r0, [r5]
- ldr r3, [r0, 0x24]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- bl sub_8014FF0
- ldr r3, [r5]
- ldr r1, [r3, 0x8]
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x10
- adds r0, r1
- ldr r0, [r0]
- ldr r2, [r0, 0x4]
- ldr r3, [r3, 0x24]
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x10
- bl sub_8014FF0
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073E0
-_0801C7C4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C7CC: .4byte gAvailablePokemonNames
-_0801C7D0: .4byte gUnknown_80DBE30
- thumb_func_end sub_801C6E4
-
- thumb_func_start sub_801C7D4
-sub_801C7D4:
- push {r4,lr}
- ldr r0, _0801C810
- ldr r2, [r0]
- ldr r1, [r2, 0xC]
- adds r4, r0, 0
- cmp r1, 0
- beq _0801C7F8
- ldr r0, [r2, 0x20]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801C7F0
- bl sub_8013F84
-_0801C7F0:
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- adds r0, 0x1
- str r0, [r1, 0x20]
-_0801C7F8:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r1, [r1, 0x24]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801C814
- cmp r0, 0x2
- beq _0801C836
- b _0801C842
- .align 2, 0
-_0801C810: .4byte gUnknown_203B240
-_0801C814:
- movs r0, 0
- bl PlayMenuSoundEffect
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- cmp r0, 0
- beq _0801C82E
- movs r0, 0
- str r0, [r1, 0x8]
- movs r0, 0x1
- bl sub_801C6D0
- b _0801C842
-_0801C82E:
- movs r0, 0x3
- bl sub_801C6D0
- b _0801C842
-_0801C836:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- bl sub_801C6D0
-_0801C842:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801C7D4
-
- thumb_func_start sub_801C848
-sub_801C848:
- push {r4,lr}
- ldr r0, _0801C888
- ldr r3, [r0]
- ldr r1, [r3, 0xC]
- subs r1, 0x1
- ldr r2, [r3, 0x8]
- adds r4, r0, 0
- cmp r2, r1
- bge _0801C870
- ldr r0, [r3, 0x20]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801C868
- bl sub_8013F84
-_0801C868:
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- adds r0, 0x1
- str r0, [r1, 0x20]
-_0801C870:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r1, [r1, 0x24]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801C88C
- cmp r0, 0x2
- beq _0801C8B0
- b _0801C8BC
- .align 2, 0
-_0801C888: .4byte gUnknown_203B240
-_0801C88C:
- movs r0, 0
- bl PlayMenuSoundEffect
- ldr r0, [r4]
- ldr r1, [r0, 0x8]
- adds r1, 0x1
- str r1, [r0, 0x8]
- ldr r0, [r0, 0xC]
- cmp r1, r0
- bge _0801C8A8
- movs r0, 0x1
- bl sub_801C6D0
- b _0801C8BC
-_0801C8A8:
- movs r0, 0
- bl sub_801C6D0
- b _0801C8BC
-_0801C8B0:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- bl sub_801C6D0
-_0801C8BC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801C848
-
- thumb_func_start sub_801C8C4
-sub_801C8C4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- adds r6, r1, 0
- mov r9, r2
- mov r10, r3
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- beq _0801C8E4
- movs r0, 0
- b _0801C9D0
-_0801C8E4:
- ldr r5, _0801C9E0
- ldr r0, [r5]
- cmp r0, 0
- bne _0801C8F6
- ldr r0, _0801C9E4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
-_0801C8F6:
- ldr r0, [r5]
- str r4, [r0]
- bl sub_801CF94
- ldr r0, [r5]
- movs r4, 0x9D
- lsls r4, 3
- adds r1, r0, r4
- str r6, [r1]
- ldr r1, _0801C9E8
- mov r8, r1
- adds r2, r0, r1
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- movs r7, 0x9E
- lsls r7, 3
- adds r1, r7
- adds r1, r0, r1
- str r1, [r2]
- adds r0, r7
- bl sub_8006518
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r2, [r4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r7
- ldr r0, _0801C9EC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r5]
- mov r1, r8
- adds r0, r2, r1
- ldr r1, [r0]
- movs r3, 0xAA
- lsls r3, 3
- adds r0, r2, r3
- str r0, [r1, 0x14]
- mov r4, r9
- cmp r4, 0
- beq _0801C96C
- movs r1, 0x9D
- lsls r1, 3
- adds r0, r2, r1
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- subs r3, 0x58
- adds r1, r2, r3
- adds r1, r0
- ldr r0, [r4]
- str r0, [r1]
-_0801C96C:
- ldr r0, [r5]
- add r0, r8
- ldr r0, [r0]
- mov r1, r10
- bl sub_8012D08
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, r7
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- ldr r0, _0801C9F0
- adds r4, r0
- bl sub_801CE58
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r10
- adds r3, r6, 0
- bl sub_8013818
- ldr r0, _0801C9F4
- ldr r4, [r5]
- ldr r1, [r0]
- ldr r0, [r4]
- cmp r1, r0
- bne _0801C9C6
- ldr r0, _0801C9F8
- ldrh r1, [r0]
- ldr r2, _0801C9FC
- adds r0, r4, r2
- strh r1, [r0]
- ldr r0, _0801CA00
- ldrh r1, [r0]
- ldr r3, _0801CA04
- adds r0, r4, r3
- strh r1, [r0]
- ldr r1, _0801C9F0
- adds r0, r4, r1
- bl sub_8013984
-_0801C9C6:
- bl sub_801CC38
- bl sub_801CCD8
- movs r0, 0x1
-_0801C9D0:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801C9E0: .4byte gUnknown_203B244
-_0801C9E4: .4byte 0x00000554
-_0801C9E8: .4byte 0x000004ec
-_0801C9EC: .4byte gUnknown_80DBE54
-_0801C9F0: .4byte 0x000004b4
-_0801C9F4: .4byte gUnknown_203B248
-_0801C9F8: .4byte gUnknown_203B24C
-_0801C9FC: .4byte 0x000004cc
-_0801CA00: .4byte gUnknown_203B24E
-_0801CA04: .4byte 0x000004d2
- thumb_func_end sub_801C8C4
-
- thumb_func_start sub_801CA08
-sub_801CA08:
- push {r4-r6,lr}
- lsls r0, 24
- cmp r0, 0
- bne _0801CA28
- ldr r0, _0801CA20
- ldr r0, [r0]
- ldr r1, _0801CA24
- adds r0, r1
- bl sub_8013660
- movs r0, 0
- b _0801CB1E
- .align 2, 0
-_0801CA20: .4byte gUnknown_203B244
-_0801CA24: .4byte 0x000004b4
-_0801CA28:
- ldr r0, _0801CA44
- ldr r0, [r0]
- ldr r1, _0801CA48
- adds r0, r1
- bl GetKeyPress
- subs r0, 0x1
- cmp r0, 0x5
- bhi _0801CAF2
- lsls r0, 2
- ldr r1, _0801CA4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801CA44: .4byte gUnknown_203B244
-_0801CA48: .4byte 0x000004b4
-_0801CA4C: .4byte _0801CA50
- .align 2, 0
-_0801CA50:
- .4byte _0801CA72
- .4byte _0801CA68
- .4byte _0801CAF2
- .4byte _0801CAE8
- .4byte _0801CA7C
- .4byte _0801CA7C
-_0801CA68:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0801CB1E
-_0801CA72:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _0801CB1E
-_0801CA7C:
- ldr r0, _0801CAD8
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0801CAF2
- bl sub_801CB24
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_801CFE0
- movs r6, 0
- cmp r0, 0
- bne _0801CAB0
- bl sub_8090A34
- adds r4, r0, 0
- bl sub_801CFB8
- adds r4, r0
- cmp r4, 0x13
- bgt _0801CAAC
- movs r6, 0x1
-_0801CAAC:
- cmp r6, 0
- beq _0801CAE0
-_0801CAB0:
- movs r0, 0x6
- bl PlayMenuSoundEffect
- ldr r0, _0801CAD8
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r2, r0, 0
- adds r2, 0xF4
- adds r2, r1
- ldr r1, [r2]
- movs r3, 0x1
- eors r1, r3
- str r1, [r2]
- ldr r1, _0801CADC
- adds r0, r1
- movs r1, 0
- bl sub_80138B8
- b _0801CB18
- .align 2, 0
-_0801CAD8: .4byte gUnknown_203B244
-_0801CADC: .4byte 0x000004b4
-_0801CAE0:
- movs r0, 0x2
- bl PlayMenuSoundEffect
- b _0801CAF2
-_0801CAE8:
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _0801CB1E
-_0801CAF2:
- ldr r0, _0801CB0C
- ldr r0, [r0]
- ldr r1, _0801CB10
- adds r0, r1
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801CB14
- movs r0, 0
- b _0801CB1E
- .align 2, 0
-_0801CB0C: .4byte gUnknown_203B244
-_0801CB10: .4byte 0x000004b4
-_0801CB14:
- bl sub_801CC38
-_0801CB18:
- bl sub_801CCD8
- movs r0, 0x1
-_0801CB1E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801CA08
-
- thumb_func_start sub_801CB24
-sub_801CB24:
- ldr r0, _0801CB50
- ldr r0, [r0]
- ldr r2, _0801CB54
- adds r1, r0, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- movs r3, 0x9A
- lsls r3, 3
- adds r1, r0, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- muls r2, r1
- ldr r3, _0801CB58
- adds r1, r0, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- adds r2, r1
- adds r0, 0x4
- adds r0, r2
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0801CB50: .4byte gUnknown_203B244
-_0801CB54: .4byte 0x000004d2
-_0801CB58: .4byte 0x000004cc
- thumb_func_end sub_801CB24
-
- thumb_func_start sub_801CB5C
-sub_801CB5C:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetUnusedInputStruct
- ldr r5, _0801CBAC
- ldr r0, [r5]
- movs r1, 0x9E
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_801CE58
- adds r2, r0, 0
- ldr r0, [r5]
- ldr r3, _0801CBB0
- adds r1, r0, r3
- strh r2, [r1]
- ldr r1, _0801CBB4
- adds r0, r1
- bl sub_8013984
- bl sub_801CC38
- bl sub_801CCD8
- cmp r4, 0
- beq _0801CBA6
- ldr r0, [r5]
- ldr r3, _0801CBB4
- adds r0, r3
- bl AddMenuCursorSprite
-_0801CBA6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801CBAC: .4byte gUnknown_203B244
-_0801CBB0: .4byte 0x000004d6
-_0801CBB4: .4byte 0x000004b4
- thumb_func_end sub_801CB5C
-
- thumb_func_start sub_801CBB8
-sub_801CBB8:
- push {r4-r6,lr}
- ldr r5, _0801CC1C
- ldr r2, [r5]
- cmp r2, 0
- beq _0801CC16
- ldr r1, _0801CC20
- ldr r0, [r2]
- str r0, [r1]
- ldr r1, _0801CC24
- ldr r3, _0801CC28
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _0801CC2C
- ldr r6, _0801CC30
- adds r0, r2, r6
- ldrh r0, [r0]
- strh r0, [r1]
- movs r1, 0x9D
- lsls r1, 3
- adds r0, r2, r1
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- movs r4, 0x9E
- lsls r4, 3
- adds r1, r4
- ldr r0, _0801CC34
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- bl MemoryFree
- movs r0, 0
- str r0, [r5]
-_0801CC16:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801CC1C: .4byte gUnknown_203B244
-_0801CC20: .4byte gUnknown_203B248
-_0801CC24: .4byte gUnknown_203B24C
-_0801CC28: .4byte 0x000004cc
-_0801CC2C: .4byte gUnknown_203B24E
-_0801CC30: .4byte 0x000004d2
-_0801CC34: .4byte gUnknown_80DBE3C
- thumb_func_end sub_801CBB8
-
- thumb_func_start sub_801CC38
-sub_801CC38:
- push {r4,r5,lr}
- ldr r4, _0801CCC4
- ldr r0, [r4]
- movs r1, 0xAA
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _0801CCC8
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r1, 0x1
- adds r0, r1
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _0801CCCC
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- ldr r2, _0801CCD0
- adds r0, r2
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r3, [r4]
- movs r2, 0x9D
- lsls r2, 3
- adds r5, r3, r2
- ldr r2, [r5]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r3, r1
- ldr r2, _0801CCD4
- adds r1, r2
- asrs r2, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r3, r0
- adds r2, 0x2
- movs r0, 0xA0
- lsls r0, 3
- adds r3, r0
- strh r2, [r3]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- movs r1, 0x9E
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801CCC4: .4byte gUnknown_203B244
-_0801CCC8: .4byte 0x00000551
-_0801CCCC: .4byte 0x00000553
-_0801CCD0: .4byte 0x000004ce
-_0801CCD4: .4byte 0x000004fe
- thumb_func_end sub_801CC38
-
- thumb_func_start sub_801CCD8
-sub_801CCD8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x58
- ldr r4, _0801CE38
- ldr r0, [r4]
- movs r5, 0x9D
- lsls r5, 3
- adds r0, r5
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, r5
- ldr r0, [r0]
- bl sub_80073B8
- ldr r2, _0801CE3C
- ldr r0, [r4]
- adds r0, r5
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r3, [r4]
- ldr r1, _0801CE40
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- ldr r2, _0801CE44
- adds r1, r3, r2
- movs r6, 0
- ldrsh r2, [r1, r6]
- adds r2, 0x1
- movs r1, 0x7
- str r1, [sp]
- adds r3, r5
- ldr r1, [r3]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r7, 0
- ldr r0, [r4]
- ldr r1, _0801CE48
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r7, r0
- bge _0801CE1A
- adds r6, r4, 0
- ldr r3, _0801CE4C
- mov r9, r3
- mov r8, r5
-_0801CD50:
- ldr r1, [r6]
- ldr r4, _0801CE44
- adds r0, r1, r4
- movs r3, 0
- ldrsh r2, [r0, r3]
- subs r4, 0x2
- adds r0, r1, r4
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r2
- adds r0, r7
- adds r1, 0x4
- adds r1, r0
- ldrb r5, [r1]
- add r0, sp, 0x8
- adds r1, r5, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r0, [r6]
- add r0, r9
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r6]
- add r0, r8
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x8
- bl xxx_call_draw_string
- ldr r0, [r6]
- add r0, r9
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r4, [r6]
- ldr r2, _0801CE50
- adds r0, r4, r2
- ldr r0, [r0]
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- lsls r0, 3
- subs r0, 0x2
- ldr r2, _0801CE54
- ldr r2, [r2]
- lsls r3, r5, 1
- adds r2, 0x50
- adds r2, r3
- ldrh r2, [r2]
- movs r3, 0x5
- str r3, [sp]
- add r4, r8
- ldr r3, [r4]
- str r3, [sp, 0x4]
- movs r3, 0x3
- bl sub_8012BC4
- adds r0, r5, 0
- bl sub_801CFE0
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0801CE0A
- ldr r0, [r6]
- ldr r4, _0801CE4C
- adds r0, r4
- adds r1, r7, 0
- bl sub_8013800
- adds r2, r0, 0
- ldr r1, [r6]
- movs r3, 0x9D
- lsls r3, 3
- adds r0, r1, r3
- ldr r0, [r0]
- adds r4, 0x38
- adds r1, r4
- ldr r1, [r1]
- movs r4, 0xC
- ldrsh r3, [r1, r4]
- subs r3, 0x1
- lsls r3, 3
- movs r1, 0xA
- str r1, [sp]
- movs r1, 0x8
- bl sub_8007B7C
-_0801CE0A:
- adds r7, 0x1
- ldr r0, [r6]
- ldr r1, _0801CE48
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r7, r0
- blt _0801CD50
-_0801CE1A:
- ldr r0, _0801CE38
- ldr r0, [r0]
- movs r3, 0x9D
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0x58
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801CE38: .4byte gUnknown_203B244
-_0801CE3C: .4byte gUnknown_80DBE6C
-_0801CE40: .4byte 0x00000552
-_0801CE44: .4byte 0x000004d2
-_0801CE48: .4byte 0x000004ce
-_0801CE4C: .4byte 0x000004b4
-_0801CE50: .4byte 0x000004ec
-_0801CE54: .4byte gUnknown_203B460
- thumb_func_end sub_801CCD8
-
- thumb_func_start sub_801CE58
-sub_801CE58:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r3, 0
- movs r6, 0x1
- ldr r4, _0801CF0C
-_0801CE68:
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x2
- beq _0801CE92
- ldr r0, _0801CF10
- ldr r0, [r0]
- lsls r1, r6, 1
- adds r0, 0x50
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _0801CE9C
- lsls r0, r6, 24
- lsrs r0, 24
- str r3, [sp]
- bl sub_8091524
- lsls r0, 24
- ldr r3, [sp]
- cmp r0, 0
- beq _0801CE9C
-_0801CE92:
- ldr r0, [r4]
- adds r0, 0x4
- adds r0, r3
- strb r6, [r0]
- adds r3, 0x1
-_0801CE9C:
- adds r6, 0x1
- cmp r6, 0xEF
- ble _0801CE68
- movs r6, 0
- subs r0, r3, 0x1
- mov r9, r0
- cmp r6, r9
- bge _0801CEFC
-_0801CEAC:
- adds r0, r6, 0x1
- mov r8, r0
- mov r5, r8
- cmp r8, r3
- bge _0801CEF6
- ldr r7, _0801CF0C
-_0801CEB8:
- ldr r0, [r7]
- adds r0, 0x4
- adds r0, r6
- ldrb r0, [r0]
- str r3, [sp]
- bl GetItemOrder
- adds r4, r0, 0
- ldr r0, [r7]
- adds r0, 0x4
- adds r0, r5
- ldrb r0, [r0]
- bl GetItemOrder
- ldr r3, [sp]
- cmp r4, r0
- ble _0801CEF0
- ldr r0, [r7]
- adds r0, 0x4
- adds r1, r0, r6
- ldrb r2, [r1]
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x4
- adds r0, r5
- strb r2, [r0]
-_0801CEF0:
- adds r5, 0x1
- cmp r5, r3
- blt _0801CEB8
-_0801CEF6:
- mov r6, r8
- cmp r6, r9
- blt _0801CEAC
-_0801CEFC:
- adds r0, r3, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801CF0C: .4byte gUnknown_203B244
-_0801CF10: .4byte gUnknown_203B460
- thumb_func_end sub_801CE58
-
- thumb_func_start sub_801CF14
-sub_801CF14:
- push {r4,lr}
- cmp r0, 0x2
- bne _0801CF1E
-_0801CF1A:
- movs r0, 0
- b _0801CF46
-_0801CF1E:
- movs r4, 0x1
-_0801CF20:
- ldr r0, _0801CF4C
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x50
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _0801CF3E
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- bne _0801CF1A
-_0801CF3E:
- adds r4, 0x1
- cmp r4, 0xEF
- ble _0801CF20
- movs r0, 0x1
-_0801CF46:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0801CF4C: .4byte gUnknown_203B460
- thumb_func_end sub_801CF14
-
- thumb_func_start sub_801CF50
-sub_801CF50:
- push {r4,r5,lr}
- cmp r0, 0x2
- bne _0801CF5A
-_0801CF56:
- movs r0, 0
- b _0801CF84
-_0801CF5A:
- movs r4, 0x1
- ldr r5, _0801CF8C
-_0801CF5E:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _0801CF7C
- ldr r0, _0801CF90
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x50
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r5
- bls _0801CF56
-_0801CF7C:
- adds r4, 0x1
- cmp r4, 0xEF
- ble _0801CF5E
- movs r0, 0x1
-_0801CF84:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801CF8C: .4byte 0x000003e6
-_0801CF90: .4byte gUnknown_203B460
- thumb_func_end sub_801CF50
-
- thumb_func_start sub_801CF94
-sub_801CF94:
- push {r4,lr}
- movs r2, 0
- ldr r4, _0801CFB4
- movs r3, 0
-_0801CF9C:
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, 0xF4
- adds r0, r1
- str r3, [r0]
- adds r2, 0x1
- cmp r2, 0xEF
- ble _0801CF9C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801CFB4: .4byte gUnknown_203B244
- thumb_func_end sub_801CF94
-
- thumb_func_start sub_801CFB8
-sub_801CFB8:
- push {lr}
- movs r3, 0
- ldr r0, _0801CFDC
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF4
- movs r2, 0xEF
-_0801CFC6:
- ldr r0, [r1]
- cmp r0, 0
- beq _0801CFCE
- adds r3, 0x1
-_0801CFCE:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _0801CFC6
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0801CFDC: .4byte gUnknown_203B244
- thumb_func_end sub_801CFB8
-
- thumb_func_start sub_801CFE0
-sub_801CFE0:
- lsls r0, 24
- ldr r1, _0801CFF0
- ldr r1, [r1]
- lsrs r0, 22
- adds r1, 0xF4
- adds r1, r0
- ldr r0, [r1]
- bx lr
- .align 2, 0
-_0801CFF0: .4byte gUnknown_203B244
- thumb_func_end sub_801CFE0
-
- thumb_func_start sub_801CFF4
-sub_801CFF4:
- lsls r0, 24
- ldr r2, _0801D004
- ldr r2, [r2]
- lsrs r0, 22
- adds r2, 0xF4
- adds r2, r0
- str r1, [r2]
- bx lr
- .align 2, 0
-_0801D004: .4byte gUnknown_203B244
- thumb_func_end sub_801CFF4
-
- thumb_func_start sub_801D008
-sub_801D008:
- ldr r0, _0801D010
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0801D010: .4byte gUnknown_203B244
- thumb_func_end sub_801D008
-
- thumb_func_start sub_801D014
-sub_801D014:
- push {r4,r5,lr}
- adds r5, r0, 0
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _0801D054
- movs r0, 0x8C
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- adds r2, r0, 0
- str r2, [r4]
- ldr r0, _0801D058
- ldr r0, [r0]
- str r0, [r2, 0x14]
- str r5, [r2]
- cmp r5, 0
- beq _0801D088
- movs r3, 0
- ldr r0, _0801D05C
- ldr r1, [r0]
- adds r4, r0, 0
- cmp r5, r1
- bne _0801D060
- strh r3, [r2, 0x4]
- b _0801D08C
- .align 2, 0
-_0801D054: .4byte gUnknown_203B250
-_0801D058: .4byte gUnknown_203B254
-_0801D05C: .4byte gRecruitedPokemonRef
-_0801D060:
- adds r3, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r3, r0
- bgt _0801D08C
- ldr r0, _0801D084
- ldr r2, [r0]
- lsls r0, r3, 16
- asrs r0, 16
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r4]
- adds r0, r1
- ldr r1, [r2]
- cmp r1, r0
- bne _0801D060
- strh r3, [r2, 0x4]
- b _0801D08C
- .align 2, 0
-_0801D084: .4byte gUnknown_203B250
-_0801D088:
- ldr r0, _0801D0C4
- strh r0, [r2, 0x4]
-_0801D08C:
- bl sub_80A5728
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- ldr r4, _0801D0C8
- ldr r1, [r4]
- movs r5, 0
- strb r0, [r1, 0x6]
- ldr r0, [r4]
- strb r5, [r0, 0x8]
- ldr r0, [r4]
- strb r5, [r0, 0x9]
- bl sub_808D33C
- ldr r1, [r4]
- str r0, [r1, 0xC]
- strb r5, [r1, 0x7]
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0801D0CC
- movs r0, 0x5
- bl sub_801D208
- b _0801D0D2
- .align 2, 0
-_0801D0C4: .4byte 0x0000019d
-_0801D0C8: .4byte gUnknown_203B250
-_0801D0CC:
- movs r0, 0
- bl sub_801D208
-_0801D0D2:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801D014
-
- thumb_func_start sub_801D0DC
-sub_801D0DC:
- push {lr}
- ldr r0, _0801D0F4
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- cmp r0, 0xC
- bhi _0801D16C
- lsls r0, 2
- ldr r1, _0801D0F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801D0F4: .4byte gUnknown_203B250
-_0801D0F8: .4byte _0801D0FC
- .align 2, 0
-_0801D0FC:
- .4byte _0801D130
- .4byte _0801D130
- .4byte _0801D16C
- .4byte _0801D136
- .4byte _0801D13C
- .4byte _0801D142
- .4byte _0801D148
- .4byte _0801D148
- .4byte _0801D14E
- .4byte _0801D154
- .4byte _0801D15A
- .4byte _0801D160
- .4byte _0801D166
-_0801D130:
- bl sub_801D680
- b _0801D170
-_0801D136:
- bl sub_801D760
- b _0801D170
-_0801D13C:
- bl sub_801D77C
- b _0801D170
-_0801D142:
- bl sub_801D798
- b _0801D170
-_0801D148:
- bl sub_801D7CC
- b _0801D170
-_0801D14E:
- bl sub_801D808
- b _0801D170
-_0801D154:
- bl sub_801D824
- b _0801D170
-_0801D15A:
- bl sub_801D840
- b _0801D170
-_0801D160:
- bl sub_801D85C
- b _0801D170
-_0801D166:
- bl sub_801D878
- b _0801D170
-_0801D16C:
- movs r0, 0x3
- b _0801D172
-_0801D170:
- movs r0, 0
-_0801D172:
- pop {r1}
- bx r1
- thumb_func_end sub_801D0DC
-
- thumb_func_start sub_801D178
-sub_801D178:
- push {r4,lr}
- ldr r0, _0801D188
- ldr r4, [r0]
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- beq _0801D18C
- movs r0, 0x2
- b _0801D1CC
- .align 2, 0
-_0801D188: .4byte gUnknown_203B250
-_0801D18C:
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- beq _0801D196
- movs r0, 0x3
- b _0801D1CC
-_0801D196:
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- beq _0801D1A0
- movs r0, 0x1
- b _0801D1CC
-_0801D1A0:
- bl sub_808D33C
- ldr r1, [r4, 0xC]
- cmp r1, r0
- bne _0801D1C6
- movs r0, 0x7
- bl sub_80A7AE8
- lsls r0, 16
- cmp r0, 0
- blt _0801D1CA
- bl sub_808D3F8
- ldrh r0, [r0]
- lsrs r0, 1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0801D1CA
-_0801D1C6:
- movs r0, 0x4
- b _0801D1CC
-_0801D1CA:
- movs r0, 0
-_0801D1CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D178
-
- thumb_func_start sub_801D1D4
-sub_801D1D4:
- ldr r0, _0801D1DC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- bx lr
- .align 2, 0
-_0801D1DC: .4byte gUnknown_203B250
- thumb_func_end sub_801D1D4
-
- thumb_func_start sub_801D1E0
-sub_801D1E0:
- push {r4,lr}
- ldr r4, _0801D200
- ldr r2, [r4]
- cmp r2, 0
- beq _0801D1FA
- ldr r0, _0801D204
- ldr r1, [r2, 0x14]
- str r1, [r0]
- adds r0, r2, 0
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801D1FA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801D200: .4byte gUnknown_203B250
-_0801D204: .4byte gUnknown_203B254
- thumb_func_end sub_801D1E0
-
- thumb_func_start sub_801D208
-sub_801D208:
- push {lr}
- ldr r1, _0801D21C
- ldr r1, [r1]
- str r0, [r1, 0x10]
- bl sub_801D220
- bl sub_801D3A8
- pop {r0}
- bx r0
- .align 2, 0
-_0801D21C: .4byte gUnknown_203B250
- thumb_func_end sub_801D208
-
- thumb_func_start sub_801D220
-sub_801D220:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, _0801D248
- ldr r0, [r4]
- adds r0, 0xB8
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- cmp r0, 0
- beq _0801D250
- cmp r0, 0x1
- beq _0801D2C0
- movs r2, 0
- adds r7, r4, 0
- ldr r3, _0801D24C
- b _0801D368
- .align 2, 0
-_0801D248: .4byte gUnknown_203B250
-_0801D24C: .4byte gUnknown_80DBE7C
-_0801D250:
- bl sub_801D4C0
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0801D290
- adds r7, r4, 0
- ldr r0, _0801D288
- mov r9, r0
- mov r12, r7
- ldr r2, _0801D28C
- mov r8, r2
- movs r3, 0
- movs r2, 0x3
-_0801D26C:
- mov r4, r12
- ldr r1, [r4]
- adds r1, r3
- adds r1, 0xB8
- mov r0, r8
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801D26C
- b _0801D2F6
- .align 2, 0
-_0801D288: .4byte gUnknown_80DBE98
-_0801D28C: .4byte gUnknown_80DBE7C
-_0801D290:
- adds r7, r4, 0
- mov r8, r7
- ldr r6, _0801D2BC
- mov r9, r6
- movs r3, 0
- movs r2, 0x3
-_0801D29C:
- mov r0, r8
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0xB8
- mov r0, r9
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- movs r0, 0x18
- add r9, r0
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801D29C
- b _0801D34E
- .align 2, 0
-_0801D2BC: .4byte gUnknown_80DBEB0
-_0801D2C0:
- bl sub_801D4C0
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0801D324
- adds r7, r4, 0
- ldr r2, _0801D31C
- mov r9, r2
- mov r8, r7
- ldr r3, _0801D320
- mov r12, r3
- movs r3, 0
- movs r2, 0x3
-_0801D2DC:
- mov r4, r8
- ldr r1, [r4]
- adds r1, r3
- adds r1, 0xB8
- mov r0, r12
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801D2DC
-_0801D2F6:
- ldr r1, [r7]
- adds r1, 0xB8
- mov r0, r9
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xB8
- adds r1, 0x68
- bl sub_8012CAC
- ldr r0, [r7]
- adds r0, 0xC4
- movs r1, 0x9
- strh r1, [r0]
- b _0801D384
- .align 2, 0
-_0801D31C: .4byte gUnknown_80DBE98
-_0801D320: .4byte gUnknown_80DBE7C
-_0801D324:
- adds r7, r4, 0
- mov r8, r7
- ldr r6, _0801D364
- mov r9, r6
- movs r3, 0
- movs r2, 0x3
-_0801D330:
- mov r0, r8
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0xB8
- mov r0, r9
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- movs r0, 0x18
- add r9, r0
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801D330
-_0801D34E:
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xB8
- adds r1, 0x68
- bl sub_8012CAC
- ldr r0, [r7]
- adds r0, 0xC4
- movs r1, 0x8
- strh r1, [r0]
- b _0801D384
- .align 2, 0
-_0801D364: .4byte gUnknown_80DBEB0
-_0801D368:
- ldr r0, [r7]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- adds r0, 0xB8
- adds r1, r3, 0
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- adds r2, 0x1
- cmp r2, 0x3
- ble _0801D368
-_0801D384:
- bl ResetUnusedInputStruct
- ldr r0, _0801D3A4
- ldr r0, [r0]
- adds r0, 0xB8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801D3A4: .4byte gUnknown_203B250
- thumb_func_end sub_801D220
-
- thumb_func_start sub_801D3A8
-sub_801D3A8:
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r1, _0801D3C4
- ldr r0, [r1]
- ldr r0, [r0, 0x10]
- adds r6, r1, 0
- cmp r0, 0xC
- bls _0801D3BA
- b _0801D4B6
-_0801D3BA:
- lsls r0, 2
- ldr r1, _0801D3C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801D3C4: .4byte gUnknown_203B250
-_0801D3C8: .4byte _0801D3CC
- .align 2, 0
-_0801D3CC:
- .4byte _0801D400
- .4byte _0801D400
- .4byte _0801D4B6
- .4byte _0801D458
- .4byte _0801D462
- .4byte _0801D468
- .4byte _0801D472
- .4byte _0801D47A
- .4byte _0801D482
- .4byte _0801D490
- .4byte _0801D49C
- .4byte _0801D4AA
- .4byte _0801D4B2
-_0801D400:
- ldr r0, [r6]
- ldr r5, [r0]
- cmp r5, 0
- beq _0801D438
- ldr r4, _0801D434
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl sub_808D9AC
- ldr r2, [r6]
- str r4, [r2, 0x18]
- adds r0, r2, 0
- adds r0, 0x18
- adds r1, r2, 0
- adds r1, 0x68
- adds r3, r2, 0
- adds r3, 0xA8
- ldr r2, [r2, 0x14]
- str r2, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- bl sub_8012D60
- b _0801D4B6
- .align 2, 0
-_0801D434: .4byte gAvailablePokemonNames
-_0801D438:
- bl sub_801D894
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x18
- adds r1, r2, 0
- adds r1, 0x68
- adds r3, r2, 0
- adds r3, 0xA8
- ldr r2, [r2, 0x14]
- str r2, [sp]
- str r5, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0801D4B6
-_0801D458:
- ldr r0, [r6]
- ldr r0, [r0]
- bl sub_80227B8
- b _0801D4B6
-_0801D462:
- bl sub_8027074
- b _0801D4B6
-_0801D468:
- ldr r0, [r6]
- ldr r0, [r0]
- bl sub_8025EF4
- b _0801D4B6
-_0801D472:
- movs r0, 0
- bl sub_80252F0
- b _0801D4B6
-_0801D47A:
- movs r0, 0x1
- bl sub_80252F0
- b _0801D4B6
-_0801D482:
- ldr r0, [r6]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- movs r1, 0x2
- bl sub_8024458
- b _0801D4B6
-_0801D490:
- ldr r0, [r6]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- bl sub_801BEEC
- b _0801D4B6
-_0801D49C:
- ldr r0, [r6]
- ldrb r0, [r0, 0x6]
- movs r1, 0x1
- movs r2, 0x2
- bl sub_8021774
- b _0801D4B6
-_0801D4AA:
- movs r0, 0
- bl sub_802C860
- b _0801D4B6
-_0801D4B2:
- bl sub_801DCC4
-_0801D4B6:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_801D3A8
-
- thumb_func_start sub_801D4C0
-sub_801D4C0:
- push {r4-r7,lr}
- movs r6, 0
- ldr r4, _0801D554
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r0, [r4]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0801D568
- bl sub_8096E2C
- lsls r0, 24
- cmp r0, 0
- beq _0801D534
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x6C]
- ldr r0, _0801D558
- str r0, [r1, 0x68]
- bl sub_8090A34
- cmp r0, 0
- bne _0801D4FE
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0x1
- strh r1, [r0]
-_0801D4FE:
- ldr r1, [r4]
- ldr r0, _0801D55C
- str r0, [r1, 0x70]
- movs r0, 0x4
- str r0, [r1, 0x74]
- movs r6, 0x2
- movs r0, 0x2
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0801D534
- ldr r1, [r4]
- ldr r0, _0801D560
- str r0, [r1, 0x78]
- movs r0, 0x9
- str r0, [r1, 0x7C]
- bl sub_802C83C
- lsls r0, 24
- cmp r0, 0
- beq _0801D532
- ldr r0, [r4]
- adds r0, 0xAC
- movs r1, 0x1
- strh r1, [r0]
-_0801D532:
- movs r6, 0x3
-_0801D534:
- ldr r4, _0801D554
- ldr r2, [r4]
- lsls r3, r6, 3
- adds r0, r2, 0
- adds r0, 0x68
- adds r0, r3
- ldr r1, _0801D564
- str r1, [r0]
- adds r2, 0x6C
- adds r2, r3
- movs r0, 0xB
- str r0, [r2]
- adds r6, 0x1
- adds r7, r4, 0
- b _0801D5E6
- .align 2, 0
-_0801D554: .4byte gUnknown_203B250
-_0801D558: .4byte gMenuItems
-_0801D55C: .4byte gMenuTeam
-_0801D560: .4byte gMenuJobList
-_0801D564: .4byte gMenuOthers
-_0801D568:
- ldr r0, _0801D63C
- ldr r1, _0801D640
- bl strcpy
- bl sub_8096E2C
- lsls r0, 24
- cmp r0, 0
- beq _0801D5B6
- ldr r1, [r4]
- ldr r0, _0801D644
- ldr r0, [r0]
- str r0, [r1, 0x68]
- movs r0, 0x5
- str r0, [r1, 0x6C]
- movs r0, 0x4
- bl sub_8024108
- lsls r0, 24
- cmp r0, 0
- beq _0801D59A
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0x1
- strh r1, [r0]
-_0801D59A:
- movs r6, 0x1
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x74]
- ldr r0, _0801D648
- str r0, [r1, 0x70]
- bl sub_8090A34
- cmp r0, 0
- bne _0801D5B4
- ldr r0, [r4]
- adds r0, 0xAA
- strh r6, [r0]
-_0801D5B4:
- movs r6, 0x2
-_0801D5B6:
- ldr r5, _0801D64C
- ldr r1, [r5]
- lsls r2, r6, 3
- adds r3, r1, 0
- adds r3, 0x68
- adds r4, r3, r2
- ldr r0, _0801D650
- ldr r0, [r0]
- str r0, [r4]
- adds r1, 0x6C
- adds r2, r1, r2
- movs r0, 0x8
- str r0, [r2]
- adds r6, 0x1
- lsls r2, r6, 3
- adds r3, r2
- ldr r0, _0801D654
- ldr r0, [r0]
- str r0, [r3]
- adds r1, r2
- movs r0, 0xA
- str r0, [r1]
- adds r6, 0x1
- adds r7, r5, 0
-_0801D5E6:
- ldr r4, [r7]
- lsls r2, r6, 3
- adds r0, r4, 0
- adds r0, 0x68
- adds r0, r2
- movs r1, 0
- str r1, [r0]
- adds r1, r4, 0
- adds r1, 0x6C
- adds r2, r1, r2
- movs r0, 0x1
- str r0, [r2]
- movs r3, 0
- cmp r3, r6
- bge _0801D622
- adds r5, r4, 0
- adds r4, 0xA8
- adds r2, r1, 0
-_0801D60A:
- ldrh r0, [r4]
- cmp r0, 0
- bne _0801D618
- ldr r1, [r2]
- ldr r0, [r5, 0x14]
- cmp r1, r0
- beq _0801D67A
-_0801D618:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r6
- blt _0801D60A
-_0801D622:
- movs r3, 0
- cmp r3, r6
- bge _0801D67A
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xA8
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801D658
- ldr r0, [r1, 0x6C]
- str r0, [r1, 0x14]
- b _0801D67A
- .align 2, 0
-_0801D63C: .4byte gAvailablePokemonNames
-_0801D640: .4byte gUnknown_80DBF34
-_0801D644: .4byte gUnknown_80D49A8
-_0801D648: .4byte gMenuItems
-_0801D64C: .4byte gUnknown_203B250
-_0801D650: .4byte gUnknown_80D4970
-_0801D654: .4byte gUnknown_80D49B4
-_0801D658:
- adds r3, 0x1
- cmp r3, r6
- bge _0801D67A
- ldr r2, [r7]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0xA8
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0801D658
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x6C
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x14]
-_0801D67A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801D4C0
-
.align 2,0
diff --git a/data/data_80B9BB8.s b/data/data_80B9BB8.s
index e88989f..0258bdd 100644
--- a/data/data_80B9BB8.s
+++ b/data/data_80B9BB8.s
@@ -671,2393 +671,3 @@ gUnknown_80D42D4: @ 80D42D4
.string "pksdir0\0"
.string "pksdir0\0"
.string "pksdir0\0"
-
- .global gSaveCorrupted
-gSaveCorrupted: @ 80D4354
- .string "#+The game data is corrupted.\n"
- .string "#+Your data will be erased.\0"
- .align 2,0
- .string "pksdir0\0"
-
- .global gSavingAdventure
-gSavingAdventure: @ 80D4398
- .string "#+Saving your adventure...\n"
- .string "#+Please don~27t turn off the power.\0"
- .align 2,0
-
- .global gWriteGamePak
-gWriteGamePak: @ 80D43D8
- .string "#+Writing to GBA Game Pak.\n"
- .string "#+Do not remove the GBA Game Pak.\n"
- .string "#+Please wait with the power on.\0"
- .align 2,0
-
- .global gSaveCompleted
-gSaveCompleted: @ 80D4438
- .string "#+Save completed!\0"
- .align 2,0
-
- .global gSaveNotWritten
-gSaveNotWritten: @ 80D444C
- .string "#+The data could not be written.\n"
- .string "#+Please turn off the power and remove\n"
- .string "#+and reinsert the DS Card.\0"
- .align 2,0
-
- .global gSaveFailed
-gSaveFailed: @ 80D44B0
- .string "#+Save failed.\0"
- .align 2,0
- .string "pksdir0\0"
-
- .global gUnknown_80D44C8
-gUnknown_80D44C8: @ 80D44C8
- .string "#+Your data was not properly saved~2c\n"
- .string "#+so your game cannot be resumed\n"
- .string "#+from your last spot.#P#+Your last outing is considered a defeat.\n"
- .string "#+Before shutting down~2c save in your\n"
- .string "#+team base~2c or quicksave in a dungeon.\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
-
- .global gUnknown_80D45AC
-gUnknown_80D45AC: @ 80D45AC
- .string "#+Quicksaving your adventure...\n"
- .string "#+Please don~27t turn off the power.\0"
- .align 2,0
-
- .global gUnknown_80D45F4
-gUnknown_80D45F4: @ 80D45F4
- .string "#+Your adventure has been saved.\n"
- .string "#+When you are in a dungeon~2c quicksave\n"
- .string "#+your progress before ending the game.\0"
- .align 2,0
-
- .global gUnknown_80D4668
-gUnknown_80D4668: @ 80D4668
- .string "#+Your adventure has been saved.\n"
- .string "#+When you resume play~2c the quicksave\n"
- .string "#+data will be deleted.#P#+When you are shutting down the game~2c\n"
- .string "#+save your progress in your team base~2c\n"
- .string "#+or quicksave in a dungeon.\0"
- .align 2,0
-
- .global gSaveNotWritten2
-gSaveNotWritten2: @ 80D473C
- .string "#+The data could not be written.\n"
- .string "#+Please turn off the power and remove\n"
- .string "#+and reinsert the DS Card.\0"
- .align 2,0
-
- .global gSaveFailed2
-gSaveFailed2: @ 80D47A0
- .string "#+Save failed.\0"
- .align 2,0
- .string "pksdir0\0"
-
- .global gUnknown_80D47B8
-gUnknown_80D47B8: @ 80D47B8
- .byte 0x07, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00
-
- .global UnkData_80D47C4
- UnkData_80D47C4:
- .byte 0x01, 0x00, 0x10, 0x00
-
- .global gUnknown_80D47C8
-gUnknown_80D47C8: @ 80D47C8
-@ replacing .incbin "baserom.gba", 0x000d47c8, 0x60
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x1a, 0x00, 0x0c, 0x00
- .byte 0x0c, 0x00, 0x00, 0x00
-
- .4byte UnkData_80D47C4
-
- .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
-
- .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
-
- .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
-
- .global gUnknown_80D4828
-gUnknown_80D4828: @ 80D4828
- .string "#C%c%s\0"
- .align 2,0
-
- .global gUnknown_80D4830
-gUnknown_80D4830: @ 80D4830
- .byte 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xe8, 0x03, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0xa0, 0x86, 0x01, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x96, 0x98, 0x00
- .byte 0x00, 0xe1, 0xf5, 0x05
- .asciz "pksdir0"
-
-
- .global gUnknown_80D485C
-gUnknown_80D485C: @ 80D485C
- .4byte Data_80D4878
- .byte 0x01, 0x00, 0x00, 0x00
- .4byte Data_80D4874
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0xFF, 0xFF, 0xFF, 0xFF
-
- .global Data_80D4874
- Data_80D4874:
- .string "No\0"
- .align 2,0
- .global Data_80D4878
- Data_80D4878:
- .string "*Yes\0"
- .align 2,0
-
- .global gUnknown_80D4880
-gUnknown_80D4880: @ 80D4880
- .4byte Data_80D489C
- .byte 0x01, 0x00, 0x00, 0x00
- .4byte Data_80D4898
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00 @ End of table
- .byte 0xFF, 0xFF, 0xFF, 0xFF
-
- .global Data_80D4898
- Data_80D4898:
- .string "*No\0"
- .global Data_80D489C
- Data_80D489C:
- .string "Yes\0"
- .align 2,0
-
- .global gUnknown_80D48A0
-gUnknown_80D48A0: @ 80D48A0
- .byte 0x07, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00
-
- .global gUnknown_80D48AC
-gUnknown_80D48AC: @ 80D48AC
- .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
-
- .global gUnknown_80D48C4
-gUnknown_80D48C4: @ 80D48C4
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x0f, 0x00
- .byte 0x1a, 0x00, 0x05, 0x00
- .byte 0x07, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80D48DC
-gUnknown_80D48DC: @ 80D48DC
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x08, 0x00
- .byte 0x1a, 0x00, 0x05, 0x00
- .byte 0x07, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80D48F4
-gUnknown_80D48F4: @ 80D48F4
- .byte 0x3A, 0x20, 0x00, 0x00 @ maybe just a colon and space
-
- .global gUnknown_80D48F8
-gUnknown_80D48F8: @ 80D48F8
- .string "????\0"
- .align 2,0
-
- .global gUnknown_80D4900
-gUnknown_80D4900: @ 80D4900
- .string "%d\0"
- .align 2,0
-
- .global gUnknown_80D4904
-gUnknown_80D4904: @ 80D4904
- .string "%*d\0"
- .align 2,0
-
- .global gUnknown_80D4908
-gUnknown_80D4908: @ 80D4908
- .string "%0*d\0"
- .align 2,0
-
- .global gUnknown_80D4910
-gUnknown_80D4910: @ 80D4910
- .string "$\0"
- .align 2,0
- .string "pksdir0\0"
-
- .global Yes_80D491C
- Yes_80D491C:
- .string "Yes\0"
-
- .global gUnknown_80D4920
-gUnknown_80D4920: @ 80D4920
- .4byte Yes_80D491C
-
- .global No_80D4924
- No_80D4924:
- .string "No\0"
- .align 2,0
-
- .global gUnknown_80D4928
-gUnknown_80D4928: @ 80D4928
- .4byte No_80D4924
-
- .global CancelText
- CancelText:
- .string "Cancel\0"
- .align 2,0
-
- .global gUnknown_80D4934
-gUnknown_80D4934: @ 80D4934
- .4byte CancelText
-
- .global TrashText
- TrashText:
- .string "Trash \0"
- .align 2,0
-
- .global gUnknown_80D4940
-gUnknown_80D4940: @ 80D4940
- .4byte TrashText
-
- .global DeleteText
- DeleteText:
- .string "Delete\0"
- .align 2,0
-
- .global gUnknown_80D494C
-gUnknown_80D494C: @ 80D494C
- .4byte DeleteText
-
- .global StoreText
- StoreText:
- .string "Store\0"
- .align 2,0
-
- .global gUnknown_80D4958
-gUnknown_80D4958: @ 80D4958
- .4byte StoreText
-
- .global TakeText
- TakeText:
- .string "Take\0"
- .align 2,0
-
- .global gUnknown_80D4964
-gUnknown_80D4964: @ 80D4964
- .4byte TakeText
-
- .global InfoText
- InfoText:
- .string "Info\0"
- .align 2,0
-
- .global gUnknown_80D4970
-gUnknown_80D4970: @ 80D4970
- .4byte InfoText
-
- .global BuyText
- BuyText:
- .string "Buy\0"
- .align 2,0
-
- .global gUnknown_80D4978
-gUnknown_80D4978: @ 80D4978
- .4byte BuyText
-
- .global SellText
- SellText:
- .string "Sell \0"
- .align 2,0
-
- .global gUnknown_80D4984
-gUnknown_80D4984: @ 80D4984
- .4byte SellText
-
- .global AcceptText
- AcceptText:
- .string "Accept\0"
- .align 2,0
-
- .global gUnknown_80D4990
-gUnknown_80D4990: @ 80D4990
- .4byte AcceptText
-
- .global WigglytuffCheck
- WigglytuffCheck:
- .string "Check\0"
- .align 2,0
-
- .global gWigglytuffCheck
-gWigglytuffCheck: @ 80D499C
- .4byte WigglytuffCheck
-
- .global FriendText
- FriendText:
- .string "Friend\0"
- .align 2,0
-
- .global gUnknown_80D49A8
-gUnknown_80D49A8: @ 80D49A8
- .4byte FriendText
-
- .global ExitText
- ExitText:
- .string "Exit\0"
- .align 2,0
-
- .global gUnknown_80D49B4
-gUnknown_80D49B4: @ 80D49B4
- .4byte ExitText
-
- .global QuestionMarkText
- QuestionMarkText:
- .string "???\0"
- .align 2,0
-
- .global gUnknown_80D49BC
-gUnknown_80D49BC: @ 80D49BC
- .4byte QuestionMarkText
-
- .global FelicityDeposit
- FelicityDeposit:
- .string "Deposit?\0"
- .align 2,0
-
- .global gFelicityDeposit
-gFelicityDeposit: @ 80D49CC
- .4byte FelicityDeposit
-
- .global FelicityWithdraw
- FelicityWithdraw:
- .string "Withdraw?\0"
- .align 2,0
-
- .global gFelicityWithdraw
-gFelicityWithdraw: @ 80D49DC
- .4byte FelicityWithdraw
-
- .global gFelicityDialogue
-gFelicityDialogue: @ 80D49E0 (Felicity Bank Dialogue)
- .incbin "baserom.gba", 0xD49E0, 0xA24
-
- .global gUnknown_80D5404
-gUnknown_80D5404: @ 80D5404
- .incbin "baserom.gba", 0xD5404, 0xAC4
-
- .global gKecleonShopDialogue
-gKecleonShopDialogue: @ 80D5EC8 (Kecleon Wares Dialogue)
- .incbin "baserom.gba", 0xD5EC8, 0x1ADC
-
- .global gWigglytuffDialogue
-gWigglytuffDialogue: @ 80D79A4 (Friend Area Shop)
- .incbin "baserom.gba", 0xD79A4, 0xEE4
-
- .global gGulpinDialogue
-gGulpinDialogue: @ 80D8888 (Gulpin Link Shop)
- .incbin "baserom.gba", 0xD8888, 0x1740
-
- .global gMakuhitaDialogue
-gMakuhitaDialogue: @ 80D9FC8 (Makuhita Dojo)
- .incbin "baserom.gba", 0xD9FC8, 0xAD0
-
- .global gUnknown_80DAA98
-gUnknown_80DAA98: @ 80DAA98 (Help Menu?)
- .incbin "baserom.gba", 0xDAA98, 0x4D8
-
- .global gUnknown_80DAF70
-gUnknown_80DAF70: @ 80DAF70
- .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
-
- .global gUnknown_80DAF88
-gUnknown_80DAF88: @ 80DAF88
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x1a, 0x00, 0x0c, 0x00
- .byte 0x0c, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DAFA0
-gUnknown_80DAFA0: @ 80DAFA0
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x16, 0x00, 0x0f, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DAFC0
-gUnknown_80DAFC0: @ 80DAFC0
- .incbin "baserom.gba", 0xDAFC0, 0xD8
-
- .global gUnknown_80DB098
-gUnknown_80DB098: @ 80DB098
- .incbin "baserom.gba", 0xDB098, 0x60
-
- .global gUnknown_80DB0F8
-gUnknown_80DB0F8: @ 80DB0F8
- .incbin "baserom.gba", 0xDB0F8, 0x3FC
-
- .global gUnknown_80DB4F4
-gUnknown_80DB4F4: @ 80DB4F4
- .incbin "baserom.gba", 0xDB4F4, 0x44
-
- .global gUnknown_80DB538
-gUnknown_80DB538: @ 80DB538
- .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
-
- .global gUnknown_80DB550
-gUnknown_80DB550: @ 80DB550
- .byte 0x00, 0x00
- .byte 0x00, 0x00
- .byte 0x01, 0x00
- .byte 0x00, 0x00
- .byte 0x01, 0x00
- .byte 0x0a, 0x00
- .byte 0x1c, 0x00
- .byte 0x09, 0x00
- .byte 0x09, 0x00
- .byte 0x00, 0x00
- .byte 0x00, 0x00
- .byte 0x00, 0x00
-
- .global gUnknown_80DB568
-gUnknown_80DB568: @ 80DB568
- .byte 0x00, 0x00
- .byte 0x00, 0x00
- .byte 0x01, 0x00
- .byte 0x00, 0x00
- .byte 0x04, 0x00
- .byte 0x03, 0x00
- .byte 0x16, 0x00
- .byte 0x05, 0x00
- .byte 0x05, 0x00
- .byte 0x00, 0x00
- .byte 0x00, 0x00
- .byte 0x00, 0x00
-
- .global gUnknown_80DB580
-gUnknown_80DB580: @ 80DB580
- .byte 0x00, 0x00
- .byte 0x00, 0x00
- .byte 0x01, 0x00
- .byte 0x00, 0x00
- .byte 0x01, 0x00
- .byte 0x02, 0x00
- .byte 0x1c, 0x00
- .byte 0x07, 0x00
- .byte 0x07, 0x00
- .byte 0x00, 0x00
- .byte 0x00, 0x00
- .byte 0x00, 0x00
-
- .global gUnknown_80DB598
-gUnknown_80DB598: @ 80DB598
- .string "#C4OVR#R\0"
- .align 2,0
-
- .global gUnknown_80DB5A4
-gUnknown_80DB5A4: @ 80DB5A4
- .string "#C6INS#R\0"
- .align 2,0
-
- .global gUnknown_80DB5B0
-gUnknown_80DB5B0: @ 80DB5B0
- .string "#C%c"
- .byte 0x81, 0x59
- .align 2,0
-
- .global gUnknown_80DB5B8
-gUnknown_80DB5B8: @ 80DB5B8
- .string "#C%c%s\0"
- .align 2,0
-
- .global gUnknown_80DB5C0
-gUnknown_80DB5C0: @ 80DB5C0
- .string "What is your name?\0"
- .align 2,0
-
- .global gUnknown_80DB5D4
-gUnknown_80DB5D4: @ 80DB5D4
- .string "What is this Pokémon~27s nickname?\0"
- .align 2,0
-
- .global gUnknown_80DB5F8
-gUnknown_80DB5F8: @ 80DB5F8
- .string "What is your partner~27s nickname?\0"
- .align 2,0
-
- .global gUnknown_80DB61C
-gUnknown_80DB61C: @ 80DB61C
- .string "What is your team~27s name?\0"
- .align 2,0
-
- .global gUnknown_80DB638
-gUnknown_80DB638: @ 80DB638
- .string "Please enter the password.\0"
- .align 2,0
-
- .global gUnknown_80DB654
-gUnknown_80DB654: @ 80DB654
- .string "#C2%s#R\0"
- .align 2,0
-
- .global gUnknown_80DB65C
-gUnknown_80DB65C: @ 80DB65C
- .string "#C5%s#R\0"
- .align 2,0
-
- .global gUnknown_80DB664
-gUnknown_80DB664: @ 80DB664
- .string "%s\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
- .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
-
- .global gUnknown_80DB688
-gUnknown_80DB688: @ 80DB688
- .string "Is the name #C5$m0#R OK?\0"
- .align 2,0
-
- .global gUnknown_80DB6A4
-gUnknown_80DB6A4: @ 80DB6A4
- .string "This name is too long.\0"
- .align 2,0
-
- .global gUnknown_80DB6BC
-gUnknown_80DB6BC: @ 80DB6BC
- .string "Please enter a name.\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DB6DC
-gUnknown_80DB6DC: @ 80DB6DC
- .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
-
- .global gUnknown_80DB6F4
-gUnknown_80DB6F4: @ 80DB6F4
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x03, 0x00
- .byte 0x1a, 0x00, 0x02, 0x00
- .byte 0x02, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DB70C
-gUnknown_80DB70C: @ 80DB70C
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x11, 0x00, 0x08, 0x00
- .byte 0x0b, 0x00, 0x04, 0x00
- .byte 0x04, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gFelicityMoney
-gFelicityMoney: @ 80DB724
- .string "Money: \0"
- .align 2,0
-
- .global gFelicitySavings
-gFelicitySavings: @ 80DB72C
- .string "Savings: \0"
- .align 2,0
-
- .global gUnknown_80DB738
-gUnknown_80DB738: @ 80DB738
- .string "Money\0"
- .align 2,0
- .string "pksdir0\0"
-
- .global gUnknown_80DB748
-gUnknown_80DB748: @ 80DB748
- .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
-
- .global gUnknown_80DB760
-gUnknown_80DB760: @ 80DB760
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x04, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DB778
-gUnknown_80DB778: @ 80DB778
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x09, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DB790
-gUnknown_80DB790: @ 80DB790
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x0e, 0x00
- .byte 0x06, 0x00, 0x04, 0x00
- .byte 0x04, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DB7A8
-gUnknown_80DB7A8: @ 80DB7A8
- .string "Number?\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DB7B8
-gUnknown_80DB7B8: @ 80DB7B8
- .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
-
- .global gUnknown_80DB7D0
-gUnknown_80DB7D0: @ 80DB7D0
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x03, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DB7E8
-gUnknown_80DB7E8: @ 80DB7E8
-.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x14, 0x00, 0x04, 0x00, 0x06, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DB800
-gUnknown_80DB800: @ 80DB800
-.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x14, 0x00, 0x09, 0x00, 0x06, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DB818
-gUnknown_80DB818: @ 80DB818
-.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x14, 0x00, 0x0e, 0x00, 0x06, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DB830
-gUnknown_80DB830: @ 80DB830
- .string "Number?\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DB840
-gUnknown_80DB840: @ 80DB840
- .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
-
- .global gUnknown_80DB858
-gUnknown_80DB858: @ 80DB858
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x04, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DB870
-gUnknown_80DB870: @ 80DB870
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x09, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DB888
-gUnknown_80DB888: @ 80DB888
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x0e, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DB8A0
-gUnknown_80DB8A0: @ 80DB8A0
- .string "Sell All\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DB8B4
-gUnknown_80DB8B4: @ 80DB8B4
- .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
-
- .global gUnknown_80DB8CC
-gUnknown_80DB8CC: @ 80DB8CC
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x10, 0x00, 0x04, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DB8E4
-gUnknown_80DB8E4: @ 80DB8E4
- .string "Goods\0"
- .align 2,0
-
- .global gUnknown_80DB8EC
-gUnknown_80DB8EC: @ 80DB8EC
- .string "#C2%s#R\0"
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DB8FC
-gUnknown_80DB8FC: @ 80DB8FC
- .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
-
- .global gUnknown_80DB914
-gUnknown_80DB914: @ 80DB914
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x10, 0x00, 0x04, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DB92C
-gUnknown_80DB92C: @ 80DB92C
- .string "Goods\0"
- .align 2,0
-
- .global gUnknown_80DB934
-gUnknown_80DB934: @ 80DB934
- .string "#C2%s#R\0"
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DB944
-gUnknown_80DB944: @ 80DB944
- .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
-
-
- .global gUnknown_80DB95C
-gUnknown_80DB95C: @ 80DB95C
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x10, 0x00, 0x11, 0x00
- .byte 0x13, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
-
- .global gTeamToolboxA
-gTeamToolboxA: @ 80DB974
- .string "Team Toolbox A\0"
- .align 2,0
-
- .global gTeamToolboxB
-gTeamToolboxB: @ 80DB984
- .string "Team Toolbox B\0"
- .align 2,0
-
- .global gUnknown_80DB994
-gUnknown_80DB994: @ 80DB994
- .string "#C"
- .byte 0x02
- .string "$i0#R\0"
- .align 2,0
-
- .global gUnknown_80DB9A0
-gUnknown_80DB9A0: @ 80DB9A0
- .string "#C2%s#R\0"
- .align 2,0
-
- .global gUnknown_80DB9A8
-gUnknown_80DB9A8: @ 80DB9A8
- .string "Items\0"
- .align 2,0
-
- .global gUnknown_80DB9B0
-gUnknown_80DB9B0: @ 80DB9B0
- .string "/\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DB9BC
-gUnknown_80DB9BC: @ 80DB9BC
- .string "#+Who will learn the move\n"
- .string "#+#C5$m7#R?\0"
- .align 2,0
-
- .global gUnknown_80DB9E4
-gUnknown_80DB9E4: @ 80DB9E4
- .string "#+#CM$m8#R learned\n"
- .string "#+the move #C5$m7#R!\0"
- .align 2,0
-
- .global gUnknown_80DBA0C
-gUnknown_80DBA0C: @ 80DBA0C
- .string "#+No one in the current team\n"
- .string "#+can learn this move. \0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DBA4C
-gUnknown_80DBA4C: @ 80DBA4C
- .string "$m0\0"
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DBA58
-gUnknown_80DBA58: @ 80DBA58
- .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
-
- .global gUnknown_80DBA70
-gUnknown_80DBA70: @ 80DBA70
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x04, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DBA88
-gUnknown_80DBA88: @ 80DBA88
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x0E, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DBAA0
-gUnknown_80DBAA0: @ 80DBAA0
- .string "#+#CN$m0#R received\n"
- .string "#+the promised #C4$i0#R. \0"
- .align 2,0
-
- .global gUnknown_80DBAD0
-gUnknown_80DBAD0: @ 80DBAD0
- .string "#+#CN$m0#R~27s team received\n"
- .string "#+the promised #C4$i0#R.\0"
- .align 2,0
-
- .global gUnknown_80DBB08
-gUnknown_80DBB08: @ 80DBB08
- .string "#+The team also received\n"
- .string "#+the item #C4$i0#R.\0"
- .align 2,0
-
- .global gUnknown_80DBB38
-gUnknown_80DBB38: @ 80DBB38
- .string "#+Received the #C4$i0#R!#P#+A very rare statue. It has been placed\n"
- .string "#+outside your rescue team base.\0"
- .align 2,0
-
- .global gUnknown_80DBB9C
-gUnknown_80DBB9C: @ 80DBB9C
- .string "#+The #C4$i0#R...\n"
- .string "#+You~27ve already acquired it.#P#+Sorry to see that...#P#+In its place~2c #CN$m0#R~2c\n"
- .string "#+you can have #CG1~2c000#R "
- .byte 0x83, 0xBF, 0x83, 0xC4, 0x2E
- .align 2,0
-
- .global gUnknown_80DBC28
-gUnknown_80DBC28: @ 80DBC28
- .string "#+Your Toolbox is full.\n"
- .string "#+The item was sent to storage.\0"
- .align 2,0
-
- .global gUnknown_80DBC60
-gUnknown_80DBC60: @ 80DBC60
- .string "#+Your Toolbox is full.\n"
- .string "#+What would you like to do?\0"
- .align 2,0
-
- .global gUnknown_80DBC98
-gUnknown_80DBC98: @ 80DBC98
- .string "#+Is it OK to throw away\n"
- .string "#+this #C4$i0#R?\0"
- .align 2,0
-
- .global gUnknown_80DBCC4
-gUnknown_80DBCC4: @ 80DBCC4
- .string "#+The #C4$i0#R\n"
- .string "#+was thrown away.\0"
- .align 2,0
-
- .global gUnknown_80DBCE8
-gUnknown_80DBCE8: @ 80DBCE8
- .string "#+The #C4$i1#R was put in\n"
- .string "#+storage to get the #C4$i0#R.\0"
- .align 2,0
-
- .global gUnknown_80DBD24
-gUnknown_80DBD24: @ 80DBD24
- .string "#+The #C4$i1#R was discarded\n"
- .string "#+to get the #C4$i0#R.\0"
- .align 2,0
-
- .global gKangaskhanTrashToolboxItem
-gKangaskhanTrashToolboxItem: @ 80DBD58
- .string "Trash Toolbox Item\0"
- .align 2,0
-
- .global gKangaskhanTrashReceivedItem
-gKangaskhanTrashReceivedItem: @ 80DBD6C
- .string "Trash Received Item\0"
- .align 2,0
-
- .global gKangaskhanStorage
-gKangaskhanStorage: @ 80DBD80
- .string "Storage\0"
- .align 2,0
-
- .global gKangaskhanTrash
-gKangaskhanTrash: @ 80DBD88
- .string "Trash\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DBD98
-gUnknown_80DBD98: @ 80DBD98
- .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
-
-
- .global gUnknown_80DBDB0
-gUnknown_80DBDB0: @ 80DBDB0
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x04, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DBDC8
-gUnknown_80DBDC8: @ 80DBDC8
- .string "Switch\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DBDD8
-gUnknown_80DBDD8: @ 80DBDD8
- .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
-
- .global gUnknown_80DBDF0
-gUnknown_80DBDF0: @ 80DBDF0
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x10, 0x00, 0x11, 0x00
- .byte 0x13, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DBE08
-gUnknown_80DBE08: @ 80DBE08
- .string "IQ Skills\0"
- .align 2,0
-
- .global gUnknown_80DBE14
-gUnknown_80DBE14: @ 80DBE14
- .byte 0x87, 0x42, 0x00, 0x00
-
- .global gUnknown_80DBE18
-gUnknown_80DBE18: @ 80DBE18
- .byte 0x87, 0x40, 0x00, 0x00
-
- .global gUnknown_80DBE1C
-gUnknown_80DBE1C: @ 80DBE1C
- .string "$i0$i1\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DBE2C
-gUnknown_80DBE2C: @ 80DBE2C
- .string "$i0\0"
- .align 2,0
-
- .global gUnknown_80DBE30
-gUnknown_80DBE30: @ 80DBE30
- .string "$m0\0"
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DBE3C
-gUnknown_80DBE3C: @ 80DBE3C
- .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
-
- .global gUnknown_80DBE54
-gUnknown_80DBE54: @ 80DBE54
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x10, 0x00, 0x0E, 0x00
- .byte 0x10, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DBE6C
-gUnknown_80DBE6C: @ 80DBE6C
- .string "Storage\0"
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DBE7C
-gUnknown_80DBE7C: @ 80DBE7C
- .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
-
- .global UnkData_80DBE94
- UnkData_80DBE94:
- .byte 0x01, 0x00, 0x07, 0x00
-
- .global gUnknown_80DBE98
-gUnknown_80DBE98: @ 80DBE98
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x09, 0x00, 0x06, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
-
- .4byte UnkData_80DBE94
-
- .global gUnknown_80DBEB0
-gUnknown_80DBEB0: @ 80DBEB0
- .incbin "baserom.gba", 0xDBEB0, 0x60
-
- .global gMenuItems
-gMenuItems: @ 80DBF10
- .string "Items\0"
- .align 2,0
-
- .global gMenuTeam
-gMenuTeam: @ 80DBF18
- .string "Team\0"
- .align 2,0
-
- .global gMenuJobList
-gMenuJobList: @ 80DBF20
- .string "Job List\0"
- .align 2,0
-
- .global gMenuOthers
-gMenuOthers: @ 80DBF2C
- .string "Others\0"
- .align 2,0
-
- .global gUnknown_80DBF34
-gUnknown_80DBF34: @ 80DBF34
- .byte 0x81, 0x48
- .byte 0x81, 0x48
- .byte 0x81, 0x48
- .byte 0x00, 0x00
-
- .global gUnknown_80DBF3C
-gUnknown_80DBF3C: @ 80DBF3C
- .string "%s #C5%d#R Pts.\0"
- .align 2,0
-
- .global gUnknown_80DBF4C
-gUnknown_80DBF4C: @ 80DBF4C
- .string "Money: #C5%d#R "
- .byte 0x83, 0xBF, 0x83, 0xC4
- .align 2,0
-
- .global gTeamRankBadgeFileName
-gTeamRankBadgeFileName: @ 80DBF60
- .string "tmrkpat\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DBF70
-gUnknown_80DBF70: @ 80DBF70
- .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
-
- .global gUnknown_80DBF88
-gUnknown_80DBF88: @ 80DBF88
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x18, 0x00, 0x11, 0x00
- .byte 0x11, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DBFA0
-gUnknown_80DBFA0: @ 80DBFA0
- .string "Field\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DBFB0
-gUnknown_80DBFB0: @ 80DBFB0
- .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
-
- .global UnkData_80DBFC8
- UnkData_80DBFC8:
- .byte 0x01, 0x00, 0x07, 0x00
-
- .global gUnknown_80DBFCC
-gUnknown_80DBFCC: @ 80DBFCC
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x0A, 0x00, 0x06, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
-
- .4byte UnkData_80DBFC8
-
- .global gOthers_MenuOption
-gOthers_MenuOption: @ 80DBFE4
- .string "Others\0"
- .align 2,0
-
- .global gUnknown_80DBFEC
-gUnknown_80DBFEC: @ 80DBFEC
- .string "Change settings?\0"
- .align 2,0
-
- .global gOthers_GameOptions
-gOthers_GameOptions: @ 80DC000
- .string "Game Options\0"
- .align 2,0
-
- .global gOthers_Hints
-gOthers_Hints: @ 80DC010
- .string "Hints\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC020
-gUnknown_80DC020: @ 80DC020
- .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
-
- .global UnkData_80DC038
- UnkData_80DC038:
- .byte 0x01, 0x00, 0x0a, 0x00
-
- .global gUnknown_80DC03C
-gUnknown_80DC03C: @ 80DC03C
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x18, 0x00, 0x10, 0x00
- .byte 0x12, 0x00, 0x00, 0x00
-
- .4byte UnkData_80DC038
-
-@ Window Settings
-
- .global gWindowBGTitle
-gWindowBGTitle: @ 80DC054
- .string "Game Options\0"
- .align 2,0
-
- .global gUnknown_80DC064
-gUnknown_80DC064: @ 80DC064
- .string "Windows#=P.Blue#=x.Red#="
- .byte 0xA0
- .string ".Green\0"
- .align 2,0
-
- .global gWindowBGBlueString
-gWindowBGBlueString: @ 80DC084
- .string "Blue\0"
- .align 2,0
-
- .global gWindowBGRedString
-gWindowBGRedString: @ 80DC08C
- .string "Red\0"
- .align 2,0
-
- .global gWindowBGGreenString
-gWindowBGGreenString: @ 80DC090
- .string "Green\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC0A0
-gUnknown_80DC0A0: @ 80DC0A0
- .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
-
- .global Data_80DC0B8
- Data_80DC0B8:
- .byte 0x01, 0x00, 0x08, 0x00
-
- .global gUnknown_80DC0BC
-gUnknown_80DC0BC: @ 80DC0BC
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x18, 0x00, 0x0E, 0x00
- .byte 0x0E, 0x00, 0x00, 0x00
-
- .4byte Data_80DC0B8
-
- .global gUnknown_80DC0D4
-gUnknown_80DC0D4: @ 80DC0D4
- .string "Hints\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC0E4
-gUnknown_80DC0E4: @ 80DC0E4
- .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
-
- .global gUnknown_80DC0FC
-gUnknown_80DC0FC: @ 80DC0FC
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x1a, 0x00, 0x10, 0x00
- .byte 0x10, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC11C
-gUnknown_80DC11C: @ 80DC11C
- .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
-
- .global gUnknown_80DC134
-gUnknown_80DC134: @ 80DC134
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x16, 0x00, 0x04, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x16, 0x00, 0x0e, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DC164
-gUnknown_80DC164: @ 80DC164
- .string "Only four moves may be learned!\n"
- .string "Will a move be forgotten?\0"
- .align 2,0
-
- .global gUnknown_80DC1A0
-gUnknown_80DC1A0: @ 80DC1A0
- .string "#+Forget the move #C4$m1#R and\n"
- .string "#+any moves linked to it~2c and learn the move\n"
- .string "#+#C5$m0#R?\0"
- .align 2,0
-
- .global gUnknown_80DC1FC
-gUnknown_80DC1FC: @ 80DC1FC
- .string "#+Forget the move #C4$m1#R\n"
- .string "#+and learn #C5$m0#R?\0"
- .align 2,0
-
- .global gUnknown_80DC230
-gUnknown_80DC230: @ 80DC230
- .string "Forget\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC240
-gUnknown_80DC240: @ 80DC240
- .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
-
- .global Data_80DC258
- Data_80DC258:
- .byte 0x01, 0x00, 0x0f, 0x00
-
- .global gUnknown_80DC25C
-gUnknown_80DC25C: @ 80DC25C
- .byte 0x00, 0x00
- .byte 0x00, 0x00
- .byte 0x06, 0x00
- .byte 0x00, 0x00
- .byte 0x02, 0x00
- .byte 0x02, 0x00
- .byte 0x12, 0x00
- .byte 0x08, 0x00
- .byte 0x08, 0x00
- .byte 0x00, 0x00
-
- .4byte Data_80DC258
-
- .global gUnknown_80DC274
-gUnknown_80DC274: @ 80DC274
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x0f, 0x00
- .byte 0x1a, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DC28C
-gUnknown_80DC28C: @ 80DC28C
- .string "Moves: #C6$m0#R \0"
- .align 2,0
-
- .global gUnknown_80DC2A0
-gUnknown_80DC2A0: @ 80DC2A0
- .string "$i0\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC2AC
-gUnknown_80DC2AC: @ 80DC2AC
- .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
-
- .global gUnknown_80DC2C4
-gUnknown_80DC2C4: @ 80DC2C4
- .byte 0x00, 0x00
- .byte 0x00, 0x00
- .byte 0x06, 0x00
- .byte 0x00, 0x00
- .byte 0x02, 0x00
- .byte 0x02, 0x00
- .byte 0x0f, 0x00
- .byte 0x04, 0x00
- .byte 0x06, 0x00
- .byte 0x00, 0x00
- .byte 0x00, 0x00
- .byte 0x00, 0x00
-
- .global gUnknown_80DC2DC
-gUnknown_80DC2DC: @ 80DC2DC
- .string "Moves Page: %d/%d \0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC2F8
-gUnknown_80DC2F8: @ 80DC2F8
- .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
-
- .global gUnknown_80DC310
-gUnknown_80DC310: @ 80DC310
- .string "$m0\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC31C
-gUnknown_80DC31C: @ 80DC31C
- .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
-
- .global gUnknown_80DC334
-gUnknown_80DC334: @ 80DC334
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x13, 0x00, 0x04, 0x00
- .byte 0x08, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DC34C
-gUnknown_80DC34C: @ 80DC34C
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x16, 0x00, 0x04, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x16, 0x00, 0x0e, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DC37C
-gUnknown_80DC37C: @ 80DC37C
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x16, 0x00, 0x03, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DC394
-gUnknown_80DC394: @ 80DC394
- .string "{R_BUTTON}+{DPAD}: Shift moves\n"
- .string "{R_BUTTON}+{A_BUTTON}: Switch link {SELECT_BUTTON} Set\0"
-
- .global gGulpinProceed
-gGulpinProceed: @ 80DC3C4
- .string "Proceed\0"
- .align 2,0
-
- .global gGulpinInfo
-gGulpinInfo: @ 80DC3CC
- .string "#C6Info#R \0"
- .align 2,0
-
- .global gUnknown_80DC3D8
-gUnknown_80DC3D8: @ 80DC3D8
- .string "Moves\0"
- .align 2,0
-
- .global gUnknown_80DC3E0
-gUnknown_80DC3E0: @ 80DC3E0
- .string "Summary\0"
- .align 2,0
-
- .global gUnknown_80DC3E8
-gUnknown_80DC3E8: @ 80DC3E8
- .string "Check IQ\0"
- .align 2,0
-
- .global gUnknown_80DC3F4
-gUnknown_80DC3F4: @ 80DC3F4
- .string "Remember\0"
- .align 2,0
-
- .global gGulpinDeselect
-gGulpinDeselect: @ 80DC400
- .string "Deselect\0"
- .align 2,0
-
- .global gGulpinSet
-gGulpinSet: @ 80DC40C
- .string "Set\0"
- .align 2,0
-
- .global gGulpinLink
-gGulpinLink: @ 80DC410
- .string "Link\0"
- .align 2,0
-
- .global gGulpinDelink
-gGulpinDelink: @ 80DC418
- .string "Delink\0"
- .align 2,0
-
- .global gGulpinForget
-gGulpinForget: @ 80DC420
- .string "Forget\0"
- .align 2,0
-
- .global gUnknown_80DC428
-gUnknown_80DC428: @ 80DC428
- .string "Setting moves\0"
- .align 2,0
-
- .global gUnknown_80DC438
-gUnknown_80DC438: @ 80DC438
- .string "Linking moves\0"
- .align 2,0
-
- .global gUnknown_80DC448
-gUnknown_80DC448: @ 80DC448
- .string "Remembering moves\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC464
-gUnknown_80DC464: @ 80DC464
- .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
-
- .global gUnknown_80DC47C
-gUnknown_80DC47C: @ 80DC47C
- .byte 0x00, 0x00
- .byte 0x00, 0x00
- .byte 0x06, 0x00
- .byte 0x00, 0x00
- .byte 0x02, 0x00
- .byte 0x02, 0x00
- .byte 0x11, 0x00
- .byte 0x11, 0x00
- .byte 0x11, 0x00
- .byte 0x00, 0x00
- .byte 0x00, 0x00
- .byte 0x00, 0x00
-
- .global gUnknown_80DC494
-gUnknown_80DC494: @ 80DC494
- .string "Friend Areas\0"
- .align 2,0
-
- .global gUnknown_80DC4A4
-gUnknown_80DC4A4: @ 80DC4A4
- .string "#C2%s#R\0"
- .align 2,0
-
- .global gUnknown_80DC4AC
-gUnknown_80DC4AC: @ 80DC4AC
- .string "#C4%s#R\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC4BC
-gUnknown_80DC4BC: @ 80DC4BC
- .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
-
- .global gUnknown_80DC4D4
-gUnknown_80DC4D4: @ 80DC4D4
- .byte 0x01, 0x00, 0x12, 0x00
-
- .global gUnknown_80DC4D8
-gUnknown_80DC4D8: @ 80DC4D8
- .byte 0x00, 0x00
- .byte 0x00, 0x00
- .byte 0x06, 0x00
- .byte 0x00, 0x00
- .byte 0x02, 0x00
- .byte 0x02, 0x00
- .byte 0x1a, 0x00
- .byte 0x11, 0x00
- .byte 0x11, 0x00
- .byte 0x00, 0x00
-
- .4byte gUnknown_80DC4D4
-
- .global gUnknown_80DC4F0
-gUnknown_80DC4F0: @ 80DC4F0
- .string "Inhabitants (Friends: #c5Light blue#r)\0"
- .align 2,0
-
- .global gUnknown_80DC518
-gUnknown_80DC518: @ 80DC518
- .string "Inhabitants\0"
- .align 2,0
-
- .global gUnknown_80DC524
-gUnknown_80DC524: @ 80DC524
- .string "#c5%s#r\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC534
-gUnknown_80DC534: @ 80DC534
- .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
-
- .global gUnknown_80DC54C
-gUnknown_80DC54C: @ 80DC54C
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x15, 0x00, 0x04, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DC564
-gUnknown_80DC564: @ 80DC564
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x15, 0x00, 0x0e, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC584
-gUnknown_80DC584: @ 80DC584
- .4byte Yes_80DC5A0
- .byte 0x02, 0x00, 0x00, 0x00
- .4byte No_80DC59C
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x00, 0x00
-
- .global No_80DC59C
- No_80DC59C:
- .string "No\0"
- .align 2,0
- .global Yes_80DC5A0
- Yes_80DC5A0:
- .string "Yes\0"
- .align 2,0
-
- .global gUnknown_80DC5A4
-gUnknown_80DC5A4: @ 80DC5A4
- .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
-
- .global gUnknown_80DC5BC
-gUnknown_80DC5BC: @ 80DC5BC
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x04, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DC5D4
-gUnknown_80DC5D4: @ 80DC5D4
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x0b, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DC5EC
-gUnknown_80DC5EC: @ 80DC5EC
- .byte 0x81, 0x48
- .byte 0x81, 0x48
- .byte 0x81, 0x48
- .byte 0x00, 0x00
-
- .global gUnknown_80DC5F4
-gUnknown_80DC5F4: @ 80DC5F4
- .string "It doesn~27t appear to be hungry.\0"
- .align 2,0
-
- .global gUnknown_80DC618
-gUnknown_80DC618: @ 80DC618
- .string "$m1 took the Gummi and ate it.\n"
- .string "This Gummi looks like a big favorite!\n"
- .string "$m1~27s IQ went up!\0"
- .align 2,0
-
- .global gUnknown_80DC674
-gUnknown_80DC674: @ 80DC674
- .string "$m1 took the Gummi and ate it.\n"
- .string "This Gummi looks like a favorite!\n"
- .string "$m1~27s IQ went up!\0"
- .align 2,0
-
- .global gUnknown_80DC6CC
-gUnknown_80DC6CC: @ 80DC6CC
- .string "$m1 took the Gummi and ate it.\n"
- .string "It doesn~27t seem to dislike this Gummi.\n"
- .string "$m1~27s IQ went up!\0"
- .align 2,0
-
- .global gUnknown_80DC728
-gUnknown_80DC728: @ 80DC728
- .string "$m1 took the Gummi and ate it.\n"
- .string "It appears to be just a little satisfied.\n"
- .string "$m1~27s IQ went up!\0"
- .align 2,0
-
- .global gUnknown_80DC788
-gUnknown_80DC788: @ 80DC788
- .string "$m1~27s IQ helped it learn how to\n"
- .string "use $i1!\0"
- .align 2,0
-
- .global gUnknown_80DC7B4
-gUnknown_80DC7B4: @ 80DC7B4
- .string "Yes! $m1 grew explosively!\n"
- .string "Attack~2c Defense~2c and so on rose by 1!\0"
- .align 2,0
-
- .global gUnknown_80DC7FC
-gUnknown_80DC7FC: @ 80DC7FC
-@ replacing .incbin "baserom.gba", 0x000dc7fc, 0x20
- .string "Yes!\n"
- .string "$m1~27s Attack rose by 1!\0"
- .align 2,0
-
- .global gUnknown_80DC81C
-gUnknown_80DC81C: @ 80DC81C
-@ replacing .incbin "baserom.gba", 0x000dc81c, 0x28
- .string "Yes!\n"
- .string "$m1~27s Special Attack rose by 1!\0"
- .align 2,0
-
- .global gUnknown_80DC844
-gUnknown_80DC844: @ 80DC844
-@ replacing .incbin "baserom.gba", 0x000dc844, 0x20
- .string "Yes!\n"
- .string "$m1~27s Defense rose by 1!\0"
- .align 2,0
-
-
- .global gUnknown_80DC864
-gUnknown_80DC864: @ 80DC864
-@ replacing .incbin "baserom.gba", 0x000dc864, 0x28
- .string "Yes!\n"
- .string "$m1~27s Special Defense rose by 1!\0"
- .align 2,0
-
- .global gUnknown_80DC88C
-gUnknown_80DC88C: @ 80DC88C
-@ replacing .incbin "baserom.gba", 0x000dc88c, 0x20
- .string "You don~27t have any Gummis.\0"
- .align 2,0
-
- .global gUnknown_80DC8AC
-gUnknown_80DC8AC: @ 80DC8AC
-@ replacing .incbin "baserom.gba", 0x000dc8ac, 0x1c
- .string "You don~27t have an item.\0"
- .align 2,0
-
- .global gUnknown_80DC8C8
-gUnknown_80DC8C8: @ 80DC8C8
-@ replacing .incbin "baserom.gba", 0x000dc8c8, 0x14
- .string "The Gummi is gone!\0"
- .align 2,0
-
- .global gUnknown_80DC8DC
-gUnknown_80DC8DC: @ 80DC8DC
- .string "The item is gone!\0"
- .align 2,0
-
- .global gUnknown_80DC8F0
-gUnknown_80DC8F0: @ 80DC8F0
- .string "Give\0"
- .align 2,0
-
- .global gUnknown_80DC8F8
-gUnknown_80DC8F8: @ 80DC8F8
-@ replacing .incbin "baserom.gba", 0x000dc8f8, 0xc
- .string "Use\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC904
-gUnknown_80DC904: @ 80DC904
-@ replacing .incbin "baserom.gba", 0x000dc904, 0x18
- .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
-
- .global gUnknown_80DC91C
-gUnknown_80DC91C: @ 80DC91C
-@ replacing .incbin "baserom.gba", 0x000dc91c, 0x18
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x0f, 0x00, 0x0e, 0x00
- .byte 0x0e, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DC934
-gUnknown_80DC934: @ 80DC934
-@ replacing .incbin "baserom.gba", 0x000dc934, 0x8
- .string "Pokémon\0"
- .align 2,0
-
- .global gUnknown_80DC93C
-gUnknown_80DC93C: @ 80DC93C
-@ replacing .incbin "baserom.gba", 0x000dc93c, 0x14
- .string "#c%c%s#r\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC950
-gUnknown_80DC950: @ 80DC950
-@ replacing .incbin "baserom.gba", 0x000dc950, 0x18
- .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
-
- .global gUnknown_80DC968
-gUnknown_80DC968: @ 80DC968
-@ replacing .incbin "baserom.gba", 0x000dc968, 0x18
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x0f, 0x00, 0x0e, 0x00
- .byte 0x0e, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DC980
-gUnknown_80DC980: @ 80DC980
-@ replacing .incbin "baserom.gba", 0x000dc980, 0x8
- .string "Friends\0"
-
- .global gUnknown_80DC988
-gUnknown_80DC988: @ 80DC988
-@ replacing .incbin "baserom.gba", 0x000dc988, 0x10
- .string "Pokémon Friends\0"
-
- .global gUnknown_80DC998
-gUnknown_80DC998: @ 80DC998
-@ replacing .incbin "baserom.gba", 0x000dc998, 0xc
- .string "#c%c%s#r\0"
- .align 2,0
-
- .global gUnknown_80DC9A4
-gUnknown_80DC9A4: @ 80DC9A4
-@ replacing .incbin "baserom.gba", 0x000dc9a4, 0xc
- .string "%s\0"
- .align 2,0
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC9B0
-gUnknown_80DC9B0: @ 80DC9B0
-@ replacing .incbin "baserom.gba", 0x000dc9b0, 0x18
- .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
-
- .global gUnknown_80DC9C8
-gUnknown_80DC9C8: @ 80DC9C8
-@ replacing .incbin "baserom.gba", 0x000dc9c8, 0x20
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x06, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x02, 0x00
- .byte 0x12, 0x00, 0x0e, 0x00
- .byte 0x12, 0x00, 0x02, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .string "pksdir0\0"
- .align 2,0
-
- .global gUnknown_80DC9E8
-gUnknown_80DC9E8: @ 80DC9E8
-@ replacing .incbin "baserom.gba", 0x000dc9e8, 0x18
- .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
-
- .global gUnknown_80DCA00
-gUnknown_80DCA00: @ 80DCA00
-@ replacing .incbin "baserom.gba", 0x000dca00, 0x18
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x04, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DCA18
-gUnknown_80DCA18: @ 80DCA18
- .string "Evolve\0"
- .align 2,0
- .4byte gUnknown_80DCA18
-
- .global gUnknown_80DCA24
-gUnknown_80DCA24: @ 80DCA24
- .string "No\0"
- .align 2,0
- .4byte gUnknown_80DCA24
-
- .global gUnknown_80DCA2C
-gUnknown_80DCA2C: @ 80DCA2C
-@ replacing .incbin "baserom.gba", 0x000dca2c, 0x8
- .string "Yes\0"
- .align 2,0
- .4byte gUnknown_80DCA2C
-
- .include "data/text/luminous_cave.inc"
-
- .include "data/friend_area.inc"
-
- .include "data/text/party_menu.inc"
-
- .global gUnknown_80DD6EC
-gUnknown_80DD6EC: @ 80DD6EC
- .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
-
- .global gUnknown_80DD704
-gUnknown_80DD704: @ 80DD704
- .byte 0x00, 0x00, 0x00, 0x00
-
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x13, 0x00, 0x04, 0x00
- .byte 0x09, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
-
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DD71C
-gUnknown_80DD71C: @ 80DD71C
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x14, 0x00, 0x04, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x16, 0x00, 0x04, 0x00
- .byte 0x06, 0x00, 0x03, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DD74C
-gUnknown_80DD74C: @ 80DD74C
- .byte 0x00, 0x00, 0x00, 0x00
-
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x02, 0x00, 0x11, 0x00
- .byte 0x1A, 0x00, 0x02, 0x00
- .byte 0x02, 0x00, 0x00, 0x00
-
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DD764
-gUnknown_80DD764: @ 80DD764
- .string "You have chosen to say farewell\n"
- .string "to this Pokémon.#P"
- .string "The Pokémon will leave its Friend Area.\n"
- .string "It will no longer be available for\n"
- .string "adventures. Is that OK?\0"
- .align 2,0
-
- .global gUnknown_80DD7FC
-gUnknown_80DD7FC: @ 80DD7FC
- .string "If you say farewell to this\n"
- .string "Pokémon~2c it will be gone forever.#P"
- .string "You will never be able to get another one\n"
- .string "like it to join your team.\n"
- .string "Will you release it anyway?\0"
- .align 2,0
-
- .global gUnknown_80DD8A0
-gUnknown_80DD8A0: @ 80DD8A0
- .string "#+The #C4$i0#R was\n"
- .string "#+returned to the Toolbox.\0"
- .align 2,0
-
- .global gUnknown_80DD8D0
-gUnknown_80DD8D0: @ 80DD8D0
- .string "#+The #C4$i0#R was\n#+sent to storage.\0"
- .align 2,0
-
- .global gFriendActionStandby
-gFriendActionStandby: @ 80DD8F8
- .string "Stand By\0"
- .align 2,0
-
- .global gFriendActionMakeLeader
-gFriendActionMakeLeader: @ 80DD904
- .string "Make Leader\0"
-
- .global gFriendActionJoinTeam
-gFriendActionJoinTeam: @ 80DD910
- .string "Join Team\0"
- .align 2,0
-
- .global gFriendActionSayFarewell
-gFriendActionSayFarewell: @ 80DD91C
- .string "Say Farewell\0"
- .align 2,0
-
- .global gFriendActionGive
-gFriendActionGive: @ 80DD92C
- .string "Give\0"
- .align 2,0
-
- .global gFriendActionTake
-gFriendActionTake: @ 80DD934
- .string "Take\0"
- .align 2,0
-
- .global gFriendActionSummary
-gFriendActionSummary: @ 80DD93C
- .string "Summary\0"
- .align 2,0
-
- .global gFriendActionMoves
-gFriendActionMoves: @ 80DD944
- .string "Moves\0"
- .align 2,0
-
- .global gFriendActionCheckIQ
-gFriendActionCheckIQ: @ 80DD94C
- .string "Check IQ\0"
- .align 2,0
-
- .global gUnknown_80DD958
-gUnknown_80DD958: @ 80DD958
- .string "Item: #C4$i0#R \0"
- .string "pksdir0\0"
-
- .global gUnknown_80DD970
-gUnknown_80DD970: @ 80DD970
-@ replacing .incbin "baserom.gba", 0x000dd970, 0x7c
- .4byte gWonderMailReceiveSOSMail
- .byte 0x00, 0x00, 0x00, 0x00
- .4byte gWonderMailLeaveForRescue
- .byte 0x01, 0x00, 0x00, 0x00
- .4byte gWonderMailSendAOKMail
- .byte 0x02, 0x00, 0x00, 0x00
- .4byte gWonderMailDeleteMail
- .byte 0x03, 0x00, 0x00, 0x00
- .4byte gWonderMailCancel
- .byte 0x0a, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x0a, 0x00, 0x00, 0x00
-
- .global gWonderMailCancel @ 80DD9A0
- gWonderMailCancel:
- .string "Cancel\0"
- .align 2,0
-
- .global gWonderMailDeleteMail @ 80DD9A8
- gWonderMailDeleteMail:
- .string "Delete Mail\0"
- .align 2,0
-
- .global gWonderMailSendAOKMail @ 80DD9B4
- gWonderMailSendAOKMail:
- .string "Send A-OK Mail\0"
- .align 2,0
-
- .global gWonderMailLeaveForResuce @ 80DD9C4
- gWonderMailLeaveForRescue:
- .string "Leave for Rescue\0"
- .align 2,0
-
- .global gWonderMailReceiveSOSMail @ 80DD9D8
- gWonderMailReceiveSOSMail:
- .string "Receive SOS Mail\0"
- .align 2,0
-
- .global gUnknown_80DD9EC
-gUnknown_80DD9EC: @ 80DD9EC
-@ replacing .incbin "baserom.gba", 0x000dd9ec, 0x5c
- .4byte gWonderMailDeleteSOSMail
- .byte 0x05, 0x00, 0x00, 0x00
- .4byte gWonderMailDeleteAOKMail
- .byte 0x06, 0x00, 0x00, 0x00
- .4byte gWonderMailDeleteAllMail
- .byte 0x07, 0x00, 0x00, 0x00
- .4byte gWonderMailCancel
- .byte 0x0a, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x0a, 0x00, 0x00, 0x00
-
- .global gWonderMailDeleteAllMail @ 80DDA14
- gWonderMailDeleteAllMail:
- .string "Delete All Mail\0"
- .align 2,0
-
- .global gWonderMailDeleteAOKMail @ 80DDA24
- gWonderMailDeleteAOKMail:
- .string "Delete A-OK Mail\0"
- .align 2,0
-
- .global gWonderMailDeleteSOSMail @ 80DDA38
- gWonderMailDeleteSOSMail:
- .string "Delete SOS Mail\0"
- .align 2,0
-
- .global gUnknown_80DDA48
-gUnknown_80DDA48: @ 80DDA48
-@ Menu that shows up when you enter an incorrect Wonder Mail Password
-@ replacing .incbin "baserom.gba", 0x000dda48, 0x1c
- .4byte gWonderMailYes
- .byte 0x08, 0x00, 0x00, 0x00
- .4byte gWonderMailCancel
- .byte 0x0a, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x0a, 0x00, 0x00, 0x00
-
- .global gWonderMailYes @ (80DDA60)
- gWonderMailYes:
- .string "Yes\0"
- .align 2,0
-
- .global gUnknown_80DDA64
-gUnknown_80DDA64: @ 80DDA64
-@ replacing .incbin "baserom.gba", 0x000dda64, 0x1c
- .4byte gWonderMailYes
- .byte 0x08, 0x00, 0x00, 0x00
- .4byte gWonderMailNo
- .byte 0x09, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x0a, 0x00, 0x00, 0x00
-
- .global gWonderMailNo @ (80DDA7C)
- gWonderMailNo:
- .string "No\0"
- .align 2,0
-
- .global gUnknown_80DDA80
-gUnknown_80DDA80: @ 80DDA80
-@ replacing .incbin "baserom.gba", 0x000dda80, 0x20
- .4byte gWonderMailYes
- .byte 0x08, 0x00, 0x00, 0x00
- .4byte gWonderMailNo
- .byte 0x09, 0x00, 0x00, 0x00
- .4byte gWonderMailCancel
- .byte 0x0a, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x0a, 0x00, 0x00, 0x00
-
- .global gUnknown_80DDAA0
-gUnknown_80DDAA0: @ 80DDAA0
- .4byte SendWOPokemon
- .byte 0x12, 0x00, 0x00, 0x00
- .4byte gWonderMailCancel
- .byte 0x0a, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x0a, 0x00, 0x00, 0x00
-
- .global SendWOPokemon
- SendWOPokemon:
- .string "Send w/o Pokémon\0"
- .align 2,0
-
- .global gUnknown_80DDACC
-gUnknown_80DDACC: @ 80DDACC
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x16, 0x00, 0x07, 0x00
- .byte 0x06, 0x00, 0x04, 0x00
- .byte 0x04, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DDAE4
-gUnknown_80DDAE4: @ 80DDAE4
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x03, 0x00, 0x00, 0x00
- .byte 0x16, 0x00, 0x06, 0x00
- .byte 0x06, 0x00, 0x04, 0x00
- .byte 0x04, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
-
- .global gUnknown_80DDAFC
-gUnknown_80DDAFC: @ 80DDAFC
- .4byte Confirm_80DDB1C
- .byte 0xB, 0x00, 0x00, 0x00
- .4byte Info_80DDB14
- .byte 0xC, 0x00, 0x00, 0x00
- .byte 0x0, 0x00, 0x00, 0x00
- .byte 0xA, 0x00, 0x00, 0x00
-
- .global Info_80DDB14
- Info_80DDB14:
- .string "Info\0"
- .align 2,0
-
- .global Confirm_80DDB1C
- Confirm_80DDB1C:
- .string "Confirm\0"
- .align 2,0
-
- .global gUnknown_80DDB24
-gUnknown_80DDB24: @ 80DDB24
- .4byte GameLinkCable_80DDB50
- .byte 0xD, 0x00, 0x00, 0x00
- .4byte Password_80DDB44
- .byte 0xF, 0x00, 0x00, 0x00
- .4byte gWonderMailCancel
- .byte 0xA, 0x00, 0x00, 0x00
- .byte 0x0, 0x00, 0x00, 0x00
- .byte 0xA, 0x00, 0x00, 0x00
-
- .global Password_80DDB44
- Password_80DDB44:
- .string "Password\0"
- .align 2,0
-
- .global GameLinkCable_80DDB50
- GameLinkCable_80DDB50:
- .string "Game Link cable\0"
- .align 2,0
-
- .global gUnknown_80DDB60
-gUnknown_80DDB60: @ 80DDB60
-
- .4byte SendPokemon_80DDB98
- .byte 0x11, 0x00, 0x00, 0x00
- .4byte DontSendPokemon_80DDB80
- .byte 0x12, 0x00, 0x00, 0x00
- .4byte gWonderMailCancel
- .byte 0x0a, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x00, 0x00
- .byte 0x0a, 0x00, 0x00, 0x00
-
- .global DontSendPokemon_80DDB80
- DontSendPokemon_80DDB80:
- .string "Don~27t Send Pokémon\0"
- .align 2,0
-
- .global SendPokemon_80DDB98
- SendPokemon_80DDB98:
- .string "Send Pokémon\0"
- .align 2,0
-
diff --git a/data/data_80D47B8.s b/data/data_80D47B8.s
new file mode 100644
index 0000000..6dd541f
--- /dev/null
+++ b/data/data_80D47B8.s
@@ -0,0 +1,2306 @@
+ .section .rodata
+
+ .global gUnknown_80D47B8
+gUnknown_80D47B8: @ 80D47B8
+ .byte 0x07, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x00, 0x00
+
+ .global UnkData_80D47C4
+ UnkData_80D47C4:
+ .byte 0x01, 0x00, 0x10, 0x00
+
+ .global gUnknown_80D47C8
+gUnknown_80D47C8: @ 80D47C8
+@ replacing .incbin "baserom.gba", 0x000d47c8, 0x60
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x1a, 0x00, 0x0c, 0x00
+ .byte 0x0c, 0x00, 0x00, 0x00
+
+ .4byte UnkData_80D47C4
+
+ .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
+
+ .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
+
+ .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
+
+ .global gUnknown_80D4828
+gUnknown_80D4828: @ 80D4828
+ .string "#C%c%s\0"
+ .align 2,0
+
+ .global gUnknown_80D4830
+gUnknown_80D4830: @ 80D4830
+ .byte 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0xe8, 0x03, 0x00, 0x00, 0x10, 0x27, 0x00, 0x00, 0xa0, 0x86, 0x01, 0x00, 0x40, 0x42, 0x0f, 0x00, 0x80, 0x96, 0x98, 0x00
+ .byte 0x00, 0xe1, 0xf5, 0x05
+ .asciz "pksdir0"
+
+
+ .global gUnknown_80D485C
+gUnknown_80D485C: @ 80D485C
+ .4byte Data_80D4878
+ .byte 0x01, 0x00, 0x00, 0x00
+ .4byte Data_80D4874
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0xFF, 0xFF, 0xFF, 0xFF
+
+ .global Data_80D4874
+ Data_80D4874:
+ .string "No\0"
+ .align 2,0
+ .global Data_80D4878
+ Data_80D4878:
+ .string "*Yes\0"
+ .align 2,0
+
+ .global gUnknown_80D4880
+gUnknown_80D4880: @ 80D4880
+ .4byte Data_80D489C
+ .byte 0x01, 0x00, 0x00, 0x00
+ .4byte Data_80D4898
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00 @ End of table
+ .byte 0xFF, 0xFF, 0xFF, 0xFF
+
+ .global Data_80D4898
+ Data_80D4898:
+ .string "*No\0"
+ .global Data_80D489C
+ Data_80D489C:
+ .string "Yes\0"
+ .align 2,0
+
+ .global gUnknown_80D48A0
+gUnknown_80D48A0: @ 80D48A0
+ .byte 0x07, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x00, 0x00
+
+ .global gUnknown_80D48AC
+gUnknown_80D48AC: @ 80D48AC
+ .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
+
+ .global gUnknown_80D48C4
+gUnknown_80D48C4: @ 80D48C4
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x0f, 0x00
+ .byte 0x1a, 0x00, 0x05, 0x00
+ .byte 0x07, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80D48DC
+gUnknown_80D48DC: @ 80D48DC
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x08, 0x00
+ .byte 0x1a, 0x00, 0x05, 0x00
+ .byte 0x07, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80D48F4
+gUnknown_80D48F4: @ 80D48F4
+ .byte 0x3A, 0x20, 0x00, 0x00 @ maybe just a colon and space
+
+ .global gUnknown_80D48F8
+gUnknown_80D48F8: @ 80D48F8
+ .string "????\0"
+ .align 2,0
+
+ .global gUnknown_80D4900
+gUnknown_80D4900: @ 80D4900
+ .string "%d\0"
+ .align 2,0
+
+ .global gUnknown_80D4904
+gUnknown_80D4904: @ 80D4904
+ .string "%*d\0"
+ .align 2,0
+
+ .global gUnknown_80D4908
+gUnknown_80D4908: @ 80D4908
+ .string "%0*d\0"
+ .align 2,0
+
+ .global gUnknown_80D4910
+gUnknown_80D4910: @ 80D4910
+ .string "$\0"
+ .align 2,0
+ .string "pksdir0\0"
+
+ .global Yes_80D491C
+ Yes_80D491C:
+ .string "Yes\0"
+
+ .global gUnknown_80D4920
+gUnknown_80D4920: @ 80D4920
+ .4byte Yes_80D491C
+
+ .global No_80D4924
+ No_80D4924:
+ .string "No\0"
+ .align 2,0
+
+ .global gUnknown_80D4928
+gUnknown_80D4928: @ 80D4928
+ .4byte No_80D4924
+
+ .global CancelText
+ CancelText:
+ .string "Cancel\0"
+ .align 2,0
+
+ .global gUnknown_80D4934
+gUnknown_80D4934: @ 80D4934
+ .4byte CancelText
+
+ .global TrashText
+ TrashText:
+ .string "Trash \0"
+ .align 2,0
+
+ .global gUnknown_80D4940
+gUnknown_80D4940: @ 80D4940
+ .4byte TrashText
+
+ .global DeleteText
+ DeleteText:
+ .string "Delete\0"
+ .align 2,0
+
+ .global gUnknown_80D494C
+gUnknown_80D494C: @ 80D494C
+ .4byte DeleteText
+
+ .global StoreText
+ StoreText:
+ .string "Store\0"
+ .align 2,0
+
+ .global gUnknown_80D4958
+gUnknown_80D4958: @ 80D4958
+ .4byte StoreText
+
+ .global TakeText
+ TakeText:
+ .string "Take\0"
+ .align 2,0
+
+ .global gUnknown_80D4964
+gUnknown_80D4964: @ 80D4964
+ .4byte TakeText
+
+ .global InfoText
+ InfoText:
+ .string "Info\0"
+ .align 2,0
+
+ .global gUnknown_80D4970
+gUnknown_80D4970: @ 80D4970
+ .4byte InfoText
+
+ .global BuyText
+ BuyText:
+ .string "Buy\0"
+ .align 2,0
+
+ .global gUnknown_80D4978
+gUnknown_80D4978: @ 80D4978
+ .4byte BuyText
+
+ .global SellText
+ SellText:
+ .string "Sell \0"
+ .align 2,0
+
+ .global gUnknown_80D4984
+gUnknown_80D4984: @ 80D4984
+ .4byte SellText
+
+ .global AcceptText
+ AcceptText:
+ .string "Accept\0"
+ .align 2,0
+
+ .global gUnknown_80D4990
+gUnknown_80D4990: @ 80D4990
+ .4byte AcceptText
+
+ .global WigglytuffCheck
+ WigglytuffCheck:
+ .string "Check\0"
+ .align 2,0
+
+ .global gWigglytuffCheck
+gWigglytuffCheck: @ 80D499C
+ .4byte WigglytuffCheck
+
+ .global FriendText
+ FriendText:
+ .string "Friend\0"
+ .align 2,0
+
+ .global gUnknown_80D49A8
+gUnknown_80D49A8: @ 80D49A8
+ .4byte FriendText
+
+ .global ExitText
+ ExitText:
+ .string "Exit\0"
+ .align 2,0
+
+ .global gUnknown_80D49B4
+gUnknown_80D49B4: @ 80D49B4
+ .4byte ExitText
+
+ .global QuestionMarkText
+ QuestionMarkText:
+ .string "???\0"
+ .align 2,0
+
+ .global gUnknown_80D49BC
+gUnknown_80D49BC: @ 80D49BC
+ .4byte QuestionMarkText
+
+ .global FelicityDeposit
+ FelicityDeposit:
+ .string "Deposit?\0"
+ .align 2,0
+
+ .global gFelicityDeposit
+gFelicityDeposit: @ 80D49CC
+ .4byte FelicityDeposit
+
+ .global FelicityWithdraw
+ FelicityWithdraw:
+ .string "Withdraw?\0"
+ .align 2,0
+
+ .global gFelicityWithdraw
+gFelicityWithdraw: @ 80D49DC
+ .4byte FelicityWithdraw
+
+ .global gFelicityDialogue
+gFelicityDialogue: @ 80D49E0 (Felicity Bank Dialogue)
+ .incbin "baserom.gba", 0xD49E0, 0xA24
+
+ .global gUnknown_80D5404
+gUnknown_80D5404: @ 80D5404
+ .incbin "baserom.gba", 0xD5404, 0xAC4
+
+ .global gKecleonShopDialogue
+gKecleonShopDialogue: @ 80D5EC8 (Kecleon Wares Dialogue)
+ .incbin "baserom.gba", 0xD5EC8, 0x1ADC
+
+ .global gWigglytuffDialogue
+gWigglytuffDialogue: @ 80D79A4 (Friend Area Shop)
+ .incbin "baserom.gba", 0xD79A4, 0xEE4
+
+ .global gGulpinDialogue
+gGulpinDialogue: @ 80D8888 (Gulpin Link Shop)
+ .incbin "baserom.gba", 0xD8888, 0x1740
+
+ .global gMakuhitaDialogue
+gMakuhitaDialogue: @ 80D9FC8 (Makuhita Dojo)
+ .incbin "baserom.gba", 0xD9FC8, 0xAD0
+
+ .global gUnknown_80DAA98
+gUnknown_80DAA98: @ 80DAA98 (Help Menu?)
+ .incbin "baserom.gba", 0xDAA98, 0x4D8
+
+ .global gUnknown_80DAF70
+gUnknown_80DAF70: @ 80DAF70
+ .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
+
+ .global gUnknown_80DAF88
+gUnknown_80DAF88: @ 80DAF88
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x1a, 0x00, 0x0c, 0x00
+ .byte 0x0c, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DAFA0
+gUnknown_80DAFA0: @ 80DAFA0
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x16, 0x00, 0x0f, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DAFC0
+gUnknown_80DAFC0: @ 80DAFC0
+ .incbin "baserom.gba", 0xDAFC0, 0xD8
+
+ .global gUnknown_80DB098
+gUnknown_80DB098: @ 80DB098
+ .incbin "baserom.gba", 0xDB098, 0x60
+
+ .global gUnknown_80DB0F8
+gUnknown_80DB0F8: @ 80DB0F8
+ .incbin "baserom.gba", 0xDB0F8, 0x3FC
+
+ .global gUnknown_80DB4F4
+gUnknown_80DB4F4: @ 80DB4F4
+ .incbin "baserom.gba", 0xDB4F4, 0x44
+
+ .global gUnknown_80DB538
+gUnknown_80DB538: @ 80DB538
+ .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
+
+ .global gUnknown_80DB550
+gUnknown_80DB550: @ 80DB550
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+ .byte 0x01, 0x00
+ .byte 0x00, 0x00
+ .byte 0x01, 0x00
+ .byte 0x0a, 0x00
+ .byte 0x1c, 0x00
+ .byte 0x09, 0x00
+ .byte 0x09, 0x00
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+
+ .global gUnknown_80DB568
+gUnknown_80DB568: @ 80DB568
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+ .byte 0x01, 0x00
+ .byte 0x00, 0x00
+ .byte 0x04, 0x00
+ .byte 0x03, 0x00
+ .byte 0x16, 0x00
+ .byte 0x05, 0x00
+ .byte 0x05, 0x00
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+
+ .global gUnknown_80DB580
+gUnknown_80DB580: @ 80DB580
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+ .byte 0x01, 0x00
+ .byte 0x00, 0x00
+ .byte 0x01, 0x00
+ .byte 0x02, 0x00
+ .byte 0x1c, 0x00
+ .byte 0x07, 0x00
+ .byte 0x07, 0x00
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+
+ .global gUnknown_80DB598
+gUnknown_80DB598: @ 80DB598
+ .string "#C4OVR#R\0"
+ .align 2,0
+
+ .global gUnknown_80DB5A4
+gUnknown_80DB5A4: @ 80DB5A4
+ .string "#C6INS#R\0"
+ .align 2,0
+
+ .global gUnknown_80DB5B0
+gUnknown_80DB5B0: @ 80DB5B0
+ .string "#C%c"
+ .byte 0x81, 0x59
+ .align 2,0
+
+ .global gUnknown_80DB5B8
+gUnknown_80DB5B8: @ 80DB5B8
+ .string "#C%c%s\0"
+ .align 2,0
+
+ .global gUnknown_80DB5C0
+gUnknown_80DB5C0: @ 80DB5C0
+ .string "What is your name?\0"
+ .align 2,0
+
+ .global gUnknown_80DB5D4
+gUnknown_80DB5D4: @ 80DB5D4
+ .string "What is this Pokémon~27s nickname?\0"
+ .align 2,0
+
+ .global gUnknown_80DB5F8
+gUnknown_80DB5F8: @ 80DB5F8
+ .string "What is your partner~27s nickname?\0"
+ .align 2,0
+
+ .global gUnknown_80DB61C
+gUnknown_80DB61C: @ 80DB61C
+ .string "What is your team~27s name?\0"
+ .align 2,0
+
+ .global gUnknown_80DB638
+gUnknown_80DB638: @ 80DB638
+ .string "Please enter the password.\0"
+ .align 2,0
+
+ .global gUnknown_80DB654
+gUnknown_80DB654: @ 80DB654
+ .string "#C2%s#R\0"
+ .align 2,0
+
+ .global gUnknown_80DB65C
+gUnknown_80DB65C: @ 80DB65C
+ .string "#C5%s#R\0"
+ .align 2,0
+
+ .global gUnknown_80DB664
+gUnknown_80DB664: @ 80DB664
+ .string "%s\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+ .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
+
+ .global gUnknown_80DB688
+gUnknown_80DB688: @ 80DB688
+ .string "Is the name #C5$m0#R OK?\0"
+ .align 2,0
+
+ .global gUnknown_80DB6A4
+gUnknown_80DB6A4: @ 80DB6A4
+ .string "This name is too long.\0"
+ .align 2,0
+
+ .global gUnknown_80DB6BC
+gUnknown_80DB6BC: @ 80DB6BC
+ .string "Please enter a name.\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DB6DC
+gUnknown_80DB6DC: @ 80DB6DC
+ .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
+
+ .global gUnknown_80DB6F4
+gUnknown_80DB6F4: @ 80DB6F4
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x03, 0x00
+ .byte 0x1a, 0x00, 0x02, 0x00
+ .byte 0x02, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DB70C
+gUnknown_80DB70C: @ 80DB70C
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x11, 0x00, 0x08, 0x00
+ .byte 0x0b, 0x00, 0x04, 0x00
+ .byte 0x04, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gFelicityMoney
+gFelicityMoney: @ 80DB724
+ .string "Money: \0"
+ .align 2,0
+
+ .global gFelicitySavings
+gFelicitySavings: @ 80DB72C
+ .string "Savings: \0"
+ .align 2,0
+
+ .global gUnknown_80DB738
+gUnknown_80DB738: @ 80DB738
+ .string "Money\0"
+ .align 2,0
+ .string "pksdir0\0"
+
+ .global gUnknown_80DB748
+gUnknown_80DB748: @ 80DB748
+ .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
+
+ .global gUnknown_80DB760
+gUnknown_80DB760: @ 80DB760
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x14, 0x00, 0x04, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DB778
+gUnknown_80DB778: @ 80DB778
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x14, 0x00, 0x09, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DB790
+gUnknown_80DB790: @ 80DB790
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x14, 0x00, 0x0e, 0x00
+ .byte 0x06, 0x00, 0x04, 0x00
+ .byte 0x04, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DB7A8
+gUnknown_80DB7A8: @ 80DB7A8
+ .string "Number?\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DB7B8
+gUnknown_80DB7B8: @ 80DB7B8
+ .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
+
+ .global gUnknown_80DB7D0
+gUnknown_80DB7D0: @ 80DB7D0
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x03, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DB7E8
+gUnknown_80DB7E8: @ 80DB7E8
+.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x14, 0x00, 0x04, 0x00, 0x06, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DB800
+gUnknown_80DB800: @ 80DB800
+.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x14, 0x00, 0x09, 0x00, 0x06, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DB818
+gUnknown_80DB818: @ 80DB818
+.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x14, 0x00, 0x0e, 0x00, 0x06, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DB830
+gUnknown_80DB830: @ 80DB830
+ .string "Number?\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DB840
+gUnknown_80DB840: @ 80DB840
+ .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
+
+ .global gUnknown_80DB858
+gUnknown_80DB858: @ 80DB858
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x14, 0x00, 0x04, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DB870
+gUnknown_80DB870: @ 80DB870
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x14, 0x00, 0x09, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DB888
+gUnknown_80DB888: @ 80DB888
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x14, 0x00, 0x0e, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DB8A0
+gUnknown_80DB8A0: @ 80DB8A0
+ .string "Sell All\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DB8B4
+gUnknown_80DB8B4: @ 80DB8B4
+ .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
+
+ .global gUnknown_80DB8CC
+gUnknown_80DB8CC: @ 80DB8CC
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x10, 0x00, 0x04, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DB8E4
+gUnknown_80DB8E4: @ 80DB8E4
+ .string "Goods\0"
+ .align 2,0
+
+ .global gUnknown_80DB8EC
+gUnknown_80DB8EC: @ 80DB8EC
+ .string "#C2%s#R\0"
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DB8FC
+gUnknown_80DB8FC: @ 80DB8FC
+ .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
+
+ .global gUnknown_80DB914
+gUnknown_80DB914: @ 80DB914
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x10, 0x00, 0x04, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DB92C
+gUnknown_80DB92C: @ 80DB92C
+ .string "Goods\0"
+ .align 2,0
+
+ .global gUnknown_80DB934
+gUnknown_80DB934: @ 80DB934
+ .string "#C2%s#R\0"
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DB944
+gUnknown_80DB944: @ 80DB944
+ .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
+
+
+ .global gUnknown_80DB95C
+gUnknown_80DB95C: @ 80DB95C
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x10, 0x00, 0x11, 0x00
+ .byte 0x13, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+
+ .global gTeamToolboxA
+gTeamToolboxA: @ 80DB974
+ .string "Team Toolbox A\0"
+ .align 2,0
+
+ .global gTeamToolboxB
+gTeamToolboxB: @ 80DB984
+ .string "Team Toolbox B\0"
+ .align 2,0
+
+ .global gUnknown_80DB994
+gUnknown_80DB994: @ 80DB994
+ .string "#C"
+ .byte 0x02
+ .string "$i0#R\0"
+ .align 2,0
+
+ .global gUnknown_80DB9A0
+gUnknown_80DB9A0: @ 80DB9A0
+ .string "#C2%s#R\0"
+ .align 2,0
+
+ .global gUnknown_80DB9A8
+gUnknown_80DB9A8: @ 80DB9A8
+ .string "Items\0"
+ .align 2,0
+
+ .global gUnknown_80DB9B0
+gUnknown_80DB9B0: @ 80DB9B0
+ .string "/\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DB9BC
+gUnknown_80DB9BC: @ 80DB9BC
+ .string "#+Who will learn the move\n"
+ .string "#+#C5$m7#R?\0"
+ .align 2,0
+
+ .global gUnknown_80DB9E4
+gUnknown_80DB9E4: @ 80DB9E4
+ .string "#+#CM$m8#R learned\n"
+ .string "#+the move #C5$m7#R!\0"
+ .align 2,0
+
+ .global gUnknown_80DBA0C
+gUnknown_80DBA0C: @ 80DBA0C
+ .string "#+No one in the current team\n"
+ .string "#+can learn this move. \0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DBA4C
+gUnknown_80DBA4C: @ 80DBA4C
+ .string "$m0\0"
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DBA58
+gUnknown_80DBA58: @ 80DBA58
+ .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
+
+ .global gUnknown_80DBA70
+gUnknown_80DBA70: @ 80DBA70
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x14, 0x00, 0x04, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DBA88
+gUnknown_80DBA88: @ 80DBA88
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x14, 0x00, 0x0E, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DBAA0
+gUnknown_80DBAA0: @ 80DBAA0
+ .string "#+#CN$m0#R received\n"
+ .string "#+the promised #C4$i0#R. \0"
+ .align 2,0
+
+ .global gUnknown_80DBAD0
+gUnknown_80DBAD0: @ 80DBAD0
+ .string "#+#CN$m0#R~27s team received\n"
+ .string "#+the promised #C4$i0#R.\0"
+ .align 2,0
+
+ .global gUnknown_80DBB08
+gUnknown_80DBB08: @ 80DBB08
+ .string "#+The team also received\n"
+ .string "#+the item #C4$i0#R.\0"
+ .align 2,0
+
+ .global gUnknown_80DBB38
+gUnknown_80DBB38: @ 80DBB38
+ .string "#+Received the #C4$i0#R!#P#+A very rare statue. It has been placed\n"
+ .string "#+outside your rescue team base.\0"
+ .align 2,0
+
+ .global gUnknown_80DBB9C
+gUnknown_80DBB9C: @ 80DBB9C
+ .string "#+The #C4$i0#R...\n"
+ .string "#+You~27ve already acquired it.#P#+Sorry to see that...#P#+In its place~2c #CN$m0#R~2c\n"
+ .string "#+you can have #CG1~2c000#R "
+ .byte 0x83, 0xBF, 0x83, 0xC4, 0x2E
+ .align 2,0
+
+ .global gUnknown_80DBC28
+gUnknown_80DBC28: @ 80DBC28
+ .string "#+Your Toolbox is full.\n"
+ .string "#+The item was sent to storage.\0"
+ .align 2,0
+
+ .global gUnknown_80DBC60
+gUnknown_80DBC60: @ 80DBC60
+ .string "#+Your Toolbox is full.\n"
+ .string "#+What would you like to do?\0"
+ .align 2,0
+
+ .global gUnknown_80DBC98
+gUnknown_80DBC98: @ 80DBC98
+ .string "#+Is it OK to throw away\n"
+ .string "#+this #C4$i0#R?\0"
+ .align 2,0
+
+ .global gUnknown_80DBCC4
+gUnknown_80DBCC4: @ 80DBCC4
+ .string "#+The #C4$i0#R\n"
+ .string "#+was thrown away.\0"
+ .align 2,0
+
+ .global gUnknown_80DBCE8
+gUnknown_80DBCE8: @ 80DBCE8
+ .string "#+The #C4$i1#R was put in\n"
+ .string "#+storage to get the #C4$i0#R.\0"
+ .align 2,0
+
+ .global gUnknown_80DBD24
+gUnknown_80DBD24: @ 80DBD24
+ .string "#+The #C4$i1#R was discarded\n"
+ .string "#+to get the #C4$i0#R.\0"
+ .align 2,0
+
+ .global gKangaskhanTrashToolboxItem
+gKangaskhanTrashToolboxItem: @ 80DBD58
+ .string "Trash Toolbox Item\0"
+ .align 2,0
+
+ .global gKangaskhanTrashReceivedItem
+gKangaskhanTrashReceivedItem: @ 80DBD6C
+ .string "Trash Received Item\0"
+ .align 2,0
+
+ .global gKangaskhanStorage
+gKangaskhanStorage: @ 80DBD80
+ .string "Storage\0"
+ .align 2,0
+
+ .global gKangaskhanTrash
+gKangaskhanTrash: @ 80DBD88
+ .string "Trash\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DBD98
+gUnknown_80DBD98: @ 80DBD98
+ .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
+
+
+ .global gUnknown_80DBDB0
+gUnknown_80DBDB0: @ 80DBDB0
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x14, 0x00, 0x04, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DBDC8
+gUnknown_80DBDC8: @ 80DBDC8
+ .string "Switch\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DBDD8
+gUnknown_80DBDD8: @ 80DBDD8
+ .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
+
+ .global gUnknown_80DBDF0
+gUnknown_80DBDF0: @ 80DBDF0
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x10, 0x00, 0x11, 0x00
+ .byte 0x13, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DBE08
+gUnknown_80DBE08: @ 80DBE08
+ .string "IQ Skills\0"
+ .align 2,0
+
+ .global gUnknown_80DBE14
+gUnknown_80DBE14: @ 80DBE14
+ .byte 0x87, 0x42, 0x00, 0x00
+
+ .global gUnknown_80DBE18
+gUnknown_80DBE18: @ 80DBE18
+ .byte 0x87, 0x40, 0x00, 0x00
+
+ .global gUnknown_80DBE1C
+gUnknown_80DBE1C: @ 80DBE1C
+ .string "$i0$i1\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DBE2C
+gUnknown_80DBE2C: @ 80DBE2C
+ .string "$i0\0"
+ .align 2,0
+
+ .global gUnknown_80DBE30
+gUnknown_80DBE30: @ 80DBE30
+ .string "$m0\0"
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DBE3C
+gUnknown_80DBE3C: @ 80DBE3C
+ .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
+
+ .global gUnknown_80DBE54
+gUnknown_80DBE54: @ 80DBE54
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x10, 0x00, 0x0E, 0x00
+ .byte 0x10, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DBE6C
+gUnknown_80DBE6C: @ 80DBE6C
+ .string "Storage\0"
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DBE7C
+gUnknown_80DBE7C: @ 80DBE7C
+ .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
+
+ .global UnkData_80DBE94
+ UnkData_80DBE94:
+ .byte 0x01, 0x00, 0x07, 0x00
+
+ .global gUnknown_80DBE98
+gUnknown_80DBE98: @ 80DBE98
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x09, 0x00, 0x06, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+
+ .4byte UnkData_80DBE94
+
+ .global gUnknown_80DBEB0
+gUnknown_80DBEB0: @ 80DBEB0
+ .incbin "baserom.gba", 0xDBEB0, 0x60
+
+ .global gMenuItems
+gMenuItems: @ 80DBF10
+ .string "Items\0"
+ .align 2,0
+
+ .global gMenuTeam
+gMenuTeam: @ 80DBF18
+ .string "Team\0"
+ .align 2,0
+
+ .global gMenuJobList
+gMenuJobList: @ 80DBF20
+ .string "Job List\0"
+ .align 2,0
+
+ .global gMenuOthers
+gMenuOthers: @ 80DBF2C
+ .string "Others\0"
+ .align 2,0
+
+ .global gUnknown_80DBF34
+gUnknown_80DBF34: @ 80DBF34
+ .byte 0x81, 0x48
+ .byte 0x81, 0x48
+ .byte 0x81, 0x48
+ .byte 0x00, 0x00
+
+ .global gUnknown_80DBF3C
+gUnknown_80DBF3C: @ 80DBF3C
+ .string "%s #C5%d#R Pts.\0"
+ .align 2,0
+
+ .global gUnknown_80DBF4C
+gUnknown_80DBF4C: @ 80DBF4C
+ .string "Money: #C5%d#R "
+ .byte 0x83, 0xBF, 0x83, 0xC4
+ .align 2,0
+
+ .global gTeamRankBadgeFileName
+gTeamRankBadgeFileName: @ 80DBF60
+ .string "tmrkpat\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DBF70
+gUnknown_80DBF70: @ 80DBF70
+ .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
+
+ .global gUnknown_80DBF88
+gUnknown_80DBF88: @ 80DBF88
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x18, 0x00, 0x11, 0x00
+ .byte 0x11, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DBFA0
+gUnknown_80DBFA0: @ 80DBFA0
+ .string "Field\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DBFB0
+gUnknown_80DBFB0: @ 80DBFB0
+ .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
+
+ .global UnkData_80DBFC8
+ UnkData_80DBFC8:
+ .byte 0x01, 0x00, 0x07, 0x00
+
+ .global gUnknown_80DBFCC
+gUnknown_80DBFCC: @ 80DBFCC
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x0A, 0x00, 0x06, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+
+ .4byte UnkData_80DBFC8
+
+ .global gOthers_MenuOption
+gOthers_MenuOption: @ 80DBFE4
+ .string "Others\0"
+ .align 2,0
+
+ .global gUnknown_80DBFEC
+gUnknown_80DBFEC: @ 80DBFEC
+ .string "Change settings?\0"
+ .align 2,0
+
+ .global gOthers_GameOptions
+gOthers_GameOptions: @ 80DC000
+ .string "Game Options\0"
+ .align 2,0
+
+ .global gOthers_Hints
+gOthers_Hints: @ 80DC010
+ .string "Hints\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC020
+gUnknown_80DC020: @ 80DC020
+ .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
+
+ .global UnkData_80DC038
+ UnkData_80DC038:
+ .byte 0x01, 0x00, 0x0a, 0x00
+
+ .global gUnknown_80DC03C
+gUnknown_80DC03C: @ 80DC03C
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x18, 0x00, 0x10, 0x00
+ .byte 0x12, 0x00, 0x00, 0x00
+
+ .4byte UnkData_80DC038
+
+@ Window Settings
+
+ .global gWindowBGTitle
+gWindowBGTitle: @ 80DC054
+ .string "Game Options\0"
+ .align 2,0
+
+ .global gUnknown_80DC064
+gUnknown_80DC064: @ 80DC064
+ .string "Windows#=P.Blue#=x.Red#="
+ .byte 0xA0
+ .string ".Green\0"
+ .align 2,0
+
+ .global gWindowBGBlueString
+gWindowBGBlueString: @ 80DC084
+ .string "Blue\0"
+ .align 2,0
+
+ .global gWindowBGRedString
+gWindowBGRedString: @ 80DC08C
+ .string "Red\0"
+ .align 2,0
+
+ .global gWindowBGGreenString
+gWindowBGGreenString: @ 80DC090
+ .string "Green\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC0A0
+gUnknown_80DC0A0: @ 80DC0A0
+ .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
+
+ .global Data_80DC0B8
+ Data_80DC0B8:
+ .byte 0x01, 0x00, 0x08, 0x00
+
+ .global gUnknown_80DC0BC
+gUnknown_80DC0BC: @ 80DC0BC
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x18, 0x00, 0x0E, 0x00
+ .byte 0x0E, 0x00, 0x00, 0x00
+
+ .4byte Data_80DC0B8
+
+ .global gUnknown_80DC0D4
+gUnknown_80DC0D4: @ 80DC0D4
+ .string "Hints\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC0E4
+gUnknown_80DC0E4: @ 80DC0E4
+ .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
+
+ .global gUnknown_80DC0FC
+gUnknown_80DC0FC: @ 80DC0FC
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x1a, 0x00, 0x10, 0x00
+ .byte 0x10, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC11C
+gUnknown_80DC11C: @ 80DC11C
+ .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
+
+ .global gUnknown_80DC134
+gUnknown_80DC134: @ 80DC134
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x16, 0x00, 0x04, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x16, 0x00, 0x0e, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DC164
+gUnknown_80DC164: @ 80DC164
+ .string "Only four moves may be learned!\n"
+ .string "Will a move be forgotten?\0"
+ .align 2,0
+
+ .global gUnknown_80DC1A0
+gUnknown_80DC1A0: @ 80DC1A0
+ .string "#+Forget the move #C4$m1#R and\n"
+ .string "#+any moves linked to it~2c and learn the move\n"
+ .string "#+#C5$m0#R?\0"
+ .align 2,0
+
+ .global gUnknown_80DC1FC
+gUnknown_80DC1FC: @ 80DC1FC
+ .string "#+Forget the move #C4$m1#R\n"
+ .string "#+and learn #C5$m0#R?\0"
+ .align 2,0
+
+ .global gUnknown_80DC230
+gUnknown_80DC230: @ 80DC230
+ .string "Forget\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC240
+gUnknown_80DC240: @ 80DC240
+ .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
+
+ .global Data_80DC258
+ Data_80DC258:
+ .byte 0x01, 0x00, 0x0f, 0x00
+
+ .global gUnknown_80DC25C
+gUnknown_80DC25C: @ 80DC25C
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+ .byte 0x06, 0x00
+ .byte 0x00, 0x00
+ .byte 0x02, 0x00
+ .byte 0x02, 0x00
+ .byte 0x12, 0x00
+ .byte 0x08, 0x00
+ .byte 0x08, 0x00
+ .byte 0x00, 0x00
+
+ .4byte Data_80DC258
+
+ .global gUnknown_80DC274
+gUnknown_80DC274: @ 80DC274
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x0f, 0x00
+ .byte 0x1a, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DC28C
+gUnknown_80DC28C: @ 80DC28C
+ .string "Moves: #C6$m0#R \0"
+ .align 2,0
+
+ .global gUnknown_80DC2A0
+gUnknown_80DC2A0: @ 80DC2A0
+ .string "$i0\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC2AC
+gUnknown_80DC2AC: @ 80DC2AC
+ .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
+
+ .global gUnknown_80DC2C4
+gUnknown_80DC2C4: @ 80DC2C4
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+ .byte 0x06, 0x00
+ .byte 0x00, 0x00
+ .byte 0x02, 0x00
+ .byte 0x02, 0x00
+ .byte 0x0f, 0x00
+ .byte 0x04, 0x00
+ .byte 0x06, 0x00
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+
+ .global gUnknown_80DC2DC
+gUnknown_80DC2DC: @ 80DC2DC
+ .string "Moves Page: %d/%d \0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC2F8
+gUnknown_80DC2F8: @ 80DC2F8
+ .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
+
+ .global gUnknown_80DC310
+gUnknown_80DC310: @ 80DC310
+ .string "$m0\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC31C
+gUnknown_80DC31C: @ 80DC31C
+ .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
+
+ .global gUnknown_80DC334
+gUnknown_80DC334: @ 80DC334
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x13, 0x00, 0x04, 0x00
+ .byte 0x08, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DC34C
+gUnknown_80DC34C: @ 80DC34C
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x16, 0x00, 0x04, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x16, 0x00, 0x0e, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DC37C
+gUnknown_80DC37C: @ 80DC37C
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x16, 0x00, 0x03, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DC394
+gUnknown_80DC394: @ 80DC394
+ .string "{R_BUTTON}+{DPAD}: Shift moves\n"
+ .string "{R_BUTTON}+{A_BUTTON}: Switch link {SELECT_BUTTON} Set\0"
+
+ .global gGulpinProceed
+gGulpinProceed: @ 80DC3C4
+ .string "Proceed\0"
+ .align 2,0
+
+ .global gGulpinInfo
+gGulpinInfo: @ 80DC3CC
+ .string "#C6Info#R \0"
+ .align 2,0
+
+ .global gUnknown_80DC3D8
+gUnknown_80DC3D8: @ 80DC3D8
+ .string "Moves\0"
+ .align 2,0
+
+ .global gUnknown_80DC3E0
+gUnknown_80DC3E0: @ 80DC3E0
+ .string "Summary\0"
+ .align 2,0
+
+ .global gUnknown_80DC3E8
+gUnknown_80DC3E8: @ 80DC3E8
+ .string "Check IQ\0"
+ .align 2,0
+
+ .global gUnknown_80DC3F4
+gUnknown_80DC3F4: @ 80DC3F4
+ .string "Remember\0"
+ .align 2,0
+
+ .global gGulpinDeselect
+gGulpinDeselect: @ 80DC400
+ .string "Deselect\0"
+ .align 2,0
+
+ .global gGulpinSet
+gGulpinSet: @ 80DC40C
+ .string "Set\0"
+ .align 2,0
+
+ .global gGulpinLink
+gGulpinLink: @ 80DC410
+ .string "Link\0"
+ .align 2,0
+
+ .global gGulpinDelink
+gGulpinDelink: @ 80DC418
+ .string "Delink\0"
+ .align 2,0
+
+ .global gGulpinForget
+gGulpinForget: @ 80DC420
+ .string "Forget\0"
+ .align 2,0
+
+ .global gUnknown_80DC428
+gUnknown_80DC428: @ 80DC428
+ .string "Setting moves\0"
+ .align 2,0
+
+ .global gUnknown_80DC438
+gUnknown_80DC438: @ 80DC438
+ .string "Linking moves\0"
+ .align 2,0
+
+ .global gUnknown_80DC448
+gUnknown_80DC448: @ 80DC448
+ .string "Remembering moves\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC464
+gUnknown_80DC464: @ 80DC464
+ .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
+
+ .global gUnknown_80DC47C
+gUnknown_80DC47C: @ 80DC47C
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+ .byte 0x06, 0x00
+ .byte 0x00, 0x00
+ .byte 0x02, 0x00
+ .byte 0x02, 0x00
+ .byte 0x11, 0x00
+ .byte 0x11, 0x00
+ .byte 0x11, 0x00
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+
+ .global gUnknown_80DC494
+gUnknown_80DC494: @ 80DC494
+ .string "Friend Areas\0"
+ .align 2,0
+
+ .global gUnknown_80DC4A4
+gUnknown_80DC4A4: @ 80DC4A4
+ .string "#C2%s#R\0"
+ .align 2,0
+
+ .global gUnknown_80DC4AC
+gUnknown_80DC4AC: @ 80DC4AC
+ .string "#C4%s#R\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC4BC
+gUnknown_80DC4BC: @ 80DC4BC
+ .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
+
+ .global gUnknown_80DC4D4
+gUnknown_80DC4D4: @ 80DC4D4
+ .byte 0x01, 0x00, 0x12, 0x00
+
+ .global gUnknown_80DC4D8
+gUnknown_80DC4D8: @ 80DC4D8
+ .byte 0x00, 0x00
+ .byte 0x00, 0x00
+ .byte 0x06, 0x00
+ .byte 0x00, 0x00
+ .byte 0x02, 0x00
+ .byte 0x02, 0x00
+ .byte 0x1a, 0x00
+ .byte 0x11, 0x00
+ .byte 0x11, 0x00
+ .byte 0x00, 0x00
+
+ .4byte gUnknown_80DC4D4
+
+ .global gUnknown_80DC4F0
+gUnknown_80DC4F0: @ 80DC4F0
+ .string "Inhabitants (Friends: #c5Light blue#r)\0"
+ .align 2,0
+
+ .global gUnknown_80DC518
+gUnknown_80DC518: @ 80DC518
+ .string "Inhabitants\0"
+ .align 2,0
+
+ .global gUnknown_80DC524
+gUnknown_80DC524: @ 80DC524
+ .string "#c5%s#r\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC534
+gUnknown_80DC534: @ 80DC534
+ .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
+
+ .global gUnknown_80DC54C
+gUnknown_80DC54C: @ 80DC54C
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x15, 0x00, 0x04, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DC564
+gUnknown_80DC564: @ 80DC564
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x15, 0x00, 0x0e, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC584
+gUnknown_80DC584: @ 80DC584
+ .4byte Yes_80DC5A0
+ .byte 0x02, 0x00, 0x00, 0x00
+ .4byte No_80DC59C
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x01, 0x00, 0x00, 0x00
+
+ .global No_80DC59C
+ No_80DC59C:
+ .string "No\0"
+ .align 2,0
+ .global Yes_80DC5A0
+ Yes_80DC5A0:
+ .string "Yes\0"
+ .align 2,0
+
+ .global gUnknown_80DC5A4
+gUnknown_80DC5A4: @ 80DC5A4
+ .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
+
+ .global gUnknown_80DC5BC
+gUnknown_80DC5BC: @ 80DC5BC
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x14, 0x00, 0x04, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DC5D4
+gUnknown_80DC5D4: @ 80DC5D4
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x14, 0x00, 0x0b, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DC5EC
+gUnknown_80DC5EC: @ 80DC5EC
+ .byte 0x81, 0x48
+ .byte 0x81, 0x48
+ .byte 0x81, 0x48
+ .byte 0x00, 0x00
+
+ .global gUnknown_80DC5F4
+gUnknown_80DC5F4: @ 80DC5F4
+ .string "It doesn~27t appear to be hungry.\0"
+ .align 2,0
+
+ .global gUnknown_80DC618
+gUnknown_80DC618: @ 80DC618
+ .string "$m1 took the Gummi and ate it.\n"
+ .string "This Gummi looks like a big favorite!\n"
+ .string "$m1~27s IQ went up!\0"
+ .align 2,0
+
+ .global gUnknown_80DC674
+gUnknown_80DC674: @ 80DC674
+ .string "$m1 took the Gummi and ate it.\n"
+ .string "This Gummi looks like a favorite!\n"
+ .string "$m1~27s IQ went up!\0"
+ .align 2,0
+
+ .global gUnknown_80DC6CC
+gUnknown_80DC6CC: @ 80DC6CC
+ .string "$m1 took the Gummi and ate it.\n"
+ .string "It doesn~27t seem to dislike this Gummi.\n"
+ .string "$m1~27s IQ went up!\0"
+ .align 2,0
+
+ .global gUnknown_80DC728
+gUnknown_80DC728: @ 80DC728
+ .string "$m1 took the Gummi and ate it.\n"
+ .string "It appears to be just a little satisfied.\n"
+ .string "$m1~27s IQ went up!\0"
+ .align 2,0
+
+ .global gUnknown_80DC788
+gUnknown_80DC788: @ 80DC788
+ .string "$m1~27s IQ helped it learn how to\n"
+ .string "use $i1!\0"
+ .align 2,0
+
+ .global gUnknown_80DC7B4
+gUnknown_80DC7B4: @ 80DC7B4
+ .string "Yes! $m1 grew explosively!\n"
+ .string "Attack~2c Defense~2c and so on rose by 1!\0"
+ .align 2,0
+
+ .global gUnknown_80DC7FC
+gUnknown_80DC7FC: @ 80DC7FC
+@ replacing .incbin "baserom.gba", 0x000dc7fc, 0x20
+ .string "Yes!\n"
+ .string "$m1~27s Attack rose by 1!\0"
+ .align 2,0
+
+ .global gUnknown_80DC81C
+gUnknown_80DC81C: @ 80DC81C
+@ replacing .incbin "baserom.gba", 0x000dc81c, 0x28
+ .string "Yes!\n"
+ .string "$m1~27s Special Attack rose by 1!\0"
+ .align 2,0
+
+ .global gUnknown_80DC844
+gUnknown_80DC844: @ 80DC844
+@ replacing .incbin "baserom.gba", 0x000dc844, 0x20
+ .string "Yes!\n"
+ .string "$m1~27s Defense rose by 1!\0"
+ .align 2,0
+
+
+ .global gUnknown_80DC864
+gUnknown_80DC864: @ 80DC864
+@ replacing .incbin "baserom.gba", 0x000dc864, 0x28
+ .string "Yes!\n"
+ .string "$m1~27s Special Defense rose by 1!\0"
+ .align 2,0
+
+ .global gUnknown_80DC88C
+gUnknown_80DC88C: @ 80DC88C
+@ replacing .incbin "baserom.gba", 0x000dc88c, 0x20
+ .string "You don~27t have any Gummis.\0"
+ .align 2,0
+
+ .global gUnknown_80DC8AC
+gUnknown_80DC8AC: @ 80DC8AC
+@ replacing .incbin "baserom.gba", 0x000dc8ac, 0x1c
+ .string "You don~27t have an item.\0"
+ .align 2,0
+
+ .global gUnknown_80DC8C8
+gUnknown_80DC8C8: @ 80DC8C8
+@ replacing .incbin "baserom.gba", 0x000dc8c8, 0x14
+ .string "The Gummi is gone!\0"
+ .align 2,0
+
+ .global gUnknown_80DC8DC
+gUnknown_80DC8DC: @ 80DC8DC
+ .string "The item is gone!\0"
+ .align 2,0
+
+ .global gUnknown_80DC8F0
+gUnknown_80DC8F0: @ 80DC8F0
+ .string "Give\0"
+ .align 2,0
+
+ .global gUnknown_80DC8F8
+gUnknown_80DC8F8: @ 80DC8F8
+@ replacing .incbin "baserom.gba", 0x000dc8f8, 0xc
+ .string "Use\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC904
+gUnknown_80DC904: @ 80DC904
+@ replacing .incbin "baserom.gba", 0x000dc904, 0x18
+ .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
+
+ .global gUnknown_80DC91C
+gUnknown_80DC91C: @ 80DC91C
+@ replacing .incbin "baserom.gba", 0x000dc91c, 0x18
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x0f, 0x00, 0x0e, 0x00
+ .byte 0x0e, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DC934
+gUnknown_80DC934: @ 80DC934
+@ replacing .incbin "baserom.gba", 0x000dc934, 0x8
+ .string "Pokémon\0"
+ .align 2,0
+
+ .global gUnknown_80DC93C
+gUnknown_80DC93C: @ 80DC93C
+@ replacing .incbin "baserom.gba", 0x000dc93c, 0x14
+ .string "#c%c%s#r\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC950
+gUnknown_80DC950: @ 80DC950
+@ replacing .incbin "baserom.gba", 0x000dc950, 0x18
+ .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
+
+ .global gUnknown_80DC968
+gUnknown_80DC968: @ 80DC968
+@ replacing .incbin "baserom.gba", 0x000dc968, 0x18
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x0f, 0x00, 0x0e, 0x00
+ .byte 0x0e, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DC980
+gUnknown_80DC980: @ 80DC980
+@ replacing .incbin "baserom.gba", 0x000dc980, 0x8
+ .string "Friends\0"
+
+ .global gUnknown_80DC988
+gUnknown_80DC988: @ 80DC988
+@ replacing .incbin "baserom.gba", 0x000dc988, 0x10
+ .string "Pokémon Friends\0"
+
+ .global gUnknown_80DC998
+gUnknown_80DC998: @ 80DC998
+@ replacing .incbin "baserom.gba", 0x000dc998, 0xc
+ .string "#c%c%s#r\0"
+ .align 2,0
+
+ .global gUnknown_80DC9A4
+gUnknown_80DC9A4: @ 80DC9A4
+@ replacing .incbin "baserom.gba", 0x000dc9a4, 0xc
+ .string "%s\0"
+ .align 2,0
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC9B0
+gUnknown_80DC9B0: @ 80DC9B0
+@ replacing .incbin "baserom.gba", 0x000dc9b0, 0x18
+ .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
+
+ .global gUnknown_80DC9C8
+gUnknown_80DC9C8: @ 80DC9C8
+@ replacing .incbin "baserom.gba", 0x000dc9c8, 0x20
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x02, 0x00
+ .byte 0x12, 0x00, 0x0e, 0x00
+ .byte 0x12, 0x00, 0x02, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .string "pksdir0\0"
+ .align 2,0
+
+ .global gUnknown_80DC9E8
+gUnknown_80DC9E8: @ 80DC9E8
+@ replacing .incbin "baserom.gba", 0x000dc9e8, 0x18
+ .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
+
+ .global gUnknown_80DCA00
+gUnknown_80DCA00: @ 80DCA00
+@ replacing .incbin "baserom.gba", 0x000dca00, 0x18
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x14, 0x00, 0x04, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DCA18
+gUnknown_80DCA18: @ 80DCA18
+ .string "Evolve\0"
+ .align 2,0
+ .4byte gUnknown_80DCA18
+
+ .global gUnknown_80DCA24
+gUnknown_80DCA24: @ 80DCA24
+ .string "No\0"
+ .align 2,0
+ .4byte gUnknown_80DCA24
+
+ .global gUnknown_80DCA2C
+gUnknown_80DCA2C: @ 80DCA2C
+@ replacing .incbin "baserom.gba", 0x000dca2c, 0x8
+ .string "Yes\0"
+ .align 2,0
+ .4byte gUnknown_80DCA2C
+
+ .include "data/text/luminous_cave.inc"
+
+ .include "data/friend_area.inc"
+
+ .include "data/text/party_menu.inc"
+
+ .global gUnknown_80DD6EC
+gUnknown_80DD6EC: @ 80DD6EC
+ .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
+
+ .global gUnknown_80DD704
+gUnknown_80DD704: @ 80DD704
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x13, 0x00, 0x04, 0x00
+ .byte 0x09, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DD71C
+gUnknown_80DD71C: @ 80DD71C
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x14, 0x00, 0x04, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x16, 0x00, 0x04, 0x00
+ .byte 0x06, 0x00, 0x03, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DD74C
+gUnknown_80DD74C: @ 80DD74C
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x02, 0x00, 0x11, 0x00
+ .byte 0x1A, 0x00, 0x02, 0x00
+ .byte 0x02, 0x00, 0x00, 0x00
+
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DD764
+gUnknown_80DD764: @ 80DD764
+ .string "You have chosen to say farewell\n"
+ .string "to this Pokémon.#P"
+ .string "The Pokémon will leave its Friend Area.\n"
+ .string "It will no longer be available for\n"
+ .string "adventures. Is that OK?\0"
+ .align 2,0
+
+ .global gUnknown_80DD7FC
+gUnknown_80DD7FC: @ 80DD7FC
+ .string "If you say farewell to this\n"
+ .string "Pokémon~2c it will be gone forever.#P"
+ .string "You will never be able to get another one\n"
+ .string "like it to join your team.\n"
+ .string "Will you release it anyway?\0"
+ .align 2,0
+
+ .global gUnknown_80DD8A0
+gUnknown_80DD8A0: @ 80DD8A0
+ .string "#+The #C4$i0#R was\n"
+ .string "#+returned to the Toolbox.\0"
+ .align 2,0
+
+ .global gUnknown_80DD8D0
+gUnknown_80DD8D0: @ 80DD8D0
+ .string "#+The #C4$i0#R was\n#+sent to storage.\0"
+ .align 2,0
+
+ .global gFriendActionStandby
+gFriendActionStandby: @ 80DD8F8
+ .string "Stand By\0"
+ .align 2,0
+
+ .global gFriendActionMakeLeader
+gFriendActionMakeLeader: @ 80DD904
+ .string "Make Leader\0"
+
+ .global gFriendActionJoinTeam
+gFriendActionJoinTeam: @ 80DD910
+ .string "Join Team\0"
+ .align 2,0
+
+ .global gFriendActionSayFarewell
+gFriendActionSayFarewell: @ 80DD91C
+ .string "Say Farewell\0"
+ .align 2,0
+
+ .global gFriendActionGive
+gFriendActionGive: @ 80DD92C
+ .string "Give\0"
+ .align 2,0
+
+ .global gFriendActionTake
+gFriendActionTake: @ 80DD934
+ .string "Take\0"
+ .align 2,0
+
+ .global gFriendActionSummary
+gFriendActionSummary: @ 80DD93C
+ .string "Summary\0"
+ .align 2,0
+
+ .global gFriendActionMoves
+gFriendActionMoves: @ 80DD944
+ .string "Moves\0"
+ .align 2,0
+
+ .global gFriendActionCheckIQ
+gFriendActionCheckIQ: @ 80DD94C
+ .string "Check IQ\0"
+ .align 2,0
+
+ .global gUnknown_80DD958
+gUnknown_80DD958: @ 80DD958
+ .string "Item: #C4$i0#R \0"
+ .string "pksdir0\0"
+
+ .global gUnknown_80DD970
+gUnknown_80DD970: @ 80DD970
+@ replacing .incbin "baserom.gba", 0x000dd970, 0x7c
+ .4byte gWonderMailReceiveSOSMail
+ .byte 0x00, 0x00, 0x00, 0x00
+ .4byte gWonderMailLeaveForRescue
+ .byte 0x01, 0x00, 0x00, 0x00
+ .4byte gWonderMailSendAOKMail
+ .byte 0x02, 0x00, 0x00, 0x00
+ .4byte gWonderMailDeleteMail
+ .byte 0x03, 0x00, 0x00, 0x00
+ .4byte gWonderMailCancel
+ .byte 0x0a, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x0a, 0x00, 0x00, 0x00
+
+ .global gWonderMailCancel @ 80DD9A0
+ gWonderMailCancel:
+ .string "Cancel\0"
+ .align 2,0
+
+ .global gWonderMailDeleteMail @ 80DD9A8
+ gWonderMailDeleteMail:
+ .string "Delete Mail\0"
+ .align 2,0
+
+ .global gWonderMailSendAOKMail @ 80DD9B4
+ gWonderMailSendAOKMail:
+ .string "Send A-OK Mail\0"
+ .align 2,0
+
+ .global gWonderMailLeaveForResuce @ 80DD9C4
+ gWonderMailLeaveForRescue:
+ .string "Leave for Rescue\0"
+ .align 2,0
+
+ .global gWonderMailReceiveSOSMail @ 80DD9D8
+ gWonderMailReceiveSOSMail:
+ .string "Receive SOS Mail\0"
+ .align 2,0
+
+ .global gUnknown_80DD9EC
+gUnknown_80DD9EC: @ 80DD9EC
+@ replacing .incbin "baserom.gba", 0x000dd9ec, 0x5c
+ .4byte gWonderMailDeleteSOSMail
+ .byte 0x05, 0x00, 0x00, 0x00
+ .4byte gWonderMailDeleteAOKMail
+ .byte 0x06, 0x00, 0x00, 0x00
+ .4byte gWonderMailDeleteAllMail
+ .byte 0x07, 0x00, 0x00, 0x00
+ .4byte gWonderMailCancel
+ .byte 0x0a, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x0a, 0x00, 0x00, 0x00
+
+ .global gWonderMailDeleteAllMail @ 80DDA14
+ gWonderMailDeleteAllMail:
+ .string "Delete All Mail\0"
+ .align 2,0
+
+ .global gWonderMailDeleteAOKMail @ 80DDA24
+ gWonderMailDeleteAOKMail:
+ .string "Delete A-OK Mail\0"
+ .align 2,0
+
+ .global gWonderMailDeleteSOSMail @ 80DDA38
+ gWonderMailDeleteSOSMail:
+ .string "Delete SOS Mail\0"
+ .align 2,0
+
+ .global gUnknown_80DDA48
+gUnknown_80DDA48: @ 80DDA48
+@ Menu that shows up when you enter an incorrect Wonder Mail Password
+@ replacing .incbin "baserom.gba", 0x000dda48, 0x1c
+ .4byte gWonderMailYes
+ .byte 0x08, 0x00, 0x00, 0x00
+ .4byte gWonderMailCancel
+ .byte 0x0a, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x0a, 0x00, 0x00, 0x00
+
+ .global gWonderMailYes @ (80DDA60)
+ gWonderMailYes:
+ .string "Yes\0"
+ .align 2,0
+
+ .global gUnknown_80DDA64
+gUnknown_80DDA64: @ 80DDA64
+@ replacing .incbin "baserom.gba", 0x000dda64, 0x1c
+ .4byte gWonderMailYes
+ .byte 0x08, 0x00, 0x00, 0x00
+ .4byte gWonderMailNo
+ .byte 0x09, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x0a, 0x00, 0x00, 0x00
+
+ .global gWonderMailNo @ (80DDA7C)
+ gWonderMailNo:
+ .string "No\0"
+ .align 2,0
+
+ .global gUnknown_80DDA80
+gUnknown_80DDA80: @ 80DDA80
+@ replacing .incbin "baserom.gba", 0x000dda80, 0x20
+ .4byte gWonderMailYes
+ .byte 0x08, 0x00, 0x00, 0x00
+ .4byte gWonderMailNo
+ .byte 0x09, 0x00, 0x00, 0x00
+ .4byte gWonderMailCancel
+ .byte 0x0a, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x0a, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DDAA0
+gUnknown_80DDAA0: @ 80DDAA0
+ .4byte SendWOPokemon
+ .byte 0x12, 0x00, 0x00, 0x00
+ .4byte gWonderMailCancel
+ .byte 0x0a, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x0a, 0x00, 0x00, 0x00
+
+ .global SendWOPokemon
+ SendWOPokemon:
+ .string "Send w/o Pokémon\0"
+ .align 2,0
+
+ .global gUnknown_80DDACC
+gUnknown_80DDACC: @ 80DDACC
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x16, 0x00, 0x07, 0x00
+ .byte 0x06, 0x00, 0x04, 0x00
+ .byte 0x04, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DDAE4
+gUnknown_80DDAE4: @ 80DDAE4
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x03, 0x00, 0x00, 0x00
+ .byte 0x16, 0x00, 0x06, 0x00
+ .byte 0x06, 0x00, 0x04, 0x00
+ .byte 0x04, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+
+ .global gUnknown_80DDAFC
+gUnknown_80DDAFC: @ 80DDAFC
+ .4byte Confirm_80DDB1C
+ .byte 0xB, 0x00, 0x00, 0x00
+ .4byte Info_80DDB14
+ .byte 0xC, 0x00, 0x00, 0x00
+ .byte 0x0, 0x00, 0x00, 0x00
+ .byte 0xA, 0x00, 0x00, 0x00
+
+ .global Info_80DDB14
+ Info_80DDB14:
+ .string "Info\0"
+ .align 2,0
+
+ .global Confirm_80DDB1C
+ Confirm_80DDB1C:
+ .string "Confirm\0"
+ .align 2,0
+
+ .global gUnknown_80DDB24
+gUnknown_80DDB24: @ 80DDB24
+ .4byte GameLinkCable_80DDB50
+ .byte 0xD, 0x00, 0x00, 0x00
+ .4byte Password_80DDB44
+ .byte 0xF, 0x00, 0x00, 0x00
+ .4byte gWonderMailCancel
+ .byte 0xA, 0x00, 0x00, 0x00
+ .byte 0x0, 0x00, 0x00, 0x00
+ .byte 0xA, 0x00, 0x00, 0x00
+
+ .global Password_80DDB44
+ Password_80DDB44:
+ .string "Password\0"
+ .align 2,0
+
+ .global GameLinkCable_80DDB50
+ GameLinkCable_80DDB50:
+ .string "Game Link cable\0"
+ .align 2,0
+
+ .global gUnknown_80DDB60
+gUnknown_80DDB60: @ 80DDB60
+
+ .4byte SendPokemon_80DDB98
+ .byte 0x11, 0x00, 0x00, 0x00
+ .4byte DontSendPokemon_80DDB80
+ .byte 0x12, 0x00, 0x00, 0x00
+ .4byte gWonderMailCancel
+ .byte 0x0a, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00
+ .byte 0x0a, 0x00, 0x00, 0x00
+
+ .global DontSendPokemon_80DDB80
+ DontSendPokemon_80DDB80:
+ .string "Don~27t Send Pokémon\0"
+ .align 2,0
+
+ .global SendPokemon_80DDB98
+ SendPokemon_80DDB98:
+ .string "Send Pokémon\0"
+ .align 2,0
+
diff --git a/data/data_810AE24.s b/data/data_810AE24.s
index 03ab158..c2840a6 100644
--- a/data/data_810AE24.s
+++ b/data/data_810AE24.s
@@ -919,7 +919,7 @@ gUnknown_8116298: @ 8116298
@ replacing .incbin "baserom.gba", 0x00116298, 0x10
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
- .4byte sub_802FEE0
+ .4byte CleanMakuhitaShop
.4byte sub_802FE58
.global gUnknown_81162A8
@@ -927,7 +927,7 @@ gUnknown_81162A8: @ 81162A8
@ replacing .incbin "baserom.gba", 0x001162a8, 0x10
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
- .4byte sub_802FEE0
+ .4byte CleanMakuhitaShop
.4byte sub_802FE58
.global gUnknown_81162B8
@@ -935,7 +935,7 @@ gUnknown_81162B8: @ 81162B8
@ replacing .incbin "baserom.gba", 0x001162b8, 0x10
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
- .4byte sub_802FEE0
+ .4byte CleanMakuhitaShop
.4byte sub_802FE58
.global gUnknown_81162C8
diff --git a/include/code_8041D5C.h b/include/code_8041D5C.h
index 712aa2f..39df243 100644
--- a/include/code_8041D5C.h
+++ b/include/code_8041D5C.h
@@ -7,14 +7,14 @@ struct subStruct_8048524
u8 unk6;
u8 unk7;
u8 fill8[0xE - 0x8];
- s16 unkE; // HP??
+ /* 0xE */ s16 HP; // HP??
s16 unk10;
u8 fill12[0x46 - 0x12];
u8 unk46;
u8 fill47[0xA4 - 0x47];
u8 unkA4;
u8 fillA5[0xAC - 0xA5];
- u8 unkAC;
+ /* 0xAC */ u8 statusCondition;
u8 fillAD[0xFB - 0xAD];
u8 unkFB;
u8 fillFC[0x112 - 0xFC];
diff --git a/include/constants/species.h b/include/constants/species.h
index 1822200..36d3501 100644
--- a/include/constants/species.h
+++ b/include/constants/species.h
@@ -1,6 +1,8 @@
#ifndef GUARD_CONSTANTS_SPECIES_H
#define GUARD_CONSTANTS_SPECIES_H
+#define NUM_SPECIES 413
+
#define SPECIES_NONE 0
#define SPECIES_BULBASAUR 1
#define SPECIES_IVYSAUR 2
diff --git a/include/gUnknown_203B46C.h b/include/gUnknown_203B46C.h
new file mode 100644
index 0000000..c733174
--- /dev/null
+++ b/include/gUnknown_203B46C.h
@@ -0,0 +1,21 @@
+#ifndef GUARD_GUNKNOWN_203B46C_H
+#define GUARD_GUNKNOWN_203B46C_H
+
+struct UnkSaveStruct1
+{
+ /* 0x0 */ u8 unk0;
+ /* 0x1 */ u8 unk1;
+ /* 0x2 */ u8 unk2;
+ /* 0x3 */ u8 unk3;
+ /* 0x4 */ u8 unk4;
+ /* 0x5 */ u8 unk5;
+ /* 0x6 */ u8 unk6;
+ /* 0x7 */ u8 unk7;
+ /* 0x8 */ u8 unk8;
+ /* 0x9 */ u8 unk9;
+ /* 0xA */ u8 unkA;
+ /* 0xB */ u8 playerGender;
+ /* 0xC */ u8 unkC;
+};
+
+#endif
diff --git a/include/kecleon_items.h b/include/kecleon_items.h
index f9added..0a190a3 100644
--- a/include/kecleon_items.h
+++ b/include/kecleon_items.h
@@ -28,7 +28,7 @@ struct unkStruct_203B210
u8 fill34[0x84 - 0x34];
u32 unk84;
u8 fill88[0xD4 - 0x88];
- struct OpenedFile *unkD4;
+ struct OpenedFile *faceFile;
u8 *unkD8;
u16 unkDC;
u16 unkDE;
diff --git a/include/memory.h b/include/memory.h
index 4b1e587..ef99757 100644
--- a/include/memory.h
+++ b/include/memory.h
@@ -52,5 +52,8 @@ void MemoryCopy32(u32 *dest, u32 *src, s32 size);
void InitHeapInternal(void);
void DoInitHeap(struct HeapDescriptor *, struct HeapSettings *, struct HeapFreeListElement *, u32);
void InitSubHeap(struct HeapDescriptor *, struct HeapMemoryBlock *, u32);
+s32 _LocateSet(struct HeapDescriptor *heap, s32 size, s32 param_3);
+void *MemoryAlloc(s32 size, s32 b);
+void MemoryFree(void *a);
#endif // GUARD_MEMORY_H
diff --git a/include/pokemon.h b/include/pokemon.h
index 8014015..1c51eab 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -3,6 +3,57 @@
#include "file_system.h"
+struct PokemonStruct
+{
+ // size: 0x58
+ u16 unk0; // recruited??
+ u8 unk2;
+ u8 unk3;
+ u8 fill4[0x8 - 0x4];
+ s16 unk8; // species #
+ u8 fillA[0x14 - 0xA];
+ u16 unk14;
+ u16 unk16; // HP
+ u8 unk18; // attack
+ u8 unk19; // sp attack
+ u8 unk1A; // def
+ u8 unk1B; // spdef
+ u32 unk1C;
+ u32 unk20;
+ u8 unk24;
+ u8 fill25[3];
+ u8 unk28;
+ u8 fill29[3];
+ u32 unk2C;
+ u8 fill30[0x4C - 0x30];
+ /* 0x4C */ u8 name[0xA];
+};
+
+struct PokemonStruct2
+{
+ // size 0x64
+ u16 unk0;
+ u8 fill[0x62];
+};
+
+struct PokemonStruct3
+{
+ // size: 0x58
+ u16 unk0;
+ u16 unk2;
+ u16 unk4;
+ u16 unk6;
+ u16 unk8;
+ u8 fill[0x4E];
+};
+
+struct unkStruct_203B45C
+{
+ struct PokemonStruct pokemon[0x19D];
+ struct PokemonStruct2 pokemon2[4];
+ struct PokemonStruct3 pokemon3[4];
+};
+
struct EvolveStruct1
{
/* 0x34 */ u16 evolve_from;
diff --git a/include/save.h b/include/save.h
index da23b47..6ed2765 100644
--- a/include/save.h
+++ b/include/save.h
@@ -36,7 +36,7 @@ struct UnkStruct_sub_8011DAC {
struct UnkStruct_203B184 {
/* 0x0 */ u32 *unk0;
- /* 0x4 */ u32 *unk4;
+ /* 0x4 */ u32 *recruitedPokemon;
/* 0x8 */ u8 *unk8;
/* 0xC */ u8 *unkC;
/* 0x10 */ u32 *unk10;
@@ -46,7 +46,7 @@ struct UnkStruct_203B184 {
/* 0x20 */ u32 unk20;
/* 0x24 */ struct ExclusivePokemonData *ExclusivePokemon;
/* 0x28 */ u8 *BoughtFriendAreas;
- /* 0x2C */ u32 unk2C;
+ /* 0x2C */ u32 gameOptions;
/* 0x30 */ struct PlayTimeStruct *playTime;
u32 unk34;
u32 unk38;
@@ -89,7 +89,7 @@ void sub_80129FC(void);
void sub_8012298();
void sub_80122D0();
void sub_80122F4();
-void sub_8012300();
+void InitializePlayerData();
void sub_80122A8();
u32 ReadSaveSector(s32 *a, u8 *dest, s32 size);
diff --git a/ld_script.txt b/ld_script.txt
index 8c7a85d..724dd5e 100755
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -50,6 +50,8 @@ SECTIONS {
asm/code_8002774.o(.text);
src/memory.o(.text);
asm/memory.o(.text);
+ src/memory_mid.o(.text);
+ asm/memory_1.o(.text);
src/memory1.o(.text);
asm/code_80035F0.o(.text);
src/other_random.o(.text);
@@ -84,6 +86,7 @@ SECTIONS {
src/code_8012A18.o(.text);
src/more_input.o(.text);
asm/code_8012A18.o(.text);
+ src/code_8012A18_1.o(.text);
src/felicity_bank.o(.text);
asm/felicity_bank.o(.text);
src/felicity_bank_1.o(.text);
@@ -91,12 +94,20 @@ SECTIONS {
asm/kangaskhan_storage.o(.text);
src/kangaskhan_storage_1.o(.text);
asm/kangaskhan_storage_1.o(.text);
+ src/kangaskhan_storage_2.o(.text);
+ asm/kangaskhan_storage_2.o(.text);
+ src/kangaskhan_storage_3.o(.text);
src/kecleon_items.o(.text);
asm/kecleon_items.o(.text);
src/kecleon_items_1.o(.text);
asm/pokemon_square.o(.text);
+ src/code_801C620.o(.text);
+ asm/code_801C620.o(.text);
src/code_801D760.o(.text);
asm/code_801D760.o(.text);
+ src/code_801DCC4.o(.text);
+ asm/code_801DCC4.o(.text);
+ asm/gulpin_shop.o(.text);
src/code_8027C84_pre.o(.text);
asm/code_8027C84.o(.text);
src/wonder_mail_pre.o(.text);
@@ -181,6 +192,8 @@ SECTIONS {
asm/friend_area_1.o(.text);
src/friend_area_1.o(.text);
asm/code_8092334.o(.text);
+ src/game_options.o(.text);
+ asm/game_options.o(.text);
src/play_time.o(.text);
src/code_8094F88.o(.text);
asm/code_8095014.o(.text);
@@ -269,6 +282,8 @@ SECTIONS {
data/data.o(.rodata);
src/file_system.o(.rodata);
data/data_80B9BB8.o(.rodata);
+ src/save.o(.rodata);
+ data/data_80D47B8.o(.rodata);
src/wonder_mail.o(.rodata);
data/data_80DED44.o(.rodata);
src/post_office_guide.o(.rodata);
diff --git a/src/adventure_log.c b/src/adventure_log.c
index d3baf40..4c9b10f 100644
--- a/src/adventure_log.c
+++ b/src/adventure_log.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "input.h"
#include "gba/io_reg.h"
+#include "memory.h"
struct unkData
{
@@ -54,8 +55,6 @@ const u8 gAdventureLogHeaderText[] = "Adventure Log";
const u8 gUnknown_80E2030[] = "~95~95~95~95~95~95~95~95~95~95~95~95~95~95~95 "; // string of ???????
const u8 fill_adven[] = "pksdir0";
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFree(void *);
extern void sub_8006518(struct unkData *);
extern void sub_800641C(void *, u32, u32);
void sub_8032084();
@@ -78,7 +77,7 @@ extern u32 gUnknown_202DE30;
u32 CreateAdventureLogScreen(u32 param_1)
{
- gAdventureLog = MemoryAlloc(0xa0,8);
+ gAdventureLog = MemoryAlloc(sizeof(struct AdventureLog),8);
gAdventureLog->unk34 = param_1;
gAdventureLog->unk38 = &gAdventureLog->unk3C[param_1];
sub_8006518(gAdventureLog->unk3C);
diff --git a/src/code_2.c b/src/code_2.c
index 08db080..c4362b3 100644
--- a/src/code_2.c
+++ b/src/code_2.c
@@ -8,6 +8,7 @@
#include "music.h"
#include "play_time.h"
#include "save.h"
+#include "gUnknown_203B46C.h"
extern void NDS_DebugInit(void);
extern void sub_801180C(void);
@@ -15,7 +16,7 @@ extern void NDS_LoadOverlay_GroundMain(void);
extern void sub_8014144(void);
extern void LoadMonsterParameters(void);
extern void sub_8097670(void);
-extern void sub_8094980(void);
+extern void LoadGameOptions(void);
extern void sub_8094C14(void);
extern void LoadExclusivePokemon(void);
extern void LoadItemParameters(void);
@@ -24,7 +25,7 @@ extern void LoadWazaParameters(void);
extern void sub_80950BC(void);
extern void sub_80958E8(void);
extern void sub_800CD64(u32, u32);
-extern void sub_8094998(u32);
+extern void InitializeGameOptions(u32);
extern void SetWindowTitle(char *);
extern void sub_800DAAC(void);
extern void SetSavingIconCoords(u32);
@@ -71,7 +72,7 @@ extern u16 gUnknown_2026E4E;
extern s32 gUnknown_2000A80;
extern struct OpenedFile *gTitlePaletteFile;
extern struct Inputs gRealInputs;
-extern u8 *gUnknown_203B46C;
+extern struct UnkSaveStruct1 *gUnknown_203B46C;
extern char gPMDBuildVersion[];
@@ -92,7 +93,7 @@ void GameLoop(void)
LoadMonsterParameters();
sub_8097670();
InitializePlayTime();
- sub_8094980();
+ LoadGameOptions();
sub_8094C14();
LoadExclusivePokemon();
LoadFriendAreas();
@@ -103,7 +104,7 @@ void GameLoop(void)
sub_80958E8();
sub_800CD64(0x8000, 0);
sub_8012284();
- sub_8094998(1);
+ InitializeGameOptions(1);
SetWindowTitle(gPMDBuildVersion);
sub_800DAAC();
SetSavingIconCoords(0);
@@ -207,7 +208,7 @@ void xxx_update_stuff(u32 r0)
{
xxx_draw_string_80144C4();
sub_8005838(0, 0);
- nullsub_8(gUnknown_203B46C[10]);
+ nullsub_8(gUnknown_203B46C->unkA);
sub_8005180();
sub_80060EC();
sub_8011860();
diff --git a/src/code_8012A18.c b/src/code_8012A18.c
index 0e0099b..983d4e7 100644
--- a/src/code_8012A18.c
+++ b/src/code_8012A18.c
@@ -1,15 +1,7 @@
#include "global.h"
#include "code_800558C.h"
#include "input.h"
-
-struct UnkStruct_203B46C
-{
- /* 0x0 */ u32 unk0;
- /* 0x4 */ u32 unk4;
- /* 0x8 */ u16 unk8;
- /* 0xA */ u8 unkA;
-};
-
+#include "gUnknown_203B46C.h"
extern void sub_8011860();
extern void xxx_draw_string_80144C4();
@@ -24,7 +16,7 @@ extern void sub_8009908();
extern void xxx_call_update_bg_sound_input();
extern void ResetSprites(u8 r0);
-extern struct UnkStruct_203B46C *gUnknown_203B46C;
+extern struct UnkSaveStruct1 *gUnknown_203B46C;
void sub_8012A18()
diff --git a/src/code_8012A18_1.c b/src/code_8012A18_1.c
new file mode 100644
index 0000000..62dc64d
--- /dev/null
+++ b/src/code_8012A18_1.c
@@ -0,0 +1,284 @@
+#include "global.h"
+#include "menu.h"
+#include "file_system.h"
+#include "memory.h"
+#include "input.h"
+
+extern void sub_800641C(u32, u32, u32);
+
+struct unkStruct_203B200
+{
+ u32 unk0;
+ u32 unk4;
+ u8 *pokeName;
+ s32 state;
+ /* 0x10 */ struct MenuItem menus[3];
+};
+extern struct unkStruct_203B200 *gUnknown_203B200;
+extern const char *gUnknown_80D4920;
+extern const char *gUnknown_80D4928;
+
+extern const char gUnknown_80DB6A4;
+extern const char gUnknown_80DB6BC;
+extern const char gUnknown_80DB688;
+extern u8 gAvailablePokemonNames[0x58];
+
+extern void sub_80141B4(const char *r0, u32, struct OpenedFile **r1, u32);
+extern void sub_8014248(const char *r0, u32, u32, const struct MenuItem *r4, u32, u32, u32, struct OpenedFile **r5, u32);
+
+extern s32 sub_80144A4(s32 *);
+extern void sub_80151C0(u32, u8 *);
+extern void CreateConfirmNameMenu(void);
+extern void sub_80160F4(u32);
+bool8 sub_80162B8(void);
+extern u32 sub_80154F0(void);
+extern void sub_80155F0(void);
+extern void sub_80922B4(u8 *, u8 *, s32);
+
+void nullsub_36(void);
+void sub_8016110(void);
+extern void sub_80161F8(void);
+extern void HandleConfirmNameMenu(void);
+extern void sub_8016280(void);
+extern void sub_801629C(void);
+
+
+enum
+{
+ MENU_ACTION_DEFAULT = 1,
+ MENU_ACTION_YES,
+ MENU_ACTION_NO,
+};
+
+extern u32 ReturnIntFromChar2(u8);
+
+struct unkChar
+{
+ u32 unk0;
+ s16 unk4;
+ s16 unk6;
+};
+
+struct unkChar *GetCharacter(u32);
+
+
+s32 sub_8015FEC(u8 *buffer, s32 size)
+{
+ struct unkChar *iVar2;
+ s32 currLength;
+ s32 iVar4;
+ u8 *bufferPtr;
+
+ iVar4 = 0;
+ currLength = 0;
+
+ if(currLength < size && *buffer != '\0')
+ {
+ bufferPtr = buffer; // Had to have another variable to match..
+ do {
+ iVar2 = GetCharacter(ReturnIntFromChar2(*bufferPtr));
+ iVar4 += iVar2->unk6;
+ bufferPtr++;
+ currLength++;
+ } while (currLength < size && *bufferPtr != '\0');
+ }
+ return iVar4;
+}
+
+s32 sub_8016028(void)
+{
+ return 60;
+}
+
+u32 sub_801602C(u32 r0, u8 *name)
+{
+ ResetUnusedInputStruct();
+ sub_800641C(0, 1, 1);
+ gUnknown_203B200 = MemoryAlloc(0x50, 8);
+ gUnknown_203B200->unk0 = r0;
+ gUnknown_203B200->pokeName = name;
+ switch(r0)
+ {
+ case 0:
+ gUnknown_203B200->unk4 = 0;
+ break;
+ case 1:
+ gUnknown_203B200->unk4 = 1;
+ break;
+ case 2:
+ gUnknown_203B200->unk4 = 2;
+ break;
+ case 3:
+ gUnknown_203B200->unk4 = 3;
+ break;
+ default:
+ break;
+ }
+ sub_80160F4(0);
+ return 1;
+}
+
+u32 sub_8016080(void)
+{
+ switch(gUnknown_203B200->state) {
+ case 0:
+ sub_80161F8();
+ break;
+ case 1:
+ HandleConfirmNameMenu();
+ break;
+ case 2:
+ sub_8016280();
+ break;
+ case 3:
+ sub_801629C();
+ break;
+ case 4:
+ return 3;
+ }
+ return 0;
+}
+
+extern void MemoryFree(void *);
+
+void sub_80160D8(void)
+{
+ if(gUnknown_203B200 != NULL)
+ {
+ MemoryFree(gUnknown_203B200);
+ gUnknown_203B200 = NULL;
+ }
+}
+
+
+void sub_80160F4(u32 newState)
+{
+ gUnknown_203B200->state = newState;
+ nullsub_36();
+ sub_8016110();
+}
+
+void nullsub_36(void)
+{
+}
+
+void sub_8016110(void)
+{
+ switch(gUnknown_203B200->state)
+ {
+ case 0:
+ sub_80151C0(gUnknown_203B200->unk4,gUnknown_203B200->pokeName);
+ break;
+ case 1:
+ CreateConfirmNameMenu();
+ if (gUnknown_203B200->unk4 == 1) {
+ sub_80922B4(gAvailablePokemonNames,gUnknown_203B200->pokeName,10);
+ }
+ else {
+ sub_80922B4(gAvailablePokemonNames,gUnknown_203B200->pokeName,10);
+ }
+ // Is the name #C5$m0#R OK?
+ sub_8014248(&gUnknown_80DB688,0,3,gUnknown_203B200->menus,0,4,0,0,0x20);
+ break;
+
+ case 2:
+ // This name is too long
+ sub_80141B4(&gUnknown_80DB6A4,0,0,0x121);
+ break;
+ case 3:
+ // Please enter a name
+ sub_80141B4(&gUnknown_80DB6BC,0,0,0x121);
+ break;
+ default:
+ break;
+ }
+}
+
+void CreateConfirmNameMenu(void)
+{
+ gUnknown_203B200->menus[0].text = gUnknown_80D4920; // Yes
+ gUnknown_203B200->menus[0].menuAction = MENU_ACTION_YES;
+ gUnknown_203B200->menus[1].text = gUnknown_80D4928; // No
+ gUnknown_203B200->menus[1].menuAction = MENU_ACTION_NO;
+ gUnknown_203B200->menus[2].text = NULL;
+ gUnknown_203B200->menus[2].menuAction = MENU_ACTION_DEFAULT;
+}
+
+void sub_80161F8(void)
+{
+ s32 iVar2;
+ s32 maxLength;
+
+ if (sub_80154F0() == 3) {
+ sub_80155F0();
+ if (sub_80162B8()) {
+ sub_80160F4(3);
+ }
+ else{
+ iVar2 = sub_8015FEC(gUnknown_203B200->pokeName,10);
+ maxLength = sub_8016028(); // returns 60
+ if (iVar2 > maxLength) {
+ sub_80160F4(2);
+ }
+ else {
+ sub_80160F4(1);
+ }
+ }
+ }
+}
+
+void HandleConfirmNameMenu(void)
+{
+ s32 temp;
+
+ if (sub_80144A4(&temp) == 0) {
+ switch(temp)
+ {
+ case MENU_ACTION_YES:
+ sub_80160F4(4);
+ break;
+ case MENU_ACTION_NO:
+ case MENU_ACTION_DEFAULT:
+ sub_80160F4(0);
+ break;
+ default:
+ break;
+ }
+ }
+}
+
+void sub_8016280(void)
+{
+ s32 temp;
+
+ if (sub_80144A4(&temp) == 0) {
+ sub_80160F4(0);
+ }
+}
+
+
+void sub_801629C(void)
+{
+ s32 temp;
+
+ if (sub_80144A4(&temp) == 0) {
+ sub_80160F4(0);
+ }
+}
+
+bool8 sub_80162B8(void)
+{
+ u8 character;
+ s32 index;
+ s32 max;
+
+ max = 10; // constant needed at top of loop to match
+ index = 0;
+ do {
+ character = gUnknown_203B200->pokeName[index];
+ if (character == '\0') break;
+ if (character != ' ') return 0;
+ index++;
+ } while (index < max);
+ return 1;
+}
diff --git a/src/code_801C620.c b/src/code_801C620.c
new file mode 100644
index 0000000..66269c9
--- /dev/null
+++ b/src/code_801C620.c
@@ -0,0 +1,197 @@
+#include "global.h"
+#include "input.h"
+#include "memory.h"
+
+struct unkData
+{
+ u8 unk0[24];
+};
+
+
+struct subStruct_203B240
+{
+ char * unk0;
+ char * unk4;
+};
+
+struct unkStruct_203B240
+{
+ s32 unk0;
+ u8 unk4;
+ u8 fill5[3];
+ s32 unk8;
+ s32 unkC;
+ struct subStruct_203B240 *unk10[2];
+ u8 fill14[0x20 - 0x18];
+ u32 unk20;
+ u32 unk24;
+ struct unkData unk28[4];
+ u32 unk88;
+};
+
+extern struct unkStruct_203B240 *gUnknown_203B240;
+extern char gUnknown_80DBE2C[]; // $i0
+extern char gUnknown_80DBE30[]; // $m0
+extern u8 gUnknown_202DE58[0x58];
+extern u8 gAvailablePokemonNames[0x58];
+
+
+extern void ResetSprites(u32);
+extern void sub_801317C(u32 *);
+extern void sub_80140B4(struct unkData *);
+extern void sub_800641C(struct unkData *,u32, u32);
+
+
+extern void sub_8014FF0(u32, u32, char *, u32, u32);
+extern void sub_8008C54(u32);
+extern void sub_80073B8(u32);
+extern void xxx_call_draw_string(u32, u32, char *, u32, u32);
+extern void sub_80073E0(u32);
+extern u32 sub_8097DF0(char *, struct subStruct_203B240 **);
+extern u32 sub_8012A64(u32 *, u32);
+extern void sub_8013F84();
+extern void PlayMenuSoundEffect(u32);
+extern char * GetIQSkillName(u8 r0);
+extern char * GetIQSkillDescription(u8 r0);
+
+void sub_801C6D0(s32);
+void sub_801C7D4();
+void sub_801C6E4();
+void sub_801C848();
+
+u32 sub_801C620(u8 param_1)
+{
+ ResetSprites(1);
+ gUnknown_203B240 = MemoryAlloc(0x94,8);
+ gUnknown_203B240->unk4 = param_1;
+ sub_801317C(&gUnknown_203B240->unk88);
+ gUnknown_203B240->unk24 = 0;
+ sub_80140B4(gUnknown_203B240->unk28);
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B240->unk28,1,1);
+ sub_801C6D0(0);
+ return 1;
+}
+
+u32 sub_801C674(void)
+{
+ switch(gUnknown_203B240->unk0)
+ {
+ case 0:
+ sub_801C7D4();
+ break;
+ case 1:
+ sub_801C848();
+ break;
+ case 3:
+ return 3;
+ case 2:
+ default:
+ return 2;
+ }
+ return 0;
+}
+
+void sub_801C6B4(void)
+{
+ if(gUnknown_203B240 != NULL)
+ {
+ MemoryFree(gUnknown_203B240);
+ gUnknown_203B240 = NULL;
+ }
+}
+
+void sub_801C6D0(s32 unk0)
+{
+ gUnknown_203B240->unk0 = unk0;
+ sub_801C6E4();
+}
+
+void sub_801C6E4(void)
+{
+ char *skillName;
+ struct subStruct_203B240 *preload;
+
+ switch(gUnknown_203B240->unk0)
+ {
+ case 0:
+ sub_8008C54(gUnknown_203B240->unk24);
+ sub_80073B8(gUnknown_203B240->unk24);
+ skillName = GetIQSkillName(gUnknown_203B240->unk4);
+ strcpy(gUnknown_202DE58,skillName);
+ sub_8014FF0(16,0,gUnknown_80DBE2C,0,0); // $i0
+ xxx_call_draw_string(8,16,GetIQSkillDescription(gUnknown_203B240->unk4),gUnknown_203B240->unk24,0);
+ sub_80073E0(gUnknown_203B240->unk24);
+ gUnknown_203B240->unkC = sub_8097DF0(GetIQSkillDescription(gUnknown_203B240->unk4),gUnknown_203B240->unk10);
+ gUnknown_203B240->unk20 = 0;
+ break;
+ case 1:
+ sub_8008C54(gUnknown_203B240->unk24);
+ sub_80073B8(gUnknown_203B240->unk24);
+ preload = gUnknown_203B240->unk10[gUnknown_203B240->unk8];
+ strcpy(gAvailablePokemonNames,preload->unk0);
+ sub_8014FF0(16,0,gUnknown_80DBE30,gUnknown_203B240->unk24,0); // $m0
+ sub_8014FF0(4,16,gUnknown_203B240->unk10[gUnknown_203B240->unk8]->unk4, gUnknown_203B240->unk24,0);
+ sub_80073E0(gUnknown_203B240->unk24);
+ break;
+ case 2:
+ case 3:
+ break;
+ }
+}
+
+void sub_801C7D4(void)
+{
+
+ if (gUnknown_203B240->unkC != 0) {
+ if ((gUnknown_203B240->unk20 & 8) != 0) {
+ sub_8013F84();
+ }
+ gUnknown_203B240->unk20++;
+ }
+ switch(sub_8012A64(&gUnknown_203B240->unk88,gUnknown_203B240->unk24))
+ {
+ case 1:
+ PlayMenuSoundEffect(0);
+ if (gUnknown_203B240->unkC != 0) {
+ gUnknown_203B240->unk8 = 0;
+ sub_801C6D0(1);
+ }
+ else {
+ sub_801C6D0(3);
+ }
+ break;
+ case 2:
+ PlayMenuSoundEffect(1);
+ sub_801C6D0(2);
+ break;
+ }
+}
+
+void sub_801C848(void)
+{
+
+ if (gUnknown_203B240->unk8 < (gUnknown_203B240->unkC - 1)) {
+ if ((gUnknown_203B240->unk20 & 8) != 0) {
+ sub_8013F84();
+ }
+ gUnknown_203B240->unk20++;
+ }
+ switch(sub_8012A64(&gUnknown_203B240->unk88,gUnknown_203B240->unk24))
+ {
+ case 1:
+ PlayMenuSoundEffect(0);
+ gUnknown_203B240->unk8++;
+ if (gUnknown_203B240->unk8 < gUnknown_203B240->unkC) {
+ sub_801C6D0(1);
+ }
+ else {
+ sub_801C6D0(0);
+ }
+ break;
+ case 2:
+ PlayMenuSoundEffect(1);
+ sub_801C6D0(2);
+ break;
+ }
+}
diff --git a/src/code_801D760.c b/src/code_801D760.c
index b0f163a..be96c88 100644
--- a/src/code_801D760.c
+++ b/src/code_801D760.c
@@ -2,6 +2,39 @@
#include "constants/friend_area.h"
#include "file_system.h"
#include "gUnknown_203B460.h"
+#include "memory.h"
+#include "input.h"
+
+struct unkData
+{
+ u8 unk0[0x14];
+ u32 *unk14;
+};
+
+struct unkStruct_203B258
+{
+ // size: 0xA0
+ u8 fill0[0x14];
+ u32 unk14;
+ u8 fill18[0x34 - 0x18];
+ u32 unk34;
+ struct unkData *unk38;
+ struct unkData unk3C[4];
+ u32 unk9C;
+};
+
+extern struct unkStruct_203B258 *gUnknown_203B258;
+extern struct unkData gUnknown_80DBF88;
+
+extern void sub_800641C(struct unkData *, u32, u32);
+extern void sub_8006518(struct unkData *);
+extern void sub_8013818(void *, u32, u32, u32);
+extern void sub_8013878(void *, s32);
+extern u8 sub_80138B8(void *, u32);
+extern u32 GetKeyPress(void *);
+extern void PlayMenuSoundEffect(u32);
+extern void sub_801DB54();
+extern void sub_801DBD4();
extern u32 sub_801BF48(void);
extern void sub_801BF98(void);
@@ -121,130 +154,156 @@ void sub_801D680(void)
void sub_801D760()
{
- u32 temp;
- temp = sub_8022860();
- if (temp <= 1)
- return;
- if (temp > 3)
- return;
- sub_8022908();
- sub_801D208(1);
-
+ switch(sub_8022860())
+ {
+ case 0:
+ case 1:
+ default:
+ break;
+ case 2:
+ case 3:
+ sub_8022908();
+ sub_801D208(1);
+ break;
+ }
}
void sub_801D77C()
{
- u32 temp;
- temp = sub_80270A4();
- if (temp <= 1)
- return;
- if (temp > 3)
- return;
- sub_8027168();
- sub_801D208(1);
-
+ switch(sub_80270A4())
+ {
+ case 0:
+ case 1:
+ default:
+ break;
+ case 2:
+ case 3:
+ sub_8027168();
+ sub_801D208(1);
+ break;
+ }
}
void sub_801D798(void)
{
- u32 temp;
- temp = sub_8025F68();
- if (temp <= 1)
- return;
- if (temp > 3)
- return;
- if(sub_802604C() != 0)
- gUnknown_203B250->unk7 = gUnknown_203B250->currFriendAreaLocation;
- sub_8026058();
- sub_801D208(2);
+ switch(sub_8025F68())
+ {
+ case 0:
+ case 1:
+ default:
+ break;
+ case 2:
+ case 3:
+ if(sub_802604C() != 0)
+ gUnknown_203B250->unk7 = gUnknown_203B250->currFriendAreaLocation;
+ sub_8026058();
+ sub_801D208(2);
+ break;
+ }
}
void sub_801D7CC()
{
- u32 check;
- u32 temp2;
-
- check = sub_8025354();
- if(check <= 1)
- return;
- if(check > 3)
- return;
-
- temp2 = sub_802540C();
- gUnknown_203B250->unk7 = temp2;
-
- sub_8025418();
-
- if(gUnknown_203B250->unk7 != 0)
- {
- sub_801D208(2);
- }
- else
+ switch(sub_8025354())
{
- sub_801D208(1);
+ case 0:
+ case 1:
+ default:
+ break;
+ case 2:
+ case 3:
+ gUnknown_203B250->unk7 = sub_802540C();
+ sub_8025418();
+ if(gUnknown_203B250->unk7 != 0)
+ {
+ sub_801D208(2);
+ }
+ else
+ {
+ sub_801D208(1);
+ }
+ break;
}
}
void sub_801D808(void)
{
- u32 check;
-
- check = sub_80244E4();
- if(check <= 1)
- return;
- if(check > 3)
- return;
-
- sub_802453C();
- sub_801D208(1);
+ switch(sub_80244E4())
+ {
+ case 0:
+ case 1:
+ default:
+ break;
+ case 2:
+ case 3:
+ sub_802453C();
+ sub_801D208(1);
+ break;
+ }
}
void sub_801D824(void)
{
- u32 check;
- check = sub_801BF48();
- if(check <= 1)
- return;
- if(check > 3)
- return;
- sub_801BF98();
- sub_801D208(1);
+ switch(sub_801BF48())
+ {
+ case 0:
+ case 1:
+ default:
+ break;
+ case 2:
+ case 3:
+ sub_801BF98();
+ sub_801D208(1);
+ break;
+ }
}
void sub_801D840(void)
{
- u32 check;
- check = sub_80217EC();
- if(check <= 1)
- return;
- if(check > 3)
- return;
- sub_8021830();
- sub_801D208(1);
+ switch(sub_80217EC())
+ {
+ case 0:
+ case 1:
+ default:
+ break;
+ case 2:
+ case 3:
+ sub_8021830();
+ sub_801D208(1);
+ break;
+ }
}
void sub_801D85C(void)
{
- u32 check;
- check = sub_802C898();
- if(check <= 1)
- return;
- if(check > 3)
- return;
- sub_802C8F4();
- sub_801D208(1);
+ switch(sub_802C898())
+ {
+ case 0:
+ case 1:
+ default:
+ break;
+ case 2:
+ case 3:
+ sub_802C8F4();
+ sub_801D208(1);
+ break;
+ }
}
void sub_801D878(void)
{
- u32 check;
- check = sub_801DCE8();
- if(check <= 1)
- return;
- if(check > 3)
- return;
- sub_801DD50();
- sub_801D208(1);
+ switch(sub_801DCE8())
+ {
+ case 0:
+ case 1:
+ default:
+ break;
+ case 2:
+ case 3:
+ sub_801DD50();
+ sub_801D208(1);
+ break;
+ }
}
void sub_801D894(void)
@@ -307,3 +366,50 @@ void LoadTeamRankBadge(u32 param_1, u32 param_2, u32 param_3)
sub_8007E20(param_1, param_2, param_3, 16, 16, teamBadgePic, 14);
CloseFile(teamBadgeFile);
}
+
+u32 sub_801D9E4(void)
+{
+ gUnknown_203B258 = MemoryAlloc(sizeof(struct unkStruct_203B258),8);
+ gUnknown_203B258->unk34 = 3;
+ gUnknown_203B258->unk38 = &gUnknown_203B258->unk3C[3];
+ sub_8006518(gUnknown_203B258->unk3C);
+ gUnknown_203B258->unk3C[gUnknown_203B258->unk34] = gUnknown_80DBF88;
+ gUnknown_203B258->unk38->unk14 = &gUnknown_203B258->unk9C;
+ ResetUnusedInputStruct();
+ sub_800641C(gUnknown_203B258->unk3C,1,1);
+ sub_8013818(gUnknown_203B258,0xe5,10,gUnknown_203B258->unk34);
+ sub_801DB54();
+ sub_801DBD4();
+ return 1;
+}
+
+void sub_801DA58(s16 param_0)
+{
+ s32 cast;
+ cast = param_0;
+ sub_8013878(gUnknown_203B258, cast);
+ sub_801DB54();
+ sub_801DBD4();
+}
+
+u32 sub_801DA78(void)
+{
+ switch(GetKeyPress(gUnknown_203B258))
+ {
+ case 2:
+ PlayMenuSoundEffect(1);
+ return 2;
+ case 1:
+ return 3;
+ default:
+ if(sub_80138B8(gUnknown_203B258, 1) != 0)
+ {
+ sub_801DB54();
+ sub_801DBD4();
+ return 1;
+ }
+ else {
+ return 0;
+ }
+ }
+}
diff --git a/src/code_801DCC4.c b/src/code_801DCC4.c
new file mode 100644
index 0000000..d713bd6
--- /dev/null
+++ b/src/code_801DCC4.c
@@ -0,0 +1,474 @@
+#include "global.h"
+#include "memory.h"
+#include "menu.h"
+#include "gUnknown_203B46C.h"
+
+struct unkData
+{
+ u8 unk0[0xB];
+ u16 unkB;
+ u16 unkD;
+ u16 unk10;
+ u16 unk12;
+ u32 *unk14;
+};
+
+struct unkStruct_203B25C
+{
+ // size: 0x11C
+ u32 state;
+ u32 unk4;
+ struct UnkSaveStruct1 unk8;
+ u32 unk18;
+ const char *unk1C;
+ u8 fill20[0x6C - 0x20];
+ struct MenuItem unk6C[3];
+ u8 fill84[0xAC - 0x84];
+ u16 unkAC[8];
+ struct unkData unkBC[4];
+};
+
+
+extern void sub_801DD6C(u32);
+
+extern void HandleOthersMenu();
+extern void sub_801E088();
+extern void sub_801E0E0();
+extern void sub_801E0FC();
+extern void HandleChangeSettingsMenu();
+extern void sub_801DD84();
+extern void sub_801DED0();
+extern void sub_8012D60(const char **, struct MenuItem *, u32, u16 *, u32, u32);
+extern u32 sub_801E198(struct UnkSaveStruct1 *);
+extern void sub_8014248(const char *, u32, u32, struct MenuItem *, u32, u32, u32, u32, u32);
+extern void sub_801E658(u32);
+extern void sub_801E3F0(u32);
+extern void sub_801E510(u32);
+extern void CreateChangeSettingsConfirmMenu(void);
+extern u8 sub_8012FD8(u32 *);
+extern void sub_8013114(u32 *, u32 *);
+extern u32 sub_801E474(u32);
+extern u32 sub_801E4F4(void);
+extern void sub_801E54C(void);
+extern u32 sub_801E6CC(void);
+extern void sub_801E724(void);
+extern u32 sub_801E218(void);
+extern bool8 GameOptionsNotChange(struct UnkSaveStruct1 *);
+extern void sub_801E2C4(void);
+extern s32 sub_80144A4(s32 *);
+extern void sub_8094C14(void);
+extern void sub_8099690(u32);
+
+extern struct UnkSaveStruct1 *gUnknown_203B46C;
+extern struct unkStruct_203B25C *gUnknown_203B25C;
+
+extern const char gOthers_MenuOption[];
+extern const char gUnknown_80DBFEC[];
+extern const char gOthers_GameOptions[];
+extern const char gOthers_Hints[];
+extern const char *gUnknown_80D4920[];
+extern const char *gUnknown_80D4928[];
+
+
+enum
+{
+ MENU_OPTION_DEFAULT = 1,
+ MENU_OPTION_HINTS,
+ MENU_OPTION_GAMEOPTIONS,
+ MENU_OPTION_YES,
+ MENU_OPTION_NO
+};
+
+u32 sub_801DCC4(void)
+{
+ gUnknown_203B25C = MemoryAlloc(sizeof(struct unkStruct_203B25C), 8);
+ sub_801DD6C(0);
+ return 1;
+}
+
+u32 sub_801DCE8(void)
+{
+ switch(gUnknown_203B25C->state)
+ {
+ case 2:
+ return 3;
+ case 0:
+ case 1:
+ HandleOthersMenu();
+ break;
+ case 3:
+ case 4:
+ sub_801E088();
+ break;
+ case 5:
+ sub_801E0E0();
+ break;
+ case 6:
+ sub_801E0FC();
+ break;
+ case 7:
+ HandleChangeSettingsMenu();
+ break;
+ default:
+ break;
+ }
+ return 0;
+}
+
+void sub_801DD50(void)
+{
+ if(gUnknown_203B25C != NULL)
+ {
+ MemoryFree(gUnknown_203B25C);
+ gUnknown_203B25C = NULL;
+ }
+}
+
+void sub_801DD6C(u32 newState)
+{
+ gUnknown_203B25C->state = newState;
+ sub_801DD84();
+ sub_801DED0();
+}
+
+NAKED
+void sub_801DD84(void)
+{
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tmov r7, r9\n"
+ "\tmov r6, r8\n"
+ "\tpush {r6,r7}\n"
+ "\tldr r4, _0801DDAC\n"
+ "\tldr r0, [r4]\n"
+ "\tadds r0, 0xBC\n"
+ "\tbl sub_8006518\n"
+ "\tldr r0, [r4]\n"
+ "\tldr r0, [r0]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _0801DDB4\n"
+ "\tcmp r0, 0x1\n"
+ "\tbeq _0801DE38\n"
+ "\tmovs r3, 0\n"
+ "\tadds r7, r4, 0\n"
+ "\tldr r2, _0801DDB0\n"
+ "\tb _0801DE90\n"
+ "\t.align 2, 0\n"
+"_0801DDAC: .4byte gUnknown_203B25C\n"
+"_0801DDB0: .4byte gUnknown_80DBFB0\n"
+"_0801DDB4:\n"
+ "\tbl CreateOthersMenu\n"
+ "\tmovs r3, 0\n"
+ "\tldr r1, [r4]\n"
+ "\tadds r0, r1, 0\n"
+ "\tadds r0, 0xAC\n"
+ "\tldrh r0, [r0]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _0801DDCE\n"
+ "\tldr r0, [r1, 0x70]\n"
+ "\tstr r0, [r1, 0x18]\n"
+ "\tadds r7, r4, 0\n"
+ "\tb _0801DDF2\n"
+"_0801DDCE:\n"
+ "\tadds r3, 0x1\n"
+ "\tldr r7, _0801DE2C\n"
+ "\tcmp r3, 0x7\n"
+ "\tbgt _0801DDF2\n"
+ "\tldr r2, [r7]\n"
+ "\tlsls r0, r3, 1\n"
+ "\tadds r1, r2, 0\n"
+ "\tadds r1, 0xAC\n"
+ "\tadds r1, r0\n"
+ "\tldrh r0, [r1]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _0801DDCE\n"
+ "\tlsls r0, r3, 3\n"
+ "\tadds r1, r2, 0\n"
+ "\tadds r1, 0x70\n"
+ "\tadds r1, r0\n"
+ "\tldr r0, [r1]\n"
+ "\tstr r0, [r2, 0x18]\n"
+"_0801DDF2:\n"
+ "\tldr r0, _0801DE30\n"
+ "\tmov r9, r0\n"
+ "\tldr r2, _0801DE2C\n"
+ "\tmov r12, r2\n"
+ "\tldr r3, _0801DE34\n"
+ "\tmov r8, r3\n"
+ "\tmovs r2, 0\n"
+ "\tmovs r3, 0x3\n"
+"_0801DE02:\n"
+ "\tmov r4, r12\n"
+ "\tldr r1, [r4]\n"
+ "\tadds r1, r2\n"
+ "\tadds r1, 0xBC\n"
+ "\tmov r0, r8\n"
+ "\tldm r0!, {r4-r6}\n"
+ "\tstm r1!, {r4-r6}\n"
+ "\tldm r0!, {r4-r6}\n"
+ "\tstm r1!, {r4-r6}\n"
+ "\tadds r2, 0x18\n"
+ "\tsubs r3, 0x1\n"
+ "\tcmp r3, 0\n"
+ "\tbge _0801DE02\n"
+ "\tldr r1, [r7]\n"
+ "\tadds r1, 0xBC\n"
+ "\tmov r0, r9\n"
+ "\tldm r0!, {r2,r5,r6}\n"
+ "\tstm r1!, {r2,r5,r6}\n"
+ "\tldm r0!, {r3-r5}\n"
+ "\tstm r1!, {r3-r5}\n"
+ "\tb _0801DE70\n"
+ "\t.align 2, 0\n"
+"_0801DE2C: .4byte gUnknown_203B25C\n"
+"_0801DE30: .4byte gUnknown_80DBFCC\n"
+"_0801DE34: .4byte gUnknown_80DBFB0\n"
+"_0801DE38:\n"
+ "\tbl CreateOthersMenu\n"
+ "\tmov r8, r4\n"
+ "\tldr r6, _0801DE88\n"
+ "\tmov r12, r6\n"
+ "\tmov r7, r8\n"
+ "\tmovs r2, 0\n"
+ "\tmovs r3, 0x3\n"
+"_0801DE48:\n"
+ "\tmov r0, r8\n"
+ "\tldr r1, [r0]\n"
+ "\tadds r1, r2\n"
+ "\tadds r1, 0xBC\n"
+ "\tmov r0, r12\n"
+ "\tldm r0!, {r4-r6}\n"
+ "\tstm r1!, {r4-r6}\n"
+ "\tldm r0!, {r4-r6}\n"
+ "\tstm r1!, {r4-r6}\n"
+ "\tadds r2, 0x18\n"
+ "\tsubs r3, 0x1\n"
+ "\tcmp r3, 0\n"
+ "\tbge _0801DE48\n"
+ "\tldr r1, [r7]\n"
+ "\tadds r1, 0xBC\n"
+ "\tldr r0, _0801DE8C\n"
+ "\tldm r0!, {r2-r4}\n"
+ "\tstm r1!, {r2-r4}\n"
+ "\tldm r0!, {r2,r5,r6}\n"
+ "\tstm r1!, {r2,r5,r6}\n"
+"_0801DE70:\n"
+ "\tldr r1, [r7]\n"
+ "\tadds r0, r1, 0\n"
+ "\tadds r0, 0xBC\n"
+ "\tadds r1, 0x6C\n"
+ "\tbl sub_8012CAC\n"
+ "\tldr r0, [r7]\n"
+ "\tadds r0, 0xC8\n"
+ "\tmovs r1, 0xA\n"
+ "\tstrh r1, [r0]\n"
+ "\tb _0801DEAC\n"
+ "\t.align 2, 0\n"
+"_0801DE88: .4byte gUnknown_80DBFB0\n"
+"_0801DE8C: .4byte gUnknown_80DBFCC\n"
+"_0801DE90:\n"
+ "\tldr r0, [r7]\n"
+ "\tlsls r1, r3, 1\n"
+ "\tadds r1, r3\n"
+ "\tlsls r1, 3\n"
+ "\tadds r0, r1\n"
+ "\tadds r0, 0xBC\n"
+ "\tadds r1, r2, 0\n"
+ "\tldm r1!, {r4-r6}\n"
+ "\tstm r0!, {r4-r6}\n"
+ "\tldm r1!, {r4-r6}\n"
+ "\tstm r0!, {r4-r6}\n"
+ "\tadds r3, 0x1\n"
+ "\tcmp r3, 0x3\n"
+ "\tble _0801DE90\n"
+"_0801DEAC:\n"
+ "\tbl ResetUnusedInputStruct\n"
+ "\tldr r0, _0801DECC\n"
+ "\tldr r0, [r0]\n"
+ "\tadds r0, 0xBC\n"
+ "\tmovs r1, 0x1\n"
+ "\tmovs r2, 0x1\n"
+ "\tbl sub_800641C\n"
+ "\tpop {r3,r4}\n"
+ "\tmov r8, r3\n"
+ "\tmov r9, r4\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+"_0801DECC: .4byte gUnknown_203B25C");
+}
+
+void sub_801DED0(void)
+{
+ switch(gUnknown_203B25C->state) {
+ case 0:
+ case 1:
+ gUnknown_203B25C->unk1C = gOthers_MenuOption;
+ sub_8012D60(&gUnknown_203B25C->unk1C,gUnknown_203B25C->unk6C,0,gUnknown_203B25C->unkAC,gUnknown_203B25C->unk18,0);
+ break;
+ case 3:
+ sub_801E3F0(0);
+ break;
+ case 4:
+ sub_801E510(1);
+ break;
+ case 5:
+ sub_801E658(gUnknown_203B25C->unk4);
+ break;
+ case 6:
+ // Load our current options?
+ gUnknown_203B25C->unk8 = *gUnknown_203B46C;
+ sub_801E198(&gUnknown_203B25C->unk8);
+ break;
+ case 7:
+ CreateChangeSettingsConfirmMenu();
+ // Change settings?
+ sub_8014248(gUnknown_80DBFEC,0,4,gUnknown_203B25C->unk6C,0,4,0,0,0x20);
+ break;
+ }
+}
+
+void CreateOthersMenu(void)
+{
+ const char *blankText;
+ s32 defaultAction;
+ struct unkStruct_203B25C *preload;
+
+ MemoryFill16(gUnknown_203B25C->unkAC,0,sizeof(gUnknown_203B25C->unkAC));
+
+ // This is dumb that I have to squeeze this in like this
+ preload = gUnknown_203B25C;
+ blankText = NULL;
+ preload->unk6C[0].text = gOthers_GameOptions;
+ preload->unk6C[0].menuAction = MENU_OPTION_GAMEOPTIONS;
+ defaultAction = MENU_OPTION_DEFAULT;
+ preload->unk6C[1].text = gOthers_Hints;
+ preload->unk6C[1].menuAction = MENU_OPTION_HINTS;
+ preload->unk6C[2].text = blankText;
+ preload->unk6C[2].menuAction = defaultAction;
+}
+
+void CreateChangeSettingsConfirmMenu(void)
+{
+ const char *blankText;
+ s32 defaultAction;
+ struct unkStruct_203B25C *preload;
+
+ MemoryFill16(gUnknown_203B25C->unkAC,0,sizeof(gUnknown_203B25C->unkAC));
+
+ // This is dumb that I have to squeeze this in like this
+ preload = gUnknown_203B25C;
+ blankText = NULL;
+ preload->unk6C[0].text = *gUnknown_80D4920; // Yes
+ preload->unk6C[0].menuAction = MENU_OPTION_YES;
+ defaultAction = MENU_OPTION_DEFAULT;
+ preload->unk6C[1].text = *gUnknown_80D4928; // No
+ preload->unk6C[1].menuAction = MENU_OPTION_NO;
+ preload->unk6C[2].text = blankText;
+ preload->unk6C[2].menuAction = defaultAction;
+}
+
+void HandleOthersMenu(void)
+{
+ s32 menuAction;
+
+ menuAction = 0;
+ if (sub_8012FD8((u32 *)&gUnknown_203B25C->unk1C) == '\0') {
+ sub_8013114((u32 *)&gUnknown_203B25C->unk1C,&menuAction);
+ gUnknown_203B25C->unk18 = menuAction;
+ }
+ switch(menuAction)
+ {
+ case MENU_OPTION_HINTS:
+ sub_801DD6C(3);
+ break;
+ case MENU_OPTION_GAMEOPTIONS:
+ sub_801DD6C(6);
+ break;
+ case MENU_OPTION_DEFAULT:
+ sub_801DD6C(2);
+ break;
+ }
+}
+
+void sub_801E088(void)
+{
+
+ switch(sub_801E474(1))
+ {
+ case 3:
+ case 4:
+ gUnknown_203B25C->unk4 = sub_801E4F4();
+ sub_801DD6C(5);
+ break;
+ case 2:
+ sub_801E54C();
+ sub_801DD6C(1);
+ break;
+ case 0:
+ case 1:
+ default:
+ break;
+ }
+}
+
+
+void sub_801E0E0(void)
+{
+ switch(sub_801E6CC())
+ {
+ case 3:
+ case 2:
+ sub_801E724();
+ sub_801DD6C(4);
+ break;
+ case 0:
+ case 1:
+ default:
+ break;
+ }
+}
+
+void sub_801E0FC(void)
+{
+ switch(sub_801E218())
+ {
+ case 2:
+ case 3:
+ sub_801E2C4();
+ // Check to see if the options changed?
+ if (GameOptionsNotChange(&gUnknown_203B25C->unk8)) {
+ sub_801DD6C(1);
+ }
+ else {
+ sub_801DD6C(7);
+ }
+ break;
+ case 0:
+ case 1:
+ break;
+ }
+}
+
+void HandleChangeSettingsMenu(void)
+{
+ s32 menuAction;
+
+ if (sub_80144A4(&menuAction) == 0)
+ {
+ switch(menuAction)
+ {
+ case MENU_OPTION_YES:
+ // Save our option changes??
+ *gUnknown_203B46C = gUnknown_203B25C->unk8;
+ sub_8094C14();
+ sub_8099690(0);
+ sub_801DD6C(1);
+ break;
+ case MENU_OPTION_DEFAULT:
+ case MENU_OPTION_NO:
+ sub_801DD6C(1);
+ break;
+ }
+ }
+}
diff --git a/src/code_8048480.c b/src/code_8048480.c
index efac5df..2995170 100644
--- a/src/code_8048480.c
+++ b/src/code_8048480.c
@@ -15,16 +15,16 @@ extern void sub_8075FCC(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C
extern void sub_8077AE4(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32 r2);
extern void sub_8072008(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32 r2, u8 r3, u32);
extern void sub_8076D10(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
-extern void sub_807232C(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32 r2);
+extern void LevelDownTarget(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32 r2);
extern void sub_8045B94(u8 *r0, struct unkDungeon_8041D5C *r1, u32);
extern void sub_807A290(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
extern void sub_80522F4(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32);
-extern void sub_8079270(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
+extern void RestoreVisionTarget(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
extern void sub_8077910(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u32);
extern void sub_80791D8(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
-extern void sub_8079140(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
-extern void sub_8077C44(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, s16, s16, u32);
+extern void BlindTarget(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
+extern void HealTargetHP(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, s16, s16, u32);
extern void sub_80792F8(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32);
extern void sub_8079F20(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u8);
extern void sub_806F370(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u32, u32, u32, u32, u32, u32, u32);
@@ -41,13 +41,12 @@ void sub_8048364(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u
void sub_8048374(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
{
- sub_8077C44(r0, r1, gUnknown_80F4FB6, gUnknown_80F4FB8, 1);
+ HealTargetHP(r0, r1, gUnknown_80F4FB6, gUnknown_80F4FB8, 1);
}
-
void sub_804839C(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
{
- sub_8077C44(r0, r1, gUnknown_80F4FBA, gUnknown_80F4FBC, 1);
+ HealTargetHP(r0, r1, gUnknown_80F4FBA, gUnknown_80F4FBC, 1);
}
void sub_80483C4(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
@@ -57,12 +56,12 @@ void sub_80483C4(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_80483D4(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
{
- sub_8077C44(r0, r1, 0, gUnknown_80F4FBE, 1);
+ HealTargetHP(r0, r1, 0, gUnknown_80F4FBE, 1);
}
void sub_80483F4(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
{
- sub_8079140(r0, r1);
+ BlindTarget(r0, r1);
}
void sub_8048400(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
@@ -77,12 +76,12 @@ void sub_804840C(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_804841C(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
{
- sub_8079270(r0, r1);
+ RestoreVisionTarget(r0, r1);
}
void sub_8048428(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
{
- if(r1->unk70->unkAC == 4)
+ if(r1->unk70->statusCondition == 4) // 4 - Paralyzed??
sub_807A290(r0, r1);
else
// Pointer to "But nothing happened!"
@@ -91,7 +90,7 @@ void sub_8048428(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_8048450(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
{
- if((u8)(r1->unk70->unkAC - 2) <= 1)
+ if((u8)(r1->unk70->statusCondition - 2) <= 1)
sub_807A290(r0, r1);
else
// Pointer to "But nothing happened!"
@@ -131,12 +130,12 @@ void sub_80484C8(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
void sub_80484DC(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
{
- sub_807232C(r0, r1, 1);
+ LevelDownTarget(r0, r1, 1);
}
void sub_80484E8(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
{
- if(r1->unk70->unkAC == 1)
+ if(r1->unk70->statusCondition == 1) // 1 - Burn??
sub_807A290(r0, r1);
else
{
diff --git a/src/code_8057824.c b/src/code_8057824.c
index edc338d..27a546f 100644
--- a/src/code_8057824.c
+++ b/src/code_8057824.c
@@ -19,10 +19,10 @@ extern u8 sub_807EAA0(u32, u32);
extern void sub_80522F4(struct unkDungeon_8041D5C *r1, struct unkDungeon_8041D5C *r2, u32);
extern void sub_8079F20(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u32);
-extern u8 sub_805727C(u32, u32, s16);
-extern u32 sub_8055640(u32, u32, u32, u32, u32);
-extern void sub_80779F0(u32, u32, u32, u32);
-extern void sub_8078968();
+extern u8 sub_805727C(struct unkDungeon_8041D5C *, struct unkDungeon_8041D5C *, s16);
+extern u32 sub_8055640(struct unkDungeon_8041D5C *, struct unkDungeon_8041D5C *, u32, u32, u32);
+extern void sub_80779F0(struct unkDungeon_8041D5C *, struct unkDungeon_8041D5C *, u32, u32);
+extern void sub_8078968(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1);
extern void sub_8079618(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u32, u32);
extern void sub_806F370(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1, u32, u32, u8 *, u8, s32, u32, u32, u32);
@@ -33,51 +33,53 @@ extern u32 gUnknown_80FD018;
extern s16 sub_8057600(u32, u32);
extern u32 sub_8092B00(u32);
-u32 sub_8057824(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
+bool32 sub_8057824(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
{
+ // Lower evasion?
sub_80775DC(param_1,param_2,gUnknown_8106A50,1);
- return 1;
+ return TRUE;
}
-u32 sub_805783C(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
+bool32 sub_805783C(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
{
+ // Lower attack?
sub_80772C0(param_1,param_2,gUnknown_8106A4C,0x80,1);
- return 1;
+ return TRUE;
}
-u32 sub_805785C(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
+bool32 sub_805785C(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
{
gUnknown_203B418->unkE26B = gUnknown_80F4F42;
if (sub_807EAA0(1,0) == '\0') {
// The weather remains unchanged
sub_80522F4(param_1,param_2,gUnknown_80FCF74);
}
- return 1;
+ return TRUE;
}
-u32 sub_80578A4(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
+bool32 sub_80578A4(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
{
gUnknown_203B418->unkE26C = gUnknown_80F4F42;
if (sub_807EAA0(1,0) == '\0') {
// The weather remains unchanged
sub_80522F4(param_1,param_2,gUnknown_80FCF80);
}
- return 1;
+ return TRUE;
}
-u32 sub_80578EC(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
+bool32 sub_80578EC(struct unkDungeon_8041D5C *r0, struct unkDungeon_8041D5C *r1)
{
sub_8079F20(r0, r1, 1, 0);
- return 1;
+ return TRUE;
}
-u32 sub_80578FC(u32 param_1, u32 param_2, u32 param_3, u32 param_4)
+bool32 sub_80578FC(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2, u32 param_3, u32 param_4)
{
- u32 uVar3;
+ bool32 uVar3;
uVar3 = 0;
if (sub_8055640(param_1, param_2, param_3, 0x80 << 1, param_4) != 0) {
- uVar3 = 1;
+ uVar3 = TRUE;
if (sub_805727C(param_1,param_2, gUnknown_80F4DB6) != '\0') {
sub_80779F0(param_1, param_2, 1, 0);
}
@@ -85,25 +87,25 @@ u32 sub_80578FC(u32 param_1, u32 param_2, u32 param_3, u32 param_4)
return uVar3;
}
-u32 sub_8057948(void)
+bool32 sub_8057948(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2)
{
- sub_8078968();
- return 1;
+ sub_8078968(param_1, param_2);
+ return TRUE;
}
-u32 sub_8057954(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2, u32 param_3)
+bool32 sub_8057954(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2, u32 param_3)
{
// $m0 is enraged
sub_8079618(param_1,param_2,0xc,param_3,gUnknown_80FAC88);
- return 1;
+ return TRUE;
}
-u8 sub_8057974(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2, u32 param_3, u32 param_4)
+bool32 sub_8057974(struct unkDungeon_8041D5C *param_1, struct unkDungeon_8041D5C *param_2, u32 param_3, u32 param_4)
{
s32 newHP;
u8 local_24;
- newHP = param_2->unk70->unkE / 2;
+ newHP = param_2->unk70->HP / 2;
local_24 = 0;
if (newHP != 0) {
sub_806F370(param_1,param_2,newHP,1,&local_24,sub_8092B00(param_3),sub_8057600(param_3,param_4),0,1,0);
diff --git a/src/code_808EAB0.c b/src/code_808EAB0.c
index f50d053..fd03834 100644
--- a/src/code_808EAB0.c
+++ b/src/code_808EAB0.c
@@ -13,22 +13,22 @@ extern u32 gUnknown_81076E4[];
extern bool8 sub_808ECD0(u8 *, u32);
extern void sub_808EC30(u8 *, u32);
-u32 sub_808EAB0(u8 r0)
+u32 GetIQSkillName(u8 r0)
{
return gIQSkillNames[r0];
}
-void sub_808EAC0(char *r0, u8 r1)
+void CopyTacticsNameToBuffer(char *r0, u8 r1)
{
strncpy(r0, gTactics[r1], 0x14);
}
-u32 sub_808EADC(u8 r0)
+u32 GetIQSkillDescription(u8 r0)
{
return gIQSkillDescriptions[r0];
}
-u32 sub_808EAEC(u8 r0)
+u32 GetTacticsDescription(u8 r0)
{
return gTacticsDescriptions[r0];
}
diff --git a/src/credits.c b/src/credits.c
index 2329bd4..33fa3ba 100644
--- a/src/credits.c
+++ b/src/credits.c
@@ -1,11 +1,12 @@
#include "global.h"
#include "input.h"
+#include "memory.h"
extern struct Inputs gRealInputs;
struct unkStruct_203B344
{
- u32 unk0; // state variable
+ u32 state; // state variable
u32 unk4; // timer??
};
@@ -15,8 +16,6 @@ struct unkStruct_203B340
u32 unk0;
};
-extern void MemoryFree(void *);
-extern void* MemoryAlloc(u32, u32);
extern void sub_80015C0(u32, u32);
extern u16 gUnknown_80E5990[];
@@ -37,7 +36,7 @@ void sub_803565C(void)
u32 sub_8035678(void)
{
gUnknown_203B344 = MemoryAlloc(sizeof(struct unkStruct_203B344), 8);
- gUnknown_203B344->unk0 = 0;
+ gUnknown_203B344->state = 0;
gUnknown_203B344->unk4 = 0;
sub_80015C0(0, 0x39);
return 1;
@@ -51,46 +50,46 @@ u32 sub_80356A0(void)
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;
+ switch(gUnknown_203B344->state) {
+ case 0:
+ gUnknown_203B344->state = 3;
+ break;
+ case 1:
+ if (uVar1 == 0)
+ gUnknown_203B344->state = 4;
+ else {
+ if (held_input == uVar1)
+ gUnknown_203B344->state = 2;
+ else {
+ // NOTE: couldn't match with OR'd condition so split up to match
+ if ((uVar1 & held_input) != held_input)
+ gUnknown_203B344->state = 3;
+ else
+ {
+ if (gUnknown_203B344->unk4 == 0)
+ gUnknown_203B344->state = 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
+ break;
+ case 2:
+ if (held_input == 0) {
+ gUnknown_203B344->state = 1;
+ gUnknown_203B344->unk4++;
+ }
+ else {
+ if ((uVar1 & held_input) != held_input)
+ gUnknown_203B344->state = 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;
+ gUnknown_203B344->state = 3;
return 2;
}
else {
diff --git a/src/debug.c b/src/debug.c
index b6f4ee7..0f4cf35 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -15,6 +15,8 @@ extern const char gNotEntryText[];
extern const char gFuncFileLineString[];
extern const char gFuncFileLineStringWPrefix[];
extern const char gFuncFileLineString2[];
+extern const char gFatalText[];
+extern const char gUnknown_80D42D4[];
void NDS_DebugInit(void)
{
@@ -198,3 +200,17 @@ void FatalErrorHang()
{
Hang();
}
+
+/*void
+FatalError(struct DebugLocation *debug, const char *text, ...)
+{
+ char buf[0x100];
+ va_list vArgv;
+
+ FatalErrorPrintFuncFileLine(gFatalText, debug);
+ va_start(vArgv, text);
+ vsprintf(buf, text, vArgv);
+ va_end(vArgv);
+ FatalErrorFormatMessage(gUnknown_80D42D4, buf);
+ FatalErrorHang();
+}*/
diff --git a/src/debug_menu.c b/src/debug_menu.c
index 3fa662c..54f25d9 100644
--- a/src/debug_menu.c
+++ b/src/debug_menu.c
@@ -2,6 +2,7 @@
#include "debug_menu.h"
#include "main_menu.h"
#include "menu.h"
+#include "memory.h"
extern struct DebugMenu *gUnknown_203B3EC;
@@ -63,9 +64,6 @@ ALIGNED(4) const char debug_fill5[] = _("pksdir0");
ALIGNED(4) const char debug_fill6[] = _("pksdir0");
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFree(void *);
-extern void MemoryFill8(u8 *, u8, u32);
extern void sub_800641C(struct unkData *, u32, u32);
extern void ResetUnusedInputStruct(void);
diff --git a/src/debug_menu_mid.c b/src/debug_menu_mid.c
index 8ca2cbd..796ac2a 100644
--- a/src/debug_menu_mid.c
+++ b/src/debug_menu_mid.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "input.h"
#include "gUnknown_203B460.h"
+#include "memory.h"
struct unkData
{
@@ -76,8 +77,6 @@ extern u32 gDebug_NumberText;
extern u32 gUnknown_80D4970;
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFree(void *);
extern void sub_800641C(void *, u32, u32);
extern void sub_8006518(void *);
extern void sub_801C8C4(u32, u32, u32, u32);
diff --git a/src/felicity_bank.c b/src/felicity_bank.c
index 3bd3620..8a2aae8 100644
--- a/src/felicity_bank.c
+++ b/src/felicity_bank.c
@@ -4,6 +4,7 @@
#include "input.h"
#include "constants/species.h"
#include "felicity_bank.h"
+#include "memory.h"
extern u8 gUnknown_202E5D8[];
extern u8 gUnknown_202E1C8[];
@@ -13,8 +14,6 @@ extern struct unkData gUnknown_80DB6DC;
extern struct unkData gUnknown_80DB6F4;
extern struct unkData gUnknown_80DB70C;
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFree(void *);
extern void sub_800641C(struct unkData *, u32, u32);
extern void sub_8006518(struct unkData *);
extern void sub_8016B24();
diff --git a/src/friend_area.c b/src/friend_area.c
index 27eddee..a6fd1d5 100644
--- a/src/friend_area.c
+++ b/src/friend_area.c
@@ -1,22 +1,13 @@
#include "global.h"
#include "constants/friend_area.h"
#include "friend_area.h"
+#include "pokemon.h"
extern bool8 gBoughtFriendAreas[NUM_FRIEND_AREAS];
extern bool8 *gFriendAreas;
-struct unkStruct_203B45C
-{
- // size: 0x58?
- u16 unk0;
- s16 unk2;
- u8 unk4[0x24];
- u8 unk28;
- u8 unk29[0x2f];
-};
-
-extern struct unkStruct_203B45C gRecruitedPokemonRef[];
+extern struct unkStruct_203B45C *gRecruitedPokemonRef;
extern bool8 *gFriendAreas;
@@ -362,14 +353,17 @@ void sub_8092404(u8 r0, u16 *r1, bool8 r2, bool8 r3)
s32 counter;
bool32 flag;
s32 r6;
+ struct PokemonStruct *pokemon;
+
r6 = 0;
for(counter = 0; counter <= 412; counter++)
{
- if((u8)(gRecruitedPokemonRef[counter].unk0) & 1)
+ pokemon = &gRecruitedPokemonRef->pokemon[counter];
+ if((u8)(pokemon->unk0) & 1)
{
- if(((u8)gRecruitedPokemonRef[counter].unk2 == 0) || r2)
+ if((pokemon->unk2 == 0) || r2)
{
- flag = (u8)gRecruitedPokemonRef[counter].unk4[0] == 65;
+ flag = (u8)pokemon->fill4[0] == 65;
if(!flag || r3)
{
if(sub_80923D4(counter) == r0)
diff --git a/src/friend_rescue.c b/src/friend_rescue.c
index d89f5ea..bbff322 100644
--- a/src/friend_rescue.c
+++ b/src/friend_rescue.c
@@ -2,6 +2,7 @@
#include "friend_rescue.h"
#include "pokemon.h"
#include "constants/species.h"
+#include "memory.h"
extern void sub_80338C4(u32);
extern s32 sub_80144A4(s32 *);
@@ -16,8 +17,6 @@ extern char gAvailablePokemonNames[0x50];
extern struct WonderMailStruct_203B33C *gUnknown_203B33C;
extern u8 sub_8039880(void);
-void MemoryFill8(u8 *dest, u8 value, s32 size);
-void *MemoryAlloc(u32, u32);
void ResetUnusedInputStruct(void);
void sub_800641C(void *, u32, u32);
@@ -102,7 +101,6 @@ extern void sub_8035210(void);
extern void sub_8035430(void);
extern void sub_8034848(void);
-extern void MemoryFree(void *);
extern void sub_803084C(void);
extern void sub_8031E10(void);
extern void sub_8023C60(void);
diff --git a/src/game_options.c b/src/game_options.c
new file mode 100644
index 0000000..8f549f7
--- /dev/null
+++ b/src/game_options.c
@@ -0,0 +1,34 @@
+#include "global.h"
+#include "gUnknown_203B46C.h"
+
+extern struct UnkSaveStruct1 *gUnknown_203B46C;
+extern struct UnkSaveStruct1 gUnknown_2038C70;
+extern void sub_8094C14();
+
+void LoadGameOptions(void)
+{
+ gUnknown_203B46C = &gUnknown_2038C70;
+}
+
+struct UnkSaveStruct1 * GetGameOptions(void)
+{
+ return &gUnknown_2038C70;
+}
+
+void InitializeGameOptions(u8 r0)
+{
+ gUnknown_203B46C->unk8 = 0;
+ if(r0 != 0)
+ {
+ gUnknown_203B46C->playerGender = 0;
+ }
+ gUnknown_203B46C->unk9 = 0;
+ gUnknown_203B46C->unkA = 0;
+ gUnknown_203B46C->unk0 = 0;
+ gUnknown_203B46C->unk1 = 1;
+ gUnknown_203B46C->unk2 = 1;
+ gUnknown_203B46C->unk3 = 1;
+ gUnknown_203B46C->unk4 = 1;
+ gUnknown_203B46C->unkC = 0;
+ sub_8094C14();
+}
diff --git a/src/kangaskhan_storage.c b/src/kangaskhan_storage.c
index c695aec..6d7cdd1 100644
--- a/src/kangaskhan_storage.c
+++ b/src/kangaskhan_storage.c
@@ -4,6 +4,7 @@
#include "input.h"
#include "constants/species.h"
#include "kangaskhan_storage.h"
+#include "memory.h"
extern struct unkStruct_203B208 *gUnknown_203B208;
extern struct unkData gUnknown_80DB748;
@@ -13,8 +14,6 @@ extern struct unkData gUnknown_80DB760;
extern u8 gUnknown_202E5D8[];
extern u8 gUnknown_202E1C8[];
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFree(void *);
extern void sub_800641C(struct unkData *, u32, u32);
extern void sub_8006518(struct unkData *);
void UpdateKangaskhanStorageState(u32);
diff --git a/src/kangaskhan_storage_2.c b/src/kangaskhan_storage_2.c
new file mode 100644
index 0000000..ebef475
--- /dev/null
+++ b/src/kangaskhan_storage_2.c
@@ -0,0 +1,98 @@
+#include "global.h"
+#include "input.h"
+#include "memory.h"
+
+struct unkStruct_203B20C
+{
+ u32 state;
+ u8 unk4[0x10];
+ u32 unk14;
+ u32 unk18;
+ u32 unk1C;
+};
+extern struct unkStruct_203B20C *gUnknown_203B20C;
+
+extern void sub_800641C(u8 *, u32, u32);
+extern void sub_8017F10(u32);
+
+
+extern void sub_8017F10(u32);
+extern void sub_8018588(void);
+extern void sub_8018620(void);
+extern void sub_8018904(void);
+extern void sub_8018AC8(void);
+extern void sub_80186F8(void);
+extern void sub_8018854(void);
+extern void sub_80189C8(void);
+extern void sub_8018AE4(void);
+
+
+extern void sub_8017F28();
+extern void sub_8018100();
+
+u32 sub_8017E1C(void)
+{
+ ResetUnusedInputStruct();
+ sub_800641C(NULL, 1, 1);
+ gUnknown_203B20C = MemoryAlloc(0x150, 8);
+ gUnknown_203B20C->unk14 = 0;
+ gUnknown_203B20C->unk18 = 0;
+ gUnknown_203B20C->unk1C = 0;
+ sub_8017F10(0);
+ return 1;
+}
+
+u32 sub_8017E54(void)
+{
+ switch(gUnknown_203B20C->state)
+ {
+ case 0:
+ sub_8017F10(1);
+ break;
+ case 1:
+ sub_8018588();
+ break;
+ case 4:
+ case 5:
+ sub_8018620();
+ break;
+ case 6:
+ sub_8018904();
+ break;
+ case 7:
+ sub_8018AC8();
+ break;
+ case 10:
+ case 11:
+ sub_80186F8();
+ break;
+ case 12:
+ sub_8018854();
+ break;
+ case 13:
+ sub_80189C8();
+ break;
+ case 14:
+ sub_8018AE4();
+ break;
+ case 3:
+ return 3;
+ }
+ return 0;
+}
+
+void sub_8017EF4(void)
+{
+ if(gUnknown_203B20C != NULL)
+ {
+ MemoryFree(gUnknown_203B20C);
+ gUnknown_203B20C = NULL;
+ }
+}
+
+void sub_8017F10(u32 newState)
+{
+ gUnknown_203B20C->state = newState;
+ sub_8017F28();
+ sub_8018100();
+}
diff --git a/src/kangaskhan_storage_3.c b/src/kangaskhan_storage_3.c
new file mode 100644
index 0000000..e5382c3
--- /dev/null
+++ b/src/kangaskhan_storage_3.c
@@ -0,0 +1,37 @@
+#include "global.h"
+
+extern u32 sub_801B410();
+extern void sub_801B450();
+extern void sub_8017F10(u32);
+
+void sub_8018AC8(void)
+{
+ switch(sub_801B410())
+ {
+ case 2:
+ case 3:
+ sub_801B450();
+ sub_8017F10(0x5);
+ break;
+ case 0:
+ case 1:
+ default:
+ break;
+ }
+}
+
+void sub_8018AE4(void)
+{
+ switch(sub_801B410())
+ {
+ case 2:
+ case 3:
+ sub_801B450();
+ sub_8017F10(0xB);
+ break;
+ case 0:
+ case 1:
+ default:
+ break;
+ }
+}
diff --git a/src/kecleon_items.c b/src/kecleon_items.c
index a3d0fd0..59b9ec6 100644
--- a/src/kecleon_items.c
+++ b/src/kecleon_items.c
@@ -4,6 +4,7 @@
#include "constants/species.h"
#include "input.h"
#include "kecleon_items.h"
+#include "memory.h"
extern struct unkStruct_203B210 *gUnknown_203B210;
extern u8 gUnknown_202E5D8[];
@@ -13,8 +14,6 @@ extern struct unkData gUnknown_80DB870;
extern struct unkData gUnknown_80DB888;
extern struct unkData gUnknown_80DB858;
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFree(void *);
void UpdateKecleonStoreState(u32);
extern void sub_8019730();
@@ -47,7 +46,7 @@ u32 DisplayKeckleonDialogueSprite(u32 param_1)
{
case 0:
gUnknown_203B210->unk4 = 1;
- gUnknown_203B210->unkE4 = &gUnknown_203B210->unkD4;
+ gUnknown_203B210->unkE4 = &gUnknown_203B210->faceFile;
CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_KECLEON);
CopyYellowSpeciesNametoBuffer(gUnknown_202E1C8, SPECIES_KECLEON);
monName = GetMonSpecies( SPECIES_KECLEON);
@@ -63,7 +62,7 @@ u32 DisplayKeckleonDialogueSprite(u32 param_1)
break;
case 2:
gUnknown_203B210->unk4 = 0;
- gUnknown_203B210->unkE4 = &gUnknown_203B210->unkD4;
+ gUnknown_203B210->unkE4 = &gUnknown_203B210->faceFile;
CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_KECLEON);
CopyYellowSpeciesNametoBuffer(gUnknown_202E1C8, SPECIES_KECLEON);
monName = GetMonSpecies( SPECIES_KECLEON);
@@ -81,7 +80,7 @@ u32 DisplayKeckleonDialogueSprite(u32 param_1)
break;
}
faceFile = GetDialogueSpriteDataPtr(SPECIES_KECLEON);
- gUnknown_203B210->unkD4 = faceFile;
+ gUnknown_203B210->faceFile = faceFile;
gUnknown_203B210->unkD8 = faceFile->data;
gUnknown_203B210->unkE0 = 0;
gUnknown_203B210->unkE1 = 0;
@@ -141,7 +140,7 @@ void sub_8018CF0(void)
{
if(gUnknown_203B210 != NULL)
{
- CloseFile(gUnknown_203B210->unkD4);
+ CloseFile(gUnknown_203B210->faceFile);
MemoryFree(gUnknown_203B210);
gUnknown_203B210 = NULL;
}
diff --git a/src/load_screen.c b/src/load_screen.c
index e49d5a9..2b40564 100644
--- a/src/load_screen.c
+++ b/src/load_screen.c
@@ -3,6 +3,7 @@
#include "main_menu.h"
#include "play_time.h"
#include "file_system.h"
+#include "memory.h"
extern struct PlayTimeStruct *gPlayTimeRef;
extern struct PlayTimeStruct gPlayTime;
@@ -81,9 +82,6 @@ extern u8 gUnknown_80E7854;
extern const char gUnknown_80E785C[]; // clmkpat
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFill8(u8 *, u32, u32);
-extern void MemoryFree(void *);
u8 IsQuickSave(void);
void DrawLoadScreenText(void);
extern void sub_8035CF4(u32 *, u32, u32);
diff --git a/src/main_menu.c b/src/main_menu.c
index 62dc4d9..052ad49 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -4,6 +4,7 @@
#include "adventure_log.h"
#include "input.h"
#include "menu.h"
+#include "memory.h"
// NOTE: 0x13 and 0x14
// Communication Screen?
@@ -20,10 +21,7 @@
extern struct MainMenu *gMainMenu;
-extern void* MemoryAlloc(u32 a, u32 b);
-extern void MemoryFill8(u8 *dest, u8 value, s32 size);
void sub_8035DA0(void);
-extern void MemoryFree(void *);
extern void sub_8094C14(void);
extern void sub_8099690(u32);
@@ -74,7 +72,7 @@ struct unkStruct_203B34C
u32 unk4;
struct unkSubStruct *unk8; // Array of menu choices??
u8 fillC[0x30 - 0xC];
- s16 unk30;
+ s16 menuIndex;
u8 fill32[0x144 - 0x32];
struct unkData unk144[4];
/* 0x1A4 */ u32 currMenuChoice;
diff --git a/src/main_menu_1.c b/src/main_menu_1.c
index 1879db4..5363bf9 100644
--- a/src/main_menu_1.c
+++ b/src/main_menu_1.c
@@ -14,7 +14,7 @@ struct unkStruct_203B34C
u32 unk4;
struct MenuItem *unk8; // Array of menu choices??
u8 fillC[0x30 - 0xC];
- s16 unk30;
+ s16 menuIndex;
u8 fill32[0x144 - 0x32];
struct unkData unk144[4];
/* 0x1A4 */ u32 currMenuChoice;
@@ -66,7 +66,7 @@ bool8 SetMainMenuText(void)
// Have to load the pointer before the index
preload = gUnknown_203B34C->unk8;
- menuChoice = preload[gUnknown_203B34C->unk30].menuAction; // chosen menu action?
+ menuChoice = preload[gUnknown_203B34C->menuIndex].menuAction; // chosen menu action?
if (gUnknown_203B34C->currMenuChoice == menuChoice) {
return FALSE;
}
diff --git a/src/makuhita_dojo.c b/src/makuhita_dojo.c
index 6061531..d35a659 100644
--- a/src/makuhita_dojo.c
+++ b/src/makuhita_dojo.c
@@ -3,6 +3,7 @@
#include "pokemon.h"
#include "input.h"
#include "constants/species.h"
+#include "memory.h"
struct unkData
{
@@ -14,7 +15,7 @@ struct unkStruct_203B318
// size: 0xcc
u32 unk0;
u32 unk4;
- s32 unk8;
+ s32 state;
u8 fillC[0x10 - 0xC];
s16 unk10;
u8 fill[0x58 - 0x12];
@@ -37,8 +38,6 @@ extern struct unkData gUnknown_80E0760;
extern void sub_800641C(struct unkData *, u32, u32);
extern void sub_8006518(struct unkData *);
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFree(void *);
extern void sub_8030208();
extern void sub_8030258();
@@ -46,7 +45,7 @@ extern void sub_80302A8();
extern void sub_80302C4();
extern void UpdateMakuhitaDialogue();
-void sub_802FF04(s32);
+void UpdateMakuhitaState(s32);
void sub_802FF1C();
u32 CreateMakuhitaShop(u32 param_1)
@@ -113,14 +112,14 @@ u32 CreateMakuhitaShop(u32 param_1)
gUnknown_203B318->unk66 = 0;
gUnknown_203B318->unk60 = 2;
gUnknown_203B318->unk62 = 8;
- sub_802FF04(initialState);
+ UpdateMakuhitaState(initialState);
return 1;
}
u32 sub_802FE58(void)
{
- switch(gUnknown_203B318->unk8) {
+ switch(gUnknown_203B318->state) {
case 0:
case 1:
sub_8030208();
@@ -145,7 +144,7 @@ s16 sub_802FED0(void)
return gUnknown_203B318->unk10;
}
-void sub_802FEE0(void)
+void CleanMakuhitaShop(void)
{
if(gUnknown_203B318 != NULL)
{
@@ -155,9 +154,9 @@ void sub_802FEE0(void)
}
}
-void sub_802FF04(s32 newState)
+void UpdateMakuhitaState(s32 newState)
{
- gUnknown_203B318->unk8 = newState;
+ gUnknown_203B318->state = newState;
sub_802FF1C();
UpdateMakuhitaDialogue();
}
@@ -166,7 +165,7 @@ void sub_802FF1C(void)
{
s32 iVar3;
sub_8006518(gUnknown_203B318->unk6C);
- switch(gUnknown_203B318->unk8)
+ switch(gUnknown_203B318->state)
{
case 0:
case 4:
diff --git a/src/memory_mid.c b/src/memory_mid.c
new file mode 100644
index 0000000..32628cb
--- /dev/null
+++ b/src/memory_mid.c
@@ -0,0 +1,63 @@
+#include "global.h"
+#include "memory.h"
+
+extern u32 gUnknown_80B7F14;
+extern u32 gUnknown_80B7F20;
+extern struct HeapDescriptor gMainHeapDescriptor;
+
+extern s32 MemorySearchFromBack(struct HeapDescriptor *heap, s32, s32);
+extern s32 MemorySearchFromFront(struct HeapDescriptor *heap, s32, s32);
+extern struct HeapDescriptor * _LocateSetBack(struct HeapDescriptor *, u32, u32, u32, u32);
+extern struct HeapDescriptor * _LocateSetFront(struct HeapDescriptor *, u32, u32, u32, u32);
+void DoFree(struct HeapDescriptor *, void *);
+void *DoAlloc(struct HeapDescriptor *, s32, u32);
+
+void FatalError(u32 *, u32 *, ...) __attribute__((noreturn));
+
+
+s32 _LocateSet(struct HeapDescriptor *heap, s32 size, s32 param_3)
+{
+ s32 index;
+ struct HeapDescriptor * uVar2;
+ s32 uVar3;
+
+ if (heap == NULL) {
+ heap = &gMainHeapDescriptor;
+ }
+
+ // Set some sort flag/attr?
+ uVar3 = param_3 >> 8 | 1;
+
+ // Reset it?
+ param_3 = param_3 & 0xff;
+
+ if ((uVar3 & 2) != 0) {
+ index = MemorySearchFromFront(heap,uVar3,size);
+ if (index < 0) goto error;
+ uVar2 = _LocateSetFront(heap,index,uVar3,size,param_3);
+ return uVar2->freeCount;
+ }
+ else {
+ index = MemorySearchFromBack(heap,uVar3,size);
+ if (index < 0) goto error;
+ uVar2 = _LocateSetBack(heap,index,uVar3,size,param_3);
+ return uVar2->freeCount;
+ }
+
+error:
+ // LocateSet [%p] buffer %8x size can't locate
+ // atb %02x grp %3d
+ FatalError(&gUnknown_80B7F14,
+ &gUnknown_80B7F20,
+ heap,size,uVar3,param_3);
+}
+
+void *MemoryAlloc(s32 size, s32 b)
+{
+ DoAlloc(&gMainHeapDescriptor, size, b);
+}
+
+void MemoryFree(void *a)
+{
+ DoFree(&gMainHeapDescriptor, a);
+}
diff --git a/src/other_menus.c b/src/other_menus.c
index 86a90fc..193d800 100644
--- a/src/other_menus.c
+++ b/src/other_menus.c
@@ -3,6 +3,7 @@
#include "main_menu.h"
#include "gUnknown_203B460.h"
#include "menu.h"
+#include "memory.h"
struct unkData
{
@@ -19,7 +20,7 @@ struct unkStruct_203B35C
// size: 0x504
u32 unk0;
u32 unk4; // link status?
- u32 unk8; // state var?
+ u32 state; // state var?
u8 fillC[0x1C - 0xC];
u32 unk1C;
u8 fill20[0x15C - 0x20];
@@ -74,9 +75,6 @@ extern struct unkStruct_203B460 *gUnknown_203B460;
extern void sub_8037400(void);
extern void sub_800641C(void *, u32, u32);
extern void ResetSprites(u32);
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFill8(u8 *, u8, s32);
-extern void MemoryFree(void *);
extern void sub_8035CF4(u32 *,u32, u32);
extern void sub_80376CC();
extern void sub_8035CC0(void *, u32);
@@ -115,7 +113,7 @@ void sub_8036FDC(s32 param_1)
gUnknown_203B35C->unk0 = param_1;
gUnknown_203B35C->unk4 = 0;
- gUnknown_203B35C->unk8 = 0;
+ gUnknown_203B35C->state = 0;
iVar3 = 0;
do {
gUnknown_203B35C->unk1C0[iVar3 * 2] = 0;
@@ -269,7 +267,7 @@ u32 sub_80370F0(void)
local_10 = 4;
nextMenu = MENU_NO_SCREEN_CHANGE;
- switch(gUnknown_203B35C->unk8){
+ switch(gUnknown_203B35C->state){
case 0:
if (sub_80130A8(&gUnknown_203B35C->unk1C) == '\0') {
sub_8013114(&gUnknown_203B35C->unk1C,&local_10);
@@ -278,13 +276,13 @@ u32 sub_80370F0(void)
sub_8037748();
}
else {
- gUnknown_203B35C->unk8 = 1;
+ gUnknown_203B35C->state = 1;
sub_8037900();
}
break;
case 1:
sub_80376CC();
- gUnknown_203B35C->unk8 = 2;
+ gUnknown_203B35C->state = 2;
sub_80371B8();
break;
case 2:
@@ -298,7 +296,7 @@ u32 sub_80370F0(void)
if (local_10 != 4) {
PlayMenuSoundEffect(3);
nextMenu = sub_8037798();
- gUnknown_203B35C->unk8 = 4;
+ gUnknown_203B35C->state = 4;
}
sub_8037748();
}
diff --git a/src/personality_test.c b/src/personality_test.c
index 8d28ef3..ef31ec1 100644
--- a/src/personality_test.c
+++ b/src/personality_test.c
@@ -7,9 +7,9 @@
#include "pokemon.h"
#include "input.h"
#include "save.h"
+#include "memory.h"
+#include "gUnknown_203B46C.h"
-extern void* MemoryAlloc(u32, u32);
-extern void MemoryFree(void *);
extern void sub_801317C(u32 *);
extern void sub_8099690(u32);
extern void sub_8001024(u32 *);
@@ -67,14 +67,6 @@ struct PersonalityQuestion
extern struct PersonalityQuestion *gPersonalityQuestionPointerTable[NUM_QUIZ_QUESTIONS];
-struct UnkSaveStruct1
-{
- /* 0x0 */ u32 unk0;
- /* 0x4 */ u32 unk4;
- /* 0x8 */ u16 unk8;
- /* 0xA */ u8 unkA;
- /* 0xB */ u8 playerGender;
-};
extern struct UnkSaveStruct1 *gUnknown_203B46C;
struct stack_PartnerSprite
diff --git a/src/pokemon.c b/src/pokemon.c
index 90a0c00..e87c8c6 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -1,25 +1,46 @@
#include "global.h"
#include "pokemon.h"
#include "file_system.h"
+#include "constants/species.h"
-extern u32 *gRecruitedPokemonRef;
-extern u32 gRecruitedPokemon;
+extern struct unkStruct_203B45C gRecruitedPokemon[];
extern struct FileArchive gSystemFileArchive;
extern const char gUnknown_81075F4;
extern struct OpenedFile *gMonsterParametersFile;
extern u16 gLevelCurrentPokeId;
extern struct gPokemon *gMonsterParameters;
+extern struct unkStruct_203B45C *gRecruitedPokemonRef;
void LoadMonsterParameters(void)
{
- gRecruitedPokemonRef = &gRecruitedPokemon;
+ gRecruitedPokemonRef = gRecruitedPokemon;
gMonsterParametersFile = OpenFileAndGetFileDataPtr(&gUnknown_81075F4, &gSystemFileArchive);
gMonsterParameters = (struct gPokemon *)gMonsterParametersFile->data;
gLevelCurrentPokeId = 0;
}
-u32 *sub_808CE00(void)
+struct unkStruct_203B45C *GetRecruitedPokemon(void)
{
- return &gRecruitedPokemon;
+ return gRecruitedPokemon;
}
+void InitializeRecruitedPokemon(void)
+{
+ s32 iVar3;
+
+ for(iVar3 = 0; iVar3 < NUM_SPECIES; iVar3++)
+ {
+ gRecruitedPokemonRef->pokemon[iVar3].unk0 = 0;
+ }
+
+ for(iVar3 = 0; iVar3 < 4; iVar3++)
+ {
+ gRecruitedPokemonRef->pokemon2[iVar3].unk0 = 0;
+ }
+
+ for(iVar3 = 0; iVar3 < 4; iVar3++)
+ {
+ gRecruitedPokemonRef->pokemon3[iVar3].unk8 = 0;
+ gRecruitedPokemonRef->pokemon3[iVar3].unk0 = 0;
+ }
+}
diff --git a/src/post_office_guide.c b/src/post_office_guide.c
index 42a8acb..dd28446 100644
--- a/src/post_office_guide.c
+++ b/src/post_office_guide.c
@@ -4,6 +4,7 @@
#include "input.h"
#include "constants/species.h"
#include "menu.h"
+#include "memory.h"
struct PostOfficeHelper
{
@@ -30,6 +31,7 @@ struct unkData
struct unkStruct_203B330
{
+ // size: 0x78
struct UnkInputStruct *unk0;
u8 fill4[0x8];
u8 unkC;
@@ -166,8 +168,6 @@ extern void sub_8031AE8();
extern u8 gUnknown_202E5D8[];
extern u8 gAvailablePokemonNames[];
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFree(void *);
extern void sub_800641C(struct unkData *, u32, u32);
extern void sub_8006518(struct unkData *);
extern void sub_8031A2C(void);
diff --git a/src/save.c b/src/save.c
index bfeee9b..4f71d9a 100644
--- a/src/save.c
+++ b/src/save.c
@@ -63,7 +63,7 @@ struct unkStruct_203B194
u8 *unk4;
u32 unk8;
u8 unkC;
- u8 padding[0x10 - 0xD];
+ u8 fillD[3];
u32 quickSaveStatus;
};
extern struct unkStruct_203B194 *gUnknown_203B194;
@@ -85,19 +85,57 @@ extern u32 gUnknown_203B490;
extern u32 gUnknown_203B494;
extern struct ExclusivePokemonData *gUnknown_203B498;
-extern const char gSaveCorrupted;
-extern const char gSavingAdventure;
-extern const char gWriteGamePak;
-extern const char gSaveCompleted;
-extern const char gSaveNotWritten;
-extern const char gSaveFailed;
-extern const char gUnknown_80D44C8;
-extern const char gUnknown_80D45AC;
+ALIGNED(4) const char gSaveCorrupted[] = _("#+The game data is corrupted.\n"
+ "#+Your data will be erased.");
-extern const char gUnknown_80D45F4;
-extern const char gUnknown_80D4668;
-extern const char gSaveNotWritten2;
-extern const char gSaveFailed2;
+ALIGNED(4) const char fill_save0[] = _("pksdir0");
+
+ALIGNED(4) const char gSavingAdventure[] = _("#+Saving your adventure...\n"
+ "#+Please don~27t turn off the power.");
+
+ALIGNED(4) const char gWriteGamePak[] = _("#+Writing to GBA Game Pak.\n"
+ "#+Do not remove the GBA Game Pak.\n"
+ "#+Please wait with the power on.");
+
+ALIGNED(4) const char gSaveCompleted[] = _("#+Save completed!");
+
+ALIGNED(4) const char gSaveNotWritten[] = _("#+The data could not be written.\n"
+ "#+Please turn off the power and remove\n"
+ "#+and reinsert the DS Card.");
+
+ALIGNED(4) const char gSaveFailed[] = _("#+Save failed.");
+
+ALIGNED(4) const char fill_save1[] = _("pksdir0");
+
+ALIGNED(4) const char gUnknown_80D44C8[] = _("#+Your data was not properly saved~2c\n"
+ "#+so your game cannot be resumed\n"
+ "#+from your last spot.#P"
+ "#+Your last outing is considered a defeat.\n"
+ "#+Before shutting down~2c save in your\n"
+ "#+team base~2c or quicksave in a dungeon.");
+
+ALIGNED(4) const char fill_save2[] = _("pksdir0");
+
+ALIGNED(4) const char gUnknown_80D45AC[] = _("#+Quicksaving your adventure...\n"
+ "#+Please don~27t turn off the power.");
+
+ALIGNED(4) const char gUnknown_80D45F4[] = _("#+Your adventure has been saved.\n"
+ "#+When you are in a dungeon~2c quicksave\n"
+ "#+your progress before ending the game.");
+
+ALIGNED(4) const char gUnknown_80D4668[] = _("#+Your adventure has been saved.\n"
+ "#+When you resume play~2c the quicksave\n"
+ "#+data will be deleted.#P"
+ "#+When you are shutting down the game~2c\n"
+ "#+save your progress in your team base~2c\n"
+ "#+or quicksave in a dungeon.");
+
+ALIGNED(4) const char gSaveNotWritten2[] = _("#+The data could not be written.\n"
+ "#+Please turn off the power and remove\n"
+ "#+and reinsert the DS Card.");
+
+ALIGNED(4) const char gSaveFailed2[] = _("#+Save failed.");
+ALIGNED(4) const char fill_save3[] = _("pksdir0");
extern volatile struct UnkStruct_203B184 *gUnknown_203B184;
@@ -131,12 +169,12 @@ extern u32 sub_8097D60(u8 *, u32);
extern u32 sub_8097D98(void* a, s32 b);
extern void sub_80993E4();
extern void sub_800135C(void);
-extern u32 *sub_808CE00(void);
-extern void sub_808CE08(void);
+extern u32 *GetRecruitedPokemon(void);
+extern void InitializeRecruitedPokemon(void);
extern u32 *GetMoneyItemsInfo(void);
extern void InitializeMoneyItems(void);
-extern u32 sub_8094990(void);
-extern void sub_8094998(u8 r0);
+extern u32 GetGameOptions(void);
+extern void InitializeGameOptions(u8 r0);
extern u8 *sub_80950F8(void);
extern void sub_80958E4(u8 *a, u32 b);
extern u32 sub_80958F8(void);
@@ -150,10 +188,6 @@ extern void sub_80993D8(void);
extern struct PlayTimeStruct *gPlayTimeRef;
-
-extern void* MemoryAlloc(u32 a, u32 b);
-extern void MemoryFree(void* a);
-extern void MemoryFill8(u8 *dest, u8 value, s32 size);
extern void xxx_call_start_bg_music(void);
@@ -527,7 +561,7 @@ void sub_8012284(void)
{
sub_80122D0();
sub_80122F4();
- sub_8012300();
+ InitializePlayerData();
}
void sub_8012298(void)
@@ -540,7 +574,7 @@ void sub_80122A8(void)
{
sub_80122D0();
sub_80122F4();
- sub_8012300();
+ InitializePlayerData();
sub_8012240();
}
@@ -566,17 +600,17 @@ void sub_80122F4(void)
sub_800135C();
}
-void sub_8012300(void)
+void InitializePlayerData(void)
{
InitializeFriendAreas();
- sub_808CE08();
+ InitializeRecruitedPokemon();
InitializeMoneyItems();
InitializeResuceTeamInfo();
sub_80972F4();
sub_8095118();
sub_8095900();
sub_80974E8();
- sub_8094998(1);
+ InitializeGameOptions(1);
InitializeExclusivePokemon();
}
@@ -593,7 +627,7 @@ void sub_8012334(struct UnkStruct_203B184 *r0)
if(r0 != NULL)
{
gUnknown_203B460 = r0->unk0;
- gRecruitedPokemonRef = r0->unk4;
+ gRecruitedPokemonRef = r0->recruitedPokemon;
gUnknown_203B480 = r0->unk8;
gUnknown_203B484 = r0->unkC;
gUnknown_203B488 = r0->unk10;
@@ -603,12 +637,12 @@ void sub_8012334(struct UnkStruct_203B184 *r0)
gUnknown_203B494 = r0->unk20;
gUnknown_203B498 = r0->ExclusivePokemon;
gFriendAreas = r0->BoughtFriendAreas;
- gUnknown_203B46C = r0->unk2C;
+ gUnknown_203B46C = r0->gameOptions;
gPlayTimeRef = r0->playTime;
return;
}
gUnknown_203B460 = GetMoneyItemsInfo();
- gRecruitedPokemonRef = sub_808CE00();
+ gRecruitedPokemonRef = GetRecruitedPokemon();
gUnknown_203B480 = sub_80950F8();
gUnknown_203B484 = sub_8095100();
gUnknown_203B488 = sub_8095108();
@@ -618,7 +652,7 @@ void sub_8012334(struct UnkStruct_203B184 *r0)
gUnknown_203B494 = sub_8097680();
gUnknown_203B498 = GetExclusivePokemon();
gFriendAreas = GetBoughtFriendAreas();
- gUnknown_203B46C = sub_8094990();
+ gUnknown_203B46C = GetGameOptions();
gPlayTimeRef = GetPlayTime();
}
@@ -649,7 +683,7 @@ u8 sub_8012484(void)
{
if(IsSaveCorrupted())
{
- sub_80141B4(&gSaveCorrupted, 0, 0, 0x301);
+ sub_80141B4(gSaveCorrupted, 0, 0, 0x301);
gUnknown_203B188->state = 3;
}
else
@@ -661,11 +695,11 @@ u8 sub_8012484(void)
{
gUnknown_203B188->state = 6;
}
- break;
+ break;
case 3:
if(sub_80144A4(&temp2) == 0)
gUnknown_203B188->state = 4;
- break;
+ break;
case 4:
sub_8012298();
gUnknown_203B188->state = 6;
@@ -711,10 +745,10 @@ void sub_8012574(s16 PokemonID)
}
if (gUnknown_203B18C->faceFile != 0) {
preload_face = (u8 *)&gUnknown_203B18C->faceFile;
- sub_80141B4(&gSavingAdventure,0,preload_face,0x20);
+ sub_80141B4(gSavingAdventure,0,preload_face,0x20);
}
else {
- sub_80141B4(&gSavingAdventure,0,0,0x20);
+ sub_80141B4(gSavingAdventure,0,0,0x20);
}
gUnknown_203B18C->state = 3;
}
@@ -736,8 +770,8 @@ bool8 sub_8012600(void)
break;
case 1:
gUnknown_203B18C->unk4++;
- if (8 < gUnknown_203B18C->unk4) {
- sub_80141B4(&gWriteGamePak, 0, 0, 0x20);
+ if (gUnknown_203B18C->unk4 > 8) {
+ sub_80141B4(gWriteGamePak, 0, 0, 0x20);
gUnknown_203B18C->state = 3;
}
break;
@@ -754,20 +788,20 @@ bool8 sub_8012600(void)
{
case SAVE_COMPLETED:
if(gUnknown_203B18C->faceFile != NULL)
- sub_80141B4(&gSaveCompleted, 0, (u8 *)faceFile, 0x101);
+ sub_80141B4(gSaveCompleted, 0, (u8 *)faceFile, 0x101);
else
- sub_80141B4(&gSaveCompleted, 0, (u8 *)faceFile, 0x101);
+ sub_80141B4(gSaveCompleted, 0, (u8 *)faceFile, 0x101);
gUnknown_203B18C->state = 5;
break;
case SAVE_NOT_WRTTEN:
- sub_80141B4(&gSaveNotWritten, 0, 0, 0);
+ sub_80141B4(gSaveNotWritten, 0, 0, 0);
gUnknown_203B18C->state = 6;
break;
default:
if(gUnknown_203B18C->faceFile != NULL)
- sub_80141B4(&gSaveFailed, 0, (u8 *)faceFile, 0x101);
+ sub_80141B4(gSaveFailed, 0, (u8 *)faceFile, 0x101);
else
- sub_80141B4(&gSaveFailed, 0, (u8 *)faceFile, 0x101);
+ sub_80141B4(gSaveFailed, 0, (u8 *)faceFile, 0x101);
gUnknown_203B18C->state = 5;
break;
}
@@ -830,7 +864,12 @@ u32 sub_80127A8(void)
}
else
{
- sub_80141B4(&gUnknown_80D44C8, 0, 0, 0x301);
+ // Data was not properly saved
+ // so your game cannot be resumed
+ // from your last spot. Your last outing is considered a defeat.
+ // Before shutting down, save in your
+ // team base or quicksave in a dungeon
+ sub_80141B4(gUnknown_80D44C8, 0, 0, 0x301);
gUnknown_203B190->state = 2;
}
break;
@@ -867,9 +906,13 @@ void sub_8012850(u8 *r0, u32 r1, u8 r2)
gUnknown_203B194->unkC = r2;
gUnknown_203B194->state = 0;
if(gUnknown_203B194->unkC != 0)
- sub_80141B4(&gUnknown_80D45AC, 0, 0, 0x20);
+ // Quicksaving your adventure...
+ // Please don't turn off the power.
+ sub_80141B4(gUnknown_80D45AC, 0, 0, 0x20);
else
- sub_80141B4(&gUnknown_80D45AC, 0, 0, 0x20);
+ // Quicksaving your adventure...
+ // Please don't turn off the power.
+ sub_80141B4(gUnknown_80D45AC, 0, 0, 0x20);
}
u32 sub_80128B0(void)
@@ -896,18 +939,29 @@ u32 sub_80128B0(void)
case SAVE_COMPLETED:
sub_80121E0(0xf1207);
if(gUnknown_203B194->unkC != 0)
- sub_80141B4(&gUnknown_80D45F4, 0, 0, 0x301);
+ // Your adventure has been saved
+ // When you are in a dungeon, quicksave
+ // your progress before ending the game.
+ sub_80141B4(gUnknown_80D45F4, 0, 0, 0x301);
else
- sub_80141B4(&gUnknown_80D4668, 0, 0, 0x301);
+ // Your adventure has been saved.
+ // When you resume play, the quicksave
+ // data will be deleted. When you are shutting down the game,
+ // save your progress in your team base,
+ // or quicksave in a dungeon.
+ sub_80141B4(gUnknown_80D4668, 0, 0, 0x301);
gUnknown_203B194->state = 3;
break;
case SAVE_NOT_WRTTEN:
- sub_80141B4(&gSaveNotWritten2, 0, 0, 0);
+ // The data could not be written.
+ // Please turn off the power and remove
+ // and reinsert the DS Card
+ sub_80141B4(gSaveNotWritten2, 0, 0, 0);
gUnknown_203B194->state = 4;
break;
default:
sub_80121E0(0xf1209);
- sub_80141B4(&gSaveFailed2, 0, 0, 0x301);
+ sub_80141B4(gSaveFailed2, 0, 0, 0x301);
gUnknown_203B194->state = 3;
break;
}
diff --git a/src/trade_items_menu.c b/src/trade_items_menu.c
index 5ca115a..cb86468 100644
--- a/src/trade_items_menu.c
+++ b/src/trade_items_menu.c
@@ -2,6 +2,7 @@
#include "input.h"
#include "trade_items_menu.h"
#include "gUnknown_203B460.h"
+#include "memory.h"
extern struct TradeItemsMenu *gTradeItemsMenu;
@@ -35,9 +36,6 @@ extern u32 gUnknown_80E6314;
extern void sub_8013AA0(u32 *);
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFill8(u8 *, u32, u32);
-extern void MemoryFree(void *);
extern void sub_800641C(u32 *, u32, u32);
extern void sub_8035C1C();
extern void sub_8035DA0();
diff --git a/src/unk_menu_203B360.c b/src/unk_menu_203B360.c
index 811ce38..2d22ef1 100644
--- a/src/unk_menu_203B360.c
+++ b/src/unk_menu_203B360.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "input.h"
#include "main_menu.h"
+#include "memory.h"
struct unkData
{
@@ -29,9 +30,6 @@ extern struct unkData gUnknown_80E6E7C;
extern struct unkData gUnknown_80E6E94;
extern struct MenuItem gUnknown_80E6EAC[];
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFill8(u8 *, u8, u32);
-extern void MemoryFree(void *);
extern void sub_8038440();
extern void sub_8035CF4(u32 *, u32, u32);
extern void sub_800641C(void *, u32, u32);
diff --git a/src/unk_menu_203B364.c b/src/unk_menu_203B364.c
index baba184..4d8a716 100644
--- a/src/unk_menu_203B364.c
+++ b/src/unk_menu_203B364.c
@@ -2,6 +2,7 @@
#include "input.h"
#include "menu.h"
#include "main_menu.h"
+#include "memory.h"
struct unkData
{
@@ -33,9 +34,6 @@ extern struct unkData gUnknown_80E6F38;
extern struct MenuItem gUnknown_80E7090[];
extern struct MenuItem gUnknown_80E6F50[];
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFill8(u8 *, u8, u32);
-extern void MemoryFree(void *);
extern void sub_8038440();
extern void sub_8035CF4(u32 *, u32, u32);
extern void sub_800641C(void *, u32, u32);
diff --git a/src/wonder_mail.c b/src/wonder_mail.c
index 6f93048..48bb3fc 100644
--- a/src/wonder_mail.c
+++ b/src/wonder_mail.c
@@ -4,6 +4,7 @@
#include "file_system.h"
#include "constants/species.h"
#include "wonder_mail.h"
+#include "memory.h"
extern struct WonderMailStruct_203B2C0 *gUnknown_203B2C0;
extern struct WonderMailStruct_203B2C4 *gUnknown_203B2C4;
@@ -86,10 +87,6 @@ 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();
extern u32 sub_8039068(u32, u8 *r1, u8 *r0);
extern void sub_8014248(const char *r0, u32, u32, u32 *r4, u32, u32, u32, u32 *r5, u32);
diff --git a/src/wonder_mail_2.c b/src/wonder_mail_2.c
index 911df42..84bc576 100644
--- a/src/wonder_mail_2.c
+++ b/src/wonder_mail_2.c
@@ -3,6 +3,7 @@
#include "input.h"
#include "pokemon.h"
#include "constants/species.h"
+#include "memory.h"
struct unkStruct_203B2C8
{
@@ -33,6 +34,7 @@ struct unkStruct_203B2C8
u8 unk134;
u8 fill135[0x3];
u32 unk138;
+ u32 fill13C;
};
extern struct unkStruct_203B2C8 *gUnknown_203B2C8;
@@ -71,9 +73,6 @@ extern char gAvailablePokemonNames[0x50];
extern u32 sub_802F298();
extern void sub_802F2C0();
extern u32 sub_8011C34();
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFill8(u8 *, u8, s32);
-extern void MemoryFree(void *);
extern void sub_800641C(void *, u32, u32);
extern u8 sub_8099394(u8 *);
extern void sub_802B548(u32);
@@ -108,8 +107,8 @@ u32 sub_802B2D4(void)
ResetUnusedInputStruct();
sub_800641C(0,1,1);
- gUnknown_203B2C8 = MemoryAlloc(0x140,8);
- MemoryFill8((u8 *)gUnknown_203B2C8,0,0x140);
+ gUnknown_203B2C8 = MemoryAlloc(sizeof(struct unkStruct_203B2C8),8);
+ MemoryFill8((u8 *)gUnknown_203B2C8,0,sizeof(struct unkStruct_203B2C8));
gUnknown_203B2C8->unk1 = -1;
CopyYellowSpeciesNametoBuffer(gUnknown_202E5D8, SPECIES_PELIPPER);
faceFile = GetDialogueSpriteDataPtr(SPECIES_PELIPPER);
diff --git a/src/wonder_mail_3.c b/src/wonder_mail_3.c
index 7951efc..80552f6 100644
--- a/src/wonder_mail_3.c
+++ b/src/wonder_mail_3.c
@@ -1,9 +1,10 @@
#include "global.h"
+#include "memory.h"
struct unkStruct_203B2F8
{
// size: 0x208
- u32 unk0; // state
+ u32 state; // state
u32 unk4;
u8 unk8;
u8 unk9;
@@ -17,8 +18,6 @@ struct unkStruct_203B2F8
};
extern struct unkStruct_203B2F8 *gUnknown_203B2F8;
-extern void *MemoryAlloc(u32, u32);
-extern void MemoryFree(void *);
extern u8 sub_8099328(u8 *);
extern u32 sub_8011C1C();
extern void sub_802D1A0(u32);
@@ -52,7 +51,7 @@ u32 sub_802D098(u32 param_1)
u32 sub_802D0E0(void)
{
- switch(gUnknown_203B2F8->unk0) {
+ switch(gUnknown_203B2F8->state) {
case 0:
break;
case 1:
@@ -100,7 +99,7 @@ void sub_802D184(void)
void sub_802D1A0(u32 newState)
{
- gUnknown_203B2F8->unk0 = newState;
+ gUnknown_203B2F8->state = newState;
sub_802D1B8();
sub_802D2A8();
}
diff --git a/src/wonder_mail_main_menu.c b/src/wonder_mail_main_menu.c
index 288d352..204f622 100644
--- a/src/wonder_mail_main_menu.c
+++ b/src/wonder_mail_main_menu.c
@@ -1,5 +1,6 @@
#include "global.h"
#include "save.h"
+#include "memory.h"
#define EXIT_TO_MAIN_MENU 5
#define PASSWORD_SUCCESS 13
@@ -38,9 +39,6 @@ extern u32 sub_8095324(u32);
extern u32 sub_80144A4(s32 *);
extern u32 sub_8011C1C(void);
extern struct unkStruct_203B3E8 *gUnknown_203B3E8;
-extern void* MemoryAlloc(u32, u32);
-extern void MemoryFree(void *);
-extern void MemoryFill8(u8 *dest, u8 value, s32 size);
extern void sub_803A1C0(u8);
extern void ResetUnusedInputStruct(void);
extern void sub_800641C(void *, u32, u32);
diff --git a/src/wonder_mail_pre.c b/src/wonder_mail_pre.c
index a187a9c..9d15ab3 100644
--- a/src/wonder_mail_pre.c
+++ b/src/wonder_mail_pre.c
@@ -4,10 +4,9 @@
#include "pokemon.h"
#include "constants/species.h"
#include "wonder_mail.h"
+#include "memory.h"
-extern void* MemoryAlloc(u32 a, u32 b);
-extern void MemoryFill8(u8 *dest, u8 value, s32 size);
extern void sub_800641C(void *r0, u8, u8);
extern struct WonderMailStruct_203B2C0 *gUnknown_203B2C0;