summaryrefslogtreecommitdiff
path: root/asm/battle_controller_opponent.s
diff options
context:
space:
mode:
authorsceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-16 23:54:22 -0800
committersceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-16 23:54:22 -0800
commit670fef77ac4d9116d5fdc28c0da40622919a062b (patch)
tree61c0e925f059404473826ac775305ba5e2706ab1 /asm/battle_controller_opponent.s
first commit
Diffstat (limited to 'asm/battle_controller_opponent.s')
-rw-r--r--asm/battle_controller_opponent.s6736
1 files changed, 6736 insertions, 0 deletions
diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s
new file mode 100644
index 000000000..e422eedf8
--- /dev/null
+++ b/asm/battle_controller_opponent.s
@@ -0,0 +1,6736 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start nullsub_17
+nullsub_17: @ 8035A78
+ bx lr
+ thumb_func_end nullsub_17
+
+ thumb_func_start sub_8035A7C
+sub_8035A7C: @ 8035A7C
+ ldr r1, _08035A8C @ =gUnknown_3004FE0
+ ldr r0, _08035A90 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08035A94 @ =sub_8035A98
+ str r1, [r0]
+ bx lr
+ .align 2, 0
+_08035A8C: .4byte gUnknown_3004FE0
+_08035A90: .4byte gUnknown_2023BC4
+_08035A94: .4byte sub_8035A98
+ thumb_func_end sub_8035A7C
+
+ thumb_func_start sub_8035A98
+sub_8035A98: @ 8035A98
+ push {lr}
+ ldr r2, _08035ACC @ =gUnknown_2023BC8
+ ldr r1, _08035AD0 @ =gUnknown_825E45C
+ ldr r0, _08035AD4 @ =gUnknown_2023BC4
+ ldrb r3, [r0]
+ lsls r0, r3, 2
+ adds r0, r1
+ ldr r1, [r2]
+ ldr r0, [r0]
+ ands r1, r0
+ cmp r1, 0
+ beq _08035AE4
+ ldr r0, _08035AD8 @ =gUnknown_2022BC4
+ lsls r1, r3, 9
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0x38
+ bhi _08035AE0
+ ldr r0, _08035ADC @ =gUnknown_8250A34
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, [r1]
+ bl _call_via_r0
+ b _08035AE4
+ .align 2, 0
+_08035ACC: .4byte gUnknown_2023BC8
+_08035AD0: .4byte gUnknown_825E45C
+_08035AD4: .4byte gUnknown_2023BC4
+_08035AD8: .4byte gUnknown_2022BC4
+_08035ADC: .4byte gUnknown_8250A34
+_08035AE0:
+ bl sub_8036530
+_08035AE4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8035A98
+
+ thumb_func_start sub_8035AE8
+sub_8035AE8: @ 8035AE8
+ push {lr}
+ ldr r2, _08035B10 @ =gUnknown_202063C
+ ldr r1, _08035B14 @ =gUnknown_2023D44
+ ldr r0, _08035B18 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, [r0]
+ ldr r0, _08035B1C @ =nullsub_8
+ cmp r1, r0
+ bne _08035B0C
+ bl sub_8036530
+_08035B0C:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08035B10: .4byte gUnknown_202063C
+_08035B14: .4byte gUnknown_2023D44
+_08035B18: .4byte gUnknown_2023BC4
+_08035B1C: .4byte nullsub_8
+ thumb_func_end sub_8035AE8
+
+ thumb_func_start sub_8035B20
+sub_8035B20: @ 8035B20
+ push {lr}
+ ldr r2, _08035B48 @ =gUnknown_202063C
+ ldr r1, _08035B4C @ =gUnknown_2023D44
+ ldr r0, _08035B50 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, [r0]
+ ldr r0, _08035B54 @ =nullsub_8
+ cmp r1, r0
+ bne _08035B44
+ bl sub_8036530
+_08035B44:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08035B48: .4byte gUnknown_202063C
+_08035B4C: .4byte gUnknown_2023D44
+_08035B50: .4byte gUnknown_2023BC4
+_08035B54: .4byte nullsub_8
+ thumb_func_end sub_8035B20
+
+ thumb_func_start sub_8035B58
+sub_8035B58: @ 8035B58
+ push {r4-r6,lr}
+ ldr r4, _08035BD0 @ =gUnknown_202063C
+ ldr r6, _08035BD4 @ =gUnknown_2023D44
+ ldr r5, _08035BD8 @ =gUnknown_2023BC4
+ ldrb r0, [r5]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r2, r0, 2
+ adds r0, r4, 0
+ adds r0, 0x1C
+ adds r0, r2, r0
+ ldr r1, [r0]
+ ldr r0, _08035BDC @ =nullsub_8
+ cmp r1, r0
+ bne _08035BC8
+ adds r0, r2, r4
+ ldrh r0, [r0, 0x6]
+ bl sub_803477C
+ ldrb r0, [r5]
+ adds r0, r6
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ ldrh r0, [r1, 0x38]
+ ldr r2, _08035BE0 @ =0x000003ff
+ ands r2, r0
+ ldrh r3, [r1, 0x4]
+ ldr r0, _08035BE4 @ =0xfffffc00
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, 0x4]
+ ldrb r0, [r5]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl sub_80077D8
+ ldrb r0, [r5]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl sub_8007280
+ bl sub_8036530
+_08035BC8:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08035BD0: .4byte gUnknown_202063C
+_08035BD4: .4byte gUnknown_2023D44
+_08035BD8: .4byte gUnknown_2023BC4
+_08035BDC: .4byte nullsub_8
+_08035BE0: .4byte 0x000003ff
+_08035BE4: .4byte 0xfffffc00
+ thumb_func_end sub_8035B58
+
+ thumb_func_start sub_8035BE8
+sub_8035BE8: @ 8035BE8
+ push {r4,lr}
+ ldr r4, _08035C28 @ =gUnknown_2024018
+ ldr r1, [r4]
+ ldr r3, _08035C2C @ =gUnknown_2023BC4
+ ldrb r0, [r3]
+ ldr r2, [r1, 0x4]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrb r0, [r1, 0x9]
+ subs r0, 0x1
+ strb r0, [r1, 0x9]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0xFF
+ bne _08035C20
+ ldr r0, [r4]
+ ldrb r1, [r3]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0
+ strb r1, [r0, 0x9]
+ bl sub_8036530
+_08035C20:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08035C28: .4byte gUnknown_2024018
+_08035C2C: .4byte gUnknown_2023BC4
+ thumb_func_end sub_8035BE8
+
+ thumb_func_start sub_8035C30
+sub_8035C30: @ 8035C30
+ push {r4-r7,lr}
+ movs r6, 0
+ bl sub_8075290
+ lsls r0, 24
+ cmp r0, 0
+ beq _08035C54
+ bl sub_8075290
+ lsls r0, 24
+ cmp r0, 0
+ beq _08035C88
+ ldr r0, _08035C74 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08035C88
+_08035C54:
+ ldr r2, _08035C78 @ =gUnknown_202063C
+ ldr r1, _08035C7C @ =gUnknown_3004FF0
+ ldr r0, _08035C80 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, [r0]
+ ldr r0, _08035C84 @ =nullsub_8
+ cmp r1, r0
+ bne _08035CBE
+ b _08035CBC
+ .align 2, 0
+_08035C74: .4byte gUnknown_2022B4C
+_08035C78: .4byte gUnknown_202063C
+_08035C7C: .4byte gUnknown_3004FF0
+_08035C80: .4byte gUnknown_2023BC4
+_08035C84: .4byte nullsub_8
+_08035C88:
+ ldr r2, _08035D84 @ =gUnknown_202063C
+ ldr r5, _08035D88 @ =gUnknown_3004FF0
+ ldr r0, _08035D8C @ =gUnknown_2023BC4
+ ldrb r3, [r0]
+ adds r0, r3, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r4, [r0]
+ ldr r0, _08035D90 @ =nullsub_8
+ cmp r4, r0
+ bne _08035CBE
+ movs r0, 0x2
+ eors r3, r0
+ adds r0, r3, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldr r0, [r0]
+ cmp r0, r4
+ bne _08035CBE
+_08035CBC:
+ movs r6, 0x1
+_08035CBE:
+ bl sub_80721F0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08035CCA
+ movs r6, 0
+_08035CCA:
+ cmp r6, 0
+ bne _08035CD0
+ b _08035DD2
+_08035CD0:
+ ldr r0, _08035D94 @ =gUnknown_2024018
+ mov r12, r0
+ ldr r0, [r0]
+ ldr r7, _08035D8C @ =gUnknown_2023BC4
+ ldrb r2, [r7]
+ ldr r3, [r0, 0x4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r4, r0, r3
+ ldrb r1, [r4, 0x1]
+ movs r5, 0x1
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08035DD2
+ movs r6, 0x2
+ adds r1, r6, 0
+ eors r1, r2
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldrb r1, [r0, 0x1]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08035DD2
+ ldrb r1, [r4]
+ movs r3, 0x7F
+ adds r0, r3, 0
+ ands r0, r1
+ strb r0, [r4]
+ mov r1, r12
+ ldr r0, [r1]
+ ldrb r2, [r7]
+ ldr r0, [r0, 0x4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r0
+ ldrb r2, [r1, 0x1]
+ movs r4, 0x2
+ negs r4, r4
+ adds r0, r4, 0
+ ands r0, r2
+ strb r0, [r1, 0x1]
+ mov r0, r12
+ ldr r2, [r0]
+ ldrb r0, [r7]
+ adds r1, r6, 0
+ eors r1, r0
+ ldr r2, [r2, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0]
+ ands r3, r1
+ strb r3, [r0]
+ mov r1, r12
+ ldr r2, [r1]
+ ldrb r0, [r7]
+ adds r1, r6, 0
+ eors r1, r0
+ ldr r2, [r2, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0, 0x1]
+ ands r4, r1
+ strb r4, [r0, 0x1]
+ ldr r4, _08035D98 @ =0x000027f9
+ adds r0, r4, 0
+ bl sub_800874C
+ adds r0, r4, 0
+ bl sub_8008A30
+ ldr r0, _08035D9C @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08035DA4
+ ldr r0, _08035DA0 @ =gMPlay_BGM
+ bl m4aMPlayContinue
+ b _08035DB0
+ .align 2, 0
+_08035D84: .4byte gUnknown_202063C
+_08035D88: .4byte gUnknown_3004FF0
+_08035D8C: .4byte gUnknown_2023BC4
+_08035D90: .4byte nullsub_8
+_08035D94: .4byte gUnknown_2024018
+_08035D98: .4byte 0x000027f9
+_08035D9C: .4byte gUnknown_2022B4C
+_08035DA0: .4byte gMPlay_BGM
+_08035DA4:
+ ldr r0, _08035DD8 @ =gMPlay_BGM
+ ldr r1, _08035DDC @ =0x0000ffff
+ movs r2, 0x80
+ lsls r2, 1
+ bl m4aMPlayVolumeControl
+_08035DB0:
+ ldr r0, _08035DE0 @ =gUnknown_2024018
+ ldr r0, [r0]
+ ldr r3, _08035DE4 @ =gUnknown_2023BC4
+ ldrb r1, [r3]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0x3
+ strb r1, [r0, 0x9]
+ ldr r1, _08035DE8 @ =gUnknown_3004FE0
+ ldrb r0, [r3]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08035DEC @ =sub_8035BE8
+ str r1, [r0]
+_08035DD2:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08035DD8: .4byte gMPlay_BGM
+_08035DDC: .4byte 0x0000ffff
+_08035DE0: .4byte gUnknown_2024018
+_08035DE4: .4byte gUnknown_2023BC4
+_08035DE8: .4byte gUnknown_3004FE0
+_08035DEC: .4byte sub_8035BE8
+ thumb_func_end sub_8035C30
+
+ thumb_func_start sub_8035DF0
+sub_8035DF0: @ 8035DF0
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ ldr r4, _08035FC0 @ =gUnknown_2024018
+ ldr r0, [r4]
+ ldr r1, _08035FC4 @ =gUnknown_2023BC4
+ mov r9, r1
+ ldrb r2, [r1]
+ ldr r1, [r0, 0x4]
+ lsls r3, r2, 1
+ adds r0, r3, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r5, 0x88
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08035E2C
+ ldr r0, _08035FC8 @ =gUnknown_2023BCE
+ adds r0, r3, r0
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r1, r0
+ ldr r0, _08035FCC @ =gUnknown_202402C
+ adds r1, r0
+ adds r0, r2, 0
+ bl sub_80F1720
+_08035E2C:
+ ldr r1, [r4]
+ mov r2, r9
+ ldrb r0, [r2]
+ movs r7, 0x2
+ adds r2, r7, 0
+ eors r2, r0
+ ldr r1, [r1, 0x4]
+ lsls r3, r2, 1
+ adds r0, r3, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _08035E60
+ ldr r0, _08035FC8 @ =gUnknown_2023BCE
+ adds r0, r3, r0
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r1, r0
+ ldr r0, _08035FCC @ =gUnknown_202402C
+ adds r1, r0
+ adds r0, r2, 0
+ bl sub_80F1720
+_08035E60:
+ ldr r0, [r4]
+ mov r1, r9
+ ldrb r2, [r1]
+ ldr r3, [r0, 0x4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r3
+ ldrb r1, [r0]
+ movs r4, 0x8
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08035E7E
+ b _08035FB4
+_08035E7E:
+ adds r1, r7, 0
+ eors r1, r2
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldrb r1, [r0]
+ adds r0, r4, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _08035E96
+ b _08035FB4
+_08035E96:
+ bl sub_8075290
+ lsls r0, 24
+ cmp r0, 0
+ beq _08035F28
+ ldr r0, _08035FD0 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _08035F28
+ ldr r1, _08035FD4 @ =gUnknown_3004FFC
+ mov r2, r9
+ ldrb r0, [r2]
+ eors r0, r7
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08035FD8 @ =gUnknown_202063C
+ adds r0, r1
+ bl sub_8007280
+ ldr r4, _08035FDC @ =gUnknown_3004FF0
+ mov r1, r9
+ ldrb r0, [r1]
+ adds r1, r7, 0
+ eors r1, r0
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ ldr r2, _08035FC8 @ =gUnknown_2023BCE
+ mov r8, r2
+ lsls r1, 1
+ add r1, r8
+ ldrh r1, [r1]
+ movs r6, 0x64
+ muls r1, r6
+ ldr r5, _08035FCC @ =gUnknown_202402C
+ adds r1, r5
+ movs r2, 0
+ bl sub_8049D98
+ mov r1, r9
+ ldrb r0, [r1]
+ eors r0, r7
+ bl sub_804BD94
+ mov r2, r9
+ ldrb r0, [r2]
+ eors r0, r7
+ adds r0, r4
+ ldrb r0, [r0]
+ bl sub_80481D4
+ mov r1, r9
+ ldrb r0, [r1]
+ adds r4, r7, 0
+ eors r4, r0
+ lsls r0, r4, 1
+ add r0, r8
+ ldrh r0, [r0]
+ muls r0, r6
+ adds r0, r5
+ movs r1, 0xB
+ bl sub_803FBE8
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r4, 0
+ bl sub_8035708
+_08035F28:
+ ldr r1, _08035FD4 @ =gUnknown_3004FFC
+ ldr r5, _08035FC4 @ =gUnknown_2023BC4
+ ldrb r0, [r5]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08035FD8 @ =gUnknown_202063C
+ adds r0, r1
+ bl sub_8007280
+ ldr r4, _08035FDC @ =gUnknown_3004FF0
+ ldrb r1, [r5]
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ ldr r2, _08035FC8 @ =gUnknown_2023BCE
+ mov r9, r2
+ lsls r1, 1
+ add r1, r9
+ ldrh r1, [r1]
+ movs r2, 0x64
+ mov r8, r2
+ mov r2, r8
+ muls r2, r1
+ adds r1, r2, 0
+ ldr r6, _08035FCC @ =gUnknown_202402C
+ adds r1, r6
+ movs r2, 0
+ bl sub_8049D98
+ ldrb r0, [r5]
+ bl sub_804BD94
+ ldrb r0, [r5]
+ adds r0, r4
+ ldrb r0, [r0]
+ bl sub_80481D4
+ ldrb r4, [r5]
+ lsls r0, r4, 1
+ add r0, r9
+ ldrh r0, [r0]
+ mov r1, r8
+ muls r1, r0
+ adds r0, r1, 0
+ adds r0, r6
+ movs r1, 0xB
+ bl sub_803FBE8
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r4, 0
+ bl sub_8035708
+ ldr r0, _08035FC0 @ =gUnknown_2024018
+ ldr r0, [r0]
+ ldr r2, [r0, 0x8]
+ ldrb r1, [r2, 0x9]
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2, 0x9]
+ ldr r1, _08035FE0 @ =gUnknown_3004FE0
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08035FE4 @ =sub_8035C30
+ str r1, [r0]
+_08035FB4:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08035FC0: .4byte gUnknown_2024018
+_08035FC4: .4byte gUnknown_2023BC4
+_08035FC8: .4byte gUnknown_2023BCE
+_08035FCC: .4byte gUnknown_202402C
+_08035FD0: .4byte gUnknown_2022B4C
+_08035FD4: .4byte gUnknown_3004FFC
+_08035FD8: .4byte gUnknown_202063C
+_08035FDC: .4byte gUnknown_3004FF0
+_08035FE0: .4byte gUnknown_3004FE0
+_08035FE4: .4byte sub_8035C30
+ thumb_func_end sub_8035DF0
+
+ thumb_func_start sub_8035FE8
+sub_8035FE8: @ 8035FE8
+ push {r4-r7,lr}
+ ldr r2, _08036044 @ =gUnknown_202063C
+ ldr r0, _08036048 @ =gUnknown_2023D44
+ ldr r7, _0803604C @ =gUnknown_2023BC4
+ ldrb r3, [r7]
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r0, r2
+ adds r0, r1, 0
+ adds r0, 0x3F
+ ldrb r0, [r0]
+ lsls r0, 27
+ lsrs r2, r0, 31
+ cmp r2, 0x1
+ bne _08036094
+ movs r4, 0x24
+ ldrsh r0, [r1, r4]
+ cmp r0, 0
+ bne _08036094
+ ldr r6, _08036050 @ =gUnknown_2024018
+ ldr r0, [r6]
+ ldr r1, [r0, 0x4]
+ lsls r4, r3, 1
+ adds r0, r4, r3
+ lsls r0, 2
+ adds r1, r0, r1
+ ldrb r5, [r1]
+ movs r0, 0x80
+ ands r0, r5
+ cmp r0, 0
+ bne _0803605C
+ ldr r0, _08036054 @ =gUnknown_2023BCE
+ adds r0, r4, r0
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r1, r0
+ ldr r0, _08036058 @ =gUnknown_202402C
+ adds r1, r0
+ adds r0, r3, 0
+ bl sub_80F1720
+ b _08036094
+ .align 2, 0
+_08036044: .4byte gUnknown_202063C
+_08036048: .4byte gUnknown_2023D44
+_0803604C: .4byte gUnknown_2023BC4
+_08036050: .4byte gUnknown_2024018
+_08036054: .4byte gUnknown_2023BCE
+_08036058: .4byte gUnknown_202402C
+_0803605C:
+ ldrb r0, [r1, 0x1]
+ ands r2, r0
+ cmp r2, 0
+ beq _08036094
+ movs r0, 0x7F
+ ands r0, r5
+ strb r0, [r1]
+ ldr r0, [r6]
+ ldrb r2, [r7]
+ ldr r0, [r0, 0x4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r0
+ ldrb r2, [r1, 0x1]
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1, 0x1]
+ ldr r4, _0803609C @ =0x000027f9
+ adds r0, r4, 0
+ bl sub_800874C
+ adds r0, r4, 0
+ bl sub_8008A30
+ bl sub_8036530
+_08036094:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803609C: .4byte 0x000027f9
+ thumb_func_end sub_8035FE8
+
+ thumb_func_start sub_80360A0
+sub_80360A0: @ 80360A0
+ push {r4-r6,lr}
+ ldr r6, _080360E0 @ =gUnknown_2023BC4
+ ldrb r0, [r6]
+ ldr r5, _080360E4 @ =gUnknown_3004FF0
+ adds r1, r0, r5
+ ldrb r1, [r1]
+ movs r2, 0
+ movs r3, 0
+ bl sub_8049FD8
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl sub_80481D4
+ lsls r4, 16
+ asrs r1, r4, 16
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _080360E8
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r0, [r0]
+ movs r2, 0
+ bl sub_8048440
+ b _08036124
+ .align 2, 0
+_080360E0: .4byte gUnknown_2023BC4
+_080360E4: .4byte gUnknown_3004FF0
+_080360E8:
+ movs r0, 0x1
+ bl sub_80EB2E0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08036120
+ ldr r0, _08036114 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08036120
+ movs r0, 0x1
+ bl sub_80EB2F4
+ ldr r0, _08036118 @ =gUnknown_3004FE0
+ ldrb r1, [r6]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, _0803611C @ =sub_80E8570
+ str r0, [r1]
+ b _08036124
+ .align 2, 0
+_08036114: .4byte gUnknown_2022B4C
+_08036118: .4byte gUnknown_3004FE0
+_0803611C: .4byte sub_80E8570
+_08036120:
+ bl sub_8036530
+_08036124:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80360A0
+
+ thumb_func_start sub_803612C
+sub_803612C: @ 803612C
+ push {lr}
+ ldr r2, _08036160 @ =gUnknown_202063C
+ ldr r0, _08036164 @ =gUnknown_2023D44
+ ldr r1, _08036168 @ =gUnknown_2023BC4
+ ldrb r3, [r1]
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ adds r0, 0x3E
+ ldrb r0, [r0]
+ lsls r0, 31
+ cmp r0, 0
+ bne _0803615A
+ ldr r0, _0803616C @ =gUnknown_3004FF0
+ adds r0, r3, r0
+ ldrb r0, [r0]
+ bl sub_8048188
+ bl sub_8036530
+_0803615A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08036160: .4byte gUnknown_202063C
+_08036164: .4byte gUnknown_2023D44
+_08036168: .4byte gUnknown_2023BC4
+_0803616C: .4byte gUnknown_3004FF0
+ thumb_func_end sub_803612C
+
+ thumb_func_start sub_8036170
+sub_8036170: @ 8036170
+ push {r4-r6,lr}
+ ldr r0, _080361D0 @ =gUnknown_2024018
+ ldr r0, [r0]
+ ldr r6, _080361D4 @ =gUnknown_2023BC4
+ ldrb r2, [r6]
+ ldr r1, [r0, 0x4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _080361CA
+ ldr r5, _080361D8 @ =gUnknown_2023D44
+ adds r0, r2, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, _080361DC @ =gUnknown_202063C
+ adds r0, r4
+ bl sub_80077D8
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl sub_8007280
+ ldrb r0, [r6]
+ bl sub_8035794
+ ldr r1, _080361E0 @ =gUnknown_3004FF0
+ ldrb r0, [r6]
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_8048188
+ bl sub_8036530
+_080361CA:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080361D0: .4byte gUnknown_2024018
+_080361D4: .4byte gUnknown_2023BC4
+_080361D8: .4byte gUnknown_2023D44
+_080361DC: .4byte gUnknown_202063C
+_080361E0: .4byte gUnknown_3004FF0
+ thumb_func_end sub_8036170
+
+ thumb_func_start sub_80361E4
+sub_80361E4: @ 80361E4
+ push {lr}
+ movs r0, 0
+ bl sub_8002E64
+ lsls r0, 16
+ cmp r0, 0
+ bne _080361F6
+ bl sub_8036530
+_080361F6:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80361E4
+
+ thumb_func_start sub_80361FC
+sub_80361FC: @ 80361FC
+ push {r4,lr}
+ ldr r1, _08036238 @ =gUnknown_2023D44
+ ldr r0, _0803623C @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ ldr r2, _08036240 @ =gUnknown_202063C
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r4, r0, r2
+ movs r1, 0x30
+ ldrsh r0, [r4, r1]
+ cmp r0, 0x20
+ bne _08036248
+ movs r3, 0
+ movs r0, 0
+ strh r0, [r4, 0x30]
+ adds r2, r4, 0
+ adds r2, 0x3E
+ ldrb r1, [r2]
+ subs r0, 0x5
+ ands r0, r1
+ strb r0, [r2]
+ ldr r0, _08036244 @ =gUnknown_2024005
+ strb r3, [r0]
+ bl sub_8036530
+ b _08036272
+ .align 2, 0
+_08036238: .4byte gUnknown_2023D44
+_0803623C: .4byte gUnknown_2023BC4
+_08036240: .4byte gUnknown_202063C
+_08036244: .4byte gUnknown_2024005
+_08036248:
+ ldrh r0, [r4, 0x30]
+ movs r1, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _0803626C
+ adds r3, r4, 0
+ adds r3, 0x3E
+ ldrb r2, [r3]
+ lsls r0, r2, 29
+ lsrs r0, 31
+ movs r1, 0x1
+ eors r1, r0
+ lsls r1, 2
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+_0803626C:
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+_08036272:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80361FC
+
+ thumb_func_start sub_8036278
+sub_8036278: @ 8036278
+ push {r4,lr}
+ ldr r2, _080362CC @ =gUnknown_202063C
+ ldr r0, _080362D0 @ =gUnknown_3004FF0
+ ldr r4, _080362D4 @ =gUnknown_2023BC4
+ ldrb r3, [r4]
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, [r0]
+ ldr r0, _080362D8 @ =nullsub_8
+ cmp r1, r0
+ bne _080362C4
+ ldr r0, _080362DC @ =gUnknown_2024018
+ ldr r0, [r0]
+ ldr r1, [r0]
+ lsls r0, r3, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080362B8
+ adds r0, r3, 0
+ adds r1, r3, 0
+ adds r2, r3, 0
+ movs r3, 0x6
+ bl sub_80341D8
+_080362B8:
+ ldr r0, _080362E0 @ =gUnknown_3004FE0
+ ldrb r1, [r4]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, _080362E4 @ =sub_80362E8
+ str r0, [r1]
+_080362C4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080362CC: .4byte gUnknown_202063C
+_080362D0: .4byte gUnknown_3004FF0
+_080362D4: .4byte gUnknown_2023BC4
+_080362D8: .4byte nullsub_8
+_080362DC: .4byte gUnknown_2024018
+_080362E0: .4byte gUnknown_3004FE0
+_080362E4: .4byte sub_80362E8
+ thumb_func_end sub_8036278
+
+ thumb_func_start sub_80362E8
+sub_80362E8: @ 80362E8
+ push {lr}
+ ldr r0, _08036324 @ =gUnknown_2024018
+ ldr r2, [r0]
+ ldr r0, _08036328 @ =gUnknown_2023BC4
+ ldrb r1, [r0]
+ ldr r2, [r2, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _08036320
+ bl sub_80721F0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08036320
+ ldr r0, _0803632C @ =gMPlay_BGM
+ ldr r1, _08036330 @ =0x0000ffff
+ movs r2, 0x80
+ lsls r2, 1
+ bl m4aMPlayVolumeControl
+ bl sub_8036530
+_08036320:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08036324: .4byte gUnknown_2024018
+_08036328: .4byte gUnknown_2023BC4
+_0803632C: .4byte gMPlay_BGM
+_08036330: .4byte 0x0000ffff
+ thumb_func_end sub_80362E8
+
+ thumb_func_start sub_8036334
+sub_8036334: @ 8036334
+ push {r4,r5,lr}
+ ldr r3, _080363E0 @ =gUnknown_2024018
+ ldr r0, [r3]
+ ldr r5, _080363E4 @ =gUnknown_2023BC4
+ ldrb r1, [r5]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r2, r0, r2
+ ldrb r1, [r2, 0x1]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080363D8
+ ldrb r1, [r2]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2]
+ ldr r0, [r3]
+ ldrb r2, [r5]
+ ldr r0, [r0, 0x4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r0
+ ldrb r2, [r1, 0x1]
+ movs r0, 0x2
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1, 0x1]
+ ldr r4, _080363E8 @ =0x000027f9
+ adds r0, r4, 0
+ bl sub_800874C
+ adds r0, r4, 0
+ bl sub_8008A30
+ ldr r1, _080363EC @ =gUnknown_2023D44
+ ldrb r0, [r5]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _080363F0 @ =gUnknown_202063C
+ adds r0, r1
+ movs r1, 0
+ bl sub_800838C
+ ldr r4, _080363F4 @ =gUnknown_3004FF0
+ ldrb r1, [r5]
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ ldr r2, _080363F8 @ =gUnknown_2023BCE
+ lsls r1, 1
+ adds r1, r2
+ ldrh r2, [r1]
+ movs r1, 0x64
+ muls r1, r2
+ ldr r2, _080363FC @ =gUnknown_202402C
+ adds r1, r2
+ movs r2, 0
+ bl sub_8049D98
+ ldrb r0, [r5]
+ bl sub_804BD94
+ ldrb r0, [r5]
+ adds r0, r4
+ ldrb r0, [r0]
+ bl sub_80481D4
+ ldrb r0, [r5]
+ bl sub_8034BB4
+ ldr r1, _08036400 @ =gUnknown_3004FE0
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08036404 @ =sub_8036278
+ str r1, [r0]
+_080363D8:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080363E0: .4byte gUnknown_2024018
+_080363E4: .4byte gUnknown_2023BC4
+_080363E8: .4byte 0x000027f9
+_080363EC: .4byte gUnknown_2023D44
+_080363F0: .4byte gUnknown_202063C
+_080363F4: .4byte gUnknown_3004FF0
+_080363F8: .4byte gUnknown_2023BCE
+_080363FC: .4byte gUnknown_202402C
+_08036400: .4byte gUnknown_3004FE0
+_08036404: .4byte sub_8036278
+ thumb_func_end sub_8036334
+
+ thumb_func_start sub_8036408
+sub_8036408: @ 8036408
+ push {r4-r6,lr}
+ ldr r6, _080364AC @ =gUnknown_2024018
+ ldr r0, [r6]
+ ldr r5, _080364B0 @ =gUnknown_2023BC4
+ ldrb r2, [r5]
+ ldr r1, [r0, 0x4]
+ lsls r3, r2, 1
+ adds r0, r3, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x88
+ ands r0, r1
+ cmp r0, 0
+ bne _0803643A
+ ldr r0, _080364B4 @ =gUnknown_2023BCE
+ adds r0, r3, r0
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r1, r0
+ ldr r0, _080364B8 @ =gUnknown_202402C
+ adds r1, r0
+ adds r0, r2, 0
+ bl sub_80F1720
+_0803643A:
+ ldr r4, _080364BC @ =gUnknown_202063C
+ ldr r0, _080364C0 @ =gUnknown_3004FFC
+ ldrb r2, [r5]
+ adds r0, r2, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r3, r0, 2
+ adds r0, r4, 0
+ adds r0, 0x1C
+ adds r0, r3, r0
+ ldr r1, [r0]
+ ldr r0, _080364C4 @ =nullsub_8
+ cmp r1, r0
+ bne _080364A4
+ ldr r0, [r6]
+ ldr r1, [r0, 0x4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _080364A4
+ adds r0, r3, r4
+ bl sub_8007280
+ ldrb r4, [r5]
+ ldr r1, _080364B4 @ =gUnknown_2023BCE
+ lsls r0, r4, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _080364B8 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0xB
+ bl sub_803FBE8
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r4, 0
+ bl sub_8035708
+ ldr r1, _080364C8 @ =gUnknown_3004FE0
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080364CC @ =sub_8036334
+ str r1, [r0]
+_080364A4:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080364AC: .4byte gUnknown_2024018
+_080364B0: .4byte gUnknown_2023BC4
+_080364B4: .4byte gUnknown_2023BCE
+_080364B8: .4byte gUnknown_202402C
+_080364BC: .4byte gUnknown_202063C
+_080364C0: .4byte gUnknown_3004FFC
+_080364C4: .4byte nullsub_8
+_080364C8: .4byte gUnknown_3004FE0
+_080364CC: .4byte sub_8036334
+ thumb_func_end sub_8036408
+
+ thumb_func_start sub_80364D0
+sub_80364D0: @ 80364D0
+ push {lr}
+ ldr r0, _080364F8 @ =gUnknown_2024018
+ ldr r2, [r0]
+ ldr r0, _080364FC @ =gUnknown_2023BC4
+ ldrb r1, [r0]
+ ldr r2, [r2, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ bne _080364F2
+ bl sub_8036530
+_080364F2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080364F8: .4byte gUnknown_2024018
+_080364FC: .4byte gUnknown_2023BC4
+ thumb_func_end sub_80364D0
+
+ thumb_func_start sub_8036500
+sub_8036500: @ 8036500
+ push {lr}
+ ldr r0, _08036528 @ =gUnknown_2024018
+ ldr r2, [r0]
+ ldr r0, _0803652C @ =gUnknown_2023BC4
+ ldrb r1, [r0]
+ ldr r2, [r2, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0]
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ bne _08036522
+ bl sub_8036530
+_08036522:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08036528: .4byte gUnknown_2024018
+_0803652C: .4byte gUnknown_2023BC4
+ thumb_func_end sub_8036500
+
+ thumb_func_start sub_8036530
+sub_8036530: @ 8036530
+ ldr r1, _08036554 @ =gUnknown_3004FE0
+ ldr r2, _08036558 @ =gUnknown_2023BC4
+ ldrb r0, [r2]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _0803655C @ =sub_8035A98
+ str r1, [r0]
+ ldr r3, _08036560 @ =gUnknown_2023BC8
+ ldr r1, _08036564 @ =gUnknown_825E45C
+ ldrb r0, [r2]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ ldr r0, [r3]
+ bics r0, r1
+ str r0, [r3]
+ bx lr
+ .align 2, 0
+_08036554: .4byte gUnknown_3004FE0
+_08036558: .4byte gUnknown_2023BC4
+_0803655C: .4byte sub_8035A98
+_08036560: .4byte gUnknown_2023BC8
+_08036564: .4byte gUnknown_825E45C
+ thumb_func_end sub_8036530
+
+ thumb_func_start sub_8036568
+sub_8036568: @ 8036568
+ push {r4-r6,lr}
+ sub sp, 0x100
+ movs r6, 0
+ ldr r1, _08036594 @ =gUnknown_2022BC4
+ ldr r0, _08036598 @ =gUnknown_2023BC4
+ ldrb r2, [r0]
+ lsls r0, r2, 9
+ adds r1, 0x2
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _080365A0
+ ldr r0, _0803659C @ =gUnknown_2023BCE
+ lsls r1, r2, 1
+ adds r1, r0
+ ldrb r0, [r1]
+ mov r1, sp
+ bl sub_80365DC
+ adds r6, r0, 0
+ b _080365C2
+ .align 2, 0
+_08036594: .4byte gUnknown_2022BC4
+_08036598: .4byte gUnknown_2023BC4
+_0803659C: .4byte gUnknown_2023BCE
+_080365A0:
+ ldrb r4, [r1]
+ movs r5, 0
+_080365A4:
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _080365BA
+ lsls r0, r5, 24
+ lsrs r0, 24
+ mov r2, sp
+ adds r1, r2, r6
+ bl sub_80365DC
+ adds r6, r0
+_080365BA:
+ lsrs r4, 1
+ adds r5, 0x1
+ cmp r5, 0x5
+ ble _080365A4
+_080365C2:
+ lsls r1, r6, 16
+ lsrs r1, 16
+ movs r0, 0x1
+ mov r2, sp
+ bl sub_800E708
+ bl sub_8036530
+ add sp, 0x100
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8036568
+
+ thumb_func_start sub_80365DC
+sub_80365DC: @ 80365DC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x90
+ adds r7, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r6, 0
+ ldr r2, _08036610 @ =gUnknown_2022BC4
+ ldr r3, _08036614 @ =gUnknown_2023BC4
+ ldrb r0, [r3]
+ lsls r0, 9
+ adds r1, r2, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x3B
+ bls _08036606
+ bl _08036D72
+_08036606:
+ lsls r0, 2
+ ldr r1, _08036618 @ =_0803661C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08036610: .4byte gUnknown_2022BC4
+_08036614: .4byte gUnknown_2023BC4
+_08036618: .4byte _0803661C
+ .align 2, 0
+_0803661C:
+ .4byte _0803670C
+ .4byte _08036930
+ .4byte _08036940
+ .4byte _08036950
+ .4byte _080369B8
+ .4byte _080369B8
+ .4byte _080369B8
+ .4byte _080369B8
+ .4byte _080369D4
+ .4byte _08036A10
+ .4byte _08036A10
+ .4byte _08036A10
+ .4byte _08036A10
+ .4byte _08036D72
+ .4byte _08036D72
+ .4byte _08036D72
+ .4byte _08036D72
+ .4byte _08036A2C
+ .4byte _08036A3C
+ .4byte _08036A6C
+ .4byte _08036A7C
+ .4byte _08036A8C
+ .4byte _08036A9C
+ .4byte _08036AAC
+ .4byte _08036ABC
+ .4byte _08036ACC
+ .4byte _08036ADC
+ .4byte _08036AEC
+ .4byte _08036AFC
+ .4byte _08036B0C
+ .4byte _08036B1C
+ .4byte _08036B2C
+ .4byte _08036B7C
+ .4byte _08036B8C
+ .4byte _08036B9C
+ .4byte _08036BAC
+ .4byte _08036BBC
+ .4byte _08036BCC
+ .4byte _08036BDC
+ .4byte _08036BEC
+ .4byte _08036BFC
+ .4byte _08036C30
+ .4byte _08036C40
+ .4byte _08036C50
+ .4byte _08036C60
+ .4byte _08036C70
+ .4byte _08036C80
+ .4byte _08036C90
+ .4byte _08036CA0
+ .4byte _08036CC0
+ .4byte _08036CD0
+ .4byte _08036CE0
+ .4byte _08036CF0
+ .4byte _08036D00
+ .4byte _08036D10
+ .4byte _08036D20
+ .4byte _08036D30
+ .4byte _08036D40
+ .4byte _08036D50
+ .4byte _08036D60
+_0803670C:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _08036920 @ =gUnknown_202402C
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0xB
+ bl sub_803FBE8
+ mov r1, sp
+ strh r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0xC
+ bl sub_803FBE8
+ mov r1, sp
+ strh r0, [r1, 0x2E]
+ movs r6, 0
+ add r0, sp, 0x24
+ mov r9, r0
+ movs r1, 0x3B
+ add r1, sp
+ mov r10, r1
+ mov r2, sp
+ adds r2, 0x2B
+ str r2, [sp, 0x80]
+ mov r0, sp
+ adds r0, 0x2A
+ str r0, [sp, 0x7C]
+ mov r1, sp
+ adds r1, 0x68
+ str r1, [sp, 0x8C]
+ adds r2, 0x5
+ str r2, [sp, 0x84]
+ adds r0, 0x12
+ str r0, [sp, 0x88]
+ mov r8, r4
+ add r4, sp, 0xC
+_08036758:
+ adds r1, r6, 0
+ adds r1, 0xD
+ mov r0, r8
+ bl sub_803FBE8
+ strh r0, [r4]
+ adds r1, r6, 0
+ adds r1, 0x11
+ mov r0, r8
+ bl sub_803FBE8
+ mov r2, r9
+ adds r1, r2, r6
+ strb r0, [r1]
+ adds r4, 0x2
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08036758
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _08036920 @ =gUnknown_202402C
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0x15
+ bl sub_803FBE8
+ mov r1, r10
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x20
+ bl sub_803FBE8
+ ldr r2, [sp, 0x80]
+ strb r0, [r2]
+ adds r0, r4, 0
+ movs r1, 0x19
+ bl sub_803FBE8
+ str r0, [sp, 0x44]
+ adds r0, r4, 0
+ movs r1, 0x27
+ bl sub_803FBE8
+ mov r3, sp
+ movs r5, 0x1F
+ ands r0, r5
+ ldrb r2, [r3, 0x14]
+ movs r1, 0x20
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x14]
+ adds r0, r4, 0
+ movs r1, 0x28
+ bl sub_803FBE8
+ mov r3, sp
+ movs r6, 0x1F
+ ands r0, r6
+ lsls r0, 5
+ ldrh r2, [r3, 0x14]
+ ldr r1, _08036924 @ =0xfffffc1f
+ ands r1, r2
+ orrs r1, r0
+ strh r1, [r3, 0x14]
+ adds r0, r4, 0
+ movs r1, 0x29
+ bl sub_803FBE8
+ mov r3, sp
+ ands r0, r5
+ lsls r0, 2
+ ldrb r2, [r3, 0x15]
+ movs r1, 0x7D
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x15]
+ adds r0, r4, 0
+ movs r1, 0x2A
+ bl sub_803FBE8
+ movs r1, 0x1F
+ ands r1, r0
+ lsls r1, 15
+ ldr r0, [sp, 0x14]
+ ldr r2, _08036928 @ =0xfff07fff
+ ands r0, r2
+ orrs r0, r1
+ str r0, [sp, 0x14]
+ adds r0, r4, 0
+ movs r1, 0x2B
+ bl sub_803FBE8
+ mov r3, sp
+ ands r0, r6
+ lsls r0, 4
+ ldrh r2, [r3, 0x16]
+ ldr r1, _0803692C @ =0xfffffe0f
+ ands r1, r2
+ orrs r1, r0
+ strh r1, [r3, 0x16]
+ adds r0, r4, 0
+ movs r1, 0x2C
+ bl sub_803FBE8
+ mov r3, sp
+ ands r0, r5
+ lsls r0, 1
+ ldrb r2, [r3, 0x17]
+ movs r1, 0x3F
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x17]
+ adds r0, r4, 0
+ movs r1, 0
+ bl sub_803FBE8
+ str r0, [sp, 0x48]
+ adds r0, r4, 0
+ movs r1, 0x37
+ bl sub_803FBE8
+ str r0, [sp, 0x4C]
+ adds r0, r4, 0
+ movs r1, 0x38
+ bl sub_803FBE8
+ ldr r1, [sp, 0x7C]
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x39
+ bl sub_803FBE8
+ mov r1, sp
+ strh r0, [r1, 0x28]
+ adds r0, r4, 0
+ movs r1, 0x3A
+ bl sub_803FBE8
+ mov r1, sp
+ strh r0, [r1, 0x2C]
+ adds r0, r4, 0
+ movs r1, 0x3B
+ bl sub_803FBE8
+ mov r1, sp
+ strh r0, [r1, 0x2]
+ adds r0, r4, 0
+ movs r1, 0x3C
+ bl sub_803FBE8
+ mov r1, sp
+ strh r0, [r1, 0x4]
+ adds r0, r4, 0
+ movs r1, 0x3D
+ bl sub_803FBE8
+ mov r1, sp
+ strh r0, [r1, 0x6]
+ adds r0, r4, 0
+ movs r1, 0x3E
+ bl sub_803FBE8
+ mov r1, sp
+ strh r0, [r1, 0x8]
+ adds r0, r4, 0
+ movs r1, 0x3F
+ bl sub_803FBE8
+ mov r1, sp
+ strh r0, [r1, 0xA]
+ adds r0, r4, 0
+ movs r1, 0x2D
+ bl sub_803FBE8
+ mov r3, sp
+ movs r1, 0x1
+ ands r0, r1
+ lsls r0, 6
+ ldrb r2, [r3, 0x17]
+ movs r1, 0x41
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x17]
+ adds r0, r4, 0
+ movs r1, 0x2E
+ bl sub_803FBE8
+ mov r3, sp
+ lsls r0, 7
+ ldrb r2, [r3, 0x17]
+ movs r1, 0x7F
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x17]
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_803FBE8
+ str r0, [sp, 0x54]
+ adds r0, r4, 0
+ movs r1, 0x2
+ ldr r2, [sp, 0x8C]
+ bl sub_803FBE8
+ ldr r0, [sp, 0x84]
+ ldr r1, [sp, 0x8C]
+ bl sub_8008CF4
+ adds r0, r4, 0
+ movs r1, 0x7
+ ldr r2, [sp, 0x88]
+ bl sub_803FBE8
+ mov r2, sp
+ movs r6, 0
+_08036910:
+ adds r0, r7, r6
+ adds r1, r2, r6
+ ldrb r1, [r1]
+ strb r1, [r0]
+ adds r6, 0x1
+ cmp r6, 0x57
+ bls _08036910
+ b _08036D72
+ .align 2, 0
+_08036920: .4byte gUnknown_202402C
+_08036924: .4byte 0xfffffc1f
+_08036928: .4byte 0xfff07fff
+_0803692C: .4byte 0xfffffe0f
+_08036930:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0803693C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0xB
+ b _08036CAA
+ .align 2, 0
+_0803693C: .4byte gUnknown_202402C
+_08036940:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0803694C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0xC
+ b _08036CAA
+ .align 2, 0
+_0803694C: .4byte gUnknown_202402C
+_08036950:
+ movs r6, 0
+ add r2, sp, 0x58
+ mov r9, r2
+ add r0, sp, 0x60
+ mov r10, r0
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, _080369B4 @ =gUnknown_202402C
+ adds r4, r1, r0
+ mov r8, r9
+_08036966:
+ adds r1, r6, 0
+ adds r1, 0xD
+ adds r0, r4, 0
+ bl sub_803FBE8
+ mov r1, r8
+ strh r0, [r1]
+ adds r1, r6, 0
+ adds r1, 0x11
+ adds r0, r4, 0
+ bl sub_803FBE8
+ mov r2, r10
+ adds r1, r2, r6
+ strb r0, [r1]
+ movs r0, 0x2
+ add r8, r0
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _08036966
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080369B4 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x15
+ bl sub_803FBE8
+ mov r1, r9
+ strb r0, [r1, 0xC]
+ mov r2, r9
+ movs r6, 0
+_080369A4:
+ adds r0, r7, r6
+ adds r1, r2, r6
+ ldrb r1, [r1]
+ strb r1, [r0]
+ adds r6, 0x1
+ cmp r6, 0xF
+ bls _080369A4
+ b _08036D72
+ .align 2, 0
+_080369B4: .4byte gUnknown_202402C
+_080369B8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080369D0 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r1, [r3]
+ lsls r1, 9
+ adds r2, 0x1
+ adds r1, r2
+ ldrb r1, [r1]
+ adds r1, 0x9
+ b _08036CAA
+ .align 2, 0
+_080369D0: .4byte gUnknown_202402C
+_080369D4:
+ movs r6, 0
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r2, _08036A0C @ =gUnknown_202402C
+ mov r8, r2
+_080369E0:
+ adds r1, r6, 0
+ adds r1, 0x11
+ mov r2, r8
+ adds r0, r4, r2
+ bl sub_803FBE8
+ adds r1, r7, r6
+ strb r0, [r1]
+ adds r6, 0x1
+ cmp r6, 0x3
+ ble _080369E0
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036A0C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x15
+ bl sub_803FBE8
+ adds r1, r7, r6
+ strb r0, [r1]
+ adds r6, 0x1
+ b _08036D72
+ .align 2, 0
+_08036A0C: .4byte gUnknown_202402C
+_08036A10:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036A28 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r1, [r3]
+ lsls r1, 9
+ adds r2, 0x1
+ adds r1, r2
+ ldrb r1, [r1]
+ adds r1, 0x8
+ b _08036D6A
+ .align 2, 0
+_08036A28: .4byte gUnknown_202402C
+_08036A2C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036A38 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x1
+ b _08036A46
+ .align 2, 0
+_08036A38: .4byte gUnknown_202402C
+_08036A3C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036A68 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x19
+_08036A46:
+ bl sub_803FBE8
+ adds r1, r0, 0
+ strb r1, [r7]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ lsrs r0, 8
+ strb r0, [r7, 0x1]
+ movs r0, 0xFF
+ lsls r0, 16
+ ands r0, r1
+ lsrs r0, 16
+ strb r0, [r7, 0x2]
+ movs r6, 0x3
+ b _08036D72
+ .align 2, 0
+_08036A68: .4byte gUnknown_202402C
+_08036A6C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036A78 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x1A
+ b _08036D6A
+ .align 2, 0
+_08036A78: .4byte gUnknown_202402C
+_08036A7C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036A88 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x1B
+ b _08036D6A
+ .align 2, 0
+_08036A88: .4byte gUnknown_202402C
+_08036A8C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036A98 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x1C
+ b _08036D6A
+ .align 2, 0
+_08036A98: .4byte gUnknown_202402C
+_08036A9C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036AA8 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x1D
+ b _08036D6A
+ .align 2, 0
+_08036AA8: .4byte gUnknown_202402C
+_08036AAC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036AB8 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x1E
+ b _08036D6A
+ .align 2, 0
+_08036AB8: .4byte gUnknown_202402C
+_08036ABC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036AC8 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x1F
+ b _08036D6A
+ .align 2, 0
+_08036AC8: .4byte gUnknown_202402C
+_08036ACC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036AD8 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x20
+ b _08036D6A
+ .align 2, 0
+_08036AD8: .4byte gUnknown_202402C
+_08036ADC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036AE8 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x22
+ b _08036D6A
+ .align 2, 0
+_08036AE8: .4byte gUnknown_202402C
+_08036AEC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036AF8 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x23
+ b _08036D6A
+ .align 2, 0
+_08036AF8: .4byte gUnknown_202402C
+_08036AFC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036B08 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x24
+ b _08036D6A
+ .align 2, 0
+_08036B08: .4byte gUnknown_202402C
+_08036B0C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036B18 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x25
+ b _08036D6A
+ .align 2, 0
+_08036B18: .4byte gUnknown_202402C
+_08036B1C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036B28 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x26
+ b _08036D6A
+ .align 2, 0
+_08036B28: .4byte gUnknown_202402C
+_08036B2C:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _08036B78 @ =gUnknown_202402C
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0x27
+ bl sub_803FBE8
+ strb r0, [r7]
+ adds r0, r4, 0
+ movs r1, 0x28
+ bl sub_803FBE8
+ strb r0, [r7, 0x1]
+ adds r0, r4, 0
+ movs r1, 0x29
+ bl sub_803FBE8
+ strb r0, [r7, 0x2]
+ adds r0, r4, 0
+ movs r1, 0x2A
+ bl sub_803FBE8
+ strb r0, [r7, 0x3]
+ adds r0, r4, 0
+ movs r1, 0x2B
+ bl sub_803FBE8
+ strb r0, [r7, 0x4]
+ adds r0, r4, 0
+ movs r1, 0x2C
+ bl sub_803FBE8
+ strb r0, [r7, 0x5]
+ movs r6, 0x6
+ b _08036D72
+ .align 2, 0
+_08036B78: .4byte gUnknown_202402C
+_08036B7C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036B88 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x27
+ b _08036D6A
+ .align 2, 0
+_08036B88: .4byte gUnknown_202402C
+_08036B8C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036B98 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x28
+ b _08036D6A
+ .align 2, 0
+_08036B98: .4byte gUnknown_202402C
+_08036B9C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036BA8 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x29
+ b _08036D6A
+ .align 2, 0
+_08036BA8: .4byte gUnknown_202402C
+_08036BAC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036BB8 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x2A
+ b _08036D6A
+ .align 2, 0
+_08036BB8: .4byte gUnknown_202402C
+_08036BBC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036BC8 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x2B
+ b _08036D6A
+ .align 2, 0
+_08036BC8: .4byte gUnknown_202402C
+_08036BCC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036BD8 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x2C
+ b _08036D6A
+ .align 2, 0
+_08036BD8: .4byte gUnknown_202402C
+_08036BDC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036BE8 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0
+ b _08036C06
+ .align 2, 0
+_08036BE8: .4byte gUnknown_202402C
+_08036BEC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036BF8 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x9
+ b _08036CAA
+ .align 2, 0
+_08036BF8: .4byte gUnknown_202402C
+_08036BFC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036C2C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x37
+_08036C06:
+ bl sub_803FBE8
+ adds r1, r0, 0
+ strb r1, [r7]
+ movs r0, 0xFF
+ lsls r0, 8
+ ands r0, r1
+ lsrs r0, 8
+ strb r0, [r7, 0x1]
+ movs r0, 0xFF
+ lsls r0, 16
+ ands r0, r1
+ lsrs r0, 16
+ strb r0, [r7, 0x2]
+ lsrs r0, r1, 24
+ strb r0, [r7, 0x3]
+ movs r6, 0x4
+ b _08036D72
+ .align 2, 0
+_08036C2C: .4byte gUnknown_202402C
+_08036C30:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036C3C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x38
+ b _08036D6A
+ .align 2, 0
+_08036C3C: .4byte gUnknown_202402C
+_08036C40:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036C4C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x39
+ b _08036CAA
+ .align 2, 0
+_08036C4C: .4byte gUnknown_202402C
+_08036C50:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036C5C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x3A
+ b _08036CAA
+ .align 2, 0
+_08036C5C: .4byte gUnknown_202402C
+_08036C60:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036C6C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x3B
+ b _08036CAA
+ .align 2, 0
+_08036C6C: .4byte gUnknown_202402C
+_08036C70:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036C7C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x3C
+ b _08036CAA
+ .align 2, 0
+_08036C7C: .4byte gUnknown_202402C
+_08036C80:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036C8C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x3D
+ b _08036CAA
+ .align 2, 0
+_08036C8C: .4byte gUnknown_202402C
+_08036C90:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036C9C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x3E
+ b _08036CAA
+ .align 2, 0
+_08036C9C: .4byte gUnknown_202402C
+_08036CA0:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036CBC @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x3F
+_08036CAA:
+ bl sub_803FBE8
+ lsls r0, 16
+ lsrs r0, 16
+ strb r0, [r7]
+ lsrs r0, 8
+ strb r0, [r7, 0x1]
+ movs r6, 0x2
+ b _08036D72
+ .align 2, 0
+_08036CBC: .4byte gUnknown_202402C
+_08036CC0:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036CCC @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x16
+ b _08036D6A
+ .align 2, 0
+_08036CCC: .4byte gUnknown_202402C
+_08036CD0:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036CDC @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x17
+ b _08036D6A
+ .align 2, 0
+_08036CDC: .4byte gUnknown_202402C
+_08036CE0:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036CEC @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x18
+ b _08036D6A
+ .align 2, 0
+_08036CEC: .4byte gUnknown_202402C
+_08036CF0:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036CFC @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x21
+ b _08036D6A
+ .align 2, 0
+_08036CFC: .4byte gUnknown_202402C
+_08036D00:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036D0C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x2F
+ b _08036D6A
+ .align 2, 0
+_08036D0C: .4byte gUnknown_202402C
+_08036D10:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036D1C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x30
+ b _08036D6A
+ .align 2, 0
+_08036D1C: .4byte gUnknown_202402C
+_08036D20:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036D2C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x32
+ b _08036D6A
+ .align 2, 0
+_08036D2C: .4byte gUnknown_202402C
+_08036D30:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036D3C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x33
+ b _08036D6A
+ .align 2, 0
+_08036D3C: .4byte gUnknown_202402C
+_08036D40:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036D4C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x34
+ b _08036D6A
+ .align 2, 0
+_08036D4C: .4byte gUnknown_202402C
+_08036D50:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036D5C @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x35
+ b _08036D6A
+ .align 2, 0
+_08036D5C: .4byte gUnknown_202402C
+_08036D60:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08036D84 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x36
+_08036D6A:
+ bl sub_803FBE8
+ strb r0, [r7]
+ movs r6, 0x1
+_08036D72:
+ adds r0, r6, 0
+ add sp, 0x90
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08036D84: .4byte gUnknown_202402C
+ thumb_func_end sub_80365DC
+
+ thumb_func_start sub_8036D88
+sub_8036D88: @ 8036D88
+ push {r4-r7,lr}
+ sub sp, 0x58
+ ldr r2, _08036E00 @ =gUnknown_2023BCE
+ ldr r5, _08036E04 @ =gUnknown_2023BC4
+ ldrb r1, [r5]
+ lsls r0, r1, 1
+ adds r0, r2
+ ldrh r2, [r0]
+ movs r0, 0x64
+ adds r4, r2, 0
+ muls r4, r0
+ ldr r3, _08036E08 @ =gUnknown_2022BC4
+ lsls r1, 9
+ adds r0, r3, 0x1
+ adds r0, r1, r0
+ ldrb r2, [r0]
+ ldr r0, _08036E0C @ =gUnknown_202402C
+ adds r0, r2, r0
+ adds r6, r4, r0
+ mov r0, sp
+ adds r4, r0, r2
+ movs r2, 0
+ adds r0, r3, 0x2
+ adds r1, r0
+ adds r7, r5, 0
+ mov r12, r3
+ ldrb r1, [r1]
+ cmp r2, r1
+ bcs _08036DDE
+ adds r3, r0, 0
+_08036DC4:
+ adds r1, r4, r2
+ adds r0, r6, r2
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ ldrb r0, [r5]
+ lsls r0, 9
+ adds r0, r3
+ ldrb r0, [r0]
+ cmp r2, r0
+ bcc _08036DC4
+_08036DDE:
+ ldrb r0, [r7]
+ lsls r0, 9
+ mov r1, r12
+ adds r1, 0x2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x1
+ adds r2, r4, 0
+ bl sub_800E708
+ bl sub_8036530
+ add sp, 0x58
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08036E00: .4byte gUnknown_2023BCE
+_08036E04: .4byte gUnknown_2023BC4
+_08036E08: .4byte gUnknown_2022BC4
+_08036E0C: .4byte gUnknown_202402C
+ thumb_func_end sub_8036D88
+
+ thumb_func_start sub_8036E10
+sub_8036E10: @ 8036E10
+ push {r4,r5,lr}
+ ldr r1, _08036E34 @ =gUnknown_2022BC4
+ ldr r0, _08036E38 @ =gUnknown_2023BC4
+ ldrb r2, [r0]
+ lsls r0, r2, 9
+ adds r1, 0x2
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _08036E40
+ ldr r0, _08036E3C @ =gUnknown_2023BCE
+ lsls r1, r2, 1
+ adds r1, r0
+ ldrb r0, [r1]
+ bl sub_8036E68
+ b _08036E5E
+ .align 2, 0
+_08036E34: .4byte gUnknown_2022BC4
+_08036E38: .4byte gUnknown_2023BC4
+_08036E3C: .4byte gUnknown_2023BCE
+_08036E40:
+ ldrb r4, [r1]
+ movs r5, 0
+_08036E44:
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _08036E52
+ adds r0, r5, 0
+ bl sub_8036E68
+_08036E52:
+ lsrs r4, 1
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x5
+ bls _08036E44
+_08036E5E:
+ bl sub_8036530
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8036E10
+
+ thumb_func_start sub_8036E68
+sub_8036E68: @ 8036E68
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x38
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r3, _08036EA0 @ =gUnknown_2023BC4
+ ldrb r0, [r3]
+ lsls r0, 9
+ ldr r2, _08036EA4 @ =gUnknown_2022BC7
+ adds r4, r0, r2
+ adds r7, r4, 0
+ subs r1, r2, 0x2
+ adds r0, r1
+ ldrb r0, [r0]
+ adds r6, r3, 0
+ adds r3, r2, 0
+ cmp r0, 0x3B
+ bls _08036E96
+ bl _08037774
+_08036E96:
+ lsls r0, 2
+ ldr r1, _08036EA8 @ =_08036EAC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08036EA0: .4byte gUnknown_2023BC4
+_08036EA4: .4byte gUnknown_2022BC7
+_08036EA8: .4byte _08036EAC
+ .align 2, 0
+_08036EAC:
+ .4byte _08036F9C
+ .4byte _08037134
+ .4byte _08037150
+ .4byte _0803716C
+ .4byte _080371C0
+ .4byte _080371C0
+ .4byte _080371C0
+ .4byte _080371C0
+ .4byte _080371E0
+ .4byte _08037248
+ .4byte _08037248
+ .4byte _08037248
+ .4byte _08037248
+ .4byte _08037774
+ .4byte _08037774
+ .4byte _08037774
+ .4byte _08037774
+ .4byte _08037270
+ .4byte _0803728C
+ .4byte _080372A8
+ .4byte _080372C4
+ .4byte _080372E0
+ .4byte _080372FC
+ .4byte _08037318
+ .4byte _08037334
+ .4byte _08037350
+ .4byte _0803736C
+ .4byte _08037388
+ .4byte _080373A4
+ .4byte _080373C0
+ .4byte _080373DC
+ .4byte _080373F8
+ .4byte _0803746C
+ .4byte _08037488
+ .4byte _080374A4
+ .4byte _080374C0
+ .4byte _080374DC
+ .4byte _080374F8
+ .4byte _08037514
+ .4byte _08037530
+ .4byte _0803754C
+ .4byte _08037568
+ .4byte _08037584
+ .4byte _080375A0
+ .4byte _080375BC
+ .4byte _080375D8
+ .4byte _080375F4
+ .4byte _08037610
+ .4byte _0803762C
+ .4byte _08037648
+ .4byte _08037664
+ .4byte _08037680
+ .4byte _0803769C
+ .4byte _080376B8
+ .4byte _080376D4
+ .4byte _080376F0
+ .4byte _0803770C
+ .4byte _08037728
+ .4byte _08037744
+ .4byte _08037760
+_08036F9C:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _08037130 @ =gUnknown_202402C
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0xB
+ adds r2, r7, 0
+ bl sub_804037C
+ adds r2, r7, 0
+ adds r2, 0x2E
+ adds r0, r4, 0
+ movs r1, 0xC
+ bl sub_804037C
+ movs r0, 0
+ mov r8, r0
+ movs r0, 0x3B
+ adds r0, r7
+ mov r10, r0
+ adds r0, r7, 0
+ adds r0, 0x2B
+ str r0, [sp, 0x20]
+ adds r0, 0x19
+ str r0, [sp, 0x28]
+ adds r0, 0x4
+ str r0, [sp, 0x2C]
+ adds r0, 0x4
+ str r0, [sp, 0x30]
+ subs r0, 0x22
+ str r0, [sp, 0x1C]
+ subs r0, 0x2
+ str r0, [sp, 0x18]
+ adds r0, 0x4
+ str r0, [sp, 0x24]
+ adds r0, r7, 0x2
+ str r0, [sp, 0x4]
+ adds r0, r7, 0x4
+ str r0, [sp, 0x8]
+ adds r0, r7, 0x6
+ str r0, [sp, 0xC]
+ adds r0, 0x2
+ str r0, [sp, 0x10]
+ adds r0, 0x2
+ str r0, [sp, 0x14]
+ mov r9, r4
+ adds r6, r7, 0
+ adds r6, 0x24
+ adds r4, r7, 0
+ adds r4, 0xC
+_08037002:
+ mov r1, r8
+ adds r1, 0xD
+ mov r0, r9
+ adds r2, r4, 0
+ bl sub_804037C
+ mov r1, r8
+ adds r1, 0x11
+ mov r0, r9
+ adds r2, r6, 0
+ bl sub_804037C
+ adds r6, 0x1
+ adds r4, 0x2
+ movs r0, 0x1
+ add r8, r0
+ mov r0, r8
+ cmp r0, 0x3
+ ble _08037002
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _08037130 @ =gUnknown_202402C
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0x15
+ mov r2, r10
+ bl sub_804037C
+ adds r0, r4, 0
+ movs r1, 0x20
+ ldr r2, [sp, 0x20]
+ bl sub_804037C
+ adds r0, r4, 0
+ movs r1, 0x19
+ ldr r2, [sp, 0x28]
+ bl sub_804037C
+ ldrb r0, [r7, 0x14]
+ lsls r0, 27
+ lsrs r0, 27
+ mov r1, sp
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x27
+ mov r2, sp
+ bl sub_804037C
+ mov r1, sp
+ ldrh r0, [r7, 0x14]
+ lsls r0, 22
+ lsrs r0, 27
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x28
+ mov r2, sp
+ bl sub_804037C
+ mov r1, sp
+ ldrb r0, [r7, 0x15]
+ lsls r0, 25
+ lsrs r0, 27
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x29
+ mov r2, sp
+ bl sub_804037C
+ mov r1, sp
+ ldr r0, [r7, 0x14]
+ lsls r0, 12
+ lsrs r0, 27
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x2A
+ mov r2, sp
+ bl sub_804037C
+ mov r1, sp
+ ldrh r0, [r7, 0x16]
+ lsls r0, 23
+ lsrs r0, 27
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x2B
+ mov r2, sp
+ bl sub_804037C
+ mov r1, sp
+ ldrb r0, [r7, 0x17]
+ lsls r0, 26
+ lsrs r0, 27
+ strb r0, [r1]
+ adds r0, r4, 0
+ movs r1, 0x2C
+ mov r2, sp
+ bl sub_804037C
+ adds r0, r4, 0
+ movs r1, 0
+ ldr r2, [sp, 0x2C]
+ bl sub_804037C
+ adds r0, r4, 0
+ movs r1, 0x37
+ ldr r2, [sp, 0x30]
+ bl sub_804037C
+ adds r0, r4, 0
+ movs r1, 0x38
+ ldr r2, [sp, 0x1C]
+ bl sub_804037C
+ adds r0, r4, 0
+ movs r1, 0x39
+ ldr r2, [sp, 0x18]
+ bl sub_804037C
+ adds r0, r4, 0
+ movs r1, 0x3A
+ ldr r2, [sp, 0x24]
+ bl sub_804037C
+ adds r0, r4, 0
+ movs r1, 0x3B
+ ldr r2, [sp, 0x4]
+ bl sub_804037C
+ adds r0, r4, 0
+ movs r1, 0x3C
+ ldr r2, [sp, 0x8]
+ bl sub_804037C
+ adds r0, r4, 0
+ movs r1, 0x3D
+ ldr r2, [sp, 0xC]
+ bl sub_804037C
+ adds r0, r4, 0
+ movs r1, 0x3E
+ ldr r2, [sp, 0x10]
+ bl sub_804037C
+ adds r0, r4, 0
+ movs r1, 0x3F
+ ldr r2, [sp, 0x14]
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037130: .4byte gUnknown_202402C
+_08037134:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0803714C @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0xB
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_0803714C: .4byte gUnknown_202402C
+_08037150:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037168 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0xC
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037168: .4byte gUnknown_202402C
+_0803716C:
+ movs r0, 0
+ mov r8, r0
+ movs r0, 0xC
+ adds r0, r4
+ mov r9, r0
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, _080371BC @ =gUnknown_202402C
+ adds r7, r1, r0
+ adds r6, r4, 0
+ adds r6, 0x8
+_08037184:
+ mov r1, r8
+ adds r1, 0xD
+ adds r0, r7, 0
+ adds r2, r4, 0
+ bl sub_804037C
+ mov r1, r8
+ adds r1, 0x11
+ adds r0, r7, 0
+ adds r2, r6, 0
+ bl sub_804037C
+ adds r6, 0x1
+ adds r4, 0x2
+ movs r0, 0x1
+ add r8, r0
+ mov r0, r8
+ cmp r0, 0x3
+ ble _08037184
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080371BC @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x15
+ mov r2, r9
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080371BC: .4byte gUnknown_202402C
+_080371C0:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080371D8 @ =gUnknown_202402C
+ adds r0, r1
+ ldr r3, _080371DC @ =gUnknown_2022BC4
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r1, r3, 0x1
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ adds r1, 0x9
+ b _0803725E
+ .align 2, 0
+_080371D8: .4byte gUnknown_202402C
+_080371DC: .4byte gUnknown_2022BC4
+_080371E0:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _08037244 @ =gUnknown_202402C
+ adds r4, r0
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ adds r0, r4, 0
+ movs r1, 0x11
+ str r3, [sp, 0x34]
+ bl sub_804037C
+ ldrb r2, [r6]
+ lsls r2, 9
+ ldr r3, [sp, 0x34]
+ adds r0, r3, 0x1
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x12
+ bl sub_804037C
+ ldrb r2, [r6]
+ lsls r2, 9
+ ldr r3, [sp, 0x34]
+ adds r0, r3, 0x2
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x13
+ bl sub_804037C
+ ldrb r2, [r6]
+ lsls r2, 9
+ ldr r3, [sp, 0x34]
+ adds r0, r3, 0x3
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x14
+ bl sub_804037C
+ ldrb r2, [r6]
+ lsls r2, 9
+ ldr r3, [sp, 0x34]
+ adds r0, r3, 0x4
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x15
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037244: .4byte gUnknown_202402C
+_08037248:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037268 @ =gUnknown_202402C
+ adds r0, r1
+ ldr r3, _0803726C @ =gUnknown_2022BC4
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r1, r3, 0x1
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ adds r1, 0x8
+_0803725E:
+ adds r3, 0x3
+ adds r2, r3
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037268: .4byte gUnknown_202402C
+_0803726C: .4byte gUnknown_2022BC4
+_08037270:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037288 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x1
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037288: .4byte gUnknown_202402C
+_0803728C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080372A4 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x19
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080372A4: .4byte gUnknown_202402C
+_080372A8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080372C0 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x1A
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080372C0: .4byte gUnknown_202402C
+_080372C4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080372DC @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x1B
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080372DC: .4byte gUnknown_202402C
+_080372E0:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080372F8 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x1C
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080372F8: .4byte gUnknown_202402C
+_080372FC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037314 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x1D
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037314: .4byte gUnknown_202402C
+_08037318:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037330 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x1E
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037330: .4byte gUnknown_202402C
+_08037334:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0803734C @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x1F
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_0803734C: .4byte gUnknown_202402C
+_08037350:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037368 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x20
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037368: .4byte gUnknown_202402C
+_0803736C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037384 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x22
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037384: .4byte gUnknown_202402C
+_08037388:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080373A0 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x23
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080373A0: .4byte gUnknown_202402C
+_080373A4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080373BC @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x24
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080373BC: .4byte gUnknown_202402C
+_080373C0:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080373D8 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x25
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080373D8: .4byte gUnknown_202402C
+_080373DC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080373F4 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x26
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080373F4: .4byte gUnknown_202402C
+_080373F8:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _08037468 @ =gUnknown_202402C
+ adds r4, r0
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ adds r0, r4, 0
+ movs r1, 0x27
+ str r3, [sp, 0x34]
+ bl sub_804037C
+ ldrb r2, [r6]
+ lsls r2, 9
+ ldr r3, [sp, 0x34]
+ adds r0, r3, 0x1
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x28
+ bl sub_804037C
+ ldrb r2, [r6]
+ lsls r2, 9
+ ldr r3, [sp, 0x34]
+ adds r0, r3, 0x2
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x29
+ bl sub_804037C
+ ldrb r2, [r6]
+ lsls r2, 9
+ ldr r3, [sp, 0x34]
+ adds r0, r3, 0x3
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x2A
+ bl sub_804037C
+ ldrb r2, [r6]
+ lsls r2, 9
+ ldr r3, [sp, 0x34]
+ adds r0, r3, 0x4
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x2B
+ bl sub_804037C
+ ldrb r2, [r6]
+ lsls r2, 9
+ ldr r3, [sp, 0x34]
+ adds r0, r3, 0x5
+ adds r2, r0
+ adds r0, r4, 0
+ b _08037506
+ .align 2, 0
+_08037468: .4byte gUnknown_202402C
+_0803746C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037484 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x27
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037484: .4byte gUnknown_202402C
+_08037488:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080374A0 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x28
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080374A0: .4byte gUnknown_202402C
+_080374A4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080374BC @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x29
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080374BC: .4byte gUnknown_202402C
+_080374C0:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080374D8 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x2A
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080374D8: .4byte gUnknown_202402C
+_080374DC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080374F4 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x2B
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080374F4: .4byte gUnknown_202402C
+_080374F8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037510 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+_08037506:
+ movs r1, 0x2C
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037510: .4byte gUnknown_202402C
+_08037514:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0803752C @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_0803752C: .4byte gUnknown_202402C
+_08037530:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037548 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x9
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037548: .4byte gUnknown_202402C
+_0803754C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037564 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x37
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037564: .4byte gUnknown_202402C
+_08037568:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037580 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x38
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037580: .4byte gUnknown_202402C
+_08037584:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0803759C @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x39
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_0803759C: .4byte gUnknown_202402C
+_080375A0:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080375B8 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x3A
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080375B8: .4byte gUnknown_202402C
+_080375BC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080375D4 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x3B
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080375D4: .4byte gUnknown_202402C
+_080375D8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080375F0 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x3C
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080375F0: .4byte gUnknown_202402C
+_080375F4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0803760C @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x3D
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_0803760C: .4byte gUnknown_202402C
+_08037610:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037628 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x3E
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037628: .4byte gUnknown_202402C
+_0803762C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037644 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x3F
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037644: .4byte gUnknown_202402C
+_08037648:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037660 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x16
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037660: .4byte gUnknown_202402C
+_08037664:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0803767C @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x17
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_0803767C: .4byte gUnknown_202402C
+_08037680:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037698 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x18
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037698: .4byte gUnknown_202402C
+_0803769C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080376B4 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x21
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080376B4: .4byte gUnknown_202402C
+_080376B8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080376D0 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x2F
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080376D0: .4byte gUnknown_202402C
+_080376D4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080376EC @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x30
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_080376EC: .4byte gUnknown_202402C
+_080376F0:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037708 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x32
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037708: .4byte gUnknown_202402C
+_0803770C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037724 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x33
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037724: .4byte gUnknown_202402C
+_08037728:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037740 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x34
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_08037740: .4byte gUnknown_202402C
+_08037744:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _0803775C @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x35
+ bl sub_804037C
+ b _08037774
+ .align 2, 0
+_0803775C: .4byte gUnknown_202402C
+_08037760:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _08037784 @ =gUnknown_202402C
+ adds r0, r1
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r2, r3
+ movs r1, 0x36
+ bl sub_804037C
+_08037774:
+ add sp, 0x38
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08037784: .4byte gUnknown_202402C
+ thumb_func_end sub_8036E68
+
+ thumb_func_start sub_8037788
+sub_8037788: @ 8037788
+ push {r4-r7,lr}
+ ldr r1, _080377EC @ =gUnknown_2023BCE
+ ldr r7, _080377F0 @ =gUnknown_2023BC4
+ ldrb r2, [r7]
+ lsls r0, r2, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ adds r3, r1, 0
+ muls r3, r0
+ ldr r4, _080377F4 @ =gUnknown_2022BC4
+ lsls r2, 9
+ adds r0, r4, 0x1
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ ldr r1, _080377F8 @ =gUnknown_202402C
+ adds r0, r1
+ adds r5, r3, r0
+ movs r3, 0
+ adds r0, r4, 0x2
+ adds r2, r0
+ ldrb r2, [r2]
+ cmp r3, r2
+ bcs _080377E0
+ adds r6, r4, 0
+ adds r2, r7, 0
+ adds r4, r0, 0
+_080377BE:
+ adds r1, r5, r3
+ ldrb r0, [r2]
+ lsls r0, 9
+ adds r0, 0x3
+ adds r0, r3, r0
+ adds r0, r6
+ ldrb r0, [r0]
+ strb r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ ldrb r0, [r2]
+ lsls r0, 9
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r3, r0
+ bcc _080377BE
+_080377E0:
+ bl sub_8036530
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080377EC: .4byte gUnknown_2023BCE
+_080377F0: .4byte gUnknown_2023BC4
+_080377F4: .4byte gUnknown_2022BC4
+_080377F8: .4byte gUnknown_202402C
+ thumb_func_end sub_8037788
+
+ thumb_func_start sub_80377FC
+sub_80377FC: @ 80377FC
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r7, _0803787C @ =gUnknown_2023BCE
+ ldr r4, _08037880 @ =gUnknown_2023BC4
+ ldrb r0, [r4]
+ lsls r0, 1
+ adds r0, r7
+ ldrh r0, [r0]
+ movs r5, 0x64
+ muls r0, r5
+ ldr r6, _08037884 @ =gUnknown_202402C
+ adds r0, r6
+ movs r1, 0xB
+ bl sub_803FBE8
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+ ldr r0, _08037888 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x80
+ lsls r1, 8
+ ands r0, r1
+ cmp r0, 0
+ beq _08037890
+ ldrb r1, [r4]
+ lsls r0, r1, 1
+ adds r0, r7
+ ldrh r0, [r0]
+ muls r0, r5
+ adds r0, r6
+ bl sub_8034658
+ ldrb r0, [r4]
+ bl sub_8074900
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r3, _0803788C @ =gUnknown_2024018
+ ldr r0, [r3]
+ ldrb r1, [r4]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0]
+ movs r2, 0x80
+ orrs r1, r2
+ strb r1, [r0]
+ ldr r0, [r3]
+ ldrb r1, [r4]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0, 0x1]
+ movs r2, 0x1
+ orrs r1, r2
+ strb r1, [r0, 0x1]
+ b _080378AA
+ .align 2, 0
+_0803787C: .4byte gUnknown_2023BCE
+_08037880: .4byte gUnknown_2023BC4
+_08037884: .4byte gUnknown_202402C
+_08037888: .4byte gUnknown_2022B4C
+_0803788C: .4byte gUnknown_2024018
+_08037890:
+ ldrb r1, [r4]
+ lsls r0, r1, 1
+ adds r0, r7
+ ldrh r0, [r0]
+ muls r0, r5
+ adds r0, r6
+ bl sub_8034320
+ ldrb r0, [r4]
+ bl sub_80748A8
+ lsls r0, 24
+ lsrs r5, r0, 24
+_080378AA:
+ ldr r7, _0803799C @ =gUnknown_2023BC4
+ ldrb r0, [r7]
+ bl sub_80751D8
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r0, r8
+ bl sub_803F7D4
+ ldr r6, _080379A0 @ =gUnknown_20244DC
+ ldrb r0, [r7]
+ movs r1, 0x2
+ bl sub_8074480
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldrb r0, [r7]
+ bl sub_807685C
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ adds r0, r6, 0
+ adds r1, r4, 0
+ adds r2, r5, 0
+ bl sub_8006F8C
+ ldr r4, _080379A4 @ =gUnknown_2023D44
+ ldrb r1, [r7]
+ adds r1, r4
+ strb r0, [r1]
+ ldr r5, _080379A8 @ =gUnknown_202063C
+ ldrb r0, [r7]
+ adds r0, r4
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, _080379AC @ =0x0000ff10
+ strh r1, [r0, 0x24]
+ ldrb r2, [r7]
+ adds r0, r2, r4
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r2, [r0, 0x2E]
+ ldrb r0, [r7]
+ adds r0, r4
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ mov r1, r8
+ strh r1, [r0, 0x32]
+ ldrb r3, [r7]
+ adds r0, r3, r4
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ lsls r3, 4
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xF
+ ands r0, r2
+ orrs r0, r3
+ strb r0, [r1, 0x5]
+ ldrb r2, [r7]
+ adds r4, r2, r4
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, _080379B0 @ =gUnknown_2024024
+ adds r2, r1
+ ldrb r1, [r2]
+ bl sub_800838C
+ ldr r0, _080379B4 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x80
+ lsls r1, 8
+ ands r0, r1
+ cmp r0, 0
+ bne _08037986
+ ldrb r4, [r7]
+ ldr r1, _080379B8 @ =gUnknown_2023BCE
+ lsls r0, r4, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _080379BC @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0xB
+ bl sub_803FBE8
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ adds r0, r4, 0
+ bl sub_8035708
+_08037986:
+ ldr r0, _080379C0 @ =gUnknown_3004FE0
+ ldrb r1, [r7]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, _080379C4 @ =sub_8035FE8
+ str r0, [r1]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803799C: .4byte gUnknown_2023BC4
+_080379A0: .4byte gUnknown_20244DC
+_080379A4: .4byte gUnknown_2023D44
+_080379A8: .4byte gUnknown_202063C
+_080379AC: .4byte 0x0000ff10
+_080379B0: .4byte gUnknown_2024024
+_080379B4: .4byte gUnknown_2022B4C
+_080379B8: .4byte gUnknown_2023BCE
+_080379BC: .4byte gUnknown_202402C
+_080379C0: .4byte gUnknown_3004FE0
+_080379C4: .4byte sub_8035FE8
+ thumb_func_end sub_80377FC
+
+ thumb_func_start sub_80379C8
+sub_80379C8: @ 80379C8
+ push {r4,lr}
+ ldr r4, _08037A10 @ =gUnknown_2023BC4
+ ldrb r0, [r4]
+ ldr r1, _08037A14 @ =gUnknown_2023FE8
+ ldr r1, [r1]
+ adds r0, r1
+ adds r0, 0x5C
+ movs r1, 0x6
+ strb r1, [r0]
+ ldr r1, _08037A18 @ =gUnknown_2023BCE
+ ldrb r0, [r4]
+ lsls r2, r0, 1
+ adds r2, r1
+ ldr r3, _08037A1C @ =gUnknown_2022BC4
+ lsls r0, 9
+ adds r1, r3, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ strh r0, [r2]
+ ldrb r0, [r4]
+ lsls r1, r0, 9
+ adds r3, 0x2
+ adds r1, r3
+ ldrb r1, [r1]
+ bl sub_8037A28
+ ldr r1, _08037A20 @ =gUnknown_3004FE0
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08037A24 @ =sub_8036408
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08037A10: .4byte gUnknown_2023BC4
+_08037A14: .4byte gUnknown_2023FE8
+_08037A18: .4byte gUnknown_2023BCE
+_08037A1C: .4byte gUnknown_2022BC4
+_08037A20: .4byte gUnknown_3004FE0
+_08037A24: .4byte sub_8036408
+ thumb_func_end sub_80379C8
+
+ thumb_func_start sub_8037A28
+sub_8037A28: @ 8037A28
+ push {r4-r6,lr}
+ mov r6, r10
+ mov r5, r9
+ mov r4, r8
+ push {r4-r6}
+ adds r6, r0, 0
+ lsls r6, 24
+ lsrs r6, 24
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r6, 0
+ bl sub_803589C
+ ldr r0, _08037B84 @ =gUnknown_2023BCE
+ lsls r4, r6, 1
+ adds r4, r0
+ ldr r0, _08037B88 @ =gUnknown_2022BC4
+ lsls r1, r6, 9
+ adds r0, 0x1
+ adds r1, r0
+ ldrb r0, [r1]
+ strh r0, [r4]
+ ldrh r0, [r4]
+ movs r1, 0x64
+ mov r9, r1
+ mov r1, r9
+ muls r1, r0
+ adds r0, r1, 0
+ ldr r5, _08037B8C @ =gUnknown_202402C
+ adds r0, r5
+ movs r1, 0xB
+ bl sub_803FBE8
+ mov r8, r0
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+ ldr r0, _08037B90 @ =sub_8033E3C
+ bl sub_8044EF8
+ ldr r1, _08037B94 @ =gUnknown_3004FFC
+ mov r10, r1
+ add r10, r6
+ mov r1, r10
+ strb r0, [r1]
+ ldrh r0, [r4]
+ mov r1, r9
+ muls r1, r0
+ adds r0, r1, 0
+ adds r0, r5
+ adds r1, r6, 0
+ bl sub_8034320
+ adds r0, r6, 0
+ bl sub_80751D8
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r0, r8
+ bl sub_803F7D4
+ ldr r0, _08037B98 @ =gUnknown_20244DC
+ mov r9, r0
+ adds r0, r6, 0
+ movs r1, 0x2
+ bl sub_8074480
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ adds r0, r6, 0
+ bl sub_80748A8
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r6, 0
+ bl sub_807685C
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ mov r0, r9
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl sub_8006F8C
+ ldr r4, _08037B9C @ =gUnknown_2023D44
+ adds r4, r6, r4
+ strb r0, [r4]
+ ldr r5, _08037BA0 @ =gUnknown_202063C
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r6, [r0, 0x2E]
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ mov r1, r8
+ strh r1, [r0, 0x32]
+ mov r0, r10
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldrb r1, [r4]
+ strh r1, [r0, 0x30]
+ ldrb r0, [r4]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ lsls r3, r6, 4
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xF
+ ands r0, r2
+ orrs r0, r3
+ strb r0, [r1, 0x5]
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, _08037BA4 @ =gUnknown_2024024
+ adds r6, r1
+ ldrb r1, [r6]
+ bl sub_800838C
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ adds r0, 0x3E
+ ldrb r1, [r0]
+ movs r2, 0x4
+ orrs r1, r2
+ strb r1, [r0]
+ ldrb r1, [r4]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r5, 0
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r1, _08037BA8 @ =nullsub_8
+ str r1, [r0]
+ movs r0, 0
+ movs r1, 0xFE
+ bl sub_804A938
+ mov r1, r10
+ ldrb r2, [r1]
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r5
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1, 0x2E]
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08037B84: .4byte gUnknown_2023BCE
+_08037B88: .4byte gUnknown_2022BC4
+_08037B8C: .4byte gUnknown_202402C
+_08037B90: .4byte sub_8033E3C
+_08037B94: .4byte gUnknown_3004FFC
+_08037B98: .4byte gUnknown_20244DC
+_08037B9C: .4byte gUnknown_2023D44
+_08037BA0: .4byte gUnknown_202063C
+_08037BA4: .4byte gUnknown_2024024
+_08037BA8: .4byte nullsub_8
+ thumb_func_end sub_8037A28
+
+ thumb_func_start sub_8037BAC
+sub_8037BAC: @ 8037BAC
+ push {r4-r6,lr}
+ ldr r1, _08037BE0 @ =gUnknown_2022BC4
+ ldr r6, _08037BE4 @ =gUnknown_2023BC4
+ ldrb r2, [r6]
+ lsls r0, r2, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r3, [r0]
+ cmp r3, 0
+ bne _08037BF4
+ ldr r0, _08037BE8 @ =gUnknown_2024018
+ ldr r0, [r0]
+ ldr r1, [r0, 0x4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ strb r3, [r0, 0x4]
+ ldr r1, _08037BEC @ =gUnknown_3004FE0
+ ldrb r0, [r6]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08037BF0 @ =sub_8037C44
+ str r1, [r0]
+ b _08037C30
+ .align 2, 0
+_08037BE0: .4byte gUnknown_2022BC4
+_08037BE4: .4byte gUnknown_2023BC4
+_08037BE8: .4byte gUnknown_2024018
+_08037BEC: .4byte gUnknown_3004FE0
+_08037BF0: .4byte sub_8037C44
+_08037BF4:
+ ldr r5, _08037C38 @ =gUnknown_2023D44
+ adds r0, r2, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, _08037C3C @ =gUnknown_202063C
+ adds r0, r4
+ bl sub_80077D8
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ bl sub_8007280
+ ldrb r0, [r6]
+ bl sub_8035794
+ ldr r1, _08037C40 @ =gUnknown_3004FF0
+ ldrb r0, [r6]
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_8048188
+ bl sub_8036530
+_08037C30:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08037C38: .4byte gUnknown_2023D44
+_08037C3C: .4byte gUnknown_202063C
+_08037C40: .4byte gUnknown_3004FF0
+ thumb_func_end sub_8037BAC
+
+ thumb_func_start sub_8037C44
+sub_8037C44: @ 8037C44
+ push {r4-r6,lr}
+ ldr r6, _08037C64 @ =gUnknown_2024018
+ ldr r4, [r6]
+ ldr r5, _08037C68 @ =gUnknown_2023BC4
+ ldrb r2, [r5]
+ ldr r1, [r4, 0x4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r3, r0, r1
+ ldrb r0, [r3, 0x4]
+ cmp r0, 0
+ beq _08037C6C
+ cmp r0, 0x1
+ beq _08037C9A
+ b _08037CC2
+ .align 2, 0
+_08037C64: .4byte gUnknown_2024018
+_08037C68: .4byte gUnknown_2023BC4
+_08037C6C:
+ ldr r1, [r4]
+ lsls r0, r2, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _08037C86
+ adds r0, r2, 0
+ adds r1, r2, 0
+ movs r3, 0x5
+ bl sub_80341D8
+_08037C86:
+ ldr r0, [r6]
+ ldrb r1, [r5]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0x1
+ strb r1, [r0, 0x4]
+ b _08037CC2
+_08037C9A:
+ ldrb r1, [r3]
+ movs r0, 0x40
+ ands r0, r1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _08037CC2
+ strb r0, [r3, 0x4]
+ ldrb r2, [r5]
+ adds r0, r2, 0
+ adds r1, r2, 0
+ movs r3, 0x2
+ bl sub_80341D8
+ ldr r1, _08037CC8 @ =gUnknown_3004FE0
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08037CCC @ =sub_8036170
+ str r1, [r0]
+_08037CC2:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08037CC8: .4byte gUnknown_3004FE0
+_08037CCC: .4byte sub_8036170
+ thumb_func_end sub_8037C44
+
+ thumb_func_start sub_8037CD0
+sub_8037CD0: @ 8037CD0
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ ldr r3, _08037CEC @ =gUnknown_20386AE
+ ldrh r1, [r3]
+ movs r0, 0x80
+ lsls r0, 3
+ cmp r1, r0
+ bne _08037CF0
+ bl sub_8040EEC
+ b _08037D26
+ .align 2, 0
+_08037CEC: .4byte gUnknown_20386AE
+_08037CF0:
+ ldr r0, _08037D04 @ =gUnknown_2022B4C
+ ldr r1, [r0]
+ movs r0, 0x80
+ lsls r0, 1
+ ands r0, r1
+ cmp r0, 0
+ beq _08037D08
+ bl sub_80E6078
+ b _08037D26
+ .align 2, 0
+_08037D04: .4byte gUnknown_2022B4C
+_08037D08:
+ movs r0, 0x80
+ lsls r0, 12
+ ands r0, r1
+ cmp r0, 0
+ beq _08037D18
+ bl sub_815DA3C
+ b _08037D26
+_08037D18:
+ movs r0, 0x80
+ lsls r0, 4
+ ands r1, r0
+ cmp r1, 0
+ beq _08037D2C
+ bl sub_80E7420
+_08037D26:
+ lsls r0, 24
+ lsrs r0, 24
+ b _08037D3A
+_08037D2C:
+ ldr r2, _08037E6C @ =gUnknown_823EAC8
+ ldrh r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrb r0, [r0, 0x3]
+_08037D3A:
+ mov r9, r0
+ ldr r0, _08037E70 @ =gUnknown_2023BC4
+ mov r8, r0
+ ldrb r1, [r0]
+ mov r0, r9
+ bl sub_80346C4
+ mov r1, r8
+ ldrb r0, [r1]
+ bl sub_80751D8
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r0, r9
+ bl sub_803F864
+ ldr r5, _08037E74 @ =gUnknown_20244DC
+ ldr r1, _08037E78 @ =gUnknown_823932C
+ mov r2, r9
+ lsls r0, r2, 2
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r4, 0x8
+ subs r4, r0
+ lsls r4, 18
+ movs r0, 0xA0
+ lsls r0, 14
+ adds r4, r0
+ asrs r4, 16
+ mov r1, r8
+ ldrb r0, [r1]
+ bl sub_807685C
+ adds r3, r0, 0
+ lsls r3, 24
+ lsrs r3, 24
+ adds r0, r5, 0
+ movs r1, 0xB0
+ adds r2, r4, 0
+ bl sub_8006F8C
+ ldr r5, _08037E7C @ =gUnknown_2023D44
+ mov r2, r8
+ ldrb r1, [r2]
+ adds r1, r5
+ strb r0, [r1]
+ ldr r4, _08037E80 @ =gUnknown_202063C
+ ldrb r0, [r2]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldr r1, _08037E84 @ =0x0000ff10
+ strh r1, [r0, 0x24]
+ ldrb r0, [r2]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r1, 0x2
+ strh r1, [r0, 0x2E]
+ ldr r0, _08037E88 @ =gUnknown_8239A1C
+ mov r1, r9
+ lsls r6, r1, 3
+ adds r0, r6, r0
+ ldrh r0, [r0, 0x4]
+ bl sub_80089E8
+ mov r2, r8
+ ldrb r1, [r2]
+ adds r1, r5
+ ldrb r1, [r1]
+ lsls r2, r1, 4
+ adds r2, r1
+ lsls r2, 2
+ adds r2, r4
+ lsls r0, 4
+ ldrb r3, [r2, 0x5]
+ movs r1, 0xF
+ ands r1, r3
+ orrs r1, r0
+ strb r1, [r2, 0x5]
+ mov r1, r8
+ ldrb r0, [r1]
+ adds r0, r5
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ ldrh r0, [r1, 0x4]
+ lsls r0, 22
+ lsrs r0, 22
+ strh r0, [r1, 0x38]
+ ldr r0, _08037E8C @ =gUnknown_823957C
+ adds r6, r0
+ ldrh r0, [r6, 0x6]
+ bl sub_8008804
+ mov r2, r8
+ ldrb r1, [r2]
+ adds r1, r5
+ ldrb r2, [r1]
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r4
+ ldr r2, _08037E90 @ =0x000003ff
+ ands r2, r0
+ ldrh r3, [r1, 0x4]
+ ldr r0, _08037E94 @ =0xfffffc00
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, 0x4]
+ mov r1, r8
+ ldrb r0, [r1]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ mov r2, r9
+ strh r2, [r0, 0x6]
+ mov r1, r8
+ ldrb r0, [r1]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r4, 0x1C
+ adds r0, r4
+ ldr r1, _08037E98 @ =sub_8033EEC
+ str r1, [r0]
+ ldr r1, _08037E9C @ =gUnknown_3004FE0
+ mov r2, r8
+ ldrb r0, [r2]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08037EA0 @ =sub_8035AE8
+ str r1, [r0]
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08037E6C: .4byte gUnknown_823EAC8
+_08037E70: .4byte gUnknown_2023BC4
+_08037E74: .4byte gUnknown_20244DC
+_08037E78: .4byte gUnknown_823932C
+_08037E7C: .4byte gUnknown_2023D44
+_08037E80: .4byte gUnknown_202063C
+_08037E84: .4byte 0x0000ff10
+_08037E88: .4byte gUnknown_8239A1C
+_08037E8C: .4byte gUnknown_823957C
+_08037E90: .4byte 0x000003ff
+_08037E94: .4byte 0xfffffc00
+_08037E98: .4byte sub_8033EEC
+_08037E9C: .4byte gUnknown_3004FE0
+_08037EA0: .4byte sub_8035AE8
+ thumb_func_end sub_8037CD0
+
+ thumb_func_start sub_8037EA4
+sub_8037EA4: @ 8037EA4
+ push {r4-r6,lr}
+ mov r6, r9
+ mov r5, r8
+ push {r5,r6}
+ ldr r3, _08037EC0 @ =gUnknown_20386AE
+ ldrh r1, [r3]
+ movs r0, 0x80
+ lsls r0, 3
+ cmp r1, r0
+ bne _08037EC4
+ bl sub_8040EEC
+ b _08037EFA
+ .align 2, 0
+_08037EC0: .4byte gUnknown_20386AE
+_08037EC4:
+ ldr r0, _08037ED8 @ =gUnknown_2022B4C
+ ldr r1, [r0]
+ movs r0, 0x80
+ lsls r0, 1
+ ands r0, r1
+ cmp r0, 0
+ beq _08037EDC
+ bl sub_80E6078
+ b _08037EFA
+ .align 2, 0
+_08037ED8: .4byte gUnknown_2022B4C
+_08037EDC:
+ movs r0, 0x80
+ lsls r0, 12
+ ands r0, r1
+ cmp r0, 0
+ beq _08037EEC
+ bl sub_815DA3C
+ b _08037EFA
+_08037EEC:
+ movs r0, 0x80
+ lsls r0, 4
+ ands r1, r0
+ cmp r1, 0
+ beq _08037F00
+ bl sub_80E7420
+_08037EFA:
+ lsls r0, 24
+ lsrs r0, 24
+ b _08037F0E
+_08037F00:
+ ldr r2, _08038040 @ =gUnknown_823EAC8
+ ldrh r1, [r3]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrb r0, [r0, 0x3]
+_08037F0E:
+ mov r9, r0
+ ldr r0, _08038044 @ =gUnknown_2023BC4
+ mov r8, r0
+ ldrb r1, [r0]
+ mov r0, r9
+ bl sub_80346C4
+ mov r1, r8
+ ldrb r0, [r1]
+ bl sub_80751D8
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ mov r0, r9
+ bl sub_803F864
+ ldr r0, _08038048 @ =gUnknown_20244DC
+ ldr r2, _0803804C @ =gUnknown_823932C
+ mov r3, r9
+ lsls r1, r3, 2
+ adds r1, r2
+ ldrb r1, [r1]
+ movs r2, 0x8
+ subs r2, r1
+ lsls r2, 18
+ movs r1, 0xA0
+ lsls r1, 14
+ adds r2, r1
+ asrs r2, 16
+ movs r1, 0xB0
+ movs r3, 0x1E
+ bl sub_8006F8C
+ ldr r5, _08038050 @ =gUnknown_2023D44
+ mov r2, r8
+ ldrb r1, [r2]
+ adds r1, r5
+ strb r0, [r1]
+ ldr r4, _08038054 @ =gUnknown_202063C
+ ldrb r0, [r2]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r1, 0x60
+ strh r1, [r0, 0x24]
+ ldrb r0, [r2]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrh r1, [r0, 0x20]
+ adds r1, 0x20
+ strh r1, [r0, 0x20]
+ ldrb r0, [r2]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldr r1, _08038058 @ =0x0000fffe
+ strh r1, [r0, 0x2E]
+ ldr r0, _0803805C @ =gUnknown_8239A1C
+ mov r3, r9
+ lsls r6, r3, 3
+ adds r0, r6, r0
+ ldrh r0, [r0, 0x4]
+ bl sub_80089E8
+ mov r2, r8
+ ldrb r1, [r2]
+ adds r1, r5
+ ldrb r1, [r1]
+ lsls r2, r1, 4
+ adds r2, r1
+ lsls r2, 2
+ adds r2, r4
+ lsls r0, 4
+ ldrb r3, [r2, 0x5]
+ movs r1, 0xF
+ ands r1, r3
+ orrs r1, r0
+ strb r1, [r2, 0x5]
+ mov r3, r8
+ ldrb r0, [r3]
+ adds r0, r5
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ ldrh r0, [r1, 0x4]
+ lsls r0, 22
+ lsrs r0, 22
+ strh r0, [r1, 0x38]
+ ldr r0, _08038060 @ =gUnknown_823957C
+ adds r6, r0
+ ldrh r0, [r6, 0x6]
+ bl sub_8008804
+ mov r2, r8
+ ldrb r1, [r2]
+ adds r1, r5
+ ldrb r2, [r1]
+ lsls r1, r2, 4
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r4
+ ldr r2, _08038064 @ =0x000003ff
+ ands r2, r0
+ ldrh r3, [r1, 0x4]
+ ldr r0, _08038068 @ =0xfffffc00
+ ands r0, r3
+ orrs r0, r2
+ strh r0, [r1, 0x4]
+ mov r3, r8
+ ldrb r0, [r3]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ mov r1, r9
+ strh r1, [r0, 0x6]
+ ldrb r0, [r3]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r4, 0x1C
+ adds r0, r4
+ ldr r1, _0803806C @ =sub_8033EEC
+ str r1, [r0]
+ ldr r1, _08038070 @ =gUnknown_3004FE0
+ ldrb r0, [r3]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08038074 @ =sub_8035B20
+ str r1, [r0]
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038040: .4byte gUnknown_823EAC8
+_08038044: .4byte gUnknown_2023BC4
+_08038048: .4byte gUnknown_20244DC
+_0803804C: .4byte gUnknown_823932C
+_08038050: .4byte gUnknown_2023D44
+_08038054: .4byte gUnknown_202063C
+_08038058: .4byte 0x0000fffe
+_0803805C: .4byte gUnknown_8239A1C
+_08038060: .4byte gUnknown_823957C
+_08038064: .4byte 0x000003ff
+_08038068: .4byte 0xfffffc00
+_0803806C: .4byte sub_8033EEC
+_08038070: .4byte gUnknown_3004FE0
+_08038074: .4byte sub_8035B20
+ thumb_func_end sub_8037EA4
+
+ thumb_func_start sub_8038078
+sub_8038078: @ 8038078
+ push {r4-r6,lr}
+ ldr r6, _08038108 @ =gUnknown_2023D44
+ ldr r4, _0803810C @ =gUnknown_2023BC4
+ ldrb r0, [r4]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r5, _08038110 @ =gUnknown_202063C
+ adds r0, r5
+ bl sub_80750FC
+ ldrb r0, [r4]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x23
+ strh r1, [r0, 0x2E]
+ ldrb r0, [r4]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x8C
+ lsls r1, 1
+ strh r1, [r0, 0x32]
+ ldrb r0, [r4]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldrh r1, [r0, 0x22]
+ strh r1, [r0, 0x36]
+ ldrb r0, [r4]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r5, 0
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r1, _08038114 @ =sub_8075590
+ str r1, [r0]
+ ldrb r0, [r4]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, _08038118 @ =nullsub_8
+ bl sub_8074A68
+ ldr r1, _0803811C @ =gUnknown_3004FE0
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08038120 @ =sub_8035B58
+ str r1, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038108: .4byte gUnknown_2023D44
+_0803810C: .4byte gUnknown_2023BC4
+_08038110: .4byte gUnknown_202063C
+_08038114: .4byte sub_8075590
+_08038118: .4byte nullsub_8
+_0803811C: .4byte gUnknown_3004FE0
+_08038120: .4byte sub_8035B58
+ thumb_func_end sub_8038078
+
+ thumb_func_start sub_8038124
+sub_8038124: @ 8038124
+ push {r4-r6,lr}
+ ldr r6, _08038170 @ =gUnknown_2024018
+ ldr r4, [r6]
+ ldr r5, _08038174 @ =gUnknown_2023BC4
+ ldrb r2, [r5]
+ ldr r0, [r4, 0x4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 2
+ adds r3, r1, r0
+ ldrb r0, [r3, 0x4]
+ cmp r0, 0
+ bne _08038178
+ ldr r1, [r4]
+ lsls r0, r2, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _08038158
+ adds r0, r2, 0
+ adds r1, r2, 0
+ movs r3, 0x5
+ bl sub_80341D8
+_08038158:
+ ldr r0, [r6]
+ ldrb r1, [r5]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0, 0x4]
+ adds r1, 0x1
+ strb r1, [r0, 0x4]
+ b _080381B4
+ .align 2, 0
+_08038170: .4byte gUnknown_2024018
+_08038174: .4byte gUnknown_2023BC4
+_08038178:
+ ldrb r1, [r3]
+ movs r0, 0x40
+ ands r0, r1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ bne _080381B4
+ strb r0, [r3, 0x4]
+ movs r0, 0x10
+ movs r1, 0x3F
+ bl sub_80722F4
+ ldr r2, _080381BC @ =gUnknown_202063C
+ ldr r1, _080381C0 @ =gUnknown_2023D44
+ ldrb r0, [r5]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, _080381C4 @ =sub_8011EA0
+ str r1, [r0]
+ ldr r1, _080381C8 @ =gUnknown_3004FE0
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080381CC @ =sub_803612C
+ str r1, [r0]
+_080381B4:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080381BC: .4byte gUnknown_202063C
+_080381C0: .4byte gUnknown_2023D44
+_080381C4: .4byte sub_8011EA0
+_080381C8: .4byte gUnknown_3004FE0
+_080381CC: .4byte sub_803612C
+ thumb_func_end sub_8038124
+
+ thumb_func_start sub_80381D0
+sub_80381D0: @ 80381D0
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80381D0
+
+ thumb_func_start sub_80381DC
+sub_80381DC: @ 80381DC
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80381DC
+
+ thumb_func_start sub_80381E8
+sub_80381E8: @ 80381E8
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80381E8
+
+ thumb_func_start sub_80381F4
+sub_80381F4: @ 80381F4
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80381F4
+
+ thumb_func_start sub_8038200
+sub_8038200: @ 8038200
+ push {r4-r6,lr}
+ ldr r6, _080382E4 @ =gUnknown_2023BC4
+ ldrb r0, [r6]
+ bl sub_80342A4
+ lsls r0, 24
+ cmp r0, 0
+ beq _08038212
+ b _08038326
+_08038212:
+ ldr r0, _080382E8 @ =gUnknown_2022BC4
+ mov r12, r0
+ ldrb r2, [r6]
+ lsls r2, 9
+ adds r0, 0x1
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ mov r1, r12
+ adds r1, 0x2
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ lsls r1, 8
+ orrs r0, r1
+ ldr r5, _080382EC @ =gUnknown_2037F16
+ mov r1, r12
+ adds r1, 0x3
+ adds r2, r1
+ ldrb r1, [r2]
+ strb r1, [r5]
+ ldr r4, _080382F0 @ =gUnknown_2037EEC
+ ldrb r2, [r6]
+ lsls r2, 9
+ mov r1, r12
+ adds r1, 0x4
+ adds r1, r2, r1
+ ldrb r3, [r1]
+ mov r1, r12
+ adds r1, 0x5
+ adds r2, r1
+ ldrb r1, [r2]
+ lsls r1, 8
+ orrs r3, r1
+ strh r3, [r4]
+ ldr r4, _080382F4 @ =gUnknown_2037EE8
+ ldrb r2, [r6]
+ lsls r2, 9
+ mov r1, r12
+ adds r1, 0x6
+ adds r1, r2, r1
+ ldrb r3, [r1]
+ mov r1, r12
+ adds r1, 0x7
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ lsls r1, 8
+ orrs r3, r1
+ mov r1, r12
+ adds r1, 0x8
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ lsls r1, 16
+ orrs r3, r1
+ mov r1, r12
+ adds r1, 0x9
+ adds r2, r1
+ ldrb r1, [r2]
+ lsls r1, 24
+ orrs r3, r1
+ str r3, [r4]
+ ldr r3, _080382F8 @ =gUnknown_2037EFE
+ ldrb r1, [r6]
+ lsls r1, 9
+ mov r2, r12
+ adds r2, 0xA
+ adds r1, r2
+ ldrb r1, [r1]
+ strb r1, [r3]
+ ldr r4, _080382FC @ =gUnknown_2037F00
+ ldrb r2, [r6]
+ lsls r2, 9
+ mov r1, r12
+ adds r1, 0xC
+ adds r1, r2, r1
+ ldrb r3, [r1]
+ mov r1, r12
+ adds r1, 0xD
+ adds r2, r1
+ ldrb r1, [r2]
+ lsls r1, 8
+ orrs r3, r1
+ strh r3, [r4]
+ ldr r3, _08038300 @ =gUnknown_2037EE4
+ ldrb r2, [r6]
+ lsls r2, 9
+ mov r1, r12
+ adds r1, 0x10
+ adds r2, r1
+ str r2, [r3]
+ ldr r3, _08038304 @ =gUnknown_2024008
+ ldrb r1, [r6]
+ lsls r1, 2
+ adds r1, r3
+ ldr r2, [r2]
+ str r2, [r1]
+ ldrb r1, [r5]
+ bl sub_80342A0
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0
+ beq _08038308
+ bl sub_8036530
+ b _08038326
+ .align 2, 0
+_080382E4: .4byte gUnknown_2023BC4
+_080382E8: .4byte gUnknown_2022BC4
+_080382EC: .4byte gUnknown_2037F16
+_080382F0: .4byte gUnknown_2037EEC
+_080382F4: .4byte gUnknown_2037EE8
+_080382F8: .4byte gUnknown_2037EFE
+_080382FC: .4byte gUnknown_2037F00
+_08038300: .4byte gUnknown_2037EE4
+_08038304: .4byte gUnknown_2024008
+_08038308:
+ ldr r0, _0803832C @ =gUnknown_2024018
+ ldr r0, [r0]
+ ldrb r1, [r6]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ strb r3, [r0, 0x4]
+ ldr r1, _08038330 @ =gUnknown_3004FE0
+ ldrb r0, [r6]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08038334 @ =sub_8038338
+ str r1, [r0]
+_08038326:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803832C: .4byte gUnknown_2024018
+_08038330: .4byte gUnknown_3004FE0
+_08038334: .4byte sub_8038338
+ thumb_func_end sub_8038200
+
+ thumb_func_start sub_8038338
+sub_8038338: @ 8038338
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ ldr r2, _08038384 @ =gUnknown_2022BC4
+ ldr r6, _08038388 @ =gUnknown_2023BC4
+ ldrb r3, [r6]
+ lsls r1, r3, 9
+ adds r0, r2, 0x1
+ mov r10, r0
+ adds r0, r1, r0
+ ldrb r4, [r0]
+ adds r5, r2, 0x2
+ mov r9, r5
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ lsls r0, 8
+ orrs r4, r0
+ adds r2, 0xB
+ adds r1, r2
+ ldrb r1, [r1]
+ mov r8, r1
+ ldr r7, _0803838C @ =gUnknown_2024018
+ ldr r5, [r7]
+ ldr r1, [r5, 0x4]
+ lsls r0, r3, 1
+ adds r0, r3
+ lsls r0, 2
+ adds r0, r1
+ ldrb r2, [r0, 0x4]
+ cmp r2, 0x1
+ beq _080383D0
+ cmp r2, 0x1
+ bgt _08038390
+ cmp r2, 0
+ beq _0803839A
+ b _080384AC
+ .align 2, 0
+_08038384: .4byte gUnknown_2022BC4
+_08038388: .4byte gUnknown_2023BC4
+_0803838C: .4byte gUnknown_2024018
+_08038390:
+ cmp r2, 0x2
+ beq _080383FA
+ cmp r2, 0x3
+ beq _08038470
+ b _080384AC
+_0803839A:
+ ldr r1, [r5]
+ lsls r0, r3, 2
+ adds r1, r0, r1
+ ldrb r2, [r1]
+ movs r0, 0xC
+ ands r0, r2
+ cmp r0, 0x4
+ bne _080383BC
+ movs r0, 0x8
+ orrs r0, r2
+ strb r0, [r1]
+ ldrb r2, [r6]
+ adds r0, r2, 0
+ adds r1, r2, 0
+ movs r3, 0x5
+ bl sub_80341D8
+_080383BC:
+ ldr r0, [r7]
+ ldrb r1, [r6]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0x1
+ strb r1, [r0, 0x4]
+ b _080384AC
+_080383D0:
+ ldrb r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _080384AC
+ movs r0, 0
+ bl sub_8035450
+ adds r0, r4, 0
+ bl sub_807259C
+ ldr r0, [r7]
+ ldrb r1, [r6]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0x2
+ strb r1, [r0, 0x4]
+ b _080384AC
+_080383FA:
+ ldr r0, _08038460 @ =gUnknown_2037EDC
+ ldr r0, [r0]
+ bl _call_via_r0
+ ldr r0, _08038464 @ =gUnknown_2037EE1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080384AC
+ movs r0, 0x1
+ bl sub_8035450
+ ldr r0, [r7]
+ ldrb r2, [r6]
+ ldr r1, [r0]
+ lsls r0, r2, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _08038448
+ mov r0, r8
+ cmp r0, 0x1
+ bhi _08038448
+ adds r0, r2, 0
+ adds r1, r2, 0
+ movs r3, 0x6
+ bl sub_80341D8
+ ldr r0, [r7]
+ ldrb r1, [r6]
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r1, r0
+ ldrb r2, [r1]
+ movs r0, 0x9
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1]
+_08038448:
+ ldr r0, _08038468 @ =gUnknown_2024018
+ ldr r2, [r0]
+ ldr r0, _0803846C @ =gUnknown_2023BC4
+ ldrb r1, [r0]
+ ldr r2, [r2, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0x3
+ strb r1, [r0, 0x4]
+ b _080384AC
+ .align 2, 0
+_08038460: .4byte gUnknown_2037EDC
+_08038464: .4byte gUnknown_2037EE1
+_08038468: .4byte gUnknown_2024018
+_0803846C: .4byte gUnknown_2023BC4
+_08038470:
+ ldrb r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _080384AC
+ bl sub_8034B40
+ ldrb r0, [r6]
+ lsls r2, r0, 9
+ mov r3, r10
+ adds r1, r2, r3
+ ldrb r1, [r1]
+ add r2, r9
+ ldrb r2, [r2]
+ lsls r2, 8
+ orrs r1, r2
+ bl sub_8035200
+ ldr r0, [r7]
+ ldrb r1, [r6]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ strb r4, [r0, 0x4]
+ bl sub_8036530
+_080384AC:
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038338
+
+ thumb_func_start sub_80384BC
+sub_80384BC: @ 80384BC
+ push {r4,lr}
+ ldr r0, _080384F0 @ =gUnknown_2022974
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, _080384F4 @ =gUnknown_2022976
+ strh r1, [r0]
+ ldr r0, _080384F8 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 9
+ ldr r1, _080384FC @ =gUnknown_2022BC6
+ adds r4, r0, r1
+ ldrh r0, [r4]
+ bl sub_80D7274
+ ldrh r0, [r4]
+ bl sub_80D89B0
+ lsls r0, 24
+ cmp r0, 0
+ beq _08038504
+ ldr r0, _08038500 @ =gUnknown_202298C
+ movs r1, 0x40
+ bl sub_80D87BC
+ b _0803850C
+ .align 2, 0
+_080384F0: .4byte gUnknown_2022974
+_080384F4: .4byte gUnknown_2022976
+_080384F8: .4byte gUnknown_2023BC4
+_080384FC: .4byte gUnknown_2022BC6
+_08038500: .4byte gUnknown_202298C
+_08038504:
+ ldr r0, _08038534 @ =gUnknown_202298C
+ movs r1, 0
+ bl sub_80D87BC
+_0803850C:
+ ldr r0, _08038538 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08038568
+ ldrh r1, [r4]
+ cmp r1, 0xE3
+ beq _0803854C
+ ldr r0, _0803853C @ =0x0000017f
+ cmp r1, r0
+ bne _08038568
+ ldr r1, _08038540 @ =gUnknown_3004FE0
+ ldr r0, _08038544 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08038548 @ =sub_80E85C0
+ b _08038574
+ .align 2, 0
+_08038534: .4byte gUnknown_202298C
+_08038538: .4byte gUnknown_2022B4C
+_0803853C: .4byte 0x0000017f
+_08038540: .4byte gUnknown_3004FE0
+_08038544: .4byte gUnknown_2023BC4
+_08038548: .4byte sub_80E85C0
+_0803854C:
+ ldr r1, _0803855C @ =gUnknown_3004FE0
+ ldr r0, _08038560 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08038564 @ =sub_80E8598
+ b _08038574
+ .align 2, 0
+_0803855C: .4byte gUnknown_3004FE0
+_08038560: .4byte gUnknown_2023BC4
+_08038564: .4byte sub_80E8598
+_08038568:
+ ldr r1, _0803857C @ =gUnknown_3004FE0
+ ldr r0, _08038580 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08038584 @ =sub_80361E4
+_08038574:
+ str r1, [r0]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803857C: .4byte gUnknown_3004FE0
+_08038580: .4byte gUnknown_2023BC4
+_08038584: .4byte sub_80361E4
+ thumb_func_end sub_80384BC
+
+ thumb_func_start sub_8038588
+sub_8038588: @ 8038588
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038588
+
+ thumb_func_start sub_8038594
+sub_8038594: @ 8038594
+ push {lr}
+ bl sub_8039C84
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038594
+
+ thumb_func_start sub_80385A4
+sub_80385A4: @ 80385A4
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80385A4
+
+ thumb_func_start sub_80385B0
+sub_80385B0: @ 80385B0
+ push {r4-r6,lr}
+ ldr r6, _080385E4 @ =gUnknown_2023BC4
+ ldrb r0, [r6]
+ lsls r0, 9
+ ldr r1, _080385E8 @ =gUnknown_2022BC8
+ adds r5, r0, r1
+ ldr r0, _080385EC @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x93
+ lsls r1, 3
+ ands r0, r1
+ cmp r0, 0
+ beq _08038680
+ bl sub_80C6DA0
+ bl sub_80C6F44
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x4
+ beq _080385F0
+ cmp r4, 0x5
+ bne _080385FC
+ movs r0, 0x1
+ movs r1, 0x4
+ b _080385F4
+ .align 2, 0
+_080385E4: .4byte gUnknown_2023BC4
+_080385E8: .4byte gUnknown_2022BC8
+_080385EC: .4byte gUnknown_2022B4C
+_080385F0:
+ movs r0, 0x1
+ movs r1, 0x3
+_080385F4:
+ movs r2, 0
+ bl sub_800E848
+ b _08038668
+_080385FC:
+ ldr r3, _08038670 @ =gUnknown_8250C04
+ lsls r0, r4, 1
+ adds r2, r5, r0
+ ldrh r1, [r2]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldrb r1, [r0, 0x6]
+ movs r0, 0x12
+ ands r0, r1
+ cmp r0, 0
+ beq _0803861C
+ ldr r1, _08038674 @ =gUnknown_2023D6C
+ ldrb r0, [r6]
+ strb r0, [r1]
+_0803861C:
+ ldrh r1, [r2]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ ldrb r1, [r0, 0x6]
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _08038656
+ movs r0, 0
+ bl sub_80751E8
+ ldr r5, _08038674 @ =gUnknown_2023D6C
+ strb r0, [r5]
+ ldr r0, _08038678 @ =gUnknown_2023D70
+ ldrb r1, [r0]
+ ldr r2, _0803867C @ =gUnknown_825E45C
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r2
+ ldr r0, [r0]
+ ands r1, r0
+ cmp r1, 0
+ beq _08038656
+ movs r0, 0x2
+ bl sub_80751E8
+ strb r0, [r5]
+_08038656:
+ ldr r0, _08038674 @ =gUnknown_2023D6C
+ ldrb r0, [r0]
+ lsls r0, 8
+ orrs r4, r0
+ movs r0, 0x1
+ movs r1, 0xA
+ adds r2, r4, 0
+ bl sub_800E848
+_08038668:
+ bl sub_8036530
+ b _08038712
+ .align 2, 0
+_08038670: .4byte gUnknown_8250C04
+_08038674: .4byte gUnknown_2023D6C
+_08038678: .4byte gUnknown_2023D70
+_0803867C: .4byte gUnknown_825E45C
+_08038680:
+ movs r6, 0x3
+_08038682:
+ bl sub_8044EC8
+ adds r4, r0, 0
+ ands r4, r6
+ lsls r0, r4, 1
+ adds r0, r5, r0
+ ldrh r2, [r0]
+ cmp r2, 0
+ beq _08038682
+ ldr r1, _080386BC @ =gUnknown_8250C04
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0, 0x6]
+ movs r0, 0x12
+ ands r0, r1
+ cmp r0, 0
+ beq _080386C4
+ ldr r0, _080386C0 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 8
+ orrs r4, r0
+ movs r0, 0x1
+ movs r1, 0xA
+ adds r2, r4, 0
+ bl sub_800E848
+ b _0803870E
+ .align 2, 0
+_080386BC: .4byte gUnknown_8250C04
+_080386C0: .4byte gUnknown_2023BC4
+_080386C4:
+ ldr r0, _080386F4 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080386F8
+ bl sub_8044EC8
+ movs r1, 0x2
+ ands r1, r0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r1, 0
+ bl sub_80751E8
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 16
+ orrs r2, r4
+ movs r0, 0x1
+ movs r1, 0xA
+ bl sub_800E848
+ b _0803870E
+ .align 2, 0
+_080386F4: .4byte gUnknown_2022B4C
+_080386F8:
+ movs r0, 0
+ bl sub_80751E8
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 16
+ orrs r2, r4
+ movs r0, 0x1
+ movs r1, 0xA
+ bl sub_800E848
+_0803870E:
+ bl sub_8036530
+_08038712:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80385B0
+
+ thumb_func_start sub_8038718
+sub_8038718: @ 8038718
+ push {lr}
+ ldr r0, _0803873C @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsrs r0, 1
+ ldr r1, _08038740 @ =gUnknown_2023FE8
+ ldr r1, [r1]
+ lsls r0, 1
+ adds r0, r1
+ adds r0, 0xC0
+ ldrb r1, [r0]
+ movs r0, 0x1
+ bl sub_800E8AC
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803873C: .4byte gUnknown_2023BC4
+_08038740: .4byte gUnknown_2023FE8
+ thumb_func_end sub_8038718
+
+ thumb_func_start sub_8038744
+sub_8038744: @ 8038744
+ push {r4-r6,lr}
+ ldr r6, _08038788 @ =gUnknown_2023BC4
+ ldrb r0, [r6]
+ bl sub_80751D8
+ lsls r0, 24
+ lsrs r0, 25
+ ldr r5, _0803878C @ =gUnknown_2023FE8
+ ldr r1, [r5]
+ adds r0, r1
+ adds r0, 0x92
+ ldrb r0, [r0]
+ cmp r0, 0x6
+ bne _080387E4
+ bl sub_8039E3C
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0x6
+ bne _0803880A
+ ldr r0, _08038790 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _08038794
+ movs r0, 0x1
+ bl sub_80751E8
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r6, r5, 0
+ b _080387A8
+ .align 2, 0
+_08038788: .4byte gUnknown_2023BC4
+_0803878C: .4byte gUnknown_2023FE8
+_08038790: .4byte gUnknown_2022B4C
+_08038794:
+ movs r0, 0x1
+ bl sub_80751E8
+ lsls r0, 24
+ lsrs r6, r0, 24
+ movs r0, 0x3
+ bl sub_80751E8
+ lsls r0, 24
+ lsrs r5, r0, 24
+_080387A8:
+ movs r4, 0
+ b _080387AE
+_080387AC:
+ adds r4, 0x1
+_080387AE:
+ cmp r4, 0x5
+ bgt _0803880A
+ movs r0, 0x64
+ muls r0, r4
+ ldr r1, _080387DC @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x39
+ bl sub_803FBE8
+ cmp r0, 0
+ beq _080387AC
+ ldr r1, _080387E0 @ =gUnknown_2023BCE
+ lsls r0, r6, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r4, r0
+ beq _080387AC
+ lsls r0, r5, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r4, r0
+ beq _080387AC
+ b _0803880A
+ .align 2, 0
+_080387DC: .4byte gUnknown_202402C
+_080387E0: .4byte gUnknown_2023BCE
+_080387E4:
+ ldrb r0, [r6]
+ bl sub_80751D8
+ lsls r0, 24
+ lsrs r0, 25
+ ldr r1, [r5]
+ adds r0, r1
+ adds r0, 0x92
+ ldrb r4, [r0]
+ ldrb r0, [r6]
+ bl sub_80751D8
+ lsls r0, 24
+ lsrs r0, 25
+ ldr r1, [r5]
+ adds r0, r1
+ adds r0, 0x92
+ movs r1, 0x6
+ strb r1, [r0]
+_0803880A:
+ ldr r0, _08038830 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ ldr r1, _08038834 @ =gUnknown_2023FE8
+ ldr r1, [r1]
+ adds r0, r1
+ adds r0, 0x5C
+ strb r4, [r0]
+ lsls r1, r4, 24
+ lsrs r1, 24
+ movs r0, 0x1
+ movs r2, 0
+ bl sub_800E874
+ bl sub_8036530
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038830: .4byte gUnknown_2023BC4
+_08038834: .4byte gUnknown_2023FE8
+ thumb_func_end sub_8038744
+
+ thumb_func_start sub_8038838
+sub_8038838: @ 8038838
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038838
+
+ thumb_func_start sub_8038844
+sub_8038844: @ 8038844
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ movs r0, 0
+ bl sub_8034964
+ ldr r3, _080388BC @ =gUnknown_2022BC4
+ ldr r0, _080388C0 @ =gUnknown_2023BC4
+ mov r9, r0
+ ldrb r4, [r0]
+ lsls r2, r4, 9
+ adds r0, r3, 0x3
+ adds r0, r2, r0
+ ldrb r1, [r0]
+ lsls r1, 8
+ adds r3, 0x2
+ adds r2, r3
+ ldrb r0, [r2]
+ orrs r0, r1
+ lsls r0, 16
+ asrs r7, r0, 16
+ ldr r0, _080388C4 @ =0x00007fff
+ cmp r7, r0
+ beq _080388D4
+ ldr r6, _080388C8 @ =gUnknown_2023BCE
+ lsls r0, r4, 1
+ adds r0, r6
+ ldrh r0, [r0]
+ movs r5, 0x64
+ muls r0, r5
+ ldr r4, _080388CC @ =gUnknown_202402C
+ adds r0, r4
+ movs r1, 0x3A
+ bl sub_803FBE8
+ mov r8, r0
+ mov r1, r9
+ ldrb r0, [r1]
+ lsls r0, 1
+ adds r0, r6
+ ldrh r0, [r0]
+ muls r0, r5
+ adds r0, r4
+ movs r1, 0x39
+ bl sub_803FBE8
+ adds r3, r0, 0
+ mov r1, r9
+ ldrb r0, [r1]
+ ldr r1, _080388D0 @ =gUnknown_3004FF0
+ adds r1, r0, r1
+ ldrb r1, [r1]
+ str r7, [sp]
+ mov r2, r8
+ bl sub_8048150
+ b _080388FE
+ .align 2, 0
+_080388BC: .4byte gUnknown_2022BC4
+_080388C0: .4byte gUnknown_2023BC4
+_080388C4: .4byte 0x00007fff
+_080388C8: .4byte gUnknown_2023BCE
+_080388CC: .4byte gUnknown_202402C
+_080388D0: .4byte gUnknown_3004FF0
+_080388D4:
+ ldr r1, _0803891C @ =gUnknown_2023BCE
+ lsls r0, r4, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _08038920 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0x3A
+ bl sub_803FBE8
+ adds r2, r0, 0
+ mov r1, r9
+ ldrb r0, [r1]
+ ldr r1, _08038924 @ =gUnknown_3004FF0
+ adds r1, r0, r1
+ ldrb r1, [r1]
+ str r7, [sp]
+ movs r3, 0
+ bl sub_8048150
+_080388FE:
+ ldr r1, _08038928 @ =gUnknown_3004FE0
+ ldr r0, _0803892C @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08038930 @ =sub_80360A0
+ str r1, [r0]
+ add sp, 0x4
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803891C: .4byte gUnknown_2023BCE
+_08038920: .4byte gUnknown_202402C
+_08038924: .4byte gUnknown_3004FF0
+_08038928: .4byte gUnknown_3004FE0
+_0803892C: .4byte gUnknown_2023BC4
+_08038930: .4byte sub_80360A0
+ thumb_func_end sub_8038844
+
+ thumb_func_start sub_8038934
+sub_8038934: @ 8038934
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038934
+
+ thumb_func_start sub_8038940
+sub_8038940: @ 8038940
+ push {r4,lr}
+ ldr r4, _0803899C @ =gUnknown_2023BC4
+ ldrb r0, [r4]
+ bl sub_80342A4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08038994
+ ldr r0, _080389A0 @ =gUnknown_3004FF0
+ ldrb r1, [r4]
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ ldr r2, _080389A4 @ =gUnknown_2023BCE
+ lsls r1, 1
+ adds r1, r2
+ ldrh r2, [r1]
+ movs r1, 0x64
+ muls r1, r2
+ ldr r2, _080389A8 @ =gUnknown_202402C
+ adds r1, r2
+ movs r2, 0x9
+ bl sub_8049D98
+ ldrb r2, [r4]
+ ldr r0, _080389AC @ =gUnknown_2024018
+ ldr r0, [r0]
+ ldr r0, [r0, 0x4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 2
+ adds r1, r0
+ ldrb r2, [r1]
+ movs r0, 0x11
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r1]
+ ldr r1, _080389B0 @ =gUnknown_3004FE0
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080389B4 @ =sub_80364D0
+ str r1, [r0]
+_08038994:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803899C: .4byte gUnknown_2023BC4
+_080389A0: .4byte gUnknown_3004FF0
+_080389A4: .4byte gUnknown_2023BCE
+_080389A8: .4byte gUnknown_202402C
+_080389AC: .4byte gUnknown_2024018
+_080389B0: .4byte gUnknown_3004FE0
+_080389B4: .4byte sub_80364D0
+ thumb_func_end sub_8038940
+
+ thumb_func_start sub_80389B8
+sub_80389B8: @ 80389B8
+ push {r4,r5,lr}
+ ldr r5, _08038A10 @ =gUnknown_2023BC4
+ ldrb r0, [r5]
+ bl sub_80342A4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08038A08
+ ldr r4, _08038A14 @ =gUnknown_2022BC4
+ ldrb r3, [r5]
+ lsls r3, 9
+ adds r0, r4, 0x1
+ adds r0, r3, r0
+ ldrb r0, [r0]
+ adds r1, r4, 0x2
+ adds r1, r3, r1
+ ldrb r1, [r1]
+ adds r2, r4, 0x3
+ adds r2, r3, r2
+ ldrb r2, [r2]
+ lsls r2, 8
+ orrs r1, r2
+ adds r2, r4, 0x4
+ adds r2, r3, r2
+ ldrb r2, [r2]
+ lsls r2, 16
+ orrs r1, r2
+ adds r4, 0x5
+ adds r3, r4
+ ldrb r2, [r3]
+ lsls r2, 24
+ orrs r1, r2
+ bl sub_8033F1C
+ ldr r1, _08038A18 @ =gUnknown_3004FE0
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08038A1C @ =sub_80364D0
+ str r1, [r0]
+_08038A08:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038A10: .4byte gUnknown_2023BC4
+_08038A14: .4byte gUnknown_2022BC4
+_08038A18: .4byte gUnknown_3004FE0
+_08038A1C: .4byte sub_80364D0
+ thumb_func_end sub_80389B8
+
+ thumb_func_start sub_8038A20
+sub_8038A20: @ 8038A20
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038A20
+
+ thumb_func_start sub_8038A2C
+sub_8038A2C: @ 8038A2C
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038A2C
+
+ thumb_func_start sub_8038A38
+sub_8038A38: @ 8038A38
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038A38
+
+ thumb_func_start sub_8038A44
+sub_8038A44: @ 8038A44
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038A44
+
+ thumb_func_start sub_8038A50
+sub_8038A50: @ 8038A50
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038A50
+
+ thumb_func_start sub_8038A5C
+sub_8038A5C: @ 8038A5C
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038A5C
+
+ thumb_func_start sub_8038A68
+sub_8038A68: @ 8038A68
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038A68
+
+ thumb_func_start sub_8038A74
+sub_8038A74: @ 8038A74
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038A74
+
+ thumb_func_start sub_8038A80
+sub_8038A80: @ 8038A80
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038A80
+
+ thumb_func_start sub_8038A8C
+sub_8038A8C: @ 8038A8C
+ push {lr}
+ ldr r2, _08038AA4 @ =gUnknown_2022870
+ ldrb r1, [r2]
+ movs r0, 0x80
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r2]
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038AA4: .4byte gUnknown_2022870
+ thumb_func_end sub_8038A8C
+
+ thumb_func_start sub_8038AA8
+sub_8038AA8: @ 8038AA8
+ push {lr}
+ ldr r3, _08038AD4 @ =gUnknown_2022870
+ ldr r1, _08038AD8 @ =gUnknown_2022BC4
+ ldr r0, _08038ADC @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r1, 0x7F
+ ands r1, r0
+ ldrb r2, [r3]
+ movs r0, 0x80
+ negs r0, r0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038AD4: .4byte gUnknown_2022870
+_08038AD8: .4byte gUnknown_2022BC4
+_08038ADC: .4byte gUnknown_2023BC4
+ thumb_func_end sub_8038AA8
+
+ thumb_func_start sub_8038AE0
+sub_8038AE0: @ 8038AE0
+ push {lr}
+ ldr r2, _08038AF4 @ =gUnknown_2022870
+ ldrb r1, [r2]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2]
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038AF4: .4byte gUnknown_2022870
+ thumb_func_end sub_8038AE0
+
+ thumb_func_start sub_8038AF8
+sub_8038AF8: @ 8038AF8
+ push {lr}
+ ldr r3, _08038B1C @ =gUnknown_2022870
+ ldr r1, [r3]
+ lsls r1, 24
+ lsrs r1, 31
+ movs r0, 0x1
+ eors r1, r0
+ lsls r1, 7
+ ldrb r2, [r3]
+ movs r0, 0x7F
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038B1C: .4byte gUnknown_2022870
+ thumb_func_end sub_8038AF8
+
+ thumb_func_start sub_8038B20
+sub_8038B20: @ 8038B20
+ push {r4,lr}
+ ldr r3, _08038B48 @ =gUnknown_202063C
+ ldr r2, _08038B4C @ =gUnknown_2023D44
+ ldr r4, _08038B50 @ =gUnknown_2023BC4
+ ldrb r0, [r4]
+ adds r0, r2
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ adds r0, 0x3E
+ ldrb r0, [r0]
+ lsls r0, 29
+ cmp r0, 0
+ bge _08038B54
+ bl sub_8036530
+ b _08038B7E
+ .align 2, 0
+_08038B48: .4byte gUnknown_202063C
+_08038B4C: .4byte gUnknown_2023D44
+_08038B50: .4byte gUnknown_2023BC4
+_08038B54:
+ ldr r1, _08038B84 @ =gUnknown_2024005
+ movs r0, 0x1
+ strb r0, [r1]
+ ldrb r0, [r4]
+ adds r0, r2
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r3
+ movs r1, 0
+ strh r1, [r0, 0x30]
+ ldrb r0, [r4]
+ bl sub_804BE70
+ ldr r1, _08038B88 @ =gUnknown_3004FE0
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08038B8C @ =sub_80361FC
+ str r1, [r0]
+_08038B7E:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038B84: .4byte gUnknown_2024005
+_08038B88: .4byte gUnknown_3004FE0
+_08038B8C: .4byte sub_80361FC
+ thumb_func_end sub_8038B20
+
+ thumb_func_start sub_8038B90
+sub_8038B90: @ 8038B90
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8038B90
+
+ thumb_func_start sub_8038B9C
+sub_8038B9C: @ 8038B9C
+ push {r4,lr}
+ ldr r4, _08038BD8 @ =gUnknown_2023BC4
+ ldrb r0, [r4]
+ bl sub_80751C4
+ lsls r0, 24
+ movs r3, 0x3F
+ cmp r0, 0
+ bne _08038BB0
+ movs r3, 0xC0
+_08038BB0:
+ ldr r2, _08038BDC @ =gUnknown_2022BC4
+ ldrb r1, [r4]
+ lsls r1, 9
+ adds r0, r2, 0x1
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ adds r2, 0x2
+ adds r1, r2
+ ldrb r1, [r1]
+ lsls r1, 8
+ orrs r0, r1
+ lsls r1, r3, 24
+ asrs r1, 24
+ bl sub_80722F4
+ bl sub_8036530
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038BD8: .4byte gUnknown_2023BC4
+_08038BDC: .4byte gUnknown_2022BC4
+ thumb_func_end sub_8038B9C
+
+ thumb_func_start sub_8038BE0
+sub_8038BE0: @ 8038BE0
+ push {lr}
+ ldr r2, _08038C08 @ =gUnknown_2022BC4
+ ldr r0, _08038C0C @ =gUnknown_2023BC4
+ ldrb r1, [r0]
+ lsls r1, 9
+ adds r0, r2, 0x1
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ adds r2, 0x2
+ adds r1, r2
+ ldrb r1, [r1]
+ lsls r1, 8
+ orrs r0, r1
+ bl sub_8071C60
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038C08: .4byte gUnknown_2022BC4
+_08038C0C: .4byte gUnknown_2023BC4
+ thumb_func_end sub_8038BE0
+
+ thumb_func_start sub_8038C10
+sub_8038C10: @ 8038C10
+ push {lr}
+ ldr r1, _08038C40 @ =gUnknown_2023BCE
+ ldr r0, _08038C44 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _08038C48 @ =gUnknown_202402C
+ adds r0, r1
+ movs r1, 0xB
+ bl sub_803FBE8
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x19
+ movs r2, 0x5
+ bl sub_8071E60
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038C40: .4byte gUnknown_2023BCE
+_08038C44: .4byte gUnknown_2023BC4
+_08038C48: .4byte gUnknown_202402C
+ thumb_func_end sub_8038C10
+
+ thumb_func_start sub_8038C4C
+sub_8038C4C: @ 8038C4C
+ push {lr}
+ ldr r1, _08038C74 @ =gUnknown_2022BC4
+ ldr r0, _08038C78 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_80BC3A0
+ ldr r2, _08038C7C @ =gUnknown_2023F4C
+ ldrh r0, [r2]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r2]
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038C74: .4byte gUnknown_2022BC4
+_08038C78: .4byte gUnknown_2023BC4
+_08038C7C: .4byte gUnknown_2023F4C
+ thumb_func_end sub_8038C4C
+
+ thumb_func_start sub_8038C80
+sub_8038C80: @ 8038C80
+ push {r4-r6,lr}
+ ldr r5, _08038D60 @ =gUnknown_2023D44
+ ldr r6, _08038D64 @ =gUnknown_2023BC4
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, _08038D68 @ =gUnknown_202063C
+ adds r0, r4
+ bl sub_80750FC
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r1, 0x23
+ strh r1, [r0, 0x2E]
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r1, 0x8C
+ lsls r1, 1
+ strh r1, [r0, 0x32]
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrh r1, [r0, 0x22]
+ strh r1, [r0, 0x36]
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r1, r4, 0
+ adds r1, 0x1C
+ adds r0, r1
+ ldr r1, _08038D6C @ =sub_8075590
+ str r1, [r0]
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldr r1, _08038D70 @ =sub_8038D90
+ bl sub_8074A68
+ ldr r0, _08038D74 @ =sub_8038DC4
+ movs r1, 0x5
+ bl sub_807741C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r4, _08038D78 @ =gUnknown_3005090
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r4
+ ldrb r0, [r6]
+ strh r0, [r1, 0x8]
+ ldr r3, _08038D7C @ =gUnknown_2024018
+ ldr r0, [r3]
+ ldrb r2, [r6]
+ ldr r1, [r0, 0x4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08038D42
+ ldr r0, _08038D80 @ =gUnknown_2024000
+ adds r0, r2, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r4
+ ldr r1, _08038D84 @ =sub_80491B0
+ str r1, [r0]
+_08038D42:
+ ldr r0, [r3]
+ ldr r2, [r0, 0x8]
+ ldrb r0, [r2, 0x9]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r2, 0x9]
+ ldr r1, _08038D88 @ =gUnknown_3004FE0
+ ldrb r0, [r6]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08038D8C @ =nullsub_17
+ str r1, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038D60: .4byte gUnknown_2023D44
+_08038D64: .4byte gUnknown_2023BC4
+_08038D68: .4byte gUnknown_202063C
+_08038D6C: .4byte sub_8075590
+_08038D70: .4byte sub_8038D90
+_08038D74: .4byte sub_8038DC4
+_08038D78: .4byte gUnknown_3005090
+_08038D7C: .4byte gUnknown_2024018
+_08038D80: .4byte gUnknown_2024000
+_08038D84: .4byte sub_80491B0
+_08038D88: .4byte gUnknown_3004FE0
+_08038D8C: .4byte nullsub_17
+ thumb_func_end sub_8038C80
+
+ thumb_func_start sub_8038D90
+sub_8038D90: @ 8038D90
+ push {r4,lr}
+ adds r4, r0, 0
+ ldrh r0, [r4, 0x6]
+ bl sub_803477C
+ ldrh r0, [r4, 0x38]
+ ldr r1, _08038DBC @ =0x000003ff
+ ands r1, r0
+ ldrh r2, [r4, 0x4]
+ ldr r0, _08038DC0 @ =0xfffffc00
+ ands r0, r2
+ orrs r0, r1
+ strh r0, [r4, 0x4]
+ adds r0, r4, 0
+ bl sub_80077D8
+ adds r0, r4, 0
+ bl sub_8007280
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038DBC: .4byte 0x000003ff
+_08038DC0: .4byte 0xfffffc00
+ thumb_func_end sub_8038D90
+
+ thumb_func_start sub_8038DC4
+sub_8038DC4: @ 8038DC4
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r7, _08038E1C @ =gUnknown_2023BC4
+ ldrb r0, [r7]
+ mov r9, r0
+ ldr r1, _08038E20 @ =gUnknown_3005090
+ mov r2, r8
+ lsls r0, r2, 2
+ add r0, r8
+ lsls r0, 3
+ adds r0, r1
+ ldrh r0, [r0, 0x8]
+ strb r0, [r7]
+ bl sub_8075290
+ lsls r0, 24
+ cmp r0, 0
+ beq _08038DFE
+ ldr r0, _08038E24 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _08038E30
+_08038DFE:
+ ldr r0, _08038E28 @ =gUnknown_2022BC4
+ ldrb r1, [r7]
+ lsls r2, r1, 9
+ adds r0, 0x1
+ adds r2, r0
+ ldr r0, _08038E2C @ =gUnknown_2023BCE
+ lsls r1, 1
+ adds r1, r0
+ ldrh r0, [r1]
+ strb r0, [r2]
+ ldrb r0, [r7]
+ movs r1, 0
+ bl sub_8037A28
+ b _08038E70
+ .align 2, 0
+_08038E1C: .4byte gUnknown_2023BC4
+_08038E20: .4byte gUnknown_3005090
+_08038E24: .4byte gUnknown_2022B4C
+_08038E28: .4byte gUnknown_2022BC4
+_08038E2C: .4byte gUnknown_2023BCE
+_08038E30:
+ ldr r4, _08038E94 @ =gUnknown_2022BC4
+ ldrb r0, [r7]
+ lsls r1, r0, 9
+ adds r4, 0x1
+ adds r1, r4
+ ldr r6, _08038E98 @ =gUnknown_2023BCE
+ lsls r0, 1
+ adds r0, r6
+ ldrh r0, [r0]
+ strb r0, [r1]
+ ldrb r0, [r7]
+ movs r1, 0
+ bl sub_8037A28
+ ldrb r0, [r7]
+ movs r5, 0x2
+ eors r0, r5
+ strb r0, [r7]
+ ldrb r0, [r7]
+ lsls r1, r0, 9
+ adds r1, r4
+ lsls r0, 1
+ adds r0, r6
+ ldrh r0, [r0]
+ strb r0, [r1]
+ ldrb r0, [r7]
+ movs r1, 0
+ bl sub_8037A28
+ ldrb r0, [r7]
+ eors r0, r5
+ strb r0, [r7]
+_08038E70:
+ ldr r1, _08038E9C @ =gUnknown_3004FE0
+ ldr r2, _08038EA0 @ =gUnknown_2023BC4
+ ldrb r0, [r2]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _08038EA4 @ =sub_8035DF0
+ str r1, [r0]
+ mov r0, r9
+ strb r0, [r2]
+ mov r0, r8
+ bl sub_8077508
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038E94: .4byte gUnknown_2022BC4
+_08038E98: .4byte gUnknown_2023BCE
+_08038E9C: .4byte gUnknown_3004FE0
+_08038EA0: .4byte gUnknown_2023BC4
+_08038EA4: .4byte sub_8035DF0
+ thumb_func_end sub_8038DC4
+
+ thumb_func_start sub_8038EA8
+sub_8038EA8: @ 8038EA8
+ push {r4-r7,lr}
+ ldr r1, _08038ED0 @ =gUnknown_2022BC4
+ ldr r0, _08038ED4 @ =gUnknown_2023BC4
+ ldrb r2, [r0]
+ lsls r0, r2, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08038ED8
+ adds r0, r2, 0
+ bl sub_80751C4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08038ED8
+ bl sub_8036530
+ b _08038FA2
+ .align 2, 0
+_08038ED0: .4byte gUnknown_2022BC4
+_08038ED4: .4byte gUnknown_2023BC4
+_08038ED8:
+ ldr r4, _08038F30 @ =gUnknown_2024018
+ ldr r0, [r4]
+ ldr r3, _08038F34 @ =gUnknown_2023BC4
+ ldrb r1, [r3]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0]
+ movs r2, 0x1
+ orrs r1, r2
+ strb r1, [r0]
+ ldr r1, _08038F38 @ =gUnknown_2022BC4
+ ldrb r2, [r3]
+ lsls r0, r2, 9
+ adds r1, 0x2
+ adds r0, r1
+ ldrb r0, [r0]
+ adds r7, r3, 0
+ cmp r0, 0
+ beq _08038F44
+ ldr r0, [r4]
+ ldr r1, [r0, 0x4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r3, r0, r1
+ ldrb r2, [r3, 0x1]
+ lsls r1, r2, 26
+ lsrs r0, r1, 27
+ cmp r0, 0x1
+ bhi _08038F3C
+ adds r0, 0x1
+ movs r1, 0x1F
+ ands r0, r1
+ lsls r0, 1
+ movs r1, 0x3F
+ negs r1, r1
+ ands r1, r2
+ orrs r1, r0
+ strb r1, [r3, 0x1]
+ b _08038FA2
+ .align 2, 0
+_08038F30: .4byte gUnknown_2024018
+_08038F34: .4byte gUnknown_2023BC4
+_08038F38: .4byte gUnknown_2022BC4
+_08038F3C:
+ movs r0, 0x3F
+ negs r0, r0
+ ands r0, r2
+ strb r0, [r3, 0x1]
+_08038F44:
+ adds r5, r7, 0
+ ldrb r0, [r5]
+ lsls r3, r0, 9
+ ldr r4, _08038FA8 @ =gUnknown_2022BC8
+ adds r1, r3, r4
+ subs r2, r4, 0x3
+ adds r2, r3, r2
+ ldrb r2, [r2]
+ subs r4, 0x2
+ adds r3, r4
+ ldrb r3, [r3]
+ bl sub_8048D14
+ ldr r2, _08038FAC @ =gUnknown_2024000
+ ldrb r1, [r5]
+ adds r1, r2
+ movs r3, 0
+ strb r0, [r1]
+ ldr r6, _08038FB0 @ =gUnknown_2024018
+ ldr r0, [r6]
+ ldrb r1, [r5]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ strb r3, [r0, 0x5]
+ ldrb r2, [r5]
+ lsls r0, r2, 9
+ adds r0, r4
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _08038F96
+ ldr r0, [r6]
+ ldr r1, [r0, 0x4]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 2
+ adds r0, r1
+ movs r1, 0x5D
+ strb r1, [r0, 0x5]
+_08038F96:
+ ldr r0, _08038FB4 @ =gUnknown_3004FE0
+ ldrb r1, [r7]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, _08038FB8 @ =sub_8038FBC
+ str r0, [r1]
+_08038FA2:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038FA8: .4byte gUnknown_2022BC8
+_08038FAC: .4byte gUnknown_2024000
+_08038FB0: .4byte gUnknown_2024018
+_08038FB4: .4byte gUnknown_3004FE0
+_08038FB8: .4byte sub_8038FBC
+ thumb_func_end sub_8038EA8
+
+ thumb_func_start sub_8038FBC
+sub_8038FBC: @ 8038FBC
+ push {r4,lr}
+ ldr r4, _08038FFC @ =gUnknown_2024018
+ ldr r0, [r4]
+ ldr r3, _08039000 @ =gUnknown_2023BC4
+ ldrb r1, [r3]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ ldrb r1, [r0, 0x5]
+ adds r2, r1, 0x1
+ strb r2, [r0, 0x5]
+ lsls r1, 24
+ lsrs r1, 24
+ cmp r1, 0x5C
+ bls _08038FF4
+ ldr r0, [r4]
+ ldrb r1, [r3]
+ ldr r2, [r0, 0x4]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0
+ strb r1, [r0, 0x5]
+ bl sub_8036530
+_08038FF4:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08038FFC: .4byte gUnknown_2024018
+_08039000: .4byte gUnknown_2023BC4
+ thumb_func_end sub_8038FBC
+
+ thumb_func_start sub_8039004
+sub_8039004: @ 8039004
+ push {lr}
+ ldr r0, _08039040 @ =gUnknown_2024018
+ ldr r1, [r0]
+ ldr r0, _08039044 @ =gUnknown_2023BC4
+ ldrb r3, [r0]
+ ldr r1, [r1, 0x4]
+ lsls r0, r3, 1
+ adds r0, r3
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08039036
+ ldr r2, _08039048 @ =gUnknown_3005090
+ ldr r0, _0803904C @ =gUnknown_2024000
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldr r1, _08039050 @ =sub_80491B0
+ str r1, [r0]
+_08039036:
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08039040: .4byte gUnknown_2024018
+_08039044: .4byte gUnknown_2023BC4
+_08039048: .4byte gUnknown_3005090
+_0803904C: .4byte gUnknown_2024000
+_08039050: .4byte sub_80491B0
+ thumb_func_end sub_8039004
+
+ thumb_func_start sub_8039054
+sub_8039054: @ 8039054
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8039054
+
+ thumb_func_start sub_8039060
+sub_8039060: @ 8039060
+ push {r4,lr}
+ ldr r4, _080390B0 @ =gUnknown_2023BC4
+ ldrb r0, [r4]
+ bl sub_8075224
+ lsls r0, 24
+ cmp r0, 0
+ beq _080390A6
+ ldr r3, _080390B4 @ =gUnknown_202063C
+ ldr r0, _080390B8 @ =gUnknown_2023D44
+ ldrb r1, [r4]
+ adds r0, r1, r0
+ ldrb r0, [r0]
+ lsls r2, r0, 4
+ adds r2, r0
+ lsls r2, 2
+ adds r2, r3
+ ldr r0, _080390BC @ =gUnknown_2022BC4
+ lsls r1, 9
+ adds r0, 0x1
+ adds r1, r0
+ adds r2, 0x3E
+ movs r0, 0x1
+ ldrb r1, [r1]
+ ands r1, r0
+ lsls r1, 2
+ ldrb r3, [r2]
+ movs r0, 0x5
+ negs r0, r0
+ ands r0, r3
+ orrs r0, r1
+ strb r0, [r2]
+ ldrb r0, [r4]
+ bl sub_8034BB4
+_080390A6:
+ bl sub_8036530
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080390B0: .4byte gUnknown_2023BC4
+_080390B4: .4byte gUnknown_202063C
+_080390B8: .4byte gUnknown_2023D44
+_080390BC: .4byte gUnknown_2022BC4
+ thumb_func_end sub_8039060
+
+ thumb_func_start sub_80390C0
+sub_80390C0: @ 80390C0
+ push {r4-r6,lr}
+ sub sp, 0x4
+ ldr r6, _08039104 @ =gUnknown_2023BC4
+ ldrb r0, [r6]
+ bl sub_80342A4
+ lsls r0, 24
+ cmp r0, 0
+ bne _08039118
+ ldr r5, _08039108 @ =gUnknown_2022BC4
+ ldrb r2, [r6]
+ lsls r1, r2, 9
+ adds r0, r5, 0x1
+ adds r0, r1, r0
+ ldrb r3, [r0]
+ adds r0, r5, 0x2
+ adds r0, r1, r0
+ ldrb r4, [r0]
+ adds r5, 0x3
+ adds r1, r5
+ ldrb r0, [r1]
+ lsls r0, 8
+ orrs r4, r0
+ str r4, [sp]
+ adds r0, r2, 0
+ adds r1, r2, 0
+ bl sub_803401C
+ lsls r0, 24
+ cmp r0, 0
+ beq _0803910C
+ bl sub_8036530
+ b _08039118
+ .align 2, 0
+_08039104: .4byte gUnknown_2023BC4
+_08039108: .4byte gUnknown_2022BC4
+_0803910C:
+ ldr r0, _08039120 @ =gUnknown_3004FE0
+ ldrb r1, [r6]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, _08039124 @ =sub_8036500
+ str r0, [r1]
+_08039118:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08039120: .4byte gUnknown_3004FE0
+_08039124: .4byte sub_8036500
+ thumb_func_end sub_80390C0
+
+ thumb_func_start sub_8039128
+sub_8039128: @ 8039128
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8039128
+
+ thumb_func_start sub_8039134
+sub_8039134: @ 8039134
+ push {lr}
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8039134
+
+ thumb_func_start sub_8039140
+sub_8039140: @ 8039140
+ push {lr}
+ ldr r0, _08039174 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x6
+ ands r0, r1
+ cmp r0, 0x2
+ bne _0803916A
+ ldr r2, _08039178 @ =gUnknown_30030F0
+ ldr r0, _0803917C @ =0x00000439
+ adds r3, r2, r0
+ ldrb r1, [r3]
+ movs r0, 0x3
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r3]
+ ldr r0, _08039180 @ =gUnknown_3004F80
+ ldr r0, [r0]
+ str r0, [r2]
+ ldr r0, [r2, 0x8]
+ bl sub_8000544
+_0803916A:
+ bl sub_8036530
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08039174: .4byte gUnknown_2022B4C
+_08039178: .4byte gUnknown_30030F0
+_0803917C: .4byte 0x00000439
+_08039180: .4byte gUnknown_3004F80
+ thumb_func_end sub_8039140
+
+ thumb_func_start nullsub_18
+nullsub_18: @ 8039184
+ bx lr
+ thumb_func_end nullsub_18
+
+ .align 2, 0 @ Don't pad with nop.