summaryrefslogtreecommitdiff
path: root/asm/code_809017C.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/code_809017C.s')
-rw-r--r--asm/code_809017C.s3170
1 files changed, 5 insertions, 3165 deletions
diff --git a/asm/code_809017C.s b/asm/code_809017C.s
index 5ea4cef..205f7bb 100644
--- a/asm/code_809017C.s
+++ b/asm/code_809017C.s
@@ -369,7 +369,7 @@ _080903F2:
b _08090430
.align 2, 0
_0809040C: .4byte gUnknown_8108F40
-_08090410: .4byte gUnknown_203B45C
+_08090410: .4byte gRecruitedPokemonRef
_08090414: .4byte gDungeons
_08090418: .4byte gUnknown_8115A2C
_0809041C:
@@ -432,7 +432,7 @@ _0809048E:
beq _0809054E
ldr r0, _080904B0
adds r1, r2, 0
- bl sub_808D908
+ bl CopyCyanSpeciesNametoBuffer
cmp r5, 0x3
ble _080904D2
mov r0, r8
@@ -503,7 +503,7 @@ _08090510:
b _08090536
.align 2, 0
_08090528: .4byte gUnknown_8115BA4
-_0809052C: .4byte gUnknown_203B45C
+_0809052C: .4byte gRecruitedPokemonRef
_08090530: .4byte gUnknown_8115BF4
_08090534:
ldr r0, _080905D0
@@ -685,7 +685,7 @@ _08090690:
_080906A0: .4byte gUnknown_8115D14
_080906A4: .4byte gDungeons
_080906A8: .4byte 0x0000019d
-_080906AC: .4byte gUnknown_203B45C
+_080906AC: .4byte gRecruitedPokemonRef
_080906B0: .4byte gUnknown_8115D5C
_080906B4:
ldr r0, _080906D8
@@ -899,7 +899,7 @@ _08090852:
movs r0, 0x1
b _08090880
.align 2, 0
-_08090868: .4byte gUnknown_203B45C
+_08090868: .4byte gRecruitedPokemonRef
_0809086C:
adds r2, 0x8
adds r3, 0x1
@@ -1077,3165 +1077,5 @@ _0809098C:
_08090994: .4byte gUnknown_810A350
thumb_func_end sub_809095C
- thumb_func_start LoadItemParameters
-LoadItemParameters:
- push {lr}
- ldr r1, _080909B8
- ldr r0, _080909BC
- str r0, [r1]
- ldr r0, _080909C0
- ldr r1, _080909C4
- bl OpenFileAndGetFileDataPtr
- ldr r1, _080909C8
- str r0, [r1]
- ldr r1, _080909CC
- ldr r0, [r0, 0x4]
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080909B8: .4byte gUnknown_203B460
-_080909BC: .4byte gUnknown_20389A8
-_080909C0: .4byte gUnknown_8109764
-_080909C4: .4byte gSystemFileArchive
-_080909C8: .4byte gItemParametersFile
-_080909CC: .4byte gItemParametersFile + 4
- thumb_func_end LoadItemParameters
-
- thumb_func_start sub_80909D0
-sub_80909D0:
- ldr r0, _080909D4
- bx lr
- .align 2, 0
-_080909D4: .4byte gUnknown_20389A8
- thumb_func_end sub_80909D0
-
- thumb_func_start sub_80909D8
-sub_80909D8:
- push {r4,lr}
- movs r4, 0
- ldr r3, _08090A30
- movs r2, 0
-_080909E0:
- ldr r0, [r3]
- lsls r1, r4, 2
- adds r0, r1
- strb r2, [r0]
- adds r4, 0x1
- cmp r4, 0x13
- ble _080909E0
- movs r4, 0
- ldr r3, _08090A30
- movs r2, 0
-_080909F4:
- ldr r0, [r3]
- lsls r1, r4, 1
- adds r0, 0x50
- adds r0, r1
- strh r2, [r0]
- adds r4, 0x1
- cmp r4, 0xEF
- ble _080909F4
- movs r4, 0
-_08090A06:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8091840
- adds r4, 0x1
- cmp r4, 0x7
- ble _08090A06
- ldr r0, _08090A30
- ldr r2, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r2, r1
- movs r1, 0
- str r1, [r0]
- movs r3, 0x99
- lsls r3, 2
- adds r0, r2, r3
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08090A30: .4byte gUnknown_203B460
- thumb_func_end sub_80909D8
-
- thumb_func_start sub_8090A34
-sub_8090A34:
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _08090A5C
- movs r5, 0x1
- ldr r2, [r0]
- movs r3, 0x13
-_08090A40:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08090A4C
- adds r4, 0x1
-_08090A4C:
- adds r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _08090A40
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08090A5C: .4byte gUnknown_203B460
- thumb_func_end sub_8090A34
-
- thumb_func_start sub_8090A60
-sub_8090A60:
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- beq _08090A84
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08090A84
- movs r0, 0
- b _08090A86
-_08090A84:
- movs r0, 0x1
-_08090A86:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090A60
-
- thumb_func_start sub_8090A8C
-sub_8090A8C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- cmp r5, 0
- beq _08090AF8
- movs r7, 0x1
- strb r7, [r6]
- strb r5, [r6, 0x2]
- adds r0, r5, 0
- bl sub_8090A60
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08090AD4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8090D80
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8090D80
- adds r1, r0, 0
- adds r0, r4, 0
- bl RandomRange
- strb r0, [r6, 0x1]
- b _08090AE8
-_08090AD4:
- adds r0, r5, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08090AE6
- strb r7, [r6, 0x1]
- b _08090AE8
-_08090AE6:
- strb r4, [r6, 0x1]
-_08090AE8:
- mov r0, r8
- cmp r0, 0
- beq _08090AFE
- ldrb r1, [r6]
- movs r0, 0x8
- orrs r0, r1
- strb r0, [r6]
- b _08090AFE
-_08090AF8:
- strb r5, [r6]
- strb r5, [r6, 0x2]
- strb r5, [r6, 0x1]
-_08090AFE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8090A8C
-
- thumb_func_start sub_8090B08
-sub_8090B08:
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r5, 0
- beq _08090B5A
- strb r5, [r6]
- adds r0, r5, 0
- bl sub_8090A60
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08090B42
- adds r0, r5, 0
- movs r1, 0
- bl sub_8090D80
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8090D80
- adds r1, r0, 0
- adds r0, r4, 0
- bl RandomRange
- strb r0, [r6, 0x1]
- b _08090B5E
-_08090B42:
- adds r0, r5, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08090B56
- movs r0, 0x1
- strb r0, [r6, 0x1]
- b _08090B5E
-_08090B56:
- strb r4, [r6, 0x1]
- b _08090B5E
-_08090B5A:
- strb r5, [r6]
- strb r5, [r6, 0x1]
-_08090B5E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8090B08
-
- thumb_func_start sub_8090B64
-sub_8090B64:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r1, [r5]
- adds r0, r1, 0
- cmp r0, 0
- beq _08090BA4
- movs r0, 0x1
- strb r0, [r4]
- strb r1, [r4, 0x2]
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _08090B9A
- ldrb r0, [r4, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08090B9A
- ldrb r0, [r4, 0x2]
- cmp r0, 0x7C
- bne _08090BA0
-_08090B9A:
- ldrb r0, [r5, 0x1]
- strb r0, [r4, 0x1]
- b _08090BAA
-_08090BA0:
- strb r6, [r4, 0x1]
- b _08090BAA
-_08090BA4:
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x1]
- strb r0, [r4]
-_08090BAA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8090B64
-
- thumb_func_start sub_8090BB0
-sub_8090BB0:
- push {lr}
- adds r3, r0, 0
- ldrb r0, [r1]
- movs r2, 0x1
- ands r2, r0
- cmp r2, 0
- beq _08090BC8
- ldrb r0, [r1, 0x2]
- strb r0, [r3]
- ldrb r0, [r1, 0x1]
- strb r0, [r3, 0x1]
- b _08090BCA
-_08090BC8:
- strb r2, [r3]
-_08090BCA:
- pop {r0}
- bx r0
- thumb_func_end sub_8090BB0
-
- thumb_func_start sub_8090BD0
-sub_8090BD0:
- lsls r0, 24
- ldr r1, _08090BE0
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrb r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_08090BE0: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090BD0
-
- thumb_func_start sub_8090BE4
-sub_8090BE4:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _08090BF6
- adds r0, r4, 0
- bl sub_80915D4
- b _08090C24
-_08090BF6:
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08090C14
- ldrb r0, [r4, 0x2]
- ldr r1, _08090C10
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r0, [r0, 0x4]
- b _08090C24
- .align 2, 0
-_08090C10: .4byte gItemParametersFile + 4
-_08090C14:
- ldrb r0, [r4, 0x2]
- ldr r1, _08090C2C
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r1, [r4, 0x1]
- ldr r0, [r0, 0x4]
- muls r0, r1
-_08090C24:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090C2C: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090BE4
-
- thumb_func_start sub_8090C30
-sub_8090C30:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _08090C42
- adds r0, r4, 0
- bl sub_80915D4
- b _08090C70
-_08090C42:
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08090C60
- ldrb r0, [r4, 0x2]
- ldr r1, _08090C5C
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r0, [r0, 0x8]
- b _08090C70
- .align 2, 0
-_08090C5C: .4byte gItemParametersFile + 4
-_08090C60:
- ldrb r0, [r4, 0x2]
- ldr r1, _08090C78
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r1, [r4, 0x1]
- ldr r0, [r0, 0x8]
- muls r0, r1
-_08090C70:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090C78: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090C30
-
- thumb_func_start sub_8090C7C
-sub_8090C7C:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- bne _08090C90
- movs r0, 0
- b _08090CC0
-_08090C90:
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08090CB0
- ldrb r0, [r4, 0x2]
- ldr r1, _08090CAC
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r0, [r0, 0x4]
- b _08090CC0
- .align 2, 0
-_08090CAC: .4byte gItemParametersFile + 4
-_08090CB0:
- ldrb r0, [r4, 0x2]
- ldr r1, _08090CC8
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r1, [r4, 0x1]
- ldr r0, [r0, 0x4]
- muls r0, r1
-_08090CC0:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090CC8: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090C7C
-
- thumb_func_start sub_8090CCC
-sub_8090CCC:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- bne _08090CE0
- movs r0, 0
- b _08090D10
-_08090CE0:
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08090D00
- ldrb r0, [r4, 0x2]
- ldr r1, _08090CFC
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r0, [r0, 0x8]
- b _08090D10
- .align 2, 0
-_08090CFC: .4byte gItemParametersFile + 4
-_08090D00:
- ldrb r0, [r4, 0x2]
- ldr r1, _08090D18
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r1, [r4, 0x1]
- ldr r0, [r0, 0x8]
- muls r0, r1
-_08090D10:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090D18: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090CCC
-
- thumb_func_start sub_8090D1C
-sub_8090D1C:
- lsls r0, 24
- ldr r1, _08090D2C
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldr r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_08090D2C: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D1C
-
- thumb_func_start sub_8090D30
-sub_8090D30:
- lsls r0, 24
- ldr r1, _08090D40
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldr r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_08090D40: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D30
-
- thumb_func_start sub_8090D44
-sub_8090D44:
- lsls r0, 24
- ldr r1, _08090D54
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrb r0, [r0, 0x1A]
- bx lr
- .align 2, 0
-_08090D54: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D44
-
- thumb_func_start sub_8090D58
-sub_8090D58:
- lsls r0, 24
- ldr r1, _08090D68
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrb r0, [r0, 0x1D]
- bx lr
- .align 2, 0
-_08090D68: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D58
-
- thumb_func_start sub_8090D6C
-sub_8090D6C:
- lsls r0, 24
- ldr r1, _08090D7C
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrb r0, [r0, 0x1E]
- bx lr
- .align 2, 0
-_08090D7C: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D6C
-
- thumb_func_start sub_8090D80
-sub_8090D80:
- lsls r0, 24
- ldr r2, _08090D94
- ldr r2, [r2]
- lsrs r0, 19
- adds r0, r2
- adds r0, 0x1B
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08090D94: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D80
-
- thumb_func_start sub_8090D98
-sub_8090D98:
- lsls r0, 24
- ldr r1, _08090DA8
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldr r0, [r0, 0x10]
- bx lr
- .align 2, 0
-_08090DA8: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090D98
-
- thumb_func_start sub_8090DAC
-sub_8090DAC:
- lsls r0, 24
- ldr r2, _08090DC0
- ldr r2, [r2]
- lsrs r0, 19
- adds r0, r2
- adds r0, 0x14
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08090DC0: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090DAC
-
- thumb_func_start sub_8090DC4
-sub_8090DC4:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x54
- adds r6, r0, 0
- adds r4, r1, 0
- mov r8, r2
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08090E10
- ldr r1, [r0]
- lsls r0, r4, 5
- adds r0, r1
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x50
- bl strncpy
- add r5, sp, 0x50
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090A8C
- movs r0, 0x1
- strb r0, [r5, 0x1]
- adds r0, r6, 0
- mov r1, sp
- adds r2, r5, 0
- mov r3, r8
- bl sub_8090F58
- add sp, 0x54
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08090E10: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090DC4
-
- thumb_func_start sub_8090E14
-sub_8090E14:
- push {r4-r7,lr}
- sub sp, 0x50
- adds r6, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- movs r4, 0
- cmp r7, 0
- beq _08090E2C
- ldrb r1, [r7, 0x8]
- negs r0, r1
- orrs r0, r1
- lsrs r4, r0, 31
-_08090E2C:
- ldrb r0, [r5, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- bne _08090E3E
- cmp r4, 0
- bne _08090E50
- b _08090E70
-_08090E3E:
- ldrb r0, [r5, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08090E90
- cmp r4, 0
- beq _08090E70
-_08090E50:
- ldr r1, _08090E68
- ldrb r0, [r5, 0x2]
- ldr r2, _08090E6C
- ldr r2, [r2]
- lsls r0, 5
- adds r0, r2
- ldr r2, [r0]
- ldrb r3, [r5, 0x1]
- mov r0, sp
- bl sub_800D158
- b _08090EC4
- .align 2, 0
-_08090E68: .4byte gUnknown_8109770
-_08090E6C: .4byte gItemParametersFile + 4
-_08090E70:
- ldr r1, _08090E88
- ldrb r0, [r5, 0x2]
- ldr r2, _08090E8C
- ldr r2, [r2]
- lsls r0, 5
- adds r0, r2
- ldr r2, [r0]
- mov r0, sp
- bl sub_800D158
- b _08090EC4
- .align 2, 0
-_08090E88: .4byte gUnknown_8109778
-_08090E8C: .4byte gItemParametersFile + 4
-_08090E90:
- ldrb r0, [r5, 0x2]
- cmp r0, 0x69
- bne _08090EB0
- ldr r4, _08090EAC
- adds r0, r5, 0
- bl sub_80915D4
- adds r2, r0, 0
- mov r0, sp
- adds r1, r4, 0
- bl sub_800D158
- b _08090EC4
- .align 2, 0
-_08090EAC: .4byte gUnknown_810977C
-_08090EB0:
- ldrb r0, [r5, 0x2]
- ldr r1, _08090F2C
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x50
- bl strncpy
-_08090EC4:
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08090EE2
- ldr r1, _08090F30
- adds r0, r6, 0
- mov r2, sp
- bl sub_800D158
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x50
- bl strncpy
-_08090EE2:
- cmp r7, 0
- beq _08090F38
- ldrb r0, [r7, 0x4]
- cmp r0, 0
- beq _08090F0A
- ldrb r1, [r5]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08090F0A
- ldr r1, _08090F34
- adds r0, r6, 0
- mov r2, sp
- bl sub_800D158
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x50
- bl strncpy
-_08090F0A:
- ldr r0, [r7]
- cmp r0, 0x1
- beq _08090F14
- cmp r0, 0x3
- bne _08090F44
-_08090F14:
- ldrb r1, [r5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08090F38
- adds r0, r6, 0
- mov r1, sp
- adds r2, r5, 0
- adds r3, r7, 0
- bl sub_8090F58
- b _08090F50
- .align 2, 0
-_08090F2C: .4byte gItemParametersFile + 4
-_08090F30: .4byte gUnknown_8109784
-_08090F34: .4byte gUnknown_810978C
-_08090F38:
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x50
- bl strncpy
- b _08090F50
-_08090F44:
- adds r0, r6, 0
- mov r1, sp
- adds r2, r5, 0
- adds r3, r7, 0
- bl sub_8090F58
-_08090F50:
- add sp, 0x50
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8090E14
-
- thumb_func_start sub_8090F58
-sub_8090F58:
- push {r4-r6,lr}
- sub sp, 0x2C
- adds r5, r0, 0
- adds r6, r1, 0
- adds r0, r2, 0
- adds r4, r3, 0
- cmp r4, 0
- bne _08090F6C
- adds r0, r5, 0
- b _08090F94
-_08090F6C:
- ldr r1, [r4]
- cmp r1, 0x1
- bcc _08090F8A
- cmp r1, 0x2
- bhi _08090F7E
- bl sub_8090BE4
- adds r1, r0, 0
- b _08090F8C
-_08090F7E:
- cmp r1, 0x4
- bhi _08090F8A
- bl sub_8090C30
- adds r1, r0, 0
- b _08090F8C
-_08090F8A:
- movs r1, 0
-_08090F8C:
- cmp r1, 0
- bne _08090F9C
- adds r0, r5, 0
- adds r1, r6, 0
-_08090F94:
- movs r2, 0x50
- bl strncpy
- b _08090FDE
-_08090F9C:
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08090FC8
- adds r0, r1, 0
- add r1, sp, 0x4
- movs r2, 0x1
- bl sub_8090FEC
- ldr r1, _08090FC4
- movs r0, 0x6
- ldrsh r3, [r4, r0]
- add r2, sp, 0x4
- str r2, [sp]
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_800D158
- b _08090FDE
- .align 2, 0
-_08090FC4: .4byte gUnknown_8109794
-_08090FC8:
- adds r0, r1, 0
- add r1, sp, 0x4
- movs r2, 0
- bl sub_8090FEC
- ldr r1, _08090FE8
- adds r0, r5, 0
- adds r2, r6, 0
- add r3, sp, 0x4
- bl sub_800D158
-_08090FDE:
- add sp, 0x2C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08090FE8: .4byte gUnknown_81097A4
- thumb_func_end sub_8090F58
-
- thumb_func_start sub_8090FEC
-sub_8090FEC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- movs r0, 0
- mov r8, r0
- movs r6, 0
- movs r2, 0
- ldr r1, _08091050
- mov r9, r1
- mov r12, r9
-_0809100E:
- movs r1, 0
- lsls r3, r2, 2
- ldr r7, _08091054
- adds r0, r3, r7
- ldr r0, [r0]
- adds r7, r2, 0x1
- cmp r5, r0
- blt _0809102C
- ldr r2, _08091054
-_08091020:
- adds r0, r3, r2
- ldr r0, [r0]
- subs r5, r0
- adds r1, 0x1
- cmp r5, r0
- bge _08091020
-_0809102C:
- cmp r1, 0x9
- ble _08091032
- movs r1, 0x9
-_08091032:
- cmp r1, 0
- beq _0809105C
- movs r0, 0x1
- mov r8, r0
- lsls r1, 1
- mov r2, r12
- adds r0, r1, r2
- ldrb r0, [r0]
- strb r0, [r4]
- adds r4, 0x1
- ldr r0, _08091058
- adds r1, r0
- ldrb r0, [r1]
- b _0809106C
- .align 2, 0
-_08091050: .4byte gUnknown_81097C4
-_08091054: .4byte gUnknown_81097B0
-_08091058: .4byte gUnknown_81097C5
-_0809105C:
- mov r1, r8
- cmp r1, 0
- beq _08091074
- mov r2, r12
- ldrb r0, [r2]
- strb r0, [r4]
- adds r4, 0x1
- ldrb r0, [r2, 0x1]
-_0809106C:
- strb r0, [r4]
- adds r4, 0x1
- adds r6, 0x1
- b _08091080
-_08091074:
- mov r0, r10
- cmp r0, 0
- beq _08091080
- movs r0, 0x60
- strb r0, [r4]
- adds r4, 0x1
-_08091080:
- adds r2, r7, 0
- cmp r2, 0x4
- ble _0809100E
- lsls r1, r5, 1
- mov r2, r9
- adds r0, r1, r2
- ldrb r0, [r0]
- strb r0, [r4]
- adds r4, 0x1
- mov r0, r9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r4]
- adds r6, 0x1
- movs r0, 0
- strb r0, [r4, 0x1]
- adds r0, r6, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8090FEC
-
- thumb_func_start sub_80910B4
-sub_80910B4:
- push {r4-r7,lr}
- movs r2, 0
- movs r4, 0
- ldr r7, _080910C0
- movs r3, 0
- b _080910DA
- .align 2, 0
-_080910C0: .4byte gUnknown_203B460
-_080910C4:
- cmp r2, r4
- ble _080910D4
- ldr r0, [r7]
- lsls r1, r4, 2
- adds r1, r0, r1
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_080910D4:
- adds r3, 0x4
- adds r2, 0x1
- adds r4, 0x1
-_080910DA:
- cmp r2, 0x13
- bgt _08091106
- ldr r0, [r7]
- adds r0, r3, r0
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08091106
- ldr r5, _0809112C
- movs r6, 0x1
-_080910F0:
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x13
- bgt _08091106
- ldr r0, [r5]
- adds r0, r3, r0
- ldrb r1, [r0]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080910F0
-_08091106:
- cmp r2, 0x14
- bne _080910C4
- cmp r4, 0x13
- bgt _08091124
- ldr r3, _0809112C
- movs r2, 0
-_08091112:
- lsls r1, r4, 2
- ldr r0, [r3]
- adds r1, r0
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x1]
- strb r2, [r1]
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091112
-_08091124:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809112C: .4byte gUnknown_203B460
- thumb_func_end sub_80910B4
-
- thumb_func_start sub_8091130
-sub_8091130:
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- ldr r0, _08091154
- ldr r2, [r0]
- movs r5, 0x1
-_0809113E:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08091158
- ldrb r0, [r2, 0x2]
- cmp r0, r4
- bne _08091158
- adds r0, r3, 0
- b _08091164
- .align 2, 0
-_08091154: .4byte gUnknown_203B460
-_08091158:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x13
- ble _0809113E
- movs r0, 0x1
- negs r0, r0
-_08091164:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8091130
-
- thumb_func_start sub_809116C
-sub_809116C:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _080911A0
- ldr r2, [r0]
- movs r6, 0x1
- movs r3, 0x13
-_0809117C:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0809118E
- ldrb r0, [r2, 0x2]
- cmp r0, r5
- bne _0809118E
- adds r4, 0x1
-_0809118E:
- adds r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _0809117C
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080911A0: .4byte gUnknown_203B460
- thumb_func_end sub_809116C
-
- thumb_func_start sub_80911A4
-sub_80911A4:
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_809116C
- adds r4, r0, 0
- movs r3, 0
- ldr r0, _080911F4
- ldr r7, [r0]
- movs r6, 0x1
-_080911BA:
- movs r0, 0x58
- muls r0, r3
- adds r2, r7, r0
- ldrh r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080911E2
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _080911E2
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0
- beq _080911E2
- cmp r0, r5
- bne _080911E2
- adds r4, 0x1
-_080911E2:
- adds r3, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r3, r0
- ble _080911BA
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080911F4: .4byte gUnknown_203B45C
- thumb_func_end sub_80911A4
-
- thumb_func_start sub_80911F8
-sub_80911F8:
- push {r4,r5,lr}
- adds r2, r0, 0
- ldr r4, _08091230
- cmp r2, 0x12
- bgt _0809121C
- adds r5, r4, 0
- lsls r0, r2, 2
- adds r3, r0, 0x4
-_08091208:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r1, r0, r1
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x12
- ble _08091208
-_0809121C:
- ldr r0, [r4]
- adds r0, 0x4E
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x4C
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08091230: .4byte gUnknown_203B460
- thumb_func_end sub_80911F8
-
- thumb_func_start sub_8091234
-sub_8091234:
- ldr r3, _08091248
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- movs r2, 0
- strb r2, [r1, 0x2]
- ldr r1, [r3]
- adds r1, r0
- strb r2, [r1]
- bx lr
- .align 2, 0
-_08091248: .4byte gUnknown_203B460
- thumb_func_end sub_8091234
-
- thumb_func_start sub_809124C
-sub_809124C:
- push {lr}
- sub sp, 0x4
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r2, 24
- mov r0, sp
- adds r1, r3, 0
- bl sub_8090A8C
- mov r0, sp
- bl sub_8091290
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_809124C
-
- thumb_func_start sub_8091274
-sub_8091274:
- push {lr}
- sub sp, 0x4
- adds r1, r0, 0
- mov r0, sp
- bl sub_8090B64
- mov r0, sp
- bl sub_8091290
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8091274
-
- thumb_func_start sub_8091290
-sub_8091290:
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r3, 0
- ldr r5, _080912B4
- movs r6, 0x1
-_0809129A:
- lsls r1, r3, 2
- ldr r0, [r5]
- adds r2, r1, r0
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _080912B8
- ldr r0, [r4]
- str r0, [r2]
- movs r0, 0
- b _080912C0
- .align 2, 0
-_080912B4: .4byte gUnknown_203B460
-_080912B8:
- adds r3, 0x1
- cmp r3, 0x13
- ble _0809129A
- movs r0, 0x1
-_080912C0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8091290
-
- thumb_func_start sub_80912C8
-sub_80912C8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- movs r6, 0
-_080912D6:
- ldr r0, _0809139C
- lsls r1, r5, 2
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080912FE
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _080912FE
- adds r0, r4, 0
- bl sub_80915D4
- bl sub_80913A0
- strb r6, [r4, 0x2]
- strb r6, [r4, 0x1]
- strb r6, [r4]
-_080912FE:
- adds r5, 0x1
- cmp r5, 0x13
- ble _080912D6
- bl sub_80910B4
- movs r5, 0
-_0809130A:
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- lsls r2, r5, 2
- ldr r1, _0809139C
- mov r8, r1
- ldr r0, [r1]
- adds r3, r2, r0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- mov r10, r2
- adds r7, r5, 0x1
- cmp r0, 0
- beq _08091382
- ldrb r0, [r3, 0x2]
- bl sub_8090D44
- adds r6, r0, 0
- adds r4, r7, 0
- cmp r7, 0x13
- bgt _08091368
-_08091336:
- lsls r5, r4, 2
- mov r1, r8
- ldr r0, [r1]
- adds r2, r5, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08091362
- ldrb r0, [r2, 0x2]
- bl sub_8090D44
- cmp r6, r0
- ble _08091362
- mov r9, r4
- mov r1, r8
- ldr r0, [r1]
- adds r0, r5
- ldrb r0, [r0, 0x2]
- bl sub_8090D44
- adds r6, r0, 0
-_08091362:
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091336
-_08091368:
- mov r4, r9
- cmp r4, 0
- blt _08091382
- ldr r0, _0809139C
- ldr r1, [r0]
- mov r0, r10
- adds r2, r1, r0
- ldr r3, [r2]
- lsls r0, r4, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- str r3, [r1]
-_08091382:
- adds r5, r7, 0
- cmp r5, 0x13
- ble _0809130A
- bl sub_80910B4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809139C: .4byte gUnknown_203B460
- thumb_func_end sub_80912C8
-
- thumb_func_start sub_80913A0
-sub_80913A0:
- push {lr}
- ldr r1, _080913C4
- ldr r1, [r1]
- movs r3, 0x98
- lsls r3, 2
- adds r2, r1, r3
- ldr r1, [r2]
- adds r1, r0
- str r1, [r2]
- ldr r0, _080913C8
- cmp r1, r0
- bgt _080913BE
- cmp r1, 0
- bge _080913C0
- movs r0, 0
-_080913BE:
- str r0, [r2]
-_080913C0:
- pop {r0}
- bx r0
- .align 2, 0
-_080913C4: .4byte gUnknown_203B460
-_080913C8: .4byte 0x0001869f
- thumb_func_end sub_80913A0
-
- thumb_func_start sub_80913CC
-sub_80913CC:
- lsls r0, 24
- ldr r1, _080913DC
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrh r0, [r0, 0x18]
- bx lr
- .align 2, 0
-_080913DC: .4byte gItemParametersFile + 4
- thumb_func_end sub_80913CC
-
- thumb_func_start sub_80913E0
-sub_80913E0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x5C
- adds r6, r0, 0
- adds r5, r1, 0
- mov r8, r2
- ldrb r0, [r6, 0x2]
- bl sub_8090D98
- ldrb r1, [r6, 0x2]
- add r0, sp, 0x4
- movs r2, 0
- bl sub_8090DC4
- ldrb r0, [r6, 0x2]
- cmp r0, 0x7C
- bne _08091414
- ldr r0, _080914D4
- ldrb r1, [r6, 0x1]
- adds r1, 0x7D
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- bl sub_8090DC4
-_08091414:
- adds r0, r5, 0
- bl sub_80073B8
- movs r7, 0
- str r7, [sp]
- movs r0, 0x10
- movs r1, 0
- add r2, sp, 0x4
- adds r3, r5, 0
- bl sub_8014FF0
- ldrb r0, [r6, 0x2]
- bl sub_8090D98
- adds r2, r0, 0
- str r7, [sp]
- movs r0, 0x8
- movs r1, 0x18
- adds r3, r5, 0
- bl sub_8014FF0
- ldrb r0, [r6, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080914B6
- add r4, sp, 0x54
- ldrb r0, [r6, 0x2]
- bl sub_80913CC
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8092A88
- movs r0, 0x7
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x52
- movs r3, 0xC8
- bl sub_80078A4
- ldr r0, _080914D8
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x4
- movs r1, 0x54
- adds r3, r5, 0
- bl sub_8014FF0
- adds r0, r4, 0
- bl sub_8092B00
- lsls r0, 24
- lsrs r0, 24
- bl GetUnformattedTypeString
- adds r2, r0, 0
- str r7, [sp]
- movs r0, 0x40
- movs r1, 0x54
- adds r3, r5, 0
- bl sub_8014FF0
- adds r0, r4, 0
- bl sub_8092BF4
- ldr r1, _080914DC
- str r0, [r1]
- ldr r0, _080914E0
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x80
- movs r1, 0x54
- adds r3, r5, 0
- bl sub_8014FF0
-_080914B6:
- adds r0, r5, 0
- bl sub_80073E0
- ldrb r0, [r6, 0x2]
- bl sub_8090D98
- mov r1, r8
- bl sub_8097DF0
- add sp, 0x5C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080914D4: .4byte gUnknown_202DE58
-_080914D8: .4byte gUnknown_810CF0C
-_080914DC: .4byte gUnknown_202DE30
-_080914E0: .4byte gUnknown_8115970
- thumb_func_end sub_80913E0
-
- thumb_func_start sub_80914E4
-sub_80914E4:
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r0, 0
- beq _0809151A
- cmp r0, 0x69
- beq _0809151A
- cmp r0, 0x79
- beq _0809151A
- cmp r0, 0x77
- beq _0809151A
- cmp r0, 0x78
- beq _0809151A
- cmp r0, 0x7A
- beq _0809151A
- bl sub_8090D30
- cmp r0, 0
- beq _0809151A
- adds r0, r4, 0
- bl sub_8090D1C
- cmp r0, 0
- beq _0809151A
- movs r0, 0x1
- b _0809151C
-_0809151A:
- movs r0, 0
-_0809151C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80914E4
-
- thumb_func_start sub_8091524
-sub_8091524:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- beq _0809153C
- cmp r0, 0x69
- beq _0809153C
- cmp r1, 0x7C
- beq _0809153C
- movs r0, 0x1
- b _0809153E
-_0809153C:
- movs r0, 0
-_0809153E:
- pop {r1}
- bx r1
- thumb_func_end sub_8091524
-
- thumb_func_start sub_8091544
-sub_8091544:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- beq _08091568
- cmp r0, 0x69
- beq _08091568
- cmp r0, 0x79
- beq _08091568
- cmp r0, 0x77
- beq _08091568
- cmp r0, 0x78
- beq _08091568
- cmp r1, 0x7A
- beq _08091568
- movs r0, 0x1
- b _0809156A
-_08091568:
- movs r0, 0
-_0809156A:
- pop {r1}
- bx r1
- thumb_func_end sub_8091544
-
- thumb_func_start sub_8091570
-sub_8091570:
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _08091596
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08091596
- movs r0, 0
- b _08091598
-_08091596:
- movs r0, 0x1
-_08091598:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8091570
-
- thumb_func_start sub_80915A0
-sub_80915A0:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0xE0
- beq _080915CC
- cmp r0, 0xE1
- beq _080915CC
- cmp r0, 0xE2
- beq _080915CC
- cmp r0, 0xE3
- beq _080915CC
- cmp r0, 0xE4
- beq _080915CC
- cmp r0, 0xE5
- beq _080915CC
- cmp r0, 0xE6
- beq _080915CC
- cmp r1, 0xE7
- beq _080915CC
- movs r0, 0
- b _080915CE
-_080915CC:
- movs r0, 0x1
-_080915CE:
- pop {r1}
- bx r1
- thumb_func_end sub_80915A0
-
- thumb_func_start sub_80915D4
-sub_80915D4:
- ldr r1, _080915E0
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080915E0: .4byte gUnknown_810A3F0
- thumb_func_end sub_80915D4
-
- thumb_func_start sub_80915E4
-sub_80915E4:
- ldr r1, _080915F0
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080915F0: .4byte gUnknown_810A3F0
- thumb_func_end sub_80915E4
-
- thumb_func_start sub_80915F4
-sub_80915F4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r3, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r0, _080916B8
- strh r0, [r7]
- movs r0, 0
- strh r0, [r7, 0x2]
- adds r0, r5, 0
- bl sub_8091764
- lsls r0, 24
- cmp r0, 0
- bne _0809161E
- b _08091756
-_0809161E:
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- movs r1, 0
- bl GetPokemonType
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r2, 0x8
- ldrsh r0, [r6, r2]
- movs r1, 0x1
- bl GetPokemonType
- lsls r0, 24
- lsrs r0, 24
- adds r2, r5, 0
- subs r2, 0x55
- ldr r5, _080916BC
- lsls r2, 1
- lsls r1, r4, 3
- adds r1, r4
- lsls r1, 2
- adds r1, r2, r1
- adds r1, r5
- movs r4, 0
- ldrsh r3, [r1, r4]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r2, r1
- adds r2, r5
- movs r1, 0
- ldrsh r0, [r2, r1]
- movs r2, 0x14
- ldrsh r1, [r6, r2]
- adds r3, r0
- ldrh r4, [r6, 0x14]
- adds r3, r4
- strh r3, [r6, 0x14]
- movs r2, 0x14
- ldrsh r0, [r6, r2]
- subs r1, r0, r1
- lsls r3, 16
- cmp r3, 0
- bgt _0809167C
- movs r0, 0x1
- strh r0, [r6, 0x14]
-_0809167C:
- movs r4, 0x14
- ldrsh r0, [r6, r4]
- ldr r2, _080916C0
- cmp r0, r2
- ble _08091688
- strh r2, [r6, 0x14]
-_08091688:
- movs r0, 0
- cmp r1, 0x8
- bgt _0809169C
- movs r0, 0x1
- cmp r1, 0x4
- bgt _0809169C
- movs r0, 0x3
- cmp r1, 0x2
- ble _0809169C
- movs r0, 0x2
-_0809169C:
- strh r0, [r7]
- mov r1, r8
- cmp r1, 0
- bne _08091756
- cmp r0, 0
- bne _080916C4
- movs r0, 0x10
- bl RandomCapped
- cmp r0, 0xA
- bne _080916C4
- movs r0, 0xF
- b _080916D2
- .align 2, 0
-_080916B8: .4byte 0x0000ffff
-_080916BC: .4byte gUnknown_810A580
-_080916C0: .4byte 0x000003e7
-_080916C4:
- movs r0, 0x4
- bl RandomCapped
- ldr r1, _080916EC
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
-_080916D2:
- strh r0, [r7, 0x2]
- ldrh r1, [r7, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080916F6
- ldrb r0, [r6, 0x18]
- cmp r0, 0xFE
- bhi _080916F0
- adds r0, 0x1
- strb r0, [r6, 0x18]
- b _080916F6
- .align 2, 0
-_080916EC: .4byte gUnknown_81097E0
-_080916F0:
- ldr r0, _0809170C
- ands r0, r1
- strh r0, [r7, 0x2]
-_080916F6:
- ldrh r1, [r7, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08091716
- ldrb r0, [r6, 0x19]
- cmp r0, 0xFE
- bhi _08091710
- adds r0, 0x1
- strb r0, [r6, 0x19]
- b _08091716
- .align 2, 0
-_0809170C: .4byte 0x0000fffe
-_08091710:
- ldr r0, _0809172C
- ands r0, r1
- strh r0, [r7, 0x2]
-_08091716:
- ldrh r1, [r7, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08091736
- ldrb r0, [r6, 0x1A]
- cmp r0, 0xFE
- bhi _08091730
- adds r0, 0x1
- strb r0, [r6, 0x1A]
- b _08091736
- .align 2, 0
-_0809172C: .4byte 0x0000fffd
-_08091730:
- ldr r0, _0809174C
- ands r0, r1
- strh r0, [r7, 0x2]
-_08091736:
- ldrh r1, [r7, 0x2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08091756
- ldrb r0, [r6, 0x1B]
- cmp r0, 0xFE
- bhi _08091750
- adds r0, 0x1
- strb r0, [r6, 0x1B]
- b _08091756
- .align 2, 0
-_0809174C: .4byte 0x0000fffb
-_08091750:
- ldr r0, _08091760
- ands r0, r1
- strh r0, [r7, 0x2]
-_08091756:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091760: .4byte 0x0000fff7
- thumb_func_end sub_80915F4
-
- thumb_func_start sub_8091764
-sub_8091764:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x55
- bls _08091776
- cmp r0, 0x66
- bhi _08091776
- movs r0, 0x1
- b _08091778
-_08091776:
- movs r0, 0
-_08091778:
- pop {r1}
- bx r1
- thumb_func_end sub_8091764
-
- thumb_func_start sub_809177C
-sub_809177C:
- push {r4,lr}
- movs r4, 0
-_08091780:
- lsls r1, r4, 2
- ldr r0, _080917A4
- ldr r0, [r0]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080917A8
- ldrb r0, [r2, 0x2]
- bl sub_8091764
- lsls r0, 24
- cmp r0, 0
- beq _080917A8
- movs r0, 0x1
- b _080917B0
- .align 2, 0
-_080917A4: .4byte gUnknown_203B460
-_080917A8:
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091780
- movs r0, 0
-_080917B0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809177C
-
- thumb_func_start sub_80917B8
-sub_80917B8:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _080917E0
- ldr r2, _080917DC
- ldr r1, [r2]
- ldrb r0, [r4, 0x2]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- ldrb r3, [r4, 0x1]
- adds r0, r3
- b _080917F0
- .align 2, 0
-_080917DC: .4byte gUnknown_203B460
-_080917E0:
- ldr r2, _0809180C
- ldr r1, [r2]
- ldrb r0, [r4, 0x2]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
-_080917F0:
- strh r0, [r1]
- ldr r0, [r2]
- ldrb r1, [r4, 0x2]
- lsls r1, 1
- adds r0, 0x50
- adds r2, r0, r1
- ldrh r0, [r2]
- ldr r1, _08091810
- cmp r0, r1
- bls _08091806
- strh r1, [r2]
-_08091806:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809180C: .4byte gUnknown_203B460
-_08091810: .4byte 0x000003e7
- thumb_func_end sub_80917B8
-
- thumb_func_start sub_8091814
-sub_8091814:
- push {lr}
- movs r3, 0
- ldr r0, _0809183C
- ldr r0, [r0]
- movs r2, 0x8C
- lsls r2, 2
- adds r1, r0, r2
- movs r2, 0x7
-_08091824:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0809182C
- adds r3, 0x1
-_0809182C:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _08091824
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809183C: .4byte gUnknown_203B460
- thumb_func_end sub_8091814
-
- thumb_func_start sub_8091840
-sub_8091840:
- lsls r0, 24
- ldr r1, _08091858
- lsrs r0, 22
- movs r2, 0x8C
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- bx lr
- .align 2, 0
-_08091858: .4byte gUnknown_203B460
- thumb_func_end sub_8091840
-
- thumb_func_start sub_809185C
-sub_809185C:
- lsls r0, 24
- ldr r1, _08091870
- lsrs r0, 22
- movs r2, 0x8C
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .align 2, 0
-_08091870: .4byte gUnknown_203B460
- thumb_func_end sub_809185C
-
- thumb_func_start sub_8091874
-sub_8091874:
- push {r4-r7,lr}
- movs r2, 0
- movs r4, 0
- ldr r7, _08091884
- movs r6, 0x8C
- lsls r6, 2
- movs r3, 0
- b _080918A0
- .align 2, 0
-_08091884: .4byte gUnknown_203B460
-_08091888:
- cmp r2, r4
- ble _0809189A
- ldr r0, [r7]
- lsls r1, r4, 2
- adds r0, r6
- adds r1, r0, r1
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_0809189A:
- adds r3, 0x4
- adds r2, 0x1
- adds r4, 0x1
-_080918A0:
- cmp r2, 0x7
- bgt _080918CA
- ldr r0, [r7]
- adds r0, r3
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _080918CA
- ldr r5, _080918E8
- movs r1, 0x8C
- lsls r1, 2
-_080918B6:
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x7
- bgt _080918CA
- ldr r0, [r5]
- adds r0, r3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080918B6
-_080918CA:
- cmp r2, 0x8
- bne _08091888
- cmp r4, 0x7
- bgt _080918E0
-_080918D2:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8091840
- adds r4, 0x1
- cmp r4, 0x7
- ble _080918D2
-_080918E0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080918E8: .4byte gUnknown_203B460
- thumb_func_end sub_8091874
-
- thumb_func_start sub_80918EC
-sub_80918EC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
-_080918F8:
- adds r1, r0, 0x1
- mov r8, r1
- mov r6, r8
- cmp r1, 0x7
- bgt _08091964
- ldr r1, _08091978
- mov r9, r1
- lsls r7, r0, 2
- movs r0, 0x8C
- lsls r0, 2
- mov r10, r0
-_0809190E:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7
- add r0, r10
- ldrb r0, [r0]
- bl sub_8090D44
- adds r4, r0, 0
- mov r1, r9
- ldr r0, [r1]
- lsls r5, r6, 2
- adds r0, r5
- add r0, r10
- ldrb r0, [r0]
- bl sub_8090D44
- cmp r4, r0
- bgt _0809194C
- cmp r4, r0
- bne _0809195E
- mov r1, r9
- ldr r0, [r1]
- adds r2, r0, r7
- ldr r1, _0809197C
- adds r2, r1
- adds r0, r5
- adds r0, r1
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bcs _0809195E
-_0809194C:
- mov r1, r9
- ldr r0, [r1]
- add r0, r10
- adds r2, r0, r7
- ldr r3, [r2]
- adds r0, r5
- ldr r1, [r0]
- str r1, [r2]
- str r3, [r0]
-_0809195E:
- adds r6, 0x1
- cmp r6, 0x7
- ble _0809190E
-_08091964:
- mov r0, r8
- cmp r0, 0x6
- ble _080918F8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091978: .4byte gUnknown_203B460
-_0809197C: .4byte 0x00000231
- thumb_func_end sub_80918EC
-
- thumb_func_start sub_8091980
-sub_8091980:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r1, sp
- ldr r0, _080919F4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- movs r5, 0
-_0809199C:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_8091840
- adds r5, 0x1
- cmp r5, 0x7
- ble _0809199C
- mov r0, r8
- lsls r7, r0, 2
- ldr r6, _080919F8
- movs r5, 0x7
-_080919B2:
- adds r0, r6, 0
- bl RandomCapped
- adds r4, r0, 0
- adds r0, r6, 0
- bl RandomCapped
- adds r2, r0, 0
- mov r1, sp
- adds r0, r1, r7
- ldr r0, [r0]
- adds r1, r4, 0
- bl sub_8091E94
- lsls r0, 24
- lsrs r0, 24
- bl sub_80919FC
- subs r5, 0x1
- cmp r5, 0
- bge _080919B2
- bl sub_80918EC
- mov r0, r8
- bl sub_8091BB4
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080919F4: .4byte gUnknown_81097E8
-_080919F8: .4byte 0x0000270f
- thumb_func_end sub_8091980
-
- thumb_func_start sub_80919FC
-sub_80919FC:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- bl sub_8090B08
- movs r3, 0
- ldr r5, _08091A34
- movs r4, 0x8C
- lsls r4, 2
-_08091A14:
- ldr r1, [r5]
- lsls r2, r3, 2
- adds r0, r1, r2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08091A38
- movs r3, 0x8C
- lsls r3, 2
- adds r0, r1, r3
- adds r0, r2
- ldr r1, [sp]
- str r1, [r0]
- movs r0, 0
- b _08091A40
- .align 2, 0
-_08091A34: .4byte gUnknown_203B460
-_08091A38:
- adds r3, 0x1
- cmp r3, 0x7
- ble _08091A14
- movs r0, 0x1
-_08091A40:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80919FC
-
- thumb_func_start sub_8091A48
-sub_8091A48:
- push {lr}
- movs r3, 0
- ldr r0, _08091A70
- ldr r0, [r0]
- movs r2, 0x94
- lsls r2, 2
- adds r1, r0, r2
- movs r2, 0x3
-_08091A58:
- ldrb r0, [r1]
- cmp r0, 0
- beq _08091A60
- adds r3, 0x1
-_08091A60:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _08091A58
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08091A70: .4byte gUnknown_203B460
- thumb_func_end sub_8091A48
-
- thumb_func_start sub_8091A74
-sub_8091A74:
- lsls r0, 24
- ldr r1, _08091A8C
- lsrs r0, 22
- movs r2, 0x94
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- bx lr
- .align 2, 0
-_08091A8C: .4byte gUnknown_203B460
- thumb_func_end sub_8091A74
-
- thumb_func_start sub_8091A90
-sub_8091A90:
- lsls r0, 24
- ldr r1, _08091AA4
- lsrs r0, 22
- movs r2, 0x94
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .align 2, 0
-_08091AA4: .4byte gUnknown_203B460
- thumb_func_end sub_8091A90
-
- thumb_func_start sub_8091AA8
-sub_8091AA8:
- push {r4-r7,lr}
- movs r2, 0
- movs r4, 0
- ldr r7, _08091AB8
- movs r6, 0x94
- lsls r6, 2
- movs r3, 0
- b _08091AD4
- .align 2, 0
-_08091AB8: .4byte gUnknown_203B460
-_08091ABC:
- cmp r2, r4
- ble _08091ACE
- ldr r0, [r7]
- lsls r1, r4, 2
- adds r0, r6
- adds r1, r0, r1
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_08091ACE:
- adds r3, 0x4
- adds r2, 0x1
- adds r4, 0x1
-_08091AD4:
- cmp r2, 0x3
- bgt _08091AFE
- ldr r0, [r7]
- adds r0, r3
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _08091AFE
- ldr r5, _08091B1C
- movs r1, 0x94
- lsls r1, 2
-_08091AEA:
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x3
- bgt _08091AFE
- ldr r0, [r5]
- adds r0, r3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08091AEA
-_08091AFE:
- cmp r2, 0x4
- bne _08091ABC
- cmp r4, 0x3
- bgt _08091B14
-_08091B06:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8091A74
- adds r4, 0x1
- cmp r4, 0x3
- ble _08091B06
-_08091B14:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091B1C: .4byte gUnknown_203B460
- thumb_func_end sub_8091AA8
-
- thumb_func_start sub_8091B20
-sub_8091B20:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
-_08091B2C:
- adds r1, r0, 0x1
- mov r8, r1
- mov r6, r8
- cmp r1, 0x3
- bgt _08091B98
- ldr r1, _08091BAC
- mov r9, r1
- lsls r7, r0, 2
- movs r0, 0x94
- lsls r0, 2
- mov r10, r0
-_08091B42:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7
- add r0, r10
- ldrb r0, [r0]
- bl sub_8090D44
- adds r4, r0, 0
- mov r1, r9
- ldr r0, [r1]
- lsls r5, r6, 2
- adds r0, r5
- add r0, r10
- ldrb r0, [r0]
- bl sub_8090D44
- cmp r4, r0
- bgt _08091B80
- cmp r4, r0
- bne _08091B92
- mov r1, r9
- ldr r0, [r1]
- adds r2, r0, r7
- ldr r1, _08091BB0
- adds r2, r1
- adds r0, r5
- adds r0, r1
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08091B92
-_08091B80:
- mov r1, r9
- ldr r0, [r1]
- add r0, r10
- adds r2, r0, r7
- ldr r3, [r2]
- adds r0, r5
- ldr r1, [r0]
- str r1, [r2]
- str r3, [r0]
-_08091B92:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08091B42
-_08091B98:
- mov r0, r8
- cmp r0, 0x2
- ble _08091B2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091BAC: .4byte gUnknown_203B460
-_08091BB0: .4byte 0x00000251
- thumb_func_end sub_8091B20
-
- thumb_func_start sub_8091BB4
-sub_8091BB4:
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- mov r1, sp
- ldr r0, _08091C14
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r5, 0
-_08091BCA:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_8091A74
- adds r5, 0x1
- cmp r5, 0x3
- ble _08091BCA
- lsls r7, r4, 2
- ldr r6, _08091C18
- movs r5, 0x3
-_08091BDE:
- adds r0, r6, 0
- bl RandomCapped
- adds r4, r0, 0
- adds r0, r6, 0
- bl RandomCapped
- adds r2, r0, 0
- mov r1, sp
- adds r0, r1, r7
- ldr r0, [r0]
- adds r1, r4, 0
- bl sub_8091E94
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091C1C
- subs r5, 0x1
- cmp r5, 0
- bge _08091BDE
- bl sub_8091B20
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091C14: .4byte gUnknown_81097F8
-_08091C18: .4byte 0x0000270f
- thumb_func_end sub_8091BB4
-
- thumb_func_start sub_8091C1C
-sub_8091C1C:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- bl sub_8090B08
- movs r3, 0
- ldr r5, _08091C54
- movs r4, 0x94
- lsls r4, 2
-_08091C34:
- ldr r1, [r5]
- lsls r2, r3, 2
- adds r0, r1, r2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08091C58
- movs r3, 0x94
- lsls r3, 2
- adds r0, r1, r3
- adds r0, r2
- ldr r1, [sp]
- str r1, [r0]
- movs r0, 0
- b _08091C60
- .align 2, 0
-_08091C54: .4byte gUnknown_203B460
-_08091C58:
- adds r3, 0x1
- cmp r3, 0x3
- ble _08091C34
- movs r0, 0x1
-_08091C60:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8091C1C
-
- thumb_func_start sub_8091C68
-sub_8091C68:
- push {r4-r6,lr}
- sub sp, 0x10
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809486C
- movs r4, 0
- ldr r5, _08091D10
-_08091C7C:
- lsls r0, r4, 2
- ldr r1, [r5]
- adds r1, r0
- mov r0, sp
- bl sub_8091E28
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091C7C
- ldr r6, _08091D10
- movs r5, 0x50
- movs r4, 0xEF
-_08091C94:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- movs r2, 0xA
- bl sub_809488C
- adds r5, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08091C94
- ldr r6, _08091D10
- movs r5, 0x8C
- lsls r5, 2
- movs r4, 0x7
-_08091CB0:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8091DE0
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08091CB0
- ldr r6, _08091D10
- movs r5, 0x94
- lsls r5, 2
- movs r4, 0x3
-_08091CCA:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8091DE0
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08091CCA
- ldr r4, _08091D10
- ldr r1, [r4]
- movs r0, 0x98
- lsls r0, 2
- adds r1, r0
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- ldr r1, [r4]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08091D10: .4byte gUnknown_203B460
- thumb_func_end sub_8091C68
-
- thumb_func_start sub_8091D14
-sub_8091D14:
- push {r4-r6,lr}
- sub sp, 0x10
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- movs r4, 0
- ldr r5, _08091DBC
-_08091D28:
- lsls r0, r4, 2
- ldr r1, [r5]
- adds r1, r0
- mov r0, sp
- bl sub_8091E00
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091D28
- ldr r6, _08091DBC
- movs r5, 0x50
- movs r4, 0xEF
-_08091D40:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- movs r2, 0xA
- bl sub_8094924
- adds r5, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08091D40
- ldr r6, _08091DBC
- movs r5, 0x8C
- lsls r5, 2
- movs r4, 0x7
-_08091D5C:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8091DC0
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08091D5C
- ldr r6, _08091DBC
- movs r5, 0x94
- lsls r5, 2
- movs r4, 0x3
-_08091D76:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8091DC0
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08091D76
- ldr r4, _08091DBC
- ldr r1, [r4]
- movs r0, 0x98
- lsls r0, 2
- adds r1, r0
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- ldr r1, [r4]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08091DBC: .4byte gUnknown_203B460
- thumb_func_end sub_8091D14
-
- thumb_func_start sub_8091DC0
-sub_8091DC0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x8
- bl sub_8094924
- adds r4, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8091DC0
-
- thumb_func_start sub_8091DE0
-sub_8091DE0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x8
- bl sub_809488C
- adds r4, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8091DE0
-
- thumb_func_start sub_8091E00
-sub_8091E00:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0x1
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_8094924
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x8
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8091E00
-
- thumb_func_start sub_8091E28
-sub_8091E28:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0x1
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_809488C
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x8
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8091E28
-
- thumb_func_start sub_8091E50
-sub_8091E50:
- lsls r0, 24
- ldr r1, _08091E5C
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08091E5C: .4byte gUnknown_810AF50
- thumb_func_end sub_8091E50
-
- thumb_func_start sub_8091E60
-sub_8091E60:
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r1, 24
- lsrs r4, r0, 24
- cmp r3, 0x3E
- bhi _08091E8C
- ldr r2, _08091E88
- lsrs r0, 27
- lsls r1, r3, 5
- adds r0, r1
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x7
- ands r1, r4
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- b _08091E8E
- .align 2, 0
-_08091E88: .4byte gUnknown_8108F64
-_08091E8C:
- movs r0, 0
-_08091E8E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8091E60
-
- thumb_func_start sub_8091E94
-sub_8091E94:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08091EE4
- add sp, r4
- mov r8, r1
- mov r10, r2
- ldr r1, _08091EE8
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- movs r3, 0
- add r1, sp, 0x18
- mov r9, r1
- ldr r2, _08091EEC
- mov r12, r2
- add r6, sp, 0x1F8
- ldr r2, [r0]
- adds r7, r6, 0
- movs r4, 0
-_08091EC0:
- ldrh r1, [r2]
- cmp r1, r12
- bls _08091EF4
- ldrh r0, [r2]
- ldr r1, _08091EF0
- adds r0, r1
- cmp r0, 0
- beq _08091EFC
- movs r5, 0
- adds r1, r7, r4
-_08091ED4:
- strh r5, [r1]
- adds r1, 0x2
- adds r4, 0x2
- adds r3, 0x1
- subs r0, 0x1
- cmp r0, 0
- bne _08091ED4
- b _08091EFC
- .align 2, 0
-_08091EE4: .4byte 0xfffffc10
-_08091EE8: .4byte gUnknown_8108E58
-_08091EEC: .4byte 0x0000752f
-_08091EF0: .4byte 0xffff8ad0
-_08091EF4:
- adds r0, r6, r4
- strh r1, [r0]
- adds r4, 0x2
- adds r3, 0x1
-_08091EFC:
- adds r2, 0x2
- cmp r3, 0xFB
- ble _08091EC0
- movs r3, 0xB
- add r2, sp, 0x1F8
- mov r1, sp
-_08091F08:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08091F08
- mov r2, r9
- add r1, sp, 0x210
- movs r3, 0xEF
-_08091F1C:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08091F1C
- movs r7, 0xC
- movs r6, 0
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _08091F4A
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, r8
- blt _08091F4A
- movs r7, 0
- b _08091F66
-_08091F46:
- mov r8, r5
- b _08091F9C
-_08091F4A:
- adds r6, 0x1
- cmp r6, 0xB
- bgt _08091F66
- lsls r0, r6, 1
- mov r2, sp
- adds r1, r2, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08091F4A
- cmp r0, r8
- blt _08091F4A
- lsls r0, r6, 24
- lsrs r7, r0, 24
-_08091F66:
- movs r0, 0x46
- mov r8, r0
- cmp r7, 0xC
- beq _08091F9C
- movs r6, 0
- mov r4, r9
-_08091F72:
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08091F94
- lsls r0, r6, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r7
- bne _08091F94
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, r10
- bge _08091F46
-_08091F94:
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0xEF
- ble _08091F72
-_08091F9C:
- mov r0, r8
- movs r3, 0xFC
- lsls r3, 2
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8091E94
-
- thumb_func_start sub_8091FB4
-sub_8091FB4:
- push {r4-r6,lr}
- movs r6, 0
-_08091FB8:
- ldr r0, _08092038
- lsls r1, r6, 2
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08091FE8
- movs r0, 0xF7
- ands r0, r1
- movs r5, 0
- strb r0, [r4]
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _08091FE8
- adds r0, r4, 0
- bl sub_80915D4
- bl sub_80913A0
- strb r5, [r4, 0x2]
- strb r5, [r4, 0x1]
- strb r5, [r4]
-_08091FE8:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08091FB8
- bl sub_80910B4
- movs r6, 0
-_08091FF4:
- movs r0, 0x58
- adds r1, r6, 0
- muls r1, r0
- ldr r0, _0809203C
- ldr r0, [r0]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092026
- adds r4, r2, 0
- adds r4, 0x28
- ldrb r0, [r4]
- cmp r0, 0
- beq _08092026
- cmp r0, 0x69
- bne _08092026
- adds r0, r4, 0
- bl sub_80915E4
- bl sub_80913A0
- movs r0, 0
- strb r0, [r4]
-_08092026:
- adds r6, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r6, r0
- ble _08091FF4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08092038: .4byte gUnknown_203B460
-_0809203C: .4byte gUnknown_203B45C
- thumb_func_end sub_8091FB4
.align 2, 0 @ Don't pad with nop.