Files
ph/asm/ov18.s
T
2023-09-16 20:31:32 +02:00

25311 lines
542 KiB
ArmAsm

.include "macros/function.inc"
.include "global.inc"
.text
.global func_ov18_0215b4a0
arm_func_start func_ov18_0215b4a0
func_ov18_0215b4a0: ; 0x0215b4a0
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
mov sb, r0
mov r8, r1
mov r7, r2
blx func_ov04_0210be04
ldr r0, _0215b638 ; =data_ov18_0216c0e0
mov r1, #0
str r0, [sb]
str r1, [sb, #0x188]
sub r0, r1, #1
str r0, [sb, #0x1ac]
str r1, [sb, #0x1b0]
str r1, [sb, #0x1b4]
str r1, [sb, #0x1b8]
str r1, [sb, #0x1bc]
str r1, [sb, #0x1c0]
str r1, [sb, #0x1c4]
str r1, [sb, #0x1c8]
strb r1, [sb, #0x1cc]
strb r1, [sb, #0x1cd]
str r1, [sb, #0x1d0]
mov r1, #0x10000
str r1, [sb, #0x1d4]
ldr r0, _0215b63c ; =data_027e0ce0
str r1, [sb, #0x1d8]
ldr r1, [r0, #4]
mov r0, r8, lsl #0x2
mov r2, #4
bl func_0202e9f4
str r0, [sb, #0x18c]
cmp r8, #0
mov r5, #0
ble _0215b554
ldr sl, _0215b63c ; =data_027e0ce0
mov r6, r7, lsl #0x2
mov r4, #4
_0215b530:
ldr r1, [sl, #4]
mov r0, r6
mov r2, r4
bl func_0202e9f4
ldr r1, [sb, #0x18c]
str r0, [r1, r5, lsl #2]
add r5, r5, #1
cmp r5, r8
blt _0215b530
_0215b554:
cmp r8, #0
mov r4, #0
ble _0215b598
mov r1, r4
mov r2, r4
_0215b568:
mov r3, r2
cmp r7, #0
ble _0215b58c
_0215b574:
ldr r0, [sb, #0x18c]
ldr r0, [r0, r4, lsl #2]
str r1, [r0, r3, lsl #2]
add r3, r3, #1
cmp r3, r7
blt _0215b574
_0215b58c:
add r4, r4, #1
cmp r4, r8
blt _0215b568
_0215b598:
mov r2, #0
mov r1, r2
_0215b5a0:
add r0, sb, r2, lsl #2
add r2, r2, #1
str r1, [r0, #0x190]
cmp r2, #4
blo _0215b5a0
mov r0, sb
bl func_ov18_0215c650
mov r0, sb
bl func_ov18_0215c6d0
ldr r0, [sb, #0x1c0]
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
ldr r1, [r0, #8]
ldr r5, _0215b640 ; =data_ov18_0216b484
add r4, r0, r1
mov r6, #0
_0215b5e4:
mov r1, r5
add r0, r4, #4
bl func_0201e388
add r1, sb, r6, lsl #2
add r6, r6, #1
str r0, [r1, #0x1a0]
cmp r6, #3
add r5, r5, #0x10
blo _0215b5e4
ldr r1, _0215b644 ; =data_ov18_0216b42c
add r0, r4, #4
bl func_0201e388
ldr r1, _0215b648 ; =data_027e0d38
str r0, [sb, #0x1ac]
ldr r0, [r1]
ldr r0, [r0, #0x14]
cmp r0, #1
beq _0215b630
bl func_ov18_0216927c
_0215b630:
mov r0, sb
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
arm_func_end func_ov18_0215b4a0
_0215b638: .word data_ov18_0216c0e0
_0215b63c: .word data_027e0ce0
_0215b640: .word data_ov18_0216b484
_0215b644: .word data_ov18_0216b42c
_0215b648: .word data_027e0d38
.global func_ov18_0215b64c
arm_func_start func_ov18_0215b64c
func_ov18_0215b64c: ; 0x0215b64c
stmdb sp!, {r3, r4, r5, r6, r7, lr}
ldr r1, _0215b74c ; =data_ov18_0216c0e0
mov r5, r0
ldr r0, _0215b750 ; =data_027e0d38
str r1, [r5]
ldr r0, [r0]
ldr r0, [r0, #0x14]
cmp r0, #1
beq _0215b674
bl func_ov18_021692c4
_0215b674:
mov r0, r5
bl func_ov18_0215c9ac
mov r0, r5
bl func_ov18_0215c6ac
mov r4, #0
ldr r6, _0215b754 ; =data_027e0f6c
mov r7, r4
_0215b690:
add r0, r5, r4, lsl #2
ldr r1, [r0, #0x190]
cmp r1, #0
beq _0215b6cc
ldr r0, [r6]
bl func_ov00_02093af0
add r0, r5, r4, lsl #2
ldr r0, [r0, #0x190]
cmp r0, #0
beq _0215b6c4
ldr r1, [r0]
ldr r1, [r1, #4]
blx r1
_0215b6c4:
add r0, r5, r4, lsl #2
str r7, [r0, #0x190]
_0215b6cc:
add r4, r4, #1
cmp r4, #4
blo _0215b690
ldr r0, [r5, #0x18c]
cmp r0, #0
beq _0215b734
ldrh r0, [r5, #0x28]
mov r6, #0
cmp r0, #0
ble _0215b724
mov r4, r6
_0215b6f8:
ldr r0, [r5, #0x18c]
cmp r0, #0
beq _0215b714
ldr r0, [r0, r6, lsl #2]
bl func_0202ea18
ldr r0, [r5, #0x18c]
str r4, [r0, r6, lsl #2]
_0215b714:
ldrh r0, [r5, #0x28]
add r6, r6, #1
cmp r6, r0
blt _0215b6f8
_0215b724:
ldr r0, [r5, #0x18c]
bl func_0202ea18
mov r0, #0
str r0, [r5, #0x18c]
_0215b734:
mov r1, #0
mov r0, r5
str r1, [r5, #0x188]
bl func_ov00_0207da38
mov r0, r5
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov18_0215b64c
_0215b74c: .word data_ov18_0216c0e0
_0215b750: .word data_027e0d38
_0215b754: .word data_027e0f6c
.global func_ov18_0215b758
arm_func_start func_ov18_0215b758
func_ov18_0215b758: ; 0x0215b758
stmdb sp!, {r3, r4, r5, r6, r7, lr}
ldr r1, _0215b860 ; =data_ov18_0216c0e0
mov r5, r0
ldr r0, _0215b864 ; =data_027e0d38
str r1, [r5]
ldr r0, [r0]
ldr r0, [r0, #0x14]
cmp r0, #1
beq _0215b780
bl func_ov18_021692c4
_0215b780:
mov r0, r5
bl func_ov18_0215c9ac
mov r0, r5
bl func_ov18_0215c6ac
mov r4, #0
ldr r6, _0215b868 ; =data_027e0f6c
mov r7, r4
_0215b79c:
add r0, r5, r4, lsl #2
ldr r1, [r0, #0x190]
cmp r1, #0
beq _0215b7d8
ldr r0, [r6]
bl func_ov00_02093af0
add r0, r5, r4, lsl #2
ldr r0, [r0, #0x190]
cmp r0, #0
beq _0215b7d0
ldr r1, [r0]
ldr r1, [r1, #4]
blx r1
_0215b7d0:
add r0, r5, r4, lsl #2
str r7, [r0, #0x190]
_0215b7d8:
add r4, r4, #1
cmp r4, #4
blo _0215b79c
ldr r0, [r5, #0x18c]
cmp r0, #0
beq _0215b840
ldrh r0, [r5, #0x28]
mov r6, #0
cmp r0, #0
ble _0215b830
mov r4, r6
_0215b804:
ldr r0, [r5, #0x18c]
cmp r0, #0
beq _0215b820
ldr r0, [r0, r6, lsl #2]
bl func_0202ea18
ldr r0, [r5, #0x18c]
str r4, [r0, r6, lsl #2]
_0215b820:
ldrh r0, [r5, #0x28]
add r6, r6, #1
cmp r6, r0
blt _0215b804
_0215b830:
ldr r0, [r5, #0x18c]
bl func_0202ea18
mov r0, #0
str r0, [r5, #0x18c]
_0215b840:
mov r1, #0
mov r0, r5
str r1, [r5, #0x188]
bl func_ov00_0207da38
mov r0, r5
bl func_0202ea0c
mov r0, r5
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov18_0215b758
_0215b860: .word data_ov18_0216c0e0
_0215b864: .word data_027e0d38
_0215b868: .word data_027e0f6c
.global func_ov18_0215b86c
arm_func_start func_ov18_0215b86c
func_ov18_0215b86c: ; 0x0215b86c
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x70
ldrb r5, [sp, #0x98]
ldrb r4, [sp, #0x9c]
mov sb, r0
str r5, [sp]
mov r8, r3
str r4, [sp, #4]
blx func_ov04_0210c1f8
ldr r0, _0215bd68 ; =data_027e0e60
add r1, sb, #0x1b0
ldr r0, [r0]
bl func_ov00_0208344c
ldrb r2, [sb, #0x12]
ldr r0, _0215bd6c ; =0x00001333
mov r1, #0
sub r2, r2, #1
mov r2, r2, lsl #0xc
umull r4, r3, r2, r0
mla r3, r2, r1, r3
mov r1, r2, asr #0x1f
mla r3, r1, r0, r3
adds r4, r4, #0x800
adc r0, r3, #0
mov r1, r4, lsr #0xc
orr r1, r1, r0, lsl #20
str r1, [sb, #0x1b4]
ldr r0, _0215bd68 ; =data_027e0e60
add r1, sp, #0x64
ldr r0, [r0]
bl func_ov00_0208340c
ldr r0, _0215bd68 ; =data_027e0e60
add r1, sp, #0x58
ldr r0, [r0]
bl func_ov00_0208342c
ldr r0, _0215bd68 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_02083374
ldr r1, _0215bd68 ; =data_027e0e60
mov r5, r0
ldr r0, [r1]
bl func_ov00_02083384
mov sl, #0x4000
rsb sl, sl, #0
mov r6, r0
sub r0, sl, #0x4000
ldr r4, _0215bd70 ; =0xffffd99a
mov r7, #0
str r0, [sp, #8]
mov fp, sl, asr #0xd
_0215b934:
mov r0, r8
mov r1, r7
bl func_ov00_0207d634
cmp r0, #0
beq _0215bd54
ldr r1, _0215bd74 ; =data_027e0ce0
mov r0, #0x2c
ldr r1, [r1, #4]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _0215b990
ldr r1, _0215bd78 ; =data_ov00_020e2f04
str r1, [r0]
mov r1, #1
strb r1, [r0, #4]
mov r1, #0
strb r1, [r0, #5]
str r1, [r0, #8]
str r1, [r0, #0xc]
str r1, [r0, #0x10]
ldr r1, _0215bd7c ; =data_ov00_020e2dd8
str r1, [r0]
_0215b990:
add r1, sb, r7, lsl #2
str r0, [r1, #0x190]
mov r0, r8
mov r1, r7
bl func_ov00_0207d6ec
mov r1, #0
str r1, [sp, #0xc]
mov r1, #0x47
str r1, [sp, #0x10]
mov r1, #0
str r1, [sp, #0x14]
str r1, [sp, #0x18]
strh r1, [sp, #0x20]
mov r1, #0xff
strb r1, [sp, #0x22]
mov r1, #0
str fp, [sp, #0x1c]
strb r1, [sp, #0x23]
strb r1, [sp, #0x24]
strb r1, [sp, #0x25]
ldr r1, [r8]
cmp r7, #3
strb r0, [sp, #0x22]
mov r0, #0xfd
str r1, [sp, #0x10]
str r0, [sp, #0x14]
addls pc, pc, r7, lsl #2
b _0215bce4
_0215ba00: ; jump table
b _0215ba10 ; case 0
b _0215bac8 ; case 1
b _0215bb78 ; case 2
b _0215bc30 ; case 3
_0215ba10:
mov r0, #0xfe
strb r0, [sp, #0x23]
mov r0, #0x4000
strh r0, [sp, #0x20]
ldrb r0, [r8, #0x87]
cmp r0, #1
mov r0, #0xa000
bne _0215ba68
ldr r2, [sp, #0x58]
str r0, [sp, #0x44]
sub r0, r2, #0x1000
str r0, [sp, #0x4c]
add r0, r2, #0x3000
ldr r1, [sp, #0x60]
str r0, [sp, #0x40]
sub r0, r1, r6
sub r0, r0, #0x6000
str r0, [sp, #0x54]
add r0, r1, #0x6000
str r4, [sp, #0x50]
str r0, [sp, #0x48]
b _0215ba94
_0215ba68:
ldr r2, [sp, #0x58]
str r0, [sp, #0x44]
ldr r1, [sp, #0x60]
sub r0, r2, #0x1000
str r0, [sp, #0x4c]
add r0, r2, #0x3000
str r0, [sp, #0x40]
sub r0, r1, r6
str r4, [sp, #0x50]
str r1, [sp, #0x48]
str r0, [sp, #0x54]
_0215ba94:
ldr r1, [sp, #0x4c]
ldr r0, [sp, #0x50]
str r1, [sp, #0x28]
str r0, [sp, #0x2c]
ldr r1, [sp, #0x54]
ldr r0, [sp, #0x40]
str r1, [sp, #0x30]
str r0, [sp, #0x34]
ldr r1, [sp, #0x44]
ldr r0, [sp, #0x48]
str r1, [sp, #0x38]
str r0, [sp, #0x3c]
b _0215bce4
_0215bac8:
strh sl, [sp, #0x20]
strb r0, [sp, #0x23]
ldrb r0, [r8, #0x87]
cmp r0, #1
mov r0, #0xa000
bne _0215bb18
ldr r2, [sp, #0x64]
str r0, [sp, #0x44]
sub r0, r2, #0x3000
str r0, [sp, #0x4c]
add r0, r2, #0x1000
ldr r1, [sp, #0x6c]
str r0, [sp, #0x40]
sub r0, r1, #0x6000
str r0, [sp, #0x54]
add r0, r1, r6
add r0, r0, #0x6000
str r4, [sp, #0x50]
str r0, [sp, #0x48]
b _0215bb44
_0215bb18:
ldr r2, [sp, #0x64]
str r0, [sp, #0x44]
ldr r1, [sp, #0x6c]
sub r0, r2, #0x3000
str r0, [sp, #0x4c]
add r0, r2, #0x1000
str r0, [sp, #0x40]
add r0, r1, r6
str r4, [sp, #0x50]
str r1, [sp, #0x54]
str r0, [sp, #0x48]
_0215bb44:
ldr r1, [sp, #0x4c]
ldr r0, [sp, #0x50]
str r1, [sp, #0x28]
str r0, [sp, #0x2c]
ldr r1, [sp, #0x54]
ldr r0, [sp, #0x40]
str r1, [sp, #0x30]
str r0, [sp, #0x34]
ldr r1, [sp, #0x44]
ldr r0, [sp, #0x48]
str r1, [sp, #0x38]
str r0, [sp, #0x3c]
b _0215bce4
_0215bb78:
mov r0, #0xfc
strb r0, [sp, #0x23]
mov r0, #0
strh r0, [sp, #0x20]
ldrb r0, [r8, #0x86]
cmp r0, #1
mov r0, #0xa000
bne _0215bbd0
ldr r2, [sp, #0x58]
str r0, [sp, #0x44]
sub r0, r2, r5
sub r0, r0, #0x6000
str r0, [sp, #0x4c]
add r0, r2, #0x6000
ldr r1, [sp, #0x60]
str r0, [sp, #0x40]
sub r0, r1, #0x1000
str r0, [sp, #0x54]
add r0, r1, #0x3000
str r4, [sp, #0x50]
str r0, [sp, #0x48]
b _0215bbfc
_0215bbd0:
str r0, [sp, #0x44]
ldr r0, [sp, #0x58]
ldr r1, [sp, #0x60]
str r0, [sp, #0x40]
sub r0, r0, r5
str r0, [sp, #0x4c]
sub r0, r1, #0x1000
str r0, [sp, #0x54]
add r0, r1, #0x3000
str r4, [sp, #0x50]
str r0, [sp, #0x48]
_0215bbfc:
ldr r1, [sp, #0x4c]
ldr r0, [sp, #0x50]
str r1, [sp, #0x28]
str r0, [sp, #0x2c]
ldr r1, [sp, #0x54]
ldr r0, [sp, #0x40]
str r1, [sp, #0x30]
str r0, [sp, #0x34]
ldr r1, [sp, #0x44]
ldr r0, [sp, #0x48]
str r1, [sp, #0x38]
str r0, [sp, #0x3c]
b _0215bce4
_0215bc30:
mov r0, #0xfb
strb r0, [sp, #0x23]
ldr r0, [sp, #8]
strh r0, [sp, #0x20]
ldrb r0, [r8, #0x86]
cmp r0, #1
mov r0, #0xa000
bne _0215bc88
ldr r2, [sp, #0x64]
str r0, [sp, #0x44]
sub r0, r2, #0x6000
str r0, [sp, #0x4c]
add r0, r2, r5
add r0, r0, #0x6000
ldr r1, [sp, #0x6c]
str r0, [sp, #0x40]
sub r0, r1, #0x3000
str r0, [sp, #0x54]
add r0, r1, #0x1000
str r4, [sp, #0x50]
str r0, [sp, #0x48]
b _0215bcb4
_0215bc88:
str r0, [sp, #0x44]
ldr r0, [sp, #0x64]
ldr r1, [sp, #0x6c]
str r0, [sp, #0x4c]
add r0, r0, r5
str r0, [sp, #0x40]
sub r0, r1, #0x3000
str r0, [sp, #0x54]
add r0, r1, #0x1000
str r4, [sp, #0x50]
str r0, [sp, #0x48]
_0215bcb4:
ldr r1, [sp, #0x4c]
ldr r0, [sp, #0x50]
str r1, [sp, #0x28]
str r0, [sp, #0x2c]
ldr r1, [sp, #0x54]
ldr r0, [sp, #0x40]
str r1, [sp, #0x30]
str r0, [sp, #0x34]
ldr r1, [sp, #0x44]
ldr r0, [sp, #0x48]
str r1, [sp, #0x38]
str r0, [sp, #0x3c]
_0215bce4:
mov r0, sb
add r1, sp, #0x10
bl func_ov00_02080140
strb r0, [sp, #0x24]
mov r1, #0
str r1, [sp]
ldr r1, [sp, #0xc]
and r0, r0, #0xff
bic r1, r1, #0x3f0000
orr r0, r1, r0, lsl #16
bic r0, r0, #0x1f
orr r0, r0, #2
orr r0, r0, #0x8000
bic r0, r0, #0x6000
orr r3, r0, #0x31c00000
add r0, sb, r7, lsl #2
ldr r0, [r0, #0x190]
add r1, sp, #0x28
ldr ip, [r0]
mov r2, #4
ldr ip, [ip, #0x14]
str r3, [sp, #0xc]
blx ip
ldr r0, _0215bd80 ; =data_027e0f6c
add r1, sb, r7, lsl #2
ldr r0, [r0]
ldr r1, [r1, #0x190]
bl func_ov00_02093a5c
_0215bd54:
add r7, r7, #1
cmp r7, #4
blt _0215b934
add sp, sp, #0x70
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_0215b86c
_0215bd68: .word data_027e0e60
_0215bd6c: .word 0x00001333
_0215bd70: .word 0xffffd99a
_0215bd74: .word data_027e0ce0
_0215bd78: .word data_ov00_020e2f04
_0215bd7c: .word data_ov00_020e2dd8
_0215bd80: .word data_027e0f6c
.global func_ov18_0215bd84
arm_func_start func_ov18_0215bd84
func_ov18_0215bd84: ; 0x0215bd84
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
mov sb, r0
ldrh r0, [sb, #0x28]
mov r7, #0
cmp r0, #0
ble _0215be0c
add r4, sp, #0
mov r6, r7
_0215bda4:
ldrh r0, [sb, #0x2a]
mov r8, r6
cmp r0, #0
ble _0215bdfc
and r5, r7, #0xff
_0215bdb8:
mov r0, sb
strb r5, [sp]
strb r8, [sp, #1]
ldr r2, [r0]
mov r1, r4
ldr r2, [r2, #0x60]
blx r2
ldr r1, [sb, #0x40]
add r8, r8, #1
cmp r0, r1
strgt r0, [sb, #0x40]
ldr r1, [sb, #0x44]
cmp r0, r1
strlt r0, [sb, #0x44]
ldrh r0, [sb, #0x2a]
cmp r8, r0
blt _0215bdb8
_0215bdfc:
ldrh r0, [sb, #0x28]
add r7, r7, #1
cmp r7, r0
blt _0215bda4
_0215be0c:
mov r0, sb
blx func_ov04_0210bfa8
mov r1, #0
strb r1, [sb, #0x1cd]
ldrb r0, [sb, #0xc]
cmp r0, #0
beq _0215bea8
ldrb r0, [sb, #4]
cmp r0, #0
movne r0, #1
strneb r0, [sb, #0x1cc]
bne _0215be5c
ldr r0, _0215beb0 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_020849c0
cmp r0, #0
movne r0, #1
strneb r0, [sb, #0x1cc]
moveq r0, #0
streqb r0, [sb, #0x1cc]
_0215be5c:
ldr r0, [sb, #0x1c4]
cmp r0, #0
beq _0215be70
mov r1, #0
bl func_ov00_020c0e24
_0215be70:
ldr r0, [sb, #0x1c8]
cmp r0, #0
beq _0215be84
mov r1, #0
bl func_ov00_020c0e24
_0215be84:
ldr r0, [sb, #0x1c0]
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
str sb, [r0, #0x30]
ldr r0, [sb, #0x1c0]
ldr r1, _0215beb4 ; =func_ov18_0215ca24
add r0, r0, #4
bl func_02018cb8
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
_0215bea8:
strb r1, [sb, #0x1cc]
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov18_0215bd84
_0215beb0: .word data_027e0e60
_0215beb4: .word func_ov18_0215ca24
.global func_ov18_0215beb8
arm_func_start func_ov18_0215beb8
func_ov18_0215beb8: ; 0x0215beb8
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
mov r5, r1
bl func_ov05_02111bc0
ldr r0, [r6, #0x1c0]
cmp r0, #0
ldrneb r0, [r6, #0x1cc]
cmpne r0, #0
ldmeqia sp!, {r4, r5, r6, pc}
ldr r0, [r6, #0x1c4]
bl func_ov00_020c0e04
ldr r0, [r6, #0x1c8]
bl func_ov00_020c0e04
ldr r0, _0215bfb8 ; =data_027e0d38
mov r4, #0x1f
ldr r0, [r0]
ldr r0, [r0, #0x14]
cmp r0, #0
bne _0215bf7c
ldr r0, _0215bfbc ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097738
cmp r0, #0
ldreq r0, _0215bfc0 ; =data_027e0c68
ldreqb r0, [r0, #4]
cmpeq r0, #0
beq _0215bf78
ldr r0, _0215bfc4 ; =data_027e0f64
ldr r0, [r0]
add r0, r0, r5, lsl #2
ldr r0, [r0, #4]
ldr r0, [r0, #0x15c]
cmp r0, #0x2f
bgt _0215bf68
bge _0215bf7c
cmp r0, #0xa
bgt _0215bf70
cmp r0, #4
blt _0215bf70
beq _0215bf70
cmp r0, #5
beq _0215bf7c
cmp r0, #0xa
b _0215bf70
_0215bf68:
cmp r0, #0x30
beq _0215bf7c
_0215bf70:
mov r4, #0
b _0215bf7c
_0215bf78:
mov r4, #0
_0215bf7c:
ldr r0, [r6, #0x1c0]
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
ldr r1, [r6, #0x1ac]
mov r2, r4
bl func_02019570
ldr r0, _0215bfb8 ; =data_027e0d38
ldr r0, [r0]
ldr r0, [r0, #0x14]
cmp r0, #1
ldmeqia sp!, {r4, r5, r6, pc}
mov r0, r6
bl func_ov18_0215bfc8
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_0215beb8
_0215bfb8: .word data_027e0d38
_0215bfbc: .word data_027e0f74
_0215bfc0: .word data_027e0c68
_0215bfc4: .word data_027e0f64
.global func_ov18_0215bfc8
arm_func_start func_ov18_0215bfc8
func_ov18_0215bfc8: ; 0x0215bfc8
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x10
ldr r2, _0215c12c ; =data_027e0f94
ldr r1, _0215c130 ; =data_027e0e60
ldr r4, [r2]
ldr r3, [r2, #4]
str r4, [sp, #4]
str r3, [sp, #8]
ldr r3, [r2, #8]
mov r5, r0
ldr r1, [r1]
add r0, sp, #0
add r2, sp, #4
str r3, [sp, #0xc]
bl func_ov00_02083a1c
mov r0, r5
ldr r2, [r0]
add r1, sp, #0
ldr r2, [r2, #0x64]
blx r2
add r1, sp, #0
mov r0, r5
bl func_ov18_0215c34c
mov r4, r0
add r1, sp, #0
mov r0, r5
bl func_ov18_0215c368
cmp r4, #0
addeq sp, sp, #0x10
ldmeqia sp!, {r3, r4, r5, pc}
cmp r4, #1
bne _0215c050
ldr r4, [r5, #0x1d0]
b _0215c06c
_0215c050:
str r4, [r5, #0x1d0]
mov r0, r0, lsl #0xc
str r0, [r5, #0x1d4]
ldrb r0, [r5, #0x1cd]
cmp r0, #0
ldreq r0, [r5, #0x1d4]
streq r0, [r5, #0x1d8]
_0215c06c:
ldr r1, [r5, #0x1d4]
ldr r2, _0215c134 ; =0x0000019a
add r0, r5, #0x1d8
bl func_0202b0f4
ldr r0, [r5, #0x1d8]
cmp r0, #0x10000
addge sp, sp, #0x10
ldmgeia sp!, {r3, r4, r5, pc}
ldr r0, [r5, #0x1c4]
bl func_ov00_020c0d68
mov ip, #0
ldr r2, _0215c138 ; =data_ov18_0216b43c
ldr r3, _0215c13c ; =data_ov18_0216b44c
mov lr, ip
_0215c0a4:
cmp r4, #2
bne _0215c0c0
ldr r1, [r3, lr, lsl #2]
cmp r0, r1
bne _0215c0d0
mov ip, #1
b _0215c0dc
_0215c0c0:
ldr r1, [r2, lr, lsl #2]
cmp r0, r1
moveq ip, #1
beq _0215c0dc
_0215c0d0:
add lr, lr, #1
cmp lr, #4
blo _0215c0a4
_0215c0dc:
cmp ip, #0
beq _0215c108
bl func_ov18_0216926c
ldr r1, _0215c140 ; =data_ov18_0216b46c
ldr r2, [r5, #0x1d8]
ldr r1, [r1, r4, lsl #2]
bl func_ov18_02169300
mov r0, #1
add sp, sp, #0x10
strb r0, [r5, #0x1cd]
ldmia sp!, {r3, r4, r5, pc}
_0215c108:
ldrb r0, [r5, #0x1cd]
cmp r0, #0
addeq sp, sp, #0x10
ldmeqia sp!, {r3, r4, r5, pc}
bl func_ov18_0216926c
ldr r1, [r5, #0x1d8]
bl func_ov18_0216933c
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0215bfc8
_0215c12c: .word data_027e0f94
_0215c130: .word data_027e0e60
_0215c134: .word 0x0000019a
_0215c138: .word data_ov18_0216b43c
_0215c13c: .word data_ov18_0216b44c
_0215c140: .word data_ov18_0216b46c
.global func_ov18_0215c144
arm_func_start func_ov18_0215c144
func_ov18_0215c144: ; 0x0215c144
stmdb sp!, {r4, r5, r6, r7, r8, lr}
mov r4, r0
bl func_ov05_02111c00
ldr r0, [r4, #0x1c0]
cmp r0, #0
ldrneb r0, [r4, #0x1cc]
cmpne r0, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
ldr r7, _0215c1c4 ; =data_ov00_020e9360
mov r8, #0
mov r6, #3
_0215c170:
mov r0, r7
mov r1, r6
bl func_ov00_02079e68
mov r5, r0
ldr r0, [r4, #0x1c0]
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
add r1, r4, r8, lsl #2
ldr r1, [r1, #0x1a0]
mov r2, r5
bl func_02019534
add r8, r8, #1
cmp r8, #3
blo _0215c170
ldr r0, [r4, #0x1c0]
add r1, r4, #0x1b0
ldr r2, [r0]
ldr r2, [r2, #0x18]
blx r2
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov18_0215c144
_0215c1c4: .word data_ov00_020e9360
.global func_ov18_0215c1c8
arm_func_start func_ov18_0215c1c8
func_ov18_0215c1c8: ; 0x0215c1c8
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r5, r0
blx func_ov04_0210c5cc
ldrh r7, [r5, #0x28]
ldrh r6, [r5, #0x2a]
mov r3, #0
cmp r7, #0
ble _0215c220
mov r1, r3
mov r2, r3
_0215c1f0:
mov r4, r2
cmp r6, #0
ble _0215c214
_0215c1fc:
ldr r0, [r5, #0x18c]
ldr r0, [r0, r3, lsl #2]
str r1, [r0, r4, lsl #2]
add r4, r4, #1
cmp r4, r6
blt _0215c1fc
_0215c214:
add r3, r3, #1
cmp r3, r7
blt _0215c1f0
_0215c220:
mov r4, #0
ldr r6, _0215c278 ; =data_027e0f6c
mov r7, r4
_0215c22c:
add r0, r5, r4, lsl #2
ldr r1, [r0, #0x190]
cmp r1, #0
beq _0215c268
ldr r0, [r6]
bl func_ov00_02093af0
add r0, r5, r4, lsl #2
ldr r0, [r0, #0x190]
cmp r0, #0
beq _0215c260
ldr r1, [r0]
ldr r1, [r1, #4]
blx r1
_0215c260:
add r0, r5, r4, lsl #2
str r7, [r0, #0x190]
_0215c268:
add r4, r4, #1
cmp r4, #4
blo _0215c22c
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov18_0215c1c8
_0215c278: .word data_027e0f6c
.global func_ov18_0215c27c
arm_func_start func_ov18_0215c27c
func_ov18_0215c27c: ; 0x0215c27c
str r1, [r0, #0x188]
bx lr
arm_func_end func_ov18_0215c27c
.global func_ov18_0215c284
arm_func_start func_ov18_0215c284
func_ov18_0215c284: ; 0x0215c284
ldr ip, _0215c28c ; =func_ov00_0207f4a4
bx ip
.align 2, 0
arm_func_end func_ov18_0215c284
_0215c28c: .word func_ov00_0207f4a4
.global func_ov18_0215c290
arm_func_start func_ov18_0215c290
func_ov18_0215c290: ; 0x0215c290
stmdb sp!, {r3, lr}
ldr r2, [r0, #0x188]
cmp r2, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov18_0215c380
ldrb r0, [r0, #1]
ldmia sp!, {r3, pc}
arm_func_end func_ov18_0215c290
.global func_ov18_0215c2b0
arm_func_start func_ov18_0215c2b0
func_ov18_0215c2b0: ; 0x0215c2b0
stmdb sp!, {r4, lr}
ldr r3, [r0, #0x188]
mov r4, r2
cmp r3, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
bl func_ov18_0215c380
ldrb r1, [r0, #3]
mov r0, #1
tst r1, r0, lsl r4
moveq r0, #0
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0215c2b0
.global func_ov18_0215c2e0
arm_func_start func_ov18_0215c2e0
func_ov18_0215c2e0: ; 0x0215c2e0
stmdb sp!, {r3, lr}
ldr r2, [r0, #0x188]
cmp r2, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov18_0215c380
ldrsb r0, [r0, #2]
ldmia sp!, {r3, pc}
arm_func_end func_ov18_0215c2e0
.global func_ov18_0215c300
arm_func_start func_ov18_0215c300
func_ov18_0215c300: ; 0x0215c300
stmdb sp!, {r3, lr}
ldr r2, [r0, #0x188]
cmp r2, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov18_0215c380
ldrsb r1, [r0, #2]
ldr r0, _0215c328 ; =0x00001333
mul r0, r1, r0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0215c300
_0215c328: .word 0x00001333
.global func_ov18_0215c32c
arm_func_start func_ov18_0215c32c
func_ov18_0215c32c: ; 0x0215c32c
stmdb sp!, {r3, lr}
ldr r2, [r0, #0x188]
cmp r2, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov18_0215c380
ldrb r0, [r0]
ldmia sp!, {r3, pc}
arm_func_end func_ov18_0215c32c
.global func_ov18_0215c34c
arm_func_start func_ov18_0215c34c
func_ov18_0215c34c: ; 0x0215c34c
stmdb sp!, {r3, lr}
ldr r2, [r0]
ldr r2, [r2, #0x64]
blx r2
mov r0, r0, asr #0x5
and r0, r0, #7
ldmia sp!, {r3, pc}
arm_func_end func_ov18_0215c34c
.global func_ov18_0215c368
arm_func_start func_ov18_0215c368
func_ov18_0215c368: ; 0x0215c368
stmdb sp!, {r3, lr}
ldr r2, [r0]
ldr r2, [r2, #0x64]
blx r2
and r0, r0, #0x1f
ldmia sp!, {r3, pc}
arm_func_end func_ov18_0215c368
.global func_ov18_0215c380
arm_func_start func_ov18_0215c380
func_ov18_0215c380: ; 0x0215c380
ldr r3, [r0, #0x188]
ldrb r2, [r1]
ldrb r1, [r1, #1]
ldrh r0, [r3, #8]
add r3, r3, #0xc
mla r0, r1, r0, r2
add r0, r3, r0, lsl #2
bx lr
arm_func_end func_ov18_0215c380
.global func_ov18_0215c3a0
arm_func_start func_ov18_0215c3a0
func_ov18_0215c3a0: ; 0x0215c3a0
ldr ip, [r0, #0x188]
ldrb r3, [r1]
ldrb r1, [r1, #1]
ldrh r0, [ip, #8]
mla r0, r1, r0, r3
add r0, ip, r0, lsl #2
strb r2, [r0, #0xd]
bx lr
arm_func_end func_ov18_0215c3a0
.global func_ov18_0215c3c0
arm_func_start func_ov18_0215c3c0
func_ov18_0215c3c0: ; 0x0215c3c0
stmdb sp!, {r3, lr}
cmp r3, #0
beq _0215c3f8
ldr r0, [r0, #0x188]
ldrb ip, [r1]
ldrb r3, [r1, #1]
ldrh r1, [r0, #8]
add lr, r0, #0xf
mov r0, #1
mla ip, r3, r1, ip
ldrb r1, [lr, ip, lsl #2]
orr r0, r1, r0, lsl r2
strb r0, [lr, ip, lsl #2]
ldmia sp!, {r3, pc}
_0215c3f8:
ldr lr, [r0, #0x188]
mov r0, #1
ldrb ip, [r1]
ldrb r3, [r1, #1]
ldrh r1, [lr, #8]
add lr, lr, #0xf
mvn r0, r0, lsl r2
mla r2, r3, r1, ip
ldrb r1, [lr, r2, lsl #2]
and r0, r1, r0
strb r0, [lr, r2, lsl #2]
ldmia sp!, {r3, pc}
arm_func_end func_ov18_0215c3c0
.global func_ov18_0215c428
arm_func_start func_ov18_0215c428
func_ov18_0215c428: ; 0x0215c428
ldr ip, [r0, #0x188]
ldrb r3, [r1]
ldrb r1, [r1, #1]
ldrh r0, [ip, #8]
mla r0, r1, r0, r3
add r0, ip, r0, lsl #2
strb r2, [r0, #0xe]
bx lr
arm_func_end func_ov18_0215c428
.global func_ov18_0215c448
arm_func_start func_ov18_0215c448
func_ov18_0215c448: ; 0x0215c448
ldrb r2, [r1]
ldr r3, [r0, #0x18c]
ldrb r0, [r1, #1]
ldr r1, [r3, r2, lsl #2]
ldr r0, [r1, r0, lsl #2]
bx lr
arm_func_end func_ov18_0215c448
.global func_ov18_0215c460
arm_func_start func_ov18_0215c460
func_ov18_0215c460: ; 0x0215c460
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
sub sp, sp, #0x1c
mov r5, r2
mov r6, r1
ldr r2, _0215c5bc ; =data_027e0e60
mov r7, r0
ldrb r1, [r5, #1]
ldr r0, [r2]
mov r4, r3
bl func_ov00_02083c50
ldr r2, _0215c5bc ; =data_027e0e60
mov r8, r0
ldrb r1, [r5]
ldr r0, [r2]
bl func_ov00_02083c24
mov r1, #0x5000
str r1, [sp, #0x14]
str r0, [sp, #0x10]
str r8, [sp, #0x18]
mov r0, r7
ldr r3, [r0]
add r1, sp, #0x10
ldr r3, [r3, #0x68]
mov r2, #0
blx r3
str r0, [sp, #0x14]
mov r0, r7
ldr r2, [r0]
mov r1, r5
ldr r2, [r2, #0x54]
blx r2
cmp r0, #0x1c
bgt _0215c504
cmp r0, #0x1b
blt _0215c4f8
cmpne r0, #0x1c
beq _0215c50c
b _0215c538
_0215c4f8:
cmp r0, #0x14
beq _0215c50c
b _0215c538
_0215c504:
cmp r0, #0x47
bne _0215c538
_0215c50c:
cmp r6, #0x6e
bne _0215c528
ldr r0, [sp, #0x14]
add r0, r0, #0x33
add r0, r0, #0x1300
str r0, [sp, #0x14]
b _0215c538
_0215c528:
ldr r0, [sp, #0x14]
cmp r0, #0
movlt r0, #0
strlt r0, [sp, #0x14]
_0215c538:
mvn r0, #0
cmp r6, r0
beq _0215c5b0
ldrb r3, [r5]
ldr r0, [r7, #0x18c]
ldrb r1, [r5, #1]
ldr r0, [r0, r3, lsl #2]
ldr r0, [r0, r1, lsl #2]
cmp r0, #0
bne _0215c5a4
str r1, [sp]
add r0, sp, #0x10
str r0, [sp, #4]
ldr r0, [sp, #0x38]
str r4, [sp, #8]
str r0, [sp, #0xc]
ldr r0, _0215c5c0 ; =data_027e0f68
ldrb r2, [r7, #0x13]
ldr r0, [r0]
mov r1, r6
bl func_ov00_0208d6e0
ldrb r2, [r5]
ldr r3, [r7, #0x18c]
ldrb r1, [r5, #1]
ldr r2, [r3, r2, lsl #2]
str r0, [r2, r1, lsl #2]
b _0215c5b0
_0215c5a4:
add sp, sp, #0x1c
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
_0215c5b0:
mov r0, #1
add sp, sp, #0x1c
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov18_0215c460
_0215c5bc: .word data_027e0e60
_0215c5c0: .word data_027e0f68
.global func_ov18_0215c5c4
arm_func_start func_ov18_0215c5c4
func_ov18_0215c5c4: ; 0x0215c5c4
stmdb sp!, {r3, r4, r5, lr}
ldr r2, [r0]
mov r5, r0
ldr r2, [r2, #0x78]
mov r4, r1
blx r2
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldrb r1, [r4]
ldr r2, [r5, #0x18c]
ldrb r0, [r4, #1]
ldr r1, [r2, r1, lsl #2]
mov r2, #0
str r2, [r1, r0, lsl #2]
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov18_0215c5c4
.global func_ov18_0215c608
arm_func_start func_ov18_0215c608
func_ov18_0215c608: ; 0x0215c608
stmdb sp!, {r4, r5, r6, lr}
mov r4, r0
mov r6, r1
mov r5, r2
bl func_ov00_0207e060
ldr r0, [r4, #0x1c0]
cmp r0, #0
ldmeqia sp!, {r4, r5, r6, pc}
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
mov r4, r0
mov r1, r6
bl func_020196fc
mov r0, r4
mov r1, r5
bl func_020196bc
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov18_0215c608
.global func_ov18_0215c650
arm_func_start func_ov18_0215c650
func_ov18_0215c650: ; 0x0215c650
stmdb sp!, {r4, lr}
sub sp, sp, #8
mov r4, r0
ldr r1, [r4, #0x1bc]
cmp r1, #0
beq _0215c66c
bl func_ov18_0215c6ac
_0215c66c:
mov r0, #0x10
str r0, [sp]
mov r0, #0
ldr r1, _0215c6a4 ; =data_027e0ce0
str r0, [sp, #4]
ldr r0, _0215c6a8 ; =data_ov18_0216c0c0
ldr r1, [r1, #4]
ldr r2, [r0, #4]
ldr r3, [r0, #0x14]
mov r0, #0x99
blx func_0202d598
str r0, [r4, #0x1bc]
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215c650
_0215c6a4: .word data_027e0ce0
_0215c6a8: .word data_ov18_0216c0c0
.global func_ov18_0215c6ac
arm_func_start func_ov18_0215c6ac
func_ov18_0215c6ac: ; 0x0215c6ac
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x1bc]
cmp r0, #0
ldmeqia sp!, {r4, pc}
blx func_0202d5dc
mov r0, #0
str r0, [r4, #0x1bc]
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0215c6ac
.global func_ov18_0215c6d0
arm_func_start func_ov18_0215c6d0
func_ov18_0215c6d0: ; 0x0215c6d0
stmdb sp!, {r4, r5, r6, r7, lr}
sub sp, sp, #0x44
mov r6, r0
ldr r1, [r6, #0x1c0]
cmp r1, #0
beq _0215c6ec
bl func_ov18_0215c9ac
_0215c6ec:
ldr r0, [r6, #0x1bc]
cmp r0, #0
bne _0215c700
mov r0, r6
bl func_ov18_0215c650
_0215c700:
ldr r1, _0215c908 ; =data_ov18_0216c0c0
mov r5, #0
ldr r3, [r1, #0xc]
ldr r4, _0215c90c ; =data_02057840
ldr r2, _0215c910 ; =data_0205785c
add r0, sp, #0x34
str r5, [sp, #0x38]
str r5, [sp, #0x3c]
str r5, [sp, #0x40]
str r4, [sp, #0x34]
str r3, [sp, #0x24]
str r5, [sp, #0x28]
str r5, [sp, #0x2c]
strb r5, [sp, #0x30]
str r2, [sp, #0x20]
ldr r2, [r0]
ldr r4, [r1]
ldr r2, [r2, #0xc]
blx r2
add r0, sp, #0x34
mov r1, #0x10
str r4, [sp, #0x38]
blx func_0203014c
add r0, sp, #0x34
add r1, sp, #0x20
mov r2, #1
mov r3, r5
blx func_ov00_020bd728
mov r5, r0
ldrh r2, [r5, #0xe]
ldr r1, _0215c914 ; =data_027e0ce0
mov r0, #0x5c
add r2, r5, r2
ldr r4, [r2, #0xc]
ldr r1, [r1, #4]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _0215c7a4
add r1, r5, r4
blx func_ov00_020a9588
_0215c7a4:
str r0, [r6, #0x1c0]
mov r3, #0
ldr r2, _0215c90c ; =data_02057840
ldr r1, _0215c908 ; =data_ov18_0216c0c0
add r0, sp, #0x10
str r3, [sp, #0x14]
str r3, [sp, #0x18]
str r3, [sp, #0x1c]
str r2, [sp, #0x10]
ldr r2, [r0]
ldr r7, [r1, #8]
ldr r2, [r2, #0xc]
blx r2
add r0, sp, #0x10
mov r1, #0x10
str r7, [sp, #0x14]
blx func_0203014c
ldr r1, _0215c918 ; =data_ov18_0216b45c
add r0, sp, #0x10
bl func_ov00_020c0bdc
ldr r1, _0215c914 ; =data_027e0ce0
mov r7, r0
ldr r1, [r1, #4]
mov r0, #0x24
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _0215c824
mov r1, r7
add r2, r5, r4
mov r3, #4
bl func_ov18_0215c91c
_0215c824:
str r0, [r6, #0x1c4]
mov r1, #0
bl func_ov00_020c0e5c
ldr r0, [r6, #0x1c0]
ldr r1, [r6, #0x1c4]
ldr r2, [r0]
ldr r2, [r2, #0x24]
blx r2
mov r2, #0
ldr r0, _0215c90c ; =data_02057840
ldr r1, _0215c908 ; =data_ov18_0216c0c0
str r0, [sp]
add r0, sp, #0
str r2, [sp, #4]
str r2, [sp, #8]
str r2, [sp, #0xc]
ldr r7, [r1, #0x10]
ldr r1, [r0]
ldr r1, [r1, #0xc]
blx r1
add r0, sp, #0
mov r1, #0x10
str r7, [sp, #4]
blx func_0203014c
ldr r1, _0215c918 ; =data_ov18_0216b45c
add r0, sp, #0
bl func_ov00_020c0bdc
ldr r1, _0215c914 ; =data_027e0ce0
mov r7, r0
ldr r1, [r1, #4]
mov r0, #0x24
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _0215c8c0
mov r1, r7
add r2, r5, r4
mov r3, #4
bl func_ov18_0215c964
_0215c8c0:
str r0, [r6, #0x1c8]
mov r1, #0
bl func_ov00_020c0e5c
ldr r0, [r6, #0x1c0]
ldr r1, [r6, #0x1c8]
ldr r2, [r0]
ldr r2, [r2, #0x24]
blx r2
add r0, sp, #0
blx func_0203010c
add r0, sp, #0x10
blx func_0203010c
add r0, sp, #0x20
blx func_0203005c
add r0, sp, #0x34
blx func_0203010c
add sp, sp, #0x44
ldmia sp!, {r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov18_0215c6d0
_0215c908: .word data_ov18_0216c0c0
_0215c90c: .word data_02057840
_0215c910: .word data_0205785c
_0215c914: .word data_027e0ce0
_0215c918: .word data_ov18_0216b45c
.global func_ov18_0215c91c
arm_func_start func_ov18_0215c91c
func_ov18_0215c91c: ; 0x0215c91c
stmdb sp!, {r4, r5, r6, lr}
mov r5, r1
mov r1, #0
mov r6, r0
mov r4, r3
blx func_ov00_020c0c08
ldr r3, _0215c960 ; =data_ov00_020e5868
mov r0, r6
mov r1, r5
mov r2, r4
str r3, [r6]
blx func_ov00_020a9a68
mov r0, r6
mov r1, r5
bl func_ov00_020c0c44
mov r0, r6
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_0215c91c
_0215c960: .word data_ov00_020e5868
.global func_ov18_0215c964
arm_func_start func_ov18_0215c964
func_ov18_0215c964: ; 0x0215c964
stmdb sp!, {r4, r5, r6, lr}
mov r5, r1
mov r1, #0
mov r6, r0
mov r4, r3
blx func_ov00_020c0c08
ldr r3, _0215c9a8 ; =data_ov00_020e5868
mov r0, r6
mov r1, r5
mov r2, r4
str r3, [r6]
blx func_ov00_020a9a68
mov r0, r6
mov r1, r5
bl func_ov00_020c0c9c
mov r0, r6
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_0215c964
_0215c9a8: .word data_ov00_020e5868
.global func_ov18_0215c9ac
arm_func_start func_ov18_0215c9ac
func_ov18_0215c9ac: ; 0x0215c9ac
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x1c8]
cmp r0, #0
beq _0215c9d8
beq _0215c9d0
ldr r1, [r0]
ldr r1, [r1, #4]
blx r1
_0215c9d0:
mov r0, #0
str r0, [r4, #0x1c8]
_0215c9d8:
ldr r0, [r4, #0x1c4]
cmp r0, #0
beq _0215c9fc
beq _0215c9f4
ldr r1, [r0]
ldr r1, [r1, #4]
blx r1
_0215c9f4:
mov r0, #0
str r0, [r4, #0x1c4]
_0215c9fc:
ldr r0, [r4, #0x1c0]
cmp r0, #0
ldmeqia sp!, {r4, pc}
beq _0215ca18
ldr r1, [r0]
ldr r1, [r1, #4]
blx r1
_0215ca18:
mov r0, #0
str r0, [r4, #0x1c0]
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0215c9ac
.global func_ov18_0215ca24
arm_func_start func_ov18_0215ca24
func_ov18_0215ca24: ; 0x0215ca24
ldr r2, _0215ca38 ; =func_ov18_0215ca8c
mov r1, #2
str r2, [r0, #0x24]
strb r1, [r0, #0x92]
bx lr
.align 2, 0
arm_func_end func_ov18_0215ca24
_0215ca38: .word func_ov18_0215ca8c
.global func_ov18_0215ca3c
arm_func_start func_ov18_0215ca3c
func_ov18_0215ca3c: ; 0x0215ca3c
stmdb sp!, {r3, r4, r5, lr}
mov r4, r1
ldr r2, [r4, #4]
ldr r1, _0215ca88 ; =data_ov18_0216b4b4
ldr r2, [r2, #4]
mov r5, r0
add r0, r2, #0x40
bl func_0201e388
cmp r0, #0
ldmltia sp!, {r3, r4, r5, pc}
ldr r1, [r4, #8]
tst r1, #0x10
ldrneb r1, [r4, #0xae]
mvneq r1, #0
cmp r0, r1
ldreq r0, [r4, #0xb4]
ldreq r0, [r0, #0x50]
streq r0, [r5, #0x4c]
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0215ca3c
_0215ca88: .word data_ov18_0216b4b4
.global func_ov18_0215ca8c
arm_func_start func_ov18_0215ca8c
func_ov18_0215ca8c: ; 0x0215ca8c
mov r1, r0
ldr r0, [r1, #4]
ldr ip, _0215caa0 ; =func_ov18_0215ca3c
ldr r0, [r0, #0x2c]
bx ip
.align 2, 0
arm_func_end func_ov18_0215ca8c
_0215caa0: .word func_ov18_0215ca3c
.global func_ov18_0215caa4
arm_func_start func_ov18_0215caa4
func_ov18_0215caa4: ; 0x0215caa4
mov r0, #0
bx lr
arm_func_end func_ov18_0215caa4
.global func_ov18_0215caac
arm_func_start func_ov18_0215caac
func_ov18_0215caac: ; 0x0215caac
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #8
mov r2, #0x10
mov r4, r1
mov r3, r2
mov r1, #0
mov r5, r0
blx func_ov09_02113620
ldr r0, _0215cb1c ; =data_ov18_0216c22c
mvn r1, #0
str r0, [r5]
str r1, [r5, #0x40]
str r1, [r5, #0x44]
strh r1, [r5, #0x48]
mov r0, #0
strb r0, [r5, #0x4a]
str r0, [r5, #0x4c]
str r1, [r5, #0x50]
str r4, [r5, #0x54]
ldr r2, _0215cb20 ; =func_ov18_0215cc40
ldr r0, _0215cb24 ; =data_027e077c
add r1, sp, #0
str r2, [sp]
str r5, [sp, #4]
blx func_0202e7a4
mov r0, r5
add sp, sp, #8
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0215caac
_0215cb1c: .word data_ov18_0216c22c
_0215cb20: .word func_ov18_0215cc40
_0215cb24: .word data_027e077c
.global func_ov18_0215cb28
arm_func_start func_ov18_0215cb28
func_ov18_0215cb28: ; 0x0215cb28
stmdb sp!, {r4, lr}
sub sp, sp, #8
ldr r1, _0215cb68 ; =data_ov18_0216c22c
mov r4, r0
str r1, [r4]
ldr r2, _0215cb6c ; =func_ov18_0215cc40
ldr r0, _0215cb70 ; =data_027e077c
add r1, sp, #0
str r2, [sp]
str r4, [sp, #4]
blx func_0202e7fc
add r0, r4, #4
blx func_0202ab64
mov r0, r4
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215cb28
_0215cb68: .word data_ov18_0216c22c
_0215cb6c: .word func_ov18_0215cc40
_0215cb70: .word data_027e077c
.global func_ov18_0215cb74
arm_func_start func_ov18_0215cb74
func_ov18_0215cb74: ; 0x0215cb74
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mvn r2, #0
mov r4, r1
cmp r5, r2
ldmeqia sp!, {r3, r4, r5, pc}
bl func_ov05_02102a80
ldr r0, _0215cc3c ; =data_027e077c
ldr r0, [r0]
sub r0, r0, #0x18
cmp r0, #4
addls pc, pc, r0, lsl #2
ldmia sp!, {r3, r4, r5, pc}
_0215cba8: ; jump table
b _0215cbbc ; case 0
b _0215cbbc ; case 1
ldmia sp!, {r3, r4, r5, pc} ; case 2
b _0215cbfc ; case 3
b _0215cbfc ; case 4
_0215cbbc:
cmp r5, #0
bne _0215cbe0
mov r0, r4
bl func_ov09_02113650
mov r0, r4
bl func_ov18_0215cd10
mov r0, r4
bl func_ov09_02113650
ldmia sp!, {r3, r4, r5, pc}
_0215cbe0:
cmp r5, #1
ldmneia sp!, {r3, r4, r5, pc}
mov r0, r4
bl func_ov09_02113650
mov r0, r4
bl func_ov18_0215cd9c
ldmia sp!, {r3, r4, r5, pc}
_0215cbfc:
cmp r5, #0
bne _0215cc20
mov r0, r4
bl func_ov09_02113650
mov r0, r4
bl func_ov18_0215cdb4
mov r0, r4
bl func_ov09_02113650
ldmia sp!, {r3, r4, r5, pc}
_0215cc20:
cmp r5, #1
ldmneia sp!, {r3, r4, r5, pc}
mov r0, r4
bl func_ov09_02113650
mov r0, r4
bl func_ov18_0215ce44
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0215cb74
_0215cc3c: .word data_027e077c
.global func_ov18_0215cc40
arm_func_start func_ov18_0215cc40
func_ov18_0215cc40: ; 0x0215cc40
stmdb sp!, {r4, lr}
sub sp, sp, #8
mov r4, r2
cmp r1, #0x18
beq _0215cc64
cmp r1, #0x1b
beq _0215ccb4
add sp, sp, #8
ldmia sp!, {r4, pc}
_0215cc64:
ldr r1, [r4, #0x44]
ldr r0, _0215cd04 ; =data_ov18_0216b4cc
ldrb r0, [r0, r1, lsl #3]
cmp r0, #0
mov r0, r4
beq _0215cca8
bl func_ov09_02113650
mov ip, #0x10
str ip, [sp]
ldr r0, _0215cd08 ; =data_027e0c54
ldr r1, _0215cd0c ; =func_ov18_0215cb74
mov r2, r4
mov r3, #0
str ip, [sp, #4]
blx func_02036140
add sp, sp, #8
ldmia sp!, {r4, pc}
_0215cca8:
bl func_ov09_0211366c
add sp, sp, #8
ldmia sp!, {r4, pc}
_0215ccb4:
ldr r1, [r4, #0x44]
ldr r0, _0215cd04 ; =data_ov18_0216b4cc
ldrb r0, [r0, r1, lsl #3]
cmp r0, #0
mov r0, r4
beq _0215ccf8
bl func_ov09_02113650
mov ip, #0x10
str ip, [sp]
ldr r0, _0215cd08 ; =data_027e0c54
ldr r1, _0215cd0c ; =func_ov18_0215cb74
mov r2, r4
mov r3, #0
str ip, [sp, #4]
blx func_02036140
add sp, sp, #8
ldmia sp!, {r4, pc}
_0215ccf8:
bl func_ov09_02113698
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215cc40
_0215cd04: .word data_ov18_0216b4cc
_0215cd08: .word data_027e0c54
_0215cd0c: .word func_ov18_0215cb74
.global func_ov18_0215cd10
arm_func_start func_ov18_0215cd10
func_ov18_0215cd10: ; 0x0215cd10
stmdb sp!, {r4, lr}
mov r4, r0
ldr r2, [r4, #0x44]
ldr r0, _0215cd80 ; =data_027e077c
mov r1, #0x19
str r2, [r4, #0x40]
bl func_0202e740
ldr ip, _0215cd84 ; =0x04000304
ldr r1, _0215cd88 ; =data_ov18_0216b4c8
ldrh r3, [ip]
add r0, r4, #0x3c
mov r2, #0
orr r3, r3, #0x8000
strh r3, [ip]
ldr r3, [r4, #0x40]
ldr r1, [r1, r3, lsl #3]
blx func_ov00_0207c0ac
ldr r0, [r4, #0x54]
ldr r1, [r4, #0x40]
bl func_ov18_021604d4
ldr r0, [r4, #0x4c]
cmp r0, #3
ldmneia sp!, {r4, pc}
bl func_ov18_0215cd8c
bl func_ov05_02109768
mov r0, #0
str r0, [r4, #0x4c]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215cd10
_0215cd80: .word data_027e077c
_0215cd84: .word 0x04000304
_0215cd88: .word data_ov18_0216b4c8
.global func_ov18_0215cd8c
arm_func_start func_ov18_0215cd8c
func_ov18_0215cd8c: ; 0x0215cd8c
ldr ip, _0215cd98 ; =func_01fffcd8
mov r0, #6
bx ip
.align 2, 0
arm_func_end func_ov18_0215cd8c
_0215cd98: .word func_01fffcd8
.global func_ov18_0215cd9c
arm_func_start func_ov18_0215cd9c
func_ov18_0215cd9c: ; 0x0215cd9c
ldr ip, _0215cdac ; =func_0202e740
ldr r0, _0215cdb0 ; =data_027e077c
mov r1, #0x1a
bx ip
.align 2, 0
arm_func_end func_ov18_0215cd9c
_0215cdac: .word func_0202e740
_0215cdb0: .word data_027e077c
.global func_ov18_0215cdb4
arm_func_start func_ov18_0215cdb4
func_ov18_0215cdb4: ; 0x0215cdb4
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, _0215ce38 ; =data_027e077c
mov r1, #0x1c
bl func_0202e740
ldr r1, _0215ce3c ; =0x04000304
ldrh r0, [r1]
bic r0, r0, #0x8000
strh r0, [r1]
ldr r0, [r4, #0x54]
bl func_ov18_02160524
add r0, r4, #0x3c
mov r1, #0
blx func_ov00_0207c0cc
blx func_ov00_0207b1fc
ldrsh r1, [r4, #0x48]
cmp r1, #0
blt _0215ce2c
ldr r0, _0215ce40 ; =data_027e0fc8
ldr r0, [r0]
bl func_ov00_020bce48
cmp r0, #0
ldrne r1, [r4, #0x50]
mvnne r0, #0
cmpne r1, r0
beq _0215ce2c
bl func_ov18_0215cd8c
mov r1, #1
strb r1, [r0, #0xa5]
str r1, [r4, #0x4c]
_0215ce2c:
mvn r0, #0
str r0, [r4, #0x40]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215cdb4
_0215ce38: .word data_027e077c
_0215ce3c: .word 0x04000304
_0215ce40: .word data_027e0fc8
.global func_ov18_0215ce44
arm_func_start func_ov18_0215ce44
func_ov18_0215ce44: ; 0x0215ce44
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, _0215ce84 ; =data_027e077c
mov r1, #1
bl func_0202e740
add r0, r4, #4
blx func_ov00_0207a730
mov r1, #0
str r1, [r4, #0x38]
sub r0, r1, #1
str r0, [r4, #0x3c]
str r0, [r4, #0x40]
str r0, [r4, #0x44]
strh r0, [r4, #0x48]
strb r1, [r4, #0x4a]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215ce44
_0215ce84: .word data_027e077c
.global func_ov18_0215ce88
arm_func_start func_ov18_0215ce88
func_ov18_0215ce88: ; 0x0215ce88
stmdb sp!, {r3, lr}
ldr r2, _0215ceac ; =data_027e103c
str r1, [r0, #0x44]
ldr r0, [r2]
bl func_ov00_020cf330
ldr r0, _0215ceb0 ; =data_027e077c
mov r1, #0x18
bl func_0202e740
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0215ce88
_0215ceac: .word data_027e103c
_0215ceb0: .word data_027e077c
.global func_ov18_0215ceb4
arm_func_start func_ov18_0215ceb4
func_ov18_0215ceb4: ; 0x0215ceb4
strh r1, [r0, #0x48]
strb r2, [r0, #0x4a]
cmp r2, #0
ldrne r1, [r0, #0x40]
ldr ip, _0215cedc ; =func_0202e740
mvneq r1, #0
str r1, [r0, #0x50]
ldr r0, _0215cee0 ; =data_027e077c
mov r1, #0x1b
bx ip
.align 2, 0
arm_func_end func_ov18_0215ceb4
_0215cedc: .word func_0202e740
_0215cee0: .word data_027e077c
.global func_ov18_0215cee4
arm_func_start func_ov18_0215cee4
func_ov18_0215cee4: ; 0x0215cee4
ldr ip, _0215cef0 ; =func_ov18_021604c4
ldr r0, [r0, #0x54]
bx ip
.align 2, 0
arm_func_end func_ov18_0215cee4
_0215cef0: .word func_ov18_021604c4
.global func_ov18_0215cef4
arm_func_start func_ov18_0215cef4
func_ov18_0215cef4: ; 0x0215cef4
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov09_0211372c
ldr r0, [r4, #0x4c]
cmp r0, #1
beq _0215cf18
cmp r0, #2
beq _0215cf30
ldmia sp!, {r4, pc}
_0215cf18:
ldr r0, _0215cf58 ; =data_027e071c
bl func_0202d7ac
cmp r0, #0
moveq r0, #2
streq r0, [r4, #0x4c]
ldmia sp!, {r4, pc}
_0215cf30:
bl func_ov18_0215cd8c
bl func_ov00_020b2fac
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r1, [r4, #0x50]
ldr r0, _0215cf5c ; =data_027e0e28
bl func_ov18_02160a54
mov r0, #3
str r0, [r4, #0x4c]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215cef4
_0215cf58: .word data_027e071c
_0215cf5c: .word data_027e0e28
.global func_ov18_0215cf60
arm_func_start func_ov18_0215cf60
func_ov18_0215cf60: ; 0x0215cf60
stmdb sp!, {r3, lr}
ldr r1, _0215cf8c ; =data_027e0fe0
mov r0, #0x27c
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov18_0215d0b0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0215cf60
_0215cf8c: .word data_027e0fe0
.global func_ov18_0215cf90
arm_func_start func_ov18_0215cf90
func_ov18_0215cf90: ; 0x0215cf90
ldr r2, [r0, #4]
ldr r0, [r1, #4]
cmp r2, r0
moveq r0, #0
streqb r0, [r1, #0x11a]
mov r0, #0
bx lr
arm_func_end func_ov18_0215cf90
.global func_ov18_0215cfac
arm_func_start func_ov18_0215cfac
func_ov18_0215cfac: ; 0x0215cfac
stmdb sp!, {r3, lr}
sub sp, sp, #0x10
ldr r1, _0215d04c ; =data_027e0fe4
mov r3, r0
ldr r1, [r1]
ldr r2, _0215d050 ; =0x4c4e4232
add r0, sp, #8
add r3, r3, #4
bl func_ov00_020c38fc
ldr r0, _0215d04c ; =data_027e0fe4
add r1, sp, #8
ldr r0, [r0]
bl func_ov00_020c3674
cmp r0, #0
movne r1, #0
strneb r1, [r0, #0x11a]
ldr r1, _0215d054 ; =data_027e0fc8
ldr r0, _0215d04c ; =data_027e0fe4
ldr r3, [r1]
ldr r0, [r0]
ldr r2, [r3, #0x3c]
add r1, sp, #8
str r2, [sp, #8]
ldr r2, [r3, #0x40]
str r2, [sp, #0xc]
bl func_ov00_020c3674
cmp r0, #0
movne r1, #0
strneb r1, [r0, #0x11a]
ldr r0, _0215d04c ; =data_027e0fe4
ldr ip, _0215d058 ; =data_ov18_0216c2b8
ldr r3, _0215d05c ; =0x4b4f4b41
ldr r0, [r0]
add r1, sp, #0
mov r2, #0
str ip, [sp]
str r3, [sp, #4]
bl func_ov00_020c37ec
add sp, sp, #0x10
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0215cfac
_0215d04c: .word data_027e0fe4
_0215d050: .word 0x4c4e4232
_0215d054: .word data_027e0fc8
_0215d058: .word data_ov18_0216c2b8
_0215d05c: .word 0x4b4f4b41
.global func_ov18_0215d060
arm_func_start func_ov18_0215d060
func_ov18_0215d060: ; 0x0215d060
stmdb sp!, {r3, lr}
sub sp, sp, #8
ldr r1, _0215d0a8 ; =data_027e0fe4
mov r3, r0
ldr r1, [r1]
ldr r2, _0215d0ac ; =0x4c4e4232
add r0, sp, #0
add r3, r3, #4
bl func_ov00_020c38fc
ldr r0, _0215d0a8 ; =data_027e0fe4
add r1, sp, #0
ldr r0, [r0]
bl func_ov00_020c3674
cmp r0, #0
movne r1, #1
strneb r1, [r0, #0x11a]
add sp, sp, #8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0215d060
_0215d0a8: .word data_027e0fe4
_0215d0ac: .word 0x4c4e4232
.global func_ov18_0215d0b0
arm_func_start func_ov18_0215d0b0
func_ov18_0215d0b0: ; 0x0215d0b0
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x24
mov r4, r0
bl func_ov00_020c1554
ldr r1, _0215d1d4 ; =data_ov18_0216c2c4
mov r3, #0
ldr r0, _0215d1d8 ; =data_ov09_0211f530
str r1, [r4]
ldr r1, [r0, #4]
add r0, r4, #0x100
str r1, [r4, #0x158]
strb r3, [r4, #0x15c]
str r3, [r4, #0x160]
strh r3, [r0, #0x64]
mov r1, #0x47
strb r3, [r4, #0x166]
sub r2, r3, #1
str r2, [r4, #0x168]
str r3, [r4, #0x16c]
str r3, [r4, #0x170]
str r3, [r4, #0x174]
str r1, [r4, #0x1cc]
str r3, [r4, #0x1d0]
str r3, [r4, #0x1d4]
sub r1, r1, #0x49
str r1, [r4, #0x1d8]
strh r3, [r0, #0xdc]
mov r0, #0xff
strb r0, [r4, #0x1de]
strb r3, [r4, #0x1df]
strb r3, [r4, #0x1e0]
ldr r1, _0215d1dc ; =data_ov18_0216c380
strb r3, [r4, #0x1e1]
ldr r0, _0215d1e0 ; =data_ov00_020e2f04
str r1, [r4, #0x1e4]
str r0, [r4, #0x1f4]
mov r0, #1
strb r0, [r4, #0x1f8]
strb r3, [r4, #0x1f9]
str r3, [r4, #0x1fc]
str r3, [r4, #0x200]
ldr r1, _0215d1e4 ; =data_ov00_020e2dd8
str r3, [r4, #0x204]
add r0, r4, #0x220
str r1, [r4, #0x1f4]
bl func_ov09_0211d0b0
mov r1, #0
str r1, [r4, #0x7c]
mov r2, #0x1800
str r2, [r4, #0x80]
str r1, [r4, #0x84]
mov r0, #0x4000
str r0, [r4, #0x88]
str r1, [r4, #0x8c]
str r2, [r4, #0x90]
str r1, [r4, #0x94]
str r0, [r4, #0x98]
str r1, [r4, #0xa8]
str r2, [r4, #0xac]
str r1, [r4, #0xb0]
mov r0, #0xb000
str r0, [r4, #0xb4]
ldr r0, [r4, #0x158]
mov r2, r1
bl func_ov09_021154e8
ldr r0, [r4, #0x158]
mov r1, #1
blx func_ov09_02114c7c
mov r1, #1
mov r0, r4
strb r1, [r4, #0x12a]
add sp, sp, #0x24
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_0215d0b0
_0215d1d4: .word data_ov18_0216c2c4
_0215d1d8: .word data_ov09_0211f530
_0215d1dc: .word data_ov18_0216c380
_0215d1e0: .word data_ov00_020e2f04
_0215d1e4: .word data_ov00_020e2dd8
.global func_ov18_0215d1e8
arm_func_start func_ov18_0215d1e8
func_ov18_0215d1e8: ; 0x0215d1e8
bx lr
arm_func_end func_ov18_0215d1e8
.global func_ov18_0215d1ec
arm_func_start func_ov18_0215d1ec
func_ov18_0215d1ec: ; 0x0215d1ec
stmdb sp!, {r4, lr}
ldr r1, _0215d230 ; =data_ov18_0216c2c4
mov r4, r0
str r1, [r4]
bl func_ov18_0215e24c
ldr r0, _0215d234 ; =data_027e0f6c
add r1, r4, #0x1f4
ldr r0, [r0]
bl func_ov00_02093af0
add r0, r4, #0x220
bl func_ov09_0211d128
add r0, r4, #0x1f4
bl func_ov00_02094824
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215d1ec
_0215d230: .word data_ov18_0216c2c4
_0215d234: .word data_027e0f6c
.global func_ov18_0215d238
arm_func_start func_ov18_0215d238
func_ov18_0215d238: ; 0x0215d238
stmdb sp!, {r4, lr}
ldr r1, _0215d284 ; =data_ov18_0216c2c4
mov r4, r0
str r1, [r4]
bl func_ov18_0215e24c
ldr r0, _0215d288 ; =data_027e0f6c
add r1, r4, #0x1f4
ldr r0, [r0]
bl func_ov00_02093af0
add r0, r4, #0x220
bl func_ov09_0211d128
add r0, r4, #0x1f4
bl func_ov00_02094824
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215d238
_0215d284: .word data_ov18_0216c2c4
_0215d288: .word data_027e0f6c
.global func_ov18_0215d28c
arm_func_start func_ov18_0215d28c
func_ov18_0215d28c: ; 0x0215d28c
stmdb sp!, {r4, r5, r6, r7, r8, lr}
sub sp, sp, #0x18
mov r5, r0
ldrsh r0, [r5, #0x78]
bl func_0202bbbc
cmp r0, #3
addls pc, pc, r0, lsl #2
b _0215d2e0
_0215d2ac: ; jump table
b _0215d2e0 ; case 0
b _0215d2d4 ; case 1
b _0215d2c8 ; case 2
b _0215d2bc ; case 3
_0215d2bc:
mov r0, #0x37
strh r0, [r5, #0x7a]
b _0215d2e8
_0215d2c8:
mov r0, #0x38
strh r0, [r5, #0x7a]
b _0215d2e8
_0215d2d4:
mov r0, #0x39
strh r0, [r5, #0x7a]
b _0215d2e8
_0215d2e0:
mov r0, #0x3a
strh r0, [r5, #0x7a]
_0215d2e8:
ldr r0, [r5, #0x48]
ldr ip, _0215d578 ; =data_02050f54
sub r0, r0, #0x800
str r0, [r5, #0x48]
ldr r0, [r5, #0x50]
mov r2, #0
sub r0, r0, #0x800
str r0, [r5, #0x50]
ldrh r0, [r5, #0x20]
ldrsh r1, [r5, #0x78]
cmp r0, #0
addeq r0, r5, #0x100
addne r0, r5, #0x100
subne r1, r1, #0x8000
strh r1, [r0, #0x64]
ldr r0, [r5, #0x48]
moveq r4, #1
str r0, [r5, #0x178]
ldr r0, [r5, #0x4c]
mov r1, #0x800
str r0, [r5, #0x17c]
ldr r0, [r5, #0x50]
movne r4, #0
str r0, [r5, #0x180]
ldrh r3, [r5, #0x78]
ldr r6, [r5, #0x48]
ldr r0, [r5, #0x50]
mov r3, r3, asr #0x4
mov r7, r3, lsl #0x1
add r3, r7, #1
mov r3, r3, lsl #0x1
ldrsh lr, [ip, r3]
mov r3, r7, lsl #0x1
ldrsh ip, [ip, r3]
mov r3, lr, asr #0x1f
mov r7, r3, lsl #0xf
mov r3, ip, asr #0x1f
mov r3, r3, lsl #0xf
adds r8, r1, lr, lsl #15
orr r7, r7, lr, lsr #17
adc r7, r7, #0
mov r8, r8, lsr #0xc
orr r8, r8, r7, lsl #20
adds lr, r1, ip, lsl #15
orr r3, r3, ip, lsr #17
adc r1, r3, #0
mov r3, lr, lsr #0xc
orr r3, r3, r1, lsl #20
ldr ip, [r5, #0x4c]
sub r1, r6, r3
str r1, [r5, #0x184]
str ip, [r5, #0x188]
sub r0, r0, r8
str r0, [r5, #0x18c]
str r2, [r5, #0x190]
str r2, [r5, #0x194]
mov r0, r5
str r2, [r5, #0x198]
bl func_ov18_0215e274
ldr r3, [r5, #0x4c]
ldr r2, [r5, #0x50]
ldr r1, [r5, #0x48]
ldr r0, _0215d57c ; =data_ov18_0216c280
str r1, [r5, #0x1e8]
str r3, [r5, #0x1ec]
str r2, [r5, #0x1f0]
add r3, sp, #0xc
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
cmp r4, #0
ldreq r0, [sp, #0x14]
rsbeq r0, r0, #0
streq r0, [sp, #0x14]
add r0, r5, #0x100
ldrsh r1, [r0, #0x64]
add r0, sp, #0xc
bl func_ov00_020a61ac
ldr r0, [r5, #0x48]
add r1, sp, #0xc
str r0, [r5, #0x19c]
ldr r2, [r5, #0x4c]
add r0, r5, #0x19c
str r2, [r5, #0x1a0]
ldr r3, [r5, #0x50]
mov r2, r0
str r3, [r5, #0x1a4]
bl func_01ff9bc4
ldr r0, _0215d580 ; =data_ov18_0216c25c
cmp r4, #0
ldr r2, [r0, #0x30]
ldr r1, [r0, #0x34]
str r2, [sp, #0xc]
str r1, [sp, #0x10]
ldr r0, [r0, #0x38]
str r0, [sp, #0x14]
rsbeq r0, r0, #0
streq r0, [sp, #0x14]
add r0, r5, #0x100
ldrsh r1, [r0, #0x64]
add r0, sp, #0xc
bl func_ov00_020a61ac
ldr r0, [r5, #0x48]
add r1, sp, #0xc
str r0, [r5, #0x1a8]
ldr r2, [r5, #0x4c]
add r0, r5, #0x1a8
str r2, [r5, #0x1ac]
ldr r3, [r5, #0x50]
mov r2, r0
str r3, [r5, #0x1b0]
bl func_01ff9bc4
ldr r0, [r5, #0x1a8]
ldr r2, _0215d580 ; =data_ov18_0216c25c
str r0, [r5, #0x1b4]
ldr r0, [r5, #0x1ac]
add r1, r5, #0x100
str r0, [r5, #0x1b8]
ldr r3, [r5, #0x1b0]
add r0, sp, #0xc
str r3, [r5, #0x1bc]
ldr r4, [r2, #0x48]
ldr r3, [r2, #0x4c]
str r4, [sp, #0xc]
str r3, [sp, #0x10]
ldr r2, [r2, #0x50]
str r2, [sp, #0x14]
ldrsh r1, [r1, #0x64]
bl func_ov00_020a61ac
add r0, r5, #0x1b4
add r1, sp, #0xc
mov r2, r0
bl func_01ff9bc4
ldr r0, [r5, #0x1a8]
ldr r2, _0215d580 ; =data_ov18_0216c25c
str r0, [r5, #0x1c0]
ldr r1, [r5, #0x1ac]
add r0, sp, #0xc
str r1, [r5, #0x1c4]
ldr r3, [r5, #0x1b0]
add r1, r5, #0x100
str r3, [r5, #0x1c8]
ldr r4, [r2, #0x3c]
ldr r3, [r2, #0x40]
str r4, [sp, #0xc]
str r3, [sp, #0x10]
ldr r2, [r2, #0x44]
str r2, [sp, #0x14]
ldrsh r1, [r1, #0x64]
bl func_ov00_020a61ac
add r0, r5, #0x1c0
add r1, sp, #0xc
mov r2, r0
bl func_01ff9bc4
ldrh r0, [r5, #0x22]
strb r0, [r5, #0x15c]
ldr r0, [r5, #0x158]
bl func_ov09_0211500c
mov r1, #1
mov r0, r5
mov r2, r1
bl func_ov18_0215dad0
mov r0, #1
add sp, sp, #0x18
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov18_0215d28c
_0215d578: .word data_02050f54
_0215d57c: .word data_ov18_0216c280
_0215d580: .word data_ov18_0216c25c
.global func_ov18_0215d584
arm_func_start func_ov18_0215d584
func_ov18_0215d584: ; 0x0215d584
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
bl func_ov00_020c313c
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r0, [r5, #0x48]
str r0, [r5, #0x54]
ldr r0, [r5, #0x4c]
str r0, [r5, #0x58]
ldr r0, [r5, #0x50]
str r0, [r5, #0x5c]
ldr r0, [r5, #0x130]
cmp r0, #7
addls pc, pc, r0, lsl #2
b _0215d660
_0215d5c4: ; jump table
b _0215d660 ; case 0
b _0215d5e4 ; case 1
b _0215d630 ; case 2
b _0215d660 ; case 3
b _0215d660 ; case 4
b _0215d63c ; case 5
b _0215d660 ; case 6
b _0215d660 ; case 7
_0215d5e4:
mov r0, #0
str r0, [sp]
ldr r3, [r5, #8]
ldr r0, _0215d6a0 ; =data_027e0ffc
ldr r1, _0215d6a4 ; =0x0000035f
add r2, r5, #0x48
bl func_ov00_020cec60
mov r0, r5
bl func_ov18_0215e1f4
cmp r0, #0
beq _0215d660
ldrh r0, [r5, #0x20]
cmp r0, #0
ldr r0, [r5, #0x158]
moveq r1, #1
streq r1, [r0, #0x58]
movne r1, #0
strne r1, [r0, #0x58]
b _0215d660
_0215d630:
ldr r0, _0215d6a8 ; =data_ov00_020eec68
bl func_ov00_020d72b8
b _0215d660
_0215d63c:
ldr r0, [r5, #0x16c]
add r0, r0, #1
str r0, [r5, #0x16c]
cmp r0, #5
blo _0215d660
mov r0, r5
mov r1, #1
mov r2, #0
bl func_ov18_0215dad0
_0215d660:
mov r1, r4
add r0, r5, #0xa4
add r2, r5, #0x48
bl func_ov00_0207a1c8
ldrb r0, [r5, #0xa4]
cmp r0, #0
ldr r0, [r5, #0x158]
beq _0215d688
bl func_ov09_021150c0
b _0215d68c
_0215d688:
bl func_ov09_021150a8
_0215d68c:
ldr r0, [r5, #0x158]
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0215d584
_0215d6a0: .word data_027e0ffc
_0215d6a4: .word 0x0000035f
_0215d6a8: .word data_ov00_020eec68
.global func_ov18_0215d6ac
arm_func_start func_ov18_0215d6ac
func_ov18_0215d6ac: ; 0x0215d6ac
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x10
mov r5, r0
mov r4, r1
bl func_ov00_020c313c
cmp r0, #0
addeq sp, sp, #0x10
ldmeqia sp!, {r3, r4, r5, pc}
ldr r0, [r5, #0x48]
str r0, [r5, #0x54]
ldr r0, [r5, #0x4c]
str r0, [r5, #0x58]
ldr r0, [r5, #0x50]
str r0, [r5, #0x5c]
ldr r0, [r5, #0x130]
cmp r0, #7
addls pc, pc, r0, lsl #2
b _0215d9a8
_0215d6f4: ; jump table
b _0215d9a8 ; case 0
b _0215d714 ; case 1
b _0215d748 ; case 2
b _0215d840 ; case 3
b _0215d8a4 ; case 4
b _0215d95c ; case 5
b _0215d984 ; case 6
b _0215d9a8 ; case 7
_0215d714:
ldr r0, _0215daa0 ; =data_027e0d38
ldr r0, [r0]
ldr r0, [r0, #0x14]
cmp r0, #1
beq _0215d9a8
mov r0, #0
str r0, [sp]
ldr r3, [r5, #8]
ldr r0, _0215daa4 ; =data_027e0ffc
ldr r1, _0215daa8 ; =0x0000035f
add r2, r5, #0x48
bl func_ov00_020cec60
b _0215d9a8
_0215d748:
ldr r0, _0215daac ; =data_027e0f74
ldr r1, [r5, #0x168]
ldr r0, [r0]
bl func_ov00_02097b9c
cmp r0, #0
beq _0215d788
ldr r0, _0215daac ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02098058
cmp r0, #0x87
blo _0215d788
mov r0, r5
mov r1, #1
mov r2, #0
bl func_ov18_0215dad0
b _0215d9a8
_0215d788:
ldr r0, _0215dab0 ; =data_ov00_020eec9c
ldr r1, _0215dab4 ; =0x0000048a
bl func_ov00_020d7d18
ldr r0, _0215dab8 ; =data_027e0d78
ldrh r0, [r0, #0x34]
tst r0, #2
beq _0215d7dc
ldr r0, _0215dabc ; =data_027e071c
bl func_0202d7ac
cmp r0, #0
bne _0215d7dc
ldr r0, _0215daac ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02098058
cmp r0, #0x14
blo _0215d7dc
mov r0, r5
mov r1, #5
mov r2, #0
bl func_ov18_0215dad0
b _0215d9a8
_0215d7dc:
ldr r0, _0215daac ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02098058
rsb r0, r0, #0x69
movs r1, r0, lsl #0xc
movmi r1, #0
cmp r1, #0x2d000
ldrgt r0, _0215dac0 ; =0x0000011f
strgt r0, [r5, #0x174]
bgt _0215d82c
cmp r1, #0x1000
movle r0, #0
strle r0, [r5, #0x174]
ble _0215d82c
ldr r0, [r5, #0x174]
rsb r0, r0, #0
bl func_01ff98e0
ldr r1, [r5, #0x174]
add r0, r1, r0
str r0, [r5, #0x174]
_0215d82c:
ldr r2, [r5, #0x174]
add r0, r5, #0x48
add r1, r5, #0x178
bl func_0202b2e8
b _0215d9a8
_0215d840:
ldr r0, _0215daac ; =data_027e0f74
ldr r1, [r5, #0x168]
ldr r0, [r0]
bl func_ov00_02097b9c
cmp r0, #0
beq _0215d9a8
ldr r0, _0215daac ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02098058
cmp r0, #0x2d
blo _0215d87c
mov r0, r5
mov r1, #4
mov r2, #0
bl func_ov18_0215dad0
_0215d87c:
ldr r0, _0215daac ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02098058
rsb r0, r0, #0xb4
movs r2, r0, lsl #0xc
movmi r2, #0
add r0, r5, #0x48
add r1, r5, #0x184
bl func_0202b308
b _0215d9a8
_0215d8a4:
ldr r0, _0215daac ; =data_027e0f74
ldr r1, [r5, #0x168]
ldr r0, [r0]
bl func_ov00_02097b9c
cmp r0, #0
beq _0215d9a8
ldr r0, _0215daa0 ; =data_027e0d38
ldr r0, [r0]
ldr r0, [r0, #0x14]
cmp r0, #1
bne _0215d8e0
ldr r0, _0215dab0 ; =data_ov00_020eec9c
ldr r1, _0215dac4 ; =0x00000139
bl func_ov00_020d7d18
b _0215d8ec
_0215d8e0:
ldr r0, _0215dab0 ; =data_ov00_020eec9c
ldr r1, _0215dab4 ; =0x0000048a
bl func_ov00_020d7d18
_0215d8ec:
ldr r0, _0215dab8 ; =data_027e0d78
ldrh r0, [r0, #0x34]
tst r0, #1
beq _0215d910
mov r0, r5
mov r1, #6
mov r2, #0
bl func_ov18_0215dad0
b _0215d9a8
_0215d910:
ldr r0, _0215daac ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02098058
rsb r0, r0, #0xb4
movs r2, r0, lsl #0xc
movmi r2, #0
add r0, r5, #0x48
add r1, r5, #0x184
bl func_0202b308
ldr r0, _0215daac ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02098058
cmp r0, #0x78
blo _0215d9a8
mov r0, r5
mov r1, #6
mov r2, #0
bl func_ov18_0215dad0
b _0215d9a8
_0215d95c:
ldr r0, [r5, #0x16c]
add r0, r0, #1
str r0, [r5, #0x16c]
cmp r0, #5
blo _0215d9a8
mov r0, r5
mov r1, #1
mov r2, #0
bl func_ov18_0215dad0
b _0215d9a8
_0215d984:
ldr r0, _0215daac ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02098058
rsb r0, r0, #0xb4
movs r2, r0, lsl #0xc
movmi r2, #0
add r0, r5, #0x48
add r1, r5, #0x184
bl func_0202b308
_0215d9a8:
add r0, r5, #0x54
add r1, r5, #0x48
add r2, r5, #0x60
bl func_01ff9bf8
ldr r1, [r5, #0x60]
add r0, sp, #4
str r1, [sp, #4]
ldr r1, [r5, #0x64]
str r1, [sp, #8]
ldr r1, [r5, #0x68]
str r1, [sp, #0xc]
bl func_01ff9cec
str r0, [r5, #0x174]
ldr r0, [r5, #0x130]
cmp r0, #1
ldrne ip, [r5, #0x174]
cmpne ip, #0
beq _0215da34
ldr r0, _0215dac8 ; =0x01388000
mov r1, #0
umull r3, r2, ip, r0
mla r2, ip, r1, r2
mov r1, ip, asr #0x1f
adds r3, r3, #0x800
mla r2, r1, r0, r2
adc r0, r2, #0
mov r1, r3, lsr #0xc
orr r1, r1, r0, lsl #20
add r0, r1, #0x800
mov r0, r0, asr #0xc
add r0, r0, #0x32
mov r1, r0, lsl #0x10
ldr r0, [r5, #0x158]
mov r1, r1, asr #0x10
bl func_ov09_021152fc
_0215da34:
ldr r0, _0215dacc ; =data_ov18_0216c25c
ldr r2, [r5, #0x174]
ldr r1, [r0, #0x20]
ldr r0, [r5, #0x158]
smull r3, r1, r2, r1
adds r3, r3, #0x800
adc r2, r1, #0
mov r1, r3, lsr #0xc
orr r1, r1, r2, lsl #20
bl func_ov09_021150d8
mov r1, r4
add r0, r5, #0xa4
add r2, r5, #0x48
bl func_ov00_0207a1c8
ldrb r0, [r5, #0xa4]
cmp r0, #0
ldr r0, [r5, #0x158]
beq _0215da84
bl func_ov09_021150c0
b _0215da88
_0215da84:
bl func_ov09_021150a8
_0215da88:
ldr r0, [r5, #0x158]
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0215d6ac
_0215daa0: .word data_027e0d38
_0215daa4: .word data_027e0ffc
_0215daa8: .word 0x0000035f
_0215daac: .word data_027e0f74
_0215dab0: .word data_ov00_020eec9c
_0215dab4: .word 0x0000048a
_0215dab8: .word data_027e0d78
_0215dabc: .word data_027e071c
_0215dac0: .word 0x0000011f
_0215dac4: .word 0x00000139
_0215dac8: .word 0x01388000
_0215dacc: .word data_ov18_0216c25c
.global func_ov18_0215dad0
arm_func_start func_ov18_0215dad0
func_ov18_0215dad0: ; 0x0215dad0
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x160
mov r4, r0
str r1, [r4, #0x130]
cmp r1, #7
addls pc, pc, r1, lsl #2
b _0215de94
_0215daec: ; jump table
b _0215db0c ; case 0
b _0215db40 ; case 1
b _0215dbb0 ; case 2
b _0215dcf8 ; case 3
b _0215ddc4 ; case 4
b _0215de04 ; case 5
b _0215de34 ; case 6
b _0215db8c ; case 7
_0215db0c:
cmp r2, #0
bne _0215db2c
ldr r0, [r4, #0x178]
str r0, [r4, #0x48]
ldr r0, [r4, #0x17c]
str r0, [r4, #0x4c]
ldr r0, [r4, #0x180]
str r0, [r4, #0x50]
_0215db2c:
ldr r0, [r4, #0x158]
mov r1, #2
str r1, [r0, #0x58]
str r1, [r4, #0x160]
b _0215de94
_0215db40:
cmp r2, #0
bne _0215db60
ldr r0, [r4, #0x178]
str r0, [r4, #0x48]
ldr r0, [r4, #0x17c]
str r0, [r4, #0x4c]
ldr r0, [r4, #0x180]
str r0, [r4, #0x50]
_0215db60:
ldr r0, [r4, #0x158]
mov r1, #2
str r1, [r0, #0x58]
mov r1, #0
str r1, [r4, #0x160]
ldr r0, _0215dea0 ; =data_ov00_020eec68
str r1, [r4, #0x174]
bl func_ov00_020d7328
mov r0, r4
bl func_ov18_0215e24c
b _0215de94
_0215db8c:
ldrh r0, [r4, #0x20]
cmp r0, #0
moveq r1, #1
ldr r0, [r4, #0x158]
movne r1, #0
str r1, [r0, #0x58]
mov r0, #0
str r0, [r4, #0x160]
b _0215de94
_0215dbb0:
mov r1, #1
str r1, [r4, #0x160]
mov r1, #0
add r0, sp, #0xb0
str r1, [r4, #0x170]
bl func_ov00_0209a4f4
mov r1, #2
mov r2, #0x87
mov r0, #0x2d
strb r0, [sp, #0xb9]
ldr r0, _0215dea4 ; =data_027e0f74
str r2, [sp, #0xb4]
strb r1, [sp, #0xba]
strb r1, [sp, #0xbb]
strb r1, [sp, #0xbd]
ldr r1, [r4, #0x48]
ldr r0, [r0]
str r1, [sp, #0xd0]
ldr r1, [r4, #0x4c]
mov lr, #1
str r1, [sp, #0xd4]
ldr r1, [r4, #0x50]
mov ip, #0
str r1, [sp, #0xd8]
ldrsh r2, [r4, #0x78]
add r5, r4, #0x1e4
mov r3, #0x2f
strh r2, [sp, #0xcc]
strb lr, [sp, #0xc4]
strb lr, [sp, #0xc1]
strb lr, [sp, #0xc2]
add r2, sp, #0x100
strh ip, [r2, #0x4c]
add r1, sp, #0xb0
strb lr, [sp, #0xc5]
str r5, [sp, #0x15c]
str r3, [sp, #0x144]
bl func_ov00_02097810
str r0, [r4, #0x168]
ldrh r0, [r4, #0x78]
ldr ip, _0215dea8 ; =data_02050f54
mov r2, #0
mov r0, r0, asr #0x4
mov r0, r0, lsl #0x2
ldrsh r0, [ip, r0]
mov r1, #0x5800
ldr lr, [r4, #0x48]
umull r5, r3, r0, r1
mla r3, r0, r2, r3
mov r0, r0, asr #0x1f
mla r3, r0, r1, r3
adds r5, r5, #0x800
adc r0, r3, #0
mov r3, r5, lsr #0xc
orr r3, r3, r0, lsl #20
sub r0, lr, r3
str r0, [r4, #0x48]
ldrh r5, [r4, #0x78]
ldr r0, [r4, #0x50]
ldr r3, _0215deac ; =data_027e103c
mov r5, r5, asr #0x4
mov r5, r5, lsl #0x1
add r5, r5, #1
mov r5, r5, lsl #0x1
ldrsh r5, [ip, r5]
umull lr, ip, r5, r1
mla ip, r5, r2, ip
mov r2, r5, asr #0x1f
mla ip, r2, r1, ip
adds r2, lr, #0x800
adc r1, ip, #0
mov r2, r2, lsr #0xc
orr r2, r2, r1, lsl #20
sub r0, r0, r2
str r0, [r4, #0x50]
ldr r0, [r3]
bl func_ov00_020cfc20
mov r0, r4
bl func_ov18_0215e224
add r0, sp, #0xb0
bl func_ov00_0209a508
b _0215de94
_0215dcf8:
mov r1, #1
str r1, [r4, #0x160]
mov r1, #0
add r0, sp, #0
str r1, [r4, #0x170]
bl func_ov00_0209a4f4
mov r2, #2
mvn ip, #0
mov r3, #0x2d
mov r5, #0
mov r1, #3
str ip, [sp, #4]
strb r3, [sp, #9]
ldr r0, _0215dea4 ; =data_027e0f74
strb r2, [sp, #0xa]
strb r2, [sp, #0xb]
strb r5, [sp, #0xd]
strb r1, [sp, #0xc]
ldr r1, [r4, #0x48]
add r2, r4, #0x1e4
str r1, [sp, #0x20]
ldr r1, [r4, #0x4c]
ldr r0, [r0]
str r1, [sp, #0x24]
ldr r1, [r4, #0x50]
mov ip, #1
str r1, [sp, #0x28]
ldrsh lr, [r4, #0x78]
mov r3, #0x30
add r1, sp, #0
strh lr, [sp, #0x1c]
strb ip, [sp, #0x14]
strb ip, [sp, #0x11]
strb ip, [sp, #0x12]
strh r5, [sp, #0x9c]
strb ip, [sp, #0x15]
str r3, [sp, #0x94]
str r2, [sp, #0xac]
bl func_ov00_02097810
str r0, [r4, #0x168]
ldrsh r2, [r4, #0x78]
ldr r0, _0215dea0 ; =data_ov00_020eec68
mov r1, #0x2d
sub r2, r2, #0x8000
strh r2, [r4, #0x78]
bl func_ov00_020d716c
mov r0, r4
bl func_ov18_0215e224
add r0, sp, #0
bl func_ov00_0209a508
b _0215de94
_0215ddc4:
ldr r0, _0215deb0 ; =data_027e0d38
mov r3, #0
ldr r0, [r0]
ldr r0, [r0, #0x14]
cmp r0, #1
bne _0215ddf0
ldr r0, _0215deb4 ; =data_027e0ffc
add r2, r4, #0x48
mov r1, #0x138
bl func_ov00_020ceacc
b _0215de94
_0215ddf0:
ldr r0, _0215deb4 ; =data_027e0ffc
ldr r1, _0215deb8 ; =0x000001a2
add r2, r4, #0x48
bl func_ov00_020ceacc
b _0215de94
_0215de04:
ldr r0, _0215dea4 ; =data_027e0f74
ldr r1, [r4, #0x168]
ldr r0, [r0]
bl func_ov00_02097bcc
mvn r0, #0
str r0, [r4, #0x168]
mov r1, #0
str r1, [r4, #0x16c]
mov r0, r4
str r1, [r4, #0x160]
bl func_ov18_0215e24c
b _0215de94
_0215de34:
ldr r0, _0215debc ; =data_ov00_020eec9c
mov r1, #0
bl func_ov00_020d7f9c
mov r2, #0
str r2, [r4, #0x160]
sub r0, r2, #1
str r0, [r4, #0x168]
ldr r0, _0215deb0 ; =data_027e0d38
str r2, [r4, #0x16c]
ldr r0, [r0]
ldr r1, [r0, #0x14]
cmp r1, #1
bne _0215de8c
ldr r0, _0215dea0 ; =data_ov00_020eec68
mov r1, #0x2d
bl func_ov00_020d7470
ldr r0, _0215deb0 ; =data_027e0d38
add r1, r4, #0x1cc
ldr r0, [r0]
mov r2, #0
bl func_ov05_02100ae0
b _0215de94
_0215de8c:
add r1, r4, #0x1cc
bl func_ov05_02100ae0
_0215de94:
mov r0, #1
add sp, sp, #0x160
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0215dad0
_0215dea0: .word data_ov00_020eec68
_0215dea4: .word data_027e0f74
_0215dea8: .word data_02050f54
_0215deac: .word data_027e103c
_0215deb0: .word data_027e0d38
_0215deb4: .word data_027e0ffc
_0215deb8: .word 0x000001a2
_0215debc: .word data_ov00_020eec9c
.global func_ov18_0215dec0
arm_func_start func_ov18_0215dec0
func_ov18_0215dec0: ; 0x0215dec0
stmdb sp!, {r3, lr}
ldr r1, [r0, #0x130]
cmp r1, #2
cmpne r1, #5
ldmeqia sp!, {r3, pc}
mov r1, #2
mov r2, #0
bl func_ov18_0215dad0
ldmia sp!, {r3, pc}
arm_func_end func_ov18_0215dec0
.global func_ov18_0215dee4
arm_func_start func_ov18_0215dee4
func_ov18_0215dee4: ; 0x0215dee4
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, _0215df18 ; =data_027e0e60
ldrb r1, [r4, #0x15c]
ldr r0, [r0]
add r2, r4, #0x1cc
bl func_ov00_020838e8
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
add r1, r4, #0x1cc
bl func_ov18_0215df1c
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215dee4
_0215df18: .word data_027e0e60
.global func_ov18_0215df1c
arm_func_start func_ov18_0215df1c
func_ov18_0215df1c: ; 0x0215df1c
stmdb sp!, {r3, lr}
ldr r2, [r0, #0x130]
cmp r2, #3
cmpne r2, #4
cmpne r2, #6
ldmeqia sp!, {r3, pc}
ldr r2, [r1]
add r3, r0, #0x100
str r2, [r0, #0x1cc]
ldr ip, [r1, #4]
mov r2, #0
str ip, [r0, #0x1d0]
ldr ip, [r1, #8]
str ip, [r0, #0x1d4]
ldr ip, [r1, #0xc]
str ip, [r0, #0x1d8]
ldrsh ip, [r1, #0x10]
strh ip, [r3, #0xdc]
ldrb r3, [r1, #0x12]
strb r3, [r0, #0x1de]
ldrb r3, [r1, #0x13]
strb r3, [r0, #0x1df]
ldrb r3, [r1, #0x14]
strb r3, [r0, #0x1e0]
ldrb r3, [r1, #0x15]
mov r1, #3
strb r3, [r0, #0x1e1]
bl func_ov18_0215dad0
ldmia sp!, {r3, pc}
arm_func_end func_ov18_0215df1c
.global func_ov18_0215df90
arm_func_start func_ov18_0215df90
func_ov18_0215df90: ; 0x0215df90
strb r1, [r0, #0x1f8]
bx lr
arm_func_end func_ov18_0215df90
.global func_ov18_0215df98
arm_func_start func_ov18_0215df98
func_ov18_0215df98: ; 0x0215df98
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x44
ldrh r1, [r1]
mov r4, r0
tst r1, #4
bne _0215dfbc
tst r1, #8
addeq sp, sp, #0x44
ldmeqia sp!, {r3, r4, pc}
_0215dfbc:
ldr r0, [r4, #0x160]
cmp r0, #0
beq _0215e018
cmp r0, #1
beq _0215dfe0
cmp r0, #2
bne _0215e018
add sp, sp, #0x44
ldmia sp!, {r3, r4, pc}
_0215dfe0:
ldr r0, [r4, #0x170]
ldr r1, _0215e098 ; =0x88888889
add ip, r0, #1
smull r0, r3, r1, ip
add r3, ip, r3
mov r0, ip, lsr #0x1f
add r3, r0, r3, asr #4
mov r2, #0x1e
smull r0, r1, r2, r3
sub r3, ip, r0
cmp r3, #0xf
addlt sp, sp, #0x44
str ip, [r4, #0x170]
ldmltia sp!, {r3, r4, pc}
_0215e018:
add r2, sp, #0x38
add r0, r4, #0x178
add r1, r4, #0x190
bl func_01ff9bc4
add r1, sp, #0x14
mov r2, #0
str r1, [sp]
add r0, sp, #0x10
stmib sp, {r0, r2}
ldr r0, _0215e09c ; =data_027e0d3c
str r2, [sp, #0xc]
ldr r0, [r0]
add r1, sp, #0x38
mov r3, r2
bl func_ov00_02079470
cmp r0, #0
addeq sp, sp, #0x44
ldmeqia sp!, {r3, r4, pc}
add r0, sp, #0x18
bl func_01ffbe34
mov r1, #1
add r0, sp, #0x18
str r1, [sp, #0x1c]
strb r1, [sp, #0x23]
str r0, [sp]
ldrh r3, [r4, #0x7a]
ldr r1, [sp, #0x14]
ldr r2, [sp, #0x10]
ldr r0, _0215e0a0 ; =data_02063e4c
bl func_020313c8
add sp, sp, #0x44
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_0215df98
_0215e098: .word 0x88888889
_0215e09c: .word data_027e0d3c
_0215e0a0: .word data_02063e4c
.global func_ov18_0215e0a4
arm_func_start func_ov18_0215e0a4
func_ov18_0215e0a4: ; 0x0215e0a4
stmdb sp!, {r4, lr}
sub sp, sp, #0x50
ldr r2, _0215e1e8 ; =data_027e0d38
mov r4, r0
ldr r0, [r2]
ldr r0, [r0, #0x14]
cmp r0, #1
beq _0215e0dc
cmp r1, #0
ldrneb r0, [r4, #0xa5]
ldreqb r0, [r4, #0xa4]
cmp r0, #0
addeq sp, sp, #0x50
ldmeqia sp!, {r4, pc}
_0215e0dc:
ldr r0, [r4, #0x130]
cmp r0, #1
bne _0215e108
ldrh r0, [r4, #0x20]
cmp r0, #0
ldr r0, [r4, #0x158]
moveq r1, #1
streq r1, [r0, #0x58]
movne r1, #0
strne r1, [r0, #0x58]
b _0215e114
_0215e108:
ldr r0, [r4, #0x158]
mov r1, #2
str r1, [r0, #0x58]
_0215e114:
ldrh r1, [r4, #0x78]
ldr r3, _0215e1ec ; =data_02050f54
add r0, sp, #0x2c
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
ldr r0, [r4, #0x158]
add r1, sp, #0x2c
ldr ip, [r0]
add r2, r4, #0x48
ldr ip, [ip, #0xc]
mov r3, #0
blx ip
ldrb r0, [r4, #0x166]
cmp r0, #0
addeq sp, sp, #0x50
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #0x158]
add r1, sp, #0x20
add r2, sp, #0x2c
add r3, r4, #0x48
bl func_ov09_02115478
add r3, sp, #0
mov r0, #0
mov r2, r3
mov r1, r0
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2, {r0, r1}
add r0, r4, #0x48
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
add r0, sp, #0x20
add r3, sp, #0xc
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldr r0, [r4, #0x174]
ldr r1, _0215e1f0 ; =0x0000023d
bl func_01ff98e0
str r0, [sp, #0x18]
ldrsh r2, [r4, #0x78]
add r0, r4, #0x220
add r1, sp, #0
strh r2, [sp, #0x1e]
bl func_ov09_0211d180
add sp, sp, #0x50
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215e0a4
_0215e1e8: .word data_027e0d38
_0215e1ec: .word data_02050f54
_0215e1f0: .word 0x0000023d
.global func_ov18_0215e1f4
arm_func_start func_ov18_0215e1f4
func_ov18_0215e1f4: ; 0x0215e1f4
stmdb sp!, {r3, lr}
ldrb r1, [r0, #0x2b]
cmp r1, #0
beq _0215e214
mov r1, #1
bl func_ov00_020c1bfc
cmp r0, #0
beq _0215e21c
_0215e214:
mov r0, #1
ldmia sp!, {r3, pc}
_0215e21c:
mov r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov18_0215e1f4
.global func_ov18_0215e224
arm_func_start func_ov18_0215e224
func_ov18_0215e224: ; 0x0215e224
stmdb sp!, {r4, lr}
mov r4, r0
ldrb r0, [r4, #0x166]
cmp r0, #0
ldmneia sp!, {r4, pc}
add r0, r4, #0x220
bl func_ov09_0211d668
mov r0, #1
strb r0, [r4, #0x166]
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0215e224
.global func_ov18_0215e24c
arm_func_start func_ov18_0215e24c
func_ov18_0215e24c: ; 0x0215e24c
stmdb sp!, {r4, lr}
mov r4, r0
ldrb r0, [r4, #0x166]
cmp r0, #0
ldmeqia sp!, {r4, pc}
add r0, r4, #0x220
bl func_ov09_0211d7f8
mov r0, #0
strb r0, [r4, #0x166]
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0215e24c
.global func_ov18_0215e274
arm_func_start func_ov18_0215e274
func_ov18_0215e274: ; 0x0215e274
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x6c
mov r4, r0
ldr r1, [r4, #0x48]
ldr r0, _0215e498 ; =data_027e0d38
str r1, [sp, #0x54]
ldr r2, [r4, #0x4c]
mov r1, #0
str r2, [sp, #0x58]
ldr r2, [r4, #0x50]
bic r1, r1, #0x1f
str r2, [sp, #0x5c]
ldr r2, [r4, #0x48]
orr r1, r1, #6
str r2, [sp, #0x60]
ldr r2, [r4, #0x4c]
ldr r0, [r0]
str r2, [sp, #0x64]
ldr r2, [r4, #0x50]
bic r1, r1, #0x6000
str r2, [sp, #0x68]
ldr r0, [r0, #0x14]
orr r1, r1, #0x8000000
cmp r0, #1
str r1, [sp, #8]
ldrsh r0, [r4, #0x78]
beq _0215e400
bl func_0202bbbc
cmp r0, #3
addls pc, pc, r0, lsl #2
b _0215e3b8
_0215e2f0: ; jump table
b _0215e300 ; case 0
b _0215e300 ; case 1
b _0215e3b8 ; case 2
b _0215e324 ; case 3
_0215e300:
mov r2, #0x3000
mov r3, #0x5000
add r0, sp, #0x54
add r1, sp, #0x48
str r3, [sp, #0x48]
str r2, [sp, #0x4c]
str r2, [sp, #0x50]
bl func_ov00_0208edd8
b _0215e3d8
_0215e324:
ldr r1, _0215e49c ; =data_027e0e60
add r0, sp, #4
ldr r1, [r1]
add r2, r4, #0x48
bl func_ov00_02083a1c
ldrb r2, [sp, #4]
ldr r0, _0215e49c ; =data_027e0e60
ldrb r1, [sp, #5]
add r3, r2, #2
ldr r0, [r0]
sub r2, r1, #6
add r1, sp, #4
strb r3, [sp, #4]
strb r2, [sp, #5]
bl func_ov00_02084088
cmp r0, #6
cmpne r0, #0x37
add r0, sp, #0x54
mov r3, #0x3000
bne _0215e39c
mov r2, #0x5000
add r1, sp, #0x3c
str r3, [sp, #0x3c]
str r3, [sp, #0x40]
str r2, [sp, #0x44]
bl func_ov00_0208edd8
ldr r0, [sp, #0x5c]
sub r0, r0, #0x1000
str r0, [sp, #0x5c]
b _0215e3d8
_0215e39c:
mov r2, #0x5000
add r1, sp, #0x30
str r3, [sp, #0x30]
str r3, [sp, #0x34]
str r2, [sp, #0x38]
bl func_ov00_0208edd8
b _0215e3d8
_0215e3b8:
mov r3, #0x3000
mov r2, #0x5000
add r0, sp, #0x54
add r1, sp, #0x24
str r3, [sp, #0x24]
str r3, [sp, #0x28]
str r2, [sp, #0x2c]
bl func_ov00_0208edd8
_0215e3d8:
mov r0, #0
str r0, [sp]
add r0, r4, #0x1f4
ldr ip, [r0]
ldr r2, [r4, #8]
ldr r3, [sp, #8]
ldr ip, [ip, #0x14]
add r1, sp, #0x54
blx ip
b _0215e480
_0215e400:
bl func_0202bbbc
cmp r0, #0
cmpne r0, #1
ldr r3, _0215e4a0 ; =0x000013ae
add r0, sp, #0x54
bne _0215e438
mov ip, #0x5000
mov r2, #0x3000
add r1, sp, #0x18
str ip, [sp, #0x18]
str r3, [sp, #0x1c]
str r2, [sp, #0x20]
bl func_ov00_0208edd8
b _0215e454
_0215e438:
mov ip, #0x3000
mov r2, #0x5000
add r1, sp, #0xc
str ip, [sp, #0xc]
str r3, [sp, #0x10]
str r2, [sp, #0x14]
bl func_ov00_0208edd8
_0215e454:
mov r0, #0
str r0, [sp]
add r0, r4, #0x1f4
ldr ip, [r0]
ldr r2, [r4, #8]
ldr r3, [sp, #8]
ldr ip, [ip, #0x14]
add r1, sp, #0x54
blx ip
mov r0, #1
strb r0, [r4, #0x1f9]
_0215e480:
ldr r0, _0215e4a4 ; =data_027e0f6c
add r1, r4, #0x1f4
ldr r0, [r0]
bl func_ov00_02093a5c
add sp, sp, #0x6c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_0215e274
_0215e498: .word data_027e0d38
_0215e49c: .word data_027e0e60
_0215e4a0: .word 0x000013ae
_0215e4a4: .word data_027e0f6c
.global func_ov18_0215e4a8
arm_func_start func_ov18_0215e4a8
func_ov18_0215e4a8: ; 0x0215e4a8
bx lr
arm_func_end func_ov18_0215e4a8
.global func_ov18_0215e4ac
arm_func_start func_ov18_0215e4ac
func_ov18_0215e4ac: ; 0x0215e4ac
bx lr
arm_func_end func_ov18_0215e4ac
.global func_ov18_0215e4b0
arm_func_start func_ov18_0215e4b0
func_ov18_0215e4b0: ; 0x0215e4b0
bx lr
arm_func_end func_ov18_0215e4b0
.global func_ov18_0215e4b4
arm_func_start func_ov18_0215e4b4
func_ov18_0215e4b4: ; 0x0215e4b4
stmdb sp!, {r4, lr}
mov r4, r0
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0215e4b4
.global func_ov18_0215e4c8
arm_func_start func_ov18_0215e4c8
func_ov18_0215e4c8: ; 0x0215e4c8
stmdb sp!, {r4, lr}
mov r4, r0
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0215e4c8
.global func_ov18_0215e4dc
arm_func_start func_ov18_0215e4dc
func_ov18_0215e4dc: ; 0x0215e4dc
stmdb sp!, {r4, lr}
ldr r1, _0215e510 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xd0
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_0215e514
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215e4dc
_0215e510: .word data_027e0f84
.global func_ov18_0215e514
arm_func_start func_ov18_0215e514
func_ov18_0215e514: ; 0x0215e514
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
bl func_ov00_0208b5bc
ldr r2, _0215e588 ; =data_ov18_0216c3fc
add r0, r4, #0x38
mov r1, #0
str r2, [r4]
blx func_ov00_020a9588
mov r1, #0
mov r2, #0x1000
mov r3, r1
add r0, r4, #0x94
str r2, [sp]
blx func_ov00_0207a188
mov r0, #0
str r0, [r4, #0xa8]
strb r0, [r4, #0xac]
strb r0, [r4, #0xad]
mov r1, #1
strb r1, [r4, #0xae]
strb r0, [r4, #0xaf]
add r1, r4, #0xc0
str r0, [r4, #0xbc]
mov r2, #0x10
bl func_020078f4
mov r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_0215e514
_0215e588: .word data_ov18_0216c3fc
.global func_ov18_0215e58c
arm_func_start func_ov18_0215e58c
func_ov18_0215e58c: ; 0x0215e58c
stmdb sp!, {r4, lr}
ldr r1, _0215e5cc ; =data_ov18_0216c3fc
mov r4, r0
ldr r0, _0215e5d0 ; =data_027e0e58
str r1, [r4]
ldr r0, [r0]
add r1, r4, #0xbc
bl func_ov00_0207c444
add r0, r4, #0xbc
bl func_ov00_020b7d74
add r0, r4, #0x38
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215e58c
_0215e5cc: .word data_ov18_0216c3fc
_0215e5d0: .word data_027e0e58
.global func_ov18_0215e5d4
arm_func_start func_ov18_0215e5d4
func_ov18_0215e5d4: ; 0x0215e5d4
stmdb sp!, {r4, lr}
ldr r1, _0215e61c ; =data_ov18_0216c3fc
mov r4, r0
ldr r0, _0215e620 ; =data_027e0e58
str r1, [r4]
ldr r0, [r0]
add r1, r4, #0xbc
bl func_ov00_0207c444
add r0, r4, #0xbc
bl func_ov00_020b7d74
add r0, r4, #0x38
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215e5d4
_0215e61c: .word data_ov18_0216c3fc
_0215e620: .word data_027e0e58
.global func_ov18_0215e624
arm_func_start func_ov18_0215e624
func_ov18_0215e624: ; 0x0215e624
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x80
mov r4, r0
ldr r1, [r4, #4]
orr r1, r1, #0x10
str r1, [r4, #4]
ldr r1, [r4, #0x18]
add r1, r1, #0x800
str r1, [r4, #0x18]
ldr r1, [r4, #0x20]
add r1, r1, #0x800
str r1, [r4, #0x20]
bl func_ov00_0208c214
add r0, r4, #0x18
add r3, sp, #0x74
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldrh r2, [r4, #0x24]
mov r5, #0x3800
mov r6, #0
str r2, [r4, #0xa8]
cmp r2, #0x12
mov r7, #0x1000
addls pc, pc, r2, lsl #2
b _0215ec94
_0215e688: ; jump table
b _0215ec94 ; case 0
b _0215e8f0 ; case 1
b _0215e91c ; case 2
b _0215e6d4 ; case 3
b _0215e700 ; case 4
b _0215e738 ; case 5
b _0215e8c4 ; case 6
b _0215e76c ; case 7
b _0215e7e4 ; case 8
b _0215e830 ; case 9
b _0215e948 ; case 10
b _0215e990 ; case 11
b _0215ea20 ; case 12
b _0215eabc ; case 13
b _0215ea68 ; case 14
b _0215e9d8 ; case 15
b _0215ebbc ; case 16
b _0215ebf4 ; case 17
b _0215ec48 ; case 18
_0215e6d4:
ldr r0, _0215ee5c ; =data_027e0f68
mov r2, r6
ldr r0, [r0]
mov r1, #0x12
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
b _0215ecb8
_0215e700:
ldr r0, _0215ee5c ; =data_027e0f68
mov r1, #0x12
ldr r0, [r0]
mov r2, #1
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [r4, #0x18]
add r0, r0, #0x800
str r0, [r4, #0x18]
b _0215ecb8
_0215e738:
ldr r0, _0215ee5c ; =data_027e0f68
mov r1, #0x3d
ldr r0, [r0]
mov r2, #2
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
mov r0, #1
strb r0, [r4, #0xac]
b _0215ecb8
_0215e76c:
ldr r0, _0215ee5c ; =data_027e0f68
mov r1, #0x3d
ldr r0, [r0]
mov r2, #3
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
mov r1, #1
strb r1, [r4, #0xaf]
mov r3, r6
mov r1, #0x1800
mov r2, #0x2000
str r1, [sp, #0x70]
str r3, [sp, #0x68]
str r2, [sp, #0x6c]
ldr r2, [r4, #0x18]
add r0, sp, #0x74
str r2, [sp, #0x74]
ldr r3, [r4, #0x1c]
add r1, sp, #0x68
str r3, [sp, #0x78]
ldr r3, [r4, #0x20]
mov r2, r0
str r3, [sp, #0x7c]
bl func_01ff9bc4
ldr r7, _0215ee60 ; =0x0000099a
b _0215ecb8
_0215e7e4:
ldr r0, _0215ee5c ; =data_027e0f68
mov r1, #0x3d
ldr r0, [r0]
mov r2, #1
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [r4, #0x18]
add r5, r5, #0x1000
add r0, r0, #0x1000
str r0, [r4, #0x18]
ldr r0, [r4, #0x20]
mov r6, #0x2000
add r0, r0, #0x1000
str r0, [r4, #0x20]
b _0215ecb8
_0215e830:
ldr r0, _0215ee5c ; =data_027e0f68
mov r2, r6
ldr r0, [r0]
mov r1, #0x3d
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r1, [r4, #0x18]
mov r0, #1
add r1, r1, #0x1800
str r1, [r4, #0x18]
ldr r1, [r4, #0x20]
mov r6, #0x1800
add r1, r1, #0x1000
str r1, [r4, #0x20]
strb r0, [r4, #0xaf]
mov r1, #0x2000
mov r2, #0x800
str r1, [sp, #0x60]
str r6, [sp, #0x64]
str r2, [sp, #0x5c]
ldr r2, [r4, #0x18]
add r0, sp, #0x74
str r2, [sp, #0x74]
ldr r2, [r4, #0x1c]
add r1, sp, #0x5c
str r2, [sp, #0x78]
ldr r3, [r4, #0x20]
mov r2, r0
add r5, r5, #0x1000
str r3, [sp, #0x7c]
bl func_01ff9bc4
ldr r7, _0215ee60 ; =0x0000099a
b _0215ecb8
_0215e8c4:
ldr r0, _0215ee5c ; =data_027e0f68
mov r1, #0x3f
ldr r0, [r0]
mov r2, #2
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
b _0215ecb8
_0215e8f0:
ldr r0, _0215ee5c ; =data_027e0f68
mov r2, r6
ldr r0, [r0]
mov r1, #0x3f
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
b _0215ecb8
_0215e91c:
ldr r0, _0215ee5c ; =data_027e0f68
mov r1, #0x3f
ldr r0, [r0]
mov r2, #1
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
b _0215ecb8
_0215e948:
ldr r0, _0215ee5c ; =data_027e0f68
mov r2, r6
ldr r0, [r0]
mov r1, #0x5b
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [r4, #0x18]
mov r6, #0x1800
add r0, r0, #0x1000
str r0, [r4, #0x18]
ldr r0, [r4, #0x20]
add r0, r0, #0x1000
str r0, [r4, #0x20]
b _0215ecb8
_0215e990:
ldr r0, _0215ee5c ; =data_027e0f68
mov r1, #0x7d
ldr r0, [r0]
mov r2, #1
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [r4, #0x18]
mov r6, #0x1800
add r0, r0, #0x1000
str r0, [r4, #0x18]
ldr r0, [r4, #0x20]
add r0, r0, #0x1000
str r0, [r4, #0x20]
b _0215ecb8
_0215e9d8:
ldr r0, _0215ee5c ; =data_027e0f68
mov r2, r6
ldr r0, [r0]
mov r1, #0x7d
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [r4, #0x18]
mov r6, #0x1800
add r0, r0, #0x1000
str r0, [r4, #0x18]
ldr r0, [r4, #0x20]
add r0, r0, #0x1000
str r0, [r4, #0x20]
b _0215ecb8
_0215ea20:
ldr r0, _0215ee5c ; =data_027e0f68
mov r2, r6
ldr r0, [r0]
mov r1, #0x7e
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [r4, #0x18]
mov r6, #0x1800
add r0, r0, #0x1000
str r0, [r4, #0x18]
ldr r0, [r4, #0x20]
add r0, r0, #0x1000
str r0, [r4, #0x20]
b _0215ecb8
_0215ea68:
ldr r0, _0215ee5c ; =data_027e0f68
mov r2, r6
ldr r0, [r0]
mov r1, #0x92
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r1, [r4, #0x18]
mov r0, #1
add r1, r1, #0x3000
str r1, [r4, #0x18]
ldr r1, [r4, #0x20]
add r5, r5, #0x3000
add r1, r1, #0x1000
str r1, [r4, #0x20]
strb r0, [r4, #0xac]
mov r6, #0x1800
b _0215ecb8
_0215eabc:
ldr r0, _0215ee5c ; =data_027e0f68
mov r1, #0x7e
ldr r0, [r0]
mov r2, #1
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [r4, #0x18]
ldr r3, _0215ee64 ; =data_ov18_0216c488
add r0, r0, #0x1000
str r0, [r4, #0x18]
ldr r0, [r4, #0x20]
add r8, r4, #0xc0
add r0, r0, #0x1000
str r0, [r4, #0x20]
mov r6, #0x1800
mov r2, #6
_0215eb0c:
ldrb r1, [r3]
ldrb r0, [r3, #1]
add r3, r3, #2
subs r2, r2, #1
strb r1, [r8]
strb r0, [r8, #1]
add r8, r8, #2
bne _0215eb0c
ldrb r2, [r3]
ldr r0, _0215ee68 ; =data_027e0f74
mov r1, #0x1f
strb r2, [r8]
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
bne _0215eb68
mov r0, #0
strb r0, [r4, #0xae]
ldr r1, _0215ee6c ; =func_ov18_0215f048
add r0, r4, #0x3c
str r4, [r4, #0x68]
bl func_02018cb8
b _0215ecb8
_0215eb68:
mov r0, #1
strb r0, [r4, #0xae]
strb r0, [r4, #0xaf]
mov r2, #0
mov r0, #0x1800
mov r1, #0x2000
str r0, [sp, #0x58]
str r2, [sp, #0x50]
str r1, [sp, #0x54]
ldr r1, [r4, #0x18]
add r0, sp, #0x74
str r1, [sp, #0x74]
ldr r2, [r4, #0x1c]
add r1, sp, #0x50
str r2, [sp, #0x78]
ldr r3, [r4, #0x20]
mov r2, r0
str r3, [sp, #0x7c]
bl func_01ff9bc4
ldr r7, _0215ee60 ; =0x0000099a
b _0215ecb8
_0215ebbc:
ldr r0, _0215ee5c ; =data_027e0f68
mov r2, r6
ldr r0, [r0]
mov r1, #0xa1
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [r4, #0x18]
add r0, r0, #0x800
str r0, [r4, #0x18]
b _0215ecb8
_0215ebf4:
ldr r0, _0215ee5c ; =data_027e0f68
mov r2, r6
ldr r0, [r0]
mov r1, #0xb4
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r1, [r4, #0x18]
mov r0, #1
add r1, r1, #0x2000
str r1, [r4, #0x18]
ldr r1, [r4, #0x20]
add r5, r5, #0x1000
add r1, r1, #0x1000
str r1, [r4, #0x20]
strb r0, [r4, #0xac]
mov r6, #0x1800
b _0215ecb8
_0215ec48:
ldr r0, _0215ee5c ; =data_027e0f68
mov r2, r6
ldr r0, [r0]
mov r1, #0xb6
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r1, [r4, #0x18]
mov r0, #1
add r1, r1, #0x1000
str r1, [r4, #0x18]
ldr r1, [r4, #0x20]
add r1, r1, #0x1000
str r1, [r4, #0x20]
strb r0, [r4, #0xac]
b _0215ecb8
_0215ec94:
ldr r0, _0215ee5c ; =data_027e0f68
mov r1, #0xd
ldr r0, [r0]
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
_0215ecb8:
add r2, sp, #0x18
mov r1, #0
str r1, [r2]
str r1, [r2, #4]
mov r0, r5, asr #0x1
str r1, [r2, #8]
str r6, [sp, #0x18]
str r0, [sp, #0x1c]
str r6, [r4, #0x98]
ldr r0, [sp, #0x1c]
str r0, [r4, #0x9c]
ldr r0, [sp, #0x20]
str r0, [r4, #0xa0]
str r5, [r4, #0xa4]
ldrb r0, [r4, #0xaf]
cmp r0, #0
ldrne r0, [r4, #0x30]
cmpne r0, #0
beq _0215ed70
add r0, sp, #0x24
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x24
str r1, [sp, #0x40]
str r1, [sp, #0x44]
bl func_ov00_020c3348
mvn r0, #0
add r1, sp, #0x10
str r0, [sp, #0x10]
str r0, [sp, #0x14]
str r1, [sp]
ldr r0, _0215ee70 ; =data_027e0fe8
ldr r1, _0215ee74 ; =0x48534b42
ldr r0, [r0]
add r2, sp, #0x74
add r3, sp, #0x24
bl func_ov00_020c4048
ldr r0, _0215ee78 ; =data_027e0fe4
add r1, sp, #0x10
ldr r0, [r0]
bl func_ov00_020c3674
cmp r0, #0
beq _0215ed70
ldr r2, [r4, #0x30]
mov r1, r7
bl func_ov18_0216a1d0
_0215ed70:
ldr r8, [r4, #0xa8]
ldr r3, _0215ee7c ; =data_ov18_0216c3a8
ldr r2, _0215ee80 ; =data_ov18_0216c3ce
ldrb r6, [r3, r8, lsl #1]
ldrb r7, [r4, #0x14]
ldr r0, _0215ee84 ; =data_ov18_0216c3a9
ldrb r5, [r2, r8, lsl #1]
ldr r1, _0215ee88 ; =data_ov18_0216c3cf
ldrb r3, [r4, #0x15]
ldrb r2, [r0, r8, lsl #1]
sub fp, r7, r6
add r0, fp, r5
str r0, [sp, #8]
sub r0, r3, r2
str r0, [sp, #4]
ldr r0, [sp, #8]
ldrb r1, [r1, r8, lsl #1]
cmp fp, r0
ldr r0, [sp, #4]
add sl, r0, r1
bge _0215ee18
ldr r5, _0215ee8c ; =data_027e0e60
add r7, sp, #0xc
mov r6, #1
_0215edd0:
ldr sb, [sp, #4]
mov r0, sb
cmp r0, sl
bge _0215ee08
and r8, fp, #0xff
_0215ede4:
ldr r0, [r5]
mov r1, r7
mov r2, r6
strb r8, [sp, #0xc]
strb sb, [sp, #0xd]
bl func_ov00_02082680
add sb, sb, #1
cmp sb, sl
blt _0215ede4
_0215ee08:
ldr r0, [sp, #8]
add fp, fp, #1
cmp fp, r0
blt _0215edd0
_0215ee18:
ldrb r0, [r4, #0xac]
cmp r0, #0
mov r0, r4
ldr r3, [r0]
beq _0215ee44
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
add sp, sp, #0x80
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0215ee44:
ldr r3, [r3, #0x80]
mov r1, #0
mov r2, #1
blx r3
add sp, sp, #0x80
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_0215e624
_0215ee5c: .word data_027e0f68
_0215ee60: .word 0x0000099a
_0215ee64: .word data_ov18_0216c488
_0215ee68: .word data_027e0f74
_0215ee6c: .word func_ov18_0215f048
_0215ee70: .word data_027e0fe8
_0215ee74: .word 0x48534b42
_0215ee78: .word data_027e0fe4
_0215ee7c: .word data_ov18_0216c3a8
_0215ee80: .word data_ov18_0216c3ce
_0215ee84: .word data_ov18_0216c3a9
_0215ee88: .word data_ov18_0216c3cf
_0215ee8c: .word data_027e0e60
.global func_ov18_0215ee90
arm_func_start func_ov18_0215ee90
func_ov18_0215ee90: ; 0x0215ee90
stmdb sp!, {r3, r4, r5, lr}
ldr r2, [r0]
mov r5, r0
ldr r2, [r2, #0x84]
mov r4, r1
blx r2
cmp r0, #0
ldrne r0, [r5, #8]
cmpne r0, #0
beq _0215ef14
cmp r0, #1
bne _0215ef14
ldrb r0, [r5, #0xad]
cmp r0, #0
beq _0215ef14
mov r1, #0
add r0, r5, #0x3c
str r1, [r5, #0x68]
bl func_02018cb8
mov r1, #4
ldr r0, _0215ef28 ; =data_027e0e58
str r1, [sp]
ldr r0, [r0]
add r1, r5, #0xbc
add r3, r5, #0xb0
mov r2, #0xf5
bl func_ov00_0207c1f8
mov r0, r5
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
_0215ef14:
mov r1, r4
add r0, r5, #0x94
add r2, r5, #0x18
bl func_ov00_0207a1c8
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0215ee90
_0215ef28: .word data_027e0e58
.global func_ov18_0215ef2c
arm_func_start func_ov18_0215ef2c
func_ov18_0215ef2c: ; 0x0215ef2c
stmdb sp!, {r3, lr}
str r1, [r0, #8]
cmp r1, #0
beq _0215ef54
cmp r1, #1
bne _0215ef54
ldr r1, _0215ef5c ; =func_ov18_0215f030
str r0, [r0, #0x68]
add r0, r0, #0x3c
bl func_02018cb8
_0215ef54:
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0215ef2c
_0215ef5c: .word func_ov18_0215f030
.global func_ov18_0215ef60
arm_func_start func_ov18_0215ef60
func_ov18_0215ef60: ; 0x0215ef60
mov r0, #0x2f
bx lr
arm_func_end func_ov18_0215ef60
.global func_ov18_0215ef68
arm_func_start func_ov18_0215ef68
func_ov18_0215ef68: ; 0x0215ef68
mov r0, #1
bx lr
arm_func_end func_ov18_0215ef68
.global func_ov18_0215ef70
arm_func_start func_ov18_0215ef70
func_ov18_0215ef70: ; 0x0215ef70
mov r0, #0
bx lr
arm_func_end func_ov18_0215ef70
.global func_ov18_0215ef78
arm_func_start func_ov18_0215ef78
func_ov18_0215ef78: ; 0x0215ef78
stmdb sp!, {r4, lr}
sub sp, sp, #0x30
ldr r2, _0215f018 ; =data_027e0d38
mov r4, r0
ldr r2, [r2]
ldr r2, [r2, #0x14]
cmp r2, #1
beq _0215efb0
ldr r2, [r0]
ldr r2, [r2, #0x88]
blx r2
cmp r0, #0
addeq sp, sp, #0x30
ldmeqia sp!, {r4, pc}
_0215efb0:
ldrh r1, [r4, #0xc]
ldr r3, _0215f01c ; =data_02050f54
add r0, sp, #0xc
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
ldr r2, [r4, #0x20]
ldr r1, [r4, #0x1c]
ldr r0, [r4, #0x18]
add r2, r2, #0x800
str r0, [sp]
str r1, [sp, #4]
str r2, [sp, #8]
add r0, r4, #0x38
ldr r3, [r0]
add r1, sp, #0xc
ldr r3, [r3, #0x14]
add r2, sp, #0
blx r3
add sp, sp, #0x30
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215ef78
_0215f018: .word data_027e0d38
_0215f01c: .word data_02050f54
.global func_ov18_0215f020
arm_func_start func_ov18_0215f020
func_ov18_0215f020: ; 0x0215f020
cmp r1, #0
ldrneb r0, [r0, #0x95]
ldreqb r0, [r0, #0x94]
bx lr
arm_func_end func_ov18_0215f020
.global func_ov18_0215f030
arm_func_start func_ov18_0215f030
func_ov18_0215f030: ; 0x0215f030
ldr r2, _0215f044 ; =func_ov18_0215f060
mov r1, #2
str r2, [r0, #0x24]
strb r1, [r0, #0x92]
bx lr
.align 2, 0
arm_func_end func_ov18_0215f030
_0215f044: .word func_ov18_0215f060
.global func_ov18_0215f048
arm_func_start func_ov18_0215f048
func_ov18_0215f048: ; 0x0215f048
ldr r2, _0215f05c ; =func_ov18_0215f078
mov r1, #2
str r2, [r0, #0x14]
strb r1, [r0, #0x8e]
bx lr
.align 2, 0
arm_func_end func_ov18_0215f048
_0215f05c: .word func_ov18_0215f078
.global func_ov18_0215f060
arm_func_start func_ov18_0215f060
func_ov18_0215f060: ; 0x0215f060
mov r1, r0
ldr r0, [r1, #4]
ldr ip, _0215f074 ; =func_ov18_0215f090
ldr r0, [r0, #0x2c]
bx ip
.align 2, 0
arm_func_end func_ov18_0215f060
_0215f074: .word func_ov18_0215f090
.global func_ov18_0215f078
arm_func_start func_ov18_0215f078
func_ov18_0215f078: ; 0x0215f078
mov r1, r0
ldr r0, [r1, #4]
ldr ip, _0215f08c ; =func_ov18_0215f13c
ldr r0, [r0, #0x2c]
bx ip
.align 2, 0
arm_func_end func_ov18_0215f078
_0215f08c: .word func_ov18_0215f13c
.global func_ov18_0215f090
arm_func_start func_ov18_0215f090
func_ov18_0215f090: ; 0x0215f090
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0xc
mov r6, r1
ldr r1, [r6, #8]
mov r4, r0
tst r1, #0x10
add r0, r4, #0x38
ldr r1, [r0]
ldrneb r5, [r6, #0xae]
ldr r1, [r1, #8]
mvneq r5, #0
blx r1
ldr r1, _0215f138 ; =data_ov18_0216b4e8
add r0, r0, #0x40
bl func_0201e388
cmp r5, r0
addne sp, sp, #0xc
ldmneia sp!, {r3, r4, r5, r6, pc}
ldr r3, [r6, #0xb4]
add ip, sp, #0
ldr lr, [r3, #0x4c]
add r0, r4, #0xb0
str lr, [sp]
ldr r2, [r3, #0x50]
add r1, r4, #0x18
str r2, [sp, #4]
ldr r3, [r3, #0x54]
mov r2, r0
str r3, [sp, #8]
str lr, [r4, #0xb0]
ldr r3, [ip, #4]
str r3, [r4, #0xb4]
ldr r3, [ip, #8]
str r3, [r4, #0xb8]
bl func_01ff9bc4
ldr r1, [r4, #0xb8]
mov r0, #1
add r1, r1, #0x800
str r1, [r4, #0xb8]
strb r0, [r4, #0xad]
add sp, sp, #0xc
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_0215f090
_0215f138: .word data_ov18_0216b4e8
.global func_ov18_0215f13c
arm_func_start func_ov18_0215f13c
func_ov18_0215f13c: ; 0x0215f13c
stmdb sp!, {r4, r5, r6, lr}
mov r5, r1
ldr r1, [r5, #8]
mov r6, r0
tst r1, #0x10
ldrneb r4, [r5, #0xae]
ldrb r0, [r6, #0xae]
mvneq r4, #0
cmp r0, #0
ldmneia sp!, {r4, r5, r6, pc}
add r0, r6, #0x38
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
add r0, r0, #0x40
add r1, r6, #0xc0
bl func_0201e388
cmp r4, r0
ldreq r0, [r5, #0xb8]
moveq r1, #0
streq r1, [r0]
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov18_0215f13c
.global func_ov18_0215f194
arm_func_start func_ov18_0215f194
func_ov18_0215f194: ; 0x0215f194
stmdb sp!, {r4, lr}
ldr r1, _0215f1c8 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x64
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_0215f1cc
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215f194
_0215f1c8: .word data_027e0f84
.global func_ov18_0215f1cc
arm_func_start func_ov18_0215f1cc
func_ov18_0215f1cc: ; 0x0215f1cc
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _0215f21c ; =data_ov00_020e26b4
ldr r0, _0215f220 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r1, #0
strb r1, [r4, #0x3d]
str r1, [r4, #0x40]
str r1, [r4, #0x44]
ldr r0, _0215f224 ; =data_ov00_020e2dd8
str r1, [r4, #0x48]
ldr r1, _0215f228 ; =data_ov18_0216c4a0
str r0, [r4, #0x38]
mov r0, r4
str r1, [r4]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215f1cc
_0215f21c: .word data_ov00_020e26b4
_0215f220: .word data_ov00_020e2f04
_0215f224: .word data_ov00_020e2dd8
_0215f228: .word data_ov18_0216c4a0
.global func_ov18_0215f22c
arm_func_start func_ov18_0215f22c
func_ov18_0215f22c: ; 0x0215f22c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0215f22c
.global func_ov18_0215f24c
arm_func_start func_ov18_0215f24c
func_ov18_0215f24c: ; 0x0215f24c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0215f24c
.global func_ov18_0215f274
arm_func_start func_ov18_0215f274
func_ov18_0215f274: ; 0x0215f274
stmdb sp!, {r4, lr}
sub sp, sp, #0x50
mov r4, r0
ldr r1, [r4, #4]
mov r0, #7
orr r1, r1, #4
str r1, [r4, #4]
strb r0, [r4, #0x12]
mov r0, #0
add ip, r4, #0x18
str r0, [r4, #0x1c]
ldmia ip, {r0, r1, r2}
add lr, sp, #0x44
stmia lr, {r0, r1, r2}
ldmia ip, {r0, r1, r2}
ldr ip, _0215f380 ; =0x00000666
add r3, sp, #0x38
stmia r3, {r0, r1, r2}
ldr r3, _0215f384 ; =0x00000ccd
add r1, sp, #0x14
mov r0, lr
mov r2, lr
str ip, [sp, #0x14]
str r3, [sp, #0x18]
str ip, [sp, #0x1c]
bl func_01ff9bf8
ldr r1, _0215f380 ; =0x00000666
ldr r2, _0215f384 ; =0x00000ccd
add r0, sp, #0x38
str r2, [sp, #0xc]
str r1, [sp, #8]
str r1, [sp, #0x10]
add r1, sp, #8
mov r2, r0
bl func_01ff9bc4
mov r0, #0
bic r0, r0, #0x1f
orr r0, r0, #6
add r1, sp, #0x44
str r0, [sp, #4]
add lr, sp, #0x20
ldmia r1, {r0, r1, r2}
stmia lr, {r0, r1, r2}
add ip, sp, #0x38
add r3, sp, #0x2c
ldmia ip, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r4
bl func_ov00_0208b9cc
mov r2, r0
mov r0, #0
str r0, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x14]
add r1, sp, #0x20
blx ip
mov r1, #0
strb r1, [r4, #0x3c]
mov r0, r4
ldr r3, [r0]
mov r2, r1
ldr r3, [r3, #0x80]
blx r3
add sp, sp, #0x50
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215f274
_0215f380: .word 0x00000666
_0215f384: .word 0x00000ccd
.global func_ov18_0215f388
arm_func_start func_ov18_0215f388
func_ov18_0215f388: ; 0x0215f388
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldrne r0, [r4, #8]
cmpne r0, #0
ldmeqia sp!, {r4, pc}
cmp r0, #1
ldmneia sp!, {r4, pc}
ldr r0, _0215f3fc ; =data_027e0c68
ldr r1, [r0, #0x40]
cmp r1, #0
ldmneia sp!, {r4, pc}
ldr r0, [r0, #0x44]
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
mov r1, #0
mov r2, #1
bl func_ov00_0208ba08
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215f388
_0215f3fc: .word data_027e0c68
.global func_ov18_0215f400
arm_func_start func_ov18_0215f400
func_ov18_0215f400: ; 0x0215f400
str r1, [r0, #8]
cmp r1, #0
beq _0215f414
cmp r1, #1
b _0215f420
_0215f414:
ldr r1, [r0, #4]
orr r1, r1, #4
str r1, [r0, #4]
_0215f420:
mov r0, #1
bx lr
arm_func_end func_ov18_0215f400
.global func_ov18_0215f428
arm_func_start func_ov18_0215f428
func_ov18_0215f428: ; 0x0215f428
mov r0, #0x5c
bx lr
arm_func_end func_ov18_0215f428
.global func_ov18_0215f430
arm_func_start func_ov18_0215f430
func_ov18_0215f430: ; 0x0215f430
stmdb sp!, {r4, lr}
mov r4, r0
ldr r1, [r4, #8]
cmp r1, #0
bne _0215f460
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldr r0, [r4, #0x30]
ldmia sp!, {r4, pc}
_0215f460:
mvn r0, #0
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0215f430
.global func_ov18_0215f468
arm_func_start func_ov18_0215f468
func_ov18_0215f468: ; 0x0215f468
bx lr
arm_func_end func_ov18_0215f468
.global func_ov18_0215f46c
arm_func_start func_ov18_0215f46c
func_ov18_0215f46c: ; 0x0215f46c
mov r0, #0x5e
bx lr
arm_func_end func_ov18_0215f46c
.global func_ov18_0215f474
arm_func_start func_ov18_0215f474
func_ov18_0215f474: ; 0x0215f474
stmdb sp!, {r4, lr}
ldr r1, _0215f4a8 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xa0
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_0215f4ac
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215f474
_0215f4a8: .word data_027e0f84
.global func_ov18_0215f4ac
arm_func_start func_ov18_0215f4ac
func_ov18_0215f4ac: ; 0x0215f4ac
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
mov r1, #0
ldr r2, _0215f53c ; =data_ov00_020e26b4
ldr r0, _0215f540 ; =data_ov00_020e2f04
str r2, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
strb r1, [r4, #0x3d]
str r1, [r4, #0x40]
str r1, [r4, #0x44]
ldr r2, _0215f544 ; =data_ov00_020e2dd8
str r1, [r4, #0x48]
ldr r0, _0215f548 ; =data_ov18_0216c534
str r2, [r4, #0x38]
str r0, [r4]
mov r2, r1
mov r3, r1
add r0, r4, #0x68
str r1, [r4, #0x64]
blx func_ov00_020bd618
ldr r1, _0215f540 ; =data_ov00_020e2f04
mov r0, #1
str r1, [r4, #0x74]
strb r0, [r4, #0x78]
mov r0, #0
strb r0, [r4, #0x79]
str r0, [r4, #0x7c]
str r0, [r4, #0x80]
ldr r1, _0215f544 ; =data_ov00_020e2dd8
str r0, [r4, #0x84]
mov r0, r4
str r1, [r4, #0x74]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215f4ac
_0215f53c: .word data_ov00_020e26b4
_0215f540: .word data_ov00_020e2f04
_0215f544: .word data_ov00_020e2dd8
_0215f548: .word data_ov18_0216c534
.global func_ov18_0215f54c
arm_func_start func_ov18_0215f54c
func_ov18_0215f54c: ; 0x0215f54c
stmdb sp!, {r4, lr}
ldr r1, _0215f594 ; =data_ov18_0216c534
mov r4, r0
ldr r0, _0215f598 ; =data_027e0f6c
str r1, [r4]
ldr r0, [r0]
add r1, r4, #0x74
bl func_ov00_02093af0
add r0, r4, #0x74
bl func_ov00_02094824
add r0, r4, #0x68
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215f54c
_0215f594: .word data_ov18_0216c534
_0215f598: .word data_027e0f6c
.global func_ov18_0215f59c
arm_func_start func_ov18_0215f59c
func_ov18_0215f59c: ; 0x0215f59c
stmdb sp!, {r4, lr}
ldr r1, _0215f5ec ; =data_ov18_0216c534
mov r4, r0
ldr r0, _0215f5f0 ; =data_027e0f6c
str r1, [r4]
ldr r0, [r0]
add r1, r4, #0x74
bl func_ov00_02093af0
add r0, r4, #0x74
bl func_ov00_02094824
add r0, r4, #0x68
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215f59c
_0215f5ec: .word data_ov18_0216c534
_0215f5f0: .word data_027e0f6c
.global func_ov18_0215f5f4
arm_func_start func_ov18_0215f5f4
func_ov18_0215f5f4: ; 0x0215f5f4
mov r0, #0x30
bx lr
arm_func_end func_ov18_0215f5f4
.global func_ov18_0215f5fc
arm_func_start func_ov18_0215f5fc
func_ov18_0215f5fc: ; 0x0215f5fc
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0x84
mov r5, r0
ldr r0, [r5, #4]
mov r1, #0
orr r0, r0, #4
str r0, [r5, #4]
ldrh r0, [r5, #0x26]
cmp r0, #1
ldrh r0, [r5, #0x28]
moveq r1, #1
str r0, [r5, #0x64]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _0215f6a8
_0215f638: ; jump table
b _0215f6b0 ; case 0
b _0215f6b0 ; case 1
b _0215f648 ; case 2
b _0215f678 ; case 3
_0215f648:
ldr r0, _0215f8f4 ; =data_027e0f68
mov r1, #0x76
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r5, #0x68
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
mov r1, #1
b _0215f6b0
_0215f678:
ldr r0, _0215f8f4 ; =data_027e0f68
mov r1, #0x75
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r5, #0x68
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
mov r1, #1
b _0215f6b0
_0215f6a8:
mov r0, #0
str r0, [r5, #0x64]
_0215f6b0:
cmp r1, #0
beq _0215f6c8
ldr r0, [r5, #0x18]
add r0, r0, #0x3fc
add r0, r0, #0x400
str r0, [r5, #0x18]
_0215f6c8:
ldr r1, [r5, #0x18]
add r0, sp, #0x78
str r1, [sp, #0x78]
ldr r1, [r5, #0x1c]
ldr r3, _0215f8f8 ; =0x0000059a
str r1, [sp, #0x7c]
ldr r2, [r5, #0x20]
add r1, sp, #0x60
str r2, [sp, #0x80]
ldr r4, [r5, #0x18]
mov r2, r0
str r4, [sp, #0x6c]
ldr r4, [r5, #0x1c]
mov r6, #0x800
str r4, [sp, #0x70]
ldr ip, [r5, #0x20]
mov r4, #0
str ip, [sp, #0x74]
str r6, [sp, #0x60]
str r4, [sp, #0x64]
str r3, [sp, #0x68]
bl func_01ff9bf8
add r0, sp, #0x6c
ldr r3, _0215f8f8 ; =0x0000059a
mov r4, #0x1000
add r1, sp, #0x54
mov r2, r0
str r6, [sp, #0x54]
str r4, [sp, #0x58]
str r3, [sp, #0x5c]
bl func_01ff9bc4
mov r1, #0
bic r1, r1, #0x1f
orr r1, r1, #6
bic r1, r1, #0x80000000
orr r4, r1, #0x80000000
add r0, sp, #0x78
add r3, sp, #0x3c
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
add r0, sp, #0x6c
add r3, sp, #0x48
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r5
str r4, [sp, #8]
bl func_ov00_0208b9cc
mov r2, r0
mov r0, #0
str r0, [sp]
add r0, r5, #0x38
mov r3, r4
ldr r4, [r0]
add r1, sp, #0x3c
ldr r4, [r4, #0x14]
blx r4
mov r3, #0
strb r3, [r5, #0x3c]
ldrh r1, [r5, #0x24]
ldr r0, [r5, #0x18]
ldr lr, _0215f8fc ; =0x00000199
str r0, [sp, #0x78]
ldr r0, [r5, #0x1c]
and r4, r1, #0xff
str r0, [sp, #0x7c]
ldr r1, [r5, #0x20]
add r0, sp, #0x78
str r1, [sp, #0x80]
ldr r2, [r5, #0x18]
add ip, lr, #0x134
str r2, [sp, #0x6c]
ldr r6, [r5, #0x1c]
add r1, sp, #0x30
str r6, [sp, #0x70]
ldr r6, [r5, #0x20]
mov r2, r0
str r6, [sp, #0x74]
str lr, [sp, #0x30]
str r3, [sp, #0x34]
str ip, [sp, #0x38]
bl func_01ff9bf8
ldr lr, _0215f8fc ; =0x00000199
add r0, sp, #0x6c
sub r3, lr, #0x33
mov ip, #0x1000
add r1, sp, #0x24
mov r2, r0
str lr, [sp, #0x24]
str ip, [sp, #0x28]
str r3, [sp, #0x2c]
bl func_01ff9bc4
mov ip, #0
bic r1, ip, #0x1f
orr r1, r1, #7
bic r1, r1, #0x6000
orr r1, r1, #0x2000
orr r1, r1, #0x33c00000
bic r1, r1, #0x3f0000
orr r3, r1, r4, lsl #16
add r0, sp, #0x78
add lr, sp, #0xc
ldmia r0, {r0, r1, r2}
stmia lr, {r0, r1, r2}
add r0, sp, #0x6c
add r4, sp, #0x18
ldmia r0, {r0, r1, r2}
stmia r4, {r0, r1, r2}
str ip, [sp]
add r0, r5, #0x74
ldr r4, [r0]
mov r1, lr
ldr r4, [r4, #0x14]
mov r2, #4
str r3, [sp, #4]
blx r4
mov r0, #0
strb r0, [r5, #0x78]
ldr r0, _0215f900 ; =data_027e0f6c
add r1, r5, #0x74
ldr r0, [r0]
bl func_ov00_02093a5c
mov r0, r5
bl func_ov18_0215fa64
cmp r0, #0
mov r0, r5
ldr r3, [r0]
beq _0215f8dc
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
add sp, sp, #0x84
ldmia sp!, {r3, r4, r5, r6, pc}
_0215f8dc:
ldr r3, [r3, #0x80]
mov r1, #0
mov r2, #1
blx r3
add sp, sp, #0x84
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_0215f5fc
_0215f8f4: .word data_027e0f68
_0215f8f8: .word 0x0000059a
_0215f8fc: .word 0x00000199
_0215f900: .word data_027e0f6c
.global func_ov18_0215f904
arm_func_start func_ov18_0215f904
func_ov18_0215f904: ; 0x0215f904
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #8]
cmp r0, #0
beq _0215f938
cmp r0, #1
beq _0215f964
ldmia sp!, {r4, pc}
_0215f938:
mov r0, r4
bl func_ov18_0215fa64
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r4, pc}
_0215f964:
mov r0, r4
bl func_ov18_0215fa64
cmp r0, #0
ldmneia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0215f904
.global func_ov18_0215f990
arm_func_start func_ov18_0215f990
func_ov18_0215f990: ; 0x0215f990
stmdb sp!, {r4, lr}
mov r4, r0
str r1, [r4, #8]
cmp r1, #0
beq _0215f9b0
cmp r1, #1
beq _0215f9e8
b _0215fa1c
_0215f9b0:
ldr r1, [r4, #4]
add r0, r4, #0x74
orr r2, r1, #8
mov r1, #3
str r2, [r4, #4]
bl func_ov00_02094884
ldr r0, _0215fa24 ; =data_027e0e60
add r1, r4, #0x38
ldr r0, [r0]
mov r2, #0
bl func_ov00_020843ec
mov r0, #7
strb r0, [r4, #0x12]
b _0215fa1c
_0215f9e8:
ldr r1, [r4, #4]
add r0, r4, #0x74
bic r2, r1, #8
mov r1, #1
str r2, [r4, #4]
bl func_ov00_02094884
ldr r0, _0215fa24 ; =data_027e0e60
add r1, r4, #0x38
ldr r0, [r0]
mov r2, #1
bl func_ov00_020843ec
mov r0, #1
strb r0, [r4, #0x12]
_0215fa1c:
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215f990
_0215fa24: .word data_027e0e60
.global func_ov18_0215fa28
arm_func_start func_ov18_0215fa28
func_ov18_0215fa28: ; 0x0215fa28
ldrsb r1, [r0, #0x12]
cmp r1, #7
ldreq r0, [r0, #0x30]
mvnne r0, #0
bx lr
arm_func_end func_ov18_0215fa28
.global func_ov18_0215fa3c
arm_func_start func_ov18_0215fa3c
func_ov18_0215fa3c: ; 0x0215fa3c
mov r0, #7
bx lr
arm_func_end func_ov18_0215fa3c
.global func_ov18_0215fa44
arm_func_start func_ov18_0215fa44
func_ov18_0215fa44: ; 0x0215fa44
stmdb sp!, {r3, lr}
mov r1, r0
add r0, r1, #0x68
ldr r2, [r0]
add r1, r1, #0x18
ldr r2, [r2, #0x18]
blx r2
ldmia sp!, {r3, pc}
arm_func_end func_ov18_0215fa44
.global func_ov18_0215fa64
arm_func_start func_ov18_0215fa64
func_ov18_0215fa64: ; 0x0215fa64
stmdb sp!, {r3, lr}
ldr r1, [r0, #0x64]
cmp r1, #0
bne _0215fa7c
mov r0, #1
ldmia sp!, {r3, pc}
_0215fa7c:
ldr r2, _0215fa90 ; =data_027e0f74
ldrh r1, [r0, #0x2a]
ldr r0, [r2]
bl func_ov00_02097760
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0215fa64
_0215fa90: .word data_027e0f74
.global func_ov18_0215fa94
arm_func_start func_ov18_0215fa94
func_ov18_0215fa94: ; 0x0215fa94
stmdb sp!, {r4, lr}
ldr r1, _0215fac8 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x64
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_0215facc
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215fa94
_0215fac8: .word data_027e0f84
.global func_ov18_0215facc
arm_func_start func_ov18_0215facc
func_ov18_0215facc: ; 0x0215facc
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _0215fb1c ; =data_ov00_020e26b4
ldr r0, _0215fb20 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r1, #0
strb r1, [r4, #0x3d]
str r1, [r4, #0x40]
str r1, [r4, #0x44]
ldr r0, _0215fb24 ; =data_ov00_020e2dd8
str r1, [r4, #0x48]
ldr r1, _0215fb28 ; =data_ov18_0216c5c8
str r0, [r4, #0x38]
mov r0, r4
str r1, [r4]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215facc
_0215fb1c: .word data_ov00_020e26b4
_0215fb20: .word data_ov00_020e2f04
_0215fb24: .word data_ov00_020e2dd8
_0215fb28: .word data_ov18_0216c5c8
.global func_ov18_0215fb2c
arm_func_start func_ov18_0215fb2c
func_ov18_0215fb2c: ; 0x0215fb2c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0215fb2c
.global func_ov18_0215fb4c
arm_func_start func_ov18_0215fb4c
func_ov18_0215fb4c: ; 0x0215fb4c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0215fb4c
.global func_ov18_0215fb74
arm_func_start func_ov18_0215fb74
func_ov18_0215fb74: ; 0x0215fb74
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0x5c
mov r5, r0
ldr r1, [r5, #4]
mov r0, #1
orr r1, r1, #4
orr r1, r1, #0x800
str r1, [r5, #4]
strb r0, [r5, #0x12]
mov r4, #0x800
add r0, r5, #0x18
mov r3, #0
add r1, sp, #0x38
mov r2, r0
str r4, [sp, #0x38]
str r3, [sp, #0x3c]
str r4, [sp, #0x40]
bl func_01ff9bc4
mov r0, r5
bl func_ov18_0215fccc
ldr r1, [r5, #0x18]
mov r4, r0
str r1, [sp, #0x50]
ldr r1, [r5, #0x1c]
ldr r2, _0215fcb0 ; =0x00000b34
str r1, [sp, #0x54]
ldr r1, [r5, #0x20]
add r0, sp, #0x50
str r1, [sp, #0x58]
ldr r1, [r5, #0x18]
mov r6, #0x1000
str r1, [sp, #0x44]
ldr r1, [r5, #0x1c]
mov r3, #0
str r1, [sp, #0x48]
ldr ip, [r5, #0x20]
add r1, sp, #0x2c
str r2, [sp, #0x34]
mov r2, r0
str ip, [sp, #0x4c]
str r6, [sp, #0x2c]
str r3, [sp, #0x30]
bl func_01ff9bf8
mov r0, r6
str r0, [sp, #0x20]
str r0, [sp, #0x24]
mov r0, #0
str r0, [sp, #0x28]
add r0, sp, #0x44
add r1, sp, #0x20
mov r2, r0
bl func_01ff9bc4
mov ip, #0
bic r0, ip, #0x1f
orr r0, r0, #7
bic r0, r0, #0x6000
orr r0, r0, #0x8c00000
bic r0, r0, #0x3f0000
orr r3, r0, r4, lsl #16
add r0, sp, #0x50
add r6, sp, #8
ldmia r0, {r0, r1, r2}
stmia r6, {r0, r1, r2}
add lr, sp, #0x44
add r4, sp, #0x14
ldmia lr, {r0, r1, r2}
stmia r4, {r0, r1, r2}
str ip, [sp]
add r0, r5, #0x38
ldr r4, [r0]
mov r1, r6
ldr r4, [r4, #0x14]
mov r2, #4
str r3, [sp, #4]
blx r4
mov r0, #1
strb r0, [r5, #0x3c]
add sp, sp, #0x5c
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_0215fb74
_0215fcb0: .word 0x00000b34
.global func_ov18_0215fcb4
arm_func_start func_ov18_0215fcb4
func_ov18_0215fcb4: ; 0x0215fcb4
bx lr
arm_func_end func_ov18_0215fcb4
.global func_ov18_0215fcb8
arm_func_start func_ov18_0215fcb8
func_ov18_0215fcb8: ; 0x0215fcb8
ldr r0, _0215fcc0 ; =0x00000ccd
bx lr
.align 2, 0
arm_func_end func_ov18_0215fcb8
_0215fcc0: .word 0x00000ccd
.global func_ov18_0215fcc4
arm_func_start func_ov18_0215fcc4
func_ov18_0215fcc4: ; 0x0215fcc4
mov r0, #0
bx lr
arm_func_end func_ov18_0215fcc4
.global func_ov18_0215fccc
arm_func_start func_ov18_0215fccc
func_ov18_0215fccc: ; 0x0215fccc
ldrh r0, [r0, #0x24]
and r0, r0, #0xff
bx lr
arm_func_end func_ov18_0215fccc
.global func_ov18_0215fcd8
arm_func_start func_ov18_0215fcd8
func_ov18_0215fcd8: ; 0x0215fcd8
mov r0, #0x72
bx lr
arm_func_end func_ov18_0215fcd8
.global func_ov18_0215fce0
arm_func_start func_ov18_0215fce0
func_ov18_0215fce0: ; 0x0215fce0
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov14_021439e0
ldr r0, _0215fd98 ; =data_ov18_0216c69c
mov r1, #0
str r0, [r4]
str r1, [r4, #0x3c]
str r1, [r4, #0x40]
str r1, [r4, #0x44]
ldr r0, _0215fd9c ; =data_027e0d38
str r1, [r4, #0x48]
ldr r0, [r0]
add r0, r0, #0xc
bl func_ov00_020a5e9c
cmp r0, #0xb
bne _0215fd44
ldr r1, _0215fda0 ; =data_027e0ce0
mov r0, #2
ldr r1, [r1, #4]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _0215fd48
blx func_ov26_02175fa8
b _0215fd48
_0215fd44:
mov r0, #0
_0215fd48:
ldr r1, _0215fd9c ; =data_027e0d38
str r0, [r4, #0x4c]
ldr r0, [r1]
add r0, r0, #0xc
bl func_ov00_020a5e9c
cmp r0, #0xb
bne _0215fd88
ldr r1, _0215fda0 ; =data_027e0ce0
mov r0, #0x288
ldr r1, [r1, #4]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _0215fd8c
blx func_ov26_0217752c
b _0215fd8c
_0215fd88:
mov r0, #0
_0215fd8c:
str r0, [r4, #0x50]
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0215fce0
_0215fd98: .word data_ov18_0216c69c
_0215fd9c: .word data_027e0d38
_0215fda0: .word data_027e0ce0
.global func_ov18_0215fda4
arm_func_start func_ov18_0215fda4
func_ov18_0215fda4: ; 0x0215fda4
bx lr
arm_func_end func_ov18_0215fda4
.global func_ov18_0215fda8
arm_func_start func_ov18_0215fda8
func_ov18_0215fda8: ; 0x0215fda8
stmdb sp!, {r3, r4, r5, lr}
ldr r1, _0215fe88 ; =data_ov18_0216c69c
mov r4, r0
str r1, [r4]
ldr r5, [r4, #0x50]
cmp r5, #0
beq _0215fdd4
mov r0, r5
blx func_ov26_021775b0
mov r0, r5
bl func_0202ea0c
_0215fdd4:
ldr r5, [r4, #0x4c]
cmp r5, #0
beq _0215fdf0
mov r0, r5
blx func_ov26_02175fb4
mov r0, r5
bl func_0202ea0c
_0215fdf0:
ldr r5, [r4, #0x3c]
cmp r5, #0
beq _0215fe0c
mov r0, r5
bl func_ov33_0217d884
mov r0, r5
bl func_0202ea0c
_0215fe0c:
ldr r5, [r4, #0x40]
cmp r5, #0
beq _0215fe28
mov r0, r5
bl func_ov45_0218b3c8
mov r0, r5
bl func_0202ea0c
_0215fe28:
ldr r5, [r4, #0x44]
cmp r5, #0
beq _0215fe44
mov r0, r5
bl func_ov31_0217bf70
mov r0, r5
bl func_0202ea0c
_0215fe44:
ldr r5, [r4, #0x48]
cmp r5, #0
beq _0215fe70
add r0, r5, #0x158
ldr r3, _0215fe8c ; =func_ov18_0215fda4
add r0, r0, #0x400
mov r1, #2
mov r2, #0x18
bl func_0204f754
mov r0, r5
bl func_0202ea0c
_0215fe70:
mov r0, r4
blx func_ov14_02143d10
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0215fda8
_0215fe88: .word data_ov18_0216c69c
_0215fe8c: .word func_ov18_0215fda4
.global func_ov18_0215fe90
arm_func_start func_ov18_0215fe90
func_ov18_0215fe90: ; 0x0215fe90
stmdb sp!, {r3, r4, r5, lr}
ldr r1, _0215ff68 ; =data_ov18_0216c69c
mov r4, r0
str r1, [r4]
ldr r5, [r4, #0x50]
cmp r5, #0
beq _0215febc
mov r0, r5
blx func_ov26_021775b0
mov r0, r5
bl func_0202ea0c
_0215febc:
ldr r5, [r4, #0x4c]
cmp r5, #0
beq _0215fed8
mov r0, r5
blx func_ov26_02175fb4
mov r0, r5
bl func_0202ea0c
_0215fed8:
ldr r5, [r4, #0x3c]
cmp r5, #0
beq _0215fef4
mov r0, r5
bl func_ov33_0217d884
mov r0, r5
bl func_0202ea0c
_0215fef4:
ldr r5, [r4, #0x40]
cmp r5, #0
beq _0215ff10
mov r0, r5
bl func_ov45_0218b3c8
mov r0, r5
bl func_0202ea0c
_0215ff10:
ldr r5, [r4, #0x44]
cmp r5, #0
beq _0215ff2c
mov r0, r5
bl func_ov31_0217bf70
mov r0, r5
bl func_0202ea0c
_0215ff2c:
ldr r5, [r4, #0x48]
cmp r5, #0
beq _0215ff58
add r0, r5, #0x158
ldr r3, _0215ff6c ; =func_ov18_0215fda4
add r0, r0, #0x400
mov r1, #2
mov r2, #0x18
bl func_0204f754
mov r0, r5
bl func_0202ea0c
_0215ff58:
mov r0, r4
blx func_ov14_02143d10
mov r0, r4
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0215fe90
_0215ff68: .word data_ov18_0216c69c
_0215ff6c: .word func_ov18_0215fda4
.global func_ov18_0215ff70
arm_func_start func_ov18_0215ff70
func_ov18_0215ff70: ; 0x0215ff70
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #8
mov r4, r1
mov r6, r0
blx func_ov14_02143f18
add r0, sp, #0
mov r1, r4
bl func_ov00_020d1594
ldr r1, _02160118 ; =0x4d524547
add r0, sp, #0
bl func_ov00_020d15e0
mov r8, r0
ldr r1, _0216011c ; =0x4a554447
add r0, sp, #0
bl func_ov00_020d15e0
mov sb, r0
ldr r1, _02160120 ; =0x4954534e
add r0, sp, #0
bl func_ov00_020d15e0
cmp r0, #0
bne _02160000
ldr r1, _02160124 ; =0x49545332
add r0, sp, #0
bl func_ov00_020d15e0
cmp r0, #0
bne _02160000
ldr r1, _02160128 ; =0x49545333
add r0, sp, #0
bl func_ov00_020d15e0
cmp r0, #0
bne _02160000
ldr r1, _0216012c ; =0x53495453
add r0, sp, #0
bl func_ov00_020d15e0
cmp r0, #0
beq _02160008
_02160000:
mov r5, #1
b _0216000c
_02160008:
mov r5, #0
_0216000c:
ldr r1, _02160130 ; =0x54524144
add r0, sp, #0
bl func_ov00_020d15e0
mov r7, r0
ldr r1, _02160134 ; =0x504f5354
add r0, sp, #0
bl func_ov00_020d15e0
mov r4, r0
add r0, sp, #0
bl func_ov00_020d15c0
cmp r8, #0
cmpeq sb, #0
cmpeq r5, #0
cmpeq r7, #0
cmpeq r4, #0
movne r2, #1
ldr r0, _02160138 ; =data_027e0e28
moveq r2, #0
mov r1, r6
bl func_ov18_02160a10
cmp r8, #0
beq _02160088
ldr r1, _0216013c ; =data_027e0ce0
mov r0, #0x50
ldr r1, [r1, #4]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _02160084
bl func_ov31_0217d760
_02160084:
str r0, [r6, #0x3c]
_02160088:
cmp sb, #0
beq _021600b4
ldr r1, _0216013c ; =data_027e0ce0
mov r0, #0x154
ldr r1, [r1, #4]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _021600b0
bl func_ov45_0218b324
_021600b0:
str r0, [r6, #0x40]
_021600b4:
cmp r5, #0
beq _021600e0
ldr r1, _0216013c ; =data_027e0ce0
mov r0, #0x19c
ldr r1, [r1, #4]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _021600dc
bl func_ov31_0217bdc8
_021600dc:
str r0, [r6, #0x44]
_021600e0:
cmp r4, #0
addeq sp, sp, #8
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
ldr r1, _0216013c ; =data_027e0ce0
ldr r0, _02160140 ; =0x0000058c
ldr r1, [r1, #4]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _0216010c
bl func_ov18_02169a84
_0216010c:
str r0, [r6, #0x48]
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov18_0215ff70
_02160118: .word 0x4d524547
_0216011c: .word 0x4a554447
_02160120: .word 0x4954534e
_02160124: .word 0x49545332
_02160128: .word 0x49545333
_0216012c: .word 0x53495453
_02160130: .word 0x54524144
_02160134: .word 0x504f5354
_02160138: .word data_027e0e28
_0216013c: .word data_027e0ce0
_02160140: .word 0x0000058c
.global func_ov18_02160144
arm_func_start func_ov18_02160144
func_ov18_02160144: ; 0x02160144
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
blx func_ov14_02143fa0
ldr r5, [r4, #0x48]
cmp r5, #0
beq _0216017c
add r0, r5, #0x158
ldr r3, _021601fc ; =func_ov18_0215fda4
add r0, r0, #0x400
mov r1, #2
mov r2, #0x18
bl func_0204f754
mov r0, r5
bl func_0202ea0c
_0216017c:
mov r0, #0
str r0, [r4, #0x48]
ldr r5, [r4, #0x44]
cmp r5, #0
beq _021601a0
mov r0, r5
bl func_ov31_0217bf70
mov r0, r5
bl func_0202ea0c
_021601a0:
mov r0, #0
str r0, [r4, #0x44]
ldr r5, [r4, #0x40]
cmp r5, #0
beq _021601c4
mov r0, r5
bl func_ov45_0218b3c8
mov r0, r5
bl func_0202ea0c
_021601c4:
mov r0, #0
str r0, [r4, #0x40]
ldr r5, [r4, #0x3c]
cmp r5, #0
beq _021601e8
mov r0, r5
bl func_ov33_0217d884
mov r0, r5
bl func_0202ea0c
_021601e8:
ldr r0, _02160200 ; =data_027e0e28
mov r1, #0
str r1, [r4, #0x3c]
blx func_ov00_0207bc7c
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_02160144
_021601fc: .word func_ov18_0215fda4
_02160200: .word data_027e0e28
.global func_ov18_02160204
arm_func_start func_ov18_02160204
func_ov18_02160204: ; 0x02160204
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
bl func_ov14_02143fc0
ldr r0, _021602b8 ; =data_027e0e28
bl func_ov00_0207bc68
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02160264
_02160228: ; jump table
b _02160238 ; case 0
b _02160248 ; case 1
b _02160258 ; case 2
b _02160258 ; case 3
_02160238:
ldr r0, [r5, #0x3c]
mov r1, r4
bl func_ov33_0217db64
b _02160264
_02160248:
ldr r0, [r5, #0x40]
mov r1, r4
bl func_ov45_0218b948
b _02160264
_02160258:
ldr r0, [r5, #0x44]
mov r1, r4
bl func_ov31_0217c314
_02160264:
ldr r0, _021602bc ; =data_027e077c
ldr r0, [r0]
cmp r0, #0x38
beq _02160280
cmp r0, #0x39
beq _02160290
b _021602a0
_02160280:
ldr r0, [r5, #0x4c]
mov r1, r4
bl func_ov26_02175fb8
ldmia sp!, {r3, r4, r5, pc}
_02160290:
ldr r0, [r5, #0x50]
mov r1, r4
bl func_ov26_021775c8
ldmia sp!, {r3, r4, r5, pc}
_021602a0:
ldr r0, [r5, #0x48]
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
mov r1, r4
bl func_ov18_02169e24
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_02160204
_021602b8: .word data_027e0e28
_021602bc: .word data_027e077c
.global func_ov18_021602c0
arm_func_start func_ov18_021602c0
func_ov18_021602c0: ; 0x021602c0
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_0214418c
cmp r0, #1
moveq r0, #1
ldmeqia sp!, {r4, pc}
ldr r0, _0216030c ; =data_027e0e28
bl func_ov00_0207bc68
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02160304
_021602ec: ; jump table
b _021602fc ; case 0
b _02160304 ; case 1
b _02160304 ; case 2
b _02160304 ; case 3
_021602fc:
ldr r0, [r4, #0x3c]
bl func_ov33_0217d97c
_02160304:
mov r0, #0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021602c0
_0216030c: .word data_027e0e28
.global func_ov18_02160310
arm_func_start func_ov18_02160310
func_ov18_02160310: ; 0x02160310
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_021442c4
ldr r1, [r4, #0x48]
cmp r1, #0
ldmeqia sp!, {r4, pc}
cmp r0, #0
bne _02160340
mov r0, r1
bl func_ov18_02169d30
cmp r0, #0
beq _02160348
_02160340:
mov r0, #1
ldmia sp!, {r4, pc}
_02160348:
mov r0, #0
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02160310
.global func_ov18_02160350
arm_func_start func_ov18_02160350
func_ov18_02160350: ; 0x02160350
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_021443ec
ldr r2, [r4, #0x48]
cmp r2, #0
ldmeqia sp!, {r4, pc}
mov r1, #0
mov r0, #1
_02160370:
add r1, r1, #1
strb r0, [r2, #0x565]
cmp r1, #2
add r2, r2, #0x18
blt _02160370
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02160350
.global func_ov18_02160388
arm_func_start func_ov18_02160388
func_ov18_02160388: ; 0x02160388
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02144464
ldr r1, [r4, #0x48]
cmp r1, #0
ldrneb r1, [r1, #0x58a]
cmpne r1, #0
movne r0, #0
ldmneia sp!, {r4, pc}
cmp r0, #0
movne r0, #1
moveq r0, #0
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02160388
.global func_ov18_021603bc
arm_func_start func_ov18_021603bc
func_ov18_021603bc: ; 0x021603bc
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02144554
ldr r0, _02160400 ; =data_027e0e28
bl func_ov00_0207bc68
cmp r0, #1
beq _021603e8
cmp r0, #2
cmpne r0, #3
beq _021603f4
ldmia sp!, {r4, pc}
_021603e8:
ldr r0, [r4, #0x40]
bl func_ov45_0218bf60
ldmia sp!, {r4, pc}
_021603f4:
ldr r0, [r4, #0x44]
bl func_ov31_0217c4d0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021603bc
_02160400: .word data_027e0e28
.global func_ov18_02160404
arm_func_start func_ov18_02160404
func_ov18_02160404: ; 0x02160404
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
bl func_ov14_02144650
ldr r0, _021604bc ; =data_027e0e28
bl func_ov00_0207bc68
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02160464
_02160428: ; jump table
b _02160438 ; case 0
b _02160448 ; case 1
b _02160458 ; case 2
b _02160458 ; case 3
_02160438:
ldr r0, [r5, #0x3c]
mov r1, r4
bl func_ov33_0217dc84
b _02160464
_02160448:
ldr r0, [r5, #0x40]
mov r1, r4
bl func_ov45_0218bfb0
b _02160464
_02160458:
ldr r0, [r5, #0x44]
mov r1, r4
bl func_ov31_0217c4d4
_02160464:
ldr r0, _021604c0 ; =data_027e1054
ldr r0, [r0]
ldr r0, [r0, #4]
ldrb r0, [r0, #0x96]
cmp r0, #0
beq _02160484
ldr r0, [r5, #0x4c]
bl func_ov26_0217606c
_02160484:
ldr r0, _021604c0 ; =data_027e1054
ldr r0, [r0]
ldr r0, [r0, #4]
ldrb r0, [r0, #0x97]
cmp r0, #0
beq _021604a4
ldr r0, [r5, #0x50]
bl func_ov26_0217779c
_021604a4:
ldr r0, [r5, #0x48]
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
mov r1, r4
bl func_ov18_02169e64
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_02160404
_021604bc: .word data_027e0e28
_021604c0: .word data_027e1054
.global func_ov18_021604c4
arm_func_start func_ov18_021604c4
func_ov18_021604c4: ; 0x021604c4
ldr ip, _021604d0 ; =func_ov33_0217d8c0
ldr r0, [r0, #0x3c]
bx ip
.align 2, 0
arm_func_end func_ov18_021604c4
_021604d0: .word func_ov33_0217d8c0
.global func_ov18_021604d4
arm_func_start func_ov18_021604d4
func_ov18_021604d4: ; 0x021604d4
stmdb sp!, {r4, lr}
mov r4, r0
cmp r1, #3
addls pc, pc, r1, lsl #2
ldmia sp!, {r4, pc}
_021604e8: ; jump table
b _021604f8 ; case 0
b _0216050c ; case 1
b _02160518 ; case 2
b _02160518 ; case 3
_021604f8:
ldr r0, [r4, #0x3c]
bl func_ov33_0217d8c0
ldr r0, [r4, #0x3c]
bl func_ov33_0217d8ac
ldmia sp!, {r4, pc}
_0216050c:
ldr r0, [r4, #0x40]
bl func_ov45_0218b470
ldmia sp!, {r4, pc}
_02160518:
ldr r0, [r4, #0x44]
bl func_ov31_0217bfb4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_021604d4
.global func_ov18_02160524
arm_func_start func_ov18_02160524
func_ov18_02160524: ; 0x02160524
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, _02160574 ; =data_027e0e28
bl func_ov00_0207bc68
cmp r0, #3
addls pc, pc, r0, lsl #2
ldmia sp!, {r4, pc}
_02160540: ; jump table
b _02160550 ; case 0
b _0216055c ; case 1
b _02160568 ; case 2
b _02160568 ; case 3
_02160550:
ldr r0, [r4, #0x3c]
bl func_ov31_0217d93c
ldmia sp!, {r4, pc}
_0216055c:
ldr r0, [r4, #0x40]
bl func_ov45_0218b88c
ldmia sp!, {r4, pc}
_02160568:
ldr r0, [r4, #0x44]
bl func_ov31_0217c224
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02160524
_02160574: .word data_027e0e28
.global func_ov18_02160578
arm_func_start func_ov18_02160578
func_ov18_02160578: ; 0x02160578
stmdb sp!, {r4, lr}
ldr r1, _021605ac ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xa8
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_021605b0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02160578
_021605ac: .word data_027e0f84
.global func_ov18_021605b0
arm_func_start func_ov18_021605b0
func_ov18_021605b0: ; 0x021605b0
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _0216060c ; =data_ov18_0216c70c
ldr r0, _02160610 ; =data_027e0f68
str r1, [r4]
ldr r0, [r0]
mov r1, #0x5b
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
blx func_ov00_020a9588
mov r1, #0
mov r2, #0x1000
str r2, [sp]
add r0, r4, #0x94
mov r3, r1
blx func_ov00_0207a188
mov r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_021605b0
_0216060c: .word data_ov18_0216c70c
_02160610: .word data_027e0f68
.global func_ov18_02160614
arm_func_start func_ov18_02160614
func_ov18_02160614: ; 0x02160614
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02160614
.global func_ov18_02160634
arm_func_start func_ov18_02160634
func_ov18_02160634: ; 0x02160634
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02160634
.global func_ov18_0216065c
arm_func_start func_ov18_0216065c
func_ov18_0216065c: ; 0x0216065c
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x68
mov fp, r0
ldr r1, [fp, #0x18]
add r2, sp, #0x18
add r1, r1, #0x1800
str r1, [fp, #0x18]
ldr r1, [fp, #0x20]
mov r5, #0
add r1, r1, #0x1000
add r1, r1, #0x800
str r1, [fp, #0x20]
str r5, [r2]
mov r4, #0x1800
str r5, [r2, #4]
mov r1, #0x1c00
str r5, [r2, #8]
str r4, [sp, #0x18]
str r1, [sp, #0x1c]
str r4, [fp, #0x98]
ldr r1, [sp, #0x1c]
mov r2, #0x3800
str r1, [fp, #0x9c]
ldr r3, [sp, #0x20]
mov r1, #0x2000
str r3, [fp, #0xa0]
str r2, [fp, #0xa4]
str r1, [sp, #0x60]
str r5, [sp, #0x5c]
str r4, [sp, #0x64]
ldr r2, [fp, #0x18]
add r0, sp, #0x50
str r2, [sp, #0x50]
ldr r3, [fp, #0x1c]
add r1, sp, #0x5c
str r3, [sp, #0x54]
ldr r3, [fp, #0x20]
mov r2, r0
str r3, [sp, #0x58]
bl func_01ff9bc4
ldr r0, [fp, #0x30]
cmp r0, #0
beq _02160774
add r0, sp, #0x24
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x24
str r1, [sp, #0x40]
str r1, [sp, #0x44]
bl func_ov00_020c3348
mvn r0, #0
add r1, sp, #0x10
str r0, [sp, #0x10]
str r0, [sp, #0x14]
str r1, [sp]
ldr r0, _0216080c ; =data_027e0fe8
ldr r1, _02160810 ; =0x48534b42
ldr r0, [r0]
add r2, sp, #0x50
add r3, sp, #0x24
bl func_ov00_020c4048
ldr r0, _02160814 ; =data_027e0fe4
add r1, sp, #0x10
ldr r0, [r0]
bl func_ov00_020c3674
cmp r0, #0
beq _02160774
ldr r2, [fp, #0x30]
ldr r1, _02160818 ; =0x0000099a
bl func_ov18_0216a1d0
_02160774:
ldrb r0, [fp, #0x15]
ldrb r8, [fp, #0x14]
str r0, [sp, #4]
add r0, r8, #3
str r0, [sp, #8]
cmp r8, r0
ldr r0, [sp, #4]
add sl, r0, #3
bgt _021607ec
ldr r4, _0216081c ; =data_027e0e60
add r6, sp, #0xc
mov r5, #1
_021607a4:
ldr sb, [sp, #4]
mov r0, sb
cmp r0, sl
bgt _021607dc
and r7, r8, #0xff
_021607b8:
ldr r0, [r4]
mov r1, r6
mov r2, r5
strb r7, [sp, #0xc]
strb sb, [sp, #0xd]
bl func_ov00_02082680
add sb, sb, #1
cmp sb, sl
ble _021607b8
_021607dc:
ldr r0, [sp, #8]
add r8, r8, #1
cmp r8, r0
ble _021607a4
_021607ec:
mov r0, fp
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
add sp, sp, #0x68
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_0216065c
_0216080c: .word data_027e0fe8
_02160810: .word 0x48534b42
_02160814: .word data_027e0fe4
_02160818: .word 0x0000099a
_0216081c: .word data_027e0e60
.global func_ov18_02160820
arm_func_start func_ov18_02160820
func_ov18_02160820: ; 0x02160820
ldr ip, _02160834 ; =func_ov00_0207a1c8
mov r2, r0
add r0, r2, #0x94
add r2, r2, #0x18
bx ip
.align 2, 0
arm_func_end func_ov18_02160820
_02160834: .word func_ov00_0207a1c8
.global func_ov18_02160838
arm_func_start func_ov18_02160838
func_ov18_02160838: ; 0x02160838
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
str r1, [r4, #8]
cmp r1, #0
beq _02160858
cmp r1, #1
beq _021608a8
b _021608ac
_02160858:
ldrh r2, [r4, #0x2a]
ldr r1, _021608b4 ; =data_027e0f6c
add r0, sp, #0
and r5, r2, #0xff
ldr r1, [r1]
mov r2, r5
bl func_ov00_02093a4c
ldr r1, [sp]
ldr r0, _021608b4 ; =data_027e0f6c
bic r1, r1, #0x6000
orr r3, r1, #0x6000
ldr r0, [r0]
add r2, sp, #0
mov r1, r5
str r3, [sp]
bl func_ov00_02093a3c
ldr r0, [r4, #4]
bic r0, r0, #1
str r0, [r4, #4]
b _021608ac
_021608a8:
bl func_ov18_02160968
_021608ac:
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_02160838
_021608b4: .word data_027e0f6c
.global func_ov18_021608b8
arm_func_start func_ov18_021608b8
func_ov18_021608b8: ; 0x021608b8
mov r0, #0x7b
bx lr
arm_func_end func_ov18_021608b8
.global func_ov18_021608c0
arm_func_start func_ov18_021608c0
func_ov18_021608c0: ; 0x021608c0
mov r0, #1
bx lr
arm_func_end func_ov18_021608c0
.global func_ov18_021608c8
arm_func_start func_ov18_021608c8
func_ov18_021608c8: ; 0x021608c8
stmdb sp!, {r4, lr}
sub sp, sp, #0x30
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x88]
blx r2
cmp r0, #0
addeq sp, sp, #0x30
ldmeqia sp!, {r4, pc}
ldrh r1, [r4, #0xc]
ldr r3, _02160954 ; =data_02050f54
add r0, sp, #0xc
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
ldr r2, [r4, #0x20]
ldr r1, [r4, #0x1c]
ldr r0, [r4, #0x18]
add r2, r2, #0x800
str r0, [sp]
str r1, [sp, #4]
str r2, [sp, #8]
add r0, r4, #0x38
ldr r3, [r0]
add r1, sp, #0xc
ldr r3, [r3, #0x14]
add r2, sp, #0
blx r3
add sp, sp, #0x30
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021608c8
_02160954: .word data_02050f54
.global func_ov18_02160958
arm_func_start func_ov18_02160958
func_ov18_02160958: ; 0x02160958
cmp r1, #0
ldrneb r0, [r0, #0x95]
ldreqb r0, [r0, #0x94]
bx lr
arm_func_end func_ov18_02160958
.global func_ov18_02160968
arm_func_start func_ov18_02160968
func_ov18_02160968: ; 0x02160968
stmdb sp!, {lr}
sub sp, sp, #0x1c
ldrb r2, [r0, #0x15]
ldrb r1, [r0, #0x14]
mov lr, #0
add ip, r2, #3
add r3, r1, #1
sub r2, lr, #1
mov r1, #1
strb ip, [sp, #5]
strh r2, [sp, #0x18]
strb r3, [sp, #4]
str lr, [sp, #0x14]
strb r1, [sp, #0x1a]
mov ip, lr
add r2, sp, #8
_021609a8:
mov r1, lr, lsl #0x1
add lr, lr, #1
strh ip, [r2, r1]
cmp lr, #4
blo _021609a8
mov r3, #0
_021609c0:
strb r3, [r2, #8]
add ip, ip, #1
strb r3, [r2, #0xa]
cmp ip, #2
add r2, r2, #1
blo _021609c0
ldrh r2, [r0, #0x24]
mov r0, #1
add r1, sp, #8
strh r2, [sp, #8]
strh r0, [sp, #0xa]
str r1, [sp]
ldr r0, _02160a0c ; =data_027e0e60
add r2, sp, #4
ldr r0, [r0]
mov r1, #0x30
bl func_ov00_020828c0
add sp, sp, #0x1c
ldmia sp!, {pc}
.align 2, 0
arm_func_end func_ov18_02160968
_02160a0c: .word data_027e0e60
.global func_ov18_02160a10
arm_func_start func_ov18_02160a10
func_ov18_02160a10: ; 0x02160a10
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
cmp r2, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r1, _02160a50 ; =data_027e0ce0
mov r0, #0x58
ldr r1, [r1, #4]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _02160a48
mov r1, r4
bl func_ov18_0215caac
_02160a48:
str r0, [r5]
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_02160a10
_02160a50: .word data_027e0ce0
.global func_ov18_02160a54
arm_func_start func_ov18_02160a54
func_ov18_02160a54: ; 0x02160a54
ldr ip, _02160a60 ; =func_ov18_0215ce88
ldr r0, [r0]
bx ip
.align 2, 0
arm_func_end func_ov18_02160a54
_02160a60: .word func_ov18_0215ce88
.global func_ov18_02160a64
arm_func_start func_ov18_02160a64
func_ov18_02160a64: ; 0x02160a64
ldr ip, _02160a70 ; =func_ov18_0215ceb4
ldr r0, [r0]
bx ip
.align 2, 0
arm_func_end func_ov18_02160a64
_02160a70: .word func_ov18_0215ceb4
.global func_ov18_02160a74
arm_func_start func_ov18_02160a74
func_ov18_02160a74: ; 0x02160a74
ldr ip, _02160a80 ; =func_ov18_0215cee4
ldr r0, [r0]
bx ip
.align 2, 0
arm_func_end func_ov18_02160a74
_02160a80: .word func_ov18_0215cee4
.global func_ov18_02160a84
arm_func_start func_ov18_02160a84
func_ov18_02160a84: ; 0x02160a84
ldr r1, [r0]
mov r0, #0
cmp r1, #0
ldrneb r1, [r1, #0x4a]
cmpne r1, #0
movne r0, #1
bx lr
arm_func_end func_ov18_02160a84
.global func_ov18_02160aa0
arm_func_start func_ov18_02160aa0
func_ov18_02160aa0: ; 0x02160aa0
stmdb sp!, {r4, lr}
ldr r1, _02160ad4 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xac
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_02160ad8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02160aa0
_02160ad4: .word data_027e0f84
.global func_ov18_02160ad8
arm_func_start func_ov18_02160ad8
func_ov18_02160ad8: ; 0x02160ad8
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
bl func_ov00_0208b5bc
ldr r2, _02160b20 ; =data_ov18_0216c7a0
add r0, r4, #0x38
mov r1, #0
str r2, [r4]
blx func_ov00_020a9588
mov r1, #0
mov r2, #0x1000
mov r3, r1
add r0, r4, #0x94
str r2, [sp]
blx func_ov00_0207a188
mov r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_02160ad8
_02160b20: .word data_ov18_0216c7a0
.global func_ov18_02160b24
arm_func_start func_ov18_02160b24
func_ov18_02160b24: ; 0x02160b24
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02160b24
.global func_ov18_02160b44
arm_func_start func_ov18_02160b44
func_ov18_02160b44: ; 0x02160b44
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02160b44
.global func_ov18_02160b6c
arm_func_start func_ov18_02160b6c
func_ov18_02160b6c: ; 0x02160b6c
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x24
mov r4, r0
ldrh r1, [r4, #0x24]
mov r0, #0x3800
str r0, [sp, #0xc]
str r1, [r4, #0xa8]
cmp r1, #5
addls pc, pc, r1, lsl #2
b _02160fb0
_02160b94: ; jump table
b _02160bac ; case 0
b _02160edc ; case 1
b _02160cbc ; case 2
b _02160dcc ; case 3
b _02160f14 ; case 4
b _02160f64 ; case 5
_02160bac:
ldr r0, _02160ff8 ; =data_027e0f68
mov r1, #0x67
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [sp, #0xc]
ldr r1, [r4, #0x18]
add r0, r0, #0xa000
str r0, [sp, #0xc]
sub r0, r1, #0x800
str r0, [r4, #0x18]
ldr r0, [r4, #0x1c]
sub r0, r0, #0x33
sub r0, r0, #0x1300
str r0, [r4, #0x1c]
ldr r0, [r4, #0x20]
sub r0, r0, #0x800
str r0, [r4, #0x20]
ldrb r1, [r4, #0x14]
ldrb sb, [r4, #0x15]
add r0, r1, #5
sub r7, r1, #5
str r0, [sp, #8]
mov sl, sb
cmp r7, r0
bge _02160fb0
add r5, sp, #0x14
mov fp, #1
_02160c30:
ldrb r0, [r4, #0x14]
cmp r7, r0
beq _02160c4c
addge sb, sb, #1
subge sl, sl, #1
sublt sb, sb, #1
addlt sl, sl, #1
_02160c4c:
mov r8, sb
cmp sb, sl
bge _02160ca8
and r6, r7, #0xff
_02160c5c:
ldrb r0, [r4, #0x14]
cmp r7, r0
subne r0, r0, #1
cmpne r7, r0
bne _02160c80
ldrb r0, [r4, #0x15]
add r0, r0, #1
cmp r8, r0
bge _02160c9c
_02160c80:
ldr r0, _02160ffc ; =data_027e0e60
mov r1, r5
ldr r0, [r0]
mov r2, fp
strb r6, [sp, #0x14]
strb r8, [sp, #0x15]
bl func_ov00_02082680
_02160c9c:
add r8, r8, #1
cmp r8, sl
blt _02160c5c
_02160ca8:
ldr r0, [sp, #8]
add r7, r7, #1
cmp r7, r0
blt _02160c30
b _02160fb0
_02160cbc:
ldr r0, _02160ff8 ; =data_027e0f68
mov r1, #0xaf
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [sp, #0xc]
ldr r1, [r4, #0x18]
add r0, r0, #0xa000
str r0, [sp, #0xc]
sub r0, r1, #0x800
str r0, [r4, #0x18]
ldr r0, [r4, #0x1c]
sub r0, r0, #0x33
sub r0, r0, #0x1300
str r0, [r4, #0x1c]
ldr r0, [r4, #0x20]
sub r0, r0, #0x800
str r0, [r4, #0x20]
ldrb r1, [r4, #0x14]
ldrb sb, [r4, #0x15]
add r0, r1, #9
sub r7, r1, #9
str r0, [sp, #4]
mov sl, sb
cmp r7, r0
bge _02160fb0
add r5, sp, #0x12
mov fp, #1
_02160d40:
ldrb r0, [r4, #0x14]
cmp r7, r0
beq _02160d5c
addgt sb, sb, #1
subgt sl, sl, #1
suble sb, sb, #1
addle sl, sl, #1
_02160d5c:
mov r8, sb
cmp sb, sl
bge _02160db8
and r6, r7, #0xff
_02160d6c:
ldrb r0, [r4, #0x14]
cmp r7, r0
subne r0, r0, #1
cmpne r7, r0
bne _02160d90
ldrb r0, [r4, #0x15]
add r0, r0, #4
cmp r8, r0
bge _02160dac
_02160d90:
ldr r0, _02160ffc ; =data_027e0e60
mov r1, r5
ldr r0, [r0]
mov r2, fp
strb r6, [sp, #0x12]
strb r8, [sp, #0x13]
bl func_ov00_02082680
_02160dac:
add r8, r8, #1
cmp r8, sl
blt _02160d6c
_02160db8:
ldr r0, [sp, #4]
add r7, r7, #1
cmp r7, r0
blt _02160d40
b _02160fb0
_02160dcc:
ldr r0, _02160ff8 ; =data_027e0f68
mov r1, #0xb0
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [sp, #0xc]
ldr r1, [r4, #0x18]
add r0, r0, #0xa000
str r0, [sp, #0xc]
sub r0, r1, #0x800
str r0, [r4, #0x18]
ldr r0, [r4, #0x1c]
sub r0, r0, #0x33
sub r0, r0, #0x1300
str r0, [r4, #0x1c]
ldr r0, [r4, #0x20]
sub r0, r0, #0x800
str r0, [r4, #0x20]
ldrb r1, [r4, #0x14]
ldrb sb, [r4, #0x15]
add r0, r1, #8
sub r7, r1, #8
str r0, [sp]
mov sl, sb
cmp r7, r0
bge _02160fb0
add r5, sp, #0x10
mov fp, #1
_02160e50:
ldrb r0, [r4, #0x14]
cmp r7, r0
beq _02160e6c
addgt sb, sb, #1
subgt sl, sl, #1
suble sb, sb, #1
addle sl, sl, #1
_02160e6c:
mov r8, sb
cmp sb, sl
bge _02160ec8
and r6, r7, #0xff
_02160e7c:
ldrb r0, [r4, #0x14]
cmp r7, r0
subne r0, r0, #1
cmpne r7, r0
bne _02160ea0
ldrb r0, [r4, #0x15]
add r0, r0, #5
cmp r8, r0
bge _02160ebc
_02160ea0:
ldr r0, _02160ffc ; =data_027e0e60
mov r1, r5
ldr r0, [r0]
mov r2, fp
strb r6, [sp, #0x10]
strb r8, [sp, #0x11]
bl func_ov00_02082680
_02160ebc:
add r8, r8, #1
cmp r8, sl
blt _02160e7c
_02160ec8:
ldr r0, [sp]
add r7, r7, #1
cmp r7, r0
blt _02160e50
b _02160fb0
_02160edc:
ldr r0, _02160ff8 ; =data_027e0f68
mov r1, #0x9e
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [sp, #0xc]
add r0, r0, #0x6000
str r0, [sp, #0xc]
b _02160fb0
_02160f14:
ldr r0, _02160ff8 ; =data_027e0f68
mov r1, #0xb7
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [sp, #0xc]
ldr r1, [r4, #0x18]
add r0, r0, #0x6000
str r0, [sp, #0xc]
sub r0, r1, #0x800
str r0, [r4, #0x18]
ldr r0, [r4, #0x20]
sub r0, r0, #0x800
str r0, [r4, #0x20]
b _02160fb0
_02160f64:
ldr r0, _02160ff8 ; =data_027e0f68
mov r1, #0xd5
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x38
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [sp, #0xc]
ldr r1, [r4, #0x18]
add r0, r0, #0x6000
str r0, [sp, #0xc]
sub r0, r1, #0x800
str r0, [r4, #0x18]
ldr r0, [r4, #0x20]
sub r0, r0, #0x800
str r0, [r4, #0x20]
_02160fb0:
ldr r0, [sp, #0xc]
add r2, sp, #0x18
mov r1, #0
str r1, [r2]
str r1, [r2, #4]
mov r0, r0, asr #0x1
str r1, [r2, #8]
str r1, [sp, #0x18]
str r0, [sp, #0x1c]
str r1, [r4, #0x98]
ldr r0, [sp, #0x1c]
str r0, [r4, #0x9c]
ldr r0, [sp, #0x20]
str r0, [r4, #0xa0]
ldr r0, [sp, #0xc]
str r0, [r4, #0xa4]
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_02160b6c
_02160ff8: .word data_027e0f68
_02160ffc: .word data_027e0e60
.global func_ov18_02161000
arm_func_start func_ov18_02161000
func_ov18_02161000: ; 0x02161000
ldr ip, _02161014 ; =func_ov00_0207a1c8
mov r2, r0
add r0, r2, #0x94
add r2, r2, #0x18
bx ip
.align 2, 0
arm_func_end func_ov18_02161000
_02161014: .word func_ov00_0207a1c8
.global func_ov18_02161018
arm_func_start func_ov18_02161018
func_ov18_02161018: ; 0x02161018
mov r0, #0x88
bx lr
arm_func_end func_ov18_02161018
.global func_ov18_02161020
arm_func_start func_ov18_02161020
func_ov18_02161020: ; 0x02161020
mov r0, #1
bx lr
arm_func_end func_ov18_02161020
.global func_ov18_02161028
arm_func_start func_ov18_02161028
func_ov18_02161028: ; 0x02161028
mov r0, #0
bx lr
arm_func_end func_ov18_02161028
.global func_ov18_02161030
arm_func_start func_ov18_02161030
func_ov18_02161030: ; 0x02161030
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x88]
blx r2
cmp r0, #0
ldmeqia sp!, {r4, pc}
add r0, r4, #0x38
ldr r2, [r0]
add r1, r4, #0x18
ldr r2, [r2, #0x18]
blx r2
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02161030
.global func_ov18_02161064
arm_func_start func_ov18_02161064
func_ov18_02161064: ; 0x02161064
cmp r1, #0
ldrneb r0, [r0, #0x95]
ldreqb r0, [r0, #0x94]
bx lr
arm_func_end func_ov18_02161064
.global func_ov18_02161074
arm_func_start func_ov18_02161074
func_ov18_02161074: ; 0x02161074
stmdb sp!, {r4, lr}
ldr r1, _021610a8 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x70
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_021610ac
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02161074
_021610a8: .word data_027e0f84
.global func_ov18_021610ac
arm_func_start func_ov18_021610ac
func_ov18_021610ac: ; 0x021610ac
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02161120 ; =data_ov00_020e26b4
ldr r0, _02161124 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r0, _02161128 ; =data_ov00_020e2dd8
str r2, [r4, #0x48]
ldr r1, _0216112c ; =data_ov18_0216c834
str r0, [r4, #0x38]
ldr r0, _02161130 ; =data_027e0f68
str r1, [r4]
ldr r0, [r0]
mov r1, #0x59
bl func_ov00_0208ccdc
mov r2, #0
mov r1, r0
mov r3, r2
add r0, r4, #0x64
blx func_ov00_020bd618
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021610ac
_02161120: .word data_ov00_020e26b4
_02161124: .word data_ov00_020e2f04
_02161128: .word data_ov00_020e2dd8
_0216112c: .word data_ov18_0216c834
_02161130: .word data_027e0f68
.global func_ov18_02161134
arm_func_start func_ov18_02161134
func_ov18_02161134: ; 0x02161134
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x64
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02161134
.global func_ov18_0216115c
arm_func_start func_ov18_0216115c
func_ov18_0216115c: ; 0x0216115c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x64
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216115c
.global func_ov18_0216118c
arm_func_start func_ov18_0216118c
func_ov18_0216118c: ; 0x0216118c
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x68
mov r5, r0
ldrsh r0, [r5, #0xc]
bl func_0202bbbc
cmp r0, #3
addls pc, pc, r0, lsl #2
b _021611ec
_021611ac: ; jump table
b _021611bc ; case 0
b _021611bc ; case 1
b _021611ec ; case 2
b _021611ec ; case 3
_021611bc:
add r0, r5, #0x18
mov r4, #0
mov r3, #0x800
add r1, sp, #0x2c
mov r2, r0
str r4, [sp, #0x2c]
str r4, [sp, #0x30]
str r3, [sp, #0x34]
bl func_01ff9bc4
mov r6, #0x800
mov r4, #0x1000
b _02161214
_021611ec:
add r0, r5, #0x18
mov r3, #0
mov r4, #0x800
add r1, sp, #0x20
mov r2, r0
str r4, [sp, #0x20]
str r3, [sp, #0x24]
str r3, [sp, #0x28]
bl func_01ff9bc4
mov r6, #0x1000
_02161214:
add lr, r5, #0x18
ldmia lr, {r0, r1, r2}
add ip, sp, #0x5c
stmia ip, {r0, r1, r2}
ldmia lr, {r0, r1, r2}
add r3, sp, #0x50
stmia r3, {r0, r1, r2}
mov r3, #0
add r1, sp, #0x14
mov r0, ip
mov r2, ip
str r6, [sp, #0x14]
str r3, [sp, #0x18]
str r4, [sp, #0x1c]
bl func_01ff9bf8
ldr r2, _021612d4 ; =0x00001333
add r0, sp, #0x50
str r2, [sp, #0xc]
add r1, sp, #8
mov r2, r0
str r6, [sp, #8]
str r4, [sp, #0x10]
bl func_01ff9bc4
mov r0, #0
bic r0, r0, #0x1f
orr r0, r0, #6
add r1, sp, #0x5c
str r0, [sp, #4]
add ip, sp, #0x38
ldmia r1, {r0, r1, r2}
stmia ip, {r0, r1, r2}
add r4, sp, #0x50
add r3, sp, #0x44
ldmia r4, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r5
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r5, #0x38
ldr r4, [r0]
ldr r3, [sp, #4]
ldr r4, [r4, #0x14]
add r1, sp, #0x38
blx r4
add sp, sp, #0x68
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_0216118c
_021612d4: .word 0x00001333
.global func_ov18_021612d8
arm_func_start func_ov18_021612d8
func_ov18_021612d8: ; 0x021612d8
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x24
mov r4, r0
ldrh r1, [r4, #0xc]
ldr r3, _02161330 ; =data_02050f54
add r0, sp, #0
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x64
ldr r3, [r0]
add r1, sp, #0
ldr r3, [r3, #0x14]
add r2, r4, #0x18
blx r3
add sp, sp, #0x24
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_021612d8
_02161330: .word data_02050f54
.global func_ov18_02161334
arm_func_start func_ov18_02161334
func_ov18_02161334: ; 0x02161334
mov r0, #0x77
bx lr
arm_func_end func_ov18_02161334
.global func_ov18_0216133c
arm_func_start func_ov18_0216133c
func_ov18_0216133c: ; 0x0216133c
stmdb sp!, {r4, lr}
ldr r1, _02161370 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x70
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_02161374
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0216133c
_02161370: .word data_027e0f84
.global func_ov18_02161374
arm_func_start func_ov18_02161374
func_ov18_02161374: ; 0x02161374
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _021613e8 ; =data_ov00_020e26b4
ldr r0, _021613ec ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r0, _021613f0 ; =data_ov00_020e2dd8
str r2, [r4, #0x48]
ldr r1, _021613f4 ; =data_ov18_0216c8c8
str r0, [r4, #0x38]
ldr r0, _021613f8 ; =data_027e0f68
str r1, [r4]
ldr r0, [r0]
mov r1, #0x56
bl func_ov00_0208ccdc
mov r2, #0
mov r1, r0
mov r3, r2
add r0, r4, #0x64
blx func_ov00_020bd618
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02161374
_021613e8: .word data_ov00_020e26b4
_021613ec: .word data_ov00_020e2f04
_021613f0: .word data_ov00_020e2dd8
_021613f4: .word data_ov18_0216c8c8
_021613f8: .word data_027e0f68
.global func_ov18_021613fc
arm_func_start func_ov18_021613fc
func_ov18_021613fc: ; 0x021613fc
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x64
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_021613fc
.global func_ov18_02161424
arm_func_start func_ov18_02161424
func_ov18_02161424: ; 0x02161424
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x64
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02161424
.global func_ov18_02161454
arm_func_start func_ov18_02161454
func_ov18_02161454: ; 0x02161454
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x68
mov r5, r0
ldrsh r0, [r5, #0xc]
bl func_0202bbbc
cmp r0, #3
addls pc, pc, r0, lsl #2
b _021614b4
_02161474: ; jump table
b _02161484 ; case 0
b _02161484 ; case 1
b _021614b4 ; case 2
b _021614b4 ; case 3
_02161484:
add r0, r5, #0x18
mov r4, #0
mov r3, #0x800
add r1, sp, #0x2c
mov r2, r0
str r4, [sp, #0x2c]
str r4, [sp, #0x30]
str r3, [sp, #0x34]
bl func_01ff9bc4
mov r6, #0x800
mov r4, #0x1000
b _021614dc
_021614b4:
add r0, r5, #0x18
mov r3, #0
mov r4, #0x800
add r1, sp, #0x20
mov r2, r0
str r4, [sp, #0x20]
str r3, [sp, #0x24]
str r3, [sp, #0x28]
bl func_01ff9bc4
mov r6, #0x1000
_021614dc:
add lr, r5, #0x18
ldmia lr, {r0, r1, r2}
add ip, sp, #0x5c
stmia ip, {r0, r1, r2}
ldmia lr, {r0, r1, r2}
add r3, sp, #0x50
stmia r3, {r0, r1, r2}
mov r3, #0
add r1, sp, #0x14
mov r0, ip
mov r2, ip
str r6, [sp, #0x14]
str r3, [sp, #0x18]
str r4, [sp, #0x1c]
bl func_01ff9bf8
ldr r2, _0216159c ; =0x00001333
add r0, sp, #0x50
str r2, [sp, #0xc]
add r1, sp, #8
mov r2, r0
str r6, [sp, #8]
str r4, [sp, #0x10]
bl func_01ff9bc4
mov r0, #0
bic r0, r0, #0x1f
orr r0, r0, #6
add r1, sp, #0x5c
str r0, [sp, #4]
add ip, sp, #0x38
ldmia r1, {r0, r1, r2}
stmia ip, {r0, r1, r2}
add r4, sp, #0x50
add r3, sp, #0x44
ldmia r4, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r5
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r5, #0x38
ldr r4, [r0]
ldr r3, [sp, #4]
ldr r4, [r4, #0x14]
add r1, sp, #0x38
blx r4
add sp, sp, #0x68
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_02161454
_0216159c: .word 0x00001333
.global func_ov18_021615a0
arm_func_start func_ov18_021615a0
func_ov18_021615a0: ; 0x021615a0
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x24
mov r4, r0
ldrh r1, [r4, #0xc]
ldr r3, _021615f8 ; =data_02050f54
add r0, sp, #0
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x64
ldr r3, [r0]
add r1, sp, #0
ldr r3, [r3, #0x14]
add r2, r4, #0x18
blx r3
add sp, sp, #0x24
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_021615a0
_021615f8: .word data_02050f54
.global func_ov18_021615fc
arm_func_start func_ov18_021615fc
func_ov18_021615fc: ; 0x021615fc
mov r0, #0x74
bx lr
arm_func_end func_ov18_021615fc
.global func_ov18_02161604
arm_func_start func_ov18_02161604
func_ov18_02161604: ; 0x02161604
stmdb sp!, {r4, lr}
ldr r1, _02161638 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x70
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_0216163c
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02161604
_02161638: .word data_027e0f84
.global func_ov18_0216163c
arm_func_start func_ov18_0216163c
func_ov18_0216163c: ; 0x0216163c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _021616b0 ; =data_ov00_020e26b4
ldr r0, _021616b4 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r0, _021616b8 ; =data_ov00_020e2dd8
str r2, [r4, #0x48]
ldr r1, _021616bc ; =data_ov18_0216c95c
str r0, [r4, #0x38]
ldr r0, _021616c0 ; =data_027e0f68
str r1, [r4]
ldr r0, [r0]
mov r1, #0x61
bl func_ov00_0208ccdc
mov r2, #0
mov r1, r0
mov r3, r2
add r0, r4, #0x64
blx func_ov00_020bd618
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0216163c
_021616b0: .word data_ov00_020e26b4
_021616b4: .word data_ov00_020e2f04
_021616b8: .word data_ov00_020e2dd8
_021616bc: .word data_ov18_0216c95c
_021616c0: .word data_027e0f68
.global func_ov18_021616c4
arm_func_start func_ov18_021616c4
func_ov18_021616c4: ; 0x021616c4
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x64
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_021616c4
.global func_ov18_021616ec
arm_func_start func_ov18_021616ec
func_ov18_021616ec: ; 0x021616ec
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x64
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_021616ec
.global func_ov18_0216171c
arm_func_start func_ov18_0216171c
func_ov18_0216171c: ; 0x0216171c
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x68
mov r5, r0
ldr r1, [r5, #4]
mov r0, #7
orr r1, r1, #4
str r1, [r5, #4]
strb r0, [r5, #0x12]
ldrsh r0, [r5, #0xc]
bl func_0202bbbc
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02161790
_02161750: ; jump table
b _02161760 ; case 0
b _02161760 ; case 1
b _02161790 ; case 2
b _02161790 ; case 3
_02161760:
add r0, r5, #0x18
mov r4, #0
mov r3, #0x800
add r1, sp, #0x2c
mov r2, r0
str r4, [sp, #0x2c]
str r4, [sp, #0x30]
str r3, [sp, #0x34]
bl func_01ff9bc4
mov r6, #0x800
mov r4, #0x1000
b _021617b8
_02161790:
add r0, r5, #0x18
mov r3, #0
mov r4, #0x800
add r1, sp, #0x20
mov r2, r0
str r4, [sp, #0x20]
str r3, [sp, #0x24]
str r3, [sp, #0x28]
bl func_01ff9bc4
mov r6, #0x1000
_021617b8:
add lr, r5, #0x18
ldmia lr, {r0, r1, r2}
add ip, sp, #0x5c
stmia ip, {r0, r1, r2}
ldmia lr, {r0, r1, r2}
add r3, sp, #0x50
stmia r3, {r0, r1, r2}
mov r3, #0
add r1, sp, #0x14
mov r0, ip
mov r2, ip
str r6, [sp, #0x14]
str r3, [sp, #0x18]
str r4, [sp, #0x1c]
bl func_01ff9bf8
ldr r2, _021618a8 ; =0x00001333
add r0, sp, #0x50
str r2, [sp, #0xc]
add r1, sp, #8
mov r2, r0
str r6, [sp, #8]
str r4, [sp, #0x10]
bl func_01ff9bc4
mov r0, #0
bic r0, r0, #0x1f
orr r0, r0, #6
add r1, sp, #0x5c
str r0, [sp, #4]
add ip, sp, #0x38
ldmia r1, {r0, r1, r2}
stmia ip, {r0, r1, r2}
add r4, sp, #0x50
add r3, sp, #0x44
ldmia r4, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r5
bl func_ov00_0208b9cc
mov r2, r0
mov r0, #0
str r0, [sp]
add r0, r5, #0x38
ldr r4, [r0]
ldr r3, [sp, #4]
ldr r4, [r4, #0x14]
add r1, sp, #0x38
blx r4
ldr r1, [r5, #0x18]
mov r0, r5
sub r1, r1, #4
str r1, [r5, #0x18]
ldr r2, [r5, #0x20]
mov r1, #0
sub r2, r2, #4
str r2, [r5, #0x20]
ldr r3, [r0]
mov r2, r1
ldr r3, [r3, #0x80]
blx r3
add sp, sp, #0x68
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_0216171c
_021618a8: .word 0x00001333
.global func_ov18_021618ac
arm_func_start func_ov18_021618ac
func_ov18_021618ac: ; 0x021618ac
mov r0, #0x800
bx lr
arm_func_end func_ov18_021618ac
.global func_ov18_021618b4
arm_func_start func_ov18_021618b4
func_ov18_021618b4: ; 0x021618b4
mov r0, #0
bx lr
arm_func_end func_ov18_021618b4
.global func_ov18_021618bc
arm_func_start func_ov18_021618bc
func_ov18_021618bc: ; 0x021618bc
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldrne r0, [r4, #8]
cmpne r0, #0
ldmeqia sp!, {r4, pc}
cmp r0, #1
ldmneia sp!, {r4, pc}
ldr r0, _02161930 ; =data_027e0c68
ldr r1, [r0, #0x40]
cmp r1, #0
ldmneia sp!, {r4, pc}
ldr r0, [r0, #0x44]
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
mov r1, #0
mov r2, #1
bl func_ov00_0208ba08
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021618bc
_02161930: .word data_027e0c68
.global func_ov18_02161934
arm_func_start func_ov18_02161934
func_ov18_02161934: ; 0x02161934
str r1, [r0, #8]
cmp r1, #0
beq _02161954
cmp r1, #1
ldreq r1, [r0, #4]
biceq r1, r1, #4
streq r1, [r0, #4]
b _02161960
_02161954:
ldr r1, [r0, #4]
orr r1, r1, #4
str r1, [r0, #4]
_02161960:
mov r0, #1
bx lr
arm_func_end func_ov18_02161934
.global func_ov18_02161968
arm_func_start func_ov18_02161968
func_ov18_02161968: ; 0x02161968
stmdb sp!, {r4, lr}
mov r4, r0
ldr r1, [r4, #8]
cmp r1, #0
bne _02161998
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldr r0, [r4, #0x30]
ldmia sp!, {r4, pc}
_02161998:
mvn r0, #0
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02161968
.global func_ov18_021619a0
arm_func_start func_ov18_021619a0
func_ov18_021619a0: ; 0x021619a0
mov r0, #7
bx lr
arm_func_end func_ov18_021619a0
.global func_ov18_021619a8
arm_func_start func_ov18_021619a8
func_ov18_021619a8: ; 0x021619a8
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x24
mov r4, r0
ldrh r1, [r4, #0xc]
ldr r3, _02161a00 ; =data_02050f54
add r0, sp, #0
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x64
ldr r3, [r0]
add r1, sp, #0
ldr r3, [r3, #0x14]
add r2, r4, #0x18
blx r3
add sp, sp, #0x24
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_021619a8
_02161a00: .word data_02050f54
.global func_ov18_02161a04
arm_func_start func_ov18_02161a04
func_ov18_02161a04: ; 0x02161a04
mov r0, #0x33
bx lr
arm_func_end func_ov18_02161a04
.global func_ov18_02161a0c
arm_func_start func_ov18_02161a0c
func_ov18_02161a0c: ; 0x02161a0c
stmdb sp!, {r4, lr}
ldr r1, _02161a40 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x70
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_02161a44
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02161a0c
_02161a40: .word data_027e0f84
.global func_ov18_02161a44
arm_func_start func_ov18_02161a44
func_ov18_02161a44: ; 0x02161a44
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02161ab8 ; =data_ov00_020e26b4
ldr r0, _02161abc ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r0, _02161ac0 ; =data_ov00_020e2dd8
str r2, [r4, #0x48]
ldr r1, _02161ac4 ; =data_ov18_0216c9f0
str r0, [r4, #0x38]
ldr r0, _02161ac8 ; =data_027e0f68
str r1, [r4]
ldr r0, [r0]
mov r1, #0x57
bl func_ov00_0208ccdc
mov r2, #0
mov r1, r0
mov r3, r2
add r0, r4, #0x64
blx func_ov00_020bd618
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02161a44
_02161ab8: .word data_ov00_020e26b4
_02161abc: .word data_ov00_020e2f04
_02161ac0: .word data_ov00_020e2dd8
_02161ac4: .word data_ov18_0216c9f0
_02161ac8: .word data_027e0f68
.global func_ov18_02161acc
arm_func_start func_ov18_02161acc
func_ov18_02161acc: ; 0x02161acc
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x64
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02161acc
.global func_ov18_02161af4
arm_func_start func_ov18_02161af4
func_ov18_02161af4: ; 0x02161af4
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x64
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02161af4
.global func_ov18_02161b24
arm_func_start func_ov18_02161b24
func_ov18_02161b24: ; 0x02161b24
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x68
mov r5, r0
ldrsh r0, [r5, #0xc]
bl func_0202bbbc
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02161b84
_02161b44: ; jump table
b _02161b54 ; case 0
b _02161b54 ; case 1
b _02161b84 ; case 2
b _02161b84 ; case 3
_02161b54:
add r0, r5, #0x18
mov r4, #0
mov r3, #0x800
add r1, sp, #0x2c
mov r2, r0
str r4, [sp, #0x2c]
str r4, [sp, #0x30]
str r3, [sp, #0x34]
bl func_01ff9bc4
mov r6, #0x800
mov r4, #0x1000
b _02161bac
_02161b84:
add r0, r5, #0x18
mov r3, #0
mov r4, #0x800
add r1, sp, #0x20
mov r2, r0
str r4, [sp, #0x20]
str r3, [sp, #0x24]
str r3, [sp, #0x28]
bl func_01ff9bc4
mov r6, #0x1000
_02161bac:
add lr, r5, #0x18
ldmia lr, {r0, r1, r2}
add ip, sp, #0x5c
stmia ip, {r0, r1, r2}
ldmia lr, {r0, r1, r2}
add r3, sp, #0x50
stmia r3, {r0, r1, r2}
mov r3, #0
add r1, sp, #0x14
mov r0, ip
mov r2, ip
str r6, [sp, #0x14]
str r3, [sp, #0x18]
str r4, [sp, #0x1c]
bl func_01ff9bf8
ldr r2, _02161c6c ; =0x00001333
add r0, sp, #0x50
str r2, [sp, #0xc]
add r1, sp, #8
mov r2, r0
str r6, [sp, #8]
str r4, [sp, #0x10]
bl func_01ff9bc4
mov r0, #0
bic r0, r0, #0x1f
orr r0, r0, #6
add r1, sp, #0x5c
str r0, [sp, #4]
add ip, sp, #0x38
ldmia r1, {r0, r1, r2}
stmia ip, {r0, r1, r2}
add r4, sp, #0x50
add r3, sp, #0x44
ldmia r4, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r5
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r5, #0x38
ldr r4, [r0]
ldr r3, [sp, #4]
ldr r4, [r4, #0x14]
add r1, sp, #0x38
blx r4
add sp, sp, #0x68
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_02161b24
_02161c6c: .word 0x00001333
.global func_ov18_02161c70
arm_func_start func_ov18_02161c70
func_ov18_02161c70: ; 0x02161c70
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x24
mov r4, r0
ldrh r1, [r4, #0xc]
ldr r3, _02161cc8 ; =data_02050f54
add r0, sp, #0
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x64
ldr r3, [r0]
add r1, sp, #0
ldr r3, [r3, #0x14]
add r2, r4, #0x18
blx r3
add sp, sp, #0x24
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_02161c70
_02161cc8: .word data_02050f54
.global func_ov18_02161ccc
arm_func_start func_ov18_02161ccc
func_ov18_02161ccc: ; 0x02161ccc
mov r0, #0x75
bx lr
arm_func_end func_ov18_02161ccc
.global func_ov18_02161cd4
arm_func_start func_ov18_02161cd4
func_ov18_02161cd4: ; 0x02161cd4
stmdb sp!, {r4, lr}
ldr r1, _02161d08 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x44
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_02161d0c
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02161cd4
_02161d08: .word data_027e0f84
.global func_ov18_02161d0c
arm_func_start func_ov18_02161d0c
func_ov18_02161d0c: ; 0x02161d0c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02161d50 ; =data_ov18_0216ca84
ldr r0, _02161d54 ; =data_027e0f68
str r1, [r4]
ldr r0, [r0]
mov r1, #0x58
mov r2, #0
bl func_ov00_0208ccdc
mov r2, #0
mov r1, r0
mov r3, r2
add r0, r4, #0x38
blx func_ov00_020bd618
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02161d0c
_02161d50: .word data_ov18_0216ca84
_02161d54: .word data_027e0f68
.global func_ov18_02161d58
arm_func_start func_ov18_02161d58
func_ov18_02161d58: ; 0x02161d58
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
blx func_ov00_020b3ea8
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02161d58
.global func_ov18_02161d78
arm_func_start func_ov18_02161d78
func_ov18_02161d78: ; 0x02161d78
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
blx func_ov00_020b3ea8
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02161d78
.global func_ov18_02161da0
arm_func_start func_ov18_02161da0
func_ov18_02161da0: ; 0x02161da0
stmdb sp!, {r4, lr}
sub sp, sp, #0x18
mov r4, r0
ldrsh r0, [r4, #0xc]
bl func_0202bbbc
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02161e08
_02161dc0: ; jump table
b _02161dd0 ; case 0
b _02161dd0 ; case 1
b _02161e08 ; case 2
b _02161e08 ; case 3
_02161dd0:
add r0, r4, #0x18
mov lr, #0x1000
mov ip, #0
mov r3, #0x1800
add r1, sp, #0xc
mov r2, r0
str lr, [sp, #0xc]
str ip, [sp, #0x10]
str r3, [sp, #0x14]
bl func_01ff9bc4
mov r0, #0x4000
add sp, sp, #0x18
strh r0, [r4, #0xc]
ldmia sp!, {r4, pc}
_02161e08:
add r0, r4, #0x18
mov lr, #0x1800
mov ip, #0
mov r3, #0x1000
add r1, sp, #0
mov r2, r0
str lr, [sp]
str ip, [sp, #4]
str r3, [sp, #8]
bl func_01ff9bc4
mov r0, #0
strh r0, [r4, #0xc]
add sp, sp, #0x18
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02161da0
.global func_ov18_02161e40
arm_func_start func_ov18_02161e40
func_ov18_02161e40: ; 0x02161e40
mov r0, #1
bx lr
arm_func_end func_ov18_02161e40
.global func_ov18_02161e48
arm_func_start func_ov18_02161e48
func_ov18_02161e48: ; 0x02161e48
stmdb sp!, {r4, lr}
sub sp, sp, #0x30
mov r4, r0
ldr r1, [r4, #0x1c]
ldr r2, [r4, #0x20]
ldr r0, [r4, #0x18]
add r1, r1, #0x52
str r0, [sp, #0x24]
str r2, [sp, #0x2c]
str r1, [sp, #0x28]
ldrh r1, [r4, #0xc]
ldr r3, _02161ebc ; =data_02050f54
add r0, sp, #0
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x38
ldr r3, [r0]
add r1, sp, #0
ldr r3, [r3, #0x14]
add r2, sp, #0x24
blx r3
add sp, sp, #0x30
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02161e48
_02161ebc: .word data_02050f54
.global func_ov18_02161ec0
arm_func_start func_ov18_02161ec0
func_ov18_02161ec0: ; 0x02161ec0
mov r0, #0x76
bx lr
arm_func_end func_ov18_02161ec0
.global func_ov18_02161ec8
arm_func_start func_ov18_02161ec8
func_ov18_02161ec8: ; 0x02161ec8
stmdb sp!, {r4, lr}
ldr r1, _02161efc ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x6c
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_02161f00
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02161ec8
_02161efc: .word data_027e0f84
.global func_ov18_02161f00
arm_func_start func_ov18_02161f00
func_ov18_02161f00: ; 0x02161f00
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02161f84 ; =data_ov00_020e2748
ldr r0, _02161f88 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r0, _02161f8c ; =data_ov00_020e2e3c
str r2, [r4, #0x48]
str r0, [r4, #0x38]
str r2, [r4, #0x58]
str r2, [r4, #0x4c]
str r2, [r4, #0x50]
ldr r1, _02161f90 ; =data_ov18_0216cb18
str r2, [r4, #0x54]
ldr r0, _02161f94 ; =data_027e0f68
str r1, [r4]
ldr r0, [r0]
mov r1, #0x55
bl func_ov00_0208ccdc
mov r2, #0
mov r1, r0
mov r3, r2
add r0, r4, #0x60
blx func_ov00_020bd618
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02161f00
_02161f84: .word data_ov00_020e2748
_02161f88: .word data_ov00_020e2f04
_02161f8c: .word data_ov00_020e2e3c
_02161f90: .word data_ov18_0216cb18
_02161f94: .word data_027e0f68
.global func_ov18_02161f98
arm_func_start func_ov18_02161f98
func_ov18_02161f98: ; 0x02161f98
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x60
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02161f98
.global func_ov18_02161fc0
arm_func_start func_ov18_02161fc0
func_ov18_02161fc0: ; 0x02161fc0
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x60
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02161fc0
.global func_ov18_02161ff0
arm_func_start func_ov18_02161ff0
func_ov18_02161ff0: ; 0x02161ff0
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x1c
mov r4, r0
ldr r1, [r4, #0x18]
mov r2, #0
str r1, [sp, #8]
ldr r1, [r4, #0x1c]
bic r2, r2, #0x1f
str r1, [sp, #0xc]
orr ip, r2, #6
ldr r3, [r4, #0x20]
ldr r1, _02162064 ; =0x00001333
mov r2, #0x800
str ip, [sp, #4]
str r3, [sp, #0x10]
str r2, [sp, #0x14]
str r1, [sp, #0x18]
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r4, #0x38
ldr r4, [r0]
ldr r3, [sp, #4]
ldr r4, [r4, #0x10]
add r1, sp, #8
blx r4
add sp, sp, #0x1c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_02161ff0
_02162064: .word 0x00001333
.global func_ov18_02162068
arm_func_start func_ov18_02162068
func_ov18_02162068: ; 0x02162068
stmdb sp!, {r3, lr}
mov r1, r0
add r0, r1, #0x60
ldr r2, [r0]
add r1, r1, #0x18
ldr r2, [r2, #0x18]
blx r2
ldmia sp!, {r3, pc}
arm_func_end func_ov18_02162068
.global func_ov18_02162088
arm_func_start func_ov18_02162088
func_ov18_02162088: ; 0x02162088
mov r0, #0x73
bx lr
arm_func_end func_ov18_02162088
.global func_ov18_02162090
arm_func_start func_ov18_02162090
func_ov18_02162090: ; 0x02162090
stmdb sp!, {r4, lr}
ldr r1, _021620c4 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x7c
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_021620c8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02162090
_021620c4: .word data_027e0f84
.global func_ov18_021620c8
arm_func_start func_ov18_021620c8
func_ov18_021620c8: ; 0x021620c8
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
mov r1, #0
ldr r2, _02162150 ; =data_ov00_020e2748
ldr r0, _02162154 ; =data_ov00_020e2f04
str r2, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
strb r1, [r4, #0x3d]
str r1, [r4, #0x40]
str r1, [r4, #0x44]
ldr r0, _02162158 ; =data_ov00_020e2e3c
str r1, [r4, #0x48]
str r0, [r4, #0x38]
str r1, [r4, #0x58]
str r1, [r4, #0x4c]
str r1, [r4, #0x50]
ldr ip, _0216215c ; =data_ov18_0216cbac
str r1, [r4, #0x54]
mov r2, r1
mov r3, r1
add r0, r4, #0x60
str ip, [r4]
blx func_ov00_020bd618
mov r1, #0
str r1, [r4, #0x6c]
strh r1, [r4, #0x70]
strh r1, [r4, #0x72]
strh r1, [r4, #0x74]
mov r0, r4
strb r1, [r4, #0x78]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021620c8
_02162150: .word data_ov00_020e2748
_02162154: .word data_ov00_020e2f04
_02162158: .word data_ov00_020e2e3c
_0216215c: .word data_ov18_0216cbac
.global func_ov18_02162160
arm_func_start func_ov18_02162160
func_ov18_02162160: ; 0x02162160
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x60
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02162160
.global func_ov18_02162188
arm_func_start func_ov18_02162188
func_ov18_02162188: ; 0x02162188
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x60
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02162188
.global func_ov18_021621b8
arm_func_start func_ov18_021621b8
func_ov18_021621b8: ; 0x021621b8
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x1c
ldr r1, _0216243c ; =data_027e0764
mov r2, #0
ldr r4, [r1]
ldmib r1, {r3, r5}
umull r7, r6, r5, r4
mla r6, r5, r3, r6
ldr r3, [r1, #0xc]
ldr r5, [r1, #0x10]
mla r6, r3, r4, r6
ldr r3, [r1, #0x14]
adds r4, r5, r7
str r4, [r1]
adc r6, r3, r6
mov sl, #0x15
umull r3, r5, r6, sl
mla r5, r6, r2, r5
mov fp, r2
mla r5, fp, sl, r5
mov r4, r0
str r6, [r1, #4]
ldr r6, [r4, #0x18]
sub r5, r5, #0xa
mov r3, #0x29
mla r3, r5, r3, r6
str r3, [r4, #0x18]
bic r6, r2, #0x1f
orr r6, r6, #6
bic r6, r6, #0x80000000
orr r6, r6, #0x80000000
ldr ip, [r1]
ldmib r1, {r3, r5, lr}
str r6, [sp, #4]
umull r7, r6, r5, ip
mla r6, r5, r3, r6
ldr sb, [r1, #0x10]
mla r6, lr, ip, r6
ldr r8, [r1, #0x14]
adds r3, sb, r7
adc r6, r8, r6
stmia r1, {r3, r6}
umull r1, r3, r6, sl
mla r3, r6, r2, r3
mla r3, fp, sl, r3
ldr r5, [r4, #0x20]
sub r2, r3, #0xa
mov r1, #0x29
mla r1, r2, r1, r5
str r1, [r4, #0x20]
ldr r1, [r4, #0x18]
str r1, [sp, #8]
ldr r1, [r4, #0x1c]
str r1, [sp, #0xc]
ldr r1, [r4, #0x20]
str r1, [sp, #0x10]
ldr r1, _02162440 ; =0x0000059a
str r1, [sp, #0x14]
ldr r1, _02162444 ; =0x00002333
str r1, [sp, #0x18]
bl func_ov00_0208b9cc
mov r1, fp
str r1, [sp]
mov r2, r0
add r0, r4, #0x38
ldr r5, [r0]
ldr r3, [sp, #4]
ldr r5, [r5, #0x10]
add r1, sp, #8
blx r5
ldrh r0, [r4, #0x24]
str r0, [r4, #0x6c]
ldrh r0, [r4, #0x26]
strh r0, [r4, #0x76]
ldrsh r0, [r4, #0x76]
cmp r0, #6
movge r0, fp
strgeh r0, [r4, #0x76]
ldrsh r0, [r4, #0x76]
cmp r0, #5
addls pc, pc, r0, lsl #2
b _021623f4
_02162300: ; jump table
b _021623f4 ; case 0
b _02162318 ; case 1
b _02162344 ; case 2
b _02162370 ; case 3
b _0216239c ; case 4
b _021623c8 ; case 5
_02162318:
ldr r0, _02162448 ; =data_027e0f68
mov r1, #0x17
ldr r0, [r0]
mov r2, #1
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x60
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
b _0216241c
_02162344:
ldr r0, _02162448 ; =data_027e0f68
mov r1, #0xc5
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x60
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
b _0216241c
_02162370:
ldr r0, _02162448 ; =data_027e0f68
mov r1, #0xc6
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x60
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
b _0216241c
_0216239c:
ldr r0, _02162448 ; =data_027e0f68
mov r1, #0x16
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x60
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
b _0216241c
_021623c8:
ldr r0, _02162448 ; =data_027e0f68
mov r1, #0x17
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x60
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
b _0216241c
_021623f4:
ldr r0, _02162448 ; =data_027e0f68
mov r1, #0x15
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x60
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
_0216241c:
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
add sp, sp, #0x1c
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_021621b8
_0216243c: .word data_027e0764
_02162440: .word 0x0000059a
_02162444: .word 0x00002333
_02162448: .word data_027e0f68
.global func_ov18_0216244c
arm_func_start func_ov18_0216244c
func_ov18_0216244c: ; 0x0216244c
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldrne r0, [r4, #8]
cmpne r0, #0
cmpne r0, #1
ldmeqia sp!, {r4, pc}
cmp r0, #2
ldmneia sp!, {r4, pc}
ldrh r0, [r4, #0x74]
ldr r1, _02162504 ; =0x00002ee0
ldr r2, _02162508 ; =data_02050f54
add r0, r0, #1
strh r0, [r4, #0x74]
ldrh r3, [r4, #0x74]
ldrsh ip, [r4, #0x70]
add r0, r4, #0x70
mul r1, r3, r1
mov r1, r1, lsl #0x10
mov r1, r1, lsr #0x10
mov r1, r1, asr #0x4
mov r1, r1, lsl #0x2
ldrsh r2, [r2, r1]
mov r3, ip, lsl #0xc
mov r1, #0
smull ip, r2, r3, r2
adds r3, ip, #0x800
adc r2, r2, #0
mov r3, r3, lsr #0xc
orr r3, r3, r2, lsl #20
mov r3, r3, asr #0xc
mov r2, #0x64
strh r3, [r4, #0x72]
bl func_0202b154
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0216244c
_02162504: .word 0x00002ee0
_02162508: .word data_02050f54
.global func_ov18_0216250c
arm_func_start func_ov18_0216250c
func_ov18_0216250c: ; 0x0216250c
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x14
mov r4, r0
str r1, [r4, #8]
cmp r1, #0
beq _02162538
cmp r1, #1
beq _02162544
cmp r1, #2
beq _021625e8
b _02162618
_02162538:
mov r0, #0
strh r0, [r4, #0x70]
b _02162618
_02162544:
ldr r0, _02162624 ; =data_027e0ffc
ldr r1, _02162628 ; =0x000001c5
add r2, r4, #0x18
mov r3, #0
bl func_ov00_020ceacc
ldrsh r0, [r4, #0x76]
cmp r0, #2
cmpne r0, #3
beq _021625cc
ldr r1, [r4, #0x1c]
ldr r2, [r4, #0x20]
ldr r0, [r4, #0x18]
add r1, r1, #0x800
str r0, [sp, #8]
str r1, [sp, #0xc]
str r2, [sp, #0x10]
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _0216262c ; =data_027e0e58
ldr r1, _02162630 ; =0x0000025f
ldr r0, [r0]
add r2, sp, #8
mov r3, #4
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _0216262c ; =data_027e0e58
add r2, sp, #8
ldr r0, [r0]
mov r1, #0x260
mov r3, #4
bl func_ov00_0207c1b0
_021625cc:
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
b _02162618
_021625e8:
mov r1, #0
strh r1, [r4, #0x74]
ldrb r2, [r4, #0x78]
cmp r2, #0
beq _02162618
ldrsh r2, [r4, #0x70]
cmp r2, #0
blt _02162610
bl func_ov18_021627dc
b _02162618
_02162610:
mov r1, #1
bl func_ov18_021627dc
_02162618:
mov r0, #1
add sp, sp, #0x14
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_0216250c
_02162624: .word data_027e0ffc
_02162628: .word 0x000001c5
_0216262c: .word data_027e0e58
_02162630: .word 0x0000025f
.global func_ov18_02162634
arm_func_start func_ov18_02162634
func_ov18_02162634: ; 0x02162634
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0xc
mov r5, r0
ldr r0, [r5, #8]
mov r4, r2
cmp r0, #0
beq _02162658
cmp r0, #2
b _02162708
_02162658:
cmp r1, #0
bne _02162708
ldr r0, _02162714 ; =data_027e0fc8
ldr r0, [r0]
bl func_ov00_020bc500
cmp r0, #4
bne _02162708
ldr r0, _02162718 ; =data_027e0fd0
ldr r0, [r0]
cmp r0, #0
beq _02162708
ldr r0, [r0, #4]
cmp r0, #0
bne _02162708
ldr r1, _0216271c ; =data_027e0f94
add r0, sp, #0
ldr r3, [r1]
ldr r2, [r1, #4]
str r3, [sp]
str r2, [sp, #4]
ldr r2, [r1, #8]
add r1, r5, #0x18
str r2, [sp, #8]
bl func_01ff9ec0
cmp r0, #0x1000
bgt _02162708
ldr r0, [r4]
mov r1, #1
cmp r0, #0
ldrge r0, _02162720 ; =0xfffffaec
ldrlt r0, _02162724 ; =0x00000514
strh r0, [r5, #0x70]
strb r1, [r5, #0x78]
ldr r0, _02162728 ; =data_027e0f64
mov r1, #0x11
ldr r0, [r0]
ldr r0, [r0, #4]
bl func_ov00_02088000
mov r0, r5
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
_02162708:
mov r0, #1
add sp, sp, #0xc
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_02162634
_02162714: .word data_027e0fc8
_02162718: .word data_027e0fd0
_0216271c: .word data_027e0f94
_02162720: .word 0xfffffaec
_02162724: .word 0x00000514
_02162728: .word data_027e0f64
.global func_ov18_0216272c
arm_func_start func_ov18_0216272c
func_ov18_0216272c: ; 0x0216272c
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x38
mov r3, #0
mov r2, #0x1000
mov r5, r0
str r3, [sp, #8]
str r3, [sp, #0xc]
str r2, [sp, #0x10]
ldrh r0, [r5, #0x72]
mov r4, r1
ldr r3, _021627d0 ; =data_02050f54
mov r0, r0, asr #0x4
mov r1, r0, lsl #0x1
add r0, r1, #1
mov r1, r1, lsl #0x1
ldrsh r2, [r3, r1]
mov r0, r0, lsl #0x1
ldrsh r3, [r3, r0]
add r0, sp, #0x14
add r1, sp, #8
bl func_01ff8248
add r0, r5, #0x60
ldr r3, [r0]
add r1, sp, #0x14
ldr r3, [r3, #0x14]
add r2, r5, #0x18
blx r3
ldrsh ip, [r5, #0x76]
mov r2, #0
ldr r3, _021627d4 ; =data_ov18_0216b514
str r2, [sp]
mov r2, #0x1f
str r2, [sp, #4]
ldr r2, _021627d8 ; =data_ov18_0216b4fc
ldr r3, [r3, ip, lsl #2]
ldr r2, [r2, ip, lsl #2]
mov r0, r5
mov r1, r4
bl func_ov00_0208b8e0
add sp, sp, #0x38
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0216272c
_021627d0: .word data_02050f54
_021627d4: .word data_ov18_0216b514
_021627d8: .word data_ov18_0216b4fc
.global func_ov18_021627dc
arm_func_start func_ov18_021627dc
func_ov18_021627dc: ; 0x021627dc
stmdb sp!, {r4, lr}
sub sp, sp, #0x150
mov r4, r0
cmp r1, #0
ldr r1, [r4, #0x1c]
ldr r0, [r4, #0x18]
beq _02162814
ldr r2, [r4, #0x20]
add r1, r1, #0x1800
add r0, r0, #0x1000
str r0, [sp, #0x144]
str r1, [sp, #0x148]
str r2, [sp, #0x14c]
b _0216282c
_02162814:
ldr r2, [r4, #0x20]
add r1, r1, #0x1800
sub r0, r0, #0x1000
str r0, [sp, #0x144]
str r1, [sp, #0x148]
str r2, [sp, #0x14c]
_0216282c:
ldr r0, [r4, #0x6c]
cmp r0, #7
addls pc, pc, r0, lsl #2
b _02162c90
_0216283c: ; jump table
b _02162c90 ; case 0
b _0216285c ; case 1
b _02162968 ; case 2
b _02162b38 ; case 3
b _02162a60 ; case 4
b _02162acc ; case 5
b _02162c20 ; case 6
b _02162bac ; case 7
_0216285c:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084c94
cmp r0, #0
bne _02162950
add r0, sp, #0x118
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x118
str r1, [sp, #0x134]
str r1, [sp, #0x138]
bl func_ov00_020c3348
ldr r1, [r4, #0x1c]
ldr r0, [r4, #0x18]
ldr r2, [r4, #0x20]
add r1, r1, #0x1800
add r0, r0, #0x1000
str r0, [sp, #0x144]
str r1, [sp, #0x148]
str r2, [sp, #0x14c]
mov r1, #0
str r1, [sp]
ldr r0, _02162ca4 ; =data_027e0fe8
ldr r1, _02162ca8 ; =0x48415254
ldr r0, [r0]
add r2, sp, #0x144
add r3, sp, #0x118
bl func_ov00_020c4048
ldr r0, [r4, #0x1c]
ldr r1, [r4, #0x18]
ldr r3, [r4, #0x20]
add r2, r0, #0x1800
sub r1, r1, #0x1000
str r2, [sp, #0x148]
str r3, [sp, #0x14c]
str r1, [sp, #0x144]
mov r0, #0
str r0, [sp]
ldr r0, _02162ca4 ; =data_027e0fe8
ldr r1, _02162ca8 ; =0x48415254
ldr r0, [r0]
add r2, sp, #0x144
add r3, sp, #0x118
bl func_ov00_020c4048
ldr r1, [r4, #0x20]
ldr r0, [r4, #0x1c]
add r3, r1, #0x1000
ldr r1, [r4, #0x18]
add r2, r0, #0x1800
str r1, [sp, #0x144]
str r2, [sp, #0x148]
str r3, [sp, #0x14c]
mov r0, #0
str r0, [sp]
ldr r0, _02162ca4 ; =data_027e0fe8
ldr r1, _02162ca8 ; =0x48415254
ldr r0, [r0]
add r2, sp, #0x144
add r3, sp, #0x118
bl func_ov00_020c4048
_02162950:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
mov r2, #1
bl func_ov00_02084c7c
b _02162c90
_02162968:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084c94
cmp r0, #0
bne _02162a48
add r0, sp, #0xec
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0xec
str r1, [sp, #0x108]
str r1, [sp, #0x10c]
bl func_ov00_020c3348
mov ip, #1
mov r3, #0
mov r2, #0x1800
mov r1, #0x1000
mov r0, r4
str ip, [sp, #0x110]
str r3, [sp, #0xe0]
str r2, [sp, #0xe4]
str r1, [sp, #0xe8]
bl func_ov00_0208b930
mov r1, r0
cmp r1, #0x4000
bgt _021629ec
mov r0, #0x4000
rsb r0, r0, #0
cmp r1, r0
blt _021629ec
add r0, sp, #0xe0
bl func_ov00_020a61ac
b _02162a00
_021629ec:
sub r0, r1, #0x8000
mov r1, r0, lsl #0x10
add r0, sp, #0xe0
mov r1, r1, asr #0x10
bl func_ov00_020a61ac
_02162a00:
ldr r1, [r4, #0x18]
add r0, sp, #0x144
str r1, [sp, #0x144]
ldr r2, [r4, #0x1c]
add r1, sp, #0xe0
str r2, [sp, #0x148]
ldr r3, [r4, #0x20]
mov r2, r0
str r3, [sp, #0x14c]
bl func_01ff9bc4
mov r1, #0
str r1, [sp]
ldr r0, _02162ca4 ; =data_027e0fe8
ldr r1, _02162cac ; =0x42454548
ldr r0, [r0]
add r2, sp, #0x144
add r3, sp, #0xec
bl func_ov00_020c4048
_02162a48:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
mov r2, #1
bl func_ov00_02084c7c
b _02162c90
_02162a60:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084c94
cmp r0, #0
bne _02162ab4
add r0, sp, #0xb4
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0xb4
str r1, [sp, #0xd0]
str r1, [sp, #0xd4]
bl func_ov00_020c3348
mov r1, #0
str r1, [sp]
ldr r0, _02162ca4 ; =data_027e0fe8
ldr r1, _02162cb0 ; =0x424f4d42
ldr r0, [r0]
add r2, sp, #0x144
add r3, sp, #0xb4
bl func_ov00_020c4048
_02162ab4:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
mov r2, #1
bl func_ov00_02084c7c
b _02162c90
_02162acc:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084c94
cmp r0, #0
bne _02162b20
add r0, sp, #0x88
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x88
str r1, [sp, #0xa4]
str r1, [sp, #0xa8]
bl func_ov00_020c3348
mov r1, #0
str r1, [sp]
ldr r0, _02162ca4 ; =data_027e0fe8
ldr r1, _02162cb4 ; =0x4f435441
ldr r0, [r0]
add r2, sp, #0x144
add r3, sp, #0x88
bl func_ov00_020c4048
_02162b20:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
mov r2, #1
bl func_ov00_02084c7c
b _02162c90
_02162b38:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084cc8
cmp r0, #0
bne _02162b94
add r0, sp, #0x5c
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x5c
str r1, [sp, #0x78]
str r1, [sp, #0x7c]
bl func_ov00_020c3348
mov r0, #4
strh r0, [sp, #0x5c]
mov r1, #0
str r1, [sp]
ldr r0, _02162ca4 ; =data_027e0fe8
ldr r1, _02162cb8 ; =0x52555059
ldr r0, [r0]
add r2, sp, #0x144
add r3, sp, #0x5c
bl func_ov00_020c4048
_02162b94:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
mov r2, #1
bl func_ov00_02084cb0
b _02162c90
_02162bac:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084cc8
cmp r0, #0
bne _02162c08
add r0, sp, #0x30
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x30
str r1, [sp, #0x4c]
str r1, [sp, #0x50]
bl func_ov00_020c3348
mov r0, #2
strh r0, [sp, #0x30]
mov r1, #0
str r1, [sp]
ldr r0, _02162ca4 ; =data_027e0fe8
ldr r1, _02162cb8 ; =0x52555059
ldr r0, [r0]
add r2, sp, #0x144
add r3, sp, #0x30
bl func_ov00_020c4048
_02162c08:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
mov r2, #1
bl func_ov00_02084cb0
b _02162c90
_02162c20:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084cc8
cmp r0, #0
bne _02162c7c
add r0, sp, #4
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #4
str r1, [sp, #0x20]
str r1, [sp, #0x24]
bl func_ov00_020c3348
mov r0, #3
strh r0, [sp, #4]
mov r1, #0
str r1, [sp]
ldr r0, _02162ca4 ; =data_027e0fe8
ldr r1, _02162cb8 ; =0x52555059
ldr r0, [r0]
add r2, sp, #0x144
add r3, sp, #4
bl func_ov00_020c4048
_02162c7c:
ldr r0, _02162ca0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
mov r2, #1
bl func_ov00_02084cb0
_02162c90:
mov r0, #0
str r0, [r4, #0x6c]
add sp, sp, #0x150
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021627dc
_02162ca0: .word data_027e0e60
_02162ca4: .word data_027e0fe8
_02162ca8: .word 0x48415254
_02162cac: .word 0x42454548
_02162cb0: .word 0x424f4d42
_02162cb4: .word 0x4f435441
_02162cb8: .word 0x52555059
.global func_ov18_02162cbc
arm_func_start func_ov18_02162cbc
func_ov18_02162cbc: ; 0x02162cbc
mov r0, #0
bx lr
arm_func_end func_ov18_02162cbc
.global func_ov18_02162cc4
arm_func_start func_ov18_02162cc4
func_ov18_02162cc4: ; 0x02162cc4
stmdb sp!, {r4, lr}
ldr r1, _02162cf8 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x80
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_02162cfc
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02162cc4
_02162cf8: .word data_027e0f84
.global func_ov18_02162cfc
arm_func_start func_ov18_02162cfc
func_ov18_02162cfc: ; 0x02162cfc
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02162d60 ; =data_ov00_020e2748
ldr r0, _02162d64 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r1, #0
strb r1, [r4, #0x3d]
str r1, [r4, #0x40]
str r1, [r4, #0x44]
ldr r0, _02162d68 ; =data_ov00_020e2e3c
str r1, [r4, #0x48]
str r0, [r4, #0x38]
str r1, [r4, #0x58]
str r1, [r4, #0x4c]
str r1, [r4, #0x50]
ldr r0, _02162d6c ; =data_ov18_0216cc40
str r1, [r4, #0x54]
str r0, [r4]
mov r0, r4
strh r1, [r4, #0x78]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02162cfc
_02162d60: .word data_ov00_020e2748
_02162d64: .word data_ov00_020e2f04
_02162d68: .word data_ov00_020e2e3c
_02162d6c: .word data_ov18_0216cc40
.global func_ov18_02162d70
arm_func_start func_ov18_02162d70
func_ov18_02162d70: ; 0x02162d70
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02162d70
.global func_ov18_02162d90
arm_func_start func_ov18_02162d90
func_ov18_02162d90: ; 0x02162d90
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02162d90
.global func_ov18_02162db8
arm_func_start func_ov18_02162db8
func_ov18_02162db8: ; 0x02162db8
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x20
ldr r2, [r0, #4]
mov r1, #0
orr r3, r2, #0x40
mov r2, r0
str r3, [r2, #4]
ldr r3, [r0]
mov r2, r1
ldr r3, [r3, #0x80]
str r0, [sp, #4]
blx r3
ldr r0, _0216323c ; =0x40b00000
ldr r7, [sp, #4]
ldr r5, _02163240 ; =0x47ae147b
ldr r8, _02163244 ; =data_027e0764
mov r6, #0
sub r4, r0, #0xd00000
_02162e00:
ldr r1, [r8]
ldmib r8, {r0, r3}
umull sl, sb, r3, r1
mla sb, r3, r0, sb
ldr r2, [r8, #0xc]
ldr ip, [r8, #0x10]
mla sb, r2, r1, sb
ldr fp, [r8, #0x14]
adds sl, ip, sl
adc sb, fp, sb
mov r0, #0x15
umull r0, r2, sb, r0
mov r0, #0
str sl, [r8]
mla r2, sb, r0, r2
mov r1, r0
mov r0, #0x15
mla r2, r1, r0, r2
sub r0, r2, #0xa
str sb, [r8, #4]
bl func_02001154
mov r3, r1
mov r2, r0
ldr r1, _02163248 ; =0x3fa47ae1
mov r0, r5
bl func_020011d0
mov r2, #0
mov r3, r2
bl func_02001cc0
ldr ip, [r8, #0x10]
ldr fp, [r8, #0x14]
bls _02162f04
ldr r1, [r8, #8]
ldr r0, [r8, #0xc]
umull r3, r2, r1, sl
mla r2, r1, sb, r2
mla r2, r0, sl, r2
adds r0, ip, r3
adc r1, fp, r2
stmia r8, {r0, r1}
mov r0, #0x15
umull r0, r2, r1, r0
mov r0, #0
mla r2, r1, r0, r2
mov r1, r0
mov r0, #0x15
mla r2, r1, r0, r2
sub r0, r2, #0xa
bl func_02001154
mov r3, r1
mov r2, r0
ldr r1, _02163248 ; =0x3fa47ae1
mov r0, r5
bl func_020011d0
mov r3, r1
mov r2, r0
ldr r1, _0216323c ; =0x40b00000
mov r0, #0
bl func_020011d0
mov r2, r0
mov r3, r1
mov r0, #0
mov r1, r4
bl func_02000c60
b _02162f7c
_02162f04:
ldr r1, [r8, #8]
ldr r0, [r8, #0xc]
umull r3, r2, r1, sl
mla r2, r1, sb, r2
mla r2, r0, sl, r2
adds r0, ip, r3
adc r1, fp, r2
stmia r8, {r0, r1}
mov r0, #0x15
umull r0, r2, r1, r0
mov r0, #0
mla r2, r1, r0, r2
mov r1, r0
mov r0, #0x15
mla r2, r1, r0, r2
sub r0, r2, #0xa
bl func_02001154
mov r3, r1
mov r2, r0
ldr r1, _02163248 ; =0x3fa47ae1
mov r0, r5
bl func_020011d0
mov r3, r1
mov r2, r0
ldr r1, _0216323c ; =0x40b00000
mov r0, #0
bl func_020011d0
mov r2, #0
mov r3, r4
bl func_020016e8
_02162f7c:
bl func_0200107c
str r0, [r7, #0x60]
mov r0, #0
str r0, [r7, #0x64]
ldr r1, [r8]
ldmib r8, {r0, r3}
umull sl, sb, r3, r1
mla sb, r3, r0, sb
ldr r2, [r8, #0xc]
ldr ip, [r8, #0x10]
mla sb, r2, r1, sb
ldr fp, [r8, #0x14]
adds sl, ip, sl
adc sb, fp, sb
mov r0, #0x15
umull r0, r2, sb, r0
mov r0, #0
str sl, [r8]
mla r2, sb, r0, r2
mov r1, r0
mov r0, #0x15
mla r2, r1, r0, r2
sub r0, r2, #0xa
str sb, [r8, #4]
bl func_02001154
mov r3, r1
mov r2, r0
ldr r1, _02163248 ; =0x3fa47ae1
mov r0, r5
bl func_020011d0
mov r2, #0
mov r3, r2
bl func_02001cc0
ldr ip, [r8, #0x10]
ldr fp, [r8, #0x14]
bls _02163090
ldr r1, [r8, #8]
ldr r0, [r8, #0xc]
umull r3, r2, r1, sl
mla r2, r1, sb, r2
mla r2, r0, sl, r2
adds r0, ip, r3
adc r1, fp, r2
stmia r8, {r0, r1}
mov r0, #0x15
umull r0, r2, r1, r0
mov r0, #0
mla r2, r1, r0, r2
mov r1, r0
mov r0, #0x15
mla r2, r1, r0, r2
sub r0, r2, #0xa
bl func_02001154
mov r3, r1
mov r2, r0
ldr r1, _02163248 ; =0x3fa47ae1
mov r0, r5
bl func_020011d0
mov r3, r1
mov r2, r0
ldr r1, _0216323c ; =0x40b00000
mov r0, #0
bl func_020011d0
mov r2, r0
mov r3, r1
mov r0, #0
mov r1, r4
bl func_02000c60
b _02163108
_02163090:
ldr r1, [r8, #8]
ldr r0, [r8, #0xc]
umull r3, r2, r1, sl
mla r2, r1, sb, r2
mla r2, r0, sl, r2
adds r0, ip, r3
adc r1, fp, r2
stmia r8, {r0, r1}
mov r0, #0x15
umull r0, r2, r1, r0
mov r0, #0
mla r2, r1, r0, r2
mov r1, r0
mov r0, #0x15
mla r2, r1, r0, r2
sub r0, r2, #0xa
bl func_02001154
mov r3, r1
mov r2, r0
ldr r1, _02163248 ; =0x3fa47ae1
mov r0, r5
bl func_020011d0
mov r3, r1
mov r2, r0
ldr r1, _0216323c ; =0x40b00000
mov r0, #0
bl func_020011d0
mov r2, #0
mov r3, r4
bl func_020016e8
_02163108:
bl func_0200107c
str r0, [r7, #0x68]
ldr r1, [r8]
ldmib r8, {r0, r3}
umull lr, ip, r3, r1
mla ip, r3, r0, ip
ldr r2, [r8, #0xc]
ldr sl, [r8, #0x10]
mla ip, r2, r1, ip
ldr sb, [r8, #0x14]
adds r0, sl, lr
adc r1, sb, ip
stmia r8, {r0, r1}
mov r0, #3
umull r0, r2, r1, r0
mov r0, #0
mla r2, r1, r0, r2
mov r1, r0
mov r0, #3
mla r2, r1, r0, r2
ldr fp, [sp, #4]
ldr r0, _0216324c ; =data_ov18_0216b52c
mov r1, r2, lsl #0x1
add fp, fp, r6, lsl #1
ldrsh r0, [r0, r1]
add r6, r6, #1
add r7, r7, #0xc
cmp r6, #2
strh r0, [fp, #0x7a]
blt _02162e00
ldr r0, [sp, #4]
mov r1, #0
ldr r0, [r0, #0x18]
bic r1, r1, #0x1f
str r0, [sp, #0xc]
ldr r0, [sp, #4]
orr r4, r1, #3
ldr r0, [r0, #0x1c]
ldr r2, _02163250 ; =0x00000333
str r0, [sp, #0x10]
ldr r0, [sp, #4]
mov r1, #0x1000
ldr r3, [r0, #0x20]
str r4, [sp, #8]
str r3, [sp, #0x14]
str r2, [sp, #0x18]
str r1, [sp, #0x1c]
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
ldr r0, [sp, #4]
ldr r3, [sp, #8]
ldr r4, [r0, #0x38]!
add r1, sp, #0xc
ldr r4, [r4, #0x10]
blx r4
ldr r0, [sp, #4]
mov r1, #0
strb r1, [r0, #0x3c]
ldrh r1, [r0, #0x26]
cmp r1, #0
addeq sp, sp, #0x20
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r0, _02163254 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
addne sp, sp, #0x20
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r0, [sp, #4]
ldr r0, [r0, #4]
bic r1, r0, #1
ldr r0, [sp, #4]
str r1, [r0, #4]
add sp, sp, #0x20
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_02162db8
_0216323c: .word 0x40b00000
_02163240: .word 0x47ae147b
_02163244: .word data_027e0764
_02163248: .word 0x3fa47ae1
_0216324c: .word data_ov18_0216b52c
_02163250: .word 0x00000333
_02163254: .word data_027e0f74
.global func_ov18_02163258
arm_func_start func_ov18_02163258
func_ov18_02163258: ; 0x02163258
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #8]
cmp r0, #1
beq _02163288
cmp r0, #3
ldmia sp!, {r4, pc}
_02163288:
mov r0, r4
bl func_ov18_02163680
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #3
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02163258
.global func_ov18_021632b4
arm_func_start func_ov18_021632b4
func_ov18_021632b4: ; 0x021632b4
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
ldr r2, [r5, #8]
mov r4, r1
cmp r2, #3
addls pc, pc, r2, lsl #2
ldmia sp!, {r3, r4, r5, pc}
_021632d0: ; jump table
b _021632e0 ; case 0
b _021632f4 ; case 1
b _021632f4 ; case 2
b _021632f4 ; case 3
_021632e0:
bl func_01ffa8d4
mov r0, r5
mov r1, r4
bl func_ov18_021632fc
ldmia sp!, {r3, r4, r5, pc}
_021632f4:
bl func_ov18_021633d8
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov18_021632b4
.global func_ov18_021632fc
arm_func_start func_ov18_021632fc
func_ov18_021632fc: ; 0x021632fc
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x50
mov sl, r0
add r0, sp, #0x34
mov sb, r1
bl func_ov00_0207a13c
ldr r2, _021633d0 ; =0x00000533
mov r3, #2
ldr r0, _021633d4 ; =0x020ec9d6
mov r1, r2, lsl #0x1
ldrh r4, [r0]
mov r0, #5
mov r7, #0
strh r4, [sp, #0x34]
mov r8, sl
str r0, [sp, #0x38]
str r3, [sp, #0x3c]
str r3, [sp, #0x40]
str r2, [sp, #0x48]
str r1, [sp, #0x4c]
add r6, sp, #0x28
mov r5, r7
mov r4, #0x20
add fp, sp, #0x34
_0216335c:
ldr r0, [r8, #0x60]
add r1, sp, #0x1c
str r0, [sp, #0x1c]
ldr r0, [r8, #0x64]
mov r2, r6
str r0, [sp, #0x20]
ldr r3, [r8, #0x68]
add r0, sl, #0x18
str r3, [sp, #0x24]
bl func_01ff9bc4
str r5, [sp]
str r5, [sp, #4]
str r5, [sp, #8]
str r4, [sp, #0xc]
str r4, [sp, #0x10]
str fp, [sp, #0x14]
str r5, [sp, #0x18]
add r0, sl, r7, lsl #1
ldrsh r2, [r0, #0x7a]
mov r0, sl
mov r1, sb
mov r3, r6
bl func_ov00_0208ba68
add r7, r7, #1
cmp r7, #2
add r8, r8, #0xc
blt _0216335c
add sp, sp, #0x50
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_021632fc
_021633d0: .word 0x00000533
_021633d4: .word 0x020ec9d6
.global func_ov18_021633d8
arm_func_start func_ov18_021633d8
func_ov18_021633d8: ; 0x021633d8
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x64
ldr r2, _021635c4 ; =0x020ec9d6
ldr r1, _021635c8 ; =data_ov00_020ec9d4
ldrh r3, [r2]
ldrh r2, [r1]
mov sl, r0
add r1, sp, #0x30
orr r0, r3, r2, lsl #16
orr r3, r0, #0x8000
mov r0, #0x30
mov r2, #1
str r3, [sp, #0x30]
bl func_01ffa9fc
mov r3, #0
add r1, sp, #0x2c
mov r0, #0x31
mov r2, #1
str r3, [sp, #0x2c]
bl func_01ffa9fc
ldr r0, _021635cc ; =data_027e0d44
add r1, sp, #0x28
ldr r2, [r0]
mov r0, #0x2a
ldr r3, [r2, #0x148]
mov r2, #1
mov r3, r3, lsl #0x10
mov r3, r3, lsr #0x10
bic r3, r3, #0xe0000000
orr r3, r3, #0x5200000
orr r3, r3, #0x10000000
str r3, [sp, #0x28]
bl func_01ffa9fc
ldr r0, _021635cc ; =data_027e0d44
add r1, sp, #0x24
ldr r2, [r0]
mov r0, #0x2b
ldr r3, [r2, #0x14c]
mov r2, #1
mov r3, r3, lsl #0x10
mov r3, r3, lsr #0x11
str r3, [sp, #0x24]
bl func_01ffa9fc
ldr r1, _021635d0 ; =0x001e4081
mov r0, #0x29
str r1, [sp, #0x20]
add r1, sp, #0x20
mov r2, #1
bl func_01ffa9fc
mov r0, #0x1000
str r0, [sp, #0x40]
str r0, [sp, #0x44]
str r0, [sp, #0x48]
mov r0, #0x1b
add r1, sp, #0x40
mov r2, #3
bl func_01ffa9fc
mov r7, #0x800
mov r8, #0
mov sb, sl
rsb r7, r7, #0
add r6, sp, #0x4c
add fp, sp, #0x58
mov r5, #4
mov r4, #0x20
_021634dc:
ldr r2, [sb, #0x68]
ldr r1, [sb, #0x60]
add r0, sl, #0x18
str r1, [sp, #0x4c]
str r2, [sp, #0x54]
mov r1, r6
mov r2, fp
str r7, [sp, #0x50]
bl func_01ff9bc4
mov r1, #0
mov r0, #0x11
mov r2, r1
bl func_01ffa9fc
ldr r1, [sp, #0x58]
ldr r0, [sp, #0x5c]
str r1, [sp, #0x34]
ldr r1, [sp, #0x60]
str r0, [sp, #0x38]
str r1, [sp, #0x3c]
mov r0, #0x1c
add r1, sp, #0x34
mov r2, #3
bl func_01ffa9fc
mov r0, #1
str r0, [sp, #0x1c]
mov r0, #0x40
add r1, sp, #0x1c
mov r2, #1
bl func_01ffa9fc
str r5, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
str r0, [sp, #0xc]
str r4, [sp, #0x10]
mov r0, sl
mov r1, #0
mov r2, #1
mov r3, #5
str r4, [sp, #0x14]
bl func_ov00_0208c2d4
mov r1, #0
mov r0, #0x41
mov r2, r1
bl func_01ffa9fc
mov r0, #1
str r0, [sp, #0x18]
mov r0, #0x12
add r1, sp, #0x18
mov r2, #1
bl func_01ffa9fc
add r8, r8, #1
add sb, sb, #0xc
cmp r8, #2
blt _021634dc
add sp, sp, #0x64
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_021633d8
_021635c4: .word 0x020ec9d6
_021635c8: .word data_ov00_020ec9d4
_021635cc: .word data_027e0d44
_021635d0: .word 0x001e4081
.global func_ov18_021635d4
arm_func_start func_ov18_021635d4
func_ov18_021635d4: ; 0x021635d4
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x14
mov r5, r0
str r1, [r5, #8]
cmp r1, #1
beq _021635f4
cmp r1, #3
b _02163670
_021635f4:
mov r4, #0
ldr r6, _0216367c ; =data_027e0e58
strh r4, [r5, #0x78]
add sb, r5, #0x18
add sl, sp, #8
mov r8, r4
mov r7, #0x1ec
mov fp, #4
_02163614:
ldr r0, [r5, #0x64]
ldr lr, [r5, #0x68]
ldr r3, [r5, #0x60]
add r0, r0, #0x9a
add ip, r0, #0x500
mov r0, sl
mov r1, sb
mov r2, sl
str r3, [sp, #8]
str ip, [sp, #0xc]
str lr, [sp, #0x10]
bl func_01ff9bc4
str r8, [sp]
str r8, [sp, #4]
ldr r0, [r6]
mov r1, r7
mov r2, sl
mov r3, fp
bl func_ov00_0207c1b0
add r4, r4, #1
cmp r4, #2
add r5, r5, #0xc
blt _02163614
_02163670:
mov r0, #1
add sp, sp, #0x14
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_021635d4
_0216367c: .word data_027e0e58
.global func_ov18_02163680
arm_func_start func_ov18_02163680
func_ov18_02163680: ; 0x02163680
stmdb sp!, {r4, lr}
mov r4, r0
ldrh r0, [r4, #0x78]
cmp r0, #4
bne _021636a8
ldrh r0, [r4, #0x24]
ands r1, r0, #0xff
moveq r1, #0x11
mov r0, r4
bl func_ov00_0208c4f8
_021636a8:
ldrh r0, [r4, #0x78]
cmp r0, #0x14
movhs r0, #1
addlo r0, r0, #1
strloh r0, [r4, #0x78]
movlo r0, #0
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02163680
.global func_ov18_021636c4
arm_func_start func_ov18_021636c4
func_ov18_021636c4: ; 0x021636c4
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #8]
cmp r0, #1
movge r0, #0
ldmgeia sp!, {r4, pc}
ldr r0, _02163710 ; =data_027e0ffc
ldr r1, _02163714 ; =0x000002a3
add r2, r4, #0x18
mov r3, #0
bl func_ov00_020ceacc
mov r0, r4
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021636c4
_02163710: .word data_027e0ffc
_02163714: .word 0x000002a3
.global func_ov18_02163718
arm_func_start func_ov18_02163718
func_ov18_02163718: ; 0x02163718
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #8]
cmp r0, #1
movge r0, #0
ldmgeia sp!, {r4, pc}
cmp r1, #0
beq _021637a8
cmp r1, #1
cmpne r1, #2
bne _02163758
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0x20]
blx r1
b _021637a8
_02163758:
ldr r0, _021637b0 ; =data_027e0fe4
ldr r0, [r0]
bl func_ov00_020c35d8
cmp r0, #0
moveq r0, #1
ldmeqia sp!, {r4, pc}
ldr r1, [r0, #4]
ldr r0, _021637b4 ; =0x424c5354
cmp r1, r0
ldrne r0, _021637b8 ; =0x424d524e
cmpne r1, r0
ldrne r0, _021637bc ; =0x5342454d
cmpne r1, r0
bne _021637a8
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0x20]
blx r1
mov r0, #0
ldmia sp!, {r4, pc}
_021637a8:
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02163718
_021637b0: .word data_027e0fe4
_021637b4: .word 0x424c5354
_021637b8: .word 0x424d524e
_021637bc: .word 0x5342454d
.global func_ov18_021637c0
arm_func_start func_ov18_021637c0
func_ov18_021637c0: ; 0x021637c0
stmdb sp!, {r3, lr}
cmp r2, #1
mvngt r0, #0
ldmgtia sp!, {r3, pc}
ldr r1, [r0]
ldr r1, [r1, #0x20]
blx r1
mov r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov18_021637c0
.global func_ov18_021637e4
arm_func_start func_ov18_021637e4
func_ov18_021637e4: ; 0x021637e4
mov r0, #1
bx lr
arm_func_end func_ov18_021637e4
.global func_ov18_021637ec
arm_func_start func_ov18_021637ec
func_ov18_021637ec: ; 0x021637ec
stmdb sp!, {r4, lr}
ldr r1, _02163820 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x80
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_02163824
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021637ec
_02163820: .word data_027e0f84
.global func_ov18_02163824
arm_func_start func_ov18_02163824
func_ov18_02163824: ; 0x02163824
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02163888 ; =data_ov00_020e2748
ldr r0, _0216388c ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r1, #0
strb r1, [r4, #0x3d]
str r1, [r4, #0x40]
str r1, [r4, #0x44]
ldr r0, _02163890 ; =data_ov00_020e2e3c
str r1, [r4, #0x48]
str r0, [r4, #0x38]
str r1, [r4, #0x58]
str r1, [r4, #0x4c]
str r1, [r4, #0x50]
ldr r0, _02163894 ; =data_ov18_0216ccd4
str r1, [r4, #0x54]
str r0, [r4]
mov r0, r4
strh r1, [r4, #0x78]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02163824
_02163888: .word data_ov00_020e2748
_0216388c: .word data_ov00_020e2f04
_02163890: .word data_ov00_020e2e3c
_02163894: .word data_ov18_0216ccd4
.global func_ov18_02163898
arm_func_start func_ov18_02163898
func_ov18_02163898: ; 0x02163898
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02163898
.global func_ov18_021638b8
arm_func_start func_ov18_021638b8
func_ov18_021638b8: ; 0x021638b8
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_021638b8
.global func_ov18_021638e0
arm_func_start func_ov18_021638e0
func_ov18_021638e0: ; 0x021638e0
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x1c
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
mov r7, r0
blx r3
ldr r0, _02163d48 ; =0x40b00000
ldr r8, _02163d4c ; =data_027e0764
mov r6, r7
mov r5, #0
sub r4, r0, #0xd00000
_02163914:
ldr r1, [r8]
ldmib r8, {r0, r3}
umull sl, sb, r3, r1
mla sb, r3, r0, sb
ldr r2, [r8, #0xc]
ldr ip, [r8, #0x10]
mla sb, r2, r1, sb
ldr fp, [r8, #0x14]
adds sl, ip, sl
adc sb, fp, sb
mov r0, #0x15
umull r0, r2, sb, r0
mov r0, #0
str sl, [r8]
mla r2, sb, r0, r2
mov r1, r0
mov r0, #0x15
mla r2, r1, r0, r2
sub r0, r2, #0xa
str sb, [r8, #4]
bl func_02001154
mov r2, r0
mov r3, r1
ldr r0, _02163d50 ; =0x47ae147b
ldr r1, _02163d54 ; =0x3fa47ae1
bl func_020011d0
mov r2, #0
mov r3, r2
bl func_02001cc0
ldr ip, [r8, #0x10]
ldr fp, [r8, #0x14]
bls _02163a18
ldr r1, [r8, #8]
ldr r0, [r8, #0xc]
umull r3, r2, r1, sl
mla r2, r1, sb, r2
mla r2, r0, sl, r2
adds r0, ip, r3
adc r1, fp, r2
stmia r8, {r0, r1}
mov r0, #0x15
umull r0, r2, r1, r0
mov r0, #0
mla r2, r1, r0, r2
mov r1, r0
mov r0, #0x15
mla r2, r1, r0, r2
sub r0, r2, #0xa
bl func_02001154
mov r2, r0
mov r3, r1
ldr r0, _02163d50 ; =0x47ae147b
ldr r1, _02163d54 ; =0x3fa47ae1
bl func_020011d0
mov r3, r1
mov r2, r0
ldr r1, _02163d48 ; =0x40b00000
mov r0, #0
bl func_020011d0
mov r2, r0
mov r3, r1
mov r0, #0
mov r1, r4
bl func_02000c60
b _02163a90
_02163a18:
ldr r1, [r8, #8]
ldr r0, [r8, #0xc]
umull r3, r2, r1, sl
mla r2, r1, sb, r2
mla r2, r0, sl, r2
adds r0, ip, r3
adc r1, fp, r2
stmia r8, {r0, r1}
mov r0, #0x15
umull r0, r2, r1, r0
mov r0, #0
mla r2, r1, r0, r2
mov r1, r0
mov r0, #0x15
mla r2, r1, r0, r2
sub r0, r2, #0xa
bl func_02001154
mov r2, r0
mov r3, r1
ldr r0, _02163d50 ; =0x47ae147b
ldr r1, _02163d54 ; =0x3fa47ae1
bl func_020011d0
mov r3, r1
mov r2, r0
ldr r1, _02163d48 ; =0x40b00000
mov r0, #0
bl func_020011d0
mov r2, #0
mov r3, r4
bl func_020016e8
_02163a90:
bl func_0200107c
str r0, [r6, #0x60]
mov r0, #0
str r0, [r6, #0x64]
ldr r1, [r8]
ldmib r8, {r0, r3}
umull sl, sb, r3, r1
mla sb, r3, r0, sb
ldr r2, [r8, #0xc]
ldr ip, [r8, #0x10]
mla sb, r2, r1, sb
ldr fp, [r8, #0x14]
adds sl, ip, sl
adc sb, fp, sb
mov r0, #0x15
umull r0, r2, sb, r0
mov r0, #0
str sl, [r8]
mla r2, sb, r0, r2
mov r1, r0
mov r0, #0x15
mla r2, r1, r0, r2
sub r0, r2, #0xa
str sb, [r8, #4]
bl func_02001154
mov r2, r0
mov r3, r1
ldr r0, _02163d50 ; =0x47ae147b
ldr r1, _02163d54 ; =0x3fa47ae1
bl func_020011d0
mov r2, #0
mov r3, r2
bl func_02001cc0
ldr ip, [r8, #0x10]
ldr fp, [r8, #0x14]
bls _02163ba4
ldr r1, [r8, #8]
ldr r0, [r8, #0xc]
umull r3, r2, r1, sl
mla r2, r1, sb, r2
mla r2, r0, sl, r2
adds r0, ip, r3
adc r1, fp, r2
stmia r8, {r0, r1}
mov r0, #0x15
umull r0, r2, r1, r0
mov r0, #0
mla r2, r1, r0, r2
mov r1, r0
mov r0, #0x15
mla r2, r1, r0, r2
sub r0, r2, #0xa
bl func_02001154
mov r2, r0
mov r3, r1
ldr r0, _02163d50 ; =0x47ae147b
ldr r1, _02163d54 ; =0x3fa47ae1
bl func_020011d0
mov r3, r1
mov r2, r0
ldr r1, _02163d48 ; =0x40b00000
mov r0, #0
bl func_020011d0
mov r2, r0
mov r3, r1
mov r0, #0
mov r1, r4
bl func_02000c60
b _02163c1c
_02163ba4:
ldr r1, [r8, #8]
ldr r0, [r8, #0xc]
umull r3, r2, r1, sl
mla r2, r1, sb, r2
mla r2, r0, sl, r2
adds r0, ip, r3
adc r1, fp, r2
stmia r8, {r0, r1}
mov r0, #0x15
umull r0, r2, r1, r0
mov r0, #0
mla r2, r1, r0, r2
mov r1, r0
mov r0, #0x15
mla r2, r1, r0, r2
sub r0, r2, #0xa
bl func_02001154
mov r2, r0
mov r3, r1
ldr r0, _02163d50 ; =0x47ae147b
ldr r1, _02163d54 ; =0x3fa47ae1
bl func_020011d0
mov r3, r1
mov r2, r0
ldr r1, _02163d48 ; =0x40b00000
mov r0, #0
bl func_020011d0
mov r2, #0
mov r3, r4
bl func_020016e8
_02163c1c:
bl func_0200107c
str r0, [r6, #0x68]
cmp r5, #0
bne _02163c3c
add r1, r7, r5, lsl #1
mov r0, #0x27
strh r0, [r1, #0x7a]
b _02163c98
_02163c3c:
ldr r1, [r8]
ldmib r8, {r0, r3}
umull lr, ip, r3, r1
mla ip, r3, r0, ip
ldr r2, [r8, #0xc]
ldr sl, [r8, #0x10]
mla ip, r2, r1, ip
ldr sb, [r8, #0x14]
adds r0, sl, lr
adc r1, sb, ip
stmia r8, {r0, r1}
mov r0, #3
umull r0, r2, r1, r0
mov r0, #0
mla r2, r1, r0, r2
mov r1, r0
mov r0, #3
mla r2, r1, r0, r2
ldr r0, _02163d58 ; =data_ov18_0216b534
mov r1, r2, lsl #0x1
ldrsh r0, [r0, r1]
add fp, r7, r5, lsl #1
strh r0, [fp, #0x7a]
_02163c98:
add r6, r6, #0xc
add r5, r5, #1
cmp r5, #2
blt _02163914
ldr r0, [r7, #0x18]
mov r1, #0
str r0, [sp, #8]
ldr r0, [r7, #0x1c]
bic r1, r1, #0x1f
str r0, [sp, #0xc]
orr r4, r1, #3
ldr r3, [r7, #0x20]
ldr r2, _02163d5c ; =0x00000333
mov r1, #0x1000
mov r0, r7
str r4, [sp, #4]
str r3, [sp, #0x10]
str r2, [sp, #0x14]
str r1, [sp, #0x18]
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r7, #0x38
ldr r4, [r0]
ldr r3, [sp, #4]
ldr r4, [r4, #0x10]
add r1, sp, #8
blx r4
mov r0, #0
strb r0, [r7, #0x3c]
ldrh r1, [r7, #0x26]
cmp r1, #0
addeq sp, sp, #0x1c
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r0, _02163d60 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
ldreq r0, [r7, #4]
biceq r0, r0, #1
streq r0, [r7, #4]
add sp, sp, #0x1c
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_021638e0
_02163d48: .word 0x40b00000
_02163d4c: .word data_027e0764
_02163d50: .word 0x47ae147b
_02163d54: .word 0x3fa47ae1
_02163d58: .word data_ov18_0216b534
_02163d5c: .word 0x00000333
_02163d60: .word data_027e0f74
.global func_ov18_02163d64
arm_func_start func_ov18_02163d64
func_ov18_02163d64: ; 0x02163d64
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #8]
cmp r0, #1
beq _02163d94
cmp r0, #3
ldmia sp!, {r4, pc}
_02163d94:
mov r0, r4
bl func_ov18_0216418c
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #3
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02163d64
.global func_ov18_02163dc0
arm_func_start func_ov18_02163dc0
func_ov18_02163dc0: ; 0x02163dc0
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
ldr r2, [r5, #8]
mov r4, r1
cmp r2, #3
addls pc, pc, r2, lsl #2
ldmia sp!, {r3, r4, r5, pc}
_02163ddc: ; jump table
b _02163dec ; case 0
b _02163e00 ; case 1
b _02163e00 ; case 2
b _02163e00 ; case 3
_02163dec:
bl func_01ffa8d4
mov r0, r5
mov r1, r4
bl func_ov18_02163e08
ldmia sp!, {r3, r4, r5, pc}
_02163e00:
bl func_ov18_02163ee4
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov18_02163dc0
.global func_ov18_02163e08
arm_func_start func_ov18_02163e08
func_ov18_02163e08: ; 0x02163e08
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x50
mov sl, r0
add r0, sp, #0x34
mov sb, r1
bl func_ov00_0207a13c
ldr r2, _02163edc ; =0x00000533
mov r3, #2
ldr r0, _02163ee0 ; =0x020ec9d6
mov r1, r2, lsl #0x1
ldrh r4, [r0]
mov r0, #5
mov r7, #0
strh r4, [sp, #0x34]
mov r8, sl
str r0, [sp, #0x38]
str r3, [sp, #0x3c]
str r3, [sp, #0x40]
str r2, [sp, #0x48]
str r1, [sp, #0x4c]
add r6, sp, #0x28
mov r5, r7
mov r4, #0x20
add fp, sp, #0x34
_02163e68:
ldr r0, [r8, #0x60]
add r1, sp, #0x1c
str r0, [sp, #0x1c]
ldr r0, [r8, #0x64]
mov r2, r6
str r0, [sp, #0x20]
ldr r3, [r8, #0x68]
add r0, sl, #0x18
str r3, [sp, #0x24]
bl func_01ff9bc4
str r5, [sp]
str r5, [sp, #4]
str r5, [sp, #8]
str r4, [sp, #0xc]
str r4, [sp, #0x10]
str fp, [sp, #0x14]
str r5, [sp, #0x18]
add r0, sl, r7, lsl #1
ldrsh r2, [r0, #0x7a]
mov r0, sl
mov r1, sb
mov r3, r6
bl func_ov00_0208ba68
add r7, r7, #1
cmp r7, #2
add r8, r8, #0xc
blt _02163e68
add sp, sp, #0x50
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_02163e08
_02163edc: .word 0x00000533
_02163ee0: .word 0x020ec9d6
.global func_ov18_02163ee4
arm_func_start func_ov18_02163ee4
func_ov18_02163ee4: ; 0x02163ee4
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x64
ldr r2, _021640d0 ; =0x020ec9d6
ldr r1, _021640d4 ; =data_ov00_020ec9d4
ldrh r3, [r2]
ldrh r2, [r1]
mov sl, r0
add r1, sp, #0x30
orr r0, r3, r2, lsl #16
orr r3, r0, #0x8000
mov r0, #0x30
mov r2, #1
str r3, [sp, #0x30]
bl func_01ffa9fc
mov r3, #0
add r1, sp, #0x2c
mov r0, #0x31
mov r2, #1
str r3, [sp, #0x2c]
bl func_01ffa9fc
ldr r0, _021640d8 ; =data_027e0d44
add r1, sp, #0x28
ldr r2, [r0]
mov r0, #0x2a
ldr r3, [r2, #0x148]
mov r2, #1
mov r3, r3, lsl #0x10
mov r3, r3, lsr #0x10
bic r3, r3, #0xe0000000
orr r3, r3, #0x5200000
orr r3, r3, #0x10000000
str r3, [sp, #0x28]
bl func_01ffa9fc
ldr r0, _021640d8 ; =data_027e0d44
add r1, sp, #0x24
ldr r2, [r0]
mov r0, #0x2b
ldr r3, [r2, #0x14c]
mov r2, #1
mov r3, r3, lsl #0x10
mov r3, r3, lsr #0x11
str r3, [sp, #0x24]
bl func_01ffa9fc
ldr r1, _021640dc ; =0x001e4081
mov r0, #0x29
str r1, [sp, #0x20]
add r1, sp, #0x20
mov r2, #1
bl func_01ffa9fc
mov r0, #0x1000
str r0, [sp, #0x40]
str r0, [sp, #0x44]
str r0, [sp, #0x48]
mov r0, #0x1b
add r1, sp, #0x40
mov r2, #3
bl func_01ffa9fc
mov r7, #0x800
mov r8, #0
mov sb, sl
rsb r7, r7, #0
add r6, sp, #0x4c
add fp, sp, #0x58
mov r5, #4
mov r4, #0x20
_02163fe8:
ldr r2, [sb, #0x68]
ldr r1, [sb, #0x60]
add r0, sl, #0x18
str r1, [sp, #0x4c]
str r2, [sp, #0x54]
mov r1, r6
mov r2, fp
str r7, [sp, #0x50]
bl func_01ff9bc4
mov r1, #0
mov r0, #0x11
mov r2, r1
bl func_01ffa9fc
ldr r1, [sp, #0x58]
ldr r0, [sp, #0x5c]
str r1, [sp, #0x34]
ldr r1, [sp, #0x60]
str r0, [sp, #0x38]
str r1, [sp, #0x3c]
mov r0, #0x1c
add r1, sp, #0x34
mov r2, #3
bl func_01ffa9fc
mov r0, #1
str r0, [sp, #0x1c]
mov r0, #0x40
add r1, sp, #0x1c
mov r2, #1
bl func_01ffa9fc
str r5, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
str r0, [sp, #0xc]
str r4, [sp, #0x10]
mov r0, sl
mov r1, #0
mov r2, #1
mov r3, #5
str r4, [sp, #0x14]
bl func_ov00_0208c2d4
mov r1, #0
mov r0, #0x41
mov r2, r1
bl func_01ffa9fc
mov r0, #1
str r0, [sp, #0x18]
mov r0, #0x12
add r1, sp, #0x18
mov r2, #1
bl func_01ffa9fc
add r8, r8, #1
add sb, sb, #0xc
cmp r8, #2
blt _02163fe8
add sp, sp, #0x64
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_02163ee4
_021640d0: .word 0x020ec9d6
_021640d4: .word data_ov00_020ec9d4
_021640d8: .word data_027e0d44
_021640dc: .word 0x001e4081
.global func_ov18_021640e0
arm_func_start func_ov18_021640e0
func_ov18_021640e0: ; 0x021640e0
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x14
mov r5, r0
str r1, [r5, #8]
cmp r1, #1
beq _02164100
cmp r1, #3
b _0216417c
_02164100:
mov r4, #0
ldr r6, _02164188 ; =data_027e0e58
strh r4, [r5, #0x78]
add sb, r5, #0x18
add sl, sp, #8
mov r8, r4
mov r7, #0x1ec
mov fp, #4
_02164120:
ldr r0, [r5, #0x64]
ldr lr, [r5, #0x68]
ldr r3, [r5, #0x60]
add r0, r0, #0x9a
add ip, r0, #0x500
mov r0, sl
mov r1, sb
mov r2, sl
str r3, [sp, #8]
str ip, [sp, #0xc]
str lr, [sp, #0x10]
bl func_01ff9bc4
str r8, [sp]
str r8, [sp, #4]
ldr r0, [r6]
mov r1, r7
mov r2, sl
mov r3, fp
bl func_ov00_0207c1b0
add r4, r4, #1
cmp r4, #2
add r5, r5, #0xc
blt _02164120
_0216417c:
mov r0, #1
add sp, sp, #0x14
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_021640e0
_02164188: .word data_027e0e58
.global func_ov18_0216418c
arm_func_start func_ov18_0216418c
func_ov18_0216418c: ; 0x0216418c
stmdb sp!, {r4, lr}
mov r4, r0
ldrh r0, [r4, #0x78]
cmp r0, #8
bne _021641b4
ldrh r0, [r4, #0x24]
ands r1, r0, #0xff
moveq r1, #0x11
mov r0, r4
bl func_ov00_0208c4f8
_021641b4:
ldrh r0, [r4, #0x78]
cmp r0, #0x14
movhs r0, #1
addlo r0, r0, #1
strloh r0, [r4, #0x78]
movlo r0, #0
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216418c
.global func_ov18_021641d0
arm_func_start func_ov18_021641d0
func_ov18_021641d0: ; 0x021641d0
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #8]
cmp r0, #1
movge r0, #0
ldmgeia sp!, {r4, pc}
ldr r0, _0216421c ; =data_027e0ffc
ldr r1, _02164220 ; =0x000002a3
add r2, r4, #0x18
mov r3, #0
bl func_ov00_020ceacc
mov r0, r4
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021641d0
_0216421c: .word data_027e0ffc
_02164220: .word 0x000002a3
.global func_ov18_02164224
arm_func_start func_ov18_02164224
func_ov18_02164224: ; 0x02164224
stmdb sp!, {r4, lr}
mov r4, r0
cmp r1, #4
addls pc, pc, r1, lsl #2
b _0216425c
_02164238: ; jump table
b _021642ac ; case 0
b _0216424c ; case 1
b _0216424c ; case 2
b _021642ac ; case 3
b _021642ac ; case 4
_0216424c:
ldr r1, [r0]
ldr r1, [r1, #0x20]
blx r1
b _021642ac
_0216425c:
ldr r0, _021642b4 ; =data_027e0fe4
ldr r0, [r0]
bl func_ov00_020c35d8
cmp r0, #0
moveq r0, #1
ldmeqia sp!, {r4, pc}
ldr r1, [r0, #4]
ldr r0, _021642b8 ; =0x424c5354
cmp r1, r0
ldrne r0, _021642bc ; =0x424d524e
cmpne r1, r0
ldrne r0, _021642c0 ; =0x5342454d
cmpne r1, r0
bne _021642ac
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0x20]
blx r1
mov r0, #0
ldmia sp!, {r4, pc}
_021642ac:
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02164224
_021642b4: .word data_027e0fe4
_021642b8: .word 0x424c5354
_021642bc: .word 0x424d524e
_021642c0: .word 0x5342454d
.global func_ov18_021642c4
arm_func_start func_ov18_021642c4
func_ov18_021642c4: ; 0x021642c4
stmdb sp!, {r3, lr}
cmp r2, #1
mvngt r0, #0
ldmgtia sp!, {r3, pc}
ldr r1, [r0]
ldr r1, [r1, #0x20]
blx r1
mov r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov18_021642c4
.global func_ov18_021642e8
arm_func_start func_ov18_021642e8
func_ov18_021642e8: ; 0x021642e8
mov r0, #0x38
bx lr
arm_func_end func_ov18_021642e8
.global func_ov18_021642f0
arm_func_start func_ov18_021642f0
func_ov18_021642f0: ; 0x021642f0
stmdb sp!, {r4, lr}
ldr r1, _02164324 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x7c
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_02164328
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021642f0
_02164324: .word data_027e0f84
.global func_ov18_02164328
arm_func_start func_ov18_02164328
func_ov18_02164328: ; 0x02164328
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02146c54
ldr r1, _0216437c ; =data_ov18_0216cd68
ldr r0, _02164380 ; =data_027e0f68
str r1, [r4]
ldr r0, [r0]
mov r1, #0xf
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x68
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, _02164384 ; =0x54415255
ldr r1, _02164388 ; =0x000001f7
str r0, [r4, #0x60]
mov r0, r4
strh r1, [r4, #0x64]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02164328
_0216437c: .word data_ov18_0216cd68
_02164380: .word data_027e0f68
_02164384: .word 0x54415255
_02164388: .word 0x000001f7
.global func_ov18_0216438c
arm_func_start func_ov18_0216438c
func_ov18_0216438c: ; 0x0216438c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02146d20
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216438c
.global func_ov18_021643a0
arm_func_start func_ov18_021643a0
func_ov18_021643a0: ; 0x021643a0
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02146d20
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_021643a0
.global func_ov18_021643bc
arm_func_start func_ov18_021643bc
func_ov18_021643bc: ; 0x021643bc
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x1c
mov r4, r0
ldr r1, [r4, #0x18]
mov r2, #0
str r1, [sp, #8]
ldr r1, [r4, #0x1c]
bic r2, r2, #0x1f
str r1, [sp, #0xc]
orr r1, r2, #0x20000006
bic r1, r1, #0x80000000
orr ip, r1, #0x80000000
ldr r3, [r4, #0x20]
mov r2, #0x800
mov r1, #0x1000
str ip, [sp, #4]
str r3, [sp, #0x10]
str r2, [sp, #0x14]
str r1, [sp, #0x18]
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x10]
add r1, sp, #8
blx ip
mov r0, r4
bl func_ov14_02146d48
add sp, sp, #0x1c
ldmia sp!, {r3, r4, pc}
arm_func_end func_ov18_021643bc
.global func_ov18_02164440
arm_func_start func_ov18_02164440
func_ov18_02164440: ; 0x02164440
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
mov r4, r0
cmp r1, #0
bne _0216447c
ldr r3, [r2]
add r1, sp, #0
str r3, [sp]
ldr r3, [r2, #4]
str r3, [sp, #4]
ldr r2, [r2, #8]
str r2, [sp, #8]
bl func_ov14_02147584
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
_0216447c:
cmp r1, #0xb
blt _0216452c
ldr r0, _02164538 ; =data_027e0fe4
ldr r0, [r0]
bl func_ov00_020c35d8
cmp r0, #0
addeq sp, sp, #0xc
moveq r0, #1
ldmeqia sp!, {r3, r4, pc}
ldr r1, [r0, #4]
ldr r0, _0216453c ; =0x424c5354
cmp r1, r0
bhi _021644c4
bhs _021644e4
ldr r0, _02164540 ; =0x41525257
cmp r1, r0
beq _02164508
b _0216452c
_021644c4:
ldr r0, _02164544 ; =0x424d524e
cmp r1, r0
bhi _021644d8
beq _021644e4
b _0216452c
_021644d8:
ldr r0, _02164548 ; =0x5342454d
cmp r1, r0
bne _0216452c
_021644e4:
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
add sp, sp, #0xc
mov r0, #0
ldmia sp!, {r3, r4, pc}
_02164508:
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
add sp, sp, #0xc
mov r0, #1
ldmia sp!, {r3, r4, pc}
_0216452c:
mov r0, #1
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_02164440
_02164538: .word data_027e0fe4
_0216453c: .word 0x424c5354
_02164540: .word 0x41525257
_02164544: .word 0x424d524e
_02164548: .word 0x5342454d
.global func_ov18_0216454c
arm_func_start func_ov18_0216454c
func_ov18_0216454c: ; 0x0216454c
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x14
mov r4, r0
ldr r0, _02164658 ; =data_027e0ffc
add r2, r4, #0x18
mov r1, #0x1f8
mov r3, #0
bl func_ov00_020ceacc
ldr r0, _0216465c ; =data_027e1038
add r1, r4, #0x18
ldr r0, [r0]
bl func_ov00_020cef10
ldr r2, [r4, #0x1c]
ldr r1, [r4, #0x74]
ldr r3, [r4, #0x20]
ldr r0, [r4, #0x18]
add r1, r2, r1
str r0, [sp, #8]
str r1, [sp, #0xc]
str r3, [sp, #0x10]
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02164660 ; =data_027e0e58
ldr r1, _02164664 ; =0x000001c7
ldr r0, [r0]
add r2, sp, #8
mov r3, #4
bl func_ov00_0207c1b0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _02164660 ; =data_027e0e58
mov r1, #0x1c8
ldr r0, [r0]
add r2, sp, #8
mov r3, #4
bl func_ov00_0207c1b0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _02164660 ; =data_027e0e58
ldr r1, _02164668 ; =0x000001c9
ldr r0, [r0]
add r2, sp, #8
mov r3, #4
bl func_ov00_0207c1b0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _02164660 ; =data_027e0e58
ldr r1, _0216466c ; =0x000001ca
ldr r0, [r0]
add r2, sp, #8
mov r3, #4
bl func_ov00_0207c1b0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _02164660 ; =data_027e0e58
ldr r1, _02164670 ; =0x000001a3
ldr r0, [r0]
add r2, sp, #8
mov r3, #4
bl func_ov00_0207c1b0
add sp, sp, #0x14
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_0216454c
_02164658: .word data_027e0ffc
_0216465c: .word data_027e1038
_02164660: .word data_027e0e58
_02164664: .word 0x000001c7
_02164668: .word 0x000001c9
_0216466c: .word 0x000001ca
_02164670: .word 0x000001a3
.global func_ov18_02164674
arm_func_start func_ov18_02164674
func_ov18_02164674: ; 0x02164674
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #8
ldr r2, [r0]
mov r5, r0
ldr r2, [r2, #0x88]
mov r4, r1
blx r2
cmp r0, #0
addeq sp, sp, #8
ldmeqia sp!, {r3, r4, r5, pc}
ldr r2, _021646dc ; =0x00000733
mov r3, #0
mov r0, r5
mov r1, r4
str r3, [sp]
mov ip, #0x1f
sub r3, r2, #0x170
str ip, [sp, #4]
bl func_ov00_0208b8e0
add r0, r5, #0x68
ldr r2, [r0]
add r1, r5, #0x18
ldr r2, [r2, #0x18]
blx r2
add sp, sp, #8
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_02164674
_021646dc: .word 0x00000733
.global func_ov18_021646e0
arm_func_start func_ov18_021646e0
func_ov18_021646e0: ; 0x021646e0
mov r0, #0x35
bx lr
arm_func_end func_ov18_021646e0
.global func_ov18_021646e8
arm_func_start func_ov18_021646e8
func_ov18_021646e8: ; 0x021646e8
stmdb sp!, {r3, lr}
ldr r1, [r0]
ldr r1, [r1, #0x28]
blx r1
ldmia sp!, {r3, pc}
arm_func_end func_ov18_021646e8
.global func_ov18_021646fc
arm_func_start func_ov18_021646fc
func_ov18_021646fc: ; 0x021646fc
stmdb sp!, {r4, lr}
ldr r1, _02164730 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x74
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_02164734
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021646fc
_02164730: .word data_027e0f84
.global func_ov18_02164734
arm_func_start func_ov18_02164734
func_ov18_02164734: ; 0x02164734
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _021647c4 ; =data_ov00_020e2748
ldr r0, _021647c8 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r0, _021647cc ; =data_ov00_020e2e3c
str r2, [r4, #0x48]
str r0, [r4, #0x38]
str r2, [r4, #0x58]
str r2, [r4, #0x4c]
str r2, [r4, #0x50]
ldr r0, _021647d0 ; =data_ov18_0216ce00
str r2, [r4, #0x54]
str r0, [r4]
mov r0, #0x1000
str r0, [r4, #0x60]
ldr r0, _021647d4 ; =data_027e0f68
str r2, [r4, #0x64]
ldr r0, [r0]
mov r1, #0xab
bl func_ov00_0208ccdc
mov r2, #0
mov r1, r0
mov r3, r2
add r0, r4, #0x68
blx func_ov00_020bd618
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02164734
_021647c4: .word data_ov00_020e2748
_021647c8: .word data_ov00_020e2f04
_021647cc: .word data_ov00_020e2e3c
_021647d0: .word data_ov18_0216ce00
_021647d4: .word data_027e0f68
.global func_ov18_021647d8
arm_func_start func_ov18_021647d8
func_ov18_021647d8: ; 0x021647d8
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x68
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_021647d8
.global func_ov18_02164800
arm_func_start func_ov18_02164800
func_ov18_02164800: ; 0x02164800
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x68
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02164800
.global func_ov18_02164830
arm_func_start func_ov18_02164830
func_ov18_02164830: ; 0x02164830
mov r0, #0x61
bx lr
arm_func_end func_ov18_02164830
.global func_ov18_02164838
arm_func_start func_ov18_02164838
func_ov18_02164838: ; 0x02164838
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x1c
mov r4, r0
ldr r1, [r4, #4]
mov r2, #0
orr r1, r1, #0x200
str r1, [r4, #4]
mov r1, #1
strb r1, [r4, #0x12]
ldr r1, [r4, #0x18]
bic r2, r2, #0x1f
str r1, [sp, #8]
ldr r1, [r4, #0x1c]
orr ip, r2, #5
str r1, [sp, #0xc]
ldr r3, [r4, #0x20]
ldr r1, _0216491c ; =0x00001333
mov r2, #0x800
str ip, [sp, #4]
str r3, [sp, #0x10]
str r2, [sp, #0x14]
str r1, [sp, #0x18]
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x10]
add r1, sp, #8
blx ip
mov r1, #0
strb r1, [r4, #0x3c]
ldrh r0, [r4, #0x26]
cmp r0, #1
beq _021648dc
mov r0, r4
bl func_ov00_0208b9e4
cmp r0, #0
beq _021648fc
_021648dc:
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
add sp, sp, #0x1c
ldmia sp!, {r3, r4, pc}
_021648fc:
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
add sp, sp, #0x1c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_02164838
_0216491c: .word 0x00001333
.global func_ov18_02164920
arm_func_start func_ov18_02164920
func_ov18_02164920: ; 0x02164920
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldrne r0, [r4, #8]
cmpne r0, #0
ldmeqia sp!, {r4, pc}
cmp r0, #1
beq _02164954
cmp r0, #2
ldmia sp!, {r4, pc}
_02164954:
ldr r2, _0216499c ; =0x00000266
add r0, r4, #0x60
mov r1, #0x1000
bl func_0202b0f4
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #0x64]
add r0, r0, #1
str r0, [r4, #0x64]
cmp r0, #0xa
ldmloia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02164920
_0216499c: .word 0x00000266
.global func_ov18_021649a0
arm_func_start func_ov18_021649a0
func_ov18_021649a0: ; 0x021649a0
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x2c
mov r5, r0
mov r4, r2
str r1, [r5, #8]
cmp r1, #0
beq _021649d0
cmp r1, #1
beq _021649f8
cmp r1, #2
beq _02164a5c
b _02164b10
_021649d0:
mov r1, #0
str r1, [r5, #0x60]
strb r1, [r5, #0x3c]
ldr r3, [r5, #4]
mov r2, r1
orr r3, r3, #0x200
bic r3, r3, #8
str r3, [r5, #4]
bl func_ov00_0208ba08
b _02164b10
_021649f8:
ldr r0, [r5, #4]
ldr r3, _02164b1c ; =0x00000b33
bic r0, r0, #0x200
orr r0, r0, #8
str r0, [r5, #4]
mov r0, #0
str r0, [r5, #0x60]
str r0, [r5, #0x64]
ldr r0, [r5, #0x18]
add r2, r3, #0x800
str r0, [sp, #0x18]
ldr r1, [r5, #0x1c]
add r0, r5, #0x38
str r1, [sp, #0x1c]
ldr r4, [r5, #0x20]
add r1, sp, #0x18
str r4, [sp, #0x20]
str r3, [sp, #0x24]
str r2, [sp, #0x28]
ldr r2, [r0]
ldr r2, [r2, #0x1c]
blx r2
mov r0, #1
strb r0, [r5, #0x3c]
b _02164b10
_02164a5c:
mov r0, #0x1000
str r0, [r5, #0x60]
ldr r0, [r5, #4]
mov r2, #0xcd
bic r0, r0, #0x200
str r0, [r5, #4]
mov r0, #1
strb r0, [r5, #0x3c]
ldr r0, [r5, #4]
rsb r1, r2, #0x1400
orr r0, r0, #0xc
str r0, [r5, #4]
ldrh ip, [r5, #0x24]
ldr lr, [r5, #0x44]
ldr r3, [r5, #0x18]
add r0, r5, #0x38
str r3, [sp, #4]
ldr r3, [r5, #0x1c]
bic lr, lr, #0x3f0000
str r3, [sp, #8]
ldr r3, [r5, #0x20]
and ip, ip, #0xff
str r1, [sp, #0x14]
orr ip, lr, ip, lsl #16
str r3, [sp, #0xc]
str r2, [sp, #0x10]
ldr r2, [r0]
add r1, sp, #4
ldr r2, [r2, #0x1c]
str ip, [sp]
blx r2
ldr r3, [sp]
mov r0, r5
mov r1, #0
mov r2, #1
str r3, [r5, #0x44]
bl func_ov00_0208ba08
cmp r4, #0
bne _02164b10
ldrb r0, [r5, #0x36]
cmp r0, #0
beq _02164b10
ldr r0, _02164b20 ; =data_027e0ffc
mov r1, #0x1e
bl func_ov00_020ce8e4
_02164b10:
mov r0, #1
add sp, sp, #0x2c
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_021649a0
_02164b1c: .word 0x00000b33
_02164b20: .word data_027e0ffc
.global func_ov18_02164b24
arm_func_start func_ov18_02164b24
func_ov18_02164b24: ; 0x02164b24
stmdb sp!, {r3, lr}
cmp r1, #1
beq _02164b3c
cmp r1, #2
cmpne r1, #3
b _02164b6c
_02164b3c:
ldr r1, [r0, #8]
cmp r1, #0
bne _02164b64
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
mov r0, #0
ldmia sp!, {r3, pc}
_02164b64:
mvn r0, #0
ldmia sp!, {r3, pc}
_02164b6c:
mvn r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov18_02164b24
.global func_ov18_02164b74
arm_func_start func_ov18_02164b74
func_ov18_02164b74: ; 0x02164b74
stmdb sp!, {lr}
sub sp, sp, #0xc
mov r3, r0
ldr r1, [r3, #0x60]
mov r0, #0x1000
str r0, [sp, #4]
add r0, r3, #0x68
str r1, [sp]
str r1, [sp, #8]
ldr ip, [r0]
ldr r2, _02164bb8 ; =data_027e0194
ldr ip, [ip, #0x10]
add r1, sp, #0
add r3, r3, #0x18
blx ip
add sp, sp, #0xc
ldmia sp!, {pc}
.align 2, 0
arm_func_end func_ov18_02164b74
_02164bb8: .word data_027e0194
.global func_ov18_02164bbc
arm_func_start func_ov18_02164bbc
func_ov18_02164bbc: ; 0x02164bbc
stmdb sp!, {r3, lr}
ldr r1, _02164be8 ; =data_027e0fe0
ldr r0, _02164bec ; =0x00000488
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov18_021653bc
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164bbc
_02164be8: .word data_027e0fe0
_02164bec: .word 0x00000488
.global func_ov18_02164bf0
arm_func_start func_ov18_02164bf0
func_ov18_02164bf0: ; 0x02164bf0
stmdb sp!, {r3, lr}
ldr r0, _02164c30 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164c28
ldr r0, _02164c30 ; =data_027e0f74
mov r1, #0x30
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02164c28:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164bf0
_02164c30: .word data_027e0f74
.global func_ov18_02164c34
arm_func_start func_ov18_02164c34
func_ov18_02164c34: ; 0x02164c34
stmdb sp!, {r3, lr}
ldr r0, _02164c74 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164c6c
ldr r0, _02164c74 ; =data_027e0f74
mov r1, #0x95
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02164c6c:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164c34
_02164c74: .word data_027e0f74
.global func_ov18_02164c78
arm_func_start func_ov18_02164c78
func_ov18_02164c78: ; 0x02164c78
stmdb sp!, {r3, lr}
ldr r0, _02164cb8 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164cb0
ldr r0, _02164cb8 ; =data_027e0f74
mov r1, #0x96
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02164cb0:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164c78
_02164cb8: .word data_027e0f74
.global func_ov18_02164cbc
arm_func_start func_ov18_02164cbc
func_ov18_02164cbc: ; 0x02164cbc
stmdb sp!, {r3, lr}
ldr r0, _02164cfc ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164cf4
ldr r0, _02164cfc ; =data_027e0f74
mov r1, #0x97
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02164cf4:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164cbc
_02164cfc: .word data_027e0f74
.global func_ov18_02164d00
arm_func_start func_ov18_02164d00
func_ov18_02164d00: ; 0x02164d00
stmdb sp!, {r3, lr}
ldr r0, _02164d40 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164d38
ldr r0, _02164d40 ; =data_027e0f74
mov r1, #0x98
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02164d38:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164d00
_02164d40: .word data_027e0f74
.global func_ov18_02164d44
arm_func_start func_ov18_02164d44
func_ov18_02164d44: ; 0x02164d44
stmdb sp!, {r3, lr}
ldr r0, _02164d84 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164d7c
ldr r0, _02164d84 ; =data_027e0f74
mov r1, #0x94
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02164d7c:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164d44
_02164d84: .word data_027e0f74
.global func_ov18_02164d88
arm_func_start func_ov18_02164d88
func_ov18_02164d88: ; 0x02164d88
stmdb sp!, {r3, lr}
ldr r0, _02164dc8 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164dc0
ldr r0, _02164dc8 ; =data_027e0f74
mov r1, #0x52
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02164dc0:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164d88
_02164dc8: .word data_027e0f74
.global func_ov18_02164dcc
arm_func_start func_ov18_02164dcc
func_ov18_02164dcc: ; 0x02164dcc
stmdb sp!, {r3, lr}
ldr r0, _02164e20 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164e18
ldr r0, _02164e20 ; =data_027e0f74
mov r1, #0x2c
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164e18
ldr r0, _02164e24 ; =data_027e0dbc
mov r1, #0
blx func_ov03_020f3dbc
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02164e18:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164dcc
_02164e20: .word data_027e0f74
_02164e24: .word data_027e0dbc
.global func_ov18_02164e28
arm_func_start func_ov18_02164e28
func_ov18_02164e28: ; 0x02164e28
stmdb sp!, {r3, lr}
ldr r0, _02164e7c ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164e74
ldr r0, _02164e7c ; =data_027e0f74
mov r1, #0x58
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164e74
ldr r0, _02164e80 ; =data_027e0dbc
mov r1, #1
blx func_ov03_020f3dbc
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02164e74:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164e28
_02164e7c: .word data_027e0f74
_02164e80: .word data_027e0dbc
.global func_ov18_02164e84
arm_func_start func_ov18_02164e84
func_ov18_02164e84: ; 0x02164e84
stmdb sp!, {r3, lr}
ldr r0, _02164ed8 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164ed0
ldr r0, _02164ed8 ; =data_027e0f74
mov r1, #0x7d
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164ed0
ldr r0, _02164edc ; =data_027e0dbc
mov r1, #2
blx func_ov03_020f3dbc
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02164ed0:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164e84
_02164ed8: .word data_027e0f74
_02164edc: .word data_027e0dbc
.global func_ov18_02164ee0
arm_func_start func_ov18_02164ee0
func_ov18_02164ee0: ; 0x02164ee0
stmdb sp!, {r3, lr}
ldr r0, _02164f4c ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164f44
ldr r0, _02164f4c ; =data_027e0f74
mov r1, #0x7e
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164f44
ldr r0, _02164f4c ; =data_027e0f74
mov r1, #0xb9
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164f44
ldr r0, _02164f50 ; =data_027e0dbc
mov r1, #3
blx func_ov03_020f3dbc
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02164f44:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164ee0
_02164f4c: .word data_027e0f74
_02164f50: .word data_027e0dbc
.global func_ov18_02164f54
arm_func_start func_ov18_02164f54
func_ov18_02164f54: ; 0x02164f54
stmdb sp!, {r3, lr}
ldr r0, _02164fa8 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164fa0
ldr r0, _02164fa8 ; =data_027e0f74
mov r1, #0x7f
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164fa0
ldr r0, _02164fac ; =data_027e0dbc
mov r1, #4
blx func_ov03_020f3dbc
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02164fa0:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164f54
_02164fa8: .word data_027e0f74
_02164fac: .word data_027e0dbc
.global func_ov18_02164fb0
arm_func_start func_ov18_02164fb0
func_ov18_02164fb0: ; 0x02164fb0
stmdb sp!, {r3, lr}
ldr r0, _02165004 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164ffc
ldr r0, _02165004 ; =data_027e0f74
mov r1, #0x99
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02164ffc
ldr r0, _02165008 ; =data_027e0dbc
mov r1, #5
blx func_ov03_020f3dbc
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02164ffc:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02164fb0
_02165004: .word data_027e0f74
_02165008: .word data_027e0dbc
.global func_ov18_0216500c
arm_func_start func_ov18_0216500c
func_ov18_0216500c: ; 0x0216500c
stmdb sp!, {r3, lr}
ldr r0, _0216504c ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02165044
ldr r0, _0216504c ; =data_027e0f74
mov r1, #0x37
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02165044:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216500c
_0216504c: .word data_027e0f74
.global func_ov18_02165050
arm_func_start func_ov18_02165050
func_ov18_02165050: ; 0x02165050
stmdb sp!, {r3, lr}
ldr r0, _021650a4 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _0216509c
ldr r0, _021650a4 ; =data_027e0f74
mov r1, #0x9c
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _0216509c
ldr r0, _021650a8 ; =data_027e0dbc
mov r1, #6
blx func_ov03_020f3dbc
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_0216509c:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02165050
_021650a4: .word data_027e0f74
_021650a8: .word data_027e0dbc
.global func_ov18_021650ac
arm_func_start func_ov18_021650ac
func_ov18_021650ac: ; 0x021650ac
stmdb sp!, {r3, lr}
ldr r0, _021650ec ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _021650e4
ldr r0, _021650ec ; =data_027e0f74
ldr r1, _021650f0 ; =0x00000123
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_021650e4:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_021650ac
_021650ec: .word data_027e0f74
_021650f0: .word 0x00000123
.global func_ov18_021650f4
arm_func_start func_ov18_021650f4
func_ov18_021650f4: ; 0x021650f4
stmdb sp!, {r3, lr}
ldr r0, _02165134 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _0216512c
ldr r0, _02165134 ; =data_027e0f74
ldr r1, _02165138 ; =0x0000012a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_0216512c:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_021650f4
_02165134: .word data_027e0f74
_02165138: .word 0x0000012a
.global func_ov18_0216513c
arm_func_start func_ov18_0216513c
func_ov18_0216513c: ; 0x0216513c
stmdb sp!, {r3, lr}
ldr r0, _0216517c ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02165174
ldr r0, _0216517c ; =data_027e0f74
ldr r1, _02165180 ; =0x0000012b
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02165174:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216513c
_0216517c: .word data_027e0f74
_02165180: .word 0x0000012b
.global func_ov18_02165184
arm_func_start func_ov18_02165184
func_ov18_02165184: ; 0x02165184
stmdb sp!, {r3, lr}
ldr r0, _021651c4 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _021651bc
ldr r0, _021651c4 ; =data_027e0f74
mov r1, #0x12c
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_021651bc:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02165184
_021651c4: .word data_027e0f74
.global func_ov18_021651c8
arm_func_start func_ov18_021651c8
func_ov18_021651c8: ; 0x021651c8
stmdb sp!, {r3, lr}
ldr r0, _02165208 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02165200
ldr r0, _02165208 ; =data_027e0f74
ldr r1, _0216520c ; =0x0000012d
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02165200:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_021651c8
_02165208: .word data_027e0f74
_0216520c: .word 0x0000012d
.global func_ov18_02165210
arm_func_start func_ov18_02165210
func_ov18_02165210: ; 0x02165210
stmdb sp!, {r3, lr}
ldr r0, _02165250 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02165248
ldr r0, _02165250 ; =data_027e0f74
mov r1, #0x1f
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_02165248:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02165210
_02165250: .word data_027e0f74
.global func_ov18_02165254
arm_func_start func_ov18_02165254
func_ov18_02165254: ; 0x02165254
stmdb sp!, {r3, lr}
ldr r0, _02165294 ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _0216528c
ldr r0, _02165294 ; =data_027e0f74
mov r1, #0x82
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_0216528c:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02165254
_02165294: .word data_027e0f74
.global func_ov18_02165298
arm_func_start func_ov18_02165298
func_ov18_02165298: ; 0x02165298
stmdb sp!, {r3, lr}
ldr r0, _021652d8 ; =data_027e0f74
mov r1, #0x37
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _021652d0
ldr r0, _021652d8 ; =data_027e0f74
ldr r1, _021652dc ; =0x0000017b
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
moveq r0, #1
ldmeqia sp!, {r3, pc}
_021652d0:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02165298
_021652d8: .word data_027e0f74
_021652dc: .word 0x0000017b
.global func_ov18_021652e0
arm_func_start func_ov18_021652e0
func_ov18_021652e0: ; 0x021652e0
stmdb sp!, {r4, r5, r6, r7, r8, lr}
ldr r6, _0216533c ; =data_ov18_0216ce8c
ldr r7, _02165340 ; =data_ov18_0216cee8
ldr r5, _02165344 ; =data_027e0f74
ldr r4, _02165348 ; =0x00000187
mov r8, #0
_021652f8:
ldr r1, [r7, r8, lsl #2]
cmp r1, r4
beq _02165314
ldr r0, [r5]
bl func_ov00_02097760
cmp r0, #0
bne _02165328
_02165314:
ldr r0, [r6, r8, lsl #2]
blx r0
cmp r0, #0
movne r0, r8
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
_02165328:
add r8, r8, #1
cmp r8, #0x17
blt _021652f8
mvn r0, #0
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov18_021652e0
_0216533c: .word data_ov18_0216ce8c
_02165340: .word data_ov18_0216cee8
_02165344: .word data_027e0f74
_02165348: .word 0x00000187
.global func_ov18_0216534c
arm_func_start func_ov18_0216534c
func_ov18_0216534c: ; 0x0216534c
stmdb sp!, {r4, r5, r6, r7, r8, lr}
ldr r6, _021653ac ; =data_ov18_0216ce8c
ldr r7, _021653b0 ; =data_ov18_0216cee8
ldr r5, _021653b4 ; =data_027e0f74
ldr r4, _021653b8 ; =0x00000187
mov r8, #0
_02165364:
ldr r1, [r7, r8, lsl #2]
cmp r1, r4
beq _02165380
ldr r0, [r5]
bl func_ov00_02097760
cmp r0, #0
bne _02165398
_02165380:
ldr r0, [r6, r8, lsl #2]
blx r0
cmp r0, #0
cmpne r8, #0x12
movne r0, r8
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
_02165398:
add r8, r8, #1
cmp r8, #0x17
blt _02165364
mvn r0, #0
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov18_0216534c
_021653ac: .word data_ov18_0216ce8c
_021653b0: .word data_ov18_0216cee8
_021653b4: .word data_027e0f74
_021653b8: .word 0x00000187
.global func_ov18_021653bc
arm_func_start func_ov18_021653bc
func_ov18_021653bc: ; 0x021653bc
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02144ed8
ldr r1, _021653ec ; =data_ov18_0216cfc8
mvn r0, #0
str r1, [r4]
str r0, [r4, #0x478]
mov r1, #0
str r1, [r4, #0x47c]
mov r0, r4
strb r1, [r4, #0x482]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021653bc
_021653ec: .word data_ov18_0216cfc8
.global func_ov18_021653f0
arm_func_start func_ov18_021653f0
func_ov18_021653f0: ; 0x021653f0
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_021450a8
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_021653f0
.global func_ov18_02165404
arm_func_start func_ov18_02165404
func_ov18_02165404: ; 0x02165404
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_021450a8
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02165404
.global func_ov18_02165420
arm_func_start func_ov18_02165420
func_ov18_02165420: ; 0x02165420
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0x5c
mov r4, r0
bl func_ov14_02144a2c
cmp r0, #0
addeq sp, sp, #0x5c
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, pc}
ldr r0, _0216566c ; =data_027e0fec
ldr r0, [r0]
add r5, r0, #0x3b8
add r0, r5, #0x3800
bl func_ov00_020c4588
mov r6, r0
add r0, r5, #0x3800
bl func_ov00_020c45b0
mov r2, r0
ldr r3, _02165670 ; =data_ov18_0216b55c
mov r1, r6
add r0, r4, #0x1d8
bl func_ov00_020c5c64
ldr r0, [r4, #0x428]
ldr r2, [r4, #0x1dc]
cmp r0, #0
moveq r0, #1
movne r0, #0
add r1, r4, r0, lsl #7
str r2, [r1, #0x290]
ldr r0, _02165674 ; =data_ov18_0216b548
mov r2, #0
str r0, [r4, #0x408]
str r2, [r4, #0x7c]
mov r0, #0x1000
str r0, [r4, #0x80]
str r2, [r4, #0x84]
mov r0, #0x800
str r0, [r4, #0x88]
ldr r1, _02165678 ; =data_ov18_0216b53c
mov r0, r4
strb r2, [r4, #0x482]
bl func_ov14_021451f0
add r0, r4, #0x1d8
mov r1, #0
bl func_ov14_02145f0c
ldr r0, _0216567c ; =data_027e0f74
mov r1, #0x9a
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
ldreqh r0, [r4, #0x20]
cmpeq r0, #1
bne _02165578
mov r1, #0
add r0, sp, #0x30
str r1, [r4, #0x12c]
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x30
str r1, [sp, #0x4c]
str r1, [sp, #0x50]
bl func_ov00_020c3348
ldrsh r2, [r4, #0x78]
mov r1, #1
add r0, r1, #0x40000
strh r1, [sp, #0x30]
strh r2, [sp, #0x44]
str r0, [sp, #0x40]
ldr r0, [r4, #8]
mov r1, #0
str r0, [sp, #0x4c]
ldr r2, [r4, #0xc]
ldr r0, _02165680 ; =data_027e0fe8
str r2, [sp, #0x50]
str r1, [sp]
ldr r0, [r0]
ldr r1, _02165684 ; =0x5053544d
add r3, sp, #0x30
add r2, r4, #0x48
bl func_ov00_020c4048
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xb4]
blx r1
mov r0, r4
bl func_ov18_021658fc
b _02165660
_02165578:
ldrh r0, [r4, #0x20]
cmp r0, #2
bne _0216558c
bl func_ov18_0216534c
b _02165590
_0216558c:
bl func_ov18_021652e0
_02165590:
str r0, [r4, #0x478]
ldr r0, [r4, #0x478]
cmp r0, #0
blt _02165648
add r0, r4, #0x1d8
mov r1, #3
bl func_ov14_02145e48
mov r1, #0
add r0, sp, #4
str r1, [r4, #0x12c]
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #4
str r1, [sp, #0x20]
str r1, [sp, #0x24]
bl func_ov00_020c3348
ldrsh r1, [r4, #0x78]
mov r0, #0
ldr r2, _02165688 ; =data_ov18_0216cf44
strh r1, [sp, #0x18]
strh r0, [sp, #4]
ldr r3, [r4, #0x478]
ldr r1, _0216568c ; =data_ov18_0216cf46
mov r5, r3, lsl #0x2
ldrh r3, [r2, r5]
ldrh r2, [r1, r5]
ldr r5, _02165680 ; =data_027e0fe8
ldr r1, _02165684 ; =0x5053544d
add r2, r2, r3, lsl #16
str r2, [sp, #0x14]
ldr r3, [r4, #8]
add r2, r4, #0x48
str r3, [sp, #0x20]
ldr ip, [r4, #0xc]
add r3, sp, #4
str ip, [sp, #0x24]
str r0, [sp]
ldr r0, [r5]
bl func_ov00_020c4048
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xb4]
blx r1
mov r0, r4
bl func_ov18_021659ec
b _02165660
_02165648:
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xb4]
blx r1
mov r0, r4
bl func_ov18_021658fc
_02165660:
mov r0, #1
add sp, sp, #0x5c
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_02165420
_0216566c: .word data_027e0fec
_02165670: .word data_ov18_0216b55c
_02165674: .word data_ov18_0216b548
_02165678: .word data_ov18_0216b53c
_0216567c: .word data_027e0f74
_02165680: .word data_027e0fe8
_02165684: .word 0x5053544d
_02165688: .word data_ov18_0216cf44
_0216568c: .word data_ov18_0216cf46
.global func_ov18_02165690
arm_func_start func_ov18_02165690
func_ov18_02165690: ; 0x02165690
stmdb sp!, {r4, lr}
mov r4, r0
mov r0, #5
str r0, [r4, #0x12c]
ldr r2, [r4, #0x478]
cmp r2, #0
blt _021656d0
ldr r1, _021656dc ; =data_ov18_0216cee8
rsb r0, r0, #0x18c
ldr r1, [r1, r2, lsl #2]
cmp r1, r0
beq _021656d0
ldr r0, _021656e0 ; =data_027e0f74
mov r2, #1
ldr r0, [r0]
bl func_ov00_0209779c
_021656d0:
mov r0, r4
bl func_ov18_021658fc
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02165690
_021656dc: .word data_ov18_0216cee8
_021656e0: .word data_027e0f74
.global func_ov18_021656e4
arm_func_start func_ov18_021656e4
func_ov18_021656e4: ; 0x021656e4
ldr ip, _021656ec ; =func_ov18_02165948
bx ip
.align 2, 0
arm_func_end func_ov18_021656e4
_021656ec: .word func_ov18_02165948
.global func_ov18_021656f0
arm_func_start func_ov18_021656f0
func_ov18_021656f0: ; 0x021656f0
mov r0, #1
bx lr
arm_func_end func_ov18_021656f0
.global func_ov18_021656f8
arm_func_start func_ov18_021656f8
func_ov18_021656f8: ; 0x021656f8
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x400
ldrsh r2, [r0, #0x84]
cmp r2, #0
movgt r0, #0
ldmgtia sp!, {r4, pc}
mov r2, #0xa
strh r2, [r0, #0x84]
ldr r0, [r1, #0x10]
cmp r0, #0
bne _0216573c
bl func_ov18_0216584c
mov r1, #0xf6
mov r2, #0
bl func_ov00_020bf008
b _0216582c
_0216573c:
cmp r0, #5
bne _0216577c
ldr r0, [r1, #0x14]
cmp r0, #0
beq _0216582c
ldr r2, [r0, #4]
ldr r1, _02165834 ; =0x424d524e
cmp r2, r1
bne _0216582c
bl func_ov14_021231d4
ldr r0, _02165838 ; =data_027e0ffc
ldr r1, _0216583c ; =0x0000019d
add r2, r4, #0x48
mov r3, #0
bl func_ov00_020ceacc
b _0216582c
_0216577c:
cmp r0, #1
bne _021657bc
ldr r0, [r1, #0x14]
cmp r0, #0
beq _0216582c
ldr r2, [r0, #4]
ldr r1, _02165840 ; =0x5342454d
cmp r2, r1
bne _0216582c
bl func_ov14_02146634
ldr r0, _02165838 ; =data_027e0ffc
add r2, r4, #0x48
mov r1, #0xf6
mov r3, #0
bl func_ov00_020ceacc
b _0216582c
_021657bc:
cmp r0, #7
bne _021657f0
ldr r0, [r1, #0x14]
cmp r0, #0
beq _0216582c
ldr r2, [r0, #4]
ldr r1, _02165844 ; =0x41525257
cmp r2, r1
bne _0216582c
ldrsh r1, [r4, #0x78]
mov r2, #1
bl func_ov14_02120ac4
b _0216582c
_021657f0:
cmp r0, #8
bne _0216582c
ldr r0, [r1, #0x14]
cmp r0, #0
beq _0216582c
ldr r2, [r0, #4]
ldr r1, _02165848 ; =0x524f5045
cmp r2, r1
bne _0216582c
bl func_ov14_02123904
ldr r0, _02165838 ; =data_027e0ffc
add r2, r4, #0x48
mov r1, #0xf6
mov r3, #0
bl func_ov00_020ceacc
_0216582c:
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021656f8
_02165834: .word 0x424d524e
_02165838: .word data_027e0ffc
_0216583c: .word 0x0000019d
_02165840: .word 0x5342454d
_02165844: .word 0x41525257
_02165848: .word 0x524f5045
.global func_ov18_0216584c
arm_func_start func_ov18_0216584c
func_ov18_0216584c: ; 0x0216584c
ldr ip, _02165858 ; =func_01fffcec
mov r0, #0
bx ip
.align 2, 0
arm_func_end func_ov18_0216584c
_02165858: .word func_01fffcec
.global func_ov18_0216585c
arm_func_start func_ov18_0216585c
func_ov18_0216585c: ; 0x0216585c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x400
ldrsh r1, [r0, #0x84]
sub r1, r1, #1
strh r1, [r0, #0x84]
ldrsh r1, [r0, #0x84]
cmp r1, #0
movle r1, #0
strleh r1, [r0, #0x84]
mov r1, #0
mov r0, r4
mov r2, r1
bl func_ov00_020c243c
cmp r0, #0
ldmneia sp!, {r4, pc}
mov r0, r4
mov r1, #0x1a
bl func_ov00_020c1fc8
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216585c
.global func_ov18_021658ac
arm_func_start func_ov18_021658ac
func_ov18_021658ac: ; 0x021658ac
ldr ip, _021658b4 ; =func_ov18_021658b8
bx ip
.align 2, 0
arm_func_end func_ov18_021658ac
_021658b4: .word func_ov18_021658b8
.global func_ov18_021658b8
arm_func_start func_ov18_021658b8
func_ov18_021658b8: ; 0x021658b8
mov r2, #3
ldr r1, _021658d8 ; =data_ov18_0216ce8c
str r2, [r0, #0x130]
ldr r2, [r1, #0x114]
ldr r1, [r1, #0x118]
str r2, [r0, #0x470]
str r1, [r0, #0x474]
bx lr
.align 2, 0
arm_func_end func_ov18_021658b8
_021658d8: .word data_ov18_0216ce8c
.global func_ov18_021658dc
arm_func_start func_ov18_021658dc
func_ov18_021658dc: ; 0x021658dc
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x1d8
mov r1, #0
bl func_ov14_02145f0c
mov r0, r4
bl func_ov18_021658fc
ldmia sp!, {r4, pc}
arm_func_end func_ov18_021658dc
.global func_ov18_021658fc
arm_func_start func_ov18_021658fc
func_ov18_021658fc: ; 0x021658fc
mov r1, #0
ldr r2, _02165924 ; =data_ov18_0216ce8c
str r1, [r0, #0x130]
ldr r3, [r2, #0x11c]
ldr r2, [r2, #0x120]
ldr ip, _02165928 ; =func_ov14_02145f0c
str r3, [r0, #0x470]
str r2, [r0, #0x474]
add r0, r0, #0x1d8
bx ip
.align 2, 0
arm_func_end func_ov18_021658fc
_02165924: .word data_ov18_0216ce8c
_02165928: .word func_ov14_02145f0c
.global func_ov18_0216592c
arm_func_start func_ov18_0216592c
func_ov18_0216592c: ; 0x0216592c
ldr ip, _02165944 ; =func_0202b0f4
add r0, r0, #0x7c
add r0, r0, #0x400
mov r1, #0
mov r2, #0xcd
bx ip
.align 2, 0
arm_func_end func_ov18_0216592c
_02165944: .word func_0202b0f4
.global func_ov18_02165948
arm_func_start func_ov18_02165948
func_ov18_02165948: ; 0x02165948
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x130]
cmp r0, #1
beq _02165980
ldr r1, _021659ac ; =data_027e0fc8
mvn r0, #0
ldr r1, [r1]
ldr r1, [r1, #0x3c]
cmp r1, r0
beq _02165980
bl func_020385b8
add r1, r4, #0x48
bl func_ov00_020ab934
_02165980:
add r0, r4, #0x1d8
mov r1, #2
bl func_ov14_02145f0c
mov r1, #1
ldr r0, _021659b0 ; =data_ov18_0216ce8c
str r1, [r4, #0x130]
ldr r1, [r0, #0x124]
ldr r0, [r0, #0x128]
str r1, [r4, #0x470]
str r0, [r4, #0x474]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02165948
_021659ac: .word data_027e0fc8
_021659b0: .word data_ov18_0216ce8c
.global func_ov18_021659b4
arm_func_start func_ov18_021659b4
func_ov18_021659b4: ; 0x021659b4
stmdb sp!, {r4, lr}
ldr r1, [r0]
mov r4, r0
ldr r1, [r1, #0xbc]
blx r1
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xb4]
blx r1
mov r0, r4
bl func_ov18_021658fc
ldmia sp!, {r4, pc}
arm_func_end func_ov18_021659b4
.global func_ov18_021659ec
arm_func_start func_ov18_021659ec
func_ov18_021659ec: ; 0x021659ec
mov r1, #0x800
str r1, [r0, #0x47c]
add r1, r0, #0x400
mov r2, #0
strh r2, [r1, #0x80]
mov r2, #2
ldr r1, _02165a20 ; =data_ov18_0216ce8c
str r2, [r0, #0x130]
ldr r2, [r1, #0x12c]
ldr r1, [r1, #0x130]
str r2, [r0, #0x470]
str r1, [r0, #0x474]
bx lr
.align 2, 0
arm_func_end func_ov18_021659ec
_02165a20: .word data_ov18_0216ce8c
.global func_ov18_02165a24
arm_func_start func_ov18_02165a24
func_ov18_02165a24: ; 0x02165a24
stmdb sp!, {r4, lr}
mov r4, r0
add r3, r4, #0x400
ldrh r1, [r3, #0x80]
add r0, r4, #0x7c
add r0, r0, #0x400
add ip, r1, #0xc00
mov r1, #0
mov r2, #0x29
strh ip, [r3, #0x80]
bl func_0202b0f4
cmp r0, #0
ldmeqia sp!, {r4, pc}
add r0, r4, #0x400
mov r1, #0
strh r1, [r0, #0x80]
mov r0, #0x800
str r0, [r4, #0x47c]
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02165a24
.global func_ov18_02165a70
arm_func_start func_ov18_02165a70
func_ov18_02165a70: ; 0x02165a70
stmdb sp!, {r4, lr}
mov r4, r0
ldr r1, [r4, #0x154]
cmp r1, #0
ldmneia sp!, {r4, pc}
bl func_ov18_0216585c
add r0, r4, #0x100
mov r1, #0x1000
strh r1, [r0, #0x1e]
ldr r0, [r4, #0x474]
tst r0, #1
add r0, r4, r0, asr #1
ldreq r1, [r4, #0x470]
beq _02165ab4
ldr r2, [r0]
ldr r1, [r4, #0x470]
ldr r1, [r2, r1]
_02165ab4:
blx r1
add r0, r4, #0x1d8
bl func_ov14_02145cac
mov r0, r4
bl func_ov14_02145178
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02165a70
.global func_ov18_02165acc
arm_func_start func_ov18_02165acc
func_ov18_02165acc: ; 0x02165acc
stmdb sp!, {r4, lr}
sub sp, sp, #0x18
mov r4, r0
cmp r1, #0
ldrneb r0, [r4, #0xa5]
ldreqb r0, [r4, #0xa4]
cmp r0, #0
addeq sp, sp, #0x18
ldmeqia sp!, {r4, pc}
add r0, r4, #0x1d8
bl func_ov00_020c5f1c
ldr r3, _02165b34 ; =0x000004cd
mov r0, #0
str r3, [sp]
str r0, [sp, #4]
mov r0, #0x1f
str r0, [sp, #8]
mov r1, #1
str r1, [sp, #0xc]
str r1, [sp, #0x10]
ldr r0, _02165b38 ; =data_ov00_020e9370
add r2, r4, #0x48
str r1, [sp, #0x14]
bl func_ov05_02102c2c
add sp, sp, #0x18
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02165acc
_02165b34: .word 0x000004cd
_02165b38: .word data_ov00_020e9370
.global func_ov18_02165b3c
arm_func_start func_ov18_02165b3c
func_ov18_02165b3c: ; 0x02165b3c
stmdb sp!, {r3, lr}
ldr r1, _02165b68 ; =data_027e0fe0
mov r0, #0x540
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov18_02165b6c
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02165b3c
_02165b68: .word data_027e0fe0
.global func_ov18_02165b6c
arm_func_start func_ov18_02165b6c
func_ov18_02165b6c: ; 0x02165b6c
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
bl func_ov14_02144ed8
ldr r1, _02165bb0 ; =data_ov18_0216d0cc
add r0, r4, #0x12c
ldr ip, _02165bb4 ; =func_ov00_020b7d74
str r1, [r4]
ldr r3, _02165bb8 ; =func_ov18_02165c2c
add r0, r0, #0x400
mov r1, #2
mov r2, #4
str ip, [sp]
bl func_0204f614
mov r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_02165b6c
_02165bb0: .word data_ov18_0216d0cc
_02165bb4: .word func_ov00_020b7d74
_02165bb8: .word func_ov18_02165c2c
.global func_ov18_02165bbc
arm_func_start func_ov18_02165bbc
func_ov18_02165bbc: ; 0x02165bbc
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x12c
ldr r3, _02165bec ; =func_ov00_020b7d74
add r0, r0, #0x400
mov r1, #2
mov r2, #4
bl func_0204f754
mov r0, r4
bl func_ov14_021450a8
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02165bbc
_02165bec: .word func_ov00_020b7d74
.global func_ov18_02165bf0
arm_func_start func_ov18_02165bf0
func_ov18_02165bf0: ; 0x02165bf0
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x12c
ldr r3, _02165c28 ; =func_ov00_020b7d74
add r0, r0, #0x400
mov r1, #2
mov r2, #4
bl func_0204f754
mov r0, r4
bl func_ov14_021450a8
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02165bf0
_02165c28: .word func_ov00_020b7d74
.global func_ov18_02165c2c
arm_func_start func_ov18_02165c2c
func_ov18_02165c2c: ; 0x02165c2c
mov r1, #0
str r1, [r0]
bx lr
arm_func_end func_ov18_02165c2c
.global func_ov18_02165c38
arm_func_start func_ov18_02165c38
func_ov18_02165c38: ; 0x02165c38
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x60
mov r4, r1
ldr r5, [r4, #4]
ldr r1, _02165ce8 ; =data_ov18_0216b5e4
ldr r2, [r5, #4]
mov r6, r0
add r0, r2, #0x40
bl func_0201e388
ldr r1, [r4, #8]
tst r1, #0x10
ldrneb r1, [r4, #0xae]
mvneq r1, #0
cmp r1, r0
addne sp, sp, #0x60
ldmneia sp!, {r4, r5, r6, pc}
ldrb r0, [r5, #0x25]
cmp r0, #2
bne _02165c98
mov r0, #3
strb r0, [r4, #0x92]
add sp, sp, #0x60
strb r0, [r5, #0x25]
ldmia sp!, {r4, r5, r6, pc}
_02165c98:
cmp r0, #3
addne sp, sp, #0x60
ldmneia sp!, {r4, r5, r6, pc}
add r0, sp, #0
mov r1, #0
bl func_0201b1bc
bl func_02018450
mov r1, r0
add r0, sp, #0
add r2, sp, #0x30
bl func_01ff8e84
add r0, sp, #0x54
add r1, r6, #0x520
mov r2, #0xc
bl func_02007908
mov r0, #2
strb r0, [r4, #0x92]
strb r0, [r5, #0x25]
add sp, sp, #0x60
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_02165c38
_02165ce8: .word data_ov18_0216b5e4
.global func_ov18_02165cec
arm_func_start func_ov18_02165cec
func_ov18_02165cec: ; 0x02165cec
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_021450f0
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
ldr r1, _02165dd8 ; =0x00000112
add r0, r4, #0x1d8
mov r2, r1
bl func_ov14_02145a74
mov r1, #0
ldr r0, _02165ddc ; =data_ov18_0216b5a4
strb r1, [r4, #0x285]
str r0, [r4, #0x408]
ldr r0, _02165de0 ; =func_ov18_02165c38
str r4, [r4, #0x27c]
str r0, [r4, #0x280]
ldr r2, [r4, #0x48]
add r0, r4, #0x1d8
str r2, [r4, #0x520]
ldr r2, [r4, #0x4c]
str r2, [r4, #0x524]
ldr r2, [r4, #0x50]
str r2, [r4, #0x528]
bl func_ov14_02145e48
mov r1, #1
strb r1, [r4, #0x51d]
mov r2, #0
str r2, [r4, #0x470]
strb r2, [r4, #0x474]
strb r2, [r4, #0x475]
add r0, r4, #0x400
strh r2, [r0, #0x76]
add r0, r4, #0x500
strh r2, [r0, #0x18]
strh r2, [r0, #0x1a]
strb r2, [r4, #0x51c]
str r2, [r4, #0x510]
str r2, [r4, #0x514]
strb r2, [r4, #0x51e]
ldrh r0, [r4, #0x20]
cmp r0, #1
bne _02165db4
ldr r2, [r4, #0x18]
mov r0, r4
add r2, r2, #0x33
add r2, r2, #0x1300
str r2, [r4, #0x4c]
bl func_ov18_02166b50
b _02165dc0
_02165db4:
mov r0, r4
mov r1, r2
bl func_ov18_02166b50
_02165dc0:
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xb4]
blx r1
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02165cec
_02165dd8: .word 0x00000112
_02165ddc: .word data_ov18_0216b5a4
_02165de0: .word func_ov18_02165c38
.global func_ov18_02165de4
arm_func_start func_ov18_02165de4
func_ov18_02165de4: ; 0x02165de4
ldr ip, _02165dec ; =func_ov00_020c27e4
bx ip
.align 2, 0
arm_func_end func_ov18_02165de4
_02165dec: .word func_ov00_020c27e4
.global func_ov18_02165df0
arm_func_start func_ov18_02165df0
func_ov18_02165df0: ; 0x02165df0
ldrb r1, [r0, #0x11a]
cmp r1, #0
ldrne r0, [r0, #0x30]
ldreq r0, _02165e04 ; =0x00040002
bx lr
.align 2, 0
arm_func_end func_ov18_02165df0
_02165e04: .word 0x00040002
.global func_ov18_02165e08
arm_func_start func_ov18_02165e08
func_ov18_02165e08: ; 0x02165e08
stmdb sp!, {r3, lr}
ldr r1, [r0, #0x130]
cmp r1, #0
cmpne r1, #6
cmpne r1, #5
cmpne r1, #3
ldmeqia sp!, {r3, pc}
mov r1, #2
bl func_ov18_02166b50
ldmia sp!, {r3, pc}
arm_func_end func_ov18_02165e08
.global func_ov18_02165e30
arm_func_start func_ov18_02165e30
func_ov18_02165e30: ; 0x02165e30
stmdb sp!, {r4, lr}
ldr r4, [r0, #0x30]
ldr r0, _02165f44 ; =0x00040004
cmp r4, r0
moveq r0, #0x39
ldmeqia sp!, {r4, pc}
add r1, r0, #1
cmp r4, r1
moveq r0, #0x3a
ldmeqia sp!, {r4, pc}
add r1, r0, #2
cmp r4, r1
moveq r0, #0x3b
ldmeqia sp!, {r4, pc}
add r1, r0, #5
cmp r4, r1
moveq r0, #0x41
ldmeqia sp!, {r4, pc}
add r1, r0, #6
cmp r4, r1
moveq r0, #0x7e
ldmeqia sp!, {r4, pc}
add r1, r0, #7
cmp r4, r1
moveq r0, #0x2e
ldmeqia sp!, {r4, pc}
add r1, r0, #8
cmp r4, r1
moveq r0, #0x2e
ldmeqia sp!, {r4, pc}
add r1, r0, #9
cmp r4, r1
moveq r0, #0x2f
ldmeqia sp!, {r4, pc}
add r1, r0, #0xa
cmp r4, r1
moveq r0, #0x2d
ldmeqia sp!, {r4, pc}
add r1, r0, #0xb
cmp r4, r1
moveq r0, #0x7e
ldmeqia sp!, {r4, pc}
add r1, r0, #0xc
cmp r4, r1
moveq r0, #0x7e
ldmeqia sp!, {r4, pc}
add r1, r0, #0xd
cmp r4, r1
moveq r0, #0x7e
ldmeqia sp!, {r4, pc}
add r1, r0, #0x11
cmp r4, r1
moveq r0, #0x7e
ldmeqia sp!, {r4, pc}
add r0, r0, #0x12
cmp r4, r0
bne _02165f30
ldr r0, _02165f48 ; =data_027e0f74
mov r1, #0x8c
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #0x7e
ldmneia sp!, {r4, pc}
_02165f30:
ldr r0, _02165f4c ; =0x00040017
cmp r4, r0
moveq r0, #0xa
movne r0, #0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02165e30
_02165f44: .word 0x00040004
_02165f48: .word data_027e0f74
_02165f4c: .word 0x00040017
.global func_ov18_02165f50
arm_func_start func_ov18_02165f50
func_ov18_02165f50: ; 0x02165f50
stmdb sp!, {r4, lr}
mov r4, r0
cmp r1, #1
bne _02166088
add r0, r4, #0x500
ldrsb r0, [r0, #0x1c]
cmp r0, #0
beq _02165f84
cmp r0, #1
beq _02165fcc
cmp r0, #2
beq _02166054
b _02166088
_02165f84:
add r0, r4, #0x1d8
mov r1, #5
bl func_ov14_02145f0c
ldr r0, [r4, #0x1e8]
add r0, r0, #0xc
bl func_0202e670
mov r0, #0xa4
str r0, [r4, #0x41c]
mov r0, #0
strb r0, [r4, #0x42f]
add r0, r4, #0x400
mov r1, #0x15
strh r1, [r0, #0x76]
add r0, r4, #0x500
ldrsb r0, [r0, #0x1c]
add r0, r0, #1
strb r0, [r4, #0x51c]
b _02166088
_02165fcc:
add r0, r4, #0x400
ldrsh r0, [r0, #0x76]
cmp r0, #1
bne _02165ff0
ldr r0, _02166090 ; =data_027e0ffc
ldr r1, _02166094 ; =0x00000467
add r2, r4, #0x48
mov r3, #0
bl func_ov00_020ceacc
_02165ff0:
add r0, r4, #0x1d8
bl func_ov14_0214610c
cmp r0, #0
beq _02166088
ldr r0, [r4, #0x428]
add r0, r4, r0, lsl #2
ldr r0, [r0, #0x420]
cmp r0, #5
bne _02166088
ldr r0, [r4, #0x1e8]
ldr r0, [r0, #0x10]
cmp r0, #0
bgt _02166088
mov r2, #1
add r0, r4, #0x1d8
mov r1, #2
strb r2, [r4, #0x51d]
bl func_ov14_02145f0c
mov r0, #0
strb r0, [r4, #0x286]
add r0, r4, #0x500
ldrsb r0, [r0, #0x1c]
add r0, r0, #1
strb r0, [r4, #0x51c]
b _02166088
_02166054:
add r0, r4, #0x1d8
bl func_ov14_0214610c
cmp r0, #0
beq _02166088
ldr r0, [r4, #0x428]
add r0, r4, r0, lsl #2
ldr r0, [r0, #0x420]
cmp r0, #2
bne _02166088
mov r0, #0
strb r0, [r4, #0x51c]
mov r0, #1
ldmia sp!, {r4, pc}
_02166088:
mov r0, #0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02165f50
_02166090: .word data_027e0ffc
_02166094: .word 0x00000467
.global func_ov18_02166098
arm_func_start func_ov18_02166098
func_ov18_02166098: ; 0x02166098
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x28
mov r5, r0
cmp r1, #7
addls pc, pc, r1, lsl #2
b _0216664c
_021660b0: ; jump table
b _0216664c ; case 0
b _021660d0 ; case 1
b _0216615c ; case 2
b _021662d0 ; case 3
b _0216649c ; case 4
b _021665c8 ; case 5
b _0216660c ; case 6
b _02166638 ; case 7
_021660d0:
add r0, r5, #0x500
ldrsb r0, [r0, #0x1c]
cmp r0, #0
beq _021660ec
cmp r0, #1
beq _0216611c
b _0216664c
_021660ec:
add r1, r0, #1
ldr r0, _02166658 ; =data_027e0f74
strb r1, [r5, #0x51c]
mov r1, #0
ldr r0, [r0]
mov r3, r1
mov r2, #1
bl func_ov00_02097ff4
ldr r0, _0216665c ; =data_027e103c
ldr r0, [r0]
bl func_ov05_02104114
b _0216664c
_0216611c:
ldr r0, _0216665c ; =data_027e103c
ldr r0, [r0]
ldrsh r0, [r0, #0x20]
cmp r0, #0x90
bne _0216664c
ldr r0, _02166658 ; =data_027e0f74
mov r1, #1
ldr r0, [r0]
mov r2, r1
mov r3, #0
bl func_ov00_02097ff4
mov r0, #0
strb r0, [r5, #0x51c]
add sp, sp, #0x28
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
_0216615c:
add r1, r5, #0x500
ldrsb r1, [r1, #0x1c]
cmp r1, #0
beq _02166180
cmp r1, #1
beq _02166218
cmp r1, #2
beq _02166298
b _0216664c
_02166180:
ldr lr, [r5, #0x48]
ldr r1, [r5, #0x50]
ldr r4, [r5, #0x4c]
mov r2, #0xd000
str r2, [sp]
mov r2, #0x5800
str r2, [sp, #4]
add r2, r4, #0x9a
add ip, r2, #0x900
ldr r3, _02166660 ; =data_ov18_0216d604
str r1, [sp, #0x24]
ldrsh r4, [r3, #0x26]
ldrsh r2, [r5, #0x12]
add r3, sp, #0x1c
str lr, [sp, #0x1c]
add r2, r4, r2
mov r2, r2, lsl #0x10
mov r2, r2, asr #0x10
str ip, [sp, #0x20]
str r2, [sp, #8]
mov r1, #0x800
str r1, [sp, #0xc]
ldmia r3, {r1, r2, r3}
bl func_ov18_021669a0
cmp r0, #0
beq _0216664c
add r0, r5, #0x500
ldrsb r2, [r0, #0x1c]
add r0, r5, #0x1d8
mov r1, #5
add r2, r2, #1
strb r2, [r5, #0x51c]
bl func_ov14_02145f0c
mov r0, #0xa4
str r0, [r5, #0x41c]
mov r0, #0
strb r0, [r5, #0x42f]
b _0216664c
_02166218:
ldr r0, [r5, #0x1e8]
mov r1, #0x14000
add r0, r0, #0xc
bl func_0202e310
cmp r0, #0
beq _02166244
ldr r0, _02166664 ; =data_027e0ffc
ldr r1, _02166668 ; =0x00000466
add r2, r5, #0x48
mov r3, #0
bl func_ov00_020ceacc
_02166244:
ldr r0, [r5, #0x428]
add r0, r5, r0, lsl #2
ldr r0, [r0, #0x420]
cmp r0, #5
bne _0216664c
add r0, r5, #0x1d8
bl func_ov14_0214610c
cmp r0, #0
beq _0216664c
add r0, r5, #0x1d8
mov r1, #4
bl func_ov14_02145f0c
mov r0, #0
strb r0, [r5, #0x51d]
mov r0, #1
strb r0, [r5, #0x286]
add r0, r5, #0x500
ldrsb r0, [r0, #0x1c]
add r0, r0, #1
strb r0, [r5, #0x51c]
b _0216664c
_02166298:
ldr r0, [r5, #0x428]
add r0, r5, r0, lsl #2
ldr r0, [r0, #0x420]
cmp r0, #4
bne _0216664c
add r0, r5, #0x1d8
bl func_ov14_0214610c
cmp r0, #0
beq _0216664c
mov r0, #0
strb r0, [r5, #0x51c]
add sp, sp, #0x28
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
_021662d0:
add r1, r5, #0x500
ldrsb r1, [r1, #0x1c]
cmp r1, #0
beq _021662f4
cmp r1, #1
beq _02166388
cmp r1, #2
beq _02166484
b _0216664c
_021662f4:
bl func_ov18_02165e30
mov r4, r0
cmp r4, #0x7e
beq _02166354
ldr r1, _0216666c ; =data_027e0f94
ldr r0, _02166670 ; =data_027e0f64
ldr r3, [r1]
ldr r2, [r1, #4]
str r3, [sp, #0x10]
str r2, [sp, #0x14]
ldr r1, [r1, #8]
ldr r0, [r0]
str r1, [sp, #0x18]
ldr r6, [r0, #4]
mov r0, #0xa
bl func_ov00_02087d84
mov ip, #0
mov r3, r0
str ip, [sp]
add r1, sp, #0x10
mov r0, r6
mov r2, #2
str ip, [sp, #4]
bl func_ov00_02089318
_02166354:
mov r1, #1
ldr r0, _02166674 ; =data_027e0fc8
strb r1, [r5, #0x51e]
ldr r0, [r0]
mov r1, r4
bl func_ov00_020bce48
cmp r0, #0
beq _0216664c
add r0, r5, #0x500
ldrsb r0, [r0, #0x1c]
add r0, r0, #1
strb r0, [r5, #0x51c]
b _0216664c
_02166388:
ldr r0, _02166674 ; =data_027e0fc8
ldr r0, [r0]
bl func_ov00_020bcec8
cmp r0, #0
bne _0216664c
add r0, r5, #0x1d8
mov r1, #2
bl func_ov14_02145f0c
ldr r0, _02166658 ; =data_027e0f74
mov r1, #1
ldr r0, [r0]
mov r2, r1
mov r3, #0
bl func_ov00_02097ff4
mov r0, #5
str r0, [r5, #0x47c]
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02166670 ; =data_027e0f64
add r2, r5, #0x78
ldr r0, [r0]
add r3, r2, #0x400
ldr r0, [r0, #4]
add r1, r5, #0x4e0
mov r2, #2
bl func_ov00_02089318
ldr r0, _02166670 ; =data_027e0f64
mov r2, #0
ldr r0, [r0]
mov r1, #4
ldr r0, [r0, #4]
mov r3, r2
bl func_ov00_020872e8
ldr r0, [r5, #0x4c]
ldr r1, [r5, #0x48]
add r0, r0, #0x9a
str r1, [sp, #0x1c]
add r0, r0, #0x900
ldr r1, [r5, #0x50]
str r0, [sp, #0x20]
mov r0, #0xd000
str r0, [sp]
mov r0, #0x5800
str r0, [sp, #4]
ldr r0, _02166660 ; =data_ov18_0216d604
str r1, [sp, #0x24]
ldrsh r3, [r0, #0x26]
ldrsh r1, [r5, #0x12]
mov r0, r5
add r2, sp, #0x1c
add r1, r3, r1
mov r1, r1, lsl #0x10
mov r1, r1, asr #0x10
str r1, [sp, #8]
ldmia r2, {r1, r2, r3}
bl func_ov18_02166810
mov r0, #0
strb r0, [r5, #0x51c]
strb r0, [r5, #0x51e]
add sp, sp, #0x28
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
_02166484:
mov r0, #0
strb r0, [r5, #0x51c]
strb r0, [r5, #0x51e]
add sp, sp, #0x28
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
_0216649c:
add r0, r5, #0x500
ldrsb r0, [r0, #0x1c]
cmp r0, #0
beq _021664c0
cmp r0, #1
beq _02166508
cmp r0, #2
beq _02166590
b _0216664c
_021664c0:
add r0, r5, #0x1d8
mov r1, #5
bl func_ov14_02145f0c
ldr r0, [r5, #0x1e8]
add r0, r0, #0xc
bl func_0202e670
mov r0, #0xa4
str r0, [r5, #0x41c]
mov r0, #0
strb r0, [r5, #0x42f]
add r0, r5, #0x400
mov r1, #0x15
strh r1, [r0, #0x76]
add r0, r5, #0x500
ldrsb r0, [r0, #0x1c]
add r0, r0, #1
strb r0, [r5, #0x51c]
b _0216664c
_02166508:
add r0, r5, #0x400
ldrsh r0, [r0, #0x76]
cmp r0, #1
bne _0216652c
ldr r0, _02166664 ; =data_027e0ffc
ldr r1, _02166678 ; =0x00000467
add r2, r5, #0x48
mov r3, #0
bl func_ov00_020ceacc
_0216652c:
add r0, r5, #0x1d8
bl func_ov14_0214610c
cmp r0, #0
beq _0216664c
ldr r0, [r5, #0x428]
add r0, r5, r0, lsl #2
ldr r0, [r0, #0x420]
cmp r0, #5
bne _0216664c
ldr r0, [r5, #0x1e8]
ldr r0, [r0, #0x10]
cmp r0, #0
bgt _0216664c
mov r2, #1
add r0, r5, #0x1d8
mov r1, #2
strb r2, [r5, #0x51d]
bl func_ov14_02145f0c
mov r0, #0
strb r0, [r5, #0x286]
add r0, r5, #0x500
ldrsb r0, [r0, #0x1c]
add r0, r0, #1
strb r0, [r5, #0x51c]
b _0216664c
_02166590:
add r0, r5, #0x1d8
bl func_ov14_0214610c
cmp r0, #0
beq _0216664c
ldr r0, [r5, #0x428]
add r0, r5, r0, lsl #2
ldr r0, [r0, #0x420]
cmp r0, #2
bne _0216664c
mov r0, #0
strb r0, [r5, #0x51c]
add sp, sp, #0x28
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
_021665c8:
ldr r0, [r5, #0x130]
cmp r0, #3
addne sp, sp, #0x28
movne r0, #1
ldmneia sp!, {r4, r5, r6, pc}
ldrb r0, [r5, #0x475]
cmp r0, #0
bne _0216664c
mov r0, #1
strb r0, [r5, #0x11a]
ldrb r0, [r5, #0x475]
add r0, r0, #1
strb r0, [r5, #0x475]
ldrb r0, [r5, #0x474]
add r0, r0, #1
strb r0, [r5, #0x474]
b _0216664c
_0216660c:
ldr r1, [r5, #0x130]
cmp r1, #4
beq _02166620
mov r1, #4
bl func_ov18_02166b50
_02166620:
ldrb r0, [r5, #0x474]
cmp r0, #5
bne _0216664c
add sp, sp, #0x28
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
_02166638:
ldrb r0, [r5, #0x475]
cmp r0, #3
addeq sp, sp, #0x28
moveq r0, #1
ldmeqia sp!, {r4, r5, r6, pc}
_0216664c:
mov r0, #0
add sp, sp, #0x28
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_02166098
_02166658: .word data_027e0f74
_0216665c: .word data_027e103c
_02166660: .word data_ov18_0216d604
_02166664: .word data_027e0ffc
_02166668: .word 0x00000466
_0216666c: .word data_027e0f94
_02166670: .word data_027e0f64
_02166674: .word data_027e0fc8
_02166678: .word 0x00000467
.global func_ov18_0216667c
arm_func_start func_ov18_0216667c
func_ov18_0216667c: ; 0x0216667c
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x14
ldr r2, _021666fc ; =data_027e0f64
mov r4, r0
ldr r1, [r2]
add r0, r4, #0x78
ldr r1, [r1, #4]
mov r3, #5
ldr r5, [r1, #0x270]
ldr lr, [r1, #0x274]
ldr ip, [r1, #0x26c]
add r1, r0, #0x400
str ip, [r4, #0x4e0]
str r5, [r4, #0x4e4]
str lr, [r4, #0x4e8]
str r3, [r4, #0x47c]
ldr r0, [r2]
ldr r0, [r0, #4]
bl func_ov00_02087d34
mov r1, #0
str r1, [sp]
add r2, r4, #0x78
ldr r0, _021666fc ; =data_027e0f64
str r1, [sp, #4]
ldr r0, [r0]
add r1, r4, #0x4e0
ldr r0, [r0, #4]
add r3, r2, #0x400
mov r2, #3
bl func_ov00_02089318
add sp, sp, #0x14
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0216667c
_021666fc: .word data_027e0f64
.global func_ov18_02166700
arm_func_start func_ov18_02166700
func_ov18_02166700: ; 0x02166700
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x24
mov r5, r0
add r0, r5, #0xf8
mov r4, r1
add r0, r0, #0x400
add r1, r5, #0x4e0
bl func_01ff9ec0
add r1, r5, #0xf8
str r0, [r5, #0x490]
add r0, r1, #0x400
add r2, sp, #0x18
add r1, r5, #0x4e0
bl func_01ff9bf8
ldr r0, [sp, #0x18]
ldr r1, [sp, #0x20]
bl func_01ffa0f4
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x10
str r0, [r5, #0x48c]
add r0, sp, #0x18
add r3, sp, #0xc
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r1, #0
mov r0, r3
str r1, [sp, #0x10]
bl func_01ff9cec
mov r1, r0
ldr r0, [sp, #0x1c]
bl func_01ffa0f4
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x10
cmp r4, #0
str r0, [r5, #0x488]
mov r1, #0
bne _021667c8
mov r0, #0x1e
str r0, [sp]
str r1, [sp, #4]
str r1, [sp, #8]
ldr r0, _0216680c ; =data_027e0f64
add r1, r5, #0x78
ldr r0, [r0]
add r3, r1, #0x400
ldr r0, [r0, #4]
add r2, r5, #0x4e0
mov r1, #3
bl func_ov00_020888e8
b _021667f0
_021667c8:
str r1, [sp]
str r1, [sp, #4]
ldr r0, _0216680c ; =data_027e0f64
add r2, r5, #0x78
ldr r0, [r0]
add r3, r2, #0x400
ldr r0, [r0, #4]
add r1, r5, #0x4e0
mov r2, #2
bl func_ov00_02089318
_021667f0:
ldr r0, _0216680c ; =data_027e0f64
mov r1, #0
ldr r0, [r0]
ldr r0, [r0, #4]
bl func_ov00_02087d98
add sp, sp, #0x24
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_02166700
_0216680c: .word data_027e0f64
.global func_ov18_02166810
arm_func_start func_ov18_02166810
func_ov18_02166810: ; 0x02166810
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x18
ldrh r2, [sp, #0x40]
ldr r1, [sp, #0x2c]
ldr ip, _021668d0 ; =data_02050f54
mov r2, r2, asr #0x4
mov r4, r2, lsl #0x1
mov r2, r4, lsl #0x1
ldrsh r3, [ip, r2]
ldr r6, [sp, #0x38]
add r2, r4, #1
smull r4, lr, r3, r6
adds r5, r4, #0x800
mov r2, r2, lsl #0x1
ldrsh r2, [ip, r2]
ldr r4, [sp, #0x30]
str r1, [r0, #0x4e0]
ldr r3, [sp, #0x34]
str r4, [r0, #0x4e4]
str r3, [r0, #0x4e8]
str r1, [r0, #0x4f8]
str r4, [r0, #0x4fc]
str r3, [r0, #0x500]
smull r3, r1, r2, r6
adc r4, lr, #0
adds r2, r3, #0x800
mov r3, r5, lsr #0xc
ldr r5, [r0, #0x4f8]
orr r3, r3, r4, lsl #20
add r3, r5, r3
str r3, [r0, #0x4f8]
adc r1, r1, #0
mov r2, r2, lsr #0xc
ldr r3, [r0, #0x500]
orr r2, r2, r1, lsl #20
add r1, r3, r2
str r1, [r0, #0x500]
ldr r3, [r0, #0x4fc]
ldr r2, [sp, #0x3c]
mov r1, #1
add r2, r3, r2
str r2, [r0, #0x4fc]
bl func_ov18_02166700
add sp, sp, #0x18
ldmia sp!, {r4, r5, r6, lr}
add sp, sp, #0x10
bx lr
.align 2, 0
arm_func_end func_ov18_02166810
_021668d0: .word data_02050f54
.global func_ov18_021668d4
arm_func_start func_ov18_021668d4
func_ov18_021668d4: ; 0x021668d4
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {lr}
sub sp, sp, #0xc
ldr r2, [sp, #0x14]
ldr r1, [sp, #0x18]
str r2, [r0, #0x4e0]
ldr r2, [sp, #0x1c]
str r1, [r0, #0x4e4]
mov r1, #1
str r2, [r0, #0x4e8]
bl func_ov18_02166700
add sp, sp, #0xc
ldmia sp!, {lr}
add sp, sp, #0x10
bx lr
arm_func_end func_ov18_021668d4
.global func_ov18_02166910
arm_func_start func_ov18_02166910
func_ov18_02166910: ; 0x02166910
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x1c
ldr r2, [sp, #0x2c]
mov r4, r0
ldr r1, [sp, #0x30]
str r2, [r4, #0x4ec]
ldr r0, [sp, #0x34]
str r1, [r4, #0x4f0]
str r0, [r4, #0x4f4]
add r0, r4, #0x4e0
add r3, sp, #0x10
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
add r1, r4, #0xec
ldr ip, [sp, #0x3c]
mov r0, r3
ldr r2, [sp, #0x38]
add r1, r1, #0x400
mov r3, #0
str ip, [sp]
bl func_0202b4e4
ldr ip, [sp, #0x3c]
ldr r2, [sp, #0x38]
add r1, sp, #0x10
add r0, r4, #0x4e0
mov r3, #0
str ip, [sp]
bl func_0202b4e4
mov r0, r4
mov r1, #0
bl func_ov18_02166700
add sp, sp, #0x1c
ldmia sp!, {r3, r4, lr}
add sp, sp, #0x10
bx lr
arm_func_end func_ov18_02166910
.global func_ov18_021669a0
arm_func_start func_ov18_021669a0
func_ov18_021669a0: ; 0x021669a0
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r4, r5, r6, r7, r8, lr}
sub sp, sp, #0x18
ldrh r1, [sp, #0x48]
mov r4, r0
ldr r0, [sp, #0x34]
mov r1, r1, asr #0x4
mov r5, r1, lsl #0x1
ldr r3, _02166b4c ; =data_02050f54
mov r1, r5, lsl #0x1
ldrsh r2, [r3, r1]
add r1, r5, #1
ldr lr, [sp, #0x40]
mov r1, r1, lsl #0x1
smull ip, r5, r2, lr
ldrsh r1, [r3, r1]
ldr r3, [sp, #0x38]
str r0, [r4, #0x4ec]
ldr r2, [sp, #0x3c]
str r3, [r4, #0x4f0]
str r2, [r4, #0x4f4]
str r0, [r4, #0x504]
str r3, [r4, #0x508]
str r2, [r4, #0x50c]
add r0, r4, #0xec
smull r3, r2, r1, lr
adds ip, ip, #0x800
adc r1, r5, #0
mov r5, ip, lsr #0xc
ldr ip, [r4, #0x504]
orr r5, r5, r1, lsl #20
add r1, ip, r5
adds r3, r3, #0x800
str r1, [r4, #0x504]
adc r1, r2, #0
mov r2, r3, lsr #0xc
ldr r3, [r4, #0x50c]
orr r2, r2, r1, lsl #20
add r1, r3, r2
str r1, [r4, #0x50c]
ldr r2, [r4, #0x508]
ldr r1, [sp, #0x44]
add r0, r0, #0x400
add r2, r2, r1
add r1, r4, #0x4e0
str r2, [r4, #0x508]
ldr r8, [sp, #0x4c]
bl func_01ff9ec0
add r2, r4, #0xf8
add r1, r4, #0x104
mov r6, r0
add r0, r1, #0x400
add r1, r2, #0x400
bl func_01ff9ec0
mov r7, r0
cmp r6, #0
mov r1, r8
mov r5, r8
cmple r7, #0
ble _02166adc
cmp r6, r7
ble _02166abc
mov r0, r6
mov r1, r8
bl func_01ff98e0
mov r1, r0
mov r0, r7
bl func_01ff98e0
mov r5, r0
mov r1, r8
b _02166adc
_02166abc:
mov r0, r7
mov r1, r8
bl func_01ff98e0
mov r1, r0
mov r0, r6
bl func_01ff98e0
mov r1, r0
mov r5, r8
_02166adc:
add r0, r4, #0x114
add r0, r0, #0x400
mov r2, #0xcd
bl func_0202b0f4
mov r1, r5
add r0, r4, #0x510
mov r2, #0xcd
bl func_0202b0f4
add r1, r4, #0xec
ldr r2, [r4, #0x514]
add r0, r4, #0x4e0
add r1, r1, #0x400
bl func_0202b2e8
add r0, r4, #0xf8
add r1, r4, #0x104
ldr r2, [r4, #0x510]
add r0, r0, #0x400
add r1, r1, #0x400
bl func_0202b2e8
mov r5, r0
mov r0, r4
mov r1, #0
bl func_ov18_02166700
mov r0, r5
add sp, sp, #0x18
ldmia sp!, {r4, r5, r6, r7, r8, lr}
add sp, sp, #0x10
bx lr
.align 2, 0
arm_func_end func_ov18_021669a0
_02166b4c: .word data_02050f54
.global func_ov18_02166b50
arm_func_start func_ov18_02166b50
func_ov18_02166b50: ; 0x02166b50
stmdb sp!, {r3, lr}
ldr r2, [r0, #0x130]
cmp r2, r1
strne r2, [r0, #0x134]
strne r1, [r0, #0x130]
ldmeqia sp!, {r3, pc}
mov r1, #0
strb r1, [r0, #0x474]
ldr r1, [r0, #0x130]
cmp r1, #6
addls pc, pc, r1, lsl #2
ldmia sp!, {r3, pc}
_02166b80: ; jump table
b _02166b9c ; case 0
b _02166ba4 ; case 1
b _02166bac ; case 2
b _02166bb4 ; case 3
b _02166bbc ; case 4
b _02166bcc ; case 5
b _02166bc4 ; case 6
_02166b9c:
bl func_ov18_02166e58
ldmia sp!, {r3, pc}
_02166ba4:
bl func_ov18_02167624
ldmia sp!, {r3, pc}
_02166bac:
bl func_ov18_02167800
ldmia sp!, {r3, pc}
_02166bb4:
bl func_ov18_02166f20
ldmia sp!, {r3, pc}
_02166bbc:
bl func_ov18_02167818
ldmia sp!, {r3, pc}
_02166bc4:
bl func_ov18_021681f4
ldmia sp!, {r3, pc}
_02166bcc:
bl func_ov18_02167e04
ldmia sp!, {r3, pc}
arm_func_end func_ov18_02166b50
.global func_ov18_02166bd4
arm_func_start func_ov18_02166bd4
func_ov18_02166bd4: ; 0x02166bd4
mov r0, #1
bx lr
arm_func_end func_ov18_02166bd4
.global func_ov18_02166bdc
arm_func_start func_ov18_02166bdc
func_ov18_02166bdc: ; 0x02166bdc
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #8
ldr r1, _02166e30 ; =data_027e0d38
mov r4, r0
ldr r0, [r1]
add r0, r0, #0xc
bl func_ov00_020a5e9c
cmp r0, #0xe
beq _02166c0c
cmp r0, #0xf
beq _02166c38
b _02166c60
_02166c0c:
mov r1, #0x7d00
ldr r0, _02166e34 ; =data_ov18_0216d604
rsb r1, r1, #0
strh r1, [r0, #0x20]
ldr r2, _02166e38 ; =0x00001b58
strh r1, [r0, #0x22]
strh r2, [r0, #0x24]
ldr r1, _02166e3c ; =0x000084cd
strh r2, [r0, #0x26]
str r1, [r0, #0x28]
b _02166c90
_02166c38:
ldr r2, _02166e40 ; =0x000032c8
ldr r0, _02166e34 ; =data_ov18_0216d604
ldr r1, _02166e44 ; =0xffffdecc
strh r2, [r0, #0x20]
strh r1, [r0, #0x24]
strh r2, [r0, #0x22]
strh r1, [r0, #0x26]
mov r1, #0x7800
str r1, [r0, #0x28]
b _02166c90
_02166c60:
ldr r2, _02166e48 ; =0xffffb8e4
ldr r0, _02166e34 ; =data_ov18_0216d604
mov r1, #0x4000
strh r2, [r0, #0x20]
rsb r1, r1, #0
strh r1, [r0, #0x22]
mov r2, #0x2000
ldr r1, _02166e4c ; =0x00001555
strh r2, [r0, #0x24]
strh r1, [r0, #0x26]
mov r1, #0x7800
str r1, [r0, #0x28]
_02166c90:
ldr r0, [r4, #0x130]
cmp r0, #0
beq _02166da4
ldr r0, [r4, #0x428]
add r0, r4, r0, lsl #2
ldr r0, [r0, #0x420]
cmp r0, #3
ldr r0, [r4, #0x52c]
bne _02166d70
cmp r0, #0
bne _02166ce8
add r0, r4, #0x520
str r0, [sp]
mov r3, #2
ldr r2, _02166e50 ; =0x0000015d
add r1, r4, #0x12c
ldr r0, _02166e54 ; =data_027e0e58
str r3, [sp, #4]
ldr r0, [r0]
add r1, r1, #0x400
add r3, r2, #1
bl func_ov00_0207c2e8
_02166ce8:
ldr r0, [r4, #0x52c]
cmp r0, #0
beq _02166da4
add r0, r4, #0x12c
add r1, r4, #0x134
add r2, r0, #0x400
add r1, r1, #0x400
cmp r2, r1
beq _02166da4
_02166d0c:
ldr r0, [r2]
cmp r0, #0
beq _02166d60
ldr r3, [r0, #0x20]
ldr r5, [r4, #0x520]
ldr r3, [r3]
ldr r3, [r3, #4]
add r3, r5, r3
str r3, [r0, #0x28]
ldr r3, [r0, #0x20]
ldr r5, [r4, #0x524]
ldr r3, [r3]
ldr r3, [r3, #8]
add r3, r5, r3
str r3, [r0, #0x2c]
ldr r3, [r0, #0x20]
ldr r5, [r4, #0x528]
ldr r3, [r3]
ldr r3, [r3, #0xc]
add r3, r5, r3
str r3, [r0, #0x30]
_02166d60:
add r2, r2, #4
cmp r2, r1
bne _02166d0c
b _02166da4
_02166d70:
cmp r0, #0
beq _02166da4
add r0, r4, #0x12c
add r1, r4, #0x134
add r6, r0, #0x400
add r5, r1, #0x400
cmp r6, r5
beq _02166da4
_02166d90:
mov r0, r6
bl func_ov00_020b7e6c
add r6, r6, #4
cmp r6, r5
bne _02166d90
_02166da4:
ldr r0, [r4, #0x130]
cmp r0, #6
addls pc, pc, r0, lsl #2
b _02166e20
_02166db4: ; jump table
b _02166dd0 ; case 0
b _02166ddc ; case 1
b _02166de8 ; case 2
b _02166df4 ; case 3
b _02166e00 ; case 4
b _02166e18 ; case 5
b _02166e0c ; case 6
_02166dd0:
mov r0, r4
bl func_ov18_02166e7c
b _02166e20
_02166ddc:
mov r0, r4
bl func_ov18_02167644
b _02166e20
_02166de8:
mov r0, r4
bl func_ov18_0216780c
b _02166e20
_02166df4:
mov r0, r4
bl func_ov18_02167064
b _02166e20
_02166e00:
mov r0, r4
bl func_ov18_02167838
b _02166e20
_02166e0c:
mov r0, r4
bl func_ov18_02168288
b _02166e20
_02166e18:
mov r0, r4
bl func_ov18_02167ec8
_02166e20:
add r0, r4, #0x1d8
bl func_ov14_02145cac
add sp, sp, #8
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_02166bdc
_02166e30: .word data_027e0d38
_02166e34: .word data_ov18_0216d604
_02166e38: .word 0x00001b58
_02166e3c: .word 0x000084cd
_02166e40: .word 0x000032c8
_02166e44: .word 0xffffdecc
_02166e48: .word 0xffffb8e4
_02166e4c: .word 0x00001555
_02166e50: .word 0x0000015d
_02166e54: .word data_027e0e58
.global func_ov18_02166e58
arm_func_start func_ov18_02166e58
func_ov18_02166e58: ; 0x02166e58
mov r1, #0x2800
str r1, [r0, #0x4c]
mov r1, #0
strb r1, [r0, #0x11a]
str r1, [r0, #0x12c]
ldr ip, _02166e78 ; =func_ov14_02145f0c
add r0, r0, #0x1d8
bx ip
.align 2, 0
arm_func_end func_ov18_02166e58
_02166e78: .word func_ov14_02145f0c
.global func_ov18_02166e7c
arm_func_start func_ov18_02166e7c
func_ov18_02166e7c: ; 0x02166e7c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c28ec
cmp r0, #0x2000
ldmgeia sp!, {r4, pc}
mov r0, r4
bl func_ov00_020c2974
ldr r1, _02166f14 ; =0x00002aab
cmp r0, r1
ldmgeia sp!, {r4, pc}
rsb r1, r1, #0
cmp r0, r1
ldmleia sp!, {r4, pc}
ldr r0, _02166f18 ; =data_027e0fc8
ldr r0, [r0]
bl func_ov00_020bd318
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, _02166f18 ; =data_027e0fc8
ldr r0, [r0]
bl func_ov00_020bd304
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
mov r1, #3
bl func_ov18_02166b50
ldr r1, [r4, #0x34]
mvn r0, #0
cmp r1, r0
ldmeqia sp!, {r4, pc}
ldr r0, _02166f1c ; =data_027e0fe4
add r1, r4, #0x34
ldr r0, [r0]
bl func_ov00_020c3674
cmp r0, #0
ldmeqia sp!, {r4, pc}
bl func_ov18_021658ac
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02166e7c
_02166f14: .word 0x00002aab
_02166f18: .word data_027e0fc8
_02166f1c: .word data_027e0fe4
.global func_ov18_02166f20
arm_func_start func_ov18_02166f20
func_ov18_02166f20: ; 0x02166f20
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0xc
mov r4, r0
mov r2, #0
strb r2, [r4, #0x474]
strb r2, [r4, #0x475]
add r0, r4, #0x1d8
mov r1, #3
strb r2, [r4, #0x1ac]
bl func_ov14_02145f0c
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xb4]
blx r1
mov r0, r4
mov r1, #1
bl func_ov00_020c1908
ldr r1, [r4, #0x18]
ldr r0, _02167054 ; =data_ov18_0216d604
add r1, r1, #0x2800
str r1, [r4, #0x4c]
ldrh r0, [r0, #0x20]
ldr r1, _02167058 ; =data_02050f54
mov r3, #0
mov r0, r0, asr #0x4
mov r2, r0, lsl #0x1
mov r0, r2, lsl #0x1
ldrsh r7, [r1, r0]
add r0, r2, #1
mov r0, r0, lsl #0x1
ldrsh r5, [r1, r0]
mov r0, #0x5000
umull sb, r8, r7, r0
mla r8, r7, r3, r8
mov r6, r7, asr #0x1f
adds r7, sb, #0x800
mla r8, r6, r0, r8
mov r1, #1
ldr sl, [r4, #0x48]
adc r6, r8, #0
mov r7, r7, lsr #0xc
orr r7, r7, r6, lsl #20
add r6, sl, r7
umull r8, r7, r5, r0
str r6, [r4, #0x48]
mla r7, r5, r3, r7
mov lr, r5, asr #0x1f
adds r5, r8, #0x800
mla r7, lr, r0, r7
ldr r6, [r4, #0x50]
adc r0, r7, #0
mov r5, r5, lsr #0xc
orr r5, r5, r0, lsl #20
add r0, r6, r5
ldr fp, _0216705c ; =data_ov18_0216d0bc
str r0, [r4, #0x50]
ldrsh r0, [fp, #4]
add ip, r4, #0x500
mov r2, r1
strh r0, [ip, #0x18]
ldr r0, _02167060 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097ff4
add r0, r4, #0x14
add r3, sp, #0
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldr r1, [sp]
ldr r0, [r4, #0x48]
ldr r2, [sp, #8]
sub r0, r1, r0
ldr r1, [r4, #0x50]
sub r1, r2, r1
bl func_01ffa0f4
strh r0, [r4, #0x78]
add sp, sp, #0xc
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_02166f20
_02167054: .word data_ov18_0216d604
_02167058: .word data_02050f54
_0216705c: .word data_ov18_0216d0bc
_02167060: .word data_027e0f74
.global func_ov18_02167064
arm_func_start func_ov18_02167064
func_ov18_02167064: ; 0x02167064
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
sub sp, sp, #0x6c
mov r6, r0
add r0, r6, #0x400
ldrsh r1, [r0, #0x76]
sub r1, r1, #1
strh r1, [r0, #0x76]
ldrsh r1, [r0, #0x76]
cmp r1, #0
moveq r1, #0
streqh r1, [r0, #0x76]
ldr r0, [r6, #0x428]
add r0, r6, r0, lsl #2
ldr r0, [r0, #0x420]
cmp r0, #3
bne _0216710c
ldrb r0, [r6, #0x474]
cmp r0, #0
beq _0216710c
ldr r0, [r6, #0x1e8]
mov r1, #0x1000
add r0, r0, #0xc
bl func_0202e310
cmp r0, #0
beq _021670e0
ldr r0, _021675fc ; =data_027e0ffc
ldr r1, _02167600 ; =0x00000464
add r2, r6, #0x48
mov r3, #0
bl func_ov00_020ceacc
b _0216710c
_021670e0:
ldr r0, [r6, #0x1e8]
mov r1, #0x8000
add r0, r0, #0xc
bl func_0202e310
cmp r0, #0
beq _0216710c
ldr r0, _021675fc ; =data_027e0ffc
ldr r1, _02167604 ; =0x00000465
add r2, r6, #0x48
mov r3, #0
bl func_ov00_020ceacc
_0216710c:
ldrb r0, [r6, #0x474]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02167354
_0216711c: ; jump table
b _02167354 ; case 0
b _0216712c ; case 1
b _021671ac ; case 2
b _02167338 ; case 3
_0216712c:
ldr r0, [r6, #0x14]
ldr r2, _02167608 ; =0x0000019a
str r0, [sp, #0x60]
ldr r0, [r6, #0x18]
add r1, sp, #0x60
str r0, [sp, #0x64]
ldr r3, [r6, #0x1c]
add r0, r0, #0x2800
str r0, [sp, #0x64]
str r3, [sp, #0x68]
add r0, r6, #0x48
bl func_0202b2e8
ldr ip, [r6, #0x50]
ldr r5, [r6, #0x48]
mov r4, #0
ldr r3, [sp, #0x60]
ldr r2, [sp, #0x68]
add r0, sp, #0x54
add r1, sp, #0x48
str r5, [sp, #0x54]
str r4, [sp, #0x58]
str ip, [sp, #0x5c]
str r3, [sp, #0x48]
str r4, [sp, #0x4c]
str r2, [sp, #0x50]
bl func_01ff9ec0
cmp r0, #0x4000
bge _02167354
ldrb r0, [r6, #0x474]
add r0, r0, #1
strb r0, [r6, #0x474]
b _02167354
_021671ac:
add r0, r6, #0x118
add r0, r0, #0x400
mov r1, #0
mov r2, #0xb6
bl func_0202b154
add r0, r6, #0x78
mov r1, #0
mov r2, #0xb6
bl func_0202b154
ldr r1, [r6, #0x14]
ldr r5, _02167608 ; =0x0000019a
str r1, [sp, #0x60]
ldr r0, [r6, #0x18]
mov r7, r5
str r0, [sp, #0x64]
ldr r0, [r6, #0x1c]
str r0, [sp, #0x68]
ldr r0, [r6, #0x48]
subs r4, r1, r0
ldr r1, [sp, #0x68]
ldr r0, [r6, #0x50]
rsbmi r4, r4, #0
subs r8, r1, r0
rsbmi r8, r8, #0
cmp r4, #0
cmple r8, #0
ble _02167258
cmp r4, r8
ldr r1, _02167608 ; =0x0000019a
ble _02167240
mov r0, r4
bl func_01ff98e0
mov r1, r0
mov r0, r8
bl func_01ff98e0
mov r7, r0
b _02167258
_02167240:
mov r0, r8
bl func_01ff98e0
mov r1, r0
mov r0, r4
bl func_01ff98e0
mov r5, r0
_02167258:
ldr r1, [sp, #0x60]
mov r4, #0
mov r2, r5
add r0, r6, #0x48
mov r5, r4
bl func_0202b0f4
cmp r0, #0
ldr r1, [sp, #0x68]
mov r2, r7
add r0, r6, #0x50
movne r4, #1
bl func_0202b0f4
cmp r0, #0
ldr r0, [r6, #0x1e8]
movne r5, #1
ldr r0, [r0, #0x14]
mov r2, #0x29
cmp r0, #0x7000
add r0, r6, #0x470
ble _021672b4
mov r1, #0xa4
bl func_0202b0f4
b _021672bc
_021672b4:
mov r1, #0
bl func_0202b0f4
_021672bc:
ldr r0, [r6, #0x18]
ldr r2, [r6, #0x470]
add r1, r0, #0x33
add r0, r6, #0x4c
add r1, r1, #0x1300
bl func_0202b0f4
cmp r0, #0
cmpne r4, #0
cmpne r5, #0
beq _02167308
ldrb r2, [r6, #0x474]
add r0, r6, #0x400
mov r1, #0xa
add r2, r2, #1
strb r2, [r6, #0x474]
ldrb r2, [r6, #0x475]
add r2, r2, #1
strb r2, [r6, #0x475]
strh r1, [r0, #0x76]
_02167308:
ldr r0, [r6, #0x1f4]
add r1, sp, #0xc
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r2, [r6, #0x1f4]
add r1, sp, #0xc
ldrsh r3, [r2, #0x78]
add r0, r6, #0x1f8
add r2, r2, #0x48
bl func_ov14_0214a92c
b _02167354
_02167338:
add r0, r6, #0x400
ldrsh r0, [r0, #0x76]
cmp r0, #0
bne _02167354
mov r0, r6
mov r1, #6
bl func_ov18_02166b50
_02167354:
ldrb r0, [r6, #0x475]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _021675f4
_02167364: ; jump table
b _02167374 ; case 0
b _021673b8 ; case 1
b _021674bc ; case 2
b _021675b8 ; case 3
_02167374:
mov r0, r6
ldr r1, [r0]
ldr r1, [r1, #0xbc]
blx r1
cmp r0, #0
addeq sp, sp, #0x6c
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
mov r0, #1
strb r0, [r6, #0x11a]
ldrb r0, [r6, #0x475]
add sp, sp, #0x6c
add r0, r0, #1
strb r0, [r6, #0x475]
ldrb r0, [r6, #0x474]
add r0, r0, #1
strb r0, [r6, #0x474]
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
_021673b8:
add r1, r0, #2
mov r0, r6
strb r1, [r6, #0x475]
bl func_ov18_0216667c
ldr ip, [r6, #0x48]
ldr r5, [r6, #0x4c]
ldr r4, [r6, #0x50]
mov r1, #0x16000
ldr r0, _0216760c ; =data_ov18_0216d604
str r1, [sp]
ldr r1, [r0, #0x28]
add r2, sp, #0x3c
str r1, [sp, #4]
ldrsh r3, [r0, #0x24]
ldrsh r1, [r6, #0x12]
mov r0, r6
str ip, [sp, #0x3c]
add r1, r3, r1
mov r1, r1, lsl #0x10
mov r1, r1, asr #0x10
str r5, [sp, #0x40]
str r4, [sp, #0x44]
str r1, [sp, #8]
ldmia r2, {r1, r2, r3}
bl func_ov18_02166810
add r0, r6, #0x14
add r3, sp, #0x30
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldrh r1, [r6, #0x12]
ldr r0, _02167610 ; =data_027e0fc8
ldr r4, _02167614 ; =data_02050f54
mov r1, r1, asr #0x4
mov r6, r1, lsl #0x1
mov r2, r6, lsl #0x1
ldrsh r5, [r4, r2]
add r2, r6, #1
mov r2, r2, lsl #0x1
ldrsh r4, [r4, r2]
mov r2, r5, asr #0x1f
mov r6, r2, lsl #0xd
mov r2, #0x800
mov r1, r3
orr r6, r6, r5, lsr #19
adds ip, r2, r5, lsl #13
adc r5, r6, #0
mov r6, ip, lsr #0xc
orr r6, r6, r5, lsl #20
ldr r3, [sp, #0x30]
ldr r5, [sp, #0x38]
add r3, r3, r6
str r3, [sp, #0x30]
mov r3, r4, asr #0x1f
mov r3, r3, lsl #0xd
orr r3, r3, r4, lsr #19
adds r4, r2, r4, lsl #13
adc r3, r3, #0
mov r4, r4, lsr #0xc
orr r4, r4, r3, lsl #20
add r3, r5, r4
ldr r0, [r0]
str r3, [sp, #0x38]
bl func_ov00_020bcf50
add sp, sp, #0x6c
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
_021674bc:
ldr ip, [r6, #0x14]
ldr r5, [r6, #0x1c]
ldr r0, [r6, #0x4c]
add r3, sp, #0x24
add r4, r0, #0x800
str ip, [r6, #0x4ec]
str r4, [r6, #0x4f0]
str r5, [r6, #0x4f4]
add r0, r6, #0x4e0
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, #0x2000
str r0, [sp]
mov r0, r3
ldr r1, [r6, #0x4ec]
ldr r2, _02167618 ; =0x00000333
mov r3, #0
str ip, [sp, #0x3c]
str r5, [sp, #0x44]
str r4, [sp, #0x40]
bl func_0202b418
mov r0, #0x2000
str r0, [sp]
ldr r1, [r6, #0x4f4]
ldr r2, _02167618 ; =0x00000333
add r0, sp, #0x2c
mov r3, #0
bl func_0202b418
mov r0, #0x1000
str r0, [sp]
ldr r1, [r6, #0x4f0]
ldr r2, _0216761c ; =0x00000666
add r0, sp, #0x28
mov r3, #0
bl func_0202b418
mov r0, #0x2000
str r0, [sp]
ldr r1, [sp, #0x24]
ldr r2, _02167618 ; =0x00000333
add r0, r6, #0x4e0
mov r3, #0
bl func_0202b418
mov r0, #0x2000
str r0, [sp]
add r0, r6, #0xe8
ldr r1, [sp, #0x2c]
ldr r2, _02167618 ; =0x00000333
add r0, r0, #0x400
mov r3, #0
bl func_0202b418
mov r0, #0x1000
str r0, [sp]
add r0, r6, #0xe4
ldr r1, [sp, #0x28]
ldr r2, _0216761c ; =0x00000666
add r0, r0, #0x400
mov r3, #0
bl func_0202b418
mov r0, r6
mov r1, #0
bl func_ov18_02166700
add sp, sp, #0x6c
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
_021675b8:
ldr r0, [r6, #0x4c]
ldr r5, [r6, #0x48]
add r3, r0, #0x800
ldr r4, [r6, #0x50]
ldr r2, _02167620 ; =0x000004cd
add r1, sp, #0x3c
str r2, [sp]
mov r2, #0x1800
mov r0, r6
str r5, [sp, #0x3c]
str r4, [sp, #0x44]
str r3, [sp, #0x40]
str r2, [sp, #4]
ldmia r1, {r1, r2, r3}
bl func_ov18_02166910
_021675f4:
add sp, sp, #0x6c
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov18_02167064
_021675fc: .word data_027e0ffc
_02167600: .word 0x00000464
_02167604: .word 0x00000465
_02167608: .word 0x0000019a
_0216760c: .word data_ov18_0216d604
_02167610: .word data_027e0fc8
_02167614: .word data_02050f54
_02167618: .word 0x00000333
_0216761c: .word 0x00000666
_02167620: .word 0x000004cd
.global func_ov18_02167624
arm_func_start func_ov18_02167624
func_ov18_02167624: ; 0x02167624
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x1d8
mov r1, #0
bl func_ov14_02145f0c
mov r0, #0
strb r0, [r4, #0x474]
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02167624
.global func_ov18_02167644
arm_func_start func_ov18_02167644
func_ov18_02167644: ; 0x02167644
stmdb sp!, {r4, lr}
sub sp, sp, #0x18
mov r4, r0
ldr r0, [r4, #0x1f4]
add r1, sp, #0
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r2, [r4, #0x1f4]
add r1, sp, #0
ldrsh r3, [r2, #0x78]
add r0, r4, #0x1f8
add r2, r2, #0x48
bl func_ov14_0214a92c
ldr r0, _021676f0 ; =data_027e0f94
add r3, sp, #0xc
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldrh r0, [r4, #0x20]
cmp r0, #1
addne sp, sp, #0x18
ldmneia sp!, {r4, pc}
mov r0, r4
bl func_ov00_020c2974
ldr r0, [sp, #0xc]
cmp r0, #0xc000
addlt sp, sp, #0x18
ldmltia sp!, {r4, pc}
mov r0, #0x8000
ldr r1, [sp, #0x14]
rsb r0, r0, #0
cmp r1, r0
addlt sp, sp, #0x18
ldmltia sp!, {r4, pc}
add r0, r0, #0x2000
cmp r1, r0
addgt sp, sp, #0x18
ldmgtia sp!, {r4, pc}
mov r0, r4
mov r1, #5
bl func_ov18_02166b50
add sp, sp, #0x18
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02167644
_021676f0: .word data_027e0f94
.global func_ov18_021676f4
arm_func_start func_ov18_021676f4
func_ov18_021676f4: ; 0x021676f4
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x24
mov r4, r0
ldr r0, [r4, #0x1f4]
add r1, sp, #0xc
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r0, [r4, #0x1f4]
add r1, sp, #0xc
ldrsh r2, [r0, #0x78]
add r0, r4, #0x1f8
bl func_ov14_0214aa0c
ldrb r2, [r4, #0x468]
mov r1, r0
cmp r2, #0
bne _02167744
ldr r2, _021677fc ; =0x00000aab
add r0, r4, #0x78
bl func_0202b154
_02167744:
add r1, sp, #0x18
add r0, r4, #0x1f8
bl func_ov14_0214aa2c
ldrb r0, [r4, #0x468]
cmp r0, #0
bne _021677c8
add r1, sp, #0x18
mov r0, r4
bl func_ov00_020c2938
add r1, r4, #0x200
ldrsh r3, [r4, #0x78]
ldrsh r2, [r1, #0x64]
sub r1, r0, r3
mov r1, r1, lsl #0x10
cmp r2, r1, asr #16
mov r3, r1, asr #0x10
bge _021677a4
sub r0, r0, r2
mov r0, r0, lsl #0x10
ldr r2, _021677fc ; =0x00000aab
mov r1, r0, asr #0x10
add r0, r4, #0x78
bl func_0202b154
b _021677c8
_021677a4:
rsb r1, r2, #0
cmp r3, r1
bge _021677c8
add r0, r0, r2
mov r0, r0, lsl #0x10
ldr r2, _021677fc ; =0x00000aab
mov r1, r0, asr #0x10
add r0, r4, #0x78
bl func_0202b154
_021677c8:
ldr r0, [r4, #0x1f4]
add r1, sp, #0
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r0, [r4, #0x1f4]
add r1, sp, #0
ldrsh r2, [r0, #0x78]
add r0, r4, #0x1f8
bl func_ov14_0214aa0c
mov r0, #0
add sp, sp, #0x24
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_021676f4
_021677fc: .word 0x00000aab
.global func_ov18_02167800
arm_func_start func_ov18_02167800
func_ov18_02167800: ; 0x02167800
ldr ip, _02167808 ; =func_ov14_0214591c
bx ip
.align 2, 0
arm_func_end func_ov18_02167800
_02167808: .word func_ov14_0214591c
.global func_ov18_0216780c
arm_func_start func_ov18_0216780c
func_ov18_0216780c: ; 0x0216780c
ldr ip, _02167814 ; =func_ov18_021676f4
bx ip
.align 2, 0
arm_func_end func_ov18_0216780c
_02167814: .word func_ov18_021676f4
.global func_ov18_02167818
arm_func_start func_ov18_02167818
func_ov18_02167818: ; 0x02167818
mov r1, #0
strb r1, [r0, #0x474]
strb r1, [r0, #0x475]
ldr ip, _02167834 ; =func_ov14_02145f0c
add r0, r0, #0x1d8
mov r1, #3
bx ip
.align 2, 0
arm_func_end func_ov18_02167818
_02167834: .word func_ov14_02145f0c
.global func_ov18_02167838
arm_func_start func_ov18_02167838
func_ov18_02167838: ; 0x02167838
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr}
sub sp, sp, #0x44
mov r4, r0
add r0, r4, #0x400
ldrsh r1, [r0, #0x76]
sub r1, r1, #1
strh r1, [r0, #0x76]
ldrsh r1, [r0, #0x76]
cmp r1, #0
movle r1, #0
strleh r1, [r0, #0x76]
ldr r0, [r4, #0x428]
add r0, r4, r0, lsl #2
ldr r0, [r0, #0x420]
cmp r0, #3
bne _021678d4
ldr r0, [r4, #0x1e8]
mov r1, #0x1000
add r0, r0, #0xc
bl func_0202e310
cmp r0, #0
beq _021678a8
ldr r0, _02167dd8 ; =data_027e0ffc
ldr r1, _02167ddc ; =0x00000464
add r2, r4, #0x48
mov r3, #0
bl func_ov00_020ceacc
b _021678d4
_021678a8:
ldr r0, [r4, #0x1e8]
mov r1, #0x8000
add r0, r0, #0xc
bl func_0202e310
cmp r0, #0
beq _021678d4
ldr r0, _02167dd8 ; =data_027e0ffc
ldr r1, _02167de0 ; =0x00000465
add r2, r4, #0x48
mov r3, #0
bl func_ov00_020ceacc
_021678d4:
ldrb r2, [r4, #0x474]
cmp r2, #5
addls pc, pc, r2, lsl #2
b _02167c18
_021678e4: ; jump table
b _021678fc ; case 0
b _02167918 ; case 1
b _0216794c ; case 2
b _021679f8 ; case 3
b _02167a98 ; case 4
b _02167bac ; case 5
_021678fc:
add r0, r4, #0x400
mov r1, #0x1e
strh r1, [r0, #0x76]
ldr r0, [r4, #0x1e8]
mov r1, #0x800
str r1, [r0, #0x10]
b _02167c18
_02167918:
add r0, r4, #0x400
ldrsh r1, [r0, #0x76]
cmp r1, #0
bne _02167c18
mov r1, #0x1e
strh r1, [r0, #0x76]
ldr r0, [r4, #0x1e8]
mov r1, #0x1000
str r1, [r0, #0x10]
ldrb r0, [r4, #0x474]
add r0, r0, #1
strb r0, [r4, #0x474]
b _02167c18
_0216794c:
ldr r0, [r4, #0x18]
ldr r1, [r4, #0x4c]
add r0, r0, #0xcd
add r0, r0, #0x1c00
cmp r1, r0
blt _0216798c
add r0, r2, #1
strb r0, [r4, #0x474]
add r0, r4, #0x400
mov r1, #0x1e
strh r1, [r0, #0x76]
mov r0, #0
str r0, [r4, #0x470]
ldr r0, [r4, #0x1e8]
mov r1, #0x1800
str r1, [r0, #0x10]
_0216798c:
ldr r0, [r4, #0x1e8]
mov r2, #0x29
ldr r0, [r0, #0x14]
cmp r0, #0x7000
add r0, r4, #0x470
bge _021679b0
mov r1, #0xa4
bl func_0202b0f4
b _021679b8
_021679b0:
mov r1, #0
bl func_0202b0f4
_021679b8:
ldr r2, [r4, #0x4c]
ldr r0, [r4, #0x470]
add r1, sp, #0x14
add r0, r2, r0
str r0, [r4, #0x4c]
ldr r0, [r4, #0x1f4]
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r2, [r4, #0x1f4]
add r1, sp, #0x14
ldrsh r3, [r2, #0x78]
add r0, r4, #0x1f8
add r2, r2, #0x48
bl func_ov14_0214a92c
b _02167c18
_021679f8:
add r0, r4, #0x400
ldrsh r1, [r0, #0x76]
cmp r1, #0
bne _02167a24
add r1, r2, #1
strb r1, [r4, #0x474]
ldr r1, [r4, #0x1e8]
mov r2, #0x2800
str r2, [r1, #0x10]
mov r1, #0x1e
strh r1, [r0, #0x76]
_02167a24:
ldr r0, _02167de4 ; =data_ov18_0216d604
ldr r2, _02167de8 ; =0x00000333
ldrsh r1, [r0, #0x22]
add r0, r4, #0x78
bl func_0202b3bc
ldr r0, [r4, #0x1e8]
mov r2, #0x29
ldr r0, [r0, #0x14]
cmp r0, #0x7000
bge _02167a5c
add r0, r4, #0x470
mov r1, #0x148
bl func_0202b0f4
b _02167a68
_02167a5c:
ldr r1, _02167dec ; =0xfffffee1
add r0, r4, #0x470
bl func_0202b0f4
_02167a68:
ldr r0, [r4, #0x1f4]
add r1, sp, #8
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r2, [r4, #0x1f4]
add r1, sp, #8
ldrsh r3, [r2, #0x78]
add r0, r4, #0x1f8
add r2, r2, #0x48
bl func_ov14_0214a92c
b _02167c18
_02167a98:
ldr r1, [r4, #0x470]
add r0, r4, #0x400
add r2, r1, #8
str r2, [r4, #0x470]
ldr r1, [r4, #0x4c]
add r1, r1, r2
str r1, [r4, #0x4c]
ldrsh r0, [r0, #0x76]
cmp r0, #0
bne _02167aec
ldrb r2, [r4, #0x474]
mov r1, #1
ldr r0, _02167df0 ; =data_027e0f64
add r2, r2, #1
strb r2, [r4, #0x474]
strb r1, [r4, #0x1ac]
ldr r0, [r0]
ldr r0, [r0, #4]
bl func_ov00_02087d98
add sp, sp, #0x44
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
_02167aec:
add r0, r4, #0x118
ldr r1, _02167df4 ; =0x00001555
add r0, r0, #0x400
mov r2, #0x16c
bl func_0202b154
ldrh r1, [r4, #0x78]
ldr r0, _02167df8 ; =data_02050f54
ldr r2, _02167de8 ; =0x00000333
mov r1, r1, asr #0x4
mov r6, r1, lsl #0x1
mov r1, r6, lsl #0x1
ldrsh r1, [r0, r1]
mov r0, #0
mvn r5, #0x80000000
umull r7, r3, r1, r2
mla r3, r1, r0, r3
mov r0, r1, asr #0x1f
mla r3, r0, r2, r3
adds r7, r7, #0x800
adc r3, r3, #0
mov r1, r7, lsr #0xc
orr r1, r1, r3, lsl #20
add r0, r4, #0x60
mov r3, #0x800
str r5, [sp]
bl func_0202b418
mov r0, r5
add r1, r6, #1
str r0, [sp]
ldr r0, _02167df8 ; =data_02050f54
mov r1, r1, lsl #0x1
ldrsh r6, [r0, r1]
ldr r2, _02167de8 ; =0x00000333
mov r1, #0
umull r8, r7, r6, r2
mla r7, r6, r1, r7
mov r5, r6, asr #0x1f
adds r1, r8, #0x800
mla r7, r5, r2, r7
adc r5, r7, #0
mov r1, r1, lsr #0xc
add r0, r4, #0x68
mov r3, #0x800
orr r1, r1, r5, lsl #20
bl func_0202b418
mov r0, r4
bl func_ov14_02145258
b _02167c18
_02167bac:
mov r0, #0
strb r0, [r4, #0x474]
strb r0, [r4, #0x475]
ldr r1, [r4, #0x34]
sub r0, r0, #1
cmp r1, r0
beq _02167bdc
ldr r0, _02167dfc ; =data_027e0fe4
add r1, r4, #0x34
ldr r0, [r0]
bl func_ov00_020c3674
bl func_ov18_02165690
_02167bdc:
ldr r0, _02167e00 ; =data_027e0f74
mov r1, #0
ldr r0, [r0]
mov r3, r1
mov r2, #1
bl func_ov00_02097ff4
ldr r0, _02167df0 ; =data_027e0f64
mov r1, #0
ldr r0, [r0]
ldr r0, [r0, #4]
bl func_ov00_0208726c
mov r0, #0
add sp, sp, #0x44
strb r0, [r4, #0x118]
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
_02167c18:
ldrb r0, [r4, #0x475]
cmp r0, #0
beq _02167c34
cmp r0, #1
beq _02167c78
add sp, sp, #0x44
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
_02167c34:
ldr r1, [r4, #0x34]
mvn r0, #0
cmp r1, r0
beq _02167c58
ldr r0, _02167dfc ; =data_027e0fe4
add r1, r4, #0x34
ldr r0, [r0]
bl func_ov00_020c3674
bl func_ov18_021658ac
_02167c58:
ldrb r0, [r4, #0x475]
add sp, sp, #0x44
add r0, r0, #1
strb r0, [r4, #0x475]
ldrb r0, [r4, #0x474]
add r0, r0, #1
strb r0, [r4, #0x474]
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
_02167c78:
ldr ip, _02167de4 ; =data_ov18_0216d604
ldr r6, [r4, #0x48]
ldrsh r1, [ip, #0x26]
ldrsh r0, [r4, #0x12]
ldr r8, [r4, #0x50]
ldr r5, _02167df8 ; =data_02050f54
add r0, r1, r0
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x10
mov r0, r0, lsl #0x10
mov r0, r0, lsr #0x10
mov r0, r0, asr #0x4
mov r1, r0, lsl #0x1
mov r0, r1, lsl #0x1
add r1, r1, #1
ldrsh r7, [r5, r0]
mov r1, r1, lsl #0x1
mov r0, #0x13000
ldrsh r1, [r5, r1]
umull r2, sl, r7, r0
mov r3, #0
umull r5, lr, r1, r0
mla lr, r1, r3, lr
str r6, [sp, #0x38]
mov r1, r1, asr #0x1f
mla lr, r1, r0, lr
mla sl, r7, r3, sl
mov r6, r7, asr #0x1f
mla sl, r6, r0, sl
adds r2, r2, #0x800
adc r6, sl, #0
mov r7, r2, lsr #0xc
ldr sb, [r4, #0x4c]
str r8, [sp, #0x40]
add r8, sb, #0x800
adds r5, r5, #0x800
str r8, [sp, #0x3c]
orr r7, r7, r6, lsl #20
mov r8, r5, lsr #0xc
adc r6, lr, #0
orr r8, r8, r6, lsl #20
ldr r1, [r4, #0x18]
ldr r0, [r4, #0x1c]
ldr r6, [r4, #0x14]
add r2, r4, #0x104
str r6, [r4, #0x504]
str r1, [r4, #0x508]
str r0, [r4, #0x50c]
ldr r1, [r4, #0x504]
mov r5, #0x3000
add r1, r1, r7
str r1, [r4, #0x504]
ldr r6, [r2, #0x408]
add r1, r2, #0x400
add r6, r6, r8
str r6, [r2, #0x408]
ldr r7, [r4, #0x4c]
ldr r6, [ip, #0x28]
ldr r2, _02167de8 ; =0x00000333
add r6, r7, r6
str r6, [r4, #0x508]
ldr r6, [r4, #0x4f8]
add r0, sp, #0x2c
str r6, [sp, #0x2c]
ldr r6, [r4, #0x4fc]
str r6, [sp, #0x30]
ldr r6, [r4, #0x500]
str r6, [sp, #0x34]
str r5, [sp]
bl func_0202b4e4
mov r2, r5
add r0, r4, #0xf8
str r2, [sp]
ldr r2, _02167de8 ; =0x00000333
add r1, sp, #0x2c
add r0, r0, #0x400
mov r3, #0
bl func_0202b4e4
ldr r2, _02167de8 ; =0x00000333
mov r1, r5
str r2, [sp]
str r1, [sp, #4]
add r1, sp, #0x38
mov r0, r4
ldmia r1, {r1, r2, r3}
bl func_ov18_02166910
add sp, sp, #0x44
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
arm_func_end func_ov18_02167838
_02167dd8: .word data_027e0ffc
_02167ddc: .word 0x00000464
_02167de0: .word 0x00000465
_02167de4: .word data_ov18_0216d604
_02167de8: .word 0x00000333
_02167dec: .word 0xfffffee1
_02167df0: .word data_027e0f64
_02167df4: .word 0x00001555
_02167df8: .word data_02050f54
_02167dfc: .word data_027e0fe4
_02167e00: .word data_027e0f74
.global func_ov18_02167e04
arm_func_start func_ov18_02167e04
func_ov18_02167e04: ; 0x02167e04
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x14
ldr r2, _02167ec0 ; =data_027e0f64
mov r4, r0
ldr r1, [r2]
add r0, r4, #0x78
ldr r1, [r1, #4]
mov r3, #5
ldr r5, [r1, #0x270]
ldr lr, [r1, #0x274]
ldr ip, [r1, #0x26c]
add r1, r0, #0x400
str ip, [r4, #0x4e0]
str r5, [r4, #0x4e4]
str lr, [r4, #0x4e8]
str r3, [r4, #0x47c]
ldr r0, [r2]
ldr r0, [r0, #4]
bl func_ov00_02087d34
mov r1, #0
str r1, [sp]
add r2, r4, #0x78
ldr r0, _02167ec0 ; =data_027e0f64
str r1, [sp, #4]
ldr r0, [r0]
add r1, r4, #0x4e0
ldr r0, [r0, #4]
add r3, r2, #0x400
mov r2, #2
bl func_ov00_02089318
mov r1, #0
mov r0, r4
strb r1, [r4, #0x1ac]
bl func_ov14_0214591c
mov r3, #0
strb r3, [r4, #0x475]
strb r3, [r4, #0x474]
ldr r0, _02167ec4 ; =data_027e0f74
mov r1, #1
ldr r0, [r0]
mov r2, r1
bl func_ov00_02097ff4
mov r0, r4
mov r1, #1
bl func_ov00_020c1908
add sp, sp, #0x14
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_02167e04
_02167ec0: .word data_027e0f64
_02167ec4: .word data_027e0f74
.global func_ov18_02167ec8
arm_func_start func_ov18_02167ec8
func_ov18_02167ec8: ; 0x02167ec8
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0x34
mov r4, r0
add r0, r4, #0x400
ldrsh r1, [r0, #0x76]
sub r1, r1, #1
strh r1, [r0, #0x76]
ldrsh r1, [r0, #0x76]
cmp r1, #0
moveq r1, #0
streqh r1, [r0, #0x76]
ldrb r0, [r4, #0x474]
cmp r0, #0
beq _02167f10
cmp r0, #1
beq _02167f1c
cmp r0, #2
b _02167ff8
_02167f10:
add r0, r0, #1
strb r0, [r4, #0x474]
b _02167ff8
_02167f1c:
add r3, r4, #0x14
add r7, sp, #0x28
ldmia r3, {r0, r1, r2}
stmia r7, {r0, r1, r2}
ldr r6, [r4, #0x14]
ldr r0, _021681dc ; =data_027e0fc8
str r6, [sp, #0x28]
ldr r1, [r3, #4]
ldr r2, _021681e0 ; =0xffffe38e
str r1, [sp, #0x2c]
ldr r5, [r3, #8]
ldr r1, _021681e4 ; =data_02050f54
str r5, [sp, #0x30]
ldrsh r3, [r4, #0x78]
mov r8, #0x1800
mov sb, #0
add r2, r3, r2
mov r2, r2, lsl #0x10
mov r2, r2, asr #0x10
mov r2, r2, lsl #0x10
mov r2, r2, lsr #0x10
mov r2, r2, asr #0x4
mov ip, r2, lsl #0x1
mov r2, ip, lsl #0x1
ldrsh r3, [r1, r2]
add r2, ip, #1
mov r2, r2, lsl #0x1
ldrsh r2, [r1, r2]
umull r1, ip, r3, r8
adds r1, r1, #0x800
mov lr, r1, lsr #0xc
mov r1, r7
mla ip, r3, sb, ip
mov r7, r3, asr #0x1f
mla ip, r7, r8, ip
adc r3, ip, #0
orr lr, lr, r3, lsl #20
add r3, r6, lr
str r3, [sp, #0x28]
umull r6, r3, r2, r8
mla r3, r2, sb, r3
mov r2, r2, asr #0x1f
mla r3, r2, r8, r3
adds r6, r6, #0x800
adc r2, r3, #0
mov r3, r6, lsr #0xc
orr r3, r3, r2, lsl #20
add r2, r5, r3
str r2, [sp, #0x30]
ldr r0, [r0]
mov r2, #0x800
bl func_ov00_020bcf50
ldrb r0, [r4, #0x474]
add r0, r0, #1
strb r0, [r4, #0x474]
_02167ff8:
ldrb r1, [r4, #0x475]
cmp r1, #3
addls pc, pc, r1, lsl #2
b _021681ac
_02168008: ; jump table
b _02168018 ; case 0
b _021680ac ; case 1
b _02168118 ; case 2
b _02168148 ; case 3
_02168018:
ldr r2, [r4, #0x48]
ldr r3, [r4, #0x4c]
ldr r1, [r4, #0x50]
mov r0, #0x13000
str r0, [sp]
mov r0, #0x7800
str r0, [sp, #4]
sub r7, r3, #0x800
ldr r0, _021681e8 ; =data_ov18_0216d604
ldrsh r3, [r4, #0x12]
ldrsh r6, [r0, #0x26]
add r5, sp, #0x10
mov r0, r4
add r3, r6, r3
mov r3, r3, lsl #0x10
mov r3, r3, asr #0x10
str r7, [sp, #0x14]
str r2, [sp, #0x10]
str r1, [sp, #0x18]
str r3, [sp, #8]
ldmia r5, {r1, r2, r3}
bl func_ov18_02166810
ldr r0, _021681ec ; =data_027e0f94
add r1, sp, #0x1c
ldmib r0, {r2, r3}
ldr r5, [r0]
add r2, r2, #0x800
mov r0, r4
str r5, [sp, #0x1c]
str r3, [sp, #0x24]
str r2, [sp, #0x20]
ldmia r1, {r1, r2, r3}
bl func_ov18_021668d4
ldrb r0, [r4, #0x475]
add r0, r0, #1
strb r0, [r4, #0x475]
b _021681ac
_021680ac:
ldr r0, _021681ec ; =data_027e0f94
mov r2, #0x800
ldmib r0, {r1, r5}
ldr r6, [r0]
add r3, r1, #0x800
str r2, [sp]
mov r2, #0x1000
add r1, sp, #0x1c
mov r0, r4
str r6, [sp, #0x1c]
str r5, [sp, #0x24]
str r3, [sp, #0x20]
str r2, [sp, #4]
ldmia r1, {r1, r2, r3}
bl func_ov18_02166910
ldr r0, _021681dc ; =data_027e0fc8
ldr r0, [r0]
bl func_ov00_020bc500
cmp r0, #6
beq _021681ac
add r0, r4, #0x400
mov r1, #0xa
strh r1, [r0, #0x76]
ldrb r0, [r4, #0x475]
add r0, r0, #1
strb r0, [r4, #0x475]
b _021681ac
_02168118:
add r0, r4, #0x400
ldrsh r0, [r0, #0x76]
cmp r0, #0
bne _0216813c
add r0, r1, #1
strb r0, [r4, #0x475]
mov r0, #0
str r0, [r4, #0x510]
str r0, [r4, #0x514]
_0216813c:
mov r0, r4
bl func_ov18_021676f4
b _021681ac
_02168148:
mov r0, r4
bl func_ov18_021676f4
ldr r3, [r4, #0x48]
ldr r2, [r4, #0x4c]
ldr r1, [r4, #0x50]
mov r0, #0x13000
str r0, [sp]
mov r0, #0x7800
str r0, [sp, #4]
ldr r0, _021681e8 ; =data_ov18_0216d604
ldrsh r7, [r4, #0x12]
ldrsh r0, [r0, #0x26]
ldr r6, _021681f0 ; =0x00000333
add r5, sp, #0x10
add r0, r0, r7
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x10
str r0, [sp, #8]
mov r0, r4
str r3, [sp, #0x10]
str r2, [sp, #0x14]
str r1, [sp, #0x18]
str r6, [sp, #0xc]
ldmia r5, {r1, r2, r3}
bl func_ov18_021669a0
_021681ac:
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xbc]
blx r1
cmp r0, #0
addeq sp, sp, #0x34
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
mov r1, #4
bl func_ov18_02166b50
add sp, sp, #0x34
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov18_02167ec8
_021681dc: .word data_027e0fc8
_021681e0: .word 0xffffe38e
_021681e4: .word data_02050f54
_021681e8: .word data_ov18_0216d604
_021681ec: .word data_027e0f94
_021681f0: .word 0x00000333
.global func_ov18_021681f4
arm_func_start func_ov18_021681f4
func_ov18_021681f4: ; 0x021681f4
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x18
ldr r1, [r0]
mov r4, r0
ldr r1, [r1, #0xb4]
blx r1
mov r0, r4
bl func_ov14_0214591c
mov r0, r4
mov r1, #1
bl func_ov00_020c1908
mov r0, #0
strb r0, [r4, #0x474]
strb r0, [r4, #0x475]
add r0, r4, #0x48
add r3, sp, #0xc
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldr r1, [sp, #0x10]
mov r5, #0x13000
sub r1, r1, #0x800
mov lr, #0x7800
str r1, [sp, #0x10]
stmia sp, {r5, lr}
ldr ip, _02168284 ; =data_ov18_0216d604
ldrsh r1, [r4, #0x12]
ldrsh r2, [ip, #0x26]
mov r0, r4
add r1, r2, r1
mov r1, r1, lsl #0x10
mov r1, r1, asr #0x10
str r1, [sp, #8]
ldmia r3, {r1, r2, r3}
bl func_ov18_02166810
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_021681f4
_02168284: .word data_ov18_0216d604
.global func_ov18_02168288
arm_func_start func_ov18_02168288
func_ov18_02168288: ; 0x02168288
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x400
ldrsh r1, [r0, #0x76]
sub r1, r1, #1
strh r1, [r0, #0x76]
ldrsh r1, [r0, #0x76]
cmp r1, #0
moveq r1, #0
streqh r1, [r0, #0x76]
mov r0, r4
bl func_ov18_021676f4
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xbc]
blx r1
cmp r0, #0
beq _021682dc
mov r0, r4
mov r1, #4
bl func_ov18_02166b50
_021682dc:
ldrb r0, [r4, #0x51e]
cmp r0, #0
ldmneia sp!, {r4, pc}
mov r0, r4
mov r1, #0
bl func_ov18_02166700
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02168288
.global func_ov18_021682f8
arm_func_start func_ov18_021682f8
func_ov18_021682f8: ; 0x021682f8
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0xf4
mov r6, r0
cmp r1, #0
ldrneb r0, [r6, #0xa5]
ldreqb r0, [r6, #0xa4]
cmp r0, #0
addeq sp, sp, #0xf4
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r0, _021686c8 ; =data_027e0fec
ldr r0, [r0]
add r0, r0, #0xbf0
add r0, r0, #0x3000
bl func_ov00_020c4588
ldrb r1, [r6, #0x51d]
mov r4, r0
ldr r0, [r4, #8]
cmp r1, #0
beq _02168368
add r0, r4, r0
ldr r1, _021686cc ; =data_ov18_0216b5f8
add r0, r0, #4
bl func_0201e388
mov r1, r0
mov r0, r4
mov r2, #0
bl func_02019570
b _02168388
_02168368:
add r0, r4, r0
ldr r1, _021686d0 ; =data_ov18_0216b60c
add r0, r0, #4
bl func_0201e388
mov r1, r0
mov r0, r4
mov r2, #0x1f
bl func_02019570
_02168388:
add r0, r6, #0x500
ldrh r1, [r0, #0x1a]
ldr r3, _021686d4 ; =data_02050f54
add r0, sp, #0x88
mov r1, r1, asr #0x4
mov r1, r1, lsl #0x1
add r2, r1, #1
mov r2, r2, lsl #0x1
mov r1, r1, lsl #0x1
ldrsh r2, [r3, r2]
ldrsh r1, [r3, r1]
blx func_01ff8230
add r0, r6, #0x500
ldrh r1, [r0, #0x18]
ldr r3, _021686d4 ; =data_02050f54
add r0, sp, #0xd0
mov r1, r1, asr #0x4
mov r1, r1, lsl #0x1
add r2, r1, #1
mov r2, r2, lsl #0x1
mov r1, r1, lsl #0x1
ldrsh r2, [r3, r2]
ldrsh r1, [r3, r1]
blx func_01ff81f8
ldrh r1, [r6, #0x78]
ldr r3, _021686d4 ; =data_02050f54
add r0, sp, #0xac
mov r1, r1, asr #0x4
mov r1, r1, lsl #0x1
add r2, r1, #1
mov r2, r2, lsl #0x1
mov r1, r1, lsl #0x1
ldrsh r2, [r3, r2]
ldrsh r1, [r3, r1]
blx func_01ff8214
add r0, sp, #0x88
add r1, sp, #0xd0
add r2, sp, #0x64
bl func_01ff8690
add r0, sp, #0x64
add r1, sp, #0xac
mov r2, r0
bl func_01ff8690
add r0, r6, #0x1d8
add r1, sp, #0x64
add r2, r6, #0x48
bl func_ov00_020c5e88
ldr r0, _021686d8 ; =data_027e0fe4
add r1, r6, #0x34
ldr r0, [r0]
bl func_ov00_020c3674
ldr r1, _021686dc ; =data_ov18_0216d604
cmp r0, #0
str r0, [r1, #0x2c]
addeq sp, sp, #0xf4
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r1, _021686e0 ; =data_02051054
add r0, sp, #0x34
ldrsh r2, [r1, #0xf6]
ldrsh r1, [r1, #0xf4]
blx func_01ff8a80
add r0, sp, #0
bl func_01ff892c
ldr r0, _021686dc ; =data_ov18_0216d604
add r1, sp, #0
ldr r4, [r0, #0x2c]
add r0, sp, #0x34
ldr r3, [r4, #0x14]
mov r2, r1
str r3, [sp, #0x24]
ldr r3, [r4, #0x18]
add r3, r3, #0x66
add r3, r3, #0x1200
str r3, [sp, #0x28]
ldr r3, [r4, #0x1c]
str r3, [sp, #0x2c]
bl func_01ff8e84
ldr r0, _021686e4 ; =0x00001ccd
add fp, sp, #0
add r4, sp, #0xc
add r5, sp, #0x18
bl func_01ff991c
ldr r3, [r6, #0x4c]
ldr r2, [r6, #0x18]
mov r1, #0
sub r3, r3, r2
smull r2, r0, r3, r0
adds r2, r2, #0x800
adc r0, r0, #0
mov r2, r2, lsr #0xc
orr r2, r2, r0, lsl #20
rsb r7, r2, #0x1000
mov r0, #0x3000
umull r6, r3, r7, r0
mla r3, r7, r1, r3
mov r2, r7, asr #0x1f
mla r3, r2, r0, r3
adds r2, r6, #0x800
adc r0, r3, #0
mov sl, r2, lsr #0xc
orr sl, sl, r0, lsl #20
cmp sl, #0
movle sl, r1
ldr r0, _021686e8 ; =0x000004cd
mov r1, #0
umull r7, r6, sl, r0
mla r6, sl, r1, r6
mov r8, sl, asr #0x1f
adds r7, r7, #0x800
mla r6, r8, r0, r6
mov sb, r7, lsr #0xc
adc r6, r6, #0
orr sb, sb, r6, lsl #20
ldmia fp, {r7, ip}
smull r6, lr, r7, sb
adds r6, r6, #0x800
umull r3, r2, sl, r0
mla r2, sl, r1, r2
adc r7, lr, #0
mov r6, r6, lsr #0xc
orr r6, r6, r7, lsl #20
str r6, [fp]
smull r7, r6, ip, sb
adds r7, r7, #0x800
adc r6, r6, #0
mov r7, r7, lsr #0xc
orr r7, r7, r6, lsl #20
ldr ip, [fp, #8]
str r7, [fp, #4]
smull r7, r6, ip, sb
adds r7, r7, #0x800
mla r2, r8, r0, r2
adc r6, r6, #0
mov r7, r7, lsr #0xc
orr r7, r7, r6, lsl #20
adds r6, r3, #0x800
adc r3, r2, #0
mov r2, r6, lsr #0xc
str r7, [fp, #8]
ldr sb, [r4]
orr r2, r2, r3, lsl #20
smull r6, r3, sb, r2
adds r6, r6, #0x800
ldr r7, [r4, #4]
adc r3, r3, #0
mov r6, r6, lsr #0xc
orr r6, r6, r3, lsl #20
str r6, [r4]
smull r6, r3, r7, r2
adds r6, r6, #0x800
adc r3, r3, #0
mov r6, r6, lsr #0xc
orr r6, r6, r3, lsl #20
ldr r7, [r4, #8]
str r6, [r4, #4]
smull r6, r2, r7, r2
adds r6, r6, #0x800
adc r2, r2, #0
mov r6, r6, lsr #0xc
orr r6, r6, r2, lsl #20
str r6, [r4, #8]
umull r4, r2, sl, r0
mla r2, sl, r1, r2
adds r4, r4, #0x800
mla r2, r8, r0, r2
ldr r3, [r5]
mov r7, r4, lsr #0xc
adc r0, r2, #0
orr r7, r7, r0, lsl #20
smull r2, r0, r3, r7
adds r2, r2, #0x800
adc r0, r0, #0
mov r2, r2, lsr #0xc
orr r2, r2, r0, lsl #20
mov r3, #0x1f000
umull r6, r4, sl, r3
mla r4, sl, r1, r4
ldmib r5, {r0, sl}
smull sb, fp, r0, r7
mov r0, #0x800
adds r0, sb, r0
smull sb, r7, sl, r7
mla r4, r8, r3, r4
adc sl, fp, r1
adds sb, sb, #0x800
adc r7, r7, r1
mov r3, r0, lsr #0xc
mov r8, sb, lsr #0xc
adds r6, r6, #0x800
adc r0, r4, r1
mov r4, r6, lsr #0xc
orr r4, r4, r0, lsl #20
orr r3, r3, sl, lsl #20
orr r8, r8, r7, lsl #20
stmia r5, {r2, r3, r8}
mov r4, r4, asr #0xc
ldr r0, _021686ec ; =data_ov00_020e9360
strb r1, [sp, #0x30]
strb r4, [sp, #0x31]
bl func_ov00_02079e68
strb r0, [sp, #0x32]
mov r2, #0
ldr r0, _021686f0 ; =data_ov00_020e9370
add r1, sp, #0
strb r2, [sp, #0x33]
bl func_ov18_0216941c
add sp, sp, #0xf4
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_021682f8
_021686c8: .word data_027e0fec
_021686cc: .word data_ov18_0216b5f8
_021686d0: .word data_ov18_0216b60c
_021686d4: .word data_02050f54
_021686d8: .word data_027e0fe4
_021686dc: .word data_ov18_0216d604
_021686e0: .word data_02051054
_021686e4: .word 0x00001ccd
_021686e8: .word 0x000004cd
_021686ec: .word data_ov00_020e9360
_021686f0: .word data_ov00_020e9370
.global func_ov18_021686f4
arm_func_start func_ov18_021686f4
func_ov18_021686f4: ; 0x021686f4
stmdb sp!, {r4, lr}
ldr r1, _02168728 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xe8
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov18_0216872c
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021686f4
_02168728: .word data_027e0f84
.global func_ov18_0216872c
arm_func_start func_ov18_0216872c
func_ov18_0216872c: ; 0x0216872c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _021687dc ; =data_ov00_020e26b4
ldr r0, _021687e0 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r0, _021687e4 ; =data_ov00_020e2dd8
str r2, [r4, #0x48]
ldr r1, _021687e8 ; =data_ov18_0216d1c8
str r0, [r4, #0x38]
ldr r0, _021687ec ; =data_027e0f68
str r1, [r4]
ldr r0, [r0]
mov r1, #0x9c
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x64
blx func_ov00_020a9588
mvn r0, #0
str r0, [r4, #0xc0]
str r0, [r4, #0xc4]
mov r1, #0
str r1, [r4, #0xc8]
str r1, [r4, #0xcc]
mov r0, #0x1000
str r0, [r4, #0xd0]
str r1, [r4, #0xd4]
str r1, [r4, #0xd8]
strh r1, [r4, #0xdc]
strh r1, [r4, #0xde]
mov r0, #0x1f
strh r0, [r4, #0xe0]
strh r1, [r4, #0xe2]
strh r1, [r4, #0xe4]
mov r0, r4
strh r1, [r4, #0xe6]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0216872c
_021687dc: .word data_ov00_020e26b4
_021687e0: .word data_ov00_020e2f04
_021687e4: .word data_ov00_020e2dd8
_021687e8: .word data_ov18_0216d1c8
_021687ec: .word data_027e0f68
.global func_ov18_021687f0
arm_func_start func_ov18_021687f0
func_ov18_021687f0: ; 0x021687f0
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x64
blx func_ov00_020a95a4
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_021687f0
.global func_ov18_02168818
arm_func_start func_ov18_02168818
func_ov18_02168818: ; 0x02168818
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x64
blx func_ov00_020a95a4
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02168818
.global func_ov18_02168848
arm_func_start func_ov18_02168848
func_ov18_02168848: ; 0x02168848
stmdb sp!, {r4, r5, r6, r7, r8, lr}
sub sp, sp, #0x38
mov r4, r0
ldr r0, [r4, #4]
mov ip, #0
orr r0, r0, #4
str r0, [r4, #4]
mov r0, #8
strb r0, [r4, #0x12]
ldr r7, [r4, #0x1c]
ldr r3, [r4, #0x20]
ldr r1, [r4, #0x18]
add r0, r7, #0x33
add r5, r0, #0x1300
bic r0, ip, #0x1f
sub r8, r3, #0x800
sub r2, r1, #0x800
add r6, r3, #0x800
orr r0, r0, #6
orr r3, r0, #0x400000
add lr, r1, #0x800
add r0, sp, #0x2c
add ip, sp, #8
str r7, [sp, #0x30]
str r8, [sp, #0x34]
str r2, [sp, #0x2c]
ldmia r0, {r0, r1, r2}
stmia ip, {r0, r1, r2}
add r0, sp, #0x20
add ip, sp, #0x14
str lr, [sp, #0x20]
str r5, [sp, #0x24]
str r6, [sp, #0x28]
ldmia r0, {r0, r1, r2}
stmia ip, {r0, r1, r2}
mov r0, r4
str r3, [sp, #4]
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x14]
add r1, sp, #8
blx ip
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
add sp, sp, #0x38
ldmia sp!, {r4, r5, r6, r7, r8, pc}
arm_func_end func_ov18_02168848
.global func_ov18_02168924
arm_func_start func_ov18_02168924
func_ov18_02168924: ; 0x02168924
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #8]
cmp r0, #3
addls pc, pc, r0, lsl #2
ldmia sp!, {r4, pc}
_02168950: ; jump table
ldmia sp!, {r4, pc} ; case 0
b _02168960 ; case 1
b _021689e8 ; case 2
ldmia sp!, {r4, pc} ; case 3
_02168960:
ldrh r0, [r4, #0xe6]
ldr r1, _02168a78 ; =0x00002ee0
ldr r2, _02168a7c ; =data_02050f54
add r0, r0, #1
strh r0, [r4, #0xe6]
ldrh r3, [r4, #0xe6]
ldrsh ip, [r4, #0xe2]
add r0, r4, #0xe2
mul r1, r3, r1
mov r1, r1, lsl #0x10
mov r1, r1, lsr #0x10
mov r1, r1, asr #0x4
mov r1, r1, lsl #0x2
ldrsh r2, [r2, r1]
mov r3, ip, lsl #0xc
mov r1, #0
smull ip, r2, r3, r2
adds r3, ip, #0x800
adc r2, r2, #0
mov r3, r3, lsr #0xc
orr r3, r3, r2, lsl #20
mov r3, r3, asr #0xc
mov r2, #0x64
strh r3, [r4, #0xe4]
bl func_0202b154
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r4, pc}
_021689e8:
ldrh r2, [r4, #0xe6]
ldr r1, _02168a80 ; =0x000005dc
add r0, r4, #0xde
add r2, r2, #1
strh r2, [r4, #0xe6]
mov r2, #0x96
bl func_0202b154
ldrsh r2, [r4, #0xde]
ldr r1, _02168a84 ; =0x000038e4
add r0, r4, #0xdc
bl func_0202b154
ldr r0, [r4, #0xd8]
sub r1, r0, #0xcd
str r1, [r4, #0xd8]
ldr r0, [r4, #0xd4]
add r0, r0, r1
str r0, [r4, #0xd4]
cmp r0, #0
movle r0, #0
strle r0, [r4, #0xd4]
ldrh r0, [r4, #0xe6]
cmp r0, #0xa
ldmloia sp!, {r4, pc}
ldrsh r0, [r4, #0xe0]
sub r0, r0, #2
strh r0, [r4, #0xe0]
ldrsh r0, [r4, #0xe0]
cmp r0, #0
ldmgtia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #3
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02168924
_02168a78: .word 0x00002ee0
_02168a7c: .word data_02050f54
_02168a80: .word 0x000005dc
_02168a84: .word 0x000038e4
.global func_ov18_02168a88
arm_func_start func_ov18_02168a88
func_ov18_02168a88: ; 0x02168a88
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x14
mov r4, r0
str r1, [r4, #8]
cmp r1, #3
addls pc, pc, r1, lsl #2
b _02168be8
_02168aa4: ; jump table
b _02168ab4 ; case 0
b _02168ac0 ; case 1
b _02168b3c ; case 2
b _02168bd4 ; case 3
_02168ab4:
mov r0, #0
strh r0, [r4, #0xe2]
b _02168be8
_02168ac0:
mov r3, #0
ldr r0, _02168bf4 ; =data_027e0ffc
ldr r1, _02168bf8 ; =0x000001c5
strh r3, [r4, #0xe6]
add r2, r4, #0x18
bl func_ov00_020ceacc
ldr r2, [r4, #0x1c]
ldr r0, _02168bfc ; =data_027e0e58
ldr r3, [r4, #0x20]
ldr r1, [r4, #0x18]
add r2, r2, #0x800
str r1, [sp, #8]
str r2, [sp, #0xc]
str r3, [sp, #0x10]
ldr r0, [r0]
mov r4, #0
str r4, [sp]
ldr r1, _02168c00 ; =0x0000025f
add r2, sp, #8
mov r3, #4
str r4, [sp, #4]
bl func_ov00_0207c1b0
ldr r0, _02168bfc ; =data_027e0e58
add r2, sp, #8
ldr r0, [r0]
mov r1, #0x260
str r4, [sp]
mov r3, #4
str r4, [sp, #4]
bl func_ov00_0207c1b0
b _02168be8
_02168b3c:
add r0, r4, #0x64
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
ldr r1, _02168c04 ; =data_ov18_0216b620
add r0, r0, #0x40
bl func_0201e388
str r0, [r4, #0xc0]
add r0, r4, #0x64
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
ldr r2, [r0, #8]
ldr r1, _02168c08 ; =data_ov18_0216b634
add r0, r0, r2
add r0, r0, #4
bl func_0201e388
str r0, [r4, #0xc4]
str r4, [r4, #0x94]
add r0, r4, #0x68
ldr r1, _02168c0c ; =func_ov18_02168d78
bl func_02018cb8
add r0, r4, #0x38
mov r1, #3
bl func_ov00_02094884
mov r3, #0
strh r3, [r4, #0xe6]
mov r0, #0x1f
strh r0, [r4, #0xe0]
strh r3, [r4, #0xdc]
strh r3, [r4, #0xde]
mov r0, #0x400
str r0, [r4, #0xd8]
sub r1, r0, #0xa9
add r2, r4, #0x18
ldr r0, _02168bf4 ; =data_027e0ffc
bl func_ov00_020ceacc
b _02168be8
_02168bd4:
add r0, r4, #0x38
mov r1, #3
bl func_ov00_02094884
mov r0, #0
strh r0, [r4, #0xe0]
_02168be8:
mov r0, #1
add sp, sp, #0x14
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_02168a88
_02168bf4: .word data_027e0ffc
_02168bf8: .word 0x000001c5
_02168bfc: .word data_027e0e58
_02168c00: .word 0x0000025f
_02168c04: .word data_ov18_0216b620
_02168c08: .word data_ov18_0216b634
_02168c0c: .word func_ov18_02168d78
.global func_ov18_02168c10
arm_func_start func_ov18_02168c10
func_ov18_02168c10: ; 0x02168c10
stmdb sp!, {r4, lr}
sub sp, sp, #0x18
mov r4, r0
ldr r0, [r4, #8]
cmp r0, #0
bne _02168d60
cmp r1, #1
bne _02168cbc
ldr r0, [r2]
cmp r0, #0
ldrne r1, [r2, #8]
cmpne r1, #0
bne _02168c74
ldr r0, _02168d6c ; =data_027e0f94
ldr r2, [r4, #0x18]
ldr r1, [r0]
ldr ip, [r4, #0x20]
ldr r3, [r0, #8]
sub r0, r2, r1
str r0, [r4, #0xc8]
mov r0, #0
str r0, [r4, #0xcc]
sub r0, ip, r3
str r0, [r4, #0xd0]
b _02168c84
_02168c74:
str r0, [r4, #0xc8]
mov r0, #0
str r0, [r4, #0xcc]
str r1, [r4, #0xd0]
_02168c84:
add r0, r4, #0xc8
mov r1, #0x4000
bl func_ov00_020a61ac
add r0, r4, #0xc8
bl func_01fffb4c
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
add sp, sp, #0x18
mov r0, #0
ldmia sp!, {r4, pc}
_02168cbc:
cmp r1, #0xb
blt _02168d60
ldr r0, _02168d70 ; =data_027e0fe4
ldr r0, [r0]
bl func_ov00_020c35d8
cmp r0, #0
addeq sp, sp, #0x18
moveq r0, #1
ldmeqia sp!, {r4, pc}
ldr r2, [r0, #4]
ldr r1, _02168d74 ; =0x424c5354
cmp r2, r1
bne _02168d60
ldr lr, [r0, #0x48]
ldr ip, [r0, #0x4c]
ldr r3, [r0, #0x50]
ldr r1, [r4, #0x18]
ldr r2, [r4, #0x20]
sub r0, r1, lr
str r0, [r4, #0xc8]
mov r0, #0
str r0, [r4, #0xcc]
sub r2, r2, r3
add r0, r4, #0xc8
mov r1, #0x4000
str lr, [sp]
str ip, [sp, #4]
str r3, [sp, #8]
str r2, [r4, #0xd0]
bl func_ov00_020a61ac
add r0, r4, #0xc8
bl func_01fffb4c
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
add sp, sp, #0x18
mov r0, #0
ldmia sp!, {r4, pc}
_02168d60:
mov r0, #1
add sp, sp, #0x18
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02168c10
_02168d6c: .word data_027e0f94
_02168d70: .word data_027e0fe4
_02168d74: .word 0x424c5354
.global func_ov18_02168d78
arm_func_start func_ov18_02168d78
func_ov18_02168d78: ; 0x02168d78
ldr r1, _02168d98 ; =func_ov18_02168da0
mov r2, #2
str r1, [r0, #0x24]
ldr r1, _02168d9c ; =func_ov18_02168db8
strb r2, [r0, #0x92]
str r1, [r0, #0x1c]
strb r2, [r0, #0x90]
bx lr
.align 2, 0
arm_func_end func_ov18_02168d78
_02168d98: .word func_ov18_02168da0
_02168d9c: .word func_ov18_02168db8
.global func_ov18_02168da0
arm_func_start func_ov18_02168da0
func_ov18_02168da0: ; 0x02168da0
mov r1, r0
ldr r0, [r1, #4]
ldr ip, _02168db4 ; =func_ov18_02168dd0
ldr r0, [r0, #0x2c]
bx ip
.align 2, 0
arm_func_end func_ov18_02168da0
_02168db4: .word func_ov18_02168dd0
.global func_ov18_02168db8
arm_func_start func_ov18_02168db8
func_ov18_02168db8: ; 0x02168db8
mov r1, r0
ldr r0, [r1, #4]
ldr ip, _02168dcc ; =func_ov18_02168e6c
ldr r0, [r0, #0x2c]
bx ip
.align 2, 0
arm_func_end func_ov18_02168db8
_02168dcc: .word func_ov18_02168e6c
.global func_ov18_02168dd0
arm_func_start func_ov18_02168dd0
func_ov18_02168dd0: ; 0x02168dd0
stmdb sp!, {r3, lr}
ldr r2, [r0, #8]
cmp r2, #2
cmpne r2, #3
ldmneia sp!, {r3, pc}
ldr r2, [r1, #8]
tst r2, #0x10
ldrneb r3, [r1, #0xae]
ldr r2, [r0, #0xc0]
mvneq r3, #0
cmp r3, r2
ldmneia sp!, {r3, pc}
ldr lr, [r1, #0xb4]
mov ip, #0
ldr r2, [lr]
ldr r3, _02168e68 ; =data_02050f54
bic r2, r2, #6
str r2, [lr]
ldr lr, [r0, #0xd4]
ldr r2, [r1, #0xb4]
str lr, [r2, #0x50]
ldr r2, [r1, #0xb4]
str ip, [r2, #0x4c]
ldr r2, [r1, #0xb4]
str ip, [r2, #0x54]
ldrh r2, [r0, #0xdc]
ldr ip, [r1, #0xb4]
add r1, r0, #0xc8
mov r0, r2, asr #0x4
mov r2, r0, lsl #0x1
add r0, r2, #1
mov r2, r2, lsl #0x1
mov r0, r0, lsl #0x1
ldrsh r2, [r3, r2]
ldrsh r3, [r3, r0]
add r0, ip, #0x28
bl func_01ff8248
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02168dd0
_02168e68: .word data_02050f54
.global func_ov18_02168e6c
arm_func_start func_ov18_02168e6c
func_ov18_02168e6c: ; 0x02168e6c
ldr r2, [r0, #8]
cmp r2, #2
cmpne r2, #3
bxne lr
ldr r2, [r1, #8]
ldr r3, [r1, #0xb0]
tst r2, #8
ldrneb r2, [r1, #0xad]
ldr r1, [r0, #0xc4]
mvneq r2, #0
cmp r2, r1
bxne lr
ldrsh r0, [r0, #0xe0]
ldr r1, [r3, #0xc]
bic r1, r1, #0x1f0000
and r0, r0, #0xff
orr r0, r1, r0, lsl #16
str r0, [r3, #0xc]
bx lr
arm_func_end func_ov18_02168e6c
.global func_ov18_02168eb8
arm_func_start func_ov18_02168eb8
func_ov18_02168eb8: ; 0x02168eb8
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x38
mov r5, r0
ldr r0, [r5, #8]
mov r4, r1
cmp r0, #1
bne _02168f34
mov r0, #0x1000
mov r1, #0
str r0, [sp, #0x10]
str r1, [sp, #8]
str r1, [sp, #0xc]
ldrh r1, [r5, #0xe4]
ldr r3, _02168f74 ; =data_02050f54
add r0, sp, #0x14
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov r2, r2, lsl #0x1
mov r1, r1, lsl #0x1
ldrsh r2, [r3, r2]
ldrsh r3, [r3, r1]
add r1, sp, #8
bl func_01ff8248
add r0, r5, #0x64
ldr r3, [r0]
add r1, sp, #0x14
ldr r3, [r3, #0x14]
add r2, r5, #0x18
blx r3
b _02168f48
_02168f34:
add r0, r5, #0x64
ldr r2, [r0]
add r1, r5, #0x18
ldr r2, [r2, #0x18]
blx r2
_02168f48:
ldr r2, _02168f78 ; =0x000004cd
mov ip, #0
mov r0, r5
mov r1, r4
mov r3, r2
str ip, [sp]
mov r4, #0x1f
str r4, [sp, #4]
bl func_ov00_0208b8e0
add sp, sp, #0x38
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_02168eb8
_02168f74: .word data_02050f54
_02168f78: .word 0x000004cd
.global func_ov18_02168f7c
arm_func_start func_ov18_02168f7c
func_ov18_02168f7c: ; 0x02168f7c
mov r0, #0x29
bx lr
arm_func_end func_ov18_02168f7c
.global func_ov18_02168f84
arm_func_start func_ov18_02168f84
func_ov18_02168f84: ; 0x02168f84
stmdb sp!, {r3, lr}
ldr r1, _02168fb0 ; =data_027e0fe0
mov r0, #0x164
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov18_02168fb4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_02168f84
_02168fb0: .word data_027e0fe0
.global func_ov18_02168fb4
arm_func_start func_ov18_02168fb4
func_ov18_02168fb4: ; 0x02168fb4
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c1554
ldr r0, _02168fe4 ; =data_ov18_0216d268
mov r1, #0
str r0, [r4]
str r1, [r4, #0x158]
sub r0, r1, #1
str r0, [r4, #0x15c]
mov r0, r4
str r1, [r4, #0x160]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02168fb4
_02168fe4: .word data_ov18_0216d268
.global func_ov18_02168fe8
arm_func_start func_ov18_02168fe8
func_ov18_02168fe8: ; 0x02168fe8
stmdb sp!, {r4, lr}
mov r4, r0
ldr r1, _02169020 ; =data_ov18_0216d268
add r0, r4, #0x158
str r1, [r4]
bl func_ov00_020b7e6c
add r0, r4, #0x158
bl func_ov00_020b7e6c
add r0, r4, #0x158
bl func_ov00_020b7df0
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02168fe8
_02169020: .word data_ov18_0216d268
.global func_ov18_02169024
arm_func_start func_ov18_02169024
func_ov18_02169024: ; 0x02169024
stmdb sp!, {r4, lr}
mov r4, r0
ldr r1, _02169064 ; =data_ov18_0216d268
add r0, r4, #0x158
str r1, [r4]
bl func_ov00_020b7e6c
add r0, r4, #0x158
bl func_ov00_020b7e6c
add r0, r4, #0x158
bl func_ov00_020b7df0
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02169024
_02169064: .word data_ov18_0216d268
.global func_ov18_02169068
arm_func_start func_ov18_02169068
func_ov18_02169068: ; 0x02169068
ldr r1, _02169080 ; =data_027e0e58
mov r2, r0
ldr r0, [r1]
ldr ip, _02169084 ; =func_ov00_0207c444
add r1, r2, #0x158
bx ip
.align 2, 0
arm_func_end func_ov18_02169068
_02169080: .word data_027e0e58
_02169084: .word func_ov00_0207c444
.global func_ov18_02169088
arm_func_start func_ov18_02169088
func_ov18_02169088: ; 0x02169088
stmdb sp!, {r4, lr}
sub sp, sp, #0x18
mov r4, r0
mov r2, #0
str r2, [r4, #0x7c]
str r2, [r4, #0x80]
str r2, [r4, #0x84]
str r2, [r4, #0x88]
ldr r1, [r4, #0x7c]
mov r0, #0x4000
str r1, [r4, #0x8c]
ldr r1, [r4, #0x80]
str r1, [r4, #0x90]
ldr r1, [r4, #0x84]
str r1, [r4, #0x94]
ldr r1, [r4, #0x88]
str r1, [r4, #0x98]
str r2, [r4, #0xa8]
str r2, [r4, #0xac]
str r2, [r4, #0xb0]
str r0, [r4, #0xb4]
ldrh r0, [r4, #0x20]
cmp r0, #1
bne _021690f0
ldr r1, _02169148 ; =0x00000173
b _021690f4
_021690f0:
ldr r1, _0216914c ; =0x0000012d
_021690f4:
mov r0, #2
str r1, [r4, #0x15c]
str r0, [r4, #0x160]
ldr r1, [r4, #0x48]
add r0, sp, #0xc
str r1, [sp, #0xc]
ldr r2, [r4, #0x4c]
ldr r1, _02169150 ; =data_ov18_0216d254
str r2, [sp, #0x10]
ldr r3, [r4, #0x50]
mov r2, r0
str r3, [sp, #0x14]
bl func_01ff9bc4
ldr r0, _02169154 ; =data_027e0e58
add r2, sp, #0xc
ldr r0, [r0]
add r1, r4, #0x158
bl func_ov00_0207c474
mov r0, #1
add sp, sp, #0x18
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02169088
_02169148: .word 0x00000173
_0216914c: .word 0x0000012d
_02169150: .word data_ov18_0216d254
_02169154: .word data_027e0e58
.global func_ov18_02169158
arm_func_start func_ov18_02169158
func_ov18_02169158: ; 0x02169158
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x10
mov r4, r0
mov r5, r1
add r0, r4, #0xa4
add r2, r4, #0x48
bl func_ov00_0207a1c8
mov r0, r4
mov r1, r5
bl func_ov00_020c313c
cmp r0, #0
addeq sp, sp, #0x10
ldmeqia sp!, {r3, r4, r5, pc}
mov r0, r4
bl func_ov00_020c1cf8
ldr r0, [r4, #0x154]
cmp r0, #1
bgt _021691bc
mov r0, #0
str r0, [sp]
ldr r3, [r4, #8]
ldr r0, _02169224 ; =data_027e0ffc
add r2, r4, #0x48
mov r1, #0x390
bl func_ov00_020cec60
_021691bc:
ldrb r0, [r4, #0xa4]
cmp r0, #0
ldreqb r0, [r4, #0xa5]
cmpeq r0, #0
beq _02169214
ldr r1, [r4, #0x48]
add r0, sp, #4
str r1, [sp, #4]
ldr r2, [r4, #0x4c]
ldr r1, _02169228 ; =data_ov18_0216d254
str r2, [sp, #8]
ldr r3, [r4, #0x50]
mov r2, r0
str r3, [sp, #0xc]
bl func_01ff9bc4
ldr r0, _0216922c ; =data_027e0e58
add r2, sp, #4
ldr r0, [r0]
add r1, r4, #0x158
bl func_ov00_0207c474
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, pc}
_02169214:
add r0, r4, #0x158
bl func_ov00_020b7e6c
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_02169158
_02169224: .word data_027e0ffc
_02169228: .word data_ov18_0216d254
_0216922c: .word data_027e0e58
.global func_ov18_02169230
arm_func_start func_ov18_02169230
func_ov18_02169230: ; 0x02169230
stmdb sp!, {r3, lr}
ldr r2, [r0]
ldr r2, [r2, #0x14]
blx r2
ldmia sp!, {r3, pc}
arm_func_end func_ov18_02169230
.global func_ov18_02169244
arm_func_start func_ov18_02169244
func_ov18_02169244: ; 0x02169244
stmdb sp!, {r4, lr}
mov r4, r0
bl func_0201f704
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02169244
.global func_ov18_02169258
arm_func_start func_ov18_02169258
func_ov18_02169258: ; 0x02169258
stmdb sp!, {r4, lr}
mov r4, r0
bl func_0201f710
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_02169258
.global func_ov18_0216926c
arm_func_start func_ov18_0216926c
func_ov18_0216926c: ; 0x0216926c
ldr r0, _02169278 ; =data_ov18_0216d674
ldr r0, [r0]
bx lr
.align 2, 0
arm_func_end func_ov18_0216926c
_02169278: .word data_ov18_0216d674
.global func_ov18_0216927c
arm_func_start func_ov18_0216927c
func_ov18_0216927c: ; 0x0216927c
stmdb sp!, {r3, lr}
ldr r0, _021692bc ; =data_ov18_0216d674
ldr r0, [r0]
cmp r0, #0
ldmneia sp!, {r3, pc}
ldr r1, _021692c0 ; =data_027e0ce0
mov r0, #4
ldr r1, [r1, #4]
mov r2, r0
bl func_0202e9dc
cmp r0, #0
beq _021692b0
bl func_ov18_02169244
_021692b0:
ldr r1, _021692bc ; =data_ov18_0216d674
str r0, [r1]
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216927c
_021692bc: .word data_ov18_0216d674
_021692c0: .word data_027e0ce0
.global func_ov18_021692c4
arm_func_start func_ov18_021692c4
func_ov18_021692c4: ; 0x021692c4
stmdb sp!, {r4, lr}
ldr r0, _021692fc ; =data_ov18_0216d674
ldr r4, [r0]
cmp r4, #0
ldmeqia sp!, {r4, pc}
beq _021692ec
mov r0, r4
bl func_ov18_02169258
mov r0, r4
bl func_0202ea0c
_021692ec:
ldr r0, _021692fc ; =data_ov18_0216d674
mov r1, #0
str r1, [r0]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_021692c4
_021692fc: .word data_ov18_0216d674
.global func_ov18_02169300
arm_func_start func_ov18_02169300
func_ov18_02169300: ; 0x02169300
stmdb sp!, {r3, r4, r5, lr}
mov r4, r2
mov r2, r1
mov r1, #0
mov r5, r0
bl func_020214d4
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
mov r0, r5
mov r1, r4
bl func_ov18_02169378
mov r1, r0
mov r0, r5
bl func_0201f7a8
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov18_02169300
.global func_ov18_0216933c
arm_func_start func_ov18_0216933c
func_ov18_0216933c: ; 0x0216933c
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4]
cmp r0, #0
movne r0, #1
moveq r0, #0
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
bl func_ov18_02169378
mov r1, r0
mov r0, r4
mov r2, #2
bl func_0201f7d0
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216933c
.global func_ov18_02169378
arm_func_start func_ov18_02169378
func_ov18_02169378: ; 0x02169378
stmdb sp!, {r3, lr}
sub r0, r1, #0xf000
mov r1, #0xe000
rsb r1, r1, #0
bl func_01ff98e0
rsb r0, r0, r0, lsl #7
add r0, r0, #0x800
mov r0, r0, asr #0xc
cmp r0, #0x7f
movgt r0, #0x7f
ldmgtia sp!, {r3, pc}
cmp r0, #0
movlt r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov18_02169378
.global func_ov18_021693b0
arm_func_start func_ov18_021693b0
func_ov18_021693b0: ; 0x021693b0
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0x1c
ldr r2, _02169418 ; =data_027e0e60
mov r6, r0
ldr r5, [r2]
mov r0, r5
bl func_ov00_02083c50
mov r4, r0
mov r0, r5
mov r1, r6
bl func_ov00_02083c24
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
add r1, sp, #4
add r2, sp, #0
add r3, sp, #0x10
mov r0, r5
str r4, [sp, #0xc]
bl func_ov00_02083f80
ldr r0, [sp, #0x14]
cmp r0, #0xf80
movlt r0, #1
movge r0, #0
add sp, sp, #0x1c
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_021693b0
_02169418: .word data_027e0e60
.global func_ov18_0216941c
arm_func_start func_ov18_0216941c
func_ov18_0216941c: ; 0x0216941c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x900
ldrsh ip, [r0, #8]
cmp ip, #4
ldmgeia sp!, {r4, pc}
ldr r3, [r4, #0x900]
mov r2, #0x34
mov r0, r1
smlabb r1, ip, r2, r3
bl func_02007984
add r0, r4, #0x900
ldrsh r1, [r0, #8]
add r1, r1, #1
strh r1, [r0, #8]
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216941c
.global func_ov18_0216945c
arm_func_start func_ov18_0216945c
func_ov18_0216945c: ; 0x0216945c
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x20
ldr r1, _021695dc ; =data_027e0d44
add r4, r0, #0x900
ldr r2, [r1]
ldrsh r1, [r4, #8]
ldr r6, [r2, #0x80]
ldr r5, [r2, #0x88]
ldr r3, [r2, #0x84]
ldr r2, [r2, #0x8c]
mov r6, r6, lsl #0x10
mov r5, r5, lsl #0x10
mov r3, r3, lsl #0x10
mov r2, r2, lsl #0x10
mov r6, r6, lsr #0xd
mov r5, r5, lsr #0xd
mov r3, r3, lsr #0xd
mov r2, r2, lsr #0xd
ldr sb, [r0, #0x900]
str r6, [sp, #0x18]
str r5, [sp, #0x1c]
str r3, [sp, #0x10]
str r2, [sp, #0x14]
cmp r1, #0
mov sl, #0
addle sp, sp, #0x20
ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r8, _021695e0 ; =0x040004a8
sub r0, r8, #0x10
str r0, [sp]
ldr r0, _021695e4 ; =0xf0001000
sub r7, r8, #4
add r0, r0, #0xe000
str r0, [sp, #4]
ldr r0, _021695e4 ; =0xf0001000
sub r6, r8, #0x64
rsb r0, r0, #0x10000
str r0, [sp, #8]
sub r0, r8, #0x60
sub fp, r8, #0xa8
sub r5, r8, #0x20
str r0, [sp, #0xc]
_02169504:
ldrb r2, [sb, #0x30]
add r1, sp, #0x18
mov r0, sb
ldr r2, [r1, r2, lsl #2]
ldr r1, _021695e8 ; =0x192f0000
orr r1, r1, r2, lsr #3
str r1, [r8]
ldrb r2, [sb, #0x30]
add r1, sp, #0x10
ldr r1, [r1, r2, lsl #2]
mov r1, r1, lsr #0x4
str r1, [r8, #4]
ldrb r2, [sb, #0x33]
ldrb r3, [sb, #0x32]
ldrb r1, [sb, #0x31]
orr r2, r2, #0x80
orr r2, r2, r3, lsl #24
orr r1, r2, r1, lsl #16
str r1, [r7]
mov r1, #0
str r1, [r6]
bl func_0200567c
mov r0, #1
str r0, [r8, #0x58]
ldr r0, _021695ec ; =0x04000040
str fp, [r5]
str r0, [r0, #0x450]
mov r0, #0x400
str r0, [r5]
ldr r1, _021695e4 ; =0xf0001000
ldr r0, [sp]
add sl, sl, #1
str r1, [r0]
mov r0, #0
str r0, [r5]
ldr r1, [sp, #4]
ldr r0, [sp]
add sb, sb, #0x34
str r1, [r0]
mov r0, #0x4000000
str r0, [r5]
ldr r1, [sp, #8]
ldr r0, [sp]
str r1, [r0]
mov r0, #0
str r0, [r8, #0x5c]
ldr r0, [sp, #0xc]
mov r1, #1
str r1, [r0]
ldrsh r0, [r4, #8]
cmp sl, r0
blt _02169504
add sp, sp, #0x20
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_0216945c
_021695dc: .word data_027e0d44
_021695e0: .word 0x040004a8
_021695e4: .word 0xf0001000
_021695e8: .word 0x192f0000
_021695ec: .word 0x04000040
.global func_ov18_021695f0
arm_func_start func_ov18_021695f0
func_ov18_021695f0: ; 0x021695f0
stmdb sp!, {r3, r4, r5, lr}
mov r2, #0x540
str r2, [sp]
mov r5, r0
ldr r0, [r5, #8]
ldr r2, _0216962c ; =data_ov00_020eacd0
ldr r3, _02169630 ; =0x00000eb8
mov r4, #0
blx func_ov00_0207a300
cmp r0, #0
movne r4, #1
mov r0, r5
mov r1, r4
blx func_ov09_02114520
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_021695f0
_0216962c: .word data_ov00_020eacd0
_02169630: .word 0x00000eb8
.global func_ov18_02169634
arm_func_start func_ov18_02169634
func_ov18_02169634: ; 0x02169634
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
sub sp, sp, #0xc
mov r4, r0
bl func_0203951c
cmp r0, #0
addeq sp, sp, #0xc
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
ldr r0, _021697d8 ; =data_027e103c
ldr r0, [r0]
bl func_ov00_020cf0dc
ldrb r0, [r0, #0x58a]
cmp r0, #0
addeq sp, sp, #0xc
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
ldr r6, _021697dc ; =data_027e0d78
add r3, r4, #0x100
ldr r1, [r4, #0x14]
ldr r0, [r4, #0x18]
mov r1, r1, lsl #0x3
mov r0, r0, lsl #0x3
ldrh ip, [r6, #0x34]
ldrsh r8, [r3, #0x58]
add r2, r1, r1, lsr #31
ldrsh lr, [r3, #0x5a]
add r5, r0, r0, lsr #31
ldr r7, [r6, #0x10]
sub r3, r8, r2, asr #1
ldr r8, [r6, #0x14]
sub r2, lr, r5, asr #1
tst ip, #1
sub r5, r1, #2
sub r6, r0, #2
sub r7, r7, r3
sub r8, r8, r2
beq _0216970c
cmp r7, #0
blt _0216970c
cmp r7, r5
bgt _0216970c
cmp r8, #0
blt _0216970c
cmp r8, r6
bgt _0216970c
mov r3, #1
strb r3, [r4, #0x57d]
mov r0, r4
mov r4, #2
mov r1, r7
mov r2, r8
mov r3, #6
str r4, [sp]
bl func_ov18_021699e4
add sp, sp, #0xc
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
_0216970c:
ldrb lr, [r4, #0x57d]
cmp lr, #0
ldrne r0, _021697dc ; =data_027e0d78
ldrneb r1, [r0, #0xc]
cmpne r1, #0
beq _021697a8
ldr ip, [r0, #0x20]
mov r1, #6
sub r2, ip, r2
str r2, [sp]
str r1, [sp, #4]
mov r1, #2
str r1, [sp, #8]
ldr ip, [r0, #0x1c]
mov r0, r4
mov r1, r7
mov r2, r8
sub r3, ip, r3
bl func_ov18_021697e4
ldr r0, _021697dc ; =data_027e0d78
cmp r7, #0
addlt sp, sp, #0xc
ldr r1, [r0, #0x10]
ldr r2, [r0, #0x14]
ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc}
cmp r7, r5
addgt sp, sp, #0xc
ldmgtia sp!, {r3, r4, r5, r6, r7, r8, pc}
cmp r8, #0
addlt sp, sp, #0xc
ldmltia sp!, {r3, r4, r5, r6, r7, r8, pc}
cmp r8, r6
addgt sp, sp, #0xc
ldmgtia sp!, {r3, r4, r5, r6, r7, r8, pc}
ldr r0, _021697e0 ; =data_ov00_020ee6f8
mov r3, #0x1e
bl func_ov00_020d61b0
add sp, sp, #0xc
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
_021697a8:
cmp lr, #0
addeq sp, sp, #0xc
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
tst ip, #2
addeq sp, sp, #0xc
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
mov r0, #0
strb r0, [r4, #0x57d]
mov r0, #1
strb r0, [r4, #0x57e]
add sp, sp, #0xc
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov18_02169634
_021697d8: .word data_027e103c
_021697dc: .word data_027e0d78
_021697e0: .word data_ov00_020ee6f8
.global func_ov18_021697e4
arm_func_start func_ov18_021697e4
func_ov18_021697e4: ; 0x021697e4
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x10
ldr r8, [sp, #0x40]
mov r7, r1
ldr r1, [sp, #0x38]
ldr sb, [sp, #0x3c]
mov r4, r0
mov sl, r2
str r3, [sp, #4]
cmp r8, #0
str r1, [sp, #0x38]
addeq sp, sp, #0x10
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
mov r1, r3
subs r6, r1, r7
ldr r1, [sp, #0x38]
sub r5, r1, sl
cmpeq r5, #0
bne _0216984c
ldr r2, [sp, #0x38]
mov r1, r3
mov r3, sb
str r8, [sp]
bl func_ov18_021699e4
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0216984c:
cmp r6, #0
strge r6, [sp, #8]
rsblt r0, r6, #0
strlt r0, [sp, #8]
cmp r5, #0
movge fp, r5
ldr r1, [sp, #8]
rsblt fp, r5, #0
mov r1, r1, lsl #0xc
mov r0, fp, lsl #0xc
smull ip, r3, r1, r1
smull r2, r1, r0, r0
adds r0, ip, #0x800
adc r3, r3, #0
adds r2, r2, #0x800
mov r0, r0, lsr #0xc
adc r1, r1, #0
mov r2, r2, lsr #0xc
orr r0, r0, r3, lsl #20
orr r2, r2, r1, lsl #20
add r0, r0, r2
bl func_01ff9a80
ldr r0, [sp, #8]
cmp r0, fp
blt _02169948
mov r0, r5, lsl #0xc
mov r1, r6, lsl #0xc
bl func_01ff9b24
ldr r0, [sp, #4]
mov r5, sl, lsl #0xc
cmp r7, r0
movle fp, #1
mvngt fp, #0
bl func_01ff9a18
mov r6, r0
ldr r0, [sp, #0x38]
cmp sl, r0
bgt _021698f0
cmp r6, #0
rsblt r6, r6, #0
b _021698f8
_021698f0:
cmp r6, #0
rsbgt r6, r6, #0
_021698f8:
ldr r0, [sp, #8]
mov sl, #0
cmp r0, #0
addlt sp, sp, #0x10
ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0216990c:
add r2, r5, #0x800
mov r0, r4
mov r1, r7
mov r3, sb
mov r2, r2, asr #0xc
str r8, [sp]
bl func_ov18_021699e4
ldr r0, [sp, #8]
add sl, sl, #1
cmp sl, r0
add r7, r7, fp
add r5, r5, r6
ble _0216990c
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_02169948:
mov r0, r6, lsl #0xc
mov r1, r5, lsl #0xc
bl func_01ff9b24
ldr r0, [sp, #0x38]
mov r5, r7, lsl #0xc
cmp sl, r0
movle r0, #1
strle r0, [sp, #0xc]
mvngt r0, #0
strgt r0, [sp, #0xc]
bl func_01ff9a18
mov r6, r0
ldr r0, [sp, #4]
cmp r7, r0
bgt _02169990
cmp r6, #0
rsblt r6, r6, #0
b _02169998
_02169990:
cmp r6, #0
rsbgt r6, r6, #0
_02169998:
cmp fp, #0
mov r7, #0
addlt sp, sp, #0x10
ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_021699a8:
add r1, r5, #0x800
mov r0, r4
mov r2, sl
mov r3, sb
mov r1, r1, asr #0xc
str r8, [sp]
bl func_ov18_021699e4
ldr r0, [sp, #0xc]
add r7, r7, #1
cmp r7, fp
add r5, r5, r6
add sl, sl, r0
ble _021699a8
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
arm_func_end func_ov18_021697e4
.global func_ov18_021699e4
arm_func_start func_ov18_021699e4
func_ov18_021699e4: ; 0x021699e4
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr}
sub sp, sp, #4
mov r7, r0
ldr r0, [r7, #0x18]
ldr r4, [r7, #0x14]
movs r6, r1
mov r1, r4, lsl #0x3
mov r0, r0, lsl #0x3
mov r5, r2
mov r4, r3
addmi sp, sp, #4
sub r1, r1, #2
sub r0, r0, #2
ldmmiia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
cmp r6, r1
addgt sp, sp, #4
ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
cmp r5, #0
addlt sp, sp, #4
ldmltia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
cmp r5, r0
addgt sp, sp, #4
ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
ldrb sl, [sp, #0x28]
mov sb, #0
cmp sl, #0
addle sp, sp, #4
ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
sub r8, sl, #1
_02169a58:
mov r0, r7
mov r1, r6
add r2, r6, r8
add r3, r5, sb
str r4, [sp]
bl func_0203e2e8
add sb, sb, #1
cmp sb, sl
blt _02169a58
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
arm_func_end func_ov18_021699e4
.global func_ov18_02169a84
arm_func_start func_ov18_02169a84
func_ov18_02169a84: ; 0x02169a84
stmdb sp!, {r4, lr}
sub sp, sp, #0x10
mov r4, r0
bl func_ov00_020d0460
mov r0, #0
str r0, [r4, #8]
mov r1, #0x28000
str r1, [r4, #0xc]
mov r3, #3
add r1, r4, #0x14
mov r2, #0x540
strb r3, [r4, #0x10]
bl func_020078f4
ldr r0, _02169b64 ; =data_ov00_020eacd0
add r1, r4, #0x14
mov r2, #0x540
bl func_02007984
mov r1, #0
add r0, r4, #0x158
str r1, [r4, #0x554]
ldr r2, _02169b68 ; =func_ov18_0215fda4
ldr r3, _02169b6c ; =func_ov18_02169b70
str r2, [sp]
add r0, r0, #0x400
mov r1, #2
mov r2, #0x18
bl func_0204f614
mov r2, #0
mov r1, #0x3c
add r0, r4, #0x500
strh r1, [r0, #0x88]
strb r2, [r4, #0x58a]
mov r0, #0x90
str r0, [sp]
mov r0, #1
stmib sp, {r0, r2}
add r0, r4, #0x158
add r0, r0, #0x400
mov r1, #0x47
mov r3, r2
str r2, [sp, #0xc]
bl func_ov00_020cfed0
mov r0, #0x91
str r0, [sp]
mov r2, #1
str r2, [sp, #4]
mov r0, #0
str r0, [sp, #8]
str r0, [sp, #0xc]
add r0, r4, #0x570
mov r1, #0x47
mov r3, r2
bl func_ov00_020cfed0
mov r0, r4
add sp, sp, #0x10
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02169a84
_02169b64: .word data_ov00_020eacd0
_02169b68: .word func_ov18_0215fda4
_02169b6c: .word func_ov18_02169b70
.global func_ov18_02169b70
arm_func_start func_ov18_02169b70
func_ov18_02169b70: ; 0x02169b70
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020d05dc
ldr r0, _02169ba8 ; =data_ov00_020e899c
mov r1, #0
str r0, [r4]
strb r1, [r4, #0x10]
sub r0, r1, #1
strb r0, [r4, #0x11]
strb r0, [r4, #0x12]
strb r0, [r4, #0x13]
mov r0, r4
str r1, [r4, #0x14]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_02169b70
_02169ba8: .word data_ov00_020e899c
.global func_ov18_02169bac
arm_func_start func_ov18_02169bac
func_ov18_02169bac: ; 0x02169bac
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x1c
mov r4, r0
str r1, [sp]
movs r0, r1
beq _02169cec
add r0, sp, #4
bl func_02037628
mov r6, #6
mov r5, #0x80
mov r3, #0x7a
strh r3, [sp, #0x16]
ldr r0, _02169d20 ; =data_027e0c68
ldr r1, _02169d24 ; =0x00140018
add r2, sp, #4
str r6, [sp, #0x10]
strh r5, [sp, #0x14]
mov r3, #0
bl func_02036f68
str r0, [r4, #0x554]
mov r1, #7
strb r1, [r0, #0x151]
ldr r3, [r4, #0x554]
mov r2, #0
ldr r0, _02169d28 ; =data_027e0cbc
mov r1, #0x2a
strb r2, [r3, #0x57e]
bl func_ov03_020fa874
ldr r0, _02169d2c ; =data_027e103c
mov r1, #1
ldr r0, [r0]
mov r2, #0
bl func_ov00_020cf9dc
ldr r0, [r4, #0x554]
ldr r0, [r0, #0x114]
bl func_0203d1b4
mov r7, #0
mov sl, #1
mov r5, r6
mov r8, r7
mov sb, r7
mov fp, r7
mov r3, sl
mov r6, sl
_02169c5c:
mov r2, sb, lsr #0x5
add r2, r4, r2, lsl #2
ldr r2, [r2, #0x14]
and r1, sb, #0x1f
tst r2, r6, lsl r1
movne r1, r5
moveq r1, fp
and ip, r1, #0xff
ldrb lr, [r0, r8]
mov r1, sl, lsr #0x5
and r2, sl, #0x1f
orr ip, lr, ip
strb ip, [r0, r8]
add r1, r4, r1, lsl #2
ldr r1, [r1, #0x14]
add sb, sb, #2
tst r1, r3, lsl r2
movne r1, #6
moveq r1, #0
ldrb r2, [r0, r8]
and r1, r1, #0xff
add sl, sl, #2
orr r1, r2, r1, lsl #4
strb r1, [r0, r8]
tst r1, #0xff
add r8, r8, #1
movne r7, #1
cmp r8, #0x1500
blo _02169c5c
cmp r7, #0
ldrne r0, [r4, #0x554]
movne r1, #1
strneb r1, [r0, #0x57e]
ldrsh r0, [r4, #4]
strh r0, [r4]
b _02169d10
_02169cec:
ldr r0, _02169d2c ; =data_027e103c
mov r1, #0
ldr r0, [r0]
mov r2, r1
bl func_ov00_020cf9dc
mov r1, #0
ldr r0, _02169d28 ; =data_027e0cbc
mov r2, r1
bl func_ov03_020fa874
_02169d10:
ldr r0, [sp]
strb r0, [r4, #0x58a]
add sp, sp, #0x1c
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_02169bac
_02169d20: .word data_027e0c68
_02169d24: .word 0x00140018
_02169d28: .word data_027e0cbc
_02169d2c: .word data_027e103c
.global func_ov18_02169d30
arm_func_start func_ov18_02169d30
func_ov18_02169d30: ; 0x02169d30
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mov sl, r0
ldrb r0, [sl, #0x58a]
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r0, [sl, #0x554]
cmp r0, #0
beq _02169d64
bl func_0203951c
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_02169d64:
ldr r0, _02169e20 ; =data_027e0cbc
mov r1, #0x16
bl func_0203d7e0
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
mov sb, #0
add r0, sl, #0x158
mov r6, sb
mov r8, sl
add r7, r0, #0x400
mov fp, sb
mov r4, #1
mov r5, sb
_02169d9c:
cmp r6, #0
bne _02169db4
ldrsh r1, [sl]
ldrsh r0, [sl, #2]
cmp r1, r0
bne _02169e04
_02169db4:
mov r0, r7
ldr ip, [r0]
mov r1, r5
ldr ip, [ip]
mov r2, r5
mov r3, r5
blx ip
tst r0, #8
beq _02169e04
cmp sb, #0
bne _02169df8
add r0, r8, #0x500
ldrh r1, [r0, #0x62]
mov r0, sl
bl func_ov18_02169f58
cmp r0, #0
beq _02169e00
_02169df8:
mov sb, r4
b _02169e04
_02169e00:
mov sb, fp
_02169e04:
add r6, r6, #1
cmp r6, #2
add r7, r7, #0x18
add r8, r8, #0x18
blt _02169d9c
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_02169d30
_02169e20: .word data_027e0cbc
.global func_ov18_02169e24
arm_func_start func_ov18_02169e24
func_ov18_02169e24: ; 0x02169e24
stmdb sp!, {r3, lr}
ldrb r2, [r0, #0x58a]
cmp r2, #0
ldmeqia sp!, {r3, pc}
cmp r1, #0
ldmneia sp!, {r3, pc}
ldr r1, [r0, #0x554]
cmp r1, #0
ldmeqia sp!, {r3, pc}
ldrb r1, [r1, #0x57e]
cmp r1, #0
bne _02169e5c
bl func_ov00_020d054c
ldmia sp!, {r3, pc}
_02169e5c:
bl func_ov00_020d0594
ldmia sp!, {r3, pc}
arm_func_end func_ov18_02169e24
.global func_ov18_02169e64
arm_func_start func_ov18_02169e64
func_ov18_02169e64: ; 0x02169e64
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
sub sp, sp, #4
mov r4, r0
ldrb r0, [r4, #0x58a]
cmp r0, #0
addeq sp, sp, #4
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
ldr r0, [r4, #0x554]
cmp r0, #0
beq _02169e9c
bl func_0203951c
cmp r0, #0
addeq sp, sp, #4
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
_02169e9c:
ldr r0, _02169f54 ; =data_027e0cbc
mov r1, #0x16
bl func_0203d7e0
cmp r0, #0
addeq sp, sp, #4
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
ldrsh r0, [r4]
ldrsh r2, [r4, #2]
cmp r0, r2
moveq r3, #0
beq _02169ef0
ldrsh r1, [r4, #4]
cmp r0, r1
moveq r3, #0x1000
beq _02169ef0
sub r0, r0, r2
sub r1, r1, r2
mov r0, r0, lsl #0xc
mov r1, r1, lsl #0xc
bl func_01ff98e0
mov r3, r0
_02169ef0:
ldrb r0, [r4, #0x10]
ldr r1, [r4, #8]
ldr r2, [r4, #0xc]
bl func_ov00_020d02bc
add r1, r0, #0x800
add r0, r4, #0x158
mov r6, #0
mov r7, r1, asr #0xc
add r8, r0, #0x400
mov r5, r6
mov r4, r6
_02169f1c:
cmp r6, #0
moveq r2, r7
movne r2, r5
mov r0, r8
mov r1, r4
mov r3, r4
str r4, [sp]
bl func_ov00_020d00c4
add r6, r6, #1
cmp r6, #2
add r8, r8, #0x18
blt _02169f1c
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov18_02169e64
_02169f54: .word data_027e0cbc
.global func_ov18_02169f58
arm_func_start func_ov18_02169f58
func_ov18_02169f58: ; 0x02169f58
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mov r4, r0
cmp r1, #0x90
beq _02169f74
cmp r1, #0x91
beq _0216a0a0
b _0216a0cc
_02169f74:
ldr r0, _0216a0d4 ; =data_ov00_020eec9c
mov r1, #4
bl func_ov00_020d77e4
add r1, r4, #0x14
mov r0, #0
mov r2, #0x540
bl func_020078f4
ldr r0, _0216a0d8 ; =data_027e0c68
ldr r0, [r0, #0x28]
ldr r0, [r0, #0x114]
bl func_0203d1b4
mov lr, #1
mov r3, #0
mov ip, r3
mov fp, r3
mov r2, lr
mov sb, lr
mov r1, lr
mov r5, lr
mov r8, lr
_02169fc4:
ldrb r6, [r0, r3]
and r6, r6, #0xf
cmp r6, #0
movgt r6, r2
movle r6, fp
cmp r6, #0
mov r6, ip, lsr #0x5
beq _02169ffc
add sl, r4, r6, lsl #2
ldr r7, [sl, #0x14]
and r6, ip, #0x1f
orr r6, r7, r1, lsl r6
str r6, [sl, #0x14]
b _0216a014
_02169ffc:
add r7, r4, r6, lsl #2
and sl, ip, #0x1f
ldr r6, [r7, #0x14]
mvn sl, sb, lsl sl
and r6, r6, sl
str r6, [r7, #0x14]
_0216a014:
ldrb r6, [r0, r3]
mov r6, r6, asr #0x4
cmp r6, #0
movgt r6, #1
movle r6, #0
cmp r6, #0
mov r6, lr, lsr #0x5
beq _0216a04c
add sl, r4, r6, lsl #2
ldr r7, [sl, #0x14]
and r6, lr, #0x1f
orr r6, r7, r8, lsl r6
str r6, [sl, #0x14]
b _0216a064
_0216a04c:
add r7, r4, r6, lsl #2
and sl, lr, #0x1f
ldr r6, [r7, #0x14]
mvn sl, r5, lsl sl
and r6, r6, sl
str r6, [r7, #0x14]
_0216a064:
add r3, r3, #1
cmp r3, #0x1500
add ip, ip, #2
add lr, lr, #2
blo _02169fc4
ldr r0, _0216a0dc ; =data_027e0d54
add r1, r4, #0x14
bl func_ov18_021695f0
ldr r0, _0216a0d8 ; =data_027e0c68
ldr r0, [r0, #0x28]
bl func_02038b40
mov r0, r4
mov r1, #0
bl func_ov18_02169bac
b _0216a0cc
_0216a0a0:
ldr r0, _0216a0d4 ; =data_ov00_020eec9c
mov r1, #0x11
bl func_ov00_020d77e4
ldr r0, [r4, #0x554]
mov r1, #0
ldr r2, [r0]
ldr r2, [r2, #0x10]
blx r2
ldr r0, [r4, #0x554]
mov r1, #0
strb r1, [r0, #0x57e]
_0216a0cc:
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_02169f58
_0216a0d4: .word data_ov00_020eec9c
_0216a0d8: .word data_027e0c68
_0216a0dc: .word data_027e0d54
.global func_ov18_0216a0e0
arm_func_start func_ov18_0216a0e0
func_ov18_0216a0e0: ; 0x0216a0e0
stmdb sp!, {r3, lr}
ldr r1, _0216a10c ; =data_027e0fe0
mov r0, #0x164
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov18_0216a110
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216a0e0
_0216a10c: .word data_027e0fe0
.global func_ov18_0216a110
arm_func_start func_ov18_0216a110
func_ov18_0216a110: ; 0x0216a110
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c1554
ldr r1, _0216a140 ; =data_ov18_0216d324
mov r0, #0x1000
str r1, [r4]
str r0, [r4, #0x158]
mov r1, #0
str r1, [r4, #0x15c]
mov r0, r4
str r1, [r4, #0x160]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0216a110
_0216a140: .word data_ov18_0216d324
.global func_ov18_0216a144
arm_func_start func_ov18_0216a144
func_ov18_0216a144: ; 0x0216a144
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c1730
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216a144
.global func_ov18_0216a158
arm_func_start func_ov18_0216a158
func_ov18_0216a158: ; 0x0216a158
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c1730
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216a158
.global func_ov18_0216a174
arm_func_start func_ov18_0216a174
func_ov18_0216a174: ; 0x0216a174
stmdb sp!, {r3, lr}
mov ip, #0
str ip, [r0, #0x7c]
str ip, [r0, #0x80]
str ip, [r0, #0x84]
str ip, [r0, #0x88]
ldr r2, [r0, #0x7c]
mov r1, #1
str r2, [r0, #0x8c]
ldr r3, [r0, #0x80]
mov r2, r1
str r3, [r0, #0x90]
ldr r3, [r0, #0x84]
str r3, [r0, #0x94]
ldr r3, [r0, #0x88]
str r3, [r0, #0x98]
str ip, [r0, #0xa8]
str ip, [r0, #0xac]
str ip, [r0, #0xb0]
str ip, [r0, #0xb4]
bl func_ov18_0216a2d8
mov r0, #1
ldmia sp!, {r3, pc}
arm_func_end func_ov18_0216a174
.global func_ov18_0216a1d0
arm_func_start func_ov18_0216a1d0
func_ov18_0216a1d0: ; 0x0216a1d0
stmdb sp!, {r3, lr}
str r1, [r0, #0x158]
ldr lr, [r0, #0x50]
ldr ip, [r0, #0x4c]
ldr r3, [r0, #0x48]
str r3, [r0, #0x7c]
str ip, [r0, #0x80]
str lr, [r0, #0x84]
str r1, [r0, #0x88]
ldr r1, [r0, #0x7c]
str r1, [r0, #0x8c]
ldr r1, [r0, #0x80]
str r1, [r0, #0x90]
ldr r1, [r0, #0x84]
str r1, [r0, #0x94]
ldr r1, [r0, #0x88]
str r1, [r0, #0x98]
ldr lr, [r0, #0x158]
ldr ip, [r0, #0x50]
ldr r3, [r0, #0x4c]
ldr r1, [r0, #0x48]
str r1, [r0, #0xa8]
str r3, [r0, #0xac]
str ip, [r0, #0xb0]
str lr, [r0, #0xb4]
str r2, [r0, #0x15c]
ldmia sp!, {r3, pc}
arm_func_end func_ov18_0216a1d0
.global func_ov18_0216a23c
arm_func_start func_ov18_0216a23c
func_ov18_0216a23c: ; 0x0216a23c
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
bl func_ov00_020c313c
cmp r0, #0
ldrne r0, [r5, #0x130]
cmpne r0, #0
beq _0216a2c4
cmp r0, #1
beq _0216a270
cmp r0, #2
beq _0216a2a0
b _0216a2c4
_0216a270:
mov r0, r5
ldr r2, [r0]
mov r1, #1
ldr r2, [r2, #0x40]
blx r2
cmp r0, #0
beq _0216a2c4
mov r0, r5
mov r1, #2
mov r2, #0
bl func_ov18_0216a2d8
b _0216a2c4
_0216a2a0:
ldr r0, [r5, #0x160]
sub r0, r0, #1
str r0, [r5, #0x160]
cmp r0, #0
bgt _0216a2c4
mov r0, r5
mov r1, #1
mov r2, #0
bl func_ov18_0216a2d8
_0216a2c4:
mov r1, r4
add r0, r5, #0xa4
add r2, r5, #0x48
bl func_ov00_0207a1c8
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov18_0216a23c
.global func_ov18_0216a2d8
arm_func_start func_ov18_0216a2d8
func_ov18_0216a2d8: ; 0x0216a2d8
stmdb sp!, {r4, lr}
mov r4, r0
str r1, [r4, #0x130]
cmp r1, #0
beq _0216a300
cmp r1, #1
beq _0216a30c
cmp r1, #2
beq _0216a320
b _0216a340
_0216a300:
mov r0, #0
str r0, [r4, #0x12c]
b _0216a340
_0216a30c:
mov r0, #1
str r0, [r4, #0x12c]
mov r0, #0
str r0, [r4, #0x160]
b _0216a340
_0216a320:
mov r3, #0
str r3, [r4, #0x12c]
ldr r1, [r4, #0x15c]
ldr r0, _0216a348 ; =data_027e0c68
add r2, r4, #0x48
bl func_02036da8
mov r0, #0xf
str r0, [r4, #0x160]
_0216a340:
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0216a2d8
_0216a348: .word data_027e0c68
.global func_ov18_0216a34c
arm_func_start func_ov18_0216a34c
func_ov18_0216a34c: ; 0x0216a34c
ldr r2, _0216a3a8 ; =data_ov18_0216d418
mov r3, #0
str r2, [r0]
ldr ip, [r1]
ldr r2, _0216a3ac ; =0x0000ffff
str ip, [r0, #4]
str r3, [r0, #8]
str r3, [r0, #0xc]
strh r2, [r0, #0x10]
strh r3, [r0, #0x12]
mov r2, #1
strb r2, [r0, #0x14]
ldrb r2, [r1, #4]
strb r2, [r0, #0x15]
ldrb r2, [r1, #5]
strb r2, [r0, #0x16]
ldrb r2, [r1, #6]
strb r2, [r0, #0x17]
ldrb r2, [r1, #7]
strb r2, [r0, #0x18]
ldrb r1, [r1, #8]
strb r1, [r0, #0x19]
bx lr
.align 2, 0
arm_func_end func_ov18_0216a34c
_0216a3a8: .word data_ov18_0216d418
_0216a3ac: .word 0x0000ffff
.global func_ov18_0216a3b0
arm_func_start func_ov18_0216a3b0
func_ov18_0216a3b0: ; 0x0216a3b0
bx lr
arm_func_end func_ov18_0216a3b0
.global func_ov18_0216a3b4
arm_func_start func_ov18_0216a3b4
func_ov18_0216a3b4: ; 0x0216a3b4
stmdb sp!, {r4, lr}
mov r4, r0
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216a3b4
.global func_ov18_0216a3c8
arm_func_start func_ov18_0216a3c8
func_ov18_0216a3c8: ; 0x0216a3c8
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x24
mov r4, r0
ldr r1, [r4, #4]
ldr r0, _0216a5b0 ; =data_ov18_0216b6f4
mov r1, r1, lsl #0x1
ldrh r2, [r0, r1]
ldr r1, _0216a5b4 ; =data_027e0e60
add r0, sp, #0x14
strh r2, [r4, #0x10]
ldrb r2, [r4, #0x15]
ldr r1, [r1]
bl func_ov00_02083560
ldrb lr, [r4, #0x16]
ldrb ip, [r4, #0x17]
ldrb r1, [sp, #0x15]
ldr r0, _0216a5b4 ; =data_027e0e60
strb lr, [sp, #0x12]
str r1, [sp]
ldr r0, [r0]
sub r1, sp, #4
strb lr, [r1]
strb ip, [r1, #1]
ldr r2, [r1]
ldrb r3, [sp, #0x14]
add r1, sp, #0x18
strb ip, [sp, #0x13]
bl func_ov00_02083ce8
ldr r0, _0216a5b4 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_0208330c
cmp r0, #0
beq _0216a47c
add r0, r4, #8
str r0, [sp]
mov r2, #0
add r0, r4, #0xc
stmib sp, {r0, r2}
ldr r0, _0216a5b8 ; =data_027e0d3c
str r2, [sp, #0xc]
ldr r0, [r0]
add r1, sp, #0x18
mov r3, r2
bl func_ov00_02079470
b _0216a4a4
_0216a47c:
ldr r0, _0216a5b4 ; =data_027e0e60
ldrb lr, [r4, #0x17]
ldrb ip, [r4, #0x16]
ldr r0, [r0]
add r1, sp, #0x10
add r2, r4, #8
add r3, r4, #0xc
strb ip, [sp, #0x10]
strb lr, [sp, #0x11]
bl func_ov00_02082d84
_0216a4a4:
ldr r0, _0216a5b4 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_02083344
cmp r0, #2
bge _0216a4cc
ldr r0, _0216a5b4 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_02083350
cmp r0, #2
blt _0216a504
_0216a4cc:
ldr r0, _0216a5bc ; =data_ov18_0216b710
ldmib r4, {r1, r2}
ldr r0, [r0, r1, lsl #2]
ldr r1, _0216a5c0 ; =data_ov18_0216b748
add r0, r0, r0, lsr #31
add r0, r2, r0, asr #1
str r0, [r4, #8]
ldr r0, [r4, #4]
ldr r2, [r4, #0xc]
ldr r0, [r1, r0, lsl #2]
add r0, r0, r0, lsr #31
add r0, r2, r0, asr #1
str r0, [r4, #0xc]
b _0216a530
_0216a504:
ldr r0, _0216a5bc ; =data_ov18_0216b710
ldmib r4, {r1, r2}
ldr r1, [r0, r1, lsl #2]
ldr r0, _0216a5c0 ; =data_ov18_0216b748
add r1, r2, r1
str r1, [r4, #8]
ldr r1, [r4, #4]
ldr r2, [r4, #0xc]
ldr r0, [r0, r1, lsl #2]
add r0, r2, r0
str r0, [r4, #0xc]
_0216a530:
ldr r0, [r4, #4]
cmp r0, #0xd
addls pc, pc, r0, lsl #2
b _0216a5a8
_0216a540: ; jump table
b _0216a5a8 ; case 0
b _0216a5a8 ; case 1
b _0216a5a8 ; case 2
b _0216a5a8 ; case 3
b _0216a5a8 ; case 4
b _0216a578 ; case 5
b _0216a5a8 ; case 6
b _0216a5a8 ; case 7
b _0216a5a8 ; case 8
b _0216a5a8 ; case 9
b _0216a578 ; case 10
b _0216a5a8 ; case 11
b _0216a588 ; case 12
b _0216a59c ; case 13
_0216a578:
mov r0, #0x4000
add sp, sp, #0x24
strh r0, [r4, #0x12]
ldmia sp!, {r3, r4, pc}
_0216a588:
mov r0, #0x4000
rsb r0, r0, #0
add sp, sp, #0x24
strh r0, [r4, #0x12]
ldmia sp!, {r3, r4, pc}
_0216a59c:
mov r0, #0x8000
rsb r0, r0, #0
strh r0, [r4, #0x12]
_0216a5a8:
add sp, sp, #0x24
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_0216a3c8
_0216a5b0: .word data_ov18_0216b6f4
_0216a5b4: .word data_027e0e60
_0216a5b8: .word data_027e0d3c
_0216a5bc: .word data_ov18_0216b710
_0216a5c0: .word data_ov18_0216b748
.global func_ov18_0216a5c4
arm_func_start func_ov18_0216a5c4
func_ov18_0216a5c4: ; 0x0216a5c4
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #4]
cmp r0, #0xd
addls pc, pc, r0, lsl #2
ldmia sp!, {r4, pc}
_0216a5dc: ; jump table
ldmia sp!, {r4, pc} ; case 0
ldmia sp!, {r4, pc} ; case 1
ldmia sp!, {r4, pc} ; case 2
ldmia sp!, {r4, pc} ; case 3
b _0216a63c ; case 4
b _0216a63c ; case 5
b _0216a614 ; case 6
b _0216a63c ; case 7
b _0216a63c ; case 8
b _0216a63c ; case 9
b _0216a674 ; case 10
b _0216a674 ; case 11
b _0216a674 ; case 12
b _0216a674 ; case 13
_0216a614:
ldr r0, _0216a6ac ; =data_027e0f74
mov r1, #0x31
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #0
strneb r0, [r4, #0x14]
moveq r0, #1
streqb r0, [r4, #0x14]
ldmia sp!, {r4, pc}
_0216a63c:
ldrb r2, [r4, #0x18]
cmp r2, #2
cmpne r2, #3
ldmneia sp!, {r4, pc}
ldr r0, _0216a6b0 ; =data_027e0e60
ldrb r1, [r4, #0x19]
ldr r0, [r0]
bl func_ov00_02084be0
cmp r0, #0
movne r0, #0
strneb r0, [r4, #0x14]
moveq r0, #1
streqb r0, [r4, #0x14]
ldmia sp!, {r4, pc}
_0216a674:
ldrb r2, [r4, #0x18]
cmp r2, #2
cmpne r2, #3
ldmneia sp!, {r4, pc}
ldr r0, _0216a6b0 ; =data_027e0e60
ldrb r1, [r4, #0x19]
ldr r0, [r0]
bl func_ov00_02084be0
cmp r0, #0
movne r0, #1
strneb r0, [r4, #0x14]
moveq r0, #0
streqb r0, [r4, #0x14]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov18_0216a5c4
_0216a6ac: .word data_027e0f74
_0216a6b0: .word data_027e0e60
.global func_ov18_0216a6b4
arm_func_start func_ov18_0216a6b4
func_ov18_0216a6b4: ; 0x0216a6b4
stmdb sp!, {r4, r5, r6, lr}
mov r4, r0
ldrb r0, [r4, #0x14]
mov r6, r1
cmp r0, #0
ldmeqia sp!, {r4, r5, r6, pc}
ldr r0, _0216a77c ; =data_027e0e60
ldrb r5, [r4, #0x15]
ldr r0, [r0]
bl func_ov00_02082d08
cmp r0, r5
ldmeqia sp!, {r4, r5, r6, pc}
ldrh r0, [r6]
tst r0, #4
bne _0216a6f8
tst r0, #8
ldmeqia sp!, {r4, r5, r6, pc}
_0216a6f8:
ldr r0, [r4, #4]
cmp r0, #0xd
addls pc, pc, r0, lsl #2
ldmia sp!, {r4, r5, r6, pc}
_0216a708: ; jump table
b _0216a74c ; case 0
b _0216a74c ; case 1
b _0216a74c ; case 2
b _0216a74c ; case 3
b _0216a740 ; case 4
b _0216a740 ; case 5
b _0216a740 ; case 6
b _0216a758 ; case 7
b _0216a758 ; case 8
b _0216a764 ; case 9
b _0216a770 ; case 10
b _0216a770 ; case 11
b _0216a770 ; case 12
b _0216a770 ; case 13
_0216a740:
mov r0, r4
bl func_ov18_0216a780
ldmia sp!, {r4, r5, r6, pc}
_0216a74c:
mov r0, r4
bl func_ov18_0216a874
ldmia sp!, {r4, r5, r6, pc}
_0216a758:
mov r0, r4
bl func_ov18_0216a8f4
ldmia sp!, {r4, r5, r6, pc}
_0216a764:
mov r0, r4
bl func_ov18_0216ab44
ldmia sp!, {r4, r5, r6, pc}
_0216a770:
mov r0, r4
bl func_ov18_0216a9dc
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov18_0216a6b4
_0216a77c: .word data_027e0e60
.global func_ov18_0216a780
arm_func_start func_ov18_0216a780
func_ov18_0216a780: ; 0x0216a780
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x4c
mov r4, r0
add r0, sp, #0x2c
bl func_01ffbe34
mov r0, #1
mov r1, #2
strb r0, [sp, #0x37]
str r1, [sp, #0x30]
ldrsh r1, [r4, #0x12]
ldr r3, _0216a868 ; =data_02050f54
add r0, sp, #0x1c
add r1, r1, #0xf
mov r1, r1, lsl #0x10
mov r1, r1, lsr #0x10
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8018
ldr r0, _0216a86c ; =data_027e0d3c
mov r1, #0
ldr r0, [r0]
bl func_ov00_02079008
add ip, sp, #0xc
ldmia r0, {r0, r1, r2, r3}
stmia ip, {r0, r1, r2, r3}
add r0, sp, #0x1c
mov r1, ip
mov r2, ip
bl func_01ff8024
add r1, sp, #0xc
str r1, [sp, #0x2c]
ldr r2, [r4, #8]
ldr r0, _0216a86c ; =data_027e0d3c
str r2, [sp, #8]
ldr r3, [r4, #0xc]
ldr r0, [r0]
str r3, [sp, #4]
add r1, sp, #8
add r2, sp, #4
mov r3, #0
bl func_ov00_02079680
cmp r0, #0
addeq sp, sp, #0x4c
ldmeqia sp!, {r3, r4, pc}
add r1, sp, #0x2c
str r1, [sp]
ldrh r3, [r4, #0x10]
ldr r0, _0216a870 ; =data_02063e4c
ldr r1, [sp, #8]
ldr r2, [sp, #4]
bl func_020313c8
add sp, sp, #0x4c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_0216a780
_0216a868: .word data_02050f54
_0216a86c: .word data_027e0d3c
_0216a870: .word data_02063e4c
.global func_ov18_0216a874
arm_func_start func_ov18_0216a874
func_ov18_0216a874: ; 0x0216a874
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x2c
mov r4, r0
add r0, sp, #0xc
bl func_01ffbe34
mov r1, #1
ldr r0, _0216a8ec ; =data_027e0d3c
str r1, [sp, #0x10]
strb r1, [sp, #0x17]
ldr r1, [r4, #8]
ldr r0, [r0]
str r1, [sp, #8]
ldr ip, [r4, #0xc]
add r1, sp, #8
add r2, sp, #4
mov r3, #0
str ip, [sp, #4]
bl func_ov00_02079680
cmp r0, #0
addeq sp, sp, #0x2c
ldmeqia sp!, {r3, r4, pc}
add r1, sp, #0xc
str r1, [sp]
ldrh r3, [r4, #0x10]
ldr r0, _0216a8f0 ; =data_02063e4c
ldr r1, [sp, #8]
ldr r2, [sp, #4]
bl func_020313c8
add sp, sp, #0x2c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_0216a874
_0216a8ec: .word data_027e0d3c
_0216a8f0: .word data_02063e4c
.global func_ov18_0216a8f4
arm_func_start func_ov18_0216a8f4
func_ov18_0216a8f4: ; 0x0216a8f4
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
sub sp, sp, #0x2c
mov r4, r0
add r0, sp, #0xc
bl func_01ffbe34
ldr r0, _0216a9d4 ; =data_027e0d3c
mov r2, #2
ldr r0, [r0]
mov r1, #0
str r2, [sp, #0x10]
bl func_ov00_02079008
mov r1, #1
str r0, [sp, #0xc]
strb r1, [sp, #0x17]
ldr r1, [r4, #8]
ldr r0, _0216a9d4 ; =data_027e0d3c
str r1, [sp, #8]
ldr r3, [r4, #0xc]
ldr r0, [r0]
str r3, [sp, #4]
add r1, sp, #8
add r2, sp, #4
mov r3, #0
bl func_ov00_02079680
cmp r0, #0
addeq sp, sp, #0x2c
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
ldr r0, [r4, #4]
cmp r0, #8
bne _0216a9b0
mov r7, #0
ldr r5, _0216a9d8 ; =data_02063e4c
mov r8, r7
add r6, sp, #0xc
_0216a97c:
str r6, [sp]
ldr r1, [sp, #8]
ldrh r3, [r4, #0x10]
ldr r2, [sp, #4]
mov r0, r5
add r1, r1, r8
bl func_020313c8
add r7, r7, #1
cmp r7, #2
add r8, r8, #4
blt _0216a97c
add sp, sp, #0x2c
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
_0216a9b0:
add r1, sp, #0xc
str r1, [sp]
ldrh r3, [r4, #0x10]
ldr r0, _0216a9d8 ; =data_02063e4c
ldr r1, [sp, #8]
ldr r2, [sp, #4]
bl func_020313c8
add sp, sp, #0x2c
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov18_0216a8f4
_0216a9d4: .word data_027e0d3c
_0216a9d8: .word data_02063e4c
.global func_ov18_0216a9dc
arm_func_start func_ov18_0216a9dc
func_ov18_0216a9dc: ; 0x0216a9dc
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0x4c
mov sb, r0
add r0, sp, #0x2c
bl func_01ffbe34
mov r0, #1
mov r1, #2
strb r0, [sp, #0x37]
str r1, [sp, #0x30]
ldrsh r1, [sb, #0x12]
ldr r3, _0216ab38 ; =data_02050f54
add r0, sp, #0x1c
add r1, r1, #0xf
mov r1, r1, lsl #0x10
mov r1, r1, lsr #0x10
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov r4, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, r4]
ldrsh r2, [r3, r2]
blx func_01ff8018
ldr r0, _0216ab3c ; =data_027e0d3c
mov r1, #0
ldr r0, [r0]
bl func_ov00_02079008
add r4, sp, #0xc
ldmia r0, {r0, r1, r2, r3}
stmia r4, {r0, r1, r2, r3}
add r0, sp, #0x1c
mov r1, r4
mov r2, r4
bl func_01ff8024
mov r1, r4
str r1, [sp, #0x2c]
ldr r2, [sb, #8]
ldr r0, _0216ab3c ; =data_027e0d3c
str r2, [sp, #8]
ldr r3, [sb, #0xc]
ldr r0, [r0]
str r3, [sp, #4]
add r1, sp, #8
add r2, sp, #4
mov r3, #0
bl func_ov00_02079680
cmp r0, #0
addeq sp, sp, #0x4c
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
ldr r0, [sb, #4]
mov r6, #5
cmp r0, #0xc
moveq r6, #3
beq _0216aabc
cmp r0, #0xd
moveq r6, #4
_0216aabc:
cmp r6, #0
mov r7, #0
addle sp, sp, #0x4c
ldmleia sp!, {r4, r5, r6, r7, r8, sb, pc}
ldr r4, _0216ab40 ; =data_02063e4c
mov r8, r7
add r5, sp, #0x2c
_0216aad8:
ldr r0, [sb, #4]
cmp r0, #0xb
cmpne r0, #0xd
str r5, [sp]
bne _0216ab08
ldr r2, [sp, #4]
ldrh r3, [sb, #0x10]
ldr r1, [sp, #8]
mov r0, r4
add r2, r2, r8
bl func_020313c8
b _0216ab20
_0216ab08:
ldr r1, [sp, #8]
ldrh r3, [sb, #0x10]
ldr r2, [sp, #4]
mov r0, r4
add r1, r1, r8
bl func_020313c8
_0216ab20:
add r7, r7, #1
cmp r7, r6
add r8, r8, #2
blt _0216aad8
add sp, sp, #0x4c
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov18_0216a9dc
_0216ab38: .word data_02050f54
_0216ab3c: .word data_027e0d3c
_0216ab40: .word data_02063e4c
.global func_ov18_0216ab44
arm_func_start func_ov18_0216ab44
func_ov18_0216ab44: ; 0x0216ab44
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x2c
mov r4, r0
add r0, sp, #0xc
bl func_01ffbe34
ldr r0, _0216abd4 ; =data_027e0d3c
mov r2, #2
ldr r0, [r0]
mov r1, #0
str r2, [sp, #0x10]
bl func_ov00_02079008
mov r1, #1
str r0, [sp, #0xc]
strb r1, [sp, #0x17]
ldr r1, [r4, #8]
ldr r0, _0216abd4 ; =data_027e0d3c
str r1, [sp, #8]
ldr r3, [r4, #0xc]
ldr r0, [r0]
str r3, [sp, #4]
add r1, sp, #8
add r2, sp, #4
mov r3, #0
bl func_ov00_02079680
cmp r0, #0
addeq sp, sp, #0x2c
ldmeqia sp!, {r3, r4, pc}
add r1, sp, #0xc
str r1, [sp]
ldrh r3, [r4, #0x10]
ldr r0, _0216abd8 ; =data_02063e4c
ldr r1, [sp, #8]
ldr r2, [sp, #4]
bl func_020313c8
add sp, sp, #0x2c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov18_0216ab44
_0216abd4: .word data_027e0d3c
_0216abd8: .word data_02063e4c
.global func_ov18_0216abdc
arm_func_start func_ov18_0216abdc
func_ov18_0216abdc: ; 0x0216abdc
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov18_0216aedc
ldr r0, [r4, #8]
cmp r0, #0x30
bhs _0216ac00
mov r0, r4
mov r1, #0x30
bl func_ov18_0216af64
_0216ac00:
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216abdc
.global func_ov18_0216ac08
arm_func_start func_ov18_0216ac08
func_ov18_0216ac08: ; 0x0216ac08
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov18_0216acd8
mov r0, r4
bl func_ov18_0216aef0
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216ac08
.global func_ov18_0216ac24
arm_func_start func_ov18_0216ac24
func_ov18_0216ac24: ; 0x0216ac24
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
sub sp, sp, #0xc
ldr r2, _0216acd4 ; =data_027e0d38
mov r7, r0
ldr r0, [r2]
mov r6, r1
add r0, r0, #0xc
bl func_ov00_020a5e9c
cmp r0, #0x1a
addeq sp, sp, #0xc
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
ldrh r0, [r6, #8]
mov r4, #0
cmp r0, #0
addle sp, sp, #0xc
ldmleia sp!, {r3, r4, r5, r6, r7, r8, pc}
mov r5, r6
add r8, sp, #0
_0216ac6c:
ldr r1, [r5, #0xc]
mov r0, r7
str r1, [sp]
ldrb r2, [r5, #0x10]
mov r1, r8
strb r2, [sp, #4]
ldrb r2, [r5, #0x11]
strb r2, [sp, #5]
ldrb r2, [r5, #0x12]
strb r2, [sp, #6]
ldrb r2, [r5, #0x13]
strb r2, [sp, #7]
ldrb r2, [r5, #0x14]
strb r2, [sp, #8]
ldrb r2, [r5, #0x15]
strb r2, [sp, #9]
ldrh r2, [r5, #0x16]
strh r2, [sp, #0xa]
bl func_ov18_0216adcc
ldrh r0, [r6, #8]
add r4, r4, #1
add r5, r5, #0xc
cmp r4, r0
blt _0216ac6c
add sp, sp, #0xc
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov18_0216ac24
_0216acd4: .word data_027e0d38
.global func_ov18_0216acd8
arm_func_start func_ov18_0216acd8
func_ov18_0216acd8: ; 0x0216acd8
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
ldr r5, [r4]
ldr r1, [r4, #4]
add r0, r5, r1, lsl #2
cmp r5, r0
beq _0216ad20
_0216acf4:
ldr r0, [r5]
cmp r0, #0
beq _0216ad0c
ldr r1, [r0]
ldr r1, [r1, #4]
blx r1
_0216ad0c:
ldmia r4, {r0, r1}
add r5, r5, #4
add r0, r0, r1, lsl #2
cmp r5, r0
bne _0216acf4
_0216ad20:
mov r0, #0
strb r0, [sp]
ldr r0, [r4, #4]
sub r0, r0, r1
str r0, [r4, #4]
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov18_0216acd8
.global func_ov18_0216ad38
arm_func_start func_ov18_0216ad38
func_ov18_0216ad38: ; 0x0216ad38
bx lr
arm_func_end func_ov18_0216ad38
.global func_ov18_0216ad3c
arm_func_start func_ov18_0216ad3c
func_ov18_0216ad3c: ; 0x0216ad3c
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
ldr r4, [r5]
ldr r0, [r5, #4]
add r0, r4, r0, lsl #2
cmp r4, r0
ldmeqia sp!, {r3, r4, r5, pc}
_0216ad58:
ldr r0, [r4], #4
ldr r1, [r0]
ldr r1, [r1, #0xc]
blx r1
ldr r1, [r5]
ldr r0, [r5, #4]
add r0, r1, r0, lsl #2
cmp r4, r0
bne _0216ad58
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov18_0216ad3c
.global func_ov18_0216ad80
arm_func_start func_ov18_0216ad80
func_ov18_0216ad80: ; 0x0216ad80
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
ldr r4, [r6]
ldr r0, [r6, #4]
mov r5, r1
add r0, r4, r0, lsl #2
cmp r4, r0
ldmeqia sp!, {r4, r5, r6, pc}
_0216ada0:
ldr r0, [r4], #4
mov r1, r5
ldr r2, [r0]
ldr r2, [r2, #0x10]
blx r2
ldr r1, [r6]
ldr r0, [r6, #4]
add r0, r1, r0, lsl #2
cmp r4, r0
bne _0216ada0
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov18_0216ad80
.global func_ov18_0216adcc
arm_func_start func_ov18_0216adcc
func_ov18_0216adcc: ; 0x0216adcc
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #8
mov r4, r0
ldr r0, [r4, #4]
mov r5, r1
cmp r0, #0x30
addhi sp, sp, #8
movhi r0, #0
ldmhiia sp!, {r3, r4, r5, pc}
ldr r0, _0216aed4 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_0208330c
cmp r0, #0
beq _0216ae24
ldr r0, _0216aed4 ; =data_027e0e60
ldrb r1, [r5, #4]
ldr r0, [r0]
bl func_ov00_02083318
cmp r0, #0
addeq sp, sp, #8
moveq r0, #1
ldmeqia sp!, {r3, r4, r5, pc}
_0216ae24:
ldr r0, _0216aed4 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_020849c0
cmp r0, #0
addne sp, sp, #8
movne r0, #1
ldmneia sp!, {r3, r4, r5, pc}
ldr r1, _0216aed8 ; =data_027e0ce0
mov r0, #0x1c
ldr r1, [r1, #4]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _0216ae64
mov r1, r5
bl func_ov18_0216a34c
_0216ae64:
str r0, [sp, #4]
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
mov r2, #0
strb r2, [sp, #1]
ldr r1, [r4, #4]
ldr r0, [r4, #8]
cmp r1, r0
bhs _0216aea8
add r0, r1, #1
str r0, [r4, #4]
ldr r2, [sp, #4]
ldr r1, [r4]
sub r0, r0, #1
str r2, [r1, r0, lsl #2]
b _0216aec8
_0216aea8:
strb r2, [sp]
sub r1, sp, #4
and r0, r2, #0xff
strb r0, [r1]
ldr r2, [r1]
add r1, sp, #4
mov r0, r4
bl func_ov18_0216af34
_0216aec8:
mov r0, #1
add sp, sp, #8
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0216adcc
_0216aed4: .word data_027e0e60
_0216aed8: .word data_027e0ce0
.global func_ov18_0216aedc
arm_func_start func_ov18_0216aedc
func_ov18_0216aedc: ; 0x0216aedc
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov18_0216b068
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216aedc
.global func_ov18_0216aef0
arm_func_start func_ov18_0216aef0
func_ov18_0216aef0: ; 0x0216aef0
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
ldr r0, [r4]
cmp r0, #0
beq _0216af28
ldr r1, [r4, #4]
mov r0, #0
strb r0, [sp]
ldr r0, [r4, #4]
sub r0, r0, r1
str r0, [r4, #4]
ldr r0, [r4]
bl func_0202ea0c
_0216af28:
mov r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
arm_func_end func_ov18_0216aef0
.global func_ov18_0216af34
arm_func_start func_ov18_0216af34
func_ov18_0216af34: ; 0x0216af34
stmdb sp!, {r3, r4, r5, lr}
mov r4, r1
mov r2, #0
mov r5, r0
mov r1, #1
strb r2, [sp]
bl func_ov18_0216b1e0
mov r0, r5
mov r2, r4
mov r1, #1
bl func_ov18_0216b084
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov18_0216af34
.global func_ov18_0216af64
arm_func_start func_ov18_0216af64
func_ov18_0216af64: ; 0x0216af64
stmdb sp!, {r3, r4, r5, r6, r7, lr}
sub sp, sp, #0x10
mov r5, r0
ldrb r3, [r5, #8]
mov r4, r1
mov r1, #0
str r1, [sp, #4]
str r1, [sp, #8]
sub r0, sp, #4
strb r3, [r0]
ldr r2, [r0]
add r0, sp, #0xc
strb r3, [sp, #3]
bl func_ov18_0216b07c
mov r1, #0
strb r1, [sp, #2]
sub r0, sp, #4
strb r1, [r0]
ldr r2, [r0]
add r0, sp, #4
mov r1, r4
bl func_ov18_0216b2ac
ldr r4, [r5]
ldr r0, [r5, #4]
mov r3, #0
add r0, r4, r0, lsl #2
sub r1, r0, r4
mov r0, r1, asr #0x1
add r6, r1, r0, lsr #30
mov r0, r6, asr #0x2
mov r7, r0, lsl #0x2
ldr r2, [sp, #4]
ldr r0, [sp, #8]
mov r1, r4
add r0, r2, r0, lsl #2
mov r2, r7
strb r3, [sp, #1]
bl func_02043594
mov r0, r4
mov r2, r7
mov r1, #0
bl func_02043600
ldr r1, [sp, #8]
mov r0, #0
add r1, r1, r6, asr #2
str r1, [sp, #8]
strb r0, [sp]
str r0, [r5, #4]
add r3, sp, #0xc
ldr r2, [r5, #8]
ldr r1, [r3]
add r0, sp, #4
str r1, [r5, #8]
str r2, [r3]
ldr r2, [r5]
ldr r1, [sp, #4]
str r1, [r5]
str r2, [sp, #4]
ldr r2, [r5, #4]
ldr r1, [sp, #8]
str r1, [r5, #4]
str r2, [sp, #8]
bl func_ov18_0216b2ec
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end func_ov18_0216af64
.global func_ov18_0216b068
arm_func_start func_ov18_0216b068
func_ov18_0216b068: ; 0x0216b068
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov18_0216b330
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216b068
.global func_ov18_0216b07c
arm_func_start func_ov18_0216b07c
func_ov18_0216b07c: ; 0x0216b07c
str r1, [r0]
bx lr
arm_func_end func_ov18_0216b07c
.global func_ov18_0216b084
arm_func_start func_ov18_0216b084
func_ov18_0216b084: ; 0x0216b084
stmdb sp!, {r4, r5, r6, r7, lr}
sub sp, sp, #0x1c
mov r6, r0
mov r5, r1
add r0, sp, #8
add r1, r6, #8
mov r4, r2
bl func_ov18_0216b3fc
mov r0, #0
str r0, [sp, #0x18]
ldmib r6, {r0, r1}
add r2, r0, r5
mov r0, r6
sub r1, r2, r1
bl func_ov18_0216b1e0
mov r3, #0
mov r1, r0
strb r3, [sp, #4]
sub r2, sp, #4
strb r3, [r2]
ldr r2, [r2]
add r0, sp, #8
strb r3, [sp]
bl func_ov18_0216b3bc
ldr r1, [r6, #4]
ldr r0, [sp, #8]
str r1, [sp, #0x18]
add r1, r0, r1, lsl #2
ldr r0, [sp, #0xc]
cmp r5, #0
add r1, r1, r0, lsl #2
mov r0, #0
strb r0, [sp, #3]
mov r2, r5
beq _0216b120
_0216b110:
ldr r0, [r4]
subs r2, r2, #1
str r0, [r1], #4
bne _0216b110
_0216b120:
ldr r0, [sp, #0xc]
ldr r1, [sp, #0x18]
add r0, r0, r5
str r0, [sp, #0xc]
ldr r4, [r6]
ldr r0, [r6, #4]
mov ip, #0
add r0, r4, r0, lsl #2
sub r2, r0, r4
mov r0, r2, asr #0x1
add r5, r2, r0, lsr #30
sub r3, r1, r5, asr #2
mov r2, r5, asr #0x2
ldr r0, [sp, #8]
mov r7, r2, lsl #0x2
mov r1, r4
mov r2, r7
add r0, r0, r3, lsl #2
strb ip, [sp, #2]
str r3, [sp, #0x18]
bl func_02043594
mov r0, r4
mov r2, r7
mov r1, #0
bl func_02043600
ldr r1, [sp, #0xc]
mov r0, #0
add r1, r1, r5, asr #2
str r1, [sp, #0xc]
strb r0, [sp, #1]
str r0, [r6, #4]
add r3, sp, #0x10
ldr r2, [r6, #8]
ldr r1, [r3]
add r0, sp, #8
str r1, [r6, #8]
str r2, [r3]
ldr r2, [r6]
ldr r1, [sp, #8]
str r1, [r6]
str r2, [sp, #8]
ldr r2, [r6, #4]
ldr r1, [sp, #0xc]
str r1, [r6, #4]
str r2, [sp, #0xc]
bl func_ov18_0216b35c
add sp, sp, #0x1c
ldmia sp!, {r4, r5, r6, r7, pc}
arm_func_end func_ov18_0216b084
.global func_ov18_0216b1e0
arm_func_start func_ov18_0216b1e0
func_ov18_0216b1e0: ; 0x0216b1e0
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r4, lr}
sub sp, sp, #8
ldr r4, [r0, #8]
mvn r0, #0xc0000000
ldr r1, [sp, #0x14]
sub r0, r0, r4
cmp r1, r0
bls _0216b208
bl func_0204dd9c
_0216b208:
ldr r0, _0216b2a4 ; =0x15555555
cmp r4, r0
bhs _0216b254
add r1, r4, #1
ldr r0, _0216b2a8 ; =0xcccccccd
add r1, r1, r1, lsl #1
umull r0, r2, r1, r0
mov r2, r2, lsr #0x2
ldr r0, [sp, #0x14]
str r2, [sp, #4]
cmp r0, r2
addhi r0, sp, #0x14
addls r0, sp, #4
ldr r0, [r0]
add sp, sp, #8
add r0, r4, r0
ldmia sp!, {r4, lr}
add sp, sp, #0x10
bx lr
_0216b254:
cmp r4, r0, lsl #1
bhs _0216b290
ldr r0, [sp, #0x14]
add r1, r4, #1
mov r2, r1, lsr #0x1
cmp r0, r1, lsr #1
addhi r0, sp, #0x14
str r2, [sp]
addls r0, sp, #0
ldr r0, [r0]
add sp, sp, #8
add r0, r4, r0
ldmia sp!, {r4, lr}
add sp, sp, #0x10
bx lr
_0216b290:
mvn r0, #0xc0000000
add sp, sp, #8
ldmia sp!, {r4, lr}
add sp, sp, #0x10
bx lr
.align 2, 0
arm_func_end func_ov18_0216b1e0
_0216b2a4: .word 0x15555555
_0216b2a8: .word 0xcccccccd
.global func_ov18_0216b2ac
arm_func_start func_ov18_0216b2ac
func_ov18_0216b2ac: ; 0x0216b2ac
stmdb sp!, {r3, r4, r5, lr}
mov r4, r1
mvn r1, #0xc0000000
mov r5, r0
cmp r4, r1
bls _0216b2c8
bl func_0204dd9c
_0216b2c8:
ldr r1, _0216b2e8 ; =data_027e0ce0
mov r0, r4, lsl #0x2
ldr r1, [r1, #4]
mov r2, #4
bl func_0202e9dc
str r0, [r5]
str r4, [r5, #8]
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0216b2ac
_0216b2e8: .word data_027e0ce0
.global func_ov18_0216b2ec
arm_func_start func_ov18_0216b2ec
func_ov18_0216b2ec: ; 0x0216b2ec
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
ldr r0, [r4]
cmp r0, #0
beq _0216b324
ldr r1, [r4, #4]
mov r0, #0
strb r0, [sp]
ldr r0, [r4, #4]
sub r0, r0, r1
str r0, [r4, #4]
ldr r0, [r4]
bl func_0202ea0c
_0216b324:
mov r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
arm_func_end func_ov18_0216b2ec
.global func_ov18_0216b330
arm_func_start func_ov18_0216b330
func_ov18_0216b330: ; 0x0216b330
stmdb sp!, {r4, lr}
mov r4, r0
mov r1, #0
str r1, [r4]
add r0, r4, #8
str r1, [r4, #4]
bl func_ov18_0216b354
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216b330
.global func_ov18_0216b354
arm_func_start func_ov18_0216b354
func_ov18_0216b354: ; 0x0216b354
str r1, [r0]
bx lr
arm_func_end func_ov18_0216b354
.global func_ov18_0216b35c
arm_func_start func_ov18_0216b35c
func_ov18_0216b35c: ; 0x0216b35c
stmdb sp!, {r4, lr}
mov r4, r0
mov r1, #0
str r1, [r4, #4]
bl func_ov18_0216b378
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216b35c
.global func_ov18_0216b378
arm_func_start func_ov18_0216b378
func_ov18_0216b378: ; 0x0216b378
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
ldr r0, [r4]
cmp r0, #0
beq _0216b3b0
ldr r1, [r4, #4]
mov r0, #0
strb r0, [sp]
ldr r0, [r4, #4]
sub r0, r0, r1
str r0, [r4, #4]
ldr r0, [r4]
bl func_0202ea0c
_0216b3b0:
mov r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
arm_func_end func_ov18_0216b378
.global func_ov18_0216b3bc
arm_func_start func_ov18_0216b3bc
func_ov18_0216b3bc: ; 0x0216b3bc
stmdb sp!, {r3, r4, r5, lr}
mov r4, r1
mvn r1, #0xc0000000
mov r5, r0
cmp r4, r1
bls _0216b3d8
bl func_0204dd9c
_0216b3d8:
ldr r1, _0216b3f8 ; =data_027e0ce0
mov r0, r4, lsl #0x2
ldr r1, [r1, #4]
mov r2, #4
bl func_0202e9dc
str r0, [r5]
str r4, [r5, #8]
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov18_0216b3bc
_0216b3f8: .word data_027e0ce0
.global func_ov18_0216b3fc
arm_func_start func_ov18_0216b3fc
func_ov18_0216b3fc: ; 0x0216b3fc
stmdb sp!, {r4, lr}
mov r4, r0
mov r2, r1
mov r1, #0
str r1, [r4]
add r0, r4, #8
str r1, [r4, #4]
bl func_ov18_0216b424
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov18_0216b3fc
.global func_ov18_0216b424
arm_func_start func_ov18_0216b424
func_ov18_0216b424: ; 0x0216b424
stmia r0, {r1, r2}
bx lr
arm_func_end func_ov18_0216b424
.global data_ov18_0216b42c
data_ov18_0216b42c: ; 0x0216b42c
.ascii "M_SeaC"
.byte 0x00, 0x00
.global data_ov18_0216b434
data_ov18_0216b434: ; 0x0216b434
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b438
data_ov18_0216b438: ; 0x0216b438
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b43c
data_ov18_0216b43c: ; 0x0216b43c
.byte 0x00, 0x80, 0x02, 0x00
.global data_ov18_0216b440
data_ov18_0216b440: ; 0x0216b440
.byte 0x00, 0x40, 0x06, 0x00
.global data_ov18_0216b444
data_ov18_0216b444: ; 0x0216b444
.byte 0x00, 0xe0, 0x0b, 0x00
.global data_ov18_0216b448
data_ov18_0216b448: ; 0x0216b448
.byte 0x00, 0xa0, 0x0f, 0x00
.global data_ov18_0216b44c
data_ov18_0216b44c: ; 0x0216b44c
.byte 0x00, 0x80, 0x02, 0x00
.global data_ov18_0216b450
data_ov18_0216b450: ; 0x0216b450
.byte 0x00, 0x40, 0x06, 0x00
.global data_ov18_0216b454
data_ov18_0216b454: ; 0x0216b454
.byte 0x00, 0xe0, 0x0b, 0x00
.global data_ov18_0216b458
data_ov18_0216b458: ; 0x0216b458
.byte 0x00, 0xa0, 0x0f, 0x00
.global data_ov18_0216b45c
data_ov18_0216b45c: ; 0x0216b45c
.ascii "field_sea"
.byte 0x00, 0x00, 0x00
.global data_ov18_0216b468
data_ov18_0216b468: ; 0x0216b468
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b46c
data_ov18_0216b46c: ; 0x0216b46c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b470
data_ov18_0216b470: ; 0x0216b470
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b474
data_ov18_0216b474: ; 0x0216b474
.byte 0x5b, 0x03, 0x00, 0x00
.global data_ov18_0216b478
data_ov18_0216b478: ; 0x0216b478
.byte 0x5c, 0x03, 0x00, 0x00
.global data_ov18_0216b47c
data_ov18_0216b47c: ; 0x0216b47c
.byte 0x5d, 0x03, 0x00, 0x00
.global data_ov18_0216b480
data_ov18_0216b480: ; 0x0216b480
.byte 0x5e, 0x03, 0x00, 0x00
.global data_ov18_0216b484
data_ov18_0216b484: ; 0x0216b484
.ascii "M_SeaA"
.byte 0x00, 0x00
.global data_ov18_0216b48c
data_ov18_0216b48c: ; 0x0216b48c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b490
data_ov18_0216b490: ; 0x0216b490
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b494
data_ov18_0216b494: ; 0x0216b494
.ascii "M_SeaB"
.byte 0x00, 0x00
.global data_ov18_0216b49c
data_ov18_0216b49c: ; 0x0216b49c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b4a0
data_ov18_0216b4a0: ; 0x0216b4a0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b4a4
data_ov18_0216b4a4: ; 0x0216b4a4
.ascii "M_SeaC"
.byte 0x00, 0x00
.global data_ov18_0216b4ac
data_ov18_0216b4ac: ; 0x0216b4ac
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b4b0
data_ov18_0216b4b0: ; 0x0216b4b0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b4b4
data_ov18_0216b4b4: ; 0x0216b4b4
.ascii "Field_SeaB"
.byte 0x00, 0x00
.global data_ov18_0216b4c0
data_ov18_0216b4c0: ; 0x0216b4c0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b4c4
data_ov18_0216b4c4: ; 0x0216b4c4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b4c8
data_ov18_0216b4c8: ; 0x0216b4c8
.byte 0x16, 0x00, 0x00, 0x00
.global data_ov18_0216b4cc
data_ov18_0216b4cc: ; 0x0216b4cc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b4d0
data_ov18_0216b4d0: ; 0x0216b4d0
.byte 0x14, 0x00, 0x00, 0x00
.global data_ov18_0216b4d4
data_ov18_0216b4d4: ; 0x0216b4d4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b4d8
data_ov18_0216b4d8: ; 0x0216b4d8
.byte 0x15, 0x00, 0x00, 0x00
.global data_ov18_0216b4dc
data_ov18_0216b4dc: ; 0x0216b4dc
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov18_0216b4e0
data_ov18_0216b4e0: ; 0x0216b4e0
.byte 0x15, 0x00, 0x00, 0x00
.global data_ov18_0216b4e4
data_ov18_0216b4e4: ; 0x0216b4e4
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov18_0216b4e8
data_ov18_0216b4e8: ; 0x0216b4e8
.ascii "smoke"
.byte 0x00, 0x00, 0x00
.global data_ov18_0216b4f0
data_ov18_0216b4f0: ; 0x0216b4f0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b4f4
data_ov18_0216b4f4: ; 0x0216b4f4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b4f8
data_ov18_0216b4f8: ; 0x0216b4f8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b4fc
data_ov18_0216b4fc: ; 0x0216b4fc
.byte 0x46, 0x0e, 0x00, 0x00
.global data_ov18_0216b500
data_ov18_0216b500: ; 0x0216b500
.byte 0x46, 0x0e, 0x00, 0x00
.global data_ov18_0216b504
data_ov18_0216b504: ; 0x0216b504
.byte 0x46, 0x0e, 0x00, 0x00
.global data_ov18_0216b508
data_ov18_0216b508: ; 0x0216b508
.byte 0x46, 0x0e, 0x00, 0x00
.global data_ov18_0216b50c
data_ov18_0216b50c: ; 0x0216b50c
.byte 0x46, 0x0e, 0x00, 0x00
.global data_ov18_0216b510
data_ov18_0216b510: ; 0x0216b510
.byte 0x46, 0x0e, 0x00, 0x00
.global data_ov18_0216b514
data_ov18_0216b514: ; 0x0216b514
.byte 0x56, 0x08, 0x00, 0x00
.global data_ov18_0216b518
data_ov18_0216b518: ; 0x0216b518
.byte 0x56, 0x08, 0x00, 0x00
.global data_ov18_0216b51c
data_ov18_0216b51c: ; 0x0216b51c
.byte 0x56, 0x08, 0x00, 0x00
.global data_ov18_0216b520
data_ov18_0216b520: ; 0x0216b520
.byte 0x56, 0x08, 0x00, 0x00
.global data_ov18_0216b524
data_ov18_0216b524: ; 0x0216b524
.byte 0x56, 0x08, 0x00, 0x00
.global data_ov18_0216b528
data_ov18_0216b528: ; 0x0216b528
.byte 0x56, 0x08, 0x00, 0x00
.global data_ov18_0216b52c
data_ov18_0216b52c: ; 0x0216b52c
.byte 0x24, 0x00, 0x25, 0x00
.global data_ov18_0216b530
data_ov18_0216b530: ; 0x0216b530
.byte 0x26, 0x00, 0x00, 0x00
.global data_ov18_0216b534
data_ov18_0216b534: ; 0x0216b534
.byte 0x24, 0x00, 0x25, 0x00
.global data_ov18_0216b538
data_ov18_0216b538: ; 0x0216b538
.byte 0x26, 0x00, 0x00, 0x00
.global data_ov18_0216b53c
data_ov18_0216b53c: ; 0x0216b53c
.byte 0x00, 0x08, 0x00, 0x00
.global data_ov18_0216b540
data_ov18_0216b540: ; 0x0216b540
.byte 0xcd, 0x04, 0x00, 0x00
.global data_ov18_0216b544
data_ov18_0216b544: ; 0x0216b544
.byte 0x00, 0x10, 0x00, 0x00
.global data_ov18_0216b548
data_ov18_0216b548: ; 0x0216b548
.ascii "move"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b550
data_ov18_0216b550: ; 0x0216b550
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b554
data_ov18_0216b554: ; 0x0216b554
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b558
data_ov18_0216b558: ; 0x0216b558
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b55c
data_ov18_0216b55c: ; 0x0216b55c
.ascii "wait"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b564
data_ov18_0216b564: ; 0x0216b564
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b568
data_ov18_0216b568: ; 0x0216b568
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b56c
data_ov18_0216b56c: ; 0x0216b56c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b570
data_ov18_0216b570: ; 0x0216b570
.ascii "walk"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b578
data_ov18_0216b578: ; 0x0216b578
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b57c
data_ov18_0216b57c: ; 0x0216b57c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b580
data_ov18_0216b580: ; 0x0216b580
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b584
data_ov18_0216b584: ; 0x0216b584
.ascii "talk"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b58c
data_ov18_0216b58c: ; 0x0216b58c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b590
data_ov18_0216b590: ; 0x0216b590
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b594
data_ov18_0216b594: ; 0x0216b594
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b598
data_ov18_0216b598: ; 0x0216b598
.byte 0x00, 0x08, 0x00, 0x00
.global data_ov18_0216b59c
data_ov18_0216b59c: ; 0x0216b59c
.byte 0xcd, 0x04, 0x00, 0x00
.global data_ov18_0216b5a0
data_ov18_0216b5a0: ; 0x0216b5a0
.byte 0xcd, 0x24, 0x00, 0x00
.global data_ov18_0216b5a4
data_ov18_0216b5a4: ; 0x0216b5a4
.ascii "fly"
.byte 0x00
.global data_ov18_0216b5a8
data_ov18_0216b5a8: ; 0x0216b5a8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b5ac
data_ov18_0216b5ac: ; 0x0216b5ac
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b5b0
data_ov18_0216b5b0: ; 0x0216b5b0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b5b4
data_ov18_0216b5b4: ; 0x0216b5b4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b5b8
data_ov18_0216b5b8: ; 0x0216b5b8
.ascii "read"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b5c0
data_ov18_0216b5c0: ; 0x0216b5c0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b5c4
data_ov18_0216b5c4: ; 0x0216b5c4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b5c8
data_ov18_0216b5c8: ; 0x0216b5c8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b5cc
data_ov18_0216b5cc: ; 0x0216b5cc
.ascii "takeout"
.byte 0x00
.global data_ov18_0216b5d4
data_ov18_0216b5d4: ; 0x0216b5d4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b5d8
data_ov18_0216b5d8: ; 0x0216b5d8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b5dc
data_ov18_0216b5dc: ; 0x0216b5dc
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov18_0216b5e0
data_ov18_0216b5e0: ; 0x0216b5e0
.byte 0xab, 0x0a, 0x00, 0x00
.global data_ov18_0216b5e4
data_ov18_0216b5e4: ; 0x0216b5e4
.ascii "chest"
.byte 0x00, 0x00, 0x00
.global data_ov18_0216b5ec
data_ov18_0216b5ec: ; 0x0216b5ec
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b5f0
data_ov18_0216b5f0: ; 0x0216b5f0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b5f4
data_ov18_0216b5f4: ; 0x0216b5f4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b5f8
data_ov18_0216b5f8: ; 0x0216b5f8
.ascii "mt_letter"
.byte 0x00, 0x00, 0x00
.global data_ov18_0216b604
data_ov18_0216b604: ; 0x0216b604
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b608
data_ov18_0216b608: ; 0x0216b608
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b60c
data_ov18_0216b60c: ; 0x0216b60c
.ascii "mt_letter"
.byte 0x00, 0x00, 0x00
.global data_ov18_0216b618
data_ov18_0216b618: ; 0x0216b618
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b61c
data_ov18_0216b61c: ; 0x0216b61c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b620
data_ov18_0216b620: ; 0x0216b620
.ascii "tree"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b628
data_ov18_0216b628: ; 0x0216b628
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b62c
data_ov18_0216b62c: ; 0x0216b62c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b630
data_ov18_0216b630: ; 0x0216b630
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b634
data_ov18_0216b634: ; 0x0216b634
.ascii "tree_mat"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b640
data_ov18_0216b640: ; 0x0216b640
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b644
data_ov18_0216b644: ; 0x0216b644
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b648
data_ov18_0216b648: ; 0x0216b648
.byte 0x00, 0x00, 0x0f, 0x0f
.global data_ov18_0216b64c
data_ov18_0216b64c: ; 0x0216b64c
.byte 0x07, 0x00, 0x0c, 0x0f
.global data_ov18_0216b650
data_ov18_0216b650: ; 0x0216b650
.byte 0x0d, 0x08, 0x0f, 0x0f
.global data_ov18_0216b654
data_ov18_0216b654: ; 0x0216b654
.byte 0x02, 0x00, 0x0c, 0x0f
.global data_ov18_0216b658
data_ov18_0216b658: ; 0x0216b658
.byte 0x08, 0x00, 0x0c, 0x0f
.global data_ov18_0216b65c
data_ov18_0216b65c: ; 0x0216b65c
.byte 0x02, 0x00, 0x07, 0x0f
.global data_ov18_0216b660
data_ov18_0216b660: ; 0x0216b660
.byte 0x15, 0x03, 0x6a, 0x06
.global data_ov18_0216b664
data_ov18_0216b664: ; 0x0216b664
.byte 0x00, 0x00, 0x01, 0x0f
.global data_ov18_0216b668
data_ov18_0216b668: ; 0x0216b668
.byte 0x02, 0x00, 0x06, 0x0f
.global data_ov18_0216b66c
data_ov18_0216b66c: ; 0x0216b66c
.byte 0x38, 0x05, 0x16, 0x03
.global data_ov18_0216b670
data_ov18_0216b670: ; 0x0216b670
.byte 0x6a, 0x06, 0x00, 0x03
.global data_ov18_0216b674
data_ov18_0216b674: ; 0x0216b674
.byte 0x00, 0x0f, 0x01, 0x03
.global data_ov18_0216b678
data_ov18_0216b678: ; 0x0216b678
.byte 0x01, 0x0f, 0x00, 0x00
.global data_ov18_0216b67c
data_ov18_0216b67c: ; 0x0216b67c
.byte 0x2a, 0x00, 0x00, 0x00
.global data_ov18_0216b680
data_ov18_0216b680: ; 0x0216b680
.byte 0xf8, 0xd3, 0x16, 0x02
.global data_ov18_0216b684
data_ov18_0216b684: ; 0x0216b684
.byte 0x44, 0x00, 0x00, 0x00
.global data_ov18_0216b688
data_ov18_0216b688: ; 0x0216b688
.byte 0xd8, 0xd3, 0x16, 0x02
.global data_ov18_0216b68c
data_ov18_0216b68c: ; 0x0216b68c
.byte 0x47, 0x00, 0x00, 0x00
.global data_ov18_0216b690
data_ov18_0216b690: ; 0x0216b690
.byte 0xe0, 0xd3, 0x16, 0x02
.global data_ov18_0216b694
data_ov18_0216b694: ; 0x0216b694
.byte 0xf0, 0xd3, 0x16, 0x02, 0x8c, 0xb6, 0x16, 0x02, 0x01, 0x00, 0x00, 0x00
.byte 0x46, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x64, 0xb6, 0x16, 0x02
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov18_0216b6b4
data_ov18_0216b6b4: ; 0x0216b6b4
.byte 0xe8, 0xd3, 0x16, 0x02, 0x84, 0xb6, 0x16, 0x02, 0x01, 0x00, 0x00, 0x00
.byte 0x43, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0xb6, 0x16, 0x02
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov18_0216b6d4
data_ov18_0216b6d4: ; 0x0216b6d4
.byte 0x04, 0xd4, 0x16, 0x02, 0x7c, 0xb6, 0x16, 0x02, 0x01, 0x00, 0x00, 0x00
.byte 0x29, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xb6, 0x16, 0x02
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov18_0216b6f4
data_ov18_0216b6f4: ; 0x0216b6f4
.byte 0x37, 0x00
.global data_ov18_0216b6f6
data_ov18_0216b6f6: ; 0x0216b6f6
.byte 0x38, 0x00
.global data_ov18_0216b6f8
data_ov18_0216b6f8: ; 0x0216b6f8
.byte 0x39, 0x00
.global data_ov18_0216b6fa
data_ov18_0216b6fa: ; 0x0216b6fa
.byte 0x3a, 0x00
.global data_ov18_0216b6fc
data_ov18_0216b6fc: ; 0x0216b6fc
.byte 0x3c, 0x00
.global data_ov18_0216b6fe
data_ov18_0216b6fe: ; 0x0216b6fe
.byte 0x3c, 0x00
.global data_ov18_0216b700
data_ov18_0216b700: ; 0x0216b700
.byte 0x3c, 0x00
.global data_ov18_0216b702
data_ov18_0216b702: ; 0x0216b702
.byte 0x0e, 0x00
.global data_ov18_0216b704
data_ov18_0216b704: ; 0x0216b704
.byte 0x0e, 0x00
.global data_ov18_0216b706
data_ov18_0216b706: ; 0x0216b706
.byte 0x08, 0x00
.global data_ov18_0216b708
data_ov18_0216b708: ; 0x0216b708
.byte 0x0a, 0x00
.global data_ov18_0216b70a
data_ov18_0216b70a: ; 0x0216b70a
.byte 0x0a, 0x00
.global data_ov18_0216b70c
data_ov18_0216b70c: ; 0x0216b70c
.byte 0x0a, 0x00
.global data_ov18_0216b70e
data_ov18_0216b70e: ; 0x0216b70e
.byte 0x0a, 0x00
.global data_ov18_0216b710
data_ov18_0216b710: ; 0x0216b710
.byte 0xfe, 0xff, 0xff, 0xff
.global data_ov18_0216b714
data_ov18_0216b714: ; 0x0216b714
.byte 0xfe, 0xff, 0xff, 0xff
.global data_ov18_0216b718
data_ov18_0216b718: ; 0x0216b718
.byte 0xfe, 0xff, 0xff, 0xff
.global data_ov18_0216b71c
data_ov18_0216b71c: ; 0x0216b71c
.byte 0xfe, 0xff, 0xff, 0xff
.global data_ov18_0216b720
data_ov18_0216b720: ; 0x0216b720
.byte 0x02, 0x00, 0x00, 0x00
.global data_ov18_0216b724
data_ov18_0216b724: ; 0x0216b724
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b728
data_ov18_0216b728: ; 0x0216b728
.byte 0x02, 0x00, 0x00, 0x00
.global data_ov18_0216b72c
data_ov18_0216b72c: ; 0x0216b72c
.byte 0x04, 0x00, 0x00, 0x00
.global data_ov18_0216b730
data_ov18_0216b730: ; 0x0216b730
.byte 0x04, 0x00, 0x00, 0x00
.global data_ov18_0216b734
data_ov18_0216b734: ; 0x0216b734
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b738
data_ov18_0216b738: ; 0x0216b738
.byte 0xfe, 0xff, 0xff, 0xff
.global data_ov18_0216b73c
data_ov18_0216b73c: ; 0x0216b73c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b740
data_ov18_0216b740: ; 0x0216b740
.byte 0xf6, 0xff, 0xff, 0xff
.global data_ov18_0216b744
data_ov18_0216b744: ; 0x0216b744
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b748
data_ov18_0216b748: ; 0x0216b748
.byte 0xfe, 0xff, 0xff, 0xff
.global data_ov18_0216b74c
data_ov18_0216b74c: ; 0x0216b74c
.byte 0xfe, 0xff, 0xff, 0xff
.global data_ov18_0216b750
data_ov18_0216b750: ; 0x0216b750
.byte 0xfe, 0xff, 0xff, 0xff
.global data_ov18_0216b754
data_ov18_0216b754: ; 0x0216b754
.byte 0xfe, 0xff, 0xff, 0xff
.global data_ov18_0216b758
data_ov18_0216b758: ; 0x0216b758
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b75c
data_ov18_0216b75c: ; 0x0216b75c
.byte 0x02, 0x00, 0x00, 0x00
.global data_ov18_0216b760
data_ov18_0216b760: ; 0x0216b760
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b764
data_ov18_0216b764: ; 0x0216b764
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b768
data_ov18_0216b768: ; 0x0216b768
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b76c
data_ov18_0216b76c: ; 0x0216b76c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b770
data_ov18_0216b770: ; 0x0216b770
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b774
data_ov18_0216b774: ; 0x0216b774
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216b778
data_ov18_0216b778: ; 0x0216b778
.byte 0x02, 0x00, 0x00, 0x00
.global data_ov18_0216b77c
data_ov18_0216b77c: ; 0x0216b77c
.byte 0xf2, 0xff, 0xff, 0xff
.global func_ov18_0216b780
arm_func_start func_ov18_0216b780
func_ov18_0216b780: ; 0x0216b780
stmdb sp!, {r3, lr}
ldr r0, _0216b86c ; =data_ov18_0216d44c
ldr r1, _0216b870 ; =0x414e4353
ldr r2, _0216b874 ; =func_ov18_0215cf60
mov r3, #0
bl func_0203e784
ldr r0, _0216b86c ; =data_ov18_0216d44c
ldr r1, _0216b878 ; =func_0203e7b4
ldr r2, _0216b87c ; =data_ov18_0216d440
bl func_0204f8d4
ldr r1, _0216b880 ; =0x0000023d
mov r0, #0x1000
bl func_01ff98e0
ldr r2, _0216b884 ; =data_ov18_0216c25c
mov r3, #0x3800
str r0, [r2, #0x20]
rsb r3, r3, #0
ldr r1, _0216b888 ; =0x00001333
str r3, [r2, #0x24]
ldr r0, _0216b88c ; =data_ov18_0216c280
str r1, [r2, #0x28]
add r3, r3, #0x2800
ldr r1, _0216b890 ; =func_0202bac0
str r3, [r2, #0x2c]
ldr r2, _0216b894 ; =data_ov18_0216d460
bl func_0204f8d4
mov r2, #0x1800
rsb r2, r2, #0
ldr r0, _0216b884 ; =data_ov18_0216c25c
ldr r1, _0216b888 ; =0x00001333
str r2, [r0, #0x30]
str r1, [r0, #0x34]
add r1, r2, #0x800
str r1, [r0, #0x38]
ldr r0, _0216b898 ; =data_ov18_0216c28c
ldr r1, _0216b890 ; =func_0202bac0
ldr r2, _0216b89c ; =data_ov18_0216d46c
bl func_0204f8d4
mov r2, #0x1000
ldr r0, _0216b884 ; =data_ov18_0216c25c
mov r1, #0
str r2, [r0, #0x3c]
str r1, [r0, #0x40]
str r1, [r0, #0x44]
ldr r0, _0216b8a0 ; =data_ov18_0216c298
ldr r1, _0216b890 ; =func_0202bac0
ldr r2, _0216b8a4 ; =data_ov18_0216d478
bl func_0204f8d4
mov r2, #0x2000
ldr r0, _0216b884 ; =data_ov18_0216c25c
mov r1, #0
str r2, [r0, #0x48]
str r1, [r0, #0x4c]
str r1, [r0, #0x50]
ldr r0, _0216b8a8 ; =data_ov18_0216c2a4
ldr r1, _0216b890 ; =func_0202bac0
ldr r2, _0216b8ac ; =data_ov18_0216d484
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216b780
_0216b86c: .word data_ov18_0216d44c
_0216b870: .word 0x414e4353
_0216b874: .word func_ov18_0215cf60
_0216b878: .word func_0203e7b4
_0216b87c: .word data_ov18_0216d440
_0216b880: .word 0x0000023d
_0216b884: .word data_ov18_0216c25c
_0216b888: .word 0x00001333
_0216b88c: .word data_ov18_0216c280
_0216b890: .word func_0202bac0
_0216b894: .word data_ov18_0216d460
_0216b898: .word data_ov18_0216c28c
_0216b89c: .word data_ov18_0216d46c
_0216b8a0: .word data_ov18_0216c298
_0216b8a4: .word data_ov18_0216d478
_0216b8a8: .word data_ov18_0216c2a4
_0216b8ac: .word data_ov18_0216d484
.global func_ov18_0216b8b0
arm_func_start func_ov18_0216b8b0
func_ov18_0216b8b0: ; 0x0216b8b0
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
ldr r0, _0216bab0 ; =data_ov18_0216d490
ldr r2, _0216bab4 ; =func_ov18_0215e4dc
mov r1, #0x2f
bl func_0203eba8
ldr r0, _0216bab0 ; =data_ov18_0216d490
ldr r1, _0216bab8 ; =func_0203ebc8
ldr r2, _0216babc ; =data_ov18_0216d498
bl func_0204f8d4
ldr r3, _0216bac0 ; =data_ov18_0216c3a8
mov r0, #1
strb r0, [r3]
ldr r7, _0216bac4 ; =data_ov18_0216c3aa
strb r0, [r3, #1]
ldr r5, _0216bac8 ; =data_ov18_0216c3ac
ldr r4, _0216bacc ; =data_ov18_0216c3ae
ldr r2, _0216bad0 ; =data_ov18_0216c3b0
ldr r1, _0216bad4 ; =data_ov18_0216c3b2
ldr r6, _0216bad8 ; =data_ov18_0216c3b4
ldr sl, _0216badc ; =data_ov18_0216c3b6
ldr sb, _0216bae0 ; =data_ov18_0216c3b8
mov r8, #0
strb r0, [r7]
strb r0, [r7, #1]
ldr r7, _0216bae4 ; =data_ov18_0216c3ba
strb r0, [r5]
strb r0, [r5, #1]
ldr r5, _0216bae8 ; =data_ov18_0216c3bc
strb r0, [r4]
strb r0, [r4, #1]
ldr r4, _0216baec ; =data_ov18_0216c3be
strb r0, [r2]
strb r0, [r2, #1]
ldr r2, _0216baf0 ; =data_ov18_0216c3c0
strb r0, [r1]
strb r0, [r1, #1]
ldr r1, _0216baf4 ; =data_ov18_0216c3c2
strb r0, [r6]
strb r0, [r6, #1]
ldr r6, _0216baf8 ; =data_ov18_0216c3c4
strb r0, [sl]
strb r0, [sl, #1]
strb r8, [sb]
strb r8, [sb, #1]
strb r8, [r7]
strb r8, [r7, #1]
strb r8, [r5]
strb r8, [r5, #1]
strb r8, [r4]
strb r8, [r4, #1]
strb r8, [r2]
strb r8, [r2, #1]
strb r8, [r1]
strb r8, [r1, #1]
strb r8, [r6]
ldr r5, _0216bafc ; =data_ov18_0216c3c6
ldr r4, _0216bb00 ; =data_ov18_0216c3c8
ldr r2, _0216bb04 ; =data_ov18_0216c3ca
ldr r1, _0216bb08 ; =data_ov18_0216c3cc
strb r8, [r6, #1]
strb r8, [r5]
strb r8, [r5, #1]
strb r0, [r4]
strb r0, [r4, #1]
strb r8, [r2]
strb r8, [r2, #1]
strb r8, [r1]
strb r8, [r1, #1]
mov r2, #4
strb r2, [r3, #0x26]
ldr r1, _0216bb0c ; =data_ov18_0216c3d0
strb r2, [r3, #0x27]
ldr fp, _0216bb10 ; =data_ov18_0216c3d2
ldr sl, _0216bb14 ; =data_ov18_0216c3d4
ldr r8, _0216bb18 ; =data_ov18_0216c3d8
ldr r7, _0216bb1c ; =data_ov18_0216c3da
ldr lr, _0216bb20 ; =data_ov18_0216c3dc
ldr ip, _0216bb24 ; =data_ov18_0216c3de
ldr r5, _0216bb28 ; =data_ov18_0216c3e2
ldr r4, _0216bb2c ; =data_ov18_0216c3e4
ldr r3, _0216bb30 ; =data_ov18_0216c3e6
ldr sb, _0216bb34 ; =data_ov18_0216c3d6
ldr r6, _0216bb38 ; =data_ov18_0216c3e0
mov r0, #5
strb r2, [r1]
strb r2, [r1, #1]
strb r2, [fp]
strb r2, [fp, #1]
strb r2, [sl]
strb r2, [sl, #1]
strb r0, [sb]
strb r2, [sb, #1]
strb r2, [r8]
strb r2, [r8, #1]
strb r2, [r7]
strb r2, [r7, #1]
strb r2, [lr]
strb r2, [lr, #1]
strb r2, [ip]
strb r2, [ip, #1]
strb r0, [r6]
strb r2, [r6, #1]
strb r2, [r5]
strb r2, [r5, #1]
strb r2, [r4]
strb r2, [r4, #1]
strb r2, [r3]
strb r2, [r3, #1]
ldr r6, _0216bb3c ; =data_ov18_0216c3e8
ldr lr, _0216bb40 ; =data_ov18_0216c3ec
ldr ip, _0216bb44 ; =data_ov18_0216c3ee
ldr r3, _0216bb48 ; =data_ov18_0216c3f0
ldr r1, _0216bb4c ; =data_ov18_0216c3f2
ldr r5, _0216bb50 ; =data_ov18_0216c3ea
mov r4, #0xa
strb r2, [r6]
strb r2, [r6, #1]
strb r4, [r5]
strb r2, [r5, #1]
strb r2, [lr]
strb r2, [lr, #1]
strb r0, [ip]
strb r2, [ip, #1]
strb r0, [r3]
strb r2, [r3, #1]
strb r2, [r1]
strb r2, [r1, #1]
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov18_0216b8b0
_0216bab0: .word data_ov18_0216d490
_0216bab4: .word func_ov18_0215e4dc
_0216bab8: .word func_0203ebc8
_0216babc: .word data_ov18_0216d498
_0216bac0: .word data_ov18_0216c3a8
_0216bac4: .word data_ov18_0216c3aa
_0216bac8: .word data_ov18_0216c3ac
_0216bacc: .word data_ov18_0216c3ae
_0216bad0: .word data_ov18_0216c3b0
_0216bad4: .word data_ov18_0216c3b2
_0216bad8: .word data_ov18_0216c3b4
_0216badc: .word data_ov18_0216c3b6
_0216bae0: .word data_ov18_0216c3b8
_0216bae4: .word data_ov18_0216c3ba
_0216bae8: .word data_ov18_0216c3bc
_0216baec: .word data_ov18_0216c3be
_0216baf0: .word data_ov18_0216c3c0
_0216baf4: .word data_ov18_0216c3c2
_0216baf8: .word data_ov18_0216c3c4
_0216bafc: .word data_ov18_0216c3c6
_0216bb00: .word data_ov18_0216c3c8
_0216bb04: .word data_ov18_0216c3ca
_0216bb08: .word data_ov18_0216c3cc
_0216bb0c: .word data_ov18_0216c3d0
_0216bb10: .word data_ov18_0216c3d2
_0216bb14: .word data_ov18_0216c3d4
_0216bb18: .word data_ov18_0216c3d8
_0216bb1c: .word data_ov18_0216c3da
_0216bb20: .word data_ov18_0216c3dc
_0216bb24: .word data_ov18_0216c3de
_0216bb28: .word data_ov18_0216c3e2
_0216bb2c: .word data_ov18_0216c3e4
_0216bb30: .word data_ov18_0216c3e6
_0216bb34: .word data_ov18_0216c3d6
_0216bb38: .word data_ov18_0216c3e0
_0216bb3c: .word data_ov18_0216c3e8
_0216bb40: .word data_ov18_0216c3ec
_0216bb44: .word data_ov18_0216c3ee
_0216bb48: .word data_ov18_0216c3f0
_0216bb4c: .word data_ov18_0216c3f2
_0216bb50: .word data_ov18_0216c3ea
.global func_ov18_0216bb54
arm_func_start func_ov18_0216bb54
func_ov18_0216bb54: ; 0x0216bb54
stmdb sp!, {r3, lr}
ldr r0, _0216bb7c ; =data_ov18_0216d4a4
ldr r2, _0216bb80 ; =func_ov18_0215f194
mov r1, #0x5e
bl func_0203eba8
ldr r0, _0216bb7c ; =data_ov18_0216d4a4
ldr r1, _0216bb84 ; =func_0203ebc8
ldr r2, _0216bb88 ; =data_ov18_0216d4ac
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bb54
_0216bb7c: .word data_ov18_0216d4a4
_0216bb80: .word func_ov18_0215f194
_0216bb84: .word func_0203ebc8
_0216bb88: .word data_ov18_0216d4ac
.global func_ov18_0216bb8c
arm_func_start func_ov18_0216bb8c
func_ov18_0216bb8c: ; 0x0216bb8c
stmdb sp!, {r3, lr}
ldr r0, _0216bbb4 ; =data_ov18_0216d4b8
ldr r2, _0216bbb8 ; =func_ov18_0215f474
mov r1, #0x30
bl func_0203eba8
ldr r0, _0216bbb4 ; =data_ov18_0216d4b8
ldr r1, _0216bbbc ; =func_0203ebc8
ldr r2, _0216bbc0 ; =data_ov18_0216d4c0
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bb8c
_0216bbb4: .word data_ov18_0216d4b8
_0216bbb8: .word func_ov18_0215f474
_0216bbbc: .word func_0203ebc8
_0216bbc0: .word data_ov18_0216d4c0
.global func_ov18_0216bbc4
arm_func_start func_ov18_0216bbc4
func_ov18_0216bbc4: ; 0x0216bbc4
stmdb sp!, {r3, lr}
ldr r0, _0216bbec ; =data_ov18_0216d4cc
ldr r2, _0216bbf0 ; =func_ov18_0215fa94
mov r1, #0x72
bl func_0203eba8
ldr r0, _0216bbec ; =data_ov18_0216d4cc
ldr r1, _0216bbf4 ; =func_0203ebc8
ldr r2, _0216bbf8 ; =data_ov18_0216d4d4
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bbc4
_0216bbec: .word data_ov18_0216d4cc
_0216bbf0: .word func_ov18_0215fa94
_0216bbf4: .word func_0203ebc8
_0216bbf8: .word data_ov18_0216d4d4
.global func_ov18_0216bbfc
arm_func_start func_ov18_0216bbfc
func_ov18_0216bbfc: ; 0x0216bbfc
stmdb sp!, {r3, lr}
ldr r0, _0216bc24 ; =data_ov18_0216d4e0
ldr r2, _0216bc28 ; =func_ov18_02160578
mov r1, #0x7b
bl func_0203eba8
ldr r0, _0216bc24 ; =data_ov18_0216d4e0
ldr r1, _0216bc2c ; =func_0203ebc8
ldr r2, _0216bc30 ; =data_ov18_0216d4e8
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bbfc
_0216bc24: .word data_ov18_0216d4e0
_0216bc28: .word func_ov18_02160578
_0216bc2c: .word func_0203ebc8
_0216bc30: .word data_ov18_0216d4e8
.global func_ov18_0216bc34
arm_func_start func_ov18_0216bc34
func_ov18_0216bc34: ; 0x0216bc34
stmdb sp!, {r3, lr}
ldr r0, _0216bc5c ; =data_ov18_0216d4f4
ldr r2, _0216bc60 ; =func_ov18_02160aa0
mov r1, #0x88
bl func_0203eba8
ldr r0, _0216bc5c ; =data_ov18_0216d4f4
ldr r1, _0216bc64 ; =func_0203ebc8
ldr r2, _0216bc68 ; =data_ov18_0216d4fc
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bc34
_0216bc5c: .word data_ov18_0216d4f4
_0216bc60: .word func_ov18_02160aa0
_0216bc64: .word func_0203ebc8
_0216bc68: .word data_ov18_0216d4fc
.global func_ov18_0216bc6c
arm_func_start func_ov18_0216bc6c
func_ov18_0216bc6c: ; 0x0216bc6c
stmdb sp!, {r3, lr}
ldr r0, _0216bc94 ; =data_ov18_0216d508
ldr r2, _0216bc98 ; =func_ov18_02161074
mov r1, #0x77
bl func_0203eba8
ldr r0, _0216bc94 ; =data_ov18_0216d508
ldr r1, _0216bc9c ; =func_0203ebc8
ldr r2, _0216bca0 ; =data_ov18_0216d510
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bc6c
_0216bc94: .word data_ov18_0216d508
_0216bc98: .word func_ov18_02161074
_0216bc9c: .word func_0203ebc8
_0216bca0: .word data_ov18_0216d510
.global func_ov18_0216bca4
arm_func_start func_ov18_0216bca4
func_ov18_0216bca4: ; 0x0216bca4
stmdb sp!, {r3, lr}
ldr r0, _0216bccc ; =data_ov18_0216d51c
ldr r2, _0216bcd0 ; =func_ov18_0216133c
mov r1, #0x74
bl func_0203eba8
ldr r0, _0216bccc ; =data_ov18_0216d51c
ldr r1, _0216bcd4 ; =func_0203ebc8
ldr r2, _0216bcd8 ; =data_ov18_0216d524
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bca4
_0216bccc: .word data_ov18_0216d51c
_0216bcd0: .word func_ov18_0216133c
_0216bcd4: .word func_0203ebc8
_0216bcd8: .word data_ov18_0216d524
.global func_ov18_0216bcdc
arm_func_start func_ov18_0216bcdc
func_ov18_0216bcdc: ; 0x0216bcdc
stmdb sp!, {r3, lr}
ldr r0, _0216bd04 ; =data_ov18_0216d530
ldr r2, _0216bd08 ; =func_ov18_02161604
mov r1, #0x33
bl func_0203eba8
ldr r0, _0216bd04 ; =data_ov18_0216d530
ldr r1, _0216bd0c ; =func_0203ebc8
ldr r2, _0216bd10 ; =data_ov18_0216d538
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bcdc
_0216bd04: .word data_ov18_0216d530
_0216bd08: .word func_ov18_02161604
_0216bd0c: .word func_0203ebc8
_0216bd10: .word data_ov18_0216d538
.global func_ov18_0216bd14
arm_func_start func_ov18_0216bd14
func_ov18_0216bd14: ; 0x0216bd14
stmdb sp!, {r3, lr}
ldr r0, _0216bd3c ; =data_ov18_0216d544
ldr r2, _0216bd40 ; =func_ov18_02161a0c
mov r1, #0x75
bl func_0203eba8
ldr r0, _0216bd3c ; =data_ov18_0216d544
ldr r1, _0216bd44 ; =func_0203ebc8
ldr r2, _0216bd48 ; =data_ov18_0216d54c
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bd14
_0216bd3c: .word data_ov18_0216d544
_0216bd40: .word func_ov18_02161a0c
_0216bd44: .word func_0203ebc8
_0216bd48: .word data_ov18_0216d54c
.global func_ov18_0216bd4c
arm_func_start func_ov18_0216bd4c
func_ov18_0216bd4c: ; 0x0216bd4c
stmdb sp!, {r3, lr}
ldr r0, _0216bd74 ; =data_ov18_0216d558
ldr r2, _0216bd78 ; =func_ov18_02161cd4
mov r1, #0x76
bl func_0203eba8
ldr r0, _0216bd74 ; =data_ov18_0216d558
ldr r1, _0216bd7c ; =func_0203ebc8
ldr r2, _0216bd80 ; =data_ov18_0216d560
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bd4c
_0216bd74: .word data_ov18_0216d558
_0216bd78: .word func_ov18_02161cd4
_0216bd7c: .word func_0203ebc8
_0216bd80: .word data_ov18_0216d560
.global func_ov18_0216bd84
arm_func_start func_ov18_0216bd84
func_ov18_0216bd84: ; 0x0216bd84
stmdb sp!, {r3, lr}
ldr r0, _0216bdac ; =data_ov18_0216d56c
ldr r2, _0216bdb0 ; =func_ov18_02161ec8
mov r1, #0x73
bl func_0203eba8
ldr r0, _0216bdac ; =data_ov18_0216d56c
ldr r1, _0216bdb4 ; =func_0203ebc8
ldr r2, _0216bdb8 ; =data_ov18_0216d574
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bd84
_0216bdac: .word data_ov18_0216d56c
_0216bdb0: .word func_ov18_02161ec8
_0216bdb4: .word func_0203ebc8
_0216bdb8: .word data_ov18_0216d574
.global func_ov18_0216bdbc
arm_func_start func_ov18_0216bdbc
func_ov18_0216bdbc: ; 0x0216bdbc
stmdb sp!, {r3, lr}
ldr r0, _0216bde4 ; =data_ov18_0216d580
ldr r2, _0216bde8 ; =func_ov18_02162090
mov r1, #0
bl func_0203eba8
ldr r0, _0216bde4 ; =data_ov18_0216d580
ldr r1, _0216bdec ; =func_0203ebc8
ldr r2, _0216bdf0 ; =data_ov18_0216d588
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bdbc
_0216bde4: .word data_ov18_0216d580
_0216bde8: .word func_ov18_02162090
_0216bdec: .word func_0203ebc8
_0216bdf0: .word data_ov18_0216d588
.global func_ov18_0216bdf4
arm_func_start func_ov18_0216bdf4
func_ov18_0216bdf4: ; 0x0216bdf4
stmdb sp!, {r3, lr}
ldr r0, _0216be1c ; =data_ov18_0216d594
ldr r2, _0216be20 ; =func_ov18_02162cc4
mov r1, #1
bl func_0203eba8
ldr r0, _0216be1c ; =data_ov18_0216d594
ldr r1, _0216be24 ; =func_0203ebc8
ldr r2, _0216be28 ; =data_ov18_0216d59c
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bdf4
_0216be1c: .word data_ov18_0216d594
_0216be20: .word func_ov18_02162cc4
_0216be24: .word func_0203ebc8
_0216be28: .word data_ov18_0216d59c
.global func_ov18_0216be2c
arm_func_start func_ov18_0216be2c
func_ov18_0216be2c: ; 0x0216be2c
stmdb sp!, {r3, lr}
ldr r0, _0216be54 ; =data_ov18_0216d5a8
ldr r2, _0216be58 ; =func_ov18_021637ec
mov r1, #0x38
bl func_0203eba8
ldr r0, _0216be54 ; =data_ov18_0216d5a8
ldr r1, _0216be5c ; =func_0203ebc8
ldr r2, _0216be60 ; =data_ov18_0216d5b0
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216be2c
_0216be54: .word data_ov18_0216d5a8
_0216be58: .word func_ov18_021637ec
_0216be5c: .word func_0203ebc8
_0216be60: .word data_ov18_0216d5b0
.global func_ov18_0216be64
arm_func_start func_ov18_0216be64
func_ov18_0216be64: ; 0x0216be64
stmdb sp!, {r3, lr}
ldr r0, _0216be8c ; =data_ov18_0216d5bc
ldr r2, _0216be90 ; =func_ov18_021642f0
mov r1, #0x35
bl func_0203eba8
ldr r0, _0216be8c ; =data_ov18_0216d5bc
ldr r1, _0216be94 ; =func_0203ebc8
ldr r2, _0216be98 ; =data_ov18_0216d5c4
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216be64
_0216be8c: .word data_ov18_0216d5bc
_0216be90: .word func_ov18_021642f0
_0216be94: .word func_0203ebc8
_0216be98: .word data_ov18_0216d5c4
.global func_ov18_0216be9c
arm_func_start func_ov18_0216be9c
func_ov18_0216be9c: ; 0x0216be9c
stmdb sp!, {r3, lr}
ldr r0, _0216bec4 ; =data_ov18_0216d5d0
ldr r2, _0216bec8 ; =func_ov18_021646fc
mov r1, #0x61
bl func_0203eba8
ldr r0, _0216bec4 ; =data_ov18_0216d5d0
ldr r1, _0216becc ; =func_0203ebc8
ldr r2, _0216bed0 ; =data_ov18_0216d5d8
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216be9c
_0216bec4: .word data_ov18_0216d5d0
_0216bec8: .word func_ov18_021646fc
_0216becc: .word func_0203ebc8
_0216bed0: .word data_ov18_0216d5d8
.global func_ov18_0216bed4
arm_func_start func_ov18_0216bed4
func_ov18_0216bed4: ; 0x0216bed4
stmdb sp!, {r3, lr}
ldr r0, _0216bf00 ; =data_ov18_0216d5f0
ldr r1, _0216bf04 ; =0x504f5354
ldr r2, _0216bf08 ; =func_ov18_02164bbc
mov r3, #0
bl func_0203e784
ldr r0, _0216bf00 ; =data_ov18_0216d5f0
ldr r1, _0216bf0c ; =func_0203e7b4
ldr r2, _0216bf10 ; =data_ov18_0216d5e4
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bed4
_0216bf00: .word data_ov18_0216d5f0
_0216bf04: .word 0x504f5354
_0216bf08: .word func_ov18_02164bbc
_0216bf0c: .word func_0203e7b4
_0216bf10: .word data_ov18_0216d5e4
.global func_ov18_0216bf14
arm_func_start func_ov18_0216bf14
func_ov18_0216bf14: ; 0x0216bf14
stmdb sp!, {r3, lr}
ldr r0, _0216bf40 ; =data_ov18_0216d610
ldr r1, _0216bf44 ; =0x5053544d
ldr r2, _0216bf48 ; =func_ov18_02165b3c
mov r3, #0
bl func_0203e784
ldr r0, _0216bf40 ; =data_ov18_0216d610
ldr r1, _0216bf4c ; =func_0203e7b4
ldr r2, _0216bf50 ; =data_ov18_0216d604
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bf14
_0216bf40: .word data_ov18_0216d610
_0216bf44: .word 0x5053544d
_0216bf48: .word func_ov18_02165b3c
_0216bf4c: .word func_0203e7b4
_0216bf50: .word data_ov18_0216d604
.global func_ov18_0216bf54
arm_func_start func_ov18_0216bf54
func_ov18_0216bf54: ; 0x0216bf54
stmdb sp!, {r3, lr}
ldr r0, _0216bf7c ; =data_ov18_0216d634
ldr r2, _0216bf80 ; =func_ov18_021686f4
mov r1, #0x29
bl func_0203eba8
ldr r0, _0216bf7c ; =data_ov18_0216d634
ldr r1, _0216bf84 ; =func_0203ebc8
ldr r2, _0216bf88 ; =data_ov18_0216d63c
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bf54
_0216bf7c: .word data_ov18_0216d634
_0216bf80: .word func_ov18_021686f4
_0216bf84: .word func_0203ebc8
_0216bf88: .word data_ov18_0216d63c
.global func_ov18_0216bf8c
arm_func_start func_ov18_0216bf8c
func_ov18_0216bf8c: ; 0x0216bf8c
stmdb sp!, {r3, lr}
ldr r0, _0216bfe4 ; =data_ov18_0216d654
ldr r1, _0216bfe8 ; =0x43534546
ldr r2, _0216bfec ; =func_ov18_02168f84
mov r3, #0
bl func_0203e784
ldr r0, _0216bfe4 ; =data_ov18_0216d654
ldr r1, _0216bff0 ; =func_0203e7b4
ldr r2, _0216bff4 ; =data_ov18_0216d648
bl func_0204f8d4
mov r1, #0
ldr r3, _0216bff8 ; =data_ov18_0216d254
sub r0, r1, #0x1000
str r1, [r3]
ldr ip, _0216bffc ; =0xfffff99a
str r0, [r3, #4]
ldr r0, _0216c000 ; =data_ov18_0216d254
ldr r1, _0216c004 ; =func_0202bac0
ldr r2, _0216c008 ; =data_ov18_0216d668
str ip, [r3, #8]
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216bf8c
_0216bfe4: .word data_ov18_0216d654
_0216bfe8: .word 0x43534546
_0216bfec: .word func_ov18_02168f84
_0216bff0: .word func_0203e7b4
_0216bff4: .word data_ov18_0216d648
_0216bff8: .word data_ov18_0216d254
_0216bffc: .word 0xfffff99a
_0216c000: .word data_ov18_0216d254
_0216c004: .word func_0202bac0
_0216c008: .word data_ov18_0216d668
.global func_ov18_0216c00c
arm_func_start func_ov18_0216c00c
func_ov18_0216c00c: ; 0x0216c00c
stmdb sp!, {r3, lr}
ldr r0, _0216c038 ; =data_ov18_0216d684
ldr r1, _0216c03c ; =0x48534b42
ldr r2, _0216c040 ; =func_ov18_0216a0e0
mov r3, #0
bl func_0203e784
ldr r0, _0216c038 ; =data_ov18_0216d684
ldr r1, _0216c044 ; =func_0203e7b4
ldr r2, _0216c048 ; =data_ov18_0216d678
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov18_0216c00c
_0216c038: .word data_ov18_0216d684
_0216c03c: .word 0x48534b42
_0216c040: .word func_ov18_0216a0e0
_0216c044: .word func_0203e7b4
_0216c048: .word data_ov18_0216d678
.global data_ov18_0216c04c
data_ov18_0216c04c: ; 0x0216c04c
.byte 0x80, 0xb7, 0x16, 0x02
.global data_ov18_0216c050
data_ov18_0216c050: ; 0x0216c050
.byte 0xb0, 0xb8, 0x16, 0x02
.global data_ov18_0216c054
data_ov18_0216c054: ; 0x0216c054
.byte 0x54, 0xbb, 0x16, 0x02
.global data_ov18_0216c058
data_ov18_0216c058: ; 0x0216c058
.byte 0x8c, 0xbb, 0x16, 0x02
.global data_ov18_0216c05c
data_ov18_0216c05c: ; 0x0216c05c
.byte 0xc4, 0xbb, 0x16, 0x02
.global data_ov18_0216c060
data_ov18_0216c060: ; 0x0216c060
.byte 0xfc, 0xbb, 0x16, 0x02
.global data_ov18_0216c064
data_ov18_0216c064: ; 0x0216c064
.byte 0x34, 0xbc, 0x16, 0x02
.global data_ov18_0216c068
data_ov18_0216c068: ; 0x0216c068
.byte 0x6c, 0xbc, 0x16, 0x02
.global data_ov18_0216c06c
data_ov18_0216c06c: ; 0x0216c06c
.byte 0xa4, 0xbc, 0x16, 0x02
.global data_ov18_0216c070
data_ov18_0216c070: ; 0x0216c070
.byte 0xdc, 0xbc, 0x16, 0x02
.global data_ov18_0216c074
data_ov18_0216c074: ; 0x0216c074
.byte 0x14, 0xbd, 0x16, 0x02
.global data_ov18_0216c078
data_ov18_0216c078: ; 0x0216c078
.byte 0x4c, 0xbd, 0x16, 0x02
.global data_ov18_0216c07c
data_ov18_0216c07c: ; 0x0216c07c
.byte 0x84, 0xbd, 0x16, 0x02
.global data_ov18_0216c080
data_ov18_0216c080: ; 0x0216c080
.byte 0xbc, 0xbd, 0x16, 0x02
.global data_ov18_0216c084
data_ov18_0216c084: ; 0x0216c084
.byte 0xf4, 0xbd, 0x16, 0x02
.global data_ov18_0216c088
data_ov18_0216c088: ; 0x0216c088
.byte 0x2c, 0xbe, 0x16, 0x02
.global data_ov18_0216c08c
data_ov18_0216c08c: ; 0x0216c08c
.byte 0x64, 0xbe, 0x16, 0x02
.global data_ov18_0216c090
data_ov18_0216c090: ; 0x0216c090
.byte 0x9c, 0xbe, 0x16, 0x02
.global data_ov18_0216c094
data_ov18_0216c094: ; 0x0216c094
.byte 0xd4, 0xbe, 0x16, 0x02
.global data_ov18_0216c098
data_ov18_0216c098: ; 0x0216c098
.byte 0x14, 0xbf, 0x16, 0x02
.global data_ov18_0216c09c
data_ov18_0216c09c: ; 0x0216c09c
.byte 0x54, 0xbf, 0x16, 0x02
.global data_ov18_0216c0a0
data_ov18_0216c0a0: ; 0x0216c0a0
.byte 0x8c, 0xbf, 0x16, 0x02
.global data_ov18_0216c0a4
data_ov18_0216c0a4: ; 0x0216c0a4
.byte 0x0c, 0xc0, 0x16, 0x02
.global data_ov18_0216c0a8
data_ov18_0216c0a8: ; 0x0216c0a8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c0ac
data_ov18_0216c0ac: ; 0x0216c0ac
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c0b0
data_ov18_0216c0b0: ; 0x0216c0b0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c0b4
data_ov18_0216c0b4: ; 0x0216c0b4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c0b8
data_ov18_0216c0b8: ; 0x0216c0b8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c0bc
data_ov18_0216c0bc: ; 0x0216c0bc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c0c0
data_ov18_0216c0c0: ; 0x0216c0c0
.byte 0xd0, 0xc1, 0x16, 0x02
.global data_ov18_0216c0c4
data_ov18_0216c0c4: ; 0x0216c0c4
.byte 0xa4, 0xc1, 0x16, 0x02
.global data_ov18_0216c0c8
data_ov18_0216c0c8: ; 0x0216c0c8
.byte 0xa8, 0xc1, 0x16, 0x02
.global data_ov18_0216c0cc
data_ov18_0216c0cc: ; 0x0216c0cc
.byte 0x04, 0xc2, 0x16, 0x02
.global data_ov18_0216c0d0
data_ov18_0216c0d0: ; 0x0216c0d0
.byte 0xbc, 0xc1, 0x16, 0x02
.global data_ov18_0216c0d4
data_ov18_0216c0d4: ; 0x0216c0d4
.byte 0xe4, 0xc1, 0x16, 0x02
.global data_ov18_0216c0d8
data_ov18_0216c0d8: ; 0x0216c0d8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c0dc
data_ov18_0216c0dc: ; 0x0216c0dc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c0e0
data_ov18_0216c0e0: ; 0x0216c0e0
.byte 0x4c, 0xb6, 0x15, 0x02
.global data_ov18_0216c0e4
data_ov18_0216c0e4: ; 0x0216c0e4
.byte 0x58, 0xb7, 0x15, 0x02
.global data_ov18_0216c0e8
data_ov18_0216c0e8: ; 0x0216c0e8
.byte 0x6c, 0xb8, 0x15, 0x02
.global data_ov18_0216c0ec
data_ov18_0216c0ec: ; 0x0216c0ec
.byte 0xfd, 0xc3, 0x10, 0x02
.global data_ov18_0216c0f0
data_ov18_0216c0f0: ; 0x0216c0f0
.byte 0x2d, 0xc5, 0x10, 0x02
.global data_ov18_0216c0f4
data_ov18_0216c0f4: ; 0x0216c0f4
.byte 0x84, 0xbd, 0x15, 0x02
.global data_ov18_0216c0f8
data_ov18_0216c0f8: ; 0x0216c0f8
.byte 0xf4, 0xdd, 0x07, 0x02
.global data_ov18_0216c0fc
data_ov18_0216c0fc: ; 0x0216c0fc
.byte 0xb8, 0xbe, 0x15, 0x02
.global data_ov18_0216c100
data_ov18_0216c100: ; 0x0216c100
.byte 0x44, 0xc1, 0x15, 0x02
.global data_ov18_0216c104
data_ov18_0216c104: ; 0x0216c104
.byte 0x6c, 0x1c, 0x11, 0x02
.global data_ov18_0216c108
data_ov18_0216c108: ; 0x0216c108
.byte 0x70, 0x1c, 0x11, 0x02
.global data_ov18_0216c10c
data_ov18_0216c10c: ; 0x0216c10c
.byte 0xc8, 0xc1, 0x15, 0x02
.global data_ov18_0216c110
data_ov18_0216c110: ; 0x0216c110
.byte 0x65, 0xc7, 0x10, 0x02
.global data_ov18_0216c114
data_ov18_0216c114: ; 0x0216c114
.byte 0x01, 0xc8, 0x10, 0x02
.global data_ov18_0216c118
data_ov18_0216c118: ; 0x0216c118
.byte 0x8d, 0xc8, 0x10, 0x02
.global data_ov18_0216c11c
data_ov18_0216c11c: ; 0x0216c11c
.byte 0xd5, 0xc8, 0x10, 0x02
.global data_ov18_0216c120
data_ov18_0216c120: ; 0x0216c120
.byte 0x85, 0xca, 0x10, 0x02
.global data_ov18_0216c124
data_ov18_0216c124: ; 0x0216c124
.byte 0x01, 0xcb, 0x10, 0x02
.global data_ov18_0216c128
data_ov18_0216c128: ; 0x0216c128
.byte 0x6c, 0xe4, 0x07, 0x02
.global data_ov18_0216c12c
data_ov18_0216c12c: ; 0x0216c12c
.byte 0xa4, 0xca, 0x15, 0x02
.global data_ov18_0216c130
data_ov18_0216c130: ; 0x0216c130
.byte 0x88, 0xe4, 0x07, 0x02
.global data_ov18_0216c134
data_ov18_0216c134: ; 0x0216c134
.byte 0x90, 0xc2, 0x15, 0x02
.global data_ov18_0216c138
data_ov18_0216c138: ; 0x0216c138
.byte 0xb0, 0xc2, 0x15, 0x02
.global data_ov18_0216c13c
data_ov18_0216c13c: ; 0x0216c13c
.byte 0xe0, 0xc2, 0x15, 0x02
.global data_ov18_0216c140
data_ov18_0216c140: ; 0x0216c140
.byte 0x00, 0xc3, 0x15, 0x02
.global data_ov18_0216c144
data_ov18_0216c144: ; 0x0216c144
.byte 0x2c, 0xc3, 0x15, 0x02
.global data_ov18_0216c148
data_ov18_0216c148: ; 0x0216c148
.byte 0xb8, 0xe4, 0x07, 0x02
.global data_ov18_0216c14c
data_ov18_0216c14c: ; 0x0216c14c
.byte 0x70, 0xe9, 0x07, 0x02
.global data_ov18_0216c150
data_ov18_0216c150: ; 0x0216c150
.byte 0x14, 0xee, 0x07, 0x02
.global data_ov18_0216c154
data_ov18_0216c154: ; 0x0216c154
.byte 0xf4, 0xef, 0x07, 0x02
.global data_ov18_0216c158
data_ov18_0216c158: ; 0x0216c158
.byte 0x48, 0xc4, 0x15, 0x02
.global data_ov18_0216c15c
data_ov18_0216c15c: ; 0x0216c15c
.byte 0x60, 0xc4, 0x15, 0x02
.global data_ov18_0216c160
data_ov18_0216c160: ; 0x0216c160
.byte 0xc4, 0xc5, 0x15, 0x02
.global data_ov18_0216c164
data_ov18_0216c164: ; 0x0216c164
.byte 0x64, 0xf3, 0x07, 0x02
.global data_ov18_0216c168
data_ov18_0216c168: ; 0x0216c168
.byte 0x24, 0xf3, 0x07, 0x02
.global data_ov18_0216c16c
data_ov18_0216c16c: ; 0x0216c16c
.byte 0x2c, 0xf3, 0x07, 0x02
.global data_ov18_0216c170
data_ov18_0216c170: ; 0x0216c170
.byte 0xc4, 0xf3, 0x07, 0x02
.global data_ov18_0216c174
data_ov18_0216c174: ; 0x0216c174
.byte 0x7c, 0xc2, 0x15, 0x02
.global data_ov18_0216c178
data_ov18_0216c178: ; 0x0216c178
.byte 0xc0, 0xc3, 0x15, 0x02
.global data_ov18_0216c17c
data_ov18_0216c17c: ; 0x0216c17c
.byte 0x34, 0xf3, 0x07, 0x02
.global data_ov18_0216c180
data_ov18_0216c180: ; 0x0216c180
.byte 0x38, 0xf3, 0x07, 0x02
.global data_ov18_0216c184
data_ov18_0216c184: ; 0x0216c184
.byte 0x84, 0xc2, 0x15, 0x02
.global data_ov18_0216c188
data_ov18_0216c188: ; 0x0216c188
.byte 0x44, 0xf3, 0x07, 0x02
.global data_ov18_0216c18c
data_ov18_0216c18c: ; 0x0216c18c
.byte 0x48, 0xf3, 0x07, 0x02
.global data_ov18_0216c190
data_ov18_0216c190: ; 0x0216c190
.byte 0x08, 0xc6, 0x15, 0x02
.global data_ov18_0216c194
data_ov18_0216c194: ; 0x0216c194
.byte 0x44, 0xe4, 0x07, 0x02
.global data_ov18_0216c198
data_ov18_0216c198: ; 0x0216c198
.byte 0xd4, 0x07, 0x08, 0x02
.global data_ov18_0216c19c
data_ov18_0216c19c: ; 0x0216c19c
.byte 0xa0, 0xc3, 0x15, 0x02
.global data_ov18_0216c1a0
data_ov18_0216c1a0: ; 0x0216c1a0
.byte 0x28, 0xc4, 0x15, 0x02
.global data_ov18_0216c1a4
data_ov18_0216c1a4: ; 0x0216c1a4
.ascii "MSE"
.byte 0x00
.global data_ov18_0216c1a8
data_ov18_0216c1a8: ; 0x0216c1a8
.ascii "MSE:field_sea.nsbca"
.byte 0x00
.global data_ov18_0216c1bc
data_ov18_0216c1bc: ; 0x0216c1bc
.ascii "MSE:field_sea.nsbta"
.byte 0x00
.global data_ov18_0216c1d0
data_ov18_0216c1d0: ; 0x0216c1d0
.ascii "MSE:field_sea.nsbmd"
.byte 0x00
.global data_ov18_0216c1e4
data_ov18_0216c1e4: ; 0x0216c1e4
.ascii "Environment/Sea/field_sea.narc"
.byte 0x00, 0x00
.global data_ov18_0216c204
data_ov18_0216c204: ; 0x0216c204
.ascii "Environment/Sea/field_sea.nsbtx"
.byte 0x00
.global data_ov18_0216c224
data_ov18_0216c224: ; 0x0216c224
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c228
data_ov18_0216c228: ; 0x0216c228
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c22c
data_ov18_0216c22c: ; 0x0216c22c
.byte 0x10, 0xcd, 0x15, 0x02
.global data_ov18_0216c230
data_ov18_0216c230: ; 0x0216c230
.byte 0x9c, 0xcd, 0x15, 0x02
.global data_ov18_0216c234
data_ov18_0216c234: ; 0x0216c234
.byte 0xb4, 0xcd, 0x15, 0x02
.global data_ov18_0216c238
data_ov18_0216c238: ; 0x0216c238
.byte 0x44, 0xce, 0x15, 0x02
.global data_ov18_0216c23c
data_ov18_0216c23c: ; 0x0216c23c
.ascii "brg"
.byte 0x00
.global data_ov18_0216c240
data_ov18_0216c240: ; 0x0216c240
.ascii "fnl"
.byte 0x00
.global data_ov18_0216c244
data_ov18_0216c244: ; 0x0216c244
.ascii "pdl"
.byte 0x00
.global data_ov18_0216c248
data_ov18_0216c248: ; 0x0216c248
.ascii "dco"
.byte 0x00
.global data_ov18_0216c24c
data_ov18_0216c24c: ; 0x0216c24c
.ascii "can"
.byte 0x00
.global data_ov18_0216c250
data_ov18_0216c250: ; 0x0216c250
.ascii "hul"
.byte 0x00
.global data_ov18_0216c254
data_ov18_0216c254: ; 0x0216c254
.ascii "bow"
.byte 0x00
.global data_ov18_0216c258
data_ov18_0216c258: ; 0x0216c258
.ascii "anc"
.byte 0x00
.global data_ov18_0216c25c
data_ov18_0216c25c: ; 0x0216c25c
.byte 0x58, 0xc2, 0x16, 0x02
.global data_ov18_0216c260
data_ov18_0216c260: ; 0x0216c260
.byte 0x54, 0xc2, 0x16, 0x02
.global data_ov18_0216c264
data_ov18_0216c264: ; 0x0216c264
.byte 0x50, 0xc2, 0x16, 0x02
.global data_ov18_0216c268
data_ov18_0216c268: ; 0x0216c268
.byte 0x4c, 0xc2, 0x16, 0x02
.global data_ov18_0216c26c
data_ov18_0216c26c: ; 0x0216c26c
.byte 0x48, 0xc2, 0x16, 0x02
.global data_ov18_0216c270
data_ov18_0216c270: ; 0x0216c270
.byte 0x44, 0xc2, 0x16, 0x02
.global data_ov18_0216c274
data_ov18_0216c274: ; 0x0216c274
.byte 0x40, 0xc2, 0x16, 0x02
.global data_ov18_0216c278
data_ov18_0216c278: ; 0x0216c278
.byte 0x3c, 0xc2, 0x16, 0x02
.global data_ov18_0216c27c
data_ov18_0216c27c: ; 0x0216c27c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c280
data_ov18_0216c280: ; 0x0216c280
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c284
data_ov18_0216c284: ; 0x0216c284
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c288
data_ov18_0216c288: ; 0x0216c288
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c28c
data_ov18_0216c28c: ; 0x0216c28c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c290
data_ov18_0216c290: ; 0x0216c290
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c294
data_ov18_0216c294: ; 0x0216c294
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c298
data_ov18_0216c298: ; 0x0216c298
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c29c
data_ov18_0216c29c: ; 0x0216c29c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c2a0
data_ov18_0216c2a0: ; 0x0216c2a0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c2a4
data_ov18_0216c2a4: ; 0x0216c2a4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c2a8
data_ov18_0216c2a8: ; 0x0216c2a8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c2ac
data_ov18_0216c2ac: ; 0x0216c2ac
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c2b0
data_ov18_0216c2b0: ; 0x0216c2b0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c2b4
data_ov18_0216c2b4: ; 0x0216c2b4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c2b8
data_ov18_0216c2b8: ; 0x0216c2b8
.byte 0x90, 0xcf, 0x15, 0x02
.global data_ov18_0216c2bc
data_ov18_0216c2bc: ; 0x0216c2bc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c2c0
data_ov18_0216c2c0: ; 0x0216c2c0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c2c4
data_ov18_0216c2c4: ; 0x0216c2c4
.byte 0xec, 0xd1, 0x15, 0x02
.global data_ov18_0216c2c8
data_ov18_0216c2c8: ; 0x0216c2c8
.byte 0x38, 0xd2, 0x15, 0x02
.global data_ov18_0216c2cc
data_ov18_0216c2cc: ; 0x0216c2cc
.byte 0x8c, 0xd2, 0x15, 0x02
.global data_ov18_0216c2d0
data_ov18_0216c2d0: ; 0x0216c2d0
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov18_0216c2d4
data_ov18_0216c2d4: ; 0x0216c2d4
.byte 0x40, 0x17, 0x0c, 0x02
.global data_ov18_0216c2d8
data_ov18_0216c2d8: ; 0x0216c2d8
.byte 0x84, 0xd5, 0x15, 0x02
.global data_ov18_0216c2dc
data_ov18_0216c2dc: ; 0x0216c2dc
.byte 0xac, 0xd6, 0x15, 0x02
.global data_ov18_0216c2e0
data_ov18_0216c2e0: ; 0x0216c2e0
.byte 0x98, 0xdf, 0x15, 0x02
.global data_ov18_0216c2e4
data_ov18_0216c2e4: ; 0x0216c2e4
.byte 0xa4, 0xe0, 0x15, 0x02
.global data_ov18_0216c2e8
data_ov18_0216c2e8: ; 0x0216c2e8
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov18_0216c2ec
data_ov18_0216c2ec: ; 0x0216c2ec
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov18_0216c2f0
data_ov18_0216c2f0: ; 0x0216c2f0
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov18_0216c2f4
data_ov18_0216c2f4: ; 0x0216c2f4
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov18_0216c2f8
data_ov18_0216c2f8: ; 0x0216c2f8
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov18_0216c2fc
data_ov18_0216c2fc: ; 0x0216c2fc
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov18_0216c300
data_ov18_0216c300: ; 0x0216c300
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov18_0216c304
data_ov18_0216c304: ; 0x0216c304
.byte 0x04, 0x30, 0x0c, 0x02
.global data_ov18_0216c308
data_ov18_0216c308: ; 0x0216c308
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov18_0216c30c
data_ov18_0216c30c: ; 0x0216c30c
.byte 0x48, 0x1c, 0x0c, 0x02
.global data_ov18_0216c310
data_ov18_0216c310: ; 0x0216c310
.byte 0x50, 0x1c, 0x0c, 0x02
.global data_ov18_0216c314
data_ov18_0216c314: ; 0x0216c314
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov18_0216c318
data_ov18_0216c318: ; 0x0216c318
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov18_0216c31c
data_ov18_0216c31c: ; 0x0216c31c
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov18_0216c320
data_ov18_0216c320: ; 0x0216c320
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov18_0216c324
data_ov18_0216c324: ; 0x0216c324
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov18_0216c328
data_ov18_0216c328: ; 0x0216c328
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov18_0216c32c
data_ov18_0216c32c: ; 0x0216c32c
.byte 0x10, 0x19, 0x0c, 0x02
.global data_ov18_0216c330
data_ov18_0216c330: ; 0x0216c330
.byte 0x14, 0x19, 0x0c, 0x02
.global data_ov18_0216c334
data_ov18_0216c334: ; 0x0216c334
.byte 0x1c, 0x19, 0x0c, 0x02
.global data_ov18_0216c338
data_ov18_0216c338: ; 0x0216c338
.byte 0x24, 0x19, 0x0c, 0x02
.global data_ov18_0216c33c
data_ov18_0216c33c: ; 0x0216c33c
.byte 0x2c, 0x19, 0x0c, 0x02
.global data_ov18_0216c340
data_ov18_0216c340: ; 0x0216c340
.byte 0x28, 0x19, 0x0c, 0x02
.global data_ov18_0216c344
data_ov18_0216c344: ; 0x0216c344
.byte 0x34, 0x19, 0x0c, 0x02
.global data_ov18_0216c348
data_ov18_0216c348: ; 0x0216c348
.byte 0x38, 0x19, 0x0c, 0x02
.global data_ov18_0216c34c
data_ov18_0216c34c: ; 0x0216c34c
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov18_0216c350
data_ov18_0216c350: ; 0x0216c350
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov18_0216c354
data_ov18_0216c354: ; 0x0216c354
.byte 0x48, 0x19, 0x0c, 0x02
.global data_ov18_0216c358
data_ov18_0216c358: ; 0x0216c358
.byte 0x50, 0x19, 0x0c, 0x02
.global data_ov18_0216c35c
data_ov18_0216c35c: ; 0x0216c35c
.byte 0x54, 0x19, 0x0c, 0x02
.global data_ov18_0216c360
data_ov18_0216c360: ; 0x0216c360
.byte 0x58, 0x19, 0x0c, 0x02
.global data_ov18_0216c364
data_ov18_0216c364: ; 0x0216c364
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov18_0216c368
data_ov18_0216c368: ; 0x0216c368
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov18_0216c36c
data_ov18_0216c36c: ; 0x0216c36c
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov18_0216c370
data_ov18_0216c370: ; 0x0216c370
.byte 0xfc, 0x31, 0x0c, 0x02
.global data_ov18_0216c374
data_ov18_0216c374: ; 0x0216c374
.byte 0x2c, 0x32, 0x0c, 0x02
.global data_ov18_0216c378
data_ov18_0216c378: ; 0x0216c378
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c37c
data_ov18_0216c37c: ; 0x0216c37c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c380
data_ov18_0216c380: ; 0x0216c380
.byte 0xe8, 0xd1, 0x15, 0x02
.global data_ov18_0216c384
data_ov18_0216c384: ; 0x0216c384
.byte 0xc8, 0xe4, 0x15, 0x02
.global data_ov18_0216c388
data_ov18_0216c388: ; 0x0216c388
.byte 0xac, 0xcf, 0x15, 0x02
.global data_ov18_0216c38c
data_ov18_0216c38c: ; 0x0216c38c
.byte 0x60, 0xd0, 0x15, 0x02
.global data_ov18_0216c390
data_ov18_0216c390: ; 0x0216c390
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c394
data_ov18_0216c394: ; 0x0216c394
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c398
data_ov18_0216c398: ; 0x0216c398
.byte 0xa8, 0xe4, 0x15, 0x02
.global data_ov18_0216c39c
data_ov18_0216c39c: ; 0x0216c39c
.byte 0xb4, 0xe4, 0x15, 0x02
.global data_ov18_0216c3a0
data_ov18_0216c3a0: ; 0x0216c3a0
.byte 0xac, 0xe4, 0x15, 0x02
.global data_ov18_0216c3a4
data_ov18_0216c3a4: ; 0x0216c3a4
.byte 0xb0, 0xe4, 0x15, 0x02
.global data_ov18_0216c3a8
data_ov18_0216c3a8: ; 0x0216c3a8
.byte 0x00
.global data_ov18_0216c3a9
data_ov18_0216c3a9: ; 0x0216c3a9
.byte 0x00
.global data_ov18_0216c3aa
data_ov18_0216c3aa: ; 0x0216c3aa
.byte 0x00
.global data_ov18_0216c3ab
data_ov18_0216c3ab: ; 0x0216c3ab
.byte 0x00
.global data_ov18_0216c3ac
data_ov18_0216c3ac: ; 0x0216c3ac
.byte 0x00
.global data_ov18_0216c3ad
data_ov18_0216c3ad: ; 0x0216c3ad
.byte 0x00
.global data_ov18_0216c3ae
data_ov18_0216c3ae: ; 0x0216c3ae
.byte 0x00
.global data_ov18_0216c3af
data_ov18_0216c3af: ; 0x0216c3af
.byte 0x00
.global data_ov18_0216c3b0
data_ov18_0216c3b0: ; 0x0216c3b0
.byte 0x00
.global data_ov18_0216c3b1
data_ov18_0216c3b1: ; 0x0216c3b1
.byte 0x00
.global data_ov18_0216c3b2
data_ov18_0216c3b2: ; 0x0216c3b2
.byte 0x00
.global data_ov18_0216c3b3
data_ov18_0216c3b3: ; 0x0216c3b3
.byte 0x00
.global data_ov18_0216c3b4
data_ov18_0216c3b4: ; 0x0216c3b4
.byte 0x00
.global data_ov18_0216c3b5
data_ov18_0216c3b5: ; 0x0216c3b5
.byte 0x00
.global data_ov18_0216c3b6
data_ov18_0216c3b6: ; 0x0216c3b6
.byte 0x00
.global data_ov18_0216c3b7
data_ov18_0216c3b7: ; 0x0216c3b7
.byte 0x00
.global data_ov18_0216c3b8
data_ov18_0216c3b8: ; 0x0216c3b8
.byte 0x00
.global data_ov18_0216c3b9
data_ov18_0216c3b9: ; 0x0216c3b9
.byte 0x00
.global data_ov18_0216c3ba
data_ov18_0216c3ba: ; 0x0216c3ba
.byte 0x00
.global data_ov18_0216c3bb
data_ov18_0216c3bb: ; 0x0216c3bb
.byte 0x00
.global data_ov18_0216c3bc
data_ov18_0216c3bc: ; 0x0216c3bc
.byte 0x00
.global data_ov18_0216c3bd
data_ov18_0216c3bd: ; 0x0216c3bd
.byte 0x00
.global data_ov18_0216c3be
data_ov18_0216c3be: ; 0x0216c3be
.byte 0x00
.global data_ov18_0216c3bf
data_ov18_0216c3bf: ; 0x0216c3bf
.byte 0x00
.global data_ov18_0216c3c0
data_ov18_0216c3c0: ; 0x0216c3c0
.byte 0x00
.global data_ov18_0216c3c1
data_ov18_0216c3c1: ; 0x0216c3c1
.byte 0x00
.global data_ov18_0216c3c2
data_ov18_0216c3c2: ; 0x0216c3c2
.byte 0x00
.global data_ov18_0216c3c3
data_ov18_0216c3c3: ; 0x0216c3c3
.byte 0x00
.global data_ov18_0216c3c4
data_ov18_0216c3c4: ; 0x0216c3c4
.byte 0x00
.global data_ov18_0216c3c5
data_ov18_0216c3c5: ; 0x0216c3c5
.byte 0x00
.global data_ov18_0216c3c6
data_ov18_0216c3c6: ; 0x0216c3c6
.byte 0x00
.global data_ov18_0216c3c7
data_ov18_0216c3c7: ; 0x0216c3c7
.byte 0x00
.global data_ov18_0216c3c8
data_ov18_0216c3c8: ; 0x0216c3c8
.byte 0x00
.global data_ov18_0216c3c9
data_ov18_0216c3c9: ; 0x0216c3c9
.byte 0x00
.global data_ov18_0216c3ca
data_ov18_0216c3ca: ; 0x0216c3ca
.byte 0x00
.global data_ov18_0216c3cb
data_ov18_0216c3cb: ; 0x0216c3cb
.byte 0x00
.global data_ov18_0216c3cc
data_ov18_0216c3cc: ; 0x0216c3cc
.byte 0x00
.global data_ov18_0216c3cd
data_ov18_0216c3cd: ; 0x0216c3cd
.byte 0x00
.global data_ov18_0216c3ce
data_ov18_0216c3ce: ; 0x0216c3ce
.byte 0x00
.global data_ov18_0216c3cf
data_ov18_0216c3cf: ; 0x0216c3cf
.byte 0x00
.global data_ov18_0216c3d0
data_ov18_0216c3d0: ; 0x0216c3d0
.byte 0x00
.global data_ov18_0216c3d1
data_ov18_0216c3d1: ; 0x0216c3d1
.byte 0x00
.global data_ov18_0216c3d2
data_ov18_0216c3d2: ; 0x0216c3d2
.byte 0x00
.global data_ov18_0216c3d3
data_ov18_0216c3d3: ; 0x0216c3d3
.byte 0x00
.global data_ov18_0216c3d4
data_ov18_0216c3d4: ; 0x0216c3d4
.byte 0x00
.global data_ov18_0216c3d5
data_ov18_0216c3d5: ; 0x0216c3d5
.byte 0x00
.global data_ov18_0216c3d6
data_ov18_0216c3d6: ; 0x0216c3d6
.byte 0x00
.global data_ov18_0216c3d7
data_ov18_0216c3d7: ; 0x0216c3d7
.byte 0x00
.global data_ov18_0216c3d8
data_ov18_0216c3d8: ; 0x0216c3d8
.byte 0x00
.global data_ov18_0216c3d9
data_ov18_0216c3d9: ; 0x0216c3d9
.byte 0x00
.global data_ov18_0216c3da
data_ov18_0216c3da: ; 0x0216c3da
.byte 0x00
.global data_ov18_0216c3db
data_ov18_0216c3db: ; 0x0216c3db
.byte 0x00
.global data_ov18_0216c3dc
data_ov18_0216c3dc: ; 0x0216c3dc
.byte 0x00
.global data_ov18_0216c3dd
data_ov18_0216c3dd: ; 0x0216c3dd
.byte 0x00
.global data_ov18_0216c3de
data_ov18_0216c3de: ; 0x0216c3de
.byte 0x00
.global data_ov18_0216c3df
data_ov18_0216c3df: ; 0x0216c3df
.byte 0x00
.global data_ov18_0216c3e0
data_ov18_0216c3e0: ; 0x0216c3e0
.byte 0x00
.global data_ov18_0216c3e1
data_ov18_0216c3e1: ; 0x0216c3e1
.byte 0x00
.global data_ov18_0216c3e2
data_ov18_0216c3e2: ; 0x0216c3e2
.byte 0x00
.global data_ov18_0216c3e3
data_ov18_0216c3e3: ; 0x0216c3e3
.byte 0x00
.global data_ov18_0216c3e4
data_ov18_0216c3e4: ; 0x0216c3e4
.byte 0x00
.global data_ov18_0216c3e5
data_ov18_0216c3e5: ; 0x0216c3e5
.byte 0x00
.global data_ov18_0216c3e6
data_ov18_0216c3e6: ; 0x0216c3e6
.byte 0x00
.global data_ov18_0216c3e7
data_ov18_0216c3e7: ; 0x0216c3e7
.byte 0x00
.global data_ov18_0216c3e8
data_ov18_0216c3e8: ; 0x0216c3e8
.byte 0x00
.global data_ov18_0216c3e9
data_ov18_0216c3e9: ; 0x0216c3e9
.byte 0x00
.global data_ov18_0216c3ea
data_ov18_0216c3ea: ; 0x0216c3ea
.byte 0x00
.global data_ov18_0216c3eb
data_ov18_0216c3eb: ; 0x0216c3eb
.byte 0x00
.global data_ov18_0216c3ec
data_ov18_0216c3ec: ; 0x0216c3ec
.byte 0x00
.global data_ov18_0216c3ed
data_ov18_0216c3ed: ; 0x0216c3ed
.byte 0x00
.global data_ov18_0216c3ee
data_ov18_0216c3ee: ; 0x0216c3ee
.byte 0x00
.global data_ov18_0216c3ef
data_ov18_0216c3ef: ; 0x0216c3ef
.byte 0x00
.global data_ov18_0216c3f0
data_ov18_0216c3f0: ; 0x0216c3f0
.byte 0x00
.global data_ov18_0216c3f1
data_ov18_0216c3f1: ; 0x0216c3f1
.byte 0x00
.global data_ov18_0216c3f2
data_ov18_0216c3f2: ; 0x0216c3f2
.byte 0x00
.global data_ov18_0216c3f3
data_ov18_0216c3f3: ; 0x0216c3f3
.byte 0x00
.global data_ov18_0216c3f4
data_ov18_0216c3f4: ; 0x0216c3f4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c3f8
data_ov18_0216c3f8: ; 0x0216c3f8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c3fc
data_ov18_0216c3fc: ; 0x0216c3fc
.byte 0x8c, 0xe5, 0x15, 0x02
.global data_ov18_0216c400
data_ov18_0216c400: ; 0x0216c400
.byte 0xd4, 0xe5, 0x15, 0x02
.global data_ov18_0216c404
data_ov18_0216c404: ; 0x0216c404
.byte 0x24, 0xe6, 0x15, 0x02
.global data_ov18_0216c408
data_ov18_0216c408: ; 0x0216c408
.byte 0x90, 0xee, 0x15, 0x02
.global data_ov18_0216c40c
data_ov18_0216c40c: ; 0x0216c40c
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216c410
data_ov18_0216c410: ; 0x0216c410
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216c414
data_ov18_0216c414: ; 0x0216c414
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216c418
data_ov18_0216c418: ; 0x0216c418
.byte 0x60, 0xef, 0x15, 0x02
.global data_ov18_0216c41c
data_ov18_0216c41c: ; 0x0216c41c
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216c420
data_ov18_0216c420: ; 0x0216c420
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216c424
data_ov18_0216c424: ; 0x0216c424
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216c428
data_ov18_0216c428: ; 0x0216c428
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216c42c
data_ov18_0216c42c: ; 0x0216c42c
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216c430
data_ov18_0216c430: ; 0x0216c430
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216c434
data_ov18_0216c434: ; 0x0216c434
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216c438
data_ov18_0216c438: ; 0x0216c438
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216c43c
data_ov18_0216c43c: ; 0x0216c43c
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216c440
data_ov18_0216c440: ; 0x0216c440
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216c444
data_ov18_0216c444: ; 0x0216c444
.byte 0x04, 0xb7, 0x08, 0x02
.global data_ov18_0216c448
data_ov18_0216c448: ; 0x0216c448
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216c44c
data_ov18_0216c44c: ; 0x0216c44c
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216c450
data_ov18_0216c450: ; 0x0216c450
.byte 0x14, 0xb7, 0x08, 0x02
.global data_ov18_0216c454
data_ov18_0216c454: ; 0x0216c454
.byte 0x70, 0xef, 0x15, 0x02
.global data_ov18_0216c458
data_ov18_0216c458: ; 0x0216c458
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216c45c
data_ov18_0216c45c: ; 0x0216c45c
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216c460
data_ov18_0216c460: ; 0x0216c460
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216c464
data_ov18_0216c464: ; 0x0216c464
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216c468
data_ov18_0216c468: ; 0x0216c468
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216c46c
data_ov18_0216c46c: ; 0x0216c46c
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216c470
data_ov18_0216c470: ; 0x0216c470
.byte 0x68, 0xef, 0x15, 0x02
.global data_ov18_0216c474
data_ov18_0216c474: ; 0x0216c474
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216c478
data_ov18_0216c478: ; 0x0216c478
.byte 0x78, 0xef, 0x15, 0x02
.global data_ov18_0216c47c
data_ov18_0216c47c: ; 0x0216c47c
.byte 0x2c, 0xef, 0x15, 0x02
.global data_ov18_0216c480
data_ov18_0216c480: ; 0x0216c480
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216c484
data_ov18_0216c484: ; 0x0216c484
.byte 0x20, 0xf0, 0x15, 0x02
.global data_ov18_0216c488
data_ov18_0216c488: ; 0x0216c488
.ascii "shooting_adv"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c498
data_ov18_0216c498: ; 0x0216c498
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c49c
data_ov18_0216c49c: ; 0x0216c49c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c4a0
data_ov18_0216c4a0: ; 0x0216c4a0
.byte 0x2c, 0xf2, 0x15, 0x02
.global data_ov18_0216c4a4
data_ov18_0216c4a4: ; 0x0216c4a4
.byte 0x4c, 0xf2, 0x15, 0x02
.global data_ov18_0216c4a8
data_ov18_0216c4a8: ; 0x0216c4a8
.byte 0x74, 0xf2, 0x15, 0x02
.global data_ov18_0216c4ac
data_ov18_0216c4ac: ; 0x0216c4ac
.byte 0x88, 0xf3, 0x15, 0x02
.global data_ov18_0216c4b0
data_ov18_0216c4b0: ; 0x0216c4b0
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216c4b4
data_ov18_0216c4b4: ; 0x0216c4b4
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216c4b8
data_ov18_0216c4b8: ; 0x0216c4b8
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216c4bc
data_ov18_0216c4bc: ; 0x0216c4bc
.byte 0x6c, 0xf4, 0x15, 0x02
.global data_ov18_0216c4c0
data_ov18_0216c4c0: ; 0x0216c4c0
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216c4c4
data_ov18_0216c4c4: ; 0x0216c4c4
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216c4c8
data_ov18_0216c4c8: ; 0x0216c4c8
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216c4cc
data_ov18_0216c4cc: ; 0x0216c4cc
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216c4d0
data_ov18_0216c4d0: ; 0x0216c4d0
.byte 0x30, 0xf4, 0x15, 0x02
.global data_ov18_0216c4d4
data_ov18_0216c4d4: ; 0x0216c4d4
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216c4d8
data_ov18_0216c4d8: ; 0x0216c4d8
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216c4dc
data_ov18_0216c4dc: ; 0x0216c4dc
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216c4e0
data_ov18_0216c4e0: ; 0x0216c4e0
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216c4e4
data_ov18_0216c4e4: ; 0x0216c4e4
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216c4e8
data_ov18_0216c4e8: ; 0x0216c4e8
.byte 0x04, 0xb7, 0x08, 0x02
.global data_ov18_0216c4ec
data_ov18_0216c4ec: ; 0x0216c4ec
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216c4f0
data_ov18_0216c4f0: ; 0x0216c4f0
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216c4f4
data_ov18_0216c4f4: ; 0x0216c4f4
.byte 0x00, 0xca, 0x08, 0x02
.global data_ov18_0216c4f8
data_ov18_0216c4f8: ; 0x0216c4f8
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216c4fc
data_ov18_0216c4fc: ; 0x0216c4fc
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216c500
data_ov18_0216c500: ; 0x0216c500
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216c504
data_ov18_0216c504: ; 0x0216c504
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216c508
data_ov18_0216c508: ; 0x0216c508
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216c50c
data_ov18_0216c50c: ; 0x0216c50c
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216c510
data_ov18_0216c510: ; 0x0216c510
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216c514
data_ov18_0216c514: ; 0x0216c514
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216c518
data_ov18_0216c518: ; 0x0216c518
.byte 0x28, 0xf4, 0x15, 0x02
.global data_ov18_0216c51c
data_ov18_0216c51c: ; 0x0216c51c
.byte 0x68, 0xf4, 0x15, 0x02
.global data_ov18_0216c520
data_ov18_0216c520: ; 0x0216c520
.byte 0x00, 0xf4, 0x15, 0x02
.global data_ov18_0216c524
data_ov18_0216c524: ; 0x0216c524
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216c528
data_ov18_0216c528: ; 0x0216c528
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216c52c
data_ov18_0216c52c: ; 0x0216c52c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c530
data_ov18_0216c530: ; 0x0216c530
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c534
data_ov18_0216c534: ; 0x0216c534
.byte 0x4c, 0xf5, 0x15, 0x02
.global data_ov18_0216c538
data_ov18_0216c538: ; 0x0216c538
.byte 0x9c, 0xf5, 0x15, 0x02
.global data_ov18_0216c53c
data_ov18_0216c53c: ; 0x0216c53c
.byte 0xfc, 0xf5, 0x15, 0x02
.global data_ov18_0216c540
data_ov18_0216c540: ; 0x0216c540
.byte 0x04, 0xf9, 0x15, 0x02
.global data_ov18_0216c544
data_ov18_0216c544: ; 0x0216c544
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216c548
data_ov18_0216c548: ; 0x0216c548
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216c54c
data_ov18_0216c54c: ; 0x0216c54c
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216c550
data_ov18_0216c550: ; 0x0216c550
.byte 0xf4, 0xf5, 0x15, 0x02
.global data_ov18_0216c554
data_ov18_0216c554: ; 0x0216c554
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216c558
data_ov18_0216c558: ; 0x0216c558
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216c55c
data_ov18_0216c55c: ; 0x0216c55c
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216c560
data_ov18_0216c560: ; 0x0216c560
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216c564
data_ov18_0216c564: ; 0x0216c564
.byte 0x28, 0xfa, 0x15, 0x02
.global data_ov18_0216c568
data_ov18_0216c568: ; 0x0216c568
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216c56c
data_ov18_0216c56c: ; 0x0216c56c
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216c570
data_ov18_0216c570: ; 0x0216c570
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216c574
data_ov18_0216c574: ; 0x0216c574
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216c578
data_ov18_0216c578: ; 0x0216c578
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216c57c
data_ov18_0216c57c: ; 0x0216c57c
.byte 0x04, 0xb7, 0x08, 0x02
.global data_ov18_0216c580
data_ov18_0216c580: ; 0x0216c580
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216c584
data_ov18_0216c584: ; 0x0216c584
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216c588
data_ov18_0216c588: ; 0x0216c588
.byte 0x00, 0xca, 0x08, 0x02
.global data_ov18_0216c58c
data_ov18_0216c58c: ; 0x0216c58c
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216c590
data_ov18_0216c590: ; 0x0216c590
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216c594
data_ov18_0216c594: ; 0x0216c594
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216c598
data_ov18_0216c598: ; 0x0216c598
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216c59c
data_ov18_0216c59c: ; 0x0216c59c
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216c5a0
data_ov18_0216c5a0: ; 0x0216c5a0
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216c5a4
data_ov18_0216c5a4: ; 0x0216c5a4
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216c5a8
data_ov18_0216c5a8: ; 0x0216c5a8
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216c5ac
data_ov18_0216c5ac: ; 0x0216c5ac
.byte 0x3c, 0xfa, 0x15, 0x02
.global data_ov18_0216c5b0
data_ov18_0216c5b0: ; 0x0216c5b0
.byte 0x44, 0xfa, 0x15, 0x02
.global data_ov18_0216c5b4
data_ov18_0216c5b4: ; 0x0216c5b4
.byte 0x90, 0xf9, 0x15, 0x02
.global data_ov18_0216c5b8
data_ov18_0216c5b8: ; 0x0216c5b8
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216c5bc
data_ov18_0216c5bc: ; 0x0216c5bc
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216c5c0
data_ov18_0216c5c0: ; 0x0216c5c0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c5c4
data_ov18_0216c5c4: ; 0x0216c5c4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c5c8
data_ov18_0216c5c8: ; 0x0216c5c8
.byte 0x2c, 0xfb, 0x15, 0x02
.global data_ov18_0216c5cc
data_ov18_0216c5cc: ; 0x0216c5cc
.byte 0x4c, 0xfb, 0x15, 0x02
.global data_ov18_0216c5d0
data_ov18_0216c5d0: ; 0x0216c5d0
.byte 0x74, 0xfb, 0x15, 0x02
.global data_ov18_0216c5d4
data_ov18_0216c5d4: ; 0x0216c5d4
.byte 0x90, 0xb6, 0x08, 0x02
.global data_ov18_0216c5d8
data_ov18_0216c5d8: ; 0x0216c5d8
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216c5dc
data_ov18_0216c5dc: ; 0x0216c5dc
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216c5e0
data_ov18_0216c5e0: ; 0x0216c5e0
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216c5e4
data_ov18_0216c5e4: ; 0x0216c5e4
.byte 0xd8, 0xfc, 0x15, 0x02
.global data_ov18_0216c5e8
data_ov18_0216c5e8: ; 0x0216c5e8
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216c5ec
data_ov18_0216c5ec: ; 0x0216c5ec
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216c5f0
data_ov18_0216c5f0: ; 0x0216c5f0
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216c5f4
data_ov18_0216c5f4: ; 0x0216c5f4
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216c5f8
data_ov18_0216c5f8: ; 0x0216c5f8
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216c5fc
data_ov18_0216c5fc: ; 0x0216c5fc
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216c600
data_ov18_0216c600: ; 0x0216c600
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216c604
data_ov18_0216c604: ; 0x0216c604
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216c608
data_ov18_0216c608: ; 0x0216c608
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216c60c
data_ov18_0216c60c: ; 0x0216c60c
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216c610
data_ov18_0216c610: ; 0x0216c610
.byte 0x04, 0xb7, 0x08, 0x02
.global data_ov18_0216c614
data_ov18_0216c614: ; 0x0216c614
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216c618
data_ov18_0216c618: ; 0x0216c618
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216c61c
data_ov18_0216c61c: ; 0x0216c61c
.byte 0x00, 0xca, 0x08, 0x02
.global data_ov18_0216c620
data_ov18_0216c620: ; 0x0216c620
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216c624
data_ov18_0216c624: ; 0x0216c624
.byte 0xb8, 0xfc, 0x15, 0x02
.global data_ov18_0216c628
data_ov18_0216c628: ; 0x0216c628
.byte 0xc4, 0xfc, 0x15, 0x02
.global data_ov18_0216c62c
data_ov18_0216c62c: ; 0x0216c62c
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216c630
data_ov18_0216c630: ; 0x0216c630
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216c634
data_ov18_0216c634: ; 0x0216c634
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216c638
data_ov18_0216c638: ; 0x0216c638
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216c63c
data_ov18_0216c63c: ; 0x0216c63c
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216c640
data_ov18_0216c640: ; 0x0216c640
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216c644
data_ov18_0216c644: ; 0x0216c644
.byte 0xb4, 0xfc, 0x15, 0x02
.global data_ov18_0216c648
data_ov18_0216c648: ; 0x0216c648
.byte 0x84, 0xc3, 0x08, 0x02
.global data_ov18_0216c64c
data_ov18_0216c64c: ; 0x0216c64c
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216c650
data_ov18_0216c650: ; 0x0216c650
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216c654
data_ov18_0216c654: ; 0x0216c654
.ascii "brg"
.byte 0x00
.global data_ov18_0216c658
data_ov18_0216c658: ; 0x0216c658
.ascii "fnl"
.byte 0x00
.global data_ov18_0216c65c
data_ov18_0216c65c: ; 0x0216c65c
.ascii "pdl"
.byte 0x00
.global data_ov18_0216c660
data_ov18_0216c660: ; 0x0216c660
.ascii "dco"
.byte 0x00
.global data_ov18_0216c664
data_ov18_0216c664: ; 0x0216c664
.ascii "can"
.byte 0x00
.global data_ov18_0216c668
data_ov18_0216c668: ; 0x0216c668
.ascii "hul"
.byte 0x00
.global data_ov18_0216c66c
data_ov18_0216c66c: ; 0x0216c66c
.ascii "bow"
.byte 0x00
.global data_ov18_0216c670
data_ov18_0216c670: ; 0x0216c670
.ascii "anc"
.byte 0x00
.global data_ov18_0216c674
data_ov18_0216c674: ; 0x0216c674
.byte 0x70, 0xc6, 0x16, 0x02
.global data_ov18_0216c678
data_ov18_0216c678: ; 0x0216c678
.byte 0x6c, 0xc6, 0x16, 0x02
.global data_ov18_0216c67c
data_ov18_0216c67c: ; 0x0216c67c
.byte 0x68, 0xc6, 0x16, 0x02
.global data_ov18_0216c680
data_ov18_0216c680: ; 0x0216c680
.byte 0x64, 0xc6, 0x16, 0x02
.global data_ov18_0216c684
data_ov18_0216c684: ; 0x0216c684
.byte 0x60, 0xc6, 0x16, 0x02
.global data_ov18_0216c688
data_ov18_0216c688: ; 0x0216c688
.byte 0x5c, 0xc6, 0x16, 0x02
.global data_ov18_0216c68c
data_ov18_0216c68c: ; 0x0216c68c
.byte 0x58, 0xc6, 0x16, 0x02
.global data_ov18_0216c690
data_ov18_0216c690: ; 0x0216c690
.byte 0x54, 0xc6, 0x16, 0x02
.global data_ov18_0216c694
data_ov18_0216c694: ; 0x0216c694
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c698
data_ov18_0216c698: ; 0x0216c698
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c69c
data_ov18_0216c69c: ; 0x0216c69c
.byte 0x04, 0x02, 0x16, 0x02
.global data_ov18_0216c6a0
data_ov18_0216c6a0: ; 0x0216c6a0
.byte 0x90, 0xfe, 0x15, 0x02
.global data_ov18_0216c6a4
data_ov18_0216c6a4: ; 0x0216c6a4
.byte 0xa8, 0xfd, 0x15, 0x02
.global data_ov18_0216c6a8
data_ov18_0216c6a8: ; 0x0216c6a8
.byte 0x05, 0x3f, 0x14, 0x02
.global data_ov18_0216c6ac
data_ov18_0216c6ac: ; 0x0216c6ac
.byte 0xe9, 0x3e, 0x14, 0x02
.global data_ov18_0216c6b0
data_ov18_0216c6b0: ; 0x0216c6b0
.byte 0xed, 0xf4, 0x10, 0x02
.global data_ov18_0216c6b4
data_ov18_0216c6b4: ; 0x0216c6b4
.byte 0x70, 0xff, 0x15, 0x02
.global data_ov18_0216c6b8
data_ov18_0216c6b8: ; 0x0216c6b8
.byte 0x44, 0x01, 0x16, 0x02
.global data_ov18_0216c6bc
data_ov18_0216c6bc: ; 0x0216c6bc
.byte 0x48, 0xaf, 0x11, 0x02
.global data_ov18_0216c6c0
data_ov18_0216c6c0: ; 0x0216c6c0
.byte 0x74, 0x41, 0x14, 0x02
.global data_ov18_0216c6c4
data_ov18_0216c6c4: ; 0x0216c6c4
.byte 0xc0, 0x02, 0x16, 0x02
.global data_ov18_0216c6c8
data_ov18_0216c6c8: ; 0x0216c6c8
.byte 0x10, 0x03, 0x16, 0x02
.global data_ov18_0216c6cc
data_ov18_0216c6cc: ; 0x0216c6cc
.byte 0x50, 0x03, 0x16, 0x02
.global data_ov18_0216c6d0
data_ov18_0216c6d0: ; 0x0216c6d0
.byte 0x88, 0x03, 0x16, 0x02
.global data_ov18_0216c6d4
data_ov18_0216c6d4: ; 0x0216c6d4
.byte 0x14, 0x45, 0x14, 0x02
.global data_ov18_0216c6d8
data_ov18_0216c6d8: ; 0x0216c6d8
.byte 0xbc, 0x03, 0x16, 0x02
.global data_ov18_0216c6dc
data_ov18_0216c6dc: ; 0x0216c6dc
.byte 0x04, 0x04, 0x16, 0x02
.global data_ov18_0216c6e0
data_ov18_0216c6e0: ; 0x0216c6e0
.byte 0x78, 0xb6, 0x11, 0x02
.global data_ov18_0216c6e4
data_ov18_0216c6e4: ; 0x0216c6e4
.byte 0xd4, 0x46, 0x14, 0x02
.global data_ov18_0216c6e8
data_ov18_0216c6e8: ; 0x0216c6e8
.byte 0x99, 0xcc, 0x11, 0x02
.global data_ov18_0216c6ec
data_ov18_0216c6ec: ; 0x0216c6ec
.byte 0x4c, 0x38, 0x0d, 0x02
.global data_ov18_0216c6f0
data_ov18_0216c6f0: ; 0x0216c6f0
.byte 0x38, 0x47, 0x14, 0x02
.global data_ov18_0216c6f4
data_ov18_0216c6f4: ; 0x0216c6f4
.byte 0x00, 0x47, 0x14, 0x02
.global data_ov18_0216c6f8
data_ov18_0216c6f8: ; 0x0216c6f8
.byte 0x78, 0x40, 0x14, 0x02
.global data_ov18_0216c6fc
data_ov18_0216c6fc: ; 0x0216c6fc
.byte 0x4c, 0x41, 0x14, 0x02
.global data_ov18_0216c700
data_ov18_0216c700: ; 0x0216c700
.byte 0xc4, 0x46, 0x14, 0x02
.global data_ov18_0216c704
data_ov18_0216c704: ; 0x0216c704
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c708
data_ov18_0216c708: ; 0x0216c708
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c70c
data_ov18_0216c70c: ; 0x0216c70c
.byte 0x14, 0x06, 0x16, 0x02
.global data_ov18_0216c710
data_ov18_0216c710: ; 0x0216c710
.byte 0x34, 0x06, 0x16, 0x02
.global data_ov18_0216c714
data_ov18_0216c714: ; 0x0216c714
.byte 0x5c, 0x06, 0x16, 0x02
.global data_ov18_0216c718
data_ov18_0216c718: ; 0x0216c718
.byte 0x20, 0x08, 0x16, 0x02
.global data_ov18_0216c71c
data_ov18_0216c71c: ; 0x0216c71c
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216c720
data_ov18_0216c720: ; 0x0216c720
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216c724
data_ov18_0216c724: ; 0x0216c724
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216c728
data_ov18_0216c728: ; 0x0216c728
.byte 0xb8, 0x08, 0x16, 0x02
.global data_ov18_0216c72c
data_ov18_0216c72c: ; 0x0216c72c
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216c730
data_ov18_0216c730: ; 0x0216c730
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216c734
data_ov18_0216c734: ; 0x0216c734
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216c738
data_ov18_0216c738: ; 0x0216c738
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216c73c
data_ov18_0216c73c: ; 0x0216c73c
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216c740
data_ov18_0216c740: ; 0x0216c740
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216c744
data_ov18_0216c744: ; 0x0216c744
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216c748
data_ov18_0216c748: ; 0x0216c748
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216c74c
data_ov18_0216c74c: ; 0x0216c74c
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216c750
data_ov18_0216c750: ; 0x0216c750
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216c754
data_ov18_0216c754: ; 0x0216c754
.byte 0x04, 0xb7, 0x08, 0x02
.global data_ov18_0216c758
data_ov18_0216c758: ; 0x0216c758
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216c75c
data_ov18_0216c75c: ; 0x0216c75c
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216c760
data_ov18_0216c760: ; 0x0216c760
.byte 0x14, 0xb7, 0x08, 0x02
.global data_ov18_0216c764
data_ov18_0216c764: ; 0x0216c764
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216c768
data_ov18_0216c768: ; 0x0216c768
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216c76c
data_ov18_0216c76c: ; 0x0216c76c
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216c770
data_ov18_0216c770: ; 0x0216c770
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216c774
data_ov18_0216c774: ; 0x0216c774
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216c778
data_ov18_0216c778: ; 0x0216c778
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216c77c
data_ov18_0216c77c: ; 0x0216c77c
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216c780
data_ov18_0216c780: ; 0x0216c780
.byte 0xc0, 0x08, 0x16, 0x02
.global data_ov18_0216c784
data_ov18_0216c784: ; 0x0216c784
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216c788
data_ov18_0216c788: ; 0x0216c788
.byte 0xc8, 0x08, 0x16, 0x02
.global data_ov18_0216c78c
data_ov18_0216c78c: ; 0x0216c78c
.byte 0x38, 0x08, 0x16, 0x02
.global data_ov18_0216c790
data_ov18_0216c790: ; 0x0216c790
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216c794
data_ov18_0216c794: ; 0x0216c794
.byte 0x58, 0x09, 0x16, 0x02
.global data_ov18_0216c798
data_ov18_0216c798: ; 0x0216c798
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c79c
data_ov18_0216c79c: ; 0x0216c79c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c7a0
data_ov18_0216c7a0: ; 0x0216c7a0
.byte 0x24, 0x0b, 0x16, 0x02
.global data_ov18_0216c7a4
data_ov18_0216c7a4: ; 0x0216c7a4
.byte 0x44, 0x0b, 0x16, 0x02
.global data_ov18_0216c7a8
data_ov18_0216c7a8: ; 0x0216c7a8
.byte 0x6c, 0x0b, 0x16, 0x02
.global data_ov18_0216c7ac
data_ov18_0216c7ac: ; 0x0216c7ac
.byte 0x00, 0x10, 0x16, 0x02
.global data_ov18_0216c7b0
data_ov18_0216c7b0: ; 0x0216c7b0
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216c7b4
data_ov18_0216c7b4: ; 0x0216c7b4
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216c7b8
data_ov18_0216c7b8: ; 0x0216c7b8
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216c7bc
data_ov18_0216c7bc: ; 0x0216c7bc
.byte 0x18, 0x10, 0x16, 0x02
.global data_ov18_0216c7c0
data_ov18_0216c7c0: ; 0x0216c7c0
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216c7c4
data_ov18_0216c7c4: ; 0x0216c7c4
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216c7c8
data_ov18_0216c7c8: ; 0x0216c7c8
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216c7cc
data_ov18_0216c7cc: ; 0x0216c7cc
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216c7d0
data_ov18_0216c7d0: ; 0x0216c7d0
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216c7d4
data_ov18_0216c7d4: ; 0x0216c7d4
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216c7d8
data_ov18_0216c7d8: ; 0x0216c7d8
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216c7dc
data_ov18_0216c7dc: ; 0x0216c7dc
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216c7e0
data_ov18_0216c7e0: ; 0x0216c7e0
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216c7e4
data_ov18_0216c7e4: ; 0x0216c7e4
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216c7e8
data_ov18_0216c7e8: ; 0x0216c7e8
.byte 0x04, 0xb7, 0x08, 0x02
.global data_ov18_0216c7ec
data_ov18_0216c7ec: ; 0x0216c7ec
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216c7f0
data_ov18_0216c7f0: ; 0x0216c7f0
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216c7f4
data_ov18_0216c7f4: ; 0x0216c7f4
.byte 0x14, 0xb7, 0x08, 0x02
.global data_ov18_0216c7f8
data_ov18_0216c7f8: ; 0x0216c7f8
.byte 0x28, 0x10, 0x16, 0x02
.global data_ov18_0216c7fc
data_ov18_0216c7fc: ; 0x0216c7fc
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216c800
data_ov18_0216c800: ; 0x0216c800
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216c804
data_ov18_0216c804: ; 0x0216c804
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216c808
data_ov18_0216c808: ; 0x0216c808
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216c80c
data_ov18_0216c80c: ; 0x0216c80c
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216c810
data_ov18_0216c810: ; 0x0216c810
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216c814
data_ov18_0216c814: ; 0x0216c814
.byte 0x20, 0x10, 0x16, 0x02
.global data_ov18_0216c818
data_ov18_0216c818: ; 0x0216c818
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216c81c
data_ov18_0216c81c: ; 0x0216c81c
.byte 0x30, 0x10, 0x16, 0x02
.global data_ov18_0216c820
data_ov18_0216c820: ; 0x0216c820
.byte 0x84, 0xc3, 0x08, 0x02
.global data_ov18_0216c824
data_ov18_0216c824: ; 0x0216c824
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216c828
data_ov18_0216c828: ; 0x0216c828
.byte 0x64, 0x10, 0x16, 0x02
.global data_ov18_0216c82c
data_ov18_0216c82c: ; 0x0216c82c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c830
data_ov18_0216c830: ; 0x0216c830
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c834
data_ov18_0216c834: ; 0x0216c834
.byte 0x34, 0x11, 0x16, 0x02
.global data_ov18_0216c838
data_ov18_0216c838: ; 0x0216c838
.byte 0x5c, 0x11, 0x16, 0x02
.global data_ov18_0216c83c
data_ov18_0216c83c: ; 0x0216c83c
.byte 0x8c, 0x11, 0x16, 0x02
.global data_ov18_0216c840
data_ov18_0216c840: ; 0x0216c840
.byte 0x90, 0xb6, 0x08, 0x02
.global data_ov18_0216c844
data_ov18_0216c844: ; 0x0216c844
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216c848
data_ov18_0216c848: ; 0x0216c848
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216c84c
data_ov18_0216c84c: ; 0x0216c84c
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216c850
data_ov18_0216c850: ; 0x0216c850
.byte 0x34, 0x13, 0x16, 0x02
.global data_ov18_0216c854
data_ov18_0216c854: ; 0x0216c854
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216c858
data_ov18_0216c858: ; 0x0216c858
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216c85c
data_ov18_0216c85c: ; 0x0216c85c
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216c860
data_ov18_0216c860: ; 0x0216c860
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216c864
data_ov18_0216c864: ; 0x0216c864
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216c868
data_ov18_0216c868: ; 0x0216c868
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216c86c
data_ov18_0216c86c: ; 0x0216c86c
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216c870
data_ov18_0216c870: ; 0x0216c870
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216c874
data_ov18_0216c874: ; 0x0216c874
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216c878
data_ov18_0216c878: ; 0x0216c878
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216c87c
data_ov18_0216c87c: ; 0x0216c87c
.byte 0x04, 0xb7, 0x08, 0x02
.global data_ov18_0216c880
data_ov18_0216c880: ; 0x0216c880
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216c884
data_ov18_0216c884: ; 0x0216c884
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216c888
data_ov18_0216c888: ; 0x0216c888
.byte 0x00, 0xca, 0x08, 0x02
.global data_ov18_0216c88c
data_ov18_0216c88c: ; 0x0216c88c
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216c890
data_ov18_0216c890: ; 0x0216c890
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216c894
data_ov18_0216c894: ; 0x0216c894
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216c898
data_ov18_0216c898: ; 0x0216c898
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216c89c
data_ov18_0216c89c: ; 0x0216c89c
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216c8a0
data_ov18_0216c8a0: ; 0x0216c8a0
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216c8a4
data_ov18_0216c8a4: ; 0x0216c8a4
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216c8a8
data_ov18_0216c8a8: ; 0x0216c8a8
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216c8ac
data_ov18_0216c8ac: ; 0x0216c8ac
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216c8b0
data_ov18_0216c8b0: ; 0x0216c8b0
.byte 0xd8, 0x12, 0x16, 0x02
.global data_ov18_0216c8b4
data_ov18_0216c8b4: ; 0x0216c8b4
.byte 0x84, 0xc3, 0x08, 0x02
.global data_ov18_0216c8b8
data_ov18_0216c8b8: ; 0x0216c8b8
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216c8bc
data_ov18_0216c8bc: ; 0x0216c8bc
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216c8c0
data_ov18_0216c8c0: ; 0x0216c8c0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c8c4
data_ov18_0216c8c4: ; 0x0216c8c4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c8c8
data_ov18_0216c8c8: ; 0x0216c8c8
.byte 0xfc, 0x13, 0x16, 0x02
.global data_ov18_0216c8cc
data_ov18_0216c8cc: ; 0x0216c8cc
.byte 0x24, 0x14, 0x16, 0x02
.global data_ov18_0216c8d0
data_ov18_0216c8d0: ; 0x0216c8d0
.byte 0x54, 0x14, 0x16, 0x02
.global data_ov18_0216c8d4
data_ov18_0216c8d4: ; 0x0216c8d4
.byte 0x90, 0xb6, 0x08, 0x02
.global data_ov18_0216c8d8
data_ov18_0216c8d8: ; 0x0216c8d8
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216c8dc
data_ov18_0216c8dc: ; 0x0216c8dc
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216c8e0
data_ov18_0216c8e0: ; 0x0216c8e0
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216c8e4
data_ov18_0216c8e4: ; 0x0216c8e4
.byte 0xfc, 0x15, 0x16, 0x02
.global data_ov18_0216c8e8
data_ov18_0216c8e8: ; 0x0216c8e8
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216c8ec
data_ov18_0216c8ec: ; 0x0216c8ec
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216c8f0
data_ov18_0216c8f0: ; 0x0216c8f0
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216c8f4
data_ov18_0216c8f4: ; 0x0216c8f4
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216c8f8
data_ov18_0216c8f8: ; 0x0216c8f8
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216c8fc
data_ov18_0216c8fc: ; 0x0216c8fc
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216c900
data_ov18_0216c900: ; 0x0216c900
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216c904
data_ov18_0216c904: ; 0x0216c904
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216c908
data_ov18_0216c908: ; 0x0216c908
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216c90c
data_ov18_0216c90c: ; 0x0216c90c
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216c910
data_ov18_0216c910: ; 0x0216c910
.byte 0x04, 0xb7, 0x08, 0x02
.global data_ov18_0216c914
data_ov18_0216c914: ; 0x0216c914
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216c918
data_ov18_0216c918: ; 0x0216c918
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216c91c
data_ov18_0216c91c: ; 0x0216c91c
.byte 0x00, 0xca, 0x08, 0x02
.global data_ov18_0216c920
data_ov18_0216c920: ; 0x0216c920
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216c924
data_ov18_0216c924: ; 0x0216c924
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216c928
data_ov18_0216c928: ; 0x0216c928
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216c92c
data_ov18_0216c92c: ; 0x0216c92c
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216c930
data_ov18_0216c930: ; 0x0216c930
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216c934
data_ov18_0216c934: ; 0x0216c934
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216c938
data_ov18_0216c938: ; 0x0216c938
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216c93c
data_ov18_0216c93c: ; 0x0216c93c
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216c940
data_ov18_0216c940: ; 0x0216c940
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216c944
data_ov18_0216c944: ; 0x0216c944
.byte 0xa0, 0x15, 0x16, 0x02
.global data_ov18_0216c948
data_ov18_0216c948: ; 0x0216c948
.byte 0x84, 0xc3, 0x08, 0x02
.global data_ov18_0216c94c
data_ov18_0216c94c: ; 0x0216c94c
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216c950
data_ov18_0216c950: ; 0x0216c950
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216c954
data_ov18_0216c954: ; 0x0216c954
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c958
data_ov18_0216c958: ; 0x0216c958
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c95c
data_ov18_0216c95c: ; 0x0216c95c
.byte 0xc4, 0x16, 0x16, 0x02
.global data_ov18_0216c960
data_ov18_0216c960: ; 0x0216c960
.byte 0xec, 0x16, 0x16, 0x02
.global data_ov18_0216c964
data_ov18_0216c964: ; 0x0216c964
.byte 0x1c, 0x17, 0x16, 0x02
.global data_ov18_0216c968
data_ov18_0216c968: ; 0x0216c968
.byte 0xbc, 0x18, 0x16, 0x02
.global data_ov18_0216c96c
data_ov18_0216c96c: ; 0x0216c96c
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216c970
data_ov18_0216c970: ; 0x0216c970
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216c974
data_ov18_0216c974: ; 0x0216c974
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216c978
data_ov18_0216c978: ; 0x0216c978
.byte 0x04, 0x1a, 0x16, 0x02
.global data_ov18_0216c97c
data_ov18_0216c97c: ; 0x0216c97c
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216c980
data_ov18_0216c980: ; 0x0216c980
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216c984
data_ov18_0216c984: ; 0x0216c984
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216c988
data_ov18_0216c988: ; 0x0216c988
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216c98c
data_ov18_0216c98c: ; 0x0216c98c
.byte 0x68, 0x19, 0x16, 0x02
.global data_ov18_0216c990
data_ov18_0216c990: ; 0x0216c990
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216c994
data_ov18_0216c994: ; 0x0216c994
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216c998
data_ov18_0216c998: ; 0x0216c998
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216c99c
data_ov18_0216c99c: ; 0x0216c99c
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216c9a0
data_ov18_0216c9a0: ; 0x0216c9a0
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216c9a4
data_ov18_0216c9a4: ; 0x0216c9a4
.byte 0x04, 0xb7, 0x08, 0x02
.global data_ov18_0216c9a8
data_ov18_0216c9a8: ; 0x0216c9a8
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216c9ac
data_ov18_0216c9ac: ; 0x0216c9ac
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216c9b0
data_ov18_0216c9b0: ; 0x0216c9b0
.byte 0x00, 0xca, 0x08, 0x02
.global data_ov18_0216c9b4
data_ov18_0216c9b4: ; 0x0216c9b4
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216c9b8
data_ov18_0216c9b8: ; 0x0216c9b8
.byte 0xac, 0x18, 0x16, 0x02
.global data_ov18_0216c9bc
data_ov18_0216c9bc: ; 0x0216c9bc
.byte 0xb4, 0x18, 0x16, 0x02
.global data_ov18_0216c9c0
data_ov18_0216c9c0: ; 0x0216c9c0
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216c9c4
data_ov18_0216c9c4: ; 0x0216c9c4
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216c9c8
data_ov18_0216c9c8: ; 0x0216c9c8
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216c9cc
data_ov18_0216c9cc: ; 0x0216c9cc
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216c9d0
data_ov18_0216c9d0: ; 0x0216c9d0
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216c9d4
data_ov18_0216c9d4: ; 0x0216c9d4
.byte 0xa0, 0x19, 0x16, 0x02
.global data_ov18_0216c9d8
data_ov18_0216c9d8: ; 0x0216c9d8
.byte 0xa8, 0x19, 0x16, 0x02
.global data_ov18_0216c9dc
data_ov18_0216c9dc: ; 0x0216c9dc
.byte 0x34, 0x19, 0x16, 0x02
.global data_ov18_0216c9e0
data_ov18_0216c9e0: ; 0x0216c9e0
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216c9e4
data_ov18_0216c9e4: ; 0x0216c9e4
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216c9e8
data_ov18_0216c9e8: ; 0x0216c9e8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c9ec
data_ov18_0216c9ec: ; 0x0216c9ec
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216c9f0
data_ov18_0216c9f0: ; 0x0216c9f0
.byte 0xcc, 0x1a, 0x16, 0x02
.global data_ov18_0216c9f4
data_ov18_0216c9f4: ; 0x0216c9f4
.byte 0xf4, 0x1a, 0x16, 0x02
.global data_ov18_0216c9f8
data_ov18_0216c9f8: ; 0x0216c9f8
.byte 0x24, 0x1b, 0x16, 0x02
.global data_ov18_0216c9fc
data_ov18_0216c9fc: ; 0x0216c9fc
.byte 0x90, 0xb6, 0x08, 0x02
.global data_ov18_0216ca00
data_ov18_0216ca00: ; 0x0216ca00
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216ca04
data_ov18_0216ca04: ; 0x0216ca04
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216ca08
data_ov18_0216ca08: ; 0x0216ca08
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216ca0c
data_ov18_0216ca0c: ; 0x0216ca0c
.byte 0xcc, 0x1c, 0x16, 0x02
.global data_ov18_0216ca10
data_ov18_0216ca10: ; 0x0216ca10
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216ca14
data_ov18_0216ca14: ; 0x0216ca14
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216ca18
data_ov18_0216ca18: ; 0x0216ca18
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216ca1c
data_ov18_0216ca1c: ; 0x0216ca1c
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216ca20
data_ov18_0216ca20: ; 0x0216ca20
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216ca24
data_ov18_0216ca24: ; 0x0216ca24
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216ca28
data_ov18_0216ca28: ; 0x0216ca28
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216ca2c
data_ov18_0216ca2c: ; 0x0216ca2c
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216ca30
data_ov18_0216ca30: ; 0x0216ca30
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216ca34
data_ov18_0216ca34: ; 0x0216ca34
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216ca38
data_ov18_0216ca38: ; 0x0216ca38
.byte 0x04, 0xb7, 0x08, 0x02
.global data_ov18_0216ca3c
data_ov18_0216ca3c: ; 0x0216ca3c
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216ca40
data_ov18_0216ca40: ; 0x0216ca40
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216ca44
data_ov18_0216ca44: ; 0x0216ca44
.byte 0x00, 0xca, 0x08, 0x02
.global data_ov18_0216ca48
data_ov18_0216ca48: ; 0x0216ca48
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216ca4c
data_ov18_0216ca4c: ; 0x0216ca4c
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216ca50
data_ov18_0216ca50: ; 0x0216ca50
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216ca54
data_ov18_0216ca54: ; 0x0216ca54
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216ca58
data_ov18_0216ca58: ; 0x0216ca58
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216ca5c
data_ov18_0216ca5c: ; 0x0216ca5c
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216ca60
data_ov18_0216ca60: ; 0x0216ca60
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216ca64
data_ov18_0216ca64: ; 0x0216ca64
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216ca68
data_ov18_0216ca68: ; 0x0216ca68
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216ca6c
data_ov18_0216ca6c: ; 0x0216ca6c
.byte 0x70, 0x1c, 0x16, 0x02
.global data_ov18_0216ca70
data_ov18_0216ca70: ; 0x0216ca70
.byte 0x84, 0xc3, 0x08, 0x02
.global data_ov18_0216ca74
data_ov18_0216ca74: ; 0x0216ca74
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216ca78
data_ov18_0216ca78: ; 0x0216ca78
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216ca7c
data_ov18_0216ca7c: ; 0x0216ca7c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216ca80
data_ov18_0216ca80: ; 0x0216ca80
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216ca84
data_ov18_0216ca84: ; 0x0216ca84
.byte 0x58, 0x1d, 0x16, 0x02
.global data_ov18_0216ca88
data_ov18_0216ca88: ; 0x0216ca88
.byte 0x78, 0x1d, 0x16, 0x02
.global data_ov18_0216ca8c
data_ov18_0216ca8c: ; 0x0216ca8c
.byte 0xa0, 0x1d, 0x16, 0x02
.global data_ov18_0216ca90
data_ov18_0216ca90: ; 0x0216ca90
.byte 0x90, 0xb6, 0x08, 0x02
.global data_ov18_0216ca94
data_ov18_0216ca94: ; 0x0216ca94
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216ca98
data_ov18_0216ca98: ; 0x0216ca98
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216ca9c
data_ov18_0216ca9c: ; 0x0216ca9c
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216caa0
data_ov18_0216caa0: ; 0x0216caa0
.byte 0xc0, 0x1e, 0x16, 0x02
.global data_ov18_0216caa4
data_ov18_0216caa4: ; 0x0216caa4
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216caa8
data_ov18_0216caa8: ; 0x0216caa8
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216caac
data_ov18_0216caac: ; 0x0216caac
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216cab0
data_ov18_0216cab0: ; 0x0216cab0
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216cab4
data_ov18_0216cab4: ; 0x0216cab4
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216cab8
data_ov18_0216cab8: ; 0x0216cab8
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216cabc
data_ov18_0216cabc: ; 0x0216cabc
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216cac0
data_ov18_0216cac0: ; 0x0216cac0
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216cac4
data_ov18_0216cac4: ; 0x0216cac4
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216cac8
data_ov18_0216cac8: ; 0x0216cac8
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216cacc
data_ov18_0216cacc: ; 0x0216cacc
.byte 0x04, 0xb7, 0x08, 0x02
.global data_ov18_0216cad0
data_ov18_0216cad0: ; 0x0216cad0
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216cad4
data_ov18_0216cad4: ; 0x0216cad4
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216cad8
data_ov18_0216cad8: ; 0x0216cad8
.byte 0x14, 0xb7, 0x08, 0x02
.global data_ov18_0216cadc
data_ov18_0216cadc: ; 0x0216cadc
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216cae0
data_ov18_0216cae0: ; 0x0216cae0
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216cae4
data_ov18_0216cae4: ; 0x0216cae4
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216cae8
data_ov18_0216cae8: ; 0x0216cae8
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216caec
data_ov18_0216caec: ; 0x0216caec
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216caf0
data_ov18_0216caf0: ; 0x0216caf0
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216caf4
data_ov18_0216caf4: ; 0x0216caf4
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216caf8
data_ov18_0216caf8: ; 0x0216caf8
.byte 0x40, 0x1e, 0x16, 0x02
.global data_ov18_0216cafc
data_ov18_0216cafc: ; 0x0216cafc
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216cb00
data_ov18_0216cb00: ; 0x0216cb00
.byte 0x48, 0x1e, 0x16, 0x02
.global data_ov18_0216cb04
data_ov18_0216cb04: ; 0x0216cb04
.byte 0x84, 0xc3, 0x08, 0x02
.global data_ov18_0216cb08
data_ov18_0216cb08: ; 0x0216cb08
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216cb0c
data_ov18_0216cb0c: ; 0x0216cb0c
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216cb10
data_ov18_0216cb10: ; 0x0216cb10
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cb14
data_ov18_0216cb14: ; 0x0216cb14
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cb18
data_ov18_0216cb18: ; 0x0216cb18
.byte 0x98, 0x1f, 0x16, 0x02
.global data_ov18_0216cb1c
data_ov18_0216cb1c: ; 0x0216cb1c
.byte 0xc0, 0x1f, 0x16, 0x02
.global data_ov18_0216cb20
data_ov18_0216cb20: ; 0x0216cb20
.byte 0xf0, 0x1f, 0x16, 0x02
.global data_ov18_0216cb24
data_ov18_0216cb24: ; 0x0216cb24
.byte 0x90, 0xb6, 0x08, 0x02
.global data_ov18_0216cb28
data_ov18_0216cb28: ; 0x0216cb28
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216cb2c
data_ov18_0216cb2c: ; 0x0216cb2c
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216cb30
data_ov18_0216cb30: ; 0x0216cb30
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216cb34
data_ov18_0216cb34: ; 0x0216cb34
.byte 0x88, 0x20, 0x16, 0x02
.global data_ov18_0216cb38
data_ov18_0216cb38: ; 0x0216cb38
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216cb3c
data_ov18_0216cb3c: ; 0x0216cb3c
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216cb40
data_ov18_0216cb40: ; 0x0216cb40
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216cb44
data_ov18_0216cb44: ; 0x0216cb44
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216cb48
data_ov18_0216cb48: ; 0x0216cb48
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216cb4c
data_ov18_0216cb4c: ; 0x0216cb4c
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216cb50
data_ov18_0216cb50: ; 0x0216cb50
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216cb54
data_ov18_0216cb54: ; 0x0216cb54
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216cb58
data_ov18_0216cb58: ; 0x0216cb58
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216cb5c
data_ov18_0216cb5c: ; 0x0216cb5c
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216cb60
data_ov18_0216cb60: ; 0x0216cb60
.byte 0x04, 0xb7, 0x08, 0x02
.global data_ov18_0216cb64
data_ov18_0216cb64: ; 0x0216cb64
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216cb68
data_ov18_0216cb68: ; 0x0216cb68
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216cb6c
data_ov18_0216cb6c: ; 0x0216cb6c
.byte 0xf8, 0xc9, 0x08, 0x02
.global data_ov18_0216cb70
data_ov18_0216cb70: ; 0x0216cb70
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216cb74
data_ov18_0216cb74: ; 0x0216cb74
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216cb78
data_ov18_0216cb78: ; 0x0216cb78
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216cb7c
data_ov18_0216cb7c: ; 0x0216cb7c
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216cb80
data_ov18_0216cb80: ; 0x0216cb80
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216cb84
data_ov18_0216cb84: ; 0x0216cb84
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216cb88
data_ov18_0216cb88: ; 0x0216cb88
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216cb8c
data_ov18_0216cb8c: ; 0x0216cb8c
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216cb90
data_ov18_0216cb90: ; 0x0216cb90
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216cb94
data_ov18_0216cb94: ; 0x0216cb94
.byte 0x68, 0x20, 0x16, 0x02
.global data_ov18_0216cb98
data_ov18_0216cb98: ; 0x0216cb98
.byte 0x84, 0xc3, 0x08, 0x02
.global data_ov18_0216cb9c
data_ov18_0216cb9c: ; 0x0216cb9c
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216cba0
data_ov18_0216cba0: ; 0x0216cba0
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216cba4
data_ov18_0216cba4: ; 0x0216cba4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cba8
data_ov18_0216cba8: ; 0x0216cba8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cbac
data_ov18_0216cbac: ; 0x0216cbac
.byte 0x60, 0x21, 0x16, 0x02
.global data_ov18_0216cbb0
data_ov18_0216cbb0: ; 0x0216cbb0
.byte 0x88, 0x21, 0x16, 0x02
.global data_ov18_0216cbb4
data_ov18_0216cbb4: ; 0x0216cbb4
.byte 0xb8, 0x21, 0x16, 0x02
.global data_ov18_0216cbb8
data_ov18_0216cbb8: ; 0x0216cbb8
.byte 0x4c, 0x24, 0x16, 0x02
.global data_ov18_0216cbbc
data_ov18_0216cbbc: ; 0x0216cbbc
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216cbc0
data_ov18_0216cbc0: ; 0x0216cbc0
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216cbc4
data_ov18_0216cbc4: ; 0x0216cbc4
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216cbc8
data_ov18_0216cbc8: ; 0x0216cbc8
.byte 0xbc, 0x2c, 0x16, 0x02
.global data_ov18_0216cbcc
data_ov18_0216cbcc: ; 0x0216cbcc
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216cbd0
data_ov18_0216cbd0: ; 0x0216cbd0
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216cbd4
data_ov18_0216cbd4: ; 0x0216cbd4
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216cbd8
data_ov18_0216cbd8: ; 0x0216cbd8
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216cbdc
data_ov18_0216cbdc: ; 0x0216cbdc
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216cbe0
data_ov18_0216cbe0: ; 0x0216cbe0
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216cbe4
data_ov18_0216cbe4: ; 0x0216cbe4
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216cbe8
data_ov18_0216cbe8: ; 0x0216cbe8
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216cbec
data_ov18_0216cbec: ; 0x0216cbec
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216cbf0
data_ov18_0216cbf0: ; 0x0216cbf0
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216cbf4
data_ov18_0216cbf4: ; 0x0216cbf4
.byte 0x34, 0x26, 0x16, 0x02
.global data_ov18_0216cbf8
data_ov18_0216cbf8: ; 0x0216cbf8
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216cbfc
data_ov18_0216cbfc: ; 0x0216cbfc
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216cc00
data_ov18_0216cc00: ; 0x0216cc00
.byte 0xf8, 0xc9, 0x08, 0x02
.global data_ov18_0216cc04
data_ov18_0216cc04: ; 0x0216cc04
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216cc08
data_ov18_0216cc08: ; 0x0216cc08
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216cc0c
data_ov18_0216cc0c: ; 0x0216cc0c
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216cc10
data_ov18_0216cc10: ; 0x0216cc10
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216cc14
data_ov18_0216cc14: ; 0x0216cc14
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216cc18
data_ov18_0216cc18: ; 0x0216cc18
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216cc1c
data_ov18_0216cc1c: ; 0x0216cc1c
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216cc20
data_ov18_0216cc20: ; 0x0216cc20
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216cc24
data_ov18_0216cc24: ; 0x0216cc24
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216cc28
data_ov18_0216cc28: ; 0x0216cc28
.byte 0x2c, 0x27, 0x16, 0x02
.global data_ov18_0216cc2c
data_ov18_0216cc2c: ; 0x0216cc2c
.byte 0x0c, 0x25, 0x16, 0x02
.global data_ov18_0216cc30
data_ov18_0216cc30: ; 0x0216cc30
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216cc34
data_ov18_0216cc34: ; 0x0216cc34
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216cc38
data_ov18_0216cc38: ; 0x0216cc38
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cc3c
data_ov18_0216cc3c: ; 0x0216cc3c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cc40
data_ov18_0216cc40: ; 0x0216cc40
.byte 0x70, 0x2d, 0x16, 0x02
.global data_ov18_0216cc44
data_ov18_0216cc44: ; 0x0216cc44
.byte 0x90, 0x2d, 0x16, 0x02
.global data_ov18_0216cc48
data_ov18_0216cc48: ; 0x0216cc48
.byte 0xb8, 0x2d, 0x16, 0x02
.global data_ov18_0216cc4c
data_ov18_0216cc4c: ; 0x0216cc4c
.byte 0x58, 0x32, 0x16, 0x02
.global data_ov18_0216cc50
data_ov18_0216cc50: ; 0x0216cc50
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216cc54
data_ov18_0216cc54: ; 0x0216cc54
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216cc58
data_ov18_0216cc58: ; 0x0216cc58
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216cc5c
data_ov18_0216cc5c: ; 0x0216cc5c
.byte 0xe4, 0x37, 0x16, 0x02
.global data_ov18_0216cc60
data_ov18_0216cc60: ; 0x0216cc60
.byte 0xc4, 0x36, 0x16, 0x02
.global data_ov18_0216cc64
data_ov18_0216cc64: ; 0x0216cc64
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216cc68
data_ov18_0216cc68: ; 0x0216cc68
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216cc6c
data_ov18_0216cc6c: ; 0x0216cc6c
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216cc70
data_ov18_0216cc70: ; 0x0216cc70
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216cc74
data_ov18_0216cc74: ; 0x0216cc74
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216cc78
data_ov18_0216cc78: ; 0x0216cc78
.byte 0xc0, 0x37, 0x16, 0x02
.global data_ov18_0216cc7c
data_ov18_0216cc7c: ; 0x0216cc7c
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216cc80
data_ov18_0216cc80: ; 0x0216cc80
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216cc84
data_ov18_0216cc84: ; 0x0216cc84
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216cc88
data_ov18_0216cc88: ; 0x0216cc88
.byte 0x18, 0x37, 0x16, 0x02
.global data_ov18_0216cc8c
data_ov18_0216cc8c: ; 0x0216cc8c
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216cc90
data_ov18_0216cc90: ; 0x0216cc90
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216cc94
data_ov18_0216cc94: ; 0x0216cc94
.byte 0xf8, 0xc9, 0x08, 0x02
.global data_ov18_0216cc98
data_ov18_0216cc98: ; 0x0216cc98
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216cc9c
data_ov18_0216cc9c: ; 0x0216cc9c
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216cca0
data_ov18_0216cca0: ; 0x0216cca0
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216cca4
data_ov18_0216cca4: ; 0x0216cca4
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216cca8
data_ov18_0216cca8: ; 0x0216cca8
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216ccac
data_ov18_0216ccac: ; 0x0216ccac
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216ccb0
data_ov18_0216ccb0: ; 0x0216ccb0
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216ccb4
data_ov18_0216ccb4: ; 0x0216ccb4
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216ccb8
data_ov18_0216ccb8: ; 0x0216ccb8
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216ccbc
data_ov18_0216ccbc: ; 0x0216ccbc
.byte 0xb4, 0x32, 0x16, 0x02
.global data_ov18_0216ccc0
data_ov18_0216ccc0: ; 0x0216ccc0
.byte 0xd4, 0x35, 0x16, 0x02
.global data_ov18_0216ccc4
data_ov18_0216ccc4: ; 0x0216ccc4
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216ccc8
data_ov18_0216ccc8: ; 0x0216ccc8
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216cccc
data_ov18_0216cccc: ; 0x0216cccc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216ccd0
data_ov18_0216ccd0: ; 0x0216ccd0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216ccd4
data_ov18_0216ccd4: ; 0x0216ccd4
.byte 0x98, 0x38, 0x16, 0x02
.global data_ov18_0216ccd8
data_ov18_0216ccd8: ; 0x0216ccd8
.byte 0xb8, 0x38, 0x16, 0x02
.global data_ov18_0216ccdc
data_ov18_0216ccdc: ; 0x0216ccdc
.byte 0xe0, 0x38, 0x16, 0x02
.global data_ov18_0216cce0
data_ov18_0216cce0: ; 0x0216cce0
.byte 0x64, 0x3d, 0x16, 0x02
.global data_ov18_0216cce4
data_ov18_0216cce4: ; 0x0216cce4
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216cce8
data_ov18_0216cce8: ; 0x0216cce8
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216ccec
data_ov18_0216ccec: ; 0x0216ccec
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216ccf0
data_ov18_0216ccf0: ; 0x0216ccf0
.byte 0xe8, 0x42, 0x16, 0x02
.global data_ov18_0216ccf4
data_ov18_0216ccf4: ; 0x0216ccf4
.byte 0xd0, 0x41, 0x16, 0x02
.global data_ov18_0216ccf8
data_ov18_0216ccf8: ; 0x0216ccf8
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216ccfc
data_ov18_0216ccfc: ; 0x0216ccfc
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216cd00
data_ov18_0216cd00: ; 0x0216cd00
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216cd04
data_ov18_0216cd04: ; 0x0216cd04
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216cd08
data_ov18_0216cd08: ; 0x0216cd08
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216cd0c
data_ov18_0216cd0c: ; 0x0216cd0c
.byte 0xc4, 0x42, 0x16, 0x02
.global data_ov18_0216cd10
data_ov18_0216cd10: ; 0x0216cd10
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216cd14
data_ov18_0216cd14: ; 0x0216cd14
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216cd18
data_ov18_0216cd18: ; 0x0216cd18
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216cd1c
data_ov18_0216cd1c: ; 0x0216cd1c
.byte 0x24, 0x42, 0x16, 0x02
.global data_ov18_0216cd20
data_ov18_0216cd20: ; 0x0216cd20
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216cd24
data_ov18_0216cd24: ; 0x0216cd24
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216cd28
data_ov18_0216cd28: ; 0x0216cd28
.byte 0xf8, 0xc9, 0x08, 0x02
.global data_ov18_0216cd2c
data_ov18_0216cd2c: ; 0x0216cd2c
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216cd30
data_ov18_0216cd30: ; 0x0216cd30
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216cd34
data_ov18_0216cd34: ; 0x0216cd34
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216cd38
data_ov18_0216cd38: ; 0x0216cd38
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216cd3c
data_ov18_0216cd3c: ; 0x0216cd3c
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216cd40
data_ov18_0216cd40: ; 0x0216cd40
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216cd44
data_ov18_0216cd44: ; 0x0216cd44
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216cd48
data_ov18_0216cd48: ; 0x0216cd48
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216cd4c
data_ov18_0216cd4c: ; 0x0216cd4c
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216cd50
data_ov18_0216cd50: ; 0x0216cd50
.byte 0xc0, 0x3d, 0x16, 0x02
.global data_ov18_0216cd54
data_ov18_0216cd54: ; 0x0216cd54
.byte 0xe0, 0x40, 0x16, 0x02
.global data_ov18_0216cd58
data_ov18_0216cd58: ; 0x0216cd58
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216cd5c
data_ov18_0216cd5c: ; 0x0216cd5c
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216cd60
data_ov18_0216cd60: ; 0x0216cd60
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cd64
data_ov18_0216cd64: ; 0x0216cd64
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cd68
data_ov18_0216cd68: ; 0x0216cd68
.byte 0x8c, 0x43, 0x16, 0x02
.global data_ov18_0216cd6c
data_ov18_0216cd6c: ; 0x0216cd6c
.byte 0xa0, 0x43, 0x16, 0x02
.global data_ov18_0216cd70
data_ov18_0216cd70: ; 0x0216cd70
.byte 0xbc, 0x43, 0x16, 0x02
.global data_ov18_0216cd74
data_ov18_0216cd74: ; 0x0216cd74
.byte 0x24, 0x6e, 0x14, 0x02
.global data_ov18_0216cd78
data_ov18_0216cd78: ; 0x0216cd78
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216cd7c
data_ov18_0216cd7c: ; 0x0216cd7c
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216cd80
data_ov18_0216cd80: ; 0x0216cd80
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216cd84
data_ov18_0216cd84: ; 0x0216cd84
.byte 0xe0, 0x46, 0x16, 0x02
.global data_ov18_0216cd88
data_ov18_0216cd88: ; 0x0216cd88
.byte 0xd4, 0x71, 0x14, 0x02
.global data_ov18_0216cd8c
data_ov18_0216cd8c: ; 0x0216cd8c
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216cd90
data_ov18_0216cd90: ; 0x0216cd90
.byte 0xa0, 0x70, 0x14, 0x02
.global data_ov18_0216cd94
data_ov18_0216cd94: ; 0x0216cd94
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216cd98
data_ov18_0216cd98: ; 0x0216cd98
.byte 0xe8, 0x46, 0x16, 0x02
.global data_ov18_0216cd9c
data_ov18_0216cd9c: ; 0x0216cd9c
.byte 0x04, 0x73, 0x14, 0x02
.global data_ov18_0216cda0
data_ov18_0216cda0: ; 0x0216cda0
.byte 0x50, 0x74, 0x14, 0x02
.global data_ov18_0216cda4
data_ov18_0216cda4: ; 0x0216cda4
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216cda8
data_ov18_0216cda8: ; 0x0216cda8
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216cdac
data_ov18_0216cdac: ; 0x0216cdac
.byte 0x90, 0x74, 0x14, 0x02
.global data_ov18_0216cdb0
data_ov18_0216cdb0: ; 0x0216cdb0
.byte 0x40, 0x44, 0x16, 0x02
.global data_ov18_0216cdb4
data_ov18_0216cdb4: ; 0x0216cdb4
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216cdb8
data_ov18_0216cdb8: ; 0x0216cdb8
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216cdbc
data_ov18_0216cdbc: ; 0x0216cdbc
.byte 0xf8, 0xc9, 0x08, 0x02
.global data_ov18_0216cdc0
data_ov18_0216cdc0: ; 0x0216cdc0
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216cdc4
data_ov18_0216cdc4: ; 0x0216cdc4
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216cdc8
data_ov18_0216cdc8: ; 0x0216cdc8
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216cdcc
data_ov18_0216cdcc: ; 0x0216cdcc
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216cdd0
data_ov18_0216cdd0: ; 0x0216cdd0
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216cdd4
data_ov18_0216cdd4: ; 0x0216cdd4
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216cdd8
data_ov18_0216cdd8: ; 0x0216cdd8
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216cddc
data_ov18_0216cddc: ; 0x0216cddc
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216cde0
data_ov18_0216cde0: ; 0x0216cde0
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216cde4
data_ov18_0216cde4: ; 0x0216cde4
.byte 0x74, 0x46, 0x16, 0x02
.global data_ov18_0216cde8
data_ov18_0216cde8: ; 0x0216cde8
.byte 0xb4, 0x6e, 0x14, 0x02
.global data_ov18_0216cdec
data_ov18_0216cdec: ; 0x0216cdec
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216cdf0
data_ov18_0216cdf0: ; 0x0216cdf0
.byte 0x8c, 0x76, 0x14, 0x02
.global data_ov18_0216cdf4
data_ov18_0216cdf4: ; 0x0216cdf4
.byte 0x4c, 0x45, 0x16, 0x02
.global data_ov18_0216cdf8
data_ov18_0216cdf8: ; 0x0216cdf8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cdfc
data_ov18_0216cdfc: ; 0x0216cdfc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216ce00
data_ov18_0216ce00: ; 0x0216ce00
.byte 0xd8, 0x47, 0x16, 0x02
.global data_ov18_0216ce04
data_ov18_0216ce04: ; 0x0216ce04
.byte 0x00, 0x48, 0x16, 0x02
.global data_ov18_0216ce08
data_ov18_0216ce08: ; 0x0216ce08
.byte 0x38, 0x48, 0x16, 0x02
.global data_ov18_0216ce0c
data_ov18_0216ce0c: ; 0x0216ce0c
.byte 0x20, 0x49, 0x16, 0x02
.global data_ov18_0216ce10
data_ov18_0216ce10: ; 0x0216ce10
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216ce14
data_ov18_0216ce14: ; 0x0216ce14
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216ce18
data_ov18_0216ce18: ; 0x0216ce18
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216ce1c
data_ov18_0216ce1c: ; 0x0216ce1c
.byte 0x30, 0x48, 0x16, 0x02
.global data_ov18_0216ce20
data_ov18_0216ce20: ; 0x0216ce20
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216ce24
data_ov18_0216ce24: ; 0x0216ce24
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216ce28
data_ov18_0216ce28: ; 0x0216ce28
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216ce2c
data_ov18_0216ce2c: ; 0x0216ce2c
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216ce30
data_ov18_0216ce30: ; 0x0216ce30
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216ce34
data_ov18_0216ce34: ; 0x0216ce34
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216ce38
data_ov18_0216ce38: ; 0x0216ce38
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216ce3c
data_ov18_0216ce3c: ; 0x0216ce3c
.byte 0x24, 0x4b, 0x16, 0x02
.global data_ov18_0216ce40
data_ov18_0216ce40: ; 0x0216ce40
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216ce44
data_ov18_0216ce44: ; 0x0216ce44
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216ce48
data_ov18_0216ce48: ; 0x0216ce48
.byte 0x04, 0xb7, 0x08, 0x02
.global data_ov18_0216ce4c
data_ov18_0216ce4c: ; 0x0216ce4c
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216ce50
data_ov18_0216ce50: ; 0x0216ce50
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216ce54
data_ov18_0216ce54: ; 0x0216ce54
.byte 0xf8, 0xc9, 0x08, 0x02
.global data_ov18_0216ce58
data_ov18_0216ce58: ; 0x0216ce58
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216ce5c
data_ov18_0216ce5c: ; 0x0216ce5c
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216ce60
data_ov18_0216ce60: ; 0x0216ce60
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216ce64
data_ov18_0216ce64: ; 0x0216ce64
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216ce68
data_ov18_0216ce68: ; 0x0216ce68
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216ce6c
data_ov18_0216ce6c: ; 0x0216ce6c
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216ce70
data_ov18_0216ce70: ; 0x0216ce70
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216ce74
data_ov18_0216ce74: ; 0x0216ce74
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216ce78
data_ov18_0216ce78: ; 0x0216ce78
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216ce7c
data_ov18_0216ce7c: ; 0x0216ce7c
.byte 0x74, 0x4b, 0x16, 0x02
.global data_ov18_0216ce80
data_ov18_0216ce80: ; 0x0216ce80
.byte 0xa0, 0x49, 0x16, 0x02
.global data_ov18_0216ce84
data_ov18_0216ce84: ; 0x0216ce84
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216ce88
data_ov18_0216ce88: ; 0x0216ce88
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216ce8c
data_ov18_0216ce8c: ; 0x0216ce8c
.byte 0xac, 0x50, 0x16, 0x02
.global data_ov18_0216ce90
data_ov18_0216ce90: ; 0x0216ce90
.byte 0xf0, 0x4b, 0x16, 0x02
.global data_ov18_0216ce94
data_ov18_0216ce94: ; 0x0216ce94
.byte 0xf4, 0x50, 0x16, 0x02
.global data_ov18_0216ce98
data_ov18_0216ce98: ; 0x0216ce98
.byte 0x3c, 0x51, 0x16, 0x02
.global data_ov18_0216ce9c
data_ov18_0216ce9c: ; 0x0216ce9c
.byte 0x84, 0x51, 0x16, 0x02
.global data_ov18_0216cea0
data_ov18_0216cea0: ; 0x0216cea0
.byte 0xc8, 0x51, 0x16, 0x02
.global data_ov18_0216cea4
data_ov18_0216cea4: ; 0x0216cea4
.byte 0x34, 0x4c, 0x16, 0x02
.global data_ov18_0216cea8
data_ov18_0216cea8: ; 0x0216cea8
.byte 0x78, 0x4c, 0x16, 0x02
.global data_ov18_0216ceac
data_ov18_0216ceac: ; 0x0216ceac
.byte 0xbc, 0x4c, 0x16, 0x02
.global data_ov18_0216ceb0
data_ov18_0216ceb0: ; 0x0216ceb0
.byte 0x00, 0x4d, 0x16, 0x02
.global data_ov18_0216ceb4
data_ov18_0216ceb4: ; 0x0216ceb4
.byte 0x44, 0x4d, 0x16, 0x02
.global data_ov18_0216ceb8
data_ov18_0216ceb8: ; 0x0216ceb8
.byte 0x88, 0x4d, 0x16, 0x02
.global data_ov18_0216cebc
data_ov18_0216cebc: ; 0x0216cebc
.byte 0xcc, 0x4d, 0x16, 0x02
.global data_ov18_0216cec0
data_ov18_0216cec0: ; 0x0216cec0
.byte 0x28, 0x4e, 0x16, 0x02
.global data_ov18_0216cec4
data_ov18_0216cec4: ; 0x0216cec4
.byte 0x84, 0x4e, 0x16, 0x02
.global data_ov18_0216cec8
data_ov18_0216cec8: ; 0x0216cec8
.byte 0xe0, 0x4e, 0x16, 0x02
.global data_ov18_0216cecc
data_ov18_0216cecc: ; 0x0216cecc
.byte 0x54, 0x4f, 0x16, 0x02
.global data_ov18_0216ced0
data_ov18_0216ced0: ; 0x0216ced0
.byte 0xb0, 0x4f, 0x16, 0x02
.global data_ov18_0216ced4
data_ov18_0216ced4: ; 0x0216ced4
.byte 0x0c, 0x50, 0x16, 0x02
.global data_ov18_0216ced8
data_ov18_0216ced8: ; 0x0216ced8
.byte 0x50, 0x50, 0x16, 0x02
.global data_ov18_0216cedc
data_ov18_0216cedc: ; 0x0216cedc
.byte 0x10, 0x52, 0x16, 0x02
.global data_ov18_0216cee0
data_ov18_0216cee0: ; 0x0216cee0
.byte 0x54, 0x52, 0x16, 0x02
.global data_ov18_0216cee4
data_ov18_0216cee4: ; 0x0216cee4
.byte 0x98, 0x52, 0x16, 0x02
.global data_ov18_0216cee8
data_ov18_0216cee8: ; 0x0216cee8
.byte 0xf4, 0x00, 0x00, 0x00
.global data_ov18_0216ceec
data_ov18_0216ceec: ; 0x0216ceec
.byte 0xd3, 0x00, 0x00, 0x00
.global data_ov18_0216cef0
data_ov18_0216cef0: ; 0x0216cef0
.byte 0x2e, 0x01, 0x00, 0x00
.global data_ov18_0216cef4
data_ov18_0216cef4: ; 0x0216cef4
.byte 0x2f, 0x01, 0x00, 0x00
.global data_ov18_0216cef8
data_ov18_0216cef8: ; 0x0216cef8
.byte 0x30, 0x01, 0x00, 0x00
.global data_ov18_0216cefc
data_ov18_0216cefc: ; 0x0216cefc
.byte 0x31, 0x01, 0x00, 0x00
.global data_ov18_0216cf00
data_ov18_0216cf00: ; 0x0216cf00
.byte 0xd4, 0x00, 0x00, 0x00
.global data_ov18_0216cf04
data_ov18_0216cf04: ; 0x0216cf04
.byte 0xd5, 0x00, 0x00, 0x00
.global data_ov18_0216cf08
data_ov18_0216cf08: ; 0x0216cf08
.byte 0xd6, 0x00, 0x00, 0x00
.global data_ov18_0216cf0c
data_ov18_0216cf0c: ; 0x0216cf0c
.byte 0xd7, 0x00, 0x00, 0x00
.global data_ov18_0216cf10
data_ov18_0216cf10: ; 0x0216cf10
.byte 0xd8, 0x00, 0x00, 0x00
.global data_ov18_0216cf14
data_ov18_0216cf14: ; 0x0216cf14
.byte 0xd9, 0x00, 0x00, 0x00
.global data_ov18_0216cf18
data_ov18_0216cf18: ; 0x0216cf18
.byte 0xda, 0x00, 0x00, 0x00
.global data_ov18_0216cf1c
data_ov18_0216cf1c: ; 0x0216cf1c
.byte 0xdb, 0x00, 0x00, 0x00
.global data_ov18_0216cf20
data_ov18_0216cf20: ; 0x0216cf20
.byte 0xdc, 0x00, 0x00, 0x00
.global data_ov18_0216cf24
data_ov18_0216cf24: ; 0x0216cf24
.byte 0xdd, 0x00, 0x00, 0x00
.global data_ov18_0216cf28
data_ov18_0216cf28: ; 0x0216cf28
.byte 0xde, 0x00, 0x00, 0x00
.global data_ov18_0216cf2c
data_ov18_0216cf2c: ; 0x0216cf2c
.byte 0xdf, 0x00, 0x00, 0x00
.global data_ov18_0216cf30
data_ov18_0216cf30: ; 0x0216cf30
.byte 0xe0, 0x00, 0x00, 0x00
.global data_ov18_0216cf34
data_ov18_0216cf34: ; 0x0216cf34
.byte 0x87, 0x01, 0x00, 0x00
.global data_ov18_0216cf38
data_ov18_0216cf38: ; 0x0216cf38
.byte 0x4e, 0x01, 0x00, 0x00
.global data_ov18_0216cf3c
data_ov18_0216cf3c: ; 0x0216cf3c
.byte 0x4f, 0x01, 0x00, 0x00
.global data_ov18_0216cf40
data_ov18_0216cf40: ; 0x0216cf40
.byte 0x7b, 0x01, 0x00, 0x00
.global data_ov18_0216cf44
data_ov18_0216cf44: ; 0x0216cf44
.byte 0x04, 0x00
.global data_ov18_0216cf46
data_ov18_0216cf46: ; 0x0216cf46
.byte 0x12, 0x00
.global data_ov18_0216cf48
data_ov18_0216cf48: ; 0x0216cf48
.byte 0x04, 0x00
.global data_ov18_0216cf4a
data_ov18_0216cf4a: ; 0x0216cf4a
.byte 0x01, 0x00
.global data_ov18_0216cf4c
data_ov18_0216cf4c: ; 0x0216cf4c
.byte 0x04, 0x00
.global data_ov18_0216cf4e
data_ov18_0216cf4e: ; 0x0216cf4e
.byte 0x13, 0x00
.global data_ov18_0216cf50
data_ov18_0216cf50: ; 0x0216cf50
.byte 0x04, 0x00
.global data_ov18_0216cf52
data_ov18_0216cf52: ; 0x0216cf52
.byte 0x14, 0x00
.global data_ov18_0216cf54
data_ov18_0216cf54: ; 0x0216cf54
.byte 0x04, 0x00
.global data_ov18_0216cf56
data_ov18_0216cf56: ; 0x0216cf56
.byte 0x14, 0x00
.global data_ov18_0216cf58
data_ov18_0216cf58: ; 0x0216cf58
.byte 0x04, 0x00
.global data_ov18_0216cf5a
data_ov18_0216cf5a: ; 0x0216cf5a
.byte 0x14, 0x00
.global data_ov18_0216cf5c
data_ov18_0216cf5c: ; 0x0216cf5c
.byte 0x04, 0x00
.global data_ov18_0216cf5e
data_ov18_0216cf5e: ; 0x0216cf5e
.byte 0x04, 0x00
.global data_ov18_0216cf60
data_ov18_0216cf60: ; 0x0216cf60
.byte 0x04, 0x00
.global data_ov18_0216cf62
data_ov18_0216cf62: ; 0x0216cf62
.byte 0x05, 0x00
.global data_ov18_0216cf64
data_ov18_0216cf64: ; 0x0216cf64
.byte 0x04, 0x00
.global data_ov18_0216cf66
data_ov18_0216cf66: ; 0x0216cf66
.byte 0x06, 0x00
.global data_ov18_0216cf68
data_ov18_0216cf68: ; 0x0216cf68
.byte 0x04, 0x00
.global data_ov18_0216cf6a
data_ov18_0216cf6a: ; 0x0216cf6a
.byte 0x07, 0x00
.global data_ov18_0216cf6c
data_ov18_0216cf6c: ; 0x0216cf6c
.byte 0x04, 0x00
.global data_ov18_0216cf6e
data_ov18_0216cf6e: ; 0x0216cf6e
.byte 0x08, 0x00
.global data_ov18_0216cf70
data_ov18_0216cf70: ; 0x0216cf70
.byte 0x04, 0x00
.global data_ov18_0216cf72
data_ov18_0216cf72: ; 0x0216cf72
.byte 0x09, 0x00
.global data_ov18_0216cf74
data_ov18_0216cf74: ; 0x0216cf74
.byte 0x04, 0x00
.global data_ov18_0216cf76
data_ov18_0216cf76: ; 0x0216cf76
.byte 0x0a, 0x00
.global data_ov18_0216cf78
data_ov18_0216cf78: ; 0x0216cf78
.byte 0x04, 0x00
.global data_ov18_0216cf7a
data_ov18_0216cf7a: ; 0x0216cf7a
.byte 0x0b, 0x00
.global data_ov18_0216cf7c
data_ov18_0216cf7c: ; 0x0216cf7c
.byte 0x04, 0x00
.global data_ov18_0216cf7e
data_ov18_0216cf7e: ; 0x0216cf7e
.byte 0x0c, 0x00
.global data_ov18_0216cf80
data_ov18_0216cf80: ; 0x0216cf80
.byte 0x04, 0x00
.global data_ov18_0216cf82
data_ov18_0216cf82: ; 0x0216cf82
.byte 0x0d, 0x00
.global data_ov18_0216cf84
data_ov18_0216cf84: ; 0x0216cf84
.byte 0x04, 0x00
.global data_ov18_0216cf86
data_ov18_0216cf86: ; 0x0216cf86
.byte 0x0e, 0x00
.global data_ov18_0216cf88
data_ov18_0216cf88: ; 0x0216cf88
.byte 0x04, 0x00
.global data_ov18_0216cf8a
data_ov18_0216cf8a: ; 0x0216cf8a
.byte 0x0f, 0x00
.global data_ov18_0216cf8c
data_ov18_0216cf8c: ; 0x0216cf8c
.byte 0x04, 0x00
.global data_ov18_0216cf8e
data_ov18_0216cf8e: ; 0x0216cf8e
.byte 0x10, 0x00
.global data_ov18_0216cf90
data_ov18_0216cf90: ; 0x0216cf90
.byte 0x04, 0x00
.global data_ov18_0216cf92
data_ov18_0216cf92: ; 0x0216cf92
.byte 0x11, 0x00
.global data_ov18_0216cf94
data_ov18_0216cf94: ; 0x0216cf94
.byte 0x04, 0x00
.global data_ov18_0216cf96
data_ov18_0216cf96: ; 0x0216cf96
.byte 0x15, 0x00
.global data_ov18_0216cf98
data_ov18_0216cf98: ; 0x0216cf98
.byte 0x04, 0x00
.global data_ov18_0216cf9a
data_ov18_0216cf9a: ; 0x0216cf9a
.byte 0x16, 0x00
.global data_ov18_0216cf9c
data_ov18_0216cf9c: ; 0x0216cf9c
.byte 0x04, 0x00
.global data_ov18_0216cf9e
data_ov18_0216cf9e: ; 0x0216cf9e
.byte 0x17, 0x00
.global data_ov18_0216cfa0
data_ov18_0216cfa0: ; 0x0216cfa0
.byte 0xdc, 0x58, 0x16, 0x02
.global data_ov18_0216cfa4
data_ov18_0216cfa4: ; 0x0216cfa4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cfa8
data_ov18_0216cfa8: ; 0x0216cfa8
.byte 0x2c, 0x59, 0x16, 0x02
.global data_ov18_0216cfac
data_ov18_0216cfac: ; 0x0216cfac
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cfb0
data_ov18_0216cfb0: ; 0x0216cfb0
.byte 0xb4, 0x59, 0x16, 0x02
.global data_ov18_0216cfb4
data_ov18_0216cfb4: ; 0x0216cfb4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cfb8
data_ov18_0216cfb8: ; 0x0216cfb8
.byte 0x24, 0x5a, 0x16, 0x02
.global data_ov18_0216cfbc
data_ov18_0216cfbc: ; 0x0216cfbc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cfc0
data_ov18_0216cfc0: ; 0x0216cfc0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cfc4
data_ov18_0216cfc4: ; 0x0216cfc4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216cfc8
data_ov18_0216cfc8: ; 0x0216cfc8
.byte 0xf0, 0x53, 0x16, 0x02
.global data_ov18_0216cfcc
data_ov18_0216cfcc: ; 0x0216cfcc
.byte 0x04, 0x54, 0x16, 0x02
.global data_ov18_0216cfd0
data_ov18_0216cfd0: ; 0x0216cfd0
.byte 0x20, 0x54, 0x16, 0x02
.global data_ov18_0216cfd4
data_ov18_0216cfd4: ; 0x0216cfd4
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov18_0216cfd8
data_ov18_0216cfd8: ; 0x0216cfd8
.byte 0x40, 0x17, 0x0c, 0x02
.global data_ov18_0216cfdc
data_ov18_0216cfdc: ; 0x0216cfdc
.byte 0x90, 0x4a, 0x14, 0x02
.global data_ov18_0216cfe0
data_ov18_0216cfe0: ; 0x0216cfe0
.byte 0x64, 0x4b, 0x14, 0x02
.global data_ov18_0216cfe4
data_ov18_0216cfe4: ; 0x0216cfe4
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov18_0216cfe8
data_ov18_0216cfe8: ; 0x0216cfe8
.byte 0xcc, 0x5a, 0x16, 0x02
.global data_ov18_0216cfec
data_ov18_0216cfec: ; 0x0216cfec
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov18_0216cff0
data_ov18_0216cff0: ; 0x0216cff0
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov18_0216cff4
data_ov18_0216cff4: ; 0x0216cff4
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov18_0216cff8
data_ov18_0216cff8: ; 0x0216cff8
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov18_0216cffc
data_ov18_0216cffc: ; 0x0216cffc
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov18_0216d000
data_ov18_0216d000: ; 0x0216d000
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov18_0216d004
data_ov18_0216d004: ; 0x0216d004
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov18_0216d008
data_ov18_0216d008: ; 0x0216d008
.byte 0x74, 0x59, 0x14, 0x02
.global data_ov18_0216d00c
data_ov18_0216d00c: ; 0x0216d00c
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov18_0216d010
data_ov18_0216d010: ; 0x0216d010
.byte 0xf8, 0x56, 0x16, 0x02
.global data_ov18_0216d014
data_ov18_0216d014: ; 0x0216d014
.byte 0x50, 0x1c, 0x0c, 0x02
.global data_ov18_0216d018
data_ov18_0216d018: ; 0x0216d018
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov18_0216d01c
data_ov18_0216d01c: ; 0x0216d01c
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov18_0216d020
data_ov18_0216d020: ; 0x0216d020
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov18_0216d024
data_ov18_0216d024: ; 0x0216d024
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov18_0216d028
data_ov18_0216d028: ; 0x0216d028
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov18_0216d02c
data_ov18_0216d02c: ; 0x0216d02c
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov18_0216d030
data_ov18_0216d030: ; 0x0216d030
.byte 0xe4, 0x56, 0x16, 0x02
.global data_ov18_0216d034
data_ov18_0216d034: ; 0x0216d034
.byte 0x14, 0x19, 0x0c, 0x02
.global data_ov18_0216d038
data_ov18_0216d038: ; 0x0216d038
.byte 0x1c, 0x19, 0x0c, 0x02
.global data_ov18_0216d03c
data_ov18_0216d03c: ; 0x0216d03c
.byte 0x98, 0x56, 0x14, 0x02
.global data_ov18_0216d040
data_ov18_0216d040: ; 0x0216d040
.byte 0x90, 0x56, 0x14, 0x02
.global data_ov18_0216d044
data_ov18_0216d044: ; 0x0216d044
.byte 0x3c, 0x57, 0x14, 0x02
.global data_ov18_0216d048
data_ov18_0216d048: ; 0x0216d048
.byte 0x78, 0x55, 0x14, 0x02
.global data_ov18_0216d04c
data_ov18_0216d04c: ; 0x0216d04c
.byte 0xb0, 0x55, 0x14, 0x02
.global data_ov18_0216d050
data_ov18_0216d050: ; 0x0216d050
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov18_0216d054
data_ov18_0216d054: ; 0x0216d054
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov18_0216d058
data_ov18_0216d058: ; 0x0216d058
.byte 0x60, 0x57, 0x14, 0x02
.global data_ov18_0216d05c
data_ov18_0216d05c: ; 0x0216d05c
.byte 0x14, 0x58, 0x14, 0x02
.global data_ov18_0216d060
data_ov18_0216d060: ; 0x0216d060
.byte 0x74, 0x58, 0x14, 0x02
.global data_ov18_0216d064
data_ov18_0216d064: ; 0x0216d064
.byte 0xb0, 0x58, 0x14, 0x02
.global data_ov18_0216d068
data_ov18_0216d068: ; 0x0216d068
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov18_0216d06c
data_ov18_0216d06c: ; 0x0216d06c
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov18_0216d070
data_ov18_0216d070: ; 0x0216d070
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov18_0216d074
data_ov18_0216d074: ; 0x0216d074
.byte 0xfc, 0x31, 0x0c, 0x02
.global data_ov18_0216d078
data_ov18_0216d078: ; 0x0216d078
.byte 0x2c, 0x32, 0x0c, 0x02
.global data_ov18_0216d07c
data_ov18_0216d07c: ; 0x0216d07c
.byte 0x08, 0x4d, 0x14, 0x02
.global data_ov18_0216d080
data_ov18_0216d080: ; 0x0216d080
.byte 0x34, 0x4d, 0x14, 0x02
.global data_ov18_0216d084
data_ov18_0216d084: ; 0x0216d084
.byte 0x74, 0x4d, 0x14, 0x02
.global data_ov18_0216d088
data_ov18_0216d088: ; 0x0216d088
.byte 0xf0, 0x56, 0x16, 0x02
.global data_ov18_0216d08c
data_ov18_0216d08c: ; 0x0216d08c
.byte 0x70, 0x5a, 0x16, 0x02
.global data_ov18_0216d090
data_ov18_0216d090: ; 0x0216d090
.byte 0x78, 0x56, 0x14, 0x02
.global data_ov18_0216d094
data_ov18_0216d094: ; 0x0216d094
.byte 0xe4, 0x55, 0x14, 0x02
.global data_ov18_0216d098
data_ov18_0216d098: ; 0x0216d098
.byte 0xa0, 0x58, 0x14, 0x02
.global data_ov18_0216d09c
data_ov18_0216d09c: ; 0x0216d09c
.byte 0x00, 0x4d, 0x14, 0x02
.global data_ov18_0216d0a0
data_ov18_0216d0a0: ; 0x0216d0a0
.byte 0xd4, 0x48, 0x14, 0x02
.global data_ov18_0216d0a4
data_ov18_0216d0a4: ; 0x0216d0a4
.byte 0xdc, 0x48, 0x14, 0x02
.global data_ov18_0216d0a8
data_ov18_0216d0a8: ; 0x0216d0a8
.byte 0xe4, 0x48, 0x14, 0x02
.global data_ov18_0216d0ac
data_ov18_0216d0ac: ; 0x0216d0ac
.byte 0xec, 0x48, 0x14, 0x02
.global data_ov18_0216d0b0
data_ov18_0216d0b0: ; 0x0216d0b0
.byte 0xf4, 0x48, 0x14, 0x02
.global data_ov18_0216d0b4
data_ov18_0216d0b4: ; 0x0216d0b4
.byte 0xcc, 0x58, 0x14, 0x02
.global data_ov18_0216d0b8
data_ov18_0216d0b8: ; 0x0216d0b8
.byte 0x00, 0x59, 0x14, 0x02
.global data_ov18_0216d0bc
data_ov18_0216d0bc: ; 0x0216d0bc
.byte 0x00, 0x50, 0x00, 0x00
.global data_ov18_0216d0c0
data_ov18_0216d0c0: ; 0x0216d0c0
.byte 0x55, 0x15
.global data_ov18_0216d0c2
data_ov18_0216d0c2: ; 0x0216d0c2
.byte 0x00, 0x00
.global data_ov18_0216d0c4
data_ov18_0216d0c4: ; 0x0216d0c4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d0c8
data_ov18_0216d0c8: ; 0x0216d0c8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d0cc
data_ov18_0216d0cc: ; 0x0216d0cc
.byte 0xbc, 0x5b, 0x16, 0x02
.global data_ov18_0216d0d0
data_ov18_0216d0d0: ; 0x0216d0d0
.byte 0xf0, 0x5b, 0x16, 0x02
.global data_ov18_0216d0d4
data_ov18_0216d0d4: ; 0x0216d0d4
.byte 0xec, 0x5c, 0x16, 0x02
.global data_ov18_0216d0d8
data_ov18_0216d0d8: ; 0x0216d0d8
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov18_0216d0dc
data_ov18_0216d0dc: ; 0x0216d0dc
.byte 0x40, 0x17, 0x0c, 0x02
.global data_ov18_0216d0e0
data_ov18_0216d0e0: ; 0x0216d0e0
.byte 0x90, 0x4a, 0x14, 0x02
.global data_ov18_0216d0e4
data_ov18_0216d0e4: ; 0x0216d0e4
.byte 0x64, 0x4b, 0x14, 0x02
.global data_ov18_0216d0e8
data_ov18_0216d0e8: ; 0x0216d0e8
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov18_0216d0ec
data_ov18_0216d0ec: ; 0x0216d0ec
.byte 0xf8, 0x82, 0x16, 0x02
.global data_ov18_0216d0f0
data_ov18_0216d0f0: ; 0x0216d0f0
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov18_0216d0f4
data_ov18_0216d0f4: ; 0x0216d0f4
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov18_0216d0f8
data_ov18_0216d0f8: ; 0x0216d0f8
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov18_0216d0fc
data_ov18_0216d0fc: ; 0x0216d0fc
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov18_0216d100
data_ov18_0216d100: ; 0x0216d100
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov18_0216d104
data_ov18_0216d104: ; 0x0216d104
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov18_0216d108
data_ov18_0216d108: ; 0x0216d108
.byte 0xe4, 0x5d, 0x16, 0x02
.global data_ov18_0216d10c
data_ov18_0216d10c: ; 0x0216d10c
.byte 0x74, 0x59, 0x14, 0x02
.global data_ov18_0216d110
data_ov18_0216d110: ; 0x0216d110
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov18_0216d114
data_ov18_0216d114: ; 0x0216d114
.byte 0x48, 0x1c, 0x0c, 0x02
.global data_ov18_0216d118
data_ov18_0216d118: ; 0x0216d118
.byte 0x50, 0x1c, 0x0c, 0x02
.global data_ov18_0216d11c
data_ov18_0216d11c: ; 0x0216d11c
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov18_0216d120
data_ov18_0216d120: ; 0x0216d120
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov18_0216d124
data_ov18_0216d124: ; 0x0216d124
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov18_0216d128
data_ov18_0216d128: ; 0x0216d128
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov18_0216d12c
data_ov18_0216d12c: ; 0x0216d12c
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov18_0216d130
data_ov18_0216d130: ; 0x0216d130
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov18_0216d134
data_ov18_0216d134: ; 0x0216d134
.byte 0x08, 0x5e, 0x16, 0x02
.global data_ov18_0216d138
data_ov18_0216d138: ; 0x0216d138
.byte 0x98, 0x60, 0x16, 0x02
.global data_ov18_0216d13c
data_ov18_0216d13c: ; 0x0216d13c
.byte 0x50, 0x5f, 0x16, 0x02
.global data_ov18_0216d140
data_ov18_0216d140: ; 0x0216d140
.byte 0x98, 0x56, 0x14, 0x02
.global data_ov18_0216d144
data_ov18_0216d144: ; 0x0216d144
.byte 0x90, 0x56, 0x14, 0x02
.global data_ov18_0216d148
data_ov18_0216d148: ; 0x0216d148
.byte 0x3c, 0x57, 0x14, 0x02
.global data_ov18_0216d14c
data_ov18_0216d14c: ; 0x0216d14c
.byte 0x78, 0x55, 0x14, 0x02
.global data_ov18_0216d150
data_ov18_0216d150: ; 0x0216d150
.byte 0xb0, 0x55, 0x14, 0x02
.global data_ov18_0216d154
data_ov18_0216d154: ; 0x0216d154
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov18_0216d158
data_ov18_0216d158: ; 0x0216d158
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov18_0216d15c
data_ov18_0216d15c: ; 0x0216d15c
.byte 0x60, 0x57, 0x14, 0x02
.global data_ov18_0216d160
data_ov18_0216d160: ; 0x0216d160
.byte 0x14, 0x58, 0x14, 0x02
.global data_ov18_0216d164
data_ov18_0216d164: ; 0x0216d164
.byte 0x74, 0x58, 0x14, 0x02
.global data_ov18_0216d168
data_ov18_0216d168: ; 0x0216d168
.byte 0xb0, 0x58, 0x14, 0x02
.global data_ov18_0216d16c
data_ov18_0216d16c: ; 0x0216d16c
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov18_0216d170
data_ov18_0216d170: ; 0x0216d170
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov18_0216d174
data_ov18_0216d174: ; 0x0216d174
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov18_0216d178
data_ov18_0216d178: ; 0x0216d178
.byte 0xfc, 0x31, 0x0c, 0x02
.global data_ov18_0216d17c
data_ov18_0216d17c: ; 0x0216d17c
.byte 0x2c, 0x32, 0x0c, 0x02
.global data_ov18_0216d180
data_ov18_0216d180: ; 0x0216d180
.byte 0x08, 0x4d, 0x14, 0x02
.global data_ov18_0216d184
data_ov18_0216d184: ; 0x0216d184
.byte 0x34, 0x4d, 0x14, 0x02
.global data_ov18_0216d188
data_ov18_0216d188: ; 0x0216d188
.byte 0x74, 0x4d, 0x14, 0x02
.global data_ov18_0216d18c
data_ov18_0216d18c: ; 0x0216d18c
.byte 0xd4, 0x6b, 0x16, 0x02
.global data_ov18_0216d190
data_ov18_0216d190: ; 0x0216d190
.byte 0xdc, 0x6b, 0x16, 0x02
.global data_ov18_0216d194
data_ov18_0216d194: ; 0x0216d194
.byte 0x78, 0x56, 0x14, 0x02
.global data_ov18_0216d198
data_ov18_0216d198: ; 0x0216d198
.byte 0xe4, 0x55, 0x14, 0x02
.global data_ov18_0216d19c
data_ov18_0216d19c: ; 0x0216d19c
.byte 0xa0, 0x58, 0x14, 0x02
.global data_ov18_0216d1a0
data_ov18_0216d1a0: ; 0x0216d1a0
.byte 0xf0, 0x5d, 0x16, 0x02
.global data_ov18_0216d1a4
data_ov18_0216d1a4: ; 0x0216d1a4
.byte 0xd4, 0x48, 0x14, 0x02
.global data_ov18_0216d1a8
data_ov18_0216d1a8: ; 0x0216d1a8
.byte 0xdc, 0x48, 0x14, 0x02
.global data_ov18_0216d1ac
data_ov18_0216d1ac: ; 0x0216d1ac
.byte 0xe4, 0x48, 0x14, 0x02
.global data_ov18_0216d1b0
data_ov18_0216d1b0: ; 0x0216d1b0
.byte 0xec, 0x48, 0x14, 0x02
.global data_ov18_0216d1b4
data_ov18_0216d1b4: ; 0x0216d1b4
.byte 0xf4, 0x48, 0x14, 0x02
.global data_ov18_0216d1b8
data_ov18_0216d1b8: ; 0x0216d1b8
.byte 0xcc, 0x58, 0x14, 0x02
.global data_ov18_0216d1bc
data_ov18_0216d1bc: ; 0x0216d1bc
.byte 0x00, 0x59, 0x14, 0x02
.global data_ov18_0216d1c0
data_ov18_0216d1c0: ; 0x0216d1c0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d1c4
data_ov18_0216d1c4: ; 0x0216d1c4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d1c8
data_ov18_0216d1c8: ; 0x0216d1c8
.byte 0xf0, 0x87, 0x16, 0x02
.global data_ov18_0216d1cc
data_ov18_0216d1cc: ; 0x0216d1cc
.byte 0x18, 0x88, 0x16, 0x02
.global data_ov18_0216d1d0
data_ov18_0216d1d0: ; 0x0216d1d0
.byte 0x48, 0x88, 0x16, 0x02
.global data_ov18_0216d1d4
data_ov18_0216d1d4: ; 0x0216d1d4
.byte 0x24, 0x89, 0x16, 0x02
.global data_ov18_0216d1d8
data_ov18_0216d1d8: ; 0x0216d1d8
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov18_0216d1dc
data_ov18_0216d1dc: ; 0x0216d1dc
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov18_0216d1e0
data_ov18_0216d1e0: ; 0x0216d1e0
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov18_0216d1e4
data_ov18_0216d1e4: ; 0x0216d1e4
.byte 0x7c, 0x8f, 0x16, 0x02
.global data_ov18_0216d1e8
data_ov18_0216d1e8: ; 0x0216d1e8
.byte 0xbc, 0xb6, 0x08, 0x02
.global data_ov18_0216d1ec
data_ov18_0216d1ec: ; 0x0216d1ec
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov18_0216d1f0
data_ov18_0216d1f0: ; 0x0216d1f0
.byte 0xc8, 0xb6, 0x08, 0x02
.global data_ov18_0216d1f4
data_ov18_0216d1f4: ; 0x0216d1f4
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov18_0216d1f8
data_ov18_0216d1f8: ; 0x0216d1f8
.byte 0xd8, 0xb6, 0x08, 0x02
.global data_ov18_0216d1fc
data_ov18_0216d1fc: ; 0x0216d1fc
.byte 0xe0, 0xb6, 0x08, 0x02
.global data_ov18_0216d200
data_ov18_0216d200: ; 0x0216d200
.byte 0xe8, 0xb6, 0x08, 0x02
.global data_ov18_0216d204
data_ov18_0216d204: ; 0x0216d204
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov18_0216d208
data_ov18_0216d208: ; 0x0216d208
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov18_0216d20c
data_ov18_0216d20c: ; 0x0216d20c
.byte 0x00, 0xb7, 0x08, 0x02
.global data_ov18_0216d210
data_ov18_0216d210: ; 0x0216d210
.byte 0x10, 0x8c, 0x16, 0x02
.global data_ov18_0216d214
data_ov18_0216d214: ; 0x0216d214
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov18_0216d218
data_ov18_0216d218: ; 0x0216d218
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov18_0216d21c
data_ov18_0216d21c: ; 0x0216d21c
.byte 0x00, 0xca, 0x08, 0x02
.global data_ov18_0216d220
data_ov18_0216d220: ; 0x0216d220
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov18_0216d224
data_ov18_0216d224: ; 0x0216d224
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov18_0216d228
data_ov18_0216d228: ; 0x0216d228
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov18_0216d22c
data_ov18_0216d22c: ; 0x0216d22c
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov18_0216d230
data_ov18_0216d230: ; 0x0216d230
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov18_0216d234
data_ov18_0216d234: ; 0x0216d234
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov18_0216d238
data_ov18_0216d238: ; 0x0216d238
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov18_0216d23c
data_ov18_0216d23c: ; 0x0216d23c
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov18_0216d240
data_ov18_0216d240: ; 0x0216d240
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov18_0216d244
data_ov18_0216d244: ; 0x0216d244
.byte 0xb8, 0x8e, 0x16, 0x02
.global data_ov18_0216d248
data_ov18_0216d248: ; 0x0216d248
.byte 0x88, 0x8a, 0x16, 0x02
.global data_ov18_0216d24c
data_ov18_0216d24c: ; 0x0216d24c
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov18_0216d250
data_ov18_0216d250: ; 0x0216d250
.byte 0x9c, 0xc3, 0x08, 0x02
.global data_ov18_0216d254
data_ov18_0216d254: ; 0x0216d254
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d258
data_ov18_0216d258: ; 0x0216d258
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d25c
data_ov18_0216d25c: ; 0x0216d25c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d260
data_ov18_0216d260: ; 0x0216d260
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d264
data_ov18_0216d264: ; 0x0216d264
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d268
data_ov18_0216d268: ; 0x0216d268
.byte 0xe8, 0x8f, 0x16, 0x02
.global data_ov18_0216d26c
data_ov18_0216d26c: ; 0x0216d26c
.byte 0x24, 0x90, 0x16, 0x02
.global data_ov18_0216d270
data_ov18_0216d270: ; 0x0216d270
.byte 0x88, 0x90, 0x16, 0x02
.global data_ov18_0216d274
data_ov18_0216d274: ; 0x0216d274
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov18_0216d278
data_ov18_0216d278: ; 0x0216d278
.byte 0x40, 0x17, 0x0c, 0x02
.global data_ov18_0216d27c
data_ov18_0216d27c: ; 0x0216d27c
.byte 0x58, 0x91, 0x16, 0x02
.global data_ov18_0216d280
data_ov18_0216d280: ; 0x0216d280
.byte 0x30, 0x92, 0x16, 0x02
.global data_ov18_0216d284
data_ov18_0216d284: ; 0x0216d284
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov18_0216d288
data_ov18_0216d288: ; 0x0216d288
.byte 0x94, 0x18, 0x0c, 0x02
.global data_ov18_0216d28c
data_ov18_0216d28c: ; 0x0216d28c
.byte 0x68, 0x90, 0x16, 0x02
.global data_ov18_0216d290
data_ov18_0216d290: ; 0x0216d290
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov18_0216d294
data_ov18_0216d294: ; 0x0216d294
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov18_0216d298
data_ov18_0216d298: ; 0x0216d298
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov18_0216d29c
data_ov18_0216d29c: ; 0x0216d29c
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov18_0216d2a0
data_ov18_0216d2a0: ; 0x0216d2a0
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov18_0216d2a4
data_ov18_0216d2a4: ; 0x0216d2a4
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov18_0216d2a8
data_ov18_0216d2a8: ; 0x0216d2a8
.byte 0x04, 0x30, 0x0c, 0x02
.global data_ov18_0216d2ac
data_ov18_0216d2ac: ; 0x0216d2ac
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov18_0216d2b0
data_ov18_0216d2b0: ; 0x0216d2b0
.byte 0x48, 0x1c, 0x0c, 0x02
.global data_ov18_0216d2b4
data_ov18_0216d2b4: ; 0x0216d2b4
.byte 0x50, 0x1c, 0x0c, 0x02
.global data_ov18_0216d2b8
data_ov18_0216d2b8: ; 0x0216d2b8
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov18_0216d2bc
data_ov18_0216d2bc: ; 0x0216d2bc
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov18_0216d2c0
data_ov18_0216d2c0: ; 0x0216d2c0
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov18_0216d2c4
data_ov18_0216d2c4: ; 0x0216d2c4
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov18_0216d2c8
data_ov18_0216d2c8: ; 0x0216d2c8
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov18_0216d2cc
data_ov18_0216d2cc: ; 0x0216d2cc
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov18_0216d2d0
data_ov18_0216d2d0: ; 0x0216d2d0
.byte 0x10, 0x19, 0x0c, 0x02
.global data_ov18_0216d2d4
data_ov18_0216d2d4: ; 0x0216d2d4
.byte 0x14, 0x19, 0x0c, 0x02
.global data_ov18_0216d2d8
data_ov18_0216d2d8: ; 0x0216d2d8
.byte 0x1c, 0x19, 0x0c, 0x02
.global data_ov18_0216d2dc
data_ov18_0216d2dc: ; 0x0216d2dc
.byte 0x24, 0x19, 0x0c, 0x02
.global data_ov18_0216d2e0
data_ov18_0216d2e0: ; 0x0216d2e0
.byte 0x2c, 0x19, 0x0c, 0x02
.global data_ov18_0216d2e4
data_ov18_0216d2e4: ; 0x0216d2e4
.byte 0x28, 0x19, 0x0c, 0x02
.global data_ov18_0216d2e8
data_ov18_0216d2e8: ; 0x0216d2e8
.byte 0x34, 0x19, 0x0c, 0x02
.global data_ov18_0216d2ec
data_ov18_0216d2ec: ; 0x0216d2ec
.byte 0x38, 0x19, 0x0c, 0x02
.global data_ov18_0216d2f0
data_ov18_0216d2f0: ; 0x0216d2f0
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov18_0216d2f4
data_ov18_0216d2f4: ; 0x0216d2f4
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov18_0216d2f8
data_ov18_0216d2f8: ; 0x0216d2f8
.byte 0x48, 0x19, 0x0c, 0x02
.global data_ov18_0216d2fc
data_ov18_0216d2fc: ; 0x0216d2fc
.byte 0x50, 0x19, 0x0c, 0x02
.global data_ov18_0216d300
data_ov18_0216d300: ; 0x0216d300
.byte 0x54, 0x19, 0x0c, 0x02
.global data_ov18_0216d304
data_ov18_0216d304: ; 0x0216d304
.byte 0x58, 0x19, 0x0c, 0x02
.global data_ov18_0216d308
data_ov18_0216d308: ; 0x0216d308
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov18_0216d30c
data_ov18_0216d30c: ; 0x0216d30c
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov18_0216d310
data_ov18_0216d310: ; 0x0216d310
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov18_0216d314
data_ov18_0216d314: ; 0x0216d314
.byte 0xfc, 0x31, 0x0c, 0x02
.global data_ov18_0216d318
data_ov18_0216d318: ; 0x0216d318
.byte 0x2c, 0x32, 0x0c, 0x02
.global data_ov18_0216d31c
data_ov18_0216d31c: ; 0x0216d31c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d320
data_ov18_0216d320: ; 0x0216d320
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d324
data_ov18_0216d324: ; 0x0216d324
.byte 0x44, 0xa1, 0x16, 0x02
.global data_ov18_0216d328
data_ov18_0216d328: ; 0x0216d328
.byte 0x58, 0xa1, 0x16, 0x02
.global data_ov18_0216d32c
data_ov18_0216d32c: ; 0x0216d32c
.byte 0x74, 0xa1, 0x16, 0x02
.global data_ov18_0216d330
data_ov18_0216d330: ; 0x0216d330
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov18_0216d334
data_ov18_0216d334: ; 0x0216d334
.byte 0x40, 0x17, 0x0c, 0x02
.global data_ov18_0216d338
data_ov18_0216d338: ; 0x0216d338
.byte 0x3c, 0xa2, 0x16, 0x02
.global data_ov18_0216d33c
data_ov18_0216d33c: ; 0x0216d33c
.byte 0xbc, 0x17, 0x0c, 0x02
.global data_ov18_0216d340
data_ov18_0216d340: ; 0x0216d340
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov18_0216d344
data_ov18_0216d344: ; 0x0216d344
.byte 0x94, 0x18, 0x0c, 0x02
.global data_ov18_0216d348
data_ov18_0216d348: ; 0x0216d348
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov18_0216d34c
data_ov18_0216d34c: ; 0x0216d34c
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov18_0216d350
data_ov18_0216d350: ; 0x0216d350
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov18_0216d354
data_ov18_0216d354: ; 0x0216d354
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov18_0216d358
data_ov18_0216d358: ; 0x0216d358
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov18_0216d35c
data_ov18_0216d35c: ; 0x0216d35c
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov18_0216d360
data_ov18_0216d360: ; 0x0216d360
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov18_0216d364
data_ov18_0216d364: ; 0x0216d364
.byte 0x04, 0x30, 0x0c, 0x02
.global data_ov18_0216d368
data_ov18_0216d368: ; 0x0216d368
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov18_0216d36c
data_ov18_0216d36c: ; 0x0216d36c
.byte 0x48, 0x1c, 0x0c, 0x02
.global data_ov18_0216d370
data_ov18_0216d370: ; 0x0216d370
.byte 0x50, 0x1c, 0x0c, 0x02
.global data_ov18_0216d374
data_ov18_0216d374: ; 0x0216d374
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov18_0216d378
data_ov18_0216d378: ; 0x0216d378
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov18_0216d37c
data_ov18_0216d37c: ; 0x0216d37c
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov18_0216d380
data_ov18_0216d380: ; 0x0216d380
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov18_0216d384
data_ov18_0216d384: ; 0x0216d384
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov18_0216d388
data_ov18_0216d388: ; 0x0216d388
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov18_0216d38c
data_ov18_0216d38c: ; 0x0216d38c
.byte 0x10, 0x19, 0x0c, 0x02
.global data_ov18_0216d390
data_ov18_0216d390: ; 0x0216d390
.byte 0x14, 0x19, 0x0c, 0x02
.global data_ov18_0216d394
data_ov18_0216d394: ; 0x0216d394
.byte 0x1c, 0x19, 0x0c, 0x02
.global data_ov18_0216d398
data_ov18_0216d398: ; 0x0216d398
.byte 0x24, 0x19, 0x0c, 0x02
.global data_ov18_0216d39c
data_ov18_0216d39c: ; 0x0216d39c
.byte 0x2c, 0x19, 0x0c, 0x02
.global data_ov18_0216d3a0
data_ov18_0216d3a0: ; 0x0216d3a0
.byte 0x28, 0x19, 0x0c, 0x02
.global data_ov18_0216d3a4
data_ov18_0216d3a4: ; 0x0216d3a4
.byte 0x34, 0x19, 0x0c, 0x02
.global data_ov18_0216d3a8
data_ov18_0216d3a8: ; 0x0216d3a8
.byte 0x38, 0x19, 0x0c, 0x02
.global data_ov18_0216d3ac
data_ov18_0216d3ac: ; 0x0216d3ac
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov18_0216d3b0
data_ov18_0216d3b0: ; 0x0216d3b0
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov18_0216d3b4
data_ov18_0216d3b4: ; 0x0216d3b4
.byte 0x48, 0x19, 0x0c, 0x02
.global data_ov18_0216d3b8
data_ov18_0216d3b8: ; 0x0216d3b8
.byte 0x50, 0x19, 0x0c, 0x02
.global data_ov18_0216d3bc
data_ov18_0216d3bc: ; 0x0216d3bc
.byte 0x54, 0x19, 0x0c, 0x02
.global data_ov18_0216d3c0
data_ov18_0216d3c0: ; 0x0216d3c0
.byte 0x58, 0x19, 0x0c, 0x02
.global data_ov18_0216d3c4
data_ov18_0216d3c4: ; 0x0216d3c4
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov18_0216d3c8
data_ov18_0216d3c8: ; 0x0216d3c8
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov18_0216d3cc
data_ov18_0216d3cc: ; 0x0216d3cc
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov18_0216d3d0
data_ov18_0216d3d0: ; 0x0216d3d0
.byte 0xfc, 0x31, 0x0c, 0x02
.global data_ov18_0216d3d4
data_ov18_0216d3d4: ; 0x0216d3d4
.byte 0x2c, 0x32, 0x0c, 0x02
.global data_ov18_0216d3d8
data_ov18_0216d3d8: ; 0x0216d3d8
.ascii "bmStnM"
.byte 0x00, 0x00
.global data_ov18_0216d3e0
data_ov18_0216d3e0: ; 0x0216d3e0
.ascii "sgnPst"
.byte 0x00, 0x00
.global data_ov18_0216d3e8
data_ov18_0216d3e8: ; 0x0216d3e8
.ascii "bmStnM"
.byte 0x00, 0x00
.global data_ov18_0216d3f0
data_ov18_0216d3f0: ; 0x0216d3f0
.ascii "sgnPst"
.byte 0x00, 0x00
.global data_ov18_0216d3f8
data_ov18_0216d3f8: ; 0x0216d3f8
.ascii "script06"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d404
data_ov18_0216d404: ; 0x0216d404
.ascii "script06"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d410
data_ov18_0216d410: ; 0x0216d410
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d414
data_ov18_0216d414: ; 0x0216d414
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d418
data_ov18_0216d418: ; 0x0216d418
.byte 0xb0, 0xa3, 0x16, 0x02
.global data_ov18_0216d41c
data_ov18_0216d41c: ; 0x0216d41c
.byte 0xb4, 0xa3, 0x16, 0x02
.global data_ov18_0216d420
data_ov18_0216d420: ; 0x0216d420
.byte 0xc8, 0xa3, 0x16, 0x02
.global data_ov18_0216d424
data_ov18_0216d424: ; 0x0216d424
.byte 0xc4, 0xa5, 0x16, 0x02
.global data_ov18_0216d428
data_ov18_0216d428: ; 0x0216d428
.byte 0xb4, 0xa6, 0x16, 0x02
.global data_ov18_0216d42c
data_ov18_0216d42c: ; 0x0216d42c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d430
data_ov18_0216d430: ; 0x0216d430
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d434
data_ov18_0216d434: ; 0x0216d434
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d438
data_ov18_0216d438: ; 0x0216d438
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov18_0216d43c
data_ov18_0216d43c: ; 0x0216d43c
.byte 0x00, 0x00, 0x00, 0x00
; 0x0216d440
.bss
.global data_ov18_0216d440
data_ov18_0216d440:
.space 0x4
.global data_ov18_0216d444
data_ov18_0216d444:
.space 0x4
.global data_ov18_0216d448
data_ov18_0216d448:
.space 0x4
.global data_ov18_0216d44c
data_ov18_0216d44c:
.space 0x4
.global data_ov18_0216d450
data_ov18_0216d450:
.space 0x4
.global data_ov18_0216d454
data_ov18_0216d454:
.space 0x4
.global data_ov18_0216d458
data_ov18_0216d458:
.space 0x4
.global data_ov18_0216d45c
data_ov18_0216d45c:
.space 0x4
.global data_ov18_0216d460
data_ov18_0216d460:
.space 0x4
.global data_ov18_0216d464
data_ov18_0216d464:
.space 0x4
.global data_ov18_0216d468
data_ov18_0216d468:
.space 0x4
.global data_ov18_0216d46c
data_ov18_0216d46c:
.space 0x4
.global data_ov18_0216d470
data_ov18_0216d470:
.space 0x4
.global data_ov18_0216d474
data_ov18_0216d474:
.space 0x4
.global data_ov18_0216d478
data_ov18_0216d478:
.space 0x4
.global data_ov18_0216d47c
data_ov18_0216d47c:
.space 0x4
.global data_ov18_0216d480
data_ov18_0216d480:
.space 0x4
.global data_ov18_0216d484
data_ov18_0216d484:
.space 0x4
.global data_ov18_0216d488
data_ov18_0216d488:
.space 0x4
.global data_ov18_0216d48c
data_ov18_0216d48c:
.space 0x4
.global data_ov18_0216d490
data_ov18_0216d490:
.space 0x4
.global data_ov18_0216d494
data_ov18_0216d494:
.space 0x4
.global data_ov18_0216d498
data_ov18_0216d498:
.space 0x4
.global data_ov18_0216d49c
data_ov18_0216d49c:
.space 0x4
.global data_ov18_0216d4a0
data_ov18_0216d4a0:
.space 0x4
.global data_ov18_0216d4a4
data_ov18_0216d4a4:
.space 0x4
.global data_ov18_0216d4a8
data_ov18_0216d4a8:
.space 0x4
.global data_ov18_0216d4ac
data_ov18_0216d4ac:
.space 0x4
.global data_ov18_0216d4b0
data_ov18_0216d4b0:
.space 0x4
.global data_ov18_0216d4b4
data_ov18_0216d4b4:
.space 0x4
.global data_ov18_0216d4b8
data_ov18_0216d4b8:
.space 0x4
.global data_ov18_0216d4bc
data_ov18_0216d4bc:
.space 0x4
.global data_ov18_0216d4c0
data_ov18_0216d4c0:
.space 0x4
.global data_ov18_0216d4c4
data_ov18_0216d4c4:
.space 0x4
.global data_ov18_0216d4c8
data_ov18_0216d4c8:
.space 0x4
.global data_ov18_0216d4cc
data_ov18_0216d4cc:
.space 0x4
.global data_ov18_0216d4d0
data_ov18_0216d4d0:
.space 0x4
.global data_ov18_0216d4d4
data_ov18_0216d4d4:
.space 0x4
.global data_ov18_0216d4d8
data_ov18_0216d4d8:
.space 0x4
.global data_ov18_0216d4dc
data_ov18_0216d4dc:
.space 0x4
.global data_ov18_0216d4e0
data_ov18_0216d4e0:
.space 0x4
.global data_ov18_0216d4e4
data_ov18_0216d4e4:
.space 0x4
.global data_ov18_0216d4e8
data_ov18_0216d4e8:
.space 0x4
.global data_ov18_0216d4ec
data_ov18_0216d4ec:
.space 0x4
.global data_ov18_0216d4f0
data_ov18_0216d4f0:
.space 0x4
.global data_ov18_0216d4f4
data_ov18_0216d4f4:
.space 0x4
.global data_ov18_0216d4f8
data_ov18_0216d4f8:
.space 0x4
.global data_ov18_0216d4fc
data_ov18_0216d4fc:
.space 0x4
.global data_ov18_0216d500
data_ov18_0216d500:
.space 0x4
.global data_ov18_0216d504
data_ov18_0216d504:
.space 0x4
.global data_ov18_0216d508
data_ov18_0216d508:
.space 0x4
.global data_ov18_0216d50c
data_ov18_0216d50c:
.space 0x4
.global data_ov18_0216d510
data_ov18_0216d510:
.space 0x4
.global data_ov18_0216d514
data_ov18_0216d514:
.space 0x4
.global data_ov18_0216d518
data_ov18_0216d518:
.space 0x4
.global data_ov18_0216d51c
data_ov18_0216d51c:
.space 0x4
.global data_ov18_0216d520
data_ov18_0216d520:
.space 0x4
.global data_ov18_0216d524
data_ov18_0216d524:
.space 0x4
.global data_ov18_0216d528
data_ov18_0216d528:
.space 0x4
.global data_ov18_0216d52c
data_ov18_0216d52c:
.space 0x4
.global data_ov18_0216d530
data_ov18_0216d530:
.space 0x4
.global data_ov18_0216d534
data_ov18_0216d534:
.space 0x4
.global data_ov18_0216d538
data_ov18_0216d538:
.space 0x4
.global data_ov18_0216d53c
data_ov18_0216d53c:
.space 0x4
.global data_ov18_0216d540
data_ov18_0216d540:
.space 0x4
.global data_ov18_0216d544
data_ov18_0216d544:
.space 0x4
.global data_ov18_0216d548
data_ov18_0216d548:
.space 0x4
.global data_ov18_0216d54c
data_ov18_0216d54c:
.space 0x4
.global data_ov18_0216d550
data_ov18_0216d550:
.space 0x4
.global data_ov18_0216d554
data_ov18_0216d554:
.space 0x4
.global data_ov18_0216d558
data_ov18_0216d558:
.space 0x4
.global data_ov18_0216d55c
data_ov18_0216d55c:
.space 0x4
.global data_ov18_0216d560
data_ov18_0216d560:
.space 0x4
.global data_ov18_0216d564
data_ov18_0216d564:
.space 0x4
.global data_ov18_0216d568
data_ov18_0216d568:
.space 0x4
.global data_ov18_0216d56c
data_ov18_0216d56c:
.space 0x4
.global data_ov18_0216d570
data_ov18_0216d570:
.space 0x4
.global data_ov18_0216d574
data_ov18_0216d574:
.space 0x4
.global data_ov18_0216d578
data_ov18_0216d578:
.space 0x4
.global data_ov18_0216d57c
data_ov18_0216d57c:
.space 0x4
.global data_ov18_0216d580
data_ov18_0216d580:
.space 0x4
.global data_ov18_0216d584
data_ov18_0216d584:
.space 0x4
.global data_ov18_0216d588
data_ov18_0216d588:
.space 0x4
.global data_ov18_0216d58c
data_ov18_0216d58c:
.space 0x4
.global data_ov18_0216d590
data_ov18_0216d590:
.space 0x4
.global data_ov18_0216d594
data_ov18_0216d594:
.space 0x4
.global data_ov18_0216d598
data_ov18_0216d598:
.space 0x4
.global data_ov18_0216d59c
data_ov18_0216d59c:
.space 0x4
.global data_ov18_0216d5a0
data_ov18_0216d5a0:
.space 0x4
.global data_ov18_0216d5a4
data_ov18_0216d5a4:
.space 0x4
.global data_ov18_0216d5a8
data_ov18_0216d5a8:
.space 0x4
.global data_ov18_0216d5ac
data_ov18_0216d5ac:
.space 0x4
.global data_ov18_0216d5b0
data_ov18_0216d5b0:
.space 0x4
.global data_ov18_0216d5b4
data_ov18_0216d5b4:
.space 0x4
.global data_ov18_0216d5b8
data_ov18_0216d5b8:
.space 0x4
.global data_ov18_0216d5bc
data_ov18_0216d5bc:
.space 0x4
.global data_ov18_0216d5c0
data_ov18_0216d5c0:
.space 0x4
.global data_ov18_0216d5c4
data_ov18_0216d5c4:
.space 0x4
.global data_ov18_0216d5c8
data_ov18_0216d5c8:
.space 0x4
.global data_ov18_0216d5cc
data_ov18_0216d5cc:
.space 0x4
.global data_ov18_0216d5d0
data_ov18_0216d5d0:
.space 0x4
.global data_ov18_0216d5d4
data_ov18_0216d5d4:
.space 0x4
.global data_ov18_0216d5d8
data_ov18_0216d5d8:
.space 0x4
.global data_ov18_0216d5dc
data_ov18_0216d5dc:
.space 0x4
.global data_ov18_0216d5e0
data_ov18_0216d5e0:
.space 0x4
.global data_ov18_0216d5e4
data_ov18_0216d5e4:
.space 0x4
.global data_ov18_0216d5e8
data_ov18_0216d5e8:
.space 0x4
.global data_ov18_0216d5ec
data_ov18_0216d5ec:
.space 0x4
.global data_ov18_0216d5f0
data_ov18_0216d5f0:
.space 0x4
.global data_ov18_0216d5f4
data_ov18_0216d5f4:
.space 0x4
.global data_ov18_0216d5f8
data_ov18_0216d5f8:
.space 0x4
.global data_ov18_0216d5fc
data_ov18_0216d5fc:
.space 0x4
.global data_ov18_0216d600
data_ov18_0216d600:
.space 0x4
.global data_ov18_0216d604
data_ov18_0216d604:
.space 0x4
.global data_ov18_0216d608
data_ov18_0216d608:
.space 0x4
.global data_ov18_0216d60c
data_ov18_0216d60c:
.space 0x4
.global data_ov18_0216d610
data_ov18_0216d610:
.space 0x4
.global data_ov18_0216d614
data_ov18_0216d614:
.space 0x4
.global data_ov18_0216d618
data_ov18_0216d618:
.space 0x4
.global data_ov18_0216d61c
data_ov18_0216d61c:
.space 0x4
.global data_ov18_0216d620
data_ov18_0216d620:
.space 0x4
.global data_ov18_0216d624
data_ov18_0216d624:
.space 0x2
.global data_ov18_0216d626
data_ov18_0216d626:
.space 0x2
.global data_ov18_0216d628
data_ov18_0216d628:
.space 0x2
.global data_ov18_0216d62a
data_ov18_0216d62a:
.space 0x2
.global data_ov18_0216d62c
data_ov18_0216d62c:
.space 0x4
.global data_ov18_0216d630
data_ov18_0216d630:
.space 0x4
.global data_ov18_0216d634
data_ov18_0216d634:
.space 0x4
.global data_ov18_0216d638
data_ov18_0216d638:
.space 0x4
.global data_ov18_0216d63c
data_ov18_0216d63c:
.space 0x4
.global data_ov18_0216d640
data_ov18_0216d640:
.space 0x4
.global data_ov18_0216d644
data_ov18_0216d644:
.space 0x4
.global data_ov18_0216d648
data_ov18_0216d648:
.space 0x4
.global data_ov18_0216d64c
data_ov18_0216d64c:
.space 0x4
.global data_ov18_0216d650
data_ov18_0216d650:
.space 0x4
.global data_ov18_0216d654
data_ov18_0216d654:
.space 0x4
.global data_ov18_0216d658
data_ov18_0216d658:
.space 0x4
.global data_ov18_0216d65c
data_ov18_0216d65c:
.space 0x4
.global data_ov18_0216d660
data_ov18_0216d660:
.space 0x4
.global data_ov18_0216d664
data_ov18_0216d664:
.space 0x4
.global data_ov18_0216d668
data_ov18_0216d668:
.space 0x4
.global data_ov18_0216d66c
data_ov18_0216d66c:
.space 0x4
.global data_ov18_0216d670
data_ov18_0216d670:
.space 0x4
.global data_ov18_0216d674
data_ov18_0216d674:
.space 0x4
.global data_ov18_0216d678
data_ov18_0216d678:
.space 0x4
.global data_ov18_0216d67c
data_ov18_0216d67c:
.space 0x4
.global data_ov18_0216d680
data_ov18_0216d680:
.space 0x4
.global data_ov18_0216d684
data_ov18_0216d684:
.space 0x4
.global data_ov18_0216d688
data_ov18_0216d688:
.space 0x4
.global data_ov18_0216d68c
data_ov18_0216d68c:
.space 0x4
.global data_ov18_0216d690
data_ov18_0216d690:
.space 0x4
.global data_ov18_0216d694
data_ov18_0216d694:
.space 0x4
.global data_ov18_0216d698
data_ov18_0216d698:
.space 0x4
.global data_ov18_0216d69c
data_ov18_0216d69c:
.space 0x4