Files
ph/asm/ov60.s
T
2023-10-06 17:59:49 +02:00

14881 lines
294 KiB
ArmAsm

.include "macros/function.inc"
.include "global.inc"
.text
.global func_ov60_0213dec0
arm_func_start func_ov60_0213dec0
func_ov60_0213dec0: ; 0x0213dec0
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
mov sb, r0
mov r8, r1
bl func_ov60_021400d0
mov r7, r0
cmp sb, #0x3e8
movlo r0, r8
ldmloia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
cmp r7, #0
beq _0213df88
_0213dee8:
ldr r0, [r7]
cmp r0, sb
bne _0213df7c
ldr sl, _0213df90 ; =data_ov60_02147700
ldr r0, [sl, #4]
cmp sb, r0
bne _0213df60
mov r6, #0
mov r4, r6
b _0213df4c
_0213df10:
add r8, r8, #1
bl func_ov60_0214000c
mov r5, r0
bl func_ov60_0214000c
ldr r2, [r7, #4]
mov r1, r0
add r0, r2, r5
sub r0, r0, #1
bl func_02002c14
sub r0, r0, #1
cmp r8, r0
add r6, r6, #1
movgt r8, r4
cmp r6, #2
bgt _0213df60
_0213df4c:
ldr r0, [sl]
cmp r8, r0
ldrne r0, [sl, #8]
cmpne r8, r0
beq _0213df10
_0213df60:
ldr r1, _0213df90 ; =data_ov60_02147700
mov r0, r8
str sb, [r1, #4]
ldr r2, [r1]
str r2, [r1, #8]
str r8, [r1]
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
_0213df7c:
ldr r7, [r7, #0x28]
cmp r7, #0
bne _0213dee8
_0213df88:
mvn r0, #0
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
arm_func_end func_ov60_0213dec0
_0213df90: .word data_ov60_02147700
.global func_ov60_0213df94
arm_func_start func_ov60_0213df94
func_ov60_0213df94: ; 0x0213df94
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
mov r5, r1
bl func_ov60_021400d0
mov r4, r0
cmp r6, #0x3e8
bhs _0213dfe4
mov r0, #0
_0213dfb4:
cmp r4, #0
beq _0213dfdc
cmp r0, r6
bne _0213dfd0
bl func_ov60_0214000c
mla r0, r5, r0, r4
ldmia sp!, {r4, r5, r6, pc}
_0213dfd0:
add r0, r0, #1
ldr r4, [r4, #0x28]
b _0213dfb4
_0213dfdc:
mov r0, #0
ldmia sp!, {r4, r5, r6, pc}
_0213dfe4:
cmp r4, #0
beq _0213e014
_0213dfec:
ldr r0, [r4]
cmp r0, r6
bne _0213e008
ldr r4, [r4, #0x2c]
bl func_ov60_0214000c
mla r0, r5, r0, r4
ldmia sp!, {r4, r5, r6, pc}
_0213e008:
ldr r4, [r4, #0x28]
cmp r4, #0
bne _0213dfec
_0213e014:
mov r0, #0
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov60_0213df94
.global func_ov60_0213e01c
arm_func_start func_ov60_0213e01c
func_ov60_0213e01c: ; 0x0213e01c
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
mov r7, r0
mov r6, r1
mov r5, r2
mov r4, r3
bl func_ov60_0213fffc
mov r8, r0
str r6, [r7]
mov r2, #0
str r2, [r7, #8]
str r2, [r7, #0xc]
mov r0, r6
mov r1, r8
str r2, [r7, #0x10]
bl func_02002c14
cmp r1, #0
movne sb, #1
moveq sb, #0
mov r0, r6
mov r1, r8
bl func_02002c14
add r0, r0, sb
str r0, [r7, #4]
str r5, [r7, #0x14]
mov r0, r6
str r4, [r7, #0x18]
bl func_ov60_0213fbd8
mov r2, r0
mov r0, r5
mov r1, #0
bl func_02007a44
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
arm_func_end func_ov60_0213e01c
.global func_ov60_0213e09c
arm_func_start func_ov60_0213e09c
func_ov60_0213e09c: ; 0x0213e09c
ldr r2, [r0, #0x14]
mov r0, r1, asr #0x5
ldr r2, [r2, r0, lsl #2]
and r1, r1, #0x1f
mov r0, #1
tst r2, r0, lsl r1
moveq r0, #0
bx lr
arm_func_end func_ov60_0213e09c
.global func_ov60_0213e0bc
arm_func_start func_ov60_0213e0bc
func_ov60_0213e0bc: ; 0x0213e0bc
ldr r2, [r0, #0x10]
mov r3, r1, asr #0x5
add r2, r2, #1
str r2, [r0, #0x10]
str r1, [r0, #0xc]
ldr ip, [r0, #0x14]
and r0, r1, #0x1f
ldr r2, [ip, r3, lsl #2]
mov r1, #1
orr r0, r2, r1, lsl r0
str r0, [ip, r3, lsl #2]
bx lr
arm_func_end func_ov60_0213e0bc
.global func_ov60_0213e0ec
arm_func_start func_ov60_0213e0ec
func_ov60_0213e0ec: ; 0x0213e0ec
stmdb sp!, {r4, r5, r6, r7, r8, lr}
ldr r1, [r0, #0xc]
ldr r7, [r0, #4]
add lr, r1, #1
cmp lr, r7
movge lr, #0
ldr r8, [r0, #0x14]
mov r1, lr, asr #0x5
add r6, r8, r1, lsl #2
mov r1, #0
mov r4, lr
and r5, lr, #0x1f
mov r2, r1
mov r3, #1
_0213e124:
ldr ip, [r6]
tst ip, r3, lsl r5
beq _0213e168
add lr, lr, #1
cmp lr, r7
bge _0213e150
add r5, r5, #1
cmp r5, #0x1f
movgt r5, r2
addgt r6, r6, #4
b _0213e15c
_0213e150:
mov lr, r1
mov r5, r1
mov r6, r8
_0213e15c:
cmp lr, r4
beq _0213e174
b _0213e124
_0213e168:
str lr, [r0, #8]
mov r0, lr
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_0213e174:
mvn r0, #0
ldmia sp!, {r4, r5, r6, r7, r8, pc}
arm_func_end func_ov60_0213e0ec
.global func_ov60_0213e17c
arm_func_start func_ov60_0213e17c
func_ov60_0213e17c: ; 0x0213e17c
stmdb sp!, {r4, r5, r6, r7, r8, lr}
mov r8, r0
mov r7, r1
mov r6, r2
bl func_ov60_0213fffc
ldr r1, [r8, #4]
mov r4, r0
cmp r7, r1
ldr r5, [r8, #0x18]
bge _0213e1f4
sub r0, r1, #1
cmp r7, r0
bne _0213e1e0
ldr r0, [r8]
mov r1, r4
bl func_02002c14
movs r2, r1
mla r1, r7, r4, r5
mov r0, r6
beq _0213e1d4
bl func_02007ad8
b _0213e1fc
_0213e1d4:
mov r2, r4
bl func_02007ad8
b _0213e1fc
_0213e1e0:
mla r1, r7, r4, r5
mov r0, r6
mov r2, r4
bl func_02007ad8
b _0213e1fc
_0213e1f4:
mov r0, #0
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_0213e1fc:
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, r8, pc}
arm_func_end func_ov60_0213e17c
.global func_ov60_0213e204
arm_func_start func_ov60_0213e204
func_ov60_0213e204: ; 0x0213e204
stmdb sp!, {r3, r4, r5, lr}
add r5, r0, #0x1d4
mov r4, #0x6c
mla ip, r2, r4, r5
mov r5, r1
cmp r5, #0xd
add r4, r0, #0x138
beq _0213e234
ldrb r1, [ip, #2]
ldrb r0, [ip, #3]
cmp r1, r0
ldmeqia sp!, {r3, r4, r5, pc}
_0213e234:
cmp r5, #8
bne _0213e248
ldr r0, [ip, #0x10]
cmp r0, #0x3e8
ldmloia sp!, {r3, r4, r5, pc}
_0213e248:
mov r0, #1
mov r1, #0xc
mov r0, r0, lsl r2
str r1, [r4]
strh r0, [r4, #0xa]
cmp r5, #0xd
ldrneb r0, [ip, #2]
strneb r0, [ip, #3]
ldrb r0, [ip, #2]
cmp r5, #2
strb r0, [r4, #0xd]
strh r3, [r4, #0xe]
bgt _0213e288
cmp r5, #2
beq _0213e2c0
b _0213e304
_0213e288:
sub r0, r5, #8
cmp r0, #6
addls pc, pc, r0, lsl #2
b _0213e304
_0213e298: ; jump table
b _0213e2b4 ; case 0
b _0213e304 ; case 1
b _0213e2dc ; case 2
b _0213e304 ; case 3
b _0213e304 ; case 4
b _0213e304 ; case 5
b _0213e304 ; case 6
_0213e2b4:
ldr r0, [ip, #0x10]
str r0, [r4, #0x14]
b _0213e304
_0213e2c0:
ldrsh r0, [ip, #0xa]
strh r0, [r4, #0x14]
ldrsh r0, [ip, #6]
strh r0, [r4, #0x16]
ldrsh r0, [ip, #4]
strh r0, [r4, #0x18]
b _0213e304
_0213e2dc:
ldrb r2, [ip, #0xd]
cmp r2, #9
movhi r0, #0
strhib r0, [r4, #0x1d]
bhi _0213e304
strb r2, [r4, #0x1d]
ldr r0, [ip, #0x20]
add r1, r4, #0x14
and r2, r2, #0xff
bl func_02007ad8
_0213e304:
str r5, [r4, #4]
ldr r1, [r4, #0x10]
cmp r1, #0
ldmeqia sp!, {r3, r4, r5, pc}
mov r0, r4
blx r1
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov60_0213e204
.global func_ov60_0213e320
arm_func_start func_ov60_0213e320
func_ov60_0213e320: ; 0x0213e320
stmdb sp!, {r4, lr}
mov r4, r0
add ip, r4, #0x1d4
mov r0, #0x6c
mov r3, #1
mov r3, r3, lsl r2
mov r3, r3, lsl #0x10
mov r3, r3, lsr #0x10
mla ip, r2, r0, ip
strh r3, [r4, #0xa]
ldrb r2, [ip, #2]
ldrb r0, [r4, #0xc]
cmp r0, r2
ldmneia sp!, {r4, pc}
strb r2, [r4, #0xd]
ldrh r2, [r4, #8]
tst r2, r3
beq _0213e3e8
mvn r0, r3
and r0, r2, r0
strh r0, [r4, #8]
cmp r1, #0xb
addls pc, pc, r1, lsl #2
b _0213e3c8
_0213e380: ; jump table
b _0213e3c8 ; case 0
b _0213e3c8 ; case 1
b _0213e3c8 ; case 2
b _0213e3b0 ; case 3
b _0213e3c8 ; case 4
b _0213e3c8 ; case 5
b _0213e3c8 ; case 6
b _0213e3c8 ; case 7
b _0213e3c8 ; case 8
b _0213e3c8 ; case 9
b _0213e3c8 ; case 10
b _0213e3c8 ; case 11
_0213e3b0:
ldrsh r0, [ip, #0xa]
strh r0, [r4, #0x14]
ldrsh r0, [ip, #6]
strh r0, [r4, #0x16]
ldrsh r0, [ip, #4]
strh r0, [r4, #0x18]
_0213e3c8:
str r1, [r4, #4]
mov r0, #0
strh r0, [r4, #0xe]
ldr r1, [r4, #0x10]
cmp r1, #0
beq _0213e3e8
mov r0, r4
blx r1
_0213e3e8:
ldrh r0, [r4, #8]
cmp r0, #0
moveq r0, #0
streq r0, [r4]
ldmia sp!, {r4, pc}
arm_func_end func_ov60_0213e320
.global func_ov60_0213e3fc
arm_func_start func_ov60_0213e3fc
func_ov60_0213e3fc: ; 0x0213e3fc
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #8
mov r5, r1
mov r1, #0x6c
mul r1, r5, r1
str r1, [sp]
mov r6, r0
ldr r0, [sp]
add r1, r6, #0x1d4
mov r8, #1
strb r8, [r1, r0]
add sb, r1, r0
add r0, r6, #0x1f8
movs sl, r3
str r0, [sp, #4]
mov r7, #0
mov r4, r2
addeq sp, sp, #8
moveq r0, r7
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
cmp sl, #0
ble _0213e914
mvn fp, #0
_0213e458:
cmp r8, #0xa
addls pc, pc, r8, lsl #2
b _0213e8f8
_0213e464: ; jump table
b _0213e8f8 ; case 0
b _0213e490 ; case 1
b _0213e4b0 ; case 2
b _0213e508 ; case 3
b _0213e5fc ; case 4
b _0213e624 ; case 5
b _0213e8f8 ; case 6
b _0213e6e0 ; case 7
b _0213e7d4 ; case 8
b _0213e5d0 ; case 9
b _0213e5b0 ; case 10
_0213e490:
mov r0, r4
add r1, sb, #1
mov r2, #1
bl func_02007ad8
add r4, r4, #1
add r7, r7, #1
mov r8, #2
b _0213e90c
_0213e4b0:
mov r0, r4
add r1, sb, #8
mov r2, #2
bl func_02007ad8
add r4, r4, #2
add r7, r7, #2
ldrh r8, [sb, #8]
bl func_ov60_02140134
cmp r0, fp
moveq r0, #0
beq _0213e4f0
bl func_ov60_02140134
mov r1, #1
tst r8, r1, lsl r0
movne r0, r1
moveq r0, #0
_0213e4f0:
cmp r0, #0
addeq sp, sp, #8
moveq r0, r7
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
mov r8, #3
b _0213e90c
_0213e508:
mov r0, r4
add r1, sb, #2
mov r2, #1
bl func_02007ad8
ldrb r1, [sb, #1]
add r4, r4, #1
add r7, r7, #1
cmp r1, #0xb
addls pc, pc, r1, lsl #2
b _0213e5a8
_0213e530: ; jump table
b _0213e5a8 ; case 0
b _0213e560 ; case 1
b _0213e56c ; case 2
b _0213e574 ; case 3
b _0213e5a8 ; case 4
b _0213e5a8 ; case 5
b _0213e5a8 ; case 6
b _0213e5a8 ; case 7
b _0213e5a8 ; case 8
b _0213e5a8 ; case 9
b _0213e5a0 ; case 10
b _0213e57c ; case 11
_0213e560:
add sp, sp, #8
mov r0, r7
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0213e56c:
mov r8, #5
b _0213e90c
_0213e574:
mov r8, #4
b _0213e90c
_0213e57c:
ldr r0, [r6]
cmp r0, #0xa
bne _0213e594
mov r0, r6
mov r2, r5
bl func_ov60_0213e320
_0213e594:
add sp, sp, #8
mov r0, r7
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0213e5a0:
mov r8, #0xa
b _0213e90c
_0213e5a8:
mov r8, #7
b _0213e90c
_0213e5b0:
mov r0, r4
add r1, sb, #0xd
mov r2, #1
bl func_02007ad8
add r4, r4, #1
add r7, r7, #1
mov r8, #9
b _0213e90c
_0213e5d0:
str r4, [sb, #0x20]
ldrb r1, [sb, #1]
mov r0, r6
mov r2, r5
mov r3, #0
bl func_ov60_0213e204
mov r0, #2
strb r0, [sb]
add sp, sp, #8
add r0, r7, #9
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0213e5fc:
mov r0, r4
add r1, sb, #0xa
mov r2, #2
bl func_02007ad8
ldrb r0, [sb, #1]
add r4, r4, #2
add r7, r7, #2
cmp r0, #3
moveq r8, #5
b _0213e90c
_0213e624:
mov r0, r4
add r1, sb, #6
mov r2, #2
bl func_02007ad8
add r0, r4, #2
add r1, sb, #4
mov r2, #2
bl func_02007ad8
bl func_ov60_02140134
cmp r0, #0
beq _0213e660
ldrsh r0, [sb, #4]
bl func_ov60_0214002c
ldrsh r0, [sb, #6]
bl func_ov60_0214001c
_0213e660:
ldrb r1, [sb, #1]
cmp r1, #2
beq _0213e678
cmp r1, #3
beq _0213e69c
b _0213e6c0
_0213e678:
mov r0, r6
mov r2, r5
mov r3, #0
bl func_ov60_0213e204
mov r0, #2
strb r0, [sb]
add sp, sp, #8
add r0, r7, #4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0213e69c:
ldr r0, [r6]
cmp r0, #2
bne _0213e6b4
mov r0, r6
mov r2, r5
bl func_ov60_0213e320
_0213e6b4:
add sp, sp, #8
add r0, r7, #4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0213e6c0:
mov r0, r6
mov r2, r5
mov r1, #0xf
mov r3, #3
bl func_ov60_0213e204
add sp, sp, #8
add r0, r7, #4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0213e6e0:
mov r0, r4
add r1, sb, #0x10
mov r2, #4
bl func_02007ad8
ldrb r1, [sb, #1]
add r4, r4, #4
add r7, r7, #4
cmp r1, #9
addls pc, pc, r1, lsl #2
b _0213e7bc
_0213e708: ; jump table
b _0213e7bc ; case 0
b _0213e7bc ; case 1
b _0213e7bc ; case 2
b _0213e7bc ; case 3
b _0213e7b4 ; case 4
b _0213e7b4 ; case 5
b _0213e7b4 ; case 6
b _0213e7b4 ; case 7
b _0213e730 ; case 8
b _0213e754 ; case 9
_0213e730:
mov r0, r6
mov r2, r5
mov r3, #0
bl func_ov60_0213e204
mov r1, #2
add sp, sp, #8
mov r0, r7
strb r1, [sb]
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0213e754:
ldr r0, [r6]
cmp r0, #4
bne _0213e784
ldr r1, [r6, #0x14]
ldr r0, [sb, #0x10]
cmp r1, r0
bne _0213e7a8
mov r0, r6
mov r2, r5
mov r1, #5
bl func_ov60_0213e320
b _0213e7a8
_0213e784:
cmp r0, #6
ldreq r1, [r6, #0x14]
ldreq r0, [sb, #0x10]
cmpeq r1, r0
bne _0213e7a8
mov r0, r6
mov r2, r5
mov r1, #7
bl func_ov60_0213e320
_0213e7a8:
add sp, sp, #8
mov r0, r7
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0213e7b4:
mov r8, #8
b _0213e90c
_0213e7bc:
mov r0, r6
mov r1, #0xf
mov r2, r5
mov r3, #3
bl func_ov60_0213e204
b _0213e90c
_0213e7d4:
mov r0, r4
add r1, sb, #0x14
mov r2, #4
bl func_02007ad8
ldrb r0, [sb, #1]
add r4, r4, #4
add r7, r7, #4
cmp r0, #7
addls pc, pc, r0, lsl #2
b _0213e8e0
_0213e7fc: ; jump table
b _0213e8e0 ; case 0
b _0213e8e0 ; case 1
b _0213e8e0 ; case 2
b _0213e8e0 ; case 3
b _0213e81c ; case 4
b _0213e830 ; case 5
b _0213e81c ; case 6
b _0213e830 ; case 7
_0213e81c:
mov r1, #2
add sp, sp, #8
mov r0, r7
strb r1, [sb]
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0213e830:
str r4, [sb, #0x20]
ldr r0, [r6]
cmp r0, #4
cmpne r0, #6
bne _0213e8d4
ldr r1, [sb, #0x10]
ldr r0, [r6, #0x14]
cmp r1, r0
bne _0213e8d4
mov r0, #1
mov r0, r0, lsl r5
ldrh r1, [r6, #8]
mov r0, r0, lsl #0x10
tst r1, r0, lsr #16
beq _0213e8d4
ldr r2, [sp, #4]
ldr r0, [sp]
ldr r1, [sb, #0x14]
add r0, r2, r0
bl func_ov60_0213e09c
cmp r0, #0
bne _0213e8d4
ldr r3, [sp, #4]
ldr r0, [sp]
ldr r1, [sb, #0x14]
ldr r2, [sb, #0x20]
add r0, r3, r0
bl func_ov60_0213e17c
cmp r0, #1
bne _0213e8c0
ldr r2, [sp, #4]
ldr r0, [sp]
ldr r1, [sb, #0x14]
add r0, r2, r0
bl func_ov60_0213e0bc
b _0213e8d4
_0213e8c0:
mov r0, r6
mov r2, r5
mov r1, #0xf
mov r3, #6
bl func_ov60_0213e204
_0213e8d4:
add sp, sp, #8
mov r0, r7
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0213e8e0:
mov r0, r6
mov r1, #0xf
mov r2, r5
mov r3, #3
bl func_ov60_0213e204
b _0213e90c
_0213e8f8:
mov r0, r6
mov r1, #0xf
mov r2, r5
mov r3, #4
bl func_ov60_0213e204
_0213e90c:
cmp r7, sl
blt _0213e458
_0213e914:
mov r0, r6
mov r2, r5
mov r1, #0xf
mov r3, #5
bl func_ov60_0213e204
mov r0, r7
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
arm_func_end func_ov60_0213e3fc
.global func_ov60_0213e934
arm_func_start func_ov60_0213e934
func_ov60_0213e934: ; 0x0213e934
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
sub sp, sp, #8
mov r3, #0x6c
mul r6, r1, r3
mov r8, r0
add r3, r8, #0x1d4
mov r0, #1
mov r0, r0, lsl r1
ldrb r1, [r3, r6]
mov r0, r0, lsl #0x10
mov r5, r0, lsr #0x10
add r4, r3, r6
cmp r1, #2
ldreqb r1, [r4, #1]
mov r7, r2
mov r0, #0
cmpeq r1, #2
addne sp, sp, #8
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
bl func_ov60_0213fc64
mov sl, r0
bl func_ov60_0214000c
mov sb, r0
bl func_ov60_0213fffc
str sb, [sp]
mov r1, r5
mov r2, sl, lsl #0x10
mov r3, r2, asr #0x10
str r0, [sp, #4]
mov r0, r7
ldrb r2, [r4, #2]
bl func_ov60_0213f1c8
add r1, r8, r6
mov r2, #1
strb r2, [r4]
mov r2, #0
str r2, [r1, #0x23c]
add sp, sp, #8
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
arm_func_end func_ov60_0213e934
.global func_ov60_0213e9d0
arm_func_start func_ov60_0213e9d0
func_ov60_0213e9d0: ; 0x0213e9d0
stmdb sp!, {r4, r5, r6, lr}
mov r3, #0x6c
mul r4, r1, r3
mov r5, r0
add r3, r5, #0x1d4
mov r0, #1
mov r0, r0, lsl r1
ldrb r1, [r3, r4]
add r6, r3, r4
mov r0, r0, lsl #0x10
cmp r1, #2
ldreqb r3, [r6, #1]
mov r1, r0, lsr #0x10
mov r0, #0
cmpeq r3, #8
ldmneia sp!, {r4, r5, r6, pc}
mov r0, r2
ldrb r2, [r6, #2]
ldr r3, [r6, #0x10]
bl func_ov60_0213f550
mov r1, #1
strb r1, [r6]
add r1, r5, r4
mov r2, #0
str r2, [r1, #0x23c]
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov60_0213e9d0
.global func_ov60_0213ea38
arm_func_start func_ov60_0213ea38
func_ov60_0213ea38: ; 0x0213ea38
stmdb sp!, {r4, r5, r6, lr}
mov r3, #0x6c
mul r4, r1, r3
mov r5, r0
add r3, r5, #0x1d4
mov r0, #1
mov r0, r0, lsl r1
ldrb r1, [r3, r4]
add r6, r3, r4
mov r0, r0, lsl #0x10
cmp r1, #2
ldreqb r3, [r6, #1]
mov r1, r0, lsr #0x10
mov r0, #0
cmpeq r3, #0xa
ldmneia sp!, {r4, r5, r6, pc}
mov r0, r2
ldrb r2, [r6, #2]
bl func_ov60_0213f644
mov r1, #1
strb r1, [r6]
add r1, r5, r4
mov r2, #0
str r2, [r1, #0x23c]
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov60_0213ea38
.global func_ov60_0213ea9c
arm_func_start func_ov60_0213ea9c
func_ov60_0213ea9c: ; 0x0213ea9c
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x14
mov r3, #0x6c
mul r7, r1, r3
mov sl, r0
str r1, [sp, #0xc]
add r1, sl, #0x1d4
ldrb r0, [r1, r7]
mov sb, r2
add r5, sl, #0x138
cmp r0, #2
add r6, r1, r7
mov fp, #0
bne _0213ebe4
bl func_ov60_02140134
cmp r0, #0
ldreq r8, _0213ebf0 ; =0x0000fffe
ldrb r0, [r6, #1]
movne r8, #1
cmp r0, #4
bne _0213ebe4
ldr r0, [r6, #0x10]
bl func_ov60_021400f0
str r0, [sp, #0x10]
cmp r0, #0
beq _0213ebd0
ldr r0, [r6, #0x10]
ldr r1, [r6, #0x14]
bl func_ov60_0213dec0
mov r4, r0
mvn r0, #0
cmp r4, r0
beq _0213ebd0
ldr r0, [sp, #0x10]
ldrh r0, [r0, #0x32]
cmp r0, #0
bne _0213eb68
ldr r0, [r6, #0x10]
mov r1, r4
bl func_ov60_0213df94
mov r5, r0
bl func_ov60_0214000c
stmia sp, {r4, r5}
str r0, [sp, #8]
ldrb r2, [r6, #2]
ldr r3, [r6, #0x10]
mov r0, sb
mov r1, r8
bl func_ov60_0213f2e0
mov fp, r0
b _0213ebd0
_0213eb68:
cmp r0, #1
bne _0213ebd0
ldr r0, [r6, #0x10]
str r0, [r5, #0x14]
str r4, [r5, #0x18]
bl func_ov60_0214000c
strh r0, [r5, #0x20]
mov r3, #0
ldr r2, [sp, #0xc]
mov r0, sl
str r3, [r5, #0x1c]
mov r1, #0xd
bl func_ov60_0213e204
ldr r2, [r5, #0x1c]
cmp r2, #0
beq _0213ebd0
ldr r1, [r5, #0x18]
mov r0, sb
stmia sp, {r1, r2}
ldrsh r2, [r5, #0x20]
mov r1, r8
str r2, [sp, #8]
ldrb r2, [r6, #2]
ldr r3, [r5, #0x14]
bl func_ov60_0213f2e0
mov fp, r0
_0213ebd0:
mov r0, #1
strb r0, [r6]
add r0, sl, r7
mov r1, #0
str r1, [r0, #0x23c]
_0213ebe4:
mov r0, fp
add sp, sp, #0x14
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov60_0213ea9c
_0213ebf0: .word 0x0000fffe
.global func_ov60_0213ebf4
arm_func_start func_ov60_0213ebf4
func_ov60_0213ebf4: ; 0x0213ebf4
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0xc
mov r3, #0x6c
mul r6, r1, r3
mov sb, r0
add r1, sb, #0x1d4
ldrb r0, [r1, r6]
mov r8, r2
add r5, r1, r6
cmp r0, #2
mov r4, #0
bne _0213ec9c
bl func_ov60_02140134
cmp r0, #0
ldreq r7, _0213eca8 ; =0x0000ffff
ldrb r0, [r5, #1]
movne r7, #1
cmp r0, #6
bne _0213ec9c
add r0, sb, r6
ldr r0, [r0, #0x23c]
cmp r0, #1
moveq r6, #0
beq _0213ec64
ldr r0, [r5, #0x10]
ldr r1, [r5, #0x14]
bl func_ov60_0213df94
mov r6, r0
_0213ec64:
cmp r6, #0
beq _0213ec9c
bl func_ov60_0214000c
ldr r2, [r5, #0x14]
mov r1, r7
stmia sp, {r2, r6}
str r0, [sp, #8]
ldrb r2, [r5, #2]
ldr r3, [r5, #0x10]
mov r0, r8
bl func_ov60_0213f420
mov r1, #1
mov r4, r0
strb r1, [r5]
_0213ec9c:
mov r0, r4
add sp, sp, #0xc
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov60_0213ebf4
_0213eca8: .word 0x0000ffff
.global func_ov60_0213ecac
arm_func_start func_ov60_0213ecac
func_ov60_0213ecac: ; 0x0213ecac
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0xc
mov r3, #0x6c
mul r7, r1, r3
mov r5, r0
add r1, r5, #0x1d4
ldrb r0, [r1, r7]
mov sb, r2
add r6, r1, r7
cmp r0, #2
mov r4, #0
bne _0213ed54
bl func_ov60_02140134
cmp r0, #0
ldreq r8, _0213ed60 ; =0x0000ffff
ldrb r0, [r6, #1]
movne r8, #1
cmp r0, #6
bne _0213ed54
add r4, r5, #0x23c
ldr r0, [r4, r7]
cmp r0, #1
moveq r5, #0
beq _0213ed24
ldr r0, [r6, #0x10]
ldr r1, [r6, #0x14]
bl func_ov60_0213df94
movs r5, r0
moveq r0, #1
streq r0, [r4, r7]
_0213ed24:
bl func_ov60_0214000c
ldr r2, [r6, #0x14]
mov r1, r8
stmia sp, {r2, r5}
str r0, [sp, #8]
ldrb r2, [r6, #2]
ldr r3, [r6, #0x10]
mov r0, sb
bl func_ov60_0213f420
mov r1, #1
mov r4, r0
strb r1, [r6]
_0213ed54:
mov r0, r4
add sp, sp, #0xc
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov60_0213ecac
_0213ed60: .word 0x0000ffff
.global func_ov60_0213ed64
arm_func_start func_ov60_0213ed64
func_ov60_0213ed64: ; 0x0213ed64
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr}
sub sp, sp, #4
mov r5, r0
ldr r2, [r5]
mov r4, r1
cmp r2, #0xa
mov r0, #0
addls pc, pc, r2, lsl #2
b _0213eea4
_0213ed88: ; jump table
b _0213eea4 ; case 0
b _0213eea4 ; case 1
b _0213edb4 ; case 2
b _0213eea4 ; case 3
b _0213ede0 ; case 4
b _0213eea4 ; case 5
b _0213ede0 ; case 6
b _0213eea4 ; case 7
b _0213eea4 ; case 8
b _0213eea4 ; case 9
b _0213ee88 ; case 10
_0213edb4:
bl func_ov60_0214000c
mov r6, r0
bl func_ov60_0213fffc
str r0, [sp]
ldrh r1, [r5, #8]
ldrb r2, [r5, #0xc]
mov r0, r4
mov r3, r6
bl func_ov60_0213f144
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
_0213ede0:
mov r8, r0
add sb, r5, #0x1f8
mov r7, #1
mvn r6, #0
_0213edf0:
mov sl, r7, lsl r8
ldrh r2, [r5, #8]
mov r1, sl, lsl #0x10
tst r2, r1, lsr #16
beq _0213ee70
mov r0, sb
bl func_ov60_0213e0ec
cmp r0, r6
bne _0213ee30
ldrb r2, [r5, #0xc]
mov r1, sl, lsl #0x10
ldr r3, [r5, #0x14]
mov r0, r4
mov r1, r1, lsr #0x10
bl func_ov60_0213f4dc
b _0213ee64
_0213ee30:
ldrh r1, [r5, #8]
ldr r2, [r5]
str r0, [sp]
cmp r2, #4
ldrb r2, [r5, #0xc]
bne _0213ee58
ldr r3, [r5, #0x14]
mov r0, r4
bl func_ov60_0213f25c
b _0213ee64
_0213ee58:
ldr r3, [r5, #0x14]
mov r0, r4
bl func_ov60_0213f39c
_0213ee64:
cmp r0, #0
addne sp, sp, #4
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
_0213ee70:
add r8, r8, #1
cmp r8, #0x10
add sb, sb, #0x6c
blt _0213edf0
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
_0213ee88:
ldrb r1, [r5, #0x1d]
mov r0, r4
add r3, r5, #0x14
str r1, [sp]
ldrh r1, [r5, #8]
ldrb r2, [r5, #0xc]
bl func_ov60_0213f5c4
_0213eea4:
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
arm_func_end func_ov60_0213ed64
.global func_ov60_0213eeac
arm_func_start func_ov60_0213eeac
func_ov60_0213eeac: ; 0x0213eeac
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r6, r0
ldr r0, [r6]
mov r5, r1
mov r4, #0
cmp r0, #0
movne r0, r4
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
ldr r0, [r6, #0x9c]
cmp r0, #0
moveq r0, r4
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
bl func_ov60_0213ffc4
bl func_ov60_0213ffb4
ldr r1, [r6, #0x9c]
mov r7, r0
cmp r1, #0xa
addls pc, pc, r1, lsl #2
b _0213f0d4
_0213eef8: ; jump table
b _0213f0d4 ; case 0
b _0213f0d4 ; case 1
b _0213ef24 ; case 2
b _0213f0d4 ; case 3
b _0213f000 ; case 4
b _0213f0d4 ; case 5
b _0213ef64 ; case 6
b _0213f0d4 ; case 7
b _0213f0d4 ; case 8
b _0213f0d4 ; case 9
b _0213f0a0 ; case 10
_0213ef24:
mov r1, r6
add r0, r6, #0x9c
mov r2, #0x9c
bl func_02007908
strb r7, [r6, #0xc]
bl func_ov60_0214000c
mov r4, r0
bl func_ov60_0213fffc
mov r3, r4
str r0, [sp]
mov r0, r5
ldrh r1, [r6, #8]
ldrb r2, [r6, #0xc]
bl func_ov60_0213f144
mov r4, r0
b _0213f0d4
_0213ef64:
mov r1, r6
add r0, r6, #0x9c
mov r2, #0x9c
bl func_02007908
strb r7, [r6, #0xc]
add r7, r6, #0x1f8
_0213ef7c:
ldrh r0, [r6, #8]
mov r0, r0, asr r4
tst r0, #1
beq _0213efa4
add r0, r6, r4, lsl #2
ldr r1, [r6, #0x18]
ldr r3, [r0, #0x1c]
mov r0, r7
add r2, r7, #0x1c
bl func_ov60_0213e01c
_0213efa4:
add r4, r4, #1
cmp r4, #0x10
add r7, r7, #0x6c
blt _0213ef7c
ldr r0, [r6, #0x9c]
cmp r0, #4
mov r0, #0
str r0, [sp]
bne _0213efe4
ldrh r1, [r6, #8]
ldrb r2, [r6, #0xc]
ldr r3, [r6, #0x14]
mov r0, r5
bl func_ov60_0213f25c
mov r4, r0
b _0213f0d4
_0213efe4:
ldrh r1, [r6, #8]
ldrb r2, [r6, #0xc]
ldr r3, [r6, #0x14]
mov r0, r5
bl func_ov60_0213f39c
mov r4, r0
b _0213f0d4
_0213f000:
mov r1, r6
add r0, r6, #0x9c
mov r2, #0x9c
bl func_02007908
strb r7, [r6, #0xc]
add r4, r6, #0x1f8
mov r7, #0
_0213f01c:
ldrh r0, [r6, #8]
mov r0, r0, asr r7
tst r0, #1
beq _0213f044
add r0, r6, r7, lsl #2
ldr r1, [r6, #0x18]
ldr r2, [r0, #0x5c]
ldr r3, [r0, #0x1c]
mov r0, r4
bl func_ov60_0213e01c
_0213f044:
add r7, r7, #1
cmp r7, #0x10
add r4, r4, #0x6c
blt _0213f01c
ldr r0, [r6, #0x9c]
cmp r0, #4
mov r0, #0
str r0, [sp]
bne _0213f084
ldrh r1, [r6, #8]
ldrb r2, [r6, #0xc]
ldr r3, [r6, #0x14]
mov r0, r5
bl func_ov60_0213f25c
mov r4, r0
b _0213f0d4
_0213f084:
ldrh r1, [r6, #8]
ldrb r2, [r6, #0xc]
ldr r3, [r6, #0x14]
mov r0, r5
bl func_ov60_0213f39c
mov r4, r0
b _0213f0d4
_0213f0a0:
mov r1, r6
add r0, r6, #0x9c
mov r2, #0x9c
bl func_02007908
strb r7, [r6, #0xc]
ldrb r1, [r6, #0x1d]
mov r0, r5
add r3, r6, #0x14
str r1, [sp]
ldrh r1, [r6, #8]
ldrb r2, [r6, #0xc]
bl func_ov60_0213f5c4
mov r4, r0
_0213f0d4:
mov r1, #0
mov r0, r4
str r1, [r6, #0x9c]
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end func_ov60_0213eeac
.global func_ov60_0213f0e4
arm_func_start func_ov60_0213f0e4
func_ov60_0213f0e4: ; 0x0213f0e4
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
strh r1, [sp, #2]
mov r2, #1
add r0, sp, #0
mov r1, r4
strb r2, [sp]
bl func_02007ad8
add r0, sp, #2
add r1, r4, #1
mov r2, #2
bl func_02007ad8
add r0, sp, #0x18
add r1, r4, #3
mov r2, #1
bl func_02007ad8
add r0, r4, #4
sub r0, r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, lr}
add sp, sp, #0x10
bx lr
arm_func_end func_ov60_0213f0e4
.global func_ov60_0213f144
arm_func_start func_ov60_0213f144
func_ov60_0213f144: ; 0x0213f144
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
strh r1, [sp, #2]
mov r3, #2
add r0, sp, #0
mov r1, r4
mov r2, #1
strb r3, [sp]
bl func_02007ad8
add r0, sp, #2
add r1, r4, #1
mov r2, #2
bl func_02007ad8
add r0, sp, #0x18
add r1, r4, #3
mov r2, #1
bl func_02007ad8
add r0, sp, #0x1c
add r1, r4, #4
mov r2, #2
bl func_02007ad8
add r0, sp, #0x20
add r1, r4, #6
mov r2, #2
bl func_02007ad8
add r0, r4, #8
sub r0, r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, lr}
add sp, sp, #0x10
bx lr
arm_func_end func_ov60_0213f144
.global func_ov60_0213f1c8
arm_func_start func_ov60_0213f1c8
func_ov60_0213f1c8: ; 0x0213f1c8
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
strh r1, [sp, #2]
mov r3, #3
add r0, sp, #0
mov r1, r4
mov r2, #1
strb r3, [sp]
bl func_02007ad8
add r0, sp, #2
add r1, r4, #1
mov r2, #2
bl func_02007ad8
add r0, sp, #0x18
add r1, r4, #3
mov r2, #1
bl func_02007ad8
add r0, sp, #0x1c
add r1, r4, #4
mov r2, #2
bl func_02007ad8
add r0, sp, #0x20
add r1, r4, #6
mov r2, #2
bl func_02007ad8
add r0, sp, #0x24
add r1, r4, #8
mov r2, #2
bl func_02007ad8
add r0, r4, #0xa
sub r0, r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, lr}
add sp, sp, #0x10
bx lr
arm_func_end func_ov60_0213f1c8
.global func_ov60_0213f25c
arm_func_start func_ov60_0213f25c
func_ov60_0213f25c: ; 0x0213f25c
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
strh r1, [sp, #2]
mov r3, #4
add r0, sp, #0
mov r1, r4
mov r2, #1
strb r3, [sp]
bl func_02007ad8
add r0, sp, #2
add r1, r4, #1
mov r2, #2
bl func_02007ad8
add r0, sp, #0x18
add r1, r4, #3
mov r2, #1
bl func_02007ad8
add r0, sp, #0x1c
add r1, r4, #4
mov r2, #4
bl func_02007ad8
add r0, sp, #0x20
add r1, r4, #8
mov r2, #4
bl func_02007ad8
add r0, r4, #0xc
sub r0, r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, lr}
add sp, sp, #0x10
bx lr
arm_func_end func_ov60_0213f25c
.global func_ov60_0213f2e0
arm_func_start func_ov60_0213f2e0
func_ov60_0213f2e0: ; 0x0213f2e0
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #4
mov r6, r0
strh r1, [sp, #2]
mov r3, #5
add r0, sp, #0
mov r1, r6
mov r2, #1
strb r3, [sp]
bl func_02007ad8
add r0, sp, #2
add r1, r6, #1
mov r2, #2
bl func_02007ad8
add r0, sp, #0x20
add r1, r6, #3
mov r2, #1
bl func_02007ad8
add r0, sp, #0x24
add r1, r6, #4
mov r2, #4
bl func_02007ad8
add r0, sp, #0x28
add r1, r6, #8
mov r2, #4
bl func_02007ad8
ldr r0, [sp, #0x2c]
add r5, r6, #0xc
cmp r0, #0
bne _0213f374
ldr r4, [sp, #0x30]
mov r0, r5
mov r2, r4
mov r1, #0
bl func_02007a44
b _0213f384
_0213f374:
ldr r4, [sp, #0x30]
mov r1, r5
mov r2, r4
bl func_02007ad8
_0213f384:
add r0, r5, r4
sub r0, r0, r6
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, lr}
add sp, sp, #0x10
bx lr
arm_func_end func_ov60_0213f2e0
.global func_ov60_0213f39c
arm_func_start func_ov60_0213f39c
func_ov60_0213f39c: ; 0x0213f39c
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
strh r1, [sp, #2]
mov r3, #6
add r0, sp, #0
mov r1, r4
mov r2, #1
strb r3, [sp]
bl func_02007ad8
add r0, sp, #2
add r1, r4, #1
mov r2, #2
bl func_02007ad8
add r0, sp, #0x18
add r1, r4, #3
mov r2, #1
bl func_02007ad8
add r0, sp, #0x1c
add r1, r4, #4
mov r2, #4
bl func_02007ad8
add r0, sp, #0x20
add r1, r4, #8
mov r2, #4
bl func_02007ad8
add r0, r4, #0xc
sub r0, r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, lr}
add sp, sp, #0x10
bx lr
arm_func_end func_ov60_0213f39c
.global func_ov60_0213f420
arm_func_start func_ov60_0213f420
func_ov60_0213f420: ; 0x0213f420
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #4
mov r6, r0
strh r1, [sp, #2]
mov r3, #7
add r0, sp, #0
mov r1, r6
mov r2, #1
strb r3, [sp]
bl func_02007ad8
add r0, sp, #2
add r1, r6, #1
mov r2, #2
bl func_02007ad8
add r0, sp, #0x20
add r1, r6, #3
mov r2, #1
bl func_02007ad8
add r0, sp, #0x24
add r1, r6, #4
mov r2, #4
bl func_02007ad8
add r0, sp, #0x28
add r1, r6, #8
mov r2, #4
bl func_02007ad8
ldr r0, [sp, #0x2c]
add r5, r6, #0xc
cmp r0, #0
bne _0213f4b4
ldr r4, [sp, #0x30]
mov r0, r5
mov r2, r4
mov r1, #0
bl func_02007a44
b _0213f4c4
_0213f4b4:
ldr r4, [sp, #0x30]
mov r1, r5
mov r2, r4
bl func_02007ad8
_0213f4c4:
add r0, r5, r4
sub r0, r0, r6
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, lr}
add sp, sp, #0x10
bx lr
arm_func_end func_ov60_0213f420
.global func_ov60_0213f4dc
arm_func_start func_ov60_0213f4dc
func_ov60_0213f4dc: ; 0x0213f4dc
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
strh r1, [sp, #2]
mov r3, #8
add r0, sp, #0
mov r1, r4
mov r2, #1
strb r3, [sp]
bl func_02007ad8
add r0, sp, #2
add r1, r4, #1
mov r2, #2
bl func_02007ad8
add r0, sp, #0x18
add r1, r4, #3
mov r2, #1
bl func_02007ad8
add r0, sp, #0x1c
add r1, r4, #4
mov r2, #4
bl func_02007ad8
add r0, r4, #8
sub r0, r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, lr}
add sp, sp, #0x10
bx lr
arm_func_end func_ov60_0213f4dc
.global func_ov60_0213f550
arm_func_start func_ov60_0213f550
func_ov60_0213f550: ; 0x0213f550
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
strh r1, [sp, #2]
mov r3, #9
add r0, sp, #0
mov r1, r4
mov r2, #1
strb r3, [sp]
bl func_02007ad8
add r0, sp, #2
add r1, r4, #1
mov r2, #2
bl func_02007ad8
add r0, sp, #0x18
add r1, r4, #3
mov r2, #1
bl func_02007ad8
add r0, sp, #0x1c
add r1, r4, #4
mov r2, #4
bl func_02007ad8
add r0, r4, #8
sub r0, r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, lr}
add sp, sp, #0x10
bx lr
arm_func_end func_ov60_0213f550
.global func_ov60_0213f5c4
arm_func_start func_ov60_0213f5c4
func_ov60_0213f5c4: ; 0x0213f5c4
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
strh r1, [sp, #2]
mov ip, #0xa
add r0, sp, #0
mov r1, r5
mov r2, #1
mov r4, r3
strb ip, [sp]
bl func_02007ad8
add r0, sp, #2
add r1, r5, #1
mov r2, #2
bl func_02007ad8
add r0, sp, #0x18
add r1, r5, #3
mov r2, #1
bl func_02007ad8
add r0, sp, #0x20
add r1, r5, #4
mov r2, #1
bl func_02007ad8
mov r0, r4
add r1, r5, #5
mov r2, #9
bl func_02007ad8
add r0, r5, #0xe
sub r0, r0, r5
ldmia sp!, {r3, r4, r5, lr}
add sp, sp, #0x10
bx lr
arm_func_end func_ov60_0213f5c4
.global func_ov60_0213f644
arm_func_start func_ov60_0213f644
func_ov60_0213f644: ; 0x0213f644
stmdb sp!, {r0, r1, r2, r3}
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
strh r1, [sp, #2]
mov r3, #0xb
add r0, sp, #0
mov r1, r4
mov r2, #1
strb r3, [sp]
bl func_02007ad8
add r0, sp, #2
add r1, r4, #1
mov r2, #2
bl func_02007ad8
add r0, sp, #0x18
add r1, r4, #3
mov r2, #1
bl func_02007ad8
add r0, r4, #4
sub r0, r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, lr}
add sp, sp, #0x10
bx lr
arm_func_end func_ov60_0213f644
.global func_ov60_0213f6a8
arm_func_start func_ov60_0213f6a8
func_ov60_0213f6a8: ; 0x0213f6a8
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
mov r7, r0
mov r6, r1
bl func_ov60_0214003c
ldr r8, _0213f828 ; =data_ov60_0214770c
mov r5, r0
ldr r4, [r8]
mov sb, #1
_0213f6c8:
add r4, r4, #1
cmp r4, #0xf
movgt r4, sb
mov r0, r5
mov r1, r4
mov r2, r7
mov r3, r6
bl func_ov60_0213ea38
cmp r0, #0
ldrne r1, _0213f828 ; =data_ov60_0214770c
strne r4, [r1]
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov r0, r5
mov r1, r4
mov r2, r7
mov r3, r6
bl func_ov60_0213e934
cmp r0, #0
ldrne r1, _0213f828 ; =data_ov60_0214770c
strne r4, [r1]
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov r0, r5
mov r1, r4
mov r2, r7
mov r3, r6
bl func_ov60_0213ebf4
cmp r0, #0
ldrne r1, _0213f828 ; =data_ov60_0214770c
strne r4, [r1]
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov r0, r5
mov r1, r4
mov r2, r7
mov r3, r6
bl func_ov60_0213e9d0
cmp r0, #0
ldrne r1, _0213f828 ; =data_ov60_0214770c
strne r4, [r1]
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
ldr r0, [r8]
cmp r4, r0
bne _0213f6c8
mov r0, r5
mov r1, r7
mov r2, r6
bl func_ov60_0213ed64
cmp r0, #0
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov r0, r5
mov r1, r7
mov r2, r6
bl func_ov60_0213eeac
cmp r0, #0
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
ldr r8, _0213f828 ; =data_ov60_0214770c
mov sb, #1
ldr r4, [r8]
_0213f7ac:
add r4, r4, #1
cmp r4, #0xf
movgt r4, sb
mov r0, r5
mov r1, r4
mov r2, r7
mov r3, r6
bl func_ov60_0213ea9c
cmp r0, #0
ldrne r1, _0213f828 ; =data_ov60_0214770c
strne r4, [r1]
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
ldr r0, [r8]
cmp r4, r0
bne _0213f7ac
mov r4, #1
_0213f7ec:
mov r0, r5
mov r1, r4
mov r2, r7
mov r3, r6
bl func_ov60_0213ecac
cmp r0, #0
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
add r4, r4, #1
cmp r4, #0x10
blt _0213f7ec
ldr r1, _0213f82c ; =0x0000fffe
mov r0, r7
mov r2, #0
bl func_ov60_0213f0e4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov60_0213f6a8
_0213f828: .word data_ov60_0214770c
_0213f82c: .word 0x0000fffe
.global func_ov60_0213f830
arm_func_start func_ov60_0213f830
func_ov60_0213f830: ; 0x0213f830
stmdb sp!, {r4, r5, r6, lr}
mov r4, r2
mov r6, r0
mov r5, r1
cmp r4, #0
ldmleia sp!, {r4, r5, r6, pc}
bl func_ov60_0214003c
mov r1, r6
mov r2, r5
mov r3, r4
bl func_ov60_0213e3fc
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov60_0213f830
.global func_ov60_0213f860
arm_func_start func_ov60_0213f860
func_ov60_0213f860: ; 0x0213f860
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
bl func_ov60_0214003c
mov r2, r5
mov r3, r4
mov r1, #0
bl func_ov60_0213e3fc
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov60_0213f860
.global func_ov60_0213f884
arm_func_start func_ov60_0213f884
func_ov60_0213f884: ; 0x0213f884
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
mov r5, r1
bl func_ov60_0214003c
mov r2, r6
mov r3, r5
mov r1, #0
mov r4, r0
bl func_ov60_0213ea38
cmp r0, #0
ldmneia sp!, {r4, r5, r6, pc}
mov r0, r4
mov r2, r6
mov r3, r5
mov r1, #0
bl func_ov60_0213e934
cmp r0, #0
ldmneia sp!, {r4, r5, r6, pc}
mov r0, r4
mov r2, r6
mov r3, r5
mov r1, #0
bl func_ov60_0213ebf4
cmp r0, #0
ldmneia sp!, {r4, r5, r6, pc}
mov r0, r4
mov r2, r6
mov r3, r5
mov r1, #0
bl func_ov60_0213e9d0
cmp r0, #0
ldmneia sp!, {r4, r5, r6, pc}
mov r0, r4
mov r2, r6
mov r3, r5
mov r1, #0
bl func_ov60_0213ea9c
cmp r0, #0
ldmneia sp!, {r4, r5, r6, pc}
mov r0, r4
mov r2, r6
mov r3, r5
mov r1, #0
bl func_ov60_0213ecac
cmp r0, #0
ldmneia sp!, {r4, r5, r6, pc}
mov r0, r4
mov r1, r6
mov r2, r5
bl func_ov60_0213ed64
cmp r0, #0
ldmneia sp!, {r4, r5, r6, pc}
mov r0, r4
mov r1, r6
mov r2, r5
bl func_ov60_0213eeac
cmp r0, #0
ldmneia sp!, {r4, r5, r6, pc}
ldr r1, _0213f980 ; =0x0000ffff
mov r0, r6
mov r2, #0
bl func_ov60_0213f0e4
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov60_0213f884
_0213f980: .word 0x0000ffff
.global func_ov60_0213f984
arm_func_start func_ov60_0213f984
func_ov60_0213f984: ; 0x0213f984
stmdb sp!, {r4, r5, r6, r7, lr}
sub sp, sp, #0x9c
mov r7, r0
mov r6, r1
mov r5, r2
bl func_0200ee4c
ldr r1, _0213fa4c ; =data_ov60_021477e0
mov r4, r0
ldr r2, [r1]
cmp r2, #1
bne _0213f9bc
bl func_0200ee60
add sp, sp, #0x9c
ldmia sp!, {r4, r5, r6, r7, pc}
_0213f9bc:
mov r2, #1
mov r0, #0
str r2, [r1]
bl func_ov60_02140124
mov r0, #0
bl func_ov60_021400e0
bl func_ov60_0214003c
mov r2, #0
str r2, [r0]
strh r2, [r0, #8]
strh r2, [r0, #0xa]
str r2, [r0, #0x10]
str r2, [r0, #0x138]
add r1, r0, #0x100
strh r2, [r1, #0x40]
strh r2, [r1, #0x42]
str r5, [r0, #0x148]
mov r1, r2
_0213fa04:
strb r1, [r0, #0x1d7]
add r2, r2, #1
str r1, [r0, #0x23c]
cmp r2, #0x10
add r0, r0, #0x6c
blt _0213fa04
add r0, sp, #0
str r1, [sp]
bl func_ov60_02140054
bl func_ov60_0213ffe8
sub r0, r7, #0xe
bl func_ov60_0214002c
sub r0, r6, #0xe
bl func_ov60_0214001c
mov r0, r4
bl func_0200ee60
add sp, sp, #0x9c
ldmia sp!, {r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov60_0213f984
_0213fa4c: .word data_ov60_021477e0
.global func_ov60_0213fa50
arm_func_start func_ov60_0213fa50
func_ov60_0213fa50: ; 0x0213fa50
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x9c
bl func_0200ee4c
ldr r1, _0213fb0c ; =data_ov60_021477e0
mov r4, r0
ldr r2, [r1]
cmp r2, #0
bne _0213fa7c
bl func_0200ee60
add sp, sp, #0x9c
ldmia sp!, {r3, r4, pc}
_0213fa7c:
mov r2, #0
sub r0, r2, #1
str r2, [r1]
bl func_ov60_02140124
mov r0, #0
bl func_ov60_021400e0
bl func_ov60_0214003c
mov r2, #0
str r2, [r0]
strh r2, [r0, #8]
strh r2, [r0, #0xa]
str r2, [r0, #0x10]
str r2, [r0, #0x138]
add r1, r0, #0x100
strh r2, [r1, #0x40]
strh r2, [r1, #0x42]
str r2, [r0, #0x148]
mov r1, r2
_0213fac4:
strb r1, [r0, #0x1d7]
add r2, r2, #1
str r1, [r0, #0x23c]
cmp r2, #0x10
add r0, r0, #0x6c
blt _0213fac4
add r0, sp, #0
str r1, [sp]
bl func_ov60_02140054
bl func_ov60_0213ffe8
mvn r0, #0
bl func_ov60_0214002c
mvn r0, #0
bl func_ov60_0214001c
mov r0, r4
bl func_0200ee60
add sp, sp, #0x9c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov60_0213fa50
_0213fb0c: .word data_ov60_021477e0
.global func_ov60_0213fb10
arm_func_start func_ov60_0213fb10
func_ov60_0213fb10: ; 0x0213fb10
stmdb sp!, {r3, lr}
cmp r1, #0
mov r2, #0
ble _0213fb34
cmp r0, #0
beq _0213fb34
bl func_ov60_0213f6a8
mov r0, r0, lsl #0x10
mov r2, r0, lsr #0x10
_0213fb34:
mov r0, r2
ldmia sp!, {r3, pc}
arm_func_end func_ov60_0213fb10
.global func_ov60_0213fb3c
arm_func_start func_ov60_0213fb3c
func_ov60_0213fb3c: ; 0x0213fb3c
stmdb sp!, {r3, lr}
mov r3, r1
movs ip, r0
cmpne r3, #0
ldrne r0, _0213fb6c ; =0x0000ffff
cmpne r3, r0
ldmeqia sp!, {r3, pc}
mov r0, r2
mov r1, ip
mov r2, r3
bl func_ov60_0213f830
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_0213fb3c
_0213fb6c: .word 0x0000ffff
.global func_ov60_0213fb70
arm_func_start func_ov60_0213fb70
func_ov60_0213fb70: ; 0x0213fb70
stmdb sp!, {r3, lr}
cmp r1, #0
ldmleia sp!, {r3, pc}
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov60_0213f884
ldmia sp!, {r3, pc}
arm_func_end func_ov60_0213fb70
.global func_ov60_0213fb8c
arm_func_start func_ov60_0213fb8c
func_ov60_0213fb8c: ; 0x0213fb8c
stmdb sp!, {r3, lr}
cmp r0, #0
cmpne r1, #0
ldrne r2, _0213fbac ; =0x0000ffff
cmpne r1, r2
ldmeqia sp!, {r3, pc}
bl func_ov60_0213f860
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_0213fb8c
_0213fbac: .word 0x0000ffff
.global func_ov60_0213fbb0
arm_func_start func_ov60_0213fbb0
func_ov60_0213fbb0: ; 0x0213fbb0
mov r2, #0
_0213fbb4:
mov r1, r0, asr r2
tst r1, #1
movne r0, r2
bxne lr
add r2, r2, #1
cmp r2, #0x10
blt _0213fbb4
mvn r0, #0
bx lr
arm_func_end func_ov60_0213fbb0
.global func_ov60_0213fbd8
arm_func_start func_ov60_0213fbd8
func_ov60_0213fbd8: ; 0x0213fbd8
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
bl func_ov60_0213fffc
mov r4, r0
mov r0, r6
mov r1, r4
bl func_02002c14
cmp r1, #0
movne r5, #1
moveq r5, #0
mov r0, r6
mov r1, r4
bl func_02002c14
add r0, r0, r5
tst r0, #0x1f
movne r1, #1
moveq r1, #0
add r0, r1, r0, asr #5
mov r0, r0, lsl #0x2
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov60_0213fbd8
.global func_ov60_0213fc28
arm_func_start func_ov60_0213fc28
func_ov60_0213fc28: ; 0x0213fc28
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
bl func_ov60_0214003c
ldr r0, [r0]
cmp r0, #4
cmpne r0, #6
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
sub r0, r5, #0xe
bl func_ov60_0214002c
sub r0, r4, #0xe
bl func_ov60_0214001c
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov60_0213fc28
.global func_ov60_0213fc64
arm_func_start func_ov60_0213fc64
func_ov60_0213fc64: ; 0x0213fc64
stmdb sp!, {r4, lr}
mov r4, #0
bl func_ov60_021400d0
cmp r0, #0
beq _0213fc88
_0213fc78:
ldr r0, [r0, #0x28]
add r4, r4, #1
cmp r0, #0
bne _0213fc78
_0213fc88:
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov60_0213fc64
.global func_ov60_0213fc90
arm_func_start func_ov60_0213fc90
func_ov60_0213fc90: ; 0x0213fc90
stmdb sp!, {r4, r5, r6, r7, r8, lr}
mov r7, r0
mov r6, r1
mov r5, r2
mov r8, r3
bl func_0200ee4c
mov r4, r0
bl func_ov60_021400d0
cmp r0, #0
bne _0213fcc4
mov r0, r7
bl func_ov60_021400e0
b _0213fce8
_0213fcc4:
bl func_ov60_021400d0
ldr r1, [r0, #0x28]
cmp r1, #0
beq _0213fce4
_0213fcd4:
mov r0, r1
ldr r1, [r1, #0x28]
cmp r1, #0
bne _0213fcd4
_0213fce4:
str r7, [r0, #0x28]
_0213fce8:
cmp r8, #0
moveq r0, #1
strne r8, [r7, #0x2c]
movne r0, #0
strh r0, [r7, #0x32]
mov r1, #0
str r1, [r7, #0x28]
ldr r2, [sp, #0x18]
str r6, [r7]
str r2, [r7, #4]
ldrh r0, [sp, #0x1c]
cmp r5, #0
mov r2, #0x20
strh r0, [r7, #0x30]
beq _0213fd34
mov r0, r5
add r1, r7, #8
bl func_02007ad8
b _0213fd3c
_0213fd34:
add r0, r7, #8
bl func_02007a44
_0213fd3c:
mov r0, r4
bl func_0200ee60
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, r8, pc}
arm_func_end func_ov60_0213fc90
.global func_ov60_0213fd4c
arm_func_start func_ov60_0213fd4c
func_ov60_0213fd4c: ; 0x0213fd4c
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
bl func_0200ee4c
mov r5, r0
bl func_ov60_021400d0
movs r4, r0
bne _0213fd78
mov r0, r5
bl func_0200ee60
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0213fd78:
ldr r0, [r4]
cmp r0, r7
bne _0213fd9c
ldr r0, [r4, #0x28]
bl func_ov60_021400e0
mov r0, r5
bl func_0200ee60
mov r0, r4
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0213fd9c:
ldr r6, [r4, #0x28]
cmp r6, #0
beq _0213fddc
_0213fda8:
ldr r0, [r6]
cmp r0, r7
bne _0213fdcc
ldr r1, [r6, #0x28]
mov r0, r5
str r1, [r4, #0x28]
bl func_0200ee60
mov r0, r6
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0213fdcc:
mov r4, r6
ldr r6, [r6, #0x28]
cmp r6, #0
bne _0213fda8
_0213fddc:
mov r0, r5
bl func_0200ee60
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end func_ov60_0213fd4c
.global func_ov60_0213fdec
arm_func_start func_ov60_0213fdec
func_ov60_0213fdec: ; 0x0213fdec
stmdb sp!, {lr}
sub sp, sp, #0x9c
strh r0, [sp, #8]
mov r2, #2
add r0, sp, #0
str r2, [sp]
str r1, [sp, #0x10]
bl func_ov60_02140054
add sp, sp, #0x9c
ldmia sp!, {pc}
arm_func_end func_ov60_0213fdec
.global func_ov60_0213fe14
arm_func_start func_ov60_0213fe14
func_ov60_0213fe14: ; 0x0213fe14
stmdb sp!, {lr}
sub sp, sp, #0x9c
str r1, [sp, #0x14]
strh r0, [sp, #8]
mov r0, r2
mov lr, #6
mov ip, #0x28
add r1, sp, #0x1c
mov r2, #0x40
str lr, [sp]
str r3, [sp, #0x10]
str ip, [sp, #0x18]
bl func_02007908
add r0, sp, #0
bl func_ov60_02140054
add sp, sp, #0x9c
ldmia sp!, {pc}
arm_func_end func_ov60_0213fe14
.global func_ov60_0213fe58
arm_func_start func_ov60_0213fe58
func_ov60_0213fe58: ; 0x0213fe58
stmdb sp!, {lr}
sub sp, sp, #0x9c
ldr ip, [sp, #0xa4]
str r1, [sp, #0x14]
strh r0, [sp, #8]
mov r0, r2
mov lr, #4
add r1, sp, #0x1c
mov r2, #0x40
str lr, [sp]
str ip, [sp, #0x10]
str r3, [sp, #0x18]
bl func_02007908
ldr r0, [sp, #0xa0]
add r1, sp, #0x5c
mov r2, #0x40
bl func_02007908
add r0, sp, #0
bl func_ov60_02140054
add sp, sp, #0x9c
ldmia sp!, {pc}
arm_func_end func_ov60_0213fe58
.global func_ov60_0213feac
arm_func_start func_ov60_0213feac
func_ov60_0213feac: ; 0x0213feac
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x9c
movs r4, r2
bmi _0213fec4
cmp r4, #9
ble _0213fed0
_0213fec4:
add sp, sp, #0x9c
mov r0, #0
ldmia sp!, {r3, r4, pc}
_0213fed0:
strh r0, [sp, #8]
mov r0, r1
mov ip, #0xa
add r1, sp, #0x14
str ip, [sp]
str r3, [sp, #0x10]
bl func_02007ad8
add r0, sp, #0
strb r4, [sp, #0x1d]
bl func_ov60_02140054
add sp, sp, #0x9c
ldmia sp!, {r3, r4, pc}
arm_func_end func_ov60_0213feac
.global func_ov60_0213ff00
arm_func_start func_ov60_0213ff00
func_ov60_0213ff00: ; 0x0213ff00
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
mov sb, r0
mov r7, #0
bl func_0200ee4c
ldr r1, _0213ffb0 ; =data_ov60_021477e0
mov r5, r0
ldr r0, [r1]
cmp r0, #1
bne _0213ffa0
bl func_ov60_0214003c
mov r8, r0
ldr r0, [r8]
cmp r0, #0
beq _0213ffa0
mov r6, r7
mov sl, #0x10
mov r4, #1
_0213ff44:
mov r0, r4, lsl r6
mov r1, r0, lsl #0x10
ldrh r2, [r8, #8]
mov r0, r1, lsr #0x10
and r1, r2, r1, lsr #16
tst sb, r1
beq _0213ff8c
mvn r1, r0
and r1, r2, r1
strh r1, [r8, #8]
str sl, [r8, #4]
strh r0, [r8, #0xa]
ldr r1, [r8, #0x10]
mov r7, r4
cmp r1, #0
beq _0213ff8c
mov r0, r8
blx r1
_0213ff8c:
add r6, r6, #1
cmp r6, #0x10
blt _0213ff44
mov r0, #0
str r0, [r8]
_0213ffa0:
mov r0, r5
bl func_0200ee60
mov r0, r7
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
arm_func_end func_ov60_0213ff00
_0213ffb0: .word data_ov60_021477e0
.global func_ov60_0213ffb4
arm_func_start func_ov60_0213ffb4
func_ov60_0213ffb4: ; 0x0213ffb4
ldr r0, _0213ffc0 ; =data_ov60_021477e4
ldrb r0, [r0]
bx lr
.align 2, 0
arm_func_end func_ov60_0213ffb4
_0213ffc0: .word data_ov60_021477e4
.global func_ov60_0213ffc4
arm_func_start func_ov60_0213ffc4
func_ov60_0213ffc4: ; 0x0213ffc4
ldr r0, _0213ffe4 ; =data_ov60_021477e4
ldrb r1, [r0]
add r1, r1, #1
strb r1, [r0]
ands r1, r1, #0xff
addeq r1, r1, #1
streqb r1, [r0]
bx lr
.align 2, 0
arm_func_end func_ov60_0213ffc4
_0213ffe4: .word data_ov60_021477e4
.global func_ov60_0213ffe8
arm_func_start func_ov60_0213ffe8
func_ov60_0213ffe8: ; 0x0213ffe8
ldr r0, _0213fff8 ; =data_ov60_021477e4
mov r1, #0
strb r1, [r0]
bx lr
.align 2, 0
arm_func_end func_ov60_0213ffe8
_0213fff8: .word data_ov60_021477e4
.global func_ov60_0213fffc
arm_func_start func_ov60_0213fffc
func_ov60_0213fffc: ; 0x0213fffc
ldr r0, _02140008 ; =data_ov60_021477e4
ldrsh r0, [r0, #2]
bx lr
.align 2, 0
arm_func_end func_ov60_0213fffc
_02140008: .word data_ov60_021477e4
.global func_ov60_0214000c
arm_func_start func_ov60_0214000c
func_ov60_0214000c: ; 0x0214000c
ldr r0, _02140018 ; =data_ov60_021477e4
ldrsh r0, [r0, #4]
bx lr
.align 2, 0
arm_func_end func_ov60_0214000c
_02140018: .word data_ov60_021477e4
.global func_ov60_0214001c
arm_func_start func_ov60_0214001c
func_ov60_0214001c: ; 0x0214001c
ldr r1, _02140028 ; =data_ov60_021477e4
strh r0, [r1, #2]
bx lr
.align 2, 0
arm_func_end func_ov60_0214001c
_02140028: .word data_ov60_021477e4
.global func_ov60_0214002c
arm_func_start func_ov60_0214002c
func_ov60_0214002c: ; 0x0214002c
ldr r1, _02140038 ; =data_ov60_021477e4
strh r0, [r1, #4]
bx lr
.align 2, 0
arm_func_end func_ov60_0214002c
_02140038: .word data_ov60_021477e4
.global func_ov60_0214003c
arm_func_start func_ov60_0214003c
func_ov60_0214003c: ; 0x0214003c
ldr r0, _02140044 ; =data_ov60_021477f0
bx lr
.align 2, 0
arm_func_end func_ov60_0214003c
_02140044: .word data_ov60_021477f0
.global func_ov60_02140048
arm_func_start func_ov60_02140048
func_ov60_02140048: ; 0x02140048
ldr r0, _02140050 ; =data_ov60_0214788c
bx lr
.align 2, 0
arm_func_end func_ov60_02140048
_02140050: .word data_ov60_0214788c
.global func_ov60_02140054
arm_func_start func_ov60_02140054
func_ov60_02140054: ; 0x02140054
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
bl func_0200ee4c
ldr r1, _021400c8 ; =data_ov60_021477e0
mov r4, r0
ldr r1, [r1]
cmp r1, #1
beq _02140080
bl func_0200ee60
mov r0, #0
ldmia sp!, {r3, r4, r5, pc}
_02140080:
bl func_ov60_02140048
cmp r0, #0
beq _02140098
ldr r0, [r0]
cmp r0, #0
beq _021400a8
_02140098:
mov r0, r4
bl func_0200ee60
mov r0, #0
ldmia sp!, {r3, r4, r5, pc}
_021400a8:
ldr r1, _021400cc ; =data_ov60_0214788c
mov r0, r5
mov r2, #0x9c
bl func_02007908
mov r0, r4
bl func_0200ee60
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov60_02140054
_021400c8: .word data_ov60_021477e0
_021400cc: .word data_ov60_0214788c
.global func_ov60_021400d0
arm_func_start func_ov60_021400d0
func_ov60_021400d0: ; 0x021400d0
ldr r0, _021400dc ; =data_ov60_021477e4
ldr r0, [r0, #8]
bx lr
.align 2, 0
arm_func_end func_ov60_021400d0
_021400dc: .word data_ov60_021477e4
.global func_ov60_021400e0
arm_func_start func_ov60_021400e0
func_ov60_021400e0: ; 0x021400e0
ldr r1, _021400ec ; =data_ov60_021477e4
str r0, [r1, #8]
bx lr
.align 2, 0
arm_func_end func_ov60_021400e0
_021400ec: .word data_ov60_021477e4
.global func_ov60_021400f0
arm_func_start func_ov60_021400f0
func_ov60_021400f0: ; 0x021400f0
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_021400d0
cmp r0, #0
beq _0214011c
_02140104:
ldr r1, [r0]
cmp r1, r4
ldmeqia sp!, {r4, pc}
ldr r0, [r0, #0x28]
cmp r0, #0
bne _02140104
_0214011c:
mov r0, #0
ldmia sp!, {r4, pc}
arm_func_end func_ov60_021400f0
.global func_ov60_02140124
arm_func_start func_ov60_02140124
func_ov60_02140124: ; 0x02140124
ldr r1, _02140130 ; =data_ov60_02147710
str r0, [r1]
bx lr
.align 2, 0
arm_func_end func_ov60_02140124
_02140130: .word data_ov60_02147710
.global func_ov60_02140134
arm_func_start func_ov60_02140134
func_ov60_02140134: ; 0x02140134
ldr r0, _02140140 ; =data_ov60_02147710
ldr r0, [r0]
bx lr
.align 2, 0
arm_func_end func_ov60_02140134
_02140140: .word data_ov60_02147710
.global func_ov60_02140144
arm_func_start func_ov60_02140144
func_ov60_02140144: ; 0x02140144
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r4, r2
mov r2, #0xe0
mul r6, r4, r2
mov r5, r0
strb r1, [r5]
mov r2, #0
strb r2, [r5, #1]
strb r4, [r5, #2]
mov r0, r6
mov r1, #0x20
str r2, [r5, #0xc]
bl func_ov60_02144c60
mov r1, #0x2c
str r0, [r5, #4]
mul r0, r4, r1
mov r1, #0x20
bl func_ov60_02144c60
str r0, [r5, #8]
ldr r1, [r5, #4]
mov r2, r6
mov r0, #0
bl func_02007938
ldr r0, [r5, #4]
mov r1, r6
bl func_0200e2a4
mov r6, #0
cmp r4, #0
ldmleia sp!, {r3, r4, r5, r6, r7, pc}
mov r7, r6
_021401bc:
ldr r0, [r5, #8]
add r0, r0, r7
bl func_0200ea6c
add r6, r6, #1
cmp r6, r4
add r7, r7, #0x2c
blt _021401bc
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end func_ov60_02140144
.global func_ov60_021401dc
arm_func_start func_ov60_021401dc
func_ov60_021401dc: ; 0x021401dc
stmdb sp!, {r4, lr}
mov r4, r0
mov r0, #0
strb r0, [r4, #1]
strb r0, [r4, #2]
ldrb r0, [r4]
add r0, r0, #0x80
bl func_0200eda4
ldr r0, [r4, #8]
bl func_ov60_02144c94
ldr r0, [r4, #4]
bl func_ov60_02144c94
ldmia sp!, {r4, pc}
arm_func_end func_ov60_021401dc
.global func_ov60_02140210
arm_func_start func_ov60_02140210
func_ov60_02140210: ; 0x02140210
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
ldrh r4, [sp, #0x28]
mov sl, r0
ldrb r0, [sl, #1]
cmp r4, #0xff
movhi r4, #0xff
mov sb, r1
mov r8, r2
mov r7, r3
and r4, r4, #0xff
cmp r0, #0
beq _021403dc
ldrb r0, [sl, #2]
mov r6, #0
cmp r0, #0
ble _021403dc
mov r5, r6
_02140254:
ldr r1, [sl, #4]
ldrh r0, [r1, r5]
add r2, r1, r5
cmp r0, #1
bne _021403c8
mov r1, r8
add r0, r2, #2
bl func_ov60_0214289c
cmp r0, #0
bne _021403c8
ldr r1, [sl, #8]
mov r0, #0x2c
mla r0, r6, r0, r1
bl func_0200ec14
bl func_0200ee4c
mov r1, #0xe0
mul r2, r6, r1
ldr r1, [sl, #4]
ldr r8, _02140540 ; =0x2aaaaaab
add r1, r1, r2
strh r7, [r1, #8]
ldr r1, [sl, #4]
mov r5, r0
add r1, r1, #0xb
ldrb r7, [r1, r2]
mov fp, #6
mov r3, #0
add r0, r7, #1
and r0, r0, #0xff
smull r7, ip, r8, r0
add ip, ip, r0, lsr #31
smull r7, r8, fp, ip
sub ip, r0, r7
and r7, ip, #0xff
strb r7, [r1, r2]
ldr r0, [sl, #4]
mov r1, r3
add r0, r0, r2
add r0, r0, r7
strb r4, [r0, #0xc]
ldr r7, [sl, #4]
add r2, r7, r2
_021402fc:
ldrb r0, [r2, #0xc]
add r1, r1, #1
cmp r1, #6
add r3, r3, r0
add r2, r2, #1
blt _021402fc
mov r0, #0xe0
mul r4, r6, r0
ldr r1, _02140540 ; =0x2aaaaaab
add r2, r7, r4
smull r0, r7, r1, r3
add r7, r7, r3, lsr #31
strb r7, [r2, #0xa]
ldr r1, [sl, #4]
ldr r0, [sp, #0x2c]
add r1, r1, r4
add r1, r1, #0x20
mov r2, #0xc0
bl func_02007984
ldr r0, [sl, #4]
mov r1, #0xc0
add r0, r0, r4
add r0, r0, #0x20
bl func_0200e2a4
mov r0, r5
bl func_0200ee60
mov r0, #0x2c
mul r5, r6, r0
ldr r0, [sl, #4]
mov r6, #0
add r0, r0, r4
ldr r1, _02140544 ; =0x000082ea
str r0, [sp]
ldr r0, [sl, #8]
mov r2, r6
umull r7, r4, sb, r1
mla r4, sb, r2, r4
mla r4, r6, r1, r4
mov r1, r7, lsr #0x6
ldr r3, _02140548 ; =func_ov60_0214054c
add r0, r0, r5
mov r2, r4, lsr #0x6
orr r1, r1, r4, lsl #26
bl func_0200eba8
ldrb r1, [sl]
ldr r0, [sl, #8]
add r0, r0, r5
add r1, r1, #0x80
bl func_0200ed9c
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_021403c8:
ldrb r0, [sl, #2]
add r6, r6, #1
add r5, r5, #0xe0
cmp r6, r0
blt _02140254
_021403dc:
ldrb r0, [sl, #2]
mov r6, #0
cmp r0, #0
ble _02140538
ldr r5, [sl, #4]
_021403f0:
ldrh r0, [r5]
cmp r0, #0
bne _02140524
bl func_0200ee4c
ldrb r3, [sl, #1]
mov r2, #1
mov r1, #0
add r3, r3, #1
strb r3, [sl, #1]
strh r2, [r5]
ldrb r2, [r8]
mov fp, r0
strb r2, [r5, #2]
ldrb r0, [r8, #1]
strb r0, [r5, #3]
ldrb r0, [r8, #2]
strb r0, [r5, #4]
ldrb r0, [r8, #3]
strb r0, [r5, #5]
ldrb r0, [r8, #4]
strb r0, [r5, #6]
ldrb r0, [r8, #5]
strb r0, [r5, #7]
strh r7, [r5, #8]
str sl, [r5, #0x14]
strb r1, [r5, #0xb]
_02140458:
add r0, r5, r1
add r1, r1, #1
strb r4, [r0, #0xc]
cmp r1, #6
blt _02140458
ldr r0, [sp, #0x2c]
add r1, r5, #0x20
mov r2, #0xc0
strb r4, [r5, #0xa]
bl func_02007984
add r0, r5, #0x20
mov r1, #0xc0
bl func_0200e2a4
mov r0, fp
bl func_0200ee60
mov r0, #0x2c
mul r4, r6, r0
ldr r0, [sl, #8]
add r0, r0, r4
bl func_0200ec14
mov r0, #0xe0
mul r5, r6, r0
mov r6, #0
ldr r1, _02140544 ; =0x000082ea
ldr r0, [sl, #4]
mov r2, r6
umull r8, r7, sb, r1
mla r7, sb, r2, r7
mla r7, r6, r1, r7
add r0, r0, r5
str r0, [sp]
ldr r0, [sl, #8]
mov r1, r8, lsr #0x6
ldr r3, _02140548 ; =func_ov60_0214054c
add r0, r0, r4
mov r2, r7, lsr #0x6
orr r1, r1, r7, lsl #26
bl func_0200eba8
ldrb r1, [sl]
ldr r0, [sl, #8]
add r0, r0, r4
add r1, r1, #0x80
bl func_0200ed9c
ldr r1, [sl, #0xc]
cmp r1, #0
beq _0214051c
ldr r0, [sl, #4]
add r0, r0, r5
blx r1
_0214051c:
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_02140524:
ldrb r0, [sl, #2]
add r6, r6, #1
add r5, r5, #0xe0
cmp r6, r0
blt _021403f0
_02140538:
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov60_02140210
_02140540: .word 0x2aaaaaab
_02140544: .word 0x000082ea
_02140548: .word func_ov60_0214054c
.global func_ov60_0214054c
arm_func_start func_ov60_0214054c
func_ov60_0214054c: ; 0x0214054c
stmdb sp!, {r3, lr}
ldrh r1, [r0]
ldr r3, [r0, #0x14]
cmp r1, #1
ldmneia sp!, {r3, pc}
ldrb r2, [r3, #1]
mov r1, #0
sub r2, r2, #1
strb r2, [r3, #1]
strh r1, [r0]
ldr r1, [r3, #0xc]
cmp r1, #0
ldmeqia sp!, {r3, pc}
blx r1
ldmia sp!, {r3, pc}
arm_func_end func_ov60_0214054c
.global func_ov60_02140588
arm_func_start func_ov60_02140588
func_ov60_02140588: ; 0x02140588
ldrb r0, [r0, #1]
bx lr
arm_func_end func_ov60_02140588
.global func_ov60_02140590
arm_func_start func_ov60_02140590
func_ov60_02140590: ; 0x02140590
ldrb r2, [r0, #2]
cmp r1, r2
movhs r0, #0
bxhs lr
ldr r2, [r0, #4]
mov r0, #0xe0
mla r0, r1, r0, r2
bx lr
arm_func_end func_ov60_02140590
.global func_ov60_021405b0
arm_func_start func_ov60_021405b0
func_ov60_021405b0: ; 0x021405b0
ldrb r0, [r0]
ldr ip, _021405c0 ; =func_0200eda4
add r0, r0, #0x80
bx ip
.align 2, 0
arm_func_end func_ov60_021405b0
_021405c0: .word func_0200eda4
.global func_ov60_021405c4
arm_func_start func_ov60_021405c4
func_ov60_021405c4: ; 0x021405c4
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_021405b0
mov r0, #0
strb r0, [r4, #1]
ldrb r3, [r4, #2]
mov r2, #0xe0
ldr r1, [r4, #4]
smulbb r2, r3, r2
bl func_02007938
ldrb r2, [r4, #2]
mov r1, #0xe0
ldr r0, [r4, #4]
smulbb r1, r2, r1
bl func_0200e2a4
ldmia sp!, {r4, pc}
arm_func_end func_ov60_021405c4
.global func_ov60_02140604
arm_func_start func_ov60_02140604
func_ov60_02140604: ; 0x02140604
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr}
sub sp, sp, #4
mov sl, r0
ldrb r0, [sl, #2]
mov r5, #0
cmp r0, #0
addle sp, sp, #4
ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
ldr r0, _021406c4 ; =0x000082ea
mov r2, r5
umull r4, r3, r1, r0
mla r3, r1, r5, r3
mla r3, r2, r0, r3
mov sb, r4, lsr #0x6
ldr r4, _021406c8 ; =func_ov60_0214054c
mov r6, r5
mov r7, r5
mov r8, r3, lsr #0x6
orr sb, sb, r3, lsl #26
_02140650:
ldr r0, [sl, #4]
ldrh r0, [r0, r6]
cmp r0, #1
bne _021406a4
ldr r0, [sl, #8]
add r0, r0, r7
bl func_0200ec14
ldr r0, [sl, #4]
mov r1, sb
add r0, r0, r6
str r0, [sp]
ldr r0, [sl, #8]
mov r2, r8
add r0, r0, r7
mov r3, r4
bl func_0200eba8
ldrb r1, [sl]
ldr r0, [sl, #8]
add r0, r0, r7
add r1, r1, #0x80
bl func_0200ed9c
_021406a4:
ldrb r0, [sl, #2]
add r5, r5, #1
add r6, r6, #0xe0
cmp r5, r0
add r7, r7, #0x2c
blt _02140650
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
arm_func_end func_ov60_02140604
_021406c4: .word 0x000082ea
_021406c8: .word func_ov60_0214054c
.global func_ov60_021406cc
arm_func_start func_ov60_021406cc
func_ov60_021406cc: ; 0x021406cc
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r0, #0x70
mov r1, #4
bl func_ov60_02144c60
ldr r1, _021407a8 ; =data_ov60_02148084
str r0, [r1]
mov r0, #0x20
mov r1, r0
bl func_ov60_02144c60
ldr r2, _021407a8 ; =data_ov60_02148084
mov r1, #0x20
ldr r2, [r2]
str r0, [r2]
mov r0, #0xc0
bl func_ov60_02144c60
ldr r1, _021407a8 ; =data_ov60_02148084
ldr r2, _021407ac ; =data_ov60_021480a0
ldr r3, [r1]
mov r1, #4
str r0, [r3, #4]
ldr r0, [r2]
ldrb r0, [r0, #9]
mov r0, r0, lsl #0x4
bl func_ov60_02144c60
ldr r6, _021407a8 ; =data_ov60_02148084
ldr r5, _021407ac ; =data_ov60_021480a0
ldr r1, [r6]
mov r4, #0
str r0, [r1, #8]
ldr r1, [r5]
ldrb r0, [r1, #9]
cmp r0, #0
ble _02140784
mov r7, r4
_02140754:
ldr r0, [r6]
ldrb r2, [r1, #0xc]
ldr r0, [r0, #8]
and r1, r4, #0xff
add r0, r0, r7
bl func_ov60_02140144
ldr r1, [r5]
add r4, r4, #1
ldrb r0, [r1, #9]
add r7, r7, #0x10
cmp r4, r0
blt _02140754
_02140784:
ldr r0, _021407a8 ; =data_ov60_02148084
ldr r0, [r0]
add r0, r0, #0x10
bl func_0200ea6c
ldr r0, _021407a8 ; =data_ov60_02148084
ldr r0, [r0]
add r0, r0, #0x3c
bl func_0200ea6c
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov60_021406cc
_021407a8: .word data_ov60_02148084
_021407ac: .word data_ov60_021480a0
.global func_ov60_021407b0
arm_func_start func_ov60_021407b0
func_ov60_021407b0: ; 0x021407b0
stmdb sp!, {r4, r5, r6, lr}
ldr r0, _02140874 ; =data_ov60_021480a0
ldr r0, [r0]
ldrb r0, [r0, #9]
subs r5, r0, #1
bmi _021407ec
ldr r4, _02140878 ; =data_ov60_02148084
mov r6, r5, lsl #0x4
_021407d0:
ldr r0, [r4]
ldr r0, [r0, #8]
add r0, r0, r6
bl func_ov60_021401dc
sub r6, r6, #0x10
subs r5, r5, #1
bpl _021407d0
_021407ec:
ldr r0, _02140878 ; =data_ov60_02148084
ldr r0, [r0]
ldr r0, [r0, #8]
bl func_ov60_02144c94
ldr r0, _02140878 ; =data_ov60_02148084
ldr r0, [r0]
ldr r0, [r0, #4]
bl func_ov60_02144c94
ldr r0, _02140878 ; =data_ov60_02148084
ldr r0, [r0]
ldr r0, [r0]
bl func_ov60_02144c94
ldr r0, _02140878 ; =data_ov60_02148084
mov r2, #0
ldr r1, [r0]
str r2, [r1, #0x6c]
ldr r2, [r0]
ldr r1, [r2, #0xc]
bic r1, r1, #1
str r1, [r2, #0xc]
ldr r0, [r0]
add r0, r0, #0x3c
bl func_0200ec14
ldr r0, _02140878 ; =data_ov60_02148084
ldr r0, [r0]
add r0, r0, #0x10
bl func_0200ec14
ldr r0, _02140878 ; =data_ov60_02148084
ldr r0, [r0]
bl func_ov60_02144c94
ldr r0, _02140878 ; =data_ov60_02148084
mov r1, #0
str r1, [r0]
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov60_021407b0
_02140874: .word data_ov60_021480a0
_02140878: .word data_ov60_02148084
.global func_ov60_0214087c
arm_func_start func_ov60_0214087c
func_ov60_0214087c: ; 0x0214087c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_0200ee4c
ldr r1, _0214089c ; =data_ov60_02148084
ldr r1, [r1]
str r4, [r1, #0x6c]
bl func_0200ee60
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_0214087c
_0214089c: .word data_ov60_02148084
.global func_ov60_021408a0
arm_func_start func_ov60_021408a0
func_ov60_021408a0: ; 0x021408a0
stmdb sp!, {r3, lr}
ldr r1, _021408d0 ; =data_ov60_021480a0
ldr r1, [r1]
ldr r1, [r1, #0x10]
cmp r1, #0
ldrneb r0, [r1, r0]
ldmneia sp!, {r3, pc}
ldr r0, _021408d4 ; =data_ov60_02148088
ldr r0, [r0]
ldrb r0, [r0, #0x8e]
bl func_ov60_02144df8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021408a0
_021408d0: .word data_ov60_021480a0
_021408d4: .word data_ov60_02148088
.global func_ov60_021408d8
arm_func_start func_ov60_021408d8
func_ov60_021408d8: ; 0x021408d8
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
ldr r1, _021409cc ; =data_ov60_021480a0
mov r4, r0
ldr r0, [r1]
ldr r0, [r0, #0x48]
mov r0, r0, lsl #0x1c
movs r0, r0, asr #0x1f
beq _02140920
ldr r0, _021409d0 ; =data_ov60_02148088
ldr r1, _021409d4 ; =data_ov60_02148084
ldr r0, [r0]
ldr r1, [r1]
ldrb r0, [r0, #0x95]
ldr r1, [r1, #8]
add r0, r1, r0, lsl #4
bl func_ov60_021405c4
b _0214094c
_02140920:
ldr r0, _021409d0 ; =data_ov60_02148088
ldr r1, _021409d4 ; =data_ov60_02148084
ldr r0, [r0]
ldr r1, [r1]
ldrb r0, [r0, #0x95]
ldr r2, [r1, #8]
mov r1, #0x1f4
add r0, r2, r0, lsl #4
bl func_ov60_02140604
mov r0, #0
bl func_ov60_0214087c
_0214094c:
ldr r0, _021409d4 ; =data_ov60_02148084
cmp r4, #0
ldr r2, [r0]
ldr r1, [r2, #0xc]
orr r1, r1, #2
str r1, [r2, #0xc]
ldr r2, [r0]
ldr r1, [r2, #0xc]
bic r1, r1, #1
str r1, [r2, #0xc]
beq _021409c0
ldr r0, [r0]
add r0, r0, #0x10
bl func_0200ec14
mov r3, #0
ldr r0, _021409d8 ; =0x000082ea
mov r1, r3
umull r2, ip, r4, r0
mla ip, r4, r3, ip
mla ip, r1, r0, ip
mov r1, r2, lsr #0x6
str r3, [sp]
ldr r0, _021409d4 ; =data_ov60_02148084
ldr r3, _021409dc ; =func_ov60_021409e0
ldr r0, [r0]
mov r2, ip, lsr #0x6
add r0, r0, #0x10
orr r1, r1, ip, lsl #26
bl func_0200eba8
_021409c0:
bl func_ov60_02140a08
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov60_021408d8
_021409cc: .word data_ov60_021480a0
_021409d0: .word data_ov60_02148088
_021409d4: .word data_ov60_02148084
_021409d8: .word 0x000082ea
_021409dc: .word func_ov60_021409e0
.global func_ov60_021409e0
arm_func_start func_ov60_021409e0
func_ov60_021409e0: ; 0x021409e0
stmdb sp!, {r3, lr}
ldr r0, _02140a04 ; =data_ov60_02148084
ldr r0, [r0]
ldr r0, [r0, #0xc]
mov r0, r0, lsl #0x1f
movs r0, r0, asr #0x1f
ldmneia sp!, {r3, pc}
bl func_ov60_02140a64
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021409e0
_02140a04: .word data_ov60_02148084
.global func_ov60_02140a08
arm_func_start func_ov60_02140a08
func_ov60_02140a08: ; 0x02140a08
stmdb sp!, {r3, lr}
ldr r0, _02140a5c ; =data_ov60_021480a0
mov r1, #7
ldr r0, [r0]
str r1, [r0, #4]
bl func_ov60_02140a90
bl func_ov60_02140f24
ldr r1, _02140a60 ; =data_ov60_02148088
ldr r0, _02140a5c ; =data_ov60_021480a0
ldr r3, [r1]
ldrb r2, [r3, #0x95]
add r2, r2, #1
strb r2, [r3, #0x95]
ldr r2, [r1]
ldr r0, [r0]
ldrb r1, [r2, #0x95]
ldrb r0, [r0, #9]
cmp r1, r0
movhs r0, #0
strhsb r0, [r2, #0x95]
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02140a08
_02140a5c: .word data_ov60_021480a0
_02140a60: .word data_ov60_02148088
.global func_ov60_02140a64
arm_func_start func_ov60_02140a64
func_ov60_02140a64: ; 0x02140a64
ldr r0, _02140a88 ; =data_ov60_02148084
ldr ip, _02140a8c ; =func_0200ec14
ldr r2, [r0]
ldr r1, [r2, #0xc]
bic r1, r1, #2
str r1, [r2, #0xc]
ldr r0, [r0]
add r0, r0, #0x10
bx ip
.align 2, 0
arm_func_end func_ov60_02140a64
_02140a88: .word data_ov60_02148084
_02140a8c: .word func_0200ec14
.global func_ov60_02140a90
arm_func_start func_ov60_02140a90
func_ov60_02140a90: ; 0x02140a90
stmdb sp!, {r4, lr}
ldr r0, _02140b08 ; =data_ov60_02148088
ldr r1, _02140b0c ; =data_ov60_02148084
ldr r0, [r0]
ldr r1, [r1]
ldrb r0, [r0, #0x95]
ldr r4, [r1]
bl func_ov60_021408a0
ldr r3, _02140b08 ; =data_ov60_02148088
ldr r2, _02140b0c ; =data_ov60_02148084
ldr ip, [r3]
ldr r1, _02140b10 ; =data_ov60_021480a0
strb r0, [ip, #0x8e]
ldr r2, [r2]
mov r0, #0xff
ldr r2, [r2, #4]
str r2, [r4]
ldr r2, [r3]
ldrb r2, [r2, #0x8e]
strh r2, [r4, #4]
ldr r1, [r1]
ldrh r1, [r1, #0x22]
strh r1, [r4, #6]
strb r0, [r4, #8]
strb r0, [r4, #9]
strb r0, [r4, #0xa]
strb r0, [r4, #0xb]
strb r0, [r4, #0xc]
strb r0, [r4, #0xd]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02140a90
_02140b08: .word data_ov60_02148088
_02140b0c: .word data_ov60_02148084
_02140b10: .word data_ov60_021480a0
.global func_ov60_02140b14
arm_func_start func_ov60_02140b14
func_ov60_02140b14: ; 0x02140b14
stmdb sp!, {r4, lr}
sub sp, sp, #0x10
ldr r1, _02140ccc ; =data_ov60_02148084
mov r4, r0
ldr r0, [r1]
mov r1, #0xc0
ldr r0, [r0, #4]
bl func_0200e288
ldr r0, _02140ccc ; =data_ov60_02148084
ldr ip, [r0]
ldr r2, [ip, #4]
ldrh r0, [r2, #0x3c]
cmp r0, #0
bne _02140b9c
ldr r0, _02140cd0 ; =data_ov60_021480a0
ldr r0, [r0]
ldr r0, [r0, #0x48]
mov r0, r0, lsl #0x1b
movs r0, r0, asr #0x1f
addne sp, sp, #0x10
ldmneia sp!, {r4, pc}
ldrh r1, [r4, #0x12]
ldr r0, _02140cd4 ; =data_ov60_02148088
ldr r3, _02140cd8 ; =0x0000acce
stmia sp, {r1, r2}
ldr r0, [r0]
ldr ip, [ip, #8]
ldrb r0, [r0, #0x95]
add r2, r4, #0xa
mov r1, #0xfa0
add r0, ip, r0, lsl #4
bl func_ov60_02140210
add sp, sp, #0x10
ldmia sp!, {r4, pc}
_02140b9c:
ldrb r0, [r2, #0x4b]
tst r0, #1
addeq sp, sp, #0x10
ldmeqia sp!, {r4, pc}
add r0, r2, #0x50
add r1, sp, #8
mov r2, #8
bl func_02007ad8
add r0, sp, #8
mov r1, #8
bl func_0200e2a4
add r1, sp, #8
mov r0, r4
bl func_ov60_02140d30
cmp r0, #0
addeq sp, sp, #0x10
ldmeqia sp!, {r4, pc}
ldr r0, _02140ccc ; =data_ov60_02148084
ldrh r1, [r4, #0x12]
ldr r3, [r0]
ldr r0, _02140cd4 ; =data_ov60_02148088
str r1, [sp]
ldr r1, [r3, #4]
add r2, r4, #0xa
str r1, [sp, #4]
ldr r0, [r0]
ldr r4, [r3, #8]
ldrb r0, [r0, #0x95]
ldrh r3, [sp, #8]
mov r1, #0xfa0
add r0, r4, r0, lsl #4
bl func_ov60_02140210
ldr r0, _02140cd0 ; =data_ov60_021480a0
ldr r0, [r0]
ldr r0, [r0, #0x48]
mov r0, r0, lsl #0x1c
movs r0, r0, asr #0x1f
addeq sp, sp, #0x10
ldmeqia sp!, {r4, pc}
ldrh r1, [sp, #8]
ldr r0, _02140cdc ; =0x0000bd8a
cmp r1, r0
bne _02140c54
bl func_ov60_02140cf8
add sp, sp, #0x10
ldmia sp!, {r4, pc}
_02140c54:
ldrh r1, [sp, #8]
ldr r0, _02140ce0 ; =0x00002348
cmp r1, r0
addne sp, sp, #0x10
ldmneia sp!, {r4, pc}
ldr r0, _02140ccc ; =data_ov60_02148084
ldr r1, [r0]
ldr r0, [r1, #0xc]
mov r0, r0, lsl #0x1f
movs r0, r0, asr #0x1f
addne sp, sp, #0x10
ldmneia sp!, {r4, pc}
add r0, r1, #0x3c
bl func_0200ec14
mov r2, #0
ldr r0, _02140ccc ; =data_ov60_02148084
str r2, [sp]
ldr r0, [r0]
ldr r1, _02140ce4 ; =0x00003d5d
ldr r3, _02140ce8 ; =func_ov60_02140cec
add r0, r0, #0x3c
bl func_0200eba8
ldr r0, _02140ccc ; =data_ov60_02148084
ldr r1, [r0]
ldr r0, [r1, #0xc]
bic r0, r0, #1
orr r0, r0, #1
str r0, [r1, #0xc]
add sp, sp, #0x10
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02140b14
_02140ccc: .word data_ov60_02148084
_02140cd0: .word data_ov60_021480a0
_02140cd4: .word data_ov60_02148088
_02140cd8: .word 0x0000acce
_02140cdc: .word 0x0000bd8a
_02140ce0: .word 0x00002348
_02140ce4: .word 0x00003d5d
_02140ce8: .word func_ov60_02140cec
.global func_ov60_02140cec
arm_func_start func_ov60_02140cec
func_ov60_02140cec: ; 0x02140cec
ldr ip, _02140cf4 ; =func_ov60_02140cf8
bx ip
.align 2, 0
arm_func_end func_ov60_02140cec
_02140cf4: .word func_ov60_02140cf8
.global func_ov60_02140cf8
arm_func_start func_ov60_02140cf8
func_ov60_02140cf8: ; 0x02140cf8
stmdb sp!, {r3, lr}
ldr r1, _02140d28 ; =data_ov60_02148088
ldr r0, _02140d2c ; =data_ov60_02148084
ldr r2, [r1]
ldr r1, [r2, #0xc4]
orr r1, r1, #0x100
str r1, [r2, #0xc4]
ldr r0, [r0]
add r0, r0, #0x3c
bl func_0200ec14
bl func_ov60_02140a64
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02140cf8
_02140d28: .word data_ov60_02148088
_02140d2c: .word data_ov60_02148084
.global func_ov60_02140d30
arm_func_start func_ov60_02140d30
func_ov60_02140d30: ; 0x02140d30
stmdb sp!, {r3, lr}
ldr r2, _02140dd0 ; =data_ov60_021480a0
ldr r2, [r2]
ldr r3, [r2, #0x48]
mov r3, r3, lsl #0x1a
movs r3, r3, asr #0x1f
beq _02140d68
ldr r3, _02140dd4 ; =data_ov60_02148084
ldr ip, [r2, #0x28]
ldr r3, [r3]
ldr r3, [r3, #4]
ldr r3, [r3, #0x44]
cmp r3, ip
bne _02140dc8
_02140d68:
ldr r3, [r2, #0x48]
mov r3, r3, lsl #0x19
movs r3, r3, asr #0x1f
beq _02140d90
ldr r3, _02140dd8 ; =data_ov60_02148088
ldrb ip, [r1, #4]
ldr r3, [r3]
ldrb r3, [r3, #0x95]
cmp ip, r3
bne _02140dc8
_02140d90:
ldr r2, [r2, #0x48]
mov r2, r2, lsl #0x18
movs r2, r2, asr #0x1f
ldrneb r1, [r1, #6]
cmpne r1, #5
bne _02140dc8
ldr r1, _02140dd4 ; =data_ov60_02148084
ldr r1, [r1]
ldr r1, [r1, #0x6c]
cmp r1, #0
moveq r0, #1
ldmeqia sp!, {r3, pc}
blx r1
ldmia sp!, {r3, pc}
_02140dc8:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02140d30
_02140dd0: .word data_ov60_021480a0
_02140dd4: .word data_ov60_02148084
_02140dd8: .word data_ov60_02148088
.global func_ov60_02140ddc
arm_func_start func_ov60_02140ddc
func_ov60_02140ddc: ; 0x02140ddc
stmdb sp!, {r4, r5, r6, r7, r8, lr}
ldr r1, _02140e88 ; =data_ov60_021480a0
mov r6, r0
ldr r0, [r1]
mov r4, #0
ldrb r5, [r0, #0xc]
cmp r5, #0
ble _02140e40
ldr r7, _02140e8c ; =0x0000bd8a
ldr r8, _02140e90 ; =data_ov60_02148084
_02140e04:
ldr r0, [r8]
mov r1, r4
ldr r0, [r0, #8]
add r0, r0, r6, lsl #4
bl func_ov60_02140590
ldrh r1, [r0]
cmp r1, #0
beq _02140e30
ldrh r1, [r0, #8]
cmp r1, r7
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
_02140e30:
add r0, r4, #1
and r4, r0, #0xff
cmp r4, r5
blt _02140e04
_02140e40:
cmp r5, #0
mov r7, #0
ble _02140e80
ldr r4, _02140e90 ; =data_ov60_02148084
_02140e50:
ldr r0, [r4]
mov r1, r7
ldr r0, [r0, #8]
add r0, r0, r6, lsl #4
bl func_ov60_02140590
ldrh r1, [r0]
cmp r1, #0
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
add r0, r7, #1
and r7, r0, #0xff
cmp r7, r5
blt _02140e50
_02140e80:
mov r0, #0
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov60_02140ddc
_02140e88: .word data_ov60_021480a0
_02140e8c: .word 0x0000bd8a
_02140e90: .word data_ov60_02148084
.global func_ov60_02140e94
arm_func_start func_ov60_02140e94
func_ov60_02140e94: ; 0x02140e94
stmdb sp!, {r3, lr}
ldr r1, _02140ed4 ; =data_ov60_02148084
ldr r2, [r1]
cmp r2, #0
beq _02140ecc
ldr r1, _02140ed8 ; =data_ov60_021480a0
ldr r1, [r1]
ldrb r1, [r1, #9]
cmp r0, r1
bhs _02140ecc
ldr r1, [r2, #8]
add r0, r1, r0, lsl #4
bl func_ov60_02140588
ldmia sp!, {r3, pc}
_02140ecc:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02140e94
_02140ed4: .word data_ov60_02148084
_02140ed8: .word data_ov60_021480a0
.global func_ov60_02140edc
arm_func_start func_ov60_02140edc
func_ov60_02140edc: ; 0x02140edc
stmdb sp!, {r3, lr}
ldr r2, _02140f1c ; =data_ov60_02148084
ldr r3, [r2]
cmp r3, #0
beq _02140f14
ldr r2, _02140f20 ; =data_ov60_021480a0
ldr r2, [r2]
ldrb r2, [r2, #9]
cmp r0, r2
bhs _02140f14
ldr r2, [r3, #8]
add r0, r2, r0, lsl #4
bl func_ov60_02140590
ldmia sp!, {r3, pc}
_02140f14:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02140edc
_02140f1c: .word data_ov60_02148084
_02140f20: .word data_ov60_021480a0
.global func_ov60_02140f24
arm_func_start func_ov60_02140f24
func_ov60_02140f24: ; 0x02140f24
stmdb sp!, {r3, lr}
ldr r1, _02140f4c ; =data_ov60_02148084
ldr r0, _02140f50 ; =func_ov60_02140f54
ldr r1, [r1]
ldr r1, [r1]
bl func_ov01_020f01ec
cmp r0, #2
ldmeqia sp!, {r3, pc}
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02140f24
_02140f4c: .word data_ov60_02148084
_02140f50: .word func_ov60_02140f54
.global func_ov60_02140f54
arm_func_start func_ov60_02140f54
func_ov60_02140f54: ; 0x02140f54
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_0214487c
cmp r0, #0
ldmneia sp!, {r4, pc}
ldrh r0, [r4, #2]
cmp r0, #0
bne _02140fd0
ldrh r0, [r4, #8]
cmp r0, #4
beq _02140f90
cmp r0, #5
ldmneia sp!, {r4, pc}
mov r0, r4
bl func_ov60_02140b14
_02140f90:
ldr r0, _02140fd8 ; =data_ov60_02148084
ldr r1, [r0]
ldr r0, [r1, #0xc]
mov r0, r0, lsl #0x1e
movs r0, r0, asr #0x1f
beq _02140fb0
bl func_ov60_02140a08
ldmia sp!, {r4, pc}
_02140fb0:
ldr r0, _02140fdc ; =data_ov60_02148088
ldr r1, [r1, #8]
ldr r0, [r0]
ldrb r0, [r0, #0x95]
add r0, r1, r0, lsl #4
bl func_ov60_021405b0
bl func_ov60_02140fe0
ldmia sp!, {r4, pc}
_02140fd0:
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02140f54
_02140fd8: .word data_ov60_02148084
_02140fdc: .word data_ov60_02148088
.global func_ov60_02140fe0
arm_func_start func_ov60_02140fe0
func_ov60_02140fe0: ; 0x02140fe0
ldr ip, _02140fec ; =func_ov01_020f0428
ldr r0, _02140ff0 ; =func_ov60_02140ff4
bx ip
.align 2, 0
arm_func_end func_ov60_02140fe0
_02140fec: .word func_ov01_020f0428
_02140ff0: .word func_ov60_02140ff4
.global func_ov60_02140ff4
arm_func_start func_ov60_02140ff4
func_ov60_02140ff4: ; 0x02140ff4
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_0214487c
cmp r0, #0
ldmneia sp!, {r4, pc}
ldrh r0, [r4, #2]
cmp r0, #0
bne _0214102c
ldr r0, _02141034 ; =data_ov60_021480a0
mov r1, #4
ldr r0, [r0]
str r1, [r0, #4]
bl func_ov60_021449e0
ldmia sp!, {r4, pc}
_0214102c:
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02140ff4
_02141034: .word data_ov60_021480a0
.global func_ov60_02141038
arm_func_start func_ov60_02141038
func_ov60_02141038: ; 0x02141038
stmdb sp!, {r3, lr}
sub sp, sp, #8
ldr r2, _021411cc ; =data_ov60_02148088
ldr r1, _021411d0 ; =0x0000ffff
ldr r0, [r2]
mov r3, #1
strh r1, [r0, #0x1e]
ldr r1, [r2]
mov r0, #0
strb r3, [r1, #0x8c]
ldr ip, [r2]
ldr r1, _021411d4 ; =data_ov60_021480a0
ldr r3, [ip, #0xc4]
bic r3, r3, #1
str r3, [ip, #0xc4]
ldr ip, [r2]
ldr r3, [ip, #0xc4]
bic r3, r3, #2
str r3, [ip, #0xc4]
ldr ip, [r2]
ldr r3, [ip, #0xc4]
bic r3, r3, #4
str r3, [ip, #0xc4]
ldr ip, [r2]
ldr r3, [ip, #0xc4]
bic r3, r3, #8
str r3, [ip, #0xc4]
ldr ip, [r2]
ldr r3, [ip, #0xc4]
bic r3, r3, #0x10
str r3, [ip, #0xc4]
ldr ip, [r2]
ldr r3, [ip, #0xc4]
bic r3, r3, #0x20
str r3, [ip, #0xc4]
ldr ip, [r2]
ldr r3, [ip, #0xc4]
bic r3, r3, #0x40
str r3, [ip, #0xc4]
ldr ip, [r2]
ldr r3, [ip, #0xc4]
bic r3, r3, #0x200
str r3, [ip, #0xc4]
ldr r3, [r2]
str r0, [r3, #0xc0]
ldr r3, [r1]
ldrb r3, [r3, #8]
add r3, r3, #2
and r3, r3, #0xff
cmp r3, #1
bhi _02141130
ldr r3, [r2]
ldr r1, [r3, #0xc4]
orr r1, r1, #0x80
str r1, [r3, #0xc4]
ldr r1, [r2]
strb r0, [r1, #0x8d]
ldr r1, [r2]
strb r0, [r1, #0x8e]
ldr r1, [r2]
strb r0, [r1, #0x8f]
b _02141168
_02141130:
ldr ip, [r2]
ldr r3, [ip, #0xc4]
bic r3, r3, #0x80
str r3, [ip, #0xc4]
ldr ip, [r1]
ldr r3, [r2]
ldrb ip, [ip, #8]
strb ip, [r3, #0x8d]
ldr r3, [r2]
strb r0, [r3, #0x8e]
ldr r1, [r1]
ldr r0, [r2]
ldrb r1, [r1, #8]
strb r1, [r0, #0x8f]
_02141168:
add r0, sp, #0
mov r1, #0
mov r2, #6
bl func_02007a44
ldr r0, _021411cc ; =data_ov60_02148088
mov r2, #0
ldr r3, [r0]
_02141184:
ldrb r1, [sp]
ldrb r0, [sp, #1]
add r2, r2, #1
cmp r2, #0x10
strb r1, [r3, #0x28]
strb r0, [r3, #0x29]
ldrb r1, [sp, #2]
ldrb r0, [sp, #3]
strb r1, [r3, #0x2a]
strb r0, [r3, #0x2b]
ldrb r1, [sp, #4]
ldrb r0, [sp, #5]
strb r1, [r3, #0x2c]
strb r0, [r3, #0x2d]
add r3, r3, #6
blt _02141184
add sp, sp, #8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02141038
_021411cc: .word data_ov60_02148088
_021411d0: .word 0x0000ffff
_021411d4: .word data_ov60_021480a0
.global func_ov60_021411d8
arm_func_start func_ov60_021411d8
func_ov60_021411d8: ; 0x021411d8
stmdb sp!, {r4, lr}
mov r0, #0x40
mov r1, #0x20
bl func_ov60_02144c60
ldr r2, _02141370 ; =data_ov60_02148088
mov r1, #0x20
ldr r2, [r2]
str r0, [r2]
mov r0, #0x70
bl func_ov60_02144c60
ldr r2, _02141370 ; =data_ov60_02148088
mov r3, #8
ldr r4, [r2]
ldr r1, _02141374 ; =data_ov60_021480a0
str r0, [r4, #8]
ldr r0, [r2]
strh r3, [r0, #0x18]
ldr r2, [r1]
ldrh r1, [r2, #0x18]
ldrh r0, [r2, #0x1c]
ldrb r2, [r2, #0xa]
add r3, r1, #0xe
add r1, r0, #0x55
mul r0, r3, r2
add r0, r0, #0x29
bic r0, r0, #0x1f
bic r1, r1, #0x1f
mov r0, r0, lsl #0x11
mov r1, r1, lsl #0x11
mov r3, r0, lsr #0x10
mov r0, r1, lsr #0x10
cmp r3, r1, lsr #16
movls r3, r0
ldr r0, _02141370 ; =data_ov60_02148088
mov r1, #0x20
ldr r2, [r0]
strh r3, [r2, #0x1a]
ldr r0, [r0]
ldrh r0, [r0, #0x1a]
bl func_ov60_02144c60
ldr r2, _02141370 ; =data_ov60_02148088
ldr r1, _02141374 ; =data_ov60_021480a0
ldr r2, [r2]
str r0, [r2, #0xc]
ldr r0, [r1]
ldrh r1, [r0, #0x1a]
ldrh r0, [r0, #0x1e]
add r1, r1, #0x23
bic r2, r1, #0x1f
add r1, r0, #0x21
bic r1, r1, #0x1f
mov r0, r2, lsl #0x10
mov r1, r1, lsl #0x10
mov r3, r0, lsr #0x10
mov r0, r1, lsr #0x10
cmp r3, r1, lsr #16
movls r3, r0
ldr r0, _02141370 ; =data_ov60_02148088
mov r1, #0x20
ldr r2, [r0]
strh r3, [r2, #0x1c]
ldr r0, [r0]
ldrh r0, [r0, #0x1c]
bl func_ov60_02144c60
ldr r1, _02141370 ; =data_ov60_02148088
ldr r2, _02141374 ; =data_ov60_021480a0
ldr r3, [r1]
mov r1, #0x20
str r0, [r3, #0x10]
ldr r0, [r2]
ldrh r0, [r0, #0x1e]
mov r0, r0, lsl #0x1
bl func_ov60_02144c60
ldr r1, _02141370 ; =data_ov60_02148088
mov r2, #0
ldr r3, [r1]
str r0, [r3, #0x14]
ldr r0, [r1]
str r2, [r0, #0xb8]
bl func_ov60_021406cc
ldr r0, _02141370 ; =data_ov60_02148088
ldr r0, [r0]
add r0, r0, #0x22
bl func_0200f014
ldr r0, _02141370 ; =data_ov60_02148088
ldr r0, [r0]
add r0, r0, #0x24
bl func_ov60_02142878
mov r4, r0
bl func_0200e998
ldr r1, _02141374 ; =data_ov60_021480a0
ldr r2, _02141378 ; =data_ov60_0214808c
and r3, r4, r0
ldr r0, [r1]
str r3, [r2]
mov r2, #2
str r2, [r0, #4]
ldr r0, [r1]
mov r1, #0
str r1, [r0]
bl func_ov60_02141038
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_021411d8
_02141370: .word data_ov60_02148088
_02141374: .word data_ov60_021480a0
_02141378: .word data_ov60_0214808c
.global func_ov60_0214137c
arm_func_start func_ov60_0214137c
func_ov60_0214137c: ; 0x0214137c
stmdb sp!, {r3, lr}
ldr r0, _021413f8 ; =data_ov60_02148088
ldr r0, [r0]
cmp r0, #0
ldmneia sp!, {r3, pc}
mov r0, #0xc8
mov r1, #4
bl func_ov60_02144c60
ldr r2, _021413f8 ; =data_ov60_02148088
mov r1, #0x20
str r0, [r2]
mov r0, #0xf00
bl func_ov60_02144c60
ldr r2, _021413f8 ; =data_ov60_02148088
ldr r1, _021413fc ; =data_ov60_021480a0
ldr r3, [r2]
str r0, [r3, #4]
ldr r0, [r1]
ldr r2, [r2]
ldrb r1, [r0, #0xd]
ldr r0, [r2, #4]
bl func_ov01_020eed40
cmp r0, #0
bne _021413e4
bl func_ov60_021411d8
ldmia sp!, {r3, pc}
_021413e4:
ldr r0, _021413f8 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #4]
bl func_ov60_02144c94
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_0214137c
_021413f8: .word data_ov60_02148088
_021413fc: .word data_ov60_021480a0
.global func_ov60_02141400
arm_func_start func_ov60_02141400
func_ov60_02141400: ; 0x02141400
stmdb sp!, {r3, lr}
ldr r0, _021414c0 ; =data_ov60_021480a0
ldr r0, [r0]
ldr r0, [r0, #4]
cmp r0, #2
bne _021414b4
bl func_ov01_020eef50
cmp r0, #0
ldmneia sp!, {r3, pc}
bl func_ov60_021407b0
ldr r0, _021414c4 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #0x14]
bl func_ov60_02144c94
ldr r0, _021414c4 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #0x10]
bl func_ov60_02144c94
ldr r0, _021414c4 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl func_ov60_02144c94
ldr r0, _021414c4 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #8]
bl func_ov60_02144c94
ldr r0, _021414c4 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0]
bl func_ov60_02144c94
ldr r0, _021414c4 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #4]
bl func_ov60_02144c94
ldr r0, _021414c4 ; =data_ov60_02148088
ldr r0, [r0]
bl func_ov60_02144c94
ldr r0, _021414c0 ; =data_ov60_021480a0
ldr r1, _021414c4 ; =data_ov60_02148088
mov r2, #0
str r2, [r1]
ldr r0, [r0]
mov r1, #1
str r1, [r0, #4]
ldmia sp!, {r3, pc}
_021414b4:
mov r0, #0x44
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02141400
_021414c0: .word data_ov60_021480a0
_021414c4: .word data_ov60_02148088
.global func_ov60_021414c8
arm_func_start func_ov60_021414c8
func_ov60_021414c8: ; 0x021414c8
stmdb sp!, {r3, lr}
mov r0, #0
bl func_ov60_0214087c
ldr r0, _02141548 ; =data_ov60_02148088
ldr r2, [r0]
ldr r1, [r2, #0xc4]
bic r1, r1, #4
str r1, [r2, #0xc4]
ldr r0, [r0]
ldr r0, [r0, #0x9c]
blx r0
ldr r0, _02141548 ; =data_ov60_02148088
mov r2, #0
ldr r3, [r0]
ldr r1, [r3, #0xc4]
bic r1, r1, #1
str r1, [r3, #0xc4]
ldr r3, [r0]
ldr r1, [r3, #0xc4]
bic r1, r1, #2
str r1, [r3, #0xc4]
ldr r1, [r0]
strb r2, [r1, #0x93]
ldr r1, [r0]
strb r2, [r1, #0x94]
ldr r1, [r0]
strb r2, [r1, #0x95]
ldr r0, [r0]
strh r2, [r0, #0x98]
bl func_ov60_02141be0
bl func_ov60_02144db8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021414c8
_02141548: .word data_ov60_02148088
.global func_ov60_0214154c
arm_func_start func_ov60_0214154c
func_ov60_0214154c: ; 0x0214154c
ldr r2, _02141568 ; =data_ov60_0214808c
ldr r0, _0214156c ; =0x5eedf715
ldr r3, [r2]
ldr r1, _02141570 ; =0x1b0cb173
mla r0, r3, r0, r1
str r0, [r2]
bx lr
.align 2, 0
arm_func_end func_ov60_0214154c
_02141568: .word data_ov60_0214808c
_0214156c: .word 0x5eedf715
_02141570: .word 0x1b0cb173
.global func_ov60_02141574
arm_func_start func_ov60_02141574
func_ov60_02141574: ; 0x02141574
ldr r0, _0214158c ; =data_ov60_02148088
ldr r0, [r0]
cmp r0, #0
ldrneh r0, [r0, #0x1e]
ldreq r0, _02141590 ; =0x0000ffff
bx lr
.align 2, 0
arm_func_end func_ov60_02141574
_0214158c: .word data_ov60_02148088
_02141590: .word 0x0000ffff
.global func_ov60_02141594
arm_func_start func_ov60_02141594
func_ov60_02141594: ; 0x02141594
stmdb sp!, {r3, lr}
ldr r0, _021415bc ; =data_ov60_02148088
ldr r0, [r0]
cmp r0, #0
ldrne r0, [r0, #0xb4]
cmpne r0, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
blx r0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02141594
_021415bc: .word data_ov60_02148088
.global func_ov60_021415c0
arm_func_start func_ov60_021415c0
func_ov60_021415c0: ; 0x021415c0
stmdb sp!, {r3, lr}
ldr ip, _021415e8 ; =data_ov60_02148088
ldr ip, [ip]
cmp ip, #0
ldrne ip, [ip, #0xb0]
cmpne ip, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
blx ip
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021415c0
_021415e8: .word data_ov60_02148088
.global func_ov60_021415ec
arm_func_start func_ov60_021415ec
func_ov60_021415ec: ; 0x021415ec
stmdb sp!, {r4, lr}
ldr r3, _02141644 ; =data_ov60_02148088
ldr r2, _02141648 ; =0x0000e34d
ldr r3, [r3]
cmp r0, r2
ldr r4, [r3, #8]
ldr ip, _0214164c ; =data_ov60_0214808c
strneh r0, [r4]
ldr r0, _02141650 ; =0x5eedf715
ldr lr, [ip]
ldr r2, _02141654 ; =0x1b0cb173
ldr r3, _02141644 ; =data_ov60_02148088
mla r0, lr, r0, r2
str r0, [ip]
strh r0, [r4, #2]
ldr r2, [r3]
mov r0, #5
ldrb r2, [r2, #0x95]
strb r2, [r4, #4]
strb r1, [r4, #5]
strb r0, [r4, #6]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_021415ec
_02141644: .word data_ov60_02148088
_02141648: .word 0x0000e34d
_0214164c: .word data_ov60_0214808c
_02141650: .word 0x5eedf715
_02141654: .word 0x1b0cb173
.global func_ov60_02141658
arm_func_start func_ov60_02141658
func_ov60_02141658: ; 0x02141658
stmdb sp!, {r3, r4, r5, lr}
ldr r2, _02141788 ; =data_ov60_02148088
mov r1, #1
ldr r2, [r2]
mov r5, r0
ldr r4, [r2]
strb r1, [r2, #0x8c]
bl func_ov60_021415ec
ldr r3, _02141788 ; =data_ov60_02148088
ldr r0, _0214178c ; =0x0000b00d
ldr r2, [r3]
ldr r1, _02141790 ; =data_ov60_021480a0
ldr r2, [r2, #8]
cmp r5, r0
str r2, [r4]
ldr r0, [r3]
ldrh r0, [r0, #0x18]
strh r0, [r4, #4]
ldr r0, [r1]
ldr r0, [r0, #0x28]
str r0, [r4, #8]
beq _021416d0
ldr r2, _02141794 ; =data_ov60_0214808c
ldr r0, _02141798 ; =0x5eedf715
ldr r5, [r2]
ldr r1, _0214179c ; =0x1b0cb173
ldr r3, [r3]
mla r0, r5, r0, r1
str r0, [r2]
strh r0, [r3, #0x20]
_021416d0:
ldr r0, _02141788 ; =data_ov60_02148088
mov r2, #1
ldr r0, [r0]
mov r1, #0
ldrh r3, [r0, #0x20]
ldr r0, _02141790 ; =data_ov60_021480a0
strh r3, [r4, #0xc]
strh r2, [r4, #0xe]
strh r1, [r4, #0x12]
strh r1, [r4, #0x14]
strh r1, [r4, #0x16]
ldr r1, [r0]
ldrb r1, [r1, #0xa]
strh r1, [r4, #0x10]
ldr r5, [r0]
ldrh r0, [r5, #0x24]
cmp r0, #0
beq _02141750
ldr r2, _02141794 ; =data_ov60_0214808c
ldr r0, _02141798 ; =0x5eedf715
ldr r3, [r2]
ldr r1, _0214179c ; =0x1b0cb173
mla r0, r3, r0, r1
str r0, [r2]
mov r0, r0, lsl #0x18
ldrb r1, [r5, #0x26]
mov r0, r0, asr #0x18
ldrh r2, [r5, #0x24]
smulbb r0, r1, r0
mov r0, r0, lsl #0x9
add r0, r2, r0, asr #16
b _02141754
_02141750:
bl func_ov01_020efb30
_02141754:
ldr r1, _02141788 ; =data_ov60_02148088
strh r0, [r4, #0x18]
ldr r1, [r1]
ldr r0, _02141790 ; =data_ov60_021480a0
ldrb r1, [r1, #0x8d]
strh r1, [r4, #0x32]
ldr r1, [r0]
ldrh r1, [r1, #0x1a]
strh r1, [r4, #0x34]
ldr r0, [r0]
ldrh r0, [r0, #0x1e]
strh r0, [r4, #0x36]
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov60_02141658
_02141788: .word data_ov60_02148088
_0214178c: .word 0x0000b00d
_02141790: .word data_ov60_021480a0
_02141794: .word data_ov60_0214808c
_02141798: .word 0x5eedf715
_0214179c: .word 0x1b0cb173
.global func_ov60_021417a0
arm_func_start func_ov60_021417a0
func_ov60_021417a0: ; 0x021417a0
stmdb sp!, {r3, lr}
ldr r1, _021417d0 ; =data_ov60_021480a0
mov r3, #6
ldr r2, [r1]
ldr r1, _021417d4 ; =data_ov60_02148088
str r3, [r2, #4]
ldr r1, [r1]
mov r2, #0
strb r2, [r1, #0x96]
bl func_ov60_02141658
bl func_ov60_0214217c
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021417a0
_021417d0: .word data_ov60_021480a0
_021417d4: .word data_ov60_02148088
.global func_ov60_021417d8
arm_func_start func_ov60_021417d8
func_ov60_021417d8: ; 0x021417d8
ldr r0, _021417f0 ; =data_ov60_02148088
ldr ip, _021417f4 ; =func_ov60_021417f8
ldr r0, [r0]
mov r1, #0
ldr r0, [r0, #0x88]
bx ip
.align 2, 0
arm_func_end func_ov60_021417d8
_021417f0: .word data_ov60_02148088
_021417f4: .word func_ov60_021417f8
.global func_ov60_021417f8
arm_func_start func_ov60_021417f8
func_ov60_021417f8: ; 0x021417f8
stmdb sp!, {r3, lr}
ldr r2, _02141844 ; =data_ov60_021480a0
ldr ip, [r2]
ldr r2, [ip, #4]
cmp r2, #4
ldmneia sp!, {r3, pc}
cmp r0, #0
ldmeqia sp!, {r3, pc}
mov r3, #8
ldr r2, _02141848 ; =data_ov60_02148088
str r3, [ip, #4]
ldr r3, [r2]
mov r1, r1, lsl #0x1f
ldr r2, [r3, #0xc4]
bic r2, r2, #0x40
orr r1, r2, r1, lsr #25
str r1, [r3, #0xc4]
bl func_ov60_0214231c
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021417f8
_02141844: .word data_ov60_021480a0
_02141848: .word data_ov60_02148088
.global func_ov60_0214184c
arm_func_start func_ov60_0214184c
func_ov60_0214184c: ; 0x0214184c
stmdb sp!, {r3, r4, r5, lr}
ldr r2, _021418b0 ; =data_ov60_02148088
mov r4, r1
ldr ip, [r2]
cmp ip, #0
beq _021418a8
cmp r4, #0x68
bhi _021418a8
ldr r1, [ip, #0xc4]
ldr r5, [ip, #8]
orr r3, r1, #0x10
mov r2, r4
add r1, r5, #8
str r3, [ip, #0xc4]
bl func_02007ad8
add r1, r4, #9
ldr r0, _021418b0 ; =data_ov60_02148088
strb r4, [r5, #7]
ldr r0, [r0]
bic r1, r1, #1
strh r1, [r0, #0x18]
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
_021418a8:
mov r0, #0
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov60_0214184c
_021418b0: .word data_ov60_02148088
.global func_ov60_021418b4
arm_func_start func_ov60_021418b4
func_ov60_021418b4: ; 0x021418b4
stmdb sp!, {r4, lr}
sub sp, sp, #8
mov r4, r0
cmp r1, #0
mov r2, #6
beq _021418dc
mov r0, r1
add r1, sp, #0
bl func_02007ad8
b _021418e8
_021418dc:
add r0, sp, #0
mov r1, #0
bl func_02007a44
_021418e8:
ldr r1, _02141934 ; =data_ov60_02148088
mov r0, #6
ldr r2, [r1]
ldrb r1, [sp]
mla r2, r4, r0, r2
ldrb r0, [sp, #1]
strb r1, [r2, #0x28]
strb r0, [r2, #0x29]
ldrb r1, [sp, #2]
ldrb r0, [sp, #3]
strb r1, [r2, #0x2a]
strb r0, [r2, #0x2b]
ldrb r1, [sp, #4]
ldrb r0, [sp, #5]
strb r1, [r2, #0x2c]
strb r0, [r2, #0x2d]
bl func_ov60_02141b8c
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_021418b4
_02141934: .word data_ov60_02148088
.global func_ov60_02141938
arm_func_start func_ov60_02141938
func_ov60_02141938: ; 0x02141938
stmdb sp!, {r3, lr}
sub sp, sp, #8
ldr ip, _021419a8 ; =data_ov60_0214808c
mov lr, #2
ldr r2, [ip]
ldr r0, _021419ac ; =0x5eedf715
ldr r1, _021419b0 ; =0x1b0cb173
ldr r3, _021419b4 ; =data_ov60_02148088
mla r1, r2, r0, r1
mov r2, #8
ldr r0, [r3]
strh lr, [sp]
strh r2, [sp, #2]
str r1, [ip]
str r1, [sp, #4]
ldr r1, [r0, #0x14]
add r0, sp, #0
bl func_02007ad8
ldr r0, _021419b4 ; =data_ov60_02148088
mov r1, #8
ldr r3, [r0]
mov r2, #1
ldr r0, [r3, #0x14]
ldr ip, [r3, #0xac]
mov r3, #0
blx ip
add sp, sp, #8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02141938
_021419a8: .word data_ov60_0214808c
_021419ac: .word 0x5eedf715
_021419b0: .word 0x1b0cb173
_021419b4: .word data_ov60_02148088
.global func_ov60_021419b8
arm_func_start func_ov60_021419b8
func_ov60_021419b8: ; 0x021419b8
stmdb sp!, {r3, lr}
sub sp, sp, #8
ldr r3, _02141a84 ; =data_ov60_02148088
ldr r2, [r3]
ldr r0, [r2, #0xc4]
mov r1, r0, lsl #0x1f
movs r1, r1, asr #0x1f
orrne r0, r0, #2
strne r0, [r2, #0xc4]
addne sp, sp, #8
ldmneia sp!, {r3, pc}
bic r0, r0, #1
orr r0, r0, #1
str r0, [r2, #0xc4]
ldr ip, [r3]
ldr r2, _02141a88 ; =data_ov60_0214808c
ldr r1, [ip, #0xc4]
ldr r0, _02141a8c ; =0x5eedf715
bic r1, r1, #2
str r1, [ip, #0xc4]
ldr ip, [r2]
ldr r1, _02141a90 ; =0x1b0cb173
mov lr, #0
mla r1, ip, r0, r1
mov ip, #0x68
str r1, [r2]
ldr r0, [r3]
strh lr, [sp]
strh ip, [sp, #2]
str r1, [sp, #4]
ldr r1, [r0, #0x14]
add r0, sp, #0
mov r2, #8
bl func_02007ad8
ldr r0, _02141a84 ; =data_ov60_02148088
mov r2, #0x60
ldr r0, [r0]
ldr r1, [r0, #0x14]
add r0, r0, #0x28
add r1, r1, #8
bl func_02007ad8
ldr r0, _02141a84 ; =data_ov60_02148088
ldr r2, _02141a94 ; =0x0000ffff
ldr r1, [r0]
ldr r3, _02141a98 ; =func_ov60_02141a9c
ldr r0, [r1, #0x14]
ldr ip, [r1, #0xac]
mov r1, #0x68
blx ip
add sp, sp, #8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021419b8
_02141a84: .word data_ov60_02148088
_02141a88: .word data_ov60_0214808c
_02141a8c: .word 0x5eedf715
_02141a90: .word 0x1b0cb173
_02141a94: .word 0x0000ffff
_02141a98: .word func_ov60_02141a9c
.global func_ov60_02141a9c
arm_func_start func_ov60_02141a9c
func_ov60_02141a9c: ; 0x02141a9c
stmdb sp!, {r3, lr}
ldr r0, _02141ad0 ; =data_ov60_02148088
ldr r2, [r0]
ldr r1, [r2, #0xc4]
bic r1, r1, #1
str r1, [r2, #0xc4]
ldr r0, [r0]
ldr r0, [r0, #0xc4]
mov r0, r0, lsl #0x1e
movs r0, r0, asr #0x1f
ldmeqia sp!, {r3, pc}
bl func_ov60_021419b8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02141a9c
_02141ad0: .word data_ov60_02148088
.global func_ov60_02141ad4
arm_func_start func_ov60_02141ad4
func_ov60_02141ad4: ; 0x02141ad4
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mov sl, r0
mov fp, r1
mov r4, #0
_02141ae4:
mov r0, #6
mul r7, r4, r0
add sb, sl, r7
mov r0, sb
bl func_ov60_02142cb4
add r8, fp, r7
mov r5, r0
mov r0, r8
bl func_ov60_02142cb4
ldrb r2, [fp, r7]
ldrb r1, [r8, #1]
mov r6, r0
cmp r5, #0
strb r2, [sl, r7]
strb r1, [sb, #1]
ldrb r1, [r8, #2]
ldrb r0, [r8, #3]
strb r1, [sb, #2]
strb r0, [sb, #3]
ldrb r1, [r8, #4]
ldrb r0, [r8, #5]
strb r1, [sb, #4]
strb r0, [sb, #5]
bne _02141b58
cmp r6, #0
beq _02141b58
mov r0, #0
mov r1, r4
bl func_ov60_02144d1c
_02141b58:
cmp r5, #0
beq _02141b74
cmp r6, #0
bne _02141b74
mov r0, #1
mov r1, r4
bl func_ov60_02144d1c
_02141b74:
add r0, r4, #1
mov r0, r0, lsl #0x10
mov r4, r0, lsr #0x10
cmp r4, #0x10
blo _02141ae4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
arm_func_end func_ov60_02141ad4
.global func_ov60_02141b8c
arm_func_start func_ov60_02141b8c
func_ov60_02141b8c: ; 0x02141b8c
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r6, #0
ldr r4, _02141bdc ; =data_ov60_02148088
mov r5, r6
mov r7, r6
_02141ba0:
ldr r0, [r4]
add r0, r0, #0x28
add r0, r0, r7
bl func_ov60_02142cb4
cmp r0, #0
addne r0, r6, #1
add r5, r5, #1
andne r6, r0, #0xff
cmp r5, #0x10
add r7, r7, #6
blt _02141ba0
ldr r0, _02141bdc ; =data_ov60_02148088
ldr r0, [r0]
strb r6, [r0, #0x8c]
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov60_02141b8c
_02141bdc: .word data_ov60_02148088
.global func_ov60_02141be0
arm_func_start func_ov60_02141be0
func_ov60_02141be0: ; 0x02141be0
ldr r0, _02141bfc ; =data_ov60_02148088
ldr ip, _02141c00 ; =func_02007a44
ldr r0, [r0]
mov r1, #0
mov r2, #0x60
add r0, r0, #0x28
bx ip
.align 2, 0
arm_func_end func_ov60_02141be0
_02141bfc: .word data_ov60_02148088
_02141c00: .word func_02007a44
.global func_ov60_02141c04
arm_func_start func_ov60_02141c04
func_ov60_02141c04: ; 0x02141c04
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_0214487c
cmp r0, #0
ldmneia sp!, {r4, pc}
bl func_ov60_02142118
cmp r0, #0
ldmneia sp!, {r4, pc}
ldr r0, _02141c4c ; =data_ov60_02148088
ldr r0, [r0]
ldrh r0, [r0, #0x1e]
cmp r0, #0
mov r0, r4
bne _02141c44
bl func_ov60_02141edc
ldmia sp!, {r4, pc}
_02141c44:
bl func_ov60_02142034
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02141c04
_02141c4c: .word data_ov60_02148088
.global func_ov60_02141c50
arm_func_start func_ov60_02141c50
func_ov60_02141c50: ; 0x02141c50
stmdb sp!, {r3, lr}
ldr r1, _02141c70 ; =data_ov60_02148088
ldr r1, [r1]
ldr r1, [r1, #0xbc]
cmp r1, #0
ldmeqia sp!, {r3, pc}
blx r1
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02141c50
_02141c70: .word data_ov60_02148088
.global func_ov60_02141c74
arm_func_start func_ov60_02141c74
func_ov60_02141c74: ; 0x02141c74
stmdb sp!, {r3, lr}
ldr r0, _02141cfc ; =data_ov60_02148088
ldr r1, [r0]
ldr r0, [r1, #0xc4]
mov r0, r0, lsl #0x1b
movs r0, r0, asr #0x1f
beq _02141cb4
ldrb r1, [r1, #0x8c]
ldr r0, _02141d00 ; =0x0000e34d
bl func_ov60_021415ec
bl func_ov60_021424b8
ldr r0, _02141cfc ; =data_ov60_02148088
ldr r1, [r0]
ldr r0, [r1, #0xc4]
bic r0, r0, #0x10
str r0, [r1, #0xc4]
_02141cb4:
ldr r1, _02141d04 ; =data_ov60_021480a0
ldr r0, [r1]
ldr r0, [r0, #4]
cmp r0, #6
ldmneia sp!, {r3, pc}
ldr r0, _02141cfc ; =data_ov60_02148088
ldr r3, [r0]
ldrb r2, [r3, #0x96]
add r2, r2, #1
strb r2, [r3, #0x96]
ldr r2, [r0]
ldr r0, [r1]
ldrb r1, [r2, #0x96]
ldrb r0, [r0, #0x14]
cmp r1, r0
ldmloia sp!, {r3, pc}
bl func_ov60_021449e0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02141c74
_02141cfc: .word data_ov60_02148088
_02141d00: .word 0x0000e34d
_02141d04: .word data_ov60_021480a0
.global func_ov60_02141d08
arm_func_start func_ov60_02141d08
func_ov60_02141d08: ; 0x02141d08
stmdb sp!, {r4, lr}
ldr r1, _02141de8 ; =data_ov60_02148088
mov r4, r0
ldr r1, [r1]
ldr r1, [r1, #0xc0]
cmp r1, #0
beq _02141d3c
blx r1
cmp r0, #0
bne _02141d3c
ldrh r0, [r4, #0x10]
bl func_ov60_02142438
ldmia sp!, {r4, pc}
_02141d3c:
ldr r1, _02141de8 ; =data_ov60_02148088
ldr r0, _02141dec ; =data_ov60_021480a0
ldr r3, [r1]
ldr r2, [r3, #0xc4]
orr r2, r2, #0x10
str r2, [r3, #0xc4]
ldr r2, [r0]
ldr r0, [r2, #4]
cmp r0, #6
bne _02141da4
mov r0, #9
str r0, [r2, #4]
ldr r0, [r1]
mov r1, #0
strh r1, [r0, #0x1e]
bl func_ov60_02141be0
ldr r1, _02141de8 ; =data_ov60_02148088
ldr r0, _02141df0 ; =0x0000bd8a
ldr r3, [r1]
ldr r2, [r3, #0xc4]
orr r2, r2, #0x20
str r2, [r3, #0xc4]
ldr r1, [r1]
ldrb r1, [r1, #0x8c]
bl func_ov60_021415ec
bl func_ov60_021424b8
_02141da4:
ldrh r0, [r4, #0x10]
add r1, r4, #0xa
bl func_ov60_021418b4
ldrh r1, [r4, #0x10]
mov r0, #0
bl func_ov60_02144d1c
ldr r1, _02141de8 ; =data_ov60_02148088
ldr r0, _02141dec ; =data_ov60_021480a0
ldr r1, [r1]
ldr r0, [r0]
ldrb r1, [r1, #0x8c]
ldrb r0, [r0, #0xb]
cmp r1, r0
ldmloia sp!, {r4, pc}
mov r0, #0
bl func_ov60_021427ec
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02141d08
_02141de8: .word data_ov60_02148088
_02141dec: .word data_ov60_021480a0
_02141df0: .word 0x0000bd8a
.global func_ov60_02141df4
arm_func_start func_ov60_02141df4
func_ov60_02141df4: ; 0x02141df4
stmdb sp!, {r4, lr}
ldr r2, _02141ed4 ; =data_ov60_02148088
ldr r1, _02141ed8 ; =data_ov60_021480a0
ldr r2, [r2]
ldr r1, [r1]
ldrb r2, [r2, #0x8c]
ldrb r1, [r1, #0xb]
mov r4, r0
cmp r2, r1
bne _02141e24
mov r0, #1
bl func_ov60_021427ec
_02141e24:
ldr r0, _02141ed4 ; =data_ov60_02148088
ldrh r1, [r4, #0x10]
ldr r3, [r0]
mov r0, #1
ldrh r2, [r3, #0x98]
mvn r0, r0, lsl r1
and r0, r2, r0
strh r0, [r3, #0x98]
ldrh r0, [r4, #0x10]
mov r1, #0
bl func_ov60_021418b4
ldrh r1, [r4, #0x10]
mov r0, #1
bl func_ov60_02144d1c
ldr r0, _02141ed4 ; =data_ov60_02148088
ldr r1, [r0]
ldrb r0, [r1, #0x8c]
cmp r0, #1
bhi _02141eb0
ldr r0, [r1, #0xc4]
mov r0, r0, lsl #0x1d
movs r0, r0, asr #0x1f
ldmneia sp!, {r4, pc}
ldr r0, [r1, #0x9c]
blx r0
ldr r0, _02141ed4 ; =data_ov60_02148088
ldr r2, [r0]
ldr r1, [r2, #0xc4]
bic r1, r1, #1
str r1, [r2, #0xc4]
ldr r1, [r0]
ldr r0, [r1, #0xc4]
bic r0, r0, #2
str r0, [r1, #0xc4]
ldmia sp!, {r4, pc}
_02141eb0:
ldrh r0, [r4, #0x10]
bl func_ov60_02141c50
bl func_ov60_021419b8
ldr r0, _02141ed4 ; =data_ov60_02148088
ldr r1, [r0]
ldr r0, [r1, #0xc4]
orr r0, r0, #0x10
str r0, [r1, #0xc4]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02141df4
_02141ed4: .word data_ov60_02148088
_02141ed8: .word data_ov60_021480a0
.global func_ov60_02141edc
arm_func_start func_ov60_02141edc
func_ov60_02141edc: ; 0x02141edc
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
ldrh r0, [r4, #0x10]
cmp r0, #0
addeq sp, sp, #4
ldmeqia sp!, {r3, r4, pc}
ldr r0, [r4, #0xc]
add r1, sp, #0
mov r2, #4
bl func_02007ad8
ldrh r0, [sp]
cmp r0, #0
cmpne r0, #1
addeq sp, sp, #4
ldmeqia sp!, {r3, r4, pc}
cmp r0, #2
addne sp, sp, #4
ldmneia sp!, {r3, r4, pc}
ldrh r0, [r4, #0x12]
ldr r1, [r4, #0xc]
bl func_ov60_02141f3c
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
arm_func_end func_ov60_02141edc
.global func_ov60_02141f3c
arm_func_start func_ov60_02141f3c
func_ov60_02141f3c: ; 0x02141f3c
stmdb sp!, {r4, lr}
sub sp, sp, #8
mov r4, r0
mov r0, r1
add r1, sp, #0
mov r2, #8
bl func_02007ad8
ldr r0, _02141f7c ; =data_ov60_02148088
mov r1, #1
ldr r2, [r0]
ldrh r0, [r2, #0x98]
orr r0, r0, r1, lsl r4
strh r0, [r2, #0x98]
bl func_ov60_021419b8
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02141f3c
_02141f7c: .word data_ov60_02148088
.global func_ov60_02141f80
arm_func_start func_ov60_02141f80
func_ov60_02141f80: ; 0x02141f80
ldr r1, _02141fa8 ; =data_ov60_021480a0
mov r3, #9
ldr r2, [r1]
ldr r1, _02141fac ; =data_ov60_02148088
str r3, [r2, #4]
ldrh r2, [r0, #0xa]
ldr r0, [r1]
ldr ip, _02141fb0 ; =func_ov60_02142580
strh r2, [r0, #0x1e]
bx ip
.align 2, 0
arm_func_end func_ov60_02141f80
_02141fa8: .word data_ov60_021480a0
_02141fac: .word data_ov60_02148088
_02141fb0: .word func_ov60_02142580
.global func_ov60_02141fb4
arm_func_start func_ov60_02141fb4
func_ov60_02141fb4: ; 0x02141fb4
bx lr
arm_func_end func_ov60_02141fb4
.global func_ov60_02141fb8
arm_func_start func_ov60_02141fb8
func_ov60_02141fb8: ; 0x02141fb8
stmdb sp!, {r3, lr}
ldr r0, _0214202c ; =data_ov60_021480a0
mov r2, #4
ldr r1, [r0]
ldr r0, _02142030 ; =data_ov60_02148088
str r2, [r1, #4]
ldr r0, [r0]
ldr r0, [r0, #0x9c]
blx r0
ldr r0, _0214202c ; =data_ov60_021480a0
ldr r0, [r0]
ldr r0, [r0, #0x48]
mov r0, r0, lsl #0x17
movs r0, r0, asr #0x1f
beq _02142000
mov r0, #0
mov r1, r0
bl func_ov60_021418b4
_02142000:
ldr r0, _02142030 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #0xc4]
mov r0, r0, lsl #0x1d
movs r0, r0, asr #0x1f
bne _0214201c
bl func_ov60_02144870
_0214201c:
mov r0, #2
mov r1, #0
bl func_ov60_02144d1c
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02141fb8
_0214202c: .word data_ov60_021480a0
_02142030: .word data_ov60_02148088
.global func_ov60_02142034
arm_func_start func_ov60_02142034
func_ov60_02142034: ; 0x02142034
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
ldrh r0, [r4, #0x10]
cmp r0, #0
addeq sp, sp, #4
ldmeqia sp!, {r3, r4, pc}
ldr r0, [r4, #0xc]
add r1, sp, #0
mov r2, #4
bl func_02007ad8
ldrh r0, [sp]
cmp r0, #0
beq _0214207c
add sp, sp, #4
cmp r0, #1
cmpne r0, #2
ldmia sp!, {r3, r4, pc}
_0214207c:
ldr r0, [r4, #0xc]
bl func_ov60_0214208c
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
arm_func_end func_ov60_02142034
.global func_ov60_0214208c
arm_func_start func_ov60_0214208c
func_ov60_0214208c: ; 0x0214208c
stmdb sp!, {r4, lr}
sub sp, sp, #8
add r1, sp, #0
mov r2, #8
mov r4, r0
bl func_02007ad8
ldr r0, _021420e0 ; =data_ov60_02148088
add r1, r4, #8
ldr r0, [r0]
add r0, r0, #0x28
bl func_ov60_02141ad4
bl func_ov60_02141b8c
ldr r0, _021420e4 ; =data_ov60_021480a0
ldr r1, [r0]
ldr r0, [r1, #4]
cmp r0, #9
moveq r0, #0xb
streq r0, [r1, #4]
bl func_ov60_021449e0
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_0214208c
_021420e0: .word data_ov60_02148088
_021420e4: .word data_ov60_021480a0
.global func_ov60_021420e8
arm_func_start func_ov60_021420e8
func_ov60_021420e8: ; 0x021420e8
stmdb sp!, {r3, lr}
bl func_0200ee4c
ldr r1, _02142114 ; =data_ov60_02148088
ldr r3, [r1]
ldr r1, [r3, #0xc4]
mov r2, r1, lsl #0x1c
movs r2, r2, asr #0x1f
orreq r1, r1, #4
streq r1, [r3, #0xc4]
bl func_0200ee60
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021420e8
_02142114: .word data_ov60_02148088
.global func_ov60_02142118
arm_func_start func_ov60_02142118
func_ov60_02142118: ; 0x02142118
stmdb sp!, {r3, lr}
ldr r0, _02142178 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #0xc4]
mov r1, r0, lsl #0x1d
movs r1, r1, asr #0x1f
beq _02142170
mov r0, r0, lsl #0x1c
movs r0, r0, asr #0x1f
bne _02142170
bl func_ov60_02142768
ldr r1, _02142178 ; =data_ov60_02148088
mov r0, #1
ldr r3, [r1]
ldr r2, [r3, #0xc4]
orr r2, r2, #8
str r2, [r3, #0xc4]
ldr r2, [r1]
ldr r1, [r2, #0xc4]
bic r1, r1, #4
str r1, [r2, #0xc4]
ldmia sp!, {r3, pc}
_02142170:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02142118
_02142178: .word data_ov60_02148088
.global func_ov60_0214217c
arm_func_start func_ov60_0214217c
func_ov60_0214217c: ; 0x0214217c
stmdb sp!, {r3, lr}
ldr r1, _021421a4 ; =data_ov60_02148088
ldr r0, _021421a8 ; =func_ov60_021421ac
ldr r1, [r1]
ldr r1, [r1]
bl func_ov01_020f0014
cmp r0, #2
ldmeqia sp!, {r3, pc}
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_0214217c
_021421a4: .word data_ov60_02148088
_021421a8: .word func_ov60_021421ac
.global func_ov60_021421ac
arm_func_start func_ov60_021421ac
func_ov60_021421ac: ; 0x021421ac
stmdb sp!, {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
bne _021421c4
bl func_ov60_021421cc
ldmia sp!, {r3, pc}
_021421c4:
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
arm_func_end func_ov60_021421ac
.global func_ov60_021421cc
arm_func_start func_ov60_021421cc
func_ov60_021421cc: ; 0x021421cc
stmdb sp!, {r3, lr}
ldr r0, _021421e8 ; =func_ov60_021421ec
bl func_ov01_020f019c
cmp r0, #2
ldmeqia sp!, {r3, pc}
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021421cc
_021421e8: .word func_ov60_021421ec
.global func_ov60_021421ec
arm_func_start func_ov60_021421ec
func_ov60_021421ec: ; 0x021421ec
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_0214487c
cmp r0, #0
ldmneia sp!, {r4, pc}
ldrh r0, [r4, #2]
cmp r0, #0
bne _0214228c
ldrh r0, [r4, #8]
cmp r0, #7
bgt _0214223c
bge _02142254
cmp r0, #2
ldmgtia sp!, {r4, pc}
cmp r0, #0
ldmltia sp!, {r4, pc}
ldmeqia sp!, {r4, pc}
cmp r0, #2
beq _02142248
ldmia sp!, {r4, pc}
_0214223c:
cmp r0, #9
beq _02142260
ldmia sp!, {r4, pc}
_02142248:
mov r0, r4
bl func_ov60_02141c74
ldmia sp!, {r4, pc}
_02142254:
mov r0, r4
bl func_ov60_02141d08
ldmia sp!, {r4, pc}
_02142260:
ldr r0, _02142294 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #0xc4]
mov r0, r0, lsl #0x1d
movs r0, r0, asr #0x1f
beq _02142280
bl func_ov60_02144870
ldmia sp!, {r4, pc}
_02142280:
mov r0, r4
bl func_ov60_02141df4
ldmia sp!, {r4, pc}
_0214228c:
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_021421ec
_02142294: .word data_ov60_02148088
.global func_ov60_02142298
arm_func_start func_ov60_02142298
func_ov60_02142298: ; 0x02142298
stmdb sp!, {r3, lr}
ldr r0, _021422b4 ; =func_ov60_021422b8
bl func_ov01_020f01ac
cmp r0, #2
ldmeqia sp!, {r3, pc}
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02142298
_021422b4: .word func_ov60_021422b8
.global func_ov60_021422b8
arm_func_start func_ov60_021422b8
func_ov60_021422b8: ; 0x021422b8
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_0214487c
cmp r0, #0
ldmneia sp!, {r4, pc}
ldrh r0, [r4, #2]
cmp r0, #0
bne _0214230c
ldr r0, _02142314 ; =data_ov60_021480a0
mov r2, #4
ldr r1, [r0]
ldr r0, _02142318 ; =data_ov60_02148088
str r2, [r1, #4]
ldr r0, [r0]
ldr r0, [r0, #0xc4]
mov r0, r0, lsl #0x1c
movs r0, r0, asr #0x1f
beq _02142304
bl func_ov60_02141038
_02142304:
bl func_ov60_021449e0
ldmia sp!, {r4, pc}
_0214230c:
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_021422b8
_02142314: .word data_ov60_021480a0
_02142318: .word data_ov60_02148088
.global func_ov60_0214231c
arm_func_start func_ov60_0214231c
func_ov60_0214231c: ; 0x0214231c
stmdb sp!, {r3, lr}
mov r1, r0
mov r2, #0
ldr r0, _02142348 ; =func_ov60_0214234c
mov r3, #1
str r2, [sp]
bl func_ov01_020f0468
cmp r0, #2
ldmeqia sp!, {r3, pc}
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_0214231c
_02142348: .word func_ov60_0214234c
.global func_ov60_0214234c
arm_func_start func_ov60_0214234c
func_ov60_0214234c: ; 0x0214234c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_0214487c
cmp r0, #0
ldmneia sp!, {r4, pc}
ldrh r0, [r4, #2]
cmp r0, #0
bne _021423f4
ldrh r0, [r4, #8]
cmp r0, #9
addls pc, pc, r0, lsl #2
b _021423e8
_0214237c: ; jump table
b _021423e8 ; case 0
b _021423e8 ; case 1
b _021423e8 ; case 2
b _021423e8 ; case 3
b _021423e8 ; case 4
b _021423e8 ; case 5
ldmia sp!, {r4, pc} ; case 6
b _021423a4 ; case 7
b _021423b0 ; case 8
b _021423bc ; case 9
_021423a4:
mov r0, r4
bl func_ov60_02141f80
ldmia sp!, {r4, pc}
_021423b0:
mov r0, r4
bl func_ov60_02141fb4
ldmia sp!, {r4, pc}
_021423bc:
ldr r0, _02142430 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #0xc4]
mov r0, r0, lsl #0x1d
movs r0, r0, asr #0x1f
beq _021423dc
bl func_ov60_02144870
ldmia sp!, {r4, pc}
_021423dc:
mov r0, r4
bl func_ov60_02141fb8
ldmia sp!, {r4, pc}
_021423e8:
mov r0, #0x10
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
_021423f4:
cmp r0, #1
bne _02142428
ldr r0, _02142430 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #0xc4]
mov r0, r0, lsl #0x19
movs r0, r0, asr #0x1f
beq _02142420
ldr r0, _02142434 ; =func_ov60_02142838
bl func_ov60_02144b84
ldmia sp!, {r4, pc}
_02142420:
bl func_ov60_02144870
ldmia sp!, {r4, pc}
_02142428:
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_0214234c
_02142430: .word data_ov60_02148088
_02142434: .word func_ov60_02142838
.global func_ov60_02142438
arm_func_start func_ov60_02142438
func_ov60_02142438: ; 0x02142438
stmdb sp!, {r3, lr}
mov r1, r0
ldr r0, _02142460 ; =func_ov60_02142464
bl func_ov01_020f0534
cmp r0, #2
moveq r0, #1
ldmeqia sp!, {r3, pc}
bl func_ov60_02144cb8
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02142438
_02142460: .word func_ov60_02142464
.global func_ov60_02142464
arm_func_start func_ov60_02142464
func_ov60_02142464: ; 0x02142464
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_0214487c
cmp r0, #0
ldmneia sp!, {r4, pc}
ldrh r0, [r4, #2]
cmp r0, #0
bne _021424ac
ldr r0, _021424b4 ; =data_ov60_021480a0
ldr r1, [r0]
ldr r0, [r1, #4]
cmp r0, #0xb
ldmneia sp!, {r4, pc}
mov r0, #4
str r0, [r1, #4]
bl func_ov60_02141038
bl func_ov60_021449e0
ldmia sp!, {r4, pc}
_021424ac:
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02142464
_021424b4: .word data_ov60_021480a0
.global func_ov60_021424b8
arm_func_start func_ov60_021424b8
func_ov60_021424b8: ; 0x021424b8
stmdb sp!, {r3, lr}
sub sp, sp, #8
ldr r1, _02142528 ; =data_ov60_021480a0
ldr r0, _0214252c ; =data_ov60_02148088
ldr ip, [r1]
ldr r1, [r0]
ldrb r0, [ip, #0xb]
ldrb r1, [r1, #0x8c]
cmp r1, r0
ldr r0, _0214252c ; =data_ov60_02148088
movlo r1, #1
ldr r3, [r0]
movhs r1, #0
ldrh r2, [r3, #0x20]
and r1, r1, #0xff
ldr r0, _02142530 ; =func_ov60_02142534
str r2, [sp]
str r1, [sp, #4]
ldrh r2, [r3, #0x18]
ldr r1, [r3, #8]
ldr r3, [ip, #0x28]
bl func_ov01_020f1958
cmp r0, #2
addeq sp, sp, #8
ldmeqia sp!, {r3, pc}
bl func_ov60_02144cb8
add sp, sp, #8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021424b8
_02142528: .word data_ov60_021480a0
_0214252c: .word data_ov60_02148088
_02142530: .word func_ov60_02142534
.global func_ov60_02142534
arm_func_start func_ov60_02142534
func_ov60_02142534: ; 0x02142534
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_0214487c
cmp r0, #0
ldmneia sp!, {r4, pc}
ldrh r0, [r4, #2]
cmp r0, #0
bne _02142574
ldr r0, _0214257c ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #0xc4]
mov r0, r0, lsl #0x1a
movs r0, r0, asr #0x1f
ldmeqia sp!, {r4, pc}
bl func_ov60_02142580
ldmia sp!, {r4, pc}
_02142574:
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02142534
_0214257c: .word data_ov60_02148088
.global func_ov60_02142580
arm_func_start func_ov60_02142580
func_ov60_02142580: ; 0x02142580
stmdb sp!, {lr}
sub sp, sp, #0x1c
ldr r0, _02142614 ; =data_ov60_02148088
ldr r1, _02142618 ; =data_ov60_021480a0
ldr r3, [r0]
ldr lr, [r1]
ldrh r0, [r3, #0x1c]
mov r2, #4
mov r1, #1
str r0, [sp]
ldrb ip, [lr, #0x17]
ldr r0, _0214261c ; =func_ov60_02142620
str ip, [sp, #4]
str r2, [sp, #8]
ldr r2, [lr, #0x48]
mov r2, r2, lsl #0x1f
mov r2, r2, asr #0x1f
str r2, [sp, #0xc]
ldr r2, [lr, #0x48]
mov r2, r2, lsl #0x1e
mov r2, r2, asr #0x1f
str r2, [sp, #0x10]
str r1, [sp, #0x14]
ldr r1, [lr, #0x48]
mov r1, r1, lsl #0x1d
mov r1, r1, asr #0x1f
str r1, [sp, #0x18]
ldrh r2, [r3, #0x1a]
ldr r1, [r3, #0xc]
ldr r3, [r3, #0x10]
bl func_ov01_020f077c
cmp r0, #2
addeq sp, sp, #0x1c
ldmeqia sp!, {pc}
bl func_ov60_02144cb8
add sp, sp, #0x1c
ldmia sp!, {pc}
.align 2, 0
arm_func_end func_ov60_02142580
_02142614: .word data_ov60_02148088
_02142618: .word data_ov60_021480a0
_0214261c: .word func_ov60_02142620
.global func_ov60_02142620
arm_func_start func_ov60_02142620
func_ov60_02142620: ; 0x02142620
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_0214487c
cmp r0, #0
ldmneia sp!, {r4, pc}
ldrh r0, [r4, #2]
cmp r0, #0
bne _02142748
ldrh r0, [r4, #4]
sub r0, r0, #0xa
cmp r0, #3
addls pc, pc, r0, lsl #2
ldmia sp!, {r4, pc}
_02142654: ; jump table
b _02142664 ; case 0
b _02142704 ; case 1
b _02142724 ; case 2
b _0214272c ; case 3
_02142664:
ldr r1, _02142760 ; =data_ov60_02148088
ldr r0, _02142764 ; =data_ov60_021480a0
ldr r3, [r1]
ldr r2, [r3, #0xc4]
bic r2, r2, #0x20
str r2, [r3, #0xc4]
ldr r2, [r0]
ldr r0, [r2, #0x48]
orr r0, r0, #0x1000
str r0, [r2, #0x48]
ldr r0, [r1]
ldr r0, [r0, #0x9c]
blx r0
ldr r0, _02142760 ; =data_ov60_02148088
ldr r2, [r0]
ldr r1, [r2, #0xc4]
bic r1, r1, #1
str r1, [r2, #0xc4]
ldr r2, [r0]
ldr r1, [r2, #0xc4]
bic r1, r1, #2
str r1, [r2, #0xc4]
ldr r1, [r0]
ldrh r0, [r1, #0x1e]
cmp r0, #0
bne _021426fc
add r1, r1, #0x22
mov r0, #0
bl func_ov60_021418b4
ldr r0, _02142764 ; =data_ov60_021480a0
ldr r1, [r0]
ldr r0, [r1, #4]
cmp r0, #0xa
movne r0, #0xa
strne r0, [r1, #4]
bl func_ov60_021419b8
bl func_ov60_021449e0
ldmia sp!, {r4, pc}
_021426fc:
bl func_ov60_02141938
ldmia sp!, {r4, pc}
_02142704:
bl func_ov60_02142118
ldr r0, _02142760 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #0xa0]
cmp r0, #0
ldmeqia sp!, {r4, pc}
blx r0
ldmia sp!, {r4, pc}
_02142724:
bl func_ov60_02142118
ldmia sp!, {r4, pc}
_0214272c:
ldr r0, _02142760 ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #0xa4]
cmp r0, #0
ldmeqia sp!, {r4, pc}
blx r0
ldmia sp!, {r4, pc}
_02142748:
cmp r0, #9
cmpne r0, #0xd
cmpne r0, #0xf
ldmeqia sp!, {r4, pc}
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02142620
_02142760: .word data_ov60_02148088
_02142764: .word data_ov60_021480a0
.global func_ov60_02142768
arm_func_start func_ov60_02142768
func_ov60_02142768: ; 0x02142768
stmdb sp!, {r3, lr}
ldr r0, _02142784 ; =func_ov60_02142788
bl func_ov01_020f0a78
cmp r0, #2
ldmeqia sp!, {r3, pc}
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02142768
_02142784: .word func_ov60_02142788
.global func_ov60_02142788
arm_func_start func_ov60_02142788
func_ov60_02142788: ; 0x02142788
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_0214487c
cmp r0, #0
ldmneia sp!, {r4, pc}
ldrh r0, [r4, #2]
cmp r0, #0
bne _021427e0
ldr r0, _021427e8 ; =data_ov60_02148088
ldr r1, [r0]
ldr r0, [r1, #0xc4]
mov r0, r0, lsl #0x1c
movs r0, r0, asr #0x1f
ldmeqia sp!, {r4, pc}
ldrh r0, [r1, #0x1e]
cmp r0, #0
bne _021427d4
bl func_ov60_02142298
ldmia sp!, {r4, pc}
_021427d4:
mov r0, #0
bl func_ov60_02142438
ldmia sp!, {r4, pc}
_021427e0:
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02142788
_021427e8: .word data_ov60_02148088
.global func_ov60_021427ec
arm_func_start func_ov60_021427ec
func_ov60_021427ec: ; 0x021427ec
stmdb sp!, {r3, lr}
mov r1, r0
ldr r0, _0214280c ; =func_ov60_02142810
bl func_ov01_020f1b38
cmp r0, #2
ldmeqia sp!, {r3, pc}
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021427ec
_0214280c: .word func_ov60_02142810
.global func_ov60_02142810
arm_func_start func_ov60_02142810
func_ov60_02142810: ; 0x02142810
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_0214487c
cmp r0, #0
ldmneia sp!, {r4, pc}
ldrh r0, [r4, #2]
cmp r0, #0
ldmeqia sp!, {r4, pc}
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
arm_func_end func_ov60_02142810
.global func_ov60_02142838
arm_func_start func_ov60_02142838
func_ov60_02142838: ; 0x02142838
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_02144c44
ldrh r0, [r4, #2]
cmp r0, #0
bne _0214286c
ldr r0, _02142874 ; =data_ov60_021480a0
mov r2, #4
ldr r1, [r0]
mov r0, #0x64
str r2, [r1, #4]
bl func_ov60_021408d8
ldmia sp!, {r4, pc}
_0214286c:
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02142838
_02142874: .word data_ov60_021480a0
.global func_ov60_02142878
arm_func_start func_ov60_02142878
func_ov60_02142878: ; 0x02142878
ldrb r1, [r0, #1]
ldrb r2, [r0]
ldrb r3, [r0, #2]
mov r1, r1, lsl #0x10
orr r1, r1, r2, lsl #24
ldrb r2, [r0, #3]
orr r0, r1, r3, lsl #8
orr r0, r2, r0
bx lr
arm_func_end func_ov60_02142878
.global func_ov60_0214289c
arm_func_start func_ov60_0214289c
func_ov60_0214289c: ; 0x0214289c
mov ip, #0
_021428a0:
ldrb r3, [r1, ip]
ldrb r2, [r0, ip]
cmp r2, r3
movhi r0, #1
bxhi lr
mvnlo r0, #0
bxlo lr
add ip, ip, #1
cmp ip, #6
blt _021428a0
mov r0, #0
bx lr
arm_func_end func_ov60_0214289c
.global func_ov60_021428d0
arm_func_start func_ov60_021428d0
func_ov60_021428d0: ; 0x021428d0
stmdb sp!, {r3, lr}
ldr r1, _021428fc ; =data_ov60_02148088
ldr r1, [r1]
ldr r1, [r1, #0xc4]
mov r1, r1, lsl #0x18
movs r1, r1, asr #0x1f
beq _021428f4
bl func_ov60_02144f74
ldmia sp!, {r3, pc}
_021428f4:
bl func_ov60_021417a0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021428d0
_021428fc: .word data_ov60_02148088
.global func_ov60_02142900
arm_func_start func_ov60_02142900
func_ov60_02142900: ; 0x02142900
stmdb sp!, {r3, lr}
cmp r0, #0
ldrneh r3, [r0]
cmpne r3, #0
beq _02142948
ldrh ip, [r0, #8]
ldr r3, _02142950 ; =0x00002348
cmp ip, r3
ldrne r3, _02142954 ; =0x0000bd8a
cmpne ip, r3
bne _02142948
ldr r3, _02142958 ; =data_ov60_02148088
add ip, r0, #0x20
ldr r3, [r3]
mov r0, #5
str ip, [r3, #0x88]
bl func_ov60_021443c8
ldmia sp!, {r3, pc}
_02142948:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02142900
_02142950: .word 0x00002348
_02142954: .word 0x0000bd8a
_02142958: .word data_ov60_02148088
.global func_ov60_0214295c
arm_func_start func_ov60_0214295c
func_ov60_0214295c: ; 0x0214295c
stmdb sp!, {r4, lr}
ldr r1, _021429b0 ; =data_ov60_021480a0
mov r4, r0
ldr r0, [r1]
ldr r0, [r0, #0x44]
cmp r0, #0
beq _0214297c
blx r0
_0214297c:
ldr r0, _021429b4 ; =data_ov60_02148088
ldr r0, [r0]
cmp r0, #0
ldrne r0, [r0, #0xa8]
cmpne r0, #0
beq _02142998
blx r0
_02142998:
bl func_ov60_0214428c
cmp r4, #0
ldmeqia sp!, {r4, pc}
mov r0, #0
blx r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_0214295c
_021429b0: .word data_ov60_021480a0
_021429b4: .word data_ov60_02148088
.global func_ov60_021429b8
arm_func_start func_ov60_021429b8
func_ov60_021429b8: ; 0x021429b8
stmdb sp!, {r4, lr}
ldr r1, _02142a38 ; =data_ov60_021480a0
mov r2, r0
ldr r1, [r1]
mov r4, #1
cmp r1, #0
beq _02142a30
ldr r1, [r1, #4]
cmp r1, #2
ble _02142a28
ldr r0, _02142a3c ; =data_ov60_02148088
ldr r0, [r0]
ldr r0, [r0, #0xc4]
mov r0, r0, lsl #0x16
movs r0, r0, asr #0x1f
bne _02142a30
ldr r1, _02142a40 ; =func_ov60_0214295c
mov r0, #0
bl func_ov60_021443c8
cmp r0, #0
beq _02142a30
ldr r0, _02142a3c ; =data_ov60_02148088
mov r4, #2
ldr r1, [r0]
ldr r0, [r1, #0xc4]
orr r0, r0, #0x200
str r0, [r1, #0xc4]
b _02142a30
_02142a28:
bl func_ov60_0214295c
mov r4, #0
_02142a30:
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_021429b8
_02142a38: .word data_ov60_021480a0
_02142a3c: .word data_ov60_02148088
_02142a40: .word func_ov60_0214295c
.global func_ov60_02142a44
arm_func_start func_ov60_02142a44
func_ov60_02142a44: ; 0x02142a44
stmdb sp!, {r3, lr}
ldr r1, _02142a6c ; =data_ov60_021480a0
mov r0, #0
ldr r2, [r1]
ldr r1, [r2, #0x48]
bic r1, r1, #8
str r1, [r2, #0x48]
bl func_ov60_021408d8
bl func_ov60_021449e0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02142a44
_02142a6c: .word data_ov60_021480a0
.global func_ov60_02142a70
arm_func_start func_ov60_02142a70
func_ov60_02142a70: ; 0x02142a70
ldr r3, _02142ac4 ; =data_ov60_02148088
ldr r1, [r3]
ldrb r0, [r1, #0x94]
add r0, r0, #1
strb r0, [r1, #0x94]
ldr r1, [r3]
ldrb r0, [r1, #0x94]
cmp r0, #4
bxlo lr
mov r0, #0
strb r0, [r1, #0x94]
ldr r2, _02142ac8 ; =data_ov60_0214808c
ldr r0, _02142acc ; =0x5eedf715
ldr ip, [r2]
ldr r1, _02142ad0 ; =0x1b0cb173
ldr r3, [r3]
mla r0, ip, r0, r1
str r0, [r2]
and r0, r0, #3
strb r0, [r3, #0x93]
bx lr
.align 2, 0
arm_func_end func_ov60_02142a70
_02142ac4: .word data_ov60_02148088
_02142ac8: .word data_ov60_0214808c
_02142acc: .word 0x5eedf715
_02142ad0: .word 0x1b0cb173
.global func_ov60_02142ad4
arm_func_start func_ov60_02142ad4
func_ov60_02142ad4: ; 0x02142ad4
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
ldr sl, _02142b98 ; =data_ov60_021480a0
mov r6, #0
ldr r0, [sl]
mov r5, r6
ldrb r0, [r0, #0xc]
cmp r0, #0
bls _02142b78
ldr r8, _02142b9c ; =0x0000bd8a
ldr r7, _02142ba0 ; =0x00002348
ldr sb, _02142ba4 ; =data_ov60_02148088
_02142b00:
ldr r0, [sb]
mov r1, r5
ldrb r0, [r0, #0x95]
bl func_ov60_02140edc
mov r4, r0
ldrh r0, [r4]
cmp r0, #0
beq _02142b60
ldrh r0, [r4, #8]
cmp r0, r8
moveq r6, r4
beq _02142b78
ldrh r0, [r4, #8]
cmp r0, r7
bne _02142b60
cmp r6, #0
beq _02142b5c
add r0, r4, #2
add r1, r6, #2
bl func_ov60_0214289c
cmp r0, #0
movne r6, r4
b _02142b60
_02142b5c:
mov r6, r4
_02142b60:
ldr r0, [sl]
add r1, r5, #1
ldrb r0, [r0, #0xc]
and r5, r1, #0xff
cmp r5, r0
blo _02142b00
_02142b78:
cmp r6, #0
moveq r0, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
add r0, r6, #0x20
mov r1, #1
bl func_ov60_021417f8
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
arm_func_end func_ov60_02142ad4
_02142b98: .word data_ov60_021480a0
_02142b9c: .word 0x0000bd8a
_02142ba0: .word 0x00002348
_02142ba4: .word data_ov60_02148088
.global func_ov60_02142ba8
arm_func_start func_ov60_02142ba8
func_ov60_02142ba8: ; 0x02142ba8
stmdb sp!, {r4, lr}
ldr r1, _02142c8c ; =data_ov60_021480a0
ldr r0, _02142c90 ; =data_ov60_02148088
ldr r2, [r1]
mov r4, #0
ldr r1, [r2, #0x48]
orr r1, r1, #8
str r1, [r2, #0x48]
ldr r1, [r0]
ldr r0, [r1, #0xc4]
mov r0, r0, lsl #0x17
movs r0, r0, asr #0x1f
beq _02142bf4
ldrb r0, [r1, #0x95]
bl func_ov60_02140e94
cmp r0, #0
ble _02142bf4
bl func_ov60_02142ad4
mov r4, r0
_02142bf4:
cmp r4, #0
ldmneia sp!, {r4, pc}
ldr r0, _02142c90 ; =data_ov60_02148088
ldr r0, [r0]
ldrb r1, [r0, #0x94]
ldrb r0, [r0, #0x93]
cmp r1, r0
bne _02142c5c
ldr r0, _02142c8c ; =data_ov60_021480a0
ldr r0, [r0]
ldr r0, [r0, #4]
cmp r0, #4
beq _02142c44
cmp r0, #6
beq _02142c3c
cmp r0, #7
beq _02142c44
ldmia sp!, {r4, pc}
_02142c3c:
bl func_ov60_02142298
ldmia sp!, {r4, pc}
_02142c44:
bl func_ov60_02142a70
ldr r0, _02142c8c ; =data_ov60_021480a0
ldr r0, [r0]
ldrh r0, [r0, #0x20]
bl func_ov60_021408d8
ldmia sp!, {r4, pc}
_02142c5c:
ldr r0, _02142c8c ; =data_ov60_021480a0
ldr r0, [r0]
ldr r0, [r0, #4]
cmp r0, #4
beq _02142c7c
cmp r0, #6
beq _02142c84
ldmia sp!, {r4, pc}
_02142c7c:
ldr r0, _02142c94 ; =0x00002348
bl func_ov60_021428d0
_02142c84:
bl func_ov60_02142a70
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02142ba8
_02142c8c: .word data_ov60_021480a0
_02142c90: .word data_ov60_02148088
_02142c94: .word 0x00002348
.global func_ov60_02142c98
arm_func_start func_ov60_02142c98
func_ov60_02142c98: ; 0x02142c98
ldr r0, _02142cb0 ; =data_ov60_02148088
ldr r0, [r0]
cmp r0, #0
ldrneb r0, [r0, #0x8c]
moveq r0, #0
bx lr
.align 2, 0
arm_func_end func_ov60_02142c98
_02142cb0: .word data_ov60_02148088
.global func_ov60_02142cb4
arm_func_start func_ov60_02142cb4
func_ov60_02142cb4: ; 0x02142cb4
ldrb r1, [r0]
cmp r1, #0
ldreqb r1, [r0, #1]
cmpeq r1, #0
ldreqb r1, [r0, #2]
cmpeq r1, #0
ldreqb r1, [r0, #3]
cmpeq r1, #0
ldreqb r1, [r0, #4]
cmpeq r1, #0
ldreqb r0, [r0, #5]
cmpeq r0, #0
movne r0, #1
moveq r0, #0
bx lr
arm_func_end func_ov60_02142cb4
.global func_ov60_02142cf0
arm_func_start func_ov60_02142cf0
func_ov60_02142cf0: ; 0x02142cf0
stmdb sp!, {r4, lr}
mov r4, r0
bl func_0200ee4c
ldr r1, _02142d14 ; =data_ov60_02148088
ldr r1, [r1]
cmp r1, #0
strne r4, [r1, #0xb8]
bl func_0200ee60
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02142cf0
_02142d14: .word data_ov60_02148088
.global func_ov60_02142d18
arm_func_start func_ov60_02142d18
func_ov60_02142d18: ; 0x02142d18
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, #0
bl func_0200ee4c
ldr r1, _02142d48 ; =data_ov60_02148088
ldr r1, [r1]
cmp r1, #0
ldrne r4, [r1, #0xc0]
strne r5, [r1, #0xc0]
bl func_0200ee60
mov r0, r4
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov60_02142d18
_02142d48: .word data_ov60_02148088
.global func_ov60_02142d4c
arm_func_start func_ov60_02142d4c
func_ov60_02142d4c: ; 0x02142d4c
stmdb sp!, {r3, r4, r5, r6, r7, lr}
ldr ip, _02142ea0 ; =data_ov60_021480a0
ldrb r3, [r0, #6]
ldrb r5, [r0, #4]
ldr r4, [r0]
ldr r2, [ip]
smulbb r6, r3, r5
str r4, [r2, #0x28]
ldr r5, [ip]
add r2, r6, #4
ldr r4, [r5, #0x48]
mov r2, r2, lsl #0x10
bic r4, r4, #1
str r4, [r5, #0x48]
ldr r6, [ip]
mov r5, #1
ldr r4, [r6, #0x48]
mov r2, r2, lsr #0x10
orr r4, r4, #0x20
str r4, [r6, #0x48]
ldr r7, [ip]
mov r4, #0x96
ldr r6, [r7, #0x48]
mov lr, #0xb4
orr r6, r6, #0x40
str r6, [r7, #0x48]
ldr r7, [ip]
ldr r6, [r7, #0x48]
orr r6, r6, #0x80
str r6, [r7, #0x48]
ldr r7, [ip]
ldr r6, [r7, #0x48]
bic r6, r6, #0x200
str r6, [r7, #0x48]
ldr r7, [ip]
ldr r6, [r7, #0x48]
bic r6, r6, #0x100
str r6, [r7, #0x48]
ldr r7, [ip]
ldr r6, [r7, #0x48]
orr r6, r6, #4
str r6, [r7, #0x48]
ldr r7, [ip]
ldr r6, [r7, #0x48]
orr r6, r6, #2
str r6, [r7, #0x48]
ldrb r7, [r0, #7]
ldr r6, [ip]
strb r7, [r6, #0x17]
ldr r6, [ip]
strb r1, [r6, #8]
ldr r1, [ip]
strb r5, [r1, #9]
ldrb r5, [r0, #4]
ldr r1, [ip]
sub r5, r5, #1
strb r5, [r1, #0xa]
ldrb r5, [r0, #4]
ldr r1, [ip]
strb r5, [r1, #0xb]
ldrb r1, [r0, #5]
ldr r0, [ip]
strb r1, [r0, #0xc]
ldr r0, [ip]
strh r3, [r0, #0x18]
ldr r0, [ip]
strh r2, [r0, #0x1a]
ldr r0, [ip]
strh r2, [r0, #0x1c]
ldr r0, [ip]
strh r3, [r0, #0x1e]
ldr r0, [ip]
strh r4, [r0, #0x22]
ldr r0, [ip]
strh lr, [r0, #0x20]
ldr r0, [ip]
mov r1, #0x64
strh r1, [r0, #0x24]
ldr r0, [ip]
mov r1, #0xa
strb r1, [r0, #0x26]
ldr r0, [ip]
mov r1, #9
strb r1, [r0, #0x14]
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov60_02142d4c
_02142ea0: .word data_ov60_021480a0
.global func_ov60_02142ea4
arm_func_start func_ov60_02142ea4
func_ov60_02142ea4: ; 0x02142ea4
stmdb sp!, {r4, r5, r6, lr}
ldr r1, _02142f2c ; =data_ov60_021480a0
mov r6, r0
ldr r0, [r1]
mov r1, #0x20
ldrh r0, [r0, #0x1a]
add r0, r0, #0x43
bic r4, r0, #0x1f
mul r0, r4, r6
bl func_ov60_02144c60
mul r2, r4, r6
mov r1, #0
mov r5, r0
bl func_02007a44
mov r1, #0
sub r2, r6, #1
mov r0, r5
mov r6, r1
b _02142f14
_02142ef0:
add r1, r1, #1
mov r1, r1, lsl #0x10
strb r6, [r5, #0x20]
add r3, r5, r4
mov ip, r5
str r3, [r5, #4]
mov r5, r3
str ip, [r5]
mov r1, r1, lsr #0x10
_02142f14:
cmp r1, r2
blt _02142ef0
strb r2, [r5, #0x20]
str r0, [r5, #4]
str r5, [r0]
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov60_02142ea4
_02142f2c: .word data_ov60_021480a0
.global func_ov60_02142f30
arm_func_start func_ov60_02142f30
func_ov60_02142f30: ; 0x02142f30
cmp r1, #0
mov r2, #0
bxle lr
mov r3, r2
_02142f40:
strh r3, [r0, #8]
add r2, r2, #1
mov r2, r2, lsl #0x10
strh r3, [r0, #0xa]
strh r3, [r0, #0xc]
cmp r1, r2, lsr #16
mov r2, r2, lsr #0x10
ldr r0, [r0, #4]
bgt _02142f40
bx lr
arm_func_end func_ov60_02142f30
.global func_ov60_02142f68
arm_func_start func_ov60_02142f68
func_ov60_02142f68: ; 0x02142f68
stmdb sp!, {r3, r4, r5, lr}
ldr r2, _021430ec ; =data_ov60_02148090
mov r4, r0
ldr r2, [r2]
cmp r2, #0
bne _021430e4
bl func_ov60_02142d4c
bl func_ov60_0214137c
ldr r0, _021430f0 ; =data_ov60_02148088
ldr r2, _021430f4 ; =func_ov60_02143eec
ldr r1, [r0]
ldr r3, _021430f8 ; =func_ov60_021439bc
str r2, [r1, #0x9c]
ldr r1, [r0]
ldr r2, _021430fc ; =func_ov60_02143ae8
str r3, [r1, #0xa0]
ldr r1, [r0]
ldr r3, _02143100 ; =func_ov60_02143bac
str r2, [r1, #0xa4]
ldr r1, [r0]
ldr r2, _02143104 ; =func_ov60_02143258
str r3, [r1, #0xac]
ldr r1, [r0]
ldr r3, _02143108 ; =func_ov60_0214320c
str r2, [r1, #0xb0]
ldr r1, [r0]
ldr r2, _0214310c ; =func_ov60_02143174
str r3, [r1, #0xb4]
ldr r1, [r0]
ldr r3, _02143110 ; =func_ov60_02143b0c
str r2, [r1, #0xa8]
ldr r2, [r0]
mov r0, #0x34
mov r1, #4
str r3, [r2, #0xbc]
bl func_ov60_02144c60
ldr r1, _02143114 ; =data_ov60_021480a0
ldr r2, _021430ec ; =data_ov60_02148090
ldr r1, [r1]
str r0, [r2]
ldrb r0, [r1, #0xb]
mov r1, #4
mov r5, r0, lsl #0x4
mov r0, r5
bl func_ov60_02144c60
mov r2, r5
ldr r3, _021430ec ; =data_ov60_02148090
mov r1, #0
ldr ip, [r3]
str r0, [ip, #0x30]
ldr r0, [r3]
ldr r0, [r0, #0x30]
bl func_02007a44
mov r0, #3
bl func_ov60_02142ea4
ldr r1, _021430ec ; =data_ov60_02148090
ldr r1, [r1]
str r0, [r1, #8]
mov r0, #3
bl func_ov60_02142ea4
ldr r1, _021430ec ; =data_ov60_02148090
ldr r2, _02143114 ; =data_ov60_021480a0
ldr r3, [r1]
mov r1, #4
str r0, [r3, #0xc]
ldr r0, [r2]
ldrb r0, [r0, #0xb]
mov r5, r0, lsl #0x2
mov r0, r5
bl func_ov60_02144c60
mov r2, r5
ldr r3, _021430ec ; =data_ov60_02148090
mov r1, #0
ldr ip, [r3]
str r0, [ip, #0x18]
ldr r0, [r3]
ldr r0, [r0, #0x18]
bl func_02007a44
ldrb r3, [r4, #6]
ldr r1, _021430ec ; =data_ov60_02148090
mov r0, #0xc
ldr r2, [r1]
ldr r1, _02143118 ; =func_ov60_02141c04
strb r3, [r2]
mov r2, #0
bl func_ov01_020ef72c
mov r0, #0xd
ldr r1, _0214311c ; =func_ov60_02143e9c
mov r2, #0
bl func_ov01_020ef72c
ldr r0, _02143120 ; =func_ov60_021432ec
bl func_ov01_020ef6e8
bl func_ov60_02143eec
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
_021430e4:
mov r0, #0
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov60_02142f68
_021430ec: .word data_ov60_02148090
_021430f0: .word data_ov60_02148088
_021430f4: .word func_ov60_02143eec
_021430f8: .word func_ov60_021439bc
_021430fc: .word func_ov60_02143ae8
_02143100: .word func_ov60_02143bac
_02143104: .word func_ov60_02143258
_02143108: .word func_ov60_0214320c
_0214310c: .word func_ov60_02143174
_02143110: .word func_ov60_02143b0c
_02143114: .word data_ov60_021480a0
_02143118: .word func_ov60_02141c04
_0214311c: .word func_ov60_02143e9c
_02143120: .word func_ov60_021432ec
.global func_ov60_02143124
arm_func_start func_ov60_02143124
func_ov60_02143124: ; 0x02143124
ldr ip, _02143130 ; =func_ov60_02142f68
mov r1, #0xfe
bx ip
.align 2, 0
arm_func_end func_ov60_02143124
_02143130: .word func_ov60_02142f68
.global func_ov60_02143134
arm_func_start func_ov60_02143134
func_ov60_02143134: ; 0x02143134
stmdb sp!, {r4, lr}
mov r4, r2
bl func_ov60_02142f68
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r1, _0214316c ; =data_ov60_02148088
ldr r0, _02143170 ; =data_ov60_021480a0
ldr r1, [r1]
strh r4, [r1, #0x20]
ldr r1, [r0]
ldr r0, [r1, #0x48]
orr r0, r0, #0x2000
str r0, [r1, #0x48]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02143134
_0214316c: .word data_ov60_02148088
_02143170: .word data_ov60_021480a0
.global func_ov60_02143174
arm_func_start func_ov60_02143174
func_ov60_02143174: ; 0x02143174
stmdb sp!, {r3, lr}
ldr r0, _02143208 ; =data_ov60_02148090
ldr r0, [r0]
cmp r0, #0
ldmeqia sp!, {r3, pc}
mov r1, #0
mov r2, r1
mov r0, #0xc
bl func_ov01_020ef72c
mov r1, #0
mov r2, r1
mov r0, #0xd
bl func_ov01_020ef72c
ldr r0, _02143208 ; =data_ov60_02148090
ldr r0, [r0]
ldr r0, [r0, #0x18]
bl func_ov60_02144c94
ldr r0, _02143208 ; =data_ov60_02148090
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl func_ov60_02144c94
ldr r0, _02143208 ; =data_ov60_02148090
ldr r0, [r0]
ldr r0, [r0, #8]
bl func_ov60_02144c94
ldr r0, _02143208 ; =data_ov60_02148090
ldr r0, [r0]
ldr r0, [r0, #0x30]
bl func_ov60_02144c94
ldr r0, _02143208 ; =data_ov60_02148090
ldr r0, [r0]
bl func_ov60_02144c94
bl func_ov60_02141400
ldr r0, _02143208 ; =data_ov60_02148090
mov r1, #0
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02143174
_02143208: .word data_ov60_02148090
.global func_ov60_0214320c
arm_func_start func_ov60_0214320c
func_ov60_0214320c: ; 0x0214320c
ldr r1, _02143250 ; =data_ov60_02148090
mov r0, #0
ldr r2, [r1]
cmp r2, #0
bxeq lr
ldr r1, _02143254 ; =data_ov60_021480a0
ldr r1, [r1]
ldr r1, [r1, #4]
cmp r1, #0xa
cmpne r1, #0xb
bxne lr
ldrb r0, [r2, #4]
mov r0, r0, lsl #0x1c
movs r0, r0, lsr #0x1f
moveq r0, #1
movne r0, #0
bx lr
.align 2, 0
arm_func_end func_ov60_0214320c
_02143250: .word data_ov60_02148090
_02143254: .word data_ov60_021480a0
.global func_ov60_02143258
arm_func_start func_ov60_02143258
func_ov60_02143258: ; 0x02143258
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
mov sb, r0
mov r8, r1
mov r7, r2
mov r6, r3
mov r4, #0
bl func_0200ee4c
mov r5, r0
bl func_ov60_0214320c
cmp r0, #0
beq _021432d8
ldr r0, _021432e8 ; =data_ov60_02148090
mov r2, r4
ldr r3, [r0]
mov r4, #1
ldrb r1, [r3, #4]
orr r1, r1, #8
strb r1, [r3, #4]
ldr r3, [r0]
ldrb r1, [r3, #4]
bic r1, r1, #0x10
strb r1, [r3, #4]
ldr r1, [r0]
str sb, [r1, #0x20]
ldr r1, [r0]
str r8, [r1, #0x24]
ldr r1, [r0]
str r2, [r1, #0x28]
ldr r1, [r0]
strh r7, [r1, #0x1e]
ldr r0, [r0]
str r6, [r0, #0x2c]
_021432d8:
mov r0, r5
bl func_0200ee60
mov r0, r4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov60_02143258
_021432e8: .word data_ov60_02148090
.global func_ov60_021432ec
arm_func_start func_ov60_021432ec
func_ov60_021432ec: ; 0x021432ec
bx lr
arm_func_end func_ov60_021432ec
.global func_ov60_021432f0
arm_func_start func_ov60_021432f0
func_ov60_021432f0: ; 0x021432f0
stmdb sp!, {r4, lr}
ldr r1, _02143350 ; =data_ov60_02148090
mov ip, #0
ldr r4, [r1]
sub r3, ip, #1
ldrb r2, [r4, #4]
ldr lr, [r4, #0x2c]
ldr r0, [r4, #0x24]
bic r2, r2, #8
strb r2, [r4, #4]
ldr r2, [r1]
cmp lr, #0
strh ip, [r2, #0x1e]
ldr r2, [r1]
str ip, [r2, #0x20]
ldr r2, [r1]
str ip, [r2, #0x24]
ldr r2, [r1]
str r3, [r2, #0x28]
ldr r1, [r1]
str ip, [r1, #0x2c]
ldmeqia sp!, {r4, pc}
blx lr
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_021432f0
_02143350: .word data_ov60_02148090
.global func_ov60_02143354
arm_func_start func_ov60_02143354
func_ov60_02143354: ; 0x02143354
stmdb sp!, {r3, lr}
ldr r1, _021433a4 ; =data_ov60_02148090
ldr r2, [r0, #0x14]
ldr r1, [r1]
ldrsb r0, [r1, #2]
sub r0, r0, #1
strb r0, [r1, #2]
ldrb r0, [r2]
mov r0, r0, lsl #0x1e
movs r0, r0, lsr #0x1e
cmpne r0, #1
ldmneia sp!, {r3, pc}
ldrb r0, [r2]
mov r1, r0, lsl #0x1d
movs r1, r1, lsr #0x1f
ldmeqia sp!, {r3, pc}
bic r0, r0, #4
strb r0, [r2]
bl func_ov60_021432f0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02143354
_021433a4: .word data_ov60_02148090
.global func_ov60_021433a8
arm_func_start func_ov60_021433a8
func_ov60_021433a8: ; 0x021433a8
ldr r0, _021433c0 ; =data_ov60_02148090
ldr r1, [r0]
ldrsb r0, [r1, #2]
sub r0, r0, #1
strb r0, [r1, #2]
bx lr
.align 2, 0
arm_func_end func_ov60_021433a8
_021433c0: .word data_ov60_02148090
.global func_ov60_021433c4
arm_func_start func_ov60_021433c4
func_ov60_021433c4: ; 0x021433c4
stmdb sp!, {r4, r5, r6, lr}
ldr r2, _021434f8 ; =data_ov60_02148090
ldr r3, [r2]
ldr lr, [r3, #0x28]
ldr r1, [r3, #0x24]
ldr ip, [r3, #0x20]
cmp lr, #0
sub r4, r1, lr
ldrb r3, [r0]
bne _02143444
bic r3, r3, #3
strb r3, [r0]
ldr r3, [r2]
add r1, r0, #8
ldrh r3, [r3, #0x1e]
strh r3, [r0, #2]
ldr r3, [r2]
ldr r3, [r3, #0x24]
strh r3, [r0, #4]
ldr r3, [r2]
ldr r3, [r3, #0x24]
mov r3, r3, lsr #0x10
strh r3, [r0, #6]
ldr r3, [r2]
ldrb r2, [r3]
ldr r4, [r3, #0x24]
sub r2, r2, #8
cmp r4, r2
movhi r4, r2
and r2, r4, #0xff
add r4, r2, #9
b _02143470
_02143444:
bic r3, r3, #3
orr r3, r3, #1
strb r3, [r0]
ldr r3, [r2]
add r1, r0, #2
ldrb r2, [r3]
sub r2, r2, #2
cmp r4, r2
movhi r4, r2
and r2, r4, #0xff
add r4, r2, #3
_02143470:
ldr r6, [r3, #0x28]
bic r4, r4, #1
add r6, r6, r2
str r6, [r3, #0x28]
ldr r5, _021434f8 ; =data_ov60_02148090
strb r2, [r0, #1]
ldr r3, [r5]
mov r4, r4, lsl #0x10
ldr r5, [r3, #0x28]
ldr r3, [r3, #0x24]
mov r4, r4, lsr #0x10
cmp r5, r3
moveq r3, #1
ldrb r5, [r0]
movne r3, #0
and r3, r3, #0xff
mov r3, r3, lsl #0x1f
bic r5, r5, #4
orr r3, r5, r3, lsr #29
strb r3, [r0]
ldr r0, _021434f8 ; =data_ov60_02148090
and r5, r3, #0xff
ldr r3, [r0]
mov r0, r5, lsl #0x1d
ldrb r5, [r3, #4]
mov r0, r0, lsr #0x1f
mov r0, r0, lsl #0x1f
bic r5, r5, #0x10
orr r5, r5, r0, lsr #27
add r0, ip, lr
strb r5, [r3, #4]
bl func_02007ad8
mov r0, r4
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov60_021433c4
_021434f8: .word data_ov60_02148090
.global func_ov60_021434fc
arm_func_start func_ov60_021434fc
func_ov60_021434fc: ; 0x021434fc
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x24
bl func_ov60_021433c4
ldrb r0, [r4, #0x24]
mov r0, r0, lsl #0x1d
movs r0, r0, lsr #0x1f
ldmeqia sp!, {r4, pc}
bl func_ov60_021432f0
ldmia sp!, {r4, pc}
arm_func_end func_ov60_021434fc
.global func_ov60_02143524
arm_func_start func_ov60_02143524
func_ov60_02143524: ; 0x02143524
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
ldr r0, _021436d0 ; =data_ov60_02148090
mov r2, #0
ldr ip, [r0]
ldrb r1, [ip, #4]
ldr r4, [ip, #0x10]
mov r3, r1, lsl #0x1d
movs r3, r3, lsr #0x1f
beq _02143588
ldrb r1, [r4, #0x20]
mov r2, #2
bic r1, r1, #3
orr r1, r1, #3
strb r1, [r4, #0x20]
ldr r0, [r0]
and r1, r1, #0xff
ldrb r0, [r0, #1]
bic r1, r1, #0xf0
mov r0, r0, lsl #0x18
mov r0, r0, lsr #0x1c
mov r0, r0, lsl #0x1c
orr r0, r1, r0, lsr #24
strb r0, [r4, #0x20]
b _021435d8
_02143588:
mov r0, r1, lsl #0x1c
movs r0, r0, lsr #0x1f
beq _021435d8
ldrsb r0, [ip, #3]
cmp r0, #2
bge _021435d8
mov r0, r1, lsl #0x1b
movs r0, r0, lsr #0x1f
bne _021435d8
mov r0, r1, lsl #0x1e
movs r0, r0, lsr #0x1f
bne _021435d8
add r0, r4, #0x20
bl func_ov60_021433c4
ldr r1, _021436d0 ; =data_ov60_02148090
mov r2, r0
ldr r1, [r1]
ldrsb r0, [r1, #3]
add r0, r0, #1
strb r0, [r1, #3]
_021435d8:
ldr r0, _021436d0 ; =data_ov60_02148090
ldr r0, [r0]
ldr r0, [r0, #0x18]
ldr r1, [r0]
ldr r0, [r0, #4]
cmp r1, r0
beq _02143660
cmp r2, #0
bne _02143618
ldrb r0, [r4, #0x20]
mov r2, #2
bic r0, r0, #3
orr r1, r0, #2
and r0, r1, #0xff
bic r0, r0, #4
strb r0, [r4, #0x20]
_02143618:
ldrb r1, [r4, #0x20]
ldr r0, _021436d0 ; =data_ov60_02148090
orr r3, r1, #8
strb r3, [r4, #0x20]
ldr r1, [r0]
bic r3, r3, #0xf0
ldr r1, [r1, #0x18]
ldr r1, [r1, #4]
ldrb r1, [r1, #0x20]
mov r1, r1, lsl #0x1c
orr r1, r3, r1, lsr #24
strb r1, [r4, #0x20]
ldr r0, [r0]
ldr r1, [r0, #0x18]
ldr r0, [r1, #4]
ldr r0, [r0, #4]
str r0, [r1, #4]
b _0214366c
_02143660:
ldrb r0, [r4, #0x20]
bic r0, r0, #8
strb r0, [r4, #0x20]
_0214366c:
cmp r2, #0
beq _021436b4
ldr r0, _021436d0 ; =data_ov60_02148090
ldr ip, _021436d4 ; =func_ov60_02143354
ldr lr, [r0]
add r1, r4, #0x20
ldrsb r4, [lr, #2]
mov r0, #0xd
mov r3, #1
add r4, r4, #1
strb r4, [lr, #2]
str ip, [sp]
bl func_ov60_02143b54
ldr r0, _021436d0 ; =data_ov60_02148090
ldr r1, [r0]
ldr r0, [r1, #0x10]
ldr r0, [r0, #4]
str r0, [r1, #0x10]
_021436b4:
ldr r0, _021436d0 ; =data_ov60_02148090
ldr r1, [r0]
ldrb r0, [r1, #4]
bic r0, r0, #2
strb r0, [r1, #4]
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov60_02143524
_021436d0: .word data_ov60_02148090
_021436d4: .word func_ov60_02143354
.global func_ov60_021436d8
arm_func_start func_ov60_021436d8
func_ov60_021436d8: ; 0x021436d8
stmdb sp!, {r4, r5, r6, r7, r8, lr}
ldr r2, _02143808 ; =data_ov60_02148090
mov r4, r1
ldr r2, [r2]
ldrb r1, [r4]
ldr r2, [r2, #0x30]
mov r8, r0
mov r0, r1, lsl #0x1e
add r5, r2, r8, lsl #4
movs r0, r0, lsr #0x1e
mov r7, #0
beq _02143718
cmp r0, #1
ldreqb r7, [r4, #1]
addeq r6, r4, #2
b _02143770
_02143718:
add r6, r4, #8
bl func_ov60_02141574
ldrh r1, [r4, #2]
mov ip, #1
tst r1, ip, lsl r0
beq _02143770
ldr r0, _02143808 ; =data_ov60_02148090
mov r1, r7
ldr r3, [r0]
ldrh r2, [r3, #0x1c]
orr r2, r2, ip, lsl r8
strh r2, [r3, #0x1c]
str r1, [r5, #0xc]
ldrh r2, [r4, #6]
ldrh r1, [r4, #4]
orr r7, r1, r2, lsl #16
str r7, [r5, #8]
ldr r0, [r0]
ldrb r0, [r0]
sub r0, r0, #8
cmp r7, r0
movhi r7, r0
_02143770:
ldr r0, _02143808 ; =data_ov60_02148090
mov r4, #1
ldr r0, [r0]
ldrh r0, [r0, #0x1c]
tst r0, r4, lsl r8
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
ldr r3, [r5, #0xc]
ldr r0, [r5, #4]
add r1, r3, r7
cmp r1, r0
bhi _021437bc
ldr r1, [r5]
mov r0, r6
mov r2, r7
add r1, r1, r3
bl func_02007ad8
ldr r0, [r5, #0xc]
add r0, r0, r7
str r0, [r5, #0xc]
_021437bc:
ldr r1, [r5, #8]
ldr r0, [r5, #0xc]
cmp r1, r0
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
ldr r1, _02143808 ; =data_ov60_02148090
ldr r0, _0214380c ; =data_ov60_02148088
ldr r2, [r1]
ldrh r1, [r2, #0x1c]
eor r1, r1, r4, lsl r8
strh r1, [r2, #0x1c]
ldr r0, [r0]
ldr r3, [r0, #0xb8]
cmp r3, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
ldr r1, [r5]
ldr r2, [r5, #8]
mov r0, r8
blx r3
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov60_021436d8
_02143808: .word data_ov60_02148090
_0214380c: .word data_ov60_02148088
.global func_ov60_02143810
arm_func_start func_ov60_02143810
func_ov60_02143810: ; 0x02143810
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
ldr sb, _021438a0 ; =data_ov60_021480a0
mov r7, r0
ldr r0, [sb]
add r6, r7, #4
ldrb r0, [r0, #0xb]
mov r5, #0
cmp r0, #0
ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
ldr r8, _021438a4 ; =data_ov60_02148090
mov r4, #1
_0214383c:
ldrh r0, [r7, #2]
tst r0, r4, lsl r5
beq _02143880
bl func_ov60_02141574
cmp r5, r0
bne _02143864
ldr r1, [r8]
ldrsb r0, [r1, #3]
sub r0, r0, #1
strb r0, [r1, #3]
_02143864:
mov r0, r5
mov r1, r6
bl func_ov60_021436d8
ldr r0, [r8]
ldrb r0, [r0]
bic r0, r0, #1
add r6, r6, r0
_02143880:
ldr r0, [sb]
add r2, r5, #1
ldrb r1, [r0, #0xb]
mov r0, r2, lsl #0x10
mov r5, r0, lsr #0x10
cmp r1, r0, lsr #16
bgt _0214383c
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov60_02143810
_021438a0: .word data_ov60_021480a0
_021438a4: .word data_ov60_02148090
.global func_ov60_021438a8
arm_func_start func_ov60_021438a8
func_ov60_021438a8: ; 0x021438a8
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mov sl, r1
ldrh r5, [sl, #0x22]
mov fp, r0
mov r4, #0
cmp r5, #0
beq _021439a8
ldr r0, _021439b0 ; =data_ov60_02148090
add r7, sl, #0x24
ldr r0, [r0]
add r8, fp, #0x24
ldrb sb, [r0]
ldr r0, _021439b0 ; =data_ov60_02148090
mov r6, #4
strh r5, [fp, #0x22]
ldr r1, [r0]
ldrb r3, [r1, #1]
mov r0, r3, lsl #0x1c
mov r0, r0, lsr #0x1c
add r2, r0, #1
and r2, r2, #0xff
bic r3, r3, #0xf
and r2, r2, #0xf
orr r2, r3, r2
strb r2, [r1, #1]
strb r0, [fp, #0x20]
b _02143968
_02143914:
mov r0, #1
tst r5, r0, lsl r4
beq _02143940
mla r0, sb, r4, r7
mov r1, r8
mov r2, sb
bl func_02007ad8
add r0, r6, sb
mov r0, r0, lsl #0x10
add r8, r8, sb
mov r6, r0, lsr #0x10
_02143940:
ldr r0, _021439b0 ; =data_ov60_02148090
ldr r0, [r0]
ldr r1, [r0, #0x18]
ldr r0, [r1, r4, lsl #2]
cmp r0, sl
ldreq r0, [sl, #4]
streq r0, [r1, r4, lsl #2]
add r0, r4, #1
mov r0, r0, lsl #0x10
mov r4, r0, lsr #0x10
_02143968:
ldr r0, _021439b4 ; =data_ov60_021480a0
ldr r0, [r0]
ldrb r0, [r0, #0xb]
cmp r4, r0
blt _02143914
mov r2, #0
ldr r0, _021439b8 ; =data_ov60_02148088
strh r2, [sl, #0x22]
ldr r1, [r0]
add r0, fp, #0x20
ldrh r1, [r1, #0x98]
strh r1, [fp, #0xa]
strh r2, [fp, #0xc]
strh r6, [fp, #8]
bl func_ov60_02143810
mov r4, #1
_021439a8:
mov r0, r4
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov60_021438a8
_021439b0: .word data_ov60_02148090
_021439b4: .word data_ov60_021480a0
_021439b8: .word data_ov60_02148088
.global func_ov60_021439bc
arm_func_start func_ov60_021439bc
func_ov60_021439bc: ; 0x021439bc
stmdb sp!, {r3, r4, r5, lr}
ldr r0, _02143ae0 ; =data_ov60_02148090
ldr ip, [r0]
ldrsb r0, [ip, #2]
cmp r0, #1
ldmgeia sp!, {r3, r4, r5, pc}
ldr r0, [ip, #0x18]
ldr r2, [ip, #0x14]
mov r3, #0
mov r4, r3
cmp r2, #0
ldr r5, [r0]
beq _02143a0c
ldr r1, [r2, #4]
ldr r0, [ip, #0x10]
mov r4, r2
cmp r1, r0
streq r3, [ip, #0x14]
strne r1, [ip, #0x14]
b _02143a9c
_02143a0c:
ldr r0, [ip, #0x10]
ldr r0, [r0]
ldr r0, [r0]
ldrh r1, [r0, #0xa]
cmp r1, #0
ldrneh r0, [r0, #0xc]
cmpne r1, r0
bne _02143a9c
ldr r0, _02143ae0 ; =data_ov60_02148090
ldr r0, [r0]
ldrb r0, [r0, #4]
mov r0, r0, lsl #0x1c
movs r0, r0, lsr #0x1f
beq _02143a6c
mov r0, r5
bl func_ov60_021434fc
ldrh r1, [r5, #0x22]
ldr r0, _02143ae0 ; =data_ov60_02148090
orr r1, r1, #1
strh r1, [r5, #0x22]
ldr r1, [r0]
ldrsb r0, [r1, #3]
add r0, r0, #1
strb r0, [r1, #3]
_02143a6c:
ldr r0, _02143ae0 ; =data_ov60_02148090
mov r1, r5
ldr r0, [r0]
ldr r0, [r0, #0x10]
bl func_ov60_021438a8
cmp r0, #0
beq _02143a9c
ldr r0, _02143ae0 ; =data_ov60_02148090
ldr r1, [r0]
ldr r4, [r1, #0x10]
ldr r0, [r4, #4]
str r0, [r1, #0x10]
_02143a9c:
cmp r4, #0
ldrneh r0, [r4, #0xa]
cmpne r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r0, _02143ae0 ; =data_ov60_02148090
ldr r2, _02143ae4 ; =func_ov60_021433a8
ldr r5, [r0]
add r1, r4, #0x20
ldrsb r3, [r5, #2]
mov r0, #0xd
add r3, r3, #1
strb r3, [r5, #2]
str r2, [sp]
ldrh r2, [r4, #8]
ldrh r3, [r4, #0xa]
bl func_ov60_02143b54
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov60_021439bc
_02143ae0: .word data_ov60_02148090
_02143ae4: .word func_ov60_021433a8
.global func_ov60_02143ae8
arm_func_start func_ov60_02143ae8
func_ov60_02143ae8: ; 0x02143ae8
stmdb sp!, {r3, lr}
ldr r0, _02143b08 ; =data_ov60_02148090
ldr r0, [r0]
ldrsb r0, [r0, #2]
cmp r0, #2
ldmgeia sp!, {r3, pc}
bl func_ov60_02143524
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02143ae8
_02143b08: .word data_ov60_02148090
.global func_ov60_02143b0c
arm_func_start func_ov60_02143b0c
func_ov60_02143b0c: ; 0x02143b0c
ldr r1, _02143b50 ; =data_ov60_02148090
mov r2, #1
ldr r1, [r1]
mvn r0, r2, lsl r0
ldr r2, [r1, #0x10]
mov r0, r0, lsl #0x10
mov r3, r2
_02143b28:
ldrh r1, [r3, #0xa]
and r1, r1, r0, lsr #16
strh r1, [r3, #0xa]
ldrh r1, [r3, #0xc]
and r1, r1, r0, lsr #16
strh r1, [r3, #0xc]
ldr r3, [r3]
cmp r2, r3
bne _02143b28
bx lr
.align 2, 0
arm_func_end func_ov60_02143b0c
_02143b50: .word data_ov60_02148090
.global func_ov60_02143b54
arm_func_start func_ov60_02143b54
func_ov60_02143b54: ; 0x02143b54
stmdb sp!, {lr}
sub sp, sp, #0xc
str r3, [sp]
mov lr, r1
str r0, [sp, #4]
mov r3, r2
mov ip, #2
ldr r1, [sp, #0x10]
ldr r0, _02143ba8 ; =func_ov60_02143bd4
mov r2, lr
str ip, [sp, #8]
bl func_ov01_020f093c
cmp r0, #2
cmpne r0, #7
addeq sp, sp, #0xc
moveq r0, #1
ldmeqia sp!, {pc}
bl func_ov60_02144cb8
mov r0, #0
add sp, sp, #0xc
ldmia sp!, {pc}
.align 2, 0
arm_func_end func_ov60_02143b54
_02143ba8: .word func_ov60_02143bd4
.global func_ov60_02143bac
arm_func_start func_ov60_02143bac
func_ov60_02143bac: ; 0x02143bac
stmdb sp!, {r3, lr}
mov lr, r1
mov ip, r2
str r3, [sp]
mov r1, r0
mov r2, lr
mov r3, ip
mov r0, #0xc
bl func_ov60_02143b54
ldmia sp!, {r3, pc}
arm_func_end func_ov60_02143bac
.global func_ov60_02143bd4
arm_func_start func_ov60_02143bd4
func_ov60_02143bd4: ; 0x02143bd4
stmdb sp!, {r3, lr}
ldrh r1, [r0, #2]
cmp r1, #0
bne _02143bf8
ldr r1, [r0, #0x20]
cmp r1, #0
ldmeqia sp!, {r3, pc}
blx r1
ldmia sp!, {r3, pc}
_02143bf8:
mov r0, r1
bl func_ov60_02144cb8
bl func_0200f248
ldmia sp!, {r3, pc}
arm_func_end func_ov60_02143bd4
.global func_ov60_02143c08
arm_func_start func_ov60_02143c08
func_ov60_02143c08: ; 0x02143c08
ldr r3, [r1]
b _02143c24
_02143c10:
ldrb r2, [r3, #0x20]
cmp r2, r0
moveq r0, r3
bxeq lr
ldr r3, [r3]
_02143c24:
cmp r1, r3
bne _02143c10
mov r0, #0
bx lr
arm_func_end func_ov60_02143c08
.global func_ov60_02143c34
arm_func_start func_ov60_02143c34
func_ov60_02143c34: ; 0x02143c34
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #4
mov r5, r1
mov r6, r0
mov r4, r2
add r1, sp, #0
mov r0, r5
mov r2, #2
bl func_02007ad8
ldrb r1, [sp]
mov r0, r1, lsl #0x1c
movs r0, r0, lsr #0x1f
beq _02143ca0
ldr r0, _02143d68 ; =data_ov60_02148090
mov r2, r1, lsl #0x18
ldr r1, [r0]
mov r0, r2, lsr #0x1c
ldr r1, [r1, #0x10]
bl func_ov60_02143c08
cmp r0, #0
beq _02143ca0
ldrh r2, [r0, #0xa]
mov r1, #1
ldrh r3, [r0, #0xc]
and r1, r2, r1, lsl r6
orr r1, r3, r1
strh r1, [r0, #0xc]
_02143ca0:
ldrb r2, [sp]
mov r0, r2, lsl #0x1e
mov r0, r0, lsr #0x1e
cmp r0, #3
bne _02143cfc
ldr r0, _02143d68 ; =data_ov60_02148090
ldr r1, [r0]
ldr r0, [r1, #0x14]
cmp r0, #0
addne sp, sp, #4
ldmneia sp!, {r3, r4, r5, r6, pc}
mov r0, r2, lsl #0x18
ldr r1, [r1, #0x10]
mov r0, r0, lsr #0x1c
bl func_ov60_02143c08
cmp r0, #0
addeq sp, sp, #4
ldmeqia sp!, {r3, r4, r5, r6, pc}
ldr r1, _02143d68 ; =data_ov60_02148090
add sp, sp, #4
ldr r1, [r1]
str r0, [r1, #0x14]
ldmia sp!, {r3, r4, r5, r6, pc}
_02143cfc:
cmp r0, #2
addeq sp, sp, #4
ldmeqia sp!, {r3, r4, r5, r6, pc}
ldr r1, _02143d68 ; =data_ov60_02148090
mov r2, r4
ldr r1, [r1]
mov r0, r5
ldr r3, [r1, #0x18]
ldrb r1, [r1]
ldr r4, [r3, r6, lsl #2]
add r3, r4, #0x24
mla r1, r6, r1, r3
bl func_02007ad8
ldrb r0, [sp]
ldrh r2, [r4, #0x22]
mov r1, #1
mov r0, r0, lsl #0x1e
movs r0, r0, lsr #0x1e
orr r1, r2, r1, lsl r6
strh r1, [r4, #0x22]
ldr r0, _02143d68 ; =data_ov60_02148090
ldr r1, [r4, #4]
ldr r0, [r0]
ldr r0, [r0, #0x18]
str r1, [r0, r6, lsl #2]
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov60_02143c34
_02143d68: .word data_ov60_02148090
.global func_ov60_02143d6c
arm_func_start func_ov60_02143d6c
func_ov60_02143d6c: ; 0x02143d6c
stmdb sp!, {r4, lr}
mov r3, r0
ldrh r2, [r3, #0x10]
cmp r2, #0
ldmeqia sp!, {r4, pc}
ldrh r0, [r3, #0x12]
cmp r0, #0
beq _02143d98
ldr r1, [r3, #0xc]
bl func_ov60_02143c34
ldmia sp!, {r4, pc}
_02143d98:
ldr r1, _02143e94 ; =data_ov60_02148090
ldr r4, [r3, #0xc]
ldr r0, [r1]
ldrb lr, [r0, #4]
mov r2, lr, lsl #0x1f
movs r2, r2, lsr #0x1f
bne _02143dd4
ldrb r2, [r0, #1]
ldrb ip, [r4]
mov r2, r2, lsl #0x1c
mov r2, r2, lsr #0x1c
add r3, r2, #1
and r3, r3, #0xf
cmp ip, r3
bne _02143e48
_02143dd4:
ldr r1, _02143e94 ; =data_ov60_02148090
ldrb r2, [r4]
ldr r3, [r1]
mov r0, r4
ldr r3, [r3, #0x18]
ldr r3, [r3]
strb r2, [r3, #0x20]
ldr r1, [r1]
ldr r2, [r3, #4]
ldr r1, [r1, #0x18]
str r2, [r1]
bl func_ov60_02143810
ldr r0, _02143e94 ; =data_ov60_02148090
ldr r2, [r0]
ldrb r1, [r2, #4]
bic r1, r1, #1
strb r1, [r2, #4]
ldr r2, [r0]
ldrb r1, [r2, #4]
bic r1, r1, #4
strb r1, [r2, #4]
ldr r2, [r0]
ldrb r0, [r4]
ldrb r1, [r2, #1]
and r0, r0, #0xf
bic r1, r1, #0xf
orr r0, r1, r0
strb r0, [r2, #1]
ldmia sp!, {r4, pc}
_02143e48:
add r2, r2, #2
and r2, r2, #0xf
cmp ip, r2
orrne r1, lr, #2
strneb r1, [r0, #4]
ldmneia sp!, {r4, pc}
orr r2, lr, #4
strb r2, [r0, #4]
ldr r2, [r1]
ldrb r1, [r2, #1]
mov r0, r1, lsl #0x1c
mov r0, r0, lsr #0x1c
add r0, r0, #1
and r0, r0, #0xf
bic r1, r1, #0xf0
mov r0, r0, lsl #0x1c
orr r0, r1, r0, lsr #24
strb r0, [r2, #1]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02143d6c
_02143e94: .word data_ov60_02148090
.global func_ov60_02143e98
arm_func_start func_ov60_02143e98
func_ov60_02143e98: ; 0x02143e98
bx lr
arm_func_end func_ov60_02143e98
.global func_ov60_02143e9c
arm_func_start func_ov60_02143e9c
func_ov60_02143e9c: ; 0x02143e9c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov60_0214487c
cmp r0, #0
ldreqh r0, [r4, #2]
cmpeq r0, #0
ldmneia sp!, {r4, pc}
ldrh r0, [r4, #4]
cmp r0, #7
ldmeqia sp!, {r4, pc}
cmp r0, #9
beq _02143ee0
cmp r0, #0x15
ldmneia sp!, {r4, pc}
mov r0, r4
bl func_ov60_02143d6c
ldmia sp!, {r4, pc}
_02143ee0:
mov r0, r4
bl func_ov60_02143e98
ldmia sp!, {r4, pc}
arm_func_end func_ov60_02143e9c
.global func_ov60_02143eec
arm_func_start func_ov60_02143eec
func_ov60_02143eec: ; 0x02143eec
stmdb sp!, {r4, lr}
bl func_0200ee4c
ldr r2, _02144038 ; =data_ov60_02148090
mov r4, r0
ldr r3, [r2]
mov r1, #3
ldr r0, [r3, #8]
str r0, [r3, #0x10]
ldr r0, [r2]
ldr r0, [r0, #8]
bl func_ov60_02142f30
ldr r0, _02144038 ; =data_ov60_02148090
mov r1, #3
ldr r0, [r0]
ldr r0, [r0, #0xc]
bl func_ov60_02142f30
ldr r2, _0214403c ; =data_ov60_021480a0
mov lr, #0
ldr r0, [r2]
ldrb r0, [r0, #0xb]
cmp r0, #0
ble _02143f74
ldr r1, _02144038 ; =data_ov60_02148090
_02143f48:
ldr r3, [r1]
add r0, lr, #1
ldr ip, [r3, #0xc]
ldr r3, [r3, #0x18]
mov r0, r0, lsl #0x10
str ip, [r3, lr, lsl #2]
ldr r3, [r2]
mov lr, r0, lsr #0x10
ldrb r3, [r3, #0xb]
cmp r3, r0, lsr #16
bgt _02143f48
_02143f74:
ldr r2, _02144038 ; =data_ov60_02148090
mov r1, #0
ldr lr, [r2]
sub ip, r1, #1
ldrb r3, [lr, #1]
mov r0, r4
bic r3, r3, #0xf
strb r3, [lr, #1]
ldr r4, [r2]
ldrb r3, [r4, #1]
bic r3, r3, #0xf0
strb r3, [r4, #1]
ldr r3, [r2]
strb r1, [r3, #2]
ldr r3, [r2]
strb r1, [r3, #3]
ldr r4, [r2]
ldrb r3, [r4, #4]
bic r3, r3, #1
orr r3, r3, #1
strb r3, [r4, #4]
ldr r4, [r2]
ldrb r3, [r4, #4]
bic r3, r3, #2
strb r3, [r4, #4]
ldr r4, [r2]
ldrb r3, [r4, #4]
bic r3, r3, #4
strb r3, [r4, #4]
ldr r4, [r2]
ldrb r3, [r4, #4]
bic r3, r3, #8
strb r3, [r4, #4]
ldr r3, [r2]
str r1, [r3, #0x14]
ldr r3, [r2]
strh r1, [r3, #0x1c]
ldr r3, [r2]
strh r1, [r3, #0x1e]
ldr r3, [r2]
str r1, [r3, #0x20]
ldr r3, [r2]
str r1, [r3, #0x24]
ldr r3, [r2]
str ip, [r3, #0x28]
ldr r2, [r2]
str r1, [r2, #0x2c]
bl func_0200ee60
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02143eec
_02144038: .word data_ov60_02148090
_0214403c: .word data_ov60_021480a0
.global func_ov60_02144040
arm_func_start func_ov60_02144040
func_ov60_02144040: ; 0x02144040
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
mov r6, r1
mov r5, r2
mov r4, #0
bl func_0200ee4c
ldr r1, _021440bc ; =data_ov60_02148090
ldr r2, [r1]
cmp r2, #0
ldrne r3, [r2, #0x30]
cmpne r3, #0
ldrne r1, _021440c0 ; =data_ov60_02148088
ldrne r1, [r1]
cmpne r1, #0
beq _021440b0
ldr r1, _021440c4 ; =data_ov60_021480a0
ldr r1, [r1]
ldrb r1, [r1, #0xb]
cmp r7, r1
bge _021440b0
ldrh r1, [r2, #0x1c]
mov r2, #1
tst r1, r2, lsl r7
bne _021440b0
str r6, [r3, r7, lsl #4]
add r1, r3, r7, lsl #4
mov r4, r2
str r5, [r1, #4]
_021440b0:
bl func_0200ee60
mov r0, r4
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov60_02144040
_021440bc: .word data_ov60_02148090
_021440c0: .word data_ov60_02148088
_021440c4: .word data_ov60_021480a0
.global func_ov60_021440c8
arm_func_start func_ov60_021440c8
func_ov60_021440c8: ; 0x021440c8
mul r1, r0, r1
add r0, r1, #4
mov r0, r0, lsl #0x10
mov r0, r0, lsr #0x10
bx lr
arm_func_end func_ov60_021440c8
.global func_ov60_021440dc
arm_func_start func_ov60_021440dc
func_ov60_021440dc: ; 0x021440dc
ldr ip, _021440f0 ; =func_ov60_021440c8
mov r1, r0
ldrb r0, [r1, #6]
ldrb r1, [r1, #4]
bx ip
.align 2, 0
arm_func_end func_ov60_021440dc
_021440f0: .word func_ov60_021440c8
.global func_ov60_021440f4
arm_func_start func_ov60_021440f4
func_ov60_021440f4: ; 0x021440f4
stmdb sp!, {r4, lr}
mov r4, #0
bl func_0200ee4c
ldr r1, _0214411c ; =data_ov60_02148094
ldr r1, [r1, #0xc]
cmp r1, #0
ldrne r4, [r1, #4]
bl func_0200ee60
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_021440f4
_0214411c: .word data_ov60_02148094
.global func_ov60_02144120
arm_func_start func_ov60_02144120
func_ov60_02144120: ; 0x02144120
stmdb sp!, {r3, lr}
ldr r2, _02144204 ; =data_ov60_02148094
mov r3, #9
ldr r1, [r2, #0xc]
mov lr, #1
str r3, [r1]
ldr r1, [r2, #0xc]
mov ip, #0xfe
str lr, [r1, #4]
ldr r3, [r2, #0xc]
mov r1, #0
strb ip, [r3, #8]
ldr r3, [r2, #0xc]
strb lr, [r3, #9]
ldr r3, [r2, #0xc]
strb r1, [r3, #0xa]
ldr r3, [r2, #0xc]
strb r1, [r3, #0xb]
ldr r3, [r2, #0xc]
strb r1, [r3, #0xc]
ldr r3, [r2, #0xc]
strb r0, [r3, #0xd]
ldr r0, [r2, #0xc]
str r1, [r0, #0x10]
ldr r0, [r2, #0xc]
strb r1, [r0, #0x15]
ldr r0, [r2, #0xc]
strb r1, [r0, #0x16]
ldr r0, [r2, #0xc]
str r1, [r0, #0x30]
ldr r0, [r2, #0xc]
str r1, [r0, #0x34]
ldr r0, [r2, #0xc]
str r1, [r0, #0x38]
ldr r0, [r2, #0xc]
str r1, [r0, #0x3c]
ldr r0, [r2, #0xc]
str r1, [r0, #0x40]
ldr r0, [r2, #0xc]
str r1, [r0, #0x44]
ldr r1, [r2, #0xc]
ldr r0, [r1, #0x48]
bic r0, r0, #0x800
str r0, [r1, #0x48]
ldr r1, [r2, #0xc]
ldr r0, [r1, #0x48]
bic r0, r0, #0x400
str r0, [r1, #0x48]
ldr r1, [r2, #0xc]
ldr r0, [r1, #0x48]
bic r0, r0, #0x1000
str r0, [r1, #0x48]
ldr r1, [r2, #0xc]
ldr r0, [r1, #0x48]
bic r0, r0, #0x2000
str r0, [r1, #0x48]
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144120
_02144204: .word data_ov60_02148094
.global func_ov60_02144208
arm_func_start func_ov60_02144208
func_ov60_02144208: ; 0x02144208
stmdb sp!, {r4, lr}
ldr ip, _02144288 ; =data_ov60_02148094
mov r4, r0
ldr r0, [ip, #0xc]
cmp r0, #0
bne _02144280
str r1, [ip, #8]
str r2, [ip, #4]
mov r0, #0x4c
mov r1, #4
str r3, [ip]
bl func_ov60_02144c60
ldr r1, _02144288 ; =data_ov60_02148094
cmp r0, #0
str r0, [r1, #0xc]
beq _02144280
blx func_0200e834
blx func_0200ea34
bl func_ov01_020efa84
cmp r0, #0
beq _0214426c
mov r0, r4
bl func_ov60_02144120
mov r0, #1
ldmia sp!, {r4, pc}
_0214426c:
mov r0, #0x41
bl func_ov60_02144cb8
ldr r0, _02144288 ; =data_ov60_02148094
ldr r0, [r0, #0xc]
bl func_ov60_02144c94
_02144280:
mov r0, #0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02144208
_02144288: .word data_ov60_02148094
.global func_ov60_0214428c
arm_func_start func_ov60_0214428c
func_ov60_0214428c: ; 0x0214428c
stmdb sp!, {r3, lr}
ldr r0, _021442e4 ; =data_ov60_02148094
ldr r2, [r0, #0xc]
ldr r1, [r2, #4]
cmp r1, #1
bne _021442d4
mov r1, #0
str r1, [r2, #4]
ldr r0, [r0, #0xc]
bl func_ov60_02144c94
ldr r0, _021442e4 ; =data_ov60_02148094
mov r1, #0
str r1, [r0, #8]
str r1, [r0, #4]
str r1, [r0]
str r1, [r0, #0xc]
mov r0, #1
ldmia sp!, {r3, pc}
_021442d4:
mov r0, #0x44
bl func_ov60_02144cb8
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_0214428c
_021442e4: .word data_ov60_02148094
.global func_ov60_021442e8
arm_func_start func_ov60_021442e8
func_ov60_021442e8: ; 0x021442e8
ldr r1, _021443c4 ; =data_ov60_02148094
mov r0, #0
ldr r2, [r1, #0xc]
ldr r1, [r2]
cmp r1, #8
addls pc, pc, r1, lsl #2
bx lr
_02144304: ; jump table
b _02144328 ; case 0
b _02144338 ; case 1
b _02144348 ; case 2
b _02144358 ; case 3
b _02144368 ; case 4
b _02144378 ; case 5
b _02144388 ; case 6
b _021443a4 ; case 7
b _021443b4 ; case 8
_02144328:
ldr r1, [r2, #4]
cmp r1, #2
moveq r0, #1
bx lr
_02144338:
ldr r1, [r2, #4]
cmp r1, #3
moveq r0, #1
bx lr
_02144348:
ldr r1, [r2, #4]
cmp r1, #4
moveq r0, #1
bx lr
_02144358:
ldr r1, [r2, #4]
cmp r1, #0xa
moveq r0, #1
bx lr
_02144368:
ldr r1, [r2, #4]
cmp r1, #7
moveq r0, #1
bx lr
_02144378:
ldr r1, [r2, #4]
cmp r1, #0xb
moveq r0, #1
bx lr
_02144388:
ldr r1, [r2, #4]
mov r2, #1
cmp r1, #0xa
cmpne r1, #0xb
movne r2, r0
mov r0, r2
bx lr
_021443a4:
ldr r1, [r2, #4]
cmp r1, #0xa
moveq r0, #1
bx lr
_021443b4:
ldr r1, [r2, #4]
cmp r1, #0xb
moveq r0, #1
bx lr
.align 2, 0
arm_func_end func_ov60_021442e8
_021443c4: .word data_ov60_02148094
.global func_ov60_021443c8
arm_func_start func_ov60_021443c8
func_ov60_021443c8: ; 0x021443c8
stmdb sp!, {r3, lr}
ldr r3, _0214446c ; =data_ov60_02148094
ldr ip, [r3, #0xc]
cmp ip, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
cmp r0, #9
bge _021443f4
ldr r3, [ip]
cmp r0, r3
bne _021443fc
_021443f4:
mov r0, #0
ldmia sp!, {r3, pc}
_021443fc:
cmp r0, #8
beq _0214441c
cmp r0, #7
bne _0214442c
ldr r3, [ip, #0x48]
mov r3, r3, lsl #0x12
movs r3, r3, asr #0x1f
bne _0214442c
_0214441c:
ldr r3, [ip, #0x3c]
cmp r3, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
_0214442c:
ldr r3, _0214446c ; =data_ov60_02148094
str r0, [ip]
ldr r0, [r3, #0xc]
str r1, [r0, #0x30]
ldr r0, [r3, #0xc]
str r2, [r0, #0x34]
ldr r2, [r3, #0xc]
ldr r0, [r2, #0x48]
mov r1, r0, lsl #0x14
movs r1, r1, asr #0x1f
bne _02144464
orr r0, r0, #0x800
str r0, [r2, #0x48]
bl func_ov60_021447b8
_02144464:
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021443c8
_0214446c: .word data_ov60_02148094
.global func_ov60_02144470
arm_func_start func_ov60_02144470
func_ov60_02144470: ; 0x02144470
stmdb sp!, {r3, lr}
ldr r0, _02144494 ; =data_ov60_02148094
ldr r0, [r0, #0xc]
ldr r0, [r0]
cmp r0, #0
ldmleia sp!, {r3, pc}
mov r0, #0
bl func_ov60_02144a94
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144470
_02144494: .word data_ov60_02148094
.global func_ov60_02144498
arm_func_start func_ov60_02144498
func_ov60_02144498: ; 0x02144498
stmdb sp!, {r3, lr}
ldr r0, _021444cc ; =data_ov60_02148094
ldr r0, [r0, #0xc]
ldr r0, [r0]
cmp r0, #1
bge _021444bc
mov r0, #1
bl func_ov60_02144a94
ldmia sp!, {r3, pc}
_021444bc:
ldmleia sp!, {r3, pc}
mov r0, #2
bl func_ov60_02144a94
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144498
_021444cc: .word data_ov60_02148094
.global func_ov60_021444d0
arm_func_start func_ov60_021444d0
func_ov60_021444d0: ; 0x021444d0
stmdb sp!, {r3, lr}
ldr r0, _02144578 ; =data_ov60_02148094
ldr r1, [r0, #0xc]
ldr r0, [r1]
cmp r0, #9
addls pc, pc, r0, lsl #2
ldmia sp!, {r3, pc}
_021444ec: ; jump table
b _02144514 ; case 0
b _02144514 ; case 1
ldmia sp!, {r3, pc} ; case 2
b _02144520 ; case 3
b _0214452c ; case 4
b _02144534 ; case 5
b _0214453c ; case 6
b _02144544 ; case 7
b _0214456c ; case 8
ldmia sp!, {r3, pc} ; case 9
_02144514:
mov r0, #3
bl func_ov60_02144a94
ldmia sp!, {r3, pc}
_02144520:
ldr r0, _0214457c ; =0x0000bd8a
bl func_ov60_021428d0
ldmia sp!, {r3, pc}
_0214452c:
bl func_ov60_02142a44
ldmia sp!, {r3, pc}
_02144534:
bl func_ov60_021417d8
ldmia sp!, {r3, pc}
_0214453c:
bl func_ov60_02142ba8
ldmia sp!, {r3, pc}
_02144544:
ldr r0, [r1, #0x48]
mov r0, r0, lsl #0x12
movs r0, r0, asr #0x1f
beq _02144560
ldr r0, _02144580 ; =0x0000b00d
bl func_ov60_021428d0
ldmia sp!, {r3, pc}
_02144560:
ldr r0, [r1, #0x3c]
blx r0
ldmia sp!, {r3, pc}
_0214456c:
ldr r0, [r1, #0x3c]
blx r0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021444d0
_02144578: .word data_ov60_02148094
_0214457c: .word 0x0000bd8a
_02144580: .word 0x0000b00d
.global func_ov60_02144584
arm_func_start func_ov60_02144584
func_ov60_02144584: ; 0x02144584
stmdb sp!, {r3, lr}
ldr r0, _021445cc ; =data_ov60_02148094
ldr r0, [r0, #0xc]
ldr r0, [r0]
cmp r0, #8
addls pc, pc, r0, lsl #2
ldmia sp!, {r3, pc}
_021445a0: ; jump table
b _021445c4 ; case 0
b _021445c4 ; case 1
b _021445c4 ; case 2
ldmia sp!, {r3, pc} ; case 3
b _021445c4 ; case 4
b _021445c4 ; case 5
b _021445c4 ; case 6
ldmia sp!, {r3, pc} ; case 7
b _021445c4 ; case 8
_021445c4:
bl func_ov60_02144870
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144584
_021445cc: .word data_ov60_02148094
.global func_ov60_021445d0
arm_func_start func_ov60_021445d0
func_ov60_021445d0: ; 0x021445d0
stmdb sp!, {r3, lr}
ldr r0, _02144620 ; =data_ov60_02148094
ldr r0, [r0, #0xc]
ldr r0, [r0]
cmp r0, #8
addls pc, pc, r0, lsl #2
ldmia sp!, {r3, pc}
_021445ec: ; jump table
b _02144610 ; case 0
b _02144610 ; case 1
b _02144610 ; case 2
b _02144610 ; case 3
ldmia sp!, {r3, pc} ; case 4
b _02144618 ; case 5
b _02144610 ; case 6
b _02144610 ; case 7
b _02144610 ; case 8
_02144610:
bl func_ov60_02144870
ldmia sp!, {r3, pc}
_02144618:
bl func_ov60_02140a64
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021445d0
_02144620: .word data_ov60_02148094
.global func_ov60_02144624
arm_func_start func_ov60_02144624
func_ov60_02144624: ; 0x02144624
stmdb sp!, {r3, lr}
ldr r0, _0214466c ; =data_ov60_02148094
ldr r0, [r0, #0xc]
ldr r0, [r0]
cmp r0, #8
addls pc, pc, r0, lsl #2
ldmia sp!, {r3, pc}
_02144640: ; jump table
b _02144664 ; case 0
b _02144664 ; case 1
b _02144664 ; case 2
b _02144664 ; case 3
b _02144664 ; case 4
ldmia sp!, {r3, pc} ; case 5
b _02144664 ; case 6
b _02144664 ; case 7
ldmia sp!, {r3, pc} ; case 8
_02144664:
bl func_ov60_02144870
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144624
_0214466c: .word data_ov60_02148094
.global func_ov60_02144670
arm_func_start func_ov60_02144670
func_ov60_02144670: ; 0x02144670
stmdb sp!, {r3, lr}
ldr r0, _021446b0 ; =data_ov60_02148094
ldr r0, [r0, #0xc]
ldr r0, [r0]
cmp r0, #6
addls pc, pc, r0, lsl #2
ldmia sp!, {r3, pc}
_0214468c: ; jump table
b _021446a8 ; case 0
b _021446a8 ; case 1
b _021446a8 ; case 2
ldmia sp!, {r3, pc} ; case 3
ldmia sp!, {r3, pc} ; case 4
ldmia sp!, {r3, pc} ; case 5
ldmia sp!, {r3, pc} ; case 6
_021446a8:
bl func_ov60_02144870
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144670
_021446b0: .word data_ov60_02148094
.global func_ov60_021446b4
arm_func_start func_ov60_021446b4
func_ov60_021446b4: ; 0x021446b4
stmdb sp!, {r3, lr}
ldr r0, _02144704 ; =data_ov60_02148094
ldr r0, [r0, #0xc]
ldr r0, [r0]
cmp r0, #8
addls pc, pc, r0, lsl #2
ldmia sp!, {r3, pc}
_021446d0: ; jump table
b _021446f4 ; case 0
b _021446f4 ; case 1
b _021446f4 ; case 2
ldmia sp!, {r3, pc} ; case 3
b _021446f4 ; case 4
b _021446fc ; case 5
b _021446f4 ; case 6
b _021446f4 ; case 7
b _021446fc ; case 8
_021446f4:
bl func_ov60_02144870
ldmia sp!, {r3, pc}
_021446fc:
bl func_ov60_021420e8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021446b4
_02144704: .word data_ov60_02148094
.global func_ov60_02144708
arm_func_start func_ov60_02144708
func_ov60_02144708: ; 0x02144708
stmdb sp!, {r3, lr}
ldr r0, _02144758 ; =data_ov60_02148094
ldr r0, [r0, #0xc]
ldr r0, [r0]
cmp r0, #8
addls pc, pc, r0, lsl #2
ldmia sp!, {r3, pc}
_02144724: ; jump table
b _02144748 ; case 0
b _02144748 ; case 1
b _02144748 ; case 2
b _02144750 ; case 3
b _02144748 ; case 4
ldmia sp!, {r3, pc} ; case 5
b _02144748 ; case 6
b _02144748 ; case 7
ldmia sp!, {r3, pc} ; case 8
_02144748:
bl func_ov60_02144870
ldmia sp!, {r3, pc}
_02144750:
bl func_ov60_021420e8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144708
_02144758: .word data_ov60_02148094
.global func_ov60_0214475c
arm_func_start func_ov60_0214475c
func_ov60_0214475c: ; 0x0214475c
stmdb sp!, {r3, lr}
ldr r0, _021447b4 ; =data_ov60_02148094
ldr r1, [r0, #0xc]
ldr r0, [r1]
cmp r0, #7
addls pc, pc, r0, lsl #2
ldmia sp!, {r3, pc}
_02144778: ; jump table
b _021447a8 ; case 0
b _021447a8 ; case 1
b _021447a8 ; case 2
b _021447a8 ; case 3
b _021447a8 ; case 4
b _021447a8 ; case 5
b _021447a8 ; case 6
b _02144798 ; case 7
_02144798:
ldr r0, [r1, #0x48]
mov r0, r0, lsl #0x12
movs r0, r0, asr #0x1f
ldmeqia sp!, {r3, pc}
_021447a8:
ldr r0, [r1, #0x40]
blx r0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_0214475c
_021447b4: .word data_ov60_02148094
.global func_ov60_021447b8
arm_func_start func_ov60_021447b8
func_ov60_021447b8: ; 0x021447b8
stmdb sp!, {r3, lr}
ldr r0, _0214486c ; =data_ov60_02148094
ldr r0, [r0, #0xc]
ldr r0, [r0, #4]
cmp r0, #0xc
addls pc, pc, r0, lsl #2
b _02144864
_021447d4: ; jump table
b _02144858 ; case 0
b _02144858 ; case 1
b _02144808 ; case 2
b _02144810 ; case 3
b _02144818 ; case 4
b _02144838 ; case 5
b _02144820 ; case 6
b _02144828 ; case 7
b _02144830 ; case 8
b _02144864 ; case 9
b _02144840 ; case 10
b _02144848 ; case 11
b _02144850 ; case 12
_02144808:
bl func_ov60_02144470
ldmia sp!, {r3, pc}
_02144810:
bl func_ov60_02144498
ldmia sp!, {r3, pc}
_02144818:
bl func_ov60_021444d0
ldmia sp!, {r3, pc}
_02144820:
bl func_ov60_02144584
ldmia sp!, {r3, pc}
_02144828:
bl func_ov60_021445d0
ldmia sp!, {r3, pc}
_02144830:
bl func_ov60_02144624
ldmia sp!, {r3, pc}
_02144838:
bl func_ov60_02144670
ldmia sp!, {r3, pc}
_02144840:
bl func_ov60_021446b4
ldmia sp!, {r3, pc}
_02144848:
bl func_ov60_02144708
ldmia sp!, {r3, pc}
_02144850:
bl func_ov60_0214475c
ldmia sp!, {r3, pc}
_02144858:
mov r0, #0x44
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
_02144864:
bl func_ov60_02144870
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021447b8
_0214486c: .word data_ov60_02148094
.global func_ov60_02144870
arm_func_start func_ov60_02144870
func_ov60_02144870: ; 0x02144870
ldr ip, _02144878 ; =func_ov60_021448bc
bx ip
.align 2, 0
arm_func_end func_ov60_02144870
_02144878: .word func_ov60_021448bc
.global func_ov60_0214487c
arm_func_start func_ov60_0214487c
func_ov60_0214487c: ; 0x0214487c
stmdb sp!, {r3, lr}
ldr r1, _021448b8 ; =data_ov60_02148094
mov r0, #0
ldr r2, [r1, #0xc]
ldr r1, [r2, #0x48]
mov r1, r1, lsl #0x15
movs r1, r1, asr #0x1f
movne r0, #1
ldmneia sp!, {r3, pc}
ldrb r1, [r2, #0x16]
cmp r1, #1
ldmneia sp!, {r3, pc}
bl func_ov60_021448bc
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_0214487c
_021448b8: .word data_ov60_02148094
.global func_ov60_021448bc
arm_func_start func_ov60_021448bc
func_ov60_021448bc: ; 0x021448bc
stmdb sp!, {r3, lr}
ldr r0, _021448f4 ; =data_ov60_02148094
ldr r0, [r0, #0xc]
ldr r0, [r0, #4]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _021448e8
_021448d8: ; jump table
ldmia sp!, {r3, pc} ; case 0
ldmia sp!, {r3, pc} ; case 1
ldmia sp!, {r3, pc} ; case 2
ldmia sp!, {r3, pc} ; case 3
_021448e8:
ldr r0, _021448f8 ; =func_ov60_02144bb4
bl func_ov60_02144b84
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021448bc
_021448f4: .word data_ov60_02148094
_021448f8: .word func_ov60_02144bb4
.global func_ov60_021448fc
arm_func_start func_ov60_021448fc
func_ov60_021448fc: ; 0x021448fc
stmdb sp!, {r3, lr}
ldr r0, _02144998 ; =data_ov60_02148094
ldr r0, [r0, #0xc]
ldr r0, [r0, #4]
cmp r0, #0xb
addls pc, pc, r0, lsl #2
b _02144990
_02144918: ; jump table
b _02144990 ; case 0
b _02144990 ; case 1
b _02144990 ; case 2
b _02144990 ; case 3
b _02144990 ; case 4
b _02144988 ; case 5
b _02144988 ; case 6
b _02144988 ; case 7
b _02144988 ; case 8
b _02144988 ; case 9
b _02144948 ; case 10
b _02144948 ; case 11
_02144948:
bl func_ov01_020efaa0
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02144990
_02144958: ; jump table
b _02144968 ; case 0
b _02144970 ; case 1
b _02144978 ; case 2
b _02144980 ; case 3
_02144968:
mov r0, #0
ldmia sp!, {r3, pc}
_02144970:
mov r0, #1
ldmia sp!, {r3, pc}
_02144978:
mov r0, #2
ldmia sp!, {r3, pc}
_02144980:
mov r0, #3
ldmia sp!, {r3, pc}
_02144988:
mov r0, #4
ldmia sp!, {r3, pc}
_02144990:
mov r0, #5
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021448fc
_02144998: .word data_ov60_02148094
.global func_ov60_0214499c
arm_func_start func_ov60_0214499c
func_ov60_0214499c: ; 0x0214499c
cmp r0, #0
ldrneh r1, [r0, #0x5c]
cmpne r1, #0
ldrneb r0, [r0, #0x77]
moveq r0, #0
bx lr
arm_func_end func_ov60_0214499c
.global func_ov60_021449b4
arm_func_start func_ov60_021449b4
func_ov60_021449b4: ; 0x021449b4
stmdb sp!, {r4, lr}
movs r4, r0
ldrneh r1, [r4, #0x5c]
cmpne r1, #0
beq _021449d8
bl func_ov60_0214499c
cmp r0, #0
addne r0, r4, #0x78
ldmneia sp!, {r4, pc}
_021449d8:
mov r0, #0
ldmia sp!, {r4, pc}
arm_func_end func_ov60_021449b4
.global func_ov60_021449e0
arm_func_start func_ov60_021449e0
func_ov60_021449e0: ; 0x021449e0
stmdb sp!, {r3, lr}
bl func_ov60_021442e8
cmp r0, #0
beq _02144a34
ldr r0, _02144a3c ; =data_ov60_02148094
ldr r2, [r0, #0xc]
ldr r1, [r2, #0x48]
bic r1, r1, #0x800
str r1, [r2, #0x48]
ldr r0, [r0, #0xc]
ldr r1, [r0, #0x30]
cmp r1, #0
ldmeqia sp!, {r3, pc}
ldr r0, [r0, #0x34]
blx r1
ldr r0, _02144a3c ; =data_ov60_02148094
ldr r1, [r0, #0xc]
cmp r1, #0
movne r0, #0
strne r0, [r1, #0x30]
ldmia sp!, {r3, pc}
_02144a34:
bl func_ov60_021447b8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_021449e0
_02144a3c: .word data_ov60_02148094
.global func_ov60_02144a40
arm_func_start func_ov60_02144a40
func_ov60_02144a40: ; 0x02144a40
stmdb sp!, {r3, lr}
ldrh r1, [r0]
cmp r1, #6
addls pc, pc, r1, lsl #2
b _02144a8c
_02144a54: ; jump table
b _02144a8c ; case 0
b _02144a8c ; case 1
b _02144a8c ; case 2
b _02144a70 ; case 3
b _02144a78 ; case 4
b _02144a80 ; case 5
b _02144a88 ; case 6
_02144a70:
bl func_ov60_02144ac0
b _02144a8c
_02144a78:
bl func_ov60_02144af0
b _02144a8c
_02144a80:
bl func_ov60_02144b20
b _02144a8c
_02144a88:
bl func_ov60_02144b54
_02144a8c:
bl func_ov60_021449e0
ldmia sp!, {r3, pc}
arm_func_end func_ov60_02144a40
.global func_ov60_02144a94
arm_func_start func_ov60_02144a94
func_ov60_02144a94: ; 0x02144a94
stmdb sp!, {r3, lr}
ldr r1, _02144ab8 ; =data_ov60_02147714
ldr r1, [r1, r0, lsl #2]
ldr r0, _02144abc ; =func_ov60_02144a40
blx r1
cmp r0, #2
ldmeqia sp!, {r3, pc}
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144a94
_02144ab8: .word data_ov60_02147714
_02144abc: .word func_ov60_02144a40
.global func_ov60_02144ac0
arm_func_start func_ov60_02144ac0
func_ov60_02144ac0: ; 0x02144ac0
stmdb sp!, {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
bne _02144ae4
ldr r0, _02144aec ; =data_ov60_02148094
mov r1, #3
ldr r0, [r0, #0xc]
str r1, [r0, #4]
ldmia sp!, {r3, pc}
_02144ae4:
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144ac0
_02144aec: .word data_ov60_02148094
.global func_ov60_02144af0
arm_func_start func_ov60_02144af0
func_ov60_02144af0: ; 0x02144af0
stmdb sp!, {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
bne _02144b14
ldr r0, _02144b1c ; =data_ov60_02148094
mov r1, #2
ldr r0, [r0, #0xc]
str r1, [r0, #4]
ldmia sp!, {r3, pc}
_02144b14:
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144af0
_02144b1c: .word data_ov60_02148094
.global func_ov60_02144b20
arm_func_start func_ov60_02144b20
func_ov60_02144b20: ; 0x02144b20
stmdb sp!, {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
bne _02144b48
ldr r0, _02144b50 ; =data_ov60_02148094
mov r1, #4
ldr r0, [r0, #0xc]
str r1, [r0, #4]
bl func_ov60_021414c8
ldmia sp!, {r3, pc}
_02144b48:
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144b20
_02144b50: .word data_ov60_02148094
.global func_ov60_02144b54
arm_func_start func_ov60_02144b54
func_ov60_02144b54: ; 0x02144b54
stmdb sp!, {r3, lr}
ldrh r0, [r0, #2]
cmp r0, #0
bne _02144b78
ldr r0, _02144b80 ; =data_ov60_02148094
mov r1, #3
ldr r0, [r0, #0xc]
str r1, [r0, #4]
ldmia sp!, {r3, pc}
_02144b78:
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144b54
_02144b80: .word data_ov60_02148094
.global func_ov60_02144b84
arm_func_start func_ov60_02144b84
func_ov60_02144b84: ; 0x02144b84
stmdb sp!, {r3, lr}
bl func_ov01_020eff9c
ldr r1, _02144bb0 ; =data_ov60_02148094
cmp r0, #2
ldr r2, [r1, #0xc]
ldr r1, [r2, #0x48]
orr r1, r1, #0x400
str r1, [r2, #0x48]
ldmeqia sp!, {r3, pc}
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144b84
_02144bb0: .word data_ov60_02148094
.global func_ov60_02144bb4
arm_func_start func_ov60_02144bb4
func_ov60_02144bb4: ; 0x02144bb4
stmdb sp!, {r4, lr}
ldr r1, _02144c3c ; =data_ov60_02148094
mov r2, #0
ldr r1, [r1, #0xc]
mov r4, r0
strb r2, [r1, #0x16]
bl func_ov60_02144c44
ldrh r0, [r4, #2]
cmp r0, #0
bne _02144c00
ldr r0, _02144c3c ; =data_ov60_02148094
mov r3, #0
ldr r2, [r0, #0xc]
mov r1, #4
strb r3, [r2, #0x15]
ldr r0, [r0, #0xc]
str r1, [r0, #4]
bl func_ov60_021449e0
ldmia sp!, {r4, pc}
_02144c00:
ldr r0, _02144c3c ; =data_ov60_02148094
ldr r2, [r0, #0xc]
ldrb r1, [r2, #0x15]
add r1, r1, #1
strb r1, [r2, #0x15]
ldr r0, [r0, #0xc]
ldrb r0, [r0, #0x15]
cmp r0, #0x10
bls _02144c30
ldrh r0, [r4, #2]
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
_02144c30:
ldr r0, _02144c40 ; =func_ov60_02144bb4
bl func_ov60_02144b84
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02144bb4
_02144c3c: .word data_ov60_02148094
_02144c40: .word func_ov60_02144bb4
.global func_ov60_02144c44
arm_func_start func_ov60_02144c44
func_ov60_02144c44: ; 0x02144c44
ldr r0, _02144c5c ; =data_ov60_02148094
ldr r1, [r0, #0xc]
ldr r0, [r1, #0x48]
bic r0, r0, #0x400
str r0, [r1, #0x48]
bx lr
.align 2, 0
arm_func_end func_ov60_02144c44
_02144c5c: .word data_ov60_02148094
.global func_ov60_02144c60
arm_func_start func_ov60_02144c60
func_ov60_02144c60: ; 0x02144c60
stmdb sp!, {r3, lr}
ldr r2, _02144c90 ; =data_ov60_02148094
ldr r2, [r2, #8]
cmp r2, #0
beq _02144c80
blx r2
cmp r0, #0
ldmneia sp!, {r3, pc}
_02144c80:
mov r0, #0x42
bl func_ov60_02144cb8
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144c60
_02144c90: .word data_ov60_02148094
.global func_ov60_02144c94
arm_func_start func_ov60_02144c94
func_ov60_02144c94: ; 0x02144c94
stmdb sp!, {r3, lr}
ldr r1, _02144cb4 ; =data_ov60_02148094
ldr r1, [r1, #4]
cmp r1, #0
cmpne r0, #0
ldmeqia sp!, {r3, pc}
blx r1
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144c94
_02144cb4: .word data_ov60_02148094
.global func_ov60_02144cb8
arm_func_start func_ov60_02144cb8
func_ov60_02144cb8: ; 0x02144cb8
stmdb sp!, {r3, lr}
ldr r1, _02144cf0 ; =data_ov60_02148094
orr r3, r0, #0x80
ldr r2, [r1, #0xc]
str r3, [r2, #4]
ldr r3, [r1, #0xc]
ldr r2, [r3, #0x48]
bic r2, r2, #0x800
str r2, [r3, #0x48]
ldr r1, [r1]
cmp r1, #0
ldmeqia sp!, {r3, pc}
blx r1
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144cb8
_02144cf0: .word data_ov60_02148094
.global func_ov60_02144cf4
arm_func_start func_ov60_02144cf4
func_ov60_02144cf4: ; 0x02144cf4
stmdb sp!, {r3, lr}
ldr r1, _02144d18 ; =data_ov60_02148094
ldr r1, [r1, #0xc]
cmp r1, #0
ldrne r1, [r1, #0x38]
cmpne r1, #0
ldmeqia sp!, {r3, pc}
blx r1
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144cf4
_02144d18: .word data_ov60_02148094
.global func_ov60_02144d1c
arm_func_start func_ov60_02144d1c
func_ov60_02144d1c: ; 0x02144d1c
stmdb sp!, {r3, lr}
strb r0, [sp]
add r0, sp, #0
strb r1, [sp, #1]
bl func_ov60_02144cf4
ldmia sp!, {r3, pc}
arm_func_end func_ov60_02144d1c
.global func_ov60_02144d34
arm_func_start func_ov60_02144d34
func_ov60_02144d34: ; 0x02144d34
ldr r1, _02144d50 ; =data_ov60_02148094
ldr r1, [r1, #0xc]
cmp r1, #0
strne r0, [r1, #0x38]
movne r0, #1
moveq r0, #0
bx lr
.align 2, 0
arm_func_end func_ov60_02144d34
_02144d50: .word data_ov60_02148094
.global func_ov60_02144d54
arm_func_start func_ov60_02144d54
func_ov60_02144d54: ; 0x02144d54
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
cmp r6, #0xe
bhs _02144dac
ldr r4, _02144db4 ; =data_ov60_02148088
mov r5, #1
_02144d6c:
ldr r0, [r4]
ldrh r0, [r0, #0x90]
tst r0, r5, lsl r6
beq _02144d98
add r0, r6, #1
mov r0, r0, lsl #0x10
mov r0, r0, lsr #0x10
bl func_ov60_02144e58
cmp r0, #0
movne r0, #1
ldmneia sp!, {r4, r5, r6, pc}
_02144d98:
add r0, r6, #1
mov r0, r0, lsl #0x10
mov r6, r0, lsr #0x10
cmp r6, #0xe
blo _02144d6c
_02144dac:
mov r0, #0
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov60_02144d54
_02144db4: .word data_ov60_02148088
.global func_ov60_02144db8
arm_func_start func_ov60_02144db8
func_ov60_02144db8: ; 0x02144db8
stmdb sp!, {r3, lr}
bl func_ov01_020efa64
cmp r0, #0
bne _02144dd4
mov r0, #0x41
bl func_ov60_02144cb8
ldmia sp!, {r3, pc}
_02144dd4:
ldr r1, _02144df4 ; =data_ov60_02148088
ldr r1, [r1]
strh r0, [r1, #0x90]
bl func_0200b984
ldr r1, _02144df4 ; =data_ov60_02148088
ldr r1, [r1]
strb r0, [r1, #0x92]
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144db8
_02144df4: .word data_ov60_02148088
.global func_ov60_02144df8
arm_func_start func_ov60_02144df8
func_ov60_02144df8: ; 0x02144df8
stmdb sp!, {r4, lr}
ldr r1, _02144e54 ; =data_ov60_02148088
mov r3, #1
ldr r1, [r1]
mov ip, r0
ldrh r4, [r1, #0x90]
mov lr, #0
mov r2, r3
_02144e18:
add r1, ip, #1
mov r1, r1, lsl #0x10
mov ip, r1, lsr #0x10
cmp ip, #0xe
movhi ip, r3
sub r1, ip, #1
tst r4, r2, lsl r1
movne r0, ip
ldmneia sp!, {r4, pc}
add r1, lr, #1
mov r1, r1, lsl #0x10
mov lr, r1, lsr #0x10
cmp lr, #0xe
blo _02144e18
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02144df8
_02144e54: .word data_ov60_02148088
.global func_ov60_02144e58
arm_func_start func_ov60_02144e58
func_ov60_02144e58: ; 0x02144e58
stmdb sp!, {r3, lr}
mov r3, r0
mov ip, #0x1e
ldr r0, _02144e90 ; =func_ov60_02144e94
mov r1, #3
mov r2, #0x11
str ip, [sp]
bl func_ov01_020f1ac0
cmp r0, #2
moveq r0, #1
ldmeqia sp!, {r3, pc}
bl func_ov60_02144cb8
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144e58
_02144e90: .word func_ov60_02144e94
.global func_ov60_02144e94
arm_func_start func_ov60_02144e94
func_ov60_02144e94: ; 0x02144e94
stmdb sp!, {r4, lr}
ldrh r1, [r0, #2]
cmp r1, #0
bne _02144f54
ldr r3, _02144f60 ; =data_ov60_021480a4
ldrh lr, [r0, #0xa]
ldrh r1, [r3]
ldrh r0, [r0, #8]
cmp r1, lr
bls _02144ee0
sub r2, r0, #1
mov r4, #1
ldr r1, _02144f64 ; =data_ov60_021480a6
mov ip, r4, lsl r2
ldr r2, _02144f68 ; =data_ov60_021480a8
strh lr, [r3]
strh ip, [r2]
strb r4, [r1]
b _02144f0c
_02144ee0:
bne _02144f0c
ldr r2, _02144f68 ; =data_ov60_021480a8
ldr r1, _02144f64 ; =data_ov60_021480a6
ldrh r4, [r2]
ldrb r3, [r1]
sub ip, r0, #1
mov lr, #1
orr r4, r4, lr, lsl ip
add r3, r3, #1
strh r4, [r2]
strb r3, [r1]
_02144f0c:
bl func_ov60_02144fd0
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, _02144f6c ; =data_ov60_021480a0
mov r2, #4
ldr r1, [r0]
str r2, [r1, #4]
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0xfe
bne _02144f4c
ldr r0, _02144f70 ; =data_ov60_02148088
ldr r1, [r0]
ldr r0, [r1, #0xc4]
bic r0, r0, #0x80
str r0, [r1, #0xc4]
_02144f4c:
bl func_ov60_021449e0
ldmia sp!, {r4, pc}
_02144f54:
mov r0, r1
bl func_ov60_02144cb8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02144e94
_02144f60: .word data_ov60_021480a4
_02144f64: .word data_ov60_021480a6
_02144f68: .word data_ov60_021480a8
_02144f6c: .word data_ov60_021480a0
_02144f70: .word data_ov60_02148088
.global func_ov60_02144f74
arm_func_start func_ov60_02144f74
func_ov60_02144f74: ; 0x02144f74
stmdb sp!, {r3, lr}
ldr r0, _02144fbc ; =data_ov60_021480a0
mov r2, #5
ldr r0, [r0]
ldr r1, _02144fc0 ; =data_ov60_02148088
str r2, [r0, #4]
ldr ip, _02144fc4 ; =data_ov60_021480a6
mov r0, #0
ldr r3, _02144fc8 ; =data_ov60_021480a8
ldr r2, _02144fcc ; =data_ov60_021480a4
mov lr, #0x65
ldr r1, [r1]
strb r0, [ip]
strh r0, [r3]
strh lr, [r2]
strb r0, [r1, #0x8d]
bl func_ov60_02144fd0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02144f74
_02144fbc: .word data_ov60_021480a0
_02144fc0: .word data_ov60_02148088
_02144fc4: .word data_ov60_021480a6
_02144fc8: .word data_ov60_021480a8
_02144fcc: .word data_ov60_021480a4
.global func_ov60_02144fd0
arm_func_start func_ov60_02144fd0
func_ov60_02144fd0: ; 0x02144fd0
stmdb sp!, {r4, lr}
bl func_ov60_02144d54
cmp r0, #0
bne _02145050
ldr r0, _02145058 ; =data_ov60_021480a6
ldrb r0, [r0]
cmp r0, #0
beq _02145050
mov r4, #0
bl func_ov60_0214154c
ldr r1, _02145058 ; =data_ov60_021480a6
ldrb r1, [r1]
bl func_02002e20
ldr r0, _0214505c ; =data_ov60_021480a8
and r2, r1, #0xff
ldrh r3, [r0]
mov r0, #1
_02145014:
tst r3, r0, lsl r4
beq _02145040
cmp r2, #0
subne r1, r2, #1
andne r2, r1, #0xff
bne _02145040
ldr r1, _02145060 ; =data_ov60_02148088
add r2, r4, #1
ldr r1, [r1]
strb r2, [r1, #0x8d]
ldmia sp!, {r4, pc}
_02145040:
add r1, r4, #1
and r4, r1, #0xff
cmp r4, #0xe
blo _02145014
_02145050:
mov r0, #0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02144fd0
_02145058: .word data_ov60_021480a6
_0214505c: .word data_ov60_021480a8
_02145060: .word data_ov60_02148088
.global func_ov60_02145064
arm_func_start func_ov60_02145064
func_ov60_02145064: ; 0x02145064
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
ldr r1, _021450dc ; =data_ov00_020ee698
mov sl, r0
ldrh r8, [r1, #2]
cmp r8, #0
beq _021450c8
mov r7, #1
ldr r5, _021450e0 ; =data_ov00_020ee6a4
mov r6, r7
mov r4, #0x1e
_0214508c:
tst r8, r6, lsl r7
beq _021450b4
sub r0, r7, #1
mla sb, r0, r4, r5
add r0, sl, #0xa
add r1, sb, #0x16
bl func_ov60_0214289c
cmp r0, #0
ldreqh r0, [sb, #0x1c]
beq _021450cc
_021450b4:
add r0, r7, #1
mov r0, r0, lsl #0x10
mov r7, r0, lsr #0x10
cmp r7, #1
bls _0214508c
_021450c8:
mov r0, #0
_021450cc:
cmp r0, #0
movne r0, #1
moveq r0, #0
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
arm_func_end func_ov60_02145064
_021450dc: .word data_ov00_020ee698
_021450e0: .word data_ov00_020ee6a4
.global func_ov60_021450e4
arm_func_start func_ov60_021450e4
func_ov60_021450e4: ; 0x021450e4
ldr r0, _021450f0 ; =data_ov60_021480ac
ldr r0, [r0, #4]
bx lr
.align 2, 0
arm_func_end func_ov60_021450e4
_021450f0: .word data_ov60_021480ac
.global func_ov60_021450f4
arm_func_start func_ov60_021450f4
func_ov60_021450f4: ; 0x021450f4
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
bl func_ov60_021450e4
ldrb r1, [r5]
mov r4, r0
cmp r1, #0
beq _02145124
cmp r1, #1
beq _0214513c
cmp r1, #2
beq _02145170
ldmia sp!, {r3, r4, r5, pc}
_02145124:
ldrh r2, [r4, #0x1c]
ldrb r0, [r5, #1]
mov r1, #1
orr r0, r2, r1, lsl r0
strh r0, [r4, #0x1c]
ldmia sp!, {r3, r4, r5, pc}
_0214513c:
ldrb r0, [r5, #1]
mov r1, #1
ldrh r2, [r4, #0x1c]
mvn r0, r1, lsl r0
and r0, r2, r0
strh r0, [r4, #0x1c]
bl func_ov60_021440f4
mov r1, #2
strh r1, [r4, #0x18]
mov r1, #0
str r1, [r4, #0x14]
strh r0, [r4, #0x1a]
ldmia sp!, {r3, r4, r5, pc}
_02145170:
mov r0, #0
strh r0, [r4, #0x1c]
bl func_ov60_021440f4
mov r1, #2
strh r1, [r4, #0x18]
mov r1, #0
str r1, [r4, #0x14]
strh r0, [r4, #0x1a]
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov60_021450f4
.global func_ov60_02145194
arm_func_start func_ov60_02145194
func_ov60_02145194: ; 0x02145194
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
bl func_ov60_021450e4
mov r4, r0
cmp r5, #0
ble _021451c0
ldr r0, [r4, #0xc]
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
blx r0
ldmia sp!, {r3, r4, r5, pc}
_021451c0:
bl func_ov60_021440f4
mov r2, #2
strh r2, [r4, #0x18]
mov r1, #0
str r1, [r4, #0x14]
strh r0, [r4, #0x1a]
str r2, [r4, #0x20]
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov60_02145194
.global func_ov60_021451e0
arm_func_start func_ov60_021451e0
func_ov60_021451e0: ; 0x021451e0
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
mov r5, r1
mov r4, r2
bl func_ov60_021450e4
add r0, r0, r6, lsl #1
mov r1, #0
strh r1, [r0, #0xf0]
bl func_ov60_021450e4
ldr r0, [r0, #0x10]
cmp r0, #0
ldmeqia sp!, {r4, r5, r6, pc}
bl func_ov60_021450e4
ldr r3, [r0, #0x10]
mov r0, r6
mov r1, r5
mov r2, r4
blx r3
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov60_021451e0
.global func_ov60_0214522c
arm_func_start func_ov60_0214522c
func_ov60_0214522c: ; 0x0214522c
stmdb sp!, {r3, lr}
bl func_ov60_021450e4
mov r1, #0
str r1, [r0, #0xec]
ldmia sp!, {r3, pc}
arm_func_end func_ov60_0214522c
.global func_ov60_02145240
arm_func_start func_ov60_02145240
func_ov60_02145240: ; 0x02145240
stmdb sp!, {r3, r4, r5, lr}
cmp r0, #0xc
bne _02145288
ldr r0, _021452bc ; =0x027ffc40
ldrh r0, [r0]
cmp r0, #2
moveq r0, #1
movne r0, #0
cmp r0, #0
beq _02145288
bl func_ov60_021450e4
ldrb r0, [r0, #0xf5]
cmp r0, #0x3c
bhs _02145288
bl func_ov60_021450e4
mov r1, #4
str r1, [r0, #0xec]
ldmia sp!, {r3, r4, r5, pc}
_02145288:
bl func_ov60_021440f4
mov r4, r0
bl func_ov60_021450e4
ldrb r5, [r0, #0xf5]
bl func_ov60_021450e4
mov r1, #2
strh r1, [r0, #0x18]
str r5, [r0, #0x14]
strh r4, [r0, #0x1a]
bl func_ov60_021450e4
mov r1, #2
str r1, [r0, #0x20]
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov60_02145240
_021452bc: .word 0x027ffc40
.global func_ov60_021452c0
arm_func_start func_ov60_021452c0
func_ov60_021452c0: ; 0x021452c0
bx lr
arm_func_end func_ov60_021452c0
.global func_ov60_021452c4
arm_func_start func_ov60_021452c4
func_ov60_021452c4: ; 0x021452c4
stmdb sp!, {r4, r5, r6, lr}
movs r4, r2
mov r6, r0
mov r5, r1
bne _021452f4
bl func_ov60_021450e4
ldr r2, [r0, #0xe4]
ldr r1, [r6]
mov r0, r5
blx r2
mov r4, r0
b _02145308
_021452f4:
bl func_ov60_021450e4
ldr r1, [r0, #0xe8]
mov r0, r4
blx r1
mov r4, #0
_02145308:
mov r0, r4
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov60_021452c4
.global func_ov60_02145310
arm_func_start func_ov60_02145310
func_ov60_02145310: ; 0x02145310
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov12_021135e0
ldr r1, _02145344 ; =data_ov60_0214776c
mov r0, #0
str r1, [r4]
ldr r1, _02145348 ; =data_ov60_021480ac
str r0, [r4, #0xec]
str r4, [r1, #4]
mov r2, #4
mov r0, r4
str r2, [r1]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02145310
_02145344: .word data_ov60_0214776c
_02145348: .word data_ov60_021480ac
.global func_ov60_0214534c
arm_func_start func_ov60_0214534c
func_ov60_0214534c: ; 0x0214534c
stmdb sp!, {r4, lr}
ldr r1, _02145388 ; =data_ov60_0214776c
mov r4, r0
str r1, [r4]
ldr r1, [r0]
ldr r1, [r1, #0x1c]
blx r1
bl func_ov60_02147020
ldr r1, _0214538c ; =data_ov60_021480ac
mov r2, #0
mov r0, r4
str r2, [r1, #4]
bl func_ov12_021136bc
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_0214534c
_02145388: .word data_ov60_0214776c
_0214538c: .word data_ov60_021480ac
.global func_ov60_02145390
arm_func_start func_ov60_02145390
func_ov60_02145390: ; 0x02145390
stmdb sp!, {r4, lr}
ldr r1, _021453d4 ; =data_ov60_0214776c
mov r4, r0
str r1, [r4]
ldr r1, [r0]
ldr r1, [r1, #0x1c]
blx r1
bl func_ov60_02147020
ldr r1, _021453d8 ; =data_ov60_021480ac
mov r2, #0
mov r0, r4
str r2, [r1, #4]
bl func_ov12_021136bc
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02145390
_021453d4: .word data_ov60_0214776c
_021453d8: .word data_ov60_021480ac
.global func_ov60_021453dc
arm_func_start func_ov60_021453dc
func_ov60_021453dc: ; 0x021453dc
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0x7c
ldr r3, [r0]
mov r4, r0
ldr r3, [r3, #0x34]
mov r6, r1
mov r5, r2
blx r3
cmp r0, #0
addne sp, sp, #0x7c
movne r0, #1
ldmneia sp!, {r3, r4, r5, r6, pc}
bl func_ov01_020f7c78
str r0, [sp, #0xc]
mov r0, #2
mov r2, #0x90
mov r1, #1
strb r0, [sp, #0x10]
strb r2, [sp, #0x12]
strb r0, [sp, #0x13]
strb r1, [sp, #0x11]
str r6, [r4, #0xe4]
ldr r3, _02145550 ; =func_ov60_02145240
mov r1, r6
mov r2, r5
str r5, [r4, #0xe8]
bl func_ov60_02144208
cmp r0, #0
beq _02145544
ldr r0, _02145554 ; =func_ov60_021450f4
bl func_ov60_02144d34
ldr r0, _02145558 ; =data_ov60_021480ac
mov r2, #0x20
ldr r1, _0214555c ; =data_ov00_020ee698
str r2, [r0]
ldr r0, [r1, #0x2c]
cmp r0, #1
add r0, sp, #0xc
bne _02145480
bl func_ov60_02143124
b _021454fc
_02145480:
ldrh r2, [r1, #4]
add r2, r2, #1
strh r2, [r1, #4]
ldr r3, [r1, #8]
ldrh r2, [r1, #4]
and r1, r3, #0xff
bl func_ov60_02143134
add r0, sp, #0x34
blx func_02041ca8
ldr r0, _02145560 ; =data_ov60_021477b8
add r1, sp, #0x14
mov r2, #0x20
blx func_02031fc4
add r0, sp, #0x34
add r1, sp, #0x14
blx func_02041e7c
add r0, sp, #0xc
bl func_ov60_021440dc
str r0, [sp]
add r1, sp, #0x34
str r1, [sp, #4]
mov r0, #1
ldr r1, _02145564 ; =func_ov60_021452c0
ldr r2, _02145568 ; =func_ov60_021452c4
ldr r3, _0214556c ; =data_ov60_021480ac
str r0, [sp, #8]
bl func_ov60_02146d60
mov r0, #0
bl func_ov60_021471c4
add r0, sp, #0x34
blx func_02041ea8
_021454fc:
ldr r1, _02145558 ; =data_ov60_021480ac
mov r2, #4
ldr r0, _02145570 ; =func_ov60_021451e0
str r2, [r1]
bl func_ov60_02142cf0
mov r2, #0
mov r1, r2
_02145518:
add r0, r4, r2, lsl #1
add r2, r2, #1
strh r1, [r0, #0xf0]
cmp r2, #2
blt _02145518
strb r1, [r4, #0xf6]
strb r1, [r4, #0xf5]
mov r0, #1
add sp, sp, #0x7c
str r0, [r4, #0xec]
ldmia sp!, {r3, r4, r5, r6, pc}
_02145544:
mov r0, #0
add sp, sp, #0x7c
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov60_021453dc
_02145550: .word func_ov60_02145240
_02145554: .word func_ov60_021450f4
_02145558: .word data_ov60_021480ac
_0214555c: .word data_ov00_020ee698
_02145560: .word data_ov60_021477b8
_02145564: .word func_ov60_021452c0
_02145568: .word func_ov60_021452c4
_0214556c: .word data_ov60_021480ac
_02145570: .word func_ov60_021451e0
.global func_ov60_02145574
arm_func_start func_ov60_02145574
func_ov60_02145574: ; 0x02145574
ldr r0, [r0, #0xec]
cmp r0, #0
movgt r0, #1
movle r0, #0
bx lr
arm_func_end func_ov60_02145574
.global func_ov60_02145588
arm_func_start func_ov60_02145588
func_ov60_02145588: ; 0x02145588
stmdb sp!, {r4, lr}
ldr r1, [r0]
mov r4, r0
ldr r1, [r1, #0x18]
blx r1
mov r0, #1
strb r0, [r4, #0xf6]
ldmia sp!, {r4, pc}
arm_func_end func_ov60_02145588
.global func_ov60_021455a8
arm_func_start func_ov60_021455a8
func_ov60_021455a8: ; 0x021455a8
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x14
ldr ip, _0214568c ; =data_ov60_021476b8
mov r5, r0
mov r4, r1
ldmia ip!, {r0, r1, r2, r3}
add lr, sp, #0
stmia lr!, {r0, r1, r2, r3}
ldr ip, [ip]
mov r0, r5
str ip, [lr]
ldr r1, [r0]
ldr r1, [r1, #0x34]
blx r1
cmp r0, #0
addeq sp, sp, #0x14
ldmeqia sp!, {r4, r5, pc}
mov r0, r5
ldr r1, [r0]
ldr r1, [r1, #0x38]
blx r1
cmp r0, #0
addne sp, sp, #0x14
ldmneia sp!, {r4, r5, pc}
cmp r4, #3
moveq r0, #1
streqb r0, [r5, #0xf4]
beq _02145630
mov r0, #0
strb r0, [r5, #0xf4]
cmp r4, #1
bne _02145630
ldr r0, _02145690 ; =func_ov60_02145064
bl func_ov60_02142d18
_02145630:
add r0, r5, #0xf4
mov r1, #1
bl func_ov60_0214184c
add r0, sp, #0
mov r1, #0
ldr r0, [r0, r4, lsl #2]
mov r2, r1
bl func_ov60_021443c8
mov r0, #0
strh r0, [r5, #0x18]
str r0, [r5, #0x14]
strh r0, [r5, #0x1a]
cmp r4, #2
strb r0, [r5, #0xf5]
cmpne r4, #4
moveq r0, #2
streq r0, [r5, #0xec]
movne r0, #3
strne r0, [r5, #0xec]
mov r0, #1
str r0, [r5, #0x20]
add sp, sp, #0x14
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov60_021455a8
_0214568c: .word data_ov60_021476b8
_02145690: .word func_ov60_02145064
.global func_ov60_02145694
arm_func_start func_ov60_02145694
func_ov60_02145694: ; 0x02145694
ldr r0, [r0, #0xec]
cmp r0, #1
movgt r0, #1
movle r0, #0
bx lr
arm_func_end func_ov60_02145694
.global func_ov60_021456a8
arm_func_start func_ov60_021456a8
func_ov60_021456a8: ; 0x021456a8
stmdb sp!, {r4, lr}
ldr r1, [r0]
mov r4, r0
ldr r1, [r1, #0x38]
blx r1
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #0xec]
cmp r0, #7
ldmgeia sp!, {r4, pc}
mov r0, #0
mov r1, r0
mov r2, r0
bl func_ov60_021443c8
mov r0, #7
str r0, [r4, #0xec]
ldmia sp!, {r4, pc}
arm_func_end func_ov60_021456a8
.global func_ov60_021456ec
arm_func_start func_ov60_021456ec
func_ov60_021456ec: ; 0x021456ec
stmdb sp!, {r4, lr}
ldr r1, [r0]
mov r4, r0
ldr r1, [r1, #0xc]
blx r1
mov r0, #0
strh r0, [r4, #0x18]
str r0, [r4, #0x14]
strh r0, [r4, #0x1a]
mov r1, #1
mov r0, r4
str r1, [r4, #0x20]
ldr r1, [r0]
ldr r1, [r1, #0x34]
blx r1
cmp r0, #0
ldmeqia sp!, {r4, pc}
_02145730:
ldr r0, [r4, #0x20]
blx func_0202bac4
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0x20]
blx r1
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0x34]
blx r1
cmp r0, #0
bne _02145730
ldmia sp!, {r4, pc}
arm_func_end func_ov60_021456ec
.global func_ov60_02145764
arm_func_start func_ov60_02145764
func_ov60_02145764: ; 0x02145764
stmdb sp!, {r4, r5, r6, r7, r8, lr}
mov r1, #0
mov r5, r0
mov r4, r1
_02145774:
add r0, r5, r1, lsl #1
add r1, r1, #1
strh r4, [r0, #0xf0]
cmp r1, #2
blt _02145774
ldr r0, [r5, #0xec]
cmp r0, #7
addls pc, pc, r0, lsl #2
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_02145798: ; jump table
ldmia sp!, {r4, r5, r6, r7, r8, pc} ; case 0
b _02145984 ; case 1
b _021457b8 ; case 2
b _02145804 ; case 3
b _0214589c ; case 4
b _021458c4 ; case 5
b _02145900 ; case 6
b _02145960 ; case 7
_021457b8:
mov r0, r4
bl func_ov60_02140e94
cmp r0, #0
ldmleia sp!, {r4, r5, r6, r7, r8, pc}
mov r0, #0
bl func_ov60_02140ddc
mov r4, r0
bl func_ov60_021449b4
ldrb r0, [r0]
cmp r0, #1
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
mov r1, #0
mov r0, r4
mov r2, r1
bl func_ov60_02142900
cmp r0, #0
movne r0, #3
strne r0, [r5, #0xec]
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_02145804:
bl func_ov60_02142c98
cmp r0, #1
ldmlsia sp!, {r4, r5, r6, r7, r8, pc}
bl func_ov60_021440f4
cmp r0, #0xa
beq _02145828
bl func_ov60_021440f4
cmp r0, #0xb
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
_02145828:
bl func_ov60_02141574
ldrh r2, [r5, #0x1c]
mov r1, #1
orr r0, r2, r1, lsl r0
strh r0, [r5, #0x1c]
ldr r0, [r5, #8]
cmp r0, #0
beq _0214584c
blx r0
_0214584c:
ldr r0, _021459a4 ; =data_ov00_020ee698
ldr r0, [r0, #0x2c]
cmp r0, #0
bne _02145890
mov r0, r5
ldr r1, [r0]
ldr r1, [r1, #0x2c]
blx r1
cmp r0, #0
bne _02145880
mov r0, r5
mov r1, #0
bl func_ov60_02145a80
_02145880:
bl func_ov60_02146f78
mov r0, #5
str r0, [r5, #0xec]
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_02145890:
mov r0, #6
str r0, [r5, #0xec]
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_0214589c:
ldrb r0, [r5, #0xf5]
mov r1, r4
mov r2, r4
add r3, r0, #1
mov r0, #2
strb r3, [r5, #0xf5]
bl func_ov60_021443c8
mov r0, #2
str r0, [r5, #0xec]
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_021458c4:
bl func_ov60_0214717c
cmp r0, #2
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
mov r0, r5
ldr r1, [r0]
ldr r1, [r1, #0x2c]
blx r1
cmp r0, #0
bne _021458f4
mov r0, r5
mov r1, #0
bl func_ov60_02145aac
_021458f4:
mov r0, #6
str r0, [r5, #0xec]
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_02145900:
mov r8, #1
mov r7, #2
mov r6, r8
_0214590c:
add r1, r5, r4, lsl #1
ldrh r0, [r1, #0xf0]
add r0, r0, #1
strh r0, [r1, #0xf0]
ldrh r0, [r1, #0xf0]
cmp r0, #0x12c
bls _02145950
mov r0, r4, lsl #0x10
mov r0, r0, lsr #0x10
ldrh r1, [r5, #0x1c]
mvn r0, r8, lsl r0
and r0, r1, r0
strh r0, [r5, #0x1c]
bl func_ov60_021440f4
strh r7, [r5, #0x18]
str r6, [r5, #0x14]
strh r0, [r5, #0x1a]
_02145950:
add r4, r4, #1
cmp r4, #2
blt _0214590c
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_02145960:
bl func_ov60_021440f4
cmp r0, #2
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
mov r1, #0
strh r1, [r5, #0x1c]
mov r0, #1
str r0, [r5, #0xec]
str r1, [r5, #0x20]
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_02145984:
ldrb r0, [r5, #0xf6]
cmp r0, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
ldr r0, _021459a8 ; =func_ov60_0214522c
strb r4, [r5, #0xf6]
bl func_ov60_021429b8
bl func_ov60_02147020
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov60_02145764
_021459a4: .word data_ov00_020ee698
_021459a8: .word func_ov60_0214522c
.global func_ov60_021459ac
arm_func_start func_ov60_021459ac
func_ov60_021459ac: ; 0x021459ac
ldr ip, _021459b4 ; =func_ov60_02141574
bx ip
.align 2, 0
arm_func_end func_ov60_021459ac
_021459b4: .word func_ov60_02141574
.global func_ov60_021459b8
arm_func_start func_ov60_021459b8
func_ov60_021459b8: ; 0x021459b8
ldr ip, _021459cc ; =func_ov60_02144040
mov r0, r1
mov r1, r2
mov r2, r3
bx ip
.align 2, 0
arm_func_end func_ov60_021459b8
_021459cc: .word func_ov60_02144040
.global func_ov60_021459d0
arm_func_start func_ov60_021459d0
func_ov60_021459d0: ; 0x021459d0
stmdb sp!, {r4, r5, r6, lr}
ldr r3, [r0]
mov r5, r1
ldr r3, [r3, #0x2c]
mov r4, r2
ldrh r6, [r0, #0x1c]
blx r3
mov r1, #1
mvn r0, r1, lsl r0
and r0, r6, r0
mov r2, r0, lsl #0x10
ldr r3, _02145a14 ; =func_ov60_02145194
mov r0, r5
mov r1, r4
mov r2, r2, lsr #0x10
bl func_ov60_021415c0
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov60_021459d0
_02145a14: .word func_ov60_02145194
.global func_ov60_02145a18
arm_func_start func_ov60_02145a18
func_ov60_02145a18: ; 0x02145a18
stmdb sp!, {r3, lr}
bl func_ov60_021448fc
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02145a40
_02145a2c: ; jump table
b _02145a3c ; case 0
b _02145a3c ; case 1
b _02145a3c ; case 2
b _02145a3c ; case 3
_02145a3c:
ldmia sp!, {r3, pc}
_02145a40:
mov r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov60_02145a18
.global func_ov60_02145a48
arm_func_start func_ov60_02145a48
func_ov60_02145a48: ; 0x02145a48
stmdb sp!, {r3, lr}
ldr r2, _02145a7c ; =data_ov00_020ee698
ldr r2, [r2, #0x2c]
cmp r2, #1
bne _02145a68
ldr r0, [r0, #4]
blx func_ov00_020779d8
ldmia sp!, {r3, pc}
_02145a68:
mov r0, r1
mov r1, #0
mov r2, #0xc
bl func_02007a44
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02145a48
_02145a7c: .word data_ov00_020ee698
.global func_ov60_02145a80
arm_func_start func_ov60_02145a80
func_ov60_02145a80: ; 0x02145a80
stmdb sp!, {r3, lr}
mov r0, r1
mov r1, #0
bl func_ov01_020f08f8
cmp r0, #2
movne r0, #0
ldmneia sp!, {r3, pc}
bl func_ov60_02147198
bl func_ov60_021471c4
mov r0, #1
ldmia sp!, {r3, pc}
arm_func_end func_ov60_02145a80
.global func_ov60_02145aac
arm_func_start func_ov60_02145aac
func_ov60_02145aac: ; 0x02145aac
stmdb sp!, {r3, lr}
mov r0, r1
mov r1, #2
bl func_ov01_020f08f8
cmp r0, #2
mov r0, #0
ldmneia sp!, {r3, pc}
bl func_ov60_021471c4
mov r0, #1
ldmia sp!, {r3, pc}
arm_func_end func_ov60_02145aac
.global func_ov60_02145ad4
arm_func_start func_ov60_02145ad4
func_ov60_02145ad4: ; 0x02145ad4
stmdb sp!, {r3, lr}
ldr r1, [r0]
ldr r1, [r1, #0x18]
blx r1
mov r0, #1
ldmia sp!, {r3, pc}
arm_func_end func_ov60_02145ad4
.global func_ov60_02145aec
arm_func_start func_ov60_02145aec
func_ov60_02145aec: ; 0x02145aec
ldr ip, _02145af4 ; =func_ov60_02142c98
bx ip
.align 2, 0
arm_func_end func_ov60_02145aec
_02145af4: .word func_ov60_02142c98
.global func_ov60_02145af8
arm_func_start func_ov60_02145af8
func_ov60_02145af8: ; 0x02145af8
ldr r0, [r0, #0xec]
cmp r0, #6
moveq r0, #1
movne r0, #0
bx lr
arm_func_end func_ov60_02145af8
.global func_ov60_02145b0c
arm_func_start func_ov60_02145b0c
func_ov60_02145b0c: ; 0x02145b0c
ldr ip, _02145b14 ; =func_ov60_02141594
bx ip
.align 2, 0
arm_func_end func_ov60_02145b0c
_02145b14: .word func_ov60_02141594
.global func_ov60_02145b18
arm_func_start func_ov60_02145b18
func_ov60_02145b18: ; 0x02145b18
ldr ip, _02145b24 ; =func_0200d938
ldr r0, _02145b28 ; =data_ov60_021484b4
bx ip
.align 2, 0
arm_func_end func_ov60_02145b18
_02145b24: .word func_0200d938
_02145b28: .word data_ov60_021484b4
.global func_ov60_02145b2c
arm_func_start func_ov60_02145b2c
func_ov60_02145b2c: ; 0x02145b2c
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
ldr r0, _02145c54 ; =data_ov60_02148580
ldr r0, [r0]
add r4, r0, #0x440
_02145b3c:
bl func_0200ee4c
add r7, r4, #0x10000
ldr r5, [r7, #0x748]
mov r6, r0
cmp r5, #0
bne _02145b8c
ldr r8, _02145c54 ; =data_ov60_02148580
mov sb, #0
_02145b5c:
ldr r0, [r8]
ldr r0, [r0, #0xc]
cmp r0, #0
bne _02145b78
mov r0, r6
bl func_0200ee60
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
_02145b78:
mov r0, sb
bl func_0200d880
ldr r5, [r7, #0x748]
cmp r5, #0
beq _02145b5c
_02145b8c:
mov r0, r6
bl func_0200ee60
ldr r0, [r5, #0x80]
cmp r0, #1
bne _02145c28
ldr r1, [r5, #0x90]
ldr r2, [r5, #0x94]
add r0, r5, #0x38
blx func_020421d8
mov r7, #0
mov r8, r7
add sb, r5, #0xc0
mov r6, #0x400
_02145bc0:
add r3, r5, r7, lsl #2
mov r1, sb
mov r2, r6
add r0, r5, #0x38
str r8, [r3, #0xa4]
blx func_02041fa4
add r7, r7, #1
cmp r7, #2
add r8, r8, #0x400
add sb, sb, #0x400
blt _02145bc0
mov r0, #0
str r0, [r5, #0x98]
mov r0, #1
str r0, [r5, #0xa0]
mov r0, #2
str r0, [r5, #0x9c]
bl func_0200ee4c
mov r6, r0
mov r0, r4
mov r1, r5
mov r2, #1
bl func_ov60_02145fe8
mov r0, r6
bl func_0200ee60
b _02145b3c
_02145c28:
add r0, r5, #0x38
blx func_02041ea8
bl func_0200ee4c
mov r6, r0
mov r0, r4
mov r1, r5
bl func_ov60_021462cc
mov r0, r6
bl func_0200ee60
b _02145b3c
arm_func_end func_ov60_02145b2c
_02145c50:
.byte 0xf8, 0x83, 0xbd, 0xe8
_02145c54: .word data_ov60_02148580
.global func_ov60_02145c58
arm_func_start func_ov60_02145c58
func_ov60_02145c58: ; 0x02145c58
stmdb sp!, {r4, lr}
sub sp, sp, #8
ldr r4, _02145ca4 ; =data_ov60_021480b4
mov r0, #0
str r0, [r4, #0x4c4]
str r0, [r4, #0x4c0]
mov r0, #0x400
str r0, [sp]
add r0, r4, #0x400
mov ip, #0xf
ldr r1, _02145ca8 ; =func_ov60_02145b2c
mov r2, r4
mov r3, r0
str ip, [sp, #4]
blx func_0200d5e4
add r0, r4, #0x400
bl func_0200d938
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02145c58
_02145ca4: .word data_ov60_021480b4
_02145ca8: .word func_ov60_02145b2c
.global func_ov60_02145cac
arm_func_start func_ov60_02145cac
func_ov60_02145cac: ; 0x02145cac
stmdb sp!, {r4, lr}
ldr r4, _02145cdc ; =data_ov60_021480b4
b _02145cc8
_02145cb8:
add r0, r4, #0x400
bl func_0200d938
add r0, r4, #0x400
bl func_0200d83c
_02145cc8:
add r0, r4, #0x400
bl func_0200d86c
cmp r0, #0
beq _02145cb8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_02145cac
_02145cdc: .word data_ov60_021480b4
.global func_ov60_02145ce0
arm_func_start func_ov60_02145ce0
func_ov60_02145ce0: ; 0x02145ce0
stmdb sp!, {r3, lr}
ldr r1, _02145d24 ; =data_ov60_0214857c
ldr r2, [r1, #4]
cmp r2, #0
ldrne r1, [r2, #0xc]
cmpne r1, #0
ldrne r1, [r2]
cmpne r1, #0
ldmeqia sp!, {r3, pc}
ldrh r0, [r0, #8]
cmp r0, #0
ldmneia sp!, {r3, pc}
add r0, r2, #0x10000
mov r1, #0
str r1, [r0, #0xb94]
bl func_ov60_02145da0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02145ce0
_02145d24: .word data_ov60_0214857c
.global func_ov60_02145d28
arm_func_start func_ov60_02145d28
func_ov60_02145d28: ; 0x02145d28
stmdb sp!, {lr}
sub sp, sp, #0xc
ldr ip, [sp]
and r0, r0, #0xf
bic ip, ip, #0xf
orr ip, ip, r0
and ip, ip, #0xff
orr ip, ip, r3, lsl #8
ldr r0, _02145d98 ; =data_ov60_0214857c
str r2, [sp, #4]
ldr r3, [r0, #4]
str ip, [sp]
ldr r0, [r3, #0x28]
bic r2, ip, #0xf0
mov r0, r0, asr #0x8
and r0, r0, #0xff
mov r0, r0, lsl #0x1c
orr r0, r2, r0, lsr #24
str r0, [sp]
ldr ip, [r3, #0x28]
mov r0, r1
ldr r3, _02145d9c ; =func_ov60_02145ce0
add r1, sp, #0
mov r2, #9
strb ip, [sp, #8]
bl func_ov60_0213feac
add sp, sp, #0xc
ldmia sp!, {pc}
.align 2, 0
arm_func_end func_ov60_02145d28
_02145d98: .word data_ov60_0214857c
_02145d9c: .word func_ov60_02145ce0
.global func_ov60_02145da0
arm_func_start func_ov60_02145da0
func_ov60_02145da0: ; 0x02145da0
stmdb sp!, {r4, r5, r6, r7, r8, lr}
ldr r0, _02145fe4 ; =data_ov60_0214857c
ldr r2, [r0, #4]
cmp r2, #0
ldrne r0, [r2]
add r4, r2, #0x440
cmpne r0, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
add r3, r4, #0x10000
ldr r0, [r3, #0x754]
cmp r0, #0
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
ldr r1, [r3, #0x74c]
ldr r0, [r3, #0x758]
and r0, r1, r0
str r0, [r3, #0x74c]
ldr r1, [r3, #0x750]
ldr r0, [r3, #0x758]
and r0, r1, r0
str r0, [r3, #0x750]
ldr r1, [r3, #0x75c]
ldr r0, [r3, #0x758]
and r0, r1, r0
str r0, [r3, #0x75c]
ldr r1, [r3, #0x768]
ldr r0, [r3, #0x758]
and r0, r1, r0
str r0, [r3, #0x768]
ldr r0, [r3, #0x760]
cmp r0, #0
beq _02145e88
ldr r0, [r3, #0x764]
cmp r0, #0
bne _02145e88
ldr r0, [r3, #0x76c]
ldr r1, [r2, #0x2c]
mov r5, #0
str r5, [r3, #0x760]
str r0, [r2, #0x28]
bl func_ov60_0213fc28
add r0, r4, #0x10000
ldr r0, [r0, #0x768]
cmp r0, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
mov r0, r0, lsl #0x10
mov r2, r5
mov r1, r0, lsr #0x10
mov r3, r2
mov r0, #1
bl func_ov60_02145d28
cmp r0, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
add r0, r4, #0x10000
mov r1, #1
str r1, [r0, #0x754]
mov r1, r5
str r1, [r0, #0x768]
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_02145e88:
add r0, r4, #0x10000
ldr r5, [r0, #0x74c]
cmp r5, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
ldr r3, [r0, #0x750]
mov r1, #0
cmp r3, #0
beq _02145eb8
and r0, r3, r5
cmp r3, r0
moveq r6, #1
beq _02145ebc
_02145eb8:
mov r6, #0
_02145ebc:
cmp r6, #0
movne r5, r3
mvneq r0, r3
andeq r5, r5, r0
mov lr, r4
mov r2, #0
mov r0, #1
_02145ed8:
cmp r5, r0, lsl r2
mov ip, r0, lsl r2
blt _02145f30
tst ip, r5
beq _02145f24
cmp r1, #0
moveq r1, lr
beq _02145f24
ldr r8, [r1]
ldr r7, [lr]
mov r8, r8, lsl #0x1c
mov r8, r8, lsr #0x1c
mov r7, r7, lsl #0x1c
cmp r8, r7, lsr #28
ldreq r8, [r1, #4]
ldreq r7, [lr, #4]
cmpeq r8, r7
mvnne ip, ip
andne r5, r5, ip
_02145f24:
add lr, lr, #0xc
add r2, r2, #1
b _02145ed8
_02145f30:
cmp r6, #0
cmpne r5, r3
addne r0, r4, #0x10000
movne r2, #0
strne r2, [r0, #0x750]
cmp r1, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
ldr r0, [r1]
mov r2, r0, lsl #0x1c
movs r2, r2, lsr #0x1c
beq _02145f68
cmp r2, #2
beq _02145f78
b _02145f98
_02145f68:
bic r0, r0, #0xf
orr r0, r0, #1
str r0, [r1]
b _02145f98
_02145f78:
bic r0, r0, #0xf
orr r0, r0, #3
str r0, [r1]
add r0, r4, #0x10000
ldr r3, [r0, #0x75c]
mvn r2, r5
and r2, r3, r2
str r2, [r0, #0x75c]
_02145f98:
ldr r0, [r1]
mov r3, r5, lsl #0x10
mov r0, r0, lsl #0x1c
mov r0, r0, lsr #0x1c
ldr r2, [r1, #4]
mov r1, r3, lsr #0x10
and r0, r0, #0xff
mov r3, #1
bl func_ov60_02145d28
cmp r0, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
add r0, r4, #0x10000
mov r1, #1
str r1, [r0, #0x754]
ldr r2, [r0, #0x74c]
mvn r1, r5
and r1, r2, r1
str r1, [r0, #0x74c]
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov60_02145da0
_02145fe4: .word data_ov60_0214857c
.global func_ov60_02145fe8
arm_func_start func_ov60_02145fe8
func_ov60_02145fe8: ; 0x02145fe8
stmdb sp!, {r3, r4, r5, r6, r7, lr}
sub sp, sp, #8
mov r7, r0
mov r6, r1
bl func_0200ee4c
ldr r1, _021460c8 ; =data_ov60_0214857c
mov r4, r0
ldr r0, [r1, #4]
cmp r0, #0
ldrne r0, [r0, #0xc]
cmpne r0, #0
beq _021460b8
ldr r5, [r6, #0x88]
mov r3, #0
str r3, [r6, #0x88]
add r0, r7, #0x10000
ldr r1, [r0, #0x74c]
orr r1, r1, r5
str r1, [r0, #0x74c]
ldr r0, [r6, #0x84]
cmp r0, #0
bgt _0214607c
ldr r2, [r6, #0x60]
ldr r0, [r6, #0x5c]
ldr r1, [r6, #0x8c]
sub r0, r2, r0
cmp r0, #0x400
str r0, [sp]
mov ip, #0
ldr r2, _021460cc ; =data_ov60_021476cc
addls r3, r6, #0xc0
add r0, r6, #4
str ip, [sp, #4]
bl func_ov60_0213fc90
mov r0, r7
mov r1, r6
bl func_ov60_02146274
_0214607c:
mov r2, #0
mov r1, #1
_02146084:
cmp r5, r1, lsl r2
mov r0, r1, lsl r2
blt _021460b8
tst r0, r5
beq _021460ac
ldr r0, [r6, #0x84]
add r0, r0, #1
str r0, [r6, #0x84]
ldr r0, [r6, #0x8c]
str r0, [r7, #4]
_021460ac:
add r7, r7, #0xc
add r2, r2, #1
b _02146084
_021460b8:
mov r0, r4
bl func_0200ee60
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov60_02145fe8
_021460c8: .word data_ov60_0214857c
_021460cc: .word data_ov60_021476cc
.global func_ov60_021460d0
arm_func_start func_ov60_021460d0
func_ov60_021460d0: ; 0x021460d0
add r0, r0, #0x10000
ldr r0, [r0, #0x744]
cmp r0, #0
bxeq lr
_021460e0:
ldr r3, [r0, #0x80]
cmp r3, #2
ldreq ip, [r0, #0x5c]
cmpeq r1, ip
ldreq r3, [r0, #0x60]
subeq r3, r3, ip
cmpeq r2, r3
bxeq lr
ldr r0, [r0]
cmp r0, #0
bne _021460e0
bx lr
arm_func_end func_ov60_021460d0
.global func_ov60_02146110
arm_func_start func_ov60_02146110
func_ov60_02146110: ; 0x02146110
stmdb sp!, {r4, r5, r6, lr}
add r3, r0, #0x10000
ldr r4, [r3, #0x748]
mov r6, r1
mov r5, r2
cmp r4, #0
beq _02146154
_0214612c:
ldr r1, [r4, #0x80]
cmp r1, #1
ldreq r1, [r4, #0x90]
cmpeq r1, r6
ldreq r1, [r4, #0x94]
cmpeq r1, r5
beq _02146154
ldr r4, [r4]
cmp r4, #0
bne _0214612c
_02146154:
cmp r4, #0
bne _02146178
bl func_ov60_0214622c
mov r4, r0
mov r0, #0
str r0, [r4, #0x84]
str r6, [r4, #0x90]
str r5, [r4, #0x94]
bl func_ov60_02145b18
_02146178:
mov r0, r4
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov60_02146110
.global func_ov60_02146180
arm_func_start func_ov60_02146180
func_ov60_02146180: ; 0x02146180
add r0, r0, #0x10000
ldr r0, [r0, #0x744]
cmp r0, #0
bxeq lr
_02146190:
ldr r2, [r0, #0x80]
cmp r2, #2
ldreq r2, [r0, #4]
cmpeq r2, r1
bxeq lr
ldr r0, [r0]
cmp r0, #0
bne _02146190
bx lr
arm_func_end func_ov60_02146180
.global func_ov60_021461b4
arm_func_start func_ov60_021461b4
func_ov60_021461b4: ; 0x021461b4
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
mov r5, r1
mov r4, r2
bl func_0200ee4c
ldr r1, [r6]
cmp r1, #0
beq _02146224
_021461d4:
ldr r2, [r6]
cmp r2, r4
bne _02146214
ldr r1, [r4]
str r1, [r6]
ldr r1, [r5]
cmp r1, #0
beq _02146204
_021461f4:
mov r5, r1
ldr r1, [r1]
cmp r1, #0
bne _021461f4
_02146204:
str r4, [r5]
mov r1, #0
str r1, [r4]
b _02146224
_02146214:
ldr r1, [r2]
mov r6, r2
cmp r1, #0
bne _021461d4
_02146224:
bl func_0200ee60
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov60_021461b4
.global func_ov60_0214622c
arm_func_start func_ov60_0214622c
func_ov60_0214622c: ; 0x0214622c
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
add r0, r5, #0x10000
ldr r4, [r0, #0x740]
add r0, r5, #0x740
add r1, r5, #0x348
mov r2, r4
add r0, r0, #0x10000
add r1, r1, #0x10400
bl func_ov60_021461b4
mov r0, #1
str r0, [r4, #0x80]
add r1, r5, #0x10000
ldr r2, [r1, #0x764]
mov r0, r4
add r2, r2, #1
str r2, [r1, #0x764]
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov60_0214622c
.global func_ov60_02146274
arm_func_start func_ov60_02146274
func_ov60_02146274: ; 0x02146274
stmdb sp!, {r4, lr}
mov r4, r1
add r1, r0, #0x348
add r3, r0, #0x344
add r0, r1, #0x10400
mov r2, r4
add r1, r3, #0x10400
bl func_ov60_021461b4
mov r0, #2
str r0, [r4, #0x80]
ldmia sp!, {r4, pc}
arm_func_end func_ov60_02146274
.global func_ov60_021462a0
arm_func_start func_ov60_021462a0
func_ov60_021462a0: ; 0x021462a0
stmdb sp!, {r4, lr}
mov r4, r1
add r1, r0, #0x344
add r3, r0, #0x348
add r0, r1, #0x10400
mov r2, r4
add r1, r3, #0x10400
bl func_ov60_021461b4
mov r0, #3
str r0, [r4, #0x80]
ldmia sp!, {r4, pc}
arm_func_end func_ov60_021462a0
.global func_ov60_021462cc
arm_func_start func_ov60_021462cc
func_ov60_021462cc: ; 0x021462cc
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
add r0, r5, #0x348
add r1, r5, #0x740
mov r2, r4
add r0, r0, #0x10400
add r1, r1, #0x10000
bl func_ov60_021461b4
mov r0, #0
str r0, [r4, #0x80]
add r0, r5, #0x10000
ldr r1, [r0, #0x764]
sub r1, r1, #1
str r1, [r0, #0x764]
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov60_021462cc
.global func_ov60_0214630c
arm_func_start func_ov60_0214630c
func_ov60_0214630c: ; 0x0214630c
stmdb sp!, {r3, r4, r5, lr}
ldr r1, _02146360 ; =data_ov60_0214857c
mov r5, r0
ldr r4, [r1, #4]
ldr r1, [r5, #0x38]
add r0, r4, #0x440
bl func_ov60_021468e0
ldr r1, _02146360 ; =data_ov60_0214857c
mov r0, #0
ldr r2, [r1, #4]
mov r1, #1
str r5, [r2, #0x1c]
ldr ip, [r4, #0xf44]
ldr r2, [r5, #0x2c]
ldr r3, [r5, #0x38]
add r2, ip, r2
bl func_ov60_02145d28
cmp r0, #0
ldmneia sp!, {r3, r4, r5, pc}
bl func_0200f248
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov60_0214630c
_02146360: .word data_ov60_0214857c
.global func_ov60_02146364
arm_func_start func_ov60_02146364
func_ov60_02146364: ; 0x02146364
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
ldr r0, _02146418 ; =data_ov60_0214857c
ldr r4, [r0, #4]
ldr r2, [r4]
cmp r2, #0
ldrne r0, [r4, #0x28]
ldreq r0, [r4, #0x2c]
mov r0, r0, lsl #0x10
mov r1, r0, lsr #0x10
ldr r0, [r4, #4]
cmp r0, #0
addeq sp, sp, #0xc
ldmeqia sp!, {r3, r4, pc}
cmp r2, #0
add r0, r4, #0x40
beq _021463b0
bl func_ov60_0213fb10
b _021463b4
_021463b0:
bl func_ov60_0213fb70
_021463b4:
ldr r1, _0214641c ; =0x0000ffff
mov r0, r0, lsl #0x10
str r1, [sp]
ldrh r1, [r4, #0x30]
mov r3, r0, lsr #0x10
ldr r0, _02146420 ; =func_ov60_02146424
str r1, [sp, #4]
mov ip, #3
add r2, r4, #0x40
mov r1, #0
str ip, [sp, #8]
bl func_ov01_020f093c
cmp r0, #2
moveq r1, #1
movne r1, #0
ldr r0, _02146418 ; =data_ov60_0214857c
str r1, [r4, #8]
ldr r0, [r0, #4]
ldr r0, [r0, #8]
cmp r0, #0
moveq r0, #1
movne r0, #0
str r0, [r4, #4]
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov60_02146364
_02146418: .word data_ov60_0214857c
_0214641c: .word 0x0000ffff
_02146420: .word func_ov60_02146424
.global func_ov60_02146424
arm_func_start func_ov60_02146424
func_ov60_02146424: ; 0x02146424
stmdb sp!, {r3, lr}
ldr r0, _02146454 ; =data_ov60_0214857c
ldr r1, [r0, #4]
cmp r1, #0
ldrne r0, [r1, #0xc]
cmpne r0, #0
ldmeqia sp!, {r3, pc}
mov r0, #1
str r0, [r1, #4]
bl func_ov60_02145da0
bl func_ov60_02146364
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02146424
_02146454: .word data_ov60_0214857c
.global func_ov60_02146458
arm_func_start func_ov60_02146458
func_ov60_02146458: ; 0x02146458
stmdb sp!, {r3, lr}
ldr r1, _02146574 ; =data_ov60_0214857c
ldr r3, [r1, #4]
cmp r3, #0
ldrne r2, [r3, #0xc]
add ip, r3, #0x440
cmpne r2, #0
ldmeqia sp!, {r3, pc}
ldrh r1, [r0, #4]
cmp r1, #0x15
bgt _021464a8
bge _02146528
cmp r1, #9
ldmgtia sp!, {r3, pc}
cmp r1, #7
ldmltia sp!, {r3, pc}
beq _021464c0
cmp r1, #9
beq _021464e4
ldmia sp!, {r3, pc}
_021464a8:
cmp r1, #0x1a
ldmgtia sp!, {r3, pc}
cmp r1, #0x19
ldmltia sp!, {r3, pc}
cmpne r1, #0x1a
ldmia sp!, {r3, pc}
_021464c0:
ldr r0, [r3]
cmp r0, #0
ldmeqia sp!, {r3, pc}
cmp r2, #2
ldreq r0, [r3, #8]
cmpeq r0, #0
ldmneia sp!, {r3, pc}
bl func_ov60_02146364
ldmia sp!, {r3, pc}
_021464e4:
ldr r1, [r3]
cmp r1, #0
ldmeqia sp!, {r3, pc}
cmp r2, #2
ldmneia sp!, {r3, pc}
ldrh r2, [r0, #0x12]
mov r3, #1
add r1, ip, #0x10000
mov r0, r3, lsl r2
mvn r2, r3, lsl r2
ldr r3, [r1, #0x758]
mov r0, r0, lsl #0x10
and r2, r3, r2
mov r0, r0, lsr #0x10
str r2, [r1, #0x758]
bl func_ov60_0213ff00
ldmia sp!, {r3, pc}
_02146528:
ldr r1, [r3]
ldr lr, [r0, #0xc]
cmp r1, #0
ldrh r1, [r0, #0x10]
beq _02146568
cmp r2, #2
bne _02146568
add r3, ip, #0x10000
ldrh r2, [r0, #0x12]
ldr ip, [r3, #0x758]
mov r0, #1
orr ip, ip, r0, lsl r2
mov r0, lr
str ip, [r3, #0x758]
bl func_ov60_0213fb3c
ldmia sp!, {r3, pc}
_02146568:
mov r0, lr
bl func_ov60_0213fb8c
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02146458
_02146574: .word data_ov60_0214857c
.global func_ov60_02146578
arm_func_start func_ov60_02146578
func_ov60_02146578: ; 0x02146578
stmdb sp!, {r4, r5, r6, r7, r8, lr}
mov r4, r0
ldrh r0, [r4, #0xa]
bl func_ov60_0213fbb0
ldr r1, [r4]
mov r5, r0
cmp r1, #0xc
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
ldr r0, [r4, #4]
cmp r0, #2
ldmleia sp!, {r4, r5, r6, r7, r8, pc}
cmp r0, #0xd
ldmgtia sp!, {r4, r5, r6, r7, r8, pc}
cmp r0, #8
ldmltia sp!, {r4, r5, r6, r7, r8, pc}
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
cmp r0, #0xa
beq _021465cc
cmp r0, #0xd
beq _0214678c
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_021465cc:
mov r0, #0xc
mul r7, r5, r0
ldr r0, _021468dc ; =data_ov60_0214857c
ldr r1, [r4, #0x14]
ldr r2, [r0, #4]
add r2, r2, #0x440
str r1, [r2, r7]
ldr r1, [r4, #0x18]
add r3, r2, r7
str r1, [r3, #4]
ldrb r1, [r4, #0x1c]
strb r1, [r3, #8]
ldrb r2, [r4, #0x1d]
ldrb r1, [r4, #0x1e]
strb r2, [r3, #9]
strb r1, [r3, #0xa]
ldrb r1, [r4, #0x1f]
strb r1, [r3, #0xb]
ldr r8, [r4, #0x14]
mov r1, r8, lsl #0x1c
movs r1, r1, lsr #0x1c
beq _02146630
cmp r1, #2
beq _02146714
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_02146630:
ldr r1, [r0, #4]
mov r3, r8, lsl #0x18
add r6, r1, #0x440
add r0, r6, #0x10000
ldr r0, [r0, #0x760]
ldrb r2, [r4, #0x1c]
mov r3, r3, lsr #0x1c
cmp r0, #0
ldreq r0, [r1, #0x28]
orr r2, r2, r3, lsl #8
mov r8, r8, lsr #0x8
ldr r4, [r4, #0x18]
cmpeq r2, r0
beq _02146690
add r0, r6, #0x10000
mov r2, #1
str r2, [r0, #0x760]
ldr r1, [r0, #0x768]
orr r1, r1, r2, lsl r5
str r1, [r0, #0x768]
ldr r1, [r0, #0x75c]
orr r1, r1, r2, lsl r5
str r1, [r0, #0x75c]
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_02146690:
mov r0, r6
mov r1, r4
mov r2, r8
bl func_ov60_021460d0
cmp r0, #0
beq _021466dc
add r1, r6, #0x10000
ldr r2, [r1, #0x74c]
mov r3, #1
orr r2, r2, r3, lsl r5
str r2, [r1, #0x74c]
ldr r2, [r0, #0x8c]
add r1, r6, r7
str r2, [r1, #4]
ldr r1, [r0, #0x84]
mov r3, r3, lsl r5
add r1, r1, #1
str r1, [r0, #0x84]
b _02146700
_021466dc:
mov r0, r6
mov r1, r4
mov r2, r8
bl func_ov60_02146110
mov r2, #1
ldr r1, [r0, #0x88]
mov r3, r2, lsl r5
orr r1, r1, r2, lsl r5
str r1, [r0, #0x88]
_02146700:
add r0, r6, #0x10000
ldr r1, [r0, #0x75c]
orr r1, r1, r3
str r1, [r0, #0x75c]
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_02146714:
ldr r0, [r0, #4]
add r6, r0, #0x440
bl func_0200ee4c
add r1, r6, #0x10000
ldr r3, [r1, #0x74c]
mov r2, #1
orr r2, r3, r2, lsl r5
str r2, [r1, #0x74c]
mov r7, r0
ldr r1, [r4, #0x18]
mov r0, r6
bl func_ov60_02146180
movs r5, r0
beq _02146780
ldr r0, [r5, #0x84]
sub r0, r0, #1
str r0, [r5, #0x84]
cmp r0, #0
bgt _02146780
mov r0, #0
str r0, [r5, #0x88]
ldr r0, [r4, #0x18]
bl func_ov60_0213fd4c
mov r0, r6
mov r1, r5
bl func_ov60_021462a0
bl func_ov60_02145b18
_02146780:
mov r0, r7
bl func_0200ee60
ldmia sp!, {r4, r5, r6, r7, r8, pc}
_0214678c:
ldr r0, _021468dc ; =data_ov60_0214857c
ldr r1, [r4, #0x14]
ldr r0, [r0, #4]
mov r2, #0
add r0, r0, #0x440
str r2, [r4, #0x1c]
bl func_ov60_02146180
movs r5, r0
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
ldr r1, [r5, #0x9c]
ldrsh r0, [r4, #0x20]
cmp r1, #2
ldr r1, [r5, #0x98]
ldr r2, [r4, #0x18]
beq _021467e4
ldr r3, [r5, #0x44]
tst r3, #1
movne r3, #1
moveq r3, #0
cmp r3, #0
moveq r3, #2
streq r3, [r5, #0x9c]
_021467e4:
mul r8, r0, r1
str r2, [r5, #0x98]
ldr ip, [r5, #0x9c]
mov r3, #0
_021467f4:
cmp r3, ip
beq _02146830
add r6, r5, r3, lsl #2
ldr r6, [r6, #0xa4]
subs r7, r8, r6
bmi _02146830
add r6, r7, r0
cmp r6, #0x400
bgt _02146830
add r6, r5, #0xc0
add r6, r6, r3, lsl #10
str r1, [r4, #0x18]
add r1, r6, r7
str r1, [r4, #0x1c]
b _0214683c
_02146830:
add r3, r3, #1
cmp r3, #2
blt _021467f4
_0214683c:
ldr r1, [r5, #0x9c]
cmp r1, #2
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
mul r6, r0, r2
mov r2, #0
_02146850:
add r1, r5, r2, lsl #2
ldr r1, [r1, #0xa4]
subs r1, r6, r1
bmi _0214686c
add r1, r1, r0
cmp r1, #0x400
ble _02146878
_0214686c:
add r2, r2, #1
cmp r2, #2
blt _02146850
_02146878:
cmp r2, #2
ldmltia sp!, {r4, r5, r6, r7, r8, pc}
ldr r4, [r5, #0xa0]
mov r0, #0
_02146888:
add r4, r4, #1
cmp r4, #2
movge r4, r0
cmp r4, r3
beq _02146888
mov r0, #0x200
str r4, [r5, #0xa0]
rsb r0, r0, #0
str r4, [r5, #0x9c]
and r1, r6, r0
add r3, r5, r4, lsl #2
add r0, r5, #0x38
mov r2, #0
str r1, [r3, #0xa4]
blx func_02041fb0
add r1, r5, #0xc0
add r0, r5, #0x38
add r1, r1, r4, lsl #10
mov r2, #0x400
blx func_02041f98
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov60_02146578
_021468dc: .word data_ov60_0214857c
.global func_ov60_021468e0
arm_func_start func_ov60_021468e0
func_ov60_021468e0: ; 0x021468e0
stmdb sp!, {r4, r5, r6, lr}
mov r4, r0
cmp r1, #0
ldrlt r1, [r4, #0xb08]
movlt r0, #0
strlt r0, [r4, #0xb08]
ldr r0, [r4, #0xb08]
cmp r0, r1
ldmhsia sp!, {r4, r5, r6, pc}
str r1, [r4, #0xb08]
ldr r6, [r4, #0xb00]
cmp r6, #0
beq _02146940
bl func_0200ee4c
ldr r1, _021469a8 ; =data_ov60_0214857c
mov r5, r0
ldr r1, [r1, #4]
mov r2, r6
ldr r0, [r1, #0x18]
ldr r3, [r1, #0x14]
mov r1, #0
blx r3
mov r0, r5
bl func_0200ee60
_02146940:
ldr r0, _021469a8 ; =data_ov60_0214857c
ldr r2, [r4, #0xb08]
ldr r0, [r0, #4]
ldr r0, [r0, #0x28]
sub r1, r0, #0xe
add r0, r2, r1
sub r0, r0, #1
bl func_02002e20
add r0, r0, #0x1f
mov r0, r0, lsr #0x2
mov r5, r0, lsl #0x4
bl func_0200ee4c
ldr r1, _021469a8 ; =data_ov60_0214857c
mov r6, r0
ldr r2, [r1, #4]
mov r1, r5
ldr r0, [r2, #0x18]
ldr r3, [r2, #0x14]
mov r2, #0
blx r3
mov r5, r0
mov r0, r6
bl func_0200ee60
str r5, [r4, #0xb00]
str r5, [r4, #0x80]
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov60_021468e0
_021469a8: .word data_ov60_0214857c
.global func_ov60_021469ac
arm_func_start func_ov60_021469ac
func_ov60_021469ac: ; 0x021469ac
stmdb sp!, {r3, r4, r5, r6, r7, lr}
sub sp, sp, #8
mov r6, r0
ldrh r0, [r6, #0xa]
bl func_ov60_0213fbb0
ldr r1, _02146cac ; =data_ov60_0214857c
ldr r3, [r6]
ldr r2, [r1, #4]
mov r4, r0
cmp r3, #6
add r5, r2, #0x440
bgt _02146a04
cmp r3, #2
addlt sp, sp, #8
ldmltia sp!, {r3, r4, r5, r6, r7, pc}
beq _02146a14
cmp r3, #4
beq _02146b44
cmp r3, #6
beq _02146aa0
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02146a04:
cmp r3, #0xc
beq _02146be0
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02146a14:
ldrh r0, [r6, #8]
cmp r0, #0
addne sp, sp, #8
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
ldrsh r0, [r6, #0x16]
add r0, r0, #0xe
str r0, [r2, #0x28]
ldrsh r2, [r6, #0x18]
ldr r0, [r1, #4]
add r2, r2, #0xe
str r2, [r0, #0x2c]
ldr r1, [r1, #4]
ldr r0, [r1, #0x20]
cmp r0, #0
bne _02146a6c
ldr r3, _02146cb0 ; =func_ov60_021469ac
mov r2, r5
mov r0, #1
mov r1, #0
bl func_ov60_0213fe14
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02146a6c:
ldr r0, [r1, #0x1c]
cmp r0, #0
addeq sp, sp, #8
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
mov r0, r5
mvn r1, #0
bl func_ov60_021468e0
ldr r0, _02146cac ; =data_ov60_0214857c
ldr r0, [r0, #4]
ldr r0, [r0, #0x1c]
bl func_ov60_0214630c
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02146aa0:
ldr r0, [r5, r4, lsl #2]
ldr r0, [r0, #4]
str r0, [r2, #0x24]
ldr r0, [r1, #4]
ldr r6, [r0, #0x24]
bl func_0200ee4c
ldr r1, _02146cac ; =data_ov60_0214857c
mov r7, r0
ldr r2, [r1, #4]
mov r1, r6
ldr r0, [r2, #0x18]
ldr r3, [r2, #0x14]
mov r2, #0
blx r3
mov r6, r0
mov r0, r7
bl func_0200ee60
ldr r1, _02146cac ; =data_ov60_0214857c
mov r0, r5
ldr r2, [r1, #4]
str r6, [r2, #0x20]
ldr r1, [r1, #4]
ldr r1, [r1, #0x24]
bl func_ov60_021468e0
ldr r1, _02146cac ; =data_ov60_0214857c
add r6, r5, r4, lsl #2
ldr r0, [r1, #4]
add r4, r5, #0x80
add r2, r5, #0x40
ldr r5, [r0, #0x20]
ldr r3, _02146cb0 ; =func_ov60_021469ac
str r5, [r6, #0x40]
str r4, [sp]
str r3, [sp, #4]
ldr r3, [r1, #4]
mov r0, #1
ldr r3, [r3, #0x24]
mov r1, #0x20000
bl func_ov60_0213fe58
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02146b44:
ldrh r0, [r6, #8]
cmp r0, #0
addne sp, sp, #8
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
ldr r0, [r2, #0xc]
cmp r0, #2
beq _02146bb4
ldr r0, [r2, #0x20]
ldr r1, [r2, #0x24]
bl func_0200e2c0
ldr r0, _02146cac ; =data_ov60_0214857c
ldr r0, [r0, #4]
ldr r0, [r0, #0x20]
bl func_ov60_021475fc
ldr r1, _02146cac ; =data_ov60_0214857c
str r0, [r5, #0xb04]
ldr r0, [r1, #4]
mov r2, #2
str r2, [r0, #0xc]
ldr r0, [r1, #4]
ldr r1, [r0, #0x10]
cmp r1, #0
addeq sp, sp, #8
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
mov r0, #0
blx r1
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02146bb4:
mov r1, #1
ldr r2, [r5, #0xb0c]
mov r3, r1
mov r0, #2
bl func_ov60_02145d28
cmp r0, #0
addne sp, sp, #8
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
bl func_0200f248
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02146be0:
ldr r0, [r6, #4]
cmp r0, #0xa
addne sp, sp, #8
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
ldr r0, [r6, #0x14]
mov r3, r0, lsl #0x1c
mov r3, r3, lsr #0x1c
cmp r3, #1
beq _02146c14
cmp r3, #3
beq _02146c80
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02146c14:
movs r0, r0, lsr #0x8
bne _02146c30
ldr r1, _02146cb0 ; =func_ov60_021469ac
mov r0, #1
bl func_ov60_0213fdec
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02146c30:
ldr r0, [r6, #0x18]
add r4, r5, r4, lsl #2
str r0, [r5, #0xb0c]
ldr r0, [r1, #4]
add r3, r5, #0x80
ldr r2, [r0, #0x1c]
ldr r0, _02146cb0 ; =func_ov60_021469ac
ldr r6, [r2, #0x30]
add r2, r5, #0x40
str r6, [r4, #0x40]
str r3, [sp]
str r0, [sp, #4]
ldr r0, [r1, #4]
ldr r1, [r5, #0xb0c]
ldr r3, [r0, #0x1c]
mov r0, #1
ldr r3, [r3, #0x38]
bl func_ov60_0213fe58
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02146c80:
ldr r4, [r2, #0x1c]
mov r1, #0
ldr r0, [r4, #8]
str r1, [r2, #0x1c]
ldr r3, [r4, #0x2c]
ldr r2, [r4, #0x38]
add r2, r3, r2
str r2, [r4, #0x2c]
blx func_02041c2c
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov60_021469ac
_02146cac: .word data_ov60_0214857c
_02146cb0: .word func_ov60_021469ac
.global func_ov60_02146cb4
arm_func_start func_ov60_02146cb4
func_ov60_02146cb4: ; 0x02146cb4
stmdb sp!, {r4, r5, r6, r7, r8, lr}
mov r7, r1
mov r6, r2
mov r5, r3
mov r8, r0
ldr r1, _02146d54 ; =0x00010bc0
mov r0, r5
mov r2, #0
blx r6
movs r4, r0
bne _02146ce4
bl func_0200f248
_02146ce4:
ldr r1, _02146d58 ; =data_ov60_0214857c
mvn r0, #0
str r4, [r1, #4]
blx func_02041c90
mov r0, r8, lsl #0x10
mov r0, r0, lsr #0x10
strh r0, [r4, #0x30]
mov r2, #0
str r2, [r4, #4]
str r2, [r4, #8]
str r2, [r4, #0xc]
str r7, [r4, #0x10]
str r6, [r4, #0x14]
str r5, [r4, #0x18]
str r2, [r4, #0x1c]
str r2, [r4, #0x24]
str r2, [r4, #0x20]
str r2, [r4, #0x28]
mov r1, #0xe
str r1, [r4, #0x2c]
ldr r3, _02146d58 ; =data_ov60_0214857c
ldr r1, _02146d5c ; =func_ov60_02146458
str r2, [r3]
bl func_ov01_020ef72c
cmp r0, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
bl func_0200f248
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov60_02146cb4
_02146d54: .word 0x00010bc0
_02146d58: .word data_ov60_0214857c
_02146d5c: .word func_ov60_02146458
.global func_ov60_02146d60
arm_func_start func_ov60_02146d60
func_ov60_02146d60: ; 0x02146d60
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
sub sp, sp, #8
mov r8, r0
mov r7, r1
mov r6, r2
mov r5, r3
bl func_0200ee4c
ldr sb, _02146f64 ; =data_ov60_0214857c
mov r4, r0
ldr r1, [sb, #8]
cmp r1, #0
bne _02146f58
mov sl, #1
mov r0, r8
mov r1, r7
mov r2, r6
mov r3, r5
str sl, [sb, #8]
bl func_ov60_02146cb4
mov r0, r4
bl func_0200ee60
mov r0, sb
ldr r8, [r0, #4]
mov r3, sl
add sb, r8, #0x440
ldr r2, _02146f68 ; =0x00010770
mov r0, sb
mov r1, #0
str r3, [r8]
bl func_02007a44
ldr r1, _02146f68 ; =0x00010770
mov r0, sb
bl func_0200e2c0
bl func_0200e2e4
add sl, sb, #0xc0
add r0, sb, #0x10000
str sl, [r0, #0x740]
add r0, sb, #0x740
ldr r4, _02146f6c ; =0xea0ea0eb
mov r6, sl
add r5, r0, #0x10000
mov r7, #0
_02146e08:
add r1, sl, #0x8c0
add r0, sl, #0x38
str r1, [sl]
blx func_02041ca8
add r0, sl, #0x8c0
add r0, r0, #0x8c00000
sub r1, r0, r6
smull r0, r2, r4, r1
str r7, [sl, #0x84]
add r2, r1, r2
mov r0, r1, lsr #0x1f
str r7, [sl, #0x80]
add r2, r0, r2, asr #11
str r2, [sl, #0x8c]
ldr r0, [sl]
cmp r0, r5
strhs r7, [sl]
bhs _02146e58
mov sl, r0
b _02146e08
_02146e58:
add r2, sb, #0x10000
str r7, [r2, #0x750]
str r7, [r2, #0x74c]
str r7, [r2, #0x754]
str r7, [r2, #0x744]
ldr r0, [sp, #0x28]
str r7, [r2, #0x748]
str r0, [r8, #0x28]
mov r0, #1
str r0, [r2, #0x758]
str r7, [r2, #0x75c]
str r7, [r2, #0x760]
str r7, [r2, #0x768]
str r7, [r2, #0x764]
ldr r3, [r8, #0x28]
ldr r1, _02146f68 ; =0x00010770
mov r0, sb
str r3, [r2, #0x76c]
bl func_0200e2c0
bl func_0200e2e4
ldr r0, [r8, #0x28]
ldr r1, [r8, #0x2c]
ldr r2, _02146f70 ; =func_ov60_02146578
bl func_ov60_0213f984
ldr r0, [sp, #0x2c]
ldr r1, [sp, #0x30]
bl func_ov60_0214727c
add r2, sb, #0x10000
ldr r5, [r2, #0x740]
mov r3, #1
ldr r1, [r5]
mov r0, r5
str r1, [r2, #0x740]
ldr r4, [r2, #0x744]
mov r1, #0
str r4, [r5]
str r5, [r2, #0x744]
str r3, [r5, #0x84]
mov r2, #0x8c0
bl func_02007a44
add r0, r5, #4
ldr r1, _02146f64 ; =data_ov60_0214857c
mov r3, #0
ldr r2, [r1, #4]
mov r1, #0x20000
ldr r4, [r2, #0x24]
ldr r2, _02146f74 ; =data_ov60_021476cc
str r4, [sp]
str r3, [sp, #4]
ldr r3, [r8, #0x20]
bl func_ov60_0213fc90
bl func_0200ee4c
mov r4, r0
mov r0, #1
str r0, [r8, #0xc]
ldr r0, [r8, #4]
cmp r0, #0
beq _02146f44
bl func_ov60_02146f78
_02146f44:
mov r0, r4
bl func_0200ee60
bl func_ov60_02145c58
add sp, sp, #8
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
_02146f58:
bl func_0200ee60
add sp, sp, #8
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
arm_func_end func_ov60_02146d60
_02146f64: .word data_ov60_0214857c
_02146f68: .word 0x00010770
_02146f6c: .word 0xea0ea0eb
_02146f70: .word func_ov60_02146578
_02146f74: .word data_ov60_021476cc
.global func_ov60_02146f78
arm_func_start func_ov60_02146f78
func_ov60_02146f78: ; 0x02146f78
stmdb sp!, {r3, r4, r5, lr}
bl func_0200ee4c
mov r4, r0
bl func_ov60_0214717c
cmp r0, #1
beq _02146fa4
ldr r0, _02147018 ; =data_ov60_0214857c
mov r1, #1
ldr r0, [r0, #4]
str r1, [r0, #4]
b _0214700c
_02146fa4:
ldr r0, _02147018 ; =data_ov60_0214857c
mov r2, #1
ldr r1, [r0, #4]
str r2, [r1, #4]
ldr r5, [r0, #4]
ldr r1, [r5]
cmp r1, #0
bne _02146fe8
add r0, r5, #0x780
bl func_ov01_020ef804
add r0, r5, #0x840
ldrh r0, [r0, #0xc8]
bl func_ov60_02140124
ldr r1, _0214701c ; =func_ov60_021469ac
mov r0, #1
bl func_ov60_0213fdec
b _02147008
_02146fe8:
mov r1, #2
str r1, [r5, #0xc]
ldr r0, [r0, #4]
ldr r1, [r0, #0x10]
cmp r1, #0
beq _02147008
mov r0, #0
blx r1
_02147008:
bl func_ov60_02146364
_0214700c:
mov r0, r4
bl func_0200ee60
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov60_02146f78
_02147018: .word data_ov60_0214857c
_0214701c: .word func_ov60_021469ac
.global func_ov60_02147020
arm_func_start func_ov60_02147020
func_ov60_02147020: ; 0x02147020
stmdb sp!, {r3, r4, r5, r6, r7, lr}
ldr r0, _02147178 ; =data_ov60_0214857c
ldr r4, [r0, #4]
bl func_0200ee4c
ldr r1, _02147178 ; =data_ov60_0214857c
mov r5, r0
ldr r0, [r1, #8]
cmp r0, #0
beq _0214716c
ldr r7, [r4, #0x20]
cmp r7, #0
beq _0214708c
beq _02147080
bl func_0200ee4c
ldr r1, _02147178 ; =data_ov60_0214857c
mov r6, r0
ldr r1, [r1, #4]
mov r2, r7
ldr r0, [r1, #0x18]
ldr r3, [r1, #0x14]
mov r1, #0
blx r3
mov r0, r6
bl func_0200ee60
_02147080:
mov r0, #0
str r0, [r4, #0x20]
str r0, [r4, #0x24]
_0214708c:
mov r2, #0
ldr r0, _02147178 ; =data_ov60_0214857c
str r2, [r4, #0xc]
ldr r0, [r0, #4]
ldr r0, [r0]
cmp r0, #0
bne _02147100
ldr r0, [r4, #0x1c]
cmp r0, #0
beq _021470c4
ldr r0, [r0, #8]
mov r1, #5
str r2, [r4, #0x1c]
blx func_02041c2c
_021470c4:
ldr r6, [r4, #0xf40]
cmp r6, #0
beq _02147104
bl func_0200ee4c
ldr r1, _02147178 ; =data_ov60_0214857c
mov r4, r0
ldr r1, [r1, #4]
mov r2, r6
ldr r0, [r1, #0x18]
ldr r3, [r1, #0x14]
mov r1, #0
blx r3
mov r0, r4
bl func_0200ee60
b _02147104
_02147100:
bl func_ov60_02145cac
_02147104:
bl func_ov60_0213fa50
ldr r0, _02147178 ; =data_ov60_0214857c
mov r1, #0
ldr r0, [r0, #4]
mov r2, r1
ldrh r0, [r0, #0x30]
bl func_ov01_020ef72c
ldr r0, _02147178 ; =data_ov60_0214857c
ldr r6, [r0, #4]
cmp r6, #0
beq _0214715c
bl func_0200ee4c
ldr r1, _02147178 ; =data_ov60_0214857c
mov r4, r0
ldr r1, [r1, #4]
mov r2, r6
ldr r0, [r1, #0x18]
ldr r3, [r1, #0x14]
mov r1, #0
blx r3
mov r0, r4
bl func_0200ee60
_0214715c:
ldr r0, _02147178 ; =data_ov60_0214857c
mov r1, #0
str r1, [r0, #4]
str r1, [r0, #8]
_0214716c:
mov r0, r5
bl func_0200ee60
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov60_02147020
_02147178: .word data_ov60_0214857c
.global func_ov60_0214717c
arm_func_start func_ov60_0214717c
func_ov60_0214717c: ; 0x0214717c
ldr r0, _02147194 ; =data_ov60_0214857c
ldr r0, [r0, #4]
cmp r0, #0
ldrne r0, [r0, #0xc]
moveq r0, #0
bx lr
.align 2, 0
arm_func_end func_ov60_0214717c
_02147194: .word data_ov60_0214857c
.global func_ov60_02147198
arm_func_start func_ov60_02147198
func_ov60_02147198: ; 0x02147198
ldr r0, _021471c0 ; =data_ov60_0214857c
ldr r1, [r0, #8]
cmp r1, #0
ldrne r1, [r0, #4]
ldrne r0, [r1]
cmpne r0, #0
moveq r0, #0
addne r0, r1, #0x10000
ldrne r0, [r0, #0xb98]
bx lr
.align 2, 0
arm_func_end func_ov60_02147198
_021471c0: .word data_ov60_0214857c
.global func_ov60_021471c4
arm_func_start func_ov60_021471c4
func_ov60_021471c4: ; 0x021471c4
stmdb sp!, {r4, lr}
mov r4, r0
bl func_0200ee4c
ldr r1, _021471ec ; =data_ov60_0214857c
bic r2, r4, #1
ldr r1, [r1, #4]
add r1, r1, #0x10000
str r2, [r1, #0xb90]
bl func_0200ee60
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov60_021471c4
_021471ec: .word data_ov60_0214857c
.global func_ov60_021471f0
arm_func_start func_ov60_021471f0
func_ov60_021471f0: ; 0x021471f0
stmdb sp!, {r3, lr}
mov r0, r2
mov r2, r3
bl func_02007ad8
mov r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov60_021471f0
.global func_ov60_02147208
arm_func_start func_ov60_02147208
func_ov60_02147208: ; 0x02147208
mov r0, #1
bx lr
arm_func_end func_ov60_02147208
.global func_ov60_02147210
arm_func_start func_ov60_02147210
func_ov60_02147210: ; 0x02147210
stmdb sp!, {r3, lr}
cmp r1, #0
beq _02147228
cmp r1, #1
beq _02147268
b _02147270
_02147228:
ldr r1, _02147278 ; =data_ov60_02148580
ldr r1, [r1]
cmp r1, #0
beq _02147244
ldr r1, [r1, #0xc]
cmp r1, #2
beq _0214724c
_02147244:
mov r0, #5
ldmia sp!, {r3, pc}
_0214724c:
ldr r1, [r0, #0x38]
cmp r1, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov60_0214630c
mov r0, #6
ldmia sp!, {r3, pc}
_02147268:
mov r0, #4
ldmia sp!, {r3, pc}
_02147270:
mov r0, #8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov60_02147210
_02147278: .word data_ov60_02148580
.global func_ov60_0214727c
arm_func_start func_ov60_0214727c
func_ov60_0214727c: ; 0x0214727c
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0xf4
movs r5, r0
mov r0, #0
moveq r4, #1
movne r4, r0
str r0, [sp, #4]
cmp r4, #0
bne _021472ac
cmp r1, #0
movne fp, #1
bne _021472b0
_021472ac:
mov fp, #0
_021472b0:
add r0, sp, #0x4c
blx func_02041ca8
mov r1, #0
add r0, sp, #0x4c
sub r2, r1, #0x80000001
blx func_020421d8
cmp r4, #0
beq _021472e4
mov r4, #0
mov r7, r4
blx func_0204010c
mov r8, r0
b _0214731c
_021472e4:
ldr r1, [r5, #0x24]
ldr r0, [r5, #0x2c]
add r8, sp, #0x94
sub r6, r0, r1
add r4, r6, r1
mov r0, r5
mov r1, r8
mov r2, #0x60
mov r7, r4
blx func_02041fa4
mov r0, r5
mov r1, r6
mov r2, #0
blx func_02041fb0
_0214731c:
cmp fp, #0
bne _02147368
ldr r0, [r8, #0x48]
str r0, [sp, #0x2c]
ldr r0, [r8, #0x4c]
str r0, [sp, #0x30]
ldr r0, [r8, #0x40]
str r0, [sp, #0x34]
ldr r0, [r8, #0x44]
str r0, [sp, #0x38]
ldr r0, [r8, #0x50]
str r0, [sp, #0x3c]
ldr r0, [r8, #0x54]
str r0, [sp, #0x40]
ldr r0, [r8, #0x58]
str r0, [sp, #0x44]
ldr r0, [r8, #0x5c]
str r0, [sp, #0x48]
b _021473bc
_02147368:
blx func_0204010c
ldr r1, [r0, #0x48]
str r1, [sp, #0x2c]
ldr r0, [r0, #0x4c]
str r0, [sp, #0x30]
blx func_0204010c
ldr r1, [r0, #0x40]
mov r7, #0
str r1, [sp, #0x34]
ldr r0, [r0, #0x44]
str r0, [sp, #0x38]
ldr r0, [r8, #0x50]
add r0, r0, r4
str r0, [sp, #0x3c]
ldr r0, [r8, #0x54]
str r0, [sp, #0x40]
ldr r0, [r8, #0x58]
add r0, r0, r4
str r0, [sp, #0x44]
ldr r0, [r8, #0x5c]
str r0, [sp, #0x48]
_021473bc:
ldr r0, [sp, #4]
add r5, sp, #0x2c
add r0, r0, #4
str r0, [sp, #4]
mov r0, #0
add r3, sp, #0x1c
_021473d4:
add r1, r5, r0, lsl #3
ldr r1, [r1, #4]
add r1, r1, #0x1f
bic r1, r1, #0x1f
str r1, [r3, r0, lsl #2]
add r2, r1, #4
ldr r1, [sp, #4]
add r0, r0, #1
add r1, r1, r2
cmp r0, #4
str r1, [sp, #4]
blt _021473d4
cmp fp, #0
beq _02147450
mov r0, #2
add r2, sp, #0x2c
_02147414:
add r1, r2, r0, lsl #3
ldr r1, [r1, #4]
add r0, r0, #1
mov r1, r1, lsr #0x5
mov r1, r1, lsl #0x3
add r1, r1, #0x1f
bic r3, r1, #0x1f
ldr r1, [sp, #0x1c]
cmp r0, #4
add r1, r1, r3
str r1, [sp, #0x1c]
ldr r1, [sp, #4]
add r1, r1, r3
str r1, [sp, #4]
blt _02147414
_02147450:
bl func_0200ee4c
ldr r1, _021475f8 ; =data_ov60_02148580
mov r5, r0
ldr r2, [r1]
ldr r1, [sp, #4]
ldr r0, [r2, #0x18]
ldr r3, [r2, #0x14]
mov r2, #0
blx r3
str r0, [sp, #8]
mov r0, r5
bl func_0200ee60
ldr r0, [sp, #8]
mov sl, #0
str r7, [r0]
add sb, r0, #4
add r6, sp, #0x2c
add r5, sp, #0x4c
_02147498:
add r0, r6, sl, lsl #3
ldr r1, [r0, #4]
add r0, sp, #0xc
str r1, [sb]
ldr r1, [r6, sl, lsl #3]
str sb, [r0, sl, lsl #2]
mov r0, r5
mov r2, #0
add r1, r7, r1
blx func_02041fb0
ldr r2, [sb]
mov r0, r5
add r1, sb, #4
blx func_02041fa4
add r0, sp, #0x1c
ldr r0, [r0, sl, lsl #2]
add sl, sl, #1
add r0, r0, #4
add sb, sb, r0
cmp sl, #4
blt _02147498
cmp fp, #0
beq _021475bc
ldr r2, [sp, #0xc]
ldr r0, [r8, #0x48]
ldr r1, [r2]
add fp, r4, r0
mov r0, #2
add r5, r2, #4
mov r6, r1, lsr #0x3
add sl, r5, r6, lsl #3
str r0, [sp]
_02147518:
ldr r0, [sp]
add r1, sp, #0xc
ldr r0, [r1, r0, lsl #2]
mov sb, #0
add r7, r0, #4
ldr r0, [r0]
mov r8, r0, lsr #0x5
cmp r8, #0
ble _0214759c
_0214753c:
add r1, r7, sb, lsl #5
ldr r1, [r1, #0x18]
add r0, sp, #0x4c
mov r2, #0
add r1, fp, r1, lsl #3
blx func_02041fb0
add r0, sp, #0x4c
mov r1, sl
mov r2, #8
blx func_02041fa4
ldr r2, [r5, r6, lsl #3]
add r1, r7, sb, lsl #5
add r2, r2, r4
add sb, sb, #1
add r0, r5, r6, lsl #3
str r2, [r5, r6, lsl #3]
ldr r2, [r0, #4]
add sl, sl, #8
add r2, r2, r4
str r2, [r0, #4]
str r6, [r1, #0x18]
add r6, r6, #1
cmp sb, r8
blt _0214753c
_0214759c:
ldr r0, [sp]
add r0, r0, #1
str r0, [sp]
cmp r0, #4
blt _02147518
ldr r0, [sp, #0xc]
mov r1, r6, lsl #0x3
str r1, [r0]
_021475bc:
ldr r0, [sp, #8]
ldr r1, [sp, #4]
bl func_0200e2c0
bl func_0200e2e4
add r0, sp, #0x4c
blx func_02041ea8
ldr r1, _021475f8 ; =data_ov60_02148580
ldr r0, [sp, #8]
ldr r2, [r1]
str r0, [r2, #0x20]
ldr r1, [r1]
ldr r0, [sp, #4]
str r0, [r1, #0x24]
add sp, sp, #0xf4
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov60_0214727c
_021475f8: .word data_ov60_02148580
.global func_ov60_021475fc
arm_func_start func_ov60_021475fc
func_ov60_021475fc: ; 0x021475fc
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x30
mov r6, r0
ldr r0, _021476a8 ; =data_ov60_021477c4
mov r1, #3
blx func_020418ac
mov r5, r0
blx func_020419d0
ldr r1, _021476ac ; =func_ov60_02147210
mov r0, r5
mvn r2, #0
blx func_02041c18
ldr r4, [r6], #4
mov r3, #0
add r2, sp, #0x10
_02147638:
add r0, r6, #4
str r0, [r2, r3, lsl #3]
ldr r1, [r6]
add r0, r2, r3, lsl #3
str r1, [r0, #4]
add r0, r1, #0x1f
ldr r1, [r2, r3, lsl #3]
bic r0, r0, #0x1f
add r3, r3, #1
cmp r3, #4
add r6, r1, r0
blt _02147638
ldr r0, [sp, #0x18]
ldr r1, _021476b0 ; =func_ov60_021471f0
str r0, [sp]
ldr r2, [sp, #0x1c]
ldr r0, _021476b4 ; =func_ov60_02147208
str r2, [sp, #4]
str r1, [sp, #8]
str r0, [sp, #0xc]
ldr r2, [sp, #0x10]
ldr r3, [sp, #0x14]
mov r0, r5
mov r1, #0
blx func_0204198c
mov r0, r4
add sp, sp, #0x30
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov60_021475fc
_021476a8: .word data_ov60_021477c4
_021476ac: .word func_ov60_02147210
_021476b0: .word func_ov60_021471f0
_021476b4: .word func_ov60_02147208
.rodata
.global data_ov60_021476b8
data_ov60_021476b8: ; 0x021476b8
.byte 0x06, 0x00, 0x00, 0x00
.global data_ov60_021476bc
data_ov60_021476bc: ; 0x021476bc
.byte 0x07, 0x00, 0x00, 0x00
.global data_ov60_021476c0
data_ov60_021476c0: ; 0x021476c0
.byte 0x02, 0x00, 0x00, 0x00
.global data_ov60_021476c4
data_ov60_021476c4: ; 0x021476c4
.byte 0x03, 0x00, 0x00, 0x00
.global data_ov60_021476c8
data_ov60_021476c8: ; 0x021476c8
.byte 0x04, 0x00, 0x00, 0x00
.global data_ov60_021476cc
data_ov60_021476cc: ; 0x021476cc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_021476d0
data_ov60_021476d0: ; 0x021476d0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_021476d4
data_ov60_021476d4: ; 0x021476d4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_021476d8
data_ov60_021476d8: ; 0x021476d8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_021476dc
data_ov60_021476dc: ; 0x021476dc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_021476e0
data_ov60_021476e0: ; 0x021476e0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_021476e4
data_ov60_021476e4: ; 0x021476e4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_021476e8
data_ov60_021476e8: ; 0x021476e8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_021476ec
.section .init, 4, 1, 4
.section .sinit, 4, 1, 4
.data
.global data_ov60_02147700
data_ov60_02147700: ; 0x02147700
.byte 0xff, 0xff, 0xff, 0xff
.global data_ov60_02147704
data_ov60_02147704: ; 0x02147704
.byte 0xff, 0xff, 0xff, 0xff
.global data_ov60_02147708
data_ov60_02147708: ; 0x02147708
.byte 0xff, 0xff, 0xff, 0xff
.global data_ov60_0214770c
data_ov60_0214770c: ; 0x0214770c
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov60_02147710
data_ov60_02147710: ; 0x02147710
.byte 0xff, 0xff, 0xff, 0xff
.global data_ov60_02147714
data_ov60_02147714: ; 0x02147714
.byte 0x20, 0xfe, 0x0e, 0x02
.global data_ov60_02147718
data_ov60_02147718: ; 0x02147718
.byte 0x80, 0xfe, 0x0e, 0x02
.global data_ov60_0214771c
data_ov60_0214771c: ; 0x0214771c
.byte 0xc0, 0xfe, 0x0e, 0x02
.global data_ov60_02147720
data_ov60_02147720: ; 0x02147720
.byte 0x00, 0xff, 0x0e, 0x02
.global data_ov60_02147724
data_ov60_02147724: ; 0x02147724
.ascii "brg"
.byte 0x00
.global data_ov60_02147728
data_ov60_02147728: ; 0x02147728
.ascii "fnl"
.byte 0x00
.global data_ov60_0214772c
data_ov60_0214772c: ; 0x0214772c
.ascii "pdl"
.byte 0x00
.global data_ov60_02147730
data_ov60_02147730: ; 0x02147730
.ascii "dco"
.byte 0x00
.global data_ov60_02147734
data_ov60_02147734: ; 0x02147734
.ascii "can"
.byte 0x00
.global data_ov60_02147738
data_ov60_02147738: ; 0x02147738
.ascii "hul"
.byte 0x00
.global data_ov60_0214773c
data_ov60_0214773c: ; 0x0214773c
.ascii "bow"
.byte 0x00
.global data_ov60_02147740
data_ov60_02147740: ; 0x02147740
.ascii "anc"
.byte 0x00
.global data_ov60_02147744
data_ov60_02147744: ; 0x02147744
.byte 0x40, 0x77, 0x14, 0x02
.global data_ov60_02147748
data_ov60_02147748: ; 0x02147748
.byte 0x3c, 0x77, 0x14, 0x02
.global data_ov60_0214774c
data_ov60_0214774c: ; 0x0214774c
.byte 0x38, 0x77, 0x14, 0x02
.global data_ov60_02147750
data_ov60_02147750: ; 0x02147750
.byte 0x34, 0x77, 0x14, 0x02
.global data_ov60_02147754
data_ov60_02147754: ; 0x02147754
.byte 0x30, 0x77, 0x14, 0x02
.global data_ov60_02147758
data_ov60_02147758: ; 0x02147758
.byte 0x2c, 0x77, 0x14, 0x02
.global data_ov60_0214775c
data_ov60_0214775c: ; 0x0214775c
.byte 0x28, 0x77, 0x14, 0x02
.global data_ov60_02147760
data_ov60_02147760: ; 0x02147760
.byte 0x24, 0x77, 0x14, 0x02
.global data_ov60_02147764
data_ov60_02147764: ; 0x02147764
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_02147768
data_ov60_02147768: ; 0x02147768
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_0214776c
data_ov60_0214776c: ; 0x0214776c
.byte 0x4c, 0x53, 0x14, 0x02
.global data_ov60_02147770
data_ov60_02147770: ; 0x02147770
.byte 0x90, 0x53, 0x14, 0x02
.global data_ov60_02147774
data_ov60_02147774: ; 0x02147774
.byte 0xdc, 0x53, 0x14, 0x02
.global data_ov60_02147778
data_ov60_02147778: ; 0x02147778
.byte 0x88, 0x55, 0x14, 0x02
.global data_ov60_0214777c
data_ov60_0214777c: ; 0x0214777c
.byte 0xa8, 0x55, 0x14, 0x02
.global data_ov60_02147780
data_ov60_02147780: ; 0x02147780
.byte 0xd4, 0x5a, 0x14, 0x02
.global data_ov60_02147784
data_ov60_02147784: ; 0x02147784
.byte 0xa8, 0x56, 0x14, 0x02
.global data_ov60_02147788
data_ov60_02147788: ; 0x02147788
.byte 0xec, 0x56, 0x14, 0x02
.global data_ov60_0214778c
data_ov60_0214778c: ; 0x0214778c
.byte 0x64, 0x57, 0x14, 0x02
.global data_ov60_02147790
data_ov60_02147790: ; 0x02147790
.byte 0xb8, 0x59, 0x14, 0x02
.global data_ov60_02147794
data_ov60_02147794: ; 0x02147794
.byte 0xd0, 0x59, 0x14, 0x02
.global data_ov60_02147798
data_ov60_02147798: ; 0x02147798
.byte 0xac, 0x59, 0x14, 0x02
.global data_ov60_0214779c
data_ov60_0214779c: ; 0x0214779c
.byte 0xec, 0x5a, 0x14, 0x02
.global data_ov60_021477a0
data_ov60_021477a0: ; 0x021477a0
.byte 0x74, 0x55, 0x14, 0x02
.global data_ov60_021477a4
data_ov60_021477a4: ; 0x021477a4
.byte 0x94, 0x56, 0x14, 0x02
.global data_ov60_021477a8
data_ov60_021477a8: ; 0x021477a8
.byte 0xf8, 0x5a, 0x14, 0x02
.global data_ov60_021477ac
data_ov60_021477ac: ; 0x021477ac
.byte 0x0c, 0x5b, 0x14, 0x02
.global data_ov60_021477b0
data_ov60_021477b0: ; 0x021477b0
.byte 0x18, 0x5a, 0x14, 0x02
.global data_ov60_021477b4
data_ov60_021477b4: ; 0x021477b4
.byte 0x48, 0x5a, 0x14, 0x02
.global data_ov60_021477b8
data_ov60_021477b8: ; 0x021477b8
.ascii "/child.srl"
.byte 0x00, 0x00
.global data_ov60_021477c4
data_ov60_021477c4: ; 0x021477c4
.ascii "rom"
.byte 0x00
.global data_ov60_021477c8
data_ov60_021477c8: ; 0x021477c8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_021477cc
data_ov60_021477cc: ; 0x021477cc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_021477d0
data_ov60_021477d0: ; 0x021477d0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_021477d4
data_ov60_021477d4: ; 0x021477d4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_021477d8
data_ov60_021477d8: ; 0x021477d8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov60_021477dc
data_ov60_021477dc: ; 0x021477dc
.byte 0x00, 0x00, 0x00, 0x00
; 0x021477e0
.bss
.global data_ov60_021477e0
data_ov60_021477e0:
.space 0x4
.global data_ov60_021477e4
data_ov60_021477e4:
.space 0x2
.global data_ov60_021477e6
data_ov60_021477e6:
.space 0x2
.global data_ov60_021477e8
data_ov60_021477e8:
.space 0x4
.global data_ov60_021477ec
data_ov60_021477ec:
.space 0x4
.global data_ov60_021477f0
data_ov60_021477f0:
.space 0x4
.global data_ov60_021477f4
data_ov60_021477f4:
.space 0x4
.global data_ov60_021477f8
data_ov60_021477f8:
.space 0x4
.global data_ov60_021477fc
data_ov60_021477fc:
.space 0x4
.global data_ov60_02147800
data_ov60_02147800:
.space 0x4
.global data_ov60_02147804
data_ov60_02147804:
.space 0x4
.global data_ov60_02147808
data_ov60_02147808:
.space 0x4
.global data_ov60_0214780c
data_ov60_0214780c:
.space 0x4
.global data_ov60_02147810
data_ov60_02147810:
.space 0x4
.global data_ov60_02147814
data_ov60_02147814:
.space 0x4
.global data_ov60_02147818
data_ov60_02147818:
.space 0x4
.global data_ov60_0214781c
data_ov60_0214781c:
.space 0x4
.global data_ov60_02147820
data_ov60_02147820:
.space 0x4
.global data_ov60_02147824
data_ov60_02147824:
.space 0x4
.global data_ov60_02147828
data_ov60_02147828:
.space 0x4
.global data_ov60_0214782c
data_ov60_0214782c:
.space 0x4
.global data_ov60_02147830
data_ov60_02147830:
.space 0x4
.global data_ov60_02147834
data_ov60_02147834:
.space 0x4
.global data_ov60_02147838
data_ov60_02147838:
.space 0x4
.global data_ov60_0214783c
data_ov60_0214783c:
.space 0x4
.global data_ov60_02147840
data_ov60_02147840:
.space 0x4
.global data_ov60_02147844
data_ov60_02147844:
.space 0x4
.global data_ov60_02147848
data_ov60_02147848:
.space 0x4
.global data_ov60_0214784c
data_ov60_0214784c:
.space 0x4
.global data_ov60_02147850
data_ov60_02147850:
.space 0x4
.global data_ov60_02147854
data_ov60_02147854:
.space 0x4
.global data_ov60_02147858
data_ov60_02147858:
.space 0x4
.global data_ov60_0214785c
data_ov60_0214785c:
.space 0x4
.global data_ov60_02147860
data_ov60_02147860:
.space 0x4
.global data_ov60_02147864
data_ov60_02147864:
.space 0x4
.global data_ov60_02147868
data_ov60_02147868:
.space 0x4
.global data_ov60_0214786c
data_ov60_0214786c:
.space 0x4
.global data_ov60_02147870
data_ov60_02147870:
.space 0x4
.global data_ov60_02147874
data_ov60_02147874:
.space 0x4
.global data_ov60_02147878
data_ov60_02147878:
.space 0x4
.global data_ov60_0214787c
data_ov60_0214787c:
.space 0x4
.global data_ov60_02147880
data_ov60_02147880:
.space 0x4
.global data_ov60_02147884
data_ov60_02147884:
.space 0x4
.global data_ov60_02147888
data_ov60_02147888:
.space 0x4
.global data_ov60_0214788c
data_ov60_0214788c:
.space 0x4
.global data_ov60_02147890
data_ov60_02147890:
.space 0x4
.global data_ov60_02147894
data_ov60_02147894:
.space 0x4
.global data_ov60_02147898
data_ov60_02147898:
.space 0x4
.global data_ov60_0214789c
data_ov60_0214789c:
.space 0x4
.global data_ov60_021478a0
data_ov60_021478a0:
.space 0x4
.global data_ov60_021478a4
data_ov60_021478a4:
.space 0x4
.global data_ov60_021478a8
data_ov60_021478a8:
.space 0x4
.global data_ov60_021478ac
data_ov60_021478ac:
.space 0x4
.global data_ov60_021478b0
data_ov60_021478b0:
.space 0x4
.global data_ov60_021478b4
data_ov60_021478b4:
.space 0x4
.global data_ov60_021478b8
data_ov60_021478b8:
.space 0x4
.global data_ov60_021478bc
data_ov60_021478bc:
.space 0x4
.global data_ov60_021478c0
data_ov60_021478c0:
.space 0x4
.global data_ov60_021478c4
data_ov60_021478c4:
.space 0x4
.global data_ov60_021478c8
data_ov60_021478c8:
.space 0x4
.global data_ov60_021478cc
data_ov60_021478cc:
.space 0x4
.global data_ov60_021478d0
data_ov60_021478d0:
.space 0x4
.global data_ov60_021478d4
data_ov60_021478d4:
.space 0x4
.global data_ov60_021478d8
data_ov60_021478d8:
.space 0x4
.global data_ov60_021478dc
data_ov60_021478dc:
.space 0x4
.global data_ov60_021478e0
data_ov60_021478e0:
.space 0x4
.global data_ov60_021478e4
data_ov60_021478e4:
.space 0x4
.global data_ov60_021478e8
data_ov60_021478e8:
.space 0x4
.global data_ov60_021478ec
data_ov60_021478ec:
.space 0x4
.global data_ov60_021478f0
data_ov60_021478f0:
.space 0x4
.global data_ov60_021478f4
data_ov60_021478f4:
.space 0x4
.global data_ov60_021478f8
data_ov60_021478f8:
.space 0x4
.global data_ov60_021478fc
data_ov60_021478fc:
.space 0x4
.global data_ov60_02147900
data_ov60_02147900:
.space 0x4
.global data_ov60_02147904
data_ov60_02147904:
.space 0x4
.global data_ov60_02147908
data_ov60_02147908:
.space 0x4
.global data_ov60_0214790c
data_ov60_0214790c:
.space 0x4
.global data_ov60_02147910
data_ov60_02147910:
.space 0x4
.global data_ov60_02147914
data_ov60_02147914:
.space 0x4
.global data_ov60_02147918
data_ov60_02147918:
.space 0x4
.global data_ov60_0214791c
data_ov60_0214791c:
.space 0x4
.global data_ov60_02147920
data_ov60_02147920:
.space 0x4
.global data_ov60_02147924
data_ov60_02147924:
.space 0x4
.global data_ov60_02147928
data_ov60_02147928:
.space 0x4
.global data_ov60_0214792c
data_ov60_0214792c:
.space 0x4
.global data_ov60_02147930
data_ov60_02147930:
.space 0x4
.global data_ov60_02147934
data_ov60_02147934:
.space 0x4
.global data_ov60_02147938
data_ov60_02147938:
.space 0x4
.global data_ov60_0214793c
data_ov60_0214793c:
.space 0x4
.global data_ov60_02147940
data_ov60_02147940:
.space 0x4
.global data_ov60_02147944
data_ov60_02147944:
.space 0x4
.global data_ov60_02147948
data_ov60_02147948:
.space 0x4
.global data_ov60_0214794c
data_ov60_0214794c:
.space 0x4
.global data_ov60_02147950
data_ov60_02147950:
.space 0x4
.global data_ov60_02147954
data_ov60_02147954:
.space 0x4
.global data_ov60_02147958
data_ov60_02147958:
.space 0x4
.global data_ov60_0214795c
data_ov60_0214795c:
.space 0x4
.global data_ov60_02147960
data_ov60_02147960:
.space 0x4
.global data_ov60_02147964
data_ov60_02147964:
.space 0x4
.global data_ov60_02147968
data_ov60_02147968:
.space 0x4
.global data_ov60_0214796c
data_ov60_0214796c:
.space 0x4
.global data_ov60_02147970
data_ov60_02147970:
.space 0x4
.global data_ov60_02147974
data_ov60_02147974:
.space 0x4
.global data_ov60_02147978
data_ov60_02147978:
.space 0x4
.global data_ov60_0214797c
data_ov60_0214797c:
.space 0x4
.global data_ov60_02147980
data_ov60_02147980:
.space 0x4
.global data_ov60_02147984
data_ov60_02147984:
.space 0x4
.global data_ov60_02147988
data_ov60_02147988:
.space 0x4
.global data_ov60_0214798c
data_ov60_0214798c:
.space 0x4
.global data_ov60_02147990
data_ov60_02147990:
.space 0x4
.global data_ov60_02147994
data_ov60_02147994:
.space 0x4
.global data_ov60_02147998
data_ov60_02147998:
.space 0x4
.global data_ov60_0214799c
data_ov60_0214799c:
.space 0x4
.global data_ov60_021479a0
data_ov60_021479a0:
.space 0x4
.global data_ov60_021479a4
data_ov60_021479a4:
.space 0x4
.global data_ov60_021479a8
data_ov60_021479a8:
.space 0x4
.global data_ov60_021479ac
data_ov60_021479ac:
.space 0x4
.global data_ov60_021479b0
data_ov60_021479b0:
.space 0x4
.global data_ov60_021479b4
data_ov60_021479b4:
.space 0x4
.global data_ov60_021479b8
data_ov60_021479b8:
.space 0x4
.global data_ov60_021479bc
data_ov60_021479bc:
.space 0x4
.global data_ov60_021479c0
data_ov60_021479c0:
.space 0x4
.global data_ov60_021479c4
data_ov60_021479c4:
.space 0x4
.global data_ov60_021479c8
data_ov60_021479c8:
.space 0x4
.global data_ov60_021479cc
data_ov60_021479cc:
.space 0x4
.global data_ov60_021479d0
data_ov60_021479d0:
.space 0x4
.global data_ov60_021479d4
data_ov60_021479d4:
.space 0x4
.global data_ov60_021479d8
data_ov60_021479d8:
.space 0x4
.global data_ov60_021479dc
data_ov60_021479dc:
.space 0x4
.global data_ov60_021479e0
data_ov60_021479e0:
.space 0x4
.global data_ov60_021479e4
data_ov60_021479e4:
.space 0x4
.global data_ov60_021479e8
data_ov60_021479e8:
.space 0x4
.global data_ov60_021479ec
data_ov60_021479ec:
.space 0x4
.global data_ov60_021479f0
data_ov60_021479f0:
.space 0x4
.global data_ov60_021479f4
data_ov60_021479f4:
.space 0x4
.global data_ov60_021479f8
data_ov60_021479f8:
.space 0x4
.global data_ov60_021479fc
data_ov60_021479fc:
.space 0x4
.global data_ov60_02147a00
data_ov60_02147a00:
.space 0x4
.global data_ov60_02147a04
data_ov60_02147a04:
.space 0x4
.global data_ov60_02147a08
data_ov60_02147a08:
.space 0x4
.global data_ov60_02147a0c
data_ov60_02147a0c:
.space 0x4
.global data_ov60_02147a10
data_ov60_02147a10:
.space 0x4
.global data_ov60_02147a14
data_ov60_02147a14:
.space 0x4
.global data_ov60_02147a18
data_ov60_02147a18:
.space 0x4
.global data_ov60_02147a1c
data_ov60_02147a1c:
.space 0x4
.global data_ov60_02147a20
data_ov60_02147a20:
.space 0x4
.global data_ov60_02147a24
data_ov60_02147a24:
.space 0x4
.global data_ov60_02147a28
data_ov60_02147a28:
.space 0x4
.global data_ov60_02147a2c
data_ov60_02147a2c:
.space 0x4
.global data_ov60_02147a30
data_ov60_02147a30:
.space 0x4
.global data_ov60_02147a34
data_ov60_02147a34:
.space 0x4
.global data_ov60_02147a38
data_ov60_02147a38:
.space 0x4
.global data_ov60_02147a3c
data_ov60_02147a3c:
.space 0x4
.global data_ov60_02147a40
data_ov60_02147a40:
.space 0x4
.global data_ov60_02147a44
data_ov60_02147a44:
.space 0x4
.global data_ov60_02147a48
data_ov60_02147a48:
.space 0x4
.global data_ov60_02147a4c
data_ov60_02147a4c:
.space 0x4
.global data_ov60_02147a50
data_ov60_02147a50:
.space 0x4
.global data_ov60_02147a54
data_ov60_02147a54:
.space 0x4
.global data_ov60_02147a58
data_ov60_02147a58:
.space 0x4
.global data_ov60_02147a5c
data_ov60_02147a5c:
.space 0x4
.global data_ov60_02147a60
data_ov60_02147a60:
.space 0x4
.global data_ov60_02147a64
data_ov60_02147a64:
.space 0x4
.global data_ov60_02147a68
data_ov60_02147a68:
.space 0x4
.global data_ov60_02147a6c
data_ov60_02147a6c:
.space 0x4
.global data_ov60_02147a70
data_ov60_02147a70:
.space 0x4
.global data_ov60_02147a74
data_ov60_02147a74:
.space 0x4
.global data_ov60_02147a78
data_ov60_02147a78:
.space 0x4
.global data_ov60_02147a7c
data_ov60_02147a7c:
.space 0x4
.global data_ov60_02147a80
data_ov60_02147a80:
.space 0x4
.global data_ov60_02147a84
data_ov60_02147a84:
.space 0x4
.global data_ov60_02147a88
data_ov60_02147a88:
.space 0x4
.global data_ov60_02147a8c
data_ov60_02147a8c:
.space 0x4
.global data_ov60_02147a90
data_ov60_02147a90:
.space 0x4
.global data_ov60_02147a94
data_ov60_02147a94:
.space 0x4
.global data_ov60_02147a98
data_ov60_02147a98:
.space 0x4
.global data_ov60_02147a9c
data_ov60_02147a9c:
.space 0x4
.global data_ov60_02147aa0
data_ov60_02147aa0:
.space 0x4
.global data_ov60_02147aa4
data_ov60_02147aa4:
.space 0x4
.global data_ov60_02147aa8
data_ov60_02147aa8:
.space 0x4
.global data_ov60_02147aac
data_ov60_02147aac:
.space 0x4
.global data_ov60_02147ab0
data_ov60_02147ab0:
.space 0x4
.global data_ov60_02147ab4
data_ov60_02147ab4:
.space 0x4
.global data_ov60_02147ab8
data_ov60_02147ab8:
.space 0x4
.global data_ov60_02147abc
data_ov60_02147abc:
.space 0x4
.global data_ov60_02147ac0
data_ov60_02147ac0:
.space 0x4
.global data_ov60_02147ac4
data_ov60_02147ac4:
.space 0x4
.global data_ov60_02147ac8
data_ov60_02147ac8:
.space 0x4
.global data_ov60_02147acc
data_ov60_02147acc:
.space 0x4
.global data_ov60_02147ad0
data_ov60_02147ad0:
.space 0x4
.global data_ov60_02147ad4
data_ov60_02147ad4:
.space 0x4
.global data_ov60_02147ad8
data_ov60_02147ad8:
.space 0x4
.global data_ov60_02147adc
data_ov60_02147adc:
.space 0x4
.global data_ov60_02147ae0
data_ov60_02147ae0:
.space 0x4
.global data_ov60_02147ae4
data_ov60_02147ae4:
.space 0x4
.global data_ov60_02147ae8
data_ov60_02147ae8:
.space 0x4
.global data_ov60_02147aec
data_ov60_02147aec:
.space 0x4
.global data_ov60_02147af0
data_ov60_02147af0:
.space 0x4
.global data_ov60_02147af4
data_ov60_02147af4:
.space 0x4
.global data_ov60_02147af8
data_ov60_02147af8:
.space 0x4
.global data_ov60_02147afc
data_ov60_02147afc:
.space 0x4
.global data_ov60_02147b00
data_ov60_02147b00:
.space 0x4
.global data_ov60_02147b04
data_ov60_02147b04:
.space 0x4
.global data_ov60_02147b08
data_ov60_02147b08:
.space 0x4
.global data_ov60_02147b0c
data_ov60_02147b0c:
.space 0x4
.global data_ov60_02147b10
data_ov60_02147b10:
.space 0x4
.global data_ov60_02147b14
data_ov60_02147b14:
.space 0x4
.global data_ov60_02147b18
data_ov60_02147b18:
.space 0x4
.global data_ov60_02147b1c
data_ov60_02147b1c:
.space 0x4
.global data_ov60_02147b20
data_ov60_02147b20:
.space 0x4
.global data_ov60_02147b24
data_ov60_02147b24:
.space 0x4
.global data_ov60_02147b28
data_ov60_02147b28:
.space 0x4
.global data_ov60_02147b2c
data_ov60_02147b2c:
.space 0x4
.global data_ov60_02147b30
data_ov60_02147b30:
.space 0x4
.global data_ov60_02147b34
data_ov60_02147b34:
.space 0x4
.global data_ov60_02147b38
data_ov60_02147b38:
.space 0x4
.global data_ov60_02147b3c
data_ov60_02147b3c:
.space 0x4
.global data_ov60_02147b40
data_ov60_02147b40:
.space 0x4
.global data_ov60_02147b44
data_ov60_02147b44:
.space 0x4
.global data_ov60_02147b48
data_ov60_02147b48:
.space 0x4
.global data_ov60_02147b4c
data_ov60_02147b4c:
.space 0x4
.global data_ov60_02147b50
data_ov60_02147b50:
.space 0x4
.global data_ov60_02147b54
data_ov60_02147b54:
.space 0x4
.global data_ov60_02147b58
data_ov60_02147b58:
.space 0x4
.global data_ov60_02147b5c
data_ov60_02147b5c:
.space 0x4
.global data_ov60_02147b60
data_ov60_02147b60:
.space 0x4
.global data_ov60_02147b64
data_ov60_02147b64:
.space 0x4
.global data_ov60_02147b68
data_ov60_02147b68:
.space 0x4
.global data_ov60_02147b6c
data_ov60_02147b6c:
.space 0x4
.global data_ov60_02147b70
data_ov60_02147b70:
.space 0x4
.global data_ov60_02147b74
data_ov60_02147b74:
.space 0x4
.global data_ov60_02147b78
data_ov60_02147b78:
.space 0x4
.global data_ov60_02147b7c
data_ov60_02147b7c:
.space 0x4
.global data_ov60_02147b80
data_ov60_02147b80:
.space 0x4
.global data_ov60_02147b84
data_ov60_02147b84:
.space 0x4
.global data_ov60_02147b88
data_ov60_02147b88:
.space 0x4
.global data_ov60_02147b8c
data_ov60_02147b8c:
.space 0x4
.global data_ov60_02147b90
data_ov60_02147b90:
.space 0x4
.global data_ov60_02147b94
data_ov60_02147b94:
.space 0x4
.global data_ov60_02147b98
data_ov60_02147b98:
.space 0x4
.global data_ov60_02147b9c
data_ov60_02147b9c:
.space 0x4
.global data_ov60_02147ba0
data_ov60_02147ba0:
.space 0x4
.global data_ov60_02147ba4
data_ov60_02147ba4:
.space 0x4
.global data_ov60_02147ba8
data_ov60_02147ba8:
.space 0x4
.global data_ov60_02147bac
data_ov60_02147bac:
.space 0x4
.global data_ov60_02147bb0
data_ov60_02147bb0:
.space 0x4
.global data_ov60_02147bb4
data_ov60_02147bb4:
.space 0x4
.global data_ov60_02147bb8
data_ov60_02147bb8:
.space 0x4
.global data_ov60_02147bbc
data_ov60_02147bbc:
.space 0x4
.global data_ov60_02147bc0
data_ov60_02147bc0:
.space 0x4
.global data_ov60_02147bc4
data_ov60_02147bc4:
.space 0x4
.global data_ov60_02147bc8
data_ov60_02147bc8:
.space 0x4
.global data_ov60_02147bcc
data_ov60_02147bcc:
.space 0x4
.global data_ov60_02147bd0
data_ov60_02147bd0:
.space 0x4
.global data_ov60_02147bd4
data_ov60_02147bd4:
.space 0x4
.global data_ov60_02147bd8
data_ov60_02147bd8:
.space 0x4
.global data_ov60_02147bdc
data_ov60_02147bdc:
.space 0x4
.global data_ov60_02147be0
data_ov60_02147be0:
.space 0x4
.global data_ov60_02147be4
data_ov60_02147be4:
.space 0x4
.global data_ov60_02147be8
data_ov60_02147be8:
.space 0x4
.global data_ov60_02147bec
data_ov60_02147bec:
.space 0x4
.global data_ov60_02147bf0
data_ov60_02147bf0:
.space 0x4
.global data_ov60_02147bf4
data_ov60_02147bf4:
.space 0x4
.global data_ov60_02147bf8
data_ov60_02147bf8:
.space 0x4
.global data_ov60_02147bfc
data_ov60_02147bfc:
.space 0x4
.global data_ov60_02147c00
data_ov60_02147c00:
.space 0x4
.global data_ov60_02147c04
data_ov60_02147c04:
.space 0x4
.global data_ov60_02147c08
data_ov60_02147c08:
.space 0x4
.global data_ov60_02147c0c
data_ov60_02147c0c:
.space 0x4
.global data_ov60_02147c10
data_ov60_02147c10:
.space 0x4
.global data_ov60_02147c14
data_ov60_02147c14:
.space 0x4
.global data_ov60_02147c18
data_ov60_02147c18:
.space 0x4
.global data_ov60_02147c1c
data_ov60_02147c1c:
.space 0x4
.global data_ov60_02147c20
data_ov60_02147c20:
.space 0x4
.global data_ov60_02147c24
data_ov60_02147c24:
.space 0x4
.global data_ov60_02147c28
data_ov60_02147c28:
.space 0x4
.global data_ov60_02147c2c
data_ov60_02147c2c:
.space 0x4
.global data_ov60_02147c30
data_ov60_02147c30:
.space 0x4
.global data_ov60_02147c34
data_ov60_02147c34:
.space 0x4
.global data_ov60_02147c38
data_ov60_02147c38:
.space 0x4
.global data_ov60_02147c3c
data_ov60_02147c3c:
.space 0x4
.global data_ov60_02147c40
data_ov60_02147c40:
.space 0x4
.global data_ov60_02147c44
data_ov60_02147c44:
.space 0x4
.global data_ov60_02147c48
data_ov60_02147c48:
.space 0x4
.global data_ov60_02147c4c
data_ov60_02147c4c:
.space 0x4
.global data_ov60_02147c50
data_ov60_02147c50:
.space 0x4
.global data_ov60_02147c54
data_ov60_02147c54:
.space 0x4
.global data_ov60_02147c58
data_ov60_02147c58:
.space 0x4
.global data_ov60_02147c5c
data_ov60_02147c5c:
.space 0x4
.global data_ov60_02147c60
data_ov60_02147c60:
.space 0x4
.global data_ov60_02147c64
data_ov60_02147c64:
.space 0x4
.global data_ov60_02147c68
data_ov60_02147c68:
.space 0x4
.global data_ov60_02147c6c
data_ov60_02147c6c:
.space 0x4
.global data_ov60_02147c70
data_ov60_02147c70:
.space 0x4
.global data_ov60_02147c74
data_ov60_02147c74:
.space 0x4
.global data_ov60_02147c78
data_ov60_02147c78:
.space 0x4
.global data_ov60_02147c7c
data_ov60_02147c7c:
.space 0x4
.global data_ov60_02147c80
data_ov60_02147c80:
.space 0x4
.global data_ov60_02147c84
data_ov60_02147c84:
.space 0x4
.global data_ov60_02147c88
data_ov60_02147c88:
.space 0x4
.global data_ov60_02147c8c
data_ov60_02147c8c:
.space 0x4
.global data_ov60_02147c90
data_ov60_02147c90:
.space 0x4
.global data_ov60_02147c94
data_ov60_02147c94:
.space 0x4
.global data_ov60_02147c98
data_ov60_02147c98:
.space 0x4
.global data_ov60_02147c9c
data_ov60_02147c9c:
.space 0x4
.global data_ov60_02147ca0
data_ov60_02147ca0:
.space 0x4
.global data_ov60_02147ca4
data_ov60_02147ca4:
.space 0x4
.global data_ov60_02147ca8
data_ov60_02147ca8:
.space 0x4
.global data_ov60_02147cac
data_ov60_02147cac:
.space 0x4
.global data_ov60_02147cb0
data_ov60_02147cb0:
.space 0x4
.global data_ov60_02147cb4
data_ov60_02147cb4:
.space 0x4
.global data_ov60_02147cb8
data_ov60_02147cb8:
.space 0x4
.global data_ov60_02147cbc
data_ov60_02147cbc:
.space 0x4
.global data_ov60_02147cc0
data_ov60_02147cc0:
.space 0x4
.global data_ov60_02147cc4
data_ov60_02147cc4:
.space 0x4
.global data_ov60_02147cc8
data_ov60_02147cc8:
.space 0x4
.global data_ov60_02147ccc
data_ov60_02147ccc:
.space 0x4
.global data_ov60_02147cd0
data_ov60_02147cd0:
.space 0x4
.global data_ov60_02147cd4
data_ov60_02147cd4:
.space 0x4
.global data_ov60_02147cd8
data_ov60_02147cd8:
.space 0x4
.global data_ov60_02147cdc
data_ov60_02147cdc:
.space 0x4
.global data_ov60_02147ce0
data_ov60_02147ce0:
.space 0x4
.global data_ov60_02147ce4
data_ov60_02147ce4:
.space 0x4
.global data_ov60_02147ce8
data_ov60_02147ce8:
.space 0x4
.global data_ov60_02147cec
data_ov60_02147cec:
.space 0x4
.global data_ov60_02147cf0
data_ov60_02147cf0:
.space 0x4
.global data_ov60_02147cf4
data_ov60_02147cf4:
.space 0x4
.global data_ov60_02147cf8
data_ov60_02147cf8:
.space 0x4
.global data_ov60_02147cfc
data_ov60_02147cfc:
.space 0x4
.global data_ov60_02147d00
data_ov60_02147d00:
.space 0x4
.global data_ov60_02147d04
data_ov60_02147d04:
.space 0x4
.global data_ov60_02147d08
data_ov60_02147d08:
.space 0x4
.global data_ov60_02147d0c
data_ov60_02147d0c:
.space 0x4
.global data_ov60_02147d10
data_ov60_02147d10:
.space 0x4
.global data_ov60_02147d14
data_ov60_02147d14:
.space 0x4
.global data_ov60_02147d18
data_ov60_02147d18:
.space 0x4
.global data_ov60_02147d1c
data_ov60_02147d1c:
.space 0x4
.global data_ov60_02147d20
data_ov60_02147d20:
.space 0x4
.global data_ov60_02147d24
data_ov60_02147d24:
.space 0x4
.global data_ov60_02147d28
data_ov60_02147d28:
.space 0x4
.global data_ov60_02147d2c
data_ov60_02147d2c:
.space 0x4
.global data_ov60_02147d30
data_ov60_02147d30:
.space 0x4
.global data_ov60_02147d34
data_ov60_02147d34:
.space 0x4
.global data_ov60_02147d38
data_ov60_02147d38:
.space 0x4
.global data_ov60_02147d3c
data_ov60_02147d3c:
.space 0x4
.global data_ov60_02147d40
data_ov60_02147d40:
.space 0x4
.global data_ov60_02147d44
data_ov60_02147d44:
.space 0x4
.global data_ov60_02147d48
data_ov60_02147d48:
.space 0x4
.global data_ov60_02147d4c
data_ov60_02147d4c:
.space 0x4
.global data_ov60_02147d50
data_ov60_02147d50:
.space 0x4
.global data_ov60_02147d54
data_ov60_02147d54:
.space 0x4
.global data_ov60_02147d58
data_ov60_02147d58:
.space 0x4
.global data_ov60_02147d5c
data_ov60_02147d5c:
.space 0x4
.global data_ov60_02147d60
data_ov60_02147d60:
.space 0x4
.global data_ov60_02147d64
data_ov60_02147d64:
.space 0x4
.global data_ov60_02147d68
data_ov60_02147d68:
.space 0x4
.global data_ov60_02147d6c
data_ov60_02147d6c:
.space 0x4
.global data_ov60_02147d70
data_ov60_02147d70:
.space 0x4
.global data_ov60_02147d74
data_ov60_02147d74:
.space 0x4
.global data_ov60_02147d78
data_ov60_02147d78:
.space 0x4
.global data_ov60_02147d7c
data_ov60_02147d7c:
.space 0x4
.global data_ov60_02147d80
data_ov60_02147d80:
.space 0x4
.global data_ov60_02147d84
data_ov60_02147d84:
.space 0x4
.global data_ov60_02147d88
data_ov60_02147d88:
.space 0x4
.global data_ov60_02147d8c
data_ov60_02147d8c:
.space 0x4
.global data_ov60_02147d90
data_ov60_02147d90:
.space 0x4
.global data_ov60_02147d94
data_ov60_02147d94:
.space 0x4
.global data_ov60_02147d98
data_ov60_02147d98:
.space 0x4
.global data_ov60_02147d9c
data_ov60_02147d9c:
.space 0x4
.global data_ov60_02147da0
data_ov60_02147da0:
.space 0x4
.global data_ov60_02147da4
data_ov60_02147da4:
.space 0x4
.global data_ov60_02147da8
data_ov60_02147da8:
.space 0x4
.global data_ov60_02147dac
data_ov60_02147dac:
.space 0x4
.global data_ov60_02147db0
data_ov60_02147db0:
.space 0x4
.global data_ov60_02147db4
data_ov60_02147db4:
.space 0x4
.global data_ov60_02147db8
data_ov60_02147db8:
.space 0x4
.global data_ov60_02147dbc
data_ov60_02147dbc:
.space 0x4
.global data_ov60_02147dc0
data_ov60_02147dc0:
.space 0x4
.global data_ov60_02147dc4
data_ov60_02147dc4:
.space 0x4
.global data_ov60_02147dc8
data_ov60_02147dc8:
.space 0x4
.global data_ov60_02147dcc
data_ov60_02147dcc:
.space 0x4
.global data_ov60_02147dd0
data_ov60_02147dd0:
.space 0x4
.global data_ov60_02147dd4
data_ov60_02147dd4:
.space 0x4
.global data_ov60_02147dd8
data_ov60_02147dd8:
.space 0x4
.global data_ov60_02147ddc
data_ov60_02147ddc:
.space 0x4
.global data_ov60_02147de0
data_ov60_02147de0:
.space 0x4
.global data_ov60_02147de4
data_ov60_02147de4:
.space 0x4
.global data_ov60_02147de8
data_ov60_02147de8:
.space 0x4
.global data_ov60_02147dec
data_ov60_02147dec:
.space 0x4
.global data_ov60_02147df0
data_ov60_02147df0:
.space 0x4
.global data_ov60_02147df4
data_ov60_02147df4:
.space 0x4
.global data_ov60_02147df8
data_ov60_02147df8:
.space 0x4
.global data_ov60_02147dfc
data_ov60_02147dfc:
.space 0x4
.global data_ov60_02147e00
data_ov60_02147e00:
.space 0x4
.global data_ov60_02147e04
data_ov60_02147e04:
.space 0x4
.global data_ov60_02147e08
data_ov60_02147e08:
.space 0x4
.global data_ov60_02147e0c
data_ov60_02147e0c:
.space 0x4
.global data_ov60_02147e10
data_ov60_02147e10:
.space 0x4
.global data_ov60_02147e14
data_ov60_02147e14:
.space 0x4
.global data_ov60_02147e18
data_ov60_02147e18:
.space 0x4
.global data_ov60_02147e1c
data_ov60_02147e1c:
.space 0x4
.global data_ov60_02147e20
data_ov60_02147e20:
.space 0x4
.global data_ov60_02147e24
data_ov60_02147e24:
.space 0x4
.global data_ov60_02147e28
data_ov60_02147e28:
.space 0x4
.global data_ov60_02147e2c
data_ov60_02147e2c:
.space 0x4
.global data_ov60_02147e30
data_ov60_02147e30:
.space 0x4
.global data_ov60_02147e34
data_ov60_02147e34:
.space 0x4
.global data_ov60_02147e38
data_ov60_02147e38:
.space 0x4
.global data_ov60_02147e3c
data_ov60_02147e3c:
.space 0x4
.global data_ov60_02147e40
data_ov60_02147e40:
.space 0x4
.global data_ov60_02147e44
data_ov60_02147e44:
.space 0x4
.global data_ov60_02147e48
data_ov60_02147e48:
.space 0x4
.global data_ov60_02147e4c
data_ov60_02147e4c:
.space 0x4
.global data_ov60_02147e50
data_ov60_02147e50:
.space 0x4
.global data_ov60_02147e54
data_ov60_02147e54:
.space 0x4
.global data_ov60_02147e58
data_ov60_02147e58:
.space 0x4
.global data_ov60_02147e5c
data_ov60_02147e5c:
.space 0x4
.global data_ov60_02147e60
data_ov60_02147e60:
.space 0x4
.global data_ov60_02147e64
data_ov60_02147e64:
.space 0x4
.global data_ov60_02147e68
data_ov60_02147e68:
.space 0x4
.global data_ov60_02147e6c
data_ov60_02147e6c:
.space 0x4
.global data_ov60_02147e70
data_ov60_02147e70:
.space 0x4
.global data_ov60_02147e74
data_ov60_02147e74:
.space 0x4
.global data_ov60_02147e78
data_ov60_02147e78:
.space 0x4
.global data_ov60_02147e7c
data_ov60_02147e7c:
.space 0x4
.global data_ov60_02147e80
data_ov60_02147e80:
.space 0x4
.global data_ov60_02147e84
data_ov60_02147e84:
.space 0x4
.global data_ov60_02147e88
data_ov60_02147e88:
.space 0x4
.global data_ov60_02147e8c
data_ov60_02147e8c:
.space 0x4
.global data_ov60_02147e90
data_ov60_02147e90:
.space 0x4
.global data_ov60_02147e94
data_ov60_02147e94:
.space 0x4
.global data_ov60_02147e98
data_ov60_02147e98:
.space 0x4
.global data_ov60_02147e9c
data_ov60_02147e9c:
.space 0x4
.global data_ov60_02147ea0
data_ov60_02147ea0:
.space 0x4
.global data_ov60_02147ea4
data_ov60_02147ea4:
.space 0x4
.global data_ov60_02147ea8
data_ov60_02147ea8:
.space 0x4
.global data_ov60_02147eac
data_ov60_02147eac:
.space 0x4
.global data_ov60_02147eb0
data_ov60_02147eb0:
.space 0x4
.global data_ov60_02147eb4
data_ov60_02147eb4:
.space 0x4
.global data_ov60_02147eb8
data_ov60_02147eb8:
.space 0x4
.global data_ov60_02147ebc
data_ov60_02147ebc:
.space 0x4
.global data_ov60_02147ec0
data_ov60_02147ec0:
.space 0x4
.global data_ov60_02147ec4
data_ov60_02147ec4:
.space 0x4
.global data_ov60_02147ec8
data_ov60_02147ec8:
.space 0x4
.global data_ov60_02147ecc
data_ov60_02147ecc:
.space 0x4
.global data_ov60_02147ed0
data_ov60_02147ed0:
.space 0x4
.global data_ov60_02147ed4
data_ov60_02147ed4:
.space 0x4
.global data_ov60_02147ed8
data_ov60_02147ed8:
.space 0x4
.global data_ov60_02147edc
data_ov60_02147edc:
.space 0x4
.global data_ov60_02147ee0
data_ov60_02147ee0:
.space 0x4
.global data_ov60_02147ee4
data_ov60_02147ee4:
.space 0x4
.global data_ov60_02147ee8
data_ov60_02147ee8:
.space 0x4
.global data_ov60_02147eec
data_ov60_02147eec:
.space 0x4
.global data_ov60_02147ef0
data_ov60_02147ef0:
.space 0x4
.global data_ov60_02147ef4
data_ov60_02147ef4:
.space 0x4
.global data_ov60_02147ef8
data_ov60_02147ef8:
.space 0x4
.global data_ov60_02147efc
data_ov60_02147efc:
.space 0x4
.global data_ov60_02147f00
data_ov60_02147f00:
.space 0x4
.global data_ov60_02147f04
data_ov60_02147f04:
.space 0x4
.global data_ov60_02147f08
data_ov60_02147f08:
.space 0x4
.global data_ov60_02147f0c
data_ov60_02147f0c:
.space 0x4
.global data_ov60_02147f10
data_ov60_02147f10:
.space 0x4
.global data_ov60_02147f14
data_ov60_02147f14:
.space 0x4
.global data_ov60_02147f18
data_ov60_02147f18:
.space 0x4
.global data_ov60_02147f1c
data_ov60_02147f1c:
.space 0x4
.global data_ov60_02147f20
data_ov60_02147f20:
.space 0x4
.global data_ov60_02147f24
data_ov60_02147f24:
.space 0x4
.global data_ov60_02147f28
data_ov60_02147f28:
.space 0x4
.global data_ov60_02147f2c
data_ov60_02147f2c:
.space 0x4
.global data_ov60_02147f30
data_ov60_02147f30:
.space 0x4
.global data_ov60_02147f34
data_ov60_02147f34:
.space 0x4
.global data_ov60_02147f38
data_ov60_02147f38:
.space 0x4
.global data_ov60_02147f3c
data_ov60_02147f3c:
.space 0x4
.global data_ov60_02147f40
data_ov60_02147f40:
.space 0x4
.global data_ov60_02147f44
data_ov60_02147f44:
.space 0x4
.global data_ov60_02147f48
data_ov60_02147f48:
.space 0x4
.global data_ov60_02147f4c
data_ov60_02147f4c:
.space 0x4
.global data_ov60_02147f50
data_ov60_02147f50:
.space 0x4
.global data_ov60_02147f54
data_ov60_02147f54:
.space 0x4
.global data_ov60_02147f58
data_ov60_02147f58:
.space 0x4
.global data_ov60_02147f5c
data_ov60_02147f5c:
.space 0x4
.global data_ov60_02147f60
data_ov60_02147f60:
.space 0x4
.global data_ov60_02147f64
data_ov60_02147f64:
.space 0x4
.global data_ov60_02147f68
data_ov60_02147f68:
.space 0x4
.global data_ov60_02147f6c
data_ov60_02147f6c:
.space 0x4
.global data_ov60_02147f70
data_ov60_02147f70:
.space 0x4
.global data_ov60_02147f74
data_ov60_02147f74:
.space 0x4
.global data_ov60_02147f78
data_ov60_02147f78:
.space 0x4
.global data_ov60_02147f7c
data_ov60_02147f7c:
.space 0x4
.global data_ov60_02147f80
data_ov60_02147f80:
.space 0x4
.global data_ov60_02147f84
data_ov60_02147f84:
.space 0x4
.global data_ov60_02147f88
data_ov60_02147f88:
.space 0x4
.global data_ov60_02147f8c
data_ov60_02147f8c:
.space 0x4
.global data_ov60_02147f90
data_ov60_02147f90:
.space 0x4
.global data_ov60_02147f94
data_ov60_02147f94:
.space 0x4
.global data_ov60_02147f98
data_ov60_02147f98:
.space 0x4
.global data_ov60_02147f9c
data_ov60_02147f9c:
.space 0x4
.global data_ov60_02147fa0
data_ov60_02147fa0:
.space 0x4
.global data_ov60_02147fa4
data_ov60_02147fa4:
.space 0x4
.global data_ov60_02147fa8
data_ov60_02147fa8:
.space 0x4
.global data_ov60_02147fac
data_ov60_02147fac:
.space 0x4
.global data_ov60_02147fb0
data_ov60_02147fb0:
.space 0x4
.global data_ov60_02147fb4
data_ov60_02147fb4:
.space 0x4
.global data_ov60_02147fb8
data_ov60_02147fb8:
.space 0x4
.global data_ov60_02147fbc
data_ov60_02147fbc:
.space 0x4
.global data_ov60_02147fc0
data_ov60_02147fc0:
.space 0x4
.global data_ov60_02147fc4
data_ov60_02147fc4:
.space 0x4
.global data_ov60_02147fc8
data_ov60_02147fc8:
.space 0x4
.global data_ov60_02147fcc
data_ov60_02147fcc:
.space 0x4
.global data_ov60_02147fd0
data_ov60_02147fd0:
.space 0x4
.global data_ov60_02147fd4
data_ov60_02147fd4:
.space 0x4
.global data_ov60_02147fd8
data_ov60_02147fd8:
.space 0x4
.global data_ov60_02147fdc
data_ov60_02147fdc:
.space 0x4
.global data_ov60_02147fe0
data_ov60_02147fe0:
.space 0x4
.global data_ov60_02147fe4
data_ov60_02147fe4:
.space 0x4
.global data_ov60_02147fe8
data_ov60_02147fe8:
.space 0x4
.global data_ov60_02147fec
data_ov60_02147fec:
.space 0x4
.global data_ov60_02147ff0
data_ov60_02147ff0:
.space 0x4
.global data_ov60_02147ff4
data_ov60_02147ff4:
.space 0x4
.global data_ov60_02147ff8
data_ov60_02147ff8:
.space 0x4
.global data_ov60_02147ffc
data_ov60_02147ffc:
.space 0x4
.global data_ov60_02148000
data_ov60_02148000:
.space 0x4
.global data_ov60_02148004
data_ov60_02148004:
.space 0x4
.global data_ov60_02148008
data_ov60_02148008:
.space 0x4
.global data_ov60_0214800c
data_ov60_0214800c:
.space 0x4
.global data_ov60_02148010
data_ov60_02148010:
.space 0x4
.global data_ov60_02148014
data_ov60_02148014:
.space 0x4
.global data_ov60_02148018
data_ov60_02148018:
.space 0x4
.global data_ov60_0214801c
data_ov60_0214801c:
.space 0x4
.global data_ov60_02148020
data_ov60_02148020:
.space 0x4
.global data_ov60_02148024
data_ov60_02148024:
.space 0x4
.global data_ov60_02148028
data_ov60_02148028:
.space 0x4
.global data_ov60_0214802c
data_ov60_0214802c:
.space 0x4
.global data_ov60_02148030
data_ov60_02148030:
.space 0x4
.global data_ov60_02148034
data_ov60_02148034:
.space 0x4
.global data_ov60_02148038
data_ov60_02148038:
.space 0x4
.global data_ov60_0214803c
data_ov60_0214803c:
.space 0x4
.global data_ov60_02148040
data_ov60_02148040:
.space 0x4
.global data_ov60_02148044
data_ov60_02148044:
.space 0x4
.global data_ov60_02148048
data_ov60_02148048:
.space 0x4
.global data_ov60_0214804c
data_ov60_0214804c:
.space 0x4
.global data_ov60_02148050
data_ov60_02148050:
.space 0x4
.global data_ov60_02148054
data_ov60_02148054:
.space 0x4
.global data_ov60_02148058
data_ov60_02148058:
.space 0x4
.global data_ov60_0214805c
data_ov60_0214805c:
.space 0x4
.global data_ov60_02148060
data_ov60_02148060:
.space 0x4
.global data_ov60_02148064
data_ov60_02148064:
.space 0x4
.global data_ov60_02148068
data_ov60_02148068:
.space 0x4
.global data_ov60_0214806c
data_ov60_0214806c:
.space 0x4
.global data_ov60_02148070
data_ov60_02148070:
.space 0x4
.global data_ov60_02148074
data_ov60_02148074:
.space 0x4
.global data_ov60_02148078
data_ov60_02148078:
.space 0x4
.global data_ov60_0214807c
data_ov60_0214807c:
.space 0x4
.global data_ov60_02148080
data_ov60_02148080:
.space 0x4
.global data_ov60_02148084
data_ov60_02148084:
.space 0x4
.global data_ov60_02148088
data_ov60_02148088:
.space 0x4
.global data_ov60_0214808c
data_ov60_0214808c:
.space 0x4
.global data_ov60_02148090
data_ov60_02148090:
.space 0x4
.global data_ov60_02148094
data_ov60_02148094:
.space 0x4
.global data_ov60_02148098
data_ov60_02148098:
.space 0x4
.global data_ov60_0214809c
data_ov60_0214809c:
.space 0x4
.global data_ov60_021480a0
data_ov60_021480a0:
.space 0x4
.global data_ov60_021480a4
data_ov60_021480a4:
.space 0x2
.global data_ov60_021480a6
data_ov60_021480a6:
.space 0x2
.global data_ov60_021480a8
data_ov60_021480a8:
.space 0x4
.global data_ov60_021480ac
data_ov60_021480ac:
.space 0x4
.global data_ov60_021480b0
data_ov60_021480b0:
.space 0x4
.global data_ov60_021480b4
data_ov60_021480b4:
.space 0x4
.global data_ov60_021480b8
data_ov60_021480b8:
.space 0x4
.global data_ov60_021480bc
data_ov60_021480bc:
.space 0x4
.global data_ov60_021480c0
data_ov60_021480c0:
.space 0x4
.global data_ov60_021480c4
data_ov60_021480c4:
.space 0x4
.global data_ov60_021480c8
data_ov60_021480c8:
.space 0x4
.global data_ov60_021480cc
data_ov60_021480cc:
.space 0x4
.global data_ov60_021480d0
data_ov60_021480d0:
.space 0x4
.global data_ov60_021480d4
data_ov60_021480d4:
.space 0x4
.global data_ov60_021480d8
data_ov60_021480d8:
.space 0x4
.global data_ov60_021480dc
data_ov60_021480dc:
.space 0x4
.global data_ov60_021480e0
data_ov60_021480e0:
.space 0x4
.global data_ov60_021480e4
data_ov60_021480e4:
.space 0x4
.global data_ov60_021480e8
data_ov60_021480e8:
.space 0x4
.global data_ov60_021480ec
data_ov60_021480ec:
.space 0x4
.global data_ov60_021480f0
data_ov60_021480f0:
.space 0x4
.global data_ov60_021480f4
data_ov60_021480f4:
.space 0x4
.global data_ov60_021480f8
data_ov60_021480f8:
.space 0x4
.global data_ov60_021480fc
data_ov60_021480fc:
.space 0x4
.global data_ov60_02148100
data_ov60_02148100:
.space 0x4
.global data_ov60_02148104
data_ov60_02148104:
.space 0x4
.global data_ov60_02148108
data_ov60_02148108:
.space 0x4
.global data_ov60_0214810c
data_ov60_0214810c:
.space 0x4
.global data_ov60_02148110
data_ov60_02148110:
.space 0x4
.global data_ov60_02148114
data_ov60_02148114:
.space 0x4
.global data_ov60_02148118
data_ov60_02148118:
.space 0x4
.global data_ov60_0214811c
data_ov60_0214811c:
.space 0x4
.global data_ov60_02148120
data_ov60_02148120:
.space 0x4
.global data_ov60_02148124
data_ov60_02148124:
.space 0x4
.global data_ov60_02148128
data_ov60_02148128:
.space 0x4
.global data_ov60_0214812c
data_ov60_0214812c:
.space 0x4
.global data_ov60_02148130
data_ov60_02148130:
.space 0x4
.global data_ov60_02148134
data_ov60_02148134:
.space 0x4
.global data_ov60_02148138
data_ov60_02148138:
.space 0x4
.global data_ov60_0214813c
data_ov60_0214813c:
.space 0x4
.global data_ov60_02148140
data_ov60_02148140:
.space 0x4
.global data_ov60_02148144
data_ov60_02148144:
.space 0x4
.global data_ov60_02148148
data_ov60_02148148:
.space 0x4
.global data_ov60_0214814c
data_ov60_0214814c:
.space 0x4
.global data_ov60_02148150
data_ov60_02148150:
.space 0x4
.global data_ov60_02148154
data_ov60_02148154:
.space 0x4
.global data_ov60_02148158
data_ov60_02148158:
.space 0x4
.global data_ov60_0214815c
data_ov60_0214815c:
.space 0x4
.global data_ov60_02148160
data_ov60_02148160:
.space 0x4
.global data_ov60_02148164
data_ov60_02148164:
.space 0x4
.global data_ov60_02148168
data_ov60_02148168:
.space 0x4
.global data_ov60_0214816c
data_ov60_0214816c:
.space 0x4
.global data_ov60_02148170
data_ov60_02148170:
.space 0x4
.global data_ov60_02148174
data_ov60_02148174:
.space 0x4
.global data_ov60_02148178
data_ov60_02148178:
.space 0x4
.global data_ov60_0214817c
data_ov60_0214817c:
.space 0x4
.global data_ov60_02148180
data_ov60_02148180:
.space 0x4
.global data_ov60_02148184
data_ov60_02148184:
.space 0x4
.global data_ov60_02148188
data_ov60_02148188:
.space 0x4
.global data_ov60_0214818c
data_ov60_0214818c:
.space 0x4
.global data_ov60_02148190
data_ov60_02148190:
.space 0x4
.global data_ov60_02148194
data_ov60_02148194:
.space 0x4
.global data_ov60_02148198
data_ov60_02148198:
.space 0x4
.global data_ov60_0214819c
data_ov60_0214819c:
.space 0x4
.global data_ov60_021481a0
data_ov60_021481a0:
.space 0x4
.global data_ov60_021481a4
data_ov60_021481a4:
.space 0x4
.global data_ov60_021481a8
data_ov60_021481a8:
.space 0x4
.global data_ov60_021481ac
data_ov60_021481ac:
.space 0x4
.global data_ov60_021481b0
data_ov60_021481b0:
.space 0x4
.global data_ov60_021481b4
data_ov60_021481b4:
.space 0x4
.global data_ov60_021481b8
data_ov60_021481b8:
.space 0x4
.global data_ov60_021481bc
data_ov60_021481bc:
.space 0x4
.global data_ov60_021481c0
data_ov60_021481c0:
.space 0x4
.global data_ov60_021481c4
data_ov60_021481c4:
.space 0x4
.global data_ov60_021481c8
data_ov60_021481c8:
.space 0x4
.global data_ov60_021481cc
data_ov60_021481cc:
.space 0x4
.global data_ov60_021481d0
data_ov60_021481d0:
.space 0x4
.global data_ov60_021481d4
data_ov60_021481d4:
.space 0x4
.global data_ov60_021481d8
data_ov60_021481d8:
.space 0x4
.global data_ov60_021481dc
data_ov60_021481dc:
.space 0x4
.global data_ov60_021481e0
data_ov60_021481e0:
.space 0x4
.global data_ov60_021481e4
data_ov60_021481e4:
.space 0x4
.global data_ov60_021481e8
data_ov60_021481e8:
.space 0x4
.global data_ov60_021481ec
data_ov60_021481ec:
.space 0x4
.global data_ov60_021481f0
data_ov60_021481f0:
.space 0x4
.global data_ov60_021481f4
data_ov60_021481f4:
.space 0x4
.global data_ov60_021481f8
data_ov60_021481f8:
.space 0x4
.global data_ov60_021481fc
data_ov60_021481fc:
.space 0x4
.global data_ov60_02148200
data_ov60_02148200:
.space 0x4
.global data_ov60_02148204
data_ov60_02148204:
.space 0x4
.global data_ov60_02148208
data_ov60_02148208:
.space 0x4
.global data_ov60_0214820c
data_ov60_0214820c:
.space 0x4
.global data_ov60_02148210
data_ov60_02148210:
.space 0x4
.global data_ov60_02148214
data_ov60_02148214:
.space 0x4
.global data_ov60_02148218
data_ov60_02148218:
.space 0x4
.global data_ov60_0214821c
data_ov60_0214821c:
.space 0x4
.global data_ov60_02148220
data_ov60_02148220:
.space 0x4
.global data_ov60_02148224
data_ov60_02148224:
.space 0x4
.global data_ov60_02148228
data_ov60_02148228:
.space 0x4
.global data_ov60_0214822c
data_ov60_0214822c:
.space 0x4
.global data_ov60_02148230
data_ov60_02148230:
.space 0x4
.global data_ov60_02148234
data_ov60_02148234:
.space 0x4
.global data_ov60_02148238
data_ov60_02148238:
.space 0x4
.global data_ov60_0214823c
data_ov60_0214823c:
.space 0x4
.global data_ov60_02148240
data_ov60_02148240:
.space 0x4
.global data_ov60_02148244
data_ov60_02148244:
.space 0x4
.global data_ov60_02148248
data_ov60_02148248:
.space 0x4
.global data_ov60_0214824c
data_ov60_0214824c:
.space 0x4
.global data_ov60_02148250
data_ov60_02148250:
.space 0x4
.global data_ov60_02148254
data_ov60_02148254:
.space 0x4
.global data_ov60_02148258
data_ov60_02148258:
.space 0x4
.global data_ov60_0214825c
data_ov60_0214825c:
.space 0x4
.global data_ov60_02148260
data_ov60_02148260:
.space 0x4
.global data_ov60_02148264
data_ov60_02148264:
.space 0x4
.global data_ov60_02148268
data_ov60_02148268:
.space 0x4
.global data_ov60_0214826c
data_ov60_0214826c:
.space 0x4
.global data_ov60_02148270
data_ov60_02148270:
.space 0x4
.global data_ov60_02148274
data_ov60_02148274:
.space 0x4
.global data_ov60_02148278
data_ov60_02148278:
.space 0x4
.global data_ov60_0214827c
data_ov60_0214827c:
.space 0x4
.global data_ov60_02148280
data_ov60_02148280:
.space 0x4
.global data_ov60_02148284
data_ov60_02148284:
.space 0x4
.global data_ov60_02148288
data_ov60_02148288:
.space 0x4
.global data_ov60_0214828c
data_ov60_0214828c:
.space 0x4
.global data_ov60_02148290
data_ov60_02148290:
.space 0x4
.global data_ov60_02148294
data_ov60_02148294:
.space 0x4
.global data_ov60_02148298
data_ov60_02148298:
.space 0x4
.global data_ov60_0214829c
data_ov60_0214829c:
.space 0x4
.global data_ov60_021482a0
data_ov60_021482a0:
.space 0x4
.global data_ov60_021482a4
data_ov60_021482a4:
.space 0x4
.global data_ov60_021482a8
data_ov60_021482a8:
.space 0x4
.global data_ov60_021482ac
data_ov60_021482ac:
.space 0x4
.global data_ov60_021482b0
data_ov60_021482b0:
.space 0x4
.global data_ov60_021482b4
data_ov60_021482b4:
.space 0x4
.global data_ov60_021482b8
data_ov60_021482b8:
.space 0x4
.global data_ov60_021482bc
data_ov60_021482bc:
.space 0x4
.global data_ov60_021482c0
data_ov60_021482c0:
.space 0x4
.global data_ov60_021482c4
data_ov60_021482c4:
.space 0x4
.global data_ov60_021482c8
data_ov60_021482c8:
.space 0x4
.global data_ov60_021482cc
data_ov60_021482cc:
.space 0x4
.global data_ov60_021482d0
data_ov60_021482d0:
.space 0x4
.global data_ov60_021482d4
data_ov60_021482d4:
.space 0x4
.global data_ov60_021482d8
data_ov60_021482d8:
.space 0x4
.global data_ov60_021482dc
data_ov60_021482dc:
.space 0x4
.global data_ov60_021482e0
data_ov60_021482e0:
.space 0x4
.global data_ov60_021482e4
data_ov60_021482e4:
.space 0x4
.global data_ov60_021482e8
data_ov60_021482e8:
.space 0x4
.global data_ov60_021482ec
data_ov60_021482ec:
.space 0x4
.global data_ov60_021482f0
data_ov60_021482f0:
.space 0x4
.global data_ov60_021482f4
data_ov60_021482f4:
.space 0x4
.global data_ov60_021482f8
data_ov60_021482f8:
.space 0x4
.global data_ov60_021482fc
data_ov60_021482fc:
.space 0x4
.global data_ov60_02148300
data_ov60_02148300:
.space 0x4
.global data_ov60_02148304
data_ov60_02148304:
.space 0x4
.global data_ov60_02148308
data_ov60_02148308:
.space 0x4
.global data_ov60_0214830c
data_ov60_0214830c:
.space 0x4
.global data_ov60_02148310
data_ov60_02148310:
.space 0x4
.global data_ov60_02148314
data_ov60_02148314:
.space 0x4
.global data_ov60_02148318
data_ov60_02148318:
.space 0x4
.global data_ov60_0214831c
data_ov60_0214831c:
.space 0x4
.global data_ov60_02148320
data_ov60_02148320:
.space 0x4
.global data_ov60_02148324
data_ov60_02148324:
.space 0x4
.global data_ov60_02148328
data_ov60_02148328:
.space 0x4
.global data_ov60_0214832c
data_ov60_0214832c:
.space 0x4
.global data_ov60_02148330
data_ov60_02148330:
.space 0x4
.global data_ov60_02148334
data_ov60_02148334:
.space 0x4
.global data_ov60_02148338
data_ov60_02148338:
.space 0x4
.global data_ov60_0214833c
data_ov60_0214833c:
.space 0x4
.global data_ov60_02148340
data_ov60_02148340:
.space 0x4
.global data_ov60_02148344
data_ov60_02148344:
.space 0x4
.global data_ov60_02148348
data_ov60_02148348:
.space 0x4
.global data_ov60_0214834c
data_ov60_0214834c:
.space 0x4
.global data_ov60_02148350
data_ov60_02148350:
.space 0x4
.global data_ov60_02148354
data_ov60_02148354:
.space 0x4
.global data_ov60_02148358
data_ov60_02148358:
.space 0x4
.global data_ov60_0214835c
data_ov60_0214835c:
.space 0x4
.global data_ov60_02148360
data_ov60_02148360:
.space 0x4
.global data_ov60_02148364
data_ov60_02148364:
.space 0x4
.global data_ov60_02148368
data_ov60_02148368:
.space 0x4
.global data_ov60_0214836c
data_ov60_0214836c:
.space 0x4
.global data_ov60_02148370
data_ov60_02148370:
.space 0x4
.global data_ov60_02148374
data_ov60_02148374:
.space 0x4
.global data_ov60_02148378
data_ov60_02148378:
.space 0x4
.global data_ov60_0214837c
data_ov60_0214837c:
.space 0x4
.global data_ov60_02148380
data_ov60_02148380:
.space 0x4
.global data_ov60_02148384
data_ov60_02148384:
.space 0x4
.global data_ov60_02148388
data_ov60_02148388:
.space 0x4
.global data_ov60_0214838c
data_ov60_0214838c:
.space 0x4
.global data_ov60_02148390
data_ov60_02148390:
.space 0x4
.global data_ov60_02148394
data_ov60_02148394:
.space 0x4
.global data_ov60_02148398
data_ov60_02148398:
.space 0x4
.global data_ov60_0214839c
data_ov60_0214839c:
.space 0x4
.global data_ov60_021483a0
data_ov60_021483a0:
.space 0x4
.global data_ov60_021483a4
data_ov60_021483a4:
.space 0x4
.global data_ov60_021483a8
data_ov60_021483a8:
.space 0x4
.global data_ov60_021483ac
data_ov60_021483ac:
.space 0x4
.global data_ov60_021483b0
data_ov60_021483b0:
.space 0x4
.global data_ov60_021483b4
data_ov60_021483b4:
.space 0x4
.global data_ov60_021483b8
data_ov60_021483b8:
.space 0x4
.global data_ov60_021483bc
data_ov60_021483bc:
.space 0x4
.global data_ov60_021483c0
data_ov60_021483c0:
.space 0x4
.global data_ov60_021483c4
data_ov60_021483c4:
.space 0x4
.global data_ov60_021483c8
data_ov60_021483c8:
.space 0x4
.global data_ov60_021483cc
data_ov60_021483cc:
.space 0x4
.global data_ov60_021483d0
data_ov60_021483d0:
.space 0x4
.global data_ov60_021483d4
data_ov60_021483d4:
.space 0x4
.global data_ov60_021483d8
data_ov60_021483d8:
.space 0x4
.global data_ov60_021483dc
data_ov60_021483dc:
.space 0x4
.global data_ov60_021483e0
data_ov60_021483e0:
.space 0x4
.global data_ov60_021483e4
data_ov60_021483e4:
.space 0x4
.global data_ov60_021483e8
data_ov60_021483e8:
.space 0x4
.global data_ov60_021483ec
data_ov60_021483ec:
.space 0x4
.global data_ov60_021483f0
data_ov60_021483f0:
.space 0x4
.global data_ov60_021483f4
data_ov60_021483f4:
.space 0x4
.global data_ov60_021483f8
data_ov60_021483f8:
.space 0x4
.global data_ov60_021483fc
data_ov60_021483fc:
.space 0x4
.global data_ov60_02148400
data_ov60_02148400:
.space 0x4
.global data_ov60_02148404
data_ov60_02148404:
.space 0x4
.global data_ov60_02148408
data_ov60_02148408:
.space 0x4
.global data_ov60_0214840c
data_ov60_0214840c:
.space 0x4
.global data_ov60_02148410
data_ov60_02148410:
.space 0x4
.global data_ov60_02148414
data_ov60_02148414:
.space 0x4
.global data_ov60_02148418
data_ov60_02148418:
.space 0x4
.global data_ov60_0214841c
data_ov60_0214841c:
.space 0x4
.global data_ov60_02148420
data_ov60_02148420:
.space 0x4
.global data_ov60_02148424
data_ov60_02148424:
.space 0x4
.global data_ov60_02148428
data_ov60_02148428:
.space 0x4
.global data_ov60_0214842c
data_ov60_0214842c:
.space 0x4
.global data_ov60_02148430
data_ov60_02148430:
.space 0x4
.global data_ov60_02148434
data_ov60_02148434:
.space 0x4
.global data_ov60_02148438
data_ov60_02148438:
.space 0x4
.global data_ov60_0214843c
data_ov60_0214843c:
.space 0x4
.global data_ov60_02148440
data_ov60_02148440:
.space 0x4
.global data_ov60_02148444
data_ov60_02148444:
.space 0x4
.global data_ov60_02148448
data_ov60_02148448:
.space 0x4
.global data_ov60_0214844c
data_ov60_0214844c:
.space 0x4
.global data_ov60_02148450
data_ov60_02148450:
.space 0x4
.global data_ov60_02148454
data_ov60_02148454:
.space 0x4
.global data_ov60_02148458
data_ov60_02148458:
.space 0x4
.global data_ov60_0214845c
data_ov60_0214845c:
.space 0x4
.global data_ov60_02148460
data_ov60_02148460:
.space 0x4
.global data_ov60_02148464
data_ov60_02148464:
.space 0x4
.global data_ov60_02148468
data_ov60_02148468:
.space 0x4
.global data_ov60_0214846c
data_ov60_0214846c:
.space 0x4
.global data_ov60_02148470
data_ov60_02148470:
.space 0x4
.global data_ov60_02148474
data_ov60_02148474:
.space 0x4
.global data_ov60_02148478
data_ov60_02148478:
.space 0x4
.global data_ov60_0214847c
data_ov60_0214847c:
.space 0x4
.global data_ov60_02148480
data_ov60_02148480:
.space 0x4
.global data_ov60_02148484
data_ov60_02148484:
.space 0x4
.global data_ov60_02148488
data_ov60_02148488:
.space 0x4
.global data_ov60_0214848c
data_ov60_0214848c:
.space 0x4
.global data_ov60_02148490
data_ov60_02148490:
.space 0x4
.global data_ov60_02148494
data_ov60_02148494:
.space 0x4
.global data_ov60_02148498
data_ov60_02148498:
.space 0x4
.global data_ov60_0214849c
data_ov60_0214849c:
.space 0x4
.global data_ov60_021484a0
data_ov60_021484a0:
.space 0x4
.global data_ov60_021484a4
data_ov60_021484a4:
.space 0x4
.global data_ov60_021484a8
data_ov60_021484a8:
.space 0x4
.global data_ov60_021484ac
data_ov60_021484ac:
.space 0x4
.global data_ov60_021484b0
data_ov60_021484b0:
.space 0x4
.global data_ov60_021484b4
data_ov60_021484b4:
.space 0x4
.global data_ov60_021484b8
data_ov60_021484b8:
.space 0x4
.global data_ov60_021484bc
data_ov60_021484bc:
.space 0x4
.global data_ov60_021484c0
data_ov60_021484c0:
.space 0x4
.global data_ov60_021484c4
data_ov60_021484c4:
.space 0x4
.global data_ov60_021484c8
data_ov60_021484c8:
.space 0x4
.global data_ov60_021484cc
data_ov60_021484cc:
.space 0x4
.global data_ov60_021484d0
data_ov60_021484d0:
.space 0x4
.global data_ov60_021484d4
data_ov60_021484d4:
.space 0x4
.global data_ov60_021484d8
data_ov60_021484d8:
.space 0x4
.global data_ov60_021484dc
data_ov60_021484dc:
.space 0x4
.global data_ov60_021484e0
data_ov60_021484e0:
.space 0x4
.global data_ov60_021484e4
data_ov60_021484e4:
.space 0x4
.global data_ov60_021484e8
data_ov60_021484e8:
.space 0x4
.global data_ov60_021484ec
data_ov60_021484ec:
.space 0x4
.global data_ov60_021484f0
data_ov60_021484f0:
.space 0x4
.global data_ov60_021484f4
data_ov60_021484f4:
.space 0x4
.global data_ov60_021484f8
data_ov60_021484f8:
.space 0x4
.global data_ov60_021484fc
data_ov60_021484fc:
.space 0x4
.global data_ov60_02148500
data_ov60_02148500:
.space 0x4
.global data_ov60_02148504
data_ov60_02148504:
.space 0x4
.global data_ov60_02148508
data_ov60_02148508:
.space 0x4
.global data_ov60_0214850c
data_ov60_0214850c:
.space 0x4
.global data_ov60_02148510
data_ov60_02148510:
.space 0x4
.global data_ov60_02148514
data_ov60_02148514:
.space 0x4
.global data_ov60_02148518
data_ov60_02148518:
.space 0x4
.global data_ov60_0214851c
data_ov60_0214851c:
.space 0x4
.global data_ov60_02148520
data_ov60_02148520:
.space 0x4
.global data_ov60_02148524
data_ov60_02148524:
.space 0x4
.global data_ov60_02148528
data_ov60_02148528:
.space 0x4
.global data_ov60_0214852c
data_ov60_0214852c:
.space 0x4
.global data_ov60_02148530
data_ov60_02148530:
.space 0x4
.global data_ov60_02148534
data_ov60_02148534:
.space 0x4
.global data_ov60_02148538
data_ov60_02148538:
.space 0x4
.global data_ov60_0214853c
data_ov60_0214853c:
.space 0x4
.global data_ov60_02148540
data_ov60_02148540:
.space 0x4
.global data_ov60_02148544
data_ov60_02148544:
.space 0x4
.global data_ov60_02148548
data_ov60_02148548:
.space 0x4
.global data_ov60_0214854c
data_ov60_0214854c:
.space 0x4
.global data_ov60_02148550
data_ov60_02148550:
.space 0x4
.global data_ov60_02148554
data_ov60_02148554:
.space 0x4
.global data_ov60_02148558
data_ov60_02148558:
.space 0x4
.global data_ov60_0214855c
data_ov60_0214855c:
.space 0x4
.global data_ov60_02148560
data_ov60_02148560:
.space 0x4
.global data_ov60_02148564
data_ov60_02148564:
.space 0x4
.global data_ov60_02148568
data_ov60_02148568:
.space 0x4
.global data_ov60_0214856c
data_ov60_0214856c:
.space 0x4
.global data_ov60_02148570
data_ov60_02148570:
.space 0x4
.global data_ov60_02148574
data_ov60_02148574:
.space 0x4
.global data_ov60_02148578
data_ov60_02148578:
.space 0x4
.global data_ov60_0214857c
data_ov60_0214857c:
.space 0x4
.global data_ov60_02148580
data_ov60_02148580:
.space 0x4
.global data_ov60_02148584
data_ov60_02148584:
.space 0x4
.global data_ov60_02148588
data_ov60_02148588:
.space 0x4
.global data_ov60_0214858c
data_ov60_0214858c:
.space 0x4
.global data_ov60_02148590
data_ov60_02148590:
.space 0x4
.global data_ov60_02148594
data_ov60_02148594:
.space 0x4
.global data_ov60_02148598
data_ov60_02148598:
.space 0x4
.global data_ov60_0214859c
data_ov60_0214859c:
.space 0x4