summaryrefslogtreecommitdiff
path: root/asm/code_809D148.s
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-10-22 10:01:07 -0700
committerGitHub <noreply@github.com>2021-10-22 10:01:07 -0700
commit3e5dd1d047bada52ab0dce2fe58b04e39bcaa1cc (patch)
tree0e40067d711c783ef97667f4a8256f38ab0d4b0a /asm/code_809D148.s
parent3f7ee3a806d965fae70fd98f2cd1af13a2e4cf0b (diff)
Death by 74 files (#65)
* death by 74 files * 20% reached * doc move stuff in pokemon * fix undef reference * doc more and plumb a few more constanst for num party members and num moves * that struct is def PokemonMove.. clean up all code with it
Diffstat (limited to 'asm/code_809D148.s')
-rw-r--r--asm/code_809D148.s9178
1 files changed, 1 insertions, 9177 deletions
diff --git a/asm/code_809D148.s b/asm/code_809D148.s
index b571869..c3a3f96 100644
--- a/asm/code_809D148.s
+++ b/asm/code_809D148.s
@@ -3,7 +3,7 @@
.syntax unified
- .text
+ .text
thumb_func_start sub_809D25C
sub_809D25C:
@@ -747,9180 +747,4 @@ sub_809D770:
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 IsEqualtoBGTrack
- 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 SetRescueTeamName
-_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 CopyStringtoBuffer
- 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 gFunctionScriptTable
-_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 gFunctionScriptTable
-_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 xxx_call_start_new_bgm
- 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 xxx_call_fade_in_new_bgm
- 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 xxx_call_fade_out_bgm
- 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 ScenarioCalc
- 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 ScenarioCalc
- 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 FindItemInInventory
- cmp r0, 0
- bge _080A0E4E
- bl _0809EAE0
-_080A0E4E:
- bl ShiftItemsDownFrom
- 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 gFunctionScriptTable
-_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 gFunctionScriptTable
-_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 @ Wigglytuff Club Opening
- .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 gFriendAreaDialogue
-_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 gRealInputs
-_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 GetIsMoving
- 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: @ Wigglytuff Guild Opening
- movs r0, 0xC @ Wild Plains
- bl UnlockFriendArea
- movs r0, 0x12 @ Mist-Rise Forest
- bl UnlockFriendArea
- 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 GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- bl UnlockFriendArea
- 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 gPlayerName
-_080A197C:
- ldr r0, _080A1984
- movs r1, 0x53
- b _080A18F6
- .align 2, 0
-_080A1984: .4byte gUnknown_2039D98
-_080A1988:
- ldr r0, _080A19D4
- bl GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- bl UnlockFriendArea
- 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 gPlayerName
-_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 HasRecruitedMon
- lsls r0, 24
- cmp r0, 0
- bne _080A1B08
- bl _080A236A
-_080A1B08:
- movs r0, 0x91
- bl HasRecruitedMon
- lsls r0, 24
- cmp r0, 0
- bne _080A1B18
- bl _080A236A
-_080A1B18:
- movs r0, 0x92
- bl HasRecruitedMon
- 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 GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- bl GetFriendAreaStatus
- lsls r0, 24
- cmp r0, 0
- bne _080A1B88
- adds r0, r4, 0
- bl GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- bl UnlockFriendArea
-_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 GetNumberOfFilledInventorySlots
- cmp r0, 0x13
- ble _080A1C70
- ldr r0, _080A1C64
- ldrb r4, [r0, 0x2]
- adds r0, r4, 0
- bl IsNotMoneyOrUsedTMItem
- 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 gTeamInventory_203B460
-_080A1C6C: .4byte 0x000003e6
-_080A1C70:
- ldr r0, _080A1C80
- ldrb r0, [r0, 0x2]
- movs r1, 0
- bl sub_809124C
- bl FillInventoryGaps
- 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 IsExclusivePokemonUnlocked
- lsls r0, 24
- cmp r0, 0
- beq _080A1CA4
- adds r0, r5, 0
- bl GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- bl GetFriendAreaStatus
- lsls r0, 24
- cmp r0, 0
- beq _080A1D9E
- adds r0, r5, 0
- bl HasRecruitedMon
- 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 GetFriendArea
- 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 GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- bl GetFriendAreaStatus
- 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 GetFriendArea
- 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 GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- bl GetFriendAreaStatus
- 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 GetFriendArea
- 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 GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- bl GetFriendAreaStatus
- lsls r0, 24
- cmp r0, 0
- bne _080A1E8E
- adds r0, r5, 0
- bl GetFriendArea
- lsls r0, 24
- lsrs r0, 24
- bl UnlockFriendArea
-_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 GetPtsToNextRank
- b _080A177C
-_080A1ED6:
- bl GetRescueTeamRank
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetPtsToNextRank
- cmp r0, 0
- bgt _080A1EE8
- b _080A236A
-_080A1EE8:
- bl AddToTeamRankPts
- bl GetRescueTeamRank
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r4, 0
- bl GetTeamRankString
- adds r1, r0, 0
- ldr r4, _080A1F30
- adds r0, r4, 0
- bl strcpy
- adds r0, r5, 0
- bl GetTeamRankString
- 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 AddToTeamMoney
- 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 GetNumberOfFilledInventorySlots
- cmp r0, 0x13
- ble _080A2018
- ldrb r4, [r6, 0x2]
- adds r0, r4, 0
- bl IsNotMoneyOrUsedTMItem
- 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 gTeamInventory_203B460
-_080A2018:
- ldrb r0, [r6, 0x2]
- movs r1, 0
- bl sub_809124C
- bl FillInventoryGaps
-_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 gFunctionScriptTable
-_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 gRealInputs
-_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 GetCurrentBGSong
- 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 xxx_call_start_new_bgm
- 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 xxx_call_fade_in_new_bgm
- 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
-
.align 2,0