summaryrefslogtreecommitdiff
path: root/asm/quest_log.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/quest_log.s
first commit
Diffstat (limited to 'asm/quest_log.s')
-rw-r--r--asm/quest_log.s10369
1 files changed, 10369 insertions, 0 deletions
diff --git a/asm/quest_log.s b/asm/quest_log.s
new file mode 100644
index 000000000..9c453d6e4
--- /dev/null
+++ b/asm/quest_log.s
@@ -0,0 +1,10369 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8110840
+sub_8110840: @ 8110840
+ push {lr}
+ ldr r1, _08110888 @ =gUnknown_3005008
+ ldr r1, [r1]
+ subs r1, r0
+ ldr r2, _0811088C @ =gUnknown_203AE04
+ ldr r0, [r2]
+ cmp r0, 0
+ beq _08110854
+ adds r0, r1
+ str r0, [r2]
+_08110854:
+ ldr r0, _08110890 @ =gUnknown_203ADFA
+ ldrb r2, [r0]
+ cmp r2, 0
+ beq _08110882
+ ldr r3, _08110894 @ =gUnknown_203AE08
+ ldr r0, [r3]
+ cmp r0, 0
+ beq _08110868
+ adds r0, r1
+ str r0, [r3]
+_08110868:
+ cmp r2, 0x2
+ bne _08110882
+ ldr r2, _08110898 @ =gUnknown_203AE0C
+ movs r3, 0x1F
+_08110870:
+ ldr r0, [r2]
+ cmp r0, 0
+ beq _0811087A
+ adds r0, r1
+ str r0, [r2]
+_0811087A:
+ adds r2, 0x4
+ subs r3, 0x1
+ cmp r3, 0
+ bge _08110870
+_08110882:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08110888: .4byte gUnknown_3005008
+_0811088C: .4byte gUnknown_203AE04
+_08110890: .4byte gUnknown_203ADFA
+_08110894: .4byte gUnknown_203AE08
+_08110898: .4byte gUnknown_203AE0C
+ thumb_func_end sub_8110840
+
+ thumb_func_start sub_811089C
+sub_811089C: @ 811089C
+ push {lr}
+ ldr r0, _081108D8 @ =gUnknown_3005008
+ ldr r0, [r0]
+ movs r1, 0x98
+ lsls r1, 5
+ adds r0, r1
+ movs r2, 0xCD
+ lsls r2, 5
+ movs r1, 0
+ bl memset
+ ldr r0, _081108DC @ =gUnknown_203ADF8
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, _081108E0 @ =gUnknown_203ADFA
+ strb r1, [r0]
+ ldr r0, _081108E4 @ =gUnknown_203AE8C
+ movs r1, 0
+ str r1, [r0]
+ ldr r0, _081108E8 @ =gUnknown_203AE08
+ str r1, [r0]
+ ldr r0, _081108EC @ =gUnknown_203AE04
+ str r1, [r0]
+ bl sub_8113BD8
+ bl sub_81138F8
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081108D8: .4byte gUnknown_3005008
+_081108DC: .4byte gUnknown_203ADF8
+_081108E0: .4byte gUnknown_203ADFA
+_081108E4: .4byte gUnknown_203AE8C
+_081108E8: .4byte gUnknown_203AE08
+_081108EC: .4byte gUnknown_203AE04
+ thumb_func_end sub_811089C
+
+ thumb_func_start sub_81108F0
+sub_81108F0: @ 81108F0
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _08110918 @ =gUnknown_3005008
+ ldr r1, [r1]
+ movs r2, 0xCD
+ lsls r2, 3
+ muls r0, r2
+ adds r0, r1
+ movs r1, 0x98
+ lsls r1, 5
+ adds r0, r1
+ movs r1, 0
+ bl memset
+ ldr r1, _0811091C @ =gUnknown_203AE04
+ movs r0, 0
+ str r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08110918: .4byte gUnknown_3005008
+_0811091C: .4byte gUnknown_203AE04
+ thumb_func_end sub_81108F0
+
+ thumb_func_start sub_8110920
+sub_8110920: @ 8110920
+ ldr r1, _08110928 @ =gUnknown_203AE04
+ movs r0, 0
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_08110928: .4byte gUnknown_203AE04
+ thumb_func_end sub_8110920
+
+ thumb_func_start sub_811092C
+sub_811092C: @ 811092C
+ push {lr}
+ ldr r0, _08110940 @ =gUnknown_203AE8C
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0811093A
+ bl _call_via_r0
+_0811093A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08110940: .4byte gUnknown_203AE8C
+ thumb_func_end sub_811092C
+
+ thumb_func_start sub_8110944
+sub_8110944: @ 8110944
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r4, _08110978 @ =gUnknown_3005008
+ ldr r0, _0811097C @ =gUnknown_203ADF8
+ ldrb r0, [r0]
+ movs r3, 0xCD
+ lsls r3, 3
+ adds r2, r0, 0
+ muls r2, r3
+ movs r0, 0x98
+ lsls r0, 5
+ adds r2, r0
+ ldr r0, [r4]
+ adds r0, r2
+ movs r4, 0xAD
+ lsls r4, 3
+ adds r2, r0, r4
+ adds r0, r3
+ subs r0, r1
+ cmp r5, r2
+ bcc _08110972
+ cmp r5, r0
+ bls _08110980
+_08110972:
+ movs r0, 0
+ b _08110982
+ .align 2, 0
+_08110978: .4byte gUnknown_3005008
+_0811097C: .4byte gUnknown_203ADF8
+_08110980:
+ movs r0, 0x1
+_08110982:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8110944
+
+ thumb_func_start sub_8110988
+sub_8110988: @ 8110988
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r4, _081109BC @ =gUnknown_3005008
+ ldr r0, _081109C0 @ =gUnknown_203ADF8
+ ldrb r0, [r0]
+ movs r3, 0xCD
+ lsls r3, 3
+ adds r2, r0, 0
+ muls r2, r3
+ movs r0, 0x98
+ lsls r0, 5
+ adds r2, r0
+ ldr r0, [r4]
+ adds r0, r2
+ movs r4, 0xAD
+ lsls r4, 3
+ adds r2, r0, r4
+ adds r0, r3
+ subs r0, r1
+ cmp r5, r2
+ bcc _081109B6
+ cmp r5, r0
+ bls _081109C4
+_081109B6:
+ movs r0, 0
+ b _081109C6
+ .align 2, 0
+_081109BC: .4byte gUnknown_3005008
+_081109C0: .4byte gUnknown_203ADF8
+_081109C4:
+ movs r0, 0x1
+_081109C6:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8110988
+
+ thumb_func_start sub_81109CC
+sub_81109CC: @ 81109CC
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _081109E0 @ =gUnknown_203ADFA
+ strb r0, [r1]
+ cmp r0, 0x1
+ bne _081109EC
+ ldr r1, _081109E4 @ =gUnknown_203AE8C
+ ldr r0, _081109E8 @ =sub_8110A00
+ b _081109F0
+ .align 2, 0
+_081109E0: .4byte gUnknown_203ADFA
+_081109E4: .4byte gUnknown_203AE8C
+_081109E8: .4byte sub_8110A00
+_081109EC:
+ ldr r1, _081109F8 @ =gUnknown_203AE8C
+ ldr r0, _081109FC @ =sub_8110A3C
+_081109F0:
+ str r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081109F8: .4byte gUnknown_203AE8C
+_081109FC: .4byte sub_8110A3C
+ thumb_func_end sub_81109CC
+
+ thumb_func_start sub_8110A00
+sub_8110A00: @ 8110A00
+ push {r4,lr}
+ ldr r0, _08110A2C @ =gUnknown_203AE98
+ bl sub_8110E68
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08110A24
+ ldr r0, _08110A30 @ =gUnknown_3005E88
+ movs r4, 0
+ strb r4, [r0]
+ bl sub_8110E3C
+ ldr r0, _08110A34 @ =gUnknown_203ADFA
+ strb r4, [r0]
+ ldr r1, _08110A38 @ =gUnknown_203AE8C
+ movs r0, 0
+ str r0, [r1]
+_08110A24:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08110A2C: .4byte gUnknown_203AE98
+_08110A30: .4byte gUnknown_3005E88
+_08110A34: .4byte gUnknown_203ADFA
+_08110A38: .4byte gUnknown_203AE8C
+ thumb_func_end sub_8110A00
+
+ thumb_func_start sub_8110A3C
+sub_8110A3C: @ 8110A3C
+ push {r4,lr}
+ ldr r1, _08110A8C @ =gUnknown_203AE94
+ ldrb r2, [r1]
+ movs r4, 0xF
+ adds r0, r4, 0
+ ands r0, r2
+ adds r3, r1, 0
+ cmp r0, 0x2
+ bne _08110A56
+ movs r0, 0x10
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r3]
+_08110A56:
+ ldrb r1, [r3]
+ movs r0, 0xC0
+ ands r0, r1
+ cmp r0, 0
+ bne _08110AAE
+ ldr r0, _08110A90 @ =gUnknown_3005E88
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08110A84
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0x1
+ beq _08110A84
+ ldrb r0, [r3, 0x1]
+ cmp r0, 0x1F
+ bhi _08110A98
+ ldr r0, _08110A94 @ =gUnknown_203AE0C
+ ldrb r1, [r3, 0x1]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, [r1]
+ cmp r0, 0
+ beq _08110A98
+_08110A84:
+ bl sub_8111AD8
+ b _08110AAE
+ .align 2, 0
+_08110A8C: .4byte gUnknown_203AE94
+_08110A90: .4byte gUnknown_3005E88
+_08110A94: .4byte gUnknown_203AE0C
+_08110A98:
+ ldrb r0, [r3]
+ movs r1, 0x3F
+ ands r1, r0
+ movs r0, 0x80
+ orrs r1, r0
+ strb r1, [r3]
+ bl sub_8069940
+ movs r0, 0
+ bl sub_81118F4
+_08110AAE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8110A3C
+
+ thumb_func_start sub_8110AB4
+sub_8110AB4: @ 8110AB4
+ ldr r0, _08110AC0 @ =gUnknown_20370D0
+ ldr r1, _08110AC4 @ =gUnknown_203ADFA
+ ldrb r1, [r1]
+ strh r1, [r0]
+ bx lr
+ .align 2, 0
+_08110AC0: .4byte gUnknown_20370D0
+_08110AC4: .4byte gUnknown_203ADFA
+ thumb_func_end sub_8110AB4
+
+ thumb_func_start sub_8110AC8
+sub_8110AC8: @ 8110AC8
+ ldr r0, _08110AE4 @ =gUnknown_3005008
+ ldr r1, [r0]
+ ldr r0, _08110AE8 @ =gUnknown_203ADF8
+ ldrb r2, [r0]
+ movs r0, 0xCD
+ lsls r0, 3
+ muls r0, r2
+ adds r1, r0
+ movs r0, 0x98
+ lsls r0, 5
+ adds r1, r0
+ ldrb r0, [r1]
+ bx lr
+ .align 2, 0
+_08110AE4: .4byte gUnknown_3005008
+_08110AE8: .4byte gUnknown_203ADF8
+ thumb_func_end sub_8110AC8
+
+ thumb_func_start sub_8110AEC
+sub_8110AEC: @ 8110AEC
+ push {r4-r7,lr}
+ lsls r0, 16
+ lsrs r6, r0, 16
+ ldr r4, _08110B44 @ =gUnknown_203ADF8
+ ldrb r0, [r4]
+ cmp r0, 0x3
+ bls _08110AFE
+ movs r0, 0
+ strb r0, [r4]
+_08110AFE:
+ ldrb r0, [r4]
+ bl sub_81108F0
+ bl sub_8113B88
+ ldr r2, _08110B48 @ =gUnknown_203AE08
+ ldr r1, _08110B4C @ =gUnknown_3005008
+ ldrb r0, [r4]
+ movs r3, 0xCD
+ lsls r3, 3
+ muls r0, r3
+ movs r5, 0x98
+ lsls r5, 5
+ adds r0, r5
+ ldr r1, [r1]
+ adds r0, r1, r0
+ movs r7, 0xAD
+ lsls r7, 3
+ adds r0, r7
+ str r0, [r2]
+ adds r0, r6, 0
+ subs r0, 0xC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x7
+ bls _08110B36
+ cmp r6, 0x23
+ bne _08110B50
+_08110B36:
+ ldrb r0, [r4]
+ muls r0, r3
+ adds r0, r1, r0
+ adds r0, r5
+ movs r1, 0x2
+ b _08110B5A
+ .align 2, 0
+_08110B44: .4byte gUnknown_203ADF8
+_08110B48: .4byte gUnknown_203AE08
+_08110B4C: .4byte gUnknown_3005008
+_08110B50:
+ ldrb r0, [r4]
+ muls r0, r3
+ adds r0, r1, r0
+ adds r0, r5
+ movs r1, 0x1
+_08110B5A:
+ strb r1, [r0]
+ bl sub_81115E8
+ ldr r4, _08110BA4 @ =gUnknown_203ADF8
+ ldrb r0, [r4]
+ bl sub_8110BB0
+ ldrb r0, [r4]
+ bl sub_8110BE8
+ bl sub_8110D94
+ bl sub_8110E20
+ ldrb r0, [r4]
+ bl sub_8110D48
+ ldr r1, _08110BA8 @ =gUnknown_203ADFC
+ movs r0, 0
+ strh r0, [r1]
+ ldr r4, _08110BAC @ =gUnknown_203AE98
+ movs r2, 0x80
+ lsls r2, 1
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl sub_8112940
+ adds r0, r4, 0
+ bl sub_8110E68
+ movs r0, 0x1
+ bl sub_81109CC
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08110BA4: .4byte gUnknown_203ADF8
+_08110BA8: .4byte gUnknown_203ADFC
+_08110BAC: .4byte gUnknown_203AE98
+ thumb_func_end sub_8110AEC
+
+ thumb_func_start sub_8110BB0
+sub_8110BB0: @ 8110BB0
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08110BE4 @ =gUnknown_3005008
+ movs r1, 0xCD
+ lsls r1, 3
+ muls r1, r0
+ movs r0, 0x98
+ lsls r0, 5
+ adds r1, r0
+ ldr r0, [r2]
+ adds r1, r0, r1
+ ldrb r0, [r0, 0x4]
+ strb r0, [r1, 0x1]
+ ldr r0, [r2]
+ ldrb r0, [r0, 0x5]
+ strb r0, [r1, 0x2]
+ ldr r0, [r2]
+ ldrb r0, [r0, 0x6]
+ strb r0, [r1, 0x3]
+ ldr r2, [r2]
+ ldrh r0, [r2]
+ strh r0, [r1, 0x4]
+ ldrh r0, [r2, 0x2]
+ strh r0, [r1, 0x6]
+ bx lr
+ .align 2, 0
+_08110BE4: .4byte gUnknown_3005008
+ thumb_func_end sub_8110BB0
+
+ thumb_func_start sub_8110BE8
+sub_8110BE8: @ 8110BE8
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r4, _08110C54 @ =gUnknown_3005008
+ movs r1, 0xCD
+ lsls r1, 3
+ muls r0, r1
+ movs r1, 0x98
+ lsls r1, 5
+ adds r0, r1
+ ldr r1, [r4]
+ adds r7, r1, r0
+ adds r0, r7, 0
+ bl sub_815A008
+ movs r6, 0
+ mov r9, r4
+ movs r2, 0x8D
+ lsls r2, 3
+ mov r8, r2
+ ldr r3, _08110C58 @ =0x0000046a
+ mov r10, r3
+_08110C1C:
+ mov r4, r9
+ ldr r1, [r4]
+ lsls r2, r6, 1
+ adds r0, r2, r6
+ lsls r0, 3
+ adds r1, r0
+ ldr r0, _08110C5C @ =0x000008e4
+ adds r1, r0
+ ldrh r4, [r1]
+ movs r3, 0
+ ldrsh r0, [r1, r3]
+ mov r12, r2
+ cmp r0, 0
+ bge _08110C64
+ lsls r3, r6, 2
+ adds r2, r7, r3
+ negs r0, r0
+ mov r4, r8
+ adds r1, r2, r4
+ strb r0, [r1]
+ ldr r0, _08110C60 @ =0x00000469
+ adds r2, r0
+ ldrb r0, [r2]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r2]
+ b _08110C7C
+ .align 2, 0
+_08110C54: .4byte gUnknown_3005008
+_08110C58: .4byte 0x0000046a
+_08110C5C: .4byte 0x000008e4
+_08110C60: .4byte 0x00000469
+_08110C64:
+ lsls r3, r6, 2
+ adds r1, r7, r3
+ mov r2, r8
+ adds r0, r1, r2
+ strb r4, [r0]
+ ldr r4, _08110CBC @ =0x00000469
+ adds r1, r4
+ ldrb r2, [r1]
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1]
+_08110C7C:
+ adds r5, r3, 0
+ mov r1, r9
+ ldr r0, [r1]
+ mov r2, r12
+ adds r1, r2, r6
+ lsls r1, 3
+ adds r0, r1
+ ldr r3, _08110CC0 @ =0x000008e6
+ adds r1, r0, r3
+ ldrh r2, [r1]
+ movs r4, 0
+ ldrsh r0, [r1, r4]
+ cmp r0, 0
+ bge _08110CC8
+ adds r3, r7, r5
+ adds r1, r0, 0
+ negs r1, r1
+ lsls r1, 24
+ mov r2, r8
+ adds r4, r3, r2
+ lsrs r1, 15
+ ldr r0, [r4]
+ ldr r2, _08110CC4 @ =0xfffe01ff
+ ands r0, r2
+ orrs r0, r1
+ str r0, [r4]
+ add r3, r10
+ ldrb r0, [r3]
+ movs r1, 0x2
+ orrs r0, r1
+ b _08110CE6
+ .align 2, 0
+_08110CBC: .4byte 0x00000469
+_08110CC0: .4byte 0x000008e6
+_08110CC4: .4byte 0xfffe01ff
+_08110CC8:
+ adds r3, r7, r5
+ lsls r2, 24
+ mov r0, r8
+ adds r4, r3, r0
+ lsrs r2, 15
+ ldr r0, [r4]
+ ldr r1, _08110D38 @ =0xfffe01ff
+ ands r0, r1
+ orrs r0, r2
+ str r0, [r4]
+ add r3, r10
+ ldrb r1, [r3]
+ movs r0, 0x3
+ negs r0, r0
+ ands r0, r1
+_08110CE6:
+ strb r0, [r3]
+ adds r5, r7, r5
+ mov r1, r9
+ ldr r0, [r1]
+ mov r2, r12
+ adds r3, r2, r6
+ lsls r3, 3
+ adds r0, r3
+ ldr r4, _08110D3C @ =0x000008e8
+ adds r0, r4
+ ldrb r1, [r0]
+ mov r0, r10
+ adds r4, r5, r0
+ lsls r1, 2
+ ldrb r2, [r4]
+ movs r0, 0x3
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r4]
+ mov r1, r9
+ ldr r0, [r1]
+ adds r0, r3
+ ldr r2, _08110D40 @ =0x000008e9
+ adds r0, r2
+ ldrb r0, [r0]
+ ldr r3, _08110D44 @ =0x0000046b
+ adds r5, r3
+ strb r0, [r5]
+ adds r0, r6, 0x1
+ lsls r0, 16
+ lsrs r6, r0, 16
+ cmp r6, 0x3F
+ bhi _08110D2A
+ b _08110C1C
+_08110D2A:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08110D38: .4byte 0xfffe01ff
+_08110D3C: .4byte 0x000008e8
+_08110D40: .4byte 0x000008e9
+_08110D44: .4byte 0x0000046b
+ thumb_func_end sub_8110BE8
+
+ thumb_func_start sub_8110D48
+sub_8110D48: @ 8110D48
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r4, _08110D90 @ =gUnknown_3005008
+ movs r1, 0xCD
+ lsls r1, 3
+ muls r1, r0
+ movs r0, 0x98
+ lsls r0, 5
+ adds r1, r0
+ ldr r0, [r4]
+ adds r5, r0, r1
+ movs r1, 0xEE
+ lsls r1, 4
+ adds r0, r1
+ movs r2, 0xA4
+ lsls r2, 1
+ adds r1, r5, r2
+ movs r2, 0x90
+ bl CpuSet
+ ldr r0, [r4]
+ movs r1, 0x80
+ lsls r1, 5
+ adds r0, r1
+ movs r2, 0x9A
+ lsls r2, 2
+ adds r1, r5, r2
+ movs r2, 0x80
+ lsls r2, 1
+ bl CpuSet
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08110D90: .4byte gUnknown_3005008
+ thumb_func_end sub_8110D48
+
+ thumb_func_start sub_8110D94
+sub_8110D94: @ 8110D94
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ movs r4, 0
+ ldr r0, _08110E14 @ =gUnknown_3005008
+ mov r10, r0
+ ldr r1, _08110E18 @ =0x0000063a
+ mov r9, r1
+ movs r2, 0x1
+ mov r8, r2
+_08110DAE:
+ lsls r1, r4, 1
+ mov r7, sp
+ adds r2, r7, r1
+ movs r0, 0
+ strh r0, [r2]
+ movs r3, 0
+ adds r6, r1, 0
+ adds r0, r4, 0x1
+ str r0, [sp, 0x8]
+ mov r1, r10
+ ldr r0, [r1]
+ mov r7, r9
+ adds r5, r0, r7
+ lsls r1, r4, 4
+_08110DCA:
+ adds r0, r1, r3
+ adds r0, r5, r0
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08110DDE
+ mov r0, r8
+ lsls r0, r3
+ ldrh r7, [r2]
+ adds r0, r7
+ strh r0, [r2]
+_08110DDE:
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0xF
+ bls _08110DCA
+ ldr r1, _08110E1C @ =0x000040aa
+ adds r0, r4, r1
+ lsls r0, 16
+ lsrs r0, 16
+ mov r2, sp
+ adds r1, r2, r6
+ ldrh r1, [r1]
+ bl sub_806E584
+ ldr r7, [sp, 0x8]
+ lsls r0, r7, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x3
+ bls _08110DAE
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08110E14: .4byte gUnknown_3005008
+_08110E18: .4byte 0x0000063a
+_08110E1C: .4byte 0x000040aa
+ thumb_func_end sub_8110D94
+
+ thumb_func_start sub_8110E20
+sub_8110E20: @ 8110E20
+ push {lr}
+ ldr r0, _08110E34 @ =0x000040ae
+ ldr r1, _08110E38 @ =gUnknown_3005008
+ ldr r1, [r1]
+ ldrh r1, [r1, 0x32]
+ bl sub_806E584
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08110E34: .4byte 0x000040ae
+_08110E38: .4byte gUnknown_3005008
+ thumb_func_end sub_8110E20
+
+ thumb_func_start sub_8110E3C
+sub_8110E3C: @ 8110E3C
+ push {lr}
+ ldr r0, _08110E60 @ =gUnknown_203AE08
+ ldr r0, [r0]
+ bl sub_8113BF4
+ ldr r1, _08110E64 @ =gUnknown_203ADF8
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bls _08110E5A
+ movs r0, 0
+ strb r0, [r1]
+_08110E5A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08110E60: .4byte gUnknown_203AE08
+_08110E64: .4byte gUnknown_203ADF8
+ thumb_func_end sub_8110E3C
+
+ thumb_func_start sub_8110E68
+sub_8110E68: @ 8110E68
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r7, r0, 0
+ ldr r0, _08110EA0 @ =gUnknown_203ADFC
+ ldrh r5, [r0]
+ ldr r0, _08110EA4 @ =gUnknown_203AF98
+ mov r8, r0
+ ldrh r0, [r0]
+ cmp r5, r0
+ bcs _08110ECA
+ ldr r6, _08110EA8 @ =gUnknown_203AE08
+_08110E80:
+ ldr r4, [r6]
+ cmp r4, 0
+ beq _08110F02
+ lsls r0, r5, 3
+ adds r1, r0, r7
+ ldrb r2, [r1, 0x6]
+ adds r3, r0, 0
+ cmp r2, 0x1
+ bgt _08110EAC
+ cmp r2, 0
+ blt _08110EAC
+ adds r0, r4, 0
+ bl sub_8113D48
+ b _08110EB4
+ .align 2, 0
+_08110EA0: .4byte gUnknown_203ADFC
+_08110EA4: .4byte gUnknown_203AF98
+_08110EA8: .4byte gUnknown_203AE08
+_08110EAC:
+ ldr r0, [r6]
+ adds r1, r7, r3
+ bl sub_8113CC8
+_08110EB4:
+ str r0, [r6]
+ ldr r1, [r6]
+ cmp r1, 0
+ beq _08110EEC
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldr r0, _08110EE0 @ =gUnknown_203AF98
+ ldrh r0, [r0]
+ cmp r5, r0
+ bcc _08110E80
+_08110ECA:
+ ldr r0, _08110EE4 @ =gUnknown_3005E88
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08110EF8
+ ldr r1, _08110EE8 @ =gUnknown_203ADFC
+ mov r2, r8
+ ldrh r0, [r2]
+ strh r0, [r1]
+ movs r0, 0x1
+ b _08110F04
+ .align 2, 0
+_08110EE0: .4byte gUnknown_203AF98
+_08110EE4: .4byte gUnknown_3005E88
+_08110EE8: .4byte gUnknown_203ADFC
+_08110EEC:
+ ldr r0, _08110EF4 @ =gUnknown_3005E88
+ strb r1, [r0]
+ b _08110F02
+ .align 2, 0
+_08110EF4: .4byte gUnknown_3005E88
+_08110EF8:
+ ldr r4, _08110F10 @ =gUnknown_203AE08
+ ldr r0, [r4]
+ bl sub_8113BF4
+ str r0, [r4]
+_08110F02:
+ movs r0, 0
+_08110F04:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08110F10: .4byte gUnknown_203AE08
+ thumb_func_end sub_8110E68
+
+ thumb_func_start sub_8110F14
+sub_8110F14: @ 8110F14
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_811381C
+ ldr r1, _08110F6C @ =gUnknown_203ADF9
+ movs r0, 0
+ strb r0, [r1]
+ movs r2, 0
+ ldr r0, _08110F70 @ =gUnknown_3005008
+ ldr r5, [r0]
+ movs r7, 0xCD
+ lsls r7, 3
+ movs r6, 0x98
+ lsls r6, 5
+_08110F32:
+ adds r0, r2, 0
+ muls r0, r7
+ adds r0, r5, r0
+ adds r0, r6
+ ldrb r0, [r0]
+ ldr r3, _08110F6C @ =gUnknown_203ADF9
+ cmp r0, 0
+ beq _08110F48
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+_08110F48:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, 0x3
+ bls _08110F32
+ ldrb r0, [r3]
+ cmp r0, 0
+ beq _08110F78
+ ldr r1, _08110F74 @ =gUnknown_3005ECC
+ movs r0, 0
+ strb r0, [r1]
+ adds r0, r4, 0
+ bl sub_8110F90
+ adds r0, r4, 0
+ bl sub_8077508
+ b _08110F84
+ .align 2, 0
+_08110F6C: .4byte gUnknown_203ADF9
+_08110F70: .4byte gUnknown_3005008
+_08110F74: .4byte gUnknown_3005ECC
+_08110F78:
+ ldr r0, _08110F8C @ =sub_8056938
+ bl sub_8000544
+ adds r0, r4, 0
+ bl sub_8077508
+_08110F84:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08110F8C: .4byte sub_8056938
+ thumb_func_end sub_8110F14
+
+ thumb_func_start sub_8110F90
+sub_8110F90: @ 8110F90
+ push {lr}
+ ldr r1, _08110FC0 @ =gUnknown_3005008
+ ldr r2, [r1]
+ movs r3, 0
+ movs r0, 0x3
+ strb r0, [r2, 0x4]
+ ldr r2, [r1]
+ movs r0, 0x13
+ strb r0, [r2, 0x5]
+ ldr r1, [r1]
+ movs r0, 0xFF
+ strb r0, [r1, 0x6]
+ ldr r0, _08110FC4 @ =gUnknown_203ADF8
+ strb r3, [r0]
+ ldr r1, _08110FC8 @ =gUnknown_2031DD8
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r0, 0x1
+ bl sub_8082740
+ bl sub_8111368
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08110FC0: .4byte gUnknown_3005008
+_08110FC4: .4byte gUnknown_203ADF8
+_08110FC8: .4byte gUnknown_2031DD8
+ thumb_func_end sub_8110F90
+
+ thumb_func_start sub_8110FCC
+sub_8110FCC: @ 8110FCC
+ push {r4,r5,lr}
+ ldr r5, _08110FF8 @ =gUnknown_203ADF8
+ ldrb r0, [r5]
+ ldr r4, _08110FFC @ =gUnknown_203AE98
+ adds r1, r4, 0
+ bl sub_811175C
+ bl sub_8113B88
+ movs r2, 0x80
+ lsls r2, 1
+ movs r0, 0x1
+ adds r1, r4, 0
+ bl sub_8112940
+ ldrb r0, [r5]
+ bl sub_8111150
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08110FF8: .4byte gUnknown_203ADF8
+_08110FFC: .4byte gUnknown_203AE98
+ thumb_func_end sub_8110FCC
+
+ thumb_func_start sub_8111000
+sub_8111000: @ 8111000
+ push {lr}
+ movs r0, 0x4
+ bl sub_8150408
+ movs r1, 0xF0
+ movs r2, 0x20
+ bl sub_80703EC
+ movs r0, 0x2
+ bl sub_81109CC
+ bl sub_807DF64
+ ldr r2, _08111034 @ =gUnknown_203AE94
+ movs r0, 0
+ str r0, [r2]
+ ldrb r1, [r2]
+ subs r0, 0x10
+ ands r0, r1
+ movs r1, 0x2
+ orrs r0, r1
+ strb r0, [r2]
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08111034: .4byte gUnknown_203AE94
+ thumb_func_end sub_8111000
+
+ thumb_func_start sub_8111038
+sub_8111038: @ 8111038
+ push {lr}
+ movs r0, 0x4
+ bl sub_8150408
+ movs r1, 0xF0
+ movs r2, 0x20
+ bl sub_80703EC
+ movs r0, 0x2
+ bl sub_81109CC
+ bl sub_807DF7C
+ ldr r2, _0811106C @ =gUnknown_203AE94
+ movs r0, 0
+ str r0, [r2]
+ ldrb r1, [r2]
+ subs r0, 0x10
+ ands r0, r1
+ movs r1, 0x2
+ orrs r0, r1
+ strb r0, [r2]
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0811106C: .4byte gUnknown_203AE94
+ thumb_func_end sub_8111038
+
+ thumb_func_start sub_8111070
+sub_8111070: @ 8111070
+ push {r4-r7,lr}
+ sub sp, 0x14
+ lsls r0, 24
+ lsrs r7, r0, 24
+ movs r5, 0
+_0811107A:
+ lsls r4, r5, 3
+ ldr r0, _0811111C @ =gUnknown_845661C
+ adds r4, r0
+ adds r0, r4, 0
+ bl sub_8003CE4
+ ldr r6, _08111120 @ =gUnknown_203ADFE
+ adds r1, r5, r6
+ strb r0, [r1]
+ ldrb r0, [r1]
+ ldrb r1, [r4, 0x3]
+ lsls r1, 3
+ str r1, [sp]
+ ldrb r1, [r4, 0x4]
+ lsls r1, 3
+ str r1, [sp, 0x4]
+ movs r1, 0xF
+ movs r2, 0
+ movs r3, 0
+ bl sub_8004378
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x2
+ bls _0811107A
+ ldr r5, _08111124 @ =gUnknown_2021D18
+ ldr r1, _08111128 @ =gUnknown_841A155
+ adds r0, r5, 0
+ bl sub_8008FCC
+ cmp r7, 0
+ beq _081110D2
+ ldr r4, _0811112C @ =gUnknown_2021CD0
+ adds r0, r4, 0
+ adds r1, r7, 0
+ movs r2, 0
+ movs r3, 0x1
+ bl sub_8008E78
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_8008DA4
+_081110D2:
+ ldrb r0, [r6]
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0x2
+ str r1, [sp, 0x4]
+ ldr r1, _08111130 @ =gUnknown_8456634
+ str r1, [sp, 0x8]
+ movs r1, 0
+ str r1, [sp, 0xC]
+ str r5, [sp, 0x10]
+ movs r1, 0x2
+ movs r2, 0x2
+ movs r3, 0x2
+ bl sub_812E5A4
+ ldrb r0, [r6]
+ bl sub_8003FA0
+ ldrb r0, [r6, 0x1]
+ bl sub_8003FA0
+ ldrb r0, [r6]
+ movs r1, 0x2
+ bl sub_8003F20
+ ldrb r0, [r6, 0x2]
+ movs r1, 0x2
+ bl sub_8003F20
+ ldrb r0, [r6, 0x1]
+ movs r1, 0x3
+ bl sub_8003F20
+ add sp, 0x14
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811111C: .4byte gUnknown_845661C
+_08111120: .4byte gUnknown_203ADFE
+_08111124: .4byte gUnknown_2021D18
+_08111128: .4byte gUnknown_841A155
+_0811112C: .4byte gUnknown_2021CD0
+_08111130: .4byte gUnknown_8456634
+ thumb_func_end sub_8111070
+
+ thumb_func_start sub_8111134
+sub_8111134: @ 8111134
+ push {r4,lr}
+ ldr r4, _0811114C @ =gUnknown_203ADFE
+ ldrb r0, [r4, 0x1]
+ bl sub_8003FA0
+ ldrb r0, [r4, 0x1]
+ movs r1, 0x1
+ bl sub_8003F20
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811114C: .4byte gUnknown_203ADFE
+ thumb_func_end sub_8111134
+
+ thumb_func_start sub_8111150
+sub_8111150: @ 8111150
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _081111A8 @ =gUnknown_3005008
+ movs r1, 0xCD
+ lsls r1, 3
+ muls r0, r1
+ movs r1, 0x98
+ lsls r1, 5
+ adds r0, r1
+ ldr r1, [r2]
+ adds r5, r1, r0
+ movs r4, 0
+ mov r9, r2
+ mov r6, r9
+ movs r2, 0x8D
+ lsls r2, 3
+ mov r12, r2
+ ldr r7, _081111AC @ =0x000008e4
+ mov r8, r7
+_08111180:
+ lsls r0, r4, 2
+ adds r3, r5, r0
+ ldr r2, _081111B0 @ =0x00000469
+ adds r1, r3, r2
+ ldrb r1, [r1]
+ lsls r1, 31
+ mov r10, r0
+ cmp r1, 0
+ beq _081111B4
+ ldr r1, [r6]
+ lsls r2, r4, 1
+ adds r0, r2, r4
+ lsls r0, 3
+ adds r1, r0
+ mov r7, r12
+ adds r0, r3, r7
+ ldrb r0, [r0]
+ negs r0, r0
+ b _081111C4
+ .align 2, 0
+_081111A8: .4byte gUnknown_3005008
+_081111AC: .4byte 0x000008e4
+_081111B0: .4byte 0x00000469
+_081111B4:
+ ldr r1, [r6]
+ lsls r2, r4, 1
+ adds r0, r2, r4
+ lsls r0, 3
+ adds r1, r0
+ mov r7, r12
+ adds r0, r3, r7
+ ldrb r0, [r0]
+_081111C4:
+ add r1, r8
+ strh r0, [r1]
+ adds r3, r2, 0
+ mov r0, r10
+ adds r2, r5, r0
+ ldr r1, _081111F0 @ =0x0000046a
+ adds r0, r2, r1
+ ldrb r0, [r0]
+ lsls r0, 30
+ cmp r0, 0
+ bge _081111F4
+ ldr r1, [r6]
+ adds r0, r3, r4
+ lsls r0, 3
+ adds r1, r0
+ mov r7, r12
+ adds r0, r2, r7
+ ldr r0, [r0]
+ lsls r0, 15
+ lsrs r0, 24
+ negs r0, r0
+ b _08111206
+ .align 2, 0
+_081111F0: .4byte 0x0000046a
+_081111F4:
+ ldr r1, [r6]
+ adds r0, r3, r4
+ lsls r0, 3
+ adds r1, r0
+ mov r7, r12
+ adds r0, r2, r7
+ ldr r0, [r0]
+ lsls r0, 15
+ lsrs r0, 24
+_08111206:
+ ldr r2, _08111260 @ =0x000008e6
+ adds r1, r2
+ strh r0, [r1]
+ ldr r1, [r6]
+ adds r3, r4
+ lsls r3, 3
+ adds r1, r3
+ mov r7, r10
+ adds r2, r5, r7
+ ldr r7, _08111264 @ =0x0000046a
+ adds r0, r2, r7
+ ldrb r0, [r0]
+ lsrs r0, 2
+ ldr r7, _08111268 @ =0x000008e8
+ adds r1, r7
+ strb r0, [r1]
+ ldr r0, [r6]
+ adds r0, r3
+ ldr r1, _0811126C @ =0x0000046b
+ adds r2, r1
+ ldrb r1, [r2]
+ ldr r2, _08111270 @ =0x000008e9
+ adds r0, r2
+ strb r1, [r0]
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x3F
+ bls _08111180
+ mov r7, r9
+ ldr r1, [r7]
+ movs r0, 0x8E
+ lsls r0, 4
+ adds r1, r0
+ adds r0, r5, 0
+ bl sub_815A1F8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111260: .4byte 0x000008e6
+_08111264: .4byte 0x0000046a
+_08111268: .4byte 0x000008e8
+_0811126C: .4byte 0x0000046b
+_08111270: .4byte 0x000008e9
+ thumb_func_end sub_8111150
+
+ thumb_func_start sub_8111274
+sub_8111274: @ 8111274
+ push {r4,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 24
+ cmp r1, 0
+ bne _081112D4
+ ldr r3, _081112C8 @ =gUnknown_3005008
+ ldr r2, [r3]
+ movs r0, 0xCD
+ lsls r0, 3
+ adds r1, r4, 0
+ muls r1, r0
+ adds r0, r2, r1
+ ldr r4, _081112CC @ =0x00001301
+ adds r0, r4
+ ldrb r0, [r0]
+ strb r0, [r2, 0x4]
+ ldr r2, [r3]
+ adds r0, r2, r1
+ adds r4, 0x1
+ adds r0, r4
+ ldrb r0, [r0]
+ strb r0, [r2, 0x5]
+ ldr r2, [r3]
+ adds r0, r2, r1
+ adds r4, 0x1
+ adds r0, r4
+ ldrb r0, [r0]
+ strb r0, [r2, 0x6]
+ ldr r2, [r3]
+ adds r1, r2, r1
+ ldr r3, _081112D0 @ =0x00001304
+ adds r0, r1, r3
+ ldrh r0, [r0]
+ strh r0, [r2]
+ adds r4, 0x3
+ adds r1, r4
+ ldrh r0, [r1]
+ strh r0, [r2, 0x2]
+ b _08111336
+ .align 2, 0
+_081112C8: .4byte gUnknown_3005008
+_081112CC: .4byte 0x00001301
+_081112D0: .4byte 0x00001304
+_081112D4:
+ ldr r0, _08111340 @ =gUnknown_3005008
+ ldr r3, [r0]
+ movs r0, 0xCD
+ lsls r0, 3
+ muls r0, r4
+ adds r3, r0
+ ldr r1, _08111344 @ =0x00001301
+ adds r0, r3, r1
+ ldrb r2, [r0]
+ ldr r0, _08111348 @ =0xffffff00
+ ldr r1, [sp]
+ ands r1, r0
+ orrs r1, r2
+ str r1, [sp]
+ ldr r2, _0811134C @ =0x00001302
+ adds r0, r3, r2
+ ldrb r0, [r0]
+ lsls r0, 8
+ ldr r2, _08111350 @ =0xffff00ff
+ ands r2, r1
+ orrs r2, r0
+ str r2, [sp]
+ ldr r4, _08111354 @ =0x00001303
+ adds r0, r3, r4
+ ldrb r1, [r0]
+ lsls r1, 16
+ ldr r0, _08111358 @ =0xff00ffff
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp]
+ ldr r1, _0811135C @ =0x00001304
+ adds r0, r3, r1
+ ldrh r1, [r0]
+ ldr r0, _08111360 @ =0xffff0000
+ ldr r2, [sp, 0x4]
+ ands r2, r0
+ orrs r2, r1
+ str r2, [sp, 0x4]
+ adds r4, 0x3
+ adds r3, r4
+ ldrh r1, [r3]
+ lsls r1, 16
+ ldr r0, _08111364 @ =0x0000ffff
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ mov r0, sp
+ bl sub_8055D5C
+_08111336:
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111340: .4byte gUnknown_3005008
+_08111344: .4byte 0x00001301
+_08111348: .4byte 0xffffff00
+_0811134C: .4byte 0x00001302
+_08111350: .4byte 0xffff00ff
+_08111354: .4byte 0x00001303
+_08111358: .4byte 0xff00ffff
+_0811135C: .4byte 0x00001304
+_08111360: .4byte 0xffff0000
+_08111364: .4byte 0x0000ffff
+ thumb_func_end sub_8111274
+
+ thumb_func_start sub_8111368
+sub_8111368: @ 8111368
+ push {lr}
+ ldr r1, _081113A0 @ =gUnknown_203ADFA
+ movs r0, 0x2
+ strb r0, [r1]
+ bl sub_806E6FC
+ bl sub_809A2DC
+ bl sub_809A2A4
+ bl sub_8110AC8
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _081113B4
+ ldr r0, _081113A4 @ =gUnknown_203ADF8
+ ldrb r0, [r0]
+ movs r1, 0
+ bl sub_8111274
+ ldr r1, _081113A8 @ =gUnknown_3005024
+ ldr r0, _081113AC @ =sub_8111038
+ str r0, [r1]
+ ldr r0, _081113B0 @ =sub_80572A8
+ bl sub_8000544
+ b _081113CE
+ .align 2, 0
+_081113A0: .4byte gUnknown_203ADFA
+_081113A4: .4byte gUnknown_203ADF8
+_081113A8: .4byte gUnknown_3005024
+_081113AC: .4byte sub_8111038
+_081113B0: .4byte sub_80572A8
+_081113B4:
+ ldr r0, _081113D4 @ =gUnknown_203ADF8
+ ldrb r0, [r0]
+ movs r1, 0x1
+ bl sub_8111274
+ bl sub_8055378
+ ldr r1, _081113D8 @ =gUnknown_3005024
+ ldr r0, _081113DC @ =sub_8111000
+ str r0, [r1]
+ ldr r0, _081113E0 @ =sub_805726C
+ bl sub_8000544
+_081113CE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081113D4: .4byte gUnknown_203ADF8
+_081113D8: .4byte gUnknown_3005024
+_081113DC: .4byte sub_8111000
+_081113E0: .4byte sub_805726C
+ thumb_func_end sub_8111368
+
+ thumb_func_start sub_81113E4
+sub_81113E4: @ 81113E4
+ push {r4,r5,lr}
+ ldr r4, _08111430 @ =gUnknown_3005008
+ ldr r0, _08111434 @ =gUnknown_203ADF8
+ ldrb r1, [r0]
+ movs r0, 0xCD
+ lsls r0, 3
+ muls r0, r1
+ movs r1, 0x98
+ lsls r1, 5
+ adds r0, r1
+ ldr r1, [r4]
+ adds r5, r1, r0
+ movs r2, 0xA4
+ lsls r2, 1
+ adds r0, r5, r2
+ movs r2, 0xEE
+ lsls r2, 4
+ adds r1, r2
+ movs r2, 0x90
+ bl CpuSet
+ movs r1, 0x9A
+ lsls r1, 2
+ adds r0, r5, r1
+ ldr r1, [r4]
+ movs r2, 0x80
+ lsls r2, 5
+ adds r1, r2
+ movs r2, 0x80
+ lsls r2, 1
+ bl CpuSet
+ bl sub_8111688
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111430: .4byte gUnknown_3005008
+_08111434: .4byte gUnknown_203ADF8
+ thumb_func_end sub_81113E4
+
+ thumb_func_start sub_8111438
+sub_8111438: @ 8111438
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x14
+ movs r0, 0x68
+ bl sub_8002BB0
+ mov r9, r0
+ movs r0, 0
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ str r0, [sp, 0x8]
+ str r0, [sp, 0xC]
+ mov r0, r9
+ movs r1, 0x13
+ movs r2, 0x1
+ movs r3, 0x20
+ bl sub_803DA54
+ ldr r0, _081114BC @ =0x00004027
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r1, r0, 28
+ mov r6, r9
+ adds r6, 0x64
+ strh r1, [r6]
+ lsls r0, 4
+ lsrs r0, 20
+ mov r4, r9
+ adds r4, 0x66
+ strh r0, [r4]
+ bl sub_8111618
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldrh r0, [r6]
+ cmp r5, r0
+ bls _081114C4
+ movs r3, 0
+ subs r0, r5, r0
+ mov r8, r4
+ cmp r3, r0
+ bge _0811150E
+_08111492:
+ movs r0, 0x5
+ subs r0, r3
+ movs r1, 0x64
+ muls r0, r1
+ ldr r1, _081114C0 @ =gUnknown_2024284
+ adds r0, r1
+ str r3, [sp, 0x10]
+ bl sub_803D994
+ ldr r3, [sp, 0x10]
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ mov r0, r9
+ adds r0, 0x64
+ ldrh r0, [r0]
+ subs r0, r5, r0
+ cmp r3, r0
+ blt _08111492
+ b _0811150E
+ .align 2, 0
+_081114BC: .4byte 0x00004027
+_081114C0: .4byte gUnknown_2024284
+_081114C4:
+ mov r8, r4
+ cmp r5, r0
+ bcs _0811150E
+ movs r3, 0
+ adds r4, r6, 0
+_081114CE:
+ lsls r1, r3, 24
+ lsrs r1, 24
+ movs r0, 0
+ str r3, [sp, 0x10]
+ bl sub_808BCB4
+ ldr r3, [sp, 0x10]
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0x4
+ bls _081114CE
+ adds r3, r5, 0
+ ldrh r0, [r4]
+ cmp r3, r0
+ bcs _0811150E
+_081114EE:
+ movs r0, 0x64
+ muls r0, r3
+ ldr r1, _08111574 @ =gUnknown_2024284
+ adds r0, r1
+ mov r1, r9
+ movs r2, 0x64
+ str r3, [sp, 0x10]
+ bl sub_8040B08
+ ldr r3, [sp, 0x10]
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ ldrh r1, [r4]
+ cmp r3, r1
+ bcc _081114EE
+_0811150E:
+ bl sub_811164C
+ lsls r0, 16
+ lsrs r5, r0, 16
+ mov r1, r8
+ ldrh r0, [r1]
+ cmp r5, r0
+ bls _08111578
+ movs r3, 0
+_08111520:
+ movs r6, 0
+ lsls r7, r3, 24
+ lsrs r7, 24
+_08111526:
+ lsls r0, r6, 24
+ lsrs r4, r0, 24
+ adds r0, r7, 0
+ adds r1, r4, 0
+ movs r2, 0x5
+ str r3, [sp, 0x10]
+ bl sub_808BA18
+ ldr r3, [sp, 0x10]
+ cmp r0, 0
+ beq _08111554
+ adds r0, r7, 0
+ adds r1, r4, 0
+ bl sub_808BCB4
+ subs r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldr r3, [sp, 0x10]
+ mov r0, r8
+ ldrh r0, [r0]
+ cmp r5, r0
+ beq _081115D2
+_08111554:
+ adds r0, r6, 0x1
+ lsls r0, 16
+ lsrs r6, r0, 16
+ cmp r6, 0x1D
+ bls _08111526
+ mov r1, r8
+ ldrh r1, [r1]
+ cmp r5, r1
+ beq _081115D2
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0xD
+ bls _08111520
+ b _081115D2
+ .align 2, 0
+_08111574: .4byte gUnknown_2024284
+_08111578:
+ cmp r5, r0
+ bcs _081115D2
+ movs r3, 0
+_0811157E:
+ movs r6, 0
+ lsls r7, r3, 24
+_08111582:
+ lsls r1, r6, 24
+ lsrs r1, 24
+ lsrs r0, r7, 24
+ str r3, [sp, 0x10]
+ bl sub_808BD30
+ adds r4, r0, 0
+ movs r1, 0x5
+ bl sub_803FD44
+ ldr r3, [sp, 0x10]
+ cmp r0, 0
+ bne _081115B6
+ adds r0, r4, 0
+ mov r1, r9
+ movs r2, 0x50
+ bl sub_8040B08
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ ldr r3, [sp, 0x10]
+ mov r0, r8
+ ldrh r0, [r0]
+ cmp r5, r0
+ beq _081115D2
+_081115B6:
+ adds r0, r6, 0x1
+ lsls r0, 16
+ lsrs r6, r0, 16
+ cmp r6, 0x1D
+ bls _08111582
+ mov r1, r8
+ ldrh r1, [r1]
+ cmp r5, r1
+ beq _081115D2
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0xD
+ bls _0811157E
+_081115D2:
+ mov r0, r9
+ bl sub_8002BC4
+ add sp, 0x14
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8111438
+
+ thumb_func_start sub_81115E8
+sub_81115E8: @ 81115E8
+ push {r4,lr}
+ bl sub_8111618
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ bl sub_811164C
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r0, _08111614 @ =0x00004027
+ lsls r4, 12
+ adds r1, r4
+ lsls r1, 16
+ lsrs r1, 16
+ bl sub_806E584
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111614: .4byte 0x00004027
+ thumb_func_end sub_81115E8
+
+ thumb_func_start sub_8111618
+sub_8111618: @ 8111618
+ push {r4,r5,lr}
+ movs r5, 0
+ movs r4, 0
+_0811161E:
+ movs r0, 0x64
+ muls r0, r4
+ ldr r1, _08111648 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x5
+ bl sub_803FBE8
+ cmp r0, 0
+ beq _08111636
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+_08111636:
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x5
+ bls _0811161E
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08111648: .4byte gUnknown_2024284
+ thumb_func_end sub_8111618
+
+ thumb_func_start sub_811164C
+sub_811164C: @ 811164C
+ push {r4-r7,lr}
+ movs r6, 0
+ movs r0, 0
+_08111652:
+ movs r4, 0
+ lsls r5, r0, 24
+ adds r7, r0, 0x1
+_08111658:
+ lsls r1, r4, 24
+ lsrs r1, 24
+ lsrs r0, r5, 24
+ movs r2, 0x5
+ bl sub_808BA18
+ cmp r0, 0
+ beq _0811166E
+ adds r0, r6, 0x1
+ lsls r0, 16
+ lsrs r6, r0, 16
+_0811166E:
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x1D
+ bls _08111658
+ lsls r0, r7, 16
+ lsrs r0, 16
+ cmp r0, 0xD
+ bls _08111652
+ adds r0, r6, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811164C
+
+ thumb_func_start sub_8111688
+sub_8111688: @ 8111688
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x8
+ movs r5, 0
+ ldr r0, _081116CC @ =gUnknown_3005008
+ mov r8, r0
+ ldr r7, _081116D0 @ =0x0000063a
+_08111698:
+ ldr r1, _081116D4 @ =0x000040aa
+ adds r0, r5, r1
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_806E568
+ lsls r1, r5, 1
+ add r1, sp
+ strh r0, [r1]
+ movs r4, 0
+ adds r6, r5, 0x1
+ adds r3, r1, 0
+ lsls r5, 4
+_081116B2:
+ ldrh r0, [r3]
+ movs r2, 0x1
+ ands r2, r0
+ cmp r2, 0
+ beq _081116D8
+ mov r1, r8
+ ldr r0, [r1]
+ adds r1, r5, r4
+ adds r0, r7
+ adds r0, r1
+ movs r1, 0x1E
+ strb r1, [r0]
+ b _081116E4
+ .align 2, 0
+_081116CC: .4byte gUnknown_3005008
+_081116D0: .4byte 0x0000063a
+_081116D4: .4byte 0x000040aa
+_081116D8:
+ mov r1, r8
+ ldr r0, [r1]
+ adds r1, r5, r4
+ adds r0, r7
+ adds r0, r1
+ strb r2, [r0]
+_081116E4:
+ ldrh r0, [r3]
+ lsrs r0, 1
+ strh r0, [r3]
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0xF
+ bls _081116B2
+ lsls r0, r6, 16
+ lsrs r5, r0, 16
+ cmp r5, 0x3
+ bls _08111698
+ add sp, 0x8
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8111688
+
+ thumb_func_start sub_8111708
+sub_8111708: @ 8111708
+ push {r4,r5,lr}
+ sub sp, 0x1C
+ ldr r0, _08111754 @ =0x000040ae
+ bl sub_806E568
+ ldr r4, _08111758 @ =gUnknown_3005008
+ ldr r1, [r4]
+ strh r0, [r1, 0x32]
+ lsls r0, 16
+ cmp r0, 0
+ bne _0811174A
+ movs r0, 0x4
+ ldrsb r0, [r1, r0]
+ lsls r0, 16
+ lsrs r0, 16
+ ldrb r1, [r1, 0x5]
+ lsls r1, 24
+ asrs r1, 24
+ lsls r1, 16
+ lsrs r1, 16
+ bl sub_8055238
+ mov r1, sp
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldm r0!, {r2,r3,r5}
+ stm r1!, {r2,r3,r5}
+ ldr r0, [r0]
+ str r0, [r1]
+ ldr r1, [r4]
+ mov r0, sp
+ ldrh r0, [r0, 0x12]
+ strh r0, [r1, 0x32]
+_0811174A:
+ add sp, 0x1C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111754: .4byte 0x000040ae
+_08111758: .4byte gUnknown_3005008
+ thumb_func_end sub_8111708
+
+ thumb_func_start sub_811175C
+sub_811175C: @ 811175C
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ mov r8, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r6, 0
+ mov r9, r6
+ movs r2, 0x80
+ lsls r2, 1
+ mov r0, r8
+ movs r1, 0
+ bl memset
+ movs r7, 0
+ ldr r2, _081117B8 @ =gUnknown_203AE0C
+ movs r1, 0
+_08111780:
+ lsls r0, r7, 2
+ adds r0, r2
+ str r1, [r0]
+ adds r0, r7, 0x1
+ lsls r0, 16
+ lsrs r7, r0, 16
+ cmp r7, 0x1F
+ bls _08111780
+ ldr r1, _081117BC @ =gUnknown_3005008
+ movs r0, 0xCD
+ lsls r0, 3
+ muls r0, r4
+ ldr r1, [r1]
+ adds r0, r1
+ ldr r1, _081117C0 @ =0x00001868
+ adds r4, r0, r1
+ movs r7, 0
+_081117A2:
+ ldrh r0, [r4]
+ ldr r1, _081117C4 @ =0x00000fff
+ ands r1, r0
+ cmp r1, 0x29
+ bls _081117AE
+ b _081118AC
+_081117AE:
+ lsls r0, r1, 2
+ ldr r1, _081117C8 @ =_081117CC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081117B8: .4byte gUnknown_203AE0C
+_081117BC: .4byte gUnknown_3005008
+_081117C0: .4byte 0x00001868
+_081117C4: .4byte 0x00000fff
+_081117C8: .4byte _081117CC
+ .align 2, 0
+_081117CC:
+ .4byte _08111874
+ .4byte _08111880
+ .4byte _08111880
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _081118AC
+ .4byte _0811188C
+ .4byte _081118AC
+ .4byte _08111898
+_08111874:
+ lsls r1, r6, 3
+ add r1, r8
+ adds r0, r4, 0
+ bl sub_8113D08
+ b _081118A2
+_08111880:
+ lsls r1, r6, 3
+ add r1, r8
+ adds r0, r4, 0
+ bl sub_8113D94
+ b _081118A2
+_0811188C:
+ lsls r1, r6, 3
+ add r1, r8
+ adds r0, r4, 0
+ bl sub_8113C20
+ b _081118A2
+_08111898:
+ lsls r1, r6, 3
+ add r1, r8
+ adds r0, r4, 0
+ bl sub_8113C8C
+_081118A2:
+ adds r4, r0, 0
+ adds r0, r6, 0x1
+ lsls r0, 16
+ lsrs r6, r0, 16
+ b _081118D2
+_081118AC:
+ mov r0, r9
+ lsls r1, r0, 2
+ ldr r5, _081118F0 @ =gUnknown_203AE0C
+ adds r1, r5
+ adds r0, r4, 0
+ bl sub_8113A78
+ adds r4, r0, 0
+ mov r1, r9
+ cmp r1, 0
+ bne _081118C8
+ ldr r0, [r5]
+ bl sub_8113ABC
+_081118C8:
+ mov r0, r9
+ adds r0, 0x1
+ lsls r0, 16
+ lsrs r0, 16
+ mov r9, r0
+_081118D2:
+ cmp r4, 0
+ beq _081118E2
+ adds r0, r7, 0x1
+ lsls r0, 16
+ lsrs r7, r0, 16
+ cmp r7, 0x1F
+ bhi _081118E2
+ b _081117A2
+_081118E2:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081118F0: .4byte gUnknown_203AE0C
+ thumb_func_end sub_811175C
+
+ thumb_func_start sub_81118F4
+sub_81118F4: @ 81118F4
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 24
+ asrs r1, 24
+ movs r0, 0x1
+ bl sub_807A818
+ ldr r1, _0811190C @ =gUnknown_203AE8C
+ ldr r0, _08111910 @ =sub_8111914
+ str r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811190C: .4byte gUnknown_203AE8C
+_08111910: .4byte sub_8111914
+ thumb_func_end sub_81118F4
+
+ thumb_func_start sub_8111914
+sub_8111914: @ 8111914
+ push {lr}
+ ldr r0, _08111960 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _0811197A
+ bl sub_8069940
+ ldr r1, _08111964 @ =gUnknown_203ADF8
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bhi _08111970
+ ldr r0, _08111968 @ =gUnknown_3005008
+ ldr r0, [r0]
+ ldrb r2, [r1]
+ movs r1, 0xCD
+ lsls r1, 3
+ muls r1, r2
+ adds r0, r1
+ movs r1, 0x98
+ lsls r1, 5
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08111970
+ ldr r1, _0811196C @ =gUnknown_203ADF9
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+ bl sub_8111368
+ b _0811197A
+ .align 2, 0
+_08111960: .4byte gUnknown_2037AB8
+_08111964: .4byte gUnknown_203ADF8
+_08111968: .4byte gUnknown_3005008
+_0811196C: .4byte gUnknown_203ADF9
+_08111970:
+ ldr r1, _08111980 @ =gUnknown_3005E88
+ movs r0, 0
+ strb r0, [r1]
+ bl sub_8111984
+_0811197A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111980: .4byte gUnknown_3005E88
+ thumb_func_end sub_8111914
+
+ thumb_func_start sub_8111984
+sub_8111984: @ 8111984
+ push {lr}
+ bl sub_806E6FC
+ bl sub_80D9750
+ movs r0, 0
+ bl sub_80DA4FC
+ ldr r0, _081119B4 @ =sub_8057430
+ bl sub_8000544
+ ldr r1, _081119B8 @ =gUnknown_3005024
+ ldr r0, _081119BC @ =sub_8111F60
+ str r0, [r1]
+ bl sub_8003ECC
+ ldr r1, _081119C0 @ =gUnknown_203ADFA
+ movs r0, 0x3
+ strb r0, [r1]
+ ldr r1, _081119C4 @ =gUnknown_203AE8C
+ movs r0, 0
+ str r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081119B4: .4byte sub_8057430
+_081119B8: .4byte gUnknown_3005024
+_081119BC: .4byte sub_8111F60
+_081119C0: .4byte gUnknown_203ADFA
+_081119C4: .4byte gUnknown_203AE8C
+ thumb_func_end sub_8111984
+
+ thumb_func_start sub_81119C8
+sub_81119C8: @ 81119C8
+ push {lr}
+ bl sub_8111914
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81119C8
+
+ thumb_func_start sub_81119D4
+sub_81119D4: @ 81119D4
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, _081119E8 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _081119EC
+ cmp r0, 0x2
+ beq _081119F2
+ b _08111A2C
+ .align 2, 0
+_081119E8: .4byte gUnknown_203ADFA
+_081119EC:
+ bl sub_8112364
+ b _08111A2C
+_081119F2:
+ ldr r1, _08111A20 @ =gUnknown_3005E88
+ movs r0, 0x3
+ strb r0, [r1]
+ ldr r0, _08111A24 @ =sub_8111A34
+ movs r1, 0x50
+ bl sub_807741C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08111A28 @ =gUnknown_3005090
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ movs r2, 0
+ strh r2, [r1, 0x8]
+ strh r2, [r1, 0xA]
+ movs r1, 0xE
+ adds r2, r4, 0
+ bl sub_80776E8
+ movs r0, 0x1
+ b _08111A2E
+ .align 2, 0
+_08111A20: .4byte gUnknown_3005E88
+_08111A24: .4byte sub_8111A34
+_08111A28: .4byte gUnknown_3005090
+_08111A2C:
+ movs r0, 0
+_08111A2E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81119D4
+
+ thumb_func_start sub_8111A34
+sub_8111A34: @ 8111A34
+ push {r4,r5,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ ldr r1, _08111A54 @ =gUnknown_3005098
+ adds r4, r0, r1
+ movs r0, 0x2
+ ldrsh r1, [r4, r0]
+ cmp r1, 0
+ beq _08111A58
+ cmp r1, 0x1
+ beq _08111A90
+ b _08111AC0
+ .align 2, 0
+_08111A54: .4byte gUnknown_3005098
+_08111A58:
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x7F
+ bne _08111AC0
+ movs r0, 0x1
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl sub_8070588
+ ldr r2, _08111A8C @ =gUnknown_203AE94
+ ldrb r1, [r2]
+ movs r0, 0x3F
+ ands r0, r1
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2]
+ ldrh r0, [r4, 0x2]
+ adds r0, 0x1
+ strh r0, [r4, 0x2]
+ b _08111AC0
+ .align 2, 0
+_08111A8C: .4byte gUnknown_203AE94
+_08111A90:
+ ldr r0, _08111AC8 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _08111AC0
+ ldr r0, _08111ACC @ =gUnknown_3005E88
+ strb r1, [r0]
+ adds r0, r5, 0
+ movs r1, 0xE
+ bl sub_8077720
+ cmp r0, 0
+ beq _08111AB4
+ bl _call_via_r0
+_08111AB4:
+ adds r0, r5, 0
+ bl sub_8077508
+ ldr r1, _08111AD0 @ =gUnknown_203AE8C
+ ldr r0, _08111AD4 @ =sub_8111914
+ str r0, [r1]
+_08111AC0:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111AC8: .4byte gUnknown_2037AB8
+_08111ACC: .4byte gUnknown_3005E88
+_08111AD0: .4byte gUnknown_203AE8C
+_08111AD4: .4byte sub_8111914
+ thumb_func_end sub_8111A34
+
+ thumb_func_start sub_8111AD8
+sub_8111AD8: @ 8111AD8
+ push {r4,r5,lr}
+ ldr r4, _08111B58 @ =gUnknown_203AE94
+ ldrb r1, [r4]
+ movs r0, 0xF
+ ands r0, r1
+ cmp r0, 0x1
+ bne _08111B0A
+ ldrb r0, [r4, 0x2]
+ subs r0, 0x1
+ strb r0, [r4, 0x2]
+ lsls r0, 24
+ cmp r0, 0
+ bne _08111B78
+ movs r0, 0x10
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x31
+ negs r1, r1
+ ands r0, r1
+ movs r1, 0x10
+ orrs r0, r1
+ strb r0, [r4]
+ movs r0, 0x2
+ bl sub_8112888
+_08111B0A:
+ ldrb r1, [r4]
+ movs r0, 0x30
+ ands r0, r1
+ cmp r0, 0x10
+ bne _08111B34
+ ldrb r0, [r4, 0x3]
+ adds r0, 0x1
+ strb r0, [r4, 0x3]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xF
+ bls _08111B34
+ bl sub_8111E20
+ ldrb r0, [r4]
+ movs r1, 0x31
+ negs r1, r1
+ ands r1, r0
+ strb r1, [r4]
+ movs r0, 0
+ strb r0, [r4, 0x3]
+_08111B34:
+ ldr r4, _08111B58 @ =gUnknown_203AE94
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x1F
+ bhi _08111B78
+ ldr r5, _08111B5C @ =gUnknown_203AE0C
+ lsls r0, 2
+ adds r0, r5
+ ldr r0, [r0]
+ bl sub_8113B44
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08111B60
+ bl sub_8111B80
+ b _08111B78
+ .align 2, 0
+_08111B58: .4byte gUnknown_203AE94
+_08111B5C: .4byte gUnknown_203AE0C
+_08111B60:
+ ldrb r0, [r4, 0x1]
+ lsls r0, 2
+ adds r0, r5
+ ldr r0, [r0]
+ bl sub_8113AE8
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08111B78
+ bl sub_8111B80
+_08111B78:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8111AD8
+
+ thumb_func_start sub_8111B80
+sub_8111B80: @ 8111B80
+ push {r4,lr}
+ ldr r4, _08111BCC @ =gUnknown_203AE94
+ ldrb r1, [r4]
+ movs r2, 0xF
+ ands r2, r1
+ cmp r2, 0
+ bne _08111BC0
+ movs r0, 0x10
+ negs r0, r0
+ ands r0, r1
+ movs r1, 0x1
+ orrs r0, r1
+ movs r1, 0x31
+ negs r1, r1
+ ands r0, r1
+ strb r0, [r4]
+ strb r2, [r4, 0x3]
+ bl sub_8111BD4
+ strb r0, [r4, 0x2]
+ ldr r0, _08111BD0 @ =gUnknown_203B044
+ ldrh r0, [r0, 0x2]
+ cmp r0, 0
+ bne _08111BB6
+ ldrb r0, [r4, 0x1]
+ adds r0, 0x1
+ strb r0, [r4, 0x1]
+_08111BB6:
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x20
+ bhi _08111BC6
+ bl sub_8111D10
+_08111BC0:
+ movs r0, 0x1
+ bl sub_8112888
+_08111BC6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111BCC: .4byte gUnknown_203AE94
+_08111BD0: .4byte gUnknown_203B044
+ thumb_func_end sub_8111B80
+
+ thumb_func_start sub_8111BD4
+sub_8111BD4: @ 8111BD4
+ push {r4,lr}
+ movs r2, 0
+ movs r1, 0
+ ldr r3, _08111C0C @ =gUnknown_2021D18
+ ldrb r0, [r3]
+ cmp r0, 0xFF
+ beq _08111C04
+ ldr r4, _08111C10 @ =0x000003ff
+_08111BE4:
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, 0xFE
+ beq _08111BF2
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+_08111BF2:
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, r4
+ bhi _08111C04
+ adds r0, r1, r3
+ ldrb r0, [r0]
+ cmp r0, 0xFF
+ bne _08111BE4
+_08111C04:
+ cmp r2, 0x13
+ bhi _08111C14
+ movs r0, 0x5F
+ b _08111C26
+ .align 2, 0
+_08111C0C: .4byte gUnknown_2021D18
+_08111C10: .4byte 0x000003ff
+_08111C14:
+ cmp r2, 0x23
+ bhi _08111C1C
+ movs r0, 0x7F
+ b _08111C26
+_08111C1C:
+ cmp r2, 0x2D
+ bls _08111C24
+ movs r0, 0xFF
+ b _08111C26
+_08111C24:
+ movs r0, 0xBF
+_08111C26:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8111BD4
+
+ thumb_func_start sub_8111C2C
+sub_8111C2C: @ 8111C2C
+ push {lr}
+ ldr r0, _08111C54 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _08111C60
+ ldr r0, _08111C58 @ =gUnknown_3005E88
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08111C4E
+ ldr r0, _08111C5C @ =gUnknown_203AE94
+ ldrb r0, [r0]
+ movs r1, 0xF
+ ands r1, r0
+ cmp r1, 0x1
+ beq _08111C4E
+ cmp r1, 0x2
+ bne _08111C60
+_08111C4E:
+ movs r0, 0x1
+ b _08111C62
+ .align 2, 0
+_08111C54: .4byte gUnknown_203ADFA
+_08111C58: .4byte gUnknown_3005E88
+_08111C5C: .4byte gUnknown_203AE94
+_08111C60:
+ movs r0, 0
+_08111C62:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8111C2C
+
+ thumb_func_start sub_8111C68
+sub_8111C68: @ 8111C68
+ push {r4,r5,lr}
+ ldr r5, _08111C9C @ =gUnknown_203AE94
+ ldrb r2, [r5]
+ movs r4, 0xC0
+ ands r4, r2
+ cmp r4, 0
+ bne _08111CC6
+ ldr r0, _08111CA0 @ =gUnknown_30030F0
+ ldrh r1, [r0, 0x2E]
+ movs r3, 0x1
+ ands r3, r1
+ cmp r3, 0
+ beq _08111CA8
+ movs r0, 0x3F
+ ands r0, r2
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r5]
+ ldr r0, _08111CA4 @ =gUnknown_3005E88
+ strb r4, [r0]
+ movs r0, 0x3
+ negs r0, r0
+ bl sub_81118F4
+ b _08111CC6
+ .align 2, 0
+_08111C9C: .4byte gUnknown_203AE94
+_08111CA0: .4byte gUnknown_30030F0
+_08111CA4: .4byte gUnknown_3005E88
+_08111CA8:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _08111CC6
+ movs r0, 0x3F
+ ands r0, r2
+ movs r1, 0x40
+ orrs r0, r1
+ strb r0, [r5]
+ ldr r0, _08111CCC @ =gUnknown_3005E88
+ strb r3, [r0]
+ movs r0, 0x3
+ negs r0, r0
+ bl sub_8111E64
+_08111CC6:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111CCC: .4byte gUnknown_3005E88
+ thumb_func_end sub_8111C68
+
+ thumb_func_start sub_8111CD0
+sub_8111CD0: @ 8111CD0
+ push {lr}
+ ldr r0, _08111CE4 @ =gUnknown_203AE94
+ ldrb r1, [r0]
+ movs r0, 0xC0
+ ands r0, r1
+ cmp r0, 0
+ bne _08111CE8
+ movs r0, 0
+ b _08111CEA
+ .align 2, 0
+_08111CE4: .4byte gUnknown_203AE94
+_08111CE8:
+ movs r0, 0x1
+_08111CEA:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8111CD0
+
+ thumb_func_start sub_8111CF0
+sub_8111CF0: @ 8111CF0
+ push {lr}
+ ldr r0, _08111D08 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _08111D02
+ ldr r0, _08111D0C @ =gUnknown_203ADF9
+ ldrb r0, [r0]
+ bl sub_8111070
+_08111D02:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111D08: .4byte gUnknown_203ADFA
+_08111D0C: .4byte gUnknown_203ADF9
+ thumb_func_end sub_8111CF0
+
+ thumb_func_start sub_8111D10
+sub_8111D10: @ 8111D10
+ push {r4,r5,lr}
+ sub sp, 0x14
+ movs r4, 0
+ movs r1, 0
+ ldr r2, _08111D80 @ =gUnknown_2021D18
+ ldrb r0, [r2]
+ ldr r5, _08111D84 @ =gUnknown_203ADFE
+ cmp r0, 0xFF
+ beq _08111D42
+_08111D22:
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, 0xFE
+ bne _08111D30
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+_08111D30:
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0xFF
+ bhi _08111D42
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ cmp r0, 0xFF
+ bne _08111D22
+_08111D42:
+ ldrb r0, [r5, 0x2]
+ bl sub_8003FA0
+ ldrb r0, [r5, 0x2]
+ bl sub_8111D90
+ ldrb r0, [r5, 0x2]
+ ldr r1, _08111D88 @ =gUnknown_8456698
+ adds r1, r4, r1
+ ldrb r3, [r1]
+ movs r1, 0x1
+ str r1, [sp]
+ movs r2, 0
+ str r2, [sp, 0x4]
+ ldr r1, _08111D8C @ =gUnknown_8456634
+ str r1, [sp, 0x8]
+ str r2, [sp, 0xC]
+ ldr r1, _08111D80 @ =gUnknown_2021D18
+ str r1, [sp, 0x10]
+ movs r1, 0x2
+ movs r2, 0x2
+ bl sub_812E5A4
+ movs r0, 0
+ bl sub_80F67A4
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111D80: .4byte gUnknown_2021D18
+_08111D84: .4byte gUnknown_203ADFE
+_08111D88: .4byte gUnknown_8456698
+_08111D8C: .4byte gUnknown_8456634
+ thumb_func_end sub_8111D10
+
+ thumb_func_start sub_8111D90
+sub_8111D90: @ 8111D90
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ ldr r0, _08111DC0 @ =gUnknown_8456638
+ mov r9, r0
+ movs r0, 0xB4
+ lsls r0, 5
+ bl sub_8002B9C
+ mov r8, r0
+ cmp r0, 0
+ beq _08111E0C
+ movs r1, 0
+_08111DB4:
+ cmp r1, 0
+ beq _08111DC4
+ cmp r1, 0x5
+ beq _08111DC8
+ movs r0, 0x1
+ b _08111DCA
+ .align 2, 0
+_08111DC0: .4byte gUnknown_8456638
+_08111DC4:
+ movs r0, 0
+ b _08111DCA
+_08111DC8:
+ movs r0, 0x2
+_08111DCA:
+ movs r4, 0
+ lsls r6, r0, 5
+ lsls r0, r1, 4
+ adds r7, r1, 0x1
+ subs r0, r1
+ lsls r5, r0, 1
+_08111DD6:
+ adds r1, r5, r4
+ lsls r1, 5
+ add r1, r8
+ mov r2, r9
+ adds r0, r2, r6
+ ldr r2, _08111E1C @ =0x04000008
+ bl CpuSet
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x1D
+ bls _08111DD6
+ lsls r0, r7, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x5
+ bls _08111DB4
+ movs r2, 0xB4
+ lsls r2, 5
+ mov r0, r10
+ mov r1, r8
+ movs r3, 0
+ bl sub_8004404
+ mov r0, r8
+ bl sub_8002BC4
+_08111E0C:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111E1C: .4byte 0x04000008
+ thumb_func_end sub_8111D90
+
+ thumb_func_start sub_8111E20
+sub_8111E20: @ 8111E20
+ push {r4,lr}
+ sub sp, 0x8
+ ldr r4, _08111E60 @ =gUnknown_203ADFE
+ ldrb r0, [r4, 0x2]
+ bl sub_80040B8
+ ldrb r0, [r4, 0x2]
+ movs r1, 0xF0
+ str r1, [sp]
+ movs r1, 0x30
+ str r1, [sp, 0x4]
+ movs r1, 0xF
+ movs r2, 0
+ movs r3, 0
+ bl sub_8004378
+ ldrb r0, [r4, 0x2]
+ movs r1, 0x2
+ bl sub_8003F20
+ ldrb r0, [r4, 0x1]
+ bl sub_8003FA0
+ ldrb r0, [r4, 0x1]
+ movs r1, 0x1
+ bl sub_8003F20
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111E60: .4byte gUnknown_203ADFE
+ thumb_func_end sub_8111E20
+
+ thumb_func_start sub_8111E64
+sub_8111E64: @ 8111E64
+ push {lr}
+ adds r1, r0, 0
+ lsls r1, 24
+ asrs r1, 24
+ movs r0, 0x1
+ bl sub_807A818
+ ldr r1, _08111E7C @ =gUnknown_203AE8C
+ ldr r0, _08111E80 @ =sub_8111E84
+ str r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111E7C: .4byte gUnknown_203AE8C
+_08111E80: .4byte sub_8111E84
+ thumb_func_end sub_8111E64
+
+ thumb_func_start sub_8111E84
+sub_8111E84: @ 8111E84
+ push {r4,lr}
+ ldr r0, _08111F00 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08111EF8
+ bl sub_8069940
+ ldr r3, _08111F04 @ =gUnknown_203ADF8
+ ldrb r0, [r3]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bhi _08111EEE
+ ldr r0, _08111F08 @ =gUnknown_3005008
+ ldr r0, [r0]
+ ldrb r2, [r3]
+ movs r1, 0xCD
+ lsls r1, 3
+ muls r1, r2
+ adds r0, r1
+ movs r1, 0x98
+ lsls r1, 5
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08111EEE
+ adds r4, r3, 0
+_08111EBE:
+ ldrb r0, [r4]
+ ldr r1, _08111F0C @ =gUnknown_203AE98
+ bl sub_811175C
+ ldrb r0, [r4]
+ adds r0, 0x1
+ strb r0, [r4]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x3
+ bhi _08111EEE
+ ldr r0, _08111F08 @ =gUnknown_3005008
+ ldr r1, [r0]
+ ldrb r2, [r4]
+ movs r0, 0xCD
+ lsls r0, 3
+ muls r0, r2
+ adds r1, r0
+ movs r0, 0x98
+ lsls r0, 5
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08111EBE
+_08111EEE:
+ ldr r1, _08111F10 @ =gUnknown_3005E88
+ movs r0, 0
+ strb r0, [r1]
+ bl sub_8111984
+_08111EF8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111F00: .4byte gUnknown_2037AB8
+_08111F04: .4byte gUnknown_203ADF8
+_08111F08: .4byte gUnknown_3005008
+_08111F0C: .4byte gUnknown_203AE98
+_08111F10: .4byte gUnknown_3005E88
+ thumb_func_end sub_8111E84
+
+ thumb_func_start sub_8111F14
+sub_8111F14: @ 8111F14
+ push {r4,lr}
+ ldr r0, _08111F30 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ cmp r0, 0x3
+ bne _08111F2A
+ ldr r4, _08111F34 @ =gUnknown_203AE90
+ movs r0, 0x80
+ lsls r0, 3
+ bl sub_8002BB0
+ str r0, [r4]
+_08111F2A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111F30: .4byte gUnknown_203ADFA
+_08111F34: .4byte gUnknown_203AE90
+ thumb_func_end sub_8111F14
+
+ thumb_func_start sub_8111F38
+sub_8111F38: @ 8111F38
+ push {lr}
+ adds r3, r0, 0
+ adds r2, r1, 0
+ lsls r3, 16
+ lsls r2, 16
+ lsrs r2, 16
+ lsrs r3, 15
+ ldr r0, _08111F58 @ =gUnknown_20371F8
+ adds r0, r3, r0
+ ldr r1, _08111F5C @ =gUnknown_203AE90
+ ldr r1, [r1]
+ adds r1, r3
+ bl CpuSet
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111F58: .4byte gUnknown_20371F8
+_08111F5C: .4byte gUnknown_203AE90
+ thumb_func_end sub_8111F38
+
+ thumb_func_start sub_8111F60
+sub_8111F60: @ 8111F60
+ push {lr}
+ movs r0, 0x4
+ bl sub_8150408
+ movs r1, 0xF0
+ movs r2, 0x20
+ bl sub_80703EC
+ movs r0, 0
+ bl sub_8111070
+ bl sub_807DF7C
+ ldr r0, _08111F88 @ =sub_8111F8C
+ movs r1, 0xFF
+ bl sub_807741C
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08111F88: .4byte sub_8111F8C
+ thumb_func_end sub_8111F60
+
+ thumb_func_start sub_8111F8C
+sub_8111F8C: @ 8111F8C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, _08111FC4 @ =gUnknown_3005090
+ adds r4, r1, r0
+ bl sub_8069958
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08111FBC
+ bl sub_8068974
+ bl sub_805C270
+ bl sub_805C780
+ bl sub_8069940
+ ldr r0, _08111FC8 @ =sub_8111FCC
+ str r0, [r4]
+_08111FBC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08111FC4: .4byte gUnknown_3005090
+_08111FC8: .4byte sub_8111FCC
+ thumb_func_end sub_8111F8C
+
+ thumb_func_start sub_8111FCC
+sub_8111FCC: @ 8111FCC
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, _08112024 @ =gUnknown_3005090
+ adds r5, r1, r0
+ ldr r0, _08112028 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _0811201E
+ ldr r0, _0811202C @ =gUnknown_203AE94
+ ldrb r1, [r0]
+ movs r0, 0xC0
+ ands r0, r1
+ cmp r0, 0x40
+ beq _0811200E
+ ldr r0, _08112030 @ =gUnknown_2021CD0
+ ldr r1, _08112034 @ =gUnknown_2036DFC
+ ldrb r1, [r1, 0x14]
+ bl sub_80C4DF8
+ ldr r0, _08112038 @ =gUnknown_2021D18
+ ldr r1, _0811203C @ =gUnknown_841B073
+ bl sub_8008FCC
+ bl sub_8111D10
+_0811200E:
+ strh r4, [r5, 0x8]
+ strh r4, [r5, 0xA]
+ ldr r0, _08112040 @ =sub_8112044
+ str r0, [r5]
+ bl sub_8068974
+ bl sub_8069940
+_0811201E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112024: .4byte gUnknown_3005090
+_08112028: .4byte gUnknown_2037AB8
+_0811202C: .4byte gUnknown_203AE94
+_08112030: .4byte gUnknown_2021CD0
+_08112034: .4byte gUnknown_2036DFC
+_08112038: .4byte gUnknown_2021D18
+_0811203C: .4byte gUnknown_841B073
+_08112040: .4byte sub_8112044
+ thumb_func_end sub_8111FCC
+
+ thumb_func_start sub_8112044
+sub_8112044: @ 8112044
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, _0811208C @ =gUnknown_3005090
+ adds r4, r1, r0
+ ldr r0, _08112090 @ =gUnknown_30030F0
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _08112076
+ ldrh r2, [r4, 0x8]
+ movs r1, 0x8
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x7E
+ bgt _08112076
+ ldr r0, _08112094 @ =gUnknown_203AE94
+ ldrb r1, [r0]
+ movs r0, 0xC0
+ ands r0, r1
+ cmp r0, 0x40
+ bne _081120A0
+_08112076:
+ bl sub_8111E20
+ movs r1, 0
+ movs r0, 0
+ strh r0, [r4, 0x8]
+ ldr r0, _08112098 @ =sub_81120AC
+ str r0, [r4]
+ ldr r0, _0811209C @ =gUnknown_203ADFA
+ strb r1, [r0]
+ b _081120A4
+ .align 2, 0
+_0811208C: .4byte gUnknown_3005090
+_08112090: .4byte gUnknown_30030F0
+_08112094: .4byte gUnknown_203AE94
+_08112098: .4byte sub_81120AC
+_0811209C: .4byte gUnknown_203ADFA
+_081120A0:
+ adds r0, r2, 0x1
+ strh r0, [r4, 0x8]
+_081120A4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8112044
+
+ thumb_func_start sub_81120AC
+sub_81120AC: @ 81120AC
+ push {r4-r6,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ ldr r1, _081120D0 @ =gUnknown_3005098
+ adds r6, r0, r1
+ movs r0, 0
+ ldrsh r1, [r6, r0]
+ cmp r1, 0x1
+ beq _08112110
+ cmp r1, 0x1
+ bgt _081120D4
+ cmp r1, 0
+ beq _081120DA
+ b _08112164
+ .align 2, 0
+_081120D0: .4byte gUnknown_3005098
+_081120D4:
+ cmp r1, 0x2
+ beq _0811214C
+ b _08112164
+_081120DA:
+ ldr r0, _08112104 @ =gUnknown_2031DD8
+ strb r1, [r0]
+ bl sub_8055DC4
+ bl sub_811229C
+ ldr r0, _08112108 @ =gUnknown_203ADFE
+ ldrb r0, [r0]
+ ldr r2, _0811210C @ =gUnknown_845661C
+ ldrb r1, [r2, 0x3]
+ lsls r1, 3
+ str r1, [sp]
+ ldrb r1, [r2, 0x4]
+ lsls r1, 3
+ str r1, [sp, 0x4]
+ movs r1, 0xF
+ movs r2, 0
+ movs r3, 0
+ bl sub_8004378
+ b _0811215C
+ .align 2, 0
+_08112104: .4byte gUnknown_2031DD8
+_08112108: .4byte gUnknown_203ADFE
+_0811210C: .4byte gUnknown_845661C
+_08112110:
+ adds r0, r5, 0
+ bl sub_81121D8
+ lsls r0, 24
+ cmp r0, 0
+ beq _081121B8
+ movs r5, 0
+_0811211E:
+ ldr r4, _08112148 @ =gUnknown_203ADFE
+ adds r4, r5, r4
+ ldrb r0, [r4]
+ bl sub_80040B8
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl sub_8003F20
+ ldrb r0, [r4]
+ bl sub_8003E3C
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x2
+ bls _0811211E
+ movs r0, 0
+ strh r0, [r6, 0x2]
+ b _0811215C
+ .align 2, 0
+_08112148: .4byte gUnknown_203ADFE
+_0811214C:
+ ldrh r1, [r6, 0x2]
+ movs r2, 0x2
+ ldrsh r0, [r6, r2]
+ cmp r0, 0x1F
+ bgt _0811215C
+ adds r0, r1, 0x1
+ strh r0, [r6, 0x2]
+ b _081121B8
+_0811215C:
+ ldrh r0, [r6]
+ adds r0, 0x1
+ strh r0, [r6]
+ b _081121B8
+_08112164:
+ ldr r6, _081121C0 @ =gUnknown_203AE94
+ ldrb r1, [r6]
+ movs r0, 0xC0
+ ands r0, r1
+ cmp r0, 0x40
+ bne _08112176
+ movs r0, 0x1
+ bl sub_8098110
+_08112176:
+ ldr r4, _081121C4 @ =gUnknown_203AE90
+ ldr r0, [r4]
+ ldr r1, _081121C8 @ =gUnknown_20371F8
+ movs r2, 0x80
+ lsls r2, 2
+ bl CpuSet
+ ldr r0, [r4]
+ bl sub_8002BC4
+ movs r4, 0
+ str r4, [r6]
+ bl sub_80696C0
+ bl sub_806994C
+ ldr r2, _081121CC @ =gUnknown_3003E50
+ ldrb r1, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ ldr r0, _081121D0 @ =gUnknown_2036E28
+ strb r4, [r0]
+ movs r0, 0
+ bl sub_8082740
+ ldr r1, _081121D4 @ =gUnknown_3005ECC
+ movs r0, 0x1
+ strb r0, [r1]
+ adds r0, r5, 0
+ bl sub_8077508
+_081121B8:
+ add sp, 0x8
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081121C0: .4byte gUnknown_203AE94
+_081121C4: .4byte gUnknown_203AE90
+_081121C8: .4byte gUnknown_20371F8
+_081121CC: .4byte gUnknown_3003E50
+_081121D0: .4byte gUnknown_2036E28
+_081121D4: .4byte gUnknown_3005ECC
+ thumb_func_end sub_81120AC
+
+ thumb_func_start sub_81121D8
+sub_81121D8: @ 81121D8
+ push {r4-r7,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, _0811227C @ =gUnknown_3005098
+ adds r7, r1, r0
+ ldrh r1, [r7, 0x2]
+ movs r2, 0x2
+ ldrsh r0, [r7, r2]
+ cmp r0, 0xF
+ bgt _08112290
+ ldr r5, _08112280 @ =gUnknown_20371FA
+ ldr r6, _08112284 @ =gUnknown_20375FA
+ movs r4, 0xF
+ subs r3, r4, r1
+ lsls r3, 24
+ lsrs r3, 24
+ adds r0, r5, 0
+ adds r1, r6, 0
+ movs r2, 0xDF
+ bl sub_80716F8
+ movs r0, 0xFF
+ lsls r0, 1
+ adds r5, r0
+ adds r6, r0
+ movs r2, 0x80
+ lsls r2, 1
+ ldrb r0, [r7, 0x2]
+ subs r4, r0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r5, 0
+ adds r1, r6, 0
+ adds r3, r4, 0
+ bl sub_80716F8
+ ldr r5, _08112288 @ =gUnknown_203ADFE
+ ldrb r0, [r5]
+ ldr r4, _0811228C @ =gUnknown_845661C
+ ldrb r3, [r4, 0x4]
+ lsls r3, 3
+ subs r3, 0x1
+ ldrh r1, [r7, 0x2]
+ subs r3, r1
+ lsls r3, 16
+ lsrs r3, 16
+ ldrb r1, [r4, 0x3]
+ lsls r1, 3
+ str r1, [sp]
+ movs r6, 0x1
+ str r6, [sp, 0x4]
+ movs r1, 0
+ movs r2, 0
+ bl sub_8004378
+ ldrb r0, [r5, 0x1]
+ ldrh r3, [r7, 0x2]
+ ldrb r1, [r4, 0xB]
+ lsls r1, 3
+ str r1, [sp]
+ str r6, [sp, 0x4]
+ movs r1, 0
+ movs r2, 0
+ bl sub_8004378
+ ldrb r0, [r5]
+ movs r1, 0x2
+ bl sub_8003F20
+ ldrb r0, [r5, 0x1]
+ movs r1, 0x2
+ bl sub_8003F20
+ ldrh r0, [r7, 0x2]
+ adds r0, 0x1
+ strh r0, [r7, 0x2]
+ movs r0, 0
+ b _08112292
+ .align 2, 0
+_0811227C: .4byte gUnknown_3005098
+_08112280: .4byte gUnknown_20371FA
+_08112284: .4byte gUnknown_20375FA
+_08112288: .4byte gUnknown_203ADFE
+_0811228C: .4byte gUnknown_845661C
+_08112290:
+ movs r0, 0x1
+_08112292:
+ add sp, 0x8
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81121D8
+
+ thumb_func_start sub_811229C
+sub_811229C: @ 811229C
+ push {r4-r6,lr}
+ movs r0, 0x80
+ lsls r0, 3
+ bl sub_8002B9C
+ adds r6, r0, 0
+ ldr r4, _08112314 @ =gUnknown_203AE90
+ ldr r0, [r4]
+ movs r5, 0x80
+ lsls r5, 2
+ adds r1, r6, 0
+ adds r2, r5, 0
+ bl CpuSet
+ ldr r1, [r4]
+ adds r0, r1, 0
+ movs r2, 0xD0
+ bl sub_807B0C4
+ ldr r1, [r4]
+ movs r0, 0x88
+ lsls r0, 2
+ adds r1, r0
+ adds r0, r1, 0
+ movs r2, 0x10
+ bl sub_807B0C4
+ ldr r1, [r4]
+ movs r0, 0xB0
+ lsls r0, 2
+ adds r1, r0
+ adds r0, r1, 0
+ movs r2, 0x40
+ bl sub_807B0C4
+ ldr r1, [r4]
+ movs r0, 0xD8
+ lsls r0, 2
+ adds r1, r0
+ adds r0, r1, 0
+ movs r2, 0x50
+ bl sub_807B0C4
+ ldr r0, [r4]
+ ldr r1, _08112318 @ =gUnknown_20371F8
+ adds r2, r5, 0
+ bl CpuSet
+ ldr r1, [r4]
+ adds r0, r6, 0
+ adds r2, r5, 0
+ bl CpuSet
+ adds r0, r6, 0
+ bl sub_8002BC4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112314: .4byte gUnknown_203AE90
+_08112318: .4byte gUnknown_20371F8
+ thumb_func_end sub_811229C
+
+ thumb_func_start sub_811231C
+sub_811231C: @ 811231C
+ push {r4,lr}
+ ldr r4, _0811234C @ =gUnknown_203ADFA
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ bne _08112346
+ ldr r0, _08112350 @ =gUnknown_203AE98
+ bl sub_8110E68
+ bl sub_8110E3C
+ movs r0, 0
+ strb r0, [r4]
+ ldr r0, _08112354 @ =gUnknown_203AE8C
+ movs r1, 0
+ str r1, [r0]
+ ldr r0, _08112358 @ =gUnknown_203AE04
+ str r1, [r0]
+ ldr r0, _0811235C @ =gUnknown_203AE08
+ str r1, [r0]
+ ldr r0, _08112360 @ =gUnknown_3005E88
+ strb r1, [r0]
+_08112346:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811234C: .4byte gUnknown_203ADFA
+_08112350: .4byte gUnknown_203AE98
+_08112354: .4byte gUnknown_203AE8C
+_08112358: .4byte gUnknown_203AE04
+_0811235C: .4byte gUnknown_203AE08
+_08112360: .4byte gUnknown_3005E88
+ thumb_func_end sub_811231C
+
+ thumb_func_start sub_8112364
+sub_8112364: @ 8112364
+ push {r4,r5,lr}
+ ldr r5, _081123A4 @ =gUnknown_3005E88
+ ldrb r0, [r5]
+ cmp r0, 0
+ beq _08112392
+ ldr r4, _081123A8 @ =gUnknown_203ADFA
+ ldrb r0, [r4]
+ cmp r0, 0x1
+ bne _08112392
+ ldr r0, _081123AC @ =gUnknown_203AE98
+ bl sub_8110E68
+ movs r0, 0x1
+ bl sub_8113A1C
+ bl sub_8110E3C
+ movs r0, 0
+ strb r0, [r5]
+ strb r0, [r4]
+ ldr r1, _081123B0 @ =gUnknown_203AE8C
+ movs r0, 0
+ str r0, [r1]
+_08112392:
+ ldr r0, _081123B4 @ =gUnknown_203AE04
+ movs r1, 0
+ str r1, [r0]
+ ldr r0, _081123B8 @ =gUnknown_203AE08
+ str r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081123A4: .4byte gUnknown_3005E88
+_081123A8: .4byte gUnknown_203ADFA
+_081123AC: .4byte gUnknown_203AE98
+_081123B0: .4byte gUnknown_203AE8C
+_081123B4: .4byte gUnknown_203AE04
+_081123B8: .4byte gUnknown_203AE08
+ thumb_func_end sub_8112364
+
+ thumb_func_start sub_81123BC
+sub_81123BC: @ 81123BC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ movs r0, 0xCD
+ lsls r0, 5
+ bl sub_8002BB0
+ mov r8, r0
+ ldr r0, _08112448 @ =gUnknown_203ADF8
+ ldrb r4, [r0]
+ movs r5, 0
+ movs r6, 0
+_081123D6:
+ cmp r4, 0x3
+ bls _081123DC
+ movs r4, 0
+_081123DC:
+ ldr r3, _0811244C @ =gUnknown_3005008
+ ldr r0, [r3]
+ movs r2, 0xCD
+ lsls r2, 3
+ adds r1, r4, 0
+ muls r1, r2
+ adds r0, r1
+ movs r7, 0x98
+ lsls r7, 5
+ adds r1, r0, r7
+ ldrb r0, [r1]
+ cmp r0, 0
+ beq _0811240A
+ adds r0, r5, 0
+ muls r0, r2
+ add r0, r8
+ str r3, [sp]
+ bl memcpy
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r3, [sp]
+_0811240A:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x3
+ bls _081123D6
+ ldr r1, _08112448 @ =gUnknown_203ADF8
+ movs r0, 0x3
+ ands r5, r0
+ strb r5, [r1]
+ ldr r1, [r3]
+ movs r0, 0x98
+ lsls r0, 5
+ adds r1, r0
+ movs r2, 0xCD
+ lsls r2, 4
+ mov r0, r8
+ bl CpuSet
+ mov r0, r8
+ bl sub_8002BC4
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112448: .4byte gUnknown_203ADF8
+_0811244C: .4byte gUnknown_3005008
+ thumb_func_end sub_81123BC
+
+ thumb_func_start sub_8112450
+sub_8112450: @ 8112450
+ push {lr}
+ bl sub_80BF708
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08112466
+ bl sub_8112364
+ bl sub_81123BC
+_08112466:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8112450
+
+ thumb_func_start sub_811246C
+sub_811246C: @ 811246C
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ movs r0, 0x2E
+ ldrsh r1, [r6, r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _081124B0 @ =gUnknown_2036E38
+ adds r4, r0, r1
+ ldrb r0, [r4, 0x8]
+ cmp r0, 0xFF
+ bne _081124B8
+ ldr r5, _081124B4 @ =gUnknown_203AF9A
+ ldrb r0, [r5]
+ cmp r0, 0xFF
+ beq _08112498
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_8063CA4
+ movs r0, 0xFF
+ strb r0, [r5]
+_08112498:
+ ldrb r0, [r5, 0x1]
+ cmp r0, 0xFF
+ beq _081124A6
+ bl sub_8150454
+ movs r0, 0xFF
+ strb r0, [r5, 0x1]
+_081124A6:
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl sub_8063E28
+ b _081124E0
+ .align 2, 0
+_081124B0: .4byte gUnknown_2036E38
+_081124B4: .4byte gUnknown_203AF9A
+_081124B8:
+ ldr r5, _081124E8 @ =gUnknown_203AF9A
+ ldrb r0, [r4, 0x8]
+ lsls r0, 1
+ adds r1, r0, r5
+ ldrb r0, [r1]
+ cmp r0, 0xFF
+ beq _081124D8
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_8063CA4
+ ldrb r0, [r4, 0x8]
+ lsls r0, 1
+ adds r0, r5
+ movs r1, 0xFF
+ strb r1, [r0]
+_081124D8:
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl sub_8063E28
+_081124E0:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081124E8: .4byte gUnknown_203AF9A
+ thumb_func_end sub_811246C
+
+ thumb_func_start sub_81124EC
+sub_81124EC: @ 81124EC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ lsls r2, 24
+ lsrs r2, 24
+ mov r9, r2
+ lsls r3, 24
+ lsrs r3, 24
+ mov r10, r3
+ bl sub_8112CEC
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0
+ bne _0811256E
+ ldr r2, _0811257C @ =gUnknown_203AF98
+ ldrh r0, [r2]
+ ldr r3, _08112580 @ =gUnknown_3005E94
+ ldr r5, [r3]
+ lsls r0, 3
+ adds r0, r5
+ ldr r1, _08112584 @ =gUnknown_203B01A
+ mov r12, r1
+ ldrh r1, [r1]
+ movs r4, 0
+ strh r1, [r0, 0x4]
+ ldrh r0, [r2]
+ lsls r0, 3
+ adds r0, r5
+ strb r4, [r0, 0x6]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r6, [r0]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ mov r4, r8
+ strb r4, [r0, 0x1]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ mov r1, r9
+ strb r1, [r0, 0x2]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ mov r4, r10
+ strb r4, [r0, 0x3]
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ mov r0, r12
+ strh r7, [r0]
+_0811256E:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811257C: .4byte gUnknown_203AF98
+_08112580: .4byte gUnknown_3005E94
+_08112584: .4byte gUnknown_203B01A
+ thumb_func_end sub_81124EC
+
+ thumb_func_start sub_8112588
+sub_8112588: @ 8112588
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r4, [sp, 0x20]
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r1, 24
+ lsrs r6, r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ mov r8, r2
+ lsls r3, 24
+ lsrs r3, 24
+ mov r9, r3
+ lsls r4, 24
+ lsrs r4, 24
+ mov r10, r4
+ bl sub_8112D1C
+ lsls r0, 24
+ cmp r0, 0
+ bne _0811260E
+ ldr r2, _0811261C @ =gUnknown_203AF98
+ ldrh r0, [r2]
+ ldr r3, _08112620 @ =gUnknown_3005E94
+ ldr r5, [r3]
+ lsls r0, 3
+ adds r0, r5
+ ldr r1, _08112624 @ =gUnknown_203B01A
+ mov r12, r1
+ ldrh r1, [r1]
+ movs r4, 0
+ strh r1, [r0, 0x4]
+ ldrh r0, [r2]
+ lsls r0, 3
+ adds r0, r5
+ strb r4, [r0, 0x6]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r7, [r0]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r6, [r0, 0x1]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ mov r4, r8
+ strb r4, [r0, 0x2]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ mov r1, r9
+ strb r1, [r0, 0x3]
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ mov r0, r10
+ mov r4, r12
+ strh r0, [r4]
+_0811260E:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811261C: .4byte gUnknown_203AF98
+_08112620: .4byte gUnknown_3005E94
+_08112624: .4byte gUnknown_203B01A
+ thumb_func_end sub_8112588
+
+ thumb_func_start sub_8112628
+sub_8112628: @ 8112628
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ mov r8, r4
+ bl sub_8112CEC
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0
+ bne _08112692
+ ldr r0, _0811269C @ =gUnknown_203B01C
+ mov r12, r0
+ ldrh r0, [r0]
+ ldr r6, _081126A0 @ =gUnknown_3005E94
+ ldr r5, [r6]
+ lsls r0, 3
+ adds r0, r5
+ ldrb r0, [r0, 0x3]
+ cmp r4, r0
+ bne _08112658
+ cmp r4, 0x3
+ bls _08112692
+_08112658:
+ ldr r2, _081126A4 @ =gUnknown_203AF98
+ ldrh r0, [r2]
+ lsls r0, 3
+ adds r0, r5
+ ldr r4, _081126A8 @ =gUnknown_203B01A
+ ldrh r1, [r4]
+ movs r3, 0
+ strh r1, [r0, 0x4]
+ ldrh r0, [r2]
+ lsls r0, 3
+ adds r0, r5
+ strb r3, [r0, 0x6]
+ ldrh r0, [r2]
+ ldr r1, [r6]
+ lsls r0, 3
+ adds r0, r1
+ strb r3, [r0]
+ ldrh r0, [r2]
+ ldr r1, [r6]
+ lsls r0, 3
+ adds r0, r1
+ mov r1, r8
+ strb r1, [r0, 0x3]
+ ldrh r0, [r2]
+ mov r1, r12
+ strh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r2]
+ strh r7, [r4]
+_08112692:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811269C: .4byte gUnknown_203B01C
+_081126A0: .4byte gUnknown_3005E94
+_081126A4: .4byte gUnknown_203AF98
+_081126A8: .4byte gUnknown_203B01A
+ thumb_func_end sub_8112628
+
+ thumb_func_start sub_81126AC
+sub_81126AC: @ 81126AC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ bl sub_8112D1C
+ lsls r0, 24
+ cmp r0, 0
+ bne _08112704
+ ldr r2, _08112710 @ =gUnknown_203AF98
+ ldrh r0, [r2]
+ ldr r3, _08112714 @ =gUnknown_3005E94
+ ldr r4, [r3]
+ lsls r0, 3
+ adds r0, r4
+ ldr r6, _08112718 @ =gUnknown_203B01A
+ ldrh r1, [r6]
+ movs r5, 0
+ strh r1, [r0, 0x4]
+ ldrh r0, [r2]
+ lsls r0, 3
+ adds r0, r4
+ strb r5, [r0, 0x6]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r5, [r0]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r7, [r0, 0x3]
+ ldr r1, _0811271C @ =gUnknown_203B01C
+ ldrh r0, [r2]
+ strh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r2]
+ mov r0, r8
+ strh r0, [r6]
+_08112704:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112710: .4byte gUnknown_203AF98
+_08112714: .4byte gUnknown_3005E94
+_08112718: .4byte gUnknown_203B01A
+_0811271C: .4byte gUnknown_203B01C
+ thumb_func_end sub_81126AC
+
+ thumb_func_start sub_8112720
+sub_8112720: @ 8112720
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ bl sub_8112D1C
+ lsls r0, 24
+ lsrs r7, r0, 24
+ cmp r7, 0
+ bne _08112774
+ ldr r2, _08112780 @ =gUnknown_203AF98
+ ldrh r0, [r2]
+ ldr r3, _08112784 @ =gUnknown_3005E94
+ ldr r4, [r3]
+ lsls r0, 3
+ adds r0, r4
+ ldr r6, _08112788 @ =gUnknown_203B01A
+ ldrh r1, [r6]
+ movs r5, 0
+ strh r1, [r0, 0x4]
+ ldrh r0, [r2]
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0x1
+ strb r1, [r0, 0x6]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r5, [r0]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ mov r1, r8
+ strb r1, [r0, 0x3]
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ strh r7, [r6]
+_08112774:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112780: .4byte gUnknown_203AF98
+_08112784: .4byte gUnknown_3005E94
+_08112788: .4byte gUnknown_203B01A
+ thumb_func_end sub_8112720
+
+ thumb_func_start sub_811278C
+sub_811278C: @ 811278C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ mov r8, r1
+ bl sub_8112D1C
+ lsls r0, 24
+ cmp r0, 0
+ bne _081127E2
+ ldr r2, _081127EC @ =gUnknown_203AF98
+ ldrh r0, [r2]
+ ldr r3, _081127F0 @ =gUnknown_3005E94
+ ldr r4, [r3]
+ lsls r0, 3
+ adds r0, r4
+ ldr r6, _081127F4 @ =gUnknown_203B01A
+ ldrh r1, [r6]
+ movs r5, 0
+ strh r1, [r0, 0x4]
+ ldrh r0, [r2]
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0x1
+ strb r1, [r0, 0x6]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r5, [r0]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r7, [r0, 0x3]
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ mov r0, r8
+ strh r0, [r6]
+_081127E2:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081127EC: .4byte gUnknown_203AF98
+_081127F0: .4byte gUnknown_3005E94
+_081127F4: .4byte gUnknown_203B01A
+ thumb_func_end sub_811278C
+
+ thumb_func_start sub_81127F8
+sub_81127F8: @ 81127F8
+ push {r4-r6,lr}
+ adds r2, r0, 0
+ ldr r5, _08112874 @ =gUnknown_203AF98
+ ldr r1, _08112878 @ =gUnknown_3005E8C
+ ldrh r0, [r5]
+ ldrh r1, [r1]
+ cmp r0, r1
+ bcs _0811286C
+ ldr r2, [r2]
+ ldr r0, _0811287C @ =0x00ff00f3
+ ands r2, r0
+ ldrh r1, [r5]
+ ldr r3, _08112880 @ =gUnknown_3005E94
+ ldr r4, [r3]
+ lsls r1, 3
+ adds r1, r4
+ ldr r6, _08112884 @ =gUnknown_203B01A
+ ldrh r0, [r6]
+ strh r0, [r1, 0x4]
+ ldrh r0, [r5]
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0x2
+ strb r1, [r0, 0x6]
+ ldrh r0, [r5]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r2, [r0]
+ ldrh r0, [r5]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ lsrs r1, r2, 8
+ strb r1, [r0, 0x1]
+ ldrh r0, [r5]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ lsrs r1, r2, 16
+ strb r1, [r0, 0x2]
+ ldrh r0, [r5]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ lsrs r2, 24
+ strb r2, [r0, 0x3]
+ ldrh r0, [r5]
+ adds r0, 0x1
+ strh r0, [r5]
+ bl sub_8069958
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _0811286A
+ movs r0, 0x1
+_0811286A:
+ strh r0, [r6]
+_0811286C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112874: .4byte gUnknown_203AF98
+_08112878: .4byte gUnknown_3005E8C
+_0811287C: .4byte 0x00ff00f3
+_08112880: .4byte gUnknown_3005E94
+_08112884: .4byte gUnknown_203B01A
+ thumb_func_end sub_81127F8
+
+ thumb_func_start sub_8112888
+sub_8112888: @ 8112888
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08112898
+ cmp r0, 0x2
+ beq _081128A8
+ b _081128B4
+_08112898:
+ ldr r1, _081128A4 @ =gUnknown_3005E88
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ bne _081128B4
+ movs r0, 0x3
+ b _081128B2
+ .align 2, 0
+_081128A4: .4byte gUnknown_3005E88
+_081128A8:
+ ldr r1, _081128B8 @ =gUnknown_3005E88
+ ldrb r0, [r1]
+ cmp r0, 0x3
+ bne _081128B4
+ movs r0, 0x1
+_081128B2:
+ strb r0, [r1]
+_081128B4:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081128B8: .4byte gUnknown_3005E88
+ thumb_func_end sub_8112888
+
+ thumb_func_start sub_81128BC
+sub_81128BC: @ 81128BC
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_8112CAC
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r4, 0x1
+ beq _081128D4
+ cmp r4, 0x2
+ beq _08112928
+ b _08112934
+_081128D4:
+ cmp r1, 0x1
+ bne _081128E4
+ ldr r1, _081128E0 @ =gUnknown_3005E88
+ movs r0, 0x3
+ strb r0, [r1]
+ b _08112934
+ .align 2, 0
+_081128E0: .4byte gUnknown_3005E88
+_081128E4:
+ cmp r1, 0x2
+ bne _08112934
+ ldr r2, _08112918 @ =gUnknown_203AF98
+ ldrh r1, [r2]
+ ldr r0, _0811291C @ =gUnknown_3005E94
+ ldr r3, [r0]
+ lsls r1, 3
+ adds r1, r3
+ ldr r4, _08112920 @ =gUnknown_203B01A
+ ldrh r0, [r4]
+ movs r5, 0
+ strh r0, [r1, 0x4]
+ ldrh r0, [r2]
+ lsls r0, 3
+ adds r0, r3
+ movs r1, 0x3
+ strb r1, [r0, 0x6]
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ strh r5, [r4]
+ ldr r1, _08112924 @ =gUnknown_3005E88
+ movs r0, 0x4
+ strb r0, [r1]
+ b _08112934
+ .align 2, 0
+_08112918: .4byte gUnknown_203AF98
+_0811291C: .4byte gUnknown_3005E94
+_08112920: .4byte gUnknown_203B01A
+_08112924: .4byte gUnknown_3005E88
+_08112928:
+ cmp r1, 0x1
+ beq _08112930
+ cmp r1, 0x2
+ bne _08112934
+_08112930:
+ ldr r0, _0811293C @ =gUnknown_3005E88
+ strb r1, [r0]
+_08112934:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811293C: .4byte gUnknown_3005E88
+ thumb_func_end sub_81128BC
+
+ thumb_func_start sub_8112940
+sub_8112940: @ 8112940
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ adds r3, r1, 0
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r4, r2, 16
+ cmp r0, 0x1
+ beq _08112964
+ cmp r0, 0x2
+ beq _081129E0
+ ldr r1, _08112960 @ =gUnknown_3005E88
+ movs r0, 0
+ strb r0, [r1]
+ b _08112B20
+ .align 2, 0
+_08112960: .4byte gUnknown_3005E88
+_08112964:
+ ldr r2, _081129C0 @ =gUnknown_3005E94
+ str r3, [r2]
+ ldr r1, _081129C4 @ =gUnknown_3005E8C
+ lsrs r0, r4, 19
+ strh r0, [r1]
+ ldr r0, _081129C8 @ =gUnknown_3005E88
+ mov r9, r0
+ adds r1, r2, 0
+ ldr r6, _081129CC @ =gUnknown_203AF9A
+ ldr r2, _081129D0 @ =gUnknown_203AF98
+ ldr r7, _081129D4 @ =gUnknown_203B01C
+ ldr r0, _081129D8 @ =gUnknown_3005E90
+ mov r12, r0
+ ldr r0, _081129DC @ =gUnknown_203B01A
+ mov r8, r0
+ movs r5, 0xFF
+ adds r3, r6, 0
+ movs r4, 0x3F
+_08112988:
+ ldrb r0, [r3]
+ orrs r0, r5
+ strb r0, [r3]
+ ldrb r0, [r3, 0x1]
+ orrs r0, r5
+ strb r0, [r3, 0x1]
+ adds r3, 0x2
+ subs r4, 0x1
+ cmp r4, 0
+ bge _08112988
+ movs r0, 0
+ strh r0, [r2]
+ strh r0, [r7]
+ movs r0, 0
+ mov r2, r12
+ str r0, [r2]
+ ldr r1, [r1]
+ ldrh r0, [r1, 0x4]
+ mov r2, r8
+ strh r0, [r2]
+ ldrb r0, [r1, 0x3]
+ strb r0, [r6]
+ movs r0, 0xFF
+ strb r0, [r6, 0x1]
+ movs r0, 0x1
+ mov r1, r9
+ strb r0, [r1]
+ b _08112B20
+ .align 2, 0
+_081129C0: .4byte gUnknown_3005E94
+_081129C4: .4byte gUnknown_3005E8C
+_081129C8: .4byte gUnknown_3005E88
+_081129CC: .4byte gUnknown_203AF9A
+_081129D0: .4byte gUnknown_203AF98
+_081129D4: .4byte gUnknown_203B01C
+_081129D8: .4byte gUnknown_3005E90
+_081129DC: .4byte gUnknown_203B01A
+_081129E0:
+ ldr r1, _08112A44 @ =gUnknown_3005E94
+ str r3, [r1]
+ ldr r5, _08112A48 @ =gUnknown_3005E8C
+ lsrs r0, r4, 19
+ strh r0, [r5]
+ movs r4, 0
+ ldr r2, _08112A4C @ =gUnknown_203B01A
+ mov r8, r2
+ cmp r4, r0
+ bge _08112A0E
+ adds r6, r1, 0
+ ldr r0, _08112A50 @ =gUnknown_845669C
+ ldr r2, [r0]
+ ldr r3, [r0, 0x4]
+_081129FC:
+ ldr r1, [r6]
+ lsls r0, r4, 3
+ adds r0, r1
+ str r2, [r0]
+ str r3, [r0, 0x4]
+ adds r4, 0x1
+ ldrh r0, [r5]
+ cmp r4, r0
+ blt _081129FC
+_08112A0E:
+ ldr r4, _08112A54 @ =gUnknown_203AF98
+ movs r2, 0
+ strh r2, [r4]
+ mov r1, r8
+ strh r2, [r1]
+ movs r1, 0
+ ldr r3, _08112A44 @ =gUnknown_3005E94
+ ldr r0, [r3]
+ strh r1, [r0, 0x4]
+ strb r2, [r0, 0x6]
+ ldrh r0, [r4]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r2, [r0]
+ bl sub_805C6C4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x4
+ bhi _08112AC8
+ lsls r0, 2
+ ldr r1, _08112A58 @ =_08112A5C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08112A44: .4byte gUnknown_3005E94
+_08112A48: .4byte gUnknown_3005E8C
+_08112A4C: .4byte gUnknown_203B01A
+_08112A50: .4byte gUnknown_845669C
+_08112A54: .4byte gUnknown_203AF98
+_08112A58: .4byte _08112A5C
+ .align 2, 0
+_08112A5C:
+ .4byte _08112A70
+ .4byte _08112A70
+ .4byte _08112AA0
+ .4byte _08112AB8
+ .4byte _08112A88
+_08112A70:
+ ldr r0, _08112A80 @ =gUnknown_203AF98
+ ldrh r0, [r0]
+ ldr r1, _08112A84 @ =gUnknown_3005E94
+ ldr r1, [r1]
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0
+ b _08112AC6
+ .align 2, 0
+_08112A80: .4byte gUnknown_203AF98
+_08112A84: .4byte gUnknown_3005E94
+_08112A88:
+ ldr r0, _08112A98 @ =gUnknown_203AF98
+ ldrh r0, [r0]
+ ldr r1, _08112A9C @ =gUnknown_3005E94
+ ldr r1, [r1]
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x3
+ b _08112AC6
+ .align 2, 0
+_08112A98: .4byte gUnknown_203AF98
+_08112A9C: .4byte gUnknown_3005E94
+_08112AA0:
+ ldr r0, _08112AB0 @ =gUnknown_203AF98
+ ldrh r0, [r0]
+ ldr r1, _08112AB4 @ =gUnknown_3005E94
+ ldr r1, [r1]
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x1
+ b _08112AC6
+ .align 2, 0
+_08112AB0: .4byte gUnknown_203AF98
+_08112AB4: .4byte gUnknown_3005E94
+_08112AB8:
+ ldr r0, _08112B2C @ =gUnknown_203AF98
+ ldrh r0, [r0]
+ ldr r1, _08112B30 @ =gUnknown_3005E94
+ ldr r1, [r1]
+ lsls r0, 3
+ adds r0, r1
+ movs r1, 0x2
+_08112AC6:
+ strb r1, [r0, 0x3]
+_08112AC8:
+ ldr r0, _08112B34 @ =gUnknown_203B01C
+ movs r5, 0
+ strh r5, [r0]
+ ldr r2, _08112B2C @ =gUnknown_203AF98
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ ldrh r0, [r2]
+ ldr r3, _08112B30 @ =gUnknown_3005E94
+ ldr r4, [r3]
+ lsls r0, 3
+ adds r0, r4
+ movs r1, 0
+ strh r1, [r0, 0x4]
+ ldrh r0, [r2]
+ lsls r0, 3
+ adds r0, r4
+ movs r4, 0x2
+ strb r4, [r0, 0x6]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r5, [r0]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r5, [r0, 0x1]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r5, [r0, 0x2]
+ ldrh r0, [r2]
+ ldr r1, [r3]
+ lsls r0, 3
+ adds r0, r1
+ strb r5, [r0, 0x3]
+ ldrh r0, [r2]
+ adds r0, 0x1
+ strh r0, [r2]
+ ldr r0, _08112B38 @ =gUnknown_3005E88
+ strb r4, [r0]
+_08112B20:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112B2C: .4byte gUnknown_203AF98
+_08112B30: .4byte gUnknown_3005E94
+_08112B34: .4byte gUnknown_203B01C
+_08112B38: .4byte gUnknown_3005E88
+ thumb_func_end sub_8112940
+
+ thumb_func_start sub_8112B3C
+sub_8112B3C: @ 8112B3C
+ push {r4-r7,lr}
+ ldr r0, _08112B54 @ =gUnknown_3005E88
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bls _08112B48
+ b _08112C84
+_08112B48:
+ lsls r0, 2
+ ldr r1, _08112B58 @ =_08112B5C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08112B54: .4byte gUnknown_3005E88
+_08112B58: .4byte _08112B5C
+ .align 2, 0
+_08112B5C:
+ .4byte _08112C84
+ .4byte _08112B70
+ .4byte _08112C5E
+ .4byte _08112C84
+ .4byte _08112C84
+_08112B70:
+ bl sub_8112CEC
+ lsls r0, 24
+ cmp r0, 0
+ beq _08112B7C
+ b _08112C72
+_08112B7C:
+ ldr r0, _08112B8C @ =gUnknown_203B01A
+ ldrh r1, [r0]
+ adds r7, r0, 0
+ cmp r1, 0
+ beq _08112B90
+ subs r0, r1, 0x1
+ strh r0, [r7]
+ b _08112C84
+ .align 2, 0
+_08112B8C: .4byte gUnknown_203B01A
+_08112B90:
+ ldr r5, _08112B98 @ =gUnknown_3005E88
+ ldr r4, _08112B9C @ =gUnknown_203AF98
+ ldr r6, _08112BA0 @ =gUnknown_3005E94
+ b _08112BD4
+ .align 2, 0
+_08112B98: .4byte gUnknown_3005E88
+_08112B9C: .4byte gUnknown_203AF98
+_08112BA0: .4byte gUnknown_3005E94
+_08112BA4:
+ ldrh r0, [r4]
+ adds r0, 0x1
+ strh r0, [r4]
+ ldr r1, _08112BF0 @ =gUnknown_3005E8C
+ lsls r0, 16
+ lsrs r0, 16
+ ldrh r1, [r1]
+ cmp r0, r1
+ bcs _08112C58
+ ldrh r0, [r4]
+ ldr r1, [r6]
+ lsls r0, 3
+ adds r0, r1
+ ldrh r0, [r0, 0x4]
+ strh r0, [r7]
+ cmp r2, 0x3
+ beq _08112C84
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ beq _08112BD4
+ ldr r0, _08112BF4 @ =0x0000ffff
+ cmp r1, r0
+ bne _08112C84
+_08112BD4:
+ ldrh r0, [r4]
+ ldr r1, [r6]
+ lsls r0, 3
+ adds r3, r0, r1
+ ldrb r0, [r3, 0x6]
+ cmp r0, 0x2
+ beq _08112C2C
+ cmp r0, 0x2
+ bgt _08112BF8
+ cmp r0, 0
+ beq _08112C0C
+ cmp r0, 0x1
+ beq _08112C18
+ b _08112C50
+ .align 2, 0
+_08112BF0: .4byte gUnknown_3005E8C
+_08112BF4: .4byte 0x0000ffff
+_08112BF8:
+ cmp r0, 0xFE
+ beq _08112C50
+ cmp r0, 0xFE
+ bgt _08112C06
+ cmp r0, 0x3
+ beq _08112C4E
+ b _08112C50
+_08112C06:
+ cmp r0, 0xFF
+ beq _08112C4C
+ b _08112C50
+_08112C0C:
+ ldr r0, _08112C14 @ =gUnknown_203AF9A
+ ldrb r1, [r3]
+ lsls r1, 1
+ b _08112C20
+ .align 2, 0
+_08112C14: .4byte gUnknown_203AF9A
+_08112C18:
+ ldr r0, _08112C28 @ =gUnknown_203AF9A
+ ldrb r1, [r3]
+ lsls r1, 1
+ adds r0, 0x1
+_08112C20:
+ adds r1, r0
+ ldrb r0, [r3, 0x3]
+ strb r0, [r1]
+ b _08112C50
+ .align 2, 0
+_08112C28: .4byte gUnknown_203AF9A
+_08112C2C:
+ ldr r2, _08112C48 @ =gUnknown_3005E90
+ ldrb r1, [r3, 0x3]
+ lsls r1, 24
+ ldrb r0, [r3, 0x2]
+ lsls r0, 16
+ orrs r1, r0
+ ldrb r0, [r3, 0x1]
+ lsls r0, 8
+ orrs r1, r0
+ ldrb r0, [r3]
+ orrs r1, r0
+ str r1, [r2]
+ b _08112C50
+ .align 2, 0
+_08112C48: .4byte gUnknown_3005E90
+_08112C4C:
+ movs r0, 0
+_08112C4E:
+ strb r0, [r5]
+_08112C50:
+ ldrb r2, [r5]
+ cmp r2, 0
+ bne _08112BA4
+ b _08112C84
+_08112C58:
+ movs r0, 0
+ strb r0, [r5]
+ b _08112C84
+_08112C5E:
+ bl sub_8069958
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08112C84
+ ldr r1, _08112C8C @ =gUnknown_203B01A
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_08112C72:
+ ldr r0, _08112C90 @ =gUnknown_203AF98
+ ldr r1, _08112C94 @ =gUnknown_3005E8C
+ ldrh r0, [r0]
+ ldrh r1, [r1]
+ cmp r0, r1
+ bcc _08112C84
+ ldr r1, _08112C98 @ =gUnknown_3005E88
+ movs r0, 0
+ strb r0, [r1]
+_08112C84:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112C8C: .4byte gUnknown_203B01A
+_08112C90: .4byte gUnknown_203AF98
+_08112C94: .4byte gUnknown_3005E8C
+_08112C98: .4byte gUnknown_3005E88
+ thumb_func_end sub_8112B3C
+
+ thumb_func_start sub_8112C9C
+sub_8112C9C: @ 8112C9C
+ ldr r1, _08112CA8 @ =gUnknown_203B01A
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ bx lr
+ .align 2, 0
+_08112CA8: .4byte gUnknown_203B01A
+ thumb_func_end sub_8112C9C
+
+ thumb_func_start sub_8112CAC
+sub_8112CAC: @ 8112CAC
+ push {lr}
+ ldr r0, _08112CC0 @ =gUnknown_3005E88
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bhi _08112CDC
+ lsls r0, 2
+ ldr r1, _08112CC4 @ =_08112CC8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08112CC0: .4byte gUnknown_3005E88
+_08112CC4: .4byte _08112CC8
+ .align 2, 0
+_08112CC8:
+ .4byte _08112CDC
+ .4byte _08112CE0
+ .4byte _08112CE4
+ .4byte _08112CE0
+ .4byte _08112CE4
+_08112CDC:
+ movs r0, 0
+ b _08112CE6
+_08112CE0:
+ movs r0, 0x1
+ b _08112CE6
+_08112CE4:
+ movs r0, 0x2
+_08112CE6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8112CAC
+
+ thumb_func_start sub_8112CEC
+sub_8112CEC: @ 8112CEC
+ push {lr}
+ ldr r0, _08112D0C @ =gUnknown_203AF98
+ ldr r1, _08112D10 @ =gUnknown_3005E8C
+ ldrh r0, [r0]
+ ldrh r1, [r1]
+ cmp r0, r1
+ bcs _08112D06
+ bl sub_8069958
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08112D14
+_08112D06:
+ movs r0, 0x1
+ b _08112D16
+ .align 2, 0
+_08112D0C: .4byte gUnknown_203AF98
+_08112D10: .4byte gUnknown_3005E8C
+_08112D14:
+ movs r0, 0
+_08112D16:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8112CEC
+
+ thumb_func_start sub_8112D1C
+sub_8112D1C: @ 8112D1C
+ push {lr}
+ ldr r0, _08112D30 @ =gUnknown_203AF98
+ ldr r1, _08112D34 @ =gUnknown_3005E8C
+ ldrh r0, [r0]
+ ldrh r1, [r1]
+ cmp r0, r1
+ bcs _08112D38
+ movs r0, 0
+ b _08112D3A
+ .align 2, 0
+_08112D30: .4byte gUnknown_203AF98
+_08112D34: .4byte gUnknown_3005E8C
+_08112D38:
+ movs r0, 0x1
+_08112D3A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8112D1C
+
+ thumb_func_start sub_8112D40
+sub_8112D40: @ 8112D40
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ lsls r1, 16
+ lsrs r5, r1, 16
+ ldr r0, _08112D6C @ =gUnknown_203AF98
+ ldrh r1, [r0]
+ cmp r1, 0
+ beq _08112D66
+ ldr r0, _08112D70 @ =gUnknown_3005E8C
+ ldrh r0, [r0]
+ cmp r1, r0
+ bcs _08112D66
+ ldr r4, _08112D74 @ =gUnknown_203B01E
+ ldr r1, _08112D78 @ =gUnknown_3002020
+ ldrh r0, [r4]
+ ldrh r1, [r1]
+ cmp r0, r1
+ bcc _08112D7C
+_08112D66:
+ movs r0, 0
+ b _08112DA8
+ .align 2, 0
+_08112D6C: .4byte gUnknown_203AF98
+_08112D70: .4byte gUnknown_3005E8C
+_08112D74: .4byte gUnknown_203B01E
+_08112D78: .4byte gUnknown_3002020
+_08112D7C:
+ ldrh r3, [r4]
+ ldr r0, _08112DA0 @ =gUnknown_300201C
+ ldr r1, [r0]
+ lsls r0, r3, 2
+ adds r2, r0, r1
+ ldr r1, [r2]
+ lsls r0, r1, 17
+ lsrs r0, 17
+ cmp r0, r5
+ bne _08112DA4
+ lsls r0, r1, 16
+ lsrs r0, 31
+ cmp r0, r6
+ bne _08112DA4
+ adds r1, r2, 0x2
+ adds r0, r3, 0x1
+ strh r0, [r4]
+ b _08112DA6
+ .align 2, 0
+_08112DA0: .4byte gUnknown_300201C
+_08112DA4:
+ movs r1, 0
+_08112DA6:
+ adds r0, r1, 0
+_08112DA8:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8112D40
+
+ thumb_func_start sub_8112DB0
+sub_8112DB0: @ 8112DB0
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r1, 16
+ lsrs r3, r1, 16
+ lsls r2, 16
+ lsrs r2, 16
+ mov r12, r2
+ ldr r0, _08112E20 @ =gUnknown_203AF98
+ ldrh r1, [r0]
+ cmp r1, 0
+ beq _08112E18
+ ldr r0, _08112E24 @ =gUnknown_3005E8C
+ ldrh r0, [r0]
+ cmp r1, r0
+ bcs _08112E18
+ ldr r6, _08112E28 @ =gUnknown_203B01E
+ ldr r1, _08112E2C @ =gUnknown_3002020
+ ldrh r0, [r6]
+ ldrh r1, [r1]
+ cmp r0, r1
+ bcs _08112E18
+ adds r2, r0, 0
+ ldr r5, _08112E30 @ =gUnknown_300201C
+ ldr r4, [r5]
+ lsls r2, 2
+ adds r2, r4
+ ldr r1, _08112E34 @ =0x00007fff
+ ands r1, r3
+ ldrh r3, [r2]
+ ldr r0, _08112E38 @ =0xffff8000
+ ands r0, r3
+ orrs r0, r1
+ strh r0, [r2]
+ ldrh r1, [r6]
+ lsls r1, 2
+ adds r1, r4
+ lsls r3, r7, 7
+ ldrb r2, [r1, 0x1]
+ movs r0, 0x7F
+ ands r0, r2
+ orrs r0, r3
+ strb r0, [r1, 0x1]
+ ldrh r0, [r6]
+ ldr r1, [r5]
+ lsls r0, 2
+ adds r0, r1
+ mov r1, r12
+ strh r1, [r0, 0x2]
+ ldrh r0, [r6]
+ adds r0, 0x1
+ strh r0, [r6]
+_08112E18:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112E20: .4byte gUnknown_203AF98
+_08112E24: .4byte gUnknown_3005E8C
+_08112E28: .4byte gUnknown_203B01E
+_08112E2C: .4byte gUnknown_3002020
+_08112E30: .4byte gUnknown_300201C
+_08112E34: .4byte 0x00007fff
+_08112E38: .4byte 0xffff8000
+ thumb_func_end sub_8112DB0
+
+ thumb_func_start sub_8112E3C
+sub_8112E3C: @ 8112E3C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsls r2, 16
+ lsrs r3, r0, 24
+ movs r4, 0xFF
+ lsls r4, 24
+ adds r0, r4
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _08112E5C
+ ldr r1, _08112E58 @ =gUnknown_3005E88
+ movs r0, 0
+ strb r0, [r1]
+ b _08112E8E
+ .align 2, 0
+_08112E58: .4byte gUnknown_3005E88
+_08112E5C:
+ ldr r5, _08112E94 @ =gUnknown_300201C
+ str r1, [r5]
+ ldr r1, _08112E98 @ =gUnknown_3002020
+ lsrs r0, r2, 18
+ strh r0, [r1]
+ ldr r1, _08112E9C @ =gUnknown_203B01E
+ movs r0, 0
+ strh r0, [r1]
+ cmp r3, 0x2
+ bne _08112E8E
+ movs r2, 0
+ ldr r4, _08112EA0 @ =gUnknown_3005E8C
+ ldrh r0, [r4]
+ cmp r2, r0
+ bge _08112E8E
+ ldr r0, _08112EA4 @ =gUnknown_84566A4
+ ldr r3, [r0]
+_08112E7E:
+ ldr r1, [r5]
+ lsls r0, r2, 2
+ adds r0, r1
+ str r3, [r0]
+ adds r2, 0x1
+ ldrh r0, [r4]
+ cmp r2, r0
+ blt _08112E7E
+_08112E8E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112E94: .4byte gUnknown_300201C
+_08112E98: .4byte gUnknown_3002020
+_08112E9C: .4byte gUnknown_203B01E
+_08112EA0: .4byte gUnknown_3005E8C
+_08112EA4: .4byte gUnknown_84566A4
+ thumb_func_end sub_8112E3C
+
+ thumb_func_start sub_8112EA8
+sub_8112EA8: @ 8112EA8
+ ldr r1, _08112EB0 @ =gUnknown_203B020
+ movs r0, 0xFF
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_08112EB0: .4byte gUnknown_203B020
+ thumb_func_end sub_8112EA8
+
+ thumb_func_start sub_8112EB4
+sub_8112EB4: @ 8112EB4
+ push {r4,lr}
+ ldr r4, _08112ED4 @ =gUnknown_203B020
+ ldrb r0, [r4]
+ cmp r0, 0xFF
+ bne _08112ECC
+ ldr r0, _08112ED8 @ =gUnknown_8456928
+ bl sub_8003CE4
+ strb r0, [r4]
+ ldrb r0, [r4]
+ bl sub_8003FA0
+_08112ECC:
+ ldrb r0, [r4]
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08112ED4: .4byte gUnknown_203B020
+_08112ED8: .4byte gUnknown_8456928
+ thumb_func_end sub_8112EB4
+
+ thumb_func_start sub_8112EDC
+sub_8112EDC: @ 8112EDC
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r4, _08112F14 @ =gUnknown_203B020
+ ldrb r0, [r4]
+ cmp r0, 0xFF
+ beq _08112F0C
+ movs r1, 0
+ bl sub_800445C
+ ldrb r0, [r4]
+ bl sub_80040B8
+ cmp r5, 0
+ beq _08112F02
+ ldrb r0, [r4]
+ adds r1, r5, 0
+ bl sub_8003F20
+_08112F02:
+ ldrb r0, [r4]
+ bl sub_8003E3C
+ movs r0, 0xFF
+ strb r0, [r4]
+_08112F0C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112F14: .4byte gUnknown_203B020
+ thumb_func_end sub_8112EDC
+
+ thumb_func_start sub_8112F18
+sub_8112F18: @ 8112F18
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r0, 24
+ mov r10, r0
+ movs r1, 0x3
+ bl sub_8004950
+ lsls r0, 24
+ lsrs r6, r0, 24
+ mov r0, r10
+ movs r1, 0x4
+ bl sub_8004950
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r0, r7, 5
+ muls r0, r6
+ bl sub_8002B9C
+ mov r8, r0
+ cmp r0, 0
+ beq _08112FB8
+ movs r5, 0
+ adds r0, r6, 0
+ muls r0, r7
+ str r0, [sp]
+ cmp r5, r7
+ bcs _08112FA2
+_08112F5A:
+ movs r4, 0
+ adds r1, r5, 0x1
+ mov r9, r1
+ cmp r4, r6
+ bcs _08112F98
+ subs r3, r7, 0x1
+_08112F66:
+ movs r0, 0
+ cmp r5, 0
+ beq _08112F74
+ movs r0, 0x5
+ cmp r5, r3
+ bne _08112F74
+ movs r0, 0xE
+_08112F74:
+ lsls r0, 5
+ ldr r1, _08112FC8 @ =gUnknown_84566A8
+ adds r0, r1, r0
+ adds r1, r5, 0
+ muls r1, r6
+ adds r1, r4
+ lsls r1, 5
+ add r1, r8
+ ldr r2, _08112FCC @ =0x04000008
+ str r3, [sp, 0x4]
+ bl CpuSet
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r3, [sp, 0x4]
+ cmp r4, r6
+ bcc _08112F66
+_08112F98:
+ mov r1, r9
+ lsls r0, r1, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _08112F5A
+_08112FA2:
+ ldr r0, [sp]
+ lsls r2, r0, 21
+ lsrs r2, 16
+ mov r0, r10
+ mov r1, r8
+ movs r3, 0
+ bl sub_8004404
+ mov r0, r8
+ bl sub_8002BC4
+_08112FB8:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112FC8: .4byte gUnknown_84566A8
+_08112FCC: .4byte 0x04000008
+ thumb_func_end sub_8112F18
+
+ thumb_func_start sub_8112FD0
+sub_8112FD0: @ 8112FD0
+ push {lr}
+ ldr r0, _08112FE0 @ =gUnknown_203B020
+ ldrb r0, [r0]
+ bl sub_8112F18
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08112FE0: .4byte gUnknown_203B020
+ thumb_func_end sub_8112FD0
+
+ thumb_func_start sub_8112FE4
+sub_8112FE4: @ 8112FE4
+ push {lr}
+ sub sp, 0x14
+ adds r2, r0, 0
+ ldr r0, _08113010 @ =gUnknown_203B020
+ ldrb r0, [r0]
+ movs r1, 0x1
+ str r1, [sp]
+ str r1, [sp, 0x4]
+ ldr r1, _08113014 @ =gUnknown_8456930
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ negs r1, r1
+ str r1, [sp, 0xC]
+ str r2, [sp, 0x10]
+ movs r1, 0x2
+ movs r2, 0x2
+ movs r3, 0x5
+ bl sub_812E5A4
+ add sp, 0x14
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08113010: .4byte gUnknown_203B020
+_08113014: .4byte gUnknown_8456930
+ thumb_func_end sub_8112FE4
+
+ thumb_func_start sub_8113018
+sub_8113018: @ 8113018
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r1, 24
+ lsrs r5, r1, 24
+ bl sub_8112FD0
+ adds r0, r4, 0
+ bl sub_8112FE4
+ cmp r5, 0
+ beq _08113038
+ ldr r0, _08113040 @ =gUnknown_203B020
+ ldrb r0, [r0]
+ adds r1, r5, 0
+ bl sub_8003F20
+_08113038:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08113040: .4byte gUnknown_203B020
+ thumb_func_end sub_8113018
+
+ thumb_func_start sub_8113044
+sub_8113044: @ 8113044
+ push {lr}
+ ldr r0, _0811305C @ =0x00004038
+ movs r1, 0
+ bl sub_806E584
+ ldr r0, _08113060 @ =0x00004039
+ movs r1, 0
+ bl sub_806E584
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811305C: .4byte 0x00004038
+_08113060: .4byte 0x00004039
+ thumb_func_end sub_8113044
+
+ thumb_func_start sub_8113064
+sub_8113064: @ 8113064
+ push {lr}
+ ldr r0, _08113074 @ =0x00004038
+ bl sub_806E454
+ bl sub_8113078
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08113074: .4byte 0x00004038
+ thumb_func_end sub_8113064
+
+ thumb_func_start sub_8113078
+sub_8113078: @ 8113078
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_8113508
+ lsls r0, 24
+ cmp r0, 0
+ beq _08113098
+ adds r0, r4, 0
+ bl sub_81132E0
+ ldr r0, _081130A0 @ =0x00004039
+ ldr r1, _081130A4 @ =gUnknown_300500C
+ ldr r1, [r1]
+ ldrh r1, [r1, 0xE]
+ bl sub_806E584
+_08113098:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081130A0: .4byte 0x00004039
+_081130A4: .4byte gUnknown_300500C
+ thumb_func_end sub_8113078
+
+ thumb_func_start sub_81130A8
+sub_81130A8: @ 81130A8
+ push {lr}
+ ldr r0, _081130B8 @ =0x00004038
+ bl sub_806E454
+ bl sub_81130BC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081130B8: .4byte 0x00004038
+ thumb_func_end sub_81130A8
+
+ thumb_func_start sub_81130BC
+sub_81130BC: @ 81130BC
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrb r1, [r4]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08113102
+ adds r0, r4, 0
+ bl sub_8113524
+ adds r0, r4, 0
+ bl sub_8113390
+ ldr r0, _08113108 @ =0x00004039
+ ldr r1, _0811310C @ =gUnknown_300500C
+ ldr r1, [r1]
+ ldrh r1, [r1, 0xE]
+ bl sub_806E584
+ movs r0, 0x6C
+ bl sub_806E6A8
+ movs r0, 0x6D
+ bl sub_806E6A8
+ movs r0, 0x6E
+ bl sub_806E6A8
+ movs r0, 0x6F
+ bl sub_806E6A8
+ ldr r0, _08113110 @ =0x00004073
+ movs r1, 0x1
+ bl sub_806E584
+_08113102:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08113108: .4byte 0x00004039
+_0811310C: .4byte gUnknown_300500C
+_08113110: .4byte 0x00004073
+ thumb_func_end sub_81130BC
+
+ thumb_func_start sub_8113114
+sub_8113114: @ 8113114
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r1, 24
+ lsrs r5, r1, 24
+ ldr r0, _0811315C @ =0x00004073
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ bne _08113188
+ ldr r0, [r4]
+ lsls r2, r0, 25
+ lsrs r1, r2, 25
+ ldr r0, _08113160 @ =gUnknown_8456934
+ adds r0, r5, r0
+ ldrb r0, [r0]
+ adds r1, r0
+ cmp r1, 0x13
+ ble _08113174
+ adds r0, r4, 0
+ bl sub_81132A0
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ bhi _08113164
+ adds r0, r4, 0
+ bl sub_8113194
+ ldrb r1, [r4]
+ movs r0, 0x80
+ negs r0, r0
+ ands r0, r1
+ b _08113186
+ .align 2, 0
+_0811315C: .4byte 0x00004073
+_08113160: .4byte gUnknown_8456934
+_08113164:
+ ldrb r0, [r4]
+ movs r1, 0x80
+ negs r1, r1
+ ands r1, r0
+ movs r0, 0x14
+ orrs r1, r0
+ strb r1, [r4]
+ b _08113188
+_08113174:
+ lsrs r1, r2, 25
+ adds r1, r0
+ movs r0, 0x7F
+ ands r1, r0
+ ldrb r2, [r4]
+ movs r0, 0x80
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+_08113186:
+ strb r0, [r4]
+_08113188:
+ ldr r0, [r4]
+ lsls r0, 25
+ lsrs r0, 25
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113114
+
+ thumb_func_start sub_8113194
+sub_8113194: @ 8113194
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r5, r0, 0
+ movs r0, 0
+ mov r8, r0
+ movs r6, 0
+ movs r7, 0x1
+_081131A4:
+ ldrb r1, [r5, 0x1]
+ ldr r0, _081131D0 @ =gUnknown_8456938
+ adds r0, r6, r0
+ ldrb r4, [r0]
+ asrs r1, r4
+ ands r1, r7
+ cmp r1, 0
+ bne _081131D4
+ mov r8, r6
+ bl sub_8044EC8
+ adds r1, r7, 0
+ ands r1, r0
+ cmp r1, 0
+ beq _081131D4
+ adds r0, r7, 0
+ lsls r0, r4
+ ldrb r1, [r5, 0x1]
+ orrs r0, r1
+ strb r0, [r5, 0x1]
+ adds r0, r4, 0
+ b _081131EE
+ .align 2, 0
+_081131D0: .4byte gUnknown_8456938
+_081131D4:
+ adds r0, r6, 0x1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0x7
+ bls _081131A4
+ ldr r0, _081131F8 @ =gUnknown_8456938
+ add r0, r8
+ ldrb r0, [r0]
+ movs r1, 0x1
+ lsls r1, r0
+ ldrb r2, [r5, 0x1]
+ orrs r1, r2
+ strb r1, [r5, 0x1]
+_081131EE:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081131F8: .4byte gUnknown_8456938
+ thumb_func_end sub_8113194
+
+ thumb_func_start sub_81131FC
+sub_81131FC: @ 81131FC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ sub sp, 0x4
+ adds r7, r0, 0
+ movs r0, 0
+ mov r8, r0
+ adds r0, r7, 0
+ bl sub_81132A0
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1
+ bne _08113228
+ movs r0, 0
+ b _08113276
+_0811321C:
+ lsls r4, r6
+ ldrb r0, [r7, 0x1]
+ eors r4, r0
+ strb r4, [r7, 0x1]
+ adds r0, r6, 0
+ b _08113276
+_08113228:
+ movs r5, 0
+ movs r4, 0x1
+_0811322C:
+ ldrb r1, [r7, 0x1]
+ ldr r2, _08113284 @ =gUnknown_8456940
+ adds r0, r5, r2
+ ldrb r6, [r0]
+ asrs r1, r6
+ ands r1, r4
+ cmp r1, 0
+ beq _0811324E
+ mov r8, r5
+ str r2, [sp]
+ bl sub_8044EC8
+ adds r1, r4, 0
+ ands r1, r0
+ ldr r2, [sp]
+ cmp r1, 0
+ bne _0811321C
+_0811324E:
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x7
+ bls _0811322C
+ ldrb r1, [r7, 0x1]
+ mov r3, r8
+ adds r0, r3, r2
+ ldrb r2, [r0]
+ adds r0, r1, 0
+ asrs r0, r2
+ movs r3, 0x1
+ ands r0, r3
+ cmp r0, 0
+ beq _08113274
+ adds r0, r3, 0
+ lsls r0, r2
+ eors r1, r0
+ strb r1, [r7, 0x1]
+_08113274:
+ adds r0, r2, 0
+_08113276:
+ add sp, 0x4
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08113284: .4byte gUnknown_8456940
+ thumb_func_end sub_81131FC
+
+ thumb_func_start sub_8113288
+sub_8113288: @ 8113288
+ push {lr}
+ ldr r0, _0811329C @ =0x00004038
+ bl sub_806E454
+ bl sub_81132A0
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0811329C: .4byte 0x00004038
+ thumb_func_end sub_8113288
+
+ thumb_func_start sub_81132A0
+sub_81132A0: @ 81132A0
+ push {r4,lr}
+ movs r2, 0
+ movs r1, 0
+ ldrb r3, [r0, 0x1]
+ movs r4, 0x1
+_081132AA:
+ adds r0, r3, 0
+ asrs r0, r1
+ ands r0, r4
+ cmp r0, 0
+ beq _081132BA
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+_081132BA:
+ adds r0, r1, 0x1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x7
+ bls _081132AA
+ adds r0, r2, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81132A0
+
+ thumb_func_start sub_81132CC
+sub_81132CC: @ 81132CC
+ push {lr}
+ ldr r0, _081132DC @ =0x00004038
+ bl sub_806E454
+ bl sub_81132E0
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081132DC: .4byte 0x00004038
+ thumb_func_end sub_81132CC
+
+ thumb_func_start sub_81132E0
+sub_81132E0: @ 81132E0
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ movs r5, 0
+ ldr r2, _081132F8 @ =gUnknown_300500C
+ ldr r0, [r2]
+ ldrh r1, [r0, 0xE]
+ ldr r0, _081132FC @ =0x000003e6
+ cmp r1, r0
+ bhi _0811335C
+ adds r6, r2, 0
+ b _08113338
+ .align 2, 0
+_081132F8: .4byte gUnknown_300500C
+_081132FC: .4byte 0x000003e6
+_08113300:
+ ldr r0, _08113354 @ =0x00004039
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r1, [r6]
+ ldrh r1, [r1, 0xE]
+ subs r1, r0
+ cmp r1, 0xB
+ ble _0811335C
+ adds r0, r4, 0
+ bl sub_81131FC
+ ldr r0, _08113354 @ =0x00004039
+ bl sub_806E568
+ adds r1, r0, 0
+ lsls r1, 16
+ movs r0, 0xC0
+ lsls r0, 12
+ adds r1, r0
+ lsrs r1, 16
+ ldr r0, _08113354 @ =0x00004039
+ bl sub_806E584
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+_08113338:
+ adds r0, r4, 0
+ bl sub_81132A0
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x4
+ bhi _08113358
+ ldr r0, [r6]
+ ldrh r1, [r0, 0xE]
+ ldr r0, _08113354 @ =0x00004039
+ bl sub_806E584
+ b _0811335C
+ .align 2, 0
+_08113354: .4byte 0x00004039
+_08113358:
+ cmp r5, 0x8
+ bne _08113300
+_0811335C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81132E0
+
+ thumb_func_start sub_8113364
+sub_8113364: @ 8113364
+ push {lr}
+ ldr r0, _08113378 @ =0x00004038
+ bl sub_806E454
+ bl sub_811337C
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08113378: .4byte 0x00004038
+ thumb_func_end sub_8113364
+
+ thumb_func_start sub_811337C
+sub_811337C: @ 811337C
+ ldrb r0, [r0, 0x1]
+ ldr r1, _0811338C @ =gUnknown_20370C0
+ ldrh r1, [r1]
+ asrs r0, r1
+ movs r1, 0x1
+ ands r0, r1
+ bx lr
+ .align 2, 0
+_0811338C: .4byte gUnknown_20370C0
+ thumb_func_end sub_811337C
+
+ thumb_func_start sub_8113390
+sub_8113390: @ 8113390
+ ldrb r2, [r0, 0x1]
+ movs r1, 0x1
+ orrs r1, r2
+ movs r2, 0x2
+ orrs r1, r2
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0, 0x1]
+ bx lr
+ thumb_func_end sub_8113390
+
+ thumb_func_start sub_81133A4
+sub_81133A4: @ 81133A4
+ push {lr}
+ movs r3, 0
+ movs r2, 0
+ ldr r0, _081133BC @ =gUnknown_20370C0
+ ldrh r0, [r0]
+ cmp r0, 0x7
+ bhi _081133F8
+ lsls r0, 2
+ ldr r1, _081133C0 @ =_081133C4
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081133BC: .4byte gUnknown_20370C0
+_081133C0: .4byte _081133C4
+ .align 2, 0
+_081133C4:
+ .4byte _081133E4
+ .4byte _081133F8
+ .4byte _081133F8
+ .4byte _081133F8
+ .4byte _081133EA
+ .4byte _081133F0
+ .4byte _081133F4
+ .4byte _081133F8
+_081133E4:
+ movs r2, 0
+ movs r3, 0
+ b _081133F8
+_081133EA:
+ movs r2, 0x1
+ movs r3, 0
+ b _081133F8
+_081133F0:
+ movs r2, 0
+ b _081133F6
+_081133F4:
+ movs r2, 0x2
+_081133F6:
+ movs r3, 0x1
+_081133F8:
+ ldr r0, _0811340C @ =gUnknown_300500C
+ ldr r0, [r0]
+ ldr r1, _08113410 @ =0x00000a98
+ adds r0, r1
+ adds r1, r3, 0
+ bl sub_8113414
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0811340C: .4byte gUnknown_300500C
+_08113410: .4byte 0x00000a98
+ thumb_func_end sub_81133A4
+
+ thumb_func_start sub_8113414
+sub_8113414: @ 8113414
+ push {r4,lr}
+ lsls r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ adds r3, r2, 0
+ lsrs r1, 20
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0xFF
+ bne _08113478
+ cmp r2, 0x1
+ beq _08113436
+ cmp r2, 0x1
+ ble _0811345C
+ cmp r3, 0x2
+ beq _08113448
+ b _0811345C
+_08113436:
+ ldr r0, _08113440 @ =gUnknown_2021CD0
+ ldr r1, _08113444 @ =gUnknown_84178D0
+ bl sub_8008D84
+ b _081134B2
+ .align 2, 0
+_08113440: .4byte gUnknown_2021CD0
+_08113444: .4byte gUnknown_84178D0
+_08113448:
+ ldr r0, _08113454 @ =gUnknown_2021CD0
+ ldr r1, _08113458 @ =gUnknown_84178DA
+ bl sub_8008D84
+ b _081134B2
+ .align 2, 0
+_08113454: .4byte gUnknown_2021CD0
+_08113458: .4byte gUnknown_84178DA
+_0811345C:
+ ldr r0, _0811346C @ =gUnknown_2021CD0
+ ldr r1, _08113470 @ =gUnknown_3005008
+ ldr r1, [r1]
+ ldr r2, _08113474 @ =0x00003a4c
+ adds r1, r2
+ bl sub_8008D84
+ b _081134B2
+ .align 2, 0
+_0811346C: .4byte gUnknown_2021CD0
+_08113470: .4byte gUnknown_3005008
+_08113474: .4byte 0x00003a4c
+_08113478:
+ ldr r4, _08113498 @ =gUnknown_2021CD0
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl sub_8008DBC
+ movs r0, 0xFF
+ strb r0, [r4, 0x7]
+ ldrb r0, [r4]
+ cmp r0, 0xFC
+ bne _081134B2
+ ldrb r0, [r4, 0x1]
+ cmp r0, 0x15
+ bne _081134B2
+ adds r4, 0x2
+ b _0811349E
+ .align 2, 0
+_08113498: .4byte gUnknown_2021CD0
+_0811349C:
+ adds r4, 0x1
+_0811349E:
+ ldrb r0, [r4]
+ cmp r0, 0xFF
+ bne _0811349C
+ movs r0, 0xFC
+ strb r0, [r4]
+ adds r4, 0x1
+ movs r0, 0x16
+ strb r0, [r4]
+ movs r0, 0xFF
+ strb r0, [r4, 0x1]
+_081134B2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8113414
+
+ thumb_func_start sub_81134B8
+sub_81134B8: @ 81134B8
+ push {lr}
+ ldr r0, _081134C8 @ =0x00004038
+ bl sub_806E454
+ bl sub_81134CC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081134C8: .4byte 0x00004038
+ thumb_func_end sub_81134B8
+
+ thumb_func_start sub_81134CC
+sub_81134CC: @ 81134CC
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, _081134F4 @ =0x00004073
+ bl sub_806E568
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x2
+ bne _08113502
+ adds r0, r4, 0
+ bl sub_8113078
+ ldr r0, _081134F8 @ =gUnknown_2023E8A
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _081134FC
+ adds r0, r4, 0
+ bl sub_8113194
+ b _08113502
+ .align 2, 0
+_081134F4: .4byte 0x00004073
+_081134F8: .4byte gUnknown_2023E8A
+_081134FC:
+ adds r0, r4, 0
+ bl sub_81131FC
+_08113502:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81134CC
+
+ thumb_func_start sub_8113508
+sub_8113508: @ 8113508
+ ldr r0, [r0]
+ lsls r0, 24
+ lsrs r0, 31
+ bx lr
+ thumb_func_end sub_8113508
+
+ thumb_func_start sub_8113510
+sub_8113510: @ 8113510
+ push {lr}
+ ldr r0, _08113520 @ =0x00004038
+ bl sub_806E454
+ bl sub_8113524
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08113520: .4byte 0x00004038
+ thumb_func_end sub_8113510
+
+ thumb_func_start sub_8113524
+sub_8113524: @ 8113524
+ ldrb r1, [r0]
+ movs r2, 0x80
+ orrs r1, r2
+ strb r1, [r0]
+ bx lr
+ thumb_func_end sub_8113524
+
+ thumb_func_start sub_8113530
+sub_8113530: @ 8113530
+ push {lr}
+ ldr r0, _08113548 @ =0x00004038
+ bl sub_806E454
+ ldr r1, _0811354C @ =gUnknown_20370C0
+ ldrb r1, [r1]
+ bl sub_8113114
+ lsls r0, 24
+ lsrs r0, 24
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08113548: .4byte 0x00004038
+_0811354C: .4byte gUnknown_20370C0
+ thumb_func_end sub_8113530
+
+ thumb_func_start sub_8113550
+sub_8113550: @ 8113550
+ push {r4,r5,lr}
+ adds r5, r1, 0
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x23
+ bne _08113570
+ ldr r0, _0811356C @ =gUnknown_203B048
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _08113570
+ bl sub_811381C
+ b _081136BC
+ .align 2, 0
+_0811356C: .4byte gUnknown_203B048
+_08113570:
+ bl sub_811381C
+ ldr r0, _0811362C @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _0811357E
+ b _081136BC
+_0811357E:
+ subs r0, r4, 0x3
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x27
+ bls _0811358A
+ b _081136BC
+_0811358A:
+ bl sub_81136D4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08113598
+ b _081136BC
+_08113598:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_81138A0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _081135AA
+ b _081136BC
+_081135AA:
+ bl sub_80BF708
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _081135B8
+ b _081136BC
+_081135B8:
+ bl sub_811B0D0
+ cmp r0, 0x1
+ bne _081135C2
+ b _081136BC
+_081135C2:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8113954
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _081136BC
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8113A44
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _081136BC
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_81153E4
+ lsls r0, 24
+ cmp r0, 0
+ beq _081136BC
+ ldr r0, _08113630 @ =gUnknown_3005E88
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08113638
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8113778
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _081136BC
+ cmp r4, 0x1F
+ bne _08113614
+ ldr r0, _08113634 @ =gUnknown_203AE04
+ ldr r0, [r0]
+ cmp r0, 0
+ bne _0811363C
+_08113614:
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_81153A8
+ lsls r0, 24
+ cmp r0, 0
+ beq _081136BC
+ adds r0, r4, 0
+ bl sub_8110AEC
+ b _0811363C
+ .align 2, 0
+_0811362C: .4byte gUnknown_203ADFA
+_08113630: .4byte gUnknown_3005E88
+_08113634: .4byte gUnknown_203AE04
+_08113638:
+ cmp r4, 0x28
+ beq _081136BC
+_0811363C:
+ adds r0, r4, 0
+ bl sub_8113B94
+ cmp r4, 0x1F
+ bne _0811367C
+ ldr r2, _0811365C @ =gUnknown_203AE04
+ ldr r1, [r2]
+ cmp r1, 0
+ bne _08113668
+ ldr r0, _08113660 @ =gUnknown_203AE08
+ ldr r0, [r0]
+ str r0, [r2]
+ ldr r1, _08113664 @ =gUnknown_8456948
+ ldr r2, [r1, 0x7C]
+ b _0811368E
+ .align 2, 0
+_0811365C: .4byte gUnknown_203AE04
+_08113660: .4byte gUnknown_203AE08
+_08113664: .4byte gUnknown_8456948
+_08113668:
+ ldr r0, _08113678 @ =gUnknown_8456948
+ ldr r2, [r0, 0x7C]
+ adds r0, r1, 0
+ adds r1, r5, 0
+ bl _call_via_r2
+ b _081136BC
+ .align 2, 0
+_08113678: .4byte gUnknown_8456948
+_0811367C:
+ ldr r1, _081136C4 @ =gUnknown_203AE04
+ movs r0, 0
+ str r0, [r1]
+ ldr r0, _081136C8 @ =gUnknown_8456948
+ lsls r1, r4, 2
+ adds r1, r0
+ ldr r0, _081136CC @ =gUnknown_203AE08
+ ldr r0, [r0]
+ ldr r2, [r1]
+_0811368E:
+ adds r1, r5, 0
+ bl _call_via_r2
+ adds r1, r0, 0
+ cmp r1, 0
+ bne _081136AC
+ bl sub_811231C
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_8113828
+ adds r1, r0, 0
+ cmp r1, 0
+ beq _081136BC
+_081136AC:
+ ldr r0, _081136CC @ =gUnknown_203AE08
+ str r1, [r0]
+ ldr r0, _081136D0 @ =gUnknown_203B048
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _081136BC
+ bl sub_811231C
+_081136BC:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081136C4: .4byte gUnknown_203AE04
+_081136C8: .4byte gUnknown_8456948
+_081136CC: .4byte gUnknown_203AE08
+_081136D0: .4byte gUnknown_203B048
+ thumb_func_end sub_8113550
+
+ thumb_func_start sub_81136D4
+sub_81136D4: @ 81136D4
+ push {lr}
+ ldr r0, _08113728 @ =gUnknown_3005008
+ ldr r2, [r0]
+ movs r1, 0x4
+ ldrsb r1, [r2, r1]
+ adds r3, r0, 0
+ cmp r1, 0x2
+ bne _081136F0
+ ldrb r0, [r2, 0x5]
+ subs r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xA
+ bls _08113724
+_081136F0:
+ ldr r2, [r3]
+ ldrh r1, [r2, 0x4]
+ ldr r0, _0811372C @ =0x0000090e
+ cmp r1, r0
+ beq _08113724
+ movs r0, 0x4
+ ldrsb r0, [r2, r0]
+ cmp r0, 0x1F
+ bne _08113708
+ ldrb r0, [r2, 0x5]
+ cmp r0, 0x1
+ bls _08113724
+_08113708:
+ ldr r0, [r3]
+ ldrh r1, [r0, 0x4]
+ ldr r0, _08113730 @ =0x00002e01
+ cmp r1, r0
+ beq _08113724
+ ldr r0, _08113734 @ =0x00003a01
+ cmp r1, r0
+ beq _08113724
+ ldr r0, _08113738 @ =0x00000b02
+ cmp r1, r0
+ beq _08113724
+ ldr r0, _0811373C @ =0x0000060a
+ cmp r1, r0
+ bne _08113740
+_08113724:
+ movs r0, 0x1
+ b _08113742
+ .align 2, 0
+_08113728: .4byte gUnknown_3005008
+_0811372C: .4byte 0x0000090e
+_08113730: .4byte 0x00002e01
+_08113734: .4byte 0x00003a01
+_08113738: .4byte 0x00000b02
+_0811373C: .4byte 0x0000060a
+_08113740:
+ movs r0, 0
+_08113742:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81136D4
+
+ thumb_func_start sub_8113748
+sub_8113748: @ 8113748
+ push {lr}
+ bl sub_81136D4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08113770
+ ldr r0, _08113764 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ cmp r0, 0x2
+ bne _08113768
+ movs r0, 0x1
+ b _08113772
+ .align 2, 0
+_08113764: .4byte gUnknown_203ADFA
+_08113768:
+ cmp r0, 0x1
+ bne _08113770
+ bl sub_8112364
+_08113770:
+ movs r0, 0
+_08113772:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113748
+
+ thumb_func_start sub_8113778
+sub_8113778: @ 8113778
+ push {r4,r5,lr}
+ adds r5, r1, 0
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x24
+ beq _081137CE
+ cmp r4, 0xB
+ beq _081137CE
+ ldr r0, _081137D4 @ =0x0000082c
+ bl sub_806E6D0
+ lsls r0, 24
+ cmp r0, 0
+ bne _081137AC
+ cmp r4, 0x3
+ beq _081137CE
+ cmp r4, 0x1F
+ beq _081137CE
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_81137E4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _081137CE
+_081137AC:
+ ldr r0, _081137D8 @ =0x00000844
+ bl sub_806E6D0
+ lsls r0, 24
+ cmp r0, 0
+ bne _081137DC
+ subs r0, r4, 0x4
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x6
+ bls _081137CE
+ cmp r4, 0x16
+ beq _081137CE
+ cmp r4, 0x19
+ beq _081137CE
+ cmp r4, 0x1A
+ bne _081137DC
+_081137CE:
+ movs r0, 0x1
+ b _081137DE
+ .align 2, 0
+_081137D4: .4byte 0x0000082c
+_081137D8: .4byte 0x00000844
+_081137DC:
+ movs r0, 0
+_081137DE:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113778
+
+ thumb_func_start sub_81137E4
+sub_81137E4: @ 81137E4
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x22
+ bne _08113814
+ ldr r2, _08113810 @ =gUnknown_823EAC8
+ ldrh r1, [r1]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrb r1, [r0, 0x1]
+ cmp r1, 0x51
+ beq _08113814
+ cmp r1, 0x59
+ beq _08113814
+ cmp r1, 0x5A
+ beq _08113814
+ cmp r1, 0x53
+ beq _08113814
+ movs r0, 0x1
+ b _08113816
+ .align 2, 0
+_08113810: .4byte gUnknown_823EAC8
+_08113814:
+ movs r0, 0
+_08113816:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81137E4
+
+ thumb_func_start sub_811381C
+sub_811381C: @ 811381C
+ ldr r1, _08113824 @ =gUnknown_203B048
+ movs r0, 0
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_08113824: .4byte gUnknown_203B048
+ thumb_func_end sub_811381C
+
+ thumb_func_start sub_8113828
+sub_8113828: @ 8113828
+ push {r4,r5,lr}
+ adds r5, r1, 0
+ lsls r0, 16
+ lsrs r4, r0, 16
+ adds r0, r4, 0
+ bl sub_8113778
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _0811384C
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_81153A8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08113850
+_0811384C:
+ movs r0, 0
+ b _0811388C
+_08113850:
+ adds r0, r4, 0
+ bl sub_8110AEC
+ adds r0, r4, 0
+ bl sub_8113B94
+ cmp r4, 0x1F
+ bne _08113874
+ ldr r2, _0811386C @ =gUnknown_203AE04
+ ldr r1, _08113870 @ =gUnknown_203AE08
+ ldr r0, [r1]
+ str r0, [r2]
+ adds r2, r1, 0
+ b _0811387C
+ .align 2, 0
+_0811386C: .4byte gUnknown_203AE04
+_08113870: .4byte gUnknown_203AE08
+_08113874:
+ ldr r1, _08113894 @ =gUnknown_203AE04
+ movs r0, 0
+ str r0, [r1]
+ ldr r2, _08113898 @ =gUnknown_203AE08
+_0811387C:
+ ldr r0, _0811389C @ =gUnknown_8456948
+ lsls r1, r4, 2
+ adds r1, r0
+ ldr r0, [r2]
+ ldr r2, [r1]
+ adds r1, r5, 0
+ bl _call_via_r2
+_0811388C:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08113894: .4byte gUnknown_203AE04
+_08113898: .4byte gUnknown_203AE08
+_0811389C: .4byte gUnknown_8456948
+ thumb_func_end sub_8113828
+
+ thumb_func_start sub_81138A0
+sub_81138A0: @ 81138A0
+ push {r4,r5,lr}
+ adds r5, r1, 0
+ lsls r0, 16
+ lsrs r0, 16
+ adds r4, r0, 0
+ subs r0, 0xC
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x7
+ bls _081138B8
+ movs r0, 0
+ b _081138F0
+_081138B8:
+ bl sub_81138F8
+ ldr r1, _081138E0 @ =gUnknown_203B024
+ strh r4, [r1]
+ adds r0, r4, 0
+ subs r0, 0x10
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1
+ bls _081138EE
+ cmp r4, 0xC
+ beq _081138D4
+ cmp r4, 0x12
+ bne _081138E4
+_081138D4:
+ adds r0, r1, 0x4
+ adds r1, r5, 0
+ movs r2, 0xC
+ bl memcpy
+ b _081138EE
+ .align 2, 0
+_081138E0: .4byte gUnknown_203B024
+_081138E4:
+ adds r0, r1, 0x4
+ adds r1, r5, 0
+ movs r2, 0x18
+ bl memcpy
+_081138EE:
+ movs r0, 0x1
+_081138F0:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81138A0
+
+ thumb_func_start sub_81138F8
+sub_81138F8: @ 81138F8
+ push {lr}
+ ldr r0, _08113908 @ =gUnknown_203B024
+ movs r1, 0
+ movs r2, 0x20
+ bl memset
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08113908: .4byte gUnknown_203B024
+ thumb_func_end sub_81138F8
+
+ thumb_func_start sub_811390C
+sub_811390C: @ 811390C
+ push {r4,r5,lr}
+ ldr r5, _08113944 @ =gUnknown_203B024
+ ldrh r0, [r5]
+ cmp r0, 0
+ beq _0811393C
+ ldr r1, _08113948 @ =gUnknown_203B04A
+ movs r0, 0
+ strb r0, [r1]
+ ldrh r0, [r5]
+ bl sub_8110AEC
+ ldr r0, _0811394C @ =gUnknown_8456948
+ ldrh r2, [r5]
+ lsls r2, 2
+ adds r2, r0
+ ldr r4, _08113950 @ =gUnknown_203AE08
+ ldr r0, [r4]
+ adds r1, r5, 0x4
+ ldr r2, [r2]
+ bl _call_via_r2
+ str r0, [r4]
+ bl sub_81138F8
+_0811393C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08113944: .4byte gUnknown_203B024
+_08113948: .4byte gUnknown_203B04A
+_0811394C: .4byte gUnknown_8456948
+_08113950: .4byte gUnknown_203AE08
+ thumb_func_end sub_811390C
+
+ thumb_func_start sub_8113954
+sub_8113954: @ 8113954
+ push {r4,r5,lr}
+ adds r5, r1, 0
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x22
+ beq _08113970
+ cmp r4, 0x1E
+ beq _08113970
+ cmp r4, 0x20
+ beq _08113970
+ cmp r4, 0x21
+ beq _08113970
+ movs r0, 0
+ b _081139A8
+_08113970:
+ bl sub_81138F8
+ ldr r0, _081139B0 @ =gUnknown_3005E88
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _08113998
+ ldr r0, _081139B4 @ =0x0000082c
+ bl sub_806E6D0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08113998
+ adds r0, r4, 0
+ adds r1, r5, 0
+ bl sub_81137E4
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _081139A6
+_08113998:
+ ldr r0, _081139B8 @ =gUnknown_203B024
+ strh r4, [r0]
+ adds r0, 0x4
+ adds r1, r5, 0
+ movs r2, 0x8
+ bl memcpy
+_081139A6:
+ movs r0, 0x1
+_081139A8:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081139B0: .4byte gUnknown_3005E88
+_081139B4: .4byte 0x0000082c
+_081139B8: .4byte gUnknown_203B024
+ thumb_func_end sub_8113954
+
+ thumb_func_start sub_81139BC
+sub_81139BC: @ 81139BC
+ push {r4,r5,lr}
+ ldr r5, _08113A08 @ =gUnknown_203B024
+ ldrh r0, [r5]
+ cmp r0, 0
+ beq _08113A02
+ ldr r0, _08113A0C @ =gUnknown_3005E88
+ ldrb r1, [r0]
+ cmp r1, 0
+ bne _081139D8
+ ldr r0, _08113A10 @ =gUnknown_203B04A
+ strb r1, [r0]
+ ldrh r0, [r5]
+ bl sub_8110AEC
+_081139D8:
+ ldrh r0, [r5]
+ bl sub_8113B94
+ ldr r0, _08113A14 @ =gUnknown_8456948
+ ldrh r2, [r5]
+ lsls r2, 2
+ adds r2, r0
+ ldr r4, _08113A18 @ =gUnknown_203AE08
+ ldr r0, [r4]
+ adds r1, r5, 0x4
+ ldr r2, [r2]
+ bl _call_via_r2
+ str r0, [r4]
+ movs r0, 0x1
+ bl sub_8113A1C
+ bl sub_81138F8
+ bl sub_811231C
+_08113A02:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08113A08: .4byte gUnknown_203B024
+_08113A0C: .4byte gUnknown_3005E88
+_08113A10: .4byte gUnknown_203B04A
+_08113A14: .4byte gUnknown_8456948
+_08113A18: .4byte gUnknown_203AE08
+ thumb_func_end sub_81139BC
+
+ thumb_func_start sub_8113A1C
+sub_8113A1C: @ 8113A1C
+ push {r4,lr}
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ ldr r4, _08113A3C @ =gUnknown_203AE08
+ ldr r0, [r4]
+ bl sub_8113C5C
+ str r0, [r4]
+ ldr r1, _08113A40 @ =gUnknown_203AF98
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08113A3C: .4byte gUnknown_203AE08
+_08113A40: .4byte gUnknown_203AF98
+ thumb_func_end sub_8113A1C
+
+ thumb_func_start sub_8113A44
+sub_8113A44: @ 8113A44
+ push {r4,lr}
+ adds r4, r1, 0
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x1F
+ bne _08113A6C
+ ldrh r0, [r4]
+ bl sub_8114FBC
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08113A70
+ ldrh r0, [r4, 0x2]
+ bl sub_8114FBC
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08113A70
+_08113A6C:
+ movs r0, 0
+ b _08113A72
+_08113A70:
+ movs r0, 0x1
+_08113A72:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113A44
+
+ thumb_func_start sub_8113A78
+sub_8113A78: @ 8113A78
+ push {r4,r5,lr}
+ adds r3, r0, 0
+ adds r5, r1, 0
+ ldrh r1, [r3]
+ ldr r0, _08113AAC @ =0x00000fff
+ ands r0, r1
+ adds r2, r0, 0
+ lsrs r4, r1, 12
+ cmp r2, 0x21
+ bne _08113A8E
+ movs r4, 0
+_08113A8E:
+ subs r0, r2, 0x3
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x27
+ bhi _08113AB4
+ str r3, [r5]
+ ldr r0, _08113AB0 @ =gUnknown_8456AA0
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ subs r1, r0, 0x4
+ muls r1, r4
+ adds r0, r1
+ adds r0, r3, r0
+ b _08113AB6
+ .align 2, 0
+_08113AAC: .4byte 0x00000fff
+_08113AB0: .4byte gUnknown_8456AA0
+_08113AB4:
+ movs r0, 0
+_08113AB6:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113A78
+
+ thumb_func_start sub_8113ABC
+sub_8113ABC: @ 8113ABC
+ push {lr}
+ adds r2, r0, 0x4
+ ldrh r1, [r0]
+ ldr r0, _08113AD0 @ =0x00000fff
+ ands r0, r1
+ cmp r0, 0x23
+ beq _08113AD8
+ ldr r1, _08113AD4 @ =gUnknown_203B04A
+ movs r0, 0
+ b _08113ADE
+ .align 2, 0
+_08113AD0: .4byte 0x00000fff
+_08113AD4: .4byte gUnknown_203B04A
+_08113AD8:
+ ldr r1, _08113AE4 @ =gUnknown_203B04A
+ ldrb r0, [r2, 0x1]
+ adds r0, 0x1
+_08113ADE:
+ strb r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08113AE4: .4byte gUnknown_203B04A
+ thumb_func_end sub_8113ABC
+
+ thumb_func_start sub_8113AE8
+sub_8113AE8: @ 8113AE8
+ push {r4,lr}
+ adds r4, r0, 0
+ cmp r0, 0
+ beq _08113AFA
+ ldr r1, _08113B00 @ =gUnknown_203AF98
+ ldrh r0, [r0, 0x2]
+ ldrh r1, [r1]
+ cmp r0, r1
+ bls _08113B04
+_08113AFA:
+ movs r0, 0
+ b _08113B32
+ .align 2, 0
+_08113B00: .4byte gUnknown_203AF98
+_08113B04:
+ ldr r2, _08113B38 @ =gUnknown_84569F4
+ ldrh r1, [r4]
+ ldr r0, _08113B3C @ =0x00000fff
+ ands r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldr r1, [r0]
+ adds r0, r4, 0
+ bl _call_via_r1
+ ldr r2, _08113B40 @ =gUnknown_203B044
+ ldrh r1, [r4]
+ strb r1, [r2]
+ movs r0, 0xF0
+ lsls r0, 8
+ ands r0, r1
+ lsrs r0, 12
+ strb r0, [r2, 0x1]
+ cmp r0, 0
+ beq _08113B30
+ movs r0, 0x1
+ strh r0, [r2, 0x2]
+_08113B30:
+ movs r0, 0x1
+_08113B32:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08113B38: .4byte gUnknown_84569F4
+_08113B3C: .4byte 0x00000fff
+_08113B40: .4byte gUnknown_203B044
+ thumb_func_end sub_8113AE8
+
+ thumb_func_start sub_8113B44
+sub_8113B44: @ 8113B44
+ push {r4,lr}
+ adds r2, r0, 0
+ ldr r4, _08113B54 @ =gUnknown_203B044
+ ldrh r0, [r4, 0x2]
+ cmp r0, 0
+ bne _08113B58
+ movs r0, 0
+ b _08113B7E
+ .align 2, 0
+_08113B54: .4byte gUnknown_203B044
+_08113B58:
+ ldr r1, _08113B84 @ =gUnknown_84569F4
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ adds r0, r2, 0
+ bl _call_via_r1
+ ldrh r0, [r4, 0x2]
+ adds r0, 0x1
+ strh r0, [r4, 0x2]
+ lsls r0, 16
+ lsrs r0, 16
+ ldrb r4, [r4, 0x1]
+ cmp r0, r4
+ bls _08113B7C
+ bl sub_8113B88
+_08113B7C:
+ movs r0, 0x1
+_08113B7E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08113B84: .4byte gUnknown_84569F4
+ thumb_func_end sub_8113B44
+
+ thumb_func_start sub_8113B88
+sub_8113B88: @ 8113B88
+ ldr r1, _08113B90 @ =gUnknown_203B044
+ movs r0, 0
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_08113B90: .4byte gUnknown_203B044
+ thumb_func_end sub_8113B88
+
+ thumb_func_start sub_8113B94
+sub_8113B94: @ 8113B94
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r0, 16
+ adds r4, r0, 0
+ ldr r2, _08113BC0 @ =gUnknown_203B044
+ ldrb r1, [r2]
+ lsls r0, r4, 24
+ lsrs r0, 24
+ ldr r3, _08113BC4 @ =gUnknown_203AF98
+ cmp r1, r0
+ bne _08113BB2
+ ldrh r1, [r2, 0x2]
+ ldrh r0, [r3]
+ cmp r1, r0
+ beq _08113BC8
+_08113BB2:
+ movs r0, 0
+ strb r4, [r2]
+ strb r0, [r2, 0x1]
+ ldrh r0, [r3]
+ strh r0, [r2, 0x2]
+ b _08113BD2
+ .align 2, 0
+_08113BC0: .4byte gUnknown_203B044
+_08113BC4: .4byte gUnknown_203AF98
+_08113BC8:
+ ldrb r0, [r2, 0x1]
+ cmp r0, 0x4
+ bhi _08113BD2
+ adds r0, 0x1
+ strb r0, [r2, 0x1]
+_08113BD2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8113B94
+
+ thumb_func_start sub_8113BD8
+sub_8113BD8: @ 8113BD8
+ ldr r0, _08113BE8 @ =gUnknown_203B049
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, _08113BEC @ =gUnknown_203B04A
+ strb r1, [r0]
+ ldr r0, _08113BF0 @ =gUnknown_203B04B
+ strb r1, [r0]
+ bx lr
+ .align 2, 0
+_08113BE8: .4byte gUnknown_203B049
+_08113BEC: .4byte gUnknown_203B04A
+_08113BF0: .4byte gUnknown_203B04B
+ thumb_func_end sub_8113BD8
+
+ thumb_func_start sub_8113BF4
+sub_8113BF4: @ 8113BF4
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, _08113C14 @ =gUnknown_8456AA0
+ adds r0, 0x27
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ bl sub_8110988
+ lsls r0, 24
+ cmp r0, 0
+ beq _08113C18
+ movs r0, 0x27
+ strh r0, [r4]
+ adds r0, r4, 0x2
+ b _08113C1A
+ .align 2, 0
+_08113C14: .4byte gUnknown_8456AA0
+_08113C18:
+ movs r0, 0
+_08113C1A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113BF4
+
+ thumb_func_start sub_8113C20
+sub_8113C20: @ 8113C20
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ ldr r0, _08113C50 @ =gUnknown_8456AA0
+ adds r0, 0x27
+ ldrb r1, [r0]
+ adds r0, r5, 0
+ bl sub_8110988
+ lsls r0, 24
+ cmp r0, 0
+ beq _08113C54
+ movs r0, 0xFF
+ strb r0, [r4, 0x6]
+ movs r1, 0
+ movs r0, 0
+ strh r0, [r4, 0x4]
+ strb r1, [r4]
+ strb r1, [r4, 0x1]
+ strb r1, [r4, 0x2]
+ strb r1, [r4, 0x3]
+ adds r0, r5, 0x2
+ b _08113C56
+ .align 2, 0
+_08113C50: .4byte gUnknown_8456AA0
+_08113C54:
+ movs r0, 0
+_08113C56:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113C20
+
+ thumb_func_start sub_8113C5C
+sub_8113C5C: @ 8113C5C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r1, 16
+ lsrs r5, r1, 16
+ ldr r0, _08113C80 @ =gUnknown_8456AA0
+ adds r0, 0x29
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ bl sub_8110988
+ lsls r0, 24
+ cmp r0, 0
+ beq _08113C84
+ movs r0, 0x29
+ strh r0, [r4]
+ strh r5, [r4, 0x2]
+ adds r0, r4, 0x4
+ b _08113C86
+ .align 2, 0
+_08113C80: .4byte gUnknown_8456AA0
+_08113C84:
+ movs r0, 0
+_08113C86:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113C5C
+
+ thumb_func_start sub_8113C8C
+sub_8113C8C: @ 8113C8C
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ ldr r0, _08113CBC @ =gUnknown_8456AA0
+ adds r0, 0x29
+ ldrb r1, [r0]
+ adds r0, r5, 0
+ bl sub_8110988
+ lsls r0, 24
+ cmp r0, 0
+ beq _08113CC0
+ movs r0, 0xFE
+ strb r0, [r4, 0x6]
+ ldrh r1, [r5, 0x2]
+ movs r0, 0
+ strh r1, [r4, 0x4]
+ strb r0, [r4]
+ strb r0, [r4, 0x1]
+ strb r0, [r4, 0x2]
+ strb r0, [r4, 0x3]
+ adds r0, r5, 0x4
+ b _08113CC2
+ .align 2, 0
+_08113CBC: .4byte gUnknown_8456AA0
+_08113CC0:
+ movs r0, 0
+_08113CC2:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113C8C
+
+ thumb_func_start sub_8113CC8
+sub_8113CC8: @ 8113CC8
+ push {r4-r6,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ adds r6, r4, 0x4
+ ldr r0, _08113CFC @ =gUnknown_8456AA0
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ bl sub_8110988
+ lsls r0, 24
+ cmp r0, 0
+ beq _08113D00
+ movs r0, 0
+ strh r0, [r4]
+ ldrh r0, [r5, 0x4]
+ strh r0, [r4, 0x2]
+ ldrb r0, [r5]
+ strb r0, [r4, 0x4]
+ ldrb r0, [r5, 0x1]
+ strb r0, [r6, 0x1]
+ ldrb r0, [r5, 0x2]
+ strb r0, [r6, 0x2]
+ ldrb r0, [r5, 0x3]
+ strb r0, [r6, 0x3]
+ adds r0, r6, 0x4
+ b _08113D02
+ .align 2, 0
+_08113CFC: .4byte gUnknown_8456AA0
+_08113D00:
+ movs r0, 0
+_08113D02:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113CC8
+
+ thumb_func_start sub_8113D08
+sub_8113D08: @ 8113D08
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r4, r1, 0
+ adds r6, r5, 0x4
+ ldr r0, _08113D3C @ =gUnknown_8456AA0
+ ldrb r1, [r0]
+ adds r0, r5, 0
+ bl sub_8110988
+ lsls r0, 24
+ cmp r0, 0
+ beq _08113D40
+ movs r0, 0x2
+ strb r0, [r4, 0x6]
+ ldrh r0, [r5, 0x2]
+ strh r0, [r4, 0x4]
+ ldrb r0, [r5, 0x4]
+ strb r0, [r4]
+ ldrb r0, [r6, 0x1]
+ strb r0, [r4, 0x1]
+ ldrb r0, [r6, 0x2]
+ strb r0, [r4, 0x2]
+ ldrb r0, [r6, 0x3]
+ strb r0, [r4, 0x3]
+ adds r0, r6, 0x4
+ b _08113D42
+ .align 2, 0
+_08113D3C: .4byte gUnknown_8456AA0
+_08113D40:
+ movs r0, 0
+_08113D42:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113D08
+
+ thumb_func_start sub_8113D48
+sub_8113D48: @ 8113D48
+ push {r4-r6,lr}
+ adds r5, r1, 0
+ adds r4, r0, 0
+ adds r6, r4, 0x4
+ ldr r0, _08113D64 @ =gUnknown_8456AA0
+ ldrb r1, [r0, 0x2]
+ adds r0, r4, 0
+ bl sub_8110988
+ lsls r0, 24
+ cmp r0, 0
+ bne _08113D68
+ movs r0, 0
+ b _08113D8C
+ .align 2, 0
+_08113D64: .4byte gUnknown_8456AA0
+_08113D68:
+ ldrb r0, [r5, 0x6]
+ cmp r0, 0
+ bne _08113D72
+ movs r0, 0x2
+ b _08113D74
+_08113D72:
+ movs r0, 0x1
+_08113D74:
+ strh r0, [r4]
+ ldrh r0, [r5, 0x4]
+ strh r0, [r4, 0x2]
+ ldrb r0, [r5]
+ strb r0, [r6]
+ ldrb r0, [r5, 0x1]
+ strb r0, [r6, 0x1]
+ ldrb r0, [r5, 0x2]
+ strb r0, [r6, 0x2]
+ ldrb r0, [r5, 0x3]
+ strb r0, [r6, 0x3]
+ adds r0, r6, 0x4
+_08113D8C:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113D48
+
+ thumb_func_start sub_8113D94
+sub_8113D94: @ 8113D94
+ push {r4-r6,lr}
+ adds r4, r1, 0
+ adds r5, r0, 0
+ adds r6, r5, 0x4
+ ldr r0, _08113DB0 @ =gUnknown_8456AA0
+ ldrb r1, [r0, 0x2]
+ adds r0, r5, 0
+ bl sub_8110988
+ lsls r0, 24
+ cmp r0, 0
+ bne _08113DB4
+ movs r0, 0
+ b _08113DD8
+ .align 2, 0
+_08113DB0: .4byte gUnknown_8456AA0
+_08113DB4:
+ ldrh r0, [r5]
+ cmp r0, 0x2
+ bne _08113DBE
+ movs r0, 0
+ b _08113DC0
+_08113DBE:
+ movs r0, 0x1
+_08113DC0:
+ strb r0, [r4, 0x6]
+ ldrh r0, [r5, 0x2]
+ strh r0, [r4, 0x4]
+ ldrb r0, [r6]
+ strb r0, [r4]
+ ldrb r0, [r6, 0x1]
+ strb r0, [r4, 0x1]
+ ldrb r0, [r6, 0x2]
+ strb r0, [r4, 0x2]
+ ldrb r0, [r6, 0x3]
+ strb r0, [r4, 0x3]
+ adds r0, r6, 0x4
+_08113DD8:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113D94
+
+ thumb_func_start sub_8113DE0
+sub_8113DE0: @ 8113DE0
+ push {r4-r7,lr}
+ adds r4, r1, 0
+ lsls r0, 16
+ lsrs r7, r0, 16
+ ldr r0, _08113DF8 @ =gUnknown_203B044
+ ldrb r0, [r0, 0x1]
+ cmp r0, 0
+ bne _08113E00
+ ldr r0, _08113DFC @ =gUnknown_8456AA0
+ adds r0, r7, r0
+ ldrb r6, [r0]
+ b _08113E0C
+ .align 2, 0
+_08113DF8: .4byte gUnknown_203B044
+_08113DFC: .4byte gUnknown_8456AA0
+_08113E00:
+ ldr r0, _08113E20 @ =gUnknown_8456AA0
+ adds r0, r7, r0
+ ldrb r0, [r0]
+ subs r0, 0x4
+ lsls r0, 24
+ lsrs r6, r0, 24
+_08113E0C:
+ adds r0, r4, 0
+ adds r1, r6, 0
+ bl sub_8110944
+ lsls r0, 24
+ cmp r0, 0
+ bne _08113E24
+ movs r0, 0
+ b _08113E7C
+ .align 2, 0
+_08113E20: .4byte gUnknown_8456AA0
+_08113E24:
+ adds r5, r4, 0
+ ldr r2, _08113E60 @ =gUnknown_203B044
+ ldrb r1, [r2, 0x1]
+ cmp r1, 0
+ beq _08113E36
+ adds r0, r1, 0
+ muls r0, r6
+ adds r0, 0x4
+ subs r5, r0
+_08113E36:
+ cmp r1, 0x5
+ bne _08113E64
+ movs r4, 0
+_08113E3C:
+ adds r0, r4, 0
+ muls r0, r6
+ adds r0, r5
+ adds r0, 0x4
+ adds r4, 0x1
+ adds r1, r4, 0
+ muls r1, r6
+ adds r1, r5
+ adds r1, 0x4
+ adds r2, r6, 0
+ bl memcpy
+ lsls r4, 24
+ lsrs r4, 24
+ cmp r4, 0x3
+ bls _08113E3C
+ movs r1, 0x4
+ b _08113E66
+ .align 2, 0
+_08113E60: .4byte gUnknown_203B044
+_08113E64:
+ ldrb r1, [r2, 0x1]
+_08113E66:
+ lsls r0, r1, 12
+ adds r0, r7, r0
+ strh r0, [r5]
+ ldr r0, _08113E84 @ =gUnknown_203AF98
+ ldrh r0, [r0]
+ strh r0, [r5, 0x2]
+ adds r0, r1, 0
+ muls r0, r6
+ adds r0, 0x4
+ adds r5, r0
+ adds r0, r5, 0
+_08113E7C:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08113E84: .4byte gUnknown_203AF98
+ thumb_func_end sub_8113DE0
+
+ thumb_func_start sub_8113E88
+sub_8113E88: @ 8113E88
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r2, _08113EA4 @ =gUnknown_203B044
+ ldrh r3, [r2, 0x2]
+ ldr r2, _08113EA8 @ =gUnknown_8456AA0
+ adds r0, r2
+ ldrb r0, [r0]
+ subs r0, 0x4
+ muls r0, r3
+ adds r0, 0x4
+ adds r1, r0
+ adds r0, r1, 0
+ bx lr
+ .align 2, 0
+_08113EA4: .4byte gUnknown_203B044
+_08113EA8: .4byte gUnknown_8456AA0
+ thumb_func_end sub_8113E88
+
+ thumb_func_start sub_8113EAC
+sub_8113EAC: @ 8113EAC
+ push {r4,r5,lr}
+ adds r3, r1, 0
+ lsls r0, 16
+ lsrs r1, r0, 16
+ adds r4, r1, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r5, r2, 0
+ cmp r3, 0
+ beq _08113EE0
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r1, r0
+ beq _08113ED0
+ adds r0, r3, 0
+ bl sub_8040FD0
+ b _08113F08
+_08113ED0:
+ ldr r1, _08113EDC @ =gUnknown_8415A62
+ adds r0, r3, 0
+ bl sub_8008D84
+ b _08113F08
+ .align 2, 0
+_08113EDC: .4byte gUnknown_8415A62
+_08113EE0:
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r4, r0
+ beq _08113F00
+ movs r0, 0xB
+ adds r1, r4, 0
+ muls r1, r0
+ ldr r0, _08113EFC @ =gUnknown_8245EE0
+ adds r1, r0
+ adds r0, r2, 0
+ bl sub_813CCAC
+ b _08113F08
+ .align 2, 0
+_08113EFC: .4byte gUnknown_8245EE0
+_08113F00:
+ ldr r1, _08113F10 @ =gUnknown_8415A62
+ adds r0, r5, 0
+ bl sub_813CCAC
+_08113F08:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08113F10: .4byte gUnknown_8415A62
+ thumb_func_end sub_8113EAC
+
+ thumb_func_start sub_8113F14
+sub_8113F14: @ 8113F14
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x3
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _08113F34
+ ldrh r0, [r4]
+ strh r0, [r2]
+ ldrh r0, [r4, 0x2]
+ strh r0, [r2, 0x2]
+ adds r0, r2, 0x4
+ b _08113F36
+_08113F34:
+ movs r0, 0
+_08113F36:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8113F14
+
+ thumb_func_start sub_8113F3C
+sub_8113F3C: @ 8113F3C
+ push {r4,lr}
+ adds r1, r0, 0
+ movs r0, 0x3
+ bl sub_8113E88
+ adds r4, r0, 0
+ ldrh r0, [r4]
+ ldr r1, _08113F70 @ =gUnknown_2021CD0
+ movs r2, 0
+ bl sub_8113EAC
+ ldrh r0, [r4, 0x2]
+ ldr r1, _08113F74 @ =gUnknown_2021CF0
+ movs r2, 0
+ bl sub_8113EAC
+ ldr r0, _08113F78 @ =gUnknown_2021D18
+ ldr r1, _08113F7C @ =gUnknown_841A16F
+ bl sub_8008FCC
+ adds r4, 0x4
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08113F70: .4byte gUnknown_2021CD0
+_08113F74: .4byte gUnknown_2021CF0
+_08113F78: .4byte gUnknown_2021D18
+_08113F7C: .4byte gUnknown_841A16F
+ thumb_func_end sub_8113F3C
+
+ thumb_func_start sub_8113F80
+sub_8113F80: @ 8113F80
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x4
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ bne _08113F98
+ movs r0, 0
+ b _08113FB2
+_08113F98:
+ ldrh r0, [r4]
+ strh r0, [r2]
+ ldrh r0, [r4, 0x4]
+ strh r0, [r2, 0x2]
+ ldrh r0, [r4, 0x6]
+ strh r0, [r2, 0x4]
+ ldrh r0, [r4]
+ cmp r0, 0x55
+ bne _08113FB0
+ ldr r1, _08113FB8 @ =gUnknown_203B048
+ movs r0, 0x2
+ strb r0, [r1]
+_08113FB0:
+ adds r0, r2, 0x6
+_08113FB2:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08113FB8: .4byte gUnknown_203B048
+ thumb_func_end sub_8113F80
+
+ thumb_func_start sub_8113FBC
+sub_8113FBC: @ 8113FBC
+ push {r4-r7,lr}
+ adds r1, r0, 0
+ movs r0, 0x4
+ bl sub_8113E88
+ adds r5, r0, 0
+ ldrh r0, [r5]
+ bl sub_809A9D8
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x1
+ cmp r0, 0x4
+ bls _08113FDA
+ b _0811413C
+_08113FDA:
+ lsls r0, 2
+ ldr r1, _08113FE4 @ =_08113FE8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08113FE4: .4byte _08113FE8
+ .align 2, 0
+_08113FE8:
+ .4byte _08113FFC
+ .4byte _08114074
+ .4byte _08113FFC
+ .4byte _0811409C
+ .4byte _08113FFC
+_08113FFC:
+ ldr r4, _08114024 @ =gUnknown_2021CD0
+ ldrh r0, [r5]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_8008D84
+ ldrh r0, [r5]
+ cmp r0, 0x55
+ bne _08114034
+ ldr r0, _08114028 @ =gUnknown_2021CF0
+ ldrb r1, [r5, 0x4]
+ bl sub_80C4DF8
+ ldr r0, _0811402C @ =gUnknown_2021D18
+ ldr r1, _08114030 @ =gUnknown_841AFA6
+ bl sub_8008FCC
+ b _0811413C
+ .align 2, 0
+_08114024: .4byte gUnknown_2021CD0
+_08114028: .4byte gUnknown_2021CF0
+_0811402C: .4byte gUnknown_2021D18
+_08114030: .4byte gUnknown_841AFA6
+_08114034:
+ ldrh r1, [r5, 0x2]
+ ldr r0, _08114050 @ =0x0000ffff
+ cmp r1, r0
+ beq _08114060
+ adds r0, r1, 0
+ ldr r1, _08114054 @ =gUnknown_2021CF0
+ movs r2, 0
+ bl sub_8113EAC
+ ldr r0, _08114058 @ =gUnknown_2021D18
+ ldr r1, _0811405C @ =gUnknown_841A1E7
+ bl sub_8008FCC
+ b _0811413C
+ .align 2, 0
+_08114050: .4byte 0x0000ffff
+_08114054: .4byte gUnknown_2021CF0
+_08114058: .4byte gUnknown_2021D18
+_0811405C: .4byte gUnknown_841A1E7
+_08114060:
+ ldr r0, _0811406C @ =gUnknown_2021D18
+ ldr r1, _08114070 @ =gUnknown_841A210
+ bl sub_8008FCC
+ b _0811413C
+ .align 2, 0
+_0811406C: .4byte gUnknown_2021D18
+_08114070: .4byte gUnknown_841A210
+_08114074:
+ ldr r4, _08114090 @ =gUnknown_2021CD0
+ ldrh r0, [r5]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_8008D84
+ ldr r0, _08114094 @ =gUnknown_2021D18
+ ldr r1, _08114098 @ =gUnknown_841A220
+ bl sub_8008FCC
+ b _0811413C
+ .align 2, 0
+_08114090: .4byte gUnknown_2021CD0
+_08114094: .4byte gUnknown_2021D18
+_08114098: .4byte gUnknown_841A220
+_0811409C:
+ ldrh r0, [r5, 0x2]
+ ldr r1, _081140E8 @ =gUnknown_2021CD0
+ movs r2, 0
+ bl sub_8113EAC
+ ldr r4, _081140EC @ =gUnknown_2021CF0
+ ldrh r0, [r5]
+ bl sub_8125A78
+ lsls r0, 16
+ lsrs r0, 16
+ movs r7, 0xD
+ adds r1, r0, 0
+ muls r1, r7
+ ldr r6, _081140F0 @ =gUnknown_8247094
+ adds r1, r6
+ adds r0, r4, 0
+ bl sub_8008D84
+ ldrh r1, [r5, 0x4]
+ ldr r0, _081140F4 @ =0x0000ffff
+ cmp r1, r0
+ beq _08114118
+ ldr r0, _081140F8 @ =gUnknown_2021D04
+ muls r1, r7
+ adds r1, r6
+ bl sub_8008D84
+ ldrh r1, [r5]
+ movs r0, 0xA9
+ lsls r0, 1
+ cmp r1, r0
+ bls _08114104
+ ldr r0, _081140FC @ =gUnknown_2021D18
+ ldr r1, _08114100 @ =gUnknown_841A965
+ bl sub_8008FCC
+ b _0811413C
+ .align 2, 0
+_081140E8: .4byte gUnknown_2021CD0
+_081140EC: .4byte gUnknown_2021CF0
+_081140F0: .4byte gUnknown_8247094
+_081140F4: .4byte 0x0000ffff
+_081140F8: .4byte gUnknown_2021D04
+_081140FC: .4byte gUnknown_2021D18
+_08114100: .4byte gUnknown_841A965
+_08114104:
+ ldr r0, _08114110 @ =gUnknown_2021D18
+ ldr r1, _08114114 @ =gUnknown_841A277
+ bl sub_8008FCC
+ b _0811413C
+ .align 2, 0
+_08114110: .4byte gUnknown_2021D18
+_08114114: .4byte gUnknown_841A277
+_08114118:
+ ldrh r1, [r5]
+ movs r0, 0xA9
+ lsls r0, 1
+ cmp r1, r0
+ bls _08114134
+ ldr r0, _0811412C @ =gUnknown_2021D18
+ ldr r1, _08114130 @ =gUnknown_841A938
+ bl sub_8008FCC
+ b _0811413C
+ .align 2, 0
+_0811412C: .4byte gUnknown_2021D18
+_08114130: .4byte gUnknown_841A938
+_08114134:
+ ldr r0, _08114144 @ =gUnknown_2021D18
+ ldr r1, _08114148 @ =gUnknown_841A255
+ bl sub_8008FCC
+_0811413C:
+ adds r0, r5, 0x6
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114144: .4byte gUnknown_2021D18
+_08114148: .4byte gUnknown_841A255
+ thumb_func_end sub_8113FBC
+
+ thumb_func_start sub_811414C
+sub_811414C: @ 811414C
+ push {r4,lr}
+ adds r4, r2, 0
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_8113DE0
+ adds r1, r0, 0
+ cmp r1, 0
+ beq _0811416A
+ ldrh r0, [r4]
+ strh r0, [r1]
+ ldrh r0, [r4, 0x4]
+ strh r0, [r1, 0x2]
+ adds r0, r1, 0x4
+ b _0811416C
+_0811416A:
+ movs r0, 0
+_0811416C:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811414C
+
+ thumb_func_start sub_8114174
+sub_8114174: @ 8114174
+ push {lr}
+ adds r3, r0, 0
+ adds r2, r1, 0
+ movs r0, 0x5
+ adds r1, r3, 0
+ bl sub_811414C
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114174
+
+ thumb_func_start sub_8114188
+sub_8114188: @ 8114188
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ movs r0, 0x5
+ bl sub_8113E88
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x2]
+ ldr r1, _081141C0 @ =gUnknown_2021CD0
+ movs r2, 0
+ bl sub_8113EAC
+ ldr r5, _081141C4 @ =gUnknown_2021CF0
+ ldrh r0, [r4]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl sub_8008D84
+ ldr r0, _081141C8 @ =gUnknown_2021D18
+ ldr r1, _081141CC @ =gUnknown_841AB74
+ bl sub_8008FCC
+ adds r4, 0x4
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081141C0: .4byte gUnknown_2021CD0
+_081141C4: .4byte gUnknown_2021CF0
+_081141C8: .4byte gUnknown_2021D18
+_081141CC: .4byte gUnknown_841AB74
+ thumb_func_end sub_8114188
+
+ thumb_func_start sub_81141D0
+sub_81141D0: @ 81141D0
+ push {lr}
+ adds r3, r0, 0
+ adds r2, r1, 0
+ movs r0, 0x6
+ adds r1, r3, 0
+ bl sub_811414C
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81141D0
+
+ thumb_func_start sub_81141E4
+sub_81141E4: @ 81141E4
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ movs r0, 0x6
+ bl sub_8113E88
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x2]
+ ldr r1, _0811421C @ =gUnknown_2021CD0
+ movs r2, 0
+ bl sub_8113EAC
+ ldr r5, _08114220 @ =gUnknown_2021CF0
+ ldrh r0, [r4]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl sub_8008D84
+ ldr r0, _08114224 @ =gUnknown_2021D18
+ ldr r1, _08114228 @ =gUnknown_841AB8E
+ bl sub_8008FCC
+ adds r4, 0x4
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0811421C: .4byte gUnknown_2021CD0
+_08114220: .4byte gUnknown_2021CF0
+_08114224: .4byte gUnknown_2021D18
+_08114228: .4byte gUnknown_841AB8E
+ thumb_func_end sub_81141E4
+
+ thumb_func_start sub_811422C
+sub_811422C: @ 811422C
+ push {lr}
+ adds r3, r0, 0
+ adds r2, r1, 0
+ movs r0, 0x7
+ adds r1, r3, 0
+ bl sub_811414C
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811422C
+
+ thumb_func_start sub_8114240
+sub_8114240: @ 8114240
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ movs r0, 0x7
+ bl sub_8113E88
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x2]
+ ldr r1, _08114278 @ =gUnknown_2021CF0
+ movs r2, 0
+ bl sub_8113EAC
+ ldr r5, _0811427C @ =gUnknown_2021CD0
+ ldrh r0, [r4]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl sub_8008D84
+ ldr r0, _08114280 @ =gUnknown_2021D18
+ ldr r1, _08114284 @ =gUnknown_841A6A5
+ bl sub_8008FCC
+ adds r4, 0x4
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114278: .4byte gUnknown_2021CF0
+_0811427C: .4byte gUnknown_2021CD0
+_08114280: .4byte gUnknown_2021D18
+_08114284: .4byte gUnknown_841A6A5
+ thumb_func_end sub_8114240
+
+ thumb_func_start sub_8114288
+sub_8114288: @ 8114288
+ push {lr}
+ adds r3, r0, 0
+ adds r2, r1, 0
+ movs r0, 0x8
+ adds r1, r3, 0
+ bl sub_811414C
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114288
+
+ thumb_func_start sub_811429C
+sub_811429C: @ 811429C
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ movs r0, 0x8
+ bl sub_8113E88
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x2]
+ ldr r1, _081142D4 @ =gUnknown_2021CD0
+ movs r2, 0
+ bl sub_8113EAC
+ ldr r5, _081142D8 @ =gUnknown_2021CF0
+ ldrh r0, [r4]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl sub_8008D84
+ ldr r0, _081142DC @ =gUnknown_2021D18
+ ldr r1, _081142E0 @ =gUnknown_841A1CD
+ bl sub_8008FCC
+ adds r4, 0x4
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081142D4: .4byte gUnknown_2021CD0
+_081142D8: .4byte gUnknown_2021CF0
+_081142DC: .4byte gUnknown_2021D18
+_081142E0: .4byte gUnknown_841A1CD
+ thumb_func_end sub_811429C
+
+ thumb_func_start sub_81142E4
+sub_81142E4: @ 81142E4
+ push {r4,lr}
+ adds r4, r2, 0
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_8113DE0
+ adds r1, r0, 0
+ cmp r1, 0
+ beq _08114306
+ ldrh r0, [r4]
+ strh r0, [r1]
+ ldrh r0, [r4, 0x2]
+ strh r0, [r1, 0x2]
+ ldrh r0, [r4, 0x4]
+ strh r0, [r1, 0x4]
+ adds r0, r1, 0x6
+ b _08114308
+_08114306:
+ movs r0, 0
+_08114308:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81142E4
+
+ thumb_func_start sub_8114310
+sub_8114310: @ 8114310
+ push {lr}
+ adds r3, r0, 0
+ adds r2, r1, 0
+ movs r0, 0x9
+ adds r1, r3, 0
+ bl sub_81142E4
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114310
+
+ thumb_func_start sub_8114324
+sub_8114324: @ 8114324
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ movs r0, 0x9
+ bl sub_8113E88
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x4]
+ ldr r1, _0811436C @ =gUnknown_2021CD0
+ movs r2, 0
+ bl sub_8113EAC
+ ldr r5, _08114370 @ =gUnknown_2021CF0
+ ldrh r0, [r4]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl sub_8008D84
+ ldr r5, _08114374 @ =gUnknown_2021D04
+ ldrh r0, [r4, 0x2]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl sub_8008D84
+ ldr r0, _08114378 @ =gUnknown_2021D18
+ ldr r1, _0811437C @ =gUnknown_841A193
+ bl sub_8008FCC
+ adds r4, 0x6
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0811436C: .4byte gUnknown_2021CD0
+_08114370: .4byte gUnknown_2021CF0
+_08114374: .4byte gUnknown_2021D04
+_08114378: .4byte gUnknown_2021D18
+_0811437C: .4byte gUnknown_841A193
+ thumb_func_end sub_8114324
+
+ thumb_func_start sub_8114380
+sub_8114380: @ 8114380
+ push {lr}
+ adds r3, r0, 0
+ adds r2, r1, 0
+ movs r0, 0xA
+ adds r1, r3, 0
+ bl sub_81142E4
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114380
+
+ thumb_func_start sub_8114394
+sub_8114394: @ 8114394
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ movs r0, 0xA
+ bl sub_8113E88
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x4]
+ ldr r1, _081143DC @ =gUnknown_2021CF0
+ movs r2, 0
+ bl sub_8113EAC
+ ldr r5, _081143E0 @ =gUnknown_2021D04
+ ldrh r0, [r4]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl sub_8008D84
+ ldr r5, _081143E4 @ =gUnknown_2021CD0
+ ldrh r0, [r4, 0x2]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ adds r0, r5, 0
+ bl sub_8008D84
+ ldr r0, _081143E8 @ =gUnknown_2021D18
+ ldr r1, _081143EC @ =gUnknown_841A6E1
+ bl sub_8008FCC
+ adds r4, 0x6
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081143DC: .4byte gUnknown_2021CF0
+_081143E0: .4byte gUnknown_2021D04
+_081143E4: .4byte gUnknown_2021CD0
+_081143E8: .4byte gUnknown_2021D18
+_081143EC: .4byte gUnknown_841A6E1
+ thumb_func_end sub_8114394
+
+ thumb_func_start sub_81143F0
+sub_81143F0: @ 81143F0
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r2, r4, 0
+ ldr r1, _08114408 @ =gUnknown_203B044
+ ldrb r0, [r1]
+ cmp r0, 0xB
+ bne _0811440C
+ ldrb r0, [r1, 0x1]
+ cmp r0, 0
+ beq _0811440C
+ adds r0, r4, 0
+ b _08114436
+ .align 2, 0
+_08114408: .4byte gUnknown_203B044
+_0811440C:
+ ldr r0, _0811442C @ =gUnknown_8456AA0
+ ldrb r1, [r0, 0xB]
+ adds r0, r2, 0
+ bl sub_8110944
+ lsls r0, 24
+ cmp r0, 0
+ beq _08114434
+ movs r0, 0xB
+ strh r0, [r4]
+ ldr r0, _08114430 @ =gUnknown_203AF98
+ ldrh r0, [r0]
+ strh r0, [r4, 0x2]
+ adds r0, r4, 0x4
+ b _08114436
+ .align 2, 0
+_0811442C: .4byte gUnknown_8456AA0
+_08114430: .4byte gUnknown_203AF98
+_08114434:
+ movs r0, 0
+_08114436:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81143F0
+
+ thumb_func_start sub_811443C
+sub_811443C: @ 811443C
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, _08114454 @ =gUnknown_2021D18
+ ldr r1, _08114458 @ =gUnknown_841A2B0
+ bl sub_8008FCC
+ adds r4, 0x4
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114454: .4byte gUnknown_2021D18
+_08114458: .4byte gUnknown_841A2B0
+ thumb_func_end sub_811443C
+
+ thumb_func_start sub_811445C
+sub_811445C: @ 811445C
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r4, 0x8
+ movs r2, 0xC
+ strh r2, [r0]
+ ldr r2, _08114488 @ =gUnknown_203AF98
+ ldrh r2, [r2]
+ strh r2, [r0, 0x2]
+ ldrh r2, [r1]
+ strh r2, [r0, 0x4]
+ ldrh r2, [r1, 0x2]
+ strh r2, [r0, 0x6]
+ adds r1, 0x4
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl memcpy
+ adds r4, 0x8
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114488: .4byte gUnknown_203AF98
+ thumb_func_end sub_811445C
+
+ thumb_func_start sub_811448C
+sub_811448C: @ 811448C
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r6, r5, 0
+ adds r6, 0x8
+ ldr r4, _081144D8 @ =gUnknown_2021CD0
+ adds r0, r4, 0
+ movs r1, 0xFF
+ movs r2, 0x8
+ bl memset
+ adds r0, r4, 0
+ adds r1, r6, 0
+ movs r2, 0x7
+ bl memcpy
+ adds r0, r4, 0
+ bl sub_8115834
+ ldrh r0, [r5, 0x6]
+ ldr r1, _081144DC @ =gUnknown_2021CF0
+ movs r2, 0
+ bl sub_8113EAC
+ ldrh r0, [r5, 0x4]
+ ldr r1, _081144E0 @ =gUnknown_2021D04
+ movs r2, 0
+ bl sub_8113EAC
+ ldr r0, _081144E4 @ =gUnknown_2021D18
+ ldr r1, _081144E8 @ =gUnknown_841A3FF
+ bl sub_8008FCC
+ adds r6, 0x8
+ adds r0, r6, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081144D8: .4byte gUnknown_2021CD0
+_081144DC: .4byte gUnknown_2021CF0
+_081144E0: .4byte gUnknown_2021D04
+_081144E4: .4byte gUnknown_2021D18
+_081144E8: .4byte gUnknown_841A3FF
+ thumb_func_end sub_811448C
+
+ thumb_func_start sub_81144EC
+sub_81144EC: @ 81144EC
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0xD
+ strh r0, [r4]
+ ldr r0, _08114514 @ =gUnknown_203AF98
+ ldrh r0, [r0]
+ strh r0, [r4, 0x2]
+ ldrb r0, [r1]
+ strb r0, [r4, 0x4]
+ adds r0, r4, 0x5
+ adds r1, 0x1
+ movs r2, 0x7
+ bl memcpy
+ adds r4, 0xC
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114514: .4byte gUnknown_203AF98
+ thumb_func_end sub_81144EC
+
+ thumb_func_start sub_8114518
+sub_8114518: @ 8114518
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_813CC90
+ ldr r4, _08114568 @ =gUnknown_2021CD0
+ adds r0, r4, 0
+ movs r1, 0xFF
+ movs r2, 0x8
+ bl memset
+ adds r1, r5, 0x5
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl memcpy
+ adds r0, r4, 0
+ bl sub_8115834
+ movs r0, 0
+ adds r1, r4, 0
+ bl sub_813CCAC
+ ldr r1, _0811456C @ =gUnknown_8456AE4
+ ldrb r0, [r5, 0x4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ movs r0, 0x1
+ bl sub_813CCAC
+ ldr r0, _08114570 @ =gUnknown_2021D18
+ ldr r1, _08114574 @ =gUnknown_841A422
+ bl sub_813CCC8
+ adds r5, 0xC
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114568: .4byte gUnknown_2021CD0
+_0811456C: .4byte gUnknown_8456AE4
+_08114570: .4byte gUnknown_2021D18
+_08114574: .4byte gUnknown_841A422
+ thumb_func_end sub_8114518
+
+ thumb_func_start sub_8114578
+sub_8114578: @ 8114578
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0xE
+ strh r0, [r4]
+ ldr r0, _081145A0 @ =gUnknown_203AF98
+ ldrh r0, [r0]
+ strh r0, [r4, 0x2]
+ ldrb r0, [r1]
+ strb r0, [r4, 0x4]
+ adds r0, r4, 0x5
+ adds r1, 0x1
+ movs r2, 0x7
+ bl memcpy
+ adds r4, 0xC
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081145A0: .4byte gUnknown_203AF98
+ thumb_func_end sub_8114578
+
+ thumb_func_start sub_81145A4
+sub_81145A4: @ 81145A4
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ bl sub_813CC90
+ ldr r4, _081145F4 @ =gUnknown_2021CD0
+ adds r0, r4, 0
+ movs r1, 0xFF
+ movs r2, 0x8
+ bl memset
+ adds r1, r5, 0x5
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl memcpy
+ adds r0, r4, 0
+ bl sub_8115834
+ movs r0, 0
+ adds r1, r4, 0
+ bl sub_813CCAC
+ ldr r1, _081145F8 @ =gUnknown_8456AE4
+ ldrb r0, [r5, 0x4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ movs r0, 0x1
+ bl sub_813CCAC
+ ldr r0, _081145FC @ =gUnknown_2021D18
+ ldr r1, _08114600 @ =gUnknown_841A477
+ bl sub_813CCC8
+ adds r5, 0xC
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081145F4: .4byte gUnknown_2021CD0
+_081145F8: .4byte gUnknown_8456AE4
+_081145FC: .4byte gUnknown_2021D18
+_08114600: .4byte gUnknown_841A477
+ thumb_func_end sub_81145A4
+
+ thumb_func_start sub_8114604
+sub_8114604: @ 8114604
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r0, 0xF
+ strh r0, [r4]
+ ldr r0, _08114648 @ =gUnknown_203AF98
+ ldrh r0, [r0]
+ strh r0, [r4, 0x2]
+ ldrb r0, [r5]
+ strb r0, [r4, 0x4]
+ adds r0, r4, 0x5
+ adds r1, r5, 0x1
+ movs r2, 0x7
+ bl memcpy
+ adds r0, r4, 0
+ adds r0, 0xC
+ adds r1, r5, 0
+ adds r1, 0x8
+ movs r2, 0x7
+ bl memcpy
+ adds r0, r4, 0
+ adds r0, 0x13
+ adds r5, 0xF
+ adds r1, r5, 0
+ movs r2, 0x7
+ bl memcpy
+ adds r4, 0x1A
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114648: .4byte gUnknown_203AF98
+ thumb_func_end sub_8114604
+
+ thumb_func_start sub_811464C
+sub_811464C: @ 811464C
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ adds r4, r0, 0
+ bl sub_813CC90
+ ldr r0, _081146F4 @ =gUnknown_2021CD0
+ mov r8, r0
+ movs r1, 0xFF
+ movs r2, 0x8
+ bl memset
+ ldr r6, _081146F8 @ =gUnknown_2021CF0
+ adds r0, r6, 0
+ movs r1, 0xFF
+ movs r2, 0x8
+ bl memset
+ ldr r5, _081146FC @ =gUnknown_2021D04
+ adds r0, r5, 0
+ movs r1, 0xFF
+ movs r2, 0x8
+ bl memset
+ adds r1, r4, 0x5
+ mov r0, r8
+ bl sub_8008D54
+ adds r1, r4, 0
+ adds r1, 0xC
+ adds r0, r6, 0
+ bl sub_8008D54
+ adds r1, r4, 0
+ adds r1, 0x13
+ adds r0, r5, 0
+ bl sub_8008D54
+ mov r0, r8
+ bl sub_8115834
+ adds r0, r6, 0
+ bl sub_8115834
+ adds r0, r5, 0
+ bl sub_8115834
+ ldr r0, _08114700 @ =gUnknown_300500C
+ ldr r1, [r0]
+ movs r0, 0
+ bl sub_813CCAC
+ movs r0, 0x1
+ mov r1, r8
+ bl sub_813CCAC
+ movs r0, 0x2
+ adds r1, r6, 0
+ bl sub_813CCAC
+ movs r0, 0x3
+ adds r1, r5, 0
+ bl sub_813CCAC
+ ldr r1, _08114704 @ =gUnknown_8456AE4
+ ldrb r0, [r4, 0x4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ movs r0, 0x4
+ bl sub_813CCAC
+ ldr r0, _08114708 @ =gUnknown_2021D18
+ ldr r1, _0811470C @ =gUnknown_841A4C6
+ bl sub_813CCC8
+ adds r4, 0x1A
+ adds r0, r4, 0
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081146F4: .4byte gUnknown_2021CD0
+_081146F8: .4byte gUnknown_2021CF0
+_081146FC: .4byte gUnknown_2021D04
+_08114700: .4byte gUnknown_300500C
+_08114704: .4byte gUnknown_8456AE4
+_08114708: .4byte gUnknown_2021D18
+_0811470C: .4byte gUnknown_841A4C6
+ thumb_func_end sub_811464C
+
+ thumb_func_start sub_8114710
+sub_8114710: @ 8114710
+ movs r1, 0x10
+ strh r1, [r0]
+ ldr r1, _08114720 @ =gUnknown_203AF98
+ ldrh r1, [r1]
+ strh r1, [r0, 0x2]
+ adds r0, 0x4
+ bx lr
+ .align 2, 0
+_08114720: .4byte gUnknown_203AF98
+ thumb_func_end sub_8114710
+
+ thumb_func_start sub_8114724
+sub_8114724: @ 8114724
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, _0811473C @ =gUnknown_2021D18
+ ldr r1, _08114740 @ =gUnknown_841A50B
+ bl sub_8008FCC
+ adds r4, 0x4
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0811473C: .4byte gUnknown_2021D18
+_08114740: .4byte gUnknown_841A50B
+ thumb_func_end sub_8114724
+
+ thumb_func_start sub_8114744
+sub_8114744: @ 8114744
+ movs r1, 0x11
+ strh r1, [r0]
+ ldr r1, _08114754 @ =gUnknown_203AF98
+ ldrh r1, [r1]
+ strh r1, [r0, 0x2]
+ adds r0, 0x4
+ bx lr
+ .align 2, 0
+_08114754: .4byte gUnknown_203AF98
+ thumb_func_end sub_8114744
+
+ thumb_func_start sub_8114758
+sub_8114758: @ 8114758
+ push {r4,lr}
+ adds r4, r0, 0
+ ldr r0, _08114770 @ =gUnknown_2021D18
+ ldr r1, _08114774 @ =gUnknown_841A732
+ bl sub_8008FCC
+ adds r4, 0x4
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114770: .4byte gUnknown_2021D18
+_08114774: .4byte gUnknown_841A732
+ thumb_func_end sub_8114758
+
+ thumb_func_start sub_8114778
+sub_8114778: @ 8114778
+ push {r4,lr}
+ adds r4, r0, 0
+ adds r4, 0x8
+ movs r2, 0x12
+ strh r2, [r0]
+ ldr r2, _081147A4 @ =gUnknown_203AF98
+ ldrh r2, [r2]
+ strh r2, [r0, 0x2]
+ ldrh r2, [r1]
+ strh r2, [r0, 0x4]
+ ldrh r2, [r1, 0x2]
+ strh r2, [r0, 0x6]
+ adds r1, 0x4
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl memcpy
+ adds r4, 0x8
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081147A4: .4byte gUnknown_203AF98
+ thumb_func_end sub_8114778
+
+ thumb_func_start sub_81147A8
+sub_81147A8: @ 81147A8
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ adds r6, r5, 0
+ adds r6, 0x8
+ ldr r4, _081147F4 @ =gUnknown_2021CD0
+ adds r0, r4, 0
+ movs r1, 0xFF
+ movs r2, 0x8
+ bl memset
+ adds r0, r4, 0
+ adds r1, r6, 0
+ movs r2, 0x7
+ bl memcpy
+ adds r0, r4, 0
+ bl sub_8115834
+ ldrh r0, [r5, 0x6]
+ ldr r1, _081147F8 @ =gUnknown_2021CF0
+ movs r2, 0
+ bl sub_8113EAC
+ ldrh r0, [r5, 0x4]
+ ldr r1, _081147FC @ =gUnknown_2021D04
+ movs r2, 0
+ bl sub_8113EAC
+ ldr r0, _08114800 @ =gUnknown_2021D18
+ ldr r1, _08114804 @ =gUnknown_841A76A
+ bl sub_8008FCC
+ adds r6, 0x8
+ adds r0, r6, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081147F4: .4byte gUnknown_2021CD0
+_081147F8: .4byte gUnknown_2021CF0
+_081147FC: .4byte gUnknown_2021D04
+_08114800: .4byte gUnknown_2021D18
+_08114804: .4byte gUnknown_841A76A
+ thumb_func_end sub_81147A8
+
+ thumb_func_start sub_8114808
+sub_8114808: @ 8114808
+ push {r4,lr}
+ adds r4, r0, 0
+ movs r0, 0x13
+ strh r0, [r4]
+ ldr r0, _08114830 @ =gUnknown_203AF98
+ ldrh r0, [r0]
+ strh r0, [r4, 0x2]
+ ldrb r0, [r1]
+ strb r0, [r4, 0x4]
+ adds r0, r4, 0x5
+ adds r1, 0x1
+ movs r2, 0x7
+ bl memcpy
+ adds r4, 0xC
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114830: .4byte gUnknown_203AF98
+ thumb_func_end sub_8114808
+
+ thumb_func_start sub_8114834
+sub_8114834: @ 8114834
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ ldr r4, _08114878 @ =gUnknown_2021CD0
+ adds r0, r4, 0
+ movs r1, 0xFF
+ movs r2, 0x8
+ bl memset
+ adds r1, r5, 0x5
+ adds r0, r4, 0
+ movs r2, 0x7
+ bl memcpy
+ adds r0, r4, 0
+ bl sub_8115834
+ ldr r0, _0811487C @ =gUnknown_2021CF0
+ ldr r2, _08114880 @ =gUnknown_8456AE4
+ ldrb r1, [r5, 0x4]
+ lsls r1, 2
+ adds r1, r2
+ ldr r1, [r1]
+ bl sub_8008D84
+ ldr r0, _08114884 @ =gUnknown_2021D18
+ ldr r1, _08114888 @ =gUnknown_841A7B0
+ bl sub_8008FCC
+ adds r5, 0xC
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114878: .4byte gUnknown_2021CD0
+_0811487C: .4byte gUnknown_2021CF0
+_08114880: .4byte gUnknown_8456AE4
+_08114884: .4byte gUnknown_2021D18
+_08114888: .4byte gUnknown_841A7B0
+ thumb_func_end sub_8114834
+
+ thumb_func_start sub_811488C
+sub_811488C: @ 811488C
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x14
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _081148B4
+ ldrh r0, [r4]
+ strh r0, [r2]
+ ldrh r0, [r4, 0x2]
+ strh r0, [r2, 0x2]
+ ldrb r0, [r4, 0x4]
+ strb r0, [r2, 0x4]
+ ldrb r0, [r4, 0x5]
+ strb r0, [r2, 0x5]
+ adds r0, r2, 0x6
+ b _081148B6
+_081148B4:
+ movs r0, 0
+_081148B6:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_811488C
+
+ thumb_func_start sub_81148BC
+sub_81148BC: @ 81148BC
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ movs r0, 0x14
+ bl sub_8113E88
+ adds r4, r0, 0
+ adds r5, r4, 0x4
+ bl sub_813CC90
+ ldrb r0, [r4, 0x4]
+ bl sub_808BD6C
+ adds r1, r0, 0
+ movs r0, 0
+ bl sub_813CCAC
+ ldrh r0, [r4]
+ movs r1, 0
+ movs r2, 0x1
+ bl sub_8113EAC
+ ldrb r0, [r5, 0x1]
+ bl sub_808BD6C
+ adds r1, r0, 0
+ movs r0, 0x2
+ bl sub_813CCAC
+ ldrh r0, [r4, 0x2]
+ movs r1, 0
+ movs r2, 0x3
+ bl sub_8113EAC
+ ldr r0, _08114910 @ =gUnknown_2021D18
+ ldr r1, _08114914 @ =gUnknown_841A566
+ bl sub_813CCC8
+ adds r4, 0x6
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114910: .4byte gUnknown_2021D18
+_08114914: .4byte gUnknown_841A566
+ thumb_func_end sub_81148BC
+
+ thumb_func_start sub_8114918
+sub_8114918: @ 8114918
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x15
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _0811493C
+ ldrh r0, [r4]
+ strh r0, [r2]
+ ldrh r0, [r4, 0x2]
+ strh r0, [r2, 0x2]
+ ldrb r0, [r4, 0x4]
+ strb r0, [r2, 0x4]
+ adds r0, r2, 0x6
+ b _0811493E
+_0811493C:
+ movs r0, 0
+_0811493E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114918
+
+ thumb_func_start sub_8114944
+sub_8114944: @ 8114944
+ push {r4,lr}
+ adds r1, r0, 0
+ movs r0, 0x15
+ bl sub_8113E88
+ adds r4, r0, 0
+ bl sub_813CC90
+ ldrb r0, [r4, 0x4]
+ bl sub_808BD6C
+ adds r1, r0, 0
+ movs r0, 0
+ bl sub_813CCAC
+ ldrh r0, [r4]
+ movs r1, 0
+ movs r2, 0x1
+ bl sub_8113EAC
+ ldrh r0, [r4, 0x2]
+ movs r1, 0
+ movs r2, 0x2
+ bl sub_8113EAC
+ ldr r0, _08114988 @ =gUnknown_2021D18
+ ldr r1, _0811498C @ =gUnknown_841A5D9
+ bl sub_813CCC8
+ adds r4, 0x6
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114988: .4byte gUnknown_2021D18
+_0811498C: .4byte gUnknown_841A5D9
+ thumb_func_end sub_8114944
+
+ thumb_func_start sub_8114990
+sub_8114990: @ 8114990
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x16
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ bne _081149A8
+ movs r0, 0
+ b _081149CA
+_081149A8:
+ adds r1, r2, 0x4
+ ldrb r0, [r4, 0x4]
+ cmp r0, 0xE
+ bne _081149BC
+ ldrh r0, [r4, 0x2]
+ strh r0, [r2]
+ ldrh r0, [r4]
+ strh r0, [r2, 0x2]
+ ldrb r0, [r4, 0x5]
+ b _081149C6
+_081149BC:
+ ldrh r0, [r4]
+ strh r0, [r2]
+ ldrh r0, [r4, 0x2]
+ strh r0, [r2, 0x2]
+ ldrb r0, [r4, 0x4]
+_081149C6:
+ strb r0, [r2, 0x4]
+ adds r0, r1, 0x2
+_081149CA:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114990
+
+ thumb_func_start sub_81149D0
+sub_81149D0: @ 81149D0
+ push {r4,lr}
+ adds r1, r0, 0
+ movs r0, 0x16
+ bl sub_8113E88
+ adds r4, r0, 0
+ bl sub_813CC90
+ ldrb r0, [r4, 0x4]
+ bl sub_808BD6C
+ adds r1, r0, 0
+ movs r0, 0
+ bl sub_813CCAC
+ ldrh r0, [r4]
+ movs r1, 0
+ movs r2, 0x1
+ bl sub_8113EAC
+ ldrh r0, [r4, 0x2]
+ movs r1, 0
+ movs r2, 0x2
+ bl sub_8113EAC
+ ldr r0, _08114A14 @ =gUnknown_2021D18
+ ldr r1, _08114A18 @ =gUnknown_841A60A
+ bl sub_813CCC8
+ adds r4, 0x6
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114A14: .4byte gUnknown_2021D18
+_08114A18: .4byte gUnknown_841A60A
+ thumb_func_end sub_81149D0
+
+ thumb_func_start sub_8114A1C
+sub_8114A1C: @ 8114A1C
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x17
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _08114A42
+ ldrh r0, [r4]
+ strh r0, [r2]
+ adds r0, r2, 0x2
+ ldrb r1, [r4, 0x4]
+ strb r1, [r2, 0x2]
+ ldrb r1, [r4, 0x5]
+ strb r1, [r0, 0x1]
+ adds r0, 0x2
+ b _08114A44
+_08114A42:
+ movs r0, 0
+_08114A44:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114A1C
+
+ thumb_func_start sub_8114A4C
+sub_8114A4C: @ 8114A4C
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ movs r0, 0x17
+ bl sub_8113E88
+ adds r4, r0, 0
+ adds r5, r4, 0x2
+ bl sub_813CC90
+ ldrb r0, [r4, 0x2]
+ bl sub_808BD6C
+ adds r1, r0, 0
+ movs r0, 0
+ bl sub_813CCAC
+ ldrh r0, [r4]
+ movs r1, 0
+ movs r2, 0x1
+ bl sub_8113EAC
+ ldrb r0, [r5, 0x1]
+ bl sub_808BD6C
+ adds r1, r0, 0
+ movs r0, 0x2
+ bl sub_813CCAC
+ ldr r0, _08114A98 @ =gUnknown_2021D18
+ ldr r1, _08114A9C @ =gUnknown_841A59C
+ bl sub_813CCC8
+ adds r5, 0x2
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114A98: .4byte gUnknown_2021D18
+_08114A9C: .4byte gUnknown_841A59C
+ thumb_func_end sub_8114A4C
+
+ thumb_func_start sub_8114AA0
+sub_8114AA0: @ 8114AA0
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x18
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _08114AC0
+ ldrh r0, [r4]
+ strh r0, [r2]
+ ldrb r0, [r4, 0x4]
+ strb r0, [r2, 0x2]
+ adds r0, r2, 0x4
+ b _08114AC2
+_08114AC0:
+ movs r0, 0
+_08114AC2:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114AA0
+
+ thumb_func_start sub_8114AC8
+sub_8114AC8: @ 8114AC8
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ movs r0, 0x18
+ bl sub_8113E88
+ adds r4, r0, 0
+ adds r5, r4, 0x2
+ bl sub_813CC90
+ ldrb r0, [r4, 0x2]
+ bl sub_808BD6C
+ adds r1, r0, 0
+ movs r0, 0
+ bl sub_813CCAC
+ ldrh r0, [r4]
+ movs r1, 0
+ movs r2, 0x1
+ bl sub_8113EAC
+ ldr r0, _08114B04 @ =gUnknown_2021D18
+ ldr r1, _08114B08 @ =gUnknown_841A5FA
+ bl sub_813CCC8
+ adds r5, 0x2
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114B04: .4byte gUnknown_2021D18
+_08114B08: .4byte gUnknown_841A5FA
+ thumb_func_end sub_8114AC8
+
+ thumb_func_start sub_8114B0C
+sub_8114B0C: @ 8114B0C
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x19
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _08114B2C
+ ldrh r0, [r4]
+ strh r0, [r2]
+ ldrb r0, [r4, 0x4]
+ strb r0, [r2, 0x2]
+ adds r0, r2, 0x4
+ b _08114B2E
+_08114B2C:
+ movs r0, 0
+_08114B2E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114B0C
+
+ thumb_func_start sub_8114B34
+sub_8114B34: @ 8114B34
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ movs r0, 0x19
+ bl sub_8113E88
+ adds r4, r0, 0
+ adds r5, r4, 0x2
+ bl sub_813CC90
+ ldrb r0, [r4, 0x2]
+ bl sub_808BD6C
+ adds r1, r0, 0
+ movs r0, 0
+ bl sub_813CCAC
+ ldrh r0, [r4]
+ movs r1, 0
+ movs r2, 0x1
+ bl sub_8113EAC
+ ldr r0, _08114B70 @ =gUnknown_2021D18
+ ldr r1, _08114B74 @ =gUnknown_841A632
+ bl sub_813CCC8
+ adds r5, 0x2
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114B70: .4byte gUnknown_2021D18
+_08114B74: .4byte gUnknown_841A632
+ thumb_func_end sub_8114B34
+
+ thumb_func_start sub_8114B78
+sub_8114B78: @ 8114B78
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x1A
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _08114B98
+ ldrh r0, [r4]
+ strh r0, [r2]
+ ldrb r0, [r4, 0x4]
+ strb r0, [r2, 0x2]
+ adds r0, r2, 0x4
+ b _08114B9A
+_08114B98:
+ movs r0, 0
+_08114B9A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114B78
+
+ thumb_func_start sub_8114BA0
+sub_8114BA0: @ 8114BA0
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ movs r0, 0x1A
+ bl sub_8113E88
+ adds r4, r0, 0
+ adds r5, r4, 0x2
+ bl sub_813CC90
+ ldrh r0, [r4]
+ movs r1, 0
+ movs r2, 0
+ bl sub_8113EAC
+ ldrb r0, [r4, 0x2]
+ bl sub_808BD6C
+ adds r1, r0, 0
+ movs r0, 0x1
+ bl sub_813CCAC
+ ldr r0, _08114BDC @ =gUnknown_2021D18
+ ldr r1, _08114BE0 @ =gUnknown_841A64F
+ bl sub_813CCC8
+ adds r5, 0x2
+ adds r0, r5, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114BDC: .4byte gUnknown_2021D18
+_08114BE0: .4byte gUnknown_841A64F
+ thumb_func_end sub_8114BA0
+
+ thumb_func_start sub_8114BE4
+sub_8114BE4: @ 8114BE4
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x1B
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _08114C04
+ ldrb r0, [r4, 0x4]
+ strb r0, [r2]
+ ldrb r0, [r4, 0x5]
+ strb r0, [r2, 0x1]
+ adds r0, r2, 0x2
+ b _08114C06
+_08114C04:
+ movs r0, 0
+_08114C06:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114BE4
+
+ thumb_func_start sub_8114C0C
+sub_8114C0C: @ 8114C0C
+ push {r4,lr}
+ adds r1, r0, 0
+ movs r0, 0x1B
+ bl sub_8113E88
+ adds r4, r0, 0
+ bl sub_813CC90
+ ldrb r0, [r4]
+ bl sub_808BD6C
+ adds r1, r0, 0
+ movs r0, 0
+ bl sub_813CCAC
+ ldrb r0, [r4]
+ ldrb r1, [r4, 0x1]
+ cmp r0, r1
+ bne _08114C40
+ ldr r1, _08114C3C @ =gUnknown_841A694
+ movs r0, 0x1
+ bl sub_813CCAC
+ b _08114C4E
+ .align 2, 0
+_08114C3C: .4byte gUnknown_841A694
+_08114C40:
+ ldrb r0, [r4, 0x1]
+ bl sub_808BD6C
+ adds r1, r0, 0
+ movs r0, 0x1
+ bl sub_813CCAC
+_08114C4E:
+ ldr r0, _08114C60 @ =gUnknown_2021D18
+ ldr r1, _08114C64 @ =gUnknown_841A66E
+ bl sub_813CCC8
+ adds r0, r4, 0x2
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114C60: .4byte gUnknown_2021D18
+_08114C64: .4byte gUnknown_841A66E
+ thumb_func_end sub_8114C0C
+
+ thumb_func_start sub_8114C68
+sub_8114C68: @ 8114C68
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x1C
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _08114C84
+ ldrh r0, [r4]
+ strh r0, [r2]
+ adds r0, r2, 0x2
+ b _08114C86
+_08114C84:
+ movs r0, 0
+_08114C86:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114C68
+
+ thumb_func_start sub_8114C8C
+sub_8114C8C: @ 8114C8C
+ push {r4,lr}
+ adds r1, r0, 0
+ movs r0, 0x1C
+ bl sub_8113E88
+ adds r4, r0, 0
+ ldrh r0, [r4]
+ ldr r1, _08114CB4 @ =gUnknown_2021CD0
+ bl sub_8099E90
+ ldr r0, _08114CB8 @ =gUnknown_2021D18
+ ldr r1, _08114CBC @ =gUnknown_841A391
+ bl sub_8008FCC
+ adds r4, 0x2
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114CB4: .4byte gUnknown_2021CD0
+_08114CB8: .4byte gUnknown_2021D18
+_08114CBC: .4byte gUnknown_841A391
+ thumb_func_end sub_8114C8C
+
+ thumb_func_start sub_8114CC0
+sub_8114CC0: @ 8114CC0
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x1D
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _08114CDC
+ ldrh r0, [r4]
+ strh r0, [r2]
+ adds r0, r2, 0x2
+ b _08114CDE
+_08114CDC:
+ movs r0, 0
+_08114CDE:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114CC0
+
+ thumb_func_start sub_8114CE4
+sub_8114CE4: @ 8114CE4
+ push {r4,lr}
+ adds r1, r0, 0
+ movs r0, 0x1D
+ bl sub_8113E88
+ adds r4, r0, 0
+ ldrh r0, [r4]
+ ldr r1, _08114D0C @ =gUnknown_2021CD0
+ bl sub_8099E90
+ ldr r0, _08114D10 @ =gUnknown_2021D18
+ ldr r1, _08114D14 @ =gUnknown_841A3DA
+ bl sub_8008FCC
+ adds r4, 0x2
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114D0C: .4byte gUnknown_2021CD0
+_08114D10: .4byte gUnknown_2021D18
+_08114D14: .4byte gUnknown_841A3DA
+ thumb_func_end sub_8114CE4
+
+ thumb_func_start sub_8114D18
+sub_8114D18: @ 8114D18
+ push {r4,lr}
+ adds r4, r2, 0
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_8113DE0
+ adds r1, r0, 0
+ cmp r1, 0
+ beq _08114D44
+ ldrh r0, [r4, 0x2]
+ strh r0, [r1]
+ ldrh r0, [r4, 0x4]
+ strh r0, [r1, 0x2]
+ ldrh r0, [r4]
+ strh r0, [r1, 0x4]
+ ldrb r0, [r4, 0x7]
+ strb r0, [r1, 0x6]
+ ldrb r0, [r4, 0x6]
+ strb r0, [r1, 0x7]
+ adds r0, r1, 0
+ adds r0, 0x8
+ b _08114D46
+_08114D44:
+ movs r0, 0
+_08114D46:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114D18
+
+ thumb_func_start sub_8114D4C
+sub_8114D4C: @ 8114D4C
+ push {lr}
+ adds r3, r0, 0
+ adds r2, r1, 0
+ ldr r1, _08114D64 @ =gUnknown_203B048
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r0, 0x1E
+ adds r1, r3, 0
+ bl sub_8114D18
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114D64: .4byte gUnknown_203B048
+ thumb_func_end sub_8114D4C
+
+ thumb_func_start sub_8114D68
+sub_8114D68: @ 8114D68
+ push {r4-r6,lr}
+ adds r1, r0, 0
+ movs r0, 0x1E
+ bl sub_8113E88
+ adds r4, r0, 0
+ adds r6, r4, 0x6
+ bl sub_813CC90
+ ldr r5, _08114DD4 @ =gUnknown_2021CD0
+ ldrb r1, [r4, 0x6]
+ adds r0, r5, 0
+ bl sub_80C4DF8
+ movs r0, 0
+ adds r1, r5, 0
+ bl sub_813CCAC
+ ldrh r0, [r4, 0x4]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, _08114DD8 @ =gUnknown_823EACC
+ adds r1, r0
+ movs r0, 0x1
+ bl sub_813CCAC
+ ldrh r0, [r4]
+ movs r1, 0
+ movs r2, 0x2
+ bl sub_8113EAC
+ ldrh r0, [r4, 0x2]
+ movs r1, 0
+ movs r2, 0x3
+ bl sub_8113EAC
+ ldr r1, _08114DDC @ =gUnknown_8456ACC
+ ldrb r0, [r6, 0x1]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ movs r0, 0x4
+ bl sub_813CCAC
+ ldr r0, _08114DE0 @ =gUnknown_2021D18
+ ldr r1, _08114DE4 @ =gUnknown_841AF0C
+ bl sub_813CCC8
+ adds r4, 0x8
+ adds r0, r4, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114DD4: .4byte gUnknown_2021CD0
+_08114DD8: .4byte gUnknown_823EACC
+_08114DDC: .4byte gUnknown_8456ACC
+_08114DE0: .4byte gUnknown_2021D18
+_08114DE4: .4byte gUnknown_841AF0C
+ thumb_func_end sub_8114D68
+
+ thumb_func_start sub_8114DE8
+sub_8114DE8: @ 8114DE8
+ push {r4-r6,lr}
+ adds r6, r1, 0
+ adds r4, r0, 0
+ adds r5, r4, 0
+ adds r5, 0x8
+ ldr r0, _08114E08 @ =gUnknown_8456AA0
+ ldrb r1, [r0, 0x1F]
+ adds r0, r4, 0
+ bl sub_8110944
+ lsls r0, 24
+ cmp r0, 0
+ bne _08114E0C
+ movs r0, 0
+ b _08114E5E
+ .align 2, 0
+_08114E08: .4byte gUnknown_8456AA0
+_08114E0C:
+ ldrb r0, [r4, 0x8]
+ cmp r0, 0
+ bne _08114E22
+ ldrb r0, [r5, 0x1]
+ cmp r0, 0
+ bne _08114E22
+ movs r0, 0x1F
+ strh r0, [r4]
+ ldr r0, _08114E64 @ =gUnknown_203AF98
+ ldrh r0, [r0]
+ strh r0, [r4, 0x2]
+_08114E22:
+ ldrh r0, [r6]
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _08114E2C
+ strh r0, [r4, 0x4]
+_08114E2C:
+ ldrh r0, [r6, 0x2]
+ adds r1, r0, 0
+ cmp r1, 0
+ beq _08114E36
+ strh r1, [r4, 0x6]
+_08114E36:
+ cmp r2, 0
+ beq _08114E46
+ ldrb r2, [r5]
+ adds r0, r2, 0
+ cmp r0, 0xFF
+ beq _08114E46
+ adds r0, r2, 0x1
+ strb r0, [r5]
+_08114E46:
+ lsls r0, r1, 16
+ cmp r0, 0
+ beq _08114E58
+ ldrb r1, [r5, 0x1]
+ adds r0, r1, 0
+ cmp r0, 0xFF
+ beq _08114E58
+ adds r0, r1, 0x1
+ strb r0, [r5, 0x1]
+_08114E58:
+ ldrb r0, [r6, 0x4]
+ strb r0, [r5, 0x2]
+ adds r0, r5, 0x4
+_08114E5E:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114E64: .4byte gUnknown_203AF98
+ thumb_func_end sub_8114DE8
+
+ thumb_func_start sub_8114E68
+sub_8114E68: @ 8114E68
+ push {r4-r6,lr}
+ adds r5, r0, 0
+ ldr r0, _08114E80 @ =gUnknown_8456AA0
+ ldrb r1, [r0, 0x1F]
+ adds r0, r5, 0
+ bl sub_8110944
+ lsls r0, 24
+ cmp r0, 0
+ bne _08114E84
+ movs r0, 0
+ b _08114FAE
+ .align 2, 0
+_08114E80: .4byte gUnknown_8456AA0
+_08114E84:
+ adds r6, r5, 0
+ adds r6, 0x8
+ bl sub_813CC90
+ ldr r4, _08114F00 @ =gUnknown_2021CD0
+ ldrb r1, [r6, 0x2]
+ adds r0, r4, 0
+ bl sub_80C4DF8
+ movs r0, 0
+ adds r1, r4, 0
+ bl sub_813CCAC
+ ldrh r0, [r5, 0x4]
+ movs r1, 0
+ movs r2, 0x1
+ bl sub_8113EAC
+ ldr r4, _08114F04 @ =gUnknown_2021CF0
+ ldrb r1, [r5, 0x8]
+ adds r0, r4, 0
+ movs r2, 0
+ movs r3, 0x3
+ bl sub_8008E78
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl sub_813CCAC
+ ldrh r0, [r5, 0x6]
+ movs r1, 0
+ movs r2, 0x3
+ bl sub_8113EAC
+ ldr r4, _08114F08 @ =gUnknown_2021D04
+ ldrb r1, [r6, 0x1]
+ adds r0, r4, 0
+ movs r2, 0
+ movs r3, 0x3
+ bl sub_8008E78
+ movs r0, 0x4
+ adds r1, r4, 0
+ bl sub_813CCAC
+ ldr r0, _08114F0C @ =gUnknown_300500C
+ ldr r1, [r0]
+ movs r0, 0x5
+ bl sub_813CCAC
+ ldrb r0, [r5, 0x8]
+ cmp r0, 0
+ bne _08114F2C
+ ldrb r0, [r6, 0x1]
+ cmp r0, 0x1
+ bne _08114F18
+ ldr r0, _08114F10 @ =gUnknown_2021D18
+ ldr r1, _08114F14 @ =gUnknown_841AA01
+ bl sub_813CCC8
+ b _08114FAC
+ .align 2, 0
+_08114F00: .4byte gUnknown_2021CD0
+_08114F04: .4byte gUnknown_2021CF0
+_08114F08: .4byte gUnknown_2021D04
+_08114F0C: .4byte gUnknown_300500C
+_08114F10: .4byte gUnknown_2021D18
+_08114F14: .4byte gUnknown_841AA01
+_08114F18:
+ ldr r0, _08114F24 @ =gUnknown_2021D18
+ ldr r1, _08114F28 @ =gUnknown_841AA2B
+ bl sub_813CCC8
+ b _08114FAC
+ .align 2, 0
+_08114F24: .4byte gUnknown_2021D18
+_08114F28: .4byte gUnknown_841AA2B
+_08114F2C:
+ ldrb r1, [r6, 0x1]
+ cmp r1, 0
+ bne _08114F5C
+ cmp r0, 0x1
+ bne _08114F48
+ ldr r0, _08114F40 @ =gUnknown_2021D18
+ ldr r1, _08114F44 @ =gUnknown_841A9A9
+ bl sub_813CCC8
+ b _08114FAC
+ .align 2, 0
+_08114F40: .4byte gUnknown_2021D18
+_08114F44: .4byte gUnknown_841A9A9
+_08114F48:
+ ldr r0, _08114F54 @ =gUnknown_2021D18
+ ldr r1, _08114F58 @ =gUnknown_841A9D4
+ bl sub_813CCC8
+ b _08114FAC
+ .align 2, 0
+_08114F54: .4byte gUnknown_2021D18
+_08114F58: .4byte gUnknown_841A9D4
+_08114F5C:
+ cmp r0, 0x1
+ bne _08114F8C
+ cmp r1, 0x1
+ bne _08114F78
+ ldr r0, _08114F70 @ =gUnknown_2021D18
+ ldr r1, _08114F74 @ =gUnknown_841AA76
+ bl sub_813CCC8
+ b _08114FAC
+ .align 2, 0
+_08114F70: .4byte gUnknown_2021D18
+_08114F74: .4byte gUnknown_841AA76
+_08114F78:
+ ldr r0, _08114F84 @ =gUnknown_2021D18
+ ldr r1, _08114F88 @ =gUnknown_841AAAA
+ bl sub_813CCC8
+ b _08114FAC
+ .align 2, 0
+_08114F84: .4byte gUnknown_2021D18
+_08114F88: .4byte gUnknown_841AAAA
+_08114F8C:
+ cmp r1, 0x1
+ bne _08114FA4
+ ldr r0, _08114F9C @ =gUnknown_2021D18
+ ldr r1, _08114FA0 @ =gUnknown_841AAEC
+ bl sub_813CCC8
+ b _08114FAC
+ .align 2, 0
+_08114F9C: .4byte gUnknown_2021D18
+_08114FA0: .4byte gUnknown_841AAEC
+_08114FA4:
+ ldr r0, _08114FB4 @ =gUnknown_2021D18
+ ldr r1, _08114FB8 @ =gUnknown_841AB29
+ bl sub_813CCC8
+_08114FAC:
+ adds r0, r6, 0x4
+_08114FAE:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08114FB4: .4byte gUnknown_2021D18
+_08114FB8: .4byte gUnknown_841AB29
+ thumb_func_end sub_8114E68
+
+ thumb_func_start sub_8114FBC
+sub_8114FBC: @ 8114FBC
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ adds r1, r0, 0
+ cmp r0, 0x96
+ beq _08114FE6
+ cmp r0, 0x96
+ bgt _08114FD6
+ cmp r0, 0x92
+ bgt _08114FEA
+ cmp r0, 0x8F
+ blt _08114FEA
+ b _08114FE6
+_08114FD6:
+ cmp r1, 0xF9
+ blt _08114FEA
+ cmp r1, 0xFA
+ ble _08114FE6
+ movs r0, 0xCD
+ lsls r0, 1
+ cmp r1, r0
+ bne _08114FEA
+_08114FE6:
+ movs r0, 0x1
+ b _08114FEC
+_08114FEA:
+ movs r0, 0
+_08114FEC:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8114FBC
+
+ thumb_func_start sub_8114FF0
+sub_8114FF0: @ 8114FF0
+ push {lr}
+ adds r3, r0, 0
+ adds r2, r1, 0
+ ldr r1, _08115008 @ =gUnknown_203B048
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r0, 0x20
+ adds r1, r3, 0
+ bl sub_8114D18
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08115008: .4byte gUnknown_203B048
+ thumb_func_end sub_8114FF0
+
+ thumb_func_start sub_811500C
+sub_811500C: @ 811500C
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ movs r0, 0x20
+ bl sub_8113E88
+ adds r4, r0, 0
+ adds r5, r4, 0x6
+ bl sub_813CC90
+ ldrh r0, [r4, 0x4]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ ldr r0, _08115068 @ =gUnknown_823EACC
+ adds r1, r0
+ movs r0, 0
+ bl sub_813CCAC
+ ldrh r0, [r4]
+ movs r1, 0
+ movs r2, 0x1
+ bl sub_8113EAC
+ ldrh r0, [r4, 0x2]
+ movs r1, 0
+ movs r2, 0x2
+ bl sub_8113EAC
+ ldr r1, _0811506C @ =gUnknown_8456ACC
+ ldrb r0, [r5, 0x1]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ movs r0, 0x3
+ bl sub_813CCAC
+ ldr r0, _08115070 @ =gUnknown_2021D18
+ ldr r1, _08115074 @ =gUnknown_841AF3E
+ bl sub_813CCC8
+ adds r4, 0x8
+ adds r0, r4, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08115068: .4byte gUnknown_823EACC
+_0811506C: .4byte gUnknown_8456ACC
+_08115070: .4byte gUnknown_2021D18
+_08115074: .4byte gUnknown_841AF3E
+ thumb_func_end sub_811500C
+
+ thumb_func_start sub_8115078
+sub_8115078: @ 8115078
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ ldr r0, _081150B4 @ =gUnknown_8456AA0
+ adds r0, 0x21
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ bl sub_8110944
+ lsls r0, 24
+ cmp r0, 0
+ beq _081150C4
+ ldr r1, _081150B8 @ =0x00002021
+ adds r0, r1, 0
+ strh r0, [r4]
+ ldr r0, _081150BC @ =gUnknown_203AF98
+ ldrh r0, [r0]
+ strh r0, [r4, 0x2]
+ ldrh r0, [r5, 0x2]
+ strh r0, [r4, 0x4]
+ ldrh r0, [r5, 0x4]
+ strh r0, [r4, 0x6]
+ ldrb r0, [r5, 0x6]
+ strb r0, [r4, 0x8]
+ ldr r1, _081150C0 @ =gUnknown_203B048
+ movs r0, 0x1
+ strb r0, [r1]
+ adds r0, r4, 0
+ adds r0, 0xA
+ b _081150C6
+ .align 2, 0
+_081150B4: .4byte gUnknown_8456AA0
+_081150B8: .4byte 0x00002021
+_081150BC: .4byte gUnknown_203AF98
+_081150C0: .4byte gUnknown_203B048
+_081150C4:
+ movs r0, 0
+_081150C6:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8115078
+
+ thumb_func_start sub_81150CC
+sub_81150CC: @ 81150CC
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ ldr r0, _081150E8 @ =gUnknown_8456AA0
+ adds r0, 0x21
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ bl sub_8110944
+ lsls r0, 24
+ cmp r0, 0
+ bne _081150EC
+ movs r0, 0
+ b _081151AE
+ .align 2, 0
+_081150E8: .4byte gUnknown_8456AA0
+_081150EC:
+ adds r5, r4, 0
+ adds r5, 0x8
+ bl sub_813CC90
+ ldr r0, _08115108 @ =gUnknown_203B044
+ ldrh r0, [r0, 0x2]
+ cmp r0, 0x1
+ beq _08115148
+ cmp r0, 0x1
+ bgt _0811510C
+ cmp r0, 0
+ beq _08115112
+ b _081151AC
+ .align 2, 0
+_08115108: .4byte gUnknown_203B044
+_0811510C:
+ cmp r0, 0x2
+ beq _08115194
+ b _081151AC
+_08115112:
+ ldr r0, _08115134 @ =gUnknown_300500C
+ ldr r1, [r0]
+ movs r0, 0
+ bl sub_813CCAC
+ ldr r0, _08115138 @ =gUnknown_3005008
+ ldr r1, [r0]
+ ldr r0, _0811513C @ =0x00003a4c
+ adds r1, r0
+ movs r0, 0x1
+ bl sub_813CCAC
+ ldr r0, _08115140 @ =gUnknown_2021D18
+ ldr r1, _08115144 @ =gUnknown_841A2E1
+ bl sub_813CCC8
+ b _081151AC
+ .align 2, 0
+_08115134: .4byte gUnknown_300500C
+_08115138: .4byte gUnknown_3005008
+_0811513C: .4byte 0x00003a4c
+_08115140: .4byte gUnknown_2021D18
+_08115144: .4byte gUnknown_841A2E1
+_08115148:
+ ldr r0, _08115180 @ =gUnknown_3005008
+ ldr r1, [r0]
+ ldr r0, _08115184 @ =0x00003a4c
+ adds r1, r0
+ movs r0, 0
+ bl sub_813CCAC
+ ldrh r0, [r4, 0x4]
+ movs r1, 0
+ movs r2, 0x1
+ bl sub_8113EAC
+ ldr r0, _08115188 @ =gUnknown_300500C
+ ldr r1, [r0]
+ movs r0, 0x2
+ bl sub_813CCAC
+ ldrh r0, [r4, 0x6]
+ movs r1, 0
+ movs r2, 0x3
+ bl sub_8113EAC
+ ldr r0, _0811518C @ =gUnknown_2021D18
+ ldr r1, _08115190 @ =gUnknown_841A312
+ bl sub_813CCC8
+ b _081151AC
+ .align 2, 0
+_08115180: .4byte gUnknown_3005008
+_08115184: .4byte 0x00003a4c
+_08115188: .4byte gUnknown_300500C
+_0811518C: .4byte gUnknown_2021D18
+_08115190: .4byte gUnknown_841A312
+_08115194:
+ ldr r1, _081151B4 @ =gUnknown_8456AD8
+ ldrb r0, [r4, 0x8]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ movs r0, 0
+ bl sub_813CCAC
+ ldr r0, _081151B8 @ =gUnknown_2021D18
+ ldr r1, _081151BC @ =gUnknown_841A349
+ bl sub_813CCC8
+_081151AC:
+ adds r0, r5, 0x2
+_081151AE:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081151B4: .4byte gUnknown_8456AD8
+_081151B8: .4byte gUnknown_2021D18
+_081151BC: .4byte gUnknown_841A349
+ thumb_func_end sub_81150CC
+
+ thumb_func_start sub_81151C0
+sub_81151C0: @ 81151C0
+ push {lr}
+ adds r3, r0, 0
+ adds r2, r1, 0
+ ldr r1, _081151D8 @ =gUnknown_203B048
+ movs r0, 0x1
+ strb r0, [r1]
+ movs r0, 0x22
+ adds r1, r3, 0
+ bl sub_8114D18
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081151D8: .4byte gUnknown_203B048
+ thumb_func_end sub_81151C0
+
+ thumb_func_start sub_81151DC
+sub_81151DC: @ 81151DC
+ push {r4-r6,lr}
+ adds r1, r0, 0
+ movs r0, 0x22
+ bl sub_8113E88
+ adds r5, r0, 0
+ adds r6, r5, 0x6
+ bl sub_813CC90
+ ldr r4, _0811522C @ =gUnknown_2021CD0
+ ldrb r1, [r5, 0x6]
+ adds r0, r4, 0
+ bl sub_80C4DF8
+ movs r0, 0
+ adds r1, r4, 0
+ bl sub_813CCAC
+ ldr r3, _08115230 @ =gUnknown_823EAC8
+ ldrh r1, [r5, 0x4]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r2, r0, 3
+ adds r0, r2, r3
+ ldrb r0, [r0, 0x1]
+ cmp r0, 0x51
+ beq _0811521A
+ cmp r0, 0x59
+ beq _0811521A
+ cmp r0, 0x5A
+ bne _08115234
+_0811521A:
+ movs r0, 0x6
+ bl sub_80091E0
+ adds r1, r0, 0
+ movs r0, 0x1
+ bl sub_813CCAC
+ b _0811523E
+ .align 2, 0
+_0811522C: .4byte gUnknown_2021CD0
+_08115230: .4byte gUnknown_823EAC8
+_08115234:
+ adds r1, r3, 0x4
+ adds r1, r2, r1
+ movs r0, 0x1
+ bl sub_813CCAC
+_0811523E:
+ ldrh r0, [r5]
+ movs r1, 0
+ movs r2, 0x2
+ bl sub_8113EAC
+ ldrh r0, [r5, 0x2]
+ movs r1, 0
+ movs r2, 0x3
+ bl sub_8113EAC
+ ldr r1, _08115274 @ =gUnknown_8456ACC
+ ldrb r0, [r6, 0x1]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ movs r0, 0x4
+ bl sub_813CCAC
+ ldr r0, _08115278 @ =gUnknown_2021D18
+ ldr r1, _0811527C @ =gUnknown_841AF6D
+ bl sub_813CCC8
+ adds r0, r6, 0x2
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08115274: .4byte gUnknown_8456ACC
+_08115278: .4byte gUnknown_2021D18
+_0811527C: .4byte gUnknown_841AF6D
+ thumb_func_end sub_81151DC
+
+ thumb_func_start sub_8115280
+sub_8115280: @ 8115280
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x23
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ bne _08115298
+ movs r0, 0
+ b _081152B0
+_08115298:
+ ldrb r0, [r4]
+ strb r0, [r2]
+ ldrb r0, [r4, 0x1]
+ strb r0, [r2, 0x1]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x24
+ bne _081152AE
+ ldr r1, _081152B8 @ =gUnknown_203B048
+ movs r0, 0x1
+ strb r0, [r1]
+_081152AE:
+ adds r0, r2, 0x2
+_081152B0:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081152B8: .4byte gUnknown_203B048
+ thumb_func_end sub_8115280
+
+ thumb_func_start sub_81152BC
+sub_81152BC: @ 81152BC
+ push {r4-r7,lr}
+ adds r1, r0, 0
+ movs r0, 0x23
+ bl sub_8113E88
+ adds r5, r0, 0
+ ldrb r6, [r5, 0x1]
+ ldr r0, _08115318 @ =gUnknown_2021CD0
+ ldrb r1, [r5]
+ bl sub_80C4DF8
+ ldr r0, _0811531C @ =gUnknown_2021CF0
+ ldr r2, _08115320 @ =gUnknown_8456AF0
+ lsls r1, r6, 2
+ adds r1, r2
+ ldr r1, [r1]
+ bl sub_8008D84
+ ldr r0, _08115324 @ =gUnknown_8456BE4
+ adds r1, r6, r0
+ ldrb r0, [r1]
+ cmp r0, 0x5
+ bne _08115378
+ movs r4, 0
+ ldr r2, _08115328 @ =gUnknown_8456C17
+ adds r7, r5, 0x2
+ ldrb r1, [r5]
+_081152F2:
+ adds r0, r4, r2
+ ldrb r0, [r0]
+ cmp r1, r0
+ bne _08115334
+ movs r1, 0x82
+ lsls r1, 4
+ adds r0, r4, r1
+ bl sub_806E6D0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08115364
+ ldr r0, _0811532C @ =gUnknown_2021D18
+ ldr r1, _08115330 @ =gUnknown_841AE48
+ bl sub_8008FCC
+ b _0811533E
+ .align 2, 0
+_08115318: .4byte gUnknown_2021CD0
+_0811531C: .4byte gUnknown_2021CF0
+_08115320: .4byte gUnknown_8456AF0
+_08115324: .4byte gUnknown_8456BE4
+_08115328: .4byte gUnknown_8456C17
+_0811532C: .4byte gUnknown_2021D18
+_08115330: .4byte gUnknown_841AE48
+_08115334:
+ adds r0, r4, 0x1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x7
+ bls _081152F2
+_0811533E:
+ cmp r4, 0x8
+ bne _0811538A
+ ldr r0, _08115358 @ =gUnknown_2021D18
+ ldr r2, _0811535C @ =gUnknown_8456BBC
+ ldr r1, _08115360 @ =gUnknown_8456BE4
+ adds r1, r6, r1
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r2
+ ldr r1, [r1]
+ bl sub_8008FCC
+ b _0811538A
+ .align 2, 0
+_08115358: .4byte gUnknown_2021D18
+_0811535C: .4byte gUnknown_8456BBC
+_08115360: .4byte gUnknown_8456BE4
+_08115364:
+ ldr r0, _08115370 @ =gUnknown_2021D18
+ ldr r1, _08115374 @ =gUnknown_841AE8F
+ bl sub_8008FCC
+ b _0811533E
+ .align 2, 0
+_08115370: .4byte gUnknown_2021D18
+_08115374: .4byte gUnknown_841AE8F
+_08115378:
+ ldr r0, _08115394 @ =gUnknown_2021D18
+ ldr r2, _08115398 @ =gUnknown_8456BBC
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r2
+ ldr r1, [r1]
+ bl sub_8008FCC
+ adds r7, r5, 0x2
+_0811538A:
+ adds r0, r7, 0
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08115394: .4byte gUnknown_2021D18
+_08115398: .4byte gUnknown_8456BBC
+ thumb_func_end sub_81152BC
+
+ thumb_func_start sub_811539C
+sub_811539C: @ 811539C
+ ldr r1, _081153A4 @ =gUnknown_203B04B
+ movs r0, 0x1
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_081153A4: .4byte gUnknown_203B04B
+ thumb_func_end sub_811539C
+
+ thumb_func_start sub_81153A8
+sub_81153A8: @ 81153A8
+ push {lr}
+ adds r2, r1, 0
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x23
+ beq _081153C4
+ ldr r1, _081153C0 @ =gUnknown_203B04A
+ movs r0, 0
+ strb r0, [r1]
+ movs r0, 0x1
+ b _081153DE
+ .align 2, 0
+_081153C0: .4byte gUnknown_203B04A
+_081153C4:
+ ldr r3, _081153D8 @ =gUnknown_203B04A
+ ldrb r1, [r3]
+ ldrb r0, [r2, 0x1]
+ adds r0, 0x1
+ cmp r1, r0
+ beq _081153DC
+ strb r0, [r3]
+ movs r0, 0x1
+ b _081153DE
+ .align 2, 0
+_081153D8: .4byte gUnknown_203B04A
+_081153DC:
+ movs r0, 0
+_081153DE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81153A8
+
+ thumb_func_start sub_81153E4
+sub_81153E4: @ 81153E4
+ push {lr}
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0x23
+ bne _08115408
+ ldrb r0, [r1, 0x1]
+ ldr r1, _08115400 @ =gUnknown_203B04B
+ cmp r0, 0x20
+ bne _08115404
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08115404
+ movs r0, 0
+ b _0811540A
+ .align 2, 0
+_08115400: .4byte gUnknown_203B04B
+_08115404:
+ movs r0, 0
+ strb r0, [r1]
+_08115408:
+ movs r0, 0x1
+_0811540A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81153E4
+
+ thumb_func_start sub_8115410
+sub_8115410: @ 8115410
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x24
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ bne _08115428
+ movs r0, 0
+ b _08115454
+_08115428:
+ ldrh r0, [r4]
+ strh r0, [r2]
+ adds r3, r2, 0x2
+ ldrb r0, [r4, 0x2]
+ strb r0, [r2, 0x2]
+ ldrb r0, [r4, 0x3]
+ strb r0, [r3, 0x1]
+ ldrb r0, [r2, 0x2]
+ subs r0, 0x7
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bhi _0811544C
+ ldr r1, _08115448 @ =gUnknown_203B048
+ movs r0, 0x2
+ b _08115450
+ .align 2, 0
+_08115448: .4byte gUnknown_203B048
+_0811544C:
+ ldr r1, _0811545C @ =gUnknown_203B048
+ movs r0, 0x1
+_08115450:
+ strb r0, [r1]
+ adds r0, r3, 0x2
+_08115454:
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0811545C: .4byte gUnknown_203B048
+ thumb_func_end sub_8115410
+
+ thumb_func_start sub_8115460
+sub_8115460: @ 8115460
+ push {r4,r5,lr}
+ adds r1, r0, 0
+ movs r0, 0x24
+ bl sub_8113E88
+ adds r4, r0, 0
+ adds r5, r4, 0x2
+ ldrh r0, [r4]
+ ldr r1, _0811549C @ =gUnknown_2021CD0
+ movs r2, 0
+ bl sub_8113EAC
+ ldrb r0, [r5, 0x1]
+ cmp r0, 0xFF
+ beq _08115486
+ ldr r0, _081154A0 @ =gUnknown_2021CF0
+ ldrb r1, [r5, 0x1]
+ bl sub_80C4DF8
+_08115486:
+ ldrb r0, [r4, 0x2]
+ cmp r0, 0x7
+ bne _081154B4
+ ldrb r0, [r5, 0x1]
+ cmp r0, 0x58
+ bne _081154AC
+ ldr r0, _081154A4 @ =gUnknown_2021D04
+ ldr r1, _081154A8 @ =gUnknown_841B09F
+ bl sub_8008D84
+ b _081154B4
+ .align 2, 0
+_0811549C: .4byte gUnknown_2021CD0
+_081154A0: .4byte gUnknown_2021CF0
+_081154A4: .4byte gUnknown_2021D04
+_081154A8: .4byte gUnknown_841B09F
+_081154AC:
+ ldr r0, _081154CC @ =gUnknown_2021D04
+ ldr r1, _081154D0 @ =gUnknown_8418C1B
+ bl sub_8008D84
+_081154B4:
+ ldr r0, _081154D4 @ =gUnknown_2021D18
+ ldr r2, _081154D8 @ =gUnknown_8456C20
+ ldrb r1, [r5]
+ lsls r1, 2
+ adds r1, r2
+ ldr r1, [r1]
+ bl sub_8008FCC
+ adds r0, r5, 0x2
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081154CC: .4byte gUnknown_2021D04
+_081154D0: .4byte gUnknown_8418C1B
+_081154D4: .4byte gUnknown_2021D18
+_081154D8: .4byte gUnknown_8456C20
+ thumb_func_end sub_8115460
+
+ thumb_func_start sub_81154DC
+sub_81154DC: @ 81154DC
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x25
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _0811550E
+ ldrh r0, [r4, 0x4]
+ strh r0, [r2]
+ ldrh r0, [r4, 0x6]
+ strh r0, [r2, 0x2]
+ ldr r1, [r4]
+ lsrs r0, r1, 16
+ strh r0, [r2, 0x4]
+ strh r1, [r2, 0x6]
+ ldrb r0, [r4, 0x8]
+ strb r0, [r2, 0x8]
+ movs r0, 0x1
+ strb r0, [r2, 0x9]
+ adds r0, r2, 0
+ adds r0, 0xA
+ b _08115510
+_0811550E:
+ movs r0, 0
+_08115510:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81154DC
+
+ thumb_func_start sub_8115518
+sub_8115518: @ 8115518
+ push {r4-r7,lr}
+ adds r1, r0, 0
+ movs r0, 0x25
+ bl sub_8113E88
+ adds r4, r0, 0
+ adds r7, r4, 0
+ adds r7, 0x8
+ ldrh r0, [r4, 0x4]
+ lsls r0, 16
+ ldrh r1, [r4, 0x6]
+ adds r6, r0, r1
+ bl sub_813CC90
+ ldr r5, _08115564 @ =gUnknown_2021CD0
+ ldrb r1, [r4, 0x8]
+ adds r0, r5, 0
+ bl sub_80C4DF8
+ movs r0, 0
+ adds r1, r5, 0
+ bl sub_813CCAC
+ ldrh r0, [r4]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ movs r0, 0x1
+ bl sub_813CCAC
+ ldrh r0, [r4, 0x2]
+ cmp r0, 0x1
+ bhi _08115570
+ ldr r0, _08115568 @ =gUnknown_2021D18
+ ldr r1, _0811556C @ =gUnknown_841A7DD
+ bl sub_813CCC8
+ b _0811558E
+ .align 2, 0
+_08115564: .4byte gUnknown_2021CD0
+_08115568: .4byte gUnknown_2021D18
+_0811556C: .4byte gUnknown_841A7DD
+_08115570:
+ ldr r4, _08115598 @ =gUnknown_2021CF0
+ adds r0, r4, 0
+ adds r1, r6, 0
+ movs r2, 0
+ movs r3, 0x6
+ bl sub_8008E78
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl sub_813CCAC
+ ldr r0, _0811559C @ =gUnknown_2021D18
+ ldr r1, _081155A0 @ =gUnknown_841A810
+ bl sub_813CCC8
+_0811558E:
+ adds r0, r7, 0x2
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08115598: .4byte gUnknown_2021CF0
+_0811559C: .4byte gUnknown_2021D18
+_081155A0: .4byte gUnknown_841A810
+ thumb_func_end sub_8115518
+
+ thumb_func_start sub_81155A4
+sub_81155A4: @ 81155A4
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x26
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _081155D6
+ ldrh r0, [r4, 0x4]
+ strh r0, [r2]
+ ldrh r0, [r4, 0x6]
+ strh r0, [r2, 0x2]
+ ldr r1, [r4]
+ lsrs r0, r1, 16
+ strh r0, [r2, 0x4]
+ strh r1, [r2, 0x6]
+ ldrb r0, [r4, 0x8]
+ strb r0, [r2, 0x8]
+ ldrb r0, [r4, 0x9]
+ strb r0, [r2, 0x9]
+ adds r0, r2, 0
+ adds r0, 0xA
+ b _081155D8
+_081155D6:
+ movs r0, 0
+_081155D8:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81155A4
+
+ thumb_func_start sub_81155E0
+sub_81155E0: @ 81155E0
+ push {r4-r7,lr}
+ adds r1, r0, 0
+ movs r0, 0x26
+ bl sub_8113E88
+ adds r5, r0, 0
+ adds r7, r5, 0
+ adds r7, 0x8
+ ldrh r0, [r5, 0x4]
+ lsls r0, 16
+ ldrh r1, [r5, 0x6]
+ adds r6, r0, r1
+ bl sub_813CC90
+ ldr r4, _0811563C @ =gUnknown_2021CD0
+ ldrb r1, [r5, 0x8]
+ adds r0, r4, 0
+ bl sub_80C4DF8
+ ldrb r0, [r7, 0x1]
+ cmp r0, 0
+ bne _08115690
+ ldr r0, _08115640 @ =gUnknown_300500C
+ ldr r1, [r0]
+ movs r0, 0
+ bl sub_813CCAC
+ movs r0, 0x1
+ adds r1, r4, 0
+ bl sub_813CCAC
+ ldrh r0, [r5]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ movs r0, 0x2
+ bl sub_813CCAC
+ ldrh r0, [r5, 0x2]
+ cmp r0, 0x1
+ bne _08115648
+ ldr r1, _08115644 @ =gUnknown_841A8D4
+ movs r0, 0x3
+ bl sub_813CCAC
+ b _08115670
+ .align 2, 0
+_0811563C: .4byte gUnknown_2021CD0
+_08115640: .4byte gUnknown_300500C
+_08115644: .4byte gUnknown_841A8D4
+_08115648:
+ ldr r4, _0811567C @ =gUnknown_2021CF0
+ ldrh r1, [r5, 0x2]
+ adds r0, r4, 0
+ movs r2, 0
+ movs r3, 0x3
+ bl sub_8008E78
+ movs r0, 0x4
+ adds r1, r4, 0
+ bl sub_813CCAC
+ ldr r4, _08115680 @ =gUnknown_2021D04
+ ldr r1, _08115684 @ =gUnknown_841A8DD
+ adds r0, r4, 0
+ bl sub_813CCC8
+ movs r0, 0x3
+ adds r1, r4, 0
+ bl sub_813CCAC
+_08115670:
+ ldr r0, _08115688 @ =gUnknown_2021D18
+ ldr r1, _0811568C @ =gUnknown_841A858
+ bl sub_813CCC8
+ b _081156C4
+ .align 2, 0
+_0811567C: .4byte gUnknown_2021CF0
+_08115680: .4byte gUnknown_2021D04
+_08115684: .4byte gUnknown_841A8DD
+_08115688: .4byte gUnknown_2021D18
+_0811568C: .4byte gUnknown_841A858
+_08115690:
+ movs r0, 0
+ adds r1, r4, 0
+ bl sub_813CCAC
+ ldrh r0, [r5]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ movs r0, 0x1
+ bl sub_813CCAC
+ ldr r4, _081156CC @ =gUnknown_2021CF0
+ adds r0, r4, 0
+ adds r1, r6, 0
+ movs r2, 0
+ movs r3, 0x6
+ bl sub_8008E78
+ movs r0, 0x2
+ adds r1, r4, 0
+ bl sub_813CCAC
+ ldr r0, _081156D0 @ =gUnknown_2021D18
+ ldr r1, _081156D4 @ =gUnknown_841A896
+ bl sub_813CCC8
+_081156C4:
+ adds r0, r7, 0x2
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081156CC: .4byte gUnknown_2021CF0
+_081156D0: .4byte gUnknown_2021D18
+_081156D4: .4byte gUnknown_841A896
+ thumb_func_end sub_81155E0
+
+ thumb_func_start sub_81156D8
+sub_81156D8: @ 81156D8
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x28
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _081156F8
+ ldrh r0, [r4]
+ strh r0, [r2]
+ ldrb r0, [r4, 0x2]
+ strb r0, [r2, 0x2]
+ adds r0, r2, 0x4
+ b _081156FA
+_081156F8:
+ movs r0, 0
+_081156FA:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81156D8
+
+ thumb_func_start sub_8115700
+sub_8115700: @ 8115700
+ push {r4-r6,lr}
+ adds r1, r0, 0
+ movs r0, 0x28
+ bl sub_8113E88
+ adds r4, r0, 0
+ adds r5, r4, 0x2
+ ldr r0, _08115738 @ =gUnknown_2021CD0
+ ldrb r1, [r4, 0x2]
+ bl sub_80C4DF8
+ ldr r6, _0811573C @ =gUnknown_2021CF0
+ ldrh r0, [r4]
+ bl sub_809A8BC
+ adds r1, r0, 0
+ adds r0, r6, 0
+ bl sub_8008D84
+ ldr r0, _08115740 @ =gUnknown_2021D18
+ ldr r1, _08115744 @ =gUnknown_841B03F
+ bl sub_8008FCC
+ adds r5, 0x2
+ adds r0, r5, 0
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08115738: .4byte gUnknown_2021CD0
+_0811573C: .4byte gUnknown_2021CF0
+_08115740: .4byte gUnknown_2021D18
+_08115744: .4byte gUnknown_841B03F
+ thumb_func_end sub_8115700
+
+ thumb_func_start sub_8115748
+sub_8115748: @ 8115748
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r2, r0, 16
+ ldr r0, _08115764 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _08115792
+ movs r1, 0
+ ldr r4, _08115768 @ =gUnknown_203B049
+ ldr r0, _0811576C @ =gUnknown_8456C50
+ b _08115778
+ .align 2, 0
+_08115764: .4byte gUnknown_203ADFA
+_08115768: .4byte gUnknown_203B049
+_0811576C: .4byte gUnknown_8456C50
+_08115770:
+ movs r0, 0
+ b _08115790
+_08115774:
+ adds r0, 0x2
+ adds r1, 0x1
+_08115778:
+ cmp r1, 0x10
+ bgt _08115792
+ ldrh r3, [r0]
+ cmp r2, r3
+ bne _08115774
+ adds r0, r2, 0
+ bl sub_806E6D0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08115770
+ movs r0, 0x1
+_08115790:
+ strb r0, [r4]
+_08115792:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8115748
+
+ thumb_func_start sub_8115798
+sub_8115798: @ 8115798
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r0, _081157D0 @ =gUnknown_203ADFA
+ ldrb r0, [r0]
+ subs r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bls _081157C6
+ ldr r4, _081157D4 @ =gUnknown_203B049
+ ldrb r0, [r4]
+ cmp r0, 0
+ beq _081157C6
+ ldr r0, _081157D8 @ =gUnknown_2036DFC
+ ldrb r1, [r0, 0x14]
+ mov r0, sp
+ strh r1, [r0]
+ movs r0, 0x2A
+ mov r1, sp
+ bl sub_8113550
+ movs r0, 0
+ strb r0, [r4]
+_081157C6:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081157D0: .4byte gUnknown_203ADFA
+_081157D4: .4byte gUnknown_203B049
+_081157D8: .4byte gUnknown_2036DFC
+ thumb_func_end sub_8115798
+
+ thumb_func_start sub_81157DC
+sub_81157DC: @ 81157DC
+ push {r4,lr}
+ adds r2, r0, 0
+ adds r4, r1, 0
+ movs r0, 0x2A
+ adds r1, r2, 0
+ bl sub_8113DE0
+ adds r2, r0, 0
+ cmp r2, 0
+ beq _081157F8
+ ldrh r0, [r4]
+ strh r0, [r2]
+ adds r0, r2, 0x2
+ b _081157FA
+_081157F8:
+ movs r0, 0
+_081157FA:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81157DC
+
+ thumb_func_start sub_8115800
+sub_8115800: @ 8115800
+ push {r4,lr}
+ adds r1, r0, 0
+ movs r0, 0x2A
+ bl sub_8113E88
+ adds r4, r0, 0
+ ldr r0, _08115828 @ =gUnknown_2021CD0
+ ldrb r1, [r4]
+ bl sub_80C4DF8
+ ldr r0, _0811582C @ =gUnknown_2021D18
+ ldr r1, _08115830 @ =gUnknown_841B064
+ bl sub_8008FCC
+ adds r4, 0x2
+ adds r0, r4, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08115828: .4byte gUnknown_2021CD0
+_0811582C: .4byte gUnknown_2021D18
+_08115830: .4byte gUnknown_841B064
+ thumb_func_end sub_8115800
+
+ thumb_func_start sub_8115834
+sub_8115834: @ 8115834
+ push {lr}
+ adds r1, r0, 0
+ ldrb r0, [r1]
+ adds r1, 0x1
+ cmp r0, 0xFC
+ bne _08115868
+ ldrb r0, [r1]
+ adds r1, 0x1
+ cmp r0, 0x15
+ bne _08115868
+ movs r2, 0
+ b _08115854
+_0811584C:
+ adds r1, 0x1
+ adds r2, 0x1
+ cmp r2, 0x4
+ bgt _0811585A
+_08115854:
+ ldrb r0, [r1]
+ cmp r0, 0xFC
+ bne _0811584C
+_0811585A:
+ movs r0, 0xFC
+ strb r0, [r1]
+ adds r1, 0x1
+ movs r0, 0x16
+ strb r0, [r1]
+ movs r0, 0xFF
+ strb r0, [r1, 0x1]
+_08115868:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8115834
+
+ .align 2, 0 @ Don't pad with nop.