summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/code_2.s6
-rw-r--r--asm/code_8009804.s111
-rw-r--r--asm/code_800D090.s2
-rw-r--r--asm/code_8012A18.s14466
-rw-r--r--asm/code_801D760.s158
-rw-r--r--asm/code_8027C84.s4
-rw-r--r--asm/code_802B640.s4
-rw-r--r--asm/code_803B050.s6
-rw-r--r--asm/code_803C1D0.s2
-rw-r--r--asm/code_803D110.s2
-rw-r--r--asm/code_8040094.s2
-rw-r--r--asm/code_8041AD0.s6
-rw-r--r--asm/code_80428A0.s48
-rw-r--r--asm/code_8048480.s4
-rw-r--r--asm/code_80521D0.s8
-rw-r--r--asm/code_8057824.s2101
-rw-r--r--asm/code_808DAB4.s12
-rw-r--r--asm/code_808EAB0.s20
-rw-r--r--asm/code_809017C.s3170
-rw-r--r--asm/code_8092334.s2
-rw-r--r--asm/code_809747C.s2
-rw-r--r--asm/code_8098BDC.s24
-rw-r--r--asm/code_809D148.s2
-rw-r--r--asm/code_80A7714.s10
-rw-r--r--asm/debug_menu.s2
-rw-r--r--asm/debug_menu_1.s4
-rw-r--r--asm/felicity_bank.s571
-rw-r--r--asm/friend_area_1.s4
-rw-r--r--asm/friend_rescue.s2
-rw-r--r--asm/items.s2518
-rw-r--r--asm/jirachi_wish.s16
-rw-r--r--asm/kangaskhan_storage.s685
-rw-r--r--asm/kangaskhan_storage_1.s2675
-rw-r--r--asm/kecleon_items.s1530
-rw-r--r--asm/load_screen.s718
-rw-r--r--asm/main_menu.s76
-rw-r--r--asm/makuhita_dojo.s908
-rw-r--r--asm/other_menus.s2
-rw-r--r--asm/pokemon.s319
-rw-r--r--asm/pokemon_1.s72
-rw-r--r--asm/pokemon_square.s7112
-rw-r--r--asm/unk_menu_203B364.s8
-rw-r--r--asm/wonder_mail.s2
-rw-r--r--asm/wonder_mail_1.s2
-rw-r--r--asm/wonder_mail_3.s4421
-rw-r--r--asm/wonder_mail_4.s1821
-rw-r--r--asm/wonder_mail_5.s571
47 files changed, 18811 insertions, 25400 deletions
diff --git a/asm/code_2.s b/asm/code_2.s
index 30f2b05..27e8270 100644
--- a/asm/code_2.s
+++ b/asm/code_2.s
@@ -199,7 +199,7 @@ _080007CC:
bhi _080007EC
add r0, sp, 0x4
movs r1, 0x1
- bl sub_801203C
+ bl WriteSavetoPak
adds r4, r0, 0
b _080007EE
_080007EC:
@@ -1549,7 +1549,7 @@ _08001298:
bx r0
.align 2, 0
_080012B8: .4byte gUnknown_203B460
-_080012BC: .4byte gUnknown_203B45C
+_080012BC: .4byte gRecruitedPokemonRef
thumb_func_end sub_8001248
thumb_func_start sub_80012C0
@@ -1608,7 +1608,7 @@ _08001306:
bx r0
.align 2, 0
_08001324: .4byte gUnknown_203B460
-_08001328: .4byte gUnknown_203B45C
+_08001328: .4byte gRecruitedPokemonRef
thumb_func_end sub_80012C0
.align 2,0
diff --git a/asm/code_8009804.s b/asm/code_8009804.s
index 809ec8a..ba1173b 100644
--- a/asm/code_8009804.s
+++ b/asm/code_8009804.s
@@ -5,117 +5,6 @@
.text
- thumb_func_start sub_8009908
-sub_8009908:
- push {r4-r7,lr}
- movs r5, 0
- ldr r0, _08009994
- ldr r0, [r0]
- cmp r5, r0
- bge _08009936
- ldr r4, _08009998
- adds r7, r4, 0
- movs r6, 0
-_0800991A:
- ldr r0, [r4]
- adds r1, r7, 0x4
- adds r1, r6, r1
- ldr r1, [r1]
- ldr r2, [r4, 0x8]
- bl CpuCopy
- adds r4, 0xC
- adds r6, 0xC
- adds r5, 0x1
- ldr r0, _08009994
- ldr r0, [r0]
- cmp r5, r0
- blt _0800991A
-_08009936:
- ldr r0, _08009994
- movs r5, 0
- str r5, [r0]
- ldr r4, _0800999C
- ldrb r0, [r4]
- cmp r0, 0
- beq _08009952
- strb r5, [r4]
- ldr r0, _080099A0
- ldr r1, _080099A4
- movs r2, 0x80
- lsls r2, 4
- bl CpuCopy
-_08009952:
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08009966
- strb r5, [r4, 0x1]
- ldr r0, _080099A8
- ldr r1, _080099AC
- movs r2, 0x80
- lsls r2, 4
- bl CpuCopy
-_08009966:
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _0800997A
- strb r5, [r4, 0x2]
- ldr r0, _080099B0
- ldr r1, _080099B4
- movs r2, 0x80
- lsls r2, 4
- bl CpuCopy
-_0800997A:
- ldrb r0, [r4, 0x3]
- cmp r0, 0
- beq _0800998E
- strb r5, [r4, 0x3]
- ldr r0, _080099B8
- ldr r1, _080099BC
- movs r2, 0x80
- lsls r2, 4
- bl CpuCopy
-_0800998E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08009994: .4byte gUnknown_202D23C
-_08009998: .4byte gUnknown_202D240
-_0800999C: .4byte gUnknown_202D238
-_080099A0: .4byte 0x06006000
-_080099A4: .4byte gUnknown_202B038
-_080099A8: .4byte 0x06006800
-_080099AC: .4byte gUnknown_202B838
-_080099B0: .4byte 0x06007000
-_080099B4: .4byte gUnknown_202C038
-_080099B8: .4byte 0x06007800
-_080099BC: .4byte gUnknown_202C838
- thumb_func_end sub_8009908
-
- thumb_func_start sub_80099C0
-sub_80099C0:
- push {r4,r5,lr}
- ldr r0, _080099E4
- ldr r4, _080099E8
- movs r5, 0x80
- lsls r5, 4
- adds r1, r4, 0
- adds r2, r5, 0
- bl CpuCopy
- ldr r0, _080099EC
- adds r4, r5
- adds r1, r4, 0
- adds r2, r5, 0
- bl CpuCopy
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080099E4: .4byte 0x06006000
-_080099E8: .4byte gUnknown_202B038
-_080099EC: .4byte 0x06006800
- thumb_func_end sub_80099C0
-
thumb_func_start sub_80099F0
sub_80099F0:
push {lr}
diff --git a/asm/code_800D090.s b/asm/code_800D090.s
index efc28d7..a8eadca 100644
--- a/asm/code_800D090.s
+++ b/asm/code_800D090.s
@@ -1512,7 +1512,7 @@ sub_800DCD0:
ldr r0, [r4, 0x4C]
lsls r0, 16
lsrs r0, 16
- bl sub_8011988
+ bl PlaySound
_0800DCF6:
str r5, [r4, 0x4C]
str r5, [r4, 0x50]
diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s
index e0de48b..57fabe0 100644
--- a/asm/code_8012A18.s
+++ b/asm/code_8012A18.s
@@ -7182,14471 +7182,5 @@ _080162E0:
bx r1
thumb_func_end sub_80162B8
- thumb_func_start DisplayPersianDialogueSprite
-DisplayPersianDialogueSprite:
- push {r4-r6,lr}
- adds r4, r0, 0
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _0801633C
- movs r0, 0x84
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r6, 0
- str r6, [r0, 0x10]
- str r4, [r0]
- ldr r0, _08016340
- movs r1, 0x35
- bl sub_808D8E0
- ldr r4, _08016344
- adds r0, r4, 0
- movs r1, 0x35
- bl sub_808D8E0
- movs r0, 0x35
- 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 _08016348
- adds r0, r5, 0
- adds r0, 0xA4
- str r6, [r0]
- b _08016352
- .align 2, 0
-_0801633C: .4byte gUnknown_203B204
-_08016340: .4byte gUnknown_202E5D8
-_08016344: .4byte gUnknown_202E1C8
-_08016348:
- adds r1, r5, 0
- adds r1, 0xA4
- adds r0, r5, 0
- adds r0, 0x94
- str r0, [r1]
-_08016352:
- movs r0, 0x35
- bl GetDialogueSpriteDataPtr
- ldr r2, _0801639C
- ldr r3, [r2]
- adds r1, r3, 0
- adds r1, 0x94
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0xA0
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xA1
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xA2
- strb r1, [r0]
- ldr r1, [r2]
- adds r2, r1, 0
- adds r2, 0x9C
- movs r0, 0x2
- strh r0, [r2]
- adds r1, 0x9E
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_8016444
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801639C: .4byte gUnknown_203B204
- thumb_func_end DisplayPersianDialogueSprite
-
- thumb_func_start sub_80163A0
-sub_80163A0:
- push {lr}
- ldr r0, _080163B8
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0xC
- bhi _08016410
- lsls r0, 2
- ldr r1, _080163BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080163B8: .4byte gUnknown_203B204
-_080163BC: .4byte _080163C0
- .align 2, 0
-_080163C0:
- .4byte _08016410
- .4byte _080163F4
- .4byte _080163FA
- .4byte _08016410
- .4byte _08016410
- .4byte _08016410
- .4byte _0801640C
- .4byte _08016410
- .4byte _08016400
- .4byte _08016410
- .4byte _08016410
- .4byte _08016406
- .4byte _08016410
-_080163F4:
- bl sub_8016B24
- b _08016414
-_080163FA:
- bl sub_80169BC
- b _08016414
-_08016400:
- bl sub_8016A18
- b _08016414
-_08016406:
- bl sub_8016A8C
- b _08016414
-_0801640C:
- movs r0, 0x3
- b _08016416
-_08016410:
- bl sub_8016B00
-_08016414:
- movs r0, 0
-_08016416:
- pop {r1}
- bx r1
- thumb_func_end sub_80163A0
-
- thumb_func_start sub_801641C
-sub_801641C:
- push {r4,lr}
- ldr r4, _08016440
- ldr r0, [r4]
- cmp r0, 0
- beq _08016438
- adds r0, 0x94
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08016438:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08016440: .4byte gUnknown_203B204
- thumb_func_end sub_801641C
-
- thumb_func_start sub_8016444
-sub_8016444:
- push {lr}
- ldr r1, _08016458
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_801645C
- bl sub_801653C
- pop {r0}
- bx r0
- .align 2, 0
-_08016458: .4byte gUnknown_203B204
- thumb_func_end sub_8016444
-
- thumb_func_start sub_801645C
-sub_801645C:
- push {r4-r7,lr}
- ldr r4, _0801647C
- ldr r0, [r4]
- adds r0, 0xA8
- bl sub_8006518
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- cmp r1, 0x8
- beq _080164AC
- cmp r1, 0x8
- bgt _08016480
- cmp r1, 0x2
- beq _08016486
- b _080164F8
- .align 2, 0
-_0801647C: .4byte gUnknown_203B204
-_08016480:
- cmp r1, 0xB
- beq _080164AC
- b _080164F8
-_08016486:
- adds r0, 0xA8
- movs r1, 0x80
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC0
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xD8
- strb r1, [r0]
- ldr r1, [r4]
- adds r1, 0xF0
- ldr r0, _080164A8
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- b _080164D8
- .align 2, 0
-_080164A8: .4byte gUnknown_80DB6F4
-_080164AC:
- ldr r4, _080164EC
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0x80
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC0
- strb r1, [r0]
- ldr r1, [r4]
- adds r1, 0xF0
- ldr r0, _080164F0
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r1, [r4]
- adds r1, 0xD8
- ldr r0, _080164F4
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
-_080164D8:
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0x1
- movs r2, 0
- bl sub_800641C
- b _0801652E
- .align 2, 0
-_080164EC: .4byte gUnknown_203B204
-_080164F0: .4byte gUnknown_80DB6F4
-_080164F4: .4byte gUnknown_80DB70C
-_080164F8:
- ldr r6, _08016534
- mov r12, r6
- ldr r4, _08016538
- movs r3, 0
- movs r2, 0x3
-_08016502:
- mov r7, r12
- ldr r1, [r7]
- adds r1, r3
- adds r1, 0xA8
- 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 _08016502
- bl ResetUnusedInputStruct
- ldr r0, _08016534
- ldr r0, [r0]
- adds r0, 0xA8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0801652E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08016534: .4byte gUnknown_203B204
-_08016538: .4byte gUnknown_80DB6DC
- thumb_func_end sub_801645C
-
- thumb_func_start sub_801653C
-sub_801653C:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _08016558
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r2, r1, 0
- cmp r0, 0xC
- bls _0801654E
- b _080168EC
-_0801654E:
- lsls r0, 2
- ldr r1, _0801655C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08016558: .4byte gUnknown_203B204
-_0801655C: .4byte _08016560
- .align 2, 0
-_08016560:
- .4byte _08016594
- .4byte _080165B4
- .4byte _080168B2
- .4byte _08016650
- .4byte _08016668
- .4byte _080166C4
- .4byte _080168EC
- .4byte _080166DC
- .4byte _0801674C
- .4byte _080167A8
- .4byte _080167CC
- .4byte _0801685C
- .4byte _080168C4
-_08016594:
- ldr r2, [r2]
- movs r0, 0x1
- str r0, [r2, 0x8]
- ldr r3, _080165B0
- ldr r1, [r2]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- adds r2, 0xA4
- ldr r2, [r2]
- b _08016844
- .align 2, 0
-_080165B0: .4byte gFelicityDialogue
-_080165B4:
- bl sub_8016900
- ldr r0, _080165FC
- ldr r0, [r0]
- mov r12, r0
- movs r0, 0x2
- mov r1, r12
- str r0, [r1, 0x8]
- ldr r0, _08016600
- ldr r0, [r0]
- movs r3, 0x99
- lsls r3, 2
- adds r0, r3
- ldr r4, [r0]
- cmp r4, 0
- bne _08016608
- ldr r2, _08016604
- ldr r1, [r1]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x4
- adds r0, r2
- ldr r0, [r0]
- mov r5, r12
- ldr r2, [r5, 0x10]
- mov r3, r12
- adds r3, 0x14
- mov r1, r12
- adds r1, 0x54
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- b _08016632
- .align 2, 0
-_080165FC: .4byte gUnknown_203B204
-_08016600: .4byte gUnknown_203B460
-_08016604: .4byte gFelicityDialogue
-_08016608:
- ldr r0, _08016648
- str r4, [r0]
- ldr r2, _0801664C
- mov r0, r12
- ldr r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- mov r1, r12
- ldr r2, [r1, 0x10]
- mov r3, r12
- adds r3, 0x14
- adds r1, 0x54
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
-_08016632:
- mov r1, r12
- adds r1, 0xA4
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _080168EC
- .align 2, 0
-_08016648: .4byte gUnknown_202DE30
-_0801664C: .4byte gFelicityDialogue
-_08016650:
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _08016664
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x38
- b _0801683C
- .align 2, 0
-_08016664: .4byte gFelicityDialogue
-_08016668:
- ldr r3, [r2]
- movs r0, 0x6
- str r0, [r3, 0x8]
- ldr r0, _08016698
- ldr r0, [r0]
- movs r5, 0x99
- lsls r5, 2
- adds r0, r5
- ldr r1, [r0]
- cmp r1, 0
- bne _080166A0
- ldr r2, _0801669C
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x10
- adds r0, r2
- ldr r0, [r0]
- adds r1, r3, 0
- adds r1, 0xA4
- ldr r2, [r1]
- b _08016844
- .align 2, 0
-_08016698: .4byte gUnknown_203B460
-_0801669C: .4byte gFelicityDialogue
-_080166A0:
- ldr r0, _080166BC
- str r1, [r0]
- ldr r2, _080166C0
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x14
- adds r0, r2
- ldr r0, [r0]
- adds r1, r3, 0
- adds r1, 0xA4
- ldr r2, [r1]
- b _08016844
- .align 2, 0
-_080166BC: .4byte gUnknown_202DE30
-_080166C0: .4byte gFelicityDialogue
-_080166C4:
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _080166D8
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0xC
- b _0801683C
- .align 2, 0
-_080166D8: .4byte gFelicityDialogue
-_080166DC:
- ldr r0, _08016700
- ldr r1, [r0]
- movs r3, 0x98
- lsls r3, 2
- adds r0, r1, r3
- ldr r0, [r0]
- cmp r0, 0
- bne _08016708
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _08016704
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x1C
- b _0801683C
- .align 2, 0
-_08016700: .4byte gUnknown_203B460
-_08016704: .4byte gFelicityDialogue
-_08016708:
- movs r5, 0x99
- lsls r5, 2
- adds r0, r1, r5
- ldr r1, [r0]
- ldr r0, _0801672C
- cmp r1, r0
- ble _08016734
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _08016730
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x20
- b _0801683C
- .align 2, 0
-_0801672C: .4byte 0x0098967e
-_08016730: .4byte gFelicityDialogue
-_08016734:
- ldr r3, [r2]
- movs r0, 0x8
- str r0, [r3, 0x8]
- ldr r2, _08016748
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x18
- b _0801683C
- .align 2, 0
-_08016748: .4byte gFelicityDialogue
-_0801674C:
- ldr r4, [r2]
- ldr r0, _080167A0
- ldr r3, [r0]
- movs r1, 0x99
- lsls r1, 2
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, _080167A4
- subs r0, r1
- str r0, [r4, 0x70]
- movs r5, 0x98
- lsls r5, 2
- adds r1, r3, r5
- ldr r1, [r1]
- cmp r0, r1
- ble _0801676E
- str r1, [r4, 0x70]
-_0801676E:
- ldr r2, [r2]
- ldr r0, [r2, 0x70]
- str r0, [r2, 0x68]
- movs r0, 0x1
- str r0, [r2, 0x6C]
- movs r0, 0x5
- str r0, [r2, 0x74]
- movs r0, 0x2
- str r0, [r2, 0x78]
- adds r0, r2, 0
- adds r0, 0xD8
- str r0, [r2, 0x7C]
- adds r1, r2, 0
- adds r1, 0x80
- movs r0, 0x50
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x12
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0x64
- bl sub_8013AA0
- movs r0, 0x1
- b _080168AE
- .align 2, 0
-_080167A0: .4byte gUnknown_203B460
-_080167A4: .4byte 0x0098967f
-_080167A8:
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r1, _080167C4
- ldr r0, [r3, 0xC]
- str r0, [r1]
- ldr r2, _080167C8
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x24
- b _0801683C
- .align 2, 0
-_080167C4: .4byte gUnknown_202DE30
-_080167C8: .4byte gFelicityDialogue
-_080167CC:
- ldr r0, _080167F4
- ldr r3, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, _080167F8
- cmp r1, r0
- ble _08016800
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _080167FC
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x30
- b _0801683C
- .align 2, 0
-_080167F4: .4byte gUnknown_203B460
-_080167F8: .4byte 0x0001869e
-_080167FC: .4byte gFelicityDialogue
-_08016800:
- movs r5, 0x99
- lsls r5, 2
- adds r4, r3, r5
- ldr r0, [r4]
- cmp r0, 0
- bne _08016824
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _08016820
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x2C
- b _0801683C
- .align 2, 0
-_08016820: .4byte gFelicityDialogue
-_08016824:
- ldr r3, [r2]
- movs r0, 0xB
- str r0, [r3, 0x8]
- ldr r1, _08016850
- ldr r0, [r4]
- str r0, [r1]
- ldr r2, _08016854
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x28
-_0801683C:
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xA4
- ldr r2, [r3]
-_08016844:
- ldr r3, _08016858
- movs r1, 0
- bl sub_80141B4
- b _080168EC
- .align 2, 0
-_08016850: .4byte gUnknown_202DE30
-_08016854: .4byte gFelicityDialogue
-_08016858: .4byte 0x0000010d
-_0801685C:
- ldr r4, [r2]
- ldr r0, _080168BC
- ldr r3, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, _080168C0
- subs r0, r1
- str r0, [r4, 0x70]
- movs r5, 0x99
- lsls r5, 2
- adds r1, r3, r5
- ldr r1, [r1]
- cmp r0, r1
- ble _0801687E
- str r1, [r4, 0x70]
-_0801687E:
- ldr r2, [r2]
- ldr r0, [r2, 0x70]
- str r0, [r2, 0x68]
- movs r0, 0x1
- str r0, [r2, 0x6C]
- movs r0, 0x5
- str r0, [r2, 0x74]
- movs r0, 0x2
- str r0, [r2, 0x78]
- adds r0, r2, 0
- adds r0, 0xD8
- str r0, [r2, 0x7C]
- adds r1, r2, 0
- adds r1, 0x80
- movs r0, 0x50
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x12
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0x64
- bl sub_8013AA0
- movs r0, 0
-_080168AE:
- bl sub_8016B48
-_080168B2:
- movs r0, 0x3
- bl CreateFelicityBankShopMenu
- b _080168EC
- .align 2, 0
-_080168BC: .4byte gUnknown_203B460
-_080168C0: .4byte 0x0001869f
-_080168C4:
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r1, _080168F4
- ldr r0, [r3, 0xC]
- str r0, [r1]
- ldr r2, _080168F8
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x34
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xA4
- ldr r2, [r3]
- ldr r3, _080168FC
- movs r1, 0
- bl sub_80141B4
-_080168EC:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080168F4: .4byte gUnknown_202DE30
-_080168F8: .4byte gFelicityDialogue
-_080168FC: .4byte 0x0000010d
- thumb_func_end sub_801653C
-
- thumb_func_start sub_8016900
-sub_8016900:
- push {r4-r7,lr}
- ldr r4, _08016980
- ldr r0, [r4]
- adds r0, 0x54
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08016984
- ldr r0, [r0]
- str r0, [r3, 0x14]
- movs r0, 0x2
- str r0, [r3, 0x18]
- movs r1, 0x1
- ldr r0, _08016988
- ldr r0, [r0]
- str r0, [r3, 0x1C]
- movs r0, 0x3
- str r0, [r3, 0x20]
- ldr r0, _0801698C
- ldr r0, [r0]
- str r0, [r3, 0x24]
- movs r0, 0x4
- str r0, [r3, 0x28]
- ldr r0, _08016990
- ldr r0, [r0]
- str r0, [r3, 0x2C]
- str r1, [r3, 0x30]
- movs r6, 0x4
- str r2, [r3, 0x34]
- str r1, [r3, 0x38]
- movs r5, 0
- mov r12, r3
- adds r3, 0x18
- mov r2, r12
- adds r2, 0x54
-_0801694C:
- ldrh r0, [r2]
- cmp r0, 0
- bne _0801695C
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x10]
- cmp r1, r0
- beq _080169B6
-_0801695C:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _0801694C
- movs r5, 0
- cmp r5, r6
- bge _080169B6
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- cmp r0, 0
- bne _08016994
- ldr r0, [r1, 0x18]
- str r0, [r1, 0x10]
- b _080169B6
- .align 2, 0
-_08016980: .4byte gUnknown_203B204
-_08016984: .4byte gUnknown_80D4958
-_08016988: .4byte gUnknown_80D4964
-_0801698C: .4byte gUnknown_80D4970
-_08016990: .4byte gUnknown_80D4934
-_08016994:
- adds r5, 0x1
- cmp r5, r6
- bge _080169B6
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x54
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08016994
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x18
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x10]
-_080169B6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8016900
-
- thumb_func_start sub_80169BC
-sub_80169BC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08016A10
- ldr r0, _080169E4
- ldr r1, [r0]
- ldr r0, [sp]
- str r0, [r1, 0x10]
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080169F2
- cmp r0, 0x2
- bgt _080169E8
- cmp r0, 0x1
- beq _08016A0A
- b _08016A10
- .align 2, 0
-_080169E4: .4byte gUnknown_203B204
-_080169E8:
- cmp r0, 0x3
- beq _080169FA
- cmp r0, 0x4
- beq _08016A02
- b _08016A10
-_080169F2:
- movs r0, 0x7
- bl sub_8016444
- b _08016A10
-_080169FA:
- movs r0, 0xA
- bl sub_8016444
- b _08016A10
-_08016A02:
- movs r0, 0x3
- bl sub_8016444
- b _08016A10
-_08016A0A:
- movs r0, 0x4
- bl sub_8016444
-_08016A10:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80169BC
-
- thumb_func_start sub_8016A18
-sub_8016A18:
- push {r4,lr}
- ldr r4, _08016A38
- ldr r0, [r4]
- adds r0, 0x64
- bl sub_8013BBC
- cmp r0, 0x1
- beq _08016A3C
- cmp r0, 0x1
- bcc _08016A86
- cmp r0, 0x2
- beq _08016A80
- cmp r0, 0x3
- beq _08016A44
- b _08016A86
- .align 2, 0
-_08016A38: .4byte gUnknown_203B204
-_08016A3C:
- movs r0, 0x1
- bl sub_8016B48
- b _08016A86
-_08016A44:
- ldr r3, [r4]
- ldr r2, [r3, 0x64]
- str r2, [r3, 0xC]
- ldr r0, _08016A7C
- ldr r0, [r0]
- mov r12, r0
- movs r1, 0x99
- lsls r1, 2
- add r1, r12
- ldr r0, [r1]
- adds r0, r2
- str r0, [r1]
- movs r2, 0x98
- lsls r2, 2
- add r2, r12
- ldr r0, [r2]
- ldr r1, [r3, 0xC]
- subs r0, r1
- str r0, [r2]
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- movs r0, 0x9
- bl sub_8016444
- b _08016A86
- .align 2, 0
-_08016A7C: .4byte gUnknown_203B460
-_08016A80:
- movs r0, 0x5
- bl sub_8016444
-_08016A86:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8016A18
-
- thumb_func_start sub_8016A8C
-sub_8016A8C:
- push {r4,lr}
- ldr r4, _08016AAC
- ldr r0, [r4]
- adds r0, 0x64
- bl sub_8013BBC
- cmp r0, 0x1
- beq _08016AB0
- cmp r0, 0x1
- bcc _08016AFA
- cmp r0, 0x2
- beq _08016AF4
- cmp r0, 0x3
- beq _08016AB8
- b _08016AFA
- .align 2, 0
-_08016AAC: .4byte gUnknown_203B204
-_08016AB0:
- movs r0, 0
- bl sub_8016B48
- b _08016AFA
-_08016AB8:
- ldr r3, [r4]
- ldr r2, [r3, 0x64]
- str r2, [r3, 0xC]
- ldr r0, _08016AF0
- ldr r0, [r0]
- mov r12, r0
- movs r1, 0x98
- lsls r1, 2
- add r1, r12
- ldr r0, [r1]
- adds r0, r2
- str r0, [r1]
- movs r2, 0x99
- lsls r2, 2
- add r2, r12
- ldr r0, [r2]
- ldr r1, [r3, 0xC]
- subs r0, r1
- str r0, [r2]
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- movs r0, 0xC
- bl sub_8016444
- b _08016AFA
- .align 2, 0
-_08016AF0: .4byte gUnknown_203B460
-_08016AF4:
- movs r0, 0x5
- bl sub_8016444
-_08016AFA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8016A8C
-
- thumb_func_start sub_8016B00
-sub_8016B00:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08016B18
- ldr r0, _08016B20
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_8016444
-_08016B18:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08016B20: .4byte gUnknown_203B204
- thumb_func_end sub_8016B00
-
- thumb_func_start sub_8016B24
-sub_8016B24:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0x4
- bne _08016B3C
- ldr r0, _08016B44
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_8016444
-_08016B3C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08016B44: .4byte gUnknown_203B204
- thumb_func_end sub_8016B24
-
- thumb_func_start sub_8016B48
-sub_8016B48:
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _08016B7C
- ldr r0, [r4]
- ldr r0, [r0, 0x78]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x78]
- bl sub_80073B8
- cmp r5, 0
- beq _08016B84
- ldr r0, _08016B80
- ldr r2, [r0]
- ldr r0, [r4]
- ldr r3, [r0, 0x78]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- movs r1, 0
- bl xxx_call_draw_string
- b _08016B96
- .align 2, 0
-_08016B7C: .4byte gUnknown_203B204
-_08016B80: .4byte gFelicityDeposit
-_08016B84:
- ldr r0, _08016BB0
- ldr r2, [r0]
- ldr r0, [r4]
- ldr r3, [r0, 0x78]
- str r5, [sp]
- movs r0, 0xC
- movs r1, 0
- bl xxx_call_draw_string
-_08016B96:
- ldr r4, _08016BB4
- ldr r0, [r4]
- adds r0, 0x64
- bl sub_8013C68
- ldr r0, [r4]
- ldr r0, [r0, 0x78]
- bl sub_80073E0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08016BB0: .4byte gFelicityWithdraw
-_08016BB4: .4byte gUnknown_203B204
- thumb_func_end sub_8016B48
-
- thumb_func_start CreateFelicityBankShopMenu
-CreateFelicityBankShopMenu:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r4, r0, 0
- bl sub_8008C54
- adds r0, r4, 0
- bl sub_80073B8
- ldr r2, _08016C34
- movs r0, 0
- mov r8, r0
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0x4
- adds r3, r4, 0
- bl xxx_call_draw_string
- ldr r6, _08016C38
- ldr r0, [r6]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r2, [r0]
- movs r5, 0x5
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x60
- movs r1, 0x4
- movs r3, 0x5
- bl sub_8012BC4
- ldr r2, _08016C3C
- mov r0, r8
- str r0, [sp]
- movs r0, 0x70
- movs r1, 0x4
- adds r3, r4, 0
- bl xxx_call_draw_string
- ldr r0, [r6]
- movs r1, 0x99
- lsls r1, 2
- adds r0, r1
- ldr r2, [r0]
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0xC8
- movs r1, 0x4
- movs r3, 0x7
- bl sub_8012BC4
- adds r0, r4, 0
- bl sub_80073E0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08016C34: .4byte gFelicityMoney
-_08016C38: .4byte gUnknown_203B460
-_08016C3C: .4byte gFelicitySavings
- thumb_func_end CreateFelicityBankShopMenu
-
- thumb_func_start sub_8016C40
-sub_8016C40:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- bl sub_8008C54
- adds r0, r4, 0
- bl sub_80073B8
- ldr r2, _08016C8C
- movs r0, 0
- str r0, [sp]
- movs r0, 0x6
- movs r1, 0
- adds r3, r4, 0
- bl xxx_call_draw_string
- ldr r0, _08016C90
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0x5
- str r0, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2A
- movs r1, 0xC
- movs r3, 0x5
- bl sub_8012BC4
- adds r0, r4, 0
- bl sub_80073E0
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08016C8C: .4byte gUnknown_80DB738
-_08016C90: .4byte gUnknown_203B460
- thumb_func_end sub_8016C40
-
- thumb_func_start DisplayKangaskhanDialogueSprite
-DisplayKangaskhanDialogueSprite:
- push {r4-r6,lr}
- adds r4, r0, 0
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _08016CF0
- movs r0, 0xA6
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r6, 0
- str r6, [r0, 0x18]
- str r6, [r0, 0x1C]
- str r6, [r0, 0x20]
- str r4, [r0]
- ldr r0, _08016CF4
- movs r1, 0x73
- bl sub_808D8E0
- ldr r4, _08016CF8
- adds r0, r4, 0
- movs r1, 0x73
- bl sub_808D8E0
- movs r0, 0x73
- 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 _08016CFC
- adds r0, r5, 0
- adds r0, 0xE8
- str r6, [r0]
- b _08016D06
- .align 2, 0
-_08016CF0: .4byte gUnknown_203B208
-_08016CF4: .4byte gUnknown_202E5D8
-_08016CF8: .4byte gUnknown_202E1C8
-_08016CFC:
- adds r1, r5, 0
- adds r1, 0xE8
- adds r0, r5, 0
- adds r0, 0xD8
- str r0, [r1]
-_08016D06:
- movs r0, 0x73
- bl GetDialogueSpriteDataPtr
- ldr r2, _08016D50
- ldr r3, [r2]
- adds r1, r3, 0
- adds r1, 0xD8
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xE5
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xE6
- strb r1, [r0]
- ldr r1, [r2]
- adds r2, r1, 0
- adds r2, 0xE0
- movs r0, 0x2
- strh r0, [r2]
- adds r1, 0xE2
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_8016E68
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08016D50: .4byte gUnknown_203B208
- thumb_func_end DisplayKangaskhanDialogueSprite
-
- thumb_func_start sub_8016D54
-sub_8016D54:
- push {lr}
- ldr r0, _08016D6C
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x1C
- bhi _08016E34
- lsls r0, 2
- ldr r1, _08016D70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08016D6C: .4byte gUnknown_203B208
-_08016D70: .4byte _08016D74
- .align 2, 0
-_08016D74:
- .4byte _08016DE8
- .4byte _08016DE8
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E30
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016DEE
- .4byte _08016DEE
- .4byte _08016DF4
- .4byte _08016DFA
- .4byte _08016E00
- .4byte _08016E06
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E0C
- .4byte _08016E0C
- .4byte _08016E12
- .4byte _08016E18
- .4byte _08016E1E
- .4byte _08016E24
- .4byte _08016E2A
-_08016DE8:
- bl sub_8017828
- b _08016E38
-_08016DEE:
- bl sub_8017AF8
- b _08016E38
-_08016DF4:
- bl sub_8017C7C
- b _08016E38
-_08016DFA:
- bl sub_8017DC0
- b _08016E38
-_08016E00:
- bl sub_80178D0
- b _08016E38
-_08016E06:
- bl sub_80179A8
- b _08016E38
-_08016E0C:
- bl sub_8017B88
- b _08016E38
-_08016E12:
- bl sub_8017C28
- b _08016E38
-_08016E18:
- bl sub_8017D24
- b _08016E38
-_08016E1E:
- bl sub_8017DDC
- b _08016E38
-_08016E24:
- bl sub_8017928
- b _08016E38
-_08016E2A:
- bl sub_8017A1C
- b _08016E38
-_08016E30:
- movs r0, 0x3
- b _08016E3A
-_08016E34:
- bl sub_8017DF8
-_08016E38:
- movs r0, 0
-_08016E3A:
- pop {r1}
- bx r1
- thumb_func_end sub_8016D54
-
- thumb_func_start sub_8016E40
-sub_8016E40:
- push {r4,lr}
- ldr r4, _08016E64
- ldr r0, [r4]
- cmp r0, 0
- beq _08016E5C
- adds r0, 0xD8
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08016E5C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08016E64: .4byte gUnknown_203B208
- thumb_func_end sub_8016E40
-
- thumb_func_start sub_8016E68
-sub_8016E68:
- push {lr}
- ldr r1, _08016E7C
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_8016E80
- bl sub_8016FF8
- pop {r0}
- bx r0
- .align 2, 0
-_08016E7C: .4byte gUnknown_203B208
- thumb_func_end sub_8016E68
-
- thumb_func_start sub_8016E80
-sub_8016E80:
- push {r4-r7,lr}
- ldr r4, _08016EA4
- ldr r0, [r4]
- adds r0, 0xEC
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- subs r0, 0xD
- cmp r0, 0xC
- bls _08016E98
- b _08016FB4
-_08016E98:
- lsls r0, 2
- ldr r1, _08016EA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08016EA4: .4byte gUnknown_203B208
-_08016EA8: .4byte _08016EAC
- .align 2, 0
-_08016EAC:
- .4byte _08016EE0
- .4byte _08016EE0
- .4byte _08016F94
- .4byte _08016FB4
- .4byte _08016FB4
- .4byte _08016FB4
- .4byte _08016FB4
- .4byte _08016FB4
- .4byte _08016FB4
- .4byte _08016F2C
- .4byte _08016F2C
- .4byte _08016F7C
- .4byte _08016F94
-_08016EE0:
- ldr r3, _08016F24
- ldr r1, [r3]
- ldr r2, _08016F28
- adds r1, 0xEC
- 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, 0x82
- 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, 0x8E
- 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, 0xEC
- ldm r2!, {r1,r3,r4}
- stm r0!, {r1,r3,r4}
- ldm r2!, {r5-r7}
- stm r0!, {r5-r7}
- b _08016FD8
- .align 2, 0
-_08016F24: .4byte gUnknown_203B208
-_08016F28: .4byte gUnknown_80DB748
-_08016F2C:
- ldr r3, _08016F70
- ldr r1, [r3]
- ldr r2, _08016F74
- adds r1, 0xEC
- 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, 0x82
- 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, 0x8E
- 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, 0xEC
- ldr r0, _08016F78
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- b _08016FD8
- .align 2, 0
-_08016F70: .4byte gUnknown_203B208
-_08016F74: .4byte gUnknown_80DB748
-_08016F78: .4byte gUnknown_80DB778
-_08016F7C:
- ldr r0, _08016F8C
- ldr r1, [r0]
- movs r7, 0x82
- lsls r7, 1
- adds r1, r7
- ldr r0, _08016F90
- b _08016FA0
- .align 2, 0
-_08016F8C: .4byte gUnknown_203B208
-_08016F90: .4byte gUnknown_80DB790
-_08016F94:
- ldr r0, _08016FAC
- ldr r1, [r0]
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r0
- ldr r0, _08016FB0
-_08016FA0:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _08016FD8
- .align 2, 0
-_08016FAC: .4byte gUnknown_203B208
-_08016FB0: .4byte gUnknown_80DB760
-_08016FB4:
- ldr r0, _08016FF0
- mov r12, r0
- ldr r4, _08016FF4
- movs r3, 0
- movs r2, 0x3
-_08016FBE:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0xEC
- 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 _08016FBE
-_08016FD8:
- bl ResetUnusedInputStruct
- ldr r0, _08016FF0
- ldr r0, [r0]
- adds r0, 0xEC
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08016FF0: .4byte gUnknown_203B208
-_08016FF4: .4byte gUnknown_80DB748
- thumb_func_end sub_8016E80
-
- thumb_func_start sub_8016FF8
-sub_8016FF8:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _08017014
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r4, r1, 0
- cmp r0, 0x1D
- bls _0801700A
- b _08017584
-_0801700A:
- lsls r0, 2
- ldr r1, _08017018
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08017014: .4byte gUnknown_203B208
-_08017018: .4byte _0801701C
- .align 2, 0
-_0801701C:
- .4byte _08017094
- .4byte _080170BC
- .4byte _0801710C
- .4byte _0801713C
- .4byte _08017584
- .4byte _0801715C
- .4byte _0801718C
- .4byte _080171BC
- .4byte _080171EC
- .4byte _0801721C
- .4byte _0801724C
- .4byte _0801726C
- .4byte _0801728C
- .4byte _080172AC
- .4byte _080172BA
- .4byte _080172C2
- .4byte _080174A8
- .4byte _080172E4
- .4byte _0801731C
- .4byte _08017344
- .4byte _08017394
- .4byte _080173B4
- .4byte _080173E8
- .4byte _080173F6
- .4byte _08017404
- .4byte _08017474
- .4byte _080174A8
- .4byte _080174B2
- .4byte _080174E8
- .4byte _08017530
-_08017094:
- bl sub_80175FC
- ldr r2, _080170B4
- ldr r0, [r2]
- adds r0, 0xE4
- movs r4, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r3, _080170B8
- ldr r5, [r2]
- ldr r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r0, r3
- b _080170DA
- .align 2, 0
-_080170B4: .4byte gUnknown_203B208
-_080170B8: .4byte gUnknown_80D5404
-_080170BC:
- bl sub_80175FC
- ldr r1, _08017104
- ldr r0, [r1]
- adds r0, 0xE4
- movs r4, 0
- strb r4, [r0]
- ldr r2, _08017108
- ldr r5, [r1]
- ldr r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x4
- adds r0, r2
-_080170DA:
- ldr r0, [r0]
- ldr r2, [r5, 0x18]
- adds r3, r5, 0
- adds r3, 0x24
- adds r1, r5, 0
- adds r1, 0x4C
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r1, r5, 0
- adds r1, 0xE8
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _08017584
- .align 2, 0
-_08017104: .4byte gUnknown_203B208
-_08017108: .4byte gUnknown_80D5404
-_0801710C:
- ldr r0, [r4]
- movs r1, 0x1
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08017134
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x4C
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _08017138
- b _080173D8
- .align 2, 0
-_08017134: .4byte gUnknown_80D5404
-_08017138: .4byte 0x0000010d
-_0801713C:
- ldr r0, [r4]
- movs r1, 0x4
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0x1
- strb r1, [r0]
- ldr r2, _08017158
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x8
- b _080173CE
- .align 2, 0
-_08017158: .4byte gUnknown_80D5404
-_0801715C:
- ldr r0, [r4]
- movs r1, 0x1
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08017184
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x34
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _08017188
- b _080173D8
- .align 2, 0
-_08017184: .4byte gUnknown_80D5404
-_08017188: .4byte 0x0000010d
-_0801718C:
- ldr r0, [r4]
- movs r1, 0x1
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080171B4
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x38
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _080171B8
- b _080173D8
- .align 2, 0
-_080171B4: .4byte gUnknown_80D5404
-_080171B8: .4byte 0x0000010d
-_080171BC:
- ldr r0, [r4]
- movs r1, 0x1
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080171E4
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x3C
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _080171E8
- b _080173D8
- .align 2, 0
-_080171E4: .4byte gUnknown_80D5404
-_080171E8: .4byte 0x0000010d
-_080171EC:
- ldr r0, [r4]
- movs r1, 0x1
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08017214
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x48
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _08017218
- b _080173D8
- .align 2, 0
-_08017214: .4byte gUnknown_80D5404
-_08017218: .4byte 0x0000010d
-_0801721C:
- ldr r0, _08017244
- ldr r1, [r4]
- adds r1, 0xC
- movs r2, 0
- bl sub_8090E14
- ldr r0, [r4]
- movs r1, 0xE
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08017248
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x40
- b _080173CE
- .align 2, 0
-_08017244: .4byte gUnknown_202DE58
-_08017248: .4byte gUnknown_80D5404
-_0801724C:
- ldr r0, [r4]
- movs r1, 0xE
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08017268
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x44
- b _080173CE
- .align 2, 0
-_08017268: .4byte gUnknown_80D5404
-_0801726C:
- ldr r0, [r4]
- movs r1, 0xD
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08017288
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0xC
- b _080173CE
- .align 2, 0
-_08017288: .4byte gUnknown_80D5404
-_0801728C:
- ldr r0, [r4]
- movs r1, 0xE
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080172A8
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x10
- b _080173CE
- .align 2, 0
-_080172A8: .4byte gUnknown_80D5404
-_080172AC:
- movs r0, 0x3
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08017584
-_080172BA:
- movs r0, 0x1
- bl sub_801A8D0
- b _08017584
-_080172C2:
- bl sub_801A9E0
- bl sub_80176B8
- ldr r0, _080172E0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x58
- adds r1, r2, 0
- adds r1, 0x24
- adds r3, r2, 0
- adds r3, 0x4C
- ldr r2, [r2, 0x1C]
- b _08017494
- .align 2, 0
-_080172E0: .4byte gUnknown_203B208
-_080172E4:
- bl sub_80177F8
- ldr r0, _08017310
- ldr r4, _08017314
- ldr r1, [r4]
- adds r1, 0xC
- movs r2, 0
- bl sub_8090E14
- ldr r0, [r4]
- adds r0, 0xE4
- movs r5, 0
- strb r5, [r0]
- ldr r2, _08017318
- ldr r4, [r4]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x14
- b _08017504
- .align 2, 0
-_08017310: .4byte gUnknown_202DE58
-_08017314: .4byte gUnknown_203B208
-_08017318: .4byte gUnknown_80D5404
-_0801731C:
- bl sub_80177F8
- ldr r1, _0801733C
- ldr r0, [r1]
- adds r0, 0xE4
- movs r5, 0
- strb r5, [r0]
- ldr r2, _08017340
- ldr r4, [r1]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x18
- b _08017504
- .align 2, 0
-_0801733C: .4byte gUnknown_203B208
-_08017340: .4byte gUnknown_80D5404
-_08017344:
- bl sub_8090A34
- cmp r0, 0
- bne _0801735C
- bl sub_801A928
- ldr r0, _08017358
- ldr r1, [r0]
- movs r0, 0x1
- b _08017362
- .align 2, 0
-_08017358: .4byte gUnknown_203B208
-_0801735C:
- ldr r0, _08017388
- ldr r1, [r0]
- movs r0, 0xC
-_08017362:
- str r0, [r1, 0x8]
- ldr r3, _08017388
- ldr r0, [r3]
- adds r0, 0xE4
- movs r1, 0x1
- strb r1, [r0]
- ldr r2, _0801738C
- ldr r3, [r3]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x1C
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _08017390
- b _080173D8
- .align 2, 0
-_08017388: .4byte gUnknown_203B208
-_0801738C: .4byte gUnknown_80D5404
-_08017390: .4byte 0x0000010d
-_08017394:
- ldr r0, [r4]
- movs r1, 0x16
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080173B0
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x20
- b _080173CE
- .align 2, 0
-_080173B0: .4byte gUnknown_80D5404
-_080173B4:
- ldr r0, [r4]
- movs r1, 0x17
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080173E0
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x24
-_080173CE:
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _080173E4
-_080173D8:
- movs r1, 0
- bl sub_80141B4
- b _08017584
- .align 2, 0
-_080173E0: .4byte gUnknown_80D5404
-_080173E4: .4byte 0x0000030d
-_080173E8:
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801C8C4
- b _080173FC
-_080173F6:
- movs r0, 0x1
- bl sub_801CB5C
-_080173FC:
- movs r0, 0
- bl sub_801AD34
- b _08017584
-_08017404:
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xB8
- movs r0, 0x2
- str r0, [r1]
- subs r1, 0x8
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08017430
- ldr r1, [r0]
- ldrb r0, [r2, 0xE]
- lsls r0, 1
- adds r1, 0x50
- adds r3, r1, r0
- ldrh r0, [r3]
- cmp r0, 0x63
- bls _08017434
- adds r1, r2, 0
- adds r1, 0xB4
- movs r0, 0x63
- b _0801743A
- .align 2, 0
-_08017430: .4byte gUnknown_203B460
-_08017434:
- adds r1, r2, 0
- adds r1, 0xB4
- ldrh r0, [r3]
-_0801743A:
- str r0, [r1]
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xAC
- adds r0, r2, 0
- adds r0, 0xB4
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x10
- movs r0, 0x1
- str r0, [r1]
- adds r1, 0x4
- movs r3, 0x82
- 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, 0xA8
- bl sub_8013AA0
- bl sub_8017598
- b _08017584
-_08017474:
- bl sub_801CCD8
- movs r0, 0
- bl sub_801AD34
- bl sub_8017758
- ldr r0, _080174A4
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x58
- adds r1, r2, 0
- adds r1, 0x24
- adds r3, r2, 0
- adds r3, 0x4C
- ldr r2, [r2, 0x20]
-_08017494:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08017584
- .align 2, 0
-_080174A4: .4byte gUnknown_203B208
-_080174A8:
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_801B3C0
- b _08017584
-_080174B2:
- bl sub_80177F8
- ldr r0, _080174DC
- ldr r4, _080174E0
- ldr r1, [r4]
- adds r1, 0xC
- movs r2, 0
- bl sub_8090E14
- ldr r0, [r4]
- adds r0, 0xE4
- movs r5, 0
- strb r5, [r0]
- ldr r2, _080174E4
- ldr r4, [r4]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x28
- b _08017504
- .align 2, 0
-_080174DC: .4byte gUnknown_202DE58
-_080174E0: .4byte gUnknown_203B208
-_080174E4: .4byte gUnknown_80D5404
-_080174E8:
- bl sub_80177F8
- ldr r1, _08017528
- ldr r0, [r1]
- adds r0, 0xE4
- movs r5, 0
- strb r5, [r0]
- ldr r2, _0801752C
- ldr r4, [r1]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x2C
-_08017504:
- adds r0, r2
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x24
- str r5, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r4, 0xE8
- ldr r1, [r4]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x4
- bl sub_8014248
- b _08017584
- .align 2, 0
-_08017528: .4byte gUnknown_203B208
-_0801752C: .4byte gUnknown_80D5404
-_08017530:
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- bne _08017544
- bl sub_8090A34
- cmp r0, 0x13
- ble _08017554
-_08017544:
- bl sub_801CBB8
- ldr r0, _08017550
- ldr r1, [r0]
- movs r0, 0x1
- b _0801755A
- .align 2, 0
-_08017550: .4byte gUnknown_203B208
-_08017554:
- ldr r0, _0801758C
- ldr r1, [r0]
- movs r0, 0x15
-_0801755A:
- str r0, [r1, 0x8]
- ldr r3, _0801758C
- ldr r0, [r3]
- adds r0, 0xE4
- movs r1, 0x1
- strb r1, [r0]
- ldr r2, _08017590
- ldr r3, [r3]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x30
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _08017594
- movs r1, 0
- bl sub_80141B4
-_08017584:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801758C: .4byte gUnknown_203B208
-_08017590: .4byte gUnknown_80D5404
-_08017594: .4byte 0x0000010d
- thumb_func_end sub_8016FF8
-
- thumb_func_start sub_8017598
-sub_8017598:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080175F4
- ldr r0, [r4]
- adds r0, 0xBC
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, 0xBC
- ldr r0, [r0]
- bl sub_80073B8
- ldr r2, _080175F8
- ldr r0, [r4]
- adds r0, 0xBC
- 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, 0xA8
- bl sub_8013C68
- ldr r0, [r4]
- adds r0, 0xBC
- ldr r0, [r0]
- bl sub_80073E0
- bl sub_801CCD8
- movs r0, 0
- bl sub_801AD34
- ldr r0, [r4]
- adds r0, 0x58
- movs r1, 0
- bl sub_8012EA4
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080175F4: .4byte gUnknown_203B208
-_080175F8: .4byte gUnknown_80DB7A8
- thumb_func_end sub_8017598
-
- thumb_func_start sub_80175FC
-sub_80175FC:
- push {r4-r7,lr}
- ldr r4, _0801767C
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0
- movs r2, 0xA
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08017680
- ldr r0, [r0]
- str r0, [r3, 0x24]
- movs r0, 0x2
- str r0, [r3, 0x28]
- movs r1, 0x1
- ldr r0, _08017684
- ldr r0, [r0]
- str r0, [r3, 0x2C]
- movs r0, 0x3
- str r0, [r3, 0x30]
- ldr r0, _08017688
- ldr r0, [r0]
- str r0, [r3, 0x34]
- movs r0, 0x6
- str r0, [r3, 0x38]
- ldr r0, _0801768C
- ldr r0, [r0]
- str r0, [r3, 0x3C]
- str r1, [r3, 0x40]
- movs r6, 0x4
- str r2, [r3, 0x44]
- str r1, [r3, 0x48]
- movs r5, 0
- mov r12, r3
- adds r3, 0x28
- mov r2, r12
- adds r2, 0x4C
-_08017648:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08017658
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x18]
- cmp r1, r0
- beq _080176B2
-_08017658:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _08017648
- movs r5, 0
- cmp r5, r6
- bge _080176B2
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4C
- ldrh r0, [r0]
- cmp r0, 0
- bne _08017690
- ldr r0, [r1, 0x28]
- str r0, [r1, 0x18]
- b _080176B2
- .align 2, 0
-_0801767C: .4byte gUnknown_203B208
-_08017680: .4byte gUnknown_80D4958
-_08017684: .4byte gUnknown_80D4964
-_08017688: .4byte gUnknown_80D4970
-_0801768C: .4byte gUnknown_80D4934
-_08017690:
- adds r5, 0x1
- cmp r5, r6
- bge _080176B2
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x4C
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08017690
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x28
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x18]
-_080176B2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80175FC
-
- thumb_func_start sub_80176B8
-sub_80176B8:
- push {r4-r7,lr}
- ldr r4, _08017724
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0
- movs r2, 0xA
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08017728
- ldr r0, [r0]
- str r0, [r3, 0x24]
- movs r0, 0x2
- str r0, [r3, 0x28]
- movs r1, 0x1
- ldr r0, _0801772C
- ldr r0, [r0]
- str r0, [r3, 0x2C]
- movs r0, 0x6
- str r0, [r3, 0x30]
- movs r6, 0x2
- str r2, [r3, 0x34]
- str r1, [r3, 0x38]
- movs r5, 0
- mov r12, r3
- adds r3, 0x28
- mov r2, r12
- adds r2, 0x4C
-_080176F2:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08017702
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x1C]
- cmp r1, r0
- beq _08017752
-_08017702:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _080176F2
- movs r5, 0
- cmp r5, r6
- bge _08017752
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4C
- ldrh r0, [r0]
- cmp r0, 0
- bne _08017730
- ldr r0, [r1, 0x28]
- str r0, [r1, 0x1C]
- b _08017752
- .align 2, 0
-_08017724: .4byte gUnknown_203B208
-_08017728: .4byte gUnknown_80D4958
-_0801772C: .4byte gUnknown_80D4970
-_08017730:
- adds r5, 0x1
- cmp r5, r6
- bge _08017752
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x4C
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08017730
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x28
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
-_08017752:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80176B8
-
- thumb_func_start sub_8017758
-sub_8017758:
- push {r4-r7,lr}
- ldr r4, _080177C4
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0
- movs r2, 0xA
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _080177C8
- ldr r0, [r0]
- str r0, [r3, 0x24]
- movs r0, 0x3
- str r0, [r3, 0x28]
- movs r1, 0x1
- ldr r0, _080177CC
- ldr r0, [r0]
- str r0, [r3, 0x2C]
- movs r0, 0x6
- str r0, [r3, 0x30]
- movs r6, 0x2
- str r2, [r3, 0x34]
- str r1, [r3, 0x38]
- movs r5, 0
- mov r12, r3
- adds r3, 0x28
- mov r2, r12
- adds r2, 0x4C
-_08017792:
- ldrh r0, [r2]
- cmp r0, 0
- bne _080177A2
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x20]
- cmp r1, r0
- beq _080177F2
-_080177A2:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _08017792
- movs r5, 0
- cmp r5, r6
- bge _080177F2
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4C
- ldrh r0, [r0]
- cmp r0, 0
- bne _080177D0
- ldr r0, [r1, 0x28]
- str r0, [r1, 0x20]
- b _080177F2
- .align 2, 0
-_080177C4: .4byte gUnknown_203B208
-_080177C8: .4byte gUnknown_80D4964
-_080177CC: .4byte gUnknown_80D4970
-_080177D0:
- adds r5, 0x1
- cmp r5, r6
- bge _080177F2
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x4C
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080177D0
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x28
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x20]
-_080177F2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8017758
-
- thumb_func_start sub_80177F8
-sub_80177F8:
- ldr r0, _0801781C
- ldr r1, [r0]
- movs r3, 0
- ldr r0, _08017820
- ldr r0, [r0]
- str r0, [r1, 0x24]
- movs r0, 0x4
- str r0, [r1, 0x28]
- movs r2, 0x1
- ldr r0, _08017824
- ldr r0, [r0]
- str r0, [r1, 0x2C]
- movs r0, 0x5
- str r0, [r1, 0x30]
- str r3, [r1, 0x34]
- str r2, [r1, 0x38]
- bx lr
- .align 2, 0
-_0801781C: .4byte gUnknown_203B208
-_08017820: .4byte gUnknown_80D4920
-_08017824: .4byte gUnknown_80D4928
- thumb_func_end sub_80177F8
-
- thumb_func_start sub_8017828
-sub_8017828:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080178C8
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08017842
- ldr r0, _08017854
- ldr r0, [r0]
- str r1, [r0, 0x18]
-_08017842:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08017862
- cmp r0, 0x2
- bgt _08017858
- cmp r0, 0x1
- beq _080178C2
- b _080178C8
- .align 2, 0
-_08017854: .4byte gUnknown_203B208
-_08017858:
- cmp r0, 0x3
- beq _0801788E
- cmp r0, 0x6
- beq _080178BA
- b _080178C8
-_08017862:
- bl sub_8090A34
- cmp r0, 0
- bne _08017872
- movs r0, 0x5
- bl sub_8016E68
- b _080178C8
-_08017872:
- movs r0, 0
- bl sub_801CF50
- lsls r0, 24
- cmp r0, 0
- beq _08017886
- movs r0, 0x8
- bl sub_8016E68
- b _080178C8
-_08017886:
- movs r0, 0xB
- bl sub_8016E68
- b _080178C8
-_0801788E:
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- beq _080178A2
- movs r0, 0x7
- bl sub_8016E68
- b _080178C8
-_080178A2:
- bl sub_8090A34
- cmp r0, 0x13
- ble _080178B2
- movs r0, 0x6
- bl sub_8016E68
- b _080178C8
-_080178B2:
- movs r0, 0x14
- bl sub_8016E68
- b _080178C8
-_080178BA:
- movs r0, 0x2
- bl sub_8016E68
- b _080178C8
-_080178C2:
- movs r0, 0x3
- bl sub_8016E68
-_080178C8:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8017828
-
- thumb_func_start sub_80178D0
-sub_80178D0:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801791E
- ldr r0, [sp]
- cmp r0, 0x4
- beq _080178F4
- cmp r0, 0x4
- bgt _080178EE
- cmp r0, 0x1
- beq _08017918
- b _0801791E
-_080178EE:
- cmp r0, 0x5
- beq _08017918
- b _0801791E
-_080178F4:
- ldr r4, _08017914
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_80917B8
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- bl sub_80911F8
- bl sub_80910B4
- movs r0, 0x13
- bl sub_8016E68
- b _0801791E
- .align 2, 0
-_08017914: .4byte gUnknown_203B208
-_08017918:
- movs r0, 0xE
- bl sub_8016E68
-_0801791E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80178D0
-
- thumb_func_start sub_8017928
-sub_8017928:
- push {lr}
- sub sp, 0x8
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080179A2
- ldr r0, [sp]
- cmp r0, 0x4
- beq _0801794C
- cmp r0, 0x4
- bgt _08017946
- cmp r0, 0x1
- beq _0801799C
- b _080179A2
-_08017946:
- cmp r0, 0x5
- beq _0801799C
- b _080179A2
-_0801794C:
- ldr r0, _0801798C
- ldr r1, [r0]
- ldr r0, _08017990
- ldr r3, [r0]
- ldrb r0, [r3, 0xE]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrb r2, [r3, 0xD]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- ldrb r2, [r3, 0xE]
- ldr r1, _08017994
- ldr r0, [sp, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x4]
- ldrb r1, [r3, 0xD]
- lsls r1, 8
- ldr r2, _08017998
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
- add r0, sp, 0x4
- bl sub_8091274
- movs r0, 0x1D
- bl sub_8016E68
- b _080179A2
- .align 2, 0
-_0801798C: .4byte gUnknown_203B460
-_08017990: .4byte gUnknown_203B208
-_08017994: .4byte 0xffffff00
-_08017998: .4byte 0xffff00ff
-_0801799C:
- movs r0, 0x17
- bl sub_8016E68
-_080179A2:
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_8017928
-
- thumb_func_start sub_80179A8
-sub_80179A8:
- push {r4-r7,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08017A12
- ldr r0, [sp]
- cmp r0, 0x4
- beq _080179CC
- cmp r0, 0x4
- bgt _080179C6
- cmp r0, 0x1
- beq _08017A0C
- b _08017A12
-_080179C6:
- cmp r0, 0x5
- beq _08017A0C
- b _08017A12
-_080179CC:
- movs r5, 0
- ldr r6, _08017A08
- movs r7, 0
-_080179D2:
- adds r0, r5, 0
- bl sub_801AED0
- cmp r0, 0
- beq _080179F2
- 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]
-_080179F2:
- adds r5, 0x1
- cmp r5, 0x13
- ble _080179D2
- bl sub_80910B4
- bl sub_801AE84
- movs r0, 0x13
- bl sub_8016E68
- b _08017A12
- .align 2, 0
-_08017A08: .4byte gUnknown_203B460
-_08017A0C:
- movs r0, 0xE
- bl sub_8016E68
-_08017A12:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80179A8
-
- thumb_func_start sub_8017A1C
-sub_8017A1C:
- push {r4-r6,lr}
- sub sp, 0x8
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08017AEE
- ldr r0, [sp]
- cmp r0, 0x4
- beq _08017A40
- cmp r0, 0x4
- bgt _08017A3A
- cmp r0, 0x1
- beq _08017AE8
- b _08017AEE
-_08017A3A:
- cmp r0, 0x5
- beq _08017AE8
- b _08017AEE
-_08017A40:
- movs r5, 0
- ldr r6, _08017A88
-_08017A44:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_801CFE0
- cmp r0, 0
- beq _08017ACE
- ldr r1, _08017A8C
- ldr r0, [sp, 0x4]
- ands r0, r1
- orrs r0, r4
- str r0, [sp, 0x4]
- add r4, sp, 0x4
- ldrb r0, [r4]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _08017AA2
- ldr r2, _08017A90
- ldr r1, [r2]
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- cmp r1, 0x63
- bls _08017A94
- ldr r0, [sp, 0x4]
- ands r0, r6
- movs r1, 0xC6
- lsls r1, 7
- b _08017A9C
- .align 2, 0
-_08017A88: .4byte 0xffff00ff
-_08017A8C: .4byte 0xffffff00
-_08017A90: .4byte gUnknown_203B460
-_08017A94:
- lsls r1, 24
- lsrs r1, 16
- ldr r0, [sp, 0x4]
- ands r0, r6
-_08017A9C:
- orrs r0, r1
- str r0, [sp, 0x4]
- b _08017AB0
-_08017AA2:
- ldr r0, [sp, 0x4]
- ands r0, r6
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- str r0, [sp, 0x4]
- ldr r2, _08017AE4
-_08017AB0:
- ldr r3, [r2]
- add r0, sp, 0x4
- ldrb r1, [r4]
- lsls r1, 1
- adds r3, 0x50
- adds r3, r1
- ldr r1, [sp, 0x4]
- lsrs r1, 8
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r3]
- subs r2, r1
- strh r2, [r3]
- bl sub_8091274
-_08017ACE:
- adds r5, 0x1
- cmp r5, 0xEF
- ble _08017A44
- bl sub_80910B4
- bl sub_801CF94
- movs r0, 0x1D
- bl sub_8016E68
- b _08017AEE
- .align 2, 0
-_08017AE4: .4byte gUnknown_203B460
-_08017AE8:
- movs r0, 0x17
- bl sub_8016E68
-_08017AEE:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8017A1C
-
- thumb_func_start sub_8017AF8
-sub_8017AF8:
- push {lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _08017B14
- cmp r0, 0x3
- bhi _08017B0E
- cmp r0, 0x2
- beq _08017B78
- b _08017B82
-_08017B0E:
- cmp r0, 0x4
- beq _08017B50
- b _08017B82
-_08017B14:
- bl sub_801AEA8
- cmp r0, 0
- beq _08017B2A
- movs r0, 0
- bl sub_8099690
- movs r0, 0x12
- bl sub_8016E68
- b _08017B82
-_08017B2A:
- bl sub_801A8AC
- ldr r1, _08017B48
- ldr r2, [r1]
- str r0, [r2, 0x10]
- ldr r1, _08017B4C
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0xC]
- movs r0, 0xF
- bl sub_8016E68
- b _08017B82
- .align 2, 0
-_08017B48: .4byte gUnknown_203B208
-_08017B4C: .4byte gUnknown_203B460
-_08017B50:
- bl sub_801A8AC
- ldr r1, _08017B70
- ldr r2, [r1]
- str r0, [r2, 0x10]
- ldr r1, _08017B74
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0xC]
- movs r0, 0x10
- bl sub_8016E68
- b _08017B82
- .align 2, 0
-_08017B70: .4byte gUnknown_203B208
-_08017B74: .4byte gUnknown_203B460
-_08017B78:
- bl sub_801A928
- movs r0, 0x1
- bl sub_8016E68
-_08017B82:
- pop {r0}
- bx r0
- thumb_func_end sub_8017AF8
-
- thumb_func_start sub_8017B88
-sub_8017B88:
- push {r4,lr}
- movs r0, 0x1
- bl sub_801CA08
- cmp r0, 0x2
- beq _08017C10
- cmp r0, 0x2
- bhi _08017B9E
- cmp r0, 0x1
- beq _08017C1C
- b _08017C22
-_08017B9E:
- cmp r0, 0x3
- beq _08017BA8
- cmp r0, 0x4
- beq _08017BE4
- b _08017C22
-_08017BA8:
- bl sub_801CFB8
- cmp r0, 0
- beq _08017BB8
- movs r0, 0x1C
- bl sub_8016E68
- b _08017C22
-_08017BB8:
- bl sub_801CB24
- ldr r4, _08017BE0
- ldr r1, [r4]
- strb r0, [r1, 0x14]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC
- ldrb r1, [r1, 0x14]
- movs r2, 0
- bl sub_8090A8C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0xD]
- movs r0, 0x19
- bl sub_8016E68
- b _08017C22
- .align 2, 0
-_08017BE0: .4byte gUnknown_203B208
-_08017BE4:
- bl sub_801CB24
- ldr r4, _08017C0C
- ldr r1, [r4]
- strb r0, [r1, 0x14]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC
- ldrb r1, [r1, 0x14]
- movs r2, 0
- bl sub_8090A8C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0xD]
- movs r0, 0x1A
- bl sub_8016E68
- b _08017C22
- .align 2, 0
-_08017C0C: .4byte gUnknown_203B208
-_08017C10:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_8016E68
- b _08017C22
-_08017C1C:
- movs r0, 0
- bl sub_801AD34
-_08017C22:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8017B88
-
- thumb_func_start sub_8017C28
-sub_8017C28:
- push {r4,lr}
- movs r0, 0
- bl sub_801CA08
- ldr r4, _08017C54
- ldr r0, [r4]
- adds r0, 0x58
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0xA8
- bl sub_8013BBC
- cmp r0, 0x1
- beq _08017C58
- cmp r0, 0x1
- bcc _08017C76
- cmp r0, 0x2
- beq _08017C70
- cmp r0, 0x3
- beq _08017C5E
- b _08017C76
- .align 2, 0
-_08017C54: .4byte gUnknown_203B208
-_08017C58:
- bl sub_8017598
- b _08017C76
-_08017C5E:
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xA8
- ldr r1, [r1]
- strb r1, [r0, 0xD]
- movs r0, 0x1B
- bl sub_8016E68
- b _08017C76
-_08017C70:
- movs r0, 0x17
- bl sub_8016E68
-_08017C76:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8017C28
-
- thumb_func_start sub_8017C7C
-sub_8017C7C:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _08017CBC
- ldr r0, [r4]
- adds r0, 0x58
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08017CAC
- ldr r0, [r4]
- adds r0, 0x58
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08017CAC
- ldr r0, [r4]
- str r1, [r0, 0x1C]
-_08017CAC:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08017CC6
- cmp r0, 0x2
- bgt _08017CC0
- cmp r0, 0x1
- beq _08017D14
- b _08017D1A
- .align 2, 0
-_08017CBC: .4byte gUnknown_203B208
-_08017CC0:
- cmp r0, 0x6
- beq _08017D06
- b _08017D1A
-_08017CC6:
- movs r0, 0
- bl sub_8099690
- ldr r4, _08017CE4
- ldr r0, [r4]
- ldrb r0, [r0, 0xE]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- bne _08017CE8
- movs r0, 0x9
- bl sub_8016E68
- b _08017D1A
- .align 2, 0
-_08017CE4: .4byte gUnknown_203B208
-_08017CE8:
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- bne _08017CFE
- movs r0, 0xA
- bl sub_8016E68
- b _08017D1A
-_08017CFE:
- movs r0, 0x11
- bl sub_8016E68
- b _08017D1A
-_08017D06:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x10
- bl sub_8016E68
- b _08017D1A
-_08017D14:
- movs r0, 0xE
- bl sub_8016E68
-_08017D1A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8017C7C
-
- thumb_func_start sub_8017D24
-sub_8017D24:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801CA08
- ldr r4, _08017D64
- ldr r0, [r4]
- adds r0, 0x58
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08017D54
- ldr r0, [r4]
- adds r0, 0x58
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08017D54
- ldr r0, [r4]
- str r1, [r0, 0x20]
-_08017D54:
- ldr r0, [sp]
- cmp r0, 0x3
- beq _08017D6E
- cmp r0, 0x3
- bgt _08017D68
- cmp r0, 0x1
- beq _08017DB0
- b _08017DB6
- .align 2, 0
-_08017D64: .4byte gUnknown_203B208
-_08017D68:
- cmp r0, 0x6
- beq _08017DA8
- b _08017DB6
-_08017D6E:
- bl sub_8090A34
- cmp r0, 0x13
- ble _08017D82
- bl sub_801CBB8
- movs r0, 0x6
- bl sub_8016E68
- b _08017DB6
-_08017D82:
- ldr r0, _08017D9C
- ldr r0, [r0]
- ldrb r0, [r0, 0xE]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _08017DA0
- movs r0, 0x18
- bl sub_8016E68
- b _08017DB6
- .align 2, 0
-_08017D9C: .4byte gUnknown_203B208
-_08017DA0:
- movs r0, 0x1B
- bl sub_8016E68
- b _08017DB6
-_08017DA8:
- movs r0, 0x1A
- bl sub_8016E68
- b _08017DB6
-_08017DB0:
- movs r0, 0x17
- bl sub_8016E68
-_08017DB6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8017D24
-
- thumb_func_start sub_8017DC0
-sub_8017DC0:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08017DD8
- cmp r0, 0x3
- bhi _08017DD8
- bl sub_801B450
- movs r0, 0xE
- bl sub_8016E68
-_08017DD8:
- pop {r0}
- bx r0
- thumb_func_end sub_8017DC0
-
- thumb_func_start sub_8017DDC
-sub_8017DDC:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08017DF4
- cmp r0, 0x3
- bhi _08017DF4
- bl sub_801B450
- movs r0, 0x17
- bl sub_8016E68
-_08017DF4:
- pop {r0}
- bx r0
- thumb_func_end sub_8017DDC
-
- thumb_func_start sub_8017DF8
-sub_8017DF8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08017E10
- ldr r0, _08017E18
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_8016E68
-_08017E10:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_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
-
- thumb_func_start DisplayKeckleonDialogueSprite
-DisplayKeckleonDialogueSprite:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08018B30
- movs r0, 0xA4
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- adds r1, r0, 0
- str r1, [r5]
- movs r2, 0
- str r2, [r1, 0x28]
- str r2, [r1, 0x2C]
- str r2, [r1, 0x30]
- str r4, [r1]
- cmp r4, 0x1
- beq _08018B3A
- cmp r4, 0x1
- bcc _08018B34
- cmp r4, 0x2
- beq _08018B44
- cmp r4, 0x3
- beq _08018B80
- b _08018BAE
- .align 2, 0
-_08018B30: .4byte gUnknown_203B210
-_08018B34:
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08018B46
-_08018B3A:
- strb r4, [r1, 0x4]
- ldr r0, [r5]
- adds r0, 0xE4
- str r2, [r0]
- b _08018B50
-_08018B44:
- strb r2, [r1, 0x4]
-_08018B46:
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0xE4
- adds r0, 0xD4
- str r0, [r1]
-_08018B50:
- ldr r0, _08018B78
- movs r5, 0xBE
- lsls r5, 1
- adds r1, r5, 0
- bl sub_808D8E0
- ldr r4, _08018B7C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808D8E0
- adds r0, r5, 0
- bl GetMonSpecies
- adds r1, r0, 0
- subs r4, 0x50
- adds r0, r4, 0
- bl strcpy
- b _08018BAE
- .align 2, 0
-_08018B78: .4byte gUnknown_202E5D8
-_08018B7C: .4byte gUnknown_202E1C8
-_08018B80:
- strb r2, [r1, 0x4]
- ldr r0, [r5]
- adds r0, 0xE4
- str r2, [r0]
- ldr r0, _08018BF8
- movs r5, 0xBE
- lsls r5, 1
- adds r1, r5, 0
- bl sub_808D8E0
- ldr r4, _08018BFC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808D8E0
- adds r0, r5, 0
- bl GetMonSpecies
- adds r1, r0, 0
- subs r4, 0x50
- adds r0, r4, 0
- bl strcpy
-_08018BAE:
- movs r0, 0xBE
- lsls r0, 1
- bl GetDialogueSpriteDataPtr
- ldr r2, _08018C00
- ldr r3, [r2]
- adds r1, r3, 0
- adds r1, 0xD4
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0xE0
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xE1
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xE2
- strb r1, [r0]
- ldr r1, [r2]
- adds r2, r1, 0
- adds r2, 0xDC
- movs r0, 0x2
- strh r0, [r2]
- adds r1, 0xDE
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_8018D18
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08018BF8: .4byte gUnknown_202E5D8
-_08018BFC: .4byte gUnknown_202E1C8
-_08018C00: .4byte gUnknown_203B210
- thumb_func_end DisplayKeckleonDialogueSprite
-
- thumb_func_start sub_8018C04
-sub_8018C04:
- push {lr}
- ldr r0, _08018C1C
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- cmp r0, 0x1F
- bhi _08018CE4
- lsls r0, 2
- ldr r1, _08018C20
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08018C1C: .4byte gUnknown_203B210
-_08018C20: .4byte _08018C24
- .align 2, 0
-_08018C24:
- .4byte _08018CA4
- .4byte _08018CA4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE0
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CAA
- .4byte _08018CAA
- .4byte _08018CB6
- .4byte _08018CD4
- .4byte _08018CC2
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CB0
- .4byte _08018CB0
- .4byte _08018CBC
- .4byte _08018CDA
- .4byte _08018CC8
- .4byte _08018CCE
-_08018CA4:
- bl sub_8019730
- b _08018CE8
-_08018CAA:
- bl sub_80199CC
- b _08018CE8
-_08018CB0:
- bl sub_8019B08
- b _08018CE8
-_08018CB6:
- bl sub_8019BBC
- b _08018CE8
-_08018CBC:
- bl sub_8019C78
- b _08018CE8
-_08018CC2:
- bl sub_8019850
- b _08018CE8
-_08018CC8:
- bl sub_80198E8
- b _08018CE8
-_08018CCE:
- bl sub_8019944
- b _08018CE8
-_08018CD4:
- bl sub_8019D30
- b _08018CE8
-_08018CDA:
- bl sub_8019D4C
- b _08018CE8
-_08018CE0:
- movs r0, 0x3
- b _08018CEA
-_08018CE4:
- bl sub_8019D68
-_08018CE8:
- movs r0, 0
-_08018CEA:
- pop {r1}
- bx r1
- thumb_func_end sub_8018C04
-
- thumb_func_start sub_8018CF0
-sub_8018CF0:
- push {r4,lr}
- ldr r4, _08018D14
- ldr r0, [r4]
- cmp r0, 0
- beq _08018D0C
- adds r0, 0xD4
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08018D0C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08018D14: .4byte gUnknown_203B210
- thumb_func_end sub_8018CF0
-
- thumb_func_start sub_8018D18
-sub_8018D18:
- push {lr}
- ldr r1, _08018D2C
- ldr r1, [r1]
- str r0, [r1, 0x8]
- bl sub_8018D30
- bl sub_8018E88
- pop {r0}
- bx r0
- .align 2, 0
-_08018D2C: .4byte gUnknown_203B210
- thumb_func_end sub_8018D18
-
- thumb_func_start sub_8018D30
-sub_8018D30:
- push {r4-r7,lr}
- ldr r4, _08018D54
- ldr r0, [r4]
- adds r0, 0xE8
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- subs r0, 0x12
- cmp r0, 0xA
- bls _08018D48
- b _08018E44
-_08018D48:
- lsls r0, 2
- ldr r1, _08018D58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08018D54: .4byte gUnknown_203B210
-_08018D58: .4byte _08018D5C
- .align 2, 0
-_08018D5C:
- .4byte _08018D88
- .4byte _08018D88
- .4byte _08018E24
- .4byte _08018E44
- .4byte _08018E44
- .4byte _08018E44
- .4byte _08018E44
- .4byte _08018E44
- .4byte _08018DDC
- .4byte _08018DDC
- .4byte _08018E24
-_08018D88:
- ldr r3, _08018DCC
- ldr r1, [r3]
- ldr r2, _08018DD0
- adds r1, 0xE8
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldr r0, [r3]
- movs r6, 0x8C
- lsls r6, 1
- adds r0, r6
- ldm r2!, {r1,r4,r7}
- stm r0!, {r1,r4,r7}
- ldm r2!, {r5-r7}
- stm r0!, {r5-r7}
- ldr r1, [r3]
- adds r1, 0xE8
- ldr r0, _08018DD4
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldr r1, [r3]
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3
- ldr r0, _08018DD8
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- b _08018E68
- .align 2, 0
-_08018DCC: .4byte gUnknown_203B210
-_08018DD0: .4byte gUnknown_80DB840
-_08018DD4: .4byte gUnknown_80DB870
-_08018DD8: .4byte gUnknown_80DB888
-_08018DDC:
- ldr r3, _08018E18
- ldr r1, [r3]
- ldr r2, _08018E1C
- adds r1, 0xE8
- 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 r4, 0x80
- lsls r4, 1
- adds r1, r4
- adds r0, r2, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldr r0, [r3]
- movs r6, 0x8C
- lsls r6, 1
- adds r0, r6
- ldm r2!, {r1,r5,r7}
- stm r0!, {r1,r5,r7}
- ldm r2!, {r1,r6,r7}
- stm r0!, {r1,r6,r7}
- ldr r1, [r3]
- adds r1, r4
- ldr r0, _08018E20
- b _08018E30
- .align 2, 0
-_08018E18: .4byte gUnknown_203B210
-_08018E1C: .4byte gUnknown_80DB840
-_08018E20: .4byte gUnknown_80DB888
-_08018E24:
- ldr r0, _08018E3C
- ldr r1, [r0]
- movs r0, 0x8C
- lsls r0, 1
- adds r1, r0
- ldr r0, _08018E40
-_08018E30:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _08018E68
- .align 2, 0
-_08018E3C: .4byte gUnknown_203B210
-_08018E40: .4byte gUnknown_80DB858
-_08018E44:
- ldr r0, _08018E80
- mov r12, r0
- ldr r4, _08018E84
- movs r3, 0
- movs r2, 0x3
-_08018E4E:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0xE8
- 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 _08018E4E
-_08018E68:
- bl ResetUnusedInputStruct
- ldr r0, _08018E80
- ldr r0, [r0]
- adds r0, 0xE8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08018E80: .4byte gUnknown_203B210
-_08018E84: .4byte gUnknown_80DB840
- thumb_func_end sub_8018D30
-
- thumb_func_start sub_8018E88
-sub_8018E88:
- push {r4,lr}
- sub sp, 0x14
- ldr r1, _08018EA4
- ldr r0, [r1]
- ldr r0, [r0, 0x8]
- adds r4, r1, 0
- cmp r0, 0x20
- bls _08018E9A
- b _080194E8
-_08018E9A:
- lsls r0, 2
- ldr r1, _08018EA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08018EA4: .4byte gUnknown_203B210
-_08018EA8: .4byte _08018EAC
- .align 2, 0
-_08018EAC:
- .4byte _08018F30
- .4byte _08018F58
- .4byte _08018FA8
- .4byte _08018FD0
- .4byte _080194E8
- .4byte _08018FFC
- .4byte _08019024
- .4byte _0801904C
- .4byte _08019070
- .4byte _08019094
- .4byte _080190B8
- .4byte _080190DC
- .4byte _08019104
- .4byte _0801912C
- .4byte _08019164
- .4byte _0801918C
- .4byte _080191B4
- .4byte _08019294
- .4byte _080191DC
- .4byte _080191FA
- .4byte _08019218
- .4byte _080193F4
- .4byte _08019254
- .4byte _08019314
- .4byte _0801933C
- .4byte _080193FE
- .4byte _08019364
- .4byte _08019372
- .4byte _08019380
- .4byte _080193F4
- .4byte _080193B4
- .4byte _0801946C
- .4byte _080194C0
-_08018F30:
- bl sub_8019DAC
- bl sub_80194F8
- movs r0, 0
- bl sub_8019E04
- ldr r2, _08018F50
- ldr r0, _08018F54
- ldr r4, [r0]
- ldr r1, [r4]
- movs r0, 0x5C
- muls r0, r1
- adds r0, r2
- b _08018F76
- .align 2, 0
-_08018F50: .4byte gKecleonShopDialogue
-_08018F54: .4byte gUnknown_203B210
-_08018F58:
- bl sub_8019DAC
- bl sub_80194F8
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08018FA0
- ldr r0, _08018FA4
- ldr r4, [r0]
- ldr r2, [r4]
- movs r0, 0x5C
- muls r0, r2
- adds r1, 0x4
- adds r0, r1
-_08018F76:
- ldr r0, [r0]
- ldr r2, [r4, 0x28]
- adds r3, r4, 0
- adds r3, 0x34
- adds r1, r4, 0
- adds r1, 0x74
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- adds r1, r4, 0
- adds r1, 0xE4
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _080194E8
- .align 2, 0
-_08018FA0: .4byte gKecleonShopDialogue
-_08018FA4: .4byte gUnknown_203B210
-_08018FA8:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08018FCC
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x58
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08018FCC: .4byte gKecleonShopDialogue
-_08018FD0:
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08018FF4
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- ldr r3, _08018FF8
- b _08019456
- .align 2, 0
-_08018FF4: .4byte gKecleonShopDialogue
-_08018FF8: .4byte 0x0000030d
-_08018FFC:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08019020
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x30
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019020: .4byte gKecleonShopDialogue
-_08019024:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0xC]
- movs r0, 0x1
- bl sub_8019E04
- ldr r1, _08019048
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x34
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019048: .4byte gKecleonShopDialogue
-_0801904C:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- bl sub_8019E04
- ldr r1, _0801906C
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x38
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_0801906C: .4byte gKecleonShopDialogue
-_08019070:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- bl sub_8019E04
- ldr r1, _08019090
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x3C
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019090: .4byte gKecleonShopDialogue
-_08019094:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- bl sub_8019E04
- ldr r1, _080190B4
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x40
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_080190B4: .4byte gKecleonShopDialogue
-_080190B8:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- bl sub_8019E04
- ldr r1, _080190D8
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x44
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_080190D8: .4byte gKecleonShopDialogue
-_080190DC:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08019100
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x48
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019100: .4byte gKecleonShopDialogue
-_08019104:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0xC]
- movs r0, 0x1
- bl sub_8019E04
- ldr r1, _08019128
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019128: .4byte gKecleonShopDialogue
-_0801912C:
- ldr r0, _0801915C
- ldr r1, [r4]
- adds r1, 0x1C
- movs r2, 0
- bl sub_8090E14
- ldr r1, [r4]
- movs r0, 0x18
- str r0, [r1, 0xC]
- movs r0, 0x1
- bl sub_8019E04
- ldr r1, _08019160
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_0801915C: .4byte gUnknown_202DE58
-_08019160: .4byte gKecleonShopDialogue
-_08019164:
- ldr r1, [r4]
- movs r0, 0x18
- str r0, [r1, 0xC]
- movs r0, 0x1
- bl sub_8019E04
- ldr r1, _08019188
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x54
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019188: .4byte gKecleonShopDialogue
-_0801918C:
- ldr r1, [r4]
- movs r0, 0x12
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _080191B0
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0xC
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_080191B0: .4byte gKecleonShopDialogue
-_080191B4:
- ldr r1, [r4]
- movs r0, 0x13
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _080191D8
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x10
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_080191D8: .4byte gKecleonShopDialogue
-_080191DC:
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080191EC
- movs r0, 0x3
- bl sub_8019E40
- b _080191F2
-_080191EC:
- movs r0, 0x3
- bl sub_801A20C
-_080191F2:
- movs r0, 0
- bl sub_801AD34
- b _08019378
-_080191FA:
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _0801920A
- movs r0, 0x1
- bl sub_8019FCC
- b _08019210
-_0801920A:
- movs r0, 0x1
- bl sub_801A398
-_08019210:
- movs r0, 0
- bl sub_801AD34
- b _08019378
-_08019218:
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08019226
- bl sub_801A0D8
- b _0801922A
-_08019226:
- bl sub_801A4A4
-_0801922A:
- movs r0, 0
- bl sub_801AD34
- movs r0, 0x1
- bl sub_8016C40
- bl sub_80195C0
- ldr r0, _08019250
- 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]
- b _080193A0
- .align 2, 0
-_08019250: .4byte gUnknown_203B210
-_08019254:
- bl sub_8019700
- ldr r0, _08019284
- ldr r4, _08019288
- ldr r1, [r4]
- adds r1, 0x1C
- movs r2, 0
- bl sub_8090E14
- ldr r1, _0801928C
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- str r0, [r1]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08019290
- ldr r4, [r4]
- ldr r2, [r4]
- movs r0, 0x5C
- muls r0, r2
- adds r1, 0x14
- b _0801948C
- .align 2, 0
-_08019284: .4byte gUnknown_202DE58
-_08019288: .4byte gUnknown_203B210
-_0801928C: .4byte gUnknown_202DE30
-_08019290: .4byte gKecleonShopDialogue
-_08019294:
- bl sub_8019D8C
- cmp r0, 0
- bne _080192C0
- ldr r0, _080192AC
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080192B0
- bl sub_801A010
- b _080192B4
- .align 2, 0
-_080192AC: .4byte gUnknown_203B210
-_080192B0:
- bl sub_801A3DC
-_080192B4:
- ldr r0, _080192BC
- ldr r1, [r0]
- movs r0, 0xB
- b _080192F2
- .align 2, 0
-_080192BC: .4byte gUnknown_203B210
-_080192C0:
- bl sub_8090A34
- cmp r0, 0x13
- ble _080192EC
- ldr r0, _080192D8
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080192DC
- bl sub_801A010
- b _080192E0
- .align 2, 0
-_080192D8: .4byte gUnknown_203B210
-_080192DC:
- bl sub_801A3DC
-_080192E0:
- ldr r0, _080192E8
- ldr r1, [r0]
- movs r0, 0x1
- b _080192F2
- .align 2, 0
-_080192E8: .4byte gUnknown_203B210
-_080192EC:
- ldr r0, _0801930C
- ldr r1, [r0]
- movs r0, 0x10
-_080192F2:
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r2, _08019310
- ldr r0, _0801930C
- ldr r1, [r0]
- ldr r3, [r1]
- movs r0, 0x5C
- muls r0, r3
- adds r2, 0x18
- b _0801944C
- .align 2, 0
-_0801930C: .4byte gUnknown_203B210
-_08019310: .4byte gKecleonShopDialogue
-_08019314:
- ldr r1, [r4]
- movs r0, 0x1A
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08019338
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x1C
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019338: .4byte gKecleonShopDialogue
-_0801933C:
- ldr r1, [r4]
- movs r0, 0x1B
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08019360
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x20
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019360: .4byte gKecleonShopDialogue
-_08019364:
- movs r0, 0x4
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08019378
-_08019372:
- movs r0, 0x1
- bl sub_801A8D0
-_08019378:
- movs r0, 0x1
- bl sub_8016C40
- b _080194E8
-_08019380:
- bl sub_801A9E0
- movs r0, 0x1
- bl sub_8016C40
- bl sub_8019660
- ldr r0, _080193B0
- 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, 0x2C]
-_080193A0:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _080194E8
- .align 2, 0
-_080193B0: .4byte gUnknown_203B210
-_080193B4:
- bl sub_8019700
- ldr r0, _080193E4
- ldr r4, _080193E8
- ldr r1, [r4]
- adds r1, 0x1C
- movs r2, 0
- bl sub_8090E14
- ldr r1, _080193EC
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- str r0, [r1]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _080193F0
- ldr r4, [r4]
- ldr r2, [r4]
- movs r0, 0x5C
- muls r0, r2
- adds r1, 0x24
- b _0801948C
- .align 2, 0
-_080193E4: .4byte gUnknown_202DE58
-_080193E8: .4byte gUnknown_203B210
-_080193EC: .4byte gUnknown_202DE30
-_080193F0: .4byte gKecleonShopDialogue
-_080193F4:
- ldr r0, [r4]
- adds r0, 0x1C
- bl sub_801B3C0
- b _080194E8
-_080193FE:
- bl sub_8090A34
- cmp r0, 0
- beq _08019418
- ldr r0, _08019424
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _08019428
- cmp r1, r0
- ble _08019430
-_08019418:
- bl sub_801A928
- ldr r0, _0801942C
- ldr r1, [r0]
- movs r0, 0x1
- b _08019436
- .align 2, 0
-_08019424: .4byte gUnknown_203B460
-_08019428: .4byte 0x0001869e
-_0801942C: .4byte gUnknown_203B210
-_08019430:
- ldr r0, _08019460
- ldr r1, [r0]
- movs r0, 0x18
-_08019436:
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r2, _08019464
- ldr r0, _08019460
- ldr r1, [r0]
- ldr r3, [r1]
- movs r0, 0x5C
- muls r0, r3
- adds r2, 0x2C
-_0801944C:
- adds r0, r2
- ldr r0, [r0]
- adds r1, 0xE4
- ldr r2, [r1]
-_08019454:
- ldr r3, _08019468
-_08019456:
- movs r1, 0
- bl sub_80141B4
- b _080194E8
- .align 2, 0
-_08019460: .4byte gUnknown_203B210
-_08019464: .4byte gKecleonShopDialogue
-_08019468: .4byte 0x0000010d
-_0801946C:
- bl sub_8019700
- ldr r1, _080194B4
- ldr r4, _080194B8
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- str r0, [r1]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _080194BC
- ldr r4, [r4]
- ldr r2, [r4]
- movs r0, 0x5C
- muls r0, r2
- adds r1, 0x28
-_0801948C:
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x34
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- adds r4, 0xE4
- ldr r1, [r4]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
- b _080194E8
- .align 2, 0
-_080194B4: .4byte gUnknown_202DE30
-_080194B8: .4byte gUnknown_203B210
-_080194BC: .4byte gKecleonShopDialogue
-_080194C0:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _080194F0
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x2C
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- ldr r3, _080194F4
- movs r1, 0
- bl sub_80141B4
-_080194E8:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080194F0: .4byte gKecleonShopDialogue
-_080194F4: .4byte 0x0000010d
- thumb_func_end sub_8018E88
-
- thumb_func_start sub_80194F8
-sub_80194F8:
- push {r4-r7,lr}
- ldr r4, _08019580
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08019584
- ldr r0, [r0]
- str r0, [r3, 0x34]
- movs r0, 0x2
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _08019588
- ldr r0, [r0]
- str r0, [r3, 0x3C]
- movs r0, 0x3
- str r0, [r3, 0x40]
- ldr r0, _0801958C
- str r0, [r3, 0x44]
- movs r0, 0x4
- str r0, [r3, 0x48]
- ldr r0, _08019590
- ldr r0, [r0]
- str r0, [r3, 0x4C]
- movs r0, 0x7
- str r0, [r3, 0x50]
- ldr r0, _08019594
- ldr r0, [r0]
- str r0, [r3, 0x54]
- str r1, [r3, 0x58]
- movs r6, 0x5
- str r2, [r3, 0x5C]
- str r1, [r3, 0x60]
- movs r5, 0
- mov r12, r3
- adds r3, 0x38
- mov r2, r12
- adds r2, 0x74
-_0801954C:
- ldrh r0, [r2]
- cmp r0, 0
- bne _0801955C
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x28]
- cmp r1, r0
- beq _080195BA
-_0801955C:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _0801954C
- movs r5, 0
- cmp r5, r6
- bge _080195BA
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x74
- ldrh r0, [r0]
- cmp r0, 0
- bne _08019598
- ldr r0, [r1, 0x38]
- str r0, [r1, 0x28]
- b _080195BA
- .align 2, 0
-_08019580: .4byte gUnknown_203B210
-_08019584: .4byte gUnknown_80D4978
-_08019588: .4byte gUnknown_80D4984
-_0801958C: .4byte gUnknown_80DB8A0
-_08019590: .4byte gUnknown_80D4970
-_08019594: .4byte gUnknown_80D4934
-_08019598:
- adds r5, 0x1
- cmp r5, r6
- bge _080195BA
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x74
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08019598
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x38
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x28]
-_080195BA:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80194F8
-
- thumb_func_start sub_80195C0
-sub_80195C0:
- push {r4-r7,lr}
- ldr r4, _0801962C
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08019630
- ldr r0, [r0]
- str r0, [r3, 0x34]
- movs r0, 0x2
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _08019634
- ldr r0, [r0]
- str r0, [r3, 0x3C]
- movs r0, 0x7
- 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
-_080195FA:
- ldrh r0, [r2]
- cmp r0, 0
- bne _0801960A
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x30]
- cmp r1, r0
- beq _0801965A
-_0801960A:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _080195FA
- movs r5, 0
- cmp r5, r6
- bge _0801965A
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x74
- ldrh r0, [r0]
- cmp r0, 0
- bne _08019638
- ldr r0, [r1, 0x38]
- str r0, [r1, 0x30]
- b _0801965A
- .align 2, 0
-_0801962C: .4byte gUnknown_203B210
-_08019630: .4byte gUnknown_80D4978
-_08019634: .4byte gUnknown_80D4970
-_08019638:
- adds r5, 0x1
- cmp r5, r6
- bge _0801965A
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x74
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08019638
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x38
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x30]
-_0801965A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80195C0
-
- thumb_func_start sub_8019660
-sub_8019660:
- push {r4-r7,lr}
- ldr r4, _080196CC
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _080196D0
- ldr r0, [r0]
- str r0, [r3, 0x34]
- movs r0, 0x3
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _080196D4
- ldr r0, [r0]
- str r0, [r3, 0x3C]
- movs r0, 0x7
- 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
-_0801969A:
- ldrh r0, [r2]
- cmp r0, 0
- bne _080196AA
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x2C]
- cmp r1, r0
- beq _080196FA
-_080196AA:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _0801969A
- movs r5, 0
- cmp r5, r6
- bge _080196FA
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x74
- ldrh r0, [r0]
- cmp r0, 0
- bne _080196D8
- ldr r0, [r1, 0x38]
- str r0, [r1, 0x2C]
- b _080196FA
- .align 2, 0
-_080196CC: .4byte gUnknown_203B210
-_080196D0: .4byte gUnknown_80D4984
-_080196D4: .4byte gUnknown_80D4970
-_080196D8:
- adds r5, 0x1
- cmp r5, r6
- bge _080196FA
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x74
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080196D8
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x38
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x2C]
-_080196FA:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8019660
-
- thumb_func_start sub_8019700
-sub_8019700:
- ldr r0, _08019724
- ldr r1, [r0]
- movs r3, 0
- ldr r0, _08019728
- ldr r0, [r0]
- str r0, [r1, 0x34]
- movs r0, 0x5
- str r0, [r1, 0x38]
- movs r2, 0x1
- ldr r0, _0801972C
- ldr r0, [r0]
- str r0, [r1, 0x3C]
- movs r0, 0x6
- str r0, [r1, 0x40]
- str r3, [r1, 0x44]
- str r2, [r1, 0x48]
- bx lr
- .align 2, 0
-_08019724: .4byte gUnknown_203B210
-_08019728: .4byte gUnknown_80D4920
-_0801972C: .4byte gUnknown_80D4928
- thumb_func_end sub_8019700
-
- thumb_func_start sub_8019730
-sub_8019730:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- beq _08019740
- b _0801984A
-_08019740:
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0801974C
- ldr r0, _08019760
- ldr r0, [r0]
- str r1, [r0, 0x28]
-_0801974C:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x6
- bls _08019756
- b _0801984A
-_08019756:
- lsls r0, 2
- ldr r1, _08019764
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08019760: .4byte gUnknown_203B210
-_08019764: .4byte _08019768
- .align 2, 0
-_08019768:
- .4byte _08019844
- .4byte _08019784
- .4byte _080197AC
- .4byte _080197E4
- .4byte _0801984A
- .4byte _0801984A
- .4byte _0801983C
-_08019784:
- bl sub_8019D8C
- cmp r0, 0
- bne _08019794
- movs r0, 0x5
- bl sub_8018D18
- b _0801984A
-_08019794:
- bl sub_8090A34
- cmp r0, 0x13
- ble _080197A4
- movs r0, 0xA
- bl sub_8018D18
- b _0801984A
-_080197A4:
- movs r0, 0xF
- bl sub_8018D18
- b _0801984A
-_080197AC:
- bl sub_8090A34
- cmp r0, 0
- beq _080197EC
- ldr r0, _080197D8
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _080197FE
- ldr r0, _080197DC
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _080197E0
- cmp r1, r0
- bgt _08019822
- movs r0, 0x17
- bl sub_8018D18
- b _0801984A
- .align 2, 0
-_080197D8: .4byte gUnknown_203B210
-_080197DC: .4byte gUnknown_203B460
-_080197E0: .4byte 0x0001869e
-_080197E4:
- bl sub_8090A34
- cmp r0, 0
- bne _080197F4
-_080197EC:
- movs r0, 0x9
- bl sub_8018D18
- b _0801984A
-_080197F4:
- ldr r0, _08019808
- ldr r1, [r0]
- ldr r0, [r1, 0x14]
- cmp r0, 0
- bne _0801980C
-_080197FE:
- movs r0, 0x8
- bl sub_8018D18
- b _0801984A
- .align 2, 0
-_08019808: .4byte gUnknown_203B210
-_0801980C:
- ldr r0, _0801982C
- ldr r0, [r0]
- movs r2, 0x98
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1, 0x18]
- ldr r0, [r0]
- adds r1, r0
- ldr r0, _08019830
- cmp r1, r0
- ble _08019834
-_08019822:
- movs r0, 0x7
- bl sub_8018D18
- b _0801984A
- .align 2, 0
-_0801982C: .4byte gUnknown_203B460
-_08019830: .4byte 0x0001869f
-_08019834:
- movs r0, 0x1F
- bl sub_8018D18
- b _0801984A
-_0801983C:
- movs r0, 0x2
- bl sub_8018D18
- b _0801984A
-_08019844:
- movs r0, 0x3
- bl sub_8018D18
-_0801984A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8019730
-
- thumb_func_start sub_8019850
-sub_8019850:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080198DE
- ldr r0, [sp]
- cmp r0, 0x5
- beq _08019874
- cmp r0, 0x5
- bgt _0801986E
- cmp r0, 0x1
- beq _080198D8
- b _080198DE
-_0801986E:
- cmp r0, 0x6
- beq _080198D8
- b _080198DE
-_08019874:
- ldr r4, _080198A8
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- negs r0, r0
- bl sub_80913A0
- ldr r1, [r4]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _080198AC
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- bl sub_809185C
- bl sub_8091274
- ldr r0, [r4]
- adds r0, 0x20
- ldrb r0, [r0]
- bl sub_8091840
- bl sub_8091874
- b _080198C8
- .align 2, 0
-_080198A8: .4byte gUnknown_203B210
-_080198AC:
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- bl sub_8091A90
- bl sub_8091274
- ldr r0, [r4]
- adds r0, 0x21
- ldrb r0, [r0]
- bl sub_8091A74
- bl sub_8091AA8
-_080198C8:
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- movs r0, 0x11
- bl sub_8018D18
- b _080198DE
-_080198D8:
- movs r0, 0x10
- bl sub_8018D18
-_080198DE:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8019850
-
- thumb_func_start sub_80198E8
-sub_80198E8:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801993A
- ldr r0, [sp]
- cmp r0, 0x5
- beq _0801990C
- cmp r0, 0x5
- bgt _08019906
- cmp r0, 0x1
- beq _08019934
- b _0801993A
-_08019906:
- cmp r0, 0x6
- beq _08019934
- b _0801993A
-_0801990C:
- ldr r4, _08019930
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- bl sub_80913A0
- ldr r0, [r4]
- ldr r0, [r0, 0x24]
- bl sub_80911F8
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- movs r0, 0x19
- bl sub_8018D18
- b _0801993A
- .align 2, 0
-_08019930: .4byte gUnknown_203B210
-_08019934:
- movs r0, 0x18
- bl sub_8018D18
-_0801993A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80198E8
-
- thumb_func_start sub_8019944
-sub_8019944:
- push {r4,r5,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080199C2
- ldr r0, [sp]
- cmp r0, 0x5
- beq _08019968
- cmp r0, 0x5
- bgt _08019962
- cmp r0, 0x1
- beq _080199BC
- b _080199C2
-_08019962:
- cmp r0, 0x6
- beq _080199BC
- b _080199C2
-_08019968:
- movs r4, 0
- ldr r5, _080199B4
-_0801996C:
- lsls r1, r4, 2
- ldr r0, [r5]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801998E
- ldrb r0, [r2, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- beq _0801998E
- adds r0, r4, 0
- bl sub_8091234
-_0801998E:
- adds r4, 0x1
- cmp r4, 0x13
- ble _0801996C
- bl sub_80910B4
- ldr r0, _080199B8
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- bl sub_80913A0
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- movs r0, 0x20
- bl sub_8018D18
- b _080199C2
- .align 2, 0
-_080199B4: .4byte gUnknown_203B460
-_080199B8: .4byte gUnknown_203B210
-_080199BC:
- movs r0, 0x1
- bl sub_8018D18
-_080199C2:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8019944
-
- thumb_func_start sub_80199CC
-sub_80199CC:
- push {r4,r5,lr}
- ldr r0, _080199E0
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080199E4
- movs r0, 0x1
- bl sub_8019EDC
- b _080199EA
- .align 2, 0
-_080199E0: .4byte gUnknown_203B210
-_080199E4:
- movs r0, 0x1
- bl sub_801A2A8
-_080199EA:
- cmp r0, 0x2
- beq _08019AD4
- cmp r0, 0x2
- bhi _080199FA
- cmp r0, 0x1
- bne _080199F8
- b _08019AF4
-_080199F8:
- b _08019B00
-_080199FA:
- cmp r0, 0x3
- beq _08019A04
- cmp r0, 0x4
- beq _08019A6C
- b _08019B00
-_08019A04:
- ldr r4, _08019A24
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08019A28
- bl sub_8019FB0
- ldr r1, [r4]
- adds r1, 0x20
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x20
- ldrb r0, [r0]
- bl sub_809185C
- b _08019A3C
- .align 2, 0
-_08019A24: .4byte gUnknown_203B210
-_08019A28:
- bl sub_801A37C
- ldr r1, [r4]
- adds r1, 0x21
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x21
- ldrb r0, [r0]
- bl sub_8091A90
-_08019A3C:
- adds r5, r0, 0
- ldr r4, _08019A68
- ldr r0, [r4]
- adds r0, 0x1C
- ldrb r1, [r5]
- movs r2, 0
- bl sub_8090A8C
- ldr r1, [r4]
- ldrb r0, [r5, 0x1]
- strb r0, [r1, 0x1D]
- ldr r0, [r4]
- adds r0, 0x1C
- bl sub_8090C7C
- ldr r1, [r4]
- str r0, [r1, 0x10]
- movs r0, 0x14
- bl sub_8018D18
- b _08019B00
- .align 2, 0
-_08019A68: .4byte gUnknown_203B210
-_08019A6C:
- ldr r4, _08019A8C
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08019A90
- bl sub_8019FB0
- ldr r1, [r4]
- adds r1, 0x20
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x20
- ldrb r0, [r0]
- bl sub_809185C
- b _08019AA4
- .align 2, 0
-_08019A8C: .4byte gUnknown_203B210
-_08019A90:
- bl sub_801A37C
- ldr r1, [r4]
- adds r1, 0x21
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x21
- ldrb r0, [r0]
- bl sub_8091A90
-_08019AA4:
- adds r5, r0, 0
- ldr r4, _08019AD0
- ldr r0, [r4]
- adds r0, 0x1C
- ldrb r1, [r5]
- movs r2, 0
- bl sub_8090A8C
- ldr r1, [r4]
- ldrb r0, [r5, 0x1]
- strb r0, [r1, 0x1D]
- ldr r0, [r4]
- adds r0, 0x1C
- bl sub_8090C7C
- ldr r1, [r4]
- str r0, [r1, 0x10]
- movs r0, 0x15
- bl sub_8018D18
- b _08019B00
- .align 2, 0
-_08019AD0: .4byte gUnknown_203B210
-_08019AD4:
- ldr r0, _08019AE4
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08019AE8
- bl sub_801A010
- b _08019AEC
- .align 2, 0
-_08019AE4: .4byte gUnknown_203B210
-_08019AE8:
- bl sub_801A3DC
-_08019AEC:
- movs r0, 0x1
- bl sub_8018D18
- b _08019B00
-_08019AF4:
- movs r0, 0
- bl sub_801AD34
- movs r0, 0x1
- bl sub_8016C40
-_08019B00:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80199CC
-
- thumb_func_start sub_8019B08
-sub_8019B08:
- push {r4,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _08019BB0
- lsls r0, 2
- ldr r1, _08019B20
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08019B20: .4byte _08019B24
- .align 2, 0
-_08019B24:
- .4byte _08019BB6
- .4byte _08019BB0
- .4byte _08019BA4
- .4byte _08019B38
- .4byte _08019B6C
-_08019B38:
- bl sub_801A8AC
- ldr r4, _08019B64
- ldr r2, [r4]
- str r0, [r2, 0x24]
- ldr r1, _08019B68
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- adds r2, 0x1C
- adds r0, r2, 0
- bl sub_8090CCC
- ldr r1, [r4]
- str r0, [r1, 0x10]
- movs r0, 0x1C
- bl sub_8018D18
- b _08019BB6
- .align 2, 0
-_08019B64: .4byte gUnknown_203B210
-_08019B68: .4byte gUnknown_203B460
-_08019B6C:
- bl sub_801A8AC
- ldr r4, _08019B9C
- ldr r2, [r4]
- str r0, [r2, 0x24]
- ldr r1, _08019BA0
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- adds r2, 0x1C
- adds r0, r2, 0
- bl sub_8090CCC
- ldr r1, [r4]
- str r0, [r1, 0x10]
- movs r0, 0
- bl sub_8099690
- movs r0, 0x1D
- bl sub_8018D18
- b _08019BB6
- .align 2, 0
-_08019B9C: .4byte gUnknown_203B210
-_08019BA0: .4byte gUnknown_203B460
-_08019BA4:
- bl sub_801A928
- movs r0, 0x1
- bl sub_8018D18
- b _08019BB6
-_08019BB0:
- movs r0, 0x1
- bl sub_8016C40
-_08019BB6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8019B08
-
- thumb_func_start sub_8019BBC
-sub_8019BBC:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r0, _08019BD8
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08019BDC
- movs r0, 0
- bl sub_8019EDC
- b _08019BE2
- .align 2, 0
-_08019BD8: .4byte gUnknown_203B210
-_08019BDC:
- movs r0, 0
- bl sub_801A2A8
-_08019BE2:
- ldr r4, _08019C18
- ldr r0, [r4]
- adds r0, 0x84
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08019C06
- ldr r0, [r4]
- adds r0, 0x84
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08019C06
- ldr r0, [r4]
- str r1, [r0, 0x30]
-_08019C06:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08019C22
- cmp r0, 0x2
- bgt _08019C1C
- cmp r0, 0x1
- beq _08019C68
- b _08019C6E
- .align 2, 0
-_08019C18: .4byte gUnknown_203B210
-_08019C1C:
- cmp r0, 0x7
- beq _08019C60
- b _08019C6E
-_08019C22:
- ldr r0, _08019C3C
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- cmp r1, 0
- bne _08019C40
- movs r0, 0x6
- bl sub_8018D18
- b _08019C6E
- .align 2, 0
-_08019C3C: .4byte gUnknown_203B460
-_08019C40:
- ldr r0, _08019C54
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- cmp r0, r1
- ble _08019C58
- movs r0, 0xC
- bl sub_8018D18
- b _08019C6E
- .align 2, 0
-_08019C54: .4byte gUnknown_203B210
-_08019C58:
- movs r0, 0x16
- bl sub_8018D18
- b _08019C6E
-_08019C60:
- movs r0, 0x15
- bl sub_8018D18
- b _08019C6E
-_08019C68:
- movs r0, 0x13
- bl sub_8018D18
-_08019C6E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8019BBC
-
- thumb_func_start sub_8019C78
-sub_8019C78:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _08019CB8
- ldr r0, [r4]
- adds r0, 0x84
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08019CA8
- ldr r0, [r4]
- adds r0, 0x84
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08019CA8
- ldr r0, [r4]
- str r1, [r0, 0x2C]
-_08019CA8:
- ldr r0, [sp]
- cmp r0, 0x3
- beq _08019CC2
- cmp r0, 0x3
- bgt _08019CBC
- cmp r0, 0x1
- beq _08019D22
- b _08019D28
- .align 2, 0
-_08019CB8: .4byte gUnknown_203B210
-_08019CBC:
- cmp r0, 0x7
- beq _08019D14
- b _08019D28
-_08019CC2:
- movs r0, 0
- bl sub_8099690
- ldr r4, _08019CE0
- ldr r0, [r4]
- ldrb r0, [r0, 0x1E]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- bne _08019CE4
- movs r0, 0xD
- bl sub_8018D18
- b _08019D28
- .align 2, 0
-_08019CE0: .4byte gUnknown_203B210
-_08019CE4:
- ldr r1, [r4]
- ldr r0, _08019D04
- ldr r0, [r0]
- movs r2, 0x98
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1, 0x10]
- ldr r0, [r0]
- adds r1, r0
- ldr r0, _08019D08
- cmp r1, r0
- ble _08019D0C
- movs r0, 0xE
- bl sub_8018D18
- b _08019D28
- .align 2, 0
-_08019D04: .4byte gUnknown_203B460
-_08019D08: .4byte 0x0001869f
-_08019D0C:
- movs r0, 0x1E
- bl sub_8018D18
- b _08019D28
-_08019D14:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x1D
- bl sub_8018D18
- b _08019D28
-_08019D22:
- movs r0, 0x1B
- bl sub_8018D18
-_08019D28:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8019C78
-
- thumb_func_start sub_8019D30
-sub_8019D30:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08019D48
- cmp r0, 0x3
- bhi _08019D48
- bl sub_801B450
- movs r0, 0x13
- bl sub_8018D18
-_08019D48:
- pop {r0}
- bx r0
- thumb_func_end sub_8019D30
-
- thumb_func_start sub_8019D4C
-sub_8019D4C:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08019D64
- cmp r0, 0x3
- bhi _08019D64
- bl sub_801B450
- movs r0, 0x1B
- bl sub_8018D18
-_08019D64:
- pop {r0}
- bx r0
- thumb_func_end sub_8019D4C
-
- thumb_func_start sub_8019D68
-sub_8019D68:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08019D80
- ldr r0, _08019D88
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- bl sub_8018D18
-_08019D80:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08019D88: .4byte gUnknown_203B210
- thumb_func_end sub_8019D68
-
- thumb_func_start sub_8019D8C
-sub_8019D8C:
- push {lr}
- ldr r0, _08019DA0
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _08019DA4
- bl sub_8091A48
- b _08019DA8
- .align 2, 0
-_08019DA0: .4byte gUnknown_203B210
-_08019DA4:
- bl sub_8091814
-_08019DA8:
- pop {r1}
- bx r1
- thumb_func_end sub_8019D8C
-
- thumb_func_start sub_8019DAC
-sub_8019DAC:
- push {r4,r5,lr}
- ldr r0, _08019DFC
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x14]
- str r0, [r1, 0x18]
- movs r5, 0
-_08019DBA:
- ldr r0, _08019E00
- lsls r1, r5, 2
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08019DEE
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- beq _08019DEE
- adds r0, r4, 0
- bl sub_8090CCC
- ldr r1, _08019DFC
- ldr r2, [r1]
- ldr r1, [r2, 0x18]
- adds r1, r0
- str r1, [r2, 0x18]
- ldr r0, [r2, 0x14]
- adds r0, 0x1
- str r0, [r2, 0x14]
-_08019DEE:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08019DBA
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08019DFC: .4byte gUnknown_203B210
-_08019E00: .4byte gUnknown_203B460
- thumb_func_end sub_8019DAC
-
- thumb_func_start sub_8019E04
-sub_8019E04:
- push {lr}
- adds r2, r0, 0
- ldr r0, _08019E20
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _08019E2A
- cmp r2, 0x1
- bne _08019E24
- adds r0, r1, 0
- adds r0, 0xE0
- strb r2, [r0]
- b _08019E3A
- .align 2, 0
-_08019E20: .4byte gUnknown_203B210
-_08019E24:
- adds r1, 0xE0
- movs r0, 0
- b _08019E38
-_08019E2A:
- cmp r2, 0x1
- bne _08019E34
- adds r1, 0xE0
- movs r0, 0x7
- b _08019E38
-_08019E34:
- adds r1, 0xE0
- movs r0, 0x6
-_08019E38:
- strb r0, [r1]
-_08019E3A:
- pop {r0}
- bx r0
- thumb_func_end sub_8019E04
-
- thumb_func_start sub_8019E40
-sub_8019E40:
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_8091814
- cmp r0, 0
- beq _08019ED4
- ldr r5, _08019EC8
- movs r0, 0xA0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- str r6, [r0, 0x34]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x3C
- adds r1, r0, r1
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _08019ECC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r5]
- ldr r1, [r0, 0x38]
- adds r0, 0x9C
- str r0, [r1, 0x14]
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- bl sub_8091814
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_8013818
- ldr r0, [r5]
- ldr r1, _08019ED0
- ldrh r1, [r1]
- strh r1, [r0, 0x18]
- bl sub_8013984
- bl sub_801A064
- bl sub_801A0D8
- movs r0, 0x1
- b _08019ED6
- .align 2, 0
-_08019EC8: .4byte gUnknown_203B214
-_08019ECC: .4byte gUnknown_80DB8CC
-_08019ED0: .4byte gUnknown_203B218
-_08019ED4:
- movs r0, 0
-_08019ED6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8019E40
-
- thumb_func_start sub_8019EDC
-sub_8019EDC:
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- bne _08019EF8
- ldr r0, _08019EF4
- ldr r0, [r0]
- bl sub_8013660
- movs r0, 0
- b _08019FAA
- .align 2, 0
-_08019EF4: .4byte gUnknown_203B214
-_08019EF8:
- ldr r0, _08019F10
- ldr r0, [r0]
- bl GetKeyPress
- cmp r0, 0x2
- beq _08019F1A
- cmp r0, 0x2
- bgt _08019F14
- cmp r0, 0x1
- beq _08019F24
- b _08019F88
- .align 2, 0
-_08019F10: .4byte gUnknown_203B214
-_08019F14:
- cmp r0, 0x4
- beq _08019F7E
- b _08019F88
-_08019F1A:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _08019FAA
-_08019F24:
- bl sub_8019FB0
- lsls r0, 24
- lsrs r0, 24
- bl sub_809185C
- ldrb r2, [r0]
- lsls r2, 16
- ldr r3, _08019F68
- ldr r1, [sp]
- ands r1, r3
- orrs r1, r2
- str r1, [sp]
- ldrb r0, [r0, 0x1]
- lsls r0, 8
- ldr r2, _08019F6C
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- bl sub_8090C7C
- ldr r1, _08019F70
- ldr r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- cmp r0, r1
- ble _08019F74
- movs r0, 0x2
- bl PlayMenuSoundEffect
- b _08019F7A
- .align 2, 0
-_08019F68: .4byte 0xff00ffff
-_08019F6C: .4byte 0xffff00ff
-_08019F70: .4byte gUnknown_203B460
-_08019F74:
- movs r0, 0
- bl PlayMenuSoundEffect
-_08019F7A:
- movs r0, 0x3
- b _08019FAA
-_08019F7E:
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _08019FAA
-_08019F88:
- ldr r0, _08019F9C
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _08019FA0
- movs r0, 0
- b _08019FAA
- .align 2, 0
-_08019F9C: .4byte gUnknown_203B214
-_08019FA0:
- bl sub_801A064
- bl sub_801A0D8
- movs r0, 0x1
-_08019FAA:
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8019EDC
-
- thumb_func_start sub_8019FB0
-sub_8019FB0:
- ldr r0, _08019FC8
- ldr r1, [r0]
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- movs r3, 0x1C
- ldrsh r0, [r1, r3]
- muls r0, r2
- ldrb r1, [r1, 0x18]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .align 2, 0
-_08019FC8: .4byte gUnknown_203B214
- thumb_func_end sub_8019FB0
-
- thumb_func_start sub_8019FCC
-sub_8019FCC:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetUnusedInputStruct
- ldr r5, _0801A00C
- ldr r0, [r5]
- adds r0, 0x3C
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_8091814
- adds r1, r0, 0
- ldr r0, [r5]
- strh r1, [r0, 0x22]
- bl sub_8013984
- bl sub_801A064
- bl sub_801A0D8
- cmp r4, 0
- beq _0801A006
- ldr r0, [r5]
- bl AddMenuCursorSprite
-_0801A006:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A00C: .4byte gUnknown_203B214
- thumb_func_end sub_8019FCC
-
- thumb_func_start sub_801A010
-sub_801A010:
- push {r4,r5,lr}
- ldr r4, _0801A058
- ldr r2, [r4]
- cmp r2, 0
- beq _0801A050
- ldr r1, _0801A05C
- ldrh r0, [r2, 0x18]
- strh r0, [r1]
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801A060
- 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]
-_0801A050:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A058: .4byte gUnknown_203B214
-_0801A05C: .4byte gUnknown_203B218
-_0801A060: .4byte gUnknown_80DB8B4
- thumb_func_end sub_801A010
-
- thumb_func_start sub_801A064
-sub_801A064:
- push {r4,lr}
- ldr r4, _0801A0D4
- 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, 0xA
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9F
- strb r2, [r0]
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x34]
- lsls r1, r3, 1
- adds r1, r3
- 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
-_0801A0D4: .4byte gUnknown_203B214
- thumb_func_end sub_801A064
-
- thumb_func_start sub_801A0D8
-sub_801A0D8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xB4
- ldr r4, _0801A1A4
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r1, [r4]
- movs r2, 0x1E
- ldrsh r0, [r1, r2]
- lsls r0, 3
- adds r0, 0xA
- ldr r2, _0801A1A8
- ldr r3, [r1, 0x34]
- movs r1, 0
- str r1, [sp]
- bl xxx_call_draw_string
- movs r6, 0
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r6, r0
- bge _0801A1EC
- adds r7, r4, 0
- add r4, sp, 0xB0
- mov r9, r6
- add r5, sp, 0x54
- add r2, sp, 0x60
- mov r8, r2
-_0801A122:
- ldr r0, [r7]
- movs r2, 0x1E
- ldrsh r1, [r0, r2]
- movs r2, 0x1C
- ldrsh r0, [r0, r2]
- muls r0, r1
- adds r0, r6
- lsls r0, 24
- lsrs r0, 24
- bl sub_809185C
- ldrb r2, [r0]
- lsls r2, 16
- ldr r3, _0801A1AC
- ldr r1, [r4]
- ands r1, r3
- orrs r1, r2
- str r1, [r4]
- ldrb r2, [r0, 0x1]
- lsls r2, 8
- ldr r0, _0801A1B0
- ands r1, r0
- orrs r1, r2
- ldr r0, _0801A1B4
- ands r1, r0
- movs r0, 0x3
- orrs r1, r0
- str r1, [r4]
- movs r1, 0x1
- str r1, [sp, 0x54]
- mov r0, r9
- strb r0, [r5, 0x4]
- movs r0, 0x58
- strh r0, [r5, 0x6]
- strb r1, [r5, 0x8]
- add r0, sp, 0x4
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8090E14
- adds r0, r4, 0
- bl sub_8090C7C
- ldr r1, _0801A1B8
- ldr r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- cmp r0, r1
- bgt _0801A1BC
- ldr r0, [r7]
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r7]
- ldr r3, [r0, 0x34]
- mov r0, r9
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0801A1E0
- .align 2, 0
-_0801A1A4: .4byte gUnknown_203B214
-_0801A1A8: .4byte gUnknown_80DB8E4
-_0801A1AC: .4byte 0xff00ffff
-_0801A1B0: .4byte 0xffff00ff
-_0801A1B4: .4byte 0xffffff00
-_0801A1B8: .4byte gUnknown_203B460
-_0801A1BC:
- mov r0, r8
- ldr r1, _0801A204
- add r2, sp, 0x4
- bl sub_800D158
- ldr r0, [r7]
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r7]
- ldr r3, [r0, 0x34]
- mov r2, r9
- str r2, [sp]
- movs r0, 0x8
- mov r2, r8
- bl xxx_call_draw_string
-_0801A1E0:
- adds r6, 0x1
- ldr r0, [r7]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r6, r0
- blt _0801A122
-_0801A1EC:
- ldr r0, _0801A208
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0xB4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A204: .4byte gUnknown_80DB8EC
-_0801A208: .4byte gUnknown_203B214
- thumb_func_end sub_801A0D8
-
- thumb_func_start sub_801A20C
-sub_801A20C:
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_8091A48
- cmp r0, 0
- beq _0801A2A0
- ldr r5, _0801A294
- movs r0, 0xA0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- str r6, [r0, 0x34]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x3C
- adds r1, r0, r1
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0801A298
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r5]
- ldr r1, [r0, 0x38]
- adds r0, 0x9C
- str r0, [r1, 0x14]
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- bl sub_8091A48
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_8013818
- ldr r0, [r5]
- ldr r1, _0801A29C
- ldrh r1, [r1]
- strh r1, [r0, 0x18]
- bl sub_8013984
- bl sub_801A430
- bl sub_801A4A4
- movs r0, 0x1
- b _0801A2A2
- .align 2, 0
-_0801A294: .4byte gUnknown_203B21C
-_0801A298: .4byte gUnknown_80DB914
-_0801A29C: .4byte gUnknown_203B220
-_0801A2A0:
- movs r0, 0
-_0801A2A2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801A20C
-
- thumb_func_start sub_801A2A8
-sub_801A2A8:
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- bne _0801A2C4
- ldr r0, _0801A2C0
- ldr r0, [r0]
- bl sub_8013660
- movs r0, 0
- b _0801A376
- .align 2, 0
-_0801A2C0: .4byte gUnknown_203B21C
-_0801A2C4:
- ldr r0, _0801A2DC
- ldr r0, [r0]
- bl GetKeyPress
- cmp r0, 0x2
- beq _0801A2E6
- cmp r0, 0x2
- bgt _0801A2E0
- cmp r0, 0x1
- beq _0801A2F0
- b _0801A354
- .align 2, 0
-_0801A2DC: .4byte gUnknown_203B21C
-_0801A2E0:
- cmp r0, 0x4
- beq _0801A34A
- b _0801A354
-_0801A2E6:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0801A376
-_0801A2F0:
- bl sub_801A37C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091A90
- ldrb r2, [r0]
- lsls r2, 16
- ldr r3, _0801A334
- ldr r1, [sp]
- ands r1, r3
- orrs r1, r2
- str r1, [sp]
- ldrb r0, [r0, 0x1]
- lsls r0, 8
- ldr r2, _0801A338
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- bl sub_8090C7C
- ldr r1, _0801A33C
- ldr r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- cmp r0, r1
- ble _0801A340
- movs r0, 0x2
- bl PlayMenuSoundEffect
- b _0801A346
- .align 2, 0
-_0801A334: .4byte 0xff00ffff
-_0801A338: .4byte 0xffff00ff
-_0801A33C: .4byte gUnknown_203B460
-_0801A340:
- movs r0, 0
- bl PlayMenuSoundEffect
-_0801A346:
- movs r0, 0x3
- b _0801A376
-_0801A34A:
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _0801A376
-_0801A354:
- ldr r0, _0801A368
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801A36C
- movs r0, 0
- b _0801A376
- .align 2, 0
-_0801A368: .4byte gUnknown_203B21C
-_0801A36C:
- bl sub_801A430
- bl sub_801A4A4
- movs r0, 0x1
-_0801A376:
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_801A2A8
-
- thumb_func_start sub_801A37C
-sub_801A37C:
- ldr r0, _0801A394
- ldr r1, [r0]
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- movs r3, 0x1C
- ldrsh r0, [r1, r3]
- muls r0, r2
- ldrb r1, [r1, 0x18]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .align 2, 0
-_0801A394: .4byte gUnknown_203B21C
- thumb_func_end sub_801A37C
-
- thumb_func_start sub_801A398
-sub_801A398:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetUnusedInputStruct
- ldr r5, _0801A3D8
- ldr r0, [r5]
- adds r0, 0x3C
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_8091A48
- adds r1, r0, 0
- ldr r0, [r5]
- strh r1, [r0, 0x22]
- bl sub_8013984
- bl sub_801A430
- bl sub_801A4A4
- cmp r4, 0
- beq _0801A3D2
- ldr r0, [r5]
- bl AddMenuCursorSprite
-_0801A3D2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A3D8: .4byte gUnknown_203B21C
- thumb_func_end sub_801A398
-
- thumb_func_start sub_801A3DC
-sub_801A3DC:
- push {r4,r5,lr}
- ldr r4, _0801A424
- ldr r2, [r4]
- cmp r2, 0
- beq _0801A41C
- ldr r1, _0801A428
- ldrh r0, [r2, 0x18]
- strh r0, [r1]
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801A42C
- 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]
-_0801A41C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A424: .4byte gUnknown_203B21C
-_0801A428: .4byte gUnknown_203B220
-_0801A42C: .4byte gUnknown_80DB8FC
- thumb_func_end sub_801A3DC
-
- thumb_func_start sub_801A430
-sub_801A430:
- push {r4,lr}
- ldr r4, _0801A4A0
- 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, 0xA
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9F
- strb r2, [r0]
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x34]
- lsls r1, r3, 1
- adds r1, r3
- 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
-_0801A4A0: .4byte gUnknown_203B21C
- thumb_func_end sub_801A430
-
- thumb_func_start sub_801A4A4
-sub_801A4A4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xB4
- ldr r4, _0801A570
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r1, [r4]
- movs r2, 0x1E
- ldrsh r0, [r1, r2]
- lsls r0, 3
- adds r0, 0xA
- ldr r2, _0801A574
- ldr r3, [r1, 0x34]
- movs r1, 0
- str r1, [sp]
- bl xxx_call_draw_string
- movs r6, 0
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r6, r0
- bge _0801A5B8
- adds r7, r4, 0
- add r4, sp, 0xB0
- mov r9, r6
- add r5, sp, 0x54
- add r2, sp, 0x60
- mov r8, r2
-_0801A4EE:
- ldr r0, [r7]
- movs r2, 0x1E
- ldrsh r1, [r0, r2]
- movs r2, 0x1C
- ldrsh r0, [r0, r2]
- muls r0, r1
- adds r0, r6
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091A90
- ldrb r2, [r0]
- lsls r2, 16
- ldr r3, _0801A578
- ldr r1, [r4]
- ands r1, r3
- orrs r1, r2
- str r1, [r4]
- ldrb r2, [r0, 0x1]
- lsls r2, 8
- ldr r0, _0801A57C
- ands r1, r0
- orrs r1, r2
- ldr r0, _0801A580
- ands r1, r0
- movs r0, 0x3
- orrs r1, r0
- str r1, [r4]
- movs r1, 0x1
- str r1, [sp, 0x54]
- mov r0, r9
- strb r0, [r5, 0x4]
- movs r0, 0x58
- strh r0, [r5, 0x6]
- strb r1, [r5, 0x8]
- add r0, sp, 0x4
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8090E14
- adds r0, r4, 0
- bl sub_8090C7C
- ldr r1, _0801A584
- ldr r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- cmp r0, r1
- bgt _0801A588
- ldr r0, [r7]
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r7]
- ldr r3, [r0, 0x34]
- mov r0, r9
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0801A5AC
- .align 2, 0
-_0801A570: .4byte gUnknown_203B21C
-_0801A574: .4byte gUnknown_80DB92C
-_0801A578: .4byte 0xff00ffff
-_0801A57C: .4byte 0xffff00ff
-_0801A580: .4byte 0xffffff00
-_0801A584: .4byte gUnknown_203B460
-_0801A588:
- mov r0, r8
- ldr r1, _0801A5D0
- add r2, sp, 0x4
- bl sub_800D158
- ldr r0, [r7]
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r7]
- ldr r3, [r0, 0x34]
- mov r2, r9
- str r2, [sp]
- movs r0, 0x8
- mov r2, r8
- bl xxx_call_draw_string
-_0801A5AC:
- adds r6, 0x1
- ldr r0, [r7]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r6, r0
- blt _0801A4EE
-_0801A5B8:
- ldr r0, _0801A5D4
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0xB4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A5D0: .4byte gUnknown_80DB934
-_0801A5D4: .4byte gUnknown_203B21C
- thumb_func_end sub_801A4A4
-
- thumb_func_start sub_801A5D8
-sub_801A5D8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- mov r8, r3
- bl sub_8090A34
- cmp r0, 0
- bne _0801A5F2
- movs r0, 0
- b _0801A6CC
-_0801A5F2:
- ldr r5, _0801A6D8
- ldr r0, [r5]
- cmp r0, 0
- bne _0801A604
- movs r0, 0xF4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
-_0801A604:
- ldr r0, [r5]
- str r4, [r0]
- bl sub_80910B4
- bl sub_801AE84
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x88
- str r6, [r1]
- adds r2, r0, 0
- adds r2, 0x8C
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x90
- adds r1, r0, r1
- str r1, [r2]
- adds r0, 0x90
- bl sub_8006518
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x90
- ldr r0, _0801A6DC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x8C
- ldr r1, [r0]
- adds r0, 0x64
- str r0, [r1, 0x14]
- cmp r7, 0
- beq _0801A66E
- subs r0, 0x68
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r2, 0
- adds r1, 0x98
- adds r1, r0
- ldr r0, [r7]
- str r0, [r1]
-_0801A66E:
- ldr r0, [r5]
- adds r0, 0x8C
- ldr r0, [r0]
- mov r1, r8
- bl sub_8012D08
- movs r0, 0x1
- bl sub_8099690
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, 0x90
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- adds r4, 0x54
- bl sub_8090A34
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r8
- adds r3, r6, 0
- bl sub_8013818
- ldr r2, [r5]
- ldr r0, _0801A6E0
- ldrh r1, [r0]
- adds r0, r2, 0
- adds r0, 0x6C
- strh r1, [r0]
- ldr r0, _0801A6E4
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x72
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x54
- bl sub_8013984
- bl sub_801A998
- bl sub_801A9E0
- movs r0, 0x1
-_0801A6CC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801A6D8: .4byte gUnknown_203B224
-_0801A6DC: .4byte gUnknown_80DB95C
-_0801A6E0: .4byte gUnknown_203B228
-_0801A6E4: .4byte gUnknown_203B22A
- thumb_func_end sub_801A5D8
-
- thumb_func_start sub_801A6E8
-sub_801A6E8:
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- bne _0801A704
- ldr r0, _0801A700
- ldr r0, [r0]
- adds r0, 0x54
- bl sub_8013660
- movs r0, 0
- b _0801A8A2
- .align 2, 0
-_0801A700: .4byte gUnknown_203B224
-_0801A704:
- ldr r0, _0801A720
- ldr r0, [r0]
- adds r0, 0x54
- bl GetKeyPress
- subs r0, 0x1
- cmp r0, 0x5
- bls _0801A716
- b _0801A87C
-_0801A716:
- lsls r0, 2
- ldr r1, _0801A724
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801A720: .4byte gUnknown_203B224
-_0801A724: .4byte _0801A728
- .align 2, 0
-_0801A728:
- .4byte _0801A74A
- .4byte _0801A740
- .4byte _0801A864
- .4byte _0801A806
- .4byte _0801A810
- .4byte _0801A810
-_0801A740:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0801A8A2
-_0801A74A:
- ldr r1, _0801A760
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x5
- bhi _0801A802
- lsls r0, 2
- ldr r1, _0801A764
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801A760: .4byte gUnknown_203B224
-_0801A764: .4byte _0801A768
- .align 2, 0
-_0801A768:
- .4byte _0801A780
- .4byte _0801A780
- .4byte _0801A780
- .4byte _0801A794
- .4byte _0801A7AC
- .4byte _0801A7FC
-_0801A780:
- ldr r4, [r4]
- bl sub_801A8AC
- lsls r0, 2
- adds r4, 0x4
- adds r4, r0
- ldr r0, [r4]
- cmp r0, 0
- bne _0801A7F4
- b _0801A7E2
-_0801A794:
- bl sub_801AEA8
- cmp r0, 0
- bne _0801A7E2
- bl sub_801A8AC
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- bne _0801A7E2
- b _0801A7F4
-_0801A7AC:
- ldr r5, _0801A7EC
- ldr r4, [r5]
- bl sub_801A8AC
- lsls r0, 2
- adds r4, r0
- ldr r0, [r4]
- str r0, [sp]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- beq _0801A7F4
- mov r0, sp
- bl sub_8090CCC
- ldr r1, [r5]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- adds r0, r1
- ldr r1, _0801A7F0
- cmp r0, r1
- bgt _0801A7F4
-_0801A7E2:
- movs r0, 0
- bl PlayMenuSoundEffect
- b _0801A802
- .align 2, 0
-_0801A7EC: .4byte gUnknown_203B460
-_0801A7F0: .4byte 0x0001869f
-_0801A7F4:
- movs r0, 0x2
- bl PlayMenuSoundEffect
- b _0801A802
-_0801A7FC:
- movs r0, 0
- bl PlayMenuSoundEffect
-_0801A802:
- movs r0, 0x3
- b _0801A8A2
-_0801A806:
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _0801A8A2
-_0801A810:
- ldr r4, _0801A858
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0801A87C
- bl sub_801A8AC
- adds r1, r0, 0
- ldr r0, [r4]
- lsls r5, r1, 2
- adds r0, 0x4
- adds r0, r5
- ldr r0, [r0]
- cmp r0, 0
- bne _0801A83A
- adds r0, r1, 0
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- beq _0801A85C
-_0801A83A:
- movs r0, 0x6
- bl PlayMenuSoundEffect
- ldr r0, [r4]
- adds r2, r0, 0x4
- adds r2, r5
- ldr r1, [r2]
- movs r3, 0x1
- eors r1, r3
- str r1, [r2]
- adds r0, 0x54
- movs r1, 0
- bl sub_80138B8
- b _0801A89C
- .align 2, 0
-_0801A858: .4byte gUnknown_203B224
-_0801A85C:
- movs r0, 0x2
- bl PlayMenuSoundEffect
- b _0801A87C
-_0801A864:
- ldr r0, _0801A894
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x2
- beq _0801A87C
- movs r0, 0x5
- bl PlayMenuSoundEffect
- bl sub_801AEF8
- bl sub_801A9E0
-_0801A87C:
- ldr r0, _0801A894
- ldr r0, [r0]
- adds r0, 0x54
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801A898
- movs r0, 0
- b _0801A8A2
- .align 2, 0
-_0801A894: .4byte gUnknown_203B224
-_0801A898:
- bl sub_801A998
-_0801A89C:
- bl sub_801A9E0
- movs r0, 0x1
-_0801A8A2:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801A6E8
-
- thumb_func_start sub_801A8AC
-sub_801A8AC:
- ldr r0, _0801A8CC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x72
- 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, 0x6C
- movs r2, 0
- ldrsh r1, [r1, r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_0801A8CC: .4byte gUnknown_203B224
- thumb_func_end sub_801A8AC
-
- thumb_func_start sub_801A8D0
-sub_801A8D0:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl sub_8099690
- bl ResetUnusedInputStruct
- ldr r5, _0801A924
- ldr r0, [r5]
- adds r0, 0x90
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_80910B4
- bl sub_8090A34
- adds r1, r0, 0
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x76
- strh r1, [r2]
- adds r0, 0x54
- bl sub_8013984
- bl sub_801A998
- bl sub_801A9E0
- cmp r4, 0
- beq _0801A91C
- ldr r0, [r5]
- adds r0, 0x54
- bl AddMenuCursorSprite
-_0801A91C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A924: .4byte gUnknown_203B224
- thumb_func_end sub_801A8D0
-
- thumb_func_start sub_801A928
-sub_801A928:
- push {r4,r5,lr}
- ldr r4, _0801A988
- ldr r2, [r4]
- cmp r2, 0
- beq _0801A980
- ldr r1, _0801A98C
- adds r0, r2, 0
- adds r0, 0x6C
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _0801A990
- adds r0, r2, 0
- adds r0, 0x72
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x88
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x90
- ldr r0, _0801A994
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- movs r0, 0
- bl sub_8099690
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x90
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801A980:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A988: .4byte gUnknown_203B224
-_0801A98C: .4byte gUnknown_203B228
-_0801A990: .4byte gUnknown_203B22A
-_0801A994: .4byte gUnknown_80DB944
- thumb_func_end sub_801A928
-
- thumb_func_start sub_801A998
-sub_801A998:
- push {r4,lr}
- ldr r4, _0801A9DC
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x74
- ldrh r1, [r1]
- adds r0, 0xF0
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x72
- ldrh r1, [r1]
- adds r0, 0xF1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xF2
- movs r1, 0xB
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xF3
- strb r2, [r0]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x90
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A9DC: .4byte gUnknown_203B224
- thumb_func_end sub_801A998
-
- thumb_func_start sub_801A9E0
-sub_801A9E0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xCC
- ldr r4, _0801AA2C
- ldr r0, [r4]
- adds r0, 0x88
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, 0x88
- ldr r0, [r0]
- bl sub_80073B8
- ldr r4, [r4]
- adds r1, r4, 0
- adds r1, 0x72
- movs r2, 0
- ldrsh r0, [r1, r2]
- lsls r0, 3
- adds r5, r0, 0
- adds r5, 0xA
- movs r3, 0
- ldrsh r1, [r1, r3]
- cmp r1, 0
- bne _0801AA34
- ldr r2, _0801AA30
- adds r0, r4, 0
- adds r0, 0x88
- ldr r3, [r0]
- str r1, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl xxx_call_draw_string
- b _0801AA48
- .align 2, 0
-_0801AA2C: .4byte gUnknown_203B224
-_0801AA30: .4byte gTeamToolboxA
-_0801AA34:
- ldr r2, _0801AA58
- adds r0, r4, 0
- adds r0, 0x88
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl xxx_call_draw_string
-_0801AA48:
- movs r7, 0
- ldr r1, _0801AA5C
- ldr r0, [r1]
- adds r0, 0x6E
- movs r4, 0
- ldrsh r0, [r0, r4]
- b _0801AD0A
- .align 2, 0
-_0801AA58: .4byte gTeamToolboxB
-_0801AA5C: .4byte gUnknown_203B224
-_0801AA60:
- ldr r2, [r1]
- adds r0, r2, 0
- adds r0, 0x72
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r4, 0
- ldrsh r0, [r0, r4]
- muls r0, r1
- adds r0, r7
- mov r8, r0
- ldr r0, _0801AA9C
- ldr r0, [r0]
- mov r3, r8
- lsls r1, r3, 2
- adds r0, r1
- ldr r0, [r0]
- add r1, sp, 0xC8
- str r0, [r1]
- ldr r0, [r2]
- adds r4, r1, 0
- cmp r0, 0x5
- bls _0801AA90
- b _0801ACC4
-_0801AA90:
- lsls r0, 2
- ldr r1, _0801AAA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801AA9C: .4byte gUnknown_203B460
-_0801AAA0: .4byte _0801AAA4
- .align 2, 0
-_0801AAA4:
- .4byte _0801AABC
- .4byte _0801AAE4
- .4byte _0801AAE4
- .4byte _0801AB18
- .4byte _0801AB90
- .4byte _0801AC50
-_0801AABC:
- add r0, sp, 0x4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090E14
- ldr r4, _0801AAE0
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r4]
- adds r0, 0x88
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- b _0801AC8C
- .align 2, 0
-_0801AAE0: .4byte gUnknown_203B224
-_0801AAE4:
- add r2, sp, 0x54
- movs r5, 0
- str r5, [sp, 0x54]
- strb r5, [r2, 0x4]
- movs r0, 0x1
- strb r0, [r2, 0x8]
- strb r0, [r4]
- add r1, sp, 0xC8
- add r0, sp, 0x4
- bl sub_8090E14
- ldr r4, _0801AB14
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r4]
- adds r0, 0x88
- ldr r3, [r0]
- str r5, [sp]
- b _0801AC8C
- .align 2, 0
-_0801AB14: .4byte gUnknown_203B224
-_0801AB18:
- add r2, sp, 0x60
- movs r6, 0
- str r6, [sp, 0x60]
- strb r6, [r2, 0x4]
- movs r0, 0x1
- strb r0, [r2, 0x8]
- strb r0, [r4]
- add r1, sp, 0xC8
- add r0, sp, 0x4
- bl sub_8090E14
- ldr r5, _0801AB60
- ldr r0, [r5]
- mov r4, r8
- lsls r1, r4, 2
- adds r0, 0x4
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _0801AB4E
- mov r0, r8
- bl sub_801ADA0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0801AB64
-_0801AB4E:
- ldr r0, [r5]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r5]
- b _0801AC86
- .align 2, 0
-_0801AB60: .4byte gUnknown_203B224
-_0801AB64:
- ldr r0, _0801AB88
- add r1, sp, 0x4
- movs r2, 0x50
- bl strncpy
- ldr r0, [r5]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, _0801AB8C
- ldr r0, [r5]
- adds r0, 0x88
- ldr r3, [r0]
- str r4, [sp]
- b _0801AC3C
- .align 2, 0
-_0801AB88: .4byte gUnknown_202DE58
-_0801AB8C: .4byte gUnknown_80DB994
-_0801AB90:
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _0801AC10
- add r2, sp, 0x6C
- movs r1, 0x3
- str r1, [sp, 0x6C]
- movs r6, 0
- strb r6, [r2, 0x4]
- movs r0, 0x58
- strh r0, [r2, 0x6]
- movs r0, 0x1
- strb r0, [r2, 0x8]
- strb r1, [r4]
- add r0, sp, 0x4
- adds r1, r4, 0
- bl sub_8090E14
- adds r0, r4, 0
- bl sub_8090CCC
- ldr r1, _0801AC00
- ldr r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- adds r0, r1
- ldr r1, _0801AC04
- cmp r0, r1
- ble _0801AC76
- add r5, sp, 0x78
- ldr r1, _0801AC08
- adds r0, r5, 0
- add r2, sp, 0x4
- bl sub_800D158
- ldr r4, _0801AC0C
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r4]
- adds r0, 0x88
- ldr r3, [r0]
- str r6, [sp]
- movs r0, 0x8
- adds r2, r5, 0
- bl xxx_call_draw_string
- b _0801ACC4
- .align 2, 0
-_0801AC00: .4byte gUnknown_203B460
-_0801AC04: .4byte 0x0001869f
-_0801AC08: .4byte gUnknown_80DB9A0
-_0801AC0C: .4byte gUnknown_203B224
-_0801AC10:
- add r0, sp, 0x4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090E14
- ldr r0, _0801AC44
- add r1, sp, 0x4
- movs r2, 0x50
- bl strncpy
- ldr r4, _0801AC48
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, _0801AC4C
- ldr r0, [r4]
- adds r0, 0x88
- ldr r3, [r0]
- str r5, [sp]
-_0801AC3C:
- movs r0, 0x8
- bl sub_8014FF0
- b _0801ACC4
- .align 2, 0
-_0801AC44: .4byte gUnknown_202DE58
-_0801AC48: .4byte gUnknown_203B224
-_0801AC4C: .4byte gUnknown_80DB994
-_0801AC50:
- add r2, sp, 0x78
- movs r6, 0
- str r6, [sp, 0x78]
- strb r6, [r2, 0x4]
- movs r0, 0x1
- strb r0, [r2, 0x8]
- strb r0, [r4]
- add r4, sp, 0xC8
- add r0, sp, 0x4
- adds r1, r4, 0
- bl sub_8090E14
- ldrb r0, [r4, 0x2]
- bl sub_8091764
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _0801AC9C
-_0801AC76:
- ldr r4, _0801AC98
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r4]
-_0801AC86:
- adds r0, 0x88
- ldr r3, [r0]
- str r6, [sp]
-_0801AC8C:
- movs r0, 0x8
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0801ACC4
- .align 2, 0
-_0801AC98: .4byte gUnknown_203B224
-_0801AC9C:
- ldr r0, _0801AD28
- add r1, sp, 0x4
- movs r2, 0x50
- bl strncpy
- ldr r4, _0801AD2C
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, _0801AD30
- ldr r0, [r4]
- adds r0, 0x88
- ldr r3, [r0]
- str r5, [sp]
- movs r0, 0x8
- bl sub_8014FF0
-_0801ACC4:
- mov r0, r8
- bl sub_801AED0
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0801ACFE
- ldr r4, _0801AD2C
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r2, r0, 0
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r0, [r0]
- adds r1, 0x8C
- ldr r1, [r1]
- movs r4, 0xC
- ldrsh r3, [r1, r4]
- subs r3, 0x2
- lsls r3, 3
- movs r1, 0xA
- str r1, [sp]
- movs r1, 0x8
- bl sub_8007B7C
-_0801ACFE:
- adds r7, 0x1
- ldr r1, _0801AD2C
- ldr r0, [r1]
- adds r0, 0x6E
- movs r2, 0
- ldrsh r0, [r0, r2]
-_0801AD0A:
- adds r2, r1, 0
- cmp r7, r0
- bge _0801AD12
- b _0801AA60
-_0801AD12:
- ldr r0, [r2]
- adds r0, 0x88
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0xCC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801AD28: .4byte gUnknown_202DE58
-_0801AD2C: .4byte gUnknown_203B224
-_0801AD30: .4byte gUnknown_80DB994
- thumb_func_end sub_801A9E0
-
- thumb_func_start sub_801AD34
-sub_801AD34:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- bl sub_8008C54
- adds r0, r4, 0
- bl sub_80073B8
- ldr r2, _0801AD98
- movs r6, 0
- str r6, [sp]
- movs r0, 0x6
- movs r1, 0
- adds r3, r4, 0
- bl xxx_call_draw_string
- bl sub_8090A34
- adds r2, r0, 0
- movs r5, 0x7
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x12
- movs r1, 0xD
- movs r3, 0x2
- bl sub_8012BC4
- ldr r2, _0801AD9C
- str r6, [sp]
- movs r0, 0x16
- movs r1, 0xD
- adds r3, r4, 0
- bl xxx_call_draw_string
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2B
- movs r1, 0xD
- movs r2, 0x14
- movs r3, 0x2
- bl sub_8012BC4
- adds r0, r4, 0
- bl sub_80073E0
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801AD98: .4byte gUnknown_80DB9A8
-_0801AD9C: .4byte gUnknown_80DB9B0
- thumb_func_end sub_801AD34
-
- thumb_func_start sub_801ADA0
-sub_801ADA0:
- push {r4-r6,lr}
- ldr r5, _0801ADEC
- ldr r1, [r5]
- lsls r0, 2
- adds r1, r0
- ldr r6, [r1]
- lsls r4, r6, 8
- lsrs r0, r4, 24
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _0801AE12
- lsrs r0, r4, 24
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _0801ADF4
- lsrs r0, r4, 24
- bl sub_801AE24
- ldr r2, [r5]
- lsrs r1, r4, 24
- lsls r1, 1
- adds r2, 0x50
- adds r2, r1
- lsls r0, 16
- lsrs r0, 16
- ldrh r2, [r2]
- adds r0, r2
- lsrs r1, r6, 8
- lsls r1, 24
- lsrs r1, 24
- adds r0, r1
- ldr r1, _0801ADF0
- b _0801AE0E
- .align 2, 0
-_0801ADEC: .4byte gUnknown_203B460
-_0801ADF0: .4byte 0x000003e7
-_0801ADF4:
- lsrs r0, r4, 24
- bl sub_801AE24
- ldr r2, [r5]
- lsrs r1, r4, 24
- lsls r1, 1
- adds r2, 0x50
- adds r2, r1
- lsls r0, 16
- lsrs r0, 16
- ldrh r2, [r2]
- adds r0, r2
- ldr r1, _0801AE18
-_0801AE0E:
- cmp r0, r1
- ble _0801AE1C
-_0801AE12:
- movs r0, 0
- b _0801AE1E
- .align 2, 0
-_0801AE18: .4byte 0x000003e6
-_0801AE1C:
- movs r0, 0x1
-_0801AE1E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801ADA0
-
- thumb_func_start sub_801AE24
-sub_801AE24:
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r5, 0
- movs r6, 0
- b _0801AE74
-_0801AE2E:
- ldr r0, _0801AE64
- ldr r0, [r0]
- lsls r1, r6, 2
- adds r0, 0x4
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0801AE72
- ldr r0, _0801AE68
- ldr r0, [r0]
- adds r0, r1
- ldr r4, [r0]
- lsls r1, r4, 8
- lsrs r0, r1, 24
- cmp r0, r7
- bne _0801AE72
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _0801AE6C
- lsrs r0, r4, 8
- lsls r0, 24
- lsrs r0, 24
- adds r0, r5, r0
- b _0801AE6E
- .align 2, 0
-_0801AE64: .4byte gUnknown_203B224
-_0801AE68: .4byte gUnknown_203B460
-_0801AE6C:
- adds r0, r5, 0x1
-_0801AE6E:
- lsls r0, 16
- lsrs r5, r0, 16
-_0801AE72:
- adds r6, 0x1
-_0801AE74:
- bl sub_8090A34
- cmp r6, r0
- blt _0801AE2E
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801AE24
-
- thumb_func_start sub_801AE84
-sub_801AE84:
- push {r4,lr}
- movs r2, 0
- ldr r4, _0801AEA4
- movs r3, 0
-_0801AE8C:
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, 0x4
- adds r0, r1
- str r3, [r0]
- adds r2, 0x1
- cmp r2, 0x13
- ble _0801AE8C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801AEA4: .4byte gUnknown_203B224
- thumb_func_end sub_801AE84
-
- thumb_func_start sub_801AEA8
-sub_801AEA8:
- push {lr}
- movs r3, 0
- ldr r0, _0801AECC
- ldr r0, [r0]
- adds r1, r0, 0x4
- movs r2, 0x13
-_0801AEB4:
- ldr r0, [r1]
- cmp r0, 0
- beq _0801AEBC
- adds r3, 0x1
-_0801AEBC:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _0801AEB4
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0801AECC: .4byte gUnknown_203B224
- thumb_func_end sub_801AEA8
-
- thumb_func_start sub_801AED0
-sub_801AED0:
- ldr r1, _0801AEE0
- ldr r1, [r1]
- lsls r0, 2
- adds r1, 0x4
- adds r1, r0
- ldr r0, [r1]
- bx lr
- .align 2, 0
-_0801AEE0: .4byte gUnknown_203B224
- thumb_func_end sub_801AED0
-
- thumb_func_start sub_801AEE4
-sub_801AEE4:
- ldr r2, _0801AEF4
- ldr r2, [r2]
- lsls r0, 2
- adds r2, 0x4
- adds r2, r0
- str r1, [r2]
- bx lr
- .align 2, 0
-_0801AEF4: .4byte gUnknown_203B224
- thumb_func_end sub_801AEE4
-
- thumb_func_start sub_801AEF8
-sub_801AEF8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r0, 0
- mov r9, r0
- b _0801AF78
-_0801AF08:
- movs r1, 0x1
- add r1, r9
- mov r8, r1
- mov r7, r8
- b _0801AF6E
-_0801AF12:
- ldr r2, _0801AF90
- ldr r0, [r2]
- mov r1, r9
- lsls r6, r1, 2
- adds r0, r6
- ldrb r0, [r0, 0x2]
- str r2, [sp]
- bl sub_8090D44
- adds r4, r0, 0
- ldr r2, [sp]
- ldr r0, [r2]
- lsls r5, r7, 2
- adds r0, r5
- ldrb r0, [r0, 0x2]
- bl sub_8090D44
- ldr r2, [sp]
- cmp r4, r0
- bgt _0801AF4C
- cmp r4, r0
- bne _0801AF6C
- ldr r0, [r2]
- adds r1, r0, r6
- adds r0, r5
- ldrb r1, [r1, 0x1]
- ldrb r0, [r0, 0x1]
- cmp r1, r0
- bcs _0801AF6C
-_0801AF4C:
- ldr r0, [r2]
- adds r2, r0, r6
- ldr r3, [r2]
- adds r0, r5
- ldr r1, [r0]
- str r1, [r2]
- str r3, [r0]
- ldr r0, _0801AF94
- ldr r0, [r0]
- adds r0, 0x4
- adds r2, r0, r6
- ldr r3, [r2]
- adds r0, r5
- ldr r1, [r0]
- str r1, [r2]
- str r3, [r0]
-_0801AF6C:
- adds r7, 0x1
-_0801AF6E:
- bl sub_8090A34
- cmp r7, r0
- blt _0801AF12
- mov r9, r8
-_0801AF78:
- bl sub_8090A34
- subs r0, 0x1
- cmp r9, r0
- blt _0801AF08
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801AF90: .4byte gUnknown_203B460
-_0801AF94: .4byte gUnknown_203B224
- thumb_func_end sub_801AEF8
-
- thumb_func_start sub_801AF98
-sub_801AF98:
- ldr r0, _0801AFA0
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0801AFA0: .4byte gUnknown_203B224
- thumb_func_end sub_801AF98
-
- thumb_func_start sub_801AFA4
-sub_801AFA4:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _0801AFEC
- movs r0, 0xA4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- str r4, [r0, 0x4]
- ldr r1, _0801AFF0
- ldr r1, [r1]
- lsls r4, 2
- adds r1, r4
- ldrb r1, [r1, 0x2]
- strb r1, [r0, 0x8]
- ldr r0, [r5]
- ldrb r0, [r0, 0x8]
- bl sub_80913CC
- ldr r1, [r5]
- strh r0, [r1, 0xA]
- ldr r0, _0801AFF4
- ldrh r1, [r1, 0xA]
- bl sub_8092C84
- movs r0, 0
- bl sub_8099690
- bl sub_801B2F4
- cmp r0, 0
- bne _0801AFF8
- movs r0, 0x3
- bl sub_801B064
- b _0801B004
- .align 2, 0
-_0801AFEC: .4byte gUnknown_203B22C
-_0801AFF0: .4byte gUnknown_203B460
-_0801AFF4: .4byte gUnknown_202E1C8
-_0801AFF8:
- ldr r1, [r5]
- movs r0, 0x4
- str r0, [r1, 0x60]
- movs r0, 0
- bl sub_801B064
-_0801B004:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801AFA4
-
- thumb_func_start sub_801B00C
-sub_801B00C:
- push {lr}
- ldr r0, _0801B024
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0801B036
- cmp r0, 0x1
- bgt _0801B028
- cmp r0, 0
- beq _0801B030
- b _0801B03C
- .align 2, 0
-_0801B024: .4byte gUnknown_203B22C
-_0801B028:
- cmp r0, 0x4
- bne _0801B03C
- movs r0, 0x3
- b _0801B042
-_0801B030:
- bl sub_801B200
- b _0801B040
-_0801B036:
- bl sub_801B2AC
- b _0801B040
-_0801B03C:
- bl sub_801B2D8
-_0801B040:
- movs r0, 0
-_0801B042:
- pop {r1}
- bx r1
- thumb_func_end sub_801B00C
-
- thumb_func_start sub_801B048
-sub_801B048:
- push {r4,lr}
- ldr r4, _0801B060
- ldr r0, [r4]
- cmp r0, 0
- beq _0801B05A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801B05A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B060: .4byte gUnknown_203B22C
- thumb_func_end sub_801B048
-
- thumb_func_start sub_801B064
-sub_801B064:
- push {lr}
- ldr r1, _0801B078
- ldr r1, [r1]
- str r0, [r1]
- bl nullsub_37
- bl sub_801B080
- pop {r0}
- bx r0
- .align 2, 0
-_0801B078: .4byte gUnknown_203B22C
- thumb_func_end sub_801B064
-
- thumb_func_start nullsub_37
-nullsub_37:
- bx lr
- thumb_func_end nullsub_37
-
- thumb_func_start sub_801B080
-sub_801B080:
- push {r4,lr}
- sub sp, 0x14
- ldr r1, _0801B09C
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _0801B168
- lsls r0, 2
- ldr r1, _0801B0A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801B09C: .4byte gUnknown_203B22C
-_0801B0A0: .4byte _0801B0A4
- .align 2, 0
-_0801B0A4:
- .4byte _0801B0B8
- .4byte _0801B0E8
- .4byte _0801B0FC
- .4byte _0801B15C
- .4byte _0801B168
-_0801B0B8:
- bl sub_801B178
- ldr r0, _0801B0E0
- ldr r1, _0801B0E4
- ldr r3, [r1]
- ldr r2, [r3, 0x60]
- adds r3, 0x64
- movs r4, 0
- str r4, [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
- bl sub_8014248
- b _0801B168
- .align 2, 0
-_0801B0E0: .4byte gUnknown_80DB9BC
-_0801B0E4: .4byte gUnknown_203B22C
-_0801B0E8:
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x58
- movs r3, 0
- ldrsh r1, [r0, r3]
- adds r2, 0xC
- movs r0, 0x2
- bl DisplayGulpinDialogueSprite
- b _0801B168
-_0801B0FC:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC
- ldr r1, [r1, 0x5C]
- adds r1, 0x2C
- bl sub_8094060
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- bl sub_80915A0
- lsls r0, 24
- cmp r0, 0
- bne _0801B138
- ldr r3, _0801B150
- ldr r1, [r3]
- ldr r2, [r4]
- ldr r0, [r2, 0x4]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r2, 0x8]
- subs r0, 0x7D
- strb r0, [r1, 0x1]
- ldr r1, [r3]
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- lsls r0, 2
- adds r1, r0
- movs r0, 0x7C
- strb r0, [r1, 0x2]
-_0801B138:
- movs r0, 0x9C
- lsls r0, 1
- bl sub_8011988
- ldr r0, _0801B154
- ldr r3, _0801B158
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0801B168
- .align 2, 0
-_0801B150: .4byte gUnknown_203B460
-_0801B154: .4byte gUnknown_80DB9E4
-_0801B158: .4byte 0x00000121
-_0801B15C:
- ldr r0, _0801B170
- ldr r3, _0801B174
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0801B168:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B170: .4byte gUnknown_80DBA0C
-_0801B174: .4byte 0x00000121
- thumb_func_end sub_801B080
-
- thumb_func_start sub_801B178
-sub_801B178:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r5, 0
- ldr r1, _0801B1F4
- ldr r0, [r1]
- ldr r0, [r0, 0x4C]
- cmp r5, r0
- bge _0801B1D2
- ldr r0, _0801B1F8
- mov r8, r0
- adds r7, r1, 0
- movs r6, 0
-_0801B192:
- ldr r4, _0801B1FC
- adds r4, r6, r4
- ldr r0, [r7]
- lsls r1, r5, 1
- adds r0, 0x50
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x58
- muls r0, r1
- mov r2, r8
- ldr r1, [r2]
- adds r1, r0
- adds r0, r4, 0
- bl sub_808DA34
- ldr r2, [r7]
- lsls r1, r5, 3
- adds r0, r2, 0
- adds r0, 0x64
- adds r0, r1
- str r4, [r0]
- adds r0, r2, 0
- adds r0, 0x68
- adds r0, r1
- adds r1, r5, 0x4
- str r1, [r0]
- adds r6, 0x50
- adds r5, 0x1
- ldr r0, [r2, 0x4C]
- cmp r5, r0
- blt _0801B192
-_0801B1D2:
- ldr r0, _0801B1F4
- ldr r2, [r0]
- lsls r3, r5, 3
- adds r0, r2, 0
- adds r0, 0x64
- adds r0, r3
- movs r1, 0
- str r1, [r0]
- adds r2, 0x68
- adds r2, r3
- movs r0, 0x1
- str r0, [r2]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B1F4: .4byte gUnknown_203B22C
-_0801B1F8: .4byte gUnknown_203B45C
-_0801B1FC: .4byte gAvailablePokemonNames
- thumb_func_end sub_801B178
-
- thumb_func_start sub_801B200
-sub_801B200:
- push {r4-r6,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801B2A4
- ldr r5, _0801B228
- ldr r3, [r5]
- ldr r0, [sp]
- str r0, [r3, 0x60]
- ldr r1, [sp]
- cmp r1, 0
- beq _0801B2A4
- cmp r1, 0x1
- bne _0801B22C
- movs r0, 0x4
- bl sub_801B064
- b _0801B2A4
- .align 2, 0
-_0801B228: .4byte gUnknown_203B22C
-_0801B22C:
- subs r1, 0x4
- lsls r1, 1
- adds r0, r3, 0
- adds r0, 0x50
- adds r0, r1
- ldrh r0, [r0]
- adds r1, r3, 0
- adds r1, 0x58
- strh r0, [r1]
- ldr r2, _0801B26C
- movs r0, 0
- ldrsh r1, [r1, r0]
- movs r0, 0x58
- muls r0, r1
- ldr r1, [r2]
- adds r1, r0
- str r1, [r3, 0x5C]
- ldr r0, _0801B270
- bl sub_808DA34
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0xC
- ldr r1, [r1, 0x5C]
- adds r1, 0x2C
- bl sub_809401C
- movs r4, 0
- adds r6, r5, 0
- movs r5, 0xC
- b _0801B278
- .align 2, 0
-_0801B26C: .4byte gUnknown_203B45C
-_0801B270: .4byte gUnknown_202E218
-_0801B274:
- adds r5, 0x8
- adds r4, 0x1
-_0801B278:
- cmp r4, 0x7
- bgt _0801B292
- ldr r3, [r6]
- adds r2, r3, r5
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0801B274
- ldrh r1, [r3, 0xA]
- adds r0, r2, 0
- bl sub_8092AD4
-_0801B292:
- cmp r4, 0x3
- ble _0801B29E
- movs r0, 0x1
- bl sub_801B064
- b _0801B2A4
-_0801B29E:
- movs r0, 0x2
- bl sub_801B064
-_0801B2A4:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_801B200
-
- thumb_func_start sub_801B2AC
-sub_801B2AC:
- push {lr}
- bl sub_801E8C0
- cmp r0, 0x2
- beq _0801B2CA
- cmp r0, 0x2
- bcc _0801B2D4
- cmp r0, 0x3
- bne _0801B2D4
- bl sub_801E93C
- movs r0, 0x2
- bl sub_801B064
- b _0801B2D4
-_0801B2CA:
- bl sub_801E93C
- movs r0, 0
- bl sub_801B064
-_0801B2D4:
- pop {r0}
- bx r0
- thumb_func_end sub_801B2AC
-
- thumb_func_start sub_801B2D8
-sub_801B2D8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801B2EC
- movs r0, 0x4
- bl sub_801B064
-_0801B2EC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_801B2D8
-
- thumb_func_start sub_801B2F4
-sub_801B2F4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- mov r0, sp
- bl sub_808D580
- adds r6, r0, 0
- ldr r2, _0801B36C
- ldr r1, [r2]
- movs r0, 0
- str r0, [r1, 0x4C]
- movs r5, 0
- cmp r5, r6
- bge _0801B35A
- ldr r0, _0801B370
- mov r8, r0
- adds r7, r2, 0
- mov r4, sp
-_0801B31A:
- ldr r1, [r4]
- movs r0, 0x58
- muls r0, r1
- mov r2, r8
- ldr r1, [r2]
- adds r1, r0
- ldr r0, [r7]
- ldrh r0, [r0, 0xA]
- movs r2, 0x8
- ldrsh r1, [r1, r2]
- bl sub_808E190
- lsls r0, 24
- cmp r0, 0
- beq _0801B352
- ldr r2, [r7]
- ldr r0, [r2, 0x4C]
- lsls r0, 1
- adds r1, r2, 0
- adds r1, 0x50
- adds r1, r0
- ldr r0, [r4]
- strh r0, [r1]
- ldr r0, [r2, 0x4C]
- cmp r0, 0x3
- bgt _0801B35A
- adds r0, 0x1
- str r0, [r2, 0x4C]
-_0801B352:
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, r6
- blt _0801B31A
-_0801B35A:
- ldr r0, _0801B36C
- ldr r0, [r0]
- ldr r0, [r0, 0x4C]
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801B36C: .4byte gUnknown_203B22C
-_0801B370: .4byte gUnknown_203B45C
- thumb_func_end sub_801B2F4
-
- thumb_func_start sub_801B374
-sub_801B374:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0801B3A8
- ldr r4, [r1]
- bl sub_80913CC
- lsls r0, 16
- lsrs r6, r0, 16
- movs r5, 0
-_0801B388:
- ldrh r0, [r4]
- lsrs r0, 1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801B3AC
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- adds r0, r6, 0
- bl sub_808E190
- lsls r0, 24
- cmp r0, 0
- beq _0801B3AC
- movs r0, 0
- b _0801B3BA
- .align 2, 0
-_0801B3A8: .4byte gUnknown_203B45C
-_0801B3AC:
- adds r5, 0x1
- adds r4, 0x58
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _0801B388
- movs r0, 0x1
-_0801B3BA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801B374
-
- thumb_func_start sub_801B3C0
-sub_801B3C0:
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x1
- bl ResetSprites
- ldr r4, _0801B40C
- movs r0, 0x94
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- ldr r1, [r5]
- str r1, [r0, 0x4]
- adds r0, 0x88
- bl sub_801317C
- ldr r0, [r4]
- movs r1, 0
- str r1, [r0, 0x24]
- adds r0, 0x28
- bl sub_80140B4
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x28
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- bl sub_801B46C
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801B40C: .4byte gUnknown_203B230
- thumb_func_end sub_801B3C0
-
- thumb_func_start sub_801B410
-sub_801B410:
- push {lr}
- ldr r0, _0801B428
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0801B43C
- cmp r0, 0x1
- bgt _0801B42C
- cmp r0, 0
- beq _0801B436
- b _0801B446
- .align 2, 0
-_0801B428: .4byte gUnknown_203B230
-_0801B42C:
- cmp r0, 0x2
- beq _0801B446
- cmp r0, 0x3
- beq _0801B442
- b _0801B446
-_0801B436:
- bl sub_801B51C
- b _0801B44A
-_0801B43C:
- bl sub_801B590
- b _0801B44A
-_0801B442:
- movs r0, 0x3
- b _0801B44C
-_0801B446:
- movs r0, 0x2
- b _0801B44C
-_0801B44A:
- movs r0, 0
-_0801B44C:
- pop {r1}
- bx r1
- thumb_func_end sub_801B410
-
- thumb_func_start sub_801B450
-sub_801B450:
- push {r4,lr}
- ldr r4, _0801B468
- ldr r0, [r4]
- cmp r0, 0
- beq _0801B462
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801B462:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B468: .4byte gUnknown_203B230
- thumb_func_end sub_801B450
-
- thumb_func_start sub_801B46C
-sub_801B46C:
- push {lr}
- ldr r1, _0801B47C
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801B480
- pop {r0}
- bx r0
- .align 2, 0
-_0801B47C: .4byte gUnknown_203B230
- thumb_func_end sub_801B46C
-
- thumb_func_start sub_801B480
-sub_801B480:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0801B4B0
- ldr r0, [r5]
- ldr r4, [r0]
- cmp r4, 0x1
- beq _0801B4B4
- cmp r4, 0x1
- bgt _0801B50C
- cmp r4, 0
- bne _0801B50C
- ldr r0, [r0, 0x24]
- bl sub_8008C54
- ldr r2, [r5]
- adds r0, r2, 0x4
- ldr r1, [r2, 0x24]
- adds r2, 0x10
- bl sub_80913E0
- ldr r1, [r5]
- str r0, [r1, 0xC]
- str r4, [r1, 0x20]
- b _0801B50C
- .align 2, 0
-_0801B4B0: .4byte gUnknown_203B230
-_0801B4B4:
- 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, _0801B514
- ldr r1, [r1]
- bl strcpy
- ldr r2, _0801B518
- 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
-_0801B50C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B514: .4byte gAvailablePokemonNames
-_0801B518: .4byte gUnknown_80DBA4C
- thumb_func_end sub_801B480
-
- thumb_func_start sub_801B51C
-sub_801B51C:
- push {r4,lr}
- ldr r0, _0801B558
- ldr r2, [r0]
- ldr r1, [r2, 0xC]
- adds r4, r0, 0
- cmp r1, 0
- beq _0801B540
- ldr r0, [r2, 0x20]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801B538
- bl sub_8013F84
-_0801B538:
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- adds r0, 0x1
- str r0, [r1, 0x20]
-_0801B540:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r1, [r1, 0x24]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801B55C
- cmp r0, 0x2
- beq _0801B57E
- b _0801B58A
- .align 2, 0
-_0801B558: .4byte gUnknown_203B230
-_0801B55C:
- movs r0, 0
- bl PlayMenuSoundEffect
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- cmp r0, 0
- beq _0801B576
- movs r0, 0
- str r0, [r1, 0x8]
- movs r0, 0x1
- bl sub_801B46C
- b _0801B58A
-_0801B576:
- movs r0, 0x3
- bl sub_801B46C
- b _0801B58A
-_0801B57E:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- bl sub_801B46C
-_0801B58A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801B51C
-
- thumb_func_start sub_801B590
-sub_801B590:
- push {r4,lr}
- ldr r0, _0801B5D0
- ldr r3, [r0]
- ldr r1, [r3, 0xC]
- subs r1, 0x1
- ldr r2, [r3, 0x8]
- adds r4, r0, 0
- cmp r2, r1
- bge _0801B5B8
- ldr r0, [r3, 0x20]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801B5B0
- bl sub_8013F84
-_0801B5B0:
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- adds r0, 0x1
- str r0, [r1, 0x20]
-_0801B5B8:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r1, [r1, 0x24]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801B5D4
- cmp r0, 0x2
- beq _0801B5F8
- b _0801B604
- .align 2, 0
-_0801B5D0: .4byte gUnknown_203B230
-_0801B5D4:
- 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 _0801B5F0
- movs r0, 0x1
- bl sub_801B46C
- b _0801B604
-_0801B5F0:
- movs r0, 0
- bl sub_801B46C
- b _0801B604
-_0801B5F8:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- bl sub_801B46C
-_0801B604:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801B590
-
- thumb_func_start sub_801B60C
-sub_801B60C:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r6, _0801B650
- movs r0, 0xAA
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- adds r2, r0, 0
- adds r2, 0xC8
- movs r1, 0
- str r1, [r2]
- str r5, [r0]
- strb r4, [r0, 0x12]
- ldr r0, [r6]
- ldrb r0, [r0, 0x12]
- bl sub_8090A60
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0801B654
- ldr r0, [r6]
- strb r7, [r0, 0x11]
- ldr r0, [r6]
- strb r7, [r0, 0xC]
- b _0801B65E
- .align 2, 0
-_0801B650: .4byte gUnknown_203B234
-_0801B654:
- ldr r0, [r6]
- strb r1, [r0, 0x11]
- ldr r1, [r6]
- movs r0, 0x1
- strb r0, [r1, 0xC]
-_0801B65E:
- ldr r5, _0801B6A0
- ldr r0, [r5]
- movs r1, 0
- movs r2, 0x1
- strb r2, [r0, 0x10]
- ldr r0, [r5]
- str r1, [r0, 0x14]
- strb r1, [r0, 0x18]
- ldr r0, [r5]
- strb r2, [r0, 0x1C]
- ldr r4, _0801B6A4
- bl sub_808D33C
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r0, _0801B6A8
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x10
- adds r2, 0x14
- bl sub_8090E14
- movs r0, 0
- bl sub_801B748
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801B6A0: .4byte gUnknown_203B234
-_0801B6A4: .4byte gAvailablePokemonNames
-_0801B6A8: .4byte gUnknown_202DE58
- thumb_func_end sub_801B60C
-
- thumb_func_start sub_801B6AC
-sub_801B6AC:
- push {lr}
- ldr r0, _0801B6C4
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- subs r0, 0x6
- cmp r0, 0xA
- bhi _0801B720
- lsls r0, 2
- ldr r1, _0801B6C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801B6C4: .4byte gUnknown_203B234
-_0801B6C8: .4byte _0801B6CC
- .align 2, 0
-_0801B6CC:
- .4byte _0801B6FC
- .4byte _0801B702
- .4byte _0801B708
- .4byte _0801B708
- .4byte _0801B70E
- .4byte _0801B714
- .4byte _0801B71A
- .4byte _0801B720
- .4byte _0801B720
- .4byte _0801B720
- .4byte _0801B6F8
-_0801B6F8:
- movs r0, 0x3
- b _0801B726
-_0801B6FC:
- bl sub_801BC64
- b _0801B724
-_0801B702:
- bl sub_801BC94
- b _0801B724
-_0801B708:
- bl sub_801BCCC
- b _0801B724
-_0801B70E:
- bl sub_801BD80
- b _0801B724
-_0801B714:
- bl sub_801BEAC
- b _0801B724
-_0801B71A:
- bl sub_801BE30
- b _0801B724
-_0801B720:
- bl sub_801BEC8
-_0801B724:
- movs r0, 0
-_0801B726:
- pop {r1}
- bx r1
- thumb_func_end sub_801B6AC
-
- thumb_func_start sub_801B72C
-sub_801B72C:
- push {r4,lr}
- ldr r4, _0801B744
- ldr r0, [r4]
- cmp r0, 0
- beq _0801B73E
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801B73E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B744: .4byte gUnknown_203B234
- thumb_func_end sub_801B72C
-
- thumb_func_start sub_801B748
-sub_801B748:
- push {lr}
- ldr r1, _0801B75C
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_801B760
- bl sub_801B874
- pop {r0}
- bx r0
- .align 2, 0
-_0801B75C: .4byte gUnknown_203B234
- thumb_func_end sub_801B748
-
- thumb_func_start sub_801B760
-sub_801B760:
- push {r4-r7,lr}
- ldr r0, _0801B77C
- ldr r1, [r0]
- ldr r1, [r1, 0x4]
- subs r1, 0x1
- adds r4, r0, 0
- cmp r1, 0xE
- bls _0801B772
- b _0801B86A
-_0801B772:
- lsls r0, r1, 2
- ldr r1, _0801B780
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801B77C: .4byte gUnknown_203B234
-_0801B780: .4byte _0801B784
- .align 2, 0
-_0801B784:
- .4byte _0801B7C0
- .4byte _0801B86A
- .4byte _0801B86A
- .4byte _0801B86A
- .4byte _0801B86A
- .4byte _0801B7C0
- .4byte _0801B7C0
- .4byte _0801B7C0
- .4byte _0801B7C0
- .4byte _0801B800
- .4byte _0801B7C0
- .4byte _0801B840
- .4byte _0801B7C0
- .4byte _0801B7C0
- .4byte _0801B7C0
-_0801B7C0:
- ldr r4, _0801B7F8
- ldr r0, [r4]
- adds r0, 0xF4
- bl sub_8006518
- mov r12, r4
- ldr r4, _0801B7FC
- movs r3, 0
- movs r2, 0x3
-_0801B7D2:
- mov r0, r12
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0xF4
- 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 _0801B7D2
- bl ResetUnusedInputStruct
- ldr r0, _0801B7F8
- ldr r0, [r0]
- b _0801B82E
- .align 2, 0
-_0801B7F8: .4byte gUnknown_203B234
-_0801B7FC: .4byte gUnknown_80DBA58
-_0801B800:
- ldr r0, [r4]
- adds r0, 0xF4
- bl sub_8006518
- bl sub_801BB5C
- ldr r2, [r4]
- movs r0, 0x92
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801B83C
- 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, 0xCC
- bl sub_8012CAC
- bl ResetUnusedInputStruct
- ldr r0, [r4]
-_0801B82E:
- adds r0, 0xF4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- b _0801B86A
- .align 2, 0
-_0801B83C: .4byte gUnknown_80DBA70
-_0801B840:
- ldr r0, [r4]
- adds r0, 0xF4
- bl sub_8006518
- ldr r1, [r4]
- movs r6, 0x86
- lsls r6, 1
- adds r1, r6
- ldr r0, _0801B870
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0xF4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0801B86A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B870: .4byte gUnknown_80DBA88
- thumb_func_end sub_801B760
-
- thumb_func_start sub_801B874
-sub_801B874:
- push {r4,lr}
- sub sp, 0x14
- ldr r1, _0801B890
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r4, r1, 0
- cmp r0, 0x10
- bls _0801B886
- b _0801BB0E
-_0801B886:
- lsls r0, 2
- ldr r1, _0801B894
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801B890: .4byte gUnknown_203B234
-_0801B894: .4byte _0801B898
- .align 2, 0
-_0801B898:
- .4byte _0801B8DC
- .4byte _0801B9BC
- .4byte _0801B9D8
- .4byte _0801B9E0
- .4byte _0801B9F0
- .4byte _0801B9F8
- .4byte _0801BA08
- .4byte _0801BA34
- .4byte _0801BA60
- .4byte _0801BA6E
- .4byte _0801BA76
- .4byte _0801BA94
- .4byte _0801BA9E
- .4byte _0801BAD0
- .4byte _0801BAE0
- .4byte _0801BAFC
- .4byte _0801BB0E
-_0801B8DC:
- ldr r1, [r4]
- ldrb r0, [r1, 0x12]
- cmp r0, 0xEA
- bne _0801B8FE
- movs r0, 0x10
- str r0, [r1, 0x8]
- movs r0, 0
- movs r1, 0x47
- movs r2, 0x1
- bl sub_8001784
- cmp r0, 0
- bne _0801B914
- movs r0, 0
- movs r1, 0x47
- movs r2, 0x1
- b _0801B92A
-_0801B8FE:
- cmp r0, 0xEB
- bne _0801B938
- movs r0, 0x10
- str r0, [r1, 0x8]
- movs r0, 0
- movs r1, 0x47
- movs r2, 0
- bl sub_8001784
- cmp r0, 0
- beq _0801B924
-_0801B914:
- movs r0, 0xFA
- lsls r0, 2
- bl sub_80913A0
- movs r0, 0x4
- bl sub_801B748
- b _0801BB0E
-_0801B924:
- movs r0, 0
- movs r1, 0x47
- movs r2, 0
-_0801B92A:
- movs r3, 0x1
- bl sub_800199C
- movs r0, 0x3
- bl sub_801B748
- b _0801BB0E
-_0801B938:
- bl sub_8090A34
- cmp r0, 0x13
- ble _0801B986
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _0801B968
- ldr r0, _0801B970
- ldr r1, [r0]
- ldr r2, [r4]
- ldrb r0, [r2, 0x12]
- lsls r0, 1
- adds r1, 0x50
- adds r3, r1, r0
- ldrh r1, [r3]
- ldrb r0, [r2, 0xC]
- adds r1, r0
- ldr r0, _0801B974
- cmp r1, r0
- ble _0801B978
-_0801B968:
- ldr r1, [r4]
- movs r0, 0x6
- b _0801B99C
- .align 2, 0
-_0801B970: .4byte gUnknown_203B460
-_0801B974: .4byte 0x000003e7
-_0801B978:
- strh r1, [r3]
- movs r0, 0xCB
- bl sub_8011988
- ldr r1, [r4]
- movs r0, 0x5
- b _0801B99C
-_0801B986:
- ldr r0, [r4]
- adds r0, 0x10
- bl sub_8091290
- bl sub_80910B4
- movs r0, 0xCB
- bl sub_8011988
- ldr r1, [r4]
- movs r0, 0x10
-_0801B99C:
- str r0, [r1, 0x8]
- ldr r0, _0801B9B0
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0801B9B4
- movs r0, 0x2
- bl sub_801B748
- b _0801BB0E
- .align 2, 0
-_0801B9B0: .4byte gUnknown_203B234
-_0801B9B4:
- movs r0, 0x1
- bl sub_801B748
- b _0801BB0E
-_0801B9BC:
- movs r0, 0
- bl sub_808D544
- cmp r0, 0x1
- bgt _0801B9D0
- ldr r0, _0801B9CC
- b _0801BAE8
- .align 2, 0
-_0801B9CC: .4byte gUnknown_80DBAA0
-_0801B9D0:
- ldr r0, _0801B9D4
- b _0801BAE8
- .align 2, 0
-_0801B9D4: .4byte gUnknown_80DBAD0
-_0801B9D8:
- ldr r0, _0801B9DC
- b _0801BAE8
- .align 2, 0
-_0801B9DC: .4byte gUnknown_80DBB08
-_0801B9E0:
- movs r0, 0xD4
- bl sub_8011988
- ldr r0, _0801B9EC
- b _0801BAE8
- .align 2, 0
-_0801B9EC: .4byte gUnknown_80DBB38
-_0801B9F0:
- ldr r0, _0801B9F4
- b _0801BAE8
- .align 2, 0
-_0801B9F4: .4byte gUnknown_80DBB9C
-_0801B9F8:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0801BA04
- b _0801BAE8
- .align 2, 0
-_0801BA04: .4byte gUnknown_80DBC28
-_0801BA08:
- bl sub_801BB20
- ldr r0, _0801BA2C
- ldr r1, _0801BA30
- ldr r3, [r1]
- adds r3, 0xCC
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0
- movs r2, 0x4
- bl sub_8014248
- b _0801BB0E
- .align 2, 0
-_0801BA2C: .4byte gUnknown_80DBC60
-_0801BA30: .4byte gUnknown_203B234
-_0801BA34:
- bl sub_801BC24
- ldr r0, _0801BA58
- ldr r1, _0801BA5C
- ldr r3, [r1]
- adds r3, 0xCC
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- b _0801BB0E
- .align 2, 0
-_0801BA58: .4byte gUnknown_80DBC98
-_0801BA5C: .4byte gUnknown_203B234
-_0801BA60:
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _0801BB0E
-_0801BA6E:
- movs r0, 0x1
- bl sub_801A8D0
- b _0801BB0E
-_0801BA76:
- bl sub_801A9E0
- ldr r0, _0801BA90
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x28
- adds r1, r2, 0
- adds r1, 0xCC
- adds r2, 0xC8
- ldr r2, [r2]
- str r2, [sp]
- movs r2, 0x2
- b _0801BAC0
- .align 2, 0
-_0801BA90: .4byte gUnknown_203B234
-_0801BA94:
- ldr r0, [r4]
- adds r0, 0x20
- bl sub_801B3C0
- b _0801BB0E
-_0801BA9E:
- bl sub_801A9E0
- ldr r4, _0801BACC
- ldr r0, [r4]
- adds r0, 0x28
- movs r1, 0
- bl sub_8012EA4
- bl sub_801BC24
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x78
- adds r1, 0xCC
- movs r2, 0x3
- str r2, [sp]
- movs r2, 0x1
-_0801BAC0:
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0801BB0E
- .align 2, 0
-_0801BACC: .4byte gUnknown_203B234
-_0801BAD0:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0801BADC
- b _0801BAE8
- .align 2, 0
-_0801BADC: .4byte gUnknown_80DBCC4
-_0801BAE0:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0801BAF4
-_0801BAE8:
- ldr r3, _0801BAF8
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0801BB0E
- .align 2, 0
-_0801BAF4: .4byte gUnknown_80DBCE8
-_0801BAF8: .4byte 0x00000101
-_0801BAFC:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0801BB18
- ldr r3, _0801BB1C
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0801BB0E:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801BB18: .4byte gUnknown_80DBD24
-_0801BB1C: .4byte 0x00000101
- thumb_func_end sub_801B874
-
- thumb_func_start sub_801BB20
-sub_801BB20:
- ldr r0, _0801BB50
- ldr r3, [r0]
- movs r2, 0
- adds r1, r3, 0
- adds r1, 0xCC
- ldr r0, _0801BB54
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x4
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0801BB58
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x5
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0xDC
- str r2, [r0]
- adds r1, 0x8
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- bx lr
- .align 2, 0
-_0801BB50: .4byte gUnknown_203B234
-_0801BB54: .4byte gKangaskhanTrashToolboxItem
-_0801BB58: .4byte gKangaskhanTrashReceivedItem
- thumb_func_end sub_801BB20
-
- thumb_func_start sub_801BB5C
-sub_801BB5C:
- push {r4-r7,lr}
- ldr r4, _0801BBEC
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xCC
- ldr r0, _0801BBF0
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x6
- str r0, [r1]
- ldr r0, [r2, 0x24]
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- bne _0801BB86
- ldr r0, [r4]
- adds r0, 0xD0
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_0801BB86:
- ldr r0, [r4]
- mov r12, r0
- movs r3, 0x1
- movs r2, 0x8
- mov r1, r12
- adds r1, 0xD4
- ldr r0, _0801BBF4
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x7
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0801BBF8
- ldr r0, [r0]
- str r0, [r1]
- mov r0, r12
- adds r0, 0xE0
- str r2, [r0]
- movs r5, 0x3
- adds r1, 0x8
- movs r0, 0
- str r0, [r1]
- mov r0, r12
- adds r0, 0xE8
- str r3, [r0]
- movs r3, 0
- adds r6, r4, 0
- movs r7, 0x1
- negs r7, r7
- mov r4, r12
- adds r4, 0xC8
- subs r1, 0x14
-_0801BBC6:
- ldr r2, [r1]
- cmp r2, r7
- beq _0801BBD2
- ldr r0, [r4]
- cmp r2, r0
- beq _0801BC1C
-_0801BBD2:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, r5
- blt _0801BBC6
- movs r3, 0
- cmp r3, r5
- bge _0801BC1C
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0xD0
- ldr r1, [r0]
- b _0801BC0E
- .align 2, 0
-_0801BBEC: .4byte gUnknown_203B234
-_0801BBF0: .4byte gKangaskhanStorage
-_0801BBF4: .4byte gKangaskhanTrash
-_0801BBF8: .4byte gUnknown_80D4970
-_0801BBFC:
- adds r3, 0x1
- cmp r3, r5
- bge _0801BC1C
- ldr r2, [r6]
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0xD0
- adds r1, r0
- ldr r1, [r1]
-_0801BC0E:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0801BBFC
- adds r0, r2, 0
- adds r0, 0xC8
- str r1, [r0]
-_0801BC1C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801BB5C
-
- thumb_func_start sub_801BC24
-sub_801BC24:
- ldr r0, _0801BC58
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0
- mov r1, r12
- adds r1, 0xCC
- ldr r0, _0801BC5C
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _0801BC60
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x3
- str r0, [r1]
- mov r0, r12
- adds r0, 0xDC
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- bx lr
- .align 2, 0
-_0801BC58: .4byte gUnknown_203B234
-_0801BC5C: .4byte gUnknown_80D4920
-_0801BC60: .4byte gUnknown_80D4928
- thumb_func_end sub_801BC24
-
- thumb_func_start sub_801BC64
-sub_801BC64:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801BC8C
- ldr r0, [sp]
- cmp r0, 0x4
- beq _0801BC7E
- cmp r0, 0x5
- beq _0801BC86
- b _0801BC8C
-_0801BC7E:
- movs r0, 0x8
- bl sub_801B748
- b _0801BC8C
-_0801BC86:
- movs r0, 0x7
- bl sub_801B748
-_0801BC8C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_801BC64
-
- thumb_func_start sub_801BC94
-sub_801BC94:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801BCC6
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801BCB8
- cmp r0, 0x2
- bgt _0801BCB2
- cmp r0, 0x1
- beq _0801BCC0
- b _0801BCC6
-_0801BCB2:
- cmp r0, 0x3
- beq _0801BCC0
- b _0801BCC6
-_0801BCB8:
- movs r0, 0xD
- bl sub_801B748
- b _0801BCC6
-_0801BCC0:
- movs r0, 0x6
- bl sub_801B748
-_0801BCC6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_801BC94
-
- thumb_func_start sub_801BCCC
-sub_801BCCC:
- push {lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _0801BD7A
- lsls r0, 2
- ldr r1, _0801BCE4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801BCE4: .4byte _0801BCE8
- .align 2, 0
-_0801BCE8:
- .4byte _0801BD7A
- .4byte _0801BD7A
- .4byte _0801BD70
- .4byte _0801BCFC
- .4byte _0801BD34
-_0801BCFC:
- bl sub_801A8AC
- ldr r1, _0801BD28
- ldr r2, [r1]
- str r0, [r2, 0x24]
- ldr r1, _0801BD2C
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x20]
- ldr r0, _0801BD30
- adds r1, r2, 0
- adds r1, 0x20
- adds r2, 0x14
- bl sub_8090E14
- movs r0, 0xA
- bl sub_801B748
- b _0801BD7A
- .align 2, 0
-_0801BD28: .4byte gUnknown_203B234
-_0801BD2C: .4byte gUnknown_203B460
-_0801BD30: .4byte gUnknown_202DEA8
-_0801BD34:
- bl sub_801A8AC
- ldr r1, _0801BD64
- ldr r2, [r1]
- str r0, [r2, 0x24]
- ldr r1, _0801BD68
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x20]
- ldr r0, _0801BD6C
- adds r1, r2, 0
- adds r1, 0x20
- adds r2, 0x14
- bl sub_8090E14
- movs r0, 0
- bl sub_8099690
- movs r0, 0xB
- bl sub_801B748
- b _0801BD7A
- .align 2, 0
-_0801BD64: .4byte gUnknown_203B234
-_0801BD68: .4byte gUnknown_203B460
-_0801BD6C: .4byte gUnknown_202DEA8
-_0801BD70:
- bl sub_801A928
- movs r0, 0x6
- bl sub_801B748
-_0801BD7A:
- pop {r0}
- bx r0
- thumb_func_end sub_801BCCC
-
- thumb_func_start sub_801BD80
-sub_801BD80:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _0801BDC4
- ldr r0, [r4]
- adds r0, 0x28
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801BDB2
- ldr r0, [r4]
- adds r0, 0x28
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0801BDB2
- ldr r0, [r4]
- adds r0, 0xC8
- str r1, [r0]
-_0801BDB2:
- ldr r0, [sp]
- cmp r0, 0x6
- beq _0801BDD2
- cmp r0, 0x6
- bgt _0801BDC8
- cmp r0, 0x1
- beq _0801BE22
- b _0801BE28
- .align 2, 0
-_0801BDC4: .4byte gUnknown_203B234
-_0801BDC8:
- cmp r0, 0x7
- beq _0801BE0C
- cmp r0, 0x8
- beq _0801BE14
- b _0801BE28
-_0801BDD2:
- ldr r4, _0801BE08
- ldr r0, [r4]
- adds r0, 0x20
- bl sub_80917B8
- ldr r0, [r4]
- ldr r0, [r0, 0x24]
- bl sub_80911F8
- ldr r0, [r4]
- adds r0, 0x10
- bl sub_8091290
- bl sub_80910B4
- movs r0, 0xCB
- bl sub_8011988
- movs r0, 0
- bl sub_8099690
- bl sub_801A928
- movs r0, 0xE
- bl sub_801B748
- b _0801BE28
- .align 2, 0
-_0801BE08: .4byte gUnknown_203B234
-_0801BE0C:
- movs r0, 0xC
- bl sub_801B748
- b _0801BE28
-_0801BE14:
- movs r0, 0
- bl sub_8099690
- movs r0, 0xB
- bl sub_801B748
- b _0801BE28
-_0801BE22:
- movs r0, 0x9
- bl sub_801B748
-_0801BE28:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801BD80
-
- thumb_func_start sub_801BE30
-sub_801BE30:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _0801BE70
- ldr r0, [r4]
- adds r0, 0x28
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801BE5E
- ldr r0, [r4]
- adds r0, 0x78
- mov r1, sp
- bl sub_8013114
-_0801BE5E:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801BE80
- cmp r0, 0x2
- bgt _0801BE74
- cmp r0, 0x1
- beq _0801BE78
- b _0801BEA4
- .align 2, 0
-_0801BE70: .4byte gUnknown_203B234
-_0801BE74:
- cmp r0, 0x3
- bne _0801BEA4
-_0801BE78:
- movs r0, 0x9
- bl sub_801B748
- b _0801BEA4
-_0801BE80:
- ldr r0, [r4]
- ldr r0, [r0, 0x24]
- bl sub_80911F8
- ldr r0, [r4]
- adds r0, 0x10
- bl sub_8091290
- bl sub_80910B4
- movs r0, 0xCB
- bl sub_8011988
- bl sub_801A928
- movs r0, 0xF
- bl sub_801B748
-_0801BEA4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801BE30
-
- thumb_func_start sub_801BEAC
-sub_801BEAC:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _0801BEC4
- cmp r0, 0x3
- bhi _0801BEC4
- bl sub_801B450
- movs r0, 0x9
- bl sub_801B748
-_0801BEC4:
- pop {r0}
- bx r0
- thumb_func_end sub_801BEAC
-
- thumb_func_start sub_801BEC8
-sub_801BEC8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801BEE0
- ldr r0, _0801BEE8
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_801B748
-_0801BEE0:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0801BEE8: .4byte gUnknown_203B234
- thumb_func_end sub_801BEC8
-
- thumb_func_start sub_801BEEC
-sub_801BEEC:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- adds r0, r5, 0
- bl sub_801C5F0
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _0801BF40
- ldr r4, _0801BF38
- movs r0, 0x92
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- str r6, [r0, 0x30]
- strh r5, [r0, 0x4]
- ldr r3, _0801BF3C
- movs r1, 0x58
- adds r2, r5, 0
- muls r2, r1
- ldr r1, [r3]
- adds r1, r2
- str r1, [r0, 0x8]
- adds r0, 0xC
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- bl sub_808EBA8
- ldr r1, [r4]
- str r0, [r1, 0x2C]
- movs r0, 0
- bl sub_801BFB4
- movs r0, 0x1
- b _0801BF42
- .align 2, 0
-_0801BF38: .4byte gUnknown_203B238
-_0801BF3C: .4byte gUnknown_203B45C
-_0801BF40:
- movs r0, 0
-_0801BF42:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801BEEC
-
- thumb_func_start sub_801BF48
-sub_801BF48:
- push {lr}
- ldr r0, _0801BF60
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x4
- bhi _0801BF90
- lsls r0, 2
- ldr r1, _0801BF64
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801BF60: .4byte gUnknown_203B238
-_0801BF64: .4byte _0801BF68
- .align 2, 0
-_0801BF68:
- .4byte _0801BF80
- .4byte _0801BF80
- .4byte _0801BF86
- .4byte _0801BF8C
- .4byte _0801BF7C
-_0801BF7C:
- movs r0, 0x3
- b _0801BF92
-_0801BF80:
- bl sub_801C118
- b _0801BF90
-_0801BF86:
- bl sub_801C1A0
- b _0801BF90
-_0801BF8C:
- bl sub_801C228
-_0801BF90:
- movs r0, 0
-_0801BF92:
- pop {r1}
- bx r1
- thumb_func_end sub_801BF48
-
- thumb_func_start sub_801BF98
-sub_801BF98:
- push {r4,lr}
- ldr r4, _0801BFB0
- ldr r0, [r4]
- cmp r0, 0
- beq _0801BFAA
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801BFAA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801BFB0: .4byte gUnknown_203B238
- thumb_func_end sub_801BF98
-
- thumb_func_start sub_801BFB4
-sub_801BFB4:
- push {lr}
- ldr r1, _0801BFC8
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801BFCC
- bl sub_801C03C
- pop {r0}
- bx r0
- .align 2, 0
-_0801BFC8: .4byte gUnknown_203B238
- thumb_func_end sub_801BFB4
-
- thumb_func_start sub_801BFCC
-sub_801BFCC:
- push {r4-r7,lr}
- ldr r4, _0801BFF0
- ldr r0, [r4]
- adds r0, 0xC4
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x2
- bne _0801BFF8
- adds r1, 0xF4
- ldr r0, _0801BFF4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _0801C01A
- .align 2, 0
-_0801BFF0: .4byte gUnknown_203B238
-_0801BFF4: .4byte gUnknown_80DBDB0
-_0801BFF8:
- mov r12, r4
- ldr r4, _0801C034
- movs r3, 0
- movs r2, 0x3
-_0801C000:
- mov r0, r12
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0xC4
- 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 _0801C000
-_0801C01A:
- bl ResetUnusedInputStruct
- ldr r0, _0801C038
- ldr r0, [r0]
- adds r0, 0xC4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C034: .4byte gUnknown_80DBD98
-_0801C038: .4byte gUnknown_203B238
- thumb_func_end sub_801BFCC
-
- thumb_func_start sub_801C03C
-sub_801C03C:
- push {lr}
- sub sp, 0x8
- ldr r1, _0801C058
- ldr r0, [r1]
- ldr r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _0801C0C2
- lsls r0, 2
- ldr r1, _0801C05C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801C058: .4byte gUnknown_203B238
-_0801C05C: .4byte _0801C060
- .align 2, 0
-_0801C060:
- .4byte _0801C074
- .4byte _0801C084
- .4byte _0801C08C
- .4byte _0801C0B8
- .4byte _0801C0C2
-_0801C074:
- ldr r0, [r2]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- movs r1, 0
- movs r2, 0x8
- bl sub_801C244
- b _0801C0C2
-_0801C084:
- movs r0, 0x1
- bl sub_801C3B0
- b _0801C0C2
-_0801C08C:
- bl sub_801C4C8
- bl sub_801C0C8
- ldr r0, _0801C0B4
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x74
- adds r1, r2, 0
- adds r1, 0x34
- ldr r2, [r2, 0x30]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0801C0C2
- .align 2, 0
-_0801C0B4: .4byte gUnknown_203B238
-_0801C0B8:
- ldr r0, [r2]
- adds r0, 0x28
- ldrb r0, [r0]
- bl sub_801C620
-_0801C0C2:
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_801C03C
-
- thumb_func_start sub_801C0C8
-sub_801C0C8:
- push {r4,r5,lr}
- ldr r3, _0801C10C
- ldr r1, [r3]
- movs r4, 0
- ldr r0, _0801C110
- str r0, [r1, 0x34]
- movs r0, 0x2
- str r0, [r1, 0x38]
- movs r2, 0x1
- ldr r0, _0801C114
- ldr r0, [r0]
- str r0, [r1, 0x3C]
- movs r0, 0x3
- str r0, [r1, 0x40]
- movs r5, 0x2
- str r4, [r1, 0x44]
- str r2, [r1, 0x48]
- movs r2, 0
- ldr r4, [r1, 0x30]
- adds r1, 0x38
-_0801C0F0:
- ldr r0, [r1]
- cmp r0, r4
- beq _0801C104
- adds r1, 0x8
- adds r2, 0x1
- cmp r2, r5
- blt _0801C0F0
- ldr r1, [r3]
- movs r0, 0x2
- str r0, [r1, 0x30]
-_0801C104:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C10C: .4byte gUnknown_203B238
-_0801C110: .4byte gUnknown_80DBDC8
-_0801C114: .4byte gUnknown_80D4970
- thumb_func_end sub_801C0C8
-
- thumb_func_start sub_801C118
-sub_801C118:
- push {lr}
- movs r0, 0x1
- bl sub_801C308
- cmp r0, 0x4
- bhi _0801C19A
- lsls r0, 2
- ldr r1, _0801C130
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801C130: .4byte _0801C134
- .align 2, 0
-_0801C134:
- .4byte _0801C19A
- .4byte _0801C19A
- .4byte _0801C190
- .4byte _0801C148
- .4byte _0801C16C
-_0801C148:
- bl sub_801C390
- ldr r1, _0801C168
- ldr r2, [r1]
- str r0, [r2, 0x24]
- adds r1, r2, 0
- adds r1, 0xC
- adds r1, r0
- ldrb r0, [r1]
- adds r2, 0x28
- strb r0, [r2]
- movs r0, 0x2
- bl sub_801BFB4
- b _0801C19A
- .align 2, 0
-_0801C168: .4byte gUnknown_203B238
-_0801C16C:
- bl sub_801C390
- ldr r1, _0801C18C
- ldr r2, [r1]
- str r0, [r2, 0x24]
- adds r1, r2, 0
- adds r1, 0xC
- adds r1, r0
- ldrb r0, [r1]
- adds r2, 0x28
- strb r0, [r2]
- movs r0, 0x3
- bl sub_801BFB4
- b _0801C19A
- .align 2, 0
-_0801C18C: .4byte gUnknown_203B238
-_0801C190:
- bl sub_801C3F8
- movs r0, 0x4
- bl sub_801BFB4
-_0801C19A:
- pop {r0}
- bx r0
- thumb_func_end sub_801C118
-
- thumb_func_start sub_801C1A0
-sub_801C1A0:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801C308
- ldr r4, _0801C1E0
- ldr r0, [r4]
- adds r0, 0x74
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801C1D0
- ldr r0, [r4]
- adds r0, 0x74
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0801C1D0
- ldr r0, [r4]
- str r1, [r0, 0x30]
-_0801C1D0:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801C1EA
- cmp r0, 0x2
- bgt _0801C1E4
- cmp r0, 0x1
- beq _0801C218
- b _0801C21E
- .align 2, 0
-_0801C1E0: .4byte gUnknown_203B238
-_0801C1E4:
- cmp r0, 0x3
- beq _0801C210
- b _0801C21E
-_0801C1EA:
- ldr r0, _0801C208
- bl sub_8011988
- ldr r0, _0801C20C
- ldr r1, [r0]
- ldr r0, [r1, 0x8]
- adds r0, 0x20
- adds r1, 0x28
- ldrb r1, [r1]
- bl sub_808EBF4
- movs r0, 0x1
- bl sub_801BFB4
- b _0801C21E
- .align 2, 0
-_0801C208: .4byte 0x00000133
-_0801C20C: .4byte gUnknown_203B238
-_0801C210:
- movs r0, 0x3
- bl sub_801BFB4
- b _0801C21E
-_0801C218:
- movs r0, 0x1
- bl sub_801BFB4
-_0801C21E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801C1A0
-
- thumb_func_start sub_801C228
-sub_801C228:
- push {lr}
- bl sub_801C674
- cmp r0, 0x1
- bls _0801C240
- cmp r0, 0x3
- bhi _0801C240
- bl sub_801C6B4
- movs r0, 0x1
- bl sub_801BFB4
-_0801C240:
- pop {r0}
- bx r0
- thumb_func_end sub_801C228
-
- thumb_func_start sub_801C244
-sub_801C244:
- push {r4-r7,lr}
- adds r6, r1, 0
- adds r7, r2, 0
- lsls r0, 16
- asrs r0, 16
- adds r4, r0, 0
- bl sub_801C5F0
- lsls r0, 24
- cmp r0, 0
- beq _0801C25E
- movs r0, 0
- b _0801C2F6
-_0801C25E:
- ldr r5, _0801C2FC
- ldr r0, [r5]
- cmp r0, 0
- bne _0801C270
- movs r0, 0xC4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
-_0801C270:
- ldr r0, [r5]
- strh r4, [r0]
- ldr r3, _0801C300
- movs r1, 0x58
- adds r2, r4, 0
- muls r2, r1
- ldr r1, [r3]
- adds r1, r2
- str r1, [r0, 0x4]
- adds r0, 0x8
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- bl sub_808EBA8
- adds r1, r0, 0
- ldr r0, [r5]
- str r1, [r0, 0x20]
- str r6, [r0, 0x58]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x60
- adds r1, r0, r1
- str r1, [r0, 0x5C]
- adds r0, 0x60
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x58]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x60
- ldr r0, _0801C304
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r1, [r5]
- ldr r0, [r1, 0x5C]
- adds r1, 0xC0
- str r1, [r0, 0x14]
- adds r1, r7, 0
- bl sub_8012D08
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x20]
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_8013818
- bl sub_801C440
- bl sub_801C4C8
- movs r0, 0x1
-_0801C2F6:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801C2FC: .4byte gUnknown_203B23C
-_0801C300: .4byte gUnknown_203B45C
-_0801C304: .4byte gUnknown_80DBDF0
- thumb_func_end sub_801C244
-
- thumb_func_start sub_801C308
-sub_801C308:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0801C324
- ldr r0, _0801C320
- ldr r0, [r0]
- adds r0, 0x24
- bl sub_8013660
- movs r0, 0
- b _0801C38A
- .align 2, 0
-_0801C320: .4byte gUnknown_203B23C
-_0801C324:
- ldr r0, _0801C33C
- ldr r0, [r0]
- adds r0, 0x24
- bl GetKeyPress
- cmp r0, 0x2
- beq _0801C346
- cmp r0, 0x2
- bgt _0801C340
- cmp r0, 0x1
- beq _0801C350
- b _0801C364
- .align 2, 0
-_0801C33C: .4byte gUnknown_203B23C
-_0801C340:
- cmp r0, 0x4
- beq _0801C35A
- b _0801C364
-_0801C346:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0801C38A
-_0801C350:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _0801C38A
-_0801C35A:
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _0801C38A
-_0801C364:
- ldr r0, _0801C37C
- ldr r0, [r0]
- adds r0, 0x24
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801C380
- movs r0, 0
- b _0801C38A
- .align 2, 0
-_0801C37C: .4byte gUnknown_203B23C
-_0801C380:
- bl sub_801C440
- bl sub_801C4C8
- movs r0, 0x1
-_0801C38A:
- pop {r1}
- bx r1
- thumb_func_end sub_801C308
-
- thumb_func_start sub_801C390
-sub_801C390:
- ldr r0, _0801C3AC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- movs r3, 0x3C
- ldrsh r1, [r2, r3]
- adds r0, r1
- bx lr
- .align 2, 0
-_0801C3AC: .4byte gUnknown_203B23C
- thumb_func_end sub_801C390
-
- thumb_func_start sub_801C3B0
-sub_801C3B0:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetUnusedInputStruct
- ldr r5, _0801C3F4
- ldr r0, [r5]
- adds r0, 0x60
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- ldr r1, [r0, 0x20]
- adds r2, r0, 0
- adds r2, 0x46
- strh r1, [r2]
- adds r0, 0x24
- bl sub_8013984
- bl sub_801C440
- bl sub_801C4C8
- cmp r4, 0
- beq _0801C3EE
- ldr r0, [r5]
- adds r0, 0x24
- bl AddMenuCursorSprite
-_0801C3EE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C3F4: .4byte gUnknown_203B23C
- thumb_func_end sub_801C3B0
-
- thumb_func_start sub_801C3F8
-sub_801C3F8:
- push {r4,r5,lr}
- ldr r4, _0801C438
- ldr r2, [r4]
- cmp r2, 0
- beq _0801C432
- ldr r0, [r2, 0x58]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x60
- ldr r0, _0801C43C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801C432:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C438: .4byte gUnknown_203B23C
-_0801C43C: .4byte gUnknown_80DBDD8
- thumb_func_end sub_801C3F8
-
- thumb_func_start sub_801C440
-sub_801C440:
- push {r4,lr}
- ldr r4, _0801C4C4
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x44
- ldrh r1, [r1]
- adds r0, 0xC0
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x42
- ldrh r1, [r1]
- adds r0, 0xC1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC2
- movs r1, 0xA
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC3
- strb r2, [r0]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x3E
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- ldr r2, [r4]
- ldr r3, [r2, 0x58]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x6E
- lsls r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r3, [r2, 0x58]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r2, r1
- adds r2, 0x70
- strh r0, [r2]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C4C4: .4byte gUnknown_203B23C
- thumb_func_end sub_801C440
-
- thumb_func_start sub_801C4C8
-sub_801C4C8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r6, _0801C594
- ldr r0, [r6]
- ldr r0, [r0, 0x58]
- bl sub_8008C54
- ldr r0, [r6]
- ldr r0, [r0, 0x58]
- bl sub_80073B8
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x42
- movs r2, 0
- ldrsh r4, [r1, r2]
- lsls r4, 3
- adds r5, r4, 0
- adds r5, 0xA
- ldr r2, _0801C598
- ldr r3, [r0, 0x58]
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl xxx_call_draw_string
- adds r4, 0x4
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xC2
- ldrb r0, [r0]
- lsls r0, 3
- adds r5, r4, r0
- adds r0, r1, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r2, [r0, r3]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- ldr r0, [r1, 0x58]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x1
- bl sub_8012BC4
- movs r5, 0
- ldr r0, [r6]
- movs r1, 0x3E
- ldrsh r0, [r0, r1]
- cmp r5, r0
- bge _0801C5CC
- ldr r2, _0801C59C
- mov r8, r2
-_0801C53C:
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r1, r0
- adds r1, r5
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1
- ldrb r4, [r0]
- adds r0, r2, 0
- adds r0, 0x24
- adds r1, r5, 0
- bl sub_8013800
- adds r7, r0, 0
- adds r0, r4, 0
- bl sub_808EAB0
- adds r1, r0, 0
- mov r0, r8
- movs r2, 0x50
- bl strncpy
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, 0x20
- movs r1, 0x1
- lsls r1, r4
- bl sub_808ECD0
- lsls r0, 24
- cmp r0, 0
- beq _0801C5A4
- mov r0, r8
- subs r0, 0x50
- ldr r1, _0801C5A0
- bl strcpy
- b _0801C5AE
- .align 2, 0
-_0801C594: .4byte gUnknown_203B23C
-_0801C598: .4byte gUnknown_80DBE08
-_0801C59C: .4byte gUnknown_202DEA8
-_0801C5A0: .4byte gUnknown_80DBE14
-_0801C5A4:
- mov r0, r8
- subs r0, 0x50
- ldr r1, _0801C5E4
- bl strcpy
-_0801C5AE:
- ldr r0, [r6]
- ldr r3, [r0, 0x58]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- adds r1, r7, 0
- ldr r2, _0801C5E8
- bl sub_8014FF0
- adds r5, 0x1
- ldr r0, [r6]
- movs r1, 0x3E
- ldrsh r0, [r0, r1]
- cmp r5, r0
- blt _0801C53C
-_0801C5CC:
- ldr r0, _0801C5EC
- ldr r0, [r0]
- ldr r0, [r0, 0x58]
- bl sub_80073E0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C5E4: .4byte gUnknown_80DBE18
-_0801C5E8: .4byte gUnknown_80DBE1C
-_0801C5EC: .4byte gUnknown_203B23C
- thumb_func_end sub_801C4C8
-
- thumb_func_start sub_801C5F0
-sub_801C5F0:
- push {lr}
- sub sp, 0x18
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0801C614
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x14
- ldrsh r1, [r0, r2]
- mov r0, sp
- bl sub_808EBA8
- cmp r0, 0
- beq _0801C618
- movs r0, 0
- b _0801C61A
- .align 2, 0
-_0801C614: .4byte gUnknown_203B45C
-_0801C618:
- movs r0, 0x1
-_0801C61A:
- add sp, 0x18
- pop {r1}
- 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 sub_8090D44
- adds r4, r0, 0
- ldr r0, [r7]
- adds r0, 0x4
- adds r0, r5
- ldrb r0, [r0]
- bl sub_8090D44
- 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 gUnknown_203B45C
-_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 @ Don't pad with nop.
diff --git a/asm/code_801D760.s b/asm/code_801D760.s
index e52bae8..a93ed64 100644
--- a/asm/code_801D760.s
+++ b/asm/code_801D760.s
@@ -2517,7 +2517,7 @@ _0801ED6C:
b _0801ED9A
_0801ED74:
ldr r0, _0801ED90
- bl sub_8011988
+ bl PlaySound
ldr r1, [r4]
ldr r0, [r1, 0x20]
ldr r1, [r1, 0x10]
@@ -2735,7 +2735,7 @@ _0801EED8:
bx r1
.align 2, 0
_0801EF28: .4byte gUnknown_203B270
-_0801EF2C: .4byte gUnknown_203B45C
+_0801EF2C: .4byte gRecruitedPokemonRef
_0801EF30: .4byte gUnknown_80DC25C
_0801EF34: .4byte gUnknown_80DC274
thumb_func_end sub_801EE10
@@ -2923,7 +2923,7 @@ _0801F074:
strb r7, [r1, 0x4]
movs r0, 0xA6
lsls r0, 1
- bl sub_8011988
+ bl PlaySound
b _0801F12E
.align 2, 0
_0801F0C8: .4byte gUnknown_203B270
@@ -3478,7 +3478,7 @@ sub_801F428:
bx r1
.align 2, 0
_0801F50C: .4byte gUnknown_203B274
-_0801F510: .4byte gUnknown_203B45C
+_0801F510: .4byte gRecruitedPokemonRef
_0801F514: .4byte gUnknown_80DC2C4
_0801F518: .4byte 0x000003e5
_0801F51C: .4byte 0x000003e6
@@ -4308,11 +4308,11 @@ sub_801FB50:
ldr r0, _0801FBC4
ldr r4, _0801FBC8
adds r1, r4, 0
- bl sub_808D8E0
+ bl CopyYellowSpeciesNametoBuffer
ldr r5, _0801FBCC
adds r0, r5, 0
adds r1, r4, 0
- bl sub_808D8E0
+ bl CopyYellowSpeciesNametoBuffer
adds r0, r4, 0
bl GetMonSpecies
adds r1, r0, 0
@@ -6212,7 +6212,7 @@ _08020AB0:
b _08020B32
.align 2, 0
_08020AE0: .4byte gUnknown_203B27C
-_08020AE4: .4byte gUnknown_203B45C
+_08020AE4: .4byte gRecruitedPokemonRef
_08020AE8: .4byte gUnknown_202E128
_08020AEC:
bl sub_8023B44
@@ -6238,7 +6238,7 @@ _08020AEC:
b _08020B32
.align 2, 0
_08020B1C: .4byte gUnknown_203B27C
-_08020B20: .4byte gUnknown_203B45C
+_08020B20: .4byte gRecruitedPokemonRef
_08020B24: .4byte gUnknown_202E128
_08020B28:
bl sub_8023C60
@@ -6751,7 +6751,7 @@ _08020F44:
cmp r0, 0
beq _08020F68
ldr r0, _08020F64
- bl sub_8011988
+ bl PlaySound
b _08021068
.align 2, 0
_08020F60: .4byte gUnknown_203B27C
@@ -6762,7 +6762,7 @@ _08020F68:
b _08021068
_08020F70:
ldr r0, _08020F84
- bl sub_8011988
+ bl PlaySound
ldr r0, _08020F88
ldr r1, [r0]
ldr r0, [r1, 0x18]
@@ -6782,7 +6782,7 @@ _08020F8C:
cmp r0, 0
beq _08020FB0
ldr r0, _08020FAC
- bl sub_8011988
+ bl PlaySound
b _08021068
.align 2, 0
_08020FA8: .4byte gUnknown_203B27C
@@ -6832,11 +6832,11 @@ _08021000:
strb r0, [r1, 0x15]
movs r0, 0xA6
lsls r0, 1
- bl sub_8011988
+ bl PlaySound
b _0802101C
_08021016:
ldr r0, _0802102C
- bl sub_8011988
+ bl PlaySound
_0802101C:
ldr r0, _08021030
ldr r1, [r0]
@@ -6865,7 +6865,7 @@ _08021034:
_08021054: .4byte gUnknown_203B27C
_08021058:
ldr r0, _08021070
- bl sub_8011988
+ bl PlaySound
ldr r1, [r4]
ldr r0, [r1, 0x18]
adds r1, 0x24
@@ -6894,7 +6894,7 @@ _08021074:
_08021094: .4byte gUnknown_203B27C
_08021098:
ldr r0, _080210B4
- bl sub_8011988
+ bl PlaySound
ldr r1, [r4]
ldr r0, [r1, 0x18]
adds r1, 0x24
@@ -8271,7 +8271,7 @@ _08021B3C:
.align 2, 0
_08021B4C: .4byte gUnknown_203B28C
_08021B50: .4byte 0x000001a7
-_08021B54: .4byte gUnknown_203B45C
+_08021B54: .4byte gRecruitedPokemonRef
thumb_func_end sub_8021A60
thumb_func_start sub_8021B58
@@ -8314,8 +8314,8 @@ _08021B94:
bx r1
thumb_func_end sub_8021B58
- thumb_func_start sub_8021B9C
-sub_8021B9C:
+ thumb_func_start CreateWigglytuffShop
+CreateWigglytuffShop:
push {r4-r6,lr}
adds r4, r0, 0
bl ResetUnusedInputStruct
@@ -8335,11 +8335,11 @@ sub_8021B9C:
str r4, [r0]
ldr r0, _08021BFC
movs r1, 0x28
- bl sub_808D8E0
+ bl CopyYellowSpeciesNametoBuffer
ldr r4, _08021C00
adds r0, r4, 0
movs r1, 0x28
- bl sub_808D8E0
+ bl CopyYellowSpeciesNametoBuffer
movs r0, 0x28
bl GetMonSpecies
adds r1, r0, 0
@@ -8401,7 +8401,7 @@ _08021C0E:
bx r1
.align 2, 0
_08021C58: .4byte gUnknown_203B290
- thumb_func_end sub_8021B9C
+ thumb_func_end CreateWigglytuffShop
thumb_func_start sub_8021C5C
sub_8021C5C:
@@ -8510,7 +8510,7 @@ sub_8021D44:
ldr r1, [r1]
str r0, [r1, 0x4]
bl sub_8021D5C
- bl sub_8021E0C
+ bl UpdateWigglytuffDialogue
pop {r0}
bx r0
.align 2, 0
@@ -8607,8 +8607,8 @@ _08021E04: .4byte gUnknown_203B290
_08021E08: .4byte gUnknown_80DC534
thumb_func_end sub_8021D5C
- thumb_func_start sub_8021E0C
-sub_8021E0C:
+ thumb_func_start UpdateWigglytuffDialogue
+UpdateWigglytuffDialogue:
push {r4,lr}
sub sp, 0x20
ldr r1, _08021E28
@@ -8922,7 +8922,7 @@ _080220B8:
movs r0, 0xE
str r0, [r1, 0x8]
ldr r0, _080220D4
- bl sub_8011988
+ bl PlaySound
ldr r0, [r4]
movs r1, 0x98
lsls r1, 1
@@ -8962,7 +8962,7 @@ _08022108:
_0802210E:
str r0, [r1, 0x8]
movs r0, 0xCE
- bl sub_8011988
+ bl PlaySound
ldr r3, _08022134
ldr r0, _08022130
ldr r2, [r0]
@@ -9183,7 +9183,7 @@ _080222B6:
.align 2, 0
_080222C0: .4byte gWigglytuffDialogue
_080222C4: .4byte 0x0000010d
- thumb_func_end sub_8021E0C
+ thumb_func_end UpdateWigglytuffDialogue
thumb_func_start sub_80222C8
sub_80222C8:
@@ -9495,7 +9495,7 @@ _080224F8:
bl UnlockFriendArea
movs r0, 0xA6
lsls r0, 1
- bl sub_8011988
+ bl PlaySound
movs r0, 0xC
bl sub_8021D44
b _08022532
@@ -10333,7 +10333,7 @@ _08022BCE:
ldr r0, _08022C18
bl strcpy
movs r0, 0xCB
- bl sub_8011988
+ bl PlaySound
ldr r0, _08022C1C
movs r1, 0
movs r2, 0
@@ -10534,7 +10534,7 @@ _08022D80:
adds r0, r2, 0
adds r0, 0x52
ldrb r0, [r0]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x5
@@ -11542,7 +11542,7 @@ _08023532:
_08023594:
adds r0, r5, 0
movs r1, 0
- bl sub_808DCA0
+ bl GetDexInternalNo
lsls r0, 16
asrs r4, r0, 16
adds r0, r4, 0
@@ -11794,12 +11794,12 @@ _08023788:
ldrsh r0, [r6, r1]
movs r1, 0x1
str r2, [sp]
- bl sub_808DCDC
+ bl GetAlphabetParentNo
adds r4, r0, 0
movs r1, 0
ldrsh r0, [r5, r1]
movs r1, 0x1
- bl sub_808DCDC
+ bl GetAlphabetParentNo
lsls r4, 16
lsls r0, 16
ldr r2, [sp]
@@ -11868,12 +11868,12 @@ _08023810:
ldrsh r0, [r6, r1]
movs r1, 0
str r2, [sp]
- bl sub_808DCDC
+ bl GetAlphabetParentNo
adds r4, r0, 0
movs r1, 0
ldrsh r0, [r5, r1]
movs r1, 0
- bl sub_808DCDC
+ bl GetAlphabetParentNo
lsls r4, 16
lsls r0, 16
ldr r2, [sp]
@@ -12413,7 +12413,7 @@ _08023C4A:
bx r1
.align 2, 0
_08023C58: .4byte gUnknown_3001B60
-_08023C5C: .4byte gUnknown_203B45C
+_08023C5C: .4byte gRecruitedPokemonRef
thumb_func_end sub_8023BD8
thumb_func_start sub_8023C60
@@ -12725,7 +12725,7 @@ _08023EC0: .4byte 0x000003f6
_08023EC4: .4byte 0x00000376
_08023EC8: .4byte gUnknown_3001B60
_08023ECC: .4byte 0x00000372
-_08023ED0: .4byte gUnknown_203B45C
+_08023ED0: .4byte gRecruitedPokemonRef
_08023ED4:
ldrb r0, [r3, 0x18]
cmp r0, 0
@@ -12853,7 +12853,7 @@ _08023FA2:
b _08023FE2
.align 2, 0
_08023FD0: .4byte gUnknown_3001B60
-_08023FD4: .4byte gUnknown_203B45C
+_08023FD4: .4byte gRecruitedPokemonRef
_08023FD8:
adds r4, 0x1
movs r0, 0xCE
@@ -12905,7 +12905,7 @@ _08024002:
str r1, [r3, 0x8]
b _08024042
.align 2, 0
-_08024034: .4byte gUnknown_203B45C
+_08024034: .4byte gRecruitedPokemonRef
_08024038:
adds r4, 0x1
movs r0, 0xCE
@@ -13014,7 +13014,7 @@ _080240EE:
pop {r1}
bx r1
.align 2, 0
-_08024100: .4byte gUnknown_203B45C
+_08024100: .4byte gRecruitedPokemonRef
_08024104: .4byte gUnknown_3001B60
thumb_func_end sub_8023F8C
@@ -13044,7 +13044,7 @@ _08024110:
beq _08024172
b _0802416E
.align 2, 0
-_08024134: .4byte gUnknown_203B45C
+_08024134: .4byte gRecruitedPokemonRef
_08024138:
cmp r5, 0x3
bne _08024140
@@ -13225,7 +13225,7 @@ _0802425E:
movs r3, 0x8
ldrsh r0, [r1, r3]
str r2, [sp, 0x8]
- bl sub_808DCFC
+ bl GetInternalNo
adds r4, r0, 0
mov r0, r9
ldr r1, [r0]
@@ -13237,7 +13237,7 @@ _0802425E:
adds r1, r0
movs r3, 0x8
ldrsh r0, [r1, r3]
- bl sub_808DCFC
+ bl GetInternalNo
lsls r4, 16
lsls r0, 16
ldr r2, [sp, 0x8]
@@ -13269,7 +13269,7 @@ _080242B8:
bx r0
.align 2, 0
_080242C8: .4byte gUnknown_3001B60
-_080242CC: .4byte gUnknown_203B45C
+_080242CC: .4byte gRecruitedPokemonRef
thumb_func_end sub_8024228
thumb_func_start sub_80242D0
@@ -13316,7 +13316,7 @@ _08024306:
ldrsh r0, [r1, r3]
movs r1, 0
str r2, [sp, 0x8]
- bl sub_808DCDC
+ bl GetAlphabetParentNo
adds r4, r0, 0
mov r0, r9
ldr r1, [r0]
@@ -13329,7 +13329,7 @@ _08024306:
movs r3, 0x8
ldrsh r0, [r1, r3]
movs r1, 0
- bl sub_808DCDC
+ bl GetAlphabetParentNo
lsls r4, 16
lsls r0, 16
ldr r2, [sp, 0x8]
@@ -13361,7 +13361,7 @@ _08024364:
bx r0
.align 2, 0
_08024374: .4byte gUnknown_3001B60
-_08024378: .4byte gUnknown_203B45C
+_08024378: .4byte gRecruitedPokemonRef
thumb_func_end sub_80242D0
thumb_func_start sub_802437C
@@ -13474,7 +13474,7 @@ sub_80243E8:
pop {r1}
bx r1
.align 2, 0
-_08024448: .4byte gUnknown_203B45C
+_08024448: .4byte gRecruitedPokemonRef
_0802444C: .4byte gUnknown_3001B60
_08024450: .4byte 0x00000376
_08024454: .4byte gUnknown_80DC9A4
@@ -13739,7 +13739,7 @@ sub_8024604:
bx r0
.align 2, 0
_08024654: .4byte gUnknown_203B2AC
-_08024658: .4byte gUnknown_203B45C
+_08024658: .4byte gRecruitedPokemonRef
thumb_func_end sub_8024604
thumb_func_start sub_802465C
@@ -14309,7 +14309,7 @@ _08024B38:
_08024B3A:
str r0, [r1, 0x24]
movs r0, 0x3C
- bl sub_8011930
+ bl xxx_call_fade_out_bgm
ldr r0, _08024B48
b _08024CAE
.align 2, 0
@@ -14321,7 +14321,7 @@ _08024B4C:
movs r2, 0x5
bl sub_808D9AC
ldr r0, _08024B6C
- bl sub_8011988
+ bl PlaySound
ldr r1, [r5]
movs r0, 0x13
str r0, [r1, 0x24]
@@ -14377,7 +14377,7 @@ _08024BD6:
ldr r0, _08024C14
bl sub_801199C
movs r0, 0xD2
- bl sub_8011988
+ bl PlaySound
ldr r1, [r5]
ldrb r0, [r1, 0x10]
cmp r0, 0
@@ -15295,7 +15295,7 @@ _080252D0:
movs r0, 0
b _080252EA
.align 2, 0
-_080252E0: .4byte gUnknown_203B45C
+_080252E0: .4byte gRecruitedPokemonRef
_080252E4: .4byte 0x0000019d
_080252E8:
movs r0, 0x1
@@ -15765,7 +15765,7 @@ _080256A8:
movs r0, 0x1
str r0, [r1, 0x8]
movs r0, 0xCF
- bl sub_8011988
+ bl PlaySound
ldr r0, _080256C4
_080256B6:
ldr r3, _080256C8
@@ -15907,7 +15907,7 @@ _080257A0:
adds r6, 0x1
b _08025810
.align 2, 0
-_080257CC: .4byte gUnknown_203B45C
+_080257CC: .4byte gRecruitedPokemonRef
_080257D0: .4byte gUnknown_203B2B4
_080257D4: .4byte gUnknown_80DD2B0
_080257D8: .4byte gUnknown_80DD2B8
@@ -16219,7 +16219,7 @@ _08025A0C:
b _08025A7E
.align 2, 0
_08025A38: .4byte gUnknown_203B2B4
-_08025A3C: .4byte gUnknown_203B45C
+_08025A3C: .4byte gRecruitedPokemonRef
_08025A40:
bl sub_8023B44
ldr r1, _08025A6C
@@ -16242,7 +16242,7 @@ _08025A40:
b _08025A7E
.align 2, 0
_08025A6C: .4byte gUnknown_203B2B4
-_08025A70: .4byte gUnknown_203B45C
+_08025A70: .4byte gRecruitedPokemonRef
_08025A74:
bl sub_8023C60
movs r0, 0x13
@@ -16324,7 +16324,7 @@ _08025B20:
b _08025BC2
_08025B28:
ldr r0, _08025B68
- bl sub_8011988
+ bl PlaySound
ldr r4, _08025B6C
ldr r1, [r4]
ldrb r0, [r1, 0x18]
@@ -16547,7 +16547,7 @@ _08025CF8:
bne _08025D88
movs r6, 0x8
ldr r0, _08025D68
- bl sub_8011988
+ bl PlaySound
ldr r5, _08025D6C
ldr r0, [r5]
ldr r0, [r0, 0x10]
@@ -16819,7 +16819,7 @@ sub_8025EF4:
b _08025F48
.align 2, 0
_08025F1C: .4byte gUnknown_203B2B8
-_08025F20: .4byte gUnknown_203B45C
+_08025F20: .4byte gRecruitedPokemonRef
_08025F24:
adds r5, 0x1
movs r0, 0xCE
@@ -16853,7 +16853,7 @@ _08025F48:
bx r1
.align 2, 0
_08025F60: .4byte gUnknown_203B2B8
-_08025F64: .4byte gUnknown_203B45C
+_08025F64: .4byte gRecruitedPokemonRef
thumb_func_end sub_8025EF4
thumb_func_start sub_8025F68
@@ -17393,7 +17393,7 @@ _080263F8:
movs r0, 0x19
str r0, [r1, 0x4]
movs r0, 0xCF
- bl sub_8011988
+ bl PlaySound
ldr r0, _08026408
b _08026492
.align 2, 0
@@ -17403,7 +17403,7 @@ _0802640C:
movs r0, 0x19
str r0, [r1, 0x4]
movs r0, 0xCF
- bl sub_8011988
+ bl PlaySound
ldr r0, _0802641C
b _08026492
.align 2, 0
@@ -17413,7 +17413,7 @@ _08026420:
movs r0, 0x19
str r0, [r1, 0x4]
movs r0, 0xCC
- bl sub_8011988
+ bl PlaySound
ldr r0, _08026430
b _08026492
.align 2, 0
@@ -17423,7 +17423,7 @@ _08026434:
movs r0, 0x9
str r0, [r1, 0x4]
movs r0, 0xCA
- bl sub_8011988
+ bl PlaySound
ldr r0, _08026444
b _08026492
.align 2, 0
@@ -17577,7 +17577,7 @@ _08026542:
movs r6, 0x2
b _080265B4
.align 2, 0
-_08026574: .4byte gUnknown_203B45C
+_08026574: .4byte gRecruitedPokemonRef
_08026578: .4byte gUnknown_203B2B8
_0802657C: .4byte gUnknown_80DD664
_08026580: .4byte gUnknown_80DD670
@@ -18089,7 +18089,7 @@ _08026976:
b _08026A6E
.align 2, 0
_08026984: .4byte gUnknown_203B2B8
-_08026988: .4byte gUnknown_203B45C
+_08026988: .4byte gRecruitedPokemonRef
_0802698C:
ldr r0, _080269AC
ldr r0, [r0]
@@ -18130,7 +18130,7 @@ _080269DA:
bl sub_8026074
b _08026A6E
.align 2, 0
-_080269E8: .4byte gUnknown_203B45C
+_080269E8: .4byte gRecruitedPokemonRef
_080269EC: .4byte gUnknown_203B2B8
_080269F0:
movs r0, 0xC
@@ -18150,7 +18150,7 @@ _08026A08:
b _08026A6E
_08026A10:
ldr r0, _08026A50
- bl sub_8011988
+ bl PlaySound
ldr r4, _08026A54
ldr r1, [r4]
ldrb r0, [r1, 0x14]
@@ -18450,7 +18450,7 @@ _08026C58:
bne _08026CE8
movs r6, 0xF
ldr r0, _08026CC8
- bl sub_8011988
+ bl PlaySound
ldr r5, _08026CCC
ldr r0, [r5]
ldr r0, [r0, 0xC]
@@ -18885,7 +18885,7 @@ sub_8026FA4:
_08026FC0: .4byte gUnknown_203B2B8
_08026FC4:
ldr r0, _08026FF4
- bl sub_8011988
+ bl PlaySound
ldr r0, [r4]
adds r0, 0x14
bl sub_8091274
@@ -18907,7 +18907,7 @@ _08026FC4:
_08026FF4: .4byte 0x0000014d
_08026FF8:
ldr r0, _08027024
- bl sub_8011988
+ bl PlaySound
ldr r0, [r4]
ldrb r0, [r0, 0x14]
bl sub_8090A60
@@ -19505,7 +19505,7 @@ _080274B6:
str r2, [r0]
b _08027550
.align 2, 0
-_080274E4: .4byte gUnknown_203B45C
+_080274E4: .4byte gRecruitedPokemonRef
_080274E8: .4byte gUnknown_203B2BC
_080274EC: .4byte gFriendActionStandby
_080274F0: .4byte gFriendActionMakeLeader
@@ -19949,7 +19949,7 @@ _0802782C:
b _080278AE
.align 2, 0
_08027860: .4byte gUnknown_203B2BC
-_08027864: .4byte gUnknown_203B45C
+_08027864: .4byte gRecruitedPokemonRef
_08027868:
bl sub_8023B44
ldr r4, _0802789C
@@ -19975,7 +19975,7 @@ _08027868:
b _080278AE
.align 2, 0
_0802789C: .4byte gUnknown_203B2BC
-_080278A0: .4byte gUnknown_203B45C
+_080278A0: .4byte gRecruitedPokemonRef
_080278A4:
bl sub_8023C60
movs r0, 0x11
@@ -20065,7 +20065,7 @@ _0802795E:
b _08027A0E
.align 2, 0
_08027964: .4byte gUnknown_203B2BC
-_08027968: .4byte gUnknown_203B45C
+_08027968: .4byte gRecruitedPokemonRef
_0802796C:
ldr r0, _08027984
ldr r0, [r0]
@@ -20102,7 +20102,7 @@ _080279B2:
bl sub_808ED00
b _08027A0E
.align 2, 0
-_080279B8: .4byte gUnknown_203B45C
+_080279B8: .4byte gRecruitedPokemonRef
_080279BC: .4byte gUnknown_203B2BC
_080279C0:
movs r0, 0x8
@@ -20118,7 +20118,7 @@ _080279D0:
b _08027A36
_080279D8:
ldr r0, _08027A18
- bl sub_8011988
+ bl PlaySound
ldr r4, _08027A1C
ldr r1, [r4]
ldrb r0, [r1, 0x14]
@@ -20412,7 +20412,7 @@ _08027C1C:
cmp r0, 0xA
bne _08027C7C
ldr r0, _08027C60
- bl sub_8011988
+ bl PlaySound
ldr r4, _08027C64
ldr r0, [r4]
ldr r0, [r0, 0xC]
diff --git a/asm/code_8027C84.s b/asm/code_8027C84.s
index 992a53c..c007807 100644
--- a/asm/code_8027C84.s
+++ b/asm/code_8027C84.s
@@ -306,7 +306,7 @@ sub_8027EB8:
_08027ED4: .4byte gUnknown_203B2BC
_08027ED8:
ldr r0, _08027F08
- bl sub_8011988
+ bl PlaySound
ldr r0, [r4]
adds r0, 0x14
bl sub_8091274
@@ -328,7 +328,7 @@ _08027ED8:
_08027F08: .4byte 0x0000014d
_08027F0C:
ldr r0, _08027F38
- bl sub_8011988
+ bl PlaySound
ldr r0, [r4]
ldrb r0, [r0, 0x14]
bl sub_8090A60
diff --git a/asm/code_802B640.s b/asm/code_802B640.s
index 9834118..683a582 100644
--- a/asm/code_802B640.s
+++ b/asm/code_802B640.s
@@ -2913,7 +2913,7 @@ _0802CCBC:
.4byte _0802CD20
_0802CCD8:
ldr r0, _0802CCEC
- bl sub_8011988
+ bl PlaySound
ldr r0, _0802CCF0
ldr r0, [r0]
ldrb r0, [r0, 0xC]
@@ -2925,7 +2925,7 @@ _0802CCEC: .4byte 0x00000133
_0802CCF0: .4byte gUnknown_203B2F0
_0802CCF4:
ldr r0, _0802CD10
- bl sub_8011988
+ bl PlaySound
ldr r0, _0802CD14
ldr r0, [r0]
ldrb r0, [r0, 0xC]
diff --git a/asm/code_803B050.s b/asm/code_803B050.s
index 924116d..08f7710 100644
--- a/asm/code_803B050.s
+++ b/asm/code_803B050.s
@@ -1279,17 +1279,17 @@ _0803BA34:
ldr r2, _0803BA38
b _0803BAFA
.align 2, 0
-_0803BA38: .4byte gUnknown_80E88A0
+_0803BA38: .4byte gMankeyMissionDescription
_0803BA3C:
ldr r2, _0803BA40
b _0803BAFA
.align 2, 0
-_0803BA40: .4byte gUnknown_80E88C8
+_0803BA40: .4byte gSmeargleMissionDescription
_0803BA44:
ldr r2, _0803BA48
b _0803BAFA
.align 2, 0
-_0803BA48: .4byte gUnknown_80E8920
+_0803BA48: .4byte gMedichamMissionDescription
_0803BA4C:
ldr r4, _0803BA64
ldrb r1, [r7, 0x14]
diff --git a/asm/code_803C1D0.s b/asm/code_803C1D0.s
index c40c6f7..81cd652 100644
--- a/asm/code_803C1D0.s
+++ b/asm/code_803C1D0.s
@@ -220,7 +220,7 @@ _0803C35A:
movs r0, 0xC
ldrsh r1, [r6, r0]
adds r0, r4, 0
- bl sub_808D8E0
+ bl CopyYellowSpeciesNametoBuffer
ldrh r0, [r6, 0xC]
strh r0, [r4, 0x14]
ldrb r1, [r6, 0x1]
diff --git a/asm/code_803D110.s b/asm/code_803D110.s
index daeaf51..cc94445 100644
--- a/asm/code_803D110.s
+++ b/asm/code_803D110.s
@@ -894,7 +894,7 @@ _0803D7AE:
adds r0, r5, 0
str r1, [sp]
str r2, [sp, 0x4]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
ldr r1, [sp]
diff --git a/asm/code_8040094.s b/asm/code_8040094.s
index b81ce2f..36986ea 100644
--- a/asm/code_8040094.s
+++ b/asm/code_8040094.s
@@ -1782,7 +1782,7 @@ _08040EF0:
beq _08040F2A
lsls r0, r1, 16
lsrs r0, 16
- bl sub_8083E38
+ bl PlaySoundEffect
_08040F2A:
ldr r1, [sp, 0x18]
cmp r1, 0x63
diff --git a/asm/code_8041AD0.s b/asm/code_8041AD0.s
index b5e37a1..be5dbe3 100644
--- a/asm/code_8041AD0.s
+++ b/asm/code_8041AD0.s
@@ -554,7 +554,7 @@ _08042694:
subs r4, 0x1
_080426AC:
adds r0, r4, 0
- bl sub_8083E38
+ bl PlaySoundEffect
pop {r4}
pop {r0}
bx r0
@@ -581,7 +581,7 @@ _080426D8:
lsls r1, r4, 1
adds r1, r0
ldrh r0, [r1]
- bl sub_8083E38
+ bl PlaySoundEffect
b _080426FC
.align 2, 0
_080426EC: .4byte gUnknown_80F67DC
@@ -590,7 +590,7 @@ _080426F0:
lsls r1, r4, 1
adds r1, r0
ldrh r0, [r1]
- bl sub_8083E38
+ bl PlaySoundEffect
_080426FC:
adds r0, r5, 0
adds r1, r4, 0
diff --git a/asm/code_80428A0.s b/asm/code_80428A0.s
index 460780b..4af9445 100644
--- a/asm/code_80428A0.s
+++ b/asm/code_80428A0.s
@@ -2713,7 +2713,7 @@ _080440D0:
bl sub_8092AD4
b _080440F8
.align 2, 0
-_080440E4: .4byte gUnknown_203B45C
+_080440E4: .4byte gRecruitedPokemonRef
_080440E8: .4byte 0x03e60000
_080440EC: .4byte 0x000003e7
_080440F0:
@@ -2825,7 +2825,7 @@ _080441A4:
_080441AC: .4byte gUnknown_203B418
_080441B0: .4byte 0x00000644
_080441B4: .4byte gUnknown_203B460
-_080441B8: .4byte gUnknown_203B45C
+_080441B8: .4byte gRecruitedPokemonRef
thumb_func_end sub_8044124
thumb_func_start sub_80441BC
@@ -4108,7 +4108,7 @@ _08044BF0: .4byte gUnknown_80F697C
_08044BF4:
ldr r4, _08044C0C
adds r0, r5, 0
- bl sub_8090D6C
+ bl GetItemCategory
lsls r0, 3
adds r4, 0x4
adds r0, r4
@@ -4382,7 +4382,7 @@ sub_8044DC8:
cmp r0, 0xE9
beq _08044DE8
ldr r4, _08044DE4
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 23
adds r0, r4
@@ -4445,7 +4445,7 @@ sub_8044E24:
cmp r0, 0
bne _08044EBA
ldrb r0, [r5, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x5
@@ -4552,7 +4552,7 @@ _08044F18:
lsls r0, r5, 2
adds r0, r1
ldrb r0, [r0, 0x2]
- bl sub_8090D6C
+ bl GetItemCategory
lsls r0, 3
adds r4, 0x4
adds r0, r4
@@ -6402,7 +6402,7 @@ _08045C76:
strb r0, [r5]
_08045C7E:
adds r0, r4, 0
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x6
@@ -6631,14 +6631,14 @@ _08045E38: .4byte gAvailablePokemonNames
_08045E3C: .4byte gUnknown_80F8F88
_08045E40:
ldrb r0, [r5, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x6
bne _08045E7C
movs r0, 0xA6
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
adds r0, r5, 0
bl sub_80915D4
bl sub_80913A0
@@ -6825,7 +6825,7 @@ _08045FAC:
bl sub_80461C8
movs r0, 0xA5
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
mov r3, sp
adds r0, r3, r4
ldr r0, [r0]
@@ -6902,7 +6902,7 @@ _0804605C: .4byte gUnknown_80F8F54
_08046060:
movs r0, 0xA5
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
lsls r0, r4, 2
add r0, sp
ldr r0, [r0]
@@ -7189,7 +7189,7 @@ sub_8046298:
ldrb r0, [r0, 0xD]
bx lr
.align 2, 0
-_080462A8: .4byte gItemParametersFile + 4
+_080462A8: .4byte gItemParametersData
thumb_func_end sub_8046298
thumb_func_start sub_80462AC
@@ -7361,7 +7361,7 @@ _080463BC:
_080463EE:
ldr r0, [r4, 0x70]
ldrb r0, [r0, 0x2]
- bl sub_8090D58
+ bl GetItemPalette
movs r1, 0xF
ands r0, r1
lsls r0, 12
@@ -7454,7 +7454,7 @@ sub_80464AC:
push {r4,lr}
ldr r4, _080464C4
ldrb r0, [r0, 0x2]
- bl sub_8090D6C
+ bl GetItemCategory
lsls r0, 3
adds r0, r4
ldr r0, [r0]
@@ -8728,7 +8728,7 @@ _08046E1E:
movs r1, 0x41
bl sub_803E708
movs r0, 0xD4
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, _08046EFC
ldr r1, [r0]
movs r0, 0
@@ -8765,7 +8765,7 @@ sub_8046F00:
push {r4-r7,lr}
adds r4, r0, 0
ldrb r0, [r4, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x5
@@ -10171,18 +10171,18 @@ sub_80479B8:
cmp r0, 0
beq _08047A20
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
cmp r0, 0
beq _08047A3C
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
beq _08047A3C
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
@@ -10194,7 +10194,7 @@ sub_80479B8:
b _08047A3C
_08047A20:
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -10235,7 +10235,7 @@ _08047A4C:
bl _080482BA
_08047A76:
ldr r0, _08047AAC
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, _08047AB0
adds r1, r7, 0
bl sub_8045BF8
@@ -10317,7 +10317,7 @@ _08047B30:
bl sub_804245C
_08047B38:
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -10331,13 +10331,13 @@ _08047B38:
bl sub_8078B5C
_08047B56:
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x5
beq _08047B72
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0xA
diff --git a/asm/code_8048480.s b/asm/code_8048480.s
index cad3483..300d379 100644
--- a/asm/code_8048480.s
+++ b/asm/code_8048480.s
@@ -795,7 +795,7 @@ _08048B20:
.align 2, 0
_08048B24: .4byte gUnknown_203B418
_08048B28: .4byte 0x0001357c
-_08048B2C: .4byte gUnknown_203B45C
+_08048B2C: .4byte gRecruitedPokemonRef
_08048B30: .4byte 0x00008df8
_08048B34:
movs r0, 0
@@ -20336,7 +20336,7 @@ _08052196:
b _080521CA
.align 2, 0
_080521B4: .4byte gUnknown_203B460
-_080521B8: .4byte gUnknown_203B45C
+_080521B8: .4byte gRecruitedPokemonRef
_080521BC: .4byte 0x00008df8
_080521C0: .4byte 0x00008e38
_080521C4: .4byte 0x00008e3a
diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s
index ff9b5a1..a77765b 100644
--- a/asm/code_80521D0.s
+++ b/asm/code_80521D0.s
@@ -721,7 +721,7 @@ sub_8052910:
ldrsh r7, [r4, r2]
b _08052966
.align 2, 0
-_08052950: .4byte gUnknown_203B45C
+_08052950: .4byte gRecruitedPokemonRef
_08052954: .4byte 0x00008df8
_08052958: .4byte gAvailablePokemonNames
_0805295C:
@@ -749,7 +749,7 @@ _08052966:
.align 2, 0
_08052988: .4byte gAvailablePokemonNames
_0805298C: .4byte gUnknown_80F7AF8
-_08052990: .4byte gUnknown_203B45C
+_08052990: .4byte gRecruitedPokemonRef
_08052994: .4byte 0x00008df8
_08052998: .4byte gUnknown_202DFE8
_0805299C:
@@ -815,7 +815,7 @@ _08052A1C:
ldrsh r4, [r6, r1]
ldr r0, _08052A48
adds r1, r4, 0
- bl sub_808D8E0
+ bl CopyYellowSpeciesNametoBuffer
_08052A28:
ldrh r0, [r6]
subs r0, 0x2
@@ -1379,7 +1379,7 @@ sub_8052EC0:
lsrs r4, r0, 24
adds r5, r4, 0
adds r0, r4, 0
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
diff --git a/asm/code_8057824.s b/asm/code_8057824.s
index ab84288..c700946 100644
--- a/asm/code_8057824.s
+++ b/asm/code_8057824.s
@@ -9106,7 +9106,7 @@ _0805BE30: .4byte gUnknown_80FD450
_0805BE34:
ldr r0, _0805BE58
adds r1, r5, 0
- bl sub_808D908
+ bl CopyCyanSpeciesNametoBuffer
ldr r0, _0805BE5C
ldr r2, [r0]
mov r0, r10
@@ -15023,7 +15023,7 @@ _0805F102:
b _0805F12A
.align 2, 0
_0805F114: .4byte 0x00000679
-_0805F118: .4byte gUnknown_203B45C
+_0805F118: .4byte gRecruitedPokemonRef
_0805F11C: .4byte 0x00008df8
_0805F120:
movs r0, 0
@@ -16902,7 +16902,7 @@ _080600D8:
movs r7, 0x1
movs r0, 0x99
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
bl sub_8047158
bl sub_80912C8
movs r0, 0
@@ -17927,7 +17927,7 @@ _0806092C:
movs r0, 0x9
bl sub_8044F5C
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x6
@@ -18013,12 +18013,12 @@ _080609E8:
cmp r0, 0x14
bhi _08060A6C
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
cmp r0, 0
beq _08060A0A
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -18194,7 +18194,7 @@ _08060B68:
bl sub_8044F5C
_08060B78:
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
cmp r0, 0
bne _08060B8E
@@ -18204,7 +18204,7 @@ _08060B78:
b _08060BAE
_08060B8E:
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -18265,7 +18265,7 @@ _08060BD0:
movs r4, 0x1
ands r4, r0
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x5
@@ -18273,7 +18273,7 @@ _08060BD0:
movs r5, 0x1
_08060C22:
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x9
@@ -19149,7 +19149,7 @@ _08061328: .4byte gUnknown_202F270
_0806132C: .4byte gUnknown_202EE10
_08061330: .4byte gUnknown_8106BB0
_08061334: .4byte gAvailablePokemonNames
-_08061338: .4byte gUnknown_203B45C
+_08061338: .4byte gRecruitedPokemonRef
_0806133C: .4byte 0x00008e02
_08061340: .4byte gUnknown_8106BB4
_08061344:
@@ -19422,7 +19422,7 @@ _0806156C: .4byte 0x0001357c
_08061570: .4byte 0x0000065d
_08061574: .4byte 0x0000065c
_08061578: .4byte 0x00000644
-_0806157C: .4byte gUnknown_203B45C
+_0806157C: .4byte gRecruitedPokemonRef
_08061580: .4byte 0x00008df8
_08061584:
movs r0, 0
@@ -19823,7 +19823,7 @@ _080618BC: .4byte gUnknown_202EE10
_080618C0: .4byte gUnknown_202EE6C
_080618C4:
ldr r0, _080618FC
- bl sub_8083E38
+ bl PlaySoundEffect
mov r0, r8
adds r0, 0x94
strb r7, [r0]
@@ -20943,7 +20943,7 @@ _08062190: .4byte gUnknown_202EE6C
_08062194: .4byte gUnknown_202EE10
_08062198:
ldr r0, _080621AC
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, [sp, 0x11C]
adds r0, 0x8C
adds r1, r6, 0
@@ -24113,7 +24113,7 @@ _08063AEC:
orrs r0, r1
strb r0, [r4, 0x1]
ldr r0, _08063B28
- bl sub_8083E38
+ bl PlaySoundEffect
mov r3, r10
cmp r3, 0
beq _08063B42
@@ -24186,7 +24186,7 @@ sub_8063B54:
orrs r0, r1
strb r0, [r4, 0x1]
ldr r0, _08063BB0
- bl sub_8083E38
+ bl PlaySoundEffect
pop {r4-r6}
pop {r0}
bx r0
@@ -24288,7 +24288,7 @@ _08063C5C:
adds r0, r6, r4
bl sub_80936D8
ldr r0, _08063C84
- bl sub_8083E38
+ bl PlaySoundEffect
pop {r4-r7}
pop {r0}
bx r0
@@ -24433,7 +24433,7 @@ _08063D70:
adds r0, r6, r2
bl sub_80936D8
ldr r0, _08063DA8
- bl sub_8083E38
+ bl PlaySoundEffect
mov r3, r10
cmp r3, 0
beq _08063DC2
@@ -29575,7 +29575,7 @@ _080666B0:
add r8, r0
b _08066704
.align 2, 0
-_080666CC: .4byte gUnknown_203B45C
+_080666CC: .4byte gRecruitedPokemonRef
_080666D0: .4byte 0x0000019d
_080666D4: .4byte 0x00008df8
_080666D8:
@@ -29691,7 +29691,7 @@ _08066798:
adds r1, r4, 0
bl sub_8045BF8
ldr r0, _080667C8
- bl sub_8083E38
+ bl PlaySoundEffect
cmp r7, 0
beq _08066812
ldrb r1, [r4]
@@ -29708,7 +29708,7 @@ _080667C8: .4byte 0x00000133
_080667CC: .4byte gUnknown_80F8D04
_080667D0:
ldrb r0, [r4, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
cmp r0, 0
bne _08066808
@@ -29807,7 +29807,7 @@ _08066898:
ldr r0, _080668C4
bl sub_8045BF8
ldr r0, _080668C8
- bl sub_8083E38
+ bl PlaySoundEffect
cmp r6, 0
beq _080668B8
ldr r0, _080668CC
@@ -29947,7 +29947,7 @@ _080669B2:
mov r1, sp
bl sub_8045BF8
ldr r0, _080669F8
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, _080669FC
ldr r1, [r0]
adds r0, r6, 0
@@ -29989,7 +29989,7 @@ _08066A04:
adds r1, r4, 0
bl sub_8045BF8
ldr r0, _08066AAC
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, _08066AB0
ldr r1, [r0]
adds r0, r6, 0
@@ -30125,7 +30125,7 @@ _08066B24:
mov r0, sp
bl sub_8091290
ldr r0, _08066BC4
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, _08066BC8
ldr r1, [r0]
adds r0, r7, 0
@@ -30256,7 +30256,7 @@ _08066C40:
str r0, [r2, 0x60]
str r1, [r5]
ldr r0, _08066CE0
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, _08066CE4
ldr r1, [r0]
adds r0, r7, 0
@@ -30422,7 +30422,7 @@ _08066DC4:
strb r6, [r5]
bl sub_80910B4
ldr r0, _08066E00
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, _08066E04
adds r1, r4, 0
movs r2, 0
@@ -30608,7 +30608,7 @@ _08066F46:
mov r1, sp
bl sub_8045BF8
ldr r0, _08066F94
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, _08066F98
ldr r1, [r0]
mov r0, r9
@@ -30780,7 +30780,7 @@ _080670C4:
_080670CA:
bl sub_80910B4
ldr r0, _08067100
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, _08067104
ldr r1, [r0]
adds r0, r7, 0
@@ -30908,12 +30908,12 @@ _080671E0: .4byte gUnknown_202DE58
_080671E4: .4byte gUnknown_80F8BE0
_080671E8:
ldrb r0, [r4, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
cmp r0, 0
beq _08067202
ldrb r0, [r4, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -30977,7 +30977,7 @@ _08067272:
lsrs r0, 16
lsls r0, 24
lsrs r0, 24
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
cmp r0, 0
beq _0806729A
@@ -30985,7 +30985,7 @@ _08067272:
lsrs r0, 16
lsls r0, 24
lsrs r0, 24
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -31092,12 +31092,12 @@ _0806733E:
_08067364:
add r4, sp, 0x4
ldrb r0, [r4, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
cmp r0, 0
beq _08067380
ldrb r0, [r4, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -31115,7 +31115,7 @@ _08067384:
movs r2, 0
bl sub_80708B4
ldrb r0, [r4, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
cmp r0, 0
bne _080673BC
@@ -31136,7 +31136,7 @@ _080673BC:
_080673C6:
add r0, sp, 0x4
ldrb r0, [r0, 0x2]
- bl sub_8090BD0
+ bl GetItemType
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
@@ -31234,7 +31234,7 @@ _08067462:
_08067486:
add r0, sp, 0x4
ldrb r0, [r0, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -31672,7 +31672,7 @@ _080677B4:
_080677F0: .4byte gAvailablePokemonNames
_080677F4: .4byte gUnknown_80F9094
_080677F8: .4byte gUnknown_80F913C
-_080677FC: .4byte gUnknown_203B45C
+_080677FC: .4byte gRecruitedPokemonRef
_08067800: .4byte 0x00008df8
_08067804: .4byte gUnknown_80F9114
_08067808: .4byte gUnknown_80F9154
@@ -33582,7 +33582,7 @@ _08068748: .4byte 0x00017b44
_0806874C: .4byte 0x000001a5
_08068750: .4byte 0x000037e4
_08068754: .4byte 0x0000343c
-_08068758: .4byte gUnknown_203B45C
+_08068758: .4byte gRecruitedPokemonRef
_0806875C: .4byte 0x00008df8
_08068760: .4byte 0x00003a14
_08068764: .4byte 0x00008f88
@@ -33987,7 +33987,7 @@ _08068A50:
pop {r0}
bx r0
.align 2, 0
-_08068A60: .4byte gUnknown_203B45C
+_08068A60: .4byte gRecruitedPokemonRef
_08068A64: .4byte 0x00008df8
_08068A68: .4byte gUnknown_203B418
_08068A6C: .4byte 0x00000644
@@ -34045,7 +34045,7 @@ _08068AB2:
ldr r0, _08068AEC
b _08068BB2
.align 2, 0
-_08068AE0: .4byte gUnknown_203B45C
+_08068AE0: .4byte gRecruitedPokemonRef
_08068AE4: .4byte 0x00008df8
_08068AE8: .4byte gAvailablePokemonNames
_08068AEC: .4byte gUnknown_80FE0F4
@@ -34114,7 +34114,7 @@ _08068B3E:
ldr r0, _08068B7C
b _08068BB2
.align 2, 0
-_08068B6C: .4byte gUnknown_203B45C
+_08068B6C: .4byte gRecruitedPokemonRef
_08068B70: .4byte 0x00008df8
_08068B74: .4byte 0x000055aa
_08068B78: .4byte gAvailablePokemonNames
@@ -34284,7 +34284,7 @@ _08068C96:
b _08068CFE
.align 2, 0
_08068CC4: .4byte 0xfffffdd8
-_08068CC8: .4byte gUnknown_203B45C
+_08068CC8: .4byte gRecruitedPokemonRef
_08068CCC: .4byte 0x00008df8
_08068CD0: .4byte 0xfffffe87
_08068CD4: .4byte gUnknown_203B418
@@ -34449,7 +34449,7 @@ _08068E06:
b _08068F08
.align 2, 0
_08068E10: .4byte 0x0000ffff
-_08068E14: .4byte gUnknown_203B45C
+_08068E14: .4byte gRecruitedPokemonRef
_08068E18: .4byte 0x00008df8
_08068E1C:
ldr r0, _08068E78
@@ -34623,7 +34623,7 @@ _08068F2E:
strh r0, [r4]
b _08068F74
.align 2, 0
-_08068F5C: .4byte gUnknown_203B45C
+_08068F5C: .4byte gRecruitedPokemonRef
_08068F60: .4byte 0x00008df8
_08068F64:
movs r1, 0xA
@@ -35047,7 +35047,7 @@ _080692B2:
.align 2, 0
_080692C4: .4byte gUnknown_203B418
_080692C8: .4byte 0x0001357c
-_080692CC: .4byte gUnknown_203B45C
+_080692CC: .4byte gRecruitedPokemonRef
_080692D0: .4byte 0x00008df8
_080692D4: .4byte 0x00000644
_080692D8: .4byte gUnknown_202EE76
@@ -35273,7 +35273,7 @@ _08069498: .4byte 0x000005f4
_0806949C: .4byte 0xfffffe5f
_080694A0: .4byte 0x000037fe
_080694A4: .4byte gUnknown_80FA580
-_080694A8: .4byte gUnknown_203B45C
+_080694A8: .4byte gRecruitedPokemonRef
_080694AC: .4byte 0x00008df8
_080694B0: .4byte 0x00000644
_080694B4: .4byte 0x0000065c
@@ -38258,7 +38258,7 @@ _0806AB12:
pop {r0}
bx r0
.align 2, 0
-_0806AB24: .4byte gUnknown_203B45C
+_0806AB24: .4byte gRecruitedPokemonRef
_0806AB28: .4byte 0x00008df8
thumb_func_end sub_806AA70
@@ -39012,7 +39012,7 @@ _0806B0BA:
b _0806B0EE
.align 2, 0
_0806B0E4: .4byte 0x00008df8
-_0806B0E8: .4byte gUnknown_203B45C
+_0806B0E8: .4byte gRecruitedPokemonRef
_0806B0EC:
adds r4, 0x1
_0806B0EE:
@@ -39321,7 +39321,7 @@ _0806B2D2:
_0806B324: .4byte gUnknown_203B418
_0806B328: .4byte 0x0000e218
_0806B32C: .4byte 0x0000e21a
-_0806B330: .4byte gUnknown_203B45C
+_0806B330: .4byte gRecruitedPokemonRef
_0806B334: .4byte 0x00008df8
_0806B338: .4byte 0x0000065c
_0806B33C: .4byte 0x00000179
@@ -39491,7 +39491,7 @@ _0806B460:
b _0806B4AE
.align 2, 0
_0806B480: .4byte gUnknown_203B450
-_0806B484: .4byte gUnknown_203B45C
+_0806B484: .4byte gRecruitedPokemonRef
_0806B488: .4byte 0x000055aa
_0806B48C: .4byte 0x00008df8
_0806B490:
@@ -41367,7 +41367,7 @@ _0806C316:
pop {r0}
bx r0
.align 2, 0
-_0806C31C: .4byte gUnknown_203B45C
+_0806C31C: .4byte gRecruitedPokemonRef
_0806C320: .4byte 0x00008df8
_0806C324: .4byte 0xfffffe87
_0806C328: .4byte 0x000055aa
@@ -44468,7 +44468,7 @@ _0806DB00:
ldr r0, _0806DB14
b _0806DB7E
.align 2, 0
-_0806DB04: .4byte gUnknown_203B45C
+_0806DB04: .4byte gRecruitedPokemonRef
_0806DB08: .4byte 0x00008df8
_0806DB0C: .4byte gUnknown_203B418
_0806DB10: .4byte 0x0000065c
@@ -48208,7 +48208,7 @@ _0806F8B4:
movs r4, 0
b _0806F8C6
.align 2, 0
-_0806F8BC: .4byte gUnknown_203B45C
+_0806F8BC: .4byte gRecruitedPokemonRef
_0806F8C0: .4byte 0x00008df8
_0806F8C4:
adds r4, 0x1
@@ -48462,7 +48462,7 @@ sub_806FA5C:
ldr r0, _0806FAD4
movs r3, 0
ldrsh r1, [r6, r3]
- bl sub_808D908
+ bl CopyCyanSpeciesNametoBuffer
ldr r0, _0806FAD8
ldr r1, [r0]
movs r0, 0
@@ -48525,7 +48525,7 @@ _0806FB28:
movs r0, 0
b _0806FCF0
.align 2, 0
-_0806FB2C: .4byte gUnknown_203B45C
+_0806FB2C: .4byte gRecruitedPokemonRef
_0806FB30: .4byte 0x00008df8
_0806FB34: .4byte gUnknown_80FA030
_0806FB38:
@@ -48655,7 +48655,7 @@ _0806FBC4:
strh r7, [r5]
b _0806FCEE
.align 2, 0
-_0806FC40: .4byte gUnknown_203B45C
+_0806FC40: .4byte gRecruitedPokemonRef
_0806FC44: .4byte 0x00008df8
_0806FC48: .4byte 0x0000ffff
_0806FC4C: .4byte gUnknown_203B418
@@ -48710,7 +48710,7 @@ _0806FC94:
mov r1, r9
bl sub_8092558
movs r0, 0xCE
- bl sub_8011988
+ bl PlaySound
ldr r0, _0806FD10
ldr r1, [r0]
movs r0, 0
@@ -48834,7 +48834,7 @@ _0806FDAC:
movs r4, 0
b _0806FDBE
.align 2, 0
-_0806FDB4: .4byte gUnknown_203B45C
+_0806FDB4: .4byte gRecruitedPokemonRef
_0806FDB8: .4byte 0x00008df8
_0806FDBC:
adds r4, 0x1
@@ -48917,7 +48917,7 @@ _0806FE46:
movs r0, 0
b _0806FFF8
.align 2, 0
-_0806FE50: .4byte gUnknown_203B45C
+_0806FE50: .4byte gRecruitedPokemonRef
_0806FE54: .4byte 0x00008df8
_0806FE58:
add r0, sp, 0xC
@@ -49055,7 +49055,7 @@ _0806FF34:
strh r0, [r5]
b _0806FFF6
.align 2, 0
-_0806FF74: .4byte gUnknown_203B45C
+_0806FF74: .4byte gRecruitedPokemonRef
_0806FF78: .4byte 0x00008df8
_0806FF7C: .4byte 0x0000ffff
_0806FF80: .4byte gUnknown_203B418
@@ -49096,7 +49096,7 @@ _0806FFB8:
adds r1, r7, 0
bl sub_8092558
movs r0, 0xCE
- bl sub_8011988
+ bl PlaySound
ldr r0, _08070014
ldr r1, [r0]
movs r0, 0
@@ -50368,13 +50368,13 @@ _0807092A:
movs r0, 0x4
ldrsh r1, [r1, r0]
adds r0, r3, 0
- bl sub_808D8E0
+ bl CopyYellowSpeciesNametoBuffer
b _0807095A
_08070936:
movs r5, 0x4
ldrsh r1, [r1, r5]
adds r0, r3, 0
- bl sub_808D908
+ bl CopyCyanSpeciesNametoBuffer
b _0807095A
_08070942:
ldr r2, _08070960
@@ -50393,7 +50393,7 @@ _0807095A:
pop {r0}
bx r0
.align 2, 0
-_08070960: .4byte gUnknown_203B45C
+_08070960: .4byte gRecruitedPokemonRef
_08070964: .4byte 0x00008df8
thumb_func_end sub_80708B4
@@ -50424,7 +50424,7 @@ _08070990:
movs r0, 0x4
ldrsh r1, [r1, r0]
adds r0, r4, 0
- bl sub_808D908
+ bl CopyCyanSpeciesNametoBuffer
b _080709BA
_080709A2:
ldr r2, _080709C0
@@ -50443,7 +50443,7 @@ _080709BA:
pop {r0}
bx r0
.align 2, 0
-_080709C0: .4byte gUnknown_203B45C
+_080709C0: .4byte gRecruitedPokemonRef
_080709C4: .4byte 0x00008df8
thumb_func_end sub_8070968
@@ -50517,7 +50517,7 @@ _08070A48:
pop {r0}
bx r0
.align 2, 0
-_08070A50: .4byte gUnknown_203B45C
+_08070A50: .4byte gRecruitedPokemonRef
_08070A54: .4byte 0x00008df8
thumb_func_end sub_80709C8
@@ -54983,7 +54983,7 @@ sub_8072B78:
adds r4, 0x50
adds r0, r4, 0
adds r1, r5, 0
- bl sub_808D908
+ bl CopyCyanSpeciesNametoBuffer
adds r0, r5, 0
bl sub_80687D0
adds r4, r0, 0
@@ -56354,7 +56354,7 @@ _080736D4:
movs r3, 0x81
str r3, [sp, 0x54]
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -56564,7 +56564,7 @@ _08073866:
_08073870:
ldrb r0, [r7, 0x2]
movs r1, 0
- bl sub_8090DAC
+ bl GetItemUnkFood
lsls r0, 24
cmp r0, 0
beq _080738EC
@@ -56576,7 +56576,7 @@ _08073870:
cmp r5, 0
beq _080738EC
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
adds r4, r0, 0
@@ -56632,12 +56632,12 @@ _080738EC:
_080738FC:
ldrb r0, [r7, 0x2]
mov r1, r9
- bl sub_8090DAC
+ bl GetItemUnkFood
lsls r0, 24
cmp r0, 0
beq _080739AE
ldrb r0, [r7, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -57274,7 +57274,7 @@ _08073DC8:
cmp r0, 0
bne _08073E24
ldrb r0, [r5, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x6
@@ -57284,14 +57284,14 @@ _08073DC8:
cmp r0, 0
beq _08073DF4
ldr r0, _08073DF0
- bl sub_8083E38
+ bl PlaySoundEffect
b _08073DFC
.align 2, 0
_08073DF0: .4byte 0x0000014b
_08073DF4:
movs r0, 0xA6
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
_08073DFC:
adds r0, r5, 0
bl sub_80915D4
@@ -57491,7 +57491,7 @@ _08073F6C:
bl sub_80461C8
movs r0, 0xA5
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
mov r7, sp
adds r0, r7, r4
ldr r0, [r0]
@@ -57548,14 +57548,14 @@ _08073FEC:
cmp r0, 0
beq _08074000
ldr r0, _08073FFC
- bl sub_8083E38
+ bl PlaySoundEffect
b _08074008
.align 2, 0
_08073FFC: .4byte 0x0000014b
_08074000:
movs r0, 0xA5
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
_08074008:
lsls r0, r4, 2
add r0, sp
@@ -57982,7 +57982,7 @@ _08074390:
cmp r6, 0
beq _080743A0
ldr r0, _08074410
- bl sub_8083E38
+ bl PlaySoundEffect
_080743A0:
adds r0, r5, 0
mov r1, r9
@@ -67295,7 +67295,7 @@ _08078ED4:
ldr r0, _08078F48
movs r2, 0x4
ldrsh r1, [r7, r2]
- bl sub_808D908
+ bl CopyCyanSpeciesNametoBuffer
ldr r0, _08078F4C
ldr r2, [r0]
mov r0, r10
@@ -79666,7 +79666,7 @@ _0807F036:
_0807F04E:
movs r0, 0xA6
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, [r4]
adds r0, r5
ldr r0, [r0]
@@ -79890,7 +79890,7 @@ _0807F228: .4byte gUnknown_80FE520
_0807F22C:
movs r0, 0xA6
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
negs r0, r4
bl sub_80913A0
movs r6, 0
@@ -80473,7 +80473,7 @@ _0807F6A8:
cmp r0, 0
beq _0807F6D0
ldr r0, _0807F868
- bl sub_8083E38
+ bl PlaySoundEffect
_0807F6D0:
movs r4, 0
str r4, [sp, 0x100]
@@ -82227,7 +82227,7 @@ _08080470:
_08080478:
ldr r0, [r4]
ldrb r0, [r0, 0x2]
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
@@ -89429,8 +89429,8 @@ sub_8083E28:
bx r0
thumb_func_end sub_8083E28
- thumb_func_start sub_8083E38
-sub_8083E38:
+ thumb_func_start PlaySoundEffect
+PlaySoundEffect:
push {lr}
lsls r0, 16
lsrs r2, r0, 16
@@ -89446,7 +89446,7 @@ _08083E4E:
bx r0
.align 2, 0
_08083E54: .4byte 0x000003e5
- thumb_func_end sub_8083E38
+ thumb_func_end PlaySoundEffect
thumb_func_start sub_8083E58
sub_8083E58:
@@ -89558,15 +89558,15 @@ sub_8083F14:
bx r0
thumb_func_end sub_8083F14
- thumb_func_start sub_8083F24
-sub_8083F24:
+ thumb_func_start xxx_call_GetCurrentBGSong
+xxx_call_GetCurrentBGSong:
push {lr}
bl GetCurrentBGSong
lsls r0, 16
lsrs r0, 16
pop {r1}
bx r1
- thumb_func_end sub_8083F24
+ thumb_func_end xxx_call_GetCurrentBGSong
thumb_func_start sub_8083F34
sub_8083F34:
@@ -90663,7 +90663,7 @@ _08084784:
movs r0, 0xE
ldrsh r1, [r1, r0]
ldr r0, _080847B8
- bl sub_808D908
+ bl CopyCyanSpeciesNametoBuffer
b _080847CE
.align 2, 0
_080847B8: .4byte gUnknown_202E088
@@ -91172,46 +91172,46 @@ _08084C80:
bl SkarmonyPreFightDialogue
b _08084DDA
_08084C86:
- bl sub_8086DAC
+ bl SkarmonyReFightDialogue
b _08084DDA
_08084C8C:
bl sub_8086E40
b _08084DDA
_08084C92:
- bl sub_8086FB8
+ bl TeamMeaniePreFightDialogue
b _08084DDA
_08084C98:
- bl sub_8087064
+ bl TeamMeanieReFightDialogue
b _08084DDA
_08084C9E:
bl sub_8087130
b _08084DDA
_08084CA4:
- bl sub_8087364
+ bl ZapdosPreFightDialogue
b _08084DDA
_08084CAA:
- bl sub_80875C0
+ bl ZapdosReFightDialogue
b _08084DDA
_08084CB0:
- bl sub_808765C
+ bl ZapdosPostStoryPreFightDialogue
b _08084DDA
_08084CB6:
- bl sub_8087924
+ bl MoltresPreFightDialogue
b _08084DDA
_08084CBC:
- bl sub_8087B20
+ bl MoltresReFightDialogue
b _08084DDA
_08084CC2:
- bl sub_8087C38
+ bl MoltresPostStoryPreFightDialogue
b _08084DDA
_08084CC8:
- bl sub_80880B8
+ bl ArticunoPreFightDialogue
b _08084DDA
_08084CCE:
- bl sub_8088304
+ bl ArticunoReFightDialogue
b _08084DDA
_08084CD4:
- bl sub_8088398
+ bl ArticunoPostStoryPreFightDialogue
b _08084DDA
_08084CDA:
bl sub_8088608
@@ -93898,7 +93898,7 @@ sub_80862BC:
adds r4, r0, 0
movs r0, 0xE8
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, _080862D8
adds r1, r4, 0
movs r2, 0
@@ -94402,7 +94402,7 @@ sub_80866C4:
push {r4,lr}
adds r4, r0, 0
bl sub_8085480
- bl sub_808696C
+ bl SpriteLookAroundEffect
movs r0, 0xA
movs r1, 0x46
bl sub_803E708
@@ -94581,7 +94581,7 @@ sub_808680C:
cmp r0, 0
beq _08086820
ldr r0, _08086828
- bl sub_8083E38
+ bl PlaySoundEffect
_08086820:
pop {r0}
bx r0
@@ -94655,7 +94655,7 @@ _0808688A:
cmp r0, 0
beq _080868A8
ldr r0, _080868A0
- bl sub_8083E38
+ bl PlaySoundEffect
b _080868A8
.align 2, 0
_0808689C: .4byte gUnknown_202F3D0
@@ -94763,8 +94763,8 @@ sub_808692C:
bx r0
thumb_func_end sub_808692C
- thumb_func_start sub_808696C
-sub_808696C:
+ thumb_func_start SpriteLookAroundEffect
+SpriteLookAroundEffect:
push {r4,r5,lr}
adds r5, r0, 0
ldr r0, [r5, 0x70]
@@ -94815,7 +94815,7 @@ sub_808696C:
pop {r4,r5}
pop {r0}
bx r0
- thumb_func_end sub_808696C
+ thumb_func_end SpriteLookAroundEffect
thumb_func_start sub_80869E4
sub_80869E4:
@@ -95261,8 +95261,8 @@ _08086DA4: .4byte gUnknown_8100B80
_08086DA8: .4byte gUnknown_8100BC0
thumb_func_end SkarmonyPreFightDialogue
- thumb_func_start sub_8086DAC
-sub_8086DAC:
+ thumb_func_start SkarmonyReFightDialogue
+SkarmonyReFightDialogue:
push {r4,r5,lr}
sub sp, 0x8
bl sub_8085480
@@ -95319,13 +95319,13 @@ sub_8086DAC:
_08086E34: .4byte gUnknown_8100C90
_08086E38: .4byte gUnknown_8100CBC
_08086E3C: .4byte gUnknown_8100CDC
- thumb_func_end sub_8086DAC
+ thumb_func_end SkarmonyReFightDialogue
thumb_func_start sub_8086E40
sub_8086E40:
push {lr}
bl sub_8085480
- bl sub_808696C
+ bl SpriteLookAroundEffect
movs r0, 0xA
movs r1, 0x46
bl sub_803E708
@@ -95356,7 +95356,7 @@ sub_8086E74:
bl sub_8086A54
movs r0, 0xFC
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
movs r0, 0x44
movs r1, 0x46
bl sub_803E708
@@ -95496,8 +95496,8 @@ _08086FB0: .4byte gUnknown_203B418
_08086FB4: .4byte 0x0001358c
thumb_func_end sub_8086F54
- thumb_func_start sub_8086FB8
-sub_8086FB8:
+ thumb_func_start TeamMeaniePreFightDialogue
+TeamMeaniePreFightDialogue:
push {r4,lr}
bl sub_8085480
adds r4, r0, 0
@@ -95558,10 +95558,10 @@ _08087054: .4byte gUnknown_8100F14
_08087058: .4byte gUnknown_8101004
_0808705C: .4byte gUnknown_8101050
_08087060: .4byte gUnknown_81010D0
- thumb_func_end sub_8086FB8
+ thumb_func_end TeamMeaniePreFightDialogue
- thumb_func_start sub_8087064
-sub_8087064:
+ thumb_func_start TeamMeanieReFightDialogue
+TeamMeanieReFightDialogue:
push {r4,r5,lr}
bl sub_8085480
adds r4, r0, 0
@@ -95635,7 +95635,7 @@ _08087120: .4byte gUnknown_8101240
_08087124: .4byte gUnknown_8101310
_08087128: .4byte gUnknown_810137C
_0808712C: .4byte gUnknown_8101408
- thumb_func_end sub_8087064
+ thumb_func_end TeamMeanieReFightDialogue
thumb_func_start sub_8087130
sub_8087130:
@@ -95896,8 +95896,8 @@ _0808735A:
_08087360: .4byte gUnknown_203B418
thumb_func_end sub_8087334
- thumb_func_start sub_8087364
-sub_8087364:
+ thumb_func_start ZapdosPreFightDialogue
+ZapdosPreFightDialogue:
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -95916,7 +95916,7 @@ sub_8087364:
movs r1, 0x46
bl sub_803E708
adds r0, r6, 0
- bl sub_808696C
+ bl SpriteLookAroundEffect
movs r0, 0xA
movs r1, 0x46
bl sub_803E708
@@ -95955,7 +95955,7 @@ sub_8087364:
bl sub_8083F14
movs r0, 0xED
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, _08087478
bl sub_8052910
ldr r0, [sp, 0x68]
@@ -96139,1849 +96139,6 @@ _080875B0: .4byte gUnknown_810165C
_080875B4: .4byte gUnknown_8101750
_080875B8: .4byte gUnknown_810178C
_080875BC: .4byte gUnknown_81017B4
- thumb_func_end sub_8087364
-
- thumb_func_start sub_80875C0
-sub_80875C0:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x8
- bl sub_8085680
- adds r5, r0, 0
- bl sub_8086448
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087648
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _0808764C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_8087704
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087650
- bl sub_8052910
- movs r0, 0x1
- bl sub_808775C
- ldr r0, _08087654
- bl sub_8052910
- movs r0, 0x2
- bl sub_808775C
- ldr r0, _08087658
- bl sub_8052910
- movs r1, 0x96
- lsls r1, 1
- adds r0, r5, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087648: .4byte gUnknown_81017E4
-_0808764C: .4byte gUnknown_81015A0
-_08087650: .4byte gUnknown_8101898
-_08087654: .4byte gUnknown_81018EC
-_08087658: .4byte gUnknown_8101918
- thumb_func_end sub_80875C0
-
- thumb_func_start sub_808765C
-sub_808765C:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x8
- bl sub_8085680
- adds r4, r0, 0
- bl sub_8086448
- movs r0, 0x91
- bl sub_8086AE4
- lsls r0, 24
- cmp r0, 0
- beq _08087688
- ldr r0, _08087684
- bl sub_80866C4
- b _080876EA
- .align 2, 0
-_08087684: .4byte gUnknown_8101A38
-_08087688:
- movs r0, 0x1
- bl sub_808775C
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _080876F0
- bl sub_8052910
- adds r0, r4, 0
- bl sub_8087704
- ldr r0, _080876F4
- bl sub_8052910
- movs r0, 0x1
- bl sub_808775C
- ldr r0, _080876F8
- bl sub_8052910
- movs r0, 0x2
- bl sub_808775C
- ldr r0, _080876FC
- bl sub_8052910
- movs r0, 0x2
- bl sub_808775C
- ldr r0, _08087700
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0x96
- lsls r1, 1
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r0, r5, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_080876EA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080876F0: .4byte gUnknown_810193C
-_080876F4: .4byte gUnknown_8101970
-_080876F8: .4byte gUnknown_8101994
-_080876FC: .4byte gUnknown_81019E4
-_08087700: .4byte gUnknown_8101A04
- thumb_func_end sub_808765C
-
- thumb_func_start sub_8087704
-sub_8087704:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0x70]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r5, 0x70]
- movs r1, 0xAF
- lsls r1, 1
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r5, 0x70]
- adds r1, 0x16
- adds r0, r1
- movs r1, 0xC8
- str r1, [r0]
- movs r0, 0xF5
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xC8
-_08087734:
- ldr r0, [r5, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- lsls r1, r4, 8
- str r1, [r0]
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x5
- cmp r4, 0
- bge _08087734
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8087704
-
- thumb_func_start sub_808775C
-sub_808775C:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r0, 0xFB
- lsls r0, 1
- bl sub_8083E38
- cmp r5, 0x2
- ble _08087790
- movs r4, 0xFA
-_08087770:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _08087770
-_08087790:
- cmp r5, 0x1
- ble _080877B6
- movs r4, 0xFA
-_08087796:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _08087796
-_080877B6:
- movs r4, 0xFA
-_080877B8:
- adds r2, r4, 0
- cmp r4, 0
- bge _080877C0
- adds r2, r4, 0x3
-_080877C0:
- asrs r2, 2
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _080877B8
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808775C
-
- thumb_func_start sub_80877E8
-sub_80877E8:
- push {r4-r6,lr}
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0x9
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0x26
- bl sub_8083E88
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x6
- bl sub_8085930
- ldr r4, _08087840
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r5, 0
- bl _call_via_r4
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- subs r0, 0x3
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- subs r1, 0x2
- bl sub_8085860
- ldr r0, _08087844
- movs r1, 0x92
- bl CopySpeciesNametoBuffer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087840: .4byte sub_8086A3C
-_08087844: .4byte gUnknown_202E038
- thumb_func_end sub_80877E8
-
- thumb_func_start sub_8087848
-sub_8087848:
- push {r4-r6,lr}
- sub sp, 0x4
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x9
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x26
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x6
- bl sub_8085930
- ldr r6, _08087890
- adds r0, r6, 0
- bl sub_80855E4
- movs r0, 0x92
- bl sub_8086AE4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08087894
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _080878B4
- .align 2, 0
-_08087890: .4byte sub_8086A3C
-_08087894:
- ldr r0, _080878E8
- movs r3, 0
- ldrsh r2, [r0, r3]
- str r1, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0
- bl sub_8072008
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r4, 0
- bl _call_via_r6
-_080878B4:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- subs r0, 0x5
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_8085860
- bl sub_803F994
- adds r4, r0, 0
- bl sub_803F9B0
- adds r1, r0, 0
- ldr r3, _080878EC
- adds r1, r3
- adds r0, r4, 0
- bl sub_803F878
- ldr r0, _080878F0
- movs r1, 0x92
- bl CopySpeciesNametoBuffer
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080878E8: .4byte gUnknown_80F57CE
-_080878EC: .4byte 0xfffff000
-_080878F0: .4byte gUnknown_202E038
- thumb_func_end sub_8087848
-
- thumb_func_start sub_80878F4
-sub_80878F4:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xF6
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x2
- bhi _0808791A
- cmp r0, 0x9
- bne _0808791A
- movs r0, 0x7
- bl sub_8097FA8
- ldr r0, _08087920
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_0808791A:
- pop {r0}
- bx r0
- .align 2, 0
-_08087920: .4byte gUnknown_203B418
- thumb_func_end sub_80878F4
-
- thumb_func_start sub_8087924
-sub_8087924:
- push {r4-r6,lr}
- bl sub_8085480
- adds r5, r0, 0
- bl sub_808548C
- adds r4, r0, 0
- movs r0, 0x9
- bl sub_8085680
- adds r6, r0, 0
- movs r0, 0xC
- movs r1, 0x5
- bl sub_8087D80
- bl sub_8086500
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087AE8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x5
- bl sub_80869E4
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087AEC
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xC
- movs r1, 0x5
- bl sub_8087D80
- movs r0, 0x9
- movs r1, 0x5
- bl sub_8087DE8
- ldr r0, _08087AF0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x2
- bl sub_80869E4
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- ldr r0, _08087AF4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- bl sub_8086690
- ldr r0, _08087AF8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x5
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _08087AFC
- bl sub_8083E38
- bl sub_8083F14
- bl sub_8087F24
- ldr r0, _08087B00
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087B04
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087B08
- bl sub_8083E38
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_80856E0
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087B0C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8087EB0
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _08087B10
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x9
- movs r1, 0x5
- bl sub_8087D80
- movs r0, 0xB
- movs r1, 0x5
- bl sub_8087DE8
- ldr r0, _08087B14
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xC
- movs r1, 0x5
- bl sub_8087D80
- movs r0, 0x9
- movs r1, 0x5
- bl sub_8087DE8
- adds r0, r6, 0
- bl sub_8087D30
- bl sub_808663C
- bl sub_8087EB0
- ldr r0, _08087B18
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xB
- movs r1, 0x6
- bl sub_8087DE8
- ldr r0, _08087B1C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r6, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r5, 0xC
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087AE8: .4byte gUnknown_8101A9C
-_08087AEC: .4byte gUnknown_8101AD4
-_08087AF0: .4byte gUnknown_8101C30
-_08087AF4: .4byte gUnknown_8101CBC
-_08087AF8: .4byte gUnknown_8101D8C
-_08087AFC: .4byte 0x000002f2
-_08087B00: .4byte gUnknown_8101DA0
-_08087B04: .4byte gUnknown_8101E1C
-_08087B08: .4byte 0x000001cf
-_08087B0C: .4byte gUnknown_8101EAC
-_08087B10: .4byte gUnknown_8102070
-_08087B14: .4byte gUnknown_81020A4
-_08087B18: .4byte gUnknown_81020D4
-_08087B1C: .4byte gUnknown_8102108
- thumb_func_end sub_8087924
-
- thumb_func_start sub_8087B20
-sub_8087B20:
- push {r4-r6,lr}
- bl sub_8085480
- adds r5, r0, 0
- bl sub_808548C
- adds r4, r0, 0
- movs r0, 0x9
- bl sub_8085680
- adds r6, r0, 0
- movs r0, 0xA
- movs r1, 0x5
- bl sub_8087D80
- bl sub_8086500
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087C24
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x2
- bl sub_80869E4
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- ldr r0, _08087C28
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- bl sub_8086690
- bl sub_8087F24
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x5
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x4
- bl sub_8085930
- adds r0, r6, 0
- bl sub_8087D30
- bl sub_808663C
- bl sub_8087EB0
- ldr r0, _08087C2C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xB
- movs r1, 0x6
- bl sub_8087DE8
- ldr r0, _08087C30
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087C34
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r6, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r5, 0xC
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087C24: .4byte gUnknown_8102158
-_08087C28: .4byte gUnknown_8102190
-_08087C2C: .4byte gUnknown_8102200
-_08087C30: .4byte gUnknown_8102254
-_08087C34: .4byte gUnknown_81022F8
- thumb_func_end sub_8087B20
-
- thumb_func_start sub_8087C38
-sub_8087C38:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x9
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0xC
- movs r1, 0x5
- bl sub_8087D80
- bl sub_808654C
- movs r0, 0x92
- bl sub_8086AE4
- lsls r0, 24
- cmp r0, 0
- beq _08087CA4
- movs r0, 0x5
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x4
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087C9C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087CA0
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- b _08087D16
- .align 2, 0
-_08087C9C: .4byte gUnknown_8100D3C
-_08087CA0: .4byte gUnknown_203B418
-_08087CA4:
- ldr r0, _08087D1C
- bl sub_8052910
- movs r0, 0x5
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x4
- bl sub_8085930
- adds r0, r4, 0
- bl sub_8087D30
- ldr r0, _08087D20
- bl sub_8052910
- movs r0, 0xC
- movs r1, 0x5
- bl sub_8087D80
- movs r0, 0x9
- movs r1, 0x5
- bl sub_8087DE8
- ldr r0, _08087D24
- bl sub_8052910
- bl sub_8087EB0
- ldr r0, _08087D28
- bl sub_8052910
- movs r0, 0xB
- movs r1, 0x6
- bl sub_8087DE8
- ldr r0, _08087D2C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r0, r5, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_08087D16:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087D1C: .4byte gUnknown_810232C
-_08087D20: .4byte gUnknown_8102398
-_08087D24: .4byte gUnknown_81023C4
-_08087D28: .4byte gUnknown_8102400
-_08087D2C: .4byte gUnknown_8102454
- thumb_func_end sub_8087C38
-
- thumb_func_start sub_8087D30
-sub_8087D30:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0x70]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r5, 0x70]
- movs r1, 0xAF
- lsls r1, 1
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r5, 0x70]
- adds r1, 0x16
- adds r0, r1
- movs r1, 0xC8
- lsls r1, 8
- str r1, [r0]
- movs r0, 0xFC
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xC8
-_08087D62:
- ldr r0, [r5, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- lsls r1, r4, 8
- str r1, [r0]
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x5
- cmp r4, 0
- bge _08087D62
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8087D30
-
- thumb_func_start sub_8087D80
-sub_8087D80:
- push {lr}
- sub sp, 0x8
- adds r3, r1, 0
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 11
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r1, r2
- cmp r0, 0
- bge _08087D98
- adds r0, 0xFF
-_08087D98:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _08087DE0
- ldr r2, [sp, 0x4]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 11
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1
- cmp r0, 0
- bge _08087DB8
- adds r0, 0xFF
-_08087DB8:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r1, _08087DE4
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- movs r0, 0xB9
- lsls r0, 1
- movs r1, 0
- str r1, [sp]
- movs r1, 0x10
- movs r2, 0
- add r3, sp, 0x4
- bl sub_8085EC8
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_08087DE0: .4byte 0xffff0000
-_08087DE4: .4byte 0x0000ffff
- thumb_func_end sub_8087D80
-
- thumb_func_start sub_8087DE8
-sub_8087DE8:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r3, r1, 0
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 11
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r1, r2
- cmp r0, 0
- bge _08087E00
- adds r0, 0xFF
-_08087E00:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _08087EA8
- ldr r2, [sp, 0x4]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 11
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1
- cmp r0, 0
- bge _08087E20
- adds r0, 0xFF
-_08087E20:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r1, _08087EAC
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- movs r0, 0xB9
- lsls r0, 1
- movs r1, 0
- str r1, [sp]
- movs r1, 0x16
- movs r2, 0
- add r3, sp, 0x4
- bl sub_8085EC8
- adds r6, r0, 0
- movs r0, 0xF6
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xFA
- movs r5, 0x1
-_08087E4E:
- str r5, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x13
- bgt _08087E4E
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_08087E74:
- str r5, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _08087E74
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- adds r0, r6, 0
- bl sub_8085F44
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087EA8: .4byte 0xffff0000
-_08087EAC: .4byte 0x0000ffff
- thumb_func_end sub_8087DE8
-
- thumb_func_start sub_8087EB0
-sub_8087EB0:
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08087F20
- bl sub_8083E38
- movs r4, 0xFA
-_08087EBC:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x9
- bgt _08087EBC
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087F20
- bl sub_8083E38
- movs r4, 0xFA
-_08087EEC:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _08087EEC
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08087F20: .4byte 0x000001ed
- thumb_func_end sub_8087EB0
-
- thumb_func_start sub_8087F24
-sub_8087F24:
- push {r4-r6,lr}
- sub sp, 0x4
- movs r4, 0
- movs r6, 0
- movs r5, 0x50
- negs r5, r5
-_08087F30:
- str r6, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x8
- cmp r4, r5
- bge _08087F30
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8087F24
-
- thumb_func_start sub_8087F54
-sub_8087F54:
- push {r4-r6,lr}
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0xD
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r4, _08087FAC
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r5, 0
- bl _call_via_r4
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _08087FB0
- movs r1, 0x90
- bl CopySpeciesNametoBuffer
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087FAC: .4byte sub_8086A3C
-_08087FB0: .4byte gUnknown_202E038
- thumb_func_end sub_8087F54
-
- thumb_func_start sub_8087FB4
-sub_8087FB4:
- push {r4,lr}
- movs r0, 0xD
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r4, 0
- movs r1, 0xF
- movs r2, 0
- bl sub_806CDD4
- ldr r0, _08087FF4
- movs r1, 0x90
- bl CopySpeciesNametoBuffer
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08087FF4: .4byte gUnknown_202E038
- thumb_func_end sub_8087FB4
-
- thumb_func_start sub_8087FF8
-sub_8087FF8:
- push {r4-r6,lr}
- sub sp, 0x4
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0xD
- bl sub_8085680
- adds r4, r0, 0
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r6, _0808803C
- adds r0, r6, 0
- bl sub_80855E4
- movs r0, 0x90
- bl sub_8086AE4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08088040
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _08088060
- .align 2, 0
-_0808803C: .4byte sub_8086A3C
-_08088040:
- ldr r0, _08088080
- movs r3, 0
- ldrsh r2, [r0, r3]
- str r1, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0
- bl sub_8072008
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r4, 0
- bl _call_via_r6
-_08088060:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _08088084
- movs r1, 0x90
- bl CopySpeciesNametoBuffer
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08088080: .4byte gUnknown_80F57D0
-_08088084: .4byte gUnknown_202E038
- thumb_func_end sub_8087FF8
-
- thumb_func_start sub_8088088
-sub_8088088:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xF3
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x2
- bhi _080880AE
- cmp r0, 0xD
- bne _080880AE
- movs r0, 0x9
- bl sub_8097FA8
- ldr r0, _080880B4
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_080880AE:
- pop {r0}
- bx r0
- .align 2, 0
-_080880B4: .4byte gUnknown_203B418
- thumb_func_end sub_8088088
-
- thumb_func_start sub_80880B8
-sub_80880B8:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- bl sub_8085480
- adds r5, r0, 0
- bl sub_808548C
- adds r6, r0, 0
- movs r0, 0xD
- bl sub_8085680
- mov r8, r0
- bl sub_8086448
- adds r0, r6, 0
- bl sub_808696C
- ldr r0, _080882C8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8086598
- bl sub_8083F14
- ldr r0, _080882CC
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x2
- bl sub_80869E4
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- ldr r0, _080882D0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x6
- bl sub_8085918
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_8085918
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x6
- bl sub_8085918
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x7
- bl sub_8085918
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x6
- bl sub_8085918
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_8085918
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x6
- bl sub_8085918
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080882D4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080882D8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x4
- bl sub_80869E4
- adds r0, r6, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x4
- bl sub_80869E4
- ldr r4, _080882DC
- adds r0, r4, 0
- bl sub_8083E38
- adds r0, r6, 0
- bl sub_808696C
- adds r0, r4, 0
- bl sub_8083E38
- adds r0, r5, 0
- bl sub_808696C
- ldr r0, _080882E0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080882E4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0
- bl sub_8083E38
- ldr r0, _080882E8
- ldr r0, [r0]
- ldr r1, _080882EC
- adds r0, r1
- movs r1, 0x7
- strb r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_807EAA0
- movs r0, 0xF7
- lsls r0, 1
- bl sub_8083E38
- bl sub_8088574
- ldr r0, _080882F0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_80884E0
- bl sub_8086738
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _080882F4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xF5
- lsls r0, 1
- bl sub_8083E38
- mov r0, r8
- bl sub_8088484
- bl sub_80865E8
- bl sub_80884E0
- ldr r0, _080882F8
- bl sub_8052910
- mov r0, r8
- movs r1, 0xF
- movs r2, 0
- bl sub_806CDD4
- bl sub_80884E0
- ldr r0, _080882FC
- bl sub_8052910
- mov r0, r8
- movs r1, 0x10
- movs r2, 0
- bl sub_806CDD4
- bl sub_80884E0
- ldr r0, _08088300
- bl sub_8052910
- mov r0, r8
- movs r1, 0xF
- movs r2, 0
- bl sub_806CDD4
- movs r0, 0x10
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xE1
- lsls r1, 1
- mov r0, r8
- movs r2, 0xB
- bl sub_8086A70
- adds r5, 0xC
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080882C8: .4byte gUnknown_8102478
-_080882CC: .4byte gUnknown_81025B4
-_080882D0: .4byte gUnknown_81025D4
-_080882D4: .4byte gUnknown_8102610
-_080882D8: .4byte gUnknown_81026C4
-_080882DC: .4byte 0x000001d5
-_080882E0: .4byte gUnknown_810270C
-_080882E4: .4byte gUnknown_810272C
-_080882E8: .4byte gUnknown_203B418
-_080882EC: .4byte 0x0000e265
-_080882F0: .4byte gUnknown_81027BC
-_080882F4: .4byte gUnknown_8102810
-_080882F8: .4byte gUnknown_8102840
-_080882FC: .4byte gUnknown_810286C
-_08088300: .4byte gUnknown_81028B8
- thumb_func_end sub_80880B8
-
- thumb_func_start sub_8088304
-sub_8088304:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0xD
- bl sub_8085680
- adds r4, r0, 0
- ldr r0, _08088384
- ldr r0, [r0]
- ldr r1, _08088388
- adds r0, r1
- movs r1, 0x7
- strb r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_807EAA0
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808838C
- bl sub_8052910
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl sub_806CDD4
- bl sub_80884E0
- ldr r0, _08088390
- bl sub_8052910
- bl sub_80884E0
- ldr r0, _08088394
- bl sub_8052910
- adds r0, r4, 0
- movs r1, 0xF
- movs r2, 0
- bl sub_806CDD4
- movs r0, 0x28
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xE1
- lsls r1, 1
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r5, 0xC
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088384: .4byte gUnknown_203B418
-_08088388: .4byte 0x0000e265
-_0808838C: .4byte gUnknown_81028D4
-_08088390: .4byte gUnknown_8102918
-_08088394: .4byte gUnknown_8102948
- thumb_func_end sub_8088304
-
- thumb_func_start sub_8088398
-sub_8088398:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0xD
- bl sub_8085680
- adds r4, r0, 0
- bl sub_8086448
- movs r0, 0x90
- bl sub_8086AE4
- lsls r0, 24
- cmp r0, 0
- beq _080883C4
- ldr r0, _080883C0
- bl sub_80866C4
- b _08088460
- .align 2, 0
-_080883C0: .4byte gUnknown_8102A9C
-_080883C4:
- ldr r0, _08088468
- ldr r0, [r0]
- ldr r1, _0808846C
- adds r0, r1
- movs r1, 0x7
- strb r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_807EAA0
- bl sub_80884E0
- bl sub_8086738
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _08088470
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_8088484
- bl sub_80884E0
- ldr r0, _08088474
- bl sub_8052910
- adds r0, r4, 0
- movs r1, 0xF
- movs r2, 0
- bl sub_806CDD4
- bl sub_80884E0
- ldr r0, _08088478
- bl sub_8052910
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl sub_806CDD4
- bl sub_80884E0
- ldr r0, _0808847C
- bl sub_8052910
- bl sub_80884E0
- ldr r0, _08088480
- bl sub_8052910
- adds r0, r4, 0
- movs r1, 0xF
- movs r2, 0
- bl sub_806CDD4
- movs r0, 0x28
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xE1
- lsls r1, 1
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r0, r5, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_08088460:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088468: .4byte gUnknown_203B418
-_0808846C: .4byte 0x0000e265
-_08088470: .4byte gUnknown_8102984
-_08088474: .4byte gUnknown_81029B4
-_08088478: .4byte gUnknown_8102A18
-_0808847C: .4byte gUnknown_8102A24
-_08088480: .4byte gUnknown_8102A74
- thumb_func_end sub_8088398
-
- thumb_func_start sub_8088484
-sub_8088484:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, [r5, 0x70]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r5, 0x70]
- movs r1, 0xAF
- lsls r1, 1
- adds r0, r1
- strb r2, [r0]
- movs r0, 0xF5
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xFA
-_080884AC:
- ldr r0, [r5, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- lsls r1, r4, 8
- str r1, [r0]
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x5
- cmp r4, 0
- bge _080884AC
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8088484
-
- thumb_func_start sub_80884E0
-sub_80884E0:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _08088570
- bl sub_8083E38
- movs r4, 0xFA
-_080884EC:
- lsrs r0, r4, 31
- adds r0, r4, r0
- asrs r0, 1
- movs r1, 0x1
- str r1, [sp]
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _080884EC
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_08088518:
- str r5, [sp]
- movs r0, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _08088518
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
-_0808853C:
- lsrs r0, r4, 31
- adds r0, r4, r0
- asrs r0, 1
- movs r1, 0x1
- str r1, [sp]
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _0808853C
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088570: .4byte 0x000002ad
- thumb_func_end sub_80884E0
-
- thumb_func_start sub_8088574
-sub_8088574:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r4, 0
- movs r5, 0
-_0808857C:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- adds r4, 0x8
- cmp r4, 0x50
- ble _0808857C
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8088574
-
- thumb_func_start sub_80885A0
-sub_80885A0:
- push {lr}
- movs r0, 0x3C
- bl sub_8083ED8
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- bl sub_8083F14
- ldr r0, _080885C0
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x7]
- pop {r0}
- bx r0
- .align 2, 0
-_080885C0: .4byte gUnknown_203B418
- thumb_func_end sub_80885A0
-
- thumb_func_start sub_80885C4
-sub_80885C4:
- push {r4,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x3C
- bl sub_8083ED8
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- bl sub_8083F14
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _08088604
- bl sub_80855E4
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- subs r1, 0x3
- bl sub_8085860
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08088604: .4byte sub_8086A3C
- thumb_func_end sub_80885C4
-
- thumb_func_start sub_8088608
-sub_8088608:
- ldr r0, _08088614
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- bx lr
- .align 2, 0
-_08088614: .4byte gUnknown_203B418
- thumb_func_end sub_8088608
-
- thumb_func_start sub_8088618
-sub_8088618:
- push {lr}
- bl sub_8086448
- ldr r0, _08088628
- bl sub_80866C4
- pop {r0}
- bx r0
- .align 2, 0
-_08088628: .4byte gUnknown_8102B10
- thumb_func_end sub_8088618
-
- thumb_func_start sub_808862C
-sub_808862C:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- bl sub_8085480
- mov r8, r0
- movs r0, 0xA
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0xE
- bl sub_8085680
- adds r6, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80867F4
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r4, _080886B8
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_8085918
- adds r0, r5, 0
- movs r1, 0xD
- movs r2, 0x4
- bl sub_80861D4
- adds r0, r6, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r6, 0
- bl _call_via_r4
- mov r1, r8
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- movs r3, 0x6
- ldrsh r1, [r1, r3]
- subs r1, 0x3
- bl sub_8085860
- ldr r4, _080886BC
- ldr r1, _080886C0
- adds r0, r4, 0
- bl CopySpeciesNametoBuffer
- adds r4, 0x50
- adds r0, r4, 0
- movs r1, 0x41
- bl CopySpeciesNametoBuffer
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080886B8: .4byte sub_8086A3C
-_080886BC: .4byte gUnknown_202E038
-_080886C0: .4byte 0x0000019b
- thumb_func_end sub_808862C
+ thumb_func_end ZapdosPreFightDialogue
.align 2,0
diff --git a/asm/code_808DAB4.s b/asm/code_808DAB4.s
index 93e7bf3..a225f8d 100644
--- a/asm/code_808DAB4.s
+++ b/asm/code_808DAB4.s
@@ -129,7 +129,7 @@ sub_808DF2C:
pop {r0}
bx r0
.align 2, 0
-_0808DF40: .4byte gUnknown_203B45C
+_0808DF40: .4byte gRecruitedPokemonRef
thumb_func_end sub_808DF2C
thumb_func_start sub_808DF44
@@ -233,7 +233,7 @@ sub_808DFDC:
bl sub_8090BB0
b _0808E00A
.align 2, 0
-_0808E000: .4byte gUnknown_203B45C
+_0808E000: .4byte gRecruitedPokemonRef
_0808E004:
adds r0, r3, 0
adds r0, 0x28
@@ -1225,7 +1225,7 @@ _0808E746:
movs r0, 0x1
b _0808E76A
.align 2, 0
-_0808E75C: .4byte gUnknown_203B45C
+_0808E75C: .4byte gRecruitedPokemonRef
_0808E760:
adds r2, 0x58
adds r3, 0x1
@@ -1430,8 +1430,8 @@ _0808E8C4:
bx r1
thumb_func_end sub_808E858
- thumb_func_start sub_808E8C8
-sub_808E8C8:
+ thumb_func_start GetUnownIndex
+GetUnownIndex:
push {lr}
lsls r0, 16
asrs r1, r0, 16
@@ -1579,7 +1579,7 @@ _0808E9B0:
_0808E9B2:
pop {r1}
bx r1
- thumb_func_end sub_808E8C8
+ thumb_func_end GetUnownIndex
thumb_func_start sub_808E9B8
sub_808E9B8:
diff --git a/asm/code_808EAB0.s b/asm/code_808EAB0.s
index b561623..ac46e44 100644
--- a/asm/code_808EAB0.s
+++ b/asm/code_808EAB0.s
@@ -66,7 +66,7 @@ _0808ED64:
pop {r0}
bx r0
.align 2, 0
-_0808ED70: .4byte gUnknown_203B45C
+_0808ED70: .4byte gRecruitedPokemonRef
_0808ED74: .4byte 0x00008f88
thumb_func_end sub_808ED00
@@ -135,7 +135,7 @@ _0808EDE2:
b _0808EDFA
.align 2, 0
_0808EDF0: .4byte 0x0000ffff
-_0808EDF4: .4byte gUnknown_203B45C
+_0808EDF4: .4byte gRecruitedPokemonRef
_0808EDF8:
strb r0, [r1, 0x3]
_0808EDFA:
@@ -168,7 +168,7 @@ _0808EE16:
strb r0, [r1]
b _0808EE40
.align 2, 0
-_0808EE34: .4byte gUnknown_203B45C
+_0808EE34: .4byte gRecruitedPokemonRef
_0808EE38: .4byte 0x00008f88
_0808EE3C:
mov r0, r8
@@ -275,7 +275,7 @@ _0808EEDA:
movs r1, 0x3
b _0808EF20
.align 2, 0
-_0808EF10: .4byte gUnknown_203B45C
+_0808EF10: .4byte gRecruitedPokemonRef
_0808EF14: .4byte 0x00008f88
_0808EF18:
ldr r0, [r7]
@@ -345,7 +345,7 @@ _0808EF84:
bx r1
.align 2, 0
_0808EF98: .4byte 0x00008f88
-_0808EF9C: .4byte gUnknown_203B45C
+_0808EF9C: .4byte gRecruitedPokemonRef
thumb_func_end sub_808EE9C
thumb_func_start sub_808EFA0
@@ -689,7 +689,7 @@ _0808F296:
pop {r1}
bx r1
.align 2, 0
-_0808F2A8: .4byte gUnknown_203B45C
+_0808F2A8: .4byte gRecruitedPokemonRef
_0808F2AC: .4byte 0x00008df8
thumb_func_end sub_808F154
@@ -733,7 +733,7 @@ _0808F2C4:
strb r2, [r4, 0x2]
b _0808F30A
.align 2, 0
-_0808F300: .4byte gUnknown_203B45C
+_0808F300: .4byte gRecruitedPokemonRef
_0808F304: .4byte 0x00008df8
_0808F308:
strb r1, [r4, 0x2]
@@ -927,11 +927,11 @@ _0808F488:
bne _0808F49C
movs r0, 0x41
adds r1, r7, 0
- bl sub_808DD48
+ bl GetPokemonEvolveConditions
b _0808F4A2
_0808F49C:
adds r1, r7, 0
- bl sub_808DD48
+ bl GetPokemonEvolveConditions
_0808F4A2:
ldrh r0, [r7, 0x2]
cmp r0, 0
@@ -974,7 +974,7 @@ _0808F4E0:
asrs r0, 16
str r0, [sp, 0x1C]
adds r1, r7, 0
- bl sub_808DD48
+ bl GetPokemonEvolveConditions
ldrh r0, [r7, 0x2]
cmp r0, 0
bne _0808F4FA
diff --git a/asm/code_809017C.s b/asm/code_809017C.s
index 5ea4cef..205f7bb 100644
--- a/asm/code_809017C.s
+++ b/asm/code_809017C.s
@@ -369,7 +369,7 @@ _080903F2:
b _08090430
.align 2, 0
_0809040C: .4byte gUnknown_8108F40
-_08090410: .4byte gUnknown_203B45C
+_08090410: .4byte gRecruitedPokemonRef
_08090414: .4byte gDungeons
_08090418: .4byte gUnknown_8115A2C
_0809041C:
@@ -432,7 +432,7 @@ _0809048E:
beq _0809054E
ldr r0, _080904B0
adds r1, r2, 0
- bl sub_808D908
+ bl CopyCyanSpeciesNametoBuffer
cmp r5, 0x3
ble _080904D2
mov r0, r8
@@ -503,7 +503,7 @@ _08090510:
b _08090536
.align 2, 0
_08090528: .4byte gUnknown_8115BA4
-_0809052C: .4byte gUnknown_203B45C
+_0809052C: .4byte gRecruitedPokemonRef
_08090530: .4byte gUnknown_8115BF4
_08090534:
ldr r0, _080905D0
@@ -685,7 +685,7 @@ _08090690:
_080906A0: .4byte gUnknown_8115D14
_080906A4: .4byte gDungeons
_080906A8: .4byte 0x0000019d
-_080906AC: .4byte gUnknown_203B45C
+_080906AC: .4byte gRecruitedPokemonRef
_080906B0: .4byte gUnknown_8115D5C
_080906B4:
ldr r0, _080906D8
@@ -899,7 +899,7 @@ _08090852:
movs r0, 0x1
b _08090880
.align 2, 0
-_08090868: .4byte gUnknown_203B45C
+_08090868: .4byte gRecruitedPokemonRef
_0809086C:
adds r2, 0x8
adds r3, 0x1
@@ -1077,3165 +1077,5 @@ _0809098C:
_08090994: .4byte gUnknown_810A350
thumb_func_end sub_809095C
- thumb_func_start LoadItemParameters
-LoadItemParameters:
- push {lr}
- ldr r1, _080909B8
- ldr r0, _080909BC
- str r0, [r1]
- ldr r0, _080909C0
- ldr r1, _080909C4
- bl OpenFileAndGetFileDataPtr
- ldr r1, _080909C8
- str r0, [r1]
- ldr r1, _080909CC
- ldr r0, [r0, 0x4]
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080909B8: .4byte gUnknown_203B460
-_080909BC: .4byte gUnknown_20389A8
-_080909C0: .4byte gUnknown_8109764
-_080909C4: .4byte gSystemFileArchive
-_080909C8: .4byte gItemParametersFile
-_080909CC: .4byte gItemParametersFile + 4
- thumb_func_end LoadItemParameters
-
- thumb_func_start sub_80909D0
-sub_80909D0:
- ldr r0, _080909D4
- bx lr
- .align 2, 0
-_080909D4: .4byte gUnknown_20389A8
- thumb_func_end sub_80909D0
-
- thumb_func_start sub_80909D8
-sub_80909D8:
- push {r4,lr}
- movs r4, 0
- ldr r3, _08090A30
- movs r2, 0
-_080909E0:
- ldr r0, [r3]
- lsls r1, r4, 2
- adds r0, r1
- strb r2, [r0]
- adds r4, 0x1
- cmp r4, 0x13
- ble _080909E0
- movs r4, 0
- ldr r3, _08090A30
- movs r2, 0
-_080909F4:
- ldr r0, [r3]
- lsls r1, r4, 1
- adds r0, 0x50
- adds r0, r1
- strh r2, [r0]
- adds r4, 0x1
- cmp r4, 0xEF
- ble _080909F4
- movs r4, 0
-_08090A06:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8091840
- adds r4, 0x1
- cmp r4, 0x7
- ble _08090A06
- ldr r0, _08090A30
- ldr r2, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r2, r1
- movs r1, 0
- str r1, [r0]
- movs r3, 0x99
- lsls r3, 2
- adds r0, r2, r3
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08090A30: .4byte gUnknown_203B460
- thumb_func_end sub_80909D8
-
- thumb_func_start sub_8090A34
-sub_8090A34:
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _08090A5C
- movs r5, 0x1
- ldr r2, [r0]
- movs r3, 0x13
-_08090A40:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08090A4C
- adds r4, 0x1
-_08090A4C:
- adds r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _08090A40
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08090A5C: .4byte gUnknown_203B460
- thumb_func_end sub_8090A34
-
- thumb_func_start sub_8090A60
-sub_8090A60:
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- beq _08090A84
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08090A84
- movs r0, 0
- b _08090A86
-_08090A84:
- movs r0, 0x1
-_08090A86:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090A60
-
- thumb_func_start sub_8090A8C
-sub_8090A8C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- cmp r5, 0
- beq _08090AF8
- movs r7, 0x1
- strb r7, [r6]
- strb r5, [r6, 0x2]
- adds r0, r5, 0
- bl sub_8090A60
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08090AD4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8090D80
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8090D80
- adds r1, r0, 0
- adds r0, r4, 0
- bl RandomRange
- strb r0, [r6, 0x1]
- b _08090AE8
-_08090AD4:
- adds r0, r5, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08090AE6
- strb r7, [r6, 0x1]
- b _08090AE8
-_08090AE6:
- strb r4, [r6, 0x1]
-_08090AE8:
- mov r0, r8
- cmp r0, 0
- beq _08090AFE
- ldrb r1, [r6]
- movs r0, 0x8
- orrs r0, r1
- strb r0, [r6]
- b _08090AFE
-_08090AF8:
- strb r5, [r6]
- strb r5, [r6, 0x2]
- strb r5, [r6, 0x1]
-_08090AFE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8090A8C
-
- thumb_func_start sub_8090B08
-sub_8090B08:
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r5, 0
- beq _08090B5A
- strb r5, [r6]
- adds r0, r5, 0
- bl sub_8090A60
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08090B42
- adds r0, r5, 0
- movs r1, 0
- bl sub_8090D80
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8090D80
- adds r1, r0, 0
- adds r0, r4, 0
- bl RandomRange
- strb r0, [r6, 0x1]
- b _08090B5E
-_08090B42:
- adds r0, r5, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08090B56
- movs r0, 0x1
- strb r0, [r6, 0x1]
- b _08090B5E
-_08090B56:
- strb r4, [r6, 0x1]
- b _08090B5E
-_08090B5A:
- strb r5, [r6]
- strb r5, [r6, 0x1]
-_08090B5E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8090B08
-
- thumb_func_start sub_8090B64
-sub_8090B64:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r1, [r5]
- adds r0, r1, 0
- cmp r0, 0
- beq _08090BA4
- movs r0, 0x1
- strb r0, [r4]
- strb r1, [r4, 0x2]
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _08090B9A
- ldrb r0, [r4, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08090B9A
- ldrb r0, [r4, 0x2]
- cmp r0, 0x7C
- bne _08090BA0
-_08090B9A:
- ldrb r0, [r5, 0x1]
- strb r0, [r4, 0x1]
- b _08090BAA
-_08090BA0:
- strb r6, [r4, 0x1]
- b _08090BAA
-_08090BA4:
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x1]
- strb r0, [r4]
-_08090BAA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8090B64
-
- thumb_func_start sub_8090BB0
-sub_8090BB0:
- push {lr}
- adds r3, r0, 0
- ldrb r0, [r1]
- movs r2, 0x1
- ands r2, r0
- cmp r2, 0
- beq _08090BC8
- ldrb r0, [r1, 0x2]
- strb r0, [r3]
- ldrb r0, [r1, 0x1]
- strb r0, [r3, 0x1]
- b _08090BCA
-_08090BC8:
- strb r2, [r3]
-_08090BCA:
- pop {r0}
- bx r0
- thumb_func_end sub_8090BB0
-
- thumb_func_start sub_8090BD0
-sub_8090BD0:
- lsls r0, 24
- ldr r1, _08090BE0
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrb r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_08090BE0: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090BD0
-
- thumb_func_start sub_8090BE4
-sub_8090BE4:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _08090BF6
- adds r0, r4, 0
- bl sub_80915D4
- b _08090C24
-_08090BF6:
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08090C14
- ldrb r0, [r4, 0x2]
- ldr r1, _08090C10
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r0, [r0, 0x4]
- b _08090C24
- .align 2, 0
-_08090C10: .4byte gItemParametersFile + 4
-_08090C14:
- ldrb r0, [r4, 0x2]
- ldr r1, _08090C2C
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r1, [r4, 0x1]
- ldr r0, [r0, 0x4]
- muls r0, r1
-_08090C24:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090C2C: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090BE4
-
- thumb_func_start sub_8090C30
-sub_8090C30:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _08090C42
- adds r0, r4, 0
- bl sub_80915D4
- b _08090C70
-_08090C42:
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08090C60
- ldrb r0, [r4, 0x2]
- ldr r1, _08090C5C
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r0, [r0, 0x8]
- b _08090C70
- .align 2, 0
-_08090C5C: .4byte gItemParametersFile + 4
-_08090C60:
- ldrb r0, [r4, 0x2]
- ldr r1, _08090C78
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r1, [r4, 0x1]
- ldr r0, [r0, 0x8]
- muls r0, r1
-_08090C70:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090C78: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090C30
-
- thumb_func_start sub_8090C7C
-sub_8090C7C:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- bne _08090C90
- movs r0, 0
- b _08090CC0
-_08090C90:
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08090CB0
- ldrb r0, [r4, 0x2]
- ldr r1, _08090CAC
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r0, [r0, 0x4]
- b _08090CC0
- .align 2, 0
-_08090CAC: .4byte gItemParametersFile + 4
-_08090CB0:
- ldrb r0, [r4, 0x2]
- ldr r1, _08090CC8
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r1, [r4, 0x1]
- ldr r0, [r0, 0x4]
- muls r0, r1
-_08090CC0:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090CC8: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090C7C
-
- thumb_func_start sub_8090CCC
-sub_8090CCC:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- bne _08090CE0
- movs r0, 0
- b _08090D10
-_08090CE0:
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08090D00
- ldrb r0, [r4, 0x2]
- ldr r1, _08090CFC
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r0, [r0, 0x8]
- b _08090D10
- .align 2, 0
-_08090CFC: .4byte gItemParametersFile + 4
-_08090D00:
- ldrb r0, [r4, 0x2]
- ldr r1, _08090D18
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r1, [r4, 0x1]
- ldr r0, [r0, 0x8]
- muls r0, r1
-_08090D10:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090D18: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090CCC
-
- thumb_func_start sub_8090D1C
-sub_8090D1C:
- lsls r0, 24
- ldr r1, _08090D2C
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldr r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_08090D2C: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D1C
-
- thumb_func_start sub_8090D30
-sub_8090D30:
- lsls r0, 24
- ldr r1, _08090D40
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldr r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_08090D40: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D30
-
- thumb_func_start sub_8090D44
-sub_8090D44:
- lsls r0, 24
- ldr r1, _08090D54
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrb r0, [r0, 0x1A]
- bx lr
- .align 2, 0
-_08090D54: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D44
-
- thumb_func_start sub_8090D58
-sub_8090D58:
- lsls r0, 24
- ldr r1, _08090D68
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrb r0, [r0, 0x1D]
- bx lr
- .align 2, 0
-_08090D68: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D58
-
- thumb_func_start sub_8090D6C
-sub_8090D6C:
- lsls r0, 24
- ldr r1, _08090D7C
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrb r0, [r0, 0x1E]
- bx lr
- .align 2, 0
-_08090D7C: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D6C
-
- thumb_func_start sub_8090D80
-sub_8090D80:
- lsls r0, 24
- ldr r2, _08090D94
- ldr r2, [r2]
- lsrs r0, 19
- adds r0, r2
- adds r0, 0x1B
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08090D94: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D80
-
- thumb_func_start sub_8090D98
-sub_8090D98:
- lsls r0, 24
- ldr r1, _08090DA8
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldr r0, [r0, 0x10]
- bx lr
- .align 2, 0
-_08090DA8: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D98
-
- thumb_func_start sub_8090DAC
-sub_8090DAC:
- lsls r0, 24
- ldr r2, _08090DC0
- ldr r2, [r2]
- lsrs r0, 19
- adds r0, r2
- adds r0, 0x14
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08090DC0: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090DAC
-
- thumb_func_start sub_8090DC4
-sub_8090DC4:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x54
- adds r6, r0, 0
- adds r4, r1, 0
- mov r8, r2
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08090E10
- ldr r1, [r0]
- lsls r0, r4, 5
- adds r0, r1
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x50
- bl strncpy
- add r5, sp, 0x50
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090A8C
- movs r0, 0x1
- strb r0, [r5, 0x1]
- adds r0, r6, 0
- mov r1, sp
- adds r2, r5, 0
- mov r3, r8
- bl sub_8090F58
- add sp, 0x54
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08090E10: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090DC4
-
- thumb_func_start sub_8090E14
-sub_8090E14:
- push {r4-r7,lr}
- sub sp, 0x50
- adds r6, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- movs r4, 0
- cmp r7, 0
- beq _08090E2C
- ldrb r1, [r7, 0x8]
- negs r0, r1
- orrs r0, r1
- lsrs r4, r0, 31
-_08090E2C:
- ldrb r0, [r5, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- bne _08090E3E
- cmp r4, 0
- bne _08090E50
- b _08090E70
-_08090E3E:
- ldrb r0, [r5, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08090E90
- cmp r4, 0
- beq _08090E70
-_08090E50:
- ldr r1, _08090E68
- ldrb r0, [r5, 0x2]
- ldr r2, _08090E6C
- ldr r2, [r2]
- lsls r0, 5
- adds r0, r2
- ldr r2, [r0]
- ldrb r3, [r5, 0x1]
- mov r0, sp
- bl sub_800D158
- b _08090EC4
- .align 2, 0
-_08090E68: .4byte gUnknown_8109770
-_08090E6C: .4byte gItemParametersFile + 4
-_08090E70:
- ldr r1, _08090E88
- ldrb r0, [r5, 0x2]
- ldr r2, _08090E8C
- ldr r2, [r2]
- lsls r0, 5
- adds r0, r2
- ldr r2, [r0]
- mov r0, sp
- bl sub_800D158
- b _08090EC4
- .align 2, 0
-_08090E88: .4byte gUnknown_8109778
-_08090E8C: .4byte gItemParametersFile + 4
-_08090E90:
- ldrb r0, [r5, 0x2]
- cmp r0, 0x69
- bne _08090EB0
- ldr r4, _08090EAC
- adds r0, r5, 0
- bl sub_80915D4
- adds r2, r0, 0
- mov r0, sp
- adds r1, r4, 0
- bl sub_800D158
- b _08090EC4
- .align 2, 0
-_08090EAC: .4byte gUnknown_810977C
-_08090EB0:
- ldrb r0, [r5, 0x2]
- ldr r1, _08090F2C
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x50
- bl strncpy
-_08090EC4:
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08090EE2
- ldr r1, _08090F30
- adds r0, r6, 0
- mov r2, sp
- bl sub_800D158
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x50
- bl strncpy
-_08090EE2:
- cmp r7, 0
- beq _08090F38
- ldrb r0, [r7, 0x4]
- cmp r0, 0
- beq _08090F0A
- ldrb r1, [r5]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08090F0A
- ldr r1, _08090F34
- adds r0, r6, 0
- mov r2, sp
- bl sub_800D158
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x50
- bl strncpy
-_08090F0A:
- ldr r0, [r7]
- cmp r0, 0x1
- beq _08090F14
- cmp r0, 0x3
- bne _08090F44
-_08090F14:
- ldrb r1, [r5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08090F38
- adds r0, r6, 0
- mov r1, sp
- adds r2, r5, 0
- adds r3, r7, 0
- bl sub_8090F58
- b _08090F50
- .align 2, 0
-_08090F2C: .4byte gItemParametersFile + 4
-_08090F30: .4byte gUnknown_8109784
-_08090F34: .4byte gUnknown_810978C
-_08090F38:
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x50
- bl strncpy
- b _08090F50
-_08090F44:
- adds r0, r6, 0
- mov r1, sp
- adds r2, r5, 0
- adds r3, r7, 0
- bl sub_8090F58
-_08090F50:
- add sp, 0x50
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8090E14
-
- thumb_func_start sub_8090F58
-sub_8090F58:
- push {r4-r6,lr}
- sub sp, 0x2C
- adds r5, r0, 0
- adds r6, r1, 0
- adds r0, r2, 0
- adds r4, r3, 0
- cmp r4, 0
- bne _08090F6C
- adds r0, r5, 0
- b _08090F94
-_08090F6C:
- ldr r1, [r4]
- cmp r1, 0x1
- bcc _08090F8A
- cmp r1, 0x2
- bhi _08090F7E
- bl sub_8090BE4
- adds r1, r0, 0
- b _08090F8C
-_08090F7E:
- cmp r1, 0x4
- bhi _08090F8A
- bl sub_8090C30
- adds r1, r0, 0
- b _08090F8C
-_08090F8A:
- movs r1, 0
-_08090F8C:
- cmp r1, 0
- bne _08090F9C
- adds r0, r5, 0
- adds r1, r6, 0
-_08090F94:
- movs r2, 0x50
- bl strncpy
- b _08090FDE
-_08090F9C:
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08090FC8
- adds r0, r1, 0
- add r1, sp, 0x4
- movs r2, 0x1
- bl sub_8090FEC
- ldr r1, _08090FC4
- movs r0, 0x6
- ldrsh r3, [r4, r0]
- add r2, sp, 0x4
- str r2, [sp]
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_800D158
- b _08090FDE
- .align 2, 0
-_08090FC4: .4byte gUnknown_8109794
-_08090FC8:
- adds r0, r1, 0
- add r1, sp, 0x4
- movs r2, 0
- bl sub_8090FEC
- ldr r1, _08090FE8
- adds r0, r5, 0
- adds r2, r6, 0
- add r3, sp, 0x4
- bl sub_800D158
-_08090FDE:
- add sp, 0x2C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08090FE8: .4byte gUnknown_81097A4
- thumb_func_end sub_8090F58
-
- thumb_func_start sub_8090FEC
-sub_8090FEC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- movs r0, 0
- mov r8, r0
- movs r6, 0
- movs r2, 0
- ldr r1, _08091050
- mov r9, r1
- mov r12, r9
-_0809100E:
- movs r1, 0
- lsls r3, r2, 2
- ldr r7, _08091054
- adds r0, r3, r7
- ldr r0, [r0]
- adds r7, r2, 0x1
- cmp r5, r0
- blt _0809102C
- ldr r2, _08091054
-_08091020:
- adds r0, r3, r2
- ldr r0, [r0]
- subs r5, r0
- adds r1, 0x1
- cmp r5, r0
- bge _08091020
-_0809102C:
- cmp r1, 0x9
- ble _08091032
- movs r1, 0x9
-_08091032:
- cmp r1, 0
- beq _0809105C
- movs r0, 0x1
- mov r8, r0
- lsls r1, 1
- mov r2, r12
- adds r0, r1, r2
- ldrb r0, [r0]
- strb r0, [r4]
- adds r4, 0x1
- ldr r0, _08091058
- adds r1, r0
- ldrb r0, [r1]
- b _0809106C
- .align 2, 0
-_08091050: .4byte gUnknown_81097C4
-_08091054: .4byte gUnknown_81097B0
-_08091058: .4byte gUnknown_81097C5
-_0809105C:
- mov r1, r8
- cmp r1, 0
- beq _08091074
- mov r2, r12
- ldrb r0, [r2]
- strb r0, [r4]
- adds r4, 0x1
- ldrb r0, [r2, 0x1]
-_0809106C:
- strb r0, [r4]
- adds r4, 0x1
- adds r6, 0x1
- b _08091080
-_08091074:
- mov r0, r10
- cmp r0, 0
- beq _08091080
- movs r0, 0x60
- strb r0, [r4]
- adds r4, 0x1
-_08091080:
- adds r2, r7, 0
- cmp r2, 0x4
- ble _0809100E
- lsls r1, r5, 1
- mov r2, r9
- adds r0, r1, r2
- ldrb r0, [r0]
- strb r0, [r4]
- adds r4, 0x1
- mov r0, r9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r4]
- adds r6, 0x1
- movs r0, 0
- strb r0, [r4, 0x1]
- adds r0, r6, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8090FEC
-
- thumb_func_start sub_80910B4
-sub_80910B4:
- push {r4-r7,lr}
- movs r2, 0
- movs r4, 0
- ldr r7, _080910C0
- movs r3, 0
- b _080910DA
- .align 2, 0
-_080910C0: .4byte gUnknown_203B460
-_080910C4:
- cmp r2, r4
- ble _080910D4
- ldr r0, [r7]
- lsls r1, r4, 2
- adds r1, r0, r1
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_080910D4:
- adds r3, 0x4
- adds r2, 0x1
- adds r4, 0x1
-_080910DA:
- cmp r2, 0x13
- bgt _08091106
- ldr r0, [r7]
- adds r0, r3, r0
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08091106
- ldr r5, _0809112C
- movs r6, 0x1
-_080910F0:
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x13
- bgt _08091106
- ldr r0, [r5]
- adds r0, r3, r0
- ldrb r1, [r0]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080910F0
-_08091106:
- cmp r2, 0x14
- bne _080910C4
- cmp r4, 0x13
- bgt _08091124
- ldr r3, _0809112C
- movs r2, 0
-_08091112:
- lsls r1, r4, 2
- ldr r0, [r3]
- adds r1, r0
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x1]
- strb r2, [r1]
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091112
-_08091124:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809112C: .4byte gUnknown_203B460
- thumb_func_end sub_80910B4
-
- thumb_func_start sub_8091130
-sub_8091130:
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- ldr r0, _08091154
- ldr r2, [r0]
- movs r5, 0x1
-_0809113E:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08091158
- ldrb r0, [r2, 0x2]
- cmp r0, r4
- bne _08091158
- adds r0, r3, 0
- b _08091164
- .align 2, 0
-_08091154: .4byte gUnknown_203B460
-_08091158:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x13
- ble _0809113E
- movs r0, 0x1
- negs r0, r0
-_08091164:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8091130
-
- thumb_func_start sub_809116C
-sub_809116C:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _080911A0
- ldr r2, [r0]
- movs r6, 0x1
- movs r3, 0x13
-_0809117C:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0809118E
- ldrb r0, [r2, 0x2]
- cmp r0, r5
- bne _0809118E
- adds r4, 0x1
-_0809118E:
- adds r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _0809117C
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080911A0: .4byte gUnknown_203B460
- thumb_func_end sub_809116C
-
- thumb_func_start sub_80911A4
-sub_80911A4:
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_809116C
- adds r4, r0, 0
- movs r3, 0
- ldr r0, _080911F4
- ldr r7, [r0]
- movs r6, 0x1
-_080911BA:
- movs r0, 0x58
- muls r0, r3
- adds r2, r7, r0
- ldrh r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080911E2
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _080911E2
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0
- beq _080911E2
- cmp r0, r5
- bne _080911E2
- adds r4, 0x1
-_080911E2:
- adds r3, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r3, r0
- ble _080911BA
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080911F4: .4byte gUnknown_203B45C
- thumb_func_end sub_80911A4
-
- thumb_func_start sub_80911F8
-sub_80911F8:
- push {r4,r5,lr}
- adds r2, r0, 0
- ldr r4, _08091230
- cmp r2, 0x12
- bgt _0809121C
- adds r5, r4, 0
- lsls r0, r2, 2
- adds r3, r0, 0x4
-_08091208:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r1, r0, r1
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x12
- ble _08091208
-_0809121C:
- ldr r0, [r4]
- adds r0, 0x4E
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x4C
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08091230: .4byte gUnknown_203B460
- thumb_func_end sub_80911F8
-
- thumb_func_start sub_8091234
-sub_8091234:
- ldr r3, _08091248
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- movs r2, 0
- strb r2, [r1, 0x2]
- ldr r1, [r3]
- adds r1, r0
- strb r2, [r1]
- bx lr
- .align 2, 0
-_08091248: .4byte gUnknown_203B460
- thumb_func_end sub_8091234
-
- thumb_func_start sub_809124C
-sub_809124C:
- push {lr}
- sub sp, 0x4
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r2, 24
- mov r0, sp
- adds r1, r3, 0
- bl sub_8090A8C
- mov r0, sp
- bl sub_8091290
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_809124C
-
- thumb_func_start sub_8091274
-sub_8091274:
- push {lr}
- sub sp, 0x4
- adds r1, r0, 0
- mov r0, sp
- bl sub_8090B64
- mov r0, sp
- bl sub_8091290
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8091274
-
- thumb_func_start sub_8091290
-sub_8091290:
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r3, 0
- ldr r5, _080912B4
- movs r6, 0x1
-_0809129A:
- lsls r1, r3, 2
- ldr r0, [r5]
- adds r2, r1, r0
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _080912B8
- ldr r0, [r4]
- str r0, [r2]
- movs r0, 0
- b _080912C0
- .align 2, 0
-_080912B4: .4byte gUnknown_203B460
-_080912B8:
- adds r3, 0x1
- cmp r3, 0x13
- ble _0809129A
- movs r0, 0x1
-_080912C0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8091290
-
- thumb_func_start sub_80912C8
-sub_80912C8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- movs r6, 0
-_080912D6:
- ldr r0, _0809139C
- lsls r1, r5, 2
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080912FE
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _080912FE
- adds r0, r4, 0
- bl sub_80915D4
- bl sub_80913A0
- strb r6, [r4, 0x2]
- strb r6, [r4, 0x1]
- strb r6, [r4]
-_080912FE:
- adds r5, 0x1
- cmp r5, 0x13
- ble _080912D6
- bl sub_80910B4
- movs r5, 0
-_0809130A:
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- lsls r2, r5, 2
- ldr r1, _0809139C
- mov r8, r1
- ldr r0, [r1]
- adds r3, r2, r0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- mov r10, r2
- adds r7, r5, 0x1
- cmp r0, 0
- beq _08091382
- ldrb r0, [r3, 0x2]
- bl sub_8090D44
- adds r6, r0, 0
- adds r4, r7, 0
- cmp r7, 0x13
- bgt _08091368
-_08091336:
- lsls r5, r4, 2
- mov r1, r8
- ldr r0, [r1]
- adds r2, r5, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08091362
- ldrb r0, [r2, 0x2]
- bl sub_8090D44
- cmp r6, r0
- ble _08091362
- mov r9, r4
- mov r1, r8
- ldr r0, [r1]
- adds r0, r5
- ldrb r0, [r0, 0x2]
- bl sub_8090D44
- adds r6, r0, 0
-_08091362:
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091336
-_08091368:
- mov r4, r9
- cmp r4, 0
- blt _08091382
- ldr r0, _0809139C
- ldr r1, [r0]
- mov r0, r10
- adds r2, r1, r0
- ldr r3, [r2]
- lsls r0, r4, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- str r3, [r1]
-_08091382:
- adds r5, r7, 0
- cmp r5, 0x13
- ble _0809130A
- bl sub_80910B4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809139C: .4byte gUnknown_203B460
- thumb_func_end sub_80912C8
-
- thumb_func_start sub_80913A0
-sub_80913A0:
- push {lr}
- ldr r1, _080913C4
- ldr r1, [r1]
- movs r3, 0x98
- lsls r3, 2
- adds r2, r1, r3
- ldr r1, [r2]
- adds r1, r0
- str r1, [r2]
- ldr r0, _080913C8
- cmp r1, r0
- bgt _080913BE
- cmp r1, 0
- bge _080913C0
- movs r0, 0
-_080913BE:
- str r0, [r2]
-_080913C0:
- pop {r0}
- bx r0
- .align 2, 0
-_080913C4: .4byte gUnknown_203B460
-_080913C8: .4byte 0x0001869f
- thumb_func_end sub_80913A0
-
- thumb_func_start sub_80913CC
-sub_80913CC:
- lsls r0, 24
- ldr r1, _080913DC
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrh r0, [r0, 0x18]
- bx lr
- .align 2, 0
-_080913DC: .4byte gItemParametersFile + 4
- thumb_func_end sub_80913CC
-
- thumb_func_start sub_80913E0
-sub_80913E0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x5C
- adds r6, r0, 0
- adds r5, r1, 0
- mov r8, r2
- ldrb r0, [r6, 0x2]
- bl sub_8090D98
- ldrb r1, [r6, 0x2]
- add r0, sp, 0x4
- movs r2, 0
- bl sub_8090DC4
- ldrb r0, [r6, 0x2]
- cmp r0, 0x7C
- bne _08091414
- ldr r0, _080914D4
- ldrb r1, [r6, 0x1]
- adds r1, 0x7D
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- bl sub_8090DC4
-_08091414:
- adds r0, r5, 0
- bl sub_80073B8
- movs r7, 0
- str r7, [sp]
- movs r0, 0x10
- movs r1, 0
- add r2, sp, 0x4
- adds r3, r5, 0
- bl sub_8014FF0
- ldrb r0, [r6, 0x2]
- bl sub_8090D98
- adds r2, r0, 0
- str r7, [sp]
- movs r0, 0x8
- movs r1, 0x18
- adds r3, r5, 0
- bl sub_8014FF0
- ldrb r0, [r6, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080914B6
- add r4, sp, 0x54
- ldrb r0, [r6, 0x2]
- bl sub_80913CC
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8092A88
- movs r0, 0x7
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x52
- movs r3, 0xC8
- bl sub_80078A4
- ldr r0, _080914D8
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x4
- movs r1, 0x54
- adds r3, r5, 0
- bl sub_8014FF0
- adds r0, r4, 0
- bl sub_8092B00
- lsls r0, 24
- lsrs r0, 24
- bl GetUnformattedTypeString
- adds r2, r0, 0
- str r7, [sp]
- movs r0, 0x40
- movs r1, 0x54
- adds r3, r5, 0
- bl sub_8014FF0
- adds r0, r4, 0
- bl sub_8092BF4
- ldr r1, _080914DC
- str r0, [r1]
- ldr r0, _080914E0
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x80
- movs r1, 0x54
- adds r3, r5, 0
- bl sub_8014FF0
-_080914B6:
- adds r0, r5, 0
- bl sub_80073E0
- ldrb r0, [r6, 0x2]
- bl sub_8090D98
- mov r1, r8
- bl sub_8097DF0
- add sp, 0x5C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080914D4: .4byte gUnknown_202DE58
-_080914D8: .4byte gUnknown_810CF0C
-_080914DC: .4byte gUnknown_202DE30
-_080914E0: .4byte gUnknown_8115970
- thumb_func_end sub_80913E0
-
- thumb_func_start sub_80914E4
-sub_80914E4:
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r0, 0
- beq _0809151A
- cmp r0, 0x69
- beq _0809151A
- cmp r0, 0x79
- beq _0809151A
- cmp r0, 0x77
- beq _0809151A
- cmp r0, 0x78
- beq _0809151A
- cmp r0, 0x7A
- beq _0809151A
- bl sub_8090D30
- cmp r0, 0
- beq _0809151A
- adds r0, r4, 0
- bl sub_8090D1C
- cmp r0, 0
- beq _0809151A
- movs r0, 0x1
- b _0809151C
-_0809151A:
- movs r0, 0
-_0809151C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80914E4
-
- thumb_func_start sub_8091524
-sub_8091524:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- beq _0809153C
- cmp r0, 0x69
- beq _0809153C
- cmp r1, 0x7C
- beq _0809153C
- movs r0, 0x1
- b _0809153E
-_0809153C:
- movs r0, 0
-_0809153E:
- pop {r1}
- bx r1
- thumb_func_end sub_8091524
-
- thumb_func_start sub_8091544
-sub_8091544:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- beq _08091568
- cmp r0, 0x69
- beq _08091568
- cmp r0, 0x79
- beq _08091568
- cmp r0, 0x77
- beq _08091568
- cmp r0, 0x78
- beq _08091568
- cmp r1, 0x7A
- beq _08091568
- movs r0, 0x1
- b _0809156A
-_08091568:
- movs r0, 0
-_0809156A:
- pop {r1}
- bx r1
- thumb_func_end sub_8091544
-
- thumb_func_start sub_8091570
-sub_8091570:
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _08091596
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08091596
- movs r0, 0
- b _08091598
-_08091596:
- movs r0, 0x1
-_08091598:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8091570
-
- thumb_func_start sub_80915A0
-sub_80915A0:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0xE0
- beq _080915CC
- cmp r0, 0xE1
- beq _080915CC
- cmp r0, 0xE2
- beq _080915CC
- cmp r0, 0xE3
- beq _080915CC
- cmp r0, 0xE4
- beq _080915CC
- cmp r0, 0xE5
- beq _080915CC
- cmp r0, 0xE6
- beq _080915CC
- cmp r1, 0xE7
- beq _080915CC
- movs r0, 0
- b _080915CE
-_080915CC:
- movs r0, 0x1
-_080915CE:
- pop {r1}
- bx r1
- thumb_func_end sub_80915A0
-
- thumb_func_start sub_80915D4
-sub_80915D4:
- ldr r1, _080915E0
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080915E0: .4byte gUnknown_810A3F0
- thumb_func_end sub_80915D4
-
- thumb_func_start sub_80915E4
-sub_80915E4:
- ldr r1, _080915F0
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080915F0: .4byte gUnknown_810A3F0
- thumb_func_end sub_80915E4
-
- thumb_func_start sub_80915F4
-sub_80915F4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r3, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r0, _080916B8
- strh r0, [r7]
- movs r0, 0
- strh r0, [r7, 0x2]
- adds r0, r5, 0
- bl sub_8091764
- lsls r0, 24
- cmp r0, 0
- bne _0809161E
- b _08091756
-_0809161E:
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- movs r1, 0
- bl GetPokemonType
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r2, 0x8
- ldrsh r0, [r6, r2]
- movs r1, 0x1
- bl GetPokemonType
- lsls r0, 24
- lsrs r0, 24
- adds r2, r5, 0
- subs r2, 0x55
- ldr r5, _080916BC
- lsls r2, 1
- lsls r1, r4, 3
- adds r1, r4
- lsls r1, 2
- adds r1, r2, r1
- adds r1, r5
- movs r4, 0
- ldrsh r3, [r1, r4]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r2, r1
- adds r2, r5
- movs r1, 0
- ldrsh r0, [r2, r1]
- movs r2, 0x14
- ldrsh r1, [r6, r2]
- adds r3, r0
- ldrh r4, [r6, 0x14]
- adds r3, r4
- strh r3, [r6, 0x14]
- movs r2, 0x14
- ldrsh r0, [r6, r2]
- subs r1, r0, r1
- lsls r3, 16
- cmp r3, 0
- bgt _0809167C
- movs r0, 0x1
- strh r0, [r6, 0x14]
-_0809167C:
- movs r4, 0x14
- ldrsh r0, [r6, r4]
- ldr r2, _080916C0
- cmp r0, r2
- ble _08091688
- strh r2, [r6, 0x14]
-_08091688:
- movs r0, 0
- cmp r1, 0x8
- bgt _0809169C
- movs r0, 0x1
- cmp r1, 0x4
- bgt _0809169C
- movs r0, 0x3
- cmp r1, 0x2
- ble _0809169C
- movs r0, 0x2
-_0809169C:
- strh r0, [r7]
- mov r1, r8
- cmp r1, 0
- bne _08091756
- cmp r0, 0
- bne _080916C4
- movs r0, 0x10
- bl RandomCapped
- cmp r0, 0xA
- bne _080916C4
- movs r0, 0xF
- b _080916D2
- .align 2, 0
-_080916B8: .4byte 0x0000ffff
-_080916BC: .4byte gUnknown_810A580
-_080916C0: .4byte 0x000003e7
-_080916C4:
- movs r0, 0x4
- bl RandomCapped
- ldr r1, _080916EC
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
-_080916D2:
- strh r0, [r7, 0x2]
- ldrh r1, [r7, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080916F6
- ldrb r0, [r6, 0x18]
- cmp r0, 0xFE
- bhi _080916F0
- adds r0, 0x1
- strb r0, [r6, 0x18]
- b _080916F6
- .align 2, 0
-_080916EC: .4byte gUnknown_81097E0
-_080916F0:
- ldr r0, _0809170C
- ands r0, r1
- strh r0, [r7, 0x2]
-_080916F6:
- ldrh r1, [r7, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08091716
- ldrb r0, [r6, 0x19]
- cmp r0, 0xFE
- bhi _08091710
- adds r0, 0x1
- strb r0, [r6, 0x19]
- b _08091716
- .align 2, 0
-_0809170C: .4byte 0x0000fffe
-_08091710:
- ldr r0, _0809172C
- ands r0, r1
- strh r0, [r7, 0x2]
-_08091716:
- ldrh r1, [r7, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08091736
- ldrb r0, [r6, 0x1A]
- cmp r0, 0xFE
- bhi _08091730
- adds r0, 0x1
- strb r0, [r6, 0x1A]
- b _08091736
- .align 2, 0
-_0809172C: .4byte 0x0000fffd
-_08091730:
- ldr r0, _0809174C
- ands r0, r1
- strh r0, [r7, 0x2]
-_08091736:
- ldrh r1, [r7, 0x2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08091756
- ldrb r0, [r6, 0x1B]
- cmp r0, 0xFE
- bhi _08091750
- adds r0, 0x1
- strb r0, [r6, 0x1B]
- b _08091756
- .align 2, 0
-_0809174C: .4byte 0x0000fffb
-_08091750:
- ldr r0, _08091760
- ands r0, r1
- strh r0, [r7, 0x2]
-_08091756:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091760: .4byte 0x0000fff7
- thumb_func_end sub_80915F4
-
- thumb_func_start sub_8091764
-sub_8091764:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x55
- bls _08091776
- cmp r0, 0x66
- bhi _08091776
- movs r0, 0x1
- b _08091778
-_08091776:
- movs r0, 0
-_08091778:
- pop {r1}
- bx r1
- thumb_func_end sub_8091764
-
- thumb_func_start sub_809177C
-sub_809177C:
- push {r4,lr}
- movs r4, 0
-_08091780:
- lsls r1, r4, 2
- ldr r0, _080917A4
- ldr r0, [r0]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080917A8
- ldrb r0, [r2, 0x2]
- bl sub_8091764
- lsls r0, 24
- cmp r0, 0
- beq _080917A8
- movs r0, 0x1
- b _080917B0
- .align 2, 0
-_080917A4: .4byte gUnknown_203B460
-_080917A8:
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091780
- movs r0, 0
-_080917B0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809177C
-
- thumb_func_start sub_80917B8
-sub_80917B8:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _080917E0
- ldr r2, _080917DC
- ldr r1, [r2]
- ldrb r0, [r4, 0x2]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- ldrb r3, [r4, 0x1]
- adds r0, r3
- b _080917F0
- .align 2, 0
-_080917DC: .4byte gUnknown_203B460
-_080917E0:
- ldr r2, _0809180C
- ldr r1, [r2]
- ldrb r0, [r4, 0x2]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
-_080917F0:
- strh r0, [r1]
- ldr r0, [r2]
- ldrb r1, [r4, 0x2]
- lsls r1, 1
- adds r0, 0x50
- adds r2, r0, r1
- ldrh r0, [r2]
- ldr r1, _08091810
- cmp r0, r1
- bls _08091806
- strh r1, [r2]
-_08091806:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809180C: .4byte gUnknown_203B460
-_08091810: .4byte 0x000003e7
- thumb_func_end sub_80917B8
-
- thumb_func_start sub_8091814
-sub_8091814:
- push {lr}
- movs r3, 0
- ldr r0, _0809183C
- ldr r0, [r0]
- movs r2, 0x8C
- lsls r2, 2
- adds r1, r0, r2
- movs r2, 0x7
-_08091824:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0809182C
- adds r3, 0x1
-_0809182C:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _08091824
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809183C: .4byte gUnknown_203B460
- thumb_func_end sub_8091814
-
- thumb_func_start sub_8091840
-sub_8091840:
- lsls r0, 24
- ldr r1, _08091858
- lsrs r0, 22
- movs r2, 0x8C
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- bx lr
- .align 2, 0
-_08091858: .4byte gUnknown_203B460
- thumb_func_end sub_8091840
-
- thumb_func_start sub_809185C
-sub_809185C:
- lsls r0, 24
- ldr r1, _08091870
- lsrs r0, 22
- movs r2, 0x8C
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .align 2, 0
-_08091870: .4byte gUnknown_203B460
- thumb_func_end sub_809185C
-
- thumb_func_start sub_8091874
-sub_8091874:
- push {r4-r7,lr}
- movs r2, 0
- movs r4, 0
- ldr r7, _08091884
- movs r6, 0x8C
- lsls r6, 2
- movs r3, 0
- b _080918A0
- .align 2, 0
-_08091884: .4byte gUnknown_203B460
-_08091888:
- cmp r2, r4
- ble _0809189A
- ldr r0, [r7]
- lsls r1, r4, 2
- adds r0, r6
- adds r1, r0, r1
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_0809189A:
- adds r3, 0x4
- adds r2, 0x1
- adds r4, 0x1
-_080918A0:
- cmp r2, 0x7
- bgt _080918CA
- ldr r0, [r7]
- adds r0, r3
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _080918CA
- ldr r5, _080918E8
- movs r1, 0x8C
- lsls r1, 2
-_080918B6:
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x7
- bgt _080918CA
- ldr r0, [r5]
- adds r0, r3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080918B6
-_080918CA:
- cmp r2, 0x8
- bne _08091888
- cmp r4, 0x7
- bgt _080918E0
-_080918D2:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8091840
- adds r4, 0x1
- cmp r4, 0x7
- ble _080918D2
-_080918E0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080918E8: .4byte gUnknown_203B460
- thumb_func_end sub_8091874
-
- thumb_func_start sub_80918EC
-sub_80918EC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
-_080918F8:
- adds r1, r0, 0x1
- mov r8, r1
- mov r6, r8
- cmp r1, 0x7
- bgt _08091964
- ldr r1, _08091978
- mov r9, r1
- lsls r7, r0, 2
- movs r0, 0x8C
- lsls r0, 2
- mov r10, r0
-_0809190E:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7
- add r0, r10
- ldrb r0, [r0]
- bl sub_8090D44
- adds r4, r0, 0
- mov r1, r9
- ldr r0, [r1]
- lsls r5, r6, 2
- adds r0, r5
- add r0, r10
- ldrb r0, [r0]
- bl sub_8090D44
- cmp r4, r0
- bgt _0809194C
- cmp r4, r0
- bne _0809195E
- mov r1, r9
- ldr r0, [r1]
- adds r2, r0, r7
- ldr r1, _0809197C
- adds r2, r1
- adds r0, r5
- adds r0, r1
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bcs _0809195E
-_0809194C:
- mov r1, r9
- ldr r0, [r1]
- add r0, r10
- adds r2, r0, r7
- ldr r3, [r2]
- adds r0, r5
- ldr r1, [r0]
- str r1, [r2]
- str r3, [r0]
-_0809195E:
- adds r6, 0x1
- cmp r6, 0x7
- ble _0809190E
-_08091964:
- mov r0, r8
- cmp r0, 0x6
- ble _080918F8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091978: .4byte gUnknown_203B460
-_0809197C: .4byte 0x00000231
- thumb_func_end sub_80918EC
-
- thumb_func_start sub_8091980
-sub_8091980:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r1, sp
- ldr r0, _080919F4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- movs r5, 0
-_0809199C:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_8091840
- adds r5, 0x1
- cmp r5, 0x7
- ble _0809199C
- mov r0, r8
- lsls r7, r0, 2
- ldr r6, _080919F8
- movs r5, 0x7
-_080919B2:
- adds r0, r6, 0
- bl RandomCapped
- adds r4, r0, 0
- adds r0, r6, 0
- bl RandomCapped
- adds r2, r0, 0
- mov r1, sp
- adds r0, r1, r7
- ldr r0, [r0]
- adds r1, r4, 0
- bl sub_8091E94
- lsls r0, 24
- lsrs r0, 24
- bl sub_80919FC
- subs r5, 0x1
- cmp r5, 0
- bge _080919B2
- bl sub_80918EC
- mov r0, r8
- bl sub_8091BB4
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080919F4: .4byte gUnknown_81097E8
-_080919F8: .4byte 0x0000270f
- thumb_func_end sub_8091980
-
- thumb_func_start sub_80919FC
-sub_80919FC:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- bl sub_8090B08
- movs r3, 0
- ldr r5, _08091A34
- movs r4, 0x8C
- lsls r4, 2
-_08091A14:
- ldr r1, [r5]
- lsls r2, r3, 2
- adds r0, r1, r2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08091A38
- movs r3, 0x8C
- lsls r3, 2
- adds r0, r1, r3
- adds r0, r2
- ldr r1, [sp]
- str r1, [r0]
- movs r0, 0
- b _08091A40
- .align 2, 0
-_08091A34: .4byte gUnknown_203B460
-_08091A38:
- adds r3, 0x1
- cmp r3, 0x7
- ble _08091A14
- movs r0, 0x1
-_08091A40:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80919FC
-
- thumb_func_start sub_8091A48
-sub_8091A48:
- push {lr}
- movs r3, 0
- ldr r0, _08091A70
- ldr r0, [r0]
- movs r2, 0x94
- lsls r2, 2
- adds r1, r0, r2
- movs r2, 0x3
-_08091A58:
- ldrb r0, [r1]
- cmp r0, 0
- beq _08091A60
- adds r3, 0x1
-_08091A60:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _08091A58
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08091A70: .4byte gUnknown_203B460
- thumb_func_end sub_8091A48
-
- thumb_func_start sub_8091A74
-sub_8091A74:
- lsls r0, 24
- ldr r1, _08091A8C
- lsrs r0, 22
- movs r2, 0x94
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- bx lr
- .align 2, 0
-_08091A8C: .4byte gUnknown_203B460
- thumb_func_end sub_8091A74
-
- thumb_func_start sub_8091A90
-sub_8091A90:
- lsls r0, 24
- ldr r1, _08091AA4
- lsrs r0, 22
- movs r2, 0x94
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .align 2, 0
-_08091AA4: .4byte gUnknown_203B460
- thumb_func_end sub_8091A90
-
- thumb_func_start sub_8091AA8
-sub_8091AA8:
- push {r4-r7,lr}
- movs r2, 0
- movs r4, 0
- ldr r7, _08091AB8
- movs r6, 0x94
- lsls r6, 2
- movs r3, 0
- b _08091AD4
- .align 2, 0
-_08091AB8: .4byte gUnknown_203B460
-_08091ABC:
- cmp r2, r4
- ble _08091ACE
- ldr r0, [r7]
- lsls r1, r4, 2
- adds r0, r6
- adds r1, r0, r1
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_08091ACE:
- adds r3, 0x4
- adds r2, 0x1
- adds r4, 0x1
-_08091AD4:
- cmp r2, 0x3
- bgt _08091AFE
- ldr r0, [r7]
- adds r0, r3
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _08091AFE
- ldr r5, _08091B1C
- movs r1, 0x94
- lsls r1, 2
-_08091AEA:
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x3
- bgt _08091AFE
- ldr r0, [r5]
- adds r0, r3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08091AEA
-_08091AFE:
- cmp r2, 0x4
- bne _08091ABC
- cmp r4, 0x3
- bgt _08091B14
-_08091B06:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8091A74
- adds r4, 0x1
- cmp r4, 0x3
- ble _08091B06
-_08091B14:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091B1C: .4byte gUnknown_203B460
- thumb_func_end sub_8091AA8
-
- thumb_func_start sub_8091B20
-sub_8091B20:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
-_08091B2C:
- adds r1, r0, 0x1
- mov r8, r1
- mov r6, r8
- cmp r1, 0x3
- bgt _08091B98
- ldr r1, _08091BAC
- mov r9, r1
- lsls r7, r0, 2
- movs r0, 0x94
- lsls r0, 2
- mov r10, r0
-_08091B42:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7
- add r0, r10
- ldrb r0, [r0]
- bl sub_8090D44
- adds r4, r0, 0
- mov r1, r9
- ldr r0, [r1]
- lsls r5, r6, 2
- adds r0, r5
- add r0, r10
- ldrb r0, [r0]
- bl sub_8090D44
- cmp r4, r0
- bgt _08091B80
- cmp r4, r0
- bne _08091B92
- mov r1, r9
- ldr r0, [r1]
- adds r2, r0, r7
- ldr r1, _08091BB0
- adds r2, r1
- adds r0, r5
- adds r0, r1
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08091B92
-_08091B80:
- mov r1, r9
- ldr r0, [r1]
- add r0, r10
- adds r2, r0, r7
- ldr r3, [r2]
- adds r0, r5
- ldr r1, [r0]
- str r1, [r2]
- str r3, [r0]
-_08091B92:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08091B42
-_08091B98:
- mov r0, r8
- cmp r0, 0x2
- ble _08091B2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091BAC: .4byte gUnknown_203B460
-_08091BB0: .4byte 0x00000251
- thumb_func_end sub_8091B20
-
- thumb_func_start sub_8091BB4
-sub_8091BB4:
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- mov r1, sp
- ldr r0, _08091C14
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r5, 0
-_08091BCA:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_8091A74
- adds r5, 0x1
- cmp r5, 0x3
- ble _08091BCA
- lsls r7, r4, 2
- ldr r6, _08091C18
- movs r5, 0x3
-_08091BDE:
- adds r0, r6, 0
- bl RandomCapped
- adds r4, r0, 0
- adds r0, r6, 0
- bl RandomCapped
- adds r2, r0, 0
- mov r1, sp
- adds r0, r1, r7
- ldr r0, [r0]
- adds r1, r4, 0
- bl sub_8091E94
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091C1C
- subs r5, 0x1
- cmp r5, 0
- bge _08091BDE
- bl sub_8091B20
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091C14: .4byte gUnknown_81097F8
-_08091C18: .4byte 0x0000270f
- thumb_func_end sub_8091BB4
-
- thumb_func_start sub_8091C1C
-sub_8091C1C:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- bl sub_8090B08
- movs r3, 0
- ldr r5, _08091C54
- movs r4, 0x94
- lsls r4, 2
-_08091C34:
- ldr r1, [r5]
- lsls r2, r3, 2
- adds r0, r1, r2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08091C58
- movs r3, 0x94
- lsls r3, 2
- adds r0, r1, r3
- adds r0, r2
- ldr r1, [sp]
- str r1, [r0]
- movs r0, 0
- b _08091C60
- .align 2, 0
-_08091C54: .4byte gUnknown_203B460
-_08091C58:
- adds r3, 0x1
- cmp r3, 0x3
- ble _08091C34
- movs r0, 0x1
-_08091C60:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8091C1C
-
- thumb_func_start sub_8091C68
-sub_8091C68:
- push {r4-r6,lr}
- sub sp, 0x10
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809486C
- movs r4, 0
- ldr r5, _08091D10
-_08091C7C:
- lsls r0, r4, 2
- ldr r1, [r5]
- adds r1, r0
- mov r0, sp
- bl sub_8091E28
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091C7C
- ldr r6, _08091D10
- movs r5, 0x50
- movs r4, 0xEF
-_08091C94:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- movs r2, 0xA
- bl sub_809488C
- adds r5, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08091C94
- ldr r6, _08091D10
- movs r5, 0x8C
- lsls r5, 2
- movs r4, 0x7
-_08091CB0:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8091DE0
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08091CB0
- ldr r6, _08091D10
- movs r5, 0x94
- lsls r5, 2
- movs r4, 0x3
-_08091CCA:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8091DE0
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08091CCA
- ldr r4, _08091D10
- ldr r1, [r4]
- movs r0, 0x98
- lsls r0, 2
- adds r1, r0
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- ldr r1, [r4]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08091D10: .4byte gUnknown_203B460
- thumb_func_end sub_8091C68
-
- thumb_func_start sub_8091D14
-sub_8091D14:
- push {r4-r6,lr}
- sub sp, 0x10
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- movs r4, 0
- ldr r5, _08091DBC
-_08091D28:
- lsls r0, r4, 2
- ldr r1, [r5]
- adds r1, r0
- mov r0, sp
- bl sub_8091E00
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091D28
- ldr r6, _08091DBC
- movs r5, 0x50
- movs r4, 0xEF
-_08091D40:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- movs r2, 0xA
- bl sub_8094924
- adds r5, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08091D40
- ldr r6, _08091DBC
- movs r5, 0x8C
- lsls r5, 2
- movs r4, 0x7
-_08091D5C:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8091DC0
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08091D5C
- ldr r6, _08091DBC
- movs r5, 0x94
- lsls r5, 2
- movs r4, 0x3
-_08091D76:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8091DC0
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08091D76
- ldr r4, _08091DBC
- ldr r1, [r4]
- movs r0, 0x98
- lsls r0, 2
- adds r1, r0
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- ldr r1, [r4]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08091DBC: .4byte gUnknown_203B460
- thumb_func_end sub_8091D14
-
- thumb_func_start sub_8091DC0
-sub_8091DC0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x8
- bl sub_8094924
- adds r4, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8091DC0
-
- thumb_func_start sub_8091DE0
-sub_8091DE0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x8
- bl sub_809488C
- adds r4, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8091DE0
-
- thumb_func_start sub_8091E00
-sub_8091E00:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0x1
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_8094924
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x8
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8091E00
-
- thumb_func_start sub_8091E28
-sub_8091E28:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0x1
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_809488C
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x8
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8091E28
-
- thumb_func_start sub_8091E50
-sub_8091E50:
- lsls r0, 24
- ldr r1, _08091E5C
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08091E5C: .4byte gUnknown_810AF50
- thumb_func_end sub_8091E50
-
- thumb_func_start sub_8091E60
-sub_8091E60:
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r1, 24
- lsrs r4, r0, 24
- cmp r3, 0x3E
- bhi _08091E8C
- ldr r2, _08091E88
- lsrs r0, 27
- lsls r1, r3, 5
- adds r0, r1
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x7
- ands r1, r4
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- b _08091E8E
- .align 2, 0
-_08091E88: .4byte gUnknown_8108F64
-_08091E8C:
- movs r0, 0
-_08091E8E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8091E60
-
- thumb_func_start sub_8091E94
-sub_8091E94:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08091EE4
- add sp, r4
- mov r8, r1
- mov r10, r2
- ldr r1, _08091EE8
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- movs r3, 0
- add r1, sp, 0x18
- mov r9, r1
- ldr r2, _08091EEC
- mov r12, r2
- add r6, sp, 0x1F8
- ldr r2, [r0]
- adds r7, r6, 0
- movs r4, 0
-_08091EC0:
- ldrh r1, [r2]
- cmp r1, r12
- bls _08091EF4
- ldrh r0, [r2]
- ldr r1, _08091EF0
- adds r0, r1
- cmp r0, 0
- beq _08091EFC
- movs r5, 0
- adds r1, r7, r4
-_08091ED4:
- strh r5, [r1]
- adds r1, 0x2
- adds r4, 0x2
- adds r3, 0x1
- subs r0, 0x1
- cmp r0, 0
- bne _08091ED4
- b _08091EFC
- .align 2, 0
-_08091EE4: .4byte 0xfffffc10
-_08091EE8: .4byte gUnknown_8108E58
-_08091EEC: .4byte 0x0000752f
-_08091EF0: .4byte 0xffff8ad0
-_08091EF4:
- adds r0, r6, r4
- strh r1, [r0]
- adds r4, 0x2
- adds r3, 0x1
-_08091EFC:
- adds r2, 0x2
- cmp r3, 0xFB
- ble _08091EC0
- movs r3, 0xB
- add r2, sp, 0x1F8
- mov r1, sp
-_08091F08:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08091F08
- mov r2, r9
- add r1, sp, 0x210
- movs r3, 0xEF
-_08091F1C:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08091F1C
- movs r7, 0xC
- movs r6, 0
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _08091F4A
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, r8
- blt _08091F4A
- movs r7, 0
- b _08091F66
-_08091F46:
- mov r8, r5
- b _08091F9C
-_08091F4A:
- adds r6, 0x1
- cmp r6, 0xB
- bgt _08091F66
- lsls r0, r6, 1
- mov r2, sp
- adds r1, r2, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08091F4A
- cmp r0, r8
- blt _08091F4A
- lsls r0, r6, 24
- lsrs r7, r0, 24
-_08091F66:
- movs r0, 0x46
- mov r8, r0
- cmp r7, 0xC
- beq _08091F9C
- movs r6, 0
- mov r4, r9
-_08091F72:
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08091F94
- lsls r0, r6, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r7
- bne _08091F94
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, r10
- bge _08091F46
-_08091F94:
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0xEF
- ble _08091F72
-_08091F9C:
- mov r0, r8
- movs r3, 0xFC
- lsls r3, 2
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8091E94
-
- thumb_func_start sub_8091FB4
-sub_8091FB4:
- push {r4-r6,lr}
- movs r6, 0
-_08091FB8:
- ldr r0, _08092038
- lsls r1, r6, 2
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08091FE8
- movs r0, 0xF7
- ands r0, r1
- movs r5, 0
- strb r0, [r4]
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _08091FE8
- adds r0, r4, 0
- bl sub_80915D4
- bl sub_80913A0
- strb r5, [r4, 0x2]
- strb r5, [r4, 0x1]
- strb r5, [r4]
-_08091FE8:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08091FB8
- bl sub_80910B4
- movs r6, 0
-_08091FF4:
- movs r0, 0x58
- adds r1, r6, 0
- muls r1, r0
- ldr r0, _0809203C
- ldr r0, [r0]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092026
- adds r4, r2, 0
- adds r4, 0x28
- ldrb r0, [r4]
- cmp r0, 0
- beq _08092026
- cmp r0, 0x69
- bne _08092026
- adds r0, r4, 0
- bl sub_80915E4
- bl sub_80913A0
- movs r0, 0
- strb r0, [r4]
-_08092026:
- adds r6, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r6, r0
- ble _08091FF4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08092038: .4byte gUnknown_203B460
-_0809203C: .4byte gUnknown_203B45C
- thumb_func_end sub_8091FB4
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/code_8092334.s b/asm/code_8092334.s
index 6e8718e..f503417 100644
--- a/asm/code_8092334.s
+++ b/asm/code_8092334.s
@@ -4509,7 +4509,7 @@ sub_8094828:
lsrs r0, r1, 24
cmp r0, 0
beq _08094852
- bl sub_8090BD0
+ bl GetItemType
lsls r0, 24
lsrs r0, 24
cmp r0, 0x9
diff --git a/asm/code_809747C.s b/asm/code_809747C.s
index 7f04a7c..4b285cc 100644
--- a/asm/code_809747C.s
+++ b/asm/code_809747C.s
@@ -950,7 +950,7 @@ _08097B4C:
b _08097B80
.align 2, 0
_08097B5C: .4byte gUnknown_203B494
-_08097B60: .4byte gUnknown_203B45C
+_08097B60: .4byte gRecruitedPokemonRef
_08097B64: .4byte 0x000001a7
_08097B68: .4byte 0x00000179
_08097B6C: .4byte 0x0000010d
diff --git a/asm/code_8098BDC.s b/asm/code_8098BDC.s
index cf72446..861e906 100644
--- a/asm/code_8098BDC.s
+++ b/asm/code_8098BDC.s
@@ -3586,7 +3586,7 @@ _0809AB80:
adds r0, r4, r0
movs r2, 0x2
ldrsh r1, [r6, r2]
- bl sub_808D908
+ bl CopyCyanSpeciesNametoBuffer
ldr r0, _0809ABAC
adds r4, r0
ldr r1, _0809ABB0
@@ -3637,7 +3637,7 @@ _0809ABE8:
movs r0, 0x2
ldrsh r1, [r6, r0]
adds r0, r5, 0
- bl sub_808D908
+ bl CopyCyanSpeciesNametoBuffer
ldr r0, _0809AC14
adds r4, r0
adds r0, r4, 0
@@ -3686,7 +3686,7 @@ _0809AC4C:
adds r0, r4, r0
movs r2, 0x2
ldrsh r1, [r6, r2]
- bl sub_808D908
+ bl CopyCyanSpeciesNametoBuffer
ldr r0, _0809AC78
adds r4, r0
movs r3, 0
@@ -5743,7 +5743,7 @@ _0809BC78:
lsrs r4, 31
bl sub_809B294
adds r0, r4, 0
- bl DisplayPersianDialogueSprite
+ bl CreateFelicityBank
lsls r0, 24
cmp r0, 0
beq _0809BCB0
@@ -5911,7 +5911,7 @@ _0809BDE8:
lsrs r4, 31
bl sub_809B294
adds r0, r4, 0
- bl sub_8021B9C
+ bl CreateWigglytuffShop
lsls r0, 24
cmp r0, 0
beq _0809BE20
@@ -5965,7 +5965,7 @@ _0809BE60:
bl sub_809B294
movs r0, 0x98
lsls r0, 1
- bl sub_80314B4
+ bl CreateHelperPelipperMenu
lsls r0, 24
cmp r0, 0
bne _0809BE84
@@ -6175,7 +6175,7 @@ _0809BFFC:
ands r4, r0
bl sub_809B294
adds r0, r4, 0
- bl sub_802FD14
+ bl CreateMakuhitaShop
lsls r0, 24
cmp r0, 0
beq _0809C032
@@ -6222,7 +6222,7 @@ _0809C072:
_0809C082:
bl sub_809B294
adds r0, r4, 0
- bl sub_802FD14
+ bl CreateMakuhitaShop
lsls r0, 24
cmp r0, 0
beq _0809C0A8
@@ -6256,7 +6256,7 @@ _0809C0B8:
_0809C0C8:
bl sub_809B294
adds r0, r4, 0
- bl sub_802FD14
+ bl CreateMakuhitaShop
lsls r0, 24
cmp r0, 0
beq _0809C0F0
@@ -6287,7 +6287,7 @@ _0809C0FC:
_0809C10C:
bl sub_809B294
adds r0, r4, 0
- bl sub_802FD14
+ bl CreateMakuhitaShop
lsls r0, 24
cmp r0, 0
beq _0809C134
@@ -6715,7 +6715,7 @@ sub_809C478:
cmp r0, 0x3
bne _0809C492
ldr r0, _0809C4AC
- bl sub_8011988
+ bl PlaySound
bl InitFlash
bl ClearFlashData
_0809C492:
@@ -7692,7 +7692,7 @@ sub_809CBBC:
b _0809CC4A
.align 2, 0
_0809CC0C: .4byte gUnknown_81163E4
-_0809CC10: .4byte gItemParametersFile + 4
+_0809CC10: .4byte gItemParametersData
_0809CC14: .4byte gUnknown_203B460
_0809CC18: .4byte 0x0001869f
_0809CC1C:
diff --git a/asm/code_809D148.s b/asm/code_809D148.s
index 34cce17..0527650 100644
--- a/asm/code_809D148.s
+++ b/asm/code_809D148.s
@@ -5022,7 +5022,7 @@ _0809FDA8:
_0809FDB8:
movs r0, 0x1E
_0809FDBA:
- bl sub_8011930
+ bl xxx_call_fade_out_bgm
bl _0809EAE0
_0809FDC2:
ldr r0, [sp, 0xC]
diff --git a/asm/code_80A7714.s b/asm/code_80A7714.s
index 31e753d..a52f7db 100644
--- a/asm/code_80A7714.s
+++ b/asm/code_80A7714.s
@@ -751,7 +751,7 @@ _080A7D7E:
negs r0, r0
b _080A7DD4
.align 2, 0
-_080A7D84: .4byte gUnknown_203B45C
+_080A7D84: .4byte gRecruitedPokemonRef
_080A7D88:
ldrb r1, [r4]
movs r0, 0x1
@@ -893,7 +893,7 @@ _080A7E78:
ldrh r0, [r0, 0x8]
b _080A800A
.align 2, 0
-_080A7E8C: .4byte gUnknown_203B45C
+_080A7E8C: .4byte gRecruitedPokemonRef
_080A7E90:
adds r0, r3, 0
subs r0, 0xE
@@ -958,7 +958,7 @@ _080A7F06:
ldrh r0, [r4, 0x8]
b _080A800A
.align 2, 0
-_080A7F0C: .4byte gUnknown_203B45C
+_080A7F0C: .4byte gRecruitedPokemonRef
_080A7F10:
ldrb r1, [r4]
movs r0, 0x1
@@ -2937,7 +2937,7 @@ _080A8DDE:
adds r0, r1
b _080A8E94
.align 2, 0
-_080A8DF4: .4byte gUnknown_203B45C
+_080A8DF4: .4byte gRecruitedPokemonRef
_080A8DF8:
adds r0, r1, 0
subs r0, 0xE
@@ -2993,7 +2993,7 @@ _080A8DF8:
adds r0, r4, 0
b _080A8E94
.align 2, 0
-_080A8E6C: .4byte gUnknown_203B45C
+_080A8E6C: .4byte gRecruitedPokemonRef
_080A8E70:
ldrb r1, [r4]
movs r0, 0x1
diff --git a/asm/debug_menu.s b/asm/debug_menu.s
index 04f78e4..1a1454a 100644
--- a/asm/debug_menu.s
+++ b/asm/debug_menu.s
@@ -68,7 +68,7 @@ _0803A3E8:
str r0, [sp, 0x80]
mov r0, r10
movs r1, 0x1
- bl sub_801203C
+ bl WriteSavetoPak
add sp, 0x84
pop {r3-r5}
mov r8, r3
diff --git a/asm/debug_menu_1.s b/asm/debug_menu_1.s
index 12b27d9..8a6b89f 100644
--- a/asm/debug_menu_1.s
+++ b/asm/debug_menu_1.s
@@ -242,7 +242,7 @@ _0803ABCE:
movs r0, 0
b _0803AC1C
.align 2, 0
-_0803AC08: .4byte gUnknown_203B45C
+_0803AC08: .4byte gRecruitedPokemonRef
_0803AC0C: .4byte gUnknown_203B3F4
_0803AC10:
adds r5, 0x1
@@ -673,7 +673,7 @@ sub_803AF38:
b _0803AF82
.align 2, 0
_0803AF70: .4byte gUnknown_203B3F8
-_0803AF74: .4byte gUnknown_203B45C
+_0803AF74: .4byte gRecruitedPokemonRef
_0803AF78:
bl sub_8023C60
movs r0, 0x7
diff --git a/asm/felicity_bank.s b/asm/felicity_bank.s
new file mode 100644
index 0000000..c60b295
--- /dev/null
+++ b/asm/felicity_bank.s
@@ -0,0 +1,571 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start UpdateFelicityBankDialogue
+UpdateFelicityBankDialogue:
+ push {r4,r5,lr}
+ sub sp, 0x14
+ ldr r1, _08016558
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r2, r1, 0
+ cmp r0, 0xC
+ bls _0801654E
+ b _080168EC
+_0801654E:
+ lsls r0, 2
+ ldr r1, _0801655C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08016558: .4byte gUnknown_203B204
+_0801655C: .4byte _08016560
+ .align 2, 0
+_08016560:
+ .4byte _08016594
+ .4byte _080165B4
+ .4byte _080168B2
+ .4byte _08016650
+ .4byte _08016668
+ .4byte _080166C4
+ .4byte _080168EC
+ .4byte _080166DC
+ .4byte _0801674C
+ .4byte _080167A8
+ .4byte _080167CC
+ .4byte _0801685C
+ .4byte _080168C4
+_08016594:
+ ldr r2, [r2]
+ movs r0, 0x1
+ str r0, [r2, 0x8]
+ ldr r3, _080165B0
+ ldr r1, [r2]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldr r0, [r0]
+ adds r2, 0xA4
+ ldr r2, [r2]
+ b _08016844
+ .align 2, 0
+_080165B0: .4byte gFelicityDialogue
+_080165B4:
+ bl CreateFelicityBankShopMenu
+ ldr r0, _080165FC
+ ldr r0, [r0]
+ mov r12, r0
+ movs r0, 0x2
+ mov r1, r12
+ str r0, [r1, 0x8]
+ ldr r0, _08016600
+ ldr r0, [r0]
+ movs r3, 0x99
+ lsls r3, 2
+ adds r0, r3
+ ldr r4, [r0]
+ cmp r4, 0
+ bne _08016608
+ ldr r2, _08016604
+ ldr r1, [r1]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x4
+ adds r0, r2
+ ldr r0, [r0]
+ mov r5, r12
+ ldr r2, [r5, 0x10]
+ mov r3, r12
+ adds r3, 0x14
+ mov r1, r12
+ adds r1, 0x54
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ b _08016632
+ .align 2, 0
+_080165FC: .4byte gUnknown_203B204
+_08016600: .4byte gUnknown_203B460
+_08016604: .4byte gFelicityDialogue
+_08016608:
+ ldr r0, _08016648
+ str r4, [r0]
+ ldr r2, _0801664C
+ mov r0, r12
+ ldr r1, [r0]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x8
+ adds r0, r2
+ ldr r0, [r0]
+ mov r1, r12
+ ldr r2, [r1, 0x10]
+ mov r3, r12
+ adds r3, 0x14
+ adds r1, 0x54
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+_08016632:
+ mov r1, r12
+ adds r1, 0xA4
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ bl sub_8014248
+ b _080168EC
+ .align 2, 0
+_08016648: .4byte gUnknown_202DE30
+_0801664C: .4byte gFelicityDialogue
+_08016650:
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _08016664
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x38
+ b _0801683C
+ .align 2, 0
+_08016664: .4byte gFelicityDialogue
+_08016668:
+ ldr r3, [r2]
+ movs r0, 0x6
+ str r0, [r3, 0x8]
+ ldr r0, _08016698
+ ldr r0, [r0]
+ movs r5, 0x99
+ lsls r5, 2
+ adds r0, r5
+ ldr r1, [r0]
+ cmp r1, 0
+ bne _080166A0
+ ldr r2, _0801669C
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x10
+ adds r0, r2
+ ldr r0, [r0]
+ adds r1, r3, 0
+ adds r1, 0xA4
+ ldr r2, [r1]
+ b _08016844
+ .align 2, 0
+_08016698: .4byte gUnknown_203B460
+_0801669C: .4byte gFelicityDialogue
+_080166A0:
+ ldr r0, _080166BC
+ str r1, [r0]
+ ldr r2, _080166C0
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x14
+ adds r0, r2
+ ldr r0, [r0]
+ adds r1, r3, 0
+ adds r1, 0xA4
+ ldr r2, [r1]
+ b _08016844
+ .align 2, 0
+_080166BC: .4byte gUnknown_202DE30
+_080166C0: .4byte gFelicityDialogue
+_080166C4:
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _080166D8
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0xC
+ b _0801683C
+ .align 2, 0
+_080166D8: .4byte gFelicityDialogue
+_080166DC:
+ ldr r0, _08016700
+ ldr r1, [r0]
+ movs r3, 0x98
+ lsls r3, 2
+ adds r0, r1, r3
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _08016708
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _08016704
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ b _0801683C
+ .align 2, 0
+_08016700: .4byte gUnknown_203B460
+_08016704: .4byte gFelicityDialogue
+_08016708:
+ movs r5, 0x99
+ lsls r5, 2
+ adds r0, r1, r5
+ ldr r1, [r0]
+ ldr r0, _0801672C
+ cmp r1, r0
+ ble _08016734
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _08016730
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x20
+ b _0801683C
+ .align 2, 0
+_0801672C: .4byte 0x0098967e
+_08016730: .4byte gFelicityDialogue
+_08016734:
+ ldr r3, [r2]
+ movs r0, 0x8
+ str r0, [r3, 0x8]
+ ldr r2, _08016748
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x18
+ b _0801683C
+ .align 2, 0
+_08016748: .4byte gFelicityDialogue
+_0801674C:
+ ldr r4, [r2]
+ ldr r0, _080167A0
+ ldr r3, [r0]
+ movs r1, 0x99
+ lsls r1, 2
+ adds r0, r3, r1
+ ldr r1, [r0]
+ ldr r0, _080167A4
+ subs r0, r1
+ str r0, [r4, 0x70]
+ movs r5, 0x98
+ lsls r5, 2
+ adds r1, r3, r5
+ ldr r1, [r1]
+ cmp r0, r1
+ ble _0801676E
+ str r1, [r4, 0x70]
+_0801676E:
+ ldr r2, [r2]
+ ldr r0, [r2, 0x70]
+ str r0, [r2, 0x68]
+ movs r0, 0x1
+ str r0, [r2, 0x6C]
+ movs r0, 0x5
+ str r0, [r2, 0x74]
+ movs r0, 0x2
+ str r0, [r2, 0x78]
+ adds r0, r2, 0
+ adds r0, 0xD8
+ str r0, [r2, 0x7C]
+ adds r1, r2, 0
+ adds r1, 0x80
+ movs r0, 0x50
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x12
+ str r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0x64
+ bl sub_8013AA0
+ movs r0, 0x1
+ b _080168AE
+ .align 2, 0
+_080167A0: .4byte gUnknown_203B460
+_080167A4: .4byte 0x0098967f
+_080167A8:
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r1, _080167C4
+ ldr r0, [r3, 0xC]
+ str r0, [r1]
+ ldr r2, _080167C8
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x24
+ b _0801683C
+ .align 2, 0
+_080167C4: .4byte gUnknown_202DE30
+_080167C8: .4byte gFelicityDialogue
+_080167CC:
+ ldr r0, _080167F4
+ ldr r3, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r3, r1
+ ldr r1, [r0]
+ ldr r0, _080167F8
+ cmp r1, r0
+ ble _08016800
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _080167FC
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x30
+ b _0801683C
+ .align 2, 0
+_080167F4: .4byte gUnknown_203B460
+_080167F8: .4byte 0x0001869e
+_080167FC: .4byte gFelicityDialogue
+_08016800:
+ movs r5, 0x99
+ lsls r5, 2
+ adds r4, r3, r5
+ ldr r0, [r4]
+ cmp r0, 0
+ bne _08016824
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r2, _08016820
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x2C
+ b _0801683C
+ .align 2, 0
+_08016820: .4byte gFelicityDialogue
+_08016824:
+ ldr r3, [r2]
+ movs r0, 0xB
+ str r0, [r3, 0x8]
+ ldr r1, _08016850
+ ldr r0, [r4]
+ str r0, [r1]
+ ldr r2, _08016854
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x28
+_0801683C:
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xA4
+ ldr r2, [r3]
+_08016844:
+ ldr r3, _08016858
+ movs r1, 0
+ bl sub_80141B4
+ b _080168EC
+ .align 2, 0
+_08016850: .4byte gUnknown_202DE30
+_08016854: .4byte gFelicityDialogue
+_08016858: .4byte 0x0000010d
+_0801685C:
+ ldr r4, [r2]
+ ldr r0, _080168BC
+ ldr r3, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r3, r1
+ ldr r1, [r0]
+ ldr r0, _080168C0
+ subs r0, r1
+ str r0, [r4, 0x70]
+ movs r5, 0x99
+ lsls r5, 2
+ adds r1, r3, r5
+ ldr r1, [r1]
+ cmp r0, r1
+ ble _0801687E
+ str r1, [r4, 0x70]
+_0801687E:
+ ldr r2, [r2]
+ ldr r0, [r2, 0x70]
+ str r0, [r2, 0x68]
+ movs r0, 0x1
+ str r0, [r2, 0x6C]
+ movs r0, 0x5
+ str r0, [r2, 0x74]
+ movs r0, 0x2
+ str r0, [r2, 0x78]
+ adds r0, r2, 0
+ adds r0, 0xD8
+ str r0, [r2, 0x7C]
+ adds r1, r2, 0
+ adds r1, 0x80
+ movs r0, 0x50
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x12
+ str r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0x64
+ bl sub_8013AA0
+ movs r0, 0
+_080168AE:
+ bl sub_8016B48
+_080168B2:
+ movs r0, 0x3
+ bl CreateFelicityMoneySavingsHeader
+ b _080168EC
+ .align 2, 0
+_080168BC: .4byte gUnknown_203B460
+_080168C0: .4byte 0x0001869f
+_080168C4:
+ ldr r3, [r2]
+ movs r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r1, _080168F4
+ ldr r0, [r3, 0xC]
+ str r0, [r1]
+ ldr r2, _080168F8
+ ldr r1, [r3]
+ lsls r0, r1, 4
+ subs r0, r1
+ lsls r0, 2
+ adds r2, 0x34
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xA4
+ ldr r2, [r3]
+ ldr r3, _080168FC
+ movs r1, 0
+ bl sub_80141B4
+_080168EC:
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080168F4: .4byte gUnknown_202DE30
+_080168F8: .4byte gFelicityDialogue
+_080168FC: .4byte 0x0000010d
+ thumb_func_end UpdateFelicityBankDialogue
+
+ thumb_func_start CreateFelicityBankShopMenu
+CreateFelicityBankShopMenu:
+ push {r4-r7,lr}
+ ldr r4, _08016980
+ ldr r0, [r4]
+ adds r0, 0x54
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08016984
+ ldr r0, [r0]
+ str r0, [r3, 0x14]
+ movs r0, 0x2
+ str r0, [r3, 0x18]
+ movs r1, 0x1
+ ldr r0, _08016988
+ ldr r0, [r0]
+ str r0, [r3, 0x1C]
+ movs r0, 0x3
+ str r0, [r3, 0x20]
+ ldr r0, _0801698C
+ ldr r0, [r0]
+ str r0, [r3, 0x24]
+ movs r0, 0x4
+ str r0, [r3, 0x28]
+ ldr r0, _08016990
+ ldr r0, [r0]
+ str r0, [r3, 0x2C]
+ str r1, [r3, 0x30]
+ movs r6, 0x4
+ str r2, [r3, 0x34]
+ str r1, [r3, 0x38]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x18
+ mov r2, r12
+ adds r2, 0x54
+_0801694C:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _0801695C
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x10]
+ cmp r1, r0
+ beq _080169B6
+_0801695C:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _0801694C
+ movs r5, 0
+ cmp r5, r6
+ bge _080169B6
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x54
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08016994
+ ldr r0, [r1, 0x18]
+ str r0, [r1, 0x10]
+ b _080169B6
+ .align 2, 0
+_08016980: .4byte gUnknown_203B204
+_08016984: .4byte gUnknown_80D4958
+_08016988: .4byte gUnknown_80D4964
+_0801698C: .4byte gUnknown_80D4970
+_08016990: .4byte gUnknown_80D4934
+_08016994:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _080169B6
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0x54
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08016994
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x18
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x10]
+_080169B6:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end CreateFelicityBankShopMenu
+
+ .align 2,0
diff --git a/asm/friend_area_1.s b/asm/friend_area_1.s
index 28deea6..b6fe42d 100644
--- a/asm/friend_area_1.s
+++ b/asm/friend_area_1.s
@@ -97,7 +97,7 @@ _080926CC:
.align 2, 0
_080926DC: .4byte gFriendAreas
_080926E0: .4byte gFriendAreaSettings
-_080926E4: .4byte gUnknown_203B45C
+_080926E4: .4byte gRecruitedPokemonRef
_080926E8:
strh r0, [r4, 0x2]
strh r0, [r4]
@@ -185,7 +185,7 @@ _08092776:
.align 2, 0
_08092780: .4byte gFriendAreas
_08092784: .4byte gFriendAreaSettings
-_08092788: .4byte gUnknown_203B45C
+_08092788: .4byte gRecruitedPokemonRef
_0809278C:
ldrh r0, [r4, 0x2]
adds r0, 0x1
diff --git a/asm/friend_rescue.s b/asm/friend_rescue.s
index e1328ba..d02ddc6 100644
--- a/asm/friend_rescue.s
+++ b/asm/friend_rescue.s
@@ -989,7 +989,7 @@ _0803315A:
adds r0, r5
b _080333DA
.align 2, 0
-_08033188: .4byte gUnknown_203B45C
+_08033188: .4byte gRecruitedPokemonRef
_0803318C: .4byte gUnknown_203B33C
_08033190:
adds r1, r2, 0
diff --git a/asm/items.s b/asm/items.s
new file mode 100644
index 0000000..59454e0
--- /dev/null
+++ b/asm/items.s
@@ -0,0 +1,2518 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8090E14
+sub_8090E14:
+ push {r4-r7,lr}
+ sub sp, 0x50
+ adds r6, r0, 0
+ adds r5, r1, 0
+ adds r7, r2, 0
+ movs r4, 0
+ cmp r7, 0
+ beq _08090E2C
+ ldrb r1, [r7, 0x8]
+ negs r0, r1
+ orrs r0, r1
+ lsrs r4, r0, 31
+_08090E2C:
+ ldrb r0, [r5, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ cmp r0, 0
+ bne _08090E3E
+ cmp r4, 0
+ bne _08090E50
+ b _08090E70
+_08090E3E:
+ ldrb r0, [r5, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08090E90
+ cmp r4, 0
+ beq _08090E70
+_08090E50:
+ ldr r1, _08090E68
+ ldrb r0, [r5, 0x2]
+ ldr r2, _08090E6C
+ ldr r2, [r2]
+ lsls r0, 5
+ adds r0, r2
+ ldr r2, [r0]
+ ldrb r3, [r5, 0x1]
+ mov r0, sp
+ bl sub_800D158
+ b _08090EC4
+ .align 2, 0
+_08090E68: .4byte gUnknown_8109770
+_08090E6C: .4byte gItemParametersData
+_08090E70:
+ ldr r1, _08090E88
+ ldrb r0, [r5, 0x2]
+ ldr r2, _08090E8C
+ ldr r2, [r2]
+ lsls r0, 5
+ adds r0, r2
+ ldr r2, [r0]
+ mov r0, sp
+ bl sub_800D158
+ b _08090EC4
+ .align 2, 0
+_08090E88: .4byte gUnknown_8109778
+_08090E8C: .4byte gItemParametersData
+_08090E90:
+ ldrb r0, [r5, 0x2]
+ cmp r0, 0x69
+ bne _08090EB0
+ ldr r4, _08090EAC
+ adds r0, r5, 0
+ bl sub_80915D4
+ adds r2, r0, 0
+ mov r0, sp
+ adds r1, r4, 0
+ bl sub_800D158
+ b _08090EC4
+ .align 2, 0
+_08090EAC: .4byte gUnknown_810977C
+_08090EB0:
+ ldrb r0, [r5, 0x2]
+ ldr r1, _08090F2C
+ ldr r1, [r1]
+ lsls r0, 5
+ adds r0, r1
+ ldr r1, [r0]
+ mov r0, sp
+ movs r2, 0x50
+ bl strncpy
+_08090EC4:
+ ldrb r1, [r5]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08090EE2
+ ldr r1, _08090F30
+ adds r0, r6, 0
+ mov r2, sp
+ bl sub_800D158
+ mov r0, sp
+ adds r1, r6, 0
+ movs r2, 0x50
+ bl strncpy
+_08090EE2:
+ cmp r7, 0
+ beq _08090F38
+ ldrb r0, [r7, 0x4]
+ cmp r0, 0
+ beq _08090F0A
+ ldrb r1, [r5]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08090F0A
+ ldr r1, _08090F34
+ adds r0, r6, 0
+ mov r2, sp
+ bl sub_800D158
+ mov r0, sp
+ adds r1, r6, 0
+ movs r2, 0x50
+ bl strncpy
+_08090F0A:
+ ldr r0, [r7]
+ cmp r0, 0x1
+ beq _08090F14
+ cmp r0, 0x3
+ bne _08090F44
+_08090F14:
+ ldrb r1, [r5]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08090F38
+ adds r0, r6, 0
+ mov r1, sp
+ adds r2, r5, 0
+ adds r3, r7, 0
+ bl sub_8090F58
+ b _08090F50
+ .align 2, 0
+_08090F2C: .4byte gItemParametersData
+_08090F30: .4byte gUnknown_8109784
+_08090F34: .4byte gUnknown_810978C
+_08090F38:
+ adds r0, r6, 0
+ mov r1, sp
+ movs r2, 0x50
+ bl strncpy
+ b _08090F50
+_08090F44:
+ adds r0, r6, 0
+ mov r1, sp
+ adds r2, r5, 0
+ adds r3, r7, 0
+ bl sub_8090F58
+_08090F50:
+ add sp, 0x50
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8090E14
+
+ thumb_func_start sub_8090F58
+sub_8090F58:
+ push {r4-r6,lr}
+ sub sp, 0x2C
+ adds r5, r0, 0
+ adds r6, r1, 0
+ adds r0, r2, 0
+ adds r4, r3, 0
+ cmp r4, 0
+ bne _08090F6C
+ adds r0, r5, 0
+ b _08090F94
+_08090F6C:
+ ldr r1, [r4]
+ cmp r1, 0x1
+ bcc _08090F8A
+ cmp r1, 0x2
+ bhi _08090F7E
+ bl sub_8090BE4
+ adds r1, r0, 0
+ b _08090F8C
+_08090F7E:
+ cmp r1, 0x4
+ bhi _08090F8A
+ bl sub_8090C30
+ adds r1, r0, 0
+ b _08090F8C
+_08090F8A:
+ movs r1, 0
+_08090F8C:
+ cmp r1, 0
+ bne _08090F9C
+ adds r0, r5, 0
+ adds r1, r6, 0
+_08090F94:
+ movs r2, 0x50
+ bl strncpy
+ b _08090FDE
+_08090F9C:
+ movs r2, 0x6
+ ldrsh r0, [r4, r2]
+ cmp r0, 0
+ beq _08090FC8
+ adds r0, r1, 0
+ add r1, sp, 0x4
+ movs r2, 0x1
+ bl sub_8090FEC
+ ldr r1, _08090FC4
+ movs r0, 0x6
+ ldrsh r3, [r4, r0]
+ add r2, sp, 0x4
+ str r2, [sp]
+ adds r0, r5, 0
+ adds r2, r6, 0
+ bl sub_800D158
+ b _08090FDE
+ .align 2, 0
+_08090FC4: .4byte gUnknown_8109794
+_08090FC8:
+ adds r0, r1, 0
+ add r1, sp, 0x4
+ movs r2, 0
+ bl sub_8090FEC
+ ldr r1, _08090FE8
+ adds r0, r5, 0
+ adds r2, r6, 0
+ add r3, sp, 0x4
+ bl sub_800D158
+_08090FDE:
+ add sp, 0x2C
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08090FE8: .4byte gUnknown_81097A4
+ thumb_func_end sub_8090F58
+
+ thumb_func_start sub_8090FEC
+sub_8090FEC:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ lsls r2, 24
+ lsrs r2, 24
+ mov r10, r2
+ movs r0, 0
+ mov r8, r0
+ movs r6, 0
+ movs r2, 0
+ ldr r1, _08091050
+ mov r9, r1
+ mov r12, r9
+_0809100E:
+ movs r1, 0
+ lsls r3, r2, 2
+ ldr r7, _08091054
+ adds r0, r3, r7
+ ldr r0, [r0]
+ adds r7, r2, 0x1
+ cmp r5, r0
+ blt _0809102C
+ ldr r2, _08091054
+_08091020:
+ adds r0, r3, r2
+ ldr r0, [r0]
+ subs r5, r0
+ adds r1, 0x1
+ cmp r5, r0
+ bge _08091020
+_0809102C:
+ cmp r1, 0x9
+ ble _08091032
+ movs r1, 0x9
+_08091032:
+ cmp r1, 0
+ beq _0809105C
+ movs r0, 0x1
+ mov r8, r0
+ lsls r1, 1
+ mov r2, r12
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ strb r0, [r4]
+ adds r4, 0x1
+ ldr r0, _08091058
+ adds r1, r0
+ ldrb r0, [r1]
+ b _0809106C
+ .align 2, 0
+_08091050: .4byte gUnknown_81097C4
+_08091054: .4byte gUnknown_81097B0
+_08091058: .4byte gUnknown_81097C5
+_0809105C:
+ mov r1, r8
+ cmp r1, 0
+ beq _08091074
+ mov r2, r12
+ ldrb r0, [r2]
+ strb r0, [r4]
+ adds r4, 0x1
+ ldrb r0, [r2, 0x1]
+_0809106C:
+ strb r0, [r4]
+ adds r4, 0x1
+ adds r6, 0x1
+ b _08091080
+_08091074:
+ mov r0, r10
+ cmp r0, 0
+ beq _08091080
+ movs r0, 0x60
+ strb r0, [r4]
+ adds r4, 0x1
+_08091080:
+ adds r2, r7, 0
+ cmp r2, 0x4
+ ble _0809100E
+ lsls r1, r5, 1
+ mov r2, r9
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ strb r0, [r4]
+ adds r4, 0x1
+ mov r0, r9
+ adds r0, 0x1
+ adds r1, r0
+ ldrb r0, [r1]
+ strb r0, [r4]
+ adds r6, 0x1
+ movs r0, 0
+ strb r0, [r4, 0x1]
+ adds r0, r6, 0
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8090FEC
+
+ thumb_func_start sub_80910B4
+sub_80910B4:
+ push {r4-r7,lr}
+ movs r2, 0
+ movs r4, 0
+ ldr r7, _080910C0
+ movs r3, 0
+ b _080910DA
+ .align 2, 0
+_080910C0: .4byte gUnknown_203B460
+_080910C4:
+ cmp r2, r4
+ ble _080910D4
+ ldr r0, [r7]
+ lsls r1, r4, 2
+ adds r1, r0, r1
+ adds r0, r3
+ ldr r0, [r0]
+ str r0, [r1]
+_080910D4:
+ adds r3, 0x4
+ adds r2, 0x1
+ adds r4, 0x1
+_080910DA:
+ cmp r2, 0x13
+ bgt _08091106
+ ldr r0, [r7]
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08091106
+ ldr r5, _0809112C
+ movs r6, 0x1
+_080910F0:
+ adds r3, 0x4
+ adds r2, 0x1
+ cmp r2, 0x13
+ bgt _08091106
+ ldr r0, [r5]
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080910F0
+_08091106:
+ cmp r2, 0x14
+ bne _080910C4
+ cmp r4, 0x13
+ bgt _08091124
+ ldr r3, _0809112C
+ movs r2, 0
+_08091112:
+ lsls r1, r4, 2
+ ldr r0, [r3]
+ adds r1, r0
+ strb r2, [r1, 0x2]
+ strb r2, [r1, 0x1]
+ strb r2, [r1]
+ adds r4, 0x1
+ cmp r4, 0x13
+ ble _08091112
+_08091124:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809112C: .4byte gUnknown_203B460
+ thumb_func_end sub_80910B4
+
+ thumb_func_start sub_8091130
+sub_8091130:
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r3, 0
+ ldr r0, _08091154
+ ldr r2, [r0]
+ movs r5, 0x1
+_0809113E:
+ ldrb r1, [r2]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08091158
+ ldrb r0, [r2, 0x2]
+ cmp r0, r4
+ bne _08091158
+ adds r0, r3, 0
+ b _08091164
+ .align 2, 0
+_08091154: .4byte gUnknown_203B460
+_08091158:
+ adds r2, 0x4
+ adds r3, 0x1
+ cmp r3, 0x13
+ ble _0809113E
+ movs r0, 0x1
+ negs r0, r0
+_08091164:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8091130
+
+ thumb_func_start sub_809116C
+sub_809116C:
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+ ldr r0, _080911A0
+ ldr r2, [r0]
+ movs r6, 0x1
+ movs r3, 0x13
+_0809117C:
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0809118E
+ ldrb r0, [r2, 0x2]
+ cmp r0, r5
+ bne _0809118E
+ adds r4, 0x1
+_0809118E:
+ adds r2, 0x4
+ subs r3, 0x1
+ cmp r3, 0
+ bge _0809117C
+ adds r0, r4, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080911A0: .4byte gUnknown_203B460
+ thumb_func_end sub_809116C
+
+ thumb_func_start sub_80911A4
+sub_80911A4:
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r5, 0
+ bl sub_809116C
+ adds r4, r0, 0
+ movs r3, 0
+ ldr r0, _080911F4
+ ldr r7, [r0]
+ movs r6, 0x1
+_080911BA:
+ movs r0, 0x58
+ muls r0, r3
+ adds r2, r7, r0
+ ldrh r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080911E2
+ lsrs r0, r1, 1
+ ands r0, r6
+ cmp r0, 0
+ beq _080911E2
+ adds r0, r2, 0
+ adds r0, 0x28
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080911E2
+ cmp r0, r5
+ bne _080911E2
+ adds r4, 0x1
+_080911E2:
+ adds r3, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r3, r0
+ ble _080911BA
+ adds r0, r4, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080911F4: .4byte gRecruitedPokemonRef
+ thumb_func_end sub_80911A4
+
+ thumb_func_start sub_80911F8
+sub_80911F8:
+ push {r4,r5,lr}
+ adds r2, r0, 0
+ ldr r4, _08091230
+ cmp r2, 0x12
+ bgt _0809121C
+ adds r5, r4, 0
+ lsls r0, r2, 2
+ adds r3, r0, 0x4
+_08091208:
+ ldr r0, [r5]
+ lsls r1, r2, 2
+ adds r1, r0, r1
+ adds r0, r3
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r3, 0x4
+ adds r2, 0x1
+ cmp r2, 0x12
+ ble _08091208
+_0809121C:
+ ldr r0, [r4]
+ adds r0, 0x4E
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0x4C
+ strb r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08091230: .4byte gUnknown_203B460
+ thumb_func_end sub_80911F8
+
+ thumb_func_start sub_8091234
+sub_8091234:
+ ldr r3, _08091248
+ ldr r1, [r3]
+ lsls r0, 2
+ adds r1, r0
+ movs r2, 0
+ strb r2, [r1, 0x2]
+ ldr r1, [r3]
+ adds r1, r0
+ strb r2, [r1]
+ bx lr
+ .align 2, 0
+_08091248: .4byte gUnknown_203B460
+ thumb_func_end sub_8091234
+
+ thumb_func_start sub_809124C
+sub_809124C:
+ push {lr}
+ sub sp, 0x4
+ adds r3, r0, 0
+ adds r2, r1, 0
+ lsls r3, 24
+ lsrs r3, 24
+ lsls r2, 24
+ lsrs r2, 24
+ mov r0, sp
+ adds r1, r3, 0
+ bl sub_8090A8C
+ mov r0, sp
+ bl sub_8091290
+ lsls r0, 24
+ lsrs r0, 24
+ add sp, 0x4
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809124C
+
+ thumb_func_start sub_8091274
+sub_8091274:
+ push {lr}
+ sub sp, 0x4
+ adds r1, r0, 0
+ mov r0, sp
+ bl sub_8090B64
+ mov r0, sp
+ bl sub_8091290
+ lsls r0, 24
+ lsrs r0, 24
+ add sp, 0x4
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8091274
+
+ thumb_func_start sub_8091290
+sub_8091290:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r3, 0
+ ldr r5, _080912B4
+ movs r6, 0x1
+_0809129A:
+ lsls r1, r3, 2
+ ldr r0, [r5]
+ adds r2, r1, r0
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _080912B8
+ ldr r0, [r4]
+ str r0, [r2]
+ movs r0, 0
+ b _080912C0
+ .align 2, 0
+_080912B4: .4byte gUnknown_203B460
+_080912B8:
+ adds r3, 0x1
+ cmp r3, 0x13
+ ble _0809129A
+ movs r0, 0x1
+_080912C0:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8091290
+
+ thumb_func_start sub_80912C8
+sub_80912C8:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ movs r5, 0
+ movs r6, 0
+_080912D6:
+ ldr r0, _0809139C
+ lsls r1, r5, 2
+ ldr r0, [r0]
+ adds r4, r0, r1
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080912FE
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0x69
+ bne _080912FE
+ adds r0, r4, 0
+ bl sub_80915D4
+ bl sub_80913A0
+ strb r6, [r4, 0x2]
+ strb r6, [r4, 0x1]
+ strb r6, [r4]
+_080912FE:
+ adds r5, 0x1
+ cmp r5, 0x13
+ ble _080912D6
+ bl sub_80910B4
+ movs r5, 0
+_0809130A:
+ movs r0, 0x1
+ negs r0, r0
+ mov r9, r0
+ lsls r2, r5, 2
+ ldr r1, _0809139C
+ mov r8, r1
+ ldr r0, [r1]
+ adds r3, r2, r0
+ ldrb r1, [r3]
+ movs r0, 0x1
+ ands r0, r1
+ mov r10, r2
+ adds r7, r5, 0x1
+ cmp r0, 0
+ beq _08091382
+ ldrb r0, [r3, 0x2]
+ bl GetItemOrder
+ adds r6, r0, 0
+ adds r4, r7, 0
+ cmp r7, 0x13
+ bgt _08091368
+_08091336:
+ lsls r5, r4, 2
+ mov r1, r8
+ ldr r0, [r1]
+ adds r2, r5, r0
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08091362
+ ldrb r0, [r2, 0x2]
+ bl GetItemOrder
+ cmp r6, r0
+ ble _08091362
+ mov r9, r4
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, r5
+ ldrb r0, [r0, 0x2]
+ bl GetItemOrder
+ adds r6, r0, 0
+_08091362:
+ adds r4, 0x1
+ cmp r4, 0x13
+ ble _08091336
+_08091368:
+ mov r4, r9
+ cmp r4, 0
+ blt _08091382
+ ldr r0, _0809139C
+ ldr r1, [r0]
+ mov r0, r10
+ adds r2, r1, r0
+ ldr r3, [r2]
+ lsls r0, r4, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2]
+ str r3, [r1]
+_08091382:
+ adds r5, r7, 0
+ cmp r5, 0x13
+ ble _0809130A
+ bl sub_80910B4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809139C: .4byte gUnknown_203B460
+ thumb_func_end sub_80912C8
+
+ thumb_func_start sub_80913A0
+sub_80913A0:
+ push {lr}
+ ldr r1, _080913C4
+ ldr r1, [r1]
+ movs r3, 0x98
+ lsls r3, 2
+ adds r2, r1, r3
+ ldr r1, [r2]
+ adds r1, r0
+ str r1, [r2]
+ ldr r0, _080913C8
+ cmp r1, r0
+ bgt _080913BE
+ cmp r1, 0
+ bge _080913C0
+ movs r0, 0
+_080913BE:
+ str r0, [r2]
+_080913C0:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080913C4: .4byte gUnknown_203B460
+_080913C8: .4byte 0x0001869f
+ thumb_func_end sub_80913A0
+
+ thumb_func_start sub_80913CC
+sub_80913CC:
+ lsls r0, 24
+ ldr r1, _080913DC
+ ldr r1, [r1]
+ lsrs r0, 19
+ adds r0, r1
+ ldrh r0, [r0, 0x18]
+ bx lr
+ .align 2, 0
+_080913DC: .4byte gItemParametersData
+ thumb_func_end sub_80913CC
+
+ thumb_func_start sub_80913E0
+sub_80913E0:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x5C
+ adds r6, r0, 0
+ adds r5, r1, 0
+ mov r8, r2
+ ldrb r0, [r6, 0x2]
+ bl GetItemDescription
+ ldrb r1, [r6, 0x2]
+ add r0, sp, 0x4
+ movs r2, 0
+ bl sub_8090DC4
+ ldrb r0, [r6, 0x2]
+ cmp r0, 0x7C
+ bne _08091414
+ ldr r0, _080914D4
+ ldrb r1, [r6, 0x1]
+ adds r1, 0x7D
+ lsls r1, 24
+ lsrs r1, 24
+ movs r2, 0
+ bl sub_8090DC4
+_08091414:
+ adds r0, r5, 0
+ bl sub_80073B8
+ movs r7, 0
+ str r7, [sp]
+ movs r0, 0x10
+ movs r1, 0
+ add r2, sp, 0x4
+ adds r3, r5, 0
+ bl sub_8014FF0
+ ldrb r0, [r6, 0x2]
+ bl GetItemDescription
+ adds r2, r0, 0
+ str r7, [sp]
+ movs r0, 0x8
+ movs r1, 0x18
+ adds r3, r5, 0
+ bl sub_8014FF0
+ ldrb r0, [r6, 0x2]
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x5
+ bne _080914B6
+ add r4, sp, 0x54
+ ldrb r0, [r6, 0x2]
+ bl sub_80913CC
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r4, 0
+ bl sub_8092A88
+ movs r0, 0x7
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0x4
+ movs r2, 0x52
+ movs r3, 0xC8
+ bl sub_80078A4
+ ldr r0, _080914D8
+ ldr r2, [r0]
+ str r7, [sp]
+ movs r0, 0x4
+ movs r1, 0x54
+ adds r3, r5, 0
+ bl sub_8014FF0
+ adds r0, r4, 0
+ bl sub_8092B00
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetUnformattedTypeString
+ adds r2, r0, 0
+ str r7, [sp]
+ movs r0, 0x40
+ movs r1, 0x54
+ adds r3, r5, 0
+ bl sub_8014FF0
+ adds r0, r4, 0
+ bl sub_8092BF4
+ ldr r1, _080914DC
+ str r0, [r1]
+ ldr r0, _080914E0
+ ldr r2, [r0]
+ str r7, [sp]
+ movs r0, 0x80
+ movs r1, 0x54
+ adds r3, r5, 0
+ bl sub_8014FF0
+_080914B6:
+ adds r0, r5, 0
+ bl sub_80073E0
+ ldrb r0, [r6, 0x2]
+ bl GetItemDescription
+ mov r1, r8
+ bl sub_8097DF0
+ add sp, 0x5C
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080914D4: .4byte gUnknown_202DE58
+_080914D8: .4byte gUnknown_810CF0C
+_080914DC: .4byte gUnknown_202DE30
+_080914E0: .4byte gUnknown_8115970
+ thumb_func_end sub_80913E0
+
+ thumb_func_start sub_80914E4
+sub_80914E4:
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r4, r0, 0
+ cmp r0, 0
+ beq _0809151A
+ cmp r0, 0x69
+ beq _0809151A
+ cmp r0, 0x79
+ beq _0809151A
+ cmp r0, 0x77
+ beq _0809151A
+ cmp r0, 0x78
+ beq _0809151A
+ cmp r0, 0x7A
+ beq _0809151A
+ bl GetItemSellPrice
+ cmp r0, 0
+ beq _0809151A
+ adds r0, r4, 0
+ bl GetItemBuyPrice
+ cmp r0, 0
+ beq _0809151A
+ movs r0, 0x1
+ b _0809151C
+_0809151A:
+ movs r0, 0
+_0809151C:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80914E4
+
+ thumb_func_start sub_8091524
+sub_8091524:
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r0, 0
+ cmp r0, 0
+ beq _0809153C
+ cmp r0, 0x69
+ beq _0809153C
+ cmp r1, 0x7C
+ beq _0809153C
+ movs r0, 0x1
+ b _0809153E
+_0809153C:
+ movs r0, 0
+_0809153E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8091524
+
+ thumb_func_start sub_8091544
+sub_8091544:
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r0, 0
+ cmp r0, 0
+ beq _08091568
+ cmp r0, 0x69
+ beq _08091568
+ cmp r0, 0x79
+ beq _08091568
+ cmp r0, 0x77
+ beq _08091568
+ cmp r0, 0x78
+ beq _08091568
+ cmp r1, 0x7A
+ beq _08091568
+ movs r0, 0x1
+ b _0809156A
+_08091568:
+ movs r0, 0
+_0809156A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8091544
+
+ thumb_func_start sub_8091570
+sub_8091570:
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ beq _08091596
+ adds r0, r4, 0
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ beq _08091596
+ movs r0, 0
+ b _08091598
+_08091596:
+ movs r0, 0x1
+_08091598:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8091570
+
+ thumb_func_start sub_80915A0
+sub_80915A0:
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r0, 0
+ cmp r0, 0xE0
+ beq _080915CC
+ cmp r0, 0xE1
+ beq _080915CC
+ cmp r0, 0xE2
+ beq _080915CC
+ cmp r0, 0xE3
+ beq _080915CC
+ cmp r0, 0xE4
+ beq _080915CC
+ cmp r0, 0xE5
+ beq _080915CC
+ cmp r0, 0xE6
+ beq _080915CC
+ cmp r1, 0xE7
+ beq _080915CC
+ movs r0, 0
+ b _080915CE
+_080915CC:
+ movs r0, 0x1
+_080915CE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80915A0
+
+ thumb_func_start sub_80915D4
+sub_80915D4:
+ ldr r1, _080915E0
+ ldrb r0, [r0, 0x1]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_080915E0: .4byte gUnknown_810A3F0
+ thumb_func_end sub_80915D4
+
+ thumb_func_start sub_80915E4
+sub_80915E4:
+ ldr r1, _080915F0
+ ldrb r0, [r0, 0x1]
+ lsls r0, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_080915F0: .4byte gUnknown_810A3F0
+ thumb_func_end sub_80915E4
+
+ thumb_func_start sub_80915F4
+sub_80915F4:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r6, r0, 0
+ adds r7, r3, 0
+ lsls r1, 24
+ lsrs r5, r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ mov r8, r2
+ ldr r0, _080916B8
+ strh r0, [r7]
+ movs r0, 0
+ strh r0, [r7, 0x2]
+ adds r0, r5, 0
+ bl sub_8091764
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809161E
+ b _08091756
+_0809161E:
+ movs r1, 0x8
+ ldrsh r0, [r6, r1]
+ movs r1, 0
+ bl GetPokemonType
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r2, 0x8
+ ldrsh r0, [r6, r2]
+ movs r1, 0x1
+ bl GetPokemonType
+ lsls r0, 24
+ lsrs r0, 24
+ adds r2, r5, 0
+ subs r2, 0x55
+ ldr r5, _080916BC
+ lsls r2, 1
+ lsls r1, r4, 3
+ adds r1, r4
+ lsls r1, 2
+ adds r1, r2, r1
+ adds r1, r5
+ movs r4, 0
+ ldrsh r3, [r1, r4]
+ lsls r1, r0, 3
+ adds r1, r0
+ lsls r1, 2
+ adds r2, r1
+ adds r2, r5
+ movs r1, 0
+ ldrsh r0, [r2, r1]
+ movs r2, 0x14
+ ldrsh r1, [r6, r2]
+ adds r3, r0
+ ldrh r4, [r6, 0x14]
+ adds r3, r4
+ strh r3, [r6, 0x14]
+ movs r2, 0x14
+ ldrsh r0, [r6, r2]
+ subs r1, r0, r1
+ lsls r3, 16
+ cmp r3, 0
+ bgt _0809167C
+ movs r0, 0x1
+ strh r0, [r6, 0x14]
+_0809167C:
+ movs r4, 0x14
+ ldrsh r0, [r6, r4]
+ ldr r2, _080916C0
+ cmp r0, r2
+ ble _08091688
+ strh r2, [r6, 0x14]
+_08091688:
+ movs r0, 0
+ cmp r1, 0x8
+ bgt _0809169C
+ movs r0, 0x1
+ cmp r1, 0x4
+ bgt _0809169C
+ movs r0, 0x3
+ cmp r1, 0x2
+ ble _0809169C
+ movs r0, 0x2
+_0809169C:
+ strh r0, [r7]
+ mov r1, r8
+ cmp r1, 0
+ bne _08091756
+ cmp r0, 0
+ bne _080916C4
+ movs r0, 0x10
+ bl RandomCapped
+ cmp r0, 0xA
+ bne _080916C4
+ movs r0, 0xF
+ b _080916D2
+ .align 2, 0
+_080916B8: .4byte 0x0000ffff
+_080916BC: .4byte gUnknown_810A580
+_080916C0: .4byte 0x000003e7
+_080916C4:
+ movs r0, 0x4
+ bl RandomCapped
+ ldr r1, _080916EC
+ lsls r0, 1
+ adds r0, r1
+ ldrh r0, [r0]
+_080916D2:
+ strh r0, [r7, 0x2]
+ ldrh r1, [r7, 0x2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080916F6
+ ldrb r0, [r6, 0x18]
+ cmp r0, 0xFE
+ bhi _080916F0
+ adds r0, 0x1
+ strb r0, [r6, 0x18]
+ b _080916F6
+ .align 2, 0
+_080916EC: .4byte gUnknown_81097E0
+_080916F0:
+ ldr r0, _0809170C
+ ands r0, r1
+ strh r0, [r7, 0x2]
+_080916F6:
+ ldrh r1, [r7, 0x2]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08091716
+ ldrb r0, [r6, 0x19]
+ cmp r0, 0xFE
+ bhi _08091710
+ adds r0, 0x1
+ strb r0, [r6, 0x19]
+ b _08091716
+ .align 2, 0
+_0809170C: .4byte 0x0000fffe
+_08091710:
+ ldr r0, _0809172C
+ ands r0, r1
+ strh r0, [r7, 0x2]
+_08091716:
+ ldrh r1, [r7, 0x2]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _08091736
+ ldrb r0, [r6, 0x1A]
+ cmp r0, 0xFE
+ bhi _08091730
+ adds r0, 0x1
+ strb r0, [r6, 0x1A]
+ b _08091736
+ .align 2, 0
+_0809172C: .4byte 0x0000fffd
+_08091730:
+ ldr r0, _0809174C
+ ands r0, r1
+ strh r0, [r7, 0x2]
+_08091736:
+ ldrh r1, [r7, 0x2]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08091756
+ ldrb r0, [r6, 0x1B]
+ cmp r0, 0xFE
+ bhi _08091750
+ adds r0, 0x1
+ strb r0, [r6, 0x1B]
+ b _08091756
+ .align 2, 0
+_0809174C: .4byte 0x0000fffb
+_08091750:
+ ldr r0, _08091760
+ ands r0, r1
+ strh r0, [r7, 0x2]
+_08091756:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08091760: .4byte 0x0000fff7
+ thumb_func_end sub_80915F4
+
+ thumb_func_start sub_8091764
+sub_8091764:
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x55
+ bls _08091776
+ cmp r0, 0x66
+ bhi _08091776
+ movs r0, 0x1
+ b _08091778
+_08091776:
+ movs r0, 0
+_08091778:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8091764
+
+ thumb_func_start sub_809177C
+sub_809177C:
+ push {r4,lr}
+ movs r4, 0
+_08091780:
+ lsls r1, r4, 2
+ ldr r0, _080917A4
+ ldr r0, [r0]
+ adds r2, r1, r0
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080917A8
+ ldrb r0, [r2, 0x2]
+ bl sub_8091764
+ lsls r0, 24
+ cmp r0, 0
+ beq _080917A8
+ movs r0, 0x1
+ b _080917B0
+ .align 2, 0
+_080917A4: .4byte gUnknown_203B460
+_080917A8:
+ adds r4, 0x1
+ cmp r4, 0x13
+ ble _08091780
+ movs r0, 0
+_080917B0:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809177C
+
+ thumb_func_start sub_80917B8
+sub_80917B8:
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrb r0, [r4, 0x2]
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ beq _080917E0
+ ldr r2, _080917DC
+ ldr r1, [r2]
+ ldrb r0, [r4, 0x2]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r0, [r1]
+ ldrb r3, [r4, 0x1]
+ adds r0, r3
+ b _080917F0
+ .align 2, 0
+_080917DC: .4byte gUnknown_203B460
+_080917E0:
+ ldr r2, _0809180C
+ ldr r1, [r2]
+ ldrb r0, [r4, 0x2]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r0, [r1]
+ adds r0, 0x1
+_080917F0:
+ strh r0, [r1]
+ ldr r0, [r2]
+ ldrb r1, [r4, 0x2]
+ lsls r1, 1
+ adds r0, 0x50
+ adds r2, r0, r1
+ ldrh r0, [r2]
+ ldr r1, _08091810
+ cmp r0, r1
+ bls _08091806
+ strh r1, [r2]
+_08091806:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0809180C: .4byte gUnknown_203B460
+_08091810: .4byte 0x000003e7
+ thumb_func_end sub_80917B8
+
+ thumb_func_start sub_8091814
+sub_8091814:
+ push {lr}
+ movs r3, 0
+ ldr r0, _0809183C
+ ldr r0, [r0]
+ movs r2, 0x8C
+ lsls r2, 2
+ adds r1, r0, r2
+ movs r2, 0x7
+_08091824:
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _0809182C
+ adds r3, 0x1
+_0809182C:
+ adds r1, 0x4
+ subs r2, 0x1
+ cmp r2, 0
+ bge _08091824
+ adds r0, r3, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0809183C: .4byte gUnknown_203B460
+ thumb_func_end sub_8091814
+
+ thumb_func_start sub_8091840
+sub_8091840:
+ lsls r0, 24
+ ldr r1, _08091858
+ lsrs r0, 22
+ movs r2, 0x8C
+ lsls r2, 2
+ adds r0, r2
+ ldr r1, [r1]
+ adds r1, r0
+ movs r0, 0
+ strb r0, [r1]
+ strb r0, [r1, 0x1]
+ bx lr
+ .align 2, 0
+_08091858: .4byte gUnknown_203B460
+ thumb_func_end sub_8091840
+
+ thumb_func_start sub_809185C
+sub_809185C:
+ lsls r0, 24
+ ldr r1, _08091870
+ lsrs r0, 22
+ movs r2, 0x8C
+ lsls r2, 2
+ adds r0, r2
+ ldr r1, [r1]
+ adds r1, r0
+ adds r0, r1, 0
+ bx lr
+ .align 2, 0
+_08091870: .4byte gUnknown_203B460
+ thumb_func_end sub_809185C
+
+ thumb_func_start sub_8091874
+sub_8091874:
+ push {r4-r7,lr}
+ movs r2, 0
+ movs r4, 0
+ ldr r7, _08091884
+ movs r6, 0x8C
+ lsls r6, 2
+ movs r3, 0
+ b _080918A0
+ .align 2, 0
+_08091884: .4byte gUnknown_203B460
+_08091888:
+ cmp r2, r4
+ ble _0809189A
+ ldr r0, [r7]
+ lsls r1, r4, 2
+ adds r0, r6
+ adds r1, r0, r1
+ adds r0, r3
+ ldr r0, [r0]
+ str r0, [r1]
+_0809189A:
+ adds r3, 0x4
+ adds r2, 0x1
+ adds r4, 0x1
+_080918A0:
+ cmp r2, 0x7
+ bgt _080918CA
+ ldr r0, [r7]
+ adds r0, r3
+ adds r0, r6
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080918CA
+ ldr r5, _080918E8
+ movs r1, 0x8C
+ lsls r1, 2
+_080918B6:
+ adds r3, 0x4
+ adds r2, 0x1
+ cmp r2, 0x7
+ bgt _080918CA
+ ldr r0, [r5]
+ adds r0, r3
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080918B6
+_080918CA:
+ cmp r2, 0x8
+ bne _08091888
+ cmp r4, 0x7
+ bgt _080918E0
+_080918D2:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8091840
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _080918D2
+_080918E0:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080918E8: .4byte gUnknown_203B460
+ thumb_func_end sub_8091874
+
+ thumb_func_start sub_80918EC
+sub_80918EC:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ movs r0, 0
+_080918F8:
+ adds r1, r0, 0x1
+ mov r8, r1
+ mov r6, r8
+ cmp r1, 0x7
+ bgt _08091964
+ ldr r1, _08091978
+ mov r9, r1
+ lsls r7, r0, 2
+ movs r0, 0x8C
+ lsls r0, 2
+ mov r10, r0
+_0809190E:
+ mov r1, r9
+ ldr r0, [r1]
+ adds r0, r7
+ add r0, r10
+ ldrb r0, [r0]
+ bl GetItemOrder
+ adds r4, r0, 0
+ mov r1, r9
+ ldr r0, [r1]
+ lsls r5, r6, 2
+ adds r0, r5
+ add r0, r10
+ ldrb r0, [r0]
+ bl GetItemOrder
+ cmp r4, r0
+ bgt _0809194C
+ cmp r4, r0
+ bne _0809195E
+ mov r1, r9
+ ldr r0, [r1]
+ adds r2, r0, r7
+ ldr r1, _0809197C
+ adds r2, r1
+ adds r0, r5
+ adds r0, r1
+ ldrb r1, [r2]
+ ldrb r0, [r0]
+ cmp r1, r0
+ bcs _0809195E
+_0809194C:
+ mov r1, r9
+ ldr r0, [r1]
+ add r0, r10
+ adds r2, r0, r7
+ ldr r3, [r2]
+ adds r0, r5
+ ldr r1, [r0]
+ str r1, [r2]
+ str r3, [r0]
+_0809195E:
+ adds r6, 0x1
+ cmp r6, 0x7
+ ble _0809190E
+_08091964:
+ mov r0, r8
+ cmp r0, 0x6
+ ble _080918F8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08091978: .4byte gUnknown_203B460
+_0809197C: .4byte 0x00000231
+ thumb_func_end sub_80918EC
+
+ thumb_func_start sub_8091980
+sub_8091980:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ mov r1, sp
+ ldr r0, _080919F4
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r5, 0
+_0809199C:
+ lsls r0, r5, 24
+ lsrs r0, 24
+ bl sub_8091840
+ adds r5, 0x1
+ cmp r5, 0x7
+ ble _0809199C
+ mov r0, r8
+ lsls r7, r0, 2
+ ldr r6, _080919F8
+ movs r5, 0x7
+_080919B2:
+ adds r0, r6, 0
+ bl RandomCapped
+ adds r4, r0, 0
+ adds r0, r6, 0
+ bl RandomCapped
+ adds r2, r0, 0
+ mov r1, sp
+ adds r0, r1, r7
+ ldr r0, [r0]
+ adds r1, r4, 0
+ bl sub_8091E94
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80919FC
+ subs r5, 0x1
+ cmp r5, 0
+ bge _080919B2
+ bl sub_80918EC
+ mov r0, r8
+ bl sub_8091BB4
+ add sp, 0x10
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080919F4: .4byte gUnknown_81097E8
+_080919F8: .4byte 0x0000270f
+ thumb_func_end sub_8091980
+
+ thumb_func_start sub_80919FC
+sub_80919FC:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r0, sp
+ bl sub_8090B08
+ movs r3, 0
+ ldr r5, _08091A34
+ movs r4, 0x8C
+ lsls r4, 2
+_08091A14:
+ ldr r1, [r5]
+ lsls r2, r3, 2
+ adds r0, r1, r2
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08091A38
+ movs r3, 0x8C
+ lsls r3, 2
+ adds r0, r1, r3
+ adds r0, r2
+ ldr r1, [sp]
+ str r1, [r0]
+ movs r0, 0
+ b _08091A40
+ .align 2, 0
+_08091A34: .4byte gUnknown_203B460
+_08091A38:
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _08091A14
+ movs r0, 0x1
+_08091A40:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80919FC
+
+ thumb_func_start sub_8091A48
+sub_8091A48:
+ push {lr}
+ movs r3, 0
+ ldr r0, _08091A70
+ ldr r0, [r0]
+ movs r2, 0x94
+ lsls r2, 2
+ adds r1, r0, r2
+ movs r2, 0x3
+_08091A58:
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08091A60
+ adds r3, 0x1
+_08091A60:
+ adds r1, 0x4
+ subs r2, 0x1
+ cmp r2, 0
+ bge _08091A58
+ adds r0, r3, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08091A70: .4byte gUnknown_203B460
+ thumb_func_end sub_8091A48
+
+ thumb_func_start sub_8091A74
+sub_8091A74:
+ lsls r0, 24
+ ldr r1, _08091A8C
+ lsrs r0, 22
+ movs r2, 0x94
+ lsls r2, 2
+ adds r0, r2
+ ldr r1, [r1]
+ adds r1, r0
+ movs r0, 0
+ strb r0, [r1]
+ strb r0, [r1, 0x1]
+ bx lr
+ .align 2, 0
+_08091A8C: .4byte gUnknown_203B460
+ thumb_func_end sub_8091A74
+
+ thumb_func_start sub_8091A90
+sub_8091A90:
+ lsls r0, 24
+ ldr r1, _08091AA4
+ lsrs r0, 22
+ movs r2, 0x94
+ lsls r2, 2
+ adds r0, r2
+ ldr r1, [r1]
+ adds r1, r0
+ adds r0, r1, 0
+ bx lr
+ .align 2, 0
+_08091AA4: .4byte gUnknown_203B460
+ thumb_func_end sub_8091A90
+
+ thumb_func_start sub_8091AA8
+sub_8091AA8:
+ push {r4-r7,lr}
+ movs r2, 0
+ movs r4, 0
+ ldr r7, _08091AB8
+ movs r6, 0x94
+ lsls r6, 2
+ movs r3, 0
+ b _08091AD4
+ .align 2, 0
+_08091AB8: .4byte gUnknown_203B460
+_08091ABC:
+ cmp r2, r4
+ ble _08091ACE
+ ldr r0, [r7]
+ lsls r1, r4, 2
+ adds r0, r6
+ adds r1, r0, r1
+ adds r0, r3
+ ldr r0, [r0]
+ str r0, [r1]
+_08091ACE:
+ adds r3, 0x4
+ adds r2, 0x1
+ adds r4, 0x1
+_08091AD4:
+ cmp r2, 0x3
+ bgt _08091AFE
+ ldr r0, [r7]
+ adds r0, r3
+ adds r0, r6
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08091AFE
+ ldr r5, _08091B1C
+ movs r1, 0x94
+ lsls r1, 2
+_08091AEA:
+ adds r3, 0x4
+ adds r2, 0x1
+ cmp r2, 0x3
+ bgt _08091AFE
+ ldr r0, [r5]
+ adds r0, r3
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08091AEA
+_08091AFE:
+ cmp r2, 0x4
+ bne _08091ABC
+ cmp r4, 0x3
+ bgt _08091B14
+_08091B06:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8091A74
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _08091B06
+_08091B14:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08091B1C: .4byte gUnknown_203B460
+ thumb_func_end sub_8091AA8
+
+ thumb_func_start sub_8091B20
+sub_8091B20:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ movs r0, 0
+_08091B2C:
+ adds r1, r0, 0x1
+ mov r8, r1
+ mov r6, r8
+ cmp r1, 0x3
+ bgt _08091B98
+ ldr r1, _08091BAC
+ mov r9, r1
+ lsls r7, r0, 2
+ movs r0, 0x94
+ lsls r0, 2
+ mov r10, r0
+_08091B42:
+ mov r1, r9
+ ldr r0, [r1]
+ adds r0, r7
+ add r0, r10
+ ldrb r0, [r0]
+ bl GetItemOrder
+ adds r4, r0, 0
+ mov r1, r9
+ ldr r0, [r1]
+ lsls r5, r6, 2
+ adds r0, r5
+ add r0, r10
+ ldrb r0, [r0]
+ bl GetItemOrder
+ cmp r4, r0
+ bgt _08091B80
+ cmp r4, r0
+ bne _08091B92
+ mov r1, r9
+ ldr r0, [r1]
+ adds r2, r0, r7
+ ldr r1, _08091BB0
+ adds r2, r1
+ adds r0, r5
+ adds r0, r1
+ ldrb r1, [r2]
+ ldrb r0, [r0]
+ cmp r1, r0
+ bcs _08091B92
+_08091B80:
+ mov r1, r9
+ ldr r0, [r1]
+ add r0, r10
+ adds r2, r0, r7
+ ldr r3, [r2]
+ adds r0, r5
+ ldr r1, [r0]
+ str r1, [r2]
+ str r3, [r0]
+_08091B92:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08091B42
+_08091B98:
+ mov r0, r8
+ cmp r0, 0x2
+ ble _08091B2C
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08091BAC: .4byte gUnknown_203B460
+_08091BB0: .4byte 0x00000251
+ thumb_func_end sub_8091B20
+
+ thumb_func_start sub_8091BB4
+sub_8091BB4:
+ push {r4-r7,lr}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r4, r0, 24
+ mov r1, sp
+ ldr r0, _08091C14
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldr r0, [r0]
+ str r0, [r1]
+ movs r5, 0
+_08091BCA:
+ lsls r0, r5, 24
+ lsrs r0, 24
+ bl sub_8091A74
+ adds r5, 0x1
+ cmp r5, 0x3
+ ble _08091BCA
+ lsls r7, r4, 2
+ ldr r6, _08091C18
+ movs r5, 0x3
+_08091BDE:
+ adds r0, r6, 0
+ bl RandomCapped
+ adds r4, r0, 0
+ adds r0, r6, 0
+ bl RandomCapped
+ adds r2, r0, 0
+ mov r1, sp
+ adds r0, r1, r7
+ ldr r0, [r0]
+ adds r1, r4, 0
+ bl sub_8091E94
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8091C1C
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08091BDE
+ bl sub_8091B20
+ add sp, 0x10
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08091C14: .4byte gUnknown_81097F8
+_08091C18: .4byte 0x0000270f
+ thumb_func_end sub_8091BB4
+
+ thumb_func_start sub_8091C1C
+sub_8091C1C:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r0, sp
+ bl sub_8090B08
+ movs r3, 0
+ ldr r5, _08091C54
+ movs r4, 0x94
+ lsls r4, 2
+_08091C34:
+ ldr r1, [r5]
+ lsls r2, r3, 2
+ adds r0, r1, r2
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08091C58
+ movs r3, 0x94
+ lsls r3, 2
+ adds r0, r1, r3
+ adds r0, r2
+ ldr r1, [sp]
+ str r1, [r0]
+ movs r0, 0
+ b _08091C60
+ .align 2, 0
+_08091C54: .4byte gUnknown_203B460
+_08091C58:
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _08091C34
+ movs r0, 0x1
+_08091C60:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8091C1C
+
+ thumb_func_start sub_8091C68
+sub_8091C68:
+ push {r4-r6,lr}
+ sub sp, 0x10
+ adds r3, r0, 0
+ adds r2, r1, 0
+ mov r0, sp
+ adds r1, r3, 0
+ bl sub_809486C
+ movs r4, 0
+ ldr r5, _08091D10
+_08091C7C:
+ lsls r0, r4, 2
+ ldr r1, [r5]
+ adds r1, r0
+ mov r0, sp
+ bl sub_8091E28
+ adds r4, 0x1
+ cmp r4, 0x13
+ ble _08091C7C
+ ldr r6, _08091D10
+ movs r5, 0x50
+ movs r4, 0xEF
+_08091C94:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ movs r2, 0xA
+ bl sub_809488C
+ adds r5, 0x2
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08091C94
+ ldr r6, _08091D10
+ movs r5, 0x8C
+ lsls r5, 2
+ movs r4, 0x7
+_08091CB0:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8091DE0
+ adds r5, 0x4
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08091CB0
+ ldr r6, _08091D10
+ movs r5, 0x94
+ lsls r5, 2
+ movs r4, 0x3
+_08091CCA:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8091DE0
+ adds r5, 0x4
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08091CCA
+ ldr r4, _08091D10
+ ldr r1, [r4]
+ movs r0, 0x98
+ lsls r0, 2
+ adds r1, r0
+ mov r0, sp
+ movs r2, 0x18
+ bl sub_809488C
+ ldr r1, [r4]
+ movs r0, 0x99
+ lsls r0, 2
+ adds r1, r0
+ mov r0, sp
+ movs r2, 0x18
+ bl sub_809488C
+ mov r0, sp
+ bl nullsub_102
+ ldr r0, [sp, 0x8]
+ add sp, 0x10
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08091D10: .4byte gUnknown_203B460
+ thumb_func_end sub_8091C68
+
+ thumb_func_start sub_8091D14
+sub_8091D14:
+ push {r4-r6,lr}
+ sub sp, 0x10
+ adds r3, r0, 0
+ adds r2, r1, 0
+ mov r0, sp
+ adds r1, r3, 0
+ bl sub_809485C
+ movs r4, 0
+ ldr r5, _08091DBC
+_08091D28:
+ lsls r0, r4, 2
+ ldr r1, [r5]
+ adds r1, r0
+ mov r0, sp
+ bl sub_8091E00
+ adds r4, 0x1
+ cmp r4, 0x13
+ ble _08091D28
+ ldr r6, _08091DBC
+ movs r5, 0x50
+ movs r4, 0xEF
+_08091D40:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ movs r2, 0xA
+ bl sub_8094924
+ adds r5, 0x2
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08091D40
+ ldr r6, _08091DBC
+ movs r5, 0x8C
+ lsls r5, 2
+ movs r4, 0x7
+_08091D5C:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8091DC0
+ adds r5, 0x4
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08091D5C
+ ldr r6, _08091DBC
+ movs r5, 0x94
+ lsls r5, 2
+ movs r4, 0x3
+_08091D76:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8091DC0
+ adds r5, 0x4
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08091D76
+ ldr r4, _08091DBC
+ ldr r1, [r4]
+ movs r0, 0x98
+ lsls r0, 2
+ adds r1, r0
+ mov r0, sp
+ movs r2, 0x18
+ bl sub_8094924
+ ldr r1, [r4]
+ movs r0, 0x99
+ lsls r0, 2
+ adds r1, r0
+ mov r0, sp
+ movs r2, 0x18
+ bl sub_8094924
+ mov r0, sp
+ bl nullsub_102
+ ldr r0, [sp, 0x8]
+ add sp, 0x10
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08091DBC: .4byte gUnknown_203B460
+ thumb_func_end sub_8091D14
+
+ thumb_func_start sub_8091DC0
+sub_8091DC0:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ movs r2, 0x8
+ bl sub_8094924
+ adds r4, 0x1
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x7
+ bl sub_8094924
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8091DC0
+
+ thumb_func_start sub_8091DE0
+sub_8091DE0:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ movs r2, 0x8
+ bl sub_809488C
+ adds r4, 0x1
+ adds r0, r5, 0
+ adds r1, r4, 0
+ movs r2, 0x7
+ bl sub_809488C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8091DE0
+
+ thumb_func_start sub_8091E00
+sub_8091E00:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r2, 0x8
+ bl sub_8094924
+ adds r1, r5, 0x1
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl sub_8094924
+ adds r5, 0x2
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x8
+ bl sub_8094924
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8091E00
+
+ thumb_func_start sub_8091E28
+sub_8091E28:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r2, 0x8
+ bl sub_809488C
+ adds r1, r5, 0x1
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl sub_809488C
+ adds r5, 0x2
+ adds r0, r4, 0
+ adds r1, r5, 0
+ movs r2, 0x8
+ bl sub_809488C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8091E28
+
+ thumb_func_start sub_8091E50
+sub_8091E50:
+ lsls r0, 24
+ ldr r1, _08091E5C
+ lsrs r0, 22
+ adds r0, r1
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_08091E5C: .4byte gUnknown_810AF50
+ thumb_func_end sub_8091E50
+
+ thumb_func_start sub_8091E60
+sub_8091E60:
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ lsls r0, r1, 24
+ lsrs r4, r0, 24
+ cmp r3, 0x3E
+ bhi _08091E8C
+ ldr r2, _08091E88
+ lsrs r0, 27
+ lsls r1, r3, 5
+ adds r0, r1
+ adds r0, r2
+ ldrb r0, [r0]
+ movs r1, 0x7
+ ands r1, r4
+ asrs r0, r1
+ movs r1, 0x1
+ ands r0, r1
+ b _08091E8E
+ .align 2, 0
+_08091E88: .4byte gUnknown_8108F64
+_08091E8C:
+ movs r0, 0
+_08091E8E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8091E60
+
+ thumb_func_start sub_8091E94
+sub_8091E94:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r4, _08091EE4
+ add sp, r4
+ mov r8, r1
+ mov r10, r2
+ ldr r1, _08091EE8
+ subs r0, 0x1
+ lsls r0, 2
+ adds r0, r1
+ movs r3, 0
+ add r1, sp, 0x18
+ mov r9, r1
+ ldr r2, _08091EEC
+ mov r12, r2
+ add r6, sp, 0x1F8
+ ldr r2, [r0]
+ adds r7, r6, 0
+ movs r4, 0
+_08091EC0:
+ ldrh r1, [r2]
+ cmp r1, r12
+ bls _08091EF4
+ ldrh r0, [r2]
+ ldr r1, _08091EF0
+ adds r0, r1
+ cmp r0, 0
+ beq _08091EFC
+ movs r5, 0
+ adds r1, r7, r4
+_08091ED4:
+ strh r5, [r1]
+ adds r1, 0x2
+ adds r4, 0x2
+ adds r3, 0x1
+ subs r0, 0x1
+ cmp r0, 0
+ bne _08091ED4
+ b _08091EFC
+ .align 2, 0
+_08091EE4: .4byte 0xfffffc10
+_08091EE8: .4byte gUnknown_8108E58
+_08091EEC: .4byte 0x0000752f
+_08091EF0: .4byte 0xffff8ad0
+_08091EF4:
+ adds r0, r6, r4
+ strh r1, [r0]
+ adds r4, 0x2
+ adds r3, 0x1
+_08091EFC:
+ adds r2, 0x2
+ cmp r3, 0xFB
+ ble _08091EC0
+ movs r3, 0xB
+ add r2, sp, 0x1F8
+ mov r1, sp
+_08091F08:
+ ldrh r0, [r2]
+ strh r0, [r1]
+ adds r2, 0x2
+ adds r1, 0x2
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08091F08
+ mov r2, r9
+ add r1, sp, 0x210
+ movs r3, 0xEF
+_08091F1C:
+ ldrh r0, [r1]
+ strh r0, [r2]
+ adds r1, 0x2
+ adds r2, 0x2
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08091F1C
+ movs r7, 0xC
+ movs r6, 0
+ mov r0, sp
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+ cmp r0, 0
+ beq _08091F4A
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, r8
+ blt _08091F4A
+ movs r7, 0
+ b _08091F66
+_08091F46:
+ mov r8, r5
+ b _08091F9C
+_08091F4A:
+ adds r6, 0x1
+ cmp r6, 0xB
+ bgt _08091F66
+ lsls r0, r6, 1
+ mov r2, sp
+ adds r1, r2, r0
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _08091F4A
+ cmp r0, r8
+ blt _08091F4A
+ lsls r0, r6, 24
+ lsrs r7, r0, 24
+_08091F66:
+ movs r0, 0x46
+ mov r8, r0
+ cmp r7, 0xC
+ beq _08091F9C
+ movs r6, 0
+ mov r4, r9
+_08091F72:
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _08091F94
+ lsls r0, r6, 24
+ lsrs r5, r0, 24
+ adds r0, r5, 0
+ bl GetItemType
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, r7
+ bne _08091F94
+ movs r2, 0
+ ldrsh r0, [r4, r2]
+ cmp r0, r10
+ bge _08091F46
+_08091F94:
+ adds r4, 0x2
+ adds r6, 0x1
+ cmp r6, 0xEF
+ ble _08091F72
+_08091F9C:
+ mov r0, r8
+ movs r3, 0xFC
+ lsls r3, 2
+ add sp, r3
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8091E94
+
+ thumb_func_start sub_8091FB4
+sub_8091FB4:
+ push {r4-r6,lr}
+ movs r6, 0
+_08091FB8:
+ ldr r0, _08092038
+ lsls r1, r6, 2
+ ldr r0, [r0]
+ adds r4, r0, r1
+ ldrb r1, [r4]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08091FE8
+ movs r0, 0xF7
+ ands r0, r1
+ movs r5, 0
+ strb r0, [r4]
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0x69
+ bne _08091FE8
+ adds r0, r4, 0
+ bl sub_80915D4
+ bl sub_80913A0
+ strb r5, [r4, 0x2]
+ strb r5, [r4, 0x1]
+ strb r5, [r4]
+_08091FE8:
+ adds r6, 0x1
+ cmp r6, 0x13
+ ble _08091FB8
+ bl sub_80910B4
+ movs r6, 0
+_08091FF4:
+ movs r0, 0x58
+ adds r1, r6, 0
+ muls r1, r0
+ ldr r0, _0809203C
+ ldr r0, [r0]
+ adds r2, r1, r0
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08092026
+ adds r4, r2, 0
+ adds r4, 0x28
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _08092026
+ cmp r0, 0x69
+ bne _08092026
+ adds r0, r4, 0
+ bl sub_80915E4
+ bl sub_80913A0
+ movs r0, 0
+ strb r0, [r4]
+_08092026:
+ adds r6, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r6, r0
+ ble _08091FF4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08092038: .4byte gUnknown_203B460
+_0809203C: .4byte gRecruitedPokemonRef
+ thumb_func_end sub_8091FB4
+
+ .align 2,0
diff --git a/asm/jirachi_wish.s b/asm/jirachi_wish.s
index ba23793..6ac1fc7 100644
--- a/asm/jirachi_wish.s
+++ b/asm/jirachi_wish.s
@@ -60,7 +60,7 @@ JirachiWish:
movs r1, 0x46
bl sub_803E708
ldr r0, _0808B848
- bl sub_8083E38
+ bl PlaySoundEffect
movs r0, 0x96
movs r1, 0x46
bl sub_803E708
@@ -78,14 +78,14 @@ JirachiWish:
bl sub_80856E0
movs r0, 0xB5
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r0, _0808B850
bl sub_8052910
movs r0, 0xA
movs r1, 0x46
bl sub_803E708
adds r0, r6, 0
- bl sub_808696C
+ bl SpriteLookAroundEffect
ldr r0, _0808B854
bl sub_8052910
movs r0, 0xA
@@ -165,7 +165,7 @@ _0808B6D2:
beq _0808B744
movs r0, 0xA6
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
adds r0, r7, 0
bl sub_808BB3C
adds r0, r6, 0
@@ -249,7 +249,7 @@ _0808B77E:
beq _0808B7FA
movs r0, 0xC8
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
adds r0, r7, 0
bl sub_808BB3C
adds r0, r6, 0
@@ -320,7 +320,7 @@ _0808B87C:
adds r0, r4, 0
bl UnlockFriendArea
movs r0, 0xD4
- bl sub_8083E38
+ bl PlaySoundEffect
bl sub_8083600
adds r1, r0, 0
ldr r0, _0808BA3C
@@ -399,7 +399,7 @@ _0808B8F4:
beq _0808B970
movs r0, 0xC8
lsls r0, 1
- bl sub_8083E38
+ bl PlaySoundEffect
adds r0, r7, 0
bl sub_808BB3C
adds r0, r6, 0
@@ -534,7 +534,7 @@ sub_808BAA4:
push {r4,r5,lr}
sub sp, 0x4
ldr r0, _0808BB34
- bl sub_8083E38
+ bl PlaySoundEffect
ldr r1, _0808BB38
movs r0, 0x1F
str r0, [r1]
diff --git a/asm/kangaskhan_storage.s b/asm/kangaskhan_storage.s
new file mode 100644
index 0000000..cdd121a
--- /dev/null
+++ b/asm/kangaskhan_storage.s
@@ -0,0 +1,685 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8016FF8
+sub_8016FF8:
+ push {r4,r5,lr}
+ sub sp, 0x14
+ ldr r1, _08017014
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r4, r1, 0
+ cmp r0, 0x1D
+ bls _0801700A
+ b _08017584
+_0801700A:
+ lsls r0, 2
+ ldr r1, _08017018
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08017014: .4byte gUnknown_203B208
+_08017018: .4byte _0801701C
+ .align 2, 0
+_0801701C:
+ .4byte _08017094
+ .4byte _080170BC
+ .4byte _0801710C
+ .4byte _0801713C
+ .4byte _08017584
+ .4byte _0801715C
+ .4byte _0801718C
+ .4byte _080171BC
+ .4byte _080171EC
+ .4byte _0801721C
+ .4byte _0801724C
+ .4byte _0801726C
+ .4byte _0801728C
+ .4byte _080172AC
+ .4byte _080172BA
+ .4byte _080172C2
+ .4byte _080174A8
+ .4byte _080172E4
+ .4byte _0801731C
+ .4byte _08017344
+ .4byte _08017394
+ .4byte _080173B4
+ .4byte _080173E8
+ .4byte _080173F6
+ .4byte _08017404
+ .4byte _08017474
+ .4byte _080174A8
+ .4byte _080174B2
+ .4byte _080174E8
+ .4byte _08017530
+_08017094:
+ bl sub_80175FC
+ ldr r2, _080170B4
+ ldr r0, [r2]
+ adds r0, 0xE4
+ movs r4, 0
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r3, _080170B8
+ ldr r5, [r2]
+ ldr r1, [r5]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r0, r3
+ b _080170DA
+ .align 2, 0
+_080170B4: .4byte gUnknown_203B208
+_080170B8: .4byte gUnknown_80D5404
+_080170BC:
+ bl sub_80175FC
+ ldr r1, _08017104
+ ldr r0, [r1]
+ adds r0, 0xE4
+ movs r4, 0
+ strb r4, [r0]
+ ldr r2, _08017108
+ ldr r5, [r1]
+ ldr r1, [r5]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x4
+ adds r0, r2
+_080170DA:
+ ldr r0, [r0]
+ ldr r2, [r5, 0x18]
+ adds r3, r5, 0
+ adds r3, 0x24
+ adds r1, r5, 0
+ adds r1, 0x4C
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ adds r1, r5, 0
+ adds r1, 0xE8
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ bl sub_8014248
+ b _08017584
+ .align 2, 0
+_08017104: .4byte gUnknown_203B208
+_08017108: .4byte gUnknown_80D5404
+_0801710C:
+ ldr r0, [r4]
+ movs r1, 0x1
+ str r1, [r0, 0x8]
+ adds r0, 0xE4
+ movs r1, 0
+ strb r1, [r0]
+ ldr r2, _08017134
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x4C
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xE8
+ ldr r2, [r3]
+ ldr r3, _08017138
+ b _080173D8
+ .align 2, 0
+_08017134: .4byte gUnknown_80D5404
+_08017138: .4byte 0x0000010d
+_0801713C:
+ ldr r0, [r4]
+ movs r1, 0x4
+ str r1, [r0, 0x8]
+ adds r0, 0xE4
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r2, _08017158
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x8
+ b _080173CE
+ .align 2, 0
+_08017158: .4byte gUnknown_80D5404
+_0801715C:
+ ldr r0, [r4]
+ movs r1, 0x1
+ str r1, [r0, 0x8]
+ adds r0, 0xE4
+ movs r1, 0
+ strb r1, [r0]
+ ldr r2, _08017184
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x34
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xE8
+ ldr r2, [r3]
+ ldr r3, _08017188
+ b _080173D8
+ .align 2, 0
+_08017184: .4byte gUnknown_80D5404
+_08017188: .4byte 0x0000010d
+_0801718C:
+ ldr r0, [r4]
+ movs r1, 0x1
+ str r1, [r0, 0x8]
+ adds r0, 0xE4
+ movs r1, 0
+ strb r1, [r0]
+ ldr r2, _080171B4
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x38
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xE8
+ ldr r2, [r3]
+ ldr r3, _080171B8
+ b _080173D8
+ .align 2, 0
+_080171B4: .4byte gUnknown_80D5404
+_080171B8: .4byte 0x0000010d
+_080171BC:
+ ldr r0, [r4]
+ movs r1, 0x1
+ str r1, [r0, 0x8]
+ adds r0, 0xE4
+ movs r1, 0
+ strb r1, [r0]
+ ldr r2, _080171E4
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x3C
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xE8
+ ldr r2, [r3]
+ ldr r3, _080171E8
+ b _080173D8
+ .align 2, 0
+_080171E4: .4byte gUnknown_80D5404
+_080171E8: .4byte 0x0000010d
+_080171EC:
+ ldr r0, [r4]
+ movs r1, 0x1
+ str r1, [r0, 0x8]
+ adds r0, 0xE4
+ movs r1, 0
+ strb r1, [r0]
+ ldr r2, _08017214
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x48
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xE8
+ ldr r2, [r3]
+ ldr r3, _08017218
+ b _080173D8
+ .align 2, 0
+_08017214: .4byte gUnknown_80D5404
+_08017218: .4byte 0x0000010d
+_0801721C:
+ ldr r0, _08017244
+ ldr r1, [r4]
+ adds r1, 0xC
+ movs r2, 0
+ bl sub_8090E14
+ ldr r0, [r4]
+ movs r1, 0xE
+ str r1, [r0, 0x8]
+ adds r0, 0xE4
+ movs r1, 0
+ strb r1, [r0]
+ ldr r2, _08017248
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x40
+ b _080173CE
+ .align 2, 0
+_08017244: .4byte gUnknown_202DE58
+_08017248: .4byte gUnknown_80D5404
+_0801724C:
+ ldr r0, [r4]
+ movs r1, 0xE
+ str r1, [r0, 0x8]
+ adds r0, 0xE4
+ movs r1, 0
+ strb r1, [r0]
+ ldr r2, _08017268
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x44
+ b _080173CE
+ .align 2, 0
+_08017268: .4byte gUnknown_80D5404
+_0801726C:
+ ldr r0, [r4]
+ movs r1, 0xD
+ str r1, [r0, 0x8]
+ adds r0, 0xE4
+ movs r1, 0
+ strb r1, [r0]
+ ldr r2, _08017288
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0xC
+ b _080173CE
+ .align 2, 0
+_08017288: .4byte gUnknown_80D5404
+_0801728C:
+ ldr r0, [r4]
+ movs r1, 0xE
+ str r1, [r0, 0x8]
+ adds r0, 0xE4
+ movs r1, 0
+ strb r1, [r0]
+ ldr r2, _080172A8
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x10
+ b _080173CE
+ .align 2, 0
+_080172A8: .4byte gUnknown_80D5404
+_080172AC:
+ movs r0, 0x3
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _08017584
+_080172BA:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _08017584
+_080172C2:
+ bl sub_801A9E0
+ bl sub_80176B8
+ ldr r0, _080172E0
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x58
+ adds r1, r2, 0
+ adds r1, 0x24
+ adds r3, r2, 0
+ adds r3, 0x4C
+ ldr r2, [r2, 0x1C]
+ b _08017494
+ .align 2, 0
+_080172E0: .4byte gUnknown_203B208
+_080172E4:
+ bl sub_80177F8
+ ldr r0, _08017310
+ ldr r4, _08017314
+ ldr r1, [r4]
+ adds r1, 0xC
+ movs r2, 0
+ bl sub_8090E14
+ ldr r0, [r4]
+ adds r0, 0xE4
+ movs r5, 0
+ strb r5, [r0]
+ ldr r2, _08017318
+ ldr r4, [r4]
+ ldr r1, [r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x14
+ b _08017504
+ .align 2, 0
+_08017310: .4byte gUnknown_202DE58
+_08017314: .4byte gUnknown_203B208
+_08017318: .4byte gUnknown_80D5404
+_0801731C:
+ bl sub_80177F8
+ ldr r1, _0801733C
+ ldr r0, [r1]
+ adds r0, 0xE4
+ movs r5, 0
+ strb r5, [r0]
+ ldr r2, _08017340
+ ldr r4, [r1]
+ ldr r1, [r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x18
+ b _08017504
+ .align 2, 0
+_0801733C: .4byte gUnknown_203B208
+_08017340: .4byte gUnknown_80D5404
+_08017344:
+ bl sub_8090A34
+ cmp r0, 0
+ bne _0801735C
+ bl sub_801A928
+ ldr r0, _08017358
+ ldr r1, [r0]
+ movs r0, 0x1
+ b _08017362
+ .align 2, 0
+_08017358: .4byte gUnknown_203B208
+_0801735C:
+ ldr r0, _08017388
+ ldr r1, [r0]
+ movs r0, 0xC
+_08017362:
+ str r0, [r1, 0x8]
+ ldr r3, _08017388
+ ldr r0, [r3]
+ adds r0, 0xE4
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r2, _0801738C
+ ldr r3, [r3]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xE8
+ ldr r2, [r3]
+ ldr r3, _08017390
+ b _080173D8
+ .align 2, 0
+_08017388: .4byte gUnknown_203B208
+_0801738C: .4byte gUnknown_80D5404
+_08017390: .4byte 0x0000010d
+_08017394:
+ ldr r0, [r4]
+ movs r1, 0x16
+ str r1, [r0, 0x8]
+ adds r0, 0xE4
+ movs r1, 0
+ strb r1, [r0]
+ ldr r2, _080173B0
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x20
+ b _080173CE
+ .align 2, 0
+_080173B0: .4byte gUnknown_80D5404
+_080173B4:
+ ldr r0, [r4]
+ movs r1, 0x17
+ str r1, [r0, 0x8]
+ adds r0, 0xE4
+ movs r1, 0
+ strb r1, [r0]
+ ldr r2, _080173E0
+ ldr r3, [r4]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x24
+_080173CE:
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xE8
+ ldr r2, [r3]
+ ldr r3, _080173E4
+_080173D8:
+ movs r1, 0
+ bl sub_80141B4
+ b _08017584
+ .align 2, 0
+_080173E0: .4byte gUnknown_80D5404
+_080173E4: .4byte 0x0000030d
+_080173E8:
+ movs r0, 0x1
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801C8C4
+ b _080173FC
+_080173F6:
+ movs r0, 0x1
+ bl sub_801CB5C
+_080173FC:
+ movs r0, 0
+ bl sub_801AD34
+ b _08017584
+_08017404:
+ ldr r2, [r4]
+ adds r1, r2, 0
+ adds r1, 0xB8
+ movs r0, 0x2
+ str r0, [r1]
+ subs r1, 0x8
+ movs r0, 0x1
+ str r0, [r1]
+ ldr r0, _08017430
+ ldr r1, [r0]
+ ldrb r0, [r2, 0xE]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r3, r1, r0
+ ldrh r0, [r3]
+ cmp r0, 0x63
+ bls _08017434
+ adds r1, r2, 0
+ adds r1, 0xB4
+ movs r0, 0x63
+ b _0801743A
+ .align 2, 0
+_08017430: .4byte gUnknown_203B460
+_08017434:
+ adds r1, r2, 0
+ adds r1, 0xB4
+ ldrh r0, [r3]
+_0801743A:
+ str r0, [r1]
+ ldr r2, [r4]
+ adds r1, r2, 0
+ adds r1, 0xAC
+ adds r0, r2, 0
+ adds r0, 0xB4
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x10
+ movs r0, 0x1
+ str r0, [r1]
+ adds r1, 0x4
+ movs r3, 0x82
+ 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, 0xA8
+ bl sub_8013AA0
+ bl sub_8017598
+ b _08017584
+_08017474:
+ bl sub_801CCD8
+ movs r0, 0
+ bl sub_801AD34
+ bl sub_8017758
+ ldr r0, _080174A4
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x58
+ adds r1, r2, 0
+ adds r1, 0x24
+ adds r3, r2, 0
+ adds r3, 0x4C
+ ldr r2, [r2, 0x20]
+_08017494:
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _08017584
+ .align 2, 0
+_080174A4: .4byte gUnknown_203B208
+_080174A8:
+ ldr r0, [r4]
+ adds r0, 0xC
+ bl sub_801B3C0
+ b _08017584
+_080174B2:
+ bl sub_80177F8
+ ldr r0, _080174DC
+ ldr r4, _080174E0
+ ldr r1, [r4]
+ adds r1, 0xC
+ movs r2, 0
+ bl sub_8090E14
+ ldr r0, [r4]
+ adds r0, 0xE4
+ movs r5, 0
+ strb r5, [r0]
+ ldr r2, _080174E4
+ ldr r4, [r4]
+ ldr r1, [r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x28
+ b _08017504
+ .align 2, 0
+_080174DC: .4byte gUnknown_202DE58
+_080174E0: .4byte gUnknown_203B208
+_080174E4: .4byte gUnknown_80D5404
+_080174E8:
+ bl sub_80177F8
+ ldr r1, _08017528
+ ldr r0, [r1]
+ adds r0, 0xE4
+ movs r5, 0
+ strb r5, [r0]
+ ldr r2, _0801752C
+ ldr r4, [r1]
+ ldr r1, [r4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x2C
+_08017504:
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, r4, 0
+ adds r3, 0x24
+ str r5, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r5, [sp, 0x8]
+ adds r4, 0xE8
+ ldr r1, [r4]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x4
+ bl sub_8014248
+ b _08017584
+ .align 2, 0
+_08017528: .4byte gUnknown_203B208
+_0801752C: .4byte gUnknown_80D5404
+_08017530:
+ movs r0, 0x1
+ bl sub_801CF14
+ lsls r0, 24
+ cmp r0, 0
+ bne _08017544
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _08017554
+_08017544:
+ bl sub_801CBB8
+ ldr r0, _08017550
+ ldr r1, [r0]
+ movs r0, 0x1
+ b _0801755A
+ .align 2, 0
+_08017550: .4byte gUnknown_203B208
+_08017554:
+ ldr r0, _0801758C
+ ldr r1, [r0]
+ movs r0, 0x15
+_0801755A:
+ str r0, [r1, 0x8]
+ ldr r3, _0801758C
+ ldr r0, [r3]
+ adds r0, 0xE4
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r2, _08017590
+ ldr r3, [r3]
+ ldr r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 4
+ adds r2, 0x30
+ adds r0, r2
+ ldr r0, [r0]
+ adds r3, 0xE8
+ ldr r2, [r3]
+ ldr r3, _08017594
+ movs r1, 0
+ bl sub_80141B4
+_08017584:
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801758C: .4byte gUnknown_203B208
+_08017590: .4byte gUnknown_80D5404
+_08017594: .4byte 0x0000010d
+ thumb_func_end sub_8016FF8
+
+
+ .align 2,0
diff --git a/asm/kangaskhan_storage_1.s b/asm/kangaskhan_storage_1.s
new file mode 100644
index 0000000..733a90d
--- /dev/null
+++ b/asm/kangaskhan_storage_1.s
@@ -0,0 +1,2675 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_80175FC
+sub_80175FC:
+ push {r4-r7,lr}
+ ldr r4, _0801767C
+ ldr r0, [r4]
+ adds r0, 0x4C
+ movs r1, 0
+ movs r2, 0xA
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08017680
+ ldr r0, [r0]
+ str r0, [r3, 0x24]
+ movs r0, 0x2
+ str r0, [r3, 0x28]
+ movs r1, 0x1
+ ldr r0, _08017684
+ ldr r0, [r0]
+ str r0, [r3, 0x2C]
+ movs r0, 0x3
+ str r0, [r3, 0x30]
+ ldr r0, _08017688
+ ldr r0, [r0]
+ str r0, [r3, 0x34]
+ movs r0, 0x6
+ str r0, [r3, 0x38]
+ ldr r0, _0801768C
+ ldr r0, [r0]
+ str r0, [r3, 0x3C]
+ str r1, [r3, 0x40]
+ movs r6, 0x4
+ str r2, [r3, 0x44]
+ str r1, [r3, 0x48]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x28
+ mov r2, r12
+ adds r2, 0x4C
+_08017648:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08017658
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x18]
+ cmp r1, r0
+ beq _080176B2
+_08017658:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _08017648
+ movs r5, 0
+ cmp r5, r6
+ bge _080176B2
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x4C
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08017690
+ ldr r0, [r1, 0x28]
+ str r0, [r1, 0x18]
+ b _080176B2
+ .align 2, 0
+_0801767C: .4byte gUnknown_203B208
+_08017680: .4byte gUnknown_80D4958
+_08017684: .4byte gUnknown_80D4964
+_08017688: .4byte gUnknown_80D4970
+_0801768C: .4byte gUnknown_80D4934
+_08017690:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _080176B2
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0x4C
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08017690
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x28
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x18]
+_080176B2:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80175FC
+
+ thumb_func_start sub_80176B8
+sub_80176B8:
+ push {r4-r7,lr}
+ ldr r4, _08017724
+ ldr r0, [r4]
+ adds r0, 0x4C
+ movs r1, 0
+ movs r2, 0xA
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08017728
+ ldr r0, [r0]
+ str r0, [r3, 0x24]
+ movs r0, 0x2
+ str r0, [r3, 0x28]
+ movs r1, 0x1
+ ldr r0, _0801772C
+ ldr r0, [r0]
+ str r0, [r3, 0x2C]
+ movs r0, 0x6
+ str r0, [r3, 0x30]
+ movs r6, 0x2
+ str r2, [r3, 0x34]
+ str r1, [r3, 0x38]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x28
+ mov r2, r12
+ adds r2, 0x4C
+_080176F2:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _08017702
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x1C]
+ cmp r1, r0
+ beq _08017752
+_08017702:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _080176F2
+ movs r5, 0
+ cmp r5, r6
+ bge _08017752
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x4C
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08017730
+ ldr r0, [r1, 0x28]
+ str r0, [r1, 0x1C]
+ b _08017752
+ .align 2, 0
+_08017724: .4byte gUnknown_203B208
+_08017728: .4byte gUnknown_80D4958
+_0801772C: .4byte gUnknown_80D4970
+_08017730:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _08017752
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0x4C
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08017730
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x28
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x1C]
+_08017752:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80176B8
+
+ thumb_func_start sub_8017758
+sub_8017758:
+ push {r4-r7,lr}
+ ldr r4, _080177C4
+ ldr r0, [r4]
+ adds r0, 0x4C
+ movs r1, 0
+ movs r2, 0xA
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _080177C8
+ ldr r0, [r0]
+ str r0, [r3, 0x24]
+ movs r0, 0x3
+ str r0, [r3, 0x28]
+ movs r1, 0x1
+ ldr r0, _080177CC
+ ldr r0, [r0]
+ str r0, [r3, 0x2C]
+ movs r0, 0x6
+ str r0, [r3, 0x30]
+ movs r6, 0x2
+ str r2, [r3, 0x34]
+ str r1, [r3, 0x38]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x28
+ mov r2, r12
+ adds r2, 0x4C
+_08017792:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _080177A2
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x20]
+ cmp r1, r0
+ beq _080177F2
+_080177A2:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _08017792
+ movs r5, 0
+ cmp r5, r6
+ bge _080177F2
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x4C
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080177D0
+ ldr r0, [r1, 0x28]
+ str r0, [r1, 0x20]
+ b _080177F2
+ .align 2, 0
+_080177C4: .4byte gUnknown_203B208
+_080177C8: .4byte gUnknown_80D4964
+_080177CC: .4byte gUnknown_80D4970
+_080177D0:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _080177F2
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0x4C
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _080177D0
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x28
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x20]
+_080177F2:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8017758
+
+ thumb_func_start sub_80177F8
+sub_80177F8:
+ ldr r0, _0801781C
+ ldr r1, [r0]
+ movs r3, 0
+ ldr r0, _08017820
+ ldr r0, [r0]
+ str r0, [r1, 0x24]
+ movs r0, 0x4
+ str r0, [r1, 0x28]
+ movs r2, 0x1
+ ldr r0, _08017824
+ ldr r0, [r0]
+ str r0, [r1, 0x2C]
+ movs r0, 0x5
+ str r0, [r1, 0x30]
+ str r3, [r1, 0x34]
+ str r2, [r1, 0x38]
+ bx lr
+ .align 2, 0
+_0801781C: .4byte gUnknown_203B208
+_08017820: .4byte gUnknown_80D4920
+_08017824: .4byte gUnknown_80D4928
+ thumb_func_end sub_80177F8
+
+ thumb_func_start sub_8017828
+sub_8017828:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _080178C8
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08017842
+ ldr r0, _08017854
+ ldr r0, [r0]
+ str r1, [r0, 0x18]
+_08017842:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08017862
+ cmp r0, 0x2
+ bgt _08017858
+ cmp r0, 0x1
+ beq _080178C2
+ b _080178C8
+ .align 2, 0
+_08017854: .4byte gUnknown_203B208
+_08017858:
+ cmp r0, 0x3
+ beq _0801788E
+ cmp r0, 0x6
+ beq _080178BA
+ b _080178C8
+_08017862:
+ bl sub_8090A34
+ cmp r0, 0
+ bne _08017872
+ movs r0, 0x5
+ bl UpdateKangaskhanStorageState
+ b _080178C8
+_08017872:
+ movs r0, 0
+ bl sub_801CF50
+ lsls r0, 24
+ cmp r0, 0
+ beq _08017886
+ movs r0, 0x8
+ bl UpdateKangaskhanStorageState
+ b _080178C8
+_08017886:
+ movs r0, 0xB
+ bl UpdateKangaskhanStorageState
+ b _080178C8
+_0801788E:
+ movs r0, 0x1
+ bl sub_801CF14
+ lsls r0, 24
+ cmp r0, 0
+ beq _080178A2
+ movs r0, 0x7
+ bl UpdateKangaskhanStorageState
+ b _080178C8
+_080178A2:
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _080178B2
+ movs r0, 0x6
+ bl UpdateKangaskhanStorageState
+ b _080178C8
+_080178B2:
+ movs r0, 0x14
+ bl UpdateKangaskhanStorageState
+ b _080178C8
+_080178BA:
+ movs r0, 0x2
+ bl UpdateKangaskhanStorageState
+ b _080178C8
+_080178C2:
+ movs r0, 0x3
+ bl UpdateKangaskhanStorageState
+_080178C8:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8017828
+
+ thumb_func_start sub_80178D0
+sub_80178D0:
+ push {r4,lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801791E
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _080178F4
+ cmp r0, 0x4
+ bgt _080178EE
+ cmp r0, 0x1
+ beq _08017918
+ b _0801791E
+_080178EE:
+ cmp r0, 0x5
+ beq _08017918
+ b _0801791E
+_080178F4:
+ ldr r4, _08017914
+ ldr r0, [r4]
+ adds r0, 0xC
+ bl sub_80917B8
+ ldr r0, [r4]
+ ldr r0, [r0, 0x10]
+ bl sub_80911F8
+ bl sub_80910B4
+ movs r0, 0x13
+ bl UpdateKangaskhanStorageState
+ b _0801791E
+ .align 2, 0
+_08017914: .4byte gUnknown_203B208
+_08017918:
+ movs r0, 0xE
+ bl UpdateKangaskhanStorageState
+_0801791E:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80178D0
+
+ thumb_func_start sub_8017928
+sub_8017928:
+ push {lr}
+ sub sp, 0x8
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _080179A2
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _0801794C
+ cmp r0, 0x4
+ bgt _08017946
+ cmp r0, 0x1
+ beq _0801799C
+ b _080179A2
+_08017946:
+ cmp r0, 0x5
+ beq _0801799C
+ b _080179A2
+_0801794C:
+ ldr r0, _0801798C
+ ldr r1, [r0]
+ ldr r0, _08017990
+ ldr r3, [r0]
+ ldrb r0, [r3, 0xE]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrb r2, [r3, 0xD]
+ ldrh r0, [r1]
+ subs r0, r2
+ strh r0, [r1]
+ ldrb r2, [r3, 0xE]
+ ldr r1, _08017994
+ ldr r0, [sp, 0x4]
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp, 0x4]
+ ldrb r1, [r3, 0xD]
+ lsls r1, 8
+ ldr r2, _08017998
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ add r0, sp, 0x4
+ bl sub_8091274
+ movs r0, 0x1D
+ bl UpdateKangaskhanStorageState
+ b _080179A2
+ .align 2, 0
+_0801798C: .4byte gUnknown_203B460
+_08017990: .4byte gUnknown_203B208
+_08017994: .4byte 0xffffff00
+_08017998: .4byte 0xffff00ff
+_0801799C:
+ movs r0, 0x17
+ bl UpdateKangaskhanStorageState
+_080179A2:
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8017928
+
+ thumb_func_start sub_80179A8
+sub_80179A8:
+ push {r4-r7,lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08017A12
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _080179CC
+ cmp r0, 0x4
+ bgt _080179C6
+ cmp r0, 0x1
+ beq _08017A0C
+ b _08017A12
+_080179C6:
+ cmp r0, 0x5
+ beq _08017A0C
+ b _08017A12
+_080179CC:
+ movs r5, 0
+ ldr r6, _08017A08
+ movs r7, 0
+_080179D2:
+ adds r0, r5, 0
+ bl sub_801AED0
+ cmp r0, 0
+ beq _080179F2
+ 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]
+_080179F2:
+ adds r5, 0x1
+ cmp r5, 0x13
+ ble _080179D2
+ bl sub_80910B4
+ bl sub_801AE84
+ movs r0, 0x13
+ bl UpdateKangaskhanStorageState
+ b _08017A12
+ .align 2, 0
+_08017A08: .4byte gUnknown_203B460
+_08017A0C:
+ movs r0, 0xE
+ bl UpdateKangaskhanStorageState
+_08017A12:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80179A8
+
+ thumb_func_start sub_8017A1C
+sub_8017A1C:
+ push {r4-r6,lr}
+ sub sp, 0x8
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08017AEE
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _08017A40
+ cmp r0, 0x4
+ bgt _08017A3A
+ cmp r0, 0x1
+ beq _08017AE8
+ b _08017AEE
+_08017A3A:
+ cmp r0, 0x5
+ beq _08017AE8
+ b _08017AEE
+_08017A40:
+ movs r5, 0
+ ldr r6, _08017A88
+_08017A44:
+ lsls r0, r5, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl sub_801CFE0
+ cmp r0, 0
+ beq _08017ACE
+ ldr r1, _08017A8C
+ ldr r0, [sp, 0x4]
+ ands r0, r1
+ orrs r0, r4
+ str r0, [sp, 0x4]
+ add r4, sp, 0x4
+ ldrb r0, [r4]
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ beq _08017AA2
+ ldr r2, _08017A90
+ ldr r1, [r2]
+ ldrb r0, [r4]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r1, r0
+ ldrh r1, [r1]
+ cmp r1, 0x63
+ bls _08017A94
+ ldr r0, [sp, 0x4]
+ ands r0, r6
+ movs r1, 0xC6
+ lsls r1, 7
+ b _08017A9C
+ .align 2, 0
+_08017A88: .4byte 0xffff00ff
+_08017A8C: .4byte 0xffffff00
+_08017A90: .4byte gUnknown_203B460
+_08017A94:
+ lsls r1, 24
+ lsrs r1, 16
+ ldr r0, [sp, 0x4]
+ ands r0, r6
+_08017A9C:
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ b _08017AB0
+_08017AA2:
+ ldr r0, [sp, 0x4]
+ ands r0, r6
+ movs r1, 0x80
+ lsls r1, 1
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ ldr r2, _08017AE4
+_08017AB0:
+ ldr r3, [r2]
+ add r0, sp, 0x4
+ ldrb r1, [r4]
+ lsls r1, 1
+ adds r3, 0x50
+ adds r3, r1
+ ldr r1, [sp, 0x4]
+ lsrs r1, 8
+ lsls r1, 24
+ lsrs r1, 24
+ ldrh r2, [r3]
+ subs r2, r1
+ strh r2, [r3]
+ bl sub_8091274
+_08017ACE:
+ adds r5, 0x1
+ cmp r5, 0xEF
+ ble _08017A44
+ bl sub_80910B4
+ bl sub_801CF94
+ movs r0, 0x1D
+ bl UpdateKangaskhanStorageState
+ b _08017AEE
+ .align 2, 0
+_08017AE4: .4byte gUnknown_203B460
+_08017AE8:
+ movs r0, 0x17
+ bl UpdateKangaskhanStorageState
+_08017AEE:
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8017A1C
+
+ thumb_func_start sub_8017AF8
+sub_8017AF8:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x3
+ beq _08017B14
+ cmp r0, 0x3
+ bhi _08017B0E
+ cmp r0, 0x2
+ beq _08017B78
+ b _08017B82
+_08017B0E:
+ cmp r0, 0x4
+ beq _08017B50
+ b _08017B82
+_08017B14:
+ bl sub_801AEA8
+ cmp r0, 0
+ beq _08017B2A
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x12
+ bl UpdateKangaskhanStorageState
+ b _08017B82
+_08017B2A:
+ bl sub_801A8AC
+ ldr r1, _08017B48
+ ldr r2, [r1]
+ str r0, [r2, 0x10]
+ ldr r1, _08017B4C
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0xC]
+ movs r0, 0xF
+ bl UpdateKangaskhanStorageState
+ b _08017B82
+ .align 2, 0
+_08017B48: .4byte gUnknown_203B208
+_08017B4C: .4byte gUnknown_203B460
+_08017B50:
+ bl sub_801A8AC
+ ldr r1, _08017B70
+ ldr r2, [r1]
+ str r0, [r2, 0x10]
+ ldr r1, _08017B74
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0xC]
+ movs r0, 0x10
+ bl UpdateKangaskhanStorageState
+ b _08017B82
+ .align 2, 0
+_08017B70: .4byte gUnknown_203B208
+_08017B74: .4byte gUnknown_203B460
+_08017B78:
+ bl sub_801A928
+ movs r0, 0x1
+ bl UpdateKangaskhanStorageState
+_08017B82:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8017AF8
+
+ thumb_func_start sub_8017B88
+sub_8017B88:
+ push {r4,lr}
+ movs r0, 0x1
+ bl sub_801CA08
+ cmp r0, 0x2
+ beq _08017C10
+ cmp r0, 0x2
+ bhi _08017B9E
+ cmp r0, 0x1
+ beq _08017C1C
+ b _08017C22
+_08017B9E:
+ cmp r0, 0x3
+ beq _08017BA8
+ cmp r0, 0x4
+ beq _08017BE4
+ b _08017C22
+_08017BA8:
+ bl sub_801CFB8
+ cmp r0, 0
+ beq _08017BB8
+ movs r0, 0x1C
+ bl UpdateKangaskhanStorageState
+ b _08017C22
+_08017BB8:
+ bl sub_801CB24
+ ldr r4, _08017BE0
+ ldr r1, [r4]
+ strb r0, [r1, 0x14]
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xC
+ ldrb r1, [r1, 0x14]
+ movs r2, 0
+ bl sub_8090A8C
+ ldr r1, [r4]
+ movs r0, 0x1
+ strb r0, [r1, 0xD]
+ movs r0, 0x19
+ bl UpdateKangaskhanStorageState
+ b _08017C22
+ .align 2, 0
+_08017BE0: .4byte gUnknown_203B208
+_08017BE4:
+ bl sub_801CB24
+ ldr r4, _08017C0C
+ ldr r1, [r4]
+ strb r0, [r1, 0x14]
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xC
+ ldrb r1, [r1, 0x14]
+ movs r2, 0
+ bl sub_8090A8C
+ ldr r1, [r4]
+ movs r0, 0x1
+ strb r0, [r1, 0xD]
+ movs r0, 0x1A
+ bl UpdateKangaskhanStorageState
+ b _08017C22
+ .align 2, 0
+_08017C0C: .4byte gUnknown_203B208
+_08017C10:
+ bl sub_801CBB8
+ movs r0, 0x1
+ bl UpdateKangaskhanStorageState
+ b _08017C22
+_08017C1C:
+ movs r0, 0
+ bl sub_801AD34
+_08017C22:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8017B88
+
+ thumb_func_start sub_8017C28
+sub_8017C28:
+ push {r4,lr}
+ movs r0, 0
+ bl sub_801CA08
+ ldr r4, _08017C54
+ ldr r0, [r4]
+ adds r0, 0x58
+ bl sub_8012FD8
+ ldr r0, [r4]
+ adds r0, 0xA8
+ bl sub_8013BBC
+ cmp r0, 0x1
+ beq _08017C58
+ cmp r0, 0x1
+ bcc _08017C76
+ cmp r0, 0x2
+ beq _08017C70
+ cmp r0, 0x3
+ beq _08017C5E
+ b _08017C76
+ .align 2, 0
+_08017C54: .4byte gUnknown_203B208
+_08017C58:
+ bl sub_8017598
+ b _08017C76
+_08017C5E:
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0xA8
+ ldr r1, [r1]
+ strb r1, [r0, 0xD]
+ movs r0, 0x1B
+ bl UpdateKangaskhanStorageState
+ b _08017C76
+_08017C70:
+ movs r0, 0x17
+ bl UpdateKangaskhanStorageState
+_08017C76:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8017C28
+
+ thumb_func_start sub_8017C7C
+sub_8017C7C:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _08017CBC
+ ldr r0, [r4]
+ adds r0, 0x58
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08017CAC
+ ldr r0, [r4]
+ adds r0, 0x58
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08017CAC
+ ldr r0, [r4]
+ str r1, [r0, 0x1C]
+_08017CAC:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08017CC6
+ cmp r0, 0x2
+ bgt _08017CC0
+ cmp r0, 0x1
+ beq _08017D14
+ b _08017D1A
+ .align 2, 0
+_08017CBC: .4byte gUnknown_203B208
+_08017CC0:
+ cmp r0, 0x6
+ beq _08017D06
+ b _08017D1A
+_08017CC6:
+ movs r0, 0
+ bl sub_8099690
+ ldr r4, _08017CE4
+ ldr r0, [r4]
+ ldrb r0, [r0, 0xE]
+ bl sub_8091524
+ lsls r0, 24
+ cmp r0, 0
+ bne _08017CE8
+ movs r0, 0x9
+ bl UpdateKangaskhanStorageState
+ b _08017D1A
+ .align 2, 0
+_08017CE4: .4byte gUnknown_203B208
+_08017CE8:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x10]
+ bl sub_801ADA0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08017CFE
+ movs r0, 0xA
+ bl UpdateKangaskhanStorageState
+ b _08017D1A
+_08017CFE:
+ movs r0, 0x11
+ bl UpdateKangaskhanStorageState
+ b _08017D1A
+_08017D06:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0x10
+ bl UpdateKangaskhanStorageState
+ b _08017D1A
+_08017D14:
+ movs r0, 0xE
+ bl UpdateKangaskhanStorageState
+_08017D1A:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8017C7C
+
+ thumb_func_start sub_8017D24
+sub_8017D24:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801CA08
+ ldr r4, _08017D64
+ ldr r0, [r4]
+ adds r0, 0x58
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08017D54
+ ldr r0, [r4]
+ adds r0, 0x58
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _08017D54
+ ldr r0, [r4]
+ str r1, [r0, 0x20]
+_08017D54:
+ ldr r0, [sp]
+ cmp r0, 0x3
+ beq _08017D6E
+ cmp r0, 0x3
+ bgt _08017D68
+ cmp r0, 0x1
+ beq _08017DB0
+ b _08017DB6
+ .align 2, 0
+_08017D64: .4byte gUnknown_203B208
+_08017D68:
+ cmp r0, 0x6
+ beq _08017DA8
+ b _08017DB6
+_08017D6E:
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _08017D82
+ bl sub_801CBB8
+ movs r0, 0x6
+ bl UpdateKangaskhanStorageState
+ b _08017DB6
+_08017D82:
+ ldr r0, _08017D9C
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xE]
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ beq _08017DA0
+ movs r0, 0x18
+ bl UpdateKangaskhanStorageState
+ b _08017DB6
+ .align 2, 0
+_08017D9C: .4byte gUnknown_203B208
+_08017DA0:
+ movs r0, 0x1B
+ bl UpdateKangaskhanStorageState
+ b _08017DB6
+_08017DA8:
+ movs r0, 0x1A
+ bl UpdateKangaskhanStorageState
+ b _08017DB6
+_08017DB0:
+ movs r0, 0x17
+ bl UpdateKangaskhanStorageState
+_08017DB6:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8017D24
+
+ thumb_func_start sub_8017DC0
+sub_8017DC0:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _08017DD8
+ cmp r0, 0x3
+ bhi _08017DD8
+ bl sub_801B450
+ movs r0, 0xE
+ bl UpdateKangaskhanStorageState
+_08017DD8:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8017DC0
+
+ thumb_func_start sub_8017DDC
+sub_8017DDC:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _08017DF4
+ cmp r0, 0x3
+ bhi _08017DF4
+ bl sub_801B450
+ movs r0, 0x17
+ bl UpdateKangaskhanStorageState
+_08017DF4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8017DDC
+
+ thumb_func_start sub_8017DF8
+sub_8017DF8:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08017E10
+ ldr r0, _08017E18
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ bl UpdateKangaskhanStorageState
+_08017E10:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_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/kecleon_items.s b/asm/kecleon_items.s
new file mode 100644
index 0000000..e703eba
--- /dev/null
+++ b/asm/kecleon_items.s
@@ -0,0 +1,1530 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8018E88
+sub_8018E88:
+ push {r4,lr}
+ sub sp, 0x14
+ ldr r1, _08018EA4
+ ldr r0, [r1]
+ ldr r0, [r0, 0x8]
+ adds r4, r1, 0
+ cmp r0, 0x20
+ bls _08018E9A
+ b _080194E8
+_08018E9A:
+ lsls r0, 2
+ ldr r1, _08018EA8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08018EA4: .4byte gUnknown_203B210
+_08018EA8: .4byte _08018EAC
+ .align 2, 0
+_08018EAC:
+ .4byte _08018F30
+ .4byte _08018F58
+ .4byte _08018FA8
+ .4byte _08018FD0
+ .4byte _080194E8
+ .4byte _08018FFC
+ .4byte _08019024
+ .4byte _0801904C
+ .4byte _08019070
+ .4byte _08019094
+ .4byte _080190B8
+ .4byte _080190DC
+ .4byte _08019104
+ .4byte _0801912C
+ .4byte _08019164
+ .4byte _0801918C
+ .4byte _080191B4
+ .4byte _08019294
+ .4byte _080191DC
+ .4byte _080191FA
+ .4byte _08019218
+ .4byte _080193F4
+ .4byte _08019254
+ .4byte _08019314
+ .4byte _0801933C
+ .4byte _080193FE
+ .4byte _08019364
+ .4byte _08019372
+ .4byte _08019380
+ .4byte _080193F4
+ .4byte _080193B4
+ .4byte _0801946C
+ .4byte _080194C0
+_08018F30:
+ bl sub_8019DAC
+ bl sub_80194F8
+ movs r0, 0
+ bl sub_8019E04
+ ldr r2, _08018F50
+ ldr r0, _08018F54
+ ldr r4, [r0]
+ ldr r1, [r4]
+ movs r0, 0x5C
+ muls r0, r1
+ adds r0, r2
+ b _08018F76
+ .align 2, 0
+_08018F50: .4byte gKecleonShopDialogue
+_08018F54: .4byte gUnknown_203B210
+_08018F58:
+ bl sub_8019DAC
+ bl sub_80194F8
+ movs r0, 0
+ bl sub_8019E04
+ ldr r1, _08018FA0
+ ldr r0, _08018FA4
+ ldr r4, [r0]
+ ldr r2, [r4]
+ movs r0, 0x5C
+ muls r0, r2
+ adds r1, 0x4
+ adds r0, r1
+_08018F76:
+ ldr r0, [r0]
+ ldr r2, [r4, 0x28]
+ adds r3, r4, 0
+ adds r3, 0x34
+ adds r1, r4, 0
+ adds r1, 0x74
+ str r1, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ adds r1, r4, 0
+ adds r1, 0xE4
+ ldr r1, [r1]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ bl sub_8014248
+ b _080194E8
+ .align 2, 0
+_08018FA0: .4byte gKecleonShopDialogue
+_08018FA4: .4byte gUnknown_203B210
+_08018FA8:
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1, 0xC]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r1, _08018FCC
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x58
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_08018FCC: .4byte gKecleonShopDialogue
+_08018FD0:
+ ldr r1, [r4]
+ movs r0, 0x4
+ str r0, [r1, 0xC]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r1, _08018FF4
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x8
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ ldr r3, _08018FF8
+ b _08019456
+ .align 2, 0
+_08018FF4: .4byte gKecleonShopDialogue
+_08018FF8: .4byte 0x0000030d
+_08018FFC:
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1, 0xC]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r1, _08019020
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x30
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_08019020: .4byte gKecleonShopDialogue
+_08019024:
+ ldr r1, [r4]
+ movs r0, 0x10
+ str r0, [r1, 0xC]
+ movs r0, 0x1
+ bl sub_8019E04
+ ldr r1, _08019048
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x34
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_08019048: .4byte gKecleonShopDialogue
+_0801904C:
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1, 0xC]
+ bl sub_8019E04
+ ldr r1, _0801906C
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x38
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_0801906C: .4byte gKecleonShopDialogue
+_08019070:
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1, 0xC]
+ bl sub_8019E04
+ ldr r1, _08019090
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x3C
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_08019090: .4byte gKecleonShopDialogue
+_08019094:
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1, 0xC]
+ bl sub_8019E04
+ ldr r1, _080190B4
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x40
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_080190B4: .4byte gKecleonShopDialogue
+_080190B8:
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1, 0xC]
+ bl sub_8019E04
+ ldr r1, _080190D8
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x44
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_080190D8: .4byte gKecleonShopDialogue
+_080190DC:
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1, 0xC]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r1, _08019100
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x48
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_08019100: .4byte gKecleonShopDialogue
+_08019104:
+ ldr r1, [r4]
+ movs r0, 0x10
+ str r0, [r1, 0xC]
+ movs r0, 0x1
+ bl sub_8019E04
+ ldr r1, _08019128
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x4C
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_08019128: .4byte gKecleonShopDialogue
+_0801912C:
+ ldr r0, _0801915C
+ ldr r1, [r4]
+ adds r1, 0x1C
+ movs r2, 0
+ bl sub_8090E14
+ ldr r1, [r4]
+ movs r0, 0x18
+ str r0, [r1, 0xC]
+ movs r0, 0x1
+ bl sub_8019E04
+ ldr r1, _08019160
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x50
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_0801915C: .4byte gUnknown_202DE58
+_08019160: .4byte gKecleonShopDialogue
+_08019164:
+ ldr r1, [r4]
+ movs r0, 0x18
+ str r0, [r1, 0xC]
+ movs r0, 0x1
+ bl sub_8019E04
+ ldr r1, _08019188
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x54
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_08019188: .4byte gKecleonShopDialogue
+_0801918C:
+ ldr r1, [r4]
+ movs r0, 0x12
+ str r0, [r1, 0xC]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r1, _080191B0
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0xC
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_080191B0: .4byte gKecleonShopDialogue
+_080191B4:
+ ldr r1, [r4]
+ movs r0, 0x13
+ str r0, [r1, 0xC]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r1, _080191D8
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x10
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_080191D8: .4byte gKecleonShopDialogue
+_080191DC:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _080191EC
+ movs r0, 0x3
+ bl sub_8019E40
+ b _080191F2
+_080191EC:
+ movs r0, 0x3
+ bl sub_801A20C
+_080191F2:
+ movs r0, 0
+ bl sub_801AD34
+ b _08019378
+_080191FA:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _0801920A
+ movs r0, 0x1
+ bl sub_8019FCC
+ b _08019210
+_0801920A:
+ movs r0, 0x1
+ bl sub_801A398
+_08019210:
+ movs r0, 0
+ bl sub_801AD34
+ b _08019378
+_08019218:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _08019226
+ bl sub_801A0D8
+ b _0801922A
+_08019226:
+ bl sub_801A4A4
+_0801922A:
+ movs r0, 0
+ bl sub_801AD34
+ movs r0, 0x1
+ bl sub_8016C40
+ bl sub_80195C0
+ ldr r0, _08019250
+ 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]
+ b _080193A0
+ .align 2, 0
+_08019250: .4byte gUnknown_203B210
+_08019254:
+ bl sub_8019700
+ ldr r0, _08019284
+ ldr r4, _08019288
+ ldr r1, [r4]
+ adds r1, 0x1C
+ movs r2, 0
+ bl sub_8090E14
+ ldr r1, _0801928C
+ ldr r0, [r4]
+ ldr r0, [r0, 0x10]
+ str r0, [r1]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r1, _08019290
+ ldr r4, [r4]
+ ldr r2, [r4]
+ movs r0, 0x5C
+ muls r0, r2
+ adds r1, 0x14
+ b _0801948C
+ .align 2, 0
+_08019284: .4byte gUnknown_202DE58
+_08019288: .4byte gUnknown_203B210
+_0801928C: .4byte gUnknown_202DE30
+_08019290: .4byte gKecleonShopDialogue
+_08019294:
+ bl sub_8019D8C
+ cmp r0, 0
+ bne _080192C0
+ ldr r0, _080192AC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _080192B0
+ bl sub_801A010
+ b _080192B4
+ .align 2, 0
+_080192AC: .4byte gUnknown_203B210
+_080192B0:
+ bl sub_801A3DC
+_080192B4:
+ ldr r0, _080192BC
+ ldr r1, [r0]
+ movs r0, 0xB
+ b _080192F2
+ .align 2, 0
+_080192BC: .4byte gUnknown_203B210
+_080192C0:
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _080192EC
+ ldr r0, _080192D8
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _080192DC
+ bl sub_801A010
+ b _080192E0
+ .align 2, 0
+_080192D8: .4byte gUnknown_203B210
+_080192DC:
+ bl sub_801A3DC
+_080192E0:
+ ldr r0, _080192E8
+ ldr r1, [r0]
+ movs r0, 0x1
+ b _080192F2
+ .align 2, 0
+_080192E8: .4byte gUnknown_203B210
+_080192EC:
+ ldr r0, _0801930C
+ ldr r1, [r0]
+ movs r0, 0x10
+_080192F2:
+ str r0, [r1, 0xC]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r2, _08019310
+ ldr r0, _0801930C
+ ldr r1, [r0]
+ ldr r3, [r1]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r2, 0x18
+ b _0801944C
+ .align 2, 0
+_0801930C: .4byte gUnknown_203B210
+_08019310: .4byte gKecleonShopDialogue
+_08019314:
+ ldr r1, [r4]
+ movs r0, 0x1A
+ str r0, [r1, 0xC]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r1, _08019338
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_08019338: .4byte gKecleonShopDialogue
+_0801933C:
+ ldr r1, [r4]
+ movs r0, 0x1B
+ str r0, [r1, 0xC]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r1, _08019360
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x20
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ b _08019454
+ .align 2, 0
+_08019360: .4byte gKecleonShopDialogue
+_08019364:
+ movs r0, 0x4
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _08019378
+_08019372:
+ movs r0, 0x1
+ bl sub_801A8D0
+_08019378:
+ movs r0, 0x1
+ bl sub_8016C40
+ b _080194E8
+_08019380:
+ bl sub_801A9E0
+ movs r0, 0x1
+ bl sub_8016C40
+ bl sub_8019660
+ ldr r0, _080193B0
+ 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, 0x2C]
+_080193A0:
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _080194E8
+ .align 2, 0
+_080193B0: .4byte gUnknown_203B210
+_080193B4:
+ bl sub_8019700
+ ldr r0, _080193E4
+ ldr r4, _080193E8
+ ldr r1, [r4]
+ adds r1, 0x1C
+ movs r2, 0
+ bl sub_8090E14
+ ldr r1, _080193EC
+ ldr r0, [r4]
+ ldr r0, [r0, 0x10]
+ str r0, [r1]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r1, _080193F0
+ ldr r4, [r4]
+ ldr r2, [r4]
+ movs r0, 0x5C
+ muls r0, r2
+ adds r1, 0x24
+ b _0801948C
+ .align 2, 0
+_080193E4: .4byte gUnknown_202DE58
+_080193E8: .4byte gUnknown_203B210
+_080193EC: .4byte gUnknown_202DE30
+_080193F0: .4byte gKecleonShopDialogue
+_080193F4:
+ ldr r0, [r4]
+ adds r0, 0x1C
+ bl sub_801B3C0
+ b _080194E8
+_080193FE:
+ bl sub_8090A34
+ cmp r0, 0
+ beq _08019418
+ ldr r0, _08019424
+ ldr r0, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r1
+ ldr r1, [r0]
+ ldr r0, _08019428
+ cmp r1, r0
+ ble _08019430
+_08019418:
+ bl sub_801A928
+ ldr r0, _0801942C
+ ldr r1, [r0]
+ movs r0, 0x1
+ b _08019436
+ .align 2, 0
+_08019424: .4byte gUnknown_203B460
+_08019428: .4byte 0x0001869e
+_0801942C: .4byte gUnknown_203B210
+_08019430:
+ ldr r0, _08019460
+ ldr r1, [r0]
+ movs r0, 0x18
+_08019436:
+ str r0, [r1, 0xC]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r2, _08019464
+ ldr r0, _08019460
+ ldr r1, [r0]
+ ldr r3, [r1]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r2, 0x2C
+_0801944C:
+ adds r0, r2
+ ldr r0, [r0]
+ adds r1, 0xE4
+ ldr r2, [r1]
+_08019454:
+ ldr r3, _08019468
+_08019456:
+ movs r1, 0
+ bl sub_80141B4
+ b _080194E8
+ .align 2, 0
+_08019460: .4byte gUnknown_203B210
+_08019464: .4byte gKecleonShopDialogue
+_08019468: .4byte 0x0000010d
+_0801946C:
+ bl sub_8019700
+ ldr r1, _080194B4
+ ldr r4, _080194B8
+ ldr r0, [r4]
+ ldr r0, [r0, 0x18]
+ str r0, [r1]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r1, _080194BC
+ ldr r4, [r4]
+ ldr r2, [r4]
+ movs r0, 0x5C
+ muls r0, r2
+ adds r1, 0x28
+_0801948C:
+ adds r0, r1
+ ldr r0, [r0]
+ adds r3, r4, 0
+ adds r3, 0x34
+ movs r2, 0
+ str r2, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ adds r4, 0xE4
+ ldr r1, [r4]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x5
+ bl sub_8014248
+ b _080194E8
+ .align 2, 0
+_080194B4: .4byte gUnknown_202DE30
+_080194B8: .4byte gUnknown_203B210
+_080194BC: .4byte gKecleonShopDialogue
+_080194C0:
+ ldr r1, [r4]
+ movs r0, 0x1
+ str r0, [r1, 0xC]
+ movs r0, 0
+ bl sub_8019E04
+ ldr r1, _080194F0
+ ldr r2, [r4]
+ ldr r3, [r2]
+ movs r0, 0x5C
+ muls r0, r3
+ adds r1, 0x2C
+ adds r0, r1
+ ldr r0, [r0]
+ adds r2, 0xE4
+ ldr r2, [r2]
+ ldr r3, _080194F4
+ movs r1, 0
+ bl sub_80141B4
+_080194E8:
+ add sp, 0x14
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080194F0: .4byte gKecleonShopDialogue
+_080194F4: .4byte 0x0000010d
+ thumb_func_end sub_8018E88
+
+ thumb_func_start sub_80194F8
+sub_80194F8:
+ push {r4-r7,lr}
+ ldr r4, _08019580
+ ldr r0, [r4]
+ adds r0, 0x74
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08019584
+ ldr r0, [r0]
+ str r0, [r3, 0x34]
+ movs r0, 0x2
+ str r0, [r3, 0x38]
+ movs r1, 0x1
+ ldr r0, _08019588
+ ldr r0, [r0]
+ str r0, [r3, 0x3C]
+ movs r0, 0x3
+ str r0, [r3, 0x40]
+ ldr r0, _0801958C
+ str r0, [r3, 0x44]
+ movs r0, 0x4
+ str r0, [r3, 0x48]
+ ldr r0, _08019590
+ ldr r0, [r0]
+ str r0, [r3, 0x4C]
+ movs r0, 0x7
+ str r0, [r3, 0x50]
+ ldr r0, _08019594
+ ldr r0, [r0]
+ str r0, [r3, 0x54]
+ str r1, [r3, 0x58]
+ movs r6, 0x5
+ str r2, [r3, 0x5C]
+ str r1, [r3, 0x60]
+ movs r5, 0
+ mov r12, r3
+ adds r3, 0x38
+ mov r2, r12
+ adds r2, 0x74
+_0801954C:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _0801955C
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x28]
+ cmp r1, r0
+ beq _080195BA
+_0801955C:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _0801954C
+ movs r5, 0
+ cmp r5, r6
+ bge _080195BA
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x74
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08019598
+ ldr r0, [r1, 0x38]
+ str r0, [r1, 0x28]
+ b _080195BA
+ .align 2, 0
+_08019580: .4byte gUnknown_203B210
+_08019584: .4byte gUnknown_80D4978
+_08019588: .4byte gUnknown_80D4984
+_0801958C: .4byte gUnknown_80DB8A0
+_08019590: .4byte gUnknown_80D4970
+_08019594: .4byte gUnknown_80D4934
+_08019598:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _080195BA
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0x74
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08019598
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x38
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x28]
+_080195BA:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80194F8
+
+ thumb_func_start sub_80195C0
+sub_80195C0:
+ push {r4-r7,lr}
+ ldr r4, _0801962C
+ ldr r0, [r4]
+ adds r0, 0x74
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _08019630
+ ldr r0, [r0]
+ str r0, [r3, 0x34]
+ movs r0, 0x2
+ str r0, [r3, 0x38]
+ movs r1, 0x1
+ ldr r0, _08019634
+ ldr r0, [r0]
+ str r0, [r3, 0x3C]
+ movs r0, 0x7
+ 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
+_080195FA:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _0801960A
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x30]
+ cmp r1, r0
+ beq _0801965A
+_0801960A:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _080195FA
+ movs r5, 0
+ cmp r5, r6
+ bge _0801965A
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x74
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _08019638
+ ldr r0, [r1, 0x38]
+ str r0, [r1, 0x30]
+ b _0801965A
+ .align 2, 0
+_0801962C: .4byte gUnknown_203B210
+_08019630: .4byte gUnknown_80D4978
+_08019634: .4byte gUnknown_80D4970
+_08019638:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _0801965A
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0x74
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _08019638
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x38
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x30]
+_0801965A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80195C0
+
+ thumb_func_start sub_8019660
+sub_8019660:
+ push {r4-r7,lr}
+ ldr r4, _080196CC
+ ldr r0, [r4]
+ adds r0, 0x74
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r3, [r4]
+ movs r2, 0
+ ldr r0, _080196D0
+ ldr r0, [r0]
+ str r0, [r3, 0x34]
+ movs r0, 0x3
+ str r0, [r3, 0x38]
+ movs r1, 0x1
+ ldr r0, _080196D4
+ ldr r0, [r0]
+ str r0, [r3, 0x3C]
+ movs r0, 0x7
+ 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
+_0801969A:
+ ldrh r0, [r2]
+ cmp r0, 0
+ bne _080196AA
+ ldr r1, [r3]
+ mov r7, r12
+ ldr r0, [r7, 0x2C]
+ cmp r1, r0
+ beq _080196FA
+_080196AA:
+ adds r3, 0x8
+ adds r2, 0x2
+ adds r5, 0x1
+ cmp r5, r6
+ blt _0801969A
+ movs r5, 0
+ cmp r5, r6
+ bge _080196FA
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x74
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _080196D8
+ ldr r0, [r1, 0x38]
+ str r0, [r1, 0x2C]
+ b _080196FA
+ .align 2, 0
+_080196CC: .4byte gUnknown_203B210
+_080196D0: .4byte gUnknown_80D4984
+_080196D4: .4byte gUnknown_80D4970
+_080196D8:
+ adds r5, 0x1
+ cmp r5, r6
+ bge _080196FA
+ ldr r2, [r4]
+ lsls r0, r5, 1
+ adds r1, r2, 0
+ adds r1, 0x74
+ adds r1, r0
+ ldrh r0, [r1]
+ cmp r0, 0
+ bne _080196D8
+ lsls r0, r5, 3
+ adds r1, r2, 0
+ adds r1, 0x38
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x2C]
+_080196FA:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8019660
+
+ thumb_func_start sub_8019700
+sub_8019700:
+ ldr r0, _08019724
+ ldr r1, [r0]
+ movs r3, 0
+ ldr r0, _08019728
+ ldr r0, [r0]
+ str r0, [r1, 0x34]
+ movs r0, 0x5
+ str r0, [r1, 0x38]
+ movs r2, 0x1
+ ldr r0, _0801972C
+ ldr r0, [r0]
+ str r0, [r1, 0x3C]
+ movs r0, 0x6
+ str r0, [r1, 0x40]
+ str r3, [r1, 0x44]
+ str r2, [r1, 0x48]
+ bx lr
+ .align 2, 0
+_08019724: .4byte gUnknown_203B210
+_08019728: .4byte gUnknown_80D4920
+_0801972C: .4byte gUnknown_80D4928
+ thumb_func_end sub_8019700
+
+ thumb_func_start sub_8019730
+sub_8019730:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ beq _08019740
+ b _0801984A
+_08019740:
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _0801974C
+ ldr r0, _08019760
+ ldr r0, [r0]
+ str r1, [r0, 0x28]
+_0801974C:
+ ldr r0, [sp]
+ subs r0, 0x1
+ cmp r0, 0x6
+ bls _08019756
+ b _0801984A
+_08019756:
+ lsls r0, 2
+ ldr r1, _08019764
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08019760: .4byte gUnknown_203B210
+_08019764: .4byte _08019768
+ .align 2, 0
+_08019768:
+ .4byte _08019844
+ .4byte _08019784
+ .4byte _080197AC
+ .4byte _080197E4
+ .4byte _0801984A
+ .4byte _0801984A
+ .4byte _0801983C
+_08019784:
+ bl sub_8019D8C
+ cmp r0, 0
+ bne _08019794
+ movs r0, 0x5
+ bl UpdateKecleonStoreState
+ b _0801984A
+_08019794:
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _080197A4
+ movs r0, 0xA
+ bl UpdateKecleonStoreState
+ b _0801984A
+_080197A4:
+ movs r0, 0xF
+ bl UpdateKecleonStoreState
+ b _0801984A
+_080197AC:
+ bl sub_8090A34
+ cmp r0, 0
+ beq _080197EC
+ ldr r0, _080197D8
+ ldr r0, [r0]
+ ldr r0, [r0, 0x14]
+ cmp r0, 0
+ beq _080197FE
+ ldr r0, _080197DC
+ ldr r0, [r0]
+ movs r1, 0x98
+ lsls r1, 2
+ adds r0, r1
+ ldr r1, [r0]
+ ldr r0, _080197E0
+ cmp r1, r0
+ bgt _08019822
+ movs r0, 0x17
+ bl UpdateKecleonStoreState
+ b _0801984A
+ .align 2, 0
+_080197D8: .4byte gUnknown_203B210
+_080197DC: .4byte gUnknown_203B460
+_080197E0: .4byte 0x0001869e
+_080197E4:
+ bl sub_8090A34
+ cmp r0, 0
+ bne _080197F4
+_080197EC:
+ movs r0, 0x9
+ bl UpdateKecleonStoreState
+ b _0801984A
+_080197F4:
+ ldr r0, _08019808
+ ldr r1, [r0]
+ ldr r0, [r1, 0x14]
+ cmp r0, 0
+ bne _0801980C
+_080197FE:
+ movs r0, 0x8
+ bl UpdateKecleonStoreState
+ b _0801984A
+ .align 2, 0
+_08019808: .4byte gUnknown_203B210
+_0801980C:
+ ldr r0, _0801982C
+ ldr r0, [r0]
+ movs r2, 0x98
+ lsls r2, 2
+ adds r0, r2
+ ldr r1, [r1, 0x18]
+ ldr r0, [r0]
+ adds r1, r0
+ ldr r0, _08019830
+ cmp r1, r0
+ ble _08019834
+_08019822:
+ movs r0, 0x7
+ bl UpdateKecleonStoreState
+ b _0801984A
+ .align 2, 0
+_0801982C: .4byte gUnknown_203B460
+_08019830: .4byte 0x0001869f
+_08019834:
+ movs r0, 0x1F
+ bl UpdateKecleonStoreState
+ b _0801984A
+_0801983C:
+ movs r0, 0x2
+ bl UpdateKecleonStoreState
+ b _0801984A
+_08019844:
+ movs r0, 0x3
+ bl UpdateKecleonStoreState
+_0801984A:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8019730
+
+ thumb_func_start sub_8019850
+sub_8019850:
+ push {r4,lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _080198DE
+ ldr r0, [sp]
+ cmp r0, 0x5
+ beq _08019874
+ cmp r0, 0x5
+ bgt _0801986E
+ cmp r0, 0x1
+ beq _080198D8
+ b _080198DE
+_0801986E:
+ cmp r0, 0x6
+ beq _080198D8
+ b _080198DE
+_08019874:
+ ldr r4, _080198A8
+ ldr r0, [r4]
+ ldr r0, [r0, 0x10]
+ negs r0, r0
+ bl sub_80913A0
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0
+ beq _080198AC
+ adds r0, r1, 0
+ adds r0, 0x20
+ ldrb r0, [r0]
+ bl sub_809185C
+ bl sub_8091274
+ ldr r0, [r4]
+ adds r0, 0x20
+ ldrb r0, [r0]
+ bl sub_8091840
+ bl sub_8091874
+ b _080198C8
+ .align 2, 0
+_080198A8: .4byte gUnknown_203B210
+_080198AC:
+ adds r0, r1, 0
+ adds r0, 0x21
+ ldrb r0, [r0]
+ bl sub_8091A90
+ bl sub_8091274
+ ldr r0, [r4]
+ adds r0, 0x21
+ ldrb r0, [r0]
+ bl sub_8091A74
+ bl sub_8091AA8
+_080198C8:
+ movs r0, 0xA6
+ lsls r0, 1
+ bl PlaySound
+ movs r0, 0x11
+ bl UpdateKecleonStoreState
+ b _080198DE
+_080198D8:
+ movs r0, 0x10
+ bl UpdateKecleonStoreState
+_080198DE:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8019850
+
+ thumb_func_start sub_80198E8
+sub_80198E8:
+ push {r4,lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801993A
+ ldr r0, [sp]
+ cmp r0, 0x5
+ beq _0801990C
+ cmp r0, 0x5
+ bgt _08019906
+ cmp r0, 0x1
+ beq _08019934
+ b _0801993A
+_08019906:
+ cmp r0, 0x6
+ beq _08019934
+ b _0801993A
+_0801990C:
+ ldr r4, _08019930
+ ldr r0, [r4]
+ ldr r0, [r0, 0x10]
+ bl sub_80913A0
+ ldr r0, [r4]
+ ldr r0, [r0, 0x24]
+ bl sub_80911F8
+ movs r0, 0xA6
+ lsls r0, 1
+ bl PlaySound
+ movs r0, 0x19
+ bl UpdateKecleonStoreState
+ b _0801993A
+ .align 2, 0
+_08019930: .4byte gUnknown_203B210
+_08019934:
+ movs r0, 0x18
+ bl UpdateKecleonStoreState
+_0801993A:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80198E8
+
+ thumb_func_start sub_8019944
+sub_8019944:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _080199C2
+ ldr r0, [sp]
+ cmp r0, 0x5
+ beq _08019968
+ cmp r0, 0x5
+ bgt _08019962
+ cmp r0, 0x1
+ beq _080199BC
+ b _080199C2
+_08019962:
+ cmp r0, 0x6
+ beq _080199BC
+ b _080199C2
+_08019968:
+ movs r4, 0
+ ldr r5, _080199B4
+_0801996C:
+ lsls r1, r4, 2
+ ldr r0, [r5]
+ adds r2, r0, r1
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0801998E
+ ldrb r0, [r2, 0x2]
+ bl sub_80914E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801998E
+ adds r0, r4, 0
+ bl sub_8091234
+_0801998E:
+ adds r4, 0x1
+ cmp r4, 0x13
+ ble _0801996C
+ bl sub_80910B4
+ ldr r0, _080199B8
+ ldr r0, [r0]
+ ldr r0, [r0, 0x18]
+ bl sub_80913A0
+ movs r0, 0xA6
+ lsls r0, 1
+ bl PlaySound
+ movs r0, 0x20
+ bl UpdateKecleonStoreState
+ b _080199C2
+ .align 2, 0
+_080199B4: .4byte gUnknown_203B460
+_080199B8: .4byte gUnknown_203B210
+_080199BC:
+ movs r0, 0x1
+ bl UpdateKecleonStoreState
+_080199C2:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8019944
+
+ thumb_func_start sub_80199CC
+sub_80199CC:
+ push {r4,r5,lr}
+ ldr r0, _080199E0
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _080199E4
+ movs r0, 0x1
+ bl sub_8019EDC
+ b _080199EA
+ .align 2, 0
+_080199E0: .4byte gUnknown_203B210
+_080199E4:
+ movs r0, 0x1
+ bl sub_801A2A8
+_080199EA:
+ cmp r0, 0x2
+ beq _08019AD4
+ cmp r0, 0x2
+ bhi _080199FA
+ cmp r0, 0x1
+ bne _080199F8
+ b _08019AF4
+_080199F8:
+ b _08019B00
+_080199FA:
+ cmp r0, 0x3
+ beq _08019A04
+ cmp r0, 0x4
+ beq _08019A6C
+ b _08019B00
+_08019A04:
+ ldr r4, _08019A24
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _08019A28
+ bl sub_8019FB0
+ ldr r1, [r4]
+ adds r1, 0x20
+ strb r0, [r1]
+ ldr r0, [r4]
+ adds r0, 0x20
+ ldrb r0, [r0]
+ bl sub_809185C
+ b _08019A3C
+ .align 2, 0
+_08019A24: .4byte gUnknown_203B210
+_08019A28:
+ bl sub_801A37C
+ ldr r1, [r4]
+ adds r1, 0x21
+ strb r0, [r1]
+ ldr r0, [r4]
+ adds r0, 0x21
+ ldrb r0, [r0]
+ bl sub_8091A90
+_08019A3C:
+ adds r5, r0, 0
+ ldr r4, _08019A68
+ ldr r0, [r4]
+ adds r0, 0x1C
+ ldrb r1, [r5]
+ movs r2, 0
+ bl sub_8090A8C
+ ldr r1, [r4]
+ ldrb r0, [r5, 0x1]
+ strb r0, [r1, 0x1D]
+ ldr r0, [r4]
+ adds r0, 0x1C
+ bl sub_8090C7C
+ ldr r1, [r4]
+ str r0, [r1, 0x10]
+ movs r0, 0x14
+ bl UpdateKecleonStoreState
+ b _08019B00
+ .align 2, 0
+_08019A68: .4byte gUnknown_203B210
+_08019A6C:
+ ldr r4, _08019A8C
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _08019A90
+ bl sub_8019FB0
+ ldr r1, [r4]
+ adds r1, 0x20
+ strb r0, [r1]
+ ldr r0, [r4]
+ adds r0, 0x20
+ ldrb r0, [r0]
+ bl sub_809185C
+ b _08019AA4
+ .align 2, 0
+_08019A8C: .4byte gUnknown_203B210
+_08019A90:
+ bl sub_801A37C
+ ldr r1, [r4]
+ adds r1, 0x21
+ strb r0, [r1]
+ ldr r0, [r4]
+ adds r0, 0x21
+ ldrb r0, [r0]
+ bl sub_8091A90
+_08019AA4:
+ adds r5, r0, 0
+ ldr r4, _08019AD0
+ ldr r0, [r4]
+ adds r0, 0x1C
+ ldrb r1, [r5]
+ movs r2, 0
+ bl sub_8090A8C
+ ldr r1, [r4]
+ ldrb r0, [r5, 0x1]
+ strb r0, [r1, 0x1D]
+ ldr r0, [r4]
+ adds r0, 0x1C
+ bl sub_8090C7C
+ ldr r1, [r4]
+ str r0, [r1, 0x10]
+ movs r0, 0x15
+ bl UpdateKecleonStoreState
+ b _08019B00
+ .align 2, 0
+_08019AD0: .4byte gUnknown_203B210
+_08019AD4:
+ ldr r0, _08019AE4
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0
+ beq _08019AE8
+ bl sub_801A010
+ b _08019AEC
+ .align 2, 0
+_08019AE4: .4byte gUnknown_203B210
+_08019AE8:
+ bl sub_801A3DC
+_08019AEC:
+ movs r0, 0x1
+ bl UpdateKecleonStoreState
+ b _08019B00
+_08019AF4:
+ movs r0, 0
+ bl sub_801AD34
+ movs r0, 0x1
+ bl sub_8016C40
+_08019B00:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80199CC
+
+ .align 2,0
diff --git a/asm/load_screen.s b/asm/load_screen.s
deleted file mode 100644
index 81c84fb..0000000
--- a/asm/load_screen.s
+++ /dev/null
@@ -1,718 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CreateLoadScreen
-CreateLoadScreen:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r6, r0, 0
- ldr r5, _080392EC
- ldr r0, [r5]
- cmp r0, 0
- bne _0803927C
- movs r4, 0x9F
- lsls r4, 2
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
-_0803927C:
- ldr r0, [r5]
- str r6, [r0]
- mov r12, r5
- movs r0, 0xA2
- lsls r0, 1
- mov r8, r0
- ldr r4, _080392F0
- movs r3, 0
- movs r2, 0x3
-_0803928E:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0803928E
- bl ResetUnusedInputStruct
- ldr r6, _080392EC
- ldr r0, [r6]
- movs r5, 0xA2
- lsls r5, 1
- adds r0, r5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r6]
- adds r0, r1, 0x4
- adds r1, r5
- ldr r3, _080392F4
- ldr r2, _080392F8
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r7, 0x6
- str r7, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- ldr r1, [r6]
- ldr r0, [r1]
- cmp r0, 0x7
- beq _08039306
- cmp r0, 0x7
- bhi _080392FC
- cmp r0, 0x6
- beq _08039338
- b _08039382
- .align 2, 0
-_080392EC: .4byte gUnknown_203B374
-_080392F0: .4byte gUnknown_80E75F8
-_080392F4: .4byte gUnknown_80E7610
-_080392F8: .4byte gUnknown_203B378
-_080392FC:
- cmp r0, 0x8
- beq _0803934C
- cmp r0, 0x9
- beq _0803936C
- b _08039382
-_08039306:
- bl sub_8039844
- lsls r0, 24
- cmp r0, 0
- beq _08039324
- ldr r1, [r6]
- adds r0, r1, 0x4
- adds r1, r5
- ldr r3, _0803931C
- ldr r2, _08039320
- b _08039354
- .align 2, 0
-_0803931C: .4byte gUnknown_80E762C
-_08039320: .4byte gUnknown_80E7644
-_08039324:
- ldr r1, [r6]
- adds r0, r1, 0x4
- adds r1, r5
- ldr r3, _08039330
- ldr r2, _08039334
- b _08039354
- .align 2, 0
-_08039330: .4byte gUnknown_80E762C
-_08039334: .4byte gUnknown_80E7684
-_08039338:
- adds r0, r1, 0x4
- adds r1, r5
- ldr r3, _08039344
- ldr r2, _08039348
- b _08039354
- .align 2, 0
-_08039344: .4byte gUnknown_80E762C
-_08039348: .4byte gUnknown_80E76B8
-_0803934C:
- adds r0, r1, 0x4
- adds r1, r5
- ldr r3, _08039364
- ldr r2, _08039368
-_08039354:
- str r2, [sp]
- str r4, [sp, 0x4]
- str r7, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0x1
- bl SetMenuItems
- b _08039382
- .align 2, 0
-_08039364: .4byte gUnknown_80E762C
-_08039368: .4byte gUnknown_80E76E8
-_0803936C:
- adds r0, r1, 0x4
- adds r1, r5
- ldr r3, _080393DC
- ldr r2, _080393E0
- str r2, [sp]
- str r4, [sp, 0x4]
- str r7, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0x1
- bl SetMenuItems
-_08039382:
- ldr r4, _080393E4
- ldr r1, [r4]
- adds r0, r1, 0x4
- movs r6, 0xA2
- lsls r6, 1
- adds r1, r6
- ldr r3, _080393E8
- ldr r2, _080393EC
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0x2
- str r2, [sp, 0x8]
- movs r2, 0
- str r2, [sp, 0xC]
- movs r2, 0x2
- bl SetMenuItems
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0
- movs r2, 0
- bl sub_8035CF4
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x1
- movs r2, 0
- bl sub_8035CF4
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x2
- movs r2, 0x1
- bl sub_8035CF4
- bl DrawLoadScreenText
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080393DC: .4byte gUnknown_80E762C
-_080393E0: .4byte gUnknown_80E7730
-_080393E4: .4byte gUnknown_203B374
-_080393E8: .4byte gUnknown_80E7784
-_080393EC: .4byte gUnknown_80E779C
- thumb_func_end CreateLoadScreen
-
- thumb_func_start CleanLoadScreen
-CleanLoadScreen:
- push {r4,lr}
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _08039418
- ldr r0, [r4]
- cmp r0, 0
- beq _08039410
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08039410:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08039418: .4byte gUnknown_203B374
- thumb_func_end CleanLoadScreen
-
- thumb_func_start sub_803941C
-sub_803941C:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _08039458
- movs r0, 0x4
- str r0, [sp]
- ldr r4, _0803945C
- ldr r0, [r4]
- adds r0, 0x54
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0xA4
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08039448
- ldr r0, [r4]
- adds r0, 0xA4
- mov r1, sp
- bl sub_8013114
-_08039448:
- ldr r0, [sp]
- cmp r0, 0x3
- bhi _08039498
- cmp r0, 0x2
- bcs _08039460
- cmp r0, 0x1
- beq _08039464
- b _08039498
- .align 2, 0
-_08039458: .4byte 0x0000ffdc
-_0803945C: .4byte gUnknown_203B374
-_08039460:
- movs r5, 0x1
- b _08039498
-_08039464:
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x7
- beq _08039480
- cmp r0, 0x7
- bhi _08039476
- cmp r0, 0x6
- beq _08039484
- b _08039498
-_08039476:
- cmp r0, 0x8
- beq _0803948E
- cmp r0, 0x9
- beq _08039492
- b _08039498
-_08039480:
- movs r5, 0x2
- b _08039498
-_08039484:
- movs r0, 0
- bl sub_8095240
- movs r5, 0x4
- b _08039498
-_0803948E:
- movs r5, 0x9
- b _08039498
-_08039492:
- bl sub_80122A8
- movs r5, 0x2E
-_08039498:
- adds r0, r5, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_803941C
-
- thumb_func_start DrawLoadScreenText
-DrawLoadScreenText:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x150
- bl sub_8011FA8
- mov r8, r0
- movs r0, 0
- bl sub_8008C54
- movs r0, 0
- bl sub_80073B8
- ldr r2, _0803952C
- movs r4, 0
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0
- movs r3, 0
- bl xxx_call_draw_string
- ldr r2, _08039530
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0xC
- movs r3, 0
- bl xxx_call_draw_string
- ldr r2, _08039534
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0x18
- movs r3, 0
- bl xxx_call_draw_string
- ldr r2, _08039538
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0x24
- movs r3, 0
- bl xxx_call_draw_string
- ldr r2, _0803953C
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0x30
- movs r3, 0
- bl xxx_call_draw_string
- ldr r2, _08039540
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0x3C
- movs r3, 0
- bl xxx_call_draw_string
- movs r0, 0
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _08039544
- add r4, sp, 0x68
- adds r0, r4, 0
- bl sub_80920D8
- adds r2, r4, 0
- b _0803954E
- .align 2, 0
-_0803952C: .4byte gUnknown_80E77BC
-_08039530: .4byte gUnknown_80E77C4
-_08039534: .4byte gUnknown_80E77CC
-_08039538: .4byte gUnknown_80E77D8
-_0803953C: .4byte gUnknown_80E77E4
-_08039540: .4byte gUnknown_80E77F0
-_08039544:
- ldr r1, _08039588
- add r0, sp, 0x68
- bl strcpy
- add r2, sp, 0x68
-_0803954E:
- ldr r5, _0803958C
- ldr r0, [r5]
- movs r4, 0xD2
- lsls r4, 1
- adds r0, r4
- ldr r1, _08039590
- bl sub_800D158
- ldr r2, [r5]
- adds r2, r4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x40
- movs r1, 0
- movs r3, 0
- bl xxx_call_draw_string
- bl sub_808D33C
- cmp r0, 0
- bne _08039598
- add r4, sp, 0x90
- ldr r1, _08039594
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_80922B4
- b _080395A6
- .align 2, 0
-_08039588: .4byte gUnknown_80E77F8
-_0803958C: .4byte gUnknown_203B374
-_08039590: .4byte gUnknown_80E7804
-_08039594: .4byte gUnknown_80E7808
-_08039598:
- add r4, sp, 0x90
- adds r1, r0, 0
- adds r1, 0x4C
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_80922B4
-_080395A6:
- adds r2, r4, 0
- ldr r5, _080395F0
- ldr r0, [r5]
- movs r4, 0xE4
- lsls r4, 1
- adds r0, r4
- ldr r6, _080395F4
- adds r1, r6, 0
- bl sub_800D158
- ldr r2, [r5]
- adds r2, r4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x40
- movs r1, 0xC
- movs r3, 0
- bl xxx_call_draw_string
- movs r0, 0x1
- bl sub_8095324
- cmp r0, 0
- bne _080395E0
- movs r0, 0x7
- bl sub_8095324
- cmp r0, 0
- beq _08039606
-_080395E0:
- ldr r0, _080395F8
- cmp r8, r0
- bne _080395FC
- ldr r4, [r5]
- movs r0, 0xF6
- lsls r0, 1
- adds r4, r0
- b _08039676
- .align 2, 0
-_080395F0: .4byte gUnknown_203B374
-_080395F4: .4byte gUnknown_80E7804
-_080395F8: .4byte 0x000f1207
-_080395FC:
- ldr r0, [r5]
- movs r1, 0xF6
- lsls r1, 1
- adds r0, r1
- b _08039690
-_08039606:
- bl sub_8011C1C
- cmp r0, 0x1
- beq _08039624
- cmp r0, 0x2
- beq _08039668
- ldr r0, [r5]
- movs r2, 0xF6
- lsls r2, 1
- adds r0, r2
- ldr r1, _08039620
- b _08039692
- .align 2, 0
-_08039620: .4byte gUnknown_80E7824
-_08039624:
- movs r0, 0
- movs r1, 0x18
- bl sub_8001658
- cmp r0, 0x7
- beq _08039658
- cmp r0, 0xB
- beq _08039658
- bl sub_8098FB4
- adds r2, r0, 0
- add r0, sp, 0x4
- adds r1, r6, 0
- bl sub_800D158
- ldr r0, [r5]
- movs r3, 0xF6
- lsls r3, 1
- adds r1, r0, r3
- adds r3, 0x24
- adds r2, r0, r3
- add r0, sp, 0x4
- movs r3, 0
- bl xxx_format_string
- b _08039696
-_08039658:
- ldr r0, _08039664
- ldr r0, [r0]
- movs r1, 0xF6
- lsls r1, 1
- adds r0, r1
- b _08039690
- .align 2, 0
-_08039664: .4byte gUnknown_203B374
-_08039668:
- ldr r0, _08039684
- cmp r8, r0
- bne _08039688
- ldr r4, [r5]
- movs r2, 0xF6
- lsls r2, 1
- adds r4, r2
-_08039676:
- bl sub_809769C
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_8090228
- b _08039696
- .align 2, 0
-_08039684: .4byte 0x000f1207
-_08039688:
- ldr r0, [r5]
- movs r3, 0xF6
- lsls r3, 1
- adds r0, r3
-_08039690:
- ldr r1, _0803974C
-_08039692:
- bl sub_800D158
-_08039696:
- ldr r7, _08039750
- ldr r2, [r7]
- movs r0, 0xF6
- lsls r0, 1
- adds r2, r0
- movs r6, 0
- str r6, [sp]
- movs r0, 0x40
- movs r1, 0x18
- movs r3, 0
- bl xxx_call_draw_string
- ldr r0, _08039754
- ldr r0, [r0]
- add r1, sp, 0x144
- add r2, sp, 0x148
- add r3, sp, 0x14C
- bl DeconstructPlayTime
- ldr r0, [r7]
- movs r5, 0x84
- lsls r5, 2
- adds r0, r5
- ldr r1, _08039758
- add r2, sp, 0x144
- ldr r2, [r2]
- add r3, sp, 0x148
- ldr r3, [r3]
- add r4, sp, 0x14C
- ldr r4, [r4]
- str r4, [sp]
- bl sub_800D158
- ldr r2, [r7]
- adds r2, r5
- str r6, [sp]
- movs r0, 0x40
- movs r1, 0x24
- movs r3, 0
- bl xxx_call_draw_string
- bl sub_8097778
- adds r2, r0, 0
- ldr r0, [r7]
- movs r4, 0x8D
- lsls r4, 2
- adds r0, r4
- ldr r1, _0803975C
- bl sub_800D158
- ldr r2, [r7]
- adds r2, r4
- str r6, [sp]
- movs r0, 0x40
- movs r1, 0x30
- movs r3, 0
- bl xxx_call_draw_string
- ldr r0, _08039760
- cmp r8, r0
- bne _0803976C
- ldr r0, _08039764
- ldr r6, [r0]
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0803976C
- add r5, sp, 0x130
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_808D930
- add r4, sp, 0xE0
- adds r1, r6, 0
- adds r1, 0x50
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_80922B4
- ldr r0, [r7]
- movs r3, 0x96
- lsls r3, 2
- adds r0, r3
- ldr r1, _08039768
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_800D158
- b _0803977C
- .align 2, 0
-_0803974C: .4byte gUnknown_80E780C
-_08039750: .4byte gUnknown_203B374
-_08039754: .4byte gPlayTimeRef
-_08039758: .4byte gUnknown_80E7838
-_0803975C: .4byte gUnknown_80E7848
-_08039760: .4byte 0x000f1207
-_08039764: .4byte gUnknown_203B484
-_08039768: .4byte gUnknown_80E784C
-_0803976C:
- ldr r0, _080397AC
- ldr r0, [r0]
- movs r1, 0x96
- lsls r1, 2
- adds r0, r1
- ldr r1, _080397B0
- bl sub_800D158
-_0803977C:
- ldr r0, _080397AC
- ldr r2, [r0]
- movs r3, 0x96
- lsls r3, 2
- adds r2, r3
- movs r0, 0
- str r0, [sp]
- movs r0, 0x40
- movs r1, 0x3C
- movs r3, 0
- bl xxx_call_draw_string
- bl sub_80397B4
- movs r0, 0
- bl sub_80073E0
- add sp, 0x150
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080397AC: .4byte gUnknown_203B374
-_080397B0: .4byte gUnknown_80E7854
- thumb_func_end DrawLoadScreenText
-
- thumb_func_start sub_80397B4
-sub_80397B4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r0, _08039834
- ldr r1, _08039838
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- movs r4, 0
-_080397C8:
- adds r0, r4, 0
- adds r0, 0xB0
- ldr r1, [r6, 0x4]
- lsls r2, r4, 2
- ldr r1, [r1, 0x4]
- adds r1, r2
- bl SetBGPaletteBufferColorArray
- adds r4, 0x1
- cmp r4, 0x3F
- ble _080397C8
- movs r7, 0x8
- movs r0, 0x49
- mov r8, r0
- movs r4, 0
-_080397E6:
- ldr r0, _0803983C
- lsls r5, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0803981C
- movs r0, 0x10
- str r0, [sp]
- ldr r0, [r6, 0x4]
- lsls r1, r4, 7
- ldr r0, [r0]
- adds r0, r1
- str r0, [sp, 0x4]
- ldr r0, _08039840
- adds r0, r5, r0
- ldr r0, [r0]
- str r0, [sp, 0x8]
- movs r0, 0
- adds r1, r7, 0
- mov r2, r8
- movs r3, 0x10
- bl sub_8007E20
- adds r7, 0x10
-_0803981C:
- adds r4, 0x1
- cmp r4, 0xB
- ble _080397E6
- adds r0, r6, 0
- bl CloseFile
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08039834: .4byte gUnknown_80E785C
-_08039838: .4byte gTitleMenuFileArchive
-_0803983C: .4byte gUnknown_203B3B8
-_08039840: .4byte gUnknown_203B388
- thumb_func_end sub_80397B4
-
- .align 2,0
diff --git a/asm/main_menu.s b/asm/main_menu.s
deleted file mode 100644
index ad0ce64..0000000
--- a/asm/main_menu.s
+++ /dev/null
@@ -1,76 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start SetMenuItems
-SetMenuItems:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- ldr r0, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- adds r0, r4
- ldm r3!, {r1,r2,r7}
- stm r0!, {r1,r2,r7}
- ldm r3!, {r1,r2,r7}
- stm r0!, {r1,r2,r7}
- bl ResetUnusedInputStruct
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- mov r0, r8
- cmp r0, 0
- beq _08035C90
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 4
- adds r0, r6, r0
- ldr r1, [sp, 0x28]
- str r1, [sp]
- str r5, [sp, 0x4]
- ldr r1, [sp, 0x20]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _08035CA8
-_08035C90:
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 4
- adds r0, r6, r0
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- ldr r1, [sp, 0x20]
- movs r2, 0
- movs r3, 0
- bl sub_8012E04
-_08035CA8:
- adds r0, r4, r5
- lsls r0, 4
- adds r0, r6
- adds r0, 0x4C
- movs r1, 0x1
- strb r1, [r0]
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end SetMenuItems
-
- .align 2,0
diff --git a/asm/makuhita_dojo.s b/asm/makuhita_dojo.s
new file mode 100644
index 0000000..c206233
--- /dev/null
+++ b/asm/makuhita_dojo.s
@@ -0,0 +1,908 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start UpdateMakuhitaDialogue
+UpdateMakuhitaDialogue:
+ push {r4,r5,lr}
+ sub sp, 0x18
+ ldr r1, _0802FFA4
+ ldr r0, [r1]
+ ldr r0, [r0, 0x8]
+ adds r5, r1, 0
+ cmp r0, 0xD
+ bls _0802FF9A
+ b _080301A0
+_0802FF9A:
+ lsls r0, 2
+ ldr r1, _0802FFA8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0802FFA4: .4byte gUnknown_203B318
+_0802FFA8: .4byte _0802FFAC
+ .align 2, 0
+_0802FFAC:
+ .4byte _0802FFE4
+ .4byte _08030000
+ .4byte _08030038
+ .4byte _08030050
+ .4byte _08030068
+ .4byte _08030074
+ .4byte _080300DC
+ .4byte _080300C4
+ .4byte _080300F4
+ .4byte _0803010C
+ .4byte _08030148
+ .4byte _08030174
+ .4byte _08030180
+ .4byte _080301A0
+_0802FFE4:
+ bl sub_80301B0
+ ldr r2, _0802FFF8
+ ldr r0, _0802FFFC
+ ldr r5, [r0]
+ ldr r1, [r5, 0x4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ b _0803000E
+ .align 2, 0
+_0802FFF8: .4byte gMakuhitaDialogue
+_0802FFFC: .4byte gUnknown_203B318
+_08030000:
+ ldr r2, _08030034
+ ldr r5, [r5]
+ ldr r1, [r5, 0x4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r2, 0x4
+_0803000E:
+ adds r0, r2
+ ldr r0, [r0]
+ ldr r2, [r5, 0x14]
+ adds r3, r5, 0
+ adds r3, 0x18
+ movs r4, 0
+ str r4, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r4, [sp, 0x8]
+ ldr r1, [r5, 0x68]
+ str r1, [sp, 0xC]
+ movs r1, 0xC
+ str r1, [sp, 0x10]
+ movs r1, 0
+ bl sub_8014248
+ b _080301A0
+ .align 2, 0
+_08030034: .4byte gMakuhitaDialogue
+_08030038:
+ ldr r3, [r5]
+ movs r0, 0xD
+ str r0, [r3, 0xC]
+ ldr r2, _0803004C
+ ldr r1, [r3, 0x4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r2, 0x8
+ b _0803015A
+ .align 2, 0
+_0803004C: .4byte gMakuhitaDialogue
+_08030050:
+ ldr r3, [r5]
+ movs r0, 0x4
+ str r0, [r3, 0xC]
+ ldr r2, _08030064
+ ldr r1, [r3, 0x4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r2, 0xC
+ b _0803015A
+ .align 2, 0
+_08030064: .4byte gMakuhitaDialogue
+_08030068:
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0xA
+ bl sub_80302E8
+ b _080301A0
+_08030074:
+ ldr r1, [r5]
+ movs r0, 0xD
+ str r0, [r1, 0xC]
+ movs r2, 0x10
+ ldrsh r0, [r1, r2]
+ bl sub_80A2740
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080300B4
+ ldr r1, [sp, 0x14]
+ ands r1, r2
+ orrs r1, r0
+ ldr r0, _080300B8
+ ands r1, r0
+ movs r0, 0x80
+ lsls r0, 1
+ orrs r1, r0
+ str r1, [sp, 0x14]
+ ldr r0, _080300BC
+ add r1, sp, 0x14
+ bl sub_8090208
+ ldr r2, _080300C0
+ ldr r3, [r5]
+ ldr r1, [r3, 0x4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r2, 0x10
+ b _0803015A
+ .align 2, 0
+_080300B4: .4byte 0xffffff00
+_080300B8: .4byte 0xffff00ff
+_080300BC: .4byte gAvailablePokemonNames
+_080300C0: .4byte gMakuhitaDialogue
+_080300C4:
+ ldr r3, [r5]
+ movs r0, 0xD
+ str r0, [r3, 0xC]
+ ldr r2, _080300D8
+ ldr r1, [r3, 0x4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r2, 0x18
+ b _0803015A
+ .align 2, 0
+_080300D8: .4byte gMakuhitaDialogue
+_080300DC:
+ ldr r3, [r5]
+ movs r0, 0xD
+ str r0, [r3, 0xC]
+ ldr r2, _080300F0
+ ldr r1, [r3, 0x4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r2, 0x14
+ b _0803015A
+ .align 2, 0
+_080300F0: .4byte gMakuhitaDialogue
+_080300F4:
+ ldr r3, [r5]
+ movs r0, 0x9
+ str r0, [r3, 0xC]
+ ldr r2, _08030108
+ ldr r1, [r3, 0x4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r2, 0x1C
+ b _0803015A
+ .align 2, 0
+_08030108: .4byte gMakuhitaDialogue
+_0803010C:
+ ldr r4, _08030138
+ bl sub_808D33C
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0x6
+ bl sub_808D9AC
+ ldr r0, _0803013C
+ ldr r1, [r0]
+ movs r0, 0xB
+ str r0, [r1, 0xC]
+ movs r0, 0xCB
+ bl PlaySound
+ ldr r0, _08030140
+ ldr r3, _08030144
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _080301A0
+ .align 2, 0
+_08030138: .4byte gPlayerName
+_0803013C: .4byte gUnknown_203B318
+_08030140: .4byte gUnknown_80E0778
+_08030144: .4byte 0x00000101
+_08030148:
+ ldr r3, [r5]
+ movs r0, 0xD
+ str r0, [r3, 0xC]
+ ldr r2, _0803016C
+ ldr r1, [r3, 0x4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r2, 0x20
+_0803015A:
+ adds r0, r2
+ ldr r0, [r0]
+ ldr r2, [r3, 0x68]
+ ldr r3, _08030170
+ movs r1, 0
+ bl sub_80141B4
+ b _080301A0
+ .align 2, 0
+_0803016C: .4byte gMakuhitaDialogue
+_08030170: .4byte 0x0000010d
+_08030174:
+ movs r0, 0x1
+ movs r1, 0x49
+ movs r2, 0x1
+ bl sub_801B60C
+ b _080301A0
+_08030180:
+ ldr r3, [r5]
+ movs r0, 0x1
+ str r0, [r3, 0xC]
+ ldr r2, _080301A8
+ ldr r1, [r3, 0x4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r2, 0x24
+ adds r0, r2
+ ldr r0, [r0]
+ ldr r2, [r3, 0x68]
+ ldr r3, _080301AC
+ movs r1, 0
+ bl sub_80141B4
+_080301A0:
+ add sp, 0x18
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080301A8: .4byte gMakuhitaDialogue
+_080301AC: .4byte 0x0000010d
+ thumb_func_end UpdateMakuhitaDialogue
+
+ thumb_func_start sub_80301B0
+sub_80301B0:
+ push {r4,lr}
+ ldr r4, _080301F8
+ ldr r1, [r4]
+ movs r2, 0x2
+ str r2, [r1, 0x14]
+ ldr r0, _080301FC
+ str r0, [r1, 0x18]
+ str r2, [r1, 0x1C]
+ bl sub_80306A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080301D6
+ ldr r0, [r4]
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0, 0x1C]
+ movs r1, 0x1
+ str r1, [r0, 0x14]
+_080301D6:
+ ldr r1, [r4]
+ movs r2, 0x1
+ ldr r0, _08030200
+ ldr r0, [r0]
+ str r0, [r1, 0x20]
+ movs r0, 0x3
+ str r0, [r1, 0x24]
+ ldr r0, _08030204
+ ldr r0, [r0]
+ str r0, [r1, 0x28]
+ str r2, [r1, 0x2C]
+ movs r0, 0
+ str r0, [r1, 0x30]
+ str r2, [r1, 0x34]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080301F8: .4byte gUnknown_203B318
+_080301FC: .4byte gUnknown_80E07D8
+_08030200: .4byte gUnknown_80D4970
+_08030204: .4byte gUnknown_80D4934
+ thumb_func_end sub_80301B0
+
+ thumb_func_start sub_8030208
+sub_8030208:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _08030250
+ ldr r0, _08030230
+ ldr r1, [r0]
+ ldr r0, [sp]
+ str r0, [r1, 0x14]
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0803023A
+ cmp r0, 0x2
+ bgt _08030234
+ cmp r0, 0x1
+ beq _0803024A
+ b _08030250
+ .align 2, 0
+_08030230: .4byte gUnknown_203B318
+_08030234:
+ cmp r0, 0x3
+ beq _08030242
+ b _08030250
+_0803023A:
+ movs r0, 0x3
+ bl sub_802FF04
+ b _08030250
+_08030242:
+ movs r0, 0xC
+ bl sub_802FF04
+ b _08030250
+_0803024A:
+ movs r0, 0x2
+ bl sub_802FF04
+_08030250:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8030208
+
+ thumb_func_start sub_8030258
+sub_8030258:
+ push {lr}
+ movs r0, 0x1
+ bl sub_80303AC
+ cmp r0, 0x2
+ beq _08030288
+ cmp r0, 0x2
+ bcc _0803029A
+ cmp r0, 0x3
+ bne _0803029A
+ bl sub_8030418
+ ldr r1, _08030284
+ ldr r1, [r1]
+ strh r0, [r1, 0x10]
+ bl sub_8030480
+ movs r0, 0x5
+ bl sub_802FF04
+ b _0803029A
+ .align 2, 0
+_08030284: .4byte gUnknown_203B318
+_08030288:
+ bl sub_8030480
+ ldr r0, _080302A0
+ ldr r1, [r0]
+ ldr r0, _080302A4
+ strh r0, [r1, 0x10]
+ movs r0, 0x1
+ bl sub_802FF04
+_0803029A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080302A0: .4byte gUnknown_203B318
+_080302A4: .4byte 0x0000ffff
+ thumb_func_end sub_8030258
+
+ thumb_func_start sub_80302A8
+sub_80302A8:
+ push {lr}
+ bl sub_801B6AC
+ cmp r0, 0x1
+ bls _080302C0
+ cmp r0, 0x3
+ bhi _080302C0
+ bl sub_801B72C
+ movs r0, 0xA
+ bl sub_802FF04
+_080302C0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80302A8
+
+ thumb_func_start sub_80302C4
+sub_80302C4:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _080302DC
+ ldr r0, _080302E4
+ ldr r0, [r0]
+ ldr r0, [r0, 0xC]
+ bl sub_802FF04
+_080302DC:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080302E4: .4byte gUnknown_203B318
+ thumb_func_end sub_80302C4
+
+ thumb_func_start sub_80302E8
+sub_80302E8:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r5, r0, 0
+ adds r6, r1, 0
+ mov r8, r2
+ bl sub_80306A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08030302
+ movs r0, 0
+ b _0803039A
+_08030302:
+ ldr r4, _080303A4
+ ldr r0, [r4]
+ cmp r0, 0
+ bne _08030314
+ movs r0, 0xD0
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+_08030314:
+ ldr r0, [r4]
+ str r5, [r0, 0x64]
+ lsls r1, r5, 1
+ adds r1, r5
+ lsls r1, 3
+ adds r1, 0x6C
+ adds r1, r0, r1
+ str r1, [r0, 0x68]
+ adds r0, 0x6C
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r2, [r1, 0x64]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x6C
+ ldr r0, _080303A8
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldr r2, [r4]
+ ldr r1, [r2, 0x68]
+ adds r0, r2, 0
+ adds r0, 0xCC
+ str r0, [r1, 0x14]
+ cmp r6, 0
+ beq _08030362
+ ldr r1, [r2, 0x64]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r1, r2, 0
+ adds r1, 0x74
+ adds r1, r0
+ ldr r0, [r6]
+ str r0, [r1]
+_08030362:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x68]
+ mov r1, r8
+ bl sub_8012D08
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x6C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r4]
+ adds r4, 0x30
+ bl sub_8030668
+ adds r1, r0, 0
+ adds r0, r4, 0
+ mov r2, r8
+ adds r3, r5, 0
+ bl sub_8013818
+ bl sub_80304C8
+ bl sub_803053C
+ movs r0, 0x1
+_0803039A:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080303A4: .4byte gUnknown_203B31C
+_080303A8: .4byte gUnknown_80E0804
+ thumb_func_end sub_80302E8
+
+ thumb_func_start sub_80303AC
+sub_80303AC:
+ push {r4,lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _080303C8
+ ldr r0, _080303C4
+ ldr r0, [r0]
+ adds r0, 0x30
+ bl sub_8013660
+ movs r0, 0
+ b _08030410
+ .align 2, 0
+_080303C4: .4byte gUnknown_203B31C
+_080303C8:
+ ldr r4, _080303E4
+ ldr r0, [r4]
+ adds r0, 0x30
+ bl GetKeyPress
+ cmp r0, 0x1
+ beq _080303E8
+ cmp r0, 0x2
+ bne _080303F2
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _08030410
+ .align 2, 0
+_080303E4: .4byte gUnknown_203B31C
+_080303E8:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _08030410
+_080303F2:
+ ldr r0, [r4]
+ adds r0, 0x30
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08030406
+ movs r0, 0
+ b _08030410
+_08030406:
+ bl sub_80304C8
+ bl sub_803053C
+ movs r0, 0x1
+_08030410:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80303AC
+
+ thumb_func_start sub_8030418
+sub_8030418:
+ ldr r0, _08030440
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x4E
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ subs r0, 0x2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r0, r1
+ adds r1, r2, 0
+ adds r1, 0x48
+ movs r3, 0
+ ldrsh r1, [r1, r3]
+ adds r0, r1
+ lsls r0, 1
+ adds r0, r2, r0
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ bx lr
+ .align 2, 0
+_08030440: .4byte gUnknown_203B31C
+ thumb_func_end sub_8030418
+
+ thumb_func_start sub_8030444
+sub_8030444:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_8030668
+ adds r1, r0, 0
+ ldr r5, _0803047C
+ ldr r0, [r5]
+ adds r2, r0, 0
+ adds r2, 0x52
+ strh r1, [r2]
+ adds r0, 0x30
+ bl sub_8013984
+ bl sub_80304C8
+ bl sub_803053C
+ cmp r4, 0
+ beq _08030476
+ ldr r0, [r5]
+ adds r0, 0x30
+ bl AddMenuCursorSprite
+_08030476:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803047C: .4byte gUnknown_203B31C
+ thumb_func_end sub_8030444
+
+ thumb_func_start sub_8030480
+sub_8030480:
+ push {r4,r5,lr}
+ ldr r4, _080304C0
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _080304BA
+ ldr r0, [r2, 0x64]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x6C
+ ldr r0, _080304C4
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x6C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_080304BA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080304C0: .4byte gUnknown_203B31C
+_080304C4: .4byte gUnknown_80E07EC
+ thumb_func_end sub_8030480
+
+ thumb_func_start sub_80304C8
+sub_80304C8:
+ push {r4,lr}
+ ldr r4, _08030538
+ ldr r0, [r4]
+ adds r0, 0xCC
+ movs r2, 0
+ movs r1, 0x1
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xCD
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, 0xCE
+ movs r1, 0x8
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xCF
+ strb r2, [r0]
+ ldr r0, [r4]
+ adds r0, 0x4A
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ lsls r0, 16
+ ldr r2, [r4]
+ ldr r3, [r2, 0x64]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x7A
+ asrs r3, r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r1, [r2, 0x64]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r2, r0
+ adds r3, 0x2
+ adds r2, 0x7C
+ strh r3, [r2]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x6C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08030538: .4byte gUnknown_203B31C
+ thumb_func_end sub_80304C8
+
+ thumb_func_start sub_803053C
+sub_803053C:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x108
+ ldr r4, _08030658
+ ldr r0, [r4]
+ ldr r0, [r0, 0x64]
+ bl sub_8008C54
+ ldr r0, [r4]
+ ldr r0, [r0, 0x64]
+ bl sub_80073B8
+ ldr r2, _0803065C
+ ldr r0, [r4]
+ ldr r3, [r0, 0x64]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r3, [r4]
+ adds r0, r3, 0
+ adds r0, 0xCE
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r0, 0x4
+ adds r1, r3, 0
+ adds r1, 0x4E
+ movs r5, 0
+ ldrsh r2, [r1, r5]
+ adds r2, 0x1
+ movs r1, 0x7
+ str r1, [sp]
+ ldr r1, [r3, 0x64]
+ str r1, [sp, 0x4]
+ movs r1, 0
+ movs r3, 0x2
+ bl sub_8012BC4
+ movs r0, 0
+ mov r9, r0
+ ldr r0, [r4]
+ adds r0, 0x4A
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r9, r0
+ bge _0803063E
+ mov r8, r4
+_080305A2:
+ mov r3, r8
+ ldr r1, [r3]
+ adds r0, r1, 0
+ adds r0, 0x4E
+ movs r5, 0
+ ldrsh r2, [r0, r5]
+ subs r0, 0x2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r0, r2
+ add r0, r9
+ lsls r0, 1
+ adds r1, r0
+ movs r5, 0
+ ldrsh r4, [r1, r5]
+ adds r0, r4, 0
+ bl sub_80A2740
+ lsls r0, 24
+ lsrs r7, r0, 24
+ adds r0, r4, 0
+ bl sub_80A2668
+ adds r4, r0, 0
+ lsls r4, 16
+ asrs r4, 16
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, 0x30
+ mov r1, r9
+ bl sub_8013800
+ adds r6, r0, 0
+ movs r5, 0x7
+ adds r0, r4, 0
+ bl sub_809758C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08030608
+ mov r3, r8
+ ldr r0, [r3]
+ ldr r3, [r0, 0x64]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x8
+ adds r1, r6, 0
+ ldr r2, _08030660
+ bl xxx_call_draw_string
+ movs r5, 0x4
+_08030608:
+ adds r0, r7, 0
+ bl GetDungeonName1
+ adds r3, r0, 0
+ add r0, sp, 0x8
+ ldr r1, _08030664
+ adds r2, r5, 0
+ bl sub_800D158
+ mov r5, r8
+ ldr r0, [r5]
+ ldr r3, [r0, 0x64]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x10
+ adds r1, r6, 0
+ add r2, sp, 0x8
+ bl xxx_call_draw_string
+ movs r0, 0x1
+ add r9, r0
+ ldr r0, [r5]
+ adds r0, 0x4A
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r9, r0
+ blt _080305A2
+_0803063E:
+ ldr r0, _08030658
+ ldr r0, [r0]
+ ldr r0, [r0, 0x64]
+ bl sub_80073E0
+ add sp, 0x108
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08030658: .4byte gUnknown_203B31C
+_0803065C: .4byte gUnknown_80E081C
+_08030660: .4byte gUnknown_80E0824
+_08030664: .4byte gUnknown_80E0828
+ thumb_func_end sub_803053C
+
+ thumb_func_start sub_8030668
+sub_8030668:
+ push {r4-r6,lr}
+ movs r6, 0
+ movs r5, 0
+_0803066E:
+ lsls r0, r5, 16
+ asrs r4, r0, 16
+ adds r0, r4, 0
+ bl sub_8097504
+ lsls r0, 24
+ cmp r0, 0
+ beq _08030690
+ adds r0, r4, 0
+ bl sub_80A26CC
+ ldr r1, _080306A0
+ ldr r1, [r1]
+ lsls r2, r6, 1
+ adds r1, r2
+ strh r0, [r1]
+ adds r6, 0x1
+_08030690:
+ adds r5, 0x1
+ cmp r5, 0x16
+ ble _0803066E
+ adds r0, r6, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080306A0: .4byte gUnknown_203B31C
+ thumb_func_end sub_8030668
+
+ thumb_func_start sub_80306A4
+sub_80306A4:
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_80306A4
+
+ .align 2,0
diff --git a/asm/other_menus.s b/asm/other_menus.s
index 7168a67..6cefea7 100644
--- a/asm/other_menus.s
+++ b/asm/other_menus.s
@@ -223,7 +223,7 @@ _080375BE:
.align 2, 0
_080375CC: .4byte gUnknown_203B35C
_080375D0: .4byte 0xffff0000
-_080375D4: .4byte gUnknown_203B45C
+_080375D4: .4byte gRecruitedPokemonRef
_080375D8:
ldr r0, _08037610
ldr r0, [r0]
diff --git a/asm/pokemon.s b/asm/pokemon.s
index bd729f7..1e8d2ed 100644
--- a/asm/pokemon.s
+++ b/asm/pokemon.s
@@ -55,7 +55,7 @@ _0808CE46:
pop {r0}
bx r0
.align 2, 0
-_0808CE60: .4byte gUnknown_203B45C
+_0808CE60: .4byte gRecruitedPokemonRef
_0808CE64: .4byte 0x0000019d
_0808CE68: .4byte 0x00008df8
_0808CE6C: .4byte 0x00008f90
@@ -232,7 +232,7 @@ _0808CFB8:
bx r0
.align 2, 0
_0808CFC8: .4byte gMonsterParameters
-_0808CFCC: .4byte gUnknown_203B45C
+_0808CFCC: .4byte gRecruitedPokemonRef
thumb_func_end sub_808CE74
thumb_func_start sub_808CFD0
@@ -579,7 +579,7 @@ _0808D26A:
pop {r1}
bx r1
.align 2, 0
-_0808D274: .4byte gUnknown_203B45C
+_0808D274: .4byte gRecruitedPokemonRef
thumb_func_end sub_808D1DC
thumb_func_start sub_808D278
@@ -641,7 +641,7 @@ _0808D2DC:
pop {r1}
bx r1
.align 2, 0
-_0808D2E4: .4byte gUnknown_203B45C
+_0808D2E4: .4byte gRecruitedPokemonRef
thumb_func_end sub_808D278
thumb_func_start sub_808D2E8
@@ -714,7 +714,7 @@ _0808D344:
adds r0, r2, 0
b _0808D370
.align 2, 0
-_0808D360: .4byte gUnknown_203B45C
+_0808D360: .4byte gRecruitedPokemonRef
_0808D364:
adds r3, 0x1
movs r0, 0xCE
@@ -754,7 +754,7 @@ _0808D39A:
adds r0, r2, 0
b _0808D3B4
.align 2, 0
-_0808D3A4: .4byte gUnknown_203B45C
+_0808D3A4: .4byte gRecruitedPokemonRef
_0808D3A8:
adds r3, 0x1
movs r0, 0xCE
@@ -790,7 +790,7 @@ _0808D3CC:
adds r0, r3, 0
b _0808D3F0
.align 2, 0
-_0808D3E0: .4byte gUnknown_203B45C
+_0808D3E0: .4byte gRecruitedPokemonRef
_0808D3E4:
adds r2, 0x58
adds r3, 0x58
@@ -826,7 +826,7 @@ _0808D408:
adds r0, r3, 0
b _0808D42C
.align 2, 0
-_0808D41C: .4byte gUnknown_203B45C
+_0808D41C: .4byte gRecruitedPokemonRef
_0808D420:
adds r2, 0x58
adds r3, 0x58
@@ -869,7 +869,7 @@ _0808D44C:
adds r0, r2, 0
b _0808D478
.align 2, 0
-_0808D468: .4byte gUnknown_203B45C
+_0808D468: .4byte gRecruitedPokemonRef
_0808D46C:
adds r4, 0x1
_0808D46E:
@@ -909,7 +909,7 @@ _0808D498:
pop {r1}
bx r1
.align 2, 0
-_0808D4A8: .4byte gUnknown_203B45C
+_0808D4A8: .4byte gRecruitedPokemonRef
_0808D4AC: .4byte 0x0000019d
thumb_func_end sub_808D480
@@ -955,7 +955,7 @@ _0808D4E4:
pop {r1}
bx r1
.align 2, 0
-_0808D4F8: .4byte gUnknown_203B45C
+_0808D4F8: .4byte gRecruitedPokemonRef
_0808D4FC: .4byte 0x0000fffd
thumb_func_end sub_808D4B0
@@ -993,7 +993,7 @@ _0808D526:
pop {r1}
bx r1
.align 2, 0
-_0808D53C: .4byte gUnknown_203B45C
+_0808D53C: .4byte gRecruitedPokemonRef
_0808D540: .4byte 0x0000fffd
thumb_func_end sub_808D500
@@ -1031,7 +1031,7 @@ _0808D56C:
pop {r1}
bx r1
.align 2, 0
-_0808D57C: .4byte gUnknown_203B45C
+_0808D57C: .4byte gRecruitedPokemonRef
thumb_func_end sub_808D544
thumb_func_start sub_808D580
@@ -1059,7 +1059,7 @@ _0808D590:
adds r5, 0x1
b _0808D5BC
.align 2, 0
-_0808D5AC: .4byte gUnknown_203B45C
+_0808D5AC: .4byte gRecruitedPokemonRef
_0808D5B0:
adds r4, 0x1
adds r2, 0x58
@@ -1197,7 +1197,7 @@ _0808D68C:
pop {r1}
bx r1
.align 2, 0
-_0808D6A0: .4byte gUnknown_203B45C
+_0808D6A0: .4byte gRecruitedPokemonRef
thumb_func_end sub_808D654
thumb_func_start sub_808D6A4
@@ -1237,7 +1237,7 @@ _0808D6CE:
pop {r1}
bx r1
.align 2, 0
-_0808D6E4: .4byte gUnknown_203B45C
+_0808D6E4: .4byte gRecruitedPokemonRef
thumb_func_end sub_808D6A4
thumb_func_start sub_808D6E8
@@ -1287,7 +1287,7 @@ _0808D728:
movs r0, 0x1
b _0808D746
.align 2, 0
-_0808D740: .4byte gUnknown_203B45C
+_0808D740: .4byte gRecruitedPokemonRef
_0808D744:
movs r0, 0
_0808D746:
@@ -1361,7 +1361,7 @@ _0808D798:
movs r0, 0x1
b _0808D7CE
.align 2, 0
-_0808D7C8: .4byte gUnknown_203B45C
+_0808D7C8: .4byte gRecruitedPokemonRef
_0808D7CC:
movs r0, 0
_0808D7CE:
@@ -1391,7 +1391,7 @@ sub_808D7DC:
strb r0, [r1, 0x1]
bx lr
.align 2, 0
-_0808D7FC: .4byte gUnknown_203B45C
+_0808D7FC: .4byte gRecruitedPokemonRef
thumb_func_end sub_808D7DC
thumb_func_start sub_808D800
@@ -1412,7 +1412,7 @@ sub_808D800:
strb r1, [r0]
bx lr
.align 2, 0
-_0808D820: .4byte gUnknown_203B45C
+_0808D820: .4byte gRecruitedPokemonRef
thumb_func_end sub_808D800
thumb_func_start sub_808D824
@@ -1484,7 +1484,7 @@ _0808D888:
movs r0, 0x1
b _0808D8B4
.align 2, 0
-_0808D8A0: .4byte gUnknown_203B45C
+_0808D8A0: .4byte gRecruitedPokemonRef
_0808D8A4:
cmp r4, r0
blt _0808D8B2
@@ -1501,282 +1501,5 @@ _0808D8B4:
bx r1
thumb_func_end sub_808D864
- thumb_func_start CopySpeciesNametoBuffer
-CopySpeciesNametoBuffer:
- push {lr}
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0808D8DC
- ldr r3, [r2]
- lsls r2, r1, 3
- adds r2, r1
- lsls r2, 3
- adds r2, r3
- ldr r1, [r2]
- movs r2, 0x14
- bl strncpy
- pop {r0}
- bx r0
- .align 2, 0
-_0808D8DC: .4byte gMonsterParameters
- thumb_func_end CopySpeciesNametoBuffer
-
- thumb_func_start sub_808D8E0
-sub_808D8E0:
- push {r4,lr}
- lsls r3, r1, 16
- asrs r3, 16
- ldr r1, _0808D900
- ldr r2, _0808D904
- ldr r4, [r2]
- lsls r2, r3, 3
- adds r2, r3
- lsls r2, 3
- adds r2, r4
- ldr r2, [r2]
- bl sub_800D158
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D900: .4byte gUnknown_8107600
-_0808D904: .4byte gMonsterParameters
- thumb_func_end sub_808D8E0
-
- thumb_func_start sub_808D908
-sub_808D908:
- push {r4,lr}
- lsls r3, r1, 16
- asrs r3, 16
- ldr r1, _0808D928
- ldr r2, _0808D92C
- ldr r4, [r2]
- lsls r2, r3, 3
- adds r2, r3
- lsls r2, 3
- adds r2, r4
- ldr r2, [r2]
- bl sub_800D158
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D928: .4byte gUnknown_8107608
-_0808D92C: .4byte gMonsterParameters
- thumb_func_end sub_808D908
-
- thumb_func_start sub_808D930
-sub_808D930:
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 16
- asrs r6, r1, 16
- adds r0, r6, 0
- bl sub_808E770
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC9
- bne _0808D970
- ldr r5, _0808D968
- movs r0, 0xC9
- bl GetMonSpecies
- adds r4, r0, 0
- adds r0, r6, 0
- bl sub_808E8C8
- ldr r1, _0808D96C
- adds r0, r1
- ldrb r3, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_800D158
- b _0808D986
- .align 2, 0
-_0808D968: .4byte gUnknown_8107630
-_0808D96C: .4byte gUnknown_8107610
-_0808D970:
- ldr r1, _0808D98C
- ldr r0, _0808D990
- ldr r2, [r0]
- lsls r0, r6, 3
- adds r0, r6
- lsls r0, 3
- adds r0, r2
- ldr r2, [r0]
- adds r0, r7, 0
- bl sub_800D158
-_0808D986:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D98C: .4byte gUnknown_8107638
-_0808D990: .4byte gMonsterParameters
- thumb_func_end sub_808D930
-
- thumb_func_start GetMonSpecies
-GetMonSpecies:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808D9A8
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, [r1]
- bx lr
- .align 2, 0
-_0808D9A8: .4byte gMonsterParameters
- thumb_func_end GetMonSpecies
-
- thumb_func_start sub_808D9AC
-sub_808D9AC:
- push {r4,r5,lr}
- sub sp, 0x14
- adds r5, r0, 0
- adds r4, r2, 0
- adds r1, 0x4C
- mov r0, sp
- movs r2, 0xA
- bl sub_80922B4
- cmp r4, 0
- bne _0808D9C4
- movs r4, 0x5
-_0808D9C4:
- ldr r1, _0808D9D8
- adds r0, r5, 0
- adds r2, r4, 0
- mov r3, sp
- bl sub_800D158
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D9D8: .4byte gUnknown_810763C
- thumb_func_end sub_808D9AC
-
- thumb_func_start sub_808D9DC
-sub_808D9DC:
- push {r4,r5,lr}
- sub sp, 0x14
- adds r5, r0, 0
- adds r4, r2, 0
- adds r1, 0x58
- mov r0, sp
- movs r2, 0xA
- bl sub_80922B4
- cmp r4, 0
- bne _0808D9F4
- movs r4, 0x6
-_0808D9F4:
- ldr r1, _0808DA08
- adds r0, r5, 0
- adds r2, r4, 0
- mov r3, sp
- bl sub_800D158
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808DA08: .4byte gUnknown_810763C
- thumb_func_end sub_808D9DC
-
- thumb_func_start sub_808DA0C
-sub_808DA0C:
- push {r4,lr}
- sub sp, 0x14
- adds r4, r0, 0
- adds r1, 0x58
- mov r0, sp
- movs r2, 0xA
- bl sub_80922B4
- ldr r1, _0808DA30
- adds r0, r4, 0
- mov r2, sp
- bl sub_800D158
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808DA30: .4byte gUnknown_8107638
- thumb_func_end sub_808DA0C
-
- thumb_func_start sub_808DA34
-sub_808DA34:
- push {lr}
- adds r1, 0x4C
- movs r2, 0xA
- bl sub_80922B4
- pop {r0}
- bx r0
- thumb_func_end sub_808DA34
-
- thumb_func_start sub_808DA44
-sub_808DA44:
- push {r4-r6,lr}
- sub sp, 0x30
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r2, 0xC
- bls _0808DAA0
- mov r1, sp
- ldr r0, _0808DA98
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0808DA92
- mov r1, sp
- add r3, sp, 0x48
-_0808DA76:
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, r4
- bne _0808DA84
- ldr r0, [r1, 0x4]
- cmp r0, r2
- beq _0808DA9C
-_0808DA84:
- adds r1, 0x8
- cmp r1, r3
- bgt _0808DA92
- movs r6, 0
- ldrsh r0, [r1, r6]
- cmp r0, 0
- bne _0808DA76
-_0808DA92:
- movs r0, 0
- b _0808DAA6
- .align 2, 0
-_0808DA98: .4byte gUnknown_8107654
-_0808DA9C:
- movs r0, 0x1
- b _0808DAA6
-_0808DAA0:
- ldr r0, _0808DAB0
- adds r0, r2, r0
- ldrb r0, [r0]
-_0808DAA6:
- add sp, 0x30
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0808DAB0: .4byte gUnknown_8107645
- thumb_func_end sub_808DA44
.align 2,0
diff --git a/asm/pokemon_1.s b/asm/pokemon_1.s
new file mode 100644
index 0000000..5417b8e
--- /dev/null
+++ b/asm/pokemon_1.s
@@ -0,0 +1,72 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_808DA44
+sub_808DA44:
+ push {r4-r6,lr}
+ sub sp, 0x30
+ lsls r0, 16
+ asrs r4, r0, 16
+ lsls r1, 24
+ lsrs r2, r1, 24
+ cmp r2, 0xC
+ bls _0808DAA0
+ mov r1, sp
+ ldr r0, _0808DA98
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ ldm r0!, {r3,r5,r6}
+ stm r1!, {r3,r5,r6}
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ beq _0808DA92
+ mov r1, sp
+ add r3, sp, 0x48
+_0808DA76:
+ movs r5, 0
+ ldrsh r0, [r1, r5]
+ cmp r0, r4
+ bne _0808DA84
+ ldr r0, [r1, 0x4]
+ cmp r0, r2
+ beq _0808DA9C
+_0808DA84:
+ adds r1, 0x8
+ cmp r1, r3
+ bgt _0808DA92
+ movs r6, 0
+ ldrsh r0, [r1, r6]
+ cmp r0, 0
+ bne _0808DA76
+_0808DA92:
+ movs r0, 0
+ b _0808DAA6
+ .align 2, 0
+_0808DA98: .4byte gUnknown_8107654
+_0808DA9C:
+ movs r0, 0x1
+ b _0808DAA6
+_0808DAA0:
+ ldr r0, _0808DAB0
+ adds r0, r2, r0
+ ldrb r0, [r0]
+_0808DAA6:
+ add sp, 0x30
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0808DAB0: .4byte gUnknown_8107645
+ thumb_func_end sub_808DA44
+
+ .align 2,0
diff --git a/asm/pokemon_square.s b/asm/pokemon_square.s
new file mode 100644
index 0000000..6eef7df
--- /dev/null
+++ b/asm/pokemon_square.s
@@ -0,0 +1,7112 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+
+ thumb_func_start sub_8019E40
+sub_8019E40:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ bl sub_8091814
+ cmp r0, 0
+ beq _08019ED4
+ ldr r5, _08019EC8
+ movs r0, 0xA0
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ str r6, [r0, 0x34]
+ lsls r1, r6, 1
+ adds r1, r6
+ lsls r1, 3
+ adds r1, 0x3C
+ adds r1, r0, r1
+ str r1, [r0, 0x38]
+ adds r0, 0x3C
+ bl sub_8006518
+ ldr r1, [r5]
+ ldr r2, [r1, 0x34]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x3C
+ ldr r0, _08019ECC
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r0, [r5]
+ ldr r1, [r0, 0x38]
+ adds r0, 0x9C
+ str r0, [r1, 0x14]
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r5]
+ bl sub_8091814
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0xA
+ adds r3, r6, 0
+ bl sub_8013818
+ ldr r0, [r5]
+ ldr r1, _08019ED0
+ ldrh r1, [r1]
+ strh r1, [r0, 0x18]
+ bl sub_8013984
+ bl sub_801A064
+ bl sub_801A0D8
+ movs r0, 0x1
+ b _08019ED6
+ .align 2, 0
+_08019EC8: .4byte gUnknown_203B214
+_08019ECC: .4byte gUnknown_80DB8CC
+_08019ED0: .4byte gUnknown_203B218
+_08019ED4:
+ movs r0, 0
+_08019ED6:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8019E40
+
+ thumb_func_start sub_8019EDC
+sub_8019EDC:
+ push {lr}
+ sub sp, 0x4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08019EF8
+ ldr r0, _08019EF4
+ ldr r0, [r0]
+ bl sub_8013660
+ movs r0, 0
+ b _08019FAA
+ .align 2, 0
+_08019EF4: .4byte gUnknown_203B214
+_08019EF8:
+ ldr r0, _08019F10
+ ldr r0, [r0]
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _08019F1A
+ cmp r0, 0x2
+ bgt _08019F14
+ cmp r0, 0x1
+ beq _08019F24
+ b _08019F88
+ .align 2, 0
+_08019F10: .4byte gUnknown_203B214
+_08019F14:
+ cmp r0, 0x4
+ beq _08019F7E
+ b _08019F88
+_08019F1A:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _08019FAA
+_08019F24:
+ bl sub_8019FB0
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_809185C
+ ldrb r2, [r0]
+ lsls r2, 16
+ ldr r3, _08019F68
+ ldr r1, [sp]
+ ands r1, r3
+ orrs r1, r2
+ str r1, [sp]
+ ldrb r0, [r0, 0x1]
+ lsls r0, 8
+ ldr r2, _08019F6C
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ bl sub_8090C7C
+ ldr r1, _08019F70
+ ldr r1, [r1]
+ movs r2, 0x98
+ lsls r2, 2
+ adds r1, r2
+ ldr r1, [r1]
+ cmp r0, r1
+ ble _08019F74
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ b _08019F7A
+ .align 2, 0
+_08019F68: .4byte 0xff00ffff
+_08019F6C: .4byte 0xffff00ff
+_08019F70: .4byte gUnknown_203B460
+_08019F74:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+_08019F7A:
+ movs r0, 0x3
+ b _08019FAA
+_08019F7E:
+ movs r0, 0x4
+ bl PlayMenuSoundEffect
+ movs r0, 0x4
+ b _08019FAA
+_08019F88:
+ ldr r0, _08019F9C
+ ldr r0, [r0]
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08019FA0
+ movs r0, 0
+ b _08019FAA
+ .align 2, 0
+_08019F9C: .4byte gUnknown_203B214
+_08019FA0:
+ bl sub_801A064
+ bl sub_801A0D8
+ movs r0, 0x1
+_08019FAA:
+ add sp, 0x4
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8019EDC
+
+ thumb_func_start sub_8019FB0
+sub_8019FB0:
+ ldr r0, _08019FC8
+ ldr r1, [r0]
+ movs r0, 0x1E
+ ldrsh r2, [r1, r0]
+ movs r3, 0x1C
+ ldrsh r0, [r1, r3]
+ muls r0, r2
+ ldrb r1, [r1, 0x18]
+ adds r0, r1
+ lsls r0, 24
+ lsrs r0, 24
+ bx lr
+ .align 2, 0
+_08019FC8: .4byte gUnknown_203B214
+ thumb_func_end sub_8019FB0
+
+ thumb_func_start sub_8019FCC
+sub_8019FCC:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl ResetUnusedInputStruct
+ ldr r5, _0801A00C
+ ldr r0, [r5]
+ adds r0, 0x3C
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ bl sub_8091814
+ adds r1, r0, 0
+ ldr r0, [r5]
+ strh r1, [r0, 0x22]
+ bl sub_8013984
+ bl sub_801A064
+ bl sub_801A0D8
+ cmp r4, 0
+ beq _0801A006
+ ldr r0, [r5]
+ bl AddMenuCursorSprite
+_0801A006:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801A00C: .4byte gUnknown_203B214
+ thumb_func_end sub_8019FCC
+
+ thumb_func_start sub_801A010
+sub_801A010:
+ push {r4,r5,lr}
+ ldr r4, _0801A058
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801A050
+ ldr r1, _0801A05C
+ ldrh r0, [r2, 0x18]
+ strh r0, [r1]
+ ldr r0, [r2, 0x34]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x3C
+ ldr r0, _0801A060
+ 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]
+_0801A050:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801A058: .4byte gUnknown_203B214
+_0801A05C: .4byte gUnknown_203B218
+_0801A060: .4byte gUnknown_80DB8B4
+ thumb_func_end sub_801A010
+
+ thumb_func_start sub_801A064
+sub_801A064:
+ push {r4,lr}
+ ldr r4, _0801A0D4
+ 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, 0xA
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0x9F
+ strb r2, [r0]
+ ldr r0, [r4]
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ lsls r0, 16
+ ldr r2, [r4]
+ ldr r3, [r2, 0x34]
+ lsls r1, r3, 1
+ adds r1, r3
+ 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
+_0801A0D4: .4byte gUnknown_203B214
+ thumb_func_end sub_801A064
+
+ thumb_func_start sub_801A0D8
+sub_801A0D8:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0xB4
+ ldr r4, _0801A1A4
+ ldr r0, [r4]
+ ldr r0, [r0, 0x34]
+ bl sub_8008C54
+ ldr r0, [r4]
+ ldr r0, [r0, 0x34]
+ bl sub_80073B8
+ ldr r1, [r4]
+ movs r2, 0x1E
+ ldrsh r0, [r1, r2]
+ lsls r0, 3
+ adds r0, 0xA
+ ldr r2, _0801A1A8
+ ldr r3, [r1, 0x34]
+ movs r1, 0
+ str r1, [sp]
+ bl xxx_call_draw_string
+ movs r6, 0
+ ldr r0, [r4]
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ cmp r6, r0
+ bge _0801A1EC
+ adds r7, r4, 0
+ add r4, sp, 0xB0
+ mov r9, r6
+ add r5, sp, 0x54
+ add r2, sp, 0x60
+ mov r8, r2
+_0801A122:
+ ldr r0, [r7]
+ movs r2, 0x1E
+ ldrsh r1, [r0, r2]
+ movs r2, 0x1C
+ ldrsh r0, [r0, r2]
+ muls r0, r1
+ adds r0, r6
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_809185C
+ ldrb r2, [r0]
+ lsls r2, 16
+ ldr r3, _0801A1AC
+ ldr r1, [r4]
+ ands r1, r3
+ orrs r1, r2
+ str r1, [r4]
+ ldrb r2, [r0, 0x1]
+ lsls r2, 8
+ ldr r0, _0801A1B0
+ ands r1, r0
+ orrs r1, r2
+ ldr r0, _0801A1B4
+ ands r1, r0
+ movs r0, 0x3
+ orrs r1, r0
+ str r1, [r4]
+ movs r1, 0x1
+ str r1, [sp, 0x54]
+ mov r0, r9
+ strb r0, [r5, 0x4]
+ movs r0, 0x58
+ strh r0, [r5, 0x6]
+ strb r1, [r5, 0x8]
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_8090E14
+ adds r0, r4, 0
+ bl sub_8090C7C
+ ldr r1, _0801A1B8
+ ldr r1, [r1]
+ movs r2, 0x98
+ lsls r2, 2
+ adds r1, r2
+ ldr r1, [r1]
+ cmp r0, r1
+ bgt _0801A1BC
+ ldr r0, [r7]
+ adds r1, r6, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r7]
+ ldr r3, [r0, 0x34]
+ mov r0, r9
+ str r0, [sp]
+ movs r0, 0x8
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ b _0801A1E0
+ .align 2, 0
+_0801A1A4: .4byte gUnknown_203B214
+_0801A1A8: .4byte gUnknown_80DB8E4
+_0801A1AC: .4byte 0xff00ffff
+_0801A1B0: .4byte 0xffff00ff
+_0801A1B4: .4byte 0xffffff00
+_0801A1B8: .4byte gUnknown_203B460
+_0801A1BC:
+ mov r0, r8
+ ldr r1, _0801A204
+ add r2, sp, 0x4
+ bl sub_800D158
+ ldr r0, [r7]
+ adds r1, r6, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r7]
+ ldr r3, [r0, 0x34]
+ mov r2, r9
+ str r2, [sp]
+ movs r0, 0x8
+ mov r2, r8
+ bl xxx_call_draw_string
+_0801A1E0:
+ adds r6, 0x1
+ ldr r0, [r7]
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ cmp r6, r0
+ blt _0801A122
+_0801A1EC:
+ ldr r0, _0801A208
+ ldr r0, [r0]
+ ldr r0, [r0, 0x34]
+ bl sub_80073E0
+ add sp, 0xB4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801A204: .4byte gUnknown_80DB8EC
+_0801A208: .4byte gUnknown_203B214
+ thumb_func_end sub_801A0D8
+
+ thumb_func_start sub_801A20C
+sub_801A20C:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ bl sub_8091A48
+ cmp r0, 0
+ beq _0801A2A0
+ ldr r5, _0801A294
+ movs r0, 0xA0
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ str r6, [r0, 0x34]
+ lsls r1, r6, 1
+ adds r1, r6
+ lsls r1, 3
+ adds r1, 0x3C
+ adds r1, r0, r1
+ str r1, [r0, 0x38]
+ adds r0, 0x3C
+ bl sub_8006518
+ ldr r1, [r5]
+ ldr r2, [r1, 0x34]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x3C
+ ldr r0, _0801A298
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r0, [r5]
+ ldr r1, [r0, 0x38]
+ adds r0, 0x9C
+ str r0, [r1, 0x14]
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ adds r0, 0x3C
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r5]
+ bl sub_8091A48
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0xA
+ adds r3, r6, 0
+ bl sub_8013818
+ ldr r0, [r5]
+ ldr r1, _0801A29C
+ ldrh r1, [r1]
+ strh r1, [r0, 0x18]
+ bl sub_8013984
+ bl sub_801A430
+ bl sub_801A4A4
+ movs r0, 0x1
+ b _0801A2A2
+ .align 2, 0
+_0801A294: .4byte gUnknown_203B21C
+_0801A298: .4byte gUnknown_80DB914
+_0801A29C: .4byte gUnknown_203B220
+_0801A2A0:
+ movs r0, 0
+_0801A2A2:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801A20C
+
+ thumb_func_start sub_801A2A8
+sub_801A2A8:
+ push {lr}
+ sub sp, 0x4
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801A2C4
+ ldr r0, _0801A2C0
+ ldr r0, [r0]
+ bl sub_8013660
+ movs r0, 0
+ b _0801A376
+ .align 2, 0
+_0801A2C0: .4byte gUnknown_203B21C
+_0801A2C4:
+ ldr r0, _0801A2DC
+ ldr r0, [r0]
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _0801A2E6
+ cmp r0, 0x2
+ bgt _0801A2E0
+ cmp r0, 0x1
+ beq _0801A2F0
+ b _0801A354
+ .align 2, 0
+_0801A2DC: .4byte gUnknown_203B21C
+_0801A2E0:
+ cmp r0, 0x4
+ beq _0801A34A
+ b _0801A354
+_0801A2E6:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _0801A376
+_0801A2F0:
+ bl sub_801A37C
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8091A90
+ ldrb r2, [r0]
+ lsls r2, 16
+ ldr r3, _0801A334
+ ldr r1, [sp]
+ ands r1, r3
+ orrs r1, r2
+ str r1, [sp]
+ ldrb r0, [r0, 0x1]
+ lsls r0, 8
+ ldr r2, _0801A338
+ ands r1, r2
+ orrs r1, r0
+ str r1, [sp]
+ mov r0, sp
+ bl sub_8090C7C
+ ldr r1, _0801A33C
+ ldr r1, [r1]
+ movs r2, 0x98
+ lsls r2, 2
+ adds r1, r2
+ ldr r1, [r1]
+ cmp r0, r1
+ ble _0801A340
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ b _0801A346
+ .align 2, 0
+_0801A334: .4byte 0xff00ffff
+_0801A338: .4byte 0xffff00ff
+_0801A33C: .4byte gUnknown_203B460
+_0801A340:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+_0801A346:
+ movs r0, 0x3
+ b _0801A376
+_0801A34A:
+ movs r0, 0x4
+ bl PlayMenuSoundEffect
+ movs r0, 0x4
+ b _0801A376
+_0801A354:
+ ldr r0, _0801A368
+ ldr r0, [r0]
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801A36C
+ movs r0, 0
+ b _0801A376
+ .align 2, 0
+_0801A368: .4byte gUnknown_203B21C
+_0801A36C:
+ bl sub_801A430
+ bl sub_801A4A4
+ movs r0, 0x1
+_0801A376:
+ add sp, 0x4
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801A2A8
+
+ thumb_func_start sub_801A37C
+sub_801A37C:
+ ldr r0, _0801A394
+ ldr r1, [r0]
+ movs r0, 0x1E
+ ldrsh r2, [r1, r0]
+ movs r3, 0x1C
+ ldrsh r0, [r1, r3]
+ muls r0, r2
+ ldrb r1, [r1, 0x18]
+ adds r0, r1
+ lsls r0, 24
+ lsrs r0, 24
+ bx lr
+ .align 2, 0
+_0801A394: .4byte gUnknown_203B21C
+ thumb_func_end sub_801A37C
+
+ thumb_func_start sub_801A398
+sub_801A398:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl ResetUnusedInputStruct
+ ldr r5, _0801A3D8
+ ldr r0, [r5]
+ adds r0, 0x3C
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ bl sub_8091A48
+ adds r1, r0, 0
+ ldr r0, [r5]
+ strh r1, [r0, 0x22]
+ bl sub_8013984
+ bl sub_801A430
+ bl sub_801A4A4
+ cmp r4, 0
+ beq _0801A3D2
+ ldr r0, [r5]
+ bl AddMenuCursorSprite
+_0801A3D2:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801A3D8: .4byte gUnknown_203B21C
+ thumb_func_end sub_801A398
+
+ thumb_func_start sub_801A3DC
+sub_801A3DC:
+ push {r4,r5,lr}
+ ldr r4, _0801A424
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801A41C
+ ldr r1, _0801A428
+ ldrh r0, [r2, 0x18]
+ strh r0, [r1]
+ ldr r0, [r2, 0x34]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x3C
+ ldr r0, _0801A42C
+ 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]
+_0801A41C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801A424: .4byte gUnknown_203B21C
+_0801A428: .4byte gUnknown_203B220
+_0801A42C: .4byte gUnknown_80DB8FC
+ thumb_func_end sub_801A3DC
+
+ thumb_func_start sub_801A430
+sub_801A430:
+ push {r4,lr}
+ ldr r4, _0801A4A0
+ 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, 0xA
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0x9F
+ strb r2, [r0]
+ ldr r0, [r4]
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ lsls r0, 16
+ ldr r2, [r4]
+ ldr r3, [r2, 0x34]
+ lsls r1, r3, 1
+ adds r1, r3
+ 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
+_0801A4A0: .4byte gUnknown_203B21C
+ thumb_func_end sub_801A430
+
+ thumb_func_start sub_801A4A4
+sub_801A4A4:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0xB4
+ ldr r4, _0801A570
+ ldr r0, [r4]
+ ldr r0, [r0, 0x34]
+ bl sub_8008C54
+ ldr r0, [r4]
+ ldr r0, [r0, 0x34]
+ bl sub_80073B8
+ ldr r1, [r4]
+ movs r2, 0x1E
+ ldrsh r0, [r1, r2]
+ lsls r0, 3
+ adds r0, 0xA
+ ldr r2, _0801A574
+ ldr r3, [r1, 0x34]
+ movs r1, 0
+ str r1, [sp]
+ bl xxx_call_draw_string
+ movs r6, 0
+ ldr r0, [r4]
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ cmp r6, r0
+ bge _0801A5B8
+ adds r7, r4, 0
+ add r4, sp, 0xB0
+ mov r9, r6
+ add r5, sp, 0x54
+ add r2, sp, 0x60
+ mov r8, r2
+_0801A4EE:
+ ldr r0, [r7]
+ movs r2, 0x1E
+ ldrsh r1, [r0, r2]
+ movs r2, 0x1C
+ ldrsh r0, [r0, r2]
+ muls r0, r1
+ adds r0, r6
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8091A90
+ ldrb r2, [r0]
+ lsls r2, 16
+ ldr r3, _0801A578
+ ldr r1, [r4]
+ ands r1, r3
+ orrs r1, r2
+ str r1, [r4]
+ ldrb r2, [r0, 0x1]
+ lsls r2, 8
+ ldr r0, _0801A57C
+ ands r1, r0
+ orrs r1, r2
+ ldr r0, _0801A580
+ ands r1, r0
+ movs r0, 0x3
+ orrs r1, r0
+ str r1, [r4]
+ movs r1, 0x1
+ str r1, [sp, 0x54]
+ mov r0, r9
+ strb r0, [r5, 0x4]
+ movs r0, 0x58
+ strh r0, [r5, 0x6]
+ strb r1, [r5, 0x8]
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_8090E14
+ adds r0, r4, 0
+ bl sub_8090C7C
+ ldr r1, _0801A584
+ ldr r1, [r1]
+ movs r2, 0x98
+ lsls r2, 2
+ adds r1, r2
+ ldr r1, [r1]
+ cmp r0, r1
+ bgt _0801A588
+ ldr r0, [r7]
+ adds r1, r6, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r7]
+ ldr r3, [r0, 0x34]
+ mov r0, r9
+ str r0, [sp]
+ movs r0, 0x8
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ b _0801A5AC
+ .align 2, 0
+_0801A570: .4byte gUnknown_203B21C
+_0801A574: .4byte gUnknown_80DB92C
+_0801A578: .4byte 0xff00ffff
+_0801A57C: .4byte 0xffff00ff
+_0801A580: .4byte 0xffffff00
+_0801A584: .4byte gUnknown_203B460
+_0801A588:
+ mov r0, r8
+ ldr r1, _0801A5D0
+ add r2, sp, 0x4
+ bl sub_800D158
+ ldr r0, [r7]
+ adds r1, r6, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r7]
+ ldr r3, [r0, 0x34]
+ mov r2, r9
+ str r2, [sp]
+ movs r0, 0x8
+ mov r2, r8
+ bl xxx_call_draw_string
+_0801A5AC:
+ adds r6, 0x1
+ ldr r0, [r7]
+ movs r1, 0x1A
+ ldrsh r0, [r0, r1]
+ cmp r6, r0
+ blt _0801A4EE
+_0801A5B8:
+ ldr r0, _0801A5D4
+ ldr r0, [r0]
+ ldr r0, [r0, 0x34]
+ bl sub_80073E0
+ add sp, 0xB4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801A5D0: .4byte gUnknown_80DB934
+_0801A5D4: .4byte gUnknown_203B21C
+ thumb_func_end sub_801A4A4
+
+ thumb_func_start sub_801A5D8
+sub_801A5D8:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r4, r0, 0
+ adds r6, r1, 0
+ adds r7, r2, 0
+ mov r8, r3
+ bl sub_8090A34
+ cmp r0, 0
+ bne _0801A5F2
+ movs r0, 0
+ b _0801A6CC
+_0801A5F2:
+ ldr r5, _0801A6D8
+ ldr r0, [r5]
+ cmp r0, 0
+ bne _0801A604
+ movs r0, 0xF4
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+_0801A604:
+ ldr r0, [r5]
+ str r4, [r0]
+ bl sub_80910B4
+ bl sub_801AE84
+ ldr r0, [r5]
+ adds r1, r0, 0
+ adds r1, 0x88
+ str r6, [r1]
+ adds r2, r0, 0
+ adds r2, 0x8C
+ lsls r1, r6, 1
+ adds r1, r6
+ lsls r1, 3
+ adds r1, 0x90
+ adds r1, r0, r1
+ str r1, [r2]
+ adds r0, 0x90
+ bl sub_8006518
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x88
+ ldr r2, [r0]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x90
+ ldr r0, _0801A6DC
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r2, [r5]
+ adds r0, r2, 0
+ adds r0, 0x8C
+ ldr r1, [r0]
+ adds r0, 0x64
+ str r0, [r1, 0x14]
+ cmp r7, 0
+ beq _0801A66E
+ subs r0, 0x68
+ ldr r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r1, r2, 0
+ adds r1, 0x98
+ adds r1, r0
+ ldr r0, [r7]
+ str r0, [r1]
+_0801A66E:
+ ldr r0, [r5]
+ adds r0, 0x8C
+ ldr r0, [r0]
+ mov r1, r8
+ bl sub_8012D08
+ movs r0, 0x1
+ bl sub_8099690
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ adds r0, 0x90
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r5]
+ adds r4, 0x54
+ bl sub_8090A34
+ adds r1, r0, 0
+ adds r0, r4, 0
+ mov r2, r8
+ adds r3, r6, 0
+ bl sub_8013818
+ ldr r2, [r5]
+ ldr r0, _0801A6E0
+ ldrh r1, [r0]
+ adds r0, r2, 0
+ adds r0, 0x6C
+ strh r1, [r0]
+ ldr r0, _0801A6E4
+ ldrh r0, [r0]
+ adds r1, r2, 0
+ adds r1, 0x72
+ strh r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0x54
+ bl sub_8013984
+ bl sub_801A998
+ bl sub_801A9E0
+ movs r0, 0x1
+_0801A6CC:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801A6D8: .4byte gUnknown_203B224
+_0801A6DC: .4byte gUnknown_80DB95C
+_0801A6E0: .4byte gUnknown_203B228
+_0801A6E4: .4byte gUnknown_203B22A
+ thumb_func_end sub_801A5D8
+
+ thumb_func_start sub_801A6E8
+sub_801A6E8:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801A704
+ ldr r0, _0801A700
+ ldr r0, [r0]
+ adds r0, 0x54
+ bl sub_8013660
+ movs r0, 0
+ b _0801A8A2
+ .align 2, 0
+_0801A700: .4byte gUnknown_203B224
+_0801A704:
+ ldr r0, _0801A720
+ ldr r0, [r0]
+ adds r0, 0x54
+ bl GetKeyPress
+ subs r0, 0x1
+ cmp r0, 0x5
+ bls _0801A716
+ b _0801A87C
+_0801A716:
+ lsls r0, 2
+ ldr r1, _0801A724
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801A720: .4byte gUnknown_203B224
+_0801A724: .4byte _0801A728
+ .align 2, 0
+_0801A728:
+ .4byte _0801A74A
+ .4byte _0801A740
+ .4byte _0801A864
+ .4byte _0801A806
+ .4byte _0801A810
+ .4byte _0801A810
+_0801A740:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _0801A8A2
+_0801A74A:
+ ldr r1, _0801A760
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0x5
+ bhi _0801A802
+ lsls r0, 2
+ ldr r1, _0801A764
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801A760: .4byte gUnknown_203B224
+_0801A764: .4byte _0801A768
+ .align 2, 0
+_0801A768:
+ .4byte _0801A780
+ .4byte _0801A780
+ .4byte _0801A780
+ .4byte _0801A794
+ .4byte _0801A7AC
+ .4byte _0801A7FC
+_0801A780:
+ ldr r4, [r4]
+ bl sub_801A8AC
+ lsls r0, 2
+ adds r4, 0x4
+ adds r4, r0
+ ldr r0, [r4]
+ cmp r0, 0
+ bne _0801A7F4
+ b _0801A7E2
+_0801A794:
+ bl sub_801AEA8
+ cmp r0, 0
+ bne _0801A7E2
+ bl sub_801A8AC
+ bl sub_801ADA0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801A7E2
+ b _0801A7F4
+_0801A7AC:
+ ldr r5, _0801A7EC
+ ldr r4, [r5]
+ bl sub_801A8AC
+ lsls r0, 2
+ adds r4, r0
+ ldr r0, [r4]
+ str r0, [sp]
+ mov r0, sp
+ ldrb r0, [r0, 0x2]
+ bl sub_80914E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801A7F4
+ mov r0, sp
+ bl sub_8090CCC
+ ldr r1, [r5]
+ movs r2, 0x98
+ lsls r2, 2
+ adds r1, r2
+ ldr r1, [r1]
+ adds r0, r1
+ ldr r1, _0801A7F0
+ cmp r0, r1
+ bgt _0801A7F4
+_0801A7E2:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ b _0801A802
+ .align 2, 0
+_0801A7EC: .4byte gUnknown_203B460
+_0801A7F0: .4byte 0x0001869f
+_0801A7F4:
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ b _0801A802
+_0801A7FC:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+_0801A802:
+ movs r0, 0x3
+ b _0801A8A2
+_0801A806:
+ movs r0, 0x4
+ bl PlayMenuSoundEffect
+ movs r0, 0x4
+ b _0801A8A2
+_0801A810:
+ ldr r4, _0801A858
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0x3
+ bne _0801A87C
+ bl sub_801A8AC
+ adds r1, r0, 0
+ ldr r0, [r4]
+ lsls r5, r1, 2
+ adds r0, 0x4
+ adds r0, r5
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0801A83A
+ adds r0, r1, 0
+ bl sub_801ADA0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801A85C
+_0801A83A:
+ movs r0, 0x6
+ bl PlayMenuSoundEffect
+ ldr r0, [r4]
+ adds r2, r0, 0x4
+ adds r2, r5
+ ldr r1, [r2]
+ movs r3, 0x1
+ eors r1, r3
+ str r1, [r2]
+ adds r0, 0x54
+ movs r1, 0
+ bl sub_80138B8
+ b _0801A89C
+ .align 2, 0
+_0801A858: .4byte gUnknown_203B224
+_0801A85C:
+ movs r0, 0x2
+ bl PlayMenuSoundEffect
+ b _0801A87C
+_0801A864:
+ ldr r0, _0801A894
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x2
+ beq _0801A87C
+ movs r0, 0x5
+ bl PlayMenuSoundEffect
+ bl sub_801AEF8
+ bl sub_801A9E0
+_0801A87C:
+ ldr r0, _0801A894
+ ldr r0, [r0]
+ adds r0, 0x54
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801A898
+ movs r0, 0
+ b _0801A8A2
+ .align 2, 0
+_0801A894: .4byte gUnknown_203B224
+_0801A898:
+ bl sub_801A998
+_0801A89C:
+ bl sub_801A9E0
+ movs r0, 0x1
+_0801A8A2:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801A6E8
+
+ thumb_func_start sub_801A8AC
+sub_801A8AC:
+ ldr r0, _0801A8CC
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x72
+ 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, 0x6C
+ movs r2, 0
+ ldrsh r1, [r1, r2]
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_0801A8CC: .4byte gUnknown_203B224
+ thumb_func_end sub_801A8AC
+
+ thumb_func_start sub_801A8D0
+sub_801A8D0:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x1
+ bl sub_8099690
+ bl ResetUnusedInputStruct
+ ldr r5, _0801A924
+ ldr r0, [r5]
+ adds r0, 0x90
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ bl sub_80910B4
+ bl sub_8090A34
+ adds r1, r0, 0
+ ldr r0, [r5]
+ adds r2, r0, 0
+ adds r2, 0x76
+ strh r1, [r2]
+ adds r0, 0x54
+ bl sub_8013984
+ bl sub_801A998
+ bl sub_801A9E0
+ cmp r4, 0
+ beq _0801A91C
+ ldr r0, [r5]
+ adds r0, 0x54
+ bl AddMenuCursorSprite
+_0801A91C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801A924: .4byte gUnknown_203B224
+ thumb_func_end sub_801A8D0
+
+ thumb_func_start sub_801A928
+sub_801A928:
+ push {r4,r5,lr}
+ ldr r4, _0801A988
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801A980
+ ldr r1, _0801A98C
+ adds r0, r2, 0
+ adds r0, 0x6C
+ ldrh r0, [r0]
+ strh r0, [r1]
+ ldr r1, _0801A990
+ adds r0, r2, 0
+ adds r0, 0x72
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0x88
+ ldr r0, [r0]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x90
+ ldr r0, _0801A994
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ movs r0, 0
+ bl sub_8099690
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x90
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801A980:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801A988: .4byte gUnknown_203B224
+_0801A98C: .4byte gUnknown_203B228
+_0801A990: .4byte gUnknown_203B22A
+_0801A994: .4byte gUnknown_80DB944
+ thumb_func_end sub_801A928
+
+ thumb_func_start sub_801A998
+sub_801A998:
+ push {r4,lr}
+ ldr r4, _0801A9DC
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x74
+ ldrh r1, [r1]
+ adds r0, 0xF0
+ movs r2, 0
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x72
+ ldrh r1, [r1]
+ adds r0, 0xF1
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xF2
+ movs r1, 0xB
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xF3
+ strb r2, [r0]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x90
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801A9DC: .4byte gUnknown_203B224
+ thumb_func_end sub_801A998
+
+ thumb_func_start sub_801A9E0
+sub_801A9E0:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0xCC
+ ldr r4, _0801AA2C
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r0, [r0]
+ bl sub_8008C54
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r0, [r0]
+ bl sub_80073B8
+ ldr r4, [r4]
+ adds r1, r4, 0
+ adds r1, 0x72
+ movs r2, 0
+ ldrsh r0, [r1, r2]
+ lsls r0, 3
+ adds r5, r0, 0
+ adds r5, 0xA
+ movs r3, 0
+ ldrsh r1, [r1, r3]
+ cmp r1, 0
+ bne _0801AA34
+ ldr r2, _0801AA30
+ adds r0, r4, 0
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r1, [sp]
+ adds r0, r5, 0
+ movs r1, 0
+ bl xxx_call_draw_string
+ b _0801AA48
+ .align 2, 0
+_0801AA2C: .4byte gUnknown_203B224
+_0801AA30: .4byte gTeamToolboxA
+_0801AA34:
+ ldr r2, _0801AA58
+ adds r0, r4, 0
+ adds r0, 0x88
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0
+ bl xxx_call_draw_string
+_0801AA48:
+ movs r7, 0
+ ldr r1, _0801AA5C
+ ldr r0, [r1]
+ adds r0, 0x6E
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ b _0801AD0A
+ .align 2, 0
+_0801AA58: .4byte gTeamToolboxB
+_0801AA5C: .4byte gUnknown_203B224
+_0801AA60:
+ ldr r2, [r1]
+ adds r0, r2, 0
+ adds r0, 0x72
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ subs r0, 0x2
+ movs r4, 0
+ ldrsh r0, [r0, r4]
+ muls r0, r1
+ adds r0, r7
+ mov r8, r0
+ ldr r0, _0801AA9C
+ ldr r0, [r0]
+ mov r3, r8
+ lsls r1, r3, 2
+ adds r0, r1
+ ldr r0, [r0]
+ add r1, sp, 0xC8
+ str r0, [r1]
+ ldr r0, [r2]
+ adds r4, r1, 0
+ cmp r0, 0x5
+ bls _0801AA90
+ b _0801ACC4
+_0801AA90:
+ lsls r0, 2
+ ldr r1, _0801AAA0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801AA9C: .4byte gUnknown_203B460
+_0801AAA0: .4byte _0801AAA4
+ .align 2, 0
+_0801AAA4:
+ .4byte _0801AABC
+ .4byte _0801AAE4
+ .4byte _0801AAE4
+ .4byte _0801AB18
+ .4byte _0801AB90
+ .4byte _0801AC50
+_0801AABC:
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8090E14
+ ldr r4, _0801AAE0
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r3, [r0]
+ movs r0, 0
+ str r0, [sp]
+ b _0801AC8C
+ .align 2, 0
+_0801AAE0: .4byte gUnknown_203B224
+_0801AAE4:
+ add r2, sp, 0x54
+ movs r5, 0
+ str r5, [sp, 0x54]
+ strb r5, [r2, 0x4]
+ movs r0, 0x1
+ strb r0, [r2, 0x8]
+ strb r0, [r4]
+ add r1, sp, 0xC8
+ add r0, sp, 0x4
+ bl sub_8090E14
+ ldr r4, _0801AB14
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r5, [sp]
+ b _0801AC8C
+ .align 2, 0
+_0801AB14: .4byte gUnknown_203B224
+_0801AB18:
+ add r2, sp, 0x60
+ movs r6, 0
+ str r6, [sp, 0x60]
+ strb r6, [r2, 0x4]
+ movs r0, 0x1
+ strb r0, [r2, 0x8]
+ strb r0, [r4]
+ add r1, sp, 0xC8
+ add r0, sp, 0x4
+ bl sub_8090E14
+ ldr r5, _0801AB60
+ ldr r0, [r5]
+ mov r4, r8
+ lsls r1, r4, 2
+ adds r0, 0x4
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0801AB4E
+ mov r0, r8
+ bl sub_801ADA0
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ beq _0801AB64
+_0801AB4E:
+ ldr r0, [r5]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r5]
+ b _0801AC86
+ .align 2, 0
+_0801AB60: .4byte gUnknown_203B224
+_0801AB64:
+ ldr r0, _0801AB88
+ add r1, sp, 0x4
+ movs r2, 0x50
+ bl strncpy
+ ldr r0, [r5]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r2, _0801AB8C
+ ldr r0, [r5]
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r4, [sp]
+ b _0801AC3C
+ .align 2, 0
+_0801AB88: .4byte gUnknown_202DE58
+_0801AB8C: .4byte gUnknown_80DB994
+_0801AB90:
+ ldrb r0, [r4, 0x2]
+ bl sub_80914E4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ beq _0801AC10
+ add r2, sp, 0x6C
+ movs r1, 0x3
+ str r1, [sp, 0x6C]
+ movs r6, 0
+ strb r6, [r2, 0x4]
+ movs r0, 0x58
+ strh r0, [r2, 0x6]
+ movs r0, 0x1
+ strb r0, [r2, 0x8]
+ strb r1, [r4]
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ bl sub_8090E14
+ adds r0, r4, 0
+ bl sub_8090CCC
+ ldr r1, _0801AC00
+ ldr r1, [r1]
+ movs r2, 0x98
+ lsls r2, 2
+ adds r1, r2
+ ldr r1, [r1]
+ adds r0, r1
+ ldr r1, _0801AC04
+ cmp r0, r1
+ ble _0801AC76
+ add r5, sp, 0x78
+ ldr r1, _0801AC08
+ adds r0, r5, 0
+ add r2, sp, 0x4
+ bl sub_800D158
+ ldr r4, _0801AC0C
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r6, [sp]
+ movs r0, 0x8
+ adds r2, r5, 0
+ bl xxx_call_draw_string
+ b _0801ACC4
+ .align 2, 0
+_0801AC00: .4byte gUnknown_203B460
+_0801AC04: .4byte 0x0001869f
+_0801AC08: .4byte gUnknown_80DB9A0
+_0801AC0C: .4byte gUnknown_203B224
+_0801AC10:
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8090E14
+ ldr r0, _0801AC44
+ add r1, sp, 0x4
+ movs r2, 0x50
+ bl strncpy
+ ldr r4, _0801AC48
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r2, _0801AC4C
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r5, [sp]
+_0801AC3C:
+ movs r0, 0x8
+ bl sub_8014FF0
+ b _0801ACC4
+ .align 2, 0
+_0801AC44: .4byte gUnknown_202DE58
+_0801AC48: .4byte gUnknown_203B224
+_0801AC4C: .4byte gUnknown_80DB994
+_0801AC50:
+ add r2, sp, 0x78
+ movs r6, 0
+ str r6, [sp, 0x78]
+ strb r6, [r2, 0x4]
+ movs r0, 0x1
+ strb r0, [r2, 0x8]
+ strb r0, [r4]
+ add r4, sp, 0xC8
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ bl sub_8090E14
+ ldrb r0, [r4, 0x2]
+ bl sub_8091764
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ beq _0801AC9C
+_0801AC76:
+ ldr r4, _0801AC98
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r0, [r4]
+_0801AC86:
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r6, [sp]
+_0801AC8C:
+ movs r0, 0x8
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ b _0801ACC4
+ .align 2, 0
+_0801AC98: .4byte gUnknown_203B224
+_0801AC9C:
+ ldr r0, _0801AD28
+ add r1, sp, 0x4
+ movs r2, 0x50
+ bl strncpy
+ ldr r4, _0801AD2C
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r1, r0, 0
+ ldr r2, _0801AD30
+ ldr r0, [r4]
+ adds r0, 0x88
+ ldr r3, [r0]
+ str r5, [sp]
+ movs r0, 0x8
+ bl sub_8014FF0
+_0801ACC4:
+ mov r0, r8
+ bl sub_801AED0
+ movs r1, 0x1
+ ands r1, r0
+ cmp r1, 0
+ beq _0801ACFE
+ ldr r4, _0801AD2C
+ ldr r0, [r4]
+ adds r0, 0x54
+ adds r1, r7, 0
+ bl sub_8013800
+ adds r2, r0, 0
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x88
+ ldr r0, [r0]
+ adds r1, 0x8C
+ ldr r1, [r1]
+ movs r4, 0xC
+ ldrsh r3, [r1, r4]
+ subs r3, 0x2
+ lsls r3, 3
+ movs r1, 0xA
+ str r1, [sp]
+ movs r1, 0x8
+ bl sub_8007B7C
+_0801ACFE:
+ adds r7, 0x1
+ ldr r1, _0801AD2C
+ ldr r0, [r1]
+ adds r0, 0x6E
+ movs r2, 0
+ ldrsh r0, [r0, r2]
+_0801AD0A:
+ adds r2, r1, 0
+ cmp r7, r0
+ bge _0801AD12
+ b _0801AA60
+_0801AD12:
+ ldr r0, [r2]
+ adds r0, 0x88
+ ldr r0, [r0]
+ bl sub_80073E0
+ add sp, 0xCC
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801AD28: .4byte gUnknown_202DE58
+_0801AD2C: .4byte gUnknown_203B224
+_0801AD30: .4byte gUnknown_80DB994
+ thumb_func_end sub_801A9E0
+
+ thumb_func_start sub_801AD34
+sub_801AD34:
+ push {r4-r6,lr}
+ sub sp, 0x8
+ adds r4, r0, 0
+ bl sub_8008C54
+ adds r0, r4, 0
+ bl sub_80073B8
+ ldr r2, _0801AD98
+ movs r6, 0
+ str r6, [sp]
+ movs r0, 0x6
+ movs r1, 0
+ adds r3, r4, 0
+ bl xxx_call_draw_string
+ bl sub_8090A34
+ adds r2, r0, 0
+ movs r5, 0x7
+ str r5, [sp]
+ str r4, [sp, 0x4]
+ movs r0, 0x12
+ movs r1, 0xD
+ movs r3, 0x2
+ bl sub_8012BC4
+ ldr r2, _0801AD9C
+ str r6, [sp]
+ movs r0, 0x16
+ movs r1, 0xD
+ adds r3, r4, 0
+ bl xxx_call_draw_string
+ str r5, [sp]
+ str r4, [sp, 0x4]
+ movs r0, 0x2B
+ movs r1, 0xD
+ movs r2, 0x14
+ movs r3, 0x2
+ bl sub_8012BC4
+ adds r0, r4, 0
+ bl sub_80073E0
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801AD98: .4byte gUnknown_80DB9A8
+_0801AD9C: .4byte gUnknown_80DB9B0
+ thumb_func_end sub_801AD34
+
+ thumb_func_start sub_801ADA0
+sub_801ADA0:
+ push {r4-r6,lr}
+ ldr r5, _0801ADEC
+ ldr r1, [r5]
+ lsls r0, 2
+ adds r1, r0
+ ldr r6, [r1]
+ lsls r4, r6, 8
+ lsrs r0, r4, 24
+ bl sub_8091524
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801AE12
+ lsrs r0, r4, 24
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801ADF4
+ lsrs r0, r4, 24
+ bl sub_801AE24
+ ldr r2, [r5]
+ lsrs r1, r4, 24
+ lsls r1, 1
+ adds r2, 0x50
+ adds r2, r1
+ lsls r0, 16
+ lsrs r0, 16
+ ldrh r2, [r2]
+ adds r0, r2
+ lsrs r1, r6, 8
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r1
+ ldr r1, _0801ADF0
+ b _0801AE0E
+ .align 2, 0
+_0801ADEC: .4byte gUnknown_203B460
+_0801ADF0: .4byte 0x000003e7
+_0801ADF4:
+ lsrs r0, r4, 24
+ bl sub_801AE24
+ ldr r2, [r5]
+ lsrs r1, r4, 24
+ lsls r1, 1
+ adds r2, 0x50
+ adds r2, r1
+ lsls r0, 16
+ lsrs r0, 16
+ ldrh r2, [r2]
+ adds r0, r2
+ ldr r1, _0801AE18
+_0801AE0E:
+ cmp r0, r1
+ ble _0801AE1C
+_0801AE12:
+ movs r0, 0
+ b _0801AE1E
+ .align 2, 0
+_0801AE18: .4byte 0x000003e6
+_0801AE1C:
+ movs r0, 0x1
+_0801AE1E:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801ADA0
+
+ thumb_func_start sub_801AE24
+sub_801AE24:
+ push {r4-r7,lr}
+ adds r7, r0, 0
+ movs r5, 0
+ movs r6, 0
+ b _0801AE74
+_0801AE2E:
+ ldr r0, _0801AE64
+ ldr r0, [r0]
+ lsls r1, r6, 2
+ adds r0, 0x4
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0801AE72
+ ldr r0, _0801AE68
+ ldr r0, [r0]
+ adds r0, r1
+ ldr r4, [r0]
+ lsls r1, r4, 8
+ lsrs r0, r1, 24
+ cmp r0, r7
+ bne _0801AE72
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801AE6C
+ lsrs r0, r4, 8
+ lsls r0, 24
+ lsrs r0, 24
+ adds r0, r5, r0
+ b _0801AE6E
+ .align 2, 0
+_0801AE64: .4byte gUnknown_203B224
+_0801AE68: .4byte gUnknown_203B460
+_0801AE6C:
+ adds r0, r5, 0x1
+_0801AE6E:
+ lsls r0, 16
+ lsrs r5, r0, 16
+_0801AE72:
+ adds r6, 0x1
+_0801AE74:
+ bl sub_8090A34
+ cmp r6, r0
+ blt _0801AE2E
+ adds r0, r5, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801AE24
+
+ thumb_func_start sub_801AE84
+sub_801AE84:
+ push {r4,lr}
+ movs r2, 0
+ ldr r4, _0801AEA4
+ movs r3, 0
+_0801AE8C:
+ ldr r0, [r4]
+ lsls r1, r2, 2
+ adds r0, 0x4
+ adds r0, r1
+ str r3, [r0]
+ adds r2, 0x1
+ cmp r2, 0x13
+ ble _0801AE8C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801AEA4: .4byte gUnknown_203B224
+ thumb_func_end sub_801AE84
+
+ thumb_func_start sub_801AEA8
+sub_801AEA8:
+ push {lr}
+ movs r3, 0
+ ldr r0, _0801AECC
+ ldr r0, [r0]
+ adds r1, r0, 0x4
+ movs r2, 0x13
+_0801AEB4:
+ ldr r0, [r1]
+ cmp r0, 0
+ beq _0801AEBC
+ adds r3, 0x1
+_0801AEBC:
+ adds r1, 0x4
+ subs r2, 0x1
+ cmp r2, 0
+ bge _0801AEB4
+ adds r0, r3, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801AECC: .4byte gUnknown_203B224
+ thumb_func_end sub_801AEA8
+
+ thumb_func_start sub_801AED0
+sub_801AED0:
+ ldr r1, _0801AEE0
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, 0x4
+ adds r1, r0
+ ldr r0, [r1]
+ bx lr
+ .align 2, 0
+_0801AEE0: .4byte gUnknown_203B224
+ thumb_func_end sub_801AED0
+
+ thumb_func_start sub_801AEE4
+sub_801AEE4:
+ ldr r2, _0801AEF4
+ ldr r2, [r2]
+ lsls r0, 2
+ adds r2, 0x4
+ adds r2, r0
+ str r1, [r2]
+ bx lr
+ .align 2, 0
+_0801AEF4: .4byte gUnknown_203B224
+ thumb_func_end sub_801AEE4
+
+ thumb_func_start sub_801AEF8
+sub_801AEF8:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ movs r0, 0
+ mov r9, r0
+ b _0801AF78
+_0801AF08:
+ movs r1, 0x1
+ add r1, r9
+ mov r8, r1
+ mov r7, r8
+ b _0801AF6E
+_0801AF12:
+ ldr r2, _0801AF90
+ ldr r0, [r2]
+ mov r1, r9
+ lsls r6, r1, 2
+ adds r0, r6
+ ldrb r0, [r0, 0x2]
+ str r2, [sp]
+ bl GetItemOrder
+ adds r4, r0, 0
+ ldr r2, [sp]
+ ldr r0, [r2]
+ lsls r5, r7, 2
+ adds r0, r5
+ ldrb r0, [r0, 0x2]
+ bl GetItemOrder
+ ldr r2, [sp]
+ cmp r4, r0
+ bgt _0801AF4C
+ cmp r4, r0
+ bne _0801AF6C
+ ldr r0, [r2]
+ adds r1, r0, r6
+ adds r0, r5
+ ldrb r1, [r1, 0x1]
+ ldrb r0, [r0, 0x1]
+ cmp r1, r0
+ bcs _0801AF6C
+_0801AF4C:
+ ldr r0, [r2]
+ adds r2, r0, r6
+ ldr r3, [r2]
+ adds r0, r5
+ ldr r1, [r0]
+ str r1, [r2]
+ str r3, [r0]
+ ldr r0, _0801AF94
+ ldr r0, [r0]
+ adds r0, 0x4
+ adds r2, r0, r6
+ ldr r3, [r2]
+ adds r0, r5
+ ldr r1, [r0]
+ str r1, [r2]
+ str r3, [r0]
+_0801AF6C:
+ adds r7, 0x1
+_0801AF6E:
+ bl sub_8090A34
+ cmp r7, r0
+ blt _0801AF12
+ mov r9, r8
+_0801AF78:
+ bl sub_8090A34
+ subs r0, 0x1
+ cmp r9, r0
+ blt _0801AF08
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801AF90: .4byte gUnknown_203B460
+_0801AF94: .4byte gUnknown_203B224
+ thumb_func_end sub_801AEF8
+
+ thumb_func_start sub_801AF98
+sub_801AF98:
+ ldr r0, _0801AFA0
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_0801AFA0: .4byte gUnknown_203B224
+ thumb_func_end sub_801AF98
+
+ thumb_func_start sub_801AFA4
+sub_801AFA4:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r5, _0801AFEC
+ movs r0, 0xA4
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ str r4, [r0, 0x4]
+ ldr r1, _0801AFF0
+ ldr r1, [r1]
+ lsls r4, 2
+ adds r1, r4
+ ldrb r1, [r1, 0x2]
+ strb r1, [r0, 0x8]
+ ldr r0, [r5]
+ ldrb r0, [r0, 0x8]
+ bl sub_80913CC
+ ldr r1, [r5]
+ strh r0, [r1, 0xA]
+ ldr r0, _0801AFF4
+ ldrh r1, [r1, 0xA]
+ bl sub_8092C84
+ movs r0, 0
+ bl sub_8099690
+ bl sub_801B2F4
+ cmp r0, 0
+ bne _0801AFF8
+ movs r0, 0x3
+ bl sub_801B064
+ b _0801B004
+ .align 2, 0
+_0801AFEC: .4byte gUnknown_203B22C
+_0801AFF0: .4byte gUnknown_203B460
+_0801AFF4: .4byte gUnknown_202E1C8
+_0801AFF8:
+ ldr r1, [r5]
+ movs r0, 0x4
+ str r0, [r1, 0x60]
+ movs r0, 0
+ bl sub_801B064
+_0801B004:
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801AFA4
+
+ thumb_func_start sub_801B00C
+sub_801B00C:
+ push {lr}
+ ldr r0, _0801B024
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x1
+ beq _0801B036
+ cmp r0, 0x1
+ bgt _0801B028
+ cmp r0, 0
+ beq _0801B030
+ b _0801B03C
+ .align 2, 0
+_0801B024: .4byte gUnknown_203B22C
+_0801B028:
+ cmp r0, 0x4
+ bne _0801B03C
+ movs r0, 0x3
+ b _0801B042
+_0801B030:
+ bl sub_801B200
+ b _0801B040
+_0801B036:
+ bl sub_801B2AC
+ b _0801B040
+_0801B03C:
+ bl sub_801B2D8
+_0801B040:
+ movs r0, 0
+_0801B042:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801B00C
+
+ thumb_func_start sub_801B048
+sub_801B048:
+ push {r4,lr}
+ ldr r4, _0801B060
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0801B05A
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801B05A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801B060: .4byte gUnknown_203B22C
+ thumb_func_end sub_801B048
+
+ thumb_func_start sub_801B064
+sub_801B064:
+ push {lr}
+ ldr r1, _0801B078
+ ldr r1, [r1]
+ str r0, [r1]
+ bl nullsub_37
+ bl sub_801B080
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801B078: .4byte gUnknown_203B22C
+ thumb_func_end sub_801B064
+
+ thumb_func_start nullsub_37
+nullsub_37:
+ bx lr
+ thumb_func_end nullsub_37
+
+ thumb_func_start sub_801B080
+sub_801B080:
+ push {r4,lr}
+ sub sp, 0x14
+ ldr r1, _0801B09C
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0x4
+ bhi _0801B168
+ lsls r0, 2
+ ldr r1, _0801B0A0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801B09C: .4byte gUnknown_203B22C
+_0801B0A0: .4byte _0801B0A4
+ .align 2, 0
+_0801B0A4:
+ .4byte _0801B0B8
+ .4byte _0801B0E8
+ .4byte _0801B0FC
+ .4byte _0801B15C
+ .4byte _0801B168
+_0801B0B8:
+ bl sub_801B178
+ ldr r0, _0801B0E0
+ ldr r1, _0801B0E4
+ ldr r3, [r1]
+ ldr r2, [r3, 0x60]
+ adds r3, 0x64
+ movs r4, 0
+ str r4, [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
+ bl sub_8014248
+ b _0801B168
+ .align 2, 0
+_0801B0E0: .4byte gUnknown_80DB9BC
+_0801B0E4: .4byte gUnknown_203B22C
+_0801B0E8:
+ ldr r2, [r4]
+ adds r0, r2, 0
+ adds r0, 0x58
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ adds r2, 0xC
+ movs r0, 0x2
+ bl DisplayGulpinDialogueSprite
+ b _0801B168
+_0801B0FC:
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0xC
+ ldr r1, [r1, 0x5C]
+ adds r1, 0x2C
+ bl sub_8094060
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x8]
+ bl sub_80915A0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801B138
+ ldr r3, _0801B150
+ ldr r1, [r3]
+ ldr r2, [r4]
+ ldr r0, [r2, 0x4]
+ lsls r0, 2
+ adds r1, r0
+ ldrb r0, [r2, 0x8]
+ subs r0, 0x7D
+ strb r0, [r1, 0x1]
+ ldr r1, [r3]
+ ldr r0, [r4]
+ ldr r0, [r0, 0x4]
+ lsls r0, 2
+ adds r1, r0
+ movs r0, 0x7C
+ strb r0, [r1, 0x2]
+_0801B138:
+ movs r0, 0x9C
+ lsls r0, 1
+ bl PlaySound
+ ldr r0, _0801B154
+ ldr r3, _0801B158
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _0801B168
+ .align 2, 0
+_0801B150: .4byte gUnknown_203B460
+_0801B154: .4byte gUnknown_80DB9E4
+_0801B158: .4byte 0x00000121
+_0801B15C:
+ ldr r0, _0801B170
+ ldr r3, _0801B174
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+_0801B168:
+ add sp, 0x14
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801B170: .4byte gUnknown_80DBA0C
+_0801B174: .4byte 0x00000121
+ thumb_func_end sub_801B080
+
+ thumb_func_start sub_801B178
+sub_801B178:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r5, 0
+ ldr r1, _0801B1F4
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4C]
+ cmp r5, r0
+ bge _0801B1D2
+ ldr r0, _0801B1F8
+ mov r8, r0
+ adds r7, r1, 0
+ movs r6, 0
+_0801B192:
+ ldr r4, _0801B1FC
+ adds r4, r6, r4
+ ldr r0, [r7]
+ lsls r1, r5, 1
+ adds r0, 0x50
+ adds r0, r1
+ movs r2, 0
+ ldrsh r1, [r0, r2]
+ movs r0, 0x58
+ muls r0, r1
+ mov r2, r8
+ ldr r1, [r2]
+ adds r1, r0
+ adds r0, r4, 0
+ bl sub_808DA34
+ ldr r2, [r7]
+ lsls r1, r5, 3
+ adds r0, r2, 0
+ adds r0, 0x64
+ adds r0, r1
+ str r4, [r0]
+ adds r0, r2, 0
+ adds r0, 0x68
+ adds r0, r1
+ adds r1, r5, 0x4
+ str r1, [r0]
+ adds r6, 0x50
+ adds r5, 0x1
+ ldr r0, [r2, 0x4C]
+ cmp r5, r0
+ blt _0801B192
+_0801B1D2:
+ ldr r0, _0801B1F4
+ ldr r2, [r0]
+ lsls r3, r5, 3
+ adds r0, r2, 0
+ adds r0, 0x64
+ adds r0, r3
+ movs r1, 0
+ str r1, [r0]
+ adds r2, 0x68
+ adds r2, r3
+ movs r0, 0x1
+ str r0, [r2]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801B1F4: .4byte gUnknown_203B22C
+_0801B1F8: .4byte gRecruitedPokemonRef
+_0801B1FC: .4byte gAvailablePokemonNames
+ thumb_func_end sub_801B178
+
+ thumb_func_start sub_801B200
+sub_801B200:
+ push {r4-r6,lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801B2A4
+ ldr r5, _0801B228
+ ldr r3, [r5]
+ ldr r0, [sp]
+ str r0, [r3, 0x60]
+ ldr r1, [sp]
+ cmp r1, 0
+ beq _0801B2A4
+ cmp r1, 0x1
+ bne _0801B22C
+ movs r0, 0x4
+ bl sub_801B064
+ b _0801B2A4
+ .align 2, 0
+_0801B228: .4byte gUnknown_203B22C
+_0801B22C:
+ subs r1, 0x4
+ lsls r1, 1
+ adds r0, r3, 0
+ adds r0, 0x50
+ adds r0, r1
+ ldrh r0, [r0]
+ adds r1, r3, 0
+ adds r1, 0x58
+ strh r0, [r1]
+ ldr r2, _0801B26C
+ movs r0, 0
+ ldrsh r1, [r1, r0]
+ movs r0, 0x58
+ muls r0, r1
+ ldr r1, [r2]
+ adds r1, r0
+ str r1, [r3, 0x5C]
+ ldr r0, _0801B270
+ bl sub_808DA34
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0xC
+ ldr r1, [r1, 0x5C]
+ adds r1, 0x2C
+ bl sub_809401C
+ movs r4, 0
+ adds r6, r5, 0
+ movs r5, 0xC
+ b _0801B278
+ .align 2, 0
+_0801B26C: .4byte gRecruitedPokemonRef
+_0801B270: .4byte gUnknown_202E218
+_0801B274:
+ adds r5, 0x8
+ adds r4, 0x1
+_0801B278:
+ cmp r4, 0x7
+ bgt _0801B292
+ ldr r3, [r6]
+ adds r2, r3, r5
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0801B274
+ ldrh r1, [r3, 0xA]
+ adds r0, r2, 0
+ bl sub_8092AD4
+_0801B292:
+ cmp r4, 0x3
+ ble _0801B29E
+ movs r0, 0x1
+ bl sub_801B064
+ b _0801B2A4
+_0801B29E:
+ movs r0, 0x2
+ bl sub_801B064
+_0801B2A4:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801B200
+
+ thumb_func_start sub_801B2AC
+sub_801B2AC:
+ push {lr}
+ bl sub_801E8C0
+ cmp r0, 0x2
+ beq _0801B2CA
+ cmp r0, 0x2
+ bcc _0801B2D4
+ cmp r0, 0x3
+ bne _0801B2D4
+ bl sub_801E93C
+ movs r0, 0x2
+ bl sub_801B064
+ b _0801B2D4
+_0801B2CA:
+ bl sub_801E93C
+ movs r0, 0
+ bl sub_801B064
+_0801B2D4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801B2AC
+
+ thumb_func_start sub_801B2D8
+sub_801B2D8:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801B2EC
+ movs r0, 0x4
+ bl sub_801B064
+_0801B2EC:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801B2D8
+
+ thumb_func_start sub_801B2F4
+sub_801B2F4:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x10
+ mov r0, sp
+ bl sub_808D580
+ adds r6, r0, 0
+ ldr r2, _0801B36C
+ ldr r1, [r2]
+ movs r0, 0
+ str r0, [r1, 0x4C]
+ movs r5, 0
+ cmp r5, r6
+ bge _0801B35A
+ ldr r0, _0801B370
+ mov r8, r0
+ adds r7, r2, 0
+ mov r4, sp
+_0801B31A:
+ ldr r1, [r4]
+ movs r0, 0x58
+ muls r0, r1
+ mov r2, r8
+ ldr r1, [r2]
+ adds r1, r0
+ ldr r0, [r7]
+ ldrh r0, [r0, 0xA]
+ movs r2, 0x8
+ ldrsh r1, [r1, r2]
+ bl sub_808E190
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801B352
+ ldr r2, [r7]
+ ldr r0, [r2, 0x4C]
+ lsls r0, 1
+ adds r1, r2, 0
+ adds r1, 0x50
+ adds r1, r0
+ ldr r0, [r4]
+ strh r0, [r1]
+ ldr r0, [r2, 0x4C]
+ cmp r0, 0x3
+ bgt _0801B35A
+ adds r0, 0x1
+ str r0, [r2, 0x4C]
+_0801B352:
+ adds r4, 0x4
+ adds r5, 0x1
+ cmp r5, r6
+ blt _0801B31A
+_0801B35A:
+ ldr r0, _0801B36C
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4C]
+ add sp, 0x10
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801B36C: .4byte gUnknown_203B22C
+_0801B370: .4byte gRecruitedPokemonRef
+ thumb_func_end sub_801B2F4
+
+ thumb_func_start sub_801B374
+sub_801B374:
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0801B3A8
+ ldr r4, [r1]
+ bl sub_80913CC
+ lsls r0, 16
+ lsrs r6, r0, 16
+ movs r5, 0
+_0801B388:
+ ldrh r0, [r4]
+ lsrs r0, 1
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0801B3AC
+ movs r0, 0x8
+ ldrsh r1, [r4, r0]
+ adds r0, r6, 0
+ bl sub_808E190
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801B3AC
+ movs r0, 0
+ b _0801B3BA
+ .align 2, 0
+_0801B3A8: .4byte gRecruitedPokemonRef
+_0801B3AC:
+ adds r5, 0x1
+ adds r4, 0x58
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r5, r0
+ ble _0801B388
+ movs r0, 0x1
+_0801B3BA:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801B374
+
+ thumb_func_start sub_801B3C0
+sub_801B3C0:
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ movs r0, 0x1
+ bl ResetSprites
+ ldr r4, _0801B40C
+ movs r0, 0x94
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ ldr r1, [r5]
+ str r1, [r0, 0x4]
+ adds r0, 0x88
+ bl sub_801317C
+ ldr r0, [r4]
+ movs r1, 0
+ str r1, [r0, 0x24]
+ adds r0, 0x28
+ bl sub_80140B4
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x28
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ movs r0, 0
+ bl sub_801B46C
+ movs r0, 0x1
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801B40C: .4byte gUnknown_203B230
+ thumb_func_end sub_801B3C0
+
+ thumb_func_start sub_801B410
+sub_801B410:
+ push {lr}
+ ldr r0, _0801B428
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x1
+ beq _0801B43C
+ cmp r0, 0x1
+ bgt _0801B42C
+ cmp r0, 0
+ beq _0801B436
+ b _0801B446
+ .align 2, 0
+_0801B428: .4byte gUnknown_203B230
+_0801B42C:
+ cmp r0, 0x2
+ beq _0801B446
+ cmp r0, 0x3
+ beq _0801B442
+ b _0801B446
+_0801B436:
+ bl sub_801B51C
+ b _0801B44A
+_0801B43C:
+ bl sub_801B590
+ b _0801B44A
+_0801B442:
+ movs r0, 0x3
+ b _0801B44C
+_0801B446:
+ movs r0, 0x2
+ b _0801B44C
+_0801B44A:
+ movs r0, 0
+_0801B44C:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801B410
+
+ thumb_func_start sub_801B450
+sub_801B450:
+ push {r4,lr}
+ ldr r4, _0801B468
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0801B462
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801B462:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801B468: .4byte gUnknown_203B230
+ thumb_func_end sub_801B450
+
+ thumb_func_start sub_801B46C
+sub_801B46C:
+ push {lr}
+ ldr r1, _0801B47C
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_801B480
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801B47C: .4byte gUnknown_203B230
+ thumb_func_end sub_801B46C
+
+ thumb_func_start sub_801B480
+sub_801B480:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r5, _0801B4B0
+ ldr r0, [r5]
+ ldr r4, [r0]
+ cmp r4, 0x1
+ beq _0801B4B4
+ cmp r4, 0x1
+ bgt _0801B50C
+ cmp r4, 0
+ bne _0801B50C
+ ldr r0, [r0, 0x24]
+ bl sub_8008C54
+ ldr r2, [r5]
+ adds r0, r2, 0x4
+ ldr r1, [r2, 0x24]
+ adds r2, 0x10
+ bl sub_80913E0
+ ldr r1, [r5]
+ str r0, [r1, 0xC]
+ str r4, [r1, 0x20]
+ b _0801B50C
+ .align 2, 0
+_0801B4B0: .4byte gUnknown_203B230
+_0801B4B4:
+ 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, _0801B514
+ ldr r1, [r1]
+ bl strcpy
+ ldr r2, _0801B518
+ 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
+_0801B50C:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801B514: .4byte gAvailablePokemonNames
+_0801B518: .4byte gUnknown_80DBA4C
+ thumb_func_end sub_801B480
+
+ thumb_func_start sub_801B51C
+sub_801B51C:
+ push {r4,lr}
+ ldr r0, _0801B558
+ ldr r2, [r0]
+ ldr r1, [r2, 0xC]
+ adds r4, r0, 0
+ cmp r1, 0
+ beq _0801B540
+ ldr r0, [r2, 0x20]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _0801B538
+ bl sub_8013F84
+_0801B538:
+ ldr r1, [r4]
+ ldr r0, [r1, 0x20]
+ adds r0, 0x1
+ str r0, [r1, 0x20]
+_0801B540:
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x88
+ ldr r1, [r1, 0x24]
+ bl sub_8012A64
+ cmp r0, 0x1
+ beq _0801B55C
+ cmp r0, 0x2
+ beq _0801B57E
+ b _0801B58A
+ .align 2, 0
+_0801B558: .4byte gUnknown_203B230
+_0801B55C:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ ldr r1, [r4]
+ ldr r0, [r1, 0xC]
+ cmp r0, 0
+ beq _0801B576
+ movs r0, 0
+ str r0, [r1, 0x8]
+ movs r0, 0x1
+ bl sub_801B46C
+ b _0801B58A
+_0801B576:
+ movs r0, 0x3
+ bl sub_801B46C
+ b _0801B58A
+_0801B57E:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ bl sub_801B46C
+_0801B58A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801B51C
+
+ thumb_func_start sub_801B590
+sub_801B590:
+ push {r4,lr}
+ ldr r0, _0801B5D0
+ ldr r3, [r0]
+ ldr r1, [r3, 0xC]
+ subs r1, 0x1
+ ldr r2, [r3, 0x8]
+ adds r4, r0, 0
+ cmp r2, r1
+ bge _0801B5B8
+ ldr r0, [r3, 0x20]
+ movs r1, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _0801B5B0
+ bl sub_8013F84
+_0801B5B0:
+ ldr r1, [r4]
+ ldr r0, [r1, 0x20]
+ adds r0, 0x1
+ str r0, [r1, 0x20]
+_0801B5B8:
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x88
+ ldr r1, [r1, 0x24]
+ bl sub_8012A64
+ cmp r0, 0x1
+ beq _0801B5D4
+ cmp r0, 0x2
+ beq _0801B5F8
+ b _0801B604
+ .align 2, 0
+_0801B5D0: .4byte gUnknown_203B230
+_0801B5D4:
+ 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 _0801B5F0
+ movs r0, 0x1
+ bl sub_801B46C
+ b _0801B604
+_0801B5F0:
+ movs r0, 0
+ bl sub_801B46C
+ b _0801B604
+_0801B5F8:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ bl sub_801B46C
+_0801B604:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801B590
+
+ thumb_func_start sub_801B60C
+sub_801B60C:
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r2, 24
+ lsrs r7, r2, 24
+ ldr r6, _0801B650
+ movs r0, 0xAA
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r6]
+ adds r2, r0, 0
+ adds r2, 0xC8
+ movs r1, 0
+ str r1, [r2]
+ str r5, [r0]
+ strb r4, [r0, 0x12]
+ ldr r0, [r6]
+ ldrb r0, [r0, 0x12]
+ bl sub_8090A60
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _0801B654
+ ldr r0, [r6]
+ strb r7, [r0, 0x11]
+ ldr r0, [r6]
+ strb r7, [r0, 0xC]
+ b _0801B65E
+ .align 2, 0
+_0801B650: .4byte gUnknown_203B234
+_0801B654:
+ ldr r0, [r6]
+ strb r1, [r0, 0x11]
+ ldr r1, [r6]
+ movs r0, 0x1
+ strb r0, [r1, 0xC]
+_0801B65E:
+ ldr r5, _0801B6A0
+ ldr r0, [r5]
+ movs r1, 0
+ movs r2, 0x1
+ strb r2, [r0, 0x10]
+ ldr r0, [r5]
+ str r1, [r0, 0x14]
+ strb r1, [r0, 0x18]
+ ldr r0, [r5]
+ strb r2, [r0, 0x1C]
+ ldr r4, _0801B6A4
+ bl sub_808D33C
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0x6
+ bl sub_808D9AC
+ ldr r0, _0801B6A8
+ ldr r2, [r5]
+ adds r1, r2, 0
+ adds r1, 0x10
+ adds r2, 0x14
+ bl sub_8090E14
+ movs r0, 0
+ bl sub_801B748
+ movs r0, 0x1
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801B6A0: .4byte gUnknown_203B234
+_0801B6A4: .4byte gAvailablePokemonNames
+_0801B6A8: .4byte gUnknown_202DE58
+ thumb_func_end sub_801B60C
+
+ thumb_func_start sub_801B6AC
+sub_801B6AC:
+ push {lr}
+ ldr r0, _0801B6C4
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ subs r0, 0x6
+ cmp r0, 0xA
+ bhi _0801B720
+ lsls r0, 2
+ ldr r1, _0801B6C8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801B6C4: .4byte gUnknown_203B234
+_0801B6C8: .4byte _0801B6CC
+ .align 2, 0
+_0801B6CC:
+ .4byte _0801B6FC
+ .4byte _0801B702
+ .4byte _0801B708
+ .4byte _0801B708
+ .4byte _0801B70E
+ .4byte _0801B714
+ .4byte _0801B71A
+ .4byte _0801B720
+ .4byte _0801B720
+ .4byte _0801B720
+ .4byte _0801B6F8
+_0801B6F8:
+ movs r0, 0x3
+ b _0801B726
+_0801B6FC:
+ bl sub_801BC64
+ b _0801B724
+_0801B702:
+ bl sub_801BC94
+ b _0801B724
+_0801B708:
+ bl sub_801BCCC
+ b _0801B724
+_0801B70E:
+ bl sub_801BD80
+ b _0801B724
+_0801B714:
+ bl sub_801BEAC
+ b _0801B724
+_0801B71A:
+ bl sub_801BE30
+ b _0801B724
+_0801B720:
+ bl sub_801BEC8
+_0801B724:
+ movs r0, 0
+_0801B726:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801B6AC
+
+ thumb_func_start sub_801B72C
+sub_801B72C:
+ push {r4,lr}
+ ldr r4, _0801B744
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0801B73E
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801B73E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801B744: .4byte gUnknown_203B234
+ thumb_func_end sub_801B72C
+
+ thumb_func_start sub_801B748
+sub_801B748:
+ push {lr}
+ ldr r1, _0801B75C
+ ldr r1, [r1]
+ str r0, [r1, 0x4]
+ bl sub_801B760
+ bl sub_801B874
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801B75C: .4byte gUnknown_203B234
+ thumb_func_end sub_801B748
+
+ thumb_func_start sub_801B760
+sub_801B760:
+ push {r4-r7,lr}
+ ldr r0, _0801B77C
+ ldr r1, [r0]
+ ldr r1, [r1, 0x4]
+ subs r1, 0x1
+ adds r4, r0, 0
+ cmp r1, 0xE
+ bls _0801B772
+ b _0801B86A
+_0801B772:
+ lsls r0, r1, 2
+ ldr r1, _0801B780
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801B77C: .4byte gUnknown_203B234
+_0801B780: .4byte _0801B784
+ .align 2, 0
+_0801B784:
+ .4byte _0801B7C0
+ .4byte _0801B86A
+ .4byte _0801B86A
+ .4byte _0801B86A
+ .4byte _0801B86A
+ .4byte _0801B7C0
+ .4byte _0801B7C0
+ .4byte _0801B7C0
+ .4byte _0801B7C0
+ .4byte _0801B800
+ .4byte _0801B7C0
+ .4byte _0801B840
+ .4byte _0801B7C0
+ .4byte _0801B7C0
+ .4byte _0801B7C0
+_0801B7C0:
+ ldr r4, _0801B7F8
+ ldr r0, [r4]
+ adds r0, 0xF4
+ bl sub_8006518
+ mov r12, r4
+ ldr r4, _0801B7FC
+ movs r3, 0
+ movs r2, 0x3
+_0801B7D2:
+ mov r0, r12
+ ldr r1, [r0]
+ adds r1, r3
+ adds r1, 0xF4
+ 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 _0801B7D2
+ bl ResetUnusedInputStruct
+ ldr r0, _0801B7F8
+ ldr r0, [r0]
+ b _0801B82E
+ .align 2, 0
+_0801B7F8: .4byte gUnknown_203B234
+_0801B7FC: .4byte gUnknown_80DBA58
+_0801B800:
+ ldr r0, [r4]
+ adds r0, 0xF4
+ bl sub_8006518
+ bl sub_801BB5C
+ ldr r2, [r4]
+ movs r0, 0x92
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _0801B83C
+ 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, 0xCC
+ bl sub_8012CAC
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+_0801B82E:
+ adds r0, 0xF4
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ b _0801B86A
+ .align 2, 0
+_0801B83C: .4byte gUnknown_80DBA70
+_0801B840:
+ ldr r0, [r4]
+ adds r0, 0xF4
+ bl sub_8006518
+ ldr r1, [r4]
+ movs r6, 0x86
+ lsls r6, 1
+ adds r1, r6
+ ldr r0, _0801B870
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0xF4
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+_0801B86A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801B870: .4byte gUnknown_80DBA88
+ thumb_func_end sub_801B760
+
+ thumb_func_start sub_801B874
+sub_801B874:
+ push {r4,lr}
+ sub sp, 0x14
+ ldr r1, _0801B890
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r4, r1, 0
+ cmp r0, 0x10
+ bls _0801B886
+ b _0801BB0E
+_0801B886:
+ lsls r0, 2
+ ldr r1, _0801B894
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801B890: .4byte gUnknown_203B234
+_0801B894: .4byte _0801B898
+ .align 2, 0
+_0801B898:
+ .4byte _0801B8DC
+ .4byte _0801B9BC
+ .4byte _0801B9D8
+ .4byte _0801B9E0
+ .4byte _0801B9F0
+ .4byte _0801B9F8
+ .4byte _0801BA08
+ .4byte _0801BA34
+ .4byte _0801BA60
+ .4byte _0801BA6E
+ .4byte _0801BA76
+ .4byte _0801BA94
+ .4byte _0801BA9E
+ .4byte _0801BAD0
+ .4byte _0801BAE0
+ .4byte _0801BAFC
+ .4byte _0801BB0E
+_0801B8DC:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x12]
+ cmp r0, 0xEA
+ bne _0801B8FE
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ movs r0, 0
+ movs r1, 0x47
+ movs r2, 0x1
+ bl sub_8001784
+ cmp r0, 0
+ bne _0801B914
+ movs r0, 0
+ movs r1, 0x47
+ movs r2, 0x1
+ b _0801B92A
+_0801B8FE:
+ cmp r0, 0xEB
+ bne _0801B938
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ movs r0, 0
+ movs r1, 0x47
+ movs r2, 0
+ bl sub_8001784
+ cmp r0, 0
+ beq _0801B924
+_0801B914:
+ movs r0, 0xFA
+ lsls r0, 2
+ bl sub_80913A0
+ movs r0, 0x4
+ bl sub_801B748
+ b _0801BB0E
+_0801B924:
+ movs r0, 0
+ movs r1, 0x47
+ movs r2, 0
+_0801B92A:
+ movs r3, 0x1
+ bl sub_800199C
+ movs r0, 0x3
+ bl sub_801B748
+ b _0801BB0E
+_0801B938:
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _0801B986
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ bl sub_8091524
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801B968
+ ldr r0, _0801B970
+ ldr r1, [r0]
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x12]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r3, r1, r0
+ ldrh r1, [r3]
+ ldrb r0, [r2, 0xC]
+ adds r1, r0
+ ldr r0, _0801B974
+ cmp r1, r0
+ ble _0801B978
+_0801B968:
+ ldr r1, [r4]
+ movs r0, 0x6
+ b _0801B99C
+ .align 2, 0
+_0801B970: .4byte gUnknown_203B460
+_0801B974: .4byte 0x000003e7
+_0801B978:
+ strh r1, [r3]
+ movs r0, 0xCB
+ bl PlaySound
+ ldr r1, [r4]
+ movs r0, 0x5
+ b _0801B99C
+_0801B986:
+ ldr r0, [r4]
+ adds r0, 0x10
+ bl sub_8091290
+ bl sub_80910B4
+ movs r0, 0xCB
+ bl PlaySound
+ ldr r1, [r4]
+ movs r0, 0x10
+_0801B99C:
+ str r0, [r1, 0x8]
+ ldr r0, _0801B9B0
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0801B9B4
+ movs r0, 0x2
+ bl sub_801B748
+ b _0801BB0E
+ .align 2, 0
+_0801B9B0: .4byte gUnknown_203B234
+_0801B9B4:
+ movs r0, 0x1
+ bl sub_801B748
+ b _0801BB0E
+_0801B9BC:
+ movs r0, 0
+ bl sub_808D544
+ cmp r0, 0x1
+ bgt _0801B9D0
+ ldr r0, _0801B9CC
+ b _0801BAE8
+ .align 2, 0
+_0801B9CC: .4byte gUnknown_80DBAA0
+_0801B9D0:
+ ldr r0, _0801B9D4
+ b _0801BAE8
+ .align 2, 0
+_0801B9D4: .4byte gUnknown_80DBAD0
+_0801B9D8:
+ ldr r0, _0801B9DC
+ b _0801BAE8
+ .align 2, 0
+_0801B9DC: .4byte gUnknown_80DBB08
+_0801B9E0:
+ movs r0, 0xD4
+ bl PlaySound
+ ldr r0, _0801B9EC
+ b _0801BAE8
+ .align 2, 0
+_0801B9EC: .4byte gUnknown_80DBB38
+_0801B9F0:
+ ldr r0, _0801B9F4
+ b _0801BAE8
+ .align 2, 0
+_0801B9F4: .4byte gUnknown_80DBB9C
+_0801B9F8:
+ ldr r1, [r4]
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ ldr r0, _0801BA04
+ b _0801BAE8
+ .align 2, 0
+_0801BA04: .4byte gUnknown_80DBC28
+_0801BA08:
+ bl sub_801BB20
+ ldr r0, _0801BA2C
+ ldr r1, _0801BA30
+ ldr r3, [r1]
+ adds r3, 0xCC
+ movs r2, 0
+ str r2, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r2, [sp, 0xC]
+ str r2, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x4
+ bl sub_8014248
+ b _0801BB0E
+ .align 2, 0
+_0801BA2C: .4byte gUnknown_80DBC60
+_0801BA30: .4byte gUnknown_203B234
+_0801BA34:
+ bl sub_801BC24
+ ldr r0, _0801BA58
+ ldr r1, _0801BA5C
+ ldr r3, [r1]
+ adds r3, 0xCC
+ movs r2, 0
+ str r2, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r2, [sp, 0xC]
+ str r2, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x3
+ bl sub_8014248
+ b _0801BB0E
+ .align 2, 0
+_0801BA58: .4byte gUnknown_80DBC98
+_0801BA5C: .4byte gUnknown_203B234
+_0801BA60:
+ movs r0, 0x1
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _0801BB0E
+_0801BA6E:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _0801BB0E
+_0801BA76:
+ bl sub_801A9E0
+ ldr r0, _0801BA90
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x28
+ adds r1, r2, 0
+ adds r1, 0xCC
+ adds r2, 0xC8
+ ldr r2, [r2]
+ str r2, [sp]
+ movs r2, 0x2
+ b _0801BAC0
+ .align 2, 0
+_0801BA90: .4byte gUnknown_203B234
+_0801BA94:
+ ldr r0, [r4]
+ adds r0, 0x20
+ bl sub_801B3C0
+ b _0801BB0E
+_0801BA9E:
+ bl sub_801A9E0
+ ldr r4, _0801BACC
+ ldr r0, [r4]
+ adds r0, 0x28
+ movs r1, 0
+ bl sub_8012EA4
+ bl sub_801BC24
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x78
+ adds r1, 0xCC
+ movs r2, 0x3
+ str r2, [sp]
+ movs r2, 0x1
+_0801BAC0:
+ str r2, [sp, 0x4]
+ movs r2, 0
+ movs r3, 0
+ bl sub_8012D60
+ b _0801BB0E
+ .align 2, 0
+_0801BACC: .4byte gUnknown_203B234
+_0801BAD0:
+ ldr r1, [r4]
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ ldr r0, _0801BADC
+ b _0801BAE8
+ .align 2, 0
+_0801BADC: .4byte gUnknown_80DBCC4
+_0801BAE0:
+ ldr r1, [r4]
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ ldr r0, _0801BAF4
+_0801BAE8:
+ ldr r3, _0801BAF8
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _0801BB0E
+ .align 2, 0
+_0801BAF4: .4byte gUnknown_80DBCE8
+_0801BAF8: .4byte 0x00000101
+_0801BAFC:
+ ldr r1, [r4]
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ ldr r0, _0801BB18
+ ldr r3, _0801BB1C
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+_0801BB0E:
+ add sp, 0x14
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801BB18: .4byte gUnknown_80DBD24
+_0801BB1C: .4byte 0x00000101
+ thumb_func_end sub_801B874
+
+ thumb_func_start sub_801BB20
+sub_801BB20:
+ ldr r0, _0801BB50
+ ldr r3, [r0]
+ movs r2, 0
+ adds r1, r3, 0
+ adds r1, 0xCC
+ ldr r0, _0801BB54
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x4
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, _0801BB58
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x5
+ str r0, [r1]
+ adds r0, r3, 0
+ adds r0, 0xDC
+ str r2, [r0]
+ adds r1, 0x8
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_0801BB50: .4byte gUnknown_203B234
+_0801BB54: .4byte gKangaskhanTrashToolboxItem
+_0801BB58: .4byte gKangaskhanTrashReceivedItem
+ thumb_func_end sub_801BB20
+
+ thumb_func_start sub_801BB5C
+sub_801BB5C:
+ push {r4-r7,lr}
+ ldr r4, _0801BBEC
+ ldr r2, [r4]
+ adds r1, r2, 0
+ adds r1, 0xCC
+ ldr r0, _0801BBF0
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x6
+ str r0, [r1]
+ ldr r0, [r2, 0x24]
+ bl sub_801ADA0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801BB86
+ ldr r0, [r4]
+ adds r0, 0xD0
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0]
+_0801BB86:
+ ldr r0, [r4]
+ mov r12, r0
+ movs r3, 0x1
+ movs r2, 0x8
+ mov r1, r12
+ adds r1, 0xD4
+ ldr r0, _0801BBF4
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x7
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, _0801BBF8
+ ldr r0, [r0]
+ str r0, [r1]
+ mov r0, r12
+ adds r0, 0xE0
+ str r2, [r0]
+ movs r5, 0x3
+ adds r1, 0x8
+ movs r0, 0
+ str r0, [r1]
+ mov r0, r12
+ adds r0, 0xE8
+ str r3, [r0]
+ movs r3, 0
+ adds r6, r4, 0
+ movs r7, 0x1
+ negs r7, r7
+ mov r4, r12
+ adds r4, 0xC8
+ subs r1, 0x14
+_0801BBC6:
+ ldr r2, [r1]
+ cmp r2, r7
+ beq _0801BBD2
+ ldr r0, [r4]
+ cmp r2, r0
+ beq _0801BC1C
+_0801BBD2:
+ adds r1, 0x8
+ adds r3, 0x1
+ cmp r3, r5
+ blt _0801BBC6
+ movs r3, 0
+ cmp r3, r5
+ bge _0801BC1C
+ ldr r2, [r6]
+ adds r0, r2, 0
+ adds r0, 0xD0
+ ldr r1, [r0]
+ b _0801BC0E
+ .align 2, 0
+_0801BBEC: .4byte gUnknown_203B234
+_0801BBF0: .4byte gKangaskhanStorage
+_0801BBF4: .4byte gKangaskhanTrash
+_0801BBF8: .4byte gUnknown_80D4970
+_0801BBFC:
+ adds r3, 0x1
+ cmp r3, r5
+ bge _0801BC1C
+ ldr r2, [r6]
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0xD0
+ adds r1, r0
+ ldr r1, [r1]
+_0801BC0E:
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _0801BBFC
+ adds r0, r2, 0
+ adds r0, 0xC8
+ str r1, [r0]
+_0801BC1C:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BB5C
+
+ thumb_func_start sub_801BC24
+sub_801BC24:
+ ldr r0, _0801BC58
+ ldr r0, [r0]
+ mov r12, r0
+ movs r3, 0
+ mov r1, r12
+ adds r1, 0xCC
+ ldr r0, _0801BC5C
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x2
+ str r0, [r1]
+ movs r2, 0x1
+ adds r1, 0x4
+ ldr r0, _0801BC60
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x3
+ str r0, [r1]
+ mov r0, r12
+ adds r0, 0xDC
+ str r3, [r0]
+ adds r0, 0x4
+ str r2, [r0]
+ bx lr
+ .align 2, 0
+_0801BC58: .4byte gUnknown_203B234
+_0801BC5C: .4byte gUnknown_80D4920
+_0801BC60: .4byte gUnknown_80D4928
+ thumb_func_end sub_801BC24
+
+ thumb_func_start sub_801BC64
+sub_801BC64:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801BC8C
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _0801BC7E
+ cmp r0, 0x5
+ beq _0801BC86
+ b _0801BC8C
+_0801BC7E:
+ movs r0, 0x8
+ bl sub_801B748
+ b _0801BC8C
+_0801BC86:
+ movs r0, 0x7
+ bl sub_801B748
+_0801BC8C:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BC64
+
+ thumb_func_start sub_801BC94
+sub_801BC94:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801BCC6
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0801BCB8
+ cmp r0, 0x2
+ bgt _0801BCB2
+ cmp r0, 0x1
+ beq _0801BCC0
+ b _0801BCC6
+_0801BCB2:
+ cmp r0, 0x3
+ beq _0801BCC0
+ b _0801BCC6
+_0801BCB8:
+ movs r0, 0xD
+ bl sub_801B748
+ b _0801BCC6
+_0801BCC0:
+ movs r0, 0x6
+ bl sub_801B748
+_0801BCC6:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BC94
+
+ thumb_func_start sub_801BCCC
+sub_801BCCC:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x4
+ bhi _0801BD7A
+ lsls r0, 2
+ ldr r1, _0801BCE4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801BCE4: .4byte _0801BCE8
+ .align 2, 0
+_0801BCE8:
+ .4byte _0801BD7A
+ .4byte _0801BD7A
+ .4byte _0801BD70
+ .4byte _0801BCFC
+ .4byte _0801BD34
+_0801BCFC:
+ bl sub_801A8AC
+ ldr r1, _0801BD28
+ ldr r2, [r1]
+ str r0, [r2, 0x24]
+ ldr r1, _0801BD2C
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x20]
+ ldr r0, _0801BD30
+ adds r1, r2, 0
+ adds r1, 0x20
+ adds r2, 0x14
+ bl sub_8090E14
+ movs r0, 0xA
+ bl sub_801B748
+ b _0801BD7A
+ .align 2, 0
+_0801BD28: .4byte gUnknown_203B234
+_0801BD2C: .4byte gUnknown_203B460
+_0801BD30: .4byte gUnknown_202DEA8
+_0801BD34:
+ bl sub_801A8AC
+ ldr r1, _0801BD64
+ ldr r2, [r1]
+ str r0, [r2, 0x24]
+ ldr r1, _0801BD68
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x20]
+ ldr r0, _0801BD6C
+ adds r1, r2, 0
+ adds r1, 0x20
+ adds r2, 0x14
+ bl sub_8090E14
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xB
+ bl sub_801B748
+ b _0801BD7A
+ .align 2, 0
+_0801BD64: .4byte gUnknown_203B234
+_0801BD68: .4byte gUnknown_203B460
+_0801BD6C: .4byte gUnknown_202DEA8
+_0801BD70:
+ bl sub_801A928
+ movs r0, 0x6
+ bl sub_801B748
+_0801BD7A:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BCCC
+
+ thumb_func_start sub_801BD80
+sub_801BD80:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _0801BDC4
+ ldr r0, [r4]
+ adds r0, 0x28
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801BDB2
+ ldr r0, [r4]
+ adds r0, 0x28
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _0801BDB2
+ ldr r0, [r4]
+ adds r0, 0xC8
+ str r1, [r0]
+_0801BDB2:
+ ldr r0, [sp]
+ cmp r0, 0x6
+ beq _0801BDD2
+ cmp r0, 0x6
+ bgt _0801BDC8
+ cmp r0, 0x1
+ beq _0801BE22
+ b _0801BE28
+ .align 2, 0
+_0801BDC4: .4byte gUnknown_203B234
+_0801BDC8:
+ cmp r0, 0x7
+ beq _0801BE0C
+ cmp r0, 0x8
+ beq _0801BE14
+ b _0801BE28
+_0801BDD2:
+ ldr r4, _0801BE08
+ ldr r0, [r4]
+ adds r0, 0x20
+ bl sub_80917B8
+ ldr r0, [r4]
+ ldr r0, [r0, 0x24]
+ bl sub_80911F8
+ ldr r0, [r4]
+ adds r0, 0x10
+ bl sub_8091290
+ bl sub_80910B4
+ movs r0, 0xCB
+ bl PlaySound
+ movs r0, 0
+ bl sub_8099690
+ bl sub_801A928
+ movs r0, 0xE
+ bl sub_801B748
+ b _0801BE28
+ .align 2, 0
+_0801BE08: .4byte gUnknown_203B234
+_0801BE0C:
+ movs r0, 0xC
+ bl sub_801B748
+ b _0801BE28
+_0801BE14:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xB
+ bl sub_801B748
+ b _0801BE28
+_0801BE22:
+ movs r0, 0x9
+ bl sub_801B748
+_0801BE28:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BD80
+
+ thumb_func_start sub_801BE30
+sub_801BE30:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _0801BE70
+ ldr r0, [r4]
+ adds r0, 0x28
+ bl sub_8012FD8
+ ldr r0, [r4]
+ adds r0, 0x78
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801BE5E
+ ldr r0, [r4]
+ adds r0, 0x78
+ mov r1, sp
+ bl sub_8013114
+_0801BE5E:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0801BE80
+ cmp r0, 0x2
+ bgt _0801BE74
+ cmp r0, 0x1
+ beq _0801BE78
+ b _0801BEA4
+ .align 2, 0
+_0801BE70: .4byte gUnknown_203B234
+_0801BE74:
+ cmp r0, 0x3
+ bne _0801BEA4
+_0801BE78:
+ movs r0, 0x9
+ bl sub_801B748
+ b _0801BEA4
+_0801BE80:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x24]
+ bl sub_80911F8
+ ldr r0, [r4]
+ adds r0, 0x10
+ bl sub_8091290
+ bl sub_80910B4
+ movs r0, 0xCB
+ bl PlaySound
+ bl sub_801A928
+ movs r0, 0xF
+ bl sub_801B748
+_0801BEA4:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BE30
+
+ thumb_func_start sub_801BEAC
+sub_801BEAC:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _0801BEC4
+ cmp r0, 0x3
+ bhi _0801BEC4
+ bl sub_801B450
+ movs r0, 0x9
+ bl sub_801B748
+_0801BEC4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BEAC
+
+ thumb_func_start sub_801BEC8
+sub_801BEC8:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801BEE0
+ ldr r0, _0801BEE8
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ bl sub_801B748
+_0801BEE0:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801BEE8: .4byte gUnknown_203B234
+ thumb_func_end sub_801BEC8
+
+ thumb_func_start sub_801BEEC
+sub_801BEEC:
+ push {r4-r6,lr}
+ lsls r0, 16
+ asrs r5, r0, 16
+ adds r0, r5, 0
+ bl sub_801C5F0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0
+ bne _0801BF40
+ ldr r4, _0801BF38
+ movs r0, 0x92
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ str r6, [r0, 0x30]
+ strh r5, [r0, 0x4]
+ ldr r3, _0801BF3C
+ movs r1, 0x58
+ adds r2, r5, 0
+ muls r2, r1
+ ldr r1, [r3]
+ adds r1, r2
+ str r1, [r0, 0x8]
+ adds r0, 0xC
+ movs r2, 0x14
+ ldrsh r1, [r1, r2]
+ bl sub_808EBA8
+ ldr r1, [r4]
+ str r0, [r1, 0x2C]
+ movs r0, 0
+ bl sub_801BFB4
+ movs r0, 0x1
+ b _0801BF42
+ .align 2, 0
+_0801BF38: .4byte gUnknown_203B238
+_0801BF3C: .4byte gRecruitedPokemonRef
+_0801BF40:
+ movs r0, 0
+_0801BF42:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801BEEC
+
+ thumb_func_start sub_801BF48
+sub_801BF48:
+ push {lr}
+ ldr r0, _0801BF60
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x4
+ bhi _0801BF90
+ lsls r0, 2
+ ldr r1, _0801BF64
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801BF60: .4byte gUnknown_203B238
+_0801BF64: .4byte _0801BF68
+ .align 2, 0
+_0801BF68:
+ .4byte _0801BF80
+ .4byte _0801BF80
+ .4byte _0801BF86
+ .4byte _0801BF8C
+ .4byte _0801BF7C
+_0801BF7C:
+ movs r0, 0x3
+ b _0801BF92
+_0801BF80:
+ bl sub_801C118
+ b _0801BF90
+_0801BF86:
+ bl sub_801C1A0
+ b _0801BF90
+_0801BF8C:
+ bl sub_801C228
+_0801BF90:
+ movs r0, 0
+_0801BF92:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801BF48
+
+ thumb_func_start sub_801BF98
+sub_801BF98:
+ push {r4,lr}
+ ldr r4, _0801BFB0
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0801BFAA
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801BFAA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801BFB0: .4byte gUnknown_203B238
+ thumb_func_end sub_801BF98
+
+ thumb_func_start sub_801BFB4
+sub_801BFB4:
+ push {lr}
+ ldr r1, _0801BFC8
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_801BFCC
+ bl sub_801C03C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801BFC8: .4byte gUnknown_203B238
+ thumb_func_end sub_801BFB4
+
+ thumb_func_start sub_801BFCC
+sub_801BFCC:
+ push {r4-r7,lr}
+ ldr r4, _0801BFF0
+ ldr r0, [r4]
+ adds r0, 0xC4
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1]
+ cmp r0, 0x2
+ bne _0801BFF8
+ adds r1, 0xF4
+ ldr r0, _0801BFF4
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ b _0801C01A
+ .align 2, 0
+_0801BFF0: .4byte gUnknown_203B238
+_0801BFF4: .4byte gUnknown_80DBDB0
+_0801BFF8:
+ mov r12, r4
+ ldr r4, _0801C034
+ movs r3, 0
+ movs r2, 0x3
+_0801C000:
+ mov r0, r12
+ ldr r1, [r0]
+ adds r1, r3
+ adds r1, 0xC4
+ 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 _0801C000
+_0801C01A:
+ bl ResetUnusedInputStruct
+ ldr r0, _0801C038
+ ldr r0, [r0]
+ adds r0, 0xC4
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801C034: .4byte gUnknown_80DBD98
+_0801C038: .4byte gUnknown_203B238
+ thumb_func_end sub_801BFCC
+
+ thumb_func_start sub_801C03C
+sub_801C03C:
+ push {lr}
+ sub sp, 0x8
+ ldr r1, _0801C058
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r2, r1, 0
+ cmp r0, 0x4
+ bhi _0801C0C2
+ lsls r0, 2
+ ldr r1, _0801C05C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801C058: .4byte gUnknown_203B238
+_0801C05C: .4byte _0801C060
+ .align 2, 0
+_0801C060:
+ .4byte _0801C074
+ .4byte _0801C084
+ .4byte _0801C08C
+ .4byte _0801C0B8
+ .4byte _0801C0C2
+_0801C074:
+ ldr r0, [r2]
+ movs r1, 0x4
+ ldrsh r0, [r0, r1]
+ movs r1, 0
+ movs r2, 0x8
+ bl sub_801C244
+ b _0801C0C2
+_0801C084:
+ movs r0, 0x1
+ bl sub_801C3B0
+ b _0801C0C2
+_0801C08C:
+ bl sub_801C4C8
+ bl sub_801C0C8
+ ldr r0, _0801C0B4
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x74
+ adds r1, r2, 0
+ adds r1, 0x34
+ ldr r2, [r2, 0x30]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ movs r3, 0
+ bl sub_8012D60
+ b _0801C0C2
+ .align 2, 0
+_0801C0B4: .4byte gUnknown_203B238
+_0801C0B8:
+ ldr r0, [r2]
+ adds r0, 0x28
+ ldrb r0, [r0]
+ bl sub_801C620
+_0801C0C2:
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801C03C
+
+ thumb_func_start sub_801C0C8
+sub_801C0C8:
+ push {r4,r5,lr}
+ ldr r3, _0801C10C
+ ldr r1, [r3]
+ movs r4, 0
+ ldr r0, _0801C110
+ str r0, [r1, 0x34]
+ movs r0, 0x2
+ str r0, [r1, 0x38]
+ movs r2, 0x1
+ ldr r0, _0801C114
+ ldr r0, [r0]
+ str r0, [r1, 0x3C]
+ movs r0, 0x3
+ str r0, [r1, 0x40]
+ movs r5, 0x2
+ str r4, [r1, 0x44]
+ str r2, [r1, 0x48]
+ movs r2, 0
+ ldr r4, [r1, 0x30]
+ adds r1, 0x38
+_0801C0F0:
+ ldr r0, [r1]
+ cmp r0, r4
+ beq _0801C104
+ adds r1, 0x8
+ adds r2, 0x1
+ cmp r2, r5
+ blt _0801C0F0
+ ldr r1, [r3]
+ movs r0, 0x2
+ str r0, [r1, 0x30]
+_0801C104:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801C10C: .4byte gUnknown_203B238
+_0801C110: .4byte gUnknown_80DBDC8
+_0801C114: .4byte gUnknown_80D4970
+ thumb_func_end sub_801C0C8
+
+ thumb_func_start sub_801C118
+sub_801C118:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801C308
+ cmp r0, 0x4
+ bhi _0801C19A
+ lsls r0, 2
+ ldr r1, _0801C130
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801C130: .4byte _0801C134
+ .align 2, 0
+_0801C134:
+ .4byte _0801C19A
+ .4byte _0801C19A
+ .4byte _0801C190
+ .4byte _0801C148
+ .4byte _0801C16C
+_0801C148:
+ bl sub_801C390
+ ldr r1, _0801C168
+ ldr r2, [r1]
+ str r0, [r2, 0x24]
+ adds r1, r2, 0
+ adds r1, 0xC
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r2, 0x28
+ strb r0, [r2]
+ movs r0, 0x2
+ bl sub_801BFB4
+ b _0801C19A
+ .align 2, 0
+_0801C168: .4byte gUnknown_203B238
+_0801C16C:
+ bl sub_801C390
+ ldr r1, _0801C18C
+ ldr r2, [r1]
+ str r0, [r2, 0x24]
+ adds r1, r2, 0
+ adds r1, 0xC
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r2, 0x28
+ strb r0, [r2]
+ movs r0, 0x3
+ bl sub_801BFB4
+ b _0801C19A
+ .align 2, 0
+_0801C18C: .4byte gUnknown_203B238
+_0801C190:
+ bl sub_801C3F8
+ movs r0, 0x4
+ bl sub_801BFB4
+_0801C19A:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801C118
+
+ thumb_func_start sub_801C1A0
+sub_801C1A0:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801C308
+ ldr r4, _0801C1E0
+ ldr r0, [r4]
+ adds r0, 0x74
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801C1D0
+ ldr r0, [r4]
+ adds r0, 0x74
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _0801C1D0
+ ldr r0, [r4]
+ str r1, [r0, 0x30]
+_0801C1D0:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0801C1EA
+ cmp r0, 0x2
+ bgt _0801C1E4
+ cmp r0, 0x1
+ beq _0801C218
+ b _0801C21E
+ .align 2, 0
+_0801C1E0: .4byte gUnknown_203B238
+_0801C1E4:
+ cmp r0, 0x3
+ beq _0801C210
+ b _0801C21E
+_0801C1EA:
+ ldr r0, _0801C208
+ bl PlaySound
+ ldr r0, _0801C20C
+ ldr r1, [r0]
+ ldr r0, [r1, 0x8]
+ adds r0, 0x20
+ adds r1, 0x28
+ ldrb r1, [r1]
+ bl sub_808EBF4
+ movs r0, 0x1
+ bl sub_801BFB4
+ b _0801C21E
+ .align 2, 0
+_0801C208: .4byte 0x00000133
+_0801C20C: .4byte gUnknown_203B238
+_0801C210:
+ movs r0, 0x3
+ bl sub_801BFB4
+ b _0801C21E
+_0801C218:
+ movs r0, 0x1
+ bl sub_801BFB4
+_0801C21E:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801C1A0
+
+ thumb_func_start sub_801C228
+sub_801C228:
+ push {lr}
+ bl sub_801C674
+ cmp r0, 0x1
+ bls _0801C240
+ cmp r0, 0x3
+ bhi _0801C240
+ bl sub_801C6B4
+ movs r0, 0x1
+ bl sub_801BFB4
+_0801C240:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801C228
+
+ thumb_func_start sub_801C244
+sub_801C244:
+ push {r4-r7,lr}
+ adds r6, r1, 0
+ adds r7, r2, 0
+ lsls r0, 16
+ asrs r0, 16
+ adds r4, r0, 0
+ bl sub_801C5F0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801C25E
+ movs r0, 0
+ b _0801C2F6
+_0801C25E:
+ ldr r5, _0801C2FC
+ ldr r0, [r5]
+ cmp r0, 0
+ bne _0801C270
+ movs r0, 0xC4
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+_0801C270:
+ ldr r0, [r5]
+ strh r4, [r0]
+ ldr r3, _0801C300
+ movs r1, 0x58
+ adds r2, r4, 0
+ muls r2, r1
+ ldr r1, [r3]
+ adds r1, r2
+ str r1, [r0, 0x4]
+ adds r0, 0x8
+ movs r2, 0x14
+ ldrsh r1, [r1, r2]
+ bl sub_808EBA8
+ adds r1, r0, 0
+ ldr r0, [r5]
+ str r1, [r0, 0x20]
+ str r6, [r0, 0x58]
+ lsls r1, r6, 1
+ adds r1, r6
+ lsls r1, 3
+ adds r1, 0x60
+ adds r1, r0, r1
+ str r1, [r0, 0x5C]
+ adds r0, 0x60
+ bl sub_8006518
+ ldr r1, [r5]
+ ldr r2, [r1, 0x58]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x60
+ ldr r0, _0801C304
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r1, [r5]
+ ldr r0, [r1, 0x5C]
+ adds r1, 0xC0
+ str r1, [r0, 0x14]
+ adds r1, r7, 0
+ bl sub_8012D08
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ adds r0, 0x60
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x20]
+ adds r2, r7, 0
+ adds r3, r6, 0
+ bl sub_8013818
+ bl sub_801C440
+ bl sub_801C4C8
+ movs r0, 0x1
+_0801C2F6:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801C2FC: .4byte gUnknown_203B23C
+_0801C300: .4byte gRecruitedPokemonRef
+_0801C304: .4byte gUnknown_80DBDF0
+ thumb_func_end sub_801C244
+
+ thumb_func_start sub_801C308
+sub_801C308:
+ push {lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801C324
+ ldr r0, _0801C320
+ ldr r0, [r0]
+ adds r0, 0x24
+ bl sub_8013660
+ movs r0, 0
+ b _0801C38A
+ .align 2, 0
+_0801C320: .4byte gUnknown_203B23C
+_0801C324:
+ ldr r0, _0801C33C
+ ldr r0, [r0]
+ adds r0, 0x24
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _0801C346
+ cmp r0, 0x2
+ bgt _0801C340
+ cmp r0, 0x1
+ beq _0801C350
+ b _0801C364
+ .align 2, 0
+_0801C33C: .4byte gUnknown_203B23C
+_0801C340:
+ cmp r0, 0x4
+ beq _0801C35A
+ b _0801C364
+_0801C346:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _0801C38A
+_0801C350:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _0801C38A
+_0801C35A:
+ movs r0, 0x4
+ bl PlayMenuSoundEffect
+ movs r0, 0x4
+ b _0801C38A
+_0801C364:
+ ldr r0, _0801C37C
+ ldr r0, [r0]
+ adds r0, 0x24
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801C380
+ movs r0, 0
+ b _0801C38A
+ .align 2, 0
+_0801C37C: .4byte gUnknown_203B23C
+_0801C380:
+ bl sub_801C440
+ bl sub_801C4C8
+ movs r0, 0x1
+_0801C38A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801C308
+
+ thumb_func_start sub_801C390
+sub_801C390:
+ ldr r0, _0801C3AC
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x42
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ subs r0, 0x2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r0, r1
+ movs r3, 0x3C
+ ldrsh r1, [r2, r3]
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_0801C3AC: .4byte gUnknown_203B23C
+ thumb_func_end sub_801C390
+
+ thumb_func_start sub_801C3B0
+sub_801C3B0:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl ResetUnusedInputStruct
+ ldr r5, _0801C3F4
+ ldr r0, [r5]
+ adds r0, 0x60
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ ldr r0, [r5]
+ ldr r1, [r0, 0x20]
+ adds r2, r0, 0
+ adds r2, 0x46
+ strh r1, [r2]
+ adds r0, 0x24
+ bl sub_8013984
+ bl sub_801C440
+ bl sub_801C4C8
+ cmp r4, 0
+ beq _0801C3EE
+ ldr r0, [r5]
+ adds r0, 0x24
+ bl AddMenuCursorSprite
+_0801C3EE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801C3F4: .4byte gUnknown_203B23C
+ thumb_func_end sub_801C3B0
+
+ thumb_func_start sub_801C3F8
+sub_801C3F8:
+ push {r4,r5,lr}
+ ldr r4, _0801C438
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801C432
+ ldr r0, [r2, 0x58]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x60
+ ldr r0, _0801C43C
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801C432:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801C438: .4byte gUnknown_203B23C
+_0801C43C: .4byte gUnknown_80DBDD8
+ thumb_func_end sub_801C3F8
+
+ thumb_func_start sub_801C440
+sub_801C440:
+ push {r4,lr}
+ ldr r4, _0801C4C4
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x44
+ ldrh r1, [r1]
+ adds r0, 0xC0
+ movs r2, 0
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x42
+ ldrh r1, [r1]
+ adds r0, 0xC1
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xC2
+ movs r1, 0xA
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xC3
+ strb r2, [r0]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ movs r1, 0x3E
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ ldr r2, [r4]
+ ldr r3, [r2, 0x58]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x6E
+ lsls r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r3, [r2, 0x58]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 3
+ adds r2, r1
+ adds r2, 0x70
+ strh r0, [r2]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801C4C4: .4byte gUnknown_203B23C
+ thumb_func_end sub_801C440
+
+ thumb_func_start sub_801C4C8
+sub_801C4C8:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ ldr r6, _0801C594
+ ldr r0, [r6]
+ ldr r0, [r0, 0x58]
+ bl sub_8008C54
+ ldr r0, [r6]
+ ldr r0, [r0, 0x58]
+ bl sub_80073B8
+ ldr r0, [r6]
+ adds r1, r0, 0
+ adds r1, 0x42
+ movs r2, 0
+ ldrsh r4, [r1, r2]
+ lsls r4, 3
+ adds r5, r4, 0
+ adds r5, 0xA
+ ldr r2, _0801C598
+ ldr r3, [r0, 0x58]
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0
+ bl xxx_call_draw_string
+ adds r4, 0x4
+ ldr r1, [r6]
+ adds r0, r1, 0
+ adds r0, 0xC2
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r5, r4, r0
+ adds r0, r1, 0
+ adds r0, 0x42
+ movs r3, 0
+ ldrsh r2, [r0, r3]
+ adds r2, 0x1
+ movs r0, 0x7
+ str r0, [sp]
+ ldr r0, [r1, 0x58]
+ str r0, [sp, 0x4]
+ adds r0, r5, 0
+ movs r1, 0
+ movs r3, 0x1
+ bl sub_8012BC4
+ movs r5, 0
+ ldr r0, [r6]
+ movs r1, 0x3E
+ ldrsh r0, [r0, r1]
+ cmp r5, r0
+ bge _0801C5CC
+ ldr r2, _0801C59C
+ mov r8, r2
+_0801C53C:
+ ldr r2, [r6]
+ adds r0, r2, 0
+ adds r0, 0x42
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ subs r0, 0x2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r1, r0
+ adds r1, r5
+ adds r0, r2, 0
+ adds r0, 0x8
+ adds r0, r1
+ ldrb r4, [r0]
+ adds r0, r2, 0
+ adds r0, 0x24
+ adds r1, r5, 0
+ bl sub_8013800
+ adds r7, r0, 0
+ adds r0, r4, 0
+ bl sub_808EAB0
+ adds r1, r0, 0
+ mov r0, r8
+ movs r2, 0x50
+ bl strncpy
+ ldr r0, [r6]
+ ldr r0, [r0, 0x4]
+ adds r0, 0x20
+ movs r1, 0x1
+ lsls r1, r4
+ bl sub_808ECD0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801C5A4
+ mov r0, r8
+ subs r0, 0x50
+ ldr r1, _0801C5A0
+ bl strcpy
+ b _0801C5AE
+ .align 2, 0
+_0801C594: .4byte gUnknown_203B23C
+_0801C598: .4byte gUnknown_80DBE08
+_0801C59C: .4byte gUnknown_202DEA8
+_0801C5A0: .4byte gUnknown_80DBE14
+_0801C5A4:
+ mov r0, r8
+ subs r0, 0x50
+ ldr r1, _0801C5E4
+ bl strcpy
+_0801C5AE:
+ ldr r0, [r6]
+ ldr r3, [r0, 0x58]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xC
+ adds r1, r7, 0
+ ldr r2, _0801C5E8
+ bl sub_8014FF0
+ adds r5, 0x1
+ ldr r0, [r6]
+ movs r1, 0x3E
+ ldrsh r0, [r0, r1]
+ cmp r5, r0
+ blt _0801C53C
+_0801C5CC:
+ ldr r0, _0801C5EC
+ ldr r0, [r0]
+ ldr r0, [r0, 0x58]
+ bl sub_80073E0
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801C5E4: .4byte gUnknown_80DBE18
+_0801C5E8: .4byte gUnknown_80DBE1C
+_0801C5EC: .4byte gUnknown_203B23C
+ thumb_func_end sub_801C4C8
+
+ thumb_func_start sub_801C5F0
+sub_801C5F0:
+ push {lr}
+ sub sp, 0x18
+ lsls r0, 16
+ asrs r0, 16
+ ldr r2, _0801C614
+ movs r1, 0x58
+ muls r1, r0
+ ldr r0, [r2]
+ adds r0, r1
+ movs r2, 0x14
+ ldrsh r1, [r0, r2]
+ mov r0, sp
+ bl sub_808EBA8
+ cmp r0, 0
+ beq _0801C618
+ movs r0, 0
+ b _0801C61A
+ .align 2, 0
+_0801C614: .4byte gRecruitedPokemonRef
+_0801C618:
+ movs r0, 0x1
+_0801C61A:
+ add sp, 0x18
+ pop {r1}
+ 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/asm/unk_menu_203B364.s b/asm/unk_menu_203B364.s
index d1a1cd4..40e9de2 100644
--- a/asm/unk_menu_203B364.s
+++ b/asm/unk_menu_203B364.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start sub_8038630
-sub_8038630:
+ thumb_func_start UpdateSaveMenu
+UpdateSaveMenu:
push {r4-r6,lr}
sub sp, 0x18
ldr r5, _080386A8
@@ -31,7 +31,7 @@ _0803864C:
bl sub_8011C1C
adds r1, r0, 0
add r0, sp, 0x10
- bl sub_801203C
+ bl WriteSavetoPak
adds r4, r0, 0
bl sub_8014114
cmp r4, 0
@@ -256,7 +256,7 @@ _08038826:
pop {r4-r6}
pop {r1}
bx r1
- thumb_func_end sub_8038630
+ thumb_func_end UpdateSaveMenu
thumb_func_start sub_8038830
sub_8038830:
diff --git a/asm/wonder_mail.s b/asm/wonder_mail.s
index af15e98..2955f9f 100644
--- a/asm/wonder_mail.s
+++ b/asm/wonder_mail.s
@@ -768,7 +768,7 @@ _08028748:
b _0802878A
.align 2, 0
_08028760: .4byte 0x00000544
-_08028764: .4byte gUnknown_203B45C
+_08028764: .4byte gRecruitedPokemonRef
_08028768: .4byte gUnknown_203B2C0
_0802876C:
adds r1, r2, 0
diff --git a/asm/wonder_mail_1.s b/asm/wonder_mail_1.s
index 72c4401..a982ae8 100644
--- a/asm/wonder_mail_1.s
+++ b/asm/wonder_mail_1.s
@@ -591,7 +591,7 @@ sub_802AB98:
movs r4, 0x98
lsls r4, 1
adds r1, r4, 0
- bl sub_808D8E0
+ bl CopyYellowSpeciesNametoBuffer
adds r0, r4, 0
bl GetMonSpecies
adds r1, r0, 0
diff --git a/asm/wonder_mail_3.s b/asm/wonder_mail_3.s
index 44059a1..718d084 100644
--- a/asm/wonder_mail_3.s
+++ b/asm/wonder_mail_3.s
@@ -1438,14 +1438,14 @@ _0802DCE0:
ldr r1, [r1, 0x34]
movs r2, 0xC
ldrsh r1, [r1, r2]
- bl sub_808D8E0
+ bl CopyYellowSpeciesNametoBuffer
ldr r4, _0802DD64
ldr r0, [r5]
ldr r0, [r0, 0x34]
movs r2, 0xC
ldrsh r1, [r0, r2]
adds r0, r4, 0
- bl sub_808D8E0
+ bl CopyYellowSpeciesNametoBuffer
ldr r0, [r5]
ldr r0, [r0, 0x34]
movs r1, 0xC
@@ -2628,7 +2628,7 @@ _0802E658:
.4byte _0802E6B4
_0802E678:
ldr r0, _0802E6AC
- bl sub_8011988
+ bl PlaySound
ldr r4, _0802E6B0
ldr r0, [r4]
ldrb r0, [r0, 0x8]
@@ -2654,7 +2654,7 @@ _0802E6B4:
b _0802E732
_0802E6BC:
ldr r0, _0802E6F4
- bl sub_8011988
+ bl PlaySound
ldr r4, _0802E6F8
ldr r0, [r4]
ldrb r0, [r0, 0x8]
@@ -3582,7 +3582,7 @@ _0802EE00:
b _0802EE96
_0802EE06:
ldr r0, _0802EE28
- bl sub_8011988
+ bl PlaySound
ldr r4, _0802EE2C
ldr r0, [r4]
ldrb r0, [r0, 0x8]
@@ -4348,7 +4348,7 @@ _0802F3E0:
b _0802F6E4
_0802F3E8:
movs r0, 0xCB
- bl sub_8011988
+ bl PlaySound
ldr r0, _0802F414
ldr r0, [r0]
ldr r0, [r0, 0x10]
@@ -4450,7 +4450,7 @@ _0802F4BC:
ldrb r0, [r0]
bl UnlockFriendArea
movs r0, 0xCE
- bl sub_8011988
+ bl PlaySound
ldr r0, _0802F4E8
_0802F4DA:
ldr r3, _0802F4EC
@@ -4468,7 +4468,7 @@ _0802F4F0:
ldrb r0, [r0]
bl UnlockFriendArea
movs r0, 0xCE
- bl sub_8011988
+ bl PlaySound
ldr r0, _0802F518
ldr r3, _0802F51C
movs r1, 0
@@ -4630,7 +4630,7 @@ _0802F644:
ldr r0, [r0, 0x24]
bl AddToTeamRankPts
movs r0, 0xCB
- bl sub_8011988
+ bl PlaySound
ldr r4, [r5]
bl GetRescueTeamRank
ldrb r1, [r4, 0x9]
@@ -4665,7 +4665,7 @@ _0802F69C: .4byte gUnknown_80E0670
_0802F6A0: .4byte 0x00000101
_0802F6A4:
movs r0, 0xC9
- bl sub_8011988
+ bl PlaySound
ldr r0, _0802F6EC
ldr r1, [r0]
movs r0, 0x9
@@ -5493,4405 +5493,4 @@ _0802FD0E:
bx r1
thumb_func_end sub_802FCF0
- thumb_func_start sub_802FD14
-sub_802FD14:
- push {r4-r6,lr}
- adds r5, r0, 0
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _0802FD48
- movs r0, 0xCC
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- ldr r1, _0802FD4C
- strh r1, [r0, 0x10]
- str r5, [r0]
- cmp r5, 0x7
- bhi _0802FDC0
- lsls r0, r5, 2
- ldr r1, _0802FD50
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802FD48: .4byte gUnknown_203B318
-_0802FD4C: .4byte 0x0000ffff
-_0802FD50: .4byte _0802FD54
- .align 2, 0
-_0802FD54:
- .4byte _0802FD74
- .4byte _0802FD84
- .4byte _0802FD94
- .4byte _0802FDA4
- .4byte _0802FDB4
- .4byte _0802FDB8
- .4byte _0802FDBC
- .4byte _0802FDC0
-_0802FD74:
- movs r6, 0
- ldr r1, _0802FD80
- ldr r0, [r1]
- str r6, [r0, 0x4]
- b _0802FDCC
- .align 2, 0
-_0802FD80: .4byte gUnknown_203B318
-_0802FD84:
- movs r6, 0x7
- ldr r2, _0802FD90
- ldr r1, [r2]
- movs r0, 0
- b _0802FDC8
- .align 2, 0
-_0802FD90: .4byte gUnknown_203B318
-_0802FD94:
- movs r6, 0x6
- ldr r2, _0802FDA0
- ldr r1, [r2]
- movs r0, 0
- b _0802FDC8
- .align 2, 0
-_0802FDA0: .4byte gUnknown_203B318
-_0802FDA4:
- movs r6, 0x8
- ldr r2, _0802FDB0
- ldr r1, [r2]
- movs r0, 0
- b _0802FDC8
- .align 2, 0
-_0802FDB0: .4byte gUnknown_203B318
-_0802FDB4:
- movs r6, 0
- b _0802FDC2
-_0802FDB8:
- movs r6, 0x7
- b _0802FDC2
-_0802FDBC:
- movs r6, 0x6
- b _0802FDC2
-_0802FDC0:
- movs r6, 0x8
-_0802FDC2:
- ldr r2, _0802FDD8
- ldr r1, [r2]
- movs r0, 0x1
-_0802FDC8:
- str r0, [r1, 0x4]
- adds r1, r2, 0
-_0802FDCC:
- ldr r1, [r1]
- ldr r0, [r1, 0x4]
- cmp r0, 0x1
- bne _0802FDDC
- movs r0, 0
- b _0802FDE0
- .align 2, 0
-_0802FDD8: .4byte gUnknown_203B318
-_0802FDDC:
- adds r0, r1, 0
- adds r0, 0x58
-_0802FDE0:
- str r0, [r1, 0x68]
- ldr r0, _0802FE48
- ldr r5, _0802FE4C
- adds r1, r5, 0
- bl sub_808D8E0
- ldr r4, _0802FE50
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808D8E0
- adds r0, r5, 0
- bl GetMonSpecies
- adds r1, r0, 0
- subs r4, 0x50
- adds r0, r4, 0
- bl strcpy
- adds r0, r5, 0
- bl GetDialogueSpriteDataPtr
- ldr r3, _0802FE54
- ldr r1, [r3]
- str r0, [r1, 0x58]
- ldr r0, [r0, 0x4]
- str r0, [r1, 0x5C]
- adds r1, 0x64
- movs r2, 0
- strb r2, [r1]
- ldr r0, [r3]
- adds r0, 0x65
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, 0x66
- strb r2, [r0]
- ldr r1, [r3]
- adds r2, r1, 0
- adds r2, 0x60
- movs r0, 0x2
- strh r0, [r2]
- adds r1, 0x62
- movs r0, 0x8
- strh r0, [r1]
- adds r0, r6, 0
- bl sub_802FF04
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0802FE48: .4byte gUnknown_202E5D8
-_0802FE4C: .4byte 0x00000141
-_0802FE50: .4byte gUnknown_202E1C8
-_0802FE54: .4byte gUnknown_203B318
- thumb_func_end sub_802FD14
-
- thumb_func_start sub_802FE58
-sub_802FE58:
- push {lr}
- ldr r0, _0802FE70
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- cmp r0, 0xD
- bhi _0802FEC6
- lsls r0, 2
- ldr r1, _0802FE74
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802FE70: .4byte gUnknown_203B318
-_0802FE74: .4byte _0802FE78
- .align 2, 0
-_0802FE78:
- .4byte _0802FEB0
- .4byte _0802FEB0
- .4byte _0802FEC6
- .4byte _0802FEC6
- .4byte _0802FEB6
- .4byte _0802FEC6
- .4byte _0802FEC6
- .4byte _0802FEC6
- .4byte _0802FEC6
- .4byte _0802FEC6
- .4byte _0802FEC6
- .4byte _0802FEBC
- .4byte _0802FEC6
- .4byte _0802FEC2
-_0802FEB0:
- bl sub_8030208
- b _0802FECA
-_0802FEB6:
- bl sub_8030258
- b _0802FECA
-_0802FEBC:
- bl sub_80302A8
- b _0802FECA
-_0802FEC2:
- movs r0, 0x3
- b _0802FECC
-_0802FEC6:
- bl sub_80302C4
-_0802FECA:
- movs r0, 0
-_0802FECC:
- pop {r1}
- bx r1
- thumb_func_end sub_802FE58
-
- thumb_func_start sub_802FED0
-sub_802FED0:
- ldr r0, _0802FEDC
- ldr r0, [r0]
- movs r1, 0x10
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0802FEDC: .4byte gUnknown_203B318
- thumb_func_end sub_802FED0
-
- thumb_func_start sub_802FEE0
-sub_802FEE0:
- push {r4,lr}
- ldr r4, _0802FF00
- ldr r0, [r4]
- cmp r0, 0
- beq _0802FEFA
- ldr r0, [r0, 0x58]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802FEFA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802FF00: .4byte gUnknown_203B318
- thumb_func_end sub_802FEE0
-
- thumb_func_start sub_802FF04
-sub_802FF04:
- push {lr}
- ldr r1, _0802FF18
- ldr r1, [r1]
- str r0, [r1, 0x8]
- bl sub_802FF1C
- bl sub_802FF88
- pop {r0}
- bx r0
- .align 2, 0
-_0802FF18: .4byte gUnknown_203B318
- thumb_func_end sub_802FF04
-
- thumb_func_start sub_802FF1C
-sub_802FF1C:
- push {r4-r7,lr}
- ldr r4, _0802FF3C
- ldr r0, [r4]
- adds r0, 0x6C
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- cmp r0, 0x4
- beq _0802FF44
- cmp r0, 0x4
- bgt _0802FF40
- cmp r0, 0
- beq _0802FF44
- b _0802FF68
- .align 2, 0
-_0802FF3C: .4byte gUnknown_203B318
-_0802FF40:
- cmp r0, 0xD
- bne _0802FF68
-_0802FF44:
- ldr r0, _0802FF80
- mov r12, r0
- ldr r4, _0802FF84
- movs r3, 0
- movs r2, 0x3
-_0802FF4E:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0x6C
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0802FF4E
-_0802FF68:
- bl ResetUnusedInputStruct
- ldr r0, _0802FF80
- ldr r0, [r0]
- adds r0, 0x6C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802FF80: .4byte gUnknown_203B318
-_0802FF84: .4byte gUnknown_80E0760
- thumb_func_end sub_802FF1C
-
- thumb_func_start sub_802FF88
-sub_802FF88:
- push {r4,r5,lr}
- sub sp, 0x18
- ldr r1, _0802FFA4
- ldr r0, [r1]
- ldr r0, [r0, 0x8]
- adds r5, r1, 0
- cmp r0, 0xD
- bls _0802FF9A
- b _080301A0
-_0802FF9A:
- lsls r0, 2
- ldr r1, _0802FFA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802FFA4: .4byte gUnknown_203B318
-_0802FFA8: .4byte _0802FFAC
- .align 2, 0
-_0802FFAC:
- .4byte _0802FFE4
- .4byte _08030000
- .4byte _08030038
- .4byte _08030050
- .4byte _08030068
- .4byte _08030074
- .4byte _080300DC
- .4byte _080300C4
- .4byte _080300F4
- .4byte _0803010C
- .4byte _08030148
- .4byte _08030174
- .4byte _08030180
- .4byte _080301A0
-_0802FFE4:
- bl sub_80301B0
- ldr r2, _0802FFF8
- ldr r0, _0802FFFC
- ldr r5, [r0]
- ldr r1, [r5, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- b _0803000E
- .align 2, 0
-_0802FFF8: .4byte gMakuhitaDialogue
-_0802FFFC: .4byte gUnknown_203B318
-_08030000:
- ldr r2, _08030034
- ldr r5, [r5]
- ldr r1, [r5, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x4
-_0803000E:
- adds r0, r2
- ldr r0, [r0]
- ldr r2, [r5, 0x14]
- adds r3, r5, 0
- adds r3, 0x18
- movs r4, 0
- str r4, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r1, [r5, 0x68]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _080301A0
- .align 2, 0
-_08030034: .4byte gMakuhitaDialogue
-_08030038:
- ldr r3, [r5]
- movs r0, 0xD
- str r0, [r3, 0xC]
- ldr r2, _0803004C
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x8
- b _0803015A
- .align 2, 0
-_0803004C: .4byte gMakuhitaDialogue
-_08030050:
- ldr r3, [r5]
- movs r0, 0x4
- str r0, [r3, 0xC]
- ldr r2, _08030064
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0xC
- b _0803015A
- .align 2, 0
-_08030064: .4byte gMakuhitaDialogue
-_08030068:
- movs r0, 0x3
- movs r1, 0
- movs r2, 0xA
- bl sub_80302E8
- b _080301A0
-_08030074:
- ldr r1, [r5]
- movs r0, 0xD
- str r0, [r1, 0xC]
- movs r2, 0x10
- ldrsh r0, [r1, r2]
- bl sub_80A2740
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080300B4
- ldr r1, [sp, 0x14]
- ands r1, r2
- orrs r1, r0
- ldr r0, _080300B8
- ands r1, r0
- movs r0, 0x80
- lsls r0, 1
- orrs r1, r0
- str r1, [sp, 0x14]
- ldr r0, _080300BC
- add r1, sp, 0x14
- bl sub_8090208
- ldr r2, _080300C0
- ldr r3, [r5]
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x10
- b _0803015A
- .align 2, 0
-_080300B4: .4byte 0xffffff00
-_080300B8: .4byte 0xffff00ff
-_080300BC: .4byte gAvailablePokemonNames
-_080300C0: .4byte gMakuhitaDialogue
-_080300C4:
- ldr r3, [r5]
- movs r0, 0xD
- str r0, [r3, 0xC]
- ldr r2, _080300D8
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x18
- b _0803015A
- .align 2, 0
-_080300D8: .4byte gMakuhitaDialogue
-_080300DC:
- ldr r3, [r5]
- movs r0, 0xD
- str r0, [r3, 0xC]
- ldr r2, _080300F0
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x14
- b _0803015A
- .align 2, 0
-_080300F0: .4byte gMakuhitaDialogue
-_080300F4:
- ldr r3, [r5]
- movs r0, 0x9
- str r0, [r3, 0xC]
- ldr r2, _08030108
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x1C
- b _0803015A
- .align 2, 0
-_08030108: .4byte gMakuhitaDialogue
-_0803010C:
- ldr r4, _08030138
- bl sub_808D33C
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r0, _0803013C
- ldr r1, [r0]
- movs r0, 0xB
- str r0, [r1, 0xC]
- movs r0, 0xCB
- bl sub_8011988
- ldr r0, _08030140
- ldr r3, _08030144
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _080301A0
- .align 2, 0
-_08030138: .4byte gPlayerName
-_0803013C: .4byte gUnknown_203B318
-_08030140: .4byte gUnknown_80E0778
-_08030144: .4byte 0x00000101
-_08030148:
- ldr r3, [r5]
- movs r0, 0xD
- str r0, [r3, 0xC]
- ldr r2, _0803016C
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x20
-_0803015A:
- adds r0, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x68]
- ldr r3, _08030170
- movs r1, 0
- bl sub_80141B4
- b _080301A0
- .align 2, 0
-_0803016C: .4byte gMakuhitaDialogue
-_08030170: .4byte 0x0000010d
-_08030174:
- movs r0, 0x1
- movs r1, 0x49
- movs r2, 0x1
- bl sub_801B60C
- b _080301A0
-_08030180:
- ldr r3, [r5]
- movs r0, 0x1
- str r0, [r3, 0xC]
- ldr r2, _080301A8
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x24
- adds r0, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x68]
- ldr r3, _080301AC
- movs r1, 0
- bl sub_80141B4
-_080301A0:
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080301A8: .4byte gMakuhitaDialogue
-_080301AC: .4byte 0x0000010d
- thumb_func_end sub_802FF88
-
- thumb_func_start sub_80301B0
-sub_80301B0:
- push {r4,lr}
- ldr r4, _080301F8
- ldr r1, [r4]
- movs r2, 0x2
- str r2, [r1, 0x14]
- ldr r0, _080301FC
- str r0, [r1, 0x18]
- str r2, [r1, 0x1C]
- bl sub_80306A4
- lsls r0, 24
- cmp r0, 0
- beq _080301D6
- ldr r0, [r4]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x1C]
- movs r1, 0x1
- str r1, [r0, 0x14]
-_080301D6:
- ldr r1, [r4]
- movs r2, 0x1
- ldr r0, _08030200
- ldr r0, [r0]
- str r0, [r1, 0x20]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08030204
- ldr r0, [r0]
- str r0, [r1, 0x28]
- str r2, [r1, 0x2C]
- movs r0, 0
- str r0, [r1, 0x30]
- str r2, [r1, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080301F8: .4byte gUnknown_203B318
-_080301FC: .4byte gUnknown_80E07D8
-_08030200: .4byte gUnknown_80D4970
-_08030204: .4byte gUnknown_80D4934
- thumb_func_end sub_80301B0
-
- thumb_func_start sub_8030208
-sub_8030208:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08030250
- ldr r0, _08030230
- ldr r1, [r0]
- ldr r0, [sp]
- str r0, [r1, 0x14]
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0803023A
- cmp r0, 0x2
- bgt _08030234
- cmp r0, 0x1
- beq _0803024A
- b _08030250
- .align 2, 0
-_08030230: .4byte gUnknown_203B318
-_08030234:
- cmp r0, 0x3
- beq _08030242
- b _08030250
-_0803023A:
- movs r0, 0x3
- bl sub_802FF04
- b _08030250
-_08030242:
- movs r0, 0xC
- bl sub_802FF04
- b _08030250
-_0803024A:
- movs r0, 0x2
- bl sub_802FF04
-_08030250:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8030208
-
- thumb_func_start sub_8030258
-sub_8030258:
- push {lr}
- movs r0, 0x1
- bl sub_80303AC
- cmp r0, 0x2
- beq _08030288
- cmp r0, 0x2
- bcc _0803029A
- cmp r0, 0x3
- bne _0803029A
- bl sub_8030418
- ldr r1, _08030284
- ldr r1, [r1]
- strh r0, [r1, 0x10]
- bl sub_8030480
- movs r0, 0x5
- bl sub_802FF04
- b _0803029A
- .align 2, 0
-_08030284: .4byte gUnknown_203B318
-_08030288:
- bl sub_8030480
- ldr r0, _080302A0
- ldr r1, [r0]
- ldr r0, _080302A4
- strh r0, [r1, 0x10]
- movs r0, 0x1
- bl sub_802FF04
-_0803029A:
- pop {r0}
- bx r0
- .align 2, 0
-_080302A0: .4byte gUnknown_203B318
-_080302A4: .4byte 0x0000ffff
- thumb_func_end sub_8030258
-
- thumb_func_start sub_80302A8
-sub_80302A8:
- push {lr}
- bl sub_801B6AC
- cmp r0, 0x1
- bls _080302C0
- cmp r0, 0x3
- bhi _080302C0
- bl sub_801B72C
- movs r0, 0xA
- bl sub_802FF04
-_080302C0:
- pop {r0}
- bx r0
- thumb_func_end sub_80302A8
-
- thumb_func_start sub_80302C4
-sub_80302C4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080302DC
- ldr r0, _080302E4
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- bl sub_802FF04
-_080302DC:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080302E4: .4byte gUnknown_203B318
- thumb_func_end sub_80302C4
-
- thumb_func_start sub_80302E8
-sub_80302E8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- bl sub_80306A4
- lsls r0, 24
- cmp r0, 0
- beq _08030302
- movs r0, 0
- b _0803039A
-_08030302:
- ldr r4, _080303A4
- ldr r0, [r4]
- cmp r0, 0
- bne _08030314
- movs r0, 0xD0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
-_08030314:
- ldr r0, [r4]
- str r5, [r0, 0x64]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0x6C
- adds r1, r0, r1
- str r1, [r0, 0x68]
- adds r0, 0x6C
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x64]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x6C
- ldr r0, _080303A8
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r2, [r4]
- ldr r1, [r2, 0x68]
- adds r0, r2, 0
- adds r0, 0xCC
- str r0, [r1, 0x14]
- cmp r6, 0
- beq _08030362
- ldr r1, [r2, 0x64]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r2, 0
- adds r1, 0x74
- adds r1, r0
- ldr r0, [r6]
- str r0, [r1]
-_08030362:
- ldr r0, [r4]
- ldr r0, [r0, 0x68]
- mov r1, r8
- bl sub_8012D08
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x6C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r4]
- adds r4, 0x30
- bl sub_8030668
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r8
- adds r3, r5, 0
- bl sub_8013818
- bl sub_80304C8
- bl sub_803053C
- movs r0, 0x1
-_0803039A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080303A4: .4byte gUnknown_203B31C
-_080303A8: .4byte gUnknown_80E0804
- thumb_func_end sub_80302E8
-
- thumb_func_start sub_80303AC
-sub_80303AC:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _080303C8
- ldr r0, _080303C4
- ldr r0, [r0]
- adds r0, 0x30
- bl sub_8013660
- movs r0, 0
- b _08030410
- .align 2, 0
-_080303C4: .4byte gUnknown_203B31C
-_080303C8:
- ldr r4, _080303E4
- ldr r0, [r4]
- adds r0, 0x30
- bl GetKeyPress
- cmp r0, 0x1
- beq _080303E8
- cmp r0, 0x2
- bne _080303F2
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _08030410
- .align 2, 0
-_080303E4: .4byte gUnknown_203B31C
-_080303E8:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _08030410
-_080303F2:
- ldr r0, [r4]
- adds r0, 0x30
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _08030406
- movs r0, 0
- b _08030410
-_08030406:
- bl sub_80304C8
- bl sub_803053C
- movs r0, 0x1
-_08030410:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80303AC
-
- thumb_func_start sub_8030418
-sub_8030418:
- ldr r0, _08030440
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x4E
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- adds r1, r2, 0
- adds r1, 0x48
- movs r3, 0
- ldrsh r1, [r1, r3]
- adds r0, r1
- lsls r0, 1
- adds r0, r2, r0
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08030440: .4byte gUnknown_203B31C
- thumb_func_end sub_8030418
-
- thumb_func_start sub_8030444
-sub_8030444:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8030668
- adds r1, r0, 0
- ldr r5, _0803047C
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x52
- strh r1, [r2]
- adds r0, 0x30
- bl sub_8013984
- bl sub_80304C8
- bl sub_803053C
- cmp r4, 0
- beq _08030476
- ldr r0, [r5]
- adds r0, 0x30
- bl AddMenuCursorSprite
-_08030476:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803047C: .4byte gUnknown_203B31C
- thumb_func_end sub_8030444
-
- thumb_func_start sub_8030480
-sub_8030480:
- push {r4,r5,lr}
- ldr r4, _080304C0
- ldr r2, [r4]
- cmp r2, 0
- beq _080304BA
- ldr r0, [r2, 0x64]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x6C
- ldr r0, _080304C4
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x6C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080304BA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080304C0: .4byte gUnknown_203B31C
-_080304C4: .4byte gUnknown_80E07EC
- thumb_func_end sub_8030480
-
- thumb_func_start sub_80304C8
-sub_80304C8:
- push {r4,lr}
- ldr r4, _08030538
- ldr r0, [r4]
- adds r0, 0xCC
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xCD
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0xCE
- movs r1, 0x8
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xCF
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0x4A
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x64]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x7A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x64]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x7C
- strh r3, [r2]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x6C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08030538: .4byte gUnknown_203B31C
- thumb_func_end sub_80304C8
-
- thumb_func_start sub_803053C
-sub_803053C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x108
- ldr r4, _08030658
- ldr r0, [r4]
- ldr r0, [r0, 0x64]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x64]
- bl sub_80073B8
- ldr r2, _0803065C
- ldr r0, [r4]
- ldr r3, [r0, 0x64]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0xCE
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- adds r1, r3, 0
- adds r1, 0x4E
- movs r5, 0
- ldrsh r2, [r1, r5]
- adds r2, 0x1
- movs r1, 0x7
- str r1, [sp]
- ldr r1, [r3, 0x64]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r0, 0
- mov r9, r0
- ldr r0, [r4]
- adds r0, 0x4A
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r9, r0
- bge _0803063E
- mov r8, r4
-_080305A2:
- mov r3, r8
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x4E
- movs r5, 0
- ldrsh r2, [r0, r5]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r2
- add r0, r9
- lsls r0, 1
- adds r1, r0
- movs r5, 0
- ldrsh r4, [r1, r5]
- adds r0, r4, 0
- bl sub_80A2740
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r4, 0
- bl sub_80A2668
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x30
- mov r1, r9
- bl sub_8013800
- adds r6, r0, 0
- movs r5, 0x7
- adds r0, r4, 0
- bl sub_809758C
- lsls r0, 24
- cmp r0, 0
- beq _08030608
- mov r3, r8
- ldr r0, [r3]
- ldr r3, [r0, 0x64]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- adds r1, r6, 0
- ldr r2, _08030660
- bl xxx_call_draw_string
- movs r5, 0x4
-_08030608:
- adds r0, r7, 0
- bl GetDungeonName1
- adds r3, r0, 0
- add r0, sp, 0x8
- ldr r1, _08030664
- adds r2, r5, 0
- bl sub_800D158
- mov r5, r8
- ldr r0, [r5]
- ldr r3, [r0, 0x64]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- adds r1, r6, 0
- add r2, sp, 0x8
- bl xxx_call_draw_string
- movs r0, 0x1
- add r9, r0
- ldr r0, [r5]
- adds r0, 0x4A
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r9, r0
- blt _080305A2
-_0803063E:
- ldr r0, _08030658
- ldr r0, [r0]
- ldr r0, [r0, 0x64]
- bl sub_80073E0
- add sp, 0x108
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08030658: .4byte gUnknown_203B31C
-_0803065C: .4byte gUnknown_80E081C
-_08030660: .4byte gUnknown_80E0824
-_08030664: .4byte gUnknown_80E0828
- thumb_func_end sub_803053C
-
- thumb_func_start sub_8030668
-sub_8030668:
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
-_0803066E:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_8097504
- lsls r0, 24
- cmp r0, 0
- beq _08030690
- adds r0, r4, 0
- bl sub_80A26CC
- ldr r1, _080306A0
- ldr r1, [r1]
- lsls r2, r6, 1
- adds r1, r2
- strh r0, [r1]
- adds r6, 0x1
-_08030690:
- adds r5, 0x1
- cmp r5, 0x16
- ble _0803066E
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080306A0: .4byte gUnknown_203B31C
- thumb_func_end sub_8030668
-
- thumb_func_start sub_80306A4
-sub_80306A4:
- movs r0, 0
- bx lr
- thumb_func_end sub_80306A4
-
- thumb_func_start sub_80306A8
-sub_80306A8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- mov r8, r3
- bl sub_8030C20
- lsls r0, 24
- cmp r0, 0
- beq _080306C4
- movs r0, 0
- b _08030756
-_080306C4:
- ldr r6, _08030760
- movs r0, 0xC4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- str r4, [r0, 0x20]
- str r5, [r0, 0x58]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0x60
- adds r1, r0, r1
- str r1, [r0, 0x5C]
- adds r0, 0x60
- bl sub_8006518
- ldr r1, [r6]
- ldr r2, [r1, 0x58]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x60
- ldr r0, _08030764
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r6]
- ldr r1, [r2, 0x5C]
- adds r0, r2, 0
- adds r0, 0xC0
- str r0, [r1, 0x14]
- cmp r7, 0
- beq _0803071E
- ldr r1, [r2, 0x58]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r2, 0
- adds r1, 0x68
- adds r1, r0
- ldr r0, [r7]
- str r0, [r1]
-_0803071E:
- ldr r0, [r6]
- ldr r0, [r0, 0x5C]
- mov r1, r8
- bl sub_8012D08
- bl ResetUnusedInputStruct
- ldr r0, [r6]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r6]
- adds r4, 0x24
- bl sub_8030A74
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r8
- adds r3, r5, 0
- bl sub_8013818
- bl sub_80308A0
- bl sub_803092C
- movs r0, 0x1
-_08030756:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08030760: .4byte gUnknown_203B320
-_08030764: .4byte gUnknown_80E0854
- thumb_func_end sub_80306A8
-
- thumb_func_start sub_8030768
-sub_8030768:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _08030784
- ldr r0, _08030780
- ldr r0, [r0]
- adds r0, 0x24
- bl sub_8013660
- movs r0, 0
- b _080307E6
- .align 2, 0
-_08030780: .4byte gUnknown_203B320
-_08030784:
- ldr r0, _0803079C
- ldr r0, [r0]
- adds r0, 0x24
- bl GetKeyPress
- cmp r0, 0x2
- beq _080307AE
- cmp r0, 0x2
- bgt _080307A0
- cmp r0, 0x1
- beq _080307B8
- b _080307C2
- .align 2, 0
-_0803079C: .4byte gUnknown_203B320
-_080307A0:
- cmp r0, 0x4
- bne _080307C2
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _080307E6
-_080307AE:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _080307E6
-_080307B8:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _080307E6
-_080307C2:
- ldr r0, _080307D8
- ldr r0, [r0]
- adds r0, 0x24
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _080307DC
- movs r0, 0
- b _080307E6
- .align 2, 0
-_080307D8: .4byte gUnknown_203B320
-_080307DC:
- bl sub_80308A0
- bl sub_803092C
- movs r0, 0x1
-_080307E6:
- pop {r1}
- bx r1
- thumb_func_end sub_8030768
-
- thumb_func_start sub_80307EC
-sub_80307EC:
- ldr r0, _0803080C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- movs r3, 0x3C
- ldrsh r1, [r2, r3]
- adds r0, r1
- adds r2, r0
- ldrb r0, [r2]
- bx lr
- .align 2, 0
-_0803080C: .4byte gUnknown_203B320
- thumb_func_end sub_80307EC
-
- thumb_func_start sub_8030810
-sub_8030810:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8030A74
- adds r1, r0, 0
- ldr r5, _08030848
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x46
- strh r1, [r2]
- adds r0, 0x24
- bl sub_8013984
- bl sub_80308A0
- bl sub_803092C
- cmp r4, 0
- beq _08030842
- ldr r0, [r5]
- adds r0, 0x24
- bl AddMenuCursorSprite
-_08030842:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08030848: .4byte gUnknown_203B320
- thumb_func_end sub_8030810
-
- thumb_func_start sub_803084C
-sub_803084C:
- push {r4,r5,lr}
- ldr r4, _0803088C
- ldr r2, [r4]
- cmp r2, 0
- beq _08030886
- ldr r0, [r2, 0x58]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x60
- ldr r0, _08030890
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08030886:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803088C: .4byte gUnknown_203B320
-_08030890: .4byte gUnknown_80E083C
- thumb_func_end sub_803084C
-
- thumb_func_start sub_8030894
-sub_8030894:
- ldr r0, _0803089C
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0803089C: .4byte gUnknown_203B320
- thumb_func_end sub_8030894
-
- thumb_func_start sub_80308A0
-sub_80308A0:
- push {r4,lr}
- ldr r4, _08030928
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x44
- ldrh r1, [r1]
- adds r0, 0xC0
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x42
- ldrh r1, [r1]
- adds r0, 0xC1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC2
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC3
- strb r2, [r0]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x3E
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x58]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x6E
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x58]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x70
- strh r3, [r2]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08030928: .4byte gUnknown_203B320
- thumb_func_end sub_80308A0
-
- thumb_func_start sub_803092C
-sub_803092C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x60
- ldr r7, _08030A24
- ldr r0, [r7]
- ldr r0, [r0, 0x58]
- bl sub_8008C54
- ldr r0, [r7]
- ldr r0, [r0, 0x58]
- bl sub_80073B8
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x42
- movs r2, 0
- ldrsh r4, [r0, r2]
- lsls r4, 3
- adds r5, r4, 0
- adds r5, 0xA
- ldr r2, _08030A28
- ldr r0, [r1, 0x20]
- lsls r0, 2
- adds r0, r2
- ldr r2, [r0]
- ldr r3, [r1, 0x58]
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl xxx_call_draw_string
- adds r4, 0x4
- ldr r3, [r7]
- adds r0, r3, 0
- adds r0, 0xC2
- ldrb r0, [r0]
- lsls r0, 3
- adds r5, r4, r0
- adds r0, r3, 0
- adds r0, 0x42
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- ldr r0, [r3, 0x58]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x1
- bl sub_8012BC4
- movs r6, 0
- ldr r0, [r7]
- movs r2, 0x3E
- ldrsh r0, [r0, r2]
- cmp r6, r0
- bge _08030A56
- mov r9, r7
- mov r8, r6
- add r7, sp, 0x8
- mov r5, sp
- adds r5, 0x4B
-_080309B0:
- mov r3, r9
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r2, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r2
- adds r0, r6
- adds r1, r0
- ldrb r0, [r1]
- bl sub_8095228
- adds r4, r0, 0
- mov r1, r9
- ldr r0, [r1]
- ldr r1, [r0, 0x58]
- str r1, [sp, 0x8]
- adds r0, 0x24
- adds r1, r6, 0
- bl sub_8013800
- str r0, [sp, 0x50]
- add r1, sp, 0x48
- movs r0, 0x7
- strb r0, [r1]
- mov r0, sp
- adds r0, 0x4A
- mov r2, r8
- strb r2, [r0]
- add r0, sp, 0x4C
- strb r2, [r0]
- adds r0, r4, 0x4
- str r0, [sp, 0x10]
- adds r0, 0x10
- str r0, [sp, 0x14]
- ldrh r0, [r4, 0xC]
- strh r0, [r7, 0x10]
- ldrh r0, [r4, 0xC]
- strh r0, [r7, 0x12]
- strb r2, [r7, 0x14]
- subs r1, 0x12
- movs r0, 0x5
- strb r0, [r1]
- ldrb r0, [r4]
- cmp r0, 0x4
- beq _08030A32
- cmp r0, 0x4
- bgt _08030A2C
- cmp r0, 0x2
- bgt _08030A3E
- cmp r0, 0x1
- blt _08030A3E
- movs r0, 0x1
- strb r0, [r5]
- b _08030A42
- .align 2, 0
-_08030A24: .4byte gUnknown_203B320
-_08030A28: .4byte gUnknown_80E086C
-_08030A2C:
- cmp r0, 0x5
- beq _08030A38
- b _08030A3E
-_08030A32:
- movs r0, 0x3
- strb r0, [r5]
- b _08030A42
-_08030A38:
- movs r0, 0x4
- strb r0, [r5]
- b _08030A42
-_08030A3E:
- mov r3, r8
- strb r3, [r5]
-_08030A42:
- add r0, sp, 0x8
- bl sub_803B6D4
- adds r6, 0x1
- mov r1, r9
- ldr r0, [r1]
- movs r2, 0x3E
- ldrsh r0, [r0, r2]
- cmp r6, r0
- blt _080309B0
-_08030A56:
- ldr r0, _08030A70
- ldr r0, [r0]
- ldr r0, [r0, 0x58]
- bl sub_80073E0
- add sp, 0x60
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08030A70: .4byte gUnknown_203B320
- thumb_func_end sub_803092C
-
- thumb_func_start sub_8030A74
-sub_8030A74:
- push {r4,r5,lr}
- movs r2, 0
- ldr r0, _08030A90
- ldr r0, [r0]
- ldr r0, [r0, 0x20]
- cmp r0, 0x7
- bls _08030A84
- b _08030C0E
-_08030A84:
- lsls r0, 2
- ldr r1, _08030A94
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08030A90: .4byte gUnknown_203B320
-_08030A94: .4byte _08030A98
- .align 2, 0
-_08030A98:
- .4byte _08030AB8
- .4byte _08030B10
- .4byte _08030B3C
- .4byte _08030B94
- .4byte _08030B68
- .4byte _08030BC0
- .4byte _08030AE4
- .4byte _08030BEC
-_08030AB8:
- movs r1, 0
- ldr r5, _08030ADC
- ldr r4, _08030AE0
- movs r3, 0
-_08030AC0:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _08030AD2
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030AD2:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030AC0
- b _08030C0E
- .align 2, 0
-_08030ADC: .4byte gUnknown_203B480
-_08030AE0: .4byte gUnknown_203B320
-_08030AE4:
- movs r1, 0
- ldr r5, _08030B08
- ldr r4, _08030B0C
- movs r3, 0
-_08030AEC:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _08030AFE
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030AFE:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030AEC
- b _08030C0E
- .align 2, 0
-_08030B08: .4byte gUnknown_203B480
-_08030B0C: .4byte gUnknown_203B320
-_08030B10:
- movs r1, 0
- ldr r5, _08030B34
- ldr r4, _08030B38
- movs r3, 0
-_08030B18:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08030B2A
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030B2A:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030B18
- b _08030C0E
- .align 2, 0
-_08030B34: .4byte gUnknown_203B480
-_08030B38: .4byte gUnknown_203B320
-_08030B3C:
- movs r1, 0
- ldr r5, _08030B60
- ldr r4, _08030B64
- movs r3, 0
-_08030B44:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08030B56
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030B56:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030B44
- b _08030C0E
- .align 2, 0
-_08030B60: .4byte gUnknown_203B480
-_08030B64: .4byte gUnknown_203B320
-_08030B68:
- movs r1, 0
- ldr r5, _08030B8C
- ldr r4, _08030B90
- movs r3, 0
-_08030B70:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _08030B82
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030B82:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030B70
- b _08030C0E
- .align 2, 0
-_08030B8C: .4byte gUnknown_203B480
-_08030B90: .4byte gUnknown_203B320
-_08030B94:
- movs r1, 0
- ldr r5, _08030BB8
- ldr r4, _08030BBC
- movs r3, 0
-_08030B9C:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _08030BAE
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030BAE:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030B9C
- b _08030C0E
- .align 2, 0
-_08030BB8: .4byte gUnknown_203B480
-_08030BBC: .4byte gUnknown_203B320
-_08030BC0:
- movs r1, 0
- ldr r5, _08030BE4
- ldr r4, _08030BE8
- movs r3, 0
-_08030BC8:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _08030BDA
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030BDA:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030BC8
- b _08030C0E
- .align 2, 0
-_08030BE4: .4byte gUnknown_203B480
-_08030BE8: .4byte gUnknown_203B320
-_08030BEC:
- movs r1, 0
- ldr r5, _08030C18
- ldr r4, _08030C1C
- movs r3, 0
-_08030BF4:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _08030C06
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030C06:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030BF4
-_08030C0E:
- adds r0, r2, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08030C18: .4byte gUnknown_203B480
-_08030C1C: .4byte gUnknown_203B320
- thumb_func_end sub_8030A74
-
- thumb_func_start sub_8030C20
-sub_8030C20:
- push {lr}
- cmp r0, 0x7
- bls _08030C28
- b _08030D34
-_08030C28:
- lsls r0, 2
- ldr r1, _08030C34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08030C34: .4byte _08030C38
- .align 2, 0
-_08030C38:
- .4byte _08030C58
- .4byte _08030C90
- .4byte _08030CAC
- .4byte _08030CE4
- .4byte _08030CC8
- .4byte _08030D00
- .4byte _08030C74
- .4byte _08030D20
-_08030C58:
- movs r1, 0
- ldr r0, _08030C70
- ldr r2, [r0]
-_08030C5E:
- ldrb r0, [r2]
- cmp r0, 0
- bne _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030C5E
- b _08030D34
- .align 2, 0
-_08030C70: .4byte gUnknown_203B480
-_08030C74:
- movs r1, 0
- ldr r0, _08030C8C
- ldr r2, [r0]
-_08030C7A:
- ldrb r0, [r2]
- cmp r0, 0x6
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030C7A
- b _08030D34
- .align 2, 0
-_08030C8C: .4byte gUnknown_203B480
-_08030C90:
- movs r1, 0
- ldr r0, _08030CA8
- ldr r2, [r0]
-_08030C96:
- ldrb r0, [r2]
- cmp r0, 0x1
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030C96
- b _08030D34
- .align 2, 0
-_08030CA8: .4byte gUnknown_203B480
-_08030CAC:
- movs r1, 0
- ldr r0, _08030CC4
- ldr r2, [r0]
-_08030CB2:
- ldrb r0, [r2]
- cmp r0, 0x2
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030CB2
- b _08030D34
- .align 2, 0
-_08030CC4: .4byte gUnknown_203B480
-_08030CC8:
- movs r1, 0
- ldr r0, _08030CE0
- ldr r2, [r0]
-_08030CCE:
- ldrb r0, [r2]
- cmp r0, 0x4
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030CCE
- b _08030D34
- .align 2, 0
-_08030CE0: .4byte gUnknown_203B480
-_08030CE4:
- movs r1, 0
- ldr r0, _08030CFC
- ldr r2, [r0]
-_08030CEA:
- ldrb r0, [r2]
- cmp r0, 0x3
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030CEA
- b _08030D34
- .align 2, 0
-_08030CFC: .4byte gUnknown_203B480
-_08030D00:
- movs r1, 0
- ldr r0, _08030D18
- ldr r2, [r0]
-_08030D06:
- ldrb r0, [r2]
- cmp r0, 0x5
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030D06
- b _08030D34
- .align 2, 0
-_08030D18: .4byte gUnknown_203B480
-_08030D1C:
- movs r0, 0
- b _08030D36
-_08030D20:
- movs r1, 0
- ldr r0, _08030D3C
- ldr r2, [r0]
-_08030D26:
- ldrb r0, [r2]
- cmp r0, 0x7
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030D26
-_08030D34:
- movs r0, 0x1
-_08030D36:
- pop {r1}
- bx r1
- .align 2, 0
-_08030D3C: .4byte gUnknown_203B480
- thumb_func_end sub_8030C20
-
- thumb_func_start sub_8030D40
-sub_8030D40:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, _08030D98
- movs r0, 0x78
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- strb r4, [r0, 0xC]
- ldr r0, [r6]
- bl sub_801317C
- ldr r0, [r6]
- str r5, [r0, 0x10]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0x18
- adds r1, r0, r1
- str r1, [r0, 0x14]
- adds r0, 0x18
- bl sub_8006518
- ldr r1, [r6]
- ldr r2, [r1, 0x10]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x18
- ldr r0, _08030D9C
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- bl sub_8030DD4
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08030D98: .4byte gUnknown_203B324
-_08030D9C: .4byte gUnknown_80E091C
- thumb_func_end sub_8030D40
-
- thumb_func_start sub_8030DA0
-sub_8030DA0:
- push {lr}
- ldr r0, _08030DC0
- ldr r0, [r0]
- ldr r1, [r0, 0x10]
- bl sub_8012A64
- cmp r0, 0x1
- beq _08030DC4
- cmp r0, 0x2
- bne _08030DCE
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _08030DD0
- .align 2, 0
-_08030DC0: .4byte gUnknown_203B324
-_08030DC4:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _08030DD0
-_08030DCE:
- movs r0, 0
-_08030DD0:
- pop {r1}
- bx r1
- thumb_func_end sub_8030DA0
-
- thumb_func_start sub_8030DD4
-sub_8030DD4:
- push {lr}
- bl sub_8030E2C
- bl sub_8030E48
- pop {r0}
- bx r0
- thumb_func_end sub_8030DD4
-
- thumb_func_start sub_8030DE4
-sub_8030DE4:
- push {r4,r5,lr}
- ldr r4, _08030E24
- ldr r2, [r4]
- cmp r2, 0
- beq _08030E1E
- ldr r0, [r2, 0x10]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x18
- ldr r0, _08030E28
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08030E1E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08030E24: .4byte gUnknown_203B324
-_08030E28: .4byte gUnknown_80E0900
- thumb_func_end sub_8030DE4
-
- thumb_func_start sub_8030E2C
-sub_8030E2C:
- push {lr}
- bl ResetUnusedInputStruct
- ldr r0, _08030E44
- ldr r0, [r0]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r0}
- bx r0
- .align 2, 0
-_08030E44: .4byte gUnknown_203B324
- thumb_func_end sub_8030E2C
-
- thumb_func_start sub_8030E48
-sub_8030E48:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x15C
- ldr r3, _08030EA8
- ldr r4, _08030EAC
- ldr r2, [r4]
- ldrb r1, [r2, 0xC]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- ldr r1, [r3]
- adds r5, r1, r0
- ldr r0, [r2, 0x10]
- bl sub_80073B8
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- str r0, [sp, 0x4]
- add r1, sp, 0x44
- movs r2, 0
- movs r0, 0x7
- strb r0, [r1]
- mov r0, sp
- adds r0, 0x46
- strb r2, [r0]
- add r0, sp, 0x48
- strb r2, [r0]
- adds r0, r5, 0x4
- str r0, [sp, 0xC]
- adds r0, 0x10
- str r0, [sp, 0x10]
- add r1, sp, 0x4
- ldrh r0, [r5, 0xC]
- strh r0, [r1, 0x10]
- ldrh r0, [r5, 0xC]
- strh r0, [r1, 0x12]
- adds r0, r1, 0
- strb r2, [r0, 0x14]
- adds r2, r5, 0
- adds r2, 0x22
- ldrb r0, [r2]
- cmp r0, 0
- bne _08030EB0
- adds r1, 0x2E
- movs r0, 0x5
- strb r0, [r1]
- b _08030EBE
- .align 2, 0
-_08030EA8: .4byte gUnknown_203B480
-_08030EAC: .4byte gUnknown_203B324
-_08030EB0:
- mov r1, sp
- adds r1, 0x32
- movs r0, 0x2
- strb r0, [r1]
- ldrb r1, [r2]
- add r0, sp, 0x38
- strb r1, [r0]
-_08030EBE:
- ldrb r0, [r5]
- cmp r0, 0x2
- beq _08030ED2
- cmp r0, 0x2
- ble _08030EE2
- cmp r0, 0x4
- beq _08030ED2
- cmp r0, 0x5
- beq _08030EDA
- b _08030EE2
-_08030ED2:
- mov r1, sp
- adds r1, 0x45
- movs r0, 0xA
- b _08030EE8
-_08030EDA:
- mov r1, sp
- adds r1, 0x45
- movs r0, 0xB
- b _08030EE8
-_08030EE2:
- mov r1, sp
- adds r1, 0x45
- movs r0, 0x9
-_08030EE8:
- strb r0, [r1]
- add r0, sp, 0x4
- bl CreateRescueDescription
- ldrh r0, [r5, 0x10]
- ldr r1, _08030F48
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r2, _08030F4C
- ldr r5, _08030F50
- ldr r0, [r5]
- ldr r3, [r0, 0x10]
- movs r0, 0
- mov r8, r0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0x68
- bl xxx_call_draw_string
- add r6, sp, 0x5C
- ldr r1, _08030F54
- adds r0, r6, 0
- adds r2, r4, 0
- bl sub_800D158
- ldr r0, [r5]
- ldr r3, [r0, 0x10]
- mov r0, r8
- str r0, [sp]
- movs r0, 0x44
- movs r1, 0x68
- adds r2, r6, 0
- bl xxx_call_draw_string
- ldr r0, [r5]
- ldr r0, [r0, 0x10]
- bl sub_80073E0
- add sp, 0x15C
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08030F48: .4byte 0x00002710
-_08030F4C: .4byte gUnknown_80E0934
-_08030F50: .4byte gUnknown_203B324
-_08030F54: .4byte gUnknown_80E0938
- thumb_func_end sub_8030E48
-
- thumb_func_start sub_8030F58
-sub_8030F58:
- push {r4-r6,lr}
- adds r6, r0, 0
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _08030FF4
- ldr r0, [r5]
- cmp r0, 0
- bne _08030F88
- movs r4, 0x8E
- lsls r4, 1
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
-_08030F88:
- ldr r0, [r5]
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- str r6, [r0]
- movs r0, 0x98
- lsls r0, 1
- bl GetDialogueSpriteDataPtr
- ldr r2, [r5]
- movs r4, 0x84
- lsls r4, 1
- adds r1, r2, r4
- str r0, [r1]
- movs r3, 0x86
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, [r0, 0x4]
- str r0, [r1]
- movs r0, 0x8A
- lsls r0, 1
- adds r2, r0
- movs r1, 0
- strb r1, [r2]
- ldr r0, [r5]
- ldr r2, _08030FF8
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r5]
- adds r3, 0xA
- adds r0, r3
- strb r1, [r0]
- ldr r2, [r5]
- movs r0, 0x88
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x2
- strh r0, [r1]
- subs r3, 0x4
- adds r1, r2, r3
- movs r0, 0x8
- strh r0, [r1]
- adds r0, r6, 0
- bl sub_8030C20
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08031038
- cmp r6, 0x2
- beq _08030FFC
- cmp r6, 0x4
- beq _08031014
- b _08031022
- .align 2, 0
-_08030FF4: .4byte gUnknown_203B328
-_08030FF8: .4byte 0x00000115
-_08030FFC:
- ldr r0, _0803100C
- ldr r2, [r5]
- adds r2, r4
- ldr r3, _08031010
- movs r1, 0
- bl sub_80141B4
- b _08031022
- .align 2, 0
-_0803100C: .4byte gUnknown_80E09D8
-_08031010: .4byte 0x00000101
-_08031014:
- ldr r0, _0803102C
- ldr r2, [r5]
- adds r2, r4
- ldr r3, _08031030
- movs r1, 0
- bl sub_80141B4
-_08031022:
- ldr r0, _08031034
- ldr r1, [r0]
- movs r0, 0x5
- str r0, [r1]
- b _08031048
- .align 2, 0
-_0803102C: .4byte gUnknown_80E0A0C
-_08031030: .4byte 0x00000101
-_08031034: .4byte gUnknown_203B328
-_08031038:
- ldr r0, [r5]
- str r1, [r0]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x8
- bl sub_80306A8
-_08031048:
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8030F58
-
- thumb_func_start sub_8031050
-sub_8031050:
- push {lr}
- ldr r1, _08031068
- ldr r0, [r1]
- ldr r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x6
- bhi _080310AC
- lsls r0, 2
- ldr r1, _0803106C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08031068: .4byte gUnknown_203B328
-_0803106C: .4byte _08031070
- .align 2, 0
-_08031070:
- .4byte _0803108C
- .4byte _08031092
- .4byte _08031098
- .4byte _08031098
- .4byte _080310A2
- .4byte _080310A8
- .4byte _080310A8
-_0803108C:
- bl sub_8031300
- b _080310AC
-_08031092:
- bl sub_803136C
- b _080310AC
-_08031098:
- ldr r0, [r2]
- ldr r0, [r0]
- bl sub_80313D8
- b _080310AC
-_080310A2:
- bl sub_8031498
- b _080310AC
-_080310A8:
- movs r0, 0x3
- b _080310AE
-_080310AC:
- movs r0, 0
-_080310AE:
- pop {r1}
- bx r1
- thumb_func_end sub_8031050
-
- thumb_func_start sub_80310B4
-sub_80310B4:
- push {r4,lr}
- bl sub_803084C
- ldr r4, _080310E0
- ldr r0, [r4]
- cmp r0, 0
- beq _080310D8
- movs r1, 0x84
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080310D8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080310E0: .4byte gUnknown_203B328
- thumb_func_end sub_80310B4
-
- thumb_func_start sub_80310E4
-sub_80310E4:
- push {lr}
- ldr r1, _080310F8
- ldr r1, [r1]
- str r0, [r1]
- bl sub_80310FC
- bl sub_8031258
- pop {r0}
- bx r0
- .align 2, 0
-_080310F8: .4byte gUnknown_203B328
- thumb_func_end sub_80310E4
-
- thumb_func_start sub_80310FC
-sub_80310FC:
- push {r4-r6,lr}
- ldr r4, _0803111C
- ldr r0, [r4]
- adds r0, 0xA8
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x6
- bls _08031112
- b _0803122C
-_08031112:
- lsls r0, 2
- ldr r1, _08031120
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803111C: .4byte gUnknown_203B328
-_08031120: .4byte _08031124
- .align 2, 0
-_08031124:
- .4byte _08031140
- .4byte _08031178
- .4byte _080311C0
- .4byte _080311C0
- .4byte _080311E8
- .4byte _0803122C
- .4byte _0803122C
-_08031140:
- ldr r3, _08031170
- ldr r1, [r3]
- ldr r2, _08031174
- adds r1, 0xC0
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r1, [r3]
- adds r1, 0xD8
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r0, [r3]
- adds r0, 0xF0
- ldm r2!, {r1,r3,r4}
- stm r0!, {r1,r3,r4}
- ldm r2!, {r1,r5,r6}
- stm r0!, {r1,r5,r6}
- b _0803123A
- .align 2, 0
-_08031170: .4byte gUnknown_203B328
-_08031174: .4byte gUnknown_80E0990
-_08031178:
- ldr r3, _080311B0
- ldr r1, [r3]
- adds r1, 0xC0
- ldr r0, _080311B4
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldm r0!, {r2,r4,r6}
- stm r1!, {r2,r4,r6}
- ldr r1, [r3]
- ldr r2, _080311B8
- adds r1, 0xD8
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r0, [r3]
- adds r0, 0xF0
- ldm r2!, {r1,r5,r6}
- stm r0!, {r1,r5,r6}
- ldm r2!, {r4-r6}
- stm r0!, {r4-r6}
- ldr r0, [r3]
- adds r0, 0xC0
- ldr r1, _080311BC
- bl sub_8012CAC
- b _0803123A
- .align 2, 0
-_080311B0: .4byte gUnknown_203B328
-_080311B4: .4byte gUnknown_80E09A8
-_080311B8: .4byte gUnknown_80E0990
-_080311BC: .4byte gUnknown_80E0968
-_080311C0:
- ldr r2, _080311DC
- ldr r1, [r2]
- adds r1, 0xD8
- ldr r0, _080311E0
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3,r4,r6}
- stm r1!, {r3,r4,r6}
- ldr r0, [r2]
- adds r0, 0xD8
- ldr r1, _080311E4
- bl sub_8012CAC
- b _0803123A
- .align 2, 0
-_080311DC: .4byte gUnknown_203B328
-_080311E0: .4byte gUnknown_80E09C0
-_080311E4: .4byte gUnknown_80E0948
-_080311E8:
- ldr r3, _08031224
- ldr r1, [r3]
- ldr r2, _08031228
- adds r1, 0xA8
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r1, [r3]
- adds r1, 0xC0
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r1, [r3]
- adds r1, 0xD8
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r0, [r3]
- adds r0, 0xF0
- ldm r2!, {r1,r5,r6}
- stm r0!, {r1,r5,r6}
- ldm r2!, {r3-r5}
- stm r0!, {r3-r5}
- b _0803123A
- .align 2, 0
-_08031224: .4byte gUnknown_203B328
-_08031228: .4byte gUnknown_80E0990
-_0803122C:
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0803123A:
- bl ResetUnusedInputStruct
- ldr r0, _08031254
- ldr r0, [r0]
- adds r0, 0xA8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08031254: .4byte gUnknown_203B328
- thumb_func_end sub_80310FC
-
- thumb_func_start sub_8031258
-sub_8031258:
- push {r4,lr}
- sub sp, 0x8
- ldr r1, _08031274
- ldr r0, [r1]
- ldr r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x6
- bhi _080312F6
- lsls r0, 2
- ldr r1, _08031278
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08031274: .4byte gUnknown_203B328
-_08031278: .4byte _0803127C
- .align 2, 0
-_0803127C:
- .4byte _08031298
- .4byte _080312A0
- .4byte _080312BC
- .4byte _080312BC
- .4byte _080312EC
- .4byte _080312F6
- .4byte _080312F6
-_08031298:
- movs r0, 0x1
- bl sub_8030810
- b _080312F6
-_080312A0:
- bl sub_803092C
- ldr r0, _080312B4
- ldr r0, [r0]
- adds r0, 0x8
- ldr r1, _080312B8
- movs r2, 0x4
- str r2, [sp]
- movs r2, 0x1
- b _080312D8
- .align 2, 0
-_080312B4: .4byte gUnknown_203B328
-_080312B8: .4byte gUnknown_80E0968
-_080312BC:
- bl sub_803092C
- ldr r4, _080312E4
- ldr r0, [r4]
- adds r0, 0x8
- movs r1, 0
- bl sub_8012EA4
- ldr r0, [r4]
- adds r0, 0x58
- ldr r1, _080312E8
- movs r2, 0x3
- str r2, [sp]
- movs r2, 0x2
-_080312D8:
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _080312F6
- .align 2, 0
-_080312E4: .4byte gUnknown_203B328
-_080312E8: .4byte gUnknown_80E0948
-_080312EC:
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- movs r1, 0x3
- bl sub_8030D40
-_080312F6:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8031258
-
- thumb_func_start sub_8031300
-sub_8031300:
- push {lr}
- movs r0, 0x1
- bl sub_8030768
- cmp r0, 0x4
- bhi _08031366
- lsls r0, 2
- ldr r1, _08031318
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08031318: .4byte _0803131C
- .align 2, 0
-_0803131C:
- .4byte _08031366
- .4byte _08031366
- .4byte _08031360
- .4byte _08031330
- .4byte _08031348
-_08031330:
- bl sub_80307EC
- ldr r1, _08031344
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x1
- bl sub_80310E4
- b _08031366
- .align 2, 0
-_08031344: .4byte gUnknown_203B328
-_08031348:
- bl sub_80307EC
- ldr r1, _0803135C
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x4
- bl sub_80310E4
- b _08031366
- .align 2, 0
-_0803135C: .4byte gUnknown_203B328
-_08031360:
- movs r0, 0x6
- bl sub_80310E4
-_08031366:
- pop {r0}
- bx r0
- thumb_func_end sub_8031300
-
- thumb_func_start sub_803136C
-sub_803136C:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8030768
- ldr r4, _080313A4
- ldr r0, [r4]
- adds r0, 0x8
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08031392
- ldr r0, [r4]
- adds r0, 0x8
- mov r1, sp
- bl sub_8013114
-_08031392:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _080313C2
- cmp r0, 0x4
- bgt _080313A8
- cmp r0, 0x1
- beq _080313B2
- b _080313D0
- .align 2, 0
-_080313A4: .4byte gUnknown_203B328
-_080313A8:
- cmp r0, 0x5
- beq _080313CA
- cmp r0, 0x6
- beq _080313BA
- b _080313D0
-_080313B2:
- movs r0, 0
- bl sub_80310E4
- b _080313D0
-_080313BA:
- movs r0, 0x3
- bl sub_80310E4
- b _080313D0
-_080313C2:
- movs r0, 0x2
- bl sub_80310E4
- b _080313D0
-_080313CA:
- movs r0, 0x4
- bl sub_80310E4
-_080313D0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_803136C
-
- thumb_func_start sub_80313D8
-sub_80313D8:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r0, 0
- str r0, [sp]
- bl sub_8030768
- ldr r4, _08031418
- ldr r0, [r4]
- adds r0, 0x8
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0x58
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08031408
- ldr r0, [r4]
- adds r0, 0x58
- mov r1, sp
- bl sub_8013114
-_08031408:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08031428
- cmp r0, 0x2
- bgt _0803141C
- cmp r0, 0x1
- beq _08031420
- b _0803148E
- .align 2, 0
-_08031418: .4byte gUnknown_203B328
-_0803141C:
- cmp r0, 0x3
- bne _0803148E
-_08031420:
- movs r0, 0
- bl sub_80310E4
- b _0803148E
-_08031428:
- cmp r5, 0x2
- beq _08031432
- cmp r5, 0x3
- beq _0803143C
- b _0803145A
-_08031432:
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- bl sub_8095240
- b _0803145A
-_0803143C:
- ldr r4, _08031480
- movs r3, 0
- movs r1, 0
- movs r2, 0x1F
-_08031444:
- ldr r0, [r4]
- adds r0, r1
- strb r3, [r0]
- ldr r0, [r4]
- adds r0, r1
- adds r0, 0x22
- strb r3, [r0]
- adds r1, 0x30
- subs r2, 0x1
- cmp r2, 0
- bge _08031444
-_0803145A:
- ldr r0, _08031484
- ldr r0, [r0]
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x2
- beq _0803146E
- cmp r0, 0x4
- bne _0803148E
-_0803146E:
- bl sub_8030C20
- lsls r0, 24
- cmp r0, 0
- beq _08031488
- movs r0, 0x5
- bl sub_80310E4
- b _0803148E
- .align 2, 0
-_08031480: .4byte gUnknown_203B480
-_08031484: .4byte gUnknown_203B328
-_08031488:
- movs r0, 0
- bl sub_80310E4
-_0803148E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80313D8
-
- thumb_func_start sub_8031498
-sub_8031498:
- push {lr}
- bl sub_8030DA0
- cmp r0, 0x1
- bls _080314B0
- cmp r0, 0x3
- bhi _080314B0
- bl sub_8030DE4
- movs r0, 0
- bl sub_80310E4
-_080314B0:
- pop {r0}
- bx r0
- thumb_func_end sub_8031498
-
- thumb_func_start sub_80314B4
-sub_80314B4:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- bl ResetUnusedInputStruct
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r6, _08031534
- movs r0, 0x18
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- ldr r0, _08031538
- adds r1, r5, 0
- bl sub_808D8E0
- adds r0, r5, 0
- bl GetMonSpecies
- adds r1, r0, 0
- ldr r0, _0803153C
- bl strcpy
- ldr r0, [r6]
- movs r4, 0
- str r4, [r0, 0x8]
- str r4, [r0, 0xC]
- cmp r5, 0
- beq _0803151E
- adds r0, r5, 0
- bl GetDialogueSpriteDataPtr
- ldr r1, [r6]
- str r0, [r1, 0x8]
- strb r4, [r1, 0x14]
- ldr r0, [r6]
- strb r4, [r0, 0x15]
- ldr r0, [r6]
- strb r4, [r0, 0x16]
- ldr r1, [r6]
- movs r0, 0x2
- strh r0, [r1, 0x10]
- movs r0, 0x8
- strh r0, [r1, 0x12]
- ldr r0, [r1, 0x8]
- cmp r0, 0
- beq _0803151E
- ldr r0, [r0, 0x4]
- str r0, [r1, 0xC]
-_0803151E:
- ldr r0, _08031534
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x4]
- movs r0, 0x1
- bl sub_80317C0
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08031534: .4byte gUnknown_203B32C
-_08031538: .4byte gUnknown_202E5D8
-_0803153C: .4byte gAvailablePokemonNames
- thumb_func_end sub_80314B4
-
- thumb_func_start sub_8031540
-sub_8031540:
- push {lr}
- ldr r0, _08031558
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _080315BA
- lsls r0, 2
- ldr r1, _0803155C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08031558: .4byte gUnknown_203B32C
-_0803155C: .4byte _08031560
- .align 2, 0
-_08031560:
- .4byte _080315AC
- .4byte _08031588
- .4byte _08031588
- .4byte _0803158E
- .4byte _08031594
- .4byte _0803159A
- .4byte _080315A0
- .4byte _080315A6
- .4byte _080315B0
- .4byte _080315B6
-_08031588:
- bl sub_80317D8
- b _080315BA
-_0803158E:
- bl sub_8031848
- b _080315BA
-_08031594:
- bl sub_8031864
- b _080315BA
-_0803159A:
- bl sub_80318D0
- b _080315BA
-_080315A0:
- bl sub_80318EC
- b _080315BA
-_080315A6:
- bl sub_803192C
- b _080315BA
-_080315AC:
- movs r0, 0x3
- b _080315BC
-_080315B0:
- bl sub_8031948
- b _080315BA
-_080315B6:
- bl sub_8031988
-_080315BA:
- movs r0, 0
-_080315BC:
- pop {r1}
- bx r1
- thumb_func_end sub_8031540
-
- thumb_func_start sub_80315C0
-sub_80315C0:
- push {r4,lr}
- ldr r4, _080315E4
- ldr r0, [r4]
- cmp r0, 0
- beq _080315DE
- ldr r0, [r0, 0x8]
- cmp r0, 0
- beq _080315D4
- bl CloseFile
-_080315D4:
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080315DE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080315E4: .4byte gUnknown_203B32C
- thumb_func_end sub_80315C0
-
- thumb_func_start nullsub_39
-nullsub_39:
- bx lr
- thumb_func_end nullsub_39
-
- thumb_func_start sub_80315EC
-sub_80315EC:
- push {r4,r5,lr}
- sub sp, 0x14
- movs r5, 0
- ldr r0, _08031618
- ldr r2, [r0]
- ldr r1, [r2, 0x8]
- adds r3, r0, 0
- cmp r1, 0
- beq _08031602
- adds r5, r2, 0
- adds r5, 0x8
-_08031602:
- ldrb r0, [r2]
- subs r0, 0x1
- cmp r0, 0x8
- bls _0803160C
- b _080317B0
-_0803160C:
- lsls r0, 2
- ldr r1, _0803161C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08031618: .4byte gUnknown_203B32C
-_0803161C: .4byte _08031620
- .align 2, 0
-_08031620:
- .4byte _08031700
- .4byte _08031714
- .4byte _08031728
- .4byte _08031758
- .4byte _08031780
- .4byte _08031694
- .4byte _080316A8
- .4byte _08031644
- .4byte _08031658
-_08031644:
- ldr r0, _08031650
- ldr r1, [r3]
- ldr r2, [r1, 0x4]
- ldr r3, _08031654
- b _08031760
- .align 2, 0
-_08031650: .4byte gUnknown_80E0C4C
-_08031654: .4byte gUnknown_80E0BD4
-_08031658:
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- cmp r0, 0x10
- beq _0803167C
- cmp r0, 0x10
- bgt _0803166A
- cmp r0, 0xF
- beq _08031674
- b _080317B0
-_0803166A:
- cmp r0, 0x11
- beq _08031684
- cmp r0, 0x12
- beq _0803168C
- b _080317B0
-_08031674:
- ldr r0, _08031678
- b _08031790
- .align 2, 0
-_08031678: .4byte gUnknown_80E0C70
-_0803167C:
- ldr r0, _08031680
- b _08031790
- .align 2, 0
-_08031680: .4byte gUnknown_80E0DD0
-_08031684:
- ldr r0, _08031688
- b _08031790
- .align 2, 0
-_08031688: .4byte gUnknown_80E0ED8
-_0803168C:
- ldr r0, _08031690
- b _08031790
- .align 2, 0
-_08031690: .4byte gUnknown_80E10C8
-_08031694:
- ldr r0, _080316A0
- ldr r1, [r3]
- ldr r2, [r1, 0x4]
- ldr r3, _080316A4
- b _08031760
- .align 2, 0
-_080316A0: .4byte gUnknown_80E0C4C
-_080316A4: .4byte gUnknown_80E0B3C
-_080316A8:
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- subs r0, 0xA
- cmp r0, 0x4
- bls _080316B4
- b _080317B0
-_080316B4:
- lsls r0, 2
- ldr r1, _080316C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080316C0: .4byte _080316C4
- .align 2, 0
-_080316C4:
- .4byte _080316D8
- .4byte _080316E0
- .4byte _080316F0
- .4byte _080316E8
- .4byte _080316F8
-_080316D8:
- ldr r0, _080316DC
- b _08031790
- .align 2, 0
-_080316DC: .4byte gUnknown_80E120C
-_080316E0:
- ldr r0, _080316E4
- b _08031790
- .align 2, 0
-_080316E4: .4byte gUnknown_80E136C
-_080316E8:
- ldr r0, _080316EC
- b _08031790
- .align 2, 0
-_080316EC: .4byte gUnknown_80E1420
-_080316F0:
- ldr r0, _080316F4
- b _08031790
- .align 2, 0
-_080316F4: .4byte gUnknown_80E157C
-_080316F8:
- ldr r0, _080316FC
- b _08031790
- .align 2, 0
-_080316FC: .4byte gUnknown_80E169C
-_08031700:
- ldr r0, _0803170C
- ldr r1, [r3]
- ldr r2, [r1, 0x4]
- ldr r3, _08031710
- b _08031760
- .align 2, 0
-_0803170C: .4byte gUnknown_80E17C8
-_08031710: .4byte gUnknown_80E0A48
-_08031714:
- ldr r0, _08031720
- ldr r1, [r3]
- ldr r2, [r1, 0x4]
- ldr r3, _08031724
- b _08031760
- .align 2, 0
-_08031720: .4byte gUnknown_80E183C
-_08031724: .4byte gUnknown_80E0A48
-_08031728:
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- cmp r0, 0x1
- beq _08031748
- cmp r0, 0x1
- bgt _0803173A
- cmp r0, 0
- beq _08031740
- b _080317B0
-_0803173A:
- cmp r0, 0x2
- beq _08031750
- b _080317B0
-_08031740:
- ldr r0, _08031744
- b _08031790
- .align 2, 0
-_08031744: .4byte gUnknown_80E1868
-_08031748:
- ldr r0, _0803174C
- b _08031790
- .align 2, 0
-_0803174C: .4byte gUnknown_80E1A30
-_08031750:
- ldr r0, _08031754
- b _08031790
- .align 2, 0
-_08031754: .4byte gUnknown_80E1AD8
-_08031758:
- ldr r0, _08031778
- ldr r1, [r3]
- ldr r2, [r1, 0x4]
- ldr r3, _0803177C
-_08031760:
- movs r4, 0
- str r4, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _080317B0
- .align 2, 0
-_08031778: .4byte gUnknown_80E0C4C
-_0803177C: .4byte gUnknown_80E0ABC
-_08031780:
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- cmp r0, 0x6
- beq _0803178E
- cmp r0, 0x9
- beq _080317A4
- b _080317B0
-_0803178E:
- ldr r0, _0803179C
-_08031790:
- ldr r3, _080317A0
- movs r1, 0
- adds r2, r5, 0
- bl sub_80141B4
- b _080317B0
- .align 2, 0
-_0803179C: .4byte gUnknown_80E1B88
-_080317A0: .4byte 0x0000010d
-_080317A4:
- ldr r0, _080317B8
- ldr r3, _080317BC
- movs r1, 0
- adds r2, r5, 0
- bl sub_80141B4
-_080317B0:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080317B8: .4byte gUnknown_80E1D84
-_080317BC: .4byte 0x0000010d
- thumb_func_end sub_80315EC
-
- thumb_func_start sub_80317C0
-sub_80317C0:
- push {lr}
- ldr r1, _080317D4
- ldr r1, [r1]
- strb r0, [r1]
- bl nullsub_39
- bl sub_80315EC
- pop {r0}
- bx r0
- .align 2, 0
-_080317D4: .4byte gUnknown_203B32C
- thumb_func_end sub_80317C0
-
- thumb_func_start sub_80317D8
-sub_80317D8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803183C
- ldr r2, [sp]
- cmp r2, 0x5
- bhi _0803183C
- lsls r0, r2, 2
- ldr r1, _080317F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080317F8: .4byte _080317FC
- .align 2, 0
-_080317FC:
- .4byte _08031830
- .4byte _08031830
- .4byte _08031830
- .4byte _0803181C
- .4byte _08031814
- .4byte _08031814
-_08031814:
- movs r0, 0
- bl sub_80317C0
- b _0803183C
-_0803181C:
- ldr r0, _0803182C
- ldr r0, [r0]
- str r2, [r0, 0x4]
- movs r0, 0x4
- bl sub_80317C0
- b _0803183C
- .align 2, 0
-_0803182C: .4byte gUnknown_203B32C
-_08031830:
- ldr r0, _08031844
- ldr r0, [r0]
- str r2, [r0, 0x4]
- movs r0, 0x3
- bl sub_80317C0
-_0803183C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08031844: .4byte gUnknown_203B32C
- thumb_func_end sub_80317D8
-
- thumb_func_start sub_8031848
-sub_8031848:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803185C
- movs r0, 0x2
- bl sub_80317C0
-_0803185C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8031848
-
- thumb_func_start sub_8031864
-sub_8031864:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080318C4
- ldr r0, [sp]
- subs r1, r0, 0x5
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _080318C4
- lsls r0, r1, 2
- ldr r1, _08031888
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08031888: .4byte _0803188C
- .align 2, 0
-_0803188C:
- .4byte _080318A0
- .4byte _080318B8
- .4byte _080318A8
- .4byte _080318B0
- .4byte _080318B8
-_080318A0:
- movs r0, 0x2
- bl sub_80317C0
- b _080318C4
-_080318A8:
- movs r0, 0x6
- bl sub_80317C0
- b _080318C4
-_080318B0:
- movs r0, 0x8
- bl sub_80317C0
- b _080318C4
-_080318B8:
- ldr r0, _080318CC
- ldr r0, [r0]
- str r2, [r0, 0x4]
- movs r0, 0x5
- bl sub_80317C0
-_080318C4:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080318CC: .4byte gUnknown_203B32C
- thumb_func_end sub_8031864
-
- thumb_func_start sub_80318D0
-sub_80318D0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080318E4
- movs r0, 0x4
- bl sub_80317C0
-_080318E4:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80318D0
-
- thumb_func_start sub_80318EC
-sub_80318EC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08031920
- ldr r1, [sp]
- cmp r1, 0x5
- bne _08031908
- movs r0, 0x4
- bl sub_80317C0
- b _08031920
-_08031908:
- cmp r1, 0x5
- blt _08031920
- cmp r1, 0xE
- bgt _08031920
- cmp r1, 0xA
- blt _08031920
- ldr r0, _08031928
- ldr r0, [r0]
- str r1, [r0, 0x4]
- movs r0, 0x7
- bl sub_80317C0
-_08031920:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08031928: .4byte gUnknown_203B32C
- thumb_func_end sub_80318EC
-
- thumb_func_start sub_803192C
-sub_803192C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08031940
- movs r0, 0x6
- bl sub_80317C0
-_08031940:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_803192C
-
- thumb_func_start sub_8031948
-sub_8031948:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803197C
- ldr r1, [sp]
- cmp r1, 0x5
- bne _08031964
- movs r0, 0x4
- bl sub_80317C0
- b _0803197C
-_08031964:
- cmp r1, 0x5
- blt _0803197C
- cmp r1, 0x12
- bgt _0803197C
- cmp r1, 0xF
- blt _0803197C
- ldr r0, _08031984
- ldr r0, [r0]
- str r1, [r0, 0x4]
- movs r0, 0x9
- bl sub_80317C0
-_0803197C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08031984: .4byte gUnknown_203B32C
- thumb_func_end sub_8031948
-
- thumb_func_start sub_8031988
-sub_8031988:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803199C
- movs r0, 0x8
- bl sub_80317C0
-_0803199C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8031988
-
- thumb_func_start sub_80319A4
-sub_80319A4:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- mov r8, r2
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _080319F4
- movs r0, 0x78
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- strb r4, [r0, 0xC]
- ldr r0, [r6]
- strb r5, [r0, 0xD]
- ldr r0, [r6]
- bl sub_801317C
- ldr r1, [r6]
- mov r0, r8
- str r0, [r1, 0x10]
- lsls r0, 1
- add r0, r8
- lsls r0, 3
- adds r0, 0x18
- adds r0, r1, r0
- str r0, [r1, 0x14]
- bl sub_8031A2C
- movs r0, 0x1
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080319F4: .4byte gUnknown_203B330
- thumb_func_end sub_80319A4
-
- thumb_func_start sub_80319F8
-sub_80319F8:
- push {lr}
- ldr r0, _08031A18
- ldr r0, [r0]
- ldr r1, [r0, 0x10]
- bl sub_8012A64
- cmp r0, 0x1
- beq _08031A1C
- cmp r0, 0x2
- bne _08031A26
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _08031A28
- .align 2, 0
-_08031A18: .4byte gUnknown_203B330
-_08031A1C:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _08031A28
-_08031A26:
- movs r0, 0
-_08031A28:
- pop {r1}
- bx r1
- thumb_func_end sub_80319F8
-
- thumb_func_start sub_8031A2C
-sub_8031A2C:
- push {lr}
- bl sub_8031A84
- bl sub_8031AE8
- pop {r0}
- bx r0
- thumb_func_end sub_8031A2C
-
- thumb_func_start sub_8031A3C
-sub_8031A3C:
- push {r4,r5,lr}
- ldr r4, _08031A7C
- ldr r2, [r4]
- cmp r2, 0
- beq _08031A76
- ldr r0, [r2, 0x10]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x18
- ldr r0, _08031A80
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08031A76:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08031A7C: .4byte gUnknown_203B330
-_08031A80: .4byte gUnknown_80E1EFC
- thumb_func_end sub_8031A3C
-
- thumb_func_start sub_8031A84
-sub_8031A84:
- push {r4,r5,lr}
- ldr r4, _08031AE0
- ldr r0, [r4]
- adds r0, 0x18
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x10]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x18
- ldr r0, _08031AE4
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r1, [r4]
- ldrb r0, [r1, 0xC]
- cmp r0, 0x2
- bne _08031AC6
- ldrb r0, [r1, 0xD]
- bl sub_80969D0
- adds r1, r0, 0
- cmp r1, 0
- bne _08031ABE
- movs r1, 0x1
-_08031ABE:
- ldr r0, [r4]
- ldr r0, [r0, 0x14]
- bl sub_8012D08
-_08031AC6:
- bl ResetUnusedInputStruct
- ldr r0, _08031AE0
- ldr r0, [r0]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08031AE0: .4byte gUnknown_203B330
-_08031AE4: .4byte gUnknown_80E1F18
- thumb_func_end sub_8031A84
-
- thumb_func_start sub_8031AE8
-sub_8031AE8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xDC
- ldr r7, _08031B24
- ldr r0, [r7]
- ldr r0, [r0, 0x10]
- bl sub_80073B8
- ldr r2, _08031B28
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- movs r6, 0
- str r6, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, [r7]
- ldrb r0, [r1, 0xC]
- cmp r0, 0x1
- beq _08031B2C
- cmp r0, 0x1
- bgt _08031B1E
- b _08031CD4
-_08031B1E:
- cmp r0, 0x2
- beq _08031B94
- b _08031CD4
- .align 2, 0
-_08031B24: .4byte gUnknown_203B330
-_08031B28: .4byte gUnknown_80E1F30
-_08031B2C:
- add r4, sp, 0x68
- adds r0, r4, 0
- bl sub_8099394
- ldrb r0, [r4]
- bl sub_8095228
- adds r5, r0, 0
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- movs r0, 0xA
- movs r1, 0x10
- movs r2, 0x3
- bl sub_803B6B0
- ldr r1, _08031B8C
- ldrb r2, [r5, 0x5]
- add r0, sp, 0x4
- bl sub_800D158
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- str r6, [sp]
- movs r0, 0x15
- movs r1, 0x10
- add r2, sp, 0x4
- bl xxx_call_draw_string
- ldr r4, _08031B90
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- bl GetMonSpecies
- adds r2, r0, 0
- add r0, sp, 0x4
- adds r1, r4, 0
- bl sub_800D158
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- str r6, [sp]
- movs r0, 0x28
- movs r1, 0x10
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _08031D4E
- .align 2, 0
-_08031B8C: .4byte gUnknown_80E1F3C
-_08031B90: .4byte gUnknown_80E1F40
-_08031B94:
- ldrb r0, [r1, 0xD]
- bl sub_80969D0
- adds r1, r0, 0
- cmp r1, 0
- bne _08031BB0
- ldr r2, _08031BAC
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- str r1, [sp]
- b _08031D2C
- .align 2, 0
-_08031BAC: .4byte gUnknown_80E1F54
-_08031BB0:
- movs r6, 0x10
- movs r2, 0
- mov r10, r2
- mov r8, r2
- ldr r0, _08031C28
- mov r9, r0
- mov r1, sp
- adds r1, 0x6C
- str r1, [sp, 0xD8]
-_08031BC2:
- mov r2, r10
- lsls r0, r2, 24
- lsrs r0, 24
- bl sub_8096AB4
- adds r4, r0, 0
- ldr r1, [r7]
- ldrb r0, [r4, 0x4]
- ldrb r2, [r1, 0xD]
- cmp r0, r2
- bne _08031CC2
- ldrb r0, [r4]
- cmp r0, 0
- beq _08031CC2
- cmp r0, 0x5
- beq _08031CC2
- cmp r0, 0x7
- beq _08031CC2
- ldr r3, [r1, 0x10]
- movs r0, 0xA
- adds r1, r6, 0
- movs r2, 0x3
- bl sub_803B6B0
- ldrb r0, [r4, 0x1]
- add r5, sp, 0x6C
- cmp r0, 0x3
- beq _08031C16
- ldrb r2, [r4, 0x5]
- ldr r0, [sp, 0xD8]
- ldr r1, _08031C2C
- bl sub_800D158
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- mov r0, r8
- str r0, [sp]
- movs r0, 0x15
- adds r1, r6, 0
- ldr r2, [sp, 0xD8]
- bl xxx_call_draw_string
-_08031C16:
- ldrb r0, [r4, 0x1]
- cmp r0, 0x3
- beq _08031C58
- cmp r0, 0x3
- bgt _08031C30
- cmp r0, 0x2
- beq _08031C70
- b _08031C9C
- .align 2, 0
-_08031C28: .4byte gUnknown_202DE58
-_08031C2C: .4byte gUnknown_80E1F3C
-_08031C30:
- cmp r0, 0x4
- bne _08031C9C
- ldrb r1, [r4, 0x10]
- mov r0, r9
- movs r2, 0
- bl sub_8090DC4
- adds r0, r5, 0
- ldr r1, _08031C54
- mov r2, r9
- bl sub_800D158
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- mov r1, r8
- str r1, [sp]
- b _08031C8A
- .align 2, 0
-_08031C54: .4byte gUnknown_80E1F60
-_08031C58:
- ldrb r1, [r4, 0x10]
- mov r0, r9
- movs r2, 0
- bl sub_8090DC4
- adds r0, r5, 0
- ldr r1, _08031C6C
- mov r2, r9
- b _08031C7E
- .align 2, 0
-_08031C6C: .4byte gUnknown_80E1F70
-_08031C70:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- bl GetMonSpecies
- adds r2, r0, 0
- adds r0, r5, 0
- ldr r1, _08031C98
-_08031C7E:
- bl sub_800D158
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- mov r2, r8
- str r2, [sp]
-_08031C8A:
- movs r0, 0x28
- adds r1, r6, 0
- adds r2, r5, 0
- bl xxx_call_draw_string
- b _08031CC0
- .align 2, 0
-_08031C98: .4byte gUnknown_80E1F80
-_08031C9C:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- bl GetMonSpecies
- adds r2, r0, 0
- adds r0, r5, 0
- ldr r1, _08031CD0
- bl sub_800D158
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- mov r2, r8
- str r2, [sp]
- movs r0, 0x28
- adds r1, r6, 0
- adds r2, r5, 0
- bl xxx_call_draw_string
-_08031CC0:
- adds r6, 0xC
-_08031CC2:
- movs r0, 0x1
- add r10, r0
- mov r1, r10
- cmp r1, 0x7
- bgt _08031CCE
- b _08031BC2
-_08031CCE:
- b _08031D4E
- .align 2, 0
-_08031CD0: .4byte gUnknown_80E1F40
-_08031CD4:
- add r0, sp, 0xD0
- mov r4, sp
- adds r4, 0xD2
- adds r1, r4, 0
- bl sub_80992E0
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _08031D04
- movs r2, 0
- ldrsh r0, [r4, r2]
- bl GetCurrentMissionText
- adds r2, r0, 0
- ldr r0, _08031D00
- ldr r0, [r0]
- ldr r3, [r0, 0x10]
- movs r0, 0
- str r0, [sp]
- b _08031D2C
- .align 2, 0
-_08031D00: .4byte gUnknown_203B330
-_08031D04:
- add r4, sp, 0xD4
- adds r0, r4, 0
- bl sub_8099360
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08031D3C
- ldrb r0, [r4]
- bl sub_80A2688
- lsls r0, 16
- asrs r0, 16
- bl sub_80975DC
- adds r2, r0, 0
- ldr r0, _08031D38
- ldr r0, [r0]
- ldr r3, [r0, 0x10]
- str r5, [sp]
-_08031D2C:
- movs r0, 0xA
- movs r1, 0x10
- bl xxx_call_draw_string
- b _08031D4E
- .align 2, 0
-_08031D38: .4byte gUnknown_203B330
-_08031D3C:
- ldr r2, _08031D68
- ldr r0, _08031D6C
- ldr r0, [r0]
- ldr r3, [r0, 0x10]
- str r1, [sp]
- movs r0, 0xA
- movs r1, 0x10
- bl xxx_call_draw_string
-_08031D4E:
- ldr r0, _08031D6C
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- bl sub_80073E0
- add sp, 0xDC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08031D68: .4byte gUnknown_80E1F94
-_08031D6C: .4byte gUnknown_203B330
- thumb_func_end sub_8031AE8
-
- thumb_func_start sub_8031D70
-sub_8031D70:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- ldr r5, _08031DC4
- movs r0, 0x7C
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- stm r0!, {r6}
- bl sub_801317C
- ldr r0, [r5]
- str r4, [r0, 0x10]
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 3
- adds r1, 0x18
- adds r1, r0, r1
- str r1, [r0, 0x14]
- adds r0, 0x18
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x10]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x18
- ldr r0, _08031DC8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- bl sub_8031E00
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08031DC4: .4byte gUnknown_203B334
-_08031DC8: .4byte gUnknown_80E1FC4
- thumb_func_end sub_8031D70
-
- thumb_func_start sub_8031DCC
-sub_8031DCC:
- push {lr}
- ldr r0, _08031DEC
- ldr r1, [r0]
- adds r0, r1, 0x4
- ldr r1, [r1, 0x10]
- bl sub_8012A64
- cmp r0, 0x1
- beq _08031DF0
- cmp r0, 0x2
- bne _08031DFA
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _08031DFC
- .align 2, 0
-_08031DEC: .4byte gUnknown_203B334
-_08031DF0:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _08031DFC
-_08031DFA:
- movs r0, 0
-_08031DFC:
- pop {r1}
- bx r1
- thumb_func_end sub_8031DCC
-
- thumb_func_start sub_8031E00
-sub_8031E00:
- push {lr}
- bl sub_8031E58
- bl sub_8031E74
- pop {r0}
- bx r0
- thumb_func_end sub_8031E00
-
- thumb_func_start sub_8031E10
-sub_8031E10:
- push {r4,r5,lr}
- ldr r4, _08031E50
- ldr r2, [r4]
- cmp r2, 0
- beq _08031E4A
- ldr r0, [r2, 0x10]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x18
- ldr r0, _08031E54
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08031E4A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08031E50: .4byte gUnknown_203B334
-_08031E54: .4byte gUnknown_80E1FA8
- thumb_func_end sub_8031E10
-
- thumb_func_start sub_8031E58
-sub_8031E58:
- push {lr}
- bl ResetUnusedInputStruct
- ldr r0, _08031E70
- ldr r0, [r0]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r0}
- bx r0
- .align 2, 0
-_08031E70: .4byte gUnknown_203B334
- thumb_func_end sub_8031E58
-
- thumb_func_start sub_8031E74
-sub_8031E74:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x3C
- ldr r3, _08031EC0
- ldr r5, _08031EC4
- ldr r2, [r5]
- ldr r1, [r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- ldr r4, [r3]
- adds r4, r0
- ldr r0, [r2, 0x10]
- bl sub_80073B8
- ldr r2, _08031EC8
- ldr r0, [r5]
- ldr r3, [r0, 0x10]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x14
- movs r1, 0
- bl xxx_call_draw_string
- add r0, sp, 0x4
- adds r1, r4, 0
- bl sub_803D2C0
- movs r7, 0
- mov r8, r5
-_08031EB2:
- cmp r7, 0x4
- ble _08031ED0
- cmp r7, 0xC
- bgt _08031ECC
- movs r6, 0x6
- movs r5, 0x16
- b _08031F00
- .align 2, 0
-_08031EC0: .4byte gUnknown_203B480
-_08031EC4: .4byte gUnknown_203B334
-_08031EC8: .4byte gUnknown_80E1FDC
-_08031ECC:
- cmp r7, 0x11
- bgt _08031ED6
-_08031ED0:
- movs r6, 0x7
- movs r5, 0x15
- b _08031F00
-_08031ED6:
- cmp r7, 0x16
- ble _08031EE8
- cmp r7, 0x1E
- bgt _08031EE4
- movs r6, 0x6
- movs r5, 0x25
- b _08031F00
-_08031EE4:
- cmp r7, 0x23
- bgt _08031EEE
-_08031EE8:
- movs r6, 0x7
- movs r5, 0x24
- b _08031F00
-_08031EEE:
- cmp r7, 0x28
- ble _08031EFC
- cmp r7, 0x30
- bgt _08031EFC
- movs r6, 0x6
- movs r5, 0x34
- b _08031F00
-_08031EFC:
- movs r6, 0x7
- movs r5, 0x33
-_08031F00:
- adds r0, r7, 0
- movs r1, 0x12
- bl __modsi3
- movs r1, 0xB
- adds r4, r0, 0
- muls r4, r1
- adds r4, 0x6
- mov r0, sp
- adds r0, r7
- adds r0, 0x4
- ldrb r2, [r0]
- mov r1, r8
- ldr r0, [r1]
- ldr r0, [r0, 0x10]
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r3, r6, 0
- bl sub_8012C60
- mov r1, r8
- ldr r0, [r1]
- ldr r0, [r0, 0x10]
- adds r2, r5, 0
- adds r2, 0xA
- movs r1, 0x5
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0xA
- bl sub_80078A4
- adds r7, 0x1
- cmp r7, 0x35
- ble _08031EB2
- ldr r0, _08031F5C
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- bl sub_80073E0
- add sp, 0x3C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08031F5C: .4byte gUnknown_203B334
- thumb_func_end sub_8031E74
-
.align 2,0
diff --git a/asm/wonder_mail_4.s b/asm/wonder_mail_4.s
new file mode 100644
index 0000000..f250af6
--- /dev/null
+++ b/asm/wonder_mail_4.s
@@ -0,0 +1,1821 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_80306A8
+sub_80306A8:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ adds r7, r2, 0
+ mov r8, r3
+ bl sub_8030C20
+ lsls r0, 24
+ cmp r0, 0
+ beq _080306C4
+ movs r0, 0
+ b _08030756
+_080306C4:
+ ldr r6, _08030760
+ movs r0, 0xC4
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r6]
+ str r4, [r0, 0x20]
+ str r5, [r0, 0x58]
+ lsls r1, r5, 1
+ adds r1, r5
+ lsls r1, 3
+ adds r1, 0x60
+ adds r1, r0, r1
+ str r1, [r0, 0x5C]
+ adds r0, 0x60
+ bl sub_8006518
+ ldr r1, [r6]
+ ldr r2, [r1, 0x58]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x60
+ ldr r0, _08030764
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r2, [r6]
+ ldr r1, [r2, 0x5C]
+ adds r0, r2, 0
+ adds r0, 0xC0
+ str r0, [r1, 0x14]
+ cmp r7, 0
+ beq _0803071E
+ ldr r1, [r2, 0x58]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r1, r2, 0
+ adds r1, 0x68
+ adds r1, r0
+ ldr r0, [r7]
+ str r0, [r1]
+_0803071E:
+ ldr r0, [r6]
+ ldr r0, [r0, 0x5C]
+ mov r1, r8
+ bl sub_8012D08
+ bl ResetUnusedInputStruct
+ ldr r0, [r6]
+ adds r0, 0x60
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r4, [r6]
+ adds r4, 0x24
+ bl sub_8030A74
+ adds r1, r0, 0
+ adds r0, r4, 0
+ mov r2, r8
+ adds r3, r5, 0
+ bl sub_8013818
+ bl sub_80308A0
+ bl sub_803092C
+ movs r0, 0x1
+_08030756:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08030760: .4byte gUnknown_203B320
+_08030764: .4byte gUnknown_80E0854
+ thumb_func_end sub_80306A8
+
+ thumb_func_start sub_8030768
+sub_8030768:
+ push {lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _08030784
+ ldr r0, _08030780
+ ldr r0, [r0]
+ adds r0, 0x24
+ bl sub_8013660
+ movs r0, 0
+ b _080307E6
+ .align 2, 0
+_08030780: .4byte gUnknown_203B320
+_08030784:
+ ldr r0, _0803079C
+ ldr r0, [r0]
+ adds r0, 0x24
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _080307AE
+ cmp r0, 0x2
+ bgt _080307A0
+ cmp r0, 0x1
+ beq _080307B8
+ b _080307C2
+ .align 2, 0
+_0803079C: .4byte gUnknown_203B320
+_080307A0:
+ cmp r0, 0x4
+ bne _080307C2
+ movs r0, 0x4
+ bl PlayMenuSoundEffect
+ movs r0, 0x4
+ b _080307E6
+_080307AE:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _080307E6
+_080307B8:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _080307E6
+_080307C2:
+ ldr r0, _080307D8
+ ldr r0, [r0]
+ adds r0, 0x24
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _080307DC
+ movs r0, 0
+ b _080307E6
+ .align 2, 0
+_080307D8: .4byte gUnknown_203B320
+_080307DC:
+ bl sub_80308A0
+ bl sub_803092C
+ movs r0, 0x1
+_080307E6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8030768
+
+ thumb_func_start sub_80307EC
+sub_80307EC:
+ ldr r0, _0803080C
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x42
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ subs r0, 0x2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r0, r1
+ movs r3, 0x3C
+ ldrsh r1, [r2, r3]
+ adds r0, r1
+ adds r2, r0
+ ldrb r0, [r2]
+ bx lr
+ .align 2, 0
+_0803080C: .4byte gUnknown_203B320
+ thumb_func_end sub_80307EC
+
+ thumb_func_start sub_8030810
+sub_8030810:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_8030A74
+ adds r1, r0, 0
+ ldr r5, _08030848
+ ldr r0, [r5]
+ adds r2, r0, 0
+ adds r2, 0x46
+ strh r1, [r2]
+ adds r0, 0x24
+ bl sub_8013984
+ bl sub_80308A0
+ bl sub_803092C
+ cmp r4, 0
+ beq _08030842
+ ldr r0, [r5]
+ adds r0, 0x24
+ bl AddMenuCursorSprite
+_08030842:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08030848: .4byte gUnknown_203B320
+ thumb_func_end sub_8030810
+
+ thumb_func_start sub_803084C
+sub_803084C:
+ push {r4,r5,lr}
+ ldr r4, _0803088C
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _08030886
+ ldr r0, [r2, 0x58]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x60
+ ldr r0, _08030890
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_08030886:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803088C: .4byte gUnknown_203B320
+_08030890: .4byte gUnknown_80E083C
+ thumb_func_end sub_803084C
+
+ thumb_func_start sub_8030894
+sub_8030894:
+ ldr r0, _0803089C
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_0803089C: .4byte gUnknown_203B320
+ thumb_func_end sub_8030894
+
+ thumb_func_start sub_80308A0
+sub_80308A0:
+ push {r4,lr}
+ ldr r4, _08030928
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x44
+ ldrh r1, [r1]
+ adds r0, 0xC0
+ movs r2, 0
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x42
+ ldrh r1, [r1]
+ adds r0, 0xC1
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xC2
+ movs r1, 0xC
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xC3
+ strb r2, [r0]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ movs r1, 0x3E
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ lsls r0, 16
+ ldr r2, [r4]
+ ldr r3, [r2, 0x58]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x6E
+ asrs r3, r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r1, [r2, 0x58]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r2, r0
+ adds r3, 0x2
+ adds r2, 0x70
+ strh r3, [r2]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08030928: .4byte gUnknown_203B320
+ thumb_func_end sub_80308A0
+
+ thumb_func_start sub_803092C
+sub_803092C:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x60
+ ldr r7, _08030A24
+ ldr r0, [r7]
+ ldr r0, [r0, 0x58]
+ bl sub_8008C54
+ ldr r0, [r7]
+ ldr r0, [r0, 0x58]
+ bl sub_80073B8
+ ldr r1, [r7]
+ adds r0, r1, 0
+ adds r0, 0x42
+ movs r2, 0
+ ldrsh r4, [r0, r2]
+ lsls r4, 3
+ adds r5, r4, 0
+ adds r5, 0xA
+ ldr r2, _08030A28
+ ldr r0, [r1, 0x20]
+ lsls r0, 2
+ adds r0, r2
+ ldr r2, [r0]
+ ldr r3, [r1, 0x58]
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0
+ bl xxx_call_draw_string
+ adds r4, 0x4
+ ldr r3, [r7]
+ adds r0, r3, 0
+ adds r0, 0xC2
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r5, r4, r0
+ adds r0, r3, 0
+ adds r0, 0x42
+ movs r1, 0
+ ldrsh r2, [r0, r1]
+ adds r2, 0x1
+ movs r0, 0x7
+ str r0, [sp]
+ ldr r0, [r3, 0x58]
+ str r0, [sp, 0x4]
+ adds r0, r5, 0
+ movs r1, 0
+ movs r3, 0x1
+ bl sub_8012BC4
+ movs r6, 0
+ ldr r0, [r7]
+ movs r2, 0x3E
+ ldrsh r0, [r0, r2]
+ cmp r6, r0
+ bge _08030A56
+ mov r9, r7
+ mov r8, r6
+ add r7, sp, 0x8
+ mov r5, sp
+ adds r5, 0x4B
+_080309B0:
+ mov r3, r9
+ ldr r1, [r3]
+ adds r0, r1, 0
+ adds r0, 0x42
+ movs r3, 0
+ ldrsh r2, [r0, r3]
+ subs r0, 0x2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r0, r2
+ adds r0, r6
+ adds r1, r0
+ ldrb r0, [r1]
+ bl sub_8095228
+ adds r4, r0, 0
+ mov r1, r9
+ ldr r0, [r1]
+ ldr r1, [r0, 0x58]
+ str r1, [sp, 0x8]
+ adds r0, 0x24
+ adds r1, r6, 0
+ bl sub_8013800
+ str r0, [sp, 0x50]
+ add r1, sp, 0x48
+ movs r0, 0x7
+ strb r0, [r1]
+ mov r0, sp
+ adds r0, 0x4A
+ mov r2, r8
+ strb r2, [r0]
+ add r0, sp, 0x4C
+ strb r2, [r0]
+ adds r0, r4, 0x4
+ str r0, [sp, 0x10]
+ adds r0, 0x10
+ str r0, [sp, 0x14]
+ ldrh r0, [r4, 0xC]
+ strh r0, [r7, 0x10]
+ ldrh r0, [r4, 0xC]
+ strh r0, [r7, 0x12]
+ strb r2, [r7, 0x14]
+ subs r1, 0x12
+ movs r0, 0x5
+ strb r0, [r1]
+ ldrb r0, [r4]
+ cmp r0, 0x4
+ beq _08030A32
+ cmp r0, 0x4
+ bgt _08030A2C
+ cmp r0, 0x2
+ bgt _08030A3E
+ cmp r0, 0x1
+ blt _08030A3E
+ movs r0, 0x1
+ strb r0, [r5]
+ b _08030A42
+ .align 2, 0
+_08030A24: .4byte gUnknown_203B320
+_08030A28: .4byte gUnknown_80E086C
+_08030A2C:
+ cmp r0, 0x5
+ beq _08030A38
+ b _08030A3E
+_08030A32:
+ movs r0, 0x3
+ strb r0, [r5]
+ b _08030A42
+_08030A38:
+ movs r0, 0x4
+ strb r0, [r5]
+ b _08030A42
+_08030A3E:
+ mov r3, r8
+ strb r3, [r5]
+_08030A42:
+ add r0, sp, 0x8
+ bl sub_803B6D4
+ adds r6, 0x1
+ mov r1, r9
+ ldr r0, [r1]
+ movs r2, 0x3E
+ ldrsh r0, [r0, r2]
+ cmp r6, r0
+ blt _080309B0
+_08030A56:
+ ldr r0, _08030A70
+ ldr r0, [r0]
+ ldr r0, [r0, 0x58]
+ bl sub_80073E0
+ add sp, 0x60
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08030A70: .4byte gUnknown_203B320
+ thumb_func_end sub_803092C
+
+ thumb_func_start sub_8030A74
+sub_8030A74:
+ push {r4,r5,lr}
+ movs r2, 0
+ ldr r0, _08030A90
+ ldr r0, [r0]
+ ldr r0, [r0, 0x20]
+ cmp r0, 0x7
+ bls _08030A84
+ b _08030C0E
+_08030A84:
+ lsls r0, 2
+ ldr r1, _08030A94
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08030A90: .4byte gUnknown_203B320
+_08030A94: .4byte _08030A98
+ .align 2, 0
+_08030A98:
+ .4byte _08030AB8
+ .4byte _08030B10
+ .4byte _08030B3C
+ .4byte _08030B94
+ .4byte _08030B68
+ .4byte _08030BC0
+ .4byte _08030AE4
+ .4byte _08030BEC
+_08030AB8:
+ movs r1, 0
+ ldr r5, _08030ADC
+ ldr r4, _08030AE0
+ movs r3, 0
+_08030AC0:
+ ldr r0, [r5]
+ adds r0, r3
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08030AD2
+ ldr r0, [r4]
+ adds r0, r2
+ strb r1, [r0]
+ adds r2, 0x1
+_08030AD2:
+ adds r3, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030AC0
+ b _08030C0E
+ .align 2, 0
+_08030ADC: .4byte gUnknown_203B480
+_08030AE0: .4byte gUnknown_203B320
+_08030AE4:
+ movs r1, 0
+ ldr r5, _08030B08
+ ldr r4, _08030B0C
+ movs r3, 0
+_08030AEC:
+ ldr r0, [r5]
+ adds r0, r3
+ ldrb r0, [r0]
+ cmp r0, 0x6
+ bne _08030AFE
+ ldr r0, [r4]
+ adds r0, r2
+ strb r1, [r0]
+ adds r2, 0x1
+_08030AFE:
+ adds r3, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030AEC
+ b _08030C0E
+ .align 2, 0
+_08030B08: .4byte gUnknown_203B480
+_08030B0C: .4byte gUnknown_203B320
+_08030B10:
+ movs r1, 0
+ ldr r5, _08030B34
+ ldr r4, _08030B38
+ movs r3, 0
+_08030B18:
+ ldr r0, [r5]
+ adds r0, r3
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _08030B2A
+ ldr r0, [r4]
+ adds r0, r2
+ strb r1, [r0]
+ adds r2, 0x1
+_08030B2A:
+ adds r3, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030B18
+ b _08030C0E
+ .align 2, 0
+_08030B34: .4byte gUnknown_203B480
+_08030B38: .4byte gUnknown_203B320
+_08030B3C:
+ movs r1, 0
+ ldr r5, _08030B60
+ ldr r4, _08030B64
+ movs r3, 0
+_08030B44:
+ ldr r0, [r5]
+ adds r0, r3
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _08030B56
+ ldr r0, [r4]
+ adds r0, r2
+ strb r1, [r0]
+ adds r2, 0x1
+_08030B56:
+ adds r3, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030B44
+ b _08030C0E
+ .align 2, 0
+_08030B60: .4byte gUnknown_203B480
+_08030B64: .4byte gUnknown_203B320
+_08030B68:
+ movs r1, 0
+ ldr r5, _08030B8C
+ ldr r4, _08030B90
+ movs r3, 0
+_08030B70:
+ ldr r0, [r5]
+ adds r0, r3
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bne _08030B82
+ ldr r0, [r4]
+ adds r0, r2
+ strb r1, [r0]
+ adds r2, 0x1
+_08030B82:
+ adds r3, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030B70
+ b _08030C0E
+ .align 2, 0
+_08030B8C: .4byte gUnknown_203B480
+_08030B90: .4byte gUnknown_203B320
+_08030B94:
+ movs r1, 0
+ ldr r5, _08030BB8
+ ldr r4, _08030BBC
+ movs r3, 0
+_08030B9C:
+ ldr r0, [r5]
+ adds r0, r3
+ ldrb r0, [r0]
+ cmp r0, 0x3
+ bne _08030BAE
+ ldr r0, [r4]
+ adds r0, r2
+ strb r1, [r0]
+ adds r2, 0x1
+_08030BAE:
+ adds r3, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030B9C
+ b _08030C0E
+ .align 2, 0
+_08030BB8: .4byte gUnknown_203B480
+_08030BBC: .4byte gUnknown_203B320
+_08030BC0:
+ movs r1, 0
+ ldr r5, _08030BE4
+ ldr r4, _08030BE8
+ movs r3, 0
+_08030BC8:
+ ldr r0, [r5]
+ adds r0, r3
+ ldrb r0, [r0]
+ cmp r0, 0x5
+ bne _08030BDA
+ ldr r0, [r4]
+ adds r0, r2
+ strb r1, [r0]
+ adds r2, 0x1
+_08030BDA:
+ adds r3, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030BC8
+ b _08030C0E
+ .align 2, 0
+_08030BE4: .4byte gUnknown_203B480
+_08030BE8: .4byte gUnknown_203B320
+_08030BEC:
+ movs r1, 0
+ ldr r5, _08030C18
+ ldr r4, _08030C1C
+ movs r3, 0
+_08030BF4:
+ ldr r0, [r5]
+ adds r0, r3
+ ldrb r0, [r0]
+ cmp r0, 0x7
+ bne _08030C06
+ ldr r0, [r4]
+ adds r0, r2
+ strb r1, [r0]
+ adds r2, 0x1
+_08030C06:
+ adds r3, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030BF4
+_08030C0E:
+ adds r0, r2, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08030C18: .4byte gUnknown_203B480
+_08030C1C: .4byte gUnknown_203B320
+ thumb_func_end sub_8030A74
+
+ thumb_func_start sub_8030C20
+sub_8030C20:
+ push {lr}
+ cmp r0, 0x7
+ bls _08030C28
+ b _08030D34
+_08030C28:
+ lsls r0, 2
+ ldr r1, _08030C34
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08030C34: .4byte _08030C38
+ .align 2, 0
+_08030C38:
+ .4byte _08030C58
+ .4byte _08030C90
+ .4byte _08030CAC
+ .4byte _08030CE4
+ .4byte _08030CC8
+ .4byte _08030D00
+ .4byte _08030C74
+ .4byte _08030D20
+_08030C58:
+ movs r1, 0
+ ldr r0, _08030C70
+ ldr r2, [r0]
+_08030C5E:
+ ldrb r0, [r2]
+ cmp r0, 0
+ bne _08030D1C
+ adds r2, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030C5E
+ b _08030D34
+ .align 2, 0
+_08030C70: .4byte gUnknown_203B480
+_08030C74:
+ movs r1, 0
+ ldr r0, _08030C8C
+ ldr r2, [r0]
+_08030C7A:
+ ldrb r0, [r2]
+ cmp r0, 0x6
+ beq _08030D1C
+ adds r2, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030C7A
+ b _08030D34
+ .align 2, 0
+_08030C8C: .4byte gUnknown_203B480
+_08030C90:
+ movs r1, 0
+ ldr r0, _08030CA8
+ ldr r2, [r0]
+_08030C96:
+ ldrb r0, [r2]
+ cmp r0, 0x1
+ beq _08030D1C
+ adds r2, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030C96
+ b _08030D34
+ .align 2, 0
+_08030CA8: .4byte gUnknown_203B480
+_08030CAC:
+ movs r1, 0
+ ldr r0, _08030CC4
+ ldr r2, [r0]
+_08030CB2:
+ ldrb r0, [r2]
+ cmp r0, 0x2
+ beq _08030D1C
+ adds r2, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030CB2
+ b _08030D34
+ .align 2, 0
+_08030CC4: .4byte gUnknown_203B480
+_08030CC8:
+ movs r1, 0
+ ldr r0, _08030CE0
+ ldr r2, [r0]
+_08030CCE:
+ ldrb r0, [r2]
+ cmp r0, 0x4
+ beq _08030D1C
+ adds r2, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030CCE
+ b _08030D34
+ .align 2, 0
+_08030CE0: .4byte gUnknown_203B480
+_08030CE4:
+ movs r1, 0
+ ldr r0, _08030CFC
+ ldr r2, [r0]
+_08030CEA:
+ ldrb r0, [r2]
+ cmp r0, 0x3
+ beq _08030D1C
+ adds r2, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030CEA
+ b _08030D34
+ .align 2, 0
+_08030CFC: .4byte gUnknown_203B480
+_08030D00:
+ movs r1, 0
+ ldr r0, _08030D18
+ ldr r2, [r0]
+_08030D06:
+ ldrb r0, [r2]
+ cmp r0, 0x5
+ beq _08030D1C
+ adds r2, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030D06
+ b _08030D34
+ .align 2, 0
+_08030D18: .4byte gUnknown_203B480
+_08030D1C:
+ movs r0, 0
+ b _08030D36
+_08030D20:
+ movs r1, 0
+ ldr r0, _08030D3C
+ ldr r2, [r0]
+_08030D26:
+ ldrb r0, [r2]
+ cmp r0, 0x7
+ beq _08030D1C
+ adds r2, 0x30
+ adds r1, 0x1
+ cmp r1, 0x1F
+ ble _08030D26
+_08030D34:
+ movs r0, 0x1
+_08030D36:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08030D3C: .4byte gUnknown_203B480
+ thumb_func_end sub_8030C20
+
+ thumb_func_start sub_8030D40
+sub_8030D40:
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r6, _08030D98
+ movs r0, 0x78
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r6]
+ strb r4, [r0, 0xC]
+ ldr r0, [r6]
+ bl sub_801317C
+ ldr r0, [r6]
+ str r5, [r0, 0x10]
+ lsls r1, r5, 1
+ adds r1, r5
+ lsls r1, 3
+ adds r1, 0x18
+ adds r1, r0, r1
+ str r1, [r0, 0x14]
+ adds r0, 0x18
+ bl sub_8006518
+ ldr r1, [r6]
+ ldr r2, [r1, 0x10]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x18
+ ldr r0, _08030D9C
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ bl sub_8030DD4
+ movs r0, 0x1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08030D98: .4byte gUnknown_203B324
+_08030D9C: .4byte gUnknown_80E091C
+ thumb_func_end sub_8030D40
+
+ thumb_func_start sub_8030DA0
+sub_8030DA0:
+ push {lr}
+ ldr r0, _08030DC0
+ ldr r0, [r0]
+ ldr r1, [r0, 0x10]
+ bl sub_8012A64
+ cmp r0, 0x1
+ beq _08030DC4
+ cmp r0, 0x2
+ bne _08030DCE
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _08030DD0
+ .align 2, 0
+_08030DC0: .4byte gUnknown_203B324
+_08030DC4:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _08030DD0
+_08030DCE:
+ movs r0, 0
+_08030DD0:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8030DA0
+
+ thumb_func_start sub_8030DD4
+sub_8030DD4:
+ push {lr}
+ bl sub_8030E2C
+ bl sub_8030E48
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8030DD4
+
+ thumb_func_start sub_8030DE4
+sub_8030DE4:
+ push {r4,r5,lr}
+ ldr r4, _08030E24
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _08030E1E
+ ldr r0, [r2, 0x10]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x18
+ ldr r0, _08030E28
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x18
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_08030E1E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08030E24: .4byte gUnknown_203B324
+_08030E28: .4byte gUnknown_80E0900
+ thumb_func_end sub_8030DE4
+
+ thumb_func_start sub_8030E2C
+sub_8030E2C:
+ push {lr}
+ bl ResetUnusedInputStruct
+ ldr r0, _08030E44
+ ldr r0, [r0]
+ adds r0, 0x18
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08030E44: .4byte gUnknown_203B324
+ thumb_func_end sub_8030E2C
+
+ thumb_func_start sub_8030E48
+sub_8030E48:
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0x15C
+ ldr r3, _08030EA8
+ ldr r4, _08030EAC
+ ldr r2, [r4]
+ ldrb r1, [r2, 0xC]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 4
+ ldr r1, [r3]
+ adds r5, r1, r0
+ ldr r0, [r2, 0x10]
+ bl sub_80073B8
+ ldr r0, [r4]
+ ldr r0, [r0, 0x10]
+ str r0, [sp, 0x4]
+ add r1, sp, 0x44
+ movs r2, 0
+ movs r0, 0x7
+ strb r0, [r1]
+ mov r0, sp
+ adds r0, 0x46
+ strb r2, [r0]
+ add r0, sp, 0x48
+ strb r2, [r0]
+ adds r0, r5, 0x4
+ str r0, [sp, 0xC]
+ adds r0, 0x10
+ str r0, [sp, 0x10]
+ add r1, sp, 0x4
+ ldrh r0, [r5, 0xC]
+ strh r0, [r1, 0x10]
+ ldrh r0, [r5, 0xC]
+ strh r0, [r1, 0x12]
+ adds r0, r1, 0
+ strb r2, [r0, 0x14]
+ adds r2, r5, 0
+ adds r2, 0x22
+ ldrb r0, [r2]
+ cmp r0, 0
+ bne _08030EB0
+ adds r1, 0x2E
+ movs r0, 0x5
+ strb r0, [r1]
+ b _08030EBE
+ .align 2, 0
+_08030EA8: .4byte gUnknown_203B480
+_08030EAC: .4byte gUnknown_203B324
+_08030EB0:
+ mov r1, sp
+ adds r1, 0x32
+ movs r0, 0x2
+ strb r0, [r1]
+ ldrb r1, [r2]
+ add r0, sp, 0x38
+ strb r1, [r0]
+_08030EBE:
+ ldrb r0, [r5]
+ cmp r0, 0x2
+ beq _08030ED2
+ cmp r0, 0x2
+ ble _08030EE2
+ cmp r0, 0x4
+ beq _08030ED2
+ cmp r0, 0x5
+ beq _08030EDA
+ b _08030EE2
+_08030ED2:
+ mov r1, sp
+ adds r1, 0x45
+ movs r0, 0xA
+ b _08030EE8
+_08030EDA:
+ mov r1, sp
+ adds r1, 0x45
+ movs r0, 0xB
+ b _08030EE8
+_08030EE2:
+ mov r1, sp
+ adds r1, 0x45
+ movs r0, 0x9
+_08030EE8:
+ strb r0, [r1]
+ add r0, sp, 0x4
+ bl CreateRescueDescription
+ ldrh r0, [r5, 0x10]
+ ldr r1, _08030F48
+ bl __umodsi3
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r2, _08030F4C
+ ldr r5, _08030F50
+ ldr r0, [r5]
+ ldr r3, [r0, 0x10]
+ movs r0, 0
+ mov r8, r0
+ str r0, [sp]
+ movs r0, 0xA
+ movs r1, 0x68
+ bl xxx_call_draw_string
+ add r6, sp, 0x5C
+ ldr r1, _08030F54
+ adds r0, r6, 0
+ adds r2, r4, 0
+ bl sub_800D158
+ ldr r0, [r5]
+ ldr r3, [r0, 0x10]
+ mov r0, r8
+ str r0, [sp]
+ movs r0, 0x44
+ movs r1, 0x68
+ adds r2, r6, 0
+ bl xxx_call_draw_string
+ ldr r0, [r5]
+ ldr r0, [r0, 0x10]
+ bl sub_80073E0
+ add sp, 0x15C
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08030F48: .4byte 0x00002710
+_08030F4C: .4byte gUnknown_80E0934
+_08030F50: .4byte gUnknown_203B324
+_08030F54: .4byte gUnknown_80E0938
+ thumb_func_end sub_8030E48
+
+ thumb_func_start sub_8030F58
+sub_8030F58:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ bl ResetUnusedInputStruct
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r5, _08030FF4
+ ldr r0, [r5]
+ cmp r0, 0
+ bne _08030F88
+ movs r4, 0x8E
+ lsls r4, 1
+ adds r0, r4, 0
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ movs r1, 0
+ adds r2, r4, 0
+ bl MemoryFill8
+_08030F88:
+ ldr r0, [r5]
+ movs r1, 0x8C
+ lsls r1, 1
+ adds r0, r1
+ str r6, [r0]
+ movs r0, 0x98
+ lsls r0, 1
+ bl GetDialogueSpriteDataPtr
+ ldr r2, [r5]
+ movs r4, 0x84
+ lsls r4, 1
+ adds r1, r2, r4
+ str r0, [r1]
+ movs r3, 0x86
+ lsls r3, 1
+ adds r1, r2, r3
+ ldr r0, [r0, 0x4]
+ str r0, [r1]
+ movs r0, 0x8A
+ lsls r0, 1
+ adds r2, r0
+ movs r1, 0
+ strb r1, [r2]
+ ldr r0, [r5]
+ ldr r2, _08030FF8
+ adds r0, r2
+ strb r1, [r0]
+ ldr r0, [r5]
+ adds r3, 0xA
+ adds r0, r3
+ strb r1, [r0]
+ ldr r2, [r5]
+ movs r0, 0x88
+ lsls r0, 1
+ adds r1, r2, r0
+ movs r0, 0x2
+ strh r0, [r1]
+ subs r3, 0x4
+ adds r1, r2, r3
+ movs r0, 0x8
+ strh r0, [r1]
+ adds r0, r6, 0
+ bl sub_8030C20
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _08031038
+ cmp r6, 0x2
+ beq _08030FFC
+ cmp r6, 0x4
+ beq _08031014
+ b _08031022
+ .align 2, 0
+_08030FF4: .4byte gUnknown_203B328
+_08030FF8: .4byte 0x00000115
+_08030FFC:
+ ldr r0, _0803100C
+ ldr r2, [r5]
+ adds r2, r4
+ ldr r3, _08031010
+ movs r1, 0
+ bl sub_80141B4
+ b _08031022
+ .align 2, 0
+_0803100C: .4byte gUnknown_80E09D8
+_08031010: .4byte 0x00000101
+_08031014:
+ ldr r0, _0803102C
+ ldr r2, [r5]
+ adds r2, r4
+ ldr r3, _08031030
+ movs r1, 0
+ bl sub_80141B4
+_08031022:
+ ldr r0, _08031034
+ ldr r1, [r0]
+ movs r0, 0x5
+ str r0, [r1]
+ b _08031048
+ .align 2, 0
+_0803102C: .4byte gUnknown_80E0A0C
+_08031030: .4byte 0x00000101
+_08031034: .4byte gUnknown_203B328
+_08031038:
+ ldr r0, [r5]
+ str r1, [r0]
+ adds r0, r6, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x8
+ bl sub_80306A8
+_08031048:
+ movs r0, 0x1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8030F58
+
+ thumb_func_start sub_8031050
+sub_8031050:
+ push {lr}
+ ldr r1, _08031068
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r2, r1, 0
+ cmp r0, 0x6
+ bhi _080310AC
+ lsls r0, 2
+ ldr r1, _0803106C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08031068: .4byte gUnknown_203B328
+_0803106C: .4byte _08031070
+ .align 2, 0
+_08031070:
+ .4byte _0803108C
+ .4byte _08031092
+ .4byte _08031098
+ .4byte _08031098
+ .4byte _080310A2
+ .4byte _080310A8
+ .4byte _080310A8
+_0803108C:
+ bl sub_8031300
+ b _080310AC
+_08031092:
+ bl sub_803136C
+ b _080310AC
+_08031098:
+ ldr r0, [r2]
+ ldr r0, [r0]
+ bl sub_80313D8
+ b _080310AC
+_080310A2:
+ bl sub_8031498
+ b _080310AC
+_080310A8:
+ movs r0, 0x3
+ b _080310AE
+_080310AC:
+ movs r0, 0
+_080310AE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8031050
+
+ thumb_func_start sub_80310B4
+sub_80310B4:
+ push {r4,lr}
+ bl sub_803084C
+ ldr r4, _080310E0
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _080310D8
+ movs r1, 0x84
+ lsls r1, 1
+ adds r0, r1
+ ldr r0, [r0]
+ bl CloseFile
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_080310D8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080310E0: .4byte gUnknown_203B328
+ thumb_func_end sub_80310B4
+
+ thumb_func_start sub_80310E4
+sub_80310E4:
+ push {lr}
+ ldr r1, _080310F8
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_80310FC
+ bl sub_8031258
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080310F8: .4byte gUnknown_203B328
+ thumb_func_end sub_80310E4
+
+ thumb_func_start sub_80310FC
+sub_80310FC:
+ push {r4-r6,lr}
+ ldr r4, _0803111C
+ ldr r0, [r4]
+ adds r0, 0xA8
+ bl sub_8006518
+ ldr r0, [r4]
+ ldr r0, [r0]
+ cmp r0, 0x6
+ bls _08031112
+ b _0803122C
+_08031112:
+ lsls r0, 2
+ ldr r1, _08031120
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803111C: .4byte gUnknown_203B328
+_08031120: .4byte _08031124
+ .align 2, 0
+_08031124:
+ .4byte _08031140
+ .4byte _08031178
+ .4byte _080311C0
+ .4byte _080311C0
+ .4byte _080311E8
+ .4byte _0803122C
+ .4byte _0803122C
+_08031140:
+ ldr r3, _08031170
+ ldr r1, [r3]
+ ldr r2, _08031174
+ adds r1, 0xC0
+ adds r0, r2, 0
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldr r1, [r3]
+ adds r1, 0xD8
+ adds r0, r2, 0
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldr r0, [r3]
+ adds r0, 0xF0
+ ldm r2!, {r1,r3,r4}
+ stm r0!, {r1,r3,r4}
+ ldm r2!, {r1,r5,r6}
+ stm r0!, {r1,r5,r6}
+ b _0803123A
+ .align 2, 0
+_08031170: .4byte gUnknown_203B328
+_08031174: .4byte gUnknown_80E0990
+_08031178:
+ ldr r3, _080311B0
+ ldr r1, [r3]
+ adds r1, 0xC0
+ ldr r0, _080311B4
+ ldm r0!, {r2,r4,r5}
+ stm r1!, {r2,r4,r5}
+ ldm r0!, {r2,r4,r6}
+ stm r1!, {r2,r4,r6}
+ ldr r1, [r3]
+ ldr r2, _080311B8
+ adds r1, 0xD8
+ adds r0, r2, 0
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldr r0, [r3]
+ adds r0, 0xF0
+ ldm r2!, {r1,r5,r6}
+ stm r0!, {r1,r5,r6}
+ ldm r2!, {r4-r6}
+ stm r0!, {r4-r6}
+ ldr r0, [r3]
+ adds r0, 0xC0
+ ldr r1, _080311BC
+ bl sub_8012CAC
+ b _0803123A
+ .align 2, 0
+_080311B0: .4byte gUnknown_203B328
+_080311B4: .4byte gUnknown_80E09A8
+_080311B8: .4byte gUnknown_80E0990
+_080311BC: .4byte gUnknown_80E0968
+_080311C0:
+ ldr r2, _080311DC
+ ldr r1, [r2]
+ adds r1, 0xD8
+ ldr r0, _080311E0
+ ldm r0!, {r3-r5}
+ stm r1!, {r3-r5}
+ ldm r0!, {r3,r4,r6}
+ stm r1!, {r3,r4,r6}
+ ldr r0, [r2]
+ adds r0, 0xD8
+ ldr r1, _080311E4
+ bl sub_8012CAC
+ b _0803123A
+ .align 2, 0
+_080311DC: .4byte gUnknown_203B328
+_080311E0: .4byte gUnknown_80E09C0
+_080311E4: .4byte gUnknown_80E0948
+_080311E8:
+ ldr r3, _08031224
+ ldr r1, [r3]
+ ldr r2, _08031228
+ adds r1, 0xA8
+ adds r0, r2, 0
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldr r1, [r3]
+ adds r1, 0xC0
+ adds r0, r2, 0
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldr r1, [r3]
+ adds r1, 0xD8
+ adds r0, r2, 0
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ ldr r0, [r3]
+ adds r0, 0xF0
+ ldm r2!, {r1,r5,r6}
+ stm r0!, {r1,r5,r6}
+ ldm r2!, {r3-r5}
+ stm r0!, {r3-r5}
+ b _0803123A
+ .align 2, 0
+_08031224: .4byte gUnknown_203B328
+_08031228: .4byte gUnknown_80E0990
+_0803122C:
+ bl ResetUnusedInputStruct
+ movs r0, 0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+_0803123A:
+ bl ResetUnusedInputStruct
+ ldr r0, _08031254
+ ldr r0, [r0]
+ adds r0, 0xA8
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08031254: .4byte gUnknown_203B328
+ thumb_func_end sub_80310FC
+
+ thumb_func_start sub_8031258
+sub_8031258:
+ push {r4,lr}
+ sub sp, 0x8
+ ldr r1, _08031274
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r2, r1, 0
+ cmp r0, 0x6
+ bhi _080312F6
+ lsls r0, 2
+ ldr r1, _08031278
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08031274: .4byte gUnknown_203B328
+_08031278: .4byte _0803127C
+ .align 2, 0
+_0803127C:
+ .4byte _08031298
+ .4byte _080312A0
+ .4byte _080312BC
+ .4byte _080312BC
+ .4byte _080312EC
+ .4byte _080312F6
+ .4byte _080312F6
+_08031298:
+ movs r0, 0x1
+ bl sub_8030810
+ b _080312F6
+_080312A0:
+ bl sub_803092C
+ ldr r0, _080312B4
+ ldr r0, [r0]
+ adds r0, 0x8
+ ldr r1, _080312B8
+ movs r2, 0x4
+ str r2, [sp]
+ movs r2, 0x1
+ b _080312D8
+ .align 2, 0
+_080312B4: .4byte gUnknown_203B328
+_080312B8: .4byte gUnknown_80E0968
+_080312BC:
+ bl sub_803092C
+ ldr r4, _080312E4
+ ldr r0, [r4]
+ adds r0, 0x8
+ movs r1, 0
+ bl sub_8012EA4
+ ldr r0, [r4]
+ adds r0, 0x58
+ ldr r1, _080312E8
+ movs r2, 0x3
+ str r2, [sp]
+ movs r2, 0x2
+_080312D8:
+ str r2, [sp, 0x4]
+ movs r2, 0
+ movs r3, 0
+ bl sub_8012D60
+ b _080312F6
+ .align 2, 0
+_080312E4: .4byte gUnknown_203B328
+_080312E8: .4byte gUnknown_80E0948
+_080312EC:
+ ldr r0, [r2]
+ ldrb r0, [r0, 0x4]
+ movs r1, 0x3
+ bl sub_8030D40
+_080312F6:
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8031258
+
+ thumb_func_start sub_8031300
+sub_8031300:
+ push {lr}
+ movs r0, 0x1
+ bl sub_8030768
+ cmp r0, 0x4
+ bhi _08031366
+ lsls r0, 2
+ ldr r1, _08031318
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08031318: .4byte _0803131C
+ .align 2, 0
+_0803131C:
+ .4byte _08031366
+ .4byte _08031366
+ .4byte _08031360
+ .4byte _08031330
+ .4byte _08031348
+_08031330:
+ bl sub_80307EC
+ ldr r1, _08031344
+ ldr r1, [r1]
+ strb r0, [r1, 0x4]
+ movs r0, 0x1
+ bl sub_80310E4
+ b _08031366
+ .align 2, 0
+_08031344: .4byte gUnknown_203B328
+_08031348:
+ bl sub_80307EC
+ ldr r1, _0803135C
+ ldr r1, [r1]
+ strb r0, [r1, 0x4]
+ movs r0, 0x4
+ bl sub_80310E4
+ b _08031366
+ .align 2, 0
+_0803135C: .4byte gUnknown_203B328
+_08031360:
+ movs r0, 0x6
+ bl sub_80310E4
+_08031366:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8031300
+
+ thumb_func_start sub_803136C
+sub_803136C:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_8030768
+ ldr r4, _080313A4
+ ldr r0, [r4]
+ adds r0, 0x8
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08031392
+ ldr r0, [r4]
+ adds r0, 0x8
+ mov r1, sp
+ bl sub_8013114
+_08031392:
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _080313C2
+ cmp r0, 0x4
+ bgt _080313A8
+ cmp r0, 0x1
+ beq _080313B2
+ b _080313D0
+ .align 2, 0
+_080313A4: .4byte gUnknown_203B328
+_080313A8:
+ cmp r0, 0x5
+ beq _080313CA
+ cmp r0, 0x6
+ beq _080313BA
+ b _080313D0
+_080313B2:
+ movs r0, 0
+ bl sub_80310E4
+ b _080313D0
+_080313BA:
+ movs r0, 0x3
+ bl sub_80310E4
+ b _080313D0
+_080313C2:
+ movs r0, 0x2
+ bl sub_80310E4
+ b _080313D0
+_080313CA:
+ movs r0, 0x4
+ bl sub_80310E4
+_080313D0:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803136C
+
+ thumb_func_start sub_80313D8
+sub_80313D8:
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r5, r0, 0
+ movs r0, 0
+ str r0, [sp]
+ bl sub_8030768
+ ldr r4, _08031418
+ ldr r0, [r4]
+ adds r0, 0x8
+ bl sub_8012FD8
+ ldr r0, [r4]
+ adds r0, 0x58
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08031408
+ ldr r0, [r4]
+ adds r0, 0x58
+ mov r1, sp
+ bl sub_8013114
+_08031408:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _08031428
+ cmp r0, 0x2
+ bgt _0803141C
+ cmp r0, 0x1
+ beq _08031420
+ b _0803148E
+ .align 2, 0
+_08031418: .4byte gUnknown_203B328
+_0803141C:
+ cmp r0, 0x3
+ bne _0803148E
+_08031420:
+ movs r0, 0
+ bl sub_80310E4
+ b _0803148E
+_08031428:
+ cmp r5, 0x2
+ beq _08031432
+ cmp r5, 0x3
+ beq _0803143C
+ b _0803145A
+_08031432:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x4]
+ bl sub_8095240
+ b _0803145A
+_0803143C:
+ ldr r4, _08031480
+ movs r3, 0
+ movs r1, 0
+ movs r2, 0x1F
+_08031444:
+ ldr r0, [r4]
+ adds r0, r1
+ strb r3, [r0]
+ ldr r0, [r4]
+ adds r0, r1
+ adds r0, 0x22
+ strb r3, [r0]
+ adds r1, 0x30
+ subs r2, 0x1
+ cmp r2, 0
+ bge _08031444
+_0803145A:
+ ldr r0, _08031484
+ ldr r0, [r0]
+ movs r1, 0x8C
+ lsls r1, 1
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0x2
+ beq _0803146E
+ cmp r0, 0x4
+ bne _0803148E
+_0803146E:
+ bl sub_8030C20
+ lsls r0, 24
+ cmp r0, 0
+ beq _08031488
+ movs r0, 0x5
+ bl sub_80310E4
+ b _0803148E
+ .align 2, 0
+_08031480: .4byte gUnknown_203B480
+_08031484: .4byte gUnknown_203B328
+_08031488:
+ movs r0, 0
+ bl sub_80310E4
+_0803148E:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80313D8
+
+ thumb_func_start sub_8031498
+sub_8031498:
+ push {lr}
+ bl sub_8030DA0
+ cmp r0, 0x1
+ bls _080314B0
+ cmp r0, 0x3
+ bhi _080314B0
+ bl sub_8030DE4
+ movs r0, 0
+ bl sub_80310E4
+_080314B0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8031498
diff --git a/asm/wonder_mail_5.s b/asm/wonder_mail_5.s
new file mode 100644
index 0000000..1669b8d
--- /dev/null
+++ b/asm/wonder_mail_5.s
@@ -0,0 +1,571 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+
+ thumb_func_start sub_8031AE8
+sub_8031AE8:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xDC
+ ldr r7, _08031B24
+ ldr r0, [r7]
+ ldr r0, [r0, 0x10]
+ bl sub_80073B8
+ ldr r2, _08031B28
+ ldr r0, [r7]
+ ldr r3, [r0, 0x10]
+ movs r6, 0
+ str r6, [sp]
+ movs r0, 0xA
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r1, [r7]
+ ldrb r0, [r1, 0xC]
+ cmp r0, 0x1
+ beq _08031B2C
+ cmp r0, 0x1
+ bgt _08031B1E
+ b _08031CD4
+_08031B1E:
+ cmp r0, 0x2
+ beq _08031B94
+ b _08031CD4
+ .align 2, 0
+_08031B24: .4byte gUnknown_203B330
+_08031B28: .4byte gUnknown_80E1F30
+_08031B2C:
+ add r4, sp, 0x68
+ adds r0, r4, 0
+ bl sub_8099394
+ ldrb r0, [r4]
+ bl sub_8095228
+ adds r5, r0, 0
+ ldr r0, [r7]
+ ldr r3, [r0, 0x10]
+ movs r0, 0xA
+ movs r1, 0x10
+ movs r2, 0x3
+ bl sub_803B6B0
+ ldr r1, _08031B8C
+ ldrb r2, [r5, 0x5]
+ add r0, sp, 0x4
+ bl sub_800D158
+ ldr r0, [r7]
+ ldr r3, [r0, 0x10]
+ str r6, [sp]
+ movs r0, 0x15
+ movs r1, 0x10
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ ldr r4, _08031B90
+ movs r1, 0xC
+ ldrsh r0, [r5, r1]
+ bl GetMonSpecies
+ adds r2, r0, 0
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ bl sub_800D158
+ ldr r0, [r7]
+ ldr r3, [r0, 0x10]
+ str r6, [sp]
+ movs r0, 0x28
+ movs r1, 0x10
+ add r2, sp, 0x4
+ bl xxx_call_draw_string
+ b _08031D4E
+ .align 2, 0
+_08031B8C: .4byte gUnknown_80E1F3C
+_08031B90: .4byte gUnknown_80E1F40
+_08031B94:
+ ldrb r0, [r1, 0xD]
+ bl sub_80969D0
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _08031BB0
+ ldr r2, _08031BAC
+ ldr r0, [r7]
+ ldr r3, [r0, 0x10]
+ str r1, [sp]
+ b _08031D2C
+ .align 2, 0
+_08031BAC: .4byte gUnknown_80E1F54
+_08031BB0:
+ movs r6, 0x10
+ movs r2, 0
+ mov r10, r2
+ mov r8, r2
+ ldr r0, _08031C28
+ mov r9, r0
+ mov r1, sp
+ adds r1, 0x6C
+ str r1, [sp, 0xD8]
+_08031BC2:
+ mov r2, r10
+ lsls r0, r2, 24
+ lsrs r0, 24
+ bl sub_8096AB4
+ adds r4, r0, 0
+ ldr r1, [r7]
+ ldrb r0, [r4, 0x4]
+ ldrb r2, [r1, 0xD]
+ cmp r0, r2
+ bne _08031CC2
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _08031CC2
+ cmp r0, 0x5
+ beq _08031CC2
+ cmp r0, 0x7
+ beq _08031CC2
+ ldr r3, [r1, 0x10]
+ movs r0, 0xA
+ adds r1, r6, 0
+ movs r2, 0x3
+ bl sub_803B6B0
+ ldrb r0, [r4, 0x1]
+ add r5, sp, 0x6C
+ cmp r0, 0x3
+ beq _08031C16
+ ldrb r2, [r4, 0x5]
+ ldr r0, [sp, 0xD8]
+ ldr r1, _08031C2C
+ bl sub_800D158
+ ldr r0, [r7]
+ ldr r3, [r0, 0x10]
+ mov r0, r8
+ str r0, [sp]
+ movs r0, 0x15
+ adds r1, r6, 0
+ ldr r2, [sp, 0xD8]
+ bl xxx_call_draw_string
+_08031C16:
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x3
+ beq _08031C58
+ cmp r0, 0x3
+ bgt _08031C30
+ cmp r0, 0x2
+ beq _08031C70
+ b _08031C9C
+ .align 2, 0
+_08031C28: .4byte gUnknown_202DE58
+_08031C2C: .4byte gUnknown_80E1F3C
+_08031C30:
+ cmp r0, 0x4
+ bne _08031C9C
+ ldrb r1, [r4, 0x10]
+ mov r0, r9
+ movs r2, 0
+ bl sub_8090DC4
+ adds r0, r5, 0
+ ldr r1, _08031C54
+ mov r2, r9
+ bl sub_800D158
+ ldr r0, [r7]
+ ldr r3, [r0, 0x10]
+ mov r1, r8
+ str r1, [sp]
+ b _08031C8A
+ .align 2, 0
+_08031C54: .4byte gUnknown_80E1F60
+_08031C58:
+ ldrb r1, [r4, 0x10]
+ mov r0, r9
+ movs r2, 0
+ bl sub_8090DC4
+ adds r0, r5, 0
+ ldr r1, _08031C6C
+ mov r2, r9
+ b _08031C7E
+ .align 2, 0
+_08031C6C: .4byte gUnknown_80E1F70
+_08031C70:
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ bl GetMonSpecies
+ adds r2, r0, 0
+ adds r0, r5, 0
+ ldr r1, _08031C98
+_08031C7E:
+ bl sub_800D158
+ ldr r0, [r7]
+ ldr r3, [r0, 0x10]
+ mov r2, r8
+ str r2, [sp]
+_08031C8A:
+ movs r0, 0x28
+ adds r1, r6, 0
+ adds r2, r5, 0
+ bl xxx_call_draw_string
+ b _08031CC0
+ .align 2, 0
+_08031C98: .4byte gUnknown_80E1F80
+_08031C9C:
+ movs r1, 0xE
+ ldrsh r0, [r4, r1]
+ bl GetMonSpecies
+ adds r2, r0, 0
+ adds r0, r5, 0
+ ldr r1, _08031CD0
+ bl sub_800D158
+ ldr r0, [r7]
+ ldr r3, [r0, 0x10]
+ mov r2, r8
+ str r2, [sp]
+ movs r0, 0x28
+ adds r1, r6, 0
+ adds r2, r5, 0
+ bl xxx_call_draw_string
+_08031CC0:
+ adds r6, 0xC
+_08031CC2:
+ movs r0, 0x1
+ add r10, r0
+ mov r1, r10
+ cmp r1, 0x7
+ bgt _08031CCE
+ b _08031BC2
+_08031CCE:
+ b _08031D4E
+ .align 2, 0
+_08031CD0: .4byte gUnknown_80E1F40
+_08031CD4:
+ add r0, sp, 0xD0
+ mov r4, sp
+ adds r4, 0xD2
+ adds r1, r4, 0
+ bl sub_80992E0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ beq _08031D04
+ movs r2, 0
+ ldrsh r0, [r4, r2]
+ bl GetCurrentMissionText
+ adds r2, r0, 0
+ ldr r0, _08031D00
+ ldr r0, [r0]
+ ldr r3, [r0, 0x10]
+ movs r0, 0
+ str r0, [sp]
+ b _08031D2C
+ .align 2, 0
+_08031D00: .4byte gUnknown_203B330
+_08031D04:
+ add r4, sp, 0xD4
+ adds r0, r4, 0
+ bl sub_8099360
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _08031D3C
+ ldrb r0, [r4]
+ bl sub_80A2688
+ lsls r0, 16
+ asrs r0, 16
+ bl sub_80975DC
+ adds r2, r0, 0
+ ldr r0, _08031D38
+ ldr r0, [r0]
+ ldr r3, [r0, 0x10]
+ str r5, [sp]
+_08031D2C:
+ movs r0, 0xA
+ movs r1, 0x10
+ bl xxx_call_draw_string
+ b _08031D4E
+ .align 2, 0
+_08031D38: .4byte gUnknown_203B330
+_08031D3C:
+ ldr r2, _08031D68
+ ldr r0, _08031D6C
+ ldr r0, [r0]
+ ldr r3, [r0, 0x10]
+ str r1, [sp]
+ movs r0, 0xA
+ movs r1, 0x10
+ bl xxx_call_draw_string
+_08031D4E:
+ ldr r0, _08031D6C
+ ldr r0, [r0]
+ ldr r0, [r0, 0x10]
+ bl sub_80073E0
+ add sp, 0xDC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08031D68: .4byte gUnknown_80E1F94
+_08031D6C: .4byte gUnknown_203B330
+ thumb_func_end sub_8031AE8
+
+ thumb_func_start sub_8031D70
+sub_8031D70:
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ adds r4, r1, 0
+ ldr r5, _08031DC4
+ movs r0, 0x7C
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+ stm r0!, {r6}
+ bl sub_801317C
+ ldr r0, [r5]
+ str r4, [r0, 0x10]
+ lsls r1, r4, 1
+ adds r1, r4
+ lsls r1, 3
+ adds r1, 0x18
+ adds r1, r0, r1
+ str r1, [r0, 0x14]
+ adds r0, 0x18
+ bl sub_8006518
+ ldr r1, [r5]
+ ldr r2, [r1, 0x10]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x18
+ ldr r0, _08031DC8
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ bl sub_8031E00
+ movs r0, 0x1
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08031DC4: .4byte gUnknown_203B334
+_08031DC8: .4byte gUnknown_80E1FC4
+ thumb_func_end sub_8031D70
+
+ thumb_func_start sub_8031DCC
+sub_8031DCC:
+ push {lr}
+ ldr r0, _08031DEC
+ ldr r1, [r0]
+ adds r0, r1, 0x4
+ ldr r1, [r1, 0x10]
+ bl sub_8012A64
+ cmp r0, 0x1
+ beq _08031DF0
+ cmp r0, 0x2
+ bne _08031DFA
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _08031DFC
+ .align 2, 0
+_08031DEC: .4byte gUnknown_203B334
+_08031DF0:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _08031DFC
+_08031DFA:
+ movs r0, 0
+_08031DFC:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8031DCC
+
+ thumb_func_start sub_8031E00
+sub_8031E00:
+ push {lr}
+ bl sub_8031E58
+ bl sub_8031E74
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8031E00
+
+ thumb_func_start sub_8031E10
+sub_8031E10:
+ push {r4,r5,lr}
+ ldr r4, _08031E50
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _08031E4A
+ ldr r0, [r2, 0x10]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x18
+ ldr r0, _08031E54
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x18
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_08031E4A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08031E50: .4byte gUnknown_203B334
+_08031E54: .4byte gUnknown_80E1FA8
+ thumb_func_end sub_8031E10
+
+ thumb_func_start sub_8031E58
+sub_8031E58:
+ push {lr}
+ bl ResetUnusedInputStruct
+ ldr r0, _08031E70
+ ldr r0, [r0]
+ adds r0, 0x18
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08031E70: .4byte gUnknown_203B334
+ thumb_func_end sub_8031E58
+
+ thumb_func_start sub_8031E74
+sub_8031E74:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x3C
+ ldr r3, _08031EC0
+ ldr r5, _08031EC4
+ ldr r2, [r5]
+ ldr r1, [r2]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 4
+ ldr r4, [r3]
+ adds r4, r0
+ ldr r0, [r2, 0x10]
+ bl sub_80073B8
+ ldr r2, _08031EC8
+ ldr r0, [r5]
+ ldr r3, [r0, 0x10]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x14
+ movs r1, 0
+ bl xxx_call_draw_string
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ bl sub_803D2C0
+ movs r7, 0
+ mov r8, r5
+_08031EB2:
+ cmp r7, 0x4
+ ble _08031ED0
+ cmp r7, 0xC
+ bgt _08031ECC
+ movs r6, 0x6
+ movs r5, 0x16
+ b _08031F00
+ .align 2, 0
+_08031EC0: .4byte gUnknown_203B480
+_08031EC4: .4byte gUnknown_203B334
+_08031EC8: .4byte gUnknown_80E1FDC
+_08031ECC:
+ cmp r7, 0x11
+ bgt _08031ED6
+_08031ED0:
+ movs r6, 0x7
+ movs r5, 0x15
+ b _08031F00
+_08031ED6:
+ cmp r7, 0x16
+ ble _08031EE8
+ cmp r7, 0x1E
+ bgt _08031EE4
+ movs r6, 0x6
+ movs r5, 0x25
+ b _08031F00
+_08031EE4:
+ cmp r7, 0x23
+ bgt _08031EEE
+_08031EE8:
+ movs r6, 0x7
+ movs r5, 0x24
+ b _08031F00
+_08031EEE:
+ cmp r7, 0x28
+ ble _08031EFC
+ cmp r7, 0x30
+ bgt _08031EFC
+ movs r6, 0x6
+ movs r5, 0x34
+ b _08031F00
+_08031EFC:
+ movs r6, 0x7
+ movs r5, 0x33
+_08031F00:
+ adds r0, r7, 0
+ movs r1, 0x12
+ bl __modsi3
+ movs r1, 0xB
+ adds r4, r0, 0
+ muls r4, r1
+ adds r4, 0x6
+ mov r0, sp
+ adds r0, r7
+ adds r0, 0x4
+ ldrb r2, [r0]
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r0, [r0, 0x10]
+ str r0, [sp]
+ adds r0, r4, 0
+ adds r1, r5, 0
+ adds r3, r6, 0
+ bl sub_8012C60
+ mov r1, r8
+ ldr r0, [r1]
+ ldr r0, [r0, 0x10]
+ adds r2, r5, 0
+ adds r2, 0xA
+ movs r1, 0x5
+ str r1, [sp]
+ adds r1, r4, 0
+ movs r3, 0xA
+ bl sub_80078A4
+ adds r7, 0x1
+ cmp r7, 0x35
+ ble _08031EB2
+ ldr r0, _08031F5C
+ ldr r0, [r0]
+ ldr r0, [r0, 0x10]
+ bl sub_80073E0
+ add sp, 0x3C
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08031F5C: .4byte gUnknown_203B334
+ thumb_func_end sub_8031E74
+
+ .align 2,0