summaryrefslogtreecommitdiff
path: root/asm/code_8012A18.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/code_8012A18.s')
-rw-r--r--asm/code_8012A18.s63408
1 files changed, 18 insertions, 63390 deletions
diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s
index e462a67..028ff15 100644
--- a/asm/code_8012A18.s
+++ b/asm/code_8012A18.s
@@ -60041,7 +60041,7 @@ _080305A2:
movs r5, 0x4
_08030608:
adds r0, r7, 0
- bl sub_809009C
+ bl GetDungeonName1
adds r3, r0, 0
add r0, sp, 0x8
ldr r1, _08030664
@@ -86740,7 +86740,7 @@ _0803DAD6:
ldr r1, _0803DBA8
adds r0, r1
ldrb r0, [r0]
- bl sub_80900AC
+ bl GetDungeonName2
mov r9, r0
movs r5, 0xA
movs r0, 0
@@ -86782,7 +86782,7 @@ _0803DAFE:
ldr r1, _0803DBA8
adds r0, r1
ldrb r0, [r0]
- bl sub_80900C0
+ bl GetStairDirection
lsls r0, 24
ldr r6, _0803DBB0
cmp r0, 0
@@ -87615,7 +87615,7 @@ _0803E1BC:
ldr r1, _0803E1D8
adds r0, r4, r1
ldrb r0, [r0]
- bl sub_80900C0
+ bl GetStairDirection
lsls r0, 24
movs r1, 0x16
cmp r0, 0
@@ -91022,7 +91022,7 @@ _0803FCB0:
ldr r3, _0803FCF8
adds r0, r2, r3
ldrb r0, [r0]
- bl sub_80900C0
+ bl GetStairDirection
lsls r0, 24
cmp r0, 0
beq _0803FCFC
@@ -96725,7 +96725,7 @@ _08042694:
ldr r1, _080426C0
adds r0, r1
ldrb r0, [r0]
- bl sub_80900C0
+ bl GetStairDirection
lsls r0, 24
ldr r4, _080426C4
cmp r0, 0
@@ -98010,7 +98010,7 @@ _08042FB6:
str r0, [r2]
str r1, [r2, 0x4]
ldrb r0, [r5, 0x4]
- bl sub_80900D0
+ bl GetUnkC
ldr r1, [r4]
ldr r5, _08043124
adds r2, r1, r5
@@ -98020,7 +98020,7 @@ _08042FB6:
strb r7, [r1]
mov r1, r8
ldrb r0, [r1, 0x4]
- bl sub_8090134
+ bl GetUnk3
ldr r1, [r4]
ldr r2, _0804312C
adds r1, r2
@@ -98270,7 +98270,7 @@ _08043230:
ldr r5, _080432BC
adds r0, r5
ldrb r0, [r0]
- bl sub_8090104
+ bl GetLevelCondition
lsls r0, 24
mov r4, r8
adds r4, 0x1C
@@ -98630,7 +98630,7 @@ _08043544:
ldr r1, _080435C4
adds r0, r1
ldrb r0, [r0]
- bl sub_80900D0
+ bl GetUnkC
ldr r2, [r5]
ldr r3, _080435C8
adds r1, r2, r3
@@ -100039,7 +100039,7 @@ sub_8044124:
ldr r1, _080441B0
adds r0, r1
ldrb r0, [r0]
- bl sub_8090114
+ bl GetMaxItemCount
cmp r0, 0
bne _08044182
movs r3, 0
@@ -100088,7 +100088,7 @@ _08044182:
ldr r2, _080441B0
adds r0, r2
ldrb r0, [r0]
- bl sub_8090124
+ bl GetMoneyCondition
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
@@ -131020,7 +131020,7 @@ _08053198: .4byte gUnknown_203B418
_0805319C:
movs r0, 0x3F
_0805319E:
- bl sub_809009C
+ bl GetDungeonName1
pop {r1}
bx r1
thumb_func_end sub_805317C
@@ -173640,7 +173640,7 @@ _08068922:
ldr r1, _08068A6C
adds r0, r1
ldrb r0, [r0]
- bl sub_8090104
+ bl GetLevelCondition
lsls r0, 24
cmp r0, 0
beq _08068A06
@@ -174057,7 +174057,7 @@ _08068C96:
ldr r1, _08068CD8
adds r0, r1
ldrb r0, [r0]
- bl sub_8090104
+ bl GetLevelCondition
lsls r0, 24
cmp r0, 0
beq _08068CDC
@@ -174774,7 +174774,7 @@ _08069228:
ldr r1, _080692D4
adds r0, r1
ldrb r0, [r0]
- bl sub_8090104
+ bl GetLevelCondition
lsls r0, 24
cmp r0, 0
bne _0806926E
@@ -174973,7 +174973,7 @@ _080693CC:
ldr r1, _080694B0
adds r0, r1
ldrb r0, [r0]
- bl sub_8090104
+ bl GetLevelCondition
lsls r0, 24
cmp r0, 0
bne _0806940E
@@ -228981,7 +228981,7 @@ sub_8083C88:
ldr r1, _08083CCC
adds r0, r1
ldrb r0, [r0]
- bl sub_80900F4
+ bl GetUnk9
lsls r0, 24
cmp r0, 0
bne _08083CB6
@@ -252523,63376 +252523,4 @@ _08090086:
bx r0
thumb_func_end sub_808FF20
- thumb_func_start sub_809009C
-sub_809009C:
- lsls r0, 24
- ldr r1, _080900A8
- lsrs r0, 21
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080900A8: .4byte gUnknown_8111A28
- thumb_func_end sub_809009C
-
- thumb_func_start sub_80900AC
-sub_80900AC:
- lsls r0, 24
- ldr r1, _080900BC
- lsrs r0, 21
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080900BC: .4byte gUnknown_8111A28
- thumb_func_end sub_80900AC
-
- thumb_func_start sub_80900C0
-sub_80900C0:
- lsls r0, 24
- ldr r1, _080900CC
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080900CC: .4byte gUnknown_8109D30
- thumb_func_end sub_80900C0
-
- thumb_func_start sub_80900D0
-sub_80900D0:
- lsls r0, 24
- ldr r1, _080900E0
- lsrs r0, 20
- adds r0, r1
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080900E0: .4byte gUnknown_8109D30
- thumb_func_end sub_80900D0
-
- thumb_func_start sub_80900E4
-sub_80900E4:
- lsls r0, 24
- ldr r1, _080900F0
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0xA]
- bx lr
- .align 2, 0
-_080900F0: .4byte gUnknown_8109D30
- thumb_func_end sub_80900E4
-
- thumb_func_start sub_80900F4
-sub_80900F4:
- lsls r0, 24
- ldr r1, _08090100
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x9]
- bx lr
- .align 2, 0
-_08090100: .4byte gUnknown_8109D30
- thumb_func_end sub_80900F4
-
- thumb_func_start sub_8090104
-sub_8090104:
- lsls r0, 24
- ldr r1, _08090110
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x6]
- bx lr
- .align 2, 0
-_08090110: .4byte gUnknown_8109D30
- thumb_func_end sub_8090104
-
- thumb_func_start sub_8090114
-sub_8090114:
- lsls r0, 24
- ldr r1, _08090120
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_08090120: .4byte gUnknown_8109D30
- thumb_func_end sub_8090114
-
- thumb_func_start sub_8090124
-sub_8090124:
- lsls r0, 24
- ldr r1, _08090130
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x7]
- bx lr
- .align 2, 0
-_08090130: .4byte gUnknown_8109D30
- thumb_func_end sub_8090124
-
- thumb_func_start sub_8090134
-sub_8090134:
- lsls r0, 24
- ldr r1, _08090144
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x3]
- lsls r0, 24
- asrs r0, 24
- bx lr
- .align 2, 0
-_08090144: .4byte gUnknown_8109D30
- thumb_func_end sub_8090134
-
- thumb_func_start sub_8090148
-sub_8090148:
- lsls r0, 24
- ldr r1, _08090154
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x2]
- bx lr
- .align 2, 0
-_08090154: .4byte gUnknown_8109D30
- thumb_func_end sub_8090148
-
- thumb_func_start sub_8090158
-sub_8090158:
- lsls r0, 24
- ldr r1, _08090164
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_08090164: .4byte gUnknown_8109D30
- thumb_func_end sub_8090158
-
- thumb_func_start sub_8090168
-sub_8090168:
- lsls r0, 24
- ldr r1, _08090178
- lsrs r0, 20
- adds r0, r1
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08090178: .4byte gUnknown_8109D30
- thumb_func_end sub_8090168
-
- thumb_func_start sub_809017C
-sub_809017C:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r1, r0, 0
- mov r0, sp
- bl sub_80901D8
- movs r5, 0
- ldr r2, _080901AC
- ldrb r0, [r2]
- cmp r0, 0x3F
- beq _080901C6
- mov r3, sp
- ldrb r6, [r3]
- movs r4, 0
- adds r1, r2, 0
-_0809019A:
- ldrb r0, [r1]
- cmp r6, r0
- bne _080901B0
- ldrb r0, [r3, 0x1]
- ldrb r2, [r1, 0x1]
- cmp r0, r2
- bne _080901B0
- movs r0, 0x1
- b _080901C8
- .align 2, 0
-_080901AC: .4byte gUnknown_8107828
-_080901B0:
- adds r4, 0x4
- adds r1, 0x4
- adds r5, 0x1
- ldr r0, _080901D0
- cmp r5, r0
- bgt _080901C6
- ldr r2, _080901D4
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0x3F
- bne _0809019A
-_080901C6:
- movs r0, 0
-_080901C8:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080901D0: .4byte 0x000003e6
-_080901D4: .4byte gUnknown_8107828
- thumb_func_end sub_809017C
-
- thumb_func_start sub_80901D8
-sub_80901D8:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldrb r0, [r2]
- subs r0, 0x4B
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x16
- bhi _080901FE
- movs r0, 0x34
- strb r0, [r3]
- ldrb r1, [r2]
- subs r1, 0x4B
- lsls r0, r1, 1
- adds r0, r1
- ldrb r2, [r2, 0x1]
- adds r0, r2
- strb r0, [r3, 0x1]
- b _08090202
-_080901FE:
- ldr r0, [r2]
- str r0, [r3]
-_08090202:
- pop {r0}
- bx r0
- thumb_func_end sub_80901D8
-
- thumb_func_start sub_8090208
-sub_8090208:
- push {lr}
- ldr r3, _08090220
- ldr r2, _08090224
- ldrb r1, [r1]
- lsls r1, 3
- adds r1, r2
- ldr r2, [r1]
- adds r1, r3, 0
- bl sub_800D158
- pop {r0}
- bx r0
- .align 2, 0
-_08090220: .4byte gUnknown_8108F10
-_08090224: .4byte gUnknown_8111A28
- thumb_func_end sub_8090208
-
- thumb_func_start sub_8090228
-sub_8090228:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r0, _08090250
- ldrb r3, [r4]
- lsls r1, r3, 4
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0809025C
- ldr r1, _08090254
- ldr r2, _08090258
- lsls r0, r3, 3
- adds r0, r2
- ldr r2, [r0]
- ldrb r3, [r4, 0x1]
- adds r0, r5, 0
- bl sub_800D158
- b _0809026E
- .align 2, 0
-_08090250: .4byte gUnknown_8109D30
-_08090254: .4byte gUnknown_8108F18
-_08090258: .4byte gUnknown_8111A28
-_0809025C:
- ldr r1, _08090274
- ldr r2, _08090278
- lsls r0, r3, 3
- adds r0, r2
- ldr r2, [r0]
- ldrb r3, [r4, 0x1]
- adds r0, r5, 0
- bl sub_800D158
-_0809026E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08090274: .4byte gUnknown_8108F2C
-_08090278: .4byte gUnknown_8111A28
- thumb_func_end sub_8090228
-
- thumb_func_start sub_809027C
-sub_809027C:
- push {lr}
- ldr r2, _08090294
- ldrb r1, [r1]
- lsls r1, 3
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0x50
- bl strncpy
- pop {r0}
- bx r0
- .align 2, 0
-_08090294: .4byte gUnknown_8111A28
- thumb_func_end sub_809027C
-
- thumb_func_start sub_8090298
-sub_8090298:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r0, 0x4B
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x16
- bhi _080902AE
- movs r0, 0x4
- b _080902C2
-_080902AE:
- cmp r1, 0x3E
- bhi _080902C0
- ldr r0, _080902BC
- adds r0, r1, r0
- ldrb r0, [r0]
- b _080902C2
- .align 2, 0
-_080902BC: .4byte gUnknown_81077A8
-_080902C0:
- movs r0, 0x1
-_080902C2:
- pop {r1}
- bx r1
- thumb_func_end sub_8090298
-
- thumb_func_start sub_80902C8
-sub_80902C8:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r0, 0x4B
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x16
- bls _080902EC
- cmp r1, 0x3E
- bhi _080902EC
- ldr r0, _080902E8
- adds r0, r1, r0
- ldrb r0, [r0]
- b _080902EE
- .align 2, 0
-_080902E8: .4byte gUnknown_81077E8
-_080902EC:
- movs r0, 0
-_080902EE:
- pop {r1}
- bx r1
- thumb_func_end sub_80902C8
-
- thumb_func_start sub_80902F4
-sub_80902F4:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x7
- 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_80902F4
-
- thumb_func_start sub_8090314
-sub_8090314:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- strb r0, [r4]
- strb r0, [r4, 0x1]
- adds r0, r5, 0
- movs r2, 0x7
- 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_8090314
-
- thumb_func_start sub_809033C
-sub_809033C:
- lsls r0, 24
- ldr r1, _08090348
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x1]
- bx lr
- .align 2, 0
-_08090348: .4byte gUnknown_8109D30
- thumb_func_end sub_809033C
-
- thumb_func_start sub_809034C
-sub_809034C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xF8
- adds r7, r2, 0
- ldr r2, [sp, 0x118]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- asrs r1, 16
- str r1, [sp, 0xE0]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xE4]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0xE8]
- bl sub_8090A34
- str r0, [sp, 0xEC]
- movs r5, 0
- movs r0, 0
- str r0, [sp, 0xF4]
- mov r8, r0
- add r4, sp, 0xC8
- movs r0, 0xA
- strb r0, [r4]
- add r1, sp, 0xF4
- ldrb r1, [r1]
- strb r1, [r4, 0x1]
- ldr r1, _0809040C
- adds r0, r7, 0
- bl strcpy
- movs r2, 0
- str r2, [sp, 0xF0]
- movs r3, 0
- ldr r0, _08090410
- ldr r6, [r0]
- movs r4, 0x1
-_080903A2:
- movs r0, 0x58
- muls r0, r3
- adds r2, r6, r0
- ldrh r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080903D0
- lsrs r0, r1, 1
- ands r0, r4
- cmp r0, 0
- beq _080903D0
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0
- beq _080903CA
- ldr r0, [sp, 0xF0]
- adds r0, 0x1
- str r0, [sp, 0xF0]
-_080903CA:
- adds r5, 0x1
- cmp r5, 0x4
- beq _080903DA
-_080903D0:
- adds r3, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r3, r0
- ble _080903A2
-_080903DA:
- ldr r0, _08090414
- mov r2, r9
- lsls r1, r2, 4
- adds r0, r1, r0
- ldrb r0, [r0, 0x5]
- mov r9, r1
- ldr r1, [sp, 0xE4]
- cmp r1, 0
- bne _080903F2
- cmp r0, 0x3
- ble _080903F2
- movs r0, 0x3
-_080903F2:
- cmp r5, r0
- ble _0809043C
- cmp r0, 0x1
- bne _0809041C
- ldr r0, _08090418
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
- b _08090430
- .align 2, 0
-_0809040C: .4byte gUnknown_8108F40
-_08090410: .4byte gUnknown_203B45C
-_08090414: .4byte gUnknown_8109D30
-_08090418: .4byte gUnknown_8115A2C
-_0809041C:
- ldr r1, _08090464
- subs r0, r5, r0
- str r0, [r1]
- ldr r0, _08090468
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
-_08090430:
- adds r0, r7, 0
- mov r1, sp
- bl sub_8090888
- movs r2, 0x1
- mov r8, r2
-_0809043C:
- ldr r0, _0809046C
- mov r2, r9
- adds r1, r2, r0
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _0809048E
- ldr r1, [sp, 0xEC]
- cmp r0, r1
- bge _0809048E
- ldr r1, _08090464
- str r0, [r1]
- ldr r2, [sp, 0xEC]
- subs r0, r2, r0
- str r0, [r1, 0x4]
- mov r0, r8
- cmp r0, 0
- bne _08090474
- ldr r0, _08090470
- b _08090476
- .align 2, 0
-_08090464: .4byte gUnknown_202DE30
-_08090468: .4byte gUnknown_81159DC
-_0809046C: .4byte gUnknown_8109D30
-_08090470: .4byte gUnknown_8115A80
-_08090474:
- ldr r0, _080904AC
-_08090476:
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
- adds r0, r7, 0
- mov r1, sp
- bl sub_8090888
- movs r1, 0x1
- mov r8, r1
-_0809048E:
- ldr r2, [sp, 0xE0]
- cmp r2, 0
- beq _0809054E
- ldr r0, _080904B0
- adds r1, r2, 0
- bl sub_808D908
- cmp r5, 0x3
- ble _080904D2
- mov r0, r8
- cmp r0, 0
- bne _080904B8
- ldr r0, _080904B4
- b _080904BA
- .align 2, 0
-_080904AC: .4byte gUnknown_8115ADC
-_080904B0: .4byte gUnknown_202DF98
-_080904B4: .4byte gUnknown_8115B3C
-_080904B8:
- ldr r0, _08090528
-_080904BA:
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
- adds r0, r7, 0
- mov r1, sp
- bl sub_8090888
- movs r1, 0x1
- mov r8, r1
-_080904D2:
- ldr r0, [sp, 0xE0]
- bl sub_808DACC
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r2, _0809052C
- mov r10, r2
- movs r6, 0x1
-_080904E4:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- mov r2, r10
- ldr r0, [r2]
- adds r2, r0, r1
- ldrh r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08090510
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _08090510
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- bl sub_808DACC
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0
-_08090510:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _080904E4
- cmp r5, 0x6
- ble _0809054E
- mov r2, r8
- cmp r2, 0
- bne _08090534
- ldr r0, _08090530
- b _08090536
- .align 2, 0
-_08090528: .4byte gUnknown_8115BA4
-_0809052C: .4byte gUnknown_203B45C
-_08090530: .4byte gUnknown_8115BF4
-_08090534:
- ldr r0, _080905D0
-_08090536:
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
- adds r0, r7, 0
- mov r1, sp
- bl sub_8090888
- movs r0, 0x1
- mov r8, r0
-_0809054E:
- ldr r1, [sp, 0xE4]
- cmp r1, 0
- beq _08090602
- add r5, sp, 0xCC
- ldr r1, _080905D4
- adds r0, r5, 0
- movs r2, 0x8
- bl memcpy
- add r4, sp, 0xD4
- ldr r1, _080905D8
- adds r0, r4, 0
- movs r2, 0x4
- bl memcpy
- movs r6, 0
- mov r10, r4
- ldr r0, _080905DC
- add r0, r9
- ldrb r5, [r0, 0xB]
- add r4, sp, 0xCC
-_08090578:
- adds r0, r5, 0
- asrs r0, r6
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809059E
- ldrh r0, [r4]
- bl sub_8090820
- lsls r0, 24
- cmp r0, 0
- bne _0809059E
- mov r2, r10
- adds r0, r2, r6
- ldrb r0, [r0]
- bl sub_80911A4
- cmp r0, 0
- beq _080905A6
-_0809059E:
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08090578
-_080905A6:
- cmp r6, 0x3
- bgt _08090602
- add r4, sp, 0xD8
- lsls r0, r6, 1
- add r0, sp
- adds r0, 0xCC
- ldrh r1, [r0]
- adds r0, r4, 0
- bl sub_8092A88
- ldr r0, _080905E0
- adds r1, r4, 0
- movs r2, 0
- bl sub_80928C0
- mov r0, r8
- cmp r0, 0
- bne _080905E8
- ldr r0, _080905E4
- b _080905EA
- .align 2, 0
-_080905D0: .4byte gUnknown_8115C4C
-_080905D4: .4byte gUnknown_8108F42
-_080905D8: .4byte gUnknown_8108F4A
-_080905DC: .4byte gUnknown_8109D30
-_080905E0: .4byte gUnknown_202DE58
-_080905E4: .4byte gUnknown_8115CB8
-_080905E8:
- ldr r0, _080906A0
-_080905EA:
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
- adds r0, r7, 0
- mov r1, sp
- bl sub_8090888
- movs r1, 0x1
- mov r8, r1
-_08090602:
- ldr r0, _080906A4
- add r0, r9
- ldrb r1, [r0, 0xB]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080906CE
- ldr r5, _080906A8
- ldr r2, [sp, 0xE0]
- cmp r2, 0
- beq _0809063A
- adds r0, r2, 0
- movs r1, 0
- bl sub_808DC68
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08090638
- ldr r0, [sp, 0xE0]
- movs r1, 0x1
- bl sub_808DC68
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0809063A
-_08090638:
- movs r5, 0
-_0809063A:
- ldr r0, _080906A8
- cmp r5, r0
- bne _080906CE
- movs r5, 0
- movs r6, 0x1
-_08090644:
- ldr r2, _080906AC
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldrh r1, [r4]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08090686
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _08090686
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- movs r1, 0
- bl sub_808DC68
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08090690
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- movs r1, 0x1
- bl sub_808DC68
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08090690
-_08090686:
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _08090644
-_08090690:
- ldr r0, _080906A8
- cmp r5, r0
- bne _080906CE
- mov r0, r8
- cmp r0, 0
- bne _080906B4
- ldr r0, _080906B0
- b _080906B6
- .align 2, 0
-_080906A0: .4byte gUnknown_8115D14
-_080906A4: .4byte gUnknown_8109D30
-_080906A8: .4byte 0x0000019d
-_080906AC: .4byte gUnknown_203B45C
-_080906B0: .4byte gUnknown_8115D5C
-_080906B4:
- ldr r0, _080906D8
-_080906B6:
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
- adds r0, r7, 0
- mov r1, sp
- bl sub_8090888
- movs r1, 0x1
- mov r8, r1
-_080906CE:
- mov r2, r8
- cmp r2, 0
- beq _080906DC
- movs r0, 0x1
- b _0809080E
- .align 2, 0
-_080906D8: .4byte gUnknown_8115D94
-_080906DC:
- ldr r0, _080907EC
- add r0, r9
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- beq _080906EC
- ldr r0, [sp, 0xE8]
- cmp r0, 0
- beq _0809071A
-_080906EC:
- ldr r1, [sp, 0xF4]
- cmp r1, 0
- bne _08090708
- ldr r0, _080907F0
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcpy
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
- movs r2, 0x1
- str r2, [sp, 0xF4]
-_08090708:
- ldr r0, _080907F4
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcat
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
-_0809071A:
- ldr r0, _080907EC
- add r0, r9
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _08090752
- ldr r0, [sp, 0xF4]
- cmp r0, 0
- bne _08090740
- ldr r0, _080907F0
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcpy
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
- movs r1, 0x1
- str r1, [sp, 0xF4]
-_08090740:
- ldr r0, _080907F8
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcat
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
-_08090752:
- ldr r0, _080907EC
- add r0, r9
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _08090792
- ldr r2, [sp, 0xEC]
- ldr r0, [sp, 0xF0]
- cmn r2, r0
- beq _08090792
- ldr r1, [sp, 0xF4]
- cmp r1, 0
- bne _08090780
- ldr r0, _080907F0
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcpy
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
- movs r2, 0x1
- str r2, [sp, 0xF4]
-_08090780:
- ldr r0, _080907FC
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcat
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
-_08090792:
- ldr r0, _080907EC
- add r0, r9
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _080907DA
- ldr r0, _08090800
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080907DA
- ldr r2, [sp, 0xF4]
- cmp r2, 0
- bne _080907C8
- ldr r0, _080907F0
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcpy
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
- movs r0, 0x1
- str r0, [sp, 0xF4]
-_080907C8:
- ldr r0, _08090804
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcat
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
-_080907DA:
- ldr r1, [sp, 0xF4]
- cmp r1, 0
- bne _0809080C
- ldr r1, _08090808
- adds r0, r7, 0
- bl sub_800D158
- movs r0, 0
- b _0809080E
- .align 2, 0
-_080907EC: .4byte gUnknown_8109D30
-_080907F0: .4byte gUnknown_8115DD4
-_080907F4: .4byte gUnknown_8115E00
-_080907F8: .4byte gUnknown_8115E28
-_080907FC: .4byte gUnknown_8115E54
-_08090800: .4byte gUnknown_203B460
-_08090804: .4byte gUnknown_8115E80
-_08090808: .4byte gUnknown_8108F50
-_0809080C:
- movs r0, 0x2
-_0809080E:
- add sp, 0xF8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809034C
-
- thumb_func_start sub_8090820
-sub_8090820:
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r4, 0
- ldr r0, _08090868
- ldr r0, [r0]
- mov r12, r0
- movs r7, 0x1
-_08090830:
- movs r0, 0x58
- muls r0, r4
- mov r2, r12
- adds r1, r2, r0
- ldrh r2, [r1]
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- beq _08090874
- lsrs r0, r2, 1
- ands r0, r7
- cmp r0, 0
- beq _08090874
- movs r3, 0
- movs r5, 0x1
- adds r2, r1, 0
- adds r2, 0x2C
-_08090852:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0809086C
- ldrh r0, [r2, 0x2]
- cmp r0, r6
- bne _0809086C
- movs r0, 0x1
- b _08090880
- .align 2, 0
-_08090868: .4byte gUnknown_203B45C
-_0809086C:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _08090852
-_08090874:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08090830
- movs r0, 0
-_08090880:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8090820
-
- thumb_func_start sub_8090888
-sub_8090888:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r6, 0
- b _0809089C
-_08090892:
- ldrb r0, [r4]
- cmp r0, 0xA
- bne _0809089A
- adds r6, 0x1
-_0809089A:
- adds r4, 0x1
-_0809089C:
- ldrb r0, [r4]
- cmp r0, 0
- bne _08090892
- ldrb r7, [r5]
- b _080908AE
-_080908A6:
- movs r0, 0xA
- strb r0, [r4]
- adds r4, 0x1
- adds r6, 0x1
-_080908AE:
- adds r0, r6, 0
- movs r1, 0x3
- bl __modsi3
- cmp r0, 0
- bne _080908A6
- adds r1, r7, 0
- lsls r0, r1, 24
- cmp r0, 0
- beq _080908CE
-_080908C2:
- strb r1, [r4]
- adds r4, 0x1
- adds r5, 0x1
- ldrb r1, [r5]
- cmp r1, 0
- bne _080908C2
-_080908CE:
- movs r0, 0
- strb r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8090888
-
- thumb_func_start sub_80908D8
-sub_80908D8:
- push {lr}
- adds r2, r0, 0
- ldrb r0, [r2]
- cmp r0, 0x3E
- bhi _08090908
- ldr r0, _08090900
- ldrb r3, [r2]
- adds r0, r3, r0
- ldrb r1, [r2, 0x1]
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08090908
- ldr r1, _08090904
- lsls r0, r3, 2
- adds r0, r1
- ldrb r1, [r2, 0x1]
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- b _0809090A
- .align 2, 0
-_08090900: .4byte gUnknown_81077A8
-_08090904: .4byte gUnknown_8108084
-_08090908:
- movs r0, 0x1
-_0809090A:
- pop {r1}
- bx r1
- thumb_func_end sub_80908D8
-
- thumb_func_start sub_8090910
-sub_8090910:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- ldr r4, _0809094C
- adds r0, r4, 0
- bl RandomCapped
- adds r6, r0, 0
- adds r0, r4, 0
- bl RandomCapped
- adds r2, r0, 0
- ldrb r0, [r5]
- cmp r0, 0x3E
- bhi _08090954
- ldr r0, _08090950
- ldrb r1, [r5]
- adds r1, r0
- ldrb r0, [r5, 0x1]
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08090954
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_8091E94
- lsls r0, 24
- lsrs r0, 24
- b _08090956
- .align 2, 0
-_0809094C: .4byte 0x0000270f
-_08090950: .4byte gUnknown_81077A8
-_08090954:
- movs r0, 0x46
-_08090956:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8090910
-
- thumb_func_start sub_809095C
-sub_809095C:
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3E
- bls _0809096A
-_08090966:
- movs r0, 0x1
- b _0809098C
-_0809096A:
- movs r2, 0
- ldr r0, _08090994
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x3F
- beq _0809098A
- adds r1, r4, 0
-_08090978:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, r3
- beq _08090966
- adds r2, 0x1
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, 0x3F
- bne _08090978
-_0809098A:
- movs r0, 0
-_0809098C:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090994: .4byte gUnknown_810A350
- thumb_func_end sub_809095C
-
- thumb_func_start sub_8090998
-sub_8090998:
- 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 gUnknown_8300500
-_080909C8: .4byte gItemParametersFile
-_080909CC: .4byte gItemParametersFile + 4
- thumb_func_end sub_8090998
-
- 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 sub_8092334
- 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 sub_808DC68
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r2, 0x8
- ldrsh r0, [r6, r2]
- movs r1, 0x1
- bl sub_808DC68
- 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
-
- thumb_func_start sub_8092040
-sub_8092040:
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xEF
- bls _0809204E
-_0809204A:
- movs r0, 0x1
- b _08092070
-_0809204E:
- movs r2, 0
- ldr r0, _08092078
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0xF0
- beq _0809206E
- adds r1, r4, 0
-_0809205C:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, r3
- beq _0809204A
- adds r2, 0x1
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, 0xF0
- bne _0809205C
-_0809206E:
- movs r0, 0
-_08092070:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08092078: .4byte gUnknown_810A35B
- thumb_func_end sub_8092040
-
- thumb_func_start sub_809207C
-sub_809207C:
- ldr r1, _08092084
- ldr r0, _08092088
- str r0, [r1]
- bx lr
- .align 2, 0
-_08092084: .4byte gUnknown_203B464
-_08092088: .4byte gUnknown_2038C10
- thumb_func_end sub_809207C
-
- thumb_func_start sub_809208C
-sub_809208C:
- ldr r0, _08092090
- bx lr
- .align 2, 0
-_08092090: .4byte gUnknown_2038C10
- thumb_func_end sub_809208C
-
- thumb_func_start sub_8092094
-sub_8092094:
- push {r4,lr}
- ldr r4, _080920B0
- ldr r0, [r4]
- ldr r1, _080920B4
- movs r2, 0xA
- bl sub_8092310
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0xC]
- strb r0, [r1, 0x10]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080920B0: .4byte gUnknown_203B464
-_080920B4: .4byte gUnknown_810982C
- thumb_func_end sub_8092094
-
- thumb_func_start sub_80920B8
-sub_80920B8:
- push {lr}
- adds r2, r0, 0
- movs r1, 0
- ldr r0, _080920D4
- ldr r3, [r0]
-_080920C2:
- adds r0, r3, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r2, 0x1
- adds r1, 0x1
- cmp r1, 0x9
- ble _080920C2
- pop {r0}
- bx r0
- .align 2, 0
-_080920D4: .4byte gUnknown_203B464
- thumb_func_end sub_80920B8
-
- thumb_func_start sub_80920D8
-sub_80920D8:
- push {lr}
- ldr r1, _080920E8
- ldr r1, [r1]
- movs r2, 0xA
- bl sub_80922B4
- pop {r0}
- bx r0
- .align 2, 0
-_080920E8: .4byte gUnknown_203B464
- thumb_func_end sub_80920D8
-
- thumb_func_start sub_80920EC
-sub_80920EC:
- push {r4,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r4, _0809210C
-_080920F4:
- ldr r0, [r4]
- adds r0, r2
- ldrb r1, [r3]
- strb r1, [r0]
- adds r3, 0x1
- adds r2, 0x1
- cmp r2, 0x9
- ble _080920F4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809210C: .4byte gUnknown_203B464
- thumb_func_end sub_80920EC
-
- thumb_func_start sub_8092110
-sub_8092110:
- ldr r0, _08092118
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_08092118: .4byte gUnknown_203B464
- thumb_func_end sub_8092110
-
- thumb_func_start sub_809211C
-sub_809211C:
- push {lr}
- bl sub_8092178
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08092144
- ldr r1, _0809213C
- lsls r0, 2
- adds r0, r1
- ldr r1, _08092140
- ldr r1, [r1]
- ldr r0, [r0]
- ldr r1, [r1, 0xC]
- subs r0, r1
- b _08092146
- .align 2, 0
-_0809213C: .4byte gUnknown_8109810
-_08092140: .4byte gUnknown_203B464
-_08092144:
- movs r0, 0
-_08092146:
- pop {r1}
- bx r1
- thumb_func_end sub_809211C
-
- thumb_func_start sub_809214C
-sub_809214C:
- ldr r1, _08092154
- ldr r1, [r1]
- str r0, [r1, 0xC]
- bx lr
- .align 2, 0
-_08092154: .4byte gUnknown_203B464
- thumb_func_end sub_809214C
-
- thumb_func_start sub_8092158
-sub_8092158:
- push {lr}
- ldr r1, _08092170
- ldr r2, [r1]
- ldr r1, [r2, 0xC]
- adds r1, r0
- str r1, [r2, 0xC]
- ldr r0, _08092174
- cmp r1, r0
- ble _0809216C
- str r0, [r2, 0xC]
-_0809216C:
- pop {r0}
- bx r0
- .align 2, 0
-_08092170: .4byte gUnknown_203B464
-_08092174: .4byte 0x05f5e0ff
- thumb_func_end sub_8092158
-
- thumb_func_start sub_8092178
-sub_8092178:
- push {lr}
- movs r1, 0
- ldr r0, _08092190
- ldr r0, [r0]
- ldr r3, [r0, 0xC]
- ldr r2, _08092194
-_08092184:
- ldr r0, [r2]
- cmp r3, r0
- bge _08092198
- lsls r0, r1, 24
- lsrs r0, 24
- b _080921A2
- .align 2, 0
-_08092190: .4byte gUnknown_203B464
-_08092194: .4byte gUnknown_8109810
-_08092198:
- adds r2, 0x4
- adds r1, 0x1
- cmp r1, 0x6
- ble _08092184
- movs r0, 0x6
-_080921A2:
- pop {r1}
- bx r1
- thumb_func_end sub_8092178
-
- thumb_func_start sub_80921A8
-sub_80921A8:
- lsls r0, 24
- ldr r1, _080921B4
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080921B4: .4byte gUnknown_810B44C
- thumb_func_end sub_80921A8
-
- thumb_func_start sub_80921B8
-sub_80921B8:
- ldr r0, _080921C0
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- bx lr
- .align 2, 0
-_080921C0: .4byte gUnknown_203B464
- thumb_func_end sub_80921B8
-
- thumb_func_start sub_80921C4
-sub_80921C4:
- push {r4-r6,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- add r6, sp, 0x10
- movs r0, 0xFF
- strb r0, [r6]
- mov r5, sp
- adds r5, 0x11
- movs r0, 0
- strb r0, [r5]
- mov r0, sp
- adds r1, r3, 0
- bl sub_809486C
- ldr r4, _08092228
- ldr r1, [r4]
- mov r0, sp
- movs r2, 0x58
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0xC
- mov r0, sp
- movs r2, 0x20
- bl sub_809488C
- movs r0, 0
- bl sub_80023E4
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- adds r1, r5, 0
- cmp r0, 0
- beq _08092210
- adds r1, r6, 0
-_08092210:
- mov r0, sp
- movs r2, 0x1
- bl sub_809488C
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08092228: .4byte gUnknown_203B464
- thumb_func_end sub_80921C4
-
- thumb_func_start sub_809222C
-sub_809222C:
- push {r4,r5,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- ldr r5, _0809227C
- ldr r1, [r5]
- mov r0, sp
- movs r2, 0x58
- bl sub_8094924
- ldr r1, [r5]
- adds r1, 0xC
- mov r0, sp
- movs r2, 0x20
- bl sub_8094924
- add r4, sp, 0x10
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- strb r0, [r2, 0x10]
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809227C: .4byte gUnknown_203B464
- thumb_func_end sub_809222C
-
- thumb_func_start sub_8092280
-sub_8092280:
- lsls r0, 24
- lsrs r0, 24
- bx lr
- thumb_func_end sub_8092280
-
- thumb_func_start sub_8092288
-sub_8092288:
- lsls r0, 24
- lsrs r0, 24
- bx lr
- thumb_func_end sub_8092288
-
- thumb_func_start sub_8092290
-sub_8092290:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- b _080922A4
-_08092298:
- ldrb r0, [r4]
- adds r4, 0x1
- bl sub_8092288
- strb r0, [r5]
- adds r5, 0x1
-_080922A4:
- ldrb r0, [r4]
- cmp r0, 0
- bne _08092298
- movs r0, 0
- strb r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8092290
-
- thumb_func_start sub_80922B4
-sub_80922B4:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- b _080922CA
-_080922BE:
- ldrb r0, [r4]
- adds r4, 0x1
- bl sub_8092288
- strb r0, [r6]
- adds r6, 0x1
-_080922CA:
- adds r0, r5, 0
- subs r5, 0x1
- cmp r0, 0
- ble _080922D8
- ldrb r0, [r4]
- cmp r0, 0
- bne _080922BE
-_080922D8:
- movs r0, 0
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80922B4
-
- thumb_func_start sub_80922E4
-sub_80922E4:
- ldr r1, _080922F0
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080922F0: .4byte gUnknown_810983C
- thumb_func_end sub_80922E4
-
- thumb_func_start sub_80922F4
-sub_80922F4:
- push {lr}
- adds r2, r0, 0
- b _08092300
-_080922FA:
- strb r0, [r2]
- adds r1, 0x1
- adds r2, 0x1
-_08092300:
- ldrb r0, [r1]
- cmp r0, 0
- bne _080922FA
- movs r0, 0
- strb r0, [r2]
- pop {r0}
- bx r0
- thumb_func_end sub_80922F4
-
- thumb_func_start sub_8092310
-sub_8092310:
- push {r4,lr}
- adds r4, r0, 0
- b _0809231C
-_08092316:
- strb r0, [r4]
- adds r4, 0x1
- adds r1, 0x1
-_0809231C:
- adds r0, r2, 0
- subs r2, 0x1
- cmp r0, 0
- ble _0809232E
- ldrb r0, [r1]
- adds r3, r0, 0
- cmp r3, 0
- bne _08092316
- strb r3, [r4]
-_0809232E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8092310
-
- thumb_func_start sub_8092334
-sub_8092334:
- lsls r0, 24
- ldr r1, _08092340
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08092340: .4byte gUnknown_810AD4C
- thumb_func_end sub_8092334
-
- thumb_func_start sub_8092344
-sub_8092344:
- lsls r0, 24
- ldr r1, _08092350
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08092350: .4byte gUnknown_810AE24
- thumb_func_end sub_8092344
-
- thumb_func_start sub_8092354
-sub_8092354:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08092360
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08092360: .4byte gUnknown_810AC7C
- thumb_func_end sub_8092354
-
- thumb_func_start sub_8092364
-sub_8092364:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08092370
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08092370: .4byte gUnknown_810AC6A
- thumb_func_end sub_8092364
-
- thumb_func_start sub_8092374
-sub_8092374:
- push {lr}
- lsls r1, 24
- ldr r2, _0809238C
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0x50
- bl strncpy
- pop {r0}
- bx r0
- .align 2, 0
-_0809238C: .4byte gUnknown_810B4C8
- thumb_func_end sub_8092374
-
- thumb_func_start sub_8092390
-sub_8092390:
- lsls r0, 24
- ldr r1, _0809239C
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0809239C: .4byte gUnknown_810B988
- thumb_func_end sub_8092390
-
- thumb_func_start sub_80923A0
-sub_80923A0:
- ldr r1, _080923A8
- ldr r0, _080923AC
- str r0, [r1]
- bx lr
- .align 2, 0
-_080923A8: .4byte gUnknown_203B468
-_080923AC: .4byte gUnknown_2038C28
- thumb_func_end sub_80923A0
-
- thumb_func_start sub_80923B0
-sub_80923B0:
- ldr r0, _080923B4
- bx lr
- .align 2, 0
-_080923B4: .4byte gUnknown_2038C28
- thumb_func_end sub_80923B0
-
- thumb_func_start sub_80923B8
-sub_80923B8:
- push {lr}
- movs r1, 0
- ldr r3, _080923D0
- movs r2, 0
-_080923C0:
- ldr r0, [r3]
- adds r0, r1
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0x39
- ble _080923C0
- pop {r0}
- bx r0
- .align 2, 0
-_080923D0: .4byte gUnknown_203B468
- thumb_func_end sub_80923B8
-
- thumb_func_start sub_80923D4
-sub_80923D4:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- movs r1, 0
- ldr r2, _080923F0
-_080923DE:
- movs r5, 0
- ldrsh r0, [r2, r5]
- adds r3, r0
- cmp r3, r4
- ble _080923F4
- lsls r0, r1, 24
- lsrs r0, 24
- b _080923FE
- .align 2, 0
-_080923F0: .4byte gUnknown_810AA90
-_080923F4:
- adds r2, 0x8
- adds r1, 0x1
- cmp r1, 0x39
- ble _080923DE
- movs r0, 0
-_080923FE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80923D4
-
- thumb_func_start sub_8092404
-sub_8092404:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r7, r3, 24
- movs r6, 0
- movs r4, 0
- mov r5, r10
-_08092426:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, _08092494
- ldr r0, [r0]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092472
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- beq _08092448
- mov r0, r8
- cmp r0, 0
- beq _08092472
-_08092448:
- movs r1, 0
- ldrb r0, [r2, 0x4]
- cmp r0, 0x41
- bne _08092452
- movs r1, 0x1
-_08092452:
- cmp r1, 0
- beq _0809245A
- cmp r7, 0
- beq _08092472
-_0809245A:
- adds r0, r4, 0
- bl sub_80923D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r9
- bne _08092472
- cmp r6, 0xF
- bgt _08092472
- strh r4, [r5]
- adds r5, 0x2
- adds r6, 0x1
-_08092472:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08092426
- lsls r0, r6, 1
- add r0, r10
- ldr r2, _08092498
- adds r1, r2, 0
- strh r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08092494: .4byte gUnknown_203B45C
-_08092498: .4byte 0x0000ffff
- thumb_func_end sub_8092404
-
- thumb_func_start sub_809249C
-sub_809249C:
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _080924F8
- ldr r0, [r0]
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809251A
- movs r5, 0
-_080924B4:
- ldr r2, _080924FC
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092502
- adds r0, r5, 0
- bl sub_80923D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r6
- bne _08092502
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _080924E2
- movs r1, 0x1
-_080924E2:
- cmp r1, 0
- bne _080924F2
- ldrb r1, [r4, 0x2]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- cmp r0, 0
- beq _08092500
-_080924F2:
- movs r7, 0
- b _08092502
- .align 2, 0
-_080924F8: .4byte gUnknown_203B468
-_080924FC: .4byte gUnknown_203B45C
-_08092500:
- strh r0, [r4]
-_08092502:
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _080924B4
- cmp r7, 0
- beq _0809251A
- ldr r0, _08092520
- ldr r0, [r0]
- adds r0, r6
- movs r1, 0
- strb r1, [r0]
-_0809251A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08092520: .4byte gUnknown_203B468
- thumb_func_end sub_809249C
-
- thumb_func_start sub_8092524
-sub_8092524:
- lsls r0, 24
- ldr r1, _08092530
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08092530: .4byte gUnknown_81139D0
- thumb_func_end sub_8092524
-
- thumb_func_start sub_8092534
-sub_8092534:
- lsls r0, 24
- ldr r1, _08092540
- lsrs r0, 21
- adds r0, r1
- ldrb r0, [r0, 0x2]
- bx lr
- .align 2, 0
-_08092540: .4byte gUnknown_810AA90
- thumb_func_end sub_8092534
-
- thumb_func_start sub_8092544
-sub_8092544:
- lsls r0, 24
- ldr r1, _08092554
- lsrs r0, 21
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08092554: .4byte gUnknown_810AA90
- thumb_func_end sub_8092544
-
- thumb_func_start sub_8092558
-sub_8092558:
- push {lr}
- lsls r2, r1, 24
- ldr r1, _08092570
- ldr r3, _08092574
- lsrs r2, 22
- adds r2, r3
- ldr r2, [r2]
- bl sub_800D158
- pop {r0}
- bx r0
- .align 2, 0
-_08092570: .4byte gUnknown_81098A4
-_08092574: .4byte gUnknown_81139D0
- thumb_func_end sub_8092558
-
- thumb_func_start sub_8092578
-sub_8092578:
- push {r4,r5,lr}
- sub sp, 0x18
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- cmp r2, 0
- beq _080925C0
- ldr r0, _080925B4
- lsls r1, r4, 3
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- add r1, sp, 0x4
- movs r2, 0x1
- bl sub_8090FEC
- ldr r1, _080925B8
- ldr r2, _080925BC
- lsls r0, r4, 2
- adds r0, r2
- ldr r2, [r0]
- add r0, sp, 0x4
- str r0, [sp]
- adds r0, r5, 0
- movs r3, 0x60
- bl sub_800D158
- b _080925CE
- .align 2, 0
-_080925B4: .4byte gUnknown_810AA90
-_080925B8: .4byte gUnknown_81098AC
-_080925BC: .4byte gUnknown_81139D0
-_080925C0:
- ldr r0, _080925D8
- lsls r1, r4, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r5, 0
- bl strcpy
-_080925CE:
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080925D8: .4byte gUnknown_81139D0
- thumb_func_end sub_8092578
-
- thumb_func_start sub_80925DC
-sub_80925DC:
- lsls r0, 24
- ldr r1, _080925E8
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080925E8: .4byte gUnknown_8113E30
- thumb_func_end sub_80925DC
-
- thumb_func_start sub_80925EC
-sub_80925EC:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080925FC
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080925FC: .4byte gUnknown_203B468
- thumb_func_end sub_80925EC
-
- thumb_func_start sub_8092600
-sub_8092600:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08092610
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_08092610: .4byte gUnknown_203B468
- thumb_func_end sub_8092600
-
- thumb_func_start sub_8092614
-sub_8092614:
- push {lr}
- movs r1, 0x1
- ldr r0, _08092628
- ldr r2, [r0]
-_0809261C:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809262C
- movs r0, 0
- b _08092634
- .align 2, 0
-_08092628: .4byte gUnknown_203B468
-_0809262C:
- adds r1, 0x1
- cmp r1, 0x39
- ble _0809261C
- movs r0, 0x1
-_08092634:
- pop {r1}
- bx r1
- thumb_func_end sub_8092614
-
- thumb_func_start sub_8092638
-sub_8092638:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r2, 24
- lsrs r2, 24
- mov r12, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- movs r6, 0
- movs r3, 0
- ldr r2, _080926DC
- cmp r3, r5
- bge _0809266E
- ldr r1, _080926E0
- adds r3, r5, 0
-_0809265E:
- movs r7, 0
- ldrsh r0, [r1, r7]
- adds r6, r0
- adds r1, 0x8
- subs r3, 0x1
- cmp r3, 0
- bne _0809265E
- adds r3, r5, 0
-_0809266E:
- str r6, [r4, 0x8]
- ldr r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r4, 0x4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080926E8
- movs r0, 0
- strh r0, [r4, 0x2]
- ldr r1, _080926E0
- lsls r0, r3, 3
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4]
- movs r3, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bge _080926EC
- ldr r5, _080926E4
-_0809269A:
- movs r0, 0x58
- adds r1, r6, 0
- muls r1, r0
- ldr r0, [r5]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080926CC
- mov r7, r12
- cmp r7, 0
- beq _080926BA
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _080926CC
-_080926BA:
- mov r0, r8
- cmp r0, 0
- beq _080926C6
- ldrb r0, [r2, 0x4]
- cmp r0, 0x41
- beq _080926CC
-_080926C6:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
-_080926CC:
- adds r3, 0x1
- adds r6, 0x1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r3, r0
- blt _0809269A
- b _080926EC
- .align 2, 0
-_080926DC: .4byte gUnknown_203B468
-_080926E0: .4byte gUnknown_810AA90
-_080926E4: .4byte gUnknown_203B45C
-_080926E8:
- strh r0, [r4, 0x2]
- strh r0, [r4]
-_080926EC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8092638
-
- thumb_func_start sub_80926F8
-sub_80926F8:
- push {r4-r7,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r2, 24
- lsrs r7, r2, 24
- movs r5, 0
- movs r2, 0
- ldr r0, _08092780
- mov r12, r0
- cmp r2, r3
- bge _08092724
- ldr r1, _08092784
- adds r2, r3, 0
-_08092714:
- movs r6, 0
- ldrsh r0, [r1, r6]
- adds r5, r0
- adds r1, 0x8
- subs r2, 0x1
- cmp r2, 0
- bne _08092714
- adds r2, r3, 0
-_08092724:
- str r5, [r4, 0x8]
- mov r1, r12
- ldr r0, [r1]
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r4, 0x4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0809279C
- movs r0, 0
- strh r0, [r4, 0x2]
- ldr r1, _08092784
- lsls r0, r2, 3
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4]
- movs r6, 0
- ldrsh r0, [r4, r6]
- cmp r0, 0
- ble _080927A0
- ldr r6, _08092788
- adds r2, r0, 0
-_08092752:
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r6]
- adds r3, r0, r1
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092792
- ldrb r0, [r3, 0x2]
- cmp r0, 0
- bne _08092776
- cmp r7, 0
- bne _0809278C
- ldrb r0, [r3, 0x4]
- cmp r0, 0x41
- bne _0809278C
-_08092776:
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- b _08092792
- .align 2, 0
-_08092780: .4byte gUnknown_203B468
-_08092784: .4byte gUnknown_810AA90
-_08092788: .4byte gUnknown_203B45C
-_0809278C:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
-_08092792:
- subs r2, 0x1
- adds r5, 0x1
- cmp r2, 0
- bne _08092752
- b _080927A0
-_0809279C:
- strh r0, [r4, 0x2]
- strh r0, [r4]
-_080927A0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80926F8
-
- thumb_func_start sub_80927A8
-sub_80927A8:
- push {r4,r5,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809486C
- movs r4, 0
- add r5, sp, 0x10
-_080927BC:
- ldr r0, _080927F0
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080927CC
- movs r0, 0x1
- negs r0, r0
-_080927CC:
- str r0, [sp, 0x10]
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_809488C
- adds r4, 0x1
- cmp r4, 0x39
- ble _080927BC
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080927F0: .4byte gUnknown_203B468
- thumb_func_end sub_80927A8
-
- thumb_func_start sub_80927F4
-sub_80927F4:
- 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
- movs r4, 0
- add r7, sp, 0x10
- movs r6, 0x1
- ldr r5, _08092828
-_0809280C:
- mov r0, sp
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_8094924
- ldr r1, [sp, 0x10]
- ands r1, r6
- cmp r1, 0
- beq _0809282C
- ldr r0, [r5]
- adds r0, r4
- strb r6, [r0]
- b _08092832
- .align 2, 0
-_08092828: .4byte gUnknown_203B468
-_0809282C:
- ldr r0, [r5]
- adds r0, r4
- strb r1, [r0]
-_08092832:
- adds r4, 0x1
- cmp r4, 0x39
- ble _0809280C
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80927F4
-
- thumb_func_start LoadWazaParameters
-LoadWazaParameters:
- push {lr}
- ldr r0, _08092868
- ldr r1, _0809286C
- bl OpenFileAndGetFileDataPtr
- ldr r1, _08092870
- str r0, [r1]
- ldr r1, _08092874
- ldr r2, [r0, 0x4]
- ldr r0, [r2]
- str r0, [r1]
- ldr r1, _08092878
- ldr r0, [r2, 0x4]
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08092868: .4byte gUnknown_81098D0
-_0809286C: .4byte gUnknown_8300500
-_08092870: .4byte gWazaParametersFile
-_08092874: .4byte gUnknown_2038C68
-_08092878: .4byte gUnknown_2038C6C
- thumb_func_end LoadWazaParameters
-
- thumb_func_start sub_809287C
-sub_809287C:
- push {lr}
- adds r2, r0, 0
- ldrb r1, [r2]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08092894
- ldrb r1, [r2, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092898
-_08092894:
- movs r0, 0x32
- b _0809289A
-_08092898:
- movs r0, 0x34
-_0809289A:
- pop {r1}
- bx r1
- thumb_func_end sub_809287C
-
- thumb_func_start sub_80928A0
-sub_80928A0:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r2, 0
- mov r0, sp
- bl sub_8093F10
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- bl sub_80928C0
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80928A0
-
- thumb_func_start sub_80928C0
-sub_80928C0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- adds r7, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r0, r4, 0
- bl sub_809287C
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r5, 0
- bne _080928DE
- ldr r5, _080928F0
-_080928DE:
- ldrb r1, [r4, 0x5]
- cmp r1, 0
- beq _080928F8
- ldr r1, _080928F4
- ldrb r2, [r4, 0x5]
- add r0, sp, 0x14
- bl sub_800D158
- b _080928FC
- .align 2, 0
-_080928F0: .4byte gUnknown_81098C4
-_080928F4: .4byte gUnknown_81098DC
-_080928F8:
- add r0, sp, 0x14
- strb r1, [r0]
-_080928FC:
- ldrb r0, [r5, 0x8]
- cmp r0, 0
- beq _08092904
- movs r6, 0x2
-_08092904:
- ldrb r0, [r5, 0x9]
- cmp r0, 0
- beq _08092918
- ldrh r0, [r4, 0x2]
- bl sub_809422C
- lsls r0, 24
- cmp r0, 0
- beq _08092918
- movs r6, 0x2
-_08092918:
- ldr r0, [r5]
- cmp r0, 0x4
- bls _08092920
- b _08092A6A
-_08092920:
- lsls r0, 2
- ldr r1, _0809292C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809292C: .4byte _08092930
- .align 2, 0
-_08092930:
- .4byte _08092944
- .4byte _0809296C
- .4byte _08092998
- .4byte _080929C4
- .4byte _08092A20
-_08092944:
- ldr r1, _08092964
- ldrh r2, [r4, 0x2]
- ldr r0, _08092968
- ldr r3, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldr r3, [r0]
- add r0, sp, 0x14
- str r0, [sp]
- adds r0, r7, 0
- adds r2, r6, 0
- bl sub_800D158
- b _08092A6A
- .align 2, 0
-_08092964: .4byte gUnknown_81098E0
-_08092968: .4byte gUnknown_2038C68
-_0809296C:
- adds r0, r4, 0
- bl sub_8092BF4
- adds r3, r0, 0
- ldr r1, _0809298C
- mov r8, r1
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- ldr r1, _08092990
- mov r12, r1
- cmp r0, 0
- beq _080929E2
- ldr r0, _08092994
- b _080929E0
- .align 2, 0
-_0809298C: .4byte gUnknown_81098EC
-_08092990: .4byte gUnknown_810990C
-_08092994: .4byte gUnknown_8109908
-_08092998:
- adds r0, r4, 0
- bl sub_8092BF4
- adds r3, r0, 0
- ldr r0, _080929B8
- mov r8, r0
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- ldr r1, _080929BC
- mov r12, r1
- cmp r0, 0
- beq _080929E2
- ldr r0, _080929C0
- b _080929E0
- .align 2, 0
-_080929B8: .4byte gUnknown_8109910
-_080929BC: .4byte gUnknown_810990C
-_080929C0: .4byte gUnknown_8109908
-_080929C4:
- adds r0, r4, 0
- bl sub_8092BF4
- adds r3, r0, 0
- ldr r0, _08092A10
- mov r8, r0
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- ldr r1, _08092A14
- mov r12, r1
- cmp r0, 0
- beq _080929E2
- ldr r0, _08092A18
-_080929E0:
- mov r12, r0
-_080929E2:
- ldrh r1, [r4, 0x2]
- ldr r0, _08092A1C
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [sp]
- add r1, sp, 0x14
- str r1, [sp, 0x4]
- ldr r0, [r5, 0x4]
- str r0, [sp, 0x8]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0xC]
- str r3, [sp, 0x10]
- adds r0, r7, 0
- mov r1, r8
- adds r2, r6, 0
- mov r3, r12
- bl sub_800D158
- b _08092A6A
- .align 2, 0
-_08092A10: .4byte gUnknown_81098EC
-_08092A14: .4byte gUnknown_810990C
-_08092A18: .4byte gUnknown_8109928
-_08092A1C: .4byte gUnknown_2038C68
-_08092A20:
- adds r0, r4, 0
- bl sub_8092BF4
- adds r3, r0, 0
- ldr r0, _08092A78
- mov r8, r0
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- ldr r1, _08092A7C
- mov r12, r1
- cmp r0, 0
- beq _08092A3E
- ldr r0, _08092A80
- mov r12, r0
-_08092A3E:
- ldrh r1, [r4, 0x2]
- ldr r0, _08092A84
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [sp]
- add r1, sp, 0x14
- str r1, [sp, 0x4]
- ldr r0, [r5, 0x4]
- str r0, [sp, 0x8]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0xC]
- str r3, [sp, 0x10]
- adds r0, r7, 0
- mov r1, r8
- adds r2, r6, 0
- mov r3, r12
- bl sub_800D158
-_08092A6A:
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08092A78: .4byte gUnknown_8109910
-_08092A7C: .4byte gUnknown_810990C
-_08092A80: .4byte gUnknown_8109928
-_08092A84: .4byte gUnknown_2038C68
- thumb_func_end sub_80928C0
-
- thumb_func_start sub_8092A88
-sub_8092A88:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r2, 0
- movs r0, 0x5
- strb r0, [r4]
- strb r2, [r4, 0x1]
- movs r5, 0
- strh r1, [r4, 0x2]
- adds r0, r4, 0
- bl sub_8092BF4
- strb r0, [r4, 0x4]
- strb r5, [r4, 0x5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8092A88
-
- thumb_func_start sub_8092AA8
-sub_8092AA8:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r2, r1, 16
- cmp r2, 0
- bne _08092AB8
- strb r2, [r5]
- b _08092ACE
-_08092AB8:
- movs r1, 0
- movs r0, 0x5
- strb r0, [r5]
- strb r1, [r5, 0x1]
- movs r4, 0
- strh r2, [r5, 0x2]
- adds r0, r5, 0
- bl sub_8092BF4
- strb r0, [r5, 0x4]
- strb r4, [r5, 0x5]
-_08092ACE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8092AA8
-
- thumb_func_start sub_8092AD4
-sub_8092AD4:
- movs r2, 0x5
- strb r2, [r0]
- movs r2, 0
- strh r1, [r0, 0x2]
- strb r2, [r0, 0x4]
- bx lr
- thumb_func_end sub_8092AD4
-
- thumb_func_start sub_8092AE0
-sub_8092AE0:
- ldrh r2, [r0, 0x2]
- ldr r0, _08092AFC
- ldr r3, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- lsls r1, 1
- adds r0, 0x8
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08092AFC: .4byte gUnknown_2038C68
- thumb_func_end sub_8092AE0
-
- thumb_func_start sub_8092B00
-sub_8092B00:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092B14
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x6]
- bx lr
- .align 2, 0
-_08092B14: .4byte gUnknown_2038C68
- thumb_func_end sub_8092B00
-
- thumb_func_start sub_8092B18
-sub_8092B18:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- ldr r0, _08092B40
- cmp r1, r0
- beq _08092B48
- cmp r1, 0
- beq _08092B48
- movs r0, 0xD2
- lsls r0, 1
- cmp r2, r0
- beq _08092B48
- ldr r0, _08092B44
- ldr r1, [r0]
- lsls r0, r2, 3
- adds r0, r1
- ldr r0, [r0]
- b _08092B4A
- .align 2, 0
-_08092B40: .4byte 0x000001a5
-_08092B44: .4byte gUnknown_2038C6C
-_08092B48:
- ldr r0, _08092B50
-_08092B4A:
- pop {r1}
- bx r1
- .align 2, 0
-_08092B50: .4byte gUnknown_810992B
- thumb_func_end sub_8092B18
-
- thumb_func_start sub_8092B54
-sub_8092B54:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- ldr r0, _08092B7C
- cmp r1, r0
- beq _08092B84
- cmp r1, 0
- beq _08092B84
- movs r0, 0xD2
- lsls r0, 1
- cmp r2, r0
- beq _08092B84
- ldr r0, _08092B80
- ldr r1, [r0]
- lsls r0, r2, 3
- adds r0, r1
- ldr r0, [r0, 0x4]
- b _08092B86
- .align 2, 0
-_08092B7C: .4byte 0x000001a5
-_08092B80: .4byte gUnknown_2038C6C
-_08092B84:
- ldr r0, _08092B8C
-_08092B86:
- pop {r1}
- bx r1
- .align 2, 0
-_08092B8C: .4byte gUnknown_810992B
- thumb_func_end sub_8092B54
-
- thumb_func_start sub_8092B90
-sub_8092B90:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092BA4
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0xD]
- bx lr
- .align 2, 0
-_08092BA4: .4byte gUnknown_2038C68
- thumb_func_end sub_8092B90
-
- thumb_func_start sub_8092BA8
-sub_8092BA8:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092BBC
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x11]
- bx lr
- .align 2, 0
-_08092BBC: .4byte gUnknown_2038C68
- thumb_func_end sub_8092BA8
-
- thumb_func_start sub_8092BC0
-sub_8092BC0:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092BD4
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08092BD4: .4byte gUnknown_2038C68
- thumb_func_end sub_8092BC0
-
- thumb_func_start sub_8092BD8
-sub_8092BD8:
- ldrh r2, [r0, 0x2]
- ldr r0, _08092BF0
- ldr r3, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- adds r0, 0xE
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08092BF0: .4byte gUnknown_2038C68
- thumb_func_end sub_8092BD8
-
- thumb_func_start sub_8092BF4
-sub_8092BF4:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C08
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_08092C08: .4byte gUnknown_2038C68
- thumb_func_end sub_8092BF4
-
- thumb_func_start sub_8092C0C
-sub_8092C0C:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C20
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x12]
- bx lr
- .align 2, 0
-_08092C20: .4byte gUnknown_2038C68
- thumb_func_end sub_8092C0C
-
- thumb_func_start sub_8092C24
-sub_8092C24:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C38
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x13]
- bx lr
- .align 2, 0
-_08092C38: .4byte gUnknown_2038C68
- thumb_func_end sub_8092C24
-
- thumb_func_start sub_8092C3C
-sub_8092C3C:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C50
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x17]
- bx lr
- .align 2, 0
-_08092C50: .4byte gUnknown_2038C68
- thumb_func_end sub_8092C3C
-
- thumb_func_start sub_8092C54
-sub_8092C54:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C68
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x18]
- bx lr
- .align 2, 0
-_08092C68: .4byte gUnknown_2038C68
- thumb_func_end sub_8092C54
-
- thumb_func_start sub_8092C6C
-sub_8092C6C:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C80
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x19]
- bx lr
- .align 2, 0
-_08092C80: .4byte gUnknown_2038C68
- thumb_func_end sub_8092C6C
-
- thumb_func_start sub_8092C84
-sub_8092C84:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r0, sp
- bl sub_8092A88
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0
- bl sub_80928C0
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8092C84
-
- thumb_func_start sub_8092CA8
-sub_8092CA8:
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08092CBC
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r0, [r1, 0x20]
- bx lr
- .align 2, 0
-_08092CBC: .4byte gUnknown_2038C68
- thumb_func_end sub_8092CA8
-
- thumb_func_start sub_8092CC0
-sub_8092CC0:
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08092CD4
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x14]
- bx lr
- .align 2, 0
-_08092CD4: .4byte gUnknown_2038C68
- thumb_func_end sub_8092CC0
-
- thumb_func_start sub_8092CD8
-sub_8092CD8:
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08092CEC
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x15]
- bx lr
- .align 2, 0
-_08092CEC: .4byte gUnknown_2038C68
- thumb_func_end sub_8092CD8
-
- thumb_func_start sub_8092CF0
-sub_8092CF0:
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08092D04
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x16]
- bx lr
- .align 2, 0
-_08092D04: .4byte gUnknown_2038C68
- thumb_func_end sub_8092CF0
-
- thumb_func_start sub_8092D08
-sub_8092D08:
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2]
- cmp r1, 0xD9
- beq _08092D4C
- movs r0, 0x8E
- lsls r0, 1
- cmp r1, r0
- beq _08092D4C
- cmp r1, 0x53
- beq _08092D4C
- cmp r1, 0x22
- beq _08092D4C
- cmp r1, 0x54
- beq _08092D4C
- cmp r1, 0xAB
- beq _08092D4C
- ldr r0, _08092D48
- cmp r1, r0
- beq _08092D4C
- cmp r1, 0x1B
- beq _08092D4C
- cmp r1, 0xF1
- beq _08092D4C
- cmp r1, 0x19
- beq _08092D4C
- ldrh r0, [r2, 0x2]
- cmp r0, 0x1A
- beq _08092D4C
- movs r0, 0
- b _08092D4E
- .align 2, 0
-_08092D48: .4byte 0x00000125
-_08092D4C:
- movs r0, 0x1
-_08092D4E:
- pop {r1}
- bx r1
- thumb_func_end sub_8092D08
-
- thumb_func_start sub_8092D54
-sub_8092D54:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r0, r1, 0
- ldr r5, _08092D78
- ldr r4, _08092D7C
- bl sub_8092C6C
- lsls r0, 2
- adds r0, r4
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_800D158
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08092D78: .4byte gUnknown_810992C
-_08092D7C: .4byte gUnknown_810CC0C
- thumb_func_end sub_8092D54
-
- thumb_func_start sub_8092D80
-sub_8092D80:
- push {r4,r5,lr}
- adds r3, r1, 0
- movs r5, 0
- lsls r1, r3, 3
- adds r1, r0
-_08092D8A:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, 0x4
- beq _08092DB0
- ldrb r2, [r1]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08092DB0
- lsrs r0, r2, 1
- ands r0, r4
- cmp r0, 0
- bne _08092DAA
- adds r0, r3, 0
- b _08092DB2
-_08092DAA:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08092D8A
-_08092DB0:
- movs r0, 0
-_08092DB2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8092D80
-
- thumb_func_start sub_8092DB8
-sub_8092DB8:
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r5, 0
- movs r6, 0x1
-_08092DC0:
- subs r1, 0x1
- cmp r1, 0
- bge _08092DF0
- movs r2, 0x3
- ldrb r1, [r4, 0x18]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08092DD6
- movs r1, 0x3
- b _08092DEC
-_08092DD6:
- subs r2, 0x1
- cmp r2, 0
- blt _08092E12
- lsls r0, r2, 3
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08092DD6
- adds r1, r2, 0
-_08092DEC:
- cmp r2, 0
- blt _08092E12
-_08092DF0:
- lsls r0, r1, 3
- adds r0, r4
- ldrb r2, [r0]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r2
- cmp r0, 0
- beq _08092E12
- lsrs r0, r2, 1
- ands r0, r3
- cmp r0, 0
- bne _08092E0C
- adds r0, r1, 0
- b _08092E14
-_08092E0C:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08092DC0
-_08092E12:
- movs r0, 0
-_08092E14:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8092DB8
-
- thumb_func_start sub_8092E1C
-sub_8092E1C:
- push {r4,r5,lr}
- adds r3, r1, 0
- movs r5, 0
- lsls r1, r3, 3
- adds r1, r0
-_08092E26:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, 0x8
- beq _08092E4C
- ldrb r2, [r1]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08092E4C
- lsrs r0, r2, 1
- ands r0, r4
- cmp r0, 0
- bne _08092E46
- adds r0, r3, 0
- b _08092E4E
-_08092E46:
- adds r5, 0x1
- cmp r5, 0x7
- ble _08092E26
-_08092E4C:
- movs r0, 0
-_08092E4E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8092E1C
-
- thumb_func_start sub_8092E54
-sub_8092E54:
- push {r4,r5,lr}
- adds r3, r1, 0
- movs r5, 0
- lsls r1, r3, 3
- adds r1, r0
-_08092E5E:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, 0x8
- beq _08092E84
- ldrb r2, [r1]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08092E84
- lsrs r0, r2, 1
- ands r0, r4
- cmp r0, 0
- bne _08092E7E
- adds r0, r3, 0
- b _08092E86
-_08092E7E:
- adds r5, 0x1
- cmp r5, 0x7
- ble _08092E5E
-_08092E84:
- movs r0, 0
-_08092E86:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8092E54
-
- thumb_func_start sub_8092E8C
-sub_8092E8C:
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- lsls r0, r1, 3
- adds r3, r0, r6
-_08092E96:
- subs r3, 0x8
- subs r1, 0x1
- cmp r1, 0
- bge _08092EC6
- movs r3, 0x7
- movs r4, 0x1
- adds r2, r6, 0
- adds r2, 0x38
-_08092EA6:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08092EBC
- lsrs r0, r1, 1
- ands r0, r4
- cmp r0, 0
- bne _08092EBC
- adds r0, r3, 0
- b _08092EE6
-_08092EBC:
- subs r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bgt _08092EA6
- b _08092EE4
-_08092EC6:
- ldrb r2, [r3]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08092EE4
- lsrs r0, r2, 1
- ands r0, r4
- cmp r0, 0
- bne _08092EDE
- adds r0, r1, 0
- b _08092EE6
-_08092EDE:
- adds r5, 0x1
- cmp r5, 0x7
- ble _08092E96
-_08092EE4:
- movs r0, 0
-_08092EE6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8092E8C
-
- thumb_func_start sub_8092EEC
-sub_8092EEC:
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- lsls r0, r1, 3
- adds r3, r0, r6
-_08092EF6:
- subs r3, 0x8
- subs r1, 0x1
- cmp r1, 0
- bge _08092F26
- movs r3, 0x7
- movs r4, 0x1
- adds r2, r6, 0
- adds r2, 0x38
-_08092F06:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08092F1C
- lsrs r0, r1, 1
- ands r0, r4
- cmp r0, 0
- bne _08092F1C
- adds r0, r3, 0
- b _08092F46
-_08092F1C:
- subs r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bgt _08092F06
- b _08092F44
-_08092F26:
- ldrb r2, [r3]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08092F44
- lsrs r0, r2, 1
- ands r0, r4
- cmp r0, 0
- bne _08092F3E
- adds r0, r1, 0
- b _08092F46
-_08092F3E:
- adds r5, 0x1
- cmp r5, 0x7
- ble _08092EF6
-_08092F44:
- movs r0, 0
-_08092F46:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8092EEC
-
- thumb_func_start sub_8092F4C
-sub_8092F4C:
- push {r4,lr}
- adds r2, r0, 0
- cmp r1, 0
- ble _08092F78
- movs r4, 0x1
- lsls r0, r1, 3
- adds r3, r0, r2
-_08092F5A:
- ldrb r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08092F78
- lsrs r0, r2, 1
- ands r0, r4
- cmp r0, 0
- bne _08092F70
- adds r0, r1, 0
- b _08092F7A
-_08092F70:
- subs r3, 0x8
- subs r1, 0x1
- cmp r1, 0
- bgt _08092F5A
-_08092F78:
- movs r0, 0
-_08092F7A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8092F4C
-
- thumb_func_start sub_8092F80
-sub_8092F80:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x80
- adds r7, r0, 0
- mov r8, r1
- lsls r0, r1, 3
- adds r0, r7, r0
- ldrb r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093784
- mov r0, sp
- bl sub_8093744
- adds r3, r0, 0
- cmp r3, 0x2
- bhi _08092FCC
- lsls r1, r3, 5
- adds r0, r3, 0x1
- lsls r0, 5
- mov r2, sp
- adds r5, r0, r2
- adds r4, r1, r2
- movs r6, 0x3
-_08092FBA:
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- stm r4!, {r0,r1}
- stm r5!, {r2,r3}
- subs r6, 0x1
- cmp r6, 0
- bge _08092FBA
-_08092FCC:
- adds r0, r7, 0
- mov r1, sp
- bl sub_80937E0
- movs r3, 0
- movs r5, 0x80
- movs r4, 0x7F
- adds r1, r7, 0
-_08092FDC:
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _08092FF0
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1]
- mov r8, r3
- b _08092FF8
-_08092FF0:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _08092FDC
-_08092FF8:
- mov r0, r8
- add sp, 0x80
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8092F80
-
- thumb_func_start sub_8093008
-sub_8093008:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0809307C
- add sp, r4
- adds r7, r0, 0
- mov r8, r1
- lsls r0, r1, 3
- adds r0, r7, r0
- ldrb r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093974
- mov r0, sp
- bl sub_80938F4
- adds r3, r0, 0
- cmp r3, 0x6
- bhi _08093056
- lsls r1, r3, 6
- adds r0, r3, 0x1
- lsls r0, 6
- mov r2, sp
- adds r5, r0, r2
- adds r4, r1, r2
- movs r6, 0x7
-_08093044:
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- stm r4!, {r0,r1}
- stm r5!, {r2,r3}
- subs r6, 0x1
- cmp r6, 0
- bge _08093044
-_08093056:
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093A2C
- movs r3, 0
- movs r5, 0x80
- movs r4, 0x7F
- adds r1, r7, 0
-_08093066:
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _08093080
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1]
- mov r8, r3
- b _08093088
- .align 2, 0
-_0809307C: .4byte 0xfffffe00
-_08093080:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- ble _08093066
-_08093088:
- mov r0, r8
- movs r3, 0x80
- lsls r3, 2
- add sp, r3
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093008
-
- thumb_func_start sub_809309C
-sub_809309C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _08093110
- add sp, r4
- adds r7, r0, 0
- mov r8, r1
- lsls r0, r1, 3
- adds r0, r7, r0
- ldrb r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- mov r1, sp
- bl sub_80939D0
- mov r0, sp
- bl sub_8093934
- adds r3, r0, 0
- cmp r3, 0x6
- bhi _080930EA
- lsls r1, r3, 6
- adds r0, r3, 0x1
- lsls r0, 6
- mov r2, sp
- adds r5, r0, r2
- adds r4, r1, r2
- movs r6, 0x7
-_080930D8:
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- stm r4!, {r0,r1}
- stm r5!, {r2,r3}
- subs r6, 0x1
- cmp r6, 0
- bge _080930D8
-_080930EA:
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093B40
- movs r3, 0
- movs r5, 0x80
- movs r4, 0x7F
- adds r1, r7, 0
-_080930FA:
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _08093114
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1]
- mov r8, r3
- b _0809311C
- .align 2, 0
-_08093110: .4byte 0xfffffe00
-_08093114:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- ble _080930FA
-_0809311C:
- mov r0, r8
- movs r3, 0x80
- lsls r3, 2
- add sp, r3
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809309C
-
- thumb_func_start sub_8093130
-sub_8093130:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x80
- adds r7, r0, 0
- mov r8, r1
- lsls r0, r1, 3
- adds r0, r7, r0
- ldrb r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093784
- mov r0, sp
- bl sub_8093744
- adds r1, r0, 0
- subs r0, r1, 0x1
- cmp r0, 0x2
- bhi _0809317C
- lsls r1, 5
- lsls r0, 5
- mov r2, sp
- adds r5, r0, r2
- adds r4, r1, r2
- movs r6, 0x3
-_0809316A:
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- stm r4!, {r0,r1}
- stm r5!, {r2,r3}
- subs r6, 0x1
- cmp r6, 0
- bge _0809316A
-_0809317C:
- adds r0, r7, 0
- mov r1, sp
- bl sub_80937E0
- movs r1, 0
- movs r5, 0x80
- movs r4, 0x7F
- adds r2, r7, 0
-_0809318C:
- ldrb r3, [r2]
- adds r0, r5, 0
- ands r0, r3
- cmp r0, 0
- beq _080931A0
- adds r0, r4, 0
- ands r0, r3
- strb r0, [r2]
- mov r8, r1
- b _080931A8
-_080931A0:
- adds r2, 0x8
- adds r1, 0x1
- cmp r1, 0x3
- ble _0809318C
-_080931A8:
- mov r0, r8
- add sp, 0x80
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093130
-
- thumb_func_start sub_80931B8
-sub_80931B8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0809322C
- add sp, r4
- adds r7, r0, 0
- mov r8, r1
- lsls r0, r1, 3
- adds r0, r7, r0
- ldrb r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093974
- mov r0, sp
- bl sub_80938F4
- adds r1, r0, 0
- subs r0, r1, 0x1
- cmp r0, 0x6
- bhi _08093206
- lsls r1, 6
- lsls r0, 6
- mov r2, sp
- adds r5, r0, r2
- adds r4, r1, r2
- movs r6, 0x7
-_080931F4:
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- stm r4!, {r0,r1}
- stm r5!, {r2,r3}
- subs r6, 0x1
- cmp r6, 0
- bge _080931F4
-_08093206:
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093A2C
- movs r1, 0
- movs r5, 0x80
- movs r4, 0x7F
- adds r2, r7, 0
-_08093216:
- ldrb r3, [r2]
- adds r0, r5, 0
- ands r0, r3
- cmp r0, 0
- beq _08093230
- adds r0, r4, 0
- ands r0, r3
- strb r0, [r2]
- mov r8, r1
- b _08093238
- .align 2, 0
-_0809322C: .4byte 0xfffffe00
-_08093230:
- adds r2, 0x8
- adds r1, 0x1
- cmp r1, 0x7
- ble _08093216
-_08093238:
- mov r0, r8
- movs r3, 0x80
- lsls r3, 2
- add sp, r3
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80931B8
-
- thumb_func_start sub_809324C
-sub_809324C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _080932C0
- add sp, r4
- adds r7, r0, 0
- mov r8, r1
- lsls r0, r1, 3
- adds r0, r7, r0
- ldrb r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- mov r1, sp
- bl sub_80939D0
- mov r0, sp
- bl sub_8093934
- adds r1, r0, 0
- subs r0, r1, 0x1
- cmp r0, 0x6
- bhi _0809329A
- lsls r1, 6
- lsls r0, 6
- mov r2, sp
- adds r5, r0, r2
- adds r4, r1, r2
- movs r6, 0x7
-_08093288:
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- stm r4!, {r0,r1}
- stm r5!, {r2,r3}
- subs r6, 0x1
- cmp r6, 0
- bge _08093288
-_0809329A:
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093B40
- movs r1, 0
- movs r5, 0x80
- movs r4, 0x7F
- adds r2, r7, 0
-_080932AA:
- ldrb r3, [r2]
- adds r0, r5, 0
- ands r0, r3
- cmp r0, 0
- beq _080932C4
- adds r0, r4, 0
- ands r0, r3
- strb r0, [r2]
- mov r8, r1
- b _080932CC
- .align 2, 0
-_080932C0: .4byte 0xfffffe00
-_080932C4:
- adds r2, 0x8
- adds r1, 0x1
- cmp r1, 0x7
- ble _080932AA
-_080932CC:
- mov r0, r8
- movs r3, 0x80
- lsls r3, 2
- add sp, r3
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809324C
-
- thumb_func_start sub_80932E0
-sub_80932E0:
- push {lr}
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080932F4
- movs r0, 0
- b _080932F6
-_080932F4:
- movs r0, 0x1
-_080932F6:
- pop {r1}
- bx r1
- thumb_func_end sub_80932E0
-
- thumb_func_start sub_80932FC
-sub_80932FC:
- push {lr}
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _08093310
- movs r0, 0
- b _08093312
-_08093310:
- movs r0, 0x1
-_08093312:
- pop {r1}
- bx r1
- thumb_func_end sub_80932FC
-
- thumb_func_start sub_8093318
-sub_8093318:
- push {r4,lr}
- sub sp, 0x40
- adds r4, r0, 0
- mov r0, sp
- movs r2, 0x40
- bl MemoryCopy8
- adds r0, r4, 0
- mov r1, sp
- bl sub_8093400
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x40
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093318
-
- thumb_func_start sub_809333C
-sub_809333C:
- push {r4,lr}
- sub sp, 0x40
- adds r4, r0, 0
- mov r0, sp
- movs r2, 0x40
- bl MemoryCopy8
- adds r0, r4, 0
- mov r1, sp
- bl sub_8093468
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x40
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809333C
-
- thumb_func_start sub_8093360
-sub_8093360:
- push {r4,lr}
- sub sp, 0x40
- adds r4, r0, 0
- mov r0, sp
- movs r2, 0x40
- bl MemoryCopy8
- adds r0, r4, 0
- mov r1, sp
- bl sub_80933D8
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x40
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093360
-
- thumb_func_start sub_8093384
-sub_8093384:
- push {lr}
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08093398
- movs r0, 0x1
- b _0809339A
-_08093398:
- movs r0, 0
-_0809339A:
- pop {r1}
- bx r1
- thumb_func_end sub_8093384
-
- thumb_func_start sub_80933A0
-sub_80933A0:
- push {r4-r6,lr}
- movs r4, 0
- movs r6, 0x1
- movs r5, 0x2
- movs r3, 0x7
-_080933AA:
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- cmp r0, 0
- beq _080933BE
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- bne _080933BE
- adds r4, 0x1
-_080933BE:
- adds r1, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _080933AA
- cmp r4, 0x1
- bgt _080933CE
- movs r0, 0
- b _080933D0
-_080933CE:
- movs r0, 0x1
-_080933D0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80933A0
-
- thumb_func_start sub_80933D8
-sub_80933D8:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8093400
- lsls r0, 24
- cmp r0, 0
- bne _080933F6
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093468
- lsls r0, 24
- lsrs r0, 24
- b _080933F8
-_080933F6:
- movs r0, 0x1
-_080933F8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80933D8
-
- thumb_func_start sub_8093400
-sub_8093400:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r7, r1, 0
- lsls r0, r4, 3
- adds r0, r7, r0
- ldrh r0, [r0, 0x2]
- bl sub_809422C
- lsls r0, 24
- cmp r0, 0
- beq _08093428
- b _08093460
-_08093418:
- adds r0, r1, 0
- orrs r0, r2
- strb r0, [r6]
- adds r0, r7, 0
- bl sub_809371C
- movs r0, 0x1
- b _08093462
-_08093428:
- adds r5, r4, 0x1
- cmp r5, 0x7
- bgt _08093460
- lsls r0, r5, 3
- adds r4, r0, r7
- adds r6, r4, 0
-_08093434:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093460
- ldrh r0, [r4, 0x2]
- bl sub_809422C
- lsls r0, 24
- cmp r0, 0
- bne _08093460
- ldrb r1, [r4]
- movs r2, 0x2
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08093418
- adds r4, 0x8
- adds r6, 0x8
- adds r5, 0x1
- cmp r5, 0x7
- ble _08093434
-_08093460:
- movs r0, 0
-_08093462:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093400
-
- thumb_func_start sub_8093468
-sub_8093468:
- push {r4-r7,lr}
- adds r6, r1, 0
- movs r5, 0
- adds r1, r0, 0x1
- movs r4, 0
- cmp r1, 0x7
- bgt _080934A0
- movs r0, 0x2
- mov r12, r0
- movs r7, 0xFD
- lsls r0, r1, 3
- adds r3, r0, r6
-_08093480:
- ldrb r2, [r3]
- mov r0, r12
- ands r0, r2
- cmp r0, 0
- beq _080934A0
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r3]
- movs r5, 0x1
- adds r3, 0x8
- adds r1, 0x1
- adds r4, 0x1
- cmp r4, 0x7
- bgt _080934A0
- cmp r1, 0x7
- ble _08093480
-_080934A0:
- adds r0, r6, 0
- bl sub_809371C
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093468
-
- thumb_func_start sub_80934B0
-sub_80934B0:
- push {lr}
- adds r2, r0, 0
- adds r0, r2, 0x1
- cmp r0, 0x7
- bgt _080934D2
- lsls r0, r2, 3
- adds r0, 0x8
- adds r0, r1, r0
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080934D2
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080934D6
-_080934D2:
- movs r0, 0
- b _080934D8
-_080934D6:
- movs r0, 0x1
-_080934D8:
- pop {r1}
- bx r1
- thumb_func_end sub_80934B0
-
- thumb_func_start sub_80934DC
-sub_80934DC:
- push {r4-r7,lr}
- adds r5, r1, 0
- lsls r0, 3
- adds r4, r5, r0
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080934F4
- movs r0, 0xF7
- ands r0, r1
- b _0809351A
-_080934F4:
- movs r7, 0x1
- movs r6, 0xF7
- adds r1, r5, 0
- movs r3, 0x3
-_080934FC:
- ldrb r2, [r1]
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- beq _0809350C
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
-_0809350C:
- adds r1, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _080934FC
- ldrb r1, [r4]
- movs r0, 0x8
- orrs r0, r1
-_0809351A:
- strb r0, [r4]
- adds r0, r5, 0
- bl sub_809371C
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80934DC
-
- thumb_func_start sub_809352C
-sub_809352C:
- push {lr}
- lsls r0, 3
- adds r0, r1, r0
- ldrb r3, [r0]
- movs r2, 0xF7
- ands r2, r3
- strb r2, [r0]
- adds r0, r1, 0
- bl sub_809371C
- pop {r0}
- bx r0
- thumb_func_end sub_809352C
-
- thumb_func_start sub_8093544
-sub_8093544:
- push {lr}
- lsls r0, 3
- adds r0, r1, r0
- ldrb r2, [r0]
- movs r3, 0x4
- eors r2, r3
- strb r2, [r0]
- adds r0, r1, 0
- bl sub_809371C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8093544
-
- thumb_func_start sub_8093560
-sub_8093560:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- movs r5, 0x1
- lsls r0, r4, 3
- adds r0, r6, r0
- ldrh r0, [r0, 0x2]
- strh r0, [r2]
- movs r1, 0
- adds r0, r2, 0x2
- movs r3, 0x2
-_08093576:
- strh r1, [r0]
- adds r0, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08093576
- adds r4, 0x1
- adds r2, 0x2
- cmp r4, 0x7
- bgt _080935B0
- cmp r5, 0x3
- bgt _080935B0
- movs r7, 0x2
- lsls r0, r4, 3
- adds r3, r0, r6
-_08093592:
- ldrb r1, [r3]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080935B0
- ldrh r0, [r3, 0x2]
- strh r0, [r2]
- adds r2, 0x2
- adds r5, 0x1
- adds r3, 0x8
- adds r4, 0x1
- cmp r4, 0x7
- bgt _080935B0
- cmp r5, 0x3
- ble _08093592
-_080935B0:
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093560
-
- thumb_func_start sub_80935B8
-sub_80935B8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- movs r0, 0x63
- mov r12, r0
- movs r0, 0
- mov r8, r0
- movs r6, 0
- adds r4, r1, 0
- cmp r4, 0
- blt _08093606
- lsls r0, r4, 3
- adds r2, r5, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093606
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08093606
- movs r7, 0x1
- movs r3, 0x2
-_080935EC:
- subs r2, 0x8
- subs r4, 0x1
- cmp r4, 0
- blt _08093606
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08093606
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _080935EC
-_08093606:
- adds r2, r4, 0x1
- mov r9, r2
- cmp r2, 0x3
- bgt _08093642
- lsls r0, r2, 3
- adds r3, r5, r0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093642
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08093642
- movs r6, 0x1
- movs r7, 0x2
-_08093628:
- adds r3, 0x8
- adds r2, 0x1
- cmp r2, 0x3
- bgt _08093642
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08093642
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _08093628
-_08093642:
- cmp r6, 0
- bne _0809364A
- movs r0, 0x63
- b _080936CC
-_0809364A:
- movs r6, 0
- b _08093668
-_0809364E:
- ldrb r0, [r3, 0x4]
- cmp r12, r0
- ble _08093656
- mov r12, r0
-_08093656:
- cmp r0, 0
- bne _0809365C
- movs r6, 0x1
-_0809365C:
- ldrb r1, [r3, 0x1]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08093668
- movs r6, 0x1
-_08093668:
- subs r2, 0x1
- cmp r2, r4
- blt _0809367C
- lsls r0, r2, 3
- adds r3, r5, r0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0809364E
-_0809367C:
- cmp r6, 0
- beq _080936C6
- mov r2, r9
- cmp r2, 0x3
- bgt _080936C0
- lsls r0, r2, 3
- adds r3, r5, r0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080936C0
- movs r6, 0x2
- movs r4, 0xFD
-_08093698:
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080936C0
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r3]
- movs r0, 0x1
- mov r8, r0
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080936C0
- lsls r0, r2, 3
- adds r3, r5, r0
- ldrb r1, [r3]
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- bne _08093698
-_080936C0:
- mov r0, r8
- cmp r0, 0
- bne _080936CA
-_080936C6:
- mov r0, r12
- b _080936CC
-_080936CA:
- movs r0, 0
-_080936CC:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80935B8
-
- thumb_func_start sub_80936D8
-sub_80936D8:
- push {r4,lr}
- sub sp, 0x80
- adds r4, r0, 0
- mov r1, sp
- bl sub_8093784
- adds r0, r4, 0
- mov r1, sp
- bl sub_80937E0
- add sp, 0x80
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80936D8
-
- thumb_func_start sub_80936F4
-sub_80936F4:
- push {r4,lr}
- ldr r4, _08093718
- add sp, r4
- adds r4, r0, 0
- mov r1, sp
- bl sub_8093974
- adds r0, r4, 0
- mov r1, sp
- bl sub_8093A2C
- movs r3, 0x80
- lsls r3, 2
- add sp, r3
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08093718: .4byte 0xfffffe00
- thumb_func_end sub_80936F4
-
- thumb_func_start sub_809371C
-sub_809371C:
- push {r4,lr}
- ldr r4, _08093740
- add sp, r4
- adds r4, r0, 0
- mov r1, sp
- bl sub_80939D0
- adds r0, r4, 0
- mov r1, sp
- bl sub_8093B40
- movs r3, 0x80
- lsls r3, 2
- add sp, r3
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08093740: .4byte 0xfffffe00
- thumb_func_end sub_809371C
-
- thumb_func_start sub_8093744
-sub_8093744:
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r4, 0
- movs r6, 0x1
- movs r5, 0x80
-_0809374E:
- movs r3, 0
- lsls r0, r4, 5
- adds r2, r0, r7
-_08093754:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0809376A
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0809376A
- adds r0, r4, 0
- b _0809377C
-_0809376A:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _08093754
- adds r4, 0x1
- cmp r4, 0x3
- ble _0809374E
- movs r0, 0x1
- negs r0, r0
-_0809377C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093744
-
- thumb_func_start sub_8093784
-sub_8093784:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r2, 0
- movs r4, 0
-_0809378C:
- lsls r0, r2, 5
- adds r2, 0x1
- movs r3, 0x3
- adds r0, r1
- adds r0, 0x18
-_08093796:
- strb r4, [r0]
- subs r0, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08093796
- cmp r2, 0x3
- ble _0809378C
- movs r3, 0
- movs r5, 0
- adds r4, r1, 0
- subs r4, 0x20
- movs r7, 0x2
-_080937AE:
- cmp r5, 0
- beq _080937BC
- ldrb r1, [r6]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _080937C0
-_080937BC:
- adds r4, 0x20
- movs r3, 0
-_080937C0:
- lsls r2, r3, 3
- adds r2, r4
- ldm r6!, {r0,r1}
- str r0, [r2]
- str r1, [r2, 0x4]
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- strb r0, [r2]
- adds r3, 0x1
- adds r5, 0x1
- cmp r5, 0x3
- ble _080937AE
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093784
-
- thumb_func_start sub_80937E0
-sub_80937E0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r0, [sp, 0x8]
- mov r9, r1
- movs r0, 0
- mov r8, r0
- movs r6, 0
- add r1, sp, 0x4
- mov r10, r1
- mov r12, r6
- movs r3, 0x1
-_080937FE:
- mov r2, sp
- adds r0, r2, r6
- mov r7, r12
- strb r7, [r0]
- mov r1, sp
- adds r1, r6
- adds r1, 0x4
- mov r2, r12
- strb r2, [r1]
- adds r7, r0, 0
- lsls r0, r6, 5
- adds r6, 0x1
- adds r5, r1, 0
- mov r1, r9
- adds r2, r0, r1
- movs r4, 0x3
-_0809381E:
- ldrb r1, [r2]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0809383E
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08093832
- strb r3, [r7]
-_08093832:
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809383E
- strb r3, [r5]
-_0809383E:
- adds r2, 0x8
- subs r4, 0x1
- cmp r4, 0
- bge _0809381E
- cmp r6, 0x3
- ble _080937FE
- movs r6, 0
- mov r2, r8
- lsls r2, 3
- str r2, [sp, 0xC]
-_08093852:
- movs r4, 0
- lsls r0, r6, 5
- mov r7, r9
- adds r5, r0, r7
- ldr r0, [sp, 0xC]
- ldr r1, [sp, 0x8]
- adds r2, r0, r1
- mov r7, r10
- adds r7, r6
- mov r12, r7
-_08093866:
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080938D6
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- cmp r4, 0
- bne _08093884
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- b _0809388A
-_08093884:
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
-_0809388A:
- strb r0, [r2]
- ldrb r0, [r2]
- movs r3, 0xF7
- ands r3, r0
- movs r1, 0
- movs r0, 0xFB
- ands r3, r0
- strb r3, [r2]
- mov r7, sp
- adds r0, r7, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _080938B0
- cmp r4, 0
- bne _080938B0
- movs r1, 0x8
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2]
-_080938B0:
- mov r1, r12
- ldrb r0, [r1]
- cmp r0, 0
- beq _080938C4
- cmp r4, 0
- bne _080938C4
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080938C4:
- adds r2, 0x8
- ldr r7, [sp, 0xC]
- adds r7, 0x8
- str r7, [sp, 0xC]
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x4
- beq _080938E4
-_080938D6:
- adds r5, 0x8
- adds r4, 0x1
- cmp r4, 0x3
- ble _08093866
- adds r6, 0x1
- cmp r6, 0x3
- ble _08093852
-_080938E4:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80937E0
-
- thumb_func_start sub_80938F4
-sub_80938F4:
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r4, 0
- movs r6, 0x1
- movs r5, 0x80
-_080938FE:
- movs r3, 0
- lsls r0, r4, 6
- adds r2, r0, r7
-_08093904:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0809391A
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0809391A
- adds r0, r4, 0
- b _0809392C
-_0809391A:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- ble _08093904
- adds r4, 0x1
- cmp r4, 0x7
- ble _080938FE
- movs r0, 0x1
- negs r0, r0
-_0809392C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80938F4
-
- thumb_func_start sub_8093934
-sub_8093934:
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r4, 0
- movs r6, 0x1
- movs r5, 0x80
-_0809393E:
- movs r3, 0
- lsls r0, r4, 6
- adds r2, r0, r7
-_08093944:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0809395A
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0809395A
- adds r0, r4, 0
- b _0809396C
-_0809395A:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- ble _08093944
- adds r4, 0x1
- cmp r4, 0x7
- ble _0809393E
- movs r0, 0x1
- negs r0, r0
-_0809396C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093934
-
- thumb_func_start sub_8093974
-sub_8093974:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r2, 0
- movs r4, 0
-_0809397C:
- lsls r0, r2, 6
- adds r2, 0x1
- movs r3, 0x7
- adds r0, r1
- adds r0, 0x38
-_08093986:
- strb r4, [r0]
- subs r0, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08093986
- cmp r2, 0x7
- ble _0809397C
- movs r3, 0
- movs r5, 0
- adds r4, r1, 0
- subs r4, 0x40
- movs r7, 0x2
-_0809399E:
- cmp r5, 0
- beq _080939AC
- ldrb r1, [r6]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _080939B0
-_080939AC:
- adds r4, 0x40
- movs r3, 0
-_080939B0:
- lsls r2, r3, 3
- adds r2, r4
- ldm r6!, {r0,r1}
- str r0, [r2]
- str r1, [r2, 0x4]
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- strb r0, [r2]
- adds r3, 0x1
- adds r5, 0x1
- cmp r5, 0x7
- ble _0809399E
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093974
-
- thumb_func_start sub_80939D0
-sub_80939D0:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r2, 0
- movs r4, 0
-_080939D8:
- lsls r0, r2, 6
- adds r2, 0x1
- movs r3, 0x7
- adds r0, r1
- adds r0, 0x38
-_080939E2:
- strb r4, [r0]
- subs r0, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _080939E2
- cmp r2, 0x7
- ble _080939D8
- movs r3, 0
- movs r5, 0
- adds r4, r1, 0
- subs r4, 0x40
- movs r7, 0x2
-_080939FA:
- cmp r5, 0
- beq _08093A08
- ldrb r1, [r6]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _08093A0C
-_08093A08:
- adds r4, 0x40
- movs r3, 0
-_08093A0C:
- lsls r2, r3, 3
- adds r2, r4
- ldm r6!, {r0,r1}
- str r0, [r2]
- str r1, [r2, 0x4]
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- strb r0, [r2]
- adds r3, 0x1
- adds r5, 0x1
- cmp r5, 0x7
- ble _080939FA
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80939D0
-
- thumb_func_start sub_8093A2C
-sub_8093A2C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- str r0, [sp, 0x10]
- mov r9, r1
- movs r0, 0
- mov r8, r0
- movs r6, 0
- add r1, sp, 0x8
- mov r10, r1
- mov r12, r6
- movs r3, 0x1
-_08093A4A:
- mov r2, sp
- adds r0, r2, r6
- mov r7, r12
- strb r7, [r0]
- mov r1, sp
- adds r1, r6
- adds r1, 0x8
- mov r2, r12
- strb r2, [r1]
- adds r7, r0, 0
- lsls r0, r6, 6
- adds r6, 0x1
- adds r5, r1, 0
- mov r1, r9
- adds r2, r0, r1
- movs r4, 0x7
-_08093A6A:
- ldrb r1, [r2]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08093A8A
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08093A7E
- strb r3, [r7]
-_08093A7E:
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08093A8A
- strb r3, [r5]
-_08093A8A:
- adds r2, 0x8
- subs r4, 0x1
- cmp r4, 0
- bge _08093A6A
- cmp r6, 0x7
- ble _08093A4A
- movs r6, 0
- mov r2, r8
- lsls r2, 3
- str r2, [sp, 0x14]
-_08093A9E:
- movs r4, 0
- lsls r0, r6, 6
- mov r7, r9
- adds r5, r0, r7
- ldr r0, [sp, 0x14]
- ldr r1, [sp, 0x10]
- adds r2, r0, r1
- mov r7, r10
- adds r7, r6
- mov r12, r7
-_08093AB2:
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093B22
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- cmp r4, 0
- bne _08093AD0
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- b _08093AD6
-_08093AD0:
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
-_08093AD6:
- strb r0, [r2]
- ldrb r0, [r2]
- movs r3, 0xF7
- ands r3, r0
- movs r1, 0
- movs r0, 0xFB
- ands r3, r0
- strb r3, [r2]
- mov r7, sp
- adds r0, r7, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _08093AFC
- cmp r4, 0
- bne _08093AFC
- movs r1, 0x8
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2]
-_08093AFC:
- mov r1, r12
- ldrb r0, [r1]
- cmp r0, 0
- beq _08093B10
- cmp r4, 0
- bne _08093B10
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_08093B10:
- adds r2, 0x8
- ldr r7, [sp, 0x14]
- adds r7, 0x8
- str r7, [sp, 0x14]
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x8
- beq _08093B30
-_08093B22:
- adds r5, 0x8
- adds r4, 0x1
- cmp r4, 0x7
- ble _08093AB2
- adds r6, 0x1
- cmp r6, 0x7
- ble _08093A9E
-_08093B30:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093A2C
-
- thumb_func_start sub_8093B40
-sub_8093B40:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- str r0, [sp, 0x10]
- mov r9, r1
- movs r0, 0
- mov r8, r0
- movs r6, 0
- add r1, sp, 0x8
- mov r10, r1
- mov r12, r6
- movs r3, 0x1
-_08093B5E:
- mov r2, sp
- adds r0, r2, r6
- mov r7, r12
- strb r7, [r0]
- mov r1, sp
- adds r1, r6
- adds r1, 0x8
- mov r2, r12
- strb r2, [r1]
- adds r7, r0, 0
- lsls r0, r6, 6
- adds r6, 0x1
- adds r5, r1, 0
- mov r1, r9
- adds r2, r0, r1
- movs r4, 0x7
-_08093B7E:
- ldrb r1, [r2]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08093B9E
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08093B92
- strb r3, [r7]
-_08093B92:
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08093B9E
- strb r3, [r5]
-_08093B9E:
- adds r2, 0x8
- subs r4, 0x1
- cmp r4, 0
- bge _08093B7E
- cmp r6, 0x7
- ble _08093B5E
- movs r6, 0
- mov r2, r8
- lsls r2, 3
- str r2, [sp, 0x14]
-_08093BB2:
- movs r4, 0
- lsls r0, r6, 6
- mov r7, r9
- adds r5, r0, r7
- ldr r0, [sp, 0x14]
- ldr r1, [sp, 0x10]
- adds r2, r0, r1
- mov r7, r10
- adds r7, r6
- mov r12, r7
-_08093BC6:
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093C36
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- cmp r4, 0
- bne _08093BE4
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- b _08093BEA
-_08093BE4:
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
-_08093BEA:
- strb r0, [r2]
- ldrb r0, [r2]
- movs r3, 0xF7
- ands r3, r0
- movs r1, 0
- movs r0, 0xFB
- ands r3, r0
- strb r3, [r2]
- mov r7, sp
- adds r0, r7, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _08093C10
- cmp r4, 0
- bne _08093C10
- movs r1, 0x8
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2]
-_08093C10:
- mov r1, r12
- ldrb r0, [r1]
- cmp r0, 0
- beq _08093C24
- cmp r4, 0
- bne _08093C24
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_08093C24:
- adds r2, 0x8
- ldr r7, [sp, 0x14]
- adds r7, 0x8
- str r7, [sp, 0x14]
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x8
- beq _08093C44
-_08093C36:
- adds r5, 0x8
- adds r4, 0x1
- cmp r4, 0x7
- ble _08093BC6
- adds r6, 0x1
- cmp r6, 0x7
- ble _08093BB2
-_08093C44:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093B40
-
- thumb_func_start sub_8093C54
-sub_8093C54:
- push {r4-r7,lr}
- sub sp, 0x40
- adds r6, r0, 0
- lsls r0, r1, 3
- adds r0, r6
- movs r2, 0
- strb r2, [r0]
- adds r3, r1, 0x1
- cmp r3, 0x7
- bgt _08093CA6
- lsls r0, r3, 3
- adds r4, r6, r0
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093CA6
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08093CA6
- mov r12, r2
- movs r7, 0x1
- adds r2, r4, 0
- movs r5, 0x2
-_08093C86:
- mov r0, r12
- strb r0, [r4]
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- bgt _08093CA6
- adds r4, r2, 0
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08093CA6
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08093C86
-_08093CA6:
- movs r4, 0
- movs r7, 0x1
- adds r2, r6, 0
- mov r5, sp
- movs r3, 0x7
-_08093CB0:
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08093CC2
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- stm r5!, {r0,r1}
- adds r4, 0x1
-_08093CC2:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08093CB0
- cmp r4, 0x7
- bgt _08093CDE
- movs r1, 0
- lsls r0, r4, 3
- add r0, sp
-_08093CD4:
- strb r1, [r0]
- adds r0, 0x8
- adds r4, 0x1
- cmp r4, 0x7
- ble _08093CD4
-_08093CDE:
- mov r4, sp
- adds r2, r6, 0
- movs r3, 0x7
-_08093CE4:
- ldm r4!, {r0,r1}
- stm r2!, {r0,r1}
- subs r3, 0x1
- cmp r3, 0
- bge _08093CE4
- add sp, 0x40
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093C54
-
- thumb_func_start sub_8093CF8
-sub_8093CF8:
- push {r4-r7,lr}
- sub sp, 0x40
- adds r6, r0, 0
- lsls r0, r1, 3
- adds r0, r6
- movs r2, 0
- strb r2, [r0]
- adds r3, r1, 0x1
- cmp r3, 0x7
- bgt _08093D4A
- lsls r0, r3, 3
- adds r4, r6, r0
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093D4A
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08093D4A
- mov r12, r2
- movs r7, 0x1
- adds r2, r4, 0
- movs r5, 0x2
-_08093D2A:
- mov r0, r12
- strb r0, [r4]
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- bgt _08093D4A
- adds r4, r2, 0
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08093D4A
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08093D2A
-_08093D4A:
- movs r4, 0
- movs r7, 0x1
- adds r2, r6, 0
- mov r5, sp
- movs r3, 0x7
-_08093D54:
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08093D66
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- stm r5!, {r0,r1}
- adds r4, 0x1
-_08093D66:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08093D54
- cmp r4, 0x7
- bgt _08093D82
- movs r1, 0
- lsls r0, r4, 3
- add r0, sp
-_08093D78:
- strb r1, [r0]
- adds r0, 0x8
- adds r4, 0x1
- cmp r4, 0x7
- ble _08093D78
-_08093D82:
- mov r4, sp
- adds r2, r6, 0
- movs r3, 0x7
-_08093D88:
- ldm r4!, {r0,r1}
- stm r2!, {r0,r1}
- subs r3, 0x1
- cmp r3, 0
- bge _08093D88
- add sp, 0x40
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093CF8
-
- thumb_func_start sub_8093D9C
-sub_8093D9C:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r1, 16
- lsrs r1, 16
- mov r0, sp
- bl sub_8092A88
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8093DE8
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8093D9C
-
- thumb_func_start sub_8093DC4
-sub_8093DC4:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r2, 0
- adds r6, r3, 0
- mov r0, sp
- bl sub_8093F10
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8093DE8
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8093DC4
-
- thumb_func_start sub_8093DE8
-sub_8093DE8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _08093E80
- add sp, r4
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- mov r8, r3
- adds r0, r5, 0
- bl sub_80073B8
- ldr r0, _08093E84
- adds r1, r6, 0
- movs r2, 0
- bl sub_80928C0
- lsls r4, 3
- adds r4, 0x10
- ldr r2, _08093E88
- movs r7, 0
- str r7, [sp]
- adds r0, r4, 0
- movs r1, 0
- adds r3, r5, 0
- bl sub_8014FF0
- movs r3, 0x13
- ldrh r1, [r6, 0x2]
- ldr r4, _08093E8C
- ldr r2, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r2, [r0, 0x1C]
- ldrb r0, [r2]
- cmp r0, 0x2A
- bne _08093E3A
- movs r3, 0x10
- adds r2, 0x1
-_08093E3A:
- str r7, [sp]
- movs r0, 0x4
- adds r1, r3, 0
- adds r3, r5, 0
- bl sub_8014FF0
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8093E90
- adds r0, r5, 0
- bl sub_80073E0
- ldrh r1, [r6, 0x2]
- ldr r2, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, [r0, 0x1C]
- add r0, sp, 0x4
- bl strcpy
- add r0, sp, 0x4
- mov r1, r8
- bl sub_8097DF0
- movs r3, 0xC9
- lsls r3, 2
- add sp, r3
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08093E80: .4byte 0xfffffcdc
-_08093E84: .4byte gUnknown_202DF98
-_08093E88: .4byte gUnknown_8109930
-_08093E8C: .4byte gUnknown_2038C68
- thumb_func_end sub_8093DE8
-
- thumb_func_start sub_8093E90
-sub_8093E90:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- movs r0, 0x7
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x48
- movs r3, 0xC8
- bl sub_80078A4
- ldr r0, _08093F00
- adds r1, r6, 0
- bl sub_8092D54
- ldr r0, _08093F04
- ldr r2, [r0]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x4A
- adds r3, r5, 0
- bl sub_8014FF0
- ldr r0, _08093F08
- ldr r2, [r0]
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x56
- adds r3, r5, 0
- bl sub_8014FF0
- adds r0, r6, 0
- bl sub_8092B00
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092334
- adds r2, r0, 0
- str r4, [sp]
- movs r0, 0x40
- movs r1, 0x56
- adds r3, r5, 0
- bl sub_8014FF0
- adds r0, r6, 0
- bl sub_8092BC0
- ldr r1, _08093F0C
- str r0, [r1]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08093F00: .4byte gUnknown_202DF98
-_08093F04: .4byte gUnknown_810CF00
-_08093F08: .4byte gUnknown_810CF0C
-_08093F0C: .4byte gUnknown_202DE30
- thumb_func_end sub_8093E90
-
- thumb_func_start sub_8093F10
-sub_8093F10:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093F48
- movs r0, 0
- strb r1, [r3]
- strb r0, [r3, 0x1]
- ldrh r0, [r4, 0x2]
- strh r0, [r3, 0x2]
- ldrh r1, [r4, 0x2]
- ldr r0, _08093F44
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0xC]
- strb r0, [r3, 0x4]
- ldrb r0, [r4, 0x4]
- strb r0, [r3, 0x5]
- b _08093F4A
- .align 2, 0
-_08093F44: .4byte gUnknown_2038C68
-_08093F48:
- strb r0, [r3]
-_08093F4A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8093F10
-
- thumb_func_start sub_8093F50
-sub_8093F50:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r7, 0
- adds r3, r6, 0
- adds r4, r1, 0
- movs r5, 0x3
-_08093F5C:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093F8C
- strb r1, [r3]
- strb r7, [r3, 0x1]
- ldrh r0, [r4, 0x2]
- strh r0, [r3, 0x2]
- ldrh r1, [r4, 0x2]
- ldr r0, _08093F88
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0xC]
- strb r0, [r3, 0x4]
- ldrb r0, [r4, 0x4]
- strb r0, [r3, 0x5]
- b _08093F8E
- .align 2, 0
-_08093F88: .4byte gUnknown_2038C68
-_08093F8C:
- strb r0, [r3]
-_08093F8E:
- adds r3, 0x8
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _08093F5C
- adds r1, r6, 0
- adds r1, 0x20
- movs r0, 0
- strb r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093F50
-
- thumb_func_start sub_8093FA8
-sub_8093FA8:
- push {lr}
- adds r2, r0, 0
- movs r3, 0x3
-_08093FAE:
- ldrb r0, [r1]
- strb r0, [r2]
- ldrh r0, [r1, 0x2]
- strh r0, [r2, 0x2]
- ldrb r0, [r1, 0x5]
- strb r0, [r2, 0x4]
- adds r2, 0x8
- adds r1, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08093FAE
- pop {r0}
- bx r0
- thumb_func_end sub_8093FA8
-
- thumb_func_start sub_8093FC8
-sub_8093FC8:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r2, r1, 0
- movs r3, 0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08094002
- movs r7, 0xFB
- movs r6, 0x1
- adds r4, r2, 0
- adds r2, r5, 0
-_08093FE2:
- ldm r4!, {r0,r1}
- str r0, [r2]
- str r1, [r2, 0x4]
- ldrb r1, [r2, 0x1]
- adds r0, r7, 0
- ands r0, r1
- strb r0, [r2, 0x1]
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- bgt _08094002
- ldrb r1, [r4]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _08093FE2
-_08094002:
- cmp r3, 0x7
- bgt _08094016
- movs r1, 0
- lsls r0, r3, 3
- adds r0, r5
-_0809400C:
- strb r1, [r0]
- adds r0, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- ble _0809400C
-_08094016:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093FC8
-
- thumb_func_start sub_809401C
-sub_809401C:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r3, r1, 0
- movs r2, 0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08094046
- movs r6, 0x1
- adds r4, r5, 0
-_08094032:
- ldm r3!, {r0,r1}
- stm r4!, {r0,r1}
- adds r2, 0x1
- cmp r2, 0x3
- bgt _08094046
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _08094032
-_08094046:
- cmp r2, 0x7
- bgt _0809405A
- movs r1, 0
- lsls r0, r2, 3
- adds r0, r5
-_08094050:
- strb r1, [r0]
- adds r0, 0x8
- adds r2, 0x1
- cmp r2, 0x7
- ble _08094050
-_0809405A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_809401C
-
- thumb_func_start sub_8094060
-sub_8094060:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- movs r4, 0
- movs r5, 0
- adds r3, r6, 0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08094084
-_08094076:
- lsls r2, r4, 3
- adds r2, r7, r2
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- adds r4, 0x1
-_08094084:
- adds r5, 0x1
- cmp r5, 0x7
- bgt _0809409C
- lsls r0, r5, 3
- adds r3, r6, r0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08094084
- cmp r4, 0x3
- ble _08094076
-_0809409C:
- cmp r4, 0x3
- bgt _080940B0
- movs r1, 0
- lsls r0, r4, 3
- adds r0, r7
-_080940A6:
- strb r1, [r0]
- adds r0, 0x8
- adds r4, 0x1
- cmp r4, 0x3
- ble _080940A6
-_080940B0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8094060
-
- thumb_func_start sub_80940B8
-sub_80940B8:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r5, 0x2
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_809488C
- adds r5, 0x4
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80940B8
-
- thumb_func_start sub_80940E0
-sub_80940E0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r5, 0x2
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_8094924
- adds r5, 0x4
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80940E0
-
- thumb_func_start sub_8094108
-sub_8094108:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r5, 0x3
-_08094110:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80940B8
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _08094110
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8094108
-
- thumb_func_start sub_8094128
-sub_8094128:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r5, 0x3
-_08094130:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80940E0
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _08094130
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8094128
-
- thumb_func_start sub_8094148
-sub_8094148:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r4, 0x1
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_809488C
- adds r1, r4, 0x2
- adds r0, r5, 0
- movs r2, 0x9
- bl sub_809488C
- adds r1, r4, 0x4
- adds r0, r5, 0
- movs r2, 0x7
- bl sub_809488C
- adds r4, 0x5
- 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_8094148
-
- thumb_func_start sub_8094184
-sub_8094184:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r4, r7, 0
- movs r5, 0x3
-_0809418E:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8094148
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _0809418E
- adds r1, r7, 0
- adds r1, 0x20
- adds r0, r6, 0
- movs r2, 0x8
- bl sub_809488C
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8094184
-
- thumb_func_start sub_80941B0
-sub_80941B0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x8
- bl memset
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r4, 0x1
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8094924
- adds r1, r4, 0x2
- adds r0, r5, 0
- movs r2, 0x9
- bl sub_8094924
- adds r1, r4, 0x4
- adds r0, r5, 0
- movs r2, 0x7
- bl sub_8094924
- adds r4, 0x5
- 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_80941B0
-
- thumb_func_start sub_80941FC
-sub_80941FC:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r4, r7, 0
- movs r5, 0x3
-_08094206:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80941B0
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _08094206
- adds r1, r7, 0
- adds r1, 0x20
- movs r0, 0
- strb r0, [r1]
- adds r0, r6, 0
- movs r2, 0x8
- bl sub_8094924
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80941FC
-
- thumb_func_start sub_809422C
-sub_809422C:
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- cmp r1, 0x97
- beq _08094260
- cmp r1, 0x64
- beq _08094260
- cmp r1, 0x3C
- beq _08094260
- cmp r1, 0x4B
- beq _08094260
- movs r0, 0xAE
- lsls r0, 1
- cmp r1, r0
- beq _08094260
- cmp r1, 0x99
- beq _08094260
- cmp r1, 0xCD
- beq _08094260
- cmp r1, 0x9C
- beq _08094260
- cmp r2, 0x8
- beq _08094260
- movs r0, 0
- b _08094262
-_08094260:
- movs r0, 0x1
-_08094262:
- pop {r1}
- bx r1
- thumb_func_end sub_809422C
-
- thumb_func_start sub_8094268
-sub_8094268:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r3, r1, 0
- asrs r0, r3, 16
- asrs r1, r2, 16
- adds r0, r1
- lsls r0, 16
- ldr r6, _080942B0
- ands r3, r6
- orrs r3, r0
- adds r2, r3, r2
- lsls r2, 16
- lsrs r2, 16
- ldr r4, _080942B4
- ands r3, r4
- orrs r3, r2
- asrs r1, r3, 16
- ldr r0, _080942B8
- cmp r1, r0
- ble _080942A6
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- ands r3, r4
- orrs r3, r0
- asrs r0, r3, 16
- ldr r1, _080942BC
- adds r0, r1
- lsls r0, 16
- ands r3, r6
- orrs r3, r0
-_080942A6:
- str r3, [r5]
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080942B0: .4byte 0x0000ffff
-_080942B4: .4byte 0xffff0000
-_080942B8: .4byte 0x000003e7
-_080942BC: .4byte 0xfffffc18
- thumb_func_end sub_8094268
-
- thumb_func_start sub_80942C0
-sub_80942C0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r3, r1, 0
- asrs r0, r3, 16
- asrs r1, r2, 16
- subs r0, r1
- lsls r0, 16
- ldr r4, _08094310
- ands r3, r4
- orrs r3, r0
- subs r2, r3, r2
- lsls r2, 16
- lsrs r2, 16
- ldr r1, _08094314
- ands r3, r1
- orrs r3, r2
- cmp r3, 0
- bge _080942FC
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- ands r3, r1
- orrs r3, r0
- asrs r0, r3, 16
- movs r2, 0xFA
- lsls r2, 2
- adds r0, r2
- lsls r0, 16
- ands r3, r4
- orrs r3, r0
-_080942FC:
- lsls r0, r3, 16
- cmp r0, 0
- bge _08094304
- movs r3, 0
-_08094304:
- str r3, [r5]
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08094310: .4byte 0x0000ffff
-_08094314: .4byte 0xffff0000
- thumb_func_end sub_80942C0
-
- thumb_func_start sub_8094318
-sub_8094318:
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r0, r3, 16
- asrs r1, r0, 16
- lsls r0, r2, 16
- asrs r0, 16
- cmp r1, r0
- bgt _08094336
- cmp r1, r0
- blt _0809433A
- asrs r1, r3, 16
- asrs r0, r2, 16
- cmp r1, r0
- ble _0809433A
-_08094336:
- str r2, [r4]
- b _0809433C
-_0809433A:
- str r3, [r4]
-_0809433C:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094318
-
- thumb_func_start sub_8094344
-sub_8094344:
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r0, r3, 16
- asrs r1, r0, 16
- lsls r0, r2, 16
- asrs r0, 16
- cmp r1, r0
- bgt _08094362
- cmp r1, r0
- blt _08094366
- asrs r1, r3, 16
- asrs r0, r2, 16
- cmp r1, r0
- ble _08094366
-_08094362:
- str r3, [r4]
- b _08094368
-_08094366:
- str r2, [r4]
-_08094368:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094344
-
- thumb_func_start sub_8094370
-sub_8094370:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 16
- lsls r2, 16
- ldr r4, _08094398
- lsrs r3, r1, 16
- orrs r3, r2
- asrs r2, 16
- ldr r1, _0809439C
- asrs r0, r1, 16
- cmp r2, r0
- ble _0809438C
- ands r3, r4
- orrs r3, r1
-_0809438C:
- str r3, [r5]
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08094398: .4byte 0x0000ffff
-_0809439C: .4byte 0x03e70000
- thumb_func_end sub_8094370
-
- thumb_func_start sub_80943A0
-sub_80943A0:
- lsls r1, 16
- lsrs r2, r1, 16
- str r2, [r0]
- bx lr
- thumb_func_end sub_80943A0
-
- thumb_func_start sub_80943A8
-sub_80943A8:
- push {r4,r5,lr}
- ldr r3, [r1, 0x4]
- lsrs r2, r3, 16
- ldr r1, _080943D4
- ands r5, r1
- orrs r5, r2
- ldr r4, _080943D8
- adds r2, r4, 0
- ands r2, r3
- lsls r1, r2, 5
- subs r1, r2
- lsls r1, 2
- adds r1, r2
- lsls r1, 3
- lsrs r1, 16
- lsls r1, 16
- ands r5, r4
- orrs r5, r1
- str r5, [r0]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080943D4: .4byte 0xffff0000
-_080943D8: .4byte 0x0000ffff
- thumb_func_end sub_80943A8
-
- thumb_func_start sub_80943DC
-sub_80943DC:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- lsls r1, r4, 16
- asrs r1, 16
- lsls r0, r1, 5
- subs r0, r1
- lsls r0, 2
- adds r0, r1
- lsls r0, 3
- asrs r1, r4, 16
- adds r0, r1
- lsls r3, r2, 16
- asrs r3, 16
- lsls r1, r3, 5
- subs r1, r3
- lsls r1, 2
- adds r1, r3
- lsls r1, 3
- asrs r2, 16
- adds r1, r2
- muls r0, r1
- movs r5, 0xFA
- lsls r5, 2
- adds r1, r5, 0
- bl __divsi3
- adds r6, r0, 0
- adds r1, r5, 0
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08094448
- ands r4, r1
- orrs r4, r0
- adds r0, r6, 0
- adds r1, r5, 0
- bl __modsi3
- lsls r0, 16
- ldr r1, _0809444C
- ands r1, r4
- orrs r0, r1
- mov r1, r8
- str r0, [r1]
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08094448: .4byte 0xffff0000
-_0809444C: .4byte 0x0000ffff
- thumb_func_end sub_80943DC
-
- thumb_func_start sub_8094450
-sub_8094450:
- push {lr}
- adds r1, r0, 0
- lsls r0, r1, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _0809446A
- asrs r0, r1, 16
- cmp r0, 0
- bne _08094466
- movs r0, 0
- b _08094476
-_08094466:
- movs r0, 0x1
- b _08094476
-_0809446A:
- asrs r0, r1, 16
- cmp r0, 0
- bne _08094474
- adds r0, r2, 0
- b _08094476
-_08094474:
- adds r0, r2, 0x1
-_08094476:
- pop {r1}
- bx r1
- thumb_func_end sub_8094450
-
- thumb_func_start sub_809447C
-sub_809447C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x10
- bl sub_8094924
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809447C
-
- thumb_func_start sub_809449C
-sub_809449C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x10
- bl sub_809488C
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809449C
-
- thumb_func_start sub_80944BC
-sub_80944BC:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r1, 0
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, _080944F4
- cmp r1, r0
- bgt _08094500
- lsls r1, 16
- lsrs r1, 16
- mov r0, sp
- bl sub_8092AA8
- ldr r0, _080944F8
- mov r1, sp
- movs r2, 0
- bl sub_80928C0
- ldr r0, _080944FC
- ldr r0, [r0]
- adds r2, r4, 0
- adds r2, 0xC8
- adds r1, r4, 0
- movs r3, 0
- bl xxx_format_string
- b _08094516
- .align 2, 0
-_080944F4: .4byte 0x000001f3
-_080944F8: .4byte gUnknown_202DE58
-_080944FC: .4byte gUnknown_811383C
-_08094500:
- ldr r0, _08094520
- ldr r2, _08094524
- adds r1, r2
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r4, 0
- movs r2, 0xC8
- bl strncpy
-_08094516:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08094520: .4byte gUnknown_8113080
-_08094524: .4byte 0xfffffe0c
- thumb_func_end sub_80944BC
-
- thumb_func_start sub_8094528
-sub_8094528:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, _08094544
- cmp r1, r0
- ble _08094550
- ldr r0, _08094548
- ldr r2, _0809454C
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1]
- b _08094552
- .align 2, 0
-_08094544: .4byte 0x000001f3
-_08094548: .4byte gUnknown_8113080
-_0809454C: .4byte 0xfffffe0c
-_08094550:
- movs r0, 0x1
-_08094552:
- pop {r1}
- bx r1
- thumb_func_end sub_8094528
-
- thumb_func_start sub_8094558
-sub_8094558:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xCC
- adds r7, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- bl sub_80073B8
- movs r5, 0
- str r5, [sp]
- movs r0, 0x10
- movs r1, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_8014FF0
- ldr r4, _080945D0
- adds r1, r6, 0
- adds r1, 0x18
- adds r0, r4, 0
- bl sub_8090208
- ldr r0, _080945D4
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- movs r1, 0x10
- adds r3, r7, 0
- bl sub_8014FF0
- movs r5, 0x1A
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0xA
- bl sub_80922B4
- adds r4, 0x50
- adds r1, r6, 0
- adds r1, 0xA
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_80922B4
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- bl sub_8094528
- lsls r0, 24
- cmp r0, 0
- beq _080945DC
- ldr r0, _080945D8
- ldr r0, [r0]
- add r2, sp, 0xCC
- add r1, sp, 0x4
- movs r3, 0
- bl xxx_format_string
- b _080945EA
- .align 2, 0
-_080945D0: .4byte gUnknown_202DF98
-_080945D4: .4byte gUnknown_8113850
-_080945D8: .4byte gUnknown_8113868
-_080945DC:
- ldr r0, _0809465C
- ldr r0, [r0]
- add r2, sp, 0xCC
- add r1, sp, 0x4
- movs r3, 0
- bl xxx_format_string
-_080945EA:
- add r0, sp, 0x4
- bl sub_8008ED0
- movs r4, 0xB0
- subs r0, r4, r0
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0
- mov r8, r1
- str r1, [sp]
- adds r1, r5, 0
- add r2, sp, 0x4
- adds r3, r7, 0
- bl sub_8014FF0
- adds r5, 0xA
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- add r1, sp, 0x4
- bl sub_80944BC
- add r0, sp, 0x4
- bl sub_8008ED0
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r0, r4, 1
- mov r1, r8
- str r1, [sp]
- adds r1, r5, 0
- add r2, sp, 0x4
- adds r3, r7, 0
- bl sub_8014FF0
- adds r5, 0x10
- ldr r1, _08094660
- ldr r0, [r6, 0x20]
- str r0, [r1]
- adds r0, r6, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- str r0, [r1, 0x4]
- cmp r0, 0x63
- ble _08094668
- ldr r0, _08094664
- ldr r2, [r0]
- mov r0, r8
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- b _0809467A
- .align 2, 0
-_0809465C: .4byte gUnknown_8113870
-_08094660: .4byte gUnknown_202DE30
-_08094664: .4byte gUnknown_81138C0
-_08094668:
- ldr r0, _080946CC
- ldr r2, [r0]
- mov r1, r8
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
-_0809467A:
- adds r5, 0xA
- ldr r4, _080946D0
- movs r1, 0x24
- ldrsh r0, [r6, r1]
- str r0, [r4]
- ldr r0, _080946D4
- ldr r2, [r0]
- movs r0, 0
- mov r8, r0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- adds r5, 0xA
- adds r0, r6, 0
- adds r0, 0x26
- ldrb r2, [r0]
- str r2, [r4]
- adds r0, 0x2
- ldrb r0, [r0]
- str r0, [r4, 0x4]
- adds r0, r6, 0
- adds r0, 0x2B
- ldrb r1, [r0]
- cmp r1, 0
- beq _080946DC
- adds r0, r1, 0
- adds r0, r2, r0
- str r0, [r4]
- ldr r0, _080946D8
- ldr r2, [r0]
- mov r1, r8
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- b _080946EC
- .align 2, 0
-_080946CC: .4byte gUnknown_8113898
-_080946D0: .4byte gUnknown_202DE30
-_080946D4: .4byte gUnknown_81138D0
-_080946D8: .4byte gUnknown_8113950
-_080946DC:
- ldr r0, _08094714
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
-_080946EC:
- adds r0, r6, 0
- adds r0, 0x2D
- ldrb r1, [r0]
- cmp r1, 0
- beq _08094720
- ldr r2, _08094718
- ldr r0, [r2, 0x4]
- adds r0, r1
- str r0, [r2, 0x4]
- ldr r0, _0809471C
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- b _08094730
- .align 2, 0
-_08094714: .4byte gUnknown_81138E4
-_08094718: .4byte gUnknown_202DE30
-_0809471C: .4byte gUnknown_8113974
-_08094720:
- ldr r0, _08094768
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
-_08094730:
- adds r5, 0xA
- ldr r2, _0809476C
- adds r0, r6, 0
- adds r0, 0x27
- ldrb r3, [r0]
- str r3, [r2]
- adds r0, 0x2
- ldrb r0, [r0]
- str r0, [r2, 0x4]
- adds r0, r6, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- cmp r1, 0
- beq _08094774
- adds r0, r1, 0
- adds r0, r3, r0
- str r0, [r2]
- ldr r0, _08094770
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- b _08094784
- .align 2, 0
-_08094768: .4byte gUnknown_8113900
-_0809476C: .4byte gUnknown_202DE30
-_08094770: .4byte gUnknown_8113990
-_08094774:
- ldr r0, _080947AC
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
-_08094784:
- adds r0, r6, 0
- adds r0, 0x2E
- ldrb r1, [r0]
- cmp r1, 0
- beq _080947B8
- ldr r2, _080947B0
- ldr r0, [r2, 0x4]
- adds r0, r1
- str r0, [r2, 0x4]
- ldr r0, _080947B4
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- b _080947C8
- .align 2, 0
-_080947AC: .4byte gUnknown_8113918
-_080947B0: .4byte gUnknown_202DE30
-_080947B4: .4byte gUnknown_81139B4
-_080947B8:
- ldr r0, _080947E4
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
-_080947C8:
- adds r5, 0x10
- adds r2, r6, 0
- adds r2, 0x1C
- ldrb r1, [r6, 0x1C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080947EC
- ldr r0, _080947E8
- adds r1, r2, 0
- movs r2, 0
- bl sub_8090E14
- b _080947F6
- .align 2, 0
-_080947E4: .4byte gUnknown_8113934
-_080947E8: .4byte gUnknown_202DE58
-_080947EC:
- ldr r0, _0809481C
- ldr r1, _08094820
- ldr r1, [r1]
- bl strcpy
-_080947F6:
- ldr r0, _08094824
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- adds r0, r7, 0
- bl sub_80073E0
- add sp, 0xCC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809481C: .4byte gUnknown_202DE58
-_08094820: .4byte gUnknown_81139B8
-_08094824: .4byte gUnknown_81139CC
- thumb_func_end sub_8094558
-
- thumb_func_start sub_8094828
-sub_8094828:
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 24
- lsrs r0, r1, 24
- cmp r0, 0
- beq _08094852
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bne _0809484C
- ldr r0, _08094848
- b _08094856
- .align 2, 0
-_08094848: .4byte 0x00000223
-_0809484C:
- movs r0, 0x89
- lsls r0, 2
- b _08094856
-_08094852:
- lsls r0, r2, 16
- asrs r0, 16
-_08094856:
- pop {r1}
- bx r1
- thumb_func_end sub_8094828
-
- thumb_func_start sub_809485C
-sub_809485C:
- str r1, [r0]
- movs r3, 0
- str r3, [r0, 0x8]
- str r3, [r0, 0xC]
- adds r1, r2
- str r1, [r0, 0x4]
- bx lr
- thumb_func_end sub_809485C
-
- thumb_func_start sub_809486C
-sub_809486C:
- push {lr}
- str r1, [r0]
- movs r3, 0
- str r3, [r0, 0x8]
- str r3, [r0, 0xC]
- adds r3, r1, r2
- str r3, [r0, 0x4]
- adds r0, r1, 0
- adds r1, r2, 0
- bl MemoryClear8
- pop {r0}
- bx r0
- thumb_func_end sub_809486C
-
- thumb_func_start nullsub_102
-nullsub_102:
- bx lr
- thumb_func_end nullsub_102
-
- thumb_func_start sub_809488C
-sub_809488C:
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r4, r2, 0
- movs r5, 0
- adds r6, r1, 0
- cmp r4, 0
- beq _080948DE
- movs r7, 0x1
-_0809489C:
- ldrb r0, [r6]
- asrs r0, r5
- ands r0, r7
- cmp r0, 0
- beq _080948B4
- ldr r2, [r3]
- ldr r1, [r3, 0x8]
- adds r0, r7, 0
- lsls r0, r1
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
-_080948B4:
- adds r5, 0x1
- cmp r5, 0x8
- bne _080948BE
- adds r6, 0x1
- movs r5, 0
-_080948BE:
- ldr r0, [r3, 0x8]
- adds r0, 0x1
- str r0, [r3, 0x8]
- cmp r0, 0x8
- bne _080948D2
- ldr r0, [r3]
- adds r0, 0x1
- str r0, [r3]
- movs r0, 0
- str r0, [r3, 0x8]
-_080948D2:
- ldr r0, [r3, 0xC]
- adds r0, 0x1
- str r0, [r3, 0xC]
- subs r4, 0x1
- cmp r4, 0
- bne _0809489C
-_080948DE:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809488C
-
- thumb_func_start sub_80948E4
-sub_80948E4:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r2, 0
- adds r6, r1, 0
- cmp r5, 0
- beq _0809491C
-_080948F0:
- ldrb r1, [r6]
- ldr r0, [r4, 0x8]
- lsls r1, r0
- ldr r3, [r4]
- ldrb r2, [r3]
- adds r0, r1, 0
- orrs r0, r2
- strb r0, [r3]
- ldr r2, [r4]
- adds r0, r2, 0x1
- str r0, [r4]
- asrs r1, 8
- ldrb r0, [r2, 0x1]
- orrs r1, r0
- strb r1, [r2, 0x1]
- adds r6, 0x1
- ldr r0, [r4, 0xC]
- adds r0, 0x8
- str r0, [r4, 0xC]
- subs r5, 0x1
- cmp r5, 0
- bne _080948F0
-_0809491C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80948E4
-
- thumb_func_start sub_8094924
-sub_8094924:
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r5, r2, 0
- movs r6, 0
- adds r2, r1, 0
- cmp r5, 0
- beq _08094978
-_08094932:
- cmp r6, 0
- bne _08094938
- strb r6, [r2]
-_08094938:
- ldr r7, [r3]
- ldrb r0, [r7]
- ldr r4, [r3, 0x8]
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08094952
- adds r0, r1, 0
- lsls r0, r6
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
-_08094952:
- adds r6, 0x1
- cmp r6, 0x8
- bne _0809495C
- adds r2, 0x1
- movs r6, 0
-_0809495C:
- adds r0, r4, 0x1
- str r0, [r3, 0x8]
- cmp r0, 0x8
- bne _0809496C
- adds r0, r7, 0x1
- str r0, [r3]
- movs r0, 0
- str r0, [r3, 0x8]
-_0809496C:
- ldr r0, [r3, 0xC]
- adds r0, 0x1
- str r0, [r3, 0xC]
- subs r5, 0x1
- cmp r5, 0
- bne _08094932
-_08094978:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8094924
-
- thumb_func_start sub_8094980
-sub_8094980:
- ldr r1, _08094988
- ldr r0, _0809498C
- str r0, [r1]
- bx lr
- .align 2, 0
-_08094988: .4byte gUnknown_203B46C
-_0809498C: .4byte gUnknown_2038C70
- thumb_func_end sub_8094980
-
- thumb_func_start sub_8094990
-sub_8094990:
- ldr r0, _08094994
- bx lr
- .align 2, 0
-_08094994: .4byte gUnknown_2038C70
- thumb_func_end sub_8094990
-
- thumb_func_start sub_8094998
-sub_8094998:
- push {lr}
- lsls r0, 24
- ldr r2, _080949D8
- ldr r1, [r2]
- movs r3, 0
- strb r3, [r1, 0x8]
- cmp r0, 0
- beq _080949AC
- ldr r0, [r2]
- strb r3, [r0, 0xB]
-_080949AC:
- ldr r0, [r2]
- strb r3, [r0, 0x9]
- ldr r0, [r2]
- strb r3, [r0, 0xA]
- ldr r0, [r2]
- strb r3, [r0]
- ldr r0, [r2]
- movs r1, 0x1
- strb r1, [r0, 0x1]
- ldr r0, [r2]
- strb r1, [r0, 0x2]
- ldr r0, [r2]
- strb r1, [r0, 0x3]
- ldr r0, [r2]
- strb r1, [r0, 0x4]
- ldr r0, [r2]
- strb r3, [r0, 0xC]
- bl sub_8094C14
- pop {r0}
- bx r0
- .align 2, 0
-_080949D8: .4byte gUnknown_203B46C
- thumb_func_end sub_8094998
-
- thumb_func_start sub_80949DC
-sub_80949DC:
- push {lr}
- adds r2, r0, 0
- ldr r0, _08094A38
- ldr r1, [r0]
- ldrb r0, [r1, 0x8]
- ldrb r3, [r2, 0x8]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x9]
- ldrb r3, [r2, 0x9]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0xA]
- ldrb r3, [r2, 0xA]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0xB]
- ldrb r3, [r2, 0xB]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1]
- ldrb r3, [r2]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x1]
- ldrb r3, [r2, 0x1]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x2]
- ldrb r3, [r2, 0x2]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x3]
- ldrb r3, [r2, 0x3]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x4]
- ldrb r3, [r2, 0x4]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0xC]
- ldrb r2, [r2, 0xC]
- cmp r0, r2
- bne _08094A3C
- movs r0, 0x1
- b _08094A3E
- .align 2, 0
-_08094A38: .4byte gUnknown_203B46C
-_08094A3C:
- movs r0, 0
-_08094A3E:
- pop {r1}
- bx r1
- thumb_func_end sub_80949DC
-
- thumb_func_start sub_8094A44
-sub_8094A44:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0xFF
- mov r0, sp
- strb r1, [r0]
- mov r7, sp
- adds r7, 0x1
- movs r0, 0
- strb r0, [r7]
- ldr r5, _08094B14
- ldr r1, [r5]
- adds r1, 0x8
- adds r0, r4, 0
- movs r2, 0x2
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0x9]
- mov r1, sp
- adds r6, r7, 0
- cmp r0, 0
- bne _08094A74
- adds r1, r6, 0
-_08094A74:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0xA]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094A88
- mov r1, sp
-_08094A88:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0xB]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094A9C
- mov r1, sp
-_08094A9C:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094AB0
- mov r1, sp
-_08094AB0:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094AC4
- mov r1, sp
-_08094AC4:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0x2]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094AD8
- mov r1, sp
-_08094AD8:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0x3]
- adds r1, r7, 0
- cmp r0, 0
- beq _08094AEC
- mov r1, sp
-_08094AEC:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r1, [r5]
- adds r1, 0x4
- adds r0, r4, 0
- movs r2, 0x3
- bl sub_809488C
- ldr r1, [r5]
- adds r1, 0xC
- adds r0, r4, 0
- movs r2, 0x2
- bl sub_809488C
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08094B14: .4byte gUnknown_203B46C
- thumb_func_end sub_8094A44
-
- thumb_func_start sub_8094B18
-sub_8094B18:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r6, r0, 0
- mov r1, sp
- movs r2, 0x2
- bl sub_8094924
- ldr r5, _08094C10
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0x3
- mov r8, r0
- ands r0, r1
- strb r0, [r2, 0x8]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0x9]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0xA]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0xB]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0x1]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0x2]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r1, [r5]
- mov r0, sp
- ldrb r0, [r0]
- ands r4, r0
- strb r4, [r1, 0x3]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x3
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0x7
- ands r0, r1
- strb r0, [r2, 0x4]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x2
- bl sub_8094924
- ldr r1, [r5]
- mov r0, sp
- ldrb r0, [r0]
- mov r2, r8
- ands r2, r0
- strb r2, [r1, 0xC]
- bl sub_8094C14
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08094C10: .4byte gUnknown_203B46C
- thumb_func_end sub_8094B18
-
- thumb_func_start sub_8094C14
-sub_8094C14:
- push {r4,lr}
- sub sp, 0x10
- mov r1, sp
- ldr r0, _08094C40
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, _08094C44
- ldr r0, [r0]
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- bl sub_80099F0
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08094C40: .4byte gUnknown_8109954
-_08094C44: .4byte gUnknown_203B46C
- thumb_func_end sub_8094C14
-
- thumb_func_start sub_8094C48
-sub_8094C48:
- push {lr}
- ldr r0, _08094C5C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08094C60
- cmp r0, 0x3
- beq _08094C60
- movs r0, 0x1
- b _08094C62
- .align 2, 0
-_08094C5C: .4byte gUnknown_203B46C
-_08094C60:
- movs r0, 0
-_08094C62:
- pop {r1}
- bx r1
- thumb_func_end sub_8094C48
-
- thumb_func_start sub_8094C68
-sub_8094C68:
- push {lr}
- ldr r0, _08094C7C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0x2
- beq _08094C80
- cmp r0, 0x5
- beq _08094C80
- movs r0, 0x1
- b _08094C82
- .align 2, 0
-_08094C7C: .4byte gUnknown_203B46C
-_08094C80:
- movs r0, 0
-_08094C82:
- pop {r1}
- bx r1
- thumb_func_end sub_8094C68
-
- thumb_func_start sub_8094C88
-sub_8094C88:
- push {lr}
- ldr r0, _08094C98
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- cmp r0, 0x2
- bhi _08094C9C
- movs r0, 0x1
- b _08094CA8
- .align 2, 0
-_08094C98: .4byte gUnknown_203B46C
-_08094C9C:
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _08094CAA
- movs r0, 0x4
-_08094CA8:
- strb r0, [r1, 0x4]
-_08094CAA:
- pop {r0}
- bx r0
- thumb_func_end sub_8094C88
-
- thumb_func_start sub_8094CB0
-sub_8094CB0:
- ldr r1, _08094CBC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CBC: .4byte 0x0000ffff
- thumb_func_end sub_8094CB0
-
- thumb_func_start sub_8094CC0
-sub_8094CC0:
- ldr r1, _08094CCC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CCC: .4byte 0x0000ffff
- thumb_func_end sub_8094CC0
-
- thumb_func_start sub_8094CD0
-sub_8094CD0:
- ldr r1, _08094CDC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CDC: .4byte 0x0000ffff
- thumb_func_end sub_8094CD0
-
- thumb_func_start sub_8094CE0
-sub_8094CE0:
- ldr r1, _08094CEC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CEC: .4byte 0x0000ffff
- thumb_func_end sub_8094CE0
-
- thumb_func_start sub_8094CF0
-sub_8094CF0:
- ldr r1, _08094CFC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CFC: .4byte 0x0000ffff
- thumb_func_end sub_8094CF0
-
- thumb_func_start sub_8094D00
-sub_8094D00:
- ldr r1, _08094D0C
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094D0C: .4byte 0x0000ffff
- thumb_func_end sub_8094D00
-
- thumb_func_start sub_8094D10
-sub_8094D10:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D10
-
- thumb_func_start sub_8094D14
-sub_8094D14:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D14
-
- thumb_func_start sub_8094D18
-sub_8094D18:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D18
-
- thumb_func_start sub_8094D1C
-sub_8094D1C:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D1C
-
- thumb_func_start sub_8094D20
-sub_8094D20:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D20
-
- thumb_func_start sub_8094D24
-sub_8094D24:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D24
-
- thumb_func_start sub_8094D28
-sub_8094D28:
- push {r4-r7,lr}
- ldr r2, _08094D64
- str r0, [r2]
- ldr r1, _08094D68
- movs r0, 0x1
- str r0, [r1]
- ldr r7, _08094D6C
- adds r5, r2, 0
- adds r4, r1, 0
- ldr r6, _08094D70
-_08094D3C:
- ldr r2, [r4]
- lsls r3, r2, 2
- adds r3, r5
- subs r0, r2, 0x1
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- lsrs r1, r0, 30
- eors r0, r1
- muls r0, r6
- adds r0, r2
- str r0, [r3]
- adds r2, 0x1
- str r2, [r4]
- cmp r2, r7
- ble _08094D3C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08094D64: .4byte gUnknown_3001198
-_08094D68: .4byte gUnknown_203B470
-_08094D6C: .4byte 0x0000026f
-_08094D70: .4byte 0x6c078965
- thumb_func_end sub_8094D28
-
- thumb_func_start sub_8094D74
-sub_8094D74:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- adds r7, r1, 0
- ldr r0, _08094E34
- bl sub_8094D28
- movs r4, 0x1
- movs r5, 0
- adds r3, r7, 0
- movs r0, 0x9C
- lsls r0, 2
- cmp r3, r0
- bge _08094D96
- adds r3, r0, 0
-_08094D96:
- ldr r6, _08094E38
- cmp r3, 0
- beq _08094DE2
- mov r9, r6
- ldr r0, _08094E3C
- adds r0, r6
- mov r12, r0
- adds r2, r6, 0
-_08094DA6:
- ldr r1, [r2]
- lsrs r0, r1, 30
- eors r1, r0
- ldr r0, _08094E40
- muls r0, r1
- ldr r1, [r2, 0x4]
- eors r1, r0
- lsls r0, r5, 2
- add r0, r8
- ldr r0, [r0]
- adds r1, r0
- adds r1, r5
- str r1, [r2, 0x4]
- adds r2, 0x4
- adds r4, 0x1
- adds r5, 0x1
- ldr r0, _08094E44
- cmp r4, r0
- ble _08094DD6
- mov r1, r12
- ldr r0, [r1]
- str r0, [r6]
- mov r2, r9
- movs r4, 0x1
-_08094DD6:
- cmp r5, r7
- blt _08094DDC
- movs r5, 0
-_08094DDC:
- subs r3, 0x1
- cmp r3, 0
- bne _08094DA6
-_08094DE2:
- ldr r3, _08094E44
- ldr r5, _08094E38
- ldr r0, _08094E3C
- adds r0, r5
- mov r8, r0
- lsls r0, r4, 2
- subs r0, 0x4
- adds r2, r0, r5
- ldr r1, _08094E48
- mov r12, r1
- adds r7, r3, 0
-_08094DF8:
- ldr r0, [r2]
- lsrs r1, r0, 30
- eors r0, r1
- mov r1, r12
- muls r1, r0
- ldr r0, [r2, 0x4]
- eors r0, r1
- subs r0, r4
- str r0, [r2, 0x4]
- adds r2, 0x4
- adds r4, 0x1
- cmp r4, r7
- ble _08094E1C
- mov r1, r8
- ldr r0, [r1]
- str r0, [r6]
- adds r2, r5, 0
- movs r4, 0x1
-_08094E1C:
- subs r3, 0x1
- cmp r3, 0
- bne _08094DF8
- movs r0, 0x80
- lsls r0, 24
- str r0, [r6]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08094E34: .4byte 0x012bd6aa
-_08094E38: .4byte gUnknown_3001198
-_08094E3C: .4byte 0x000009bc
-_08094E40: .4byte 0x0019660d
-_08094E44: .4byte 0x0000026f
-_08094E48: .4byte 0x5d588b65
- thumb_func_end sub_8094D74
-
- thumb_func_start sub_8094E4C
-sub_8094E4C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _08094F54
- ldr r2, [r0]
- ldr r1, _08094F58
- mov r8, r0
- cmp r2, r1
- ble _08094F1C
- ldr r0, _08094F5C
- cmp r2, r0
- bne _08094E6C
- ldr r0, _08094F60
- bl sub_8094D28
-_08094E6C:
- movs r3, 0
- ldr r0, _08094F64
- mov r9, r0
- ldr r7, _08094F68
- mov r12, r9
- adds r5, r7, 0
-_08094E78:
- ldr r4, [r5]
- movs r6, 0x80
- lsls r6, 24
- ands r4, r6
- ldr r0, [r5, 0x4]
- ldr r1, _08094F6C
- ands r0, r1
- orrs r4, r0
- ldr r1, _08094F70
- adds r0, r3, r1
- lsls r0, 2
- adds r0, r7
- lsrs r2, r4, 1
- ldr r1, [r0]
- eors r1, r2
- movs r0, 0x1
- ands r4, r0
- lsls r0, r4, 2
- add r0, r12
- ldr r0, [r0]
- eors r1, r0
- stm r5!, {r1}
- adds r3, 0x1
- cmp r3, 0xE2
- ble _08094E78
- ldr r5, _08094F74
- cmp r3, r5
- bgt _08094EE6
- ldr r1, _08094F68
- ldr r4, _08094F64
- mov r12, r4
- lsls r0, r3, 2
- adds r2, r0, r1
- ldr r4, _08094F78
- adds r0, r4
- adds r7, r0, r1
-_08094EC0:
- ldr r4, [r2]
- ands r4, r6
- ldr r0, [r2, 0x4]
- ldr r1, _08094F6C
- ands r0, r1
- orrs r4, r0
- lsrs r0, r4, 1
- ldm r7!, {r1}
- eors r1, r0
- movs r0, 0x1
- ands r4, r0
- lsls r0, r4, 2
- add r0, r12
- ldr r0, [r0]
- eors r1, r0
- stm r2!, {r1}
- adds r3, 0x1
- cmp r3, r5
- ble _08094EC0
-_08094EE6:
- ldr r2, _08094F68
- ldr r0, _08094F7C
- adds r3, r2, r0
- ldr r4, [r3]
- movs r0, 0x80
- lsls r0, 24
- ands r4, r0
- ldr r0, [r2]
- ldr r1, _08094F6C
- ands r0, r1
- orrs r4, r0
- movs r1, 0xC6
- lsls r1, 3
- adds r2, r1
- lsrs r0, r4, 1
- ldr r1, [r2]
- eors r1, r0
- movs r0, 0x1
- ands r4, r0
- lsls r0, r4, 2
- add r0, r9
- ldr r0, [r0]
- eors r1, r0
- str r1, [r3]
- movs r0, 0
- mov r4, r8
- str r0, [r4]
-_08094F1C:
- ldr r2, _08094F68
- mov r0, r8
- ldr r1, [r0]
- lsls r0, r1, 2
- adds r0, r2
- ldr r4, [r0]
- adds r1, 0x1
- mov r0, r8
- str r1, [r0]
- lsrs r0, r4, 11
- eors r4, r0
- lsls r0, r4, 7
- ldr r1, _08094F80
- ands r0, r1
- eors r4, r0
- lsls r0, r4, 15
- ldr r1, _08094F84
- ands r0, r1
- eors r4, r0
- lsrs r0, r4, 18
- eors r4, r0
- adds r0, r4, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08094F54: .4byte gUnknown_203B470
-_08094F58: .4byte 0x0000026f
-_08094F5C: .4byte 0x00000271
-_08094F60: .4byte 0x00001571
-_08094F64: .4byte gUnknown_203B474
-_08094F68: .4byte gUnknown_3001198
-_08094F6C: .4byte 0x7fffffff
-_08094F70: .4byte 0x0000018d
-_08094F74: .4byte 0x0000026e
-_08094F78: .4byte 0xfffffc74
-_08094F7C: .4byte 0x000009bc
-_08094F80: .4byte 0x9d2c5680
-_08094F84: .4byte 0xefc60000
- thumb_func_end sub_8094E4C
-
- thumb_func_start sub_8094F88
-sub_8094F88:
- push {lr}
- ldr r1, _08094F98
- ldr r0, _08094F9C
- str r0, [r1]
- bl sub_8094FA8
- pop {r0}
- bx r0
- .align 2, 0
-_08094F98: .4byte gUnknown_203B47C
-_08094F9C: .4byte gUnknown_2038C80
- thumb_func_end sub_8094F88
-
- thumb_func_start sub_8094FA0
-sub_8094FA0:
- ldr r0, _08094FA4
- bx lr
- .align 2, 0
-_08094FA4: .4byte gUnknown_2038C80
- thumb_func_end sub_8094FA0
-
- thumb_func_start sub_8094FA8
-sub_8094FA8:
- movs r1, 0
- strb r1, [r0, 0x4]
- strb r1, [r0, 0x3]
- strb r1, [r0, 0x2]
- strh r1, [r0]
- bx lr
- thumb_func_end sub_8094FA8
-
- thumb_func_start sub_8094FB4
-sub_8094FB4:
- push {lr}
- adds r2, r0, 0
- ldrb r0, [r2, 0x4]
- adds r0, 0x1
- movs r1, 0
- strb r0, [r2, 0x4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _0809500A
- strb r1, [r2, 0x4]
- ldrb r0, [r2, 0x3]
- adds r0, 0x1
- strb r0, [r2, 0x3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _0809500A
- strb r1, [r2, 0x3]
- ldrb r0, [r2, 0x2]
- adds r0, 0x1
- strb r0, [r2, 0x2]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _0809500A
- strb r1, [r2, 0x2]
- ldrh r3, [r2]
- movs r0, 0
- ldrsh r1, [r2, r0]
- ldr r0, _08094FFC
- cmp r1, r0
- bgt _08095000
- adds r0, r3, 0x1
- b _08095008
- .align 2, 0
-_08094FFC: .4byte 0x0000270e
-_08095000:
- movs r0, 0x3B
- strb r0, [r2, 0x3]
- strb r0, [r2, 0x2]
- ldr r0, _08095010
-_08095008:
- strh r0, [r2]
-_0809500A:
- pop {r0}
- bx r0
- .align 2, 0
-_08095010: .4byte 0x0000270f
- thumb_func_end sub_8094FB4
-
- thumb_func_start sub_8095014
-sub_8095014:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- ldr r1, _08095030
- cmp r0, r1
- bgt _08095034
- str r0, [r5]
- ldrb r0, [r4, 0x2]
- str r0, [r2]
- ldrb r0, [r4, 0x3]
- b _0809503A
- .align 2, 0
-_08095030: .4byte 0x0000270f
-_08095034:
- str r1, [r5]
- movs r0, 0x3B
- str r0, [r2]
-_0809503A:
- str r0, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8095014
-
- thumb_func_start sub_8095044
-sub_8095044:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _0809507C
- ldr r1, [r4]
- adds r1, 0x4
- movs r2, 0x6
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x3
- adds r0, r5, 0
- movs r2, 0x6
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x2
- adds r0, r5, 0
- movs r2, 0x6
- bl sub_809488C
- ldr r1, [r4]
- adds r0, r5, 0
- movs r2, 0xE
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809507C: .4byte gUnknown_203B47C
- thumb_func_end sub_8095044
-
- thumb_func_start sub_8095080
-sub_8095080:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080950B8
- ldr r1, [r4]
- adds r1, 0x4
- movs r2, 0x6
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x3
- adds r0, r5, 0
- movs r2, 0x6
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x2
- adds r0, r5, 0
- movs r2, 0x6
- bl sub_8094924
- ldr r1, [r4]
- adds r0, r5, 0
- movs r2, 0xE
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080950B8: .4byte gUnknown_203B47C
- thumb_func_end sub_8095080
-
- thumb_func_start sub_80950BC
-sub_80950BC:
- ldr r1, _080950D8
- ldr r0, _080950DC
- str r0, [r1]
- ldr r1, _080950E0
- ldr r0, _080950E4
- str r0, [r1]
- ldr r1, _080950E8
- ldr r0, _080950EC
- str r0, [r1]
- ldr r1, _080950F0
- ldr r0, _080950F4
- str r0, [r1]
- bx lr
- .align 2, 0
-_080950D8: .4byte gUnknown_203B480
-_080950DC: .4byte gUnknown_2038C88
-_080950E0: .4byte gUnknown_203B484
-_080950E4: .4byte gUnknown_2039288
-_080950E8: .4byte gUnknown_203B488
-_080950EC: .4byte gUnknown_20392E8
-_080950F0: .4byte gUnknown_203B48C
-_080950F4: .4byte gUnknown_20393C0
- thumb_func_end sub_80950BC
-
- thumb_func_start sub_80950F8
-sub_80950F8:
- ldr r0, _080950FC
- bx lr
- .align 2, 0
-_080950FC: .4byte gUnknown_2038C88
- thumb_func_end sub_80950F8
-
- thumb_func_start sub_8095100
-sub_8095100:
- ldr r0, _08095104
- bx lr
- .align 2, 0
-_08095104: .4byte gUnknown_2039288
- thumb_func_end sub_8095100
-
- thumb_func_start sub_8095108
-sub_8095108:
- ldr r0, _0809510C
- bx lr
- .align 2, 0
-_0809510C: .4byte gUnknown_20392E8
- thumb_func_end sub_8095108
-
- thumb_func_start sub_8095110
-sub_8095110:
- ldr r0, _08095114
- bx lr
- .align 2, 0
-_08095114: .4byte gUnknown_20393C0
- thumb_func_end sub_8095110
-
- thumb_func_start sub_8095118
-sub_8095118:
- push {r4,lr}
- ldr r4, _0809517C
- ldr r0, [r4]
- movs r2, 0xC0
- lsls r2, 3
- movs r1, 0
- bl MemoryFill8
- ldr r0, _08095180
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0x5C
- bl MemoryFill8
- movs r2, 0
- movs r1, 0
- movs r3, 0x1F
-_0809513A:
- ldr r0, [r4]
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, r1
- adds r0, 0x22
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, r1
- adds r0, 0x2D
- strb r2, [r0]
- adds r1, 0x30
- subs r3, 0x1
- cmp r3, 0
- bge _0809513A
- ldr r2, _08095184
- ldr r1, [r2]
- movs r0, 0
- str r0, [r1]
- movs r3, 0
- movs r4, 0x1
- negs r4, r4
-_08095166:
- ldr r0, [r2]
- lsls r1, r3, 2
- adds r0, 0x4
- adds r0, r1
- str r4, [r0]
- adds r3, 0x1
- cmp r3, 0x1F
- ble _08095166
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809517C: .4byte gUnknown_203B480
-_08095180: .4byte gUnknown_203B484
-_08095184: .4byte gUnknown_203B48C
- thumb_func_end sub_8095118
-
- thumb_func_start nullsub_206
-nullsub_206:
- bx lr
- thumb_func_end nullsub_206
-
- thumb_func_start nullsub_207
-nullsub_207:
- bx lr
- thumb_func_end nullsub_207
-
- thumb_func_start sub_8095190
-sub_8095190:
- push {lr}
- movs r2, 0x2
- ldr r0, _080951A8
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x60
-_0809519C:
- ldrb r0, [r1]
- cmp r0, 0
- bne _080951AC
- adds r0, r2, 0
- b _080951B8
- .align 2, 0
-_080951A8: .4byte gUnknown_203B480
-_080951AC:
- adds r1, 0x30
- adds r2, 0x1
- cmp r2, 0x1F
- ble _0809519C
- movs r0, 0x1
- negs r0, r0
-_080951B8:
- pop {r1}
- bx r1
- thumb_func_end sub_8095190
-
- thumb_func_start sub_80951BC
-sub_80951BC:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8095190
- adds r2, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _080951F4
- ldr r0, _080951F0
- ldr r1, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 4
- adds r1, r0
- adds r0, r4, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r0, 0x1
- b _080951F6
- .align 2, 0
-_080951F0: .4byte gUnknown_203B480
-_080951F4:
- movs r0, 0
-_080951F6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80951BC
-
- thumb_func_start sub_80951FC
-sub_80951FC:
- push {r4,r5,lr}
- ldr r1, _08095224
- ldr r1, [r1]
- adds r1, 0x30
- ldrb r2, [r1]
- negs r3, r2
- orrs r3, r2
- lsrs r3, 31
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- adds r0, r3, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08095224: .4byte gUnknown_203B480
- thumb_func_end sub_80951FC
-
- thumb_func_start sub_8095228
-sub_8095228:
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809523C
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_0809523C: .4byte gUnknown_203B480
- thumb_func_end sub_8095228
-
- thumb_func_start sub_8095240
-sub_8095240:
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08095270
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 4
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, r4
- adds r0, 0x22
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08095270: .4byte gUnknown_203B480
- thumb_func_end sub_8095240
-
- thumb_func_start sub_8095274
-sub_8095274:
- push {lr}
- ldr r1, _08095294
- ldr r3, [r1]
- adds r2, r3, 0
- ldm r2!, {r1}
- lsls r1, 2
- adds r2, r1
- str r0, [r2]
- ldr r0, [r3]
- movs r1, 0
- cmp r0, 0x1E
- bgt _0809528E
- adds r1, r0, 0x1
-_0809528E:
- str r1, [r3]
- pop {r0}
- bx r0
- .align 2, 0
-_08095294: .4byte gUnknown_203B48C
- thumb_func_end sub_8095274
-
- thumb_func_start sub_8095298
-sub_8095298:
- push {lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, _080952B0
- ldr r0, [r0]
- adds r1, r0, 0x4
-_080952A4:
- ldr r0, [r1]
- cmp r0, r3
- bne _080952B4
- movs r0, 0x1
- b _080952BE
- .align 2, 0
-_080952B0: .4byte gUnknown_203B48C
-_080952B4:
- adds r1, 0x4
- adds r2, 0x1
- cmp r2, 0x1F
- ble _080952A4
- movs r0, 0
-_080952BE:
- pop {r1}
- bx r1
- thumb_func_end sub_8095298
-
- thumb_func_start sub_80952C4
-sub_80952C4:
- push {r4,lr}
- ldr r2, _080952EC
- ldr r1, [r2]
- movs r0, 0
- str r0, [r1]
- movs r3, 0
- adds r4, r2, 0
- movs r2, 0x1
- negs r2, r2
-_080952D6:
- ldr r0, [r4]
- lsls r1, r3, 2
- adds r0, 0x4
- adds r0, r1
- str r2, [r0]
- adds r3, 0x1
- cmp r3, 0x1F
- ble _080952D6
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080952EC: .4byte gUnknown_203B48C
- thumb_func_end sub_80952C4
-
- thumb_func_start sub_80952F0
-sub_80952F0:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r1, r0, 24
- movs r3, 0
- ldr r0, _08095310
- ldr r2, [r0]
-_080952FE:
- ldrb r0, [r2]
- cmp r0, r1
- bne _08095314
- ldr r0, [r2, 0x10]
- cmp r0, r4
- bne _08095314
- movs r0, 0x1
- b _0809531E
- .align 2, 0
-_08095310: .4byte gUnknown_203B480
-_08095314:
- adds r2, 0x30
- adds r3, 0x1
- cmp r3, 0x1F
- ble _080952FE
- movs r0, 0
-_0809531E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80952F0
-
- thumb_func_start sub_8095324
-sub_8095324:
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- ldr r0, _0809534C
- ldr r1, [r0]
- movs r2, 0x1F
-_08095332:
- ldrb r0, [r1]
- cmp r0, r4
- bne _0809533A
- adds r3, 0x1
-_0809533A:
- adds r1, 0x30
- subs r2, 0x1
- cmp r2, 0
- bge _08095332
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809534C: .4byte gUnknown_203B480
- thumb_func_end sub_8095324
-
- thumb_func_start sub_8095350
-sub_8095350:
- push {lr}
- movs r3, 0
- ldr r0, _08095370
- ldr r1, [r0]
- movs r2, 0x1F
-_0809535A:
- ldrb r0, [r1]
- cmp r0, 0
- beq _08095362
- adds r3, 0x1
-_08095362:
- adds r1, 0x30
- subs r2, 0x1
- cmp r2, 0
- bge _0809535A
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08095370: .4byte gUnknown_203B480
- thumb_func_end sub_8095350
-
- thumb_func_start sub_8095374
-sub_8095374:
- push {lr}
- movs r3, 0x1
- negs r3, r3
- movs r2, 0
- ldr r0, _08095398
- ldr r1, [r0]
-_08095380:
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _08095388
- adds r3, r2, 0
-_08095388:
- adds r1, 0x30
- adds r2, 0x1
- cmp r2, 0x1F
- ble _08095380
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08095398: .4byte gUnknown_203B480
- thumb_func_end sub_8095374
-
- thumb_func_start sub_809539C
-sub_809539C:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r1, r0, 24
- movs r3, 0
- ldr r0, _080953BC
- ldr r2, [r0]
-_080953AA:
- ldrb r0, [r2]
- cmp r0, r1
- bne _080953C0
- ldr r0, [r2, 0x10]
- cmp r0, r4
- bne _080953C0
- adds r0, r3, 0
- b _080953CC
- .align 2, 0
-_080953BC: .4byte gUnknown_203B480
-_080953C0:
- adds r2, 0x30
- adds r3, 0x1
- cmp r3, 0x1F
- ble _080953AA
- movs r0, 0x1
- negs r0, r0
-_080953CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809539C
-
- thumb_func_start sub_80953D4
-sub_80953D4:
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r0, _080953EC
- ldr r1, [r0]
-_080953E0:
- ldrb r0, [r1]
- cmp r0, r3
- bne _080953F0
- adds r0, r2, 0
- b _080953FC
- .align 2, 0
-_080953EC: .4byte gUnknown_203B480
-_080953F0:
- adds r1, 0x30
- adds r2, 0x1
- cmp r2, 0x1F
- ble _080953E0
- movs r0, 0x1
- negs r0, r0
-_080953FC:
- pop {r1}
- bx r1
- thumb_func_end sub_80953D4
-
- thumb_func_start sub_8095400
-sub_8095400:
- push {lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, _08095418
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x10
-_0809540E:
- ldr r0, [r1]
- cmp r0, r3
- bne _0809541C
- adds r0, r2, 0
- b _08095428
- .align 2, 0
-_08095418: .4byte gUnknown_203B480
-_0809541C:
- adds r1, 0x30
- adds r2, 0x1
- cmp r2, 0x1F
- ble _0809540E
- movs r0, 0x1
- negs r0, r0
-_08095428:
- pop {r1}
- bx r1
- thumb_func_end sub_8095400
-
- thumb_func_start sub_809542C
-sub_809542C:
- push {r4,lr}
- sub sp, 0x14
- ldr r4, _08095490
- ldr r2, [r4]
- movs r1, 0x1
- strb r1, [r2]
- ldr r2, [r4]
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2, 0x4]
- str r1, [r2, 0x8]
- bl Random
- bl sub_8094D28
- bl sub_8094E4C
- ldr r1, [r4]
- str r0, [r1, 0x10]
- bl sub_808D33C
- ldr r1, [r4]
- ldrh r0, [r0, 0x8]
- strh r0, [r1, 0xC]
- bl sub_808D33C
- adds r1, r0, 0
- mov r0, sp
- bl sub_808DA34
- ldr r0, [r4]
- adds r0, 0x14
- mov r1, sp
- bl sub_80922F4
- bl sub_8011C34
- ldr r1, [r4]
- str r0, [r1, 0x24]
- ldrb r0, [r1, 0x4]
- bl sub_8090134
- ldr r1, [r4]
- adds r1, 0x2C
- strb r0, [r1]
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08095490: .4byte gUnknown_203B480
- thumb_func_end sub_809542C
-
- thumb_func_start sub_8095494
-sub_8095494:
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080954B0
- ldr r3, [r2]
- lsls r2, r1, 1
- adds r2, r1
- lsls r2, 4
- adds r3, r2
- ldr r1, [r3, 0x4]
- ldr r2, [r3, 0x8]
- str r1, [r0]
- str r2, [r0, 0x4]
- bx lr
- .align 2, 0
-_080954B0: .4byte gUnknown_203B480
- thumb_func_end sub_8095494
-
- thumb_func_start sub_80954B4
-sub_80954B4:
- push {lr}
- movs r0, 0x3
- bl sub_8095324
- cmp r0, 0
- bne _080954C4
- movs r0, 0
- b _080954C6
-_080954C4:
- movs r0, 0x1
-_080954C6:
- pop {r1}
- bx r1
- thumb_func_end sub_80954B4
-
- thumb_func_start sub_80954CC
-sub_80954CC:
- 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
- ldr r6, _08095618
- movs r5, 0
- movs r4, 0x1F
-_080954E2:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8095774
- adds r5, 0x30
- subs r4, 0x1
- cmp r4, 0
- bge _080954E2
- ldr r4, _0809561C
- ldr r1, [r4]
- mov r0, sp
- movs r2, 0x20
- bl sub_8094924
- ldr r5, [r4]
- adds r4, r5, 0x4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x58
- bl memset
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x2
- bl sub_8094924
- adds r1, r5, 0x6
- mov r0, sp
- movs r2, 0x1
- bl sub_8094924
- adds r1, r5, 0x7
- mov r0, sp
- movs r2, 0x7
- bl sub_8094924
- adds r4, 0x4
- mov r0, sp
- adds r1, r4, 0
- bl sub_8090314
- adds r1, r5, 0
- adds r1, 0xC
- mov r0, sp
- movs r2, 0x9
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x10
- mov r0, sp
- bl sub_808F410
- adds r1, r5, 0
- adds r1, 0x14
- mov r0, sp
- bl sub_808F410
- adds r1, r5, 0
- adds r1, 0x18
- mov r0, sp
- movs r2, 0xA
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x1A
- mov r0, sp
- movs r2, 0xA
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x1C
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x1D
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x1E
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x1F
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x20
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x24
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x28
- mov r0, sp
- movs r2, 0x4
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x2C
- mov r0, sp
- bl sub_8091DC0
- adds r1, r5, 0
- adds r1, 0x30
- mov r0, sp
- bl sub_8094128
- adds r1, r5, 0
- adds r1, 0x50
- mov r0, sp
- movs r2, 0x50
- bl sub_8094924
- ldr r4, _08095620
- ldr r1, [r4]
- mov r0, sp
- movs r2, 0x20
- bl sub_8094924
- adds r6, r4, 0
- movs r5, 0x4
- movs r4, 0x1F
-_080955F4:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- movs r2, 0x20
- bl sub_8094924
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _080955F4
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08095618: .4byte gUnknown_203B480
-_0809561C: .4byte gUnknown_203B484
-_08095620: .4byte gUnknown_203B48C
- thumb_func_end sub_80954CC
-
- thumb_func_start sub_8095624
-sub_8095624:
- 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
- ldr r6, _08095768
- movs r5, 0
- movs r4, 0x1F
-_0809563A:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8095824
- adds r5, 0x30
- subs r4, 0x1
- cmp r4, 0
- bge _0809563A
- ldr r4, _0809576C
- ldr r1, [r4]
- mov r0, sp
- movs r2, 0x20
- bl sub_809488C
- ldr r5, [r4]
- adds r4, r5, 0x4
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x2
- bl sub_809488C
- adds r1, r5, 0x6
- mov r0, sp
- movs r2, 0x1
- bl sub_809488C
- adds r1, r5, 0x7
- mov r0, sp
- movs r2, 0x7
- bl sub_809488C
- adds r4, 0x4
- mov r0, sp
- adds r1, r4, 0
- bl sub_80902F4
- adds r1, r5, 0
- adds r1, 0xC
- mov r0, sp
- movs r2, 0x9
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x10
- mov r0, sp
- bl sub_808F41C
- adds r1, r5, 0
- adds r1, 0x14
- mov r0, sp
- bl sub_808F41C
- adds r1, r5, 0
- adds r1, 0x18
- mov r0, sp
- movs r2, 0xA
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1A
- mov r0, sp
- movs r2, 0xA
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1C
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1D
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1E
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1F
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x20
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x24
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x28
- mov r0, sp
- movs r2, 0x4
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x2C
- mov r0, sp
- bl sub_8091DE0
- adds r1, r5, 0
- adds r1, 0x30
- mov r0, sp
- bl sub_8094108
- adds r1, r5, 0
- adds r1, 0x50
- mov r0, sp
- movs r2, 0x50
- bl sub_809488C
- ldr r4, _08095770
- ldr r1, [r4]
- mov r0, sp
- movs r2, 0x20
- bl sub_809488C
- adds r6, r4, 0
- movs r5, 0x4
- movs r4, 0x1F
-_08095742:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- movs r2, 0x20
- bl sub_809488C
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08095742
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08095768: .4byte gUnknown_203B480
-_0809576C: .4byte gUnknown_203B484
-_08095770: .4byte gUnknown_203B48C
- thumb_func_end sub_8095624
-
- thumb_func_start sub_8095774
-sub_8095774:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r5, 0x4
- adds r0, r4, 0
- bl sub_8090314
- adds r1, r5, 0
- adds r1, 0x8
- adds r0, r4, 0
- movs r2, 0x18
- 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, 0x10
- adds r0, r4, 0
- movs r2, 0x20
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x14
- adds r0, r4, 0
- movs r2, 0x50
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x20
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x21
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x22
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x24
- adds r0, r4, 0
- movs r2, 0x20
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x28
- adds r0, r4, 0
- movs r2, 0x20
- bl sub_8094924
- adds r1, r5, 0
- adds r1, 0x2C
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_8094924
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- adds r1, r5, 0
- adds r1, 0x2D
- strb r0, [r1]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8095774
-
- thumb_func_start sub_8095824
-sub_8095824:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0xFF
- mov r0, sp
- strb r1, [r0]
- mov r6, sp
- adds r6, 0x1
- movs r0, 0
- strb r0, [r6]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r4, 0x4
- adds r0, r5, 0
- bl sub_80902F4
- adds r1, r4, 0
- adds r1, 0x8
- adds r0, r5, 0
- movs r2, 0x18
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0xC
- adds r0, r5, 0
- movs r2, 0x9
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x10
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x14
- adds r0, r5, 0
- movs r2, 0x50
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x20
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x21
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x22
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x24
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x28
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x2C
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_809488C
- adds r0, r4, 0
- adds r0, 0x2D
- ldrb r0, [r0]
- mov r1, sp
- cmp r0, 0
- bne _080958D2
- adds r1, r6, 0
-_080958D2:
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_809488C
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8095824
-
- thumb_func_start sub_80958E4
-sub_80958E4:
- str r1, [r0]
- 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 sub_8090114
- 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 sub_8092534
- 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 sub_8092178
- 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 sub_8090114
- 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 sub_8092534
- 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 gUnknown_203B468
-_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 sub_8092178
- 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 gUnknown_8109994
- thumb_func_end sub_8097418
-
- thumb_func_start sub_809747C
-sub_809747C:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- beq _08097494
- bl sub_80A270C
- lsls r0, 24
- lsrs r0, 24
- bl sub_809009C
- b _08097496
-_08097494:
- ldr r0, _0809749C
-_08097496:
- pop {r1}
- bx r1
- .align 2, 0
-_0809749C: .4byte gUnknown_8109CA8
- thumb_func_end sub_809747C
-
- thumb_func_start sub_80974A0
-sub_80974A0:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- beq _080974B8
- bl sub_80A270C
- lsls r0, 24
- lsrs r0, 24
- bl sub_809009C
- b _080974BA
-_080974B8:
- ldr r0, _080974C0
-_080974BA:
- pop {r1}
- bx r1
- .align 2, 0
-_080974C0: .4byte gUnknown_8109CA8
- thumb_func_end sub_80974A0
-
- thumb_func_start sub_80974C4
-sub_80974C4:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _080974D8
- ldr r0, _080974D4
- b _080974E0
- .align 2, 0
-_080974D4: .4byte gUnknown_8109CC0
-_080974D8:
- lsls r0, 3
- ldr r1, _080974E4
- adds r0, r1
- ldr r0, [r0]
-_080974E0:
- pop {r1}
- bx r1
- .align 2, 0
-_080974E4: .4byte gUnknown_8109994
- thumb_func_end sub_80974C4
-
- thumb_func_start sub_80974E8
-sub_80974E8:
- push {lr}
- movs r0, 0
- movs r1, 0x2E
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x2F
- bl sub_80015C0
- pop {r0}
- bx r0
- thumb_func_end sub_80974E8
-
- thumb_func_start nullsub_208
-nullsub_208:
- bx lr
- thumb_func_end nullsub_208
-
- thumb_func_start sub_8097504
-sub_8097504:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- adds r1, r0, 0
- cmp r0, 0x10
- bgt _08097568
- cmp r0, 0xE
- bhi _08097580
- lsls r0, 2
- ldr r1, _08097520
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097520: .4byte _08097524
- .align 2, 0
-_08097524:
- .4byte _08097564
- .4byte _08097564
- .4byte _08097560
- .4byte _08097580
- .4byte _08097580
- .4byte _08097564
- .4byte _08097580
- .4byte _08097564
- .4byte _08097580
- .4byte _08097564
- .4byte _08097560
- .4byte _08097560
- .4byte _08097560
- .4byte _08097574
- .4byte _08097564
-_08097560:
- movs r0, 0xE
- b _08097576
-_08097564:
- movs r0, 0xF
- b _08097576
-_08097568:
- cmp r1, 0x16
- bgt _08097584
- cmp r1, 0x16
- beq _08097584
- cmp r1, 0x15
- beq _08097584
-_08097574:
- movs r0, 0x6
-_08097576:
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _08097584
-_08097580:
- movs r0, 0x1
- b _08097586
-_08097584:
- movs r0, 0
-_08097586:
- pop {r1}
- bx r1
- thumb_func_end sub_8097504
-
- thumb_func_start sub_809758C
-sub_809758C:
- push {lr}
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x2E
- bl sub_8001784
- cmp r0, 0
- beq _080975A2
- movs r0, 0x1
-_080975A2:
- pop {r1}
- bx r1
- thumb_func_end sub_809758C
-
- thumb_func_start sub_80975A8
-sub_80975A8:
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x2E
- bl sub_800199C
- pop {r0}
- bx r0
- thumb_func_end sub_80975A8
-
- thumb_func_start sub_80975C4
-sub_80975C4:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2728
- lsls r0, 24
- lsrs r0, 24
- bl sub_809009C
- pop {r1}
- bx r1
- thumb_func_end sub_80975C4
-
- thumb_func_start sub_80975DC
-sub_80975DC:
- push {lr}
- lsls r0, 16
- ldr r1, _08097600
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08097610
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0xE
- bl sub_8001D08
- lsls r0, 24
- cmp r0, 0
- beq _08097608
- ldr r0, _08097604
- b _08097612
- .align 2, 0
-_08097600: .4byte 0xffe90000
-_08097604: .4byte gUnknown_8109CD4
-_08097608:
- ldr r0, _0809760C
- b _08097612
- .align 2, 0
-_0809760C: .4byte gUnknown_8109CE4
-_08097610:
- ldr r0, _08097618
-_08097612:
- pop {r1}
- bx r1
- .align 2, 0
-_08097618: .4byte gUnknown_8109CF4
- thumb_func_end sub_80975DC
-
- thumb_func_start sub_809761C
-sub_809761C:
- push {r4,lr}
- movs r4, 0
-_08097620:
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_809758C
- lsls r0, 24
- cmp r0, 0
- bne _08097632
- movs r0, 0
- b _0809763A
-_08097632:
- adds r4, 0x1
- cmp r4, 0x10
- ble _08097620
- movs r0, 0x1
-_0809763A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809761C
-
- thumb_func_start sub_8097640
-sub_8097640:
- push {lr}
- movs r0, 0
- movs r1, 0x2E
- movs r2, 0x1F
- bl sub_8001784
- cmp r0, 0
- bne _0809766A
- bl sub_809761C
- lsls r0, 24
- cmp r0, 0
- beq _0809766A
- movs r0, 0
- movs r1, 0x2E
- movs r2, 0x1F
- movs r3, 0x1
- bl sub_800199C
- movs r0, 0x1
- b _0809766C
-_0809766A:
- movs r0, 0
-_0809766C:
- pop {r1}
- bx r1
- thumb_func_end sub_8097640
-
- thumb_func_start sub_8097670
-sub_8097670:
- ldr r1, _08097678
- ldr r0, _0809767C
- str r0, [r1]
- bx lr
- .align 2, 0
-_08097678: .4byte gUnknown_203B494
-_0809767C: .4byte gUnknown_2039778
- thumb_func_end sub_8097670
-
- thumb_func_start sub_8097680
-sub_8097680:
- ldr r0, _08097684
- bx lr
- .align 2, 0
-_08097684: .4byte gUnknown_2039778
- thumb_func_end sub_8097680
-
- thumb_func_start sub_8097688
-sub_8097688:
- ldr r3, _08097698
- ldr r2, [r3]
- ldrb r1, [r0]
- strb r1, [r2, 0x10]
- ldr r1, [r3]
- ldrb r0, [r0, 0x1]
- strb r0, [r1, 0x11]
- bx lr
- .align 2, 0
-_08097698: .4byte gUnknown_203B494
- thumb_func_end sub_8097688
-
- thumb_func_start sub_809769C
-sub_809769C:
- ldr r0, _080976A4
- ldr r0, [r0]
- adds r0, 0x10
- bx lr
- .align 2, 0
-_080976A4: .4byte gUnknown_203B494
- thumb_func_end sub_809769C
-
- thumb_func_start sub_80976A8
-sub_80976A8:
- push {r4,lr}
- ldr r3, _080976F4
- ldr r1, [r3]
- movs r0, 0
- str r0, [r1]
- strh r0, [r1, 0x14]
- strh r0, [r1, 0x16]
- strh r0, [r1, 0x18]
- adds r2, r1, 0
- adds r2, 0xC0
- str r0, [r2]
- str r0, [r1, 0x8]
- str r0, [r1, 0xC]
- movs r2, 0
- adds r4, r3, 0
- movs r3, 0
-_080976C8:
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, 0x1C
- adds r0, r1
- str r3, [r0]
- adds r2, 0x1
- cmp r2, 0xD
- ble _080976C8
- movs r2, 0
- ldr r4, _080976F4
- movs r3, 0
-_080976DE:
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, 0x8C
- adds r0, r1
- str r3, [r0]
- adds r2, 0x1
- cmp r2, 0xC
- ble _080976DE
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080976F4: .4byte gUnknown_203B494
- thumb_func_end sub_80976A8
-
- thumb_func_start sub_80976F8
-sub_80976F8:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809770C
- ldr r2, [r1]
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- bx lr
- .align 2, 0
-_0809770C: .4byte gUnknown_203B494
- thumb_func_end sub_80976F8
-
- thumb_func_start sub_8097710
-sub_8097710:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809772C
- ldr r2, [r1]
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- bne _08097730
- movs r0, 0
- b _08097732
- .align 2, 0
-_0809772C: .4byte gUnknown_203B494
-_08097730:
- movs r0, 0x1
-_08097732:
- pop {r1}
- bx r1
- thumb_func_end sub_8097710
-
- thumb_func_start sub_8097738
-sub_8097738:
- lsls r0, 24
- ldr r1, _08097744
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08097744: .4byte gUnknown_810B04C
- thumb_func_end sub_8097738
-
- thumb_func_start sub_8097748
-sub_8097748:
- ldr r0, _08097754
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_08097754: .4byte gUnknown_203B494
- thumb_func_end sub_8097748
-
- thumb_func_start sub_8097758
-sub_8097758:
- push {lr}
- ldr r0, _08097770
- ldr r1, [r0]
- ldr r0, [r1, 0x4]
- adds r0, 0x1
- str r0, [r1, 0x4]
- ldr r2, _08097774
- cmp r0, r2
- ble _0809776C
- str r2, [r1, 0x4]
-_0809776C:
- pop {r0}
- bx r0
- .align 2, 0
-_08097770: .4byte gUnknown_203B494
-_08097774: .4byte 0x0001869f
- thumb_func_end sub_8097758
-
- thumb_func_start sub_8097778
-sub_8097778:
- ldr r0, _08097780
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_08097780: .4byte gUnknown_203B494
- thumb_func_end sub_8097778
-
- thumb_func_start sub_8097784
-sub_8097784:
- ldr r1, _0809778C
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_0809778C: .4byte gUnknown_203B494
- thumb_func_end sub_8097784
-
- thumb_func_start sub_8097790
-sub_8097790:
- push {lr}
- ldr r0, _080977B0
- ldr r1, [r0]
- ldr r0, [r1, 0x8]
- adds r0, 0x1
- str r0, [r1, 0x8]
- ldr r2, _080977B4
- cmp r0, r2
- ble _080977A4
- str r2, [r1, 0x8]
-_080977A4:
- movs r0, 0x8
- bl sub_80976F8
- pop {r0}
- bx r0
- .align 2, 0
-_080977B0: .4byte gUnknown_203B494
-_080977B4: .4byte 0x0001869f
- thumb_func_end sub_8097790
-
- thumb_func_start sub_80977B8
-sub_80977B8:
- ldr r0, _080977C0
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_080977C0: .4byte gUnknown_203B494
- thumb_func_end sub_80977B8
-
- thumb_func_start sub_80977C4
-sub_80977C4:
- ldr r1, _080977CC
- ldr r1, [r1]
- str r0, [r1, 0x8]
- bx lr
- .align 2, 0
-_080977CC: .4byte gUnknown_203B494
- thumb_func_end sub_80977C4
-
- thumb_func_start sub_80977D0
-sub_80977D0:
- push {lr}
- ldr r0, _080977F0
- ldr r1, [r0]
- ldr r0, [r1, 0xC]
- adds r0, 0x1
- str r0, [r1, 0xC]
- ldr r2, _080977F4
- cmp r0, r2
- ble _080977E4
- str r2, [r1, 0xC]
-_080977E4:
- movs r0, 0x9
- bl sub_80976F8
- pop {r0}
- bx r0
- .align 2, 0
-_080977F0: .4byte gUnknown_203B494
-_080977F4: .4byte 0x0001869f
- thumb_func_end sub_80977D0
-
- thumb_func_start sub_80977F8
-sub_80977F8:
- ldr r0, _08097800
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_08097800: .4byte gUnknown_203B494
- thumb_func_end sub_80977F8
-
- thumb_func_start sub_8097804
-sub_8097804:
- ldr r1, _0809780C
- ldr r1, [r1]
- str r0, [r1, 0xC]
- bx lr
- .align 2, 0
-_0809780C: .4byte gUnknown_203B494
- thumb_func_end sub_8097804
-
- thumb_func_start sub_8097810
-sub_8097810:
- push {lr}
- ldr r0, _08097830
- ldr r2, [r0]
- ldrh r3, [r2, 0x14]
- movs r0, 0x14
- ldrsh r1, [r2, r0]
- ldr r0, _08097834
- cmp r1, r0
- bgt _08097826
- adds r0, r3, 0x1
- strh r0, [r2, 0x14]
-_08097826:
- movs r0, 0xB
- bl sub_80976F8
- pop {r0}
- bx r0
- .align 2, 0
-_08097830: .4byte gUnknown_203B494
-_08097834: .4byte 0x0000270e
- thumb_func_end sub_8097810
-
- thumb_func_start sub_8097838
-sub_8097838:
- ldr r0, _08097844
- ldr r0, [r0]
- movs r1, 0x14
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08097844: .4byte gUnknown_203B494
- thumb_func_end sub_8097838
-
- thumb_func_start sub_8097848
-sub_8097848:
- push {lr}
- ldr r0, _08097868
- ldr r2, [r0]
- ldrh r3, [r2, 0x16]
- movs r0, 0x16
- ldrsh r1, [r2, r0]
- ldr r0, _0809786C
- cmp r1, r0
- bgt _0809785E
- adds r0, r3, 0x1
- strh r0, [r2, 0x16]
-_0809785E:
- movs r0, 0xA
- bl sub_80976F8
- pop {r0}
- bx r0
- .align 2, 0
-_08097868: .4byte gUnknown_203B494
-_0809786C: .4byte 0x0000270e
- thumb_func_end sub_8097848
-
- thumb_func_start sub_8097870
-sub_8097870:
- ldr r0, _0809787C
- ldr r0, [r0]
- movs r1, 0x16
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0809787C: .4byte gUnknown_203B494
- thumb_func_end sub_8097870
-
- thumb_func_start sub_8097880
-sub_8097880:
- ldr r0, _0809788C
- ldr r0, [r0]
- movs r1, 0x18
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0809788C: .4byte gUnknown_203B494
- thumb_func_end sub_8097880
-
- thumb_func_start sub_8097890
-sub_8097890:
- push {lr}
- ldr r0, _080978B0
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0xC0
- ldr r1, [r2]
- ldr r0, _080978B4
- cmp r1, r0
- bgt _080978A6
- adds r0, r1, 0x1
- str r0, [r2]
-_080978A6:
- movs r0, 0xC
- bl sub_80976F8
- pop {r0}
- bx r0
- .align 2, 0
-_080978B0: .4byte gUnknown_203B494
-_080978B4: .4byte 0x0001869e
- thumb_func_end sub_8097890
-
- thumb_func_start sub_80978B8
-sub_80978B8:
- ldr r0, _080978C4
- ldr r0, [r0]
- adds r0, 0xC0
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080978C4: .4byte gUnknown_203B494
- thumb_func_end sub_80978B8
-
- thumb_func_start sub_80978C8
-sub_80978C8:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_808E858
- lsls r0, 16
- asrs r3, r0, 16
- ldr r0, _080978FC
- ldr r2, [r0]
- adds r0, r3, 0
- cmp r3, 0
- bge _080978E2
- adds r0, 0x1F
-_080978E2:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x54
- adds r2, r1
- lsls r0, 5
- subs r0, r3, r0
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_080978FC: .4byte gUnknown_203B494
- thumb_func_end sub_80978C8
-
- thumb_func_start sub_8097900
-sub_8097900:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_808E858
- lsls r0, 16
- asrs r3, r0, 16
- ldr r0, _08097938
- ldr r2, [r0]
- adds r0, r3, 0
- cmp r3, 0
- bge _0809791A
- adds r0, 0x1F
-_0809791A:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x1C
- adds r2, r1
- lsls r0, 5
- subs r0, r3, r0
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- bne _0809793C
- movs r0, 0
- b _0809793E
- .align 2, 0
-_08097938: .4byte gUnknown_203B494
-_0809793C:
- movs r0, 0x1
-_0809793E:
- pop {r1}
- bx r1
- thumb_func_end sub_8097900
-
- thumb_func_start sub_8097944
-sub_8097944:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r0, 0x1
- str r0, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- movs r0, 0xD
- bl sub_8097710
- lsls r0, 24
- cmp r0, 0
- bne _08097974
- bl sub_8092614
- lsls r0, 24
- cmp r0, 0
- beq _08097974
- movs r0, 0xD
- bl sub_80976F8
-_08097974:
- movs r4, 0
- ldr r0, _08097B5C
- mov r10, r0
- mov r8, r4
-_0809797C:
- ldr r1, _08097B60
- ldr r0, [r1]
- mov r1, r8
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080979F6
- movs r0, 0x8
- ldrsh r3, [r2, r0]
- mov r1, r10
- ldr r2, [r1]
- adds r0, r3, 0
- cmp r3, 0
- bge _0809799E
- adds r0, 0x1F
-_0809799E:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x1C
- adds r2, r1
- lsls r0, 5
- subs r0, r3, r0
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- ldr r0, _08097B60
- mov r9, r0
- mov r12, r8
- movs r7, 0x1
- movs r6, 0x2C
- movs r5, 0x3
-_080979C0:
- mov r1, r9
- ldr r0, [r1]
- add r0, r12
- adds r3, r0, r6
- ldrb r1, [r3]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080979EE
- mov r0, r10
- ldr r2, [r0]
- ldrh r3, [r3, 0x2]
- lsrs r0, r3, 5
- lsls r0, 2
- adds r2, 0x8C
- adds r2, r0
- movs r0, 0x1F
- ands r3, r0
- adds r1, r7, 0
- lsls r1, r3
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
-_080979EE:
- adds r6, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _080979C0
-_080979F6:
- movs r1, 0x58
- add r8, r1
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0809797C
- movs r4, 0
- ldr r1, _08097B64
-_08097A08:
- cmp r4, 0
- bne _08097A0E
- b _08097B80
-_08097A0E:
- ldr r0, _08097B68
- cmp r4, r0
- bne _08097A16
- b _08097B80
-_08097A16:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A1E
- b _08097B80
-_08097A1E:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A26
- b _08097B80
-_08097A26:
- adds r0, 0x26
- cmp r4, r0
- bne _08097A2E
- b _08097B80
-_08097A2E:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A36
- b _08097B80
-_08097A36:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A3E
- b _08097B80
-_08097A3E:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A46
- b _08097B80
-_08097A46:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A4E
- b _08097B80
-_08097A4E:
- adds r0, 0x1
- cmp r4, r0
- bne _08097A56
- b _08097B80
-_08097A56:
- cmp r4, r1
- bne _08097A5C
- b _08097B80
-_08097A5C:
- ldr r0, _08097B5C
- ldr r5, [r0]
- adds r0, r4, 0
- cmp r4, 0
- bge _08097A68
- adds r0, 0x1F
-_08097A68:
- asrs r0, 5
- lsls r3, r0, 2
- adds r1, r5, 0
- adds r1, 0x54
- adds r1, r3
- lsls r0, 5
- subs r0, r4, r0
- movs r2, 0x1
- lsls r2, r0
- ldr r0, [r1]
- ands r0, r2
- cmp r0, 0
- bne _08097A86
- movs r0, 0
- str r0, [sp, 0x4]
-_08097A86:
- adds r0, r5, 0
- adds r0, 0x1C
- adds r0, r3
- ldr r0, [r0]
- ands r0, r2
- cmp r0, 0
- beq _08097B7C
- cmp r4, 0x92
- bne _08097A9E
- movs r0, 0x10
- bl sub_80976F8
-_08097A9E:
- cmp r4, 0x91
- bne _08097AA8
- movs r0, 0x11
- bl sub_80976F8
-_08097AA8:
- cmp r4, 0x90
- bne _08097AB2
- movs r0, 0x12
- bl sub_80976F8
-_08097AB2:
- movs r0, 0xCF
- lsls r0, 1
- cmp r4, r0
- bne _08097AC0
- movs r0, 0x13
- bl sub_80976F8
-_08097AC0:
- ldr r0, _08097B6C
- cmp r4, r0
- bne _08097ACC
- movs r0, 0x14
- bl sub_80976F8
-_08097ACC:
- movs r0, 0x86
- lsls r0, 1
- cmp r4, r0
- bne _08097ADA
- movs r0, 0x15
- bl sub_80976F8
-_08097ADA:
- movs r0, 0x87
- lsls r0, 1
- cmp r4, r0
- bne _08097AE8
- movs r0, 0x16
- bl sub_80976F8
-_08097AE8:
- ldr r0, _08097B70
- cmp r4, r0
- bne _08097AF4
- movs r0, 0x17
- bl sub_80976F8
-_08097AF4:
- movs r0, 0xCD
- lsls r0, 1
- cmp r4, r0
- bne _08097B02
- movs r0, 0x18
- bl sub_80976F8
-_08097B02:
- ldr r0, _08097B74
- cmp r4, r0
- bne _08097B0E
- movs r0, 0x19
- bl sub_80976F8
-_08097B0E:
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bne _08097B1C
- movs r0, 0x1A
- bl sub_80976F8
-_08097B1C:
- movs r0, 0x89
- lsls r0, 1
- cmp r4, r0
- bne _08097B2A
- movs r0, 0x1B
- bl sub_80976F8
-_08097B2A:
- movs r0, 0x8A
- lsls r0, 1
- cmp r4, r0
- bne _08097B38
- movs r0, 0x1C
- bl sub_80976F8
-_08097B38:
- cmp r4, 0x97
- bne _08097B42
- movs r0, 0x1D
- bl sub_80976F8
-_08097B42:
- cmp r4, 0x96
- bne _08097B4C
- movs r0, 0x1E
- bl sub_80976F8
-_08097B4C:
- ldr r0, _08097B78
- cmp r4, r0
- bne _08097B80
- movs r0, 0x1F
- bl sub_80976F8
- b _08097B80
- .align 2, 0
-_08097B5C: .4byte gUnknown_203B494
-_08097B60: .4byte gUnknown_203B45C
-_08097B64: .4byte 0x000001a7
-_08097B68: .4byte 0x00000179
-_08097B6C: .4byte 0x0000010d
-_08097B70: .4byte 0x00000113
-_08097B74: .4byte 0x0000019b
-_08097B78: .4byte 0x0000019d
-_08097B7C:
- movs r1, 0
- str r1, [sp]
-_08097B80:
- adds r4, 0x1
- ldr r1, _08097C0C
- cmp r4, r1
- bgt _08097B8A
- b _08097A08
-_08097B8A:
- ldr r0, [sp]
- cmp r0, 0
- beq _08097B96
- movs r0, 0xF
- bl sub_80976F8
-_08097B96:
- ldr r1, [sp, 0x4]
- cmp r1, 0
- beq _08097BA2
- movs r0, 0xE
- bl sub_80976F8
-_08097BA2:
- movs r3, 0
- movs r4, 0
-_08097BA6:
- cmp r4, 0
- beq _08097BE2
- ldr r0, _08097C10
- cmp r4, r0
- beq _08097BE2
- adds r0, 0x1
- cmp r4, r0
- beq _08097BE2
- adds r0, 0x1
- cmp r4, r0
- beq _08097BE2
- ldr r0, _08097C14
- ldr r2, [r0]
- adds r0, r4, 0
- cmp r4, 0
- bge _08097BC8
- adds r0, 0x1F
-_08097BC8:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x8C
- adds r2, r1
- lsls r0, 5
- subs r0, r4, r0
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- beq _08097BE2
- adds r3, 0x1
-_08097BE2:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08097BA6
- cmp r3, 0
- beq _08097BFC
- ldr r0, _08097C14
- ldr r0, [r0]
- strh r3, [r0, 0x18]
- movs r0, 0x7
- bl sub_80976F8
-_08097BFC:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08097C0C: .4byte 0x000001a7
-_08097C10: .4byte 0x00000163
-_08097C14: .4byte gUnknown_203B494
- thumb_func_end sub_8097944
-
- thumb_func_start sub_8097C18
-sub_8097C18:
- push {r4-r6,lr}
- adds r5, r0, 0
- bl sub_8097944
- ldr r4, _08097CBC
- ldr r1, [r4]
- adds r1, 0x4
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x8
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0xC
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_809488C
- ldr r1, [r4]
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x14
- adds r0, r5, 0
- movs r2, 0xE
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x16
- adds r0, r5, 0
- movs r2, 0xE
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x18
- adds r0, r5, 0
- movs r2, 0x9
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0xC0
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x1C
- movs r6, 0xE0
- lsls r6, 1
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x54
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x8C
- movs r2, 0xD0
- lsls r2, 1
- adds r0, r5, 0
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0x10
- adds r0, r5, 0
- bl sub_80902F4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08097CBC: .4byte gUnknown_203B494
- thumb_func_end sub_8097C18
-
- thumb_func_start sub_8097CC0
-sub_8097CC0:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _08097D5C
- ldr r1, [r4]
- adds r1, 0x4
- movs r2, 0x11
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x8
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0xC
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_8094924
- ldr r1, [r4]
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x14
- adds r0, r5, 0
- movs r2, 0xE
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x16
- adds r0, r5, 0
- movs r2, 0xE
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x18
- adds r0, r5, 0
- movs r2, 0x9
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0xC0
- adds r0, r5, 0
- movs r2, 0x11
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x1C
- movs r6, 0xE0
- lsls r6, 1
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x54
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x8C
- movs r2, 0xD0
- lsls r2, 1
- adds r0, r5, 0
- bl sub_8094924
- ldr r1, [r4]
- adds r1, 0x10
- adds r0, r5, 0
- bl sub_8090314
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08097D5C: .4byte gUnknown_203B494
- thumb_func_end sub_8097CC0
-
- thumb_func_start sub_8097D60
-sub_8097D60:
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809486C
- mov r0, sp
- bl sub_8094A44
- mov r0, sp
- bl sub_8095044
- mov r0, sp
- bl sub_8097C18
- mov r0, sp
- bl sub_8098248
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r1}
- bx r1
- thumb_func_end sub_8097D60
-
- thumb_func_start sub_8097D98
-sub_8097D98:
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- mov r0, sp
- bl sub_8094B18
- mov r0, sp
- bl sub_8095080
- mov r0, sp
- bl sub_8097CC0
- mov r0, sp
- bl sub_8098308
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r1}
- bx r1
- thumb_func_end sub_8097D98
-
- thumb_func_start sub_8097DD0
-sub_8097DD0:
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- ldr r1, [r2]
- ldr r0, [r3]
- cmp r1, r0
- bne _08097DEA
- ldr r1, [r2, 0x4]
- ldr r0, [r3, 0x4]
- cmp r1, r0
- bne _08097DEA
- movs r0, 0x1
- b _08097DEC
-_08097DEA:
- movs r0, 0
-_08097DEC:
- pop {r1}
- bx r1
- thumb_func_end sub_8097DD0
-
- thumb_func_start sub_8097DF0
-sub_8097DF0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1F8
- mov r8, r0
- str r1, [sp, 0x1F0]
- movs r0, 0
- mov r9, r0
- movs r7, 0
- ldr r1, _08097E3C
- ldr r0, [r1]
- cmp r0, 0
- beq _08097E6E
-_08097E0E:
- movs r4, 0
- lsls r5, r7, 3
- lsls r1, r7, 2
- mov r10, r1
- adds r6, r7, 0x1
- ldr r2, _08097E3C
- adds r3, r5, r2
- add r1, sp, 0x18C
-_08097E1E:
- ldr r0, [r3]
- adds r0, r4
- ldrb r2, [r0]
- cmp r2, 0x23
- bne _08097E40
- ldrb r0, [r0, 0x1]
- cmp r0, 0x72
- bne _08097E40
- strb r2, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0
- strb r0, [r1]
- b _08097E50
- .align 2, 0
-_08097E3C: .4byte gUnknown_810E074
-_08097E40:
- ldr r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, 0x1
- adds r4, 0x1
- cmp r4, 0x63
- ble _08097E1E
-_08097E50:
- add r0, sp, 0x18C
- bl strlen
- mov r1, sp
- add r1, r10
- str r0, [r1]
- adds r7, r6, 0
- cmp r6, 0x62
- bgt _08097E6E
- lsls r0, r6, 3
- ldr r1, _08097EB4
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _08097E0E
-_08097E6E:
- mov r2, r8
- ldrb r0, [r2]
- cmp r0, 0
- beq _08097F2C
- ldr r3, _08097EB4
-_08097E78:
- cmp r0, 0x23
- bne _08097F08
- movs r7, 0
- adds r1, r3, 0
- ldr r0, [r1]
- cmp r0, 0
- beq _08097F20
- mov r2, r9
- lsls r0, r2, 2
- ldr r2, [sp, 0x1F0]
- adds r0, r2
- mov r10, r0
-_08097E90:
- lsls r4, r7, 3
- adds r0, r4, r1
- ldr r0, [r0]
- lsls r1, r7, 2
- add r1, sp
- ldr r2, [r1]
- mov r1, r8
- str r3, [sp, 0x1F4]
- bl sub_800B2D4
- lsls r0, 24
- adds r5, r4, 0
- adds r6, r7, 0x1
- ldr r3, [sp, 0x1F4]
- cmp r0, 0
- bne _08097EF0
- movs r4, 0
- b _08097EBA
- .align 2, 0
-_08097EB4: .4byte gUnknown_810E074
-_08097EB8:
- adds r4, 0x1
-_08097EBA:
- cmp r4, r9
- bge _08097ED6
- adds r0, r5, r3
- lsls r1, r4, 2
- ldr r2, [sp, 0x1F0]
- adds r1, r2
- ldr r1, [r1]
- str r3, [sp, 0x1F4]
- bl sub_8097DD0
- lsls r0, 24
- ldr r3, [sp, 0x1F4]
- cmp r0, 0
- beq _08097EB8
-_08097ED6:
- cmp r4, r9
- bne _08097EF0
- mov r0, r9
- cmp r0, 0x3
- bgt _08097EF0
- adds r0, r5, r3
- mov r1, r10
- adds r1, 0x4
- mov r10, r1
- subs r1, 0x4
- stm r1!, {r0}
- movs r2, 0x1
- add r9, r2
-_08097EF0:
- adds r7, r6, 0
- cmp r6, 0x62
- bgt _08097F20
- ldr r1, _08097F04
- lsls r0, r6, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _08097E90
- b _08097F20
- .align 2, 0
-_08097F04: .4byte gUnknown_810E074
-_08097F08:
- mov r0, r8
- ldrb r1, [r0]
- adds r0, r1, 0
- adds r0, 0x7F
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _08097F1C
- cmp r1, 0x87
- bne _08097F20
-_08097F1C:
- movs r1, 0x1
- add r8, r1
-_08097F20:
- movs r2, 0x1
- add r8, r2
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0
- bne _08097E78
-_08097F2C:
- mov r0, r9
- add sp, 0x1F8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8097DF0
-
- thumb_func_start sub_8097F40
-sub_8097F40:
- push {lr}
- movs r2, 0
- ldr r1, _08097F58
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08097F50
- movs r2, 0x1
-_08097F50:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08097F58: .4byte gUnknown_810ACC0
- thumb_func_end sub_8097F40
-
- thumb_func_start sub_8097F5C
-sub_8097F5C:
- ldr r1, _08097F64
- ldr r0, _08097F68
- str r0, [r1]
- bx lr
- .align 2, 0
-_08097F64: .4byte gUnknown_203B498
-_08097F68: .4byte gUnknown_2039840
- thumb_func_end sub_8097F5C
-
- thumb_func_start sub_8097F6C
-sub_8097F6C:
- ldr r0, _08097F70
- bx lr
- .align 2, 0
-_08097F70: .4byte gUnknown_2039840
- thumb_func_end sub_8097F6C
-
- thumb_func_start sub_8097F74
-sub_8097F74:
- push {r4,lr}
- ldr r4, _08097FA0
- ldr r0, [r4]
- movs r1, 0
- movs r2, 0x64
- bl memset
- movs r2, 0
- ldr r3, _08097FA4
-_08097F86:
- ldr r0, [r4]
- adds r0, 0x58
- adds r0, r2
- ldrb r1, [r3, 0x2]
- strb r1, [r0]
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0xB
- ble _08097F86
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097FA0: .4byte gUnknown_203B498
-_08097FA4: .4byte gUnknown_810AD0C
- thumb_func_end sub_8097F74
-
- thumb_func_start sub_8097FA8
-sub_8097FA8:
- lsls r0, 24
- ldr r1, _08097FCC
- ldr r3, [r1]
- lsrs r1, r0, 29
- lsls r1, 2
- adds r3, 0x48
- adds r3, r1
- movs r1, 0xF8
- lsls r1, 21
- ands r1, r0
- lsrs r1, 24
- movs r2, 0x1
- lsls r2, r1
- ldr r0, [r3]
- orrs r0, r2
- str r0, [r3]
- bx lr
- .align 2, 0
-_08097FCC: .4byte gUnknown_203B498
- thumb_func_end sub_8097FA8
-
- thumb_func_start sub_8097FD0
-sub_8097FD0:
- lsls r0, 24
- ldr r1, _08097FF4
- ldr r3, [r1]
- lsrs r1, r0, 29
- lsls r1, 2
- adds r3, 0x3C
- adds r3, r1
- movs r1, 0xF8
- lsls r1, 21
- ands r1, r0
- lsrs r1, 24
- movs r2, 0x1
- lsls r2, r1
- ldr r0, [r3]
- orrs r0, r2
- str r0, [r3]
- bx lr
- .align 2, 0
-_08097FF4: .4byte gUnknown_203B498
- thumb_func_end sub_8097FD0
-
- thumb_func_start sub_8097FF8
-sub_8097FF8:
- push {r4-r7,lr}
- movs r4, 0
- ldr r6, _08098040
- movs r7, 0x1
-_08098000:
- ldr r5, [r6]
- adds r0, r4, 0
- cmp r4, 0
- bge _0809800A
- adds r0, 0x1F
-_0809800A:
- asrs r0, 5
- lsls r3, r0, 2
- adds r1, r5, 0
- adds r1, 0x48
- adds r1, r3
- lsls r0, 5
- subs r0, r4, r0
- adds r2, r7, 0
- lsls r2, r0
- ldr r0, [r1]
- ands r0, r2
- cmp r0, 0
- beq _08098030
- adds r1, r5, 0
- adds r1, 0x3C
- adds r1, r3
- ldr r0, [r1]
- orrs r0, r2
- str r0, [r1]
-_08098030:
- adds r4, 0x1
- cmp r4, 0x3F
- ble _08098000
- bl sub_8098080
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08098040: .4byte gUnknown_203B498
- thumb_func_end sub_8097FF8
-
- thumb_func_start sub_8098044
-sub_8098044:
- push {r4,r5,lr}
- lsls r0, 24
- ldr r1, _0809807C
- ldr r3, [r1]
- lsrs r5, r0, 29
- lsls r5, 2
- adds r4, r3, 0
- adds r4, 0x3C
- adds r4, r5
- movs r1, 0xF8
- lsls r1, 21
- ands r1, r0
- lsrs r1, 24
- movs r2, 0x1
- lsls r2, r1
- mvns r2, r2
- ldr r0, [r4]
- ands r0, r2
- str r0, [r4]
- adds r3, 0x48
- adds r3, r5
- ldr r0, [r3]
- ands r0, r2
- str r0, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809807C: .4byte gUnknown_203B498
- thumb_func_end sub_8098044
-
- thumb_func_start sub_8098080
-sub_8098080:
- push {r4,lr}
- movs r2, 0
- ldr r4, _080980A0
- movs r3, 0
-_08098088:
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, 0x48
- adds r0, r1
- str r3, [r0]
- adds r2, 0x1
- cmp r2, 0x2
- ble _08098088
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080980A0: .4byte gUnknown_203B498
- thumb_func_end sub_8098080
-
- thumb_func_start sub_80980A4
-sub_80980A4:
- ldr r0, _080980B0
- ldr r2, [r0]
- ldrb r0, [r2]
- movs r1, 0x1
- strb r1, [r2]
- bx lr
- .align 2, 0
-_080980B0: .4byte gUnknown_203B498
- thumb_func_end sub_80980A4
-
- thumb_func_start sub_80980B4
-sub_80980B4:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r3, r1, 0
- ldr r0, _080980F8
- cmp r1, r0
- beq _080980F4
- adds r0, 0x1
- cmp r1, r0
- beq _080980F4
- adds r0, 0x1
- cmp r1, r0
- beq _080980F4
- ldr r0, _080980FC
- ldr r2, [r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _080980DA
- adds r0, 0x1F
-_080980DA:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x4
- adds r2, r1
- lsls r0, 5
- subs r0, r3, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
-_080980F4:
- pop {r0}
- bx r0
- .align 2, 0
-_080980F8: .4byte 0x000001a5
-_080980FC: .4byte gUnknown_203B498
- thumb_func_end sub_80980B4
-
- thumb_func_start sub_8098100
-sub_8098100:
- push {lr}
- lsls r1, r0, 24
- lsrs r3, r1, 24
- cmp r3, 0x3F
- bls _0809810E
- movs r0, 0
- b _0809812C
-_0809810E:
- ldr r0, _08098130
- ldr r2, [r0]
- lsrs r0, r1, 29
- lsls r0, 2
- adds r2, 0x3C
- adds r2, r0
- movs r0, 0x1F
- ands r0, r3
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- beq _0809812C
- movs r0, 0x1
-_0809812C:
- pop {r1}
- bx r1
- .align 2, 0
-_08098130: .4byte gUnknown_203B498
- thumb_func_end sub_8098100
-
- thumb_func_start sub_8098134
-sub_8098134:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r3, r1, 0
- ldr r0, _0809816C
- ldr r2, [r0]
- adds r0, r1, 0
- cmp r1, 0
- bge _08098148
- adds r0, 0x1F
-_08098148:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x4
- adds r2, r1
- lsls r0, 5
- subs r0, r3, r0
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- beq _08098166
- movs r0, 0x1
-_08098166:
- pop {r1}
- bx r1
- .align 2, 0
-_0809816C: .4byte gUnknown_203B498
- thumb_func_end sub_8098134
-
- thumb_func_start sub_8098170
-sub_8098170:
- push {lr}
- adds r3, r0, 0
- ldr r0, _0809819C
- ldr r2, [r0]
- adds r0, r3, 0
- cmp r3, 0
- bge _08098180
- adds r0, 0x1F
-_08098180:
- asrs r0, 5
- lsls r1, r0, 2
- adds r2, 0x54
- adds r2, r1
- lsls r0, 5
- subs r0, r3, r0
- movs r1, 0x1
- lsls r1, r0
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_0809819C: .4byte gUnknown_203B498
- thumb_func_end sub_8098170
-
- thumb_func_start sub_80981A0
-sub_80981A0:
- push {lr}
- adds r3, r0, 0
- cmp r3, 0x1E
- ble _080981AC
- movs r0, 0
- b _080981D4
-_080981AC:
- ldr r0, _080981D8
- ldr r2, [r0]
- adds r1, r3, 0
- cmp r3, 0
- bge _080981B8
- adds r1, 0x1F
-_080981B8:
- asrs r1, 5
- lsls r0, r1, 2
- adds r2, 0x54
- adds r2, r0
- lsls r1, 5
- subs r1, r3, r1
- movs r0, 0x1
- lsls r0, r1
- ldr r2, [r2]
- ands r2, r0
- cmp r2, 0
- beq _080981D2
- movs r2, 0x1
-_080981D2:
- adds r0, r2, 0
-_080981D4:
- pop {r1}
- bx r1
- .align 2, 0
-_080981D8: .4byte gUnknown_203B498
- thumb_func_end sub_80981A0
-
- thumb_func_start sub_80981DC
-sub_80981DC:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r3, r0, 16
- movs r1, 0
- ldr r4, _080981FC
- ldr r2, _08098200
-_080981E8:
- movs r5, 0
- ldrsh r0, [r2, r5]
- cmp r0, r3
- bne _08098204
- ldr r0, [r4]
- adds r0, 0x58
- adds r0, r1
- ldrb r0, [r0]
- b _0809820E
- .align 2, 0
-_080981FC: .4byte gUnknown_203B498
-_08098200: .4byte gUnknown_810AD0C
-_08098204:
- adds r2, 0x4
- adds r1, 0x1
- cmp r1, 0xB
- ble _080981E8
- movs r0, 0x1
-_0809820E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80981DC
-
- thumb_func_start sub_8098214
-sub_8098214:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r3, r0, 16
- movs r1, 0
- ldr r5, _08098240
- movs r4, 0x1
- ldr r2, _08098244
-_08098222:
- movs r6, 0
- ldrsh r0, [r2, r6]
- cmp r0, r3
- bne _08098232
- ldr r0, [r5]
- adds r0, 0x58
- adds r0, r1
- strb r4, [r0]
-_08098232:
- adds r2, 0x4
- adds r1, 0x1
- cmp r1, 0xB
- ble _08098222
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08098240: .4byte gUnknown_203B498
-_08098244: .4byte gUnknown_810AD0C
- thumb_func_end sub_8098214
-
- thumb_func_start sub_8098248
-sub_8098248:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r7, r0, 0
- mov r5, sp
- adds r5, 0x3
- movs r0, 0xFF
- strb r0, [r5]
- add r4, sp, 0x4
- movs r0, 0
- strb r0, [r4]
- ldr r0, _08098300
- ldr r1, [r0]
- adds r0, r7, 0
- movs r2, 0x1
- bl sub_809488C
- movs r6, 0
- mov r9, r5
- mov r8, r4
- mov r4, sp
- adds r4, 0x1
- mov r5, sp
- adds r5, 0x2
-_0809827C:
- lsls r0, r6, 16
- asrs r0, 16
- bl sub_8098134
- mov r1, sp
- strb r0, [r1]
- adds r0, r7, 0
- movs r2, 0x1
- bl sub_809488C
- adds r6, 0x1
- ldr r0, _08098304
- cmp r6, r0
- ble _0809827C
- movs r6, 0
-_0809829A:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_8098100
- strb r0, [r4]
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_809488C
- adds r6, 0x1
- cmp r6, 0x3F
- ble _0809829A
- movs r6, 0
- adds r4, r5, 0
-_080982B8:
- adds r0, r6, 0
- bl sub_80981A0
- strb r0, [r4]
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_809488C
- adds r6, 0x1
- cmp r6, 0x1E
- ble _080982B8
- movs r6, 0
-_080982D2:
- ldr r0, _08098300
- ldr r0, [r0]
- adds r0, 0x58
- adds r0, r6
- ldrb r0, [r0]
- mov r1, r8
- cmp r0, 0
- beq _080982E4
- mov r1, r9
-_080982E4:
- adds r0, r7, 0
- movs r2, 0x1
- bl sub_809488C
- adds r6, 0x1
- cmp r6, 0xB
- ble _080982D2
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08098300: .4byte gUnknown_203B498
-_08098304: .4byte 0x000001a7
- thumb_func_end sub_8098248
-
- thumb_func_start sub_8098308
-sub_8098308:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r4, _080983D0
- ldr r0, [r4]
- movs r1, 0
- movs r2, 0x64
- bl memset
- ldr r1, [r4]
- adds r0, r6, 0
- movs r2, 0x1
- bl sub_8094924
- movs r4, 0
- mov r5, sp
- adds r5, 0x1
- mov r7, sp
- adds r7, 0x2
- movs r0, 0x3
- add r0, sp
- mov r8, r0
-_08098338:
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098352
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_80980B4
-_08098352:
- adds r4, 0x1
- ldr r0, _080983D4
- cmp r4, r0
- ble _08098338
- movs r4, 0
-_0809835C:
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8094924
- ldrb r0, [r5]
- cmp r0, 0
- beq _08098374
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8097FA8
-_08098374:
- adds r4, 0x1
- cmp r4, 0x3F
- ble _0809835C
- movs r4, 0
- adds r5, r7, 0
-_0809837E:
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8094924
- ldrb r0, [r5]
- cmp r0, 0
- beq _08098394
- adds r0, r4, 0
- bl sub_8098170
-_08098394:
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809837E
- movs r4, 0
-_0809839C:
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0x1
- bl sub_8094924
- ldr r0, _080983D0
- ldr r1, [r0]
- adds r1, 0x58
- adds r1, r4
- mov r0, sp
- adds r0, 0x3
- ldrb r2, [r0]
- movs r0, 0x1
- ands r0, r2
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0xB
- ble _0809839C
- bl sub_8097FF8
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080983D0: .4byte gUnknown_203B498
-_080983D4: .4byte 0x000001a7
- thumb_func_end sub_8098308
-
- thumb_func_start sub_80983D8
-sub_80983D8:
- push {r4,lr}
- movs r2, 0
- ldrsh r3, [r1, r2]
- movs r4, 0
- ldrsh r2, [r0, r4]
- subs r2, r3, r2
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- subs r1, r0
- cmp r2, 0
- bne _080983FA
- cmp r1, 0
- bne _080983FA
- movs r0, 0
- b _08098428
-_080983FA:
- cmp r2, 0
- ble _08098400
- movs r2, 0x1
-_08098400:
- cmp r1, 0
- ble _08098406
- movs r1, 0x1
-_08098406:
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bgt _08098410
- adds r2, r0, 0
-_08098410:
- cmp r1, r0
- bgt _08098416
- adds r1, r0, 0
-_08098416:
- ldr r3, _08098430
- adds r2, 0x1
- adds r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
-_08098428:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08098430: .4byte gUnknown_8115E94
- thumb_func_end sub_80983D8
-
- thumb_func_start sub_8098434
-sub_8098434:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- movs r0, 0
- ldrsh r1, [r3, r0]
- movs r2, 0
- ldrsh r0, [r4, r2]
- subs r2, r1, r0
- cmp r2, 0
- bge _0809844A
- negs r2, r2
-_0809844A:
- movs r0, 0x2
- ldrsh r1, [r3, r0]
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- subs r0, r1, r0
- cmp r0, 0
- bge _0809845A
- negs r0, r0
-_0809845A:
- cmp r0, r2
- bge _08098460
- adds r0, r2, 0
-_08098460:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098434
-
- thumb_func_start xxx_script_related_8098468
-xxx_script_related_8098468:
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r1, _08098494
- str r0, [r1]
- ldr r4, _08098498
- movs r2, 0
- strb r2, [r4]
- ldr r3, _0809849C
- movs r1, 0x1
- strb r1, [r3]
- ldr r1, _080984A0
- strb r2, [r1]
- subs r0, 0xD
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _08098504
- lsls r0, 2
- ldr r1, _080984A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08098494: .4byte gUnknown_20398B4
-_08098498: .4byte gUnknown_20398B9
-_0809849C: .4byte gUnknown_20398B8
-_080984A0: .4byte gUnknown_20398BA
-_080984A4: .4byte _080984A8
- .align 2, 0
-_080984A8:
- .4byte _080984BC
- .4byte _080984C8
- .4byte _080984CE
- .4byte _080984D4
- .4byte _080984FC
-_080984BC:
- movs r1, 0x1
- strb r1, [r2]
- movs r0, 0
- strb r0, [r3]
- strb r1, [r4]
- b _08098504
-_080984C8:
- movs r0, 0x1
- strb r0, [r3]
- b _08098502
-_080984CE:
- movs r0, 0x1
- strb r0, [r3]
- b _08098502
-_080984D4:
- add r2, sp, 0x4
- movs r0, 0x3
- mov r1, sp
- bl sub_8001B88
- ldr r2, _080984F4
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0
- bne _080984EA
- movs r1, 0x1
-_080984EA:
- strb r1, [r2]
- ldr r1, _080984F8
- movs r0, 0x1
- strb r0, [r1]
- b _08098504
- .align 2, 0
-_080984F4: .4byte gUnknown_20398B8
-_080984F8: .4byte gUnknown_20398B9
-_080984FC:
- movs r0, 0
- strb r0, [r3]
- movs r0, 0x1
-_08098502:
- strb r0, [r4]
-_08098504:
- bl sub_801180C
- ldr r0, _080985B0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08098522
- movs r0, 0xD
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08098522
- movs r0, 0x10
- bl sub_80118C4
-_08098522:
- ldr r1, _080985B4
- ldr r2, _080985B8
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- bl xxx_update_some_bg_tiles
- bl sub_8099648
- bl sub_809975C
- bl sub_809D0AC
- bl sub_80A7744
- bl sub_809D490
- bl sub_80A62F0
- bl sub_809C5C4
- bl sub_809A560
- bl sub_809CB50
- bl sub_80A4A7C
- bl nullsub_117
- bl sub_80AD990
- bl sub_80A77F8
- bl sub_80ABB54
- bl sub_80ACB90
- bl sub_809A62C
- ldr r0, _080985BC
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080985C0
- strb r1, [r0]
- ldr r6, _080985C4
- movs r0, 0x1
- str r0, [r6]
- ldr r1, _080985C8
- movs r0, 0
- str r0, [r1]
- ldr r0, _080985CC
- movs r4, 0x1
- negs r4, r4
- str r4, [r0]
- ldr r5, _080985D0
- movs r0, 0
- movs r1, 0xD
- bl sub_8001658
- strh r0, [r5]
- movs r0, 0
- movs r1, 0xE
- bl sub_8001658
- ldr r1, _080985D4
- str r0, [r1]
- ldr r0, _080985D8
- strh r4, [r0]
- adds r7, r4, 0
- ldr r0, [r6]
- b _08098988
- .align 2, 0
-_080985B0: .4byte gUnknown_20398B9
-_080985B4: .4byte gUnknown_2026E4E
-_080985B8: .4byte 0x00000808
-_080985BC: .4byte gUnknown_203B49C
-_080985C0: .4byte gUnknown_203B49D
-_080985C4: .4byte gUnknown_20398A8
-_080985C8: .4byte gUnknown_20398AC
-_080985CC: .4byte gUnknown_20398B0
-_080985D0: .4byte gUnknown_20398BE
-_080985D4: .4byte gUnknown_20398C0
-_080985D8: .4byte gUnknown_20398C4
-_080985DC:
- movs r0, 0x1
- negs r0, r0
- bl sub_809A71C
- bl sub_809A76C
- bl sub_809977C
- ldr r0, _08098600
- ldr r0, [r0]
- cmp r0, 0x11
- bls _080985F6
- b _08098756
-_080985F6:
- lsls r0, 2
- ldr r1, _08098604
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08098600: .4byte gUnknown_20398B4
-_08098604: .4byte _08098608
- .align 2, 0
-_08098608:
- .4byte _08098650
- .4byte _08098756
- .4byte _08098660
- .4byte _08098660
- .4byte _08098756
- .4byte _08098666
- .4byte _08098756
- .4byte _08098756
- .4byte _08098756
- .4byte _0809866A
- .4byte _0809866A
- .4byte _0809866A
- .4byte _0809866A
- .4byte _0809870C
- .4byte _08098748
- .4byte _0809874C
- .4byte _08098750
- .4byte _08098754
-_08098650:
- bl sub_8098C58
- ldr r1, _0809865C
- movs r0, 0x1
- str r0, [r1]
- b _08098756
- .align 2, 0
-_0809865C: .4byte gUnknown_20398B4
-_08098660:
- bl sub_8001D88
- b _08098756
-_08098666:
- movs r7, 0x70
- b _08098756
-_0809866A:
- ldr r0, _080986BC
- ldr r2, [r0]
- movs r0, 0
- movs r1, 0x16
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x25
- movs r2, 0
- bl sub_80018D8
- bl sub_8098C58
- movs r0, 0
- movs r1, 0x15
- movs r2, 0x1
- movs r3, 0x2
- bl sub_800226C
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r4, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08098756
- cmp r4, 0x51
- bne _080986C0
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- b _080986C6
- .align 2, 0
-_080986BC: .4byte gUnknown_20398B4
-_080986C0:
- adds r0, r4, 0
- bl sub_80A2608
-_080986C6:
- movs r1, 0xA
- ldrsh r7, [r0, r1]
- ldr r5, _08098700
- ldr r0, [r5]
- cmp r0, 0x9
- bne _080986E0
- lsls r2, r4, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x31
- movs r3, 0x1
- bl sub_800199C
-_080986E0:
- ldr r0, [r5]
- bl sub_8098FCC
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08098756
- ldr r0, _08098704
- strh r1, [r0]
- ldr r1, _08098708
- movs r0, 0
- str r0, [r1]
- b _08098756
- .align 2, 0
-_08098700: .4byte gUnknown_20398B4
-_08098704: .4byte gUnknown_20398BE
-_08098708: .4byte gUnknown_20398C0
-_0809870C:
- bl sub_8098C58
- ldr r1, _08098744
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x1
- bl sub_80018D8
- movs r0, 0
- movs r1, 0xF
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0xD
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0xE
- movs r2, 0
- bl sub_80018D8
- movs r7, 0x71
- b _08098756
- .align 2, 0
-_08098744: .4byte gUnknown_20398B4
-_08098748:
- movs r7, 0x73
- b _08098756
-_0809874C:
- movs r7, 0x74
- b _08098756
-_08098750:
- movs r7, 0x75
- b _08098756
-_08098754:
- movs r7, 0x76
-_08098756:
- ldr r0, _08098790
- ldrb r0, [r0]
- cmp r0, 0
- bne _080987C0
- movs r0, 0
- movs r1, 0xD
- bl sub_8001658
- adds r5, r0, 0
- ldr r4, _08098794
- ldr r2, [r4]
- movs r0, 0
- movs r1, 0x18
- bl sub_80018D8
- ldr r4, [r4]
- cmp r4, 0x1
- beq _080987A6
- cmp r4, 0x3
- bne _0809879C
- ldr r0, _08098798
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- movs r1, 0xF
- bl sub_80018D8
- b _080987A6
- .align 2, 0
-_08098790: .4byte gUnknown_20398B9
-_08098794: .4byte gUnknown_20398B4
-_08098798: .4byte gUnknown_20398BE
-_0809879C:
- movs r0, 0
- movs r1, 0xF
- adds r2, r5, 0
- bl sub_80018D8
-_080987A6:
- ldr r0, _0809882C
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- movs r1, 0xD
- bl sub_80018D8
- ldr r0, _08098830
- ldr r2, [r0]
- movs r0, 0
- movs r1, 0xE
- bl sub_80018D8
-_080987C0:
- ldr r1, _08098834
- movs r0, 0x2
- str r0, [r1]
- ldr r0, _08098838
- movs r1, 0
- str r1, [r0]
- ldr r0, _0809883C
- str r1, [r0]
- ldr r0, _08098840
- movs r4, 0x1
- negs r4, r4
- str r4, [r0]
- ldr r2, _08098844
- ldr r1, _0809882C
- ldrh r0, [r1]
- strh r0, [r2]
- strh r4, [r1]
- bl sub_809977C
- bl sub_809D4B0
- adds r0, r4, 0
- bl GroundSprite_Reset
- bl sub_809C63C
- bl sub_809A62C
- bl sub_80A4AEC
- bl sub_809D0BC
- bl sub_80AD9D0
- bl sub_80A786C
- bl sub_80ABB98
- bl sub_80ACBD4
- bl sub_809C658
- bl nullsub_16
- bl sub_8097944
- cmp r7, r4
- beq _08098848
- adds r0, r7, 0
- movs r1, 0
- bl GroundMap_ExecuteEvent
- b _08098850
- .align 2, 0
-_0809882C: .4byte gUnknown_20398BE
-_08098830: .4byte gUnknown_20398C0
-_08098834: .4byte gUnknown_20398B4
-_08098838: .4byte gUnknown_20398A8
-_0809883C: .4byte gUnknown_20398AC
-_08098840: .4byte gUnknown_20398B0
-_08098844: .4byte gUnknown_20398BC
-_08098848:
- movs r0, 0x66
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_08098850:
- bl GroundMap_Action
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- bl sub_80060EC
- bl xxx_call_update_bg_sound_input
-_08098864:
- bl xxx_call_update_bg_sound_input
- bl sub_80A6E68
- ldr r0, _08098890
- ldr r0, [r0]
- cmp r0, 0
- beq _080988B2
- ldr r1, _08098894
- ldr r0, [r1]
- cmp r0, 0
- ble _0809889C
- subs r0, 0x1
- str r0, [r1]
- cmp r0, 0
- bgt _080988F8
- ldr r0, _08098898
- ldr r0, [r0]
- bl sub_80999D4
- b _080988F8
- .align 2, 0
-_08098890: .4byte gUnknown_20398A8
-_08098894: .4byte gUnknown_20398AC
-_08098898: .4byte gUnknown_20398B0
-_0809889C:
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- bne _080988F8
- bl sub_809C740
- lsls r0, 24
- cmp r0, 0
- bne _0809897C
- b _080988F8
-_080988B2:
- ldr r0, _08098968
- ldrb r0, [r0]
- cmp r0, 0
- beq _080988F8
- ldr r0, _0809896C
- ldrb r0, [r0]
- cmp r0, 0
- bne _080988F8
- bl sub_809AFAC
- lsls r0, 24
- cmp r0, 0
- bne _080988F8
- ldr r0, _08098970
- ldrh r0, [r0, 0x2]
- ldr r2, _08098974
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080988E4
- bl sub_80048BC
- lsls r0, 24
- cmp r0, 0
- beq _080988F8
-_080988E4:
- movs r0, 0x72
- movs r1, 0
- bl GroundMap_ExecuteEvent
- movs r0, 0x1E
- bl sub_8098F44
- movs r0, 0x1E
- bl sub_80118C4
-_080988F8:
- bl GroundMap_Action
- bl nullsub_124
- bl GroundLives_Action
- bl GroundObject_Action
- bl GroundEffect_Action
- bl nullsub_105
- bl sub_809B474
- bl GroundScript_Unlock
- bl sub_809D25C
- bl sub_80A59DC
- bl sub_809B614
- bl sub_809CA20
- bl sub_80A6E80
- bl sub_8099BE4
- bl sub_8099744
- bl sub_8011860
- ldr r0, _08098978
- ldr r0, [r0]
- bl sub_8094FB4
- bl sub_800CB20
- bl sub_800485C
- bl nullsub_120
- bl sub_80A5E70
- bl sub_809B638
- bl nullsub_106
- bl sub_80A73EC
- bl sub_8099750
- bl sub_8009908
- b _08098864
- .align 2, 0
-_08098968: .4byte gUnknown_20398B9
-_0809896C: .4byte gUnknown_20398B8
-_08098970: .4byte gUnknown_20255F0
-_08098974: .4byte 0x0000030f
-_08098978: .4byte gUnknown_203B47C
-_0809897C:
- bl sub_80A4AEC
- movs r7, 0x1
- negs r7, r7
- ldr r0, _080989E8
- ldr r0, [r0]
-_08098988:
- subs r0, 0x1
- cmp r0, 0x1
- bhi _08098990
- b _080985DC
-_08098990:
- bl sub_80A4AC4
- bl nullsub_118
- bl sub_80A78F0
- bl sub_80ABBD4
- bl sub_80ACC10
- bl sub_80ADA08
- bl sub_809CB74
- bl sub_809A610
- bl sub_809C618
- bl sub_80A658C
- bl sub_809D508
- bl sub_80A7754
- bl nullsub_119
- bl sub_8099768
- bl nullsub_103
- bl nullsub_16
- ldr r0, _080989EC
- ldrb r0, [r0]
- cmp r0, 0
- beq _080989FA
- ldr r0, _080989E8
- ldr r0, [r0]
- cmp r0, 0x9
- beq _080989F0
- cmp r0, 0xA
- bne _080989F0
- movs r0, 0x10
- b _08098BD2
- .align 2, 0
-_080989E8: .4byte gUnknown_20398A8
-_080989EC: .4byte gUnknown_20398B9
-_080989F0:
- movs r0, 0x1E
- bl sub_80118C4
- movs r0, 0xF
- b _08098BD2
-_080989FA:
- ldr r0, _08098A10
- ldr r0, [r0]
- subs r0, 0x3
- cmp r0, 0x5
- bls _08098A06
- b _08098BC0
-_08098A06:
- lsls r0, 2
- ldr r1, _08098A14
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08098A10: .4byte gUnknown_20398A8
-_08098A14: .4byte _08098A18
- .align 2, 0
-_08098A18:
- .4byte _08098A30
- .4byte _08098A72
- .4byte _08098AA0
- .4byte _08098B08
- .4byte _08098B58
- .4byte _08098B8C
-_08098A30:
- movs r4, 0x1
- negs r4, r4
- movs r0, 0
- movs r1, 0x13
- adds r2, r4, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x14
- adds r2, r4, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x4
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x4
- bl sub_80018D8
- movs r0, 0
- movs r1, 0xD
- bl sub_8001658
- adds r2, r0, 0
- movs r0, 0
- movs r1, 0xF
- bl sub_80018D8
- movs r0, 0x5
- b _08098BD2
-_08098A72:
- movs r0, 0
- movs r1, 0x13
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x5
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x5
- bl sub_80018D8
- movs r2, 0x1
- negs r2, r2
- movs r0, 0
- movs r1, 0x13
- bl sub_80018D8
- movs r0, 0x6
- b _08098BD2
-_08098AA0:
- ldr r5, _08098B04
- movs r1, 0
- ldrsh r0, [r5, r1]
- bl sub_80A2654
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- movs r0, 0
- ldrsh r2, [r5, r0]
- movs r0, 0
- movs r1, 0x13
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x14
- adds r2, r4, 0
- bl sub_80018D8
- ldrh r2, [r5]
- movs r0, 0
- movs r1, 0x30
- movs r3, 0x1
- bl sub_800199C
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _08098B00
- movs r0, 0
- movs r1, 0x11
- movs r2, 0
- bl sub_80018D8
-_08098B00:
- movs r0, 0x7
- b _08098BD2
- .align 2, 0
-_08098B04: .4byte gUnknown_20398C4
-_08098B08:
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x51
- bl sub_80018D8
- ldr r0, _08098B54
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- movs r1, 0x14
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _08098B4E
- movs r0, 0
- movs r1, 0x11
- movs r2, 0
- bl sub_80018D8
-_08098B4E:
- movs r0, 0x8
- b _08098BD2
- .align 2, 0
-_08098B54: .4byte gUnknown_20398C4
-_08098B58:
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x50
- bl sub_80018D8
- ldr r0, _08098B88
- ldrb r2, [r0]
- movs r0, 0
- movs r1, 0x14
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0x9
- b _08098BD2
- .align 2, 0
-_08098B88: .4byte gUnknown_2039950
-_08098B8C:
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x52
- bl sub_80018D8
- ldr r0, _08098BBC
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- movs r1, 0x14
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0xA
- b _08098BD2
- .align 2, 0
-_08098BBC: .4byte gUnknown_20398C4
-_08098BC0:
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x1
- bl sub_80018D8
- movs r0, 0x10
- bl sub_80118C4
- movs r0, 0xE
-_08098BD2:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end xxx_script_related_8098468
-
- thumb_func_start sub_8098BDC
-sub_8098BDC:
- push {lr}
- bl sub_809B57C
- bl GroundScript_Unlock
- bl sub_809D25C
- bl sub_80A59DC
- bl sub_809B614
- bl sub_809CA20
- bl sub_80A6E80
- bl sub_8099BE4
- bl sub_8099744
- bl sub_8011860
- ldr r0, _08098C54
- ldr r0, [r0]
- bl sub_8094FB4
- bl sub_800CB20
- bl sub_800485C
- bl nullsub_120
- bl sub_80A5E70
- bl sub_809B638
- bl nullsub_106
- bl sub_80A73EC
- bl sub_8099750
- bl sub_8009908
- bl xxx_call_update_bg_sound_input
- bl sub_80A6E68
- bl GroundMap_Action
- bl nullsub_124
- bl GroundLives_Action
- bl GroundObject_Action
- bl GroundEffect_Action
- pop {r0}
- bx r0
- .align 2, 0
-_08098C54: .4byte gUnknown_203B47C
- thumb_func_end sub_8098BDC
-
- thumb_func_start sub_8098C58
-sub_8098C58:
- push {lr}
- movs r0, 0
- movs r1, 0x36
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x39
- bl sub_80015C0
- bl sub_809CB8C
- bl sub_8001D88
- movs r0, 0
- movs r1, 0x2A
- bl sub_8001658
- cmp r0, 0
- beq _08098CA2
- movs r0, 0
- movs r1, 0x29
- bl sub_8001658
- adds r2, r0, 0
- adds r2, 0x1
- cmp r2, 0xF
- ble _08098C90
- movs r2, 0
-_08098C90:
- movs r0, 0
- movs r1, 0x29
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x2A
- movs r2, 0
- bl sub_80018D8
-_08098CA2:
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- bl sub_8001784
- adds r3, r0, 0
- cmp r3, 0
- bgt _08098CB4
- movs r3, 0x1
-_08098CB4:
- subs r3, 0x1
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- bl sub_800199C
- bl sub_8098CC8
- pop {r0}
- bx r0
- thumb_func_end sub_8098C58
-
- thumb_func_start sub_8098CC8
-sub_8098CC8:
- push {lr}
- movs r0, 0x3
- movs r1, 0xB
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _08098CDE
- movs r1, 0
- b _08098D06
-_08098CDE:
- movs r0, 0x3
- movs r1, 0xF
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _08098CF2
- movs r1, 0x1
- b _08098D06
-_08098CF2:
- movs r0, 0x3
- movs r1, 0x12
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- movs r1, 0x3
- cmp r0, 0
- beq _08098D06
- movs r1, 0x2
-_08098D06:
- adds r0, r1, 0
- bl sub_8091980
- bl sub_809674C
- bl sub_80961B4
- bl sub_8091FB4
- pop {r0}
- bx r0
- thumb_func_end sub_8098CC8
-
- thumb_func_start sub_8098D1C
-sub_8098D1C:
- push {r4-r7,lr}
- adds r7, r1, 0
- adds r4, r2, 0
- lsls r0, 16
- asrs r5, r0, 16
- ldr r6, _08098D34
- ldr r0, [r6]
- cmp r0, 0
- beq _08098D38
- movs r0, 0
- b _08098D60
- .align 2, 0
-_08098D34: .4byte gUnknown_20398A8
-_08098D38:
- ldr r1, _08098D68
- movs r0, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl Log
- movs r1, 0x1
- str r1, [r6]
- ldr r0, _08098D6C
- str r1, [r0]
- ldr r0, _08098D70
- str r4, [r0]
- ldr r1, _08098D74
- movs r0, 0x2
- str r0, [r1]
- ldr r0, _08098D78
- strh r5, [r0]
- ldr r0, _08098D7C
- str r7, [r0]
- movs r0, 0x1
-_08098D60:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08098D68: .4byte gUnknown_8115F5C
-_08098D6C: .4byte gUnknown_20398AC
-_08098D70: .4byte gUnknown_20398B0
-_08098D74: .4byte gUnknown_20398B4
-_08098D78: .4byte gUnknown_20398BE
-_08098D7C: .4byte gUnknown_20398C0
- thumb_func_end sub_8098D1C
-
- thumb_func_start sub_8098D80
-sub_8098D80:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08098DB8
- ldr r0, [r1]
- cmp r0, 0
- bne _08098DC4
- movs r0, 0x3
- str r0, [r1]
- ldr r1, _08098DBC
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098DC0
- str r4, [r0]
- bl sub_809C730
- movs r0, 0xD
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08098DB2
- lsls r0, r4, 16
- lsrs r0, 16
- bl sub_80118C4
-_08098DB2:
- movs r0, 0x1
- b _08098DC6
- .align 2, 0
-_08098DB8: .4byte gUnknown_20398A8
-_08098DBC: .4byte gUnknown_20398AC
-_08098DC0: .4byte gUnknown_20398B0
-_08098DC4:
- movs r0, 0
-_08098DC6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098D80
-
- thumb_func_start sub_8098DCC
-sub_8098DCC:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08098E04
- ldr r0, [r1]
- cmp r0, 0
- bne _08098E10
- movs r0, 0x4
- str r0, [r1]
- ldr r1, _08098E08
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098E0C
- str r4, [r0]
- bl sub_809C730
- movs r0, 0xD
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08098DFE
- lsls r0, r4, 16
- lsrs r0, 16
- bl sub_80118C4
-_08098DFE:
- movs r0, 0x1
- b _08098E12
- .align 2, 0
-_08098E04: .4byte gUnknown_20398A8
-_08098E08: .4byte gUnknown_20398AC
-_08098E0C: .4byte gUnknown_20398B0
-_08098E10:
- movs r0, 0
-_08098E12:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098DCC
-
- thumb_func_start sub_8098E18
-sub_8098E18:
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 16
- asrs r2, r0, 16
- adds r5, r2, 0
- ldr r4, _08098E40
- ldr r0, [r4]
- cmp r0, 0
- bne _08098EA8
- ldr r1, _08098E44
- movs r0, 0
- adds r3, r6, 0
- bl Log
- ldr r0, _08098E48
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098E4C
- movs r0, 0x7
- b _08098E8A
- .align 2, 0
-_08098E40: .4byte gUnknown_20398A8
-_08098E44: .4byte gUnknown_8115F80
-_08098E48: .4byte gUnknown_203B49D
-_08098E4C:
- ldr r0, _08098E74
- ldrb r0, [r0]
- ldr r1, _08098E78
- cmp r0, 0
- bne _08098E58
- strh r5, [r1]
-_08098E58:
- movs r2, 0
- ldrsh r0, [r1, r2]
- bl sub_80A2750
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- beq _08098E88
- cmp r0, 0x2
- bgt _08098E7C
- cmp r0, 0x1
- beq _08098E84
- b _08098E8C
- .align 2, 0
-_08098E74: .4byte gUnknown_203B49C
-_08098E78: .4byte gUnknown_20398C4
-_08098E7C:
- cmp r0, 0x4
- bne _08098E8C
- movs r0, 0x8
- b _08098E8A
-_08098E84:
- movs r0, 0x5
- b _08098E8A
-_08098E88:
- movs r0, 0x6
-_08098E8A:
- str r0, [r4]
-_08098E8C:
- ldr r0, _08098EA0
- movs r1, 0x1
- str r1, [r0]
- ldr r0, _08098EA4
- str r6, [r0]
- bl sub_809C730
- movs r0, 0x1
- b _08098EAA
- .align 2, 0
-_08098EA0: .4byte gUnknown_20398AC
-_08098EA4: .4byte gUnknown_20398B0
-_08098EA8:
- movs r0, 0
-_08098EAA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8098E18
-
- thumb_func_start sub_8098EB0
-sub_8098EB0:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08098EE4
- ldr r0, [r5]
- cmp r0, 0
- bne _08098EF8
- ldr r0, _08098EE8
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098EF8
- ldr r1, _08098EEC
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0x7
- str r0, [r5]
- ldr r1, _08098EF0
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098EF4
- str r4, [r0]
- bl sub_809C730
- movs r0, 0x1
- b _08098EFA
- .align 2, 0
-_08098EE4: .4byte gUnknown_20398A8
-_08098EE8: .4byte gUnknown_203B49D
-_08098EEC: .4byte gUnknown_8115FA4
-_08098EF0: .4byte gUnknown_20398AC
-_08098EF4: .4byte gUnknown_20398B0
-_08098EF8:
- movs r0, 0
-_08098EFA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8098EB0
-
- thumb_func_start sub_8098F00
-sub_8098F00:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08098F10
- ldr r0, [r5]
- cmp r0, 0
- beq _08098F14
- movs r0, 0
- b _08098F32
- .align 2, 0
-_08098F10: .4byte gUnknown_20398A8
-_08098F14:
- ldr r1, _08098F38
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0x9
- str r0, [r5]
- ldr r1, _08098F3C
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098F40
- str r4, [r0]
- bl sub_809C730
- movs r0, 0x1
-_08098F32:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08098F38: .4byte gUnknown_8115FC8
-_08098F3C: .4byte gUnknown_20398AC
-_08098F40: .4byte gUnknown_20398B0
- thumb_func_end sub_8098F00
-
- thumb_func_start sub_8098F44
-sub_8098F44:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08098F54
- ldr r0, [r5]
- cmp r0, 0
- beq _08098F58
- movs r0, 0
- b _08098F76
- .align 2, 0
-_08098F54: .4byte gUnknown_20398A8
-_08098F58:
- ldr r1, _08098F7C
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0xA
- str r0, [r5]
- ldr r1, _08098F80
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098F84
- str r4, [r0]
- bl sub_809C730
- movs r0, 0x1
-_08098F76:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08098F7C: .4byte gUnknown_8115FE8
-_08098F80: .4byte gUnknown_20398AC
-_08098F84: .4byte gUnknown_20398B0
- thumb_func_end sub_8098F44
-
- thumb_func_start sub_8098F88
-sub_8098F88:
- ldr r0, _08098F90
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08098F90: .4byte gUnknown_20398B9
- thumb_func_end sub_8098F88
-
- thumb_func_start sub_8098F94
-sub_8098F94:
- ldr r0, _08098F9C
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08098F9C: .4byte gUnknown_20398BA
- thumb_func_end sub_8098F94
-
- thumb_func_start sub_8098FA0
-sub_8098FA0:
- push {lr}
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_8098FA0
-
- thumb_func_start sub_8098FB4
-sub_8098FB4:
- push {lr}
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2B18
- pop {r1}
- bx r1
- thumb_func_end sub_8098FB4
-
- thumb_func_start sub_8098FCC
-sub_8098FCC:
- push {r4,lr}
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809909E
- cmp r1, 0x51
- bne _08098FF6
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- b _08098FF8
-_08098FF6:
- adds r0, r2, 0
-_08098FF8:
- bl sub_80A2608
- adds r4, r0, 0
- ldr r0, _0809900C
- ldr r0, [r0]
- cmp r0, 0x9
- bne _08099010
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- b _080990B2
- .align 2, 0
-_0809900C: .4byte gUnknown_20398B4
-_08099010:
- ldrh r0, [r4, 0x4]
- subs r0, 0xB2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- bhi _080990AE
- lsls r0, 2
- ldr r1, _08099028
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099028: .4byte _0809902C
- .align 2, 0
-_0809902C:
- .4byte _0809908C
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990A2
- .4byte _080990AE
- .4byte _080990A2
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990A2
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990A2
-_0809908C:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0x2
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- beq _080990AE
-_0809909E:
- movs r0, 0xC
- b _080990B2
-_080990A2:
- movs r0, 0x5
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809909E
-_080990AE:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
-_080990B2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098FCC
-
- thumb_func_start sub_80990B8
-sub_80990B8:
- push {lr}
- movs r0, 0xB
- bl sub_8098FCC
- lsls r0, 16
- asrs r2, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bne _080990D2
- bl sub_8098FB4
- b _080990E4
-_080990D2:
- ldr r1, _080990E8
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_80A2B18
-_080990E4:
- pop {r1}
- bx r1
- .align 2, 0
-_080990E8: .4byte gUnknown_811BAF4
- thumb_func_end sub_80990B8
-
- thumb_func_start sub_80990EC
-sub_80990EC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x80
- adds r7, r0, 0
- lsls r1, 16
- asrs r4, r1, 16
- adds r0, r4, 0
- bl sub_80A2608
- mov r8, r0
- ldrb r0, [r0, 0xC]
- movs r5, 0
- strb r0, [r7]
- movs r0, 0x1
- strb r0, [r7, 0x1]
- strb r5, [r7, 0xC]
- adds r0, r4, 0
- bl sub_80A2750
- lsls r0, 16
- asrs r6, r0, 16
- cmp r6, 0x2
- beq _080991C8
- cmp r6, 0x2
- bgt _08099126
- cmp r6, 0x1
- beq _0809912C
- b _080991CA
-_08099126:
- cmp r6, 0x4
- beq _080991C4
- b _080991CA
-_0809912C:
- movs r1, 0
- strb r5, [r7, 0xB]
- adds r0, r4, 0
- subs r0, 0x25
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0809913E
- movs r1, 0x1
-_0809913E:
- cmp r1, 0
- beq _080991CA
- strb r6, [r7, 0xC]
- mov r0, sp
- movs r1, 0x5B
- bl sub_80A8EC0
- add r4, sp, 0x18
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0xA
- bl sub_8092310
- add r5, sp, 0x30
- str r4, [sp, 0x58]
- add r1, sp, 0x5C
- movs r2, 0
- movs r0, 0x5E
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x5E
- strb r2, [r0]
- add r0, sp, 0x60
- movs r1, 0x47
- strb r1, [r0]
- strb r2, [r0, 0x1]
- add r1, sp, 0x64
- movs r0, 0x82
- lsls r0, 1
- strh r0, [r1]
- movs r0, 0xE0
- strh r0, [r1, 0x2]
- movs r0, 0xAC
- strh r0, [r1, 0x4]
- movs r0, 0xBE
- strh r0, [r1, 0x6]
- add r1, sp, 0x6C
- movs r0, 0x50
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x6E
- movs r2, 0xF
- strh r2, [r0]
- add r0, sp, 0x70
- strh r6, [r0]
- adds r0, 0x2
- movs r1, 0x19
- strh r1, [r0]
- strh r1, [r0, 0x2]
- adds r0, 0x4
- strh r2, [r0]
- strh r2, [r0, 0x2]
- ldr r0, _080991C0
- str r0, [sp, 0x7C]
- add r1, sp, 0x58
- adds r0, r5, 0
- movs r2, 0x28
- bl memcpy
- adds r0, r7, 0
- adds r0, 0x18
- adds r1, r5, 0
- bl sub_808D144
- b _080991CA
- .align 2, 0
-_080991C0: .4byte 0x000061a8
-_080991C4:
- strb r5, [r7, 0xB]
- b _080991CA
-_080991C8:
- strb r6, [r7, 0xB]
-_080991CA:
- movs r0, 0
- strb r0, [r7, 0x4]
- strb r0, [r7, 0xD]
- mov r1, r8
- ldrb r0, [r1, 0x11]
- add sp, 0x80
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80990EC
-
- thumb_func_start sub_80991E0
-sub_80991E0:
- push {lr}
- adds r2, r0, 0
- ldr r3, _08099204
- ldrh r0, [r3]
- strh r0, [r1]
- ldr r0, _08099208
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809920C
- movs r0, 0
- ldrsh r1, [r3, r0]
- adds r0, r2, 0
- bl sub_80990EC
- lsls r0, 24
- lsrs r0, 24
- b _08099218
- .align 2, 0
-_08099204: .4byte gUnknown_20398C4
-_08099208: .4byte gUnknown_203B49C
-_0809920C:
- ldr r1, _0809921C
- adds r0, r2, 0
- movs r2, 0x88
- bl memcpy
- movs r0, 0x1
-_08099218:
- pop {r1}
- bx r1
- .align 2, 0
-_0809921C: .4byte gUnknown_20398C8
- thumb_func_end sub_80991E0
-
- thumb_func_start sub_8099220
-sub_8099220:
- push {lr}
- adds r2, r0, 0
- lsls r1, 16
- asrs r3, r1, 16
- cmp r2, 0
- beq _08099258
- ldr r1, _08099248
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _0809924C
- movs r0, 0
- strb r0, [r1]
- ldr r0, _08099250
- strh r3, [r0]
- ldr r0, _08099254
- adds r1, r2, 0
- movs r2, 0x88
- bl memcpy
- b _0809926A
- .align 2, 0
-_08099248: .4byte gUnknown_203B49C
-_0809924C: .4byte gUnknown_203B49D
-_08099250: .4byte gUnknown_20398C4
-_08099254: .4byte gUnknown_20398C8
-_08099258:
- ldr r0, _08099270
- strb r2, [r0]
- ldr r0, _08099274
- strb r2, [r0]
- ldr r1, _08099278
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- strh r0, [r1]
-_0809926A:
- pop {r0}
- bx r0
- .align 2, 0
-_08099270: .4byte gUnknown_203B49C
-_08099274: .4byte gUnknown_203B49D
-_08099278: .4byte gUnknown_20398C4
- thumb_func_end sub_8099220
-
- thumb_func_start sub_809927C
-sub_809927C:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080992CC
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _080992D0
- strb r1, [r0]
- ldr r1, _080992D4
- movs r0, 0x50
- strh r0, [r1]
- ldr r4, _080992D8
- strb r5, [r4]
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x50
- bl sub_80018D8
- ldrb r2, [r4]
- movs r0, 0
- movs r1, 0x14
- bl sub_80018D8
- ldr r4, _080992DC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095494
- subs r4, 0x10
- movs r1, 0
- movs r0, 0x1
- strb r0, [r4, 0xB]
- strb r1, [r4, 0xC]
- strb r1, [r4, 0x4]
- strb r1, [r4, 0xD]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080992CC: .4byte gUnknown_203B49C
-_080992D0: .4byte gUnknown_203B49D
-_080992D4: .4byte gUnknown_20398C4
-_080992D8: .4byte gUnknown_2039950
-_080992DC: .4byte gUnknown_20398D8
- thumb_func_end sub_809927C
-
- thumb_func_start sub_80992E0
-sub_80992E0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08099316
- cmp r1, 0x50
- beq _08099316
- cmp r1, 0x51
- beq _08099316
- cmp r1, 0x52
- beq _08099316
- strh r1, [r4]
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- strh r0, [r5]
- movs r0, 0x1
- b _08099322
-_08099316:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strh r0, [r4]
- strh r0, [r5]
- movs r0, 0
-_08099322:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80992E0
-
- thumb_func_start sub_8099328
-sub_8099328:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bne _08099358
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- cmp r0, 0x3E
- bhi _08099358
- strb r0, [r4]
- movs r0, 0x1
- b _0809935A
-_08099358:
- movs r0, 0
-_0809935A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099328
-
- thumb_func_start sub_8099360
-sub_8099360:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x52
- beq _08099378
- movs r0, 0
- b _0809938E
-_08099378:
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- strb r0, [r4]
- movs r0, 0x1
-_0809938E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099360
-
- thumb_func_start sub_8099394
-sub_8099394:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x50
- beq _080993AC
- movs r0, 0
- b _080993B8
-_080993AC:
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- strb r0, [r4]
- movs r0, 0x1
-_080993B8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099394
-
- thumb_func_start sub_80993C0
-sub_80993C0:
- push {lr}
- lsls r0, 24
- ldr r2, _080993D4
- movs r1, 0
- cmp r0, 0
- bne _080993CE
- movs r1, 0x1
-_080993CE:
- strb r1, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_080993D4: .4byte gUnknown_20398B8
- thumb_func_end sub_80993C0
-
- thumb_func_start sub_80993D8
-sub_80993D8:
- push {lr}
- bl sub_80A4B38
- pop {r0}
- bx r0
- thumb_func_end sub_80993D8
-
- thumb_func_start sub_80993E4
-sub_80993E4:
- push {lr}
- bl sub_80A4B54
- pop {r0}
- bx r0
- thumb_func_end sub_80993E4
-
- thumb_func_start sub_80993F0
-sub_80993F0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- movs r0, 0
- mov r10, r0
- bl sub_801180C
- movs r0, 0x10
- bl sub_80118C4
- ldr r1, _0809948C
- ldr r2, _08099490
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- bl xxx_update_some_bg_tiles
- movs r0, 0
- movs r1, 0x14
- bl sub_80095CC
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- movs r1, 0x14
- bl sub_8009408
- bl sub_8099648
- bl sub_809975C
- bl sub_809D0AC
- bl sub_8014144
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- bl sub_80A4A7C
- mov r7, sp
- add r0, sp, 0x8
- mov r8, r0
-_08099454:
- bl sub_801D9E4
- lsls r0, 24
- cmp r0, 0
- beq _0809949C
- mov r0, r10
- bl sub_801DA58
-_08099464:
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- movs r0, 0
- bl sub_8012A18
- bl sub_801DA78
- cmp r0, 0x2
- beq _08099494
- cmp r0, 0x3
- bne _08099464
- bl sub_801DAC0
- lsls r0, 16
- asrs r0, 16
- mov r10, r0
- b _080994A2
- .align 2, 0
-_0809948C: .4byte gUnknown_2026E4E
-_08099490: .4byte 0x00000808
-_08099494:
- movs r1, 0x1
- negs r1, r1
- mov r10, r1
- b _080994A2
-_0809949C:
- movs r2, 0x1
- negs r2, r2
- mov r10, r2
-_080994A2:
- bl sub_801DB0C
- movs r0, 0x1
- negs r0, r0
- cmp r10, r0
- bne _080994B0
- b _08099624
-_080994B0:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_80A4AEC
- bl sub_809D0BC
- mov r0, r10
- bl GroundMap_Select
- mov r0, sp
- mov r1, r8
- bl sub_80A579C
- ldr r0, [r7, 0x4]
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- str r0, [r7, 0x4]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r1
- str r0, [r2, 0x4]
- ldr r0, [sp]
- ldr r1, _08099520
- adds r0, r1
- str r0, [sp]
- ldr r0, [r7, 0x4]
- adds r0, r1
- str r0, [r7, 0x4]
- ldr r0, [sp, 0x8]
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r1, [r0, 0x4]
- adds r1, r2
- str r1, [r0, 0x4]
- ldr r2, [sp, 0x8]
- ldr r0, [sp]
- subs r0, r2, r0
- str r0, [sp, 0x20]
- ldr r0, [r7, 0x4]
- subs r0, r1, r0
- str r0, [sp, 0x24]
- movs r4, 0
- movs r5, 0
- movs r0, 0x4
- bl sub_80999E8
- mov r9, r5
- b _08099604
- .align 2, 0
-_08099520: .4byte 0xfffffc00
-_08099524:
- ldr r0, _0809953C
- ldrh r1, [r0, 0x2]
- ldrh r6, [r0]
- movs r0, 0x4
- ands r1, r0
- cmp r1, 0
- beq _08099540
- bl sub_80999FC
- movs r1, 0x1
- mov r9, r1
- b _080995AE
- .align 2, 0
-_0809953C: .4byte gUnknown_20255F0
-_08099540:
- adds r0, r6, 0
- bl sub_809CFE8
- lsls r0, 24
- asrs r1, r0, 24
- movs r2, 0x1
- negs r2, r2
- cmp r1, r2
- beq _0809959A
- add r0, sp, 0x10
- movs r2, 0x80
- lsls r2, 1
- bl sub_8002BB8
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- movs r0, 0x2
- ands r6, r0
- cmp r6, 0
- beq _0809956A
- movs r0, 0x4
-_0809956A:
- adds r1, r0, 0
- muls r1, r2
- adds r1, r4
- adds r4, r1, 0
- muls r0, r3
- adds r5, r0
- cmp r1, 0
- bge _0809957E
- movs r4, 0
- b _08099588
-_0809957E:
- ldr r0, [sp, 0x20]
- cmp r4, r0
- blt _08099588
- adds r4, r0, 0
- subs r4, 0x1
-_08099588:
- cmp r5, 0
- bge _08099590
- movs r5, 0
- b _0809959A
-_08099590:
- ldr r1, [sp, 0x24]
- cmp r5, r1
- blt _0809959A
- adds r5, r1, 0
- subs r5, 0x1
-_0809959A:
- ldr r0, [sp]
- adds r0, r4
- str r0, [sp, 0x18]
- ldr r0, [r7, 0x4]
- adds r0, r5
- add r1, sp, 0x18
- str r0, [r1, 0x4]
- movs r0, 0
- bl sub_809D158
-_080995AE:
- bl sub_809D25C
- bl sub_80A59DC
- bl xxx_draw_string_80144C4
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- bl sub_80060EC
- ldr r0, _08099620
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- bl nullsub_8
- bl sub_8005180
- bl sub_8099BE4
- bl sub_8099744
- bl sub_8011860
- bl sub_800CB20
- bl sub_800485C
- bl nullsub_120
- bl sub_80A5E70
- bl xxx_call_update_bg_vram
- bl CopySpritesToOam
- bl sub_8005304
- bl sub_8099750
- bl sub_8009908
-_08099604:
- bl xxx_call_update_bg_sound_input
- movs r0, 0
- bl ResetSprites
- mov r2, r9
- cmp r2, 0
- beq _08099524
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- bne _080995AE
- b _08099454
- .align 2, 0
-_08099620: .4byte gUnknown_203B46C
-_08099624:
- movs r0, 0x10
- bl sub_80118C4
- bl sub_80A4AC4
- bl sub_8099768
- bl nullsub_103
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80993F0
-
- thumb_func_start sub_8099648
-sub_8099648:
- push {lr}
- bl sub_8003600
- bl sub_809965C
- pop {r0}
- bx r0
- thumb_func_end sub_8099648
-
- thumb_func_start nullsub_103
-nullsub_103:
- bx lr
- thumb_func_end nullsub_103
-
- thumb_func_start sub_809965C
-sub_809965C:
- push {r4,lr}
- movs r0, 0
- bl sub_8099690
- ldr r0, _08099688
- ldr r1, _0809968C
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- movs r0, 0xF8
- lsls r0, 1
- ldr r1, [r4, 0x4]
- movs r2, 0x10
- bl sub_800388C
- adds r0, r4, 0
- bl CloseFile
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099688: .4byte gUnknown_811601C
-_0809968C: .4byte gUnknown_8300500
- thumb_func_end sub_809965C
-
- thumb_func_start sub_8099690
-sub_8099690:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r0, _080996BC
- ldr r1, _080996C0
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- cmp r4, 0x1
- beq _080996CC
- cmp r4, 0x2
- beq _080996D4
- ldr r0, _080996C4
- ldr r0, [r0]
- ldrb r0, [r0, 0xB]
- ldr r4, _080996C8
- cmp r0, 0
- beq _080996D6
- movs r0, 0x80
- lsls r0, 1
- adds r4, r0
- b _080996D6
- .align 2, 0
-_080996BC: .4byte gUnknown_8116028
-_080996C0: .4byte gUnknown_8300500
-_080996C4: .4byte gUnknown_203B46C
-_080996C8: .4byte gUnknown_202D078
-_080996CC:
- ldr r4, _080996D0
- b _080996D6
- .align 2, 0
-_080996D0: .4byte gUnknown_202D1B8
-_080996D4:
- ldr r4, _08099704
-_080996D6:
- movs r0, 0xF0
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_800388C
- adds r5, r4, 0
- movs r4, 0
-_080996E4:
- adds r0, r4, 0
- adds r0, 0xF0
- adds r1, r5, 0
- adds r5, 0x4
- bl nullsub_5
- adds r4, 0x1
- cmp r4, 0xF
- ble _080996E4
- adds r0, r6, 0
- bl CloseFile
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08099704: .4byte gUnknown_202D1F8
- thumb_func_end sub_8099690
-
- thumb_func_start sub_8099708
-sub_8099708:
- push {lr}
- sub sp, 0x4
- str r1, [sp]
- lsls r0, 16
- lsrs r0, 16
- bl sub_8003810
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8099708
-
- thumb_func_start sub_809971C
-sub_809971C:
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r2, 0
- ble _0809973E
- adds r4, r2, 0
-_0809972A:
- adds r0, r5, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r5, r1, 16
- ldm r6!, {r1}
- bl sub_8003810
- subs r4, 0x1
- cmp r4, 0
- bne _0809972A
-_0809973E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_809971C
-
- thumb_func_start sub_8099744
-sub_8099744:
- push {lr}
- bl sub_80039B8
- pop {r0}
- bx r0
- thumb_func_end sub_8099744
-
- thumb_func_start sub_8099750
-sub_8099750:
- push {lr}
- bl TransferBGPaletteBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8099750
-
- thumb_func_start sub_809975C
-sub_809975C:
- push {lr}
- bl sub_809977C
- pop {r0}
- bx r0
- thumb_func_end sub_809975C
-
- thumb_func_start sub_8099768
-sub_8099768:
- push {lr}
- bl sub_809977C
- bl sub_8099744
- bl sub_8099750
- pop {r0}
- bx r0
- thumb_func_end sub_8099768
-
- thumb_func_start sub_809977C
-sub_809977C:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r1, _080997DC
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080997E0
- movs r0, 0
- strh r0, [r1]
- ldr r6, _080997E4
- adds r0, r6, 0
- bl sub_8099838
- ldr r0, _080997E8
- mov r8, r0
- bl sub_8099838
- ldr r4, _080997EC
- adds r0, r4, 0
- bl sub_8099838
- subs r4, 0x8
- movs r0, 0
- str r0, [r4]
- movs r5, 0x80
- lsls r5, 1
- strh r5, [r4, 0x14]
- strh r0, [r6, 0xC]
- bl sub_8099DD0
- mov r0, r8
- strh r5, [r0, 0xC]
- adds r0, r5, 0
- bl sub_8099E58
- ldr r1, _080997F0
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0x40
-_080997CA:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _080997CA
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080997DC: .4byte gUnknown_2039990
-_080997E0: .4byte gUnknown_2039992
-_080997E4: .4byte gUnknown_2039958
-_080997E8: .4byte gUnknown_2039968
-_080997EC: .4byte gUnknown_2039980
-_080997F0: .4byte gUnknown_2039998
- thumb_func_end sub_809977C
-
- thumb_func_start sub_80997F4
-sub_80997F4:
- push {lr}
- lsls r0, 16
- ldr r2, _08099818
- lsrs r0, 15
- adds r0, r2
- strh r1, [r0]
- ldr r0, _0809981C
- bl sub_8099848
- ldr r0, _08099820
- bl sub_8099848
- ldr r0, _08099824
- bl sub_8099848
- pop {r0}
- bx r0
- .align 2, 0
-_08099818: .4byte gUnknown_2039998
-_0809981C: .4byte gUnknown_2039958
-_08099820: .4byte gUnknown_2039968
-_08099824: .4byte gUnknown_2039980
- thumb_func_end sub_80997F4
-
- thumb_func_start sub_8099828
-sub_8099828:
- lsls r0, 16
- ldr r1, _08099834
- lsrs r0, 15
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_08099834: .4byte gUnknown_2039998
- thumb_func_end sub_8099828
-
- thumb_func_start sub_8099838
-sub_8099838:
- movs r1, 0x1
- str r1, [r0]
- movs r1, 0
- strh r1, [r0, 0xC]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- bx lr
- thumb_func_end sub_8099838
-
- thumb_func_start sub_8099848
-sub_8099848:
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1]
- cmp r0, 0
- bne _08099856
- movs r0, 0x1
- str r0, [r1]
-_08099856:
- pop {r0}
- bx r0
- thumb_func_end sub_8099848
-
- thumb_func_start sub_809985C
-sub_809985C:
- push {lr}
- adds r2, r0, 0
- cmp r1, 0
- blt _08099872
- cmp r1, 0
- bne _08099874
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r2, 0xC]
- movs r0, 0x1
- b _08099876
-_08099872:
- movs r1, 0x1E
-_08099874:
- movs r0, 0x2
-_08099876:
- str r0, [r2]
- strh r1, [r2, 0x4]
- strh r1, [r2, 0x6]
- pop {r0}
- bx r0
- thumb_func_end sub_809985C
-
- thumb_func_start sub_8099880
-sub_8099880:
- push {lr}
- adds r2, r0, 0
- cmp r1, 0
- blt _08099892
- cmp r1, 0
- bne _08099894
- strh r1, [r2, 0xC]
- movs r0, 0x1
- b _08099896
-_08099892:
- movs r1, 0x1E
-_08099894:
- movs r0, 0x3
-_08099896:
- str r0, [r2]
- strh r1, [r2, 0x4]
- strh r1, [r2, 0x6]
- pop {r0}
- bx r0
- thumb_func_end sub_8099880
-
- thumb_func_start sub_80998A0
-sub_80998A0:
- push {r4,lr}
- adds r4, r0, 0
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- cmp r1, 0
- bge _080998B2
- movs r1, 0x1E
-_080998B2:
- cmp r2, r3
- bls _080998BE
- movs r0, 0x5
- str r0, [r4]
- subs r0, r2, r3
- b _080998D0
-_080998BE:
- cmp r2, r3
- bcs _080998CA
- movs r0, 0x4
- str r0, [r4]
- subs r0, r3, r2
- b _080998D0
-_080998CA:
- movs r0, 0x1
- str r0, [r4]
- movs r0, 0
-_080998D0:
- strh r0, [r4, 0xA]
- strh r1, [r4, 0x4]
- strh r1, [r4, 0x6]
- strh r2, [r4, 0xC]
- strh r3, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80998A0
-
- thumb_func_start sub_80998E0
-sub_80998E0:
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4]
- cmp r0, 0x5
- bhi _080999CA
- lsls r0, 2
- ldr r1, _080998F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080998F4: .4byte _080998F8
- .align 2, 0
-_080998F8:
- .4byte _080999CA
- .4byte _080999C2
- .4byte _08099910
- .4byte _08099946
- .4byte _08099976
- .4byte _0809999A
-_08099910:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _08099940
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- lsls r0, 8
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- ldrh r0, [r4, 0xC]
- cmp r0, r1
- bcs _080999C6
- strh r1, [r4, 0xC]
- b _080999C6
-_08099940:
- movs r0, 0x80
- lsls r0, 1
- b _080999C0
-_08099946:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _08099970
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- lsls r0, 8
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- ldrh r0, [r4, 0xC]
- cmp r0, r1
- bls _080999C6
- strh r1, [r4, 0xC]
- b _080999C6
-_08099970:
- strh r1, [r4, 0xC]
- str r1, [r4]
- b _080999C6
-_08099976:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _080999BE
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- ldrh r0, [r4, 0xA]
- muls r0, r1
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x8]
- subs r1, r0
- strh r1, [r4, 0xC]
- b _080999C6
-_0809999A:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _080999BE
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- ldrh r0, [r4, 0xA]
- muls r0, r1
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x8]
- adds r1, r0
- strh r1, [r4, 0xC]
- b _080999C6
-_080999BE:
- ldrh r0, [r4, 0x8]
-_080999C0:
- strh r0, [r4, 0xC]
-_080999C2:
- movs r0, 0
- str r0, [r4]
-_080999C6:
- movs r0, 0x1
- b _080999CC
-_080999CA:
- movs r0, 0
-_080999CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80998E0
-
- thumb_func_start sub_80999D4
-sub_80999D4:
- ldr r2, _080999E0
- movs r1, 0x1
- strb r1, [r2]
- ldr r1, _080999E4
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080999E0: .4byte gUnknown_2039990
-_080999E4: .4byte gUnknown_2039992
- thumb_func_end sub_80999D4
-
- thumb_func_start sub_80999E8
-sub_80999E8:
- push {lr}
- adds r1, r0, 0
- ldr r0, _080999F8
- bl sub_809985C
- pop {r0}
- bx r0
- .align 2, 0
-_080999F8: .4byte gUnknown_2039958
- thumb_func_end sub_80999E8
-
- thumb_func_start sub_80999FC
-sub_80999FC:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08099A0C
- bl sub_8099880
- pop {r0}
- bx r0
- .align 2, 0
-_08099A0C: .4byte gUnknown_2039958
- thumb_func_end sub_80999FC
-
- thumb_func_start sub_8099A10
-sub_8099A10:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r3, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r3, 16
- lsrs r3, 16
- ldr r0, _08099A30
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80998A0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08099A30: .4byte gUnknown_2039958
- thumb_func_end sub_8099A10
-
- thumb_func_start sub_8099A34
-sub_8099A34:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08099A44
- bl sub_809985C
- pop {r0}
- bx r0
- .align 2, 0
-_08099A44: .4byte gUnknown_2039968
- thumb_func_end sub_8099A34
-
- thumb_func_start sub_8099A48
-sub_8099A48:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08099A58
- bl sub_8099880
- pop {r0}
- bx r0
- .align 2, 0
-_08099A58: .4byte gUnknown_2039968
- thumb_func_end sub_8099A48
-
- thumb_func_start sub_8099A5C
-sub_8099A5C:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- str r2, [sp]
- ldr r0, _08099A88
- str r4, [r0]
- ldr r2, [sp]
- str r2, [r0, 0x4]
- movs r2, 0
- strh r2, [r0, 0x14]
- adds r0, 0x8
- bl sub_809985C
- subs r0, r4, 0x1
- cmp r0, 0xD
- bhi _08099AF0
- lsls r0, 2
- ldr r1, _08099A8C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099A88: .4byte gUnknown_2039978
-_08099A8C: .4byte _08099A90
- .align 2, 0
-_08099A90:
- .4byte _08099AC8
- .4byte _08099AF0
- .4byte _08099AC8
- .4byte _08099AF0
- .4byte _08099AE8
- .4byte _08099AF0
- .4byte _08099AE8
- .4byte _08099AF0
- .4byte _08099AE0
- .4byte _08099AF0
- .4byte _08099AE0
- .4byte _08099AF0
- .4byte _08099AE8
- .4byte _08099AE8
-_08099AC8:
- ldr r0, _08099AD8
- movs r1, 0x80
- lsls r1, 1
- strh r1, [r0, 0xC]
- ldr r0, _08099ADC
- strh r1, [r0, 0xC]
- b _08099AF0
- .align 2, 0
-_08099AD8: .4byte gUnknown_2039968
-_08099ADC: .4byte gUnknown_2039958
-_08099AE0:
- ldr r1, _08099AE4
- b _08099AEA
- .align 2, 0
-_08099AE4: .4byte gUnknown_2039968
-_08099AE8:
- ldr r1, _08099AF8
-_08099AEA:
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1, 0xC]
-_08099AF0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099AF8: .4byte gUnknown_2039958
- thumb_func_end sub_8099A5C
-
- thumb_func_start sub_8099AFC
-sub_8099AFC:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- str r2, [sp]
- ldr r0, _08099B28
- str r4, [r0]
- ldr r2, [sp]
- str r2, [r0, 0x4]
- movs r2, 0x80
- lsls r2, 1
- strh r2, [r0, 0x14]
- adds r0, 0x8
- bl sub_8099880
- subs r0, r4, 0x2
- cmp r0, 0xC
- bhi _08099B86
- lsls r0, 2
- ldr r1, _08099B2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099B28: .4byte gUnknown_2039978
-_08099B2C: .4byte _08099B30
- .align 2, 0
-_08099B30:
- .4byte _08099B64
- .4byte _08099B86
- .4byte _08099B64
- .4byte _08099B86
- .4byte _08099B80
- .4byte _08099B86
- .4byte _08099B80
- .4byte _08099B86
- .4byte _08099B78
- .4byte _08099B86
- .4byte _08099B78
- .4byte _08099B80
- .4byte _08099B80
-_08099B64:
- ldr r0, _08099B70
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r0, _08099B74
- strh r1, [r0, 0xC]
- b _08099B86
- .align 2, 0
-_08099B70: .4byte gUnknown_2039968
-_08099B74: .4byte gUnknown_2039958
-_08099B78:
- ldr r1, _08099B7C
- b _08099B82
- .align 2, 0
-_08099B7C: .4byte gUnknown_2039968
-_08099B80:
- ldr r1, _08099B90
-_08099B82:
- movs r0, 0
- strh r0, [r1, 0xC]
-_08099B86:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099B90: .4byte gUnknown_2039958
- thumb_func_end sub_8099AFC
-
- thumb_func_start sub_8099B94
-sub_8099B94:
- push {lr}
- ldr r0, _08099BA4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08099BA8
- movs r0, 0x1
- b _08099BD6
- .align 2, 0
-_08099BA4: .4byte gUnknown_2039990
-_08099BA8:
- ldr r1, _08099BBC
- ldr r0, [r1]
- cmp r0, 0
- beq _08099BC0
- ldr r0, [r1, 0x8]
- cmp r0, 0
- beq _08099BD6
- movs r0, 0x1
- b _08099BD6
- .align 2, 0
-_08099BBC: .4byte gUnknown_2039978
-_08099BC0:
- movs r1, 0
- ldr r0, _08099BDC
- ldr r0, [r0]
- cmp r0, 0
- bne _08099BD2
- ldr r0, _08099BE0
- ldr r0, [r0]
- cmp r0, 0
- beq _08099BD4
-_08099BD2:
- movs r1, 0x1
-_08099BD4:
- adds r0, r1, 0
-_08099BD6:
- pop {r1}
- bx r1
- .align 2, 0
-_08099BDC: .4byte gUnknown_2039958
-_08099BE0: .4byte gUnknown_2039968
- thumb_func_end sub_8099B94
-
- thumb_func_start sub_8099BE4
-sub_8099BE4:
- push {r4,r5,lr}
- ldr r4, _08099C10
- ldr r0, [r4]
- cmp r0, 0
- bne _08099BF6
- ldr r0, [r4, 0x8]
- cmp r0, 0
- bne _08099BF6
- b _08099D08
-_08099BF6:
- adds r0, r4, 0
- adds r0, 0x8
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099C14
- ldrh r0, [r4, 0x14]
- ldr r1, [r4, 0x4]
- bl sub_8099E80
- b _08099DC0
- .align 2, 0
-_08099C10: .4byte gUnknown_2039978
-_08099C14:
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _08099C1C
- b _08099DC0
-_08099C1C:
- ldr r0, [r4]
- cmp r0, 0xE
- bls _08099C24
- b _08099DC0
-_08099C24:
- lsls r0, 2
- ldr r1, _08099C30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099C30: .4byte _08099C34
- .align 2, 0
-_08099C34:
- .4byte _08099DC0
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099CD8
- .4byte _08099CD8
-_08099C70:
- ldr r0, _08099C80
- ldrh r1, [r0, 0x14]
- adds r3, r0, 0
- cmp r1, 0xFF
- bls _08099C84
- movs r0, 0
- str r0, [r3]
- b _08099DC0
- .align 2, 0
-_08099C80: .4byte gUnknown_2039978
-_08099C84:
- ldr r0, _08099CA0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08099C8E
- b _08099DC0
-_08099C8E:
- movs r2, 0
- ldr r0, [r3]
- cmp r0, 0x3
- beq _08099CB2
- cmp r0, 0x3
- bhi _08099CA4
- cmp r0, 0x1
- beq _08099CAE
- b _08099CBC
- .align 2, 0
-_08099CA0: .4byte gUnknown_2039990
-_08099CA4:
- cmp r0, 0x5
- beq _08099CB6
- cmp r0, 0x7
- beq _08099CBA
- b _08099CBC
-_08099CAE:
- movs r2, 0x2
- b _08099CC0
-_08099CB2:
- movs r2, 0x4
- b _08099CC0
-_08099CB6:
- movs r2, 0x6
- b _08099CC0
-_08099CBA:
- movs r2, 0x8
-_08099CBC:
- cmp r2, 0
- beq _08099CD4
-_08099CC0:
- ldr r0, _08099CD0
- movs r4, 0
- ldrsh r1, [r0, r4]
- adds r0, r2, 0
- ldr r2, [r3, 0x4]
- bl sub_8099AFC
- b _08099DC0
- .align 2, 0
-_08099CD0: .4byte gUnknown_2039992
-_08099CD4:
- str r2, [r3]
- b _08099DC0
-_08099CD8:
- ldr r2, _08099CE4
- ldrh r0, [r2, 0x14]
- cmp r0, 0
- bne _08099CE8
- str r0, [r2]
- b _08099DC0
- .align 2, 0
-_08099CE4: .4byte gUnknown_2039978
-_08099CE8:
- ldr r0, _08099D00
- ldrb r0, [r0]
- cmp r0, 0
- beq _08099DC0
- ldr r0, [r2]
- ldr r1, _08099D04
- movs r3, 0
- ldrsh r1, [r1, r3]
- ldr r2, [r2, 0x4]
- bl sub_8099AFC
- b _08099DC0
- .align 2, 0
-_08099D00: .4byte gUnknown_2039990
-_08099D04: .4byte gUnknown_2039992
-_08099D08:
- ldr r0, _08099D88
- ldrb r0, [r0]
- cmp r0, 0
- beq _08099D98
- movs r5, 0x1
- ldr r4, _08099D8C
- ldrh r0, [r4, 0xC]
- cmp r0, 0
- bne _08099D20
- ldr r0, [r4]
- cmp r0, 0
- beq _08099D46
-_08099D20:
- movs r5, 0
- ldr r0, [r4]
- cmp r0, 0x3
- beq _08099D34
- ldr r0, _08099D90
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r4, 0
- bl sub_8099880
-_08099D34:
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099D46
- ldrh r0, [r4, 0xC]
- bl sub_8099DD0
-_08099D46:
- ldr r4, _08099D94
- ldrh r0, [r4, 0xC]
- cmp r0, 0
- bne _08099D54
- ldr r0, [r4]
- cmp r0, 0
- beq _08099D7A
-_08099D54:
- movs r5, 0
- ldr r0, [r4]
- cmp r0, 0x3
- beq _08099D68
- ldr r0, _08099D90
- movs r3, 0
- ldrsh r1, [r0, r3]
- adds r0, r4, 0
- bl sub_8099880
-_08099D68:
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099D7A
- ldrh r0, [r4, 0xC]
- bl sub_8099E58
-_08099D7A:
- cmp r5, 0
- beq _08099DC0
- ldr r1, _08099D88
- movs r0, 0
- strb r0, [r1]
- b _08099DC0
- .align 2, 0
-_08099D88: .4byte gUnknown_2039990
-_08099D8C: .4byte gUnknown_2039958
-_08099D90: .4byte gUnknown_2039992
-_08099D94: .4byte gUnknown_2039968
-_08099D98:
- ldr r4, _08099DC8
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099DAC
- ldrh r0, [r4, 0xC]
- bl sub_8099DD0
-_08099DAC:
- ldr r4, _08099DCC
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099DC0
- ldrh r0, [r4, 0xC]
- bl sub_8099E58
-_08099DC0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08099DC8: .4byte gUnknown_2039958
-_08099DCC: .4byte gUnknown_2039968
- thumb_func_end sub_8099BE4
-
- thumb_func_start sub_8099DD0
-sub_8099DD0:
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r7, r0, 16
- movs r4, 0
- ldr r6, _08099DF4
- movs r5, 0xD
-_08099DDC:
- ldrh r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08099DF8
- lsrs r0, r4, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099E00
- .align 2, 0
-_08099DF4: .4byte gUnknown_2039998
-_08099DF8:
- lsrs r0, r4, 16
- adds r1, r7, 0
- bl sub_8003664
-_08099E00:
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r6, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _08099DDC
- ldr r0, _08099E30
- movs r4, 0x80
- lsls r4, 13
- adds r6, r0, 0
- adds r6, 0x20
- movs r5, 0xE
-_08099E1A:
- ldrh r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08099E34
- lsrs r0, r4, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099E3C
- .align 2, 0
-_08099E30: .4byte gUnknown_2039998
-_08099E34:
- lsrs r0, r4, 16
- adds r1, r7, 0
- bl sub_8003664
-_08099E3C:
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r6, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _08099E1A
- movs r0, 0x20
- adds r1, r7, 0
- bl sub_8003664
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099DD0
-
- thumb_func_start sub_8099E58
-sub_8099E58:
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0xF
- adds r1, r4, 0
- bl sub_8003664
- movs r0, 0xE
- adds r1, r4, 0
- bl sub_8003664
- movs r0, 0x1F
- adds r1, r4, 0
- bl sub_8003664
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8099E58
-
- thumb_func_start sub_8099E80
-sub_8099E80:
- push {r4-r7,lr}
- sub sp, 0x4
- str r1, [sp]
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _08099EA0
- ldr r1, [r0]
- adds r2, r0, 0
- cmp r1, 0xE
- bls _08099E96
- b _0809A558
-_08099E96:
- lsls r0, r1, 2
- ldr r1, _08099EA4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099EA0: .4byte gUnknown_2039978
-_08099EA4: .4byte _08099EA8
- .align 2, 0
-_08099EA8:
- .4byte _0809A558
- .4byte _08099EE4
- .4byte _0809A05A
- .4byte _0809A1D2
- .4byte _0809A34A
- .4byte _08099FDE
- .4byte _0809A156
- .4byte _0809A2CE
- .4byte _0809A4BC
- .4byte _08099F5E
- .4byte _0809A0D6
- .4byte _0809A24E
- .4byte _0809A3EA
- .4byte _0809A48A
- .4byte _0809A48A
-_08099EE4:
- movs r4, 0
- movs r5, 0
- ldr r7, _08099F00
-_08099EEA:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099F04
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099F0E
- .align 2, 0
-_08099F00: .4byte gUnknown_2039998
-_08099F04:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099F0E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _08099EEA
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _08099F40
- adds r7, r0, 0
- adds r7, 0x20
-_08099F28:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099F44
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099F4E
- .align 2, 0
-_08099F40: .4byte gUnknown_2039998
-_08099F44:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099F4E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _08099F28
- b _0809A558
-_08099F5E:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
- ldr r0, _08099F80
- adds r7, r0, 0
- adds r7, 0x1C
-_08099F6A:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099F84
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099F8E
- .align 2, 0
-_08099F80: .4byte gUnknown_2039998
-_08099F84:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099F8E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _08099F6A
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
- ldr r0, _08099FC0
- adds r7, r0, 0
- adds r7, 0x3E
-_08099FA8:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099FC4
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099FCE
- .align 2, 0
-_08099FC0: .4byte gUnknown_2039998
-_08099FC4:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099FCE:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _08099FA8
- b _0809A558
-_08099FDE:
- movs r4, 0
- movs r5, 0
- ldr r7, _08099FFC
-_08099FE4:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A000
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A00A
- .align 2, 0
-_08099FFC: .4byte gUnknown_2039998
-_0809A000:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_0809A00A:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xD
- ble _08099FE4
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A03C
- adds r7, r0, 0
- adds r7, 0x20
-_0809A024:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A040
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A04A
- .align 2, 0
-_0809A03C: .4byte gUnknown_2039998
-_0809A040:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_0809A04A:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A024
- b _0809A558
-_0809A05A:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A078
-_0809A060:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A07C
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A086
- .align 2, 0
-_0809A078: .4byte gUnknown_2039998
-_0809A07C:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A086:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A060
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A0B8
- adds r7, r0, 0
- adds r7, 0x20
-_0809A0A0:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A0BC
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A0C6
- .align 2, 0
-_0809A0B8: .4byte gUnknown_2039998
-_0809A0BC:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A0C6:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A0A0
- b _0809A558
-_0809A0D6:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
- ldr r0, _0809A0F8
- adds r7, r0, 0
- adds r7, 0x1C
-_0809A0E2:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A0FC
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A106
- .align 2, 0
-_0809A0F8: .4byte gUnknown_2039998
-_0809A0FC:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A106:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A0E2
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
- ldr r0, _0809A138
- adds r7, r0, 0
- adds r7, 0x3E
-_0809A120:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A13C
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A146
- .align 2, 0
-_0809A138: .4byte gUnknown_2039998
-_0809A13C:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A146:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A120
- b _0809A558
-_0809A156:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A174
-_0809A15C:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A178
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A182
- .align 2, 0
-_0809A174: .4byte gUnknown_2039998
-_0809A178:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A182:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xD
- ble _0809A15C
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A1B4
- adds r7, r0, 0
- adds r7, 0x20
-_0809A19C:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A1B8
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A1C2
- .align 2, 0
-_0809A1B4: .4byte gUnknown_2039998
-_0809A1B8:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A1C2:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A19C
- b _0809A558
-_0809A1D2:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A1F0
-_0809A1D8:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A1F4
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A1FE
- .align 2, 0
-_0809A1F0: .4byte gUnknown_2039998
-_0809A1F4:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A1FE:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A1D8
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A230
- adds r7, r0, 0
- adds r7, 0x20
-_0809A218:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A234
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A23E
- .align 2, 0
-_0809A230: .4byte gUnknown_2039998
-_0809A234:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A23E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A218
- b _0809A558
-_0809A24E:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
- ldr r0, _0809A270
- adds r7, r0, 0
- adds r7, 0x1C
-_0809A25A:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A274
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A27E
- .align 2, 0
-_0809A270: .4byte gUnknown_2039998
-_0809A274:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A27E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A25A
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
- ldr r0, _0809A2B0
- adds r7, r0, 0
- adds r7, 0x3E
-_0809A298:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A2B4
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A2BE
- .align 2, 0
-_0809A2B0: .4byte gUnknown_2039998
-_0809A2B4:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A2BE:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A298
- b _0809A558
-_0809A2CE:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A2EC
-_0809A2D4:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A2F0
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A2FA
- .align 2, 0
-_0809A2EC: .4byte gUnknown_2039998
-_0809A2F0:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A2FA:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xD
- ble _0809A2D4
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A32C
- adds r7, r0, 0
- adds r7, 0x20
-_0809A314:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A330
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A33A
- .align 2, 0
-_0809A32C: .4byte gUnknown_2039998
-_0809A330:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A33A:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A314
- b _0809A558
-_0809A34A:
- movs r4, 0
- movs r5, 0
-_0809A34E:
- ldr r0, _0809A36C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A370
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A38C
- .align 2, 0
-_0809A36C: .4byte gUnknown_2039998
-_0809A370:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A382
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A38C
-_0809A382:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A38C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A34E
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
-_0809A39E:
- ldr r0, _0809A3BC
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A3C0
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A3DC
- .align 2, 0
-_0809A3BC: .4byte gUnknown_2039998
-_0809A3C0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A3D2
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A3DC
-_0809A3D2:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A3DC:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A39E
- b _0809A558
-_0809A3EA:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
-_0809A3F0:
- ldr r0, _0809A40C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A410
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A42C
- .align 2, 0
-_0809A40C: .4byte gUnknown_2039998
-_0809A410:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A422
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A42C
-_0809A422:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A42C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A3F0
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
-_0809A43E:
- ldr r0, _0809A45C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A460
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A47C
- .align 2, 0
-_0809A45C: .4byte gUnknown_2039998
-_0809A460:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A472
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A47C
-_0809A472:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A47C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A43E
- b _0809A558
-_0809A48A:
- ldr r0, [r2]
- cmp r0, 0xD
- beq _0809A496
- cmp r0, 0xE
- beq _0809A4AA
- b _0809A4BC
-_0809A496:
- mov r0, sp
- movs r1, 0x90
- strb r1, [r0]
- strb r1, [r0, 0x1]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x2]
- movs r0, 0x1
- negs r0, r0
- b _0809A4BA
-_0809A4AA:
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0xC0
- strb r0, [r1, 0x1]
- movs r0, 0x80
- strb r0, [r1, 0x2]
- subs r0, 0x81
-_0809A4BA:
- strb r0, [r1, 0x3]
-_0809A4BC:
- movs r4, 0
- movs r5, 0
-_0809A4C0:
- ldr r0, _0809A4DC
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A4E0
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A4FC
- .align 2, 0
-_0809A4DC: .4byte gUnknown_2039998
-_0809A4E0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A4F2
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A4FC
-_0809A4F2:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A4FC:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0xD
- ble _0809A4C0
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
-_0809A50E:
- ldr r0, _0809A52C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A530
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A54C
- .align 2, 0
-_0809A52C: .4byte gUnknown_2039998
-_0809A530:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A542
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A54C
-_0809A542:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A54C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A50E
-_0809A558:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099E80
-
- thumb_func_start sub_809A560
-sub_809A560:
- push {r4-r6,lr}
- bl sub_8014144
- ldr r6, _0809A5F4
- movs r0, 0xB5
- lsls r0, 3
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r6]
- movs r4, 0
- str r4, [r0]
- movs r5, 0x1
- negs r5, r5
- str r5, [r0, 0x4]
- str r5, [r0, 0x8]
- ldr r0, _0809A5F8
- strh r4, [r0]
- ldr r0, _0809A5FC
- strh r4, [r0]
- movs r0, 0
- movs r1, 0x14
- bl sub_80095CC
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- movs r1, 0x14
- bl sub_8009408
- bl sub_809B294
- ldr r0, [r6]
- ldr r2, _0809A600
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r5, [r1]
- ldr r1, _0809A604
- adds r0, r1
- str r5, [r0]
- bl sub_809A7EC
- ldr r0, [r6]
- ldr r2, _0809A608
- adds r0, r2
- ldr r1, _0809A60C
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A5F4: .4byte gUnknown_3001B64
-_0809A5F8: .4byte gUnknown_20399DC
-_0809A5FC: .4byte gUnknown_20399DE
-_0809A600: .4byte 0x00000414
-_0809A604: .4byte 0x00000434
-_0809A608: .4byte 0x000005a4
-_0809A60C: .4byte 0x0000ffff
- thumb_func_end sub_809A560
-
- thumb_func_start sub_809A610
-sub_809A610:
- push {r4,lr}
- bl sub_809A62C
- ldr r4, _0809A628
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A628: .4byte gUnknown_3001B64
- thumb_func_end sub_809A610
-
- thumb_func_start sub_809A62C
-sub_809A62C:
- push {r4,lr}
- ldr r0, _0809A670
- ldr r0, [r0]
- movs r2, 0
- str r2, [r0]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- ldr r0, _0809A674
- strh r2, [r0]
- ldr r0, _0809A678
- strh r2, [r0]
- movs r4, 0
-_0809A648:
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_809A83C
- adds r4, 0x1
- cmp r4, 0x9
- ble _0809A648
- ldr r0, _0809A670
- ldr r0, [r0]
- ldr r1, _0809A67C
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A670: .4byte gUnknown_3001B64
-_0809A674: .4byte gUnknown_20399DC
-_0809A678: .4byte gUnknown_20399DE
-_0809A67C: .4byte 0x00000414
- thumb_func_end sub_809A62C
-
- thumb_func_start sub_809A680
-sub_809A680:
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0x4
- bhi _0809A6C2
- lsls r0, r4, 2
- ldr r1, _0809A694
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809A694: .4byte _0809A698
- .align 2, 0
-_0809A698:
- .4byte _0809A6AC
- .4byte _0809A6BC
- .4byte _0809A6BC
- .4byte _0809A6BC
- .4byte _0809A6BC
-_0809A6AC:
- bl sub_809B294
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- b _0809A6D0
-_0809A6BC:
- bl sub_809B294
- b _0809A6D0
-_0809A6C2:
- bl sub_809B294
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0809A6D0:
- ldr r0, _0809A6E0
- ldr r0, [r0]
- str r4, [r0]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809A6E0: .4byte gUnknown_3001B64
- thumb_func_end sub_809A680
-
- thumb_func_start sub_809A6E4
-sub_809A6E4:
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0809A6F4
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r2]
- bx lr
- .align 2, 0
-_0809A6F4: .4byte gUnknown_20399DC
- thumb_func_end sub_809A6E4
-
- thumb_func_start sub_809A6F8
-sub_809A6F8:
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0809A708
- ldrh r1, [r2]
- bics r1, r0
- strh r1, [r2]
- bx lr
- .align 2, 0
-_0809A708: .4byte gUnknown_20399DC
- thumb_func_end sub_809A6F8
-
- thumb_func_start sub_809A70C
-sub_809A70C:
- ldr r0, _0809A714
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_0809A714: .4byte gUnknown_20399DC
- thumb_func_end sub_809A70C
-
- thumb_func_start nullsub_209
-nullsub_209:
- bx lr
- thumb_func_end nullsub_209
-
- thumb_func_start sub_809A71C
-sub_809A71C:
- push {lr}
- adds r1, r0, 0
- ldr r0, _0809A734
- ldr r0, [r0]
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- adds r0, r1, 0
- bl sub_801416C
- pop {r0}
- bx r0
- .align 2, 0
-_0809A734: .4byte gUnknown_3001B64
- thumb_func_end sub_809A71C
-
- thumb_func_start sub_809A738
-sub_809A738:
- push {lr}
- ldr r2, _0809A74C
- ldr r2, [r2]
- str r0, [r2, 0x4]
- str r1, [r2, 0x8]
- bl sub_801416C
- pop {r0}
- bx r0
- .align 2, 0
-_0809A74C: .4byte gUnknown_3001B64
- thumb_func_end sub_809A738
-
- thumb_func_start sub_809A750
-sub_809A750:
- push {lr}
- ldr r0, _0809A764
- ldr r0, [r0]
- adds r0, 0xC
- bl sub_809B40C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0809A764: .4byte gUnknown_3001B64
- thumb_func_end sub_809A750
-
- thumb_func_start sub_809A768
-sub_809A768:
- movs r0, 0
- bx lr
- thumb_func_end sub_809A768
-
- thumb_func_start sub_809A76C
-sub_809A76C:
- push {lr}
- ldr r0, _0809A78C
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0x1
- bcc _0809A7A4
- cmp r1, 0x2
- bls _0809A790
- cmp r1, 0x3
- bne _0809A7A4
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x4
- b _0809A798
- .align 2, 0
-_0809A78C: .4byte gUnknown_3001B64
-_0809A790:
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x84
-_0809A798:
- movs r3, 0
- bl sub_809B2B8
- lsls r0, 24
- lsrs r0, 24
- b _0809A7AE
-_0809A7A4:
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- movs r0, 0
-_0809A7AE:
- pop {r1}
- bx r1
- thumb_func_end sub_809A76C
-
- thumb_func_start sub_809A7B4
-sub_809A7B4:
- push {lr}
- ldr r0, _0809A7D8
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0x3
- bhi _0809A7DC
- cmp r1, 0x1
- bcc _0809A7DC
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x4
- movs r3, 0
- bl sub_809B2B8
- lsls r0, 24
- lsrs r0, 24
- b _0809A7E6
- .align 2, 0
-_0809A7D8: .4byte gUnknown_3001B64
-_0809A7DC:
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- movs r0, 0
-_0809A7E6:
- pop {r1}
- bx r1
- thumb_func_end sub_809A7B4
-
- thumb_func_start sub_809A7EC
-sub_809A7EC:
- push {r4-r6,lr}
- ldr r0, _0809A830
- ldr r0, [r0]
- ldr r2, _0809A834
- adds r1, r0, r2
- ldr r0, _0809A838
- adds r6, r0, 0
- movs r3, 0
- movs r2, 0
- movs r4, 0x9
- movs r5, 0xFF
-_0809A802:
- ldrh r0, [r1]
- orrs r0, r6
- strh r0, [r1]
- strh r2, [r1, 0x2]
- strb r3, [r1, 0x4]
- strb r3, [r1, 0x5]
- ldrb r0, [r1, 0x6]
- orrs r0, r5
- strb r0, [r1, 0x6]
- strb r3, [r1, 0x7]
- str r2, [r1, 0x8]
- str r2, [r1, 0xC]
- str r2, [r1, 0x10]
- str r2, [r1, 0x14]
- strb r3, [r1, 0x1C]
- str r2, [r1, 0x20]
- subs r4, 0x1
- adds r1, 0x24
- cmp r4, 0
- bge _0809A802
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A830: .4byte gUnknown_3001B64
-_0809A834: .4byte 0x0000043c
-_0809A838: .4byte 0x0000ffff
- thumb_func_end sub_809A7EC
-
- thumb_func_start sub_809A83C
-sub_809A83C:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0809A8A0
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r3, _0809A8A4
- adds r1, r3
- ldr r2, [r2]
- adds r6, r2, r1
- ldr r1, _0809A8A8
- strh r1, [r6]
- movs r2, 0
- movs r7, 0
- strh r7, [r6, 0x2]
- strb r2, [r6, 0x4]
- strb r2, [r6, 0x5]
- movs r1, 0xFF
- strb r1, [r6, 0x6]
- strb r2, [r6, 0x7]
- str r7, [r6, 0x8]
- str r7, [r6, 0xC]
- str r7, [r6, 0x10]
- str r7, [r6, 0x14]
- strb r2, [r6, 0x1C]
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 4
- ldr r0, _0809A8AC
- adds r0, r4, r0
- ldr r5, _0809A8B0
- adds r1, r5, 0
- bl strcpy
- ldr r0, _0809A8B4
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- ldr r0, [r6, 0x20]
- cmp r0, 0
- beq _0809A89A
- bl CloseFile
- str r7, [r6, 0x20]
-_0809A89A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A8A0: .4byte gUnknown_3001B64
-_0809A8A4: .4byte 0x0000043c
-_0809A8A8: .4byte 0x0000ffff
-_0809A8AC: .4byte gUnknown_202DF98
-_0809A8B0: .4byte gUnknown_811615C
-_0809A8B4: .4byte gUnknown_202E2B8
- thumb_func_end sub_809A83C
-
- thumb_func_start sub_809A8B8
-sub_809A8B8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- mov r0, sp
- strh r1, [r0]
- ldr r1, _0809A928
- mov r2, r9
- lsls r0, r2, 3
- add r0, r9
- lsls r0, 2
- ldr r2, _0809A92C
- adds r0, r2
- ldr r1, [r1]
- adds r7, r1, r0
- movs r0, 0x1
- mov r10, r0
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r0, [r7, 0x20]
- cmp r0, 0
- beq _0809A8F6
- bl CloseFile
- ldr r2, [sp, 0x4]
- str r2, [r7, 0x20]
-_0809A8F6:
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A7DDC
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x13
- bhi _0809A9D6
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80A8D54
- adds r5, r0, 0
- cmp r5, 0
- bne _0809A930
- movs r2, 0
- mov r10, r2
- b _0809A9D6
- .align 2, 0
-_0809A928: .4byte gUnknown_3001B64
-_0809A92C: .4byte 0x0000043c
-_0809A930:
- bl sub_808D3BC
- cmp r5, r0
- bne _0809A940
- mov r1, sp
- movs r0, 0x21
- strh r0, [r1]
- b _0809A9D6
-_0809A940:
- bl sub_808D3F8
- cmp r5, r0
- bne _0809A950
- mov r1, sp
- movs r0, 0x22
- strh r0, [r1]
- b _0809A9D6
-_0809A950:
- ldrb r0, [r5, 0x4]
- subs r0, 0x43
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _0809A990
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldr r0, _0809A978
- cmp r1, r0
- beq _0809A9D6
- cmp r1, r0
- ble _0809A97C
- adds r0, 0x16
- cmp r1, r0
- bgt _0809A98A
- subs r0, 0x1
- cmp r1, r0
- blt _0809A98A
- b _0809A9D6
- .align 2, 0
-_0809A978: .4byte 0x00000183
-_0809A97C:
- movs r0, 0x82
- lsls r0, 1
- cmp r1, r0
- beq _0809A9D6
- adds r0, 0x2F
- cmp r1, r0
- beq _0809A9D6
-_0809A98A:
- movs r1, 0
- mov r10, r1
- b _0809A9D6
-_0809A990:
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r0, 0x87
- lsls r0, 1
- cmp r1, r0
- bgt _0809A9B0
- subs r0, 0x2
- cmp r1, r0
- bge _0809A9D6
- cmp r1, 0x90
- blt _0809A9D2
- cmp r1, 0x92
- ble _0809A9D6
- cmp r1, 0x96
- beq _0809A9D6
- b _0809A9D2
-_0809A9B0:
- movs r0, 0xCF
- lsls r0, 1
- cmp r1, r0
- bgt _0809A9CC
- subs r0, 0x4
- cmp r1, r0
- bge _0809A9D6
- subs r0, 0x87
- cmp r1, r0
- bgt _0809A9D2
- subs r0, 0x1
- cmp r1, r0
- blt _0809A9D2
- b _0809A9D6
-_0809A9CC:
- ldr r0, _0809A9F0
- cmp r1, r0
- beq _0809A9D6
-_0809A9D2:
- movs r0, 0
- mov r10, r0
-_0809A9D6:
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x21
- bhi _0809AA98
- lsls r0, 2
- ldr r1, _0809A9F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809A9F0: .4byte 0x000001a7
-_0809A9F4: .4byte _0809A9F8
- .align 2, 0
-_0809A9F8:
- .4byte _0809AA80
- .4byte _0809AA80
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA80
- .4byte _0809AA80
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA80
- .4byte _0809AA80
-_0809AA80:
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_80A8CF0
- lsls r0, 24
- cmp r0, 0
- beq _0809AA94
- movs r2, 0x1
- str r2, [sp, 0x4]
- b _0809AA98
-_0809AA94:
- movs r0, 0
- mov r10, r0
-_0809AA98:
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809AB34
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80A7AE8
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- blt _0809AACE
- mov r0, sp
- ldrh r0, [r0]
- movs r2, 0
- mov r8, r2
- movs r6, 0
- strh r0, [r7]
- adds r0, r1, 0
- bl sub_80A8BFC
- strh r0, [r7, 0x2]
- b _0809AAE6
-_0809AACE:
- ldrh r1, [r4]
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0809AB34
- mov r0, sp
- ldrh r0, [r0]
- movs r2, 0
- mov r8, r2
- movs r6, 0
- strh r0, [r7]
- strh r1, [r7, 0x2]
-_0809AAE6:
- mov r0, r9
- lsls r4, r0, 2
- add r4, r9
- lsls r4, 4
- ldr r0, _0809AB28
- adds r0, r4, r0
- ldr r5, _0809AB2C
- adds r1, r5, 0
- bl strcpy
- ldr r0, _0809AB30
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- mov r1, r10
- strb r1, [r7, 0x4]
- mov r2, sp
- ldrb r2, [r2, 0x4]
- strb r2, [r7, 0x5]
- movs r0, 0xFF
- strb r0, [r7, 0x6]
- mov r0, r8
- strb r0, [r7, 0x7]
- str r6, [r7, 0x8]
- str r6, [r7, 0xC]
- str r6, [r7, 0x10]
- str r6, [r7, 0x14]
- strb r0, [r7, 0x1C]
- movs r0, 0x1
- b _0809AB3C
- .align 2, 0
-_0809AB28: .4byte gUnknown_202DF98
-_0809AB2C: .4byte gUnknown_811616C
-_0809AB30: .4byte gUnknown_202E2B8
-_0809AB34:
- mov r0, r9
- bl sub_809A83C
- movs r0, 0
-_0809AB3C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809A8B8
-
- thumb_func_start sub_809AB4C
-sub_809AB4C:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0809AB78
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- ldr r3, _0809AB7C
- adds r0, r3
- ldr r2, [r2]
- adds r6, r2, r0
- adds r0, r5, 0
- bl sub_809A8B8
- lsls r0, 24
- cmp r0, 0
- bne _0809AB80
- movs r0, 0
- b _0809ABA0
- .align 2, 0
-_0809AB78: .4byte gUnknown_3001B64
-_0809AB7C: .4byte 0x0000043c
-_0809AB80:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 4
- ldr r0, _0809ABA8
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl sub_808D908
- ldr r0, _0809ABAC
- adds r4, r0
- ldr r1, _0809ABB0
- adds r0, r4, 0
- bl strcpy
- movs r0, 0x1
-_0809ABA0:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809ABA8: .4byte gUnknown_202DF98
-_0809ABAC: .4byte gUnknown_202E2B8
-_0809ABB0: .4byte gUnknown_811617C
- thumb_func_end sub_809AB4C
-
- thumb_func_start sub_809ABB4
-sub_809ABB4:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0809ABE0
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- ldr r3, _0809ABE4
- adds r0, r3
- ldr r2, [r2]
- adds r6, r2, r0
- adds r0, r5, 0
- bl sub_809A8B8
- lsls r0, 24
- cmp r0, 0
- bne _0809ABE8
- movs r0, 0
- b _0809AC0A
- .align 2, 0
-_0809ABE0: .4byte gUnknown_3001B64
-_0809ABE4: .4byte 0x0000043c
-_0809ABE8:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 4
- ldr r5, _0809AC10
- adds r5, r4, r5
- movs r0, 0x2
- ldrsh r1, [r6, r0]
- adds r0, r5, 0
- bl sub_808D908
- ldr r0, _0809AC14
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- movs r0, 0x1
-_0809AC0A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AC10: .4byte gUnknown_202DF98
-_0809AC14: .4byte gUnknown_202E2B8
- thumb_func_end sub_809ABB4
-
- thumb_func_start sub_809AC18
-sub_809AC18:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0809AC44
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- ldr r3, _0809AC48
- adds r0, r3
- ldr r2, [r2]
- adds r6, r2, r0
- adds r0, r5, 0
- bl sub_809A8B8
- lsls r0, 24
- cmp r0, 0
- bne _0809AC4C
- movs r0, 0
- b _0809AC6E
- .align 2, 0
-_0809AC44: .4byte gUnknown_3001B64
-_0809AC48: .4byte 0x0000043c
-_0809AC4C:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 4
- ldr r0, _0809AC74
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl sub_808D908
- ldr r0, _0809AC78
- adds r4, r0
- movs r3, 0
- ldrsh r1, [r6, r3]
- adds r0, r4, 0
- bl sub_80A8EC0
- movs r0, 0x1
-_0809AC6E:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AC74: .4byte gUnknown_202DF98
-_0809AC78: .4byte gUnknown_202E2B8
- thumb_func_end sub_809AC18
-
- thumb_func_start sub_809AC7C
-sub_809AC7C:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 24
- asrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r2, _0809AD10
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0809AD14
- adds r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldr r0, [r4, 0x20]
- cmp r0, 0
- beq _0809ACA8
- bl CloseFile
- movs r0, 0
- str r0, [r4, 0x20]
-_0809ACA8:
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bge _0809ACB2
- b _0809ADC0
-_0809ACB2:
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _0809ACBC
- b _0809ADC0
-_0809ACBC:
- cmp r1, 0
- bne _0809ACC2
- b _0809ADC0
-_0809ACC2:
- cmp r6, 0x15
- beq _0809ACCE
- movs r0, 0
- strb r6, [r4, 0x7]
- str r0, [r4, 0x8]
- str r0, [r4, 0xC]
-_0809ACCE:
- ldr r2, _0809AD18
- ldrb r0, [r4, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r4, 0x8]
- ldrh r0, [r0]
- adds r0, r1
- movs r6, 0
- movs r3, 0
- strh r0, [r4, 0x18]
- ldrb r0, [r4, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r4, 0xC]
- ldrh r0, [r0, 0x2]
- adds r0, r1
- strh r0, [r4, 0x1A]
- ldrb r0, [r4, 0x7]
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- strb r0, [r4, 0x1D]
- strb r6, [r4, 0x1E]
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- bne _0809AD1C
- strb r5, [r4, 0x6]
- str r3, [r4, 0x10]
- str r3, [r4, 0x14]
- strb r6, [r4, 0x1C]
- movs r0, 0
- b _0809ADD2
- .align 2, 0
-_0809AD10: .4byte gUnknown_3001B64
-_0809AD14: .4byte 0x0000043c
-_0809AD18: .4byte gUnknown_8116040
-_0809AD1C:
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _0809ADC0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- bl sub_808DD90
- str r0, [r4, 0x20]
- cmp r0, 0
- beq _0809ADB6
- strb r5, [r4, 0x6]
- str r0, [r4, 0x10]
- movs r1, 0
- bl GetFileDataPtr
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x4D
- beq _0809AD62
- cmp r0, 0x4D
- bgt _0809AD4C
- cmp r0, 0x47
- beq _0809AD56
- b _0809ADA8
-_0809AD4C:
- cmp r0, 0x53
- beq _0809AD76
- cmp r0, 0x73
- beq _0809AD8A
- b _0809ADA8
-_0809AD56:
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0x5
- bgt _0809ADA8
- adds r0, r5, 0x6
- b _0809AD9C
-_0809AD62:
- ldrb r0, [r4, 0x1D]
- cmp r0, 0
- beq _0809ADA8
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0x3
- bgt _0809ADA8
- strb r6, [r4, 0x1D]
- adds r0, r5, 0x4
- b _0809AD9C
-_0809AD76:
- ldrb r0, [r4, 0x1D]
- cmp r0, 0
- beq _0809ADA8
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0
- bgt _0809ADA8
- strb r6, [r4, 0x1D]
- adds r0, r5, 0x1
- b _0809AD9C
-_0809AD8A:
- ldrb r0, [r4, 0x1D]
- cmp r0, 0
- beq _0809ADA8
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0x1
- bgt _0809ADA8
- strb r6, [r4, 0x1D]
- adds r0, r5, 0x2
-_0809AD9C:
- lsls r0, 24
- asrs r5, r0, 24
- movs r0, 0x40
- orrs r5, r0
- lsls r0, r5, 24
- asrs r5, r0, 24
-_0809ADA8:
- ldr r0, [r4, 0x20]
- ldr r0, [r0, 0x4]
- str r0, [r4, 0x14]
- movs r0, 0xF
- ands r5, r0
- strb r5, [r4, 0x1C]
- b _0809ADBC
-_0809ADB6:
- str r0, [r4, 0x10]
- str r0, [r4, 0x14]
- strb r6, [r4, 0x1C]
-_0809ADBC:
- movs r0, 0x1
- b _0809ADD2
-_0809ADC0:
- movs r0, 0xFF
- strb r0, [r4, 0x6]
- movs r0, 0
- strb r0, [r4, 0x7]
- str r0, [r4, 0x8]
- str r0, [r4, 0xC]
- str r0, [r4, 0x10]
- str r0, [r4, 0x14]
- strb r0, [r4, 0x1C]
-_0809ADD2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809AC7C
-
- thumb_func_start sub_809ADD8
-sub_809ADD8:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0809AE28
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0809AE2C
- adds r1, r0
- ldr r0, [r2]
- adds r3, r0, r1
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r0, 0
- blt _0809AE34
- cmp r0, 0
- beq _0809AE34
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [r3, 0x8]
- str r1, [r3, 0xC]
- ldr r2, _0809AE30
- ldrb r0, [r3, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r3, 0x8]
- ldrh r0, [r0]
- adds r0, r1
- strh r0, [r3, 0x18]
- ldrb r0, [r3, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r3, 0xC]
- ldrh r0, [r0, 0x2]
- adds r0, r1
- strh r0, [r3, 0x1A]
- movs r0, 0x1
- b _0809AE36
- .align 2, 0
-_0809AE28: .4byte gUnknown_3001B64
-_0809AE2C: .4byte 0x0000043c
-_0809AE30: .4byte gUnknown_8116040
-_0809AE34:
- movs r0, 0
-_0809AE36:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809ADD8
-
- thumb_func_start sub_809AE3C
-sub_809AE3C:
- push {r4,lr}
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _0809AE88
- ldr r1, _0809AE80
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r3, _0809AE84
- adds r0, r3
- ldr r1, [r1]
- adds r4, r1, r0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0809AE74
- movs r1, 0x6
- ldrsb r1, [r4, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0809AE74
- adds r0, r2, 0
- movs r1, 0
- movs r2, 0
- bl sub_809AC7C
-_0809AE74:
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _0809AE88
- adds r0, r4, 0
- adds r0, 0x10
- b _0809AE8A
- .align 2, 0
-_0809AE80: .4byte gUnknown_3001B64
-_0809AE84: .4byte 0x0000043c
-_0809AE88:
- movs r0, 0
-_0809AE8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AE3C
-
- thumb_func_start sub_809AE90
-sub_809AE90:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r2, 0
- lsls r1, 16
- asrs r6, r1, 16
- cmp r4, 0
- bne _0809AEA4
- bl sub_809A76C
- b _0809AEE0
-_0809AEA4:
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AEDC
- ldr r1, _0809AED0
- lsls r0, r5, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl sub_809A680
- ldr r0, _0809AED4
- ldr r0, [r0]
- adds r0, 0xC
- ldr r2, _0809AED8
- lsls r1, r5, 1
- adds r1, r2
- ldrh r1, [r1]
- adds r2, r6, 0
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AEE0
- .align 2, 0
-_0809AED0: .4byte gUnknown_8116134
-_0809AED4: .4byte gUnknown_3001B64
-_0809AED8: .4byte gUnknown_8116148
-_0809AEDC:
- bl sub_809A7B4
-_0809AEE0:
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809AE90
-
- thumb_func_start sub_809AEEC
-sub_809AEEC:
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _0809AF1C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AF1C
- movs r0, 0x2
- movs r1, 0x1
- bl sub_809A680
- ldr r0, _0809AF18
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0xC2
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AF20
- .align 2, 0
-_0809AF18: .4byte gUnknown_3001B64
-_0809AF1C:
- bl sub_809A76C
-_0809AF20:
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AEEC
-
- thumb_func_start sub_809AF2C
-sub_809AF2C:
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _0809AF5C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AF5C
- movs r0, 0x2
- movs r1, 0x1
- bl sub_809A680
- ldr r0, _0809AF58
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0xC2
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AF60
- .align 2, 0
-_0809AF58: .4byte gUnknown_3001B64
-_0809AF5C:
- bl sub_809A76C
-_0809AF60:
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AF2C
-
- thumb_func_start sub_809AF6C
-sub_809AF6C:
- push {r4,lr}
- adds r4, r1, 0
- cmp r4, 0
- beq _0809AF9C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AF9C
- movs r0, 0x3
- movs r1, 0x1
- bl sub_809A680
- ldr r0, _0809AF98
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x65
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AFA0
- .align 2, 0
-_0809AF98: .4byte gUnknown_3001B64
-_0809AF9C:
- bl sub_809A76C
-_0809AFA0:
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AF6C
-
- thumb_func_start sub_809AFAC
-sub_809AFAC:
- push {lr}
- movs r1, 0
- ldr r0, _0809AFC4
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x4
- bne _0809AFBC
- movs r1, 0x1
-_0809AFBC:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809AFC4: .4byte gUnknown_3001B64
- thumb_func_end sub_809AFAC
-
- thumb_func_start sub_809AFC8
-sub_809AFC8:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r1, 0
- adds r1, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- asrs r1, 16
- ldr r4, _0809AFF8
- negs r2, r0
- orrs r2, r0
- lsrs r2, 31
- str r1, [sp]
- str r3, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- adds r3, r5, 0
- bl sub_809B028
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809AFF8: .4byte gUnknown_81160E8
- thumb_func_end sub_809AFC8
-
- thumb_func_start sub_809AFFC
-sub_809AFFC:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- mov r0, sp
- bl sub_809B18C
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r4, 0
- beq _0809B01C
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bne _0809B01A
- movs r1, 0x1
-_0809B01A:
- strb r1, [r4]
-_0809B01C:
- adds r0, r2, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AFFC
-
- thumb_func_start sub_809B028
-sub_809B028:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- mov r8, r0
- adds r7, r2, 0
- adds r6, r3, 0
- ldr r0, [sp, 0x2C]
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r0, 16
- asrs r4, r0, 16
- ldr r1, _0809B084
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl sub_809A680
- ldr r0, _0809B088
- ldr r1, [r0]
- ldr r0, _0809B08C
- adds r2, r1, r0
- movs r0, 0x1
- str r0, [r2]
- movs r0, 0x83
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0
- str r0, [r2]
- ldr r2, _0809B090
- adds r0, r1, r2
- mov r2, r8
- str r2, [r0]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r1, r2
- movs r2, 0x2
- str r2, [r0]
- ldr r0, _0809B094
- adds r1, r0
- cmp r5, 0
- beq _0809B098
- str r2, [r1]
- b _0809B09A
- .align 2, 0
-_0809B084: .4byte gUnknown_8116134
-_0809B088: .4byte gUnknown_3001B64
-_0809B08C: .4byte 0x00000414
-_0809B090: .4byte 0x0000041c
-_0809B094: .4byte 0x00000424
-_0809B098:
- str r5, [r1]
-_0809B09A:
- ldr r0, _0809B0D4
- ldr r0, [r0]
- movs r1, 0x85
- lsls r1, 3
- adds r2, r0, r1
- movs r1, 0
- str r1, [r2]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- str r7, [r0]
- ldr r0, _0809B0D8
- lsls r2, r6, 1
- adds r0, r2, r0
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- adds r5, r2, 0
- cmp r0, 0
- beq _0809B0F6
- cmp r4, 0
- bge _0809B0E4
- ldr r0, _0809B0DC
- ldr r1, _0809B0E0
- bl strcpy
- b _0809B0F6
- .align 2, 0
-_0809B0D4: .4byte gUnknown_3001B64
-_0809B0D8: .4byte gUnknown_8116148
-_0809B0DC: .4byte gUnknown_202E5D8
-_0809B0E0: .4byte gUnknown_8116180
-_0809B0E4:
- ldr r0, _0809B134
- ldr r1, _0809B138
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 4
- ldr r3, _0809B13C
- adds r2, r3
- bl sub_800D158
-_0809B0F6:
- adds r0, r4, 0
- bl sub_809AE3C
- ldr r4, _0809B140
- movs r1, 0
- str r1, [sp]
- movs r3, 0x4
- str r3, [sp, 0x4]
- str r1, [sp, 0x8]
- str r0, [sp, 0xC]
- ldr r0, _0809B144
- adds r0, r5, r0
- ldrh r2, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _0809B11C
- movs r1, 0xC
-_0809B11C:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _0809B128
- orrs r1, r3
-_0809B128:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _0809B148
- movs r0, 0x21
- b _0809B14A
- .align 2, 0
-_0809B134: .4byte gUnknown_202E5D8
-_0809B138: .4byte gUnknown_8116188
-_0809B13C: .4byte gUnknown_202E2B8
-_0809B140: .4byte sub_809B428
-_0809B144: .4byte gUnknown_8116148
-_0809B148:
- movs r0, 0x1
-_0809B14A:
- orrs r0, r1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- ldr r0, [sp, 0x30]
- adds r1, r4, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_8014248
- ldr r0, _0809B184
- ldr r0, [r0]
- ldr r1, _0809B188
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809B176
- movs r0, 0x1
- bl sub_809A6E4
-_0809B176:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B184: .4byte gUnknown_3001B64
-_0809B188: .4byte 0x00000424
- thumb_func_end sub_809B028
-
- thumb_func_start sub_809B18C
-sub_809B18C:
- push {lr}
- adds r1, r0, 0
- ldr r2, _0809B1BC
- cmp r1, 0
- beq _0809B1A2
- ldr r0, [r2]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_0809B1A2:
- movs r1, 0
- ldr r0, [r2]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0809B1B4
- movs r1, 0x1
-_0809B1B4:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809B1BC: .4byte gUnknown_3001B64
- thumb_func_end sub_809B18C
-
- thumb_func_start sub_809B1C0
-sub_809B1C0:
- push {lr}
- adds r3, r2, 0
- movs r2, 0
- bl sub_809B1D4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_809B1C0
-
- thumb_func_start sub_809B1D4
-sub_809B1D4:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- cmp r4, 0xB
- beq _0809B1E8
- cmp r4, 0xC
- beq _0809B1F0
- b _0809B202
-_0809B1E8:
- adds r0, r5, 0
- bl sub_8021700
- b _0809B1F8
-_0809B1F0:
- bl sub_8001D88
- bl sub_802FCF0
-_0809B1F8:
- lsls r0, 24
- cmp r0, 0
- beq _0809B202
- movs r0, 0
- b _0809B24C
-_0809B202:
- movs r0, 0x4
- movs r1, 0
- bl sub_809A680
- ldr r0, _0809B254
- ldr r1, [r0]
- ldr r2, _0809B258
- adds r0, r1, r2
- str r4, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r1, r3
- movs r2, 0
- str r2, [r0]
- adds r3, 0x4
- adds r0, r1, r3
- str r2, [r0]
- movs r0, 0x84
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0x1
- str r0, [r2]
- ldr r2, _0809B25C
- adds r0, r1, r2
- str r5, [r0]
- adds r3, 0xC
- adds r0, r1, r3
- str r6, [r0]
- adds r2, 0x8
- adds r0, r1, r2
- str r7, [r0]
- adds r3, 0x8
- adds r1, r3
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- movs r0, 0x1
-_0809B24C:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809B254: .4byte gUnknown_3001B64
-_0809B258: .4byte 0x00000414
-_0809B25C: .4byte 0x00000424
- thumb_func_end sub_809B1D4
-
- thumb_func_start sub_809B260
-sub_809B260:
- push {lr}
- adds r1, r0, 0
- ldr r2, _0809B290
- cmp r1, 0
- beq _0809B276
- ldr r0, [r2]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_0809B276:
- movs r1, 0
- ldr r0, [r2]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0809B288
- movs r1, 0x1
-_0809B288:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809B290: .4byte gUnknown_3001B64
- thumb_func_end sub_809B260
-
- thumb_func_start sub_809B294
-sub_809B294:
- push {lr}
- movs r0, 0x3
- bl sub_80063D8
- ldr r0, _0809B2B4
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- movs r3, 0
- bl sub_809B2B8
- pop {r0}
- bx r0
- .align 2, 0
-_0809B2B4: .4byte gUnknown_3001B64
- thumb_func_end sub_809B294
-
- thumb_func_start sub_809B2B8
-sub_809B2B8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- adds r4, r0, 0
- adds r7, r3, 0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- asrs r6, r2, 16
- strh r5, [r4]
- cmp r7, 0
- bne _0809B2F6
- cmp r5, 0
- bne _0809B2DE
- str r7, [r4, 0x4]
- movs r0, 0
- b _0809B3FC
-_0809B2DE:
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- bne _0809B2E8
- b _0809B3FA
-_0809B2E8:
- bl sub_8014490
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- b _0809B3FA
-_0809B2F6:
- movs r0, 0x1
- str r0, [r4, 0x4]
- adds r0, 0xFF
- ands r0, r5
- cmp r0, 0
- beq _0809B32A
- cmp r6, 0
- bge _0809B318
- ldr r0, _0809B310
- ldr r1, _0809B314
- bl strcpy
- b _0809B32A
- .align 2, 0
-_0809B310: .4byte gUnknown_202E5D8
-_0809B314: .4byte gUnknown_8116180
-_0809B318:
- ldr r0, _0809B3D0
- ldr r1, _0809B3D4
- lsls r2, r6, 2
- adds r2, r6
- lsls r2, 4
- ldr r3, _0809B3D8
- adds r2, r3
- bl sub_800D158
-_0809B32A:
- ldr r0, _0809B3DC
- mov r8, r0
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0809B344
- adds r4, 0x8
- ldr r1, _0809B3E0
- adds r0, r4, 0
- adds r2, r7, 0
- bl sub_800D158
- adds r7, r4, 0
-_0809B344:
- adds r0, r6, 0
- bl sub_809AE3C
- ldr r1, _0809B3E4
- mov r9, r1
- movs r1, 0x1
- negs r1, r1
- mov r12, r1
- movs r2, 0
- str r2, [sp]
- movs r1, 0x3
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r0, [sp, 0xC]
- movs r6, 0x80
- lsls r6, 1
- adds r0, r5, 0
- ands r0, r6
- movs r1, 0
- cmp r0, 0
- beq _0809B370
- movs r1, 0xC
-_0809B370:
- movs r4, 0x80
- lsls r4, 2
- adds r0, r5, 0
- ands r0, r4
- cmp r0, 0
- beq _0809B380
- movs r0, 0x4
- orrs r1, r0
-_0809B380:
- mov r0, r8
- ldr r3, [r0]
- ldr r2, [r3]
- cmp r2, 0x3
- bne _0809B38E
- movs r0, 0x10
- orrs r1, r0
-_0809B38E:
- cmp r2, 0x2
- bne _0809B396
- movs r0, 0x10
- orrs r1, r0
-_0809B396:
- adds r2, r1, 0
- movs r1, 0x20
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0809B3A4
- orrs r2, r1
-_0809B3A4:
- lsrs r1, r5, 6
- movs r0, 0x1
- ands r1, r0
- orrs r1, r2
- movs r0, 0x80
- ands r0, r5
- cmp r0, 0
- beq _0809B3B6
- orrs r1, r6
-_0809B3B6:
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- beq _0809B3C0
- orrs r1, r4
-_0809B3C0:
- ldr r0, [r3, 0x4]
- cmp r0, r12
- beq _0809B3E8
- movs r0, 0x2
- orrs r0, r1
- lsls r0, 16
- b _0809B3EA
- .align 2, 0
-_0809B3D0: .4byte gUnknown_202E5D8
-_0809B3D4: .4byte gUnknown_8116188
-_0809B3D8: .4byte gUnknown_202E2B8
-_0809B3DC: .4byte gUnknown_3001B64
-_0809B3E0: .4byte gUnknown_8116190
-_0809B3E4: .4byte sub_809B428
-_0809B3E8:
- lsls r0, r1, 16
-_0809B3EA:
- lsrs r0, 16
- str r0, [sp, 0x10]
- adds r0, r7, 0
- mov r1, r9
- mov r2, r12
- movs r3, 0
- bl sub_8014248
-_0809B3FA:
- movs r0, 0x1
-_0809B3FC:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809B2B8
-
- thumb_func_start sub_809B40C
-sub_809B40C:
- push {lr}
- ldr r0, [r0, 0x4]
- cmp r0, 0
- beq _0809B41C
- cmp r0, 0x3
- bhi _0809B420
- cmp r0, 0x2
- bcc _0809B420
-_0809B41C:
- movs r0, 0
- b _0809B422
-_0809B420:
- movs r0, 0x1
-_0809B422:
- pop {r1}
- bx r1
- thumb_func_end sub_809B40C
-
- thumb_func_start sub_809B428
-sub_809B428:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r2, 0
- ldrb r0, [r5, 0x2]
- cmp r0, 0x4F
- beq _0809B44C
- cmp r0, 0x4F
- bgt _0809B43E
- cmp r0, 0x49
- beq _0809B444
- b _0809B46A
-_0809B43E:
- cmp r0, 0x57
- beq _0809B454
- b _0809B46A
-_0809B444:
- movs r0, 0x1E
- bl sub_8099A34
- b _0809B462
-_0809B44C:
- movs r0, 0x1E
- bl sub_8099A48
- b _0809B462
-_0809B454:
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- beq _0809B462
- adds r0, r5, 0
- b _0809B46C
-_0809B462:
- adds r1, r4, 0
- adds r1, 0x21
- movs r0, 0x1
- strb r0, [r1]
-_0809B46A:
- movs r0, 0
-_0809B46C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809B428
-
- thumb_func_start sub_809B474
-sub_809B474:
- push {r4-r6,lr}
- ldr r0, _0809B498
- ldr r1, [r0]
- ldr r2, [r1]
- adds r6, r0, 0
- cmp r2, 0x3
- bls _0809B56E
- cmp r2, 0x4
- bne _0809B56E
- movs r5, 0x84
- lsls r5, 3
- adds r0, r1, r5
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0809B49C
- cmp r0, 0x2
- beq _0809B508
- b _0809B56E
- .align 2, 0
-_0809B498: .4byte gUnknown_3001B64
-_0809B49C:
- bl sub_809B648
- lsls r0, 24
- cmp r0, 0
- bne _0809B4B0
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x3
- str r1, [r0]
- b _0809B4E8
-_0809B4B0:
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _0809B4F8
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _0809B4F2
- bl sub_809B294
- ldr r0, [r4, 0x4]
- bl _call_via_r0
- lsls r0, 24
- cmp r0, 0
- bne _0809B4F2
- ldr r1, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r2, r1, r3
- movs r0, 0x1
- negs r0, r0
- str r0, [r2]
- adds r1, r5
- movs r0, 0x3
- str r0, [r1]
-_0809B4E8:
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- b _0809B56E
-_0809B4F2:
- ldrh r0, [r4]
- bl sub_809A6E4
-_0809B4F8:
- ldr r0, _0809B534
- ldr r1, [r0]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- movs r2, 0x2
- str r2, [r1]
- adds r6, r0, 0
-_0809B508:
- ldr r0, [r6]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r4, [r0]
- cmp r4, 0
- beq _0809B54E
- ldr r0, [r4, 0xC]
- bl _call_via_r0
- adds r2, r0, 0
- cmp r2, 0x1
- bls _0809B56E
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r1, r0, r3
- cmp r2, 0x2
- bne _0809B538
- movs r0, 0x1
- negs r0, r0
- b _0809B53A
- .align 2, 0
-_0809B534: .4byte gUnknown_3001B64
-_0809B538:
- movs r0, 0
-_0809B53A:
- str r0, [r1]
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _0809B546
- bl _call_via_r0
-_0809B546:
- ldrh r0, [r4]
- bl sub_809A6F8
- b _0809B558
-_0809B54E:
- bl sub_809B648
- lsls r0, 24
- cmp r0, 0
- bne _0809B56E
-_0809B558:
- ldr r0, _0809B578
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- movs r1, 0x3
- str r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
-_0809B56E:
- bl sub_809B57C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B578: .4byte gUnknown_3001B64
- thumb_func_end sub_809B474
-
- thumb_func_start sub_809B57C
-sub_809B57C:
- push {r4,r5,lr}
- sub sp, 0x8
- bl xxx_draw_string_80144C4
- ldr r5, _0809B5C8
- ldr r0, [r5]
- ldr r1, [r0]
- cmp r1, 0x3
- bhi _0809B5E4
- cmp r1, 0x1
- bcc _0809B5E4
- movs r4, 0x84
- lsls r4, 3
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _0809B5CC
- cmp r0, 0x3
- beq _0809B5CC
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0809B5E4
- ldr r1, [sp]
- movs r0, 0x1
- bl sub_809D9E0
- ldr r1, [r5]
- adds r2, r1, r4
- movs r0, 0x3
- str r0, [r2]
- movs r0, 0x86
- lsls r0, 3
- adds r1, r0
- ldr r0, [sp]
- str r0, [r1]
- b _0809B5E4
- .align 2, 0
-_0809B5C8: .4byte gUnknown_3001B64
-_0809B5CC:
- add r0, sp, 0x4
- bl sub_80144A4
- adds r4, r0, 0
- cmp r4, 0
- bne _0809B5E4
- movs r0, 0
- bl sub_809D9B8
- ldr r0, _0809B5FC
- ldr r0, [r0]
- str r4, [r0]
-_0809B5E4:
- ldr r0, _0809B5FC
- ldr r0, [r0]
- ldr r1, _0809B600
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bge _0809B604
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- b _0809B60C
- .align 2, 0
-_0809B5FC: .4byte gUnknown_3001B64
-_0809B600: .4byte 0x00000434
-_0809B604:
- movs r0, 0
- movs r1, 0x5
- bl sub_8005838
-_0809B60C:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809B57C
-
- thumb_func_start sub_809B614
-sub_809B614:
- push {lr}
- bl sub_80060EC
- ldr r0, _0809B62C
- ldr r2, _0809B630
- ldrh r1, [r2]
- strh r1, [r0]
- ldr r0, _0809B634
- ands r0, r1
- strh r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_0809B62C: .4byte gUnknown_20399DE
-_0809B630: .4byte gUnknown_20399DC
-_0809B634: .4byte 0x0000fffd
- thumb_func_end sub_809B614
-
- thumb_func_start sub_809B638
-sub_809B638:
- push {lr}
- bl xxx_call_update_bg_vram
- pop {r0}
- bx r0
- thumb_func_end sub_809B638
-
- thumb_func_start nullsub_210
-nullsub_210:
- bx lr
- thumb_func_end nullsub_210
-
- thumb_func_start sub_809B648
-sub_809B648:
- push {r4-r6,lr}
- sub sp, 0x24
- ldr r0, _0809B66C
- ldr r1, [r0]
- ldr r2, _0809B670
- adds r1, r2
- ldr r1, [r1]
- subs r1, 0x2
- adds r6, r0, 0
- cmp r1, 0x2C
- bls _0809B662
- bl _0809C392
-_0809B662:
- lsls r0, r1, 2
- ldr r1, _0809B674
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809B66C: .4byte gUnknown_3001B64
-_0809B670: .4byte 0x00000414
-_0809B674: .4byte _0809B678
- .align 2, 0
-_0809B678:
- .4byte _0809B72C
- .4byte _0809B772
- .4byte _0809B7AC
- .4byte _0809B834
- .4byte _0809B89C
- .4byte _0809B8FC
- .4byte _0809B91C
- .4byte _0809B944
- .4byte _0809B9D2
- .4byte _0809BA2A
- .4byte _0809BAA8
- .4byte _0809BB66
- .4byte _0809BBDA
- .4byte _0809BBDA
- .4byte _0809BC26
- .4byte _0809BC68
- .4byte _0809C1B4
- .4byte _0809BC78
- .4byte _0809C1C2
- .4byte _0809C1C2
- .4byte _0809C1C8
- .4byte _0809BCBC
- .4byte _0809BCBC
- .4byte _0809BD1C
- .4byte _0809BD64
- .4byte _0809BDE8
- .4byte _0809BE30
- .4byte _0809BE40
- .4byte _0809BE50
- .4byte _0809BE60
- .4byte _0809BE9C
- .4byte _0809BEB8
- .4byte _0809BED4
- .4byte _0809BF70
- .4byte _0809BFFC
- .4byte _0809C072
- .4byte _0809C0B8
- .4byte _0809C0FC
- .4byte _0809C148
- .4byte _0809C158
- .4byte _0809C168
- .4byte _0809C204
- .4byte _0809C238
- .4byte _0809C280
- .4byte _0809C32A
-_0809B72C:
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r2, r3
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0809B780
- ldr r0, _0809B754
- ldrh r0, [r0, 0x2]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809B758
- movs r0, 0x86
- lsls r0, 3
- adds r1, r2, r0
- movs r0, 0x1
- str r0, [r1]
- bl _0809C392
- .align 2, 0
-_0809B754: .4byte gUnknown_20255F0
-_0809B758:
- bl sub_8094D14
- lsls r0, 24
- cmp r0, 0
- beq _0809B784
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x2
- str r1, [r0]
- bl _0809C392
-_0809B772:
- ldr r0, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B78A
-_0809B780:
- bl sub_809B294
-_0809B784:
- movs r0, 0x1
- bl _0809C394
-_0809B78A:
- ldr r0, _0809B7A8
- ldrh r1, [r0]
- ldrh r0, [r0, 0x2]
- movs r2, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0809B79C
- bl _0809C392
-_0809B79C:
- ands r1, r2
- cmp r1, 0
- bne _0809B784
- bl _0809C392
- .align 2, 0
-_0809B7A8: .4byte gUnknown_20255F0
-_0809B7AC:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B7F4
- bl sub_809B294
- ldr r1, [r6]
- ldr r2, _0809B7D8
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _0809B7E0
- ldr r3, _0809B7DC
- adds r0, r1, r3
- ldr r1, [r0]
- movs r0, 0
- bl sub_801602C
- b _0809B784
- .align 2, 0
-_0809B7D8: .4byte 0x00000424
-_0809B7DC: .4byte 0x0000042c
-_0809B7E0:
- ldr r2, _0809B7F0
- adds r0, r1, r2
- ldr r1, [r0]
- movs r0, 0x2
- bl sub_801602C
- b _0809B784
- .align 2, 0
-_0809B7F0: .4byte 0x0000042c
-_0809B7F4:
- bl sub_8016080
- cmp r0, 0x3
- bne _0809B80C
- bl sub_80160D8
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809C1BC
-_0809B80C:
- cmp r0, 0x2
- bne _0809B784
- ldr r0, [r6]
- ldr r1, _0809B830
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0809B784
- bl sub_80160D8
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
-_0809B828:
- movs r1, 0
- str r1, [r0]
- bl _0809C392
- .align 2, 0
-_0809B830: .4byte 0x00000424
-_0809B834:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B85C
- bl sub_809B294
- ldr r0, [r6]
- ldr r1, _0809B858
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x1
- bl sub_801602C
- b _0809B784
- .align 2, 0
-_0809B858: .4byte 0x0000042c
-_0809B85C:
- bl sub_8016080
- cmp r0, 0x3
- bne _0809B874
- bl sub_80160D8
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- bl _0809C1BC
-_0809B874:
- cmp r0, 0x2
- beq _0809B87A
- b _0809B784
-_0809B87A:
- ldr r0, [r6]
- ldr r3, _0809B898
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0
- bne _0809B888
- b _0809B784
-_0809B888:
- bl sub_80160D8
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- b _0809B828
- .align 2, 0
-_0809B898: .4byte 0x00000424
-_0809B89C:
- ldr r0, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B8C4
- bl sub_809B294
- ldr r0, [r6]
- ldr r3, _0809B8C0
- adds r0, r3
- ldr r1, [r0]
- movs r0, 0x4
- bl sub_80151C0
- b _0809B784
- .align 2, 0
-_0809B8C0: .4byte 0x0000042c
-_0809B8C4:
- bl sub_80154F0
- cmp r0, 0x3
- bne _0809B8D4
- bl sub_80155F0
- bl _0809C1B4
-_0809B8D4:
- cmp r0, 0x2
- beq _0809B8DA
- b _0809B784
-_0809B8DA:
- ldr r0, [r6]
- ldr r2, _0809B8F8
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _0809B8E8
- b _0809B784
-_0809B8E8:
- bl sub_80155F0
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B828
- .align 2, 0
-_0809B8F8: .4byte 0x00000424
-_0809B8FC:
- ldr r0, [r6]
- ldr r1, _0809B914
- adds r0, r1
- ldr r0, [r0]
- bl sub_801D014
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809B918
- b _0809B932
- .align 2, 0
-_0809B914: .4byte 0x0000042c
-_0809B918: .4byte gUnknown_81161A8
-_0809B91C:
- ldr r0, [r6]
- ldr r3, _0809B93C
- adds r0, r3
- ldr r0, [r0]
- bl sub_801D014
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809B940
-_0809B932:
- str r1, [r0]
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
- .align 2, 0
-_0809B93C: .4byte 0x0000042c
-_0809B940: .4byte gUnknown_81161B8
-_0809B944:
- bl sub_809B294
- ldr r4, _0809B984
- ldr r0, [r4]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B998
- bl sub_809B294
- ldr r0, [r4]
- ldr r3, _0809B988
- adds r0, r3
- ldr r0, [r0]
- ldr r1, _0809B98C
- bl sub_8015080
- lsls r0, 24
- cmp r0, 0
- bne _0809B990
- ldr r0, [r4]
-_0809B972:
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
-_0809B978:
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl _0809C392
- .align 2, 0
-_0809B984: .4byte gUnknown_3001B64
-_0809B988: .4byte 0x0000042c
-_0809B98C: .4byte gUnknown_811610C
-_0809B990:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809B998:
- bl sub_801516C
- cmp r0, 0x2
- beq _0809B9BC
- cmp r0, 0x3
- beq _0809B9A6
- b _0809B784
-_0809B9A6:
- bl sub_8015198
- ldr r1, [r4]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- str r0, [r1]
- bl sub_80151A4
- bl _0809C392
-_0809B9BC:
- ldr r0, [r4]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_80151A4
- bl _0809C392
-_0809B9D2:
- bl sub_809B294
- ldr r4, _0809BA08
- ldr r0, [r4]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BA1C
- bl sub_809B294
- ldr r0, [r4]
- ldr r2, _0809BA0C
- adds r0, r2
- ldr r0, [r0]
- ldr r1, _0809BA10
- bl sub_8015080
- lsls r0, 24
- cmp r0, 0
- bne _0809BA14
- ldr r0, [r4]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BA08: .4byte gUnknown_3001B64
-_0809BA0C: .4byte 0x0000042c
-_0809BA10: .4byte gUnknown_811612C
-_0809BA14:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BA1C:
- bl sub_801516C
- cmp r0, 0x2
- beq _0809B9BC
- cmp r0, 0x3
- beq _0809B9A6
- b _0809B784
-_0809BA2A:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BA68
- bl sub_809B294
- ldr r0, [r6]
- ldr r2, _0809BA5C
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0x3
- bl sub_80211AC
- lsls r0, 24
- cmp r0, 0
- bne _0809BA60
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BA5C: .4byte 0x00000424
-_0809BA60:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BA68:
- movs r0, 0x1
- bl sub_8021274
- cmp r0, 0x2
- beq _0809BA92
- cmp r0, 0x3
- beq _0809BA78
- b _0809B784
-_0809BA78:
- bl sub_802132C
- ldr r1, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- bl sub_80213A0
- bl _0809C392
-_0809BA92:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_80213A0
- bl _0809C392
-_0809BAA8:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BB10
- movs r0, 0
- movs r1, 0x12
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2654
- lsls r0, 16
- asrs r4, r0, 16
- bl sub_809B294
- movs r0, 0x3
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1
- bl sub_802F73C
- lsls r0, 24
- cmp r0, 0
- bne _0809BAEA
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809B978
-_0809BAEA:
- movs r5, 0x1
- negs r5, r5
- cmp r4, r5
- beq _0809BB08
- adds r0, r4, 0
- bl sub_802F848
- lsls r0, 24
- cmp r0, 0
- bne _0809BB08
- movs r0, 0
- movs r1, 0x12
- adds r2, r5, 0
- bl sub_80018D8
-_0809BB08:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BB10:
- movs r0, 0x1
- bl sub_802F8A0
- cmp r0, 0x2
- beq _0809BB50
- cmp r0, 0x3
- beq _0809BB20
- b _0809B784
-_0809BB20:
- bl sub_802F90C
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80A26B8
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- movs r0, 0
- movs r1, 0x12
- bl sub_80018D8
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- str r4, [r0]
- bl sub_802F974
- bl _0809C392
-_0809BB50:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_802F974
- bl _0809C392
-_0809BB66:
- ldr r0, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BB9A
- bl sub_809B294
- movs r0, 0x3
- movs r1, 0
- movs r2, 0xA
- bl sub_80302E8
- lsls r0, 24
- cmp r0, 0
- bne _0809BB92
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
-_0809BB92:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BB9A:
- movs r0, 0x1
- bl sub_80303AC
- cmp r0, 0x2
- beq _0809BBC4
- cmp r0, 0x3
- beq _0809BBAA
- b _0809B784
-_0809BBAA:
- bl sub_8030418
- ldr r1, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- lsls r0, 16
- asrs r0, 16
- str r0, [r1]
- bl sub_8030480
- bl _0809C392
-_0809BBC4:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_8030480
- bl _0809C392
-_0809BBDA:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BC14
- bl sub_809B294
- ldr r0, [r6]
- ldr r2, _0809BC10
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0xE
- bne _0809BC02
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x1
- bl sub_80018D8
-_0809BC02:
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
- b _0809B784
- .align 2, 0
-_0809BC10: .4byte 0x00000414
-_0809BC14:
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- beq _0809BC20
- b _0809B784
-_0809BC20:
- bl sub_8012750
- b _0809C392
-_0809BC26:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_8016C94
- lsls r0, 24
- cmp r0, 0
- beq _0809BC5C
- ldr r0, _0809BC54
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BC58
- b _0809C266
- .align 2, 0
-_0809BC54: .4byte gUnknown_3001B64
-_0809BC58: .4byte gUnknown_81161C8
-_0809BC5C:
- ldr r0, _0809BC64
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809BC64: .4byte gUnknown_3001B64
-_0809BC68:
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BC74
- b _0809C266
- .align 2, 0
-_0809BC74: .4byte gUnknown_81161D8
-_0809BC78:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_80162E4
- lsls r0, 24
- cmp r0, 0
- beq _0809BCB0
- ldr r0, _0809BCA8
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BCAC
- b _0809C266
- .align 2, 0
-_0809BCA8: .4byte gUnknown_3001B64
-_0809BCAC: .4byte gUnknown_81161E8
-_0809BCB0:
- ldr r0, _0809BCB8
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809BCB8: .4byte gUnknown_3001B64
-_0809BCBC:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_809B294
- ldr r0, _0809BCE0
- ldr r0, [r0]
- ldr r2, _0809BCE4
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x17
- bne _0809BCE8
- negs r0, r4
- orrs r0, r4
- lsrs r0, 31
- b _0809BCF0
- .align 2, 0
-_0809BCE0: .4byte gUnknown_3001B64
-_0809BCE4: .4byte 0x00000414
-_0809BCE8:
- movs r0, 0x2
- cmp r4, 0
- beq _0809BCF0
- movs r0, 0x3
-_0809BCF0:
- bl sub_8018B00
- lsls r0, 24
- cmp r0, 0
- beq _0809BD10
- ldr r0, _0809BD08
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BD0C
- b _0809C266
- .align 2, 0
-_0809BD08: .4byte gUnknown_3001B64
-_0809BD0C: .4byte gUnknown_81161F8
-_0809BD10:
- ldr r0, _0809BD18
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809BD18: .4byte gUnknown_3001B64
-_0809BD1C:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_801FB50
- lsls r0, 24
- cmp r0, 0
- beq _0809BD54
- ldr r0, _0809BD4C
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BD50
- b _0809C266
- .align 2, 0
-_0809BD4C: .4byte gUnknown_3001B64
-_0809BD50: .4byte gUnknown_8116208
-_0809BD54:
- ldr r0, _0809BD60
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BD60: .4byte gUnknown_3001B64
-_0809BD64:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BD84
- bl sub_809B294
- movs r0, 0
- movs r1, 0x39
- bl sub_80015C0
- bl sub_802465C
- b _0809B784
-_0809BD84:
- bl sub_80246F0
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x39
- bl sub_8001658
- cmp r0, 0
- bne _0809BDB2
- bl sub_80247B4
- lsls r0, 24
- cmp r0, 0
- beq _0809BDB2
- movs r0, 0
- movs r1, 0x39
- movs r2, 0x1
- bl sub_80018D8
- movs r0, 0x46
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_0809BDB2:
- cmp r4, 0x3
- bne _0809BDCC
- bl sub_80247C0
- ldr r0, _0809BDC8
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809C1BC
- .align 2, 0
-_0809BDC8: .4byte gUnknown_3001B64
-_0809BDCC:
- cmp r4, 0x2
- beq _0809BDD2
- b _0809B784
-_0809BDD2:
- bl sub_80247C0
- ldr r0, _0809BDE4
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B828
- .align 2, 0
-_0809BDE4: .4byte gUnknown_3001B64
-_0809BDE8:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_8021B9C
- lsls r0, 24
- cmp r0, 0
- beq _0809BE20
- ldr r0, _0809BE18
- ldr r0, [r0]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809BE1C
- b _0809C266
- .align 2, 0
-_0809BE18: .4byte gUnknown_3001B64
-_0809BE1C: .4byte gUnknown_8116218
-_0809BE20:
- ldr r0, _0809BE2C
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809B978
- .align 2, 0
-_0809BE2C: .4byte gUnknown_3001B64
-_0809BE30:
- ldr r0, [r6]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BE3C
- b _0809C266
- .align 2, 0
-_0809BE3C: .4byte gUnknown_8116228
-_0809BE40:
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809BE4C
- b _0809C266
- .align 2, 0
-_0809BE4C: .4byte gUnknown_8116238
-_0809BE50:
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BE5C
- b _0809C266
- .align 2, 0
-_0809BE5C: .4byte gUnknown_8116248
-_0809BE60:
- bl sub_809B294
- movs r0, 0x98
- lsls r0, 1
- bl sub_80314B4
- lsls r0, 24
- cmp r0, 0
- bne _0809BE84
- ldr r0, _0809BE80
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BE80: .4byte gUnknown_3001B64
-_0809BE84:
- ldr r0, _0809BE94
- ldr r0, [r0]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809BE98
- b _0809C266
- .align 2, 0
-_0809BE94: .4byte gUnknown_3001B64
-_0809BE98: .4byte gUnknown_8116258
-_0809BE9C:
- movs r0, 0x4
- bl sub_80119D4
- ldr r0, _0809BEB0
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BEB4
- b _0809C266
- .align 2, 0
-_0809BEB0: .4byte gUnknown_3001B64
-_0809BEB4: .4byte gUnknown_8116268
-_0809BEB8:
- movs r0, 0x4
- bl sub_80119D4
- ldr r0, _0809BECC
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BED0
- b _0809C266
- .align 2, 0
-_0809BECC: .4byte gUnknown_3001B64
-_0809BED0: .4byte gUnknown_8116278
-_0809BED4:
- mov r0, sp
- bl sub_8099328
- lsls r0, 24
- cmp r0, 0
- beq _0809BF4E
- add r1, sp, 0x4
- add r2, sp, 0x8
- movs r0, 0x2
- bl sub_8001B88
- ldr r0, [sp, 0x8]
- cmp r0, 0x7
- bgt _0809BF4E
- add r4, sp, 0xC
-_0809BEF2:
- lsls r1, r0, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r2, [r0]
- adds r0, r4, 0
- bl sub_8096AF8
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809BF44
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- movs r0, 0x2
- bl sub_8001BB4
- ldr r0, _0809BF40
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r2, r0, r1
- ldrh r1, [r4, 0x2]
- lsls r1, 16
- asrs r1, 16
- negs r0, r1
- orrs r0, r1
- lsrs r1, r0, 31
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0809BF30
- adds r1, 0x2
-_0809BF30:
- str r1, [r2]
- cmp r1, 0
- beq _0809BF38
- b _0809C392
-_0809BF38:
- movs r0, 0x3
- str r0, [r2]
- b _0809C392
- .align 2, 0
-_0809BF40: .4byte gUnknown_3001B64
-_0809BF44:
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- str r0, [sp, 0x8]
- cmp r0, 0x7
- ble _0809BEF2
-_0809BF4E:
- ldr r0, _0809BF6C
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- bl sub_8096BD0
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- b _0809C392
- .align 2, 0
-_0809BF6C: .4byte gUnknown_3001B64
-_0809BF70:
- mov r5, sp
- adds r5, 0x1
- adds r0, r5, 0
- bl sub_8099328
- lsls r0, 24
- cmp r0, 0
- bne _0809BF82
- b _0809C392
-_0809BF82:
- add r1, sp, 0x14
- add r2, sp, 0x18
- movs r0, 0x2
- bl sub_8001B88
- add r4, sp, 0x1C
- ldr r1, [sp, 0x18]
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r5]
- adds r0, r4, 0
- bl sub_8096AF8
- ldrb r0, [r4]
- cmp r0, 0
- bne _0809BFA4
- b _0809C392
-_0809BFA4:
- ldr r0, [sp, 0x18]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r5]
- bl sub_802DB28
- lsls r0, 24
- cmp r0, 0
- bne _0809BFB8
- b _0809C392
-_0809BFB8:
- movs r0, 0
- movs r1, 0x19
- bl sub_8001658
- cmp r0, 0x63
- bgt _0809BFCE
- adds r2, r0, 0x1
- movs r0, 0
- movs r1, 0x19
- bl sub_80018D8
-_0809BFCE:
- movs r0, 0
- movs r1, 0x39
- movs r2, 0x1
- bl sub_80018D8
- ldr r1, [sp, 0x14]
- ldr r2, [sp, 0x18]
- adds r2, 0x1
- movs r0, 0x2
- bl sub_8001BB4
- ldr r0, _0809BFF4
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BFF8
- b _0809C266
- .align 2, 0
-_0809BFF4: .4byte gUnknown_3001B64
-_0809BFF8: .4byte gUnknown_8116288
-_0809BFFC:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809C036
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- asrs r4, 31
- movs r0, 0x4
- ands r4, r0
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C032
- bl _0809B784
-_0809C032:
- ldr r0, [r6]
- b _0809B972
-_0809C036:
- bl sub_802FE58
- cmp r0, 0x2
- beq _0809C05E
- cmp r0, 0x3
- beq _0809C046
- bl _0809B784
-_0809C046:
- bl sub_802FED0
- ldr r1, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- lsls r0, 16
- asrs r0, 16
- str r0, [r1]
- bl sub_802FEE0
- b _0809C392
-_0809C05E:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_802FEE0
- b _0809C392
-_0809C072:
- movs r4, 0x1
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809C082
- movs r4, 0x5
-_0809C082:
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C0A8
- ldr r0, _0809C0A0
- ldr r0, [r0]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809C0A4
- b _0809C266
- .align 2, 0
-_0809C0A0: .4byte gUnknown_3001B64
-_0809C0A4: .4byte gUnknown_8116298
-_0809C0A8:
- ldr r0, _0809C0B4
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809B978
- .align 2, 0
-_0809C0B4: .4byte gUnknown_3001B64
-_0809C0B8:
- movs r4, 0x2
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809C0C8
- movs r4, 0x6
-_0809C0C8:
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C0F0
- ldr r0, _0809C0E8
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809C0EC
- b _0809C266
- .align 2, 0
-_0809C0E8: .4byte gUnknown_3001B64
-_0809C0EC: .4byte gUnknown_81162A8
-_0809C0F0:
- ldr r0, _0809C0F8
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809C0F8: .4byte gUnknown_3001B64
-_0809C0FC:
- movs r4, 0x3
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809C10C
- movs r4, 0x7
-_0809C10C:
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C134
- ldr r0, _0809C12C
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C130
- b _0809C266
- .align 2, 0
-_0809C12C: .4byte gUnknown_3001B64
-_0809C130: .4byte gUnknown_81162B8
-_0809C134:
- ldr r0, _0809C144
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809B978
- .align 2, 0
-_0809C144: .4byte gUnknown_3001B64
-_0809C148:
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809C154
- b _0809C266
- .align 2, 0
-_0809C154: .4byte gUnknown_81162C8
-_0809C158:
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C164
- b _0809C266
- .align 2, 0
-_0809C164: .4byte gUnknown_81162D8
-_0809C168:
- bl sub_809B294
- bl sub_803B050
- lsls r0, 24
- cmp r0, 0
- beq _0809C1A0
- ldr r4, _0809C194
- ldr r0, [r4]
- ldr r3, _0809C198
- adds r0, r3
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_803B100
- ldr r0, [r4]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C19C
- b _0809C266
- .align 2, 0
-_0809C194: .4byte gUnknown_3001B64
-_0809C198: .4byte 0x000005a4
-_0809C19C: .4byte gUnknown_81162E8
-_0809C1A0:
- ldr r0, _0809C1B0
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809B978
- .align 2, 0
-_0809C1B0: .4byte gUnknown_3001B64
-_0809C1B4:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
-_0809C1BC:
- movs r1, 0x1
- str r1, [r0]
- b _0809C392
-_0809C1C2:
- bl sub_809B294
- b _0809C392
-_0809C1C8:
- movs r0, 0x2
- bl sub_80252F0
- lsls r0, 24
- cmp r0, 0
- beq _0809C1EC
- ldr r0, _0809C1E4
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C1E8
- b _0809C266
- .align 2, 0
-_0809C1E4: .4byte gUnknown_3001B64
-_0809C1E8: .4byte gUnknown_81162F8
-_0809C1EC:
- ldr r0, _0809C200
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x2
- negs r1, r1
- str r1, [r0]
- b _0809C392
- .align 2, 0
-_0809C200: .4byte gUnknown_3001B64
-_0809C204:
- ldr r1, [r6]
- ldr r2, _0809C230
- adds r0, r1, r2
- ldr r0, [r0]
- movs r3, 0x85
- lsls r3, 3
- adds r1, r3
- ldr r1, [r1]
- bl sub_809CCDC
- ldr r1, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r2, r1, r3
- str r0, [r2]
- movs r0, 0x83
- lsls r0, 3
- adds r1, r0
- ldr r0, _0809C234
- str r0, [r1]
- bl _0809B784
- .align 2, 0
-_0809C230: .4byte 0x00000424
-_0809C234: .4byte gUnknown_8116308
-_0809C238:
- ldr r0, [r6]
- movs r2, 0x85
- lsls r2, 3
- adds r1, r0, r2
- ldr r5, [r1]
- ldr r3, _0809C26C
- adds r0, r3
- ldrb r4, [r0]
- bl sub_809B294
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_801B60C
- lsls r0, 24
- cmp r0, 0
- beq _0809C274
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809C270
-_0809C266:
- str r1, [r0]
- bl _0809B784
- .align 2, 0
-_0809C26C: .4byte 0x00000424
-_0809C270: .4byte gUnknown_8116318
-_0809C274:
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- bl _0809B978
-_0809C280:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809C2B8
- bl sub_809B294
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- lsls r0, 24
- cmp r0, 0
- beq _0809C2B2
- bl _0809B784
-_0809C2B2:
- ldr r0, [r6]
- bl _0809B972
-_0809C2B8:
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x2
- beq _0809C320
- cmp r0, 0x3
- beq _0809C2CA
- bl _0809B784
-_0809C2CA:
- bl sub_801A8AC
- adds r5, r0, 0
- ldr r0, _0809C304
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, r1
- ldrb r4, [r0, 0x2]
- adds r0, r4, 0
- bl sub_8091570
- lsls r0, 24
- cmp r0, 0
- beq _0809C30C
- ldr r0, _0809C308
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090DC4
- adds r0, r5, 0
- bl sub_80911F8
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- movs r1, 0x1
- b _0809C318
- .align 2, 0
-_0809C304: .4byte gUnknown_203B460
-_0809C308: .4byte gUnknown_202DE58
-_0809C30C:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
-_0809C314:
- movs r1, 0x1
- negs r1, r1
-_0809C318:
- str r1, [r0]
- bl sub_801A928
- b _0809C392
-_0809C320:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- b _0809C314
-_0809C32A:
- adds r4, r6, 0
- ldr r0, [r4]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809C36C
- bl sub_809B294
- ldr r1, [r4]
- ldr r3, _0809C368
- adds r0, r1, r3
- ldr r0, [r0]
- movs r2, 0x85
- lsls r2, 3
- adds r1, r2
- ldr r1, [r1]
- bl sub_8035444
- lsls r0, 24
- cmp r0, 0
- beq _0809C35C
- bl _0809B784
-_0809C35C:
- ldr r0, [r4]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809B978
- .align 2, 0
-_0809C368: .4byte 0x00000424
-_0809C36C:
- bl sub_8035574
- cmp r0, 0x3
- bls _0809C378
- bl _0809B784
-_0809C378:
- cmp r0, 0x2
- bcs _0809C380
- bl _0809B784
-_0809C380:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_803565C
-_0809C392:
- movs r0, 0
-_0809C394:
- add sp, 0x24
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809B648
-
- thumb_func_start sub_809C39C
-sub_809C39C:
- push {lr}
- bl sub_801D178
- ldr r1, _0809C3D4
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- str r0, [r1]
- cmp r0, 0x3
- bne _0809C3CC
- bl sub_801D1D4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- bl sub_8098D1C
-_0809C3CC:
- bl sub_801D1E0
- pop {r0}
- bx r0
- .align 2, 0
-_0809C3D4: .4byte gUnknown_3001B64
- thumb_func_end sub_809C39C
-
- thumb_func_start sub_809C3D8
-sub_809C3D8:
- push {lr}
- bl sub_801D178
- ldr r1, _0809C410
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- str r0, [r1]
- cmp r0, 0x3
- bne _0809C408
- bl sub_801D1D4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- bl sub_8098D1C
-_0809C408:
- bl sub_801D1E0
- pop {r0}
- bx r0
- .align 2, 0
-_0809C410: .4byte gUnknown_3001B64
- thumb_func_end sub_809C3D8
-
- thumb_func_start sub_809C414
-sub_809C414:
- push {lr}
- bl sub_802540C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0809C448
- ldr r0, _0809C444
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- str r1, [r0]
- adds r0, r1, 0
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- bl sub_8098D1C
- b _0809C458
- .align 2, 0
-_0809C444: .4byte gUnknown_3001B64
-_0809C448:
- ldr r0, _0809C460
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_0809C458:
- bl sub_8025418
- pop {r0}
- bx r0
- .align 2, 0
-_0809C460: .4byte gUnknown_3001B64
- thumb_func_end sub_809C414
-
- thumb_func_start sub_809C464
-sub_809C464:
- push {lr}
- bl sub_803C850
- bl sub_8001064
- bl sub_809965C
- pop {r0}
- bx r0
- thumb_func_end sub_809C464
-
- thumb_func_start sub_809C478
-sub_809C478:
- push {lr}
- sub sp, 0x8
- bl sub_80356A0
- cmp r0, 0x3
- bne _0809C492
- ldr r0, _0809C4AC
- bl sub_8011988
- bl InitFlash
- bl ClearFlashData
-_0809C492:
- bl sub_8035758
- add r2, sp, 0x4
- movs r0, 0x3
- mov r1, sp
- bl sub_8001B88
- movs r0, 0
- bl sub_80993C0
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809C4AC: .4byte 0x00000313
- thumb_func_end sub_809C478
-
- thumb_func_start sub_809C4B0
-sub_809C4B0:
- push {r4,r5,lr}
- movs r4, 0x1
- negs r4, r4
- ldr r5, _0809C4FC
- ldr r0, [r5]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r0, r2
- ldr r0, [r1]
- cmp r0, 0
- bne _0809C4DE
- bl sub_803B168
- lsls r0, 16
- ldr r1, [r5]
- ldr r3, _0809C500
- adds r2, r1, r3
- asrs r4, r0, 16
- lsrs r0, 16
- strh r0, [r2]
- movs r0, 0x86
- lsls r0, 3
- adds r1, r0
-_0809C4DE:
- str r4, [r1]
- bl sub_803B1BC
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _0809C4F4
- adds r0, r4, 0
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_0809C4F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C4FC: .4byte gUnknown_3001B64
-_0809C500: .4byte 0x000005a4
- thumb_func_end sub_809C4B0
-
- thumb_func_start sub_809C504
-sub_809C504:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80282DC
- adds r4, r0, 0
- cmp r4, 0x1
- bne _0809C530
- mov r0, sp
- ldrb r0, [r0]
- bl sub_809927C
- ldr r0, _0809C52C
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- str r4, [r0]
- b _0809C540
- .align 2, 0
-_0809C52C: .4byte gUnknown_3001B64
-_0809C530:
- ldr r0, _0809C54C
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_0809C540:
- bl sub_80282FC
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C54C: .4byte gUnknown_3001B64
- thumb_func_end sub_809C504
-
- thumb_func_start sub_809C550
-sub_809C550:
- push {r4,r5,lr}
- bl sub_802E90C
- adds r4, r0, 0
- movs r5, 0
- bl sub_802E918
- cmp r4, 0x2
- beq _0809C586
- cmp r4, 0x2
- bhi _0809C56C
- cmp r4, 0x1
- beq _0809C572
- b _0809C5AC
-_0809C56C:
- cmp r4, 0x3
- beq _0809C59A
- b _0809C5AC
-_0809C572:
- movs r0, 0x4
- movs r1, 0x1D
- movs r2, 0x3
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _0809C5AC
- movs r5, 0x1
- b _0809C5AC
-_0809C586:
- movs r0, 0x4
- movs r1, 0x1F
- movs r2, 0x2
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _0809C5AC
- movs r5, 0x2
- b _0809C5AC
-_0809C59A:
- movs r0, 0xB
- movs r1, 0x33
- movs r2, 0x8
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _0809C5AC
- movs r5, 0x3
-_0809C5AC:
- ldr r0, _0809C5C0
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- str r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C5C0: .4byte gUnknown_3001B64
- thumb_func_end sub_809C550
-
- thumb_func_start sub_809C5C4
-sub_809C5C4:
- push {r4,lr}
- ldr r4, _0809C610
- movs r0, 0x24
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- movs r2, 0
- str r2, [r0]
- str r2, [r0, 0x4]
- movs r3, 0
- strh r2, [r0, 0x8]
- strh r2, [r0, 0xA]
- strb r3, [r0, 0xD]
- ldr r0, [r4]
- strb r3, [r0, 0xE]
- ldr r1, [r4]
- str r2, [r1, 0x10]
- ldr r0, _0809C614
- strh r0, [r1, 0x14]
- movs r0, 0x23
- strh r0, [r1, 0x16]
- strb r3, [r1, 0x18]
- ldr r1, [r4]
- movs r0, 0x3F
- strb r0, [r1, 0x19]
- ldr r0, [r4]
- str r2, [r0, 0x1C]
- adds r0, 0x20
- strb r3, [r0]
- bl nullsub_107
- bl sub_809C63C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C610: .4byte gUnknown_3001B68
-_0809C614: .4byte 0x0000ffff
- thumb_func_end sub_809C5C4
-
- thumb_func_start sub_809C618
-sub_809C618:
- push {r4,lr}
- bl sub_809C63C
- bl nullsub_107
- bl nullsub_108
- ldr r4, _0809C638
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C638: .4byte gUnknown_3001B68
- thumb_func_end sub_809C618
-
- thumb_func_start sub_809C63C
-sub_809C63C:
- push {lr}
- bl nullsub_108
- ldr r0, _0809C654
- ldr r0, [r0]
- movs r1, 0
- str r1, [r0, 0x1C]
- adds r0, 0x20
- strb r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_0809C654: .4byte gUnknown_3001B68
- thumb_func_end sub_809C63C
-
- thumb_func_start sub_809C658
-sub_809C658:
- push {lr}
- ldr r0, _0809C670
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x5
- bhi _0809C6C8
- lsls r0, 2
- ldr r1, _0809C674
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C670: .4byte gUnknown_3001B68
-_0809C674: .4byte _0809C678
- .align 2, 0
-_0809C678:
- .4byte _0809C6C0
- .4byte _0809C6C0
- .4byte _0809C6AC
- .4byte _0809C690
- .4byte _0809C69E
- .4byte _0809C6B6
-_0809C690:
- bl nullsub_111
- bl nullsub_112
- bl nullsub_113
- b _0809C6C8
-_0809C69E:
- bl nullsub_114
- bl nullsub_115
- bl nullsub_116
- b _0809C6C8
-_0809C6AC:
- bl nullsub_109
- bl nullsub_110
- b _0809C6C8
-_0809C6B6:
- bl nullsub_107
- bl nullsub_108
- b _0809C6C8
-_0809C6C0:
- bl nullsub_107
- bl nullsub_108
-_0809C6C8:
- pop {r0}
- bx r0
- thumb_func_end sub_809C658
-
- thumb_func_start sub_809C6CC
-sub_809C6CC:
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _0809C6E8
- ldr r1, [r0]
- ldrh r0, [r1, 0x8]
- cmp r0, r2
- beq _0809C6E2
- movs r0, 0
- strh r2, [r1, 0x8]
- strb r0, [r1, 0xE]
-_0809C6E2:
- pop {r0}
- bx r0
- .align 2, 0
-_0809C6E8: .4byte gUnknown_3001B68
- thumb_func_end sub_809C6CC
-
- thumb_func_start sub_809C6EC
-sub_809C6EC:
- push {lr}
- bl sub_8098F88
- lsls r0, 24
- cmp r0, 0
- bne _0809C718
- ldr r0, _0809C70C
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- cmp r0, 0
- bne _0809C710
- movs r0, 0x4
- bl sub_809C6CC
- b _0809C71E
- .align 2, 0
-_0809C70C: .4byte gUnknown_203B46C
-_0809C710:
- movs r0, 0x3
- bl sub_809C6CC
- b _0809C71E
-_0809C718:
- movs r0, 0x5
- bl sub_809C6CC
-_0809C71E:
- pop {r0}
- bx r0
- thumb_func_end sub_809C6EC
-
- thumb_func_start sub_809C724
-sub_809C724:
- ldr r0, _0809C72C
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_0809C72C: .4byte gUnknown_3001B68
- thumb_func_end sub_809C724
-
- thumb_func_start sub_809C730
-sub_809C730:
- push {lr}
- bl sub_809C740
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_809C730
-
- thumb_func_start sub_809C740
-sub_809C740:
- push {lr}
- ldr r0, _0809C750
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _0809C754
- movs r0, 0
- b _0809C756
- .align 2, 0
-_0809C750: .4byte gUnknown_3001B68
-_0809C754:
- movs r0, 0x1
-_0809C756:
- pop {r1}
- bx r1
- thumb_func_end sub_809C740
-
- thumb_func_start nullsub_104
-nullsub_104:
- bx lr
- thumb_func_end nullsub_104
-
- thumb_func_start sub_809C760
-sub_809C760:
- ldr r0, _0809C76C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xE]
- bx lr
- .align 2, 0
-_0809C76C: .4byte gUnknown_3001B68
- thumb_func_end sub_809C760
-
- thumb_func_start sub_809C770
-sub_809C770:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- lsls r1, 16
- asrs r6, r1, 16
- ldr r4, _0809C790
- ldr r1, [r4]
- ldrb r0, [r1, 0xE]
- cmp r0, 0
- beq _0809C794
- movs r0, 0
- strb r0, [r1, 0xE]
- b _0809CA10
- .align 2, 0
-_0809C790: .4byte gUnknown_3001B68
-_0809C794:
- ldrh r0, [r1, 0x8]
- cmp r0, 0
- bne _0809C79E
- bl sub_809C6EC
-_0809C79E:
- ldr r0, [r4]
- ldrb r5, [r0, 0x18]
- ldrb r7, [r0, 0x19]
- cmp r6, 0x26
- bls _0809C7AA
- b _0809C8C8
-_0809C7AA:
- lsls r0, r6, 2
- ldr r1, _0809C7B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C7B4: .4byte _0809C7B8
- .align 2, 0
-_0809C7B8:
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C854
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C86E
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
-_0809C854:
- mov r0, r8
- bl sub_8002658
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0809C864
- b _0809CA10
-_0809C864:
- movs r4, 0x1
- b _0809C988
-_0809C868:
- movs r4, 0x1
- movs r5, 0
- b _0809C988
-_0809C86E:
- mov r0, r8
- subs r0, 0xA4
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- bls _0809C87C
- b _0809CA10
-_0809C87C:
- lsls r0, 2
- ldr r1, _0809C888
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C888: .4byte _0809C88C
- .align 2, 0
-_0809C88C:
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809CA10
- .4byte _0809CA10
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809CA10
- .4byte _0809CA10
- .4byte _0809CA10
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
-_0809C8C4:
- movs r4, 0
- b _0809C988
-_0809C8C8:
- adds r0, r6, 0
- subs r0, 0xC
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x16
- bhi _0809C968
- lsls r0, 2
- ldr r1, _0809C8E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C8E0: .4byte _0809C8E4
- .align 2, 0
-_0809C8E4:
- .4byte _0809C968
- .4byte _0809C940
- .4byte _0809C968
- .4byte _0809C968
- .4byte _0809C968
- .4byte _0809C968
- .4byte _0809C944
- .4byte _0809C944
- .4byte _0809C948
- .4byte _0809C948
- .4byte _0809C94C
- .4byte _0809C968
- .4byte _0809C950
- .4byte _0809C950
- .4byte _0809C954
- .4byte _0809C954
- .4byte _0809C958
- .4byte _0809C958
- .4byte _0809C95C
- .4byte _0809C95C
- .4byte _0809C960
- .4byte _0809C960
- .4byte _0809C964
-_0809C940:
- movs r1, 0
- b _0809C974
-_0809C944:
- movs r1, 0x7
- b _0809C974
-_0809C948:
- movs r1, 0x9
- b _0809C974
-_0809C94C:
- movs r1, 0xA
- b _0809C974
-_0809C950:
- movs r1, 0xB
- b _0809C974
-_0809C954:
- movs r1, 0xD
- b _0809C974
-_0809C958:
- movs r1, 0xF
- b _0809C974
-_0809C95C:
- movs r1, 0x11
- b _0809C974
-_0809C960:
- movs r1, 0x13
- b _0809C974
-_0809C964:
- movs r1, 0x20
- b _0809C974
-_0809C968:
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r1, r0, 16
-_0809C974:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809CA10
- adds r0, r1, 0
- bl sub_80A2740
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0x2
-_0809C988:
- ldr r0, _0809C99C
- ldr r2, [r0]
- ldr r1, [r2, 0x10]
- adds r3, r0, 0
- cmp r1, r4
- beq _0809C9A0
- movs r0, 0x2
- str r0, [r2]
- b _0809C9DE
- .align 2, 0
-_0809C99C: .4byte gUnknown_3001B68
-_0809C9A0:
- cmp r4, 0x1
- bne _0809C9CC
- ldrb r0, [r2, 0x18]
- cmp r5, r0
- bne _0809C9B2
- movs r1, 0x14
- ldrsh r0, [r2, r1]
- cmp r0, r8
- beq _0809C9BC
-_0809C9B2:
- strb r4, [r2, 0xC]
- ldr r0, [r3]
- adds r0, 0x20
- strb r4, [r0]
- b _0809C9E8
-_0809C9BC:
- cmp r5, 0
- bne _0809C9E8
- movs r1, 0x16
- ldrsh r0, [r2, r1]
- cmp r0, r6
- beq _0809C9E8
- strb r4, [r2, 0xC]
- b _0809C9E8
-_0809C9CC:
- cmp r4, 0x2
- bne _0809C9E8
- ldrb r0, [r2, 0x19]
- cmp r7, r0
- bne _0809C9DE
- movs r1, 0x16
- ldrsh r0, [r2, r1]
- cmp r0, r6
- beq _0809C9E8
-_0809C9DE:
- movs r1, 0x1
- strb r1, [r2, 0xC]
- ldr r0, [r3]
- adds r0, 0x20
- strb r1, [r0]
-_0809C9E8:
- ldr r1, [r3]
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- beq _0809CA10
- str r4, [r1, 0x10]
- movs r2, 0
- mov r0, r8
- strh r0, [r1, 0x14]
- strh r6, [r1, 0x16]
- strb r5, [r1, 0x18]
- ldr r0, [r3]
- strb r7, [r0, 0x19]
- ldr r1, [r3]
- ldrh r0, [r1, 0x8]
- cmp r0, 0x4
- beq _0809CA10
- strb r2, [r1, 0xC]
- ldr r0, [r3]
- adds r0, 0x20
- strb r2, [r0]
-_0809CA10:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809C770
-
- thumb_func_start nullsub_105
-nullsub_105:
- bx lr
- thumb_func_end nullsub_105
-
- thumb_func_start sub_809CA20
-sub_809CA20:
- push {lr}
- ldr r1, _0809CA74
- ldr r2, [r1]
- ldr r0, [r2]
- cmp r0, 0
- beq _0809CA38
- movs r0, 0
- str r0, [r2]
- movs r0, 0x1F
- str r0, [r2, 0x4]
- movs r0, 0x1
- strb r0, [r2, 0xC]
-_0809CA38:
- ldr r1, [r1]
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- beq _0809CAE8
- ldrh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bne _0809CA5E
- ldr r2, [r1, 0x10]
- cmp r2, 0
- bne _0809CA5E
- movs r0, 0x2
- strh r0, [r1, 0xA]
- str r2, [r1, 0x1C]
- adds r1, 0x20
- movs r0, 0
- strb r0, [r1]
-_0809CA5E:
- ldr r0, _0809CA74
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x5
- bhi _0809CADA
- lsls r0, 2
- ldr r1, _0809CA78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809CA74: .4byte gUnknown_3001B68
-_0809CA78: .4byte _0809CA7C
- .align 2, 0
-_0809CA7C:
- .4byte _0809CAD2
- .4byte _0809CAD2
- .4byte _0809CABE
- .4byte _0809CA94
- .4byte _0809CAB0
- .4byte _0809CAC8
-_0809CA94:
- bl nullsub_111
- bl nullsub_113
- bl nullsub_112
- ldr r0, _0809CAAC
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xD]
- b _0809CADA
- .align 2, 0
-_0809CAAC: .4byte gUnknown_3001B68
-_0809CAB0:
- bl nullsub_114
- bl nullsub_115
- bl nullsub_116
- b _0809CADA
-_0809CABE:
- bl nullsub_109
- bl nullsub_110
- b _0809CADA
-_0809CAC8:
- bl nullsub_107
- bl nullsub_108
- b _0809CADA
-_0809CAD2:
- bl nullsub_107
- bl nullsub_108
-_0809CADA:
- ldr r0, _0809CAE4
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0xC]
- b _0809CB1E
- .align 2, 0
-_0809CAE4: .4byte gUnknown_3001B68
-_0809CAE8:
- ldrh r0, [r1, 0xA]
- cmp r0, 0x5
- bhi _0809CB1E
- lsls r0, 2
- ldr r1, _0809CAF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809CAF8: .4byte _0809CAFC
- .align 2, 0
-_0809CAFC:
- .4byte _0809CB1E
- .4byte _0809CB1E
- .4byte _0809CB1E
- .4byte _0809CB14
- .4byte _0809CB1A
- .4byte _0809CB1E
-_0809CB14:
- bl nullsub_113
- b _0809CB1E
-_0809CB1A:
- bl nullsub_116
-_0809CB1E:
- pop {r0}
- bx r0
- thumb_func_end sub_809CA20
-
- thumb_func_start nullsub_106
-nullsub_106:
- bx lr
- thumb_func_end nullsub_106
-
- thumb_func_start nullsub_107
-nullsub_107:
- bx lr
- thumb_func_end nullsub_107
-
- thumb_func_start nullsub_108
-nullsub_108:
- bx lr
- thumb_func_end nullsub_108
-
- thumb_func_start nullsub_109
-nullsub_109:
- bx lr
- thumb_func_end nullsub_109
-
- thumb_func_start nullsub_110
-nullsub_110:
- bx lr
- thumb_func_end nullsub_110
-
- thumb_func_start nullsub_111
-nullsub_111:
- bx lr
- thumb_func_end nullsub_111
-
- thumb_func_start nullsub_112
-nullsub_112:
- bx lr
- thumb_func_end nullsub_112
-
- thumb_func_start nullsub_113
-nullsub_113:
- bx lr
- thumb_func_end nullsub_113
-
- thumb_func_start nullsub_114
-nullsub_114:
- bx lr
- thumb_func_end nullsub_114
-
- thumb_func_start nullsub_115
-nullsub_115:
- bx lr
- thumb_func_end nullsub_115
-
- thumb_func_start nullsub_116
-nullsub_116:
- bx lr
- thumb_func_end nullsub_116
-
- thumb_func_start sub_809CB50
-sub_809CB50:
- push {r4,lr}
- ldr r4, _0809CB70
- movs r0, 0xC
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x4]
- movs r1, 0
- str r1, [r0, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CB70: .4byte gUnknown_20399E0
- thumb_func_end sub_809CB50
-
- thumb_func_start sub_809CB74
-sub_809CB74:
- push {r4,lr}
- ldr r4, _0809CB88
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CB88: .4byte gUnknown_20399E0
- thumb_func_end sub_809CB74
-
- thumb_func_start sub_809CB8C
-sub_809CB8C:
- push {lr}
- movs r0, 0
- movs r1, 0x3B
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x3D
- bl sub_80015C0
- pop {r0}
- bx r0
- thumb_func_end sub_809CB8C
-
- thumb_func_start sub_809CBA4
-sub_809CBA4:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091130
- cmp r0, 0
- bge _0809CBB6
- movs r0, 0
- b _0809CBB8
-_0809CBB6:
- movs r0, 0x1
-_0809CBB8:
- pop {r1}
- bx r1
- thumb_func_end sub_809CBA4
-
- thumb_func_start sub_809CBBC
-sub_809CBBC:
- push {r4-r7,lr}
- sub sp, 0x54
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- adds r7, r3, 0
- ldrb r1, [r4]
- cmp r1, 0x69
- bne _0809CC20
- ldr r1, _0809CC0C
- movs r0, 0x2
- ldrsh r2, [r4, r0]
- ldr r0, _0809CC10
- ldr r0, [r0]
- movs r3, 0xD2
- lsls r3, 4
- adds r0, r3
- ldr r3, [r0]
- mov r0, sp
- bl sub_800D158
- ldr r0, _0809CC14
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r2, r0, r1
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- ldr r0, [r2]
- adds r1, r0, r1
- ldr r0, _0809CC18
- cmp r1, r0
- ble _0809CC1C
- cmp r6, 0
- beq _0809CC4E
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- adds r2, r6, 0
- b _0809CC4A
- .align 2, 0
-_0809CC0C: .4byte gUnknown_81163E4
-_0809CC10: .4byte gItemParametersFile + 4
-_0809CC14: .4byte gUnknown_203B460
-_0809CC18: .4byte 0x0001869f
-_0809CC1C:
- str r1, [r2]
- b _0809CC5E
-_0809CC20:
- ldrb r0, [r4, 0x2]
- lsls r1, 16
- lsls r0, 8
- orrs r0, r1
- str r0, [sp, 0x50]
- add r4, sp, 0x50
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090E14
- bl sub_8090A34
- cmp r0, 0x13
- ble _0809CC52
- cmp r5, 0
- beq _0809CC4E
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- adds r2, r5, 0
-_0809CC4A:
- bl sub_809AE90
-_0809CC4E:
- movs r0, 0
- b _0809CC82
-_0809CC52:
- ldrb r0, [r4, 0x2]
- movs r1, 0
- bl sub_809124C
- bl sub_80910B4
-_0809CC5E:
- cmp r7, 0
- beq _0809CC80
- ldr r0, _0809CC8C
- mov r1, sp
- bl strcpy
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- adds r2, r7, 0
- bl sub_809AE90
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0xCB
- bl sub_8011974
-_0809CC80:
- movs r0, 0x1
-_0809CC82:
- add sp, 0x54
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809CC8C: .4byte gUnknown_202DE58
- thumb_func_end sub_809CBBC
-
- thumb_func_start sub_809CC90
-sub_809CC90:
- push {lr}
- lsls r0, 2
- ldr r1, _0809CCBC
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x69
- bne _0809CCC8
- ldr r0, _0809CCC0
- ldr r0, [r0]
- movs r2, 0x98
- lsls r2, 2
- adds r0, r2
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- ldr r0, [r0]
- adds r0, r1
- ldr r1, _0809CCC4
- cmp r0, r1
- ble _0809CCD4
- movs r0, 0x2
- b _0809CCD6
- .align 2, 0
-_0809CCBC: .4byte gUnknown_81163BC
-_0809CCC0: .4byte gUnknown_203B460
-_0809CCC4: .4byte 0x0001869f
-_0809CCC8:
- bl sub_8090A34
- cmp r0, 0x13
- ble _0809CCD4
- movs r0, 0x2
- b _0809CCD6
-_0809CCD4:
- movs r0, 0x1
-_0809CCD6:
- pop {r1}
- bx r1
- thumb_func_end sub_809CC90
-
- thumb_func_start sub_809CCDC
-sub_809CCDC:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r1, r6, 2
- ldr r0, _0809CD20
- adds r5, r1, r0
- ldr r0, _0809CD24
- ldr r1, [r0]
- movs r0, 0x1
- negs r0, r0
- str r0, [r1, 0x4]
- movs r0, 0
- str r0, [r1, 0x8]
- movs r0, 0x2
- cmp r4, 0x63
- bgt _0809CD04
- movs r0, 0
- cmp r4, 0x1
- ble _0809CD04
- movs r0, 0x1
-_0809CD04:
- ldr r1, _0809CD28
- ldr r2, _0809CD2C
- ldr r3, _0809CD30
- lsls r0, 2
- adds r0, r3
- ldr r3, [r0]
- adds r0, r5, 0
- bl sub_809CBBC
- lsls r0, 24
- cmp r0, 0
- bne _0809CD34
- movs r0, 0x2
- b _0809CD3E
- .align 2, 0
-_0809CD20: .4byte gUnknown_81163BC
-_0809CD24: .4byte gUnknown_20399E0
-_0809CD28: .4byte gUnknown_81163F0
-_0809CD2C: .4byte gUnknown_811642C
-_0809CD30: .4byte gUnknown_203B4A0
-_0809CD34:
- ldr r0, _0809CD44
- ldr r0, [r0]
- str r6, [r0, 0x4]
- str r4, [r0, 0x8]
- movs r0, 0x1
-_0809CD3E:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809CD44: .4byte gUnknown_20399E0
- thumb_func_end sub_809CCDC
-
- thumb_func_start sub_809CD48
-sub_809CD48:
- push {lr}
- bl sub_809A750
- lsls r0, 24
- cmp r0, 0
- bne _0809CD58
- movs r0, 0x3
- b _0809CD5A
-_0809CD58:
- movs r0, 0
-_0809CD5A:
- pop {r1}
- bx r1
- thumb_func_end sub_809CD48
-
- thumb_func_start nullsub_117
-nullsub_117:
- bx lr
- thumb_func_end nullsub_117
-
- thumb_func_start nullsub_118
-nullsub_118:
- bx lr
- thumb_func_end nullsub_118
-
- thumb_func_start sub_809CD68
-sub_809CD68:
- movs r2, 0
- str r2, [r0]
- str r2, [r0, 0x4]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x10]
- str r2, [r0, 0x14]
- str r2, [r0, 0x8]
- strb r2, [r0, 0x18]
- bx lr
- thumb_func_end sub_809CD68
-
- thumb_func_start sub_809CD7C
-sub_809CD7C:
- movs r2, 0
- str r2, [r0]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x10]
- str r2, [r0, 0x14]
- str r2, [r0, 0x8]
- bx lr
- thumb_func_end sub_809CD7C
-
- thumb_func_start sub_809CD8C
-sub_809CD8C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- cmp r4, 0x5
- bne _0809CD9E
- bl sub_809CD68
- str r4, [r5]
- b _0809CDB0
-_0809CD9E:
- ldr r0, [r5, 0x4]
- cmp r0, r4
- beq _0809CDB0
- str r4, [r5, 0x4]
- movs r0, 0x1
- negs r0, r0
- str r0, [r5, 0x10]
- movs r0, 0
- str r0, [r5, 0x14]
-_0809CDB0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809CD8C
-
- thumb_func_start sub_809CDB8
-sub_809CDB8:
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bne _0809CDC4
- ldr r0, [r1]
-_0809CDC4:
- pop {r1}
- bx r1
- thumb_func_end sub_809CDB8
-
- thumb_func_start sub_809CDC8
-sub_809CDC8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- ldr r1, [sp, 0x24]
- movs r0, 0x1
- negs r0, r0
- str r0, [r3]
- ldr r0, [r4]
- cmp r0, 0x1
- beq _0809CDEA
- cmp r0, 0x2
- beq _0809CDFE
- b _0809CE12
-_0809CDEA:
- movs r0, 0x80
- lsls r0, 6
- ands r1, r0
- cmp r1, 0
- beq _0809CE12
- adds r0, r4, 0
- bl sub_809CD68
- movs r0, 0x2
- b _0809CE10
-_0809CDFE:
- movs r0, 0x80
- lsls r0, 6
- ands r1, r0
- cmp r1, 0
- bne _0809CE12
- adds r0, r4, 0
- bl sub_809CD68
- movs r0, 0x1
-_0809CE10:
- str r0, [r4]
-_0809CE12:
- ldr r0, [r4, 0x4]
- mov r8, r0
- cmp r0, 0
- bne _0809CE1E
- ldr r1, [r4]
- mov r8, r1
-_0809CE1E:
- mov r0, r8
- subs r0, 0x1
- cmp r0, 0x6
- bls _0809CE28
- b _0809CFCC
-_0809CE28:
- lsls r0, 2
- ldr r1, _0809CE34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809CE34: .4byte _0809CE38
- .align 2, 0
-_0809CE38:
- .4byte _0809CE54
- .4byte _0809CF74
- .4byte _0809CFCC
- .4byte _0809CFCC
- .4byte _0809CECC
- .4byte _0809CF5C
- .4byte _0809CF5C
-_0809CE54:
- ldr r0, _0809CE70
- ldrh r2, [r0]
- ldrh r1, [r0, 0x2]
- movs r0, 0xF0
- ands r0, r2
- cmp r0, 0
- beq _0809CE74
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0809CEA4
- movs r0, 0
- b _0809CEA8
- .align 2, 0
-_0809CE70: .4byte gUnknown_20255F0
-_0809CE74:
- movs r3, 0x2
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- beq _0809CE82
- movs r0, 0x14
- b _0809CEA8
-_0809CE82:
- ldr r0, [r4, 0x10]
- cmp r0, 0x1
- ble _0809CEA4
- subs r0, 0x1
- str r0, [r4, 0x10]
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- bne _0809CEAA
- movs r0, 0x13
- str r0, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strb r0, [r7]
- movs r0, 0x5
- b _0809CFDA
-_0809CEA4:
- movs r0, 0x1
- negs r0, r0
-_0809CEA8:
- str r0, [r4, 0x10]
-_0809CEAA:
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0809CEB6
- movs r0, 0xA
- b _0809CEC2
-_0809CEB6:
- ldr r0, [r4, 0x10]
- cmp r0, 0
- bne _0809CEC0
- movs r0, 0x8
- b _0809CEC2
-_0809CEC0:
- movs r0, 0x7
-_0809CEC2:
- str r0, [r6]
- adds r0, r2, 0
- bl sub_809CFE8
- b _0809CF4E
-_0809CECC:
- mov r0, sp
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- beq _0809CFCC
- ldr r0, _0809CEEC
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- cmp r0, 0
- bne _0809CEF0
- movs r0, 0x4
- bl sub_809C6CC
- b _0809CEF6
- .align 2, 0
-_0809CEEC: .4byte gUnknown_203B46C
-_0809CEF0:
- movs r0, 0x3
- bl sub_809C6CC
-_0809CEF6:
- bl nullsub_104
- adds r0, r4, 0
- bl sub_809CD7C
- movs r5, 0x1
- str r5, [r4]
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0809CF1E
- cmp r0, 0x2
- bgt _0809CF14
- cmp r0, 0x1
- beq _0809CF2A
- b _0809CF54
-_0809CF14:
- cmp r0, 0x3
- beq _0809CF2A
- cmp r0, 0x4
- beq _0809CF3C
- b _0809CF54
-_0809CF1E:
- movs r0, 0x4
- str r0, [r4]
- movs r0, 0x1E
- bl sub_8098D80
- b _0809CF46
-_0809CF2A:
- movs r0, 0x4
- str r0, [r4]
- str r5, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strb r0, [r7]
- movs r0, 0x4
- b _0809CFDA
-_0809CF3C:
- str r0, [r4]
- movs r0, 0x45
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_0809CF46:
- str r5, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809CF4E:
- strb r0, [r7]
- ldr r0, [r4]
- b _0809CFDA
-_0809CF54:
- movs r0, 0x2
- bl sub_809D9B8
- b _0809CFCC
-_0809CF5C:
- add r0, sp, 0x4
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- beq _0809CFCC
- adds r0, r4, 0
- bl sub_809CD7C
- movs r0, 0x1
- str r0, [r4]
- b _0809CFDA
-_0809CF74:
- ldr r0, [r4, 0x8]
- cmp r0, 0
- ble _0809CF86
- subs r0, 0x1
- str r0, [r4, 0x8]
- movs r0, 0x9
- str r0, [r6]
- ldrb r0, [r4, 0xC]
- b _0809CFD6
-_0809CF86:
- ldr r0, _0809CFA0
- ldrh r1, [r0]
- movs r0, 0x9
- str r0, [r6]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _0809CFA4
- movs r0, 0x4
- b _0809CFB6
- .align 2, 0
-_0809CFA0: .4byte gUnknown_20255F0
-_0809CFA4:
- movs r0, 0x80
- ands r1, r0
- cmp r1, 0
- beq _0809CFB0
- strb r2, [r7]
- b _0809CFB8
-_0809CFB0:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809CFB6:
- strb r0, [r7]
-_0809CFB8:
- ldrb r0, [r7]
- strb r0, [r4, 0xC]
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- cmp r0, r1
- beq _0809CFD8
- movs r0, 0x20
- str r0, [r4, 0x8]
- b _0809CFD8
-_0809CFCC:
- movs r0, 0
- str r0, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809CFD6:
- strb r0, [r7]
-_0809CFD8:
- mov r0, r8
-_0809CFDA:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809CDC8
-
- thumb_func_start sub_809CFE8
-sub_809CFE8:
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809D014
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809D004
- movs r0, 0x3
- b _0809D052
-_0809D004:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809D010
- movs r0, 0x5
- b _0809D052
-_0809D010:
- movs r0, 0x4
- b _0809D052
-_0809D014:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809D038
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809D028
- movs r0, 0x1
- b _0809D052
-_0809D028:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809D034
- movs r0, 0x7
- b _0809D052
-_0809D034:
- movs r0, 0
- b _0809D052
-_0809D038:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809D044
- movs r0, 0x2
- b _0809D052
-_0809D044:
- movs r0, 0x20
- ands r2, r0
- cmp r2, 0
- bne _0809D050
- subs r0, 0x21
- b _0809D052
-_0809D050:
- movs r0, 0x6
-_0809D052:
- pop {r1}
- bx r1
- thumb_func_end sub_809CFE8
-
- thumb_func_start sub_809D058
-sub_809D058:
- push {lr}
- ldr r1, [r0, 0x4]
- cmp r1, 0x3F
- bgt _0809D076
- ldr r0, [r0]
- cmp r0, 0x67
- bgt _0809D06A
- movs r0, 0x5
- b _0809D0A6
-_0809D06A:
- cmp r0, 0x88
- ble _0809D072
- movs r0, 0x3
- b _0809D0A6
-_0809D072:
- movs r0, 0x4
- b _0809D0A6
-_0809D076:
- cmp r1, 0x60
- ble _0809D090
- ldr r0, [r0]
- cmp r0, 0x67
- bgt _0809D084
- movs r0, 0x7
- b _0809D0A6
-_0809D084:
- cmp r0, 0x88
- ble _0809D08C
- movs r0, 0x1
- b _0809D0A6
-_0809D08C:
- movs r0, 0
- b _0809D0A6
-_0809D090:
- ldr r0, [r0]
- cmp r0, 0x67
- bgt _0809D09A
- movs r0, 0x6
- b _0809D0A6
-_0809D09A:
- cmp r0, 0x88
- bgt _0809D0A4
- movs r0, 0x1
- negs r0, r0
- b _0809D0A6
-_0809D0A4:
- movs r0, 0x2
-_0809D0A6:
- pop {r1}
- bx r1
- thumb_func_end sub_809D058
-
- thumb_func_start sub_809D0AC
-sub_809D0AC:
- push {lr}
- bl sub_809D0BC
- pop {r0}
- bx r0
- thumb_func_end sub_809D0AC
-
- thumb_func_start nullsub_119
-nullsub_119:
- bx lr
- thumb_func_end nullsub_119
-
- thumb_func_start sub_809D0BC
-sub_809D0BC:
- push {r4,r5,lr}
- ldr r5, _0809D0F8
- ldr r1, _0809D0FC
- ldr r2, [r1]
- ldr r3, [r1, 0x4]
- str r2, [r5, 0x3C]
- str r3, [r5, 0x40]
- adds r0, r5, 0
- adds r0, 0x44
- movs r4, 0
- strb r4, [r0]
- movs r0, 0
- bl sub_809D158
- str r4, [r5, 0x8]
- str r4, [r5, 0xC]
- str r4, [r5, 0x10]
- movs r0, 0x1
- negs r0, r0
- str r0, [r5, 0x4]
- str r4, [r5, 0x24]
- str r4, [r5, 0x28]
- str r4, [r5, 0x2C]
- str r4, [r5, 0x30]
- str r4, [r5, 0x34]
- str r4, [r5, 0x38]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D0F8: .4byte gUnknown_20399E8
-_0809D0FC: .4byte gUnknown_8116478
- thumb_func_end sub_809D0BC
-
- thumb_func_start sub_809D100
-sub_809D100:
- push {lr}
- adds r2, r0, 0
- ldr r1, _0809D120
- ldr r0, [r1, 0x24]
- cmp r0, r2
- beq _0809D11A
- str r2, [r1, 0x24]
- movs r0, 0
- str r0, [r1, 0x28]
- str r0, [r1, 0x2C]
- str r0, [r1, 0x30]
- str r0, [r1, 0x34]
- str r0, [r1, 0x38]
-_0809D11A:
- pop {r0}
- bx r0
- .align 2, 0
-_0809D120: .4byte gUnknown_20399E8
- thumb_func_end sub_809D100
-
- thumb_func_start sub_809D124
-sub_809D124:
- push {r4,lr}
- adds r4, r0, 0
- ldr r3, _0809D144
- ldr r0, [r3, 0x24]
- cmp r0, r4
- beq _0809D13A
- str r4, [r3, 0x24]
- movs r0, 0
- str r0, [r3, 0x30]
- str r0, [r3, 0x34]
- str r0, [r3, 0x38]
-_0809D13A:
- str r1, [r3, 0x28]
- str r2, [r3, 0x2C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D144: .4byte gUnknown_20399E8
- thumb_func_end sub_809D124
-
- thumb_func_start sub_809D148
-sub_809D148:
- ldr r1, _0809D154
- str r0, [r1]
- movs r0, 0
- str r0, [r1, 0x8]
- bx lr
- .align 2, 0
-_0809D154: .4byte gUnknown_20399E8
- thumb_func_end sub_809D148
-
- thumb_func_start sub_809D158
-sub_809D158:
- ldr r2, _0809D16C
- str r0, [r2]
- movs r0, 0
- str r0, [r2, 0x8]
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- str r0, [r2, 0x1C]
- str r1, [r2, 0x20]
- bx lr
- .align 2, 0
-_0809D16C: .4byte gUnknown_20399E8
- thumb_func_end sub_809D158
-
- thumb_func_start sub_809D170
-sub_809D170:
- ldr r2, _0809D17C
- str r0, [r2]
- movs r0, 0
- str r0, [r2, 0x8]
- str r1, [r2, 0x4]
- bx lr
- .align 2, 0
-_0809D17C: .4byte gUnknown_20399E8
- thumb_func_end sub_809D170
-
- thumb_func_start sub_809D180
-sub_809D180:
- ldr r2, _0809D18C
- str r0, [r2]
- movs r0, 0x1
- str r0, [r2, 0x8]
- str r1, [r2, 0xC]
- bx lr
- .align 2, 0
-_0809D18C: .4byte gUnknown_20399E8
- thumb_func_end sub_809D180
-
- thumb_func_start sub_809D190
-sub_809D190:
- ldr r3, _0809D1A4
- str r0, [r3]
- movs r0, 0x1
- str r0, [r3, 0x8]
- str r2, [r3, 0xC]
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- str r0, [r3, 0x14]
- str r1, [r3, 0x18]
- bx lr
- .align 2, 0
-_0809D1A4: .4byte gUnknown_20399E8
- thumb_func_end sub_809D190
-
- thumb_func_start sub_809D1A8
-sub_809D1A8:
- ldr r3, _0809D1B8
- str r0, [r3]
- movs r0, 0x1
- str r0, [r3, 0x8]
- str r2, [r3, 0xC]
- str r1, [r3, 0x4]
- bx lr
- .align 2, 0
-_0809D1B8: .4byte gUnknown_20399E8
- thumb_func_end sub_809D1A8
-
- thumb_func_start sub_809D1BC
-sub_809D1BC:
- ldr r2, _0809D1C8
- str r0, [r2]
- movs r0, 0x2
- str r0, [r2, 0x8]
- str r1, [r2, 0x10]
- bx lr
- .align 2, 0
-_0809D1C8: .4byte gUnknown_20399E8
- thumb_func_end sub_809D1BC
-
- thumb_func_start sub_809D1CC
-sub_809D1CC:
- ldr r3, _0809D1E0
- str r0, [r3]
- movs r0, 0x2
- str r0, [r3, 0x8]
- str r2, [r3, 0x10]
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- str r0, [r3, 0x14]
- str r1, [r3, 0x18]
- bx lr
- .align 2, 0
-_0809D1E0: .4byte gUnknown_20399E8
- thumb_func_end sub_809D1CC
-
- thumb_func_start sub_809D1E4
-sub_809D1E4:
- ldr r3, _0809D1F4
- str r0, [r3]
- movs r0, 0x2
- str r0, [r3, 0x8]
- str r2, [r3, 0x10]
- str r1, [r3, 0x4]
- bx lr
- .align 2, 0
-_0809D1F4: .4byte gUnknown_20399E8
- thumb_func_end sub_809D1E4
-
- thumb_func_start sub_809D1F8
-sub_809D1F8:
- ldr r2, _0809D204
- str r0, [r2]
- movs r0, 0x3
- str r0, [r2, 0x8]
- str r1, [r2, 0xC]
- bx lr
- .align 2, 0
-_0809D204: .4byte gUnknown_20399E8
- thumb_func_end sub_809D1F8
-
- thumb_func_start sub_809D208
-sub_809D208:
- ldr r3, _0809D21C
- str r0, [r3]
- movs r0, 0x3
- str r0, [r3, 0x8]
- str r2, [r3, 0xC]
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- str r0, [r3, 0x14]
- str r1, [r3, 0x18]
- bx lr
- .align 2, 0
-_0809D21C: .4byte gUnknown_20399E8
- thumb_func_end sub_809D208
-
- thumb_func_start sub_809D220
-sub_809D220:
- ldr r3, _0809D230
- str r0, [r3]
- movs r0, 0x3
- str r0, [r3, 0x8]
- str r2, [r3, 0xC]
- str r1, [r3, 0x4]
- bx lr
- .align 2, 0
-_0809D230: .4byte gUnknown_20399E8
- thumb_func_end sub_809D220
-
- thumb_func_start sub_809D234
-sub_809D234:
- push {lr}
- ldr r0, _0809D244
- ldr r0, [r0, 0x8]
- cmp r0, 0
- beq _0809D240
- movs r0, 0x1
-_0809D240:
- pop {r1}
- bx r1
- .align 2, 0
-_0809D244: .4byte gUnknown_20399E8
- thumb_func_end sub_809D234
-
- thumb_func_start sub_809D248
-sub_809D248:
- ldr r3, _0809D258
- ldr r1, [r3, 0x3C]
- ldr r2, [r3, 0x40]
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r3, 0x44
- ldrb r0, [r3]
- bx lr
- .align 2, 0
-_0809D258: .4byte gUnknown_20399E8
- thumb_func_end sub_809D248
-
- thumb_func_start sub_809D25C
-sub_809D25C:
- push {r4-r6,lr}
- sub sp, 0x24
- ldr r4, _0809D274
- ldr r0, [r4]
- cmp r0, 0x2
- beq _0809D28C
- cmp r0, 0x2
- bhi _0809D278
- cmp r0, 0x1
- beq _0809D27E
- b _0809D2B2
- .align 2, 0
-_0809D274: .4byte gUnknown_20399E8
-_0809D278:
- cmp r0, 0x3
- beq _0809D29A
- b _0809D2B2
-_0809D27E:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- adds r1, r4, 0
- adds r1, 0x1C
- bl sub_80A8FD8
- b _0809D2A6
-_0809D28C:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- adds r1, r4, 0
- adds r1, 0x1C
- bl sub_80AC448
- b _0809D2A6
-_0809D29A:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- adds r1, r4, 0
- adds r1, 0x1C
- bl sub_80AD360
-_0809D2A6:
- lsls r0, 16
- ldr r1, _0809D2C4
- cmp r0, r1
- bne _0809D2B2
- movs r0, 0
- str r0, [r4]
-_0809D2B2:
- ldr r4, _0809D2C8
- ldr r0, [r4, 0x8]
- cmp r0, 0x2
- beq _0809D356
- cmp r0, 0x2
- bhi _0809D2CC
- cmp r0, 0x1
- beq _0809D2D2
- b _0809D388
- .align 2, 0
-_0809D2C4: .4byte 0xffff0000
-_0809D2C8: .4byte gUnknown_20399E8
-_0809D2CC:
- cmp r0, 0x3
- beq _0809D314
- b _0809D388
-_0809D2D2:
- ldr r0, [r4, 0x1C]
- ldr r1, [r4, 0x14]
- subs r0, r1
- str r0, [sp, 0x4]
- ldr r0, [r4, 0x20]
- ldr r1, [r4, 0x18]
- subs r0, r1
- str r0, [sp, 0x8]
- ldr r1, [r4, 0xC]
- add r0, sp, 0x4
- bl sub_800290C
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bne _0809D2FA
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bne _0809D2FA
- str r0, [r4, 0x8]
- b _0809D392
-_0809D2FA:
- ldr r2, _0809D310
- ldr r0, [r2, 0x14]
- ldr r1, [sp, 0x4]
- adds r0, r1
- str r0, [r2, 0x14]
- ldr r0, [r2, 0x18]
- ldr r1, [sp, 0x8]
- adds r0, r1
- str r0, [r2, 0x18]
- b _0809D392
- .align 2, 0
-_0809D310: .4byte gUnknown_20399E8
-_0809D314:
- ldr r1, [r4, 0x1C]
- ldr r0, [r4, 0x14]
- subs r0, r1, r0
- cmp r0, 0
- bge _0809D320
- adds r0, 0xFF
-_0809D320:
- asrs r2, r0, 8
- ldr r1, [r4, 0x20]
- ldr r0, [r4, 0x18]
- subs r1, r0
- cmp r1, 0
- bge _0809D32E
- adds r1, 0xFF
-_0809D32E:
- asrs r1, 8
- lsls r0, r2, 8
- lsls r1, 8
- bl sub_8009FB8
- cmp r0, 0
- bge _0809D33E
- adds r0, 0xFF
-_0809D33E:
- asrs r0, 8
- lsls r0, 8
- ldr r1, [r4, 0xC]
- bl __divsi3
- str r0, [r4, 0x10]
- cmp r0, 0
- bgt _0809D352
- movs r0, 0x1
- str r0, [r4, 0x10]
-_0809D352:
- movs r0, 0x2
- str r0, [r4, 0x8]
-_0809D356:
- add r0, sp, 0xC
- ldr r1, _0809D384
- adds r2, r1, 0
- adds r2, 0x8
- adds r5, r1, 0
- subs r5, 0x14
- ldr r3, [r5, 0x10]
- movs r4, 0x1
- str r4, [sp]
- bl sub_8002934
- ldr r0, [sp, 0xC]
- ldr r1, [sp, 0x10]
- str r0, [r5, 0x14]
- str r1, [r5, 0x18]
- ldr r0, [r5, 0x10]
- subs r0, 0x1
- str r0, [r5, 0x10]
- cmp r0, 0
- bgt _0809D392
- movs r0, 0
- str r0, [r5, 0x8]
- b _0809D392
- .align 2, 0
-_0809D384: .4byte gUnknown_20399FC
-_0809D388:
- ldr r2, _0809D3A4
- ldr r0, [r2, 0x1C]
- ldr r1, [r2, 0x20]
- str r0, [r2, 0x14]
- str r1, [r2, 0x18]
-_0809D392:
- ldr r5, _0809D3A4
- ldr r0, [r5, 0x24]
- cmp r0, 0x1
- beq _0809D3A8
- cmp r0, 0x2
- beq _0809D3D2
- movs r0, 0
- str r0, [r5, 0x34]
- b _0809D402
- .align 2, 0
-_0809D3A4: .4byte gUnknown_20399E8
-_0809D3A8:
- ldr r0, [r5, 0x30]
- subs r0, 0x1
- str r0, [r5, 0x30]
- cmp r0, 0
- bgt _0809D404
- movs r0, 0x4
- str r0, [r5, 0x30]
- movs r4, 0x2
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x2
- bl OtherRandomRange
- lsls r0, 10
- str r0, [r5, 0x34]
- adds r0, r4, 0
- movs r1, 0x2
- bl OtherRandomRange
- lsls r0, 10
- b _0809D402
-_0809D3D2:
- ldr r0, [r5, 0x30]
- subs r0, 0x1
- str r0, [r5, 0x30]
- cmp r0, 0
- bgt _0809D404
- ldr r0, [r5, 0x2C]
- str r0, [r5, 0x30]
- movs r4, 0x2
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x2
- bl OtherRandomRange
- ldr r1, [r5, 0x28]
- muls r0, r1
- lsls r0, 8
- str r0, [r5, 0x34]
- adds r0, r4, 0
- movs r1, 0x2
- bl OtherRandomRange
- ldr r1, [r5, 0x28]
- muls r0, r1
- lsls r0, 8
-_0809D402:
- str r0, [r5, 0x38]
-_0809D404:
- add r5, sp, 0x14
- add r6, sp, 0x1C
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80A579C
- lsls r0, 24
- cmp r0, 0
- beq _0809D474
- ldr r4, _0809D47C
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x34]
- adds r0, r1
- adds r2, r0, 0
- subs r2, 0x80
- ldr r0, [r4, 0x18]
- ldr r1, [r4, 0x38]
- adds r0, r1
- ldr r1, _0809D480
- adds r3, r0, r1
- ldr r0, [sp, 0x14]
- cmp r2, r0
- bge _0809D434
- adds r2, r0, 0
-_0809D434:
- ldr r0, [sp, 0x1C]
- cmp r2, r0
- blt _0809D43C
- subs r2, r0, 0x1
-_0809D43C:
- ldr r0, [r5, 0x4]
- cmp r3, r0
- bge _0809D444
- adds r3, r0, 0
-_0809D444:
- ldr r1, [r6, 0x4]
- cmp r3, r1
- blt _0809D44C
- subs r3, r1, 0x1
-_0809D44C:
- ldr r1, _0809D484
- adds r0, r2, r1
- cmp r0, 0
- bge _0809D458
- adds r1, 0xFF
- adds r0, r2, r1
-_0809D458:
- asrs r0, 8
- str r0, [r4, 0x3C]
- ldr r1, _0809D488
- adds r0, r3, r1
- cmp r0, 0
- bge _0809D468
- adds r1, 0xFF
- adds r0, r3, r1
-_0809D468:
- asrs r0, 8
- str r0, [r4, 0x40]
- adds r1, r4, 0
- adds r1, 0x44
- movs r0, 0x1
- strb r0, [r1]
-_0809D474:
- add sp, 0x24
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D47C: .4byte gUnknown_20399E8
-_0809D480: .4byte 0xfffff480
-_0809D484: .4byte 0xffff8700
-_0809D488: .4byte 0xffffb000
- thumb_func_end sub_809D25C
-
- thumb_func_start nullsub_120
-nullsub_120:
- bx lr
- thumb_func_end nullsub_120
-
- thumb_func_start sub_809D490
-sub_809D490:
- push {r4,lr}
- ldr r4, _0809D4AC
- movs r0, 0x80
- lsls r0, 3
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- bl sub_809D4B0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D4AC: .4byte gUnknown_203B4B0
- thumb_func_end sub_809D490
-
- thumb_func_start sub_809D4B0
-sub_809D4B0:
- push {r4,r5,lr}
- ldr r0, _0809D4EC
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, _0809D4F0
- strh r1, [r0]
- ldr r0, _0809D4F4
- strh r1, [r0]
- ldr r1, _0809D4F8
- movs r0, 0
- strb r0, [r1]
- movs r1, 0
- ldr r5, _0809D4FC
- movs r2, 0
- ldr r3, _0809D500
- ldr r4, _0809D504
-_0809D4D4:
- adds r0, r1, r5
- strb r2, [r0]
- adds r0, r1, r3
- strb r2, [r0]
- stm r4!, {r2}
- adds r1, 0x1
- cmp r1, 0x80
- ble _0809D4D4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D4EC: .4byte gUnknown_2039A30
-_0809D4F0: .4byte gUnknown_2039A32
-_0809D4F4: .4byte gUnknown_2039A34
-_0809D4F8: .4byte gUnknown_2039A36
-_0809D4FC: .4byte gUnknown_2039A38
-_0809D500: .4byte gUnknown_2039AC0
-_0809D504: .4byte gUnknown_2039B48
- thumb_func_end sub_809D4B0
-
- thumb_func_start sub_809D508
-sub_809D508:
- push {r4,lr}
- ldr r4, _0809D51C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D51C: .4byte gUnknown_203B4B0
- thumb_func_end sub_809D508
-
- thumb_func_start sub_809D520
-sub_809D520:
- ldr r1, _0809D528
- strh r1, [r0]
- bx lr
- .align 2, 0
-_0809D528: .4byte 0x0000ffff
- thumb_func_end sub_809D520
-
- thumb_func_start sub_809D52C
-sub_809D52C:
- push {lr}
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, 0x1
- beq _0809D544
- cmp r1, 0x1
- ble _0809D562
- cmp r1, 0x2
- beq _0809D54E
- cmp r1, 0x3
- beq _0809D558
- b _0809D562
-_0809D544:
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_80A882C
- b _0809D564
-_0809D54E:
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- bl sub_80AC240
- b _0809D564
-_0809D558:
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_80AD158
- b _0809D564
-_0809D562:
- movs r0, 0
-_0809D564:
- pop {r1}
- bx r1
- thumb_func_end sub_809D52C
-
- thumb_func_start sub_809D568
-sub_809D568:
- push {lr}
- adds r3, r0, 0
- ldr r0, _0809D5B4
- strh r0, [r3]
- movs r2, 0
- movs r0, 0
- strh r0, [r3, 0x2]
- str r0, [r3, 0x8]
- str r0, [r3, 0x4]
- str r0, [r3, 0x14]
- str r0, [r3, 0x10]
- adds r1, r3, 0
- adds r1, 0x20
- strb r2, [r1]
- str r0, [r3, 0x1C]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r3, 0x22]
- strh r0, [r3, 0x24]
- adds r2, r3, 0
- adds r2, 0x26
- movs r1, 0xFF
- strb r1, [r2]
- strh r0, [r3, 0x28]
- strh r0, [r3, 0x2A]
- strh r0, [r3, 0x2C]
- str r0, [r3, 0x30]
- movs r2, 0
- movs r1, 0x3
- adds r0, r3, 0
- adds r0, 0x5C
-_0809D5A6:
- str r2, [r0]
- subs r0, 0x4
- subs r1, 0x1
- cmp r1, 0
- bge _0809D5A6
- pop {r0}
- bx r0
- .align 2, 0
-_0809D5B4: .4byte 0x0000ffff
- thumb_func_end sub_809D568
-
- thumb_func_start sub_809D5B8
-sub_809D5B8:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- str r0, [r4]
- str r0, [r4, 0x4]
- ldr r0, _0809D5FC
- strh r0, [r4, 0x10]
- movs r0, 0xFF
- strb r0, [r4, 0x12]
- adds r0, r4, 0
- adds r0, 0xC
- bl sub_809D520
- movs r2, 0
- movs r1, 0x3
- adds r0, r4, 0
- adds r0, 0x20
-_0809D5DA:
- str r2, [r0]
- subs r0, 0x4
- subs r1, 0x1
- cmp r1, 0
- bge _0809D5DA
- adds r0, r4, 0
- adds r0, 0x24
- bl sub_809D568
- adds r0, r4, 0
- adds r0, 0x84
- bl sub_809D568
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D5FC: .4byte 0x0000ffff
- thumb_func_end sub_809D5B8
-
- thumb_func_start sub_809D600
-sub_809D600:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r6, r1, 0
- mov r8, r2
- adds r4, r3, 0
- ldr r5, [sp, 0x18]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 24
- asrs r5, 24
- bl sub_809D5B8
- str r6, [r7]
- mov r0, r8
- str r0, [r7, 0x4]
- strh r4, [r7, 0x10]
- strb r5, [r7, 0x12]
- ldrh r0, [r6]
- strh r0, [r7, 0x8]
- ldr r1, [r6, 0x4]
- cmp r1, 0
- beq _0809D63A
- mov r0, r8
- bl _call_via_r1
- strh r0, [r7, 0xA]
- b _0809D63C
-_0809D63A:
- strh r1, [r7, 0xA]
-_0809D63C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809D600
-
- thumb_func_start sub_809D648
-sub_809D648:
- push {lr}
- bl sub_809D5B8
- pop {r0}
- bx r0
- thumb_func_end sub_809D648
-
- thumb_func_start sub_809D654
-sub_809D654:
- movs r1, 0x26
- ldrsh r0, [r0, r1]
- bx lr
- thumb_func_end sub_809D654
-
- thumb_func_start sub_809D65C
-sub_809D65C:
- push {lr}
- adds r1, r0, 0
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0809D66E
- movs r0, 0x1
- negs r0, r0
- b _0809D672
-_0809D66E:
- movs r2, 0x24
- ldrsh r0, [r1, r2]
-_0809D672:
- pop {r1}
- bx r1
- thumb_func_end sub_809D65C
-
- thumb_func_start sub_809D678
-sub_809D678:
- movs r2, 0x26
- ldrsh r1, [r0, r2]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- thumb_func_end sub_809D678
-
- thumb_func_start sub_809D684
-sub_809D684:
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- movs r1, 0x26
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _0809D6A4
- ldr r0, [r2, 0x34]
- cmp r0, 0
- beq _0809D69C
- ldr r1, [r2, 0x38]
- b _0809D69E
-_0809D69C:
- ldr r1, [r2, 0x2C]
-_0809D69E:
- ldr r0, [r3]
- cmp r1, r0
- beq _0809D6CC
-_0809D6A4:
- adds r0, r2, 0
- adds r0, 0x86
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0809D6D0
- adds r0, r2, 0
- adds r0, 0x94
- ldr r0, [r0]
- cmp r0, 0
- beq _0809D6C0
- adds r0, r2, 0
- adds r0, 0x98
- b _0809D6C4
-_0809D6C0:
- adds r0, r2, 0
- adds r0, 0x8C
-_0809D6C4:
- ldr r1, [r0]
- ldr r0, [r3]
- cmp r1, r0
- bne _0809D6D0
-_0809D6CC:
- movs r0, 0x1
- b _0809D6D2
-_0809D6D0:
- movs r0, 0
-_0809D6D2:
- pop {r1}
- bx r1
- thumb_func_end sub_809D684
-
- thumb_func_start sub_809D6D8
-sub_809D6D8:
- lsls r1, 16
- asrs r1, 14
- adds r0, 0x14
- adds r0, r1
- str r2, [r0]
- bx lr
- thumb_func_end sub_809D6D8
-
- thumb_func_start sub_809D6E4
-sub_809D6E4:
- push {r4,lr}
- lsls r2, 16
- asrs r2, 16
- lsls r4, r2, 2
- adds r3, r0, 0
- adds r3, 0x14
- adds r3, r4
- ldr r3, [r3]
- str r3, [r1]
- strh r2, [r1, 0x4]
- ldrh r2, [r0, 0x10]
- strh r2, [r1, 0x6]
- ldrb r0, [r0, 0x12]
- strb r0, [r1, 0x8]
- adds r0, r3, 0
- cmp r0, 0
- beq _0809D708
- movs r0, 0x1
-_0809D708:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809D6E4
-
- thumb_func_start sub_809D710
-sub_809D710:
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r2, 16
- asrs r2, 16
- ldr r1, _0809D73C
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- str r0, [r3]
- movs r0, 0x2
- strh r0, [r3, 0x4]
- cmp r4, 0
- beq _0809D740
- ldrh r0, [r4, 0x10]
- strh r0, [r3, 0x6]
- ldrb r0, [r4, 0x12]
- b _0809D746
- .align 2, 0
-_0809D73C: .4byte gUnknown_812F1F8
-_0809D740:
- ldr r0, _0809D750
- strh r0, [r3, 0x6]
- movs r0, 0xFF
-_0809D746:
- strb r0, [r3, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D750: .4byte 0x0000ffff
- thumb_func_end sub_809D710
-
- thumb_func_start sub_809D754
-sub_809D754:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x24
- bl sub_809D568
- adds r4, 0x84
- adds r0, r4, 0
- bl sub_809D568
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809D754
-
- thumb_func_start sub_809D770
-sub_809D770:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x24
- bl sub_809D568
- adds r0, r4, 0
- adds r0, 0x84
- bl sub_809D568
- movs r0, 0x4
- strh r0, [r4, 0x26]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809D770
-
- thumb_func_start GroundScript_ExecutePP
-GroundScript_ExecutePP:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- adds r6, r2, 0
- cmp r6, 0
- beq _0809D7A2
- ldr r0, [r6]
- cmp r0, 0
- bne _0809D7A6
-_0809D7A2:
- movs r0, 0
- b _0809D8B8
-_0809D7A6:
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0x5
- bhi _0809D858
- lsls r0, 2
- ldr r1, _0809D7B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809D7B8: .4byte _0809D7BC
- .align 2, 0
-_0809D7BC:
- .4byte _0809D830
- .4byte _0809D84A
- .4byte _0809D7D4
- .4byte _0809D7D4
- .4byte _0809D858
- .4byte _0809D7EE
-_0809D7D4:
- movs r3, 0x24
- ldrsh r0, [r5, r3]
- cmp r0, 0x1
- beq _0809D838
- adds r4, r5, 0
- adds r4, 0x24
- cmp r0, 0x5
- bne _0809D86C
- adds r0, r5, 0
- adds r0, 0x84
- bl sub_809D568
- b _0809D86C
-_0809D7EE:
- movs r1, 0x24
- ldrsh r0, [r5, r1]
- cmp r0, 0x2
- beq _0809D808
- ldr r0, _0809D800
- ldr r1, _0809D804
- bl FatalError
- .align 2, 0
-_0809D800: .4byte gUnknown_8116538
-_0809D804: .4byte gUnknown_8116544
-_0809D808:
- adds r2, r5, 0
- adds r2, 0x84
- movs r3, 0
- ldrsh r1, [r2, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809D828
- ldr r0, _0809D820
- ldr r1, _0809D824
- bl FatalError
- .align 2, 0
-_0809D820: .4byte gUnknown_8116560
-_0809D824: .4byte gUnknown_811656C
-_0809D828:
- adds r4, r5, 0
- adds r4, 0x24
- adds r0, r2, 0
- b _0809D840
-_0809D830:
- movs r1, 0x24
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _0809D84A
-_0809D838:
- adds r0, r5, 0
- adds r0, 0x84
- adds r4, r5, 0
- adds r4, 0x24
-_0809D840:
- adds r1, r4, 0
- movs r2, 0x60
- bl memcpy
- b _0809D86C
-_0809D84A:
- adds r0, r5, 0
- adds r0, 0x84
- bl sub_809D568
- adds r4, r5, 0
- adds r4, 0x24
- b _0809D86C
-_0809D858:
- ldr r0, _0809D864
- ldr r1, _0809D868
- movs r3, 0x4
- ldrsh r2, [r6, r3]
- bl FatalError
- .align 2, 0
-_0809D864: .4byte gUnknown_8116588
-_0809D868: .4byte gUnknown_8116594
-_0809D86C:
- adds r0, r4, 0
- bl sub_809D568
- cmp r7, 0
- beq _0809D87C
- ldr r0, [r7]
- str r0, [r5, 0xC]
- b _0809D884
-_0809D87C:
- adds r0, r5, 0
- adds r0, 0xC
- bl sub_809D520
-_0809D884:
- ldrh r0, [r6, 0x4]
- movs r1, 0
- strh r0, [r5, 0x24]
- movs r0, 0x3
- strh r0, [r5, 0x26]
- ldrh r0, [r6, 0x6]
- strh r0, [r5, 0x30]
- ldrb r0, [r6, 0x8]
- adds r2, r5, 0
- adds r2, 0x32
- strb r0, [r2]
- ldr r0, [r6]
- str r0, [r5, 0x28]
- str r0, [r5, 0x2C]
- str r1, [r5, 0x34]
- str r1, [r5, 0x38]
- ldr r0, [r5]
- ldr r2, [r0, 0x14]
- cmp r2, 0
- beq _0809D8B6
- ldr r0, [r5, 0x4]
- adds r1, r5, 0
- adds r1, 0x4A
- bl _call_via_r2
-_0809D8B6:
- movs r0, 0x1
-_0809D8B8:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GroundScript_ExecutePP
-
- thumb_func_start sub_809D8C0
-sub_809D8C0:
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r3, 0
- lsls r2, 16
- asrs r2, 16
- mov r1, sp
- bl sub_809D6E4
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- adds r3, r6, 0
- bl GroundScript_ExecutePP
- lsls r0, 24
- lsrs r0, 24
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809D8C0
-
- thumb_func_start sub_809D8EC
-sub_809D8EC:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 16
- asrs r5, r1, 16
- cmp r5, 0
- bne _0809D910
- bl sub_809A750
- lsls r0, 24
- cmp r0, 0
- bne _0809D910
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A2460
- str r0, [r4, 0x28]
- movs r0, 0
- b _0809D922
-_0809D910:
- adds r0, r4, 0
- adds r0, 0x46
- strh r5, [r0]
- movs r0, 0x2
- strh r0, [r4, 0x26]
- ldr r1, _0809D928
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
-_0809D922:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D928: .4byte gUnknown_2039A36
- thumb_func_end sub_809D8EC
-
- thumb_func_start sub_809D92C
-sub_809D92C:
- push {lr}
- ldr r1, _0809D93C
- bl sub_809D770
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0809D93C: .4byte gUnknown_81165C8
- thumb_func_end sub_809D92C
-
- thumb_func_start sub_809D940
-sub_809D940:
- push {r4,lr}
- bl sub_80A8B74
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80AC378
- orrs r4, r0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80AD290
- orrs r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809D940
-
- thumb_func_start sub_809D968
-sub_809D968:
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r1, 16
- asrs r6, r1, 16
- movs r4, 0
- adds r2, r5, 0
- adds r2, 0x46
- ldrh r1, [r2]
- movs r0, 0
- ldrsh r3, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r3, r0
- beq _0809D98E
- cmp r3, r6
- bne _0809D98E
- ldr r0, _0809D9B4
- strh r0, [r2]
- movs r4, 0x1
-_0809D98E:
- adds r2, r5, 0
- adds r2, 0xA6
- ldrh r1, [r2]
- movs r0, 0
- ldrsh r3, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r3, r0
- beq _0809D9AA
- cmp r3, r6
- bne _0809D9AA
- ldr r0, _0809D9B4
- strh r0, [r2]
- movs r4, 0x1
-_0809D9AA:
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D9B4: .4byte 0x0000ffff
- thumb_func_end sub_809D968
-
- thumb_func_start sub_809D9B8
-sub_809D9B8:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0809D9D4
- adds r1, r0, r1
- movs r3, 0
- movs r2, 0x1
- strb r2, [r1]
- ldr r1, _0809D9D8
- lsls r0, 2
- adds r0, r1
- str r3, [r0]
- ldr r0, _0809D9DC
- strb r2, [r0]
- bx lr
- .align 2, 0
-_0809D9D4: .4byte gUnknown_2039A38
-_0809D9D8: .4byte gUnknown_2039B48
-_0809D9DC: .4byte gUnknown_2039A36
- thumb_func_end sub_809D9B8
-
- thumb_func_start sub_809D9E0
-sub_809D9E0:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0809D9FC
- adds r2, r0, r2
- movs r3, 0x1
- strb r3, [r2]
- ldr r2, _0809DA00
- lsls r0, 2
- adds r0, r2
- str r1, [r0]
- ldr r0, _0809DA04
- strb r3, [r0]
- bx lr
- .align 2, 0
-_0809D9FC: .4byte gUnknown_2039A38
-_0809DA00: .4byte gUnknown_2039B48
-_0809DA04: .4byte gUnknown_2039A36
- thumb_func_end sub_809D9E0
-
- thumb_func_start sub_809DA08
-sub_809DA08:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 16
- asrs r4, r1, 16
- ldr r1, _0809DA2C
- lsls r0, r4, 2
- adds r0, r1
- str r2, [r0]
- cmp r4, 0
- bne _0809DA38
- bl sub_809A750
- lsls r0, 24
- cmp r0, 0
- bne _0809DA30
- movs r0, 0
- b _0809DA5E
- .align 2, 0
-_0809DA2C: .4byte gUnknown_2039B48
-_0809DA30:
- adds r0, r5, 0
- adds r0, 0x46
- strh r4, [r0]
- b _0809DA52
-_0809DA38:
- movs r1, 0x80
- adds r2, r5, 0
- adds r2, 0x46
- adds r0, r4, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _0809DA64
- adds r0, r4, r0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _0809DA68
- adds r0, r4, r0
- strb r1, [r0]
-_0809DA52:
- movs r0, 0x2
- strh r0, [r5, 0x26]
- ldr r1, _0809DA6C
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
-_0809DA5E:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809DA64: .4byte gUnknown_2039A38
-_0809DA68: .4byte gUnknown_2039AC0
-_0809DA6C: .4byte gUnknown_2039A36
- thumb_func_end sub_809DA08
-
- thumb_func_start HandleAction
-HandleAction:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x148
- adds r7, r0, 0
- movs r1, 0x26
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bne _0809DA8A
- bl _0809EAB8
-_0809DA8A:
- movs r2, 0x26
- ldrsh r0, [r7, r2]
- cmp r0, 0x4
- bls _0809DA96
- bl _0809E9CC
-_0809DA96:
- lsls r0, 2
- ldr r1, _0809DAA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809DAA0: .4byte _0809DAA4
- .align 2, 0
-_0809DAA4:
- .4byte _0809E9C6
- .4byte _0809E9C6
- .4byte _0809DAB8
- .4byte _0809E900
- .4byte _0809E9C6
-_0809DAB8:
- adds r1, r7, 0
- adds r1, 0x44
- ldrb r0, [r1]
- subs r0, 0x3
- adds r6, r1, 0
- cmp r0, 0xED
- bls _0809DACA
- bl _0809E9D6
-_0809DACA:
- lsls r0, 2
- ldr r1, _0809DAD4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809DAD4: .4byte _0809DAD8
- .align 2, 0
-_0809DAD8:
- .4byte _0809E382
- .4byte _0809E3C4
- .4byte _0809E524
- .4byte _0809E464
- .4byte _0809E4B4
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809DED6
- .4byte _0809DED6
- .4byte _0809DED6
- .4byte _0809DED6
- .4byte _0809DED6
- .4byte _0809DED6
- .4byte _0809DED6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E308
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E31C
- .4byte _0809E75C
- .4byte _0809E33C
- .4byte _0809E368
- .4byte _0809E658
- .4byte _0809E6B4
- .4byte _0809E6E8
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809E9D6
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809E9D6
- .4byte _0809DE90
- .4byte _0809DF60
- .4byte _0809DF60
- .4byte _0809DF60
- .4byte _0809DF60
- .4byte _0809DF60
- .4byte _0809DF60
- .4byte _0809DF60
- .4byte _0809E0A2
- .4byte _0809DFDC
- .4byte _0809DFDC
- .4byte _0809DFDC
- .4byte _0809DFDC
- .4byte _0809DFDC
- .4byte _0809DFDC
- .4byte _0809DFDC
- .4byte _0809E0A2
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E0E8
- .4byte _0809E0E8
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809E146
- .4byte _0809E146
- .4byte _0809E146
- .4byte _0809E146
- .4byte _0809E146
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809E9D6
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E798
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E864
- .4byte _0809E864
- .4byte _0809E864
- .4byte _0809E864
- .4byte _0809E864
- .4byte _0809E864
- .4byte _0809E864
- .4byte _0809E9D6
- .4byte _0809E8D8
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DEA6
- .4byte _0809DEBE
- .4byte _0809DED6
- .4byte _0809DEE8
- .4byte _0809DF24
- .4byte _0809DF24
- .4byte _0809E2DE
- .4byte _0809E9D6
- .4byte _0809E2DE
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
-_0809DE90:
- adds r1, r7, 0
- adds r1, 0x4E
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _0809DEA2
- bl _0809EAB2
-_0809DEA2:
- bl _0809E8F4
-_0809DEA6:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r1, [r1, 0x4C]
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- beq _0809DEBA
- bl _0809E9D6
-_0809DEBA:
- bl _0809E8F4
-_0809DEBE:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r1, [r1, 0x50]
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- beq _0809DED2
- bl _0809E9D6
-_0809DED2:
- bl _0809E8F4
-_0809DED6:
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- beq _0809DEE4
- bl _0809E9D6
-_0809DEE4:
- bl _0809E8F4
-_0809DEE8:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r0, [r0]
- str r0, [r1]
- add r0, sp, 0x4
- ldrh r0, [r0, 0x2]
- bl sub_8011940
- lsls r0, 24
- cmp r0, 0
- bne _0809DF06
- bl _0809E8F4
-_0809DF06:
- adds r2, r7, 0
- adds r2, 0x50
- ldrh r1, [r2]
- adds r0, r1, 0x1
- strh r0, [r2]
- lsls r1, 16
- ldr r0, _0809DF20
- cmp r1, r0
- bgt _0809DF1C
- bl _0809E9D6
-_0809DF1C:
- bl _0809E8F4
- .align 2, 0
-_0809DF20: .4byte 0x2a2f0000
-_0809DF24:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- add r0, sp, 0x4
- ldrh r0, [r0, 0x2]
- bl sub_80119C0
- lsls r0, 24
- cmp r0, 0
- bne _0809DF42
- bl _0809E8F4
-_0809DF42:
- adds r2, r7, 0
- adds r2, 0x50
- ldrh r1, [r2]
- adds r0, r1, 0x1
- strh r0, [r2]
- lsls r1, 16
- ldr r0, _0809DF5C
- cmp r1, r0
- bgt _0809DF58
- bl _0809E9D6
-_0809DF58:
- bl _0809E8F4
- .align 2, 0
-_0809DF5C: .4byte 0x0e0f0000
-_0809DF60:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r5, sp, 0xA4
- ldr r2, [r1, 0xC]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r1, [r7, 0x60]
- ldr r0, [r5]
- subs r1, r0
- add r4, sp, 0xAC
- str r1, [r4]
- ldr r0, [r7, 0x64]
- ldr r1, [r5, 0x4]
- subs r0, r1
- str r0, [r4, 0x4]
- ldr r1, [r7, 0x54]
- adds r0, r4, 0
- bl sub_800290C
- ldr r0, [r4]
- cmp r0, 0
- bne _0809DF98
- ldr r0, [r4, 0x4]
- cmp r0, 0
- bne _0809DF98
- bl _0809E8F4
-_0809DF98:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r1, 0x48]
- adds r1, r4, 0
- bl _call_via_r2
- movs r1, 0x9
- ands r1, r0
- cmp r1, 0
- beq _0809DFB0
- bl _0809E8F4
-_0809DFB0:
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- movs r1, 0x80
- lsls r1, 5
- ldr r2, [r2, 0x30]
- bl _call_via_r2
- adds r2, r7, 0
- adds r2, 0x4E
- ldrh r0, [r2]
- movs r5, 0
- ldrsh r1, [r2, r5]
- cmp r1, 0
- bge _0809DFD0
- bl _0809E9D6
-_0809DFD0:
- cmp r1, 0
- ble _0809DFD8
- bl _0809EAAC
-_0809DFD8:
- bl _0809E8F4
-_0809DFDC:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r5, sp, 0xB4
- ldr r2, [r1, 0xC]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r1, [r7, 0x60]
- ldr r0, [r5]
- subs r1, r0
- add r4, sp, 0xBC
- str r1, [r4]
- ldr r0, [r7, 0x64]
- ldr r1, [r5, 0x4]
- subs r0, r1
- str r0, [r4, 0x4]
- ldr r1, [r7, 0x54]
- adds r0, r4, 0
- bl sub_800290C
- ldr r0, [r4]
- adds r5, r4, 0
- cmp r0, 0
- bne _0809E016
- ldr r0, [r5, 0x4]
- cmp r0, 0
- bne _0809E016
- bl _0809E8F4
-_0809E016:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r1, 0x48]
- adds r1, r5, 0
- bl _call_via_r2
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_8002C60
- lsls r0, 24
- adds r2, r7, 0
- adds r2, 0x4A
- asrs r1, r0, 24
- lsrs r0, 24
- strb r0, [r2]
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- movs r0, 0x9
- ands r0, r4
- cmp r0, 0
- beq _0809E04C
- bl _0809E8F4
-_0809E04C:
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- movs r1, 0x80
- lsls r1, 5
- ldr r2, [r2, 0x30]
- bl _call_via_r2
- adds r2, r7, 0
- adds r2, 0x4E
- ldrh r0, [r2]
- movs r6, 0
- ldrsh r1, [r2, r6]
- cmp r1, 0
- bge _0809E06C
- bl _0809E9D6
-_0809E06C:
- cmp r1, 0
- ble _0809E074
- bl _0809EAAC
-_0809E074:
- bl _0809E8F4
-_0809E078:
- adds r6, r7, 0
- adds r6, 0x4E
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- ble _0809E088
- bl _0809EA62
-_0809E088:
- bl _0809E8F4
-_0809E08C:
- movs r2, 0x4E
- adds r2, r7
- mov r8, r2
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _0809E09E
- bl _0809E9DA
-_0809E09E:
- bl _0809E8F4
-_0809E0A2:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r4, sp, 0xE4
- add r2, sp, 0xE8
- ldr r3, [r1, 0x10]
- adds r1, r4, 0
- bl _call_via_r3
- ldr r0, [r7, 0x6C]
- ldr r1, [r4]
- subs r0, r1
- adds r2, r4, 0
- cmp r0, 0
- bne _0809E0C2
- bl _0809E8F4
-_0809E0C2:
- ldr r4, [r7, 0x54]
- cmn r0, r4
- bge _0809E0CC
- subs r0, r1, r4
- b _0809E0D4
-_0809E0CC:
- cmp r0, r4
- ble _0809E0D2
- adds r0, r4, 0
-_0809E0D2:
- adds r0, r1, r0
-_0809E0D4:
- str r0, [r2]
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- add r1, sp, 0xE4
- ldr r1, [r1]
- ldr r2, [r2, 0x28]
- bl _call_via_r2
- bl _0809E9D6
-_0809E0E8:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r4, sp, 0x14
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- movs r1, 0
- ldrsb r1, [r4, r1]
- ldr r2, [r7, 0x54]
- add r4, sp, 0xEC
- adds r0, r4, 0
- bl sub_8002BB8
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- add r1, sp, 0xF4
- str r2, [r1]
- str r3, [r1, 0x4]
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r2, 0x48]
- bl _call_via_r2
- movs r1, 0x9
- ands r1, r0
- cmp r1, 0
- beq _0809E124
- bl _0809E8F4
-_0809E124:
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- movs r1, 0x80
- lsls r1, 5
- ldr r2, [r2, 0x30]
- bl _call_via_r2
- adds r1, r7, 0
- adds r1, 0x4E
- ldrh r2, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0
- ble _0809E144
- bl _0809EAB2
-_0809E144:
- b _0809E8F4
-_0809E146:
- adds r1, r7, 0
- adds r1, 0x4E
- ldrh r2, [r1]
- movs r5, 0
- ldrsh r0, [r1, r5]
- mov r10, r1
- cmp r0, 0
- ble _0809E15A
- bl _0809EAB2
-_0809E15A:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
- movs r4, 0x1
- negs r4, r4
- mov r8, r4
- movs r5, 0
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- mov r4, sp
- adds r4, 0x15
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- add r0, sp, 0x4
- ldrb r0, [r0]
- subs r0, 0x91
- mov r9, r4
- cmp r0, 0x4
- bhi _0809E234
- lsls r0, 2
- ldr r1, _0809E194
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809E194: .4byte _0809E198
- .align 2, 0
-_0809E198:
- .4byte _0809E1AC
- .4byte _0809E1AC
- .4byte _0809E1BA
- .4byte _0809E1E0
- .4byte _0809E20C
-_0809E1AC:
- adds r0, r7, 0
- adds r0, 0x71
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- mov r8, r0
- b _0809E234
-_0809E1BA:
- ldr r0, [sp, 0x8]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- blt _0809E234
- movs r5, 0x1
- add r1, sp, 0xFC
- adds r0, r4, 0
- bl sub_80A8FD8
- add r1, sp, 0x104
- adds r0, r4, 0
- bl sub_80A8F9C
- b _0809E234
-_0809E1E0:
- ldr r0, [sp, 0x8]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _0809E234
- movs r5, 0x1
- add r1, sp, 0xFC
- bl sub_80A8FD8
- ldr r0, _0809E208
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- add r2, sp, 0x104
- str r0, [r2]
- str r1, [r2, 0x4]
- b _0809E234
- .align 2, 0
-_0809E208: .4byte gUnknown_81164DC
-_0809E20C:
- movs r5, 0x1
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r4, sp, 0xFC
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- add r1, sp, 0x104
- ldr r2, [r2, 0x8]
- bl _call_via_r2
- ldr r0, [sp, 0x8]
- lsls r0, 16
- asrs r0, 16
- adds r1, r4, 0
- bl sub_80AD8B4
-_0809E234:
- cmp r5, 0
- beq _0809E282
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r5, sp, 0x10C
- ldr r2, [r1, 0xC]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r4, sp, 0x114
- ldr r2, [r1, 0x8]
- adds r1, r4, 0
- bl _call_via_r2
- add r6, sp, 0xFC
- add r3, sp, 0x104
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_8002DF0
- lsls r0, 24
- asrs r0, 24
- mov r8, r0
- movs r0, 0x1
- negs r0, r0
- cmp r8, r0
- bne _0809E28C
- ldr r3, _0809E2CC
- adds r0, r5, 0
- adds r1, r3, 0
- adds r2, r6, 0
- bl sub_8002D54
- lsls r0, 24
- asrs r0, 24
- mov r8, r0
-_0809E282:
- movs r0, 0x1
- negs r0, r0
- cmp r8, r0
- bne _0809E28C
- b _0809E8F4
-_0809E28C:
- mov r5, r9
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r8, r0
- bne _0809E298
- b _0809E8F4
-_0809E298:
- mov r6, r9
- movs r0, 0
- ldrsb r0, [r6, r0]
- add r1, sp, 0x4
- ldrh r2, [r1, 0x2]
- lsls r2, 24
- lsrs r2, 24
- mov r1, r8
- bl sub_8002A70
- adds r1, r7, 0
- adds r1, 0x4A
- strb r0, [r1]
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- add r0, sp, 0x4
- ldrb r0, [r0, 0x1]
- mov r1, r10
- strh r0, [r1]
- b _0809E9CC
- .align 2, 0
-_0809E2CC: .4byte gUnknown_81164DC
-_0809E2D0:
- bl sub_809D234
- lsls r0, 24
- cmp r0, 0
- beq _0809E2DC
- b _0809E9D6
-_0809E2DC:
- b _0809E8F4
-_0809E2DE:
- adds r0, r7, 0
- adds r0, 0x46
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E2F0
- b _0809E9D6
-_0809E2F0:
- ldr r1, _0809E304
- adds r0, r7, 0
- adds r0, 0x4C
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- b _0809E8EC
- .align 2, 0
-_0809E304: .4byte gUnknown_2039B48
-_0809E308:
- adds r0, r7, 0
- adds r0, 0x46
- movs r4, 0
- ldrsh r1, [r0, r4]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E31A
- b _0809E9D6
-_0809E31A:
- b _0809E8CA
-_0809E31C:
- adds r0, r7, 0
- adds r0, 0x46
- movs r5, 0
- ldrsh r1, [r0, r5]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E32E
- b _0809E9D6
-_0809E32E:
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- beq _0809E33A
- b _0809E9D6
-_0809E33A:
- b _0809E8CA
-_0809E33C:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
- add r0, sp, 0x4
- ldrb r1, [r0, 0x1]
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- ldr r3, [sp, 0x8]
- adds r0, r7, 0
- bl sub_80A14E8
- adds r1, r0, 0
- cmp r1, 0
- bge _0809E360
- b _0809E9D6
-_0809E360:
- movs r0, 0x3
- strh r0, [r7, 0x26]
- adds r0, r7, 0
- b _0809E60C
-_0809E368:
- add r0, sp, 0x11C
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E376
- b _0809E9D6
-_0809E376:
- add r0, sp, 0x11C
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80A2460
- b _0809E8C8
-_0809E382:
- add r0, sp, 0x120
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E390
- b _0809E9D6
-_0809E390:
- add r4, sp, 0x120
- ldr r0, [r4]
- cmp r0, 0
- blt _0809E3BA
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r0, [r0]
- str r0, [r1]
- ldrb r0, [r4]
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- add r1, sp, 0x4
- movs r3, 0x2
- ldrsh r2, [r1, r3]
- movs r1, 0
- bl sub_8098D1C
-_0809E3BA:
- ldr r1, [r4]
- adds r0, r7, 0
- bl sub_80A2460
- b _0809E8C8
-_0809E3C4:
- adds r4, r7, 0
- adds r4, 0x4C
- movs r5, 0
- ldrsh r0, [r4, r5]
- cmp r0, 0
- bne _0809E40C
- add r0, sp, 0x124
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E3DE
- b _0809E9D6
-_0809E3DE:
- add r0, sp, 0x124
- ldr r0, [r0]
- cmp r0, 0
- blt _0809E400
- lsls r0, 16
- asrs r0, 16
- bl sub_80A26B8
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- movs r0, 0
- movs r1, 0x12
- bl sub_80018D8
- movs r0, 0x1
- b _0809E402
-_0809E400:
- ldr r0, _0809E408
-_0809E402:
- strh r0, [r4]
- b _0809E8CE
- .align 2, 0
-_0809E408: .4byte 0x0000ffff
-_0809E40C:
- cmp r0, 0x1
- bne _0809E464
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0
- movs r1, 0x12
- bl sub_8001658
- adds r2, r0, 0
- lsls r2, 16
- asrs r4, r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x30
- bl sub_8001784
- cmp r4, 0x13
- bne _0809E43C
- cmp r0, 0
- beq _0809E45A
-_0809E43C:
- add r0, sp, 0x4
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl sub_8098DCC
- adds r0, r7, 0
- movs r1, 0
- bl sub_80A2460
- str r0, [r7, 0x28]
- movs r0, 0
- movs r1, 0
- bl sub_80A87AC
- b _0809E8F4
-_0809E45A:
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x13
- bl sub_80018D8
-_0809E464:
- adds r0, r7, 0
- adds r0, 0x4C
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r5, r0, 0
- cmp r1, 0
- bne _0809E4B4
- add r0, sp, 0x128
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E480
- b _0809E9D6
-_0809E480:
- add r0, sp, 0x128
- ldr r1, [r0]
- cmp r1, 0
- blt _0809E4AA
- ldrb r0, [r6]
- cmp r0, 0x4
- bne _0809E49A
- lsls r0, r1, 16
- asrs r0, 16
- bl sub_80A26B8
- lsls r0, 16
- b _0809E49C
-_0809E49A:
- lsls r0, r1, 16
-_0809E49C:
- asrs r2, r0, 16
- movs r0, 0
- movs r1, 0x13
- bl sub_80018D8
- movs r0, 0x1
- b _0809E4AC
-_0809E4AA:
- ldr r0, _0809E4B0
-_0809E4AC:
- strh r0, [r5]
- b _0809E8CE
- .align 2, 0
-_0809E4B0: .4byte 0x0000ffff
-_0809E4B4:
- adds r0, r7, 0
- adds r0, 0x4C
- movs r3, 0
- ldrsh r1, [r0, r3]
- adds r5, r0, 0
- cmp r1, 0x1
- beq _0809E4C4
- b _0809E5B8
-_0809E4C4:
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r6, r0, 16
- add r4, sp, 0x18
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80990EC
- lsls r0, 24
- cmp r0, 0
- beq _0809E580
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8099220
- movs r0, 0x6
- bl sub_80023E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4]
- ldr r4, _0809E51C
- ldr r2, [r4]
- movs r1, 0
- str r1, [sp]
- bl sub_809034C
- adds r1, r0, 0
- ldr r0, _0809E520
- str r1, [r0]
- cmp r1, 0x1
- beq _0809E586
- cmp r1, 0x1
- bcc _0809E580
- cmp r1, 0x2
- bne _0809E5AE
- strh r1, [r5]
- ldr r2, [r4]
- movs r0, 0x9
- b _0809E58E
- .align 2, 0
-_0809E51C: .4byte gUnknown_203B4B0
-_0809E520: .4byte gUnknown_2039DA4
-_0809E524:
- adds r0, r7, 0
- adds r0, 0x4C
- movs r4, 0
- ldrsh r6, [r0, r4]
- adds r5, r0, 0
- cmp r6, 0x1
- bne _0809E5B8
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- adds r4, r0, 0
- movs r0, 0x6
- bl sub_80023E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x4]
- ldr r4, _0809E578
- ldr r2, [r4]
- str r6, [sp]
- movs r1, 0
- bl sub_809034C
- adds r1, r0, 0
- ldr r0, _0809E57C
- str r1, [r0]
- cmp r1, 0x1
- beq _0809E586
- cmp r1, 0x1
- bcc _0809E580
- cmp r1, 0x2
- bne _0809E5AE
- strh r1, [r5]
- ldr r2, [r4]
- movs r0, 0x9
- b _0809E58E
- .align 2, 0
-_0809E578: .4byte gUnknown_203B4B0
-_0809E57C: .4byte gUnknown_2039DA4
-_0809E580:
- movs r0, 0x3
- strh r0, [r5]
- b _0809E9CC
-_0809E586:
- movs r0, 0x4
- strh r0, [r5]
- ldr r2, [r4]
- movs r0, 0xA
-_0809E58E:
- movs r1, 0x1
- bl sub_809B1C0
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_809D8EC
- lsls r0, 24
- cmp r0, 0
- bne _0809E5A4
- b _0809E9CC
-_0809E5A4:
- movs r0, 0
- movs r1, 0xB
- bl sub_80A87AC
- b _0809E9CC
-_0809E5AE:
- ldr r0, _0809E5B4
- strh r0, [r5]
- b _0809E9CC
- .align 2, 0
-_0809E5B4: .4byte 0x0000ffff
-_0809E5B8:
- movs r6, 0
- ldrsh r2, [r5, r6]
- cmp r2, 0x2
- bne _0809E5DA
- add r0, sp, 0x12C
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E5CE
- b _0809E9D6
-_0809E5CE:
- add r0, sp, 0x12C
- ldr r0, [r0]
- cmp r0, 0
- beq _0809E626
- movs r0, 0x3
- b _0809E628
-_0809E5DA:
- cmp r2, 0x3
- bne _0809E614
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, [r0]
- str r0, [r1]
- strh r2, [r7, 0x26]
- add r0, sp, 0x4
- movs r6, 0x2
- ldrsh r0, [r0, r6]
- bl sub_80999FC
- movs r0, 0x70
- movs r1, 0
- bl GroundMap_ExecuteEvent
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bne _0809E608
- b _0809E9CC
-_0809E608:
- adds r0, r7, 0
- movs r1, 0x1
-_0809E60C:
- bl sub_80A2460
- str r0, [r7, 0x28]
- b _0809E9CC
-_0809E614:
- cmp r2, 0x4
- bne _0809E63C
- add r0, sp, 0x130
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E626
- b _0809E9D6
-_0809E626:
- ldr r0, _0809E638
-_0809E628:
- strh r0, [r5]
- movs r0, 0
- movs r1, 0
- bl sub_80A87AC
- bl sub_809A76C
- b _0809E9CC
- .align 2, 0
-_0809E638: .4byte 0x0000ffff
-_0809E63C:
- movs r0, 0
- movs r1, 0
- bl sub_8099220
- movs r4, 0x1
- negs r4, r4
- movs r0, 0
- movs r1, 0x13
- adds r2, r4, 0
- bl sub_80018D8
- adds r0, r7, 0
- adds r1, r4, 0
- b _0809E8EE
-_0809E658:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- add r0, sp, 0x134
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E672
- b _0809E9D6
-_0809E672:
- add r0, sp, 0x134
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809E6A4
- ldr r0, [sp, 0x8]
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E6A4
- adds r0, r1, 0
- bl sub_80A8D54
- movs r2, 0
- adds r3, r0, 0
- adds r3, 0x4C
- ldr r4, _0809E6B0
-_0809E696:
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x9
- ble _0809E696
-_0809E6A4:
- add r0, sp, 0x134
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80A2460
- b _0809E8C8
- .align 2, 0
-_0809E6B0: .4byte gUnknown_2039D98
-_0809E6B4:
- add r0, sp, 0x138
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E6C2
- b _0809E9D6
-_0809E6C2:
- add r4, sp, 0x138
- ldr r0, [r4]
- cmp r0, 0x1
- bne _0809E6D0
- ldr r0, _0809E6DC
- bl sub_80920EC
-_0809E6D0:
- ldr r1, [r4]
- adds r0, r7, 0
- bl sub_80A2460
- b _0809E8C8
- .align 2, 0
-_0809E6DC: .4byte gUnknown_2039D98
-_0809E6E0:
- movs r1, 0x2
- add r0, sp, 0x13C
- str r1, [r0]
- b _0809E74A
-_0809E6E8:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r0, [r0]
- str r0, [r1]
- ldr r5, [sp, 0x10]
- add r0, sp, 0x13C
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E704
- b _0809E9D6
-_0809E704:
- add r0, sp, 0x13C
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809E74A
- add r4, sp, 0x18
- ldr r0, _0809E758
- adds r3, r4, 0
- movs r2, 0
- mov r1, sp
- adds r1, 0x27
-_0809E718:
- strb r2, [r1]
- subs r1, 0x1
- cmp r1, r3
- bge _0809E718
- adds r1, r4, 0
- bl sub_80922F4
- movs r2, 0
- ldrb r0, [r4]
- ldrb r3, [r5]
- cmp r0, r3
- bne _0809E6E0
- cmp r0, 0
- beq _0809E74A
-_0809E734:
- adds r2, 0x1
- cmp r2, 0xF
- bgt _0809E74A
- adds r0, r4, r2
- adds r1, r5, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _0809E6E0
- cmp r0, 0
- bne _0809E734
-_0809E74A:
- add r0, sp, 0x13C
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80A2460
- b _0809E8C8
- .align 2, 0
-_0809E758: .4byte gUnknown_2039D98
-_0809E75C:
- adds r2, r7, 0
- adds r2, 0x50
- ldrh r3, [r2]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r0, 0
- bne _0809E76C
- b _0809E872
-_0809E76C:
- add r4, sp, 0xA0
- adds r0, r4, 0
- bl sub_809AFFC
- lsls r0, 24
- cmp r0, 0
- bne _0809E77C
- b _0809E9D6
-_0809E77C:
- ldrb r0, [r4]
- cmp r0, 0
- bne _0809E784
- b _0809E8CA
-_0809E784:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
- add r0, sp, 0x4
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- b _0809E8C2
-_0809E798:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r0, [r0]
- str r0, [r1]
- adds r2, r7, 0
- adds r2, 0x50
- movs r3, 0
- ldrsh r0, [r2, r3]
- adds r4, r2, 0
- cmp r0, 0
- bne _0809E84C
- movs r3, 0
- adds r0, r7, 0
- adds r0, 0x4C
- movs r5, 0
- ldrsh r2, [r0, r5]
- adds r5, r0, 0
- cmp r2, 0
- bge _0809E7CC
- ldr r0, [r7, 0x28]
- ldrb r0, [r0]
- cmp r0, 0xD1
- beq _0809E812
- b _0809E8F4
-_0809E7CC:
- ldr r1, [r7, 0x28]
- ldrb r0, [r1]
- cmp r0, 0xD0
- bne _0809E7F8
- movs r6, 0x2
- ldrsh r0, [r1, r6]
- cmp r0, r2
- beq _0809E812
-_0809E7DC:
- ldr r0, [r7, 0x28]
- adds r1, r0, 0
- adds r1, 0x10
- str r1, [r7, 0x28]
- ldrb r0, [r0, 0x10]
- cmp r0, 0xD0
- bne _0809E7F8
- movs r0, 0x2
- ldrsh r1, [r1, r0]
- movs r2, 0
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _0809E7DC
- movs r3, 0x1
-_0809E7F8:
- cmp r3, 0
- bne _0809E812
- ldr r1, [r7, 0x28]
- ldrb r0, [r1]
- cmp r0, 0xD1
- bne _0809E8F4
-_0809E804:
- adds r0, r1, 0
- adds r1, 0x10
- str r1, [r7, 0x28]
- ldrb r0, [r0, 0x10]
- cmp r0, 0xD1
- beq _0809E804
- b _0809E8F4
-_0809E812:
- add r0, sp, 0x4
- ldrb r0, [r0, 0x1]
- ldr r1, [sp, 0x8]
- lsls r1, 16
- asrs r1, 16
- ldr r2, [r7, 0x28]
- ldr r2, [r2, 0xC]
- bl sub_809AE90
- lsls r0, 24
- cmp r0, 0
- beq _0809E844
- movs r0, 0
- movs r1, 0xA
- bl sub_80A87AC
- adds r0, r7, 0
- movs r1, 0
- bl sub_809D8EC
- lsls r0, 24
- cmp r0, 0
- beq _0809E844
- movs r0, 0x1
- strh r0, [r4]
-_0809E844:
- ldr r0, [r7, 0x28]
- adds r0, 0x10
- str r0, [r7, 0x28]
- b _0809E9CC
-_0809E84C:
- adds r0, r7, 0
- adds r0, 0x46
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E85E
- b _0809E9D6
-_0809E85E:
- movs r0, 0
- strh r0, [r2]
- b _0809E8D0
-_0809E864:
- adds r2, r7, 0
- adds r2, 0x50
- ldrh r3, [r2]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r0, 0
- bne _0809E88A
-_0809E872:
- adds r0, r7, 0
- adds r0, 0x46
- movs r5, 0
- ldrsh r1, [r0, r5]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E884
- b _0809E9D6
-_0809E884:
- adds r0, r3, 0x1
- strh r0, [r2]
- b _0809E9CC
-_0809E88A:
- add r0, sp, 0x140
- bl sub_809B18C
- lsls r0, 24
- cmp r0, 0
- bne _0809E898
- b _0809E9D6
-_0809E898:
- add r0, sp, 0x140
- ldr r3, [r0]
- cmp r3, 0
- ble _0809E8CA
- adds r0, r7, 0
- adds r0, 0x4C
- movs r6, 0
- ldrsh r2, [r0, r6]
- ldr r1, [r7, 0x40]
- lsls r0, r3, 4
- lsls r2, 4
- adds r2, r1
- add r1, sp, 0x4
- adds r0, r2
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- add r0, sp, 0x4
- movs r5, 0x2
- ldrsh r1, [r0, r5]
-_0809E8C2:
- adds r0, r7, 0
- bl sub_80A242C
-_0809E8C8:
- str r0, [r7, 0x28]
-_0809E8CA:
- movs r0, 0x3
- strh r0, [r7, 0x26]
-_0809E8CE:
- movs r0, 0
-_0809E8D0:
- movs r1, 0
- bl sub_80A87AC
- b _0809E9CC
-_0809E8D8:
- adds r0, r7, 0
- adds r0, 0x46
- movs r6, 0
- ldrsh r1, [r0, r6]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0809E9D6
- ldr r0, _0809E8FC
- ldr r1, [r0, 0x4]
-_0809E8EC:
- adds r0, r7, 0
-_0809E8EE:
- bl sub_80A2460
- str r0, [r7, 0x28]
-_0809E8F4:
- movs r0, 0x3
- strh r0, [r7, 0x26]
- b _0809E9CC
- .align 2, 0
-_0809E8FC: .4byte gUnknown_2039B48
-_0809E900:
- adds r0, r7, 0
- bl ExecuteScriptCommand
- strh r0, [r7, 0x26]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bhi _0809E9BC
- lsls r0, 2
- ldr r1, _0809E91C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809E91C: .4byte _0809E920
- .align 2, 0
-_0809E920:
- .4byte _0809E934
- .4byte _0809E9B8
- .4byte _0809E9BC
- .4byte _0809E9D6
- .4byte _0809E9B4
-_0809E934:
- adds r0, r7, 0
- adds r0, 0x86
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0809E9AA
- adds r4, r7, 0
- adds r4, 0x84
- adds r0, r7, 0
- adds r0, 0x24
- adds r1, r4, 0
- movs r2, 0x60
- bl memcpy
- ldr r2, [r7]
- ldr r0, [r2, 0x2C]
- cmp r0, 0
- beq _0809E98E
- adds r5, r7, 0
- adds r5, 0x4A
- movs r1, 0
- ldrsb r1, [r5, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E98E
- ldr r0, [r7, 0x4]
- add r1, sp, 0x144
- ldr r2, [r2, 0x18]
- bl _call_via_r2
- add r0, sp, 0x144
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 3
- ands r0, r1
- cmp r0, 0
- beq _0809E98E
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- movs r1, 0
- ldrsb r1, [r5, r1]
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
-_0809E98E:
- ldr r0, [r7]
- ldr r2, [r0, 0x30]
- cmp r2, 0
- beq _0809E9A2
- ldr r0, [r7, 0x4]
- adds r1, r7, 0
- adds r1, 0x48
- ldrh r1, [r1]
- bl _call_via_r2
-_0809E9A2:
- adds r0, r4, 0
- bl sub_809D568
- b _0809E9D6
-_0809E9AA:
- adds r0, r7, 0
- adds r0, 0x24
- bl sub_809D568
- b _0809E9D6
-_0809E9B4:
- movs r0, 0x4
- b _0809EABA
-_0809E9B8:
- movs r0, 0x1
- b _0809EABA
-_0809E9BC:
- adds r1, r7, 0
- adds r1, 0x50
- movs r0, 0
- strh r0, [r1]
- b _0809E9CC
-_0809E9C6:
- movs r2, 0x26
- ldrsh r0, [r7, r2]
- b _0809EABA
-_0809E9CC:
- movs r3, 0x1
- cmp r3, 0
- beq _0809E9D6
- bl _0809DA8A
-_0809E9D6:
- movs r0, 0x3
- b _0809EABA
-_0809E9DA:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r4, sp, 0xCC
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- add r5, sp, 0xD4
- adds r1, r7, 0
- adds r1, 0x58
- adds r2, r7, 0
- adds r2, 0x60
- mov r6, r8
- movs r0, 0
- ldrsh r6, [r6, r0]
- mov r9, r6
- adds r6, r7, 0
- adds r6, 0x50
- movs r3, 0
- ldrsh r0, [r6, r3]
- str r0, [sp]
- adds r0, r5, 0
- mov r3, r9
- bl sub_8002934
- ldr r1, [r5]
- ldr r0, [r4]
- subs r1, r0
- add r0, sp, 0xDC
- str r1, [r0]
- ldr r1, [r5, 0x4]
- ldr r2, [r4, 0x4]
- subs r1, r2
- str r1, [r0, 0x4]
- bl sub_8002C60
- lsls r0, 24
- adds r2, r7, 0
- adds r2, 0x4A
- asrs r1, r0, 24
- lsrs r0, 24
- strb r0, [r2]
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- movs r1, 0x80
- lsls r1, 5
- ldr r2, [r2, 0x30]
- bl _call_via_r2
- mov r4, r8
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- b _0809E9D6
-_0809EA62:
- add r5, sp, 0xC4
- adds r1, r7, 0
- adds r1, 0x58
- adds r2, r7, 0
- adds r2, 0x60
- movs r3, 0
- ldrsh r0, [r6, r3]
- mov r8, r0
- adds r4, r7, 0
- adds r4, 0x50
- movs r3, 0
- ldrsh r0, [r4, r3]
- str r0, [sp]
- adds r0, r5, 0
- mov r3, r8
- bl sub_8002934
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- movs r1, 0x80
- lsls r1, 5
- ldr r2, [r2, 0x30]
- bl _call_via_r2
- ldrh r0, [r6]
- subs r0, 0x1
- strh r0, [r6]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0809E9D6
-_0809EAAC:
- subs r0, 0x1
- strh r0, [r2]
- b _0809E9D6
-_0809EAB2:
- subs r0, r2, 0x1
- strh r0, [r1]
- b _0809E9D6
-_0809EAB8:
- movs r0, 0
-_0809EABA:
- add sp, 0x148
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end HandleAction
-
- thumb_func_start ExecuteScriptCommand
-ExecuteScriptCommand:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1BC
- mov r9, r0
- movs r0, 0x24
- add r0, r9
- mov r10, r0
-_0809EAE0:
- mov r1, r10
- ldr r2, [r1, 0x4]
- str r2, [r1, 0x1C]
- add r1, sp, 0x8
- adds r0, r2, 0
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, [r0]
- str r0, [r1]
- adds r2, 0x10
- mov r0, r10
- str r2, [r0, 0x4]
- add r0, sp, 0x8
- ldrb r0, [r0]
- mov r1, r10
- adds r1, 0x20
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- adds r2, r1, 0
- cmp r0, 0xF5
- bhi _0809EAE0
- lsls r0, 2
- ldr r1, _0809EB18
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809EB18: .4byte _0809EB1C
- .align 2, 0
-_0809EB1C:
- .4byte _0809EEF4
- .4byte _0809EF40
- .4byte _0809EFA2
- .4byte _0809EFD6
- .4byte _0809F064
- .4byte _0809F02A
- .4byte _0809F06C
- .4byte _0809F0D0
- .4byte _0809F0D0
- .4byte _0809F1FC
- .4byte _0809F2C8
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F42A
- .4byte _0809F432
- .4byte _0809F43A
- .4byte _0809F442
- .4byte _0809F4FE
- .4byte _0809F5BE
- .4byte _0809F5AE
- .4byte _0809F5C6
- .4byte _0809F5C6
- .4byte _0809F660
- .4byte _0809F6EA
- .4byte _0809F786
- .4byte _0809F830
- .4byte _0809F842
- .4byte _0809F854
- .4byte _0809F872
- .4byte _0809F884
- .4byte _0809F896
- .4byte _0809F896
- .4byte _0809F8E8
- .4byte _0809F8F4
- .4byte _0809F900
- .4byte _0809F90C
- .4byte _0809F93E
- .4byte _0809FAF8
- .4byte _0809FB10
- .4byte _0809F92E
- .4byte _0809F936
- .4byte _0809FB28
- .4byte _0809FB28
- .4byte _0809FB28
- .4byte _0809FB28
- .4byte _0809FB28
- .4byte _0809FB28
- .4byte _0809FB28
- .4byte _0809FBDA
- .4byte _0809FC12
- .4byte _0809FC40
- .4byte _0809FC2E
- .4byte _0809FC46
- .4byte _0809FCA4
- .4byte _0809FCC4
- .4byte _0809EAE0
- .4byte _080A0E3A
- .4byte _0809FCE8
- .4byte _0809FCF0
- .4byte _0809FD0A
- .4byte _0809FD38
- .4byte _0809FD6C
- .4byte _0809FDA0
- .4byte _0809FDA8
- .4byte _0809FDC2
- .4byte _0809FDD4
- .4byte _0809FDE2
- .4byte _0809FDC2
- .4byte _0809FDD4
- .4byte _0809FDE2
- .4byte _0809FE04
- .4byte _0809FE28
- .4byte _0809FE86
- .4byte _0809FEBE
- .4byte _0809FED0
- .4byte _0809FF00
- .4byte _0809FF32
- .4byte _0809FF46
- .4byte _0809FF62
- .4byte _0809FF78
- .4byte _0809FF9A
- .4byte _0809FFBA
- .4byte _0809FFE4
- .4byte _080A0010
- .4byte _080A0064
- .4byte _080A0096
- .4byte _080A010E
- .4byte _080A0186
- .4byte _080A0198
- .4byte _080A01B8
- .4byte _080A01F0
- .4byte _080A0220
- .4byte _080A0250
- .4byte _080A0282
- .4byte _080A0282
- .4byte _080A0560
- .4byte _080A0198
- .4byte _080A01B8
- .4byte _080A01F0
- .4byte _080A0220
- .4byte _080A0250
- .4byte _080A0282
- .4byte _080A0282
- .4byte _080A0560
- .4byte _080A02B2
- .4byte _080A0310
- .4byte _080A0370
- .4byte _080A03F8
- .4byte _080A0462
- .4byte _080A04F2
- .4byte _080A02B2
- .4byte _080A0310
- .4byte _080A0370
- .4byte _080A03F8
- .4byte _080A0462
- .4byte _080A04F2
- .4byte _080A02B2
- .4byte _080A0310
- .4byte _080A0370
- .4byte _080A03F8
- .4byte _080A0462
- .4byte _080A04F2
- .4byte _080A02B2
- .4byte _080A0310
- .4byte _080A0370
- .4byte _080A03F8
- .4byte _080A0462
- .4byte _080A04F2
- .4byte _080A057C
- .4byte _080A05A4
- .4byte _080A05F0
- .4byte _080A060E
- .4byte _080A065C
- .4byte _080A068A
- .4byte _080A068A
- .4byte _080A068A
- .4byte _080A07CA
- .4byte _080A07DC
- .4byte _080A07C4
- .4byte _080A07C4
- .4byte _080A07C4
- .4byte _0809EAE0
- .4byte _080A080C
- .4byte _080A081E
- .4byte _080A086A
- .4byte _080A08BE
- .4byte _080A08CA
- .4byte _080A091E
- .4byte _080A0986
- .4byte _080A0998
- .4byte _080A09EA
- .4byte _080A0A52
- .4byte _080A0A64
- .4byte _080A0AB6
- .4byte _080A0B1E
- .4byte _080A0B30
- .4byte _080A0B42
- .4byte _080A0B54
- .4byte _080A0B6C
- .4byte _080A0B88
- .4byte _080A0BA2
- .4byte _080A0BB4
- .4byte _080A0BDA
- .4byte _080A0BF6
- .4byte _080A0C08
- .4byte _080A0C20
- .4byte _080A0C38
- .4byte _080A0C50
- .4byte _080A0C68
- .4byte _080A0C80
- .4byte _080A0C90
- .4byte _080A0CA2
- .4byte _080A0CC8
- .4byte _080A0CF2
- .4byte _080A0D16
- .4byte _080A0D40
- .4byte _080A0D6A
- .4byte _080A0D7A
- .4byte _080A0D94
- .4byte _080A0DAE
- .4byte _080A0DD6
- .4byte _080A0E08
- .4byte _080A0DE2
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _0809EAE0
- .4byte _0809EAE0
- .4byte _0809EAE0
- .4byte _080A10A0
- .4byte _0809EAE0
- .4byte _0809EAE0
- .4byte _080A10F8
- .4byte _080A10F8
- .4byte _080A10F8
- .4byte _080A10F8
- .4byte _080A10F8
- .4byte _080A10F8
- .4byte _080A10F8
- .4byte _0809EAE0
- .4byte _080A129E
- .4byte _080A12A8
- .4byte _080A12B4
- .4byte _0809F0C4
- .4byte _0809F0C4
- .4byte _0809F0C4
- .4byte _0809F0C4
- .4byte _0809F0C4
- .4byte _0809F0C4
- .4byte _080A12D0
- .4byte _080A12E6
- .4byte _080A12F4
- .4byte _080A1318
- .4byte _080A1324
- .4byte _080A1338
- .4byte _080A1344
- .4byte _080A1368
- .4byte _080A1374
- .4byte _080A13CA
- .4byte _080A13F8
- .4byte _080A1404
- .4byte _080A140C
- .4byte _080A1428
- .4byte _080A142C
- .4byte _0809EAE0
- .4byte _0809EAE0
- .4byte _0809EAE0
- .4byte _0809EAE0
- .4byte _0809EAE0
-_0809EEF4:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r4, r0, 16
- adds r6, r4, 0
- add r0, sp, 0x8
- ldrb r5, [r0, 0x1]
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809EF26
- ldr r1, _0809EF38
- ldr r2, _0809EF3C
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r3, [r0]
- str r5, [sp]
- movs r0, 0x1
- adds r2, r4, 0
- bl Log
-_0809EF26:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r2, [r0, r1]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8098D1C
- b _0809EAE0
- .align 2, 0
-_0809EF38: .4byte gUnknown_81165D4
-_0809EF3C: .4byte gUnknown_811BAF4
-_0809EF40:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r4, r0, 16
- movs r5, 0x1
- negs r5, r5
- cmp r4, r5
- bne _0809EF5A
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r4, r0, 16
-_0809EF5A:
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809EF70
- ldr r1, _0809EF90
- movs r0, 0x1
- adds r2, r4, 0
- bl Log
-_0809EF70:
- cmp r4, r5
- beq _0809EF94
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- adds r0, r4, 0
- bl sub_8098E18
- mov r0, r9
- movs r1, 0x1
- bl sub_80A2460
- mov r3, r9
- str r0, [r3, 0x28]
- b _0809EAE0
- .align 2, 0
-_0809EF90: .4byte gUnknown_81165F4
-_0809EF94:
- mov r0, r9
- movs r1, 0
- bl sub_80A2460
- mov r4, r9
- str r0, [r4, 0x28]
- b _0809EAE0
-_0809EFA2:
- ldr r0, [sp, 0xC]
- bl sub_8021700
- lsls r0, 24
- cmp r0, 0
- beq _0809EFBE
- movs r1, 0x1
- negs r1, r1
- mov r0, r9
- bl sub_80A2460
- mov r5, r9
- str r0, [r5, 0x28]
- b _0809EAE0
-_0809EFBE:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_8098D80
- mov r0, r9
- movs r1, 0
- bl sub_80A2460
- mov r2, r9
- str r0, [r2, 0x28]
- b _0809EAE0
-_0809EFD6:
- ldr r1, [sp, 0xC]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0809F00C
- bl sub_802FCF0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0809F0BC
- movs r0, 0xC
- movs r1, 0
- movs r2, 0
- bl sub_809B1C0
- lsls r0, 24
- cmp r0, 0
- beq _0809F0BC
- movs r0, 0
- movs r1, 0xB
- bl sub_80A87AC
- mov r0, r9
- adds r0, 0x4C
- strh r4, [r0]
- b _0809F0C4
-_0809F00C:
- lsls r0, r1, 16
- asrs r0, 16
- bl sub_80A26B8
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- movs r0, 0
- movs r1, 0x12
- bl sub_80018D8
- mov r1, r9
- adds r1, 0x4C
- movs r0, 0x1
- b _0809F0C2
-_0809F02A:
- ldr r2, [sp, 0xC]
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bne _0809F054
- movs r0, 0x24
- movs r1, 0
- movs r2, 0
- bl sub_809B1C0
- lsls r0, 24
- cmp r0, 0
- beq _0809F0BC
- movs r0, 0
- movs r1, 0xB
- bl sub_80A87AC
- mov r1, r9
- adds r1, 0x4C
- movs r0, 0
- b _0809F0C2
-_0809F054:
- movs r0, 0
- movs r1, 0x13
- bl sub_80018D8
- mov r1, r9
- adds r1, 0x4C
- movs r0, 0x1
- b _0809F0C2
-_0809F064:
- mov r1, r9
- adds r1, 0x4C
- movs r0, 0x1
- b _0809F0C2
-_0809F06C:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r4, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _0809F088
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r4, r0, 16
- b _0809F092
-_0809F088:
- movs r0, 0
- movs r1, 0x13
- adds r2, r4, 0
- bl sub_80018D8
-_0809F092:
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809F0A8
- ldr r1, _0809F0B8
- movs r0, 0x1
- adds r2, r4, 0
- bl Log
-_0809F0A8:
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _0809F0BC
- mov r1, r9
- adds r1, 0x4C
- movs r0, 0x1
- b _0809F0C2
- .align 2, 0
-_0809F0B8: .4byte gUnknown_811660C
-_0809F0BC:
- mov r1, r9
- adds r1, 0x4C
- ldr r0, _0809F0CC
-_0809F0C2:
- strh r0, [r1]
-_0809F0C4:
- movs r0, 0x2
- bl _080A142E
- .align 2, 0
-_0809F0CC: .4byte 0x0000ffff
-_0809F0D0:
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _0809F130
- ldr r5, _0809F11C
- ldr r0, [sp, 0xC]
- strh r0, [r5]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A4D7C
- ldr r4, _0809F120
- strh r0, [r4]
- ldr r1, _0809F124
- strh r0, [r1]
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809F16A
- ldr r1, _0809F128
- movs r3, 0
- ldrsh r2, [r5, r3]
- movs r5, 0
- ldrsh r3, [r4, r5]
- ldr r4, _0809F12C
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, 0x8
- adds r0, r4
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x1
- bl Log
- b _0809F16A
- .align 2, 0
-_0809F11C: .4byte gUnknown_2039A30
-_0809F120: .4byte gUnknown_2039A32
-_0809F124: .4byte gUnknown_2039A34
-_0809F128: .4byte gUnknown_8116628
-_0809F12C: .4byte gUnknown_811BAF4
-_0809F130:
- ldr r5, _0809F1E8
- ldr r4, _0809F1EC
- ldr r1, [sp, 0xC]
- strh r1, [r4]
- strh r1, [r5]
- ldr r0, _0809F1F0
- strh r1, [r0]
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809F16A
- ldr r1, _0809F1F4
- movs r0, 0
- ldrsh r2, [r4, r0]
- movs r4, 0
- ldrsh r3, [r5, r4]
- ldr r4, _0809F1F8
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, 0x8
- adds r0, r4
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x1
- bl Log
-_0809F16A:
- ldr r5, _0809F1EC
- movs r0, 0
- ldrsh r2, [r5, r0]
- movs r0, 0
- movs r1, 0x10
- bl sub_80018D8
- ldr r6, _0809F1F8
- movs r2, 0
- ldrsh r1, [r5, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- movs r0, 0
- movs r1, 0x11
- bl sub_80018D8
- ldr r4, _0809F1E8
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl GroundSprite_Reset
- bl sub_809D0BC
- bl sub_80AD9D0
- bl sub_80A786C
- bl sub_80ABB98
- bl sub_80ACBD4
- movs r2, 0
- ldrsh r0, [r5, r2]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- bl sub_809C770
- movs r5, 0
- ldrsh r0, [r4, r5]
- bl GroundMap_Select
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl GroundLink_Select
- movs r2, 0
- ldrsh r0, [r4, r2]
- movs r1, 0
- movs r2, 0
- bl GroundLives_Select
- movs r3, 0
- ldrsh r0, [r4, r3]
- b _0809F2A0
- .align 2, 0
-_0809F1E8: .4byte gUnknown_2039A32
-_0809F1EC: .4byte gUnknown_2039A30
-_0809F1F0: .4byte gUnknown_2039A34
-_0809F1F4: .4byte gUnknown_8116644
-_0809F1F8: .4byte gUnknown_811BAF4
-_0809F1FC:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- adds r6, r0, 0
- ldr r1, _0809F2AC
- ldr r5, _0809F2B0
- ldr r4, _0809F2B4
- ldr r0, [sp, 0x10]
- strh r0, [r4]
- strh r0, [r5]
- strh r0, [r1]
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809F242
- ldr r1, _0809F2B8
- movs r0, 0
- ldrsh r2, [r4, r0]
- movs r4, 0
- ldrsh r3, [r5, r4]
- ldr r4, _0809F2BC
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, 0x8
- adds r0, r4
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x1
- bl Log
-_0809F242:
- movs r1, 0
- ldrsh r0, [r5, r1]
- bl GroundSprite_Reset
- bl sub_809D0BC
- bl sub_80AD9D0
- bl sub_80A786C
- bl sub_80ABB98
- bl sub_80ACBD4
- ldrb r2, [r6, 0xC]
- ldr r1, _0809F2C0
- ldr r0, [sp, 0x58]
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x58]
- add r1, sp, 0x8
- ldrh r2, [r1, 0x2]
- lsls r2, 24
- lsrs r2, 16
- ldr r1, _0809F2C4
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x58]
- movs r2, 0
- ldrsh r0, [r5, r2]
- add r1, sp, 0x58
- add r2, sp, 0x8
- ldrb r2, [r2, 0x1]
- bl GroundMap_SelectDungeon
- movs r3, 0
- ldrsh r0, [r5, r3]
- bl GroundLink_Select
- movs r4, 0
- ldrsh r0, [r5, r4]
- movs r1, 0
- movs r2, 0
- bl GroundLives_Select
- movs r1, 0
- ldrsh r0, [r5, r1]
-_0809F2A0:
- movs r1, 0
- movs r2, 0
- bl GroundObject_Select
- b _0809EAE0
- .align 2, 0
-_0809F2AC: .4byte gUnknown_2039A34
-_0809F2B0: .4byte gUnknown_2039A32
-_0809F2B4: .4byte gUnknown_2039A30
-_0809F2B8: .4byte gUnknown_8116664
-_0809F2BC: .4byte gUnknown_811BAF4
-_0809F2C0: .4byte 0xffffff00
-_0809F2C4: .4byte 0xffff00ff
-_0809F2C8:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl GroundWeather_Select
- bl _0809EAE0
-_0809F2D6:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- blt _0809F2E8
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- b _0809F2EE
-_0809F2E8:
- mov r3, r10
- movs r4, 0xC
- ldrsh r0, [r3, r4]
-_0809F2EE:
- adds r6, r0, 0
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- cmp r0, 0
- blt _0809F302
- add r0, sp, 0x8
- movs r1, 0x1
- ldrsb r1, [r0, r1]
- b _0809F308
-_0809F302:
- mov r5, r10
- movs r1, 0xE
- ldrsb r1, [r5, r1]
-_0809F308:
- adds r5, r1, 0
- add r0, sp, 0x8
- ldrb r0, [r0]
- subs r0, 0xC
- cmp r0, 0x9
- bls _0809F318
- bl _0809EAE0
-_0809F318:
- lsls r0, 2
- ldr r1, _0809F324
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809F324: .4byte _0809F328
- .align 2, 0
-_0809F328:
- .4byte _0809F350
- .4byte _0809F380
- .4byte _0809F398
- .4byte _0809F3B0
- .4byte _0809F3C8
- .4byte _0809F3E0
- .4byte _0809F3FA
- .4byte _0809F406
- .4byte _0809F412
- .4byte _0809F41E
-_0809F350:
- ldr r4, _0809F37C
- movs r1, 0
- ldrsh r0, [r4, r1]
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundLives_Select
- movs r2, 0
- ldrsh r0, [r4, r2]
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundObject_Select
- movs r3, 0
- ldrsh r0, [r4, r3]
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundEffect_Select
- movs r1, 0
- ldrsh r0, [r4, r1]
- b _0809F3CE
- .align 2, 0
-_0809F37C: .4byte gUnknown_2039A32
-_0809F380:
- ldr r0, _0809F394
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundLives_Select
- bl _0809EAE0
- .align 2, 0
-_0809F394: .4byte gUnknown_2039A32
-_0809F398:
- ldr r0, _0809F3AC
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundObject_Select
- bl _0809EAE0
- .align 2, 0
-_0809F3AC: .4byte gUnknown_2039A32
-_0809F3B0:
- ldr r0, _0809F3C4
- movs r4, 0
- ldrsh r0, [r0, r4]
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundEffect_Select
- bl _0809EAE0
- .align 2, 0
-_0809F3C4: .4byte gUnknown_2039A32
-_0809F3C8:
- ldr r0, _0809F3DC
- movs r1, 0
- ldrsh r0, [r0, r1]
-_0809F3CE:
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundEvent_Select
- bl _0809EAE0
- .align 2, 0
-_0809F3DC: .4byte gUnknown_2039A32
-_0809F3E0:
- adds r0, r6, 0
- adds r1, r5, 0
- bl GroundLives_Cancel
- adds r0, r6, 0
- adds r1, r5, 0
- bl GroundObject_Cancel
- adds r0, r6, 0
- adds r1, r5, 0
- bl GroundEffect_Cancel
- b _0809F41E
-_0809F3FA:
- adds r0, r6, 0
- adds r1, r5, 0
- bl GroundLives_Cancel
- bl _0809EAE0
-_0809F406:
- adds r0, r6, 0
- adds r1, r5, 0
- bl GroundObject_Cancel
- bl _0809EAE0
-_0809F412:
- adds r0, r6, 0
- adds r1, r5, 0
- bl GroundEffect_Cancel
- bl _0809EAE0
-_0809F41E:
- adds r0, r6, 0
- adds r1, r5, 0
- bl GroundEvent_Cancel
- bl _0809EAE0
-_0809F42A:
- bl sub_80A79FC
- bl _0809EAE0
-_0809F432:
- bl GroundObject_CancelBlank
- bl _0809EAE0
-_0809F43A:
- bl GroundEffect_CancelBlank
- bl _0809EAE0
-_0809F442:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- add r4, sp, 0x18
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- add r6, sp, 0x1C
- ldr r0, [sp, 0x10]
- add r5, sp, 0x34
- movs r2, 0
- strb r0, [r5]
- ldrb r1, [r4]
- mov r0, sp
- adds r0, 0x35
- strb r1, [r0]
- adds r0, 0x1
- movs r1, 0x1
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- str r2, [sp, 0x38]
- add r4, sp, 0x3C
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- bl memset
- ldr r2, _0809F4AC
- ldr r1, [sp, 0xC]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- str r0, [r4, 0xC]
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x18
- bl memcpy
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- adds r1, r6, 0
- cmp r0, 0
- blt _0809F4B0
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- b _0809F4B6
- .align 2, 0
-_0809F4AC: .4byte gUnknown_812F1F8
-_0809F4B0:
- mov r4, r10
- movs r5, 0xC
- ldrsh r2, [r4, r5]
-_0809F4B6:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- cmp r0, 0
- blt _0809F4C8
- add r0, sp, 0x8
- movs r3, 0x1
- ldrsb r3, [r0, r3]
- b _0809F4CE
-_0809F4C8:
- mov r0, r10
- movs r3, 0xE
- ldrsb r3, [r0, r3]
-_0809F4CE:
- movs r0, 0x1
- negs r0, r0
- bl GroundObject_Add
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0
- bge _0809F4E2
- bl _0809EAE0
-_0809F4E2:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- add r4, sp, 0x5C
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80AC49C
- bl _0809EAE0
-_0809F4FE:
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- add r4, sp, 0x4C
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- add r5, sp, 0x1C
- ldr r0, [sp, 0x10]
- add r1, sp, 0x28
- movs r3, 0
- strb r0, [r1]
- ldrb r2, [r4]
- mov r0, sp
- adds r0, 0x29
- strb r2, [r0]
- adds r0, 0x1
- movs r2, 0x1
- strb r2, [r0]
- adds r0, 0x1
- strb r2, [r0]
- str r3, [sp, 0x2C]
- ldr r3, _0809F55C
- ldr r2, [sp, 0xC]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r3, 0x8
- adds r0, r3
- ldr r0, [r0]
- str r0, [sp, 0x30]
- adds r0, r5, 0
- movs r2, 0xC
- bl memcpy
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- adds r1, r5, 0
- cmp r0, 0
- blt _0809F560
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- b _0809F566
- .align 2, 0
-_0809F55C: .4byte gUnknown_812F1F8
-_0809F560:
- mov r5, r10
- movs r0, 0xC
- ldrsh r2, [r5, r0]
-_0809F566:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- cmp r0, 0
- blt _0809F578
- add r0, sp, 0x8
- movs r3, 0x1
- ldrsb r3, [r0, r3]
- b _0809F57E
-_0809F578:
- mov r4, r10
- movs r3, 0xE
- ldrsb r3, [r4, r3]
-_0809F57E:
- movs r0, 0x1
- negs r0, r0
- bl GroundEffect_Add
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0
- bge _0809F592
- bl _0809EAE0
-_0809F592:
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- add r4, sp, 0x64
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80AD3B4
- bl _0809EAE0
-_0809F5AE:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- movs r1, 0x1
- bl GroundMap_ExecuteEvent
- bl _0809EAE0
-_0809F5BE:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- b _0809F712
-_0809F5C6:
- ldr r1, [sp, 0xC]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809F5D6
- lsls r0, r1, 16
- asrs r0, 16
- b _0809F5DC
-_0809F5D6:
- ldr r0, _0809F5F0
- movs r3, 0
- ldrsh r0, [r0, r3]
-_0809F5DC:
- adds r4, r0, 0
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- blt _0809F5F4
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r0, r5]
- b _0809F5FA
- .align 2, 0
-_0809F5F0: .4byte gUnknown_2039A30
-_0809F5F4:
- mov r0, r10
- movs r2, 0xC
- ldrsh r1, [r0, r2]
-_0809F5FA:
- adds r6, r1, 0
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- cmp r0, 0
- blt _0809F60E
- add r0, sp, 0x8
- movs r5, 0x1
- ldrsb r5, [r0, r5]
- b _0809F614
-_0809F60E:
- mov r3, r10
- movs r5, 0xE
- ldrsb r5, [r3, r5]
-_0809F614:
- adds r0, r4, 0
- bl sub_80A4D7C
- lsls r0, 16
- asrs r4, r0, 16
- movs r3, 0
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x1E
- bne _0809F62A
- movs r3, 0x1
-_0809F62A:
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundMap_ExecuteStation
- ldr r1, _0809F65C
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, r4
- bne _0809F642
- bl _0809EAE0
-_0809F642:
- strh r4, [r1]
- bl sub_809D940
- mov r1, r9
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0809F656
- bl _0809EAE0
-_0809F656:
- bl _080A142C
- .align 2, 0
-_0809F65C: .4byte gUnknown_2039A34
-_0809F660:
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2608
- adds r5, r0, 0
- lsls r2, r4, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x30
- bl sub_8001784
- cmp r0, 0
- bne _0809F68A
- movs r3, 0x6
- ldrsh r5, [r5, r3]
- b _0809F68E
-_0809F68A:
- movs r0, 0x8
- ldrsh r5, [r5, r0]
-_0809F68E:
- adds r0, r4, 0
- subs r0, 0x37
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x10
- bls _0809F6DC
- adds r0, r4, 0
- bl sub_80A2750
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _0809F6DC
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _0809F6D8
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809F6C6
- ldr r1, _0809F6D4
- movs r0, 0x1
- adds r2, r4, 0
- bl Log
-_0809F6C6:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8098E18
- bl _0809EAE0
- .align 2, 0
-_0809F6D4: .4byte gUnknown_8116684
-_0809F6D8:
- adds r0, r5, 0
- b _0809F712
-_0809F6DC:
- movs r1, 0x1
- negs r1, r1
- adds r0, r4, 0
- bl sub_8098E18
- bl _0809EAE0
-_0809F6EA:
- mov r1, r9
- movs r2, 0xC
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _0809F71C
- cmp r0, 0x1
- bgt _0809F700
- cmp r0, 0
- beq _0809F70C
- bl _0809EAE0
-_0809F700:
- cmp r0, 0x2
- beq _0809F73E
- cmp r0, 0x3
- beq _0809F762
- bl _0809EAE0
-_0809F70C:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
-_0809F712:
- movs r1, 0
- bl GroundMap_ExecuteEvent
- bl _0809EAE0
-_0809F71C:
- add r4, sp, 0x1C
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- mov r0, r9
- adds r1, r4, 0
- bl sub_809D710
- mov r1, r9
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x8
- adds r2, r4, 0
- bl GroundLives_ExecuteScript
- bl _0809EAE0
-_0809F73E:
- add r4, sp, 0x28
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- mov r0, r9
- adds r1, r4, 0
- bl sub_809D710
- mov r5, r9
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- mov r1, r9
- adds r1, 0x8
- adds r2, r4, 0
- bl GroundObject_ExecuteScript
- bl _0809EAE0
-_0809F762:
- add r4, sp, 0x34
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- mov r0, r9
- adds r1, r4, 0
- bl sub_809D710
- mov r5, r9
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- mov r1, r9
- adds r1, 0x8
- adds r2, r4, 0
- bl GroundEffect_ExecuteScript
- bl _0809EAE0
-_0809F786:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- cmp r0, 0
- bge _0809F79E
- bl _0809EAE0
-_0809F79E:
- add r1, sp, 0x6C
- bl sub_80A8BD8
- ldr r0, [sp, 0x6C]
- movs r1, 0x80
- lsls r1, 2
- ands r0, r1
- cmp r0, 0
- beq _0809F818
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- add r7, sp, 0x70
- ldr r2, [r1, 0xC]
- adds r1, r7, 0
- bl _call_via_r2
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- add r5, sp, 0x78
- ldr r2, [r1, 0x8]
- adds r1, r5, 0
- bl _call_via_r2
- add r6, sp, 0x80
- mov r0, r8
- adds r1, r6, 0
- bl sub_80A8FD8
- add r4, sp, 0x88
- mov r0, r8
- adds r1, r4, 0
- bl sub_80A8F9C
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r7, 0
- adds r3, r5, 0
- bl sub_8002DF0
- lsls r0, 24
- asrs r1, r0, 24
- adds r4, r1, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0809F812
- ldr r3, _0809F82C
- adds r0, r7, 0
- adds r1, r3, 0
- adds r2, r6, 0
- bl sub_8002D54
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, r4
- beq _0809F818
-_0809F812:
- mov r0, r8
- bl sub_80A9090
-_0809F818:
- mov r4, r9
- movs r5, 0xA
- ldrsh r0, [r4, r5]
- mov r1, r8
- bl GroundLives_ExecutePlayerScriptActionLives
- movs r0, 0x3
- bl _080A142E
- .align 2, 0
-_0809F82C: .4byte gUnknown_81164DC
-_0809F830:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_80999E8
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A130C
-_0809F842:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- bl sub_80999FC
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A130C
-_0809F854:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- ldr r1, [sp, 0xC]
- lsls r1, 16
- lsrs r1, 16
- ldr r2, [sp, 0x10]
- lsls r2, 16
- lsrs r2, 16
- bl sub_8099A10
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A130C
-_0809F872:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- bl sub_8099A34
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A130C
-_0809F884:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl sub_8099A48
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A130C
-_0809F896:
- ldr r0, [sp, 0x10]
- asrs r0, 16
- add r1, sp, 0x20
- movs r2, 0
- strb r0, [r1]
- ldr r0, [sp, 0x10]
- asrs r0, 8
- adds r1, 0x1
- strb r0, [r1]
- ldr r1, [sp, 0x10]
- mov r0, sp
- adds r0, 0x22
- strb r1, [r0]
- adds r0, 0x1
- strb r2, [r0]
- ldr r2, [sp, 0x20]
- str r2, [sp, 0x1C]
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x27
- beq _0809F8C6
- cmp r0, 0x28
- beq _0809F8D4
- b _0809F8E0
-_0809F8C6:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- ldr r1, [sp, 0xC]
- bl sub_8099A5C
- b _0809F8E0
-_0809F8D4:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- ldr r1, [sp, 0xC]
- bl sub_8099AFC
-_0809F8E0:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A130C
-_0809F8E8:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- bl sub_809A6E4
- bl _0809EAE0
-_0809F8F4:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- bl sub_809A6F8
- bl _0809EAE0
-_0809F900:
- ldr r0, [sp, 0xC]
- ldr r1, [sp, 0x10]
- bl sub_809A738
- bl _0809EAE0
-_0809F90C:
- bl sub_809A768
- lsls r0, 24
- cmp r0, 0
- bne _0809F91A
- bl _0809EAE0
-_0809F91A:
- movs r0, 0
- movs r1, 0xA
- bl sub_80A87AC
- mov r0, r9
- movs r1, 0
- bl sub_809D8EC
- bl _080A130A
-_0809F92E:
- bl sub_809A76C
- bl _0809EAE0
-_0809F936:
- bl sub_809A7B4
- bl _0809EAE0
-_0809F93E:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- cmp r0, 0xA
- bls _0809F94A
- bl _0809EAE0
-_0809F94A:
- lsls r0, 2
- ldr r1, _0809F954
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809F954: .4byte _0809F958
- .align 2, 0
-_0809F958:
- .4byte _0809F984
- .4byte _0809F992
- .4byte _0809F9A4
- .4byte _0809F9B6
- .4byte _0809F9D8
- .4byte _0809F9EA
- .4byte _0809F9FC
- .4byte _0809FA44
- .4byte _0809FA56
- .4byte _0809FA68
- .4byte _0809FAB0
-_0809F984:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- bl sub_809A83C
- bl _0809EAE0
-_0809F992:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- mov r1, r9
- adds r1, 0x8
- bl sub_80A2500
- bl _0809EAE0
-_0809F9A4:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- mov r1, r9
- adds r1, 0xC
- bl sub_80A2500
- bl _0809EAE0
-_0809F9B6:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- add r1, sp, 0x90
- lsls r0, 16
- movs r2, 0x1
- orrs r0, r2
- str r0, [r1]
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- bl sub_80A2500
- bl _0809EAE0
-_0809F9D8:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- mov r1, r9
- adds r1, 0x8
- bl sub_80A252C
- bl _0809EAE0
-_0809F9EA:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- mov r1, r9
- adds r1, 0xC
- bl sub_80A252C
- bl _0809EAE0
-_0809F9FC:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- add r1, sp, 0x94
- ldrh r2, [r1]
- orrs r2, r0
- str r2, [r1]
- cmp r2, 0
- blt _0809FA30
- ldr r0, _0809FA2C
- ands r2, r0
- movs r0, 0x1
- orrs r2, r0
- str r2, [r1]
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl sub_80A252C
- bl _0809EAE0
- .align 2, 0
-_0809FA2C: .4byte 0xffff0000
-_0809FA30:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- bl sub_80A2584
- bl _0809EAE0
-_0809FA44:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- mov r1, r9
- adds r1, 0x8
- bl sub_80A2558
- bl _0809EAE0
-_0809FA56:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- mov r1, r9
- adds r1, 0xC
- bl sub_80A2558
- bl _0809EAE0
-_0809FA68:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- add r1, sp, 0x98
- ldrh r2, [r1]
- orrs r2, r0
- str r2, [r1]
- cmp r2, 0
- blt _0809FA9C
- ldr r0, _0809FA98
- ands r2, r0
- movs r0, 0x1
- orrs r2, r0
- str r2, [r1]
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- bl sub_80A2558
- bl _0809EAE0
- .align 2, 0
-_0809FA98: .4byte 0xffff0000
-_0809FA9C:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- bl sub_80A2598
- bl _0809EAE0
-_0809FAB0:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2740
- lsls r0, 24
- lsrs r1, r0, 24
- movs r4, 0
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _0809FAD0
- cmp r0, 0x2
- beq _0809FAD4
- b _0809FAD8
-_0809FAD0:
- movs r4, 0x1
- b _0809FAD8
-_0809FAD4:
- movs r4, 0x1
- negs r4, r4
-_0809FAD8:
- adds r0, r1, 0
- bl sub_8090298
- ldr r2, _0809FAF4
- add r1, sp, 0x8
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- lsls r1, 2
- adds r1, r2
- adds r0, r4
- str r0, [r1]
- bl _0809EAE0
- .align 2, 0
-_0809FAF4: .4byte gUnknown_202DE30
-_0809FAF8:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- ldr r1, [sp, 0xC]
- lsls r1, 24
- asrs r1, 24
- add r2, sp, 0x8
- ldrb r2, [r2, 0x1]
- bl sub_809AC7C
- bl _0809EAE0
-_0809FB10:
- ldr r0, [sp, 0xC]
- add r1, sp, 0x9C
- str r0, [r1]
- ldr r0, [sp, 0x10]
- str r0, [r1, 0x4]
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl sub_809ADD8
- bl _0809EAE0
-_0809FB28:
- movs r1, 0
- ldrb r0, [r2]
- subs r0, 0x32
- cmp r0, 0x6
- bhi _0809FBBE
- lsls r0, 2
- ldr r1, _0809FB3C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809FB3C: .4byte _0809FB40
- .align 2, 0
-_0809FB40:
- .4byte _0809FB5C
- .4byte _0809FB6C
- .4byte _0809FB7C
- .4byte _0809FB8C
- .4byte _0809FB9C
- .4byte _0809FBAC
- .4byte _0809FBB4
-_0809FB5C:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- ldr r2, [sp, 0x14]
- movs r0, 0
- bl sub_809AE90
- b _0809FBBA
-_0809FB6C:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- ldr r2, [sp, 0x14]
- movs r0, 0x1
- bl sub_809AE90
- b _0809FBBA
-_0809FB7C:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- ldr r2, [sp, 0x14]
- movs r0, 0x2
- bl sub_809AE90
- b _0809FBBA
-_0809FB8C:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r0, r5]
- ldr r2, [sp, 0x14]
- movs r0, 0x3
- bl sub_809AE90
- b _0809FBBA
-_0809FB9C:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- ldr r2, [sp, 0x14]
- movs r0, 0x4
- bl sub_809AE90
- b _0809FBBA
-_0809FBAC:
- ldr r0, [sp, 0x14]
- bl sub_809AEEC
- b _0809FBBA
-_0809FBB4:
- ldr r0, [sp, 0x14]
- bl sub_809AF2C
-_0809FBBA:
- lsls r0, 24
- lsrs r1, r0, 24
-_0809FBBE:
- cmp r1, 0
- bne _0809FBC6
- bl _0809EAE0
-_0809FBC6:
- movs r0, 0
- movs r1, 0xA
- bl sub_80A87AC
- mov r0, r9
- movs r1, 0
- bl sub_809D8EC
- bl _080A130A
-_0809FBDA:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- ldr r1, [sp, 0x14]
- bl sub_809AF6C
- lsls r0, 24
- cmp r0, 0
- bne _0809FBF0
- bl _0809EAE0
-_0809FBF0:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- bge _0809FBFE
- bl _0809EAE0
-_0809FBFE:
- movs r0, 0
- movs r1, 0xA
- bl sub_80A87AC
- mov r0, r9
- movs r1, 0
- bl sub_809D8EC
- bl _080A130A
-_0809FC12:
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- lsls r2, 16
- asrs r2, 16
- ldr r3, [sp, 0x14]
- bl sub_809AFC8
- bl _080A1280
-_0809FC2E:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- bl sub_809B1D4
- bl _080A1292
-_0809FC40:
- movs r0, 0
- bl _080A0654
-_0809FC46:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809FC90
- adds r0, r1, 0
- bl sub_80A8D54
- cmp r0, 0
- bne _0809FC62
- bl _0809EAE0
-_0809FC62:
- movs r3, 0
- ldr r2, _0809FC8C
- adds r5, r2, 0
- adds r4, r0, 0
- adds r4, 0x4C
-_0809FC6C:
- adds r0, r3, r5
- adds r1, r4, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x9
- ble _0809FC6C
- movs r0, 0
- strb r0, [r2, 0xA]
- movs r0, 0x4
- movs r1, 0
- bl sub_809B1C0
- bl _080A1292
- .align 2, 0
-_0809FC8C: .4byte gUnknown_2039D98
-_0809FC90:
- ldr r2, _0809FCA0
- movs r0, 0x4
- movs r1, 0x1
- bl sub_809B1C0
- bl _080A1292
- .align 2, 0
-_0809FCA0: .4byte gUnknown_2039D98
-_0809FCA4:
- ldr r4, _0809FCC0
- adds r0, r4, 0
- bl sub_80920B8
- movs r0, 0
- strb r0, [r4, 0xA]
- movs r0, 0x5
- movs r1, 0
- adds r2, r4, 0
- bl sub_809B1C0
- bl _080A1292
- .align 2, 0
-_0809FCC0: .4byte gUnknown_2039D98
-_0809FCC4:
- ldr r2, _0809FCE4
- adds r3, r2, 0
- movs r1, 0
- adds r0, r2, 0
- adds r0, 0xB
-_0809FCCE:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r3
- bge _0809FCCE
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
- movs r0, 0x6
- bl sub_809B1C0
- bl _080A1292
- .align 2, 0
-_0809FCE4: .4byte gUnknown_2039D98
-_0809FCE8:
- bl sub_80118A4
- bl _0809EAE0
-_0809FCF0:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- blt _0809FD00
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- b _0809FD02
-_0809FD00:
- movs r0, 0x1E
-_0809FD02:
- bl sub_80118C4
- bl _0809EAE0
-_0809FD0A:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0809FD1E
- ldr r0, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- bl sub_80A25AC
- b _0809FD20
-_0809FD1E:
- ldr r0, [sp, 0xC]
-_0809FD20:
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _0809FD34
- cmp r1, r0
- beq _0809FDA0
- adds r0, r1, 0
- bl sub_80118F0
- bl _0809EAE0
- .align 2, 0
-_0809FD34: .4byte 0x000003e7
-_0809FD38:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0809FD4C
- ldr r0, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- bl sub_80A25AC
- b _0809FD4E
-_0809FD4C:
- ldr r0, [sp, 0xC]
-_0809FD4E:
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _0809FD68
- cmp r2, r0
- beq _0809FDA0
- add r0, sp, 0x8
- ldrh r1, [r0, 0x2]
- adds r0, r2, 0
- bl sub_8011900
- bl _0809EAE0
- .align 2, 0
-_0809FD68: .4byte 0x000003e7
-_0809FD6C:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0809FD80
- ldr r0, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- bl sub_80A25AC
- b _0809FD82
-_0809FD80:
- ldr r0, [sp, 0xC]
-_0809FD82:
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _0809FD9C
- cmp r1, r0
- bne _0809FD90
- bl _0809EAE0
-_0809FD90:
- adds r0, r1, 0
- bl sub_8011914
- bl _0809EAE0
- .align 2, 0
-_0809FD9C: .4byte 0x000003e7
-_0809FDA0:
- bl sub_8011924
- bl _0809EAE0
-_0809FDA8:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- blt _0809FDB8
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- b _0809FDBA
-_0809FDB8:
- movs r0, 0x1E
-_0809FDBA:
- bl sub_8011930
- bl _0809EAE0
-_0809FDC2:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8011974
- bl _0809EAE0
-_0809FDD4:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- bl sub_801199C
- bl _0809EAE0
-_0809FDE2:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- lsrs r2, r0, 16
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- blt _0809FDF8
- add r0, sp, 0x8
- ldrh r1, [r0, 0x2]
- b _0809FDFA
-_0809FDF8:
- movs r1, 0x1E
-_0809FDFA:
- adds r0, r2, 0
- bl sub_80119AC
- bl _0809EAE0
-_0809FE04:
- mov r1, r9
- adds r1, 0x84
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, 0x1
- bne _0809FE16
- adds r0, r1, 0
- bl sub_809D568
-_0809FE16:
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r2, [r1, 0x1C]
- movs r1, 0
- bl _call_via_r2
- bl _0809EAE0
-_0809FE28:
- mov r0, r9
- adds r0, 0xC
- bl sub_809D52C
- adds r4, r0, 0
- cmp r4, 0
- bne _0809FE3A
- bl _0809EAE0
-_0809FE3A:
- ldr r1, [r4]
- mov r2, r9
- ldr r0, [r2, 0x4]
- add r5, sp, 0xA4
- ldr r2, [r1, 0xC]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r1, [r4]
- mov r3, r9
- ldr r0, [r3, 0x4]
- mov r4, sp
- adds r4, 0x4D
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r5, 0
- bl _call_via_r2
- ldrb r0, [r4]
- mov r1, r9
- adds r1, 0x4A
- strb r0, [r1]
- mov r1, r9
- ldr r2, [r1]
- ldr r0, [r1, 0x4]
- movs r1, 0
- ldrsb r1, [r4, r1]
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- bl _0809EAE0
-_0809FE86:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- add r6, sp, 0xAC
- ldr r2, [r1, 0xC]
- adds r1, r6, 0
- bl _call_via_r2
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- add r4, sp, 0xB4
- add r5, sp, 0xBC
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80AD914
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r3, [r1, 0x20]
- adds r1, r4, 0
- adds r2, r5, 0
- bl _call_via_r3
- bl _0809EAE0
-_0809FEBE:
- mov r1, r9
- ldr r2, [r1]
- ldr r0, [r1, 0x4]
- ldr r1, [sp, 0xC]
- ldr r2, [r2, 0x3C]
- bl _call_via_r2
- bl _0809EAE0
-_0809FED0:
- ldr r0, [sp, 0xC]
- movs r1, 0x80
- lsls r1, 3
- ands r0, r1
- cmp r0, 0
- beq _0809FEEE
- mov r1, r9
- adds r1, 0x84
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _0809FEEE
- adds r0, r1, 0
- bl sub_809D568
-_0809FEEE:
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- ldr r1, [sp, 0xC]
- ldr r2, [r2, 0x40]
- bl _call_via_r2
- bl _0809EAE0
-_0809FF00:
- mov r4, r9
- ldr r2, [r4]
- ldr r0, [r4, 0x4]
- mov r1, r9
- adds r1, 0x4A
- ldr r2, [r2, 0x14]
- bl _call_via_r2
- add r0, sp, 0x8
- ldrh r1, [r0, 0x2]
- cmp r1, 0
- beq _0809FF1E
- mov r0, r9
- adds r0, 0x48
- strh r1, [r0]
-_0809FF1E:
- mov r5, r9
- ldr r2, [r5]
- ldr r0, [r5, 0x4]
- add r1, sp, 0x8
- ldrh r1, [r1, 0x2]
- ldr r2, [r2, 0x30]
- bl _call_via_r2
- bl _0809EAE0
-_0809FF32:
- mov r0, r9
- ldr r2, [r0]
- ldr r0, [r0, 0x4]
- add r1, sp, 0x8
- ldrh r1, [r1, 0x2]
- ldr r2, [r2, 0x34]
- bl _call_via_r2
- bl _0809EAE0
-_0809FF46:
- mov r1, r9
- ldr r3, [r1]
- ldr r0, [r1, 0x4]
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- add r2, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r2, r4]
- ldr r3, [r3, 0x38]
- bl _call_via_r3
- bl _0809EAE0
-_0809FF62:
- mov r5, r9
- ldr r2, [r5]
- ldr r0, [r5, 0x4]
- add r1, sp, 0x8
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- ldr r2, [r2, 0x44]
- bl _call_via_r2
- bl _0809EAE0
-_0809FF78:
- ldr r0, [sp, 0xC]
- lsls r0, 8
- add r1, sp, 0xC4
- str r0, [r1]
- ldr r0, [sp, 0x10]
- lsls r0, 8
- str r0, [r1, 0x4]
- mov r4, r9
- ldr r2, [r4]
- ldr r0, [r4, 0x4]
- ldr r2, [r2, 0x24]
- bl _call_via_r2
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- mov r5, r10
- b _080A05EA
-_0809FF9A:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- lsls r0, 8
- add r1, sp, 0xCC
- str r0, [r1]
- ldr r0, [sp, 0xC]
- lsls r0, 8
- str r0, [r1, 0x4]
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- ldr r2, [r2, 0x48]
- bl _call_via_r2
- b _080A0650
-_0809FFBA:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl OtherRandomCapped
- lsls r0, 8
- add r4, sp, 0xD4
- str r0, [r4]
- ldr r0, [sp, 0xC]
- bl OtherRandomCapped
- lsls r0, 8
- str r0, [r4, 0x4]
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r2, [r1, 0x48]
- adds r1, r4, 0
- bl _call_via_r2
- b _080A07B4
-_0809FFE4:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- add r4, sp, 0xDC
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- adds r1, r4, 0
- bl sub_80AD8B4
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r4, 0
- bl _call_via_r2
- b _080A0650
-_080A0010:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- add r6, sp, 0xE4
- ldr r2, [r1, 0xC]
- adds r1, r6, 0
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- add r4, sp, 0xEC
- add r5, sp, 0xF4
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80AD914
- ldr r0, [r5]
- ldr r1, [r4]
- subs r0, r1
- bl OtherRandomCapped
- ldr r1, [r4]
- adds r1, r0
- str r1, [r6]
- ldr r0, [r5, 0x4]
- ldr r1, [r4, 0x4]
- subs r0, r1
- bl OtherRandomCapped
- ldr r1, [r4, 0x4]
- adds r1, r0
- str r1, [r6, 0x4]
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r6, 0
- bl _call_via_r2
- b _080A07B4
-_080A0064:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080A007A
- bl _0809EAE0
-_080A007A:
- add r4, sp, 0xFC
- adds r1, r4, 0
- bl sub_80A8FD8
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r4, 0
- bl _call_via_r2
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- b _080A03F0
-_080A0096:
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x32
- bl sub_8001784
- add r5, sp, 0x104
- str r0, [r5]
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x33
- bl sub_8001784
- str r0, [r5, 0x4]
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x34
- bl sub_8001784
- adds r6, r0, 0
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x35
- bl sub_8001784
- adds r4, r0, 0
- lsls r4, 24
- asrs r4, 24
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r5, 0
- bl _call_via_r2
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- ldr r2, [r1, 0x28]
- adds r1, r6, 0
- bl _call_via_r2
- mov r0, r9
- adds r0, 0x4A
- strb r4, [r0]
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- ldr r2, [r1, 0x2C]
- adds r1, r4, 0
- bl _call_via_r2
- b _080A0650
-_080A010E:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- add r4, sp, 0x10C
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r3, [r5]
- ldr r0, [r5, 0x4]
- add r1, sp, 0x114
- add r2, sp, 0x118
- ldr r3, [r3, 0x10]
- bl _call_via_r3
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- mov r5, sp
- adds r5, 0x4E
- ldr r2, [r1, 0x14]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- add r0, sp, 0x10C
- ldr r3, [r0]
- movs r0, 0
- movs r1, 0x32
- bl sub_800199C
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- ldr r3, [r4, 0x4]
- movs r0, 0
- movs r1, 0x33
- bl sub_800199C
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- add r0, sp, 0x114
- ldr r3, [r0]
- movs r0, 0
- movs r1, 0x34
- bl sub_800199C
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- movs r3, 0
- ldrsb r3, [r5, r3]
- movs r0, 0
- movs r1, 0x35
- bl sub_800199C
- bl _0809EAE0
-_080A0186:
- mov r0, r9
- ldr r2, [r0]
- ldr r0, [r0, 0x4]
- ldr r1, [sp, 0xC]
- lsls r1, 8
- ldr r2, [r2, 0x28]
- bl _call_via_r2
- b _080A07B4
-_080A0198:
- ldr r0, [sp, 0xC]
- lsls r0, 8
- mov r2, r10
- str r0, [r2, 0x3C]
- ldr r0, [sp, 0x10]
- lsls r0, 8
- str r0, [r2, 0x40]
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- str r0, [r2, 0x30]
- ldr r0, _080A01B4
- bl _080A12AE
- .align 2, 0
-_080A01B4: .4byte 0x0000ffff
-_080A01B8:
- mov r4, r9
- ldr r1, [r4]
- ldr r0, [r4, 0x4]
- add r4, sp, 0x11C
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r1, [sp, 0xC]
- lsls r1, 8
- add r0, sp, 0x11C
- ldr r0, [r0]
- adds r0, r1
- mov r5, r10
- str r0, [r5, 0x3C]
- ldr r1, [sp, 0x10]
- lsls r1, 8
- ldr r0, [r4, 0x4]
- adds r0, r1
- str r0, [r5, 0x40]
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- str r0, [r5, 0x30]
- ldr r0, _080A01EC
- b _080A05EA
- .align 2, 0
-_080A01EC: .4byte 0x0000ffff
-_080A01F0:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- mov r4, r10
- adds r4, 0x3C
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- adds r1, r4, 0
- bl sub_80AD8B4
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- mov r4, r10
- str r0, [r4, 0x30]
- ldr r0, _080A021C
- b _080A0656
- .align 2, 0
-_080A021C: .4byte 0x0000ffff
-_080A0220:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- mov r4, r10
- adds r4, 0x3C
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- adds r1, r4, 0
- bl sub_80AD8B4
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- mov r2, r10
- str r0, [r2, 0x30]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A12AE
-_080A0250:
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- mov r4, r10
- adds r4, 0x3C
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- adds r1, r4, 0
- bl sub_80AD8B4
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- mov r5, r10
- str r0, [r5, 0x30]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl OtherRandomCapped
- b _080A05EA
-_080A0282:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080A0298
- bl _0809EAE0
-_080A0298:
- mov r1, r10
- adds r1, 0x3C
- bl sub_80A8FD8
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- mov r2, r10
- str r0, [r2, 0x30]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A12AE
-_080A02B2:
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- mov r1, r10
- adds r1, 0x34
- ldr r2, [r2, 0xC]
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r1, r0, 8
- mov r4, r10
- str r1, [r4, 0x3C]
- ldr r0, [sp, 0x10]
- lsls r2, r0, 8
- str r2, [r4, 0x40]
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x7D
- beq _080A02DC
- cmp r0, 0x83
- bne _080A0304
-_080A02DC:
- mov r5, r10
- ldr r0, [r5, 0x34]
- subs r0, r1, r0
- ldr r1, [r5, 0x38]
- subs r1, r2, r1
- bl sub_8009FB8
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl __divsi3
- strh r0, [r5, 0x2A]
- lsls r0, 16
- cmp r0, 0
- ble _080A0300
- bl _0809F0C4
-_080A0300:
- movs r0, 0x1
- b _080A05EA
-_080A0304:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- mov r3, r10
- strh r0, [r3, 0x2A]
- bl _0809F0C4
-_080A0310:
- mov r4, r9
- ldr r2, [r4]
- ldr r0, [r4, 0x4]
- mov r1, r10
- adds r1, 0x34
- ldr r2, [r2, 0xC]
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 8
- mov r5, r10
- ldr r4, [r5, 0x34]
- adds r3, r4, r0
- str r3, [r5, 0x3C]
- ldr r0, [sp, 0x10]
- lsls r0, 8
- ldr r2, [r5, 0x38]
- adds r1, r2, r0
- str r1, [r5, 0x40]
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x7E
- beq _080A0342
- cmp r0, 0x84
- bne _080A036A
-_080A0342:
- subs r0, r3, r4
- subs r1, r2
- bl sub_8009FB8
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl __divsi3
- mov r3, r10
- strh r0, [r3, 0x2A]
- lsls r0, 16
- cmp r0, 0
- ble _080A0362
- bl _0809F0C4
-_080A0362:
- movs r0, 0x1
- strh r0, [r3, 0x2A]
- bl _0809F0C4
-_080A036A:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- b _080A0654
-_080A0370:
- ldr r4, [sp, 0xC]
- lsls r4, 1
- subs r4, 0x1
- ldr r5, [sp, 0x10]
- lsls r5, 1
- subs r5, 0x1
- mov r0, r9
- ldr r2, [r0]
- ldr r0, [r0, 0x4]
- mov r1, r10
- adds r1, 0x34
- ldr r2, [r2, 0xC]
- bl _call_via_r2
- adds r0, r4, 0
- bl OtherRandomCapped
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- subs r0, r1
- lsls r0, 8
- mov r3, r10
- ldr r1, [r3, 0x34]
- adds r1, r0
- str r1, [r3, 0x3C]
- adds r0, r5, 0
- bl OtherRandomCapped
- ldr r1, [sp, 0xC]
- subs r0, r1
- lsls r0, 8
- mov r4, r10
- ldr r3, [r4, 0x38]
- adds r2, r3, r0
- str r2, [r4, 0x40]
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x7F
- beq _080A03C4
- cmp r0, 0x85
- bne _080A03EC
-_080A03C4:
- mov r5, r10
- ldr r0, [r5, 0x3C]
- ldr r1, [r5, 0x34]
- subs r0, r1
- subs r1, r2, r3
- bl sub_8009FB8
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl __divsi3
- strh r0, [r5, 0x2A]
- lsls r0, 16
- cmp r0, 0
- ble _080A03E8
- bl _0809F0C4
-_080A03E8:
- movs r0, 0x1
- b _080A05EA
-_080A03EC:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
-_080A03F0:
- mov r3, r10
- strh r0, [r3, 0x2A]
- bl _0809F0C4
-_080A03F8:
- mov r4, r9
- ldr r2, [r4]
- ldr r0, [r4, 0x4]
- mov r1, r10
- adds r1, 0x34
- ldr r2, [r2, 0xC]
- bl _call_via_r2
- mov r5, r10
- ldr r0, [r5, 0x34]
- ldr r1, [r5, 0x38]
- mov r2, r10
- str r0, [r2, 0x3C]
- str r1, [r2, 0x40]
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- mov r1, r10
- adds r1, 0x3C
- bl sub_80AD8B4
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x80
- beq _080A042E
- cmp r0, 0x86
- bne _080A045C
-_080A042E:
- mov r3, r10
- ldr r0, [r3, 0x3C]
- ldr r1, [r3, 0x34]
- subs r0, r1
- ldr r1, [r3, 0x40]
- ldr r2, [r3, 0x38]
- subs r1, r2
- bl sub_8009FB8
- add r1, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r1, r4]
- bl __divsi3
- mov r5, r10
- strh r0, [r5, 0x2A]
- lsls r0, 16
- cmp r0, 0
- ble _080A0458
- bl _0809F0C4
-_080A0458:
- movs r0, 0x1
- b _080A05EA
-_080A045C:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- b _080A07B8
-_080A0462:
- ldr r4, [sp, 0xC]
- lsls r4, 1
- subs r4, 0x1
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- mov r5, r10
- adds r5, 0x3C
- ldr r2, [r1, 0xC]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r0, [sp, 0x10]
- lsls r0, 16
- asrs r0, 16
- adds r1, r5, 0
- bl sub_80AD8B4
- adds r0, r4, 0
- bl OtherRandomCapped
- add r1, sp, 0x8
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- subs r0, r1
- lsls r0, 8
- mov r5, r10
- ldr r1, [r5, 0x3C]
- adds r1, r0
- str r1, [r5, 0x3C]
- adds r0, r4, 0
- bl OtherRandomCapped
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- subs r0, r1
- lsls r0, 8
- ldr r1, [r5, 0x40]
- adds r2, r1, r0
- str r2, [r5, 0x40]
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x81
- beq _080A04C0
- cmp r0, 0x87
- bne _080A04EC
-_080A04C0:
- mov r3, r10
- ldr r0, [r3, 0x3C]
- ldr r1, [r3, 0x34]
- subs r0, r1
- ldr r1, [r3, 0x38]
- subs r1, r2, r1
- bl sub_8009FB8
- add r1, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r1, r4]
- bl __divsi3
- mov r5, r10
- strh r0, [r5, 0x2A]
- lsls r0, 16
- cmp r0, 0
- ble _080A04E8
- bl _0809F0C4
-_080A04E8:
- movs r0, 0x1
- b _080A05EA
-_080A04EC:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- b _080A07B8
-_080A04F2:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- bge _080A0508
- bl _0809EAE0
-_080A0508:
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- mov r1, r10
- adds r1, 0x34
- ldr r2, [r2, 0xC]
- bl _call_via_r2
- mov r1, r10
- adds r1, 0x3C
- adds r0, r4, 0
- bl sub_80A8FD8
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x82
- beq _080A052E
- cmp r0, 0x88
- bne _080A055A
-_080A052E:
- mov r4, r10
- ldr r0, [r4, 0x3C]
- ldr r1, [r4, 0x34]
- subs r0, r1
- ldr r1, [r4, 0x40]
- ldr r2, [r4, 0x38]
- subs r1, r2
- bl sub_8009FB8
- add r1, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r1, r5]
- bl __divsi3
- strh r0, [r4, 0x2A]
- lsls r0, 16
- cmp r0, 0
- ble _080A0556
- bl _0809F0C4
-_080A0556:
- movs r0, 0x1
- b _080A0656
-_080A055A:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- b _080A07B8
-_080A0560:
- ldr r0, [sp, 0xC]
- lsls r0, 8
- mov r2, r10
- str r0, [r2, 0x48]
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- str r0, [r2, 0x30]
- ldr r0, _080A0578
- bl _080A12AE
- .align 2, 0
-_080A0578: .4byte 0x0000ffff
-_080A057C:
- ldr r1, [sp, 0xC]
- mov r0, r9
- adds r0, 0x4A
- strb r1, [r0]
- mov r4, r9
- ldr r2, [r4]
- ldr r0, [r4, 0x4]
- lsls r1, 24
- asrs r1, 24
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- mov r1, r10
- str r0, [r1, 0x30]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- b _080A07BA
-_080A05A4:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- mov r4, sp
- adds r4, 0x4F
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- movs r0, 0
- ldrsb r0, [r4, r0]
- ldr r1, [sp, 0xC]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8002984
- mov r1, r9
- adds r1, 0x4A
- strb r0, [r1]
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- mov r5, r10
- str r0, [r5, 0x30]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
-_080A05EA:
- strh r0, [r5, 0x2A]
- bl _0809F0C4
-_080A05F0:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- mov r1, r9
- adds r1, 0x4A
- strb r0, [r1]
- mov r0, r9
- ldr r2, [r0]
- ldr r0, [r0, 0x4]
-_080A0600:
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- b _080A07B4
-_080A060E:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _080A0650
- add r4, sp, 0x50
- adds r1, r4, 0
- bl sub_80A9050
- movs r0, 0
- ldrsb r0, [r4, r0]
- add r1, sp, 0x8
- ldrh r1, [r1, 0x2]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8002984
- mov r1, r9
- adds r1, 0x4A
- strb r0, [r1]
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
-_080A0650:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
-_080A0654:
- mov r4, r10
-_080A0656:
- strh r0, [r4, 0x2A]
- bl _0809F0C4
-_080A065C:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- mov r4, sp
- adds r4, 0x51
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- movs r0, 0
- ldrsb r0, [r4, r0]
- add r1, sp, 0x8
- ldrh r1, [r1, 0x2]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8002984
- mov r1, r9
- adds r1, 0x4A
- strb r0, [r1]
- ldr r2, [r5]
- ldr r0, [r5, 0x4]
- b _080A0600
-_080A068A:
- movs r5, 0
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x8F
- beq _080A06CA
- cmp r0, 0x8F
- bgt _080A069E
- cmp r0, 0x8E
- beq _080A06A4
- b _080A0724
-_080A069E:
- cmp r0, 0x90
- beq _080A06F8
- b _080A0724
-_080A06A4:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- blt _080A0724
- movs r5, 0x1
- add r1, sp, 0x124
- adds r0, r4, 0
- bl sub_80A8FD8
- add r1, sp, 0x12C
- adds r0, r4, 0
- bl sub_80A8F9C
- b _080A0724
-_080A06CA:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _080A0724
- movs r5, 0x1
- add r1, sp, 0x124
- bl sub_80A8FD8
- ldr r0, _080A06F4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- add r2, sp, 0x12C
- str r0, [r2]
- str r1, [r2, 0x4]
- b _080A0724
- .align 2, 0
-_080A06F4: .4byte gUnknown_81164DC
-_080A06F8:
- movs r5, 0x1
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- add r4, sp, 0x124
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- add r1, sp, 0x12C
- ldr r2, [r2, 0x8]
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- adds r1, r4, 0
- bl sub_80AD8B4
-_080A0724:
- cmp r5, 0
- beq _080A07B4
- mov r4, r9
- ldr r1, [r4]
- ldr r0, [r4, 0x4]
- add r5, sp, 0x134
- ldr r2, [r1, 0xC]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r1, [r4]
- ldr r0, [r4, 0x4]
- add r4, sp, 0x13C
- ldr r2, [r1, 0x8]
- adds r1, r4, 0
- bl _call_via_r2
- add r7, sp, 0x124
- add r3, sp, 0x12C
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- bl sub_8002DF0
- mov r1, sp
- adds r1, 0x52
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- movs r4, 0
- ldrsb r4, [r1, r4]
- adds r6, r1, 0
- cmp r4, r0
- bne _080A078C
- ldr r3, _080A07C0
- adds r0, r5, 0
- adds r1, r3, 0
- adds r2, r7, 0
- bl sub_8002D54
- strb r0, [r6]
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, r4
- bne _080A078C
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- ldr r2, [r1, 0x14]
- adds r1, r6, 0
- bl _call_via_r2
-_080A078C:
- movs r0, 0
- ldrsb r0, [r6, r0]
- add r1, sp, 0x8
- ldrh r1, [r1, 0x2]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8002984
- mov r1, r9
- adds r1, 0x4A
- strb r0, [r1]
- mov r0, r9
- ldr r2, [r0]
- ldr r0, [r0, 0x4]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
-_080A07B4:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
-_080A07B8:
- mov r1, r10
-_080A07BA:
- strh r0, [r1, 0x2A]
- bl _0809F0C4
- .align 2, 0
-_080A07C0: .4byte gUnknown_81164DC
-_080A07C4:
- movs r0, 0
- bl _080A12AC
-_080A07CA:
- ldr r0, [sp, 0xC]
- mov r1, r9
- adds r1, 0x71
- movs r2, 0
- strb r0, [r1]
- mov r3, r10
- strh r2, [r3, 0x2A]
- bl _0809F0C4
-_080A07DC:
- mov r4, r9
- ldr r1, [r4]
- ldr r0, [r4, 0x4]
- mov r4, sp
- adds r4, 0x53
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- movs r0, 0
- ldrsb r0, [r4, r0]
- ldr r1, [sp, 0xC]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8002984
- mov r1, r9
- adds r1, 0x71
- movs r2, 0
- strb r0, [r1]
- mov r5, r10
- strh r2, [r5, 0x2A]
- bl _0809F0C4
-_080A080C:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- bl sub_809D124
- bl _0809EAE0
-_080A081E:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r1, r0, 16
- mov r3, r9
- movs r4, 0x8
- ldrsh r0, [r3, r4]
- cmp r0, 0x2
- beq _080A0856
- cmp r0, 0x2
- bgt _080A0844
- cmp r0, 0x1
- beq _080A084C
- bl _0809EAE0
-_080A0844:
- cmp r0, 0x3
- beq _080A0860
- bl _0809EAE0
-_080A084C:
- movs r0, 0x1
- bl sub_809D170
- bl _0809EAE0
-_080A0856:
- movs r0, 0x2
- bl sub_809D170
- bl _0809EAE0
-_080A0860:
- movs r0, 0x3
- bl sub_809D170
- bl _0809EAE0
-_080A086A:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x8
- ldrsh r1, [r5, r2]
- cmp r1, 0x2
- beq _080A08A0
- cmp r1, 0x2
- bgt _080A088E
- cmp r1, 0x1
- beq _080A0896
- bl _0809EAE0
-_080A088E:
- cmp r1, 0x3
- beq _080A08AA
- bl _0809EAE0
-_080A0896:
- add r4, sp, 0x144
- adds r1, r4, 0
- bl sub_80A8FD8
- b _080A08B2
-_080A08A0:
- add r4, sp, 0x144
- adds r1, r4, 0
- bl sub_80AC448
- b _080A08B2
-_080A08AA:
- add r4, sp, 0x144
- adds r1, r4, 0
- bl sub_80AD360
-_080A08B2:
- movs r0, 0
- adds r1, r4, 0
- bl sub_809D158
- bl _0809EAE0
-_080A08BE:
- movs r0, 0x1
- movs r1, 0
- bl sub_809D170
- bl _0809EAE0
-_080A08CA:
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bge _080A08E2
- bl _0809EAE0
-_080A08E2:
- mov r4, r9
- movs r5, 0x8
- ldrsh r0, [r4, r5]
- cmp r0, 0x2
- beq _080A090A
- cmp r0, 0x2
- bgt _080A08F8
- cmp r0, 0x1
- beq _080A0900
- bl _0809EAE0
-_080A08F8:
- cmp r0, 0x3
- beq _080A0914
- bl _0809EAE0
-_080A0900:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- movs r0, 0x1
- b _080A0990
-_080A090A:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0x2
- b _080A0990
-_080A0914:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- movs r0, 0x3
- b _080A0990
-_080A091E:
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r0, 16
- mov r2, r9
- movs r3, 0x8
- ldrsh r1, [r2, r3]
- cmp r1, 0x2
- beq _080A095C
- cmp r1, 0x2
- bgt _080A0944
- cmp r1, 0x1
- beq _080A094C
- bl _0809EAE0
-_080A0944:
- cmp r1, 0x3
- beq _080A096C
- bl _0809EAE0
-_080A094C:
- add r4, sp, 0x14C
- adds r1, r4, 0
- bl sub_80A8FD8
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- b _080A097A
-_080A095C:
- add r4, sp, 0x14C
- adds r1, r4, 0
- bl sub_80AC448
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r2, [r0, r1]
- b _080A097A
-_080A096C:
- add r4, sp, 0x14C
- adds r1, r4, 0
- bl sub_80AD360
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
-_080A097A:
- movs r0, 0
- adds r1, r4, 0
- bl sub_809D190
- bl _0809F0C4
-_080A0986:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0x1
- movs r1, 0
-_080A0990:
- bl sub_809D1A8
- bl _0809F0C4
-_080A0998:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bge _080A09B0
- bl _0809EAE0
-_080A09B0:
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- cmp r0, 0x2
- beq _080A09D6
- cmp r0, 0x2
- bgt _080A09C4
- cmp r0, 0x1
- beq _080A09CC
- bl _0809EAE0
-_080A09C4:
- cmp r0, 0x3
- beq _080A09E0
- bl _0809EAE0
-_080A09CC:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- movs r0, 0x1
- b _080A0A5C
-_080A09D6:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0x2
- b _080A0A5C
-_080A09E0:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- movs r0, 0x3
- b _080A0A5C
-_080A09EA:
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r0, 16
- mov r2, r9
- movs r3, 0x8
- ldrsh r1, [r2, r3]
- cmp r1, 0x2
- beq _080A0A28
- cmp r1, 0x2
- bgt _080A0A10
- cmp r1, 0x1
- beq _080A0A18
- bl _0809EAE0
-_080A0A10:
- cmp r1, 0x3
- beq _080A0A38
- bl _0809EAE0
-_080A0A18:
- add r4, sp, 0x154
- adds r1, r4, 0
- bl sub_80A8FD8
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- b _080A0A46
-_080A0A28:
- add r4, sp, 0x154
- adds r1, r4, 0
- bl sub_80AC448
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r2, [r0, r1]
- b _080A0A46
-_080A0A38:
- add r4, sp, 0x154
- adds r1, r4, 0
- bl sub_80AD360
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
-_080A0A46:
- movs r0, 0
- adds r1, r4, 0
- bl sub_809D1CC
- bl _0809F0C4
-_080A0A52:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0x1
- movs r1, 0
-_080A0A5C:
- bl sub_809D1E4
- bl _0809F0C4
-_080A0A64:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bge _080A0A7C
- bl _0809EAE0
-_080A0A7C:
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- cmp r0, 0x2
- beq _080A0AA2
- cmp r0, 0x2
- bgt _080A0A90
- cmp r0, 0x1
- beq _080A0A98
- bl _0809EAE0
-_080A0A90:
- cmp r0, 0x3
- beq _080A0AAC
- bl _0809EAE0
-_080A0A98:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- movs r0, 0x1
- b _080A0B28
-_080A0AA2:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0x2
- b _080A0B28
-_080A0AAC:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- movs r0, 0x3
- b _080A0B28
-_080A0AB6:
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r0, 16
- mov r2, r9
- movs r3, 0x8
- ldrsh r1, [r2, r3]
- cmp r1, 0x2
- beq _080A0AF4
- cmp r1, 0x2
- bgt _080A0ADC
- cmp r1, 0x1
- beq _080A0AE4
- bl _0809EAE0
-_080A0ADC:
- cmp r1, 0x3
- beq _080A0B04
- bl _0809EAE0
-_080A0AE4:
- add r4, sp, 0x15C
- adds r1, r4, 0
- bl sub_80A8FD8
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- b _080A0B12
-_080A0AF4:
- add r4, sp, 0x15C
- adds r1, r4, 0
- bl sub_80AC448
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r2, [r0, r1]
- b _080A0B12
-_080A0B04:
- add r4, sp, 0x15C
- adds r1, r4, 0
- bl sub_80AD360
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
-_080A0B12:
- movs r0, 0
- adds r1, r4, 0
- bl sub_809D208
- bl _0809F0C4
-_080A0B1E:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0x1
- movs r1, 0
-_080A0B28:
- bl sub_809D220
- bl _0809F0C4
-_080A0B30:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r1, r5]
- bl sub_8001570
- bl _0809EAE0
-_080A0B42:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl sub_80015C0
- bl _0809EAE0
-_080A0B54:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- ldr r2, [sp, 0xC]
- add r3, sp, 0x8
- ldrb r3, [r3, 0x1]
- bl sub_800226C
- bl _0809EAE0
-_080A0B6C:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r1, r4]
- ldr r2, [sp, 0xC]
- lsls r2, 16
- asrs r2, 16
- add r3, sp, 0x8
- ldrb r3, [r3, 0x1]
- bl sub_80022A0
- bl _0809EAE0
-_080A0B88:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r1, r5]
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- ldr r3, [sp, 0x10]
- bl sub_800199C
- bl _0809EAE0
-_080A0BA2:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- bl sub_8001BB4
- bl _0809EAE0
-_080A0BB4:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- add r1, sp, 0x164
- add r2, sp, 0x168
- bl sub_8001B88
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- add r1, sp, 0x164
- ldr r1, [r1]
- add r2, sp, 0x168
- ldr r2, [r2]
- adds r2, 0x1
- bl sub_8001BB4
- bl _0809EAE0
-_080A0BDA:
- ldr r2, [sp, 0xC]
- movs r0, 0
- movs r1, 0x13
- bl sub_80018D8
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0
- movs r1, 0x16
- bl sub_80018D8
- bl _0809EAE0
-_080A0BF6:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- movs r0, 0
- movs r1, 0x1C
- bl sub_80018D8
- bl _0809EAE0
-_080A0C08:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- add r1, sp, 0x8
- ldrb r2, [r1, 0x1]
- negs r1, r2
- orrs r1, r2
- lsrs r1, 31
- bl sub_80026E8
- bl _0809EAE0
-_080A0C20:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- add r1, sp, 0x8
- ldrb r2, [r1, 0x1]
- negs r1, r2
- orrs r1, r2
- lsrs r1, 31
- bl sub_809733C
- bl _0809EAE0
-_080A0C38:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- add r1, sp, 0x8
- ldrb r2, [r1, 0x1]
- negs r1, r2
- orrs r1, r2
- lsrs r1, 31
- bl sub_80973A8
- bl _0809EAE0
-_080A0C50:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- add r1, sp, 0x8
- ldrb r2, [r1, 0x1]
- negs r1, r2
- orrs r1, r2
- lsrs r1, 31
- bl sub_8097418
- bl _0809EAE0
-_080A0C68:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- add r1, sp, 0x8
- ldrb r2, [r1, 0x1]
- negs r1, r2
- orrs r1, r2
- lsrs r1, 31
- bl sub_80975A8
- bl _0809EAE0
-_080A0C80:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80976F8
- bl _0809EAE0
-_080A0C90:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- ldr r2, [sp, 0xC]
- movs r0, 0
- movs r3, 0x2
- bl sub_80022F8
- b _080A0E1E
-_080A0CA2:
- mov r0, r10
- adds r0, 0x50
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- ldr r2, [sp, 0x10]
- add r3, sp, 0x8
- ldrb r3, [r3, 0x1]
- bl sub_80022F8
- lsls r0, 24
- cmp r0, 0
- bne _080A0CC0
- bl _0809EAE0
-_080A0CC0:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- b _080A0D5C
-_080A0CC8:
- mov r0, r10
- adds r0, 0x50
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- ldr r2, [sp, 0x10]
- lsls r2, 16
- asrs r2, 16
- add r3, sp, 0x8
- ldrb r3, [r3, 0x1]
- bl sub_8002318
- lsls r0, 24
- cmp r0, 0
- bne _080A0CEA
- bl _0809EAE0
-_080A0CEA:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- b _080A0E2C
-_080A0CF2:
- mov r0, r10
- adds r0, 0x50
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- ldr r2, [sp, 0x10]
- lsls r2, 16
- lsrs r2, 16
- bl sub_8001784
- cmp r0, 0
- bne _080A0D0E
- bl _0809EAE0
-_080A0D0E:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- b _080A0D5C
-_080A0D16:
- mov r0, r10
- adds r0, 0x50
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- bl sub_8001AB0
- ldr r1, [sp, 0x10]
- add r2, sp, 0x8
- ldrb r2, [r2, 0x1]
- bl FlagJudge
- lsls r0, 24
- cmp r0, 0
- bne _080A0D38
- bl _0809EAE0
-_080A0D38:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- b _080A0E2C
-_080A0D40:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- bne _080A0D58
- bl _0809EAE0
-_080A0D58:
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
-_080A0D5C:
- mov r0, r9
- bl sub_80A242C
- mov r5, r10
- str r0, [r5, 0x4]
- bl _0809EAE0
-_080A0D6A:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- bl sub_8001D08
- b _080A0DBA
-_080A0D7A:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- bne _080A0D92
- bl _0809EAE0
-_080A0D92:
- b _080A0DF6
-_080A0D94:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _080A0DA8
- bl _0809EAE0
-_080A0DA8:
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
- b _080A132A
-_080A0DAE:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8098100
-_080A0DBA:
- lsls r0, 24
- cmp r0, 0
- bne _080A0DC4
- bl _0809EAE0
-_080A0DC4:
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
- mov r0, r9
- bl sub_80A242C
- mov r2, r10
- str r0, [r2, 0x4]
- bl _0809EAE0
-_080A0DD6:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80026CC
- b _080A0E1E
-_080A0DE2:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl sub_809CBA4
- cmp r0, 0
- bgt _080A0DF6
- bl _0809EAE0
-_080A0DF6:
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
- mov r0, r9
- bl sub_80A242C
- mov r4, r10
- str r0, [r4, 0x4]
- bl _0809EAE0
-_080A0E08:
- mov r5, r9
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080A0E16
- bl _0809EAE0
-_080A0E16:
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- bl sub_80A8C98
-_080A0E1E:
- lsls r0, 24
- cmp r0, 0
- bne _080A0E28
- bl _0809EAE0
-_080A0E28:
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
-_080A0E2C:
- mov r0, r9
- bl sub_80A242C
- mov r3, r10
- str r0, [r3, 0x4]
- bl _0809EAE0
-_080A0E3A:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091130
- cmp r0, 0
- bge _080A0E4E
- bl _0809EAE0
-_080A0E4E:
- bl sub_80911F8
- bl _0809EAE0
-_080A0E56:
- add r0, sp, 0x8
- ldrb r2, [r0]
- adds r0, r2, 0
- subs r0, 0xC0
- cmp r0, 0xB
- bls _080A0E64
- b _080A1088
-_080A0E64:
- lsls r0, 2
- ldr r1, _080A0E70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A0E70: .4byte _080A0E74
- .align 2, 0
-_080A0E74:
- .4byte _080A0EA4
- .4byte _080A0EB6
- .4byte _080A0ECC
- .4byte _080A0EFA
- .4byte _080A0F08
- .4byte _080A0F14
- .4byte _080A0F26
- .4byte _080A0F36
- .4byte _080A0F98
- .4byte _080A1008
- .4byte _080A0F4C
- .4byte _080A107A
-_080A0EA4:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r1, r4]
- bl sub_8001658
- adds r1, r0, 0
- b _080A1098
-_080A0EB6:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r1, r5]
- bl sub_8001658
- ldr r1, [sp, 0xC]
- add r2, sp, 0x8
- ldrb r2, [r2, 0x1]
- b _080A0EF2
-_080A0ECC:
- mov r4, r10
- adds r4, 0x50
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- adds r0, r4, 0
- bl sub_8001658
- adds r5, r0, 0
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_8001658
- adds r1, r0, 0
- add r0, sp, 0x8
- ldrb r2, [r0, 0x1]
- adds r0, r5, 0
-_080A0EF2:
- bl FlagCalc
- adds r1, r0, 0
- b _080A1098
-_080A0EFA:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- bl OtherRandomCapped
- adds r1, r0, 0
- b _080A1098
-_080A0F08:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- movs r0, 0
- movs r2, 0
- b _080A0F1E
-_080A0F14:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r0, r5]
- movs r0, 0
- movs r2, 0x1
-_080A0F1E:
- bl sub_8001784
- adds r1, r0, 0
- b _080A1098
-_080A0F26:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A8C2C
- lsls r0, 16
- asrs r1, r0, 16
- b _080A1098
-_080A0F36:
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- add r4, sp, 0x54
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- movs r1, 0
- ldrsb r1, [r4, r1]
- b _080A1098
-_080A0F4C:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- movs r3, 0xB6
- lsls r3, 1
- add r3, sp
- mov r8, r3
- ldr r2, [r1, 0xC]
- mov r1, r8
- bl _call_via_r2
- add r6, sp, 0x16C
- ldr r0, [r6]
- ldr r1, [r6, 0x4]
- add r4, sp, 0x174
- str r0, [r4]
- str r1, [r4, 0x4]
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- adds r5, r4, 0
- adds r1, r5, 0
- bl sub_80AD8B4
- ldr r1, [r4]
- ldr r0, [r6]
- subs r1, r0
- add r0, sp, 0x17C
- str r1, [r0]
- ldr r1, [r5, 0x4]
- mov r4, r8
- ldr r0, [r4, 0x4]
- subs r1, r0
- add r0, sp, 0x17C
- str r1, [r0, 0x4]
- bl sub_8002C60
- b _080A106A
-_080A0F98:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r6, r0, 16
- cmp r6, 0
- blt _080A1074
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- movs r2, 0xC2
- lsls r2, 1
- add r2, sp
- mov r8, r2
- ldr r2, [r1, 0xC]
- mov r1, r8
- bl _call_via_r2
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- add r5, sp, 0x18C
- ldr r2, [r1, 0x8]
- adds r1, r5, 0
- bl _call_via_r2
- add r7, sp, 0x194
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_80A8FD8
- add r4, sp, 0x19C
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80A8F9C
- mov r0, r8
- adds r1, r5, 0
- adds r2, r7, 0
- adds r3, r4, 0
- bl sub_8002DF0
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A1098
- ldr r3, _080A1004
- mov r0, r8
- adds r1, r3, 0
- adds r2, r7, 0
- b _080A1066
- .align 2, 0
-_080A1004: .4byte gUnknown_81164DC
-_080A1008:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r7, r0, 16
- cmp r7, 0
- blt _080A1074
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- add r6, sp, 0x1A4
- ldr r2, [r1, 0xC]
- adds r1, r6, 0
- bl _call_via_r2
- mov r4, r9
- ldr r1, [r4]
- ldr r0, [r4, 0x4]
- add r4, sp, 0x1AC
- ldr r2, [r1, 0x8]
- adds r1, r4, 0
- bl _call_via_r2
- add r5, sp, 0x1B4
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80A8FD8
- ldr r7, _080A1070
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r7, 0
- bl sub_8002DF0
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A1098
- adds r0, r6, 0
- adds r1, r7, 0
- adds r2, r5, 0
- adds r3, r7, 0
-_080A1066:
- bl sub_8002D54
-_080A106A:
- lsls r0, 24
- asrs r1, r0, 24
- b _080A1098
- .align 2, 0
-_080A1070: .4byte gUnknown_81164DC
-_080A1074:
- movs r1, 0x1
- negs r1, r1
- b _080A1098
-_080A107A:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl sub_809CC90
- adds r1, r0, 0
- b _080A1098
-_080A1088:
- ldr r0, _080A1090
- ldr r1, _080A1094
- bl FatalError
- .align 2, 0
-_080A1090: .4byte gUnknown_81166B4
-_080A1094: .4byte gUnknown_81166C0
-_080A1098:
- mov r0, r9
- bl sub_80A2460
- b _080A1330
-_080A10A0:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl sub_8001658
- adds r2, r0, 0
- mov r3, r10
- strh r2, [r3, 0x28]
- ldr r1, [r3, 0x4]
- ldrb r0, [r1]
- cmp r0, 0xD0
- bne _080A10DE
- lsls r0, r2, 16
- asrs r3, r0, 16
-_080A10C0:
- adds r2, r1, 0
- movs r4, 0x2
- ldrsh r0, [r1, r4]
- cmp r0, r3
- bne _080A10CE
- bl _0809F0C4
-_080A10CE:
- adds r0, r1, 0
- adds r0, 0x10
- mov r5, r10
- str r0, [r5, 0x4]
- adds r1, r0, 0
- ldrb r0, [r2, 0x10]
- cmp r0, 0xD0
- beq _080A10C0
-_080A10DE:
- mov r1, r10
- ldr r0, [r1, 0x4]
- ldrb r0, [r0]
- cmp r0, 0xD1
- beq _080A10EC
- bl _0809EAE0
-_080A10EC:
- ldr r0, _080A10F4
- strh r0, [r1, 0x28]
- bl _0809F0C4
- .align 2, 0
-_080A10F4: .4byte 0x0000ffff
-_080A10F8:
- ldr r7, [sp, 0x14]
- ldr r1, _080A11F0
- movs r0, 0
- str r0, [r1]
- mov r2, r10
- strh r0, [r2, 0x28]
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0xD8
- bgt _080A1176
- cmp r0, 0xD6
- blt _080A1176
- mov r0, r10
- adds r0, 0x50
- ldr r1, [sp, 0x10]
- lsls r1, 16
- asrs r1, 16
- bl sub_8001658
- adds r3, r0, 0
- mov r4, r10
- ldr r1, [r4, 0x4]
- ldrb r0, [r1]
- cmp r0, 0xD0
- bne _080A114E
-_080A112A:
- adds r2, r1, 0
- movs r5, 0x2
- ldrsh r0, [r2, r5]
- cmp r0, r3
- bne _080A1136
- ldr r7, [r2, 0xC]
-_080A1136:
- adds r0, r1, 0
- adds r0, 0x10
- mov r1, r10
- str r0, [r1, 0x4]
- ldrh r1, [r1, 0x28]
- adds r1, 0x1
- mov r4, r10
- strh r1, [r4, 0x28]
- adds r1, r0, 0
- ldrb r0, [r2, 0x10]
- cmp r0, 0xD0
- beq _080A112A
-_080A114E:
- mov r5, r10
- ldr r1, [r5, 0x4]
- ldrb r0, [r1]
- cmp r0, 0xD1
- bne _080A1176
-_080A1158:
- cmp r7, 0
- bne _080A115E
- ldr r7, [r1, 0xC]
-_080A115E:
- mov r0, r10
- ldr r2, [r0, 0x4]
- adds r1, r2, 0
- adds r1, 0x10
- str r1, [r0, 0x4]
- ldrh r0, [r0, 0x28]
- adds r0, 0x1
- mov r3, r10
- strh r0, [r3, 0x28]
- ldrb r0, [r2, 0x10]
- cmp r0, 0xD1
- beq _080A1158
-_080A1176:
- cmp r7, 0
- bne _080A117C
- ldr r7, _080A11F4
-_080A117C:
- mov r4, r10
- ldr r5, [r4, 0x4]
- ldrb r0, [r5]
- cmp r0, 0xD9
- bne _080A11B8
- ldr r0, _080A11F8
- mov r8, r0
- ldr r6, _080A11F0
- movs r1, 0x4
- add r1, r8
- mov r12, r1
-_080A1192:
- ldr r1, [r6]
- lsls r2, r1, 3
- mov r4, r8
- adds r3, r2, r4
- adds r4, r5, 0
- ldr r0, [r4, 0xC]
- str r0, [r3]
- add r2, r12
- adds r1, 0x1
- str r1, [r2]
- str r1, [r6]
- adds r0, r4, 0
- adds r0, 0x10
- mov r5, r10
- str r0, [r5, 0x4]
- adds r5, r0, 0
- ldrb r0, [r4, 0x10]
- cmp r0, 0xD9
- beq _080A1192
-_080A11B8:
- ldr r0, _080A11F0
- ldr r1, [r0]
- cmp r1, 0
- bgt _080A11C4
- bl _0809EAE0
-_080A11C4:
- ldr r3, _080A11F8
- lsls r2, r1, 3
- adds r1, r2, r3
- movs r0, 0
- str r0, [r1]
- adds r0, r3, 0x4
- adds r2, r0
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- str r0, [r2]
- add r0, sp, 0x8
- ldrb r0, [r0]
- subs r0, 0xD2
- cmp r0, 0x6
- bhi _080A1280
- lsls r0, 2
- ldr r1, _080A11FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A11F0: .4byte gUnknown_203B4AC
-_080A11F4: .4byte gUnknown_81166D8
-_080A11F8: .4byte gUnknown_2039D50
-_080A11FC: .4byte _080A1200
- .align 2, 0
-_080A1200:
- .4byte _080A121C
- .4byte _080A121C
- .4byte _080A123E
- .4byte _080A1260
- .4byte _080A121C
- .4byte _080A123E
- .4byte _080A1260
-_080A121C:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- movs r2, 0x1
- negs r2, r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- str r7, [sp, 0x4]
- adds r0, r3, 0
- movs r3, 0
- bl sub_809B028
- b _080A1280
-_080A123E:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- movs r2, 0x1
- negs r2, r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- str r7, [sp, 0x4]
- adds r0, r3, 0
- movs r3, 0x1
- bl sub_809B028
- b _080A1280
-_080A1260:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- movs r2, 0x1
- negs r2, r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- str r7, [sp, 0x4]
- adds r0, r3, 0
- movs r3, 0x2
- bl sub_809B028
-_080A1280:
- mov r0, r9
- movs r1, 0x1
- bl sub_809D8EC
- lsls r0, 24
- cmp r0, 0
- bne _080A1292
- bl _0809EAE0
-_080A1292:
- movs r0, 0
- movs r1, 0xB
- bl sub_80A87AC
- bl _0809F0C4
-_080A129E:
- mov r0, r9
- movs r1, 0x1
- bl sub_809D8EC
- b _080A130A
-_080A12A8:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
-_080A12AC:
- mov r2, r10
-_080A12AE:
- strh r0, [r2, 0x2A]
- bl _0809F0C4
-_080A12B4:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- ldr r0, [sp, 0xC]
- subs r0, r1
- bl OtherRandomCapped
- add r1, sp, 0x8
- ldrh r1, [r1, 0x2]
- adds r1, r0
- mov r4, r10
- strh r1, [r4, 0x2A]
- bl _0809F0C4
-_080A12D0:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- mov r5, r10
- strh r0, [r5, 0x28]
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- mov r0, r9
- bl sub_809D8EC
- b _080A130A
-_080A12E6:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- bl sub_809D9B8
- bl _0809EAE0
-_080A12F4:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- mov r4, r10
- strh r0, [r4, 0x28]
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r0, r5]
- ldrb r2, [r0, 0x1]
- mov r0, r9
- bl sub_809DA08
-_080A130A:
- lsls r0, 24
-_080A130C:
- cmp r0, 0
- bne _080A1314
- bl _0809EAE0
-_080A1314:
- bl _0809F0C4
-_080A1318:
- mov r1, r10
- adds r1, 0x10
- mov r0, r10
- adds r0, 0x4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
-_080A1324:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r0, r5]
-_080A132A:
- mov r0, r9
- bl sub_80A242C
-_080A1330:
- mov r1, r10
- str r0, [r1, 0x4]
- bl _0809EAE0
-_080A1338:
- mov r1, r10
- adds r1, 0x10
- mov r0, r10
- adds r0, 0x4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
-_080A1344:
- ldr r2, _080A1364
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r0, r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- mov r1, r10
- str r0, [r1, 0x4]
- str r0, [r1, 0x8]
- bl _0809EAE0
- .align 2, 0
-_080A1364: .4byte gUnknown_812F1F8
-_080A1368:
- mov r1, r10
- adds r1, 0x10
- mov r0, r10
- adds r0, 0x4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
-_080A1374:
- ldr r0, _080A138C
- movs r5, 0
- ldrsh r1, [r0, r5]
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- blt _080A1390
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- b _080A1396
- .align 2, 0
-_080A138C: .4byte gUnknown_2039A34
-_080A1390:
- mov r4, r10
- movs r5, 0xC
- ldrsh r2, [r4, r5]
-_080A1396:
- adds r5, r2, 0
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- cmp r0, 0
- blt _080A13AA
- add r0, sp, 0x8
- movs r4, 0x1
- ldrsb r4, [r0, r4]
- b _080A13B0
-_080A13AA:
- mov r0, r10
- movs r4, 0xE
- ldrsb r4, [r0, r4]
-_080A13B0:
- add r0, sp, 0x1C
- adds r2, r5, 0
- adds r3, r4, 0
- bl GroundMap_GetStationScript
- ldr r0, [sp, 0x1C]
- mov r1, r10
- str r0, [r1, 0x4]
- str r0, [r1, 0x8]
- strh r5, [r1, 0xC]
- strb r4, [r1, 0xE]
- bl _0809EAE0
-_080A13CA:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A4D7C
- ldr r4, _080A13F4
- strh r0, [r4]
- bl sub_809D940
- movs r3, 0
- ldrsh r0, [r4, r3]
- bl GroundMap_ExecuteEnter
- bl _0809EAE0
- .align 2, 0
-_080A13F4: .4byte gUnknown_2039A34
-_080A13F8:
- movs r0, 0
- mov r4, r10
- str r0, [r4, 0x10]
- str r0, [r4, 0x14]
- bl _0809EAE0
-_080A1404:
- mov r5, r10
- ldr r0, [r5, 0x10]
- cmp r0, 0
- bne _080A1410
-_080A140C:
- movs r0, 0
- b _080A142E
-_080A1410:
- mov r0, r10
- adds r0, 0x4
- mov r1, r10
- adds r1, 0x10
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- movs r0, 0
- mov r5, r10
- str r0, [r5, 0x10]
- str r0, [r5, 0x14]
- bl _0809EAE0
-_080A1428:
- movs r0, 0x1
- b _080A142E
-_080A142C:
- movs r0, 0x4
-_080A142E:
- add sp, 0x1BC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ExecuteScriptCommand
-
- thumb_func_start sub_80A1440
-sub_80A1440:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A14E8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A1440
-
- thumb_func_start GroundScript_ExecuteTrigger
-GroundScript_ExecuteTrigger:
- push {r4,r5,lr}
- sub sp, 0xF4
- lsls r0, 16
- asrs r4, r0, 16
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- ldr r1, _080A14C8
- adds r0, r1
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- cmp r0, 0xB
- bne _080A14C4
- add r5, sp, 0x10
- ldr r1, _080A14CC
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_809D600
- movs r0, 0
- add r1, sp, 0x4
- adds r2, r4, 0
- bl sub_809D710
- ldr r3, _080A14D0
- adds r0, r5, 0
- movs r1, 0
- add r2, sp, 0x4
- bl GroundScript_ExecutePP
- add r1, sp, 0x44
- add r0, sp, 0x38
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, _080A14D4
- str r0, [r5, 0x34]
- str r0, [r5, 0x38]
- ldr r1, _080A14D8
- adds r0, r5, 0
- bl HandleAction
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r5, 0
- bl sub_809D648
- cmp r4, 0
- beq _080A14DC
-_080A14C4:
- movs r0, 0
- b _080A14DE
- .align 2, 0
-_080A14C8: .4byte gUnknown_812F1F8
-_080A14CC: .4byte gUnknown_8116488
-_080A14D0: .4byte gUnknown_81166F8
-_080A14D4: .4byte gUnknown_81164E4
-_080A14D8: .4byte gUnknown_8116704
-_080A14DC:
- movs r0, 0x1
-_080A14DE:
- add sp, 0xF4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GroundScript_ExecuteTrigger
-
- thumb_func_start sub_80A14E8
-sub_80A14E8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, _080A1514
- add sp, r4
- adds r6, r0, 0
- adds r5, r2, 0
- adds r7, r3, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x49
- bls _080A1508
- bl _080A236A
-_080A1508:
- lsls r0, 2
- ldr r1, _080A1518
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A1514: .4byte 0xfffffc80
-_080A1518: .4byte _080A151C
- .align 2, 0
-_080A151C:
- .4byte _080A1644
- .4byte _080A164C
- .4byte _080A1672
- .4byte _080A167A
- .4byte _080A1680
- .4byte _080A1688
- .4byte _080A1690
- .4byte _080A1698
- .4byte _080A169E
- .4byte _080A16C6
- .4byte _080A1730
- .4byte _080A1756
- .4byte _080A178C
- .4byte _080A1792
- .4byte _080A17C0
- .4byte _080A17C6
- .4byte _080A1800
- .4byte _080A1814
- .4byte _080A1824
- .4byte _080A1840
- .4byte _080A185E
- .4byte _080A18C2
- .4byte _080A18E2
- .4byte _080A18F2
- .4byte _080A1904
- .4byte _080A197C
- .4byte _080A1988
- .4byte _080A19DC
- .4byte _080A19FC
- .4byte _080A1A0E
- .4byte _080A1A18
- .4byte _080A1A70
- .4byte _080A1AF8
- .4byte _080A1B20
- .4byte _080A1B36
- .4byte _080A1B58
- .4byte _080A1B64
- .4byte _080A1BD8
- .4byte _080A1BE4
- .4byte _080A1C30
- .4byte _080A1C84
- .4byte _080A1DEC
- .4byte _080A1E30
- .4byte _080A1E3C
- .4byte _080A1ED0
- .4byte _080A1ED6
- .4byte _080A1F28
- .4byte _080A1F3C
- .4byte _080A1F44
- .4byte _080A1F50
- .4byte _080A1F80
- .4byte _080A1FDA
- .4byte _080A202C
- .4byte _080A2054
- .4byte _080A2060
- .4byte _080A204A
- .4byte _080A206C
- .4byte _080A2076
- .4byte _080A207C
- .4byte _080A2082
- .4byte _080A20D4
- .4byte _080A20F4
- .4byte _080A21E4
- .4byte _080A228C
- .4byte _080A229E
- .4byte _080A2298
- .4byte _080A22AE
- .4byte _080A22CC
- .4byte _080A22E4
- .4byte _080A2304
- .4byte _080A2320
- .4byte _080A232E
- .4byte _080A233A
- .4byte _080A2346
-_080A1644:
- bl sub_8098C58
- bl _080A236A
-_080A164C:
- bl sub_8011C34
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080A1660
- bl Random
- bl sub_8011C40
-_080A1660:
- movs r0, 0x1
- bl sub_8011C28
- bl sub_8001064
- bl sub_809965C
- bl _080A236A
-_080A1672:
- bl sub_8098CC8
- bl _080A236A
-_080A167A:
- bl sub_80961D8
- b _080A1804
-_080A1680:
- bl sub_8096028
- bl _080A236A
-_080A1688:
- bl sub_80963FC
- bl _080A236A
-_080A1690:
- bl sub_8096488
- bl _080A236A
-_080A1698:
- bl sub_80964B4
- b _080A1804
-_080A169E:
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _080A16B0
- bl sub_808D4B0
- b _080A16B4
-_080A16B0:
- bl sub_808D500
-_080A16B4:
- lsls r0, 24
- lsrs r4, r0, 24
- bl nullsub_104
- negs r0, r4
- orrs r0, r4
- lsrs r0, 31
- bl _080A236C
-_080A16C6:
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- beq _080A16D2
- bl _080A236A
-_080A16D2:
- movs r2, 0xE
- ldrsh r0, [r6, r2]
- add r1, sp, 0x314
- bl sub_80A8C4C
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _080A16E8
- bl _080A236A
-_080A16E8:
- add r0, sp, 0x314
- ldrb r0, [r0]
- cmp r0, 0x44
- bne _080A16FC
- movs r0, 0x82
- lsls r0, 1
- cmp r1, r0
- bne _080A16FC
- bl _080A203C
-_080A16FC:
- movs r3, 0xE
- ldrsh r0, [r6, r3]
- bl sub_80A90C8
- lsls r0, 16
- ldr r1, _080A172C
- asrs r0, 14
- adds r0, r1
- ldr r1, [r0]
- add r0, sp, 0x4
- bl strcpy
- movs r0, 0
- movs r1, 0x1
- add r2, sp, 0x4
- bl sub_809AE90
-_080A171E:
- lsls r0, 24
-_080A1720:
- cmp r0, 0
- beq _080A1726
- b _080A1EBE
-_080A1726:
- bl _080A236A
- .align 2, 0
-_080A172C: .4byte gUnknown_813237C
-_080A1730:
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2740
- lsls r0, 24
- lsrs r0, 24
- bl sub_80969D0
- movs r1, 0
- cmp r0, 0
- ble _080A1750
- movs r1, 0x1
-_080A1750:
- adds r0, r1, 0
- bl _080A236C
-_080A1756:
- add r4, sp, 0x104
- adds r0, r4, 0
- bl sub_8099394
- lsls r0, 24
- cmp r0, 0
- bne _080A1768
- bl _080A236A
-_080A1768:
- ldr r0, _080A1788
- ldr r1, [r0]
- ldrb r2, [r4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 4
- adds r1, r0
- adds r1, 0x2C
- movs r0, 0
- ldrsb r0, [r1, r0]
-_080A177C:
- cmp r0, 0
- ble _080A1782
- b _080A1EBE
-_080A1782:
- bl _080A236A
- .align 2, 0
-_080A1788: .4byte gUnknown_203B480
-_080A178C:
- bl sub_8097640
- b _080A1804
-_080A1792:
- movs r5, 0x11
-_080A1794:
- lsls r4, r5, 16
- asrs r0, r4, 16
- bl sub_809758C
- lsls r0, 24
- cmp r0, 0
- beq _080A17B6
- lsrs r4, 16
- movs r0, 0
- movs r1, 0x2F
- adds r2, r4, 0
- bl sub_8001784
- cmp r0, 0
- bne _080A17B6
- bl _080A234E
-_080A17B6:
- adds r5, 0x1
- cmp r5, 0x16
- ble _080A1794
- bl _080A236A
-_080A17C0:
- bl sub_80964E4
- b _080A1804
-_080A17C6:
- movs r4, 0x8
- ldrsh r0, [r6, r4]
- cmp r0, 0x1
- beq _080A17D2
- bl _080A236A
-_080A17D2:
- movs r5, 0xA
- ldrsh r0, [r6, r5]
- cmp r0, 0
- beq _080A17DE
- bl _080A236A
-_080A17DE:
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- beq _080A17EA
- bl _080A236A
-_080A17EA:
- movs r2, 0xA
- ldrsh r4, [r6, r2]
- movs r3, 0xE
- ldrsh r0, [r6, r3]
- bl sub_80A8E9C
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_80A87E0
- b _080A171E
-_080A1800:
- bl sub_80A8D20
-_080A1804:
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bl _080A236C
-_080A1814:
- ldr r0, _080A1820
- ldrh r0, [r0]
- movs r1, 0xC0
- lsls r1, 2
- ands r0, r1
- b _080A1720
- .align 2, 0
-_080A1820: .4byte gUnknown_20255F0
-_080A1824:
- lsls r0, r5, 16
- asrs r0, 16
- bl sub_80A8D54
- cmp r0, 0
- bne _080A1834
- bl _080A236A
-_080A1834:
- ldrh r0, [r0]
- lsrs r0, 1
- movs r1, 0x1
- ands r0, r1
- bl _080A236C
-_080A1840:
- movs r4, 0x8
- ldrsh r0, [r6, r4]
- cmp r0, 0x1
- beq _080A184C
- bl _080A236A
-_080A184C:
- movs r5, 0xA
- ldrsh r0, [r6, r5]
- bl sub_80A8BFC
- lsls r0, 16
- asrs r0, 16
- bl sub_808DB48
- b _080A171E
-_080A185E:
- lsls r0, r5, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0
- bge _080A1872
- bl _080A236A
-_080A1872:
- lsls r4, r7, 8
- ldr r1, [r6]
- ldr r0, [r6, 0x4]
- add r7, sp, 0x318
- ldr r2, [r1, 0xC]
- adds r1, r7, 0
- bl _call_via_r2
- add r6, sp, 0x320
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80A8FD8
- add r0, sp, 0x318
- ldr r3, [r0]
- subs r1, r3, r4
- add r0, sp, 0x320
- ldr r2, [r0]
- cmp r1, r2
- ble _080A189E
- bl _080A236A
-_080A189E:
- adds r0, r3, r4
- cmp r0, r2
- bge _080A18A8
- bl _080A236A
-_080A18A8:
- ldr r2, [r7, 0x4]
- subs r0, r2, r4
- ldr r1, [r6, 0x4]
- cmp r0, r1
- ble _080A18B6
- bl _080A236A
-_080A18B6:
- adds r0, r2, r4
- cmp r0, r1
- blt _080A18BE
- b _080A1EBE
-_080A18BE:
- bl _080A236A
-_080A18C2:
- movs r0, 0x1
- bl sub_80A8D54
- cmp r0, 0
- bne _080A18D0
- bl _080A236A
-_080A18D0:
- adds r1, r0, 0
- adds r1, 0x4C
- movs r2, 0
- adds r0, 0x55
-_080A18D8:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _080A18D8
- b _080A1EBE
-_080A18E2:
- movs r0, 0xC
- bl sub_80925EC
- movs r0, 0x12
- bl sub_80925EC
- bl _080A236A
-_080A18F2:
- ldr r0, _080A1900
- movs r1, 0x3C
-_080A18F6:
- movs r2, 0xA
- bl sub_80A8F50
- bl _080A236A
- .align 2, 0
-_080A1900: .4byte gUnknown_2039D98
-_080A1904:
- movs r0, 0x51
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_80925EC
- add r1, sp, 0x4
- ldr r0, _080A1970
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r4,r6}
- stm r1!, {r2,r4,r6}
- ldm r0!, {r3,r4,r6}
- stm r1!, {r3,r4,r6}
- ldr r0, [r0]
- str r0, [r1]
- add r4, sp, 0x2C
- adds r0, r4, 0
- add r1, sp, 0x4
- bl sub_808D144
- adds r0, r4, 0
- bl sub_808D1DC
- cmp r0, 0
- bne _080A193C
- b _080A1EBE
-_080A193C:
- movs r3, 0
- ldr r1, _080A1974
- mov r8, r1
- lsls r6, r5, 2
- ldr r2, _080A1978
- adds r4, r0, 0
- adds r4, 0x4C
- mov r7, r8
-_080A194C:
- adds r0, r4, r3
- adds r1, r3, r7
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x9
- ble _080A194C
-_080A195A:
- adds r0, r6, r5
- lsls r0, 4
- adds r0, r2
- mov r1, r8
- movs r2, 0xA
- bl sub_80922B4
-_080A1968:
- bl sub_8097848
- bl _080A236A
- .align 2, 0
-_080A1970: .4byte gUnknown_8116710
-_080A1974: .4byte gUnknown_2039D98
-_080A1978: .4byte gUnknown_202E2B8
-_080A197C:
- ldr r0, _080A1984
- movs r1, 0x53
- b _080A18F6
- .align 2, 0
-_080A1984: .4byte gUnknown_2039D98
-_080A1988:
- ldr r0, _080A19D4
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_80925EC
- add r1, sp, 0x84
- adds r2, r1, 0
- ldr r0, _080A19D8
- ldm r0!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r0!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldr r0, [r0]
- str r0, [r2]
- add r4, sp, 0xAC
- adds r0, r4, 0
- bl sub_808D144
- adds r0, r4, 0
- bl sub_808D1DC
- adds r4, r0, 0
- cmp r4, 0
- bne _080A19C2
- b _080A1EBE
-_080A19C2:
- bl sub_8097848
- ldrh r1, [r4]
- movs r0, 0x2
- orrs r0, r1
- strh r0, [r4]
- bl _080A236A
- .align 2, 0
-_080A19D4: .4byte 0x00000183
-_080A19D8: .4byte gUnknown_8116738
-_080A19DC:
- ldr r0, _080A19F8
- movs r1, 0
- bl sub_808D434
- adds r2, r0, 0
- cmp r2, 0
- bne _080A19EC
- b _080A1EBE
-_080A19EC:
- ldrh r1, [r2]
- movs r0, 0x2
- orrs r0, r1
- strh r0, [r2]
- bl _080A236A
- .align 2, 0
-_080A19F8: .4byte 0x00000183
-_080A19FC:
- movs r0, 0x82
- lsls r0, 1
-_080A1A00:
- bl sub_808D278
- cmp r0, 0
- bne _080A1A0A
- b _080A1EBE
-_080A1A0A:
- bl _080A236A
-_080A1A0E:
- ldr r0, _080A1A14
- movs r1, 0x7C
- b _080A18F6
- .align 2, 0
-_080A1A14: .4byte gUnknown_2039D98
-_080A1A18:
- add r1, sp, 0x108
- adds r2, r1, 0
- ldr r0, _080A1A64
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldr r0, [r0]
- str r0, [r2]
- add r4, sp, 0x130
- adds r0, r4, 0
- bl sub_808D144
- adds r0, r4, 0
- bl sub_808D1DC
- cmp r0, 0
- bne _080A1A42
- b _080A1EBE
-_080A1A42:
- movs r3, 0
- ldr r4, _080A1A68
- mov r8, r4
- lsls r6, r5, 2
- ldr r2, _080A1A6C
- adds r4, r0, 0
- adds r4, 0x4C
- mov r7, r8
-_080A1A52:
- adds r0, r4, r3
- adds r1, r3, r7
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x9
- ble _080A1A52
- b _080A195A
- .align 2, 0
-_080A1A64: .4byte gUnknown_8116760
-_080A1A68: .4byte gUnknown_2039D98
-_080A1A6C: .4byte gUnknown_202E2B8
-_080A1A70:
- movs r0, 0x9E
- movs r1, 0x1
- bl sub_80026E8
- movs r0, 0x91
- movs r1, 0
- bl sub_808D434
- cmp r0, 0
- bne _080A1A9A
- ldr r3, _080A1AEC
- str r0, [sp]
- movs r0, 0x91
- movs r1, 0
- movs r2, 0
- bl sub_808D2E8
- cmp r0, 0
- beq _080A1A9A
- bl sub_8097848
-_080A1A9A:
- movs r0, 0x92
- movs r1, 0
- bl sub_808D434
- cmp r0, 0
- bne _080A1ABC
- ldr r3, _080A1AF0
- str r0, [sp]
- movs r0, 0x92
- movs r1, 0
- movs r2, 0
- bl sub_808D2E8
- cmp r0, 0
- beq _080A1ABC
- bl sub_8097848
-_080A1ABC:
- movs r0, 0x90
- movs r1, 0
- bl sub_808D434
- cmp r0, 0
- beq _080A1ACC
- bl _080A236A
-_080A1ACC:
- ldr r3, _080A1AF4
- str r0, [sp]
- movs r0, 0x90
- movs r1, 0
- movs r2, 0
- bl sub_808D2E8
- cmp r0, 0
- bne _080A1AE2
- bl _080A236A
-_080A1AE2:
- bl sub_8097848
- bl _080A236A
- .align 2, 0
-_080A1AEC: .4byte gUnknown_8116788
-_080A1AF0: .4byte gUnknown_811678C
-_080A1AF4: .4byte gUnknown_8116790
-_080A1AF8:
- movs r0, 0x90
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- bne _080A1B08
- bl _080A236A
-_080A1B08:
- movs r0, 0x91
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- bne _080A1B18
- bl _080A236A
-_080A1B18:
- movs r0, 0x92
- bl sub_808E734
- b _080A171E
-_080A1B20:
- bl sub_808D33C
- ldrh r0, [r0, 0x8]
- subs r0, 0x90
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _080A1B32
- b _080A1EBE
-_080A1B32:
- bl _080A236A
-_080A1B36:
- bl sub_808D33C
- cmp r0, 0
- beq _080A1B4A
- movs r5, 0x8
- ldrsh r1, [r0, r5]
- ldr r0, _080A1B54
- cmp r1, r0
- bne _080A1B4A
- b _080A203C
-_080A1B4A:
- ldr r0, _080A1B54
- bl sub_8098134
- b _080A171E
- .align 2, 0
-_080A1B54: .4byte 0x00000113
-_080A1B58:
- ldr r0, _080A1B60
- movs r1, 0x79
- b _080A18F6
- .align 2, 0
-_080A1B60: .4byte gUnknown_2039D98
-_080A1B64:
- ldr r4, _080A1BCC
- adds r0, r4, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- bne _080A1B88
- adds r0, r4, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_80925EC
-_080A1B88:
- add r1, sp, 0x188
- adds r2, r1, 0
- ldr r0, _080A1BD0
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r0!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r0!, {r4-r6}
- stm r2!, {r4-r6}
- ldr r0, [r0]
- str r0, [r2]
- add r4, sp, 0x1B0
- adds r0, r4, 0
- bl sub_808D144
- adds r0, r4, 0
- bl sub_808D1DC
- cmp r0, 0
- bne _080A1BB2
- b _080A1EBE
-_080A1BB2:
- movs r2, 0
- adds r3, r0, 0
- adds r3, 0x4C
- ldr r4, _080A1BD4
-_080A1BBA:
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x9
- ble _080A1BBA
- b _080A1968
- .align 2, 0
-_080A1BCC: .4byte 0x00000199
-_080A1BD0: .4byte gUnknown_8116794
-_080A1BD4: .4byte gUnknown_2039D98
-_080A1BD8:
- ldr r0, _080A1BE0
- movs r1, 0x7A
- b _080A18F6
- .align 2, 0
-_080A1BE0: .4byte gUnknown_2039D98
-_080A1BE4:
- add r1, sp, 0x208
- adds r2, r1, 0
- ldr r0, _080A1C28
- ldm r0!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r0!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldr r0, [r0]
- str r0, [r2]
- add r4, sp, 0x230
- adds r0, r4, 0
- bl sub_808D144
- adds r0, r4, 0
- bl sub_808D1DC
- cmp r0, 0
- bne _080A1C0E
- b _080A1EBE
-_080A1C0E:
- movs r2, 0
- adds r3, r0, 0
- adds r3, 0x4C
- ldr r4, _080A1C2C
-_080A1C16:
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x9
- ble _080A1C16
- b _080A1968
- .align 2, 0
-_080A1C28: .4byte gUnknown_81167BC
-_080A1C2C: .4byte gUnknown_2039D98
-_080A1C30:
- bl sub_8090A34
- cmp r0, 0x13
- ble _080A1C70
- ldr r0, _080A1C64
- ldrb r4, [r0, 0x2]
- adds r0, r4, 0
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- bne _080A1C4A
- b _080A236A
-_080A1C4A:
- ldr r0, _080A1C68
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x50
- adds r1, r0, r1
- ldrh r2, [r1]
- ldr r0, _080A1C6C
- cmp r2, r0
- bls _080A1C5E
- b _080A236A
-_080A1C5E:
- adds r0, r2, 0x1
- strh r0, [r1]
- b _080A236A
- .align 2, 0
-_080A1C64: .4byte gUnknown_81167E4
-_080A1C68: .4byte gUnknown_203B460
-_080A1C6C: .4byte 0x000003e6
-_080A1C70:
- ldr r0, _080A1C80
- ldrb r0, [r0, 0x2]
- movs r1, 0
- bl sub_809124C
- bl sub_80910B4
- b _080A236A
- .align 2, 0
-_080A1C80: .4byte gUnknown_81167E4
-_080A1C84:
- movs r0, 0xD1
- lsls r0, 1
- bl RandomCapped
- adds r0, 0x1
- lsls r0, 16
- asrs r5, r0, 16
- movs r0, 0x20
- bl RandomCapped
- adds r4, r0, 0
- movs r7, 0xD2
- lsls r7, 1
- movs r6, 0
- ldr r0, _080A1DE0
- mov r8, r0
-_080A1CA4:
- adds r0, r5, 0x1
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, r8
- ble _080A1CB0
- movs r5, 0x1
-_080A1CB0:
- subs r7, 0x1
- cmp r7, 0
- bge _080A1CCC
- cmp r6, 0
- bne _080A1CBC
- b _080A2360
-_080A1CBC:
- cmp r4, r6
- blt _080A1CCC
- adds r0, r6, 0
- bl RandomCapped
- adds r4, r0, 0
- movs r7, 0xD2
- lsls r7, 1
-_080A1CCC:
- adds r0, r5, 0
- subs r0, 0x90
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _080A1CA4
- ldr r0, _080A1DE4
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0xB
- cmp r5, r0
- beq _080A1CA4
- subs r0, 0xD
- cmp r5, r0
- beq _080A1CA4
- subs r0, 0x88
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x67
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x23
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x3
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- cmp r5, r8
- beq _080A1CA4
- cmp r5, 0x96
- beq _080A1CA4
- subs r0, 0x5
- cmp r5, r0
- beq _080A1CA4
- cmp r5, 0x97
- beq _080A1CA4
- subs r0, 0x5
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- subs r0, 0x8C
- cmp r5, r0
- beq _080A1CA4
- subs r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x2
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x5
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x82
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- subs r0, 0x83
- cmp r5, r0
- beq _080A1CA4
- adds r0, r5, 0
- bl sub_80981DC
- lsls r0, 24
- cmp r0, 0
- beq _080A1CA4
- adds r0, r5, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _080A1D9E
- adds r0, r5, 0
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- bne _080A1CA4
- adds r0, r5, 0
- bl sub_808D278
- cmp r0, 0
- beq _080A1CA4
-_080A1D9E:
- adds r6, 0x1
- subs r4, 0x1
- cmp r4, 0
- blt _080A1DA8
- b _080A1CA4
-_080A1DA8:
- movs r0, 0
- movs r1, 0x1F
- adds r2, r5, 0
- bl sub_80018D8
- ldr r4, _080A1DE8
- adds r0, r5, 0
- bl sub_808DBA8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- bl sub_8092578
- adds r0, r5, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- bne _080A1EBE
- b _080A203C
- .align 2, 0
-_080A1DE0: .4byte 0x000001a3
-_080A1DE4: .4byte 0x0000019b
-_080A1DE8: .4byte gUnknown_202E628
-_080A1DEC:
- movs r0, 0
- movs r1, 0x1F
- bl sub_8001658
- lsls r0, 16
- asrs r5, r0, 16
- ldr r4, _080A1E2C
- adds r0, r5, 0
- bl sub_808DBA8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- bl sub_8092578
- cmp r5, 0
- bne _080A1E14
- b _080A236A
-_080A1E14:
- adds r0, r5, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- bne _080A1EBE
- b _080A203C
- .align 2, 0
-_080A1E2C: .4byte gUnknown_202E628
-_080A1E30:
- ldr r0, _080A1E38
- movs r1, 0x20
- b _080A18F6
- .align 2, 0
-_080A1E38: .4byte gUnknown_2039D98
-_080A1E3C:
- cmp r5, 0
- bne _080A1E42
- b _080A2360
-_080A1E42:
- movs r0, 0
- movs r1, 0x1F
- bl sub_8001658
- lsls r0, 16
- asrs r5, r0, 16
- adds r6, r5, 0
- ldr r4, _080A1EC4
- adds r0, r5, 0
- bl sub_808DBA8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- bl sub_8092578
- cmp r5, 0
- bne _080A1E6C
- b _080A236A
-_080A1E6C:
- adds r0, r5, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- bne _080A1E8E
- adds r0, r5, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_80925EC
-_080A1E8E:
- ldr r3, _080A1EC8
- movs r0, 0
- str r0, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- bl sub_808D2E8
- cmp r0, 0
- bne _080A1EA4
- b _080A236A
-_080A1EA4:
- movs r2, 0
- adds r3, r0, 0
- adds r3, 0x4C
- ldr r4, _080A1ECC
-_080A1EAC:
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x9
- ble _080A1EAC
- bl sub_8097848
-_080A1EBE:
- movs r0, 0x1
- b _080A236C
- .align 2, 0
-_080A1EC4: .4byte gUnknown_202E628
-_080A1EC8: .4byte gUnknown_81167E8
-_080A1ECC: .4byte gUnknown_2039D98
-_080A1ED0:
- bl sub_809211C
- b _080A177C
-_080A1ED6:
- bl sub_8092178
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_809211C
- cmp r0, 0
- bgt _080A1EE8
- b _080A236A
-_080A1EE8:
- bl sub_8092158
- bl sub_8092178
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r4, 0
- bl sub_80921A8
- adds r1, r0, 0
- ldr r4, _080A1F30
- adds r0, r4, 0
- bl strcpy
- adds r0, r5, 0
- bl sub_80921A8
- adds r1, r0, 0
- adds r4, 0x50
- adds r0, r4, 0
- bl strcpy
- movs r1, 0x1
- negs r1, r1
- ldr r2, _080A1F34
- movs r0, 0
- bl sub_809AE90
- lsls r0, 24
- cmp r0, 0
- bne _080A1EBE
-_080A1F28:
- ldr r0, _080A1F38
- bl sub_80913A0
- b _080A236A
- .align 2, 0
-_080A1F30: .4byte gUnknown_202DE58
-_080A1F34: .4byte gUnknown_81167EC
-_080A1F38: .4byte 0x00002710
-_080A1F3C:
- ldr r0, _080A1F40
- b _080A1A00
- .align 2, 0
-_080A1F40: .4byte 0x00000133
-_080A1F44:
- ldr r0, _080A1F4C
- movs r1, 0x52
- b _080A18F6
- .align 2, 0
-_080A1F4C: .4byte gUnknown_2039D98
-_080A1F50:
- add r1, sp, 0x288
- adds r2, r1, 0
- ldr r0, _080A1F7C
- ldm r0!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r0!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldr r0, [r0]
- str r0, [r2]
- add r4, sp, 0x2B0
- adds r0, r4, 0
- bl sub_808D144
- adds r0, r4, 0
- bl sub_808D1DC
- cmp r0, 0
- beq _080A1EBE
- b _080A1968
- .align 2, 0
-_080A1F7C: .4byte gUnknown_811681C
-_080A1F80:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0x12
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- bne _080A1F94
- b _080A236A
-_080A1F94:
- movs r0, 0
- movs r1, 0xF
- bl sub_8001658
- cmp r0, 0x4
- bne _080A1FA2
- b _080A236A
-_080A1FA2:
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- bl sub_8001784
- cmp r0, 0
- ble _080A1FB2
- b _080A236A
-_080A1FB2:
- movs r0, 0x80
- lsls r0, 1
- bl OtherRandomCapped
- cmp r0, 0
- bne _080A1FCC
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- movs r3, 0x4
- bl sub_800199C
- b _080A1EBE
-_080A1FCC:
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- movs r3, 0x1
- bl sub_800199C
- b _080A236A
-_080A1FDA:
- ldr r6, _080A200C
- ldr r7, _080A2010
- movs r5, 0x2
-_080A1FE0:
- bl sub_8090A34
- cmp r0, 0x13
- ble _080A2018
- ldrb r4, [r6, 0x2]
- adds r0, r4, 0
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _080A2024
- ldr r0, _080A2014
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x50
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r7
- bhi _080A2024
- adds r0, 0x1
- strh r0, [r1]
- b _080A2024
- .align 2, 0
-_080A200C: .4byte gUnknown_8116844
-_080A2010: .4byte 0x000003e6
-_080A2014: .4byte gUnknown_203B460
-_080A2018:
- ldrb r0, [r6, 0x2]
- movs r1, 0
- bl sub_809124C
- bl sub_80910B4
-_080A2024:
- subs r5, 0x1
- cmp r5, 0
- bge _080A1FE0
- b _080A236A
-_080A202C:
- bl sub_808D33C
- cmp r0, 0
- beq _080A2040
- movs r4, 0x8
- ldrsh r0, [r0, r4]
- cmp r0, 0x71
- bne _080A2040
-_080A203C:
- movs r0, 0x2
- b _080A236C
-_080A2040:
- movs r0, 0x71
- bl sub_8098134
- bl _080A171E
-_080A204A:
- movs r0, 0
- movs r1, 0x1
- bl sub_80A56A0
- b _080A236A
-_080A2054:
- add r0, sp, 0x328
- str r5, [r0]
- str r7, [r0, 0x4]
- bl sub_80A56F0
- b _080A236A
-_080A2060:
- add r0, sp, 0x330
- str r5, [r0]
- str r7, [r0, 0x4]
- bl sub_80A5704
- b _080A236A
-_080A206C:
- lsls r0, r5, 16
- lsrs r0, 16
- bl sub_809C6CC
- b _080A236A
-_080A2076:
- bl sub_809C6EC
- b _080A236A
-_080A207C:
- bl sub_809C760
- b _080A236A
-_080A2082:
- movs r0, 0
- movs r4, 0x80
- lsls r4, 9
-_080A2088:
- movs r1, 0x80
- lsls r1, 15
- bl sub_80A86C8
- adds r0, r4, 0
- movs r5, 0x80
- lsls r5, 9
- adds r4, r5
- asrs r0, 16
- cmp r0, 0x17
- ble _080A2088
- movs r0, 0
- adds r4, r5, 0
-_080A20A2:
- movs r1, 0x80
- lsls r1, 15
- bl sub_80AC1B0
- adds r0, r4, 0
- movs r6, 0x80
- lsls r6, 9
- adds r4, r6
- asrs r0, 16
- cmp r0, 0xF
- ble _080A20A2
- movs r0, 0
- adds r4, r6, 0
-_080A20BC:
- movs r1, 0x80
- lsls r1, 15
- bl sub_80AD0C8
- adds r0, r4, 0
- movs r1, 0x80
- lsls r1, 9
- adds r4, r1
- asrs r0, 16
- cmp r0, 0xF
- ble _080A20BC
- b _080A236A
-_080A20D4:
- add r0, sp, 0x338
- str r5, [r0]
- adds r4, r0, 0
- str r7, [r4, 0x4]
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80A5984
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- adds r1, r4, 0
- bl sub_80A59A0
- b _080A236A
-_080A20F4:
- add r1, sp, 0x308
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1]
- strb r2, [r1, 0x1]
- strb r0, [r1, 0x2]
- strb r0, [r1, 0x3]
- str r2, [r1, 0x4]
- ldr r0, _080A21D8
- ldr r2, _080A21DC
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1, 0x8]
- movs r0, 0x1
- negs r0, r0
- lsls r2, r5, 16
- asrs r2, 16
- lsls r3, r7, 24
- asrs r3, 24
- bl GroundEffect_Add
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080A2128
- b _080A236A
-_080A2128:
- bl sub_80AD158
- adds r7, r0, 0
- add r4, sp, 0x340
- add r5, sp, 0x348
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80A579C
- ldr r0, [r4, 0x4]
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- str r0, [r4, 0x4]
- ldr r0, [r5, 0x4]
- adds r0, r1
- str r0, [r5, 0x4]
- ldr r1, [r6]
- ldr r0, [r6, 0x4]
- add r6, sp, 0x350
- ldr r2, [r1, 0xC]
- adds r1, r6, 0
- bl _call_via_r2
- add r1, sp, 0x350
- ldr r2, [r1]
- add r0, sp, 0x340
- ldr r0, [r0]
- cmp r2, r0
- blt _080A216E
- add r0, sp, 0x348
- ldr r0, [r0]
- cmp r2, r0
- blt _080A2170
- subs r0, 0x1
-_080A216E:
- str r0, [r1]
-_080A2170:
- ldr r1, [r6, 0x4]
- ldr r0, [r4, 0x4]
- cmp r1, r0
- blt _080A2180
- ldr r0, [r5, 0x4]
- cmp r1, r0
- blt _080A2182
- subs r0, 0x1
-_080A2180:
- str r0, [r6, 0x4]
-_080A2182:
- add r1, sp, 0x340
- ldr r0, [r1]
- ldr r2, _080A21E0
- adds r0, r2
- str r0, [r1]
- ldr r0, [r4, 0x4]
- adds r0, r2
- str r0, [r4, 0x4]
- add r1, sp, 0x348
- ldr r0, [r1]
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2
- str r0, [r1]
- ldr r0, [r5, 0x4]
- adds r0, r2
- str r0, [r5, 0x4]
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r3, [r1, 0x20]
- adds r1, r4, 0
- adds r2, r5, 0
- bl _call_via_r3
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r6, 0
- bl _call_via_r2
- movs r0, 0
- movs r1, 0
- add r2, sp, 0x358
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- add r1, sp, 0x358
- ldr r2, [r2, 0x48]
- bl _call_via_r2
- b _080A1EBE
- .align 2, 0
-_080A21D8: .4byte gUnknown_812F1F8
-_080A21DC: .4byte 0x00001310
-_080A21E0: .4byte 0xfffffc00
-_080A21E4:
- ldr r0, _080A2288
- ldrh r4, [r0]
- ldrh r0, [r0, 0x2]
- movs r1, 0xC
- ands r0, r1
- cmp r0, 0
- beq _080A21F4
- b _080A236A
-_080A21F4:
- adds r0, r4, 0
- bl sub_809CFE8
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A2282
- movs r2, 0x80
- lsls r2, 1
- add r0, sp, 0x360
- bl sub_8002BB8
- add r0, sp, 0x360
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- add r2, sp, 0x368
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0x2
- ands r4, r0
- cmp r4, 0
- beq _080A2226
- movs r0, 0x4
-_080A2226:
- cmp r0, 0
- beq _080A2282
- movs r3, 0xDA
- lsls r3, 2
- add r3, sp
- mov r9, r3
- add r7, sp, 0x370
- add r4, sp, 0x378
- mov r8, r0
-_080A2238:
- ldr r1, [r6]
- ldr r0, [r6, 0x4]
- ldr r2, [r1, 0x48]
- mov r1, r9
- bl _call_via_r2
- cmp r0, 0
- beq _080A2276
- movs r5, 0
- str r5, [r7]
- mov r1, r9
- ldr r0, [r1, 0x4]
- str r0, [r7, 0x4]
- ldr r1, [r6]
- ldr r0, [r6, 0x4]
- ldr r2, [r1, 0x48]
- adds r1, r7, 0
- bl _call_via_r2
- cmp r0, 0
- beq _080A2276
- mov r2, r9
- ldr r0, [r2]
- str r0, [r4]
- str r5, [r4, 0x4]
- ldr r1, [r6]
- ldr r0, [r6, 0x4]
- ldr r2, [r1, 0x48]
- adds r1, r4, 0
- bl _call_via_r2
-_080A2276:
- movs r3, 0x1
- negs r3, r3
- add r8, r3
- mov r5, r8
- cmp r5, 0
- bne _080A2238
-_080A2282:
- movs r0, 0x1
- negs r0, r0
- b _080A236C
- .align 2, 0
-_080A2288: .4byte gUnknown_20255F0
-_080A228C:
- negs r0, r5
- orrs r0, r5
- lsrs r0, 31
- bl sub_80993C0
- b _080A236A
-_080A2298:
- movs r0, 0x1
- bl sub_8011C28
-_080A229E:
- adds r0, r5, 0
- bl sub_8098F00
- lsls r0, r5, 16
- lsrs r0, 16
- bl sub_80118C4
- b _080A236A
-_080A22AE:
- bl sub_800C068
- ldr r1, _080A22C4
- strh r0, [r1]
- lsls r0, 16
- ldr r1, _080A22C8
- cmp r0, r1
- beq _080A22C0
- b _080A1EBE
-_080A22C0:
- b _080A236A
- .align 2, 0
-_080A22C4: .4byte gUnknown_2039DA8
-_080A22C8: .4byte 0x03e70000
-_080A22CC:
- ldr r4, _080A22DC
- ldrh r0, [r4]
- ldr r5, _080A22E0
- cmp r0, r5
- beq _080A236A
- bl sub_80118F0
- b _080A2312
- .align 2, 0
-_080A22DC: .4byte gUnknown_2039DA8
-_080A22E0: .4byte 0x000003e7
-_080A22E4:
- ldr r4, _080A22FC
- ldrh r0, [r4]
- ldr r6, _080A2300
- cmp r0, r6
- beq _080A236A
- lsls r1, r5, 16
- lsrs r1, 16
- bl sub_8011900
- strh r6, [r4]
- b _080A1EBE
- .align 2, 0
-_080A22FC: .4byte gUnknown_2039DA8
-_080A2300: .4byte 0x000003e7
-_080A2304:
- ldr r4, _080A2318
- ldrh r0, [r4]
- ldr r5, _080A231C
- cmp r0, r5
- beq _080A236A
- bl sub_8011914
-_080A2312:
- strh r5, [r4]
- b _080A1EBE
- .align 2, 0
-_080A2318: .4byte gUnknown_2039DA8
-_080A231C: .4byte 0x000003e7
-_080A2320:
- lsls r0, r5, 16
- lsrs r0, 16
- lsls r1, r7, 16
- lsrs r1, 16
- bl sub_80997F4
- b _080A236A
-_080A232E:
- lsls r1, r5, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl sub_80997F4
- b _080A236A
-_080A233A:
- lsls r1, r5, 16
- lsrs r1, 16
- movs r0, 0
- bl GroundSprite_ExtendPaletteAdd
- b _080A236A
-_080A2346:
- movs r0, 0
- bl GroundSprite_ExtendPaletteDelete
- b _080A236A
-_080A234E:
- movs r0, 0
- movs r1, 0x2F
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_800199C
- adds r0, r5, 0
- subs r0, 0x10
- b _080A236C
-_080A2360:
- movs r0, 0
- movs r1, 0x1F
- movs r2, 0
- bl sub_80018D8
-_080A236A:
- movs r0, 0
-_080A236C:
- movs r3, 0xE0
- 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_80A14E8
-
- thumb_func_start GroundScript_Unlock
-GroundScript_Unlock:
- push {r4-r7,lr}
- ldr r1, _080A241C
- ldrb r0, [r1]
- cmp r0, 0
- beq _080A2414
- movs r0, 0
- strb r0, [r1]
- movs r6, 0
-_080A2390:
- ldr r0, _080A2420
- adds r7, r6, r0
- ldrb r0, [r7]
- cmp r0, 0
- beq _080A240E
- movs r0, 0x1
- ldr r1, _080A2424
- adds r2, r6, 0
- bl Log
- lsls r5, r6, 16
- asrs r5, 16
- adds r0, r5, 0
- bl sub_80A4D2C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_80A8B1C
- orrs r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_80AC320
- orrs r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_80AD238
- orrs r4, r0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A2428
- adds r5, r6, r0
- ldrb r0, [r5]
- cmp r0, 0
- beq _080A240C
- cmp r4, 0
- beq _080A240E
- movs r0, 0x80
- adds r4, r6, 0
- orrs r4, r0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80A4D2C
- adds r0, r4, 0
- bl sub_80A8B1C
- adds r0, r4, 0
- bl sub_80AC320
- adds r0, r4, 0
- bl sub_80AD238
- movs r0, 0
- strb r0, [r5]
-_080A240C:
- strb r0, [r7]
-_080A240E:
- adds r6, 0x1
- cmp r6, 0x80
- ble _080A2390
-_080A2414:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A241C: .4byte gUnknown_2039A36
-_080A2420: .4byte gUnknown_2039A38
-_080A2424: .4byte gUnknown_8116848
-_080A2428: .4byte gUnknown_2039AC0
- thumb_func_end GroundScript_Unlock
-
- thumb_func_start sub_80A242C
-sub_80A242C:
- push {r4-r7,lr}
- sub sp, 0x10
- adds r4, r1, 0
- ldr r0, [r0, 0x2C]
- adds r2, r0, 0
- adds r2, 0x10
- mov r3, sp
-_080A243A:
- mov r1, sp
- adds r0, r2, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldr r0, [r0]
- str r0, [r1]
- adds r2, 0x10
- ldrb r0, [r3]
- cmp r0, 0xF4
- bne _080A243A
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r4, r0
- bne _080A243A
- adds r0, r2, 0
- add sp, 0x10
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A242C
-
- thumb_func_start sub_80A2460
-sub_80A2460:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r5, r0, 0
- mov r8, r1
- ldr r6, [r5, 0x28]
- mov r4, sp
-_080A2470:
- mov r0, sp
- adds r1, r6, 0
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldr r1, [r1]
- str r1, [r0]
- ldrb r0, [r4]
- cmp r0, 0xCC
- bne _080A249E
- ldr r1, [sp, 0x4]
- mov r0, r8
- movs r2, 0x2
- bl FlagJudge
- lsls r0, 24
- cmp r0, 0
- beq _080A24F0
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_80A242C
- b _080A24F4
-_080A249E:
- cmp r0, 0xCD
- bne _080A24BE
- ldr r1, [sp, 0x4]
- ldrb r2, [r4, 0x1]
- mov r0, r8
- bl FlagJudge
- lsls r0, 24
- cmp r0, 0
- beq _080A24F0
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- adds r0, r5, 0
- bl sub_80A242C
- b _080A24F4
-_080A24BE:
- cmp r0, 0xCE
- bne _080A24EC
- ldr r1, [sp, 0x4]
- lsls r1, 16
- asrs r1, 16
- adds r0, r5, 0
- adds r0, 0x74
- bl sub_8001658
- adds r1, r0, 0
- ldrb r2, [r4, 0x1]
- mov r0, r8
- bl FlagJudge
- lsls r0, 24
- cmp r0, 0
- beq _080A24F0
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- adds r0, r5, 0
- bl sub_80A242C
- b _080A24F4
-_080A24EC:
- adds r0, r6, 0
- b _080A24F4
-_080A24F0:
- adds r6, 0x10
- b _080A2470
-_080A24F4:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2460
-
- thumb_func_start sub_80A2500
-sub_80A2500:
- push {r4,lr}
- adds r4, r0, 0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080A2524
- lsls r4, 16
- asrs r4, 16
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- bl sub_80A8BBC
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_809AB4C
-_080A2524:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A2500
-
- thumb_func_start sub_80A252C
-sub_80A252C:
- push {r4,lr}
- adds r4, r0, 0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080A2550
- lsls r4, 16
- asrs r4, 16
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- bl sub_80A8BBC
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_809ABB4
-_080A2550:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A252C
-
- thumb_func_start sub_80A2558
-sub_80A2558:
- push {r4,lr}
- adds r4, r0, 0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080A257C
- lsls r4, 16
- asrs r4, 16
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- bl sub_80A8BBC
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_809AC18
-_080A257C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A2558
-
- thumb_func_start sub_80A2584
-sub_80A2584:
- push {lr}
- lsls r1, 16
- asrs r1, 16
- lsls r0, 16
- asrs r0, 16
- bl sub_809ABB4
- pop {r0}
- bx r0
- thumb_func_end sub_80A2584
-
- thumb_func_start sub_80A2598
-sub_80A2598:
- push {lr}
- lsls r1, 16
- asrs r1, 16
- lsls r0, 16
- asrs r0, 16
- bl sub_809AC18
- pop {r0}
- bx r0
- thumb_func_end sub_80A2598
-
- thumb_func_start sub_80A25AC
-sub_80A25AC:
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl sub_8098F88
- lsls r0, 24
- cmp r0, 0
- beq _080A25C2
- adds r0, r4, 0
- b _080A2602
-_080A25C2:
- cmp r4, 0x32
- bne _080A25CA
- movs r0, 0x32
- b _080A2602
-_080A25CA:
- movs r0, 0xC
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _080A25E0
- ldr r0, _080A25DC
- b _080A2602
- .align 2, 0
-_080A25DC: .4byte 0x000003e7
-_080A25E0:
- movs r0, 0xD
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A25F0
- movs r0, 0x13
- b _080A2602
-_080A25F0:
- cmp r4, 0x1
- bne _080A2600
- movs r0, 0
- movs r1, 0x28
- bl sub_8001658
- movs r0, 0x1
- b _080A2602
-_080A2600:
- adds r0, r5, 0
-_080A2602:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A25AC
-
- thumb_func_start sub_80A2608
-sub_80A2608:
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A261C
- adds r0, r1
- bx lr
- .align 2, 0
-_080A261C: .4byte gUnknown_81168A8
- thumb_func_end sub_80A2608
-
- thumb_func_start sub_80A2620
-sub_80A2620:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_80A26B8
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A2640
- adds r0, r1
- pop {r1}
- bx r1
- .align 2, 0
-_080A2640: .4byte gUnknown_81168A8
- thumb_func_end sub_80A2620
-
- thumb_func_start sub_80A2644
-sub_80A2644:
- ldr r1, _080A2650
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A2650: .4byte gUnknown_8116F24
- thumb_func_end sub_80A2644
-
- thumb_func_start sub_80A2654
-sub_80A2654:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80A2654
-
- thumb_func_start sub_80A2668
-sub_80A2668:
- push {lr}
- lsls r0, 16
- ldr r2, _080A267C
- adds r1, r0, r2
- lsrs r0, r1, 16
- cmp r0, 0x18
- bls _080A2680
- movs r0, 0x1
- negs r0, r0
- b _080A2682
- .align 2, 0
-_080A267C: .4byte 0xffc90000
-_080A2680:
- asrs r0, r1, 16
-_080A2682:
- pop {r1}
- bx r1
- thumb_func_end sub_80A2668
-
- thumb_func_start sub_80A2688
-sub_80A2688:
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- adds r3, r1, 0
- adds r2, r1, 0
- subs r2, 0x4B
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r0, 0x16
- bhi _080A26A0
- adds r0, r2, 0
- b _080A26B4
-_080A26A0:
- cmp r1, 0x2F
- bne _080A26A8
- movs r0, 0x17
- b _080A26B4
-_080A26A8:
- cmp r3, 0x30
- beq _080A26B2
- movs r0, 0x1
- negs r0, r0
- b _080A26B4
-_080A26B2:
- movs r0, 0x18
-_080A26B4:
- pop {r1}
- bx r1
- thumb_func_end sub_80A2688
-
- thumb_func_start sub_80A26B8
-sub_80A26B8:
- lsls r0, 16
- ldr r1, _080A26C8
- asrs r0, 15
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A26C8: .4byte gUnknown_8116F9A
- thumb_func_end sub_80A26B8
-
- thumb_func_start sub_80A26CC
-sub_80A26CC:
- lsls r0, 16
- movs r1, 0xDC
- lsls r1, 14
- adds r0, r1
- asrs r0, 16
- bx lr
- thumb_func_end sub_80A26CC
-
- thumb_func_start sub_80A26D8
-sub_80A26D8:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
-_080A26E0:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2608
- adds r1, r0, 0
- ldrb r0, [r1, 0x11]
- cmp r0, 0
- beq _080A26FC
- ldrb r0, [r1, 0xC]
- cmp r0, r6
- bne _080A26FC
- adds r0, r4, 0
- b _080A2706
-_080A26FC:
- adds r5, 0x1
- cmp r5, 0x52
- ble _080A26E0
- movs r0, 0x1
- negs r0, r0
-_080A2706:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A26D8
-
- thumb_func_start sub_80A270C
-sub_80A270C:
- push {lr}
- lsls r0, 16
- ldr r1, _080A2724
- asrs r0, 15
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- pop {r1}
- bx r1
- .align 2, 0
-_080A2724: .4byte gUnknown_8116F9A
- thumb_func_end sub_80A270C
-
- thumb_func_start sub_80A2728
-sub_80A2728:
- push {lr}
- lsls r0, 16
- movs r1, 0xDC
- lsls r1, 14
- adds r0, r1
- asrs r0, 16
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- pop {r1}
- bx r1
- thumb_func_end sub_80A2728
-
- thumb_func_start sub_80A2740
-sub_80A2740:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- pop {r1}
- bx r1
- thumb_func_end sub_80A2740
-
- thumb_func_start sub_80A2750
-sub_80A2750:
- push {r4,lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- cmp r1, 0x50
- bne _080A2760
- movs r0, 0x3
- b _080A27C4
-_080A2760:
- cmp r1, 0x51
- beq _080A27BE
- cmp r1, 0x52
- beq _080A2780
- adds r0, r1, 0
- subs r0, 0x28
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xE
- bls _080A27BE
- adds r0, r1, 0
- subs r0, 0x37
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x18
- bhi _080A2784
-_080A2780:
- movs r0, 0x4
- b _080A27C4
-_080A2784:
- adds r0, r2, 0
- bl sub_80A2608
- adds r4, r0, 0
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A27C2
- movs r0, 0x5
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _080A27C2
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- beq _080A27C2
- movs r0, 0x1
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A27C2
-_080A27BE:
- movs r0, 0x2
- b _080A27C4
-_080A27C2:
- movs r0, 0x1
-_080A27C4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2750
-
- thumb_func_start sub_80A27CC
-sub_80A27CC:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r4, r0, 16
- adds r5, r4, 0
- adds r0, r4, 0
- bl sub_80A2620
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A281A
- movs r0, 0x5
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _080A281A
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- bne _080A2816
- movs r0, 0x1
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A281A
- adds r0, r5, 0
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- beq _080A281A
-_080A2816:
- movs r0, 0x1
- b _080A281C
-_080A281A:
- movs r0, 0
-_080A281C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A27CC
-
- thumb_func_start sub_80A2824
-sub_80A2824:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x5
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _080A28AC
- movs r0, 0x1
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A2880
- movs r5, 0
-_080A2844:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r1, r0, 0
- ldrb r0, [r1, 0x11]
- cmp r0, 0
- beq _080A2874
- ldrb r0, [r1, 0xC]
- cmp r0, r6
- bne _080A2874
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- bne _080A287C
- adds r0, r4, 0
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- bne _080A287C
-_080A2874:
- adds r5, 0x1
- cmp r5, 0x2D
- ble _080A2844
- b _080A28AC
-_080A287C:
- movs r0, 0x1
- b _080A28AE
-_080A2880:
- movs r5, 0
-_080A2882:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r1, r0, 0
- ldrb r0, [r1, 0x11]
- cmp r0, 0
- beq _080A28A6
- ldrb r0, [r1, 0xC]
- cmp r0, r6
- bne _080A28A6
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- bne _080A287C
-_080A28A6:
- adds r5, 0x1
- cmp r5, 0x2D
- ble _080A2882
-_080A28AC:
- movs r0, 0
-_080A28AE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2824
-
- thumb_func_start sub_80A28B4
-sub_80A28B4:
- push {r4,lr}
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A28E8
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- bne _080A28E4
- adds r0, r4, 0
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- beq _080A28E8
-_080A28E4:
- movs r0, 0x1
- b _080A28EA
-_080A28E8:
- movs r0, 0
-_080A28EA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A28B4
-
- thumb_func_start sub_80A28F0
-sub_80A28F0:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
-_080A28F8:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r1, r0, 0
- ldrb r0, [r1, 0x11]
- cmp r0, 0
- beq _080A292C
- ldrb r0, [r1, 0xC]
- cmp r0, r6
- bne _080A292C
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- bne _080A2928
- adds r0, r4, 0
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- beq _080A292C
-_080A2928:
- movs r0, 0x1
- b _080A2934
-_080A292C:
- adds r5, 0x1
- cmp r5, 0x2D
- ble _080A28F8
- movs r0, 0
-_080A2934:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A28F0
-
- thumb_func_start sub_80A293C
-sub_80A293C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x40
- mov r8, r0
- movs r7, 0
- movs r1, 0
- mov r0, sp
- adds r0, 0x3E
-_080A294E:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _080A294E
- movs r5, 0
-_080A2958:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r6, r0, 0
- ldrb r0, [r6, 0x11]
- cmp r0, 0
- beq _080A2980
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- beq _080A2980
- ldrb r0, [r6, 0xC]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_080A2980:
- adds r5, 0x1
- cmp r5, 0x2D
- ble _080A2958
- movs r5, 0
-_080A2988:
- mov r1, sp
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A299A
- mov r2, r8
- adds r0, r2, r7
- strb r5, [r0]
- adds r7, 0x1
-_080A299A:
- adds r5, 0x1
- cmp r5, 0x3E
- ble _080A2988
- adds r0, r7, 0
- add sp, 0x40
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A293C
-
- thumb_func_start sub_80A29B0
-sub_80A29B0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x48
- mov r8, r0
- movs r7, 0
- movs r0, 0x2B
- add r0, sp
- mov r9, r0
- add r1, sp, 0x2C
- mov r10, r1
- mov r2, sp
- adds r2, 0x2D
- str r2, [sp, 0x40]
- mov r0, sp
- adds r0, 0x2E
- str r0, [sp, 0x44]
- movs r1, 0
- adds r0, 0x10
-_080A29DA:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _080A29DA
- movs r0, 0x1
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A2A1E
- movs r5, 0
-_080A29F0:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r6, r0, 0
- ldrb r0, [r6, 0x11]
- cmp r0, 0
- beq _080A2A18
- adds r0, r4, 0
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- beq _080A2A18
- ldrb r0, [r6, 0xC]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_080A2A18:
- adds r5, 0x1
- cmp r5, 0x2D
- ble _080A29F0
-_080A2A1E:
- movs r0, 0
- mov r1, r9
- strb r0, [r1]
- mov r2, r10
- strb r0, [r2]
- ldr r1, [sp, 0x40]
- strb r0, [r1]
- ldr r2, [sp, 0x44]
- strb r0, [r2]
- movs r5, 0
-_080A2A32:
- mov r1, sp
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A2A44
- mov r2, r8
- adds r0, r2, r7
- strb r5, [r0]
- adds r7, 0x1
-_080A2A44:
- adds r5, 0x1
- cmp r5, 0x3E
- ble _080A2A32
- adds r0, r7, 0
- add sp, 0x48
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A29B0
-
- thumb_func_start sub_80A2A5C
-sub_80A2A5C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x40
- mov r8, r0
- movs r7, 0
- movs r1, 0
- mov r0, sp
- adds r0, 0x3E
-_080A2A6E:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _080A2A6E
- movs r0, 0x1
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A2AC0
- movs r6, 0
-_080A2A84:
- lsls r0, r6, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r5, r0, 0
- ldrb r0, [r5, 0x11]
- cmp r0, 0
- beq _080A2AB8
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- bne _080A2AAE
- adds r0, r4, 0
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- beq _080A2AB8
-_080A2AAE:
- ldrb r0, [r5, 0xC]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_080A2AB8:
- adds r6, 0x1
- cmp r6, 0x2D
- ble _080A2A84
- b _080A2AF0
-_080A2AC0:
- movs r6, 0
-_080A2AC2:
- lsls r0, r6, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r5, r0, 0
- ldrb r0, [r5, 0x11]
- cmp r0, 0
- beq _080A2AEA
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- beq _080A2AEA
- ldrb r0, [r5, 0xC]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_080A2AEA:
- adds r6, 0x1
- cmp r6, 0x2D
- ble _080A2AC2
-_080A2AF0:
- movs r6, 0
-_080A2AF2:
- mov r1, sp
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A2B04
- mov r2, r8
- adds r0, r2, r7
- strb r6, [r0]
- adds r7, 0x1
-_080A2B04:
- adds r6, 0x1
- cmp r6, 0x3E
- ble _080A2AF2
- adds r0, r7, 0
- add sp, 0x40
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2A5C
-
- thumb_func_start sub_80A2B18
-sub_80A2B18:
- lsls r0, 16
- ldr r1, _080A2B24
- asrs r0, 14
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080A2B24: .4byte gUnknown_8117000
- thumb_func_end sub_80A2B18
-
- thumb_func_start sub_80A2B28
-sub_80A2B28:
- push {lr}
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2B18
- pop {r1}
- bx r1
- thumb_func_end sub_80A2B28
-
- thumb_func_start sub_80A2B40
-sub_80A2B40:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r2, _080A2BFC
- adds r0, r5, r2
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- ldr r3, _080A2C00
- adds r0, r5, r3
- movs r4, 0
- ldrsh r1, [r0, r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- movs r1, 0x6
- bl MemoryAlloc
- movs r2, 0xA9
- lsls r2, 3
- adds r1, r5, r2
- str r0, [r1]
- movs r6, 0
- movs r3, 0xA7
- lsls r3, 3
- adds r0, r5, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r6, r0
- bge _080A2BC0
-_080A2B7C:
- lsls r4, r6, 2
- ldr r0, _080A2C04
- adds r2, r5, r0
- adds r2, r4
- ldr r1, _080A2C08
- adds r0, r5, r1
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r1, r6, 0x2
- adds r0, r1
- lsls r0, 11
- ldr r1, _080A2C0C
- adds r0, r1
- str r0, [r2]
- ldr r1, _080A2C10
- adds r0, r5, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- lsls r0, 7
- movs r1, 0x6
- bl MemoryAlloc
- ldr r3, _080A2C14
- adds r1, r5, r3
- adds r1, r4
- str r0, [r1]
- adds r6, 0x1
- movs r4, 0xA7
- lsls r4, 3
- adds r0, r5, r4
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r6, r0
- blt _080A2B7C
-_080A2BC0:
- cmp r6, 0x1
- bgt _080A2BD8
- movs r1, 0
- lsls r0, r6, 2
- ldr r2, _080A2C14
- adds r0, r2
- adds r0, r5
-_080A2BCE:
- str r1, [r0, 0x8]
- stm r0!, {r1}
- adds r6, 0x1
- cmp r6, 0x1
- ble _080A2BCE
-_080A2BD8:
- movs r3, 0xA8
- lsls r3, 3
- adds r0, r5, r3
- ldr r1, [r0]
- cmp r1, 0
- beq _080A2C20
- ldr r4, _080A2C18
- adds r0, r5, r4
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 8
- movs r1, 0x6
- bl MemoryAlloc
- ldr r2, _080A2C1C
- adds r1, r5, r2
- str r0, [r1]
- b _080A2C26
- .align 2, 0
-_080A2BFC: .4byte 0x0000052c
-_080A2C00: .4byte 0x00000534
-_080A2C04: .4byte 0x00000554
-_080A2C08: .4byte 0x00000536
-_080A2C0C: .4byte gUnknown_202B038
-_080A2C10: .4byte 0x0000053c
-_080A2C14: .4byte 0x0000054c
-_080A2C18: .4byte 0x0000053a
-_080A2C1C: .4byte 0x00000544
-_080A2C20:
- ldr r3, _080A2CF0
- adds r0, r5, r3
- str r1, [r0]
-_080A2C26:
- movs r4, 0x86
- lsls r4, 3
- adds r0, r5, r4
- movs r1, 0
- str r1, [r0]
- ldr r2, _080A2CF4
- adds r0, r5, r2
- str r1, [r0]
- movs r3, 0x87
- lsls r3, 3
- adds r0, r5, r3
- str r1, [r0]
- adds r4, 0xC
- adds r0, r5, r4
- str r1, [r0]
- adds r2, 0xC
- adds r0, r5, r2
- str r1, [r0]
- adds r3, 0xF2
- adds r0, r5, r3
- strb r1, [r0]
- adds r4, 0x8
- adds r2, r5, r4
- ldr r0, _080A2CF8
- strh r0, [r2]
- movs r2, 0x8D
- lsls r2, 3
- adds r0, r5, r2
- str r1, [r0]
- subs r3, 0xE2
- adds r0, r5, r3
- strb r1, [r0]
- adds r4, 0x5
- adds r0, r5, r4
- strb r1, [r0]
- subs r2, 0x1E
- adds r0, r5, r2
- strb r1, [r0]
- adds r3, 0x3
- adds r0, r5, r3
- strb r1, [r0]
- adds r4, 0x3
- adds r0, r5, r4
- strb r1, [r0]
- adds r2, 0x3
- adds r0, r5, r2
- strb r1, [r0]
- adds r2, r5, 0
- adds r3, 0x21
- adds r0, r5, r3
- str r1, [r0]
- adds r4, 0x24
- adds r0, r5, r4
- strb r1, [r0]
- adds r3, 0x5
- adds r0, r5, r3
- strb r1, [r0]
- movs r0, 0
- movs r1, 0xD
-_080A2C9C:
- strh r0, [r2]
- strh r0, [r2, 0x2]
- str r0, [r2, 0x8]
- str r0, [r2, 0x4]
- subs r1, 0x1
- adds r2, 0x10
- cmp r1, 0
- bge _080A2C9C
- movs r1, 0
- movs r4, 0xF8
- lsls r4, 2
- adds r0, r5, r4
- movs r2, 0x1
-_080A2CB6:
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strh r1, [r0, 0x2]
- strh r1, [r0, 0x4]
- str r1, [r0, 0x8]
- str r1, [r0, 0xC]
- str r1, [r0, 0x14]
- str r1, [r0, 0x10]
- str r1, [r0, 0x1C]
- str r1, [r0, 0x18]
- str r1, [r0, 0x20]
- str r1, [r0, 0x24]
- adds r0, 0x28
- subs r2, 0x1
- cmp r2, 0
- bge _080A2CB6
- movs r4, 0
-_080A2CD8:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2CFC
- bl sub_80A456C
- adds r4, 0x1
- cmp r4, 0x1
- ble _080A2CD8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2CF0: .4byte 0x00000544
-_080A2CF4: .4byte 0x00000434
-_080A2CF8: .4byte 0x0000ffff
-_080A2CFC: .4byte gUnknown_81172B8
- thumb_func_end sub_80A2B40
-
- thumb_func_start sub_80A2D00
-sub_80A2D00:
- push {r4-r7,lr}
- adds r6, r0, 0
- bl sub_80A2DD4
- ldr r0, _080A2D5C
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2D1A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080A2D1A:
- movs r1, 0xA9
- lsls r1, 3
- adds r4, r6, r1
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- movs r5, 0
- movs r7, 0
-_080A2D2E:
- lsls r2, r5, 2
- ldr r1, _080A2D60
- adds r0, r6, r1
- adds r1, r0, r2
- ldr r0, [r1]
- cmp r0, 0
- beq _080A2D3E
- str r7, [r1]
-_080A2D3E:
- ldr r1, _080A2D64
- adds r0, r6, r1
- adds r4, r0, r2
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2D50
- bl MemoryFree
- str r7, [r4]
-_080A2D50:
- adds r5, 0x1
- cmp r5, 0x1
- ble _080A2D2E
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2D5C: .4byte 0x00000544
-_080A2D60: .4byte 0x00000554
-_080A2D64: .4byte 0x0000054c
- thumb_func_end sub_80A2D00
-
- thumb_func_start sub_80A2D68
-sub_80A2D68:
- push {r4,lr}
- ldr r1, _080A2D84
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2D7C
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080A2D7C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2D84: .4byte 0x00000544
- thumb_func_end sub_80A2D68
-
- thumb_func_start sub_80A2D88
-sub_80A2D88:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r0, 0xA8
- lsls r0, 3
- adds r7, r6, r0
- ldr r0, [r7]
- cmp r0, 0
- beq _080A2DC6
- movs r1, 0x89
- lsls r1, 3
- adds r5, r6, r1
- ldr r2, _080A2DCC
- adds r4, r6, r2
- movs r1, 0
- ldrsh r0, [r4, r1]
- lsls r0, 8
- movs r1, 0x6
- bl MemoryAlloc
- ldr r2, _080A2DD0
- adds r1, r6, r2
- str r0, [r1]
- subs r2, 0xDC
- adds r1, r6, r2
- ldr r1, [r1]
- movs r2, 0
- ldrsh r3, [r4, r2]
- ldr r4, [r7]
- adds r2, r5, 0
- bl _call_via_r4
-_080A2DC6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2DCC: .4byte 0x0000053a
-_080A2DD0: .4byte 0x00000544
- thumb_func_end sub_80A2D88
-
- thumb_func_start sub_80A2DD4
-sub_80A2DD4:
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r0, 0xFA
- lsls r0, 2
- adds r4, r6, r0
- movs r5, 0x1
-_080A2DE0:
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2DEE
- bl CloseFile
- movs r0, 0
- str r0, [r4]
-_080A2DEE:
- adds r4, 0x28
- subs r5, 0x1
- cmp r5, 0
- bge _080A2DE0
- ldr r0, _080A2E5C
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2E08
- bl CloseFile
- movs r0, 0
- str r0, [r4]
-_080A2E08:
- movs r0, 0x88
- lsls r0, 3
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2E1C
- bl CloseFile
- movs r0, 0
- str r0, [r4]
-_080A2E1C:
- movs r0, 0x86
- lsls r0, 3
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2E30
- bl CloseFile
- movs r0, 0
- str r0, [r4]
-_080A2E30:
- ldr r0, _080A2E60
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2E42
- bl CloseFile
- movs r0, 0
- str r0, [r4]
-_080A2E42:
- movs r0, 0x87
- lsls r0, 3
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2E56
- bl CloseFile
- movs r0, 0
- str r0, [r4]
-_080A2E56:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2E5C: .4byte 0x0000043c
-_080A2E60: .4byte 0x00000434
- thumb_func_end sub_80A2DD4
-
- thumb_func_start sub_80A2E64
-sub_80A2E64:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r7, r0, 0
- bl sub_80A2DD4
- ldr r0, _080A2FA4
- adds r1, r7, r0
- ldr r0, _080A2FA8
- strh r0, [r1]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r7, r1
- movs r1, 0
- movs r2, 0
- strh r2, [r0]
- movs r3, 0x89
- lsls r3, 3
- adds r0, r7, r3
- strb r1, [r0]
- ldr r4, _080A2FAC
- adds r0, r7, r4
- strb r1, [r0]
- adds r3, 0x2
- adds r0, r7, r3
- strb r1, [r0]
- adds r4, 0x2
- adds r0, r7, r4
- strb r1, [r0]
- adds r3, 0x2
- adds r0, r7, r3
- strb r1, [r0]
- adds r4, 0x2
- adds r0, r7, r4
- strb r1, [r0]
- adds r3, r7, 0
- adds r4, 0x1F
- adds r0, r7, r4
- str r2, [r0]
- movs r2, 0x8E
- lsls r2, 3
- adds r0, r7, r2
- strb r1, [r0]
- adds r4, 0x5
- adds r0, r7, r4
- strb r1, [r0]
- movs r0, 0
- movs r1, 0xD
-_080A2ECA:
- strh r0, [r3]
- strh r0, [r3, 0x2]
- str r0, [r3, 0x8]
- str r0, [r3, 0x4]
- subs r1, 0x1
- adds r3, 0x10
- cmp r1, 0
- bge _080A2ECA
- movs r1, 0
- movs r2, 0xF8
- lsls r2, 2
- adds r0, r7, r2
- movs r2, 0x1
-_080A2EE4:
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strh r1, [r0, 0x2]
- strh r1, [r0, 0x4]
- str r1, [r0, 0x8]
- str r1, [r0, 0xC]
- str r1, [r0, 0x14]
- str r1, [r0, 0x10]
- str r1, [r0, 0x1C]
- str r1, [r0, 0x18]
- str r1, [r0, 0x20]
- str r1, [r0, 0x24]
- adds r0, 0x28
- subs r2, 0x1
- cmp r2, 0
- bge _080A2EE4
- ldr r3, _080A2FB0
- adds r0, r7, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- lsls r0, 20
- lsrs r6, r0, 16
- movs r5, 0
- ldr r1, _080A2FB4
- adds r0, r7, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r5, r0
- bge _080A2F78
- mov r10, r5
- add r4, sp, 0x4
- movs r3, 0xFF
- mov r9, r3
-_080A2F26:
- mov r0, r10
- str r0, [sp]
- ldrb r0, [r4]
- mov r1, r9
- orrs r0, r1
- strb r0, [r4]
- ldrb r0, [r4, 0x1]
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x2]
- orrs r0, r1
- strb r0, [r4, 0x2]
- mov r2, r10
- strb r2, [r4, 0x3]
- adds r0, r6, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r1, [sp]
- bl sub_8003810
- adds r5, 0x1
- mov r8, r5
- movs r5, 0xE
-_080A2F56:
- adds r0, r6, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r1, [sp, 0x4]
- bl sub_8003810
- subs r5, 0x1
- cmp r5, 0
- bge _080A2F56
- mov r5, r8
- ldr r3, _080A2FB4
- adds r0, r7, r3
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r5, r0
- blt _080A2F26
-_080A2F78:
- adds r0, r7, 0
- movs r1, 0
- bl sub_80A3BB0
- movs r2, 0x91
- lsls r2, 3
- adds r0, r7, r2
- bl sub_80A3EB0
- ldr r3, _080A2FB8
- adds r1, r7, r3
- movs r0, 0x1
- strb r0, [r1]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2FA4: .4byte 0x00000444
-_080A2FA8: .4byte 0x0000ffff
-_080A2FAC: .4byte 0x00000449
-_080A2FB0: .4byte 0x0000052c
-_080A2FB4: .4byte 0x0000052e
-_080A2FB8: .4byte 0x0000052a
- thumb_func_end sub_80A2E64
-
- thumb_func_start sub_80A2FBC
-sub_80A2FBC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r9, r0
- lsls r1, 16
- asrs r4, r1, 16
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _080A2FDE
- mov r0, r9
- bl sub_80A2E64
- b _080A3428
-_080A2FDE:
- mov r0, r9
- bl sub_80A2DD4
- ldr r0, _080A3284
- add r0, r9
- strh r4, [r0]
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r1, _080A3288
- adds r0, r1
- str r0, [sp, 0xC]
- ldr r0, [r0]
- ldr r4, _080A328C
- adds r1, r4, 0
- bl OpenFileAndGetFileDataPtr
- movs r6, 0x86
- lsls r6, 3
- add r6, r9
- str r0, [r6]
- ldr r1, [sp, 0xC]
- ldr r0, [r1, 0x4]
- adds r1, r4, 0
- bl OpenFileAndGetFileDataPtr
- ldr r5, _080A3290
- add r5, r9
- str r0, [r5]
- ldr r2, [sp, 0xC]
- ldr r0, [r2, 0x8]
- adds r1, r4, 0
- bl OpenFileAndGetFileDataPtr
- movs r1, 0x87
- lsls r1, 3
- add r1, r9
- str r0, [r1]
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- str r1, [sp, 0x18]
- ldr r1, [r5]
- ldr r1, [r1, 0x4]
- mov r8, r1
- ldr r6, [r0, 0x4]
- ldr r3, _080A3294
- add r3, r9
- str r3, [sp, 0x10]
- ldr r4, _080A3298
- add r4, r9
- str r4, [sp, 0x14]
- movs r5, 0x89
- lsls r5, 3
- add r5, r9
- mov r10, r5
- ldr r7, [sp, 0x18]
- ldrb r0, [r7]
- strh r0, [r3]
- adds r0, r7, 0
- adds r0, 0x2
- str r0, [sp, 0x18]
- ldrb r0, [r0]
- strh r0, [r3, 0x2]
- ldr r1, [sp, 0x18]
- adds r1, 0x2
- str r1, [sp, 0x18]
- mov r2, r8
- ldrh r0, [r2]
- strh r0, [r4]
- movs r3, 0x2
- add r8, r3
- mov r4, r8
- ldrh r0, [r4]
- ldr r5, [sp, 0x14]
- strh r0, [r5, 0x2]
- add r8, r3
- mov r7, r8
- ldrh r0, [r7]
- strh r0, [r5, 0x4]
- add r8, r3
- add r3, sp, 0x8
- ldr r0, _080A329C
- add r0, r9
- str r0, [sp, 0x1C]
- adds r1, r0, 0
- movs r2, 0x3
-_080A308A:
- mov r4, r8
- ldrh r0, [r4]
- strh r0, [r1]
- movs r5, 0x2
- add r8, r5
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080A308A
- mov r7, r8
- ldrh r0, [r7]
- movs r2, 0
- movs r1, 0
- ldr r4, [sp, 0x14]
- strh r0, [r4, 0xE]
- add r8, r5
- ldrb r0, [r6]
- mov r5, r10
- strb r0, [r5]
- adds r6, 0x1
- ldrb r0, [r6]
- strb r0, [r5, 0x1]
- adds r6, 0x1
- ldrb r0, [r6]
- strb r0, [r5, 0x2]
- adds r6, 0x1
- ldrb r0, [r6]
- strb r0, [r5, 0x3]
- adds r6, 0x1
- ldrb r0, [r6]
- strb r0, [r5, 0x4]
- adds r6, 0x1
- ldrb r0, [r6]
- strb r0, [r5, 0x5]
- adds r6, 0x1
- ldrb r0, [r6]
- strh r0, [r5, 0x6]
- adds r6, 0x2
- ldrb r0, [r6]
- strh r0, [r5, 0x8]
- adds r6, 0x2
- ldrb r0, [r6]
- strh r0, [r5, 0xA]
- adds r6, 0x2
- ldr r7, [sp, 0x18]
- ldr r0, _080A32A0
- add r0, r9
- movs r4, 0
- ldrsh r0, [r0, r4]
- lsls r0, 20
- lsrs r5, r0, 16
- str r1, [sp, 0x4]
- movs r0, 0xFF
- strb r0, [r3]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r3, 0x1]
- strb r0, [r3, 0x2]
- strb r2, [r3, 0x3]
- movs r4, 0
- ldr r1, [sp, 0x10]
- movs r2, 0
- ldrsh r0, [r1, r2]
- ldr r3, [sp, 0xC]
- adds r3, 0xC
- str r3, [sp, 0x20]
- cmp r4, r0
- bge _080A3158
- ldr r0, _080A32A4
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r4, r0
- bge _080A3198
-_080A311E:
- adds r0, r5, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r1, [sp, 0x4]
- bl sub_8003810
- adds r0, r5, 0
- adds r1, r7, 0
- movs r2, 0xF
- bl sub_809971C
- adds r0, r5, 0
- adds r0, 0xF
- lsls r0, 16
- lsrs r5, r0, 16
- adds r7, 0x3C
- adds r4, 0x1
- ldr r2, [sp, 0x10]
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r4, r0
- bge _080A3158
- ldr r0, _080A32A4
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r4, r0
- blt _080A311E
-_080A3158:
- ldr r0, _080A32A4
- add r0, r9
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r4, r0
- bge _080A3198
-_080A3164:
- adds r0, r5, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r1, [sp, 0x4]
- bl sub_8003810
- adds r7, r4, 0x1
- movs r4, 0xE
-_080A3176:
- adds r0, r5, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r1, [sp, 0x8]
- bl sub_8003810
- subs r4, 0x1
- cmp r4, 0
- bge _080A3176
- adds r4, r7, 0
- ldr r0, _080A32A4
- add r0, r9
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r4, r0
- blt _080A3164
-_080A3198:
- movs r0, 0xA6
- lsls r0, 3
- add r0, r9
- movs r4, 0
- ldrsh r0, [r0, r4]
- lsls r0, 5
- ldr r5, _080A32A8
- adds r0, r5
- ldr r4, _080A32A0
- add r4, r9
- ldr r5, _080A3298
- add r5, r9
- mov r1, r8
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80A37C4
- movs r0, 0xA9
- lsls r0, 3
- add r0, r9
- ldr r0, [r0]
- movs r1, 0xA5
- lsls r1, 3
- add r1, r9
- ldr r7, [sp, 0x14]
- movs r3, 0x4
- ldrsh r2, [r7, r3]
- subs r2, 0x1
- lsls r2, 5
- add r2, r8
- str r5, [sp]
- adds r3, r4, 0
- bl _UncompressCell
- ldr r0, _080A32AC
- add r0, r9
- movs r3, 0x89
- lsls r3, 3
- add r3, r9
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80A3908
- adds r6, r0, 0
- movs r0, 0x8D
- lsls r0, 3
- add r0, r9
- str r6, [r0]
- ldr r0, _080A32B0
- add r0, r9
- ldr r2, [r0]
- cmp r2, 0
- beq _080A321C
- movs r1, 0xA8
- lsls r1, 3
- add r1, r9
- ldr r0, _080A32B4
- add r0, r9
- movs r4, 0
- ldrsh r3, [r0, r4]
- ldr r4, [r1]
- adds r0, r2, 0
- adds r1, r6, 0
- mov r2, r10
- bl _call_via_r4
-_080A321C:
- mov r2, r9
- movs r4, 0
- ldr r5, [sp, 0x10]
- movs r6, 0x2
- ldrsh r0, [r5, r6]
- cmp r0, 0
- beq _080A32E4
- movs r7, 0
- ldrsh r1, [r5, r7]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- ldr r5, [sp, 0x18]
- adds r3, r5, r0
- lsls r1, 2
- adds r6, r3, r1
- ldr r0, _080A32B8
- add r0, r9
- str r3, [r0]
- movs r0, 0x8E
- lsls r0, 3
- add r0, r9
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _080A32BC
- add r0, r9
- strb r1, [r0]
- ldr r7, [sp, 0x10]
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r4, r0
- bge _080A32F8
- ldr r1, _080A32A4
- add r1, r9
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r4, r0
- bge _080A32F8
- movs r5, 0
- mov r8, r1
-_080A326C:
- movs r7, 0x2
- ldrsh r0, [r3, r7]
- cmp r0, 0
- ble _080A32C0
- str r6, [r2, 0x4]
- movs r0, 0x2
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r6, r0
- b _080A32C2
- .align 2, 0
-_080A3284: .4byte 0x00000444
-_080A3288: .4byte gUnknown_81188F0
-_080A328C: .4byte gUnknown_9890000
-_080A3290: .4byte 0x00000434
-_080A3294: .4byte 0x00000464
-_080A3298: .4byte 0x00000454
-_080A329C: .4byte 0x0000045a
-_080A32A0: .4byte 0x0000052c
-_080A32A4: .4byte 0x0000052e
-_080A32A8: .4byte 0x06008000
-_080A32AC: .4byte 0x0000054c
-_080A32B0: .4byte 0x00000544
-_080A32B4: .4byte 0x0000053a
-_080A32B8: .4byte 0x0000046c
-_080A32BC: .4byte 0x00000471
-_080A32C0:
- str r5, [r2, 0x4]
-_080A32C2:
- strh r5, [r2]
- strh r5, [r2, 0x2]
- str r5, [r2, 0x8]
- adds r4, 0x1
- adds r2, 0x10
- adds r3, 0x4
- ldr r1, [sp, 0x10]
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r4, r0
- bge _080A32F8
- mov r1, r8
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r4, r0
- blt _080A326C
- b _080A32F8
-_080A32E4:
- ldr r0, _080A3384
- add r0, r9
- str r4, [r0]
- movs r0, 0x8E
- lsls r0, 3
- add r0, r9
- strb r4, [r0]
- ldr r0, _080A3388
- add r0, r9
- strb r4, [r0]
-_080A32F8:
- cmp r4, 0xD
- bgt _080A330E
- movs r0, 0
-_080A32FE:
- strh r0, [r2]
- strh r0, [r2, 0x2]
- str r0, [r2, 0x8]
- str r0, [r2, 0x4]
- adds r4, 0x1
- adds r2, 0x10
- cmp r4, 0xD
- ble _080A32FE
-_080A330E:
- movs r0, 0xA6
- lsls r0, 3
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- ldr r2, [sp, 0x14]
- movs r3, 0x4
- ldrsh r1, [r2, r3]
- adds r0, r1
- lsls r0, 5
- ldr r4, _080A338C
- adds r5, r0, r4
- movs r7, 0
- movs r6, 0
- mov r8, r6
- movs r4, 0xF8
- lsls r4, 2
- add r4, r9
- ldr r0, [sp, 0x1C]
- str r0, [sp, 0x28]
- ldr r3, [sp, 0x20]
-_080A3338:
- ldr r0, [r3]
- cmp r0, 0
- beq _080A3394
- ldr r1, _080A3390
- str r3, [sp, 0x24]
- bl OpenFileAndGetFileDataPtr
- str r0, [r4, 0x8]
- movs r1, 0x1
- strb r1, [r4]
- strb r1, [r4, 0x1]
- ldr r2, [r0, 0x4]
- str r2, [r4, 0xC]
- adds r1, r2, 0x4
- movs r0, 0x2
- ldrsh r6, [r2, r0]
- lsls r6, 2
- adds r0, r1, r6
- str r1, [r4, 0x14]
- str r1, [r4, 0x10]
- str r0, [r4, 0x1C]
- str r0, [r4, 0x18]
- mov r1, r8
- strh r1, [r4, 0x2]
- ldr r0, [r2, 0x4]
- strh r0, [r4, 0x4]
- str r5, [r4, 0x20]
- ldr r2, [sp, 0x28]
- movs r6, 0
- ldrsh r0, [r2, r6]
- lsls r0, 5
- str r0, [r4, 0x24]
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r0, 5
- adds r5, r0
- ldr r3, [sp, 0x24]
- b _080A33AC
- .align 2, 0
-_080A3384: .4byte 0x0000046c
-_080A3388: .4byte 0x00000471
-_080A338C: .4byte 0x06008000
-_080A3390: .4byte gUnknown_9890000
-_080A3394:
- strb r0, [r4]
- strb r0, [r4, 0x1]
- strh r0, [r4, 0x4]
- strh r0, [r4, 0x2]
- str r0, [r4, 0x8]
- str r0, [r4, 0xC]
- str r0, [r4, 0x14]
- str r0, [r4, 0x10]
- str r0, [r4, 0x1C]
- str r0, [r4, 0x18]
- str r0, [r4, 0x20]
- str r0, [r4, 0x24]
-_080A33AC:
- adds r4, 0x28
- ldr r2, [sp, 0x28]
- adds r2, 0x2
- str r2, [sp, 0x28]
- adds r3, 0x4
- adds r7, 0x1
- cmp r7, 0x1
- ble _080A3338
- cmp r7, 0x3
- bgt _080A340E
-_080A33C0:
- lsls r0, r7, 2
- ldr r3, [sp, 0x20]
- adds r0, r3, r0
- ldr r0, [r0]
- adds r4, r7, 0x1
- cmp r0, 0
- beq _080A3408
- ldr r1, _080A3438
- bl OpenFileAndGetFileDataPtr
- adds r3, r0, 0
- ldr r0, [r3, 0x4]
- adds r1, r0, 0x4
- movs r6, 0x2
- ldrsh r0, [r0, r6]
- lsls r0, 2
- adds r1, r0
- lsls r0, r7, 1
- ldr r7, [sp, 0x1C]
- adds r0, r7, r0
- movs r2, 0
- ldrsh r0, [r0, r2]
- lsls r0, 4
- cmp r0, 0
- ble _080A3402
- adds r2, r0, 0
-_080A33F4:
- ldrh r0, [r1]
- strh r0, [r5]
- adds r1, 0x2
- adds r5, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _080A33F4
-_080A3402:
- adds r0, r3, 0
- bl CloseFile
-_080A3408:
- adds r7, r4, 0
- cmp r7, 0x3
- ble _080A33C0
-_080A340E:
- mov r0, r9
- movs r1, 0
- bl sub_80A3BB0
- movs r0, 0x91
- lsls r0, 3
- add r0, r9
- bl sub_80A3EB0
- ldr r1, _080A343C
- add r1, r9
- movs r0, 0x1
- strb r0, [r1]
-_080A3428:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3438: .4byte gUnknown_9890000
-_080A343C: .4byte 0x0000052a
- thumb_func_end sub_80A2FBC
-
- thumb_func_start sub_80A3440
-sub_80A3440:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4C
- mov r9, r0
- str r2, [sp, 0x34]
- str r3, [sp, 0x38]
- lsls r1, 16
- asrs r5, r1, 16
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _080A3464
- ldrb r0, [r2]
- cmp r0, 0x63
- bne _080A346C
-_080A3464:
- mov r0, r9
- bl sub_80A2E64
- b _080A376C
-_080A346C:
- mov r0, r9
- adds r1, r5, 0
- bl sub_80A2FBC
- mov r0, r9
- bl sub_80A2DD4
- ldr r0, _080A377C
- add r0, r9
- strh r5, [r0]
- lsls r4, r5, 3
- subs r4, r5
- lsls r4, 2
- ldr r0, _080A3780
- adds r4, r0
- ldr r0, [r4]
- ldr r5, _080A3784
- adds r1, r5, 0
- bl OpenFileAndGetFileDataPtr
- movs r1, 0x86
- lsls r1, 3
- add r1, r9
- mov r8, r1
- str r0, [r1]
- ldr r0, [r4, 0x4]
- adds r1, r5, 0
- bl OpenFileAndGetFileDataPtr
- ldr r6, _080A3788
- add r6, r9
- str r0, [r6]
- ldr r0, [r4, 0x8]
- adds r1, r5, 0
- bl OpenFileAndGetFileDataPtr
- movs r1, 0x87
- lsls r1, 3
- add r1, r9
- str r0, [r1]
- mov r2, r8
- ldr r1, [r2]
- ldr r2, [r1, 0x4]
- ldr r1, [r6]
- ldr r3, [r1, 0x4]
- ldr r7, [r0, 0x4]
- ldr r1, _080A378C
- add r1, r9
- ldr r4, _080A3790
- add r4, r9
- str r4, [sp, 0x3C]
- movs r0, 0x89
- lsls r0, 3
- add r0, r9
- mov r10, r0
- ldrb r0, [r2]
- strh r0, [r1]
- ldrb r0, [r2, 0x2]
- strh r0, [r1, 0x2]
- ldrh r0, [r3]
- strh r0, [r4]
- adds r3, 0x2
- ldrh r0, [r3]
- strh r0, [r4, 0x2]
- adds r3, 0x2
- ldrh r0, [r3]
- strh r0, [r4, 0x4]
- adds r3, 0x2
- add r5, sp, 0x2C
- ldr r1, _080A3794
- add r1, r9
- str r1, [sp, 0x48]
- movs r2, 0x3
-_080A34FE:
- ldrh r0, [r3]
- strh r0, [r1]
- adds r3, 0x2
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080A34FE
- ldrh r0, [r3]
- movs r2, 0
- mov r8, r2
- ldr r4, [sp, 0x3C]
- strh r0, [r4, 0xE]
- ldrb r0, [r7]
- mov r1, r10
- strb r0, [r1]
- adds r7, 0x1
- ldrb r0, [r7]
- strb r0, [r1, 0x1]
- adds r7, 0x1
- ldrb r0, [r7]
- strb r0, [r1, 0x2]
- adds r7, 0x1
- ldrb r0, [r7]
- strb r0, [r1, 0x3]
- adds r7, 0x1
- ldrb r0, [r7]
- strb r0, [r1, 0x4]
- adds r7, 0x1
- ldrb r0, [r7]
- strb r0, [r1, 0x5]
- adds r7, 0x1
- ldrb r0, [r7]
- strh r0, [r1, 0x6]
- adds r7, 0x2
- ldrb r0, [r7]
- strh r0, [r1, 0x8]
- adds r7, 0x2
- ldrb r0, [r7]
- strh r0, [r1, 0xA]
- adds r7, 0x2
- ldr r4, _080A3798
- add r4, r9
- ldr r0, [r4]
- str r0, [sp, 0x2C]
- str r2, [r5, 0x4]
- ldr r2, _080A379C
- add r2, r9
- movs r3, 0x89
- lsls r3, 3
- add r3, r9
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_80A3908
- adds r7, r0, 0
- movs r0, 0x8D
- lsls r0, 3
- add r0, r9
- str r7, [r0]
- ldr r5, _080A37A0
- add r5, r9
- movs r6, 0x88
- lsls r6, 3
- add r6, r9
- ldr r2, _080A37A4
- movs r0, 0xA9
- lsls r0, 3
- add r0, r9
- ldr r3, [r0]
- ldr r0, _080A37A8
- add r0, r9
- ldr r0, [r0]
- str r0, [sp]
- ldr r0, [sp, 0x34]
- str r0, [sp, 0x4]
- ldr r1, [sp, 0x38]
- str r1, [sp, 0x8]
- movs r0, 0x40
- str r0, [sp, 0xC]
- mov r1, r10
- ldrb r0, [r1, 0x5]
- str r0, [sp, 0x10]
- ldr r0, [r4]
- str r0, [sp, 0x14]
- mov r0, r8
- str r0, [sp, 0x18]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80ADD9C
- ldr r0, [r5]
- movs r1, 0
- bl GetFileDataPtr
- ldr r0, [r6]
- movs r1, 0
- bl GetFileDataPtr
- movs r2, 0xA8
- lsls r2, 3
- add r2, r9
- ldr r0, [r4]
- ldr r1, _080A37AC
- add r1, r9
- movs r4, 0
- ldrsh r3, [r1, r4]
- ldr r4, [r2]
- adds r1, r7, 0
- mov r2, r10
- bl _call_via_r4
- movs r0, 0x80
- lsls r0, 2
- ldr r1, [sp, 0x3C]
- strh r0, [r1, 0x4]
- ldr r1, [sp, 0x48]
- movs r2, 0
- adds r0, r1, 0x6
-_080A35EA:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _080A35EA
- movs r2, 0
- movs r0, 0xFA
- ldr r4, [sp, 0x3C]
- strh r0, [r4, 0xE]
- ldr r1, _080A378C
- add r1, r9
- movs r0, 0xC
- strh r0, [r1]
- ldr r0, _080A37B0
- add r0, r9
- strh r2, [r0]
- ldr r0, _080A37A0
- add r0, r9
- ldr r0, [r0]
- cmp r0, 0
- beq _080A36E6
- ldr r4, [r0, 0x4]
- movs r7, 0
- str r7, [sp, 0x1C]
- add r1, sp, 0x20
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1, 0x1]
- strb r0, [r1, 0x2]
- movs r0, 0
- strb r0, [r1, 0x3]
- movs r5, 0
- ldr r0, _080A37B4
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r5, r0
- bge _080A36E6
- mov r2, sp
- adds r2, 0x28
- str r2, [sp, 0x40]
- mov r0, sp
- adds r0, 0x29
- str r0, [sp, 0x44]
- movs r1, 0x2A
- add r1, sp
- mov r10, r1
- movs r2, 0x2B
- add r2, sp
- mov r8, r2
-_080A3650:
- adds r0, r7, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r7, r1, 16
- ldr r1, [sp, 0x1C]
- bl sub_8003810
- adds r4, 0x4
- adds r6, r5, 0x1
- movs r5, 0xE
-_080A3664:
- ldrb r0, [r4]
- ldr r1, [sp, 0x40]
- strb r0, [r1]
- ldrb r0, [r4, 0x1]
- ldr r2, [sp, 0x44]
- strb r0, [r2]
- ldrb r0, [r4, 0x2]
- mov r1, r10
- strb r0, [r1]
- ldrb r0, [r4, 0x3]
- mov r2, r8
- strb r0, [r2]
- ldr r1, [sp, 0x28]
- str r1, [sp, 0x24]
- adds r0, r7, 0
- adds r2, r0, 0x1
- lsls r2, 16
- lsrs r7, r2, 16
- bl sub_8003810
- adds r4, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _080A3664
- adds r5, r6, 0
- cmp r5, 0xB
- bgt _080A36A6
- ldr r0, _080A37B4
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r5, r0
- blt _080A3650
-_080A36A6:
- ldr r0, _080A37B4
- add r0, r9
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r5, r0
- bge _080A36E6
-_080A36B2:
- adds r0, r7, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r7, r1, 16
- ldr r1, [sp, 0x1C]
- bl sub_8003810
- adds r6, r5, 0x1
- movs r5, 0xE
-_080A36C4:
- adds r0, r7, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r7, r1, 16
- ldr r1, [sp, 0x20]
- bl sub_8003810
- subs r5, 0x1
- cmp r5, 0
- bge _080A36C4
- adds r5, r6, 0
- ldr r0, _080A37B4
- add r0, r9
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r5, r0
- blt _080A36B2
-_080A36E6:
- mov r4, r9
- movs r0, 0x88
- lsls r0, 3
- add r0, r9
- ldr r1, [r0]
- cmp r1, 0
- beq _080A36FE
- mov r0, r9
- adds r0, 0xE0
- movs r2, 0x20
- bl sub_8004AA4
-_080A36FE:
- ldr r0, _080A37B8
- add r0, r9
- movs r1, 0
- str r1, [r0]
- movs r0, 0x8E
- lsls r0, 3
- add r0, r9
- strb r1, [r0]
- ldr r0, _080A37BC
- add r0, r9
- strb r1, [r0]
- movs r0, 0
- movs r1, 0xD
-_080A3718:
- strh r0, [r4]
- strh r0, [r4, 0x2]
- str r0, [r4, 0x8]
- str r0, [r4, 0x4]
- subs r1, 0x1
- adds r4, 0x10
- cmp r1, 0
- bge _080A3718
- movs r1, 0
- movs r0, 0xF8
- lsls r0, 2
- add r0, r9
- movs r2, 0x1
-_080A3732:
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x2]
- str r1, [r0, 0x8]
- str r1, [r0, 0xC]
- str r1, [r0, 0x14]
- str r1, [r0, 0x10]
- str r1, [r0, 0x1C]
- str r1, [r0, 0x18]
- str r1, [r0, 0x20]
- str r1, [r0, 0x24]
- adds r0, 0x28
- subs r2, 0x1
- cmp r2, 0
- bge _080A3732
- mov r0, r9
- movs r1, 0
- bl sub_80A3BB0
- movs r0, 0x91
- lsls r0, 3
- add r0, r9
- bl sub_80A3EB0
- ldr r1, _080A37C0
- add r1, r9
- movs r0, 0x1
- strb r0, [r1]
-_080A376C:
- add sp, 0x4C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A377C: .4byte 0x00000444
-_080A3780: .4byte gUnknown_81188F0
-_080A3784: .4byte gUnknown_9890000
-_080A3788: .4byte 0x00000434
-_080A378C: .4byte 0x00000464
-_080A3790: .4byte 0x00000454
-_080A3794: .4byte 0x0000045a
-_080A3798: .4byte 0x00000544
-_080A379C: .4byte 0x0000052c
-_080A37A0: .4byte 0x0000043c
-_080A37A4: .4byte 0x06008000
-_080A37A8: .4byte 0x0000054c
-_080A37AC: .4byte 0x0000053a
-_080A37B0: .4byte 0x00000466
-_080A37B4: .4byte 0x0000052e
-_080A37B8: .4byte 0x0000046c
-_080A37BC: .4byte 0x00000471
-_080A37C0: .4byte 0x0000052a
- thumb_func_end sub_80A3440
-
- thumb_func_start sub_80A37C4
-sub_80A37C4:
- push {r4-r6,lr}
- adds r6, r2, 0
- adds r4, r1, 0
- adds r2, r0, 0
- movs r0, 0
- movs r1, 0xF
-_080A37D0:
- strh r0, [r2]
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080A37D0
- movs r0, 0x1
- movs r1, 0x4
- ldrsh r3, [r3, r1]
- cmp r0, r3
- bge _080A37FE
- adds r5, r3, 0
-_080A37E6:
- adds r3, r0, 0x1
- movs r1, 0xF
-_080A37EA:
- ldrh r0, [r4]
- strh r0, [r2]
- adds r4, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080A37EA
- adds r0, r3, 0
- cmp r0, r5
- blt _080A37E6
-_080A37FE:
- movs r3, 0x6
- ldrsh r1, [r6, r3]
- cmp r0, r1
- bge _080A3820
- ldr r3, _080A3828
- adds r4, r3, 0
- adds r5, r1, 0
-_080A380C:
- adds r3, r0, 0x1
- movs r1, 0xF
-_080A3810:
- strh r4, [r2]
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080A3810
- adds r0, r3, 0
- cmp r0, r5
- blt _080A380C
-_080A3820:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3828: .4byte 0x0000ffff
- thumb_func_end sub_80A37C4
-
- thumb_func_start _UncompressCell
-_UncompressCell:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r1, 0
- mov r8, r3
- ldr r3, [sp, 0x18]
- adds r4, r2, 0
- adds r2, r0, 0
- mov r1, r8
- ldrh r0, [r1]
- lsls r0, 12
- ldrh r1, [r1, 0x4]
- orrs r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, [r3]
- ldr r0, _080A385C
- cmp r1, r0
- bne _080A3860
- movs r0, 0x1
- strh r0, [r5]
- movs r5, 0x4
- b _080A3890
- .align 2, 0
-_080A385C: .4byte 0x00020002
-_080A3860:
- ldr r0, _080A3870
- cmp r1, r0
- bne _080A3874
- movs r0, 0x2
- strh r0, [r5]
- movs r5, 0x9
- b _080A3890
- .align 2, 0
-_080A3870: .4byte 0x00030003
-_080A3874:
- movs r0, 0
- strh r0, [r5]
- ldr r0, _080A3888
- ldr r1, _080A388C
- movs r4, 0
- ldrsh r2, [r3, r4]
- movs r6, 0x2
- ldrsh r3, [r3, r6]
- bl FatalError
- .align 2, 0
-_080A3888: .4byte gUnknown_81172E8
-_080A388C: .4byte gUnknown_81172F4
-_080A3890:
- movs r0, 0
- movs r1, 0x8
-_080A3894:
- strh r0, [r2]
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080A3894
- movs r0, 0x1
- movs r7, 0xE
- ldrsh r1, [r3, r7]
- cmp r0, r1
- bge _080A38DC
- mov r12, r1
-_080A38AA:
- movs r1, 0
- adds r3, r0, 0x1
- cmp r1, r5
- bge _080A38C6
- adds r1, r5, 0
-_080A38B4:
- ldrh r0, [r4]
- adds r0, r6, r0
- strh r0, [r2]
- adds r4, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _080A38B4
- adds r1, r5, 0
-_080A38C6:
- cmp r1, 0x8
- bgt _080A38D6
- movs r0, 0
-_080A38CC:
- strh r0, [r2]
- adds r2, 0x2
- adds r1, 0x1
- cmp r1, 0x8
- ble _080A38CC
-_080A38D6:
- adds r0, r3, 0
- cmp r0, r12
- blt _080A38AA
-_080A38DC:
- mov r1, r8
- movs r4, 0x8
- ldrsh r3, [r1, r4]
- cmp r0, r3
- bge _080A38FE
- movs r4, 0
- adds r5, r3, 0
-_080A38EA:
- adds r3, r0, 0x1
- movs r1, 0x8
-_080A38EE:
- strh r4, [r2]
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080A38EE
- adds r0, r3, 0
- cmp r0, r5
- blt _080A38EA
-_080A38FE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end _UncompressCell
-
- thumb_func_start sub_80A3908
-sub_80A3908:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r0, [sp]
- str r2, [sp, 0x4]
- mov r9, r3
- adds r6, r1, 0
- movs r2, 0
- ldr r1, [sp, 0x4]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r2, r0
- blt _080A392A
- b _080A3B6C
-_080A392A:
- lsls r0, r2, 2
- ldr r4, [sp]
- adds r0, r4
- ldr r0, [r0]
- mov r12, r0
- movs r1, 0
- adds r2, 0x1
- str r2, [sp, 0x8]
- mov r5, r9
- ldrb r5, [r5, 0x5]
- cmp r1, r5
- blt _080A3944
- b _080A3B2A
-_080A3944:
- ldr r0, _080A39A4
- mov r10, r0
-_080A3948:
- movs r2, 0
- mov r8, r2
- cmp r1, 0
- bne _080A3A18
- movs r3, 0x1
- str r3, [sp, 0xC]
- mov r4, r9
- ldrb r4, [r4, 0x4]
- cmp r1, r4
- blt _080A395E
- b _080A3B04
-_080A395E:
- ldrb r1, [r6]
- adds r6, 0x1
- cmp r1, 0xBF
- ble _080A39A8
- adds r2, r1, 0
- subs r2, 0xBF
- cmp r1, 0xBF
- ble _080A39A0
- ldr r5, _080A39A4
- adds r4, r5, 0
- adds r3, r2, 0
-_080A3974:
- ldrb r1, [r6]
- ldrb r0, [r6, 0x1]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r6, 0x2]
- lsls r0, 16
- orrs r1, r0
- adds r6, 0x3
- adds r0, r1, 0
- ands r0, r4
- mov r5, r12
- strh r0, [r5]
- movs r0, 0x2
- add r12, r0
- asrs r1, 12
- ands r1, r4
- mov r5, r12
- strh r1, [r5]
- add r12, r0
- subs r3, 0x1
- cmp r3, 0
- bne _080A3974
-_080A39A0:
- lsls r0, r2, 1
- b _080A3A0C
- .align 2, 0
-_080A39A4: .4byte 0x00000fff
-_080A39A8:
- cmp r1, 0x7F
- ble _080A39EA
- ldrb r2, [r6]
- ldrb r0, [r6, 0x1]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r6, 0x2]
- lsls r0, 16
- orrs r2, r0
- adds r6, 0x3
- adds r4, r1, 0
- subs r4, 0x7F
- cmp r1, 0x7F
- ble _080A39E6
- adds r0, r2, 0
- mov r1, r10
- ands r0, r1
- asrs r1, r2, 12
- mov r2, r10
- ands r1, r2
- adds r3, r4, 0
-_080A39D2:
- mov r5, r12
- strh r0, [r5]
- movs r2, 0x2
- add r12, r2
- mov r5, r12
- strh r1, [r5]
- add r12, r2
- subs r3, 0x1
- cmp r3, 0
- bne _080A39D2
-_080A39E6:
- lsls r0, r4, 1
- b _080A3A0C
-_080A39EA:
- movs r3, 0
- adds r0, r1, 0x1
- cmp r3, r1
- bgt _080A3A0A
- movs r1, 0
- adds r3, r0, 0
-_080A39F6:
- mov r2, r12
- strh r1, [r2]
- movs r4, 0x2
- add r12, r4
- mov r5, r12
- strh r1, [r5]
- add r12, r4
- subs r3, 0x1
- cmp r3, 0
- bne _080A39F6
-_080A3A0A:
- lsls r0, 1
-_080A3A0C:
- add r8, r0
- mov r0, r9
- ldrb r0, [r0, 0x4]
- cmp r8, r0
- blt _080A395E
- b _080A3B04
-_080A3A18:
- mov r4, r12
- subs r4, 0x80
- adds r1, 0x1
- str r1, [sp, 0xC]
- mov r1, r9
- ldrb r1, [r1, 0x4]
- cmp r8, r1
- bge _080A3B04
-_080A3A28:
- ldrb r1, [r6]
- adds r6, 0x1
- cmp r1, 0xBF
- ble _080A3A80
- adds r5, r1, 0
- subs r5, 0xBF
- cmp r1, 0xBF
- ble _080A3A78
- ldr r2, _080A3A7C
- adds r7, r2, 0
- adds r3, r5, 0
-_080A3A3E:
- ldrb r2, [r6]
- ldrb r0, [r6, 0x1]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r6, 0x2]
- lsls r0, 16
- orrs r2, r0
- adds r6, 0x3
- adds r0, r2, 0
- ands r0, r7
- ldrh r1, [r4]
- eors r0, r1
- mov r1, r12
- strh r0, [r1]
- adds r4, 0x2
- movs r0, 0x2
- add r12, r0
- asrs r2, 12
- ands r2, r7
- ldrh r0, [r4]
- eors r2, r0
- mov r1, r12
- strh r2, [r1]
- adds r4, 0x2
- movs r2, 0x2
- add r12, r2
- subs r3, 0x1
- cmp r3, 0
- bne _080A3A3E
-_080A3A78:
- lsls r0, r5, 1
- b _080A3AFA
- .align 2, 0
-_080A3A7C: .4byte 0x00000fff
-_080A3A80:
- cmp r1, 0x7F
- ble _080A3AD2
- ldrb r2, [r6]
- ldrb r0, [r6, 0x1]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r6, 0x2]
- lsls r0, 16
- orrs r2, r0
- adds r6, 0x3
- adds r7, r1, 0
- subs r7, 0x7F
- cmp r1, 0x7F
- ble _080A3ACE
- adds r5, r2, 0
- mov r3, r10
- ands r5, r3
- asrs r2, 12
- ands r2, r3
- adds r3, r7, 0
-_080A3AA8:
- ldrh r1, [r4]
- adds r0, r5, 0
- eors r0, r1
- mov r1, r12
- strh r0, [r1]
- adds r4, 0x2
- movs r0, 0x2
- add r12, r0
- ldrh r1, [r4]
- adds r0, r2, 0
- eors r0, r1
- mov r1, r12
- strh r0, [r1]
- adds r4, 0x2
- movs r0, 0x2
- add r12, r0
- subs r3, 0x1
- cmp r3, 0
- bne _080A3AA8
-_080A3ACE:
- lsls r0, r7, 1
- b _080A3AFA
-_080A3AD2:
- movs r3, 0
- adds r2, r1, 0x1
- cmp r3, r1
- bgt _080A3AF8
- adds r3, r2, 0
-_080A3ADC:
- ldrh r0, [r4]
- mov r1, r12
- strh r0, [r1]
- adds r4, 0x2
- movs r5, 0x2
- add r12, r5
- ldrh r0, [r4]
- mov r1, r12
- strh r0, [r1]
- adds r4, 0x2
- add r12, r5
- subs r3, 0x1
- cmp r3, 0
- bne _080A3ADC
-_080A3AF8:
- lsls r0, r2, 1
-_080A3AFA:
- add r8, r0
- mov r2, r9
- ldrb r2, [r2, 0x4]
- cmp r8, r2
- blt _080A3A28
-_080A3B04:
- mov r3, r8
- cmp r3, 0x3F
- bgt _080A3B1E
- movs r0, 0
-_080A3B0C:
- mov r4, r12
- strh r0, [r4]
- movs r5, 0x2
- add r12, r5
- movs r1, 0x1
- add r8, r1
- mov r2, r8
- cmp r2, 0x3F
- ble _080A3B0C
-_080A3B1E:
- ldr r1, [sp, 0xC]
- mov r3, r9
- ldrb r3, [r3, 0x5]
- cmp r1, r3
- bge _080A3B2A
- b _080A3948
-_080A3B2A:
- ldr r4, [sp, 0x4]
- movs r5, 0x10
- ldrsh r0, [r4, r5]
- cmp r1, r0
- bge _080A3B5E
- movs r2, 0
-_080A3B36:
- adds r1, 0x1
- str r1, [sp, 0xC]
- movs r0, 0x3F
- mov r8, r0
-_080A3B3E:
- mov r1, r12
- strh r2, [r1]
- movs r3, 0x2
- add r12, r3
- movs r4, 0x1
- negs r4, r4
- add r8, r4
- mov r5, r8
- cmp r5, 0
- bge _080A3B3E
- ldr r1, [sp, 0xC]
- ldr r3, [sp, 0x4]
- movs r4, 0x10
- ldrsh r0, [r3, r4]
- cmp r1, r0
- blt _080A3B36
-_080A3B5E:
- ldr r2, [sp, 0x8]
- ldr r5, [sp, 0x4]
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r2, r0
- bge _080A3B6C
- b _080A392A
-_080A3B6C:
- adds r0, r6, 0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A3908
-
- thumb_func_start sub_80A3B80
-sub_80A3B80:
- push {r4,lr}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r4, _080A3BA8
- adds r0, r3, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080A3BA2
- adds r4, 0x4
- adds r0, r3, r4
- strb r1, [r0]
- ldr r1, _080A3BAC
- adds r0, r3, r1
- strb r2, [r0]
-_080A3BA2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3BA8: .4byte 0x0000046c
-_080A3BAC: .4byte 0x00000471
- thumb_func_end sub_80A3B80
-
- thumb_func_start sub_80A3BB0
-sub_80A3BB0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r6, r1, 0
- movs r0, 0x91
- lsls r0, 3
- adds r0, r5
- mov r8, r0
- cmp r1, 0
- blt _080A3BD4
- cmp r1, 0x1
- ble _080A3BD4
- cmp r1, 0x4
- ble _080A3C00
-_080A3BD4:
- ldr r1, _080A3BFC
- adds r0, r5, r1
- movs r1, 0x1
- str r1, [r0]
- movs r2, 0xA7
- lsls r2, 3
- adds r0, r5, r2
- movs r1, 0
- ldrsh r3, [r0, r1]
- movs r0, 0
- cmp r6, 0x1
- bne _080A3BEE
- movs r0, 0x1
-_080A3BEE:
- str r0, [sp]
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl sub_80A3D40
- b _080A3C48
- .align 2, 0
-_080A3BFC: .4byte 0x00000474
-_080A3C00:
- ldr r2, _080A3C88
- adds r0, r5, r2
- movs r7, 0x2
- str r7, [r0]
- movs r0, 0xA7
- lsls r0, 3
- adds r4, r5, r0
- movs r2, 0
- ldrsh r0, [r4, r2]
- subs r3, r0, 0x1
- movs r0, 0
- cmp r1, 0x4
- bne _080A3C1C
- movs r0, 0x1
-_080A3C1C:
- str r0, [sp]
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl sub_80A3D40
- movs r1, 0x9B
- lsls r1, 3
- adds r0, r5, r1
- movs r1, 0
- ldrsh r2, [r4, r1]
- subs r2, 0x1
- adds r3, r7, 0
- eors r3, r6
- negs r1, r3
- orrs r1, r3
- lsrs r1, 31
- str r1, [sp]
- adds r1, r5, 0
- movs r3, 0x1
- bl sub_80A3D40
-_080A3C48:
- movs r6, 0
- ldr r2, _080A3C88
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r6, r0
- bge _080A3CF0
- movs r0, 0x8F
- lsls r0, 3
- adds r7, r5, r0
- mov r4, r8
-_080A3C5C:
- adds r0, r5, 0
- adds r1, r6, 0
- ldr r2, _080A3C8C
- bl sub_80A456C
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080A3C72
- cmp r0, 0x2
- beq _080A3CB4
-_080A3C72:
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- beq _080A3C94
- cmp r0, 0x1
- ble _080A3C82
- cmp r0, 0x2
- beq _080A3C9C
-_080A3C82:
- ldr r0, _080A3C90
- b _080A3CD6
- .align 2, 0
-_080A3C88: .4byte 0x00000474
-_080A3C8C: .4byte gUnknown_8117314
-_080A3C90: .4byte sub_80A3EBC
-_080A3C94:
- ldr r0, _080A3C98
- b _080A3CD6
- .align 2, 0
-_080A3C98: .4byte sub_80A3EF4
-_080A3C9C:
- ldrb r0, [r4, 0x6]
- ldr r1, _080A3CAC
- cmp r0, 0
- beq _080A3CA6
- ldr r1, _080A3CB0
-_080A3CA6:
- str r1, [r4, 0x18]
- b _080A3CD8
- .align 2, 0
-_080A3CAC: .4byte sub_80A4088
-_080A3CB0: .4byte sub_80A41C4
-_080A3CB4:
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080A3CCC
- cmp r0, 0x1
- ble _080A3CC4
- cmp r0, 0x2
- beq _080A3CD4
-_080A3CC4:
- ldr r0, _080A3CC8
- b _080A3CD6
- .align 2, 0
-_080A3CC8: .4byte sub_80A3ED4
-_080A3CCC:
- ldr r0, _080A3CD0
- b _080A3CD6
- .align 2, 0
-_080A3CD0: .4byte sub_80A3F94
-_080A3CD4:
- ldr r0, _080A3D34
-_080A3CD6:
- str r0, [r4, 0x18]
-_080A3CD8:
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_80A3E14
- adds r7, 0x8
- adds r4, 0x50
- adds r6, 0x1
- ldr r2, _080A3D38
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r6, r0
- blt _080A3C5C
-_080A3CF0:
- ldr r1, _080A3D38
- adds r0, r5, r1
- ldr r6, [r0]
- cmp r6, 0x1
- bgt _080A3D26
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 4
- mov r2, r8
- adds r4, r0, r2
-_080A3D04:
- adds r0, r5, 0
- adds r1, r6, 0
- ldr r2, _080A3D3C
- bl sub_80A456C
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_80A3D40
- adds r4, 0x50
- adds r6, 0x1
- cmp r6, 0x1
- ble _080A3D04
-_080A3D26:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3D34: .4byte sub_80A4358
-_080A3D38: .4byte 0x00000474
-_080A3D3C: .4byte gUnknown_8117314
- thumb_func_end sub_80A3BB0
-
- thumb_func_start sub_80A3D40
-sub_80A3D40:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- adds r5, r1, 0
- mov r8, r3
- ldr r1, [sp, 0x1C]
- movs r3, 0xA5
- lsls r3, 3
- adds r0, r5, r3
- ldrh r0, [r0]
- strh r0, [r4]
- strh r2, [r4, 0x2]
- mov r7, r8
- strh r7, [r4, 0x4]
- strb r1, [r4, 0x6]
- ldr r1, _080A3E10
- adds r0, r5, r1
- ldrb r0, [r0]
- str r0, [r4, 0x8]
- subs r3, 0xDB
- adds r0, r5, r3
- ldrb r0, [r0]
- str r0, [r4, 0xC]
- movs r7, 0x89
- lsls r7, 3
- adds r0, r5, r7
- ldrb r0, [r0]
- lsls r0, 3
- str r0, [r4, 0x10]
- subs r1, 0x3
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, 3
- str r0, [r4, 0x14]
- adds r3, 0xFB
- adds r0, r5, r3
- ldr r0, [r0]
- str r0, [r4, 0x1C]
- movs r3, 0
- cmp r3, r8
- bge _080A3DE0
- adds r7, 0xF0
- adds r6, r5, r7
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r2, r0
- bge _080A3DE0
- lsls r0, r2, 2
- adds r7, 0x14
- adds r0, r7
- adds r1, r0, r5
- movs r0, 0x20
- adds r0, r4
- mov r12, r0
- movs r7, 0x28
- adds r7, r4
- mov r9, r7
-_080A3DB6:
- ldr r0, [r1]
- mov r7, r12
- adds r7, 0x4
- mov r12, r7
- subs r7, 0x4
- stm r7!, {r0}
- ldr r0, [r1, 0x8]
- mov r7, r9
- adds r7, 0x4
- mov r9, r7
- subs r7, 0x4
- stm r7!, {r0}
- adds r3, 0x1
- adds r1, 0x4
- adds r2, 0x1
- cmp r3, r8
- bge _080A3DE0
- movs r7, 0
- ldrsh r0, [r6, r7]
- cmp r2, r0
- blt _080A3DB6
-_080A3DE0:
- cmp r3, 0x1
- bgt _080A3DF8
- movs r1, 0
- lsls r0, r3, 2
- adds r0, 0x20
- adds r0, r4
-_080A3DEC:
- str r1, [r0]
- str r1, [r0, 0x8]
- adds r0, 0x4
- adds r3, 0x1
- cmp r3, 0x1
- ble _080A3DEC
-_080A3DF8:
- movs r0, 0x8F
- lsls r0, 3
- adds r1, r5, r0
- adds r0, r4, 0
- bl sub_80A3E14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3E10: .4byte 0x0000044c
- thumb_func_end sub_80A3D40
-
- thumb_func_start sub_80A3E14
-sub_80A3E14:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r0, r1, 0
- ldr r1, [r0]
- mov r8, r1
- str r1, [r4, 0x30]
- cmp r1, 0
- bge _080A3E2A
- adds r1, 0x7
-_080A3E2A:
- asrs r6, r1, 3
- str r6, [r4, 0x38]
- ldr r7, [r0, 0x4]
- str r7, [r4, 0x34]
- adds r0, r7, 0
- cmp r7, 0
- bge _080A3E3A
- adds r0, r7, 0x7
-_080A3E3A:
- asrs r5, r0, 3
- str r5, [r4, 0x3C]
- movs r3, 0
- ldrsh r2, [r4, r3]
- cmp r2, 0x1
- beq _080A3E60
- cmp r2, 0x1
- bgt _080A3E50
- cmp r2, 0
- beq _080A3E56
- b _080A3EA4
-_080A3E50:
- cmp r2, 0x2
- beq _080A3E7E
- b _080A3EA4
-_080A3E56:
- str r2, [r4, 0x40]
- str r2, [r4, 0x44]
- str r2, [r4, 0x48]
- str r2, [r4, 0x4C]
- b _080A3EA4
-_080A3E60:
- lsrs r1, 31
- adds r1, r6, r1
- asrs r1, 1
- str r1, [r4, 0x40]
- lsrs r0, 31
- adds r0, r5, r0
- asrs r0, 1
- str r0, [r4, 0x44]
- lsls r1, 4
- mov r2, r8
- subs r1, r2, r1
- str r1, [r4, 0x48]
- lsls r0, 4
- subs r0, r7, r0
- b _080A3EA2
-_080A3E7E:
- adds r0, r6, 0
- movs r1, 0x3
- bl __divsi3
- str r0, [r4, 0x40]
- adds r0, r5, 0
- movs r1, 0x3
- bl __divsi3
- str r0, [r4, 0x44]
- lsls r0, r6, 3
- mov r3, r8
- subs r0, r3, r0
- str r0, [r4, 0x48]
- adds r0, r7, 0
- movs r1, 0x18
- bl __modsi3
-_080A3EA2:
- str r0, [r4, 0x4C]
-_080A3EA4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3E14
-
- thumb_func_start sub_80A3EB0
-sub_80A3EB0:
- push {lr}
- ldr r1, [r0, 0x18]
- bl _call_via_r1
- pop {r0}
- bx r0
- thumb_func_end sub_80A3EB0
-
- thumb_func_start sub_80A3EBC
-sub_80A3EBC:
- push {lr}
- ldr r0, [r0, 0x28]
- movs r2, 0
- movs r1, 0x80
- lsls r1, 3
-_080A3EC6:
- strh r2, [r0]
- adds r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _080A3EC6
- pop {r0}
- bx r0
- thumb_func_end sub_80A3EBC
-
- thumb_func_start sub_80A3ED4
-sub_80A3ED4:
- push {lr}
- ldr r1, [r0, 0x28]
- ldr r0, [r0, 0x2C]
- movs r3, 0
- movs r2, 0x80
- lsls r2, 3
-_080A3EE0:
- strh r3, [r1]
- adds r1, 0x2
- strh r3, [r0]
- adds r0, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _080A3EE0
- pop {r0}
- bx r0
- thumb_func_end sub_80A3ED4
-
- thumb_func_start sub_80A3EF4
-sub_80A3EF4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r1, [r0, 0x44]
- lsls r1, 6
- ldr r2, [r0, 0x40]
- adds r1, r2
- lsls r1, 1
- ldr r2, [r0, 0x20]
- adds r2, r1
- movs r1, 0
- mov r12, r1
- ldr r3, [r0, 0x28]
- str r3, [sp, 0xC]
- ldr r0, [r0, 0x1C]
- mov r10, r0
- mov r0, sp
- str r0, [sp, 0x8]
-_080A3F1E:
- adds r5, r2, 0
- movs r2, 0x80
- adds r2, r5
- mov r9, r2
- adds r1, 0x1
- mov r8, r1
- ldr r1, [sp, 0x8]
- mov r3, r12
- lsls r0, r3, 1
- ldr r2, [sp, 0xC]
- adds r0, r2
- movs r2, 0x1
-_080A3F36:
- stm r1!, {r0}
- adds r0, 0x40
- movs r3, 0x20
- add r12, r3
- subs r2, 0x1
- cmp r2, 0
- bge _080A3F36
- movs r4, 0
- mov r7, sp
-_080A3F48:
- ldrh r1, [r5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r10
- adds r3, r1, r0
- adds r5, 0x2
- adds r6, r4, 0x1
- adds r4, r7, 0
- movs r2, 0x1
-_080A3F5C:
- ldr r0, [r4]
- ldrh r1, [r3]
- strh r1, [r0]
- adds r3, 0x2
- adds r0, 0x2
- ldrh r1, [r3]
- strh r1, [r0]
- adds r3, 0x2
- adds r0, 0x2
- stm r4!, {r0}
- subs r2, 0x1
- cmp r2, 0
- bge _080A3F5C
- adds r4, r6, 0
- cmp r4, 0xF
- ble _080A3F48
- mov r2, r9
- mov r1, r8
- cmp r1, 0xA
- ble _080A3F1E
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3EF4
-
- thumb_func_start sub_80A3F94
-sub_80A3F94:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- ldr r1, [r0, 0x44]
- lsls r1, 6
- ldr r2, [r0, 0x40]
- adds r1, r2
- lsls r1, 1
- ldr r2, [r0, 0x20]
- adds r3, r2, r1
- ldr r2, [r0, 0x24]
- adds r2, r1
- movs r1, 0
- ldr r4, [r0, 0x28]
- str r4, [sp, 0x2C]
- ldr r5, [r0, 0x2C]
- str r5, [sp, 0x18]
- ldr r0, [r0, 0x1C]
- str r0, [sp, 0x1C]
- mov r0, sp
- str r0, [sp, 0x10]
- mov r4, sp
- adds r4, 0x8
- str r4, [sp, 0x14]
- movs r5, 0
- str r5, [sp, 0x30]
-_080A3FCE:
- mov r8, r3
- mov r12, r2
- mov r0, r8
- adds r0, 0x80
- str r0, [sp, 0x20]
- mov r4, r12
- adds r4, 0x80
- str r4, [sp, 0x24]
- adds r1, 0x1
- str r1, [sp, 0x28]
- ldr r3, [sp, 0x14]
- ldr r2, [sp, 0x10]
- ldr r5, [sp, 0x30]
- ldr r0, [sp, 0x18]
- adds r1, r5, r0
- ldr r4, [sp, 0x2C]
- adds r0, r5, r4
- movs r5, 0x1
-_080A3FF2:
- stm r2!, {r0}
- stm r3!, {r1}
- adds r1, 0x40
- adds r0, 0x40
- ldr r4, [sp, 0x30]
- adds r4, 0x40
- str r4, [sp, 0x30]
- subs r5, 0x1
- cmp r5, 0
- bge _080A3FF2
- movs r2, 0
- ldr r5, [sp, 0x1C]
- mov r9, r5
-_080A400C:
- mov r0, r8
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r9
- adds r4, r1, r0
- movs r5, 0x2
- add r8, r5
- mov r0, r12
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r9
- adds r3, r1, r0
- add r12, r5
- movs r5, 0
- adds r2, 0x1
- mov r10, r2
- ldr r7, [sp, 0x14]
- ldr r6, [sp, 0x10]
-_080A4038:
- ldr r1, [r6]
- ldr r2, [r7]
- ldrh r0, [r4]
- strh r0, [r1]
- adds r4, 0x2
- adds r1, 0x2
- ldrh r0, [r4]
- strh r0, [r1]
- adds r4, 0x2
- adds r1, 0x2
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- stm r6!, {r1}
- stm r7!, {r2}
- adds r5, 0x1
- cmp r5, 0x1
- ble _080A4038
- mov r2, r10
- cmp r2, 0xF
- ble _080A400C
- ldr r3, [sp, 0x20]
- ldr r2, [sp, 0x24]
- ldr r1, [sp, 0x28]
- cmp r1, 0xA
- ble _080A3FCE
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3F94
-
- thumb_func_start sub_80A4088
-sub_80A4088:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r4, r0, 0
- ldr r0, [r4, 0x38]
- movs r1, 0x3
- bl __modsi3
- adds r7, r0, 0
- ldr r0, [r4, 0x44]
- lsls r0, 6
- ldr r1, [r4, 0x40]
- adds r0, r1
- lsls r0, 1
- ldr r1, [r4, 0x20]
- adds r1, r0
- movs r0, 0
- mov r8, r0
- ldr r2, [r4, 0x28]
- str r2, [sp, 0xC]
- ldr r4, [r4, 0x1C]
- mov r12, r4
-_080A40BA:
- adds r5, r1, 0
- movs r1, 0x80
- adds r1, r5
- mov r9, r1
- adds r0, 0x1
- mov r10, r0
- mov r1, sp
- mov r2, r8
- lsls r0, r2, 1
- ldr r2, [sp, 0xC]
- adds r0, r2
- movs r3, 0x2
-_080A40D2:
- stm r1!, {r0}
- adds r0, 0x40
- movs r2, 0x20
- add r8, r2
- subs r3, 0x1
- cmp r3, 0
- bge _080A40D2
- cmp r7, 0
- beq _080A412E
- ldrh r1, [r5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r12
- adds r2, r1, r0
- adds r5, 0x2
- cmp r7, 0x1
- bne _080A4116
- adds r2, 0x2
- mov r4, sp
- movs r3, 0x2
-_080A40FC:
- ldr r0, [r4]
- ldrh r1, [r2]
- strh r1, [r0]
- adds r0, 0x2
- ldrh r1, [r2, 0x2]
- strh r1, [r0]
- adds r0, 0x2
- stm r4!, {r0}
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A40FC
- b _080A412E
-_080A4116:
- adds r2, 0x4
- mov r4, sp
- movs r3, 0x2
-_080A411C:
- ldr r1, [r4]
- ldrh r0, [r2]
- strh r0, [r1]
- adds r1, 0x2
- stm r4!, {r1}
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A411C
-_080A412E:
- movs r3, 0
-_080A4130:
- ldrh r1, [r5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r12
- adds r2, r1, r0
- adds r5, 0x2
- adds r6, r3, 0x1
- mov r4, sp
- movs r3, 0x2
-_080A4144:
- ldr r1, [r4]
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- stm r4!, {r1}
- subs r3, 0x1
- cmp r3, 0
- bge _080A4144
- adds r3, r6, 0
- cmp r3, 0x9
- ble _080A4130
- cmp r7, 0x1
- beq _080A41AA
- ldrh r1, [r5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r12
- adds r2, r1, r0
- cmp r7, 0
- bne _080A4198
- mov r4, sp
- movs r3, 0x2
-_080A4184:
- ldm r4!, {r0}
- ldrh r1, [r2]
- strh r1, [r0]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x2]
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A4184
- b _080A41AA
-_080A4198:
- mov r4, sp
- movs r3, 0x2
-_080A419C:
- ldm r4!, {r1}
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A419C
-_080A41AA:
- mov r1, r9
- mov r0, r10
- cmp r0, 0x7
- ble _080A40BA
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4088
-
- thumb_func_start sub_80A41C4
-sub_80A41C4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r8, r0
- ldr r0, [r0, 0x38]
- movs r1, 0x3
- bl __modsi3
- str r0, [sp, 0xC]
- mov r0, r8
- ldr r2, [r0, 0x44]
- lsls r0, r2, 6
- mov r1, r8
- ldr r3, [r1, 0x40]
- adds r0, r3
- lsls r0, 1
- ldr r1, [r1, 0x20]
- adds r4, r1, r0
- movs r0, 0
- str r0, [sp, 0x10]
- mov r1, r8
- ldr r0, [r1, 0xC]
- subs r0, r2
- mov r10, r0
- ldr r0, [r1, 0x8]
- subs r0, r3
- str r0, [sp, 0x14]
- movs r2, 0
-_080A4202:
- ldr r5, [sp, 0x14]
- mov r3, r10
- cmp r3, 0
- ble _080A4212
- movs r0, 0x1
- negs r0, r0
- add r10, r0
- b _080A4222
-_080A4212:
- mov r1, r8
- ldr r1, [r1, 0xC]
- mov r10, r1
- mov r3, r8
- ldr r0, [r3, 0x40]
- lsls r0, 1
- ldr r1, [r3, 0x20]
- adds r4, r1, r0
-_080A4222:
- adds r6, r4, 0
- mov r0, r8
- ldr r1, [r0, 0x28]
- ldrh r7, [r4]
- ldr r3, [r0, 0x1C]
- mov r9, r3
- adds r0, r4, 0x2
- mov r12, r0
- adds r4, 0x80
- str r4, [sp, 0x18]
- adds r2, 0x1
- str r2, [sp, 0x1C]
- mov r2, sp
- ldr r3, [sp, 0x10]
- lsls r0, r3, 1
- adds r0, r1
- movs r3, 0x2
-_080A4244:
- stm r2!, {r0}
- adds r0, 0x40
- ldr r4, [sp, 0x10]
- adds r4, 0x20
- str r4, [sp, 0x10]
- subs r3, 0x1
- cmp r3, 0
- bge _080A4244
- ldr r0, [sp, 0xC]
- cmp r0, 0
- beq _080A42B2
- lsls r0, r7, 3
- adds r0, r7
- lsls r0, 1
- mov r1, r9
- adds r2, r1, r0
- mov r6, r12
- ldr r3, [sp, 0xC]
- cmp r3, 0x1
- bne _080A428C
- adds r2, 0x2
- mov r4, sp
- movs r3, 0x2
-_080A4272:
- ldr r0, [r4]
- ldrh r1, [r2]
- strh r1, [r0]
- adds r0, 0x2
- ldrh r1, [r2, 0x2]
- strh r1, [r0]
- adds r0, 0x2
- stm r4!, {r0}
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A4272
- b _080A42A4
-_080A428C:
- adds r2, 0x4
- mov r4, sp
- movs r3, 0x2
-_080A4292:
- ldr r1, [r4]
- ldrh r0, [r2]
- strh r0, [r1]
- adds r1, 0x2
- stm r4!, {r1}
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A4292
-_080A42A4:
- subs r5, 0x1
- cmp r5, 0
- bgt _080A42B2
- mov r4, r8
- ldr r5, [r4, 0x8]
- lsls r0, r5, 1
- subs r6, r0
-_080A42B2:
- movs r3, 0
-_080A42B4:
- ldrh r1, [r6]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r9
- adds r2, r1, r0
- adds r6, 0x2
- subs r5, 0x1
- adds r7, r3, 0x1
- mov r4, sp
- movs r3, 0x2
-_080A42CA:
- ldr r1, [r4]
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- stm r4!, {r1}
- subs r3, 0x1
- cmp r3, 0
- bge _080A42CA
- cmp r5, 0
- bgt _080A42F8
- mov r3, r8
- ldr r5, [r3, 0x8]
- lsls r0, r5, 1
- subs r6, r0
-_080A42F8:
- adds r3, r7, 0
- cmp r3, 0x9
- ble _080A42B4
- ldr r4, [sp, 0xC]
- cmp r4, 0x1
- beq _080A433E
- ldrh r1, [r6]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r9
- adds r2, r1, r0
- cmp r4, 0
- bne _080A432C
- mov r4, sp
- movs r3, 0x2
-_080A4318:
- ldm r4!, {r0}
- ldrh r1, [r2]
- strh r1, [r0]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x2]
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A4318
- b _080A433E
-_080A432C:
- mov r4, sp
- movs r3, 0x2
-_080A4330:
- ldm r4!, {r1}
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A4330
-_080A433E:
- ldr r4, [sp, 0x18]
- ldr r2, [sp, 0x1C]
- cmp r2, 0x7
- bgt _080A4348
- b _080A4202
-_080A4348:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A41C4
-
- thumb_func_start sub_80A4358
-sub_80A4358:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x3C
- adds r4, r0, 0
- ldr r0, [r4, 0x38]
- movs r1, 0x3
- bl __modsi3
- str r0, [sp, 0x18]
- ldr r0, [r4, 0x44]
- lsls r0, 6
- ldr r1, [r4, 0x40]
- adds r0, r1
- lsls r0, 1
- ldr r1, [r4, 0x20]
- adds r2, r1, r0
- ldr r1, [r4, 0x24]
- adds r1, r0
- movs r0, 0
- ldr r3, [r4, 0x28]
- str r3, [sp, 0x24]
- ldr r5, [r4, 0x2C]
- str r5, [sp, 0x28]
- ldr r4, [r4, 0x1C]
- str r4, [sp, 0x20]
- mov r3, sp
- adds r3, 0xC
- str r3, [sp, 0x1C]
- movs r4, 0
- str r4, [sp, 0x38]
-_080A439A:
- mov r12, r2
- mov r8, r1
- mov r5, r12
- adds r5, 0x80
- str r5, [sp, 0x30]
- adds r1, 0x80
- str r1, [sp, 0x34]
- adds r0, 0x1
- str r0, [sp, 0x2C]
- add r3, sp, 0xC
- mov r2, sp
- ldr r4, [sp, 0x38]
- ldr r5, [sp, 0x28]
- adds r1, r4, r5
- ldr r5, [sp, 0x24]
- adds r0, r4, r5
- movs r5, 0x2
-_080A43BC:
- stm r2!, {r0}
- stm r3!, {r1}
- adds r1, 0x40
- adds r0, 0x40
- ldr r4, [sp, 0x38]
- adds r4, 0x40
- str r4, [sp, 0x38]
- subs r5, 0x1
- cmp r5, 0
- bge _080A43BC
- ldr r5, [sp, 0x18]
- cmp r5, 0
- beq _080A445C
- mov r0, r12
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r1, [sp, 0x20]
- adds r4, r1, r0
- movs r3, 0x2
- add r12, r3
- mov r5, r8
- ldrh r1, [r5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r1, [sp, 0x20]
- adds r3, r1, r0
- movs r5, 0x2
- add r8, r5
- ldr r0, [sp, 0x18]
- cmp r0, 0x1
- bne _080A4434
- adds r4, 0x2
- adds r3, 0x2
- ldr r7, [sp, 0x1C]
- mov r6, sp
-_080A4408:
- ldr r1, [r6]
- ldr r2, [r7]
- ldrh r0, [r4]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r4, 0x2]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r3]
- strh r0, [r2]
- adds r2, 0x2
- ldrh r0, [r3, 0x2]
- strh r0, [r2]
- adds r2, 0x2
- stm r6!, {r1}
- stm r7!, {r2}
- adds r4, 0x6
- adds r3, 0x6
- subs r5, 0x1
- cmp r5, 0
- bge _080A4408
- b _080A445C
-_080A4434:
- adds r4, 0x4
- adds r3, 0x4
- ldr r6, [sp, 0x1C]
- mov r2, sp
- movs r5, 0x2
-_080A443E:
- ldr r1, [r2]
- ldrh r0, [r4]
- strh r0, [r1]
- adds r1, 0x2
- stm r2!, {r1}
- ldr r1, [r6]
- ldrh r0, [r3]
- strh r0, [r1]
- adds r1, 0x2
- stm r6!, {r1}
- adds r4, 0x6
- adds r3, 0x6
- subs r5, 0x1
- cmp r5, 0
- bge _080A443E
-_080A445C:
- movs r2, 0
- ldr r1, [sp, 0x20]
- mov r9, r1
-_080A4462:
- mov r3, r12
- ldrh r1, [r3]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r5, r9
- adds r4, r5, r0
- movs r0, 0x2
- add r12, r0
- mov r3, r8
- ldrh r1, [r3]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- adds r3, r5, r0
- movs r5, 0x2
- add r8, r5
- movs r5, 0
- adds r2, 0x1
- mov r10, r2
- mov r7, sp
- add r6, sp, 0xC
-_080A448E:
- ldr r1, [r7]
- ldr r2, [r6]
- ldrh r0, [r4]
- strh r0, [r1]
- adds r4, 0x2
- adds r1, 0x2
- ldrh r0, [r4]
- strh r0, [r1]
- adds r4, 0x2
- adds r1, 0x2
- ldrh r0, [r4]
- strh r0, [r1]
- adds r4, 0x2
- adds r1, 0x2
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- stm r7!, {r1}
- stm r6!, {r2}
- adds r5, 0x1
- cmp r5, 0x2
- ble _080A448E
- mov r2, r10
- cmp r2, 0x9
- ble _080A4462
- ldr r0, [sp, 0x18]
- cmp r0, 0x1
- beq _080A453A
- mov r3, r12
- ldrh r1, [r3]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r5, [sp, 0x20]
- adds r4, r5, r0
- mov r0, r8
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- adds r3, r5, r0
- ldr r1, [sp, 0x18]
- cmp r1, 0
- bne _080A451E
- ldr r7, [sp, 0x1C]
- mov r6, sp
- movs r5, 0x2
-_080A44FE:
- ldm r6!, {r1}
- ldm r7!, {r2}
- ldrh r0, [r4]
- strh r0, [r1]
- ldrh r0, [r4, 0x2]
- strh r0, [r1, 0x2]
- ldrh r0, [r3]
- strh r0, [r2]
- ldrh r0, [r3, 0x2]
- strh r0, [r2, 0x2]
- adds r4, 0x6
- adds r3, 0x6
- subs r5, 0x1
- cmp r5, 0
- bge _080A44FE
- b _080A453A
-_080A451E:
- ldr r6, [sp, 0x1C]
- mov r2, sp
- movs r5, 0x2
-_080A4524:
- ldm r2!, {r1}
- ldrh r0, [r4]
- strh r0, [r1]
- ldm r6!, {r1}
- ldrh r0, [r3]
- strh r0, [r1]
- adds r4, 0x6
- adds r3, 0x6
- subs r5, 0x1
- cmp r5, 0
- bge _080A4524
-_080A453A:
- ldr r2, [sp, 0x30]
- ldr r1, [sp, 0x34]
- ldr r0, [sp, 0x2C]
- cmp r0, 0x7
- bgt _080A4546
- b _080A439A
-_080A4546:
- add sp, 0x3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4358
-
- thumb_func_start sub_80A4558
-sub_80A4558:
- lsls r1, 3
- movs r3, 0x8F
- lsls r3, 3
- adds r0, r3
- adds r0, r1
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- thumb_func_end sub_80A4558
-
- thumb_func_start sub_80A456C
-sub_80A456C:
- lsls r1, 3
- movs r3, 0x8F
- lsls r3, 3
- adds r0, r3
- adds r0, r1
- ldr r1, [r2]
- ldr r2, [r2, 0x4]
- str r1, [r0]
- str r2, [r0, 0x4]
- bx lr
- thumb_func_end sub_80A456C
-
- thumb_func_start sub_80A4580
-sub_80A4580:
- push {r4,lr}
- adds r3, r2, 0
- lsls r2, r1, 2
- adds r2, r1
- lsls r2, 4
- movs r1, 0x91
- lsls r1, 3
- adds r2, r1
- adds r2, r0, r2
- ldr r0, [r3]
- cmp r0, 0
- bge _080A45AE
- ldrb r0, [r2, 0x6]
- ldr r4, [r3, 0x4]
- cmp r0, 0
- beq _080A45CA
- ldr r1, [r2, 0x10]
-_080A45A2:
- ldr r0, [r3]
- adds r0, r1
- str r0, [r3]
- cmp r0, 0
- blt _080A45A2
- b _080A45CC
-_080A45AE:
- ldr r1, [r2, 0x10]
- ldr r4, [r3, 0x4]
- cmp r0, r1
- blt _080A45CC
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _080A45C8
-_080A45BC:
- ldr r0, [r3]
- subs r0, r1
- str r0, [r3]
- cmp r0, r1
- bge _080A45BC
- b _080A45CC
-_080A45C8:
- subs r0, r1, 0x1
-_080A45CA:
- str r0, [r3]
-_080A45CC:
- cmp r4, 0
- bge _080A45E4
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _080A45FE
- ldr r1, [r2, 0x14]
-_080A45D8:
- ldr r0, [r3, 0x4]
- adds r0, r1
- str r0, [r3, 0x4]
- cmp r0, 0
- blt _080A45D8
- b _080A4600
-_080A45E4:
- ldr r1, [r2, 0x14]
- cmp r4, r1
- blt _080A4600
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _080A45FC
-_080A45F0:
- ldr r0, [r3, 0x4]
- subs r0, r1
- str r0, [r3, 0x4]
- cmp r0, r1
- bge _080A45F0
- b _080A4600
-_080A45FC:
- subs r0, r1, 0x1
-_080A45FE:
- str r0, [r3, 0x4]
-_080A4600:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4580
-
- thumb_func_start sub_80A4608
-sub_80A4608:
- movs r3, 0x89
- lsls r3, 3
- adds r2, r0, r3
- ldrb r2, [r2]
- str r2, [r1]
- ldr r2, _080A461C
- adds r0, r2
- ldrb r0, [r0]
- str r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_080A461C: .4byte 0x00000449
- thumb_func_end sub_80A4608
-
- thumb_func_start sub_80A4620
-sub_80A4620:
- movs r3, 0x89
- lsls r3, 3
- adds r2, r0, r3
- ldrb r2, [r2]
- lsls r2, 3
- str r2, [r1]
- ldr r2, _080A4638
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- str r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_080A4638: .4byte 0x00000449
- thumb_func_end sub_80A4620
-
- thumb_func_start sub_80A463C
-sub_80A463C:
- movs r3, 0
- str r3, [r1]
- str r3, [r1, 0x4]
- movs r3, 0x89
- lsls r3, 3
- adds r1, r0, r3
- ldrb r1, [r1]
- lsls r1, 11
- str r1, [r2]
- ldr r1, _080A465C
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 11
- str r0, [r2, 0x4]
- bx lr
- .align 2, 0
-_080A465C: .4byte 0x00000449
- thumb_func_end sub_80A463C
-
- thumb_func_start sub_80A4660
-sub_80A4660:
- push {r4-r7,lr}
- adds r6, r3, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r1, _080A4678
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- bne _080A467C
- movs r0, 0
- b _080A46B6
- .align 2, 0
-_080A4678: .4byte 0x00000544
-_080A467C:
- ldr r0, [r2, 0x4]
- lsls r0, 8
- ldr r1, [r2]
- adds r0, r1
- ldr r1, _080A46BC
- adds r0, r1
- adds r4, r0
- ldr r3, [r6, 0x4]
- cmp r3, 0
- ble _080A46B4
- movs r7, 0x80
- lsls r7, 1
-_080A4694:
- ldr r1, [r6]
- adds r2, r4, 0
- cmp r1, 0
- ble _080A46AC
-_080A469C:
- ldrb r0, [r2]
- ands r0, r5
- adds r2, 0x1
- cmp r0, 0
- bne _080A46B6
- subs r1, 0x1
- cmp r1, 0
- bgt _080A469C
-_080A46AC:
- adds r4, r7
- subs r3, 0x1
- cmp r3, 0
- bgt _080A4694
-_080A46B4:
- movs r0, 0
-_080A46B6:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A46BC: .4byte 0x00000405
- thumb_func_end sub_80A4660
-
- thumb_func_start sub_80A46C0
-sub_80A46C0:
- push {r4-r7,lr}
- adds r6, r3, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r1, _080A46D8
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- bne _080A46DC
-_080A46D2:
- movs r0, 0
- b _080A4716
- .align 2, 0
-_080A46D8: .4byte 0x00000544
-_080A46DC:
- ldr r0, [r2, 0x4]
- lsls r0, 8
- ldr r1, [r2]
- adds r0, r1
- ldr r1, _080A471C
- adds r0, r1
- adds r4, r0
- ldr r3, [r6, 0x4]
- cmp r3, 0
- ble _080A4714
- movs r7, 0x80
- lsls r7, 1
-_080A46F4:
- ldr r1, [r6]
- adds r2, r4, 0
- cmp r1, 0
- ble _080A470C
-_080A46FC:
- ldrb r0, [r2]
- ands r0, r5
- adds r2, 0x1
- cmp r0, r5
- bne _080A46D2
- subs r1, 0x1
- cmp r1, 0
- bgt _080A46FC
-_080A470C:
- adds r4, r7
- subs r3, 0x1
- cmp r3, 0
- bgt _080A46F4
-_080A4714:
- movs r0, 0x1
-_080A4716:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A471C: .4byte 0x00000405
- thumb_func_end sub_80A46C0
-
- thumb_func_start sub_80A4720
-sub_80A4720:
- lsls r1, 2
- ldr r3, _080A473C
- adds r0, r3
- adds r0, r1
- ldr r1, [r2, 0x4]
- lsls r1, 7
- ldr r3, [r0]
- adds r3, r1
- ldr r0, [r2]
- lsls r0, 1
- adds r3, r0
- ldrh r0, [r3]
- bx lr
- .align 2, 0
-_080A473C: .4byte 0x0000054c
- thumb_func_end sub_80A4720
-
- thumb_func_start sub_80A4740
-sub_80A4740:
- push {r4,lr}
- lsls r1, 2
- ldr r4, _080A4760
- adds r0, r4
- adds r0, r1
- ldr r1, [r2, 0x4]
- lsls r1, 7
- ldr r4, [r0]
- adds r4, r1
- ldr r0, [r2]
- lsls r0, 1
- adds r4, r0
- strh r3, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4760: .4byte 0x0000054c
- thumb_func_end sub_80A4740
-
- thumb_func_start sub_80A4764
-sub_80A4764:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r0
- ldr r0, _080A47E8
- add r0, r9
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A4784
- b _080A49CE
-_080A4784:
- ldr r0, _080A47EC
- add r0, r9
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r0, 0
- beq _080A4864
- mov r4, r9
- ldr r0, _080A47F0
- add r0, r9
- ldr r5, [r0]
- ldr r0, _080A47F4
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 20
- lsrs r6, r0, 16
- movs r7, 0
- ldr r0, _080A47F8
- add r0, r9
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r7, r0
- bge _080A484C
-_080A47B2:
- ldr r1, [r4, 0x4]
- cmp r1, 0
- beq _080A4832
- ldrh r0, [r4, 0x2]
- subs r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- cmp r0, 0
- bgt _080A4832
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- cmp r0, 0
- bgt _080A4808
- ldr r0, _080A47FC
- add r0, r9
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A4800
- ldrh r0, [r5]
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x2]
- strh r0, [r4]
- str r1, [r4, 0x8]
- b _080A480C
- .align 2, 0
-_080A47E8: .4byte 0x00000444
-_080A47EC: .4byte 0x00000466
-_080A47F0: .4byte 0x0000046c
-_080A47F4: .4byte 0x0000052c
-_080A47F8: .4byte 0x00000464
-_080A47FC: .4byte 0x00000471
-_080A4800:
- strh r0, [r4]
- strh r0, [r4, 0x2]
- str r0, [r4, 0x8]
- b _080A480C
-_080A4808:
- ldrh r0, [r5]
- strh r0, [r4, 0x2]
-_080A480C:
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _080A4832
- movs r0, 0
- str r0, [sp]
- adds r0, r6, 0
- movs r1, 0
- bl sub_8003810
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [r4, 0x8]
- movs r2, 0xF
- bl sub_809971C
- ldr r0, [r4, 0x8]
- adds r0, 0x3C
- str r0, [r4, 0x8]
-_080A4832:
- adds r7, 0x1
- adds r4, 0x10
- adds r5, 0x4
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _080A485C
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r7, r0
- blt _080A47B2
-_080A484C:
- movs r0, 0x8E
- lsls r0, 3
- add r0, r9
- ldrb r1, [r0]
- ldr r0, _080A4860
- add r0, r9
- strb r1, [r0]
- b _080A48E6
- .align 2, 0
-_080A485C: .4byte 0x00000464
-_080A4860: .4byte 0x00000471
-_080A4864:
- movs r0, 0x88
- lsls r0, 3
- add r0, r9
- ldr r0, [r0]
- cmp r0, 0
- beq _080A48E6
- mov r4, r9
- adds r4, 0xE0
- movs r6, 0xA0
- movs r5, 0x1F
-_080A4878:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8004D14
- lsls r0, 24
- cmp r0, 0
- beq _080A48DC
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8004D40
- lsls r0, 24
- cmp r0, 0
- bne _080A48DC
- ldrh r0, [r4, 0x6]
- subs r0, 0x1
- strh r0, [r4, 0x6]
- lsls r0, 16
- cmp r0, 0
- bgt _080A48DC
- ldrh r0, [r4, 0x4]
- strh r0, [r4, 0x6]
- ldr r1, [r4, 0xC]
- ldr r0, [r4, 0x10]
- cmp r1, r0
- bcc _080A48B0
- ldr r0, [r4, 0x8]
- str r0, [r4, 0xC]
-_080A48B0:
- ldr r1, [r4, 0xC]
- ldm r1!, {r0}
- str r0, [r4, 0x14]
- str r1, [r4, 0xC]
- ldrb r1, [r4, 0x14]
- add r0, sp, 0x4
- strb r1, [r0]
- ldrb r1, [r4, 0x15]
- adds r0, 0x1
- strb r1, [r0]
- ldrb r1, [r4, 0x16]
- adds r0, 0x1
- strb r1, [r0]
- ldrb r1, [r4, 0x17]
- adds r0, 0x1
- strb r1, [r0]
- ldr r1, [sp, 0x4]
- str r1, [sp]
- lsls r0, r6, 16
- lsrs r0, 16
- bl sub_8003810
-_080A48DC:
- subs r5, 0x1
- adds r4, 0x18
- adds r6, 0x1
- cmp r5, 0
- bge _080A4878
-_080A48E6:
- movs r5, 0
- movs r4, 0x1
-_080A48EA:
- movs r2, 0xF8
- lsls r2, 2
- adds r0, r5, r2
- mov r6, r9
- adds r2, r6, r0
- ldrb r0, [r2]
- cmp r0, 0
- beq _080A4942
- ldrh r1, [r2, 0x4]
- subs r0, r1, 0x1
- strh r0, [r2, 0x4]
- lsls r1, 16
- cmp r1, 0
- bgt _080A4942
- ldr r0, [r2, 0x14]
- adds r0, 0x4
- str r0, [r2, 0x14]
- ldr r1, [r2, 0x24]
- lsrs r1, 1
- lsls r1, 1
- ldr r0, [r2, 0x1C]
- adds r0, r1
- str r0, [r2, 0x1C]
- ldrh r0, [r2, 0x2]
- adds r0, 0x1
- movs r3, 0
- strh r0, [r2, 0x2]
- ldr r1, [r2, 0xC]
- lsls r0, 16
- asrs r0, 16
- movs r6, 0x2
- ldrsh r1, [r1, r6]
- cmp r0, r1
- blt _080A4938
- ldr r0, [r2, 0x10]
- str r0, [r2, 0x14]
- ldr r0, [r2, 0x18]
- str r0, [r2, 0x1C]
- strh r3, [r2, 0x2]
-_080A4938:
- movs r0, 0x1
- strb r0, [r2, 0x1]
- ldr r0, [r2, 0x14]
- ldr r0, [r0]
- strh r0, [r2, 0x4]
-_080A4942:
- adds r5, 0x28
- subs r4, 0x1
- cmp r4, 0
- bge _080A48EA
- movs r4, 0x91
- lsls r4, 3
- add r4, r9
- movs r7, 0x8F
- lsls r7, 3
- add r7, r9
- movs r0, 0
- mov r8, r0
- b _080A49BC
-_080A495C:
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_80A3E14
- adds r0, r4, 0
- bl sub_80A3EB0
- movs r6, 0
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- ldr r0, _080A4998
- add r0, r9
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r5, r1, r0
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x1
- add r8, r2
- movs r1, 0x50
- adds r1, r4
- mov r10, r1
- adds r7, 0x8
- cmp r6, r0
- bge _080A49BA
-_080A498E:
- cmp r5, 0
- beq _080A499C
- cmp r5, 0x1
- beq _080A49A6
- b _080A49AE
- .align 2, 0
-_080A4998: .4byte 0x00000536
-_080A499C:
- ldr r0, [r4, 0x48]
- ldr r1, [r4, 0x4C]
- bl sub_800CCA0
- b _080A49AE
-_080A49A6:
- ldr r0, [r4, 0x48]
- ldr r1, [r4, 0x4C]
- bl sub_800CCAC
-_080A49AE:
- adds r6, 0x1
- adds r5, 0x1
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r6, r0
- blt _080A498E
-_080A49BA:
- mov r4, r10
-_080A49BC:
- ldr r0, _080A49E0
- add r0, r9
- ldr r0, [r0]
- cmp r8, r0
- blt _080A495C
- ldr r1, _080A49E4
- add r1, r9
- movs r0, 0x1
- strb r0, [r1]
-_080A49CE:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A49E0: .4byte 0x00000474
-_080A49E4: .4byte 0x0000052a
- thumb_func_end sub_80A4764
-
- thumb_func_start sub_80A49E8
-sub_80A49E8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldr r0, _080A4A74
- adds r5, r6, r0
- movs r1, 0xFF
- lsls r1, 2
- adds r4, r6, r1
- ldr r0, _080A4A78
- adds r0, r6
- mov r8, r0
- movs r7, 0x1
-_080A4A02:
- ldrb r0, [r5]
- cmp r0, 0
- beq _080A4A1C
- ldr r0, [r4, 0x4]
- ldr r1, [r4]
- ldr r2, [r4, 0x8]
- bl MemoryCopy32
- movs r0, 0
- strb r0, [r5]
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1]
-_080A4A1C:
- adds r5, 0x28
- adds r4, 0x28
- subs r7, 0x1
- cmp r7, 0
- bge _080A4A02
- ldr r1, _080A4A78
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A4A68
- movs r5, 0
- adds r1, 0xC
- adds r0, r6, r1
- movs r1, 0
- ldrsh r4, [r0, r1]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r6, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r5, r0
- bge _080A4A60
- movs r0, 0xA7
- lsls r0, 3
- adds r7, r6, r0
-_080A4A4E:
- adds r0, r4, 0x2
- bl sub_80098F8
- adds r5, 0x1
- adds r4, 0x1
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r5, r0
- blt _080A4A4E
-_080A4A60:
- ldr r0, _080A4A78
- adds r1, r6, r0
- movs r0, 0
- strb r0, [r1]
-_080A4A68:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4A74: .4byte 0x000003e1
-_080A4A78: .4byte 0x0000052a
- thumb_func_end sub_80A49E8
-
- thumb_func_start sub_80A4A7C
-sub_80A4A7C:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080A4AB8
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- adds r2, r0, 0
- adds r2, 0xE4
- ldr r1, _080A4ABC
- strh r1, [r2]
- ldr r1, _080A4AC0
- movs r3, 0x1
- negs r3, r3
- str r3, [sp]
- movs r2, 0
- bl sub_809D600
- movs r0, 0
- bl sub_80A5E8C
- bl sub_80A4AEC
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4AB8: .4byte gUnknown_3001B6C
-_080A4ABC: .4byte 0x0000ffff
-_080A4AC0: .4byte gUnknown_811736C
- thumb_func_end sub_80A4A7C
-
- thumb_func_start sub_80A4AC4
-sub_80A4AC4:
- push {r4,lr}
- bl sub_80A4AEC
- bl sub_80A5EBC
- ldr r4, _080A4AE8
- ldr r0, [r4]
- bl sub_809D648
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4AE8: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A4AC4
-
- thumb_func_start sub_80A4AEC
-sub_80A4AEC:
- push {r4,lr}
- movs r0, 0
- movs r1, 0x37
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x38
- bl sub_80015C0
- ldr r0, _080A4B2C
- ldr r0, [r0]
- ldr r1, _080A4B30
- bl sub_809D754
- ldr r4, _080A4B34
- ldr r0, [r4]
- cmp r0, 0
- beq _080A4B1E
- bl sub_80A2D00
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080A4B1E:
- movs r0, 0
- bl sub_80A5EDC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B2C: .4byte gUnknown_3001B6C
-_080A4B30: .4byte gUnknown_8117538
-_080A4B34: .4byte gUnknown_3001B70
- thumb_func_end sub_80A4AEC
-
- thumb_func_start sub_80A4B38
-sub_80A4B38:
- push {lr}
- bl nullsub_121
- ldr r0, _080A4B50
- ldr r0, [r0]
- cmp r0, 0
- beq _080A4B4A
- bl sub_80A2D68
-_080A4B4A:
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B50: .4byte gUnknown_3001B70
- thumb_func_end sub_80A4B38
-
- thumb_func_start sub_80A4B54
-sub_80A4B54:
- push {lr}
- ldr r0, _080A4B6C
- ldr r0, [r0]
- cmp r0, 0
- beq _080A4B62
- bl sub_80A2D88
-_080A4B62:
- bl nullsub_122
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B6C: .4byte gUnknown_3001B70
- thumb_func_end sub_80A4B54
-
- thumb_func_start GroundMap_GetStationScript
-GroundMap_GetStationScript:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r8, r0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r5, r3, 0
- lsls r4, 16
- asrs r4, 16
- lsls r6, 16
- asrs r6, 16
- lsls r5, 24
- asrs r5, 24
- adds r0, r4, 0
- bl sub_80A77A0
- ldr r1, _080A4BE0
- adds r0, r4, 0
- bl sub_80A77D0
- mov r9, r0
- ldr r1, _080A4BE4
- str r5, [sp]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r6, 0
- bl Log
- lsls r1, r6, 3
- mov r2, r9
- ldr r0, [r2, 0x4]
- adds r0, r1
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- ldr r0, [r0, 0x4]
- adds r0, r1
- ldr r0, [r0, 0x24]
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- mov r1, r8
- str r0, [r1]
- movs r0, 0x2
- strh r0, [r1, 0x4]
- strh r6, [r1, 0x6]
- strb r5, [r1, 0x8]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4BE0: .4byte gUnknown_8117560
-_080A4BE4: .4byte gUnknown_811756C
- thumb_func_end GroundMap_GetStationScript
-
- thumb_func_start sub_80A4BE8
-sub_80A4BE8:
- push {lr}
- lsls r1, 16
- asrs r1, 16
- movs r2, 0
- movs r3, 0
- bl GroundMap_GetStationScript
- pop {r0}
- bx r0
- thumb_func_end sub_80A4BE8
-
- thumb_func_start GroundMap_ExecuteEvent
-GroundMap_ExecuteEvent:
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- asrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _080A4C44
- movs r0, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl Log
- movs r0, 0
- mov r1, sp
- adds r2, r4, 0
- bl sub_809D710
- cmp r5, 0
- beq _080A4C2C
- mov r1, sp
- movs r0, 0x5
- strh r0, [r1, 0x4]
-_080A4C2C:
- ldr r0, _080A4C48
- ldr r0, [r0]
- ldr r3, _080A4C4C
- movs r1, 0
- mov r2, sp
- bl GroundScript_ExecutePP
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4C44: .4byte gUnknown_8117594
-_080A4C48: .4byte gUnknown_3001B6C
-_080A4C4C: .4byte gUnknown_81175E0
- thumb_func_end GroundMap_ExecuteEvent
-
- thumb_func_start GroundMap_ExecuteStation
-GroundMap_ExecuteStation:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x14
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- lsls r6, 24
- asrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _080A4CB8
- str r6, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl Log
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl GroundMap_GetStationScript
- mov r0, r8
- cmp r0, 0
- beq _080A4C9C
- add r1, sp, 0x8
- movs r0, 0x5
- strh r0, [r1, 0x4]
-_080A4C9C:
- ldr r0, _080A4CBC
- ldr r0, [r0]
- ldr r3, _080A4CC0
- movs r1, 0
- add r2, sp, 0x8
- bl GroundScript_ExecutePP
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4CB8: .4byte gUnknown_81175EC
-_080A4CBC: .4byte gUnknown_3001B6C
-_080A4CC0: .4byte gUnknown_8117644
- thumb_func_end GroundMap_ExecuteStation
-
- thumb_func_start GroundMap_ExecuteEnter
-GroundMap_ExecuteEnter:
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- ldr r1, _080A4D08
- movs r0, 0
- adds r2, r4, 0
- bl Log
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A4BE8
- mov r1, sp
- movs r3, 0
- movs r2, 0
- movs r0, 0x2
- strh r0, [r1, 0x4]
- mov r0, sp
- strh r2, [r0, 0x6]
- strb r3, [r0, 0x8]
- ldr r0, _080A4D0C
- ldr r0, [r0]
- ldr r3, _080A4D10
- movs r1, 0
- mov r2, sp
- bl GroundScript_ExecutePP
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4D08: .4byte gUnknown_8117650
-_080A4D0C: .4byte gUnknown_3001B6C
-_080A4D10: .4byte gUnknown_8117698
- thumb_func_end GroundMap_ExecuteEnter
-
- thumb_func_start sub_80A4D14
-sub_80A4D14:
- push {lr}
- ldr r0, _080A4D28
- ldr r0, [r0]
- bl sub_809D678
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080A4D28: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A4D14
-
- thumb_func_start sub_80A4D2C
-sub_80A4D2C:
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- ldr r0, _080A4D44
- ldr r0, [r0]
- bl sub_809D968
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080A4D44: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A4D2C
-
- thumb_func_start sub_80A4D48
-sub_80A4D48:
- push {lr}
- lsls r0, 16
- asrs r2, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _080A4D74
- ldr r1, _080A4D70
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x5
- beq _080A4D6C
- cmp r0, 0x8
- bne _080A4D74
-_080A4D6C:
- movs r0, 0
- b _080A4D76
- .align 2, 0
-_080A4D70: .4byte gUnknown_811BAF4
-_080A4D74:
- movs r0, 0x1
-_080A4D76:
- pop {r1}
- bx r1
- thumb_func_end sub_80A4D48
-
- thumb_func_start sub_80A4D7C
-sub_80A4D7C:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0x9
- beq _080A4D94
- cmp r5, 0x9
- bgt _080A4D90
- cmp r5, 0x2
- beq _080A4DB6
- b _080A4DC4
-_080A4D90:
- cmp r5, 0xC
- bne _080A4DC4
-_080A4D94:
- movs r0, 0
- movs r1, 0x27
- bl sub_8001658
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x28
- bl sub_8001658
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 1
- adds r1, r0
- adds r1, r5, r1
- lsls r1, 16
- asrs r5, r1, 16
- b _080A4DC4
-_080A4DB6:
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A4DC4
- movs r5, 0x3
-_080A4DC4:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A4D7C
-
- thumb_func_start GroundMap_Select
-GroundMap_Select:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- ldr r1, _080A4E38
- movs r0, 0
- adds r2, r5, 0
- bl Log
- movs r0, 0
- movs r1, 0x37
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x38
- bl sub_80015C0
- movs r0, 0
- bl sub_80A5EDC
- ldr r4, _080A4E3C
- ldr r0, [r4]
- cmp r0, 0
- beq _080A4E08
- bl sub_80A2D00
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080A4E08:
- ldr r0, _080A4E40
- movs r1, 0x6
- bl MemoryAlloc
- adds r2, r0, 0
- str r2, [r4]
- ldr r0, _080A4E44
- ldr r0, [r0]
- adds r0, 0xE4
- strh r5, [r0]
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _080A4E4C
- ldr r1, _080A4E48
- adds r0, r2, 0
- bl sub_80A2B40
- ldr r0, [r4]
- adds r1, r5, 0
- bl sub_80A2FBC
- b _080A50BA
- .align 2, 0
-_080A4E38: .4byte gUnknown_81176A4
-_080A4E3C: .4byte gUnknown_3001B70
-_080A4E40: .4byte 0x0000055c
-_080A4E44: .4byte gUnknown_3001B6C
-_080A4E48: .4byte gUnknown_8117324
-_080A4E4C:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- ldr r1, _080A4E6C
- adds r6, r0, r1
- ldrh r0, [r6]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bhi _080A4F20
- lsls r0, 2
- ldr r1, _080A4E70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A4E6C: .4byte gUnknown_811BAF4
-_080A4E70: .4byte _080A4E74
- .align 2, 0
-_080A4E74:
- .4byte _080A4F08
- .4byte _080A4F20
- .4byte _080A4F20
- .4byte _080A4F20
- .4byte _080A4F20
- .4byte _080A4F20
- .4byte _080A4EA8
- .4byte _080A4EA8
- .4byte _080A4EA8
- .4byte _080A4EA8
- .4byte _080A4EA8
- .4byte _080A4ECC
- .4byte _080A4ECC
-_080A4EA8:
- ldr r0, _080A4EC0
- ldr r0, [r0]
- ldr r1, _080A4EC4
- bl sub_80A2B40
- ldr r1, _080A4EC8
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- b _080A4F30
- .align 2, 0
-_080A4EC0: .4byte gUnknown_3001B70
-_080A4EC4: .4byte gUnknown_811733C
-_080A4EC8: .4byte gUnknown_2026E4E
-_080A4ECC:
- ldr r4, _080A4EDC
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x1
- negs r1, r1
- ldr r6, _080A4EE0
- b _080A4EEA
- .align 2, 0
-_080A4EDC: .4byte gUnknown_81173C0
-_080A4EE0: .4byte gUnknown_3001B70
-_080A4EE4:
- adds r4, 0xC
- movs r2, 0
- ldrsh r0, [r4, r2]
-_080A4EEA:
- cmp r0, r1
- beq _080A4EF2
- cmp r0, r5
- bne _080A4EE4
-_080A4EF2:
- ldr r0, [r6]
- bl MemoryFree
- movs r0, 0
- str r0, [r6]
- adds r1, r4, 0x4
- ldr r2, [r4, 0x8]
- adds r0, r5, 0
- bl GroundMap_SelectDungeon
- b _080A50BA
-_080A4F08:
- ldr r0, _080A4F18
- ldr r1, _080A4F1C
- movs r2, 0
- ldrsh r3, [r6, r2]
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
-_080A4F18: .4byte gUnknown_81176D0
-_080A4F1C: .4byte gUnknown_81176DC
-_080A4F20:
- ldr r0, _080A4FA0
- ldr r0, [r0]
- ldr r1, _080A4FA4
- bl sub_80A2B40
- movs r0, 0x1
- bl sub_80A5EDC
-_080A4F30:
- ldr r5, _080A4FA0
- ldr r0, [r5]
- movs r2, 0x4
- ldrsh r1, [r6, r2]
- bl sub_80A2FBC
- ldr r0, _080A4FA8
- ldr r0, [r0]
- mov r12, r0
- adds r0, 0xE8
- movs r1, 0
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- movs r4, 0x80
- lsls r4, 1
- add r4, r12
- movs r3, 0x82
- lsls r3, 1
- add r3, r12
- movs r2, 0x84
- lsls r2, 1
- add r2, r12
- movs r0, 0x86
- lsls r0, 1
- add r0, r12
- str r1, [r0]
- str r1, [r2]
- str r1, [r3]
- str r1, [r4]
- mov r0, r12
- adds r0, 0xE4
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0xAD
- beq _080A5034
- cmp r0, 0xAD
- bgt _080A4FC0
- cmp r0, 0xA3
- bgt _080A4FAC
- cmp r0, 0xA2
- bge _080A4FEE
- cmp r0, 0x4
- beq _080A5084
- cmp r0, 0xA1
- beq _080A5084
- b _080A50A2
- .align 2, 0
-_080A4FA0: .4byte gUnknown_3001B70
-_080A4FA4: .4byte gUnknown_8117324
-_080A4FA8: .4byte gUnknown_3001B6C
-_080A4FAC:
- cmp r0, 0xAA
- beq _080A500C
- cmp r0, 0xAA
- bgt _080A4FBA
- cmp r0, 0xA8
- beq _080A500C
- b _080A50A2
-_080A4FBA:
- cmp r0, 0xAB
- beq _080A5018
- b _080A50A2
-_080A4FC0:
- cmp r0, 0xBA
- beq _080A506A
- cmp r0, 0xBA
- bgt _080A4FD6
- cmp r0, 0xAF
- beq _080A5072
- cmp r0, 0xAF
- blt _080A5044
- cmp r0, 0xB0
- beq _080A5060
- b _080A50A2
-_080A4FD6:
- cmp r0, 0xDF
- beq _080A4FEE
- cmp r0, 0xDF
- bgt _080A4FE4
- cmp r0, 0xC0
- beq _080A5020
- b _080A50A2
-_080A4FE4:
- cmp r0, 0xE0
- beq _080A508E
- cmp r0, 0xE1
- beq _080A5096
- b _080A50A2
-_080A4FEE:
- ldr r0, _080A5000
- ldr r0, [r0]
- movs r1, 0x4
- bl sub_80A3BB0
- ldr r1, _080A5004
- ldr r2, _080A5008
- b _080A5050
- .align 2, 0
-_080A5000: .4byte gUnknown_3001B70
-_080A5004: .4byte gUnknown_2026E4E
-_080A5008: .4byte 0x00000808
-_080A500C:
- ldr r0, _080A5014
- ldr r0, [r0]
- b _080A5062
- .align 2, 0
-_080A5014: .4byte gUnknown_3001B70
-_080A5018:
- ldr r0, [r5]
- movs r1, 0x1
- bl sub_80A3BB0
-_080A5020:
- ldr r0, _080A5030
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_80A3B80
- b _080A50A2
- .align 2, 0
-_080A5030: .4byte gUnknown_3001B70
-_080A5034:
- ldr r1, _080A503C
- ldr r2, _080A5040
- b _080A5050
- .align 2, 0
-_080A503C: .4byte gUnknown_2026E4E
-_080A5040: .4byte 0x00001010
-_080A5044:
- ldr r0, [r5]
- movs r1, 0x4
- bl sub_80A3BB0
- ldr r1, _080A5058
- ldr r2, _080A505C
-_080A5050:
- adds r0, r2, 0
- strh r0, [r1]
- b _080A50A2
- .align 2, 0
-_080A5058: .4byte gUnknown_2026E4E
-_080A505C: .4byte 0x0000080c
-_080A5060:
- ldr r0, [r5]
-_080A5062:
- movs r1, 0x1
- bl sub_80A3BB0
- b _080A50A2
-_080A506A:
- ldr r0, _080A507C
- ldr r2, _080A5080
- adds r1, r2, 0
- strh r1, [r0]
-_080A5072:
- ldr r0, [r5]
- movs r1, 0x4
- bl sub_80A3BB0
- b _080A50A2
- .align 2, 0
-_080A507C: .4byte gUnknown_2026E4E
-_080A5080: .4byte 0x00001010
-_080A5084:
- ldr r0, [r5]
- movs r1, 0x3
- bl sub_80A3BB0
- b _080A50A2
-_080A508E:
- ldr r0, [r5]
- movs r1, 0x3
- bl sub_80A3BB0
-_080A5096:
- ldr r0, _080A50C0
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_80A3B80
-_080A50A2:
- movs r0, 0x6
- ldrsh r1, [r6, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A50B4
- adds r0, r1, 0
- bl GroundWeather_Select
-_080A50B4:
- ldr r0, _080A50C4
- bl sub_80A56D8
-_080A50BA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A50C0: .4byte gUnknown_3001B70
-_080A50C4: .4byte gUnknown_81176F8
- thumb_func_end GroundMap_Select
-
- thumb_func_start GroundMap_SelectDungeon
-GroundMap_SelectDungeon:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r1
- mov r10, r2
- lsls r0, 16
- asrs r5, r0, 16
- ldr r1, _080A514C
- movs r0, 0
- adds r2, r5, 0
- bl Log
- movs r0, 0
- movs r1, 0x37
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x38
- bl sub_80015C0
- movs r0, 0
- bl sub_80A5EDC
- ldr r7, _080A5150
- ldr r0, [r7]
- cmp r0, 0
- beq _080A5110
- bl sub_80A2D00
- ldr r0, [r7]
- bl MemoryFree
- movs r0, 0
- str r0, [r7]
-_080A5110:
- ldr r0, _080A5154
- movs r1, 0x6
- bl MemoryAlloc
- adds r2, r0, 0
- str r2, [r7]
- ldr r0, _080A5158
- mov r9, r0
- ldr r0, [r0]
- adds r0, 0xE4
- movs r4, 0
- strh r5, [r0]
- movs r6, 0x1
- negs r6, r6
- cmp r5, r6
- beq _080A5138
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0x63
- bne _080A5160
-_080A5138:
- ldr r1, _080A515C
- adds r0, r2, 0
- bl sub_80A2B40
- ldr r0, [r7]
- adds r1, r6, 0
- bl sub_80A2FBC
- b _080A51EC
- .align 2, 0
-_080A514C: .4byte gUnknown_8117700
-_080A5150: .4byte gUnknown_3001B70
-_080A5154: .4byte 0x0000055c
-_080A5158: .4byte gUnknown_3001B6C
-_080A515C: .4byte gUnknown_8117324
-_080A5160:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- ldr r1, _080A5180
- adds r6, r0, r1
- ldrh r0, [r6]
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080A518C
- ldr r0, _080A5184
- ldr r1, _080A5188
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
-_080A5180: .4byte gUnknown_811BAF4
-_080A5184: .4byte gUnknown_8117734
-_080A5188: .4byte gUnknown_8117740
-_080A518C:
- ldr r1, _080A51FC
- adds r0, r2, 0
- bl sub_80A2B40
- movs r0, 0x1
- bl sub_80A5EDC
- ldr r0, [r7]
- movs r2, 0x4
- ldrsh r1, [r6, r2]
- mov r2, r8
- mov r3, r10
- bl sub_80A3440
- mov r0, r9
- ldr r0, [r0]
- mov r12, r0
- adds r0, 0xE8
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- movs r3, 0x80
- lsls r3, 1
- add r3, r12
- movs r2, 0x82
- lsls r2, 1
- add r2, r12
- movs r1, 0x84
- lsls r1, 1
- add r1, r12
- movs r0, 0x86
- lsls r0, 1
- add r0, r12
- str r4, [r0]
- str r4, [r1]
- str r4, [r2]
- str r4, [r3]
- ldr r0, _080A5200
- bl sub_80A56D8
-_080A51EC:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A51FC: .4byte gUnknown_8117354
-_080A5200: .4byte gUnknown_8117754
- thumb_func_end GroundMap_SelectDungeon
-
- thumb_func_start sub_80A5204
-sub_80A5204:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- str r0, [sp]
- mov r8, r1
- str r2, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bgt _080A5222
- b _080A53EA
-_080A5222:
- mov r5, r8
- ldr r2, [sp]
- mov r12, r2
- movs r0, 0
- ldr r3, [sp, 0x4]
- ldrb r3, [r3, 0x1]
- str r3, [sp, 0x10]
- ldr r1, [sp, 0x4]
- ldrh r2, [r1, 0xA]
- mov r1, sp
- strh r2, [r1, 0xC]
- movs r1, 0xFF
-_080A523A:
- adds r0, 0x1
- mov r10, r0
- movs r3, 0xFF
- mov r9, r3
-_080A5242:
- mov r0, r12
- strb r1, [r0]
- movs r2, 0x1
- add r12, r2
- movs r3, 0x1
- negs r3, r3
- add r9, r3
- mov r0, r9
- cmp r0, 0
- bge _080A5242
- mov r0, r10
- cmp r0, 0x3
- ble _080A523A
- movs r1, 0
- ldr r2, [sp, 0x10]
- cmp r1, r2
- blt _080A5266
- b _080A53BA
-_080A5266:
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
-_080A526A:
- adds r0, 0x1
- mov r10, r0
- adds r0, r1, 0x1
- str r0, [sp, 0x14]
- movs r0, 0xFF
- movs r2, 0x4
- mov r9, r2
-_080A5278:
- mov r3, r12
- strb r0, [r3]
- movs r2, 0x1
- add r12, r2
- movs r3, 0x1
- negs r3, r3
- add r9, r3
- mov r2, r9
- cmp r2, 0
- bge _080A5278
- movs r3, 0x5
- mov r9, r3
- movs r0, 0
- cmp r1, 0
- bne _080A5308
- cmp r1, r7
- bge _080A5394
-_080A529A:
- ldrb r1, [r5]
- adds r5, 0x1
- cmp r1, 0xBF
- ble _080A52C2
- adds r6, r0, 0
- subs r6, 0xBF
- cmp r1, 0xBF
- ble _080A5300
- adds r2, r1, 0
- subs r2, 0xBF
-_080A52AE:
- ldrb r0, [r5]
- mov r3, r12
- strb r0, [r3]
- adds r5, 0x1
- movs r0, 0x1
- add r12, r0
- subs r2, 0x1
- cmp r2, 0
- bne _080A52AE
- b _080A5300
-_080A52C2:
- cmp r1, 0x7F
- ble _080A52E6
- ldrb r4, [r5]
- adds r5, 0x1
- adds r6, r0, 0
- subs r6, 0x7F
- cmp r1, 0x7F
- ble _080A5300
- adds r2, r1, 0
- subs r2, 0x7F
-_080A52D6:
- mov r3, r12
- strb r4, [r3]
- movs r0, 0x1
- add r12, r0
- subs r2, 0x1
- cmp r2, 0
- bne _080A52D6
- b _080A5300
-_080A52E6:
- movs r2, 0
- adds r6, r0, 0x1
- cmp r2, r1
- bgt _080A5300
- movs r0, 0
- adds r2, r1, 0x1
-_080A52F2:
- mov r3, r12
- strb r0, [r3]
- movs r3, 0x1
- add r12, r3
- subs r2, 0x1
- cmp r2, 0
- bne _080A52F2
-_080A5300:
- adds r0, r6, r1
- cmp r0, r7
- blt _080A529A
- b _080A5394
-_080A5308:
- ldr r4, _080A5340
- add r4, r12
- cmp r0, r7
- bge _080A5394
-_080A5310:
- ldrb r3, [r5]
- adds r5, 0x1
- cmp r3, 0xBF
- ble _080A5344
- adds r6, r0, 0
- subs r6, 0xBF
- cmp r3, 0xBF
- ble _080A538E
- adds r2, r3, 0
- subs r2, 0xBF
-_080A5324:
- ldrb r1, [r5]
- ldrb r0, [r4]
- eors r1, r0
- mov r0, r12
- strb r1, [r0]
- adds r4, 0x1
- adds r5, 0x1
- movs r1, 0x1
- add r12, r1
- subs r2, 0x1
- cmp r2, 0
- bne _080A5324
- b _080A538E
- .align 2, 0
-_080A5340: .4byte 0xffffff00
-_080A5344:
- cmp r3, 0x7F
- ble _080A5372
- ldrb r2, [r5]
- mov r8, r2
- adds r5, 0x1
- adds r6, r0, 0
- subs r6, 0x7F
- cmp r3, 0x7F
- ble _080A538E
- adds r2, r3, 0
- subs r2, 0x7F
-_080A535A:
- ldrb r1, [r4]
- mov r0, r8
- eors r0, r1
- mov r1, r12
- strb r0, [r1]
- adds r4, 0x1
- movs r0, 0x1
- add r12, r0
- subs r2, 0x1
- cmp r2, 0
- bne _080A535A
- b _080A538E
-_080A5372:
- movs r2, 0
- adds r6, r0, 0x1
- cmp r2, r3
- bgt _080A538E
- adds r2, r3, 0x1
-_080A537C:
- ldrb r0, [r4]
- mov r1, r12
- strb r0, [r1]
- adds r4, 0x1
- movs r0, 0x1
- add r12, r0
- subs r2, 0x1
- cmp r2, 0
- bne _080A537C
-_080A538E:
- adds r0, r6, r3
- cmp r0, r7
- blt _080A5310
-_080A5394:
- add r9, r7
- mov r1, r9
- cmp r1, 0xFF
- bgt _080A53AE
- movs r0, 0xFF
-_080A539E:
- mov r2, r12
- strb r0, [r2]
- movs r3, 0x1
- add r12, r3
- add r9, r3
- mov r1, r9
- cmp r1, 0xFF
- ble _080A539E
-_080A53AE:
- ldr r1, [sp, 0x14]
- mov r0, r10
- ldr r2, [sp, 0x10]
- cmp r1, r2
- bge _080A53BA
- b _080A526A
-_080A53BA:
- ldr r3, [sp, 0x8]
- cmp r0, r3
- bge _080A53E6
- movs r1, 0xFF
-_080A53C2:
- adds r0, 0x1
- mov r10, r0
- movs r0, 0xFF
- mov r9, r0
-_080A53CA:
- mov r2, r12
- strb r1, [r2]
- movs r3, 0x1
- add r12, r3
- movs r0, 0x1
- negs r0, r0
- add r9, r0
- mov r2, r9
- cmp r2, 0
- bge _080A53CA
- mov r0, r10
- ldr r3, [sp, 0x8]
- cmp r0, r3
- blt _080A53C2
-_080A53E6:
- mov r8, r5
- b _080A547E
-_080A53EA:
- ldr r1, [sp]
- movs r0, 0
- ldr r2, [sp, 0x4]
- ldrb r2, [r2, 0x1]
- str r2, [sp, 0x10]
- ldr r3, [sp, 0x4]
- ldrh r2, [r3, 0xA]
- mov r3, sp
- strh r2, [r3, 0xC]
- movs r6, 0xFF
-_080A53FE:
- adds r5, r0, 0x1
- movs r4, 0xFF
-_080A5402:
- strb r6, [r1]
- adds r1, 0x1
- subs r4, 0x1
- cmp r4, 0
- bge _080A5402
- adds r0, r5, 0
- cmp r0, 0x3
- ble _080A53FE
- movs r4, 0
- ldr r3, [sp, 0x10]
- cmp r4, r3
- bge _080A5460
- ldr r2, [sp, 0x4]
- ldrb r7, [r2]
- movs r3, 0xFF
-_080A5420:
- adds r5, r0, 0x1
- adds r2, r4, 0x1
- movs r4, 0x4
-_080A5426:
- strb r3, [r1]
- adds r1, 0x1
- subs r4, 0x1
- cmp r4, 0
- bge _080A5426
- movs r4, 0x5
- cmp r7, 0
- beq _080A5444
- movs r6, 0
- adds r0, r7, 0
-_080A543A:
- strb r6, [r1]
- adds r1, 0x1
- subs r0, 0x1
- cmp r0, 0
- bne _080A543A
-_080A5444:
- adds r4, r7
- cmp r4, 0xFF
- bgt _080A5456
- movs r0, 0xFF
-_080A544C:
- strb r0, [r1]
- adds r1, 0x1
- adds r4, 0x1
- cmp r4, 0xFF
- ble _080A544C
-_080A5456:
- adds r4, r2, 0
- adds r0, r5, 0
- ldr r2, [sp, 0x10]
- cmp r4, r2
- blt _080A5420
-_080A5460:
- ldr r3, [sp, 0x8]
- cmp r0, r3
- bge _080A547E
- movs r6, 0xFF
-_080A5468:
- adds r5, r0, 0x1
- movs r4, 0xFF
-_080A546C:
- strb r6, [r1]
- adds r1, 0x1
- subs r4, 0x1
- cmp r4, 0
- bge _080A546C
- adds r0, r5, 0
- ldr r2, [sp, 0x8]
- cmp r0, r2
- blt _080A5468
-_080A547E:
- mov r3, sp
- ldrh r3, [r3, 0xC]
- lsls r0, r3, 16
- cmp r0, 0
- bgt _080A548A
- b _080A5590
-_080A548A:
- mov r6, r8
- ldr r0, [sp]
- movs r1, 0x80
- lsls r1, 3
- adds r2, r0, r1
- movs r0, 0
- ldr r3, [sp, 0x10]
- cmp r0, r3
- bge _080A5586
- movs r1, 0xFB
- mov r10, r1
-_080A54A0:
- adds r2, 0x5
- movs r4, 0
- cmp r0, 0
- bne _080A54EC
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- movs r1, 0x1
- mov r9, r1
- cmp r0, r7
- bge _080A5574
-_080A54B4:
- ldrb r1, [r6]
- adds r6, 0x1
- cmp r1, 0x7F
- ble _080A54DE
- subs r4, 0x7F
- cmp r1, 0x7F
- ble _080A54D6
- movs r5, 0x80
- adds r3, r1, 0
- subs r3, 0x7F
-_080A54C8:
- ldrb r0, [r2]
- orrs r0, r5
- strb r0, [r2]
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A54C8
-_080A54D6:
- adds r4, r1
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- b _080A54E6
-_080A54DE:
- adds r0, r1, 0x1
- adds r2, r0
- adds r0, r4, 0x1
- adds r4, r0, r1
-_080A54E6:
- cmp r4, r7
- blt _080A54B4
- b _080A5574
-_080A54EC:
- ldr r1, _080A5538
- adds r1, r2
- mov r12, r1
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- adds r0, 0x1
- mov r9, r0
- cmp r4, r7
- bge _080A5574
-_080A54FE:
- ldrb r5, [r6]
- adds r6, 0x1
- cmp r5, 0x7F
- ble _080A553C
- subs r4, 0x7F
- cmp r5, 0x7F
- ble _080A556A
- movs r7, 0x80
- movs r0, 0x80
- mov r8, r0
- adds r3, r5, 0
- subs r3, 0x7F
-_080A5516:
- mov r0, r12
- ldrb r1, [r0]
- mov r0, r8
- ands r0, r1
- movs r1, 0x1
- add r12, r1
- cmp r0, 0
- bne _080A552C
- ldrb r0, [r2]
- orrs r0, r7
- strb r0, [r2]
-_080A552C:
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A5516
- b _080A556A
- .align 2, 0
-_080A5538: .4byte 0xffffff00
-_080A553C:
- movs r3, 0
- adds r4, 0x1
- cmp r3, r5
- bgt _080A556A
- movs r7, 0x80
- movs r3, 0x80
- mov r8, r3
- adds r3, r5, 0x1
-_080A554C:
- mov r0, r12
- ldrb r1, [r0]
- mov r0, r8
- ands r0, r1
- movs r1, 0x1
- add r12, r1
- cmp r0, 0
- beq _080A5562
- ldrb r0, [r2]
- orrs r0, r7
- strb r0, [r2]
-_080A5562:
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A554C
-_080A556A:
- adds r4, r5
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- cmp r4, r7
- blt _080A54FE
-_080A5574:
- mov r1, r10
- subs r0, r1, r7
- adds r2, r0
- mov r0, r9
- ldr r3, [sp, 0x4]
- ldrb r3, [r3, 0x1]
- str r3, [sp, 0x10]
- cmp r0, r3
- blt _080A54A0
-_080A5586:
- mov r8, r6
- ldr r0, [sp, 0x4]
- ldrh r1, [r0, 0xA]
- mov r0, sp
- strh r1, [r0, 0xC]
-_080A5590:
- mov r2, sp
- ldrh r2, [r2, 0xC]
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080A568C
- mov r6, r8
- ldr r3, [sp]
- movs r0, 0x80
- lsls r0, 3
- adds r2, r3, r0
- movs r0, 0
- b _080A5684
-_080A55AA:
- adds r2, 0x5
- movs r4, 0
- cmp r0, 0
- bne _080A55F2
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- movs r1, 0x1
- mov r10, r1
- cmp r0, r7
- bge _080A567C
-_080A55BE:
- ldrb r1, [r6]
- adds r6, 0x1
- cmp r1, 0x7F
- ble _080A55E4
- subs r4, 0x7F
- cmp r1, 0x7F
- ble _080A55E0
- movs r5, 0x40
- adds r3, r1, 0
- subs r3, 0x7F
-_080A55D2:
- ldrb r0, [r2]
- orrs r0, r5
- strb r0, [r2]
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A55D2
-_080A55E0:
- adds r4, r1
- b _080A55EC
-_080A55E4:
- adds r0, r1, 0x1
- adds r2, r0
- adds r0, r4, 0x1
- adds r4, r0, r1
-_080A55EC:
- cmp r4, r7
- blt _080A55BE
- b _080A567C
-_080A55F2:
- ldr r3, _080A5640
- adds r3, r2
- mov r12, r3
- ldr r1, [sp, 0x4]
- ldrb r7, [r1]
- adds r0, 0x1
- mov r10, r0
- cmp r4, r7
- bge _080A567C
-_080A5604:
- ldrb r5, [r6]
- adds r6, 0x1
- cmp r5, 0x7F
- ble _080A5644
- subs r4, 0x7F
- cmp r5, 0x7F
- ble _080A5676
- movs r3, 0x40
- mov r8, r3
- movs r0, 0x40
- mov r9, r0
- adds r3, r5, 0
- subs r3, 0x7F
-_080A561E:
- mov r0, r12
- ldrb r1, [r0]
- mov r0, r9
- ands r0, r1
- movs r1, 0x1
- add r12, r1
- cmp r0, 0
- bne _080A5636
- ldrb r0, [r2]
- mov r1, r8
- orrs r0, r1
- strb r0, [r2]
-_080A5636:
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A561E
- b _080A5676
- .align 2, 0
-_080A5640: .4byte 0xffffff00
-_080A5644:
- movs r3, 0
- adds r4, 0x1
- cmp r3, r5
- bgt _080A5676
- movs r3, 0x40
- mov r8, r3
- movs r0, 0x40
- mov r9, r0
- adds r3, r5, 0x1
-_080A5656:
- mov r0, r12
- ldrb r1, [r0]
- mov r0, r9
- ands r0, r1
- movs r1, 0x1
- add r12, r1
- cmp r0, 0
- beq _080A566E
- ldrb r0, [r2]
- mov r1, r8
- orrs r0, r1
- strb r0, [r2]
-_080A566E:
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A5656
-_080A5676:
- adds r4, r5
- cmp r4, r7
- blt _080A5604
-_080A567C:
- movs r3, 0xFB
- subs r0, r3, r7
- adds r2, r0
- mov r0, r10
-_080A5684:
- ldr r1, [sp, 0x10]
- cmp r0, r1
- blt _080A55AA
- mov r8, r6
-_080A568C:
- mov r0, r8
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A5204
-
- thumb_func_start sub_80A56A0
-sub_80A56A0:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _080A56BC
- ldr r0, [r0]
- adds r1, r3, 0
- bl sub_80A3B80
- pop {r0}
- bx r0
- .align 2, 0
-_080A56BC: .4byte gUnknown_3001B70
- thumb_func_end sub_80A56A0
-
- thumb_func_start sub_80A56C0
-sub_80A56C0:
- push {lr}
- adds r2, r0, 0
- ldr r0, _080A56D4
- ldr r0, [r0]
- movs r1, 0
- bl sub_80A4558
- pop {r0}
- bx r0
- .align 2, 0
-_080A56D4: .4byte gUnknown_3001B70
- thumb_func_end sub_80A56C0
-
- thumb_func_start sub_80A56D8
-sub_80A56D8:
- push {lr}
- adds r2, r0, 0
- ldr r0, _080A56EC
- ldr r0, [r0]
- movs r1, 0
- bl sub_80A456C
- pop {r0}
- bx r0
- .align 2, 0
-_080A56EC: .4byte gUnknown_3001B70
- thumb_func_end sub_80A56D8
-
- thumb_func_start sub_80A56F0
-sub_80A56F0:
- ldr r1, _080A5700
- ldr r2, [r1]
- adds r2, 0xE8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .align 2, 0
-_080A5700: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A56F0
-
- thumb_func_start sub_80A5704
-sub_80A5704:
- ldr r1, _080A5724
- ldr r3, [r1]
- adds r2, r3, 0
- adds r2, 0xF8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- adds r0, r3, 0
- adds r0, 0xF0
- movs r1, 0
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- bx lr
- .align 2, 0
-_080A5724: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A5704
-
- thumb_func_start sub_80A5728
-sub_80A5728:
- ldr r0, _080A5734
- ldr r0, [r0]
- adds r0, 0xE4
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A5734: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A5728
-
- thumb_func_start sub_80A5738
-sub_80A5738:
- ldr r0, _080A5750
- ldr r0, [r0]
- adds r0, 0xE4
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A5754
- adds r0, r1
- bx lr
- .align 2, 0
-_080A5750: .4byte gUnknown_3001B6C
-_080A5754: .4byte gUnknown_811BAF4
- thumb_func_end sub_80A5738
-
- thumb_func_start sub_80A5758
-sub_80A5758:
- push {lr}
- adds r1, r0, 0
- ldr r0, _080A5768
- ldr r0, [r0]
- cmp r0, 0
- bne _080A576C
- movs r0, 0
- b _080A5772
- .align 2, 0
-_080A5768: .4byte gUnknown_3001B70
-_080A576C:
- bl sub_80A4608
- movs r0, 0x1
-_080A5772:
- pop {r1}
- bx r1
- thumb_func_end sub_80A5758
-
- thumb_func_start sub_80A5778
-sub_80A5778:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _080A578C
- ldr r0, [r0]
- cmp r0, 0
- bne _080A5790
- movs r0, 0
- b _080A5798
- .align 2, 0
-_080A578C: .4byte gUnknown_3001B70
-_080A5790:
- adds r1, r3, 0
- bl sub_80A463C
- movs r0, 0x1
-_080A5798:
- pop {r1}
- bx r1
- thumb_func_end sub_80A5778
-
- thumb_func_start sub_80A579C
-sub_80A579C:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- ldr r0, _080A5838
- ldr r3, [r0]
- cmp r3, 0
- beq _080A5854
- ldr r0, _080A583C
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0xE4
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A5854
- adds r0, r1, 0
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 2
- ldr r0, _080A5840
- adds r4, r0
- adds r0, r3, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80A463C
- ldr r2, [r6]
- mov r12, r2
- movs r0, 0xF0
- lsls r0, 7
- add r0, r12
- str r0, [r6]
- ldr r3, [r6, 0x4]
- movs r7, 0xA0
- lsls r7, 7
- adds r0, r3, r7
- str r0, [r6, 0x4]
- ldr r2, [r5]
- ldr r1, _080A5844
- adds r0, r2, r1
- str r0, [r5]
- ldr r1, [r5, 0x4]
- ldr r7, _080A5848
- adds r0, r1, r7
- str r0, [r5, 0x4]
- movs r7, 0
- ldrsh r0, [r4, r7]
- cmp r0, 0xA
- bne _080A581E
- movs r0, 0x90
- lsls r0, 8
- add r0, r12
- str r0, [r6]
- movs r4, 0xD0
- lsls r4, 7
- adds r0, r3, r4
- str r0, [r6, 0x4]
- ldr r7, _080A584C
- adds r0, r2, r7
- str r0, [r5]
- ldr r2, _080A5850
- adds r0, r1, r2
- str r0, [r5, 0x4]
-_080A581E:
- ldr r1, [r6]
- ldr r0, [r5]
- cmp r1, r0
- ble _080A5828
- str r1, [r5]
-_080A5828:
- ldr r1, [r6, 0x4]
- ldr r0, [r5, 0x4]
- cmp r1, r0
- ble _080A5832
- str r1, [r5, 0x4]
-_080A5832:
- movs r0, 0x1
- b _080A5856
- .align 2, 0
-_080A5838: .4byte gUnknown_3001B70
-_080A583C: .4byte gUnknown_3001B6C
-_080A5840: .4byte gUnknown_811BAF4
-_080A5844: .4byte 0xffff8800
-_080A5848: .4byte 0xffffb000
-_080A584C: .4byte 0xffff7000
-_080A5850: .4byte 0xffff9800
-_080A5854:
- movs r0, 0
-_080A5856:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A579C
-
- thumb_func_start sub_80A585C
-sub_80A585C:
- push {r4-r7,lr}
- adds r7, r1, 0
- ldr r1, _080A5884
- ldr r2, [r1]
- ldr r1, _080A5888
- adds r2, r1
- ldr r1, [r0, 0x4]
- lsls r1, 8
- ldr r0, [r0]
- adds r1, r0
- ldr r0, _080A588C
- adds r1, r0
- ldr r0, [r2]
- adds r5, r0, r1
- ldr r4, [r7, 0x4]
- cmp r0, 0
- bne _080A5890
-_080A587E:
- movs r0, 0x1
- b _080A58C0
- .align 2, 0
-_080A5884: .4byte gUnknown_3001B70
-_080A5888: .4byte 0x00000544
-_080A588C: .4byte 0x00000405
-_080A5890:
- cmp r4, 0
- ble _080A58BE
- movs r1, 0x80
- lsls r1, 1
- mov r12, r1
-_080A589A:
- ldr r2, [r7]
- adds r3, r5, 0
- cmp r2, 0
- ble _080A58B6
- movs r6, 0x80
-_080A58A4:
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- adds r3, 0x1
- cmp r0, 0
- bne _080A587E
- subs r2, 0x1
- cmp r2, 0
- bgt _080A58A4
-_080A58B6:
- add r5, r12
- subs r4, 0x1
- cmp r4, 0
- bgt _080A589A
-_080A58BE:
- movs r0, 0
-_080A58C0:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A585C
-
- thumb_func_start sub_80A58C8
-sub_80A58C8:
- push {r4-r7,lr}
- adds r7, r1, 0
- ldr r1, _080A58F0
- ldr r2, [r1]
- ldr r1, _080A58F4
- adds r2, r1
- ldr r1, [r0, 0x4]
- lsls r1, 8
- ldr r0, [r0]
- adds r1, r0
- ldr r0, _080A58F8
- adds r1, r0
- ldr r0, [r2]
- adds r5, r0, r1
- ldr r4, [r7, 0x4]
- cmp r0, 0
- bne _080A58FC
-_080A58EA:
- movs r0, 0x1
- b _080A592C
- .align 2, 0
-_080A58F0: .4byte gUnknown_3001B70
-_080A58F4: .4byte 0x00000544
-_080A58F8: .4byte 0x00000405
-_080A58FC:
- cmp r4, 0
- ble _080A592A
- movs r1, 0x80
- lsls r1, 1
- mov r12, r1
-_080A5906:
- ldr r2, [r7]
- adds r3, r5, 0
- cmp r2, 0
- ble _080A5922
- movs r6, 0x40
-_080A5910:
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- adds r3, 0x1
- cmp r0, 0
- bne _080A58EA
- subs r2, 0x1
- cmp r2, 0
- bgt _080A5910
-_080A5922:
- add r5, r12
- subs r4, 0x1
- cmp r4, 0
- bgt _080A5906
-_080A592A:
- movs r0, 0
-_080A592C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A58C8
-
- thumb_func_start sub_80A5934
-sub_80A5934:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A5958
- ldr r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A4660
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A5958: .4byte gUnknown_3001B70
- thumb_func_end sub_80A5934
-
- thumb_func_start sub_80A595C
-sub_80A595C:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A5980
- ldr r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A46C0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A5980: .4byte gUnknown_3001B70
- thumb_func_end sub_80A595C
-
- thumb_func_start sub_80A5984
-sub_80A5984:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _080A599C
- ldr r0, [r0]
- adds r1, r3, 0
- bl sub_80A4720
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_080A599C: .4byte gUnknown_3001B70
- thumb_func_end sub_80A5984
-
- thumb_func_start sub_80A59A0
-sub_80A59A0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r3, r2, 16
- lsrs r3, 16
- ldr r0, _080A59BC
- ldr r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A4740
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A59BC: .4byte gUnknown_3001B70
- thumb_func_end sub_80A59A0
-
- thumb_func_start GroundMap_Action
-GroundMap_Action:
- push {lr}
- bl nullsub_123
- ldr r0, _080A59D4
- ldr r0, [r0]
- ldr r1, _080A59D8
- bl HandleAction
- pop {r0}
- bx r0
- .align 2, 0
-_080A59D4: .4byte gUnknown_3001B6C
-_080A59D8: .4byte gUnknown_8117770
- thumb_func_end GroundMap_Action
-
- thumb_func_start sub_80A59DC
-sub_80A59DC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x58
- ldr r7, _080A5A34
- ldr r0, [r7]
- cmp r0, 0
- bne _080A59F0
- b _080A5E5A
-_080A59F0:
- mov r9, sp
- mov r0, sp
- bl sub_809D248
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080A5A04
- str r0, [sp]
- str r0, [sp, 0x4]
-_080A5A04:
- ldr r0, _080A5A38
- mov r8, r0
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0xE4
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r6, r8
- cmp r0, 0xAB
- bne _080A5A1A
- b _080A5BBE
-_080A5A1A:
- cmp r0, 0xAB
- bgt _080A5A46
- cmp r0, 0xA3
- bgt _080A5A3C
- cmp r0, 0xA2
- bge _080A5A76
- cmp r0, 0x4
- bne _080A5A2C
- b _080A5D76
-_080A5A2C:
- cmp r0, 0xA1
- bne _080A5A32
- b _080A5E28
-_080A5A32:
- b _080A5E46
- .align 2, 0
-_080A5A34: .4byte gUnknown_3001B70
-_080A5A38: .4byte gUnknown_3001B6C
-_080A5A3C:
- cmp r0, 0xA8
- beq _080A5AF4
- cmp r0, 0xAA
- beq _080A5AF4
- b _080A5E46
-_080A5A46:
- cmp r0, 0xB0
- bne _080A5A4C
- b _080A5C76
-_080A5A4C:
- cmp r0, 0xB0
- bgt _080A5A5E
- cmp r0, 0xAE
- bne _080A5A56
- b _080A5B58
-_080A5A56:
- cmp r0, 0xAF
- bne _080A5A5C
- b _080A5BD8
-_080A5A5C:
- b _080A5E46
-_080A5A5E:
- cmp r0, 0xDF
- beq _080A5A76
- cmp r0, 0xDF
- bgt _080A5A6E
- cmp r0, 0xBA
- bne _080A5A6C
- b _080A5D18
-_080A5A6C:
- b _080A5E46
-_080A5A6E:
- cmp r0, 0xE0
- bne _080A5A74
- b _080A5DDA
-_080A5A74:
- b _080A5E46
-_080A5A76:
- ldr r3, [r6]
- adds r2, r3, 0
- adds r2, 0xF4
- ldr r1, [r2]
- adds r0, r1, 0x2
- str r0, [r2]
- adds r4, r3, 0
- adds r4, 0xFC
- cmp r0, 0
- bge _080A5A8C
- adds r0, r1, 0x5
-_080A5A8C:
- asrs r1, r0, 2
- ldr r0, [r4]
- adds r0, r1
- str r0, [r4]
- ldr r0, [r2]
- movs r1, 0x3
- ands r0, r1
- str r0, [r2]
- ldr r5, _080A5AF0
- ldr r0, [r5]
- adds r2, r3, 0
- adds r2, 0xF8
- movs r1, 0
- bl sub_80A4580
- ldr r0, [sp]
- str r0, [sp, 0x8]
- ldr r0, [r6]
- adds r0, 0xFC
- ldr r1, [sp, 0x4]
- ldr r0, [r0]
- adds r1, r0
- add r4, sp, 0x8
- str r1, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A456C
- ldr r0, [sp]
- str r0, [sp, 0x8]
- ldr r0, [r6]
- adds r0, 0xFC
- ldr r1, [sp, 0x4]
- ldr r0, [r0]
- subs r1, r0
- str r1, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0x1
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- b _080A5DD0
- .align 2, 0
-_080A5AF0: .4byte gUnknown_3001B70
-_080A5AF4:
- ldr r2, [r6]
- adds r3, r2, 0
- adds r3, 0xF0
- adds r0, r2, 0
- adds r0, 0xE8
- ldr r1, [r3]
- ldr r0, [r0]
- adds r1, r0
- str r1, [r3]
- adds r2, 0xF8
- cmp r1, 0
- bge _080A5B0E
- adds r1, 0x7
-_080A5B0E:
- asrs r1, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r1, [r3]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5B20
- adds r0, r1, 0x7
-_080A5B20:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r3]
- ldr r5, _080A5B54
- ldr r0, [r5]
- movs r1, 0
- bl sub_80A4580
- ldr r0, [r6]
- adds r0, 0xF8
- ldr r1, [sp]
- ldr r0, [r0]
- adds r1, r0
- str r1, [sp, 0x10]
- ldr r0, [sp, 0x4]
- add r4, sp, 0x10
- str r0, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- movs r1, 0
- b _080A5DD2
- .align 2, 0
-_080A5B54: .4byte gUnknown_3001B70
-_080A5B58:
- adds r4, r3, 0
- adds r4, 0xF0
- adds r0, r3, 0
- adds r0, 0xE8
- ldr r1, [r4]
- ldr r0, [r0]
- adds r1, r0
- str r1, [r4]
- adds r2, r3, 0
- adds r2, 0xF8
- cmp r1, 0
- bge _080A5B72
- adds r1, 0x7
-_080A5B72:
- asrs r1, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r1, [r4]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5B84
- adds r0, r1, 0x7
-_080A5B84:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r4]
- ldr r0, [r7]
- movs r1, 0
- bl sub_80A4580
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r1, [sp]
- ldr r0, [r0]
- adds r1, r0
- str r1, [sp, 0x18]
- ldr r0, [sp, 0x4]
- add r4, sp, 0x18
- str r0, [r4, 0x4]
- ldr r0, [r7]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r7]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A456C
- b _080A5DCE
-_080A5BBE:
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- ldr r0, [r7]
- add r4, sp, 0x20
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r7]
- movs r1, 0
- b _080A5DD2
-_080A5BD8:
- ldr r0, [r7]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- mov r0, r8
- ldr r3, [r0]
- adds r4, r3, 0
- adds r4, 0xF0
- adds r1, r3, 0
- adds r1, 0xE8
- ldr r0, [r4]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r4]
- adds r5, r3, 0
- adds r5, 0xF4
- adds r1, r3, 0
- adds r1, 0xEC
- ldr r0, [r5]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r5]
- adds r2, r3, 0
- adds r2, 0xF8
- ldr r1, [r4]
- cmp r1, 0
- bge _080A5C12
- adds r1, 0x7
-_080A5C12:
- asrs r1, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- adds r3, 0xFC
- ldr r1, [r5]
- cmp r1, 0
- bge _080A5C24
- adds r1, 0x7
-_080A5C24:
- asrs r1, 3
- ldr r0, [r3]
- adds r0, r1
- str r0, [r3]
- ldr r1, [r4]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5C36
- adds r0, r1, 0x7
-_080A5C36:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r4]
- ldr r1, [r5]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5C48
- adds r0, r1, 0x7
-_080A5C48:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r5]
- ldr r0, [r7]
- movs r1, 0
- bl sub_80A4580
- mov r1, r8
- ldr r2, [r1]
- adds r1, r2, 0
- adds r1, 0xF8
- ldr r0, [sp]
- ldr r1, [r1]
- adds r0, r1
- str r0, [sp, 0x28]
- adds r2, 0xFC
- mov r1, r9
- ldr r0, [r1, 0x4]
- ldr r1, [r2]
- adds r0, r1
- add r4, sp, 0x28
- b _080A5DC2
-_080A5C76:
- adds r4, r3, 0
- adds r4, 0xF0
- adds r1, r3, 0
- adds r1, 0xE8
- ldr r0, [r4]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r4]
- adds r5, r3, 0
- adds r5, 0xF4
- adds r1, r3, 0
- adds r1, 0xEC
- ldr r0, [r5]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r5]
- adds r6, r3, 0
- adds r6, 0xF8
- ldr r1, [r4]
- cmp r1, 0
- bge _080A5CA2
- adds r1, 0x7
-_080A5CA2:
- asrs r1, 3
- ldr r0, [r6]
- adds r0, r1
- str r0, [r6]
- adds r2, r3, 0
- adds r2, 0xFC
- ldr r1, [r5]
- cmp r1, 0
- bge _080A5CB6
- adds r1, 0x7
-_080A5CB6:
- asrs r1, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r1, [r4]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5CC8
- adds r0, r1, 0x7
-_080A5CC8:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r4]
- ldr r1, [r5]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5CDA
- adds r0, r1, 0x7
-_080A5CDA:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r5]
- ldr r0, [r7]
- movs r1, 0
- adds r2, r6, 0
- bl sub_80A4580
- mov r0, r8
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0xF8
- ldr r0, [sp]
- ldr r1, [r1]
- adds r0, r1
- str r0, [sp, 0x30]
- adds r2, 0xFC
- ldr r0, [sp, 0x4]
- ldr r1, [r2]
- adds r0, r1
- add r4, sp, 0x30
- str r0, [r4, 0x4]
- ldr r0, [r7]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r7]
- movs r1, 0
- b _080A5DD2
-_080A5D18:
- ldr r0, [r7]
- movs r1, 0x1
- mov r2, sp
- bl sub_80A456C
- mov r0, r8
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0xF0
- ldr r4, [r3]
- adds r0, r4, 0x1
- str r0, [r3]
- adds r2, r1, 0
- adds r2, 0xF8
- cmp r0, 0
- bge _080A5D3A
- adds r0, r4, 0x4
-_080A5D3A:
- asrs r1, r0, 2
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r0, [r3]
- movs r1, 0x3
- ands r0, r1
- str r0, [r3]
- ldr r0, [r7]
- movs r1, 0x1
- bl sub_80A4580
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r1, [sp]
- ldr r0, [r0]
- adds r1, r0
- str r1, [sp, 0x38]
- ldr r0, [sp, 0x4]
- add r4, sp, 0x38
- str r0, [r4, 0x4]
- ldr r0, [r7]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r7]
- movs r1, 0
- b _080A5DD2
-_080A5D76:
- ldr r0, [r7]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- mov r0, r8
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0xF0
- ldr r4, [r3]
- adds r0, r4, 0x1
- str r0, [r3]
- adds r2, r1, 0
- adds r2, 0xF8
- cmp r0, 0
- bge _080A5D98
- adds r0, 0x7
-_080A5D98:
- asrs r1, r0, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r0, [r3]
- movs r1, 0x7
- ands r0, r1
- str r0, [r3]
- ldr r0, [r7]
- movs r1, 0x1
- bl sub_80A4580
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r1, [sp]
- ldr r0, [r0]
- adds r1, r0
- str r1, [sp, 0x40]
- ldr r0, [sp, 0x4]
- add r4, sp, 0x40
-_080A5DC2:
- str r0, [r4, 0x4]
- ldr r0, [r7]
- movs r1, 0x1
- adds r2, r4, 0
- bl sub_80A4580
-_080A5DCE:
- ldr r0, [r7]
-_080A5DD0:
- movs r1, 0x1
-_080A5DD2:
- adds r2, r4, 0
- bl sub_80A456C
- b _080A5E52
-_080A5DDA:
- ldr r0, [r7]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- mov r0, r8
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0xF0
- ldr r4, [r3]
- adds r0, r4, 0x1
- str r0, [r3]
- adds r2, r1, 0
- adds r2, 0xF8
- cmp r0, 0
- bge _080A5DFC
- adds r0, 0x7
-_080A5DFC:
- asrs r1, r0, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r0, [r3]
- movs r1, 0x7
- ands r0, r1
- str r0, [r3]
- ldr r0, [r7]
- movs r1, 0x1
- bl sub_80A4580
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r0, [r0]
- str r0, [sp, 0x48]
- ldr r0, [sp, 0x4]
- add r2, sp, 0x48
- str r0, [r2, 0x4]
- ldr r0, [r7]
- b _080A5E3E
-_080A5E28:
- ldr r0, [r7]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- movs r0, 0
- movs r1, 0
- str r0, [sp, 0x50]
- str r1, [sp, 0x54]
- ldr r0, [r7]
- add r2, sp, 0x50
-_080A5E3E:
- movs r1, 0x1
- bl sub_80A456C
- b _080A5E52
-_080A5E46:
- ldr r0, _080A5E6C
- ldr r0, [r0]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
-_080A5E52:
- ldr r0, _080A5E6C
- ldr r0, [r0]
- bl sub_80A4764
-_080A5E5A:
- bl sub_80A60D8
- add sp, 0x58
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E6C: .4byte gUnknown_3001B70
- thumb_func_end sub_80A59DC
-
- thumb_func_start sub_80A5E70
-sub_80A5E70:
- push {lr}
- ldr r0, _080A5E88
- ldr r0, [r0]
- cmp r0, 0
- beq _080A5E7E
- bl sub_80A49E8
-_080A5E7E:
- bl sub_80A62D0
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E88: .4byte gUnknown_3001B70
- thumb_func_end sub_80A5E70
-
- thumb_func_start sub_80A5E8C
-sub_80A5E8C:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080A5EB4
- movs r0, 0x24
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r5]
- ldr r1, _080A5EB8
- strh r1, [r0]
- movs r1, 0
- strb r1, [r0, 0x2]
- adds r0, r4, 0
- bl sub_80A5EDC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5EB4: .4byte gUnknown_3001B74
-_080A5EB8: .4byte 0x0000ffff
- thumb_func_end sub_80A5E8C
-
- thumb_func_start sub_80A5EBC
-sub_80A5EBC:
- push {r4,lr}
- movs r0, 0
- bl sub_80A5EDC
- ldr r4, _080A5ED8
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5ED8: .4byte gUnknown_3001B74
- thumb_func_end sub_80A5EBC
-
- thumb_func_start sub_80A5EDC
-sub_80A5EDC:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- movs r6, 0x1
- negs r6, r6
- movs r0, 0
- movs r1, 0x1B
- adds r2, r6, 0
- bl sub_80018D8
- ldr r0, _080A5F34
- ldr r1, [r0]
- ldr r0, _080A5F38
- strh r0, [r1]
- strb r5, [r1, 0x2]
- ldr r4, _080A5F3C
- ldr r0, [r4]
- cmp r0, 0
- beq _080A5F12
- bl sub_80A2D00
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080A5F12:
- cmp r5, 0
- beq _080A5F2E
- ldr r0, _080A5F40
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- ldr r1, _080A5F44
- bl sub_80A2B40
- ldr r0, [r4]
- adds r1, r6, 0
- bl sub_80A2FBC
-_080A5F2E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5F34: .4byte gUnknown_3001B74
-_080A5F38: .4byte 0x0000ffff
-_080A5F3C: .4byte gUnknown_3001B78
-_080A5F40: .4byte 0x0000055c
-_080A5F44: .4byte gUnknown_8117784
- thumb_func_end sub_80A5EDC
-
- thumb_func_start nullsub_121
-nullsub_121:
- bx lr
- thumb_func_end nullsub_121
-
- thumb_func_start nullsub_122
-nullsub_122:
- bx lr
- thumb_func_end nullsub_122
-
- thumb_func_start GroundWeather_Select
-GroundWeather_Select:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r5, r0, 16
- adds r7, r5, 0
- ldr r1, _080A5F94
- ldr r6, _080A5F98
- ldr r0, [r6]
- ldrb r3, [r0, 0x2]
- movs r0, 0
- adds r2, r5, 0
- bl Log
- movs r0, 0
- movs r1, 0x1B
- adds r2, r5, 0
- bl sub_80018D8
- ldr r0, [r6]
- movs r4, 0
- strh r5, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- bne _080A5F80
- b _080A60B4
-_080A5F80:
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _080A5FA0
- ldr r0, _080A5F9C
- ldr r0, [r0]
- adds r1, r5, 0
- bl sub_80A2FBC
- b _080A60B4
- .align 2, 0
-_080A5F94: .4byte gUnknown_811779C
-_080A5F98: .4byte gUnknown_3001B74
-_080A5F9C: .4byte gUnknown_3001B78
-_080A5FA0:
- lsls r1, r7, 2
- ldr r0, _080A5FD8
- adds r5, r1, r0
- ldr r0, _080A5FDC
- ldr r0, [r0]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl sub_80A2FBC
- ldr r0, [r6]
- str r4, [r0, 0x4]
- str r4, [r0, 0x8]
- str r4, [r0, 0xC]
- str r4, [r0, 0x10]
- str r4, [r0, 0x20]
- str r4, [r0, 0x1C]
- str r4, [r0, 0x18]
- str r4, [r0, 0x14]
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0xF
- bhi _080A6098
- lsls r0, 2
- ldr r1, _080A5FE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A5FD8: .4byte gUnknown_811E5F4
-_080A5FDC: .4byte gUnknown_3001B78
-_080A5FE0: .4byte _080A5FE4
- .align 2, 0
-_080A5FE4:
- .4byte _080A6088
- .4byte _080A6098
- .4byte _080A6098
- .4byte _080A6088
- .4byte _080A6088
- .4byte _080A6088
- .4byte _080A6098
- .4byte _080A6040
- .4byte _080A6088
- .4byte _080A6024
- .4byte _080A6098
- .4byte _080A6098
- .4byte _080A6098
- .4byte _080A6098
- .4byte _080A6050
- .4byte _080A606C
-_080A6024:
- ldr r0, _080A6034
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80A3BB0
- ldr r1, _080A6038
- ldr r2, _080A603C
- b _080A60B0
- .align 2, 0
-_080A6034: .4byte gUnknown_3001B78
-_080A6038: .4byte gUnknown_2026E4E
-_080A603C: .4byte 0x0000040c
-_080A6040:
- ldr r1, _080A6048
- ldr r2, _080A604C
- b _080A60B0
- .align 2, 0
-_080A6048: .4byte gUnknown_2026E4E
-_080A604C: .4byte 0x00000808
-_080A6050:
- ldr r0, _080A6060
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80A3BB0
- ldr r1, _080A6064
- ldr r2, _080A6068
- b _080A60B0
- .align 2, 0
-_080A6060: .4byte gUnknown_3001B78
-_080A6064: .4byte gUnknown_2026E4E
-_080A6068: .4byte 0x00001010
-_080A606C:
- ldr r0, _080A607C
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80A3BB0
- ldr r1, _080A6080
- ldr r2, _080A6084
- b _080A60B0
- .align 2, 0
-_080A607C: .4byte gUnknown_3001B78
-_080A6080: .4byte gUnknown_2026E4E
-_080A6084: .4byte 0x0000040c
-_080A6088:
- ldr r1, _080A6090
- ldr r2, _080A6094
- b _080A60B0
- .align 2, 0
-_080A6090: .4byte gUnknown_2026E4E
-_080A6094: .4byte 0x00001010
-_080A6098:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080A60AA
- ldr r0, _080A60BC
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80A3BB0
-_080A60AA:
- ldr r1, _080A60C0
- movs r2, 0x80
- lsls r2, 5
-_080A60B0:
- adds r0, r2, 0
- strh r0, [r1]
-_080A60B4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A60BC: .4byte gUnknown_3001B78
-_080A60C0: .4byte gUnknown_2026E4E
- thumb_func_end GroundWeather_Select
-
- thumb_func_start sub_80A60C4
-sub_80A60C4:
- ldr r0, _080A60D0
- ldr r0, [r0]
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A60D0: .4byte gUnknown_3001B74
- thumb_func_end sub_80A60C4
-
- thumb_func_start nullsub_123
-nullsub_123:
- bx lr
- thumb_func_end nullsub_123
-
- thumb_func_start sub_80A60D8
-sub_80A60D8:
- push {r4-r6,lr}
- sub sp, 0x28
- ldr r0, _080A6104
- ldr r3, [r0]
- ldrb r1, [r3, 0x2]
- adds r6, r0, 0
- cmp r1, 0
- bne _080A60EA
- b _080A62C0
-_080A60EA:
- ldrh r0, [r3]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bls _080A60F8
- b _080A6278
-_080A60F8:
- lsls r0, 2
- ldr r1, _080A6108
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A6104: .4byte gUnknown_3001B74
-_080A6108: .4byte _080A610C
- .align 2, 0
-_080A610C:
- .4byte _080A62AC
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6150
- .4byte _080A61CC
- .4byte _080A61CC
- .4byte _080A61CC
- .4byte _080A61CC
- .4byte _080A61D0
- .4byte _080A6224
-_080A6150:
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- adds r0, r1, 0x2
- str r0, [r2, 0x4]
- ldr r4, [r2, 0x8]
- adds r3, r4, 0x1
- str r3, [r2, 0x8]
- cmp r0, 0
- bge _080A6164
- adds r0, r1, 0x5
-_080A6164:
- asrs r1, r0, 2
- ldr r0, [r2, 0xC]
- adds r0, r1
- str r0, [r2, 0xC]
- adds r1, r3, 0
- cmp r1, 0
- bge _080A6174
- adds r1, r4, 0x4
-_080A6174:
- asrs r1, 2
- ldr r0, [r2, 0x10]
- adds r0, r1
- str r0, [r2, 0x10]
- ldr r4, _080A61C8
- ldr r0, [r4]
- adds r2, 0xC
- movs r1, 0
- bl sub_80A4580
- ldr r1, [r6]
- ldr r0, [r1, 0x4]
- movs r2, 0x3
- ands r0, r2
- str r0, [r1, 0x4]
- ldr r0, [r1, 0x8]
- ands r0, r2
- str r0, [r1, 0x8]
- mov r0, sp
- bl sub_80A56C0
- ldr r2, [r6]
- ldr r0, [sp]
- ldr r1, [r2, 0xC]
- subs r0, r1
- str r0, [sp]
- ldr r0, [sp, 0x4]
- ldr r1, [r2, 0x10]
- adds r0, r1
- str r0, [sp, 0x4]
- ldr r0, [r4]
- movs r1, 0
- mov r2, sp
- bl sub_80A4580
- ldr r0, [r4]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- b _080A62B8
- .align 2, 0
-_080A61C8: .4byte gUnknown_3001B78
-_080A61CC:
- add r4, sp, 0x8
- b _080A628E
-_080A61D0:
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- adds r0, r1, 0x1
- str r0, [r2, 0x4]
- cmp r0, 0
- bge _080A61DE
- adds r0, r1, 0x4
-_080A61DE:
- asrs r1, r0, 2
- ldr r0, [r2, 0xC]
- adds r0, r1
- str r0, [r2, 0xC]
- ldr r5, _080A6220
- ldr r0, [r5]
- adds r2, 0xC
- movs r1, 0
- bl sub_80A4580
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- movs r1, 0x3
- ands r0, r1
- str r0, [r2, 0x4]
- add r4, sp, 0x10
- adds r0, r4, 0
- bl sub_80A56C0
- ldr r1, [r6]
- ldr r0, [sp, 0x10]
- ldr r1, [r1, 0xC]
- subs r0, r1
- str r0, [sp, 0x10]
- movs r0, 0
- str r0, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- b _080A6298
- .align 2, 0
-_080A6220: .4byte gUnknown_3001B78
-_080A6224:
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- adds r0, r1, 0x2
- str r0, [r2, 0x4]
- cmp r0, 0
- bge _080A6232
- adds r0, r1, 0x5
-_080A6232:
- asrs r1, r0, 2
- ldr r0, [r2, 0xC]
- adds r0, r1
- str r0, [r2, 0xC]
- ldr r5, _080A6274
- ldr r0, [r5]
- adds r2, 0xC
- movs r1, 0
- bl sub_80A4580
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- movs r1, 0x3
- ands r0, r1
- str r0, [r2, 0x4]
- add r4, sp, 0x18
- adds r0, r4, 0
- bl sub_80A56C0
- ldr r1, [r6]
- ldr r0, [sp, 0x18]
- ldr r1, [r1, 0xC]
- subs r0, r1
- str r0, [sp, 0x18]
- movs r0, 0
- str r0, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- b _080A6298
- .align 2, 0
-_080A6274: .4byte gUnknown_3001B78
-_080A6278:
- ldr r0, [r6]
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 2
- ldr r1, _080A62A4
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A62AC
- add r4, sp, 0x20
-_080A628E:
- adds r0, r4, 0
- bl sub_80A56C0
- ldr r0, _080A62A8
- ldr r0, [r0]
-_080A6298:
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A456C
- b _080A62B8
- .align 2, 0
-_080A62A4: .4byte gUnknown_811E5F4
-_080A62A8: .4byte gUnknown_3001B78
-_080A62AC:
- ldr r0, _080A62C8
- ldr r0, [r0]
- ldr r2, _080A62CC
- movs r1, 0
- bl sub_80A456C
-_080A62B8:
- ldr r0, _080A62C8
- ldr r0, [r0]
- bl sub_80A4764
-_080A62C0:
- add sp, 0x28
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A62C8: .4byte gUnknown_3001B78
-_080A62CC: .4byte gUnknown_81177BC
- thumb_func_end sub_80A60D8
-
- thumb_func_start sub_80A62D0
-sub_80A62D0:
- push {lr}
- ldr r0, _080A62E8
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _080A62E4
- ldr r0, _080A62EC
- ldr r0, [r0]
- bl sub_80A49E8
-_080A62E4:
- pop {r0}
- bx r0
- .align 2, 0
-_080A62E8: .4byte gUnknown_3001B74
-_080A62EC: .4byte gUnknown_3001B78
- thumb_func_end sub_80A62D0
-
- thumb_func_start sub_80A62F0
-sub_80A62F0:
- push {r4-r7,lr}
- ldr r4, _080A6378
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- ldr r0, _080A637C
- ldr r1, _080A6380
- bl OpenFileAndGetFileDataPtr
- ldr r1, _080A6384
- str r0, [r1]
- movs r0, 0x1
- bl sub_800DAC0
- ldr r4, [r4]
- ldr r1, _080A6388
- movs r0, 0x16
- str r0, [r1]
- ldr r1, _080A638C
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0
- movs r2, 0
- movs r1, 0x80
- lsls r1, 9
- adds r3, r1, 0
-_080A632A:
- str r2, [r4]
- lsls r0, 4
- str r0, [r4, 0x4]
- str r2, [r4, 0x8]
- adds r0, r1, 0
- adds r1, r3
- asrs r0, 16
- adds r4, 0xC
- cmp r0, 0x15
- ble _080A632A
- ldr r0, _080A6378
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 1
- adds r4, r0, r1
- movs r6, 0
- movs r7, 0
- movs r5, 0xE8
- lsls r5, 13
-_080A6350:
- strh r7, [r4]
- strh r7, [r4, 0x2]
- lsrs r0, r5, 16
- movs r1, 0
- bl sub_80997F4
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r6, 0x1
- adds r4, 0x4
- cmp r6, 0x1
- ble _080A6350
- movs r0, 0x1
- negs r0, r0
- bl GroundSprite_Reset
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6378: .4byte gUnknown_3001B7C
-_080A637C: .4byte gUnknown_81177CC
-_080A6380: .4byte gUnknown_83B0000
-_080A6384: .4byte gUnknown_203B4B4
-_080A6388: .4byte gUnknown_2039DD4
-_080A638C: .4byte gUnknown_2039DD0
- thumb_func_end sub_80A62F0
-
- thumb_func_start GroundSprite_Reset
-GroundSprite_Reset:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- ldr r1, _080A641C
- movs r0, 0
- bl Log
- ldr r0, _080A6420
- movs r1, 0
- mov r8, r1
- strh r1, [r0]
- ldr r0, _080A6424
- strh r1, [r0]
- bl sub_80A6460
- mov r0, r9
- bl sub_80A4D48
- lsls r0, 24
- movs r1, 0x2
- cmp r0, 0
- beq _080A63C6
- movs r1, 0x3
-_080A63C6:
- movs r0, 0xF8
- lsls r0, 1
- bl sub_808E53C
- ldr r5, _080A6428
- adds r0, r5, 0
- bl sub_8004E8C
- ldr r4, _080A642C
- adds r0, r4, 0
- bl sub_8004E8C
- ldrh r1, [r4, 0x4]
- ldr r6, _080A6430
- adds r0, r6, 0
- ands r0, r1
- strh r0, [r4, 0x4]
- ldrh r1, [r4, 0xA]
- adds r0, r6, 0
- ands r0, r1
- movs r2, 0x80
- lsls r2, 4
- adds r7, r2, 0
- orrs r0, r7
- strh r0, [r4, 0xA]
- mov r0, r9
- bl sub_80A4D48
- lsls r0, 24
- cmp r0, 0
- beq _080A6434
- ldrh r1, [r5, 0x4]
- adds r0, r6, 0
- ands r0, r1
- strh r0, [r5, 0x4]
- ldrh r1, [r5, 0xA]
- adds r0, r6, 0
- ands r0, r1
- movs r2, 0xC0
- lsls r2, 4
- adds r1, r2, 0
- orrs r0, r1
- b _080A6444
- .align 2, 0
-_080A641C: .4byte gUnknown_81177D8
-_080A6420: .4byte gUnknown_2039DCC
-_080A6424: .4byte gUnknown_2039DCE
-_080A6428: .4byte gUnknown_2039DB0
-_080A642C: .4byte gUnknown_2039DC0
-_080A6430: .4byte 0x0000f3ff
-_080A6434:
- ldrh r1, [r5, 0x4]
- adds r0, r6, 0
- ands r0, r1
- strh r0, [r5, 0x4]
- ldrh r1, [r5, 0xA]
- adds r0, r6, 0
- ands r0, r1
- orrs r0, r7
-_080A6444:
- strh r0, [r5, 0xA]
- movs r0, 0x1
- bl ResetSprites
- movs r0, 0x1
- bl nullsub_10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GroundSprite_Reset
-
- thumb_func_start sub_80A6460
-sub_80A6460:
- push {r4-r7,lr}
- ldr r0, _080A649C
- ldr r1, _080A64A0
- bl OpenFileAndGetFileDataPtr
- adds r7, r0, 0
- movs r5, 0x80
- lsls r5, 1
- ldr r4, [r7, 0x4]
- movs r6, 0xC
-_080A6474:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_809971C
- adds r0, r5, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, 0x40
- subs r6, 0x1
- cmp r6, 0
- bge _080A6474
- adds r0, r7, 0
- bl CloseFile
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A649C: .4byte gUnknown_81177EC
-_080A64A0: .4byte gUnknown_8510000
- thumb_func_end sub_80A6460
-
- thumb_func_start sub_80A64A4
-sub_80A64A4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _080A6508
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 1
- adds r7, r0, r1
- bl sub_80A6460
- movs r0, 0
- mov r8, r0
-_080A64C0:
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- cmp r0, 0
- ble _080A6568
- ldrh r5, [r7]
- mov r0, r8
- adds r0, 0x1D
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r1, r8
- lsls r0, r1, 20
- movs r1, 0xE8
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- mov r9, r0
- movs r0, 0x80
- lsls r0, 2
- adds r1, r0, 0
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080A6514
- ldr r0, _080A650C
- ldr r1, _080A6510
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- movs r0, 0xFF
- ands r0, r5
- lsls r0, 6
- ldr r1, [r6, 0x4]
- adds r2, r1, r0
- b _080A652A
- .align 2, 0
-_080A6508: .4byte gUnknown_3001B7C
-_080A650C: .4byte gUnknown_81177EC
-_080A6510: .4byte gUnknown_8510000
-_080A6514:
- movs r0, 0xFF
- ands r0, r5
- lsls r0, 2
- ldr r1, _080A6584
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080A6588
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- ldr r2, [r6, 0x4]
-_080A652A:
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1, 0
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 16
- lsrs r1, 16
- negs r1, r1
- lsrs r4, r1, 31
- movs r1, 0x80
- lsls r1, 6
- adds r0, r1, 0
- ands r5, r0
- cmp r5, 0
- beq _080A654C
- movs r0, 0x2
- orrs r4, r0
-_080A654C:
- mov r0, r9
- adds r1, r2, 0
- movs r2, 0x10
- bl sub_809971C
- mov r0, r10
- adds r1, r4, 0
- bl sub_80997F4
- cmp r6, 0
- beq _080A6568
- adds r0, r6, 0
- bl CloseFile
-_080A6568:
- movs r0, 0x1
- add r8, r0
- adds r7, 0x4
- mov r1, r8
- cmp r1, 0x1
- ble _080A64C0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6584: .4byte gUnknown_81178F4
-_080A6588: .4byte gUnknown_9E60000
- thumb_func_end sub_80A64A4
-
- thumb_func_start sub_80A658C
-sub_80A658C:
- push {r4,lr}
- bl sub_800DB7C
- movs r0, 0
- bl ResetSprites
- movs r0, 0
- bl nullsub_10
- bl sub_8005180
- bl nullsub_12
- bl CopySpritesToOam
- bl nullsub_13
- bl sub_8005304
- bl nullsub_14
- ldr r0, _080A65D0
- ldr r0, [r0]
- bl CloseFile
- ldr r4, _080A65D4
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A65D0: .4byte gUnknown_203B4B4
-_080A65D4: .4byte gUnknown_3001B7C
- thumb_func_end sub_80A658C
-
- thumb_func_start sub_80A65D8
-sub_80A65D8:
- adds r0, 0x50
- ldrh r0, [r0]
- bx lr
- thumb_func_end sub_80A65D8
-
- thumb_func_start sub_80A65E0
-sub_80A65E0:
- lsrs r0, 16
- ldr r2, _080A65EC
- adds r1, r2, 0
- ands r0, r1
- bx lr
- .align 2, 0
-_080A65EC: .4byte 0x0000337f
- thumb_func_end sub_80A65E0
-
- thumb_func_start sub_80A65F0
-sub_80A65F0:
- push {r4-r6,lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, 0x50
- strh r1, [r0]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- asrs r2, r0, 31
- movs r0, 0x40
- ands r2, r0
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6616
- subs r2, 0x40
-_080A6616:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A6624
- adds r1, r2, 0
- adds r1, 0x48
- b _080A6628
-_080A6624:
- adds r1, r2, 0
- adds r1, 0x40
-_080A6628:
- adds r0, r3, 0
- adds r0, 0x6A
- strh r1, [r0]
- adds r2, r3, 0
- adds r2, 0x50
- ldrh r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080A6648
- adds r1, r3, 0
- adds r1, 0x3C
- ldr r0, _080A6644
- b _080A664E
- .align 2, 0
-_080A6644: .4byte gUnknown_2039DC0
-_080A6648:
- adds r1, r3, 0
- adds r1, 0x3C
- ldr r0, _080A6680
-_080A664E:
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldrh r1, [r2]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080A6678
- ldrh r2, [r3, 0x3C]
- ldr r1, _080A6684
- adds r0, r1, 0
- ands r0, r2
- strh r0, [r3, 0x3C]
- adds r2, r3, 0
- adds r2, 0x42
- ldrh r0, [r2]
- ands r1, r0
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- orrs r1, r0
- strh r1, [r2]
-_080A6678:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6680: .4byte gUnknown_2039DB0
-_080A6684: .4byte 0x0000f3ff
- thumb_func_end sub_80A65F0
-
- thumb_func_start sub_80A6688
-sub_80A6688:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- bl sub_80A65E0
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_80A65F0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6688
-
- thumb_func_start sub_80A66A4
-sub_80A66A4:
- push {lr}
- movs r1, 0
- adds r0, 0x48
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- ble _080A66B4
- movs r1, 0x1
-_080A66B4:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80A66A4
-
- thumb_func_start sub_80A66BC
-sub_80A66BC:
- push {lr}
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080A66CC
- movs r0, 0
- b _080A66CE
-_080A66CC:
- movs r0, 0x1
-_080A66CE:
- pop {r1}
- bx r1
- thumb_func_end sub_80A66BC
-
- thumb_func_start sub_80A66D4
-sub_80A66D4:
- push {lr}
- adds r1, r0, 0
- adds r0, 0x52
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _080A66F2
- adds r0, r1, 0
- adds r0, 0x48
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- ble _080A66F2
- movs r0, 0x1
- b _080A66F4
-_080A66F2:
- movs r0, 0
-_080A66F4:
- pop {r1}
- bx r1
- thumb_func_end sub_80A66D4
-
- thumb_func_start sub_80A66F8
-sub_80A66F8:
- push {lr}
- adds r1, r0, 0
- adds r0, 0x52
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- blt _080A6716
- ldrh r1, [r1]
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- bne _080A6716
- lsrs r0, r1, 15
- b _080A6718
-_080A6716:
- movs r0, 0
-_080A6718:
- pop {r1}
- bx r1
- thumb_func_end sub_80A66F8
-
- thumb_func_start sub_80A671C
-sub_80A671C:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r4, 0
- adds r6, 0x58
- movs r0, 0
- ldrsh r1, [r6, r0]
- cmp r1, 0
- beq _080A6752
- movs r0, 0xE0
- lsls r0, 1
- cmp r1, r0
- beq _080A674A
- ldr r0, [r4, 0x5C]
- movs r5, 0x1
- negs r5, r5
- cmp r0, r5
- beq _080A674A
- bl sub_800E9E4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080A674E
-_080A674A:
- movs r0, 0x1
- b _080A6754
-_080A674E:
- str r5, [r4, 0x5C]
- strh r0, [r6]
-_080A6752:
- movs r0, 0
-_080A6754:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A671C
-
- thumb_func_start sub_80A675C
-sub_80A675C:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r1, 0
- mov r0, sp
- bl sub_809D248
- lsls r0, 24
- cmp r0, 0
- beq _080A678C
- ldr r1, [r6]
- cmp r1, 0
- bge _080A6776
- adds r1, 0xFF
-_080A6776:
- asrs r1, 8
- ldr r0, [sp]
- subs r4, r1, r0
- ldr r1, [r6, 0x4]
- cmp r1, 0
- bge _080A6784
- adds r1, 0xFF
-_080A6784:
- asrs r1, 8
- ldr r0, [sp, 0x4]
- subs r5, r1, r0
- b _080A67A0
-_080A678C:
- ldr r0, [r6]
- cmp r0, 0
- bge _080A6794
- adds r0, 0xFF
-_080A6794:
- asrs r4, r0, 8
- ldr r1, [r6, 0x4]
- cmp r1, 0
- bge _080A679E
- adds r1, 0xFF
-_080A679E:
- asrs r5, r1, 8
-_080A67A0:
- adds r1, r4, 0
- adds r1, 0x40
- ldr r0, _080A67BC
- cmp r1, r0
- bhi _080A67C0
- movs r0, 0x10
- negs r0, r0
- cmp r5, r0
- blt _080A67C0
- cmp r5, 0xCF
- bgt _080A67C0
- movs r0, 0x1
- b _080A67C2
- .align 2, 0
-_080A67BC: .4byte 0x0000016f
-_080A67C0:
- movs r0, 0
-_080A67C2:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A675C
-
- thumb_func_start sub_80A67CC
-sub_80A67CC:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r7, 0
- cmp r5, 0
- beq _080A67E2
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- ble _080A67E2
- movs r7, 0x1
-_080A67E2:
- adds r0, r2, 0
- bl sub_80A65E0
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_80A65F0
- movs r1, 0
- str r1, [r4, 0x74]
- str r1, [r4, 0x78]
- movs r6, 0x1
- negs r6, r6
- str r6, [r4, 0x7C]
- adds r0, r4, 0
- adds r0, 0x70
- strb r1, [r0]
- subs r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r2, r4, 0
- adds r2, 0x52
- ldr r0, _080A6884
- strh r0, [r2]
- str r1, [r4, 0x54]
- adds r0, r4, 0
- adds r0, 0x64
- strh r1, [r0]
- adds r2, 0x14
- adds r0, r6, 0
- adds r3, r0, 0
- strh r0, [r2]
- adds r0, r4, 0
- adds r0, 0x68
- strh r1, [r0]
- subs r0, 0x10
- strh r1, [r0]
- adds r1, r4, 0
- adds r1, 0x5A
- movs r0, 0xFF
- strb r0, [r1]
- str r6, [r4, 0x5C]
- str r6, [r4, 0x60]
- cmp r7, 0
- beq _080A6888
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [r4, 0x48]
- str r1, [r4, 0x4C]
- adds r5, r4, 0
- adds r5, 0x48
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_80A68F8
- lsls r0, 24
- cmp r0, 0
- bne _080A689A
- adds r0, r4, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 5
- ands r0, r1
- cmp r0, 0
- bne _080A689A
- adds r0, r5, 0
- bl sub_80A6CF4
- lsls r0, 24
- cmp r0, 0
- beq _080A689A
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_80A68F8
- b _080A689A
- .align 2, 0
-_080A6884: .4byte 0x0000ffff
-_080A6888:
- adds r1, r4, 0
- adds r1, 0x48
- ldrh r0, [r1]
- orrs r0, r3
- strh r0, [r1]
- adds r0, r4, 0
- adds r0, 0x4A
- strh r7, [r0]
- str r7, [r4, 0x4C]
-_080A689A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A67CC
-
- thumb_func_start sub_80A68A0
-sub_80A68A0:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080A68CE
- adds r0, r4, 0
- adds r0, 0x58
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080A68CE
- ldr r1, [r4, 0x5C]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A68CE
- adds r0, r1, 0
- bl sub_800DC14
-_080A68CE:
- ldr r0, [r4, 0x54]
- cmp r0, 0
- beq _080A68DC
- bl CloseFile
- movs r0, 0
- str r0, [r4, 0x54]
-_080A68DC:
- adds r0, r4, 0
- bl sub_80A69FC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A68A0
-
- thumb_func_start sub_80A68E8
-sub_80A68E8:
- push {lr}
- movs r0, 0x15
-_080A68EC:
- subs r0, 0x1
- cmp r0, 0
- bge _080A68EC
- pop {r0}
- bx r0
- thumb_func_end sub_80A68E8
-
- thumb_func_start sub_80A68F8
-sub_80A68F8:
- push {r4-r7,lr}
- mov r12, r0
- adds r5, r2, 0
- ldr r0, _080A6924
- ldr r4, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, r5
- blt _080A6956
- adds r5, r0, 0
- movs r3, 0
- ldr r0, [r4]
- mov r6, r12
- adds r6, 0x52
- mov r7, r12
- adds r7, 0x64
- cmp r0, 0
- bne _080A6928
- movs r2, 0x1
- cmp r2, r5
- blt _080A692A
- b _080A6986
- .align 2, 0
-_080A6924: .4byte gUnknown_3001B7C
-_080A6928:
- movs r2, 0
-_080A692A:
- adds r0, r3, 0x1
- lsls r0, 16
- asrs r3, r0, 16
- adds r4, 0xC
- cmp r3, 0x15
- bgt _080A6986
- ldr r0, [r4]
- cmp r0, 0
- bne _080A6928
- adds r2, 0x1
- cmp r2, r5
- blt _080A692A
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- subs r0, 0xC
- subs r4, r0
- adds r0, r3, 0x1
- subs r0, r2
- lsls r0, 16
- asrs r3, r0, 16
- b _080A6986
-_080A6956:
- movs r3, 0x15
- adds r4, 0xFC
- ldr r0, [r4]
- mov r6, r12
- adds r6, 0x52
- mov r7, r12
- adds r7, 0x64
- cmp r0, 0
- bne _080A696C
- movs r2, 0x1
- b _080A6982
-_080A696C:
- movs r2, 0
-_080A696E:
- subs r0, r3, 0x1
- lsls r0, 16
- asrs r3, r0, 16
- subs r4, 0xC
- cmp r3, 0
- blt _080A6986
- ldr r0, [r4]
- cmp r0, 0
- bne _080A696C
- adds r2, 0x1
-_080A6982:
- cmp r2, r5
- blt _080A696E
-_080A6986:
- cmp r2, r5
- blt _080A69C4
- strh r3, [r6]
- strh r5, [r7]
- movs r0, 0x1
- str r0, [r4]
- mov r0, r12
- str r0, [r4, 0x8]
- ldrh r1, [r1, 0x2]
- bl GroundSprite_ExtendPaletteAdd
- cmp r5, 0x1
- ble _080A69B2
- movs r2, 0x2
- adds r0, r4, 0
- adds r0, 0xC
- subs r1, r5, 0x1
-_080A69A8:
- str r2, [r0]
- adds r0, 0xC
- subs r1, 0x1
- cmp r1, 0
- bne _080A69A8
-_080A69B2:
- ldr r1, _080A69C0
- ldr r0, [r1]
- subs r0, r5
- str r0, [r1]
- movs r0, 0x1
- b _080A69EC
- .align 2, 0
-_080A69C0: .4byte gUnknown_2039DD4
-_080A69C4:
- ldr r1, _080A69F4
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- mov r1, r12
- str r0, [r1, 0x7C]
- mov r0, r12
- adds r0, 0x70
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080A69F8
- strh r0, [r6]
- strh r1, [r7]
- mov r0, r12
- adds r0, 0x6C
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- movs r0, 0
-_080A69EC:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A69F4: .4byte gUnknown_2039DD0
-_080A69F8: .4byte 0x0000ffff
- thumb_func_end sub_80A68F8
-
- thumb_func_start sub_80A69FC
-sub_80A69FC:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r6, 0
- adds r7, 0x52
- movs r0, 0
- ldrsh r4, [r7, r0]
- ldr r0, _080A6A80
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- ldr r0, [r0]
- adds r5, r0, r1
- cmp r4, 0
- blt _080A6A7A
- adds r0, r6, 0
- bl GroundSprite_ExtendPaletteDelete
- movs r0, 0
- str r0, [r5, 0x8]
- str r0, [r5]
- adds r5, 0xC
- ldr r1, _080A6A84
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- asrs r4, r0, 16
- adds r6, 0x64
- mov r12, r6
- cmp r4, 0x15
- bgt _080A6A6A
- ldr r0, [r5]
- cmp r0, 0x2
- bne _080A6A6A
- movs r6, 0
- adds r2, r1, 0
- lsls r1, r4, 16
- movs r0, 0x80
- lsls r0, 9
- adds r1, r0
- adds r3, r0, 0
-_080A6A50:
- str r6, [r5]
- adds r5, 0xC
- ldr r0, [r2]
- adds r0, 0x1
- str r0, [r2]
- adds r0, r1, 0
- adds r1, r3
- asrs r4, r0, 16
- cmp r4, 0x15
- bgt _080A6A6A
- ldr r0, [r5]
- cmp r0, 0x2
- beq _080A6A50
-_080A6A6A:
- ldr r0, _080A6A88
- strh r0, [r7]
- movs r0, 0
- mov r1, r12
- strh r0, [r1]
- ldr r1, _080A6A8C
- movs r0, 0x1
- strb r0, [r1]
-_080A6A7A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A80: .4byte gUnknown_3001B7C
-_080A6A84: .4byte gUnknown_2039DD4
-_080A6A88: .4byte 0x0000ffff
-_080A6A8C: .4byte gUnknown_2039DD0
- thumb_func_end sub_80A69FC
-
- thumb_func_start GroundSprite_ExtendPaletteAdd
-GroundSprite_ExtendPaletteAdd:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r10, r0
- lsls r1, 16
- lsrs r2, r1, 16
- adds r5, r2, 0
- movs r0, 0xC0
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- bne _080A6AB0
- b _080A6C6C
-_080A6AB0:
- movs r0, 0x80
- lsls r0, 3
- ands r0, r2
- cmp r0, 0
- beq _080A6AD8
- ldr r0, _080A6AD4
- ldr r1, [r0]
- movs r3, 0x86
- lsls r3, 1
- adds r4, r1, r3
- ldrh r1, [r4]
- adds r3, r0, 0
- cmp r1, r2
- bne _080A6B36
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- b _080A6C78
- .align 2, 0
-_080A6AD4: .4byte gUnknown_3001B7C
-_080A6AD8:
- movs r0, 0
- mov r8, r0
- ldr r1, _080A6B1C
- ldr r0, [r1]
- movs r2, 0x84
- lsls r2, 1
- adds r4, r0, r2
- adds r3, r1, 0
- movs r1, 0xE8
- lsls r1, 13
-_080A6AEC:
- ldrh r0, [r4]
- cmp r0, r5
- bne _080A6B24
- lsrs r1, 16
- adds r3, r1, 0
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- mov r0, r10
- cmp r0, 0
- beq _080A6B08
- subs r1, 0x10
- adds r0, 0x68
- strh r1, [r0]
-_080A6B08:
- adds r0, r3, 0
- subs r0, 0x10
- str r0, [sp]
- str r5, [sp, 0x4]
- movs r0, 0
- ldr r1, _080A6B20
- mov r2, r8
- bl Log
- b _080A6C78
- .align 2, 0
-_080A6B1C: .4byte gUnknown_3001B7C
-_080A6B20: .4byte gUnknown_81177F4
-_080A6B24:
- movs r2, 0x80
- lsls r2, 9
- adds r1, r2
- movs r0, 0x1
- add r8, r0
- adds r4, 0x4
- mov r2, r8
- cmp r2, 0x1
- ble _080A6AEC
-_080A6B36:
- movs r0, 0x80
- lsls r0, 3
- ands r0, r5
- cmp r0, 0
- beq _080A6B68
- movs r0, 0x1
- mov r8, r0
- ldr r0, [r3]
- movs r1, 0x86
- lsls r1, 1
- adds r4, r0, r1
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A6BA8
- ldr r0, _080A6B60
- ldr r1, _080A6B64
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
-_080A6B60: .4byte gUnknown_8117858
-_080A6B64: .4byte gUnknown_8117864
-_080A6B68:
- movs r0, 0
- mov r8, r0
- ldr r0, [r3]
- movs r1, 0x84
- lsls r1, 1
- adds r4, r0, r1
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A6B90
-_080A6B7C:
- movs r3, 0x1
- add r8, r3
- adds r4, 0x4
- mov r0, r8
- cmp r0, 0x1
- bgt _080A6B96
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bgt _080A6B7C
-_080A6B90:
- mov r2, r8
- cmp r2, 0x1
- ble _080A6BA8
-_080A6B96:
- ldr r0, _080A6BA0
- ldr r1, _080A6BA4
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
-_080A6BA0: .4byte gUnknown_8117888
-_080A6BA4: .4byte gUnknown_8117864
-_080A6BA8:
- mov r0, r8
- adds r0, 0x1D
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- mov r3, r8
- lsls r0, r3, 20
- movs r1, 0xE8
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- str r0, [sp, 0x10]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r5
- cmp r0, 0
- beq _080A6BE8
- ldr r0, _080A6BE0
- ldr r1, _080A6BE4
- bl OpenFileAndGetFileDataPtr
- mov r9, r0
- ldr r7, [r0, 0x4]
- movs r0, 0xFF
- ands r0, r5
- lsls r0, 6
- adds r7, r0
- b _080A6BFE
- .align 2, 0
-_080A6BE0: .4byte gUnknown_81177EC
-_080A6BE4: .4byte gUnknown_8510000
-_080A6BE8:
- movs r0, 0xFF
- ands r0, r5
- lsls r0, 2
- ldr r1, _080A6C60
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080A6C64
- bl OpenFileAndGetFileDataPtr
- mov r9, r0
- ldr r7, [r0, 0x4]
-_080A6BFE:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r5
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- lsrs r6, r0, 31
- movs r0, 0x80
- lsls r0, 6
- ands r0, r5
- cmp r0, 0
- beq _080A6C1A
- movs r0, 0x2
- orrs r6, r0
-_080A6C1A:
- ldr r0, [sp, 0xC]
- adds r1, r6, 0
- bl sub_80997F4
- ldr r0, [sp, 0x10]
- adds r1, r7, 0
- movs r2, 0x10
- bl sub_809971C
- strh r5, [r4]
- movs r0, 0x1
- strh r0, [r4, 0x2]
- ldr r2, [sp, 0xC]
- subs r2, 0x10
- mov r3, r10
- cmp r3, 0
- beq _080A6C42
- mov r0, r10
- adds r0, 0x68
- strh r2, [r0]
-_080A6C42:
- ldr r1, _080A6C68
- str r2, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- mov r2, r8
- ldr r3, [sp, 0xC]
- bl Log
- mov r0, r9
- cmp r0, 0
- beq _080A6C78
- bl CloseFile
- b _080A6C78
- .align 2, 0
-_080A6C60: .4byte gUnknown_81178F4
-_080A6C64: .4byte gUnknown_9E60000
-_080A6C68: .4byte gUnknown_8117894
-_080A6C6C:
- mov r1, r10
- cmp r1, 0
- beq _080A6C78
- mov r0, r10
- adds r0, 0x68
- strh r5, [r0]
-_080A6C78:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GroundSprite_ExtendPaletteAdd
-
- thumb_func_start GroundSprite_ExtendPaletteDelete
-GroundSprite_ExtendPaletteDelete:
- push {r4-r6,lr}
- adds r2, r0, 0
- cmp r2, 0
- beq _080A6C9E
- adds r0, 0x68
- ldrh r0, [r0]
- adds r5, r0, 0
- subs r5, 0xD
- cmp r5, 0
- blt _080A6CE6
- b _080A6CA0
-_080A6C9E:
- movs r5, 0x1
-_080A6CA0:
- ldr r0, _080A6CEC
- lsls r1, r5, 2
- movs r3, 0x84
- lsls r3, 1
- adds r1, r3
- ldr r0, [r0]
- adds r4, r0, r1
- cmp r2, 0
- beq _080A6CBA
- adds r1, r2, 0
- adds r1, 0x68
- movs r0, 0
- strh r0, [r1]
-_080A6CBA:
- ldrh r0, [r4, 0x2]
- subs r0, 0x1
- movs r6, 0
- strh r0, [r4, 0x2]
- lsls r0, 16
- cmp r0, 0
- bgt _080A6CE6
- ldr r1, _080A6CF0
- ldrh r3, [r4]
- movs r0, 0
- adds r2, r5, 0
- bl Log
- strh r6, [r4]
- strh r6, [r4, 0x2]
- adds r0, r5, 0
- adds r0, 0x1D
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_80997F4
-_080A6CE6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6CEC: .4byte gUnknown_3001B7C
-_080A6CF0: .4byte gUnknown_81178C0
- thumb_func_end GroundSprite_ExtendPaletteDelete
-
- thumb_func_start sub_80A6CF4
-sub_80A6CF4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x68
- movs r1, 0
- mov r8, r1
- movs r1, 0
- ldrsh r2, [r0, r1]
- mov r9, r2
- movs r2, 0
- mov r10, r2
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x60]
- str r0, [sp, 0x64]
- add r4, sp, 0x58
- adds r0, r4, 0
- bl sub_809D248
- movs r7, 0
- ldr r0, _080A6D70
- ldr r3, [r0]
- movs r1, 0x80
- lsls r1, 6
- mov r12, r1
- mov r4, sp
-_080A6D2C:
- ldr r0, [r3]
- cmp r0, 0x1
- bne _080A6DB4
- ldr r2, [r3, 0x8]
- adds r0, r2, 0
- adds r0, 0x50
- ldrh r1, [r0]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- bne _080A6DB4
- ldr r0, [r2, 0x7C]
- cmp r0, 0
- blt _080A6DB4
- ldr r1, [r2, 0x74]
- cmp r1, 0
- bge _080A6D50
- adds r1, 0xFF
-_080A6D50:
- asrs r1, 8
- ldr r0, [sp, 0x58]
- subs r5, r1, r0
- ldr r1, [r2, 0x78]
- cmp r1, 0
- bge _080A6D5E
- adds r1, 0xFF
-_080A6D5E:
- asrs r1, 8
- ldr r0, [sp, 0x5C]
- subs r1, r0
- adds r6, r1, 0
- cmp r1, 0
- ble _080A6D74
- adds r0, r6, 0
- adds r0, 0x28
- b _080A6D78
- .align 2, 0
-_080A6D70: .4byte gUnknown_3001B7C
-_080A6D74:
- movs r0, 0x28
- subs r0, r6
-_080A6D78:
- str r0, [r2, 0x7C]
- cmp r5, 0
- ble _080A6D88
- ldr r0, [r2, 0x7C]
- cmp r5, r0
- ble _080A6D92
- str r5, [r2, 0x7C]
- b _080A6D92
-_080A6D88:
- negs r1, r5
- ldr r0, [r2, 0x7C]
- cmp r1, r0
- ble _080A6D92
- str r1, [r2, 0x7C]
-_080A6D92:
- adds r0, r2, 0
- adds r0, 0x48
- movs r1, 0
- ldrsh r0, [r0, r1]
- add r10, r0
- cmp r0, r9
- blt _080A6DAE
- ldr r0, [r2, 0x7C]
- ldr r1, [sp, 0x64]
- cmp r1, r0
- bge _080A6DAE
- mov r1, r8
- str r1, [sp, 0x60]
- str r0, [sp, 0x64]
-_080A6DAE:
- stm r4!, {r2}
- movs r2, 0x1
- add r8, r2
-_080A6DB4:
- adds r0, r7, 0x1
- lsls r0, 16
- asrs r7, r0, 16
- adds r3, 0xC
- cmp r7, 0x15
- ble _080A6D2C
- cmp r10, r9
- blt _080A6E54
- ldr r0, [sp, 0x60]
- cmp r0, 0
- blt _080A6DD8
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- bl sub_80A69FC
- movs r0, 0x1
- b _080A6E56
-_080A6DD8:
- mov r1, r8
- cmp r1, 0
- ble _080A6E54
-_080A6DDE:
- movs r5, 0x1
- negs r5, r5
- adds r3, r5, 0
- movs r6, 0
- mov r7, r8
- subs r7, 0x1
- mov r2, r8
- cmp r2, 0
- ble _080A6E08
- mov r2, sp
- mov r1, r8
-_080A6DF4:
- ldr r0, [r2]
- ldr r0, [r0, 0x7C]
- cmp r3, r0
- bge _080A6E00
- mov r5, r8
- adds r3, r0, 0
-_080A6E00:
- adds r2, 0x4
- subs r1, 0x1
- cmp r1, 0
- bne _080A6DF4
-_080A6E08:
- lsls r0, r5, 2
- mov r1, sp
- adds r4, r1, r0
- ldr r0, [r4]
- bl sub_80A69FC
- mov r8, r7
- adds r1, r5, 0
- cmp r1, r8
- bge _080A6E28
- adds r2, r4, 0
-_080A6E1E:
- ldr r0, [r2, 0x4]
- stm r2!, {r0}
- adds r1, 0x1
- cmp r1, r8
- blt _080A6E1E
-_080A6E28:
- movs r1, 0
- ldr r0, _080A6E40
- ldr r3, [r0]
-_080A6E2E:
- ldr r0, [r3]
- cmp r0, 0
- bne _080A6E44
- adds r6, 0x1
- cmp r6, r9
- blt _080A6E46
- movs r0, 0x1
- b _080A6E56
- .align 2, 0
-_080A6E40: .4byte gUnknown_3001B7C
-_080A6E44:
- movs r6, 0
-_080A6E46:
- adds r1, 0x1
- adds r3, 0xC
- cmp r1, 0x15
- ble _080A6E2E
- mov r2, r8
- cmp r2, 0
- bgt _080A6DDE
-_080A6E54:
- movs r0, 0
-_080A6E56:
- add sp, 0x68
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A6CF4
-
- thumb_func_start sub_80A6E68
-sub_80A6E68:
- push {lr}
- movs r0, 0
- bl ResetSprites
- movs r0, 0
- bl nullsub_10
- bl sub_800E970
- pop {r0}
- bx r0
- thumb_func_end sub_80A6E68
-
- thumb_func_start sub_80A6E80
-sub_80A6E80:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080A6EC4
- adds r0, r4, 0
- bl sub_809D248
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080A6E98
- str r0, [r4]
- str r0, [r4, 0x4]
-_080A6E98:
- bl sub_80ABA7C
- bl sub_80ACAD4
- bl sub_80AD7AC
- ldrh r1, [r4, 0x4]
- lsls r1, 16
- ldrh r0, [r4]
- orrs r0, r1
- str r0, [sp]
- mov r0, sp
- bl sub_800E90C
- bl sub_8005180
- bl nullsub_12
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6EC4: .4byte gUnknown_2039DD8
- thumb_func_end sub_80A6E80
-
- thumb_func_start sub_80A6EC8
-sub_80A6EC8:
- push {lr}
- adds r2, r0, 0
- adds r0, 0x52
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- ble _080A6EF6
- adds r0, r2, 0
- adds r0, 0x48
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bgt _080A6EE4
- adds r1, r0, 0
-_080A6EE4:
- adds r0, r2, 0
- adds r0, 0x64
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, r1
- beq _080A6EF6
- adds r0, r2, 0
- adds r0, 0x66
- strh r1, [r0]
-_080A6EF6:
- pop {r0}
- bx r0
- thumb_func_end sub_80A6EC8
-
- thumb_func_start sub_80A6EFC
-sub_80A6EFC:
- push {r4-r7,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 24
- asrs r6, r2, 24
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080A6F48
- adds r5, r4, 0
- adds r5, 0x66
- movs r2, 0
- ldrsh r0, [r5, r2]
- cmp r0, 0
- blt _080A6F28
- adds r1, r4, 0
- adds r1, 0x48
- adds r2, r0, 0
- b _080A6F62
-_080A6F28:
- adds r1, r4, 0
- adds r1, 0x48
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bgt _080A6F36
- b _080A7038
-_080A6F36:
- movs r2, 0x1
- negs r2, r2
- adds r0, r4, 0
- bl sub_80A68F8
- lsls r0, 24
- cmp r0, 0
- beq _080A7038
- b _080A6F72
-_080A6F48:
- adds r5, r4, 0
- adds r5, 0x66
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _080A6F72
- adds r0, r4, 0
- bl sub_80A69FC
- adds r1, r4, 0
- adds r1, 0x48
- movs r0, 0
- ldrsh r2, [r5, r0]
-_080A6F62:
- adds r0, r4, 0
- bl sub_80A68F8
- lsls r0, 24
- cmp r0, 0
- beq _080A7038
- ldr r0, _080A6F8C
- strh r0, [r5]
-_080A6F72:
- movs r0, 0x80
- lsls r0, 3
- ands r0, r7
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- beq _080A6F94
- ldrh r1, [r4]
- ldr r0, _080A6F90
- ands r0, r1
- strh r0, [r4]
- b _080A7038
- .align 2, 0
-_080A6F8C: .4byte 0x0000ffff
-_080A6F90: .4byte 0x0000efff
-_080A6F94:
- ldr r2, _080A6FE0
- adds r0, r4, 0
- adds r0, 0x52
- movs r5, 0
- ldrsh r1, [r0, r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, [r2]
- adds r1, r0
- mov r12, r1
- adds r1, r4, 0
- adds r1, 0x70
- movs r0, 0x1
- strb r0, [r1]
- subs r0, 0x2
- str r0, [r4, 0x7C]
- movs r1, 0xE0
- lsls r1, 3
- ands r1, r7
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- beq _080A6FE4
- cmp r1, r0
- ble _080A6FEE
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- beq _080A6FFA
- movs r0, 0xC0
- lsls r0, 2
- cmp r1, r0
- bne _080A6FEE
- adds r0, r4, 0
- adds r0, 0x6C
- strh r3, [r0]
- b _080A7000
- .align 2, 0
-_080A6FE0: .4byte gUnknown_3001B7C
-_080A6FE4:
- adds r1, r4, 0
- adds r1, 0x6C
- movs r0, 0x80
- strh r0, [r1]
- b _080A7000
-_080A6FEE:
- adds r1, r4, 0
- adds r1, 0x6C
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1]
- b _080A7000
-_080A6FFA:
- adds r0, r4, 0
- adds r0, 0x6C
- strh r1, [r0]
-_080A7000:
- adds r0, r4, 0
- adds r0, 0x6E
- movs r1, 0
- strh r1, [r0]
- ldr r5, [r4, 0x4C]
- movs r0, 0xFF
- ands r0, r7
- adds r2, r6, 0
- cmp r6, 0
- bge _080A7016
- adds r2, r6, 0x7
-_080A7016:
- asrs r2, 3
- adds r2, r0, r2
- movs r3, 0x7
- ands r3, r6
- mov r6, r12
- ldr r0, [r6, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- lsls r0, r7, 16
- lsrs r0, 27
- movs r1, 0x1
- ands r0, r1
- str r0, [sp, 0x8]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80053D0
-_080A7038:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6EFC
-
- thumb_func_start sub_80A7040
-sub_80A7040:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r3, 0
- lsls r1, 16
- asrs r3, r1, 16
- lsls r2, 24
- asrs r2, 24
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080A708C
- cmp r3, 0
- beq _080A7068
- movs r0, 0xE0
- lsls r0, 1
- cmp r3, r0
- bne _080A7080
-_080A7068:
- adds r0, r4, 0
- bl sub_80A671C
- lsls r0, 24
- cmp r0, 0
- beq _080A708C
- adds r1, r4, 0
- adds r1, 0x58
- movs r0, 0xE0
- lsls r0, 1
- strh r0, [r1]
- b _080A708C
-_080A7080:
- adds r0, r4, 0
- adds r0, 0x58
- strh r3, [r0]
- adds r0, 0x2
- strb r2, [r0]
- str r5, [r4, 0x60]
-_080A708C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7040
-
- thumb_func_start sub_80A7094
-sub_80A7094:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- adds r7, r0, 0
- mov r10, r1
- mov r8, r2
- str r3, [sp, 0x3C]
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [r7, 0x74]
- str r1, [r7, 0x78]
- movs r6, 0
- str r6, [r7, 0x7C]
- adds r0, r7, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080A7172
- adds r4, r7, 0
- adds r4, 0x58
- movs r0, 0
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _080A7172
- movs r0, 0xE0
- lsls r0, 1
- cmp r1, r0
- bne _080A70EC
- ldr r0, [r7, 0x5C]
- movs r5, 0x1
- negs r5, r5
- cmp r0, r5
- beq _080A70E8
- bl sub_800DC14
- str r5, [r7, 0x5C]
-_080A70E8:
- strh r6, [r4]
- b _080A7172
-_080A70EC:
- ldr r0, [r7, 0x5C]
- movs r1, 0x1
- negs r1, r1
- mov r9, r1
- cmp r0, r9
- bne _080A7160
- add r1, sp, 0x8
- ldr r0, _080A715C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_800EE5C
- bl sub_800EF64
- add r2, sp, 0x14
- movs r3, 0
- ldrsh r0, [r4, r3]
- str r0, [sp, 0x14]
- str r6, [r2, 0x4]
- adds r0, r7, 0
- adds r0, 0x5A
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- str r0, [r2, 0x8]
- mov r4, r8
- ldr r0, [r4]
- cmp r0, 0
- bge _080A712C
- adds r0, 0xFF
-_080A712C:
- asrs r0, 8
- strh r0, [r2, 0xC]
- mov r5, r8
- ldr r0, [r5, 0x4]
- cmp r0, 0
- bge _080A713A
- adds r0, 0xFF
-_080A713A:
- asrs r0, 8
- strh r0, [r2, 0xE]
- strh r6, [r2, 0x10]
- strh r6, [r2, 0x12]
- mov r0, r9
- str r0, [r2, 0x14]
- str r6, [r2, 0x18]
- add r1, sp, 0x30
- add r0, sp, 0x8
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- adds r0, r2, 0
- bl sub_800E890
- str r0, [r7, 0x5C]
- b _080A7172
- .align 2, 0
-_080A715C: .4byte gUnknown_81178E0
-_080A7160:
- bl sub_800E9E4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080A7172
- mov r1, r9
- str r1, [r7, 0x5C]
- strh r0, [r4]
-_080A7172:
- adds r0, r7, 0
- adds r0, 0x52
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- blt _080A7222
- adds r0, r7, 0
- adds r0, 0x50
- ldrh r4, [r0]
- movs r0, 0x40
- ands r0, r4
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0
- bne _080A7222
- mov r3, r8
- ldr r1, [r3]
- cmp r1, 0
- bge _080A719C
- adds r1, 0xFF
-_080A719C:
- asrs r1, 8
- ldr r2, _080A7228
- ldr r0, [r2]
- subs r5, r1, r0
- mov r1, r8
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bge _080A71AE
- adds r0, 0xFF
-_080A71AE:
- asrs r1, r0, 8
- ldr r0, [r2, 0x4]
- subs r6, r1, r0
- ldr r3, [sp, 0x3C]
- cmp r3, 0
- bge _080A71BC
- adds r3, 0xFF
-_080A71BC:
- asrs r0, r3, 8
- subs r0, r6, r0
- mov r8, r0
- adds r1, r5, 0
- adds r1, 0x40
- ldr r0, _080A722C
- cmp r1, r0
- bhi _080A7274
- movs r0, 0x10
- negs r0, r0
- cmp r6, r0
- blt _080A7274
- cmp r6, 0xCF
- bgt _080A7274
- cmp r8, r0
- blt _080A7274
- mov r2, r8
- cmp r2, 0xCF
- bgt _080A7274
- movs r0, 0x10
- ands r0, r4
- cmp r0, 0
- beq _080A7234
- ldr r0, _080A7230
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A7234
- adds r0, r7, 0
- movs r1, 0
- bl sub_80A72B8
- movs r1, 0x98
- lsls r1, 1
- adds r0, r7, 0
- adds r0, 0x68
- ldrh r0, [r0]
- str r0, [sp]
- adds r0, r7, 0
- adds r0, 0x3C
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r2, 0xD0
- movs r3, 0
- bl sub_800558C
- adds r0, r7, 0
- adds r0, 0x70
- mov r3, r9
- strb r3, [r0]
-_080A7222:
- movs r0, 0
- b _080A72A6
- .align 2, 0
-_080A7228: .4byte gUnknown_2039DD8
-_080A722C: .4byte 0x0000016f
-_080A7230: .4byte gUnknown_2039DCC
-_080A7234:
- adds r4, r7, 0
- adds r4, 0x70
- ldrb r1, [r4]
- adds r0, r7, 0
- bl sub_80A72B8
- adds r0, r7, 0
- adds r0, 0x6A
- movs r1, 0
- ldrsh r3, [r0, r1]
- adds r3, r6
- subs r0, 0x2
- ldrh r0, [r0]
- str r0, [sp]
- adds r0, r7, 0
- adds r0, 0x3C
- str r0, [sp, 0x4]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_800558C
- movs r0, 0
- strb r0, [r4]
- mov r2, r10
- cmp r2, 0
- beq _080A7270
- mov r3, r10
- str r5, [r3]
- str r6, [r3, 0x4]
-_080A7270:
- movs r0, 0x1
- b _080A72A6
-_080A7274:
- adds r4, r7, 0
- adds r4, 0x70
- ldrb r0, [r4]
- cmp r0, 0
- beq _080A7222
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_80A72B8
- movs r1, 0x98
- lsls r1, 1
- adds r0, r7, 0
- adds r0, 0x68
- ldrh r0, [r0]
- str r0, [sp]
- adds r0, r7, 0
- adds r0, 0x3C
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r2, 0xD0
- movs r3, 0
- bl sub_800558C
- movs r0, 0
- strb r0, [r4]
-_080A72A6:
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7094
-
- thumb_func_start sub_80A72B8
-sub_80A72B8:
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- cmp r1, 0
- beq _080A72D2
- adds r1, r6, 0
- adds r1, 0x6E
- movs r0, 0
- strh r0, [r1]
- adds r0, r6, 0
- bl sub_80054BC
- b _080A7304
-_080A72D2:
- adds r5, r6, 0
- adds r5, 0x6E
- adds r0, r6, 0
- adds r0, 0x6C
- ldrh r0, [r0]
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080A7304
- ldr r0, _080A730C
- adds r7, r0, 0
-_080A72EE:
- adds r4, r5, 0
- ldrh r1, [r5]
- adds r0, r7, r1
- strh r0, [r5]
- adds r0, r6, 0
- bl sub_80054BC
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- bgt _080A72EE
-_080A7304:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A730C: .4byte 0xffffff00
- thumb_func_end sub_80A72B8
-
- thumb_func_start sub_80A7310
-sub_80A7310:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- mov r12, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080A73DC
- mov r0, r12
- ldr r0, [r0, 0x5C]
- mov r8, r0
- movs r0, 0x1
- negs r0, r0
- cmp r8, r0
- beq _080A73DC
- ldr r0, [r4]
- cmp r0, 0
- bge _080A7344
- adds r0, 0xFF
-_080A7344:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _080A73D0
- mov r9, r1
- ldr r2, [sp, 0x4]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- ldr r0, [r4, 0x4]
- cmp r0, 0
- bge _080A735C
- adds r0, 0xFF
-_080A735C:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r6, _080A73D4
- adds r4, r6, 0
- ands r4, r2
- orrs r4, r0
- str r4, [sp, 0x4]
- asrs r2, r4, 16
- ldr r0, _080A73D8
- ldr r0, [r0, 0x4]
- subs r0, r2, r0
- mov r1, r12
- adds r1, 0x6A
- movs r7, 0
- ldrsh r1, [r1, r7]
- adds r0, r1
- adds r7, r0, 0x2
- cmp r3, 0
- bge _080A7386
- adds r3, 0xFF
-_080A7386:
- asrs r0, r3, 8
- subs r0, r2, r0
- lsls r0, 16
- adds r2, r6, 0
- ands r2, r4
- orrs r2, r0
- str r2, [sp, 0x4]
- cmp r5, 0
- beq _080A73B8
- ldr r1, [r5]
- add r0, sp, 0x4
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- mov r0, r9
- ands r0, r2
- orrs r0, r1
- asrs r2, r0, 16
- ldr r1, [r5, 0x4]
- adds r1, r2
- lsls r1, 16
- ands r0, r6
- orrs r0, r1
- str r0, [sp, 0x4]
-_080A73B8:
- mov r0, r12
- adds r0, 0x3C
- str r0, [sp]
- mov r0, r8
- add r1, sp, 0x4
- movs r2, 0
- adds r3, r7, 0
- bl sub_800E8AC
- movs r0, 0x1
- b _080A73DE
- .align 2, 0
-_080A73D0: .4byte 0xffff0000
-_080A73D4: .4byte 0x0000ffff
-_080A73D8: .4byte gUnknown_2039DD8
-_080A73DC:
- movs r0, 0
-_080A73DE:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7310
-
- thumb_func_start sub_80A73EC
-sub_80A73EC:
- push {lr}
- bl CopySpritesToOam
- bl nullsub_13
- bl sub_8005304
- bl nullsub_14
- ldr r1, _080A7420
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r1, _080A7424
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB
- bls _080A741A
- movs r0, 0
- strh r0, [r1]
-_080A741A:
- pop {r0}
- bx r0
- .align 2, 0
-_080A7420: .4byte gUnknown_2039DCC
-_080A7424: .4byte gUnknown_2039DCE
- thumb_func_end sub_80A73EC
-
- thumb_func_start sub_80A7428
-sub_80A7428:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r6, r0, 0
- mov r8, r3
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r4, r2, 0
- ldr r1, _080A7480
- mov r0, sp
- bl sprintf
- ldr r1, _080A7484
- mov r0, sp
- bl OpenFile
- adds r5, r0, 0
- movs r1, 0
- bl GetFileDataPtr
- adds r0, r4, 0
- bl sub_808DACC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A7488
- ldr r2, [sp, 0xC]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0xC]
- movs r0, 0xD3
- lsls r0, 1
- cmp r4, r0
- bne _080A7490
- ldr r0, _080A748C
- ands r0, r2
- movs r1, 0x91
- lsls r1, 17
- orrs r0, r1
- str r0, [sp, 0xC]
- b _080A74AC
- .align 2, 0
-_080A7480: .4byte gUnknown_8117EDC
-_080A7484: .4byte gUnknown_8510000
-_080A7488: .4byte 0xffff0000
-_080A748C: .4byte 0x0000ffff
-_080A7490:
- movs r1, 0
- cmp r7, 0x47
- bne _080A7498
- movs r1, 0x1
-_080A7498:
- adds r0, r4, 0
- bl sub_808DD68
- lsls r0, 24
- lsrs r0, 8
- ldr r2, _080A74E0
- ldr r1, [sp, 0xC]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0xC]
-_080A74AC:
- ldr r0, [r5, 0x4]
- add r1, sp, 0xC
- str r0, [r1, 0x4]
- adds r0, r6, 0
- mov r2, r8
- bl sub_80A67CC
- str r5, [r6, 0x54]
- adds r0, r6, 0
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- blt _080A74D4
- movs r1, 0xC0
- lsls r1, 2
- adds r0, r6, 0
- movs r2, 0
- bl sub_80A6EFC
-_080A74D4:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A74E0: .4byte 0x0000ffff
- thumb_func_end sub_80A7428
-
- thumb_func_start sub_80A74E4
-sub_80A74E4:
- push {lr}
- bl sub_80A68A0
- pop {r0}
- bx r0
- thumb_func_end sub_80A74E4
-
- thumb_func_start sub_80A74F0
-sub_80A74F0:
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- asrs r4, r1, 16
- lsls r2, 24
- asrs r5, r2, 24
- cmp r3, 0
- bge _080A7514
- movs r0, 0xE0
- lsls r0, 1
- cmp r4, r0
- beq _080A7512
- adds r0, r4, 0
- bl sub_800E700
- adds r3, r0, 0
- b _080A7514
-_080A7512:
- movs r3, 0
-_080A7514:
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A7040
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A74F0
-
- thumb_func_start sub_80A7524
-sub_80A7524:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- adds r5, r0, 0
- adds r6, r2, 0
- adds r7, r3, 0
- lsls r1, 16
- asrs r1, 16
- mov r8, r1
- mov r1, sp
- bl sub_80A7094
- lsls r0, 24
- cmp r0, 0
- beq _080A75C0
- ldr r1, [r5, 0x5C]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A758C
- ldr r2, [r5, 0x60]
- cmp r2, 0x3
- bgt _080A7580
- cmp r2, 0
- blt _080A7580
- add r4, sp, 0x8
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_800569C
- movs r1, 0
- ldrsh r0, [r4, r1]
- str r0, [sp, 0xC]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- add r2, sp, 0xC
- str r0, [r2, 0x4]
- adds r0, r5, 0
- adds r1, r6, 0
- adds r3, r7, 0
- bl sub_80A7310
- b _080A758C
-_080A7580:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- adds r3, r7, 0
- bl sub_80A7310
-_080A758C:
- adds r0, r5, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080A75B4
- ldr r0, [sp]
- lsls r0, 16
- ldr r1, [sp, 0x4]
- lsls r1, 16
- lsrs r0, 16
- orrs r0, r1
- str r0, [sp, 0x14]
- add r1, sp, 0x14
- mov r0, r8
- adds r2, r5, 0
- bl sub_808E668
-_080A75B4:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- adds r3, r7, 0
- bl sub_80A7310
-_080A75C0:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7524
-
- thumb_func_start sub_80A75CC
-sub_80A75CC:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r3, 0
- lsls r2, 16
- asrs r2, 13
- ldr r0, _080A7618
- adds r2, r0
- movs r5, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 16
- lsrs r0, 16
- ldr r3, _080A761C
- ldr r1, [sp]
- ands r1, r3
- orrs r1, r0
- str r1, [sp]
- ldrh r3, [r2, 0x2]
- lsls r3, 16
- ldr r0, _080A7620
- ands r0, r1
- orrs r0, r3
- str r0, [sp]
- ldr r0, [r2, 0x4]
- cmp r0, 0
- beq _080A7628
- ldr r1, _080A7624
- bl OpenFile
- adds r5, r0, 0
- movs r1, 0
- bl GetFileDataPtr
- ldr r0, [r5, 0x4]
- str r0, [sp, 0x4]
- b _080A762A
- .align 2, 0
-_080A7618: .4byte gUnknown_8117AE4
-_080A761C: .4byte 0xffff0000
-_080A7620: .4byte 0x0000ffff
-_080A7624: .4byte gUnknown_9E60000
-_080A7628:
- str r5, [sp, 0x4]
-_080A762A:
- adds r0, r4, 0
- mov r1, sp
- adds r2, r6, 0
- bl sub_80A67CC
- str r5, [r4, 0x54]
- adds r0, r4, 0
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- blt _080A764E
- movs r1, 0x80
- lsls r1, 4
- adds r0, r4, 0
- movs r2, 0
- bl sub_80A6EFC
-_080A764E:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A75CC
-
- thumb_func_start sub_80A7658
-sub_80A7658:
- push {lr}
- bl sub_80A68A0
- pop {r0}
- bx r0
- thumb_func_end sub_80A7658
-
- thumb_func_start sub_80A7664
-sub_80A7664:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- movs r1, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80A7094
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- adds r3, r6, 0
- bl sub_80A7310
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7664
-
- thumb_func_start sub_80A7688
-sub_80A7688:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r3, 0
- lsls r2, 16
- asrs r2, 13
- ldr r0, _080A76D4
- adds r2, r0
- movs r5, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 16
- lsrs r0, 16
- ldr r3, _080A76D8
- ldr r1, [sp]
- ands r1, r3
- orrs r1, r0
- str r1, [sp]
- ldrh r3, [r2, 0x2]
- lsls r3, 16
- ldr r0, _080A76DC
- ands r0, r1
- orrs r0, r3
- str r0, [sp]
- ldr r0, [r2, 0x4]
- cmp r0, 0
- beq _080A76E4
- ldr r1, _080A76E0
- bl OpenFile
- adds r5, r0, 0
- movs r1, 0
- bl GetFileDataPtr
- ldr r0, [r5, 0x4]
- str r0, [sp, 0x4]
- b _080A76E6
- .align 2, 0
-_080A76D4: .4byte gUnknown_8117E8C
-_080A76D8: .4byte 0xffff0000
-_080A76DC: .4byte 0x0000ffff
-_080A76E0: .4byte gUnknown_9E60000
-_080A76E4:
- str r5, [sp, 0x4]
-_080A76E6:
- adds r0, r4, 0
- mov r1, sp
- adds r2, r6, 0
- bl sub_80A67CC
- str r5, [r4, 0x54]
- adds r0, r4, 0
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- blt _080A770A
- movs r1, 0x80
- lsls r1, 4
- adds r0, r4, 0
- movs r2, 0
- bl sub_80A6EFC
-_080A770A:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7688
-
- thumb_func_start sub_80A7714
-sub_80A7714:
- push {lr}
- bl sub_80A68A0
- pop {r0}
- bx r0
- thumb_func_end sub_80A7714
-
- thumb_func_start sub_80A7720
-sub_80A7720:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- movs r1, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80A7094
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- adds r3, r6, 0
- bl sub_80A7310
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7720
-
- thumb_func_start sub_80A7744
-sub_80A7744:
- ldr r1, _080A7750
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080A7750: .4byte gUnknown_2039DE0
- thumb_func_end sub_80A7744
-
- thumb_func_start sub_80A7754
-sub_80A7754:
- ldr r1, _080A7760
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080A7760: .4byte gUnknown_2039DE0
- thumb_func_end sub_80A7754
-
- thumb_func_start sub_80A7764
-sub_80A7764:
- push {r4,lr}
- lsls r0, 16
- asrs r4, r0, 16
- bl sub_80A7784
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _080A777A
- ldr r0, _080A7780
- strh r4, [r0]
-_080A777A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7780: .4byte gUnknown_2039DE0
- thumb_func_end sub_80A7764
-
- thumb_func_start sub_80A7784
-sub_80A7784:
- push {lr}
- ldr r2, _080A779C
- movs r1, 0
- ldrsh r0, [r2, r1]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080A7796
- strh r1, [r2]
-_080A7796:
- pop {r0}
- bx r0
- .align 2, 0
-_080A779C: .4byte gUnknown_2039DE0
- thumb_func_end sub_80A7784
-
- thumb_func_start sub_80A77A0
-sub_80A77A0:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- ldr r0, _080A77BC
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, r1
- beq _080A77CA
- cmp r1, 0
- bge _080A77C0
- bl sub_80A7784
- b _080A77C6
- .align 2, 0
-_080A77BC: .4byte gUnknown_2039DE0
-_080A77C0:
- adds r0, r2, 0
- bl sub_80A7764
-_080A77C6:
- movs r0, 0x1
- b _080A77CC
-_080A77CA:
- movs r0, 0
-_080A77CC:
- pop {r1}
- bx r1
- thumb_func_end sub_80A77A0
-
- thumb_func_start sub_80A77D0
-sub_80A77D0:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A77E8
- ldr r0, _080A77E4
- b _080A77F0
- .align 2, 0
-_080A77E4: .4byte gUnknown_8117EFC
-_080A77E8:
- ldr r0, _080A77F4
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
-_080A77F0:
- pop {r1}
- bx r1
- .align 2, 0
-_080A77F4: .4byte gUnknown_811E258
- thumb_func_end sub_80A77D0
-
- thumb_func_start sub_80A77F8
-sub_80A77F8:
- push {r4,r5,lr}
- ldr r4, _080A7860
- movs r0, 0xCE
- lsls r0, 2
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- ldr r4, _080A7864
- movs r0, 0xBA
- lsls r0, 6
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- adds r1, r0, 0
- ldr r0, _080A7868
- adds r5, r0, 0
- movs r4, 0xF8
- lsls r4, 1
- movs r2, 0x80
- lsls r2, 9
- adds r3, r2, 0
-_080A7826:
- ldrh r0, [r1, 0x2]
- orrs r0, r5
- strh r0, [r1, 0x2]
- adds r0, r2, 0
- adds r2, r3
- asrs r0, 16
- adds r1, r4
- cmp r0, 0x17
- ble _080A7826
- ldr r4, _080A7860
- ldr r1, [r4]
- movs r0, 0xCB
- lsls r0, 2
- adds r1, r0
- movs r0, 0
- movs r2, 0x19
- bl sub_809D710
- ldr r0, [r4]
- movs r1, 0xCC
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
- bl sub_80A786C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7860: .4byte gUnknown_3001B80
-_080A7864: .4byte gUnknown_3001B84
-_080A7868: .4byte 0x0000ffff
- thumb_func_end sub_80A77F8
-
- thumb_func_start sub_80A786C
-sub_80A786C:
- push {r4-r6,lr}
- ldr r0, _080A78E8
- ldr r4, [r0]
- movs r1, 0
- movs r6, 0x1
- negs r6, r6
- movs r5, 0x80
- lsls r5, 9
-_080A787C:
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, r6
- beq _080A788A
- adds r0, r1, 0
- bl GroundLives_Delete
-_080A788A:
- adds r0, r5, 0
- movs r1, 0x80
- lsls r1, 9
- adds r5, r1
- asrs r1, r0, 16
- movs r2, 0xF8
- lsls r2, 1
- adds r4, r2
- cmp r1, 0x17
- ble _080A787C
- ldr r3, _080A78EC
- ldr r0, [r3]
- movs r2, 0x1
- negs r2, r2
- str r2, [r0, 0x24]
- adds r0, 0x28
- movs r1, 0xFF
- strb r1, [r0]
- movs r5, 0
- movs r4, 0
- movs r1, 0x2
-_080A78B4:
- ldr r0, [r3]
- adds r0, r4
- str r2, [r0, 0x8]
- str r5, [r0]
- str r5, [r0, 0x4]
- adds r4, 0xC
- subs r1, 0x1
- cmp r1, 0
- bge _080A78B4
- ldr r4, _080A78EC
- movs r2, 0
- movs r3, 0x2C
- movs r1, 0x3F
-_080A78CE:
- ldr r0, [r4]
- adds r0, r3
- str r2, [r0]
- str r2, [r0, 0x4]
- str r2, [r0, 0x8]
- adds r3, 0xC
- subs r1, 0x1
- cmp r1, 0
- bge _080A78CE
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A78E8: .4byte gUnknown_3001B84
-_080A78EC: .4byte gUnknown_3001B80
- thumb_func_end sub_80A786C
-
- thumb_func_start sub_80A78F0
-sub_80A78F0:
- push {r4,r5,lr}
- bl sub_80A786C
- ldr r4, _080A7914
- ldr r0, [r4]
- bl MemoryFree
- movs r5, 0
- str r5, [r4]
- ldr r4, _080A7918
- ldr r0, [r4]
- bl MemoryFree
- str r5, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7914: .4byte gUnknown_3001B84
-_080A7918: .4byte gUnknown_3001B80
- thumb_func_end sub_80A78F0
-
- thumb_func_start GroundLives_Select
-GroundLives_Select:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 24
- asrs r6, r2, 24
- ldr r1, _080A7980
- adds r0, r4, 0
- bl sub_80A77D0
- adds r5, r0, 0
- ldr r1, _080A7984
- str r6, [sp]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl Log
- lsls r1, r7, 3
- ldr r0, [r5, 0x4]
- adds r0, r1
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- ldr r0, [r0, 0x4]
- adds r0, r1
- ldr r5, [r0, 0x4]
- ldr r0, [r0]
- cmp r0, 0
- ble _080A7976
- adds r4, r0, 0
-_080A7960:
- movs r0, 0x1
- negs r0, r0
- adds r1, r5, 0
- adds r2, r7, 0
- adds r3, r6, 0
- bl GroundLives_Add
- subs r4, 0x1
- adds r5, 0x18
- cmp r4, 0
- bne _080A7960
-_080A7976:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7980: .4byte gUnknown_811808C
-_080A7984: .4byte gUnknown_8118098
- thumb_func_end GroundLives_Select
-
- thumb_func_start GroundLives_Cancel
-GroundLives_Cancel:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- lsls r1, 24
- asrs r5, r1, 24
- ldr r1, _080A79F4
- movs r0, 0
- adds r2, r7, 0
- adds r3, r5, 0
- bl Log
- movs r1, 0
- ldr r0, _080A79F8
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080A79B2:
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, r8
- beq _080A79D4
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, r7
- bne _080A79D4
- cmp r5, 0
- blt _080A79CE
- movs r0, 0x6
- ldrsb r0, [r4, r0]
- cmp r0, r5
- bne _080A79D4
-_080A79CE:
- adds r0, r1, 0
- bl GroundLives_Delete
-_080A79D4:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r1, r0, 16
- movs r2, 0xF8
- lsls r2, 1
- adds r4, r2
- cmp r1, 0x17
- ble _080A79B2
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A79F4: .4byte gUnknown_81180BC
-_080A79F8: .4byte gUnknown_3001B84
- thumb_func_end GroundLives_Cancel
-
- thumb_func_start sub_80A79FC
-sub_80A79FC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r1, _080A7A70
- movs r0, 0
- bl Log
- movs r6, 0
- ldr r0, _080A7A74
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r1, 0xA2
- lsls r1, 1
- adds r5, r4, r1
- mov r7, sp
-_080A7A20:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, r8
- beq _080A7A50
- ldr r0, [r5]
- ldr r1, [r4, 0x14]
- adds r0, r1
- str r0, [sp]
- ldr r0, [r5, 0x4]
- ldr r1, [r4, 0x18]
- adds r0, r1
- str r0, [r7, 0x4]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r4, r1
- mov r1, sp
- bl sub_80A675C
- lsls r0, 24
- cmp r0, 0
- bne _080A7A50
- adds r0, r6, 0
- bl GroundLives_Delete
-_080A7A50:
- adds r0, r6, 0x1
- lsls r0, 16
- asrs r6, r0, 16
- movs r0, 0xF8
- lsls r0, 1
- adds r5, r0
- adds r4, r0
- cmp r6, 0x17
- ble _080A7A20
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7A70: .4byte gUnknown_81180D8
-_080A7A74: .4byte gUnknown_3001B84
- thumb_func_end sub_80A79FC
-
- thumb_func_start sub_80A7A78
-sub_80A7A78:
- push {r4-r7,lr}
- ldr r1, _080A7AC0
- movs r0, 0
- bl Log
- movs r6, 0
- ldr r0, _080A7AC4
- ldr r4, [r0]
- movs r7, 0x1
- negs r7, r7
- movs r0, 0x9F
- lsls r0, 1
- adds r5, r4, r0
-_080A7A92:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, r7
- beq _080A7ACC
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 4
- ands r0, r1
- cmp r0, 0
- beq _080A7AC8
- movs r0, 0xA2
- lsls r0, 1
- adds r1, r4, r0
- adds r0, 0x8
- adds r2, r4, r0
- movs r0, 0x20
- bl sub_80ADCA0
- b _080A7ACA
- .align 2, 0
-_080A7AC0: .4byte gUnknown_81180D8
-_080A7AC4: .4byte gUnknown_3001B84
-_080A7AC8:
- ldr r0, _080A7AE4
-_080A7ACA:
- strh r0, [r5]
-_080A7ACC:
- adds r0, r6, 0x1
- lsls r0, 16
- asrs r6, r0, 16
- movs r1, 0xF8
- lsls r1, 1
- adds r5, r1
- adds r4, r1
- cmp r6, 0x17
- ble _080A7A92
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7AE4: .4byte 0x0000ffff
- thumb_func_end sub_80A7A78
-
- thumb_func_start sub_80A7AE8
-sub_80A7AE8:
- push {r4-r7,lr}
- sub sp, 0x4
- mov r1, sp
- strh r0, [r1]
- mov r0, sp
- bl sub_80A7B94
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _080A7B34
- movs r3, 0
- ldr r0, _080A7B24
- ldr r1, [r0]
- adds r4, r2, 0
- movs r2, 0x80
- lsls r2, 9
- adds r6, r2, 0
- movs r5, 0xF8
- lsls r5, 1
-_080A7B16:
- movs r7, 0x2
- ldrsh r0, [r1, r7]
- cmp r0, r4
- bne _080A7B28
- adds r0, r3, 0
- b _080A7B38
- .align 2, 0
-_080A7B24: .4byte gUnknown_3001B84
-_080A7B28:
- adds r0, r2, 0
- adds r2, r6
- asrs r3, r0, 16
- adds r1, r5
- cmp r3, 0x17
- ble _080A7B16
-_080A7B34:
- movs r0, 0x1
- negs r0, r0
-_080A7B38:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7AE8
-
- thumb_func_start sub_80A7B40
-sub_80A7B40:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r4, r0, 16
- movs r3, 0
- ldr r0, _080A7B70
- ldr r1, [r0]
- movs r6, 0x1
- negs r6, r6
- movs r2, 0x80
- lsls r2, 9
- movs r5, 0x9E
- lsls r5, 1
-_080A7B58:
- movs r7, 0x2
- ldrsh r0, [r1, r7]
- cmp r0, r6
- beq _080A7B74
- adds r0, r1, r5
- movs r7, 0
- ldrsh r0, [r0, r7]
- cmp r0, r4
- bne _080A7B74
- adds r0, r3, 0
- b _080A7B8C
- .align 2, 0
-_080A7B70: .4byte gUnknown_3001B84
-_080A7B74:
- adds r0, r2, 0
- movs r3, 0x80
- lsls r3, 9
- adds r2, r3
- asrs r3, r0, 16
- movs r7, 0xF8
- lsls r7, 1
- adds r1, r7
- cmp r3, 0x17
- ble _080A7B58
- movs r0, 0x1
- negs r0, r0
-_080A7B8C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7B40
-
- thumb_func_start sub_80A7B94
-sub_80A7B94:
- push {r4-r7,lr}
- sub sp, 0x10
- adds r7, r0, 0
- movs r0, 0
- ldrsh r2, [r7, r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _080A7BD4
- adds r0, r1
- movs r6, 0x1
- negs r6, r6
- movs r1, 0
- ldrsh r5, [r0, r1]
- cmp r5, 0x1
- bne _080A7C14
- adds r0, r2, 0
- cmp r0, 0
- bne _080A7C10
- movs r0, 0
- movs r1, 0x1C
- bl sub_8001658
- adds r4, r0, 0
- cmp r4, 0x1
- beq _080A7BDE
- cmp r4, 0x1
- bgt _080A7BD8
- cmp r4, 0
- beq _080A7BF2
- b _080A7C08
- .align 2, 0
-_080A7BD4: .4byte gUnknown_811E63C
-_080A7BD8:
- cmp r4, 0x2
- beq _080A7BE4
- b _080A7C08
-_080A7BDE:
- movs r0, 0x2
- strh r0, [r7]
- b _080A7C10
-_080A7BE4:
- bl sub_808D33C
- adds r6, r0, 0
- bl sub_808D3BC
- cmp r0, r6
- bne _080A7BF6
-_080A7BF2:
- strh r5, [r7]
- b _080A7C10
-_080A7BF6:
- bl sub_808D3F8
- cmp r0, r6
- bne _080A7C02
- strh r4, [r7]
- b _080A7C10
-_080A7C02:
- movs r0, 0x3
- strh r0, [r7]
- b _080A7C10
-_080A7C08:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- b _080A7DAC
-_080A7C10:
- movs r6, 0
- b _080A7DD2
-_080A7C14:
- cmp r5, 0x2
- bne _080A7CD2
- movs r0, 0
- movs r1, 0x1D
- bl sub_8001658
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x1E
- bl sub_8001658
- adds r2, r0, 0
- ldrh r1, [r7]
- subs r0, r1, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080A7C82
- cmp r1, 0x4
- bne _080A7C44
- adds r0, r4, 0
- cmp r0, 0
- bne _080A7C4C
- b _080A7C4A
-_080A7C44:
- movs r0, 0
- cmp r4, 0
- beq _080A7C4C
-_080A7C4A:
- adds r0, r2, 0
-_080A7C4C:
- cmp r0, 0x2
- beq _080A7C7A
- cmp r0, 0x2
- bhi _080A7C5A
- cmp r0, 0x1
- beq _080A7C6E
- b _080A7DA6
-_080A7C5A:
- cmp r0, 0x3
- beq _080A7C60
- b _080A7DA6
-_080A7C60:
- bl sub_808D33C
- adds r4, r0, 0
- bl sub_808D3BC
- cmp r0, r4
- bne _080A7C72
-_080A7C6E:
- movs r0, 0x6
- b _080A7C80
-_080A7C72:
- bl sub_808D3F8
- cmp r0, r4
- bne _080A7C7E
-_080A7C7A:
- movs r0, 0x7
- b _080A7C80
-_080A7C7E:
- movs r0, 0x8
-_080A7C80:
- strh r0, [r7]
-_080A7C82:
- movs r0, 0
- ldrsh r5, [r7, r0]
- cmp r5, 0x7
- beq _080A7CB0
- cmp r5, 0x7
- bgt _080A7C94
- cmp r5, 0x6
- beq _080A7C9A
- b _080A7CCA
-_080A7C94:
- cmp r5, 0x8
- beq _080A7CC6
- b _080A7CCA
-_080A7C9A:
- movs r6, 0x2
- bl sub_808D33C
- adds r4, r0, 0
- bl sub_808D3BC
- cmp r4, r0
- beq _080A7CAC
- b _080A7DD2
-_080A7CAC:
- strh r5, [r7]
- b _080A7DD2
-_080A7CB0:
- movs r6, 0x1
- bl sub_808D33C
- adds r4, r0, 0
- bl sub_808D3F8
- cmp r4, r0
- beq _080A7CC2
- b _080A7DD2
-_080A7CC2:
- movs r0, 0x6
- b _080A7DD0
-_080A7CC6:
- movs r6, 0x2
- b _080A7DD2
-_080A7CCA:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- b _080A7DAC
-_080A7CD2:
- cmp r5, 0x3
- bne _080A7DB0
- ldrh r1, [r7]
- adds r0, r1, 0
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bhi _080A7D12
- adds r4, r2, 0
- subs r4, 0xA
- bl sub_8098F88
- lsls r0, 24
- cmp r0, 0
- bne _080A7DD2
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A7D06
- mov r0, sp
- bl sub_808D6A4
- b _080A7D0C
-_080A7D06:
- mov r0, sp
- bl sub_808D654
-_080A7D0C:
- cmp r4, r0
- bge _080A7DA6
- b _080A7D7E
-_080A7D12:
- adds r0, r1, 0
- subs r0, 0xE
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF
- bhi _080A7DA6
- movs r0, 0
- movs r1, 0x10
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080A7DA6
- movs r2, 0
- ldrsh r0, [r7, r2]
- adds r4, r0, 0
- subs r4, 0xE
- adds r0, r1, 0
- mov r1, sp
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r4, r0
- bge _080A7DA6
- ldr r2, _080A7D84
- ldr r0, [sp, 0x8]
- adds r0, r4
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A7D88
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A7DA6
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _080A7DA6
-_080A7D7E:
- movs r0, 0x1
- negs r0, r0
- b _080A7DD4
- .align 2, 0
-_080A7D84: .4byte gUnknown_203B45C
-_080A7D88:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A7DA6
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _080A7DA6
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _080A7DA2
- movs r1, 0x1
-_080A7DA2:
- cmp r1, 0
- beq _080A7D7E
-_080A7DA6:
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
-_080A7DAC:
- strh r0, [r7]
- b _080A7D7E
-_080A7DB0:
- cmp r2, 0x23
- bne _080A7DD2
- bl sub_808D33C
- adds r4, r0, 0
- bl sub_808D3BC
- cmp r0, r4
- bne _080A7DC6
- movs r0, 0x21
- b _080A7DD0
-_080A7DC6:
- bl sub_808D3F8
- cmp r0, r4
- bne _080A7DD2
- movs r0, 0x22
-_080A7DD0:
- strh r0, [r7]
-_080A7DD2:
- adds r0, r6, 0
-_080A7DD4:
- add sp, 0x10
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7B94
-
- thumb_func_start sub_80A7DDC
-sub_80A7DDC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x24
- adds r7, r0, 0
- adds r5, r1, 0
- bl sub_80A7B94
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r0, 0
- strh r0, [r5]
- ldrh r3, [r7]
- movs r1, 0
- ldrsh r0, [r7, r1]
- movs r6, 0x1
- negs r6, r6
- cmp r0, r6
- bne _080A7E0A
-_080A7E04:
- movs r0, 0x1
- negs r0, r0
- b _080A8098
-_080A7E0A:
- movs r0, 0
- ldrsh r2, [r7, r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _080A7E50
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- beq _080A7E22
- b _080A7F38
-_080A7E22:
- adds r0, r3, 0
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bhi _080A7E90
- adds r4, r2, 0
- subs r4, 0xA
- bl sub_8098F88
- lsls r0, 24
- cmp r0, 0
- beq _080A7E58
- ldr r0, _080A7E54
- lsls r1, r4, 1
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r5]
- cmp r0, 0
- bne _080A7E04
- strh r6, [r7]
- b _080A7E04
- .align 2, 0
-_080A7E50: .4byte gUnknown_811E63C
-_080A7E54: .4byte gUnknown_81180F0
-_080A7E58:
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A7E6C
- mov r0, sp
- bl sub_808D6A4
- b _080A7E72
-_080A7E6C:
- mov r0, sp
- bl sub_808D654
-_080A7E72:
- cmp r4, r0
- blt _080A7E78
- b _080A8080
-_080A7E78:
- ldr r2, _080A7E8C
- lsls r0, r4, 2
- add r0, sp
- ldr r1, [r0]
- movs r0, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- ldrh r0, [r0, 0x8]
- b _080A800A
- .align 2, 0
-_080A7E8C: .4byte gUnknown_203B45C
-_080A7E90:
- adds r0, r3, 0
- subs r0, 0xE
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF
- bls _080A7E9E
- b _080A8080
-_080A7E9E:
- movs r0, 0
- movs r1, 0x10
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080A7EB8
- b _080A8080
-_080A7EB8:
- movs r2, 0
- ldrsh r0, [r7, r2]
- adds r4, r0, 0
- subs r4, 0xE
- adds r0, r1, 0
- mov r1, sp
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r4, r0
- blt _080A7ED8
- b _080A8080
-_080A7ED8:
- ldr r2, _080A7F0C
- ldr r0, [sp, 0x8]
- adds r0, r4
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A7F10
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A7EFE
- b _080A8080
-_080A7EFE:
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _080A7F06
- b _080A8080
-_080A7F06:
- ldrh r0, [r4, 0x8]
- b _080A800A
- .align 2, 0
-_080A7F0C: .4byte gUnknown_203B45C
-_080A7F10:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A7F1C
- b _080A8080
-_080A7F1C:
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _080A7F24
- b _080A8080
-_080A7F24:
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _080A7F2E
- movs r1, 0x1
-_080A7F2E:
- cmp r1, 0
- beq _080A7F34
- b _080A8080
-_080A7F34:
- ldrh r0, [r4, 0x8]
- b _080A800A
-_080A7F38:
- subs r0, r3, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x23
- bls _080A7F44
- b _080A808A
-_080A7F44:
- lsls r0, 2
- ldr r1, _080A7F50
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A7F50: .4byte _080A7F54
- .align 2, 0
-_080A7F54:
- .4byte _080A7FE4
- .4byte _080A7FEC
- .4byte _080A7FF4
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A7FE4
- .4byte _080A7FEC
- .4byte _080A7FF4
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A8032
- .4byte _080A8032
- .4byte _080A8014
- .4byte _080A7FE4
- .4byte _080A7FEC
- .4byte _080A7FF4
- .4byte _080A7FFC
-_080A7FE4:
- bl sub_808D3BC
- ldrh r0, [r0, 0x8]
- b _080A8094
-_080A7FEC:
- bl sub_808D3F8
- ldrh r0, [r0, 0x8]
- b _080A8094
-_080A7FF4:
- bl sub_808D33C
- ldrh r0, [r0, 0x8]
- b _080A8094
-_080A7FFC:
- movs r0, 0xF
- bl RandomCapped
- ldr r1, _080A8010
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
-_080A800A:
- strh r0, [r5]
- b _080A7E04
- .align 2, 0
-_080A8010: .4byte gUnknown_81180FC
-_080A8014:
- movs r0, 0
- movs r1, 0x1F
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _080A8028
- strh r0, [r5]
- b _080A7E04
-_080A8028:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strh r0, [r7]
- b _080A7E04
-_080A8032:
- movs r0, 0x89
- strh r0, [r5]
- add r6, sp, 0x10
- adds r0, r6, 0
- bl sub_8099328
- lsls r0, 24
- cmp r0, 0
- bne _080A8046
- b _080A7E04
-_080A8046:
- add r1, sp, 0x14
- add r2, sp, 0x18
- movs r0, 0x2
- bl sub_8001B88
- add r4, sp, 0x1C
- ldr r1, [sp, 0x18]
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r6]
- adds r0, r4, 0
- bl sub_8096AF8
- ldrb r0, [r4]
- cmp r0, 0
- beq _080A8076
- movs r2, 0
- ldrsh r0, [r7, r2]
- cmp r0, 0x1E
- bne _080A8072
- ldrh r0, [r4, 0x2]
- b _080A8074
-_080A8072:
- ldrh r0, [r4, 0x4]
-_080A8074:
- strh r0, [r5]
-_080A8076:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080A8080
- b _080A7E04
-_080A8080:
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- strh r0, [r7]
- b _080A7E04
-_080A808A:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080A8096
- ldrh r0, [r4, 0x2]
-_080A8094:
- strh r0, [r5]
-_080A8096:
- mov r0, r8
-_080A8098:
- add sp, 0x24
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7DDC
-
- thumb_func_start GroundLives_Add
-GroundLives_Add:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r1, [sp, 0x10]
- lsls r0, 16
- asrs r6, r0, 16
- lsls r2, 16
- asrs r2, 16
- str r2, [sp, 0x14]
- lsls r3, 24
- asrs r3, 24
- str r3, [sp, 0x18]
- ldrb r1, [r1]
- add r0, sp, 0xC
- strh r1, [r0]
- movs r0, 0
- mov r8, r0
- mov r4, sp
- adds r4, 0xE
- add r0, sp, 0xC
- adds r1, r4, 0
- bl sub_80A7DDC
- lsls r0, 16
- asrs r7, r0, 16
- add r0, sp, 0xC
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- mov r9, r4
- cmp r1, r0
- beq _080A81AE
- cmp r7, 0x1
- beq _080A8104
- cmp r7, 0x1
- bgt _080A80FA
- cmp r7, 0
- beq _080A8100
- b _080A8118
-_080A80FA:
- cmp r7, 0x2
- beq _080A8108
- b _080A8118
-_080A8100:
- movs r6, 0
- b _080A8118
-_080A8104:
- movs r6, 0x1
- b _080A8118
-_080A8108:
- movs r0, 0
- movs r1, 0x1D
- bl sub_8001658
- cmp r0, 0
- bne _080A8116
- movs r7, 0x1
-_080A8116:
- movs r6, 0x2
-_080A8118:
- add r0, sp, 0xC
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _080A813C
- adds r0, r1
- str r0, [sp, 0x1C]
- cmp r6, 0
- bge _080A81B4
- cmp r2, 0x21
- beq _080A8140
- cmp r2, 0x23
- beq _080A8154
- adds r0, r2, 0
- b _080A8162
- .align 2, 0
-_080A813C: .4byte gUnknown_811E63C
-_080A8140:
- ldr r0, _080A8150
- ldr r0, [r0]
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- cmp r0, 0x1
- beq _080A81AE
- movs r0, 0x21
- b _080A8162
- .align 2, 0
-_080A8150: .4byte gUnknown_3001B84
-_080A8154:
- ldr r0, _080A8188
- ldr r0, [r0]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- cmp r0, 0x3
- beq _080A81AE
- movs r0, 0x23
-_080A8162:
- bl sub_80A7AE8
- adds r6, r0, 0
- cmp r6, 0
- bge _080A81B4
- movs r2, 0x3
- ldr r0, _080A8188
- ldr r0, [r0]
- movs r3, 0xBA
- lsls r3, 3
- adds r5, r0, r3
- movs r4, 0x2
- ldrsh r1, [r5, r4]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A818C
- movs r6, 0x3
- b _080A81B4
- .align 2, 0
-_080A8188: .4byte gUnknown_3001B84
-_080A818C:
- adds r0, r2, 0x1
- lsls r0, 16
- asrs r2, r0, 16
- movs r0, 0xF8
- lsls r0, 1
- adds r5, r0
- cmp r2, 0x17
- bgt _080A81AA
- movs r3, 0x2
- ldrsh r1, [r5, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A818C
- adds r6, r2, 0
-_080A81AA:
- cmp r6, 0
- bge _080A81B4
-_080A81AE:
- movs r0, 0x1
- negs r0, r0
- b _080A8674
-_080A81B4:
- ldr r1, _080A8234
- lsls r0, r6, 5
- subs r0, r6
- lsls r0, 4
- ldr r1, [r1]
- adds r5, r1, r0
- ldr r1, _080A8238
- add r0, sp, 0xC
- movs r4, 0
- ldrsh r3, [r0, r4]
- ldr r2, [sp, 0x1C]
- movs r4, 0
- ldrsh r0, [r2, r4]
- str r0, [sp]
- ldr r0, [sp, 0x14]
- str r0, [sp, 0x4]
- ldr r2, [sp, 0x18]
- str r2, [sp, 0x8]
- movs r0, 0
- adds r2, r6, 0
- bl Log
- movs r2, 0
- movs r3, 0x2
- ldrsh r1, [r5, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A81F0
- movs r2, 0x1
-_080A81F0:
- str r2, [sp, 0x20]
- strh r6, [r5]
- add r0, sp, 0xC
- ldrh r0, [r0]
- strh r0, [r5, 0x2]
- mov r4, sp
- ldrh r4, [r4, 0x14]
- strh r4, [r5, 0x4]
- mov r0, sp
- ldrb r0, [r0, 0x18]
- strb r0, [r5, 0x6]
- mov r1, r9
- ldrh r0, [r1]
- strh r0, [r5, 0x8]
- movs r2, 0x90
- lsls r2, 1
- adds r4, r5, r2
- adds r0, r4, 0
- bl sub_809CD68
- movs r0, 0x9
- str r0, [r4]
- ldr r3, [sp, 0x1C]
- ldrh r0, [r3]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bhi _080A82D8
- lsls r0, 2
- ldr r1, _080A823C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A8234: .4byte gUnknown_3001B84
-_080A8238: .4byte gUnknown_811811C
-_080A823C: .4byte _080A8240
- .align 2, 0
-_080A8240:
- .4byte _080A8268
- .4byte _080A8280
- .4byte _080A8290
- .4byte _080A82D8
- .4byte _080A82D8
- .4byte _080A8298
- .4byte _080A82A8
- .4byte _080A82B4
- .4byte _080A82BE
- .4byte _080A82CA
-_080A8268:
- movs r4, 0x8E
- lsls r4, 1
- adds r1, r5, r4
- ldr r0, _080A827C
- str r0, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x1
- b _080A82E0
- .align 2, 0
-_080A827C: .4byte 0x2300181d
-_080A8280:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- ldr r0, _080A828C
- b _080A82E0
- .align 2, 0
-_080A828C: .4byte 0x23001000
-_080A8290:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- b _080A82DE
-_080A8298:
- movs r4, 0x8E
- lsls r4, 1
- adds r1, r5, r4
- ldr r0, _080A82A4
- b _080A82E0
- .align 2, 0
-_080A82A4: .4byte 0x2000000d
-_080A82A8:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x80
- lsls r0, 10
- b _080A82E0
-_080A82B4:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0
- b _080A82E0
-_080A82BE:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0xC0
- lsls r0, 12
- b _080A82E0
-_080A82CA:
- movs r4, 0x8E
- lsls r4, 1
- adds r1, r5, r4
- ldr r0, _080A82D4
- b _080A82E0
- .align 2, 0
-_080A82D4: .4byte 0x20010000
-_080A82D8:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
-_080A82DE:
- ldr r0, _080A83DC
-_080A82E0:
- str r0, [r1]
- ldr r2, [sp, 0x1C]
- ldrb r1, [r2, 0x8]
- lsls r1, 11
- str r1, [r5, 0xC]
- ldrb r0, [r2, 0x9]
- lsls r0, 11
- str r0, [r5, 0x10]
- lsrs r1, 1
- str r1, [r5, 0x14]
- lsrs r0, 1
- str r0, [r5, 0x18]
- ldr r3, [sp, 0x10]
- ldrb r0, [r3, 0x1]
- strb r0, [r5, 0x1C]
- adds r2, r3, 0
- adds r2, 0x4
- adds r4, r5, 0
- adds r4, 0x20
- ldrb r1, [r2, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080A8328
- ldrb r0, [r3, 0x4]
- lsls r3, r0, 11
- str r3, [r5, 0x20]
- ldrb r1, [r2, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A8328
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r5, 0x20]
-_080A8328:
- ldrb r1, [r2, 0x3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080A834A
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 11
- str r3, [r4, 0x4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A834A
- movs r2, 0x80
- lsls r2, 3
- adds r0, r3, r2
- str r0, [r4, 0x4]
-_080A834A:
- ldr r3, [sp, 0x20]
- cmp r3, 0
- beq _080A83EC
- ldrb r0, [r5, 0x1C]
- movs r4, 0xA1
- lsls r4, 1
- adds r1, r5, r4
- movs r3, 0
- strb r0, [r1]
- movs r0, 0xA2
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- subs r0, r1
- str r0, [r2]
- movs r1, 0xA6
- lsls r1, 1
- adds r2, r5, r1
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- adds r0, r1
- str r0, [r2]
- adds r4, 0x6
- adds r2, r5, r4
- ldr r0, [r5, 0x24]
- ldr r1, [r5, 0x18]
- subs r0, r1
- str r0, [r2]
- movs r0, 0xA8
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [r5, 0x24]
- ldr r1, [r5, 0x18]
- adds r0, r1
- str r0, [r2]
- movs r2, 0xAA
- lsls r2, 1
- adds r1, r5, r2
- adds r4, 0x10
- adds r0, r5, r4
- str r3, [r0]
- str r3, [r1]
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r5, r1
- strh r7, [r0]
- ldr r1, _080A83E0
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0x1
- negs r0, r0
- str r0, [r1, 0x8]
- str r3, [r1]
- str r3, [r1, 0x4]
- ldrh r0, [r5, 0x2]
- subs r0, 0xE
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF
- bhi _080A83E4
- movs r0, 0x12
- bl OtherRandomCapped
- movs r2, 0xA0
- lsls r2, 1
- adds r1, r5, r2
- strh r0, [r1]
- b _080A83EC
- .align 2, 0
-_080A83DC: .4byte 0x2300068d
-_080A83E0: .4byte gUnknown_3001B80
-_080A83E4:
- movs r4, 0xA0
- lsls r4, 1
- adds r0, r5, r4
- strh r3, [r0]
-_080A83EC:
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 4
- ands r0, r1
- cmp r0, 0
- beq _080A8418
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r5, r2
- movs r3, 0xA6
- lsls r3, 1
- adds r2, r5, r3
- movs r0, 0x20
- bl sub_80ADCA0
- movs r4, 0x9F
- lsls r4, 1
- adds r1, r5, r4
- b _080A8420
-_080A8418:
- movs r0, 0x9F
- lsls r0, 1
- adds r1, r5, r0
- ldr r0, _080A849C
-_080A8420:
- strh r0, [r1]
- adds r0, r5, 0
- adds r0, 0x28
- adds r1, r5, 0
- adds r1, 0x30
- bl sub_80A5778
- ldr r1, [sp, 0x20]
- cmp r1, 0
- beq _080A84AC
- ldr r2, _080A84A0
- adds r1, r5, r2
- movs r0, 0xFF
- strb r0, [r1]
- movs r3, 0xAF
- lsls r3, 1
- adds r1, r5, r3
- movs r3, 0
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r1]
- movs r4, 0xB0
- lsls r4, 1
- adds r1, r5, r4
- movs r2, 0x1
- movs r0, 0x1
- strh r0, [r1]
- movs r1, 0xB2
- lsls r1, 1
- adds r0, r5, r1
- str r3, [r0]
- adds r4, 0x8
- adds r1, r5, r4
- ldr r0, _080A84A4
- strh r0, [r1]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r5, r1
- strb r2, [r0]
- movs r2, 0xB5
- lsls r2, 1
- adds r0, r5, r2
- strh r3, [r0]
- movs r3, 0xB8
- lsls r3, 1
- adds r0, r5, r3
- movs r4, 0x2
- ldrsh r1, [r5, r4]
- movs r3, 0x8
- ldrsh r2, [r5, r3]
- movs r4, 0x8E
- lsls r4, 1
- adds r3, r5, r4
- ldr r3, [r3]
- bl sub_80A7428
- adds r4, r5, 0
- adds r4, 0x38
- ldr r1, _080A84A8
- ldr r0, [sp, 0x18]
- str r0, [sp]
- b _080A855C
- .align 2, 0
-_080A849C: .4byte 0x0000ffff
-_080A84A0: .4byte 0x0000015d
-_080A84A4: .4byte 0x00000807
-_080A84A8: .4byte gUnknown_8117F10
-_080A84AC:
- adds r4, r5, 0
- adds r4, 0x38
- ldr r0, _080A84F0
- ldr r1, [r0]
- movs r2, 0xCB
- lsls r2, 2
- adds r1, r2
- adds r0, r4, 0
- bl sub_809D684
- lsls r0, 24
- cmp r0, 0
- beq _080A8550
- adds r0, r5, 0
- adds r0, 0xBE
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- beq _080A84F4
- adds r0, r5, 0
- adds r0, 0xE0
- ldrh r0, [r0]
- mov r10, r0
- adds r0, r5, 0
- adds r0, 0xE2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- mov r9, r0
- adds r7, r5, 0
- adds r7, 0x80
- movs r0, 0x82
- adds r0, r5
- b _080A8508
- .align 2, 0
-_080A84F0: .4byte gUnknown_3001B80
-_080A84F4:
- adds r1, r5, 0
- adds r1, 0x80
- ldrh r2, [r1]
- mov r10, r2
- adds r0, r5, 0
- adds r0, 0x82
- movs r3, 0
- ldrsb r3, [r0, r3]
- mov r9, r3
- adds r7, r1, 0
-_080A8508:
- mov r8, r0
- adds r0, r4, 0
- bl sub_809D648
- ldr r1, _080A8544
- ldr r0, [sp, 0x18]
- str r0, [sp]
- adds r0, r4, 0
- adds r2, r5, 0
- ldr r3, [sp, 0x14]
- bl sub_809D600
- ldr r0, _080A8548
- ldr r2, [r0]
- movs r1, 0xCB
- lsls r1, 2
- adds r2, r1
- ldr r3, _080A854C
- adds r0, r4, 0
- movs r1, 0
- bl GroundScript_ExecutePP
- mov r2, r10
- strh r2, [r7]
- mov r0, r9
- mov r3, r8
- strb r0, [r3]
- movs r1, 0x1
- mov r8, r1
- b _080A8566
- .align 2, 0
-_080A8544: .4byte gUnknown_8117F10
-_080A8548: .4byte gUnknown_3001B80
-_080A854C: .4byte gUnknown_8118170
-_080A8550:
- adds r0, r4, 0
- bl sub_809D648
- ldr r1, _080A861C
- ldr r2, [sp, 0x18]
- str r2, [sp]
-_080A855C:
- adds r0, r4, 0
- adds r2, r5, 0
- ldr r3, [sp, 0x14]
- bl sub_809D600
-_080A8566:
- ldr r3, [sp, 0x10]
- ldr r2, [r3, 0xC]
- cmp r2, 0
- bne _080A8574
- ldr r0, _080A8620
- adds r0, 0xEC
- ldr r2, [r0]
-_080A8574:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_809D6D8
- ldr r0, [sp, 0x10]
- ldr r2, [r0, 0x10]
- cmp r2, 0
- bne _080A8588
- ldr r0, _080A8620
- ldr r2, [r0, 0x38]
-_080A8588:
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_809D6D8
- ldr r1, [sp, 0x10]
- ldr r2, [r1, 0x14]
- cmp r2, 0
- bne _080A859C
- ldr r0, _080A8620
- ldr r2, [r0, 0x50]
-_080A859C:
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_809D6D8
- ldr r3, [sp, 0x10]
- ldr r2, [r3, 0x8]
- cmp r2, 0
- beq _080A8630
- adds r0, r4, 0
- movs r1, 0
- bl sub_809D6D8
- ldr r0, [sp, 0x20]
- cmp r0, 0
- bne _080A860C
- mov r1, r8
- cmp r1, 0
- bne _080A860C
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r5, r2
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- bne _080A860C
- ldr r0, _080A8624
- ldr r2, [r0]
- movs r3, 0xCB
- lsls r3, 2
- adds r2, r3
- ldr r3, _080A8628
- adds r0, r4, 0
- movs r1, 0
- bl GroundScript_ExecutePP
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r5, r1
- movs r2, 0xAF
- lsls r2, 1
- adds r1, r5, r2
- ldrh r0, [r0]
- ldrh r1, [r1]
- orrs r0, r1
- adds r1, r5, 0
- adds r1, 0x80
- strh r0, [r1]
- movs r3, 0xA1
- lsls r3, 1
- adds r0, r5, r3
- ldrb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x82
- strb r1, [r0]
-_080A860C:
- ldr r3, _080A862C
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl sub_809D8C0
- b _080A865A
- .align 2, 0
-_080A861C: .4byte gUnknown_8117F10
-_080A8620: .4byte gUnknown_812F1F8
-_080A8624: .4byte gUnknown_3001B80
-_080A8628: .4byte gUnknown_811817C
-_080A862C: .4byte gUnknown_8118188
-_080A8630:
- mov r4, r8
- cmp r4, 0
- beq _080A865A
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0x82
- ldrb r0, [r0]
- movs r2, 0xA1
- lsls r2, 1
- adds r1, r5, r2
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0x80
- ldrh r1, [r0]
- adds r0, r5, 0
- bl sub_80A9750
-_080A865A:
- ldr r3, [sp, 0x1C]
- movs r4, 0
- ldrsh r0, [r3, r4]
- cmp r0, 0x1
- bne _080A8672
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _080A8672
- movs r0, 0x1
- adds r1, r6, 0
- bl sub_809D170
-_080A8672:
- adds r0, r6, 0
-_080A8674:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GroundLives_Add
-
- thumb_func_start GroundLives_Delete
-GroundLives_Delete:
- push {r4,lr}
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- ldr r1, _080A86BC
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r4, r1, r0
- ldr r1, _080A86C0
- movs r0, 0
- bl Log
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r4, r1
- bl sub_80A74E4
- adds r0, r4, 0
- adds r0, 0x38
- bl sub_809D648
- ldr r0, _080A86C4
- strh r0, [r4, 0x2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A86BC: .4byte gUnknown_3001B84
-_080A86C0: .4byte gUnknown_8118194
-_080A86C4: .4byte 0x0000ffff
- thumb_func_end GroundLives_Delete
-
- thumb_func_start sub_80A86C8
-sub_80A86C8:
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8708
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r4, r0, r1
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r3, 0x1
- negs r3, r3
- cmp r0, r3
- beq _080A8744
- movs r2, 0x9E
- lsls r2, 1
- adds r1, r4, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080A870C
- movs r0, 0xC0
- lsls r0, 6
- ands r0, r5
- cmp r0, 0
- beq _080A872E
- bl sub_80AB5A4
- b _080A872E
- .align 2, 0
-_080A8708: .4byte gUnknown_3001B84
-_080A870C:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r5
- cmp r0, 0
- beq _080A872E
- ldr r2, _080A874C
- movs r0, 0
- ldrsh r1, [r1, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, [r2]
- adds r1, r0
- str r3, [r1, 0x8]
- movs r0, 0
- str r0, [r1]
- str r0, [r1, 0x4]
-_080A872E:
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, [r0]
- orrs r1, r5
- str r1, [r0]
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r4, r2
- bl sub_80A6688
-_080A8744:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A874C: .4byte gUnknown_3001B80
- thumb_func_end sub_80A86C8
-
- thumb_func_start sub_80A8750
-sub_80A8750:
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A87A8
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r4, r0, r1
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A87A2
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r4, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _080A878C
- movs r0, 0xC0
- lsls r0, 6
- ands r0, r5
- cmp r0, 0
- beq _080A878C
- bl sub_80AB5A4
-_080A878C:
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, [r0]
- bics r1, r5
- str r1, [r0]
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r4, r2
- bl sub_80A6688
-_080A87A2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A87A8: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8750
-
- thumb_func_start sub_80A87AC
-sub_80A87AC:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A87DC
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A87D8
- movs r1, 0x90
- lsls r1, 1
- adds r0, r2, r1
- adds r1, r3, 0
- bl sub_809CD8C
-_080A87D8:
- pop {r0}
- bx r0
- .align 2, 0
-_080A87DC: .4byte gUnknown_3001B84
- thumb_func_end sub_80A87AC
-
- thumb_func_start sub_80A87E0
-sub_80A87E0:
- push {r4,lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8820
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r4, r0, r1
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A8824
- movs r0, 0x7
- movs r1, 0
- adds r2, r3, 0
- bl sub_809B1C0
- lsls r0, 24
- cmp r0, 0
- beq _080A8824
- movs r1, 0x90
- lsls r1, 1
- adds r0, r4, r1
- movs r1, 0x5
- bl sub_809CD8C
- movs r0, 0x1
- b _080A8826
- .align 2, 0
-_080A8820: .4byte gUnknown_3001B84
-_080A8824:
- movs r0, 0
-_080A8826:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A87E0
-
- thumb_func_start sub_80A882C
-sub_80A882C:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8850
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A8854
- movs r0, 0
- b _080A8858
- .align 2, 0
-_080A8850: .4byte gUnknown_3001B84
-_080A8854:
- adds r0, r2, 0
- adds r0, 0x38
-_080A8858:
- pop {r1}
- bx r1
- thumb_func_end sub_80A882C
-
- thumb_func_start sub_80A885C
-sub_80A885C:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- lsls r2, 16
- asrs r3, r2, 16
- ldr r2, _080A8884
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A8888
- movs r0, 0
- b _080A8898
- .align 2, 0
-_080A8884: .4byte gUnknown_3001B84
-_080A8888:
- adds r0, r2, 0
- adds r0, 0x38
- adds r1, r4, 0
- adds r2, r3, 0
- bl sub_809D6E4
- lsls r0, 24
- lsrs r0, 24
-_080A8898:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A885C
-
- thumb_func_start sub_80A88A0
-sub_80A88A0:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A88C4
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A88C8
- movs r0, 0
- b _080A88D4
- .align 2, 0
-_080A88C4: .4byte gUnknown_3001B84
-_080A88C8:
- adds r0, r2, 0
- adds r0, 0x38
- bl sub_809D678
- lsls r0, 24
- lsrs r0, 24
-_080A88D4:
- pop {r1}
- bx r1
- thumb_func_end sub_80A88A0
-
- thumb_func_start GroundLives_ExecuteScript
-GroundLives_ExecuteScript:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- asrs r4, 16
- ldr r1, _080A8914
- lsls r0, r4, 5
- subs r0, r4
- lsls r0, 4
- ldr r1, [r1]
- adds r5, r1, r0
- ldr r1, _080A8918
- movs r0, 0x2
- ldrsh r3, [r5, r0]
- str r6, [sp]
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A891C
- movs r0, 0
- b _080A8934
- .align 2, 0
-_080A8914: .4byte gUnknown_3001B84
-_080A8918: .4byte gUnknown_81181B0
-_080A891C:
- adds r0, r5, 0
- adds r0, 0x38
- ldr r3, _080A893C
- adds r1, r7, 0
- adds r2, r6, 0
- bl GroundScript_ExecutePP
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_080A8934:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A893C: .4byte gUnknown_81181F4
- thumb_func_end GroundLives_ExecuteScript
-
- thumb_func_start _ExecutePlayerScript
-_ExecutePlayerScript:
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- movs r0, 0xAF
- lsls r0, 1
- adds r1, r3, r0
- movs r2, 0
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r1]
- movs r0, 0xB0
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x1
- strh r0, [r1]
- movs r1, 0xB2
- lsls r1, 1
- adds r0, r3, r1
- str r2, [r0]
- movs r0, 0xB4
- lsls r0, 1
- adds r2, r3, r0
- movs r1, 0
- ldrsh r0, [r2, r1]
- ldr r1, _080A898C
- cmp r0, r1
- beq _080A8984
- strh r1, [r2]
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x1
- strb r0, [r1]
-_080A8984:
- cmp r4, 0
- bne _080A8990
- movs r0, 0
- b _080A89A2
- .align 2, 0
-_080A898C: .4byte 0x00000807
-_080A8990:
- adds r0, r3, 0
- adds r0, 0x38
- ldr r3, _080A89A8
- adds r1, r5, 0
- adds r2, r4, 0
- bl GroundScript_ExecutePP
- lsls r0, 24
- lsrs r0, 24
-_080A89A2:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A89A8: .4byte gUnknown_8118218
- thumb_func_end _ExecutePlayerScript
-
- thumb_func_start sub_80A89AC
-sub_80A89AC:
- push {r4,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r4, _080A89CC
- lsls r3, r0, 5
- subs r3, r0
- lsls r3, 4
- ldr r0, [r4]
- adds r0, r3
- bl _ExecutePlayerScript
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A89CC: .4byte gUnknown_3001B84
- thumb_func_end sub_80A89AC
-
- thumb_func_start GroundLives_ExecutePlayerScriptActionLives
-GroundLives_ExecutePlayerScriptActionLives:
- push {r4-r6,lr}
- sub sp, 0x10
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- cmp r2, 0
- blt _080A8A50
- cmp r4, 0
- blt _080A8A50
- ldr r1, _080A8A48
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r5, r1, r0
- lsls r0, r4, 5
- subs r0, r4
- lsls r0, 4
- adds r1, r0
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- movs r2, 0x1
- negs r2, r2
- cmp r0, r2
- beq _080A8A50
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- cmp r0, r2
- beq _080A8A50
- adds r6, r1, 0
- adds r6, 0x38
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x2
- bl sub_809D6E4
- lsls r0, 24
- cmp r0, 0
- beq _080A8A50
- movs r1, 0x1
- lsls r0, r4, 16
- orrs r0, r1
- str r0, [sp, 0xC]
- adds r1, r5, 0
- adds r1, 0x40
- ldr r3, _080A8A4C
- adds r0, r6, 0
- movs r2, 0x3
- bl sub_809D8C0
- add r1, sp, 0xC
- adds r0, r5, 0
- mov r2, sp
- bl _ExecutePlayerScript
- lsls r0, 24
- lsrs r0, 24
- b _080A8A52
- .align 2, 0
-_080A8A48: .4byte gUnknown_3001B84
-_080A8A4C: .4byte gUnknown_8118250
-_080A8A50:
- movs r0, 0
-_080A8A52:
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GroundLives_ExecutePlayerScriptActionLives
-
- thumb_func_start sub_80A8A5C
-sub_80A8A5C:
- push {r4-r6,lr}
- sub sp, 0x1C
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r5, r1, 16
- cmp r2, 0
- blt _080A8AC0
- cmp r5, 0
- blt _080A8AC0
- ldr r1, _080A8ABC
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r6, r1, r0
- adds r0, r5, 0
- mov r1, sp
- movs r2, 0x2
- bl sub_80AC274
- lsls r0, 24
- cmp r0, 0
- beq _080A8AC0
- movs r1, 0x2
- lsls r0, r5, 16
- orrs r0, r1
- str r0, [sp, 0x18]
- add r4, sp, 0xC
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x3
- bl sub_80AC274
- adds r1, r6, 0
- adds r1, 0x40
- adds r0, r5, 0
- adds r2, r4, 0
- bl GroundObject_ExecuteScript
- add r1, sp, 0x18
- adds r0, r6, 0
- mov r2, sp
- bl _ExecutePlayerScript
- lsls r0, 24
- lsrs r0, 24
- b _080A8AC2
- .align 2, 0
-_080A8ABC: .4byte gUnknown_3001B84
-_080A8AC0:
- movs r0, 0
-_080A8AC2:
- add sp, 0x1C
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8A5C
-
- thumb_func_start sub_80A8ACC
-sub_80A8ACC:
- push {r4,lr}
- sub sp, 0xC
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r3, r1, 16
- cmp r2, 0
- blt _080A8B10
- cmp r3, 0
- blt _080A8B10
- ldr r1, _080A8B0C
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r4, r1, r0
- adds r0, r3, 0
- mov r1, sp
- bl sub_80ADC64
- lsls r0, 24
- cmp r0, 0
- beq _080A8B10
- adds r0, r4, 0
- movs r1, 0
- mov r2, sp
- bl _ExecutePlayerScript
- lsls r0, 24
- lsrs r0, 24
- b _080A8B12
- .align 2, 0
-_080A8B0C: .4byte gUnknown_3001B84
-_080A8B10:
- movs r0, 0
-_080A8B12:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8ACC
-
- thumb_func_start sub_80A8B1C
-sub_80A8B1C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- ldr r0, _080A8B70
- ldr r4, [r0]
- movs r5, 0
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080A8B36:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, r8
- beq _080A8B4E
- adds r0, r4, 0
- adds r0, 0x38
- adds r1, r7, 0
- bl sub_809D968
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080A8B4E:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r0, 16
- movs r1, 0xF8
- lsls r1, 1
- adds r4, r1
- cmp r0, 0x17
- ble _080A8B36
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A8B70: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8B1C
-
- thumb_func_start sub_80A8B74
-sub_80A8B74:
- push {r4-r7,lr}
- ldr r0, _080A8BB8
- ldr r4, [r0]
- movs r5, 0
- movs r7, 0x1
- negs r7, r7
- movs r6, 0x80
- lsls r6, 9
-_080A8B84:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, r7
- beq _080A8B9A
- adds r0, r4, 0
- adds r0, 0x38
- bl sub_809D92C
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080A8B9A:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r0, 16
- movs r1, 0xF8
- lsls r1, 1
- adds r4, r1
- cmp r0, 0x17
- ble _080A8B84
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A8BB8: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8B74
-
- thumb_func_start sub_80A8BBC
-sub_80A8BBC:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8BD4
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A8BD4: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8BBC
-
- thumb_func_start sub_80A8BD8
-sub_80A8BD8:
- lsls r0, 16
- asrs r0, 16
- ldr r3, _080A8BF8
- lsls r2, r0, 5
- subs r2, r0
- lsls r2, 4
- ldr r0, [r3]
- adds r0, r2
- movs r3, 0x8E
- lsls r3, 1
- adds r2, r0, r3
- ldr r2, [r2]
- str r2, [r1]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A8BF8: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8BD8
-
- thumb_func_start sub_80A8BFC
-sub_80A8BFC:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8C20
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A8C24
- movs r0, 0
- b _080A8C28
- .align 2, 0
-_080A8C20: .4byte gUnknown_3001B84
-_080A8C24:
- movs r1, 0x8
- ldrsh r0, [r2, r1]
-_080A8C28:
- pop {r1}
- bx r1
- thumb_func_end sub_80A8BFC
-
- thumb_func_start sub_80A8C2C
-sub_80A8C2C:
- push {r4,lr}
- sub sp, 0x4
- mov r1, sp
- strh r0, [r1]
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A7DDC
- movs r1, 0
- ldrsh r0, [r4, r1]
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8C2C
-
- thumb_func_start sub_80A8C4C
-sub_80A8C4C:
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8C80
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r4, r0, r1
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A8C90
- adds r0, r1, 0
- bl sub_80A8D54
- adds r1, r0, 0
- cmp r1, 0
- beq _080A8C84
- ldr r0, [r1, 0x4]
- str r0, [r5]
- b _080A8C8A
- .align 2, 0
-_080A8C80: .4byte gUnknown_3001B84
-_080A8C84:
- movs r0, 0x63
- strb r0, [r5]
- strb r1, [r5, 0x1]
-_080A8C8A:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- b _080A8C92
-_080A8C90:
- movs r0, 0
-_080A8C92:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8C4C
-
- thumb_func_start sub_80A8C98
-sub_80A8C98:
- push {r4,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8CD4
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r3, r0, r1
- movs r0, 0x2
- ldrsh r1, [r3, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A8CE8
- ldr r1, _080A8CD8
- ldrh r2, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _080A8CE8
- movs r0, 0x8
- ldrsh r3, [r3, r0]
-_080A8CC6:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, r3
- bne _080A8CDC
- movs r0, 0x1
- b _080A8CEA
- .align 2, 0
-_080A8CD4: .4byte gUnknown_3001B84
-_080A8CD8: .4byte gUnknown_8117FCE
-_080A8CDC:
- adds r1, 0x2
- ldrh r2, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bne _080A8CC6
-_080A8CE8:
- movs r0, 0
-_080A8CEA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8C98
-
- thumb_func_start sub_80A8CF0
-sub_80A8CF0:
- push {r4,lr}
- lsls r0, 16
- asrs r3, r0, 16
- ldr r1, _080A8CFC
- b _080A8D0E
- .align 2, 0
-_080A8CFC: .4byte gUnknown_8117FCE
-_080A8D00:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, r3
- bne _080A8D0C
- movs r0, 0x1
- b _080A8D1A
-_080A8D0C:
- adds r1, 0x2
-_080A8D0E:
- ldrh r2, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bne _080A8D00
- movs r0, 0
-_080A8D1A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8CF0
-
- thumb_func_start sub_80A8D20
-sub_80A8D20:
- push {lr}
- movs r0, 0
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8D50
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x90
- lsls r1, 1
- adds r0, r1
- bl sub_809CDB8
- movs r1, 0
- cmp r0, 0x1
- bne _080A8D4A
- movs r1, 0x1
-_080A8D4A:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A8D50: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8D20
-
- thumb_func_start sub_80A8D54
-sub_80A8D54:
- push {r4,r5,lr}
- sub sp, 0x14
- mov r1, sp
- strh r0, [r1]
- mov r0, sp
- bl sub_80A7B94
- mov r0, sp
- ldrh r1, [r0]
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x1
- beq _080A8D76
- cmp r0, 0x6
- beq _080A8D76
- cmp r0, 0x21
- bne _080A8D7C
-_080A8D76:
- bl sub_808D3BC
- b _080A8E94
-_080A8D7C:
- cmp r0, 0x2
- beq _080A8D88
- cmp r0, 0x7
- beq _080A8D88
- cmp r0, 0x22
- bne _080A8D8E
-_080A8D88:
- bl sub_808D3F8
- b _080A8E94
-_080A8D8E:
- cmp r0, 0x3
- beq _080A8D9A
- cmp r0, 0x8
- beq _080A8D9A
- cmp r0, 0x23
- bne _080A8DA0
-_080A8D9A:
- bl sub_808D33C
- b _080A8E94
-_080A8DA0:
- adds r0, r1, 0
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bhi _080A8DF8
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r5, r0, 0
- subs r5, 0xA
- bl sub_8098F88
- lsls r0, 24
- cmp r0, 0
- bne _080A8E92
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A8DD6
- add r4, sp, 0x4
- adds r0, r4, 0
- bl sub_808D6A4
- b _080A8DDE
-_080A8DD6:
- add r4, sp, 0x4
- adds r0, r4, 0
- bl sub_808D654
-_080A8DDE:
- cmp r5, r0
- bge _080A8E92
- ldr r2, _080A8DF4
- lsls r0, r5, 2
- adds r0, r4, r0
- ldr r1, [r0]
- movs r0, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- b _080A8E94
- .align 2, 0
-_080A8DF4: .4byte gUnknown_203B45C
-_080A8DF8:
- adds r0, r1, 0
- subs r0, 0xE
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF
- bhi _080A8E92
- movs r0, 0
- movs r1, 0x10
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080A8E92
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r5, r0, 0
- subs r5, 0xE
- add r4, sp, 0x4
- adds r0, r1, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r5, r0
- bge _080A8E92
- ldr r2, _080A8E6C
- ldr r0, [r4, 0x8]
- adds r0, r5
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A8E70
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A8E92
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _080A8E92
- adds r0, r4, 0
- b _080A8E94
- .align 2, 0
-_080A8E6C: .4byte gUnknown_203B45C
-_080A8E70:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A8E92
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _080A8E92
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _080A8E8A
- movs r1, 0x1
-_080A8E8A:
- cmp r1, 0
- bne _080A8E92
- adds r0, r4, 0
- b _080A8E94
-_080A8E92:
- movs r0, 0
-_080A8E94:
- add sp, 0x14
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8D54
-
- thumb_func_start sub_80A8E9C
-sub_80A8E9C:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8EBC
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_80A8D54
- pop {r1}
- bx r1
- .align 2, 0
-_080A8EBC: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8E9C
-
- thumb_func_start sub_80A8EC0
-sub_80A8EC0:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- mov r0, sp
- strh r1, [r0]
- mov r5, sp
- adds r5, 0x2
- adds r1, r5, 0
- bl sub_80A7DDC
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80A8D54
- cmp r0, 0
- beq _080A8EF0
- adds r1, r0, 0
- adds r1, 0x4C
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_80922B4
- b _080A8F44
-_080A8EF0:
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, 0x20
- bne _080A8F00
- movs r0, 0
- ldrsh r1, [r5, r0]
- b _080A8F34
-_080A8F00:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A8F3C
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _080A8F2C
- adds r0, r1
- cmp r2, 0x34
- beq _080A8F20
- cmp r2, 0x64
- bne _080A8F30
-_080A8F20:
- ldr r1, [r0, 0x4]
- adds r0, r4, 0
- bl strcpy
- b _080A8F44
- .align 2, 0
-_080A8F2C: .4byte gUnknown_811E63C
-_080A8F30:
- movs r2, 0x2
- ldrsh r1, [r0, r2]
-_080A8F34:
- adds r0, r4, 0
- bl sub_808D8BC
- b _080A8F44
-_080A8F3C:
- ldr r1, _080A8F4C
- adds r0, r4, 0
- bl strcpy
-_080A8F44:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8F4C: .4byte gUnknown_811825C
- thumb_func_end sub_80A8EC0
-
- thumb_func_start sub_80A8F50
-sub_80A8F50:
- push {r4,r5,lr}
- sub sp, 0x80
- adds r4, r0, 0
- adds r5, r2, 0
- lsls r1, 16
- asrs r1, 16
- mov r0, sp
- bl sub_80A8EC0
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- bl sub_8092310
- add sp, 0x80
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A8F50
-
- thumb_func_start sub_80A8F74
-sub_80A8F74:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8F98
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- adds r0, r3, 0
- bl sub_80A8EC0
- pop {r0}
- bx r0
- .align 2, 0
-_080A8F98: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8F74
-
- thumb_func_start sub_80A8F9C
-sub_80A8F9C:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8FC4
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A8FC8
- movs r0, 0
- str r0, [r3]
- str r0, [r3, 0x4]
- b _080A8FD0
- .align 2, 0
-_080A8FC4: .4byte gUnknown_3001B84
-_080A8FC8:
- ldr r0, [r2, 0xC]
- ldr r1, [r2, 0x10]
- str r0, [r3]
- str r1, [r3, 0x4]
-_080A8FD0:
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80A8F9C
-
- thumb_func_start sub_80A8FD8
-sub_80A8FD8:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A9000
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A9004
- movs r0, 0
- str r0, [r3]
- b _080A901E
- .align 2, 0
-_080A9000: .4byte gUnknown_3001B84
-_080A9004:
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r2, 0x14]
- adds r0, r1
- str r0, [r3]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r2, 0x18]
- adds r0, r1
-_080A901E:
- str r0, [r3, 0x4]
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80A8FD8
-
- thumb_func_start sub_80A9028
-sub_80A9028:
- push {r4,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r3, _080A904C
- lsls r2, r0, 5
- subs r2, r0
- lsls r2, 4
- ldr r4, [r3]
- adds r4, r2
- adds r0, r4, 0
- bl sub_80A9F20
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A904C: .4byte gUnknown_3001B84
- thumb_func_end sub_80A9028
-
- thumb_func_start sub_80A9050
-sub_80A9050:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A9078
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- adds r3, r0, 0
- cmp r1, r0
- bne _080A907C
- strb r3, [r4]
- b _080A9086
- .align 2, 0
-_080A9078: .4byte gUnknown_3001B84
-_080A907C:
- movs r1, 0xA1
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- strb r0, [r4]
-_080A9086:
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9050
-
- thumb_func_start sub_80A9090
-sub_80A9090:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 24
- asrs r3, r1, 24
- ldr r2, _080A90C4
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A90BA
- movs r1, 0xA1
- lsls r1, 1
- adds r0, r2, r1
- strb r3, [r0]
-_080A90BA:
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- .align 2, 0
-_080A90C4: .4byte gUnknown_3001B84
- thumb_func_end sub_80A9090
-
- thumb_func_start sub_80A90C8
-sub_80A90C8:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A90E4
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A90E4: .4byte gUnknown_3001B84
- thumb_func_end sub_80A90C8
-
- thumb_func_start sub_80A90E8
-sub_80A90E8:
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r3, r1, 16
- cmp r2, r3
- beq _080A9196
- ldr r1, _080A916C
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r5, r1, r0
- lsls r0, r3, 5
- subs r0, r3
- lsls r0, 4
- adds r4, r1, r0
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080A9196
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, r1
- beq _080A9196
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r5, r3
- ldr r0, [r0]
- ldr r1, [r5, 0x14]
- adds r0, r1
- str r0, [sp]
- movs r2, 0xA4
- lsls r2, 1
- adds r0, r5, r2
- ldr r0, [r0]
- ldr r1, [r5, 0x18]
- adds r0, r1
- str r0, [sp, 0x4]
- adds r3, r4, r3
- ldr r0, [r3]
- ldr r1, [r4, 0x14]
- adds r0, r1
- str r0, [sp, 0x8]
- adds r2, r4, r2
- ldr r0, [r2]
- ldr r1, [r4, 0x18]
- adds r0, r1
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, 0x24
- bgt _080A9170
- adds r1, r5, 0
- adds r1, 0xC
- adds r3, r4, 0
- adds r3, 0xC
- mov r0, sp
- bl sub_8002DF0
- b _080A917E
- .align 2, 0
-_080A916C: .4byte gUnknown_3001B84
-_080A9170:
- adds r1, r5, 0
- adds r1, 0xC
- adds r3, r4, 0
- adds r3, 0xC
- mov r0, sp
- bl sub_8002D54
-_080A917E:
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A9196
- movs r2, 0xA1
- lsls r2, 1
- adds r0, r5, r2
- strb r1, [r0]
- movs r0, 0x1
- b _080A9198
-_080A9196:
- movs r0, 0
-_080A9198:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A90E8
-
- thumb_func_start sub_80A91A0
-sub_80A91A0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- cmp r2, r4
- beq _080A928E
- ldr r1, _080A9260
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r7, r1, r0
- lsls r0, r4, 5
- subs r0, r4
- lsls r0, 4
- adds r1, r0
- mov r8, r1
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- movs r2, 0x1
- negs r2, r2
- mov r10, r2
- cmp r0, r10
- beq _080A928E
- mov r3, r8
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r0, r10
- beq _080A928E
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r7, r3
- ldr r0, [r0]
- ldr r1, [r7, 0x14]
- adds r0, r1
- str r0, [sp]
- movs r2, 0xA4
- lsls r2, 1
- adds r0, r7, r2
- ldr r0, [r0]
- ldr r1, [r7, 0x18]
- adds r0, r1
- str r0, [sp, 0x4]
- add r3, r8
- ldr r0, [r3]
- mov r3, r8
- ldr r1, [r3, 0x14]
- adds r0, r1
- str r0, [sp, 0x8]
- add r2, r8
- ldr r0, [r2]
- ldr r1, [r3, 0x18]
- adds r0, r1
- add r4, sp, 0x8
- str r0, [r4, 0x4]
- adds r5, r7, 0
- adds r5, 0xC
- mov r6, r8
- adds r6, 0xC
- mov r0, sp
- adds r1, r5, 0
- adds r2, r4, 0
- adds r3, r6, 0
- bl sub_8002DF0
- lsls r0, 24
- asrs r0, 24
- mov r9, r0
- mov r0, sp
- adds r1, r5, 0
- adds r2, r4, 0
- adds r3, r6, 0
- bl sub_8002D54
- lsls r0, 24
- asrs r1, r0, 24
- cmp r9, r10
- beq _080A928E
- cmp r1, r10
- beq _080A928E
- movs r2, 0x2
- ldrsh r0, [r7, r2]
- cmp r0, 0x24
- bgt _080A9264
- movs r3, 0xA1
- lsls r3, 1
- adds r0, r7, r3
- mov r2, r9
- strb r2, [r0]
- b _080A926C
- .align 2, 0
-_080A9260: .4byte gUnknown_3001B84
-_080A9264:
- movs r3, 0xA1
- lsls r3, 1
- adds r0, r7, r3
- strb r1, [r0]
-_080A926C:
- mov r2, r8
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- cmp r0, 0x25
- bgt _080A927A
- mov r0, r9
- b _080A927C
-_080A927A:
- adds r0, r1, 0
-_080A927C:
- movs r1, 0x5
- bl sub_8002984
- movs r1, 0xA1
- lsls r1, 1
- add r1, r8
- strb r0, [r1]
- movs r0, 0x1
- b _080A9290
-_080A928E:
- movs r0, 0
-_080A9290:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A91A0
-
- thumb_func_start sub_80A92A0
-sub_80A92A0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r1
- adds r4, r2, 0
- lsls r0, 16
- asrs r6, r0, 16
- ldr r0, _080A931C
- ldr r0, [r0]
- mov r12, r0
- movs r2, 0
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r5, 0x80
- lsls r5, 9
-_080A92C2:
- cmp r2, r6
- beq _080A9320
- mov r1, r12
- movs r7, 0x2
- ldrsh r0, [r1, r7]
- cmp r0, r8
- beq _080A9320
- movs r0, 0x8E
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- mov r1, r9
- ands r0, r1
- cmp r0, 0
- beq _080A9320
- movs r0, 0xA2
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- ldr r0, [r3]
- cmp r1, r0
- bge _080A9320
- movs r0, 0xA6
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- ldr r0, [r4]
- cmp r1, r0
- ble _080A9320
- movs r0, 0xA4
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- ldr r0, [r3, 0x4]
- cmp r1, r0
- bge _080A9320
- movs r0, 0xA8
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- ldr r0, [r4, 0x4]
- cmp r1, r0
- ble _080A9320
- adds r0, r2, 0
- b _080A9338
- .align 2, 0
-_080A931C: .4byte gUnknown_3001B84
-_080A9320:
- adds r0, r5, 0
- movs r7, 0x80
- lsls r7, 9
- adds r5, r7
- asrs r2, r0, 16
- movs r0, 0xF8
- lsls r0, 1
- add r12, r0
- cmp r2, 0x17
- ble _080A92C2
- movs r0, 0x1
- negs r0, r0
-_080A9338:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A92A0
-
- thumb_func_start sub_80A9344
-sub_80A9344:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r9, r1
- str r2, [sp]
- adds r5, r3, 0
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- ldr r0, _080A93C4
- ldr r0, [r0]
- mov r12, r0
- movs r4, 0
- movs r0, 0x1
- negs r0, r0
- mov r10, r0
- movs r7, 0x80
- lsls r7, 9
-_080A936E:
- cmp r4, r8
- beq _080A93C8
- mov r1, r12
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, r10
- beq _080A93C8
- movs r0, 0x8E
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- mov r6, r9
- ands r0, r6
- cmp r0, 0
- beq _080A93C8
- movs r0, 0xA2
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- mov r6, r12
- ldr r0, [r6, 0x14]
- adds r2, r1, r0
- movs r0, 0xA4
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- ldr r0, [r6, 0x18]
- adds r3, r1, r0
- ldr r0, [r5]
- cmp r2, r0
- bge _080A93C8
- ldr r1, [sp]
- ldr r0, [r1]
- cmp r2, r0
- ble _080A93C8
- ldr r0, [r5, 0x4]
- cmp r3, r0
- bge _080A93C8
- ldr r0, [r1, 0x4]
- cmp r3, r0
- ble _080A93C8
- adds r0, r4, 0
- b _080A93E0
- .align 2, 0
-_080A93C4: .4byte gUnknown_3001B84
-_080A93C8:
- adds r0, r7, 0
- movs r2, 0x80
- lsls r2, 9
- adds r7, r2
- asrs r4, r0, 16
- movs r6, 0xF8
- lsls r6, 1
- add r12, r6
- cmp r4, 0x17
- ble _080A936E
- movs r0, 0x1
- negs r0, r0
-_080A93E0:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9344
-
- thumb_func_start sub_80A93F0
-sub_80A93F0:
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 16
- asrs r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r2, _080A947C
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- mov r12, r0
- movs r0, 0xA2
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- cmp r0, 0
- bge _080A941A
- ldr r1, _080A9480
- adds r0, r1
-_080A941A:
- asrs r5, r0, 11
- str r5, [sp]
- movs r0, 0xA4
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- cmp r0, 0
- bge _080A942E
- ldr r7, _080A9480
- adds r0, r7
-_080A942E:
- asrs r4, r0, 11
- str r4, [sp, 0x4]
- movs r0, 0xA6
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- subs r1, r0, 0x1
- cmp r1, 0
- bge _080A9444
- ldr r7, _080A9484
- adds r1, r0, r7
-_080A9444:
- asrs r2, r1, 11
- movs r0, 0xA8
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- subs r1, r0, 0x1
- cmp r1, 0
- bge _080A9458
- ldr r7, _080A9484
- adds r1, r0, r7
-_080A9458:
- asrs r3, r1, 11
- subs r0, r2, r5
- adds r0, 0x1
- str r0, [sp, 0x8]
- subs r0, r3, r4
- adds r0, 0x1
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- adds r0, r6, 0
- mov r1, sp
- bl sub_80A5934
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x10
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A947C: .4byte gUnknown_3001B84
-_080A9480: .4byte 0x000007ff
-_080A9484: .4byte 0x000007fe
- thumb_func_end sub_80A93F0
-
- thumb_func_start sub_80A9488
-sub_80A9488:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r5, r0, 0
- adds r7, r1, 0
- mov r8, r2
- ldr r0, [r7]
- cmp r0, 0
- bge _080A94A0
- ldr r1, _080A9528
- adds r0, r1
-_080A94A0:
- asrs r0, 11
- mov r12, r0
- str r0, [sp]
- ldr r0, [r7, 0x4]
- cmp r0, 0
- bge _080A94B0
- ldr r3, _080A9528
- adds r0, r3
-_080A94B0:
- asrs r4, r0, 11
- str r4, [sp, 0x4]
- mov r6, r8
- ldr r3, [r6]
- subs r0, r3, 0x1
- cmp r0, 0
- bge _080A94C2
- ldr r6, _080A952C
- adds r0, r3, r6
-_080A94C2:
- asrs r1, r0, 11
- mov r0, r8
- ldr r3, [r0, 0x4]
- subs r0, r3, 0x1
- cmp r0, 0
- bge _080A94D2
- ldr r6, _080A952C
- adds r0, r3, r6
-_080A94D2:
- asrs r2, r0, 11
- mov r3, r12
- subs r0, r1, r3
- adds r0, 0x1
- str r0, [sp, 0x8]
- subs r0, r2, r4
- adds r0, 0x1
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- movs r6, 0x8E
- lsls r6, 1
- adds r0, r5, r6
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- adds r4, r2, 0
- cmp r0, 0
- beq _080A9504
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A585C
- lsls r0, 24
- cmp r0, 0
- bne _080A9522
-_080A9504:
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A9530
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A58C8
- lsls r0, 24
- cmp r0, 0
- beq _080A9530
-_080A9522:
- movs r0, 0x1
- b _080A95A0
- .align 2, 0
-_080A9528: .4byte 0x000007ff
-_080A952C: .4byte 0x000007fe
-_080A9530:
- movs r3, 0x8E
- lsls r3, 1
- adds r0, r5, r3
- ldr r0, [r0]
- movs r1, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080A9556
- movs r6, 0
- ldrsh r0, [r5, r6]
- adds r2, r7, 0
- mov r3, r8
- bl sub_80A92A0
- lsls r0, 16
- cmp r0, 0
- blt _080A9556
- movs r0, 0x4
- b _080A95A0
-_080A9556:
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080A957A
- movs r0, 0x4
- adds r1, r7, 0
- mov r2, r8
- bl sub_80AC4C8
- lsls r0, 16
- cmp r0, 0
- blt _080A957A
- movs r0, 0x8
- b _080A95A0
-_080A957A:
- movs r3, 0x8E
- lsls r3, 1
- adds r0, r5, r3
- ldr r0, [r0]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080A959E
- movs r0, 0x40
- adds r1, r7, 0
- mov r2, r8
- bl sub_80ADCA0
- lsls r0, 16
- cmp r0, 0
- blt _080A959E
- movs r0, 0x10
- b _080A95A0
-_080A959E:
- movs r0, 0
-_080A95A0:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9488
-
- thumb_func_start sub_80A95AC
-sub_80A95AC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- adds r5, r0, 0
- adds r7, r1, 0
- mov r8, r2
- ldr r0, [r7]
- cmp r0, 0
- bge _080A95C6
- ldr r1, _080A96BC
- adds r0, r1
-_080A95C6:
- asrs r0, 11
- mov r9, r0
- str r0, [sp]
- ldr r0, [r7, 0x4]
- cmp r0, 0
- bge _080A95D6
- ldr r2, _080A96BC
- adds r0, r2
-_080A95D6:
- asrs r4, r0, 11
- str r4, [sp, 0x4]
- mov r6, r8
- ldr r3, [r6]
- subs r0, r3, 0x1
- cmp r0, 0
- bge _080A95E8
- ldr r6, _080A96C0
- adds r0, r3, r6
-_080A95E8:
- asrs r1, r0, 11
- mov r0, r8
- ldr r3, [r0, 0x4]
- subs r0, r3, 0x1
- cmp r0, 0
- bge _080A95F8
- ldr r6, _080A96C0
- adds r0, r3, r6
-_080A95F8:
- asrs r2, r0, 11
- mov r3, r9
- subs r0, r1, r3
- adds r0, 0x1
- str r0, [sp, 0x8]
- subs r0, r2, r4
- adds r0, 0x1
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- movs r6, 0x8E
- lsls r6, 1
- adds r0, r5, r6
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- adds r4, r2, 0
- cmp r0, 0
- beq _080A962C
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A585C
- lsls r0, 24
- cmp r0, 0
- beq _080A962C
- b _080A973C
-_080A962C:
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A964A
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A58C8
- lsls r0, 24
- cmp r0, 0
- bne _080A973C
-_080A964A:
- movs r4, 0x8E
- lsls r4, 1
- adds r0, r5, r4
- ldr r0, [r0]
- movs r1, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080A96C8
- movs r2, 0
- ldrsh r0, [r5, r2]
- movs r1, 0x44
- adds r2, r7, 0
- mov r3, r8
- bl sub_80A92A0
- lsls r0, 16
- asrs r2, r0, 16
- mov r9, r2
- cmp r2, 0
- blt _080A96C8
- ldr r1, _080A96C4
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r6, r1, r0
- adds r0, r6, r4
- ldr r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080A973C
- movs r0, 0x80
- lsls r0, 2
- ands r1, r0
- cmp r1, 0
- beq _080A96A8
- adds r4, 0x26
- adds r0, r5, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x5
- bl sub_8002984
- adds r4, r6, r4
- strb r0, [r4]
-_080A96A8:
- movs r3, 0
- ldrsh r0, [r5, r3]
- mov r1, r9
- bl GroundLives_ExecutePlayerScriptActionLives
-_080A96B2:
- lsls r0, 24
- cmp r0, 0
- bne _080A9738
- b _080A973C
- .align 2, 0
-_080A96BC: .4byte 0x000007ff
-_080A96C0: .4byte 0x000007fe
-_080A96C4: .4byte gUnknown_3001B84
-_080A96C8:
- movs r6, 0x8E
- lsls r6, 1
- adds r0, r5, r6
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080A9708
- movs r0, 0x44
- adds r1, r7, 0
- mov r2, r8
- bl sub_80AC4C8
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- blt _080A9708
- add r1, sp, 0x10
- adds r0, r4, 0
- bl sub_80AC3E0
- ldr r0, [sp, 0x10]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080A973C
- movs r1, 0
- ldrsh r0, [r5, r1]
- adds r1, r4, 0
- bl sub_80A8A5C
- b _080A96B2
-_080A9708:
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r5, r2
- ldr r0, [r0]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080A9740
- movs r0, 0x40
- adds r1, r7, 0
- mov r2, r8
- bl sub_80ADCA0
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- blt _080A9740
- movs r3, 0
- ldrsh r0, [r5, r3]
- bl sub_80A8ACC
- lsls r0, 24
- cmp r0, 0
- beq _080A973C
-_080A9738:
- movs r0, 0x2
- b _080A9742
-_080A973C:
- movs r0, 0x1
- b _080A9742
-_080A9740:
- movs r0, 0
-_080A9742:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A95AC
-
- thumb_func_start sub_80A9750
-sub_80A9750:
- push {r4,lr}
- mov r12, r0
- lsls r1, 16
- lsrs r1, 16
- adds r4, r1, 0
- movs r3, 0xFF
- ands r3, r1
- movs r2, 0xF0
- lsls r2, 4
- ands r2, r1
- cmp r3, 0
- beq _080A9770
- movs r0, 0xB0
- lsls r0, 1
- add r0, r12
- strh r3, [r0]
-_080A9770:
- cmp r2, 0
- beq _080A977C
- movs r0, 0xAF
- lsls r0, 1
- add r0, r12
- strh r2, [r0]
-_080A977C:
- movs r2, 0xB0
- lsls r2, 1
- add r2, r12
- ldrh r0, [r2]
- cmp r0, 0x1
- bne _080A97A8
- movs r0, 0x80
- lsls r0, 5
- cmp r1, r0
- beq _080A97B6
- movs r0, 0xB2
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- ldr r2, _080A97A4
- cmp r0, 0
- bgt _080A97A0
- b _080A9E98
-_080A97A0:
- b _080A97C0
- .align 2, 0
-_080A97A4: .4byte 0x00000807
-_080A97A8:
- cmp r0, 0x2
- beq _080A97AE
- b _080A9E8C
-_080A97AE:
- movs r0, 0x80
- lsls r0, 5
- cmp r4, r0
- bne _080A97C6
-_080A97B6:
- movs r1, 0xB2
- lsls r1, 1
- add r1, r12
- movs r0, 0x4
- str r0, [r1]
-_080A97C0:
- movs r2, 0x80
- lsls r2, 4
- b _080A9E98
-_080A97C6:
- movs r0, 0xB2
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- cmp r0, 0
- bgt _080A97C0
- mov r1, r12
- ldrh r0, [r1, 0x8]
- subs r0, 0xC
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, _080A97F0
- cmp r1, r0
- bls _080A97E4
- b _080A9E7E
-_080A97E4:
- lsls r0, r1, 2
- ldr r1, _080A97F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A97F0: .4byte 0x00000197
-_080A97F4: .4byte _080A97F8
- .align 2, 0
-_080A97F8:
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E68
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
-_080A9E58:
- ldr r2, _080A9E5C
- b _080A9E98
- .align 2, 0
-_080A9E5C: .4byte 0x00000807
-_080A9E60:
- ldr r2, _080A9E64
- b _080A9E98
- .align 2, 0
-_080A9E64: .4byte 0x00000307
-_080A9E68:
- movs r0, 0xB4
- lsls r0, 1
- add r0, r12
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r2, _080A9E84
- cmp r1, r2
- beq _080A9E98
- ldr r0, _080A9E88
- cmp r1, r0
- beq _080A9E98
-_080A9E7E:
- movs r2, 0xC0
- lsls r2, 2
- b _080A9E98
- .align 2, 0
-_080A9E84: .4byte 0x00000807
-_080A9E88: .4byte 0x00000307
-_080A9E8C:
- ldr r1, _080A9EC4
- ldrh r0, [r2]
- lsls r0, 1
- adds r0, r1
- movs r4, 0
- ldrsh r2, [r0, r4]
-_080A9E98:
- movs r0, 0xE0
- lsls r0, 3
- ands r0, r2
- cmp r0, 0
- bne _080A9EEE
- movs r0, 0xAF
- lsls r0, 1
- add r0, r12
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 2
- cmp r1, r0
- beq _080A9EEE
- cmp r1, r0
- bgt _080A9EC8
- movs r3, 0x80
- lsls r3, 1
- cmp r1, r3
- beq _080A9EDA
- movs r0, 0x80
- lsls r0, 2
- b _080A9ED4
- .align 2, 0
-_080A9EC4: .4byte gUnknown_8117F64
-_080A9EC8:
- movs r3, 0x80
- lsls r3, 3
- cmp r1, r3
- beq _080A9EDE
- movs r0, 0x80
- lsls r0, 4
-_080A9ED4:
- cmp r1, r0
- beq _080A9EEC
- b _080A9EEE
-_080A9EDA:
- orrs r2, r0
- b _080A9EEE
-_080A9EDE:
- movs r1, 0x80
- lsls r1, 2
- adds r0, r1, 0
- orrs r2, r0
- lsls r0, r2, 16
- asrs r2, r0, 16
- b _080A9EEE
-_080A9EEC:
- orrs r2, r3
-_080A9EEE:
- movs r1, 0xB4
- lsls r1, 1
- add r1, r12
- ldrh r3, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, r2
- beq _080A9F02
- strh r2, [r1]
- b _080A9F0C
-_080A9F02:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r3
- cmp r0, 0
- beq _080A9F16
-_080A9F0C:
- movs r1, 0xAE
- lsls r1, 1
- add r1, r12
- movs r0, 0x1
- strb r0, [r1]
-_080A9F16:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9750
-
- thumb_func_start sub_80A9F20
-sub_80A9F20:
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- ldr r2, [r1]
- ldr r4, [r5, 0x14]
- subs r0, r2, r4
- str r0, [sp]
- ldr r3, [r1, 0x4]
- ldr r1, [r5, 0x18]
- subs r0, r3, r1
- str r0, [sp, 0x4]
- adds r2, r4
- str r2, [sp, 0x8]
- adds r3, r1
- add r2, sp, 0x8
- str r3, [r2, 0x4]
- ldr r1, [r5, 0x28]
- ldr r0, [sp]
- cmp r0, r1
- blt _080A9F5E
- ldr r1, [r5, 0x30]
- ldr r0, [sp, 0x8]
- cmp r0, r1
- bge _080A9F5E
- ldr r1, [r5, 0x2C]
- ldr r0, [sp, 0x4]
- cmp r0, r1
- blt _080A9F5E
- ldr r0, [r5, 0x34]
- cmp r3, r0
- blt _080A9F62
-_080A9F5E:
- movs r0, 0x1
- b _080A9F8C
-_080A9F62:
- adds r0, r5, 0
- mov r1, sp
- bl sub_80A9488
- cmp r0, 0
- bne _080A9F8C
- movs r0, 0xA2
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0xA6
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0xC]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0
-_080A9F8C:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9F20
-
- thumb_func_start sub_80A9F94
-sub_80A9F94:
- push {r4-r6,lr}
- sub sp, 0x10
- adds r4, r0, 0
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r4, r2
- ldr r0, [r0]
- ldr r2, [r1]
- adds r0, r2
- str r0, [sp]
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r4, r3
- ldr r0, [r0]
- ldr r1, [r1, 0x4]
- adds r0, r1
- str r0, [sp, 0x4]
- adds r3, 0x4
- adds r0, r4, r3
- ldr r0, [r0]
- adds r0, r2
- str r0, [sp, 0x8]
- movs r2, 0xA8
- lsls r2, 1
- adds r0, r4, r2
- ldr r0, [r0]
- adds r0, r1
- add r1, sp, 0x8
- str r0, [r1, 0x4]
- movs r6, 0
- ldr r3, [r4, 0x28]
- ldr r0, [sp]
- adds r2, r1, 0
- cmp r0, r3
- bge _080A9FE4
- str r3, [sp]
- ldr r0, [r4, 0xC]
- adds r0, r3, r0
- str r0, [sp, 0x8]
- b _080A9FF4
-_080A9FE4:
- ldr r1, [r4, 0x30]
- ldr r0, [sp, 0x8]
- cmp r0, r1
- blt _080A9FF6
- ldr r0, [r4, 0xC]
- subs r0, r1, r0
- str r0, [sp]
- str r1, [sp, 0x8]
-_080A9FF4:
- movs r6, 0x1
-_080A9FF6:
- ldr r1, [r4, 0x2C]
- ldr r0, [sp, 0x4]
- cmp r0, r1
- bge _080AA008
- str r1, [sp, 0x4]
- ldr r0, [r4, 0x10]
- adds r0, r1, r0
- str r0, [r2, 0x4]
- b _080AA018
-_080AA008:
- ldr r1, [r4, 0x34]
- ldr r0, [r2, 0x4]
- cmp r0, r1
- blt _080AA01A
- ldr r0, [r4, 0x10]
- subs r0, r1, r0
- str r0, [sp, 0x4]
- str r1, [r2, 0x4]
-_080AA018:
- movs r6, 0x1
-_080AA01A:
- adds r0, r4, 0
- mov r1, sp
- bl sub_80A9488
- adds r5, r0, 0
- cmp r5, 0
- beq _080AA034
- adds r0, r4, 0
- movs r1, 0
- bl sub_80AAF68
- adds r0, r5, 0
- b _080AA06A
-_080AA034:
- movs r3, 0xA2
- lsls r3, 1
- adds r2, r4, r3
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0xA6
- lsls r0, 1
- adds r2, r4, r0
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0xC]
- str r0, [r2]
- str r1, [r2, 0x4]
- cmp r6, 0
- bne _080AA060
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80AAF68
- movs r0, 0
- b _080AA06A
-_080AA060:
- adds r0, r4, 0
- movs r1, 0
- bl sub_80AAF68
- movs r0, 0x1
-_080AA06A:
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9F94
-
- thumb_func_start sub_80AA074
-sub_80AA074:
- push {r4-r7,lr}
- sub sp, 0x10
- adds r4, r0, 0
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r4, r2
- ldr r0, [r0]
- ldr r2, [r1]
- adds r0, r2
- str r0, [sp]
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r4, r3
- ldr r0, [r0]
- ldr r1, [r1, 0x4]
- adds r0, r1
- str r0, [sp, 0x4]
- adds r3, 0x4
- adds r0, r4, r3
- ldr r0, [r0]
- adds r0, r2
- str r0, [sp, 0x8]
- movs r2, 0xA8
- lsls r2, 1
- adds r0, r4, r2
- ldr r0, [r0]
- adds r0, r1
- add r1, sp, 0x8
- str r0, [r1, 0x4]
- ldr r3, [r4, 0x28]
- ldr r0, [sp]
- adds r5, r1, 0
- cmp r0, r3
- bge _080AA0C2
- str r3, [sp]
- ldr r0, [r4, 0xC]
- adds r0, r3, r0
- str r0, [sp, 0x8]
- b _080AA0D2
-_080AA0C2:
- ldr r1, [r4, 0x30]
- ldr r0, [sp, 0x8]
- cmp r0, r1
- blt _080AA0D2
- ldr r0, [r4, 0xC]
- subs r0, r1, r0
- str r0, [sp]
- str r1, [sp, 0x8]
-_080AA0D2:
- ldr r1, [r4, 0x2C]
- ldr r0, [sp, 0x4]
- cmp r0, r1
- bge _080AA0E4
- str r1, [sp, 0x4]
- ldr r0, [r4, 0x10]
- adds r0, r1, r0
- str r0, [r5, 0x4]
- b _080AA0F4
-_080AA0E4:
- ldr r1, [r4, 0x34]
- ldr r0, [r5, 0x4]
- cmp r0, r1
- blt _080AA0F4
- ldr r0, [r4, 0x10]
- subs r0, r1, r0
- str r0, [sp, 0x4]
- str r1, [r5, 0x4]
-_080AA0F4:
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- bl sub_80A95AC
- adds r6, r0, 0
- cmp r6, 0
- bne _080AA170
- movs r3, 0xA2
- lsls r3, 1
- adds r2, r4, r3
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0xA6
- lsls r0, 1
- adds r2, r4, r0
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0xC]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080AA170
- movs r0, 0x20
- mov r1, sp
- adds r2, r5, 0
- bl sub_80ADCA0
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0
- blt _080AA166
- movs r2, 0x9F
- lsls r2, 1
- adds r7, r4, r2
- movs r3, 0
- ldrsh r0, [r7, r3]
- cmp r0, r5
- beq _080AA170
- movs r1, 0
- ldrsh r0, [r4, r1]
- adds r1, r5, 0
- bl sub_80A8ACC
- lsls r0, 24
- cmp r0, 0
- beq _080AA170
- strh r5, [r7]
- movs r6, 0x2
- b _080AA170
-_080AA166:
- movs r2, 0x9F
- lsls r2, 1
- adds r1, r4, r2
- ldr r0, _080AA17C
- strh r0, [r1]
-_080AA170:
- adds r0, r6, 0
- add sp, 0x10
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AA17C: .4byte 0x0000ffff
- thumb_func_end sub_80AA074
-
- thumb_func_start sub_80AA180
-sub_80AA180:
- push {r4-r7,lr}
- sub sp, 0x10
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- beq _080AA220
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- bl sub_80A9344
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _080AA220
- mov r1, sp
- bl sub_80A8FD8
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r4, r2
- ldr r1, [r0]
- ldr r0, [r4, 0x14]
- adds r1, r0
- ldr r0, [sp]
- subs r0, r1
- str r0, [sp, 0x8]
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r4, r3
- ldr r0, [r0]
- ldr r1, [r4, 0x18]
- adds r0, r1
- ldr r1, [sp, 0x4]
- subs r1, r0
- add r0, sp, 0x8
- str r1, [r0, 0x4]
- bl sub_8002C60
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AA2B2
- movs r0, 0xA1
- lsls r0, 1
- adds r2, r4, r0
- lsls r0, r1, 24
- lsrs r0, 24
- strb r0, [r2]
- ldr r3, _080AA21C
- adds r1, r4, r3
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- beq _080AA20A
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AA20A:
- movs r1, 0
- ldrsb r1, [r2, r1]
- adds r0, r4, 0
- bl sub_80AA3F8
- lsls r0, 24
- cmp r0, 0
- bne _080AA2AE
- b _080AA2B2
- .align 2, 0
-_080AA21C: .4byte 0x0000015d
-_080AA220:
- movs r0, 0x8
- ands r0, r5
- cmp r0, 0
- beq _080AA2B2
- movs r0, 0x80
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_80AC554
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _080AA2B2
- mov r1, sp
- bl sub_80AC448
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, [r0]
- ldr r0, [r4, 0x14]
- adds r1, r0
- ldr r0, [sp]
- subs r0, r1
- str r0, [sp, 0x8]
- add r0, sp, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r4, r2
- ldr r2, [r1]
- ldr r1, [r4, 0x18]
- adds r2, r1
- ldr r1, [sp, 0x4]
- subs r1, r2
- str r1, [r0, 0x4]
- bl sub_8002C60
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AA2B2
- movs r3, 0xA1
- lsls r3, 1
- adds r2, r4, r3
- lsls r0, r1, 24
- lsrs r0, 24
- strb r0, [r2]
- adds r3, 0x1B
- adds r1, r4, r3
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- beq _080AA29E
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AA29E:
- movs r1, 0
- ldrsb r1, [r2, r1]
- adds r0, r4, 0
- bl sub_80AA3F8
- lsls r0, 24
- cmp r0, 0
- beq _080AA2B2
-_080AA2AE:
- movs r0, 0x3
- b _080AA2B4
-_080AA2B2:
- movs r0, 0
-_080AA2B4:
- add sp, 0x10
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA180
-
- thumb_func_start sub_80AA2BC
-sub_80AA2BC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- adds r7, r0, 0
- mov r8, r1
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- ldr r0, [sp]
- cmp r0, 0
- bge _080AA2E6
- ldr r1, _080AA3C4
- adds r0, r1
-_080AA2E6:
- asrs r0, 11
- str r0, [sp, 0x8]
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bge _080AA2F4
- ldr r2, _080AA3C4
- adds r0, r2
-_080AA2F4:
- asrs r0, 11
- add r1, sp, 0x8
- str r0, [r1, 0x4]
- ldr r4, [sp, 0x10]
- subs r0, r4, 0x1
- mov r10, r1
- cmp r0, 0
- bge _080AA308
- ldr r1, _080AA3C8
- adds r0, r4, r1
-_080AA308:
- asrs r2, r0, 11
- add r0, sp, 0x10
- ldr r4, [r0, 0x4]
- subs r1, r4, 0x1
- mov r9, r0
- cmp r1, 0
- bge _080AA31A
- ldr r0, _080AA3C8
- adds r1, r4, r0
-_080AA31A:
- asrs r3, r1, 11
- ldr r0, [sp, 0x8]
- subs r0, r2, r0
- adds r0, 0x1
- str r0, [sp, 0x18]
- mov r1, r10
- ldr r0, [r1, 0x4]
- subs r0, r3, r0
- adds r0, 0x1
- add r1, sp, 0x18
- str r0, [r1, 0x4]
- movs r0, 0x4
- mov r2, r8
- ands r0, r2
- cmp r0, 0
- beq _080AA394
- movs r1, 0
- ldrsh r0, [r7, r1]
- movs r1, 0x80
- mov r2, sp
- mov r3, r9
- bl sub_80A92A0
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0
- blt _080AA394
- ldr r1, _080AA3CC
- lsls r0, r5, 5
- subs r0, r5
- lsls r0, 4
- ldr r1, [r1]
- adds r6, r1, r0
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r6, r2
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 2
- ands r0, r1
- cmp r0, 0
- beq _080AA384
- movs r4, 0xA1
- lsls r4, 1
- adds r0, r7, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x5
- bl sub_8002984
- adds r4, r6, r4
- strb r0, [r4]
-_080AA384:
- movs r1, 0
- ldrsh r0, [r7, r1]
- adds r1, r5, 0
- bl GroundLives_ExecutePlayerScriptActionLives
- lsls r0, 24
- cmp r0, 0
- bne _080AA3BE
-_080AA394:
- movs r0, 0x8
- mov r2, r8
- ands r0, r2
- cmp r0, 0
- beq _080AA3D0
- movs r0, 0x80
- mov r1, sp
- mov r2, r9
- bl sub_80AC4C8
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- blt _080AA3D0
- movs r2, 0
- ldrsh r0, [r7, r2]
- bl sub_80A8A5C
- lsls r0, 24
- cmp r0, 0
- beq _080AA3D0
-_080AA3BE:
- movs r0, 0x3
- b _080AA3E6
- .align 2, 0
-_080AA3C4: .4byte 0x000007ff
-_080AA3C8: .4byte 0x000007fe
-_080AA3CC: .4byte gUnknown_3001B84
-_080AA3D0:
- movs r0, 0x10
- mov r1, r10
- add r2, sp, 0x18
- bl sub_80A595C
- lsls r0, 24
- cmp r0, 0
- bne _080AA3E4
- movs r0, 0
- b _080AA3E6
-_080AA3E4:
- movs r0, 0x6
-_080AA3E6:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA2BC
-
- thumb_func_start sub_80AA3F8
-sub_80AA3F8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- adds r6, r0, 0
- lsls r1, 24
- asrs r1, 24
- str r1, [sp, 0x28]
- movs r2, 0x80
- lsls r2, 1
- mov r0, sp
- bl sub_8002BB8
- ldr r4, [sp]
- ldr r5, [sp, 0x4]
- movs r0, 0xA2
- lsls r0, 1
- adds r0, r6
- mov r9, r0
- ldr r0, [r0]
- adds r0, r4
- str r0, [sp, 0x8]
- movs r1, 0xA4
- lsls r1, 1
- adds r1, r6
- mov r10, r1
- ldr r0, [r1]
- adds r0, r5
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- movs r1, 0xA6
- lsls r1, 1
- adds r0, r6, r1
- ldr r0, [r0]
- adds r0, r4
- str r0, [sp, 0x10]
- adds r1, 0x4
- adds r0, r6, r1
- ldr r0, [r0]
- adds r0, r5
- add r3, sp, 0x10
- str r0, [r3, 0x4]
- adds r0, r6, 0
- movs r1, 0xC
- bl sub_80AA2BC
- adds r7, r0, 0
- cmp r7, 0x3
- bne _080AA462
-_080AA45E:
- movs r0, 0x1
- b _080AA650
-_080AA462:
- ldr r0, [r6, 0xC]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r2, 0x80
- lsls r2, 2
- mov r8, r2
- add r0, r8
- muls r0, r4
- cmp r0, 0
- bge _080AA47A
- adds r0, 0xFF
-_080AA47A:
- asrs r0, 8
- str r0, [sp, 0x2C]
- ldr r0, [r6, 0x10]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- add r0, r8
- muls r0, r5
- cmp r0, 0
- bge _080AA490
- adds r0, 0xFF
-_080AA490:
- asrs r0, 8
- str r0, [sp, 0x30]
- mov r1, r9
- ldr r0, [r1]
- ldr r1, [r6, 0x14]
- adds r0, r1
- ldr r2, [sp, 0x2C]
- adds r0, r2
- ldr r2, _080AA4F4
- adds r0, r2
- str r0, [sp, 0x18]
- mov r1, r10
- ldr r0, [r1]
- ldr r1, [r6, 0x18]
- adds r0, r1
- ldr r1, [sp, 0x30]
- adds r0, r1
- adds r0, r2
- add r2, sp, 0x18
- str r0, [r2, 0x4]
- movs r1, 0xC0
- lsls r1, 3
- ldr r0, [sp, 0x18]
- adds r0, r1
- str r0, [sp, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r1
- add r3, sp, 0x20
- str r0, [r3, 0x4]
- ldr r0, _080AA4F8
- mov r9, r0
- ldr r0, [sp, 0x28]
- lsls r1, r0, 2
- add r9, r1
- mov r0, r9
- ldr r0, [r0]
- str r0, [sp, 0x34]
- ldr r0, _080AA4FC
- adds r0, r1, r0
- ldr r0, [r0]
- str r0, [sp, 0x38]
- ldr r0, _080AA500
- adds r1, r0
- ldr r1, [r1]
- str r1, [sp, 0x3C]
- mov r10, r8
- mov r9, r2
- mov r8, r3
- b _080AA568
- .align 2, 0
-_080AA4F4: .4byte 0xfffffd00
-_080AA4F8: .4byte gUnknown_8117FF0
-_080AA4FC: .4byte gUnknown_8118010
-_080AA500: .4byte gUnknown_8118030
-_080AA504:
- ldr r1, [r6, 0x28]
- ldr r0, [sp, 0x18]
- cmp r0, r1
- bge _080AA50E
- b _080AA64E
-_080AA50E:
- ldr r1, [r6, 0x30]
- ldr r0, [sp, 0x20]
- cmp r0, r1
- blt _080AA518
- b _080AA64E
-_080AA518:
- ldr r1, [r6, 0x2C]
- mov r2, r9
- ldr r0, [r2, 0x4]
- cmp r0, r1
- bge _080AA524
- b _080AA64E
-_080AA524:
- ldr r1, [r6, 0x34]
- mov r2, r8
- ldr r0, [r2, 0x4]
- cmp r0, r1
- blt _080AA530
- b _080AA64E
-_080AA530:
- adds r0, r6, 0
- movs r1, 0xC
- mov r2, r9
- mov r3, r8
- bl sub_80AA2BC
- adds r7, r0, 0
- cmp r7, 0x3
- beq _080AA45E
- ldr r0, [sp, 0x18]
- adds r0, r4
- str r0, [sp, 0x18]
- mov r1, r9
- ldr r0, [r1, 0x4]
- adds r0, r5
- str r0, [r1, 0x4]
- ldr r0, [sp, 0x20]
- adds r0, r4
- str r0, [sp, 0x20]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r5
- str r0, [r2, 0x4]
- cmp r7, 0x6
- beq _080AA572
- movs r0, 0x80
- lsls r0, 1
- add r10, r0
-_080AA568:
- ldr r1, [sp, 0x34]
- cmp r10, r1
- blt _080AA504
- cmp r7, 0x6
- bne _080AA64E
-_080AA572:
- ldr r2, [sp, 0x38]
- cmp r10, r2
- bge _080AA5DC
-_080AA578:
- ldr r1, [sp, 0x18]
- ldr r0, [r6, 0x28]
- cmp r1, r0
- blt _080AA64E
- ldr r1, [sp, 0x20]
- ldr r0, [r6, 0x30]
- cmp r1, r0
- bge _080AA64E
- mov r0, r9
- ldr r1, [r0, 0x4]
- ldr r0, [r6, 0x2C]
- cmp r1, r0
- blt _080AA64E
- mov r2, r8
- ldr r1, [r2, 0x4]
- ldr r0, [r6, 0x34]
- cmp r1, r0
- bge _080AA64E
- adds r0, r6, 0
- movs r1, 0x4
- mov r2, r9
- mov r3, r8
- bl sub_80AA2BC
- adds r7, r0, 0
- cmp r7, 0x3
- bne _080AA5B0
- b _080AA45E
-_080AA5B0:
- ldr r0, [sp, 0x18]
- adds r0, r4
- str r0, [sp, 0x18]
- mov r1, r9
- ldr r0, [r1, 0x4]
- adds r0, r5
- str r0, [r1, 0x4]
- ldr r0, [sp, 0x20]
- adds r0, r4
- str r0, [sp, 0x20]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r5
- str r0, [r2, 0x4]
- cmp r7, 0x6
- bne _080AA5E0
- movs r0, 0x80
- lsls r0, 1
- add r10, r0
- ldr r1, [sp, 0x38]
- cmp r10, r1
- blt _080AA578
-_080AA5DC:
- cmp r7, 0x6
- beq _080AA64E
-_080AA5E0:
- movs r2, 0
- mov r10, r2
- ldr r0, [sp, 0x3C]
- cmp r10, r0
- bge _080AA64E
-_080AA5EA:
- ldr r1, [sp, 0x18]
- ldr r0, [r6, 0x28]
- cmp r1, r0
- blt _080AA64E
- ldr r1, [sp, 0x20]
- ldr r0, [r6, 0x30]
- cmp r1, r0
- bge _080AA64E
- mov r2, r9
- ldr r1, [r2, 0x4]
- ldr r0, [r6, 0x2C]
- cmp r1, r0
- blt _080AA64E
- mov r0, r8
- ldr r1, [r0, 0x4]
- ldr r0, [r6, 0x34]
- cmp r1, r0
- bge _080AA64E
- adds r0, r6, 0
- movs r1, 0x4
- mov r2, r9
- mov r3, r8
- bl sub_80AA2BC
- adds r7, r0, 0
- cmp r7, 0x3
- bne _080AA622
- b _080AA45E
-_080AA622:
- cmp r7, 0x6
- beq _080AA64E
- ldr r0, [sp, 0x18]
- adds r0, r4
- str r0, [sp, 0x18]
- mov r1, r9
- ldr r0, [r1, 0x4]
- adds r0, r5
- str r0, [r1, 0x4]
- ldr r0, [sp, 0x20]
- adds r0, r4
- str r0, [sp, 0x20]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r5
- str r0, [r2, 0x4]
- movs r0, 0x80
- lsls r0, 1
- add r10, r0
- ldr r1, [sp, 0x3C]
- cmp r10, r1
- blt _080AA5EA
-_080AA64E:
- movs r0, 0
-_080AA650:
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA3F8
-
- thumb_func_start sub_80AA660
-sub_80AA660:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x80
- lsls r0, 1
- bl sub_80AC4C8
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- blt _080AA686
- movs r2, 0
- ldrsh r0, [r4, r2]
- bl sub_80A8A5C
- lsls r0, 24
- cmp r0, 0
- beq _080AA686
- movs r0, 0x4
- b _080AA688
-_080AA686:
- movs r0, 0
-_080AA688:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA660
-
- thumb_func_start sub_80AA690
-sub_80AA690:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r7, r0, 0
- lsls r1, 24
- asrs r1, 24
- mov r9, r1
- movs r2, 0x80
- lsls r2, 1
- mov r0, sp
- bl sub_8002BB8
- ldr r5, [sp]
- ldr r6, [sp, 0x4]
- ldr r0, [r7, 0xC]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0x80
- lsls r1, 2
- mov r8, r1
- add r0, r8
- muls r0, r5
- cmp r0, 0
- bge _080AA6CA
- adds r0, 0xFF
-_080AA6CA:
- asrs r3, r0, 8
- ldr r0, [r7, 0x10]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- add r0, r8
- muls r0, r6
- cmp r0, 0
- bge _080AA6DE
- adds r0, 0xFF
-_080AA6DE:
- asrs r4, r0, 8
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r7, r2
- ldr r0, [r0]
- ldr r1, [r7, 0x14]
- adds r0, r1
- adds r0, r3
- ldr r2, _080AA76C
- adds r0, r2
- str r0, [sp, 0x8]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- ldr r0, [r0]
- ldr r1, [r7, 0x18]
- adds r0, r1
- adds r0, r4
- adds r0, r2
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- movs r1, 0xC0
- lsls r1, 3
- ldr r0, [sp, 0x8]
- adds r0, r1
- str r0, [sp, 0x10]
- ldr r0, [r2, 0x4]
- adds r0, r1
- add r3, sp, 0x10
- str r0, [r3, 0x4]
- ldr r1, _080AA770
- mov r4, r9
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- mov r10, r0
- mov r9, r8
- mov r8, r2
- adds r4, r3, 0
- cmp r9, r10
- bge _080AA79C
-_080AA730:
- ldr r1, [r7, 0x28]
- ldr r0, [sp, 0x8]
- cmp r0, r1
- blt _080AA79C
- ldr r1, [r7, 0x30]
- ldr r0, [sp, 0x10]
- cmp r0, r1
- bge _080AA79C
- ldr r1, [r7, 0x2C]
- mov r2, r8
- ldr r0, [r2, 0x4]
- cmp r0, r1
- blt _080AA79C
- ldr r1, [r7, 0x34]
- ldr r0, [r4, 0x4]
- cmp r0, r1
- bge _080AA79C
- adds r0, r7, 0
- mov r1, r8
- adds r2, r4, 0
- bl sub_80AA660
- cmp r0, 0x4
- beq _080AA774
- cmp r0, 0x4
- bhi _080AA778
- cmp r0, 0
- bne _080AA778
- b _080AA79C
- .align 2, 0
-_080AA76C: .4byte 0xfffffd00
-_080AA770: .4byte gUnknown_8117FF0
-_080AA774:
- movs r0, 0x1
- b _080AA79E
-_080AA778:
- ldr r0, [sp, 0x8]
- adds r0, r5
- str r0, [sp, 0x8]
- mov r1, r8
- ldr r0, [r1, 0x4]
- adds r0, r6
- str r0, [r1, 0x4]
- ldr r0, [sp, 0x10]
- adds r0, r5
- str r0, [sp, 0x10]
- ldr r0, [r4, 0x4]
- adds r0, r6
- str r0, [r4, 0x4]
- movs r2, 0x80
- lsls r2, 1
- add r9, r2
- cmp r9, r10
- blt _080AA730
-_080AA79C:
- movs r0, 0
-_080AA79E:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA690
-
- thumb_func_start sub_80AA7B0
-sub_80AA7B0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- adds r7, r0, 0
- adds r6, r1, 0
- mov r12, r2
- ldr r2, [sp, 0x38]
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- ldr r0, [sp]
- cmp r0, 0
- bge _080AA7DA
- ldr r1, _080AA884
- adds r0, r1
-_080AA7DA:
- asrs r0, 11
- str r0, [sp, 0x8]
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bge _080AA7E8
- ldr r2, _080AA884
- adds r0, r2
-_080AA7E8:
- asrs r0, 11
- add r1, sp, 0x8
- str r0, [r1, 0x4]
- ldr r4, [sp, 0x10]
- subs r0, r4, 0x1
- mov r8, r1
- cmp r0, 0
- bge _080AA7FC
- ldr r5, _080AA888
- adds r0, r4, r5
-_080AA7FC:
- asrs r2, r0, 11
- add r4, sp, 0x10
- ldr r1, [r4, 0x4]
- subs r0, r1, 0x1
- cmp r0, 0
- bge _080AA80C
- ldr r5, _080AA888
- adds r0, r1, r5
-_080AA80C:
- asrs r3, r0, 11
- ldr r0, [sp, 0x8]
- subs r0, r2, r0
- adds r0, 0x1
- str r0, [sp, 0x18]
- mov r1, r8
- ldr r0, [r1, 0x4]
- subs r0, r3, r0
- adds r0, 0x1
- add r1, sp, 0x18
- str r0, [r1, 0x4]
- movs r0, 0x4
- mov r2, r12
- ands r0, r2
- adds r5, r1, 0
- cmp r0, 0
- beq _080AA890
- movs r1, 0
- ldrsh r0, [r7, r1]
- movs r1, 0x80
- mov r2, sp
- adds r3, r4, 0
- bl sub_80A92A0
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- blt _080AA890
- adds r0, r4, 0
- bl sub_80A8BBC
- lsls r0, 16
- ldr r2, _080AA88C
- adds r0, r2
- lsrs r0, 16
- cmp r0, 0xF
- bhi _080AA890
- adds r0, r4, 0
- bl sub_80A8E9C
- cmp r0, 0
- beq _080AA890
- strh r4, [r6]
- movs r5, 0xA1
- lsls r5, 1
- adds r0, r7, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x5
- bl sub_8002984
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- adds r0, r4, 0
- bl sub_80A9090
- movs r0, 0x5
- b _080AA8AE
- .align 2, 0
-_080AA884: .4byte 0x000007ff
-_080AA888: .4byte 0x000007fe
-_080AA88C: .4byte 0xfff20000
-_080AA890:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strh r0, [r6]
- movs r0, 0x10
- mov r1, r8
- adds r2, r5, 0
- bl sub_80A595C
- lsls r0, 24
- cmp r0, 0
- bne _080AA8AC
- movs r0, 0
- b _080AA8AE
-_080AA8AC:
- movs r0, 0x6
-_080AA8AE:
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA7B0
-
- thumb_func_start sub_80AA8BC
-sub_80AA8BC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- adds r6, r0, 0
- str r1, [sp, 0x1C]
- lsls r2, 24
- asrs r2, 24
- mov r8, r2
- movs r2, 0x80
- lsls r2, 1
- add r0, sp, 0x4
- mov r1, r8
- bl sub_8002BB8
- ldr r4, [sp, 0x4]
- ldr r5, [sp, 0x8]
- ldr r0, [r6, 0xC]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0x80
- lsls r1, 2
- mov r9, r1
- add r0, r9
- muls r0, r4
- cmp r0, 0
- bge _080AA8FA
- adds r0, 0xFF
-_080AA8FA:
- asrs r0, 8
- str r0, [sp, 0x20]
- ldr r0, [r6, 0x10]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- add r0, r9
- muls r0, r5
- cmp r0, 0
- bge _080AA910
- adds r0, 0xFF
-_080AA910:
- asrs r0, 8
- str r0, [sp, 0x24]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r6, r2
- ldr r0, [r0]
- ldr r1, [r6, 0x14]
- adds r0, r1
- ldr r7, [sp, 0x20]
- adds r0, r7
- ldr r2, _080AA9F0
- adds r0, r2
- str r0, [sp, 0xC]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r6, r1
- ldr r0, [r0]
- ldr r1, [r6, 0x18]
- adds r0, r1
- ldr r7, [sp, 0x24]
- adds r0, r7
- adds r0, r2
- add r2, sp, 0xC
- str r0, [r2, 0x4]
- movs r1, 0xC0
- lsls r1, 3
- ldr r0, [sp, 0xC]
- adds r0, r1
- str r0, [sp, 0x14]
- ldr r0, [r2, 0x4]
- adds r0, r1
- add r3, sp, 0x14
- str r0, [r3, 0x4]
- ldr r0, _080AA9F4
- mov r7, r8
- lsls r1, r7, 2
- adds r0, r1, r0
- ldr r0, [r0]
- mov r10, r0
- ldr r0, _080AA9F8
- adds r0, r1, r0
- ldr r0, [r0]
- str r0, [sp, 0x28]
- ldr r0, _080AA9FC
- adds r1, r0
- ldr r1, [r1]
- str r1, [sp, 0x2C]
- movs r1, 0
- movs r7, 0x1
- negs r7, r7
- adds r0, r7, 0
- ldr r7, [sp, 0x1C]
- strh r0, [r7]
- mov r8, r2
- adds r7, r3, 0
- cmp r9, r10
- bge _080AA9E8
-_080AA982:
- ldr r1, [r6, 0x28]
- ldr r0, [sp, 0xC]
- cmp r0, r1
- bge _080AA98C
- b _080AAAD4
-_080AA98C:
- ldr r1, [r6, 0x30]
- ldr r0, [sp, 0x14]
- cmp r0, r1
- blt _080AA996
- b _080AAAD4
-_080AA996:
- ldr r1, [r6, 0x2C]
- mov r2, r8
- ldr r0, [r2, 0x4]
- cmp r0, r1
- bge _080AA9A2
- b _080AAAD4
-_080AA9A2:
- ldr r1, [r6, 0x34]
- ldr r0, [r7, 0x4]
- cmp r0, r1
- blt _080AA9AC
- b _080AAAD4
-_080AA9AC:
- str r7, [sp]
- adds r0, r6, 0
- ldr r1, [sp, 0x1C]
- movs r2, 0xC
- mov r3, r8
- bl sub_80AA7B0
- adds r1, r0, 0
- cmp r1, 0x5
- beq _080AAA66
- ldr r0, [sp, 0xC]
- adds r0, r4
- str r0, [sp, 0xC]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r5
- str r0, [r2, 0x4]
- ldr r0, [sp, 0x14]
- adds r0, r4
- str r0, [sp, 0x14]
- ldr r0, [r7, 0x4]
- adds r0, r5
- str r0, [r7, 0x4]
- cmp r1, 0x6
- beq _080AAA5A
- movs r0, 0x80
- lsls r0, 1
- add r9, r0
- cmp r9, r10
- blt _080AA982
-_080AA9E8:
- cmp r1, 0x6
- bne _080AAAD4
- b _080AAA5A
- .align 2, 0
-_080AA9F0: .4byte 0xfffffd00
-_080AA9F4: .4byte gUnknown_8117FF0
-_080AA9F8: .4byte gUnknown_8118010
-_080AA9FC: .4byte gUnknown_8118030
-_080AAA00:
- ldr r1, [sp, 0xC]
- ldr r0, [r6, 0x28]
- cmp r1, r0
- blt _080AAAD4
- ldr r1, [sp, 0x14]
- ldr r0, [r6, 0x30]
- cmp r1, r0
- bge _080AAAD4
- mov r0, r8
- ldr r1, [r0, 0x4]
- ldr r0, [r6, 0x2C]
- cmp r1, r0
- blt _080AAAD4
- ldr r1, [r7, 0x4]
- ldr r0, [r6, 0x34]
- cmp r1, r0
- bge _080AAAD4
- str r7, [sp]
- adds r0, r6, 0
- ldr r1, [sp, 0x1C]
- movs r2, 0x4
- mov r3, r8
- bl sub_80AA7B0
- adds r1, r0, 0
- cmp r1, 0x5
- beq _080AAA66
- ldr r0, [sp, 0xC]
- adds r0, r4
- str r0, [sp, 0xC]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r5
- str r0, [r2, 0x4]
- ldr r0, [sp, 0x14]
- adds r0, r4
- str r0, [sp, 0x14]
- ldr r0, [r7, 0x4]
- adds r0, r5
- str r0, [r7, 0x4]
- cmp r1, 0x6
- bne _080AAA6A
- movs r0, 0x80
- lsls r0, 1
- add r9, r0
-_080AAA5A:
- ldr r2, [sp, 0x28]
- cmp r9, r2
- blt _080AAA00
- cmp r1, 0x6
- bne _080AAA6A
- b _080AAAD4
-_080AAA66:
- movs r0, 0x1
- b _080AAAD6
-_080AAA6A:
- movs r0, 0
- mov r9, r0
- ldr r1, [sp, 0x2C]
- cmp r9, r1
- bge _080AAAD4
-_080AAA74:
- ldr r1, [sp, 0xC]
- ldr r0, [r6, 0x28]
- cmp r1, r0
- blt _080AAAD4
- ldr r1, [sp, 0x14]
- ldr r0, [r6, 0x30]
- cmp r1, r0
- bge _080AAAD4
- mov r2, r8
- ldr r1, [r2, 0x4]
- ldr r0, [r6, 0x2C]
- cmp r1, r0
- blt _080AAAD4
- ldr r1, [r7, 0x4]
- ldr r0, [r6, 0x34]
- cmp r1, r0
- bge _080AAAD4
- str r7, [sp]
- adds r0, r6, 0
- ldr r1, [sp, 0x1C]
- movs r2, 0x4
- mov r3, r8
- bl sub_80AA7B0
- adds r1, r0, 0
- cmp r1, 0x5
- beq _080AAA66
- cmp r1, 0x6
- beq _080AAAD4
- ldr r0, [sp, 0xC]
- adds r0, r4
- str r0, [sp, 0xC]
- mov r1, r8
- ldr r0, [r1, 0x4]
- adds r0, r5
- str r0, [r1, 0x4]
- ldr r0, [sp, 0x14]
- adds r0, r4
- str r0, [sp, 0x14]
- ldr r0, [r7, 0x4]
- adds r0, r5
- str r0, [r7, 0x4]
- movs r2, 0x80
- lsls r2, 1
- add r9, r2
- ldr r0, [sp, 0x2C]
- cmp r9, r0
- blt _080AAA74
-_080AAAD4:
- movs r0, 0
-_080AAAD6:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA8BC
-
- thumb_func_start sub_80AAAE8
-sub_80AAAE8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x80
- adds r5, r0, 0
- adds r3, r1, 0
- lsls r2, 24
- asrs r4, r2, 24
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x78]
- movs r2, 0xAF
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r1]
- movs r6, 0xB0
- lsls r6, 1
- adds r1, r5, r6
- movs r0, 0x1
- strh r0, [r1]
- ldr r0, [sp, 0x78]
- cmp r4, r0
- beq _080AAB26
- movs r1, 0xA1
- lsls r1, 1
- adds r0, r5, r1
- strb r4, [r0]
-_080AAB26:
- subs r0, r3, 0x1
- cmp r0, 0x13
- bls _080AAB2E
- b _080AAEB8
-_080AAB2E:
- lsls r0, 2
- ldr r1, _080AAB38
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AAB38: .4byte _080AAB3C
- .align 2, 0
-_080AAB3C:
- .4byte _080AAB8C
- .4byte _080AAD60
- .4byte _080AAC9C
- .4byte _080AAC9C
- .4byte _080AAC9C
- .4byte _080AAB9E
- .4byte _080AAB9E
- .4byte _080AAB9E
- .4byte _080AAD7C
- .4byte _080AADF4
- .4byte _080AAE06
- .4byte _080AAEB8
- .4byte _080AAEB8
- .4byte _080AAEB8
- .4byte _080AAEB8
- .4byte _080AAEB8
- .4byte _080AAEB8
- .4byte _080AAEB8
- .4byte _080AAE32
- .4byte _080AAE9C
-_080AAB8C:
- movs r4, 0xB2
- lsls r4, 1
- adds r1, r5, r4
- movs r0, 0
- str r0, [r1]
- movs r6, 0xC0
- lsls r6, 2
- str r6, [sp, 0x78]
- b _080AAD6E
-_080AAB9E:
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _080AAC88
- movs r6, 0
- movs r0, 0xB2
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x4
- str r0, [r1]
- cmp r3, 0x7
- beq _080AABD2
- cmp r3, 0x7
- bhi _080AABC0
- cmp r3, 0x6
- beq _080AABC6
- b _080AABEA
-_080AABC0:
- cmp r3, 0x8
- beq _080AABDE
- b _080AABEA
-_080AABC6:
- movs r1, 0x90
- lsls r1, 4
- str r1, [sp, 0x78]
- movs r2, 0x1
- str r2, [sp, 0x7C]
- b _080AABFC
-_080AABD2:
- movs r3, 0x80
- lsls r3, 4
- str r3, [sp, 0x78]
- movs r0, 0x2
- str r0, [sp, 0x7C]
- b _080AABFC
-_080AABDE:
- movs r1, 0xA0
- lsls r1, 4
- str r1, [sp, 0x78]
- movs r2, 0x4
- str r2, [sp, 0x7C]
- b _080AABFC
-_080AABEA:
- movs r3, 0xB2
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0
- str r0, [r1]
- ldr r0, _080AAC20
- str r0, [sp, 0x78]
- movs r1, 0
- str r1, [sp, 0x7C]
-_080AABFC:
- movs r2, 0x80
- lsls r2, 1
- add r0, sp, 0x28
- adds r1, r4, 0
- bl sub_8002BB8
- ldr r0, [sp, 0x28]
- ldr r1, [sp, 0x2C]
- str r0, [sp, 0x38]
- str r1, [sp, 0x3C]
- movs r2, 0
- mov r10, r2
- add r3, sp, 0x40
- mov r9, r3
- add r4, sp, 0x30
- mov r8, r4
- b _080AAC42
- .align 2, 0
-_080AAC20: .4byte 0x00000807
-_080AAC24:
- cmp r6, 0x1
- bne _080AAC3E
- ldr r0, [sp, 0x38]
- str r0, [sp, 0x30]
- mov r6, r8
- str r7, [r6, 0x4]
- adds r0, r5, 0
- mov r1, r8
- bl sub_80AA074
- adds r6, r0, 0
- cmp r6, 0x2
- beq _080AAC78
-_080AAC3E:
- movs r0, 0x1
- add r10, r0
-_080AAC42:
- ldr r1, [sp, 0x7C]
- cmp r10, r1
- bge _080AAC74
- add r4, sp, 0x38
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80AA074
- adds r6, r0, 0
- cmp r6, 0x2
- beq _080AAC78
- cmp r6, 0x1
- bne _080AAC3E
- movs r7, 0
- str r7, [sp, 0x40]
- ldr r0, [r4, 0x4]
- mov r2, r9
- str r0, [r2, 0x4]
- adds r0, r5, 0
- mov r1, r9
- bl sub_80AA074
- adds r6, r0, 0
- cmp r6, 0x2
- bne _080AAC24
-_080AAC74:
- cmp r6, 0x2
- bne _080AAC7E
-_080AAC78:
- movs r3, 0x1
- negs r3, r3
- b _080AAD6C
-_080AAC7E:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80AAF68
- b _080AAEC0
-_080AAC88:
- movs r4, 0xB2
- lsls r4, 1
- adds r1, r5, r4
- movs r0, 0
- str r0, [r1]
- ldr r6, _080AAC98
- str r6, [sp, 0x78]
- b _080AAD6E
- .align 2, 0
-_080AAC98: .4byte 0x00000807
-_080AAC9C:
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _080AAD60
- movs r0, 0xB2
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x4
- str r0, [r1]
- cmp r3, 0x4
- beq _080AACCE
- cmp r3, 0x4
- bhi _080AACBC
- cmp r3, 0x3
- beq _080AACC2
- b _080AACE6
-_080AACBC:
- cmp r3, 0x5
- beq _080AACDA
- b _080AACE6
-_080AACC2:
- movs r1, 0x90
- lsls r1, 4
- str r1, [sp, 0x78]
- movs r2, 0x1
- mov r9, r2
- b _080AACF6
-_080AACCE:
- movs r3, 0x80
- lsls r3, 4
- str r3, [sp, 0x78]
- movs r6, 0x2
- mov r9, r6
- b _080AACF6
-_080AACDA:
- movs r0, 0xA0
- lsls r0, 4
- str r0, [sp, 0x78]
- movs r1, 0x4
- mov r9, r1
- b _080AACF6
-_080AACE6:
- movs r2, 0xB2
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0
- str r0, [r1]
- ldr r3, _080AAD5C
- str r3, [sp, 0x78]
- mov r9, r0
-_080AACF6:
- movs r2, 0x80
- lsls r2, 1
- add r0, sp, 0x48
- adds r1, r4, 0
- bl sub_8002BB8
- ldr r0, [sp, 0x48]
- ldr r1, [sp, 0x4C]
- str r0, [sp, 0x50]
- str r1, [sp, 0x54]
- movs r6, 0
- cmp r6, r9
- bge _080AAD52
- add r4, sp, 0x50
- mov r8, r4
- add r7, sp, 0x58
-_080AAD16:
- adds r0, r5, 0
- mov r1, r8
- bl sub_80A9F94
- cmp r0, 0
- beq _080AAD4C
- movs r4, 0
- str r4, [sp, 0x58]
- mov r1, r8
- ldr r0, [r1, 0x4]
- str r0, [r7, 0x4]
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_80A9F94
- cmp r0, 0
- beq _080AAD4C
- ldr r0, [sp, 0x50]
- str r0, [sp, 0x60]
- add r1, sp, 0x60
- str r4, [r1, 0x4]
- adds r0, r5, 0
- bl sub_80A9F94
- cmp r0, 0
- beq _080AAD4C
- mov r9, r4
-_080AAD4C:
- adds r6, 0x1
- cmp r6, r9
- blt _080AAD16
-_080AAD52:
- adds r0, r5, 0
- mov r1, r9
- bl sub_80AAF68
- b _080AAEC0
- .align 2, 0
-_080AAD5C: .4byte 0x00000807
-_080AAD60:
- movs r2, 0xB2
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0
- str r0, [r1]
- ldr r3, _080AAD78
-_080AAD6C:
- str r3, [sp, 0x78]
-_080AAD6E:
- adds r0, r5, 0
- movs r1, 0
- bl sub_80AAF68
- b _080AAEC0
- .align 2, 0
-_080AAD78: .4byte 0x00000807
-_080AAD7C:
- movs r6, 0x8E
- lsls r6, 1
- adds r0, r5, r6
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- beq _080AAD9C
- ldr r0, _080AAD98
- ldr r0, [r0]
- adds r0, 0x28
- strb r4, [r0]
- b _080AADA6
- .align 2, 0
-_080AAD98: .4byte gUnknown_3001B80
-_080AAD9C:
- ldr r0, _080AADF0
- ldr r0, [r0]
- adds r0, 0x28
- movs r1, 0xFF
- strb r1, [r0]
-_080AADA6:
- movs r1, 0xB2
- lsls r1, 1
- adds r0, r5, r1
- movs r1, 0
- str r1, [r0]
- movs r2, 0x80
- lsls r2, 4
- str r2, [sp, 0x78]
- movs r3, 0xA1
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0x4
- strb r0, [r1]
- movs r6, 0x1
- negs r6, r6
- cmp r4, r6
- bne _080AADCA
- b _080AAEC0
-_080AADCA:
- movs r2, 0x80
- lsls r2, 1
- add r0, sp, 0x68
- adds r1, r4, 0
- bl sub_8002BB8
- ldr r0, [sp, 0x68]
- ldr r1, [sp, 0x6C]
- str r0, [sp, 0x70]
- str r1, [sp, 0x74]
- add r1, sp, 0x70
- adds r0, r5, 0
- bl sub_80AA074
- cmp r0, 0x2
- bne _080AAEC0
- str r6, [sp, 0x78]
- b _080AAEC0
- .align 2, 0
-_080AADF0: .4byte gUnknown_3001B80
-_080AADF4:
- movs r4, 0xA1
- lsls r4, 1
- adds r0, r5, r4
- movs r1, 0
- ldrsb r1, [r0, r1]
- adds r0, r5, 0
- bl sub_80AA3F8
- b _080AAEC0
-_080AAE06:
- movs r6, 0xA1
- lsls r6, 1
- adds r0, r5, r6
- movs r1, 0
- ldrsb r1, [r0, r1]
- adds r0, r5, 0
- bl sub_80AA690
- lsls r0, 24
- cmp r0, 0
- bne _080AAEC0
- movs r0, 0
- mov r1, sp
- movs r2, 0x9
- bl sub_809D710
- adds r0, r5, 0
- movs r1, 0
- mov r2, sp
- bl _ExecutePlayerScript
- b _080AAEC0
-_080AAE32:
- add r6, sp, 0xC
- movs r1, 0xA1
- lsls r1, 1
- adds r0, r5, r1
- movs r2, 0
- ldrsb r2, [r0, r2]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80AA8BC
- lsls r0, 24
- cmp r0, 0
- beq _080AAE84
- add r4, sp, 0x10
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x6
- bl sub_809D710
- movs r2, 0
- ldrsh r0, [r6, r2]
- adds r1, r5, 0
- adds r1, 0x40
- adds r2, r4, 0
- bl GroundLives_ExecuteScript
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl _ExecutePlayerScript
- movs r3, 0
- ldrsh r0, [r6, r3]
- bl sub_80A8E9C
- adds r2, r0, 0
- movs r0, 0x7
- movs r1, 0
- bl sub_809B1C0
- b _080AAE8E
-_080AAE84:
- movs r0, 0x7
- movs r1, 0
- movs r2, 0
- bl sub_809B1C0
-_080AAE8E:
- movs r4, 0x90
- lsls r4, 1
- adds r0, r5, r4
- movs r1, 0x5
- bl sub_809CD8C
- b _080AAEC0
-_080AAE9C:
- add r4, sp, 0x1C
- ldr r2, _080AAEB4
- movs r0, 0
- adds r1, r4, 0
- bl sub_809D710
- adds r0, r5, 0
- movs r1, 0
- adds r2, r4, 0
- bl _ExecutePlayerScript
- b _080AAEC0
- .align 2, 0
-_080AAEB4: .4byte 0x00000195
-_080AAEB8:
- adds r0, r5, 0
- movs r1, 0
- bl sub_80AAF68
-_080AAEC0:
- movs r0, 0x1
- negs r0, r0
- ldr r6, [sp, 0x78]
- cmp r6, r0
- beq _080AAF04
- movs r0, 0xB4
- lsls r0, 1
- adds r2, r5, r0
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r6, r0
- beq _080AAF04
- movs r3, 0xAE
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0
- strb r0, [r1]
- movs r4, 0xB8
- lsls r4, 1
- adds r0, r5, r4
- strh r6, [r2]
- movs r1, 0xA1
- lsls r1, 1
- adds r3, r5, r1
- ldrb r1, [r3]
- subs r4, 0x13
- adds r2, r5, r4
- strb r1, [r2]
- movs r2, 0
- ldrsb r2, [r3, r2]
- ldr r1, [sp, 0x78]
- bl sub_80A6EFC
- b _080AAF54
-_080AAF04:
- movs r6, 0xAE
- lsls r6, 1
- adds r2, r5, r6
- ldrb r0, [r2]
- cmp r0, 0
- bne _080AAF2A
- ldr r0, _080AAF64
- adds r1, r5, r0
- movs r3, 0xA1
- lsls r3, 1
- adds r0, r5, r3
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- beq _080AAF54
-_080AAF2A:
- movs r0, 0
- strb r0, [r2]
- movs r4, 0xB8
- lsls r4, 1
- adds r0, r5, r4
- movs r6, 0xB4
- lsls r6, 1
- adds r1, r5, r6
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0xA1
- lsls r3, 1
- adds r4, r5, r3
- ldrb r2, [r4]
- subs r6, 0xB
- adds r3, r5, r6
- strb r2, [r3]
- movs r2, 0
- ldrsb r2, [r4, r2]
- bl sub_80A6EFC
-_080AAF54:
- add sp, 0x80
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAF64: .4byte 0x0000015d
- thumb_func_end sub_80AAAE8
-
- thumb_func_start sub_80AAF68
-sub_80AAF68:
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 7
- ands r0, r1
- cmp r0, 0
- beq _080AB002
- movs r2, 0
- ldrsh r0, [r4, r2]
- movs r1, 0x1
- bl sub_80A93F0
- lsls r0, 24
- cmp r0, 0
- beq _080AAFD0
- movs r1, 0xE4
- lsls r1, 1
- adds r0, r4, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bne _080AAFA6
- movs r0, 0xB5
- lsls r0, 1
- adds r1, r4, r0
- adds r0, 0x4C
- b _080AAFB4
-_080AAFA6:
- movs r0, 0xDB
- lsls r0, 1
- cmp r1, r0
- beq _080AAFC2
- subs r0, 0x4C
- adds r1, r4, r0
- adds r0, 0x56
-_080AAFB4:
- strh r0, [r1]
- movs r2, 0xB6
- lsls r2, 1
- adds r1, r4, r2
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
-_080AAFC2:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 17
- bl sub_80A8750
- b _080AB002
-_080AAFD0:
- movs r2, 0xE4
- lsls r2, 1
- adds r0, r4, r2
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0xDB
- lsls r0, 1
- cmp r1, r0
- bne _080AAFF6
- subs r0, 0x4C
- adds r1, r4, r0
- adds r0, 0x56
- strh r0, [r1]
- movs r2, 0xB6
- lsls r2, 1
- adds r1, r4, r2
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
-_080AAFF6:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 17
- bl sub_80A86C8
-_080AB002:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AAF68
-
- thumb_func_start sub_80AB008
-sub_80AB008:
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- thumb_func_end sub_80AB008
-
- thumb_func_start sub_80AB010
-sub_80AB010:
- ldr r2, [r0, 0xC]
- ldr r3, [r0, 0x10]
- str r2, [r1]
- str r3, [r1, 0x4]
- bx lr
- thumb_func_end sub_80AB010
-
- thumb_func_start sub_80AB01C
-sub_80AB01C:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- cmp r4, 0
- beq _080AB05C
- movs r0, 0xA2
- lsls r0, 1
- adds r2, r3, r0
- ldr r1, [r4]
- ldr r0, [r3, 0x14]
- subs r0, r1, r0
- str r0, [r2]
- movs r0, 0xA6
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x14]
- adds r1, r0
- str r1, [r2]
- movs r0, 0xA4
- lsls r0, 1
- adds r2, r3, r0
- ldr r1, [r4, 0x4]
- ldr r0, [r3, 0x18]
- subs r0, r1, r0
- str r0, [r2]
- movs r0, 0xA8
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x18]
- adds r1, r0
- str r1, [r2]
- b _080AB0C2
-_080AB05C:
- movs r0, 0xA2
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x20]
- ldr r1, [r3, 0x14]
- subs r0, r1
- str r0, [r2]
- movs r0, 0xA6
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x20]
- ldr r1, [r3, 0x14]
- adds r0, r1
- str r0, [r2]
- movs r0, 0xA4
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x24]
- ldr r1, [r3, 0x18]
- subs r0, r1
- str r0, [r2]
- movs r0, 0xA8
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x24]
- ldr r1, [r3, 0x18]
- adds r0, r1
- str r0, [r2]
- movs r2, 0xAA
- lsls r2, 1
- adds r1, r3, r2
- adds r2, 0x4
- adds r0, r3, r2
- str r4, [r0]
- str r4, [r1]
- movs r0, 0xA1
- lsls r0, 1
- adds r2, r3, r0
- movs r1, 0
- ldrsb r1, [r2, r1]
- movs r0, 0x1C
- ldrsb r0, [r3, r0]
- cmp r1, r0
- beq _080AB0BE
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AB0BE:
- ldrb r0, [r3, 0x1C]
- strb r0, [r2]
-_080AB0C2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AB01C
-
- thumb_func_start sub_80AB0C8
-sub_80AB0C8:
- push {r4,lr}
- ldr r3, [r1]
- ldr r4, [r1, 0x4]
- str r3, [r0, 0x28]
- str r4, [r0, 0x2C]
- ldr r1, [r2]
- ldr r2, [r2, 0x4]
- str r1, [r0, 0x30]
- str r2, [r0, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AB0C8
-
- thumb_func_start sub_80AB0E0
-sub_80AB0E0:
- adds r3, r0, 0
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x14]
- adds r0, r2
- str r0, [r1]
- movs r2, 0xA4
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x18]
- adds r0, r2
- str r0, [r1, 0x4]
- bx lr
- thumb_func_end sub_80AB0E0
-
- thumb_func_start sub_80AB100
-sub_80AB100:
- push {lr}
- bl sub_80A9F20
- pop {r1}
- bx r1
- thumb_func_end sub_80AB100
-
- thumb_func_start sub_80AB10C
-sub_80AB10C:
- push {r4,lr}
- adds r3, r0, 0
- movs r4, 0xAA
- lsls r4, 1
- adds r0, r3, r4
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xAC
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- str r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AB10C
-
- thumb_func_start sub_80AB12C
-sub_80AB12C:
- movs r2, 0xAA
- lsls r2, 1
- adds r0, r2
- str r1, [r0]
- bx lr
- thumb_func_end sub_80AB12C
-
- thumb_func_start sub_80AB138
-sub_80AB138:
- movs r2, 0xA1
- lsls r2, 1
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- bx lr
- thumb_func_end sub_80AB138
-
- thumb_func_start sub_80AB144
-sub_80AB144:
- push {lr}
- adds r3, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AB17C
- movs r0, 0xA1
- lsls r0, 1
- adds r2, r3, r0
- lsls r0, r1, 24
- lsrs r0, 24
- strb r0, [r2]
- ldr r2, _080AB180
- adds r1, r3, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- beq _080AB17C
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AB17C:
- pop {r0}
- bx r0
- .align 2, 0
-_080AB180: .4byte 0x0000015d
- thumb_func_end sub_80AB144
-
- thumb_func_start sub_80AB184
-sub_80AB184:
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl sub_80A9750
- pop {r0}
- bx r0
- thumb_func_end sub_80AB184
-
- thumb_func_start sub_80AB194
-sub_80AB194:
- push {lr}
- mov r12, r0
- lsls r1, 16
- asrs r1, 16
- adds r3, r1, 0
- cmp r1, 0
- bne _080AB1A8
- movs r0, 0xE0
- lsls r0, 1
- adds r3, r0, 0
-_080AB1A8:
- movs r0, 0xB5
- lsls r0, 1
- add r0, r12
- strh r3, [r0]
- movs r0, 0xB6
- lsls r0, 1
- add r0, r12
- str r2, [r0]
- pop {r0}
- bx r0
- thumb_func_end sub_80AB194
-
- thumb_func_start nullsub_211
-nullsub_211:
- bx lr
- thumb_func_end nullsub_211
-
- thumb_func_start sub_80AB1C0
-sub_80AB1C0:
- push {lr}
- adds r1, r0, 0
- movs r2, 0xAE
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AB1DE
- adds r2, 0x14
- adds r0, r1, r2
- bl sub_80A66F8
- lsls r0, 24
- lsrs r0, 24
- b _080AB1E0
-_080AB1DE:
- movs r0, 0x1
-_080AB1E0:
- pop {r1}
- bx r1
- thumb_func_end sub_80AB1C0
-
- thumb_func_start sub_80AB1E4
-sub_80AB1E4:
- push {lr}
- adds r1, r0, 0
- movs r2, 0xB5
- lsls r2, 1
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _080AB206
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r1, r2
- bl sub_80A671C
- lsls r0, 24
- lsrs r0, 24
- b _080AB208
-_080AB206:
- movs r0, 0x1
-_080AB208:
- pop {r1}
- bx r1
- thumb_func_end sub_80AB1E4
-
- thumb_func_start sub_80AB20C
-sub_80AB20C:
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- bx lr
- thumb_func_end sub_80AB20C
-
- thumb_func_start sub_80AB218
-sub_80AB218:
- push {lr}
- movs r2, 0
- ldrsh r0, [r0, r2]
- bl sub_80A86C8
- pop {r0}
- bx r0
- thumb_func_end sub_80AB218
-
- thumb_func_start sub_80AB228
-sub_80AB228:
- push {lr}
- movs r2, 0
- ldrsh r0, [r0, r2]
- bl sub_80A8750
- pop {r0}
- bx r0
- thumb_func_end sub_80AB228
-
- thumb_func_start sub_80AB238
-sub_80AB238:
- push {lr}
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r2
- bl sub_80A6EC8
- pop {r0}
- bx r0
- thumb_func_end sub_80AB238
-
- thumb_func_start sub_80AB248
-sub_80AB248:
- push {lr}
- bl sub_80A9F94
- pop {r1}
- bx r1
- thumb_func_end sub_80AB248
-
- thumb_func_start GroundLives_Action
-GroundLives_Action:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x3C
- ldr r0, _080AB29C
- ldr r5, [r0]
- movs r0, 0
- mov r9, r0
-_080AB266:
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- movs r3, 0x1
- negs r3, r3
- mov r8, r3
- adds r0, r3, 0
- cmp r1, r0
- bne _080AB278
- b _080AB47C
-_080AB278:
- adds r4, r5, 0
- adds r4, 0x38
- ldr r1, _080AB2A0
- adds r0, r4, 0
- bl HandleAction
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- beq _080AB2A4
- cmp r3, 0x4
- beq _080AB292
- b _080AB44C
-_080AB292:
- mov r0, r9
- bl GroundLives_Delete
- b _080AB47C
- .align 2, 0
-_080AB29C: .4byte gUnknown_3001B84
-_080AB2A0: .4byte gUnknown_8118280
-_080AB2A4:
- movs r0, 0x8E
- lsls r0, 1
- adds r2, r5, r0
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 4
- ands r0, r1
- cmp r0, 0
- bne _080AB2B8
- b _080AB42E
-_080AB2B8:
- str r3, [sp, 0xC]
- add r0, sp, 0x8
- mov r1, r8
- strb r1, [r0]
- str r3, [sp, 0x10]
- movs r3, 0x90
- lsls r3, 1
- adds r0, r5, r3
- add r1, sp, 0xC
- add r3, sp, 0x10
- add r4, sp, 0x14
- str r4, [sp]
- ldr r2, [r2]
- str r2, [sp, 0x4]
- add r2, sp, 0x8
- bl sub_809CDC8
- subs r0, 0x1
- mov r8, r4
- cmp r0, 0x7
- bls _080AB2E4
- b _080AB44C
-_080AB2E4:
- lsls r0, 2
- ldr r1, _080AB2F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AB2F0: .4byte _080AB2F4
- .align 2, 0
-_080AB2F4:
- .4byte _080AB314
- .4byte _080AB314
- .4byte _080AB326
- .4byte _080AB44C
- .4byte _080AB314
- .4byte _080AB44C
- .4byte _080AB44C
- .4byte _080AB314
-_080AB314:
- ldr r1, [sp, 0xC]
- add r0, sp, 0x8
- movs r2, 0
- ldrsb r2, [r0, r2]
- ldr r3, [sp, 0x10]
- adds r0, r5, 0
- bl sub_80AAAE8
- b _080AB44C
-_080AB326:
- add r4, sp, 0x1C
- adds r0, r4, 0
- bl sub_809D248
- ldr r1, [sp, 0x1C]
- ldr r0, [sp, 0x14]
- adds r6, r1, r0
- ldr r1, [r4, 0x4]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r7, r1, r0
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r5, r3
- ldr r1, [r0]
- ldr r0, [r5, 0x14]
- adds r0, r1, r0
- cmp r0, 0
- bge _080AB34E
- adds r0, 0xFF
-_080AB34E:
- asrs r0, 8
- subs r0, r6, r0
- str r0, [sp, 0x24]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r5, r1
- ldr r1, [r0]
- ldr r0, [r5, 0x18]
- adds r0, r1, r0
- cmp r0, 0
- bge _080AB366
- adds r0, 0xFF
-_080AB366:
- asrs r0, 8
- subs r0, r7, r0
- add r1, sp, 0x24
- str r0, [r1, 0x4]
- adds r0, r6, 0
- subs r0, 0x10
- lsls r0, 8
- str r0, [sp, 0x2C]
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 8
- str r0, [sp, 0x34]
- subs r0, r7, 0x4
- lsls r0, 8
- add r2, sp, 0x2C
- str r0, [r2, 0x4]
- adds r0, r7, 0
- adds r0, 0x1C
- lsls r0, 8
- add r3, sp, 0x34
- str r0, [r3, 0x4]
- ldr r0, [sp, 0xC]
- adds r4, r1, 0
- cmp r0, 0xC
- bne _080AB3C4
- adds r0, r5, 0
- movs r1, 0xC
- bl sub_80AA180
- cmp r0, 0
- bne _080AB44C
- ldr r0, [sp, 0x24]
- adds r0, 0x10
- cmp r0, 0x20
- bhi _080AB44C
- movs r0, 0x1C
- negs r0, r0
- ldr r1, [r4, 0x4]
- cmp r1, r0
- blt _080AB44C
- cmp r1, 0x4
- bgt _080AB44C
- movs r2, 0x1
- negs r2, r2
- adds r0, r5, 0
- movs r1, 0x13
- b _080AB426
-_080AB3C4:
- ldr r0, [sp, 0x24]
- adds r0, 0x10
- cmp r0, 0x20
- bhi _080AB3DA
- movs r0, 0x1C
- negs r0, r0
- ldr r1, [r4, 0x4]
- cmp r1, r0
- blt _080AB3DA
- cmp r1, 0x4
- ble _080AB44C
-_080AB3DA:
- adds r0, r4, 0
- bl sub_8002C60
- add r1, sp, 0x8
- strb r0, [r1]
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- cmp r0, r1
- beq _080AB44C
- ldr r0, [sp, 0xC]
- cmp r0, 0x11
- beq _080AB410
- cmp r0, 0x11
- bhi _080AB3FE
- cmp r0, 0x10
- beq _080AB404
- b _080AB44C
-_080AB3FE:
- cmp r0, 0x12
- beq _080AB41C
- b _080AB44C
-_080AB404:
- add r0, sp, 0x8
- movs r2, 0
- ldrsb r2, [r0, r2]
- adds r0, r5, 0
- movs r1, 0x6
- b _080AB426
-_080AB410:
- add r0, sp, 0x8
- movs r2, 0
- ldrsb r2, [r0, r2]
- adds r0, r5, 0
- movs r1, 0x7
- b _080AB426
-_080AB41C:
- add r0, sp, 0x8
- movs r2, 0
- ldrsb r2, [r0, r2]
- adds r0, r5, 0
- movs r1, 0x8
-_080AB426:
- movs r3, 0
- bl sub_80AAAE8
- b _080AB44C
-_080AB42E:
- movs r0, 0x80
- lsls r0, 5
- ands r1, r0
- cmp r1, 0
- beq _080AB440
- adds r0, r5, 0
- bl sub_80AB5D4
- b _080AB44C
-_080AB440:
- ldr r3, _080AB4C4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- bl sub_809D8C0
-_080AB44C:
- movs r2, 0xAE
- lsls r2, 1
- adds r1, r5, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080AB47C
- movs r0, 0
- strb r0, [r1]
- movs r3, 0xB8
- lsls r3, 1
- adds r0, r5, r3
- adds r2, 0xC
- adds r1, r5, r2
- movs r3, 0
- ldrsh r1, [r1, r3]
- subs r2, 0x26
- adds r4, r5, r2
- ldrb r2, [r4]
- ldr r3, _080AB4C8
- strb r2, [r3, r5]
- movs r2, 0
- ldrsb r2, [r4, r2]
- bl sub_80A6EFC
-_080AB47C:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- movs r0, 0xF8
- lsls r0, 1
- adds r5, r0
- mov r1, r9
- cmp r1, 0x17
- bgt _080AB494
- b _080AB266
-_080AB494:
- ldr r0, _080AB4CC
- ldr r6, [r0]
- ldr r0, _080AB4D0
- ldr r5, [r0]
- movs r0, 0
- str r0, [r6]
- str r0, [r6, 0x4]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- subs r0, 0x1
- cmp r1, r0
- beq _080AB4BE
- movs r3, 0x8E
- lsls r3, 1
- adds r0, r5, r3
- ldr r1, [r0]
- movs r3, 0x80
- lsls r3, 6
- ands r3, r1
- cmp r3, 0
- beq _080AB4D4
-_080AB4BE:
- bl sub_80AB5A4
- b _080AB594
- .align 2, 0
-_080AB4C4: .4byte gUnknown_811828C
-_080AB4C8: .4byte 0x0000015d
-_080AB4CC: .4byte gUnknown_3001B80
-_080AB4D0: .4byte gUnknown_3001B84
-_080AB4D4:
- movs r0, 0x80
- lsls r0, 5
- ands r1, r0
- cmp r1, 0
- beq _080AB590
- ldr r7, [r6, 0x24]
- cmp r7, 0
- bge _080AB51E
- adds r2, r6, 0
- adds r2, 0x2C
- str r3, [r6, 0x24]
- str r3, [r6, 0x2C]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- ldr r1, [r5, 0x14]
- adds r0, r1
- str r0, [r2, 0x4]
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r5, r3
- ldr r0, [r0]
- ldr r1, [r5, 0x18]
- adds r0, r1
- str r0, [r2, 0x8]
- adds r0, r6, 0
- movs r2, 0
- movs r1, 0x2
-_080AB50E:
- str r2, [r0, 0x8]
- str r2, [r0]
- str r2, [r0, 0x4]
- subs r1, 0x1
- adds r0, 0xC
- cmp r1, 0
- bge _080AB50E
- b _080AB594
-_080AB51E:
- adds r2, r7, 0x1
- adds r0, r2, 0
- cmp r2, 0
- bge _080AB52A
- adds r0, r7, 0
- adds r0, 0x40
-_080AB52A:
- asrs r1, r0, 6
- lsls r0, r1, 6
- subs r1, r2, r0
- str r1, [r6, 0x24]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x2C
- adds r0, r6
- mov r8, r0
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r5, r1
- ldr r2, [r0]
- ldr r0, [r5, 0x14]
- adds r2, r0
- mov r3, r8
- str r2, [r3, 0x4]
- adds r1, 0x4
- adds r0, r5, r1
- ldr r1, [r0]
- ldr r0, [r5, 0x18]
- adds r1, r0
- str r1, [r3, 0x8]
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- adds r0, 0x2C
- adds r0, r6, r0
- ldr r3, [r0, 0x4]
- ldr r0, [r0, 0x8]
- subs r0, r1, r0
- subs r2, r3
- cmp r2, 0
- bge _080AB572
- negs r2, r2
-_080AB572:
- adds r4, r2, 0
- cmp r0, 0
- bge _080AB57A
- negs r0, r0
-_080AB57A:
- cmp r0, r4
- bge _080AB580
- adds r0, r2, 0
-_080AB580:
- mov r2, r8
- str r0, [r2]
- cmp r0, 0
- bgt _080AB58C
- str r7, [r6, 0x24]
- b _080AB594
-_080AB58C:
- str r0, [r6]
- b _080AB594
-_080AB590:
- bl sub_80AB5A4
-_080AB594:
- add sp, 0x3C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GroundLives_Action
-
- thumb_func_start sub_80AB5A4
-sub_80AB5A4:
- push {lr}
- ldr r3, _080AB5D0
- ldr r0, [r3]
- movs r2, 0x1
- negs r2, r2
- str r2, [r0, 0x24]
- adds r0, 0x28
- movs r1, 0xFF
- strb r1, [r0]
- ldr r3, [r3]
- movs r1, 0
- movs r0, 0x2
-_080AB5BC:
- str r2, [r3, 0x8]
- str r1, [r3]
- str r1, [r3, 0x4]
- subs r0, 0x1
- adds r3, 0xC
- cmp r0, 0
- bge _080AB5BC
- pop {r0}
- bx r0
- .align 2, 0
-_080AB5D0: .4byte gUnknown_3001B80
- thumb_func_end sub_80AB5A4
-
- thumb_func_start sub_80AB5D4
-sub_80AB5D4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r9, r0
- ldr r4, _080AB6BC
- movs r2, 0x9E
- lsls r2, 1
- add r2, r9
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r3, [r4]
- adds r0, r3
- mov r8, r0
- adds r0, r1, 0
- adds r5, r4, 0
- cmp r0, 0
- bne _080AB604
- b _080AB9E6
-_080AB604:
- movs r1, 0xAF
- lsls r1, 1
- add r1, r9
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r1]
- movs r1, 0xB0
- lsls r1, 1
- add r1, r9
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x8E
- lsls r0, 1
- add r0, r9
- ldr r2, [r0]
- movs r0, 0x80
- lsls r0, 6
- ands r2, r0
- cmp r2, 0
- beq _080AB6D4
- movs r2, 0xA1
- lsls r2, 1
- add r2, r9
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0x4
- bne _080AB64C
- movs r0, 0xB4
- lsls r0, 1
- add r0, r9
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r0, 0x80
- lsls r0, 4
- cmp r1, r0
- beq _080AB670
-_080AB64C:
- movs r1, 0xB2
- lsls r1, 1
- add r1, r9
- movs r0, 0
- str r0, [r1]
- movs r1, 0xB4
- lsls r1, 1
- add r1, r9
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r1]
- movs r0, 0x4
- strb r0, [r2]
- movs r1, 0xAE
- lsls r1, 1
- add r1, r9
- movs r0, 0x1
- strb r0, [r1]
-_080AB670:
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x28
- movs r1, 0
- ldrsb r1, [r2, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AB69C
- movs r2, 0x80
- lsls r2, 1
- mov r0, sp
- bl sub_8002BB8
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- add r1, sp, 0x8
- mov r0, r9
- bl sub_80A9F94
-_080AB69C:
- mov r4, r8
- ldr r0, [r4, 0x8]
- cmp r0, 0
- blt _080AB6A6
- b _080AB9E6
-_080AB6A6:
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- cmp r0, 0
- bge _080AB6B0
- b _080AB9E6
-_080AB6B0:
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4]
- str r0, [r4, 0x4]
- b _080AB9E6
- .align 2, 0
-_080AB6BC: .4byte gUnknown_3001B80
-_080AB6C0:
- ldr r5, [sp, 0x28]
- ldr r0, [r5, 0x4]
- adds r0, r7, r0
- str r0, [r5, 0x4]
- b _080AB7E2
-_080AB6CA:
- ldr r1, [sp, 0x28]
- ldr r0, [r1, 0x4]
- subs r0, r7
- str r0, [r1, 0x4]
- b _080AB7E2
-_080AB6D4:
- movs r0, 0xA2
- lsls r0, 1
- add r0, r9
- ldr r1, [r0]
- mov r5, r9
- ldr r0, [r5, 0x14]
- adds r0, r1, r0
- str r0, [sp, 0x20]
- movs r0, 0xA4
- lsls r0, 1
- add r0, r9
- ldr r1, [r0]
- ldr r0, [r5, 0x18]
- adds r0, r1, r0
- str r0, [sp, 0x24]
- ldr r0, [sp, 0x20]
- ldr r1, [sp, 0x24]
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- mov r1, r8
- ldr r0, [r1, 0x8]
- cmp r0, 0
- bge _080AB710
- ldr r0, [r3, 0x24]
- cmp r0, 0
- bge _080AB70A
- b _080AB9E6
-_080AB70A:
- str r0, [r1, 0x8]
- str r2, [r1]
- str r2, [r1, 0x4]
-_080AB710:
- mov r2, r8
- ldr r7, [r2]
- movs r3, 0x1
- mov r10, r3
- mov r5, sp
- adds r5, 0x10
- str r5, [sp, 0x28]
-_080AB71E:
- mov r0, r8
- ldr r1, [r0, 0x8]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x2C
- ldr r2, _080AB754
- ldr r1, [r2]
- adds r1, r0
- mov r12, r1
- ldr r6, [r1, 0x4]
- ldr r5, [sp, 0x10]
- subs r4, r6, r5
- adds r2, r4, 0
- ldr r1, [r1, 0x8]
- ldr r0, [sp, 0x14]
- subs r3, r1, r0
- cmp r4, 0
- ble _080AB75E
- cmp r2, r7
- ble _080AB758
- adds r0, r7, r5
- str r0, [sp, 0x10]
- movs r4, 0
- mov r10, r4
- b _080AB75A
- .align 2, 0
-_080AB754: .4byte gUnknown_3001B80
-_080AB758:
- str r6, [sp, 0x10]
-_080AB75A:
- adds r1, r2, 0
- b _080AB778
-_080AB75E:
- cmp r4, 0
- bge _080AB776
- cmn r2, r7
- bge _080AB770
- subs r0, r5, r7
- str r0, [sp, 0x10]
- movs r5, 0
- mov r10, r5
- b _080AB772
-_080AB770:
- str r6, [sp, 0x10]
-_080AB772:
- negs r1, r2
- b _080AB778
-_080AB776:
- movs r1, 0
-_080AB778:
- cmp r3, 0
- ble _080AB78E
- cmp r3, r7
- bgt _080AB6C0
- mov r4, r12
- ldr r0, [r4, 0x8]
- str r0, [sp, 0x14]
- cmp r3, r1
- ble _080AB7A2
- adds r1, r3, 0
- b _080AB7A2
-_080AB78E:
- cmp r3, 0
- bge _080AB7A2
- cmn r3, r7
- blt _080AB6CA
- mov r5, r12
- ldr r0, [r5, 0x8]
- str r0, [sp, 0x14]
- cmn r3, r1
- bge _080AB7A2
- negs r1, r3
-_080AB7A2:
- mov r0, r10
- cmp r0, 0
- beq _080AB7E2
- subs r7, r1
- cmp r7, 0
- ble _080AB7E2
- ldr r1, _080AB7D4
- ldr r0, [r1]
- mov r3, r8
- ldr r2, [r3, 0x8]
- ldr r0, [r0, 0x24]
- cmp r2, r0
- beq _080AB7D8
- adds r1, r2, 0x1
- adds r0, r1, 0
- cmp r1, 0
- bge _080AB7C8
- adds r0, r2, 0
- adds r0, 0x40
-_080AB7C8:
- asrs r0, 6
- lsls r0, 6
- subs r0, r1, r0
- mov r4, r8
- str r0, [r4, 0x8]
- b _080AB7DC
- .align 2, 0
-_080AB7D4: .4byte gUnknown_3001B80
-_080AB7D8:
- movs r5, 0
- mov r10, r5
-_080AB7DC:
- mov r0, r10
- cmp r0, 0
- bne _080AB71E
-_080AB7E2:
- mov r1, r8
- ldr r0, [r1, 0x8]
- bl sub_80ABA00
- adds r6, r0, 0
- ldr r0, _080AB860
- ldr r7, [r0]
- movs r2, 0x9E
- lsls r2, 1
- add r2, r9
- mov r10, r2
- movs r3, 0
- ldrsh r2, [r2, r3]
- subs r1, r2, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r1, r7, 0x4
- adds r1, r0
- ldr r0, _080AB864
- lsls r2, 2
- adds r2, r0
- ldr r1, [r1]
- ldr r0, [r2]
- adds r1, r0
- mov r12, r1
- mov r4, r8
- ldr r1, [r4, 0x8]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x2C
- adds r0, r7, r0
- ldr r3, [r0, 0x4]
- ldr r2, [sp, 0x10]
- ldr r1, [r0, 0x8]
- ldr r5, [sp, 0x28]
- ldr r0, [r5, 0x4]
- subs r1, r0
- subs r3, r2
- cmp r3, 0
- bge _080AB838
- negs r3, r3
-_080AB838:
- adds r4, r3, 0
- cmp r1, 0
- bge _080AB840
- negs r1, r1
-_080AB840:
- cmp r1, r4
- bge _080AB846
- adds r1, r3, 0
-_080AB846:
- adds r6, r1
- mov r0, r8
- str r6, [r0, 0x4]
- cmp r6, r12
- bgt _080AB86C
- ldr r0, [r0]
- cmp r0, 0
- ble _080AB8B2
- ldr r1, _080AB868
- adds r0, r1
- mov r2, r8
- b _080AB8B0
- .align 2, 0
-_080AB860: .4byte gUnknown_3001B80
-_080AB864: .4byte gUnknown_8118050
-_080AB868: .4byte 0xffffff00
-_080AB86C:
- mov r3, r10
- movs r4, 0
- ldrsh r1, [r3, r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- cmp r6, r0
- bgt _080AB88E
- mov r5, r8
- ldr r0, [r5]
- cmp r0, 0xFF
- bgt _080AB8B2
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- str r0, [r5]
- b _080AB8B2
-_080AB88E:
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r7, r0
- ldr r0, [r0]
- cmp r0, 0xFF
- bgt _080AB8A2
- movs r0, 0x80
- lsls r0, 1
-_080AB8A2:
- mov r2, r8
- ldr r1, [r2]
- cmp r1, r0
- bge _080AB8B2
- movs r3, 0x80
- lsls r3, 1
- adds r0, r1, r3
-_080AB8B0:
- str r0, [r2]
-_080AB8B2:
- ldr r0, _080AB96C
- ldr r3, [r0]
- mov r4, r8
- ldr r0, [r4, 0x8]
- subs r0, 0x40
- ldr r2, [r3, 0x24]
- subs r1, r2, r0
- adds r0, r1, 0
- cmp r1, 0
- bge _080AB8C8
- adds r0, 0x3F
-_080AB8C8:
- asrs r0, 6
- lsls r0, 6
- subs r0, r1, r0
- cmp r0, 0x3B
- ble _080AB8FC
- adds r1, r2, 0x5
- adds r0, r1, 0
- cmp r1, 0
- bge _080AB8DE
- adds r0, r2, 0
- adds r0, 0x44
-_080AB8DE:
- asrs r0, 6
- lsls r0, 6
- subs r0, r1, r0
- mov r5, r8
- str r0, [r5, 0x8]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x30
- adds r0, r1
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
-_080AB8FC:
- mov r0, r9
- ldr r1, [sp, 0x28]
- bl sub_80A9F20
- adds r6, r0, 0
- cmp r6, 0
- bne _080AB9E6
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x20]
- subs r0, r1
- str r0, [sp, 0x18]
- ldr r2, [sp, 0x28]
- ldr r1, [r2, 0x4]
- ldr r3, [sp, 0x24]
- subs r1, r3
- add r0, sp, 0x18
- str r1, [r0, 0x4]
- movs r5, 0xA1
- lsls r5, 1
- add r5, r9
- movs r4, 0
- ldrsb r4, [r5, r4]
- bl sub_8002C60
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- adds r0, r4, 0
- bl sub_8002B04
- strb r0, [r5]
- mov r4, r8
- ldr r0, [r4]
- cmp r0, 0
- ble _080AB970
- movs r1, 0xB2
- lsls r1, 1
- add r1, r9
- movs r0, 0x4
- str r0, [r1]
- ldr r1, [r4]
- movs r0, 0x80
- lsls r0, 2
- movs r2, 0x80
- lsls r2, 4
- cmp r1, r0
- ble _080AB95E
- movs r2, 0xA0
- lsls r2, 4
-_080AB95E:
- adds r4, r2, 0
- mov r0, r9
- movs r1, 0x1
- bl sub_80AAF68
- b _080AB982
- .align 2, 0
-_080AB96C: .4byte gUnknown_3001B80
-_080AB970:
- ldr r4, _080AB9F8
- movs r0, 0xB2
- lsls r0, 1
- add r0, r9
- str r6, [r0]
- mov r0, r9
- movs r1, 0
- bl sub_80AAF68
-_080AB982:
- movs r0, 0xAE
- lsls r0, 1
- add r0, r9
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AB9B6
- movs r0, 0xB4
- lsls r0, 1
- add r0, r9
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r4, r0
- bne _080AB9B6
- ldr r1, _080AB9FC
- add r1, r9
- movs r0, 0xA1
- lsls r0, 1
- add r0, r9
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- beq _080AB9E6
-_080AB9B6:
- movs r1, 0xAE
- lsls r1, 1
- add r1, r9
- movs r0, 0
- strb r0, [r1]
- movs r0, 0xB8
- lsls r0, 1
- add r0, r9
- movs r1, 0xB4
- lsls r1, 1
- add r1, r9
- strh r4, [r1]
- movs r3, 0xA1
- lsls r3, 1
- add r3, r9
- ldrb r1, [r3]
- ldr r2, _080AB9FC
- add r2, r9
- strb r1, [r2]
- movs r2, 0
- ldrsb r2, [r3, r2]
- adds r1, r4, 0
- bl sub_80A6EFC
-_080AB9E6:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB9F8: .4byte 0x00000807
-_080AB9FC: .4byte 0x0000015d
- thumb_func_end sub_80AB5D4
-
- thumb_func_start sub_80ABA00
-sub_80ABA00:
- push {r4,r5,lr}
- adds r1, r0, 0
- movs r4, 0
- ldr r0, _080ABA34
- ldr r2, [r0]
- ldr r3, [r2, 0x24]
- adds r5, r0, 0
- cmp r3, r1
- ble _080ABA38
- adds r1, 0x1
- cmp r1, r3
- bge _080ABA72
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x2C
- adds r2, r0, r2
- subs r1, r3, r1
-_080ABA24:
- ldr r0, [r2]
- adds r4, r0
- adds r2, 0xC
- subs r1, 0x1
- cmp r1, 0
- bne _080ABA24
- b _080ABA72
- .align 2, 0
-_080ABA34: .4byte gUnknown_3001B80
-_080ABA38:
- cmp r3, r1
- bge _080ABA72
- adds r1, 0x1
- cmp r1, 0x3F
- bgt _080ABA58
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x2C
- adds r2, r0, r2
-_080ABA4C:
- ldr r0, [r2]
- adds r4, r0
- adds r2, 0xC
- adds r1, 0x1
- cmp r1, 0x3F
- ble _080ABA4C
-_080ABA58:
- ldr r1, [r5]
- ldr r0, [r1, 0x24]
- cmp r0, 0
- ble _080ABA72
- adds r2, r1, 0
- adds r2, 0x2C
- adds r1, r0, 0
-_080ABA66:
- ldr r0, [r2]
- adds r4, r0
- adds r2, 0xC
- subs r1, 0x1
- cmp r1, 0
- bne _080ABA66
-_080ABA72:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80ABA00
-
- thumb_func_start sub_80ABA7C
-sub_80ABA7C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r0, _080ABB50
- ldr r5, [r0]
- movs r0, 0
- mov r8, r0
- movs r1, 0xA2
- lsls r1, 1
- adds r4, r5, r1
- movs r2, 0x1
- negs r2, r2
- mov r9, r2
-_080ABA9A:
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, r9
- beq _080ABB2C
- ldr r0, [r4]
- ldr r1, [r5, 0x14]
- adds r0, r1
- str r0, [sp]
- ldr r0, [r4, 0x4]
- ldr r1, [r5, 0x18]
- adds r0, r1
- str r0, [sp, 0x4]
- ldr r1, [r4, 0x10]
- ldr r0, [r4, 0x14]
- adds r7, r1, r0
- ldr r0, [r4, 0x20]
- cmp r0, 0
- ble _080ABADA
- subs r0, 0x1
- str r0, [r4, 0x20]
- cmp r0, 0
- bgt _080ABADA
- ldrh r0, [r4, 0x1C]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080ABADA
- ldrh r1, [r4, 0x1C]
- adds r0, r5, 0
- bl sub_80A9750
-_080ABADA:
- movs r2, 0xB8
- lsls r2, 1
- adds r6, r5, r2
- adds r0, r6, 0
- bl sub_80A66D4
- lsls r0, 24
- cmp r0, 0
- beq _080ABAFE
- movs r0, 0
- strb r0, [r4, 0x18]
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- movs r2, 0x19
- ldrsb r2, [r4, r2]
- adds r0, r6, 0
- bl sub_80A6EFC
-_080ABAFE:
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080ABB1E
- adds r1, r0, 0
- movs r2, 0xA1
- lsls r2, 1
- adds r0, r5, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- ldr r3, [r4, 0x28]
- adds r0, r6, 0
- bl sub_80A74F0
- movs r0, 0
- strh r0, [r4, 0x26]
-_080ABB1E:
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- adds r0, r6, 0
- mov r2, sp
- adds r3, r7, 0
- bl sub_80A7524
-_080ABB2C:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r1, 0xF8
- lsls r1, 1
- adds r4, r1
- adds r5, r1
- cmp r0, 0x17
- ble _080ABA9A
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABB50: .4byte gUnknown_3001B84
- thumb_func_end sub_80ABA7C
-
- thumb_func_start sub_80ABB54
-sub_80ABB54:
- push {r4,r5,lr}
- ldr r4, _080ABB90
- movs r0, 0xE2
- lsls r0, 5
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- adds r1, r0, 0
- ldr r0, _080ABB94
- adds r5, r0, 0
- movs r4, 0xE2
- lsls r4, 1
- movs r2, 0x80
- lsls r2, 9
- adds r3, r2, 0
-_080ABB74:
- ldrh r0, [r1, 0x6]
- orrs r0, r5
- strh r0, [r1, 0x6]
- adds r0, r2, 0
- adds r2, r3
- asrs r0, 16
- adds r1, r4
- cmp r0, 0xF
- ble _080ABB74
- bl sub_80ABB98
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABB90: .4byte gUnknown_3001B88
-_080ABB94: .4byte 0x0000ffff
- thumb_func_end sub_80ABB54
-
- thumb_func_start sub_80ABB98
-sub_80ABB98:
- push {r4-r6,lr}
- ldr r0, _080ABBD0
- ldr r4, [r0]
- movs r1, 0
- movs r6, 0x1
- negs r6, r6
- movs r5, 0x80
- lsls r5, 9
-_080ABBA8:
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, r6
- beq _080ABBB6
- adds r0, r1, 0
- bl GroundObject_Delete
-_080ABBB6:
- adds r0, r5, 0
- movs r1, 0x80
- lsls r1, 9
- adds r5, r1
- asrs r1, r0, 16
- movs r2, 0xE2
- lsls r2, 1
- adds r4, r2
- cmp r1, 0xF
- ble _080ABBA8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABBD0: .4byte gUnknown_3001B88
- thumb_func_end sub_80ABB98
-
- thumb_func_start sub_80ABBD4
-sub_80ABBD4:
- push {r4,lr}
- bl sub_80ABB98
- ldr r4, _080ABBEC
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABBEC: .4byte gUnknown_3001B88
- thumb_func_end sub_80ABBD4
-
- thumb_func_start GroundObject_Select
-GroundObject_Select:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 24
- asrs r6, r2, 24
- ldr r1, _080ABC54
- adds r0, r4, 0
- bl sub_80A77D0
- adds r5, r0, 0
- ldr r1, _080ABC58
- str r6, [sp]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl Log
- lsls r1, r7, 3
- ldr r0, [r5, 0x4]
- adds r0, r1
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- ldr r0, [r0, 0x4]
- adds r0, r1
- ldr r5, [r0, 0xC]
- ldr r0, [r0, 0x8]
- cmp r0, 0
- ble _080ABC4A
- adds r4, r0, 0
-_080ABC34:
- movs r0, 0x1
- negs r0, r0
- adds r1, r5, 0
- adds r2, r7, 0
- adds r3, r6, 0
- bl GroundObject_Add
- subs r4, 0x1
- adds r5, 0x18
- cmp r4, 0
- bne _080ABC34
-_080ABC4A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABC54: .4byte gUnknown_81183E4
-_080ABC58: .4byte gUnknown_81183F0
- thumb_func_end GroundObject_Select
-
- thumb_func_start GroundObject_Cancel
-GroundObject_Cancel:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- lsls r1, 24
- asrs r5, r1, 24
- ldr r1, _080ABCC4
- movs r0, 0
- adds r2, r7, 0
- bl Log
- movs r1, 0
- ldr r0, _080ABCC8
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080ABC84:
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, r8
- beq _080ABCA6
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, r7
- bne _080ABCA6
- cmp r5, 0
- blt _080ABCA0
- movs r0, 0xA
- ldrsb r0, [r4, r0]
- cmp r0, r5
- bne _080ABCA6
-_080ABCA0:
- adds r0, r1, 0
- bl GroundObject_Delete
-_080ABCA6:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r1, r0, 16
- movs r2, 0xE2
- lsls r2, 1
- adds r4, r2
- cmp r1, 0xF
- ble _080ABC84
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABCC4: .4byte gUnknown_8118414
-_080ABCC8: .4byte gUnknown_3001B88
- thumb_func_end GroundObject_Cancel
-
- thumb_func_start GroundObject_CancelBlank
-GroundObject_CancelBlank:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r1, _080ABD40
- movs r0, 0
- bl Log
- movs r6, 0
- ldr r0, _080ABD44
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r1, 0x92
- lsls r1, 1
- adds r5, r4, r1
- mov r7, sp
-_080ABCF0:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, r8
- beq _080ABD20
- ldr r0, [r5]
- ldr r1, [r4, 0x14]
- adds r0, r1
- str r0, [sp]
- ldr r0, [r5, 0x4]
- ldr r1, [r4, 0x18]
- adds r0, r1
- str r0, [r7, 0x4]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r4, r1
- mov r1, sp
- bl sub_80A675C
- lsls r0, 24
- cmp r0, 0
- bne _080ABD20
- adds r0, r6, 0
- bl GroundObject_Delete
-_080ABD20:
- adds r0, r6, 0x1
- lsls r0, 16
- asrs r6, r0, 16
- movs r0, 0xE2
- lsls r0, 1
- adds r5, r0
- adds r4, r0
- cmp r6, 0xF
- ble _080ABCF0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABD40: .4byte gUnknown_811842C
-_080ABD44: .4byte gUnknown_3001B88
- thumb_func_end GroundObject_CancelBlank
-
- thumb_func_start sub_80ABD48
-sub_80ABD48:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r4, r0, 16
- movs r3, 0
- ldr r0, _080ABD6C
- ldr r1, [r0]
- movs r6, 0xE2
- lsls r6, 1
- movs r2, 0x80
- lsls r2, 9
- adds r5, r2, 0
-_080ABD5E:
- movs r7, 0x6
- ldrsh r0, [r1, r7]
- cmp r0, r4
- bne _080ABD70
- adds r0, r3, 0
- b _080ABD80
- .align 2, 0
-_080ABD6C: .4byte gUnknown_3001B88
-_080ABD70:
- adds r0, r2, 0
- adds r2, r5
- asrs r3, r0, 16
- adds r1, r6
- cmp r3, 0xF
- ble _080ABD5E
- movs r0, 0x1
- negs r0, r0
-_080ABD80:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80ABD48
-
- thumb_func_start GroundObject_Add
-GroundObject_Add:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r8, r1
- lsls r0, 16
- asrs r7, r0, 16
- lsls r2, 16
- asrs r2, 16
- mov r10, r2
- lsls r3, 24
- asrs r3, 24
- mov r9, r3
- ldrb r4, [r1]
- cmp r4, 0x1A
- bne _080ABDDA
- movs r0, 0
- movs r1, 0x28
- bl sub_8001658
- cmp r0, 0x1
- bgt _080ABDBC
- movs r4, 0x1B
- b _080ABDDA
-_080ABDBC:
- movs r0, 0
- movs r1, 0x29
- bl sub_8001658
- cmp r0, 0
- bne _080ABDD4
- movs r0, 0
- movs r1, 0x27
- bl sub_8001658
- adds r0, 0x1C
- b _080ABDD6
-_080ABDD4:
- adds r0, 0x2B
-_080ABDD6:
- lsls r0, 16
- asrs r4, r0, 16
-_080ABDDA:
- lsls r1, r4, 2
- ldr r0, _080ABE10
- adds r6, r1, r0
- cmp r7, 0
- bge _080ABE40
- cmp r4, 0xE
- bgt _080ABDF4
- cmp r4, 0xD
- blt _080ABDF4
- adds r0, r4, 0
- bl sub_80ABD48
- adds r7, r0, 0
-_080ABDF4:
- cmp r7, 0
- bge _080ABE40
- movs r3, 0
- ldr r0, _080ABE14
- ldr r5, [r0]
- movs r0, 0x6
- ldrsh r1, [r5, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ABE18
- movs r7, 0
- b _080ABE40
- .align 2, 0
-_080ABE10: .4byte gUnknown_811ED20
-_080ABE14: .4byte gUnknown_3001B88
-_080ABE18:
- adds r0, r3, 0x1
- lsls r0, 16
- asrs r3, r0, 16
- movs r1, 0xE2
- lsls r1, 1
- adds r5, r1
- cmp r3, 0xF
- bgt _080ABE36
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ABE18
- adds r7, r3, 0
-_080ABE36:
- cmp r7, 0
- bge _080ABE40
- movs r0, 0x1
- negs r0, r0
- b _080AC142
-_080ABE40:
- ldr r1, _080ABEA8
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, [r1]
- adds r5, r1, r0
- ldr r1, _080ABEAC
- mov r3, r8
- ldrb r0, [r3]
- str r0, [sp]
- movs r2, 0
- ldrsh r0, [r6, r2]
- str r0, [sp, 0x4]
- mov r3, r10
- str r3, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- movs r0, 0
- adds r2, r7, 0
- adds r3, r4, 0
- bl Log
- movs r2, 0
- movs r3, 0x6
- ldrsh r1, [r5, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ABE80
- movs r2, 0x1
-_080ABE80:
- str r2, [sp, 0x10]
- strh r7, [r5, 0x4]
- strh r4, [r5, 0x6]
- mov r0, r10
- strh r0, [r5, 0x8]
- mov r1, r9
- strb r1, [r5, 0xA]
- ldrh r0, [r6]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xE
- bls _080ABE9C
- b _080ABF8C
-_080ABE9C:
- lsls r0, 2
- ldr r1, _080ABEB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ABEA8: .4byte gUnknown_3001B88
-_080ABEAC: .4byte gUnknown_8118448
-_080ABEB0: .4byte _080ABEB4
- .align 2, 0
-_080ABEB4:
- .4byte _080ABEF0
- .4byte _080ABF7C
- .4byte _080ABF46
- .4byte _080ABF54
- .4byte _080ABF54
- .4byte _080ABF5E
- .4byte _080ABF68
- .4byte _080ABF72
- .4byte _080ABF3C
- .4byte _080ABEFA
- .4byte _080ABEF0
- .4byte _080ABF06
- .4byte _080ABF2C
- .4byte _080ABF1E
- .4byte _080ABF12
-_080ABEF0:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0
- b _080ABF94
-_080ABEFA:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0x80
- lsls r0, 10
- b _080ABF94
-_080ABF06:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x80
- lsls r0, 11
- b _080ABF94
-_080ABF12:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0x83
- lsls r0, 18
- b _080ABF94
-_080ABF1E:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- ldr r0, _080ABF28
- b _080ABF94
- .align 2, 0
-_080ABF28: .4byte 0x220c0000
-_080ABF2C:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
- ldr r0, _080ABF38
- b _080ABF94
- .align 2, 0
-_080ABF38: .4byte 0x20010000
-_080ABF3C:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0x5
- b _080ABF94
-_080ABF46:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- ldr r0, _080ABF50
- b _080ABF94
- .align 2, 0
-_080ABF50: .4byte 0x22000184
-_080ABF54:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
- adds r0, 0x68
- b _080ABF94
-_080ABF5E:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0x44
- b _080ABF94
-_080ABF68:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0x84
- b _080ABF94
-_080ABF72:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
- adds r0, 0x64
- b _080ABF94
-_080ABF7C:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- ldr r0, _080ABF88
- b _080ABF94
- .align 2, 0
-_080ABF88: .4byte 0x020000c4
-_080ABF8C:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- ldr r0, _080ABFA8
-_080ABF94:
- str r0, [r1]
- ldrb r0, [r6, 0x2]
- cmp r0, 0
- bne _080ABFAC
- mov r1, r8
- ldrb r0, [r1, 0x2]
- lsls r0, 11
- str r0, [r5, 0xC]
- ldrb r0, [r1, 0x3]
- b _080ABFB4
- .align 2, 0
-_080ABFA8: .4byte 0x02000185
-_080ABFAC:
- ldrb r0, [r6, 0x2]
- lsls r0, 11
- str r0, [r5, 0xC]
- ldrb r0, [r6, 0x3]
-_080ABFB4:
- lsls r0, 11
- str r0, [r5, 0x10]
- ldr r0, [r5, 0xC]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [r5, 0x14]
- ldr r0, [r5, 0x10]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [r5, 0x18]
- mov r2, r8
- ldrb r0, [r2, 0x1]
- strb r0, [r5, 0x1C]
- adds r2, 0x4
- adds r4, r5, 0
- adds r4, 0x20
- ldrb r1, [r2, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080ABFFC
- mov r3, r8
- ldrb r0, [r3, 0x4]
- lsls r3, r0, 11
- str r3, [r5, 0x20]
- ldrb r1, [r2, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080ABFFC
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r5, 0x20]
-_080ABFFC:
- ldrb r1, [r2, 0x3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080AC01E
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 11
- str r3, [r4, 0x4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080AC01E
- movs r2, 0x80
- lsls r2, 3
- adds r0, r3, r2
- str r0, [r4, 0x4]
-_080AC01E:
- ldr r3, [sp, 0x10]
- cmp r3, 0
- beq _080AC076
- ldrb r1, [r5, 0x1C]
- movs r2, 0x90
- lsls r2, 1
- adds r0, r5, r2
- movs r3, 0
- strb r1, [r0]
- movs r0, 0x92
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- subs r0, r1
- str r0, [r2]
- movs r1, 0x96
- lsls r1, 1
- adds r2, r5, r1
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- adds r0, r1
- str r0, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [r5, 0x24]
- ldr r1, [r5, 0x18]
- subs r0, r1
- str r0, [r2]
- movs r1, 0x98
- lsls r1, 1
- adds r2, r5, r1
- ldr r0, [r5, 0x24]
- ldr r1, [r5, 0x18]
- adds r0, r1
- str r0, [r2]
- movs r2, 0x9A
- lsls r2, 1
- adds r1, r5, r2
- adds r2, 0x4
- adds r0, r5, r2
- str r3, [r0]
- str r3, [r1]
-_080AC076:
- adds r0, r5, 0
- adds r0, 0x28
- adds r1, r5, 0
- adds r1, 0x30
- bl sub_80A5778
- ldr r3, [sp, 0x10]
- cmp r3, 0
- beq _080AC0C0
- movs r0, 0x9F
- lsls r0, 1
- adds r1, r5, r0
- movs r2, 0
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r1]
- movs r3, 0x9E
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0x1
- strb r0, [r1]
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r5, r1
- strh r2, [r0]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r5, r2
- movs r3, 0x6
- ldrsh r2, [r5, r3]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- ldr r3, [r1]
- adds r1, r7, 0
- bl sub_80A75CC
-_080AC0C0:
- adds r4, r5, 0
- adds r4, 0x38
- ldr r1, _080AC154
- mov r0, r9
- str r0, [sp]
- adds r0, r4, 0
- adds r2, r5, 0
- mov r3, r10
- bl sub_809D600
- adds r6, r4, 0
- mov r1, r8
- ldr r2, [r1, 0xC]
- cmp r2, 0
- bne _080AC0F2
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r5, r2
- bl sub_80A66A4
- lsls r0, 24
- ldr r2, _080AC158
- cmp r0, 0
- beq _080AC0F2
- ldr r2, _080AC15C
-_080AC0F2:
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_809D6D8
- adds r1, r4, 0
- mov r3, r8
- ldr r2, [r3, 0x10]
- cmp r2, 0
- bne _080AC108
- ldr r0, _080AC160
- ldr r2, [r0, 0x38]
-_080AC108:
- adds r0, r1, 0
- movs r1, 0x2
- bl sub_809D6D8
- mov r0, r8
- ldr r2, [r0, 0x14]
- cmp r2, 0
- bne _080AC11C
- ldr r0, _080AC160
- ldr r2, [r0, 0x68]
-_080AC11C:
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_809D6D8
- mov r1, r8
- ldr r2, [r1, 0x8]
- cmp r2, 0
- beq _080AC140
- adds r0, r4, 0
- movs r1, 0
- bl sub_809D6D8
- ldr r3, _080AC164
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl sub_809D8C0
-_080AC140:
- adds r0, r7, 0
-_080AC142:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AC154: .4byte gUnknown_81182A0
-_080AC158: .4byte gUnknown_81182F4
-_080AC15C: .4byte gUnknown_8118350
-_080AC160: .4byte gUnknown_812F1F8
-_080AC164: .4byte gUnknown_81184A4
- thumb_func_end GroundObject_Add
-
- thumb_func_start GroundObject_Delete
-GroundObject_Delete:
- push {r4,lr}
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- ldr r1, _080AC1A4
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, [r1]
- adds r4, r1, r0
- ldr r1, _080AC1A8
- movs r0, 0
- bl Log
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r4, r1
- bl sub_80A7658
- adds r0, r4, 0
- adds r0, 0x38
- bl sub_809D648
- ldr r0, _080AC1AC
- strh r0, [r4, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AC1A4: .4byte gUnknown_3001B88
-_080AC1A8: .4byte gUnknown_81184B0
-_080AC1AC: .4byte 0x0000ffff
- thumb_func_end GroundObject_Delete
-
- thumb_func_start sub_80AC1B0
-sub_80AC1B0:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AC1F0
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AC1EA
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r2, r1
- ldr r1, [r0]
- orrs r1, r3
- str r1, [r0]
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r2, r3
- bl sub_80A6688
-_080AC1EA:
- pop {r0}
- bx r0
- .align 2, 0
-_080AC1F0: .4byte gUnknown_3001B88
- thumb_func_end sub_80AC1B0
-
- thumb_func_start sub_80AC1F4
-sub_80AC1F4:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AC238
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r3, r0, r1
- movs r0, 0x6
- ldrsh r1, [r3, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AC232
- movs r0, 0x8E
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, _080AC23C
- eors r0, r4
- ldr r1, [r2]
- ands r1, r0
- str r1, [r2]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r3, r2
- bl sub_80A6688
-_080AC232:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AC238: .4byte gUnknown_3001B88
-_080AC23C: .4byte 0x337fffff
- thumb_func_end sub_80AC1F4
-
- thumb_func_start sub_80AC240
-sub_80AC240:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AC268
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AC26C
- movs r0, 0
- b _080AC270
- .align 2, 0
-_080AC268: .4byte gUnknown_3001B88
-_080AC26C:
- adds r0, r2, 0
- adds r0, 0x38
-_080AC270:
- pop {r1}
- bx r1
- thumb_func_end sub_80AC240
-
- thumb_func_start sub_80AC274
-sub_80AC274:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- lsls r2, 16
- asrs r3, r2, 16
- ldr r2, _080AC2A0
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AC2A4
- movs r0, 0
- b _080AC2B4
- .align 2, 0
-_080AC2A0: .4byte gUnknown_3001B88
-_080AC2A4:
- adds r0, r2, 0
- adds r0, 0x38
- adds r1, r4, 0
- adds r2, r3, 0
- bl sub_809D6E4
- lsls r0, 24
- lsrs r0, 24
-_080AC2B4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC274
-
- thumb_func_start GroundObject_ExecuteScript
-GroundObject_ExecuteScript:
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r3, 16
- asrs r3, 16
- ldr r1, _080AC2F4
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, [r1]
- adds r4, r1, r0
- ldr r1, _080AC2F8
- movs r0, 0
- adds r2, r3, 0
- bl Log
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AC2FC
- movs r0, 0
- b _080AC314
- .align 2, 0
-_080AC2F4: .4byte gUnknown_3001B88
-_080AC2F8: .4byte gUnknown_81184CC
-_080AC2FC:
- adds r0, r4, 0
- adds r0, 0x38
- ldr r3, _080AC31C
- adds r1, r5, 0
- adds r2, r6, 0
- bl GroundScript_ExecutePP
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AC314:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080AC31C: .4byte gUnknown_8118504
- thumb_func_end GroundObject_ExecuteScript
-
- thumb_func_start sub_80AC320
-sub_80AC320:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- ldr r0, _080AC374
- ldr r4, [r0]
- movs r5, 0
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080AC33A:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, r8
- beq _080AC352
- adds r0, r4, 0
- adds r0, 0x38
- adds r1, r7, 0
- bl sub_809D968
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080AC352:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r0, 16
- movs r1, 0xE2
- lsls r1, 1
- adds r4, r1
- cmp r0, 0xF
- ble _080AC33A
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AC374: .4byte gUnknown_3001B88
- thumb_func_end sub_80AC320
-
- thumb_func_start sub_80AC378
-sub_80AC378:
- push {r4-r7,lr}
- ldr r0, _080AC3BC
- ldr r4, [r0]
- movs r5, 0
- movs r7, 0x1
- negs r7, r7
- movs r6, 0x80
- lsls r6, 9
-_080AC388:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, r7
- beq _080AC39E
- adds r0, r4, 0
- adds r0, 0x38
- bl sub_809D92C
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080AC39E:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r0, 16
- movs r1, 0xE2
- lsls r1, 1
- adds r4, r1
- cmp r0, 0xF
- ble _080AC388
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AC3BC: .4byte gUnknown_3001B88
- thumb_func_end sub_80AC378
-
- thumb_func_start sub_80AC3C0
-sub_80AC3C0:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AC3DC
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080AC3DC: .4byte gUnknown_3001B88
- thumb_func_end sub_80AC3C0
-
- thumb_func_start sub_80AC3E0
-sub_80AC3E0:
- lsls r0, 16
- asrs r0, 16
- ldr r3, _080AC404
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, [r3]
- adds r0, r2
- movs r3, 0x8E
- lsls r3, 1
- adds r2, r0, r3
- ldr r2, [r2]
- str r2, [r1]
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080AC404: .4byte gUnknown_3001B88
- thumb_func_end sub_80AC3E0
-
- thumb_func_start sub_80AC408
-sub_80AC408:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AC434
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AC438
- movs r0, 0
- str r0, [r3]
- str r0, [r3, 0x4]
- b _080AC440
- .align 2, 0
-_080AC434: .4byte gUnknown_3001B88
-_080AC438:
- ldr r0, [r2, 0xC]
- ldr r1, [r2, 0x10]
- str r0, [r3]
- str r1, [r3, 0x4]
-_080AC440:
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80AC408
-
- thumb_func_start sub_80AC448
-sub_80AC448:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AC474
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AC478
- movs r0, 0
- str r0, [r3]
- b _080AC492
- .align 2, 0
-_080AC474: .4byte gUnknown_3001B88
-_080AC478:
- movs r1, 0x92
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r2, 0x14]
- adds r0, r1
- str r0, [r3]
- movs r1, 0x94
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r2, 0x18]
- adds r0, r1
-_080AC492:
- str r0, [r3, 0x4]
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80AC448
-
- thumb_func_start sub_80AC49C
-sub_80AC49C:
- push {r4,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r3, _080AC4C4
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 4
- adds r2, r0
- lsls r2, 2
- ldr r4, [r3]
- adds r4, r2
- adds r0, r4, 0
- bl sub_80AC6AC
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080AC4C4: .4byte gUnknown_3001B88
- thumb_func_end sub_80AC49C
-
- thumb_func_start sub_80AC4C8
-sub_80AC4C8:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r4, r1, 0
- ldr r0, _080AC530
- ldr r3, [r0]
- movs r5, 0
- movs r0, 0x1
- negs r0, r0
- mov r12, r0
- movs r6, 0x80
- lsls r6, 9
-_080AC4DE:
- movs r1, 0x6
- ldrsh r0, [r3, r1]
- cmp r0, r12
- beq _080AC534
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- ands r0, r7
- cmp r0, 0
- beq _080AC534
- adds r1, 0x8
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, [r2]
- cmp r1, r0
- bge _080AC534
- movs r1, 0x96
- lsls r1, 1
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, [r4]
- cmp r1, r0
- ble _080AC534
- movs r1, 0x94
- lsls r1, 1
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, [r2, 0x4]
- cmp r1, r0
- bge _080AC534
- movs r1, 0x98
- lsls r1, 1
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, [r4, 0x4]
- cmp r1, r0
- ble _080AC534
- adds r0, r5, 0
- b _080AC54C
- .align 2, 0
-_080AC530: .4byte gUnknown_3001B88
-_080AC534:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r5, r0, 16
- movs r0, 0xE2
- lsls r0, 1
- adds r3, r0
- cmp r5, 0xF
- ble _080AC4DE
- movs r0, 0x1
- negs r0, r0
-_080AC54C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC4C8
-
- thumb_func_start sub_80AC554
-sub_80AC554:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- mov r10, r1
- adds r4, r2, 0
- ldr r0, _080AC5C8
- ldr r0, [r0]
- mov r12, r0
- movs r6, 0
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- movs r7, 0x80
- lsls r7, 9
-_080AC576:
- mov r1, r12
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, r9
- beq _080AC5CC
- movs r0, 0x8E
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- mov r5, r8
- ands r0, r5
- cmp r0, 0
- beq _080AC5CC
- movs r0, 0x92
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- mov r5, r12
- ldr r0, [r5, 0x14]
- adds r2, r1, r0
- movs r0, 0x94
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- ldr r0, [r5, 0x18]
- adds r3, r1, r0
- ldr r0, [r4]
- cmp r2, r0
- bge _080AC5CC
- mov r1, r10
- ldr r0, [r1]
- cmp r2, r0
- ble _080AC5CC
- ldr r0, [r4, 0x4]
- cmp r3, r0
- bge _080AC5CC
- ldr r0, [r1, 0x4]
- cmp r3, r0
- ble _080AC5CC
- adds r0, r6, 0
- b _080AC5E4
- .align 2, 0
-_080AC5C8: .4byte gUnknown_3001B88
-_080AC5CC:
- adds r0, r7, 0
- movs r2, 0x80
- lsls r2, 9
- adds r7, r2
- asrs r6, r0, 16
- movs r5, 0xE2
- lsls r5, 1
- add r12, r5
- cmp r6, 0xF
- ble _080AC576
- movs r0, 0x1
- negs r0, r0
-_080AC5E4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC554
-
- thumb_func_start sub_80AC5F4
-sub_80AC5F4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- mov r8, r0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r0, [r5]
- cmp r0, 0
- bge _080AC60C
- ldr r1, _080AC670
- adds r0, r1
-_080AC60C:
- asrs r0, 11
- mov r12, r0
- str r0, [sp]
- ldr r0, [r5, 0x4]
- cmp r0, 0
- bge _080AC61C
- ldr r3, _080AC670
- adds r0, r3
-_080AC61C:
- asrs r4, r0, 11
- str r4, [sp, 0x4]
- ldr r3, [r6]
- subs r0, r3, 0x1
- cmp r0, 0
- bge _080AC62C
- ldr r7, _080AC674
- adds r0, r3, r7
-_080AC62C:
- asrs r1, r0, 11
- ldr r3, [r6, 0x4]
- subs r0, r3, 0x1
- cmp r0, 0
- bge _080AC63A
- ldr r7, _080AC674
- adds r0, r3, r7
-_080AC63A:
- asrs r2, r0, 11
- mov r3, r12
- subs r0, r1, r3
- adds r0, 0x1
- str r0, [sp, 0x8]
- subs r0, r2, r4
- adds r0, 0x1
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- movs r0, 0x8E
- lsls r0, 1
- add r0, r8
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AC678
- mov r0, sp
- adds r1, r2, 0
- bl sub_80A585C
- lsls r0, 24
- cmp r0, 0
- beq _080AC678
- movs r0, 0x1
- b _080AC6A0
- .align 2, 0
-_080AC670: .4byte 0x000007ff
-_080AC674: .4byte 0x000007fe
-_080AC678:
- movs r0, 0x8E
- lsls r0, 1
- add r0, r8
- ldr r0, [r0]
- movs r1, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080AC69E
- movs r0, 0x1
- negs r0, r0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80A92A0
- lsls r0, 16
- cmp r0, 0
- blt _080AC69E
- movs r0, 0x4
- b _080AC6A0
-_080AC69E:
- movs r0, 0
-_080AC6A0:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC5F4
-
- thumb_func_start sub_80AC6AC
-sub_80AC6AC:
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- ldr r2, [r1]
- ldr r4, [r5, 0x14]
- subs r0, r2, r4
- str r0, [sp]
- ldr r3, [r1, 0x4]
- ldr r1, [r5, 0x18]
- subs r0, r3, r1
- str r0, [sp, 0x4]
- adds r2, r4
- str r2, [sp, 0x8]
- adds r3, r1
- add r2, sp, 0x8
- str r3, [r2, 0x4]
- ldr r1, [r5, 0x28]
- ldr r0, [sp]
- cmp r0, r1
- blt _080AC6EA
- ldr r1, [r5, 0x30]
- ldr r0, [sp, 0x8]
- cmp r0, r1
- bge _080AC6EA
- ldr r1, [r5, 0x2C]
- ldr r0, [sp, 0x4]
- cmp r0, r1
- blt _080AC6EA
- ldr r0, [r5, 0x34]
- cmp r3, r0
- blt _080AC6EE
-_080AC6EA:
- movs r0, 0x1
- b _080AC718
-_080AC6EE:
- adds r0, r5, 0
- mov r1, sp
- bl sub_80AC5F4
- cmp r0, 0
- bne _080AC718
- movs r0, 0x92
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0x96
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0xC]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0
-_080AC718:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC6AC
-
- thumb_func_start sub_80AC720
-sub_80AC720:
- push {r4,r5,lr}
- sub sp, 0x10
- adds r4, r0, 0
- movs r2, 0x92
- lsls r2, 1
- adds r0, r4, r2
- ldr r0, [r0]
- ldr r2, [r1]
- adds r0, r2
- str r0, [sp]
- movs r3, 0x94
- lsls r3, 1
- adds r0, r4, r3
- ldr r0, [r0]
- ldr r1, [r1, 0x4]
- adds r0, r1
- str r0, [sp, 0x4]
- adds r3, 0x4
- adds r0, r4, r3
- ldr r0, [r0]
- adds r0, r2
- str r0, [sp, 0x8]
- movs r2, 0x98
- lsls r2, 1
- adds r0, r4, r2
- ldr r0, [r0]
- adds r0, r1
- add r1, sp, 0x8
- str r0, [r1, 0x4]
- movs r5, 0
- ldr r3, [r4, 0x28]
- ldr r0, [sp]
- adds r2, r1, 0
- cmp r0, r3
- bge _080AC770
- str r3, [sp]
- ldr r0, [r4, 0xC]
- adds r0, r3, r0
- str r0, [sp, 0x8]
- b _080AC780
-_080AC770:
- ldr r1, [r4, 0x30]
- ldr r0, [sp, 0x8]
- cmp r0, r1
- blt _080AC782
- ldr r0, [r4, 0xC]
- subs r0, r1, r0
- str r0, [sp]
- str r1, [sp, 0x8]
-_080AC780:
- movs r5, 0x1
-_080AC782:
- ldr r1, [r4, 0x2C]
- ldr r0, [sp, 0x4]
- cmp r0, r1
- bge _080AC794
- str r1, [sp, 0x4]
- ldr r0, [r4, 0x10]
- adds r0, r1, r0
- str r0, [r2, 0x4]
- b _080AC7A4
-_080AC794:
- ldr r1, [r4, 0x34]
- ldr r0, [r2, 0x4]
- cmp r0, r1
- blt _080AC7A6
- ldr r0, [r4, 0x10]
- subs r0, r1, r0
- str r0, [sp, 0x4]
- str r1, [r2, 0x4]
-_080AC7A4:
- movs r5, 0x1
-_080AC7A6:
- adds r0, r4, 0
- mov r1, sp
- bl sub_80AC5F4
- cmp r0, 0
- bne _080AC7D8
- movs r3, 0x92
- lsls r3, 1
- adds r2, r4, r3
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0x96
- lsls r0, 1
- adds r2, r4, r0
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0xC]
- str r0, [r2]
- str r1, [r2, 0x4]
- cmp r5, 0
- bne _080AC7D6
- movs r0, 0
- b _080AC7D8
-_080AC7D6:
- movs r0, 0x1
-_080AC7D8:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC720
-
- thumb_func_start sub_80AC7E0
-sub_80AC7E0:
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- bx lr
- thumb_func_end sub_80AC7E0
-
- thumb_func_start sub_80AC7E8
-sub_80AC7E8:
- ldr r2, [r0, 0xC]
- ldr r3, [r0, 0x10]
- str r2, [r1]
- str r3, [r1, 0x4]
- bx lr
- thumb_func_end sub_80AC7E8
-
- thumb_func_start sub_80AC7F4
-sub_80AC7F4:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- cmp r4, 0
- beq _080AC834
- movs r0, 0x92
- lsls r0, 1
- adds r2, r3, r0
- ldr r1, [r4]
- ldr r0, [r3, 0x14]
- subs r0, r1, r0
- str r0, [r2]
- movs r0, 0x96
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x14]
- adds r1, r0
- str r1, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r2, r3, r0
- ldr r1, [r4, 0x4]
- ldr r0, [r3, 0x18]
- subs r0, r1, r0
- str r0, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x18]
- adds r1, r0
- str r1, [r2]
- b _080AC89A
-_080AC834:
- movs r0, 0x92
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x20]
- ldr r1, [r3, 0x14]
- subs r0, r1
- str r0, [r2]
- movs r0, 0x96
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x20]
- ldr r1, [r3, 0x14]
- adds r0, r1
- str r0, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x24]
- ldr r1, [r3, 0x18]
- subs r0, r1
- str r0, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x24]
- ldr r1, [r3, 0x18]
- adds r0, r1
- str r0, [r2]
- movs r2, 0x9A
- lsls r2, 1
- adds r1, r3, r2
- adds r2, 0x4
- adds r0, r3, r2
- str r4, [r0]
- str r4, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r2, r3, r0
- movs r1, 0
- ldrsb r1, [r2, r1]
- movs r0, 0x1C
- ldrsb r0, [r3, r0]
- cmp r1, r0
- beq _080AC896
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AC896:
- ldrb r0, [r3, 0x1C]
- strb r0, [r2]
-_080AC89A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AC7F4
-
- thumb_func_start sub_80AC8A0
-sub_80AC8A0:
- push {r4,lr}
- ldr r3, [r1]
- ldr r4, [r1, 0x4]
- str r3, [r0, 0x28]
- str r4, [r0, 0x2C]
- ldr r1, [r2]
- ldr r2, [r2, 0x4]
- str r1, [r0, 0x30]
- str r2, [r0, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AC8A0
-
- thumb_func_start sub_80AC8B8
-sub_80AC8B8:
- adds r3, r0, 0
- movs r2, 0x92
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x14]
- adds r0, r2
- str r0, [r1]
- movs r2, 0x94
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x18]
- adds r0, r2
- str r0, [r1, 0x4]
- bx lr
- thumb_func_end sub_80AC8B8
-
- thumb_func_start sub_80AC8D8
-sub_80AC8D8:
- push {lr}
- bl sub_80AC6AC
- pop {r1}
- bx r1
- thumb_func_end sub_80AC8D8
-
- thumb_func_start sub_80AC8E4
-sub_80AC8E4:
- push {r4,lr}
- adds r3, r0, 0
- movs r4, 0x9A
- lsls r4, 1
- adds r0, r3, r4
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- str r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AC8E4
-
- thumb_func_start sub_80AC904
-sub_80AC904:
- movs r2, 0x9A
- lsls r2, 1
- adds r0, r2
- str r1, [r0]
- bx lr
- thumb_func_end sub_80AC904
-
- thumb_func_start sub_80AC910
-sub_80AC910:
- movs r2, 0x90
- lsls r2, 1
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- bx lr
- thumb_func_end sub_80AC910
-
- thumb_func_start sub_80AC91C
-sub_80AC91C:
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AC934
- movs r3, 0x90
- lsls r3, 1
- adds r0, r2, r3
- strb r1, [r0]
-_080AC934:
- pop {r0}
- bx r0
- thumb_func_end sub_80AC91C
-
- thumb_func_start sub_80AC938
-sub_80AC938:
- push {r4,r5,lr}
- lsls r1, 16
- adds r3, r0, 0
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- cmp r0, 0
- beq _080AC958
- ldr r1, _080AC954
- lsls r0, 1
- adds r0, r1
- b _080AC95E
- .align 2, 0
-_080AC954: .4byte gUnknown_81183A0
-_080AC958:
- movs r5, 0x9F
- lsls r5, 1
- adds r0, r3, r5
-_080AC95E:
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r5, 0x9F
- lsls r5, 1
- adds r1, r3, r5
- ldrh r4, [r1]
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, r2
- beq _080AC97C
- strh r2, [r1]
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r3, r0
- b _080AC98C
-_080AC97C:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r4
- cmp r0, 0
- beq _080AC990
- movs r5, 0x9E
- lsls r5, 1
- adds r1, r3, r5
-_080AC98C:
- movs r0, 0x1
- strb r0, [r1]
-_080AC990:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80AC938
-
- thumb_func_start sub_80AC998
-sub_80AC998:
- push {lr}
- lsls r1, 16
- asrs r1, 16
- adds r2, r1, 0
- cmp r1, 0
- bne _080AC9AA
- movs r1, 0xE0
- lsls r1, 1
- adds r2, r1, 0
-_080AC9AA:
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r1
- strh r2, [r0]
- pop {r0}
- bx r0
- thumb_func_end sub_80AC998
-
- thumb_func_start sub_80AC9B8
-sub_80AC9B8:
- push {lr}
- adds r1, r0, 0
- movs r2, 0x9E
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AC9D6
- adds r2, 0x8
- adds r0, r1, r2
- bl sub_80A66F8
- lsls r0, 24
- lsrs r0, 24
- b _080AC9D8
-_080AC9D6:
- movs r0, 0x1
-_080AC9D8:
- pop {r1}
- bx r1
- thumb_func_end sub_80AC9B8
-
- thumb_func_start sub_80AC9DC
-sub_80AC9DC:
- push {lr}
- adds r1, r0, 0
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _080AC9FE
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r1, r2
- bl sub_80A671C
- lsls r0, 24
- lsrs r0, 24
- b _080ACA00
-_080AC9FE:
- movs r0, 0x1
-_080ACA00:
- pop {r1}
- bx r1
- thumb_func_end sub_80AC9DC
-
- thumb_func_start sub_80ACA04
-sub_80ACA04:
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- bx lr
- thumb_func_end sub_80ACA04
-
- thumb_func_start sub_80ACA10
-sub_80ACA10:
- push {lr}
- movs r2, 0x4
- ldrsh r0, [r0, r2]
- bl sub_80AC1B0
- pop {r0}
- bx r0
- thumb_func_end sub_80ACA10
-
- thumb_func_start sub_80ACA20
-sub_80ACA20:
- push {lr}
- movs r2, 0x4
- ldrsh r0, [r0, r2]
- bl sub_80AC1F4
- pop {r0}
- bx r0
- thumb_func_end sub_80ACA20
-
- thumb_func_start sub_80ACA30
-sub_80ACA30:
- push {lr}
- bl sub_80AC720
- pop {r1}
- bx r1
- thumb_func_end sub_80ACA30
-
- thumb_func_start GroundObject_Action
-GroundObject_Action:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080ACA7C
- ldr r5, [r0]
- movs r7, 0
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r1, 0x9E
- lsls r1, 1
- adds r6, r5, r1
-_080ACA54:
- movs r3, 0x6
- ldrsh r0, [r5, r3]
- cmp r0, r8
- beq _080ACAB2
- adds r4, r5, 0
- adds r4, 0x38
- adds r0, r4, 0
- ldr r1, _080ACA80
- bl HandleAction
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _080ACA84
- cmp r0, 0x4
- bne _080ACA90
- adds r0, r7, 0
- bl GroundObject_Delete
- b _080ACAB2
- .align 2, 0
-_080ACA7C: .4byte gUnknown_3001B88
-_080ACA80: .4byte gUnknown_8118524
-_080ACA84:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- ldr r3, _080ACAD0
- bl sub_809D8C0
-_080ACA90:
- ldrb r0, [r6]
- cmp r0, 0
- beq _080ACAB2
- movs r0, 0
- strb r0, [r6]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r5, r1
- ldrh r2, [r6, 0x2]
- movs r3, 0xF8
- lsls r3, 5
- adds r1, r3, 0
- ands r1, r2
- lsls r2, 24
- asrs r2, 24
- bl sub_80A6EFC
-_080ACAB2:
- adds r0, r7, 0x1
- lsls r0, 16
- asrs r7, r0, 16
- movs r0, 0xE2
- lsls r0, 1
- adds r6, r0
- adds r5, r0
- cmp r7, 0xF
- ble _080ACA54
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACAD0: .4byte gUnknown_8118530
- thumb_func_end GroundObject_Action
-
- thumb_func_start sub_80ACAD4
-sub_80ACAD4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r0, _080ACB8C
- ldr r6, [r0]
- movs r0, 0
- mov r8, r0
- movs r1, 0x1
- negs r1, r1
- mov r9, r1
- movs r2, 0x90
- lsls r2, 1
- adds r4, r6, r2
-_080ACAF2:
- movs r0, 0x6
- ldrsh r1, [r6, r0]
- mov r2, r9
- lsls r0, r2, 16
- asrs r0, 16
- cmp r1, r0
- beq _080ACB64
- ldr r0, [r4, 0x4]
- ldr r1, [r6, 0x14]
- adds r0, r1
- str r0, [sp]
- ldr r0, [r4, 0x8]
- ldr r1, [r6, 0x18]
- adds r0, r1
- str r0, [sp, 0x4]
- ldr r1, [r4, 0x14]
- ldr r0, [r4, 0x18]
- adds r7, r1, r0
- movs r0, 0xA2
- lsls r0, 1
- adds r5, r6, r0
- adds r0, r5, 0
- bl sub_80A66D4
- lsls r0, 24
- cmp r0, 0
- beq _080ACB40
- movs r0, 0
- strb r0, [r4, 0x1C]
- ldrh r2, [r4, 0x1E]
- movs r0, 0xF8
- lsls r0, 5
- adds r1, r0, 0
- ands r1, r2
- lsls r2, 24
- asrs r2, 24
- adds r0, r5, 0
- bl sub_80A6EFC
-_080ACB40:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080ACB5A
- adds r1, r0, 0
- movs r2, 0
- ldrsb r2, [r4, r2]
- adds r0, r5, 0
- movs r3, 0
- bl sub_80A7040
- movs r0, 0
- strh r0, [r4, 0x20]
-_080ACB5A:
- adds r0, r5, 0
- mov r1, sp
- adds r2, r7, 0
- bl sub_80A7664
-_080ACB64:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r0, 0xE2
- lsls r0, 1
- adds r4, r0
- adds r6, r0
- mov r1, r8
- cmp r1, 0xF
- ble _080ACAF2
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACB8C: .4byte gUnknown_3001B88
- thumb_func_end sub_80ACAD4
-
- thumb_func_start sub_80ACB90
-sub_80ACB90:
- push {r4,r5,lr}
- ldr r4, _080ACBCC
- movs r0, 0xE2
- lsls r0, 5
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- adds r1, r0, 0
- ldr r0, _080ACBD0
- adds r5, r0, 0
- movs r4, 0xE2
- lsls r4, 1
- movs r2, 0x80
- lsls r2, 9
- adds r3, r2, 0
-_080ACBB0:
- ldrh r0, [r1, 0x6]
- orrs r0, r5
- strh r0, [r1, 0x6]
- adds r0, r2, 0
- adds r2, r3
- asrs r0, 16
- adds r1, r4
- cmp r0, 0xF
- ble _080ACBB0
- bl sub_80ACBD4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACBCC: .4byte gUnknown_3001B8C
-_080ACBD0: .4byte 0x0000ffff
- thumb_func_end sub_80ACB90
-
- thumb_func_start sub_80ACBD4
-sub_80ACBD4:
- push {r4-r6,lr}
- ldr r0, _080ACC0C
- ldr r4, [r0]
- movs r1, 0
- movs r6, 0x1
- negs r6, r6
- movs r5, 0x80
- lsls r5, 9
-_080ACBE4:
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, r6
- beq _080ACBF2
- adds r0, r1, 0
- bl GroundEffect_Delete
-_080ACBF2:
- adds r0, r5, 0
- movs r1, 0x80
- lsls r1, 9
- adds r5, r1
- asrs r1, r0, 16
- movs r2, 0xE2
- lsls r2, 1
- adds r4, r2
- cmp r1, 0xF
- ble _080ACBE4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACC0C: .4byte gUnknown_3001B8C
- thumb_func_end sub_80ACBD4
-
- thumb_func_start sub_80ACC10
-sub_80ACC10:
- push {r4,lr}
- bl sub_80ACBD4
- ldr r4, _080ACC28
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACC28: .4byte gUnknown_3001B8C
- thumb_func_end sub_80ACC10
-
- thumb_func_start GroundEffect_Select
-GroundEffect_Select:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 24
- asrs r6, r2, 24
- ldr r1, _080ACC90
- adds r0, r4, 0
- bl sub_80A77D0
- adds r5, r0, 0
- ldr r1, _080ACC94
- str r6, [sp]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl Log
- lsls r1, r7, 3
- ldr r0, [r5, 0x4]
- adds r0, r1
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- ldr r0, [r0, 0x4]
- adds r0, r1
- ldr r5, [r0, 0x14]
- ldr r0, [r0, 0x10]
- cmp r0, 0
- ble _080ACC86
- adds r4, r0, 0
-_080ACC70:
- movs r0, 0x1
- negs r0, r0
- adds r1, r5, 0
- adds r2, r7, 0
- adds r3, r6, 0
- bl GroundEffect_Add
- subs r4, 0x1
- adds r5, 0xC
- cmp r4, 0
- bne _080ACC70
-_080ACC86:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACC90: .4byte gUnknown_8118610
-_080ACC94: .4byte gUnknown_811861C
- thumb_func_end GroundEffect_Select
-
- thumb_func_start GroundEffect_Cancel
-GroundEffect_Cancel:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- lsls r1, 24
- asrs r5, r1, 24
- ldr r1, _080ACD00
- movs r0, 0
- adds r2, r7, 0
- bl Log
- movs r1, 0
- ldr r0, _080ACD04
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080ACCC0:
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, r8
- beq _080ACCE2
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, r7
- bne _080ACCE2
- cmp r5, 0
- blt _080ACCDC
- movs r0, 0xA
- ldrsb r0, [r4, r0]
- cmp r0, r5
- bne _080ACCE2
-_080ACCDC:
- adds r0, r1, 0
- bl GroundEffect_Delete
-_080ACCE2:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r1, r0, 16
- movs r2, 0xE2
- lsls r2, 1
- adds r4, r2
- cmp r1, 0xF
- ble _080ACCC0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACD00: .4byte gUnknown_8118640
-_080ACD04: .4byte gUnknown_3001B8C
- thumb_func_end GroundEffect_Cancel
-
- thumb_func_start GroundEffect_CancelBlank
-GroundEffect_CancelBlank:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r1, _080ACD7C
- movs r0, 0
- bl Log
- movs r6, 0
- ldr r0, _080ACD80
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r1, 0x92
- lsls r1, 1
- adds r5, r4, r1
- mov r7, sp
-_080ACD2C:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, r8
- beq _080ACD5C
- ldr r0, [r5]
- ldr r1, [r4, 0x14]
- adds r0, r1
- str r0, [sp]
- ldr r0, [r5, 0x4]
- ldr r1, [r4, 0x18]
- adds r0, r1
- str r0, [r7, 0x4]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r4, r1
- mov r1, sp
- bl sub_80A675C
- lsls r0, 24
- cmp r0, 0
- bne _080ACD5C
- adds r0, r6, 0
- bl GroundEffect_Delete
-_080ACD5C:
- adds r0, r6, 0x1
- lsls r0, 16
- asrs r6, r0, 16
- movs r0, 0xE2
- lsls r0, 1
- adds r5, r0
- adds r4, r0
- cmp r6, 0xF
- ble _080ACD2C
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACD7C: .4byte gUnknown_8118658
-_080ACD80: .4byte gUnknown_3001B8C
- thumb_func_end GroundEffect_CancelBlank
-
- thumb_func_start sub_80ACD84
-sub_80ACD84:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r4, r0, 16
- movs r3, 0
- ldr r0, _080ACDA8
- ldr r1, [r0]
- movs r6, 0xE2
- lsls r6, 1
- movs r2, 0x80
- lsls r2, 9
- adds r5, r2, 0
-_080ACD9A:
- movs r7, 0x6
- ldrsh r0, [r1, r7]
- cmp r0, r4
- bne _080ACDAC
- adds r0, r3, 0
- b _080ACDBC
- .align 2, 0
-_080ACDA8: .4byte gUnknown_3001B8C
-_080ACDAC:
- adds r0, r2, 0
- adds r2, r5
- asrs r3, r0, 16
- adds r1, r6
- cmp r3, 0xF
- ble _080ACD9A
- movs r0, 0x1
- negs r0, r0
-_080ACDBC:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80ACD84
-
- thumb_func_start GroundEffect_Add
-GroundEffect_Add:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r7, r1, 0
- lsls r0, 16
- asrs r6, r0, 16
- lsls r2, 16
- asrs r2, 16
- mov r10, r2
- lsls r3, 24
- asrs r3, 24
- mov r9, r3
- ldrb r0, [r7]
- lsls r0, 2
- ldr r1, _080ACE08
- adds r0, r1
- mov r8, r0
- ldr r3, _080ACE0C
- cmp r6, 0
- bge _080ACE38
- movs r2, 0
- ldr r5, [r3]
- movs r0, 0x6
- ldrsh r1, [r5, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ACE10
- movs r6, 0
- b _080ACE38
- .align 2, 0
-_080ACE08: .4byte gUnknown_811EE38
-_080ACE0C: .4byte gUnknown_3001B8C
-_080ACE10:
- adds r0, r2, 0x1
- lsls r0, 16
- asrs r2, r0, 16
- movs r1, 0xE2
- lsls r1, 1
- adds r5, r1
- cmp r2, 0xF
- bgt _080ACE2E
- movs r4, 0x6
- ldrsh r1, [r5, r4]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ACE10
- adds r6, r2, 0
-_080ACE2E:
- cmp r6, 0
- bge _080ACE38
- movs r0, 0x1
- negs r0, r0
- b _080AD062
-_080ACE38:
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 4
- adds r0, r6
- lsls r0, 2
- ldr r1, [r3]
- adds r5, r1, r0
- ldr r1, _080ACE9C
- ldrb r3, [r7]
- mov r2, r8
- movs r4, 0
- ldrsh r0, [r2, r4]
- str r0, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- movs r0, 0
- adds r2, r6, 0
- bl Log
- movs r2, 0
- movs r3, 0x6
- ldrsh r1, [r5, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ACE72
- movs r2, 0x1
-_080ACE72:
- str r2, [sp, 0xC]
- strh r6, [r5, 0x4]
- ldrb r0, [r7]
- strh r0, [r5, 0x6]
- mov r4, r10
- strh r4, [r5, 0x8]
- mov r0, r9
- strb r0, [r5, 0xA]
- mov r1, r8
- ldrh r0, [r1]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bhi _080ACEEC
- lsls r0, 2
- ldr r1, _080ACEA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ACE9C: .4byte gUnknown_8118674
-_080ACEA0: .4byte _080ACEA4
- .align 2, 0
-_080ACEA4:
- .4byte _080ACEB8
- .4byte _080ACEEC
- .4byte _080ACEC4
- .4byte _080ACED0
- .4byte _080ACEDC
-_080ACEB8:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0x81
- lsls r0, 22
- b _080ACEF4
-_080ACEC4:
- movs r4, 0x8E
- lsls r4, 1
- adds r1, r5, r4
- movs r0, 0x83
- lsls r0, 18
- b _080ACEF4
-_080ACED0:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x88
- lsls r0, 22
- b _080ACEF4
-_080ACEDC:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- ldr r0, _080ACEE8
- b _080ACEF4
- .align 2, 0
-_080ACEE8: .4byte 0x22020000
-_080ACEEC:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- ldr r0, _080ACF08
-_080ACEF4:
- str r0, [r1]
- mov r4, r8
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _080ACF0C
- ldrb r0, [r7, 0x2]
- lsls r0, 11
- str r0, [r5, 0xC]
- ldrb r0, [r7, 0x3]
- b _080ACF16
- .align 2, 0
-_080ACF08: .4byte 0x220c0000
-_080ACF0C:
- mov r1, r8
- ldrb r0, [r1, 0x2]
- lsls r0, 11
- str r0, [r5, 0xC]
- ldrb r0, [r1, 0x3]
-_080ACF16:
- lsls r0, 11
- str r0, [r5, 0x10]
- ldr r0, [r5, 0xC]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [r5, 0x14]
- ldr r0, [r5, 0x10]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [r5, 0x18]
- ldrb r0, [r7, 0x1]
- strb r0, [r5, 0x1C]
- adds r2, r7, 0x4
- adds r4, r5, 0
- adds r4, 0x20
- ldrb r1, [r2, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080ACF5A
- ldrb r0, [r7, 0x4]
- lsls r3, r0, 11
- str r3, [r5, 0x20]
- ldrb r1, [r2, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080ACF5A
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r5, 0x20]
-_080ACF5A:
- ldrb r1, [r2, 0x3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080ACF7C
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 11
- str r3, [r4, 0x4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080ACF7C
- movs r2, 0x80
- lsls r2, 3
- adds r0, r3, r2
- str r0, [r4, 0x4]
-_080ACF7C:
- ldr r3, [sp, 0xC]
- cmp r3, 0
- beq _080ACFD2
- ldrb r1, [r5, 0x1C]
- movs r4, 0x90
- lsls r4, 1
- adds r0, r5, r4
- movs r3, 0
- strb r1, [r0]
- movs r0, 0x92
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- subs r0, r1
- str r0, [r2]
- movs r1, 0x96
- lsls r1, 1
- adds r2, r5, r1
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- adds r0, r1
- str r0, [r2]
- adds r4, 0x8
- adds r2, r5, r4
- ldr r0, [r5, 0x24]
- ldr r1, [r5, 0x18]
- subs r0, r1
- str r0, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [r5, 0x24]
- ldr r1, [r5, 0x18]
- adds r0, r1
- str r0, [r2]
- movs r2, 0x9A
- lsls r2, 1
- adds r1, r5, r2
- adds r4, 0x10
- adds r0, r5, r4
- str r3, [r0]
- str r3, [r1]
-_080ACFD2:
- adds r0, r5, 0
- adds r0, 0x28
- adds r1, r5, 0
- adds r1, 0x30
- bl sub_80A5778
- ldr r0, [sp, 0xC]
- cmp r0, 0
- beq _080AD01A
- movs r2, 0x9F
- lsls r2, 1
- adds r1, r5, r2
- movs r2, 0
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r1]
- movs r3, 0x9E
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0x1
- strb r0, [r1]
- movs r4, 0xA0
- lsls r4, 1
- adds r0, r5, r4
- strh r2, [r0]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r5, r1
- movs r3, 0x6
- ldrsh r2, [r5, r3]
- subs r4, 0x24
- adds r1, r5, r4
- ldr r3, [r1]
- adds r1, r6, 0
- bl sub_80A7688
-_080AD01A:
- adds r4, r5, 0
- adds r4, 0x38
- ldr r1, _080AD074
- mov r0, r9
- str r0, [sp]
- adds r0, r4, 0
- adds r2, r5, 0
- mov r3, r10
- bl sub_809D600
- ldr r2, [r7, 0x8]
- cmp r2, 0
- bne _080AD04C
- mov r1, r8
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- bne _080AD048
- ldr r0, _080AD078
- movs r1, 0xB0
- lsls r1, 2
- adds r0, r1
- ldr r2, [r0]
-_080AD048:
- cmp r2, 0
- beq _080AD060
-_080AD04C:
- adds r0, r4, 0
- movs r1, 0
- bl sub_809D6D8
- ldr r3, _080AD07C
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl sub_809D8C0
-_080AD060:
- adds r0, r6, 0
-_080AD062:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD074: .4byte gUnknown_8118544
-_080AD078: .4byte gUnknown_812F1F8
-_080AD07C: .4byte gUnknown_81186CC
- thumb_func_end GroundEffect_Add
-
- thumb_func_start GroundEffect_Delete
-GroundEffect_Delete:
- push {r4,lr}
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- ldr r1, _080AD0BC
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, [r1]
- adds r4, r1, r0
- ldr r1, _080AD0C0
- movs r0, 0
- bl Log
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r4, r1
- bl sub_80A7714
- adds r0, r4, 0
- adds r0, 0x38
- bl sub_809D648
- ldr r0, _080AD0C4
- strh r0, [r4, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AD0BC: .4byte gUnknown_3001B8C
-_080AD0C0: .4byte gUnknown_81186D8
-_080AD0C4: .4byte 0x0000ffff
- thumb_func_end GroundEffect_Delete
-
- thumb_func_start sub_80AD0C8
-sub_80AD0C8:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AD108
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AD102
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r2, r1
- ldr r1, [r0]
- orrs r1, r3
- str r1, [r0]
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r2, r3
- bl sub_80A6688
-_080AD102:
- pop {r0}
- bx r0
- .align 2, 0
-_080AD108: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD0C8
-
- thumb_func_start sub_80AD10C
-sub_80AD10C:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AD150
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r3, r0, r1
- movs r0, 0x6
- ldrsh r1, [r3, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AD14A
- movs r0, 0x8E
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, _080AD154
- eors r0, r4
- ldr r1, [r2]
- ands r1, r0
- str r1, [r2]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r3, r2
- bl sub_80A6688
-_080AD14A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AD150: .4byte gUnknown_3001B8C
-_080AD154: .4byte 0x337fffff
- thumb_func_end sub_80AD10C
-
- thumb_func_start sub_80AD158
-sub_80AD158:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AD180
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AD184
- movs r0, 0
- b _080AD188
- .align 2, 0
-_080AD180: .4byte gUnknown_3001B8C
-_080AD184:
- adds r0, r2, 0
- adds r0, 0x38
-_080AD188:
- pop {r1}
- bx r1
- thumb_func_end sub_80AD158
-
- thumb_func_start sub_80AD18C
-sub_80AD18C:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- lsls r2, 16
- asrs r3, r2, 16
- ldr r2, _080AD1B8
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AD1BC
- movs r0, 0
- b _080AD1CC
- .align 2, 0
-_080AD1B8: .4byte gUnknown_3001B8C
-_080AD1BC:
- adds r0, r2, 0
- adds r0, 0x38
- adds r1, r4, 0
- adds r2, r3, 0
- bl sub_809D6E4
- lsls r0, 24
- lsrs r0, 24
-_080AD1CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AD18C
-
- thumb_func_start GroundEffect_ExecuteScript
-GroundEffect_ExecuteScript:
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r3, 16
- asrs r3, 16
- ldr r1, _080AD20C
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, [r1]
- adds r4, r1, r0
- ldr r1, _080AD210
- movs r0, 0
- adds r2, r3, 0
- bl Log
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AD214
- movs r0, 0
- b _080AD22C
- .align 2, 0
-_080AD20C: .4byte gUnknown_3001B8C
-_080AD210: .4byte gUnknown_81186F4
-_080AD214:
- adds r0, r4, 0
- adds r0, 0x38
- ldr r3, _080AD234
- adds r1, r5, 0
- adds r2, r6, 0
- bl GroundScript_ExecutePP
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AD22C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD234: .4byte gUnknown_811872C
- thumb_func_end GroundEffect_ExecuteScript
-
- thumb_func_start sub_80AD238
-sub_80AD238:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- ldr r0, _080AD28C
- ldr r4, [r0]
- movs r5, 0
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080AD252:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, r8
- beq _080AD26A
- adds r0, r4, 0
- adds r0, 0x38
- adds r1, r7, 0
- bl sub_809D968
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080AD26A:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r0, 16
- movs r1, 0xE2
- lsls r1, 1
- adds r4, r1
- cmp r0, 0xF
- ble _080AD252
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD28C: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD238
-
- thumb_func_start sub_80AD290
-sub_80AD290:
- push {r4-r7,lr}
- ldr r0, _080AD2D4
- ldr r4, [r0]
- movs r5, 0
- movs r7, 0x1
- negs r7, r7
- movs r6, 0x80
- lsls r6, 9
-_080AD2A0:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, r7
- beq _080AD2B6
- adds r0, r4, 0
- adds r0, 0x38
- bl sub_809D92C
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080AD2B6:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r0, 16
- movs r1, 0xE2
- lsls r1, 1
- adds r4, r1
- cmp r0, 0xF
- ble _080AD2A0
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD2D4: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD290
-
- thumb_func_start sub_80AD2D8
-sub_80AD2D8:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AD2F4
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080AD2F4: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD2D8
-
- thumb_func_start sub_80AD2F8
-sub_80AD2F8:
- lsls r0, 16
- asrs r0, 16
- ldr r3, _080AD31C
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, [r3]
- adds r0, r2
- movs r3, 0x8E
- lsls r3, 1
- adds r2, r0, r3
- ldr r2, [r2]
- str r2, [r1]
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080AD31C: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD2F8
-
- thumb_func_start sub_80AD320
-sub_80AD320:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AD34C
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AD350
- movs r0, 0
- str r0, [r3]
- str r0, [r3, 0x4]
- b _080AD358
- .align 2, 0
-_080AD34C: .4byte gUnknown_3001B8C
-_080AD350:
- ldr r0, [r2, 0xC]
- ldr r1, [r2, 0x10]
- str r0, [r3]
- str r1, [r3, 0x4]
-_080AD358:
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80AD320
-
- thumb_func_start sub_80AD360
-sub_80AD360:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AD38C
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AD390
- movs r0, 0
- str r0, [r3]
- b _080AD3AA
- .align 2, 0
-_080AD38C: .4byte gUnknown_3001B8C
-_080AD390:
- movs r1, 0x92
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r2, 0x14]
- adds r0, r1
- str r0, [r3]
- movs r1, 0x94
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r2, 0x18]
- adds r0, r1
-_080AD3AA:
- str r0, [r3, 0x4]
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80AD360
-
- thumb_func_start sub_80AD3B4
-sub_80AD3B4:
- push {r4,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r3, _080AD3DC
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 4
- adds r2, r0
- lsls r2, 2
- ldr r4, [r3]
- adds r4, r2
- adds r0, r4, 0
- bl sub_80AD3E0
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD3DC: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD3B4
-
- thumb_func_start sub_80AD3E0
-sub_80AD3E0:
- push {r4-r7,lr}
- mov r12, r0
- ldr r3, [r1]
- ldr r2, [r0, 0x14]
- subs r6, r3, r2
- ldr r1, [r1, 0x4]
- ldr r0, [r0, 0x18]
- subs r7, r1, r0
- adds r4, r3, r2
- adds r5, r1, r0
- mov r1, r12
- ldr r0, [r1, 0x28]
- cmp r6, r0
- blt _080AD40E
- ldr r0, [r1, 0x30]
- cmp r4, r0
- bge _080AD40E
- ldr r0, [r1, 0x2C]
- cmp r7, r0
- blt _080AD40E
- ldr r0, [r1, 0x34]
- cmp r5, r0
- blt _080AD412
-_080AD40E:
- movs r0, 0x1
- b _080AD428
-_080AD412:
- movs r0, 0x92
- lsls r0, 1
- add r0, r12
- str r6, [r0]
- str r7, [r0, 0x4]
- movs r0, 0x96
- lsls r0, 1
- add r0, r12
- str r4, [r0]
- str r5, [r0, 0x4]
- movs r0, 0
-_080AD428:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AD3E0
-
- thumb_func_start sub_80AD430
-sub_80AD430:
- push {r4-r6,lr}
- mov r12, r0
- movs r0, 0x92
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- ldr r2, [r1]
- adds r5, r0, r2
- movs r0, 0x94
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- ldr r1, [r1, 0x4]
- adds r6, r0, r1
- movs r0, 0x96
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- adds r3, r0, r2
- movs r0, 0x98
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- adds r4, r0, r1
- mov r0, r12
- ldr r1, [r0, 0x28]
- cmp r5, r1
- bge _080AD470
- adds r5, r1, 0
- ldr r0, [r0, 0xC]
- adds r3, r1, r0
- b _080AD47E
-_080AD470:
- mov r2, r12
- ldr r1, [r2, 0x30]
- cmp r3, r1
- blt _080AD47E
- ldr r0, [r2, 0xC]
- subs r5, r1, r0
- adds r3, r1, 0
-_080AD47E:
- mov r0, r12
- ldr r1, [r0, 0x2C]
- cmp r6, r1
- bge _080AD48E
- adds r6, r1, 0
- ldr r0, [r0, 0x10]
- adds r4, r1, r0
- b _080AD49C
-_080AD48E:
- mov r2, r12
- ldr r1, [r2, 0x34]
- cmp r4, r1
- blt _080AD49C
- ldr r0, [r2, 0x10]
- subs r6, r1, r0
- adds r4, r1, 0
-_080AD49C:
- movs r0, 0x92
- lsls r0, 1
- add r0, r12
- str r5, [r0]
- str r6, [r0, 0x4]
- movs r0, 0x96
- lsls r0, 1
- add r0, r12
- str r3, [r0]
- str r4, [r0, 0x4]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80AD430
-
- thumb_func_start sub_80AD4B8
-sub_80AD4B8:
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- bx lr
- thumb_func_end sub_80AD4B8
-
- thumb_func_start sub_80AD4C0
-sub_80AD4C0:
- ldr r2, [r0, 0xC]
- ldr r3, [r0, 0x10]
- str r2, [r1]
- str r3, [r1, 0x4]
- bx lr
- thumb_func_end sub_80AD4C0
-
- thumb_func_start sub_80AD4CC
-sub_80AD4CC:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- cmp r4, 0
- beq _080AD50C
- movs r0, 0x92
- lsls r0, 1
- adds r2, r3, r0
- ldr r1, [r4]
- ldr r0, [r3, 0x14]
- subs r0, r1, r0
- str r0, [r2]
- movs r0, 0x96
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x14]
- adds r1, r0
- str r1, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r2, r3, r0
- ldr r1, [r4, 0x4]
- ldr r0, [r3, 0x18]
- subs r0, r1, r0
- str r0, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x18]
- adds r1, r0
- str r1, [r2]
- b _080AD572
-_080AD50C:
- movs r0, 0x92
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x20]
- ldr r1, [r3, 0x14]
- subs r0, r1
- str r0, [r2]
- movs r0, 0x96
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x20]
- ldr r1, [r3, 0x14]
- adds r0, r1
- str r0, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x24]
- ldr r1, [r3, 0x18]
- subs r0, r1
- str r0, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x24]
- ldr r1, [r3, 0x18]
- adds r0, r1
- str r0, [r2]
- movs r2, 0x9A
- lsls r2, 1
- adds r1, r3, r2
- adds r2, 0x4
- adds r0, r3, r2
- str r4, [r0]
- str r4, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r2, r3, r0
- movs r1, 0
- ldrsb r1, [r2, r1]
- movs r0, 0x1C
- ldrsb r0, [r3, r0]
- cmp r1, r0
- beq _080AD56E
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AD56E:
- ldrb r0, [r3, 0x1C]
- strb r0, [r2]
-_080AD572:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AD4CC
-
- thumb_func_start sub_80AD578
-sub_80AD578:
- push {r4,lr}
- ldr r3, [r1]
- ldr r4, [r1, 0x4]
- str r3, [r0, 0x28]
- str r4, [r0, 0x2C]
- ldr r1, [r2]
- ldr r2, [r2, 0x4]
- str r1, [r0, 0x30]
- str r2, [r0, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AD578
-
- thumb_func_start sub_80AD590
-sub_80AD590:
- adds r3, r0, 0
- movs r2, 0x92
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x14]
- adds r0, r2
- str r0, [r1]
- movs r2, 0x94
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x18]
- adds r0, r2
- str r0, [r1, 0x4]
- bx lr
- thumb_func_end sub_80AD590
-
- thumb_func_start sub_80AD5B0
-sub_80AD5B0:
- push {lr}
- bl sub_80AD3E0
- pop {r1}
- bx r1
- thumb_func_end sub_80AD5B0
-
- thumb_func_start sub_80AD5BC
-sub_80AD5BC:
- push {r4,lr}
- adds r3, r0, 0
- movs r4, 0x9A
- lsls r4, 1
- adds r0, r3, r4
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- str r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AD5BC
-
- thumb_func_start sub_80AD5DC
-sub_80AD5DC:
- movs r2, 0x9A
- lsls r2, 1
- adds r0, r2
- str r1, [r0]
- bx lr
- thumb_func_end sub_80AD5DC
-
- thumb_func_start sub_80AD5E8
-sub_80AD5E8:
- movs r2, 0x90
- lsls r2, 1
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- bx lr
- thumb_func_end sub_80AD5E8
-
- thumb_func_start sub_80AD5F4
-sub_80AD5F4:
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AD60C
- movs r3, 0x90
- lsls r3, 1
- adds r0, r2, r3
- strb r1, [r0]
-_080AD60C:
- pop {r0}
- bx r0
- thumb_func_end sub_80AD5F4
-
- thumb_func_start sub_80AD610
-sub_80AD610:
- push {r4,r5,lr}
- lsls r1, 16
- adds r3, r0, 0
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- cmp r0, 0
- beq _080AD630
- ldr r1, _080AD62C
- lsls r0, 1
- adds r0, r1
- b _080AD636
- .align 2, 0
-_080AD62C: .4byte gUnknown_81185F2
-_080AD630:
- movs r5, 0x9F
- lsls r5, 1
- adds r0, r3, r5
-_080AD636:
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r5, 0x9F
- lsls r5, 1
- adds r1, r3, r5
- ldrh r4, [r1]
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, r2
- beq _080AD654
- strh r2, [r1]
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r3, r0
- b _080AD664
-_080AD654:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r4
- cmp r0, 0
- beq _080AD668
- movs r5, 0x9E
- lsls r5, 1
- adds r1, r3, r5
-_080AD664:
- movs r0, 0x1
- strb r0, [r1]
-_080AD668:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80AD610
-
- thumb_func_start sub_80AD670
-sub_80AD670:
- push {lr}
- lsls r1, 16
- asrs r1, 16
- adds r2, r1, 0
- cmp r1, 0
- bne _080AD682
- movs r1, 0xE0
- lsls r1, 1
- adds r2, r1, 0
-_080AD682:
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r1
- strh r2, [r0]
- pop {r0}
- bx r0
- thumb_func_end sub_80AD670
-
- thumb_func_start sub_80AD690
-sub_80AD690:
- push {lr}
- adds r1, r0, 0
- movs r2, 0x9E
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AD6AE
- adds r2, 0x8
- adds r0, r1, r2
- bl sub_80A66F8
- lsls r0, 24
- lsrs r0, 24
- b _080AD6B0
-_080AD6AE:
- movs r0, 0x1
-_080AD6B0:
- pop {r1}
- bx r1
- thumb_func_end sub_80AD690
-
- thumb_func_start sub_80AD6B4
-sub_80AD6B4:
- push {lr}
- adds r1, r0, 0
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _080AD6D6
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r1, r2
- bl sub_80A671C
- lsls r0, 24
- lsrs r0, 24
- b _080AD6D8
-_080AD6D6:
- movs r0, 0x1
-_080AD6D8:
- pop {r1}
- bx r1
- thumb_func_end sub_80AD6B4
-
- thumb_func_start sub_80AD6DC
-sub_80AD6DC:
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- bx lr
- thumb_func_end sub_80AD6DC
-
- thumb_func_start sub_80AD6E8
-sub_80AD6E8:
- push {lr}
- movs r2, 0x4
- ldrsh r0, [r0, r2]
- bl sub_80AD0C8
- pop {r0}
- bx r0
- thumb_func_end sub_80AD6E8
-
- thumb_func_start sub_80AD6F8
-sub_80AD6F8:
- push {lr}
- movs r2, 0x4
- ldrsh r0, [r0, r2]
- bl sub_80AD10C
- pop {r0}
- bx r0
- thumb_func_end sub_80AD6F8
-
- thumb_func_start sub_80AD708
-sub_80AD708:
- push {lr}
- bl sub_80AD430
- pop {r1}
- bx r1
- thumb_func_end sub_80AD708
-
- thumb_func_start GroundEffect_Action
-GroundEffect_Action:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080AD754
- ldr r5, [r0]
- movs r7, 0
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r1, 0x9E
- lsls r1, 1
- adds r6, r5, r1
-_080AD72C:
- movs r3, 0x6
- ldrsh r0, [r5, r3]
- cmp r0, r8
- beq _080AD78A
- adds r4, r5, 0
- adds r4, 0x38
- adds r0, r4, 0
- ldr r1, _080AD758
- bl HandleAction
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _080AD75C
- cmp r0, 0x4
- bne _080AD768
- adds r0, r7, 0
- bl GroundEffect_Delete
- b _080AD78A
- .align 2, 0
-_080AD754: .4byte gUnknown_3001B8C
-_080AD758: .4byte gUnknown_811874C
-_080AD75C:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- ldr r3, _080AD7A8
- bl sub_809D8C0
-_080AD768:
- ldrb r0, [r6]
- cmp r0, 0
- beq _080AD78A
- movs r0, 0
- strb r0, [r6]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r5, r1
- ldrh r2, [r6, 0x2]
- movs r3, 0xF8
- lsls r3, 5
- adds r1, r3, 0
- ands r1, r2
- lsls r2, 24
- asrs r2, 24
- bl sub_80A6EFC
-_080AD78A:
- adds r0, r7, 0x1
- lsls r0, 16
- asrs r7, r0, 16
- movs r0, 0xE2
- lsls r0, 1
- adds r6, r0
- adds r5, r0
- cmp r7, 0xF
- ble _080AD72C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AD7A8: .4byte gUnknown_8118758
- thumb_func_end GroundEffect_Action
-
- thumb_func_start sub_80AD7AC
-sub_80AD7AC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r0, _080AD864
- ldr r6, [r0]
- movs r0, 0
- mov r8, r0
- movs r1, 0x1
- negs r1, r1
- mov r9, r1
- movs r2, 0x90
- lsls r2, 1
- adds r4, r6, r2
-_080AD7CA:
- movs r0, 0x6
- ldrsh r1, [r6, r0]
- mov r2, r9
- lsls r0, r2, 16
- asrs r0, 16
- cmp r1, r0
- beq _080AD83C
- ldr r0, [r4, 0x4]
- ldr r1, [r6, 0x14]
- adds r0, r1
- str r0, [sp]
- ldr r0, [r4, 0x8]
- ldr r1, [r6, 0x18]
- adds r0, r1
- str r0, [sp, 0x4]
- ldr r1, [r4, 0x14]
- ldr r0, [r4, 0x18]
- adds r7, r1, r0
- movs r0, 0xA2
- lsls r0, 1
- adds r5, r6, r0
- adds r0, r5, 0
- bl sub_80A66D4
- lsls r0, 24
- cmp r0, 0
- beq _080AD818
- movs r0, 0
- strb r0, [r4, 0x1C]
- ldrh r2, [r4, 0x1E]
- movs r0, 0xF8
- lsls r0, 5
- adds r1, r0, 0
- ands r1, r2
- lsls r2, 24
- asrs r2, 24
- adds r0, r5, 0
- bl sub_80A6EFC
-_080AD818:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080AD832
- adds r1, r0, 0
- movs r2, 0
- ldrsb r2, [r4, r2]
- adds r0, r5, 0
- movs r3, 0
- bl sub_80A7040
- movs r0, 0
- strh r0, [r4, 0x20]
-_080AD832:
- adds r0, r5, 0
- mov r1, sp
- adds r2, r7, 0
- bl sub_80A7720
-_080AD83C:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r0, 0xE2
- lsls r0, 1
- adds r4, r0
- adds r6, r0
- mov r1, r8
- cmp r1, 0xF
- ble _080AD7CA
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AD864: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD7AC
-
- thumb_func_start sub_80AD868
-sub_80AD868:
- ldr r1, _080AD870
- movs r0, 0
- str r0, [r1]
- bx lr
- .align 2, 0
-_080AD870: .4byte gUnknown_203B4B8
- thumb_func_end sub_80AD868
-
- thumb_func_start sub_80AD874
-sub_80AD874:
- ldr r1, _080AD87C
- movs r0, 0
- str r0, [r1]
- bx lr
- .align 2, 0
-_080AD87C: .4byte gUnknown_203B4B8
- thumb_func_end sub_80AD874
-
- thumb_func_start GroundLink_Select
-GroundLink_Select:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r1, _080AD898
- bl sub_80A77D0
- ldr r1, _080AD89C
- ldr r0, [r0, 0x8]
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080AD898: .4byte gUnknown_8118798
-_080AD89C: .4byte gUnknown_203B4B8
- thumb_func_end GroundLink_Select
-
- thumb_func_start sub_80AD8A0
-sub_80AD8A0:
- lsls r0, 16
- ldr r1, _080AD8B0
- asrs r0, 13
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .align 2, 0
-_080AD8B0: .4byte gUnknown_203B4B8
- thumb_func_end sub_80AD8A0
-
- thumb_func_start sub_80AD8B4
-sub_80AD8B4:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- ldr r1, _080AD910
- asrs r0, 13
- ldr r1, [r1]
- adds r2, r1, r0
- ldrb r1, [r2, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080AD8E4
- ldrb r0, [r2]
- lsls r3, r0, 11
- str r3, [r4]
- ldrb r1, [r2, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080AD8E4
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r4]
-_080AD8E4:
- ldrb r1, [r2, 0x3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080AD906
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 11
- str r3, [r4, 0x4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080AD906
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r4, 0x4]
-_080AD906:
- ldrb r0, [r2, 0x6]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD910: .4byte gUnknown_203B4B8
- thumb_func_end sub_80AD8B4
-
- thumb_func_start sub_80AD914
-sub_80AD914:
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- ldr r1, _080AD98C
- asrs r0, 13
- ldr r1, [r1]
- adds r2, r1, r0
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [r4]
- str r1, [r4, 0x4]
- ldrb r1, [r2, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080AD94E
- ldrb r0, [r2]
- lsls r3, r0, 11
- str r3, [r4]
- ldrb r1, [r2, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080AD94E
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r4]
-_080AD94E:
- ldrb r1, [r2, 0x3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080AD970
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 11
- str r3, [r4, 0x4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080AD970
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r4, 0x4]
-_080AD970:
- ldrb r1, [r2, 0x4]
- lsls r1, 11
- ldr r0, [r4]
- adds r0, r1
- str r0, [r5]
- ldrb r1, [r2, 0x5]
- lsls r1, 11
- ldr r0, [r4, 0x4]
- adds r0, r1
- str r0, [r5, 0x4]
- ldrb r0, [r2, 0x6]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD98C: .4byte gUnknown_203B4B8
- thumb_func_end sub_80AD914
-
- thumb_func_start sub_80AD990
-sub_80AD990:
- push {r4,lr}
- ldr r4, _080AD9C8
- movs r0, 0x80
- lsls r0, 3
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- adds r1, r0, 0
- ldr r0, _080AD9CC
- adds r4, r0, 0
- movs r2, 0x80
- lsls r2, 9
- adds r3, r2, 0
-_080AD9AC:
- ldrh r0, [r1, 0x2]
- orrs r0, r4
- strh r0, [r1, 0x2]
- adds r0, r2, 0
- adds r2, r3
- asrs r0, 16
- adds r1, 0x20
- cmp r0, 0x1F
- ble _080AD9AC
- bl sub_80AD9D0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AD9C8: .4byte gUnknown_3001B90
-_080AD9CC: .4byte 0x0000ffff
- thumb_func_end sub_80AD990
-
- thumb_func_start sub_80AD9D0
-sub_80AD9D0:
- push {r4-r6,lr}
- ldr r0, _080ADA04
- ldr r4, [r0]
- movs r1, 0
- movs r6, 0x1
- negs r6, r6
- movs r5, 0x80
- lsls r5, 9
-_080AD9E0:
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, r6
- beq _080AD9EE
- adds r0, r1, 0
- bl GroundEvent_Delete
-_080AD9EE:
- adds r0, r5, 0
- movs r1, 0x80
- lsls r1, 9
- adds r5, r1
- asrs r1, r0, 16
- adds r4, 0x20
- cmp r1, 0x1F
- ble _080AD9E0
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADA04: .4byte gUnknown_3001B90
- thumb_func_end sub_80AD9D0
-
- thumb_func_start sub_80ADA08
-sub_80ADA08:
- push {r4,lr}
- bl sub_80AD9D0
- ldr r4, _080ADA20
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADA20: .4byte gUnknown_3001B90
- thumb_func_end sub_80ADA08
-
- thumb_func_start GroundEvent_Select
-GroundEvent_Select:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 24
- asrs r6, r2, 24
- ldr r1, _080ADA88
- adds r0, r4, 0
- bl sub_80A77D0
- adds r5, r0, 0
- ldr r1, _080ADA8C
- str r6, [sp]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl Log
- lsls r1, r7, 3
- ldr r0, [r5, 0x4]
- adds r0, r1
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- ldr r0, [r0, 0x4]
- adds r0, r1
- ldr r5, [r0, 0x1C]
- ldr r0, [r0, 0x18]
- cmp r0, 0
- ble _080ADA7E
- adds r4, r0, 0
-_080ADA68:
- movs r0, 0x1
- negs r0, r0
- adds r1, r5, 0
- adds r2, r7, 0
- adds r3, r6, 0
- bl GroundEvent_Add
- subs r4, 0x1
- adds r5, 0xC
- cmp r4, 0
- bne _080ADA68
-_080ADA7E:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADA88: .4byte gUnknown_81187DC
-_080ADA8C: .4byte gUnknown_81187E8
- thumb_func_end GroundEvent_Select
-
- thumb_func_start GroundEvent_Cancel
-GroundEvent_Cancel:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- lsls r1, 24
- asrs r5, r1, 24
- ldr r1, _080ADAF8
- movs r0, 0
- adds r2, r7, 0
- adds r3, r5, 0
- bl Log
- movs r1, 0
- ldr r0, _080ADAFC
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080ADABA:
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, r8
- beq _080ADADC
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, r7
- bne _080ADADC
- cmp r5, 0
- blt _080ADAD6
- movs r0, 0x6
- ldrsb r0, [r4, r0]
- cmp r0, r5
- bne _080ADADC
-_080ADAD6:
- adds r0, r1, 0
- bl GroundEvent_Delete
-_080ADADC:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r1, r0, 16
- adds r4, 0x20
- cmp r1, 0x1F
- ble _080ADABA
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADAF8: .4byte gUnknown_811880C
-_080ADAFC: .4byte gUnknown_3001B90
- thumb_func_end GroundEvent_Cancel
-
- thumb_func_start GroundEvent_Add
-GroundEvent_Add:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- mov r8, r1
- lsls r0, 16
- asrs r7, r0, 16
- lsls r2, 16
- asrs r6, r2, 16
- lsls r3, 24
- asrs r3, 24
- mov r9, r3
- ldr r5, [r1, 0x8]
- cmp r7, 0
- bge _080ADB60
- ldr r0, _080ADB38
- ldr r4, [r0]
- movs r2, 0
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ADB3C
- movs r7, 0
- b _080ADB68
- .align 2, 0
-_080ADB38: .4byte gUnknown_3001B90
-_080ADB3C:
- adds r0, r2, 0x1
- lsls r0, 16
- asrs r2, r0, 16
- adds r4, 0x20
- cmp r2, 0x1F
- bgt _080ADB56
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ADB3C
- adds r7, r2, 0
-_080ADB56:
- cmp r7, 0
- bge _080ADB68
- movs r0, 0x1
- negs r0, r0
- b _080ADC24
-_080ADB60:
- ldr r0, _080ADBA0
- lsls r1, r7, 5
- ldr r0, [r0]
- adds r4, r0, r1
-_080ADB68:
- ldr r1, _080ADBA4
- movs r0, 0
- ldrsh r3, [r5, r0]
- str r6, [sp]
- mov r2, r9
- str r2, [sp, 0x4]
- mov r2, r8
- ldr r0, [r2, 0x8]
- ldr r0, [r0, 0x8]
- str r0, [sp, 0x8]
- movs r0, 0
- adds r2, r7, 0
- bl Log
- strh r7, [r4]
- ldrh r0, [r5]
- strh r0, [r4, 0x2]
- strh r6, [r4, 0x4]
- mov r3, r9
- strb r3, [r4, 0x6]
- movs r6, 0x2
- ldrsh r0, [r5, r6]
- cmp r0, 0x1
- blt _080ADBA8
- cmp r0, 0x2
- bgt _080ADBA8
- movs r0, 0x60
- b _080ADBAA
- .align 2, 0
-_080ADBA0: .4byte gUnknown_3001B90
-_080ADBA4: .4byte gUnknown_8118828
-_080ADBA8:
- movs r0, 0x20
-_080ADBAA:
- str r0, [r4, 0x8]
- mov r3, r8
- ldrb r0, [r3]
- lsls r1, r0, 11
- ldrb r0, [r3, 0x1]
- lsls r2, r0, 11
- mov r5, r8
- adds r5, 0x4
- add r6, sp, 0xC
- mov r12, r6
- ldrb r6, [r5, 0x2]
- movs r0, 0x4
- ands r0, r6
- cmp r0, 0
- bne _080ADBDE
- ldrb r0, [r3, 0x4]
- lsls r3, r0, 11
- str r3, [sp, 0xC]
- movs r0, 0x2
- ands r0, r6
- cmp r0, 0
- beq _080ADBDE
- movs r6, 0x80
- lsls r6, 3
- adds r0, r3, r6
- str r0, [sp, 0xC]
-_080ADBDE:
- ldrb r6, [r5, 0x3]
- movs r0, 0x4
- ands r0, r6
- cmp r0, 0
- bne _080ADC02
- ldrb r0, [r5, 0x1]
- lsls r3, r0, 11
- mov r0, r12
- str r3, [r0, 0x4]
- movs r0, 0x2
- ands r0, r6
- cmp r0, 0
- beq _080ADC02
- movs r5, 0x80
- lsls r5, 3
- adds r0, r3, r5
- mov r6, r12
- str r0, [r6, 0x4]
-_080ADC02:
- ldr r0, [sp, 0xC]
- str r0, [r4, 0xC]
- ldr r0, [sp, 0xC]
- adds r0, r1
- str r0, [r4, 0x14]
- ldr r0, [sp, 0x10]
- str r0, [r4, 0x10]
- ldr r0, [sp, 0x10]
- adds r0, r2
- str r0, [r4, 0x18]
- mov r1, r8
- ldr r0, [r1, 0x8]
- ldr r0, [r0, 0x8]
- str r0, [r4, 0x1C]
- bl sub_80A7A78
- adds r0, r7, 0
-_080ADC24:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GroundEvent_Add
-
- thumb_func_start GroundEvent_Delete
-GroundEvent_Delete:
- push {r4,lr}
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- ldr r0, _080ADC58
- lsls r1, r2, 5
- ldr r4, [r0]
- adds r4, r1
- ldr r1, _080ADC5C
- movs r0, 0
- bl Log
- ldr r0, _080ADC60
- strh r0, [r4, 0x2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADC58: .4byte gUnknown_3001B90
-_080ADC5C: .4byte gUnknown_811886C
-_080ADC60: .4byte 0x0000ffff
- thumb_func_end GroundEvent_Delete
-
- thumb_func_start sub_80ADC64
-sub_80ADC64:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- ldr r1, _080ADC84
- asrs r0, 11
- ldr r1, [r1]
- adds r2, r1, r0
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ADC88
- movs r0, 0
- b _080ADC9A
- .align 2, 0
-_080ADC84: .4byte gUnknown_3001B90
-_080ADC88:
- ldr r0, [r2, 0x1C]
- str r0, [r3]
- movs r0, 0x2
- strh r0, [r3, 0x4]
- ldrh r0, [r2, 0x4]
- strh r0, [r3, 0x6]
- ldrb r0, [r2, 0x6]
- strb r0, [r3, 0x8]
- movs r0, 0x1
-_080ADC9A:
- pop {r1}
- bx r1
- thumb_func_end sub_80ADC64
-
- thumb_func_start sub_80ADCA0
-sub_80ADCA0:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r4, r1, 0
- ldr r0, _080ADCEC
- ldr r3, [r0]
- movs r5, 0
- movs r0, 0x1
- negs r0, r0
- mov r12, r0
- movs r6, 0x80
- lsls r6, 9
-_080ADCB6:
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r0, r12
- beq _080ADCF0
- ldr r0, [r3, 0x8]
- ands r0, r7
- cmp r0, 0
- beq _080ADCF0
- ldr r1, [r3, 0xC]
- ldr r0, [r2]
- cmp r1, r0
- bge _080ADCF0
- ldr r1, [r3, 0x14]
- ldr r0, [r4]
- cmp r1, r0
- ble _080ADCF0
- ldr r1, [r3, 0x10]
- ldr r0, [r2, 0x4]
- cmp r1, r0
- bge _080ADCF0
- ldr r1, [r3, 0x18]
- ldr r0, [r4, 0x4]
- cmp r1, r0
- ble _080ADCF0
- adds r0, r5, 0
- b _080ADD04
- .align 2, 0
-_080ADCEC: .4byte gUnknown_3001B90
-_080ADCF0:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r5, r0, 16
- adds r3, 0x20
- cmp r5, 0x1F
- ble _080ADCB6
- movs r0, 0x1
- negs r0, r0
-_080ADD04:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80ADCA0
-
- thumb_func_start sub_80ADD0C
-sub_80ADD0C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- adds r6, r1, 0
- adds r5, r2, 0
- ldr r0, _080ADD74
- ldr r4, [r0]
- movs r7, 0
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- movs r1, 0x80
- lsls r1, 9
- mov r12, r1
-_080ADD2C:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, r9
- beq _080ADD78
- ldr r0, [r4, 0x8]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _080ADD78
- ldr r0, [r4, 0xC]
- ldr r1, [r4, 0x14]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r2, r0, 1
- ldr r0, [r4, 0x10]
- ldr r1, [r4, 0x18]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r3, r0, 1
- ldr r0, [r5]
- cmp r2, r0
- bge _080ADD78
- ldr r0, [r6]
- cmp r2, r0
- ble _080ADD78
- ldr r0, [r5, 0x4]
- cmp r3, r0
- bge _080ADD78
- ldr r0, [r6, 0x4]
- cmp r3, r0
- ble _080ADD78
- adds r0, r7, 0
- b _080ADD8C
- .align 2, 0
-_080ADD74: .4byte gUnknown_3001B90
-_080ADD78:
- mov r0, r12
- movs r1, 0x80
- lsls r1, 9
- add r12, r1
- asrs r7, r0, 16
- adds r4, 0x20
- cmp r7, 0x1F
- ble _080ADD2C
- movs r0, 0x1
- negs r0, r0
-_080ADD8C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80ADD0C
-
- thumb_func_start nullsub_124
-nullsub_124:
- bx lr
- thumb_func_end nullsub_124
-
- thumb_func_start sub_80ADD9C
-sub_80ADD9C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- str r2, [sp, 0x28]
- str r3, [sp, 0x2C]
- ldr r5, [sp, 0x54]
- ldr r0, [sp, 0x5C]
- mov r9, r0
- movs r0, 0x93
- lsls r0, 4
- movs r1, 0x7
- bl MemoryAlloc
- mov r10, r0
- ldr r0, _080ADEB4
- ldr r7, _080ADEB8
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- add r4, sp, 0x1C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80901D8
- ldrb r5, [r4]
- ldrb r4, [r4, 0x1]
- cmp r5, 0x3E
- bls _080ADDE2
- movs r5, 0x3E
-_080ADDE2:
- cmp r4, 0
- bgt _080ADDE8
- movs r4, 0x1
-_080ADDE8:
- adds r0, r5, 0
- bl sub_8090298
- cmp r4, r0
- blt _080ADDFA
- adds r0, r5, 0
- bl sub_8090298
- subs r4, r0, 0x1
-_080ADDFA:
- ldr r2, [r6, 0x4]
- ldr r1, [r2]
- lsls r0, r5, 2
- adds r0, r1
- lsls r1, r4, 4
- ldr r0, [r0]
- adds r0, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- mov r8, r0
- adds r0, r6, 0
- bl CloseFile
- ldr r1, _080ADEBC
- ldr r0, _080ADEC0
- add r0, r8
- ldrb r5, [r0]
- add r0, sp, 0x10
- adds r2, r5, 0
- bl sprintf
- add r0, sp, 0x10
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- ldr r0, [sp, 0x28]
- movs r1, 0
- adds r2, r4, 0
- bl sub_800AE28
- adds r0, r4, 0
- bl CloseFile
- ldr r1, _080ADEC4
- add r0, sp, 0x10
- mov r2, r8
- bl sprintf
- add r0, sp, 0x10
- adds r1, r7, 0
- bl OpenFile
- ldr r1, [sp, 0x20]
- str r0, [r1]
- ldr r1, _080ADEC8
- add r0, sp, 0x10
- adds r2, r5, 0
- bl sprintf
- add r0, sp, 0x10
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- ldr r1, _080ADECC
- ldr r0, [sp, 0x2C]
- adds r2, r4, 0
- bl sub_800AAA8
- adds r0, r4, 0
- bl CloseFile
- mov r2, r8
- cmp r2, 0x3F
- bgt _080ADED4
- ldr r1, _080ADED0
- add r0, sp, 0x10
- adds r2, r5, 0
- bl sprintf
- add r0, sp, 0x10
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- mov r0, r10
- movs r1, 0x93
- lsls r1, 4
- adds r2, r4, 0
- bl sub_800AAA8
- adds r0, r4, 0
- bl CloseFile
- b _080ADEFC
- .align 2, 0
-_080ADEB4: .4byte gUnknown_8118890
-_080ADEB8: .4byte gUnknown_83B0000
-_080ADEBC: .4byte gUnknown_811889C
-_080ADEC0: .4byte gUnknown_8108EC0
-_080ADEC4: .4byte gUnknown_81188A8
-_080ADEC8: .4byte gUnknown_81188B4
-_080ADECC: .4byte 0x00001194
-_080ADED0: .4byte gUnknown_81188C0
-_080ADED4:
- ldr r1, _080ADF80
- add r0, sp, 0x10
- mov r2, r8
- ldr r3, [sp, 0x58]
- bl sprintf
- add r0, sp, 0x10
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- movs r1, 0x90
- lsls r1, 2
- mov r0, r10
- adds r2, r4, 0
- bl sub_800AAA8
- adds r0, r4, 0
- bl CloseFile
-_080ADEFC:
- movs r5, 0
- ldr r3, [sp, 0x60]
- cmp r5, r3
- bge _080ADF52
-_080ADF04:
- mov r0, r8
- bl sub_8097F40
- lsls r0, 24
- movs r7, 0
- cmp r0, 0
- beq _080ADF14
- movs r7, 0x3
-_080ADF14:
- movs r4, 0
- adds r6, r5, 0x1
- cmp r4, r9
- bge _080ADF4A
-_080ADF1C:
- ldr r0, [sp, 0x64]
- str r0, [sp]
- str r7, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- mov r2, r8
- str r2, [sp, 0xC]
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, r9
- ldr r3, [sp, 0x60]
- bl sub_80ADFB8
- mov r1, r9
- muls r1, r5
- adds r1, r4
- lsls r1, 1
- ldr r3, [sp, 0x50]
- adds r1, r3
- strh r0, [r1]
- adds r4, 0x1
- cmp r4, r9
- blt _080ADF1C
-_080ADF4A:
- adds r5, r6, 0
- ldr r0, [sp, 0x60]
- cmp r5, r0
- blt _080ADF04
-_080ADF52:
- ldr r1, _080ADF84
- add r0, sp, 0x10
- mov r2, r8
- bl sprintf
- ldr r1, _080ADF88
- add r0, sp, 0x10
- bl OpenFile
- ldr r1, [sp, 0x24]
- str r0, [r1]
- mov r0, r10
- bl MemoryFree
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADF80: .4byte gUnknown_81188CC
-_080ADF84: .4byte gUnknown_81188DC
-_080ADF88: .4byte gUnknown_83B0000
- thumb_func_end sub_80ADD9C
-
- thumb_func_start sub_80ADF8C
-sub_80ADF8C:
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [sp, 0xC]
- cmp r4, 0
- blt _080ADFB0
- cmp r1, 0
- blt _080ADFB0
- cmp r4, r2
- bge _080ADFB0
- cmp r1, r3
- bge _080ADFB0
- adds r0, r1, 0
- muls r0, r2
- adds r0, r4, r0
- lsls r0, 1
- ldr r1, [sp, 0x8]
- adds r0, r1
- ldrh r0, [r0]
-_080ADFB0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80ADF8C
-
- thumb_func_start sub_80ADFB8
-sub_80ADFB8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- mov r9, r0
- mov r10, r1
- adds r6, r2, 0
- mov r8, r3
- ldr r4, [sp, 0x5C]
- movs r7, 0
- ldr r0, [sp, 0x50]
- str r0, [sp]
- ldr r1, [sp, 0x54]
- str r1, [sp, 0x4]
- mov r0, r9
- mov r1, r10
- bl sub_80ADF8C
- str r0, [sp, 0x28]
- cmp r4, 0x3F
- ble _080AE000
- mov r0, r9
- cmp r0, 0x17
- bgt _080ADFFC
- mov r1, r10
- cmp r1, 0x17
- bgt _080ADFFC
- lsls r0, r1, 1
- add r0, r10
- lsls r0, 3
- add r0, r9
- b _080AE24E
-_080ADFFC:
- ldr r0, [sp, 0x54]
- b _080AE254
-_080AE000:
- mov r0, r10
- adds r0, 0x1
- str r0, [sp, 0x2C]
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- mov r0, r9
- ldr r1, [sp, 0x2C]
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0x8]
- mov r4, r9
- adds r4, 0x1
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- ldr r1, [sp, 0x2C]
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0xC]
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r1, r10
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0x10]
- mov r5, r10
- subs r5, 0x1
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0x14]
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- mov r0, r9
- adds r1, r5, 0
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0x18]
- subs r4, 0x2
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0x1C]
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r1, r10
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0x20]
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- ldr r1, [sp, 0x2C]
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- adds r1, r0, 0
- str r1, [sp, 0x24]
- ldr r0, [sp, 0x28]
- cmp r0, 0x1
- bne _080AE12A
- movs r7, 0xFF
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bne _080AE0D2
- movs r7, 0xFE
-_080AE0D2:
- ldr r0, [sp, 0xC]
- cmp r0, 0
- bne _080AE0DE
- movs r0, 0x3
- negs r0, r0
- ands r7, r0
-_080AE0DE:
- ldr r0, [sp, 0x10]
- cmp r0, 0
- bne _080AE0EA
- movs r0, 0x5
- negs r0, r0
- ands r7, r0
-_080AE0EA:
- ldr r0, [sp, 0x14]
- cmp r0, 0
- bne _080AE0F6
- movs r0, 0x9
- negs r0, r0
- ands r7, r0
-_080AE0F6:
- ldr r0, [sp, 0x18]
- cmp r0, 0
- bne _080AE102
- movs r0, 0x11
- negs r0, r0
- ands r7, r0
-_080AE102:
- ldr r0, [sp, 0x1C]
- cmp r0, 0
- bne _080AE10E
- movs r0, 0x21
- negs r0, r0
- ands r7, r0
-_080AE10E:
- ldr r0, [sp, 0x20]
- cmp r0, 0
- bne _080AE11A
- movs r0, 0x41
- negs r0, r0
- ands r7, r0
-_080AE11A:
- cmp r1, 0
- bne _080AE124
- movs r0, 0x81
- negs r0, r0
- ands r7, r0
-_080AE124:
- movs r0, 0x80
- lsls r0, 2
- b _080AE248
-_080AE12A:
- ldr r0, [sp, 0x28]
- cmp r0, 0x2
- bne _080AE192
- movs r7, 0xFF
- ldr r0, [sp, 0x8]
- cmp r0, 0x2
- beq _080AE13A
- movs r7, 0xFE
-_080AE13A:
- ldr r0, [sp, 0xC]
- cmp r0, 0x2
- beq _080AE146
- movs r0, 0x3
- negs r0, r0
- ands r7, r0
-_080AE146:
- ldr r0, [sp, 0x10]
- cmp r0, 0x2
- beq _080AE152
- movs r0, 0x5
- negs r0, r0
- ands r7, r0
-_080AE152:
- ldr r0, [sp, 0x14]
- cmp r0, 0x2
- beq _080AE15E
- movs r0, 0x9
- negs r0, r0
- ands r7, r0
-_080AE15E:
- ldr r0, [sp, 0x18]
- cmp r0, 0x2
- beq _080AE16A
- movs r0, 0x11
- negs r0, r0
- ands r7, r0
-_080AE16A:
- ldr r0, [sp, 0x1C]
- cmp r0, 0x2
- beq _080AE176
- movs r0, 0x21
- negs r0, r0
- ands r7, r0
-_080AE176:
- ldr r0, [sp, 0x20]
- cmp r0, 0x2
- beq _080AE182
- movs r0, 0x41
- negs r0, r0
- ands r7, r0
-_080AE182:
- cmp r1, 0x2
- beq _080AE18C
- movs r0, 0x81
- negs r0, r0
- ands r7, r0
-_080AE18C:
- movs r0, 0x80
- lsls r0, 1
- b _080AE248
-_080AE192:
- ldr r1, [sp, 0x28]
- cmp r1, 0x3
- bne _080AE1FC
- movs r7, 0xFF
- ldr r0, [sp, 0x8]
- cmp r0, 0x3
- beq _080AE1A2
- movs r7, 0xFE
-_080AE1A2:
- ldr r0, [sp, 0xC]
- cmp r0, 0x3
- beq _080AE1AE
- movs r0, 0x3
- negs r0, r0
- ands r7, r0
-_080AE1AE:
- ldr r0, [sp, 0x10]
- cmp r0, 0x3
- beq _080AE1BA
- movs r0, 0x5
- negs r0, r0
- ands r7, r0
-_080AE1BA:
- ldr r0, [sp, 0x14]
- cmp r0, 0x3
- beq _080AE1C6
- movs r0, 0x9
- negs r0, r0
- ands r7, r0
-_080AE1C6:
- ldr r0, [sp, 0x18]
- cmp r0, 0x3
- beq _080AE1D2
- movs r0, 0x11
- negs r0, r0
- ands r7, r0
-_080AE1D2:
- ldr r0, [sp, 0x1C]
- cmp r0, 0x3
- beq _080AE1DE
- movs r0, 0x21
- negs r0, r0
- ands r7, r0
-_080AE1DE:
- ldr r0, [sp, 0x20]
- cmp r0, 0x3
- beq _080AE1EA
- movs r0, 0x41
- negs r0, r0
- ands r7, r0
-_080AE1EA:
- ldr r0, [sp, 0x24]
- cmp r0, 0x3
- beq _080AE1F6
- movs r0, 0x81
- negs r0, r0
- ands r7, r0
-_080AE1F6:
- movs r0, 0x80
- lsls r0, 1
- b _080AE248
-_080AE1FC:
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bne _080AE204
- movs r7, 0x1
-_080AE204:
- ldr r0, [sp, 0xC]
- cmp r0, 0
- bne _080AE20E
- movs r0, 0x2
- orrs r7, r0
-_080AE20E:
- ldr r0, [sp, 0x10]
- cmp r0, 0
- bne _080AE218
- movs r0, 0x4
- orrs r7, r0
-_080AE218:
- ldr r0, [sp, 0x14]
- cmp r0, 0
- bne _080AE222
- movs r0, 0x8
- orrs r7, r0
-_080AE222:
- ldr r0, [sp, 0x18]
- cmp r0, 0
- bne _080AE22C
- movs r0, 0x10
- orrs r7, r0
-_080AE22C:
- ldr r0, [sp, 0x1C]
- cmp r0, 0
- bne _080AE236
- movs r0, 0x20
- orrs r7, r0
-_080AE236:
- ldr r0, [sp, 0x20]
- cmp r0, 0
- bne _080AE240
- movs r0, 0x40
- orrs r7, r0
-_080AE240:
- ldr r0, [sp, 0x24]
- cmp r0, 0
- bne _080AE24A
- movs r0, 0x80
-_080AE248:
- orrs r7, r0
-_080AE24A:
- lsls r0, r7, 1
- adds r0, r7
-_080AE24E:
- ldr r1, [sp, 0x58]
- adds r0, r1, r0
- ldrb r0, [r0]
-_080AE254:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80ADFB8
-
.align 2, 0 @ Don't pad with nop.