summaryrefslogtreecommitdiff
path: root/asm/code_8012A18.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/code_8012A18.s')
-rw-r--r--asm/code_8012A18.s14466
1 files changed, 0 insertions, 14466 deletions
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.