summaryrefslogtreecommitdiff
path: root/asm/battle_setup.s
diff options
context:
space:
mode:
authorsceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-16 23:54:22 -0800
committersceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-16 23:54:22 -0800
commit670fef77ac4d9116d5fdc28c0da40622919a062b (patch)
tree61c0e925f059404473826ac775305ba5e2706ab1 /asm/battle_setup.s
first commit
Diffstat (limited to 'asm/battle_setup.s')
-rw-r--r--asm/battle_setup.s2180
1 files changed, 2180 insertions, 0 deletions
diff --git a/asm/battle_setup.s b/asm/battle_setup.s
new file mode 100644
index 000000000..65a21ef76
--- /dev/null
+++ b/asm/battle_setup.s
@@ -0,0 +1,2180 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_807F620
+sub_807F620: @ 807F620
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ ldr r1, _0807F640 @ =gUnknown_3005098
+ adds r4, r0, r1
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ cmp r0, 0
+ beq _0807F644
+ cmp r0, 0x1
+ beq _0807F65E
+ b _0807F686
+ .align 2, 0
+_0807F640: .4byte gUnknown_3005098
+_0807F644:
+ bl sub_80A0E60
+ cmp r0, 0
+ bne _0807F686
+ bl sub_812B478
+ ldrb r0, [r4, 0x2]
+ bl sub_80D08B8
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+ b _0807F686
+_0807F65E:
+ bl sub_80D08F8
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0807F686
+ bl sub_812B484
+ bl sub_80563F0
+ ldr r0, _0807F68C @ =sub_800FD9C
+ bl sub_8000544
+ bl sub_806D7E8
+ bl sub_806D788
+ adds r0, r5, 0
+ bl sub_8077508
+_0807F686:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807F68C: .4byte sub_800FD9C
+ thumb_func_end sub_807F620
+
+ thumb_func_start sub_807F690
+sub_807F690: @ 807F690
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r5, 16
+ lsrs r5, 16
+ ldr r0, _0807F6C4 @ =sub_807F620
+ movs r1, 0x1
+ bl sub_807741C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _0807F6C8 @ =gUnknown_3005090
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r4, [r1, 0xA]
+ adds r0, r5, 0
+ bl sub_8044090
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807F6C4: .4byte sub_807F620
+_0807F6C8: .4byte gUnknown_3005090
+ thumb_func_end sub_807F690
+
+ thumb_func_start sub_807F6CC
+sub_807F6CC: @ 807F6CC
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r1, 16
+ lsrs r1, 16
+ cmp r0, 0x1
+ bne _0807F6FC
+ adds r0, r1, 0
+ subs r0, 0x58
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x6
+ bhi _0807F6FC
+ ldr r0, _0807F6F8 @ =0x00000167
+ movs r1, 0x1
+ bl sub_8099F40
+ lsls r0, 24
+ cmp r0, 0
+ bne _0807F6FC
+ movs r0, 0x1
+ b _0807F6FE
+ .align 2, 0
+_0807F6F8: .4byte 0x00000167
+_0807F6FC:
+ movs r0, 0
+_0807F6FE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_807F6CC
+
+ thumb_func_start sub_807F704
+sub_807F704: @ 807F704
+ push {lr}
+ bl sub_80A0E90
+ cmp r0, 0
+ beq _0807F714
+ bl sub_807F7D8
+ b _0807F744
+_0807F714:
+ ldr r0, _0807F73C @ =gUnknown_3005008
+ ldr r1, [r0]
+ movs r0, 0x4
+ ldrsb r0, [r1, r0]
+ lsls r0, 16
+ lsrs r0, 16
+ ldrb r1, [r1, 0x5]
+ lsls r1, 24
+ asrs r1, 24
+ lsls r1, 16
+ lsrs r1, 16
+ bl sub_807F6CC
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807F740
+ bl sub_807F810
+ b _0807F744
+ .align 2, 0
+_0807F73C: .4byte gUnknown_3005008
+_0807F740:
+ bl sub_807F748
+_0807F744:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_807F704
+
+ thumb_func_start sub_807F748
+sub_807F748: @ 807F748
+ push {lr}
+ bl sub_8069940
+ bl sub_8068974
+ bl sub_805C780
+ ldr r1, _0807F780 @ =gUnknown_30030F0
+ ldr r0, _0807F784 @ =sub_807FB40
+ str r0, [r1, 0x8]
+ ldr r1, _0807F788 @ =gUnknown_2022B4C
+ movs r0, 0
+ str r0, [r1]
+ bl sub_807FF34
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_807F690
+ movs r0, 0x7
+ bl sub_8054E90
+ movs r0, 0x8
+ bl sub_8054E90
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807F780: .4byte gUnknown_30030F0
+_0807F784: .4byte sub_807FB40
+_0807F788: .4byte gUnknown_2022B4C
+ thumb_func_end sub_807F748
+
+ thumb_func_start sub_807F78C
+sub_807F78C: @ 807F78C
+ push {lr}
+ bl sub_8069940
+ bl sub_8068974
+ bl sub_805C780
+ ldr r1, _0807F7C8 @ =gUnknown_30030F0
+ ldr r0, _0807F7CC @ =sub_807FB40
+ str r0, [r1, 0x8]
+ ldr r1, _0807F7D0 @ =gUnknown_2022B4C
+ movs r0, 0x80
+ lsls r0, 3
+ str r0, [r1]
+ bl sub_807FF34
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0807F7D4 @ =0x00000155
+ bl sub_807F690
+ movs r0, 0x7
+ bl sub_8054E90
+ movs r0, 0x8
+ bl sub_8054E90
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807F7C8: .4byte gUnknown_30030F0
+_0807F7CC: .4byte sub_807FB40
+_0807F7D0: .4byte gUnknown_2022B4C
+_0807F7D4: .4byte 0x00000155
+ thumb_func_end sub_807F78C
+
+ thumb_func_start sub_807F7D8
+sub_807F7D8: @ 807F7D8
+ push {lr}
+ bl sub_8069940
+ bl sub_8068974
+ bl sub_805C780
+ ldr r1, _0807F804 @ =gUnknown_30030F0
+ ldr r0, _0807F808 @ =sub_80A0F4C
+ str r0, [r1, 0x8]
+ ldr r1, _0807F80C @ =gUnknown_2022B4C
+ movs r0, 0x80
+ str r0, [r1]
+ bl sub_807FF34
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_807F690
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807F804: .4byte gUnknown_30030F0
+_0807F808: .4byte sub_80A0F4C
+_0807F80C: .4byte gUnknown_2022B4C
+ thumb_func_end sub_807F7D8
+
+ thumb_func_start sub_807F810
+sub_807F810: @ 807F810
+ push {lr}
+ bl sub_8069940
+ bl sub_8068974
+ bl sub_805C780
+ ldr r1, _0807F854 @ =gUnknown_30030F0
+ ldr r0, _0807F858 @ =sub_807FB40
+ str r0, [r1, 0x8]
+ ldr r1, _0807F85C @ =gUnknown_2022B4C
+ movs r0, 0x80
+ lsls r0, 8
+ str r0, [r1]
+ bl sub_807FF34
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_807F690
+ ldr r0, _0807F860 @ =gUnknown_202402C
+ ldr r2, _0807F864 @ =gUnknown_841D148
+ movs r1, 0x2
+ bl sub_804037C
+ movs r0, 0x7
+ bl sub_8054E90
+ movs r0, 0x8
+ bl sub_8054E90
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807F854: .4byte gUnknown_30030F0
+_0807F858: .4byte sub_807FB40
+_0807F85C: .4byte gUnknown_2022B4C
+_0807F860: .4byte gUnknown_202402C
+_0807F864: .4byte gUnknown_841D148
+ thumb_func_end sub_807F810
+
+ thumb_func_start sub_807F868
+sub_807F868: @ 807F868
+ push {lr}
+ bl sub_807FF80
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_807F690
+ movs r0, 0x7
+ bl sub_8054E90
+ movs r0, 0x9
+ bl sub_8054E90
+ pop {r0}
+ bx r0
+ thumb_func_end sub_807F868
+
+ thumb_func_start sub_807F888
+sub_807F888: @ 807F888
+ push {lr}
+ ldr r0, _0807F8B4 @ =gUnknown_202402C
+ movs r1, 0xD
+ movs r2, 0x5
+ bl sub_803DF00
+ bl sub_8069940
+ ldr r1, _0807F8B8 @ =gUnknown_30030F0
+ ldr r0, _0807F8BC @ =sub_80568E0
+ str r0, [r1, 0x8]
+ ldr r1, _0807F8C0 @ =gUnknown_2022B4C
+ movs r0, 0x80
+ lsls r0, 2
+ str r0, [r1]
+ movs r0, 0x8
+ movs r1, 0
+ bl sub_807F690
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807F8B4: .4byte gUnknown_202402C
+_0807F8B8: .4byte gUnknown_30030F0
+_0807F8BC: .4byte sub_80568E0
+_0807F8C0: .4byte gUnknown_2022B4C
+ thumb_func_end sub_807F888
+
+ thumb_func_start sub_807F8C4
+sub_807F8C4: @ 807F8C4
+ push {lr}
+ bl sub_8069940
+ ldr r1, _0807F8F8 @ =gUnknown_30030F0
+ ldr r0, _0807F8FC @ =sub_807FBA0
+ str r0, [r1, 0x8]
+ ldr r1, _0807F900 @ =gUnknown_2022B4C
+ movs r0, 0x80
+ lsls r0, 10
+ str r0, [r1]
+ bl sub_807FF34
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_807F690
+ movs r0, 0x7
+ bl sub_8054E90
+ movs r0, 0x8
+ bl sub_8054E90
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807F8F8: .4byte gUnknown_30030F0
+_0807F8FC: .4byte sub_807FBA0
+_0807F900: .4byte gUnknown_2022B4C
+ thumb_func_end sub_807F8C4
+
+ thumb_func_start sub_807F904
+sub_807F904: @ 807F904
+ push {lr}
+ sub sp, 0xC
+ bl sub_8069940
+ ldr r1, _0807F944 @ =gUnknown_30030F0
+ ldr r0, _0807F948 @ =sub_807FBF0
+ str r0, [r1, 0x8]
+ ldr r0, _0807F94C @ =0x00000167
+ movs r1, 0x1
+ bl sub_8099F40
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807F958
+ ldr r1, _0807F950 @ =gUnknown_2022B4C
+ movs r0, 0xA0
+ lsls r0, 8
+ str r0, [r1]
+ ldr r0, _0807F954 @ =gUnknown_202402C
+ movs r1, 0xFE
+ str r1, [sp]
+ movs r1, 0xC
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x69
+ movs r2, 0x1E
+ movs r3, 0x1F
+ bl sub_803DE00
+ b _0807F960
+ .align 2, 0
+_0807F944: .4byte gUnknown_30030F0
+_0807F948: .4byte sub_807FBF0
+_0807F94C: .4byte 0x00000167
+_0807F950: .4byte gUnknown_2022B4C
+_0807F954: .4byte gUnknown_202402C
+_0807F958:
+ ldr r1, _0807F98C @ =gUnknown_2022B4C
+ movs r0, 0x80
+ lsls r0, 8
+ str r0, [r1]
+_0807F960:
+ bl sub_807FF34
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_807F690
+ ldr r0, _0807F990 @ =gUnknown_202402C
+ ldr r2, _0807F994 @ =gUnknown_841D148
+ movs r1, 0x2
+ bl sub_804037C
+ movs r0, 0x7
+ bl sub_8054E90
+ movs r0, 0x8
+ bl sub_8054E90
+ add sp, 0xC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807F98C: .4byte gUnknown_2022B4C
+_0807F990: .4byte gUnknown_202402C
+_0807F994: .4byte gUnknown_841D148
+ thumb_func_end sub_807F904
+
+ thumb_func_start sub_807F998
+sub_807F998: @ 807F998
+ push {lr}
+ bl sub_8069940
+ ldr r1, _0807F9CC @ =gUnknown_30030F0
+ ldr r0, _0807F9D0 @ =sub_807FBA0
+ str r0, [r1, 0x8]
+ ldr r1, _0807F9D4 @ =gUnknown_2022B4C
+ movs r0, 0x80
+ lsls r0, 6
+ str r0, [r1]
+ bl sub_807FF34
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_807F690
+ movs r0, 0x7
+ bl sub_8054E90
+ movs r0, 0x8
+ bl sub_8054E90
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807F9CC: .4byte gUnknown_30030F0
+_0807F9D0: .4byte sub_807FBA0
+_0807F9D4: .4byte gUnknown_2022B4C
+ thumb_func_end sub_807F998
+
+ thumb_func_start sub_807F9D8
+sub_807F9D8: @ 807F9D8
+ push {lr}
+ bl sub_8069940
+ ldr r1, _0807FA0C @ =gUnknown_30030F0
+ ldr r0, _0807FA10 @ =sub_807FBA0
+ str r0, [r1, 0x8]
+ ldr r1, _0807FA14 @ =gUnknown_2022B4C
+ movs r0, 0x84
+ lsls r0, 11
+ str r0, [r1]
+ ldr r0, _0807FA18 @ =gUnknown_202402C
+ movs r1, 0xB
+ bl sub_803FBE8
+ lsls r0, 16
+ lsrs r0, 16
+ adds r1, r0, 0
+ cmp r0, 0x96
+ beq _0807FA2E
+ cmp r0, 0x96
+ bgt _0807FA1C
+ cmp r0, 0x92
+ bgt _0807FA4C
+ cmp r0, 0x90
+ blt _0807FA4C
+ b _0807FA3C
+ .align 2, 0
+_0807FA0C: .4byte gUnknown_30030F0
+_0807FA10: .4byte sub_807FBA0
+_0807FA14: .4byte gUnknown_2022B4C
+_0807FA18: .4byte gUnknown_202402C
+_0807FA1C:
+ cmp r1, 0xF9
+ blt _0807FA4C
+ cmp r1, 0xFA
+ ble _0807FA3C
+ movs r0, 0xCD
+ lsls r0, 1
+ cmp r1, r0
+ beq _0807FA34
+ b _0807FA4C
+_0807FA2E:
+ movs r1, 0xAA
+ lsls r1, 1
+ b _0807FA3E
+_0807FA34:
+ ldr r1, _0807FA38 @ =0x00000153
+ b _0807FA3E
+ .align 2, 0
+_0807FA38: .4byte 0x00000153
+_0807FA3C:
+ ldr r1, _0807FA48 @ =0x00000155
+_0807FA3E:
+ movs r0, 0
+ bl sub_807F690
+ b _0807FA56
+ .align 2, 0
+_0807FA48: .4byte 0x00000155
+_0807FA4C:
+ movs r1, 0x85
+ lsls r1, 1
+ movs r0, 0
+ bl sub_807F690
+_0807FA56:
+ movs r0, 0x7
+ bl sub_8054E90
+ movs r0, 0x8
+ bl sub_8054E90
+ pop {r0}
+ bx r0
+ thumb_func_end sub_807F9D8
+
+ thumb_func_start sub_807FA68
+sub_807FA68: @ 807FA68
+ push {lr}
+ bl sub_8069940
+ ldr r1, _0807FA90 @ =gUnknown_30030F0
+ ldr r0, _0807FA94 @ =sub_807FBA0
+ str r0, [r1, 0x8]
+ ldr r1, _0807FA98 @ =gUnknown_2022B4C
+ movs r0, 0xC0
+ lsls r0, 6
+ str r0, [r1]
+ ldr r0, _0807FA9C @ =gUnknown_81E9F10
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bne _0807FAA0
+ movs r1, 0x85
+ lsls r1, 1
+ movs r0, 0xB
+ bl sub_807F690
+ b _0807FAAA
+ .align 2, 0
+_0807FA90: .4byte gUnknown_30030F0
+_0807FA94: .4byte sub_807FBA0
+_0807FA98: .4byte gUnknown_2022B4C
+_0807FA9C: .4byte gUnknown_81E9F10
+_0807FAA0:
+ movs r1, 0x85
+ lsls r1, 1
+ movs r0, 0xB
+ bl sub_807F690
+_0807FAAA:
+ movs r0, 0x7
+ bl sub_8054E90
+ movs r0, 0x8
+ bl sub_8054E90
+ pop {r0}
+ bx r0
+ thumb_func_end sub_807FA68
+
+ thumb_func_start sub_807FABC
+sub_807FABC: @ 807FABC
+ push {lr}
+ bl sub_8069940
+ ldr r1, _0807FAEC @ =gUnknown_30030F0
+ ldr r0, _0807FAF0 @ =sub_807FBA0
+ str r0, [r1, 0x8]
+ ldr r1, _0807FAF4 @ =gUnknown_2022B4C
+ movs r0, 0xC0
+ lsls r0, 7
+ str r0, [r1]
+ movs r1, 0x85
+ lsls r1, 1
+ movs r0, 0
+ bl sub_807F690
+ movs r0, 0x7
+ bl sub_8054E90
+ movs r0, 0x8
+ bl sub_8054E90
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807FAEC: .4byte gUnknown_30030F0
+_0807FAF0: .4byte sub_807FBA0
+_0807FAF4: .4byte gUnknown_2022B4C
+ thumb_func_end sub_807FABC
+
+ thumb_func_start sub_807FAF8
+sub_807FAF8: @ 807FAF8
+ push {lr}
+ bl sub_804C230
+ bl sub_807FB40
+ pop {r0}
+ bx r0
+ thumb_func_end sub_807FAF8
+
+ thumb_func_start sub_807FB08
+sub_807FB08: @ 807FB08
+ push {lr}
+ bl sub_8069940
+ bl sub_8068974
+ bl sub_805C780
+ ldr r1, _0807FB38 @ =gUnknown_30030F0
+ ldr r0, _0807FB3C @ =sub_807FAF8
+ str r0, [r1, 0x8]
+ bl sub_804C1F0
+ bl sub_8159F40
+ bl sub_807FF34
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_807F690
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807FB38: .4byte gUnknown_30030F0
+_0807FB3C: .4byte sub_807FAF8
+ thumb_func_end sub_807FB08
+
+ thumb_func_start sub_807FB40
+sub_807FB40: @ 807FB40
+ push {lr}
+ sub sp, 0x4
+ mov r1, sp
+ movs r0, 0
+ strh r0, [r1]
+ movs r1, 0xA0
+ lsls r1, 19
+ ldr r2, _0807FB74 @ =0x01000100
+ mov r0, sp
+ bl CpuSet
+ movs r0, 0
+ movs r1, 0x80
+ bl sub_80072E8
+ ldr r0, _0807FB78 @ =gUnknown_2023E8A
+ ldrb r0, [r0]
+ bl sub_80800D0
+ cmp r0, 0x1
+ bne _0807FB80
+ ldr r0, _0807FB7C @ =sub_80566A4
+ bl sub_8000544
+ b _0807FB8C
+ .align 2, 0
+_0807FB74: .4byte 0x01000100
+_0807FB78: .4byte gUnknown_2023E8A
+_0807FB7C: .4byte sub_80566A4
+_0807FB80:
+ ldr r0, _0807FB94 @ =sub_80567DC
+ bl sub_8000544
+ ldr r1, _0807FB98 @ =gUnknown_3005020
+ ldr r0, _0807FB9C @ =sub_807E3EC
+ str r0, [r1]
+_0807FB8C:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807FB94: .4byte sub_80567DC
+_0807FB98: .4byte gUnknown_3005020
+_0807FB9C: .4byte sub_807E3EC
+ thumb_func_end sub_807FB40
+
+ thumb_func_start sub_807FBA0
+sub_807FBA0: @ 807FBA0
+ push {lr}
+ sub sp, 0x4
+ mov r1, sp
+ movs r0, 0
+ strh r0, [r1]
+ movs r1, 0xA0
+ lsls r1, 19
+ ldr r2, _0807FBD4 @ =0x01000100
+ mov r0, sp
+ bl CpuSet
+ movs r0, 0
+ movs r1, 0x80
+ bl sub_80072E8
+ ldr r0, _0807FBD8 @ =gUnknown_2023E8A
+ ldrb r0, [r0]
+ bl sub_80800D0
+ cmp r0, 0x1
+ bne _0807FBE0
+ ldr r0, _0807FBDC @ =sub_80566A4
+ bl sub_8000544
+ b _0807FBE6
+ .align 2, 0
+_0807FBD4: .4byte 0x01000100
+_0807FBD8: .4byte gUnknown_2023E8A
+_0807FBDC: .4byte sub_80566A4
+_0807FBE0:
+ ldr r0, _0807FBEC @ =sub_80568E0
+ bl sub_8000544
+_0807FBE6:
+ add sp, 0x4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807FBEC: .4byte sub_80568E0
+ thumb_func_end sub_807FBA0
+
+ thumb_func_start sub_807FBF0
+sub_807FBF0: @ 807FBF0
+ push {r4,lr}
+ sub sp, 0x4
+ mov r1, sp
+ movs r0, 0
+ strh r0, [r1]
+ movs r1, 0xA0
+ lsls r1, 19
+ ldr r2, _0807FC24 @ =0x01000100
+ mov r0, sp
+ bl CpuSet
+ movs r0, 0
+ movs r1, 0x80
+ bl sub_80072E8
+ ldr r4, _0807FC28 @ =gUnknown_2023E8A
+ ldrb r0, [r4]
+ bl sub_80800D0
+ adds r1, r0, 0
+ cmp r1, 0
+ beq _0807FC30
+ ldr r0, _0807FC2C @ =sub_80566A4
+ bl sub_8000544
+ b _0807FC4C
+ .align 2, 0
+_0807FC24: .4byte 0x01000100
+_0807FC28: .4byte gUnknown_2023E8A
+_0807FC2C: .4byte sub_80566A4
+_0807FC30:
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ bne _0807FC40
+ ldr r0, _0807FC3C @ =gUnknown_20370D0
+ strh r1, [r0]
+ b _0807FC46
+ .align 2, 0
+_0807FC3C: .4byte gUnknown_20370D0
+_0807FC40:
+ ldr r1, _0807FC54 @ =gUnknown_20370D0
+ movs r0, 0x1
+ strh r0, [r1]
+_0807FC46:
+ ldr r0, _0807FC58 @ =sub_80568E0
+ bl sub_8000544
+_0807FC4C:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0807FC54: .4byte gUnknown_20370D0
+_0807FC58: .4byte sub_80568E0
+ thumb_func_end sub_807FBF0
+
+ thumb_func_start sub_807FC5C
+sub_807FC5C: @ 807FC5C
+ push {r4,r5,lr}
+ sub sp, 0x4
+ mov r4, sp
+ adds r4, 0x2
+ mov r0, sp
+ adds r1, r4, 0
+ bl sub_805C538
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r2, 0
+ ldrsh r1, [r4, r2]
+ bl sub_8058F78
+ lsls r0, 16
+ lsrs r5, r0, 16
+ lsls r0, r5, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl sub_8059F34
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807FC92
+ movs r0, 0
+ b _0807FD88
+_0807FC92:
+ adds r0, r4, 0
+ bl sub_8059F4C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807FCA2
+ movs r0, 0x1
+ b _0807FD88
+_0807FCA2:
+ adds r0, r4, 0
+ bl sub_8059B74
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807FCB2
+ movs r0, 0x2
+ b _0807FD88
+_0807FCB2:
+ ldr r0, _0807FCC8 @ =gUnknown_2036DFC
+ ldrb r0, [r0, 0x17]
+ subs r0, 0x1
+ cmp r0, 0x8
+ bhi _0807FD2C
+ lsls r0, 2
+ ldr r1, _0807FCCC @ =_0807FCD0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0807FCC8: .4byte gUnknown_2036DFC
+_0807FCCC: .4byte _0807FCD0
+ .align 2, 0
+_0807FCD0:
+ .4byte _0807FD2C
+ .4byte _0807FD2C
+ .4byte _0807FD2C
+ .4byte _0807FCF4
+ .4byte _0807FD18
+ .4byte _0807FD1C
+ .4byte _0807FD2C
+ .4byte _0807FD04
+ .4byte _0807FD04
+_0807FCF4:
+ lsls r0, r5, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl sub_8059F88
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807FD08
+_0807FD04:
+ movs r0, 0x8
+ b _0807FD88
+_0807FD08:
+ adds r0, r4, 0
+ bl sub_8059CA4
+ lsls r0, 24
+ cmp r0, 0
+ bne _0807FD70
+ movs r0, 0x7
+ b _0807FD88
+_0807FD18:
+ movs r0, 0x3
+ b _0807FD88
+_0807FD1C:
+ lsls r0, r5, 24
+ lsrs r0, 24
+ bl sub_8059CA4
+ lsls r0, 24
+ cmp r0, 0
+ bne _0807FD82
+ b _0807FD86
+_0807FD2C:
+ lsls r0, r5, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl sub_805A01C
+ lsls r0, 24
+ cmp r0, 0
+ bne _0807FD82
+ adds r0, r4, 0
+ bl sub_8059CA4
+ lsls r0, 24
+ cmp r0, 0
+ bne _0807FD70
+ adds r0, r4, 0
+ bl sub_8059F9C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807FD58
+ movs r0, 0x6
+ b _0807FD88
+_0807FD58:
+ movs r0, 0x8
+ bl sub_805C74C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807FD86
+ adds r0, r4, 0
+ bl sub_8059F5C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807FD74
+_0807FD70:
+ movs r0, 0x5
+ b _0807FD88
+_0807FD74:
+ adds r0, r4, 0
+ bl sub_8059F58
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0807FD86
+_0807FD82:
+ movs r0, 0x4
+ b _0807FD88
+_0807FD86:
+ movs r0, 0x9
+_0807FD88:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_807FC5C
+
+ thumb_func_start sub_807FD90
+sub_807FD90: @ 807FD90
+ push {r4,lr}
+ sub sp, 0x4
+ mov r4, sp
+ adds r4, 0x2
+ mov r0, sp
+ adds r1, r4, 0
+ bl sub_805C538
+ mov r0, sp
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ movs r2, 0
+ ldrsh r1, [r4, r2]
+ bl sub_8058F78
+ lsls r0, 16
+ lsrs r4, r0, 16
+ bl sub_8055D30
+ lsls r0, 24
+ cmp r0, 0
+ beq _0807FDC0
+ movs r0, 0x2
+ b _0807FDEA
+_0807FDC0:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8059CA4
+ lsls r0, 24
+ cmp r0, 0
+ bne _0807FDE8
+ ldr r0, _0807FDE0 @ =gUnknown_2036DFC
+ ldrb r0, [r0, 0x17]
+ cmp r0, 0x4
+ beq _0807FDE4
+ cmp r0, 0x5
+ beq _0807FDE8
+ movs r0, 0
+ b _0807FDEA
+ .align 2, 0
+_0807FDE0: .4byte gUnknown_2036DFC
+_0807FDE4:
+ movs r0, 0x1
+ b _0807FDEA
+_0807FDE8:
+ movs r0, 0x3
+_0807FDEA:
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_807FD90
+
+ thumb_func_start sub_807FDF4
+sub_807FDF4: @ 807FDF4
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r7, 0
+ movs r6, 0
+_0807FDFE:
+ movs r0, 0x64
+ adds r1, r6, 0
+ muls r1, r0
+ ldr r0, _0807FE50 @ =gUnknown_2024284
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x41
+ bl sub_803FBE8
+ adds r1, r0, 0
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r1, r0
+ beq _0807FE42
+ cmp r1, 0
+ beq _0807FE42
+ adds r0, r4, 0
+ movs r1, 0x39
+ bl sub_803FBE8
+ cmp r0, 0
+ beq _0807FE42
+ adds r0, r4, 0
+ movs r1, 0x38
+ bl sub_803FBE8
+ adds r0, r7, r0
+ lsls r0, 24
+ lsrs r7, r0, 24
+ subs r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0
+ beq _0807FE48
+_0807FE42:
+ adds r6, 0x1
+ cmp r6, 0x5
+ ble _0807FDFE
+_0807FE48:
+ adds r0, r7, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0807FE50: .4byte gUnknown_2024284
+ thumb_func_end sub_807FDF4
+
+ thumb_func_start sub_807FE54
+sub_807FE54: @ 807FE54
+ push {r4,r5,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r1, 24
+ lsrs r4, r1, 24
+ ldr r5, _0807FE88 @ =gUnknown_823EAC8
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r2, r1, r5
+ adds r0, r2, 0
+ adds r0, 0x20
+ ldrb r0, [r0]
+ cmp r0, r4
+ bcs _0807FE74
+ adds r4, r0, 0
+_0807FE74:
+ movs r3, 0
+ ldrb r0, [r2]
+ cmp r0, 0x1
+ beq _0807FEBC
+ cmp r0, 0x1
+ bgt _0807FE8C
+ cmp r0, 0
+ beq _0807FE96
+ b _0807FF2C
+ .align 2, 0
+_0807FE88: .4byte gUnknown_823EAC8
+_0807FE8C:
+ cmp r0, 0x2
+ beq _0807FEE2
+ cmp r0, 0x3
+ beq _0807FF08
+ b _0807FF2C
+_0807FE96:
+ adds r0, r5, 0
+ adds r0, 0x24
+ adds r0, r1, r0
+ ldr r1, [r0]
+ movs r2, 0
+ cmp r3, r4
+ bcs _0807FF2C
+_0807FEA4:
+ lsls r0, r2, 3
+ adds r0, r1
+ ldrb r0, [r0, 0x2]
+ adds r0, r3, r0
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, r4
+ bcc _0807FEA4
+ b _0807FF2C
+_0807FEBC:
+ adds r0, r5, 0
+ adds r0, 0x24
+ adds r0, r1, r0
+ ldr r1, [r0]
+ movs r2, 0
+ cmp r3, r4
+ bcs _0807FF2C
+_0807FECA:
+ lsls r0, r2, 4
+ adds r0, r1
+ ldrb r0, [r0, 0x2]
+ adds r0, r3, r0
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, r4
+ bcc _0807FECA
+ b _0807FF2C
+_0807FEE2:
+ adds r0, r5, 0
+ adds r0, 0x24
+ adds r0, r1, r0
+ ldr r1, [r0]
+ movs r2, 0
+ cmp r3, r4
+ bcs _0807FF2C
+_0807FEF0:
+ lsls r0, r2, 3
+ adds r0, r1
+ ldrb r0, [r0, 0x2]
+ adds r0, r3, r0
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, r4
+ bcc _0807FEF0
+ b _0807FF2C
+_0807FF08:
+ adds r0, r5, 0
+ adds r0, 0x24
+ adds r0, r1, r0
+ ldr r1, [r0]
+ movs r2, 0
+ cmp r3, r4
+ bcs _0807FF2C
+_0807FF16:
+ lsls r0, r2, 4
+ adds r0, r1
+ ldrb r0, [r0, 0x2]
+ adds r0, r3, r0
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, r4
+ bcc _0807FF16
+_0807FF2C:
+ adds r0, r3, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_807FE54
+
+ thumb_func_start sub_807FF34
+sub_807FF34: @ 807FF34
+ push {r4,r5,lr}
+ bl sub_807FD90
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _0807FF64 @ =gUnknown_202402C
+ movs r1, 0x38
+ bl sub_803FBE8
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x1
+ bl sub_807FDF4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bcc _0807FF6C
+ ldr r0, _0807FF68 @ =gUnknown_83C68F0
+ lsls r1, r5, 1
+ adds r0, 0x1
+ b _0807FF70
+ .align 2, 0
+_0807FF64: .4byte gUnknown_202402C
+_0807FF68: .4byte gUnknown_83C68F0
+_0807FF6C:
+ ldr r0, _0807FF7C @ =gUnknown_83C68F0
+ lsls r1, r5, 1
+_0807FF70:
+ adds r1, r0
+ ldrb r0, [r1]
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0807FF7C: .4byte gUnknown_83C68F0
+ thumb_func_end sub_807FF34
+
+ thumb_func_start sub_807FF80
+sub_807FF80: @ 807FF80
+ push {r4-r6,lr}
+ ldr r4, _0807FFB4 @ =gUnknown_20386AE
+ ldrh r1, [r4]
+ movs r0, 0x80
+ lsls r0, 3
+ cmp r1, r0
+ beq _0808000C
+ ldr r1, _0807FFB8 @ =gUnknown_823EAC8
+ ldrh r2, [r4]
+ lsls r0, r2, 2
+ adds r0, r2
+ lsls r0, 3
+ adds r0, r1
+ ldrb r1, [r0, 0x1]
+ cmp r1, 0x57
+ bne _08080008
+ adds r1, r2, 0
+ movs r0, 0xCD
+ lsls r0, 1
+ cmp r1, r0
+ beq _0807FFB0
+ ldr r0, _0807FFBC @ =0x000002df
+ cmp r1, r0
+ bne _0807FFC0
+_0807FFB0:
+ movs r0, 0xC
+ b _08080054
+ .align 2, 0
+_0807FFB4: .4byte gUnknown_20386AE
+_0807FFB8: .4byte gUnknown_823EAC8
+_0807FFBC: .4byte 0x000002df
+_0807FFC0:
+ ldr r0, _0807FFD4 @ =0x0000019b
+ cmp r1, r0
+ beq _0807FFCE
+ movs r0, 0xB8
+ lsls r0, 2
+ cmp r1, r0
+ bne _0807FFD8
+_0807FFCE:
+ movs r0, 0xD
+ b _08080054
+ .align 2, 0
+_0807FFD4: .4byte 0x0000019b
+_0807FFD8:
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r1, r0
+ beq _0807FFE6
+ ldr r0, _0807FFEC @ =0x000002e1
+ cmp r1, r0
+ bne _0807FFF0
+_0807FFE6:
+ movs r0, 0xE
+ b _08080054
+ .align 2, 0
+_0807FFEC: .4byte 0x000002e1
+_0807FFF0:
+ ldr r0, _08080000 @ =0x0000019d
+ cmp r1, r0
+ beq _0807FFFC
+ ldr r0, _08080004 @ =0x000002e2
+ cmp r1, r0
+ bne _0808000C
+_0807FFFC:
+ movs r0, 0xF
+ b _08080054
+ .align 2, 0
+_08080000: .4byte 0x0000019d
+_08080004: .4byte 0x000002e2
+_08080008:
+ cmp r1, 0x5A
+ bne _08080010
+_0808000C:
+ movs r0, 0x10
+ b _08080054
+_08080010:
+ ldrb r0, [r0, 0x18]
+ movs r5, 0x1
+ cmp r0, 0x1
+ bne _0808001A
+ movs r5, 0x2
+_0808001A:
+ bl sub_807FD90
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldrh r0, [r4]
+ adds r1, r5, 0
+ bl sub_807FE54
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r5, 0
+ bl sub_807FDF4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bcc _0808004C
+ ldr r0, _08080048 @ =gUnknown_83C68F8
+ lsls r1, r6, 1
+ adds r0, 0x1
+ b _08080050
+ .align 2, 0
+_08080048: .4byte gUnknown_83C68F8
+_0808004C:
+ ldr r0, _0808005C @ =gUnknown_83C68F8
+ lsls r1, r6, 1
+_08080050:
+ adds r1, r0
+ ldrb r0, [r1]
+_08080054:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0808005C: .4byte gUnknown_83C68F8
+ thumb_func_end sub_807FF80
+
+ thumb_func_start sub_8080060
+sub_8080060: @ 8080060
+ push {r4,lr}
+ ldr r0, _08080084 @ =gUnknown_202402C
+ movs r1, 0x38
+ bl sub_803FBE8
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ movs r0, 0x1
+ bl sub_807FDF4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bcc _08080088
+ movs r0, 0x3
+ b _0808008A
+ .align 2, 0
+_08080084: .4byte gUnknown_202402C
+_08080088:
+ movs r0, 0x4
+_0808008A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8080060
+
+ thumb_func_start sub_8080090
+sub_8080090: @ 8080090
+ adds r2, r0, 0
+ ldrb r0, [r2]
+ ldrb r1, [r2, 0x1]
+ lsls r1, 8
+ orrs r0, r1
+ ldrb r1, [r2, 0x2]
+ lsls r1, 16
+ orrs r0, r1
+ ldrb r1, [r2, 0x3]
+ lsls r1, 24
+ orrs r0, r1
+ bx lr
+ thumb_func_end sub_8080090
+
+ thumb_func_start sub_80800A8
+sub_80800A8: @ 80800A8
+ adds r1, r0, 0
+ ldrb r0, [r1]
+ ldrb r1, [r1, 0x1]
+ lsls r1, 8
+ orrs r0, r1
+ bx lr
+ thumb_func_end sub_80800A8
+
+ thumb_func_start sub_80800B4
+sub_80800B4: @ 80800B4
+ ldrb r0, [r0]
+ bx lr
+ thumb_func_end sub_80800B4
+
+ thumb_func_start sub_80800B8
+sub_80800B8: @ 80800B8
+ ldr r1, _080800CC @ =gUnknown_20386AE
+ movs r2, 0xA0
+ lsls r2, 3
+ adds r0, r2, 0
+ ldrh r1, [r1]
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ bx lr
+ .align 2, 0
+_080800CC: .4byte gUnknown_20386AE
+ thumb_func_end sub_80800B8
+
+ thumb_func_start sub_80800D0
+sub_80800D0: @ 80800D0
+ push {lr}
+ subs r0, 0x1
+ cmp r0, 0x6
+ bhi _08080108
+ lsls r0, 2
+ ldr r1, _080800E4 @ =_080800E8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080800E4: .4byte _080800E8
+ .align 2, 0
+_080800E8:
+ .4byte _08080108
+ .4byte _08080104
+ .4byte _08080104
+ .4byte _08080108
+ .4byte _08080108
+ .4byte _08080108
+ .4byte _08080108
+_08080104:
+ movs r0, 0x1
+ b _0808010A
+_08080108:
+ movs r0, 0
+_0808010A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80800D0
+
+ thumb_func_start sub_8080110
+sub_8080110: @ 8080110
+ ldr r0, _08080140 @ =gUnknown_20386AC
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, _08080144 @ =gUnknown_20386AE
+ strh r1, [r0]
+ ldr r0, _08080148 @ =gUnknown_20386B0
+ strh r1, [r0]
+ ldr r0, _0808014C @ =gUnknown_20386B4
+ movs r1, 0
+ str r1, [r0]
+ ldr r0, _08080150 @ =gUnknown_20386B8
+ str r1, [r0]
+ ldr r0, _08080154 @ =gUnknown_20386BC
+ str r1, [r0]
+ ldr r0, _08080158 @ =gUnknown_20386C0
+ str r1, [r0]
+ ldr r0, _0808015C @ =gUnknown_20386C4
+ str r1, [r0]
+ ldr r0, _08080160 @ =gUnknown_20386C8
+ str r1, [r0]
+ ldr r0, _08080164 @ =gUnknown_20386CC
+ strh r1, [r0]
+ bx lr
+ .align 2, 0
+_08080140: .4byte gUnknown_20386AC
+_08080144: .4byte gUnknown_20386AE
+_08080148: .4byte gUnknown_20386B0
+_0808014C: .4byte gUnknown_20386B4
+_08080150: .4byte gUnknown_20386B8
+_08080154: .4byte gUnknown_20386BC
+_08080158: .4byte gUnknown_20386C0
+_0808015C: .4byte gUnknown_20386C4
+_08080160: .4byte gUnknown_20386C8
+_08080164: .4byte gUnknown_20386CC
+ thumb_func_end sub_8080110
+
+ thumb_func_start sub_8080168
+sub_8080168: @ 8080168
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+_0808016E:
+ ldrb r0, [r4, 0x4]
+ cmp r0, 0x6
+ bhi _080801E0
+ lsls r0, 2
+ ldr r1, _08080180 @ =_08080184
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08080180: .4byte _08080184
+ .align 2, 0
+_08080184:
+ .4byte _080801A0
+ .4byte _080801AE
+ .4byte _080801BC
+ .4byte _080801CA
+ .4byte _080801D2
+ .4byte _080801DA
+ .4byte _080801E4
+_080801A0:
+ adds r0, r5, 0
+ bl sub_80800B4
+ ldr r1, [r4]
+ strb r0, [r1]
+ adds r5, 0x1
+ b _080801E0
+_080801AE:
+ adds r0, r5, 0
+ bl sub_80800A8
+ ldr r1, [r4]
+ strh r0, [r1]
+ adds r5, 0x2
+ b _080801E0
+_080801BC:
+ adds r0, r5, 0
+ bl sub_8080090
+ ldr r1, [r4]
+ str r0, [r1]
+ adds r5, 0x4
+ b _080801E0
+_080801CA:
+ ldr r1, [r4]
+ movs r0, 0
+ strb r0, [r1]
+ b _080801E0
+_080801D2:
+ ldr r1, [r4]
+ movs r0, 0
+ strh r0, [r1]
+ b _080801E0
+_080801DA:
+ ldr r1, [r4]
+ movs r0, 0
+ str r0, [r1]
+_080801E0:
+ adds r4, 0x8
+ b _0808016E
+_080801E4:
+ ldr r0, [r4]
+ str r5, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8080168
+
+ thumb_func_start sub_80801F0
+sub_80801F0: @ 80801F0
+ push {lr}
+ ldr r0, _08080218 @ =gUnknown_20386B0
+ ldrh r1, [r0]
+ cmp r1, 0
+ beq _08080212
+ ldr r0, _0808021C @ =gUnknown_20370D2
+ strh r1, [r0]
+ lsls r0, r1, 24
+ lsrs r0, 24
+ ldr r1, _08080220 @ =gUnknown_3005008
+ ldr r2, [r1]
+ ldrb r1, [r2, 0x5]
+ ldrb r2, [r2, 0x4]
+ bl sub_805DF60
+ ldr r1, _08080224 @ =gUnknown_3005074
+ strb r0, [r1]
+_08080212:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08080218: .4byte gUnknown_20386B0
+_0808021C: .4byte gUnknown_20370D2
+_08080220: .4byte gUnknown_3005008
+_08080224: .4byte gUnknown_3005074
+ thumb_func_end sub_80801F0
+
+ thumb_func_start sub_8080228
+sub_8080228: @ 8080228
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_8080110
+ ldr r4, _08080250 @ =gUnknown_20386AC
+ adds r0, r5, 0
+ bl sub_80800B4
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4]
+ ldrh r0, [r4]
+ subs r0, 0x1
+ cmp r0, 0x8
+ bhi _08080318
+ lsls r0, 2
+ ldr r1, _08080254 @ =_08080258
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08080250: .4byte gUnknown_20386AC
+_08080254: .4byte _08080258
+ .align 2, 0
+_08080258:
+ .4byte _0808028C
+ .4byte _0808028C
+ .4byte _0808027C
+ .4byte _08080284
+ .4byte _080802D8
+ .4byte _08080294
+ .4byte _080802AC
+ .4byte _08080294
+ .4byte _08080304
+_0808027C:
+ ldr r0, _08080280 @ =gUnknown_83C69D8
+ b _08080306
+ .align 2, 0
+_08080280: .4byte gUnknown_83C69D8
+_08080284:
+ ldr r0, _08080288 @ =gUnknown_83C6990
+ b _08080296
+ .align 2, 0
+_08080288: .4byte gUnknown_83C6990
+_0808028C:
+ ldr r0, _08080290 @ =gUnknown_83C6948
+ b _0808031A
+ .align 2, 0
+_08080290: .4byte gUnknown_83C6948
+_08080294:
+ ldr r0, _080802A4 @ =gUnknown_83C6A68
+_08080296:
+ adds r1, r5, 0
+ bl sub_8080168
+ bl sub_80801F0
+ ldr r0, _080802A8 @ =gUnknown_81A4EE9
+ b _08080326
+ .align 2, 0
+_080802A4: .4byte gUnknown_83C6A68
+_080802A8: .4byte gUnknown_81A4EE9
+_080802AC:
+ bl sub_811231C
+ ldr r0, _080802CC @ =gUnknown_83C6990
+ adds r1, r5, 0
+ bl sub_8080168
+ bl sub_80801F0
+ ldr r4, _080802D0 @ =gUnknown_20386AE
+ ldrh r0, [r4]
+ bl sub_810CE64
+ strh r0, [r4]
+ ldr r0, _080802D4 @ =gUnknown_81A4F73
+ b _08080326
+ .align 2, 0
+_080802CC: .4byte gUnknown_83C6990
+_080802D0: .4byte gUnknown_20386AE
+_080802D4: .4byte gUnknown_81A4F73
+_080802D8:
+ bl sub_811231C
+ ldr r0, _080802F8 @ =gUnknown_83C6900
+ adds r1, r5, 0
+ bl sub_8080168
+ bl sub_80801F0
+ ldr r4, _080802FC @ =gUnknown_20386AE
+ ldrh r0, [r4]
+ bl sub_810CE64
+ strh r0, [r4]
+ ldr r0, _08080300 @ =gUnknown_81A4F3E
+ b _08080326
+ .align 2, 0
+_080802F8: .4byte gUnknown_83C6900
+_080802FC: .4byte gUnknown_20386AE
+_08080300: .4byte gUnknown_81A4F3E
+_08080304:
+ ldr r0, _08080310 @ =gUnknown_83C6A20
+_08080306:
+ adds r1, r5, 0
+ bl sub_8080168
+ ldr r0, _08080314 @ =gUnknown_81A4F21
+ b _08080326
+ .align 2, 0
+_08080310: .4byte gUnknown_83C6A20
+_08080314: .4byte gUnknown_81A4F21
+_08080318:
+ ldr r0, _0808032C @ =gUnknown_83C6900
+_0808031A:
+ adds r1, r5, 0
+ bl sub_8080168
+ bl sub_80801F0
+ ldr r0, _08080330 @ =gUnknown_81A4EC1
+_08080326:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0808032C: .4byte gUnknown_83C6900
+_08080330: .4byte gUnknown_81A4EC1
+ thumb_func_end sub_8080228
+
+ thumb_func_start sub_8080334
+sub_8080334: @ 8080334
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08080368 @ =gUnknown_3005074
+ strb r0, [r2]
+ ldr r4, _0808036C @ =gUnknown_20370D2
+ ldr r3, _08080370 @ =gUnknown_2036E38
+ lsls r2, r0, 3
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r3
+ ldrb r0, [r2, 0x8]
+ strh r0, [r4]
+ adds r1, 0x1
+ adds r0, r1, 0
+ bl sub_8080228
+ ldr r0, _08080374 @ =gUnknown_81A4EB4
+ bl sub_8069AE4
+ bl sub_8069940
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08080368: .4byte gUnknown_3005074
+_0808036C: .4byte gUnknown_20370D2
+_08080370: .4byte gUnknown_2036E38
+_08080374: .4byte gUnknown_81A4EB4
+ thumb_func_end sub_8080334
+
+ thumb_func_start sub_8080378
+sub_8080378: @ 8080378
+ push {lr}
+ adds r0, 0x2
+ bl sub_80800A8
+ lsls r0, 16
+ movs r1, 0xA0
+ lsls r1, 19
+ adds r0, r1
+ lsrs r0, 16
+ bl sub_806E6D0
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8080378
+
+ thumb_func_start sub_8080398
+sub_8080398: @ 8080398
+ push {r4,lr}
+ ldr r0, _080803C4 @ =gUnknown_3005074
+ ldrb r0, [r0]
+ lsls r4, r0, 3
+ adds r4, r0
+ lsls r4, 2
+ ldr r0, _080803C8 @ =gUnknown_2036E38
+ adds r4, r0
+ ldrb r0, [r4, 0x18]
+ lsls r0, 28
+ lsrs r0, 28
+ bl sub_806365C
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl sub_8063610
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080803C4: .4byte gUnknown_3005074
+_080803C8: .4byte gUnknown_2036E38
+ thumb_func_end sub_8080398
+
+ thumb_func_start sub_80803CC
+sub_80803CC: @ 80803CC
+ ldr r0, _080803D4 @ =gUnknown_20386AC
+ ldrb r0, [r0]
+ bx lr
+ .align 2, 0
+_080803D4: .4byte gUnknown_20386AC
+ thumb_func_end sub_80803CC
+
+ thumb_func_start sub_80803D8
+sub_80803D8: @ 80803D8
+ ldr r0, _080803E0 @ =gUnknown_20386CC
+ ldrh r0, [r0]
+ bx lr
+ .align 2, 0
+_080803E0: .4byte gUnknown_20386CC
+ thumb_func_end sub_80803D8
+
+ thumb_func_start sub_80803E4
+sub_80803E4: @ 80803E4
+ push {lr}
+ bl sub_80800B8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E6D0
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80803E4
+
+ thumb_func_start sub_80803FC
+sub_80803FC: @ 80803FC
+ push {lr}
+ bl sub_80800B8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E680
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80803FC
+
+ thumb_func_start sub_8080410
+sub_8080410: @ 8080410
+ push {lr}
+ bl sub_80800B8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E680
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8080410
+
+ thumb_func_start sub_8080424
+sub_8080424: @ 8080424
+ push {lr}
+ lsls r0, 16
+ movs r1, 0xA0
+ lsls r1, 19
+ adds r0, r1
+ lsrs r0, 16
+ bl sub_806E6D0
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8080424
+
+ thumb_func_start sub_808043C
+sub_808043C: @ 808043C
+ push {lr}
+ lsls r0, 16
+ movs r1, 0xA0
+ lsls r1, 19
+ adds r0, r1
+ lsrs r0, 16
+ bl sub_806E680
+ pop {r0}
+ bx r0
+ thumb_func_end sub_808043C
+
+ thumb_func_start sub_8080450
+sub_8080450: @ 8080450
+ push {lr}
+ lsls r0, 16
+ movs r1, 0xA0
+ lsls r1, 19
+ adds r0, r1
+ lsrs r0, 16
+ bl sub_806E6A8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8080450
+
+ thumb_func_start sub_8080464
+sub_8080464: @ 8080464
+ push {r4,lr}
+ ldr r4, _080804A0 @ =gUnknown_2022B4C
+ movs r0, 0x8
+ str r0, [r4]
+ bl sub_80803CC
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x9
+ bne _0808048C
+ bl sub_80803D8
+ movs r1, 0x3
+ ands r1, r0
+ cmp r1, 0
+ beq _0808048C
+ ldr r0, [r4]
+ movs r1, 0x10
+ orrs r0, r1
+ str r0, [r4]
+_0808048C:
+ ldr r1, _080804A4 @ =gUnknown_30030F0
+ ldr r0, _080804A8 @ =sub_80804AC
+ str r0, [r1, 0x8]
+ bl sub_807F868
+ bl sub_8069B28
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080804A0: .4byte gUnknown_2022B4C
+_080804A4: .4byte gUnknown_30030F0
+_080804A8: .4byte sub_80804AC
+ thumb_func_end sub_8080464
+
+ thumb_func_start sub_80804AC
+sub_80804AC: @ 80804AC
+ push {lr}
+ ldr r0, _080804D8 @ =gUnknown_20386AC
+ ldrh r0, [r0]
+ cmp r0, 0x9
+ bne _08080508
+ ldr r0, _080804DC @ =gUnknown_2023E8A
+ ldrb r0, [r0]
+ bl sub_80800D0
+ adds r1, r0, 0
+ cmp r1, 0x1
+ bne _080804E8
+ ldr r0, _080804E0 @ =gUnknown_20370D0
+ strh r1, [r0]
+ ldr r0, _080804E4 @ =gUnknown_20386CC
+ ldrh r0, [r0]
+ ands r1, r0
+ cmp r1, 0
+ beq _08080530
+ bl sub_80A0058
+ b _080804EE
+ .align 2, 0
+_080804D8: .4byte gUnknown_20386AC
+_080804DC: .4byte gUnknown_2023E8A
+_080804E0: .4byte gUnknown_20370D0
+_080804E4: .4byte gUnknown_20386CC
+_080804E8:
+ ldr r0, _08080500 @ =gUnknown_20370D0
+ movs r1, 0
+ strh r1, [r0]
+_080804EE:
+ ldr r0, _08080504 @ =sub_80568E0
+ bl sub_8000544
+ bl sub_80803FC
+ bl sub_81139BC
+ b _0808054E
+ .align 2, 0
+_08080500: .4byte gUnknown_20370D0
+_08080504: .4byte sub_80568E0
+_08080508:
+ ldr r0, _0808051C @ =gUnknown_20386AE
+ ldrh r1, [r0]
+ movs r0, 0x80
+ lsls r0, 3
+ cmp r1, r0
+ bne _08080524
+ ldr r0, _08080520 @ =sub_80568E0
+ bl sub_8000544
+ b _0808054E
+ .align 2, 0
+_0808051C: .4byte gUnknown_20386AE
+_08080520: .4byte sub_80568E0
+_08080524:
+ ldr r0, _08080538 @ =gUnknown_2023E8A
+ ldrb r0, [r0]
+ bl sub_80800D0
+ cmp r0, 0x1
+ bne _08080540
+_08080530:
+ ldr r0, _0808053C @ =sub_80566A4
+ bl sub_8000544
+ b _0808054E
+ .align 2, 0
+_08080538: .4byte gUnknown_2023E8A
+_0808053C: .4byte sub_80566A4
+_08080540:
+ ldr r0, _08080554 @ =sub_80568E0
+ bl sub_8000544
+ bl sub_80803FC
+ bl sub_81139BC
+_0808054E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08080554: .4byte sub_80568E0
+ thumb_func_end sub_80804AC
+
+ thumb_func_start sub_8080558
+sub_8080558: @ 8080558
+ push {lr}
+ ldr r0, _08080570 @ =gUnknown_20386AE
+ ldrh r1, [r0]
+ movs r0, 0x80
+ lsls r0, 3
+ cmp r1, r0
+ bne _08080578
+ ldr r0, _08080574 @ =sub_80568E0
+ bl sub_8000544
+ b _080805A6
+ .align 2, 0
+_08080570: .4byte gUnknown_20386AE
+_08080574: .4byte sub_80568E0
+_08080578:
+ ldr r0, _0808058C @ =gUnknown_2023E8A
+ ldrb r0, [r0]
+ bl sub_80800D0
+ cmp r0, 0x1
+ bne _08080594
+ ldr r0, _08080590 @ =sub_80566A4
+ bl sub_8000544
+ b _080805A6
+ .align 2, 0
+_0808058C: .4byte gUnknown_2023E8A
+_08080590: .4byte sub_80566A4
+_08080594:
+ ldr r0, _080805AC @ =sub_80568E0
+ bl sub_8000544
+ bl sub_80803FC
+ bl sub_810CDE8
+ bl sub_81138F8
+_080805A6:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080805AC: .4byte sub_80568E0
+ thumb_func_end sub_8080558
+
+ thumb_func_start sub_80805B0
+sub_80805B0: @ 80805B0
+ push {lr}
+ ldr r1, _080805CC @ =gUnknown_2022B4C
+ movs r0, 0x8
+ str r0, [r1]
+ ldr r1, _080805D0 @ =gUnknown_30030F0
+ ldr r0, _080805D4 @ =sub_8080558
+ str r0, [r1, 0x8]
+ bl sub_807F868
+ bl sub_8069B28
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080805CC: .4byte gUnknown_2022B4C
+_080805D0: .4byte gUnknown_30030F0
+_080805D4: .4byte sub_8080558
+ thumb_func_end sub_80805B0
+
+ thumb_func_start sub_80805D8
+sub_80805D8: @ 80805D8
+ push {lr}
+ bl sub_80806D8
+ bl sub_806943C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80805D8
+
+ thumb_func_start sub_80805E8
+sub_80805E8: @ 80805E8
+ push {lr}
+ ldr r0, _080805F8 @ =gUnknown_20386C4
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _080805F4
+ ldr r0, _080805FC @ =gUnknown_81C555B
+_080805F4:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080805F8: .4byte gUnknown_20386C4
+_080805FC: .4byte gUnknown_81C555B
+ thumb_func_end sub_80805E8
+
+ thumb_func_start sub_8080600
+sub_8080600: @ 8080600
+ push {lr}
+ ldr r0, _08080610 @ =gUnknown_20386C8
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0808060C
+ ldr r0, _08080614 @ =gUnknown_81C555B
+_0808060C:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08080610: .4byte gUnknown_20386C8
+_08080614: .4byte gUnknown_81C555B
+ thumb_func_end sub_8080600
+
+ thumb_func_start sub_8080618
+sub_8080618: @ 8080618
+ push {lr}
+ bl sub_8080734
+ bl sub_806943C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8080618
+
+ thumb_func_start sub_8080628
+sub_8080628: @ 8080628
+ push {lr}
+ ldr r0, _08080660 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _080806BE
+ ldr r0, _08080664 @ =gUnknown_20386AC
+ ldrh r0, [r0]
+ cmp r0, 0x1
+ beq _080806BE
+ cmp r0, 0x8
+ beq _080806BE
+ ldr r0, _08080668 @ =gUnknown_20386AE
+ ldrh r0, [r0]
+ bl sub_804367C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xD
+ bhi _080806B8
+ lsls r0, 2
+ ldr r1, _0808066C @ =_08080670
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08080660: .4byte gUnknown_203ADFA
+_08080664: .4byte gUnknown_20386AC
+_08080668: .4byte gUnknown_20386AE
+_0808066C: .4byte _08080670
+ .align 2, 0
+_08080670:
+ .4byte _080806AE
+ .4byte _080806A8
+ .4byte _080806A8
+ .4byte _080806B8
+ .4byte _080806AE
+ .4byte _080806AE
+ .4byte _080806B8
+ .4byte _080806B8
+ .4byte _080806AE
+ .4byte _080806A8
+ .4byte _080806AE
+ .4byte _080806AE
+ .4byte _080806AE
+ .4byte _080806AE
+_080806A8:
+ movs r0, 0x8E
+ lsls r0, 1
+ b _080806BA
+_080806AE:
+ ldr r0, _080806B4 @ =0x0000011d
+ b _080806BA
+ .align 2, 0
+_080806B4: .4byte 0x0000011d
+_080806B8:
+ ldr r0, _080806C4 @ =0x0000011b
+_080806BA:
+ bl sub_8071A74
+_080806BE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080806C4: .4byte 0x0000011b
+ thumb_func_end sub_8080628
+
+ thumb_func_start sub_80806C8
+sub_80806C8: @ 80806C8
+ push {lr}
+ cmp r0, 0
+ bne _080806D0
+ ldr r0, _080806D4 @ =gUnknown_84161CD
+_080806D0:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080806D4: .4byte gUnknown_84161CD
+ thumb_func_end sub_80806C8
+
+ thumb_func_start sub_80806D8
+sub_80806D8: @ 80806D8
+ push {lr}
+ ldr r0, _080806E8 @ =gUnknown_20386B4
+ ldr r0, [r0]
+ bl sub_80806C8
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080806E8: .4byte gUnknown_20386B4
+ thumb_func_end sub_80806D8
+
+ thumb_func_start sub_80806EC
+sub_80806EC: @ 80806EC
+ push {r4,lr}
+ ldr r0, _08080708 @ =gUnknown_20386B8
+ ldr r0, [r0]
+ ldr r4, _0808070C @ =gUnknown_2021D18
+ bl sub_80806C8
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_8008FCC
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08080708: .4byte gUnknown_20386B8
+_0808070C: .4byte gUnknown_2021D18
+ thumb_func_end sub_80806EC
+
+ thumb_func_start sub_8080710
+sub_8080710: @ 8080710
+ push {r4,lr}
+ ldr r4, _0808072C @ =gUnknown_2021D18
+ ldr r0, _08080730 @ =gUnknown_20386BC
+ ldr r0, [r0]
+ bl sub_80806C8
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_8008FCC
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0808072C: .4byte gUnknown_2021D18
+_08080730: .4byte gUnknown_20386BC
+ thumb_func_end sub_8080710
+
+ thumb_func_start sub_8080734
+sub_8080734: @ 8080734
+ push {lr}
+ ldr r0, _08080744 @ =gUnknown_20386C0
+ ldr r0, [r0]
+ bl sub_80806C8
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08080744: .4byte gUnknown_20386C0
+ thumb_func_end sub_8080734
+
+ .align 2, 0 @ Don't pad with nop.