summaryrefslogtreecommitdiff
path: root/asm/scrcmd.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/scrcmd.s
first commit
Diffstat (limited to 'asm/scrcmd.s')
-rw-r--r--asm/scrcmd.s5612
1 files changed, 5612 insertions, 0 deletions
diff --git a/asm/scrcmd.s b/asm/scrcmd.s
new file mode 100644
index 000000000..23e313211
--- /dev/null
+++ b/asm/scrcmd.s
@@ -0,0 +1,5612 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8069ED0
+sub_8069ED0: @ 8069ED0
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8069ED0
+
+ thumb_func_start sub_8069ED4
+sub_8069ED4: @ 8069ED4
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_8069ED4
+
+ thumb_func_start sub_8069ED8
+sub_8069ED8: @ 8069ED8
+ push {lr}
+ bl sub_80697FC
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8069ED8
+
+ thumb_func_start sub_8069EE4
+sub_8069EE4: @ 8069EE4
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_80697F4
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8069EE4
+
+ thumb_func_start sub_8069EFC
+sub_8069EFC: @ 8069EFC
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 14
+ ldr r1, _08069F18 @ =gUnknown_815FD60
+ adds r1, r0, r1
+ ldr r0, _08069F1C @ =gUnknown_8160450
+ cmp r1, r0
+ bcs _08069F20
+ ldr r0, [r1]
+ bl _call_via_r0
+ b _08069F2C
+ .align 2, 0
+_08069F18: .4byte gUnknown_815FD60
+_08069F1C: .4byte gUnknown_8160450
+_08069F20:
+ ldr r0, _08069F34 @ =gUnknown_83A725C
+ ldr r2, _08069F38 @ =gUnknown_83A7290
+ movs r1, 0xF1
+ movs r3, 0x1
+ bl AGBAssert
+_08069F2C:
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08069F34: .4byte gUnknown_83A725C
+_08069F38: .4byte gUnknown_83A7290
+ thumb_func_end sub_8069EFC
+
+ thumb_func_start sub_8069F3C
+sub_8069F3C: @ 8069F3C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E454
+ adds r5, r0, 0
+ adds r0, r4, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 14
+ ldr r1, _08069F6C @ =gUnknown_815FD60
+ adds r1, r0, r1
+ ldr r0, _08069F70 @ =gUnknown_8160450
+ cmp r1, r0
+ bcs _08069F74
+ ldr r0, [r1]
+ bl _call_via_r0
+ strh r0, [r5]
+ b _08069F80
+ .align 2, 0
+_08069F6C: .4byte gUnknown_815FD60
+_08069F70: .4byte gUnknown_8160450
+_08069F74:
+ ldr r0, _08069F88 @ =gUnknown_83A725C
+ ldr r1, _08069F8C @ =0x00000107
+ ldr r2, _08069F90 @ =gUnknown_83A7290
+ movs r3, 0x1
+ bl AGBAssert
+_08069F80:
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08069F88: .4byte gUnknown_83A725C
+_08069F8C: .4byte 0x00000107
+_08069F90: .4byte gUnknown_83A7290
+ thumb_func_end sub_8069F3C
+
+ thumb_func_start sub_8069F94
+sub_8069F94: @ 8069F94
+ push {lr}
+ bl sub_8069910
+ bl _call_via_r0
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8069F94
+
+ thumb_func_start sub_8069FA4
+sub_8069FA4: @ 8069FA4
+ push {lr}
+ bl sub_8069B28
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8069FA4
+
+ thumb_func_start sub_8069FB0
+sub_8069FB0: @ 8069FB0
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_80698D0
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8069FB0
+
+ thumb_func_start sub_8069FC8
+sub_8069FC8: @ 8069FC8
+ push {lr}
+ bl sub_80698E8
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8069FC8
+
+ thumb_func_start sub_8069FD4
+sub_8069FD4: @ 8069FD4
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_80698D4
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8069FD4
+
+ thumb_func_start sub_8069FEC
+sub_8069FEC: @ 8069FEC
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r4, [r0]
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_8069910
+ adds r2, r0, 0
+ ldr r1, _0806A024 @ =gUnknown_83A7248
+ lsls r0, r4, 1
+ adds r0, r4
+ ldrb r3, [r5, 0x2]
+ adds r0, r3
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0806A01A
+ adds r0, r5, 0
+ adds r1, r2, 0
+ bl sub_80698D0
+_0806A01A:
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A024: .4byte gUnknown_83A7248
+ thumb_func_end sub_8069FEC
+
+ thumb_func_start sub_806A028
+sub_806A028: @ 806A028
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r4, [r0]
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_8069910
+ adds r2, r0, 0
+ ldr r1, _0806A060 @ =gUnknown_83A7248
+ lsls r0, r4, 1
+ adds r0, r4
+ ldrb r3, [r5, 0x2]
+ adds r0, r3
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0806A056
+ adds r0, r5, 0
+ adds r1, r2, 0
+ bl sub_80698D4
+_0806A056:
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A060: .4byte gUnknown_83A7248
+ thumb_func_end sub_806A028
+
+ thumb_func_start sub_806A064
+sub_806A064: @ 806A064
+ push {r4,lr}
+ ldr r4, [r0, 0x8]
+ subs r4, 0x1
+ bl sub_8069910
+ ldr r1, _0806A07C @ =gUnknown_20370A8
+ subs r0, r4
+ str r0, [r1]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A07C: .4byte gUnknown_20370A8
+ thumb_func_end sub_806A064
+
+ thumb_func_start sub_806A080
+sub_806A080: @ 806A080
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ adds r1, r0, 0
+ ldr r0, _0806A0A0 @ =gUnknown_20370A8
+ ldr r0, [r0]
+ subs r1, r0
+ adds r0, r4, 0
+ bl sub_80698D0
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A0A0: .4byte gUnknown_20370A8
+ thumb_func_end sub_806A080
+
+ thumb_func_start sub_806A0A4
+sub_806A0A4: @ 806A0A4
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ adds r1, r0, 0
+ ldr r0, _0806A0C4 @ =gUnknown_20370A8
+ ldr r0, [r0]
+ subs r1, r0
+ adds r0, r4, 0
+ bl sub_80698D4
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A0C4: .4byte gUnknown_20370A8
+ thumb_func_end sub_806A0A4
+
+ thumb_func_start sub_806A0C8
+sub_806A0C8: @ 806A0C8
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r4, [r0]
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_8069910
+ ldr r1, _0806A104 @ =gUnknown_20370A8
+ ldr r1, [r1]
+ subs r2, r0, r1
+ ldr r1, _0806A108 @ =gUnknown_83A7248
+ lsls r0, r4, 1
+ adds r0, r4
+ ldrb r3, [r5, 0x2]
+ adds r0, r3
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0806A0FA
+ adds r0, r5, 0
+ adds r1, r2, 0
+ bl sub_80698D0
+_0806A0FA:
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A104: .4byte gUnknown_20370A8
+_0806A108: .4byte gUnknown_83A7248
+ thumb_func_end sub_806A0C8
+
+ thumb_func_start sub_806A10C
+sub_806A10C: @ 806A10C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r4, [r0]
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_8069910
+ ldr r1, _0806A148 @ =gUnknown_20370A8
+ ldr r1, [r1]
+ subs r2, r0, r1
+ ldr r1, _0806A14C @ =gUnknown_83A7248
+ lsls r0, r4, 1
+ adds r0, r4
+ ldrb r3, [r5, 0x2]
+ adds r0, r3
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0806A13E
+ adds r0, r5, 0
+ adds r1, r2, 0
+ bl sub_80698D4
+_0806A13E:
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A148: .4byte gUnknown_20370A8
+_0806A14C: .4byte gUnknown_83A7248
+ thumb_func_end sub_806A10C
+
+ thumb_func_start sub_806A150
+sub_806A150: @ 806A150
+ push {lr}
+ adds r2, r0, 0
+ ldr r0, [r2, 0x8]
+ ldrb r1, [r0]
+ adds r0, 0x1
+ str r0, [r2, 0x8]
+ lsls r1, 2
+ ldr r0, _0806A178 @ =gUnknown_8160450
+ adds r1, r0
+ ldr r0, _0806A17C @ =gUnknown_8160478
+ cmp r1, r0
+ bcs _0806A170
+ ldr r1, [r1]
+ adds r0, r2, 0
+ bl sub_80698D0
+_0806A170:
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A178: .4byte gUnknown_8160450
+_0806A17C: .4byte gUnknown_8160478
+ thumb_func_end sub_806A150
+
+ thumb_func_start sub_806A180
+sub_806A180: @ 806A180
+ push {lr}
+ adds r2, r0, 0
+ ldr r0, [r2, 0x8]
+ ldrb r1, [r0]
+ adds r0, 0x1
+ str r0, [r2, 0x8]
+ lsls r1, 2
+ ldr r0, _0806A1A8 @ =gUnknown_8160450
+ adds r1, r0
+ ldr r0, _0806A1AC @ =gUnknown_8160478
+ cmp r1, r0
+ bcs _0806A1A0
+ ldr r1, [r1]
+ adds r0, r2, 0
+ bl sub_80698D4
+_0806A1A0:
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A1A8: .4byte gUnknown_8160450
+_0806A1AC: .4byte gUnknown_8160478
+ thumb_func_end sub_806A180
+
+ thumb_func_start sub_806A1B0
+sub_806A1B0: @ 806A1B0
+ push {r4,lr}
+ adds r3, r0, 0
+ ldr r0, [r3, 0x8]
+ ldrb r2, [r0]
+ adds r0, 0x1
+ str r0, [r3, 0x8]
+ ldrb r4, [r0]
+ adds r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r1, _0806A1F0 @ =gUnknown_83A7248
+ lsls r0, r2, 1
+ adds r0, r2
+ ldrb r2, [r3, 0x2]
+ adds r0, r2
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0806A1E8
+ lsls r0, r4, 2
+ ldr r1, _0806A1F4 @ =gUnknown_8160450
+ adds r1, r0, r1
+ ldr r0, _0806A1F8 @ =gUnknown_8160478
+ cmp r1, r0
+ bcs _0806A1E8
+ ldr r1, [r1]
+ adds r0, r3, 0
+ bl sub_80698D0
+_0806A1E8:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A1F0: .4byte gUnknown_83A7248
+_0806A1F4: .4byte gUnknown_8160450
+_0806A1F8: .4byte gUnknown_8160478
+ thumb_func_end sub_806A1B0
+
+ thumb_func_start sub_806A1FC
+sub_806A1FC: @ 806A1FC
+ push {r4,lr}
+ adds r3, r0, 0
+ ldr r0, [r3, 0x8]
+ ldrb r2, [r0]
+ adds r0, 0x1
+ str r0, [r3, 0x8]
+ ldrb r4, [r0]
+ adds r0, 0x1
+ str r0, [r3, 0x8]
+ ldr r1, _0806A23C @ =gUnknown_83A7248
+ lsls r0, r2, 1
+ adds r0, r2
+ ldrb r2, [r3, 0x2]
+ adds r0, r2
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _0806A234
+ lsls r0, r4, 2
+ ldr r1, _0806A240 @ =gUnknown_8160450
+ adds r1, r0, r1
+ ldr r0, _0806A244 @ =gUnknown_8160478
+ cmp r1, r0
+ bcs _0806A234
+ ldr r1, [r1]
+ adds r0, r3, 0
+ bl sub_80698D4
+_0806A234:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A23C: .4byte gUnknown_83A7248
+_0806A240: .4byte gUnknown_8160450
+_0806A244: .4byte gUnknown_8160478
+ thumb_func_end sub_806A1FC
+
+ thumb_func_start sub_806A248
+sub_806A248: @ 806A248
+ push {lr}
+ ldr r1, _0806A258 @ =gUnknown_20370A4
+ ldr r1, [r1]
+ bl sub_80698D0
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A258: .4byte gUnknown_20370A4
+ thumb_func_end sub_806A248
+
+ thumb_func_start sub_806A25C
+sub_806A25C: @ 806A25C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069CD4
+ adds r0, r4, 0
+ bl sub_80697FC
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A25C
+
+ thumb_func_start sub_806A274
+sub_806A274: @ 806A274
+ push {lr}
+ ldr r1, [r0, 0x8]
+ ldrb r2, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ adds r0, r2, 0
+ bl sub_80DA8E8
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A274
+
+ thumb_func_start sub_806A28C
+sub_806A28C: @ 806A28C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069E48
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _0806A2A8
+ ldr r1, _0806A2B0 @ =gUnknown_20370A4
+ ldr r0, [r4, 0x8]
+ str r0, [r1]
+ adds r0, r4, 0
+ adds r1, r2, 0
+ bl sub_80698D0
+_0806A2A8:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A2B0: .4byte gUnknown_20370A4
+ thumb_func_end sub_806A28C
+
+ thumb_func_start sub_806A2B4
+sub_806A2B4: @ 806A2B4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r0, [r4, 0x8]
+ ldrb r5, [r0]
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ adds r0, r4, 0
+ bl sub_8069910
+ lsls r5, 2
+ adds r4, 0x64
+ adds r4, r5
+ str r0, [r4]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A2B4
+
+ thumb_func_start sub_806A2D8
+sub_806A2D8: @ 806A2D8
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r0, [r4, 0x8]
+ ldrb r5, [r0]
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ adds r0, r4, 0
+ bl sub_8069910
+ lsls r5, 2
+ adds r4, 0x64
+ adds r4, r5
+ ldrb r0, [r0]
+ str r0, [r4]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A2D8
+
+ thumb_func_start sub_806A2FC
+sub_806A2FC: @ 806A2FC
+ push {r4,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r4, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ bl sub_8069910
+ strb r4, [r0]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A2FC
+
+ thumb_func_start sub_806A314
+sub_806A314: @ 806A314
+ ldr r1, [r0, 0x8]
+ ldrb r3, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ lsls r3, 2
+ adds r2, r0, 0
+ adds r2, 0x64
+ adds r2, r3
+ ldrb r3, [r1]
+ str r3, [r2]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806A314
+
+ thumb_func_start sub_806A330
+sub_806A330: @ 806A330
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r0, [r4, 0x8]
+ ldrb r5, [r0]
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ adds r0, r4, 0
+ bl sub_8069910
+ lsls r5, 2
+ adds r4, 0x64
+ adds r4, r5
+ ldr r1, [r4]
+ strb r1, [r0]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A330
+
+ thumb_func_start sub_806A354
+sub_806A354: @ 806A354
+ ldr r1, [r0, 0x8]
+ ldrb r3, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ ldrb r2, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ lsls r3, 2
+ adds r0, 0x64
+ adds r3, r0, r3
+ lsls r2, 2
+ adds r0, r2
+ ldr r0, [r0]
+ str r0, [r3]
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806A354
+
+ thumb_func_start sub_806A374
+sub_806A374: @ 806A374
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ adds r5, r0, 0
+ adds r0, r4, 0
+ bl sub_8069910
+ ldrb r0, [r0]
+ strb r0, [r5]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A374
+
+ thumb_func_start sub_806A390
+sub_806A390: @ 806A390
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E454
+ adds r4, r0, 0
+ adds r0, r5, 0
+ bl sub_80698F8
+ strh r0, [r4]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A390
+
+ thumb_func_start sub_806A3B4
+sub_806A3B4: @ 806A3B4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E454
+ adds r5, r0, 0
+ adds r0, r4, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E454
+ ldrh r0, [r0]
+ strh r0, [r5]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A3B4
+
+ thumb_func_start sub_806A3E0
+sub_806A3E0: @ 806A3E0
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E454
+ adds r5, r0, 0
+ adds r0, r4, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ strh r0, [r5]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A3E0
+
+ thumb_func_start sub_806A40C
+sub_806A40C: @ 806A40C
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ lsls r1, 16
+ lsrs r1, 16
+ cmp r0, r1
+ bcs _0806A41E
+ movs r0, 0
+ b _0806A428
+_0806A41E:
+ cmp r0, r1
+ beq _0806A426
+ movs r0, 0x2
+ b _0806A428
+_0806A426:
+ movs r0, 0x1
+_0806A428:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A40C
+
+ thumb_func_start sub_806A42C
+sub_806A42C: @ 806A42C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r2, [r4, 0x8]
+ ldrb r0, [r2]
+ lsls r0, 2
+ adds r3, r4, 0
+ adds r3, 0x64
+ adds r0, r3, r0
+ ldrb r0, [r0]
+ adds r2, 0x1
+ str r2, [r4, 0x8]
+ ldrb r1, [r2]
+ lsls r1, 2
+ adds r3, r1
+ ldrb r1, [r3]
+ adds r2, 0x1
+ str r2, [r4, 0x8]
+ bl sub_806A40C
+ strb r0, [r4, 0x2]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A42C
+
+ thumb_func_start sub_806A45C
+sub_806A45C: @ 806A45C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r2, [r4, 0x8]
+ ldrb r1, [r2]
+ lsls r1, 2
+ adds r0, 0x64
+ adds r0, r1
+ ldrb r0, [r0]
+ adds r2, 0x1
+ str r2, [r4, 0x8]
+ ldrb r1, [r2]
+ adds r2, 0x1
+ str r2, [r4, 0x8]
+ bl sub_806A40C
+ strb r0, [r4, 0x2]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A45C
+
+ thumb_func_start sub_806A484
+sub_806A484: @ 806A484
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r2, [r4, 0x8]
+ ldrb r1, [r2]
+ lsls r1, 2
+ adds r0, 0x64
+ adds r0, r1
+ ldrb r5, [r0]
+ adds r2, 0x1
+ str r2, [r4, 0x8]
+ adds r0, r4, 0
+ bl sub_8069910
+ ldrb r1, [r0]
+ adds r0, r5, 0
+ bl sub_806A40C
+ strb r0, [r4, 0x2]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A484
+
+ thumb_func_start sub_806A4B0
+sub_806A4B0: @ 806A4B0
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ ldrb r0, [r0]
+ ldr r3, [r4, 0x8]
+ ldrb r2, [r3]
+ lsls r2, 2
+ adds r1, r4, 0
+ adds r1, 0x64
+ adds r1, r2
+ ldrb r1, [r1]
+ adds r3, 0x1
+ str r3, [r4, 0x8]
+ bl sub_806A40C
+ strb r0, [r4, 0x2]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A4B0
+
+ thumb_func_start sub_806A4DC
+sub_806A4DC: @ 806A4DC
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ ldrb r0, [r0]
+ ldr r2, [r4, 0x8]
+ ldrb r1, [r2]
+ adds r2, 0x1
+ str r2, [r4, 0x8]
+ bl sub_806A40C
+ strb r0, [r4, 0x2]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A4DC
+
+ thumb_func_start sub_806A4FC
+sub_806A4FC: @ 806A4FC
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ ldrb r5, [r0]
+ adds r0, r4, 0
+ bl sub_8069910
+ ldrb r1, [r0]
+ adds r0, r5, 0
+ bl sub_806A40C
+ strb r0, [r4, 0x2]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A4FC
+
+ thumb_func_start sub_806A520
+sub_806A520: @ 806A520
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E454
+ ldrh r5, [r0]
+ adds r0, r4, 0
+ bl sub_80698F8
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r5, 0
+ bl sub_806A40C
+ strb r0, [r4, 0x2]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A520
+
+ thumb_func_start sub_806A550
+sub_806A550: @ 806A550
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E454
+ adds r5, r0, 0
+ adds r0, r4, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E454
+ ldrh r2, [r5]
+ ldrh r1, [r0]
+ adds r0, r2, 0
+ bl sub_806A40C
+ strb r0, [r4, 0x2]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A550
+
+ thumb_func_start sub_806A584
+sub_806A584: @ 806A584
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E454
+ adds r4, r0, 0
+ adds r0, r5, 0
+ bl sub_80698F8
+ ldrh r1, [r4]
+ adds r0, r1
+ strh r0, [r4]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A584
+
+ thumb_func_start sub_806A5AC
+sub_806A5AC: @ 806A5AC
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E454
+ adds r5, r0, 0
+ adds r0, r4, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ ldrh r1, [r5]
+ subs r1, r0
+ strh r1, [r5]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A5AC
+
+ thumb_func_start sub_806A5DC
+sub_806A5DC: @ 806A5DC
+ push {r4,r5,lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r5, _0806A60C @ =gUnknown_20370D0
+ bl sub_8044EC8
+ lsls r0, 16
+ lsrs r0, 16
+ adds r1, r4, 0
+ bl __umodsi3
+ strh r0, [r5]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A60C: .4byte gUnknown_20370D0
+ thumb_func_end sub_806A5DC
+
+ thumb_func_start sub_806A610
+sub_806A610: @ 806A610
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r1, r0, 0
+ ldr r5, _0806A658 @ =gUnknown_20370D0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl sub_809A084
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5]
+ adds r0, r4, 0
+ bl sub_809A824
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A658: .4byte gUnknown_20370D0
+ thumb_func_end sub_806A610
+
+ thumb_func_start sub_806A65C
+sub_806A65C: @ 806A65C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r1, r0, 0
+ ldr r5, _0806A69C @ =gUnknown_20370D0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl sub_809A1D8
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A69C: .4byte gUnknown_20370D0
+ thumb_func_end sub_806A65C
+
+ thumb_func_start sub_806A6A0
+sub_806A6A0: @ 806A6A0
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r1, r0, 0
+ ldr r5, _0806A6E0 @ =gUnknown_20370D0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl sub_809A000
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A6E0: .4byte gUnknown_20370D0
+ thumb_func_end sub_806A6A0
+
+ thumb_func_start sub_806A6E4
+sub_806A6E4: @ 806A6E4
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r1, r0, 0
+ ldr r5, _0806A724 @ =gUnknown_20370D0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl sub_8099F40
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A724: .4byte gUnknown_20370D0
+ thumb_func_end sub_806A6E4
+
+ thumb_func_start sub_806A728
+sub_806A728: @ 806A728
+ push {r4,lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _0806A750 @ =gUnknown_20370D0
+ bl sub_809A260
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A750: .4byte gUnknown_20370D0
+ thumb_func_end sub_806A728
+
+ thumb_func_start sub_806A754
+sub_806A754: @ 806A754
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r5, _0806A794 @ =gUnknown_20370D0
+ adds r0, r4, 0
+ bl sub_809A3C8
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A794: .4byte gUnknown_20370D0
+ thumb_func_end sub_806A754
+
+ thumb_func_start sub_806A798
+sub_806A798: @ 806A798
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r5, _0806A7D8 @ =gUnknown_20370D0
+ adds r0, r4, 0
+ bl sub_809A374
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r5]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A7D8: .4byte gUnknown_20370D0
+ thumb_func_end sub_806A798
+
+ thumb_func_start sub_806A7DC
+sub_806A7DC: @ 806A7DC
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A7DC
+
+ thumb_func_start sub_806A7F0
+sub_806A7F0: @ 806A7F0
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A7F0
+
+ thumb_func_start sub_806A804
+sub_806A804: @ 806A804
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A804
+
+ thumb_func_start sub_806A818
+sub_806A818: @ 806A818
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A818
+
+ thumb_func_start sub_806A82C
+sub_806A82C: @ 806A82C
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E680
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A82C
+
+ thumb_func_start sub_806A840
+sub_806A840: @ 806A840
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E6A8
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A840
+
+ thumb_func_start sub_806A854
+sub_806A854: @ 806A854
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E6D0
+ strb r0, [r4, 0x2]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A854
+
+ thumb_func_start sub_806A870
+sub_806A870: @ 806A870
+ push {lr}
+ ldr r1, [r0, 0x8]
+ ldrb r2, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ adds r0, r2, 0
+ bl sub_8054E90
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A870
+
+ thumb_func_start sub_806A888
+sub_806A888: @ 806A888
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r4, [r0]
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_8069910
+ adds r6, r0, 0
+ adds r0, r4, 0
+ bl sub_8054EC4
+ cmp r0, r6
+ bcs _0806A8AA
+ movs r0, 0
+ b _0806A8B4
+_0806A8AA:
+ cmp r0, r6
+ bne _0806A8B2
+ movs r0, 0x1
+ b _0806A8B4
+_0806A8B2:
+ movs r0, 0x2
+_0806A8B4:
+ strb r0, [r5, 0x2]
+ movs r0, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A888
+
+ thumb_func_start sub_806A8C0
+sub_806A8C0: @ 806A8C0
+ push {r4,lr}
+ bl sub_80698F8
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r4, 0
+ bl sub_8115748
+ adds r0, r4, 0
+ bl sub_80F85BC
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A8C0
+
+ thumb_func_start sub_806A8E0
+sub_806A8E0: @ 806A8E0
+ push {lr}
+ ldr r1, [r0, 0x8]
+ ldrb r2, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ adds r0, r2, 0
+ bl sub_807F028
+ bl sub_8069B28
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A8E0
+
+ thumb_func_start sub_806A8FC
+sub_806A8FC: @ 806A8FC
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_8055D08
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A8FC
+
+ thumb_func_start sub_806A918
+sub_806A918: @ 806A918
+ push {lr}
+ ldr r0, _0806A92C @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _0806A930
+ movs r0, 0
+ b _0806A932
+ .align 2, 0
+_0806A92C: .4byte gUnknown_2037AB8
+_0806A930:
+ movs r0, 0x1
+_0806A932:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A918
+
+ thumb_func_start sub_806A938
+sub_806A938: @ 806A938
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r1, [r4, 0x8]
+ ldrb r0, [r1]
+ adds r1, 0x1
+ str r1, [r4, 0x8]
+ movs r1, 0
+ bl sub_807A818
+ ldr r1, _0806A95C @ =sub_806A918
+ adds r0, r4, 0
+ bl sub_80697F4
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A95C: .4byte sub_806A918
+ thumb_func_end sub_806A938
+
+ thumb_func_start sub_806A960
+sub_806A960: @ 806A960
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r2, [r4, 0x8]
+ ldrb r0, [r2]
+ adds r2, 0x1
+ str r2, [r4, 0x8]
+ ldrb r1, [r2]
+ adds r2, 0x1
+ str r2, [r4, 0x8]
+ lsls r1, 24
+ asrs r1, 24
+ bl sub_807A818
+ ldr r1, _0806A98C @ =sub_806A918
+ adds r0, r4, 0
+ bl sub_80697F4
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A98C: .4byte sub_806A918
+ thumb_func_end sub_806A960
+
+ thumb_func_start sub_806A990
+sub_806A990: @ 806A990
+ push {lr}
+ ldr r1, _0806A9A4 @ =gUnknown_20370AE
+ ldrh r0, [r1]
+ subs r0, 0x1
+ strh r0, [r1]
+ lsls r0, 16
+ cmp r0, 0
+ beq _0806A9A8
+ movs r0, 0
+ b _0806A9AA
+ .align 2, 0
+_0806A9A4: .4byte gUnknown_20370AE
+_0806A9A8:
+ movs r0, 0x1
+_0806A9AA:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A990
+
+ thumb_func_start sub_806A9B0
+sub_806A9B0: @ 806A9B0
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ ldr r1, _0806A9CC @ =gUnknown_20370AE
+ strh r0, [r1]
+ ldr r1, _0806A9D0 @ =sub_806A990
+ adds r0, r4, 0
+ bl sub_80697F4
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806A9CC: .4byte gUnknown_20370AE
+_0806A9D0: .4byte sub_806A990
+ thumb_func_end sub_806A9B0
+
+ thumb_func_start sub_806A9D4
+sub_806A9D4: @ 806A9D4
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806A9D4
+
+ thumb_func_start sub_806A9D8
+sub_806A9D8: @ 806A9D8
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806A9D8
+
+ thumb_func_start sub_806A9DC
+sub_806A9DC: @ 806A9DC
+ ldr r0, _0806A9F0 @ =gUnknown_20370B8
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, _0806A9F4 @ =gUnknown_20370BA
+ strh r1, [r0]
+ ldr r0, _0806A9F8 @ =gUnknown_20370BC
+ strh r1, [r0]
+ movs r0, 0
+ bx lr
+ .align 2, 0
+_0806A9F0: .4byte gUnknown_20370B8
+_0806A9F4: .4byte gUnknown_20370BA
+_0806A9F8: .4byte gUnknown_20370BC
+ thumb_func_end sub_806A9DC
+
+ thumb_func_start sub_806A9FC
+sub_806A9FC: @ 806A9FC
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_807B100
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806A9FC
+
+ thumb_func_start sub_806AA18
+sub_806AA18: @ 806AA18
+ push {lr}
+ bl sub_807B140
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806AA18
+
+ thumb_func_start sub_806AA24
+sub_806AA24: @ 806AA24
+ push {lr}
+ bl sub_807B1A4
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806AA24
+
+ thumb_func_start sub_806AA30
+sub_806AA30: @ 806AA30
+ push {lr}
+ ldr r1, [r0, 0x8]
+ ldrb r2, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ adds r0, r2, 0
+ bl sub_806E8D0
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806AA30
+
+ thumb_func_start sub_806AA48
+sub_806AA48: @ 806AA48
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_8055D40
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806AA48
+
+ thumb_func_start sub_806AA64
+sub_806AA64: @ 806AA64
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r9, r1
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r8, r1
+ adds r1, r0, 0x1
+ str r1, [r5, 0x8]
+ ldrb r6, [r0, 0x1]
+ adds r1, 0x1
+ str r1, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ mov r1, r9
+ lsls r1, 24
+ asrs r1, 24
+ mov r9, r1
+ mov r1, r8
+ lsls r1, 24
+ asrs r1, 24
+ mov r8, r1
+ lsls r6, 24
+ asrs r6, 24
+ lsls r4, 24
+ asrs r4, 24
+ lsls r0, 24
+ asrs r0, 24
+ str r0, [sp]
+ mov r0, r9
+ adds r2, r6, 0
+ adds r3, r4, 0
+ bl sub_805538C
+ bl sub_807E438
+ bl sub_80559E4
+ movs r0, 0x1
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806AA64
+
+ thumb_func_start sub_806AAEC
+sub_806AAEC: @ 806AAEC
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r9, r1
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r8, r1
+ adds r1, r0, 0x1
+ str r1, [r5, 0x8]
+ ldrb r6, [r0, 0x1]
+ adds r1, 0x1
+ str r1, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ mov r1, r9
+ lsls r1, 24
+ asrs r1, 24
+ mov r9, r1
+ mov r1, r8
+ lsls r1, 24
+ asrs r1, 24
+ mov r8, r1
+ lsls r6, 24
+ asrs r6, 24
+ lsls r4, 24
+ asrs r4, 24
+ lsls r0, 24
+ asrs r0, 24
+ str r0, [sp]
+ mov r0, r9
+ adds r2, r6, 0
+ adds r3, r4, 0
+ bl sub_805538C
+ bl sub_807E470
+ bl sub_80559E4
+ movs r0, 0x1
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806AAEC
+
+ thumb_func_start sub_806AB74
+sub_806AB74: @ 806AB74
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r9, r1
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r8, r1
+ adds r1, r0, 0x1
+ str r1, [r5, 0x8]
+ ldrb r6, [r0, 0x1]
+ adds r1, 0x1
+ str r1, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ mov r1, r9
+ lsls r1, 24
+ asrs r1, 24
+ mov r9, r1
+ mov r1, r8
+ lsls r1, 24
+ asrs r1, 24
+ mov r8, r1
+ lsls r6, 24
+ asrs r6, 24
+ lsls r4, 24
+ asrs r4, 24
+ lsls r0, 24
+ asrs r0, 24
+ str r0, [sp]
+ mov r0, r9
+ adds r2, r6, 0
+ adds r3, r4, 0
+ bl sub_805538C
+ bl sub_807E4DC
+ bl sub_80559E4
+ movs r0, 0x1
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806AB74
+
+ thumb_func_start sub_806ABFC
+sub_806ABFC: @ 806ABFC
+ push {r4-r6,lr}
+ sub sp, 0x8
+ ldr r1, [r0, 0x8]
+ ldrb r6, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ ldrb r5, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ mov r4, sp
+ adds r4, 0x6
+ add r0, sp, 0x4
+ adds r1, r4, 0
+ bl sub_805C538
+ cmp r6, 0xFF
+ bne _0806AC3A
+ cmp r5, 0xFF
+ bne _0806AC3A
+ add r0, sp, 0x4
+ ldrh r0, [r0]
+ subs r0, 0x7
+ lsls r0, 16
+ asrs r0, 16
+ ldrh r1, [r4]
+ subs r1, 0x7
+ lsls r1, 16
+ asrs r1, 16
+ bl sub_8055688
+ b _0806AC5E
+_0806AC3A:
+ lsls r0, r6, 24
+ asrs r0, 24
+ lsls r1, r5, 24
+ asrs r1, 24
+ movs r2, 0x1
+ negs r2, r2
+ add r3, sp, 0x4
+ ldrb r3, [r3]
+ subs r3, 0x7
+ lsls r3, 24
+ asrs r3, 24
+ ldrb r4, [r4]
+ subs r4, 0x7
+ lsls r4, 24
+ asrs r4, 24
+ str r4, [sp]
+ bl sub_805538C
+_0806AC5E:
+ bl sub_807E548
+ bl sub_80559E4
+ movs r0, 0x1
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806ABFC
+
+ thumb_func_start sub_806AC70
+sub_806AC70: @ 806AC70
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r9, r1
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r8, r1
+ adds r1, r0, 0x1
+ str r1, [r5, 0x8]
+ ldrb r6, [r0, 0x1]
+ adds r1, 0x1
+ str r1, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ mov r1, r9
+ lsls r1, 24
+ asrs r1, 24
+ mov r9, r1
+ mov r1, r8
+ lsls r1, 24
+ asrs r1, 24
+ mov r8, r1
+ lsls r6, 24
+ asrs r6, 24
+ lsls r4, 24
+ asrs r4, 24
+ lsls r0, 24
+ asrs r0, 24
+ str r0, [sp]
+ mov r0, r9
+ adds r2, r6, 0
+ adds r3, r4, 0
+ bl sub_805538C
+ bl sub_807E59C
+ bl sub_80559E4
+ movs r0, 0x1
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806AC70
+
+ thumb_func_start sub_806ACF8
+sub_806ACF8: @ 806ACF8
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r9, r1
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r8, r1
+ adds r1, r0, 0x1
+ str r1, [r5, 0x8]
+ ldrb r6, [r0, 0x1]
+ adds r1, 0x1
+ str r1, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ mov r1, r9
+ lsls r1, 24
+ asrs r1, 24
+ mov r9, r1
+ mov r1, r8
+ lsls r1, 24
+ asrs r1, 24
+ mov r8, r1
+ lsls r6, 24
+ asrs r6, 24
+ lsls r4, 24
+ asrs r4, 24
+ lsls r0, 24
+ asrs r0, 24
+ str r0, [sp]
+ mov r0, r9
+ adds r2, r6, 0
+ adds r3, r4, 0
+ bl sub_805538C
+ bl sub_805C6C4
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_805DAE4
+ bl sub_807E500
+ bl sub_80559E4
+ movs r0, 0x1
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806ACF8
+
+ thumb_func_start sub_806AD8C
+sub_806AD8C: @ 806AD8C
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r9, r1
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r8, r1
+ adds r1, r0, 0x1
+ str r1, [r5, 0x8]
+ ldrb r6, [r0, 0x1]
+ adds r1, 0x1
+ str r1, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ mov r1, r9
+ lsls r1, 24
+ asrs r1, 24
+ mov r9, r1
+ mov r1, r8
+ lsls r1, 24
+ asrs r1, 24
+ mov r8, r1
+ lsls r6, 24
+ asrs r6, 24
+ lsls r4, 24
+ asrs r4, 24
+ lsls r0, 24
+ asrs r0, 24
+ str r0, [sp]
+ mov r0, r9
+ adds r2, r6, 0
+ adds r3, r4, 0
+ bl sub_805538C
+ movs r0, 0
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806AD8C
+
+ thumb_func_start sub_806AE0C
+sub_806AE0C: @ 806AE0C
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x8
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r9, r1
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r8, r1
+ adds r1, r0, 0x1
+ str r1, [r5, 0x8]
+ ldrb r6, [r0, 0x1]
+ adds r1, 0x1
+ str r1, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ mov r1, r9
+ lsls r1, 24
+ asrs r1, 24
+ mov r9, r1
+ mov r1, r8
+ lsls r1, 24
+ asrs r1, 24
+ mov r8, r1
+ lsls r6, 24
+ asrs r6, 24
+ lsls r4, 24
+ asrs r4, 24
+ str r4, [sp]
+ lsls r0, 24
+ asrs r0, 24
+ str r0, [sp, 0x4]
+ movs r0, 0
+ mov r1, r9
+ mov r2, r8
+ adds r3, r6, 0
+ bl sub_805541C
+ movs r0, 0
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806AE0C
+
+ thumb_func_start sub_806AE90
+sub_806AE90: @ 806AE90
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r9, r1
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r8, r1
+ adds r1, r0, 0x1
+ str r1, [r5, 0x8]
+ ldrb r6, [r0, 0x1]
+ adds r1, 0x1
+ str r1, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ mov r1, r9
+ lsls r1, 24
+ asrs r1, 24
+ mov r9, r1
+ mov r1, r8
+ lsls r1, 24
+ asrs r1, 24
+ mov r8, r1
+ lsls r6, 24
+ asrs r6, 24
+ lsls r4, 24
+ asrs r4, 24
+ lsls r0, 24
+ asrs r0, 24
+ str r0, [sp]
+ mov r0, r9
+ adds r2, r6, 0
+ adds r3, r4, 0
+ bl sub_80555F8
+ movs r0, 0
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806AE90
+
+ thumb_func_start sub_806AF10
+sub_806AF10: @ 806AF10
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r9, r1
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r8, r1
+ adds r1, r0, 0x1
+ str r1, [r5, 0x8]
+ ldrb r6, [r0, 0x1]
+ adds r1, 0x1
+ str r1, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ mov r1, r9
+ lsls r1, 24
+ asrs r1, 24
+ mov r9, r1
+ mov r1, r8
+ lsls r1, 24
+ asrs r1, 24
+ mov r8, r1
+ lsls r6, 24
+ asrs r6, 24
+ lsls r4, 24
+ asrs r4, 24
+ lsls r0, 24
+ asrs r0, 24
+ str r0, [sp]
+ mov r0, r9
+ adds r2, r6, 0
+ adds r3, r4, 0
+ bl sub_805564C
+ movs r0, 0
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806AF10
+
+ thumb_func_start sub_806AF90
+sub_806AF90: @ 806AF90
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x4
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r9, r1
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r8, r1
+ adds r1, r0, 0x1
+ str r1, [r5, 0x8]
+ ldrb r6, [r0, 0x1]
+ adds r1, 0x1
+ str r1, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ mov r1, r9
+ lsls r1, 24
+ asrs r1, 24
+ mov r9, r1
+ mov r1, r8
+ lsls r1, 24
+ asrs r1, 24
+ mov r8, r1
+ lsls r6, 24
+ asrs r6, 24
+ lsls r4, 24
+ asrs r4, 24
+ lsls r0, 24
+ asrs r0, 24
+ str r0, [sp]
+ mov r0, r9
+ adds r2, r6, 0
+ adds r3, r4, 0
+ bl sub_80555A0
+ movs r0, 0
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806AF90
+
+ thumb_func_start sub_806B010
+sub_806B010: @ 806B010
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E454
+ adds r5, r0, 0
+ adds r0, r4, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E454
+ ldr r2, _0806B048 @ =gUnknown_3005008
+ ldr r1, [r2]
+ ldrh r1, [r1]
+ strh r1, [r5]
+ ldr r1, [r2]
+ ldrh r1, [r1, 0x2]
+ strh r1, [r0]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B048: .4byte gUnknown_3005008
+ thumb_func_end sub_806B010
+
+ thumb_func_start sub_806B04C
+sub_806B04C: @ 806B04C
+ push {r4,lr}
+ ldr r4, _0806B064 @ =gUnknown_20370D0
+ bl sub_8040C3C
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B064: .4byte gUnknown_20370D0
+ thumb_func_end sub_806B04C
+
+ thumb_func_start sub_806B068
+sub_806B068: @ 806B068
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_80722CC
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B068
+
+ thumb_func_start sub_806B07C
+sub_806B07C: @ 806B07C
+ push {lr}
+ bl sub_80723E0
+ lsls r0, 24
+ cmp r0, 0
+ beq _0806B08C
+ movs r0, 0
+ b _0806B08E
+_0806B08C:
+ movs r0, 0x1
+_0806B08E:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B07C
+
+ thumb_func_start sub_806B094
+sub_806B094: @ 806B094
+ push {lr}
+ ldr r1, _0806B0A4 @ =sub_806B07C
+ bl sub_80697F4
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B0A4: .4byte sub_806B07C
+ thumb_func_end sub_806B094
+
+ thumb_func_start sub_806B0A8
+sub_806B0A8: @ 806B0A8
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_8071C60
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B0A8
+
+ thumb_func_start sub_806B0BC
+sub_806B0BC: @ 806B0BC
+ push {lr}
+ bl sub_8071C9C
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B0BC
+
+ thumb_func_start sub_806B0CC
+sub_806B0CC: @ 806B0CC
+ push {lr}
+ ldr r1, _0806B0DC @ =sub_806B0BC
+ bl sub_80697F4
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B0DC: .4byte sub_806B0BC
+ thumb_func_end sub_806B0CC
+
+ thumb_func_start sub_806B0E0
+sub_806B0E0: @ 806B0E0
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r1, r0, 16
+ adds r5, r1, 0
+ ldr r0, [r4, 0x8]
+ ldrb r2, [r0]
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ ldr r0, _0806B11C @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _0806B114
+ cmp r2, 0x1
+ bne _0806B10E
+ adds r0, r1, 0
+ bl sub_8055E78
+_0806B10E:
+ adds r0, r5, 0
+ bl sub_8071A74
+_0806B114:
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B11C: .4byte gUnknown_203ADFA
+ thumb_func_end sub_806B0E0
+
+ thumb_func_start sub_806B120
+sub_806B120: @ 806B120
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_8055E78
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B120
+
+ thumb_func_start sub_806B134
+sub_806B134: @ 806B134
+ push {lr}
+ ldr r0, _0806B150 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _0806B148
+ bl sub_8055F1C
+_0806B148:
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B150: .4byte gUnknown_203ADFA
+ thumb_func_end sub_806B134
+
+ thumb_func_start sub_806B154
+sub_806B154: @ 806B154
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r1, r0, 16
+ ldr r0, _0806B178 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _0806B172
+ adds r0, r1, 0
+ bl sub_8055F48
+_0806B172:
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B178: .4byte gUnknown_203ADFA
+ thumb_func_end sub_806B154
+
+ thumb_func_start sub_806B17C
+sub_806B17C: @ 806B17C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, [r4, 0x8]
+ ldrb r1, [r0]
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ ldr r0, _0806B19C @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _0806B1A0
+ movs r0, 0
+ b _0806B1BE
+ .align 2, 0
+_0806B19C: .4byte gUnknown_203ADFA
+_0806B1A0:
+ cmp r1, 0
+ beq _0806B1AE
+ lsls r0, r1, 26
+ lsrs r0, 24
+ bl sub_8071D64
+ b _0806B1B4
+_0806B1AE:
+ movs r0, 0x4
+ bl sub_8071D64
+_0806B1B4:
+ ldr r1, _0806B1C4 @ =sub_8071D7C
+ adds r0, r4, 0
+ bl sub_80697F4
+ movs r0, 0x1
+_0806B1BE:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B1C4: .4byte sub_8071D7C
+ thumb_func_end sub_806B17C
+
+ thumb_func_start sub_806B1C8
+sub_806B1C8: @ 806B1C8
+ push {lr}
+ ldr r1, [r0, 0x8]
+ ldrb r2, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ ldr r0, _0806B1F0 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _0806B1FA
+ cmp r2, 0
+ beq _0806B1F4
+ lsls r0, r2, 26
+ lsrs r0, 24
+ bl sub_8071DA4
+ b _0806B1FA
+ .align 2, 0
+_0806B1F0: .4byte gUnknown_203ADFA
+_0806B1F4:
+ movs r0, 0x4
+ bl sub_8071DA4
+_0806B1FA:
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B1C8
+
+ thumb_func_start sub_806B200
+sub_806B200: @ 806B200
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_8069910
+ adds r3, r0, 0
+ lsls r0, r4, 24
+ lsrs r0, 24
+ ldr r1, _0806B23C @ =gUnknown_3005008
+ ldr r2, [r1]
+ ldrb r1, [r2, 0x5]
+ ldrb r2, [r2, 0x4]
+ bl sub_8097434
+ ldr r0, _0806B240 @ =gUnknown_20370B0
+ strh r4, [r0]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B23C: .4byte gUnknown_3005008
+_0806B240: .4byte gUnknown_20370B0
+ thumb_func_end sub_806B200
+
+ thumb_func_start sub_806B244
+sub_806B244: @ 806B244
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_8069910
+ adds r3, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r2, [r0]
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r1, [r0]
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8097434
+ ldr r0, _0806B284 @ =gUnknown_20370B0
+ strh r4, [r0]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B284: .4byte gUnknown_20370B0
+ thumb_func_end sub_806B244
+
+ thumb_func_start sub_806B288
+sub_806B288: @ 806B288
+ push {lr}
+ ldr r0, _0806B2A4 @ =gUnknown_20370B0
+ ldrb r0, [r0]
+ ldr r1, _0806B2A8 @ =gUnknown_20370B4
+ ldrb r1, [r1]
+ ldr r2, _0806B2AC @ =gUnknown_20370B2
+ ldrb r2, [r2]
+ bl sub_809748C
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B2A4: .4byte gUnknown_20370B0
+_0806B2A8: .4byte gUnknown_20370B4
+_0806B2AC: .4byte gUnknown_20370B2
+ thumb_func_end sub_806B288
+
+ thumb_func_start sub_806B2B0
+sub_806B2B0: @ 806B2B0
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ beq _0806B2CC
+ ldr r0, _0806B2F0 @ =gUnknown_20370B0
+ strh r1, [r0]
+_0806B2CC:
+ ldr r1, _0806B2F4 @ =gUnknown_20370B2
+ ldr r0, _0806B2F8 @ =gUnknown_3005008
+ ldr r2, [r0]
+ movs r0, 0x4
+ ldrsb r0, [r2, r0]
+ strh r0, [r1]
+ ldr r1, _0806B2FC @ =gUnknown_20370B4
+ movs r0, 0x5
+ ldrsb r0, [r2, r0]
+ strh r0, [r1]
+ ldr r1, _0806B300 @ =sub_806B288
+ adds r0, r4, 0
+ bl sub_80697F4
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B2F0: .4byte gUnknown_20370B0
+_0806B2F4: .4byte gUnknown_20370B2
+_0806B2F8: .4byte gUnknown_3005008
+_0806B2FC: .4byte gUnknown_20370B4
+_0806B300: .4byte sub_806B288
+ thumb_func_end sub_806B2B0
+
+ thumb_func_start sub_806B304
+sub_806B304: @ 806B304
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ beq _0806B320
+ ldr r0, _0806B348 @ =gUnknown_20370B0
+ strh r1, [r0]
+_0806B320:
+ ldr r0, [r4, 0x8]
+ ldrb r2, [r0]
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ ldrb r1, [r0]
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ ldr r0, _0806B34C @ =gUnknown_20370B2
+ strh r2, [r0]
+ ldr r0, _0806B350 @ =gUnknown_20370B4
+ strh r1, [r0]
+ ldr r1, _0806B354 @ =sub_806B288
+ adds r0, r4, 0
+ bl sub_80697F4
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B348: .4byte gUnknown_20370B0
+_0806B34C: .4byte gUnknown_20370B2
+_0806B350: .4byte gUnknown_20370B4
+_0806B354: .4byte sub_806B288
+ thumb_func_end sub_806B304
+
+ thumb_func_start sub_806B358
+sub_806B358: @ 806B358
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0806B37C @ =gUnknown_3005008
+ ldr r2, [r1]
+ ldrb r1, [r2, 0x5]
+ ldrb r2, [r2, 0x4]
+ bl sub_805E4C8
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B37C: .4byte gUnknown_3005008
+ thumb_func_end sub_806B358
+
+ thumb_func_start sub_806B380
+sub_806B380: @ 806B380
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ ldr r3, [r4, 0x8]
+ ldrb r2, [r3]
+ adds r3, 0x1
+ str r3, [r4, 0x8]
+ ldrb r1, [r3]
+ adds r3, 0x1
+ str r3, [r4, 0x8]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_805E4C8
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B380
+
+ thumb_func_start sub_806B3B0
+sub_806B3B0: @ 806B3B0
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0806B3D4 @ =gUnknown_3005008
+ ldr r2, [r1]
+ ldrb r1, [r2, 0x5]
+ ldrb r2, [r2, 0x4]
+ bl sub_805E898
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B3D4: .4byte gUnknown_3005008
+ thumb_func_end sub_806B3B0
+
+ thumb_func_start sub_806B3D8
+sub_806B3D8: @ 806B3D8
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ ldr r3, [r4, 0x8]
+ ldrb r2, [r3]
+ adds r3, 0x1
+ str r3, [r4, 0x8]
+ ldrb r1, [r3]
+ adds r3, 0x1
+ str r3, [r4, 0x8]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_805E898
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B3D8
+
+ thumb_func_start sub_806B408
+sub_806B408: @ 806B408
+ push {r4-r6,lr}
+ sub sp, 0x4
+ adds r6, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r5, r0, 0
+ lsls r5, 16
+ lsrs r5, 16
+ adds r0, r6, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r6, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r1, _0806B46C @ =gUnknown_3005008
+ ldr r2, [r1]
+ ldrb r1, [r2, 0x5]
+ ldrb r2, [r2, 0x4]
+ lsls r4, 16
+ asrs r4, 16
+ lsls r0, 16
+ asrs r0, 16
+ str r0, [sp]
+ adds r0, r5, 0
+ adds r3, r4, 0
+ bl sub_805F7C4
+ movs r0, 0
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B46C: .4byte gUnknown_3005008
+ thumb_func_end sub_806B408
+
+ thumb_func_start sub_806B470
+sub_806B470: @ 806B470
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r5, r0, 0
+ lsls r5, 16
+ lsrs r5, 16
+ adds r0, r6, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r6, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r2, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r4, 16
+ asrs r4, 16
+ lsls r2, 16
+ asrs r2, 16
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_80550D8
+ movs r0, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B470
+
+ thumb_func_start sub_806B4C8
+sub_806B4C8: @ 806B4C8
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0806B4EC @ =gUnknown_3005008
+ ldr r2, [r1]
+ ldrb r1, [r2, 0x5]
+ ldrb r2, [r2, 0x4]
+ bl sub_805FE94
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B4EC: .4byte gUnknown_3005008
+ thumb_func_end sub_806B4C8
+
+ thumb_func_start sub_806B4F0
+sub_806B4F0: @ 806B4F0
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ ldr r3, [r4, 0x8]
+ ldrb r2, [r3]
+ adds r3, 0x1
+ str r3, [r4, 0x8]
+ ldrb r1, [r3]
+ adds r3, 0x1
+ str r3, [r4, 0x8]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0
+ bl sub_805F314
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B4F0
+
+ thumb_func_start sub_806B520
+sub_806B520: @ 806B520
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ ldr r3, [r4, 0x8]
+ ldrb r2, [r3]
+ adds r3, 0x1
+ str r3, [r4, 0x8]
+ ldrb r1, [r3]
+ adds r3, 0x1
+ str r3, [r4, 0x8]
+ lsls r0, 24
+ lsrs r0, 24
+ movs r3, 0x1
+ bl sub_805F314
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B520
+
+ thumb_func_start sub_806B550
+sub_806B550: @ 806B550
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ ldr r3, [r5, 0x8]
+ ldrb r2, [r3]
+ adds r3, 0x1
+ str r3, [r5, 0x8]
+ ldrb r1, [r3]
+ adds r4, r3, 0x1
+ str r4, [r5, 0x8]
+ ldrb r3, [r3, 0x1]
+ adds r4, 0x1
+ str r4, [r5, 0x8]
+ lsls r0, 24
+ lsrs r0, 24
+ adds r3, 0x53
+ lsls r3, 24
+ lsrs r3, 24
+ bl sub_805F3A8
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B550
+
+ thumb_func_start sub_806B58C
+sub_806B58C: @ 806B58C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ ldr r3, [r4, 0x8]
+ ldrb r2, [r3]
+ adds r3, 0x1
+ str r3, [r4, 0x8]
+ ldrb r1, [r3]
+ adds r3, 0x1
+ str r3, [r4, 0x8]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_805F400
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B58C
+
+ thumb_func_start sub_806B5BC
+sub_806B5BC: @ 806B5BC
+ push {r4,lr}
+ ldr r2, _0806B5EC @ =gUnknown_2036E38
+ ldr r0, _0806B5F0 @ =gUnknown_3005074
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r4, r0, r2
+ ldrb r0, [r4]
+ lsls r0, 31
+ cmp r0, 0
+ beq _0806B5E4
+ bl sub_805C6C4
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl sub_80642C8
+_0806B5E4:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B5EC: .4byte gUnknown_2036E38
+_0806B5F0: .4byte gUnknown_3005074
+ thumb_func_end sub_806B5BC
+
+ thumb_func_start sub_806B5F4
+sub_806B5F4: @ 806B5F4
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ ldr r1, [r4, 0x8]
+ ldrb r3, [r1]
+ adds r1, 0x1
+ str r1, [r4, 0x8]
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0806B624 @ =gUnknown_3005008
+ ldr r2, [r1]
+ ldrb r1, [r2, 0x5]
+ ldrb r2, [r2, 0x4]
+ bl sub_805F268
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B624: .4byte gUnknown_3005008
+ thumb_func_end sub_806B5F4
+
+ thumb_func_start sub_806B628
+sub_806B628: @ 806B628
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ ldr r2, [r4, 0x8]
+ ldrb r1, [r2]
+ adds r2, 0x1
+ str r2, [r4, 0x8]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8055114
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B628
+
+ thumb_func_start sub_806B650
+sub_806B650: @ 806B650
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0x8
+ adds r5, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r1, [r0]
+ mov r8, r1
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r6, [r0]
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r3, r0, 0
+ ldr r0, [r5, 0x8]
+ ldrb r2, [r0]
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r1, [r0]
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ lsls r4, 16
+ asrs r4, 16
+ lsls r3, 16
+ asrs r3, 16
+ str r2, [sp]
+ str r1, [sp, 0x4]
+ mov r0, r8
+ adds r1, r6, 0
+ adds r2, r4, 0
+ bl sub_805E9F8
+ movs r0, 0
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B650
+
+ thumb_func_start sub_806B6C0
+sub_806B6C0: @ 806B6C0
+ push {lr}
+ ldr r2, [r0, 0x8]
+ ldrb r3, [r2]
+ adds r2, 0x1
+ str r2, [r0, 0x8]
+ ldrb r1, [r2]
+ adds r2, 0x1
+ str r2, [r0, 0x8]
+ adds r0, r3, 0
+ bl sub_8069058
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B6C0
+
+ thumb_func_start sub_806B6DC
+sub_806B6DC: @ 806B6DC
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_805642C
+ cmp r0, 0
+ bne _0806B6FC
+ bl sub_80695B4
+ ldr r1, _0806B6F8 @ =sub_8069590
+ adds r0, r4, 0
+ bl sub_80697F4
+ movs r0, 0x1
+ b _0806B6FE
+ .align 2, 0
+_0806B6F8: .4byte sub_8069590
+_0806B6FC:
+ movs r0, 0
+_0806B6FE:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B6DC
+
+ thumb_func_start sub_806B704
+sub_806B704: @ 806B704
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_805642C
+ cmp r0, 0
+ beq _0806B714
+ movs r0, 0
+ b _0806B752
+_0806B714:
+ ldr r2, _0806B738 @ =gUnknown_2036E38
+ ldr r0, _0806B73C @ =gUnknown_3005074
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r0, [r0]
+ lsls r0, 31
+ cmp r0, 0
+ beq _0806B744
+ bl sub_806966C
+ ldr r1, _0806B740 @ =sub_8069648
+ adds r0, r4, 0
+ bl sub_80697F4
+ b _0806B750
+ .align 2, 0
+_0806B738: .4byte gUnknown_2036E38
+_0806B73C: .4byte gUnknown_3005074
+_0806B740: .4byte sub_8069648
+_0806B744:
+ bl sub_80695B4
+ ldr r1, _0806B758 @ =sub_8069590
+ adds r0, r4, 0
+ bl sub_80697F4
+_0806B750:
+ movs r0, 0x1
+_0806B752:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B758: .4byte sub_8069590
+ thumb_func_end sub_806B704
+
+ thumb_func_start sub_806B75C
+sub_806B75C: @ 806B75C
+ push {lr}
+ bl sub_80694F4
+ movs r0, 0xFF
+ movs r1, 0
+ movs r2, 0
+ bl sub_805DF60
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _0806B790 @ =gUnknown_2036E38
+ adds r0, r1
+ bl sub_8063D7C
+ bl sub_80974D8
+ bl sub_8068A5C
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B790: .4byte gUnknown_2036E38
+ thumb_func_end sub_806B75C
+
+ thumb_func_start sub_806B794
+sub_806B794: @ 806B794
+ push {r4,lr}
+ bl sub_80694F4
+ ldr r4, _0806B7E4 @ =gUnknown_2036E38
+ ldr r0, _0806B7E8 @ =gUnknown_3005074
+ ldrb r1, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r0, r4
+ ldrb r0, [r1]
+ lsls r0, 31
+ cmp r0, 0
+ beq _0806B7B6
+ adds r0, r1, 0
+ bl sub_8063D7C
+_0806B7B6:
+ movs r0, 0xFF
+ movs r1, 0
+ movs r2, 0
+ bl sub_805DF60
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl sub_8063D7C
+ bl sub_80974D8
+ bl sub_8068A5C
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B7E4: .4byte gUnknown_2036E38
+_0806B7E8: .4byte gUnknown_3005074
+ thumb_func_end sub_806B794
+
+ thumb_func_start sub_806B7EC
+sub_806B7EC: @ 806B7EC
+ ldr r2, _0806B804 @ =gUnknown_20370DC
+ ldr r3, _0806B808 @ =gUnknown_20370DA
+ ldrh r1, [r3]
+ strh r1, [r2]
+ ldr r1, [r0, 0x8]
+ ldrb r2, [r1]
+ strh r2, [r3]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ movs r0, 0
+ bx lr
+ .align 2, 0
+_0806B804: .4byte gUnknown_20370DC
+_0806B808: .4byte gUnknown_20370DA
+ thumb_func_end sub_806B7EC
+
+ thumb_func_start sub_806B80C
+sub_806B80C: @ 806B80C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ cmp r0, 0
+ bne _0806B81A
+ ldr r0, [r4, 0x64]
+_0806B81A:
+ bl sub_806943C
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B80C
+
+ thumb_func_start sub_806B828
+sub_806B828: @ 806B828
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ cmp r0, 0
+ bne _0806B836
+ ldr r0, [r4, 0x64]
+_0806B836:
+ bl sub_80F7974
+ bl sub_80F793C
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x1
+ bl sub_8003F20
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B828
+
+ thumb_func_start sub_806B850
+sub_806B850: @ 806B850
+ push {lr}
+ bl sub_80F7998
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B850
+
+ thumb_func_start sub_806B85C
+sub_806B85C: @ 806B85C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ cmp r0, 0
+ bne _0806B86A
+ ldr r0, [r4, 0x64]
+_0806B86A:
+ bl sub_8069464
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B85C
+
+ thumb_func_start sub_806B878
+sub_806B878: @ 806B878
+ push {lr}
+ ldr r1, _0806B888 @ =sub_806951C
+ bl sub_80697F4
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806B888: .4byte sub_806951C
+ thumb_func_end sub_806B878
+
+ thumb_func_start sub_806B88C
+sub_806B88C: @ 806B88C
+ push {lr}
+ bl sub_80694F4
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B88C
+
+ thumb_func_start sub_806B898
+sub_806B898: @ 806B898
+ push {r4,lr}
+ ldr r0, _0806B8F0 @ =gUnknown_30030F0
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _0806B922
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _0806B922
+ ldr r4, _0806B8F4 @ =gUnknown_3005070
+ ldr r0, [r4]
+ bl sub_806B93C
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0806B906
+ ldr r0, [r4]
+ bl sub_806B96C
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r4, 0
+ bl sub_8069998
+ cmp r4, 0
+ beq _0806B906
+ ldr r0, _0806B8F8 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ beq _0806B906
+ bl sub_80699F8
+ adds r0, r4, 0
+ subs r0, 0x9
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _0806B8FC
+ bl sub_8069964
+ b _0806B922
+ .align 2, 0
+_0806B8F0: .4byte gUnknown_30030F0
+_0806B8F4: .4byte gUnknown_3005070
+_0806B8F8: .4byte gUnknown_203ADFA
+_0806B8FC:
+ bl sub_80699A4
+ bl sub_8069970
+ b _0806B922
+_0806B906:
+ bl sub_8112CAC
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0806B91A
+ ldr r0, _0806B928 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _0806B934
+_0806B91A:
+ ldr r1, _0806B92C @ =gUnknown_20370AC
+ ldrb r0, [r1]
+ cmp r0, 0x78
+ bne _0806B930
+_0806B922:
+ movs r0, 0x1
+ b _0806B936
+ .align 2, 0
+_0806B928: .4byte gUnknown_203ADFA
+_0806B92C: .4byte gUnknown_20370AC
+_0806B930:
+ adds r0, 0x1
+ strb r0, [r1]
+_0806B934:
+ movs r0, 0
+_0806B936:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B898
+
+ thumb_func_start sub_806B93C
+sub_806B93C: @ 806B93C
+ push {lr}
+ adds r2, r0, 0
+ ldr r0, [r2, 0x8]
+ ldrb r0, [r0]
+ cmp r0, 0x3
+ bne _0806B958
+ ldrb r1, [r2]
+ subs r1, 0x1
+ lsls r1, 2
+ adds r0, r2, 0
+ adds r0, 0xC
+ adds r0, r1
+ ldr r0, [r0]
+ ldrb r0, [r0]
+_0806B958:
+ subs r0, 0x6B
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _0806B966
+ movs r0, 0x1
+ b _0806B968
+_0806B966:
+ movs r0, 0
+_0806B968:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B93C
+
+ thumb_func_start sub_806B96C
+sub_806B96C: @ 806B96C
+ push {lr}
+ ldr r2, _0806B988 @ =gUnknown_30030F0
+ ldrh r1, [r2, 0x2C]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _0806B990
+ ldr r0, _0806B98C @ =gUnknown_20370D4
+ ldrh r0, [r0]
+ cmp r0, 0x2
+ beq _0806B990
+ movs r0, 0x1
+ b _0806BA36
+ .align 2, 0
+_0806B988: .4byte gUnknown_30030F0
+_0806B98C: .4byte gUnknown_20370D4
+_0806B990:
+ ldrh r1, [r2, 0x2C]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _0806B9AC
+ ldr r0, _0806B9A8 @ =gUnknown_20370D4
+ ldrh r0, [r0]
+ cmp r0, 0x1
+ beq _0806B9AC
+ movs r0, 0x2
+ b _0806BA36
+ .align 2, 0
+_0806B9A8: .4byte gUnknown_20370D4
+_0806B9AC:
+ ldrh r1, [r2, 0x2C]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _0806B9C8
+ ldr r0, _0806B9C4 @ =gUnknown_20370D4
+ ldrh r0, [r0]
+ cmp r0, 0x3
+ beq _0806B9C8
+ movs r0, 0x3
+ b _0806BA36
+ .align 2, 0
+_0806B9C4: .4byte gUnknown_20370D4
+_0806B9C8:
+ ldrh r1, [r2, 0x2C]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _0806B9E4
+ ldr r0, _0806B9E0 @ =gUnknown_20370D4
+ ldrh r0, [r0]
+ cmp r0, 0x4
+ beq _0806B9E4
+ movs r0, 0x4
+ b _0806BA36
+ .align 2, 0
+_0806B9E0: .4byte gUnknown_20370D4
+_0806B9E4:
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x80
+ lsls r0, 2
+ ands r0, r1
+ cmp r0, 0
+ beq _0806B9F4
+ movs r0, 0x5
+ b _0806BA36
+_0806B9F4:
+ ldrh r2, [r2, 0x2C]
+ movs r0, 0x80
+ lsls r0, 1
+ ands r0, r2
+ cmp r0, 0
+ beq _0806BA04
+ movs r0, 0x6
+ b _0806BA36
+_0806BA04:
+ movs r0, 0x8
+ ands r0, r2
+ cmp r0, 0
+ beq _0806BA10
+ movs r0, 0x7
+ b _0806BA36
+_0806BA10:
+ movs r0, 0x4
+ ands r0, r2
+ cmp r0, 0
+ beq _0806BA1C
+ movs r0, 0x8
+ b _0806BA36
+_0806BA1C:
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _0806BA28
+ movs r0, 0x9
+ b _0806BA36
+_0806BA28:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _0806BA34
+ movs r0, 0
+ b _0806BA36
+_0806BA34:
+ movs r0, 0xA
+_0806BA36:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806B96C
+
+ thumb_func_start sub_806BA3C
+sub_806BA3C: @ 806BA3C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, _0806BA70 @ =gUnknown_3005070
+ str r4, [r0]
+ bl sub_8112CAC
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0806BA58
+ ldr r0, _0806BA74 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _0806BA5E
+_0806BA58:
+ ldr r1, _0806BA78 @ =gUnknown_20370AC
+ movs r0, 0
+ strb r0, [r1]
+_0806BA5E:
+ ldr r1, _0806BA7C @ =sub_806B898
+ adds r0, r4, 0
+ bl sub_80697F4
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BA70: .4byte gUnknown_3005070
+_0806BA74: .4byte gUnknown_203ADFA
+_0806BA78: .4byte gUnknown_20370AC
+_0806BA7C: .4byte sub_806B898
+ thumb_func_end sub_806BA3C
+
+ thumb_func_start sub_806BA80
+sub_806BA80: @ 806BA80
+ push {lr}
+ ldr r2, [r0, 0x8]
+ ldrb r3, [r2]
+ adds r2, 0x1
+ str r2, [r0, 0x8]
+ ldrb r1, [r2]
+ adds r2, 0x1
+ str r2, [r0, 0x8]
+ adds r0, r3, 0
+ bl sub_809CDEC
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0806BAA2
+ movs r0, 0
+ b _0806BAA8
+_0806BAA2:
+ bl sub_8069B28
+ movs r0, 0x1
+_0806BAA8:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806BA80
+
+ thumb_func_start sub_806BAAC
+sub_806BAAC: @ 806BAAC
+ push {r4,r5,lr}
+ ldr r2, [r0, 0x8]
+ ldrb r5, [r2]
+ adds r2, 0x1
+ str r2, [r0, 0x8]
+ ldrb r1, [r2]
+ adds r3, r2, 0x1
+ str r3, [r0, 0x8]
+ ldrb r2, [r2, 0x1]
+ adds r4, r3, 0x1
+ str r4, [r0, 0x8]
+ ldrb r3, [r3, 0x1]
+ adds r4, 0x1
+ str r4, [r0, 0x8]
+ adds r0, r5, 0
+ bl sub_809C9B4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0806BADA
+ movs r0, 0
+ b _0806BAE0
+_0806BADA:
+ bl sub_8069B28
+ movs r0, 0x1
+_0806BAE0:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806BAAC
+
+ thumb_func_start sub_806BAE8
+sub_806BAE8: @ 806BAE8
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0x4
+ ldr r2, [r0, 0x8]
+ ldrb r1, [r2]
+ mov r8, r1
+ adds r2, 0x1
+ str r2, [r0, 0x8]
+ ldrb r1, [r2]
+ adds r3, r2, 0x1
+ str r3, [r0, 0x8]
+ ldrb r2, [r2, 0x1]
+ adds r5, r3, 0x1
+ str r5, [r0, 0x8]
+ ldrb r6, [r3, 0x1]
+ adds r4, r5, 0x1
+ str r4, [r0, 0x8]
+ ldrb r3, [r5, 0x1]
+ adds r4, 0x1
+ str r4, [r0, 0x8]
+ str r6, [sp]
+ mov r0, r8
+ bl sub_809CA04
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0806BB26
+ movs r0, 0
+ b _0806BB2C
+_0806BB26:
+ bl sub_8069B28
+ movs r0, 0x1
+_0806BB2C:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806BAE8
+
+ thumb_func_start sub_806BB38
+sub_806BB38: @ 806BB38
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806BB38
+
+ thumb_func_start sub_806BB3C
+sub_806BB3C: @ 806BB3C
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0x4
+ ldr r2, [r0, 0x8]
+ ldrb r1, [r2]
+ mov r8, r1
+ adds r2, 0x1
+ str r2, [r0, 0x8]
+ ldrb r1, [r2]
+ adds r3, r2, 0x1
+ str r3, [r0, 0x8]
+ ldrb r2, [r2, 0x1]
+ adds r5, r3, 0x1
+ str r5, [r0, 0x8]
+ ldrb r6, [r3, 0x1]
+ adds r4, r5, 0x1
+ str r4, [r0, 0x8]
+ ldrb r3, [r5, 0x1]
+ adds r4, 0x1
+ str r4, [r0, 0x8]
+ str r6, [sp]
+ mov r0, r8
+ bl sub_809CEC8
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0806BB7A
+ movs r0, 0
+ b _0806BB80
+_0806BB7A:
+ bl sub_8069B28
+ movs r0, 0x1
+_0806BB80:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806BB3C
+
+ thumb_func_start sub_806BB8C
+sub_806BB8C: @ 806BB8C
+ ldr r1, [r0, 0x8]
+ adds r1, 0x4
+ str r1, [r0, 0x8]
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806BB8C
+
+ thumb_func_start sub_806BB98
+sub_806BB98: @ 806BB98
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806BB98
+
+ thumb_func_start sub_806BB9C
+sub_806BB9C: @ 806BB9C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldr r0, [r5, 0x8]
+ ldrb r1, [r0]
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ ldrb r2, [r0]
+ adds r0, 0x1
+ str r0, [r5, 0x8]
+ adds r0, r4, 0
+ bl sub_809D2F0
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_8071F24
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806BB9C
+
+ thumb_func_start sub_806BBD8
+sub_806BBD8: @ 806BBD8
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_809D3CC
+ adds r1, r0, 0
+ cmp r1, 0
+ beq _0806BBF0
+ adds r0, r4, 0
+ bl sub_80697F4
+ movs r0, 0x1
+ b _0806BBF2
+_0806BBF0:
+ movs r0, 0
+_0806BBF2:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806BBD8
+
+ thumb_func_start sub_806BBF8
+sub_806BBF8: @ 806BBF8
+ ldr r1, [r0, 0x8]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806BBF8
+
+ thumb_func_start sub_806BC04
+sub_806BC04: @ 806BC04
+ push {r4,r5,lr}
+ sub sp, 0xC
+ adds r5, r0, 0
+ bl sub_8069910
+ adds r4, r0, 0
+ cmp r4, 0
+ bne _0806BC16
+ ldr r4, [r5, 0x64]
+_0806BC16:
+ bl sub_80F6E9C
+ movs r0, 0
+ movs r1, 0x1
+ bl sub_80F6EE4
+ movs r0, 0x1
+ str r0, [sp]
+ movs r0, 0
+ str r0, [sp, 0x4]
+ str r0, [sp, 0x8]
+ movs r1, 0x6
+ adds r2, r4, 0
+ movs r3, 0
+ bl sub_8002C48
+ movs r0, 0
+ add sp, 0xC
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806BC04
+
+ thumb_func_start sub_806BC40
+sub_806BC40: @ 806BC40
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _0806BC50
+ ldr r1, [r4, 0x64]
+_0806BC50:
+ ldr r4, _0806BC68 @ =gUnknown_20370C0
+ movs r2, 0x1
+ negs r2, r2
+ movs r0, 0x6
+ bl sub_8005ED4
+ strh r0, [r4]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BC68: .4byte gUnknown_20370C0
+ thumb_func_end sub_806BC40
+
+ thumb_func_start sub_806BC6C
+sub_806BC6C: @ 806BC6C
+ push {lr}
+ bl sub_8069910
+ ldr r1, _0806BC84 @ =gUnknown_20370A8
+ ldr r1, [r1]
+ subs r0, r1
+ bl sub_806943C
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BC84: .4byte gUnknown_20370A8
+ thumb_func_end sub_806BC6C
+
+ thumb_func_start sub_806BC88
+sub_806BC88: @ 806BC88
+ push {r4,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r4, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _0806BCC0 @ =gUnknown_83A7294
+ lsls r4, 2
+ adds r4, r1
+ ldr r2, [r4]
+ movs r1, 0xB
+ muls r1, r0
+ ldr r0, _0806BCC4 @ =gUnknown_8245EE0
+ adds r1, r0
+ adds r0, r2, 0
+ bl sub_8008D84
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BCC0: .4byte gUnknown_83A7294
+_0806BCC4: .4byte gUnknown_8245EE0
+ thumb_func_end sub_806BC88
+
+ thumb_func_start sub_806BCC8
+sub_806BCC8: @ 806BCC8
+ push {r4,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r2, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ ldr r0, _0806BD08 @ =gUnknown_83A7294
+ lsls r2, 2
+ adds r2, r0
+ ldr r4, [r2]
+ bl sub_80CACFC
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _0806BD0C @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0xB
+ movs r2, 0
+ bl sub_803FBE8
+ movs r1, 0xB
+ muls r1, r0
+ ldr r0, _0806BD10 @ =gUnknown_8245EE0
+ adds r1, r0
+ adds r0, r4, 0
+ bl sub_8008D84
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BD08: .4byte gUnknown_83A7294
+_0806BD0C: .4byte gUnknown_2024284
+_0806BD10: .4byte gUnknown_8245EE0
+ thumb_func_end sub_806BCC8
+
+ thumb_func_start sub_806BD14
+sub_806BD14: @ 806BD14
+ push {r4,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r4, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _0806BD54 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _0806BD58 @ =gUnknown_83A7294
+ lsls r4, 2
+ adds r4, r1
+ ldr r4, [r4]
+ movs r1, 0x2
+ adds r2, r4, 0
+ bl sub_803FBE8
+ adds r0, r4, 0
+ bl sub_8008D28
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BD54: .4byte gUnknown_2024284
+_0806BD58: .4byte gUnknown_83A7294
+ thumb_func_end sub_806BD14
+
+ thumb_func_start sub_806BD5C
+sub_806BD5C: @ 806BD5C
+ push {r4,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r4, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _0806BD8C @ =gUnknown_83A7294
+ lsls r4, 2
+ adds r4, r1
+ ldr r1, [r4]
+ bl sub_8099E90
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BD8C: .4byte gUnknown_83A7294
+ thumb_func_end sub_806BD5C
+
+ thumb_func_start sub_806BD90
+sub_806BD90: @ 806BD90
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ ldr r0, [r4, 0x8]
+ ldrb r7, [r0]
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ adds r0, r4, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r5, r0, 16
+ adds r0, r4, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r6, r0, 16
+ ldr r1, _0806BDE4 @ =gUnknown_83A7294
+ lsls r0, r7, 2
+ adds r0, r1
+ ldr r4, [r0]
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_8099E90
+ cmp r5, 0x4
+ bne _0806BDEC
+ cmp r6, 0x1
+ bls _0806BDEC
+ ldr r1, _0806BDE8 @ =gUnknown_83A72A0
+ adds r0, r4, 0
+ bl sub_8008DA4
+ b _0806BE22
+ .align 2, 0
+_0806BDE4: .4byte gUnknown_83A7294
+_0806BDE8: .4byte gUnknown_83A72A0
+_0806BDEC:
+ adds r0, r5, 0
+ subs r0, 0x85
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x29
+ bhi _0806BE22
+ cmp r6, 0x1
+ bls _0806BE22
+ ldr r0, _0806BE2C @ =gUnknown_83A7294
+ lsls r1, r7, 2
+ adds r1, r0
+ ldr r4, [r1]
+ adds r0, r4, 0
+ bl sub_8008E08
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0
+ beq _0806BE22
+ adds r0, r4, r0
+ subs r0, 0x1
+ movs r1, 0xFF
+ strb r1, [r0]
+ ldr r1, _0806BE30 @ =gUnknown_83A72A2
+ adds r0, r4, 0
+ bl sub_8008DA4
+_0806BE22:
+ movs r0, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BE2C: .4byte gUnknown_83A7294
+_0806BE30: .4byte gUnknown_83A72A2
+ thumb_func_end sub_806BD90
+
+ thumb_func_start sub_806BE34
+sub_806BE34: @ 806BE34
+ push {lr}
+ ldr r1, [r0, 0x8]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806BE34
+
+ thumb_func_start sub_806BE50
+sub_806BE50: @ 806BE50
+ push {r4,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r4, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _0806BE88 @ =gUnknown_83A7294
+ lsls r4, 2
+ adds r4, r1
+ ldr r2, [r4]
+ movs r1, 0xD
+ muls r1, r0
+ ldr r0, _0806BE8C @ =gUnknown_8247094
+ adds r1, r0
+ adds r0, r2, 0
+ bl sub_8008D84
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BE88: .4byte gUnknown_83A7294
+_0806BE8C: .4byte gUnknown_8247094
+ thumb_func_end sub_806BE50
+
+ thumb_func_start sub_806BE90
+sub_806BE90: @ 806BE90
+ push {r4,r5,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r5, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r4, 0
+ bl sub_80CBF04
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ ldr r0, _0806BED0 @ =gUnknown_83A7294
+ lsls r5, 2
+ adds r5, r0
+ ldr r0, [r5]
+ adds r1, r4, 0
+ movs r2, 0
+ bl sub_8008E78
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BED0: .4byte gUnknown_83A7294
+ thumb_func_end sub_806BE90
+
+ thumb_func_start sub_806BED4
+sub_806BED4: @ 806BED4
+ push {r4,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r4, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ ldr r1, _0806BF0C @ =gUnknown_83A7294
+ lsls r4, 2
+ adds r4, r1
+ ldr r2, [r4]
+ ldr r1, _0806BF10 @ =gUnknown_83E06B8
+ lsrs r0, 14
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r2, 0
+ bl sub_8008D84
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BF0C: .4byte gUnknown_83A7294
+_0806BF10: .4byte gUnknown_83E06B8
+ thumb_func_end sub_806BED4
+
+ thumb_func_start sub_806BF14
+sub_806BF14: @ 806BF14
+ push {r4,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r4, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ bl sub_8069910
+ adds r1, r0, 0
+ ldr r0, _0806BF38 @ =gUnknown_83A7294
+ lsls r4, 2
+ adds r4, r0
+ ldr r0, [r4]
+ bl sub_8008D84
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BF38: .4byte gUnknown_83A7294
+ thumb_func_end sub_806BF14
+
+ thumb_func_start sub_806BF3C
+sub_806BF3C: @ 806BF3C
+ push {lr}
+ bl sub_8069910
+ adds r1, r0, 0
+ ldr r0, _0806BF58 @ =gUnknown_20370A8
+ ldr r0, [r0]
+ subs r1, r0
+ ldr r0, _0806BF5C @ =gUnknown_2021D18
+ bl sub_8008FCC
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BF58: .4byte gUnknown_20370A8
+_0806BF5C: .4byte gUnknown_2021D18
+ thumb_func_end sub_806BF3C
+
+ thumb_func_start sub_806BF60
+sub_806BF60: @ 806BF60
+ push {r4,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r4, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ bl sub_8069910
+ adds r1, r0, 0
+ ldr r0, _0806BF8C @ =gUnknown_20370A8
+ ldr r0, [r0]
+ subs r1, r0
+ ldr r0, _0806BF90 @ =gUnknown_83A7294
+ lsls r4, 2
+ adds r4, r0
+ ldr r0, [r4]
+ bl sub_8008D84
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BF8C: .4byte gUnknown_20370A8
+_0806BF90: .4byte gUnknown_83A7294
+ thumb_func_end sub_806BF60
+
+ thumb_func_start sub_806BF94
+sub_806BF94: @ 806BF94
+ push {r4,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r4, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ ldr r1, _0806BFCC @ =gUnknown_83A7294
+ lsls r4, 2
+ adds r4, r1
+ ldr r4, [r4]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_808BD6C
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_8008D84
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806BFCC: .4byte gUnknown_83A7294
+ thumb_func_end sub_806BF94
+
+ thumb_func_start sub_806BFD0
+sub_806BFD0: @ 806BFD0
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ sub sp, 0x8
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r6, r0, 0
+ lsls r6, 16
+ lsrs r6, 16
+ ldr r0, [r4, 0x8]
+ ldrb r1, [r0]
+ mov r9, r1
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ adds r0, r4, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r5, r0, 0
+ lsls r5, 16
+ lsrs r5, 16
+ adds r0, r4, 0
+ bl sub_8069910
+ mov r8, r0
+ adds r0, r4, 0
+ bl sub_8069910
+ ldr r1, [r4, 0x8]
+ ldrb r2, [r1]
+ adds r1, 0x1
+ str r1, [r4, 0x8]
+ ldr r4, _0806C04C @ =gUnknown_20370D0
+ str r0, [sp]
+ str r2, [sp, 0x4]
+ adds r0, r6, 0
+ mov r1, r9
+ adds r2, r5, 0
+ mov r3, r8
+ bl sub_80A011C
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4]
+ movs r0, 0
+ add sp, 0x8
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C04C: .4byte gUnknown_20370D0
+ thumb_func_end sub_806BFD0
+
+ thumb_func_start sub_806C050
+sub_806C050: @ 806C050
+ push {r4,lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _0806C078 @ =gUnknown_20370D0
+ bl sub_80A01AC
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C078: .4byte gUnknown_20370D0
+ thumb_func_end sub_806C050
+
+ thumb_func_start sub_806C07C
+sub_806C07C: @ 806C07C
+ push {r4,r5,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r5, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ ldrb r4, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ bl sub_80698F8
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r5, 0
+ adds r2, r4, 0
+ bl sub_80A02FC
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C07C
+
+ thumb_func_start sub_806C0A8
+sub_806C0A8: @ 806C0A8
+ push {r4-r7,lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r7, r0, 16
+ ldr r1, _0806C0BC @ =gUnknown_20370D0
+ movs r0, 0x6
+ strh r0, [r1]
+ movs r6, 0
+ b _0806C0F6
+ .align 2, 0
+_0806C0BC: .4byte gUnknown_20370D0
+_0806C0C0:
+ adds r0, r4, 0
+ movs r1, 0x2D
+ bl sub_803FBE8
+ cmp r0, 0
+ bne _0806C0F0
+ adds r0, r4, 0
+ adds r1, r7, 0
+ bl sub_8125AC0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0806C0F0
+ ldr r0, _0806C0E8 @ =gUnknown_20370D0
+ strh r6, [r0]
+ ldr r0, _0806C0EC @ =gUnknown_20370C0
+ strh r5, [r0]
+ b _0806C116
+ .align 2, 0
+_0806C0E8: .4byte gUnknown_20370D0
+_0806C0EC: .4byte gUnknown_20370C0
+_0806C0F0:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+_0806C0F6:
+ cmp r6, 0x5
+ bhi _0806C116
+ movs r0, 0x64
+ adds r1, r6, 0
+ muls r1, r0
+ ldr r0, _0806C120 @ =gUnknown_2024284
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0xB
+ movs r2, 0
+ bl sub_803FBE8
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0
+ bne _0806C0C0
+_0806C116:
+ movs r0, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C120: .4byte gUnknown_2024284
+ thumb_func_end sub_806C0A8
+
+ thumb_func_start sub_806C124
+sub_806C124: @ 806C124
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ adds r2, r0, 0
+ ldr r0, [r4, 0x8]
+ ldrb r1, [r0]
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ cmp r1, 0
+ bne _0806C14A
+ ldr r0, _0806C154 @ =gUnknown_3005008
+ ldr r0, [r0]
+ movs r1, 0xA4
+ lsls r1, 2
+ adds r0, r1
+ adds r1, r2, 0
+ bl sub_809FDA0
+_0806C14A:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C154: .4byte gUnknown_3005008
+ thumb_func_end sub_806C124
+
+ thumb_func_start sub_806C158
+sub_806C158: @ 806C158
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ adds r2, r0, 0
+ ldr r0, [r4, 0x8]
+ ldrb r1, [r0]
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ cmp r1, 0
+ bne _0806C17E
+ ldr r0, _0806C188 @ =gUnknown_3005008
+ ldr r0, [r0]
+ movs r1, 0xA4
+ lsls r1, 2
+ adds r0, r1
+ adds r1, r2, 0
+ bl sub_809FDD8
+_0806C17E:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C188: .4byte gUnknown_3005008
+ thumb_func_end sub_806C158
+
+ thumb_func_start sub_806C18C
+sub_806C18C: @ 806C18C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8069910
+ adds r2, r0, 0
+ ldr r0, [r4, 0x8]
+ ldrb r1, [r0]
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ cmp r1, 0
+ bne _0806C1BA
+ ldr r4, _0806C1C4 @ =gUnknown_20370D0
+ ldr r0, _0806C1C8 @ =gUnknown_3005008
+ ldr r0, [r0]
+ movs r1, 0xA4
+ lsls r1, 2
+ adds r0, r1
+ adds r1, r2, 0
+ bl sub_809FD88
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4]
+_0806C1BA:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C1C4: .4byte gUnknown_20370D0
+_0806C1C8: .4byte gUnknown_3005008
+ thumb_func_end sub_806C18C
+
+ thumb_func_start sub_806C1CC
+sub_806C1CC: @ 806C1CC
+ push {r4,r5,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r5, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ ldrb r4, [r1]
+ adds r2, r1, 0x1
+ str r2, [r0, 0x8]
+ ldrb r1, [r1, 0x1]
+ adds r2, 0x1
+ str r2, [r0, 0x8]
+ cmp r1, 0
+ bne _0806C20A
+ ldr r0, _0806C214 @ =sub_809D6D4
+ bl sub_81119D4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0806C20A
+ ldr r0, _0806C218 @ =gUnknown_3005008
+ ldr r0, [r0]
+ movs r1, 0xA4
+ lsls r1, 2
+ adds r0, r1
+ bl sub_809FD58
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl sub_809FFB8
+_0806C20A:
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C214: .4byte sub_809D6D4
+_0806C218: .4byte gUnknown_3005008
+ thumb_func_end sub_806C1CC
+
+ thumb_func_start sub_806C21C
+sub_806C21C: @ 806C21C
+ push {lr}
+ bl sub_80A0034
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C21C
+
+ thumb_func_start sub_806C228
+sub_806C228: @ 806C228
+ push {lr}
+ ldr r1, [r0, 0x8]
+ adds r1, 0x1
+ adds r2, r1, 0x1
+ str r2, [r0, 0x8]
+ ldrb r1, [r1, 0x1]
+ adds r2, 0x1
+ str r2, [r0, 0x8]
+ cmp r1, 0
+ bne _0806C24E
+ ldr r0, _0806C254 @ =gUnknown_3005008
+ ldr r0, [r0]
+ movs r1, 0xA4
+ lsls r1, 2
+ adds r0, r1
+ bl sub_809FD58
+ bl sub_809FFA0
+_0806C24E:
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C254: .4byte gUnknown_3005008
+ thumb_func_end sub_806C228
+
+ thumb_func_start sub_806C258
+sub_806C258: @ 806C258
+ push {r4,r5,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r5, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ ldrb r4, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ ldr r0, _0806C290 @ =sub_809D6D4
+ bl sub_81119D4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0806C286
+ bl sub_80D0554
+ lsls r0, 16
+ lsrs r0, 16
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl sub_80D072C
+_0806C286:
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C290: .4byte sub_809D6D4
+ thumb_func_end sub_806C258
+
+ thumb_func_start sub_806C294
+sub_806C294: @ 806C294
+ push {lr}
+ ldr r1, [r0, 0x8]
+ adds r1, 0x2
+ str r1, [r0, 0x8]
+ bl sub_80D07C8
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C294
+
+ thumb_func_start sub_806C2A8
+sub_806C2A8: @ 806C2A8
+ push {lr}
+ ldr r1, [r0, 0x8]
+ adds r1, 0x2
+ str r1, [r0, 0x8]
+ bl sub_80D0554
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_80D06D0
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C2A8
+
+ thumb_func_start sub_806C2C4
+sub_806C2C4: @ 806C2C4
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, [r4, 0x8]
+ bl sub_8080228
+ str r0, [r4, 0x8]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C2C4
+
+ thumb_func_start sub_806C2D8
+sub_806C2D8: @ 806C2D8
+ push {lr}
+ bl sub_8080464
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C2D8
+
+ thumb_func_start sub_806C2E4
+sub_806C2E4: @ 806C2E4
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80805E8
+ str r0, [r4, 0x8]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C2E4
+
+ thumb_func_start sub_806C2F8
+sub_806C2F8: @ 806C2F8
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8080600
+ str r0, [r4, 0x8]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C2F8
+
+ thumb_func_start sub_806C30C
+sub_806C30C: @ 806C30C
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_8080424
+ strb r0, [r4, 0x2]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C30C
+
+ thumb_func_start sub_806C330
+sub_806C330: @ 806C330
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_808043C
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C330
+
+ thumb_func_start sub_806C34C
+sub_806C34C: @ 806C34C
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_8080450
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C34C
+
+ thumb_func_start sub_806C368
+sub_806C368: @ 806C368
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ adds r5, r0, 0
+ lsls r5, 16
+ lsrs r5, 16
+ ldr r0, [r4, 0x8]
+ ldrb r6, [r0]
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ adds r0, r4, 0
+ bl sub_80698F8
+ adds r2, r0, 0
+ lsls r2, 16
+ lsrs r2, 16
+ adds r0, r5, 0
+ adds r1, r6, 0
+ bl sub_80A029C
+ movs r0, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C368
+
+ thumb_func_start sub_806C39C
+sub_806C39C: @ 806C39C
+ push {lr}
+ bl sub_807F8C4
+ bl sub_8069B28
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C39C
+
+ thumb_func_start sub_806C3AC
+sub_806C3AC: @ 806C3AC
+ push {lr}
+ bl sub_8069910
+ bl sub_809C164
+ bl sub_8069B28
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C3AC
+
+ thumb_func_start sub_806C3C0
+sub_806C3C0: @ 806C3C0
+ push {lr}
+ bl sub_8069910
+ bl sub_809C1A0
+ bl sub_8069B28
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C3C0
+
+ thumb_func_start sub_806C3D4
+sub_806C3D4: @ 806C3D4
+ push {lr}
+ bl sub_8069910
+ bl sub_809C1BC
+ bl sub_8069B28
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C3D4
+
+ thumb_func_start sub_806C3E8
+sub_806C3E8: @ 806C3E8
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _0806C40C @ =sub_80568E0
+ bl sub_813F804
+ bl sub_8069B28
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C40C: .4byte sub_80568E0
+ thumb_func_end sub_806C3E8
+
+ thumb_func_start sub_806C410
+sub_806C410: @ 806C410
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806C410
+
+ thumb_func_start sub_806C414
+sub_806C414: @ 806C414
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806C414
+
+ thumb_func_start sub_806C418
+sub_806C418: @ 806C418
+ push {lr}
+ bl sub_8069B28
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C418
+
+ thumb_func_start sub_806C424
+sub_806C424: @ 806C424
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806C424
+
+ thumb_func_start sub_806C428
+sub_806C428: @ 806C428
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806C428
+
+ thumb_func_start sub_806C42C
+sub_806C42C: @ 806C42C
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806C42C
+
+ thumb_func_start sub_806C430
+sub_806C430: @ 806C430
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, _0806C454 @ =gUnknown_20370B6
+ strh r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8083444
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C454: .4byte gUnknown_20370B6
+ thumb_func_end sub_806C430
+
+ thumb_func_start sub_806C458
+sub_806C458: @ 806C458
+ push {r4,lr}
+ ldr r1, [r0, 0x8]
+ ldrb r4, [r1]
+ adds r1, 0x1
+ str r1, [r0, 0x8]
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ ldr r1, _0806C484 @ =gUnknown_20386E0
+ lsls r4, 2
+ adds r4, r1
+ lsls r0, 16
+ asrs r0, 16
+ str r0, [r4]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C484: .4byte gUnknown_20386E0
+ thumb_func_end sub_806C458
+
+ thumb_func_start sub_806C488
+sub_806C488: @ 806C488
+ push {lr}
+ ldr r0, _0806C49C @ =gUnknown_20370B6
+ ldrb r0, [r0]
+ bl sub_808382C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0806C4A0
+ movs r0, 0
+ b _0806C4A2
+ .align 2, 0
+_0806C49C: .4byte gUnknown_20370B6
+_0806C4A0:
+ movs r0, 0x1
+_0806C4A2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C488
+
+ thumb_func_start sub_806C4A8
+sub_806C4A8: @ 806C4A8
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ ldr r1, _0806C4CC @ =gUnknown_20370B6
+ strh r0, [r1]
+ ldr r1, _0806C4D0 @ =sub_806C488
+ adds r0, r4, 0
+ bl sub_80697F4
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C4CC: .4byte gUnknown_20370B6
+_0806C4D0: .4byte sub_806C488
+ thumb_func_end sub_806C4A8
+
+ thumb_func_start sub_806C4D4
+sub_806C4D4: @ 806C4D4
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80554CC
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C4D4
+
+ thumb_func_start sub_806C4F0
+sub_806C4F0: @ 806C4F0
+ ldr r1, _0806C500 @ =gUnknown_20370D0
+ ldr r0, _0806C504 @ =gUnknown_300500C
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x8]
+ strh r0, [r1]
+ movs r0, 0
+ bx lr
+ .align 2, 0
+_0806C500: .4byte gUnknown_20370D0
+_0806C504: .4byte gUnknown_300500C
+ thumb_func_end sub_806C4F0
+
+ thumb_func_start sub_806C508
+sub_806C508: @ 806C508
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r4, 0
+ bl sub_8071F24
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C508
+
+ thumb_func_start sub_806C540
+sub_806C540: @ 806C540
+ push {lr}
+ ldr r1, _0806C550 @ =sub_80721A0
+ bl sub_80697F4
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C550: .4byte sub_80721A0
+ thumb_func_end sub_806C540
+
+ thumb_func_start sub_806C554
+sub_806C554: @ 806C554
+ push {r4-r7,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r6, r0, 16
+ adds r0, r4, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r5, r0, 16
+ adds r0, r4, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r7, r0, 16
+ adds r0, r4, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ adds r1, r6, 0x7
+ lsls r1, 16
+ lsrs r6, r1, 16
+ adds r1, r5, 0x7
+ lsls r1, 16
+ lsrs r5, r1, 16
+ cmp r0, 0
+ bne _0806C5B8
+ adds r0, r6, 0
+ adds r1, r5, 0
+ adds r2, r7, 0
+ bl sub_8058FA4
+ b _0806C5CA
+_0806C5B8:
+ movs r1, 0xC0
+ lsls r1, 4
+ adds r0, r1, 0
+ adds r2, r7, 0
+ orrs r2, r0
+ adds r0, r6, 0
+ adds r1, r5, 0
+ bl sub_8058FA4
+_0806C5CA:
+ movs r0, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C554
+
+ thumb_func_start sub_806C5D4
+sub_806C5D4: @ 806C5D4
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r5, r0, 0
+ lsls r5, 16
+ lsrs r5, 16
+ adds r0, r4, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ adds r5, 0x7
+ lsls r5, 16
+ lsrs r5, 16
+ movs r0, 0xE0
+ lsls r0, 11
+ adds r4, r0
+ lsrs r4, 16
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_805B364
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_80722CC
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_805B310
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C5D4
+
+ thumb_func_start sub_806C62C
+sub_806C62C: @ 806C62C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r1, r0, 0
+ lsls r1, 16
+ adds r4, 0x7
+ lsls r4, 16
+ lsrs r4, 16
+ movs r0, 0xE0
+ lsls r0, 11
+ adds r1, r0
+ lsrs r1, 16
+ adds r0, r4, 0
+ bl sub_805B2D0
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C62C
+
+ thumb_func_start sub_806C670
+sub_806C670: @ 806C670
+ push {lr}
+ bl sub_805B350
+ lsls r0, 24
+ cmp r0, 0
+ beq _0806C680
+ movs r0, 0
+ b _0806C682
+_0806C680:
+ movs r0, 0x1
+_0806C682:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C670
+
+ thumb_func_start sub_806C688
+sub_806C688: @ 806C688
+ push {lr}
+ ldr r1, _0806C698 @ =sub_806C670
+ bl sub_80697F4
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C698: .4byte sub_806C670
+ thumb_func_end sub_806C688
+
+ thumb_func_start sub_806C69C
+sub_806C69C: @ 806C69C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r1, r0, 0
+ lsls r1, 16
+ adds r4, 0x7
+ lsls r4, 16
+ lsrs r4, 16
+ movs r0, 0xE0
+ lsls r0, 11
+ adds r1, r0
+ lsrs r1, 16
+ adds r0, r4, 0
+ bl sub_805B268
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C69C
+
+ thumb_func_start sub_806C6E0
+sub_806C6E0: @ 806C6E0
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ adds r0, r5, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ adds r1, r0, 0
+ lsls r1, 16
+ adds r4, 0x7
+ lsls r4, 16
+ lsrs r4, 16
+ movs r0, 0xE0
+ lsls r0, 11
+ adds r1, r0
+ lsrs r1, 16
+ adds r0, r4, 0
+ bl sub_805B29C
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C6E0
+
+ thumb_func_start sub_806C724
+sub_806C724: @ 806C724
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806C724
+
+ thumb_func_start sub_806C728
+sub_806C728: @ 806C728
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_806C728
+
+ thumb_func_start sub_806C72C
+sub_806C72C: @ 806C72C
+ push {r4,lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E454
+ adds r4, r0, 0
+ bl sub_80D0554
+ strh r0, [r4]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C72C
+
+ thumb_func_start sub_806C74C
+sub_806C74C: @ 806C74C
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_80D05A4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0806C774
+ ldr r1, _0806C770 @ =gUnknown_20370D0
+ movs r0, 0
+ b _0806C778
+ .align 2, 0
+_0806C770: .4byte gUnknown_20370D0
+_0806C774:
+ ldr r1, _0806C780 @ =gUnknown_20370D0
+ movs r0, 0x1
+_0806C778:
+ strh r0, [r1]
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C780: .4byte gUnknown_20370D0
+ thumb_func_end sub_806C74C
+
+ thumb_func_start sub_806C784
+sub_806C784: @ 806C784
+ push {lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_80D05E4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0806C7AC
+ ldr r1, _0806C7A8 @ =gUnknown_20370D0
+ movs r0, 0
+ b _0806C7B0
+ .align 2, 0
+_0806C7A8: .4byte gUnknown_20370D0
+_0806C7AC:
+ ldr r1, _0806C7B8 @ =gUnknown_20370D0
+ movs r0, 0x1
+_0806C7B0:
+ strh r0, [r1]
+ movs r0, 0
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C7B8: .4byte gUnknown_20370D0
+ thumb_func_end sub_806C784
+
+ thumb_func_start sub_806C7BC
+sub_806C7BC: @ 806C7BC
+ push {lr}
+ bl sub_8069A20
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C7BC
+
+ thumb_func_start sub_806C7C8
+sub_806C7C8: @ 806C7C8
+ push {lr}
+ bl sub_8069A2C
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_806C7C8
+
+ thumb_func_start sub_806C7D4
+sub_806C7D4: @ 806C7D4
+ push {lr}
+ sub sp, 0x4
+ movs r2, 0x1
+ mov r1, sp
+ strb r2, [r1]
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _0806C808 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x50
+ mov r2, sp
+ bl sub_804037C
+ movs r0, 0
+ add sp, 0x4
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C808: .4byte gUnknown_2024284
+ thumb_func_end sub_806C7D4
+
+ thumb_func_start sub_806C80C
+sub_806C80C: @ 806C80C
+ push {r4,lr}
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r4, _0806C83C @ =gUnknown_20370D0
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _0806C840 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x50
+ movs r2, 0
+ bl sub_803FBE8
+ strh r0, [r4]
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C83C: .4byte gUnknown_20370D0
+_0806C840: .4byte gUnknown_2024284
+ thumb_func_end sub_806C80C
+
+ thumb_func_start sub_806C844
+sub_806C844: @ 806C844
+ push {r4,lr}
+ sub sp, 0x4
+ adds r4, r0, 0
+ bl sub_80698F8
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r3, r0, 16
+ ldr r0, [r4, 0x8]
+ ldrb r2, [r0]
+ mov r1, sp
+ strb r2, [r1]
+ adds r0, 0x1
+ str r0, [r4, 0x8]
+ cmp r3, 0x5
+ bhi _0806C87A
+ movs r0, 0x64
+ muls r0, r3
+ ldr r1, _0806C884 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x23
+ mov r2, sp
+ bl sub_804037C
+_0806C87A:
+ movs r0, 0
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0806C884: .4byte gUnknown_2024284
+ thumb_func_end sub_806C844
+
+ .align 2, 0 @ Don't pad with nop.