summaryrefslogtreecommitdiff
path: root/asm/battle_controller_oak.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/battle_controller_oak.s')
-rw-r--r--asm/battle_controller_oak.s7887
1 files changed, 7887 insertions, 0 deletions
diff --git a/asm/battle_controller_oak.s b/asm/battle_controller_oak.s
new file mode 100644
index 000000000..bd2682218
--- /dev/null
+++ b/asm/battle_controller_oak.s
@@ -0,0 +1,7887 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start nullsub_81
+nullsub_81: @ 80E75AC
+ bx lr
+ thumb_func_end nullsub_81
+
+ thumb_func_start sub_80E75B0
+sub_80E75B0: @ 80E75B0
+ ldr r1, _080E75DC @ =gUnknown_3004FE0
+ ldr r0, _080E75E0 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080E75E4 @ =sub_80E75EC
+ str r1, [r0]
+ ldr r2, _080E75E8 @ =gUnknown_2023FE8
+ ldr r0, [r2]
+ adds r0, 0x94
+ movs r1, 0
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, 0x95
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, 0x96
+ strb r1, [r0]
+ ldr r0, [r2]
+ adds r0, 0x97
+ strb r1, [r0]
+ bx lr
+ .align 2, 0
+_080E75DC: .4byte gUnknown_3004FE0
+_080E75E0: .4byte gUnknown_2023BC4
+_080E75E4: .4byte sub_80E75EC
+_080E75E8: .4byte gUnknown_2023FE8
+ thumb_func_end sub_80E75B0
+
+ thumb_func_start sub_80E75EC
+sub_80E75EC: @ 80E75EC
+ push {lr}
+ ldr r2, _080E7620 @ =gUnknown_2023BC8
+ ldr r1, _080E7624 @ =gUnknown_825E45C
+ ldr r0, _080E7628 @ =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 _080E7638
+ ldr r0, _080E762C @ =gUnknown_2022BC4
+ lsls r1, r3, 9
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0x38
+ bhi _080E7634
+ ldr r0, _080E7630 @ =gUnknown_84020F8
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, [r1]
+ bl _call_via_r0
+ b _080E7638
+ .align 2, 0
+_080E7620: .4byte gUnknown_2023BC8
+_080E7624: .4byte gUnknown_825E45C
+_080E7628: .4byte gUnknown_2023BC4
+_080E762C: .4byte gUnknown_2022BC4
+_080E7630: .4byte gUnknown_84020F8
+_080E7634:
+ bl sub_80E8A9C
+_080E7638:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E75EC
+
+ thumb_func_start sub_80E763C
+sub_80E763C: @ 80E763C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ ldr r7, _080E769C @ =gUnknown_2022BC4
+ ldr r4, _080E76A0 @ =gUnknown_2023BC4
+ ldrb r0, [r4]
+ lsls r2, r0, 9
+ adds r1, r7, 0x2
+ adds r1, r2, r1
+ ldrb r5, [r1]
+ adds r1, r7, 0x3
+ adds r2, r1
+ ldrb r1, [r2]
+ lsls r1, 8
+ orrs r5, r1
+ movs r1, 0x1
+ movs r2, 0x7
+ movs r3, 0x1
+ bl sub_8012138
+ ldrb r0, [r4]
+ movs r1, 0
+ movs r2, 0x7
+ movs r3, 0x1
+ bl sub_8012138
+ ldr r0, _080E76A4 @ =gUnknown_30030F0
+ ldrh r1, [r0, 0x2E]
+ movs r2, 0x1
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080E76D4
+ movs r0, 0x5
+ bl sub_80722CC
+ ldr r1, _080E76A8 @ =gUnknown_2023FF8
+ ldrb r0, [r4]
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ beq _080E76BC
+ cmp r0, 0x1
+ bgt _080E76AC
+ cmp r0, 0
+ beq _080E76B6
+ b _080E781A
+ .align 2, 0
+_080E769C: .4byte gUnknown_2022BC4
+_080E76A0: .4byte gUnknown_2023BC4
+_080E76A4: .4byte gUnknown_30030F0
+_080E76A8: .4byte gUnknown_2023FF8
+_080E76AC:
+ cmp r0, 0x2
+ beq _080E76C2
+ cmp r0, 0x3
+ beq _080E76C8
+ b _080E781A
+_080E76B6:
+ movs r0, 0x1
+ movs r1, 0
+ b _080E7814
+_080E76BC:
+ movs r0, 0x1
+ movs r1, 0x1
+ b _080E7814
+_080E76C2:
+ movs r0, 0x1
+ movs r1, 0x2
+ b _080E7814
+_080E76C8:
+ movs r0, 0x1
+ movs r1, 0x3
+ movs r2, 0
+ bl sub_800E848
+ b _080E781A
+_080E76D4:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _080E770C
+ ldr r5, _080E7708 @ =gUnknown_2023FF8
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _080E76EE
+ b _080E7838
+_080E76EE:
+ movs r0, 0x5
+ bl sub_80722CC
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl sub_8030A98
+ ldrb r1, [r4]
+ adds r1, r5
+ ldrb r0, [r1]
+ movs r2, 0x1
+ b _080E7794
+ .align 2, 0
+_080E7708: .4byte gUnknown_2023FF8
+_080E770C:
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080E7744
+ ldr r5, _080E7740 @ =gUnknown_2023FF8
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ adds r0, r2, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080E7726
+ b _080E7838
+_080E7726:
+ movs r0, 0x5
+ bl sub_80722CC
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl sub_8030A98
+ ldrb r1, [r4]
+ adds r1, r5
+ ldrb r0, [r1]
+ movs r2, 0x1
+ b _080E7794
+ .align 2, 0
+_080E7740: .4byte gUnknown_2023FF8
+_080E7744:
+ movs r0, 0x40
+ mov r8, r0
+ ands r0, r1
+ cmp r0, 0
+ beq _080E7764
+ ldr r5, _080E7760 @ =gUnknown_2023FF8
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080E7838
+ b _080E777C
+ .align 2, 0
+_080E7760: .4byte gUnknown_2023FF8
+_080E7764:
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080E77AC
+ ldr r5, _080E77A8 @ =gUnknown_2023FF8
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080E7838
+_080E777C:
+ movs r0, 0x5
+ bl sub_80722CC
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl sub_8030A98
+ ldrb r1, [r4]
+ adds r1, r5
+ ldrb r0, [r1]
+ movs r2, 0x2
+_080E7794:
+ eors r0, r2
+ strb r0, [r1]
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ movs r1, 0
+ bl sub_8030A54
+ b _080E7838
+ .align 2, 0
+_080E77A8: .4byte gUnknown_2023FF8
+_080E77AC:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080E782C
+ ldr r6, _080E7820 @ =gUnknown_2022B4C
+ ldr r0, [r6]
+ ands r0, r2
+ cmp r0, 0
+ beq _080E7838
+ ldrb r0, [r4]
+ bl sub_80751D8
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bne _080E7838
+ movs r0, 0
+ bl sub_80751E8
+ ldr r1, _080E7824 @ =gUnknown_2023D70
+ ldrb r1, [r1]
+ ldr r2, _080E7828 @ =gUnknown_825E45C
+ lsls r0, 24
+ lsrs r0, 22
+ adds r0, r2
+ ldr r0, [r0]
+ ands r1, r0
+ cmp r1, 0
+ bne _080E7838
+ ldr r0, [r6]
+ mov r1, r8
+ ands r0, r1
+ cmp r0, 0
+ bne _080E7838
+ ldrb r0, [r4]
+ lsls r0, 9
+ adds r1, r7, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080E780A
+ cmp r5, 0xC
+ bhi _080E7838
+ adds r0, r5, 0
+ movs r1, 0x1
+ bl sub_809A084
+_080E780A:
+ movs r0, 0x5
+ bl sub_80722CC
+ movs r0, 0x1
+ movs r1, 0xC
+_080E7814:
+ movs r2, 0
+ bl sub_800E848
+_080E781A:
+ bl sub_80E8A9C
+ b _080E7838
+ .align 2, 0
+_080E7820: .4byte gUnknown_2022B4C
+_080E7824: .4byte gUnknown_2023D70
+_080E7828: .4byte gUnknown_825E45C
+_080E782C:
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _080E7838
+ bl sub_8048A4C
+_080E7838:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E763C
+
+ thumb_func_start sub_80E7844
+sub_80E7844: @ 80E7844
+ push {r4,lr}
+ ldr r1, _080E7860 @ =gUnknown_2023FE8
+ ldr r2, [r1]
+ adds r0, r2, 0
+ adds r0, 0x94
+ ldrb r0, [r0]
+ adds r4, r1, 0
+ cmp r0, 0x1
+ beq _080E787C
+ cmp r0, 0x1
+ bgt _080E7864
+ cmp r0, 0
+ beq _080E786A
+ b _080E78D8
+ .align 2, 0
+_080E7860: .4byte gUnknown_2023FE8
+_080E7864:
+ cmp r0, 0x2
+ beq _080E78B4
+ b _080E78D8
+_080E786A:
+ adds r1, r2, 0
+ adds r1, 0x96
+ movs r0, 0x40
+ strb r0, [r1]
+ ldr r1, [r4]
+ adds r1, 0x94
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+_080E787C:
+ ldr r1, [r4]
+ adds r1, 0x96
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ cmp r0, 0
+ bne _080E78D8
+ movs r0, 0x5
+ bl sub_80722CC
+ movs r0, 0
+ bl sub_8030A98
+ movs r0, 0x1
+ movs r1, 0
+ bl sub_8030A54
+ ldr r0, [r4]
+ adds r0, 0x96
+ movs r1, 0x40
+ strb r1, [r0]
+ ldr r1, [r4]
+ adds r1, 0x94
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _080E78D8
+_080E78B4:
+ adds r1, r2, 0
+ adds r1, 0x96
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ cmp r0, 0
+ bne _080E78D8
+ movs r0, 0x5
+ bl sub_80722CC
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0
+ bl sub_800E848
+ bl sub_80E8A9C
+_080E78D8:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E7844
+
+ thumb_func_start sub_80E78E0
+sub_80E78E0: @ 80E78E0
+ push {lr}
+ ldr r2, _080E7908 @ =gUnknown_202063C
+ ldr r1, _080E790C @ =gUnknown_2023D44
+ ldr r0, _080E7910 @ =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, _080E7914 @ =nullsub_8
+ cmp r1, r0
+ bne _080E7904
+ bl sub_80E8A9C
+_080E7904:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E7908: .4byte gUnknown_202063C
+_080E790C: .4byte gUnknown_2023D44
+_080E7910: .4byte gUnknown_2023BC4
+_080E7914: .4byte nullsub_8
+ thumb_func_end sub_80E78E0
+
+ thumb_func_start sub_80E7918
+sub_80E7918: @ 80E7918
+ push {lr}
+ movs r0, 0
+ bl sub_8002E64
+ lsls r0, 16
+ cmp r0, 0
+ bne _080E792A
+ bl sub_80E8A9C
+_080E792A:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E7918
+
+ thumb_func_start sub_80E7930
+sub_80E7930: @ 80E7930
+ push {lr}
+ ldr r0, _080E7960 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080E795A
+ ldr r2, _080E7964 @ =gUnknown_30030F0
+ ldr r0, _080E7968 @ =0x00000439
+ adds r3, r2, r0
+ ldrb r1, [r3]
+ movs r0, 0x3
+ negs r0, r0
+ ands r0, r1
+ strb r0, [r3]
+ ldr r0, _080E796C @ =gUnknown_3004F80
+ ldr r0, [r0]
+ str r0, [r2]
+ ldr r0, [r2, 0x8]
+ bl sub_8000544
+_080E795A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E7960: .4byte gUnknown_2037AB8
+_080E7964: .4byte gUnknown_30030F0
+_080E7968: .4byte 0x00000439
+_080E796C: .4byte gUnknown_3004F80
+ thumb_func_end sub_80E7930
+
+ thumb_func_start sub_80E7970
+sub_80E7970: @ 80E7970
+ push {lr}
+ ldr r0, _080E7984 @ =gUnknown_2024005
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080E797E
+ bl sub_80E8A9C
+_080E797E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E7984: .4byte gUnknown_2024005
+ thumb_func_end sub_80E7970
+
+ thumb_func_start sub_80E7988
+sub_80E7988: @ 80E7988
+ push {lr}
+ bl sub_802EA10
+ ldr r2, _080E79AC @ =gUnknown_2023BC8
+ ldr r1, _080E79B0 @ =gUnknown_825E45C
+ ldr r0, _080E79B4 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r2]
+ ldr r0, [r0]
+ ands r1, r0
+ cmp r1, 0
+ bne _080E79A8
+ bl sub_80E8A9C
+_080E79A8:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E79AC: .4byte gUnknown_2023BC8
+_080E79B0: .4byte gUnknown_825E45C
+_080E79B4: .4byte gUnknown_2023BC4
+ thumb_func_end sub_80E7988
+
+ thumb_func_start sub_80E79B8
+sub_80E79B8: @ 80E79B8
+ push {r4,lr}
+ ldr r0, _080E79FC @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080E79F6
+ ldr r1, _080E7A00 @ =gUnknown_3004FE0
+ ldr r2, _080E7A04 @ =gUnknown_2023BC4
+ ldrb r0, [r2]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080E7A08 @ =sub_80E7A14
+ str r1, [r0]
+ ldr r3, _080E7A0C @ =gUnknown_3005090
+ ldr r1, _080E7A10 @ =gUnknown_3004FFC
+ ldrb r0, [r2]
+ adds r0, r1
+ ldrb r0, [r0]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r3
+ ldrb r4, [r1, 0x8]
+ bl sub_8077508
+ bl sub_8003ECC
+ adds r0, r4, 0
+ bl sub_81278DC
+_080E79F6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E79FC: .4byte gUnknown_2037AB8
+_080E7A00: .4byte gUnknown_3004FE0
+_080E7A04: .4byte gUnknown_2023BC4
+_080E7A08: .4byte sub_80E7A14
+_080E7A0C: .4byte gUnknown_3005090
+_080E7A10: .4byte gUnknown_3004FFC
+ thumb_func_end sub_80E79B8
+
+ thumb_func_start sub_80E7A14
+sub_80E7A14: @ 80E7A14
+ push {lr}
+ ldr r0, _080E7A44 @ =gUnknown_30030F0
+ ldr r1, [r0, 0x4]
+ ldr r0, _080E7A48 @ =sub_8011100
+ cmp r1, r0
+ bne _080E7A6A
+ ldr r0, _080E7A4C @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080E7A6A
+ ldr r0, _080E7A50 @ =gUnknown_203B0C0
+ ldrb r0, [r0]
+ cmp r0, 0x1
+ bne _080E7A5C
+ ldr r0, _080E7A54 @ =gUnknown_203B0C1
+ ldrb r1, [r0]
+ ldr r2, _080E7A58 @ =gUnknown_203B0DC
+ movs r0, 0x1
+ bl sub_800E874
+ b _080E7A66
+ .align 2, 0
+_080E7A44: .4byte gUnknown_30030F0
+_080E7A48: .4byte sub_8011100
+_080E7A4C: .4byte gUnknown_2037AB8
+_080E7A50: .4byte gUnknown_203B0C0
+_080E7A54: .4byte gUnknown_203B0C1
+_080E7A58: .4byte gUnknown_203B0DC
+_080E7A5C:
+ movs r0, 0x1
+ movs r1, 0x6
+ movs r2, 0
+ bl sub_800E874
+_080E7A66:
+ bl sub_80E8A9C
+_080E7A6A:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E7A14
+
+ thumb_func_start sub_80E7A70
+sub_80E7A70: @ 80E7A70
+ push {lr}
+ ldr r0, _080E7AA8 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080E7AC0
+ ldr r1, _080E7AAC @ =gUnknown_3004FE0
+ ldr r0, _080E7AB0 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080E7AB4 @ =sub_80E7AC4
+ str r1, [r0]
+ bl nullsub_44
+ bl sub_8003ECC
+ ldr r0, _080E7AB8 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080E7ABC
+ bl sub_8107ECC
+ b _080E7AC0
+ .align 2, 0
+_080E7AA8: .4byte gUnknown_2037AB8
+_080E7AAC: .4byte gUnknown_3004FE0
+_080E7AB0: .4byte gUnknown_2023BC4
+_080E7AB4: .4byte sub_80E7AC4
+_080E7AB8: .4byte gUnknown_2022B4C
+_080E7ABC:
+ bl sub_810AF74
+_080E7AC0:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E7A70
+
+ thumb_func_start sub_80E7AC4
+sub_80E7AC4: @ 80E7AC4
+ push {lr}
+ ldr r0, _080E7B14 @ =gUnknown_30030F0
+ ldr r1, [r0, 0x4]
+ ldr r0, _080E7B18 @ =sub_8011100
+ cmp r1, r0
+ bne _080E7B42
+ ldr r0, _080E7B1C @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080E7B42
+ movs r0, 0x4
+ bl sub_80EB2E0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080E7B34
+ ldr r0, _080E7B20 @ =gUnknown_203AD30
+ ldrh r0, [r0]
+ cmp r0, 0xD
+ bne _080E7B34
+ ldr r0, _080E7B24 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080E7B34
+ movs r0, 0x4
+ bl sub_80EB2F4
+ ldr r1, _080E7B28 @ =gUnknown_3004FE0
+ ldr r0, _080E7B2C @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080E7B30 @ =sub_80E8704
+ str r1, [r0]
+ b _080E7B42
+ .align 2, 0
+_080E7B14: .4byte gUnknown_30030F0
+_080E7B18: .4byte sub_8011100
+_080E7B1C: .4byte gUnknown_2037AB8
+_080E7B20: .4byte gUnknown_203AD30
+_080E7B24: .4byte gUnknown_2022B4C
+_080E7B28: .4byte gUnknown_3004FE0
+_080E7B2C: .4byte gUnknown_2023BC4
+_080E7B30: .4byte sub_80E8704
+_080E7B34:
+ ldr r0, _080E7B48 @ =gUnknown_203AD30
+ ldrh r1, [r0]
+ movs r0, 0x1
+ bl sub_800E8AC
+ bl sub_80E8A9C
+_080E7B42:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E7B48: .4byte gUnknown_203AD30
+ thumb_func_end sub_80E7AC4
+
+ thumb_func_start sub_80E7B4C
+sub_80E7B4C: @ 80E7B4C
+ push {r4-r7,lr}
+ ldr r4, _080E7CB0 @ =gUnknown_2024018
+ ldr r0, [r4]
+ ldr r5, _080E7CB4 @ =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 r7, 0x88
+ adds r0, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _080E7B80
+ ldr r0, _080E7CB8 @ =gUnknown_2023BCE
+ adds r0, r3, r0
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r1, r0
+ ldr r0, _080E7CBC @ =gUnknown_2024284
+ adds r1, r0
+ adds r0, r2, 0
+ bl sub_80F1720
+_080E7B80:
+ ldr r1, [r4]
+ ldrb r0, [r5]
+ movs r6, 0x2
+ adds r2, r6, 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, r7, 0
+ ands r0, r1
+ cmp r0, 0
+ bne _080E7BB2
+ ldr r0, _080E7CB8 @ =gUnknown_2023BCE
+ adds r0, r3, r0
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r1, r0
+ ldr r0, _080E7CBC @ =gUnknown_2024284
+ adds r1, r0
+ adds r0, r2, 0
+ bl sub_80F1720
+_080E7BB2:
+ ldr r0, [r4]
+ ldrb r2, [r5]
+ 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
+ bne _080E7CA8
+ adds r1, r6, 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
+ bne _080E7CA8
+ bl sub_8075290
+ lsls r0, 24
+ cmp r0, 0
+ beq _080E7C46
+ ldr r0, _080E7CC0 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _080E7C46
+ ldr r1, _080E7CC4 @ =gUnknown_3004FFC
+ ldrb r0, [r5]
+ eors r0, r6
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _080E7CC8 @ =gUnknown_202063C
+ adds r0, r1
+ bl sub_8007280
+ ldr r4, _080E7CCC @ =gUnknown_3004FF0
+ ldrb r0, [r5]
+ adds r1, r6, 0
+ eors r1, r0
+ adds r0, r1, r4
+ ldrb r0, [r0]
+ ldr r2, _080E7CB8 @ =gUnknown_2023BCE
+ lsls r1, 1
+ adds r1, r2
+ ldrh r2, [r1]
+ movs r1, 0x64
+ muls r1, r2
+ ldr r2, _080E7CBC @ =gUnknown_2024284
+ adds r1, r2
+ movs r2, 0
+ bl sub_8049D98
+ ldrb r0, [r5]
+ eors r0, r6
+ bl sub_804BD94
+ ldrb r0, [r5]
+ eors r0, r6
+ adds r0, r4
+ ldrb r0, [r0]
+ bl sub_80481D4
+_080E7C46:
+ ldr r1, _080E7CC4 @ =gUnknown_3004FFC
+ ldr r4, _080E7CB4 @ =gUnknown_2023BC4
+ ldrb r0, [r4]
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _080E7CC8 @ =gUnknown_202063C
+ adds r0, r1
+ bl sub_8007280
+ ldr r5, _080E7CCC @ =gUnknown_3004FF0
+ ldrb r1, [r4]
+ adds r0, r1, r5
+ ldrb r0, [r0]
+ ldr r2, _080E7CB8 @ =gUnknown_2023BCE
+ lsls r1, 1
+ adds r1, r2
+ ldrh r2, [r1]
+ movs r1, 0x64
+ muls r1, r2
+ ldr r2, _080E7CBC @ =gUnknown_2024284
+ adds r1, r2
+ movs r2, 0
+ bl sub_8049D98
+ ldrb r0, [r4]
+ bl sub_804BD94
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r0, [r0]
+ bl sub_80481D4
+ ldr r0, _080E7CB0 @ =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, _080E7CD0 @ =gUnknown_3004FE0
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080E7CD4 @ =sub_80E7CD8
+ str r1, [r0]
+_080E7CA8:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E7CB0: .4byte gUnknown_2024018
+_080E7CB4: .4byte gUnknown_2023BC4
+_080E7CB8: .4byte gUnknown_2023BCE
+_080E7CBC: .4byte gUnknown_2024284
+_080E7CC0: .4byte gUnknown_2022B4C
+_080E7CC4: .4byte gUnknown_3004FFC
+_080E7CC8: .4byte gUnknown_202063C
+_080E7CCC: .4byte gUnknown_3004FF0
+_080E7CD0: .4byte gUnknown_3004FE0
+_080E7CD4: .4byte sub_80E7CD8
+ thumb_func_end sub_80E7B4C
+
+ thumb_func_start sub_80E7CD8
+sub_80E7CD8: @ 80E7CD8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ movs r4, 0
+ ldr r2, _080E7DD8 @ =gUnknown_202063C
+ ldr r0, _080E7DDC @ =gUnknown_3004FF0
+ ldr r1, _080E7DE0 @ =gUnknown_2023BC4
+ mov r8, r1
+ ldrb r3, [r1]
+ 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, _080E7DE4 @ =nullsub_8
+ cmp r1, r0
+ bne _080E7D02
+ movs r4, 0x1
+_080E7D02:
+ cmp r4, 0
+ beq _080E7DCE
+ ldr r7, _080E7DE8 @ =gUnknown_2024018
+ ldr r0, [r7]
+ ldr r4, [r0, 0x4]
+ lsls r0, r3, 1
+ adds r0, r3
+ lsls r0, 2
+ adds r2, r0, r4
+ ldrb r1, [r2, 0x1]
+ movs r5, 0x1
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080E7DCE
+ movs r6, 0x2
+ adds r1, r6, 0
+ eors r1, r3
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldrb r1, [r0, 0x1]
+ adds r0, r5, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _080E7DCE
+ ldrb r1, [r2]
+ movs r3, 0x7F
+ adds r0, r3, 0
+ ands r0, r1
+ strb r0, [r2]
+ ldr r0, [r7]
+ mov r1, r8
+ ldrb r2, [r1]
+ 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]
+ ldr r2, [r7]
+ mov r1, r8
+ ldrb r0, [r1]
+ 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]
+ ldr r2, [r7]
+ mov r1, r8
+ ldrb r0, [r1]
+ 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, _080E7DEC @ =0x000027f9
+ adds r0, r4, 0
+ bl sub_800874C
+ adds r0, r4, 0
+ bl sub_8008A30
+ ldr r0, _080E7DF0 @ =sub_802FDF4
+ movs r1, 0xA
+ bl sub_807741C
+ ldr r2, _080E7DF4 @ =gUnknown_2023BCE
+ mov r0, r8
+ ldrb r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r2
+ ldrh r2, [r0]
+ movs r0, 0x64
+ muls r0, r2
+ ldr r2, _080E7DF8 @ =gUnknown_2024284
+ adds r0, r2
+ bl sub_8035244
+ ldr r1, _080E7DFC @ =gUnknown_3004FE0
+ mov r2, r8
+ ldrb r0, [r2]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080E7E00 @ =sub_80E835C
+ str r1, [r0]
+_080E7DCE:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E7DD8: .4byte gUnknown_202063C
+_080E7DDC: .4byte gUnknown_3004FF0
+_080E7DE0: .4byte gUnknown_2023BC4
+_080E7DE4: .4byte nullsub_8
+_080E7DE8: .4byte gUnknown_2024018
+_080E7DEC: .4byte 0x000027f9
+_080E7DF0: .4byte sub_802FDF4
+_080E7DF4: .4byte gUnknown_2023BCE
+_080E7DF8: .4byte gUnknown_2024284
+_080E7DFC: .4byte gUnknown_3004FE0
+_080E7E00: .4byte sub_80E835C
+ thumb_func_end sub_80E7CD8
+
+ thumb_func_start sub_80E7E04
+sub_80E7E04: @ 80E7E04
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x10
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ ldr r1, _080E7F04 @ =gUnknown_3005090
+ lsls r0, 2
+ add r0, r9
+ lsls r0, 3
+ adds r0, r1
+ mov r8, r0
+ ldrb r0, [r0, 0x8]
+ mov r10, r0
+ mov r1, r8
+ ldrb r7, [r1, 0xC]
+ str r7, [sp, 0x8]
+ ldrh r2, [r1, 0xA]
+ str r2, [sp, 0xC]
+ bl sub_8075290
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080E7E4A
+ ldr r1, _080E7F08 @ =gUnknown_2023BCE
+ lsls r0, r7, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r10, r0
+ bne _080E7E4A
+ b _080E7F60
+_080E7E4A:
+ movs r0, 0x64
+ mov r1, r10
+ muls r1, r0
+ ldr r0, _080E7F0C @ =gUnknown_2024284
+ adds r6, r1, r0
+ adds r0, r6, 0
+ movs r1, 0xB
+ bl sub_803FBE8
+ adds r5, r0, 0
+ lsls r5, 16
+ lsrs r5, 16
+ adds r0, r6, 0
+ movs r1, 0x38
+ bl sub_803FBE8
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r6, 0
+ movs r1, 0x19
+ bl sub_803FBE8
+ str r0, [sp, 0x4]
+ ldr r3, _080E7F10 @ =gUnknown_8253AE4
+ adds r4, 0x1
+ lsls r4, 2
+ ldr r2, _080E7F14 @ =gUnknown_8254784
+ lsls r1, r5, 3
+ subs r1, r5
+ lsls r1, 2
+ adds r1, r2
+ ldrb r2, [r1, 0x13]
+ movs r1, 0xCA
+ lsls r1, 1
+ muls r1, r2
+ adds r4, r1
+ adds r4, r3
+ ldr r2, [r4]
+ str r2, [sp]
+ ldr r3, [sp, 0xC]
+ lsls r1, r3, 16
+ asrs r1, 16
+ adds r0, r1
+ cmp r0, r2
+ bcc _080E7F38
+ adds r0, r6, 0
+ movs r1, 0x19
+ mov r2, sp
+ bl sub_804037C
+ adds r0, r6, 0
+ bl sub_803E47C
+ ldr r2, [sp]
+ add r0, sp, 0x4
+ ldrh r0, [r0]
+ subs r2, r0
+ ldr r0, [sp, 0xC]
+ subs r2, r0, r2
+ ldr r4, _080E7F18 @ =gUnknown_2023BC4
+ ldrb r5, [r4]
+ strb r7, [r4]
+ lsls r2, 16
+ lsrs r2, 16
+ movs r0, 0x1
+ movs r1, 0xB
+ bl sub_800E848
+ strb r5, [r4]
+ bl sub_8075290
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080E7F20
+ ldr r2, _080E7F08 @ =gUnknown_2023BCE
+ lsls r0, r7, 1
+ adds r0, r2
+ mov r1, r10
+ ldrh r0, [r0]
+ cmp r1, r0
+ beq _080E7EFE
+ movs r0, 0x2
+ eors r7, r0
+ lsls r0, r7, 1
+ adds r0, r2
+ ldrh r0, [r0]
+ cmp r1, r0
+ bne _080E7F20
+_080E7EFE:
+ ldr r0, _080E7F1C @ =sub_80E8190
+ b _080E7F62
+ .align 2, 0
+_080E7F04: .4byte gUnknown_3005090
+_080E7F08: .4byte gUnknown_2023BCE
+_080E7F0C: .4byte gUnknown_2024284
+_080E7F10: .4byte gUnknown_8253AE4
+_080E7F14: .4byte gUnknown_8254784
+_080E7F18: .4byte gUnknown_2023BC4
+_080E7F1C: .4byte sub_80E8190
+_080E7F20:
+ ldr r0, _080E7F30 @ =gUnknown_3005090
+ mov r2, r9
+ lsls r1, r2, 2
+ add r1, r9
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080E7F34 @ =sub_80E82A8
+ b _080E7F64
+ .align 2, 0
+_080E7F30: .4byte gUnknown_3005090
+_080E7F34: .4byte sub_80E82A8
+_080E7F38:
+ str r0, [sp, 0x4]
+ add r2, sp, 0x4
+ adds r0, r6, 0
+ movs r1, 0x19
+ bl sub_804037C
+ ldr r1, _080E7F58 @ =gUnknown_3004FE0
+ ldr r3, [sp, 0x8]
+ lsls r0, r3, 2
+ adds r0, r1
+ ldr r1, _080E7F5C @ =sub_80E8930
+ str r1, [r0]
+ mov r0, r9
+ bl sub_8077508
+ b _080E7F66
+ .align 2, 0
+_080E7F58: .4byte gUnknown_3004FE0
+_080E7F5C: .4byte sub_80E8930
+_080E7F60:
+ ldr r0, _080E7F78 @ =sub_80E7F7C
+_080E7F62:
+ mov r1, r8
+_080E7F64:
+ str r0, [r1]
+_080E7F66:
+ add sp, 0x10
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E7F78: .4byte sub_80E7F7C
+ thumb_func_end sub_80E7E04
+
+ thumb_func_start sub_80E7F7C
+sub_80E7F7C: @ 80E7F7C
+ push {r4-r6,lr}
+ mov r6, r10
+ mov r5, r9
+ mov r4, r8
+ push {r4-r6}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080E8034 @ =gUnknown_3005090
+ lsls r2, r0, 2
+ mov r8, r2
+ add r8, r0
+ mov r0, r8
+ lsls r0, 3
+ mov r8, r0
+ add r8, r1
+ mov r2, r8
+ ldrb r1, [r2, 0x8]
+ movs r0, 0xA
+ ldrsh r2, [r2, r0]
+ mov r9, r2
+ mov r2, r8
+ ldrb r2, [r2, 0xC]
+ mov r10, r2
+ movs r0, 0x64
+ adds r6, r1, 0
+ muls r6, r0
+ ldr r0, _080E8038 @ =gUnknown_2024284
+ adds r6, r0
+ adds r0, r6, 0
+ movs r1, 0x38
+ bl sub_803FBE8
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r6, 0
+ movs r1, 0xB
+ bl sub_803FBE8
+ adds r5, r0, 0
+ lsls r5, 16
+ lsrs r5, 16
+ adds r0, r6, 0
+ movs r1, 0x19
+ bl sub_803FBE8
+ adds r3, r0, 0
+ ldr r6, _080E803C @ =gUnknown_8253AE4
+ lsls r1, r4, 2
+ ldr r2, _080E8040 @ =gUnknown_8254784
+ lsls r0, r5, 3
+ subs r0, r5
+ lsls r0, 2
+ adds r0, r2
+ ldrb r2, [r0, 0x13]
+ movs r0, 0xCA
+ lsls r0, 1
+ muls r0, r2
+ adds r1, r0
+ adds r1, r6
+ ldr r1, [r1]
+ subs r3, r1
+ adds r4, 0x1
+ lsls r4, 2
+ adds r4, r0
+ adds r4, r6
+ ldr r2, [r4]
+ subs r2, r1
+ ldr r0, _080E8044 @ =gUnknown_3004FF0
+ add r0, r10
+ ldrb r1, [r0]
+ mov r0, r9
+ negs r0, r0
+ str r0, [sp]
+ mov r0, r10
+ bl sub_8048150
+ movs r0, 0x1B
+ bl sub_80722CC
+ ldr r0, _080E8048 @ =sub_80E804C
+ mov r1, r8
+ str r0, [r1]
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E8034: .4byte gUnknown_3005090
+_080E8038: .4byte gUnknown_2024284
+_080E803C: .4byte gUnknown_8253AE4
+_080E8040: .4byte gUnknown_8254784
+_080E8044: .4byte gUnknown_3004FF0
+_080E8048: .4byte sub_80E804C
+ thumb_func_end sub_80E7F7C
+
+ thumb_func_start sub_80E804C
+sub_80E804C: @ 80E804C
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ ldr r1, _080E8078 @ =gUnknown_3005090
+ lsls r0, 2
+ add r0, r8
+ lsls r0, 3
+ adds r6, r0, r1
+ ldrh r1, [r6, 0x1C]
+ movs r2, 0x1C
+ ldrsh r0, [r6, r2]
+ cmp r0, 0xC
+ bgt _080E807C
+ adds r0, r1, 0x1
+ strh r0, [r6, 0x1C]
+ b _080E8178
+ .align 2, 0
+_080E8078: .4byte gUnknown_3005090
+_080E807C:
+ ldrb r0, [r6, 0x8]
+ mov r9, r0
+ ldrh r2, [r6, 0xA]
+ mov r10, r2
+ ldrb r7, [r6, 0xC]
+ ldr r5, _080E8144 @ =gUnknown_3004FF0
+ adds r5, r7, r5
+ ldrb r1, [r5]
+ adds r0, r7, 0
+ movs r2, 0x1
+ movs r3, 0
+ bl sub_8049FD8
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldrb r0, [r5]
+ bl sub_80481D4
+ lsls r4, 16
+ asrs r4, 16
+ movs r0, 0x1
+ negs r0, r0
+ cmp r4, r0
+ bne _080E8178
+ movs r0, 0x1B
+ bl m4aSongNumStop
+ movs r0, 0x64
+ mov r1, r9
+ muls r1, r0
+ ldr r0, _080E8148 @ =gUnknown_2024284
+ adds r5, r1, r0
+ adds r0, r5, 0
+ movs r1, 0x38
+ bl sub_803FBE8
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r5, 0
+ movs r1, 0x19
+ bl sub_803FBE8
+ str r0, [sp, 0x4]
+ adds r0, r5, 0
+ movs r1, 0xB
+ bl sub_803FBE8
+ lsls r0, 16
+ lsrs r0, 16
+ ldr r3, _080E814C @ =gUnknown_8253AE4
+ adds r4, 0x1
+ lsls r4, 2
+ ldr r2, _080E8150 @ =gUnknown_8254784
+ lsls r1, r0, 3
+ subs r1, r0
+ lsls r1, 2
+ adds r1, r2
+ ldrb r1, [r1, 0x13]
+ movs r0, 0xCA
+ lsls r0, 1
+ muls r0, r1
+ adds r4, r0
+ adds r4, r3
+ ldr r1, [r4]
+ str r1, [sp]
+ mov r2, r10
+ lsls r0, r2, 16
+ asrs r4, r0, 16
+ ldr r0, [sp, 0x4]
+ adds r0, r4
+ cmp r0, r1
+ blt _080E815C
+ adds r0, r5, 0
+ movs r1, 0x19
+ mov r2, sp
+ bl sub_804037C
+ adds r0, r5, 0
+ bl sub_803E47C
+ ldr r2, [sp]
+ add r0, sp, 0x4
+ ldrh r0, [r0]
+ subs r2, r0
+ subs r2, r4, r2
+ ldr r4, _080E8154 @ =gUnknown_2023BC4
+ ldrb r5, [r4]
+ strb r7, [r4]
+ lsls r2, 16
+ lsrs r2, 16
+ movs r0, 0x1
+ movs r1, 0xB
+ bl sub_800E848
+ strb r5, [r4]
+ ldr r0, _080E8158 @ =sub_80E8190
+ str r0, [r6]
+ b _080E8178
+ .align 2, 0
+_080E8144: .4byte gUnknown_3004FF0
+_080E8148: .4byte gUnknown_2024284
+_080E814C: .4byte gUnknown_8253AE4
+_080E8150: .4byte gUnknown_8254784
+_080E8154: .4byte gUnknown_2023BC4
+_080E8158: .4byte sub_80E8190
+_080E815C:
+ str r0, [sp, 0x4]
+ add r2, sp, 0x4
+ adds r0, r5, 0
+ movs r1, 0x19
+ bl sub_804037C
+ ldr r1, _080E8188 @ =gUnknown_3004FE0
+ lsls r0, r7, 2
+ adds r0, r1
+ ldr r1, _080E818C @ =sub_80E8930
+ str r1, [r0]
+ mov r0, r8
+ bl sub_8077508
+_080E8178:
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E8188: .4byte gUnknown_3004FE0
+_080E818C: .4byte sub_80E8930
+ thumb_func_end sub_80E804C
+
+ thumb_func_start sub_80E8190
+sub_80E8190: @ 80E8190
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r1, _080E81E4 @ =gUnknown_3005090
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ adds r0, r1
+ ldrb r4, [r0, 0xC]
+ ldrb r6, [r0, 0x8]
+ bl sub_8075290
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080E81C4
+ ldr r1, _080E81E8 @ =gUnknown_2023BCE
+ movs r0, 0x2
+ adds r2, r4, 0
+ eors r2, r0
+ lsls r0, r2, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r6, r0
+ bne _080E81C4
+ adds r4, r2, 0
+_080E81C4:
+ adds r0, r4, 0
+ adds r1, r4, 0
+ adds r2, r4, 0
+ movs r3, 0
+ bl sub_80341D8
+ ldr r0, _080E81E4 @ =gUnknown_3005090
+ lsls r1, r5, 2
+ adds r1, r5
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080E81EC @ =sub_80E81F0
+ str r0, [r1]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E81E4: .4byte gUnknown_3005090
+_080E81E8: .4byte gUnknown_2023BCE
+_080E81EC: .4byte sub_80E81F0
+ thumb_func_end sub_80E8190
+
+ thumb_func_start sub_80E81F0
+sub_80E81F0: @ 80E81F0
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, _080E825C @ =gUnknown_3005090
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r2, r0, r1
+ ldrb r5, [r2, 0xC]
+ ldr r0, _080E8260 @ =gUnknown_2024018
+ ldr r0, [r0]
+ ldr r1, [r0, 0x4]
+ lsls r0, r5, 1
+ adds r0, r5
+ lsls r0, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _080E8292
+ ldrb r4, [r2, 0x8]
+ movs r0, 0x64
+ adds r1, r4, 0
+ muls r1, r0
+ ldr r0, _080E8264 @ =gUnknown_2024284
+ adds r7, r1, r0
+ adds r0, r7, 0
+ movs r1, 0x38
+ bl sub_803FBE8
+ bl sub_8075290
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _080E8270
+ ldr r1, _080E8268 @ =gUnknown_2023BCE
+ movs r0, 0x2
+ adds r2, r5, 0
+ eors r2, r0
+ lsls r0, r2, 1
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r4, r0
+ bne _080E8270
+ ldr r0, _080E826C @ =gUnknown_3004FF0
+ adds r0, r2, r0
+ ldrb r0, [r0]
+ adds r1, r7, 0
+ movs r2, 0
+ bl sub_8049D98
+ b _080E8284
+ .align 2, 0
+_080E825C: .4byte gUnknown_3005090
+_080E8260: .4byte gUnknown_2024018
+_080E8264: .4byte gUnknown_2024284
+_080E8268: .4byte gUnknown_2023BCE
+_080E826C: .4byte gUnknown_3004FF0
+_080E8270:
+ ldr r0, _080E8298 @ =gUnknown_3004FF0
+ adds r0, r5, r0
+ ldrb r0, [r0]
+ movs r1, 0x64
+ muls r1, r4
+ ldr r2, _080E829C @ =gUnknown_2024284
+ adds r1, r2
+ movs r2, 0
+ bl sub_8049D98
+_080E8284:
+ ldr r0, _080E82A0 @ =gUnknown_3005090
+ lsls r1, r6, 2
+ adds r1, r6
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _080E82A4 @ =sub_80E82A8
+ str r0, [r1]
+_080E8292:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E8298: .4byte gUnknown_3004FF0
+_080E829C: .4byte gUnknown_2024284
+_080E82A0: .4byte gUnknown_3005090
+_080E82A4: .4byte sub_80E82A8
+ thumb_func_end sub_80E81F0
+
+ thumb_func_start sub_80E82A8
+sub_80E82A8: @ 80E82A8
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r5, 24
+ lsrs r5, 24
+ ldr r0, _080E82E4 @ =gUnknown_3005090
+ lsls r4, r5, 2
+ adds r4, r5
+ lsls r4, 3
+ adds r4, r0
+ ldrb r1, [r4, 0x8]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _080E82E8 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x38
+ bl sub_803FBE8
+ ldrb r0, [r4, 0xC]
+ ldr r1, _080E82EC @ =gUnknown_3004FE0
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080E82F0 @ =sub_80E8930
+ str r1, [r0]
+ adds r0, r5, 0
+ bl sub_8077508
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E82E4: .4byte gUnknown_3005090
+_080E82E8: .4byte gUnknown_2024284
+_080E82EC: .4byte gUnknown_3004FE0
+_080E82F0: .4byte sub_80E8930
+ thumb_func_end sub_80E82A8
+
+ thumb_func_start sub_80E82F4
+sub_80E82F4: @ 80E82F4
+ push {r4-r6,lr}
+ ldr r6, _080E834C @ =gUnknown_202063C
+ ldr r5, _080E8350 @ =gUnknown_2023D44
+ ldr r4, _080E8354 @ =gUnknown_2023BC4
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, r0, r6
+ movs r1, 0x22
+ ldrsh r0, [r2, r1]
+ movs r3, 0x26
+ ldrsh r1, [r2, r3]
+ adds r0, r1
+ cmp r0, 0xA0
+ ble _080E8344
+ ldrb r0, [r2, 0x3]
+ lsls r0, 26
+ lsrs r0, 27
+ bl sub_80085CC
+ ldrb r0, [r4]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r6
+ bl sub_8007280
+ ldr r1, _080E8358 @ =gUnknown_3004FF0
+ ldrb r0, [r4]
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_8048188
+ bl sub_80E8A9C
+_080E8344:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E834C: .4byte gUnknown_202063C
+_080E8350: .4byte gUnknown_2023D44
+_080E8354: .4byte gUnknown_2023BC4
+_080E8358: .4byte gUnknown_3004FF0
+ thumb_func_end sub_80E82F4
+
+ thumb_func_start sub_80E835C
+sub_80E835C: @ 80E835C
+ push {r4-r7,lr}
+ sub sp, 0x4
+ ldr r1, _080E837C @ =gUnknown_2023FE8
+ ldr r0, [r1]
+ adds r0, 0x94
+ ldrb r0, [r0]
+ adds r7, r1, 0
+ cmp r0, 0x8
+ bls _080E8370
+ b _080E855E
+_080E8370:
+ lsls r0, 2
+ ldr r1, _080E8380 @ =_080E8384
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080E837C: .4byte gUnknown_2023FE8
+_080E8380: .4byte _080E8384
+ .align 2, 0
+_080E8384:
+ .4byte _080E83A8
+ .4byte _080E83F0
+ .4byte _080E8408
+ .4byte _080E8420
+ .4byte _080E8468
+ .4byte _080E8490
+ .4byte _080E84D8
+ .4byte _080E8500
+ .4byte _080E8530
+_080E83A8:
+ ldr r0, _080E83EC @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r6, r0, 24
+ cmp r6, 0
+ beq _080E83BA
+ b _080E855E
+_080E83BA:
+ ldr r4, [r7]
+ adds r5, r4, 0
+ adds r5, 0x95
+ adds r4, 0x97
+ movs r0, 0x1
+ bl sub_80751E8
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_80EEFC8
+ movs r0, 0x82
+ negs r0, r0
+ str r6, [sp]
+ movs r1, 0x4
+ movs r2, 0
+ movs r3, 0x8
+ bl sub_8070588
+ ldr r1, [r7]
+ b _080E8522
+ .align 2, 0
+_080E83EC: .4byte gUnknown_2037AB8
+_080E83F0:
+ ldr r0, _080E8404 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080E83FE
+ b _080E855E
+_080E83FE:
+ bl sub_80EB30C
+ b _080E851E
+ .align 2, 0
+_080E8404: .4byte gUnknown_2037AB8
+_080E8408:
+ ldr r0, _080E8418 @ =gUnknown_83FDAE2
+ bl sub_80D77F4
+ ldr r0, _080E841C @ =gUnknown_202298C
+ movs r1, 0x18
+ bl sub_80D87BC
+ b _080E851E
+ .align 2, 0
+_080E8418: .4byte gUnknown_83FDAE2
+_080E841C: .4byte gUnknown_202298C
+_080E8420:
+ movs r0, 0x18
+ bl sub_8002E64
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0
+ beq _080E8430
+ b _080E855E
+_080E8430:
+ ldr r2, _080E8460 @ =gUnknown_825E45C
+ ldr r4, _080E8464 @ =gUnknown_2023FE8
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x95
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r2
+ adds r0, 0x97
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r2
+ ldr r1, [r1]
+ ldr r0, [r0]
+ orrs r1, r0
+ lsls r0, r1, 16
+ str r3, [sp]
+ movs r1, 0x4
+ movs r2, 0x8
+ movs r3, 0
+ bl sub_8070588
+ ldr r1, [r4]
+ b _080E8522
+ .align 2, 0
+_080E8460: .4byte gUnknown_825E45C
+_080E8464: .4byte gUnknown_2023FE8
+_080E8468:
+ ldr r0, _080E8484 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080E855E
+ ldr r0, _080E8488 @ =gUnknown_83FDB92
+ bl sub_80D77F4
+ ldr r0, _080E848C @ =gUnknown_202298C
+ movs r1, 0x18
+ bl sub_80D87BC
+ b _080E851E
+ .align 2, 0
+_080E8484: .4byte gUnknown_2037AB8
+_080E8488: .4byte gUnknown_83FDB92
+_080E848C: .4byte gUnknown_202298C
+_080E8490:
+ movs r0, 0x18
+ bl sub_8002E64
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0
+ bne _080E855E
+ ldr r2, _080E84D0 @ =gUnknown_825E45C
+ ldr r4, _080E84D4 @ =gUnknown_2023FE8
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x95
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r2
+ adds r0, 0x97
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r2
+ ldr r1, [r1]
+ ldr r0, [r0]
+ orrs r1, r0
+ lsls r0, r1, 16
+ str r3, [sp]
+ movs r1, 0x4
+ movs r2, 0
+ movs r3, 0x8
+ bl sub_8070588
+ ldr r1, [r4]
+ b _080E8522
+ .align 2, 0
+_080E84D0: .4byte gUnknown_825E45C
+_080E84D4: .4byte gUnknown_2023FE8
+_080E84D8:
+ ldr r0, _080E84F4 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080E855E
+ ldr r0, _080E84F8 @ =gUnknown_83FDBEF
+ bl sub_80D77F4
+ ldr r0, _080E84FC @ =gUnknown_202298C
+ movs r1, 0x18
+ bl sub_80D87BC
+ b _080E851E
+ .align 2, 0
+_080E84F4: .4byte gUnknown_2037AB8
+_080E84F8: .4byte gUnknown_83FDBEF
+_080E84FC: .4byte gUnknown_202298C
+_080E8500:
+ movs r0, 0x18
+ bl sub_8002E64
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _080E855E
+ movs r0, 0x82
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0x4
+ movs r2, 0x8
+ movs r3, 0
+ bl sub_8070588
+_080E851E:
+ ldr r0, _080E852C @ =gUnknown_2023FE8
+ ldr r1, [r0]
+_080E8522:
+ adds r1, 0x94
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _080E855E
+ .align 2, 0
+_080E852C: .4byte gUnknown_2023FE8
+_080E8530:
+ ldr r0, _080E8568 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _080E855E
+ movs r0, 0x1
+ bl sub_80751E8
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_80EF0E0
+ bl sub_80EB524
+ ldr r0, _080E856C @ =gUnknown_2023FE8
+ ldr r0, [r0]
+ adds r0, 0x94
+ strb r4, [r0]
+ bl sub_80E8A9C
+_080E855E:
+ add sp, 0x4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E8568: .4byte gUnknown_2037AB8
+_080E856C: .4byte gUnknown_2023FE8
+ thumb_func_end sub_80E835C
+
+ thumb_func_start sub_80E8570
+sub_80E8570: @ 80E8570
+ push {lr}
+ ldr r0, _080E8580 @ =gUnknown_83FDC58
+ movs r1, 0x1
+ bl sub_80E85D4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E8580: .4byte gUnknown_83FDC58
+ thumb_func_end sub_80E8570
+
+ thumb_func_start sub_80E8584
+sub_80E8584: @ 80E8584
+ push {lr}
+ ldr r0, _080E8594 @ =gUnknown_83FDC95
+ movs r1, 0x40
+ bl sub_80E85D4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E8594: .4byte gUnknown_83FDC95
+ thumb_func_end sub_80E8584
+
+ thumb_func_start sub_80E8598
+sub_80E8598: @ 80E8598
+ push {lr}
+ ldr r0, _080E85A8 @ =gUnknown_83FDD23
+ movs r1, 0x1
+ bl sub_80E85D4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E85A8: .4byte gUnknown_83FDD23
+ thumb_func_end sub_80E8598
+
+ thumb_func_start sub_80E85AC
+sub_80E85AC: @ 80E85AC
+ push {lr}
+ ldr r0, _080E85BC @ =gUnknown_83FDD64
+ movs r1, 0x40
+ bl sub_80E85D4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E85BC: .4byte gUnknown_83FDD64
+ thumb_func_end sub_80E85AC
+
+ thumb_func_start sub_80E85C0
+sub_80E85C0: @ 80E85C0
+ push {lr}
+ ldr r0, _080E85D0 @ =gUnknown_83FDDEB
+ movs r1, 0x40
+ bl sub_80E85D4
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E85D0: .4byte gUnknown_83FDDEB
+ thumb_func_end sub_80E85C0
+
+ thumb_func_start sub_80E85D4
+sub_80E85D4: @ 80E85D4
+ push {r4,r5,lr}
+ sub sp, 0x4
+ adds r2, r0, 0
+ lsls r1, 24
+ lsrs r4, r1, 24
+ ldr r1, _080E85F8 @ =gUnknown_2023FE8
+ ldr r0, [r1]
+ adds r0, 0x94
+ ldrb r0, [r0]
+ adds r5, r1, 0
+ cmp r0, 0x5
+ bls _080E85EE
+ b _080E86F2
+_080E85EE:
+ lsls r0, 2
+ ldr r1, _080E85FC @ =_080E8600
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080E85F8: .4byte gUnknown_2023FE8
+_080E85FC: .4byte _080E8600
+ .align 2, 0
+_080E8600:
+ .4byte _080E8618
+ .4byte _080E8634
+ .4byte _080E865A
+ .4byte _080E8670
+ .4byte _080E8684
+ .4byte _080E86B4
+_080E8618:
+ movs r0, 0
+ bl sub_8002E64
+ lsls r0, 16
+ cmp r0, 0
+ bne _080E86F2
+ ldr r1, _080E8630 @ =gUnknown_2023FE8
+ ldr r0, [r1]
+ adds r0, 0x97
+ strb r4, [r0]
+ ldr r1, [r1]
+ b _080E86A6
+ .align 2, 0
+_080E8630: .4byte gUnknown_2023FE8
+_080E8634:
+ ldr r1, [r5]
+ adds r1, 0x97
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _080E86F2
+ movs r0, 0x82
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0x4
+ movs r2, 0
+ movs r3, 0x8
+ bl sub_8070588
+ ldr r1, [r5]
+ b _080E86A6
+_080E865A:
+ ldr r0, _080E866C @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080E86F2
+ bl sub_80EB30C
+ b _080E86A2
+ .align 2, 0
+_080E866C: .4byte gUnknown_2037AB8
+_080E8670:
+ adds r0, r2, 0
+ bl sub_80D77F4
+ ldr r0, _080E8680 @ =gUnknown_202298C
+ movs r1, 0x18
+ bl sub_80D87BC
+ b _080E86A2
+ .align 2, 0
+_080E8680: .4byte gUnknown_202298C
+_080E8684:
+ movs r0, 0x18
+ bl sub_8002E64
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _080E86F2
+ movs r0, 0x82
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0x4
+ movs r2, 0x8
+ movs r3, 0
+ bl sub_8070588
+_080E86A2:
+ ldr r0, _080E86B0 @ =gUnknown_2023FE8
+ ldr r1, [r0]
+_080E86A6:
+ adds r1, 0x94
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _080E86F2
+ .align 2, 0
+_080E86B0: .4byte gUnknown_2023FE8
+_080E86B4:
+ ldr r0, _080E86D8 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080E86F2
+ bl sub_80EB524
+ ldr r0, _080E86DC @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ bl sub_80751C4
+ lsls r0, 24
+ cmp r0, 0
+ bne _080E86E0
+ bl sub_80E8A9C
+ b _080E86E4
+ .align 2, 0
+_080E86D8: .4byte gUnknown_2037AB8
+_080E86DC: .4byte gUnknown_2023BC4
+_080E86E0:
+ bl sub_8036530
+_080E86E4:
+ ldr r0, _080E86FC @ =gUnknown_2023E82
+ movs r1, 0
+ strb r1, [r0, 0x7]
+ ldr r0, _080E8700 @ =gUnknown_2023FE8
+ ldr r0, [r0]
+ adds r0, 0x94
+ strb r1, [r0]
+_080E86F2:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E86FC: .4byte gUnknown_2023E82
+_080E8700: .4byte gUnknown_2023FE8
+ thumb_func_end sub_80E85D4
+
+ thumb_func_start sub_80E8704
+sub_80E8704: @ 80E8704
+ push {r4,r5,lr}
+ sub sp, 0x4
+ ldr r1, _080E8724 @ =gUnknown_2023FE8
+ ldr r0, [r1]
+ adds r0, 0x94
+ ldrb r0, [r0]
+ adds r5, r1, 0
+ cmp r0, 0x6
+ bls _080E8718
+ b _080E88AA
+_080E8718:
+ lsls r0, 2
+ ldr r1, _080E8728 @ =_080E872C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080E8724: .4byte gUnknown_2023FE8
+_080E8728: .4byte _080E872C
+ .align 2, 0
+_080E872C:
+ .4byte _080E8748
+ .4byte _080E8788
+ .4byte _080E87D0
+ .4byte _080E87E8
+ .4byte _080E8800
+ .4byte _080E8848
+ .4byte _080E8880
+_080E8748:
+ ldr r0, _080E8780 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ beq _080E875A
+ b _080E88AA
+_080E875A:
+ ldr r1, [r5]
+ adds r0, r1, 0
+ adds r0, 0x95
+ adds r1, 0x97
+ ldr r2, _080E8784 @ =gUnknown_2023BC4
+ ldrb r2, [r2]
+ bl sub_80EEFC8
+ movs r0, 0x82
+ negs r0, r0
+ str r4, [sp]
+ movs r1, 0x4
+ movs r2, 0
+ movs r3, 0x8
+ bl sub_8070588
+ ldr r1, [r5]
+ b _080E886C
+ .align 2, 0
+_080E8780: .4byte gUnknown_2037AB8
+_080E8784: .4byte gUnknown_2023BC4
+_080E8788:
+ ldr r0, _080E87C8 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r3, r0, 24
+ cmp r3, 0
+ beq _080E879A
+ b _080E88AA
+_080E879A:
+ ldr r2, _080E87CC @ =gUnknown_825E45C
+ ldr r0, [r5]
+ adds r1, r0, 0
+ adds r1, 0x95
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r2
+ adds r0, 0x97
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r2
+ ldr r1, [r1]
+ ldr r0, [r0]
+ orrs r1, r0
+ lsls r0, r1, 16
+ str r3, [sp]
+ movs r1, 0x4
+ movs r2, 0x8
+ movs r3, 0
+ bl sub_8070588
+ ldr r1, [r5]
+ b _080E886C
+ .align 2, 0
+_080E87C8: .4byte gUnknown_2037AB8
+_080E87CC: .4byte gUnknown_825E45C
+_080E87D0:
+ ldr r0, _080E87E4 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080E88AA
+ bl sub_80EB30C
+ b _080E8868
+ .align 2, 0
+_080E87E4: .4byte gUnknown_2037AB8
+_080E87E8:
+ ldr r0, _080E87F8 @ =gUnknown_83FDCD2
+ bl sub_80D77F4
+ ldr r0, _080E87FC @ =gUnknown_202298C
+ movs r1, 0x18
+ bl sub_80D87BC
+ b _080E8868
+ .align 2, 0
+_080E87F8: .4byte gUnknown_83FDCD2
+_080E87FC: .4byte gUnknown_202298C
+_080E8800:
+ movs r0, 0x18
+ bl sub_8002E64
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0
+ bne _080E88AA
+ ldr r2, _080E8840 @ =gUnknown_825E45C
+ ldr r4, _080E8844 @ =gUnknown_2023FE8
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x95
+ ldrb r1, [r1]
+ lsls r1, 2
+ adds r1, r2
+ adds r0, 0x97
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r2
+ ldr r1, [r1]
+ ldr r0, [r0]
+ orrs r1, r0
+ lsls r0, r1, 16
+ str r3, [sp]
+ movs r1, 0x4
+ movs r2, 0
+ movs r3, 0x8
+ bl sub_8070588
+ ldr r1, [r4]
+ b _080E886C
+ .align 2, 0
+_080E8840: .4byte gUnknown_825E45C
+_080E8844: .4byte gUnknown_2023FE8
+_080E8848:
+ ldr r0, _080E8878 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _080E88AA
+ movs r0, 0x82
+ negs r0, r0
+ str r1, [sp]
+ movs r1, 0x4
+ movs r2, 0x8
+ movs r3, 0
+ bl sub_8070588
+_080E8868:
+ ldr r0, _080E887C @ =gUnknown_2023FE8
+ ldr r1, [r0]
+_080E886C:
+ adds r1, 0x94
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _080E88AA
+ .align 2, 0
+_080E8878: .4byte gUnknown_2037AB8
+_080E887C: .4byte gUnknown_2023FE8
+_080E8880:
+ ldr r0, _080E88B4 @ =gUnknown_2037AB8
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _080E88AA
+ bl sub_80EB524
+ ldr r0, _080E88B8 @ =gUnknown_203AD30
+ ldrh r1, [r0]
+ movs r0, 0x1
+ bl sub_800E8AC
+ bl sub_80E8A9C
+ ldr r0, _080E88BC @ =gUnknown_2023FE8
+ ldr r0, [r0]
+ adds r0, 0x94
+ strb r4, [r0]
+_080E88AA:
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E88B4: .4byte gUnknown_2037AB8
+_080E88B8: .4byte gUnknown_203AD30
+_080E88BC: .4byte gUnknown_2023FE8
+ thumb_func_end sub_80E8704
+
+ thumb_func_start sub_80E88C0
+sub_80E88C0: @ 80E88C0
+ push {r4-r6,lr}
+ ldr r5, _080E8900 @ =gUnknown_2023BC4
+ ldrb r0, [r5]
+ ldr r6, _080E8904 @ =gUnknown_3004FF0
+ adds r1, r0, r6
+ ldrb r1, [r1]
+ movs r2, 0
+ movs r3, 0
+ bl sub_8049FD8
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ ldrb r0, [r5]
+ adds r0, r6
+ ldrb r0, [r0]
+ bl sub_80481D4
+ lsls r4, 16
+ asrs r1, r4, 16
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _080E8908
+ ldrb r0, [r5]
+ adds r0, r6
+ ldrb r0, [r0]
+ movs r2, 0
+ bl sub_8048440
+ b _080E8922
+ .align 2, 0
+_080E8900: .4byte gUnknown_2023BC4
+_080E8904: .4byte gUnknown_3004FF0
+_080E8908:
+ ldr r2, _080E8928 @ =gUnknown_2023BCE
+ ldrb r1, [r5]
+ lsls r0, r1, 1
+ adds r0, r2
+ ldrh r2, [r0]
+ movs r0, 0x64
+ muls r0, r2
+ ldr r2, _080E892C @ =gUnknown_2024284
+ adds r0, r2
+ bl sub_8035244
+ bl sub_80E8A9C
+_080E8922:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E8928: .4byte gUnknown_2023BCE
+_080E892C: .4byte gUnknown_2024284
+ thumb_func_end sub_80E88C0
+
+ thumb_func_start sub_80E8930
+sub_80E8930: @ 80E8930
+ push {lr}
+ movs r0, 0
+ bl sub_8002E64
+ lsls r0, 16
+ cmp r0, 0
+ bne _080E8942
+ bl sub_80E8A9C
+_080E8942:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E8930
+
+ thumb_func_start sub_80E8948
+sub_80E8948: @ 80E8948
+ push {r4,lr}
+ ldr r1, _080E8984 @ =gUnknown_2023D44
+ ldr r0, _080E8988 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r1, [r0]
+ ldr r2, _080E898C @ =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 _080E8994
+ 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, _080E8990 @ =gUnknown_2024005
+ strb r3, [r0]
+ bl sub_80E8A9C
+ b _080E89BE
+ .align 2, 0
+_080E8984: .4byte gUnknown_2023D44
+_080E8988: .4byte gUnknown_2023BC4
+_080E898C: .4byte gUnknown_202063C
+_080E8990: .4byte gUnknown_2024005
+_080E8994:
+ ldrh r0, [r4, 0x30]
+ movs r1, 0x3
+ ands r0, r1
+ cmp r0, 0
+ bne _080E89B8
+ 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]
+_080E89B8:
+ ldrh r0, [r4, 0x30]
+ adds r0, 0x1
+ strh r0, [r4, 0x30]
+_080E89BE:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E8948
+
+ thumb_func_start sub_80E89C4
+sub_80E89C4: @ 80E89C4
+ push {r4-r6,lr}
+ ldr r0, _080E8A20 @ =gUnknown_2024018
+ ldr r0, [r0]
+ ldr r6, _080E8A24 @ =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 _080E8A18
+ ldr r5, _080E8A28 @ =gUnknown_2023D44
+ adds r0, r2, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, _080E8A2C @ =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
+ ldr r1, _080E8A30 @ =gUnknown_3004FF0
+ ldrb r0, [r6]
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_8048188
+ bl sub_80E8A9C
+_080E8A18:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E8A20: .4byte gUnknown_2024018
+_080E8A24: .4byte gUnknown_2023BC4
+_080E8A28: .4byte gUnknown_2023D44
+_080E8A2C: .4byte gUnknown_202063C
+_080E8A30: .4byte gUnknown_3004FF0
+ thumb_func_end sub_80E89C4
+
+ thumb_func_start sub_80E8A34
+sub_80E8A34: @ 80E8A34
+ push {lr}
+ ldr r2, _080E8A5C @ =gUnknown_202063C
+ ldr r1, _080E8A60 @ =gUnknown_2023D44
+ ldr r0, _080E8A64 @ =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, _080E8A68 @ =nullsub_8
+ cmp r1, r0
+ bne _080E8A58
+ bl sub_80E8A9C
+_080E8A58:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E8A5C: .4byte gUnknown_202063C
+_080E8A60: .4byte gUnknown_2023D44
+_080E8A64: .4byte gUnknown_2023BC4
+_080E8A68: .4byte nullsub_8
+ thumb_func_end sub_80E8A34
+
+ thumb_func_start sub_80E8A6C
+sub_80E8A6C: @ 80E8A6C
+ push {lr}
+ ldr r0, _080E8A94 @ =gUnknown_2024018
+ ldr r2, [r0]
+ ldr r0, _080E8A98 @ =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 _080E8A8E
+ bl sub_80E8A9C
+_080E8A8E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E8A94: .4byte gUnknown_2024018
+_080E8A98: .4byte gUnknown_2023BC4
+ thumb_func_end sub_80E8A6C
+
+ thumb_func_start sub_80E8A9C
+sub_80E8A9C: @ 80E8A9C
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r1, _080E8ADC @ =gUnknown_3004FE0
+ ldr r4, _080E8AE0 @ =gUnknown_2023BC4
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080E8AE4 @ =sub_80E75EC
+ str r1, [r0]
+ ldr r0, _080E8AE8 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080E8AF0
+ bl sub_800A404
+ mov r1, sp
+ strb r0, [r1]
+ movs r0, 0x2
+ movs r1, 0x4
+ mov r2, sp
+ bl sub_800D9EC
+ ldr r1, _080E8AEC @ =gUnknown_2022BC4
+ ldrb r0, [r4]
+ lsls r0, 9
+ adds r0, r1
+ movs r1, 0x38
+ strb r1, [r0]
+ b _080E8B02
+ .align 2, 0
+_080E8ADC: .4byte gUnknown_3004FE0
+_080E8AE0: .4byte gUnknown_2023BC4
+_080E8AE4: .4byte sub_80E75EC
+_080E8AE8: .4byte gUnknown_2022B4C
+_080E8AEC: .4byte gUnknown_2022BC4
+_080E8AF0:
+ ldr r2, _080E8B0C @ =gUnknown_2023BC8
+ ldr r1, _080E8B10 @ =gUnknown_825E45C
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, [r0]
+ ldr r0, [r2]
+ bics r0, r1
+ str r0, [r2]
+_080E8B02:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E8B0C: .4byte gUnknown_2023BC8
+_080E8B10: .4byte gUnknown_825E45C
+ thumb_func_end sub_80E8A9C
+
+ thumb_func_start sub_80E8B14
+sub_80E8B14: @ 80E8B14
+ push {lr}
+ ldr r0, _080E8B3C @ =gUnknown_2024018
+ ldr r2, [r0]
+ ldr r0, _080E8B40 @ =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 _080E8B36
+ bl sub_80E8A9C
+_080E8B36:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E8B3C: .4byte gUnknown_2024018
+_080E8B40: .4byte gUnknown_2023BC4
+ thumb_func_end sub_80E8B14
+
+ thumb_func_start sub_80E8B44
+sub_80E8B44: @ 80E8B44
+ push {r4-r6,lr}
+ sub sp, 0x100
+ movs r6, 0
+ ldr r1, _080E8B70 @ =gUnknown_2022BC4
+ ldr r0, _080E8B74 @ =gUnknown_2023BC4
+ ldrb r2, [r0]
+ lsls r0, r2, 9
+ adds r1, 0x2
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _080E8B7C
+ ldr r0, _080E8B78 @ =gUnknown_2023BCE
+ lsls r1, r2, 1
+ adds r1, r0
+ ldrb r0, [r1]
+ mov r1, sp
+ bl sub_80E8BB8
+ adds r6, r0, 0
+ b _080E8B9E
+ .align 2, 0
+_080E8B70: .4byte gUnknown_2022BC4
+_080E8B74: .4byte gUnknown_2023BC4
+_080E8B78: .4byte gUnknown_2023BCE
+_080E8B7C:
+ ldrb r4, [r1]
+ movs r5, 0
+_080E8B80:
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _080E8B96
+ lsls r0, r5, 24
+ lsrs r0, 24
+ mov r2, sp
+ adds r1, r2, r6
+ bl sub_80E8BB8
+ adds r6, r0
+_080E8B96:
+ lsrs r4, 1
+ adds r5, 0x1
+ cmp r5, 0x5
+ ble _080E8B80
+_080E8B9E:
+ lsls r1, r6, 16
+ lsrs r1, 16
+ movs r0, 0x1
+ mov r2, sp
+ bl sub_800E708
+ bl sub_80E8A9C
+ add sp, 0x100
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E8B44
+
+ thumb_func_start sub_80E8BB8
+sub_80E8BB8: @ 80E8BB8
+ 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, _080E8BEC @ =gUnknown_2022BC4
+ ldr r3, _080E8BF0 @ =gUnknown_2023BC4
+ ldrb r0, [r3]
+ lsls r0, 9
+ adds r1, r2, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0x3B
+ bls _080E8BE2
+ bl _080E934E
+_080E8BE2:
+ lsls r0, 2
+ ldr r1, _080E8BF4 @ =_080E8BF8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080E8BEC: .4byte gUnknown_2022BC4
+_080E8BF0: .4byte gUnknown_2023BC4
+_080E8BF4: .4byte _080E8BF8
+ .align 2, 0
+_080E8BF8:
+ .4byte _080E8CE8
+ .4byte _080E8F0C
+ .4byte _080E8F1C
+ .4byte _080E8F2C
+ .4byte _080E8F94
+ .4byte _080E8F94
+ .4byte _080E8F94
+ .4byte _080E8F94
+ .4byte _080E8FB0
+ .4byte _080E8FEC
+ .4byte _080E8FEC
+ .4byte _080E8FEC
+ .4byte _080E8FEC
+ .4byte _080E934E
+ .4byte _080E934E
+ .4byte _080E934E
+ .4byte _080E934E
+ .4byte _080E9008
+ .4byte _080E9018
+ .4byte _080E9048
+ .4byte _080E9058
+ .4byte _080E9068
+ .4byte _080E9078
+ .4byte _080E9088
+ .4byte _080E9098
+ .4byte _080E90A8
+ .4byte _080E90B8
+ .4byte _080E90C8
+ .4byte _080E90D8
+ .4byte _080E90E8
+ .4byte _080E90F8
+ .4byte _080E9108
+ .4byte _080E9158
+ .4byte _080E9168
+ .4byte _080E9178
+ .4byte _080E9188
+ .4byte _080E9198
+ .4byte _080E91A8
+ .4byte _080E91B8
+ .4byte _080E91C8
+ .4byte _080E91D8
+ .4byte _080E920C
+ .4byte _080E921C
+ .4byte _080E922C
+ .4byte _080E923C
+ .4byte _080E924C
+ .4byte _080E925C
+ .4byte _080E926C
+ .4byte _080E927C
+ .4byte _080E929C
+ .4byte _080E92AC
+ .4byte _080E92BC
+ .4byte _080E92CC
+ .4byte _080E92DC
+ .4byte _080E92EC
+ .4byte _080E92FC
+ .4byte _080E930C
+ .4byte _080E931C
+ .4byte _080E932C
+ .4byte _080E933C
+_080E8CE8:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _080E8EFC @ =gUnknown_2024284
+ 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
+_080E8D34:
+ 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 _080E8D34
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _080E8EFC @ =gUnknown_2024284
+ 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, _080E8F00 @ =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, _080E8F04 @ =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, _080E8F08 @ =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
+_080E8EEC:
+ adds r0, r7, r6
+ adds r1, r2, r6
+ ldrb r1, [r1]
+ strb r1, [r0]
+ adds r6, 0x1
+ cmp r6, 0x57
+ bls _080E8EEC
+ b _080E934E
+ .align 2, 0
+_080E8EFC: .4byte gUnknown_2024284
+_080E8F00: .4byte 0xfffffc1f
+_080E8F04: .4byte 0xfff07fff
+_080E8F08: .4byte 0xfffffe0f
+_080E8F0C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E8F18 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0xB
+ b _080E9286
+ .align 2, 0
+_080E8F18: .4byte gUnknown_2024284
+_080E8F1C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E8F28 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0xC
+ b _080E9286
+ .align 2, 0
+_080E8F28: .4byte gUnknown_2024284
+_080E8F2C:
+ 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, _080E8F90 @ =gUnknown_2024284
+ adds r4, r1, r0
+ mov r8, r9
+_080E8F42:
+ 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 _080E8F42
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E8F90 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x15
+ bl sub_803FBE8
+ mov r1, r9
+ strb r0, [r1, 0xC]
+ mov r2, r9
+ movs r6, 0
+_080E8F80:
+ adds r0, r7, r6
+ adds r1, r2, r6
+ ldrb r1, [r1]
+ strb r1, [r0]
+ adds r6, 0x1
+ cmp r6, 0xF
+ bls _080E8F80
+ b _080E934E
+ .align 2, 0
+_080E8F90: .4byte gUnknown_2024284
+_080E8F94:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E8FAC @ =gUnknown_2024284
+ adds r0, r1
+ ldrb r1, [r3]
+ lsls r1, 9
+ adds r2, 0x1
+ adds r1, r2
+ ldrb r1, [r1]
+ adds r1, 0x9
+ b _080E9286
+ .align 2, 0
+_080E8FAC: .4byte gUnknown_2024284
+_080E8FB0:
+ movs r6, 0
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r2, _080E8FE8 @ =gUnknown_2024284
+ mov r8, r2
+_080E8FBC:
+ 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 _080E8FBC
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E8FE8 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x15
+ bl sub_803FBE8
+ adds r1, r7, r6
+ strb r0, [r1]
+ adds r6, 0x1
+ b _080E934E
+ .align 2, 0
+_080E8FE8: .4byte gUnknown_2024284
+_080E8FEC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9004 @ =gUnknown_2024284
+ adds r0, r1
+ ldrb r1, [r3]
+ lsls r1, 9
+ adds r2, 0x1
+ adds r1, r2
+ ldrb r1, [r1]
+ adds r1, 0x8
+ b _080E9346
+ .align 2, 0
+_080E9004: .4byte gUnknown_2024284
+_080E9008:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9014 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x1
+ b _080E9022
+ .align 2, 0
+_080E9014: .4byte gUnknown_2024284
+_080E9018:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9044 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x19
+_080E9022:
+ 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 _080E934E
+ .align 2, 0
+_080E9044: .4byte gUnknown_2024284
+_080E9048:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9054 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x1A
+ b _080E9346
+ .align 2, 0
+_080E9054: .4byte gUnknown_2024284
+_080E9058:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9064 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x1B
+ b _080E9346
+ .align 2, 0
+_080E9064: .4byte gUnknown_2024284
+_080E9068:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9074 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x1C
+ b _080E9346
+ .align 2, 0
+_080E9074: .4byte gUnknown_2024284
+_080E9078:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9084 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x1D
+ b _080E9346
+ .align 2, 0
+_080E9084: .4byte gUnknown_2024284
+_080E9088:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9094 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x1E
+ b _080E9346
+ .align 2, 0
+_080E9094: .4byte gUnknown_2024284
+_080E9098:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E90A4 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x1F
+ b _080E9346
+ .align 2, 0
+_080E90A4: .4byte gUnknown_2024284
+_080E90A8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E90B4 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x20
+ b _080E9346
+ .align 2, 0
+_080E90B4: .4byte gUnknown_2024284
+_080E90B8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E90C4 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x22
+ b _080E9346
+ .align 2, 0
+_080E90C4: .4byte gUnknown_2024284
+_080E90C8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E90D4 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x23
+ b _080E9346
+ .align 2, 0
+_080E90D4: .4byte gUnknown_2024284
+_080E90D8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E90E4 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x24
+ b _080E9346
+ .align 2, 0
+_080E90E4: .4byte gUnknown_2024284
+_080E90E8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E90F4 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x25
+ b _080E9346
+ .align 2, 0
+_080E90F4: .4byte gUnknown_2024284
+_080E90F8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9104 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x26
+ b _080E9346
+ .align 2, 0
+_080E9104: .4byte gUnknown_2024284
+_080E9108:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _080E9154 @ =gUnknown_2024284
+ 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 _080E934E
+ .align 2, 0
+_080E9154: .4byte gUnknown_2024284
+_080E9158:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9164 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x27
+ b _080E9346
+ .align 2, 0
+_080E9164: .4byte gUnknown_2024284
+_080E9168:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9174 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x28
+ b _080E9346
+ .align 2, 0
+_080E9174: .4byte gUnknown_2024284
+_080E9178:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9184 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x29
+ b _080E9346
+ .align 2, 0
+_080E9184: .4byte gUnknown_2024284
+_080E9188:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9194 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x2A
+ b _080E9346
+ .align 2, 0
+_080E9194: .4byte gUnknown_2024284
+_080E9198:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E91A4 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x2B
+ b _080E9346
+ .align 2, 0
+_080E91A4: .4byte gUnknown_2024284
+_080E91A8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E91B4 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x2C
+ b _080E9346
+ .align 2, 0
+_080E91B4: .4byte gUnknown_2024284
+_080E91B8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E91C4 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0
+ b _080E91E2
+ .align 2, 0
+_080E91C4: .4byte gUnknown_2024284
+_080E91C8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E91D4 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x9
+ b _080E9286
+ .align 2, 0
+_080E91D4: .4byte gUnknown_2024284
+_080E91D8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9208 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x37
+_080E91E2:
+ 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 _080E934E
+ .align 2, 0
+_080E9208: .4byte gUnknown_2024284
+_080E920C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9218 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x38
+ b _080E9346
+ .align 2, 0
+_080E9218: .4byte gUnknown_2024284
+_080E921C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9228 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x39
+ b _080E9286
+ .align 2, 0
+_080E9228: .4byte gUnknown_2024284
+_080E922C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9238 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x3A
+ b _080E9286
+ .align 2, 0
+_080E9238: .4byte gUnknown_2024284
+_080E923C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9248 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x3B
+ b _080E9286
+ .align 2, 0
+_080E9248: .4byte gUnknown_2024284
+_080E924C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9258 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x3C
+ b _080E9286
+ .align 2, 0
+_080E9258: .4byte gUnknown_2024284
+_080E925C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9268 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x3D
+ b _080E9286
+ .align 2, 0
+_080E9268: .4byte gUnknown_2024284
+_080E926C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9278 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x3E
+ b _080E9286
+ .align 2, 0
+_080E9278: .4byte gUnknown_2024284
+_080E927C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9298 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x3F
+_080E9286:
+ bl sub_803FBE8
+ lsls r0, 16
+ lsrs r0, 16
+ strb r0, [r7]
+ lsrs r0, 8
+ strb r0, [r7, 0x1]
+ movs r6, 0x2
+ b _080E934E
+ .align 2, 0
+_080E9298: .4byte gUnknown_2024284
+_080E929C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E92A8 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x16
+ b _080E9346
+ .align 2, 0
+_080E92A8: .4byte gUnknown_2024284
+_080E92AC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E92B8 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x17
+ b _080E9346
+ .align 2, 0
+_080E92B8: .4byte gUnknown_2024284
+_080E92BC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E92C8 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x18
+ b _080E9346
+ .align 2, 0
+_080E92C8: .4byte gUnknown_2024284
+_080E92CC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E92D8 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x21
+ b _080E9346
+ .align 2, 0
+_080E92D8: .4byte gUnknown_2024284
+_080E92DC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E92E8 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x2F
+ b _080E9346
+ .align 2, 0
+_080E92E8: .4byte gUnknown_2024284
+_080E92EC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E92F8 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x30
+ b _080E9346
+ .align 2, 0
+_080E92F8: .4byte gUnknown_2024284
+_080E92FC:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9308 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x32
+ b _080E9346
+ .align 2, 0
+_080E9308: .4byte gUnknown_2024284
+_080E930C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9318 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x33
+ b _080E9346
+ .align 2, 0
+_080E9318: .4byte gUnknown_2024284
+_080E931C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9328 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x34
+ b _080E9346
+ .align 2, 0
+_080E9328: .4byte gUnknown_2024284
+_080E932C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9338 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x35
+ b _080E9346
+ .align 2, 0
+_080E9338: .4byte gUnknown_2024284
+_080E933C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9360 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x36
+_080E9346:
+ bl sub_803FBE8
+ strb r0, [r7]
+ movs r6, 0x1
+_080E934E:
+ 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
+_080E9360: .4byte gUnknown_2024284
+ thumb_func_end sub_80E8BB8
+
+ thumb_func_start sub_80E9364
+sub_80E9364: @ 80E9364
+ push {lr}
+ bl sub_80313B0
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E9364
+
+ thumb_func_start sub_80E9370
+sub_80E9370: @ 80E9370
+ push {r4,r5,lr}
+ ldr r1, _080E9394 @ =gUnknown_2022BC4
+ ldr r0, _080E9398 @ =gUnknown_2023BC4
+ ldrb r2, [r0]
+ lsls r0, r2, 9
+ adds r1, 0x2
+ adds r1, r0, r1
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _080E93A0
+ ldr r0, _080E939C @ =gUnknown_2023BCE
+ lsls r1, r2, 1
+ adds r1, r0
+ ldrb r0, [r1]
+ bl sub_80E93C8
+ b _080E93BE
+ .align 2, 0
+_080E9394: .4byte gUnknown_2022BC4
+_080E9398: .4byte gUnknown_2023BC4
+_080E939C: .4byte gUnknown_2023BCE
+_080E93A0:
+ ldrb r4, [r1]
+ movs r5, 0
+_080E93A4:
+ movs r0, 0x1
+ ands r0, r4
+ cmp r0, 0
+ beq _080E93B2
+ adds r0, r5, 0
+ bl sub_80E93C8
+_080E93B2:
+ lsrs r4, 1
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, 0x5
+ bls _080E93A4
+_080E93BE:
+ bl sub_80E8A9C
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E9370
+
+ thumb_func_start sub_80E93C8
+sub_80E93C8: @ 80E93C8
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x34
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r0, _080E9400 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 9
+ ldr r2, _080E9404 @ =gUnknown_2022BC7
+ adds r3, r0, r2
+ adds r6, r3, 0
+ subs r1, r2, 0x2
+ adds r0, r1
+ ldrb r0, [r0]
+ adds r7, r2, 0
+ cmp r0, 0x3B
+ bls _080E93F4
+ bl _080E9D8E
+_080E93F4:
+ lsls r0, 2
+ ldr r1, _080E9408 @ =_080E940C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080E9400: .4byte gUnknown_2023BC4
+_080E9404: .4byte gUnknown_2022BC7
+_080E9408: .4byte _080E940C
+ .align 2, 0
+_080E940C:
+ .4byte _080E94FC
+ .4byte _080E9694
+ .4byte _080E96B4
+ .4byte _080E96D4
+ .4byte _080E972C
+ .4byte _080E972C
+ .4byte _080E972C
+ .4byte _080E972C
+ .4byte _080E9754
+ .4byte _080E97B8
+ .4byte _080E97B8
+ .4byte _080E97B8
+ .4byte _080E97B8
+ .4byte _080E9D8E
+ .4byte _080E9D8E
+ .4byte _080E9D8E
+ .4byte _080E9D8E
+ .4byte _080E97E8
+ .4byte _080E9808
+ .4byte _080E9828
+ .4byte _080E9848
+ .4byte _080E9868
+ .4byte _080E9888
+ .4byte _080E98A8
+ .4byte _080E98C8
+ .4byte _080E98E8
+ .4byte _080E9908
+ .4byte _080E9928
+ .4byte _080E9948
+ .4byte _080E9968
+ .4byte _080E9988
+ .4byte _080E99A8
+ .4byte _080E9A18
+ .4byte _080E9A38
+ .4byte _080E9A58
+ .4byte _080E9A78
+ .4byte _080E9A98
+ .4byte _080E9AB8
+ .4byte _080E9AD8
+ .4byte _080E9AF8
+ .4byte _080E9B18
+ .4byte _080E9B38
+ .4byte _080E9B58
+ .4byte _080E9B78
+ .4byte _080E9B98
+ .4byte _080E9BB8
+ .4byte _080E9BD8
+ .4byte _080E9BF8
+ .4byte _080E9C18
+ .4byte _080E9C38
+ .4byte _080E9C58
+ .4byte _080E9C78
+ .4byte _080E9C98
+ .4byte _080E9CB8
+ .4byte _080E9CD8
+ .4byte _080E9CF8
+ .4byte _080E9D18
+ .4byte _080E9D38
+ .4byte _080E9D58
+ .4byte _080E9D78
+_080E94FC:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _080E9690 @ =gUnknown_2024284
+ adds r4, r0
+ adds r0, r4, 0
+ movs r1, 0xB
+ adds r2, r6, 0
+ bl sub_804037C
+ adds r2, r6, 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, r6
+ mov r10, r0
+ adds r0, r6, 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, r6, 0x2
+ str r0, [sp, 0x4]
+ adds r0, r6, 0x4
+ str r0, [sp, 0x8]
+ adds r0, r6, 0x6
+ str r0, [sp, 0xC]
+ adds r0, 0x2
+ str r0, [sp, 0x10]
+ adds r0, 0x2
+ str r0, [sp, 0x14]
+ mov r9, r4
+ adds r7, r6, 0
+ adds r7, 0x24
+ adds r4, r6, 0
+ adds r4, 0xC
+_080E9562:
+ 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, r7, 0
+ bl sub_804037C
+ adds r7, 0x1
+ adds r4, 0x2
+ movs r0, 0x1
+ add r8, r0
+ mov r0, r8
+ cmp r0, 0x3
+ ble _080E9562
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _080E9690 @ =gUnknown_2024284
+ 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, [r6, 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, [r6, 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, [r6, 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, [r6, 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, [r6, 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, [r6, 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 _080E9D8E
+ .align 2, 0
+_080E9690: .4byte gUnknown_2024284
+_080E9694:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E96AC @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E96B0 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0xB
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E96AC: .4byte gUnknown_2024284
+_080E96B0: .4byte gUnknown_2023BC4
+_080E96B4:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E96CC @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E96D0 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0xC
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E96CC: .4byte gUnknown_2024284
+_080E96D0: .4byte gUnknown_2023BC4
+_080E96D4:
+ movs r0, 0
+ mov r8, r0
+ movs r0, 0xC
+ adds r0, r3
+ mov r9, r0
+ movs r0, 0x64
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, _080E9728 @ =gUnknown_2024284
+ adds r7, r1, r0
+ adds r6, r3, 0
+ adds r6, 0x8
+ adds r4, r3, 0
+_080E96EE:
+ 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 _080E96EE
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9728 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x15
+ mov r2, r9
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9728: .4byte gUnknown_2024284
+_080E972C:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9748 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r3, _080E974C @ =gUnknown_2022BC4
+ ldr r1, _080E9750 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r1, r3, 0x1
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ adds r1, 0x9
+ b _080E97D0
+ .align 2, 0
+_080E9748: .4byte gUnknown_2024284
+_080E974C: .4byte gUnknown_2022BC4
+_080E9750: .4byte gUnknown_2023BC4
+_080E9754:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _080E97B0 @ =gUnknown_2024284
+ adds r4, r0
+ ldr r5, _080E97B4 @ =gUnknown_2023BC4
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r2, r7
+ adds r0, r4, 0
+ movs r1, 0x11
+ bl sub_804037C
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x1
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x12
+ bl sub_804037C
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x2
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x13
+ bl sub_804037C
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x3
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x14
+ bl sub_804037C
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x4
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x15
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E97B0: .4byte gUnknown_2024284
+_080E97B4: .4byte gUnknown_2023BC4
+_080E97B8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E97DC @ =gUnknown_2024284
+ adds r0, r1
+ ldr r3, _080E97E0 @ =gUnknown_2022BC4
+ ldr r1, _080E97E4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r1, r3, 0x1
+ adds r1, r2, r1
+ ldrb r1, [r1]
+ adds r1, 0x8
+_080E97D0:
+ adds r3, 0x3
+ adds r2, r3
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E97DC: .4byte gUnknown_2024284
+_080E97E0: .4byte gUnknown_2022BC4
+_080E97E4: .4byte gUnknown_2023BC4
+_080E97E8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9800 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9804 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9800: .4byte gUnknown_2024284
+_080E9804: .4byte gUnknown_2023BC4
+_080E9808:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9820 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9824 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x19
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9820: .4byte gUnknown_2024284
+_080E9824: .4byte gUnknown_2023BC4
+_080E9828:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9840 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9844 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1A
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9840: .4byte gUnknown_2024284
+_080E9844: .4byte gUnknown_2023BC4
+_080E9848:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9860 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9864 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1B
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9860: .4byte gUnknown_2024284
+_080E9864: .4byte gUnknown_2023BC4
+_080E9868:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9880 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9884 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1C
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9880: .4byte gUnknown_2024284
+_080E9884: .4byte gUnknown_2023BC4
+_080E9888:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E98A0 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E98A4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1D
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E98A0: .4byte gUnknown_2024284
+_080E98A4: .4byte gUnknown_2023BC4
+_080E98A8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E98C0 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E98C4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1E
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E98C0: .4byte gUnknown_2024284
+_080E98C4: .4byte gUnknown_2023BC4
+_080E98C8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E98E0 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E98E4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x1F
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E98E0: .4byte gUnknown_2024284
+_080E98E4: .4byte gUnknown_2023BC4
+_080E98E8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9900 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9904 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x20
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9900: .4byte gUnknown_2024284
+_080E9904: .4byte gUnknown_2023BC4
+_080E9908:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9920 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9924 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x22
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9920: .4byte gUnknown_2024284
+_080E9924: .4byte gUnknown_2023BC4
+_080E9928:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9940 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9944 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x23
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9940: .4byte gUnknown_2024284
+_080E9944: .4byte gUnknown_2023BC4
+_080E9948:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9960 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9964 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x24
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9960: .4byte gUnknown_2024284
+_080E9964: .4byte gUnknown_2023BC4
+_080E9968:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9980 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9984 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x25
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9980: .4byte gUnknown_2024284
+_080E9984: .4byte gUnknown_2023BC4
+_080E9988:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E99A0 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E99A4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x26
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E99A0: .4byte gUnknown_2024284
+_080E99A4: .4byte gUnknown_2023BC4
+_080E99A8:
+ movs r0, 0x64
+ adds r4, r5, 0
+ muls r4, r0
+ ldr r0, _080E9A10 @ =gUnknown_2024284
+ adds r4, r0
+ ldr r5, _080E9A14 @ =gUnknown_2023BC4
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r2, r7
+ adds r0, r4, 0
+ movs r1, 0x27
+ bl sub_804037C
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x1
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x28
+ bl sub_804037C
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x2
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x29
+ bl sub_804037C
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x3
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x2A
+ bl sub_804037C
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x4
+ adds r2, r0
+ adds r0, r4, 0
+ movs r1, 0x2B
+ bl sub_804037C
+ ldrb r2, [r5]
+ lsls r2, 9
+ adds r0, r7, 0x5
+ adds r2, r0
+ adds r0, r4, 0
+ b _080E9AC8
+ .align 2, 0
+_080E9A10: .4byte gUnknown_2024284
+_080E9A14: .4byte gUnknown_2023BC4
+_080E9A18:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9A30 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9A34 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x27
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9A30: .4byte gUnknown_2024284
+_080E9A34: .4byte gUnknown_2023BC4
+_080E9A38:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9A50 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9A54 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x28
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9A50: .4byte gUnknown_2024284
+_080E9A54: .4byte gUnknown_2023BC4
+_080E9A58:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9A70 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9A74 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x29
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9A70: .4byte gUnknown_2024284
+_080E9A74: .4byte gUnknown_2023BC4
+_080E9A78:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9A90 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9A94 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x2A
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9A90: .4byte gUnknown_2024284
+_080E9A94: .4byte gUnknown_2023BC4
+_080E9A98:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9AB0 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9AB4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x2B
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9AB0: .4byte gUnknown_2024284
+_080E9AB4: .4byte gUnknown_2023BC4
+_080E9AB8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9AD0 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9AD4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+_080E9AC8:
+ movs r1, 0x2C
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9AD0: .4byte gUnknown_2024284
+_080E9AD4: .4byte gUnknown_2023BC4
+_080E9AD8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9AF0 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9AF4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9AF0: .4byte gUnknown_2024284
+_080E9AF4: .4byte gUnknown_2023BC4
+_080E9AF8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9B10 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9B14 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x9
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9B10: .4byte gUnknown_2024284
+_080E9B14: .4byte gUnknown_2023BC4
+_080E9B18:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9B30 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9B34 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x37
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9B30: .4byte gUnknown_2024284
+_080E9B34: .4byte gUnknown_2023BC4
+_080E9B38:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9B50 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9B54 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x38
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9B50: .4byte gUnknown_2024284
+_080E9B54: .4byte gUnknown_2023BC4
+_080E9B58:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9B70 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9B74 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x39
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9B70: .4byte gUnknown_2024284
+_080E9B74: .4byte gUnknown_2023BC4
+_080E9B78:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9B90 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9B94 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x3A
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9B90: .4byte gUnknown_2024284
+_080E9B94: .4byte gUnknown_2023BC4
+_080E9B98:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9BB0 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9BB4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x3B
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9BB0: .4byte gUnknown_2024284
+_080E9BB4: .4byte gUnknown_2023BC4
+_080E9BB8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9BD0 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9BD4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x3C
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9BD0: .4byte gUnknown_2024284
+_080E9BD4: .4byte gUnknown_2023BC4
+_080E9BD8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9BF0 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9BF4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x3D
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9BF0: .4byte gUnknown_2024284
+_080E9BF4: .4byte gUnknown_2023BC4
+_080E9BF8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9C10 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9C14 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x3E
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9C10: .4byte gUnknown_2024284
+_080E9C14: .4byte gUnknown_2023BC4
+_080E9C18:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9C30 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9C34 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x3F
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9C30: .4byte gUnknown_2024284
+_080E9C34: .4byte gUnknown_2023BC4
+_080E9C38:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9C50 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9C54 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x16
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9C50: .4byte gUnknown_2024284
+_080E9C54: .4byte gUnknown_2023BC4
+_080E9C58:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9C70 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9C74 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x17
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9C70: .4byte gUnknown_2024284
+_080E9C74: .4byte gUnknown_2023BC4
+_080E9C78:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9C90 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9C94 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x18
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9C90: .4byte gUnknown_2024284
+_080E9C94: .4byte gUnknown_2023BC4
+_080E9C98:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9CB0 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9CB4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x21
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9CB0: .4byte gUnknown_2024284
+_080E9CB4: .4byte gUnknown_2023BC4
+_080E9CB8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9CD0 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9CD4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x2F
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9CD0: .4byte gUnknown_2024284
+_080E9CD4: .4byte gUnknown_2023BC4
+_080E9CD8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9CF0 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9CF4 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x30
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9CF0: .4byte gUnknown_2024284
+_080E9CF4: .4byte gUnknown_2023BC4
+_080E9CF8:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9D10 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9D14 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x32
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9D10: .4byte gUnknown_2024284
+_080E9D14: .4byte gUnknown_2023BC4
+_080E9D18:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9D30 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9D34 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x33
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9D30: .4byte gUnknown_2024284
+_080E9D34: .4byte gUnknown_2023BC4
+_080E9D38:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9D50 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9D54 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x34
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9D50: .4byte gUnknown_2024284
+_080E9D54: .4byte gUnknown_2023BC4
+_080E9D58:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9D70 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9D74 @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x35
+ bl sub_804037C
+ b _080E9D8E
+ .align 2, 0
+_080E9D70: .4byte gUnknown_2024284
+_080E9D74: .4byte gUnknown_2023BC4
+_080E9D78:
+ movs r0, 0x64
+ muls r0, r5
+ ldr r1, _080E9DB8 @ =gUnknown_2024284
+ adds r0, r1
+ ldr r1, _080E9DBC @ =gUnknown_2023BC4
+ ldrb r2, [r1]
+ lsls r2, 9
+ adds r2, r7
+ movs r1, 0x36
+ bl sub_804037C
+_080E9D8E:
+ ldr r2, _080E9DC0 @ =gUnknown_2023BCE
+ ldr r0, _080E9DBC @ =gUnknown_2023BC4
+ ldrb r1, [r0]
+ lsls r0, r1, 1
+ adds r0, r2
+ ldrh r2, [r0]
+ movs r0, 0x64
+ muls r0, r2
+ ldr r2, _080E9DB8 @ =gUnknown_2024284
+ adds r0, r2
+ bl sub_8035244
+ add sp, 0x34
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E9DB8: .4byte gUnknown_2024284
+_080E9DBC: .4byte gUnknown_2023BC4
+_080E9DC0: .4byte gUnknown_2023BCE
+ thumb_func_end sub_80E93C8
+
+ thumb_func_start sub_80E9DC4
+sub_80E9DC4: @ 80E9DC4
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E9DC4
+
+ thumb_func_start sub_80E9DD0
+sub_80E9DD0: @ 80E9DD0
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E9DD0
+
+ thumb_func_start sub_80E9DDC
+sub_80E9DDC: @ 80E9DDC
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80E9DDC
+
+ thumb_func_start sub_80E9DE8
+sub_80E9DE8: @ 80E9DE8
+ push {r4-r6,lr}
+ ldr r0, _080E9E14 @ =gUnknown_2022BC4
+ ldr r6, _080E9E18 @ =gUnknown_2023BC4
+ ldrb r2, [r6]
+ lsls r1, r2, 9
+ adds r0, 0x1
+ adds r1, r0
+ ldrb r0, [r1]
+ cmp r0, 0
+ bne _080E9E24
+ adds r0, r2, 0
+ adds r1, r2, 0
+ movs r3, 0x1
+ bl sub_80341D8
+ ldr r0, _080E9E1C @ =gUnknown_3004FE0
+ ldrb r1, [r6]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, _080E9E20 @ =sub_80E89C4
+ str r0, [r1]
+ b _080E9E5A
+ .align 2, 0
+_080E9E14: .4byte gUnknown_2022BC4
+_080E9E18: .4byte gUnknown_2023BC4
+_080E9E1C: .4byte gUnknown_3004FE0
+_080E9E20: .4byte sub_80E89C4
+_080E9E24:
+ ldr r5, _080E9E60 @ =gUnknown_2023D44
+ adds r0, r2, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r4, _080E9E64 @ =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
+ ldr r1, _080E9E68 @ =gUnknown_3004FF0
+ ldrb r0, [r6]
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_8048188
+ bl sub_80E8A9C
+_080E9E5A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E9E60: .4byte gUnknown_2023D44
+_080E9E64: .4byte gUnknown_202063C
+_080E9E68: .4byte gUnknown_3004FF0
+ thumb_func_end sub_80E9DE8
+
+ thumb_func_start sub_80E9E6C
+sub_80E9E6C: @ 80E9E6C
+ push {r4-r6,lr}
+ ldr r0, _080E9EC8 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080E9EE0
+ ldr r4, _080E9ECC @ =gUnknown_300500C
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x8]
+ ldr r6, _080E9ED0 @ =gUnknown_2023BC4
+ ldrb r1, [r6]
+ bl sub_8034750
+ ldr r0, [r4]
+ ldrb r5, [r0, 0x8]
+ ldrb r0, [r6]
+ bl sub_80751D8
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r5, 0
+ bl sub_803F864
+ ldr r0, _080E9ED4 @ =gUnknown_20244DC
+ ldr r2, _080E9ED8 @ =gUnknown_8239F8C
+ ldr r1, [r4]
+ ldrb r1, [r1, 0x8]
+ lsls r1, 2
+ adds r1, r2
+ ldrb r1, [r1]
+ movs r2, 0x8
+ subs r2, r1
+ lsls r2, 18
+ movs r1, 0xA0
+ lsls r1, 15
+ adds r2, r1
+ asrs r2, 16
+ movs r1, 0x50
+ movs r3, 0x1E
+ bl sub_8006F8C
+ ldr r2, _080E9EDC @ =gUnknown_2023D44
+ ldrb r1, [r6]
+ b _080E9F1C
+ .align 2, 0
+_080E9EC8: .4byte gUnknown_2022B4C
+_080E9ECC: .4byte gUnknown_300500C
+_080E9ED0: .4byte gUnknown_2023BC4
+_080E9ED4: .4byte gUnknown_20244DC
+_080E9ED8: .4byte gUnknown_8239F8C
+_080E9EDC: .4byte gUnknown_2023D44
+_080E9EE0:
+ ldr r4, _080E9F8C @ =gUnknown_2023BC4
+ ldrb r1, [r4]
+ movs r0, 0x5
+ bl sub_8034750
+ ldrb r0, [r4]
+ bl sub_80751D8
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0x5
+ bl sub_803F864
+ ldr r0, _080E9F90 @ =gUnknown_20244DC
+ ldr r1, _080E9F94 @ =gUnknown_8239F8C
+ ldrb r1, [r1, 0x14]
+ movs r2, 0x8
+ subs r2, r1
+ lsls r2, 18
+ movs r1, 0xA0
+ lsls r1, 15
+ adds r2, r1
+ asrs r2, 16
+ movs r1, 0x50
+ movs r3, 0x1E
+ bl sub_8006F8C
+ ldr r2, _080E9F98 @ =gUnknown_2023D44
+ ldrb r1, [r4]
+_080E9F1C:
+ adds r1, r2
+ strb r0, [r1]
+ ldr r4, _080E9F9C @ =gUnknown_202063C
+ ldr r5, _080E9F98 @ =gUnknown_2023D44
+ ldr r6, _080E9F8C @ =gUnknown_2023BC4
+ ldrb r3, [r6]
+ adds r0, r3, r5
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ lsls r3, 4
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xF
+ ands r0, r2
+ orrs r0, r3
+ strb r0, [r1, 0x5]
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ movs r1, 0xF0
+ strh r1, [r0, 0x24]
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldr r1, _080E9FA0 @ =0x0000fffe
+ strh r1, [r0, 0x2E]
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r4, 0x1C
+ adds r0, r4
+ ldr r1, _080E9FA4 @ =sub_8033EEC
+ str r1, [r0]
+ ldr r1, _080E9FA8 @ =gUnknown_3004FE0
+ ldrb r0, [r6]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080E9FAC @ =sub_80E78E0
+ str r1, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080E9F8C: .4byte gUnknown_2023BC4
+_080E9F90: .4byte gUnknown_20244DC
+_080E9F94: .4byte gUnknown_8239F8C
+_080E9F98: .4byte gUnknown_2023D44
+_080E9F9C: .4byte gUnknown_202063C
+_080E9FA0: .4byte 0x0000fffe
+_080E9FA4: .4byte sub_8033EEC
+_080E9FA8: .4byte gUnknown_3004FE0
+_080E9FAC: .4byte sub_80E78E0
+ thumb_func_end sub_80E9E6C
+
+ thumb_func_start sub_80E9FB0
+sub_80E9FB0: @ 80E9FB0
+ push {r4-r6,lr}
+ ldr r0, _080EA00C @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080EA024
+ ldr r4, _080EA010 @ =gUnknown_300500C
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x8]
+ ldr r6, _080EA014 @ =gUnknown_2023BC4
+ ldrb r1, [r6]
+ bl sub_8034750
+ ldr r0, [r4]
+ ldrb r5, [r0, 0x8]
+ ldrb r0, [r6]
+ bl sub_80751D8
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ adds r0, r5, 0
+ bl sub_803F864
+ ldr r0, _080EA018 @ =gUnknown_20244DC
+ ldr r2, _080EA01C @ =gUnknown_8239F8C
+ ldr r1, [r4]
+ ldrb r1, [r1, 0x8]
+ lsls r1, 2
+ adds r1, r2
+ ldrb r1, [r1]
+ movs r2, 0x8
+ subs r2, r1
+ lsls r2, 18
+ movs r1, 0xA0
+ lsls r1, 15
+ adds r2, r1
+ asrs r2, 16
+ movs r1, 0x50
+ movs r3, 0x1E
+ bl sub_8006F8C
+ ldr r2, _080EA020 @ =gUnknown_2023D44
+ ldrb r1, [r6]
+ b _080EA060
+ .align 2, 0
+_080EA00C: .4byte gUnknown_2022B4C
+_080EA010: .4byte gUnknown_300500C
+_080EA014: .4byte gUnknown_2023BC4
+_080EA018: .4byte gUnknown_20244DC
+_080EA01C: .4byte gUnknown_8239F8C
+_080EA020: .4byte gUnknown_2023D44
+_080EA024:
+ ldr r4, _080EA0D0 @ =gUnknown_2023BC4
+ ldrb r1, [r4]
+ movs r0, 0x5
+ bl sub_8034750
+ ldrb r0, [r4]
+ bl sub_80751D8
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0x5
+ bl sub_803F864
+ ldr r0, _080EA0D4 @ =gUnknown_20244DC
+ ldr r1, _080EA0D8 @ =gUnknown_8239F8C
+ ldrb r1, [r1, 0x14]
+ movs r2, 0x8
+ subs r2, r1
+ lsls r2, 18
+ movs r1, 0xA0
+ lsls r1, 15
+ adds r2, r1
+ asrs r2, 16
+ movs r1, 0x50
+ movs r3, 0x1E
+ bl sub_8006F8C
+ ldr r2, _080EA0DC @ =gUnknown_2023D44
+ ldrb r1, [r4]
+_080EA060:
+ adds r1, r2
+ strb r0, [r1]
+ ldr r4, _080EA0E0 @ =gUnknown_202063C
+ ldr r5, _080EA0DC @ =gUnknown_2023D44
+ ldr r6, _080EA0D0 @ =gUnknown_2023BC4
+ ldrb r3, [r6]
+ adds r0, r3, r5
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ lsls r3, 4
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xF
+ ands r0, r2
+ orrs r0, r3
+ strb r0, [r1, 0x5]
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r4
+ ldr r1, _080EA0E4 @ =0x0000ffa0
+ strh r1, [r0, 0x24]
+ ldrb r0, [r6]
+ 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]
+ ldrb r0, [r6]
+ adds r0, r5
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r4, 0x1C
+ adds r0, r4
+ ldr r1, _080EA0E8 @ =sub_8033EEC
+ str r1, [r0]
+ ldr r1, _080EA0EC @ =gUnknown_3004FE0
+ ldrb r0, [r6]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA0F0 @ =sub_80E8A34
+ str r1, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EA0D0: .4byte gUnknown_2023BC4
+_080EA0D4: .4byte gUnknown_20244DC
+_080EA0D8: .4byte gUnknown_8239F8C
+_080EA0DC: .4byte gUnknown_2023D44
+_080EA0E0: .4byte gUnknown_202063C
+_080EA0E4: .4byte 0x0000ffa0
+_080EA0E8: .4byte sub_8033EEC
+_080EA0EC: .4byte gUnknown_3004FE0
+_080EA0F0: .4byte sub_80E8A34
+ thumb_func_end sub_80E9FB0
+
+ thumb_func_start sub_80EA0F4
+sub_80EA0F4: @ 80EA0F4
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EA0F4
+
+ thumb_func_start sub_80EA100
+sub_80EA100: @ 80EA100
+ push {r4-r6,lr}
+ ldr r6, _080EA14C @ =gUnknown_2024018
+ ldr r4, [r6]
+ ldr r5, _080EA150 @ =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 _080EA154
+ ldr r1, [r4]
+ lsls r0, r2, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080EA134
+ adds r0, r2, 0
+ adds r1, r2, 0
+ movs r3, 0x5
+ bl sub_80341D8
+_080EA134:
+ 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 _080EA1CA
+ .align 2, 0
+_080EA14C: .4byte gUnknown_2024018
+_080EA150: .4byte gUnknown_2023BC4
+_080EA154:
+ ldrb r1, [r3]
+ movs r0, 0x40
+ ands r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _080EA1CA
+ strb r4, [r3, 0x4]
+ ldr r2, _080EA1D0 @ =gUnknown_2023BCE
+ ldrb r1, [r5]
+ lsls r0, r1, 1
+ adds r0, r2
+ ldrh r2, [r0]
+ movs r0, 0x64
+ muls r0, r2
+ ldr r2, _080EA1D4 @ =gUnknown_2024284
+ adds r0, r2
+ bl sub_8035244
+ movs r1, 0x40
+ negs r1, r1
+ movs r0, 0x10
+ bl sub_80722F4
+ ldr r2, _080EA1D8 @ =gUnknown_202063C
+ ldr r3, _080EA1DC @ =gUnknown_2023D44
+ ldrb r0, [r5]
+ adds r0, r3
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ strh r4, [r0, 0x30]
+ ldrb r0, [r5]
+ adds r0, r3
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r2
+ movs r1, 0x5
+ strh r1, [r0, 0x32]
+ ldrb r0, [r5]
+ adds r0, r3
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r2, 0x1C
+ adds r0, r2
+ ldr r1, _080EA1E0 @ =sub_8012110
+ str r1, [r0]
+ ldr r1, _080EA1E4 @ =gUnknown_3004FE0
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA1E8 @ =sub_80E82F4
+ str r1, [r0]
+_080EA1CA:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EA1D0: .4byte gUnknown_2023BCE
+_080EA1D4: .4byte gUnknown_2024284
+_080EA1D8: .4byte gUnknown_202063C
+_080EA1DC: .4byte gUnknown_2023D44
+_080EA1E0: .4byte sub_8012110
+_080EA1E4: .4byte gUnknown_3004FE0
+_080EA1E8: .4byte sub_80E82F4
+ thumb_func_end sub_80EA100
+
+ thumb_func_start sub_80EA1EC
+sub_80EA1EC: @ 80EA1EC
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EA1EC
+
+ thumb_func_start sub_80EA1F8
+sub_80EA1F8: @ 80EA1F8
+ push {r4,r5,lr}
+ ldr r0, _080EA238 @ =gUnknown_2024018
+ ldr r0, [r0]
+ ldr r1, [r0, 0x8]
+ movs r0, 0x4
+ strb r0, [r1, 0x8]
+ ldr r1, _080EA23C @ =gUnknown_2024005
+ movs r0, 0x1
+ strb r0, [r1]
+ ldr r5, _080EA240 @ =gUnknown_2023BC4
+ ldrb r4, [r5]
+ movs r0, 0x1
+ bl sub_80751E8
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r4, 0
+ adds r1, r4, 0
+ movs r3, 0x4
+ bl sub_80341D8
+ ldr r1, _080EA244 @ =gUnknown_3004FE0
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA248 @ =sub_80E7970
+ str r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EA238: .4byte gUnknown_2024018
+_080EA23C: .4byte gUnknown_2024005
+_080EA240: .4byte gUnknown_2023BC4
+_080EA244: .4byte gUnknown_3004FE0
+_080EA248: .4byte sub_80E7970
+ thumb_func_end sub_80EA1F8
+
+ thumb_func_start sub_80EA24C
+sub_80EA24C: @ 80EA24C
+ push {r4,r5,lr}
+ ldr r1, _080EA294 @ =gUnknown_2022BC4
+ ldr r5, _080EA298 @ =gUnknown_2023BC4
+ ldrb r0, [r5]
+ lsls r0, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r1, [r0]
+ ldr r0, _080EA29C @ =gUnknown_2024018
+ ldr r0, [r0]
+ ldr r0, [r0, 0x8]
+ strb r1, [r0, 0x8]
+ ldr r1, _080EA2A0 @ =gUnknown_2024005
+ movs r0, 0x1
+ strb r0, [r1]
+ ldrb r4, [r5]
+ movs r0, 0x1
+ bl sub_80751E8
+ adds r2, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ adds r0, r4, 0
+ adds r1, r4, 0
+ movs r3, 0x4
+ bl sub_80341D8
+ ldr r1, _080EA2A4 @ =gUnknown_3004FE0
+ ldrb r0, [r5]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA2A8 @ =sub_80E7970
+ str r1, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EA294: .4byte gUnknown_2022BC4
+_080EA298: .4byte gUnknown_2023BC4
+_080EA29C: .4byte gUnknown_2024018
+_080EA2A0: .4byte gUnknown_2024005
+_080EA2A4: .4byte gUnknown_3004FE0
+_080EA2A8: .4byte sub_80E7970
+ thumb_func_end sub_80EA24C
+
+ thumb_func_start sub_80EA2AC
+sub_80EA2AC: @ 80EA2AC
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EA2AC
+
+ thumb_func_start sub_80EA2B8
+sub_80EA2B8: @ 80EA2B8
+ push {r4-r6,lr}
+ ldr r0, _080EA38C @ =gUnknown_2022BC4
+ mov r12, r0
+ ldr r6, _080EA390 @ =gUnknown_2023BC4
+ 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, _080EA394 @ =gUnknown_2037F16
+ mov r1, r12
+ adds r1, 0x3
+ adds r2, r1
+ ldrb r1, [r2]
+ strb r1, [r5]
+ ldr r4, _080EA398 @ =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, _080EA39C @ =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, _080EA3A0 @ =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, _080EA3A4 @ =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, _080EA3A8 @ =gUnknown_2037EE4
+ ldrb r2, [r6]
+ lsls r2, 9
+ mov r1, r12
+ adds r1, 0x10
+ adds r2, r1
+ str r2, [r3]
+ ldr r3, _080EA3AC @ =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 _080EA3B0
+ bl sub_80E8A9C
+ b _080EA3CE
+ .align 2, 0
+_080EA38C: .4byte gUnknown_2022BC4
+_080EA390: .4byte gUnknown_2023BC4
+_080EA394: .4byte gUnknown_2037F16
+_080EA398: .4byte gUnknown_2037EEC
+_080EA39C: .4byte gUnknown_2037EE8
+_080EA3A0: .4byte gUnknown_2037EFE
+_080EA3A4: .4byte gUnknown_2037F00
+_080EA3A8: .4byte gUnknown_2037EE4
+_080EA3AC: .4byte gUnknown_2024008
+_080EA3B0:
+ ldr r0, _080EA3D4 @ =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, _080EA3D8 @ =gUnknown_3004FE0
+ ldrb r0, [r6]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA3DC @ =sub_80EA3E0
+ str r1, [r0]
+_080EA3CE:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EA3D4: .4byte gUnknown_2024018
+_080EA3D8: .4byte gUnknown_3004FE0
+_080EA3DC: .4byte sub_80EA3E0
+ thumb_func_end sub_80EA2B8
+
+ thumb_func_start sub_80EA3E0
+sub_80EA3E0: @ 80EA3E0
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ ldr r2, _080EA424 @ =gUnknown_2022BC4
+ ldr r6, _080EA428 @ =gUnknown_2023BC4
+ ldrb r3, [r6]
+ lsls r1, r3, 9
+ adds r0, r2, 0x1
+ mov r9, r0
+ adds r0, r1, r0
+ ldrb r4, [r0]
+ adds r2, 0x2
+ mov r8, r2
+ add r1, r8
+ ldrb r0, [r1]
+ lsls r0, 8
+ orrs r4, r0
+ ldr r7, _080EA42C @ =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 _080EA46A
+ cmp r2, 0x1
+ bgt _080EA430
+ cmp r2, 0
+ beq _080EA43A
+ b _080EA520
+ .align 2, 0
+_080EA424: .4byte gUnknown_2022BC4
+_080EA428: .4byte gUnknown_2023BC4
+_080EA42C: .4byte gUnknown_2024018
+_080EA430:
+ cmp r2, 0x2
+ beq _080EA494
+ cmp r2, 0x3
+ beq _080EA4E4
+ b _080EA520
+_080EA43A:
+ ldr r1, [r5]
+ lsls r0, r3, 2
+ adds r0, r1
+ ldrb r1, [r0]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080EA456
+ adds r0, r3, 0
+ adds r1, r3, 0
+ adds r2, r3, 0
+ movs r3, 0x5
+ bl sub_80341D8
+_080EA456:
+ 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 _080EA520
+_080EA46A:
+ ldrb r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ bne _080EA520
+ 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 _080EA520
+_080EA494:
+ ldr r0, _080EA4DC @ =gUnknown_2037EDC
+ ldr r0, [r0]
+ bl _call_via_r0
+ ldr r0, _080EA4E0 @ =gUnknown_2037EE1
+ ldrb r0, [r0]
+ cmp r0, 0
+ bne _080EA520
+ 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 _080EA4C8
+ adds r0, r2, 0
+ adds r1, r2, 0
+ movs r3, 0x6
+ bl sub_80341D8
+_080EA4C8:
+ 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, 0x3
+ strb r1, [r0, 0x4]
+ b _080EA520
+ .align 2, 0
+_080EA4DC: .4byte gUnknown_2037EDC
+_080EA4E0: .4byte gUnknown_2037EE1
+_080EA4E4:
+ ldrb r1, [r0]
+ movs r0, 0x40
+ ands r0, r1
+ lsls r0, 24
+ lsrs r4, r0, 24
+ cmp r4, 0
+ bne _080EA520
+ bl sub_8034B40
+ ldrb r0, [r6]
+ lsls r2, r0, 9
+ mov r3, r9
+ adds r1, r2, r3
+ ldrb r1, [r1]
+ add r2, r8
+ 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_80E8A9C
+_080EA520:
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EA3E0
+
+ thumb_func_start sub_80EA52C
+sub_80EA52C: @ 80EA52C
+ push {r4,lr}
+ ldr r0, _080EA55C @ =gUnknown_2022974
+ movs r1, 0
+ strh r1, [r0]
+ ldr r0, _080EA560 @ =gUnknown_2022976
+ strh r1, [r0]
+ ldr r0, _080EA564 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 9
+ ldr r1, _080EA568 @ =gUnknown_2022BC6
+ adds r4, r0, r1
+ ldr r0, _080EA56C @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x80
+ lsls r1, 2
+ ands r0, r1
+ cmp r0, 0
+ beq _080EA570
+ ldrh r0, [r4]
+ cmp r0, 0x1
+ bne _080EA570
+ bl sub_80E8A9C
+ b _080EA65A
+ .align 2, 0
+_080EA55C: .4byte gUnknown_2022974
+_080EA560: .4byte gUnknown_2022976
+_080EA564: .4byte gUnknown_2023BC4
+_080EA568: .4byte gUnknown_2022BC6
+_080EA56C: .4byte gUnknown_2022B4C
+_080EA570:
+ ldrh r0, [r4]
+ bl sub_80D7274
+ ldrh r0, [r4]
+ bl sub_80D89B0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080EA590
+ ldr r0, _080EA58C @ =gUnknown_202298C
+ movs r1, 0x40
+ bl sub_80D87BC
+ b _080EA598
+ .align 2, 0
+_080EA58C: .4byte gUnknown_202298C
+_080EA590:
+ ldr r0, _080EA5B4 @ =gUnknown_202298C
+ movs r1, 0
+ bl sub_80D87BC
+_080EA598:
+ ldr r0, _080EA5B8 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080EA64C
+ ldrh r1, [r4]
+ cmp r1, 0xD8
+ beq _080EA5CC
+ cmp r1, 0xD8
+ bgt _080EA5BC
+ cmp r1, 0x1E
+ beq _080EA5F8
+ b _080EA64C
+ .align 2, 0
+_080EA5B4: .4byte gUnknown_202298C
+_080EA5B8: .4byte gUnknown_2022B4C
+_080EA5BC:
+ cmp r1, 0xE3
+ beq _080EA630
+ ldr r0, _080EA5C8 @ =0x0000017f
+ cmp r1, r0
+ beq _080EA614
+ b _080EA64C
+ .align 2, 0
+_080EA5C8: .4byte 0x0000017f
+_080EA5CC:
+ movs r0, 0x2
+ bl sub_80EB2E0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080EA64C
+ movs r0, 0x2
+ bl sub_80EB2F4
+ ldr r1, _080EA5EC @ =gUnknown_3004FE0
+ ldr r0, _080EA5F0 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA5F4 @ =sub_80E8584
+ b _080EA658
+ .align 2, 0
+_080EA5EC: .4byte gUnknown_3004FE0
+_080EA5F0: .4byte gUnknown_2023BC4
+_080EA5F4: .4byte sub_80E8584
+_080EA5F8:
+ ldr r1, _080EA608 @ =gUnknown_3004FE0
+ ldr r0, _080EA60C @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA610 @ =sub_80E85AC
+ b _080EA658
+ .align 2, 0
+_080EA608: .4byte gUnknown_3004FE0
+_080EA60C: .4byte gUnknown_2023BC4
+_080EA610: .4byte sub_80E85AC
+_080EA614:
+ ldr r1, _080EA624 @ =gUnknown_3004FE0
+ ldr r0, _080EA628 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA62C @ =sub_80E85C0
+ b _080EA658
+ .align 2, 0
+_080EA624: .4byte gUnknown_3004FE0
+_080EA628: .4byte gUnknown_2023BC4
+_080EA62C: .4byte sub_80E85C0
+_080EA630:
+ ldr r1, _080EA640 @ =gUnknown_3004FE0
+ ldr r0, _080EA644 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA648 @ =sub_80E8598
+ b _080EA658
+ .align 2, 0
+_080EA640: .4byte gUnknown_3004FE0
+_080EA644: .4byte gUnknown_2023BC4
+_080EA648: .4byte sub_80E8598
+_080EA64C:
+ ldr r1, _080EA660 @ =gUnknown_3004FE0
+ ldr r0, _080EA664 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA668 @ =sub_80E7918
+_080EA658:
+ str r1, [r0]
+_080EA65A:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EA660: .4byte gUnknown_3004FE0
+_080EA664: .4byte gUnknown_2023BC4
+_080EA668: .4byte sub_80E7918
+ thumb_func_end sub_80EA52C
+
+ thumb_func_start sub_80EA66C
+sub_80EA66C: @ 80EA66C
+ push {lr}
+ ldr r0, _080EA684 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ bl sub_80751C4
+ lsls r0, 24
+ cmp r0, 0
+ bne _080EA688
+ bl sub_80EA52C
+ b _080EA68C
+ .align 2, 0
+_080EA684: .4byte gUnknown_2023BC4
+_080EA688:
+ bl sub_80E8A9C
+_080EA68C:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EA66C
+
+ thumb_func_start sub_80EA690
+sub_80EA690: @ 80EA690
+ push {lr}
+ bl sub_8001960
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _080EA6EA
+ ldr r0, _080EA6C4 @ =gUnknown_2022974
+ strh r1, [r0]
+ ldr r1, _080EA6C8 @ =gUnknown_2022976
+ movs r0, 0xA0
+ strh r0, [r1]
+ ldr r0, _080EA6CC @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080EA6DC
+ ldr r1, _080EA6D0 @ =gUnknown_3004FE0
+ ldr r0, _080EA6D4 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA6D8 @ =sub_80E763C
+ b _080EA6E8
+ .align 2, 0
+_080EA6C4: .4byte gUnknown_2022974
+_080EA6C8: .4byte gUnknown_2022976
+_080EA6CC: .4byte gUnknown_2022B4C
+_080EA6D0: .4byte gUnknown_3004FE0
+_080EA6D4: .4byte gUnknown_2023BC4
+_080EA6D8: .4byte sub_80E763C
+_080EA6DC:
+ ldr r1, _080EA6F0 @ =gUnknown_3004FE0
+ ldr r0, _080EA6F4 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA6F8 @ =sub_80E7844
+_080EA6E8:
+ str r1, [r0]
+_080EA6EA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EA6F0: .4byte gUnknown_3004FE0
+_080EA6F4: .4byte gUnknown_2023BC4
+_080EA6F8: .4byte sub_80E7844
+ thumb_func_end sub_80EA690
+
+ thumb_func_start sub_80EA6FC
+sub_80EA6FC: @ 80EA6FC
+ push {r4,lr}
+ ldr r1, _080EA750 @ =gUnknown_3004FE0
+ ldr r0, _080EA754 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA758 @ =sub_80EA690
+ str r1, [r0]
+ ldr r0, _080EA75C @ =gUnknown_83FDA4C
+ movs r1, 0
+ bl sub_80D87BC
+ ldr r0, _080EA760 @ =gUnknown_83FE725
+ movs r1, 0x2
+ bl sub_80D87BC
+ movs r4, 0
+_080EA71E:
+ lsls r0, r4, 24
+ lsrs r0, 24
+ bl sub_8030A98
+ adds r4, 0x1
+ cmp r4, 0x3
+ ble _080EA71E
+ ldr r1, _080EA764 @ =gUnknown_2023FF8
+ ldr r0, _080EA754 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ adds r0, r1
+ ldrb r0, [r0]
+ movs r1, 0
+ bl sub_8030A54
+ ldr r0, _080EA768 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080EA770
+ ldr r0, _080EA76C @ =gUnknown_83FE6D5
+ bl sub_80D77F4
+ b _080EA776
+ .align 2, 0
+_080EA750: .4byte gUnknown_3004FE0
+_080EA754: .4byte gUnknown_2023BC4
+_080EA758: .4byte sub_80EA690
+_080EA75C: .4byte gUnknown_83FDA4C
+_080EA760: .4byte gUnknown_83FE725
+_080EA764: .4byte gUnknown_2023FF8
+_080EA768: .4byte gUnknown_2022B4C
+_080EA76C: .4byte gUnknown_83FE6D5
+_080EA770:
+ ldr r0, _080EA784 @ =gUnknown_83FE6FA
+ bl sub_80D77F4
+_080EA776:
+ ldr r0, _080EA788 @ =gUnknown_202298C
+ movs r1, 0x1
+ bl sub_80D87BC
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EA784: .4byte gUnknown_83FE6FA
+_080EA788: .4byte gUnknown_202298C
+ thumb_func_end sub_80EA6FC
+
+ thumb_func_start sub_80EA78C
+sub_80EA78C: @ 80EA78C
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EA78C
+
+ thumb_func_start sub_80EA798
+sub_80EA798: @ 80EA798
+ push {lr}
+ bl sub_8001960
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0
+ bne _080EA7C2
+ ldr r0, _080EA7C8 @ =gUnknown_2022974
+ strh r1, [r0]
+ ldr r1, _080EA7CC @ =gUnknown_2022976
+ movs r2, 0xA0
+ lsls r2, 1
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r1, _080EA7D0 @ =gUnknown_3004FE0
+ ldr r0, _080EA7D4 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA7D8 @ =sub_80E7988
+ str r1, [r0]
+_080EA7C2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EA7C8: .4byte gUnknown_2022974
+_080EA7CC: .4byte gUnknown_2022976
+_080EA7D0: .4byte gUnknown_3004FE0
+_080EA7D4: .4byte gUnknown_2023BC4
+_080EA7D8: .4byte sub_80E7988
+ thumb_func_end sub_80EA798
+
+ thumb_func_start sub_80EA7DC
+sub_80EA7DC: @ 80EA7DC
+ push {r4,lr}
+ ldr r0, _080EA800 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _080EA810
+ bl sub_8032CB4
+ ldr r1, _080EA804 @ =gUnknown_3004FE0
+ ldr r0, _080EA808 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA80C @ =sub_80EA798
+ str r1, [r0]
+ b _080EA866
+ .align 2, 0
+_080EA800: .4byte gUnknown_2022B4C
+_080EA804: .4byte gUnknown_3004FE0
+_080EA808: .4byte gUnknown_2023BC4
+_080EA80C: .4byte sub_80EA798
+_080EA810:
+ ldr r4, _080EA824 @ =gUnknown_2023FE8
+ ldr r0, [r4]
+ adds r0, 0x95
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080EA828
+ cmp r0, 0x1
+ beq _080EA83E
+ b _080EA866
+ .align 2, 0
+_080EA824: .4byte gUnknown_2023FE8
+_080EA828:
+ bl sub_8032CB4
+ ldr r1, [r4]
+ adds r1, 0x95
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ ldr r0, [r4]
+ adds r0, 0x97
+ movs r1, 0x50
+ strb r1, [r0]
+_080EA83E:
+ ldr r0, _080EA86C @ =gUnknown_2023FE8
+ ldr r1, [r0]
+ adds r1, 0x97
+ ldrb r0, [r1]
+ subs r0, 0x1
+ strb r0, [r1]
+ lsls r0, 24
+ cmp r0, 0
+ bne _080EA866
+ movs r0, 0x5
+ bl sub_80722CC
+ movs r2, 0x80
+ lsls r2, 1
+ movs r0, 0x1
+ movs r1, 0xA
+ bl sub_800E848
+ bl sub_80E8A9C
+_080EA866:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EA86C: .4byte gUnknown_2023FE8
+ thumb_func_end sub_80EA7DC
+
+ thumb_func_start sub_80EA870
+sub_80EA870: @ 80EA870
+ push {r4,r5,lr}
+ sub sp, 0x4
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl sub_8070588
+ ldr r1, _080EA8BC @ =gUnknown_3004FE0
+ ldr r2, _080EA8C0 @ =gUnknown_2023BC4
+ ldrb r0, [r2]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA8C4 @ =sub_80E7A70
+ str r1, [r0]
+ ldr r1, _080EA8C8 @ =gUnknown_2024004
+ ldrb r0, [r2]
+ strb r0, [r1]
+ movs r3, 0
+ ldr r5, _080EA8CC @ =gUnknown_203B0DC
+ ldr r4, _080EA8D0 @ =gUnknown_2022BC4
+_080EA89E:
+ adds r0, r3, r5
+ ldrb r1, [r2]
+ lsls r1, 9
+ adds r1, 0x1
+ adds r1, r3, r1
+ adds r1, r4
+ ldrb r1, [r1]
+ strb r1, [r0]
+ adds r3, 0x1
+ cmp r3, 0x2
+ ble _080EA89E
+ add sp, 0x4
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EA8BC: .4byte gUnknown_3004FE0
+_080EA8C0: .4byte gUnknown_2023BC4
+_080EA8C4: .4byte sub_80E7A70
+_080EA8C8: .4byte gUnknown_2024004
+_080EA8CC: .4byte gUnknown_203B0DC
+_080EA8D0: .4byte gUnknown_2022BC4
+ thumb_func_end sub_80EA870
+
+ thumb_func_start sub_80EA8D4
+sub_80EA8D4: @ 80EA8D4
+ push {r4-r6,lr}
+ sub sp, 0x4
+ ldr r0, _080EA984 @ =nullsub_43
+ movs r1, 0xFF
+ bl sub_807741C
+ ldr r3, _080EA988 @ =gUnknown_3004FFC
+ ldr r4, _080EA98C @ =gUnknown_2023BC4
+ ldrb r1, [r4]
+ adds r1, r3
+ strb r0, [r1]
+ ldr r5, _080EA990 @ =gUnknown_3005090
+ ldrb r2, [r4]
+ adds r3, r2, r3
+ ldrb r0, [r3]
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r5
+ ldr r5, _080EA994 @ =gUnknown_2022BC4
+ lsls r2, 9
+ adds r6, r5, 0x1
+ adds r2, r6
+ ldrb r2, [r2]
+ movs r0, 0xF
+ ands r0, r2
+ strh r0, [r1, 0x8]
+ ldr r3, _080EA998 @ =gUnknown_2023FE8
+ ldr r1, [r3]
+ adds r1, 0x49
+ ldrb r0, [r4]
+ lsls r0, 9
+ adds r0, r6
+ ldrb r0, [r0]
+ lsrs r0, 4
+ strb r0, [r1]
+ ldr r2, [r3]
+ adds r2, 0x8B
+ ldrb r0, [r4]
+ lsls r0, 9
+ adds r1, r5, 0x2
+ adds r0, r1
+ ldrb r0, [r0]
+ strb r0, [r2]
+ ldr r2, [r3]
+ adds r2, 0xAC
+ ldrb r0, [r4]
+ lsls r0, 9
+ adds r1, r5, 0x3
+ adds r0, r1
+ ldrb r0, [r0]
+ strb r0, [r2]
+ movs r2, 0
+ ldr r3, _080EA99C @ =gUnknown_203B0DC
+_080EA940:
+ adds r0, r2, r3
+ ldrb r1, [r4]
+ lsls r1, 9
+ adds r1, 0x4
+ adds r1, r2, r1
+ adds r1, r5
+ ldrb r1, [r1]
+ strb r1, [r0]
+ adds r2, 0x1
+ cmp r2, 0x2
+ ble _080EA940
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0
+ movs r3, 0x10
+ bl sub_8070588
+ ldr r1, _080EA9A0 @ =gUnknown_3004FE0
+ ldr r2, _080EA98C @ =gUnknown_2023BC4
+ ldrb r0, [r2]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EA9A4 @ =sub_80E79B8
+ str r1, [r0]
+ ldr r1, _080EA9A8 @ =gUnknown_2024004
+ ldrb r0, [r2]
+ strb r0, [r1]
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EA984: .4byte nullsub_43
+_080EA988: .4byte gUnknown_3004FFC
+_080EA98C: .4byte gUnknown_2023BC4
+_080EA990: .4byte gUnknown_3005090
+_080EA994: .4byte gUnknown_2022BC4
+_080EA998: .4byte gUnknown_2023FE8
+_080EA99C: .4byte gUnknown_203B0DC
+_080EA9A0: .4byte gUnknown_3004FE0
+_080EA9A4: .4byte sub_80E79B8
+_080EA9A8: .4byte gUnknown_2024004
+ thumb_func_end sub_80EA8D4
+
+ thumb_func_start sub_80EA9AC
+sub_80EA9AC: @ 80EA9AC
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EA9AC
+
+ thumb_func_start sub_80EA9B8
+sub_80EA9B8: @ 80EA9B8
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x4
+ movs r0, 0
+ bl sub_8034964
+ ldr r3, _080EAA30 @ =gUnknown_2022BC4
+ ldr r0, _080EAA34 @ =gUnknown_2023BC4
+ mov r9, r0
+ ldrb r4, [r0]
+ lsls r2, r4, 9
+ adds r0, r3, 0x2
+ adds r0, r2, r0
+ ldrb r1, [r0]
+ adds r3, 0x3
+ adds r2, r3
+ ldrb r0, [r2]
+ lsls r0, 8
+ orrs r1, r0
+ lsls r1, 16
+ asrs r7, r1, 16
+ ldr r0, _080EAA38 @ =0x00007fff
+ cmp r7, r0
+ beq _080EAA48
+ ldr r6, _080EAA3C @ =gUnknown_2023BCE
+ lsls r0, r4, 1
+ adds r0, r6
+ ldrh r0, [r0]
+ movs r5, 0x64
+ muls r0, r5
+ ldr r4, _080EAA40 @ =gUnknown_2024284
+ 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, _080EAA44 @ =gUnknown_3004FF0
+ adds r1, r0, r1
+ ldrb r1, [r1]
+ str r7, [sp]
+ mov r2, r8
+ bl sub_8048150
+ b _080EAA82
+ .align 2, 0
+_080EAA30: .4byte gUnknown_2022BC4
+_080EAA34: .4byte gUnknown_2023BC4
+_080EAA38: .4byte 0x00007fff
+_080EAA3C: .4byte gUnknown_2023BCE
+_080EAA40: .4byte gUnknown_2024284
+_080EAA44: .4byte gUnknown_3004FF0
+_080EAA48:
+ ldr r1, _080EAAA0 @ =gUnknown_2023BCE
+ lsls r0, r4, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _080EAAA4 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0x3A
+ bl sub_803FBE8
+ adds r2, r0, 0
+ mov r1, r9
+ ldrb r0, [r1]
+ ldr r4, _080EAAA8 @ =gUnknown_3004FF0
+ adds r1, r0, r4
+ ldrb r1, [r1]
+ str r7, [sp]
+ movs r3, 0
+ bl sub_8048150
+ mov r1, r9
+ ldrb r0, [r1]
+ adds r0, r4
+ ldrb r0, [r0]
+ movs r1, 0
+ movs r2, 0
+ bl sub_8048440
+_080EAA82:
+ ldr r1, _080EAAAC @ =gUnknown_3004FE0
+ ldr r0, _080EAAB0 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EAAB4 @ =sub_80E88C0
+ 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
+_080EAAA0: .4byte gUnknown_2023BCE
+_080EAAA4: .4byte gUnknown_2024284
+_080EAAA8: .4byte gUnknown_3004FF0
+_080EAAAC: .4byte gUnknown_3004FE0
+_080EAAB0: .4byte gUnknown_2023BC4
+_080EAAB4: .4byte sub_80E88C0
+ thumb_func_end sub_80EA9B8
+
+ thumb_func_start sub_80EAAB8
+sub_80EAAB8: @ 80EAAB8
+ push {r4-r7,lr}
+ ldr r5, _080EAAE4 @ =gUnknown_2022BC4
+ ldr r6, _080EAAE8 @ =gUnknown_2023BC4
+ ldrb r0, [r6]
+ lsls r0, 9
+ adds r1, r5, 0x1
+ adds r0, r1
+ ldrb r7, [r0]
+ movs r0, 0x64
+ adds r1, r7, 0
+ muls r1, r0
+ ldr r0, _080EAAEC @ =gUnknown_2024284
+ adds r4, r1, r0
+ adds r0, r4, 0
+ movs r1, 0x38
+ bl sub_803FBE8
+ cmp r0, 0x63
+ bls _080EAAF0
+ bl sub_80E8A9C
+ b _080EAB3C
+ .align 2, 0
+_080EAAE4: .4byte gUnknown_2022BC4
+_080EAAE8: .4byte gUnknown_2023BC4
+_080EAAEC: .4byte gUnknown_2024284
+_080EAAF0:
+ movs r0, 0x1
+ bl sub_8034964
+ adds r0, r4, 0
+ movs r1, 0xB
+ bl sub_803FBE8
+ ldrb r1, [r6]
+ lsls r1, 9
+ adds r0, r5, 0x2
+ adds r0, r1, r0
+ ldrb r4, [r0]
+ adds r0, r5, 0x3
+ adds r1, r0
+ ldrb r0, [r1]
+ lsls r0, 8
+ orrs r4, r0
+ ldr r0, _080EAB44 @ =sub_80E7E04
+ movs r1, 0xA
+ bl sub_807741C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _080EAB48 @ =gUnknown_3005090
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ strh r7, [r1, 0x8]
+ strh r4, [r1, 0xA]
+ ldrb r0, [r6]
+ strh r0, [r1, 0xC]
+ ldr r1, _080EAB4C @ =gUnknown_3004FE0
+ ldrb r0, [r6]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EAB50 @ =nullsub_81
+ str r1, [r0]
+_080EAB3C:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EAB44: .4byte sub_80E7E04
+_080EAB48: .4byte gUnknown_3005090
+_080EAB4C: .4byte gUnknown_3004FE0
+_080EAB50: .4byte nullsub_81
+ thumb_func_end sub_80EAAB8
+
+ thumb_func_start sub_80EAB54
+sub_80EAB54: @ 80EAB54
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EAB54
+
+ thumb_func_start sub_80EAB60
+sub_80EAB60: @ 80EAB60
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EAB60
+
+ thumb_func_start sub_80EAB6C
+sub_80EAB6C: @ 80EAB6C
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EAB6C
+
+ thumb_func_start sub_80EAB78
+sub_80EAB78: @ 80EAB78
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EAB78
+
+ thumb_func_start sub_80EAB84
+sub_80EAB84: @ 80EAB84
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EAB84
+
+ thumb_func_start sub_80EAB90
+sub_80EAB90: @ 80EAB90
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EAB90
+
+ thumb_func_start sub_80EAB9C
+sub_80EAB9C: @ 80EAB9C
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EAB9C
+
+ thumb_func_start sub_80EABA8
+sub_80EABA8: @ 80EABA8
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EABA8
+
+ thumb_func_start sub_80EABB4
+sub_80EABB4: @ 80EABB4
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EABB4
+
+ thumb_func_start sub_80EABC0
+sub_80EABC0: @ 80EABC0
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EABC0
+
+ thumb_func_start sub_80EABCC
+sub_80EABCC: @ 80EABCC
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EABCC
+
+ thumb_func_start sub_80EABD8
+sub_80EABD8: @ 80EABD8
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EABD8
+
+ thumb_func_start sub_80EABE4
+sub_80EABE4: @ 80EABE4
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EABE4
+
+ thumb_func_start sub_80EABF0
+sub_80EABF0: @ 80EABF0
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EABF0
+
+ thumb_func_start sub_80EABFC
+sub_80EABFC: @ 80EABFC
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EABFC
+
+ thumb_func_start sub_80EAC08
+sub_80EAC08: @ 80EAC08
+ push {r4,lr}
+ ldr r3, _080EAC30 @ =gUnknown_202063C
+ ldr r2, _080EAC34 @ =gUnknown_2023D44
+ ldr r4, _080EAC38 @ =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 _080EAC3C
+ bl sub_80E8A9C
+ b _080EAC66
+ .align 2, 0
+_080EAC30: .4byte gUnknown_202063C
+_080EAC34: .4byte gUnknown_2023D44
+_080EAC38: .4byte gUnknown_2023BC4
+_080EAC3C:
+ ldr r1, _080EAC6C @ =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, _080EAC70 @ =gUnknown_3004FE0
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EAC74 @ =sub_80E8948
+ str r1, [r0]
+_080EAC66:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EAC6C: .4byte gUnknown_2024005
+_080EAC70: .4byte gUnknown_3004FE0
+_080EAC74: .4byte sub_80E8948
+ thumb_func_end sub_80EAC08
+
+ thumb_func_start sub_80EAC78
+sub_80EAC78: @ 80EAC78
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EAC78
+
+ thumb_func_start sub_80EAC84
+sub_80EAC84: @ 80EAC84
+ push {lr}
+ ldr r2, _080EACAC @ =gUnknown_2022BC4
+ ldr r0, _080EACB0 @ =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_80722CC
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EACAC: .4byte gUnknown_2022BC4
+_080EACB0: .4byte gUnknown_2023BC4
+ thumb_func_end sub_80EAC84
+
+ thumb_func_start sub_80EACB4
+sub_80EACB4: @ 80EACB4
+ push {lr}
+ ldr r2, _080EACDC @ =gUnknown_2022BC4
+ ldr r0, _080EACE0 @ =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_80E8A9C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EACDC: .4byte gUnknown_2022BC4
+_080EACE0: .4byte gUnknown_2023BC4
+ thumb_func_end sub_80EACB4
+
+ thumb_func_start sub_80EACE4
+sub_80EACE4: @ 80EACE4
+ push {lr}
+ ldr r1, _080EAD14 @ =gUnknown_2023BCE
+ ldr r0, _080EAD18 @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 1
+ adds r0, r1
+ ldrh r1, [r0]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _080EAD1C @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0xB
+ bl sub_803FBE8
+ lsls r0, 16
+ lsrs r0, 16
+ movs r1, 0x19
+ bl sub_8071DF0
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EAD14: .4byte gUnknown_2023BCE
+_080EAD18: .4byte gUnknown_2023BC4
+_080EAD1C: .4byte gUnknown_2024284
+ thumb_func_end sub_80EACE4
+
+ thumb_func_start sub_80EAD20
+sub_80EAD20: @ 80EAD20
+ push {lr}
+ ldr r1, _080EAD48 @ =gUnknown_2022BC4
+ ldr r0, _080EAD4C @ =gUnknown_2023BC4
+ ldrb r0, [r0]
+ lsls r0, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ bl sub_80BC3A0
+ ldr r2, _080EAD50 @ =gUnknown_2023F4C
+ ldrh r0, [r2]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r2]
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EAD48: .4byte gUnknown_2022BC4
+_080EAD4C: .4byte gUnknown_2023BC4
+_080EAD50: .4byte gUnknown_2023F4C
+ thumb_func_end sub_80EAD20
+
+ thumb_func_start sub_80EAD54
+sub_80EAD54: @ 80EAD54
+ push {r4-r7,lr}
+ ldr r0, _080EAEA0 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x10
+ ands r0, r1
+ cmp r0, 0
+ bne _080EAD64
+ b _080EAEE4
+_080EAD64:
+ ldr r6, _080EAEA4 @ =gUnknown_2023D44
+ ldr r7, _080EAEA8 @ =gUnknown_2023BC4
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r5, _080EAEAC @ =gUnknown_202063C
+ adds r0, r5
+ bl sub_80750FC
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x32
+ strh r1, [r0, 0x2E]
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, _080EAEB0 @ =0x0000ffd8
+ strh r1, [r0, 0x32]
+ ldrb r0, [r7]
+ 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, [r7]
+ 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, _080EAEB4 @ =sub_8075590
+ str r1, [r0]
+ ldrb r2, [r7]
+ adds r0, r2, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ strh r2, [r0, 0x38]
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldr r1, _080EAEB8 @ =sub_80335F8
+ bl sub_8074A68
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ movs r1, 0x1
+ bl sub_800838C
+ ldr r0, _080EAEBC @ =0x0000d6f8
+ bl sub_80089B8
+ adds r4, r0, 0
+ lsls r4, 24
+ ldr r1, _080EAEC0 @ =gUnknown_8239FD4
+ ldr r0, _080EAEC4 @ =gUnknown_300500C
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x8]
+ lsls r0, 3
+ adds r0, r1
+ ldr r0, [r0]
+ lsrs r4, 20
+ movs r2, 0x80
+ lsls r2, 1
+ adds r1, r4, r2
+ movs r2, 0x20
+ bl sub_80703A8
+ ldrb r0, [r7]
+ adds r0, r6
+ ldrb r0, [r0]
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r5
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xF
+ ands r0, r2
+ orrs r0, r4
+ strb r0, [r1, 0x5]
+ ldr r0, _080EAEC8 @ =sub_80EB0A8
+ movs r1, 0x5
+ bl sub_807741C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r4, _080EAECC @ =gUnknown_3005090
+ lsls r1, r0, 2
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r4
+ ldrb r0, [r7]
+ strh r0, [r1, 0x8]
+ ldr r3, _080EAED0 @ =gUnknown_2024018
+ ldr r0, [r3]
+ ldrb r2, [r7]
+ 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 _080EAE84
+ ldr r0, _080EAED4 @ =gUnknown_2024000
+ adds r0, r2, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r4
+ ldr r1, _080EAED8 @ =sub_80491B0
+ str r1, [r0]
+_080EAE84:
+ ldr r0, [r3]
+ ldr r2, [r0, 0x8]
+ ldrb r0, [r2, 0x9]
+ movs r1, 0x1
+ orrs r0, r1
+ strb r0, [r2, 0x9]
+ ldr r1, _080EAEDC @ =gUnknown_3004FE0
+ ldrb r0, [r7]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EAEE0 @ =nullsub_13
+ str r1, [r0]
+ b _080EAF18
+ .align 2, 0
+_080EAEA0: .4byte gUnknown_2022B4C
+_080EAEA4: .4byte gUnknown_2023D44
+_080EAEA8: .4byte gUnknown_2023BC4
+_080EAEAC: .4byte gUnknown_202063C
+_080EAEB0: .4byte 0x0000ffd8
+_080EAEB4: .4byte sub_8075590
+_080EAEB8: .4byte sub_80335F8
+_080EAEBC: .4byte 0x0000d6f8
+_080EAEC0: .4byte gUnknown_8239FD4
+_080EAEC4: .4byte gUnknown_300500C
+_080EAEC8: .4byte sub_80EB0A8
+_080EAECC: .4byte gUnknown_3005090
+_080EAED0: .4byte gUnknown_2024018
+_080EAED4: .4byte gUnknown_2024000
+_080EAED8: .4byte sub_80491B0
+_080EAEDC: .4byte gUnknown_3004FE0
+_080EAEE0: .4byte nullsub_13
+_080EAEE4:
+ ldr r0, _080EAF20 @ =gUnknown_2024018
+ ldr r1, [r0]
+ ldr r0, _080EAF24 @ =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 _080EAF14
+ ldr r2, _080EAF28 @ =gUnknown_3005090
+ ldr r0, _080EAF2C @ =gUnknown_2024000
+ adds r0, r3, r0
+ ldrb r1, [r0]
+ lsls r0, r1, 2
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldr r1, _080EAF30 @ =sub_80491B0
+ str r1, [r0]
+_080EAF14:
+ bl sub_80E8A9C
+_080EAF18:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EAF20: .4byte gUnknown_2024018
+_080EAF24: .4byte gUnknown_2023BC4
+_080EAF28: .4byte gUnknown_3005090
+_080EAF2C: .4byte gUnknown_2024000
+_080EAF30: .4byte sub_80491B0
+ thumb_func_end sub_80EAD54
+
+ thumb_func_start sub_80EAF34
+sub_80EAF34: @ 80EAF34
+ 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
+ ldr r0, _080EB07C @ =gUnknown_2024018
+ ldr r0, [r0]
+ ldr r1, [r0]
+ lsls r0, r6, 2
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0, 0x2]
+ ldr r0, _080EB080 @ =gUnknown_2023BCE
+ lsls r2, r6, 1
+ adds r2, r0
+ ldr r0, _080EB084 @ =gUnknown_2022BC4
+ lsls r1, r6, 9
+ adds r0, 0x1
+ adds r1, r0
+ ldrb r0, [r1]
+ strh r0, [r2]
+ ldrh r1, [r2]
+ movs r0, 0x64
+ muls r0, r1
+ ldr r1, _080EB088 @ =gUnknown_2024284
+ adds r0, r1
+ movs r1, 0xB
+ bl sub_803FBE8
+ mov r8, r0
+ lsls r0, 16
+ lsrs r0, 16
+ mov r8, r0
+ ldr r0, _080EB08C @ =sub_8033E3C
+ bl sub_8044EF8
+ ldr r1, _080EB090 @ =gUnknown_3004FFC
+ mov r9, r1
+ add r9, r6
+ mov r1, r9
+ strb r0, [r1]
+ 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, _080EB094 @ =gUnknown_20244DC
+ mov r10, 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, r10
+ adds r1, r5, 0
+ adds r2, r4, 0
+ bl sub_8006F8C
+ ldr r4, _080EB098 @ =gUnknown_2023D44
+ adds r4, r6, r4
+ strb r0, [r4]
+ ldr r5, _080EB09C @ =gUnknown_202063C
+ mov r0, r9
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ adds r0, r5
+ ldrb r1, [r4]
+ strh r1, [r0, 0x30]
+ 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]
+ 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, _080EB0A0 @ =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, _080EB0A4 @ =nullsub_8
+ str r1, [r0]
+ movs r0, 0
+ movs r1, 0xFF
+ bl sub_804A938
+ mov r1, r9
+ 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
+_080EB07C: .4byte gUnknown_2024018
+_080EB080: .4byte gUnknown_2023BCE
+_080EB084: .4byte gUnknown_2022BC4
+_080EB088: .4byte gUnknown_2024284
+_080EB08C: .4byte sub_8033E3C
+_080EB090: .4byte gUnknown_3004FFC
+_080EB094: .4byte gUnknown_20244DC
+_080EB098: .4byte gUnknown_2023D44
+_080EB09C: .4byte gUnknown_202063C
+_080EB0A0: .4byte gUnknown_2024024
+_080EB0A4: .4byte nullsub_8
+ thumb_func_end sub_80EAF34
+
+ thumb_func_start sub_80EB0A8
+sub_80EB0A8: @ 80EB0A8
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r6, r0, 24
+ ldr r1, _080EB0C8 @ =gUnknown_3005090
+ lsls r0, r6, 2
+ adds r0, r6
+ lsls r0, 3
+ adds r1, r0, r1
+ ldrh r2, [r1, 0xA]
+ movs r3, 0xA
+ ldrsh r0, [r1, r3]
+ cmp r0, 0x1E
+ bgt _080EB0CC
+ adds r0, r2, 0x1
+ strh r0, [r1, 0xA]
+ b _080EB102
+ .align 2, 0
+_080EB0C8: .4byte gUnknown_3005090
+_080EB0CC:
+ ldr r4, _080EB108 @ =gUnknown_2023BC4
+ ldrb r5, [r4]
+ ldrh r0, [r1, 0x8]
+ strb r0, [r4]
+ ldr r0, _080EB10C @ =gUnknown_2022BC4
+ ldrb r1, [r4]
+ lsls r2, r1, 9
+ adds r0, 0x1
+ adds r2, r0
+ ldr r0, _080EB110 @ =gUnknown_2023BCE
+ lsls r1, 1
+ adds r1, r0
+ ldrh r0, [r1]
+ strb r0, [r2]
+ ldrb r0, [r4]
+ bl sub_80EAF34
+ ldr r1, _080EB114 @ =gUnknown_3004FE0
+ ldrb r0, [r4]
+ lsls r0, 2
+ adds r0, r1
+ ldr r1, _080EB118 @ =sub_80E7B4C
+ str r1, [r0]
+ strb r5, [r4]
+ adds r0, r6, 0
+ bl sub_8077508
+_080EB102:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EB108: .4byte gUnknown_2023BC4
+_080EB10C: .4byte gUnknown_2022BC4
+_080EB110: .4byte gUnknown_2023BCE
+_080EB114: .4byte gUnknown_3004FE0
+_080EB118: .4byte sub_80E7B4C
+ thumb_func_end sub_80EB0A8
+
+ thumb_func_start sub_80EB11C
+sub_80EB11C: @ 80EB11C
+ push {r4,r5,lr}
+ ldr r1, _080EB144 @ =gUnknown_2022BC4
+ ldr r0, _080EB148 @ =gUnknown_2023BC4
+ ldrb r2, [r0]
+ lsls r0, r2, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ beq _080EB14C
+ adds r0, r2, 0
+ bl sub_80751C4
+ lsls r0, 24
+ cmp r0, 0
+ bne _080EB14C
+ bl sub_80E8A9C
+ b _080EB18A
+ .align 2, 0
+_080EB144: .4byte gUnknown_2022BC4
+_080EB148: .4byte gUnknown_2023BC4
+_080EB14C:
+ ldr r0, _080EB190 @ =gUnknown_2024018
+ ldr r0, [r0]
+ ldr r5, _080EB194 @ =gUnknown_2023BC4
+ ldrb r1, [r5]
+ 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]
+ ldrb r0, [r5]
+ lsls r4, r0, 9
+ ldr r3, _080EB198 @ =gUnknown_2022BC8
+ adds r1, r4, r3
+ subs r2, r3, 0x3
+ adds r2, r4, r2
+ ldrb r2, [r2]
+ subs r3, 0x2
+ adds r4, r3
+ ldrb r3, [r4]
+ bl sub_8048D14
+ ldr r2, _080EB19C @ =gUnknown_2024000
+ ldrb r1, [r5]
+ adds r1, r2
+ strb r0, [r1]
+ bl sub_80E8A9C
+_080EB18A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EB190: .4byte gUnknown_2024018
+_080EB194: .4byte gUnknown_2023BC4
+_080EB198: .4byte gUnknown_2022BC8
+_080EB19C: .4byte gUnknown_2024000
+ thumb_func_end sub_80EB11C
+
+ thumb_func_start sub_80EB1A0
+sub_80EB1A0: @ 80EB1A0
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EB1A0
+
+ thumb_func_start sub_80EB1AC
+sub_80EB1AC: @ 80EB1AC
+ push {r4,lr}
+ ldr r4, _080EB1CC @ =gUnknown_2023BC4
+ ldrb r0, [r4]
+ movs r1, 0x1
+ bl sub_8012258
+ ldrb r0, [r4]
+ movs r1, 0
+ bl sub_8012258
+ bl sub_80E8A9C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EB1CC: .4byte gUnknown_2023BC4
+ thumb_func_end sub_80EB1AC
+
+ thumb_func_start sub_80EB1D0
+sub_80EB1D0: @ 80EB1D0
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EB1D0
+
+ thumb_func_start sub_80EB1DC
+sub_80EB1DC: @ 80EB1DC
+ push {r4-r6,lr}
+ sub sp, 0x4
+ ldr r5, _080EB214 @ =gUnknown_2022BC4
+ ldr r6, _080EB218 @ =gUnknown_2023BC4
+ 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 _080EB21C
+ bl sub_80E8A9C
+ b _080EB228
+ .align 2, 0
+_080EB214: .4byte gUnknown_2022BC4
+_080EB218: .4byte gUnknown_2023BC4
+_080EB21C:
+ ldr r0, _080EB230 @ =gUnknown_3004FE0
+ ldrb r1, [r6]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, _080EB234 @ =sub_80E8A6C
+ str r0, [r1]
+_080EB228:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EB230: .4byte gUnknown_3004FE0
+_080EB234: .4byte sub_80E8A6C
+ thumb_func_end sub_80EB1DC
+
+ thumb_func_start sub_80EB238
+sub_80EB238: @ 80EB238
+ push {r4,lr}
+ ldr r1, _080EB26C @ =gUnknown_2022BC4
+ ldr r4, _080EB270 @ =gUnknown_2023BC4
+ ldrb r2, [r4]
+ lsls r0, r2, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0
+ blt _080EB260
+ cmp r0, 0x1
+ bgt _080EB260
+ adds r0, r2, 0
+ movs r1, 0x1
+ bl sub_8012258
+ ldrb r0, [r4]
+ movs r1, 0
+ bl sub_8012258
+_080EB260:
+ bl sub_80E8A9C
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EB26C: .4byte gUnknown_2022BC4
+_080EB270: .4byte gUnknown_2023BC4
+ thumb_func_end sub_80EB238
+
+ thumb_func_start sub_80EB274
+sub_80EB274: @ 80EB274
+ push {lr}
+ bl sub_80E8A9C
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EB274
+
+ thumb_func_start sub_80EB280
+sub_80EB280: @ 80EB280
+ push {r4,lr}
+ ldr r2, _080EB2C4 @ =gUnknown_2023E8A
+ ldr r1, _080EB2C8 @ =gUnknown_2022BC4
+ ldr r4, _080EB2CC @ =gUnknown_2023BC4
+ ldrb r0, [r4]
+ lsls r0, 9
+ adds r1, 0x1
+ adds r0, r1
+ ldrb r0, [r0]
+ strb r0, [r2]
+ movs r0, 0x5
+ bl sub_8071AB4
+ movs r0, 0x3
+ bl sub_8070E44
+ bl sub_80E8A9C
+ ldr r0, _080EB2D0 @ =gUnknown_2022B4C
+ ldr r0, [r0]
+ movs r1, 0x6
+ ands r0, r1
+ cmp r0, 0x2
+ bne _080EB2BC
+ ldr r0, _080EB2D4 @ =gUnknown_3004FE0
+ ldrb r1, [r4]
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, _080EB2D8 @ =sub_80E7930
+ str r0, [r1]
+_080EB2BC:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EB2C4: .4byte gUnknown_2023E8A
+_080EB2C8: .4byte gUnknown_2022BC4
+_080EB2CC: .4byte gUnknown_2023BC4
+_080EB2D0: .4byte gUnknown_2022B4C
+_080EB2D4: .4byte gUnknown_3004FE0
+_080EB2D8: .4byte sub_80E7930
+ thumb_func_end sub_80EB280
+
+ thumb_func_start nullsub_82
+nullsub_82: @ 80EB2DC
+ bx lr
+ thumb_func_end nullsub_82
+
+ thumb_func_start sub_80EB2E0
+sub_80EB2E0: @ 80EB2E0
+ adds r1, r0, 0
+ ldr r0, _080EB2F0 @ =gUnknown_2023FE8
+ ldr r0, [r0]
+ adds r0, 0x96
+ ldrb r0, [r0]
+ ands r0, r1
+ bx lr
+ .align 2, 0
+_080EB2F0: .4byte gUnknown_2023FE8
+ thumb_func_end sub_80EB2E0
+
+ thumb_func_start sub_80EB2F4
+sub_80EB2F4: @ 80EB2F4
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _080EB308 @ =gUnknown_2023FE8
+ ldr r1, [r1]
+ adds r1, 0x96
+ ldrb r2, [r1]
+ orrs r0, r2
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_080EB308: .4byte gUnknown_2023FE8
+ thumb_func_end sub_80EB2F4
+
+ thumb_func_start sub_80EB30C
+sub_80EB30C: @ 80EB30C
+ push {r4-r6,lr}
+ sub sp, 0xC
+ movs r6, 0x1A
+ movs r5, 0x7
+ movs r4, 0x1
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x30
+ movs r2, 0
+ movs r3, 0xE
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x31
+ movs r2, 0x1
+ movs r3, 0xE
+ bl sub_8002554
+ str r6, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x32
+ movs r2, 0x2
+ movs r3, 0xE
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x33
+ movs r2, 0x1C
+ movs r3, 0xE
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x34
+ movs r2, 0x1D
+ movs r3, 0xE
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x35
+ movs r2, 0
+ movs r3, 0xF
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x36
+ movs r2, 0x1
+ movs r3, 0xF
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x38
+ movs r2, 0x1C
+ movs r3, 0xF
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x39
+ movs r2, 0x1D
+ movs r3, 0xF
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x3A
+ movs r2, 0
+ movs r3, 0x10
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x3B
+ movs r2, 0x1
+ movs r3, 0x10
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x3C
+ movs r2, 0x1C
+ movs r3, 0x10
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x3D
+ movs r2, 0x1D
+ movs r3, 0x10
+ bl sub_8002554
+ ldr r1, _080EB4F4 @ =0x0000083a
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r2, 0
+ movs r3, 0x11
+ bl sub_8002554
+ ldr r1, _080EB4F8 @ =0x0000083b
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r2, 0x1
+ movs r3, 0x11
+ bl sub_8002554
+ ldr r1, _080EB4FC @ =0x0000083c
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r2, 0x1C
+ movs r3, 0x11
+ bl sub_8002554
+ ldr r1, _080EB500 @ =0x0000083d
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r2, 0x1D
+ movs r3, 0x11
+ bl sub_8002554
+ ldr r1, _080EB504 @ =0x00000835
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r2, 0
+ movs r3, 0x12
+ bl sub_8002554
+ ldr r1, _080EB508 @ =0x00000836
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r2, 0x1
+ movs r3, 0x12
+ bl sub_8002554
+ ldr r1, _080EB50C @ =0x00000838
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r2, 0x1C
+ movs r3, 0x12
+ bl sub_8002554
+ ldr r1, _080EB510 @ =0x00000839
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r2, 0x1D
+ movs r3, 0x12
+ bl sub_8002554
+ movs r1, 0x83
+ lsls r1, 4
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r2, 0
+ movs r3, 0x13
+ bl sub_8002554
+ ldr r1, _080EB514 @ =0x00000831
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r2, 0x1
+ movs r3, 0x13
+ bl sub_8002554
+ ldr r1, _080EB518 @ =0x00000832
+ str r6, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r2, 0x2
+ movs r3, 0x13
+ bl sub_8002554
+ ldr r1, _080EB51C @ =0x00000833
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r2, 0x1C
+ movs r3, 0x13
+ bl sub_8002554
+ ldr r1, _080EB520 @ =0x00000834
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl sub_8002554
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080EB4F4: .4byte 0x0000083a
+_080EB4F8: .4byte 0x0000083b
+_080EB4FC: .4byte 0x0000083c
+_080EB500: .4byte 0x0000083d
+_080EB504: .4byte 0x00000835
+_080EB508: .4byte 0x00000836
+_080EB50C: .4byte 0x00000838
+_080EB510: .4byte 0x00000839
+_080EB514: .4byte 0x00000831
+_080EB518: .4byte 0x00000832
+_080EB51C: .4byte 0x00000833
+_080EB520: .4byte 0x00000834
+ thumb_func_end sub_80EB30C
+
+ thumb_func_start sub_80EB524
+sub_80EB524: @ 80EB524
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ sub sp, 0xC
+ movs r5, 0
+ movs r0, 0x1A
+ mov r8, r0
+ movs r4, 0x1
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x3
+ movs r2, 0
+ movs r3, 0xE
+ bl sub_8002554
+ movs r6, 0x4
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x4
+ movs r2, 0x1
+ movs r3, 0xE
+ bl sub_8002554
+ mov r0, r8
+ str r0, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x5
+ movs r2, 0x2
+ movs r3, 0xE
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x6
+ movs r2, 0x1C
+ movs r3, 0xE
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x7
+ movs r2, 0x1D
+ movs r3, 0xE
+ bl sub_8002554
+ str r4, [sp]
+ str r6, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x8
+ movs r2, 0
+ movs r3, 0xF
+ bl sub_8002554
+ str r4, [sp]
+ str r6, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x9
+ movs r2, 0x1
+ movs r3, 0xF
+ bl sub_8002554
+ mov r0, r8
+ str r0, [sp]
+ str r6, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xA
+ movs r2, 0x2
+ movs r3, 0xF
+ bl sub_8002554
+ str r4, [sp]
+ str r6, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xB
+ movs r2, 0x1C
+ movs r3, 0xF
+ bl sub_8002554
+ str r4, [sp]
+ str r6, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xC
+ movs r2, 0x1D
+ movs r3, 0xF
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xD
+ movs r2, 0
+ movs r3, 0x13
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xE
+ movs r2, 0x1
+ movs r3, 0x13
+ bl sub_8002554
+ mov r0, r8
+ str r0, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0xF
+ movs r2, 0x2
+ movs r3, 0x13
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x10
+ movs r2, 0x1C
+ movs r3, 0x13
+ bl sub_8002554
+ str r4, [sp]
+ str r4, [sp, 0x4]
+ str r5, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0x11
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl sub_8002554
+ add sp, 0xC
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80EB524
+
+ .align 2, 0 @ Don't pad with nop.