summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-06-18 17:56:20 -0500
committerSeth Barberee <seth.barberee@gmail.com>2021-06-18 17:56:20 -0500
commitf1fdcc2b0ade13ad1a4cc7360eac70f27396d26a (patch)
tree3ac5b9f61650299f96095e3d3c09ad771793be08 /asm
parente806b05526bfcc540cb2c1f3165a96e76f6c235d (diff)
more splitting and labeling with some decomp
Diffstat (limited to 'asm')
-rw-r--r--asm/code_801AFA4.s2322
-rw-r--r--asm/code_801B3C0.s2024
-rw-r--r--asm/code_803D110.s6
-rw-r--r--asm/code_80428A0.s2
-rw-r--r--asm/code_8048480.s2
-rw-r--r--asm/code_807001C.s2
-rw-r--r--asm/code_8095014.s3785
-rw-r--r--asm/code_80958E8.s3495
-rw-r--r--asm/items.s8
-rw-r--r--asm/kecleon_items.s6
-rw-r--r--asm/pokemon_3.s (renamed from asm/code_808EAB0.s)0
-rw-r--r--asm/wonder_mail_1.s634
-rw-r--r--asm/wonder_mail_3.s119
13 files changed, 5533 insertions, 6872 deletions
diff --git a/asm/code_801AFA4.s b/asm/code_801AFA4.s
index c966a8c..f966cb0 100644
--- a/asm/code_801AFA4.s
+++ b/asm/code_801AFA4.s
@@ -277,7 +277,7 @@ sub_801B374:
lsrs r0, 24
ldr r1, _0801B3A8
ldr r4, [r1]
- bl sub_80913CC
+ bl GetItemMove
lsls r0, 16
lsrs r6, r0, 16
movs r5, 0
@@ -313,2324 +313,4 @@ _0801B3BA:
bx r1
thumb_func_end sub_801B374
- thumb_func_start sub_801B3C0
-sub_801B3C0:
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x1
- bl ResetSprites
- ldr r4, _0801B40C
- movs r0, 0x94
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- ldr r1, [r5]
- str r1, [r0, 0x4]
- adds r0, 0x88
- bl sub_801317C
- ldr r0, [r4]
- movs r1, 0
- str r1, [r0, 0x24]
- adds r0, 0x28
- bl sub_80140B4
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x28
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- bl sub_801B46C
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801B40C: .4byte gUnknown_203B230
- thumb_func_end sub_801B3C0
-
- thumb_func_start sub_801B410
-sub_801B410:
- push {lr}
- ldr r0, _0801B428
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0801B43C
- cmp r0, 0x1
- bgt _0801B42C
- cmp r0, 0
- beq _0801B436
- b _0801B446
- .align 2, 0
-_0801B428: .4byte gUnknown_203B230
-_0801B42C:
- cmp r0, 0x2
- beq _0801B446
- cmp r0, 0x3
- beq _0801B442
- b _0801B446
-_0801B436:
- bl sub_801B51C
- b _0801B44A
-_0801B43C:
- bl sub_801B590
- b _0801B44A
-_0801B442:
- movs r0, 0x3
- b _0801B44C
-_0801B446:
- movs r0, 0x2
- b _0801B44C
-_0801B44A:
- movs r0, 0
-_0801B44C:
- pop {r1}
- bx r1
- thumb_func_end sub_801B410
-
- thumb_func_start sub_801B450
-sub_801B450:
- push {r4,lr}
- ldr r4, _0801B468
- ldr r0, [r4]
- cmp r0, 0
- beq _0801B462
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801B462:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B468: .4byte gUnknown_203B230
- thumb_func_end sub_801B450
-
- thumb_func_start sub_801B46C
-sub_801B46C:
- push {lr}
- ldr r1, _0801B47C
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801B480
- pop {r0}
- bx r0
- .align 2, 0
-_0801B47C: .4byte gUnknown_203B230
- thumb_func_end sub_801B46C
-
- thumb_func_start sub_801B480
-sub_801B480:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0801B4B0
- ldr r0, [r5]
- ldr r4, [r0]
- cmp r4, 0x1
- beq _0801B4B4
- cmp r4, 0x1
- bgt _0801B50C
- cmp r4, 0
- bne _0801B50C
- ldr r0, [r0, 0x24]
- bl sub_8008C54
- ldr r2, [r5]
- adds r0, r2, 0x4
- ldr r1, [r2, 0x24]
- adds r2, 0x10
- bl sub_80913E0
- ldr r1, [r5]
- str r0, [r1, 0xC]
- str r4, [r1, 0x20]
- b _0801B50C
- .align 2, 0
-_0801B4B0: .4byte gUnknown_203B230
-_0801B4B4:
- ldr r0, [r0, 0x24]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073B8
- ldr r0, [r5]
- ldr r1, [r0, 0x8]
- lsls r1, 2
- adds r0, 0x10
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _0801B514
- ldr r1, [r1]
- bl strcpy
- ldr r2, _0801B518
- ldr r0, [r5]
- ldr r3, [r0, 0x24]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- bl sub_8014FF0
- ldr r3, [r5]
- ldr r1, [r3, 0x8]
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x10
- adds r0, r1
- ldr r0, [r0]
- ldr r2, [r0, 0x4]
- ldr r3, [r3, 0x24]
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x10
- bl sub_8014FF0
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073E0
-_0801B50C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B514: .4byte gAvailablePokemonNames
-_0801B518: .4byte gUnknown_80DBA4C
- thumb_func_end sub_801B480
-
- thumb_func_start sub_801B51C
-sub_801B51C:
- push {r4,lr}
- ldr r0, _0801B558
- ldr r2, [r0]
- ldr r1, [r2, 0xC]
- adds r4, r0, 0
- cmp r1, 0
- beq _0801B540
- ldr r0, [r2, 0x20]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801B538
- bl sub_8013F84
-_0801B538:
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- adds r0, 0x1
- str r0, [r1, 0x20]
-_0801B540:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r1, [r1, 0x24]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801B55C
- cmp r0, 0x2
- beq _0801B57E
- b _0801B58A
- .align 2, 0
-_0801B558: .4byte gUnknown_203B230
-_0801B55C:
- movs r0, 0
- bl PlayMenuSoundEffect
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- cmp r0, 0
- beq _0801B576
- movs r0, 0
- str r0, [r1, 0x8]
- movs r0, 0x1
- bl sub_801B46C
- b _0801B58A
-_0801B576:
- movs r0, 0x3
- bl sub_801B46C
- b _0801B58A
-_0801B57E:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- bl sub_801B46C
-_0801B58A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801B51C
-
- thumb_func_start sub_801B590
-sub_801B590:
- push {r4,lr}
- ldr r0, _0801B5D0
- ldr r3, [r0]
- ldr r1, [r3, 0xC]
- subs r1, 0x1
- ldr r2, [r3, 0x8]
- adds r4, r0, 0
- cmp r2, r1
- bge _0801B5B8
- ldr r0, [r3, 0x20]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801B5B0
- bl sub_8013F84
-_0801B5B0:
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- adds r0, 0x1
- str r0, [r1, 0x20]
-_0801B5B8:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r1, [r1, 0x24]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801B5D4
- cmp r0, 0x2
- beq _0801B5F8
- b _0801B604
- .align 2, 0
-_0801B5D0: .4byte gUnknown_203B230
-_0801B5D4:
- movs r0, 0
- bl PlayMenuSoundEffect
- ldr r0, [r4]
- ldr r1, [r0, 0x8]
- adds r1, 0x1
- str r1, [r0, 0x8]
- ldr r0, [r0, 0xC]
- cmp r1, r0
- bge _0801B5F0
- movs r0, 0x1
- bl sub_801B46C
- b _0801B604
-_0801B5F0:
- movs r0, 0
- bl sub_801B46C
- b _0801B604
-_0801B5F8:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- bl sub_801B46C
-_0801B604:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801B590
-
- thumb_func_start sub_801B60C
-sub_801B60C:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r6, _0801B650
- movs r0, 0xAA
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- adds r2, r0, 0
- adds r2, 0xC8
- movs r1, 0
- str r1, [r2]
- str r5, [r0]
- strb r4, [r0, 0x12]
- ldr r0, [r6]
- ldrb r0, [r0, 0x12]
- bl sub_8090A60
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0801B654
- ldr r0, [r6]
- strb r7, [r0, 0x11]
- ldr r0, [r6]
- strb r7, [r0, 0xC]
- b _0801B65E
- .align 2, 0
-_0801B650: .4byte gUnknown_203B234
-_0801B654:
- ldr r0, [r6]
- strb r1, [r0, 0x11]
- ldr r1, [r6]
- movs r0, 0x1
- strb r0, [r1, 0xC]
-_0801B65E:
- ldr r5, _0801B6A0
- ldr r0, [r5]
- movs r1, 0
- movs r2, 0x1
- strb r2, [r0, 0x10]
- ldr r0, [r5]
- str r1, [r0, 0x14]
- strb r1, [r0, 0x18]
- ldr r0, [r5]
- strb r2, [r0, 0x1C]
- ldr r4, _0801B6A4
- bl sub_808D33C
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r0, _0801B6A8
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x10
- adds r2, 0x14
- bl sub_8090E14
- movs r0, 0
- bl sub_801B748
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801B6A0: .4byte gUnknown_203B234
-_0801B6A4: .4byte gAvailablePokemonNames
-_0801B6A8: .4byte gUnknown_202DE58
- thumb_func_end sub_801B60C
-
- thumb_func_start sub_801B6AC
-sub_801B6AC:
- push {lr}
- ldr r0, _0801B6C4
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- subs r0, 0x6
- cmp r0, 0xA
- bhi _0801B720
- lsls r0, 2
- ldr r1, _0801B6C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801B6C4: .4byte gUnknown_203B234
-_0801B6C8: .4byte _0801B6CC
- .align 2, 0
-_0801B6CC:
- .4byte _0801B6FC
- .4byte _0801B702
- .4byte _0801B708
- .4byte _0801B708
- .4byte _0801B70E
- .4byte _0801B714
- .4byte _0801B71A
- .4byte _0801B720
- .4byte _0801B720
- .4byte _0801B720
- .4byte _0801B6F8
-_0801B6F8:
- movs r0, 0x3
- b _0801B726
-_0801B6FC:
- bl sub_801BC64
- b _0801B724
-_0801B702:
- bl sub_801BC94
- b _0801B724
-_0801B708:
- bl sub_801BCCC
- b _0801B724
-_0801B70E:
- bl sub_801BD80
- b _0801B724
-_0801B714:
- bl sub_801BEAC
- b _0801B724
-_0801B71A:
- bl sub_801BE30
- b _0801B724
-_0801B720:
- bl sub_801BEC8
-_0801B724:
- movs r0, 0
-_0801B726:
- pop {r1}
- bx r1
- thumb_func_end sub_801B6AC
-
- thumb_func_start sub_801B72C
-sub_801B72C:
- push {r4,lr}
- ldr r4, _0801B744
- ldr r0, [r4]
- cmp r0, 0
- beq _0801B73E
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801B73E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B744: .4byte gUnknown_203B234
- thumb_func_end sub_801B72C
-
- thumb_func_start sub_801B748
-sub_801B748:
- push {lr}
- ldr r1, _0801B75C
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_801B760
- bl sub_801B874
- pop {r0}
- bx r0
- .align 2, 0
-_0801B75C: .4byte gUnknown_203B234
- thumb_func_end sub_801B748
-
- thumb_func_start sub_801B760
-sub_801B760:
- push {r4-r7,lr}
- ldr r0, _0801B77C
- ldr r1, [r0]
- ldr r1, [r1, 0x4]
- subs r1, 0x1
- adds r4, r0, 0
- cmp r1, 0xE
- bls _0801B772
- b _0801B86A
-_0801B772:
- lsls r0, r1, 2
- ldr r1, _0801B780
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801B77C: .4byte gUnknown_203B234
-_0801B780: .4byte _0801B784
- .align 2, 0
-_0801B784:
- .4byte _0801B7C0
- .4byte _0801B86A
- .4byte _0801B86A
- .4byte _0801B86A
- .4byte _0801B86A
- .4byte _0801B7C0
- .4byte _0801B7C0
- .4byte _0801B7C0
- .4byte _0801B7C0
- .4byte _0801B800
- .4byte _0801B7C0
- .4byte _0801B840
- .4byte _0801B7C0
- .4byte _0801B7C0
- .4byte _0801B7C0
-_0801B7C0:
- ldr r4, _0801B7F8
- ldr r0, [r4]
- adds r0, 0xF4
- bl sub_8006518
- mov r12, r4
- ldr r4, _0801B7FC
- movs r3, 0
- movs r2, 0x3
-_0801B7D2:
- mov r0, r12
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0xF4
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801B7D2
- bl ResetUnusedInputStruct
- ldr r0, _0801B7F8
- ldr r0, [r0]
- b _0801B82E
- .align 2, 0
-_0801B7F8: .4byte gUnknown_203B234
-_0801B7FC: .4byte gUnknown_80DBA58
-_0801B800:
- ldr r0, [r4]
- adds r0, 0xF4
- bl sub_8006518
- bl sub_801BB5C
- ldr r2, [r4]
- movs r0, 0x92
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801B83C
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0xCC
- bl sub_8012CAC
- bl ResetUnusedInputStruct
- ldr r0, [r4]
-_0801B82E:
- adds r0, 0xF4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- b _0801B86A
- .align 2, 0
-_0801B83C: .4byte gUnknown_80DBA70
-_0801B840:
- ldr r0, [r4]
- adds r0, 0xF4
- bl sub_8006518
- ldr r1, [r4]
- movs r6, 0x86
- lsls r6, 1
- adds r1, r6
- ldr r0, _0801B870
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0xF4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0801B86A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B870: .4byte gUnknown_80DBA88
- thumb_func_end sub_801B760
-
- thumb_func_start sub_801B874
-sub_801B874:
- push {r4,lr}
- sub sp, 0x14
- ldr r1, _0801B890
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r4, r1, 0
- cmp r0, 0x10
- bls _0801B886
- b _0801BB0E
-_0801B886:
- lsls r0, 2
- ldr r1, _0801B894
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801B890: .4byte gUnknown_203B234
-_0801B894: .4byte _0801B898
- .align 2, 0
-_0801B898:
- .4byte _0801B8DC
- .4byte _0801B9BC
- .4byte _0801B9D8
- .4byte _0801B9E0
- .4byte _0801B9F0
- .4byte _0801B9F8
- .4byte _0801BA08
- .4byte _0801BA34
- .4byte _0801BA60
- .4byte _0801BA6E
- .4byte _0801BA76
- .4byte _0801BA94
- .4byte _0801BA9E
- .4byte _0801BAD0
- .4byte _0801BAE0
- .4byte _0801BAFC
- .4byte _0801BB0E
-_0801B8DC:
- ldr r1, [r4]
- ldrb r0, [r1, 0x12]
- cmp r0, 0xEA
- bne _0801B8FE
- movs r0, 0x10
- str r0, [r1, 0x8]
- movs r0, 0
- movs r1, 0x47
- movs r2, 0x1
- bl sub_8001784
- cmp r0, 0
- bne _0801B914
- movs r0, 0
- movs r1, 0x47
- movs r2, 0x1
- b _0801B92A
-_0801B8FE:
- cmp r0, 0xEB
- bne _0801B938
- movs r0, 0x10
- str r0, [r1, 0x8]
- movs r0, 0
- movs r1, 0x47
- movs r2, 0
- bl sub_8001784
- cmp r0, 0
- beq _0801B924
-_0801B914:
- movs r0, 0xFA
- lsls r0, 2
- bl sub_80913A0
- movs r0, 0x4
- bl sub_801B748
- b _0801BB0E
-_0801B924:
- movs r0, 0
- movs r1, 0x47
- movs r2, 0
-_0801B92A:
- movs r3, 0x1
- bl sub_800199C
- movs r0, 0x3
- bl sub_801B748
- b _0801BB0E
-_0801B938:
- bl sub_8090A34
- cmp r0, 0x13
- ble _0801B986
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _0801B968
- ldr r0, _0801B970
- ldr r1, [r0]
- ldr r2, [r4]
- ldrb r0, [r2, 0x12]
- lsls r0, 1
- adds r1, 0x50
- adds r3, r1, r0
- ldrh r1, [r3]
- ldrb r0, [r2, 0xC]
- adds r1, r0
- ldr r0, _0801B974
- cmp r1, r0
- ble _0801B978
-_0801B968:
- ldr r1, [r4]
- movs r0, 0x6
- b _0801B99C
- .align 2, 0
-_0801B970: .4byte gUnknown_203B460
-_0801B974: .4byte 0x000003e7
-_0801B978:
- strh r1, [r3]
- movs r0, 0xCB
- bl PlaySound
- ldr r1, [r4]
- movs r0, 0x5
- b _0801B99C
-_0801B986:
- ldr r0, [r4]
- adds r0, 0x10
- bl sub_8091290
- bl sub_80910B4
- movs r0, 0xCB
- bl PlaySound
- ldr r1, [r4]
- movs r0, 0x10
-_0801B99C:
- str r0, [r1, 0x8]
- ldr r0, _0801B9B0
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0801B9B4
- movs r0, 0x2
- bl sub_801B748
- b _0801BB0E
- .align 2, 0
-_0801B9B0: .4byte gUnknown_203B234
-_0801B9B4:
- movs r0, 0x1
- bl sub_801B748
- b _0801BB0E
-_0801B9BC:
- movs r0, 0
- bl sub_808D544
- cmp r0, 0x1
- bgt _0801B9D0
- ldr r0, _0801B9CC
- b _0801BAE8
- .align 2, 0
-_0801B9CC: .4byte gUnknown_80DBAA0
-_0801B9D0:
- ldr r0, _0801B9D4
- b _0801BAE8
- .align 2, 0
-_0801B9D4: .4byte gUnknown_80DBAD0
-_0801B9D8:
- ldr r0, _0801B9DC
- b _0801BAE8
- .align 2, 0
-_0801B9DC: .4byte gUnknown_80DBB08
-_0801B9E0:
- movs r0, 0xD4
- bl PlaySound
- ldr r0, _0801B9EC
- b _0801BAE8
- .align 2, 0
-_0801B9EC: .4byte gUnknown_80DBB38
-_0801B9F0:
- ldr r0, _0801B9F4
- b _0801BAE8
- .align 2, 0
-_0801B9F4: .4byte gUnknown_80DBB9C
-_0801B9F8:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0801BA04
- b _0801BAE8
- .align 2, 0
-_0801BA04: .4byte gUnknown_80DBC28
-_0801BA08:
- bl sub_801BB20
- ldr r0, _0801BA2C
- ldr r1, _0801BA30
- ldr r3, [r1]
- adds r3, 0xCC
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0
- movs r2, 0x4
- bl sub_8014248
- b _0801BB0E
- .align 2, 0
-_0801BA2C: .4byte gUnknown_80DBC60
-_0801BA30: .4byte gUnknown_203B234
-_0801BA34:
- bl sub_801BC24
- ldr r0, _0801BA58
- ldr r1, _0801BA5C
- ldr r3, [r1]
- adds r3, 0xCC
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- b _0801BB0E
- .align 2, 0
-_0801BA58: .4byte gUnknown_80DBC98
-_0801BA5C: .4byte gUnknown_203B234
-_0801BA60:
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _0801BB0E
-_0801BA6E:
- movs r0, 0x1
- bl sub_801A8D0
- b _0801BB0E
-_0801BA76:
- bl sub_801A9E0
- ldr r0, _0801BA90
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x28
- adds r1, r2, 0
- adds r1, 0xCC
- adds r2, 0xC8
- ldr r2, [r2]
- str r2, [sp]
- movs r2, 0x2
- b _0801BAC0
- .align 2, 0
-_0801BA90: .4byte gUnknown_203B234
-_0801BA94:
- ldr r0, [r4]
- adds r0, 0x20
- bl sub_801B3C0
- b _0801BB0E
-_0801BA9E:
- bl sub_801A9E0
- ldr r4, _0801BACC
- ldr r0, [r4]
- adds r0, 0x28
- movs r1, 0
- bl sub_8012EA4
- bl sub_801BC24
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x78
- adds r1, 0xCC
- movs r2, 0x3
- str r2, [sp]
- movs r2, 0x1
-_0801BAC0:
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0801BB0E
- .align 2, 0
-_0801BACC: .4byte gUnknown_203B234
-_0801BAD0:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0801BADC
- b _0801BAE8
- .align 2, 0
-_0801BADC: .4byte gUnknown_80DBCC4
-_0801BAE0:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0801BAF4
-_0801BAE8:
- ldr r3, _0801BAF8
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0801BB0E
- .align 2, 0
-_0801BAF4: .4byte gUnknown_80DBCE8
-_0801BAF8: .4byte 0x00000101
-_0801BAFC:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0801BB18
- ldr r3, _0801BB1C
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0801BB0E:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801BB18: .4byte gUnknown_80DBD24
-_0801BB1C: .4byte 0x00000101
- thumb_func_end sub_801B874
-
- thumb_func_start sub_801BB20
-sub_801BB20:
- ldr r0, _0801BB50
- ldr r3, [r0]
- movs r2, 0
- adds r1, r3, 0
- adds r1, 0xCC
- ldr r0, _0801BB54
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x4
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0801BB58
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x5
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0xDC
- str r2, [r0]
- adds r1, 0x8
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- bx lr
- .align 2, 0
-_0801BB50: .4byte gUnknown_203B234
-_0801BB54: .4byte gKangaskhanTrashToolboxItem
-_0801BB58: .4byte gKangaskhanTrashReceivedItem
- thumb_func_end sub_801BB20
-
- thumb_func_start sub_801BB5C
-sub_801BB5C:
- push {r4-r7,lr}
- ldr r4, _0801BBEC
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xCC
- ldr r0, _0801BBF0
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x6
- str r0, [r1]
- ldr r0, [r2, 0x24]
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- bne _0801BB86
- ldr r0, [r4]
- adds r0, 0xD0
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_0801BB86:
- ldr r0, [r4]
- mov r12, r0
- movs r3, 0x1
- movs r2, 0x8
- mov r1, r12
- adds r1, 0xD4
- ldr r0, _0801BBF4
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x7
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0801BBF8
- ldr r0, [r0]
- str r0, [r1]
- mov r0, r12
- adds r0, 0xE0
- str r2, [r0]
- movs r5, 0x3
- adds r1, 0x8
- movs r0, 0
- str r0, [r1]
- mov r0, r12
- adds r0, 0xE8
- str r3, [r0]
- movs r3, 0
- adds r6, r4, 0
- movs r7, 0x1
- negs r7, r7
- mov r4, r12
- adds r4, 0xC8
- subs r1, 0x14
-_0801BBC6:
- ldr r2, [r1]
- cmp r2, r7
- beq _0801BBD2
- ldr r0, [r4]
- cmp r2, r0
- beq _0801BC1C
-_0801BBD2:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, r5
- blt _0801BBC6
- movs r3, 0
- cmp r3, r5
- bge _0801BC1C
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0xD0
- ldr r1, [r0]
- b _0801BC0E
- .align 2, 0
-_0801BBEC: .4byte gUnknown_203B234
-_0801BBF0: .4byte gKangaskhanStorage
-_0801BBF4: .4byte gKangaskhanTrash
-_0801BBF8: .4byte gUnknown_80D4970
-_0801BBFC:
- adds r3, 0x1
- cmp r3, r5
- bge _0801BC1C
- ldr r2, [r6]
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0xD0
- adds r1, r0
- ldr r1, [r1]
-_0801BC0E:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0801BBFC
- adds r0, r2, 0
- adds r0, 0xC8
- str r1, [r0]
-_0801BC1C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801BB5C
-
- thumb_func_start sub_801BC24
-sub_801BC24:
- ldr r0, _0801BC58
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0
- mov r1, r12
- adds r1, 0xCC
- ldr r0, _0801BC5C
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _0801BC60
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x3
- str r0, [r1]
- mov r0, r12
- adds r0, 0xDC
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- bx lr
- .align 2, 0
-_0801BC58: .4byte gUnknown_203B234
-_0801BC5C: .4byte gUnknown_80D4920
-_0801BC60: .4byte gUnknown_80D4928
- thumb_func_end sub_801BC24
-
- thumb_func_start sub_801BC64
-sub_801BC64:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801BC8C
- ldr r0, [sp]
- cmp r0, 0x4
- beq _0801BC7E
- cmp r0, 0x5
- beq _0801BC86
- b _0801BC8C
-_0801BC7E:
- movs r0, 0x8
- bl sub_801B748
- b _0801BC8C
-_0801BC86:
- movs r0, 0x7
- bl sub_801B748
-_0801BC8C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_801BC64
-
- thumb_func_start sub_801BC94
-sub_801BC94:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801BCC6
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801BCB8
- cmp r0, 0x2
- bgt _0801BCB2
- cmp r0, 0x1
- beq _0801BCC0
- b _0801BCC6
-_0801BCB2:
- cmp r0, 0x3
- beq _0801BCC0
- b _0801BCC6
-_0801BCB8:
- movs r0, 0xD
- bl sub_801B748
- b _0801BCC6
-_0801BCC0:
- movs r0, 0x6
- bl sub_801B748
-_0801BCC6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_801BC94
-
- thumb_func_start sub_801BCCC
-sub_801BCCC:
- push {lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _0801BD7A
- lsls r0, 2
- ldr r1, _0801BCE4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801BCE4: .4byte _0801BCE8
- .align 2, 0
-_0801BCE8:
- .4byte _0801BD7A
- .4byte _0801BD7A
- .4byte _0801BD70
- .4byte _0801BCFC
- .4byte _0801BD34
-_0801BCFC:
- bl sub_801A8AC
- ldr r1, _0801BD28
- ldr r2, [r1]
- str r0, [r2, 0x24]
- ldr r1, _0801BD2C
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x20]
- ldr r0, _0801BD30
- adds r1, r2, 0
- adds r1, 0x20
- adds r2, 0x14
- bl sub_8090E14
- movs r0, 0xA
- bl sub_801B748
- b _0801BD7A
- .align 2, 0
-_0801BD28: .4byte gUnknown_203B234
-_0801BD2C: .4byte gUnknown_203B460
-_0801BD30: .4byte gUnknown_202DEA8
-_0801BD34:
- bl sub_801A8AC
- ldr r1, _0801BD64
- ldr r2, [r1]
- str r0, [r2, 0x24]
- ldr r1, _0801BD68
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x20]
- ldr r0, _0801BD6C
- adds r1, r2, 0
- adds r1, 0x20
- adds r2, 0x14
- bl sub_8090E14
- movs r0, 0
- bl sub_8099690
- movs r0, 0xB
- bl sub_801B748
- b _0801BD7A
- .align 2, 0
-_0801BD64: .4byte gUnknown_203B234
-_0801BD68: .4byte gUnknown_203B460
-_0801BD6C: .4byte gUnknown_202DEA8
-_0801BD70:
- bl sub_801A928
- movs r0, 0x6
- bl sub_801B748
-_0801BD7A:
- pop {r0}
- bx r0
- thumb_func_end sub_801BCCC
-
- thumb_func_start sub_801BD80
-sub_801BD80:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _0801BDC4
- ldr r0, [r4]
- adds r0, 0x28
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801BDB2
- ldr r0, [r4]
- adds r0, 0x28
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0801BDB2
- ldr r0, [r4]
- adds r0, 0xC8
- str r1, [r0]
-_0801BDB2:
- ldr r0, [sp]
- cmp r0, 0x6
- beq _0801BDD2
- cmp r0, 0x6
- bgt _0801BDC8
- cmp r0, 0x1
- beq _0801BE22
- b _0801BE28
- .align 2, 0
-_0801BDC4: .4byte gUnknown_203B234
-_0801BDC8:
- cmp r0, 0x7
- beq _0801BE0C
- cmp r0, 0x8
- beq _0801BE14
- b _0801BE28
-_0801BDD2:
- ldr r4, _0801BE08
- ldr r0, [r4]
- adds r0, 0x20
- bl sub_80917B8
- ldr r0, [r4]
- ldr r0, [r0, 0x24]
- bl sub_80911F8
- ldr r0, [r4]
- adds r0, 0x10
- bl sub_8091290
- bl sub_80910B4
- movs r0, 0xCB
- bl PlaySound
- movs r0, 0
- bl sub_8099690
- bl sub_801A928
- movs r0, 0xE
- bl sub_801B748
- b _0801BE28
- .align 2, 0
-_0801BE08: .4byte gUnknown_203B234
-_0801BE0C:
- movs r0, 0xC
- bl sub_801B748
- b _0801BE28
-_0801BE14:
- movs r0, 0
- bl sub_8099690
- movs r0, 0xB
- bl sub_801B748
- b _0801BE28
-_0801BE22:
- movs r0, 0x9
- bl sub_801B748
-_0801BE28:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801BD80
-
- thumb_func_start sub_801BE30
-sub_801BE30:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _0801BE70
- ldr r0, [r4]
- adds r0, 0x28
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801BE5E
- ldr r0, [r4]
- adds r0, 0x78
- mov r1, sp
- bl sub_8013114
-_0801BE5E:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801BE80
- cmp r0, 0x2
- bgt _0801BE74
- cmp r0, 0x1
- beq _0801BE78
- b _0801BEA4
- .align 2, 0
-_0801BE70: .4byte gUnknown_203B234
-_0801BE74:
- cmp r0, 0x3
- bne _0801BEA4
-_0801BE78:
- movs r0, 0x9
- bl sub_801B748
- b _0801BEA4
-_0801BE80:
- ldr r0, [r4]
- ldr r0, [r0, 0x24]
- bl sub_80911F8
- ldr r0, [r4]
- adds r0, 0x10
- bl sub_8091290
- bl sub_80910B4
- movs r0, 0xCB
- bl PlaySound
- bl sub_801A928
- movs r0, 0xF
- bl sub_801B748
-_0801BEA4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801BE30
-
- thumb_func_start sub_801BEAC
-sub_801BEAC:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _0801BEC4
- cmp r0, 0x3
- bhi _0801BEC4
- bl sub_801B450
- movs r0, 0x9
- bl sub_801B748
-_0801BEC4:
- pop {r0}
- bx r0
- thumb_func_end sub_801BEAC
-
- thumb_func_start sub_801BEC8
-sub_801BEC8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801BEE0
- ldr r0, _0801BEE8
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_801B748
-_0801BEE0:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0801BEE8: .4byte gUnknown_203B234
- thumb_func_end sub_801BEC8
-
- thumb_func_start sub_801BEEC
-sub_801BEEC:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- adds r0, r5, 0
- bl sub_801C5F0
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _0801BF40
- ldr r4, _0801BF38
- movs r0, 0x92
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- str r6, [r0, 0x30]
- strh r5, [r0, 0x4]
- ldr r3, _0801BF3C
- movs r1, 0x58
- adds r2, r5, 0
- muls r2, r1
- ldr r1, [r3]
- adds r1, r2
- str r1, [r0, 0x8]
- adds r0, 0xC
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- bl sub_808EBA8
- ldr r1, [r4]
- str r0, [r1, 0x2C]
- movs r0, 0
- bl sub_801BFB4
- movs r0, 0x1
- b _0801BF42
- .align 2, 0
-_0801BF38: .4byte gUnknown_203B238
-_0801BF3C: .4byte gRecruitedPokemonRef
-_0801BF40:
- movs r0, 0
-_0801BF42:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801BEEC
-
- thumb_func_start sub_801BF48
-sub_801BF48:
- push {lr}
- ldr r0, _0801BF60
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x4
- bhi _0801BF90
- lsls r0, 2
- ldr r1, _0801BF64
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801BF60: .4byte gUnknown_203B238
-_0801BF64: .4byte _0801BF68
- .align 2, 0
-_0801BF68:
- .4byte _0801BF80
- .4byte _0801BF80
- .4byte _0801BF86
- .4byte _0801BF8C
- .4byte _0801BF7C
-_0801BF7C:
- movs r0, 0x3
- b _0801BF92
-_0801BF80:
- bl sub_801C118
- b _0801BF90
-_0801BF86:
- bl sub_801C1A0
- b _0801BF90
-_0801BF8C:
- bl sub_801C228
-_0801BF90:
- movs r0, 0
-_0801BF92:
- pop {r1}
- bx r1
- thumb_func_end sub_801BF48
-
- thumb_func_start sub_801BF98
-sub_801BF98:
- push {r4,lr}
- ldr r4, _0801BFB0
- ldr r0, [r4]
- cmp r0, 0
- beq _0801BFAA
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801BFAA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801BFB0: .4byte gUnknown_203B238
- thumb_func_end sub_801BF98
-
- thumb_func_start sub_801BFB4
-sub_801BFB4:
- push {lr}
- ldr r1, _0801BFC8
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801BFCC
- bl sub_801C03C
- pop {r0}
- bx r0
- .align 2, 0
-_0801BFC8: .4byte gUnknown_203B238
- thumb_func_end sub_801BFB4
-
- thumb_func_start sub_801BFCC
-sub_801BFCC:
- push {r4-r7,lr}
- ldr r4, _0801BFF0
- ldr r0, [r4]
- adds r0, 0xC4
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x2
- bne _0801BFF8
- adds r1, 0xF4
- ldr r0, _0801BFF4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _0801C01A
- .align 2, 0
-_0801BFF0: .4byte gUnknown_203B238
-_0801BFF4: .4byte gUnknown_80DBDB0
-_0801BFF8:
- mov r12, r4
- ldr r4, _0801C034
- movs r3, 0
- movs r2, 0x3
-_0801C000:
- mov r0, r12
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0xC4
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801C000
-_0801C01A:
- bl ResetUnusedInputStruct
- ldr r0, _0801C038
- ldr r0, [r0]
- adds r0, 0xC4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C034: .4byte gUnknown_80DBD98
-_0801C038: .4byte gUnknown_203B238
- thumb_func_end sub_801BFCC
-
- thumb_func_start sub_801C03C
-sub_801C03C:
- push {lr}
- sub sp, 0x8
- ldr r1, _0801C058
- ldr r0, [r1]
- ldr r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _0801C0C2
- lsls r0, 2
- ldr r1, _0801C05C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801C058: .4byte gUnknown_203B238
-_0801C05C: .4byte _0801C060
- .align 2, 0
-_0801C060:
- .4byte _0801C074
- .4byte _0801C084
- .4byte _0801C08C
- .4byte _0801C0B8
- .4byte _0801C0C2
-_0801C074:
- ldr r0, [r2]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- movs r1, 0
- movs r2, 0x8
- bl sub_801C244
- b _0801C0C2
-_0801C084:
- movs r0, 0x1
- bl sub_801C3B0
- b _0801C0C2
-_0801C08C:
- bl sub_801C4C8
- bl sub_801C0C8
- ldr r0, _0801C0B4
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x74
- adds r1, r2, 0
- adds r1, 0x34
- ldr r2, [r2, 0x30]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0801C0C2
- .align 2, 0
-_0801C0B4: .4byte gUnknown_203B238
-_0801C0B8:
- ldr r0, [r2]
- adds r0, 0x28
- ldrb r0, [r0]
- bl sub_801C620
-_0801C0C2:
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_801C03C
-
- thumb_func_start sub_801C0C8
-sub_801C0C8:
- push {r4,r5,lr}
- ldr r3, _0801C10C
- ldr r1, [r3]
- movs r4, 0
- ldr r0, _0801C110
- str r0, [r1, 0x34]
- movs r0, 0x2
- str r0, [r1, 0x38]
- movs r2, 0x1
- ldr r0, _0801C114
- ldr r0, [r0]
- str r0, [r1, 0x3C]
- movs r0, 0x3
- str r0, [r1, 0x40]
- movs r5, 0x2
- str r4, [r1, 0x44]
- str r2, [r1, 0x48]
- movs r2, 0
- ldr r4, [r1, 0x30]
- adds r1, 0x38
-_0801C0F0:
- ldr r0, [r1]
- cmp r0, r4
- beq _0801C104
- adds r1, 0x8
- adds r2, 0x1
- cmp r2, r5
- blt _0801C0F0
- ldr r1, [r3]
- movs r0, 0x2
- str r0, [r1, 0x30]
-_0801C104:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C10C: .4byte gUnknown_203B238
-_0801C110: .4byte gUnknown_80DBDC8
-_0801C114: .4byte gUnknown_80D4970
- thumb_func_end sub_801C0C8
-
- thumb_func_start sub_801C118
-sub_801C118:
- push {lr}
- movs r0, 0x1
- bl sub_801C308
- cmp r0, 0x4
- bhi _0801C19A
- lsls r0, 2
- ldr r1, _0801C130
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801C130: .4byte _0801C134
- .align 2, 0
-_0801C134:
- .4byte _0801C19A
- .4byte _0801C19A
- .4byte _0801C190
- .4byte _0801C148
- .4byte _0801C16C
-_0801C148:
- bl sub_801C390
- ldr r1, _0801C168
- ldr r2, [r1]
- str r0, [r2, 0x24]
- adds r1, r2, 0
- adds r1, 0xC
- adds r1, r0
- ldrb r0, [r1]
- adds r2, 0x28
- strb r0, [r2]
- movs r0, 0x2
- bl sub_801BFB4
- b _0801C19A
- .align 2, 0
-_0801C168: .4byte gUnknown_203B238
-_0801C16C:
- bl sub_801C390
- ldr r1, _0801C18C
- ldr r2, [r1]
- str r0, [r2, 0x24]
- adds r1, r2, 0
- adds r1, 0xC
- adds r1, r0
- ldrb r0, [r1]
- adds r2, 0x28
- strb r0, [r2]
- movs r0, 0x3
- bl sub_801BFB4
- b _0801C19A
- .align 2, 0
-_0801C18C: .4byte gUnknown_203B238
-_0801C190:
- bl sub_801C3F8
- movs r0, 0x4
- bl sub_801BFB4
-_0801C19A:
- pop {r0}
- bx r0
- thumb_func_end sub_801C118
-
- thumb_func_start sub_801C1A0
-sub_801C1A0:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801C308
- ldr r4, _0801C1E0
- ldr r0, [r4]
- adds r0, 0x74
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801C1D0
- ldr r0, [r4]
- adds r0, 0x74
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0801C1D0
- ldr r0, [r4]
- str r1, [r0, 0x30]
-_0801C1D0:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801C1EA
- cmp r0, 0x2
- bgt _0801C1E4
- cmp r0, 0x1
- beq _0801C218
- b _0801C21E
- .align 2, 0
-_0801C1E0: .4byte gUnknown_203B238
-_0801C1E4:
- cmp r0, 0x3
- beq _0801C210
- b _0801C21E
-_0801C1EA:
- ldr r0, _0801C208
- bl PlaySound
- ldr r0, _0801C20C
- ldr r1, [r0]
- ldr r0, [r1, 0x8]
- adds r0, 0x20
- adds r1, 0x28
- ldrb r1, [r1]
- bl sub_808EBF4
- movs r0, 0x1
- bl sub_801BFB4
- b _0801C21E
- .align 2, 0
-_0801C208: .4byte 0x00000133
-_0801C20C: .4byte gUnknown_203B238
-_0801C210:
- movs r0, 0x3
- bl sub_801BFB4
- b _0801C21E
-_0801C218:
- movs r0, 0x1
- bl sub_801BFB4
-_0801C21E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801C1A0
-
- thumb_func_start sub_801C228
-sub_801C228:
- push {lr}
- bl sub_801C674
- cmp r0, 0x1
- bls _0801C240
- cmp r0, 0x3
- bhi _0801C240
- bl sub_801C6B4
- movs r0, 0x1
- bl sub_801BFB4
-_0801C240:
- pop {r0}
- bx r0
- thumb_func_end sub_801C228
-
- thumb_func_start sub_801C244
-sub_801C244:
- push {r4-r7,lr}
- adds r6, r1, 0
- adds r7, r2, 0
- lsls r0, 16
- asrs r0, 16
- adds r4, r0, 0
- bl sub_801C5F0
- lsls r0, 24
- cmp r0, 0
- beq _0801C25E
- movs r0, 0
- b _0801C2F6
-_0801C25E:
- ldr r5, _0801C2FC
- ldr r0, [r5]
- cmp r0, 0
- bne _0801C270
- movs r0, 0xC4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
-_0801C270:
- ldr r0, [r5]
- strh r4, [r0]
- ldr r3, _0801C300
- movs r1, 0x58
- adds r2, r4, 0
- muls r2, r1
- ldr r1, [r3]
- adds r1, r2
- str r1, [r0, 0x4]
- adds r0, 0x8
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- bl sub_808EBA8
- adds r1, r0, 0
- ldr r0, [r5]
- str r1, [r0, 0x20]
- str r6, [r0, 0x58]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x60
- adds r1, r0, r1
- str r1, [r0, 0x5C]
- adds r0, 0x60
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x58]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x60
- ldr r0, _0801C304
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r1, [r5]
- ldr r0, [r1, 0x5C]
- adds r1, 0xC0
- str r1, [r0, 0x14]
- adds r1, r7, 0
- bl sub_8012D08
- bl ResetUnusedInputStruct
- ldr r0, [r5]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x20]
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_8013818
- bl sub_801C440
- bl sub_801C4C8
- movs r0, 0x1
-_0801C2F6:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801C2FC: .4byte gUnknown_203B23C
-_0801C300: .4byte gRecruitedPokemonRef
-_0801C304: .4byte gUnknown_80DBDF0
- thumb_func_end sub_801C244
-
- thumb_func_start sub_801C308
-sub_801C308:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0801C324
- ldr r0, _0801C320
- ldr r0, [r0]
- adds r0, 0x24
- bl sub_8013660
- movs r0, 0
- b _0801C38A
- .align 2, 0
-_0801C320: .4byte gUnknown_203B23C
-_0801C324:
- ldr r0, _0801C33C
- ldr r0, [r0]
- adds r0, 0x24
- bl GetKeyPress
- cmp r0, 0x2
- beq _0801C346
- cmp r0, 0x2
- bgt _0801C340
- cmp r0, 0x1
- beq _0801C350
- b _0801C364
- .align 2, 0
-_0801C33C: .4byte gUnknown_203B23C
-_0801C340:
- cmp r0, 0x4
- beq _0801C35A
- b _0801C364
-_0801C346:
- movs r0, 0x1
- bl PlayMenuSoundEffect
- movs r0, 0x2
- b _0801C38A
-_0801C350:
- movs r0, 0
- bl PlayMenuSoundEffect
- movs r0, 0x3
- b _0801C38A
-_0801C35A:
- movs r0, 0x4
- bl PlayMenuSoundEffect
- movs r0, 0x4
- b _0801C38A
-_0801C364:
- ldr r0, _0801C37C
- ldr r0, [r0]
- adds r0, 0x24
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801C380
- movs r0, 0
- b _0801C38A
- .align 2, 0
-_0801C37C: .4byte gUnknown_203B23C
-_0801C380:
- bl sub_801C440
- bl sub_801C4C8
- movs r0, 0x1
-_0801C38A:
- pop {r1}
- bx r1
- thumb_func_end sub_801C308
-
- thumb_func_start sub_801C390
-sub_801C390:
- ldr r0, _0801C3AC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- movs r3, 0x3C
- ldrsh r1, [r2, r3]
- adds r0, r1
- bx lr
- .align 2, 0
-_0801C3AC: .4byte gUnknown_203B23C
- thumb_func_end sub_801C390
-
- thumb_func_start sub_801C3B0
-sub_801C3B0:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ResetUnusedInputStruct
- ldr r5, _0801C3F4
- ldr r0, [r5]
- adds r0, 0x60
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- ldr r1, [r0, 0x20]
- adds r2, r0, 0
- adds r2, 0x46
- strh r1, [r2]
- adds r0, 0x24
- bl sub_8013984
- bl sub_801C440
- bl sub_801C4C8
- cmp r4, 0
- beq _0801C3EE
- ldr r0, [r5]
- adds r0, 0x24
- bl AddMenuCursorSprite
-_0801C3EE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C3F4: .4byte gUnknown_203B23C
- thumb_func_end sub_801C3B0
-
- thumb_func_start sub_801C3F8
-sub_801C3F8:
- push {r4,r5,lr}
- ldr r4, _0801C438
- ldr r2, [r4]
- cmp r2, 0
- beq _0801C432
- ldr r0, [r2, 0x58]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x60
- ldr r0, _0801C43C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801C432:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C438: .4byte gUnknown_203B23C
-_0801C43C: .4byte gUnknown_80DBDD8
- thumb_func_end sub_801C3F8
-
- thumb_func_start sub_801C440
-sub_801C440:
- push {r4,lr}
- ldr r4, _0801C4C4
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x44
- ldrh r1, [r1]
- adds r0, 0xC0
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x42
- ldrh r1, [r1]
- adds r0, 0xC1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC2
- movs r1, 0xA
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC3
- strb r2, [r0]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x3E
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- ldr r2, [r4]
- ldr r3, [r2, 0x58]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x6E
- lsls r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r3, [r2, 0x58]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r2, r1
- adds r2, 0x70
- strh r0, [r2]
- bl ResetUnusedInputStruct
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C4C4: .4byte gUnknown_203B23C
- thumb_func_end sub_801C440
-
- thumb_func_start sub_801C4C8
-sub_801C4C8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r6, _0801C594
- ldr r0, [r6]
- ldr r0, [r0, 0x58]
- bl sub_8008C54
- ldr r0, [r6]
- ldr r0, [r0, 0x58]
- bl sub_80073B8
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x42
- movs r2, 0
- ldrsh r4, [r1, r2]
- lsls r4, 3
- adds r5, r4, 0
- adds r5, 0xA
- ldr r2, _0801C598
- ldr r3, [r0, 0x58]
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl xxx_call_draw_string
- adds r4, 0x4
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xC2
- ldrb r0, [r0]
- lsls r0, 3
- adds r5, r4, r0
- adds r0, r1, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r2, [r0, r3]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- ldr r0, [r1, 0x58]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x1
- bl sub_8012BC4
- movs r5, 0
- ldr r0, [r6]
- movs r1, 0x3E
- ldrsh r0, [r0, r1]
- cmp r5, r0
- bge _0801C5CC
- ldr r2, _0801C59C
- mov r8, r2
-_0801C53C:
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r1, r0
- adds r1, r5
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1
- ldrb r4, [r0]
- adds r0, r2, 0
- adds r0, 0x24
- adds r1, r5, 0
- bl sub_8013800
- adds r7, r0, 0
- adds r0, r4, 0
- bl GetIQSkillName
- adds r1, r0, 0
- mov r0, r8
- movs r2, 0x50
- bl strncpy
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, 0x20
- movs r1, 0x1
- lsls r1, r4
- bl sub_808ECD0
- lsls r0, 24
- cmp r0, 0
- beq _0801C5A4
- mov r0, r8
- subs r0, 0x50
- ldr r1, _0801C5A0
- bl strcpy
- b _0801C5AE
- .align 2, 0
-_0801C594: .4byte gUnknown_203B23C
-_0801C598: .4byte gUnknown_80DBE08
-_0801C59C: .4byte gUnknown_202DEA8
-_0801C5A0: .4byte gUnknown_80DBE14
-_0801C5A4:
- mov r0, r8
- subs r0, 0x50
- ldr r1, _0801C5E4
- bl strcpy
-_0801C5AE:
- ldr r0, [r6]
- ldr r3, [r0, 0x58]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- adds r1, r7, 0
- ldr r2, _0801C5E8
- bl sub_8014FF0
- adds r5, 0x1
- ldr r0, [r6]
- movs r1, 0x3E
- ldrsh r0, [r0, r1]
- cmp r5, r0
- blt _0801C53C
-_0801C5CC:
- ldr r0, _0801C5EC
- ldr r0, [r0]
- ldr r0, [r0, 0x58]
- bl sub_80073E0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C5E4: .4byte gUnknown_80DBE18
-_0801C5E8: .4byte gUnknown_80DBE1C
-_0801C5EC: .4byte gUnknown_203B23C
- thumb_func_end sub_801C4C8
-
- thumb_func_start sub_801C5F0
-sub_801C5F0:
- push {lr}
- sub sp, 0x18
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0801C614
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x14
- ldrsh r1, [r0, r2]
- mov r0, sp
- bl sub_808EBA8
- cmp r0, 0
- beq _0801C618
- movs r0, 0
- b _0801C61A
- .align 2, 0
-_0801C614: .4byte gRecruitedPokemonRef
-_0801C618:
- movs r0, 0x1
-_0801C61A:
- add sp, 0x18
- pop {r1}
- bx r1
- thumb_func_end sub_801C5F0
-
.align 2,0
diff --git a/asm/code_801B3C0.s b/asm/code_801B3C0.s
new file mode 100644
index 0000000..9d9fddc
--- /dev/null
+++ b/asm/code_801B3C0.s
@@ -0,0 +1,2024 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+
+ thumb_func_start sub_801B60C
+sub_801B60C:
+ push {r4-r7,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r2, 24
+ lsrs r7, r2, 24
+ ldr r6, _0801B650
+ movs r0, 0xAA
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r6]
+ adds r2, r0, 0
+ adds r2, 0xC8
+ movs r1, 0
+ str r1, [r2]
+ str r5, [r0]
+ strb r4, [r0, 0x12]
+ ldr r0, [r6]
+ ldrb r0, [r0, 0x12]
+ bl sub_8090A60
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ beq _0801B654
+ ldr r0, [r6]
+ strb r7, [r0, 0x11]
+ ldr r0, [r6]
+ strb r7, [r0, 0xC]
+ b _0801B65E
+ .align 2, 0
+_0801B650: .4byte gUnknown_203B234
+_0801B654:
+ ldr r0, [r6]
+ strb r1, [r0, 0x11]
+ ldr r1, [r6]
+ movs r0, 0x1
+ strb r0, [r1, 0xC]
+_0801B65E:
+ ldr r5, _0801B6A0
+ ldr r0, [r5]
+ movs r1, 0
+ movs r2, 0x1
+ strb r2, [r0, 0x10]
+ ldr r0, [r5]
+ str r1, [r0, 0x14]
+ strb r1, [r0, 0x18]
+ ldr r0, [r5]
+ strb r2, [r0, 0x1C]
+ ldr r4, _0801B6A4
+ bl sub_808D33C
+ adds r1, r0, 0
+ adds r0, r4, 0
+ movs r2, 0x6
+ bl sub_808D9AC
+ ldr r0, _0801B6A8
+ ldr r2, [r5]
+ adds r1, r2, 0
+ adds r1, 0x10
+ adds r2, 0x14
+ bl sub_8090E14
+ movs r0, 0
+ bl sub_801B748
+ movs r0, 0x1
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801B6A0: .4byte gUnknown_203B234
+_0801B6A4: .4byte gAvailablePokemonNames
+_0801B6A8: .4byte gUnknown_202DE58
+ thumb_func_end sub_801B60C
+
+ thumb_func_start sub_801B6AC
+sub_801B6AC:
+ push {lr}
+ ldr r0, _0801B6C4
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ subs r0, 0x6
+ cmp r0, 0xA
+ bhi _0801B720
+ lsls r0, 2
+ ldr r1, _0801B6C8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801B6C4: .4byte gUnknown_203B234
+_0801B6C8: .4byte _0801B6CC
+ .align 2, 0
+_0801B6CC:
+ .4byte _0801B6FC
+ .4byte _0801B702
+ .4byte _0801B708
+ .4byte _0801B708
+ .4byte _0801B70E
+ .4byte _0801B714
+ .4byte _0801B71A
+ .4byte _0801B720
+ .4byte _0801B720
+ .4byte _0801B720
+ .4byte _0801B6F8
+_0801B6F8:
+ movs r0, 0x3
+ b _0801B726
+_0801B6FC:
+ bl sub_801BC64
+ b _0801B724
+_0801B702:
+ bl sub_801BC94
+ b _0801B724
+_0801B708:
+ bl sub_801BCCC
+ b _0801B724
+_0801B70E:
+ bl sub_801BD80
+ b _0801B724
+_0801B714:
+ bl sub_801BEAC
+ b _0801B724
+_0801B71A:
+ bl sub_801BE30
+ b _0801B724
+_0801B720:
+ bl sub_801BEC8
+_0801B724:
+ movs r0, 0
+_0801B726:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801B6AC
+
+ thumb_func_start sub_801B72C
+sub_801B72C:
+ push {r4,lr}
+ ldr r4, _0801B744
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0801B73E
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801B73E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801B744: .4byte gUnknown_203B234
+ thumb_func_end sub_801B72C
+
+ thumb_func_start sub_801B748
+sub_801B748:
+ push {lr}
+ ldr r1, _0801B75C
+ ldr r1, [r1]
+ str r0, [r1, 0x4]
+ bl sub_801B760
+ bl sub_801B874
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801B75C: .4byte gUnknown_203B234
+ thumb_func_end sub_801B748
+
+ thumb_func_start sub_801B760
+sub_801B760:
+ push {r4-r7,lr}
+ ldr r0, _0801B77C
+ ldr r1, [r0]
+ ldr r1, [r1, 0x4]
+ subs r1, 0x1
+ adds r4, r0, 0
+ cmp r1, 0xE
+ bls _0801B772
+ b _0801B86A
+_0801B772:
+ lsls r0, r1, 2
+ ldr r1, _0801B780
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801B77C: .4byte gUnknown_203B234
+_0801B780: .4byte _0801B784
+ .align 2, 0
+_0801B784:
+ .4byte _0801B7C0
+ .4byte _0801B86A
+ .4byte _0801B86A
+ .4byte _0801B86A
+ .4byte _0801B86A
+ .4byte _0801B7C0
+ .4byte _0801B7C0
+ .4byte _0801B7C0
+ .4byte _0801B7C0
+ .4byte _0801B800
+ .4byte _0801B7C0
+ .4byte _0801B840
+ .4byte _0801B7C0
+ .4byte _0801B7C0
+ .4byte _0801B7C0
+_0801B7C0:
+ ldr r4, _0801B7F8
+ ldr r0, [r4]
+ adds r0, 0xF4
+ bl sub_8006518
+ mov r12, r4
+ ldr r4, _0801B7FC
+ movs r3, 0
+ movs r2, 0x3
+_0801B7D2:
+ mov r0, r12
+ ldr r1, [r0]
+ adds r1, r3
+ adds r1, 0xF4
+ adds r0, r4, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ adds r3, 0x18
+ subs r2, 0x1
+ cmp r2, 0
+ bge _0801B7D2
+ bl ResetUnusedInputStruct
+ ldr r0, _0801B7F8
+ ldr r0, [r0]
+ b _0801B82E
+ .align 2, 0
+_0801B7F8: .4byte gUnknown_203B234
+_0801B7FC: .4byte gUnknown_80DBA58
+_0801B800:
+ ldr r0, [r4]
+ adds r0, 0xF4
+ bl sub_8006518
+ bl sub_801BB5C
+ ldr r2, [r4]
+ movs r0, 0x92
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _0801B83C
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ adds r1, 0xCC
+ bl sub_8012CAC
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+_0801B82E:
+ adds r0, 0xF4
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ b _0801B86A
+ .align 2, 0
+_0801B83C: .4byte gUnknown_80DBA70
+_0801B840:
+ ldr r0, [r4]
+ adds r0, 0xF4
+ bl sub_8006518
+ ldr r1, [r4]
+ movs r6, 0x86
+ lsls r6, 1
+ adds r1, r6
+ ldr r0, _0801B870
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0xF4
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+_0801B86A:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801B870: .4byte gUnknown_80DBA88
+ thumb_func_end sub_801B760
+
+ thumb_func_start sub_801B874
+sub_801B874:
+ push {r4,lr}
+ sub sp, 0x14
+ ldr r1, _0801B890
+ ldr r0, [r1]
+ ldr r0, [r0, 0x4]
+ adds r4, r1, 0
+ cmp r0, 0x10
+ bls _0801B886
+ b _0801BB0E
+_0801B886:
+ lsls r0, 2
+ ldr r1, _0801B894
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801B890: .4byte gUnknown_203B234
+_0801B894: .4byte _0801B898
+ .align 2, 0
+_0801B898:
+ .4byte _0801B8DC
+ .4byte _0801B9BC
+ .4byte _0801B9D8
+ .4byte _0801B9E0
+ .4byte _0801B9F0
+ .4byte _0801B9F8
+ .4byte _0801BA08
+ .4byte _0801BA34
+ .4byte _0801BA60
+ .4byte _0801BA6E
+ .4byte _0801BA76
+ .4byte _0801BA94
+ .4byte _0801BA9E
+ .4byte _0801BAD0
+ .4byte _0801BAE0
+ .4byte _0801BAFC
+ .4byte _0801BB0E
+_0801B8DC:
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x12]
+ cmp r0, 0xEA
+ bne _0801B8FE
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ movs r0, 0
+ movs r1, 0x47
+ movs r2, 0x1
+ bl sub_8001784
+ cmp r0, 0
+ bne _0801B914
+ movs r0, 0
+ movs r1, 0x47
+ movs r2, 0x1
+ b _0801B92A
+_0801B8FE:
+ cmp r0, 0xEB
+ bne _0801B938
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ movs r0, 0
+ movs r1, 0x47
+ movs r2, 0
+ bl sub_8001784
+ cmp r0, 0
+ beq _0801B924
+_0801B914:
+ movs r0, 0xFA
+ lsls r0, 2
+ bl sub_80913A0
+ movs r0, 0x4
+ bl sub_801B748
+ b _0801BB0E
+_0801B924:
+ movs r0, 0
+ movs r1, 0x47
+ movs r2, 0
+_0801B92A:
+ movs r3, 0x1
+ bl sub_800199C
+ movs r0, 0x3
+ bl sub_801B748
+ b _0801BB0E
+_0801B938:
+ bl sub_8090A34
+ cmp r0, 0x13
+ ble _0801B986
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x12]
+ bl sub_8091524
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801B968
+ ldr r0, _0801B970
+ ldr r1, [r0]
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x12]
+ lsls r0, 1
+ adds r1, 0x50
+ adds r3, r1, r0
+ ldrh r1, [r3]
+ ldrb r0, [r2, 0xC]
+ adds r1, r0
+ ldr r0, _0801B974
+ cmp r1, r0
+ ble _0801B978
+_0801B968:
+ ldr r1, [r4]
+ movs r0, 0x6
+ b _0801B99C
+ .align 2, 0
+_0801B970: .4byte gUnknown_203B460
+_0801B974: .4byte 0x000003e7
+_0801B978:
+ strh r1, [r3]
+ movs r0, 0xCB
+ bl PlaySound
+ ldr r1, [r4]
+ movs r0, 0x5
+ b _0801B99C
+_0801B986:
+ ldr r0, [r4]
+ adds r0, 0x10
+ bl sub_8091290
+ bl sub_80910B4
+ movs r0, 0xCB
+ bl PlaySound
+ ldr r1, [r4]
+ movs r0, 0x10
+_0801B99C:
+ str r0, [r1, 0x8]
+ ldr r0, _0801B9B0
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x1
+ bne _0801B9B4
+ movs r0, 0x2
+ bl sub_801B748
+ b _0801BB0E
+ .align 2, 0
+_0801B9B0: .4byte gUnknown_203B234
+_0801B9B4:
+ movs r0, 0x1
+ bl sub_801B748
+ b _0801BB0E
+_0801B9BC:
+ movs r0, 0
+ bl sub_808D544
+ cmp r0, 0x1
+ bgt _0801B9D0
+ ldr r0, _0801B9CC
+ b _0801BAE8
+ .align 2, 0
+_0801B9CC: .4byte gUnknown_80DBAA0
+_0801B9D0:
+ ldr r0, _0801B9D4
+ b _0801BAE8
+ .align 2, 0
+_0801B9D4: .4byte gUnknown_80DBAD0
+_0801B9D8:
+ ldr r0, _0801B9DC
+ b _0801BAE8
+ .align 2, 0
+_0801B9DC: .4byte gUnknown_80DBB08
+_0801B9E0:
+ movs r0, 0xD4
+ bl PlaySound
+ ldr r0, _0801B9EC
+ b _0801BAE8
+ .align 2, 0
+_0801B9EC: .4byte gUnknown_80DBB38
+_0801B9F0:
+ ldr r0, _0801B9F4
+ b _0801BAE8
+ .align 2, 0
+_0801B9F4: .4byte gUnknown_80DBB9C
+_0801B9F8:
+ ldr r1, [r4]
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ ldr r0, _0801BA04
+ b _0801BAE8
+ .align 2, 0
+_0801BA04: .4byte gUnknown_80DBC28
+_0801BA08:
+ bl sub_801BB20
+ ldr r0, _0801BA2C
+ ldr r1, _0801BA30
+ ldr r3, [r1]
+ adds r3, 0xCC
+ movs r2, 0
+ str r2, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r2, [sp, 0xC]
+ str r2, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x4
+ bl sub_8014248
+ b _0801BB0E
+ .align 2, 0
+_0801BA2C: .4byte gUnknown_80DBC60
+_0801BA30: .4byte gUnknown_203B234
+_0801BA34:
+ bl sub_801BC24
+ ldr r0, _0801BA58
+ ldr r1, _0801BA5C
+ ldr r3, [r1]
+ adds r3, 0xCC
+ movs r2, 0
+ str r2, [sp]
+ movs r1, 0x4
+ str r1, [sp, 0x4]
+ str r2, [sp, 0x8]
+ str r2, [sp, 0xC]
+ str r2, [sp, 0x10]
+ movs r1, 0
+ movs r2, 0x3
+ bl sub_8014248
+ b _0801BB0E
+ .align 2, 0
+_0801BA58: .4byte gUnknown_80DBC98
+_0801BA5C: .4byte gUnknown_203B234
+_0801BA60:
+ movs r0, 0x1
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_801A5D8
+ b _0801BB0E
+_0801BA6E:
+ movs r0, 0x1
+ bl sub_801A8D0
+ b _0801BB0E
+_0801BA76:
+ bl sub_801A9E0
+ ldr r0, _0801BA90
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x28
+ adds r1, r2, 0
+ adds r1, 0xCC
+ adds r2, 0xC8
+ ldr r2, [r2]
+ str r2, [sp]
+ movs r2, 0x2
+ b _0801BAC0
+ .align 2, 0
+_0801BA90: .4byte gUnknown_203B234
+_0801BA94:
+ ldr r0, [r4]
+ adds r0, 0x20
+ bl sub_801B3C0
+ b _0801BB0E
+_0801BA9E:
+ bl sub_801A9E0
+ ldr r4, _0801BACC
+ ldr r0, [r4]
+ adds r0, 0x28
+ movs r1, 0
+ bl sub_8012EA4
+ bl sub_801BC24
+ ldr r1, [r4]
+ adds r0, r1, 0
+ adds r0, 0x78
+ adds r1, 0xCC
+ movs r2, 0x3
+ str r2, [sp]
+ movs r2, 0x1
+_0801BAC0:
+ str r2, [sp, 0x4]
+ movs r2, 0
+ movs r3, 0
+ bl sub_8012D60
+ b _0801BB0E
+ .align 2, 0
+_0801BACC: .4byte gUnknown_203B234
+_0801BAD0:
+ ldr r1, [r4]
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ ldr r0, _0801BADC
+ b _0801BAE8
+ .align 2, 0
+_0801BADC: .4byte gUnknown_80DBCC4
+_0801BAE0:
+ ldr r1, [r4]
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ ldr r0, _0801BAF4
+_0801BAE8:
+ ldr r3, _0801BAF8
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+ b _0801BB0E
+ .align 2, 0
+_0801BAF4: .4byte gUnknown_80DBCE8
+_0801BAF8: .4byte 0x00000101
+_0801BAFC:
+ ldr r1, [r4]
+ movs r0, 0x10
+ str r0, [r1, 0x8]
+ ldr r0, _0801BB18
+ ldr r3, _0801BB1C
+ movs r1, 0
+ movs r2, 0
+ bl sub_80141B4
+_0801BB0E:
+ add sp, 0x14
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801BB18: .4byte gUnknown_80DBD24
+_0801BB1C: .4byte 0x00000101
+ thumb_func_end sub_801B874
+
+ thumb_func_start sub_801BB20
+sub_801BB20:
+ ldr r0, _0801BB50
+ ldr r3, [r0]
+ movs r2, 0
+ adds r1, r3, 0
+ adds r1, 0xCC
+ ldr r0, _0801BB54
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x4
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, _0801BB58
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x5
+ str r0, [r1]
+ adds r0, r3, 0
+ adds r0, 0xDC
+ str r2, [r0]
+ adds r1, 0x8
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_0801BB50: .4byte gUnknown_203B234
+_0801BB54: .4byte gKangaskhanTrashToolboxItem
+_0801BB58: .4byte gKangaskhanTrashReceivedItem
+ thumb_func_end sub_801BB20
+
+ thumb_func_start sub_801BB5C
+sub_801BB5C:
+ push {r4-r7,lr}
+ ldr r4, _0801BBEC
+ ldr r2, [r4]
+ adds r1, r2, 0
+ adds r1, 0xCC
+ ldr r0, _0801BBF0
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x6
+ str r0, [r1]
+ ldr r0, [r2, 0x24]
+ bl sub_801ADA0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801BB86
+ ldr r0, [r4]
+ adds r0, 0xD0
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [r0]
+_0801BB86:
+ ldr r0, [r4]
+ mov r12, r0
+ movs r3, 0x1
+ movs r2, 0x8
+ mov r1, r12
+ adds r1, 0xD4
+ ldr r0, _0801BBF4
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x7
+ str r0, [r1]
+ adds r1, 0x4
+ ldr r0, _0801BBF8
+ ldr r0, [r0]
+ str r0, [r1]
+ mov r0, r12
+ adds r0, 0xE0
+ str r2, [r0]
+ movs r5, 0x3
+ adds r1, 0x8
+ movs r0, 0
+ str r0, [r1]
+ mov r0, r12
+ adds r0, 0xE8
+ str r3, [r0]
+ movs r3, 0
+ adds r6, r4, 0
+ movs r7, 0x1
+ negs r7, r7
+ mov r4, r12
+ adds r4, 0xC8
+ subs r1, 0x14
+_0801BBC6:
+ ldr r2, [r1]
+ cmp r2, r7
+ beq _0801BBD2
+ ldr r0, [r4]
+ cmp r2, r0
+ beq _0801BC1C
+_0801BBD2:
+ adds r1, 0x8
+ adds r3, 0x1
+ cmp r3, r5
+ blt _0801BBC6
+ movs r3, 0
+ cmp r3, r5
+ bge _0801BC1C
+ ldr r2, [r6]
+ adds r0, r2, 0
+ adds r0, 0xD0
+ ldr r1, [r0]
+ b _0801BC0E
+ .align 2, 0
+_0801BBEC: .4byte gUnknown_203B234
+_0801BBF0: .4byte gKangaskhanStorage
+_0801BBF4: .4byte gKangaskhanTrash
+_0801BBF8: .4byte gUnknown_80D4970
+_0801BBFC:
+ adds r3, 0x1
+ cmp r3, r5
+ bge _0801BC1C
+ ldr r2, [r6]
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0xD0
+ adds r1, r0
+ ldr r1, [r1]
+_0801BC0E:
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _0801BBFC
+ adds r0, r2, 0
+ adds r0, 0xC8
+ str r1, [r0]
+_0801BC1C:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BB5C
+
+ thumb_func_start sub_801BC24
+sub_801BC24:
+ ldr r0, _0801BC58
+ ldr r0, [r0]
+ mov r12, r0
+ movs r3, 0
+ mov r1, r12
+ adds r1, 0xCC
+ ldr r0, _0801BC5C
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x2
+ str r0, [r1]
+ movs r2, 0x1
+ adds r1, 0x4
+ ldr r0, _0801BC60
+ ldr r0, [r0]
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x3
+ str r0, [r1]
+ mov r0, r12
+ adds r0, 0xDC
+ str r3, [r0]
+ adds r0, 0x4
+ str r2, [r0]
+ bx lr
+ .align 2, 0
+_0801BC58: .4byte gUnknown_203B234
+_0801BC5C: .4byte gUnknown_80D4920
+_0801BC60: .4byte gUnknown_80D4928
+ thumb_func_end sub_801BC24
+
+ thumb_func_start sub_801BC64
+sub_801BC64:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801BC8C
+ ldr r0, [sp]
+ cmp r0, 0x4
+ beq _0801BC7E
+ cmp r0, 0x5
+ beq _0801BC86
+ b _0801BC8C
+_0801BC7E:
+ movs r0, 0x8
+ bl sub_801B748
+ b _0801BC8C
+_0801BC86:
+ movs r0, 0x7
+ bl sub_801B748
+_0801BC8C:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BC64
+
+ thumb_func_start sub_801BC94
+sub_801BC94:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801BCC6
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0801BCB8
+ cmp r0, 0x2
+ bgt _0801BCB2
+ cmp r0, 0x1
+ beq _0801BCC0
+ b _0801BCC6
+_0801BCB2:
+ cmp r0, 0x3
+ beq _0801BCC0
+ b _0801BCC6
+_0801BCB8:
+ movs r0, 0xD
+ bl sub_801B748
+ b _0801BCC6
+_0801BCC0:
+ movs r0, 0x6
+ bl sub_801B748
+_0801BCC6:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BC94
+
+ thumb_func_start sub_801BCCC
+sub_801BCCC:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801A6E8
+ cmp r0, 0x4
+ bhi _0801BD7A
+ lsls r0, 2
+ ldr r1, _0801BCE4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801BCE4: .4byte _0801BCE8
+ .align 2, 0
+_0801BCE8:
+ .4byte _0801BD7A
+ .4byte _0801BD7A
+ .4byte _0801BD70
+ .4byte _0801BCFC
+ .4byte _0801BD34
+_0801BCFC:
+ bl sub_801A8AC
+ ldr r1, _0801BD28
+ ldr r2, [r1]
+ str r0, [r2, 0x24]
+ ldr r1, _0801BD2C
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x20]
+ ldr r0, _0801BD30
+ adds r1, r2, 0
+ adds r1, 0x20
+ adds r2, 0x14
+ bl sub_8090E14
+ movs r0, 0xA
+ bl sub_801B748
+ b _0801BD7A
+ .align 2, 0
+_0801BD28: .4byte gUnknown_203B234
+_0801BD2C: .4byte gUnknown_203B460
+_0801BD30: .4byte gUnknown_202DEA8
+_0801BD34:
+ bl sub_801A8AC
+ ldr r1, _0801BD64
+ ldr r2, [r1]
+ str r0, [r2, 0x24]
+ ldr r1, _0801BD68
+ ldr r1, [r1]
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0x20]
+ ldr r0, _0801BD6C
+ adds r1, r2, 0
+ adds r1, 0x20
+ adds r2, 0x14
+ bl sub_8090E14
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xB
+ bl sub_801B748
+ b _0801BD7A
+ .align 2, 0
+_0801BD64: .4byte gUnknown_203B234
+_0801BD68: .4byte gUnknown_203B460
+_0801BD6C: .4byte gUnknown_202DEA8
+_0801BD70:
+ bl sub_801A928
+ movs r0, 0x6
+ bl sub_801B748
+_0801BD7A:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BCCC
+
+ thumb_func_start sub_801BD80
+sub_801BD80:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _0801BDC4
+ ldr r0, [r4]
+ adds r0, 0x28
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801BDB2
+ ldr r0, [r4]
+ adds r0, 0x28
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _0801BDB2
+ ldr r0, [r4]
+ adds r0, 0xC8
+ str r1, [r0]
+_0801BDB2:
+ ldr r0, [sp]
+ cmp r0, 0x6
+ beq _0801BDD2
+ cmp r0, 0x6
+ bgt _0801BDC8
+ cmp r0, 0x1
+ beq _0801BE22
+ b _0801BE28
+ .align 2, 0
+_0801BDC4: .4byte gUnknown_203B234
+_0801BDC8:
+ cmp r0, 0x7
+ beq _0801BE0C
+ cmp r0, 0x8
+ beq _0801BE14
+ b _0801BE28
+_0801BDD2:
+ ldr r4, _0801BE08
+ ldr r0, [r4]
+ adds r0, 0x20
+ bl sub_80917B8
+ ldr r0, [r4]
+ ldr r0, [r0, 0x24]
+ bl sub_80911F8
+ ldr r0, [r4]
+ adds r0, 0x10
+ bl sub_8091290
+ bl sub_80910B4
+ movs r0, 0xCB
+ bl PlaySound
+ movs r0, 0
+ bl sub_8099690
+ bl sub_801A928
+ movs r0, 0xE
+ bl sub_801B748
+ b _0801BE28
+ .align 2, 0
+_0801BE08: .4byte gUnknown_203B234
+_0801BE0C:
+ movs r0, 0xC
+ bl sub_801B748
+ b _0801BE28
+_0801BE14:
+ movs r0, 0
+ bl sub_8099690
+ movs r0, 0xB
+ bl sub_801B748
+ b _0801BE28
+_0801BE22:
+ movs r0, 0x9
+ bl sub_801B748
+_0801BE28:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BD80
+
+ thumb_func_start sub_801BE30
+sub_801BE30:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801A6E8
+ ldr r4, _0801BE70
+ ldr r0, [r4]
+ adds r0, 0x28
+ bl sub_8012FD8
+ ldr r0, [r4]
+ adds r0, 0x78
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801BE5E
+ ldr r0, [r4]
+ adds r0, 0x78
+ mov r1, sp
+ bl sub_8013114
+_0801BE5E:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0801BE80
+ cmp r0, 0x2
+ bgt _0801BE74
+ cmp r0, 0x1
+ beq _0801BE78
+ b _0801BEA4
+ .align 2, 0
+_0801BE70: .4byte gUnknown_203B234
+_0801BE74:
+ cmp r0, 0x3
+ bne _0801BEA4
+_0801BE78:
+ movs r0, 0x9
+ bl sub_801B748
+ b _0801BEA4
+_0801BE80:
+ ldr r0, [r4]
+ ldr r0, [r0, 0x24]
+ bl sub_80911F8
+ ldr r0, [r4]
+ adds r0, 0x10
+ bl sub_8091290
+ bl sub_80910B4
+ movs r0, 0xCB
+ bl PlaySound
+ bl sub_801A928
+ movs r0, 0xF
+ bl sub_801B748
+_0801BEA4:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BE30
+
+ thumb_func_start sub_801BEAC
+sub_801BEAC:
+ push {lr}
+ bl sub_801B410
+ cmp r0, 0x1
+ bls _0801BEC4
+ cmp r0, 0x3
+ bhi _0801BEC4
+ bl sub_801B450
+ movs r0, 0x9
+ bl sub_801B748
+_0801BEC4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801BEAC
+
+ thumb_func_start sub_801BEC8
+sub_801BEC8:
+ push {lr}
+ sub sp, 0x4
+ mov r0, sp
+ bl sub_80144A4
+ cmp r0, 0
+ bne _0801BEE0
+ ldr r0, _0801BEE8
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ bl sub_801B748
+_0801BEE0:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801BEE8: .4byte gUnknown_203B234
+ thumb_func_end sub_801BEC8
+
+ thumb_func_start sub_801BEEC
+sub_801BEEC:
+ push {r4-r6,lr}
+ lsls r0, 16
+ asrs r5, r0, 16
+ adds r0, r5, 0
+ bl sub_801C5F0
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0
+ bne _0801BF40
+ ldr r4, _0801BF38
+ movs r0, 0x92
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ str r6, [r0, 0x30]
+ strh r5, [r0, 0x4]
+ ldr r3, _0801BF3C
+ movs r1, 0x58
+ adds r2, r5, 0
+ muls r2, r1
+ ldr r1, [r3]
+ adds r1, r2
+ str r1, [r0, 0x8]
+ adds r0, 0xC
+ movs r2, 0x14
+ ldrsh r1, [r1, r2]
+ bl sub_808EBA8
+ ldr r1, [r4]
+ str r0, [r1, 0x2C]
+ movs r0, 0
+ bl sub_801BFB4
+ movs r0, 0x1
+ b _0801BF42
+ .align 2, 0
+_0801BF38: .4byte gUnknown_203B238
+_0801BF3C: .4byte gRecruitedPokemonRef
+_0801BF40:
+ movs r0, 0
+_0801BF42:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801BEEC
+
+ thumb_func_start sub_801BF48
+sub_801BF48:
+ push {lr}
+ ldr r0, _0801BF60
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x4
+ bhi _0801BF90
+ lsls r0, 2
+ ldr r1, _0801BF64
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801BF60: .4byte gUnknown_203B238
+_0801BF64: .4byte _0801BF68
+ .align 2, 0
+_0801BF68:
+ .4byte _0801BF80
+ .4byte _0801BF80
+ .4byte _0801BF86
+ .4byte _0801BF8C
+ .4byte _0801BF7C
+_0801BF7C:
+ movs r0, 0x3
+ b _0801BF92
+_0801BF80:
+ bl sub_801C118
+ b _0801BF90
+_0801BF86:
+ bl sub_801C1A0
+ b _0801BF90
+_0801BF8C:
+ bl sub_801C228
+_0801BF90:
+ movs r0, 0
+_0801BF92:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801BF48
+
+ thumb_func_start sub_801BF98
+sub_801BF98:
+ push {r4,lr}
+ ldr r4, _0801BFB0
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0801BFAA
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801BFAA:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801BFB0: .4byte gUnknown_203B238
+ thumb_func_end sub_801BF98
+
+ thumb_func_start sub_801BFB4
+sub_801BFB4:
+ push {lr}
+ ldr r1, _0801BFC8
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_801BFCC
+ bl sub_801C03C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801BFC8: .4byte gUnknown_203B238
+ thumb_func_end sub_801BFB4
+
+ thumb_func_start sub_801BFCC
+sub_801BFCC:
+ push {r4-r7,lr}
+ ldr r4, _0801BFF0
+ ldr r0, [r4]
+ adds r0, 0xC4
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1]
+ cmp r0, 0x2
+ bne _0801BFF8
+ adds r1, 0xF4
+ ldr r0, _0801BFF4
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ b _0801C01A
+ .align 2, 0
+_0801BFF0: .4byte gUnknown_203B238
+_0801BFF4: .4byte gUnknown_80DBDB0
+_0801BFF8:
+ mov r12, r4
+ ldr r4, _0801C034
+ movs r3, 0
+ movs r2, 0x3
+_0801C000:
+ mov r0, r12
+ ldr r1, [r0]
+ adds r1, r3
+ adds r1, 0xC4
+ adds r0, r4, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ adds r3, 0x18
+ subs r2, 0x1
+ cmp r2, 0
+ bge _0801C000
+_0801C01A:
+ bl ResetUnusedInputStruct
+ ldr r0, _0801C038
+ ldr r0, [r0]
+ adds r0, 0xC4
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801C034: .4byte gUnknown_80DBD98
+_0801C038: .4byte gUnknown_203B238
+ thumb_func_end sub_801BFCC
+
+ thumb_func_start sub_801C03C
+sub_801C03C:
+ push {lr}
+ sub sp, 0x8
+ ldr r1, _0801C058
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r2, r1, 0
+ cmp r0, 0x4
+ bhi _0801C0C2
+ lsls r0, 2
+ ldr r1, _0801C05C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801C058: .4byte gUnknown_203B238
+_0801C05C: .4byte _0801C060
+ .align 2, 0
+_0801C060:
+ .4byte _0801C074
+ .4byte _0801C084
+ .4byte _0801C08C
+ .4byte _0801C0B8
+ .4byte _0801C0C2
+_0801C074:
+ ldr r0, [r2]
+ movs r1, 0x4
+ ldrsh r0, [r0, r1]
+ movs r1, 0
+ movs r2, 0x8
+ bl sub_801C244
+ b _0801C0C2
+_0801C084:
+ movs r0, 0x1
+ bl sub_801C3B0
+ b _0801C0C2
+_0801C08C:
+ bl sub_801C4C8
+ bl sub_801C0C8
+ ldr r0, _0801C0B4
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x74
+ adds r1, r2, 0
+ adds r1, 0x34
+ ldr r2, [r2, 0x30]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ movs r3, 0
+ bl sub_8012D60
+ b _0801C0C2
+ .align 2, 0
+_0801C0B4: .4byte gUnknown_203B238
+_0801C0B8:
+ ldr r0, [r2]
+ adds r0, 0x28
+ ldrb r0, [r0]
+ bl sub_801C620
+_0801C0C2:
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801C03C
+
+ thumb_func_start sub_801C0C8
+sub_801C0C8:
+ push {r4,r5,lr}
+ ldr r3, _0801C10C
+ ldr r1, [r3]
+ movs r4, 0
+ ldr r0, _0801C110
+ str r0, [r1, 0x34]
+ movs r0, 0x2
+ str r0, [r1, 0x38]
+ movs r2, 0x1
+ ldr r0, _0801C114
+ ldr r0, [r0]
+ str r0, [r1, 0x3C]
+ movs r0, 0x3
+ str r0, [r1, 0x40]
+ movs r5, 0x2
+ str r4, [r1, 0x44]
+ str r2, [r1, 0x48]
+ movs r2, 0
+ ldr r4, [r1, 0x30]
+ adds r1, 0x38
+_0801C0F0:
+ ldr r0, [r1]
+ cmp r0, r4
+ beq _0801C104
+ adds r1, 0x8
+ adds r2, 0x1
+ cmp r2, r5
+ blt _0801C0F0
+ ldr r1, [r3]
+ movs r0, 0x2
+ str r0, [r1, 0x30]
+_0801C104:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801C10C: .4byte gUnknown_203B238
+_0801C110: .4byte gUnknown_80DBDC8
+_0801C114: .4byte gUnknown_80D4970
+ thumb_func_end sub_801C0C8
+
+ thumb_func_start sub_801C118
+sub_801C118:
+ push {lr}
+ movs r0, 0x1
+ bl sub_801C308
+ cmp r0, 0x4
+ bhi _0801C19A
+ lsls r0, 2
+ ldr r1, _0801C130
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0801C130: .4byte _0801C134
+ .align 2, 0
+_0801C134:
+ .4byte _0801C19A
+ .4byte _0801C19A
+ .4byte _0801C190
+ .4byte _0801C148
+ .4byte _0801C16C
+_0801C148:
+ bl sub_801C390
+ ldr r1, _0801C168
+ ldr r2, [r1]
+ str r0, [r2, 0x24]
+ adds r1, r2, 0
+ adds r1, 0xC
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r2, 0x28
+ strb r0, [r2]
+ movs r0, 0x2
+ bl sub_801BFB4
+ b _0801C19A
+ .align 2, 0
+_0801C168: .4byte gUnknown_203B238
+_0801C16C:
+ bl sub_801C390
+ ldr r1, _0801C18C
+ ldr r2, [r1]
+ str r0, [r2, 0x24]
+ adds r1, r2, 0
+ adds r1, 0xC
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r2, 0x28
+ strb r0, [r2]
+ movs r0, 0x3
+ bl sub_801BFB4
+ b _0801C19A
+ .align 2, 0
+_0801C18C: .4byte gUnknown_203B238
+_0801C190:
+ bl sub_801C3F8
+ movs r0, 0x4
+ bl sub_801BFB4
+_0801C19A:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801C118
+
+ thumb_func_start sub_801C1A0
+sub_801C1A0:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_801C308
+ ldr r4, _0801C1E0
+ ldr r0, [r4]
+ adds r0, 0x74
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801C1D0
+ ldr r0, [r4]
+ adds r0, 0x74
+ mov r1, sp
+ bl sub_8013114
+ ldr r1, [sp]
+ cmp r1, 0x1
+ beq _0801C1D0
+ ldr r0, [r4]
+ str r1, [r0, 0x30]
+_0801C1D0:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0801C1EA
+ cmp r0, 0x2
+ bgt _0801C1E4
+ cmp r0, 0x1
+ beq _0801C218
+ b _0801C21E
+ .align 2, 0
+_0801C1E0: .4byte gUnknown_203B238
+_0801C1E4:
+ cmp r0, 0x3
+ beq _0801C210
+ b _0801C21E
+_0801C1EA:
+ ldr r0, _0801C208
+ bl PlaySound
+ ldr r0, _0801C20C
+ ldr r1, [r0]
+ ldr r0, [r1, 0x8]
+ adds r0, 0x20
+ adds r1, 0x28
+ ldrb r1, [r1]
+ bl sub_808EBF4
+ movs r0, 0x1
+ bl sub_801BFB4
+ b _0801C21E
+ .align 2, 0
+_0801C208: .4byte 0x00000133
+_0801C20C: .4byte gUnknown_203B238
+_0801C210:
+ movs r0, 0x3
+ bl sub_801BFB4
+ b _0801C21E
+_0801C218:
+ movs r0, 0x1
+ bl sub_801BFB4
+_0801C21E:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801C1A0
+
+ thumb_func_start sub_801C228
+sub_801C228:
+ push {lr}
+ bl sub_801C674
+ cmp r0, 0x1
+ bls _0801C240
+ cmp r0, 0x3
+ bhi _0801C240
+ bl sub_801C6B4
+ movs r0, 0x1
+ bl sub_801BFB4
+_0801C240:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_801C228
+
+ thumb_func_start sub_801C244
+sub_801C244:
+ push {r4-r7,lr}
+ adds r6, r1, 0
+ adds r7, r2, 0
+ lsls r0, 16
+ asrs r0, 16
+ adds r4, r0, 0
+ bl sub_801C5F0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801C25E
+ movs r0, 0
+ b _0801C2F6
+_0801C25E:
+ ldr r5, _0801C2FC
+ ldr r0, [r5]
+ cmp r0, 0
+ bne _0801C270
+ movs r0, 0xC4
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r5]
+_0801C270:
+ ldr r0, [r5]
+ strh r4, [r0]
+ ldr r3, _0801C300
+ movs r1, 0x58
+ adds r2, r4, 0
+ muls r2, r1
+ ldr r1, [r3]
+ adds r1, r2
+ str r1, [r0, 0x4]
+ adds r0, 0x8
+ movs r2, 0x14
+ ldrsh r1, [r1, r2]
+ bl sub_808EBA8
+ adds r1, r0, 0
+ ldr r0, [r5]
+ str r1, [r0, 0x20]
+ str r6, [r0, 0x58]
+ lsls r1, r6, 1
+ adds r1, r6
+ lsls r1, 3
+ adds r1, 0x60
+ adds r1, r0, r1
+ str r1, [r0, 0x5C]
+ adds r0, 0x60
+ bl sub_8006518
+ ldr r1, [r5]
+ ldr r2, [r1, 0x58]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r1, r0
+ adds r1, 0x60
+ ldr r0, _0801C304
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldr r1, [r5]
+ ldr r0, [r1, 0x5C]
+ adds r1, 0xC0
+ str r1, [r0, 0x14]
+ adds r1, r7, 0
+ bl sub_8012D08
+ bl ResetUnusedInputStruct
+ ldr r0, [r5]
+ adds r0, 0x60
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x24
+ ldr r1, [r1, 0x20]
+ adds r2, r7, 0
+ adds r3, r6, 0
+ bl sub_8013818
+ bl sub_801C440
+ bl sub_801C4C8
+ movs r0, 0x1
+_0801C2F6:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0801C2FC: .4byte gUnknown_203B23C
+_0801C300: .4byte gRecruitedPokemonRef
+_0801C304: .4byte gUnknown_80DBDF0
+ thumb_func_end sub_801C244
+
+ thumb_func_start sub_801C308
+sub_801C308:
+ push {lr}
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801C324
+ ldr r0, _0801C320
+ ldr r0, [r0]
+ adds r0, 0x24
+ bl sub_8013660
+ movs r0, 0
+ b _0801C38A
+ .align 2, 0
+_0801C320: .4byte gUnknown_203B23C
+_0801C324:
+ ldr r0, _0801C33C
+ ldr r0, [r0]
+ adds r0, 0x24
+ bl GetKeyPress
+ cmp r0, 0x2
+ beq _0801C346
+ cmp r0, 0x2
+ bgt _0801C340
+ cmp r0, 0x1
+ beq _0801C350
+ b _0801C364
+ .align 2, 0
+_0801C33C: .4byte gUnknown_203B23C
+_0801C340:
+ cmp r0, 0x4
+ beq _0801C35A
+ b _0801C364
+_0801C346:
+ movs r0, 0x1
+ bl PlayMenuSoundEffect
+ movs r0, 0x2
+ b _0801C38A
+_0801C350:
+ movs r0, 0
+ bl PlayMenuSoundEffect
+ movs r0, 0x3
+ b _0801C38A
+_0801C35A:
+ movs r0, 0x4
+ bl PlayMenuSoundEffect
+ movs r0, 0x4
+ b _0801C38A
+_0801C364:
+ ldr r0, _0801C37C
+ ldr r0, [r0]
+ adds r0, 0x24
+ movs r1, 0x1
+ bl sub_80138B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0801C380
+ movs r0, 0
+ b _0801C38A
+ .align 2, 0
+_0801C37C: .4byte gUnknown_203B23C
+_0801C380:
+ bl sub_801C440
+ bl sub_801C4C8
+ movs r0, 0x1
+_0801C38A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801C308
+
+ thumb_func_start sub_801C390
+sub_801C390:
+ ldr r0, _0801C3AC
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x42
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ subs r0, 0x2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r0, r1
+ movs r3, 0x3C
+ ldrsh r1, [r2, r3]
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_0801C3AC: .4byte gUnknown_203B23C
+ thumb_func_end sub_801C390
+
+ thumb_func_start sub_801C3B0
+sub_801C3B0:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ bl ResetUnusedInputStruct
+ ldr r5, _0801C3F4
+ ldr r0, [r5]
+ adds r0, 0x60
+ movs r1, 0
+ movs r2, 0
+ bl sub_800641C
+ ldr r0, [r5]
+ ldr r1, [r0, 0x20]
+ adds r2, r0, 0
+ adds r2, 0x46
+ strh r1, [r2]
+ adds r0, 0x24
+ bl sub_8013984
+ bl sub_801C440
+ bl sub_801C4C8
+ cmp r4, 0
+ beq _0801C3EE
+ ldr r0, [r5]
+ adds r0, 0x24
+ bl AddMenuCursorSprite
+_0801C3EE:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801C3F4: .4byte gUnknown_203B23C
+ thumb_func_end sub_801C3B0
+
+ thumb_func_start sub_801C3F8
+sub_801C3F8:
+ push {r4,r5,lr}
+ ldr r4, _0801C438
+ ldr r2, [r4]
+ cmp r2, 0
+ beq _0801C432
+ ldr r0, [r2, 0x58]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x60
+ ldr r0, _0801C43C
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0801C432:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801C438: .4byte gUnknown_203B23C
+_0801C43C: .4byte gUnknown_80DBDD8
+ thumb_func_end sub_801C3F8
+
+ thumb_func_start sub_801C440
+sub_801C440:
+ push {r4,lr}
+ ldr r4, _0801C4C4
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x44
+ ldrh r1, [r1]
+ adds r0, 0xC0
+ movs r2, 0
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x42
+ ldrh r1, [r1]
+ adds r0, 0xC1
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xC2
+ movs r1, 0xA
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, 0xC3
+ strb r2, [r0]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ ldr r0, [r4]
+ movs r1, 0x3E
+ ldrsh r0, [r0, r1]
+ movs r1, 0xC
+ bl sub_80095E4
+ adds r0, 0x2
+ ldr r2, [r4]
+ ldr r3, [r2, 0x58]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 3
+ adds r1, r2, r1
+ adds r1, 0x6E
+ lsls r0, 16
+ lsrs r0, 16
+ strh r0, [r1]
+ ldr r3, [r2, 0x58]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 3
+ adds r2, r1
+ adds r2, 0x70
+ strh r0, [r2]
+ bl ResetUnusedInputStruct
+ ldr r0, [r4]
+ adds r0, 0x60
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801C4C4: .4byte gUnknown_203B23C
+ thumb_func_end sub_801C440
+
+ thumb_func_start sub_801C4C8
+sub_801C4C8:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ ldr r6, _0801C594
+ ldr r0, [r6]
+ ldr r0, [r0, 0x58]
+ bl sub_8008C54
+ ldr r0, [r6]
+ ldr r0, [r0, 0x58]
+ bl sub_80073B8
+ ldr r0, [r6]
+ adds r1, r0, 0
+ adds r1, 0x42
+ movs r2, 0
+ ldrsh r4, [r1, r2]
+ lsls r4, 3
+ adds r5, r4, 0
+ adds r5, 0xA
+ ldr r2, _0801C598
+ ldr r3, [r0, 0x58]
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r5, 0
+ movs r1, 0
+ bl xxx_call_draw_string
+ adds r4, 0x4
+ ldr r1, [r6]
+ adds r0, r1, 0
+ adds r0, 0xC2
+ ldrb r0, [r0]
+ lsls r0, 3
+ adds r5, r4, r0
+ adds r0, r1, 0
+ adds r0, 0x42
+ movs r3, 0
+ ldrsh r2, [r0, r3]
+ adds r2, 0x1
+ movs r0, 0x7
+ str r0, [sp]
+ ldr r0, [r1, 0x58]
+ str r0, [sp, 0x4]
+ adds r0, r5, 0
+ movs r1, 0
+ movs r3, 0x1
+ bl sub_8012BC4
+ movs r5, 0
+ ldr r0, [r6]
+ movs r1, 0x3E
+ ldrsh r0, [r0, r1]
+ cmp r5, r0
+ bge _0801C5CC
+ ldr r2, _0801C59C
+ mov r8, r2
+_0801C53C:
+ ldr r2, [r6]
+ adds r0, r2, 0
+ adds r0, 0x42
+ movs r3, 0
+ ldrsh r1, [r0, r3]
+ subs r0, 0x2
+ movs r3, 0
+ ldrsh r0, [r0, r3]
+ muls r1, r0
+ adds r1, r5
+ adds r0, r2, 0
+ adds r0, 0x8
+ adds r0, r1
+ ldrb r4, [r0]
+ adds r0, r2, 0
+ adds r0, 0x24
+ adds r1, r5, 0
+ bl sub_8013800
+ adds r7, r0, 0
+ adds r0, r4, 0
+ bl GetIQSkillName
+ adds r1, r0, 0
+ mov r0, r8
+ movs r2, 0x50
+ bl strncpy
+ ldr r0, [r6]
+ ldr r0, [r0, 0x4]
+ adds r0, 0x20
+ movs r1, 0x1
+ lsls r1, r4
+ bl sub_808ECD0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0801C5A4
+ mov r0, r8
+ subs r0, 0x50
+ ldr r1, _0801C5A0
+ bl strcpy
+ b _0801C5AE
+ .align 2, 0
+_0801C594: .4byte gUnknown_203B23C
+_0801C598: .4byte gUnknown_80DBE08
+_0801C59C: .4byte gUnknown_202DEA8
+_0801C5A0: .4byte gUnknown_80DBE14
+_0801C5A4:
+ mov r0, r8
+ subs r0, 0x50
+ ldr r1, _0801C5E4
+ bl strcpy
+_0801C5AE:
+ ldr r0, [r6]
+ ldr r3, [r0, 0x58]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0xC
+ adds r1, r7, 0
+ ldr r2, _0801C5E8
+ bl sub_8014FF0
+ adds r5, 0x1
+ ldr r0, [r6]
+ movs r1, 0x3E
+ ldrsh r0, [r0, r1]
+ cmp r5, r0
+ blt _0801C53C
+_0801C5CC:
+ ldr r0, _0801C5EC
+ ldr r0, [r0]
+ ldr r0, [r0, 0x58]
+ bl sub_80073E0
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0801C5E4: .4byte gUnknown_80DBE18
+_0801C5E8: .4byte gUnknown_80DBE1C
+_0801C5EC: .4byte gUnknown_203B23C
+ thumb_func_end sub_801C4C8
+
+ thumb_func_start sub_801C5F0
+sub_801C5F0:
+ push {lr}
+ sub sp, 0x18
+ lsls r0, 16
+ asrs r0, 16
+ ldr r2, _0801C614
+ movs r1, 0x58
+ muls r1, r0
+ ldr r0, [r2]
+ adds r0, r1
+ movs r2, 0x14
+ ldrsh r1, [r0, r2]
+ mov r0, sp
+ bl sub_808EBA8
+ cmp r0, 0
+ beq _0801C618
+ movs r0, 0
+ b _0801C61A
+ .align 2, 0
+_0801C614: .4byte gRecruitedPokemonRef
+_0801C618:
+ movs r0, 0x1
+_0801C61A:
+ add sp, 0x18
+ pop {r1}
+ bx r1
+ thumb_func_end sub_801C5F0
+
+ .align 2,0
diff --git a/asm/code_803D110.s b/asm/code_803D110.s
index daa639c..6111ed1 100644
--- a/asm/code_803D110.s
+++ b/asm/code_803D110.s
@@ -314,8 +314,8 @@ _0803D32A:
_0803D354: .4byte gUnknown_80F43F0
thumb_func_end sub_803D2C0
- thumb_func_start sub_803D358
-sub_803D358:
+ thumb_func_start DecodeWonderMailPassword
+DecodeWonderMailPassword:
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -409,7 +409,7 @@ _0803D402:
pop {r4-r7}
pop {r1}
bx r1
- thumb_func_end sub_803D358
+ thumb_func_end DecodeWonderMailPassword
thumb_func_start sub_803D414
sub_803D414:
diff --git a/asm/code_80428A0.s b/asm/code_80428A0.s
index 4af9445..c85bf60 100644
--- a/asm/code_80428A0.s
+++ b/asm/code_80428A0.s
@@ -8771,7 +8771,7 @@ sub_8046F00:
cmp r0, 0x5
bne _08046F7C
ldrb r0, [r4, 0x2]
- bl sub_80913CC
+ bl GetItemMove
lsls r0, 16
lsrs r7, r0, 16
ldrb r0, [r4, 0x2]
diff --git a/asm/code_8048480.s b/asm/code_8048480.s
index 300d379..c24da61 100644
--- a/asm/code_8048480.s
+++ b/asm/code_8048480.s
@@ -562,7 +562,7 @@ sub_8048950:
mov r10, r0
mov r8, r1
ldrb r0, [r1, 0x2]
- bl sub_80913CC
+ bl GetItemMove
lsls r0, 16
lsrs r0, 16
mov r9, r0
diff --git a/asm/code_807001C.s b/asm/code_807001C.s
index df6ba13..499f9ad 100644
--- a/asm/code_807001C.s
+++ b/asm/code_807001C.s
@@ -25994,7 +25994,7 @@ _0807CBAC:
add r4, sp, 0x20
lsls r5, 8
lsrs r0, r5, 24
- bl sub_80913CC
+ bl GetItemMove
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
diff --git a/asm/code_8095014.s b/asm/code_8095014.s
index 9a119ae..3c4419b 100644
--- a/asm/code_8095014.s
+++ b/asm/code_8095014.s
@@ -935,3790 +935,5 @@ sub_80958E4:
bx lr
thumb_func_end sub_80958E4
- thumb_func_start sub_80958E8
-sub_80958E8:
- ldr r1, _080958F0
- ldr r0, _080958F4
- str r0, [r1]
- bx lr
- .align 2, 0
-_080958F0: .4byte gUnknown_203B490
-_080958F4: .4byte gUnknown_2039448
- thumb_func_end sub_80958E8
-
- thumb_func_start sub_80958F8
-sub_80958F8:
- ldr r0, _080958FC
- bx lr
- .align 2, 0
-_080958FC: .4byte gUnknown_2039448
- thumb_func_end sub_80958F8
-
- thumb_func_start sub_8095900
-sub_8095900:
- push {r4-r7,lr}
- movs r4, 0
-_08095904:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096040
- adds r4, 0x1
- cmp r4, 0x3
- ble _08095904
- movs r4, 0
-_08095914:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80965B8
- adds r4, 0x1
- cmp r4, 0x7
- ble _08095914
- movs r4, 0
-_08095924:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096C3C
- adds r4, 0x1
- cmp r4, 0x7
- ble _08095924
- movs r4, 0
- ldr r3, _080959B8
- movs r2, 0xBC
- lsls r2, 2
- movs r1, 0
-_0809593C:
- ldr r0, [r3]
- adds r0, r2
- adds r0, r4
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x37
- ble _0809593C
- ldr r4, _080959B8
- ldr r0, [r4]
- movs r1, 0xCA
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- movs r7, 0xC8
- lsls r7, 1
- adds r0, r7
- movs r1, 0x28
- bl MemoryClear8
- ldr r0, [r4]
- movs r1, 0xDC
- lsls r1, 1
- adds r0, r1
- movs r1, 0x78
- bl MemoryClear8
- adds r3, r4, 0
- movs r5, 0
- movs r2, 0
- movs r6, 0x8C
- lsls r6, 2
- movs r4, 0xF
-_08095980:
- ldr r0, [r3]
- adds r0, r2
- adds r0, r6
- movs r1, 0x63
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, r2
- ldr r7, _080959BC
- adds r0, r7
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r3]
- adds r7, 0x3
- adds r0, r1, r7
- adds r0, r2
- str r5, [r0]
- adds r7, 0x4
- adds r0, r1, r7
- adds r0, r2
- str r5, [r0]
- adds r2, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _08095980
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080959B8: .4byte gUnknown_203B490
-_080959BC: .4byte 0x00000231
- thumb_func_end sub_8095900
-
- thumb_func_start sub_80959C0
-sub_80959C0:
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x5
- bne _080959D6
- adds r0, r1, 0
- bl sub_80959DC
- lsls r0, 24
- lsrs r0, 24
- b _080959D8
-_080959D6:
- movs r0, 0
-_080959D8:
- pop {r1}
- bx r1
- thumb_func_end sub_80959C0
-
- thumb_func_start sub_80959DC
-sub_80959DC:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrb r0, [r5, 0x1]
- cmp r0, 0x4
- bls _080959E8
- b _08095B16
-_080959E8:
- cmp r0, 0x4
- bne _080959F8
- ldrb r0, [r5, 0x4]
- bl GetMaxItemCount
- cmp r0, 0
- bne _080959F8
- b _08095B16
-_080959F8:
- ldrb r0, [r5, 0x2]
- cmp r0, 0x9
- bls _08095A00
- b _08095B16
-_08095A00:
- ldrb r0, [r5, 0x4]
- bl sub_809095C
- lsls r0, 24
- cmp r0, 0
- beq _08095A0E
- b _08095B16
-_08095A0E:
- ldrb r4, [r5, 0x5]
- ldrb r0, [r5, 0x4]
- bl sub_8090298
- cmp r4, r0
- bge _08095B16
- adds r4, r5, 0x4
- adds r0, r4, 0
- bl sub_809017C
- lsls r0, 24
- adds r6, r4, 0
- cmp r0, 0
- bne _08095B16
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08095B16
- ldr r4, _08095B1C
- cmp r0, r4
- bgt _08095B16
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- bl sub_808E770
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- bne _08095B16
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- bl sub_803C0DC
- lsls r0, 24
- cmp r0, 0
- beq _08095B16
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r0, r4
- bgt _08095B16
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- bl sub_808E770
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- bne _08095B16
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- bl sub_803C0DC
- lsls r0, 24
- cmp r0, 0
- beq _08095B16
- ldrb r0, [r5, 0x1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08095A9C
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _08095B16
-_08095A9C:
- ldrb r0, [r5, 0x10]
- bl sub_8092040
- lsls r0, 24
- cmp r0, 0
- bne _08095B16
- ldrb r0, [r5, 0x10]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08095B16
- ldrb r0, [r5, 0x10]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _08095B16
- ldrb r0, [r5, 0x1]
- cmp r0, 0x3
- bne _08095AD4
- ldrb r0, [r5, 0x4]
- ldrb r1, [r5, 0x10]
- bl sub_8091E60
- lsls r0, 24
- cmp r0, 0
- beq _08095B16
-_08095AD4:
- ldrb r0, [r5, 0x11]
- cmp r0, 0x4
- beq _08095B16
- cmp r0, 0xA
- beq _08095B16
- cmp r0, 0xA
- bhi _08095B16
- ldrb r0, [r5, 0x12]
- bl sub_8092040
- lsls r0, 24
- cmp r0, 0
- bne _08095B16
- ldrb r0, [r5, 0x13]
- cmp r0, 0x39
- bhi _08095B16
- ldrb r0, [r5, 0x11]
- cmp r0, 0x9
- bne _08095B20
- ldrb r0, [r5, 0x13]
- bl GetFriendAreaUnlockCondition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08095B16
- ldrb r1, [r5, 0x1]
- adds r0, r6, 0
- bl sub_803C1D0
- lsls r0, 24
- cmp r0, 0
- bne _08095B20
-_08095B16:
- movs r0, 0
- b _08095B22
- .align 2, 0
-_08095B1C: .4byte 0x000001a7
-_08095B20:
- movs r0, 0x1
-_08095B22:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80959DC
-
- thumb_func_start sub_8095B28
-sub_8095B28:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, _08095B44
- add sp, r4
- adds r4, r0, 0
- bl sub_8095CE0
- lsls r0, 24
- cmp r0, 0
- bne _08095B48
- movs r0, 0
- b _08095CCC
- .align 2, 0
-_08095B44: .4byte 0xfffffcb0
-_08095B48:
- movs r0, 0x5
- strb r0, [r4]
- movs r0, 0x8
- bl RandomCapped
- ldr r1, _08095BC8
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r4, 0x1]
- cmp r0, 0x2
- bne _08095B6C
- bl GetRescueTeamRank
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08095B6C
- strb r0, [r4, 0x1]
-_08095B6C:
- movs r0, 0
- strb r0, [r4, 0x2]
- bl Random
- ldr r1, _08095BCC
- ands r1, r0
- str r1, [r4, 0x8]
- movs r7, 0
- movs r5, 0x1
- adds r0, r4, 0x4
- mov r8, r0
- movs r1, 0x12
- adds r1, r4
- mov r9, r1
- mov r6, sp
-_08095B8A:
- lsls r0, r5, 16
- asrs r0, 16
- bl sub_803C110
- lsls r0, 24
- cmp r0, 0
- beq _08095B9E
- strh r5, [r6]
- adds r6, 0x2
- adds r7, 0x1
-_08095B9E:
- adds r5, 0x1
- ldr r0, _08095BD0
- cmp r5, r0
- ble _08095B8A
- cmp r7, 0
- beq _08095BD4
- adds r0, r7, 0
- bl RandomCapped
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0xC]
- adds r0, r7, 0
- bl RandomCapped
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- b _08095BDC
- .align 2, 0
-_08095BC8: .4byte gUnknown_8109984
-_08095BCC: .4byte 0x00ffffff
-_08095BD0: .4byte 0x000001a7
-_08095BD4:
- movs r0, 0x10
- strh r0, [r4, 0xC]
- movs r0, 0x91
- lsls r0, 1
-_08095BDC:
- strh r0, [r4, 0xE]
- ldrb r0, [r4, 0x1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08095BEE
- ldrh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
-_08095BEE:
- ldrb r0, [r4, 0x4]
- bl sub_8095F28
- strb r0, [r4, 0x10]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08095C10
- strb r0, [r4, 0x1]
- ldrh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- adds r2, r4, 0
- adds r2, 0x10
- mov r0, r8
- movs r1, 0
- bl sub_803C37C
-_08095C10:
- ldrb r0, [r4, 0x4]
- bl GetMaxItemCount
- adds r1, r0, 0
- cmp r1, 0
- bne _08095C28
- ldrb r0, [r4, 0x1]
- cmp r0, 0x4
- bne _08095C28
- strb r1, [r4, 0x1]
- ldrh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
-_08095C28:
- ldrb r1, [r4, 0x1]
- mov r0, r8
- mov r2, r9
- bl sub_803C37C
- ldrb r0, [r4, 0x10]
- ldrb r1, [r4, 0x12]
- cmp r0, r1
- beq _08095C28
- movs r0, 0
- strb r0, [r4, 0x13]
- ldrb r0, [r4, 0x1]
- cmp r0, 0x2
- beq _08095C90
- cmp r0, 0x2
- bgt _08095C4E
- cmp r0, 0x1
- beq _08095C6C
- b _08095CCA
-_08095C4E:
- cmp r0, 0x4
- bgt _08095CCA
- bl Random
- adds r1, r0, 0
- movs r0, 0xE0
- lsls r0, 3
- ands r1, r0
- movs r0, 0xC0
- lsls r0, 2
- cmp r1, r0
- beq _08095CC4
- cmp r1, r0
- bgt _08095CB4
- b _08095CAA
-_08095C6C:
- bl Random
- adds r1, r0, 0
- movs r0, 0x70
- ands r1, r0
- cmp r1, 0x10
- beq _08095C80
- cmp r1, 0x30
- beq _08095C88
- b _08095CCA
-_08095C80:
- adds r0, r4, 0
- bl sub_803C3E0
- b _08095CCA
-_08095C88:
- adds r0, r4, 0
- bl sub_803C45C
- b _08095CCA
-_08095C90:
- bl Random
- movs r1, 0xC0
- lsls r1, 6
- ands r1, r0
- movs r0, 0x80
- lsls r0, 5
- cmp r1, r0
- bne _08095CCA
- adds r0, r4, 0
- bl sub_803C4F0
- b _08095CCA
-_08095CAA:
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- beq _08095CBC
- b _08095CCA
-_08095CB4:
- movs r0, 0xC0
- lsls r0, 3
- cmp r1, r0
- bne _08095CCA
-_08095CBC:
- adds r0, r4, 0
- bl sub_803C580
- b _08095CCA
-_08095CC4:
- adds r0, r4, 0
- bl sub_803C610
-_08095CCA:
- movs r0, 0x1
-_08095CCC:
- movs r3, 0xD4
- lsls r3, 2
- add sp, r3
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8095B28
-
- thumb_func_start sub_8095CE0
-sub_8095CE0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x60
- str r0, [sp, 0x44]
- mov r0, sp
- bl sub_80A29B0
- str r0, [sp, 0x4C]
- cmp r0, 0
- bne _08095D0C
- mov r0, sp
- add r1, sp, 0x4C
- ldrb r1, [r1]
- strb r1, [r0]
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r2, 0x2
- str r2, [sp, 0x4C]
-_08095D0C:
- ldr r0, [sp, 0x4C]
- bl RandomCapped
- mov r9, r0
- str r0, [sp, 0x48]
- mov r1, sp
- adds r1, 0x40
- str r1, [sp, 0x5C]
-_08095D1C:
- mov r0, sp
- add r0, r9
- ldrb r7, [r0]
- adds r0, r7, 0
- bl sub_8090298
- str r0, [sp, 0x58]
- lsrs r0, 31
- ldr r2, [sp, 0x58]
- adds r0, r2, r0
- asrs r0, 1
- str r0, [sp, 0x54]
- adds r1, r2, 0
- bl RandomRange
- adds r4, r0, 0
- str r4, [sp, 0x50]
-_08095D3E:
- movs r0, 0x1
- mov r8, r0
- ldr r1, _08095DF4
- ldr r0, [sp, 0x40]
- ands r0, r1
- orrs r0, r7
- lsls r2, r4, 24
- lsrs r2, 16
- ldr r1, _08095DF8
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x40]
- ldr r0, [sp, 0x5C]
- bl sub_809017C
- lsls r0, 24
- cmp r0, 0
- beq _08095D66
- movs r1, 0
- mov r8, r1
-_08095D66:
- ldr r2, _08095DFC
- mov r10, r2
- movs r6, 0
- movs r5, 0x3
-_08095D6E:
- mov r1, r10
- ldr r0, [r1]
- adds r0, r6
- adds r1, r7, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8095E38
- lsls r0, 24
- cmp r0, 0
- beq _08095D88
- movs r2, 0
- mov r8, r2
-_08095D88:
- adds r6, 0x14
- subs r5, 0x1
- cmp r5, 0
- bge _08095D6E
- ldr r0, _08095DFC
- mov r10, r0
- movs r6, 0x50
- movs r5, 0x7
-_08095D98:
- mov r1, r10
- ldr r0, [r1]
- adds r0, r6
- adds r1, r7, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8095E38
- lsls r0, 24
- cmp r0, 0
- beq _08095DB2
- movs r2, 0
- mov r8, r2
-_08095DB2:
- adds r6, 0x14
- subs r5, 0x1
- cmp r5, 0
- bge _08095D98
- ldr r0, _08095DFC
- mov r10, r0
- movs r6, 0xF0
- movs r5, 0x7
-_08095DC2:
- mov r1, r10
- ldr r0, [r1]
- adds r0, r6
- adds r1, r7, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8095E38
- lsls r0, 24
- cmp r0, 0
- beq _08095DDC
- movs r2, 0
- mov r8, r2
-_08095DDC:
- adds r6, 0x14
- subs r5, 0x1
- cmp r5, 0
- bge _08095DC2
- mov r0, r8
- cmp r0, 0
- beq _08095E00
- ldr r1, [sp, 0x44]
- strb r7, [r1, 0x4]
- strb r4, [r1, 0x5]
- movs r0, 0x1
- b _08095E28
- .align 2, 0
-_08095DF4: .4byte 0xffffff00
-_08095DF8: .4byte 0xffff00ff
-_08095DFC: .4byte gUnknown_203B490
-_08095E00:
- adds r4, 0x1
- ldr r2, [sp, 0x58]
- cmp r4, r2
- blt _08095E0A
- ldr r4, [sp, 0x54]
-_08095E0A:
- ldr r0, [sp, 0x50]
- cmp r4, r0
- bne _08095D3E
- movs r1, 0x1
- add r9, r1
- ldr r2, [sp, 0x4C]
- cmp r9, r2
- bne _08095E1E
- movs r0, 0
- mov r9, r0
-_08095E1E:
- ldr r1, [sp, 0x48]
- cmp r9, r1
- beq _08095E26
- b _08095D1C
-_08095E26:
- movs r0, 0
-_08095E28:
- add sp, 0x60
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8095CE0
-
- thumb_func_start sub_8095E38
-sub_8095E38:
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4]
- cmp r0, 0
- beq _08095E6E
- ldrb r0, [r4, 0x1]
- cmp r0, 0x2
- bne _08095E5E
- cmp r3, 0x1
- bne _08095E5E
- ldrb r0, [r4, 0x4]
- cmp r0, r1
- bne _08095E6E
- movs r0, 0x1
- b _08095E70
-_08095E5E:
- ldrb r0, [r4, 0x4]
- cmp r0, r1
- bne _08095E6E
- ldrb r0, [r4, 0x5]
- cmp r0, r2
- bne _08095E6E
- movs r0, 0x1
- b _08095E70
-_08095E6E:
- movs r0, 0
-_08095E70:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8095E38
-
- thumb_func_start sub_8095E78
-sub_8095E78:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x3C
- movs r6, 0
- movs r5, 0x1
-_08095E84:
- ldr r0, _08095F04
- ldr r0, [r0]
- adds r0, r5
- ldrb r0, [r0]
- adds r1, r5, 0x1
- mov r8, r1
- cmp r0, 0
- bne _08095EF6
- lsls r0, r5, 24
- lsrs r0, 24
- bl GetFriendAreaUnlockCondition
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08095EF6
- movs r4, 0
- ldr r0, _08095F08
- ldr r1, [r0]
- movs r3, 0x3
-_08095EAC:
- ldrb r0, [r1]
- cmp r0, 0
- beq _08095EBA
- ldrb r0, [r1, 0x11]
- cmp r0, 0x9
- bne _08095EBA
- movs r4, 0x1
-_08095EBA:
- adds r1, 0x14
- subs r3, 0x1
- cmp r3, 0
- bge _08095EAC
- ldr r0, _08095F08
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0xF0
- adds r1, r0, 0
- movs r3, 0x7
-_08095ECE:
- ldrb r0, [r2]
- cmp r0, 0
- beq _08095EE0
- ldr r7, _08095F0C
- adds r0, r1, r7
- ldrb r0, [r0]
- cmp r0, 0x9
- bne _08095EE0
- movs r4, 0x1
-_08095EE0:
- adds r2, 0x14
- adds r1, 0x14
- subs r3, 0x1
- cmp r3, 0
- bge _08095ECE
- cmp r4, 0
- bne _08095EF6
- mov r1, sp
- adds r0, r1, r6
- strb r5, [r0]
- adds r6, 0x1
-_08095EF6:
- mov r5, r8
- cmp r5, 0x39
- ble _08095E84
- cmp r6, 0
- bne _08095F10
- movs r0, 0
- b _08095F1A
- .align 2, 0
-_08095F04: .4byte gFriendAreas
-_08095F08: .4byte gUnknown_203B490
-_08095F0C: .4byte 0x00000101
-_08095F10:
- adds r0, r6, 0
- bl RandomCapped
- add r0, sp
- ldrb r0, [r0]
-_08095F1A:
- add sp, 0x3C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8095E78
-
- thumb_func_start sub_8095F28
-sub_8095F28:
- push {r4-r7,lr}
- sub sp, 0xF0
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- movs r5, 0x1
-_08095F34:
- lsls r4, r5, 24
- cmp r7, 0x63
- beq _08095F48
- lsrs r1, r4, 24
- adds r0, r7, 0
- bl sub_8091E60
- lsls r0, 24
- cmp r0, 0
- beq _08095F6A
-_08095F48:
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08095F6A
- adds r0, r4, 0
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _08095F6A
- mov r1, sp
- adds r0, r1, r6
- strb r5, [r0]
- adds r6, 0x1
-_08095F6A:
- adds r5, 0x1
- cmp r5, 0xEF
- ble _08095F34
- cmp r6, 0
- beq _08095F80
- adds r0, r6, 0
- bl RandomCapped
- add r0, sp
- ldrb r0, [r0]
- b _08095F82
-_08095F80:
- movs r0, 0
-_08095F82:
- add sp, 0xF0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8095F28
-
- thumb_func_start sub_8095F8C
-sub_8095F8C:
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_08095F92:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096000
- lsls r0, 24
- cmp r0, 0
- bne _08095FA2
- adds r5, 0x1
-_08095FA2:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08095F92
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095F8C
-
- thumb_func_start sub_8095FB0
-sub_8095FB0:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- ldr r5, _08095FD4
- movs r2, 0
-_08095FBA:
- ldr r0, [r5]
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _08095FD8
- adds r0, r4, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- movs r0, 0
- b _08095FE2
- .align 2, 0
-_08095FD4: .4byte gUnknown_203B490
-_08095FD8:
- adds r2, 0x14
- adds r3, 0x1
- cmp r3, 0x3
- ble _08095FBA
- movs r0, 0x1
-_08095FE2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095FB0
-
- thumb_func_start sub_8095FE8
-sub_8095FE8:
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08095FFC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_08095FFC: .4byte gUnknown_203B490
- thumb_func_end sub_8095FE8
-
- thumb_func_start sub_8096000
-sub_8096000:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809601C
- ldr r2, [r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r2, r1
- ldrb r0, [r2]
- cmp r0, 0
- beq _08096020
- movs r0, 0
- b _08096022
- .align 2, 0
-_0809601C: .4byte gUnknown_203B490
-_08096020:
- movs r0, 0x1
-_08096022:
- pop {r1}
- bx r1
- thumb_func_end sub_8096000
-
- thumb_func_start sub_8096028
-sub_8096028:
- push {r4,lr}
- movs r4, 0
-_0809602C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096040
- adds r4, 0x1
- cmp r4, 0x3
- ble _0809602C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8096028
-
- thumb_func_start sub_8096040
-sub_8096040:
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08096074
- ldr r1, [r3]
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 2
- adds r1, r2
- movs r4, 0
- strb r4, [r1]
- ldr r0, [r3]
- adds r0, r2
- movs r1, 0x63
- strb r1, [r0, 0x4]
- ldr r0, [r3]
- adds r0, r2
- strb r4, [r0, 0x5]
- ldr r0, [r3]
- adds r0, r2
- movs r1, 0x5
- strb r1, [r0, 0x11]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096074: .4byte gUnknown_203B490
- thumb_func_end sub_8096040
-
- thumb_func_start sub_8096078
-sub_8096078:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r2, 0
- movs r3, 0
- ldr r0, _08096090
- mov r12, r0
- mov r8, r3
- movs r4, 0
- mov r9, r4
- b _080960B6
- .align 2, 0
-_08096090: .4byte gUnknown_203B490
-_08096094:
- cmp r2, r3
- ble _080960AA
- mov r1, r12
- ldr r0, [r1]
- mov r5, r8
- adds r1, r0, r5
- adds r0, r4
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r6,r7}
- stm r1!, {r6,r7}
-_080960AA:
- adds r4, 0x14
- movs r0, 0x14
- add r9, r0
- adds r2, 0x1
- add r8, r0
- adds r3, 0x1
-_080960B6:
- cmp r2, 0x3
- bgt _080960E2
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080960E2
- ldr r6, _08096110
- mov r1, r9
-_080960CA:
- adds r1, 0x14
- adds r4, 0x14
- movs r5, 0x14
- add r9, r5
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080960E2
- ldr r0, [r6]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080960CA
-_080960E2:
- cmp r2, 0x4
- bne _08096094
- cmp r3, 0x3
- bgt _08096102
- ldr r4, _08096110
- movs r2, 0
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 2
-_080960F4:
- ldr r0, [r4]
- adds r0, r1
- strb r2, [r0]
- adds r1, 0x14
- adds r3, 0x1
- cmp r3, 0x3
- ble _080960F4
-_08096102:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096110: .4byte gUnknown_203B490
- thumb_func_end sub_8096078
-
- thumb_func_start sub_8096114
-sub_8096114:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- movs r1, 0
-_08096122:
- adds r0, r1, 0x1
- mov r10, r0
- mov r8, r10
- cmp r0, 0x3
- bgt _08096198
- ldr r2, _080961B0
- mov r9, r2
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- mov r12, r0
- mov r3, r10
- lsls r0, r3, 2
- add r0, r10
- lsls r4, r0, 2
-_08096140:
- mov r5, r9
- ldr r1, [r5]
- adds r3, r1, r4
- ldrb r0, [r3]
- cmp r0, 0
- beq _0809618C
- mov r6, r12
- adds r2, r1, r6
- ldrb r1, [r2, 0x4]
- ldrb r0, [r3, 0x4]
- cmp r1, r0
- bhi _08096164
- cmp r1, r0
- bne _0809618C
- ldrb r0, [r2, 0x5]
- ldrb r7, [r3, 0x5]
- cmp r0, r7
- bls _0809618C
-_08096164:
- mov r1, sp
- adds r0, r2, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5,r6}
- stm r1!, {r5,r6}
- adds r1, r2, 0
- adds r0, r3, 0
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r5,r6}
- stm r1!, {r5,r6}
- mov r7, r9
- ldr r1, [r7]
- adds r1, r4
- mov r0, sp
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r6,r7}
- stm r1!, {r6,r7}
-_0809618C:
- adds r4, 0x14
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x3
- ble _08096140
-_08096198:
- mov r1, r10
- cmp r1, 0x2
- ble _08096122
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080961B0: .4byte gUnknown_203B490
- thumb_func_end sub_8096114
-
- thumb_func_start sub_80961B4
-sub_80961B4:
- push {lr}
- bl sub_8096E2C
- lsls r0, 24
- cmp r0, 0
- beq _080961CE
- ldr r0, _080961D4
- ldr r0, [r0]
- movs r1, 0xCA
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_080961CE:
- pop {r0}
- bx r0
- .align 2, 0
-_080961D4: .4byte gUnknown_203B490
- thumb_func_end sub_80961B4
-
- thumb_func_start sub_80961D8
-sub_80961D8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- bl sub_8095F8C
- adds r6, r0, 0
- movs r1, 0x4
- bl RandomRange
- mov r8, r0
- cmp r6, 0x3
- bgt _08096202
- ldr r4, _08096208
- ldr r0, [r4]
- movs r2, 0xCA
- lsls r2, 2
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _0809620C
-_08096202:
- movs r0, 0
- b _080963A8
- .align 2, 0
-_08096208: .4byte gUnknown_203B490
-_0809620C:
- strb r7, [r1]
- movs r5, 0x38
- movs r0, 0xA
- movs r1, 0x31
- movs r2, 0x1
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _0809623A
- ldr r0, [r4]
- ldr r1, _08096328
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809623A
- movs r0, 0x35
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _0809623A
- movs r5, 0x35
-_0809623A:
- movs r0, 0xF
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809629C
- ldr r0, _0809632C
- ldr r0, [r0]
- movs r2, 0xC9
- lsls r2, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08096264
- movs r0, 0x34
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _08096264
- movs r5, 0x34
-_08096264:
- ldr r0, _0809632C
- ldr r0, [r0]
- ldr r1, _08096330
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08096280
- movs r0, 0x33
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _08096280
- movs r5, 0x33
-_08096280:
- ldr r0, _0809632C
- ldr r0, [r0]
- ldr r2, _08096334
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809629C
- movs r0, 0x32
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _0809629C
- movs r5, 0x32
-_0809629C:
- bl GetRescueTeamRank
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _080962C4
- ldr r0, _0809632C
- ldr r0, [r0]
- ldr r1, _08096338
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080962C4
- movs r0, 0x36
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _080962C4
- movs r5, 0x36
-_080962C4:
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080962EC
- ldr r0, _0809632C
- ldr r0, [r0]
- ldr r2, _0809633C
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080962EC
- movs r0, 0x37
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _080962EC
- movs r5, 0x37
-_080962EC:
- cmp r5, 0x38
- bne _08096310
- cmp r6, r8
- bgt _08096392
- bl sub_8096E2C
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0xE
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _0809630C
- cmp r5, 0x2
- bhi _0809638E
-_0809630C:
- cmp r5, 0x31
- bhi _0809638E
-_08096310:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_8095FE8
- adds r4, r0, 0
- movs r0, 0x1
- strb r0, [r4]
- movs r0, 0x62
- strb r0, [r4, 0x4]
- strb r5, [r4, 0x5]
- b _0809638A
- .align 2, 0
-_08096328: .4byte 0x00000325
-_0809632C: .4byte gUnknown_203B490
-_08096330: .4byte 0x00000323
-_08096334: .4byte 0x00000322
-_08096338: .4byte 0x00000326
-_0809633C: .4byte 0x00000327
-_08096340:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_8095FE8
- adds r4, r0, 0
- bl sub_8095B28
- lsls r0, 24
- cmp r0, 0
- beq _08096392
- bl sub_8095E78
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0x4
- ldrb r1, [r4, 0x1]
- bl sub_803C1D0
- lsls r0, 24
- cmp r0, 0
- bne _0809636C
- movs r5, 0
-_0809636C:
- movs r0, 0x5
- movs r1, 0xA
- bl RandomRange
- strb r0, [r4, 0x11]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bne _0809638A
- cmp r5, 0
- bne _08096388
- movs r0, 0x5
- strb r0, [r4, 0x11]
- b _0809638A
-_08096388:
- strb r5, [r4, 0x13]
-_0809638A:
- movs r7, 0x1
- adds r6, 0x1
-_0809638E:
- cmp r6, r8
- ble _08096340
-_08096392:
- bl sub_80963B4
- lsls r0, 24
- cmp r0, 0
- beq _0809639E
- movs r7, 0x1
-_0809639E:
- bl sub_8096078
- bl sub_8096114
- adds r0, r7, 0
-_080963A8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80961D8
-
- thumb_func_start sub_80963B4
-sub_80963B4:
- push {r4-r6,lr}
- movs r6, 0
- bl sub_8096E2C
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_8095F8C
- adds r4, r0, 0
- cmp r4, 0x3
- ble _080963CE
- movs r0, 0
- b _080963F4
-_080963CE:
- movs r0, 0xE
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080963F2
- cmp r5, 0x31
- bhi _080963F2
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8095FE8
- movs r1, 0x1
- strb r1, [r0]
- movs r1, 0x62
- strb r1, [r0, 0x4]
- strb r5, [r0, 0x5]
- movs r6, 0x1
-_080963F2:
- adds r0, r6, 0
-_080963F4:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80963B4
-
- thumb_func_start sub_80963FC
-sub_80963FC:
- push {r4-r6,lr}
- movs r6, 0
-_08096400:
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8095FE8
- adds r5, r0, 0
- ldrb r0, [r5]
- cmp r0, 0x1
- beq _08096418
- adds r0, r4, 0
- bl sub_8096040
-_08096418:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08096400
- bl sub_8096078
- bl sub_8095F8C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095FE8
- adds r5, r0, 0
- movs r0, 0
- movs r4, 0x5
- strb r4, [r5]
- strb r0, [r5, 0x1]
- strb r0, [r5, 0x2]
- movs r0, 0x2
- strb r0, [r5, 0x4]
- movs r0, 0x3
- strb r0, [r5, 0x5]
- bl Random
- ldr r1, _08096484
- ands r1, r0
- str r1, [r5, 0x8]
- movs r0, 0x10
- strh r0, [r5, 0xC]
- strh r0, [r5, 0xE]
- ldrb r0, [r5, 0x4]
- bl sub_8095F28
- strb r0, [r5, 0x10]
- strb r4, [r5, 0x11]
-_0809645C:
- ldrb r1, [r5, 0x1]
- adds r0, r5, 0x4
- adds r2, r5, 0
- adds r2, 0x12
- bl sub_803C37C
- ldrb r0, [r5, 0x10]
- ldrb r1, [r5, 0x12]
- cmp r0, r1
- beq _0809645C
- movs r0, 0
- strb r0, [r5, 0x13]
- bl sub_8096078
- bl sub_8096114
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08096484: .4byte 0x00ffffff
- thumb_func_end sub_80963FC
-
- thumb_func_start sub_8096488
-sub_8096488:
- push {r4,lr}
- movs r4, 0
-_0809648C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096040
- adds r4, 0x1
- cmp r4, 0x3
- ble _0809648C
- movs r0, 0
- bl sub_8095FE8
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- movs r1, 0x62
- strb r1, [r0, 0x4]
- strb r2, [r0, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8096488
-
- thumb_func_start sub_80964B4
-sub_80964B4:
- push {lr}
- ldr r0, _080964D4
- ldr r0, [r0]
- ldr r1, _080964D8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080964DC
- movs r0, 0x35
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _080964DC
- movs r0, 0
- b _080964DE
- .align 2, 0
-_080964D4: .4byte gUnknown_203B490
-_080964D8: .4byte 0x00000325
-_080964DC:
- movs r0, 0x1
-_080964DE:
- pop {r1}
- bx r1
- thumb_func_end sub_80964B4
-
- thumb_func_start sub_80964E4
-sub_80964E4:
- push {lr}
- ldr r0, _08096504
- ldr r0, [r0]
- ldr r1, _08096508
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809650C
- movs r0, 0x36
- bl sub_8096E80
- lsls r0, 24
- cmp r0, 0
- bne _0809650C
- movs r0, 0
- b _0809650E
- .align 2, 0
-_08096504: .4byte gUnknown_203B490
-_08096508: .4byte 0x00000326
-_0809650C:
- movs r0, 0x1
-_0809650E:
- pop {r1}
- bx r1
- thumb_func_end sub_80964E4
-
- thumb_func_start sub_8096514
-sub_8096514:
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_0809651A:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_809658C
- lsls r0, 24
- cmp r0, 0
- bne _0809652A
- adds r5, 0x1
-_0809652A:
- adds r4, 0x1
- cmp r4, 0x7
- ble _0809651A
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096514
-
- thumb_func_start sub_8096538
-sub_8096538:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- ldr r5, _08096560
- movs r2, 0
-_08096542:
- ldr r0, [r5]
- adds r0, r2
- adds r1, r0, 0
- adds r1, 0x50
- ldrb r0, [r1]
- cmp r0, 0
- bne _08096564
- adds r0, r4, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- movs r0, 0
- b _0809656E
- .align 2, 0
-_08096560: .4byte gUnknown_203B490
-_08096564:
- adds r2, 0x14
- adds r3, 0x1
- cmp r3, 0x7
- ble _08096542
- movs r0, 0x1
-_0809656E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096538
-
- thumb_func_start sub_8096574
-sub_8096574:
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08096588
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, 0x50
- ldr r0, [r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_08096588: .4byte gUnknown_203B490
- thumb_func_end sub_8096574
-
- thumb_func_start sub_809658C
-sub_809658C:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080965AC
- ldr r2, [r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r2, r1
- adds r2, 0x50
- ldrb r0, [r2]
- cmp r0, 0
- beq _080965B0
- movs r0, 0
- b _080965B2
- .align 2, 0
-_080965AC: .4byte gUnknown_203B490
-_080965B0:
- movs r0, 0x1
-_080965B2:
- pop {r1}
- bx r1
- thumb_func_end sub_809658C
-
- thumb_func_start sub_80965B8
-sub_80965B8:
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080965F0
- ldr r1, [r4]
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 2
- adds r1, r2
- adds r1, 0x50
- movs r3, 0
- strb r3, [r1]
- ldr r0, [r4]
- adds r0, r2
- adds r0, 0x54
- movs r1, 0x63
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r2
- adds r0, 0x55
- strb r3, [r0]
- ldr r0, [r4]
- adds r0, r2
- adds r0, 0x61
- strb r3, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080965F0: .4byte gUnknown_203B490
- thumb_func_end sub_80965B8
-
- thumb_func_start sub_80965F4
-sub_80965F4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r2, 0
- movs r3, 0
- ldr r0, _0809660C
- mov r12, r0
- mov r8, r3
- movs r4, 0
- mov r9, r4
- b _08096636
- .align 2, 0
-_0809660C: .4byte gUnknown_203B490
-_08096610:
- cmp r2, r3
- ble _0809662A
- mov r1, r12
- ldr r0, [r1]
- mov r5, r8
- adds r1, r0, r5
- adds r0, r4
- adds r1, 0x50
- adds r0, 0x50
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r6,r7}
- stm r1!, {r6,r7}
-_0809662A:
- adds r4, 0x14
- movs r0, 0x14
- add r9, r0
- adds r2, 0x1
- add r8, r0
- adds r3, 0x1
-_08096636:
- cmp r2, 0x7
- bgt _08096666
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4
- adds r0, 0x50
- ldrb r0, [r0]
- cmp r0, 0
- bne _08096666
- ldr r6, _08096694
- mov r1, r9
-_0809664C:
- adds r1, 0x14
- adds r4, 0x14
- movs r5, 0x14
- add r9, r5
- adds r2, 0x1
- cmp r2, 0x7
- bgt _08096666
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x50
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809664C
-_08096666:
- cmp r2, 0x8
- bne _08096610
- cmp r3, 0x7
- bgt _08096688
- ldr r4, _08096694
- movs r2, 0
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 2
-_08096678:
- ldr r0, [r4]
- adds r0, r1
- adds r0, 0x50
- strb r2, [r0]
- adds r1, 0x14
- adds r3, 0x1
- cmp r3, 0x7
- ble _08096678
-_08096688:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096694: .4byte gUnknown_203B490
- thumb_func_end sub_80965F4
-
- thumb_func_start sub_8096698
-sub_8096698:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- movs r1, 0
-_080966A6:
- adds r6, r1, 0x1
- mov r10, r6
- cmp r6, 0x7
- bgt _08096730
- ldr r0, _08096748
- mov r8, r0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- mov r9, r0
- lsls r0, r6, 2
- adds r0, r6
- lsls r4, r0, 2
-_080966C0:
- mov r2, r8
- ldr r1, [r2]
- adds r3, r1, r4
- adds r5, r3, 0
- adds r5, 0x50
- ldrb r0, [r5]
- cmp r0, 0
- beq _08096724
- add r1, r9
- mov r12, r1
- mov r0, r12
- adds r0, 0x54
- adds r1, r3, 0
- adds r1, 0x54
- ldrb r2, [r0]
- ldrb r0, [r1]
- cmp r2, r0
- bhi _080966F6
- cmp r2, r0
- bne _08096724
- mov r0, r12
- adds r0, 0x55
- adds r1, 0x1
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _08096724
-_080966F6:
- mov r1, sp
- mov r0, r12
- adds r0, 0x50
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r3,r7}
- stm r1!, {r3,r7}
- mov r1, r12
- adds r1, 0x50
- adds r0, r5, 0
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r7}
- stm r1!, {r2,r7}
- mov r3, r8
- ldr r1, [r3]
- adds r1, r4
- adds r1, 0x50
- mov r0, sp
- ldm r0!, {r2,r5,r7}
- stm r1!, {r2,r5,r7}
- ldm r0!, {r3,r5}
- stm r1!, {r3,r5}
-_08096724:
- adds r4, 0x14
- movs r7, 0x1
- add r10, r7
- mov r0, r10
- cmp r0, 0x7
- ble _080966C0
-_08096730:
- adds r1, r6, 0
- cmp r1, 0x6
- ble _080966A6
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096748: .4byte gUnknown_203B490
- thumb_func_end sub_8096698
-
- thumb_func_start sub_809674C
-sub_809674C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0x4
- movs r1, 0x8
- bl RandomRange
- mov r8, r0
- ldr r3, _08096864
- movs r2, 0
- movs r1, 0
- movs r7, 0x7
-_08096764:
- ldr r0, [r3]
- adds r0, r1
- adds r0, 0x50
- strb r2, [r0]
- adds r1, 0x14
- subs r7, 0x1
- cmp r7, 0
- bge _08096764
- movs r7, 0
- movs r0, 0xE
- bl sub_8097318
- lsls r0, 24
- cmp r0, 0
- beq _080967C0
- movs r0, 0
- bl sub_8096574
- adds r5, r0, 0
- movs r4, 0x2
- strb r4, [r5]
- movs r0, 0x6
- strb r0, [r5, 0x1]
- movs r0, 0x1
- strb r0, [r5, 0x2]
- movs r0, 0x2A
- strb r0, [r5, 0x4]
- movs r0, 0xA
- strb r0, [r5, 0x5]
- bl Random
- ldr r1, _08096868
- ands r1, r0
- str r1, [r5, 0x8]
- movs r1, 0
- movs r0, 0xC2
- lsls r0, 1
- strh r0, [r5, 0xC]
- movs r0, 0x38
- strh r0, [r5, 0xE]
- strb r1, [r5, 0x10]
- strb r4, [r5, 0x11]
- movs r0, 0x3A
- strb r0, [r5, 0x12]
- strb r1, [r5, 0x13]
- movs r7, 0x1
-_080967C0:
- movs r0, 0xF
- bl sub_8097318
- lsls r0, 24
- cmp r0, 0
- beq _0809680A
- lsls r0, r7, 24
- lsrs r0, 24
- bl sub_8096574
- adds r5, r0, 0
- movs r0, 0x3
- strb r0, [r5]
- movs r0, 0x6
- strb r0, [r5, 0x1]
- movs r4, 0x2
- strb r4, [r5, 0x2]
- movs r0, 0x35
- strb r0, [r5, 0x4]
- movs r0, 0xF
- strb r0, [r5, 0x5]
- bl Random
- ldr r1, _08096868
- ands r1, r0
- str r1, [r5, 0x8]
- movs r1, 0
- movs r0, 0x82
- lsls r0, 1
- strh r0, [r5, 0xC]
- strh r0, [r5, 0xE]
- strb r1, [r5, 0x10]
- strb r4, [r5, 0x11]
- movs r0, 0x3A
- strb r0, [r5, 0x12]
- strb r1, [r5, 0x13]
- adds r7, 0x1
-_0809680A:
- movs r0, 0x1C
- bl sub_8097318
- lsls r0, 24
- cmp r0, 0
- beq _08096854
- lsls r0, r7, 24
- lsrs r0, 24
- bl sub_8096574
- adds r5, r0, 0
- movs r0, 0x4
- strb r0, [r5]
- movs r0, 0x6
- strb r0, [r5, 0x1]
- movs r0, 0x3
- strb r0, [r5, 0x2]
- movs r0, 0x1A
- strb r0, [r5, 0x4]
- movs r0, 0x14
- strb r0, [r5, 0x5]
- bl Random
- ldr r1, _08096868
- ands r1, r0
- str r1, [r5, 0x8]
- movs r1, 0
- ldr r0, _0809686C
- strh r0, [r5, 0xC]
- strh r0, [r5, 0xE]
- strb r1, [r5, 0x10]
- movs r0, 0x2
- strb r0, [r5, 0x11]
- movs r0, 0x3A
- strb r0, [r5, 0x12]
- strb r1, [r5, 0x13]
- adds r7, 0x1
-_08096854:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 2
- adds r5, r0, 0
- adds r5, 0x50
- adds r4, r0, 0
- b _08096886
- .align 2, 0
-_08096864: .4byte gUnknown_203B490
-_08096868: .4byte 0x00ffffff
-_0809686C: .4byte 0x0000014d
-_08096870:
- movs r0, 0
- movs r1, 0x4
- bl RandomRange
- ldr r1, [r6]
- adds r1, r4
- adds r1, 0x61
- strb r0, [r1]
- adds r5, 0x14
- adds r4, 0x14
- adds r7, 0x1
-_08096886:
- cmp r7, r8
- bgt _0809689A
- ldr r6, _080968AC
- ldr r0, [r6]
- adds r0, r5
- bl sub_8095B28
- lsls r0, 24
- cmp r0, 0
- bne _08096870
-_0809689A:
- bl sub_80965F4
- bl sub_8096698
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080968AC: .4byte gUnknown_203B490
- thumb_func_end sub_809674C
-
- thumb_func_start sub_80968B0
-sub_80968B0:
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r4, 0
- ldr r0, _08096928
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0xF0
-_080968BE:
- ldrb r0, [r2]
- cmp r0, 0
- beq _0809692C
- ldrb r0, [r3, 0x1]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- bne _0809692C
- ldrb r0, [r3, 0x2]
- ldrb r5, [r2, 0x2]
- cmp r0, r5
- bne _0809692C
- ldrb r0, [r3, 0x4]
- ldrb r1, [r2, 0x4]
- cmp r0, r1
- bne _0809692C
- ldrb r0, [r3, 0x5]
- ldrb r5, [r2, 0x5]
- cmp r0, r5
- bne _0809692C
- ldr r1, [r3, 0x8]
- ldr r0, [r2, 0x8]
- cmp r1, r0
- bne _0809692C
- movs r0, 0xC
- ldrsh r1, [r3, r0]
- movs r5, 0xC
- ldrsh r0, [r2, r5]
- cmp r1, r0
- bne _0809692C
- movs r0, 0xE
- ldrsh r1, [r3, r0]
- movs r5, 0xE
- ldrsh r0, [r2, r5]
- cmp r1, r0
- bne _0809692C
- ldrb r0, [r3, 0x10]
- ldrb r1, [r2, 0x10]
- cmp r0, r1
- bne _0809692C
- ldrb r0, [r3, 0x11]
- ldrb r5, [r2, 0x11]
- cmp r0, r5
- bne _0809692C
- ldrb r0, [r3, 0x12]
- ldrb r1, [r2, 0x12]
- cmp r0, r1
- bne _0809692C
- ldrb r0, [r3, 0x13]
- ldrb r5, [r2, 0x13]
- cmp r0, r5
- bne _0809692C
- movs r0, 0x1
- b _08096936
- .align 2, 0
-_08096928: .4byte gUnknown_203B490
-_0809692C:
- adds r2, 0x14
- adds r4, 0x1
- cmp r4, 0x7
- ble _080968BE
- movs r0, 0
-_08096936:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80968B0
-
- thumb_func_start sub_809693C
-sub_809693C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- ldrb r0, [r4, 0x4]
- mov r9, r0
- ldrb r0, [r4, 0x5]
- mov r8, r0
- movs r7, 0
- adds r0, r4, 0
- bl sub_80959C0
- lsls r0, 24
- cmp r0, 0
- bne _08096962
- b _0809699A
-_0809695E:
- movs r0, 0x1
- b _0809699C
-_08096962:
- ldrb r0, [r4, 0x1]
- cmp r0, 0x2
- bne _0809696A
- movs r7, 0x1
-_0809696A:
- movs r6, 0
- movs r5, 0xF0
- movs r4, 0
-_08096970:
- ldr r0, _080969A8
- ldr r1, [r0]
- adds r0, r1, r4
- adds r0, 0xF0
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _08096990
- adds r0, r1, r5
- mov r1, r9
- mov r2, r8
- adds r3, r7, 0
- bl sub_8095E38
- lsls r0, 24
- cmp r0, 0
- bne _0809695E
-_08096990:
- adds r5, 0x14
- adds r4, 0x14
- adds r6, 0x1
- cmp r6, 0x7
- ble _08096970
-_0809699A:
- movs r0, 0
-_0809699C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080969A8: .4byte gUnknown_203B490
- thumb_func_end sub_809693C
-
- thumb_func_start sub_80969AC
-sub_80969AC:
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_080969B2:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096ACC
- lsls r0, 24
- cmp r0, 0
- bne _080969C2
- adds r5, 0x1
-_080969C2:
- adds r4, 0x1
- cmp r4, 0x7
- ble _080969B2
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80969AC
-
- thumb_func_start sub_80969D0
-sub_80969D0:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r4, 0
-_080969DA:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096AB4
- adds r1, r0, 0
- ldrb r0, [r1, 0x4]
- cmp r0, r6
- bne _080969FA
- ldrb r0, [r1]
- cmp r0, 0x6
- beq _080969F8
- cmp r0, 0x8
- beq _080969F8
- cmp r0, 0x9
- bne _080969FA
-_080969F8:
- adds r5, 0x1
-_080969FA:
- adds r4, 0x1
- cmp r4, 0x7
- ble _080969DA
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80969D0
-
- thumb_func_start sub_8096A08
-sub_8096A08:
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
-_08096A14:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096AB4
- adds r2, r0, 0
- ldrb r0, [r2, 0x4]
- cmp r0, r5
- bne _08096A68
- ldrb r0, [r2]
- cmp r0, 0x6
- bne _08096A68
- ldrb r0, [r2, 0x1]
- cmp r0, 0x2
- bne _08096A68
- ldr r1, _08096A60
- ldr r0, [sp, 0x8]
- ands r0, r1
- movs r1, 0x4A
- orrs r0, r1
- ldr r1, _08096A64
- ands r0, r1
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- str r0, [sp, 0x8]
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- add r0, sp, 0x8
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_808CFD0
- movs r0, 0x1
- b _08096A70
- .align 2, 0
-_08096A60: .4byte 0xffffff00
-_08096A64: .4byte 0xffff00ff
-_08096A68:
- adds r4, 0x1
- cmp r4, 0x7
- ble _08096A14
- movs r0, 0
-_08096A70:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8096A08
-
- thumb_func_start sub_8096A78
-sub_8096A78:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- ldr r5, _08096AA0
- movs r2, 0
-_08096A82:
- ldr r0, [r5]
- adds r0, r2
- adds r1, r0, 0
- adds r1, 0xF0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08096AA4
- adds r0, r4, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- movs r0, 0
- b _08096AAE
- .align 2, 0
-_08096AA0: .4byte gUnknown_203B490
-_08096AA4:
- adds r2, 0x14
- adds r3, 0x1
- cmp r3, 0x7
- ble _08096A82
- movs r0, 0x1
-_08096AAE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096A78
-
- thumb_func_start sub_8096AB4
-sub_8096AB4:
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08096AC8
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, 0xF0
- ldr r0, [r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_08096AC8: .4byte gUnknown_203B490
- thumb_func_end sub_8096AB4
-
- thumb_func_start sub_8096ACC
-sub_8096ACC:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08096AEC
- ldr r2, [r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r2, r1
- adds r2, 0xF0
- ldrb r0, [r2]
- cmp r0, 0
- beq _08096AF0
- movs r0, 0
- b _08096AF2
- .align 2, 0
-_08096AEC: .4byte gUnknown_203B490
-_08096AF0:
- movs r0, 0x1
-_08096AF2:
- pop {r1}
- bx r1
- thumb_func_end sub_8096ACC
-
- thumb_func_start sub_8096AF8
-sub_8096AF8:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r0, r1, 0
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- bl sub_8096AB4
- adds r3, r0, 0
- movs r1, 0
- strb r1, [r5]
- ldrh r0, [r3, 0xC]
- strh r0, [r5, 0x2]
- strh r1, [r5, 0x4]
- ldrb r0, [r3, 0x4]
- cmp r0, r4
- bne _08096B92
- ldrb r0, [r3, 0x1]
- cmp r0, 0x4
- bhi _08096B92
- lsls r0, 2
- ldr r1, _08096B30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08096B30: .4byte _08096B34
- .align 2, 0
-_08096B34:
- .4byte _08096B78
- .4byte _08096B84
- .4byte _08096B84
- .4byte _08096B48
- .4byte _08096B78
-_08096B48:
- ldrb r0, [r3]
- cmp r0, 0x6
- bne _08096B92
- ldr r0, _08096B74
- movs r6, 0x1
- ldr r2, [r0]
- movs r4, 0x13
-_08096B56:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08096B6A
- ldrb r0, [r2, 0x2]
- ldrb r1, [r3, 0x10]
- cmp r0, r1
- bne _08096B6A
- strb r6, [r5]
-_08096B6A:
- adds r2, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08096B56
- b _08096B92
- .align 2, 0
-_08096B74: .4byte gUnknown_203B460
-_08096B78:
- ldrb r0, [r3]
- cmp r0, 0x9
- bne _08096B92
- movs r0, 0x1
- strb r0, [r5]
- b _08096B92
-_08096B84:
- ldrb r0, [r3]
- cmp r0, 0x9
- bne _08096B92
- movs r0, 0x1
- strb r0, [r5]
- ldrh r0, [r3, 0xE]
- strh r0, [r5, 0x4]
-_08096B92:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8096AF8
-
- thumb_func_start sub_8096B98
-sub_8096B98:
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
-_08096BA0:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096AB4
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x6
- bne _08096BC2
- ldrb r0, [r1, 0x1]
- cmp r0, 0x2
- bne _08096BC2
- ldrb r0, [r1, 0x4]
- cmp r0, r5
- bne _08096BC2
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- b _08096BCA
-_08096BC2:
- adds r4, 0x1
- cmp r4, 0x7
- ble _08096BA0
- movs r0, 0
-_08096BCA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8096B98
-
- thumb_func_start sub_8096BD0
-sub_8096BD0:
- push {r4,r5,lr}
- ldr r0, _08096C04
- ldr r0, [r0]
- adds r5, r0, 0
- adds r5, 0xF0
- movs r4, 0
-_08096BDC:
- ldrb r0, [r5]
- cmp r0, 0x9
- bgt _08096BEE
- cmp r0, 0x7
- blt _08096BEE
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096C3C
-_08096BEE:
- adds r5, 0x14
- adds r4, 0x1
- cmp r4, 0x7
- ble _08096BDC
- bl sub_8096C80
- bl sub_8096D24
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08096C04: .4byte gUnknown_203B490
- thumb_func_end sub_8096BD0
-
- thumb_func_start sub_8096C08
-sub_8096C08:
- push {lr}
- adds r3, r0, 0
- ldr r0, _08096C28
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF0
- movs r2, 0
-_08096C16:
- ldrb r0, [r1]
- cmp r0, 0x4
- bls _08096C2C
- ldrb r0, [r1, 0x2]
- cmp r0, 0x4
- bne _08096C2C
- strb r2, [r3]
- movs r0, 0x1
- b _08096C36
- .align 2, 0
-_08096C28: .4byte gUnknown_203B490
-_08096C2C:
- adds r1, 0x14
- adds r2, 0x1
- cmp r2, 0x7
- ble _08096C16
- movs r0, 0
-_08096C36:
- pop {r1}
- bx r1
- thumb_func_end sub_8096C08
-
- thumb_func_start sub_8096C3C
-sub_8096C3C:
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08096C78
- ldr r1, [r3]
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 2
- adds r1, r2
- adds r1, 0xF0
- movs r4, 0
- strb r4, [r1]
- ldr r0, [r3]
- adds r0, r2
- adds r0, 0xF4
- movs r1, 0x63
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, r2
- adds r0, 0xF5
- strb r4, [r0]
- ldr r0, [r3]
- adds r0, r2
- ldr r2, _08096C7C
- adds r1, r0, r2
- movs r0, 0x5
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096C78: .4byte gUnknown_203B490
-_08096C7C: .4byte 0x00000101
- thumb_func_end sub_8096C3C
-
- thumb_func_start sub_8096C80
-sub_8096C80:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r2, 0
- movs r3, 0
- ldr r0, _08096C98
- mov r12, r0
- mov r8, r3
- movs r4, 0
- mov r9, r4
- b _08096CC2
- .align 2, 0
-_08096C98: .4byte gUnknown_203B490
-_08096C9C:
- cmp r2, r3
- ble _08096CB6
- mov r1, r12
- ldr r0, [r1]
- mov r5, r8
- adds r1, r0, r5
- adds r0, r4
- adds r1, 0xF0
- adds r0, 0xF0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r6,r7}
- stm r1!, {r6,r7}
-_08096CB6:
- adds r4, 0x14
- movs r0, 0x14
- add r9, r0
- adds r2, 0x1
- add r8, r0
- adds r3, 0x1
-_08096CC2:
- cmp r2, 0x7
- bgt _08096CF2
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4
- adds r0, 0xF0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08096CF2
- ldr r6, _08096D20
- mov r1, r9
-_08096CD8:
- adds r1, 0x14
- adds r4, 0x14
- movs r5, 0x14
- add r9, r5
- adds r2, 0x1
- cmp r2, 0x7
- bgt _08096CF2
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0xF0
- ldrb r0, [r0]
- cmp r0, 0
- beq _08096CD8
-_08096CF2:
- cmp r2, 0x8
- bne _08096C9C
- cmp r3, 0x7
- bgt _08096D14
- ldr r4, _08096D20
- movs r2, 0
- lsls r0, r3, 2
- adds r0, r3
- lsls r1, r0, 2
-_08096D04:
- ldr r0, [r4]
- adds r0, r1
- adds r0, 0xF0
- strb r2, [r0]
- adds r1, 0x14
- adds r3, 0x1
- cmp r3, 0x7
- ble _08096D04
-_08096D14:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096D20: .4byte gUnknown_203B490
- thumb_func_end sub_8096C80
-
- thumb_func_start sub_8096D24
-sub_8096D24:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- movs r1, 0
-_08096D32:
- adds r6, r1, 0x1
- mov r10, r6
- cmp r6, 0x7
- bgt _08096DBC
- ldr r0, _08096DD4
- mov r8, r0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- mov r9, r0
- lsls r0, r6, 2
- adds r0, r6
- lsls r4, r0, 2
-_08096D4C:
- mov r1, r8
- ldr r2, [r1]
- adds r3, r2, r4
- adds r5, r3, 0
- adds r5, 0xF0
- str r5, [sp, 0x14]
- ldrb r0, [r5]
- cmp r0, 0
- beq _08096DB0
- add r2, r9
- mov r12, r2
- mov r0, r12
- adds r0, 0xF4
- adds r1, r3, 0
- adds r1, 0xF4
- ldrb r2, [r0]
- ldrb r0, [r1]
- cmp r2, r0
- bhi _08096D84
- cmp r2, r0
- bne _08096DB0
- mov r0, r12
- adds r0, 0xF5
- adds r1, 0x1
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _08096DB0
-_08096D84:
- mov r2, r12
- adds r2, 0xF0
- mov r1, sp
- adds r0, r2, 0
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- ldm r0!, {r3,r7}
- stm r1!, {r3,r7}
- ldr r0, [sp, 0x14]
- ldm r0!, {r1,r5,r7}
- stm r2!, {r1,r5,r7}
- ldm r0!, {r3,r5}
- stm r2!, {r3,r5}
- mov r7, r8
- ldr r1, [r7]
- adds r1, r4
- adds r1, 0xF0
- mov r0, sp
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r7}
- stm r1!, {r2,r7}
-_08096DB0:
- adds r4, 0x14
- movs r3, 0x1
- add r10, r3
- mov r5, r10
- cmp r5, 0x7
- ble _08096D4C
-_08096DBC:
- adds r1, r6, 0
- cmp r1, 0x6
- ble _08096D32
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096DD4: .4byte gUnknown_203B490
- thumb_func_end sub_8096D24
-
- thumb_func_start sub_8096DD8
-sub_8096DD8:
- ldr r0, _08096DE4
- ldr r0, [r0]
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r1
- bx lr
- .align 2, 0
-_08096DE4: .4byte gUnknown_203B490
- thumb_func_end sub_8096DD8
-
- thumb_func_start sub_8096DE8
-sub_8096DE8:
- ldr r0, _08096DF4
- ldr r0, [r0]
- movs r1, 0xDC
- lsls r1, 1
- adds r0, r1
- bx lr
- .align 2, 0
-_08096DF4: .4byte gUnknown_203B490
- thumb_func_end sub_8096DE8
-
- thumb_func_start sub_8096DF8
-sub_8096DF8:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08096E10
- ldr r1, [r1]
- movs r2, 0xBC
- lsls r2, 2
- adds r1, r2
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08096E10: .4byte gUnknown_203B490
- thumb_func_end sub_8096DF8
-
- thumb_func_start sub_8096E14
-sub_8096E14:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08096E28
- ldr r1, [r1]
- movs r2, 0xBC
- lsls r2, 2
- adds r1, r2
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_08096E28: .4byte gUnknown_203B490
- thumb_func_end sub_8096E14
-
- thumb_func_start sub_8096E2C
-sub_8096E2C:
- push {lr}
- movs r3, 0
- ldr r0, _08096E70
- ldr r1, [r0]
- movs r2, 0x3
-_08096E36:
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _08096E48
- ldrb r0, [r1, 0x5]
- cmp r3, r0
- bgt _08096E48
- cmp r0, 0x31
- bhi _08096E48
- adds r3, r0, 0x1
-_08096E48:
- adds r1, 0x14
- subs r2, 0x1
- cmp r2, 0
- bge _08096E36
- adds r2, r3, 0
- cmp r2, 0x31
- bgt _08096E7A
- ldr r0, _08096E70
- ldr r0, [r0]
- movs r3, 0xBC
- lsls r3, 2
- adds r1, r0, r3
-_08096E60:
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08096E74
- lsls r0, r2, 24
- lsrs r0, 24
- b _08096E7C
- .align 2, 0
-_08096E70: .4byte gUnknown_203B490
-_08096E74:
- adds r2, 0x1
- cmp r2, 0x31
- ble _08096E60
-_08096E7A:
- movs r0, 0x38
-_08096E7C:
- pop {r1}
- bx r1
- thumb_func_end sub_8096E2C
-
- thumb_func_start sub_8096E80
-sub_8096E80:
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r0, _08096E9C
- ldr r1, [r0]
-_08096E8C:
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _08096EA0
- ldrb r0, [r1, 0x5]
- cmp r3, r0
- bne _08096EA0
- movs r0, 0x1
- b _08096EAA
- .align 2, 0
-_08096E9C: .4byte gUnknown_203B490
-_08096EA0:
- adds r1, 0x14
- adds r2, 0x1
- cmp r2, 0x3
- ble _08096E8C
- movs r0, 0
-_08096EAA:
- pop {r1}
- bx r1
- thumb_func_end sub_8096E80
-
- thumb_func_start sub_8096EB0
-sub_8096EB0:
- ldrb r1, [r0, 0x2]
- ldrb r2, [r0, 0x1]
- adds r1, r2
- ldrb r3, [r0, 0x4]
- adds r2, r1, r3
- ldrb r1, [r0, 0x5]
- adds r2, r1
- ldr r1, [r0, 0x8]
- lsls r1, 8
- adds r2, r1
- movs r3, 0xC
- ldrsh r1, [r0, r3]
- lsls r1, 12
- adds r2, r1
- movs r3, 0xE
- ldrsh r1, [r0, r3]
- lsls r1, 16
- adds r2, r1
- ldrb r1, [r0, 0x10]
- lsls r1, 24
- adds r1, r2, r1
- ldrb r3, [r0, 0x11]
- adds r2, r1, r3
- ldrb r1, [r0, 0x12]
- adds r1, r2, r1
- ldrb r0, [r0, 0x13]
- adds r2, r1, r0
- adds r0, r2, 0
- bx lr
- thumb_func_end sub_8096EB0
-
- thumb_func_start sub_8096EEC
-sub_8096EEC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r12, r0
- movs r3, 0xF
- ldr r5, _08096F4C
- mov r8, r5
- movs r4, 0x8C
- lsls r4, 2
-_08096EFE:
- mov r0, r8
- ldr r2, [r0]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 2
- adds r1, r2, r1
- subs r3, 0x1
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r2, r0
- adds r1, r4
- adds r2, r4
- ldm r2!, {r0,r6,r7}
- stm r1!, {r0,r6,r7}
- cmp r3, 0
- bgt _08096EFE
- ldr r2, [r5]
- movs r3, 0x8C
- lsls r3, 2
- adds r2, r3
- mov r6, r12
- ldr r0, [r6, 0x4]
- ldr r1, [r6, 0x8]
- str r0, [r2]
- str r1, [r2, 0x4]
- mov r0, r12
- bl sub_8096EB0
- ldr r1, [r5]
- movs r7, 0x8E
- lsls r7, 2
- adds r1, r7
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096F4C: .4byte gUnknown_203B490
- thumb_func_end sub_8096EEC
-
- thumb_func_start sub_8096F50
-sub_8096F50:
- push {r4-r7,lr}
- adds r4, r0, 0
- bl sub_8096EB0
- mov r12, r0
- movs r5, 0
- ldr r0, _08096F8C
- ldr r7, [r0]
- ldrb r6, [r4, 0x4]
- movs r3, 0
-_08096F64:
- movs r1, 0x8C
- lsls r1, 2
- adds r0, r3, r1
- adds r2, r7, r0
- ldrb r0, [r2]
- cmp r0, r6
- bne _08096F90
- ldrb r0, [r2, 0x1]
- ldrb r1, [r4, 0x5]
- cmp r0, r1
- bne _08096F90
- ldr r1, [r2, 0x4]
- ldr r0, [r4, 0x8]
- cmp r1, r0
- bne _08096F90
- ldr r0, [r2, 0x8]
- cmp r0, r12
- bne _08096F90
- movs r0, 0x1
- b _08096F9A
- .align 2, 0
-_08096F8C: .4byte gUnknown_203B490
-_08096F90:
- adds r3, 0xC
- adds r5, 0x1
- cmp r5, 0xF
- ble _08096F64
- movs r0, 0
-_08096F9A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8096F50
-
- thumb_func_start sub_8096FA0
-sub_8096FA0:
- push {r4-r7,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- add r7, sp, 0x10
- ldr r6, _08097020
- movs r5, 0
- movs r4, 0x3
-_08096FB8:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_80971EC
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _08096FB8
- ldr r6, _08097020
- movs r5, 0x50
- movs r4, 0x7
-_08096FD0:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_80971EC
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _08096FD0
- ldr r6, _08097020
- movs r5, 0xF0
- movs r4, 0x7
-_08096FE8:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_80971EC
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _08096FE8
- movs r4, 0
- movs r6, 0x1
- ldr r5, _08097020
-_08097000:
- mov r0, sp
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_8094924
- ldr r1, [sp, 0x10]
- ands r1, r6
- cmp r1, 0
- beq _08097024
- ldr r0, [r5]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r1
- adds r0, r4
- strb r6, [r0]
- b _08097030
- .align 2, 0
-_08097020: .4byte gUnknown_203B490
-_08097024:
- ldr r0, [r5]
- movs r2, 0xBC
- lsls r2, 2
- adds r0, r2
- adds r0, r4
- strb r1, [r0]
-_08097030:
- adds r4, 0x1
- cmp r4, 0x37
- ble _08097000
- mov r0, sp
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_8094924
- ldr r1, [sp, 0x10]
- movs r2, 0x1
- ands r1, r2
- cmp r1, 0
- beq _0809705C
- ldr r0, _08097058
- ldr r0, [r0]
- movs r1, 0xCA
- lsls r1, 2
- adds r0, r1
- strb r2, [r0]
- b _08097068
- .align 2, 0
-_08097058: .4byte gUnknown_203B490
-_0809705C:
- ldr r0, _080970D4
- ldr r0, [r0]
- movs r2, 0xCA
- lsls r2, 2
- adds r0, r2
- strb r1, [r0]
-_08097068:
- ldr r4, _080970D4
- ldr r1, [r4]
- movs r0, 0xC8
- lsls r0, 1
- adds r1, r0
- movs r2, 0xA0
- lsls r2, 1
- mov r0, sp
- bl sub_8094924
- ldr r1, [r4]
- movs r2, 0xDC
- lsls r2, 1
- adds r1, r2
- movs r2, 0xF0
- lsls r2, 2
- mov r0, sp
- bl sub_8094924
- adds r6, r4, 0
- movs r5, 0x8C
- lsls r5, 2
- movs r4, 0xF
-_08097096:
- ldr r1, [r6]
- adds r1, r5
- adds r1, 0x8
- mov r0, sp
- movs r2, 0x20
- bl sub_8094924
- ldr r1, [r6]
- adds r1, r5
- adds r1, 0x4
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8090314
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _08097096
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080970D4: .4byte gUnknown_203B490
- thumb_func_end sub_8096FA0
-
- thumb_func_start sub_80970D8
-sub_80970D8:
- push {r4-r7,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809486C
- add r7, sp, 0x10
- ldr r6, _080971E8
- movs r5, 0
- movs r4, 0x3
-_080970F0:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8097270
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _080970F0
- ldr r6, _080971E8
- movs r5, 0x50
- movs r4, 0x7
-_08097108:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8097270
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _08097108
- ldr r6, _080971E8
- movs r5, 0xF0
- movs r4, 0x7
-_08097120:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8097270
- adds r5, 0x14
- subs r4, 0x1
- cmp r4, 0
- bge _08097120
- movs r4, 0
-_08097134:
- ldr r0, _080971E8
- ldr r0, [r0]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809714A
- movs r0, 0x1
- negs r0, r0
-_0809714A:
- str r0, [sp, 0x10]
- mov r0, sp
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_809488C
- adds r4, 0x1
- cmp r4, 0x37
- ble _08097134
- ldr r0, _080971E8
- ldr r0, [r0]
- movs r1, 0xCA
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08097170
- movs r0, 0x1
- negs r0, r0
-_08097170:
- str r0, [sp, 0x10]
- mov r0, sp
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r4, _080971E8
- ldr r1, [r4]
- movs r0, 0xC8
- lsls r0, 1
- adds r1, r0
- movs r2, 0xA0
- lsls r2, 1
- mov r0, sp
- bl sub_809488C
- ldr r1, [r4]
- movs r0, 0xDC
- lsls r0, 1
- adds r1, r0
- movs r2, 0xF0
- lsls r2, 2
- mov r0, sp
- bl sub_809488C
- adds r6, r4, 0
- movs r5, 0x8C
- lsls r5, 2
- movs r4, 0xF
-_080971AA:
- ldr r1, [r6]
- adds r1, r5
- adds r1, 0x8
- mov r0, sp
- movs r2, 0x20
- bl sub_809488C
- ldr r1, [r6]
- adds r1, r5
- adds r1, 0x4
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_80902F4
- adds r5, 0xC
- subs r4, 0x1
- cmp r4, 0
- bge _080971AA
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080971E8: .4byte gUnknown_203B490
- thumb_func_end sub_80970D8
-
- thumb_func_start sub_80971EC
-sub_80971EC:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r5, 0x1
- adds r0, r4, 0
- movs r2, 0x3
- bl sub_8094924
- adds r1, r5, 0x2
- adds r0, r4, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0xC
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0xE
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x10
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x11
- adds r0, r4, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x12
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x13
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x8
- adds r0, r4, 0
- movs r2, 0x18
- bl sub_8094924
- adds r1, r5, 0x4
- adds r0, r4, 0
- bl sub_8090314
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80971EC
-
- thumb_func_start sub_8097270
-sub_8097270:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r5, 0x1
- adds r0, r4, 0
- movs r2, 0x3
- bl sub_809488C
- adds r1, r5, 0x2
- adds r0, r4, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0xC
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0xE
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x10
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x11
- adds r0, r4, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x12
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x13
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x8
- adds r0, r4, 0
- movs r2, 0x18
- bl sub_809488C
- adds r1, r5, 0x4
- adds r0, r4, 0
- bl sub_80902F4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8097270
-
- thumb_func_start sub_80972F4
-sub_80972F4:
- push {lr}
- movs r0, 0
- movs r1, 0x2B
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x2C
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x2D
- bl sub_80015C0
- pop {r0}
- bx r0
- thumb_func_end sub_80972F4
-
- thumb_func_start nullsub_128
-nullsub_128:
- bx lr
- thumb_func_end nullsub_128
-
- thumb_func_start sub_8097318
-sub_8097318:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- bne _08097326
- movs r0, 0
- b _08097338
-_08097326:
- lsls r2, r0, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x2B
- bl sub_8001784
- cmp r0, 0
- beq _08097338
- movs r0, 0x1
-_08097338:
- pop {r1}
- bx r1
- thumb_func_end sub_8097318
-
- thumb_func_start sub_809733C
-sub_809733C:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r4, 0xD
- beq _0809737C
- lsls r0, r4, 16
- lsrs r5, r0, 16
- movs r0, 0
- movs r1, 0x2C
- adds r2, r5, 0
- bl sub_8001784
- cmp r0, 0
- bne _0809737C
- movs r0, 0
- movs r1, 0x2B
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_800199C
- cmp r6, 0
- beq _0809737C
- cmp r4, 0xE
- blt _0809737C
- cmp r4, 0xF
- ble _08097378
- cmp r4, 0x1C
- bne _0809737C
-_08097378:
- bl sub_809674C
-_0809737C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_809733C
-
- thumb_func_start sub_8097384
-sub_8097384:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- bne _08097392
- movs r0, 0
- b _080973A4
-_08097392:
- lsls r2, r0, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x2C
- bl sub_8001784
- cmp r0, 0
- beq _080973A4
- movs r0, 0x1
-_080973A4:
- pop {r1}
- bx r1
- thumb_func_end sub_8097384
-
- thumb_func_start sub_80973A8
-sub_80973A8:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r0, 0xD
- beq _080973EE
- lsls r5, r0, 16
- cmp r6, 0
- beq _080973E2
- bl sub_80A26B8
- lsls r0, 16
- asrs r4, r0, 16
- lsrs r2, r5, 16
- movs r0, 0
- movs r1, 0x2B
- movs r3, 0
- bl sub_800199C
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _080973E2
- movs r0, 0
- movs r1, 0x12
- adds r2, r4, 0
- bl sub_80018D8
-_080973E2:
- lsrs r2, r5, 16
- movs r0, 0
- movs r1, 0x2C
- adds r3, r6, 0
- bl sub_800199C
-_080973EE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80973A8
-
- thumb_func_start sub_80973F4
-sub_80973F4:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- bne _08097402
- movs r0, 0
- b _08097414
-_08097402:
- lsls r2, r0, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x2D
- bl sub_8001784
- cmp r0, 0
- beq _08097414
- movs r0, 0x1
-_08097414:
- pop {r1}
- bx r1
- thumb_func_end sub_80973F4
-
- thumb_func_start sub_8097418
-sub_8097418:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r5, 0xD
- beq _08097470
- lsls r6, r5, 16
- cmp r7, 0
- beq _08097464
- lsrs r2, r6, 16
- movs r0, 0
- movs r1, 0x2C
- movs r3, 0
- bl sub_800199C
- cmp r5, 0x1E
- bgt _08097464
- lsls r0, r5, 3
- ldr r1, _08097478
- adds r4, r0, r1
- ldrb r0, [r4, 0x4]
- cmp r0, 0xFF
- beq _0809744C
- bl sub_8097FA8
-_0809744C:
- ldrb r0, [r4, 0x5]
- cmp r0, 0xFF
- beq _08097456
- bl sub_8097FA8
-_08097456:
- cmp r5, 0x9
- bne _08097460
- movs r0, 0x1F
- bl sub_8097FA8
-_08097460:
- bl sub_8097FF8
-_08097464:
- lsrs r2, r6, 16
- movs r0, 0
- movs r1, 0x2D
- adds r3, r7, 0
- bl sub_800199C
-_08097470:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08097478: .4byte gStoryMissionText
- thumb_func_end sub_8097418
.align 2,0
diff --git a/asm/code_80958E8.s b/asm/code_80958E8.s
new file mode 100644
index 0000000..896c0dd
--- /dev/null
+++ b/asm/code_80958E8.s
@@ -0,0 +1,3495 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8095B28
+sub_8095B28:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ ldr r4, _08095B44
+ add sp, r4
+ adds r4, r0, 0
+ bl sub_8095CE0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08095B48
+ movs r0, 0
+ b _08095CCC
+ .align 2, 0
+_08095B44: .4byte 0xfffffcb0
+_08095B48:
+ movs r0, 0x5
+ strb r0, [r4]
+ movs r0, 0x8
+ bl RandomCapped
+ ldr r1, _08095BC8
+ adds r0, r1
+ ldrb r0, [r0]
+ strb r0, [r4, 0x1]
+ cmp r0, 0x2
+ bne _08095B6C
+ bl GetRescueTeamRank
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _08095B6C
+ strb r0, [r4, 0x1]
+_08095B6C:
+ movs r0, 0
+ strb r0, [r4, 0x2]
+ bl Random
+ ldr r1, _08095BCC
+ ands r1, r0
+ str r1, [r4, 0x8]
+ movs r7, 0
+ movs r5, 0x1
+ adds r0, r4, 0x4
+ mov r8, r0
+ movs r1, 0x12
+ adds r1, r4
+ mov r9, r1
+ mov r6, sp
+_08095B8A:
+ lsls r0, r5, 16
+ asrs r0, 16
+ bl sub_803C110
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095B9E
+ strh r5, [r6]
+ adds r6, 0x2
+ adds r7, 0x1
+_08095B9E:
+ adds r5, 0x1
+ ldr r0, _08095BD0
+ cmp r5, r0
+ ble _08095B8A
+ cmp r7, 0
+ beq _08095BD4
+ adds r0, r7, 0
+ bl RandomCapped
+ lsls r0, 1
+ add r0, sp
+ ldrh r0, [r0]
+ strh r0, [r4, 0xC]
+ adds r0, r7, 0
+ bl RandomCapped
+ lsls r0, 1
+ add r0, sp
+ ldrh r0, [r0]
+ b _08095BDC
+ .align 2, 0
+_08095BC8: .4byte gUnknown_8109984
+_08095BCC: .4byte 0x00ffffff
+_08095BD0: .4byte 0x000001a7
+_08095BD4:
+ movs r0, 0x10
+ strh r0, [r4, 0xC]
+ movs r0, 0x91
+ lsls r0, 1
+_08095BDC:
+ strh r0, [r4, 0xE]
+ ldrb r0, [r4, 0x1]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _08095BEE
+ ldrh r0, [r4, 0xC]
+ strh r0, [r4, 0xE]
+_08095BEE:
+ ldrb r0, [r4, 0x4]
+ bl sub_8095F28
+ strb r0, [r4, 0x10]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _08095C10
+ strb r0, [r4, 0x1]
+ ldrh r0, [r4, 0xC]
+ strh r0, [r4, 0xE]
+ adds r2, r4, 0
+ adds r2, 0x10
+ mov r0, r8
+ movs r1, 0
+ bl sub_803C37C
+_08095C10:
+ ldrb r0, [r4, 0x4]
+ bl GetMaxItemCount
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _08095C28
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x4
+ bne _08095C28
+ strb r1, [r4, 0x1]
+ ldrh r0, [r4, 0xC]
+ strh r0, [r4, 0xE]
+_08095C28:
+ ldrb r1, [r4, 0x1]
+ mov r0, r8
+ mov r2, r9
+ bl sub_803C37C
+ ldrb r0, [r4, 0x10]
+ ldrb r1, [r4, 0x12]
+ cmp r0, r1
+ beq _08095C28
+ movs r0, 0
+ strb r0, [r4, 0x13]
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x2
+ beq _08095C90
+ cmp r0, 0x2
+ bgt _08095C4E
+ cmp r0, 0x1
+ beq _08095C6C
+ b _08095CCA
+_08095C4E:
+ cmp r0, 0x4
+ bgt _08095CCA
+ bl Random
+ adds r1, r0, 0
+ movs r0, 0xE0
+ lsls r0, 3
+ ands r1, r0
+ movs r0, 0xC0
+ lsls r0, 2
+ cmp r1, r0
+ beq _08095CC4
+ cmp r1, r0
+ bgt _08095CB4
+ b _08095CAA
+_08095C6C:
+ bl Random
+ adds r1, r0, 0
+ movs r0, 0x70
+ ands r1, r0
+ cmp r1, 0x10
+ beq _08095C80
+ cmp r1, 0x30
+ beq _08095C88
+ b _08095CCA
+_08095C80:
+ adds r0, r4, 0
+ bl sub_803C3E0
+ b _08095CCA
+_08095C88:
+ adds r0, r4, 0
+ bl sub_803C45C
+ b _08095CCA
+_08095C90:
+ bl Random
+ movs r1, 0xC0
+ lsls r1, 6
+ ands r1, r0
+ movs r0, 0x80
+ lsls r0, 5
+ cmp r1, r0
+ bne _08095CCA
+ adds r0, r4, 0
+ bl sub_803C4F0
+ b _08095CCA
+_08095CAA:
+ movs r0, 0x80
+ lsls r0, 1
+ cmp r1, r0
+ beq _08095CBC
+ b _08095CCA
+_08095CB4:
+ movs r0, 0xC0
+ lsls r0, 3
+ cmp r1, r0
+ bne _08095CCA
+_08095CBC:
+ adds r0, r4, 0
+ bl sub_803C580
+ b _08095CCA
+_08095CC4:
+ adds r0, r4, 0
+ bl sub_803C610
+_08095CCA:
+ movs r0, 0x1
+_08095CCC:
+ movs r3, 0xD4
+ lsls r3, 2
+ add sp, r3
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095B28
+
+ thumb_func_start sub_8095CE0
+sub_8095CE0:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x60
+ str r0, [sp, 0x44]
+ mov r0, sp
+ bl sub_80A29B0
+ str r0, [sp, 0x4C]
+ cmp r0, 0
+ bne _08095D0C
+ mov r0, sp
+ add r1, sp, 0x4C
+ ldrb r1, [r1]
+ strb r1, [r0]
+ mov r1, sp
+ movs r0, 0x1
+ strb r0, [r1, 0x1]
+ movs r2, 0x2
+ str r2, [sp, 0x4C]
+_08095D0C:
+ ldr r0, [sp, 0x4C]
+ bl RandomCapped
+ mov r9, r0
+ str r0, [sp, 0x48]
+ mov r1, sp
+ adds r1, 0x40
+ str r1, [sp, 0x5C]
+_08095D1C:
+ mov r0, sp
+ add r0, r9
+ ldrb r7, [r0]
+ adds r0, r7, 0
+ bl sub_8090298
+ str r0, [sp, 0x58]
+ lsrs r0, 31
+ ldr r2, [sp, 0x58]
+ adds r0, r2, r0
+ asrs r0, 1
+ str r0, [sp, 0x54]
+ adds r1, r2, 0
+ bl RandomRange
+ adds r4, r0, 0
+ str r4, [sp, 0x50]
+_08095D3E:
+ movs r0, 0x1
+ mov r8, r0
+ ldr r1, _08095DF4
+ ldr r0, [sp, 0x40]
+ ands r0, r1
+ orrs r0, r7
+ lsls r2, r4, 24
+ lsrs r2, 16
+ ldr r1, _08095DF8
+ ands r0, r1
+ orrs r0, r2
+ str r0, [sp, 0x40]
+ ldr r0, [sp, 0x5C]
+ bl sub_809017C
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095D66
+ movs r1, 0
+ mov r8, r1
+_08095D66:
+ ldr r2, _08095DFC
+ mov r10, r2
+ movs r6, 0
+ movs r5, 0x3
+_08095D6E:
+ mov r1, r10
+ ldr r0, [r1]
+ adds r0, r6
+ adds r1, r7, 0
+ adds r2, r4, 0
+ movs r3, 0x1
+ bl sub_8095E38
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095D88
+ movs r2, 0
+ mov r8, r2
+_08095D88:
+ adds r6, 0x14
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08095D6E
+ ldr r0, _08095DFC
+ mov r10, r0
+ movs r6, 0x50
+ movs r5, 0x7
+_08095D98:
+ mov r1, r10
+ ldr r0, [r1]
+ adds r0, r6
+ adds r1, r7, 0
+ adds r2, r4, 0
+ movs r3, 0x1
+ bl sub_8095E38
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095DB2
+ movs r2, 0
+ mov r8, r2
+_08095DB2:
+ adds r6, 0x14
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08095D98
+ ldr r0, _08095DFC
+ mov r10, r0
+ movs r6, 0xF0
+ movs r5, 0x7
+_08095DC2:
+ mov r1, r10
+ ldr r0, [r1]
+ adds r0, r6
+ adds r1, r7, 0
+ adds r2, r4, 0
+ movs r3, 0x1
+ bl sub_8095E38
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095DDC
+ movs r2, 0
+ mov r8, r2
+_08095DDC:
+ adds r6, 0x14
+ subs r5, 0x1
+ cmp r5, 0
+ bge _08095DC2
+ mov r0, r8
+ cmp r0, 0
+ beq _08095E00
+ ldr r1, [sp, 0x44]
+ strb r7, [r1, 0x4]
+ strb r4, [r1, 0x5]
+ movs r0, 0x1
+ b _08095E28
+ .align 2, 0
+_08095DF4: .4byte 0xffffff00
+_08095DF8: .4byte 0xffff00ff
+_08095DFC: .4byte gUnknown_203B490
+_08095E00:
+ adds r4, 0x1
+ ldr r2, [sp, 0x58]
+ cmp r4, r2
+ blt _08095E0A
+ ldr r4, [sp, 0x54]
+_08095E0A:
+ ldr r0, [sp, 0x50]
+ cmp r4, r0
+ bne _08095D3E
+ movs r1, 0x1
+ add r9, r1
+ ldr r2, [sp, 0x4C]
+ cmp r9, r2
+ bne _08095E1E
+ movs r0, 0
+ mov r9, r0
+_08095E1E:
+ ldr r1, [sp, 0x48]
+ cmp r9, r1
+ beq _08095E26
+ b _08095D1C
+_08095E26:
+ movs r0, 0
+_08095E28:
+ add sp, 0x60
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095CE0
+
+ thumb_func_start sub_8095E38
+sub_8095E38:
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r3, 24
+ lsrs r3, 24
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _08095E6E
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x2
+ bne _08095E5E
+ cmp r3, 0x1
+ bne _08095E5E
+ ldrb r0, [r4, 0x4]
+ cmp r0, r1
+ bne _08095E6E
+ movs r0, 0x1
+ b _08095E70
+_08095E5E:
+ ldrb r0, [r4, 0x4]
+ cmp r0, r1
+ bne _08095E6E
+ ldrb r0, [r4, 0x5]
+ cmp r0, r2
+ bne _08095E6E
+ movs r0, 0x1
+ b _08095E70
+_08095E6E:
+ movs r0, 0
+_08095E70:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095E38
+
+ thumb_func_start sub_8095E78
+sub_8095E78:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x3C
+ movs r6, 0
+ movs r5, 0x1
+_08095E84:
+ ldr r0, _08095F04
+ ldr r0, [r0]
+ adds r0, r5
+ ldrb r0, [r0]
+ adds r1, r5, 0x1
+ mov r8, r1
+ cmp r0, 0
+ bne _08095EF6
+ lsls r0, r5, 24
+ lsrs r0, 24
+ bl GetFriendAreaUnlockCondition
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bne _08095EF6
+ movs r4, 0
+ ldr r0, _08095F08
+ ldr r1, [r0]
+ movs r3, 0x3
+_08095EAC:
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _08095EBA
+ ldrb r0, [r1, 0x11]
+ cmp r0, 0x9
+ bne _08095EBA
+ movs r4, 0x1
+_08095EBA:
+ adds r1, 0x14
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08095EAC
+ ldr r0, _08095F08
+ ldr r0, [r0]
+ adds r2, r0, 0
+ adds r2, 0xF0
+ adds r1, r0, 0
+ movs r3, 0x7
+_08095ECE:
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _08095EE0
+ ldr r7, _08095F0C
+ adds r0, r1, r7
+ ldrb r0, [r0]
+ cmp r0, 0x9
+ bne _08095EE0
+ movs r4, 0x1
+_08095EE0:
+ adds r2, 0x14
+ adds r1, 0x14
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08095ECE
+ cmp r4, 0
+ bne _08095EF6
+ mov r1, sp
+ adds r0, r1, r6
+ strb r5, [r0]
+ adds r6, 0x1
+_08095EF6:
+ mov r5, r8
+ cmp r5, 0x39
+ ble _08095E84
+ cmp r6, 0
+ bne _08095F10
+ movs r0, 0
+ b _08095F1A
+ .align 2, 0
+_08095F04: .4byte gFriendAreas
+_08095F08: .4byte gUnknown_203B490
+_08095F0C: .4byte 0x00000101
+_08095F10:
+ adds r0, r6, 0
+ bl RandomCapped
+ add r0, sp
+ ldrb r0, [r0]
+_08095F1A:
+ add sp, 0x3C
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095E78
+
+ thumb_func_start sub_8095F28
+sub_8095F28:
+ push {r4-r7,lr}
+ sub sp, 0xF0
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r6, 0
+ movs r5, 0x1
+_08095F34:
+ lsls r4, r5, 24
+ cmp r7, 0x63
+ beq _08095F48
+ lsrs r1, r4, 24
+ adds r0, r7, 0
+ bl sub_8091E60
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095F6A
+_08095F48:
+ lsrs r4, 24
+ adds r0, r4, 0
+ bl sub_8090A60
+ lsls r0, 24
+ cmp r0, 0
+ bne _08095F6A
+ adds r0, r4, 0
+ bl sub_8091524
+ lsls r0, 24
+ cmp r0, 0
+ beq _08095F6A
+ mov r1, sp
+ adds r0, r1, r6
+ strb r5, [r0]
+ adds r6, 0x1
+_08095F6A:
+ adds r5, 0x1
+ cmp r5, 0xEF
+ ble _08095F34
+ cmp r6, 0
+ beq _08095F80
+ adds r0, r6, 0
+ bl RandomCapped
+ add r0, sp
+ ldrb r0, [r0]
+ b _08095F82
+_08095F80:
+ movs r0, 0
+_08095F82:
+ add sp, 0xF0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095F28
+
+ thumb_func_start sub_8095F8C
+sub_8095F8C:
+ push {r4,r5,lr}
+ movs r5, 0
+ movs r4, 0
+_08095F92:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096000
+ lsls r0, 24
+ cmp r0, 0
+ bne _08095FA2
+ adds r5, 0x1
+_08095FA2:
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _08095F92
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095F8C
+
+ thumb_func_start sub_8095FB0
+sub_8095FB0:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r3, 0
+ ldr r5, _08095FD4
+ movs r2, 0
+_08095FBA:
+ ldr r0, [r5]
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08095FD8
+ adds r0, r4, 0
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2,r3}
+ stm r1!, {r2,r3}
+ movs r0, 0
+ b _08095FE2
+ .align 2, 0
+_08095FD4: .4byte gUnknown_203B490
+_08095FD8:
+ adds r2, 0x14
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _08095FBA
+ movs r0, 0x1
+_08095FE2:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8095FB0
+
+ thumb_func_start sub_8095FE8
+sub_8095FE8:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08095FFC
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, [r2]
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_08095FFC: .4byte gUnknown_203B490
+ thumb_func_end sub_8095FE8
+
+ thumb_func_start sub_8096000
+sub_8096000:
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0809601C
+ ldr r2, [r1]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ adds r2, r1
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _08096020
+ movs r0, 0
+ b _08096022
+ .align 2, 0
+_0809601C: .4byte gUnknown_203B490
+_08096020:
+ movs r0, 0x1
+_08096022:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096000
+
+ thumb_func_start sub_8096028
+sub_8096028:
+ push {r4,lr}
+ movs r4, 0
+_0809602C:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096040
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _0809602C
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8096028
+
+ thumb_func_start sub_8096040
+sub_8096040:
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _08096074
+ ldr r1, [r3]
+ lsls r2, r0, 2
+ adds r2, r0
+ lsls r2, 2
+ adds r1, r2
+ movs r4, 0
+ strb r4, [r1]
+ ldr r0, [r3]
+ adds r0, r2
+ movs r1, 0x63
+ strb r1, [r0, 0x4]
+ ldr r0, [r3]
+ adds r0, r2
+ strb r4, [r0, 0x5]
+ ldr r0, [r3]
+ adds r0, r2
+ movs r1, 0x5
+ strb r1, [r0, 0x11]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096074: .4byte gUnknown_203B490
+ thumb_func_end sub_8096040
+
+ thumb_func_start sub_8096078
+sub_8096078:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ movs r2, 0
+ movs r3, 0
+ ldr r0, _08096090
+ mov r12, r0
+ mov r8, r3
+ movs r4, 0
+ mov r9, r4
+ b _080960B6
+ .align 2, 0
+_08096090: .4byte gUnknown_203B490
+_08096094:
+ cmp r2, r3
+ ble _080960AA
+ mov r1, r12
+ ldr r0, [r1]
+ mov r5, r8
+ adds r1, r0, r5
+ adds r0, r4
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r6,r7}
+ stm r1!, {r6,r7}
+_080960AA:
+ adds r4, 0x14
+ movs r0, 0x14
+ add r9, r0
+ adds r2, 0x1
+ add r8, r0
+ adds r3, 0x1
+_080960B6:
+ cmp r2, 0x3
+ bgt _080960E2
+ mov r1, r12
+ ldr r0, [r1]
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080960E2
+ ldr r6, _08096110
+ mov r1, r9
+_080960CA:
+ adds r1, 0x14
+ adds r4, 0x14
+ movs r5, 0x14
+ add r9, r5
+ adds r2, 0x1
+ cmp r2, 0x3
+ bgt _080960E2
+ ldr r0, [r6]
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080960CA
+_080960E2:
+ cmp r2, 0x4
+ bne _08096094
+ cmp r3, 0x3
+ bgt _08096102
+ ldr r4, _08096110
+ movs r2, 0
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r1, r0, 2
+_080960F4:
+ ldr r0, [r4]
+ adds r0, r1
+ strb r2, [r0]
+ adds r1, 0x14
+ adds r3, 0x1
+ cmp r3, 0x3
+ ble _080960F4
+_08096102:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096110: .4byte gUnknown_203B490
+ thumb_func_end sub_8096078
+
+ thumb_func_start sub_8096114
+sub_8096114:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ movs r1, 0
+_08096122:
+ adds r0, r1, 0x1
+ mov r10, r0
+ mov r8, r10
+ cmp r0, 0x3
+ bgt _08096198
+ ldr r2, _080961B0
+ mov r9, r2
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 2
+ mov r12, r0
+ mov r3, r10
+ lsls r0, r3, 2
+ add r0, r10
+ lsls r4, r0, 2
+_08096140:
+ mov r5, r9
+ ldr r1, [r5]
+ adds r3, r1, r4
+ ldrb r0, [r3]
+ cmp r0, 0
+ beq _0809618C
+ mov r6, r12
+ adds r2, r1, r6
+ ldrb r1, [r2, 0x4]
+ ldrb r0, [r3, 0x4]
+ cmp r1, r0
+ bhi _08096164
+ cmp r1, r0
+ bne _0809618C
+ ldrb r0, [r2, 0x5]
+ ldrb r7, [r3, 0x5]
+ cmp r0, r7
+ bls _0809618C
+_08096164:
+ mov r1, sp
+ adds r0, r2, 0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r5,r6}
+ stm r1!, {r5,r6}
+ adds r1, r2, 0
+ adds r0, r3, 0
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r5,r6}
+ stm r1!, {r5,r6}
+ mov r7, r9
+ ldr r1, [r7]
+ adds r1, r4
+ mov r0, sp
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r6,r7}
+ stm r1!, {r6,r7}
+_0809618C:
+ adds r4, 0x14
+ movs r0, 0x1
+ add r8, r0
+ mov r1, r8
+ cmp r1, 0x3
+ ble _08096140
+_08096198:
+ mov r1, r10
+ cmp r1, 0x2
+ ble _08096122
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080961B0: .4byte gUnknown_203B490
+ thumb_func_end sub_8096114
+
+ thumb_func_start sub_80961B4
+sub_80961B4:
+ push {lr}
+ bl sub_8096E2C
+ lsls r0, 24
+ cmp r0, 0
+ beq _080961CE
+ ldr r0, _080961D4
+ ldr r0, [r0]
+ movs r1, 0xCA
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0x1
+ strb r1, [r0]
+_080961CE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080961D4: .4byte gUnknown_203B490
+ thumb_func_end sub_80961B4
+
+ thumb_func_start sub_80961D8
+sub_80961D8:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r7, 0
+ bl sub_8095F8C
+ adds r6, r0, 0
+ movs r1, 0x4
+ bl RandomRange
+ mov r8, r0
+ cmp r6, 0x3
+ bgt _08096202
+ ldr r4, _08096208
+ ldr r0, [r4]
+ movs r2, 0xCA
+ lsls r2, 2
+ adds r1, r0, r2
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _0809620C
+_08096202:
+ movs r0, 0
+ b _080963A8
+ .align 2, 0
+_08096208: .4byte gUnknown_203B490
+_0809620C:
+ strb r7, [r1]
+ movs r5, 0x38
+ movs r0, 0xA
+ movs r1, 0x31
+ movs r2, 0x1
+ bl sub_8001D08
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809623A
+ ldr r0, [r4]
+ ldr r1, _08096328
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0809623A
+ movs r0, 0x35
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809623A
+ movs r5, 0x35
+_0809623A:
+ movs r0, 0xF
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809629C
+ ldr r0, _0809632C
+ ldr r0, [r0]
+ movs r2, 0xC9
+ lsls r2, 2
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08096264
+ movs r0, 0x34
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _08096264
+ movs r5, 0x34
+_08096264:
+ ldr r0, _0809632C
+ ldr r0, [r0]
+ ldr r1, _08096330
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08096280
+ movs r0, 0x33
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _08096280
+ movs r5, 0x33
+_08096280:
+ ldr r0, _0809632C
+ ldr r0, [r0]
+ ldr r2, _08096334
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0809629C
+ movs r0, 0x32
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809629C
+ movs r5, 0x32
+_0809629C:
+ bl GetRescueTeamRank
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x6
+ bne _080962C4
+ ldr r0, _0809632C
+ ldr r0, [r0]
+ ldr r1, _08096338
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080962C4
+ movs r0, 0x36
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _080962C4
+ movs r5, 0x36
+_080962C4:
+ movs r0, 0x6
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080962EC
+ ldr r0, _0809632C
+ ldr r0, [r0]
+ ldr r2, _0809633C
+ adds r0, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080962EC
+ movs r0, 0x37
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _080962EC
+ movs r5, 0x37
+_080962EC:
+ cmp r5, 0x38
+ bne _08096310
+ cmp r6, r8
+ bgt _08096392
+ bl sub_8096E2C
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r0, 0xE
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809630C
+ cmp r5, 0x2
+ bhi _0809638E
+_0809630C:
+ cmp r5, 0x31
+ bhi _0809638E
+_08096310:
+ lsls r0, r6, 24
+ lsrs r0, 24
+ bl sub_8095FE8
+ adds r4, r0, 0
+ movs r0, 0x1
+ strb r0, [r4]
+ movs r0, 0x62
+ strb r0, [r4, 0x4]
+ strb r5, [r4, 0x5]
+ b _0809638A
+ .align 2, 0
+_08096328: .4byte 0x00000325
+_0809632C: .4byte gUnknown_203B490
+_08096330: .4byte 0x00000323
+_08096334: .4byte 0x00000322
+_08096338: .4byte 0x00000326
+_0809633C: .4byte 0x00000327
+_08096340:
+ lsls r0, r6, 24
+ lsrs r0, 24
+ bl sub_8095FE8
+ adds r4, r0, 0
+ bl sub_8095B28
+ lsls r0, 24
+ cmp r0, 0
+ beq _08096392
+ bl sub_8095E78
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r0, r4, 0x4
+ ldrb r1, [r4, 0x1]
+ bl sub_803C1D0
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809636C
+ movs r5, 0
+_0809636C:
+ movs r0, 0x5
+ movs r1, 0xA
+ bl RandomRange
+ strb r0, [r4, 0x11]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x9
+ bne _0809638A
+ cmp r5, 0
+ bne _08096388
+ movs r0, 0x5
+ strb r0, [r4, 0x11]
+ b _0809638A
+_08096388:
+ strb r5, [r4, 0x13]
+_0809638A:
+ movs r7, 0x1
+ adds r6, 0x1
+_0809638E:
+ cmp r6, r8
+ ble _08096340
+_08096392:
+ bl sub_80963B4
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809639E
+ movs r7, 0x1
+_0809639E:
+ bl sub_8096078
+ bl sub_8096114
+ adds r0, r7, 0
+_080963A8:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80961D8
+
+ thumb_func_start sub_80963B4
+sub_80963B4:
+ push {r4-r6,lr}
+ movs r6, 0
+ bl sub_8096E2C
+ lsls r0, 24
+ lsrs r5, r0, 24
+ bl sub_8095F8C
+ adds r4, r0, 0
+ cmp r4, 0x3
+ ble _080963CE
+ movs r0, 0
+ b _080963F4
+_080963CE:
+ movs r0, 0xE
+ bl sub_80023E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080963F2
+ cmp r5, 0x31
+ bhi _080963F2
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8095FE8
+ movs r1, 0x1
+ strb r1, [r0]
+ movs r1, 0x62
+ strb r1, [r0, 0x4]
+ strb r5, [r0, 0x5]
+ movs r6, 0x1
+_080963F2:
+ adds r0, r6, 0
+_080963F4:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80963B4
+
+ thumb_func_start sub_80963FC
+sub_80963FC:
+ push {r4-r6,lr}
+ movs r6, 0
+_08096400:
+ lsls r0, r6, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl sub_8095FE8
+ adds r5, r0, 0
+ ldrb r0, [r5]
+ cmp r0, 0x1
+ beq _08096418
+ adds r0, r4, 0
+ bl sub_8096040
+_08096418:
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08096400
+ bl sub_8096078
+ bl sub_8095F8C
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8095FE8
+ adds r5, r0, 0
+ movs r0, 0
+ movs r4, 0x5
+ strb r4, [r5]
+ strb r0, [r5, 0x1]
+ strb r0, [r5, 0x2]
+ movs r0, 0x2
+ strb r0, [r5, 0x4]
+ movs r0, 0x3
+ strb r0, [r5, 0x5]
+ bl Random
+ ldr r1, _08096484
+ ands r1, r0
+ str r1, [r5, 0x8]
+ movs r0, 0x10
+ strh r0, [r5, 0xC]
+ strh r0, [r5, 0xE]
+ ldrb r0, [r5, 0x4]
+ bl sub_8095F28
+ strb r0, [r5, 0x10]
+ strb r4, [r5, 0x11]
+_0809645C:
+ ldrb r1, [r5, 0x1]
+ adds r0, r5, 0x4
+ adds r2, r5, 0
+ adds r2, 0x12
+ bl sub_803C37C
+ ldrb r0, [r5, 0x10]
+ ldrb r1, [r5, 0x12]
+ cmp r0, r1
+ beq _0809645C
+ movs r0, 0
+ strb r0, [r5, 0x13]
+ bl sub_8096078
+ bl sub_8096114
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096484: .4byte 0x00ffffff
+ thumb_func_end sub_80963FC
+
+ thumb_func_start sub_8096488
+sub_8096488:
+ push {r4,lr}
+ movs r4, 0
+_0809648C:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096040
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _0809648C
+ movs r0, 0
+ bl sub_8095FE8
+ movs r2, 0
+ movs r1, 0x1
+ strb r1, [r0]
+ movs r1, 0x62
+ strb r1, [r0, 0x4]
+ strb r2, [r0, 0x5]
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8096488
+
+ thumb_func_start sub_80964B4
+sub_80964B4:
+ push {lr}
+ ldr r0, _080964D4
+ ldr r0, [r0]
+ ldr r1, _080964D8
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080964DC
+ movs r0, 0x35
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _080964DC
+ movs r0, 0
+ b _080964DE
+ .align 2, 0
+_080964D4: .4byte gUnknown_203B490
+_080964D8: .4byte 0x00000325
+_080964DC:
+ movs r0, 0x1
+_080964DE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80964B4
+
+ thumb_func_start sub_80964E4
+sub_80964E4:
+ push {lr}
+ ldr r0, _08096504
+ ldr r0, [r0]
+ ldr r1, _08096508
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _0809650C
+ movs r0, 0x36
+ bl sub_8096E80
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809650C
+ movs r0, 0
+ b _0809650E
+ .align 2, 0
+_08096504: .4byte gUnknown_203B490
+_08096508: .4byte 0x00000326
+_0809650C:
+ movs r0, 0x1
+_0809650E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80964E4
+
+ thumb_func_start sub_8096514
+sub_8096514:
+ push {r4,r5,lr}
+ movs r5, 0
+ movs r4, 0
+_0809651A:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_809658C
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809652A
+ adds r5, 0x1
+_0809652A:
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _0809651A
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096514
+
+ thumb_func_start sub_8096538
+sub_8096538:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r3, 0
+ ldr r5, _08096560
+ movs r2, 0
+_08096542:
+ ldr r0, [r5]
+ adds r0, r2
+ adds r1, r0, 0
+ adds r1, 0x50
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08096564
+ adds r0, r4, 0
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2,r3}
+ stm r1!, {r2,r3}
+ movs r0, 0
+ b _0809656E
+ .align 2, 0
+_08096560: .4byte gUnknown_203B490
+_08096564:
+ adds r2, 0x14
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _08096542
+ movs r0, 0x1
+_0809656E:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096538
+
+ thumb_func_start sub_8096574
+sub_8096574:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08096588
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ adds r1, 0x50
+ ldr r0, [r2]
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_08096588: .4byte gUnknown_203B490
+ thumb_func_end sub_8096574
+
+ thumb_func_start sub_809658C
+sub_809658C:
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080965AC
+ ldr r2, [r1]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ adds r2, r1
+ adds r2, 0x50
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _080965B0
+ movs r0, 0
+ b _080965B2
+ .align 2, 0
+_080965AC: .4byte gUnknown_203B490
+_080965B0:
+ movs r0, 0x1
+_080965B2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_809658C
+
+ thumb_func_start sub_80965B8
+sub_80965B8:
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r4, _080965F0
+ ldr r1, [r4]
+ lsls r2, r0, 2
+ adds r2, r0
+ lsls r2, 2
+ adds r1, r2
+ adds r1, 0x50
+ movs r3, 0
+ strb r3, [r1]
+ ldr r0, [r4]
+ adds r0, r2
+ adds r0, 0x54
+ movs r1, 0x63
+ strb r1, [r0]
+ ldr r0, [r4]
+ adds r0, r2
+ adds r0, 0x55
+ strb r3, [r0]
+ ldr r0, [r4]
+ adds r0, r2
+ adds r0, 0x61
+ strb r3, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080965F0: .4byte gUnknown_203B490
+ thumb_func_end sub_80965B8
+
+ thumb_func_start sub_80965F4
+sub_80965F4:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ movs r2, 0
+ movs r3, 0
+ ldr r0, _0809660C
+ mov r12, r0
+ mov r8, r3
+ movs r4, 0
+ mov r9, r4
+ b _08096636
+ .align 2, 0
+_0809660C: .4byte gUnknown_203B490
+_08096610:
+ cmp r2, r3
+ ble _0809662A
+ mov r1, r12
+ ldr r0, [r1]
+ mov r5, r8
+ adds r1, r0, r5
+ adds r0, r4
+ adds r1, 0x50
+ adds r0, 0x50
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r6,r7}
+ stm r1!, {r6,r7}
+_0809662A:
+ adds r4, 0x14
+ movs r0, 0x14
+ add r9, r0
+ adds r2, 0x1
+ add r8, r0
+ adds r3, 0x1
+_08096636:
+ cmp r2, 0x7
+ bgt _08096666
+ mov r1, r12
+ ldr r0, [r1]
+ adds r0, r4
+ adds r0, 0x50
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08096666
+ ldr r6, _08096694
+ mov r1, r9
+_0809664C:
+ adds r1, 0x14
+ adds r4, 0x14
+ movs r5, 0x14
+ add r9, r5
+ adds r2, 0x1
+ cmp r2, 0x7
+ bgt _08096666
+ ldr r0, [r6]
+ adds r0, r1
+ adds r0, 0x50
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0809664C
+_08096666:
+ cmp r2, 0x8
+ bne _08096610
+ cmp r3, 0x7
+ bgt _08096688
+ ldr r4, _08096694
+ movs r2, 0
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r1, r0, 2
+_08096678:
+ ldr r0, [r4]
+ adds r0, r1
+ adds r0, 0x50
+ strb r2, [r0]
+ adds r1, 0x14
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _08096678
+_08096688:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096694: .4byte gUnknown_203B490
+ thumb_func_end sub_80965F4
+
+ thumb_func_start sub_8096698
+sub_8096698:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ movs r1, 0
+_080966A6:
+ adds r6, r1, 0x1
+ mov r10, r6
+ cmp r6, 0x7
+ bgt _08096730
+ ldr r0, _08096748
+ mov r8, r0
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 2
+ mov r9, r0
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r4, r0, 2
+_080966C0:
+ mov r2, r8
+ ldr r1, [r2]
+ adds r3, r1, r4
+ adds r5, r3, 0
+ adds r5, 0x50
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _08096724
+ add r1, r9
+ mov r12, r1
+ mov r0, r12
+ adds r0, 0x54
+ adds r1, r3, 0
+ adds r1, 0x54
+ ldrb r2, [r0]
+ ldrb r0, [r1]
+ cmp r2, r0
+ bhi _080966F6
+ cmp r2, r0
+ bne _08096724
+ mov r0, r12
+ adds r0, 0x55
+ adds r1, 0x1
+ ldrb r0, [r0]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bls _08096724
+_080966F6:
+ mov r1, sp
+ mov r0, r12
+ adds r0, 0x50
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r3,r7}
+ stm r1!, {r3,r7}
+ mov r1, r12
+ adds r1, 0x50
+ adds r0, r5, 0
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r7}
+ stm r1!, {r2,r7}
+ mov r3, r8
+ ldr r1, [r3]
+ adds r1, r4
+ adds r1, 0x50
+ mov r0, sp
+ ldm r0!, {r2,r5,r7}
+ stm r1!, {r2,r5,r7}
+ ldm r0!, {r3,r5}
+ stm r1!, {r3,r5}
+_08096724:
+ adds r4, 0x14
+ movs r7, 0x1
+ add r10, r7
+ mov r0, r10
+ cmp r0, 0x7
+ ble _080966C0
+_08096730:
+ adds r1, r6, 0
+ cmp r1, 0x6
+ ble _080966A6
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096748: .4byte gUnknown_203B490
+ thumb_func_end sub_8096698
+
+ thumb_func_start sub_809674C
+sub_809674C:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r0, 0x4
+ movs r1, 0x8
+ bl RandomRange
+ mov r8, r0
+ ldr r3, _08096864
+ movs r2, 0
+ movs r1, 0
+ movs r7, 0x7
+_08096764:
+ ldr r0, [r3]
+ adds r0, r1
+ adds r0, 0x50
+ strb r2, [r0]
+ adds r1, 0x14
+ subs r7, 0x1
+ cmp r7, 0
+ bge _08096764
+ movs r7, 0
+ movs r0, 0xE
+ bl sub_8097318
+ lsls r0, 24
+ cmp r0, 0
+ beq _080967C0
+ movs r0, 0
+ bl sub_8096574
+ adds r5, r0, 0
+ movs r4, 0x2
+ strb r4, [r5]
+ movs r0, 0x6
+ strb r0, [r5, 0x1]
+ movs r0, 0x1
+ strb r0, [r5, 0x2]
+ movs r0, 0x2A
+ strb r0, [r5, 0x4]
+ movs r0, 0xA
+ strb r0, [r5, 0x5]
+ bl Random
+ ldr r1, _08096868
+ ands r1, r0
+ str r1, [r5, 0x8]
+ movs r1, 0
+ movs r0, 0xC2
+ lsls r0, 1
+ strh r0, [r5, 0xC]
+ movs r0, 0x38
+ strh r0, [r5, 0xE]
+ strb r1, [r5, 0x10]
+ strb r4, [r5, 0x11]
+ movs r0, 0x3A
+ strb r0, [r5, 0x12]
+ strb r1, [r5, 0x13]
+ movs r7, 0x1
+_080967C0:
+ movs r0, 0xF
+ bl sub_8097318
+ lsls r0, 24
+ cmp r0, 0
+ beq _0809680A
+ lsls r0, r7, 24
+ lsrs r0, 24
+ bl sub_8096574
+ adds r5, r0, 0
+ movs r0, 0x3
+ strb r0, [r5]
+ movs r0, 0x6
+ strb r0, [r5, 0x1]
+ movs r4, 0x2
+ strb r4, [r5, 0x2]
+ movs r0, 0x35
+ strb r0, [r5, 0x4]
+ movs r0, 0xF
+ strb r0, [r5, 0x5]
+ bl Random
+ ldr r1, _08096868
+ ands r1, r0
+ str r1, [r5, 0x8]
+ movs r1, 0
+ movs r0, 0x82
+ lsls r0, 1
+ strh r0, [r5, 0xC]
+ strh r0, [r5, 0xE]
+ strb r1, [r5, 0x10]
+ strb r4, [r5, 0x11]
+ movs r0, 0x3A
+ strb r0, [r5, 0x12]
+ strb r1, [r5, 0x13]
+ adds r7, 0x1
+_0809680A:
+ movs r0, 0x1C
+ bl sub_8097318
+ lsls r0, 24
+ cmp r0, 0
+ beq _08096854
+ lsls r0, r7, 24
+ lsrs r0, 24
+ bl sub_8096574
+ adds r5, r0, 0
+ movs r0, 0x4
+ strb r0, [r5]
+ movs r0, 0x6
+ strb r0, [r5, 0x1]
+ movs r0, 0x3
+ strb r0, [r5, 0x2]
+ movs r0, 0x1A
+ strb r0, [r5, 0x4]
+ movs r0, 0x14
+ strb r0, [r5, 0x5]
+ bl Random
+ ldr r1, _08096868
+ ands r1, r0
+ str r1, [r5, 0x8]
+ movs r1, 0
+ ldr r0, _0809686C
+ strh r0, [r5, 0xC]
+ strh r0, [r5, 0xE]
+ strb r1, [r5, 0x10]
+ movs r0, 0x2
+ strb r0, [r5, 0x11]
+ movs r0, 0x3A
+ strb r0, [r5, 0x12]
+ strb r1, [r5, 0x13]
+ adds r7, 0x1
+_08096854:
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 2
+ adds r5, r0, 0
+ adds r5, 0x50
+ adds r4, r0, 0
+ b _08096886
+ .align 2, 0
+_08096864: .4byte gUnknown_203B490
+_08096868: .4byte 0x00ffffff
+_0809686C: .4byte 0x0000014d
+_08096870:
+ movs r0, 0
+ movs r1, 0x4
+ bl RandomRange
+ ldr r1, [r6]
+ adds r1, r4
+ adds r1, 0x61
+ strb r0, [r1]
+ adds r5, 0x14
+ adds r4, 0x14
+ adds r7, 0x1
+_08096886:
+ cmp r7, r8
+ bgt _0809689A
+ ldr r6, _080968AC
+ ldr r0, [r6]
+ adds r0, r5
+ bl sub_8095B28
+ lsls r0, 24
+ cmp r0, 0
+ bne _08096870
+_0809689A:
+ bl sub_80965F4
+ bl sub_8096698
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080968AC: .4byte gUnknown_203B490
+ thumb_func_end sub_809674C
+
+ thumb_func_start sub_80968B0
+sub_80968B0:
+ push {r4,r5,lr}
+ adds r3, r0, 0
+ movs r4, 0
+ ldr r0, _08096928
+ ldr r0, [r0]
+ adds r2, r0, 0
+ adds r2, 0xF0
+_080968BE:
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _0809692C
+ ldrb r0, [r3, 0x1]
+ ldrb r1, [r2, 0x1]
+ cmp r0, r1
+ bne _0809692C
+ ldrb r0, [r3, 0x2]
+ ldrb r5, [r2, 0x2]
+ cmp r0, r5
+ bne _0809692C
+ ldrb r0, [r3, 0x4]
+ ldrb r1, [r2, 0x4]
+ cmp r0, r1
+ bne _0809692C
+ ldrb r0, [r3, 0x5]
+ ldrb r5, [r2, 0x5]
+ cmp r0, r5
+ bne _0809692C
+ ldr r1, [r3, 0x8]
+ ldr r0, [r2, 0x8]
+ cmp r1, r0
+ bne _0809692C
+ movs r0, 0xC
+ ldrsh r1, [r3, r0]
+ movs r5, 0xC
+ ldrsh r0, [r2, r5]
+ cmp r1, r0
+ bne _0809692C
+ movs r0, 0xE
+ ldrsh r1, [r3, r0]
+ movs r5, 0xE
+ ldrsh r0, [r2, r5]
+ cmp r1, r0
+ bne _0809692C
+ ldrb r0, [r3, 0x10]
+ ldrb r1, [r2, 0x10]
+ cmp r0, r1
+ bne _0809692C
+ ldrb r0, [r3, 0x11]
+ ldrb r5, [r2, 0x11]
+ cmp r0, r5
+ bne _0809692C
+ ldrb r0, [r3, 0x12]
+ ldrb r1, [r2, 0x12]
+ cmp r0, r1
+ bne _0809692C
+ ldrb r0, [r3, 0x13]
+ ldrb r5, [r2, 0x13]
+ cmp r0, r5
+ bne _0809692C
+ movs r0, 0x1
+ b _08096936
+ .align 2, 0
+_08096928: .4byte gUnknown_203B490
+_0809692C:
+ adds r2, 0x14
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _080968BE
+ movs r0, 0
+_08096936:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80968B0
+
+ thumb_func_start sub_809693C
+sub_809693C:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r4, r0, 0
+ ldrb r0, [r4, 0x4]
+ mov r9, r0
+ ldrb r0, [r4, 0x5]
+ mov r8, r0
+ movs r7, 0
+ adds r0, r4, 0
+ bl IsValidWonderMail
+ lsls r0, 24
+ cmp r0, 0
+ bne _08096962
+ b _0809699A
+_0809695E:
+ movs r0, 0x1
+ b _0809699C
+_08096962:
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x2
+ bne _0809696A
+ movs r7, 0x1
+_0809696A:
+ movs r6, 0
+ movs r5, 0xF0
+ movs r4, 0
+_08096970:
+ ldr r0, _080969A8
+ ldr r1, [r0]
+ adds r0, r1, r4
+ adds r0, 0xF0
+ ldrb r0, [r0]
+ cmp r0, 0x6
+ bne _08096990
+ adds r0, r1, r5
+ mov r1, r9
+ mov r2, r8
+ adds r3, r7, 0
+ bl sub_8095E38
+ lsls r0, 24
+ cmp r0, 0
+ bne _0809695E
+_08096990:
+ adds r5, 0x14
+ adds r4, 0x14
+ adds r6, 0x1
+ cmp r6, 0x7
+ ble _08096970
+_0809699A:
+ movs r0, 0
+_0809699C:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080969A8: .4byte gUnknown_203B490
+ thumb_func_end sub_809693C
+
+ thumb_func_start sub_80969AC
+sub_80969AC:
+ push {r4,r5,lr}
+ movs r5, 0
+ movs r4, 0
+_080969B2:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096ACC
+ lsls r0, 24
+ cmp r0, 0
+ bne _080969C2
+ adds r5, 0x1
+_080969C2:
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _080969B2
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80969AC
+
+ thumb_func_start sub_80969D0
+sub_80969D0:
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r5, 0
+ movs r4, 0
+_080969DA:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096AB4
+ adds r1, r0, 0
+ ldrb r0, [r1, 0x4]
+ cmp r0, r6
+ bne _080969FA
+ ldrb r0, [r1]
+ cmp r0, 0x6
+ beq _080969F8
+ cmp r0, 0x8
+ beq _080969F8
+ cmp r0, 0x9
+ bne _080969FA
+_080969F8:
+ adds r5, 0x1
+_080969FA:
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _080969DA
+ adds r0, r5, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80969D0
+
+ thumb_func_start sub_8096A08
+sub_8096A08:
+ push {r4-r6,lr}
+ sub sp, 0xC
+ adds r6, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+_08096A14:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096AB4
+ adds r2, r0, 0
+ ldrb r0, [r2, 0x4]
+ cmp r0, r5
+ bne _08096A68
+ ldrb r0, [r2]
+ cmp r0, 0x6
+ bne _08096A68
+ ldrb r0, [r2, 0x1]
+ cmp r0, 0x2
+ bne _08096A68
+ ldr r1, _08096A60
+ ldr r0, [sp, 0x8]
+ ands r0, r1
+ movs r1, 0x4A
+ orrs r0, r1
+ ldr r1, _08096A64
+ ands r0, r1
+ movs r1, 0x80
+ lsls r1, 1
+ orrs r0, r1
+ str r0, [sp, 0x8]
+ movs r0, 0xC
+ ldrsh r1, [r2, r0]
+ add r0, sp, 0x8
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ adds r0, r6, 0
+ movs r2, 0
+ movs r3, 0
+ bl sub_808CFD0
+ movs r0, 0x1
+ b _08096A70
+ .align 2, 0
+_08096A60: .4byte 0xffffff00
+_08096A64: .4byte 0xffff00ff
+_08096A68:
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _08096A14
+ movs r0, 0
+_08096A70:
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096A08
+
+ thumb_func_start sub_8096A78
+sub_8096A78:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ movs r3, 0
+ ldr r5, _08096AA0
+ movs r2, 0
+_08096A82:
+ ldr r0, [r5]
+ adds r0, r2
+ adds r1, r0, 0
+ adds r1, 0xF0
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08096AA4
+ adds r0, r4, 0
+ ldm r0!, {r2-r4}
+ stm r1!, {r2-r4}
+ ldm r0!, {r2,r3}
+ stm r1!, {r2,r3}
+ movs r0, 0
+ b _08096AAE
+ .align 2, 0
+_08096AA0: .4byte gUnknown_203B490
+_08096AA4:
+ adds r2, 0x14
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _08096A82
+ movs r0, 0x1
+_08096AAE:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096A78
+
+ thumb_func_start sub_8096AB4
+sub_8096AB4:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08096AC8
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ adds r1, 0xF0
+ ldr r0, [r2]
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_08096AC8: .4byte gUnknown_203B490
+ thumb_func_end sub_8096AB4
+
+ thumb_func_start sub_8096ACC
+sub_8096ACC:
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _08096AEC
+ ldr r2, [r1]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 2
+ adds r2, r1
+ adds r2, 0xF0
+ ldrb r0, [r2]
+ cmp r0, 0
+ beq _08096AF0
+ movs r0, 0
+ b _08096AF2
+ .align 2, 0
+_08096AEC: .4byte gUnknown_203B490
+_08096AF0:
+ movs r0, 0x1
+_08096AF2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096ACC
+
+ thumb_func_start sub_8096AF8
+sub_8096AF8:
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r0, r1, 0
+ adds r4, r2, 0
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, 24
+ lsrs r4, 24
+ bl sub_8096AB4
+ adds r3, r0, 0
+ movs r1, 0
+ strb r1, [r5]
+ ldrh r0, [r3, 0xC]
+ strh r0, [r5, 0x2]
+ strh r1, [r5, 0x4]
+ ldrb r0, [r3, 0x4]
+ cmp r0, r4
+ bne _08096B92
+ ldrb r0, [r3, 0x1]
+ cmp r0, 0x4
+ bhi _08096B92
+ lsls r0, 2
+ ldr r1, _08096B30
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08096B30: .4byte _08096B34
+ .align 2, 0
+_08096B34:
+ .4byte _08096B78
+ .4byte _08096B84
+ .4byte _08096B84
+ .4byte _08096B48
+ .4byte _08096B78
+_08096B48:
+ ldrb r0, [r3]
+ cmp r0, 0x6
+ bne _08096B92
+ ldr r0, _08096B74
+ movs r6, 0x1
+ ldr r2, [r0]
+ movs r4, 0x13
+_08096B56:
+ ldrb r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08096B6A
+ ldrb r0, [r2, 0x2]
+ ldrb r1, [r3, 0x10]
+ cmp r0, r1
+ bne _08096B6A
+ strb r6, [r5]
+_08096B6A:
+ adds r2, 0x4
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08096B56
+ b _08096B92
+ .align 2, 0
+_08096B74: .4byte gUnknown_203B460
+_08096B78:
+ ldrb r0, [r3]
+ cmp r0, 0x9
+ bne _08096B92
+ movs r0, 0x1
+ strb r0, [r5]
+ b _08096B92
+_08096B84:
+ ldrb r0, [r3]
+ cmp r0, 0x9
+ bne _08096B92
+ movs r0, 0x1
+ strb r0, [r5]
+ ldrh r0, [r3, 0xE]
+ strh r0, [r5, 0x4]
+_08096B92:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8096AF8
+
+ thumb_func_start sub_8096B98
+sub_8096B98:
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r4, 0
+_08096BA0:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096AB4
+ adds r1, r0, 0
+ ldrb r0, [r1]
+ cmp r0, 0x6
+ bne _08096BC2
+ ldrb r0, [r1, 0x1]
+ cmp r0, 0x2
+ bne _08096BC2
+ ldrb r0, [r1, 0x4]
+ cmp r0, r5
+ bne _08096BC2
+ movs r2, 0xE
+ ldrsh r0, [r1, r2]
+ b _08096BCA
+_08096BC2:
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _08096BA0
+ movs r0, 0
+_08096BCA:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096B98
+
+ thumb_func_start sub_8096BD0
+sub_8096BD0:
+ push {r4,r5,lr}
+ ldr r0, _08096C04
+ ldr r0, [r0]
+ adds r5, r0, 0
+ adds r5, 0xF0
+ movs r4, 0
+_08096BDC:
+ ldrb r0, [r5]
+ cmp r0, 0x9
+ bgt _08096BEE
+ cmp r0, 0x7
+ blt _08096BEE
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8096C3C
+_08096BEE:
+ adds r5, 0x14
+ adds r4, 0x1
+ cmp r4, 0x7
+ ble _08096BDC
+ bl sub_8096C80
+ bl sub_8096D24
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096C04: .4byte gUnknown_203B490
+ thumb_func_end sub_8096BD0
+
+ thumb_func_start sub_8096C08
+sub_8096C08:
+ push {lr}
+ adds r3, r0, 0
+ ldr r0, _08096C28
+ ldr r0, [r0]
+ adds r1, r0, 0
+ adds r1, 0xF0
+ movs r2, 0
+_08096C16:
+ ldrb r0, [r1]
+ cmp r0, 0x4
+ bls _08096C2C
+ ldrb r0, [r1, 0x2]
+ cmp r0, 0x4
+ bne _08096C2C
+ strb r2, [r3]
+ movs r0, 0x1
+ b _08096C36
+ .align 2, 0
+_08096C28: .4byte gUnknown_203B490
+_08096C2C:
+ adds r1, 0x14
+ adds r2, 0x1
+ cmp r2, 0x7
+ ble _08096C16
+ movs r0, 0
+_08096C36:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096C08
+
+ thumb_func_start sub_8096C3C
+sub_8096C3C:
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _08096C78
+ ldr r1, [r3]
+ lsls r2, r0, 2
+ adds r2, r0
+ lsls r2, 2
+ adds r1, r2
+ adds r1, 0xF0
+ movs r4, 0
+ strb r4, [r1]
+ ldr r0, [r3]
+ adds r0, r2
+ adds r0, 0xF4
+ movs r1, 0x63
+ strb r1, [r0]
+ ldr r0, [r3]
+ adds r0, r2
+ adds r0, 0xF5
+ strb r4, [r0]
+ ldr r0, [r3]
+ adds r0, r2
+ ldr r2, _08096C7C
+ adds r1, r0, r2
+ movs r0, 0x5
+ strb r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096C78: .4byte gUnknown_203B490
+_08096C7C: .4byte 0x00000101
+ thumb_func_end sub_8096C3C
+
+ thumb_func_start sub_8096C80
+sub_8096C80:
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ movs r2, 0
+ movs r3, 0
+ ldr r0, _08096C98
+ mov r12, r0
+ mov r8, r3
+ movs r4, 0
+ mov r9, r4
+ b _08096CC2
+ .align 2, 0
+_08096C98: .4byte gUnknown_203B490
+_08096C9C:
+ cmp r2, r3
+ ble _08096CB6
+ mov r1, r12
+ ldr r0, [r1]
+ mov r5, r8
+ adds r1, r0, r5
+ adds r0, r4
+ adds r1, 0xF0
+ adds r0, 0xF0
+ ldm r0!, {r5-r7}
+ stm r1!, {r5-r7}
+ ldm r0!, {r6,r7}
+ stm r1!, {r6,r7}
+_08096CB6:
+ adds r4, 0x14
+ movs r0, 0x14
+ add r9, r0
+ adds r2, 0x1
+ add r8, r0
+ adds r3, 0x1
+_08096CC2:
+ cmp r2, 0x7
+ bgt _08096CF2
+ mov r1, r12
+ ldr r0, [r1]
+ adds r0, r4
+ adds r0, 0xF0
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08096CF2
+ ldr r6, _08096D20
+ mov r1, r9
+_08096CD8:
+ adds r1, 0x14
+ adds r4, 0x14
+ movs r5, 0x14
+ add r9, r5
+ adds r2, 0x1
+ cmp r2, 0x7
+ bgt _08096CF2
+ ldr r0, [r6]
+ adds r0, r1
+ adds r0, 0xF0
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08096CD8
+_08096CF2:
+ cmp r2, 0x8
+ bne _08096C9C
+ cmp r3, 0x7
+ bgt _08096D14
+ ldr r4, _08096D20
+ movs r2, 0
+ lsls r0, r3, 2
+ adds r0, r3
+ lsls r1, r0, 2
+_08096D04:
+ ldr r0, [r4]
+ adds r0, r1
+ adds r0, 0xF0
+ strb r2, [r0]
+ adds r1, 0x14
+ adds r3, 0x1
+ cmp r3, 0x7
+ ble _08096D04
+_08096D14:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096D20: .4byte gUnknown_203B490
+ thumb_func_end sub_8096C80
+
+ thumb_func_start sub_8096D24
+sub_8096D24:
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x18
+ movs r1, 0
+_08096D32:
+ adds r6, r1, 0x1
+ mov r10, r6
+ cmp r6, 0x7
+ bgt _08096DBC
+ ldr r0, _08096DD4
+ mov r8, r0
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 2
+ mov r9, r0
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r4, r0, 2
+_08096D4C:
+ mov r1, r8
+ ldr r2, [r1]
+ adds r3, r2, r4
+ adds r5, r3, 0
+ adds r5, 0xF0
+ str r5, [sp, 0x14]
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _08096DB0
+ add r2, r9
+ mov r12, r2
+ mov r0, r12
+ adds r0, 0xF4
+ adds r1, r3, 0
+ adds r1, 0xF4
+ ldrb r2, [r0]
+ ldrb r0, [r1]
+ cmp r2, r0
+ bhi _08096D84
+ cmp r2, r0
+ bne _08096DB0
+ mov r0, r12
+ adds r0, 0xF5
+ adds r1, 0x1
+ ldrb r0, [r0]
+ ldrb r1, [r1]
+ cmp r0, r1
+ bls _08096DB0
+_08096D84:
+ mov r2, r12
+ adds r2, 0xF0
+ mov r1, sp
+ adds r0, r2, 0
+ ldm r0!, {r3,r5,r7}
+ stm r1!, {r3,r5,r7}
+ ldm r0!, {r3,r7}
+ stm r1!, {r3,r7}
+ ldr r0, [sp, 0x14]
+ ldm r0!, {r1,r5,r7}
+ stm r2!, {r1,r5,r7}
+ ldm r0!, {r3,r5}
+ stm r2!, {r3,r5}
+ mov r7, r8
+ ldr r1, [r7]
+ adds r1, r4
+ adds r1, 0xF0
+ mov r0, sp
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r7}
+ stm r1!, {r2,r7}
+_08096DB0:
+ adds r4, 0x14
+ movs r3, 0x1
+ add r10, r3
+ mov r5, r10
+ cmp r5, 0x7
+ ble _08096D4C
+_08096DBC:
+ adds r1, r6, 0
+ cmp r1, 0x6
+ ble _08096D32
+ add sp, 0x18
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096DD4: .4byte gUnknown_203B490
+ thumb_func_end sub_8096D24
+
+ thumb_func_start sub_8096DD8
+sub_8096DD8:
+ ldr r0, _08096DE4
+ ldr r0, [r0]
+ movs r1, 0xC8
+ lsls r1, 1
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_08096DE4: .4byte gUnknown_203B490
+ thumb_func_end sub_8096DD8
+
+ thumb_func_start sub_8096DE8
+sub_8096DE8:
+ ldr r0, _08096DF4
+ ldr r0, [r0]
+ movs r1, 0xDC
+ lsls r1, 1
+ adds r0, r1
+ bx lr
+ .align 2, 0
+_08096DF4: .4byte gUnknown_203B490
+ thumb_func_end sub_8096DE8
+
+ thumb_func_start sub_8096DF8
+sub_8096DF8:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _08096E10
+ ldr r1, [r1]
+ movs r2, 0xBC
+ lsls r2, 2
+ adds r1, r2
+ adds r1, r0
+ movs r0, 0x1
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_08096E10: .4byte gUnknown_203B490
+ thumb_func_end sub_8096DF8
+
+ thumb_func_start sub_8096E14
+sub_8096E14:
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _08096E28
+ ldr r1, [r1]
+ movs r2, 0xBC
+ lsls r2, 2
+ adds r1, r2
+ adds r1, r0
+ ldrb r0, [r1]
+ bx lr
+ .align 2, 0
+_08096E28: .4byte gUnknown_203B490
+ thumb_func_end sub_8096E14
+
+ thumb_func_start sub_8096E2C
+sub_8096E2C:
+ push {lr}
+ movs r3, 0
+ ldr r0, _08096E70
+ ldr r1, [r0]
+ movs r2, 0x3
+_08096E36:
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ bne _08096E48
+ ldrb r0, [r1, 0x5]
+ cmp r3, r0
+ bgt _08096E48
+ cmp r0, 0x31
+ bhi _08096E48
+ adds r3, r0, 0x1
+_08096E48:
+ adds r1, 0x14
+ subs r2, 0x1
+ cmp r2, 0
+ bge _08096E36
+ adds r2, r3, 0
+ cmp r2, 0x31
+ bgt _08096E7A
+ ldr r0, _08096E70
+ ldr r0, [r0]
+ movs r3, 0xBC
+ lsls r3, 2
+ adds r1, r0, r3
+_08096E60:
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08096E74
+ lsls r0, r2, 24
+ lsrs r0, 24
+ b _08096E7C
+ .align 2, 0
+_08096E70: .4byte gUnknown_203B490
+_08096E74:
+ adds r2, 0x1
+ cmp r2, 0x31
+ ble _08096E60
+_08096E7A:
+ movs r0, 0x38
+_08096E7C:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096E2C
+
+ thumb_func_start sub_8096E80
+sub_8096E80:
+ push {lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ movs r2, 0
+ ldr r0, _08096E9C
+ ldr r1, [r0]
+_08096E8C:
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ bne _08096EA0
+ ldrb r0, [r1, 0x5]
+ cmp r3, r0
+ bne _08096EA0
+ movs r0, 0x1
+ b _08096EAA
+ .align 2, 0
+_08096E9C: .4byte gUnknown_203B490
+_08096EA0:
+ adds r1, 0x14
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _08096E8C
+ movs r0, 0
+_08096EAA:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096E80
+
+ thumb_func_start sub_8096EB0
+sub_8096EB0:
+ ldrb r1, [r0, 0x2]
+ ldrb r2, [r0, 0x1]
+ adds r1, r2
+ ldrb r3, [r0, 0x4]
+ adds r2, r1, r3
+ ldrb r1, [r0, 0x5]
+ adds r2, r1
+ ldr r1, [r0, 0x8]
+ lsls r1, 8
+ adds r2, r1
+ movs r3, 0xC
+ ldrsh r1, [r0, r3]
+ lsls r1, 12
+ adds r2, r1
+ movs r3, 0xE
+ ldrsh r1, [r0, r3]
+ lsls r1, 16
+ adds r2, r1
+ ldrb r1, [r0, 0x10]
+ lsls r1, 24
+ adds r1, r2, r1
+ ldrb r3, [r0, 0x11]
+ adds r2, r1, r3
+ ldrb r1, [r0, 0x12]
+ adds r1, r2, r1
+ ldrb r0, [r0, 0x13]
+ adds r2, r1, r0
+ adds r0, r2, 0
+ bx lr
+ thumb_func_end sub_8096EB0
+
+ thumb_func_start sub_8096EEC
+sub_8096EEC:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ mov r12, r0
+ movs r3, 0xF
+ ldr r5, _08096F4C
+ mov r8, r5
+ movs r4, 0x8C
+ lsls r4, 2
+_08096EFE:
+ mov r0, r8
+ ldr r2, [r0]
+ lsls r1, r3, 1
+ adds r1, r3
+ lsls r1, 2
+ adds r1, r2, r1
+ subs r3, 0x1
+ lsls r0, r3, 1
+ adds r0, r3
+ lsls r0, 2
+ adds r2, r0
+ adds r1, r4
+ adds r2, r4
+ ldm r2!, {r0,r6,r7}
+ stm r1!, {r0,r6,r7}
+ cmp r3, 0
+ bgt _08096EFE
+ ldr r2, [r5]
+ movs r3, 0x8C
+ lsls r3, 2
+ adds r2, r3
+ mov r6, r12
+ ldr r0, [r6, 0x4]
+ ldr r1, [r6, 0x8]
+ str r0, [r2]
+ str r1, [r2, 0x4]
+ mov r0, r12
+ bl sub_8096EB0
+ ldr r1, [r5]
+ movs r7, 0x8E
+ lsls r7, 2
+ adds r1, r7
+ str r0, [r1]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08096F4C: .4byte gUnknown_203B490
+ thumb_func_end sub_8096EEC
+
+ thumb_func_start sub_8096F50
+sub_8096F50:
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ bl sub_8096EB0
+ mov r12, r0
+ movs r5, 0
+ ldr r0, _08096F8C
+ ldr r7, [r0]
+ ldrb r6, [r4, 0x4]
+ movs r3, 0
+_08096F64:
+ movs r1, 0x8C
+ lsls r1, 2
+ adds r0, r3, r1
+ adds r2, r7, r0
+ ldrb r0, [r2]
+ cmp r0, r6
+ bne _08096F90
+ ldrb r0, [r2, 0x1]
+ ldrb r1, [r4, 0x5]
+ cmp r0, r1
+ bne _08096F90
+ ldr r1, [r2, 0x4]
+ ldr r0, [r4, 0x8]
+ cmp r1, r0
+ bne _08096F90
+ ldr r0, [r2, 0x8]
+ cmp r0, r12
+ bne _08096F90
+ movs r0, 0x1
+ b _08096F9A
+ .align 2, 0
+_08096F8C: .4byte gUnknown_203B490
+_08096F90:
+ adds r3, 0xC
+ adds r5, 0x1
+ cmp r5, 0xF
+ ble _08096F64
+ movs r0, 0
+_08096F9A:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8096F50
+
+ thumb_func_start sub_8096FA0
+sub_8096FA0:
+ push {r4-r7,lr}
+ sub sp, 0x14
+ adds r3, r0, 0
+ adds r2, r1, 0
+ mov r0, sp
+ adds r1, r3, 0
+ bl sub_809485C
+ add r7, sp, 0x10
+ ldr r6, _08097020
+ movs r5, 0
+ movs r4, 0x3
+_08096FB8:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_80971EC
+ adds r5, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08096FB8
+ ldr r6, _08097020
+ movs r5, 0x50
+ movs r4, 0x7
+_08096FD0:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_80971EC
+ adds r5, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08096FD0
+ ldr r6, _08097020
+ movs r5, 0xF0
+ movs r4, 0x7
+_08096FE8:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_80971EC
+ adds r5, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08096FE8
+ movs r4, 0
+ movs r6, 0x1
+ ldr r5, _08097020
+_08097000:
+ mov r0, sp
+ adds r1, r7, 0
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r1, [sp, 0x10]
+ ands r1, r6
+ cmp r1, 0
+ beq _08097024
+ ldr r0, [r5]
+ movs r1, 0xBC
+ lsls r1, 2
+ adds r0, r1
+ adds r0, r4
+ strb r6, [r0]
+ b _08097030
+ .align 2, 0
+_08097020: .4byte gUnknown_203B490
+_08097024:
+ ldr r0, [r5]
+ movs r2, 0xBC
+ lsls r2, 2
+ adds r0, r2
+ adds r0, r4
+ strb r1, [r0]
+_08097030:
+ adds r4, 0x1
+ cmp r4, 0x37
+ ble _08097000
+ mov r0, sp
+ adds r1, r7, 0
+ movs r2, 0x1
+ bl sub_8094924
+ ldr r1, [sp, 0x10]
+ movs r2, 0x1
+ ands r1, r2
+ cmp r1, 0
+ beq _0809705C
+ ldr r0, _08097058
+ ldr r0, [r0]
+ movs r1, 0xCA
+ lsls r1, 2
+ adds r0, r1
+ strb r2, [r0]
+ b _08097068
+ .align 2, 0
+_08097058: .4byte gUnknown_203B490
+_0809705C:
+ ldr r0, _080970D4
+ ldr r0, [r0]
+ movs r2, 0xCA
+ lsls r2, 2
+ adds r0, r2
+ strb r1, [r0]
+_08097068:
+ ldr r4, _080970D4
+ ldr r1, [r4]
+ movs r0, 0xC8
+ lsls r0, 1
+ adds r1, r0
+ movs r2, 0xA0
+ lsls r2, 1
+ mov r0, sp
+ bl sub_8094924
+ ldr r1, [r4]
+ movs r2, 0xDC
+ lsls r2, 1
+ adds r1, r2
+ movs r2, 0xF0
+ lsls r2, 2
+ mov r0, sp
+ bl sub_8094924
+ adds r6, r4, 0
+ movs r5, 0x8C
+ lsls r5, 2
+ movs r4, 0xF
+_08097096:
+ ldr r1, [r6]
+ adds r1, r5
+ adds r1, 0x8
+ mov r0, sp
+ movs r2, 0x20
+ bl sub_8094924
+ ldr r1, [r6]
+ adds r1, r5
+ adds r1, 0x4
+ mov r0, sp
+ movs r2, 0x18
+ bl sub_8094924
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8090314
+ adds r5, 0xC
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08097096
+ mov r0, sp
+ bl nullsub_102
+ ldr r0, [sp, 0x8]
+ add sp, 0x14
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080970D4: .4byte gUnknown_203B490
+ thumb_func_end sub_8096FA0
+
+ thumb_func_start sub_80970D8
+sub_80970D8:
+ push {r4-r7,lr}
+ sub sp, 0x14
+ adds r3, r0, 0
+ adds r2, r1, 0
+ mov r0, sp
+ adds r1, r3, 0
+ bl sub_809486C
+ add r7, sp, 0x10
+ ldr r6, _080971E8
+ movs r5, 0
+ movs r4, 0x3
+_080970F0:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8097270
+ adds r5, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _080970F0
+ ldr r6, _080971E8
+ movs r5, 0x50
+ movs r4, 0x7
+_08097108:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8097270
+ adds r5, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08097108
+ ldr r6, _080971E8
+ movs r5, 0xF0
+ movs r4, 0x7
+_08097120:
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_8097270
+ adds r5, 0x14
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08097120
+ movs r4, 0
+_08097134:
+ ldr r0, _080971E8
+ ldr r0, [r0]
+ movs r1, 0xBC
+ lsls r1, 2
+ adds r0, r1
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _0809714A
+ movs r0, 0x1
+ negs r0, r0
+_0809714A:
+ str r0, [sp, 0x10]
+ mov r0, sp
+ adds r1, r7, 0
+ movs r2, 0x1
+ bl sub_809488C
+ adds r4, 0x1
+ cmp r4, 0x37
+ ble _08097134
+ ldr r0, _080971E8
+ ldr r0, [r0]
+ movs r1, 0xCA
+ lsls r1, 2
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08097170
+ movs r0, 0x1
+ negs r0, r0
+_08097170:
+ str r0, [sp, 0x10]
+ mov r0, sp
+ adds r1, r7, 0
+ movs r2, 0x1
+ bl sub_809488C
+ ldr r4, _080971E8
+ ldr r1, [r4]
+ movs r0, 0xC8
+ lsls r0, 1
+ adds r1, r0
+ movs r2, 0xA0
+ lsls r2, 1
+ mov r0, sp
+ bl sub_809488C
+ ldr r1, [r4]
+ movs r0, 0xDC
+ lsls r0, 1
+ adds r1, r0
+ movs r2, 0xF0
+ lsls r2, 2
+ mov r0, sp
+ bl sub_809488C
+ adds r6, r4, 0
+ movs r5, 0x8C
+ lsls r5, 2
+ movs r4, 0xF
+_080971AA:
+ ldr r1, [r6]
+ adds r1, r5
+ adds r1, 0x8
+ mov r0, sp
+ movs r2, 0x20
+ bl sub_809488C
+ ldr r1, [r6]
+ adds r1, r5
+ adds r1, 0x4
+ mov r0, sp
+ movs r2, 0x18
+ bl sub_809488C
+ ldr r1, [r6]
+ adds r1, r5
+ mov r0, sp
+ bl sub_80902F4
+ adds r5, 0xC
+ subs r4, 0x1
+ cmp r4, 0
+ bge _080971AA
+ mov r0, sp
+ bl nullsub_102
+ ldr r0, [sp, 0x8]
+ add sp, 0x14
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080971E8: .4byte gUnknown_203B490
+ thumb_func_end sub_80970D8
+
+ thumb_func_start sub_80971EC
+sub_80971EC:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r2, 0x4
+ bl sub_8094924
+ adds r1, r5, 0x1
+ adds r0, r4, 0
+ movs r2, 0x3
+ bl sub_8094924
+ adds r1, r5, 0x2
+ adds r0, r4, 0
+ movs r2, 0x4
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0xC
+ adds r0, r4, 0
+ movs r2, 0x9
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0xE
+ adds r0, r4, 0
+ movs r2, 0x9
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x10
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x11
+ adds r0, r4, 0
+ movs r2, 0x4
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x12
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x13
+ adds r0, r4, 0
+ movs r2, 0x6
+ bl sub_8094924
+ adds r1, r5, 0
+ adds r1, 0x8
+ adds r0, r4, 0
+ movs r2, 0x18
+ bl sub_8094924
+ adds r1, r5, 0x4
+ adds r0, r4, 0
+ bl sub_8090314
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80971EC
+
+ thumb_func_start sub_8097270
+sub_8097270:
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r2, 0x4
+ bl sub_809488C
+ adds r1, r5, 0x1
+ adds r0, r4, 0
+ movs r2, 0x3
+ bl sub_809488C
+ adds r1, r5, 0x2
+ adds r0, r4, 0
+ movs r2, 0x4
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0xC
+ adds r0, r4, 0
+ movs r2, 0x9
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0xE
+ adds r0, r4, 0
+ movs r2, 0x9
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x10
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x11
+ adds r0, r4, 0
+ movs r2, 0x4
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x12
+ adds r0, r4, 0
+ movs r2, 0x8
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x13
+ adds r0, r4, 0
+ movs r2, 0x6
+ bl sub_809488C
+ adds r1, r5, 0
+ adds r1, 0x8
+ adds r0, r4, 0
+ movs r2, 0x18
+ bl sub_809488C
+ adds r1, r5, 0x4
+ adds r0, r4, 0
+ bl sub_80902F4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8097270
+
+ thumb_func_start sub_80972F4
+sub_80972F4:
+ push {lr}
+ movs r0, 0
+ movs r1, 0x2B
+ bl sub_80015C0
+ movs r0, 0
+ movs r1, 0x2C
+ bl sub_80015C0
+ movs r0, 0
+ movs r1, 0x2D
+ bl sub_80015C0
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80972F4
+
+ thumb_func_start nullsub_128
+nullsub_128:
+ bx lr
+ thumb_func_end nullsub_128
+
+ thumb_func_start sub_8097318
+sub_8097318:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xD
+ bne _08097326
+ movs r0, 0
+ b _08097338
+_08097326:
+ lsls r2, r0, 16
+ lsrs r2, 16
+ movs r0, 0
+ movs r1, 0x2B
+ bl sub_8001784
+ cmp r0, 0
+ beq _08097338
+ movs r0, 0x1
+_08097338:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8097318
+
+ thumb_func_start sub_809733C
+sub_809733C:
+ push {r4-r6,lr}
+ lsls r0, 16
+ asrs r4, r0, 16
+ lsls r1, 24
+ lsrs r6, r1, 24
+ cmp r4, 0xD
+ beq _0809737C
+ lsls r0, r4, 16
+ lsrs r5, r0, 16
+ movs r0, 0
+ movs r1, 0x2C
+ adds r2, r5, 0
+ bl sub_8001784
+ cmp r0, 0
+ bne _0809737C
+ movs r0, 0
+ movs r1, 0x2B
+ adds r2, r5, 0
+ adds r3, r6, 0
+ bl sub_800199C
+ cmp r6, 0
+ beq _0809737C
+ cmp r4, 0xE
+ blt _0809737C
+ cmp r4, 0xF
+ ble _08097378
+ cmp r4, 0x1C
+ bne _0809737C
+_08097378:
+ bl sub_809674C
+_0809737C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_809733C
+
+ thumb_func_start sub_8097384
+sub_8097384:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xD
+ bne _08097392
+ movs r0, 0
+ b _080973A4
+_08097392:
+ lsls r2, r0, 16
+ lsrs r2, 16
+ movs r0, 0
+ movs r1, 0x2C
+ bl sub_8001784
+ cmp r0, 0
+ beq _080973A4
+ movs r0, 0x1
+_080973A4:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8097384
+
+ thumb_func_start sub_80973A8
+sub_80973A8:
+ push {r4-r6,lr}
+ lsls r0, 16
+ asrs r0, 16
+ lsls r1, 24
+ lsrs r6, r1, 24
+ cmp r0, 0xD
+ beq _080973EE
+ lsls r5, r0, 16
+ cmp r6, 0
+ beq _080973E2
+ bl sub_80A26B8
+ lsls r0, 16
+ asrs r4, r0, 16
+ lsrs r2, r5, 16
+ movs r0, 0
+ movs r1, 0x2B
+ movs r3, 0
+ bl sub_800199C
+ movs r0, 0x1
+ negs r0, r0
+ cmp r4, r0
+ beq _080973E2
+ movs r0, 0
+ movs r1, 0x12
+ adds r2, r4, 0
+ bl sub_80018D8
+_080973E2:
+ lsrs r2, r5, 16
+ movs r0, 0
+ movs r1, 0x2C
+ adds r3, r6, 0
+ bl sub_800199C
+_080973EE:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80973A8
+
+ thumb_func_start sub_80973F4
+sub_80973F4:
+ push {lr}
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0xD
+ bne _08097402
+ movs r0, 0
+ b _08097414
+_08097402:
+ lsls r2, r0, 16
+ lsrs r2, 16
+ movs r0, 0
+ movs r1, 0x2D
+ bl sub_8001784
+ cmp r0, 0
+ beq _08097414
+ movs r0, 0x1
+_08097414:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80973F4
+
+ thumb_func_start sub_8097418
+sub_8097418:
+ push {r4-r7,lr}
+ lsls r0, 16
+ asrs r5, r0, 16
+ lsls r1, 24
+ lsrs r7, r1, 24
+ cmp r5, 0xD
+ beq _08097470
+ lsls r6, r5, 16
+ cmp r7, 0
+ beq _08097464
+ lsrs r2, r6, 16
+ movs r0, 0
+ movs r1, 0x2C
+ movs r3, 0
+ bl sub_800199C
+ cmp r5, 0x1E
+ bgt _08097464
+ lsls r0, r5, 3
+ ldr r1, _08097478
+ adds r4, r0, r1
+ ldrb r0, [r4, 0x4]
+ cmp r0, 0xFF
+ beq _0809744C
+ bl sub_8097FA8
+_0809744C:
+ ldrb r0, [r4, 0x5]
+ cmp r0, 0xFF
+ beq _08097456
+ bl sub_8097FA8
+_08097456:
+ cmp r5, 0x9
+ bne _08097460
+ movs r0, 0x1F
+ bl sub_8097FA8
+_08097460:
+ bl sub_8097FF8
+_08097464:
+ lsrs r2, r6, 16
+ movs r0, 0
+ movs r1, 0x2D
+ adds r3, r7, 0
+ bl sub_800199C
+_08097470:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08097478: .4byte gStoryMissionText
+ thumb_func_end sub_8097418
+
+ .align 2,0
diff --git a/asm/items.s b/asm/items.s
index 87c7dc7..639ee66 100644
--- a/asm/items.s
+++ b/asm/items.s
@@ -797,8 +797,8 @@ _080913C4: .4byte gUnknown_203B460
_080913C8: .4byte 0x0001869f
thumb_func_end sub_80913A0
- thumb_func_start sub_80913CC
-sub_80913CC:
+ thumb_func_start GetItemMove
+GetItemMove:
lsls r0, 24
ldr r1, _080913DC
ldr r1, [r1]
@@ -808,7 +808,7 @@ sub_80913CC:
bx lr
.align 2, 0
_080913DC: .4byte gItemParametersData
- thumb_func_end sub_80913CC
+ thumb_func_end GetItemMove
thumb_func_start sub_80913E0
sub_80913E0:
@@ -861,7 +861,7 @@ _08091414:
bne _080914B6
add r4, sp, 0x54
ldrb r0, [r6, 0x2]
- bl sub_80913CC
+ bl GetItemMove
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
diff --git a/asm/kecleon_items.s b/asm/kecleon_items.s
index e703eba..72a16f2 100644
--- a/asm/kecleon_items.s
+++ b/asm/kecleon_items.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start sub_8018E88
-sub_8018E88:
+ thumb_func_start UpdateKecleonStoreDialogue
+UpdateKecleonStoreDialogue:
push {r4,lr}
sub sp, 0x14
ldr r1, _08018EA4
@@ -753,7 +753,7 @@ _080194E8:
.align 2, 0
_080194F0: .4byte gKecleonShopDialogue
_080194F4: .4byte 0x0000010d
- thumb_func_end sub_8018E88
+ thumb_func_end UpdateKecleonStoreDialogue
thumb_func_start sub_80194F8
sub_80194F8:
diff --git a/asm/code_808EAB0.s b/asm/pokemon_3.s
index a008794..a008794 100644
--- a/asm/code_808EAB0.s
+++ b/asm/pokemon_3.s
diff --git a/asm/wonder_mail_1.s b/asm/wonder_mail_1.s
index 6c9d8e6..133b481 100644
--- a/asm/wonder_mail_1.s
+++ b/asm/wonder_mail_1.s
@@ -5,626 +5,6 @@
.text
- thumb_func_start sub_802A75C
-sub_802A75C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A792
- ldr r0, [sp]
- cmp r0, 0
- beq _0802A78C
- cmp r0, 0x7
- bne _0802A792
- ldr r0, _0802A788
- ldr r0, [r0]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- movs r0, 0x16
- bl sub_802B2BC
- b _0802A792
- .align 2, 0
-_0802A788: .4byte gUnknown_203B2C4
-_0802A78C:
- movs r0, 0x1
- bl sub_802B2BC
-_0802A792:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A75C
-
- thumb_func_start sub_802A798
-sub_802A798:
- push {r4,r5,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A81E
- ldr r0, [sp]
- cmp r0, 0x7
- beq _0802A7BC
- cmp r0, 0x7
- bgt _0802A7B6
- cmp r0, 0
- beq _0802A818
- b _0802A81E
-_0802A7B6:
- cmp r0, 0x8
- beq _0802A810
- b _0802A81E
-_0802A7BC:
- ldr r4, _0802A800
- ldr r0, [r4]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8095228
- adds r2, r0, 0
- ldr r1, [r4]
- ldr r3, _0802A804
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802A7E2
- ldr r5, _0802A808
- adds r0, r1, r5
- ldr r0, [r0]
- str r0, [r2, 0x20]
-_0802A7E2:
- ldr r0, _0802A80C
- ldr r1, [r0]
- ldr r0, [r4]
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- movs r0, 0x29
- bl sub_802B2BC
- b _0802A81E
- .align 2, 0
-_0802A800: .4byte gUnknown_203B2C4
-_0802A804: .4byte 0x0000041e
-_0802A808: .4byte 0x0000041c
-_0802A80C: .4byte gUnknown_203B460
-_0802A810:
- movs r0, 0xB
- bl sub_802B2BC
- b _0802A81E
-_0802A818:
- movs r0, 0x1
- bl sub_802B2BC
-_0802A81E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802A798
-
- thumb_func_start sub_802A828
-sub_802A828:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A848
- movs r0, 0x2A
- bl sub_802B2BC
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl PrepareSavePakWrite
-_0802A848:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A828
-
- thumb_func_start sub_802A850
-sub_802A850:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A89A
- bl WriteSavePak
- lsls r0, 24
- cmp r0, 0
- bne _0802A89A
- bl FinishWriteSavePak
- ldr r0, _0802A884
- ldr r0, [r0]
- ldr r1, _0802A888
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x3
- blt _0802A89A
- cmp r0, 0x4
- ble _0802A88C
- cmp r0, 0x5
- beq _0802A894
- b _0802A89A
- .align 2, 0
-_0802A884: .4byte gUnknown_203B2C4
-_0802A888: .4byte 0x00000534
-_0802A88C:
- movs r0, 0x1D
- bl sub_802B2BC
- b _0802A89A
-_0802A894:
- movs r0, 0x19
- bl sub_802B2BC
-_0802A89A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A850
-
- thumb_func_start sub_802A8A0
-sub_802A8A0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A8B4
- movs r0, 0x13
- bl sub_802B2BC
-_0802A8B4:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A8A0
-
- thumb_func_start sub_802A8BC
-sub_802A8BC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A90A
- ldr r0, [sp]
- cmp r0, 0
- beq _0802A904
- cmp r0, 0xA
- bne _0802A90A
- ldr r0, _0802A8EC
- ldr r0, [r0]
- ldr r1, _0802A8F0
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x3
- blt _0802A90A
- cmp r0, 0x4
- ble _0802A8F4
- cmp r0, 0x5
- beq _0802A8FC
- b _0802A90A
- .align 2, 0
-_0802A8EC: .4byte gUnknown_203B2C4
-_0802A8F0: .4byte 0x00000534
-_0802A8F4:
- movs r0, 0x1D
- bl sub_802B2BC
- b _0802A90A
-_0802A8FC:
- movs r0, 0x19
- bl sub_802B2BC
- b _0802A90A
-_0802A904:
- movs r0, 0x1
- bl sub_802B2BC
-_0802A90A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A8BC
-
- thumb_func_start sub_802A910
-sub_802A910:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A986
- ldr r0, [sp]
- cmp r0, 0x9
- beq _0802A934
- cmp r0, 0x9
- bgt _0802A92E
- cmp r0, 0
- beq _0802A980
- b _0802A986
-_0802A92E:
- cmp r0, 0xA
- beq _0802A950
- b _0802A986
-_0802A934:
- movs r0, 0
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- beq _0802A948
- movs r0, 0xA
- bl sub_802B2BC
- b _0802A986
-_0802A948:
- movs r0, 0xB
- bl sub_802B2BC
- b _0802A986
-_0802A950:
- ldr r0, _0802A968
- ldr r0, [r0]
- ldr r1, _0802A96C
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x3
- blt _0802A986
- cmp r0, 0x4
- ble _0802A970
- cmp r0, 0x5
- beq _0802A978
- b _0802A986
- .align 2, 0
-_0802A968: .4byte gUnknown_203B2C4
-_0802A96C: .4byte 0x00000534
-_0802A970:
- movs r0, 0x1D
- bl sub_802B2BC
- b _0802A986
-_0802A978:
- movs r0, 0x19
- bl sub_802B2BC
- b _0802A986
-_0802A980:
- movs r0, 0x1
- bl sub_802B2BC
-_0802A986:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A910
-
- thumb_func_start sub_802A98C
-sub_802A98C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A9A0
- movs r0, 0x8
- bl sub_802B2BC
-_0802A9A0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A98C
-
- thumb_func_start sub_802A9A8
-sub_802A9A8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A9F6
- ldr r0, [sp]
- cmp r0, 0
- beq _0802A9F0
- cmp r0, 0x7
- bne _0802A9F6
- ldr r0, _0802A9D8
- ldr r0, [r0]
- ldr r1, _0802A9DC
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x3
- blt _0802A9F6
- cmp r0, 0x4
- ble _0802A9E0
- cmp r0, 0x5
- beq _0802A9E8
- b _0802A9F6
- .align 2, 0
-_0802A9D8: .4byte gUnknown_203B2C4
-_0802A9DC: .4byte 0x00000534
-_0802A9E0:
- movs r0, 0x1D
- bl sub_802B2BC
- b _0802A9F6
-_0802A9E8:
- movs r0, 0x19
- bl sub_802B2BC
- b _0802A9F6
-_0802A9F0:
- movs r0, 0x1
- bl sub_802B2BC
-_0802A9F6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A9A8
-
- thumb_func_start sub_802A9FC
-sub_802A9FC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AA22
- ldr r0, [sp]
- cmp r0, 0
- beq _0802AA1C
- cmp r0, 0x7
- bne _0802AA22
- movs r0, 0x26
- bl sub_802B2BC
- b _0802AA22
-_0802AA1C:
- movs r0, 0x1
- bl sub_802B2BC
-_0802AA22:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A9FC
-
- thumb_func_start sub_802AA28
-sub_802AA28:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AAA6
- ldr r2, [sp]
- cmp r2, 0
- beq _0802AAA0
- cmp r2, 0
- blt _0802AAA6
- cmp r2, 0x5
- bgt _0802AAA6
- cmp r2, 0x3
- blt _0802AAA6
- ldr r0, _0802AA7C
- ldr r0, [r0]
- ldr r3, _0802AA80
- adds r1, r0, r3
- str r2, [r1]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0802AA8C
- movs r0, 0x5
- bl sub_80953D4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802AA84
- movs r0, 0x7
- bl sub_802B2BC
- b _0802AAA6
- .align 2, 0
-_0802AA7C: .4byte gUnknown_203B2C4
-_0802AA80: .4byte 0x00000534
-_0802AA84:
- movs r0, 0x9
- bl sub_802B2BC
- b _0802AAA6
-_0802AA8C:
- cmp r2, 0x5
- bne _0802AA98
- movs r0, 0x26
- bl sub_802B2BC
- b _0802AAA6
-_0802AA98:
- movs r0, 0x1D
- bl sub_802B2BC
- b _0802AAA6
-_0802AAA0:
- movs r0, 0x1
- bl sub_802B2BC
-_0802AAA6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802AA28
-
- thumb_func_start sub_802AAAC
-sub_802AAAC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AAC0
- movs r0, 0x1
- bl sub_802B2BC
-_0802AAC0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802AAAC
-
- thumb_func_start sub_802AAC8
-sub_802AAC8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AADC
- movs r0, 0x3
- bl sub_802B2BC
-_0802AADC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802AAC8
-
- thumb_func_start sub_802AAE4
-sub_802AAE4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AB5A
- ldr r2, [sp]
- cmp r2, 0x1
- beq _0802AB08
- cmp r2, 0x1
- bgt _0802AB02
- cmp r2, 0
- beq _0802AB54
- b _0802AB5A
-_0802AB02:
- cmp r2, 0x2
- beq _0802AB38
- b _0802AB5A
-_0802AB08:
- ldr r0, _0802AB2C
- ldr r0, [r0]
- movs r1, 0x6
- str r1, [r0, 0x40]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- str r2, [r0]
- movs r0, 0x5
- bl sub_8095324
- cmp r0, 0
- bne _0802AB30
- movs r0, 0x4
- bl sub_802B2BC
- b _0802AB5A
- .align 2, 0
-_0802AB2C: .4byte gUnknown_203B2C4
-_0802AB30:
- movs r0, 0xF
- bl sub_802B2BC
- b _0802AB5A
-_0802AB38:
- ldr r0, _0802AB50
- ldr r0, [r0]
- movs r1, 0x7
- str r1, [r0, 0x40]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- str r2, [r0]
- movs r0, 0x6
- bl sub_802B2BC
- b _0802AB5A
- .align 2, 0
-_0802AB50: .4byte gUnknown_203B2C4
-_0802AB54:
- movs r0, 0x2
- bl sub_802B2BC
-_0802AB5A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802AAE4
-
- thumb_func_start sub_802AB60
-sub_802AB60:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AB74
- movs r0, 0x22
- bl sub_802B2BC
-_0802AB74:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802AB60
-
- thumb_func_start sub_802AB7C
-sub_802AB7C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AB90
- movs r0, 0x22
- bl sub_802B2BC
-_0802AB90:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802AB7C
-
- thumb_func_start sub_802AB98
-sub_802AB98:
- push {r4,lr}
- bl sub_802F298
- cmp r0, 0x3
- bne _0802ABE0
- bl sub_802F2C0
- ldr r0, _0802ABE8
- movs r4, 0x98
- lsls r4, 1
- adds r1, r4, 0
- bl CopyYellowSpeciesNametoBuffer
- adds r0, r4, 0
- bl GetMonSpecies
- adds r1, r0, 0
- ldr r0, _0802ABEC
- bl strcpy
- ldr r0, _0802ABF0
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x6
- bl sub_809539C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095240
- movs r0, 0x24
- bl sub_802B2BC
-_0802ABE0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802ABE8: .4byte gUnknown_202E5D8
-_0802ABEC: .4byte gAvailablePokemonNames
-_0802ABF0: .4byte gUnknown_203B2C4
- thumb_func_end sub_802AB98
-
- thumb_func_start nullsub_131
-nullsub_131:
- bx lr
- thumb_func_end nullsub_131
-
thumb_func_start sub_802ABF8
sub_802ABF8:
push {r4-r6,lr}
@@ -1423,18 +803,4 @@ _0802B2B4: .4byte gUnknown_80DF9A4
_0802B2B8: .4byte gUnknown_80DEE08
thumb_func_end sub_802ABF8
- thumb_func_start sub_802B2BC
-sub_802B2BC:
- push {lr}
- ldr r1, _0802B2D0
- ldr r1, [r1]
- strb r0, [r1]
- bl nullsub_131
- bl sub_802ABF8
- pop {r0}
- bx r0
- .align 2, 0
-_0802B2D0: .4byte gUnknown_203B2C4
- thumb_func_end sub_802B2BC
-
.align 2,0
diff --git a/asm/wonder_mail_3.s b/asm/wonder_mail_3.s
index 718d084..df1ab03 100644
--- a/asm/wonder_mail_3.s
+++ b/asm/wonder_mail_3.s
@@ -5,125 +5,6 @@
.text
- thumb_func_start sub_802D1B8
-sub_802D1B8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0802D1E0
- ldr r0, [r4]
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0xD
- beq _0802D1EA
- cmp r0, 0xD
- bgt _0802D1E4
- cmp r0, 0x2
- beq _0802D27E
- b _0802D254
- .align 2, 0
-_0802D1E0: .4byte gUnknown_203B2F8
-_0802D1E4:
- cmp r0, 0xE
- beq _0802D21C
- b _0802D254
-_0802D1EA:
- bl sub_802D5A4
- ldr r2, [r4]
- movs r0, 0xEC
- lsls r0, 1
- adds r2, r0
- ldr r1, _0802D218
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0x8C
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- ldr r0, [r4]
- movs r7, 0xF2
- lsls r7, 1
- b _0802D246
- .align 2, 0
-_0802D218: .4byte gUnknown_80DFE04
-_0802D21C:
- bl sub_802D63C
- ldr r2, [r4]
- movs r0, 0xF8
- lsls r0, 1
- adds r2, r0
- ldr r1, _0802D250
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0xAC
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- ldr r0, [r4]
- movs r7, 0xFE
- lsls r7, 1
-_0802D246:
- adds r0, r7
- movs r1, 0x6
- strh r1, [r0]
- b _0802D27E
- .align 2, 0
-_0802D250: .4byte gUnknown_80DFE1C
-_0802D254:
- ldr r0, _0802D2A0
- mov r12, r0
- movs r1, 0xD4
- lsls r1, 1
- mov r8, r1
- ldr r4, _0802D2A4
- movs r3, 0
- movs r2, 0x3
-_0802D264:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0802D264
-_0802D27E:
- bl ResetUnusedInputStruct
- ldr r0, _0802D2A0
- ldr r0, [r0]
- movs r6, 0xD4
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802D2A0: .4byte gUnknown_203B2F8
-_0802D2A4: .4byte gUnknown_80DFDD4
- thumb_func_end sub_802D1B8
-
thumb_func_start sub_802D2A8
sub_802D2A8:
push {r4,lr}