Files
Pokemon-Firered/asm/battle_controller_oak.s
T
sceptillion 670fef77ac first commit
2017-12-16 23:54:22 -08:00

7888 lines
139 KiB
ArmAsm

.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.