Files
ph/asm/ov17.s
T
2024-02-17 00:27:54 +01:00

25333 lines
534 KiB
ArmAsm

.include "macros/function.inc"
.include "include/ov17.inc"
.text
.global func_ov17_0215b4a0
arm_func_start func_ov17_0215b4a0
func_ov17_0215b4a0: ; 0x0215b4a0
stmdb sp!, {r3, lr}
ldr r3, _0215b4c4 ; =data_ov00_020ee0a0
ldr r1, _0215b4c8 ; =0x00007fff
ldrh ip, [r3, #2]
mov r2, #0x1f
strh ip, [r0, #8]
mov r0, r3
bl func_ov00_0209cd9c
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0215b4a0
_0215b4c4: .word data_ov00_020ee0a0
_0215b4c8: .word 0x00007fff
.global func_ov17_0215b4cc
arm_func_start func_ov17_0215b4cc
func_ov17_0215b4cc: ; 0x0215b4cc
ldr ip, _0215b4e0 ; =func_ov00_0209cd9c
ldrh r1, [r0, #8]
ldr r0, _0215b4e4 ; =data_ov00_020ee0a0
mov r2, #0x1f
bx ip
.align 2, 0
arm_func_end func_ov17_0215b4cc
_0215b4e0: .word func_ov00_0209cd9c
_0215b4e4: .word data_ov00_020ee0a0
.global func_ov17_0215b4e8
thumb_func_start func_ov17_0215b4e8
func_ov17_0215b4e8: ; 0x0215b4e8
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
str r1, [sp]
add r5, r2, #0
bl func_ov04_0210be04
ldr r0, _0215b5c4 ; =data_ov17_0216ba00
mov r1, #0x62
str r0, [r4]
mov r2, #6
mov r0, #0
lsl r1, r1, #2
str r0, [r4, r1]
add r1, #8
add r1, r4, r1
lsl r2, r2, #8
blx func_020078f4
ldr r1, _0215b5c8 ; =data_027e0ce0
ldr r0, [sp]
ldr r1, [r1, #4]
lsl r0, r0, #2
mov r2, #4
blx func_0202e9f4
mov r1, #0x63
lsl r1, r1, #2
str r0, [r4, r1]
ldr r0, [sp]
mov r7, #0
cmp r0, #0
ble _0215b54e
lsl r0, r5, #2
add r6, r7, #0
str r0, [sp, #4]
_0215b530:
ldr r1, _0215b5c8 ; =data_027e0ce0
ldr r0, [sp, #4]
ldr r1, [r1, #4]
mov r2, #4
blx func_0202e9f4
mov r1, #0x63
lsl r1, r1, #2
ldr r1, [r4, r1]
add r7, r7, #1
str r0, [r1, r6]
ldr r0, [sp]
add r6, r6, #4
cmp r7, r0
blt _0215b530
_0215b54e:
mov r0, #0
mov ip, r0
ldr r0, [sp]
cmp r0, #0
ble _0215b584
mov r7, #0x63
mov r1, ip
mov r6, #0
lsl r7, r7, #2
_0215b560:
mov r0, #0
cmp r5, #0
ble _0215b576
add r2, r0, #0
_0215b568:
ldr r3, [r4, r7]
add r0, r0, #1
ldr r3, [r1, r3]
str r6, [r3, r2]
add r2, r2, #4
cmp r0, r5
blt _0215b568
_0215b576:
mov r0, ip
add r2, r0, #1
ldr r0, [sp]
add r1, r1, #4
mov ip, r2
cmp r2, r0
blt _0215b560
_0215b584:
mov r1, #0x19
lsl r1, r1, #4
mov r2, #6
mov r0, #0
add r1, r4, r1
lsl r2, r2, #8
blx func_020078f4
mov r0, #0x80
strh r0, [r4, #0x2c]
mov r0, #0x60
strh r0, [r4, #0x2e]
ldr r0, _0215b5cc ; =data_027e0d38
ldr r0, [r0]
ldr r1, [r0, #0x14]
cmp r1, #1
beq _0215b5bc
add r0, #0xc
blx func_ov00_020a5e9c
cmp r0, #0x31
beq _0215b5b4
cmp r0, #0x33
bne _0215b5bc
_0215b5b4:
ldr r0, _0215b5d0 ; =data_ov29_0217a4ac
ldr r1, _0215b5d4 ; =data_ov17_0216ceac
blx func_ov29_0216d74c
_0215b5bc:
add r0, r4, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
thumb_func_end func_ov17_0215b4e8
_0215b5c4: .word data_ov17_0216ba00
_0215b5c8: .word data_027e0ce0
_0215b5cc: .word data_027e0d38
_0215b5d0: .word data_ov29_0217a4ac
_0215b5d4: .word data_ov17_0216ceac
.global func_ov17_0215b5d8
thumb_func_start func_ov17_0215b5d8
func_ov17_0215b5d8: ; 0x0215b5d8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, _0215b65c ; =data_ov17_0216ba00
str r0, [r5]
ldr r0, _0215b660 ; =data_027e0d38
ldr r0, [r0]
ldr r1, [r0, #0x14]
cmp r1, #1
beq _0215b600
add r0, #0xc
blx func_ov00_020a5e9c
cmp r0, #0x31
beq _0215b5f8
cmp r0, #0x33
bne _0215b600
_0215b5f8:
ldr r0, _0215b664 ; =data_ov29_0217a4ac
ldr r1, _0215b668 ; =data_ov17_0216ceac
blx func_ov29_0216d77c
_0215b600:
mov r0, #0x63
lsl r0, r0, #2
ldr r0, [r5, r0]
cmp r0, #0
beq _0215b64a
ldrh r0, [r5, #0x28]
mov r6, #0
cmp r0, #0
ble _0215b638
add r4, r6, #0
add r7, r6, #0
_0215b616:
mov r0, #0x63
lsl r0, r0, #2
ldr r0, [r5, r0]
cmp r0, #0
beq _0215b62e
ldr r0, [r0, r4]
blx func_0202ea18
mov r0, #0x63
lsl r0, r0, #2
ldr r0, [r5, r0]
str r7, [r0, r4]
_0215b62e:
ldrh r0, [r5, #0x28]
add r6, r6, #1
add r4, r4, #4
cmp r6, r0
blt _0215b616
_0215b638:
mov r0, #0x63
lsl r0, r0, #2
ldr r0, [r5, r0]
blx func_0202ea18
mov r0, #0x63
mov r1, #0
lsl r0, r0, #2
str r1, [r5, r0]
_0215b64a:
mov r0, #0x62
mov r1, #0
lsl r0, r0, #2
str r1, [r5, r0]
add r0, r5, #0
blx func_ov00_0207da38
add r0, r5, #0
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end func_ov17_0215b5d8
_0215b65c: .word data_ov17_0216ba00
_0215b660: .word data_027e0d38
_0215b664: .word data_ov29_0217a4ac
_0215b668: .word data_ov17_0216ceac
.global func_ov17_0215b66c
thumb_func_start func_ov17_0215b66c
func_ov17_0215b66c: ; 0x0215b66c
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, _0215b6f8 ; =data_ov17_0216ba00
str r0, [r5]
ldr r0, _0215b6fc ; =data_027e0d38
ldr r0, [r0]
ldr r1, [r0, #0x14]
cmp r1, #1
beq _0215b694
add r0, #0xc
blx func_ov00_020a5e9c
cmp r0, #0x31
beq _0215b68c
cmp r0, #0x33
bne _0215b694
_0215b68c:
ldr r0, _0215b700 ; =data_ov29_0217a4ac
ldr r1, _0215b704 ; =data_ov17_0216ceac
blx func_ov29_0216d77c
_0215b694:
mov r0, #0x63
lsl r0, r0, #2
ldr r0, [r5, r0]
cmp r0, #0
beq _0215b6de
ldrh r0, [r5, #0x28]
mov r6, #0
cmp r0, #0
ble _0215b6cc
add r4, r6, #0
add r7, r6, #0
_0215b6aa:
mov r0, #0x63
lsl r0, r0, #2
ldr r0, [r5, r0]
cmp r0, #0
beq _0215b6c2
ldr r0, [r0, r4]
blx func_0202ea18
mov r0, #0x63
lsl r0, r0, #2
ldr r0, [r5, r0]
str r7, [r0, r4]
_0215b6c2:
ldrh r0, [r5, #0x28]
add r6, r6, #1
add r4, r4, #4
cmp r6, r0
blt _0215b6aa
_0215b6cc:
mov r0, #0x63
lsl r0, r0, #2
ldr r0, [r5, r0]
blx func_0202ea18
mov r0, #0x63
mov r1, #0
lsl r0, r0, #2
str r1, [r5, r0]
_0215b6de:
mov r0, #0x62
mov r1, #0
lsl r0, r0, #2
str r1, [r5, r0]
add r0, r5, #0
blx func_ov00_0207da38
add r0, r5, #0
blx _ZN9SysObjectdlEPv
add r0, r5, #0
pop {r3, r4, r5, r6, r7, pc}
nop
thumb_func_end func_ov17_0215b66c
_0215b6f8: .word data_ov17_0216ba00
_0215b6fc: .word data_027e0d38
_0215b700: .word data_ov29_0217a4ac
_0215b704: .word data_ov17_0216ceac
.global func_ov17_0215b708
thumb_func_start func_ov17_0215b708
func_ov17_0215b708: ; 0x0215b708
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
mov r0, #0
str r0, [sp]
ldrh r0, [r5, #0x28]
cmp r0, #0
ble _0215b75a
add r7, sp, #4
_0215b71a:
ldrh r0, [r5, #0x2a]
mov r4, #0
cmp r0, #0
ble _0215b74e
ldr r0, [sp]
lsl r0, r0, #0x18
lsr r6, r0, #0x18
_0215b728:
strb r6, [r7]
strb r4, [r7, #1]
add r0, r5, #0
ldr r2, [r0]
add r1, sp, #4
ldr r2, [r2, #0x60]
blx r2
ldr r1, [r5, #0x40]
cmp r0, r1
ble _0215b73e
str r0, [r5, #0x40]
_0215b73e:
ldr r1, [r5, #0x44]
cmp r0, r1
bge _0215b746
str r0, [r5, #0x44]
_0215b746:
ldrh r0, [r5, #0x2a]
add r4, r4, #1
cmp r4, r0
blt _0215b728
_0215b74e:
ldr r0, [sp]
ldrh r1, [r5, #0x28]
add r0, r0, #1
str r0, [sp]
cmp r0, r1
blt _0215b71a
_0215b75a:
add r0, r5, #0
bl func_ov04_0210bfa8
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end func_ov17_0215b708
.global func_ov17_0215b764
arm_func_start func_ov17_0215b764
func_ov17_0215b764: ; 0x0215b764
ldr ip, _0215b76c ; =func_ov05_02111bc0
bx ip
.align 2, 0
arm_func_end func_ov17_0215b764
_0215b76c: .word func_ov05_02111bc0
.global func_ov17_0215b770
thumb_func_start func_ov17_0215b770
func_ov17_0215b770: ; 0x0215b770
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
bl func_ov04_0210c5cc
mov r1, #0x19
lsl r1, r1, #4
mov r2, #6
mov r0, #0
add r1, r4, r1
lsl r2, r2, #8
blx func_020078f4
mov r0, #0
mov ip, r0
ldrh r0, [r4, #0x28]
ldrh r2, [r4, #0x2a]
str r0, [sp]
cmp r0, #0
ble _0215b7c2
mov r7, #0x63
mov r1, ip
mov r6, #0
lsl r7, r7, #2
_0215b79e:
mov r0, #0
cmp r2, #0
ble _0215b7b4
add r3, r0, #0
_0215b7a6:
ldr r5, [r4, r7]
add r0, r0, #1
ldr r5, [r1, r5]
str r6, [r5, r3]
add r3, r3, #4
cmp r0, r2
blt _0215b7a6
_0215b7b4:
mov r0, ip
add r3, r0, #1
ldr r0, [sp]
add r1, r1, #4
mov ip, r3
cmp r3, r0
blt _0215b79e
_0215b7c2:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end func_ov17_0215b770
.global func_ov17_0215b7c4
arm_func_start func_ov17_0215b7c4
func_ov17_0215b7c4: ; 0x0215b7c4
ldr ip, _0215b7d0 ; =func_ov17_0215b7d4
str r1, [r0, #0x188]
bx ip
.align 2, 0
arm_func_end func_ov17_0215b7c4
_0215b7d0: .word func_ov17_0215b7d4
.global func_ov17_0215b7d4
arm_func_start func_ov17_0215b7d4
func_ov17_0215b7d4: ; 0x0215b7d4
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x1c
mov sl, r0
ldr r0, [sl, #0x188]
cmp r0, #0
addeq sp, sp, #0x1c
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldrh r0, [sl, #0x28]
ldrh sb, [sl, #0x2a]
cmp r0, #0x40
str r0, [sp]
cmpls sb, #0x30
addhi sp, sp, #0x1c
ldmhiia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
mov r0, #0
str r0, [sp, #4]
strb r0, [sp, #8]
strb r0, [sp, #9]
ldr r0, [sp]
cmp r0, #0
addle sp, sp, #0x1c
ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0215b82c:
cmp sb, #0
mov r8, #0
ble _0215b974
ldr r0, [sp, #4]
add r6, sp, #0x16
and r7, r0, #0xff
add r5, sp, #8
add r4, sp, #0x12
add fp, sp, #0xe
_0215b850:
mov r0, r6
mov r1, sl
mov r2, r5
mov r3, #0
strb r7, [sp, #8]
strb r8, [sp, #9]
bl func_ov00_0207f588
mov r0, sl
ldr r3, [r0]
mov r1, r5
ldr r3, [r3, #0x58]
mov r2, #0
blx r3
mov r2, r0
mov r0, sl
ldr r3, [r0]
mov r1, r6
ldr r3, [r3, #0xa8]
blx r3
mov r0, r4
mov r1, sl
mov r2, r5
mov r3, #1
bl func_ov00_0207f588
mov r0, sl
ldr r3, [r0]
mov r1, r5
ldr r3, [r3, #0x58]
mov r2, #1
blx r3
mov r2, r0
mov r0, sl
ldr r3, [r0]
mov r1, r4
ldr r3, [r3, #0xa8]
blx r3
mov r0, fp
mov r1, sl
mov r2, r5
mov r3, #2
bl func_ov00_0207f588
mov r0, sl
ldr r3, [r0]
mov r1, r5
ldr r3, [r3, #0x58]
mov r2, #2
blx r3
mov r2, r0
mov r0, sl
ldr r3, [r0]
mov r1, fp
ldr r3, [r3, #0xa8]
blx r3
add r0, sp, #0xa
mov r1, sl
mov r2, r5
mov r3, #3
bl func_ov00_0207f588
mov r0, sl
ldr r3, [r0]
mov r1, r5
ldr r3, [r3, #0x58]
mov r2, #3
blx r3
mov r2, r0
mov r0, sl
ldr r3, [r0]
add r1, sp, #0xa
ldr r3, [r3, #0xa8]
blx r3
add r8, r8, #1
cmp r8, sb
blt _0215b850
_0215b974:
ldr r0, [sp, #4]
add r1, r0, #1
ldr r0, [sp]
str r1, [sp, #4]
cmp r1, r0
blt _0215b82c
add sp, sp, #0x1c
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
arm_func_end func_ov17_0215b7d4
.global func_ov17_0215b994
arm_func_start func_ov17_0215b994
func_ov17_0215b994: ; 0x0215b994
ldrsh r2, [r1]
ldrsh r1, [r1, #2]
mov r3, #1
add r2, r2, r1, lsl #7
mov r1, r2, lsr #0x5
add r0, r0, r1, lsl #2
ldr r0, [r0, #0x190]
and r1, r2, #0x1f
tst r0, r3, lsl r1
moveq r3, #0
mov r0, r3
bx lr
arm_func_end func_ov17_0215b994
.global func_ov17_0215b9c4
arm_func_start func_ov17_0215b9c4
func_ov17_0215b9c4: ; 0x0215b9c4
ldrsh r3, [r1]
ldrsh r1, [r1, #2]
cmp r2, #0
add r1, r3, r1, lsl #7
beq _0215b9f8
add ip, r0, #0x190
mov r3, r1, lsr #0x5
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
_0215b9f8:
add r3, r0, #0x190
mov r2, r1, lsr #0x5
and r0, r1, #0x1f
mov r1, #1
mvn r0, r1, lsl r0
ldr r1, [r3, r2, lsl #2]
and r0, r1, r0
str r0, [r3, r2, lsl #2]
bx lr
arm_func_end func_ov17_0215b9c4
.global func_ov17_0215ba1c
arm_func_start func_ov17_0215ba1c
func_ov17_0215ba1c: ; 0x0215ba1c
stmdb sp!, {r4, r5, r6, lr}
mov r4, r2
mov r6, r0
mov r5, r1
bl func_ov00_0207f4a4
cmp r4, #0
cmpne r0, #0
mov r0, r6
ldr r3, [r0]
movne r2, #1
ldr r3, [r3, #0xa8]
moveq r2, #0
mov r1, r5
blx r3
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov17_0215ba1c
.global func_ov17_0215ba58
arm_func_start func_ov17_0215ba58
func_ov17_0215ba58: ; 0x0215ba58
stmdb sp!, {r3, lr}
ldr r2, [r0, #0x188]
cmp r2, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov17_0215baf4
ldrb r0, [r0, #1]
ldmia sp!, {r3, pc}
arm_func_end func_ov17_0215ba58
.global func_ov17_0215ba78
arm_func_start func_ov17_0215ba78
func_ov17_0215ba78: ; 0x0215ba78
stmdb sp!, {r4, lr}
ldr r3, [r0, #0x188]
mov r4, r2
cmp r3, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
bl func_ov17_0215baf4
ldrb r1, [r0, #3]
mov r0, #1
tst r1, r0, lsl r4
moveq r0, #0
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215ba78
.global func_ov17_0215baa8
arm_func_start func_ov17_0215baa8
func_ov17_0215baa8: ; 0x0215baa8
stmdb sp!, {r3, lr}
ldr r2, [r0, #0x188]
cmp r2, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov17_0215baf4
ldrsb r0, [r0, #2]
ldmia sp!, {r3, pc}
arm_func_end func_ov17_0215baa8
.global func_ov17_0215bac8
arm_func_start func_ov17_0215bac8
func_ov17_0215bac8: ; 0x0215bac8
stmdb sp!, {r3, lr}
ldr r2, [r0, #0x188]
cmp r2, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov17_0215baf4
ldrsb r1, [r0, #2]
ldr r0, _0215baf0 ; =0x00001333
mul r0, r1, r0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0215bac8
_0215baf0: .word 0x00001333
.global func_ov17_0215baf4
arm_func_start func_ov17_0215baf4
func_ov17_0215baf4: ; 0x0215baf4
ldr r3, [r0, #0x188]
ldrb r2, [r1]
ldrb r1, [r1, #1]
ldrh r0, [r3, #8]
add r3, r3, #0xc
mla r0, r1, r0, r2
add r0, r3, r0, lsl #2
bx lr
arm_func_end func_ov17_0215baf4
.global func_ov17_0215bb14
arm_func_start func_ov17_0215bb14
func_ov17_0215bb14: ; 0x0215bb14
ldr ip, [r0, #0x188]
ldrb r3, [r1]
ldrb r1, [r1, #1]
ldrh r0, [ip, #8]
mla r0, r1, r0, r3
add r0, ip, r0, lsl #2
strb r2, [r0, #0xd]
bx lr
arm_func_end func_ov17_0215bb14
.global func_ov17_0215bb34
arm_func_start func_ov17_0215bb34
func_ov17_0215bb34: ; 0x0215bb34
stmdb sp!, {r3, lr}
cmp r3, #0
beq _0215bb6c
ldr r0, [r0, #0x188]
ldrb ip, [r1]
ldrb r3, [r1, #1]
ldrh r1, [r0, #8]
add lr, r0, #0xf
mov r0, #1
mla ip, r3, r1, ip
ldrb r1, [lr, ip, lsl #2]
orr r0, r1, r0, lsl r2
strb r0, [lr, ip, lsl #2]
ldmia sp!, {r3, pc}
_0215bb6c:
ldr lr, [r0, #0x188]
mov r0, #1
ldrb ip, [r1]
ldrb r3, [r1, #1]
ldrh r1, [lr, #8]
add lr, lr, #0xf
mvn r0, r0, lsl r2
mla r2, r3, r1, ip
ldrb r1, [lr, r2, lsl #2]
and r0, r1, r0
strb r0, [lr, r2, lsl #2]
ldmia sp!, {r3, pc}
arm_func_end func_ov17_0215bb34
.global func_ov17_0215bb9c
arm_func_start func_ov17_0215bb9c
func_ov17_0215bb9c: ; 0x0215bb9c
ldr ip, [r0, #0x188]
ldrb r3, [r1]
ldrb r1, [r1, #1]
ldrh r0, [ip, #8]
mla r0, r1, r0, r3
add r0, ip, r0, lsl #2
strb r2, [r0, #0xe]
bx lr
arm_func_end func_ov17_0215bb9c
.global func_ov17_0215bbbc
arm_func_start func_ov17_0215bbbc
func_ov17_0215bbbc: ; 0x0215bbbc
ldrb r2, [r1]
ldr r3, [r0, #0x18c]
ldrb r0, [r1, #1]
ldr r1, [r3, r2, lsl #2]
ldr r0, [r1, r0, lsl #2]
bx lr
arm_func_end func_ov17_0215bbbc
.global func_ov17_0215bbd4
arm_func_start func_ov17_0215bbd4
func_ov17_0215bbd4: ; 0x0215bbd4
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0x1c
mov r6, r2
mov r7, r1
ldr r2, _0215bd28 ; =data_027e0e60
mov r8, r0
ldrb r1, [r6, #1]
ldr r0, [r2]
mov r5, r3
bl func_ov00_02083c50
mov r4, r0
mov r0, r8
ldr r2, [r0]
mov r1, r6
ldr r2, [r2, #0x60]
blx r2
ldr r1, _0215bd28 ; =data_027e0e60
mov sb, r0
ldr r0, [r1]
ldrb r1, [r6]
bl func_ov00_02083c24
str sb, [sp, #0x14]
str r4, [sp, #0x18]
str r0, [sp, #0x10]
mov r0, r8
mov r1, r6
ldr r2, [r0]
ldr r2, [r2, #0x54]
blx r2
cmp r0, #0x1c
bgt _0215bc70
cmp r0, #0x1b
blt _0215bc64
cmpne r0, #0x1c
beq _0215bc78
b _0215bca4
_0215bc64:
cmp r0, #0x14
beq _0215bc78
b _0215bca4
_0215bc70:
cmp r0, #0x47
bne _0215bca4
_0215bc78:
cmp r7, #0x6e
bne _0215bc94
ldr r0, [sp, #0x14]
add r0, r0, #0x33
add r0, r0, #0x1300
str r0, [sp, #0x14]
b _0215bca4
_0215bc94:
ldr r0, [sp, #0x14]
cmp r0, #0
movlt r0, #0
strlt r0, [sp, #0x14]
_0215bca4:
mvn r0, #0
cmp r7, r0
beq _0215bd1c
ldrb r3, [r6]
ldr r0, [r8, #0x18c]
ldrb r1, [r6, #1]
ldr r0, [r0, r3, lsl #2]
ldr r0, [r0, r1, lsl #2]
cmp r0, #0
bne _0215bd10
str r1, [sp]
add r0, sp, #0x10
str r0, [sp, #4]
ldr r0, [sp, #0x38]
str r5, [sp, #8]
str r0, [sp, #0xc]
ldr r0, _0215bd2c ; =data_027e0f68
ldrb r2, [r8, #0x13]
ldr r0, [r0]
mov r1, r7
bl func_ov00_0208d6e0
ldrb r2, [r6]
ldr r3, [r8, #0x18c]
ldrb r1, [r6, #1]
ldr r2, [r3, r2, lsl #2]
str r0, [r2, r1, lsl #2]
b _0215bd1c
_0215bd10:
add sp, sp, #0x1c
mov r0, #0
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_0215bd1c:
mov r0, #1
add sp, sp, #0x1c
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov17_0215bbd4
_0215bd28: .word data_027e0e60
_0215bd2c: .word data_027e0f68
.global func_ov17_0215bd30
arm_func_start func_ov17_0215bd30
func_ov17_0215bd30: ; 0x0215bd30
stmdb sp!, {r3, r4, r5, lr}
ldr r2, [r0]
mov r5, r0
ldr r2, [r2, #0x78]
mov r4, r1
blx r2
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldrb r1, [r4]
ldr r2, [r5, #0x18c]
ldrb r0, [r4, #1]
ldr r1, [r2, r1, lsl #2]
mov r2, #0
str r2, [r1, r0, lsl #2]
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov17_0215bd30
.global func_ov17_0215bd74
arm_func_start func_ov17_0215bd74
func_ov17_0215bd74: ; 0x0215bd74
mov r0, #1
bx lr
arm_func_end func_ov17_0215bd74
.global func_ov17_0215bd7c
arm_func_start func_ov17_0215bd7c
func_ov17_0215bd7c: ; 0x0215bd7c
bx lr
arm_func_end func_ov17_0215bd7c
.global func_ov17_0215bd80
arm_func_start func_ov17_0215bd80
func_ov17_0215bd80: ; 0x0215bd80
stmdb sp!, {r4, lr}
mov r4, r0
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215bd80
.global func_ov17_0215bd94
arm_func_start func_ov17_0215bd94
func_ov17_0215bd94: ; 0x0215bd94
stmdb sp!, {r4, lr}
ldr r1, _0215bdc8 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xe8
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_0215bdcc
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215bd94
_0215bdc8: .word data_027e0f84
.global func_ov17_0215bdcc
arm_func_start func_ov17_0215bdcc
func_ov17_0215bdcc: ; 0x0215bdcc
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _0215be78 ; =data_ov00_020e26b4
mov r2, #0
ldr r0, _0215be7c ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r1, _0215be80 ; =data_ov00_020e2dd8
str r2, [r4, #0x48]
ldr r0, _0215be84 ; =data_ov17_0216badc
str r1, [r4, #0x38]
str r0, [r4]
str r2, [r4, #0x64]
str r2, [r4, #0x68]
sub r0, r2, #1
str r0, [r4, #0x6c]
ldr r0, _0215be88 ; =data_027e0f68
str r2, [r4, #0x70]
ldr r0, [r0]
mov r1, #0x37
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x74
bl func_ov17_0215c72c
mov r0, #0
str r0, [r4, #0xd4]
ldr r1, _0215be8c ; =func_ov00_020b7d74
add r0, r4, #0xd8
str r1, [sp]
mov r1, #4
mov r2, r1
ldr r3, _0215be90 ; =func_ov17_0215bf80
bl func_0204f614
mov r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_0215bdcc
_0215be78: .word data_ov00_020e26b4
_0215be7c: .word data_ov00_020e2f04
_0215be80: .word data_ov00_020e2dd8
_0215be84: .word data_ov17_0216badc
_0215be88: .word data_027e0f68
_0215be8c: .word func_ov00_020b7d74
_0215be90: .word func_ov17_0215bf80
.global func_ov17_0215be94
arm_func_start func_ov17_0215be94
func_ov17_0215be94: ; 0x0215be94
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a95ec
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215be94
.global func_ov17_0215bea8
arm_func_start func_ov17_0215bea8
func_ov17_0215bea8: ; 0x0215bea8
stmdb sp!, {r4, lr}
ldr r1, _0215bf04 ; =data_ov17_0216badc
mov r4, r0
ldr r0, _0215bf08 ; =data_027e0e58
str r1, [r4]
ldr r0, [r0]
add r1, r4, #0xd4
bl func_ov00_0207c444
mov r1, #4
ldr r3, _0215bf0c ; =func_ov00_020b7d74
mov r2, r1
add r0, r4, #0xd8
bl func_0204f754
add r0, r4, #0xd4
bl func_ov00_020b7d74
add r0, r4, #0x74
blx func_ov00_020a95ec
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215bea8
_0215bf04: .word data_ov17_0216badc
_0215bf08: .word data_027e0e58
_0215bf0c: .word func_ov00_020b7d74
.global func_ov17_0215bf10
arm_func_start func_ov17_0215bf10
func_ov17_0215bf10: ; 0x0215bf10
stmdb sp!, {r4, lr}
ldr r1, _0215bf74 ; =data_ov17_0216badc
mov r4, r0
ldr r0, _0215bf78 ; =data_027e0e58
str r1, [r4]
ldr r0, [r0]
add r1, r4, #0xd4
bl func_ov00_0207c444
mov r1, #4
ldr r3, _0215bf7c ; =func_ov00_020b7d74
mov r2, r1
add r0, r4, #0xd8
bl func_0204f754
add r0, r4, #0xd4
bl func_ov00_020b7d74
add r0, r4, #0x74
blx func_ov00_020a95ec
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215bf10
_0215bf74: .word data_ov17_0216badc
_0215bf78: .word data_027e0e58
_0215bf7c: .word func_ov00_020b7d74
.global func_ov17_0215bf80
arm_func_start func_ov17_0215bf80
func_ov17_0215bf80: ; 0x0215bf80
mov r1, #0
str r1, [r0]
bx lr
arm_func_end func_ov17_0215bf80
.global func_ov17_0215bf8c
arm_func_start func_ov17_0215bf8c
func_ov17_0215bf8c: ; 0x0215bf8c
stmdb sp!, {r4, lr}
sub sp, sp, #0x50
mov r4, r0
ldr r1, [r4, #0x18]
add r1, r1, #0x800
str r1, [r4, #0x18]
ldr r1, [r4, #0x20]
add r1, r1, #0x800
str r1, [r4, #0x20]
ldr r1, [r4, #4]
orr r1, r1, #0x14
str r1, [r4, #4]
bl func_ov00_0208c214
ldr r1, [r4, #4]
mov r0, #0xb
orr r1, r1, #0x800
str r1, [r4, #4]
add lr, r4, #0x18
strb r0, [r4, #0x12]
ldmia lr, {r0, r1, r2}
add ip, sp, #0x44
stmia ip, {r0, r1, r2}
ldmia lr, {r0, r1, r2}
add r3, sp, #0x38
stmia r3, {r0, r1, r2}
mov r2, #0x1000
mov r0, #0
str r0, [sp, #0x30]
add r1, sp, #0x2c
str r2, [sp, #0x2c]
str r2, [sp, #0x34]
mov r0, ip
mov r2, ip
bl func_01ff9bf8
mov r0, #0x1000
ldr r1, _0215c0f8 ; =0x00001333
str r0, [sp, #0x20]
str r0, [sp, #0x28]
add r0, sp, #0x38
str r1, [sp, #0x24]
add r1, sp, #0x20
mov r2, r0
bl func_01ff9bc4
mov r0, #0
bic r0, r0, #0x1f
orr r0, r0, #7
str r0, [sp, #4]
add r0, sp, #0x44
add lr, sp, #8
ldmia r0, {r0, r1, r2}
stmia lr, {r0, r1, r2}
add ip, sp, #0x38
add r3, sp, #0x14
ldmia ip, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r4
bl func_ov00_0208b9cc
mov r2, r0
mov r0, #0
str r0, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x14]
add r1, sp, #8
blx ip
ldr r0, [r4, #0x18]
sub r0, r0, #4
str r0, [r4, #0x18]
ldr r1, [r4, #0x20]
ldr r0, _0215c0fc ; =data_027e0e60
sub r1, r1, #4
str r1, [r4, #0x20]
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084cc8
cmp r0, #0
mov r0, r4
mov r2, #1
ldr r3, [r0]
beq _0215c0e4
ldr r3, [r3, #0x80]
mov r1, #5
blx r3
add sp, sp, #0x50
ldmia sp!, {r4, pc}
_0215c0e4:
ldr r3, [r3, #0x80]
mov r1, #0
blx r3
add sp, sp, #0x50
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215bf8c
_0215c0f8: .word 0x00001333
_0215c0fc: .word data_027e0e60
.global func_ov17_0215c100
arm_func_start func_ov17_0215c100
func_ov17_0215c100: ; 0x0215c100
stmdb sp!, {r4, lr}
sub sp, sp, #8
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
addeq sp, sp, #8
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #8]
cmp r0, #5
addls pc, pc, r0, lsl #2
b _0215c208
_0215c134: ; jump table
b _0215c208 ; case 0
b _0215c208 ; case 1
b _0215c208 ; case 2
b _0215c14c ; case 3
b _0215c184 ; case 4
b _0215c208 ; case 5
_0215c14c:
ldr r0, [r4, #0x64]
add r0, r0, #1
cmp r0, #0x3c
addlt sp, sp, #8
str r0, [r4, #0x64]
ldmltia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #4
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
add sp, sp, #8
ldmia sp!, {r4, pc}
_0215c184:
ldr r0, [r4, #0x64]
mov r1, r0, lsl #0xc
cmp r1, #0x1000
ldr r0, _0215c210 ; =0xffffed1f
ble _0215c1ac
ldr r2, [r4, #0x70]
sub r0, r0, r2
bl func_01ff98e0
ldr r1, [r4, #0x70]
add r0, r1, r0
_0215c1ac:
str r0, [r4, #0x70]
ldr r0, [r4, #0x64]
cmp r0, #0
bgt _0215c1dc
mov r0, r4
ldr r3, [r0]
mov r1, #5
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
add sp, sp, #8
ldmia sp!, {r4, pc}
_0215c1dc:
sub r0, r0, #1
str r0, [r4, #0x64]
ldrb r2, [r4, #0x15]
mov r1, #0
ldr r0, _0215c214 ; =data_027e0ffc
str r2, [sp]
str r1, [sp, #4]
ldrb r3, [r4, #0x14]
add r2, r4, #0x18
mov r1, #0x1b8
bl func_ov00_020cecd8
_0215c208:
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215c100
_0215c210: .word 0xffffed1f
_0215c214: .word data_027e0ffc
.global func_ov17_0215c218
arm_func_start func_ov17_0215c218
func_ov17_0215c218: ; 0x0215c218
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
ldr r3, [r4, #4]
mov r2, r1
tst r3, #0x10
ldmeqia sp!, {r3, r4, r5, pc}
ldr r1, [r4, #8]
cmp r1, #0
cmpne r1, #1
beq _0215c24c
cmp r1, #5
ldmeqia sp!, {r3, r4, r5, pc}
b _0215c268
_0215c24c:
mov r1, #0x3d
mov r5, #1
mov r0, r4
sub r3, r1, #0x3e
str r5, [sp]
bl func_ov00_0208bf28
ldmia sp!, {r3, r4, r5, pc}
_0215c268:
ldr lr, [r4, #0x68]
ldr ip, _0215c2b8 ; =0x88888889
mov r1, lr, lsr #0x1f
smull r3, r5, ip, lr
add r5, lr, r5
add r5, r1, r5, asr #4
mov ip, #0x1e
smull r1, r3, ip, r5
sub r5, lr, r1
cmp r5, #0xf
bge _0215c2a8
mov r1, #0x3d
mov ip, #1
sub r3, r1, #0x3e
str ip, [sp]
bl func_ov00_0208bf28
_0215c2a8:
ldr r0, [r4, #0x68]
add r0, r0, #1
str r0, [r4, #0x68]
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0215c218
_0215c2b8: .word 0x88888889
.global func_ov17_0215c2bc
arm_func_start func_ov17_0215c2bc
func_ov17_0215c2bc: ; 0x0215c2bc
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x108
mov r5, r0
mov r4, r2
str r1, [r5, #8]
cmp r1, #5
addls pc, pc, r1, lsl #2
b _0215c648
_0215c2dc: ; jump table
b _0215c2f4 ; case 0
b _0215c32c ; case 1
b _0215c398 ; case 2
b _0215c3d4 ; case 3
b _0215c4a4 ; case 4
b _0215c598 ; case 5
_0215c2f4:
mov r2, #0
str r2, [r5, #0x70]
mov r0, #1
strb r0, [r5, #0xd0]
mov r0, #0x1f
strb r0, [r5, #0xd1]
ldr r1, [r5, #4]
ldr r0, _0215c654 ; =data_027e0e60
orr r1, r1, #0x14
str r1, [r5, #4]
ldr r0, [r0]
add r1, r5, #0x38
bl func_ov00_020843ec
b _0215c648
_0215c32c:
ldr r1, [r5, #4]
add r0, sp, #0x58
bic r1, r1, #4
str r1, [r5, #4]
bl func_ov00_0209a4f4
mov r3, #0x12c
mov r2, #0x2d
mov r0, #3
str r3, [sp, #0x5c]
strb r2, [sp, #0x61]
strb r0, [sp, #0x62]
ldr r0, [r5, #0x1c]
ldr r1, _0215c658 ; =data_027e0f74
add r0, r0, #0x33
add r3, r0, #0x1300
ldr r0, [r1]
ldr r4, [r5, #0x20]
ldr r2, [r5, #0x18]
add r1, sp, #0x58
str r2, [sp, #0x78]
str r3, [sp, #0x7c]
str r4, [sp, #0x80]
bl func_ov00_02097810
str r0, [r5, #0x6c]
add r0, sp, #0x58
bl func_ov00_0209a508
b _0215c648
_0215c398:
mov r0, #0x40
str r0, [sp]
mov r0, #0x41
str r0, [sp, #4]
add r0, r5, #0x18
str r0, [sp, #8]
mov r1, #4
ldr r0, _0215c65c ; =data_027e0e58
str r1, [sp, #0xc]
ldr r0, [r0]
add r1, r5, #0xd8
mov r2, #0x3e
mov r3, #0x3f
bl func_ov00_0207c358
b _0215c648
_0215c3d4:
ldr r0, [r5, #4]
mov r1, #0
bic r0, r0, #4
str r0, [r5, #4]
str r1, [r5, #0x64]
str r1, [r5, #0x68]
str r1, [r5, #0x70]
str r1, [sp]
ldr r0, _0215c65c ; =data_027e0e58
str r1, [sp, #4]
ldr r0, [r0]
add r2, r5, #0x18
mov r1, #0x42
mov r3, #4
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
ldr r0, _0215c65c ; =data_027e0e58
str r1, [sp, #4]
ldr r0, [r0]
add r2, r5, #0x18
mov r1, #0x43
mov r3, #4
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
ldr r0, _0215c65c ; =data_027e0e58
str r1, [sp, #4]
ldr r0, [r0]
add r2, r5, #0x18
mov r1, #0x44
mov r3, #4
bl func_ov00_0207c1b0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0215c65c ; =data_027e0e58
mov r1, #0x45
ldr r0, [r0]
add r2, r5, #0x18
mov r3, #4
bl func_ov00_0207c1b0
add r2, r5, #0x18
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0215c65c ; =data_027e0e58
mov r1, #0x46
ldr r0, [r0]
mov r3, #4
bl func_ov00_0207c1b0
b _0215c648
_0215c4a4:
add r6, r5, #0xd8
add r4, r5, #0xe8
cmp r6, r4
beq _0215c4c8
_0215c4b4:
mov r0, r6
bl func_ov00_020b7e6c
add r6, r6, #4
cmp r6, r4
bne _0215c4b4
_0215c4c8:
mov r0, #0x3c
str r0, [r5, #0x64]
mov r1, #0
str r1, [r5, #0x70]
ldrb r0, [r5, #0x36]
cmp r0, #0
beq _0215c4ec
ldr r0, _0215c660 ; =data_027e0ffc
bl func_ov00_020ce8e4
_0215c4ec:
mov r4, #0
strb r4, [r5, #0xd0]
ldr r3, [r5, #0x20]
ldr r2, [r5, #0x1c]
ldr r1, [r5, #0x18]
ldr r0, _0215c664 ; =0x000014cd
str r3, [sp, #0x54]
str r0, [sp, #0x48]
str r1, [sp, #0x4c]
str r2, [sp, #0x50]
str r4, [sp, #0x40]
str r4, [sp, #0x44]
ldrh r4, [r5, #0xc]
ldr r3, _0215c668 ; =data_02050f54
add r0, sp, #0x10
mov r1, r4, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8aa0
add r0, sp, #0x40
add r1, sp, #0x10
mov r2, r0
bl func_01ff9158
add r0, sp, #0x4c
add r1, sp, #0x40
mov r2, r0
bl func_01ff9bc4
mov r0, #4
str r0, [sp]
ldr r0, _0215c65c ; =data_027e0e58
ldr r2, _0215c66c ; =0x0000022a
ldr r0, [r0]
add r1, r5, #0xd4
add r3, sp, #0x4c
bl func_ov00_0207c1f8
ldr r0, [r5, #0xd4]
cmp r0, #0
strneh r4, [r0, #0xa4]
b _0215c648
_0215c598:
ldr r0, [r5, #4]
mov r1, #0
bic r0, r0, #0x10
bic r0, r0, #4
str r0, [r5, #4]
strb r1, [r5, #0x3c]
ldr r0, _0215c654 ; =data_027e0e60
add r1, r5, #0x38
ldr r0, [r0]
mov r2, #1
bl func_ov00_020843ec
ldr r1, _0215c670 ; =0xffffed1f
mov r0, #0
str r1, [r5, #0x70]
strb r0, [r5, #0xd0]
strb r0, [r5, #0xd1]
sub r0, r0, #1
str r0, [r5, #0x6c]
cmp r4, #0
bne _0215c648
ldr r0, [r5, #0xd4]
cmp r0, #0
beq _0215c5fc
add r0, r5, #0xd4
bl func_ov00_020b7e6c
_0215c5fc:
ldr r0, _0215c660 ; =data_027e0ffc
ldr r1, _0215c674 ; =0x000001b9
add r2, r5, #0x18
mov r3, #0
bl func_ov00_020ceacc
mov r0, r5
mov r1, #0
bl func_ov00_0208b9e4
cmp r0, #0
bne _0215c634
mov r0, r5
mov r1, #0
mov r2, #1
bl func_ov00_0208ba08
_0215c634:
ldr r0, _0215c654 ; =data_027e0e60
ldrsh r1, [r5, #0x34]
ldr r0, [r0]
mov r2, #1
bl func_ov00_02084cb0
_0215c648:
mov r0, #1
add sp, sp, #0x108
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov17_0215c2bc
_0215c654: .word data_027e0e60
_0215c658: .word data_027e0f74
_0215c65c: .word data_027e0e58
_0215c660: .word data_027e0ffc
_0215c664: .word 0x000014cd
_0215c668: .word data_02050f54
_0215c66c: .word 0x0000022a
_0215c670: .word 0xffffed1f
_0215c674: .word 0x000001b9
.global func_ov17_0215c678
arm_func_start func_ov17_0215c678
func_ov17_0215c678: ; 0x0215c678
stmdb sp!, {r3, lr}
ldr r1, [r0, #8]
cmp r1, #3
ldmgeia sp!, {r3, pc}
ldr r3, [r0]
mov r1, #3
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r3, pc}
arm_func_end func_ov17_0215c678
.global func_ov17_0215c6a0
arm_func_start func_ov17_0215c6a0
func_ov17_0215c6a0: ; 0x0215c6a0
mov r0, #1
bx lr
arm_func_end func_ov17_0215c6a0
.global func_ov17_0215c6a8
arm_func_start func_ov17_0215c6a8
func_ov17_0215c6a8: ; 0x0215c6a8
stmdb sp!, {r3, lr}
ldr r1, [r0, #8]
cmp r1, #0
bne _0215c6d4
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
mov r0, #0
ldmia sp!, {r3, pc}
_0215c6d4:
mvn r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov17_0215c6a8
.global func_ov17_0215c6dc
arm_func_start func_ov17_0215c6dc
func_ov17_0215c6dc: ; 0x0215c6dc
mov r0, #0x1800
bx lr
arm_func_end func_ov17_0215c6dc
.global func_ov17_0215c6e4
arm_func_start func_ov17_0215c6e4
func_ov17_0215c6e4: ; 0x0215c6e4
stmdb sp!, {lr}
sub sp, sp, #0xc
ldr r3, [r0, #0x1c]
ldr r2, [r0, #0x70]
ldr ip, [r0, #0x20]
ldr r1, [r0, #0x18]
add r2, r3, r2
str r1, [sp]
str ip, [sp, #8]
str r2, [sp, #4]
ldr r2, [r0, #0x74]!
add r1, sp, #0
ldr r2, [r2, #0x18]
blx r2
add sp, sp, #0xc
ldmia sp!, {pc}
arm_func_end func_ov17_0215c6e4
.global func_ov17_0215c724
arm_func_start func_ov17_0215c724
func_ov17_0215c724: ; 0x0215c724
mov r0, #0x21
bx lr
arm_func_end func_ov17_0215c724
.global func_ov17_0215c72c
arm_func_start func_ov17_0215c72c
func_ov17_0215c72c: ; 0x0215c72c
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a956c
ldr r0, _0215c764 ; =data_ov17_0216bb70
mov r2, #1
str r0, [r4]
mov r0, r4
strb r2, [r4, #0x5c]
mov r3, #0x1f
mov r1, #4
strb r3, [r4, #0x5d]
bl func_ov00_020a9998
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215c72c
_0215c764: .word data_ov17_0216bb70
.global func_ov17_0215c768
arm_func_start func_ov17_0215c768
func_ov17_0215c768: ; 0x0215c768
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r5, r1
ldr r1, [r5, #8]
mov r6, r0
tst r1, #4
ldrneb r7, [r5, #0xac]
ldr r0, [r5, #8]
ldr r1, _0215c804 ; =data_ov17_0216b098
mvneq r7, #0
tst r0, #8
ldr r0, [r5, #4]
ldrneb r4, [r5, #0xad]
ldr r0, [r0, #4]
add r0, r0, #0x40
mvneq r4, #0
bl func_0201e388
cmp r7, r0
bne _0215c7ec
ldr r0, _0215c808 ; =data_ov00_020e9360
mov r1, #2
bl func_ov00_02079e68
ldr r1, [r5, #4]
mov r7, r0
ldr r0, [r1, #4]
ldrb r2, [r6, #0x5d]
mov r1, r4
bl func_02019570
ldr r0, [r5, #4]
mov r1, r4
ldr r0, [r0, #4]
mov r2, r7
bl func_02019534
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0215c7ec:
ldr r0, [r5, #4]
mov r1, r4
ldr r0, [r0, #4]
mov r2, #0x1f
bl func_02019570
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov17_0215c768
_0215c804: .word data_ov17_0216b098
_0215c808: .word data_ov00_020e9360
.global func_ov17_0215c80c
arm_func_start func_ov17_0215c80c
func_ov17_0215c80c: ; 0x0215c80c
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a95ec
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215c80c
.global func_ov17_0215c828
arm_func_start func_ov17_0215c828
func_ov17_0215c828: ; 0x0215c828
stmdb sp!, {r4, lr}
ldr r1, _0215c85c ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xc4
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_0215c860
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215c828
_0215c85c: .word data_027e0f84
.global func_ov17_0215c860
arm_func_start func_ov17_0215c860
func_ov17_0215c860: ; 0x0215c860
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _0215c8d8 ; =data_ov00_020e2748
ldr r0, _0215c8dc ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r1, #0
strb r1, [r4, #0x3d]
str r1, [r4, #0x40]
str r1, [r4, #0x44]
ldr r0, _0215c8e0 ; =data_ov00_020e2e3c
str r1, [r4, #0x48]
str r0, [r4, #0x38]
str r1, [r4, #0x58]
str r1, [r4, #0x4c]
str r1, [r4, #0x50]
ldr r2, _0215c8e4 ; =data_ov17_0216bbb8
str r1, [r4, #0x54]
add r0, r4, #0x60
str r2, [r4]
blx func_ov00_020a9588
mov r0, #0
str r0, [r4, #0xbc]
sub r1, r0, #1
mov r0, r4
str r1, [r4, #0xc0]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215c860
_0215c8d8: .word data_ov00_020e2748
_0215c8dc: .word data_ov00_020e2f04
_0215c8e0: .word data_ov00_020e2e3c
_0215c8e4: .word data_ov17_0216bbb8
.global func_ov17_0215c8e8
arm_func_start func_ov17_0215c8e8
func_ov17_0215c8e8: ; 0x0215c8e8
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x60
blx func_ov00_020a95a4
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215c8e8
.global func_ov17_0215c910
arm_func_start func_ov17_0215c910
func_ov17_0215c910: ; 0x0215c910
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x60
blx func_ov00_020a95a4
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215c910
.global func_ov17_0215c940
arm_func_start func_ov17_0215c940
func_ov17_0215c940: ; 0x0215c940
stmdb sp!, {r4, lr}
sub sp, sp, #0x20
mov r4, r0
ldr r1, [r4, #4]
orr r1, r1, #0x14
str r1, [r4, #4]
bl func_ov00_0208c214
mov r0, #0xa
strb r0, [r4, #0x12]
ldrh r0, [r4, #0x2a]
cmp r0, #1
bne _0215c9c4
ldr r0, [r4, #0x18]
ldr r1, _0215ca64 ; =data_027e0e60
add r0, r0, #0x3fc
add r0, r0, #0x400
str r0, [r4, #0x18]
ldrb r3, [r4, #0x15]
ldrb r2, [r4, #0x14]
ldr r0, [r1]
add r1, sp, #4
strb r2, [sp, #4]
mov r2, #1
strb r3, [sp, #5]
bl func_ov00_020826a0
ldrb r2, [sp, #4]
ldr r0, _0215ca64 ; =data_027e0e60
add r1, sp, #4
add r3, r2, #1
ldr r0, [r0]
mov r2, #1
strb r3, [sp, #4]
bl func_ov00_020826a0
_0215c9c4:
ldrh r0, [r4, #0x26]
mov r1, #0x24
cmp r0, #3
strlo r0, [r4, #0xbc]
ldr r0, _0215ca68 ; =data_027e0f68
ldr r2, [r4, #0xbc]
ldr r0, [r0]
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x60
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, [r4, #0x18]
mov r1, #0
str r0, [sp, #0xc]
ldr r0, [r4, #0x1c]
ldr r2, _0215ca6c ; =0x000004cd
str r0, [sp, #0x10]
bic r0, r1, #0x1f
ldr r3, [r4, #0x20]
orr r0, r0, #7
rsb r1, r2, #0x1800
str r0, [sp, #8]
mov r0, r4
str r3, [sp, #0x14]
str r2, [sp, #0x18]
str r1, [sp, #0x1c]
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r4, #0x38
ldr r4, [r0]
ldr r3, [sp, #8]
ldr r4, [r4, #0x10]
add r1, sp, #0xc
blx r4
add sp, sp, #0x20
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215c940
_0215ca64: .word data_027e0e60
_0215ca68: .word data_027e0f68
_0215ca6c: .word 0x000004cd
.global func_ov17_0215ca70
arm_func_start func_ov17_0215ca70
func_ov17_0215ca70: ; 0x0215ca70
stmdb sp!, {r4, lr}
sub sp, sp, #0x10
mov r4, r0
ldrh r0, [r4, #0x24]
cmp r0, #1
bne _0215cabc
ldr r0, _0215cba0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084cc8
cmp r0, #0
bne _0215cabc
mov r0, r4
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
b _0215cb84
_0215cabc:
add r1, sp, #0
mov r0, r4
bl func_ov17_0215ce24
cmp r0, #0
beq _0215cb6c
ldr r0, [sp]
str r0, [r4, #0xc0]
ldrb r0, [r4, #0x2f]
cmp r0, #0
beq _0215cb50
mov r0, r4
mov r1, #1
bl func_ov00_0208b9e4
cmp r0, #0
bne _0215cb50
ldr r0, _0215cba4 ; =data_027e0fe4
ldr r1, [r4, #0xc0]
ldr r0, [r0]
bl func_ov00_020c35d8
cmp r0, #0
beq _0215cb34
ldr r1, [r4, #0x20]
ldr r3, [r4, #0x1c]
ldr r2, [r4, #0x18]
add ip, r1, #0x1000
add r1, sp, #4
str r2, [sp, #4]
str r3, [sp, #8]
str ip, [sp, #0xc]
bl func_ov17_0215f908
_0215cb34:
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
b _0215cb84
_0215cb50:
mov r0, r4
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
b _0215cb84
_0215cb6c:
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
_0215cb84:
ldr r0, _0215cba0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
mov r2, #1
bl func_ov00_02084cb0
add sp, sp, #0x10
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215ca70
_0215cba0: .word data_027e0e60
_0215cba4: .word data_027e0fe4
.global func_ov17_0215cba8
arm_func_start func_ov17_0215cba8
func_ov17_0215cba8: ; 0x0215cba8
stmdb sp!, {r3, lr}
ldr r2, [r0]
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov17_0215cba8
.global func_ov17_0215cbc0
arm_func_start func_ov17_0215cbc0
func_ov17_0215cbc0: ; 0x0215cbc0
ldr r0, [r0, #4]
tst r0, #0x10
bx lr
arm_func_end func_ov17_0215cbc0
.global func_ov17_0215cbcc
arm_func_start func_ov17_0215cbcc
func_ov17_0215cbcc: ; 0x0215cbcc
stmdb sp!, {r4, lr}
ldr r1, [r0, #4]
tst r1, #2
mvneq r0, #0
ldmeqia sp!, {r4, pc}
ldr r4, [r0, #0xc0]
cmp r4, #0
mvnlt r0, #0
ldmltia sp!, {r4, pc}
mvn r1, #0
str r1, [r0, #0xc0]
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215cbcc
.global func_ov17_0215cc14
arm_func_start func_ov17_0215cc14
func_ov17_0215cc14: ; 0x0215cc14
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
ldr r0, [r5, #4]
mov r4, r1
tst r0, #0x100
mvneq r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r0, [r5, #0xc0]
cmp r0, #0
mvnge r0, #0
ldmgeia sp!, {r3, r4, r5, pc}
ldr r0, _0215cca8 ; =data_027e0fe4
ldr r0, [r0]
bl func_ov00_020c35d8
cmp r0, #0
mvneq r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r2, [r0, #4]
ldr r1, _0215ccac ; =0x43525953
cmp r2, r1
bne _0215cca0
ldrh r0, [r0, #0x22]
ldr r1, [r5, #0xbc]
cmp r1, r0
mvnne r0, #0
ldmneia sp!, {r3, r4, r5, pc}
mov r0, r5
str r4, [r5, #0xc0]
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
_0215cca0:
mvn r0, #0
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0215cc14
_0215cca8: .word data_027e0fe4
_0215ccac: .word 0x43525953
.global func_ov17_0215ccb0
arm_func_start func_ov17_0215ccb0
func_ov17_0215ccb0: ; 0x0215ccb0
stmdb sp!, {r3, lr}
ldr r2, [r0, #8]
cmp r2, #0
beq _0215cccc
cmp r2, #1
beq _0215ccdc
b _0215ccec
_0215cccc:
ldr r2, [r0]
ldr r2, [r2, #0x2c]
blx r2
ldmia sp!, {r3, pc}
_0215ccdc:
ldr r1, [r0]
ldr r1, [r1, #0x28]
blx r1
ldmia sp!, {r3, pc}
_0215ccec:
mvn r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov17_0215ccb0
.global func_ov17_0215ccf4
arm_func_start func_ov17_0215ccf4
func_ov17_0215ccf4: ; 0x0215ccf4
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x30
mov r4, r0
mov r5, r2
str r1, [r4, #8]
cmp r1, #0
beq _0215cd1c
cmp r1, #1
beq _0215cd4c
b _0215cde8
_0215cd1c:
mov r1, #0
mov r2, r1
bl func_ov00_0208ba08
mov r0, #0xa
strb r0, [r4, #0x12]
ldr r1, [r4, #4]
sub r0, r0, #0xb
bic r1, r1, #2
orr r1, r1, #0x100
str r1, [r4, #4]
str r0, [r4, #0xc0]
b _0215cde8
_0215cd4c:
cmp r5, #0
beq _0215cda4
add r0, sp, #4
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #4
str r1, [sp, #0x20]
str r1, [sp, #0x24]
bl func_ov00_020c3348
mov r0, #1
strh r0, [sp, #4]
ldr r0, [r4, #0xbc]
mov r1, #0
strh r0, [sp, #6]
str r1, [sp]
ldr r0, _0215cdf4 ; =data_027e0fe8
ldr r1, _0215cdf8 ; =0x43525953
ldr r0, [r0]
add r3, sp, #4
add r2, r4, #0x18
bl func_ov00_020c4048
str r0, [r4, #0xc0]
_0215cda4:
cmp r5, #0
bne _0215cdc0
ldr r0, _0215cdfc ; =data_027e0ffc
ldr r1, _0215ce00 ; =0x0000034a
add r2, r4, #0x18
mov r3, #0
bl func_ov00_020ceacc
_0215cdc0:
mov r0, r4
mov r1, #0
mov r2, #1
bl func_ov00_0208ba08
mov r0, #0
strb r0, [r4, #0x12]
ldr r0, [r4, #4]
orr r0, r0, #2
bic r0, r0, #0x100
str r0, [r4, #4]
_0215cde8:
mov r0, #1
add sp, sp, #0x30
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0215ccf4
_0215cdf4: .word data_027e0fe8
_0215cdf8: .word 0x43525953
_0215cdfc: .word data_027e0ffc
_0215ce00: .word 0x0000034a
.global func_ov17_0215ce04
arm_func_start func_ov17_0215ce04
func_ov17_0215ce04: ; 0x0215ce04
stmdb sp!, {r3, lr}
mov r1, r0
add r0, r1, #0x60
ldr r2, [r0]
add r1, r1, #0x18
ldr r2, [r2, #0x18]
blx r2
ldmia sp!, {r3, pc}
arm_func_end func_ov17_0215ce04
.global func_ov17_0215ce24
arm_func_start func_ov17_0215ce24
func_ov17_0215ce24: ; 0x0215ce24
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0xc
ldr r2, _0215cee0 ; =data_027e0fe4
mov r5, r0
mov r4, r1
ldr r1, [r2]
ldr r2, _0215cee4 ; =0x43525953
add r0, sp, #4
add r3, r5, #0x18
bl func_ov00_020c38fc
ldr r1, [sp, #4]
mvn r0, #0
cmp r1, r0
addeq sp, sp, #0xc
moveq r0, #0
ldmeqia sp!, {r4, r5, pc}
ldr r0, _0215cee0 ; =data_027e0fe4
add r1, sp, #4
ldr r0, [r0]
bl func_ov00_020c3674
movs r2, r0
addeq sp, sp, #0xc
moveq r0, #0
ldmeqia sp!, {r4, r5, pc}
ldrh r0, [r2, #0x22]
ldr r1, [r5, #0xbc]
cmp r1, r0
addne sp, sp, #0xc
movne r0, #0
ldmneia sp!, {r4, r5, pc}
ldr r1, [sp, #4]
ldr r0, _0215cee8 ; =data_027e0e60
str r1, [r4]
ldr r1, [r0]
add r0, sp, #0
add r2, r2, #0x48
bl func_ov00_02083a1c
ldrb r1, [sp]
ldrb r0, [r5, #0x14]
cmp r1, r0
ldreqb r1, [sp, #1]
ldreqb r0, [r5, #0x15]
cmpeq r1, r0
moveq r0, #1
movne r0, #0
add sp, sp, #0xc
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0215ce24
_0215cee0: .word data_027e0fe4
_0215cee4: .word 0x43525953
_0215cee8: .word data_027e0e60
.global func_ov17_0215ceec
arm_func_start func_ov17_0215ceec
func_ov17_0215ceec: ; 0x0215ceec
mov r0, #0x49
bx lr
arm_func_end func_ov17_0215ceec
.global func_ov17_0215cef4
arm_func_start func_ov17_0215cef4
func_ov17_0215cef4: ; 0x0215cef4
stmdb sp!, {r3, lr}
ldr r1, _0215cf20 ; =data_027e0fe0
mov r0, #0x238
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov17_0215cf24
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0215cef4
_0215cf20: .word data_027e0fe0
.global func_ov17_0215cf24
arm_func_start func_ov17_0215cf24
func_ov17_0215cf24: ; 0x0215cf24
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020d4414
ldr r1, _0215cf90 ; =data_ov17_0216bcc4
ldr r0, _0215cf94 ; =gItemManager
str r1, [r4]
ldr r0, [r0]
mov r1, #1
bl _ZN11ItemManager19GetDungeonItemModelEj
mov r1, r0
add r0, r4, #0x188
blx func_ov00_020a9588
ldr r0, _0215cf98 ; =data_027e0d0c
add r3, r4, #0x208
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, #0
str r0, [r4, #0x214]
str r0, [r4, #0x218]
str r0, [r4, #0x21c]
str r0, [r4, #0x220]
str r0, [r4, #0x228]
strb r0, [r4, #0x233]
mov r1, #1
mov r0, r4
strb r1, [r4, #0x234]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215cf24
_0215cf90: .word data_ov17_0216bcc4
_0215cf94: .word gItemManager
_0215cf98: .word data_027e0d0c
.global func_ov17_0215cf9c
arm_func_start func_ov17_0215cf9c
func_ov17_0215cf9c: ; 0x0215cf9c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x220
bl func_ov00_020b7d74
add r0, r4, #0x21c
bl func_ov00_020b7d74
add r0, r4, #0x218
bl func_ov00_020b7d74
add r0, r4, #0x214
bl func_ov00_020b7d74
add r0, r4, #0x188
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_020d4478
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215cf9c
.global func_ov17_0215cfdc
arm_func_start func_ov17_0215cfdc
func_ov17_0215cfdc: ; 0x0215cfdc
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x220
bl func_ov00_020b7d74
add r0, r4, #0x21c
bl func_ov00_020b7d74
add r0, r4, #0x218
bl func_ov00_020b7d74
add r0, r4, #0x214
bl func_ov00_020b7d74
add r0, r4, #0x188
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_020d4478
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215cfdc
.global func_ov17_0215d024
arm_func_start func_ov17_0215d024
func_ov17_0215d024: ; 0x0215d024
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020d4494
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
mov r0, #8
ldr r2, _0215d0ec ; =0x0000059a
strb r0, [r4, #0x125]
mov r0, #0
str r0, [r4, #0x7c]
str r2, [r4, #0x80]
str r0, [r4, #0x84]
str r2, [r4, #0x88]
str r0, [r4, #0x8c]
add r1, r2, #0xcc
str r1, [r4, #0x90]
str r0, [r4, #0x94]
str r1, [r4, #0x98]
add r1, r2, #0x10c
str r1, [r4, #0x17c]
str r0, [r4, #0xa8]
str r0, [r4, #0xac]
str r0, [r4, #0xb0]
add r1, r2, #0x1000
str r1, [r4, #0xb4]
add r1, r4, #0x100
mov r2, #0x400
strh r2, [r1, #0x80]
mov r2, #0x1f
strh r2, [r4, #0x7a]
mov r1, #0x7b
str r1, [r4, #0x6c]
strb r2, [r4, #0x232]
ldr r1, [r4, #0x34]
cmp r1, #0
bne _0215d0cc
ldr r2, _0215d0f0 ; =0x00007fff
add r1, r4, #0x200
strh r2, [r1, #0x2c]
str r0, [r4, #0x228]
b _0215d0dc
_0215d0cc:
add r1, r4, #0x200
ldr r2, _0215d0f4 ; =0x000008cd
strh r0, [r1, #0x2c]
str r2, [r4, #0x228]
_0215d0dc:
mov r0, r4
bl func_ov17_0215d0f8
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215d024
_0215d0ec: .word 0x0000059a
_0215d0f0: .word 0x00007fff
_0215d0f4: .word 0x000008cd
.global func_ov17_0215d0f8
arm_func_start func_ov17_0215d0f8
func_ov17_0215d0f8: ; 0x0215d0f8
ldr r1, _0215d110 ; =data_ov17_0216bc64
ldr r2, [r1, #0x20]
ldr r1, [r1, #0x24]
str r2, [r0, #0x1e4]
str r1, [r0, #0x1e8]
bx lr
.align 2, 0
arm_func_end func_ov17_0215d0f8
_0215d110: .word data_ov17_0216bc64
.global func_ov17_0215d114
arm_func_start func_ov17_0215d114
func_ov17_0215d114: ; 0x0215d114
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0xc
mov r4, r0
ldr r1, _0215d468 ; =0x000008cd
ldr r2, _0215d46c ; =0x0000019a
add r0, r4, #0x228
bl Approach_thunk
mov r0, r4
bl func_ov00_020c3070
ldr r0, [r4, #0x60]
cmp r0, #0
blt _0215d16c
ldr r1, _0215d470 ; =0xfffffe3d
mvn r2, #0
umull ip, r3, r0, r1
mla r3, r0, r2, r3
mov r2, r0, asr #0x1f
mla r3, r2, r1, r3
mov r1, ip, lsr #0xc
orr r1, r1, r3, lsl #20
add r0, r0, r1
b _0215d190
_0215d16c:
ldr r1, _0215d474 ; =0x000001c3
mov r2, #0
umull ip, r3, r0, r1
mla r3, r0, r2, r3
mov r2, r0, asr #0x1f
mla r3, r2, r1, r3
mov r1, ip, lsr #0xc
orr r1, r1, r3, lsl #20
sub r0, r0, r1
_0215d190:
str r0, [r4, #0x60]
ldr r0, [r4, #0x68]
cmp r0, #0
blt _0215d1c8
ldr r1, _0215d470 ; =0xfffffe3d
mvn r2, #0
umull ip, r3, r0, r1
mla r3, r0, r2, r3
mov r2, r0, asr #0x1f
mla r3, r2, r1, r3
mov r1, ip, lsr #0xc
orr r1, r1, r3, lsl #20
add r0, r0, r1
b _0215d1ec
_0215d1c8:
ldr r1, _0215d474 ; =0x000001c3
mov r2, #0
umull ip, r3, r0, r1
mla r3, r0, r2, r3
mov r2, r0, asr #0x1f
mla r3, r2, r1, r3
mov r1, ip, lsr #0xc
orr r1, r1, r3, lsl #20
sub r0, r0, r1
_0215d1ec:
str r0, [r4, #0x68]
add r0, r4, #0x48
add r1, r4, #0x60
mov r2, r0
bl func_01ff9bc4
add r0, r4, #0x48
add r1, r4, #0x208
mov r2, r0
bl func_01ff9bc4
ldr r3, _0215d478 ; =data_027e0d0c
ldr r1, _0215d47c ; =data_027e0e60
ldr r2, [r3]
add r0, sp, #0
str r2, [r4, #0x208]
ldr ip, [r3, #4]
add r2, r4, #0x48
str ip, [r4, #0x20c]
ldr r3, [r3, #8]
str r3, [r4, #0x210]
ldr r1, [r1]
bl func_ov00_02083a1c
ldr r0, [r4, #0x68]
ldr r1, [r4, #0x60]
cmp r0, #0
rsblt r0, r0, #0
cmp r1, #0
rsblt r1, r1, #0
add r0, r1, r0
cmp r0, #0xcd
blt _0215d288
add r0, sp, #4
mov r1, r4
bl func_ov00_020c23c4
ldr r1, [sp, #4]
mvn r0, #0
cmp r1, r0
movne r0, #0
strne r0, [r4, #0x60]
strne r0, [r4, #0x68]
_0215d288:
ldrb r0, [r4, #0x111]
mov r6, #1
cmp r0, #0
ldreqb r0, [r4, #0x115]
cmpeq r0, #0
mov r0, r4
moveq r6, #0
bl func_ov00_020d4b54
ldrb r1, [r4, #0x234]
mov r5, r0
cmp r1, #0
cmpeq r6, #0
bne _0215d2ec
ldrb r0, [r4, #0x111]
cmp r0, #0
ldreqb r0, [r4, #0x115]
cmpeq r0, #0
beq _0215d2ec
mov ip, #1
ldr r0, _0215d480 ; =data_027e0ffc
add r1, ip, #0x470
add r2, r4, #0x48
mov r3, #0
strb ip, [r4, #0x234]
bl func_ov00_020ceacc
_0215d2ec:
ldrb r0, [r4, #0x182]
cmp r0, #0
addne sp, sp, #0xc
ldmneia sp!, {r3, r4, r5, r6, pc}
cmp r5, #0
bne _0215d3b8
ldrb r0, [r4, #0x111]
cmp r0, #0
addeq sp, sp, #0xc
ldmeqia sp!, {r3, r4, r5, r6, pc}
ldrb r0, [r4, #0x115]
cmp r0, #0
addne sp, sp, #0xc
ldmneia sp!, {r3, r4, r5, r6, pc}
mov r0, r4
mov r5, #0
bl func_ov00_020d485c
cmp r0, #0
bne _0215d364
ldrb r0, [r4, #0x233]
cmp r0, #0
bne _0215d360
mov r0, r4
ldr r2, [r0]
mov r1, r5
ldr r2, [r2, #0xbc]
blx r2
cmp r0, #0
beq _0215d364
_0215d360:
mov r5, #1
_0215d364:
ldr r1, _0215d478 ; =data_027e0d0c
add r0, r4, #0x60
mov r2, #0x3d
bl func_0202b2e8
cmp r0, #0
beq _0215d3a8
cmp r5, #0
movne r0, #1
addne sp, sp, #0xc
strneb r0, [r4, #0x233]
ldmneia sp!, {r3, r4, r5, r6, pc}
mov r0, r4
mov r1, #0x1e
mov r2, #0x5000
bl func_ov00_020d454c
add sp, sp, #0xc
ldmia sp!, {r3, r4, r5, r6, pc}
_0215d3a8:
mov r0, #0
add sp, sp, #0xc
strb r0, [r4, #0x233]
ldmia sp!, {r3, r4, r5, r6, pc}
_0215d3b8:
ldr r1, [r4, #0x48]
ldr r0, [r4, #0x54]
cmp r1, r0
ldreq r1, [r4, #0x4c]
ldreq r0, [r4, #0x58]
cmpeq r1, r0
ldreq r1, [r4, #0x50]
ldreq r0, [r4, #0x5c]
cmpeq r1, r0
ldreq r0, [r4, #0x60]
cmpeq r0, #0
ldreq r0, [r4, #0x64]
cmpeq r0, #0
ldreq r0, [r4, #0x68]
cmpeq r0, #0
bne _0215d458
mov r0, r4
bl func_ov00_020d485c
cmp r0, #0
bne _0215d440
ldrb r0, [r4, #0x233]
cmp r0, #0
bne _0215d430
mov r0, r4
ldr r2, [r0]
mov r1, #0
ldr r2, [r2, #0xbc]
blx r2
cmp r0, #0
beq _0215d440
_0215d430:
mov r0, #1
add sp, sp, #0xc
strb r0, [r4, #0x233]
ldmia sp!, {r3, r4, r5, r6, pc}
_0215d440:
mov r0, r4
mov r1, #0x1e
mov r2, #0x5000
bl func_ov00_020d454c
add sp, sp, #0xc
ldmia sp!, {r3, r4, r5, r6, pc}
_0215d458:
mov r0, #0
strb r0, [r4, #0x233]
add sp, sp, #0xc
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov17_0215d114
_0215d468: .word 0x000008cd
_0215d46c: .word 0x0000019a
_0215d470: .word 0xfffffe3d
_0215d474: .word 0x000001c3
_0215d478: .word data_027e0d0c
_0215d47c: .word data_027e0e60
_0215d480: .word data_027e0ffc
.global func_ov17_0215d484
arm_func_start func_ov17_0215d484
func_ov17_0215d484: ; 0x0215d484
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r4, r0
ldr r1, [r4, #0x224]
cmp r1, #0
ble _0215d608
sub r0, r1, #1
str r0, [r4, #0x224]
mov r1, #0x14
bl func_01ff98e0
ldr r2, [r4, #0x1fc]
rsb r3, r0, #0x1000
smull r5, r6, r2, r0
adds r7, r5, #0x800
ldr r1, [r4, #0x1f0]
rsb lr, r3, #0x800
smull r5, r2, r1, r3
adc r6, r6, #0
adds r5, r5, #0x800
mov r7, r7, lsr #0xc
adc r1, r2, #0
mov r2, r5, lsr #0xc
orr r7, r7, r6, lsl #20
orr r2, r2, r1, lsl #20
add r1, r7, r2
str r1, [r4, #0x48]
ldr r2, [r4, #0x200]
mul ip, lr, lr
smull r6, r1, r2, r0
adds r2, r6, #0x800
ldr r5, [r4, #0x1f4]
adc r7, r1, #0
smull r6, lr, r5, r3
adds r5, r6, #0x800
mov r6, r2, lsr #0xc
adc r1, lr, #0
mov r2, r5, lsr #0xc
add ip, ip, #0x800
mov ip, ip, asr #0xc
mov ip, ip, lsl #0x2
rsb ip, ip, #0x1000
orr r6, r6, r7, lsl #20
orr r2, r2, r1, lsl #20
add r1, r6, r2
str r1, [r4, #0x4c]
ldr r2, [r4, #0x204]
ldr r1, [r4, #0x1f8]
smull r0, lr, r2, r0
adds r5, r0, #0x800
smull r2, r0, r1, r3
adc r3, lr, #0
adds r1, r2, #0x800
mov r2, r5, lsr #0xc
adc r0, r0, #0
mov r1, r1, lsr #0xc
orr r2, r2, r3, lsl #20
orr r1, r1, r0, lsl #20
add r0, r2, r1
str r0, [r4, #0x50]
mov ip, ip, lsl #0xc
ldr r1, [r4, #0x4c]
add r0, ip, #0x800
add r0, r1, r0, asr #12
str r0, [r4, #0x4c]
add r0, r4, #0x200
ldr r1, [r4, #0x224]
ldrsh r2, [r0, #0x30]
mov r1, r1, lsl #0xc
cmp r1, #0x1000
strleh r2, [r4, #0x78]
ble _0215d5c0
ldrsh r0, [r4, #0x78]
sub r0, r2, r0
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x4
bl func_01ff98e0
ldrsh r1, [r4, #0x78]
add r0, r0, #0x800
add r0, r1, r0, asr #12
strh r0, [r4, #0x78]
_0215d5c0:
add r0, r4, #0x200
ldr r1, [r4, #0x224]
ldrsh r2, [r0, #0x2e]
mov r1, r1, lsl #0xc
cmp r1, #0x1000
strleh r2, [r0, #0x2c]
ldmleia sp!, {r3, r4, r5, r6, r7, pc}
ldrsh r0, [r0, #0x2c]
sub r0, r2, r0
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x4
bl func_01ff98e0
add r1, r4, #0x200
ldrsh r2, [r1, #0x2c]
add r0, r0, #0x800
add r0, r2, r0, asr #12
strh r0, [r1, #0x2c]
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0215d608:
bl func_ov17_0215d610
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end func_ov17_0215d484
.global func_ov17_0215d610
arm_func_start func_ov17_0215d610
func_ov17_0215d610: ; 0x0215d610
mov r2, #0xf
ldr r1, _0215d630 ; =data_ov17_0216bc64
str r2, [r0, #0x224]
ldr r2, [r1, #0x30]
ldr r1, [r1, #0x34]
str r2, [r0, #0x1e4]
str r1, [r0, #0x1e8]
bx lr
.align 2, 0
arm_func_end func_ov17_0215d610
_0215d630: .word data_ov17_0216bc64
.global func_ov17_0215d634
arm_func_start func_ov17_0215d634
func_ov17_0215d634: ; 0x0215d634
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x224]
cmp r0, #0
subgt r0, r0, #1
strgt r0, [r4, #0x224]
ldmgtia sp!, {r4, pc}
add r0, r4, #0x200
ldrsh r1, [r0, #0x30]
add r0, r4, #0x78
mov r2, #0x400
add r1, r1, #0x4000
mov r1, r1, lsl #0x10
mov r1, r1, asr #0x10
bl func_0202b154
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
bl func_ov17_0215d684
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215d634
.global func_ov17_0215d684
arm_func_start func_ov17_0215d684
func_ov17_0215d684: ; 0x0215d684
mov r1, #0x28
str r1, [r0, #0x224]
ldr r1, [r0, #0x1f4]
ldr r2, _0215d6bc ; =data_ov17_0216bc64
sub r3, r1, #0x7b
sub r3, r3, #0x2400
add r1, r3, #0x9a
add r1, r1, #0x1900
str r1, [r0, #0x1f4]
ldr r3, [r2, #0x38]
ldr r1, [r2, #0x3c]
str r3, [r0, #0x1e4]
str r1, [r0, #0x1e8]
bx lr
.align 2, 0
arm_func_end func_ov17_0215d684
_0215d6bc: .word data_ov17_0216bc64
.global func_ov17_0215d6c0
arm_func_start func_ov17_0215d6c0
func_ov17_0215d6c0: ; 0x0215d6c0
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x224]
cmp r0, #0
ble _0215d768
sub r0, r0, #1
str r0, [r4, #0x224]
cmp r0, #0x19
ldmgtia sp!, {r4, pc}
add r0, r4, #0x48
add r1, r4, #0x60
mov r2, r0
bl func_01ff9bc4
ldr r1, [r4, #0x4c]
ldr r0, [r4, #0x1f4]
cmp r1, r0
ble _0215d71c
mov r1, #0
ldr r0, _0215d7b0 ; =0xfffffe66
str r1, [r4, #0x60]
str r0, [r4, #0x64]
str r1, [r4, #0x68]
ldmia sp!, {r4, pc}
_0215d71c:
ldr r0, [r4, #0x64]
ldr r1, _0215d7b0 ; =0xfffffe66
cmp r0, r1
ldmneia sp!, {r4, pc}
ldr r0, _0215d7b4 ; =data_027e0ffc
add r1, r1, #0x3b8
add r2, r4, #0x48
mov r3, #0
bl func_ov00_020ceacc
mov r2, #0
str r2, [r4, #0x60]
str r2, [r4, #0x64]
str r2, [r4, #0x68]
ldr r0, [r4, #0x1ec]
mov r1, #2
ldr r3, [r0]
ldr r3, [r3, #0x80]
blx r3
ldmia sp!, {r4, pc}
_0215d768:
add r0, r4, #0x200
ldrsh r1, [r0, #0x30]
add r0, r4, #0x78
mov r2, #0x400
sub r1, r1, #0x8000
mov r1, r1, lsl #0x10
mov r1, r1, asr #0x10
bl func_0202b154
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, _0215d7b4 ; =data_027e0ffc
ldr r1, _0215d7b8 ; =0x0000021f
add r2, r4, #0x48
mov r3, #0
bl func_ov00_020ceacc
mov r0, r4
bl func_ov17_0215d7bc
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215d6c0
_0215d7b0: .word 0xfffffe66
_0215d7b4: .word data_027e0ffc
_0215d7b8: .word 0x0000021f
.global func_ov17_0215d7bc
arm_func_start func_ov17_0215d7bc
func_ov17_0215d7bc: ; 0x0215d7bc
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0x8c
mov r4, r0
mov r0, #0x2d
str r0, [r4, #0x224]
mov r0, #0
ldr r1, _0215d8ac ; =0x0000ffff
strh r0, [sp, #0x58]
strb r0, [sp, #0x7a]
strb r0, [sp, #0x7b]
strb r0, [sp, #0x7c]
strb r0, [sp, #0x7d]
strb r0, [sp, #0x84]
strb r0, [sp, #0x85]
strb r0, [sp, #0x86]
strb r0, [sp, #0x87]
strb r0, [sp, #0x88]
strb r0, [sp, #0x89]
strh r1, [sp, #0x50]
strh r1, [sp, #0x52]
strh r1, [sp, #0x54]
strh r1, [sp, #0x56]
ldr r1, [r4, #0x48]
mov r5, #0x2000
str r1, [sp, #0x20]
ldr r1, [r4, #0x4c]
mov lr, #4
str r1, [sp, #0x24]
ldr r1, [r4, #0x50]
ldr ip, _0215d8b0 ; =data_027e0e60
str r1, [sp, #0x28]
ldr r2, [r4, #0x48]
add r1, sp, #0x2c
str r2, [sp, #0x14]
ldr r3, [r4, #0x4c]
add r2, sp, #0x20
str r3, [sp, #0x18]
ldr r6, [r4, #0x50]
add r3, sp, #0x14
str r6, [sp, #0x1c]
str r5, [sp]
ldr r5, [r4, #8]
stmib sp, {r5, lr}
str r0, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, [ip]
bl func_01ffbf5c
ldr r0, [r4, #0x1ec]
mov r1, #3
ldr r3, [r0]
mov r2, #0
ldr r3, [r3, #0x80]
blx r3
ldr r0, _0215d8b4 ; =data_ov17_0216bc64
ldr r1, [r0, #0x40]
ldr r0, [r0, #0x44]
str r1, [r4, #0x1e4]
str r0, [r4, #0x1e8]
add sp, sp, #0x8c
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov17_0215d7bc
_0215d8ac: .word 0x0000ffff
_0215d8b0: .word data_027e0e60
_0215d8b4: .word data_ov17_0216bc64
.global func_ov17_0215d8b8
arm_func_start func_ov17_0215d8b8
func_ov17_0215d8b8: ; 0x0215d8b8
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x224]
cmp r0, #0
ble _0215d9b0
sub r0, r0, #1
mov r1, #0x2d
str r0, [r4, #0x224]
bl func_01ff98e0
rsb r0, r0, r0, lsl #5
mov r0, r0, asr #0xc
strb r0, [r4, #0x232]
ldrsh r0, [r4, #0x78]
ldr r2, [r4, #0x214]
add r0, r0, #0x4000
tst r0, #0x8000
movne r3, #0
ldreqb r3, [r4, #0x232]
cmp r2, #0
beq _0215d920
ldr r1, [r2, #0x84]
and r0, r3, #0xff
bic r1, r1, #0xff00
mov r0, r0, lsl #0x18
orr r0, r1, r0, lsr #16
str r0, [r2, #0x84]
_0215d920:
ldr r2, [r4, #0x21c]
cmp r2, #0
beq _0215d944
ldr r1, [r2, #0x84]
and r0, r3, #0xff
bic r1, r1, #0xff00
mov r0, r0, lsl #0x18
orr r0, r1, r0, lsr #16
str r0, [r2, #0x84]
_0215d944:
ldrsh r0, [r4, #0x78]
ldr r2, [r4, #0x220]
add r0, r0, #0x4000
tst r0, #0x8000
ldrneb r3, [r4, #0x232]
moveq r3, #0
cmp r2, #0
beq _0215d97c
ldr r1, [r2, #0x84]
and r0, r3, #0xff
bic r1, r1, #0xff00
mov r0, r0, lsl #0x18
orr r0, r1, r0, lsr #16
str r0, [r2, #0x84]
_0215d97c:
ldr r2, [r4, #0x218]
cmp r2, #0
beq _0215d9a0
ldr r1, [r2, #0x84]
and r0, r3, #0xff
bic r1, r1, #0xff00
mov r0, r0, lsl #0x18
orr r0, r1, r0, lsr #16
str r0, [r2, #0x84]
_0215d9a0:
ldrb r1, [r4, #0x232]
ldr r0, [r4, #0x1ec]
strb r1, [r0, #0xd1]
ldmia sp!, {r4, pc}
_0215d9b0:
mov r1, #0
str r1, [r4, #0x60]
sub r0, r1, #0x29
str r0, [r4, #0x64]
add r0, r4, #0x214
str r1, [r4, #0x68]
bl func_ov00_020b7e6c
add r0, r4, #0x218
bl func_ov00_020b7e6c
add r0, r4, #0x21c
bl func_ov00_020b7e6c
add r0, r4, #0x220
bl func_ov00_020b7e6c
mov r0, r4
bl func_ov00_020c3180
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215d8b8
.global func_ov17_0215d9f0
arm_func_start func_ov17_0215d9f0
func_ov17_0215d9f0: ; 0x0215d9f0
bx lr
arm_func_end func_ov17_0215d9f0
.global func_ov17_0215d9f4
arm_func_start func_ov17_0215d9f4
func_ov17_0215d9f4: ; 0x0215d9f4
stmdb sp!, {r4, lr}
sub sp, sp, #0x48
mov r4, r0
ldr r0, [r4, #0x1e8]
tst r0, #1
add r0, r4, r0, asr #1
ldreq r1, [r4, #0x1e4]
beq _0215da20
ldr r2, [r0]
ldr r1, [r4, #0x1e4]
ldr r1, [r2, r1]
_0215da20:
blx r1
ldr r1, _0215dd2c ; =0x0000059a
mov r0, r4
bl func_ov00_020d507c
ldr r0, [r4, #0x214]
cmp r0, #0
ldreq r0, [r4, #0x218]
cmpeq r0, #0
ldreq r0, [r4, #0x21c]
cmpeq r0, #0
ldreq r0, [r4, #0x220]
cmpeq r0, #0
addeq sp, sp, #0x48
ldmeqia sp!, {r4, pc}
mov r0, #0x1000
mov r1, #0
str r0, [sp, #0x44]
add r0, r4, #0x200
str r1, [sp, #0x3c]
str r1, [sp, #0x40]
ldrsh r1, [r0, #0x2c]
add r0, sp, #0x3c
bl func_ov00_020a6110
ldrsh r1, [r4, #0x78]
add r0, sp, #0x3c
bl func_ov00_020a61ac
add r3, sp, #0x3c
add ip, sp, #0x30
ldmia r3, {r0, r1, r2}
stmia ip, {r0, r1, r2}
ldr r2, [sp, #0x30]
ldr r1, [sp, #0x34]
ldr r0, [sp, #0x38]
rsb r2, r2, #0
rsb r1, r1, #0
rsb r0, r0, #0
str r2, [sp, #0x30]
str r1, [sp, #0x34]
str r0, [sp, #0x38]
ldr r0, [r4, #0x214]
cmp r0, #0
beq _0215db54
ldr r0, [r4, #0x48]
add r2, sp, #0x24
str r0, [sp, #0x24]
ldr r0, [r4, #0x4c]
mov r1, r3
str r0, [sp, #0x28]
ldr r0, [r4, #0x50]
mov r3, r2
str r0, [sp, #0x2c]
mov r0, #0x1ec
bl func_01ff9e64
ldr r0, [r4, #0x214]
cmp r0, #0
beq _0215db48
ldr r1, [r0, #0x20]
ldr r2, [sp, #0x24]
ldr r1, [r1]
ldr r1, [r1, #4]
add r1, r2, r1
str r1, [r0, #0x28]
ldr r1, [r0, #0x20]
ldr r2, [sp, #0x28]
ldr r1, [r1]
ldr r1, [r1, #8]
add r1, r2, r1
str r1, [r0, #0x2c]
ldr r1, [r0, #0x20]
ldr r2, [sp, #0x2c]
ldr r1, [r1]
ldr r1, [r1, #0xc]
add r1, r2, r1
str r1, [r0, #0x30]
_0215db48:
add r1, sp, #0x3c
add r0, r4, #0x214
bl func_ov00_020b7ea4
_0215db54:
ldr r0, [r4, #0x218]
cmp r0, #0
beq _0215dbf0
ldr r0, [r4, #0x48]
add r2, sp, #0x18
str r0, [sp, #0x18]
ldr r1, [r4, #0x4c]
mov r0, #0x1ec
str r1, [sp, #0x1c]
ldr ip, [r4, #0x50]
add r1, sp, #0x3c
mov r3, r2
str ip, [sp, #0x20]
rsb r0, r0, #0
bl func_01ff9e64
ldr r0, [r4, #0x218]
cmp r0, #0
beq _0215dbe4
ldr r1, [r0, #0x20]
ldr r2, [sp, #0x18]
ldr r1, [r1]
ldr r1, [r1, #4]
add r1, r2, r1
str r1, [r0, #0x28]
ldr r1, [r0, #0x20]
ldr r2, [sp, #0x1c]
ldr r1, [r1]
ldr r1, [r1, #8]
add r1, r2, r1
str r1, [r0, #0x2c]
ldr r1, [r0, #0x20]
ldr r2, [sp, #0x20]
ldr r1, [r1]
ldr r1, [r1, #0xc]
add r1, r2, r1
str r1, [r0, #0x30]
_0215dbe4:
add r1, sp, #0x30
add r0, r4, #0x218
bl func_ov00_020b7ea4
_0215dbf0:
ldr r0, [r4, #0x21c]
cmp r0, #0
beq _0215dc88
ldr r0, [r4, #0x48]
add r2, sp, #0xc
str r0, [sp, #0xc]
ldr r0, [r4, #0x4c]
add r1, sp, #0x3c
str r0, [sp, #0x10]
ldr r0, [r4, #0x50]
mov r3, r2
str r0, [sp, #0x14]
mov r0, #0xcd
bl func_01ff9e64
ldr r0, [r4, #0x21c]
cmp r0, #0
beq _0215dc7c
ldr r1, [r0, #0x20]
ldr r2, [sp, #0xc]
ldr r1, [r1]
ldr r1, [r1, #4]
add r1, r2, r1
str r1, [r0, #0x28]
ldr r1, [r0, #0x20]
ldr r2, [sp, #0x10]
ldr r1, [r1]
ldr r1, [r1, #8]
add r1, r2, r1
str r1, [r0, #0x2c]
ldr r1, [r0, #0x20]
ldr r2, [sp, #0x14]
ldr r1, [r1]
ldr r1, [r1, #0xc]
add r1, r2, r1
str r1, [r0, #0x30]
_0215dc7c:
add r1, sp, #0x3c
add r0, r4, #0x21c
bl func_ov00_020b7ea4
_0215dc88:
ldr r0, [r4, #0x220]
cmp r0, #0
addeq sp, sp, #0x48
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #0x48]
add r2, sp, #0
str r0, [sp]
ldr r0, [r4, #0x4c]
add r1, sp, #0x3c
str r0, [sp, #4]
ldr r0, [r4, #0x50]
mov r3, r2
str r0, [sp, #8]
mvn r0, #0xcc
bl func_01ff9e64
ldr r0, [r4, #0x220]
cmp r0, #0
beq _0215dd18
ldr r1, [r0, #0x20]
ldr r2, [sp]
ldr r1, [r1]
ldr r1, [r1, #4]
add r1, r2, r1
str r1, [r0, #0x28]
ldr r1, [r0, #0x20]
ldr r2, [sp, #4]
ldr r1, [r1]
ldr r1, [r1, #8]
add r1, r2, r1
str r1, [r0, #0x2c]
ldr r1, [r0, #0x20]
ldr r2, [sp, #8]
ldr r1, [r1]
ldr r1, [r1, #0xc]
add r1, r2, r1
str r1, [r0, #0x30]
_0215dd18:
add r1, sp, #0x30
add r0, r4, #0x220
bl func_ov00_020b7ea4
add sp, sp, #0x48
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215d9f4
_0215dd2c: .word 0x0000059a
.global func_ov17_0215dd30
arm_func_start func_ov17_0215dd30
func_ov17_0215dd30: ; 0x0215dd30
ldr ip, _0215dd40 ; =func_ov00_020d4e98
mov r1, #0
str r1, [r0, #0x228]
bx ip
.align 2, 0
arm_func_end func_ov17_0215dd30
_0215dd40: .word func_ov00_020d4e98
.global func_ov17_0215dd44
arm_func_start func_ov17_0215dd44
func_ov17_0215dd44: ; 0x0215dd44
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020d4ee0
cmp r0, #0
mov r0, #0
ldmeqia sp!, {r4, pc}
strb r0, [r4, #0x233]
strb r0, [r4, #0x234]
mov r0, #1
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215dd44
.global func_ov17_0215dd6c
arm_func_start func_ov17_0215dd6c
func_ov17_0215dd6c: ; 0x0215dd6c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020d4964
ldrb r0, [r4, #0x11b]
mov r1, #0
cmp r0, #0
strne r1, [r4, #0x228]
ldrne r1, _0215ddb8 ; =0x00007fff
bne _0215dda8
ldr r0, [r4, #0x60]
cmp r0, #0
ldreq r0, [r4, #0x68]
cmpeq r0, #0
addeq r0, r4, #0x200
streqh r1, [r0, #0x2c]
_0215dda8:
add r0, r4, #0x22c
mov r2, #0x1200
bl func_0202b154
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215dd6c
_0215ddb8: .word 0x00007fff
.global func_ov17_0215ddbc
arm_func_start func_ov17_0215ddbc
func_ov17_0215ddbc: ; 0x0215ddbc
stmdb sp!, {r3, lr}
ldr r2, _0215de08 ; =data_ov17_0216bc64
ldr ip, [r0, #0x1e4]
ldr r2, [r2, #0x50]
mov lr, #1
cmp ip, r2
ldr r2, _0215de0c ; =data_ov17_0216bcb4
bne _0215ddf0
ldr r3, [r0, #0x1e8]
ldr r2, [r2, #4]
cmp r3, r2
cmpne ip, #0
moveq lr, #0
_0215ddf0:
cmp lr, #0
beq _0215de00
bl func_ov00_020d4964
ldmia sp!, {r3, pc}
_0215de00:
bl func_ov00_020d4ac4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0215ddbc
_0215de08: .word data_ov17_0216bc64
_0215de0c: .word data_ov17_0216bcb4
.global func_ov17_0215de10
arm_func_start func_ov17_0215de10
func_ov17_0215de10: ; 0x0215de10
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x78
mov r4, r0
cmp r1, #0
ldrneb r0, [r4, #0xa5]
ldreqb r0, [r4, #0xa4]
cmp r0, #0
addeq sp, sp, #0x78
ldmeqia sp!, {r3, r4, r5, pc}
ldrb r0, [r4, #0x11b]
cmp r0, #0
beq _0215de58
ldr r0, _0215dfc4 ; =data_027e0fc8
ldr r0, [r0]
bl func_ov00_020bbe94
cmp r0, #0
addeq sp, sp, #0x78
ldmeqia sp!, {r3, r4, r5, pc}
_0215de58:
add r0, r4, #0x48
add r3, sp, #0x48
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldrh r1, [r4, #0x78]
ldr r3, _0215dfc8 ; =data_02050f54
add r0, sp, #0x54
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov r5, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, r5]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x200
ldrh r1, [r0, #0x2c]
ldr r3, _0215dfc8 ; =data_02050f54
add r0, sp, #0x24
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov r5, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, r5]
ldrsh r2, [r3, r2]
blx func_01ff81f8
add r1, sp, #0x54
add r0, sp, #0x24
mov r2, r1
bl func_01ff8690
ldrb r0, [r4, #0x11b]
cmp r0, #0
bne _0215def4
ldr r1, [sp, #0x4c]
ldr r0, [r4, #0x228]
add r0, r1, r0
str r0, [sp, #0x4c]
b _0215df08
_0215def4:
add r0, r4, #0x100
ldrsh r0, [r0, #0x80]
ldr r1, [sp, #0x4c]
add r0, r1, r0
str r0, [sp, #0x4c]
_0215df08:
ldrb r0, [r4, #0x232]
cmp r0, #0x1f
bhs _0215df54
ldr r0, _0215dfcc ; =data_ov00_020e9360
mov r1, #2
bl func_ov00_02079e68
mov r5, r0
add r0, r4, #0x188
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
ldrb r1, [r4, #0x232]
bl func_020197fc
add r0, r4, #0x188
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
mov r1, r5
bl func_020197bc
_0215df54:
add r0, r4, #0x188
ldr r3, [r0]
add r1, sp, #0x54
ldr r3, [r3, #0x14]
add r2, sp, #0x48
blx r3
ldr r1, [r4, #0x4c]
ldr r2, [r4, #0x50]
ldr r0, [r4, #0x48]
add r1, r1, #0x80
str r0, [sp, #0x18]
str r1, [sp, #0x1c]
str r2, [sp, #0x20]
ldr r3, _0215dfd0 ; =0x000004cd
mov r1, #0
str r3, [sp]
str r1, [sp, #4]
mov r0, #0x1f
str r0, [sp, #8]
str r1, [sp, #0xc]
mov r4, #1
str r4, [sp, #0x10]
ldr r0, _0215dfd4 ; =data_ov00_020e9370
add r2, sp, #0x18
str r4, [sp, #0x14]
bl func_ov05_02102c2c
add sp, sp, #0x78
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0215de10
_0215dfc4: .word data_027e0fc8
_0215dfc8: .word data_02050f54
_0215dfcc: .word data_ov00_020e9360
_0215dfd0: .word 0x000004cd
_0215dfd4: .word data_ov00_020e9370
.global func_ov17_0215dfd8
arm_func_start func_ov17_0215dfd8
func_ov17_0215dfd8: ; 0x0215dfd8
ldr ip, _0215dfec ; =func_01ff9bc4
mov r2, r0
add r0, r2, #0x208
add r2, r2, #0x208
bx ip
.align 2, 0
arm_func_end func_ov17_0215dfd8
_0215dfec: .word func_01ff9bc4
.global func_ov17_0215dff0
arm_func_start func_ov17_0215dff0
func_ov17_0215dff0: ; 0x0215dff0
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #8
ldr r2, _0215e1b4 ; =data_027e0e60
mov fp, r1
ldr r1, [r2]
mov sl, r0
add r0, sp, #6
mov r2, fp
bl func_ov00_02083a1c
mov r7, #0
ldr r4, _0215e1b4 ; =data_027e0e60
str r7, [sl, #0x1ec]
add r6, sp, #4
_0215e024:
ldrb r1, [sp, #6]
sub r0, r7, #1
mov sb, #0
add r0, r1, r0
and r8, r0, #0xff
_0215e038:
ldrb r2, [sp, #7]
sub r1, sb, #1
ldr r0, [r4]
add r2, r2, r1
mov r1, r6
strb r8, [sp, #4]
strb r2, [sp, #5]
bl func_ov00_020840c4
movs r5, r0
beq _0215e078
ldr r1, [r0]
ldr r1, [r1, #0x1c]
blx r1
cmp r0, #0x21
streq r5, [sl, #0x1ec]
beq _0215e090
_0215e078:
add sb, sb, #1
cmp sb, #3
blt _0215e038
add r7, r7, #1
cmp r7, #3
blt _0215e024
_0215e090:
ldr r0, [sl, #0x1ec]
cmp r0, #0
addeq sp, sp, #8
mov r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
strb r0, [sl, #0x11b]
ldr r1, [fp]
mov r2, #0x14
str r1, [sl, #0x1f0]
ldr r1, [fp, #4]
add r4, sl, #0x200
str r1, [sl, #0x1f4]
ldr r1, [fp, #8]
ldr r6, _0215e1b8 ; =data_ov17_0216bc64
str r1, [sl, #0x1f8]
ldr r1, [sl, #0x1f4]
mov r7, #2
add r1, r1, #0x7b
add r1, r1, #0x2400
str r1, [sl, #0x1f4]
ldr r1, [sl, #0x48]
ldr r5, _0215e1bc ; =data_027e0e58
str r1, [sl, #0x1fc]
ldr r3, [sl, #0x4c]
add r1, sl, #0x214
str r3, [sl, #0x200]
ldr r8, [sl, #0x50]
add r3, sl, #0x48
str r8, [sl, #0x204]
str r0, [sl, #0x60]
str r0, [sl, #0x64]
str r0, [sl, #0x68]
str r2, [sl, #0x224]
ldrsh r8, [sl, #0x78]
mov r2, #0x47
add r8, r8, #0x4000
and r8, r8, #0x8000
strh r8, [r4, #0x30]
strh r0, [r4, #0x2e]
ldr r4, [r6, #0x28]
ldr r0, [r6, #0x2c]
str r4, [sl, #0x1e4]
str r0, [sl, #0x1e8]
str r7, [sp]
ldr r0, [r5]
bl func_ov00_0207c1f8
mov r1, r7
str r1, [sp]
mov r0, r5
ldr r0, [r0]
add r1, sl, #0x218
add r3, sl, #0x48
mov r2, #0x47
bl func_ov00_0207c1f8
mov r1, r7
str r1, [sp]
mov r0, r5
ldr r0, [r0]
add r1, sl, #0x21c
add r3, sl, #0x48
mov r2, #0x48
bl func_ov00_0207c1f8
mov r0, r7
str r0, [sp]
mov r0, r5
ldr r0, [r0]
add r1, sl, #0x220
add r3, sl, #0x48
mov r2, #0x48
bl func_ov00_0207c1f8
mov r0, #1
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov17_0215dff0
_0215e1b4: .word data_027e0e60
_0215e1b8: .word data_ov17_0216bc64
_0215e1bc: .word data_027e0e58
.global func_ov17_0215e1c0
arm_func_start func_ov17_0215e1c0
func_ov17_0215e1c0: ; 0x0215e1c0
stmdb sp!, {r3, lr}
ldr r1, _0215e1ec ; =data_027e0fe0
mov r0, #0x25c
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov17_0215e1f0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0215e1c0
_0215e1ec: .word data_027e0fe0
.global func_ov17_0215e1f0
arm_func_start func_ov17_0215e1f0
func_ov17_0215e1f0: ; 0x0215e1f0
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
bl func_ov00_020d4414
ldr r1, _0215e298 ; =data_ov17_0216bdcc
ldr r0, _0215e29c ; =gItemManager
str r1, [r4]
ldr r0, [r0]
mov r1, #0
bl _ZN11ItemManager19GetDungeonItemModelEj
mov r1, r0
add r0, r4, #0x188
blx func_ov00_020a9588
ldr r0, _0215e29c ; =gItemManager
mov r1, #0
ldr r0, [r0]
bl _ZN11ItemManager19GetDungeonItemModelEj
mov r2, r0
add r0, r4, #0x1e4
add r1, r4, #0x208
blx func_ov00_020c0c08
ldr r1, _0215e2a0 ; =data_ov17_0216be94
ldr r0, _0215e2a4 ; =func_ov00_020b7d74
str r1, [r4, #0x1e4]
str r0, [sp]
add r0, r4, #0x228
mov r1, #3
mov r2, #4
ldr r3, _0215e2a8 ; =func_ov17_0215bf80
bl func_0204f614
mov lr, #0
str lr, [r4, #0x234]
ldr r0, _0215e2ac ; =data_027e0d0c
add ip, r4, #0x244
add r3, r4, #0x200
ldmia r0, {r0, r1, r2}
stmia ip, {r0, r1, r2}
strh lr, [r3, #0x58]
strb lr, [r4, #0x25a]
mov r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_0215e1f0
_0215e298: .word data_ov17_0216bdcc
_0215e29c: .word gItemManager
_0215e2a0: .word data_ov17_0216be94
_0215e2a4: .word func_ov00_020b7d74
_0215e2a8: .word func_ov17_0215bf80
_0215e2ac: .word data_027e0d0c
.global func_ov17_0215e2b0
arm_func_start func_ov17_0215e2b0
func_ov17_0215e2b0: ; 0x0215e2b0
stmdb sp!, {r4, lr}
mov r4, r0
ldr r3, _0215e2ec ; =func_ov00_020b7d74
add r0, r4, #0x228
mov r1, #3
mov r2, #4
bl func_0204f754
add r0, r4, #0x1e4
blx func_ov00_020a9aac
add r0, r4, #0x188
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_020d4478
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215e2b0
_0215e2ec: .word func_ov00_020b7d74
.global func_ov17_0215e2f0
arm_func_start func_ov17_0215e2f0
func_ov17_0215e2f0: ; 0x0215e2f0
stmdb sp!, {r4, lr}
mov r4, r0
ldr r3, _0215e334 ; =func_ov00_020b7d74
add r0, r4, #0x228
mov r1, #3
mov r2, #4
bl func_0204f754
add r0, r4, #0x1e4
blx func_ov00_020a9aac
add r0, r4, #0x188
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_020d4478
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215e2f0
_0215e334: .word func_ov00_020b7d74
.global func_ov17_0215e338
arm_func_start func_ov17_0215e338
func_ov17_0215e338: ; 0x0215e338
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
ldr r2, _0215e460 ; =data_027e0e60
mov fp, r1
ldr r1, [r2]
mov sl, r0
add r0, sp, #2
mov r2, fp
bl func_ov00_02083a1c
mov r7, #0
ldr r4, _0215e460 ; =data_027e0e60
str r7, [sl, #0x250]
add r6, sp, #0
_0215e368:
ldrb r1, [sp, #2]
sub r0, r7, #1
mov sb, #0
add r0, r1, r0
and r8, r0, #0xff
_0215e37c:
ldrb r2, [sp, #3]
sub r1, sb, #1
ldr r0, [r4]
add r2, r2, r1
mov r1, r6
strb r8, [sp]
strb r2, [sp, #1]
bl func_ov00_020840c4
movs r5, r0
beq _0215e3bc
ldr r1, [r0]
ldr r1, [r1, #0x1c]
blx r1
cmp r0, #0x15
streq r5, [sl, #0x250]
beq _0215e3e4
_0215e3bc:
add sb, sb, #1
cmp sb, #3
blt _0215e37c
add r7, r7, #1
cmp r7, #3
blt _0215e368
ldr r0, [sl, #0x250]
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0215e3e4:
mov r2, #0
str r2, [sl, #0x12c]
ldr r0, [fp]
mov r3, #0x1000
str r0, [sl, #0x158]
ldr r0, [fp, #4]
mov r1, #1
str r0, [sl, #0x15c]
ldr r4, [fp, #8]
add r0, sl, #0x100
str r4, [sl, #0x160]
str r3, [sl, #0x15c]
strb r1, [sl, #0x184]
mov r1, #0x100
strh r1, [r0, #0x22]
mov r0, #0x1e
str r0, [sl, #0x138]
mov r0, #0x14
str r0, [sl, #0x254]
ldr r1, [sl, #0x48]
mov r0, sl
str r1, [sl, #0x238]
ldr r3, [sl, #0x4c]
mov r1, #2
str r3, [sl, #0x23c]
ldr r3, [sl, #0x50]
str r3, [sl, #0x240]
str r2, [sl, #0x64]
bl func_ov17_0215e9ec
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov17_0215e338
_0215e460: .word data_027e0e60
.global func_ov17_0215e464
arm_func_start func_ov17_0215e464
func_ov17_0215e464: ; 0x0215e464
stmdb sp!, {r4, r5, r6, r7, lr}
sub sp, sp, #0x3c
mov r4, r0
ldr r0, [r4, #0x130]
cmp r0, #2
beq _0215e494
cmp r0, #3
beq _0215e7ac
cmp r0, #4
beq _0215e890
add sp, sp, #0x3c
ldmia sp!, {r4, r5, r6, r7, pc}
_0215e494:
ldr r0, [r4, #0x138]
cmp r0, #0
ble _0215e658
sub r0, r0, #1
str r0, [r4, #0x138]
mov r1, #0x1e
bl func_01ff98e0
mov r5, r0
ldr r0, [r4, #0x250]
add r1, sp, #0x30
rsb r6, r5, #0x1000
bl func_ov26_0217287c
ldr r0, [sp, #0x34]
ldr r1, [sp, #0x38]
add r0, r0, #0xcd
add r2, r0, #0xc00
add r0, r1, #0x800
str r0, [sp, #0x38]
ldr r1, [sp, #0x30]
str r2, [sp, #0x34]
ldr r2, [r4, #0x238]
smull r3, r0, r1, r6
smull r7, r1, r2, r5
adds r7, r7, #0x800
adc r2, r1, #0
adds r1, r3, #0x800
mov r3, r7, lsr #0xc
rsb ip, r6, #0x800
mul r7, ip, ip
adc r0, r0, #0
mov r1, r1, lsr #0xc
orr r3, r3, r2, lsl #20
orr r1, r1, r0, lsl #20
add r0, r3, r1
str r0, [r4, #0x48]
ldr r1, [r4, #0x23c]
ldr r0, [sp, #0x34]
smull r2, r3, r1, r5
adds ip, r2, #0x800
add r7, r7, #0x800
mov r7, r7, asr #0xc
mov r7, r7, lsl #0x2
rsb r7, r7, #0x1000
smull r2, r1, r0, r6
adc r3, r3, #0
adds r2, r2, #0x800
mov ip, ip, lsr #0xc
adc r0, r1, #0
mov r1, r2, lsr #0xc
orr ip, ip, r3, lsl #20
orr r1, r1, r0, lsl #20
add r0, ip, r1
str r0, [r4, #0x4c]
ldr r1, [r4, #0x240]
ldr r0, [sp, #0x38]
smull r2, r3, r1, r5
adds r5, r2, #0x800
smull r2, r1, r0, r6
adc r3, r3, #0
adds r2, r2, #0x800
mov r5, r5, lsr #0xc
adc r0, r1, #0
mov r1, r2, lsr #0xc
orr r5, r5, r3, lsl #20
orr r1, r1, r0, lsl #20
add r0, r5, r1
str r0, [r4, #0x50]
mov r7, r7, lsl #0xc
ldr r1, [r4, #0x4c]
add r0, r7, #0x800
add r0, r1, r0, asr #12
str r0, [r4, #0x4c]
ldrsh r2, [r4, #0x78]
ldr r1, [r4, #0x138]
and r0, r2, #0x8000
mov r1, r1, lsl #0xc
mov r0, r0, lsl #0x10
cmp r1, #0x1000
mov r0, r0, asr #0x10
ble _0215e5f0
sub r0, r0, r2
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x4
bl func_01ff98e0
ldrsh r1, [r4, #0x78]
add r0, r0, #0x800
add r0, r1, r0, asr #12
_0215e5f0:
strh r0, [r4, #0x78]
ldr r0, [r4, #0x138]
mov r1, r0, lsl #0xc
cmp r1, #0x1000
bgt _0215e61c
mov r1, #0x4000
rsb r1, r1, #0
add r0, r4, #0x200
strh r1, [r0, #0x58]
add sp, sp, #0x3c
ldmia sp!, {r4, r5, r6, r7, pc}
_0215e61c:
add r0, r4, #0x200
ldrsh r2, [r0, #0x58]
mov r0, #0x4000
rsb r0, r0, #0
sub r0, r0, r2
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x4
bl func_01ff98e0
add r1, r4, #0x200
ldrsh r2, [r1, #0x58]
add r0, r0, #0x800
add sp, sp, #0x3c
add r0, r2, r0, asr #12
strh r0, [r1, #0x58]
ldmia sp!, {r4, r5, r6, r7, pc}
_0215e658:
ldr r0, [r4, #0x250]
add r1, sp, #0x24
bl func_ov26_0217287c
ldr r0, [sp, #0x2c]
ldr r1, [sp, #0x28]
add r0, r0, #0x33
ldr r3, [sp, #0x24]
add r0, r0, #0xb00
add r2, r1, #0x800
str r0, [sp, #0x20]
str r3, [sp, #0x18]
str r2, [sp, #0x1c]
ldr r2, [r4, #0x64]
add r0, r4, #0x4c
bl Approach_thunk
cmp r0, #0
beq _0215e71c
ldr r0, [r4, #0x254]
cmp r0, #0
bne _0215e6c0
ldr r0, [r4, #0x250]
bl func_ov26_021727b4
mov r0, r4
mov r1, #3
bl func_ov17_0215e9ec
b _0215e728
_0215e6c0:
cmp r0, #0x14
bne _0215e70c
ldr r0, _0215e8e8 ; =data_027e0ffc
ldr r1, _0215e8ec ; =0x00000472
add r2, r4, #0x48
mov r3, #0
bl func_ov00_020ceacc
mov r1, #0xaf
str r1, [sp]
add r0, sp, #0x18
str r0, [sp, #4]
mov r1, #2
str r1, [sp, #8]
ldr r0, _0215e8f0 ; =data_027e0e58
add r1, r4, #0x228
ldr r0, [r0]
mov r2, #0xad
mov r3, #0xae
bl func_ov00_0207c31c
_0215e70c:
ldr r0, [r4, #0x254]
sub r0, r0, #1
str r0, [r4, #0x254]
b _0215e728
_0215e71c:
ldr r0, [r4, #0x64]
add r0, r0, #0x29
str r0, [r4, #0x64]
_0215e728:
ldr r0, [r4, #0x228]
cmp r0, #0
addne r2, r4, #0x228
addne r1, r4, #0x234
cmpne r2, r1
addeq sp, sp, #0x3c
ldmeqia sp!, {r4, r5, r6, r7, pc}
_0215e744:
ldr r0, [r2]
cmp r0, #0
beq _0215e798
ldr r3, [r0, #0x20]
ldr r4, [sp, #0x18]
ldr r3, [r3]
ldr r3, [r3, #4]
add r3, r4, r3
str r3, [r0, #0x28]
ldr r3, [r0, #0x20]
ldr r4, [sp, #0x1c]
ldr r3, [r3]
ldr r3, [r3, #8]
add r3, r4, r3
str r3, [r0, #0x2c]
ldr r3, [r0, #0x20]
ldr r4, [sp, #0x20]
ldr r3, [r3]
ldr r3, [r3, #0xc]
add r3, r4, r3
str r3, [r0, #0x30]
_0215e798:
add r2, r2, #4
cmp r2, r1
bne _0215e744
add sp, sp, #0x3c
ldmia sp!, {r4, r5, r6, r7, pc}
_0215e7ac:
ldr r0, [r4, #0x250]
add r1, sp, #0xc
bl func_ov26_0217287c
ldr r2, [sp, #0x14]
ldr r1, [sp, #0x10]
ldr r0, [sp, #0xc]
add r2, r2, #0x800
str r0, [r4, #0x48]
str r1, [r4, #0x4c]
str r2, [r4, #0x50]
ldr r0, [sp, #0x14]
ldr r2, [sp, #0x10]
add r1, r0, #0x33
ldr r0, [r4, #0x250]
add r6, r2, #0x800
add r7, r1, #0xb00
ldr r5, [sp, #0xc]
bl func_ov26_02172804
cmp r0, #0
beq _0215e818
mov r1, #0
mov r0, r4
strb r1, [r4, #0x11a]
mov r2, #0x14
mov r1, #4
str r2, [r4, #0x254]
bl func_ov17_0215e9ec
_0215e818:
ldr r0, [r4, #0x228]
cmp r0, #0
addne r2, r4, #0x228
addne r1, r4, #0x234
cmpne r2, r1
addeq sp, sp, #0x3c
ldmeqia sp!, {r4, r5, r6, r7, pc}
_0215e834:
ldr r0, [r2]
cmp r0, #0
beq _0215e87c
ldr r3, [r0, #0x20]
ldr r3, [r3]
ldr r3, [r3, #4]
add r3, r5, r3
str r3, [r0, #0x28]
ldr r3, [r0, #0x20]
ldr r3, [r3]
ldr r3, [r3, #8]
add r3, r6, r3
str r3, [r0, #0x2c]
ldr r3, [r0, #0x20]
ldr r3, [r3]
ldr r3, [r3, #0xc]
add r3, r7, r3
str r3, [r0, #0x30]
_0215e87c:
add r2, r2, #4
cmp r2, r1
bne _0215e834
add sp, sp, #0x3c
ldmia sp!, {r4, r5, r6, r7, pc}
_0215e890:
ldr r0, [r4, #0x254]
cmp r0, #0
bne _0215e8d8
ldr r0, [r4, #0x250]
bl func_ov26_0217284c
add r6, r4, #0x228
add r5, r4, #0x234
cmp r6, r5
beq _0215e8c8
_0215e8b4:
mov r0, r6
bl func_ov00_020b7e6c
add r6, r6, #4
cmp r6, r5
bne _0215e8b4
_0215e8c8:
mov r0, #0
add sp, sp, #0x3c
strb r0, [r4, #0x118]
ldmia sp!, {r4, r5, r6, r7, pc}
_0215e8d8:
sub r0, r0, #1
str r0, [r4, #0x254]
add sp, sp, #0x3c
ldmia sp!, {r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov17_0215e464
_0215e8e8: .word data_027e0ffc
_0215e8ec: .word 0x00000472
_0215e8f0: .word data_027e0e58
.global func_ov17_0215e8f4
arm_func_start func_ov17_0215e8f4
func_ov17_0215e8f4: ; 0x0215e8f4
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
bl func_ov00_020d4494
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r0, _0215e9dc ; =gItemManager
ldr r1, _0215e9e0 ; =data_ov17_0216b0ac
ldr r0, [r0]
bl _ZNK11ItemManager18func_ov00_020ad594Ej
ldr r1, _0215e9e4 ; =data_027e0fc4
mov r5, r0
ldr r0, [r1]
mov r1, #3
blx func_ov00_020bb378
mov r2, r0
mov r1, r5
add r0, r4, #0x1e4
mov r3, #0
bl func_ov00_020c0cc8
add r0, r4, #0x1e4
mov r1, #0x1000
bl func_ov00_020c0e24
add r0, r4, #0x188
add r1, r4, #0x1e4
ldr r2, [r0]
ldr r2, [r2, #0x24]
blx r2
mov r0, #0x21
strh r0, [r4, #0x7a]
mov r1, #0
str r1, [r4, #0x7c]
ldr r0, _0215e9e8 ; =0x00000733
mov r2, #0x400
str r0, [r4, #0x80]
str r1, [r4, #0x84]
str r0, [r4, #0x88]
str r1, [r4, #0x8c]
sub r3, r0, #0xcd
add r0, r0, #0x1000
str r3, [r4, #0x90]
str r1, [r4, #0x94]
str r3, [r4, #0x98]
str r3, [r4, #0x17c]
str r1, [r4, #0xa8]
str r1, [r4, #0xac]
str r1, [r4, #0xb0]
str r0, [r4, #0xb4]
add r0, r4, #0x100
strh r2, [r0, #0x80]
mov r0, #8
strb r0, [r4, #0x125]
mov r0, #0x52
str r0, [r4, #0x6c]
mov r0, r4
bl func_ov17_0215e9ec
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0215e8f4
_0215e9dc: .word gItemManager
_0215e9e0: .word data_ov17_0216b0ac
_0215e9e4: .word data_027e0fc4
_0215e9e8: .word 0x00000733
.global func_ov17_0215e9ec
arm_func_start func_ov17_0215e9ec
func_ov17_0215e9ec: ; 0x0215e9ec
str r1, [r0, #0x130]
bx lr
arm_func_end func_ov17_0215e9ec
.global func_ov17_0215e9f4
arm_func_start func_ov17_0215e9f4
func_ov17_0215e9f4: ; 0x0215e9f4
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
mov r5, r1
bl func_ov00_020d4964
mov r0, r4
mov r1, r5
bl func_ov00_020c313c
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldrb r0, [r4, #0x11b]
cmp r0, #0
beq _0215ea3c
add r0, r4, #0x100
ldrsh r1, [r0, #0x80]
add r0, r4, #0x234
mov r2, #0x800
bl Approach_thunk
ldmia sp!, {r3, r4, r5, pc}
_0215ea3c:
ldrsh r0, [r4, #0x78]
ldr r2, _0215ea88 ; =data_02050f54
ldr r1, _0215ea8c ; =0x00000333
add r0, r0, r0, lsl #1
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x10
mov r0, r0, lsl #0x10
mov r0, r0, lsr #0x10
mov r0, r0, asr #0x4
mov r0, r0, lsl #0x2
ldrsh r3, [r2, r0]
ldr r2, _0215ea90 ; =0x0000019a
add r0, r4, #0x234
smulbb r1, r3, r1
add r1, r1, #0x800
mov r1, r1, asr #0xc
add r1, r1, #0x800
bl Approach_thunk
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0215e9f4
_0215ea88: .word data_02050f54
_0215ea8c: .word 0x00000333
_0215ea90: .word 0x0000019a
.global func_ov17_0215ea94
arm_func_start func_ov17_0215ea94
func_ov17_0215ea94: ; 0x0215ea94
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #8
mov r4, r0
ldr r1, [r4, #0x130]
cmp r1, #6
addls pc, pc, r1, lsl #2
b _0215ee3c
_0215eab0: ; jump table
b _0215eacc ; case 0
b _0215ee3c ; case 1
b _0215edb0 ; case 2
b _0215edb0 ; case 3
b _0215edb0 ; case 4
b _0215edb8 ; case 5
b _0215edf4 ; case 6
_0215eacc:
ldrsh r1, [r4, #0x78]
add r1, r1, #0x100
strh r1, [r4, #0x78]
bl func_ov00_020c3070
ldr r0, [r4, #0x60]
mov r1, #0x214
cmp r0, #0
blt _0215eb14
rsb r1, r1, #0
mvn r2, #0
umull ip, r3, r0, r1
mla r3, r0, r2, r3
mov r2, r0, asr #0x1f
mla r3, r2, r1, r3
mov r1, ip, lsr #0xc
orr r1, r1, r3, lsl #20
add r0, r0, r1
b _0215eb34
_0215eb14:
mov r2, #0
umull ip, r3, r0, r1
mla r3, r0, r2, r3
mov r2, r0, asr #0x1f
mla r3, r2, r1, r3
mov r1, ip, lsr #0xc
orr r1, r1, r3, lsl #20
sub r0, r0, r1
_0215eb34:
str r0, [r4, #0x60]
ldr r0, [r4, #0x68]
mov r1, #0x214
cmp r0, #0
blt _0215eb70
rsb r1, r1, #0
mvn r2, #0
umull ip, r3, r0, r1
mla r3, r0, r2, r3
mov r2, r0, asr #0x1f
mla r3, r2, r1, r3
mov r1, ip, lsr #0xc
orr r1, r1, r3, lsl #20
add r0, r0, r1
b _0215eb90
_0215eb70:
mov r2, #0
umull ip, r3, r0, r1
mla r3, r0, r2, r3
mov r2, r0, asr #0x1f
mla r3, r2, r1, r3
mov r1, ip, lsr #0xc
orr r1, r1, r3, lsl #20
sub r0, r0, r1
_0215eb90:
str r0, [r4, #0x68]
add r0, r4, #0x48
add r1, r4, #0x60
mov r2, r0
bl func_01ff9bc4
add r0, r4, #0x48
add r1, r4, #0x244
mov r2, r0
bl func_01ff9bc4
ldr r0, _0215ee50 ; =data_027e0d0c
ldr r1, [r0]
str r1, [r4, #0x244]
ldr r1, [r0, #4]
str r1, [r4, #0x248]
ldr r0, [r0, #8]
str r0, [r4, #0x24c]
ldrb r0, [r4, #0x11b]
cmp r0, #0
bne _0215ec00
mov r0, r4
bl func_ov00_020c2d54
cmp r0, #0
beq _0215ec00
mov r0, r4
mov r1, #5
bl func_ov17_0215e9ec
add sp, sp, #8
ldmia sp!, {r3, r4, r5, pc}
_0215ec00:
ldr r0, [r4, #0x68]
ldr r1, [r4, #0x60]
cmp r0, #0
rsblt r0, r0, #0
cmp r1, #0
rsblt r1, r1, #0
add r0, r1, r0
cmp r0, #0xcd
blt _0215ec50
add r0, sp, #0
mov r1, r4
bl func_ov00_020c23c4
ldr r1, [sp]
mvn r0, #0
cmp r1, r0
beq _0215ec50
mov r0, #0
str r0, [r4, #0x60]
str r0, [r4, #0x68]
b _0215ee3c
_0215ec50:
mov r0, r4
bl func_ov00_020d4b54
ldrb r1, [r4, #0x182]
cmp r1, #0
bne _0215ee3c
cmp r0, #0
bne _0215ed0c
ldrb r0, [r4, #0x111]
cmp r0, #0
beq _0215ee3c
ldrb r0, [r4, #0x115]
cmp r0, #0
bne _0215ee3c
mov r0, r4
mov r5, #0
bl func_ov00_020d485c
cmp r0, #0
bne _0215ecc4
ldrb r0, [r4, #0x25a]
cmp r0, #0
bne _0215ecc0
mov r0, r4
ldr r2, [r0]
mov r1, r5
ldr r2, [r2, #0xbc]
blx r2
cmp r0, #0
beq _0215ecc4
_0215ecc0:
mov r5, #1
_0215ecc4:
ldr r1, _0215ee50 ; =data_027e0d0c
add r0, r4, #0x60
mov r2, #0x3d
bl func_0202b2e8
cmp r0, #0
beq _0215ed00
cmp r5, #0
movne r0, #1
strneb r0, [r4, #0x25a]
bne _0215ee3c
mov r0, r4
mov r1, #0x1e
mov r2, #0x5000
bl func_ov00_020d454c
b _0215ee3c
_0215ed00:
mov r0, #0
strb r0, [r4, #0x25a]
b _0215ee3c
_0215ed0c:
ldr r1, [r4, #0x48]
ldr r0, [r4, #0x54]
cmp r1, r0
ldreq r1, [r4, #0x4c]
ldreq r0, [r4, #0x58]
cmpeq r1, r0
ldreq r1, [r4, #0x50]
ldreq r0, [r4, #0x5c]
cmpeq r1, r0
ldreq r0, [r4, #0x60]
cmpeq r0, #0
ldreq r0, [r4, #0x64]
cmpeq r0, #0
ldreq r0, [r4, #0x68]
cmpeq r0, #0
bne _0215eda4
mov r0, r4
bl func_ov00_020d485c
cmp r0, #0
bne _0215ed90
ldrb r0, [r4, #0x25a]
cmp r0, #0
bne _0215ed84
mov r0, r4
ldr r2, [r0]
mov r1, #0
ldr r2, [r2, #0xbc]
blx r2
cmp r0, #0
beq _0215ed90
_0215ed84:
mov r0, #1
strb r0, [r4, #0x25a]
b _0215ee3c
_0215ed90:
mov r0, r4
mov r1, #0x1e
mov r2, #0x5000
bl func_ov00_020d454c
b _0215ee3c
_0215eda4:
mov r0, #0
strb r0, [r4, #0x25a]
b _0215ee3c
_0215edb0:
bl func_ov17_0215e464
b _0215ee3c
_0215edb8:
bl func_ov00_020c2de4
cmp r0, #0
bne _0215ee3c
ldr r2, _0215ee50 ; =data_027e0d0c
mov r0, r4
ldr r3, [r2]
mov r1, #6
str r3, [r4, #0x60]
ldr r3, [r2, #4]
str r3, [r4, #0x64]
ldr r2, [r2, #8]
str r2, [r4, #0x68]
bl func_ov17_0215e9ec
add sp, sp, #8
ldmia sp!, {r3, r4, r5, pc}
_0215edf4:
ldr r0, _0215ee54 ; =data_027e0fc8
add r1, r4, #8
ldr r0, [r0]
bl func_ov00_020bc7e0
cmp r0, #0
beq _0215ee1c
mov r0, r4
mov r1, #0
bl func_ov17_0215e9ec
b _0215ee3c
_0215ee1c:
ldr r0, _0215ee58 ; =data_027e0f94
add r1, r4, #0x48
bl func_01ff9ec0
cmp r0, #0x1000
ble _0215ee3c
mov r0, r4
mov r1, #0
bl func_ov17_0215e9ec
_0215ee3c:
ldr r1, _0215ee5c ; =0x00000733
mov r0, r4
bl func_ov00_020d507c
add sp, sp, #8
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0215ea94
_0215ee50: .word data_027e0d0c
_0215ee54: .word data_027e0fc8
_0215ee58: .word data_027e0f94
_0215ee5c: .word 0x00000733
.global func_ov17_0215ee60
arm_func_start func_ov17_0215ee60
func_ov17_0215ee60: ; 0x0215ee60
ldr ip, _0215ee68 ; =func_ov17_0215ee6c
bx ip
.align 2, 0
arm_func_end func_ov17_0215ee60
_0215ee68: .word func_ov17_0215ee6c
.global func_ov17_0215ee6c
arm_func_start func_ov17_0215ee6c
func_ov17_0215ee6c: ; 0x0215ee6c
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x78
mov r4, r0
ldr r0, _0215ef64 ; =data_ov00_020e9360
mov r1, #2
bl func_ov00_02079e68
mov r5, r0
add r0, r4, #0x188
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
mov r1, r5
bl func_020197bc
add r0, r4, #0x188
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
mov r1, #1
bl func_0201987c
ldrh r1, [r4, #0x78]
ldr r3, _0215ef68 ; =data_02050f54
add r0, sp, #0x54
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
mov r1, r2, lsl #0x1
add r2, r2, #1
mov r2, r2, lsl #0x1
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x200
ldrh r1, [r0, #0x58]
ldr r3, _0215ef68 ; =data_02050f54
add r0, sp, #0x30
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
mov r1, r2, lsl #0x1
add r2, r2, #1
mov r2, r2, lsl #0x1
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
blx func_01ff81f8
add r0, sp, #0x54
add r1, sp, #0x30
add r2, sp, #0xc
bl func_0202e030
add r0, r4, #0x48
add r3, sp, #0
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r2, r3
ldr r3, [sp, #4]
ldr r1, [r4, #0x234]
add r0, r4, #0x188
add r1, r3, r1
str r1, [sp, #4]
ldr r3, [r0]
add r1, sp, #0xc
ldr r3, [r3, #0x14]
blx r3
add sp, sp, #0x78
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0215ee6c
_0215ef64: .word data_ov00_020e9360
_0215ef68: .word data_02050f54
.global func_ov17_0215ef6c
arm_func_start func_ov17_0215ef6c
func_ov17_0215ef6c: ; 0x0215ef6c
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x18
mov r4, r0
movs r5, r1
ldrneb r0, [r4, #0xa5]
ldreqb r0, [r4, #0xa4]
cmp r0, #0
addeq sp, sp, #0x18
ldmeqia sp!, {r3, r4, r5, pc}
ldrb r0, [r4, #0x11b]
cmp r0, #0
beq _0215efb4
ldr r0, _0215f01c ; =data_027e0fc8
ldr r0, [r0]
bl func_ov00_020bbe94
cmp r0, #0
addeq sp, sp, #0x18
ldmeqia sp!, {r3, r4, r5, pc}
_0215efb4:
ldr r0, _0215f020 ; =data_ov00_020e9c88
ldr r3, _0215f024 ; =func_ov17_0215ee60
mov r1, r5
str r4, [sp]
add r2, r4, #0x48
bl func_ov00_0207b89c
ldr r0, [r4, #0x130]
cmp r0, #3
cmpne r0, #4
addeq sp, sp, #0x18
ldmeqia sp!, {r3, r4, r5, pc}
ldr r3, _0215f028 ; =0x000004cd
mov r1, #0
str r3, [sp]
str r1, [sp, #4]
mov r0, #0x14
str r0, [sp, #8]
str r1, [sp, #0xc]
mov ip, #1
str ip, [sp, #0x10]
ldr r0, _0215f02c ; =data_ov00_020e9370
add r2, r4, #0x48
str ip, [sp, #0x14]
bl func_ov05_02102c2c
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0215ef6c
_0215f01c: .word data_027e0fc8
_0215f020: .word data_ov00_020e9c88
_0215f024: .word func_ov17_0215ee60
_0215f028: .word 0x000004cd
_0215f02c: .word data_ov00_020e9370
.global func_ov17_0215f030
arm_func_start func_ov17_0215f030
func_ov17_0215f030: ; 0x0215f030
ldr ip, _0215f044 ; =func_01ff9bc4
mov r2, r0
add r0, r2, #0x244
add r2, r2, #0x244
bx ip
.align 2, 0
arm_func_end func_ov17_0215f030
_0215f044: .word func_01ff9bc4
.global func_ov17_0215f048
arm_func_start func_ov17_0215f048
func_ov17_0215f048: ; 0x0215f048
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020d4ee0
cmp r0, #0
mov r0, #0
strneb r0, [r4, #0x25a]
movne r0, #1
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215f048
.global func_ov17_0215f068
arm_func_start func_ov17_0215f068
func_ov17_0215f068: ; 0x0215f068
stmdb sp!, {r3, lr}
ldr r1, _0215f094 ; =data_027e0fe0
mov r0, #0x23c
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov17_0215f098
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0215f068
_0215f094: .word data_027e0fe0
.global func_ov17_0215f098
arm_func_start func_ov17_0215f098
func_ov17_0215f098: ; 0x0215f098
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020d4414
ldr r2, _0215f100 ; =data_ov17_0216bee4
add r0, r4, #0x188
mov r1, #0
str r2, [r4]
blx func_ov00_020a9588
add r0, r4, #0x1e4
add r1, r4, #0x208
mov r2, #0
blx func_ov00_020c0c08
ldr r1, _0215f104 ; =data_ov17_0216be94
ldr r0, _0215f108 ; =data_027e0d0c
str r1, [r4, #0x1e4]
add r3, r4, #0x228
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mvn r0, #0
str r0, [r4, #0x234]
mov r0, #0
strb r0, [r4, #0x238]
mov r1, #1
mov r0, r4
strb r1, [r4, #0x239]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215f098
_0215f100: .word data_ov17_0216bee4
_0215f104: .word data_ov17_0216be94
_0215f108: .word data_027e0d0c
.global func_ov17_0215f10c
arm_func_start func_ov17_0215f10c
func_ov17_0215f10c: ; 0x0215f10c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x1e4
blx func_ov00_020a9aac
add r0, r4, #0x188
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_020d4478
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215f10c
.global func_ov17_0215f134
arm_func_start func_ov17_0215f134
func_ov17_0215f134: ; 0x0215f134
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x1e4
blx func_ov00_020a9aac
add r0, r4, #0x188
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_020d4478
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215f134
.global func_ov17_0215f164
arm_func_start func_ov17_0215f164
func_ov17_0215f164: ; 0x0215f164
mov r0, #0x800
bx lr
arm_func_end func_ov17_0215f164
.global func_ov17_0215f16c
arm_func_start func_ov17_0215f16c
func_ov17_0215f16c: ; 0x0215f16c
stmdb sp!, {r4, lr}
sub sp, sp, #0x10
mov r4, r0
bl func_ov00_020d4494
cmp r0, #0
addeq sp, sp, #0x10
moveq r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, _0215f2cc ; =data_ov17_0216b0c4
add r3, sp, #4
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldrh r1, [r4, #0x22]
ldr r0, _0215f2d0 ; =gItemManager
ldr r0, [r0]
ldr r1, [r3, r1, lsl #2]
bl _ZN11ItemManager19GetDungeonItemModelEj
mov r1, r0
add r0, r4, #0x188
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
mov r1, #8
strb r1, [r4, #0x125]
ldr r0, _0215f2d4 ; =data_027e0fc4
mov r1, #3
ldr r0, [r0]
blx func_ov00_020bb378
ldr r1, _0215f2d8 ; =0x00000733
mov r2, #0
str r2, [r4, #0x7c]
str r1, [r4, #0x80]
str r2, [r4, #0x84]
str r1, [r4, #0x88]
str r2, [r4, #0x8c]
sub r0, r1, #0xcd
str r0, [r4, #0x90]
str r2, [r4, #0x94]
str r0, [r4, #0x98]
sub r0, r1, #0x8d
str r0, [r4, #0x17c]
str r2, [r4, #0xa8]
str r2, [r4, #0xac]
str r2, [r4, #0xb0]
add r0, r1, #0x1000
str r0, [r4, #0xb4]
add r0, r4, #0x100
strh r2, [r0, #0x80]
ldrh r1, [r4, #0x22]
ldr r0, _0215f2dc ; =data_ov17_0216b0d0
mov r1, r1, lsl #0x1
ldrh r0, [r0, r1]
strh r0, [r4, #0x7a]
ldrh r0, [r4, #0x20]
cmp r0, #1
bne _0215f25c
mov r0, r4
add r1, r4, #0x48
bl func_ov17_0215f874
b _0215f2b8
_0215f25c:
ldr r1, _0215f2e0 ; =data_027e0e60
add r0, sp, #0
ldr r1, [r1]
add r2, r4, #0x48
bl func_ov00_02083a1c
ldr r0, _0215f2e0 ; =data_027e0e60
add r1, sp, #0
ldr r0, [r0]
bl func_ov00_020840c4
cmp r0, #0
beq _0215f2ac
ldr r1, [r0]
ldr r1, [r1, #0x1c]
blx r1
cmp r0, #0x49
bne _0215f2ac
mov r0, r4
add r1, r4, #0x48
bl func_ov17_0215f874
b _0215f2b8
_0215f2ac:
mov r0, r4
mov r1, #0
bl func_ov17_0215f2e4
_0215f2b8:
mov r0, #0x7b
str r0, [r4, #0x6c]
mov r0, #1
add sp, sp, #0x10
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215f16c
_0215f2cc: .word data_ov17_0216b0c4
_0215f2d0: .word gItemManager
_0215f2d4: .word data_027e0fc4
_0215f2d8: .word 0x00000733
_0215f2dc: .word data_ov17_0216b0d0
_0215f2e0: .word data_027e0e60
.global func_ov17_0215f2e4
arm_func_start func_ov17_0215f2e4
func_ov17_0215f2e4: ; 0x0215f2e4
cmp r1, #0
beq _0215f2f8
cmp r1, #2
moveq r2, #0
streqh r2, [r0, #0x78]
_0215f2f8:
str r1, [r0, #0x130]
bx lr
arm_func_end func_ov17_0215f2e4
.global func_ov17_0215f300
arm_func_start func_ov17_0215f300
func_ov17_0215f300: ; 0x0215f300
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #8
mov r4, r0
ldr r1, [r4, #0x130]
cmp r1, #4
addls pc, pc, r1, lsl #2
b _0215f6ec
_0215f31c: ; jump table
b _0215f330 ; case 0
b _0215f6ec ; case 1
b _0215f6ec ; case 2
b _0215f66c ; case 3
b _0215f6a4 ; case 4
_0215f330:
ldrb r0, [r4, #0x184]
cmp r0, #0
movne r0, #0
strneb r0, [r4, #0x184]
mov r0, r4
bl func_ov00_020c3070
ldr r0, [r4, #0x60]
cmp r0, #0
blt _0215f37c
ldr r1, _0215f700 ; =0xfffffe3d
mvn r2, #0
umull ip, r3, r0, r1
mla r3, r0, r2, r3
mov r2, r0, asr #0x1f
mla r3, r2, r1, r3
mov r1, ip, lsr #0xc
orr r1, r1, r3, lsl #20
add r0, r0, r1
b _0215f3a0
_0215f37c:
ldr r1, _0215f704 ; =0x000001c3
mov r2, #0
umull ip, r3, r0, r1
mla r3, r0, r2, r3
mov r2, r0, asr #0x1f
mla r3, r2, r1, r3
mov r1, ip, lsr #0xc
orr r1, r1, r3, lsl #20
sub r0, r0, r1
_0215f3a0:
str r0, [r4, #0x60]
ldr r0, [r4, #0x68]
cmp r0, #0
blt _0215f3d8
ldr r1, _0215f700 ; =0xfffffe3d
mvn r2, #0
umull ip, r3, r0, r1
mla r3, r0, r2, r3
mov r2, r0, asr #0x1f
mla r3, r2, r1, r3
mov r1, ip, lsr #0xc
orr r1, r1, r3, lsl #20
add r0, r0, r1
b _0215f3fc
_0215f3d8:
ldr r1, _0215f704 ; =0x000001c3
mov r2, #0
umull ip, r3, r0, r1
mla r3, r0, r2, r3
mov r2, r0, asr #0x1f
mla r3, r2, r1, r3
mov r1, ip, lsr #0xc
orr r1, r1, r3, lsl #20
sub r0, r0, r1
_0215f3fc:
str r0, [r4, #0x68]
add r0, r4, #0x48
add r1, r4, #0x60
mov r2, r0
bl func_01ff9bc4
add r0, r4, #0x48
add r1, r4, #0x228
mov r2, r0
bl func_01ff9bc4
ldr r1, _0215f708 ; =data_027e0d0c
mov r0, r4
ldr r2, [r1]
str r2, [r4, #0x228]
ldr r2, [r1, #4]
str r2, [r4, #0x22c]
ldr r1, [r1, #8]
str r1, [r4, #0x230]
bl func_ov00_020c2d54
cmp r0, #0
beq _0215f460
mov r0, r4
mov r1, #3
bl func_ov17_0215f2e4
add sp, sp, #8
ldmia sp!, {r4, r5, r6, pc}
_0215f460:
ldr r0, [r4, #0x68]
ldr r1, [r4, #0x60]
cmp r0, #0
rsblt r0, r0, #0
cmp r1, #0
rsblt r1, r1, #0
add r0, r1, r0
cmp r0, #0xcd
blt _0215f4b0
add r0, sp, #0
mov r1, r4
bl func_ov00_020c23c4
ldr r1, [sp]
mvn r0, #0
cmp r1, r0
beq _0215f4b0
mov r0, #0
str r0, [r4, #0x60]
str r0, [r4, #0x68]
b _0215f6ec
_0215f4b0:
ldrb r0, [r4, #0x111]
mov r6, #1
cmp r0, #0
ldreqb r0, [r4, #0x115]
cmpeq r0, #0
mov r0, r4
moveq r6, #0
bl func_ov00_020d4b54
ldrb r1, [r4, #0x239]
mov r5, r0
cmp r1, #0
cmpeq r6, #0
bne _0215f514
ldrb r0, [r4, #0x111]
cmp r0, #0
ldreqb r0, [r4, #0x115]
cmpeq r0, #0
beq _0215f514
mov ip, #1
ldr r0, _0215f70c ; =data_027e0ffc
add r1, ip, #0x1f4
add r2, r4, #0x48
mov r3, #0
strb ip, [r4, #0x239]
bl func_ov00_020ceacc
_0215f514:
ldrb r0, [r4, #0x182]
cmp r0, #0
bne _0215f6ec
cmp r5, #0
bne _0215f5c8
ldrb r0, [r4, #0x111]
cmp r0, #0
beq _0215f6ec
ldrb r0, [r4, #0x115]
cmp r0, #0
bne _0215f6ec
mov r0, r4
mov r5, #0
bl func_ov00_020d485c
cmp r0, #0
bne _0215f580
ldrb r0, [r4, #0x238]
cmp r0, #0
bne _0215f57c
mov r0, r4
ldr r2, [r0]
mov r1, r5
ldr r2, [r2, #0xbc]
blx r2
cmp r0, #0
beq _0215f580
_0215f57c:
mov r5, #1
_0215f580:
ldr r1, _0215f708 ; =data_027e0d0c
add r0, r4, #0x60
mov r2, #0x3d
bl func_0202b2e8
cmp r0, #0
beq _0215f5bc
cmp r5, #0
movne r0, #1
strneb r0, [r4, #0x238]
bne _0215f6ec
mov r0, r4
mov r1, #0x1e
mov r2, #0x5000
bl func_ov00_020d454c
b _0215f6ec
_0215f5bc:
mov r0, #0
strb r0, [r4, #0x238]
b _0215f6ec
_0215f5c8:
ldr r1, [r4, #0x48]
ldr r0, [r4, #0x54]
cmp r1, r0
ldreq r1, [r4, #0x4c]
ldreq r0, [r4, #0x58]
cmpeq r1, r0
ldreq r1, [r4, #0x50]
ldreq r0, [r4, #0x5c]
cmpeq r1, r0
ldreq r0, [r4, #0x60]
cmpeq r0, #0
ldreq r0, [r4, #0x64]
cmpeq r0, #0
ldreq r0, [r4, #0x68]
cmpeq r0, #0
bne _0215f660
mov r0, r4
bl func_ov00_020d485c
cmp r0, #0
bne _0215f64c
ldrb r0, [r4, #0x238]
cmp r0, #0
bne _0215f640
mov r0, r4
ldr r2, [r0]
mov r1, #0
ldr r2, [r2, #0xbc]
blx r2
cmp r0, #0
beq _0215f64c
_0215f640:
mov r0, #1
strb r0, [r4, #0x238]
b _0215f6ec
_0215f64c:
mov r0, r4
mov r1, #0x1e
mov r2, #0x5000
bl func_ov00_020d454c
b _0215f6ec
_0215f660:
mov r0, #0
strb r0, [r4, #0x238]
b _0215f6ec
_0215f66c:
bl func_ov00_020c2de4
cmp r0, #0
bne _0215f6ec
ldr r2, _0215f708 ; =data_027e0d0c
mov r0, r4
ldr r3, [r2]
mov r1, #4
str r3, [r4, #0x60]
ldr r3, [r2, #4]
str r3, [r4, #0x64]
ldr r2, [r2, #8]
str r2, [r4, #0x68]
bl func_ov17_0215f2e4
b _0215f6ec
_0215f6a4:
ldr r0, _0215f710 ; =data_027e0fc8
add r1, r4, #8
ldr r0, [r0]
bl func_ov00_020bc7e0
cmp r0, #0
beq _0215f6cc
mov r0, r4
mov r1, #0
bl func_ov17_0215f2e4
b _0215f6ec
_0215f6cc:
ldr r0, _0215f714 ; =data_027e0f94
add r1, r4, #0x48
bl func_01ff9ec0
cmp r0, #0x1000
ble _0215f6ec
mov r0, r4
mov r1, #0
bl func_ov17_0215f2e4
_0215f6ec:
ldr r1, _0215f718 ; =0x00000733
mov r0, r4
bl func_ov00_020d507c
add sp, sp, #8
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov17_0215f300
_0215f700: .word 0xfffffe3d
_0215f704: .word 0x000001c3
_0215f708: .word data_027e0d0c
_0215f70c: .word data_027e0ffc
_0215f710: .word data_027e0fc8
_0215f714: .word data_027e0f94
_0215f718: .word 0x00000733
.global func_ov17_0215f71c
arm_func_start func_ov17_0215f71c
func_ov17_0215f71c: ; 0x0215f71c
ldr ip, _0215f724 ; =func_ov00_020d4de8
bx ip
.align 2, 0
arm_func_end func_ov17_0215f71c
_0215f724: .word func_ov00_020d4de8
.global func_ov17_0215f728
arm_func_start func_ov17_0215f728
func_ov17_0215f728: ; 0x0215f728
stmdb sp!, {r4, lr}
sub sp, sp, #0x48
mov r4, r0
cmp r1, #0
ldrneb r0, [r4, #0xa5]
ldreqb r0, [r4, #0xa4]
cmp r0, #0
addeq sp, sp, #0x48
ldmeqia sp!, {r4, pc}
ldrb r0, [r4, #0x11b]
cmp r0, #0
beq _0215f770
ldr r0, _0215f84c ; =data_027e0fc8
ldr r0, [r0]
bl func_ov00_020bbe94
cmp r0, #0
addeq sp, sp, #0x48
ldmeqia sp!, {r4, pc}
_0215f770:
ldrh r1, [r4, #0x78]
ldr r3, _0215f850 ; =data_02050f54
add r0, sp, #0x24
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x188
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
ldr r1, _0215f854 ; =data_027e0f78
ldr r1, [r1]
ldrh r1, [r1, #0x1e]
bl func_020196bc
add r0, r4, #0x188
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
ldr r1, _0215f854 ; =data_027e0f78
ldr r1, [r1]
ldrh r1, [r1, #0x1c]
bl func_020196fc
add r0, r4, #0x188
ldr r3, [r0]
add r1, sp, #0x24
ldr r3, [r3, #0x14]
add r2, r4, #0x48
blx r3
ldr r1, [r4, #0x4c]
ldr r2, [r4, #0x50]
ldr r0, [r4, #0x48]
add r1, r1, #0x80
str r0, [sp, #0x18]
str r1, [sp, #0x1c]
str r2, [sp, #0x20]
mov r3, #0x400
str r3, [sp]
mov r1, #0
str r1, [sp, #4]
mov r0, #0x1f
str r0, [sp, #8]
str r1, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
str r0, [sp, #0x14]
ldr r0, _0215f858 ; =data_ov00_020e9370
add r2, sp, #0x18
bl func_ov05_02102c2c
add sp, sp, #0x48
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215f728
_0215f84c: .word data_027e0fc8
_0215f850: .word data_02050f54
_0215f854: .word data_027e0f78
_0215f858: .word data_ov00_020e9370
.global func_ov17_0215f85c
arm_func_start func_ov17_0215f85c
func_ov17_0215f85c: ; 0x0215f85c
ldr ip, _0215f870 ; =func_01ff9bc4
mov r2, r0
add r0, r2, #0x228
add r2, r2, #0x228
bx ip
.align 2, 0
arm_func_end func_ov17_0215f85c
_0215f870: .word func_01ff9bc4
.global func_ov17_0215f874
arm_func_start func_ov17_0215f874
func_ov17_0215f874: ; 0x0215f874
stmdb sp!, {r3, r4, r5, lr}
mov r5, r1
mov r1, #2
mov r4, r0
bl func_ov17_0215f2e4
ldr r1, _0215f904 ; =data_027e0e60
add r0, sp, #0
ldr r1, [r1]
mov r2, r5
bl func_ov00_02083a1c
ldr r0, _0215f904 ; =data_027e0e60
add r1, sp, #0
ldr r0, [r0]
bl func_ov00_020840c4
movs r5, r0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r1, [r0]
ldr r1, [r1, #0x1c]
blx r1
cmp r0, #0x49
ldmneia sp!, {r3, r4, r5, pc}
ldr r0, [r5, #0x1c]
ldr r2, [r5, #0x20]
ldr r1, [r5, #0x18]
add r0, r0, #0x66
str r1, [r4, #0x48]
add r0, r0, #0x200
str r0, [r4, #0x4c]
str r2, [r4, #0x50]
ldr r0, [r4, #0x48]
str r0, [r4, #0x158]
ldr r0, [r4, #0x4c]
str r0, [r4, #0x15c]
ldr r0, [r4, #0x50]
str r0, [r4, #0x160]
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0215f874
_0215f904: .word data_027e0e60
.global func_ov17_0215f908
arm_func_start func_ov17_0215f908
func_ov17_0215f908: ; 0x0215f908
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r2, #1
mov r4, r1
strb r2, [r5, #0x184]
mov r1, #0
bl func_ov17_0215f2e4
ldr r0, [r4]
mov r1, #0xa
str r0, [r5, #0x158]
ldr r2, [r4, #4]
mov r0, r5
str r2, [r5, #0x15c]
ldr r3, [r4, #8]
rsb r2, r1, #0x900
str r3, [r5, #0x160]
bl func_ov00_020d454c
ldr r0, [r4]
str r0, [r5, #0x158]
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov17_0215f908
.global func_ov17_0215f958
arm_func_start func_ov17_0215f958
func_ov17_0215f958: ; 0x0215f958
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
ldrb r2, [r5, #0x182]
mov r4, r1
cmp r2, #0
beq _0215f988
bl func_ov00_020c313c
cmp r0, #0
beq _0215f98c
mov r0, r5
bl func_ov00_020d4880
b _0215f98c
_0215f988:
bl func_ov00_020d4ac4
_0215f98c:
mov r1, r4
add r0, r5, #0xa4
add r2, r5, #0x48
bl func_ov00_0207a1c8
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov17_0215f958
.global func_ov17_0215f9a0
arm_func_start func_ov17_0215f9a0
func_ov17_0215f9a0: ; 0x0215f9a0
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
mov r4, r0
ldr r0, [r4, #0x130]
cmp r0, #2
bne _0215fa00
ldr r1, [r4, #0x48]
ldr r0, _0215fa20 ; =data_027e0e60
str r1, [sp]
ldr r1, [r4, #0x4c]
ldr r0, [r0]
str r1, [sp, #4]
ldr r2, [r4, #0x50]
add r1, sp, #0
str r2, [sp, #8]
ldr r2, [r4, #8]
bl func_ov00_0208583c
cmp r0, #0
movlt r0, #1
movge r0, #0
cmp r0, #0
addne sp, sp, #0xc
movne r0, #0
ldmneia sp!, {r3, r4, pc}
_0215fa00:
mov r1, #0
mov r0, r4
strh r1, [r4, #0x78]
bl func_ov17_0215f2e4
mov r0, r4
bl func_ov00_020d4e98
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_0215f9a0
_0215fa20: .word data_027e0e60
.global func_ov17_0215fa24
arm_func_start func_ov17_0215fa24
func_ov17_0215fa24: ; 0x0215fa24
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020d4ee0
cmp r0, #0
mov r0, #0
ldmeqia sp!, {r4, pc}
strb r0, [r4, #0x238]
strb r0, [r4, #0x239]
mov r0, #1
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0215fa24
.global func_ov17_0215fa4c
thumb_func_start func_ov17_0215fa4c
func_ov17_0215fa4c: ; 0x0215fa4c
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
str r1, [r4]
ldr r0, _0215fa90 ; =func_ov17_0215fa98
ldr r3, _0215fa94 ; =func_ov17_0215fa9c
str r0, [sp]
add r0, r4, #4
mov r1, #9
mov r2, #0x18
blx func_0204f614
add r0, r4, #0
mov r1, #0
add r0, #0xdc
strb r1, [r0]
add r0, r4, #0
add r0, #0xdd
strb r1, [r0]
add r0, r4, #0
add r0, #0xde
strh r1, [r0]
add r0, r4, #0
add r0, #0xe0
strb r1, [r0]
add r0, r4, #0
add r0, #0xe1
strb r1, [r0]
add r0, r4, #0
bl func_ov17_021601d0
add r0, r4, #0
add sp, #4
pop {r3, r4, pc}
.align 2, 0
thumb_func_end func_ov17_0215fa4c
_0215fa90: .word func_ov17_0215fa98
_0215fa94: .word func_ov17_0215fa9c
.global func_ov17_0215fa98
arm_func_start func_ov17_0215fa98
func_ov17_0215fa98: ; 0x0215fa98
bx lr
arm_func_end func_ov17_0215fa98
.global func_ov17_0215fa9c
arm_func_start func_ov17_0215fa9c
func_ov17_0215fa9c: ; 0x0215fa9c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020d05dc
ldr r0, _0215fad4 ; =data_ov00_020e899c
mov r1, #0
str r0, [r4]
strb r1, [r4, #0x10]
sub r0, r1, #1
strb r0, [r4, #0x11]
strb r0, [r4, #0x12]
strb r0, [r4, #0x13]
mov r0, r4
str r1, [r4, #0x14]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0215fa9c
_0215fad4: .word data_ov00_020e899c
.global func_ov17_0215fad8
thumb_func_start func_ov17_0215fad8
func_ov17_0215fad8: ; 0x0215fad8
push {r4, lr}
add r4, r0, #0
ldr r3, _0215faec ; =func_ov17_0215fa98
add r0, r4, #4
mov r1, #9
mov r2, #0x18
blx func_0204f754
add r0, r4, #0
pop {r4, pc}
.align 2, 0
thumb_func_end func_ov17_0215fad8
_0215faec: .word func_ov17_0215fa98
.global func_ov17_0215faf0
thumb_func_start func_ov17_0215faf0
func_ov17_0215faf0: ; 0x0215faf0
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
str r0, [sp]
blx func_ov03_020f8024
add r4, r0, #0
blx func_ov03_020f8008
add r5, r0, #0
sub r0, r4, r5
add r0, r0, #1
cmp r0, #6
ble _0215fb14
ldr r0, [sp]
add r1, r5, #5
add r0, #0xe1
strb r1, [r0]
b _0215fb1a
_0215fb14:
ldr r0, [sp]
add r0, #0xe1
strb r4, [r0]
_0215fb1a:
ldr r0, [sp]
blx func_ov17_02160280
ldr r0, [sp]
mov r1, #0
add r0, #0xdd
strb r5, [r0]
ldr r0, [sp]
add r0, #0xde
strh r1, [r0]
ldr r0, [sp]
mov r1, #0xdd
ldrsb r1, [r0, r1]
add r0, #0xdc
strb r1, [r0]
blx func_ov03_020f8040
add r4, r0, #0
blx func_ov03_020f8024
str r0, [sp, #4]
sub r0, r0, r4
add r0, r0, #1
cmp r0, #6
bge _0215fb50
mov r1, #0
b _0215fb96
_0215fb50:
ldr r0, [sp, #4]
mov r5, #1
mov r6, #0xff
lsl r5, r5, #8
mvn r6, r6
cmp r4, r0
bgt _0215fb88
_0215fb5e:
ldr r0, _0215fba4 ; =data_027e0e60
ldr r7, [r0]
add r0, r4, #0
blx func_ov03_020f8068
add r1, r0, #0
add r0, r7, #0
blx func_ov00_02083614
cmp r0, #0
beq _0215fb80
cmp r4, r5
bge _0215fb7a
add r5, r4, #0
_0215fb7a:
cmp r4, r6
ble _0215fb80
add r6, r4, #0
_0215fb80:
ldr r0, [sp, #4]
add r4, r4, #1
cmp r4, r0
ble _0215fb5e
_0215fb88:
sub r0, r6, r5
add r0, r0, #1
cmp r0, #6
ble _0215fb94
mov r1, #1
b _0215fb96
_0215fb94:
mov r1, #0
_0215fb96:
ldr r0, [sp]
add r0, #0xe0
str r0, [sp]
strb r1, [r0]
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
thumb_func_end func_ov17_0215faf0
_0215fba4: .word data_027e0e60
.global func_ov17_0215fba8
arm_func_start func_ov17_0215fba8
func_ov17_0215fba8: ; 0x0215fba8
ldr r1, _0215fbd0 ; =data_027e077c
ldr r1, [r1]
cmp r1, #8
bxne lr
ldrh r2, [r0, #0xde]
ldr r1, _0215fbd4 ; =0x0000ffff
cmp r2, r1
addlo r1, r2, #1
strloh r1, [r0, #0xde]
bx lr
.align 2, 0
arm_func_end func_ov17_0215fba8
_0215fbd0: .word data_027e077c
_0215fbd4: .word 0x0000ffff
.global func_ov17_0215fbd8
arm_func_start func_ov17_0215fbd8
func_ov17_0215fbd8: ; 0x0215fbd8
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mov r7, r0
ldrsb r0, [r7, #0xdd]
strb r0, [r7, #0xdc]
bl func_ov03_020f7fec
mov r6, r0
cmp r6, #6
mov r0, r7
mov r1, #0
movge r6, #6
bl func_ov17_02160274
ldr fp, _0215fcd0 ; =data_027e0e60
mov r4, r7
add r5, r7, #4
mov sb, #0
_0215fc14:
cmp sb, #6
cmpne sb, #7
cmpne sb, #8
beq _0215fc78
mov r0, r7
mov r1, sb
bl func_ov17_02160274
mov r8, r0
cmp sb, r6
bge _0215fcb4
ldr sl, [fp]
bl func_ov03_020f8068
mov r1, r0
mov r0, sl
bl func_ov00_02083614
cmp r0, #0
beq _0215fcb4
ldr sl, [fp]
mov r0, r8
bl func_ov03_020f8068
mov r1, r0
mov r0, sl
bl func_ov00_02083604
cmp r0, #0
beq _0215fcb4
_0215fc78:
mov r0, r5
ldr sl, [r0]
ldrh r8, [r4, #0xe]
mov r1, #0
ldr sl, [sl]
mov r2, r1
mov r3, r1
blx sl
mov r2, r0
mov r0, r7
mov r1, r8
bl func_ov17_0215fcd4
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0215fcb4:
add sb, sb, #1
cmp sb, #9
add r4, r4, #0x18
add r5, r5, #0x18
blt _0215fc14
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov17_0215fbd8
_0215fcd0: .word data_027e0e60
.global func_ov17_0215fcd4
arm_func_start func_ov17_0215fcd4
func_ov17_0215fcd4: ; 0x0215fcd4
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mov fp, r2
mov sb, r0
tst fp, #1
mov sl, r1
movne r0, #0
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
cmp sl, #0x34
cmpne sl, #0x35
cmpne sl, #0x36
bne _0215fd10
tst fp, #0x20
beq _0215fd1c
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0215fd10:
sub r1, sl, #0x37
bl func_ov17_02160274
strb r0, [sb, #0xdc]
_0215fd1c:
ldr r4, _0215ff1c ; =0x0001869f
rsb r5, r4, #0
bl func_ov03_020f8024
mov r6, r0
bl func_ov03_020f8040
mov r7, r0
cmp r7, r6
bgt _0215fd7c
_0215fd3c:
ldr r0, _0215ff20 ; =data_027e0e60
ldr r8, [r0]
mov r0, r7
bl func_ov03_020f8068
mov r1, r0
mov r0, r8
bl func_ov00_02083614
cmp r0, #0
beq _0215fd70
cmp r5, r7
movlt r5, r7
cmp r4, r7
movgt r4, r7
_0215fd70:
add r7, r7, #1
cmp r7, r6
ble _0215fd3c
_0215fd7c:
sub r0, sl, #0x34
cmp r0, #8
addls pc, pc, r0, lsl #2
b _0215ff14
_0215fd8c: ; jump table
b _0215fe20 ; case 0
b _0215fe4c ; case 1
b _0215feb0 ; case 2
b _0215fdb0 ; case 3
b _0215fdb0 ; case 4
b _0215fdb0 ; case 5
b _0215fdb0 ; case 6
b _0215fdb0 ; case 7
b _0215fdb0 ; case 8
_0215fdb0:
tst fp, #8
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
mov r0, sb
sub r1, sl, #0x37
bl func_ov17_02160274
strb r0, [sb, #0xdd]
mov r0, sb
sub r1, sl, #0x37
bl func_ov17_02160274
ldr r2, [sb]
ldrsh r1, [r2, #0x30]
cmp r0, r1
beq _0215fe04
strh r0, [r2, #0x30]
bl func_ov03_020f8068
ldr r2, _0215ff24 ; =data_027e1054
mov r1, r0
ldr r0, [r2]
ldr r0, [r0, #4]
blx func_ov03_020f4d50
_0215fe04:
ldr r0, _0215ff28 ; =data_ov00_020eec9c
mov r1, #6
bl func_ov00_020d77e4
mov r0, #0
strh r0, [sb, #0xde]
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0215fe20:
tst fp, #8
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r0, _0215ff2c ; =data_027e077c
mov r1, #9
bl func_0202e740
ldr r0, _0215ff28 ; =data_ov00_020eec9c
mov r1, #0x11
bl func_ov00_020d77e4
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0215fe4c:
ldrb r0, [sb, #0xe0]
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
tst fp, #0x48
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldrsb r0, [sb, #0xe1]
add r0, r0, #1
strb r0, [sb, #0xe1]
ldrsb r1, [sb, #0xe1]
cmp r1, r5
movgt r1, r5
bgt _0215fe90
add r0, r4, #5
cmp r1, r0
movlt r1, r0
_0215fe90:
mov r0, sb
strb r1, [sb, #0xe1]
bl func_ov17_02160280
ldr r0, _0215ff28 ; =data_ov00_020eec9c
mov r1, #3
bl func_ov00_020d77e4
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0215feb0:
ldrb r0, [sb, #0xe0]
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
tst fp, #0x48
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldrsb r0, [sb, #0xe1]
sub r0, r0, #1
strb r0, [sb, #0xe1]
ldrsb r1, [sb, #0xe1]
cmp r1, r5
movgt r1, r5
bgt _0215fef4
add r0, r4, #5
cmp r1, r0
movlt r1, r0
_0215fef4:
mov r0, sb
strb r1, [sb, #0xe1]
bl func_ov17_02160280
ldr r0, _0215ff28 ; =data_ov00_020eec9c
mov r1, #3
bl func_ov00_020d77e4
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_0215ff14:
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov17_0215fcd4
_0215ff1c: .word 0x0001869f
_0215ff20: .word data_027e0e60
_0215ff24: .word data_027e1054
_0215ff28: .word data_ov00_020eec9c
_0215ff2c: .word data_027e077c
.global func_ov17_0215ff30
arm_func_start func_ov17_0215ff30
func_ov17_0215ff30: ; 0x0215ff30
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x38
mov sl, r0
add r0, sp, #0x18
mov r4, r1
bl func_01ffbe34
ldr r0, _021600e0 ; =data_027e0618
mov r1, #0
ldrb r0, [r0, #0x101]
add r5, sp, #0x18
mov r3, r1
cmp r0, #0
movne r0, #2
strneb r0, [sp, #0x20]
ldr r0, _021600e4 ; =data_ov17_0216bfb4
ldr r0, [r0, #8]
sub r8, r4, r0
mov r2, r8
mov r0, #0xc1
str r5, [sp]
bl func_0203493c
mov r3, r5
mov r1, r8
add r0, sl, #0x94
mov r2, #0
str sl, [sp]
bl func_ov00_020d00c4
bl func_ov03_020f7fec
mov sb, r0
cmp sb, #6
movge sb, #6
bl func_ov03_020f7fec
bl func_ov03_020f8008
str r0, [sp, #0x14]
cmp sb, #0
mov r5, #0
ble _02160098
add r7, sl, #4
add fp, r8, #0x14
_0215ffcc:
mov r0, sl
mov r1, r5
bl func_ov17_02160274
ldr r1, _021600e8 ; =data_027e0e60
mov r4, r0
ldr r6, [r1]
bl func_ov03_020f8068
mov r1, r0
mov r0, r6
bl func_ov00_02083614
cmp r0, #0
beq _02160088
mov r0, r7
mov r1, r8
mov r2, #0
add r3, sp, #0x18
str sl, [sp]
bl func_ov00_020d00c4
ldr r0, _021600e0 ; =data_027e0618
ldrb r0, [r0, #0x101]
cmp r0, #0
ldreq r0, _021600ec ; =data_027e077c
ldreq r0, [r0]
cmpeq r0, #8
ldreq r0, [sl]
ldreqsb r0, [r0, #0x14]
cmpeq r0, #2
ldreq r0, [sp, #0x14]
cmpeq r4, r0
bne _02160088
ldrh r0, [sl, #0xde]
mov r1, #0x24
bl func_01ff9b88
cmp r0, #0x12
bge _02160088
mov r0, #2
str r0, [sp]
stmib sp, {r0, fp}
mov r0, #0
str r0, [sp, #0xc]
add r0, sp, #0x18
str r0, [sp, #0x10]
mov r0, #0xc1
mov r1, #0x28
mov r2, r0
add r3, r5, #2
bl func_02034cc4
_02160088:
add r7, r7, #0x18
add r5, r5, #1
cmp r5, sb
blt _0215ffcc
_02160098:
ldrb r0, [sl, #0xe0]
cmp r0, #0
addeq sp, sp, #0x38
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
mov r2, #0
add r3, sp, #0x18
mov r1, r8
add r0, sl, #0xac
str r2, [sp]
bl func_ov00_020d00c4
mov r2, #0
add r3, sp, #0x18
mov r1, r8
add r0, sl, #0xc4
str r2, [sp]
bl func_ov00_020d00c4
add sp, sp, #0x38
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov17_0215ff30
_021600e0: .word data_027e0618
_021600e4: .word data_ov17_0216bfb4
_021600e8: .word data_027e0e60
_021600ec: .word data_027e077c
.global func_ov17_021600f0
arm_func_start func_ov17_021600f0
func_ov17_021600f0: ; 0x021600f0
mov r1, #0
strh r1, [r0, #0xde]
bx lr
arm_func_end func_ov17_021600f0
.global func_ov17_021600fc
arm_func_start func_ov17_021600fc
func_ov17_021600fc: ; 0x021600fc
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0x28
mov sb, r0
add r0, sp, #8
mov r8, r1
mov r7, r2
mov r6, r3
bl func_01ffbe34
ldr r0, _021601cc ; =data_027e0618
ldrb r0, [r0, #0x101]
cmp r0, #0
movne r0, #2
strneb r0, [sp, #0x10]
ldrh r5, [r8, #0xa]
ldrb r4, [r8, #0xd]
sub r1, r5, #0x37
cmp r1, #5
addls pc, pc, r1, lsl #2
b _021601c0
_02160148: ; jump table
b _02160160 ; case 0
b _02160160 ; case 1
b _02160160 ; case 2
b _02160160 ; case 3
b _02160160 ; case 4
b _02160160 ; case 5
_02160160:
mov r0, sb
bl func_ov17_02160274
ldrsb r1, [sb, #0xdc]
cmp r1, r0
bne _021601c0
mov r0, sb
sub r1, r5, #0x37
bl func_ov17_02160274
ldrsb r1, [sb, #0xdd]
cmp r1, r0
beq _02160194
tst r4, #8
beq _021601c0
_02160194:
add r0, sp, #8
str r6, [sp]
str r0, [sp, #4]
ldrsb r1, [r8, #0x13]
ldrsb r2, [r8, #0x10]
mov r3, r7
mov r0, #0xc1
bl func_020349cc
add sp, sp, #0x28
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
_021601c0:
mov r0, #0
add sp, sp, #0x28
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov17_021600fc
_021601cc: .word data_027e0618
.global func_ov17_021601d0
thumb_func_start func_ov17_021601d0
func_ov17_021601d0: ; 0x021601d0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r6, r0, #0
mov r4, #0
add r5, r6, #4
mov r7, #1
_021601dc:
add r0, r4, #0
add r0, #0x37
str r0, [sp]
add r2, r4, #2
add r3, r4, #1
lsl r2, r2, #0x18
lsl r3, r3, #0x18
ldr r0, _02160270 ; =func_ov17_021600fc
str r7, [sp, #4]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
add r0, r5, #0
mov r1, #0xc1
asr r2, r2, #0x18
lsr r3, r3, #0x18
blx func_ov00_020cfed0
add r4, r4, #1
add r5, #0x18
cmp r4, #6
blt _021601dc
mov r0, #0x34
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
str r0, [sp, #0xc]
add r0, r6, #0
add r0, #0x94
mov r1, #0xbf
mov r2, #7
mov r3, #3
blx func_ov00_020cfed0
mov r0, #0x35
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
str r0, [sp, #0xc]
add r0, r6, #0
add r0, #0xac
mov r1, #0xc1
mov r2, #0x14
mov r3, #7
blx func_ov00_020cfed0
add r0, r6, #0
mov r1, #0x29
add r0, #0xbf
strb r1, [r0]
mov r0, #0x36
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
str r0, [sp, #0xc]
add r0, r6, #0
add r0, #0xc4
mov r1, #0xc1
mov r2, #0x15
mov r3, #8
blx func_ov00_020cfed0
mov r0, #0x2a
add r6, #0xd7
strb r0, [r6]
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
thumb_func_end func_ov17_021601d0
_02160270: .word func_ov17_021600fc
.global func_ov17_02160274
arm_func_start func_ov17_02160274
func_ov17_02160274: ; 0x02160274
ldrsb r0, [r0, #0xe1]
sub r0, r0, r1
bx lr
arm_func_end func_ov17_02160274
.global func_ov17_02160280
arm_func_start func_ov17_02160280
func_ov17_02160280: ; 0x02160280
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r0
bl func_ov03_020f7fec
mov r6, r0
cmp r6, #6
movge r6, #6
mov r4, #0
cmp r6, #0
ldmleia sp!, {r3, r4, r5, r6, r7, pc}
mov r5, r7
_021602a8:
mov r0, r7
mov r1, r4
bl func_ov17_02160274
rsb r1, r0, #6
add r4, r4, #1
strb r1, [r5, #0x15]
rsb r0, r0, #0x1a
strb r0, [r5, #0x17]
cmp r4, r6
add r5, r5, #0x18
blt _021602a8
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end func_ov17_02160280
.global func_ov17_021602d8
arm_func_start func_ov17_021602d8
func_ov17_021602d8: ; 0x021602d8
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r7, r1
mov r6, r2
add r5, r0, #4
mov r4, #0
_021602ec:
mov r0, r5
mov r1, r6
mov r2, r7
bl func_ov00_020d0a14
add r4, r4, #1
cmp r4, #9
add r5, r5, #0x18
blt _021602ec
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end func_ov17_021602d8
.global func_ov17_02160310
arm_func_start func_ov17_02160310
func_ov17_02160310: ; 0x02160310
mov r2, #0
mov r1, #1
_02160318:
add r2, r2, #1
strb r1, [r0, #0x11]
cmp r2, #9
add r0, r0, #0x18
blt _02160318
bx lr
arm_func_end func_ov17_02160310
.global func_ov17_02160330
arm_func_start func_ov17_02160330
func_ov17_02160330: ; 0x02160330
ldr r2, _02160360 ; =0x04001040
rsb r1, r0, #0xc0
mov r3, #0x2000
mov r1, r1, lsl #0x8
and r1, r1, #0xff00
strh r3, [r2]
and r0, r0, #0xff
strh r0, [r2, #4]
strh r3, [r2, #2]
orr r0, r1, #0xc0
strh r0, [r2, #6]
bx lr
.align 2, 0
arm_func_end func_ov17_02160330
_02160360: .word 0x04001040
.global func_ov17_02160364
thumb_func_start func_ov17_02160364
func_ov17_02160364: ; 0x02160364
push {r3, r4, r5, lr}
sub sp, #8
add r4, r0, #0
str r1, [r4]
mov r0, #0
str r0, [r4, #4]
str r0, [r4, #8]
add r0, r4, #0
add r0, #0xc
bl func_0202ab78
add r0, r4, #0
add r0, #0xc
bl func_0202ab54
ldr r0, _021603cc ; =func_ov17_0216045c
add r1, sp, #0
str r0, [sp]
ldr r0, _021603d0 ; =data_027e077c
str r4, [sp, #4]
bl func_0202e7a4
ldr r0, _021603d4 ; =0x04001048
mov r2, #0x3f
ldrh r1, [r0]
mov r3, #0x20
bic r1, r2
orr r1, r3
strh r1, [r0]
ldrh r5, [r0]
ldr r1, _021603d8 ; =0xffffc0ff
and r5, r1
lsl r1, r3, #8
orr r1, r5
strh r1, [r0]
ldrh r5, [r0, #2]
mov r1, #0x1f
bic r5, r2
orr r1, r5
orr r1, r3
strh r1, [r0, #2]
sub r0, #0x48
ldr r2, [r0]
ldr r1, _021603dc ; =0xffff1fff
and r1, r2
str r1, [r0]
mov r0, #0
blx func_ov17_02160330
add r0, r4, #0
add sp, #8
pop {r3, r4, r5, pc}
.align 2, 0
thumb_func_end func_ov17_02160364
_021603cc: .word func_ov17_0216045c
_021603d0: .word data_027e077c
_021603d4: .word 0x04001048
_021603d8: .word 0xffffc0ff
_021603dc: .word 0xffff1fff
.global func_ov17_021603e0
thumb_func_start func_ov17_021603e0
func_ov17_021603e0: ; 0x021603e0
push {r4, r5, r6, lr}
sub sp, #8
ldr r1, _02160438 ; =0x04001000
add r4, r0, #0
ldr r2, [r1]
ldr r0, _0216043c ; =0xffff1fff
mov r3, #0x3f
and r0, r2
str r0, [r1]
add r0, r1, #0
add r0, #0x48
ldrh r2, [r0]
mov r5, #0x20
add r1, #0x4a
bic r2, r3
orr r2, r5
strh r2, [r0]
ldrh r6, [r0]
ldr r2, _02160440 ; =0xffffc0ff
and r6, r2
lsl r2, r5, #8
orr r2, r6
strh r2, [r0]
ldrh r0, [r1]
bic r0, r3
orr r0, r5
strh r0, [r1]
mov r0, #0
blx func_ov17_02160330
ldr r0, _02160444 ; =func_ov17_0216045c
add r1, sp, #0
str r0, [sp]
ldr r0, _02160448 ; =data_027e077c
str r4, [sp, #4]
bl func_0202e7fc
add r0, r4, #0
add r0, #0xc
bl func_0202ab64
add r0, r4, #0
add sp, #8
pop {r4, r5, r6, pc}
.align 2, 0
thumb_func_end func_ov17_021603e0
_02160438: .word 0x04001000
_0216043c: .word 0xffff1fff
_02160440: .word 0xffffc0ff
_02160444: .word func_ov17_0216045c
_02160448: .word data_027e077c
.global func_ov17_0216044c
thumb_func_start func_ov17_0216044c
func_ov17_0216044c: ; 0x0216044c
mov r1, #0
str r1, [r0, #4]
str r1, [r0, #8]
ldr r3, _02160458 ; =func_0202ab78
add r0, #0xc
bx r3
.align 2, 0
thumb_func_end func_ov17_0216044c
_02160458: .word func_0202ab78
.global func_ov17_0216045c
arm_func_start func_ov17_0216045c
func_ov17_0216045c: ; 0x0216045c
stmdb sp!, {r4, lr}
mov r4, r2
cmp r1, #0x29
bne _02160490
ldr r0, _021604c0 ; =data_027e0d3c
ldr r0, [r0]
bl func_ov00_02078f80
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
mov r1, #6
bl func_ov17_021604c4
ldmia sp!, {r4, pc}
_02160490:
cmp r1, #0xa
bne _021604a8
mov r0, r4
mov r1, #1
bl func_ov17_021604c4
ldmia sp!, {r4, pc}
_021604a8:
cmp r0, #0xa
ldmneia sp!, {r4, pc}
mov r0, r4
mov r1, #5
bl func_ov17_021604c4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216045c
_021604c0: .word data_027e0d3c
.global func_ov17_021604c4
arm_func_start func_ov17_021604c4
func_ov17_021604c4: ; 0x021604c4
stmdb sp!, {r3, r4, r5, lr}
mov r4, r1
mov r5, r0
cmp r4, #8
addls pc, pc, r4, lsl #2
b _0216053c
_021604dc: ; jump table
b _0216053c ; case 0
b _0216053c ; case 1
b _0216053c ; case 2
b _0216053c ; case 3
b _0216053c ; case 4
b _0216053c ; case 5
b _02160500 ; case 6
b _0216053c ; case 7
b _0216052c ; case 8
_02160500:
mov r2, #1
str r2, [r5, #0xc]
mov r3, #0
add r0, r5, #0xc
mov r1, #0x10
str r3, [r5, #0x14]
blx func_0202abf4
ldr r0, _0216054c ; =data_027e071c
add r1, r5, #0xc
bl func_0202d77c
b _0216053c
_0216052c:
add r0, r5, #0xc
mov r1, #0x10
mov r2, #1
blx func_0202abdc
_0216053c:
mov r0, #0
str r0, [r5, #8]
str r4, [r5, #4]
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_021604c4
_0216054c: .word data_027e071c
.global func_ov17_02160550
arm_func_start func_ov17_02160550
func_ov17_02160550: ; 0x02160550
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #8]
adds r0, r0, #1
str r0, [r4, #8]
movmi r0, #0
strmi r0, [r4, #8]
ldr r0, [r4, #4]
cmp r0, #8
addls pc, pc, r0, lsl #2
ldmia sp!, {r4, pc}
_0216057c: ; jump table
ldmia sp!, {r4, pc} ; case 0
ldmia sp!, {r4, pc} ; case 1
b _021605a0 ; case 2
b _021605bc ; case 3
b _021605d4 ; case 4
ldmia sp!, {r4, pc} ; case 5
b _021605f0 ; case 6
b _02160614 ; case 7
b _02160624 ; case 8
_021605a0:
ldr r0, [r4, #8]
cmp r0, #8
ldmltia sp!, {r4, pc}
mov r0, r4
mov r1, #3
bl func_ov17_021604c4
ldmia sp!, {r4, pc}
_021605bc:
ldr r0, [r4]
blx func_ov03_020f4fb8
mov r0, r4
mov r1, #4
bl func_ov17_021604c4
ldmia sp!, {r4, pc}
_021605d4:
ldr r0, [r4, #8]
cmp r0, #8
ldmltia sp!, {r4, pc}
ldr r0, _02160658 ; =data_027e077c
mov r1, #8
bl func_0202e740
ldmia sp!, {r4, pc}
_021605f0:
ldr r0, [r4, #0xc]
cmp r0, #0
ldmneia sp!, {r4, pc}
ldr r0, [r4]
blx func_ov03_020f4e5c
mov r0, r4
mov r1, #7
bl func_ov17_021604c4
ldmia sp!, {r4, pc}
_02160614:
mov r0, r4
mov r1, #8
bl func_ov17_021604c4
ldmia sp!, {r4, pc}
_02160624:
ldr r0, [r4, #0xc]
cmp r0, #1
ldmneia sp!, {r4, pc}
ldr r0, _0216065c ; =data_027e071c
mov r1, #0
bl func_0202d77c
mov r0, r4
mov r1, #0
bl func_ov17_021604c4
ldr r0, _02160660 ; =data_027e1054
ldr r0, [r0]
blx func_ov03_020f4884
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02160550
_02160658: .word data_027e077c
_0216065c: .word data_027e071c
_02160660: .word data_027e1054
.global func_ov17_02160664
arm_func_start func_ov17_02160664
func_ov17_02160664: ; 0x02160664
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #4]
cmp r0, #8
addls pc, pc, r0, lsl #2
ldmia sp!, {r4, pc}
_0216067c: ; jump table
ldmia sp!, {r4, pc} ; case 0
b _021606a0 ; case 1
b _021606cc ; case 2
b _021606e0 ; case 3
b _021606ec ; case 4
b _02160704 ; case 5
ldmia sp!, {r4, pc} ; case 6
ldmia sp!, {r4, pc} ; case 7
ldmia sp!, {r4, pc} ; case 8
_021606a0:
ldr r2, _0216072c ; =0x04001000
mov r0, #0
ldr r1, [r2]
bic r1, r1, #0xe000
orr r1, r1, #0x6000
str r1, [r2]
bl func_ov17_02160330
mov r0, r4
mov r1, #2
bl func_ov17_021604c4
ldmia sp!, {r4, pc}
_021606cc:
ldr r1, [r4, #8]
mov r0, #0xc
mul r0, r1, r0
bl func_ov17_02160330
ldmia sp!, {r4, pc}
_021606e0:
mov r0, #0x60
bl func_ov17_02160330
ldmia sp!, {r4, pc}
_021606ec:
ldr r1, [r4, #8]
mov r0, #0xc
rsb r1, r1, #8
mul r0, r1, r0
bl func_ov17_02160330
ldmia sp!, {r4, pc}
_02160704:
ldr r2, _0216072c ; =0x04001000
mov r0, #0
ldr r1, [r2]
bic r1, r1, #0xe000
str r1, [r2]
bl func_ov17_02160330
mov r0, r4
mov r1, #0
bl func_ov17_021604c4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02160664
_0216072c: .word 0x04001000
.global func_ov17_02160730
arm_func_start func_ov17_02160730
func_ov17_02160730: ; 0x02160730
stmdb sp!, {r3, lr}
ldr r1, _0216075c ; =data_027e0fe0
mov r0, #0x1c8
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov17_02160760
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_02160730
_0216075c: .word data_027e0fe0
.global func_ov17_02160760
arm_func_start func_ov17_02160760
func_ov17_02160760: ; 0x02160760
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c1554
ldr r1, _021607b0 ; =data_ov17_0216c00c
ldr r0, _021607b4 ; =data_027e0fec
str r1, [r4]
ldr r0, [r0]
add r0, r0, #0x2a0
bl func_ov00_020c4588
mov r1, r0
add r0, r4, #0x158
blx func_ov00_020a9588
mov r0, #1
strb r0, [r4, #0x12a]
mov r1, #0
str r1, [r4, #0x1b8]
str r1, [r4, #0x1bc]
mov r0, r4
str r1, [r4, #0x1c0]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02160760
_021607b0: .word data_ov17_0216c00c
_021607b4: .word data_027e0fec
.global func_ov17_021607b8
arm_func_start func_ov17_021607b8
func_ov17_021607b8: ; 0x021607b8
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
mov r4, r0
ldr r0, [r4, #0x140]
cmp r0, #0
beq _021607dc
cmp r0, #1
beq _0216080c
b _02160838
_021607dc:
ldr r0, _02160948 ; =data_027e0fec
ldr r0, [r0]
add r0, r0, #0x2a0
bl func_ov00_020c4588
mov r1, r0
add r0, r4, #0x158
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
mov r0, #1
str r0, [r4, #0x1b4]
b _02160838
_0216080c:
ldr r0, _02160948 ; =data_027e0fec
ldr r0, [r0]
add r0, r0, #0x2d8
bl func_ov00_020c4588
mov r1, r0
add r0, r4, #0x158
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
mov r0, #0x38
str r0, [r4, #0x1b4]
_02160838:
mov lr, #0
ldr ip, _0216094c ; =0x00000333
str lr, [r4, #0x7c]
str ip, [r4, #0x80]
str lr, [r4, #0x84]
str ip, [r4, #0x88]
ldr r0, [r4, #0x7c]
add r2, ip, #0x1000
str r0, [r4, #0x8c]
ldr r0, [r4, #0x80]
mov r1, #2
str r0, [r4, #0x90]
ldr r3, [r4, #0x84]
mov r0, #0x20
str r3, [r4, #0x94]
ldr r3, [r4, #0x88]
str r3, [r4, #0x98]
str lr, [r4, #0xa8]
str ip, [r4, #0xac]
str lr, [r4, #0xb0]
str r2, [r4, #0xb4]
strh r1, [r4, #0x9c]
strh r0, [r4, #0x7a]
strb lr, [r4, #0x1c4]
ldr r0, [r4, #0x3c]
cmp r0, #0
blt _021608d4
mov r0, r4
bl func_ov00_020c3158
ldr r1, [r4, #0x48]
mov r0, r4
str r1, [r4, #0x1b8]
ldr r2, [r4, #0x4c]
mov r1, #2
str r2, [r4, #0x1bc]
ldr r2, [r4, #0x50]
str r2, [r4, #0x1c0]
bl func_ov17_021609f0
b _02160934
_021608d4:
add r0, r4, #0x48
add r1, r4, #0x1b8
bl func_ov00_020c522c
ldr r1, [r4, #0x1b8]
ldr r0, _02160950 ; =data_027e0e60
str r1, [sp]
ldr r1, [r4, #0x1bc]
ldr r0, [r0]
str r1, [sp, #4]
ldr r2, [r4, #0x1c0]
add r1, sp, #0
str r2, [sp, #8]
mov r2, #1
bl func_ov00_02083ee0
str r0, [r4, #0x1bc]
ldr r0, [r4, #0x144]
cmp r0, #0
mov r0, r4
bne _0216092c
mov r1, #1
bl func_ov17_021609f0
b _02160934
_0216092c:
mov r1, #2
bl func_ov17_021609f0
_02160934:
mov r0, #0
strh r0, [r4, #0x78]
mov r0, #1
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_021607b8
_02160948: .word data_027e0fec
_0216094c: .word 0x00000333
_02160950: .word data_027e0e60
.global func_ov17_02160954
arm_func_start func_ov17_02160954
func_ov17_02160954: ; 0x02160954
stmdb sp!, {r4, lr}
mov r4, r0
mov r1, #0
mov r2, #1
bl func_ov00_020c1c20
mov r0, r4
bl func_ov00_020c3180
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02160954
.global func_ov17_02160974
arm_func_start func_ov17_02160974
func_ov17_02160974: ; 0x02160974
ldr ip, _02160980 ; =func_ov17_021609f0
mov r1, #5
bx ip
.align 2, 0
arm_func_end func_ov17_02160974
_02160980: .word func_ov17_021609f0
.global func_ov17_02160984
arm_func_start func_ov17_02160984
func_ov17_02160984: ; 0x02160984
stmdb sp!, {r4, lr}
sub sp, sp, #0x38
mov r4, r0
ldrh r0, [r4, #0x20]
cmp r0, #1
addne sp, sp, #0x38
ldmneia sp!, {r4, pc}
add r0, sp, #0x24
bl func_ov00_020c1500
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r1, [r4, #4]
add r0, sp, #8
add r2, r4, #0x48
add r3, r4, #0x20
bl func_ov00_020a41e4
ldr r0, _021609e0 ; =data_027e0f70
add r1, sp, #8
ldr r0, [r0]
bl func_ov00_020965c0
add sp, sp, #0x38
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02160984
_021609e0: .word data_027e0f70
.global func_ov17_021609e4
arm_func_start func_ov17_021609e4
func_ov17_021609e4: ; 0x021609e4
mov r0, #1
bx lr
arm_func_end func_ov17_021609e4
.global func_ov17_021609ec
arm_func_start func_ov17_021609ec
func_ov17_021609ec: ; 0x021609ec
bx lr
arm_func_end func_ov17_021609ec
.global func_ov17_021609f0
arm_func_start func_ov17_021609f0
func_ov17_021609f0: ; 0x021609f0
mov r3, #0
str r3, [r0, #0x138]
ldr r2, [r0, #0x130]
cmp r1, #5
str r2, [r0, #0x134]
str r1, [r0, #0x130]
addls pc, pc, r1, lsl #2
bx lr
_02160a10: ; jump table
b _02160a28 ; case 0
b _02160a30 ; case 1
b _02160a48 ; case 2
b _02160a60 ; case 3
b _02160a68 ; case 4
b _02160a68 ; case 5
_02160a28:
str r3, [r0, #0x12c]
bx lr
_02160a30:
str r3, [r0, #0x60]
mov r1, #0x800
str r1, [r0, #0x64]
str r3, [r0, #0x68]
str r3, [r0, #0x12c]
bx lr
_02160a48:
mov r1, #1
str r1, [r0, #0x12c]
str r3, [r0, #0x60]
str r3, [r0, #0x64]
str r3, [r0, #0x68]
bx lr
_02160a60:
str r3, [r0, #0x12c]
bx lr
_02160a68:
str r3, [r0, #0x60]
str r3, [r0, #0x64]
str r3, [r0, #0x68]
bx lr
arm_func_end func_ov17_021609f0
.global func_ov17_02160a78
arm_func_start func_ov17_02160a78
func_ov17_02160a78: ; 0x02160a78
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x20
mov r5, r0
ldr r1, [r5, #0x48]
str r1, [r5, #0x54]
ldr r1, [r5, #0x4c]
str r1, [r5, #0x58]
ldr r1, [r5, #0x50]
str r1, [r5, #0x5c]
bl func_ov00_020c2bf4
ldr r0, [r5, #0x130]
cmp r0, #1
cmpne r0, #2
bne _02160ae8
mov r0, r5
bl func_ov00_020c2c0c
cmp r0, #0
mov r0, r5
beq _02160ad0
mov r1, #4
bl func_ov17_021609f0
b _02160ae8
_02160ad0:
bl func_ov00_020c2d54
cmp r0, #0
beq _02160ae8
mov r0, r5
mov r1, #5
bl func_ov17_021609f0
_02160ae8:
ldr r0, [r5, #0x130]
cmp r0, #5
addls pc, pc, r0, lsl #2
b _02160e54
_02160af8: ; jump table
b _02160b10 ; case 0
b _02160c28 ; case 1
b _02160d94 ; case 2
b _02160dd0 ; case 3
b _02160e0c ; case 4
b _02160e34 ; case 5
_02160b10:
mov r0, r5
bl func_ov00_020c3070
add r0, r5, #0x48
add r1, r5, #0x60
mov r2, r0
bl func_01ff9bc4
ldr r4, [r5, #0x64]
cmp r4, #0
addge sp, sp, #0x20
ldmgeia sp!, {r3, r4, r5, pc}
mov r0, r5
mov r1, #0
bl func_01fffd04
ldrb r0, [r5, #0x111]
cmp r0, #0
addeq sp, sp, #0x20
ldmeqia sp!, {r3, r4, r5, pc}
ldr r1, [r5, #0x48]
ldr r0, _02160e5c ; =data_027e0e60
str r1, [sp, #0x14]
ldr r2, [r5, #0x4c]
ldr r1, [r0]
str r2, [sp, #0x18]
ldr r3, [r5, #0x50]
add r0, sp, #4
add r2, sp, #0x14
str r3, [sp, #0x1c]
bl func_ov00_02083fb0
ldr r0, [sp, #4]
mov r0, r0, lsr #0x5
and r0, r0, #3
cmp r0, #2
beq _02160c14
ldr r0, _02160e60 ; =data_027e0ffc
ldr r1, _02160e64 ; =0x000001ab
add r2, r5, #0x48
mov r3, #0
bl func_ov00_020ceacc
mov r0, #0x800
rsb r0, r0, #0
cmp r4, r0
bgt _02160bd0
mov r1, #0
str r1, [r5, #0x60]
mov r0, #0x400
str r0, [r5, #0x64]
str r1, [r5, #0x68]
b _02160c14
_02160bd0:
ldr r0, _02160e68 ; =0xfffffe66
cmp r4, r0
blt _02160bf0
mov r0, r5
mov r1, #2
bl func_ov17_021609f0
add sp, sp, #0x20
ldmia sp!, {r3, r4, r5, pc}
_02160bf0:
rsb r0, r4, #0
add r1, r0, r0, lsl #1
mov r0, r1, asr #0x1
add r0, r1, r0, lsr #30
mov r1, #0
str r1, [r5, #0x60]
mov r0, r0, asr #0x2
str r0, [r5, #0x64]
str r1, [r5, #0x68]
_02160c14:
mov r0, r5
mov r1, #1
bl func_ov17_021609f0
add sp, sp, #0x20
ldmia sp!, {r3, r4, r5, pc}
_02160c28:
mov r0, r5
bl func_ov00_020c3070
add r0, r5, #0x48
add r1, r5, #0x60
mov r2, r0
bl func_01ff9bc4
ldr r4, [r5, #0x64]
cmp r4, #0
bge _02160d68
mov r0, r5
mov r1, #0
bl func_01fffd04
ldrb r0, [r5, #0x111]
cmp r0, #0
beq _02160d68
ldr r1, [r5, #0x48]
ldr r0, _02160e5c ; =data_027e0e60
str r1, [sp, #8]
ldr r2, [r5, #0x4c]
ldr r1, [r0]
str r2, [sp, #0xc]
ldr r3, [r5, #0x50]
add r0, sp, #0
add r2, sp, #8
str r3, [sp, #0x10]
bl func_ov00_02083fb0
ldr r0, [sp]
mov r0, r0, lsr #0x5
and r0, r0, #3
cmp r0, #2
bne _02160ce8
ldr r1, [r5, #0x1b8]
mov r0, #0
str r1, [r5, #0x48]
ldr r1, [r5, #0x1bc]
str r1, [r5, #0x4c]
ldr r1, [r5, #0x1c0]
str r1, [r5, #0x50]
ldr r1, [r5, #0x1b8]
str r1, [r5, #0x54]
ldr r1, [r5, #0x1bc]
str r1, [r5, #0x58]
ldr r1, [r5, #0x1c0]
str r1, [r5, #0x5c]
str r0, [r5, #0x60]
str r0, [r5, #0x64]
str r0, [r5, #0x68]
b _02160d68
_02160ce8:
ldr r0, _02160e60 ; =data_027e0ffc
ldr r1, _02160e64 ; =0x000001ab
add r2, r5, #0x48
mov r3, #0
bl func_ov00_020ceacc
mov r0, #0x800
rsb r0, r0, #0
cmp r4, r0
bgt _02160d24
mov r1, #0
str r1, [r5, #0x60]
mov r0, #0x400
str r0, [r5, #0x64]
str r1, [r5, #0x68]
b _02160d68
_02160d24:
ldr r0, _02160e68 ; =0xfffffe66
cmp r4, r0
blt _02160d44
mov r0, r5
mov r1, #2
bl func_ov17_021609f0
add sp, sp, #0x20
ldmia sp!, {r3, r4, r5, pc}
_02160d44:
rsb r0, r4, #0
add r1, r0, r0, lsl #1
mov r0, r1, asr #0x1
add r0, r1, r0, lsr #30
mov r1, #0
str r1, [r5, #0x60]
mov r0, r0, asr #0x2
str r0, [r5, #0x64]
str r1, [r5, #0x68]
_02160d68:
mov r0, r5
mov r1, #1
bl func_ov00_020c22b8
cmp r0, #0
addeq sp, sp, #0x20
ldmeqia sp!, {r3, r4, r5, pc}
mov r0, r5
mov r1, #3
bl func_ov17_021609f0
add sp, sp, #0x20
ldmia sp!, {r3, r4, r5, pc}
_02160d94:
ldrsh r2, [r5, #0x78]
mov r0, r5
mov r1, #1
add r2, r2, #0x22
add r2, r2, #0x200
strh r2, [r5, #0x78]
bl func_ov00_020c22b8
cmp r0, #0
addeq sp, sp, #0x20
ldmeqia sp!, {r3, r4, r5, pc}
mov r0, r5
mov r1, #3
bl func_ov17_021609f0
add sp, sp, #0x20
ldmia sp!, {r3, r4, r5, pc}
_02160dd0:
ldr r0, _02160e6c ; =data_027e0fc8
ldr r1, [r5, #0x1b4]
ldr r0, [r0]
bl func_ov00_020bce48
cmp r0, #0
addeq sp, sp, #0x20
ldmeqia sp!, {r3, r4, r5, pc}
mov r0, r5
mov r1, #0
mov r2, #1
bl func_ov00_020c1c20
mov r0, r5
bl func_ov00_020c3180
add sp, sp, #0x20
ldmia sp!, {r3, r4, r5, pc}
_02160e0c:
mov r0, r5
bl func_ov00_020c2c70
cmp r0, #0
addne sp, sp, #0x20
ldmneia sp!, {r3, r4, r5, pc}
mov r0, r5
mov r1, #2
bl func_ov17_021609f0
add sp, sp, #0x20
ldmia sp!, {r3, r4, r5, pc}
_02160e34:
mov r0, r5
bl func_ov00_020c2de4
cmp r0, #0
addne sp, sp, #0x20
ldmneia sp!, {r3, r4, r5, pc}
mov r0, r5
mov r1, #2
bl func_ov17_021609f0
_02160e54:
add sp, sp, #0x20
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02160a78
_02160e5c: .word data_027e0e60
_02160e60: .word data_027e0ffc
_02160e64: .word 0x000001ab
_02160e68: .word 0xfffffe66
_02160e6c: .word data_027e0fc8
.global func_ov17_02160e70
arm_func_start func_ov17_02160e70
func_ov17_02160e70: ; 0x02160e70
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
bl func_ov00_020c313c
cmp r0, #0
beq _02160e90
mov r0, r5
bl func_ov17_02160a78
_02160e90:
mov r1, r4
add r0, r5, #0xa4
add r2, r5, #0x48
bl func_ov00_0207a1c8
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov17_02160e70
.global func_ov17_02160ea4
arm_func_start func_ov17_02160ea4
func_ov17_02160ea4: ; 0x02160ea4
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
ldrb r2, [r5, #0x1c4]
mov r4, r1
cmp r2, #0
beq _02160ed0
bl func_ov00_020c313c
cmp r0, #0
beq _02160ed0
mov r0, r5
bl func_ov17_02160a78
_02160ed0:
mov r1, r4
add r0, r5, #0xa4
add r2, r5, #0x48
bl func_ov00_0207a1c8
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov17_02160ea4
.global func_ov17_02160ee4
arm_func_start func_ov17_02160ee4
func_ov17_02160ee4: ; 0x02160ee4
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x3c
mov r4, r0
cmp r1, #0
ldrneb r0, [r4, #0xa5]
ldreqb r0, [r4, #0xa4]
cmp r0, #0
beq _02160f48
ldrh r1, [r4, #0x78]
ldr r3, _02160f90 ; =data_02050f54
add r0, sp, #0x18
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x158
ldr r3, [r0]
add r1, sp, #0x18
ldr r3, [r3, #0x14]
add r2, r4, #0x48
blx r3
_02160f48:
ldr r0, [r4, #0x140]
ldr r3, _02160f94 ; =0x00000266
cmp r0, #1
addeq r3, r3, #0xcd
str r3, [sp]
mov r1, #0
str r1, [sp, #4]
mov r0, #0x1f
str r0, [sp, #8]
str r1, [sp, #0xc]
mov ip, #1
str ip, [sp, #0x10]
ldr r0, _02160f98 ; =data_ov00_020e9370
add r2, r4, #0x48
str ip, [sp, #0x14]
bl func_ov05_02102c2c
add sp, sp, #0x3c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_02160ee4
_02160f90: .word data_02050f54
_02160f94: .word 0x00000266
_02160f98: .word data_ov00_020e9370
.global func_ov17_02160f9c
arm_func_start func_ov17_02160f9c
func_ov17_02160f9c: ; 0x02160f9c
add r0, r0, #0x1b8
bx lr
arm_func_end func_ov17_02160f9c
.global func_ov17_02160fa4
arm_func_start func_ov17_02160fa4
func_ov17_02160fa4: ; 0x02160fa4
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0xc
mov r4, r0
ldr r0, [r1]
cmp r2, #0
str r0, [r4, #0x1b8]
ldr r3, [r1, #4]
movne r6, #0x11
str r3, [r4, #0x1bc]
ldr r3, [r1, #8]
add r2, sp, #0
add r0, r4, #0x1b8
add r1, r4, #0x48
str r3, [r4, #0x1c0]
moveq r6, #0x14
bl func_01ff9bf8
ldr r0, [sp, #8]
mov r1, r6
bl func_02002c14
mov r5, r0
ldr r0, [sp, #4]
mov r1, r6
bl func_02002c14
ldr r2, [r4, #0x6c]
mov r1, r6
mul r3, r2, r6
add r2, r3, r3, lsr #31
add r6, r0, r2, asr #1
ldr r0, [sp]
bl func_02002c14
str r0, [r4, #0x60]
str r6, [r4, #0x64]
mov r0, r4
mov r1, #0
str r5, [r4, #0x68]
bl func_ov17_021609f0
add sp, sp, #0xc
ldmia sp!, {r3, r4, r5, r6, pc}
arm_func_end func_ov17_02160fa4
.global func_ov17_0216103c
arm_func_start func_ov17_0216103c
func_ov17_0216103c: ; 0x0216103c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x158
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0216103c
.global func_ov17_02161064
arm_func_start func_ov17_02161064
func_ov17_02161064: ; 0x02161064
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x158
blx func_ov00_020a95a4
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02161064
.global func_ov17_02161084
arm_func_start func_ov17_02161084
func_ov17_02161084: ; 0x02161084
stmdb sp!, {r4, lr}
ldr r1, _021610b8 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xc0
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_021610bc
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02161084
_021610b8: .word data_027e0f84
.global func_ov17_021610bc
arm_func_start func_ov17_021610bc
func_ov17_021610bc: ; 0x021610bc
stmdb sp!, {r4, lr}
mov r2, #4
mov r3, #0
mov r4, r0
bl func_ov14_02126634
ldr r0, _021610ec ; =data_ov17_0216c0cc
mov r1, #0
str r0, [r4]
str r1, [r4, #0xb8]
mov r0, r4
str r1, [r4, #0xbc]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_021610bc
_021610ec: .word data_ov17_0216c0cc
.global func_ov17_021610f0
arm_func_start func_ov17_021610f0
func_ov17_021610f0: ; 0x021610f0
stmdb sp!, {r4, lr}
mov r4, r0
ldr r1, _02161128 ; =data_ov17_0216c0cc
add r0, r4, #0xb8
str r1, [r4]
bl func_ov00_020b7e6c
add r0, r4, #0xbc
bl func_ov00_020b7d74
add r0, r4, #0xb8
bl func_ov00_020b7d74
mov r0, r4
bl func_ov14_0212680c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_021610f0
_02161128: .word data_ov17_0216c0cc
.global func_ov17_0216112c
arm_func_start func_ov17_0216112c
func_ov17_0216112c: ; 0x0216112c
stmdb sp!, {r4, lr}
mov r4, r0
ldr r1, _0216116c ; =data_ov17_0216c0cc
add r0, r4, #0xb8
str r1, [r4]
bl func_ov00_020b7e6c
add r0, r4, #0xbc
bl func_ov00_020b7d74
add r0, r4, #0xb8
bl func_ov00_020b7d74
mov r0, r4
bl func_ov14_0212680c
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216112c
_0216116c: .word data_ov17_0216c0cc
.global func_ov17_02161170
arm_func_start func_ov17_02161170
func_ov17_02161170: ; 0x02161170
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02126854
ldrh r2, [r4, #0x26]
mov r0, #0x1e
mov r1, #0x23
mul r0, r2, r0
str r0, [r4, #0xb0]
strh r1, [r4, #0x70]
mov r0, #0xf
strh r0, [r4, #0x72]
mov r0, #0x28
strh r0, [r4, #0x74]
mov r1, #1
ldr r0, _021611c8 ; =data_027e0c54
strb r1, [r4, #0x84]
ldrb r0, [r0]
cmp r0, #0
movne r0, #0
strneb r0, [r4, #0x89]
strneb r0, [r4, #0x84]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02161170
_021611c8: .word data_027e0c54
.global func_ov17_021611cc
arm_func_start func_ov17_021611cc
func_ov17_021611cc: ; 0x021611cc
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
mov r5, r1
bl func_ov14_02126b04
mov r0, r4
ldr r2, [r0]
mov r1, r5
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r0, [r4, #8]
cmp r0, #0
cmpne r0, #1
beq _02161258
cmp r0, #2
ldmneia sp!, {r3, r4, r5, pc}
ldr r0, [r4, #0xb0]
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r0, [r4, #0xb4]
cmp r0, #0
subne r0, r0, #1
strne r0, [r4, #0xb4]
ldr r0, [r4, #0xb4]
cmp r0, #0
ldmneia sp!, {r3, r4, r5, pc}
ldr r0, _021612a4 ; =data_027e0f90
mov r1, #0x3e8
ldr r0, [r0]
rsb r1, r1, #0
ldr r2, [r0]
ldr r2, [r2, #0x40]
blx r2
ldmia sp!, {r3, r4, r5, pc}
_02161258:
ldrb r0, [r4, #0x7c]
cmp r0, #0
beq _0216127c
ldr r0, _021612a8 ; =data_027e0f74
ldr r1, [r4, #0x64]
ldr r0, [r0]
bl func_ov00_02097b9c
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
_0216127c:
ldr r0, _021612a8 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02098058
cmp r0, #0xa
ldmneia sp!, {r3, r4, r5, pc}
ldr r0, _021612ac ; =data_027e0fc8
mov r1, #0
ldr r0, [r0]
bl func_ov00_020bcfb8
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_021611cc
_021612a4: .word data_027e0f90
_021612a8: .word data_027e0f74
_021612ac: .word data_027e0fc8
.global func_ov17_021612b0
arm_func_start func_ov17_021612b0
func_ov17_021612b0: ; 0x021612b0
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0xb0
mov r5, r0
mov r4, r2
str r1, [r5, #8]
cmp r1, #8
addls pc, pc, r1, lsl #2
b _021614d0
_021612d0: ; jump table
b _02161480 ; case 0
b _021614d0 ; case 1
b _02161498 ; case 2
b _021612f4 ; case 3
b _02161404 ; case 4
b _021614d0 ; case 5
b _021614d0 ; case 6
b _021614d0 ; case 7
b _021614a8 ; case 8
_021612f4:
ldr r1, [r0]
ldr r1, [r1, #0xa4]
blx r1
mov r0, r5
bl func_ov00_0208b930
cmp r0, #0x4000
bge _02161320
mov r1, #0x4000
rsb r1, r1, #0
cmp r0, r1
bgt _0216132c
_02161320:
mov r0, #0
strb r0, [r5, #0x82]
b _02161334
_0216132c:
mov r0, #1
strb r0, [r5, #0x82]
_02161334:
ldr r0, [r5, #0x68]
mov r1, #0x1000
rsb r0, r0, #0x1000
bl func_01ff98e0
ldrh r2, [r5, #0x70]
mov r1, #0
mov r2, r2, lsl #0xc
smull r3, r0, r2, r0
adds r2, r3, #0x800
adc r0, r0, #0
mov r2, r2, lsr #0xc
orr r2, r2, r0, lsl #20
add r0, r2, #0x800
mov r0, r0, asr #0xc
strh r0, [r5, #0x78]
ldrb r0, [r5, #0x81]
cmp r0, #0
strneh r1, [r5, #0x7a]
ldrneb r0, [r5, #0x7c]
cmpne r0, #0
beq _021614dc
cmp r4, #0
bne _021614dc
add r0, sp, #0
bl func_ov00_0209a4f4
ldr r0, _021614e8 ; =data_ov17_0216b0d8
ldrh r2, [r5, #0x70]
ldrh r3, [r0, #0x10]
mov r0, #6
mov r1, #0x2d
add r2, r3, r2
add r2, r2, #1
str r2, [sp, #4]
strb r0, [sp, #0xa]
strb r0, [sp, #0xb]
strb r1, [sp, #9]
ldr r1, [r5, #0x18]
ldr r0, _021614ec ; =data_027e0f74
str r1, [sp, #0x20]
ldr r1, [r5, #0x1c]
ldr r0, [r0]
str r1, [sp, #0x24]
ldr r2, [r5, #0x20]
add r1, sp, #0
str r2, [sp, #0x28]
ldrb r2, [r5, #0x36]
strb r2, [sp, #0x10]
bl func_ov00_02097810
str r0, [r5, #0x64]
add r0, sp, #0
bl func_ov00_0209a508
b _021614dc
_02161404:
ldr r1, [r0]
ldr r1, [r1, #0xa4]
blx r1
ldrb r0, [r5, #0x81]
cmp r0, #0
ldrneb r0, [r5, #0x7c]
cmpne r0, #0
beq _021614dc
cmp r4, #0
bne _021614dc
ldrb r0, [r5, #0x7d]
cmp r0, #0
beq _021614dc
ldrsh r0, [r5, #0xc]
bl func_0202bbbc
cmp r0, #0
cmpne r0, #1
mov r2, #0
bne _02161468
ldr r0, _021614f0 ; =data_027e0e60
add r1, r5, #0x18
ldr r0, [r0]
mov r3, #2
bl func_ov00_02084a5c
b _021614dc
_02161468:
ldr r0, _021614f0 ; =data_027e0e60
add r1, r5, #0x18
ldr r0, [r0]
mov r3, #1
bl func_ov00_02084a5c
b _021614dc
_02161480:
bl func_ov14_02127188
mov r0, r5
mov r1, #0
mov r2, #1
bl func_ov00_0208ba08
b _021614dc
_02161498:
bl func_ov14_02127188
ldr r0, [r5, #0xb0]
str r0, [r5, #0xb4]
b _021614dc
_021614a8:
bl func_ov14_02127188
mov r1, #0
mov r0, r5
mov r2, r1
bl func_ov00_0208ba08
ldr r0, _021614f0 ; =data_027e0e60
ldrh r1, [r5, #0x24]
ldr r0, [r0]
bl func_ov00_02083840
b _021614dc
_021614d0:
mov r0, r5
mov r2, r4
bl func_ov14_02127188
_021614dc:
mov r0, #1
add sp, sp, #0xb0
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_021612b0
_021614e8: .word data_ov17_0216b0d8
_021614ec: .word data_027e0f74
_021614f0: .word data_027e0e60
.global func_ov17_021614f4
arm_func_start func_ov17_021614f4
func_ov17_021614f4: ; 0x021614f4
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x1c
mov r4, r1
mov r5, r0
bl func_ov14_021276f8
ldrh r0, [r4]
tst r0, #4
bne _02161520
tst r0, #8
addeq sp, sp, #0x1c
ldmeqia sp!, {r4, r5, pc}
_02161520:
ldr r0, [r5, #8]
cmp r0, #2
addne sp, sp, #0x1c
ldmneia sp!, {r4, r5, pc}
ldr r0, [r5, #0xb0]
cmp r0, #0
addeq sp, sp, #0x1c
ldmeqia sp!, {r4, r5, pc}
mov r2, #0
mov r3, r2
mov r0, #0xc5
mov r1, #5
str r2, [sp]
bl func_0203493c
mov r2, #0
mov r3, r2
str r2, [sp]
mov r0, #0xc5
mov r1, #6
bl func_0203493c
ldr r0, [r5, #0xb4]
mov r1, #0x1e
bl func_01ff9b4c
mov r5, r0
mov r1, #0x3c
bl func_01ff9b4c
mov r4, r0
mov r0, r5
mov r1, #0x3c
bl func_01ff9b88
mov r2, #0
str r2, [sp]
str r2, [sp, #4]
mov r1, #0xc4
str r1, [sp, #8]
mov r1, #0x14
str r1, [sp, #0xc]
str r2, [sp, #0x10]
mov r1, #1
str r1, [sp, #0x14]
str r1, [sp, #0x18]
mov r1, #2
mov r2, #0xc5
mov r3, #4
bl func_02034bc8
mov r0, r4
mov r2, #0
str r2, [sp]
str r2, [sp, #4]
mov r1, #0xc4
str r1, [sp, #8]
mov r1, #0x14
str r1, [sp, #0xc]
str r2, [sp, #0x10]
mov r1, #1
str r1, [sp, #0x14]
str r1, [sp, #0x18]
mov r1, #2
mov r2, #0xc5
mov r3, r1
bl func_02034bc8
add sp, sp, #0x1c
ldmia sp!, {r4, r5, pc}
arm_func_end func_ov17_021614f4
.global func_ov17_0216161c
arm_func_start func_ov17_0216161c
func_ov17_0216161c: ; 0x0216161c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_021276c4
cmp r0, #0
movne r0, #1
ldmneia sp!, {r4, pc}
ldr r0, _02161678 ; =data_027e0e60
ldrh r1, [r4, #0x24]
ldr r0, [r0]
mov r2, #0
bl func_ov00_020836dc
cmp r0, #0
beq _02161670
ldr r0, _0216167c ; =data_027e0fe4
mov r1, #0
ldr r0, [r0]
bl func_ov00_020c3b2c
cmp r0, #0
moveq r0, #1
movne r0, #0
ldmia sp!, {r4, pc}
_02161670:
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216161c
_02161678: .word data_027e0e60
_0216167c: .word data_027e0fe4
.global func_ov17_02161680
arm_func_start func_ov17_02161680
func_ov17_02161680: ; 0x02161680
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, _021616e8 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084cc8
cmp r0, #0
movne r0, #0
ldmneia sp!, {r4, pc}
mov r0, r4
mov r1, #1
bl func_ov00_0208b9e4
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
bl func_ov00_0208c468
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, _021616e8 ; =data_027e0e60
ldrh r1, [r4, #0x24]
ldr r0, [r0]
bl func_ov00_02083840
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02161680
_021616e8: .word data_027e0e60
.global func_ov17_021616ec
arm_func_start func_ov17_021616ec
func_ov17_021616ec: ; 0x021616ec
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, _0216179c ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084cc8
cmp r0, #0
movne r0, #0
ldmneia sp!, {r4, pc}
mov r0, r4
mov r1, #1
bl func_ov00_0208b9e4
cmp r0, #0
movne r0, #0
ldmneia sp!, {r4, pc}
ldr r0, _021617a0 ; =data_027e0d38
ldr r0, [r0]
ldr r0, [r0, #0x14]
cmp r0, #1
moveq r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, _021617a4 ; =data_027e077c
ldr r1, [r0]
cmp r1, #1
movne r0, #0
ldmneia sp!, {r4, pc}
ldr r0, [r0, #4]
cmp r1, r0
movne r0, #0
ldmneia sp!, {r4, pc}
ldr r0, _0216179c ; =data_027e0e60
ldrh r1, [r4, #0x24]
ldr r0, [r0]
mov r2, #0
bl func_ov00_020836dc
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, _0216179c ; =data_027e0e60
ldrh r1, [r4, #0x24]
ldr r0, [r0]
bl func_ov00_02083790
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_021616ec
_0216179c: .word data_027e0e60
_021617a0: .word data_027e0d38
_021617a4: .word data_027e077c
.global func_ov17_021617a8
arm_func_start func_ov17_021617a8
func_ov17_021617a8: ; 0x021617a8
stmdb sp!, {r4, lr}
sub sp, sp, #0x30
mov r4, r0
ldrh r1, [r4, #0xc]
ldr r3, _02161820 ; =data_02050f54
add r0, sp, #0xc
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x18
add ip, sp, #0
ldmia r0, {r0, r1, r2}
stmia ip, {r0, r1, r2}
ldr r2, [sp, #4]
ldr r1, [r4, #0x68]
add r0, r4, #0x90
sub r1, r2, r1, lsl #1
str r1, [sp, #4]
ldr r3, [r0]
add r1, sp, #0xc
ldr r3, [r3, #0x14]
mov r2, ip
blx r3
add sp, sp, #0x30
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_021617a8
_02161820: .word data_02050f54
.global func_ov17_02161824
arm_func_start func_ov17_02161824
func_ov17_02161824: ; 0x02161824
stmdb sp!, {r4, lr}
sub sp, sp, #8
mov r4, r0
ldr r0, [r4, #8]
cmp r0, #8
addls pc, pc, r0, lsl #2
b _02161894
_02161840: ; jump table
b _02161894 ; case 0
b _02161908 ; case 1
b _02161908 ; case 2
b _02161908 ; case 3
b _02161908 ; case 4
b _02161864 ; case 5
b _02161908 ; case 6
b _02161908 ; case 7
b _02161908 ; case 8
_02161864:
ldrsh r0, [r4, #0x78]
cmp r0, #0
ble _02161894
ldrb r2, [r4, #0x15]
mov r1, #0
ldr r0, _02161910 ; =data_027e0ffc
str r2, [sp]
str r1, [sp, #4]
ldrb r3, [r4, #0x14]
add r2, r4, #0x18
mov r1, #0x1b4
bl func_ov00_020cecd8
_02161894:
ldr r0, _02161914 ; =data_027e0f74
ldr r1, [r4, #0x64]
ldr r0, [r0]
bl func_ov00_02097b9c
cmp r0, #0
beq _021618f4
ldrb r2, [r4, #0x15]
mov r1, #0
ldr r0, _02161910 ; =data_027e0ffc
str r2, [sp]
str r1, [sp, #4]
ldrb r3, [r4, #0x14]
add r2, r4, #0x18
mov r1, #0x1b4
bl func_ov00_020cecd8
ldr r1, [r4, #0x9c]
cmp r1, #0
addeq sp, sp, #8
ldmeqia sp!, {r4, pc}
ldr r0, [r1, #0x24]
add sp, sp, #8
bic r0, r0, #8
str r0, [r1, #0x24]
ldmia sp!, {r4, pc}
_021618f4:
ldr r1, [r4, #0x9c]
cmp r1, #0
ldrne r0, [r1, #0x24]
orrne r0, r0, #8
strne r0, [r1, #0x24]
_02161908:
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02161824
_02161910: .word data_027e0ffc
_02161914: .word data_027e0f74
.global func_ov17_02161918
arm_func_start func_ov17_02161918
func_ov17_02161918: ; 0x02161918
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x64
mov r5, r0
ldr r3, [r5, #0x20]
ldr r2, [r5, #0x1c]
ldr r0, [r5, #0x18]
ldr r1, _02161a60 ; =0x00000b33
str r0, [sp, #0x58]
str r2, [sp, #0x5c]
str r3, [sp, #0x60]
ldr ip, [r5, #0x20]
ldr r4, [r5, #0x1c]
ldr r3, [r5, #0x18]
mov r2, #0
rsb r0, r1, #0
str r3, [sp, #0x4c]
str r4, [sp, #0x50]
str ip, [sp, #0x54]
str r2, [sp, #0x40]
str r2, [sp, #0x44]
str r1, [sp, #0x48]
str r2, [sp, #0x34]
str r2, [sp, #0x38]
str r0, [sp, #0x3c]
ldrsh r0, [r5, #0xc]
mov r1, r0, lsl #0x10
mov r4, r1, lsr #0x10
bl func_0202bbbc
cmp r0, #3
ldreq r0, [r5, #8]
ldr r2, _02161a64 ; =data_02050f54
cmpeq r0, #5
moveq r4, #0
mov r0, r4, asr #0x4
mov r1, r0, lsl #0x1
add r0, r1, #1
mov r1, r1, lsl #0x1
mov r0, r0, lsl #0x1
ldrsh r1, [r2, r1]
ldrsh r2, [r2, r0]
add r0, sp, #4
blx func_01ff8aa0
add r0, sp, #0x40
add r1, sp, #4
mov r2, r0
bl func_01ff9158
add r0, sp, #0x34
add r1, sp, #4
mov r2, r0
bl func_01ff9158
add r0, sp, #0x58
add r1, sp, #0x40
mov r2, r0
bl func_01ff9bc4
add r0, sp, #0x58
add r1, sp, #0x34
mov r2, r0
bl func_01ff9bc4
mov r0, #4
str r0, [sp]
ldr r0, _02161a68 ; =data_027e0e58
ldr r2, _02161a6c ; =0x00000272
ldr r0, [r0]
add r1, r5, #0x9c
add r3, sp, #0x58
bl func_ov00_0207c1f8
mov r0, #4
str r0, [sp]
ldr r0, _02161a68 ; =data_027e0e58
ldr r2, _02161a6c ; =0x00000272
ldr r0, [r0]
add r1, r5, #0xbc
add r3, sp, #0x4c
bl func_ov00_0207c1f8
ldr r0, [r5, #0x9c]
cmp r0, #0
strneh r4, [r0, #0xa4]
ldr r0, [r5, #0xbc]
cmp r0, #0
strneh r4, [r0, #0xa4]
add sp, sp, #0x64
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02161918
_02161a60: .word 0x00000b33
_02161a64: .word data_02050f54
_02161a68: .word data_027e0e58
_02161a6c: .word 0x00000272
.global func_ov17_02161a70
arm_func_start func_ov17_02161a70
func_ov17_02161a70: ; 0x02161a70
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02127ac4
ldr r0, [r4, #0xbc]
cmp r0, #0
ldmeqia sp!, {r4, pc}
add r0, r4, #0xbc
bl func_ov00_020b7e6c
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02161a70
.global func_ov17_02161a94
arm_func_start func_ov17_02161a94
func_ov17_02161a94: ; 0x02161a94
mov r0, #0xd
bx lr
arm_func_end func_ov17_02161a94
.global func_ov17_02161a9c
arm_func_start func_ov17_02161a9c
func_ov17_02161a9c: ; 0x02161a9c
bx lr
arm_func_end func_ov17_02161a9c
.global func_ov17_02161aa0
arm_func_start func_ov17_02161aa0
func_ov17_02161aa0: ; 0x02161aa0
stmdb sp!, {r4, lr}
ldr r1, _02161ad4 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xb4
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_02161aec
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02161aa0
_02161ad4: .word data_027e0f84
.global func_ov17_02161ad8
arm_func_start func_ov17_02161ad8
func_ov17_02161ad8: ; 0x02161ad8
cmp r0, #0
cmpne r1, #0
ldrneh r1, [r1]
strneh r1, [r0, #0xa4]
bx lr
arm_func_end func_ov17_02161ad8
.global func_ov17_02161aec
arm_func_start func_ov17_02161aec
func_ov17_02161aec: ; 0x02161aec
stmdb sp!, {r4, lr}
mov r2, #0x25
mov r3, #0
mov r4, r0
bl func_ov14_02126634
ldr r1, _02161b4c ; =data_ov17_0216c188
mov r0, #0x50
str r1, [r4]
strh r0, [r4, #0x70]
mov r0, #0x78
strh r0, [r4, #0x72]
mov r2, #0
strb r2, [r4, #0x7f]
strb r2, [r4, #0x88]
mov r1, #1
strb r1, [r4, #0x87]
ldrh r0, [r4, #0x24]
cmp r0, #1
streqb r1, [r4, #0xb0]
streqb r1, [r4, #0x7c]
strneb r2, [r4, #0xb0]
strneb r2, [r4, #0x7c]
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02161aec
_02161b4c: .word data_ov17_0216c188
.global func_ov17_02161b50
arm_func_start func_ov17_02161b50
func_ov17_02161b50: ; 0x02161b50
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_0212680c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02161b50
.global func_ov17_02161b64
arm_func_start func_ov17_02161b64
func_ov17_02161b64: ; 0x02161b64
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_0212680c
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02161b64
.global func_ov17_02161b80
arm_func_start func_ov17_02161b80
func_ov17_02161b80: ; 0x02161b80
stmdb sp!, {lr}
sub sp, sp, #0xc
mov r3, r0
ldr r0, [r3, #8]
cmp r0, #8
bne _02161ba8
mov r0, #0
strb r0, [r3, #0x3c]
add sp, sp, #0xc
ldmia sp!, {pc}
_02161ba8:
mov r0, #1
strb r0, [r3, #0x3c]
add r0, r3, #0x18
add ip, sp, #0
ldmia r0, {r0, r1, r2}
stmia ip, {r0, r1, r2}
ldr r0, [r3, #0x68]
ldr r1, [sp, #4]
add r0, r0, r0, lsl #1
add r0, r0, #0x1800
add r0, r1, r0
str r0, [sp, #4]
add r0, r3, #0x38
ldr r2, [r0]
mov r1, ip
ldr r2, [r2, #0x30]
blx r2
add sp, sp, #0xc
ldmia sp!, {pc}
arm_func_end func_ov17_02161b80
.global func_ov17_02161bf4
arm_func_start func_ov17_02161bf4
func_ov17_02161bf4: ; 0x02161bf4
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
ldrb r0, [r5, #0xb0]
mov r4, r2
cmp r0, #0
beq _02161c1c
ldrb r0, [r5, #0x81]
cmp r0, #0
moveq r0, #0
streqb r0, [r5, #0x7c]
_02161c1c:
mov r0, r5
mov r2, r4
bl func_ov14_02127188
ldrb r0, [r5, #0xb0]
cmp r0, #0
ldrneb r0, [r5, #0x81]
cmpne r0, #0
moveq r0, #0x3e8
streqh r0, [r5, #0x7a]
ldr r0, [r5, #8]
cmp r0, #1
beq _02161c58
cmp r0, #5
beq _02161c6c
b _02161c7c
_02161c58:
cmp r4, #0
bne _02161c7c
mov r0, r5
bl func_ov17_02161df8
b _02161c7c
_02161c6c:
cmp r4, #0
bne _02161c7c
mov r0, r5
bl func_ov17_02161df8
_02161c7c:
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov17_02161bf4
.global func_ov17_02161c84
arm_func_start func_ov17_02161c84
func_ov17_02161c84: ; 0x02161c84
stmdb sp!, {r4, lr}
mov r4, r0
ldrh r1, [r4, #0x26]
cmp r1, #0
beq _02161cb0
ldr r0, _02161cc0 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r4, pc}
_02161cb0:
mov r0, r4
mov r1, #0
bl func_ov00_0208b9e4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02161c84
_02161cc0: .word data_027e0f74
.global func_ov17_02161cc4
arm_func_start func_ov17_02161cc4
func_ov17_02161cc4: ; 0x02161cc4
stmdb sp!, {r4, lr}
mov r4, r0
ldrh r1, [r4, #0x26]
cmp r1, #0
beq _02161cf0
ldr r0, _02161d00 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #1
ldmneia sp!, {r4, pc}
_02161cf0:
mov r0, r4
mov r1, #0
bl func_ov00_0208b9e4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02161cc4
_02161d00: .word data_027e0f74
.global func_ov17_02161d04
arm_func_start func_ov17_02161d04
func_ov17_02161d04: ; 0x02161d04
stmdb sp!, {r4, lr}
mov r4, r0
ldrh r1, [r4, #0x26]
cmp r1, #0
beq _02161d30
ldr r0, _02161d4c ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
movne r0, #0
ldmneia sp!, {r4, pc}
_02161d30:
mov r0, r4
mov r1, #0
bl func_ov00_0208b9e4
cmp r0, #0
moveq r0, #1
movne r0, #0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02161d04
_02161d4c: .word data_027e0f74
.global func_ov17_02161d50
arm_func_start func_ov17_02161d50
func_ov17_02161d50: ; 0x02161d50
stmdb sp!, {r4, lr}
sub sp, sp, #0x30
mov r4, r0
ldr r2, [r4, #0x68]
ldr r0, _02161df0 ; =0x00002666
mov r1, #0
umull ip, r3, r2, r0
mla r3, r2, r1, r3
mov r1, r2, asr #0x1f
mla r3, r1, r0, r3
adds r2, ip, #0x800
adc r0, r3, #0
mov r1, r2, lsr #0xc
orr r1, r1, r0, lsl #20
ldr r2, [r4, #0x1c]
ldr r3, [r4, #0x20]
ldr r0, [r4, #0x18]
add r1, r2, r1
str r0, [sp, #0x24]
str r3, [sp, #0x2c]
str r1, [sp, #0x28]
ldrh r1, [r4, #0xc]
ldr r3, _02161df4 ; =data_02050f54
add r0, sp, #0
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x90
ldr r3, [r0]
add r1, sp, #0
ldr r3, [r3, #0x14]
add r2, sp, #0x24
blx r3
add sp, sp, #0x30
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02161d50
_02161df0: .word 0x00002666
_02161df4: .word data_02050f54
.global func_ov17_02161df8
arm_func_start func_ov17_02161df8
func_ov17_02161df8: ; 0x02161df8
stmdb sp!, {lr}
sub sp, sp, #0xc
mov r3, r0
ldrsh r2, [r3, #0xc]
add r0, sp, #8
ldr r1, _02161e3c ; =func_ov17_02161ad8
strh r2, [sp, #8]
str r0, [sp]
str r1, [sp, #4]
ldr r0, _02161e40 ; =data_027e0e58
add r2, r3, #0x18
ldr r0, [r0]
ldr r1, _02161e44 ; =0x0000024e
mov r3, #4
bl func_ov00_0207c1b0
add sp, sp, #0xc
ldmia sp!, {pc}
.align 2, 0
arm_func_end func_ov17_02161df8
_02161e3c: .word func_ov17_02161ad8
_02161e40: .word data_027e0e58
_02161e44: .word 0x0000024e
.global func_ov17_02161e48
arm_func_start func_ov17_02161e48
func_ov17_02161e48: ; 0x02161e48
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02127984
mov r0, #0
strb r0, [r4, #0x81]
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02161e48
.global func_ov17_02161e60
arm_func_start func_ov17_02161e60
func_ov17_02161e60: ; 0x02161e60
mov r0, #0x13
bx lr
arm_func_end func_ov17_02161e60
.global func_ov17_02161e68
arm_func_start func_ov17_02161e68
func_ov17_02161e68: ; 0x02161e68
bx lr
arm_func_end func_ov17_02161e68
.global func_ov17_02161e6c
arm_func_start func_ov17_02161e6c
func_ov17_02161e6c: ; 0x02161e6c
stmdb sp!, {r4, lr}
ldr r1, _02161ea0 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x12c
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_02161ea4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02161e6c
_02161ea0: .word data_027e0f84
.global func_ov17_02161ea4
arm_func_start func_ov17_02161ea4
func_ov17_02161ea4: ; 0x02161ea4
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02161fe0 ; =data_ov00_020e2748
ldr r0, _02161fe4 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r0, _02161fe8 ; =data_ov00_020e2e3c
str r2, [r4, #0x48]
str r0, [r4, #0x38]
str r2, [r4, #0x58]
str r2, [r4, #0x4c]
str r2, [r4, #0x50]
ldr r0, _02161fec ; =data_ov17_0216c24c
str r2, [r4, #0x54]
str r0, [r4]
ldr r0, _02161ff0 ; =data_027e0f68
strh r2, [r4, #0x60]
ldr r0, [r0]
mov r1, #0x1b
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x64
blx func_ov00_020a9588
ldr r0, _02161ff0 ; =data_027e0f68
mov r1, #0x1b
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r2, r0
add r0, r4, #0xc0
add r1, r4, #0xe4
blx func_ov00_020c0c08
ldr r1, _02161ff4 ; =data_ov17_0216be94
ldr r0, _02161fe4 ; =data_ov00_020e2f04
str r1, [r4, #0xc0]
str r0, [r4, #0x104]
mov r0, #1
strb r0, [r4, #0x108]
mov r2, #0
strb r2, [r4, #0x109]
str r2, [r4, #0x10c]
str r2, [r4, #0x110]
str r2, [r4, #0x114]
ldr r1, _02161fe8 ; =data_ov00_020e2e3c
ldr r0, _02161ff0 ; =data_027e0f68
str r1, [r4, #0x104]
str r2, [r4, #0x124]
str r2, [r4, #0x118]
str r2, [r4, #0x11c]
str r2, [r4, #0x120]
ldr r0, [r0]
mov r1, #0x1b
bl func_ov00_0208ccfc
mov r5, r0
ldr r0, _02161ff0 ; =data_027e0f68
ldr r3, _02161ff8 ; =data_ov17_0216b0ec
ldr r0, [r0]
mov r1, #0x1b
mov r2, #3
bl func_ov00_0208cd0c
mov r1, r0
mov r2, r5
add r0, r4, #0xc0
mov r3, #1
bl func_ov00_020c0cc8
add r0, r4, #0x64
ldr r2, [r0]
add r1, r4, #0xc0
ldr r2, [r2, #0x24]
blx r2
mov r0, r4
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02161ea4
_02161fe0: .word data_ov00_020e2748
_02161fe4: .word data_ov00_020e2f04
_02161fe8: .word data_ov00_020e2e3c
_02161fec: .word data_ov17_0216c24c
_02161ff0: .word data_027e0f68
_02161ff4: .word data_ov17_0216be94
_02161ff8: .word data_ov17_0216b0ec
.global func_ov17_02161ffc
arm_func_start func_ov17_02161ffc
func_ov17_02161ffc: ; 0x02161ffc
stmdb sp!, {r4, lr}
ldr r1, _0216204c ; =data_ov17_0216c24c
mov r4, r0
ldr r0, _02162050 ; =data_027e0f6c
str r1, [r4]
ldr r0, [r0]
add r1, r4, #0x104
bl func_ov00_02093af0
add r0, r4, #0x104
bl func_ov00_02094824
add r0, r4, #0xc0
blx func_ov00_020a9aac
add r0, r4, #0x64
blx func_ov00_020a95a4
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02161ffc
_0216204c: .word data_ov17_0216c24c
_02162050: .word data_027e0f6c
.global func_ov17_02162054
arm_func_start func_ov17_02162054
func_ov17_02162054: ; 0x02162054
stmdb sp!, {r4, lr}
ldr r1, _021620ac ; =data_ov17_0216c24c
mov r4, r0
ldr r0, _021620b0 ; =data_027e0f6c
str r1, [r4]
ldr r0, [r0]
add r1, r4, #0x104
bl func_ov00_02093af0
add r0, r4, #0x104
bl func_ov00_02094824
add r0, r4, #0xc0
blx func_ov00_020a9aac
add r0, r4, #0x64
blx func_ov00_020a95a4
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02162054
_021620ac: .word data_ov17_0216c24c
_021620b0: .word data_027e0f6c
.global func_ov17_021620b4
arm_func_start func_ov17_021620b4
func_ov17_021620b4: ; 0x021620b4
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x34
mov r4, r0
ldr r1, [r4, #0x18]
mov r2, #0
str r1, [sp, #0x20]
ldr r1, [r4, #0x1c]
bic ip, r2, #0x1f
str r1, [sp, #0x24]
ldr r3, [r4, #0x20]
ldr r2, _021621bc ; =0x00000666
ldr r1, _021621c0 ; =0x00001333
orr ip, ip, #7
str ip, [sp, #8]
str r3, [sp, #0x28]
str r2, [sp, #0x2c]
str r1, [sp, #0x30]
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #8]
ldr ip, [ip, #0x10]
add r1, sp, #0x20
blx ip
ldr r0, [r4, #0x18]
mov r1, #0
str r0, [sp, #0xc]
bic r0, r1, #0x6000
orr r1, r0, #0x4000
ldr r0, [r4, #0x1c]
bic r1, r1, #0x1f
str r0, [sp, #0x10]
orr r0, r1, #7
bic r3, r0, #0x80000000
ldr r0, [r4, #0x20]
ldr r2, _021621bc ; =0x00000666
ldr r1, _021621c0 ; =0x00001333
str r0, [sp, #0x14]
orr r3, r3, #0x80000000
mov r0, r4
str r3, [sp, #4]
str r2, [sp, #0x18]
str r1, [sp, #0x1c]
bl func_ov00_0208b9cc
mov r2, r0
mov r0, #0
str r0, [sp]
add r0, r4, #0x104
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x10]
add r1, sp, #0xc
blx ip
ldr r0, _021621c4 ; =data_027e0f6c
add r1, r4, #0x104
ldr r0, [r0]
bl func_ov00_02093a5c
ldr r0, [r4, #0x1c]
add r0, r0, #0x33
add r0, r0, #0xb00
str r0, [r4, #0x1c]
add sp, sp, #0x34
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_021620b4
_021621bc: .word 0x00000666
_021621c0: .word 0x00001333
_021621c4: .word data_027e0f6c
.global func_ov17_021621c8
arm_func_start func_ov17_021621c8
func_ov17_021621c8: ; 0x021621c8
stmdb sp!, {r4, lr}
mov r1, #0
mov r4, r0
bl func_ov00_0208b9e4
cmp r0, #0
mov r0, r4
beq _021621fc
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
ldmia sp!, {r4, pc}
_021621fc:
bl func_ov17_021624e0
cmp r0, #0
mov r0, r4
ldr r3, [r0]
beq _02162224
ldr r3, [r3, #0x80]
mov r1, #0
mov r2, #1
blx r3
ldmia sp!, {r4, pc}
_02162224:
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r4, pc}
arm_func_end func_ov17_021621c8
.global func_ov17_02162238
arm_func_start func_ov17_02162238
func_ov17_02162238: ; 0x02162238
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldrneh r0, [r4, #0x24]
cmpne r0, #1
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #8]
cmp r0, #0
beq _02162274
cmp r0, #1
beq _021622b0
ldmia sp!, {r4, pc}
_02162274:
ldr r2, _021622f0 ; =0x00000ccd
add r0, r4, #0x60
mov r1, #0
bl func_0202b154
mov r0, r4
bl func_ov17_021624e0
cmp r0, #0
ldmneia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r4, pc}
_021622b0:
mov r1, #0x8000
ldr r2, _021622f0 ; =0x00000ccd
add r0, r4, #0x60
rsb r1, r1, #0
bl func_0202b154
mov r0, r4
bl func_ov17_021624e0
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02162238
_021622f0: .word 0x00000ccd
.global func_ov17_021622f4
arm_func_start func_ov17_021622f4
func_ov17_021622f4: ; 0x021622f4
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
str r1, [r5, #8]
add r0, r5, #0xc0
mov r4, r2
bl func_ov00_020c0e04
ldr r0, [r5, #8]
cmp r0, #0
beq _0216232c
cmp r0, #1
beq _02162360
cmp r0, #2
beq _0216239c
b _021623d4
_0216232c:
add r0, r5, #0xc0
mov r1, #0
bl func_ov00_020c0e24
cmp r4, #0
movne r0, #0
strneh r0, [r5, #0x60]
bne _021623d4
ldr r0, _021623dc ; =data_027e0ffc
ldr r1, _021623e0 ; =0x000001a9
add r2, r5, #0x18
mov r3, #0
bl func_ov00_020ceacc
b _021623d4
_02162360:
add r0, r5, #0xc0
mov r1, #0
bl func_ov00_020c0e24
cmp r4, #0
bne _0216238c
ldr r0, _021623dc ; =data_027e0ffc
ldr r1, _021623e0 ; =0x000001a9
add r2, r5, #0x18
mov r3, #0
bl func_ov00_020ceacc
b _021623d4
_0216238c:
mov r0, #0x8000
rsb r0, r0, #0
strh r0, [r5, #0x60]
b _021623d4
_0216239c:
add r0, r5, #0xc0
mov r1, #0x1000
bl func_ov00_020c0e24
mov r0, r5
mov r1, #0
mov r2, #1
bl func_ov00_0208ba08
cmp r4, #0
bne _021623d4
ldr r0, _021623dc ; =data_027e0ffc
ldr r1, _021623e4 ; =0x00000257
add r2, r5, #0x18
mov r3, #0
bl func_ov00_020ceacc
_021623d4:
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_021622f4
_021623dc: .word data_027e0ffc
_021623e0: .word 0x000001a9
_021623e4: .word 0x00000257
.global func_ov17_021623e8
arm_func_start func_ov17_021623e8
func_ov17_021623e8: ; 0x021623e8
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0xc
ldr r3, _021624d8 ; =data_027e0fe4
mov r4, r0
ldr r0, [r3]
mov r5, r2
bl func_ov00_020c35d8
cmp r0, #0
addeq sp, sp, #0xc
moveq r0, #1
ldmeqia sp!, {r4, r5, pc}
ldr r1, [r0, #4]
ldr r0, _021624dc ; =0x41525257
cmp r1, r0
bne _021624cc
ldr r1, [r5, #8]
ldmia r5, {r0, r2}
str r0, [sp]
str r2, [sp, #4]
str r1, [sp, #8]
bl func_01ffa0f4
ldrsh r1, [r4, #0x60]
mov r0, r0, lsl #0x10
cmp r1, #0
ldrsh r1, [r4, #0xc]
rsbeq r0, r1, r0, asr #16
rsbne r0, r1, r0, asr #16
addne r0, r0, #0x8000
mov r0, r0, lsl #0x10
mov r0, r0, lsr #0x10
cmp r0, #0x4000
blt _02162470
cmp r0, #0xc000
blt _02162488
_02162470:
add r0, r4, #0x104
mov r1, #3
bl func_ov00_02094884
add sp, sp, #0xc
mov r0, #1
ldmia sp!, {r4, r5, pc}
_02162488:
add r0, r4, #0x104
mov r1, #2
bl func_ov00_02094884
ldr r0, [r4, #8]
cmp r0, #2
addeq sp, sp, #0xc
moveq r0, #0
ldmeqia sp!, {r4, r5, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
add sp, sp, #0xc
mov r0, #0
ldmia sp!, {r4, r5, pc}
_021624cc:
mov r0, #1
add sp, sp, #0xc
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_021623e8
_021624d8: .word data_027e0fe4
_021624dc: .word 0x41525257
.global func_ov17_021624e0
arm_func_start func_ov17_021624e0
func_ov17_021624e0: ; 0x021624e0
ldrh r1, [r0, #0x24]
cmp r1, #1
moveq r0, #1
bxeq lr
ldr r1, _0216252c ; =data_027e0fac
ldrsh r0, [r0, #0xc]
ldrsh r1, [r1]
sub r1, r1, #0x8000
sub r0, r1, r0
mov r0, r0, lsl #0x10
mov r0, r0, lsr #0x10
cmp r0, #0x4000
blt _0216251c
cmp r0, #0xc000
ble _02162524
_0216251c:
mov r0, #0
bx lr
_02162524:
mov r0, #1
bx lr
.align 2, 0
arm_func_end func_ov17_021624e0
_0216252c: .word data_027e0fac
.global func_ov17_02162530
arm_func_start func_ov17_02162530
func_ov17_02162530: ; 0x02162530
stmdb sp!, {r4, lr}
sub sp, sp, #0x48
mov r4, r0
ldrh r1, [r4, #0xc]
ldr r3, _02162608 ; =data_02050f54
add r0, sp, #0x24
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
ldr r0, [r4, #8]
cmp r0, #1
add r0, sp, #0
bne _021625b0
ldrsh r1, [r4, #0x60]
ldr r3, _02162608 ; =data_02050f54
rsb r1, r1, #0
mov r1, r1, lsl #0x10
mov r1, r1, lsr #0x10
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff81f8
b _021625d8
_021625b0:
ldrh r1, [r4, #0x60]
ldr r3, _02162608 ; =data_02050f54
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff81f8
_021625d8:
add r0, sp, #0
add r1, sp, #0x24
mov r2, r0
bl func_01ff8690
add r0, r4, #0x64
ldr r3, [r0]
add r1, sp, #0
ldr r3, [r3, #0x14]
add r2, r4, #0x18
blx r3
add sp, sp, #0x48
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02162530
_02162608: .word data_02050f54
.global func_ov17_0216260c
arm_func_start func_ov17_0216260c
func_ov17_0216260c: ; 0x0216260c
mov r0, #0x86
bx lr
arm_func_end func_ov17_0216260c
.global func_ov17_02162614
arm_func_start func_ov17_02162614
func_ov17_02162614: ; 0x02162614
stmdb sp!, {r4, lr}
ldr r1, _02162648 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x108
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_0216264c
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02162614
_02162648: .word data_027e0f84
.global func_ov17_0216264c
arm_func_start func_ov17_0216264c
func_ov17_0216264c: ; 0x0216264c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_0214b364
ldr r1, _02162688 ; =data_ov17_0216c2f0
ldr r0, _0216268c ; =data_027e0f68
str r1, [r4]
ldr r0, [r0]
mov r1, #0x23
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0xa8
bl func_ov17_0216280c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216264c
_02162688: .word data_ov17_0216c2f0
_0216268c: .word data_027e0f68
.global func_ov17_02162690
arm_func_start func_ov17_02162690
func_ov17_02162690: ; 0x02162690
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a95ec
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02162690
.global func_ov17_021626a4
arm_func_start func_ov17_021626a4
func_ov17_021626a4: ; 0x021626a4
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0xa8
blx func_ov00_020a95ec
mov r0, r4
bl func_ov14_0214b464
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_021626a4
.global func_ov17_021626c4
arm_func_start func_ov17_021626c4
func_ov17_021626c4: ; 0x021626c4
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0xa8
blx func_ov00_020a95ec
mov r0, r4
bl func_ov14_0214b464
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_021626c4
.global func_ov17_021626ec
arm_func_start func_ov17_021626ec
func_ov17_021626ec: ; 0x021626ec
ldrh r1, [r0, #0x24]
ldr ip, _02162708 ; =func_ov14_0214b484
str r1, [r0, #0x64]
cmp r1, #2
moveq r1, #0
streq r1, [r0, #0x64]
bx ip
.align 2, 0
arm_func_end func_ov17_021626ec
_02162708: .word func_ov14_0214b484
.global func_ov17_0216270c
arm_func_start func_ov17_0216270c
func_ov17_0216270c: ; 0x0216270c
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
bl func_ov14_0214b690
mov r0, r5
ldr r2, [r0]
mov r1, r4
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldrne r0, [r5, #0x6c]
strne r0, [r5, #0x104]
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov17_0216270c
.global func_ov17_02162740
arm_func_start func_ov17_02162740
func_ov17_02162740: ; 0x02162740
ldr ip, _02162748 ; =func_ov14_0214b964
bx ip
.align 2, 0
arm_func_end func_ov17_02162740
_02162748: .word func_ov14_0214b964
.global func_ov17_0216274c
arm_func_start func_ov17_0216274c
func_ov17_0216274c: ; 0x0216274c
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x24
mov r4, r0
ldrh r1, [r4, #0xc]
ldr r3, _021627a4 ; =data_02050f54
add r0, sp, #0
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0xa8
ldr r3, [r0]
add r1, sp, #0
ldr r3, [r3, #0x14]
add r2, r4, #0x84
blx r3
add sp, sp, #0x24
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_0216274c
_021627a4: .word data_02050f54
.global func_ov17_021627a8
arm_func_start func_ov17_021627a8
func_ov17_021627a8: ; 0x021627a8
stmdb sp!, {r4, lr}
mov r4, r1
cmp r2, #6
bne _021627c8
ldr r2, [r0]
ldr r2, [r2, #0x8c]
blx r2
ldmia sp!, {r4, pc}
_021627c8:
ldr r1, [r0]
ldr r1, [r1, #0x54]
blx r1
cmp r0, #0
bne _021627f0
mov r0, #0
str r0, [r4]
str r0, [r4, #4]
str r0, [r4, #8]
ldmia sp!, {r4, pc}
_021627f0:
ldr r2, [r0]
mov r1, r4
ldr r2, [r2, #0x3c]
blx r2
ldmia sp!, {r4, pc}
arm_func_end func_ov17_021627a8
.global func_ov17_02162804
arm_func_start func_ov17_02162804
func_ov17_02162804: ; 0x02162804
mov r0, #0x47
bx lr
arm_func_end func_ov17_02162804
.global func_ov17_0216280c
arm_func_start func_ov17_0216280c
func_ov17_0216280c: ; 0x0216280c
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a956c
ldr r1, _02162840 ; =data_ov17_0216c38c
mov r0, r4
str r1, [r4]
mov r3, #0
mov r1, #6
mov r2, #2
str r3, [r4, #0x5c]
bl func_ov00_020a9998
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216280c
_02162840: .word data_ov17_0216c38c
.global func_ov17_02162844
arm_func_start func_ov17_02162844
func_ov17_02162844: ; 0x02162844
stmdb sp!, {r3, r4, r5, lr}
mov r4, r1
ldr r2, [r4, #4]
ldr r1, _021628a8 ; =data_ov17_0216b0fc
ldr r2, [r2, #4]
mov r5, r0
add r0, r2, #0x40
bl func_0201e388
ldr r1, [r4]
ldrb r1, [r1, #1]
cmp r1, r0
ldmneia sp!, {r3, r4, r5, pc}
ldr r2, [r4, #0xb4]
mov r1, #0
ldr r0, [r2]
bic r0, r0, #4
str r0, [r2]
ldr r0, [r4, #0xb4]
str r1, [r0, #0x50]
ldr r0, [r4, #0xb4]
str r1, [r0, #0x4c]
ldr r1, [r5, #0x5c]
ldr r0, [r4, #0xb4]
str r1, [r0, #0x54]
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02162844
_021628a8: .word data_ov17_0216b0fc
.global func_ov17_021628ac
arm_func_start func_ov17_021628ac
func_ov17_021628ac: ; 0x021628ac
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a95ec
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_021628ac
.global func_ov17_021628c8
arm_func_start func_ov17_021628c8
func_ov17_021628c8: ; 0x021628c8
stmdb sp!, {r4, lr}
ldr r1, _021628fc ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x118
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_02162900
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_021628c8
_021628fc: .word data_027e0f84
.global func_ov17_02162900
arm_func_start func_ov17_02162900
func_ov17_02162900: ; 0x02162900
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02162a18 ; =data_ov00_020e2748
ldr r0, _02162a1c ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r0, _02162a20 ; =data_ov00_020e2e3c
str r2, [r4, #0x48]
str r0, [r4, #0x38]
str r2, [r4, #0x58]
str r2, [r4, #0x4c]
str r2, [r4, #0x50]
ldr r0, _02162a24 ; =data_ov17_0216c3d4
str r2, [r4, #0x54]
str r0, [r4]
str r2, [r4, #0x64]
ldr r0, _02162a28 ; =data_027e0f68
str r2, [r4, #0x68]
ldr r0, [r0]
mov r1, #0x28
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x6c
blx func_ov00_020a9588
ldr r0, _02162a28 ; =data_027e0f68
mov r1, #0x28
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r2, r0
add r0, r4, #0xc8
add r1, r4, #0xec
blx func_ov00_020c0c08
ldr r0, _02162a2c ; =data_ov17_0216be94
mov r1, #0
str r0, [r4, #0xc8]
str r1, [r4, #0x10c]
sub r0, r1, #1
str r0, [r4, #0x110]
str r1, [r4, #0x114]
ldr r0, _02162a28 ; =data_027e0f68
mov r1, #0x28
ldr r0, [r0]
bl func_ov00_0208ccfc
mov r5, r0
ldr r0, _02162a28 ; =data_027e0f68
mov r1, #0x28
ldr r0, [r0]
mov r2, #3
ldr r3, _02162a30 ; =data_ov17_0216b110
bl func_ov00_0208cd0c
mov r1, r0
mov r2, r5
add r0, r4, #0xc8
mov r3, #1
bl func_ov00_020c0cc8
add r0, r4, #0x6c
ldr r2, [r0]
add r1, r4, #0xc8
ldr r2, [r2, #0x24]
blx r2
mov r0, r4
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02162900
_02162a18: .word data_ov00_020e2748
_02162a1c: .word data_ov00_020e2f04
_02162a20: .word data_ov00_020e2e3c
_02162a24: .word data_ov17_0216c3d4
_02162a28: .word data_027e0f68
_02162a2c: .word data_ov17_0216be94
_02162a30: .word data_ov17_0216b110
.global func_ov17_02162a34
arm_func_start func_ov17_02162a34
func_ov17_02162a34: ; 0x02162a34
stmdb sp!, {r4, lr}
ldr r1, _02162a8c ; =data_ov17_0216c3d4
mov r4, r0
ldr r0, _02162a90 ; =data_027e0e58
str r1, [r4]
ldr r0, [r0]
add r1, r4, #0x10c
bl func_ov00_0207c444
add r0, r4, #0x10c
bl func_ov00_020b7e6c
add r0, r4, #0x10c
bl func_ov00_020b7df0
add r0, r4, #0xc8
blx func_ov00_020a9aac
add r0, r4, #0x6c
blx func_ov00_020a95a4
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02162a34
_02162a8c: .word data_ov17_0216c3d4
_02162a90: .word data_027e0e58
.global func_ov17_02162a94
arm_func_start func_ov17_02162a94
func_ov17_02162a94: ; 0x02162a94
stmdb sp!, {r4, lr}
ldr r1, _02162af4 ; =data_ov17_0216c3d4
mov r4, r0
ldr r0, _02162af8 ; =data_027e0e58
str r1, [r4]
ldr r0, [r0]
add r1, r4, #0x10c
bl func_ov00_0207c444
add r0, r4, #0x10c
bl func_ov00_020b7e6c
add r0, r4, #0x10c
bl func_ov00_020b7df0
add r0, r4, #0xc8
blx func_ov00_020a9aac
add r0, r4, #0x6c
blx func_ov00_020a95a4
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02162a94
_02162af4: .word data_ov17_0216c3d4
_02162af8: .word data_027e0e58
.global func_ov17_02162afc
arm_func_start func_ov17_02162afc
func_ov17_02162afc: ; 0x02162afc
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x1c
mov r4, r0
ldr r1, [r4, #4]
mov lr, #0xa
orr r2, r1, #4
orr r1, r2, #0x440
str r1, [r4, #4]
mov r1, #8
strb r1, [r4, #0x12]
str lr, [r4, #0x68]
ldr r1, [r4, #0x18]
mov r2, #0
str r1, [sp, #8]
ldr r1, [r4, #0x1c]
bic r2, r2, #0x1f
str r1, [sp, #0xc]
orr r1, r2, #9
bic r2, r1, #0x80000000
orr ip, r2, #0x80000000
ldr r3, [r4, #0x20]
ldr r1, _02162be8 ; =0x00001333
add r2, lr, #0x590
str ip, [sp, #4]
str r3, [sp, #0x10]
str r2, [sp, #0x14]
str r1, [sp, #0x18]
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x10]
add r1, sp, #8
blx ip
ldr r0, _02162bec ; =data_027e0e60
ldr r1, [r0]
ldrb r1, [r1, #8]
strb r1, [r4, #0x60]
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
mov r0, r4
ldr r3, [r0]
beq _02162bd0
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
add sp, sp, #0x1c
ldmia sp!, {r3, r4, pc}
_02162bd0:
ldr r3, [r3, #0x80]
mov r1, #1
mov r2, #0
blx r3
add sp, sp, #0x1c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_02162afc
_02162be8: .word 0x00001333
_02162bec: .word data_027e0e60
.global func_ov17_02162bf0
arm_func_start func_ov17_02162bf0
func_ov17_02162bf0: ; 0x02162bf0
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
bl func_ov00_0208c3a4
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
mov r0, r5
ldr r2, [r0]
mov r1, r4
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r1, [r5, #0x64]
ldr r0, _02162cf4 ; =data_027e0e60
add r1, r1, #1
str r1, [r5, #0x64]
ldr r1, [r5, #0x68]
add r1, r1, #1
str r1, [r5, #0x68]
ldr r1, [r0]
ldrb r0, [r5, #0x60]
ldrb r1, [r1, #8]
cmp r0, r1
beq _02162c88
mov r0, r5
cmp r1, #0
ldr r3, [r0]
beq _02162c78
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
b _02162c88
_02162c78:
ldr r3, [r3, #0x80]
mov r1, #1
mov r2, #0
blx r3
_02162c88:
ldr r1, _02162cf4 ; =data_027e0e60
ldr r0, _02162cf8 ; =data_027e0f64
ldr r2, [r1]
add r1, sp, #0
ldrb r2, [r2, #8]
strb r2, [r5, #0x60]
ldrb r3, [r5, #0x15]
ldrb r2, [r5, #0x14]
ldr r0, [r0]
strb r2, [sp]
strb r3, [sp, #1]
add r0, r0, r4, lsl #2
ldr r0, [r0, #4]
bl func_ov00_02088158
cmp r0, #0
beq _02162ce0
ldr r0, _02162cfc ; =data_027e0e58
add r1, r5, #0x10c
ldr r0, [r0]
add r2, r5, #0x18
bl func_ov00_0207c474
ldmia sp!, {r3, r4, r5, pc}
_02162ce0:
ldr r0, _02162cfc ; =data_027e0e58
add r1, r5, #0x10c
ldr r0, [r0]
bl func_ov00_0207c444
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02162bf0
_02162cf4: .word data_027e0e60
_02162cf8: .word data_027e0f64
_02162cfc: .word data_027e0e58
.global func_ov17_02162d00
arm_func_start func_ov17_02162d00
func_ov17_02162d00: ; 0x02162d00
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
str r1, [r4, #8]
add r0, r4, #0xc8
bl func_ov00_020c0e04
ldr r0, [r4, #8]
cmp r0, #0
beq _02162d30
cmp r0, #1
beq _02162d78
b _02162dbc
_02162d30:
add r0, r4, #0xc8
mov r1, #0
bl func_ov00_020c0e24
ldr r0, _02162dc8 ; =data_027e0e58
add r1, r4, #0x10c
ldr r0, [r0]
bl func_ov00_0207c444
ldr r2, _02162dcc ; =0x000001bf
mov r1, #4
str r2, [r4, #0x110]
str r1, [r4, #0x114]
ldr r0, _02162dc8 ; =data_027e0e58
str r1, [sp]
ldr r0, [r0]
add r1, r4, #0x10c
add r3, r4, #0x18
bl func_ov00_0207c1f8
b _02162dbc
_02162d78:
add r0, r4, #0xc8
mov r1, #0x2000
bl func_ov00_020c0e24
ldr r0, _02162dc8 ; =data_027e0e58
add r1, r4, #0x10c
ldr r0, [r0]
bl func_ov00_0207c444
mov r2, #0x1bc
str r2, [r4, #0x110]
mov r1, #4
str r1, [r4, #0x114]
ldr r0, _02162dc8 ; =data_027e0e58
str r1, [sp]
ldr r0, [r0]
add r1, r4, #0x10c
add r3, r4, #0x18
bl func_ov00_0207c1f8
_02162dbc:
mov r0, #1
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_02162d00
_02162dc8: .word data_027e0e58
_02162dcc: .word 0x000001bf
.global func_ov17_02162dd0
arm_func_start func_ov17_02162dd0
func_ov17_02162dd0: ; 0x02162dd0
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x64]
cmp r0, #1
movle r0, #1
ldmleia sp!, {r4, pc}
ldr r0, [r4, #0x68]
cmp r0, #0x19
movlt r0, #1
ldmltia sp!, {r4, pc}
ldr r0, _02162e78 ; =data_027e0e60
mov r3, #0
ldr r1, [r0]
add r2, r4, #0x18
ldrb r0, [r1, #8]
cmp r0, #0
moveq r0, #1
movne r0, #0
strb r0, [r1, #8]
str r3, [r4, #0x64]
ldr r0, _02162e7c ; =data_027e0ffc
ldr r1, _02162e80 ; =0x000001a9
str r3, [r4, #0x68]
bl func_ov00_020ceacc
ldr r0, _02162e78 ; =data_027e0e60
ldr r0, [r0]
ldrb r0, [r0, #8]
cmp r0, #0
mov r0, r4
ldr r3, [r0]
beq _02162e60
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
b _02162e70
_02162e60:
ldr r3, [r3, #0x80]
mov r1, #1
mov r2, #0
blx r3
_02162e70:
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02162dd0
_02162e78: .word data_027e0e60
_02162e7c: .word data_027e0ffc
_02162e80: .word 0x000001a9
.global func_ov17_02162e84
arm_func_start func_ov17_02162e84
func_ov17_02162e84: ; 0x02162e84
stmdb sp!, {r4, lr}
mov r4, r0
cmp r1, #1
bne _02162ea4
ldr r1, [r0]
ldr r1, [r1, #0x20]
blx r1
b _02162f30
_02162ea4:
ldr r0, _02162f38 ; =data_027e0fe4
ldr r0, [r0]
bl func_ov00_020c35d8
cmp r0, #0
moveq r0, #1
ldmeqia sp!, {r4, pc}
ldr r1, [r0, #4]
ldr r0, _02162f3c ; =0x424c5354
cmp r1, r0
bhi _02162ee0
bhs _02162f00
ldr r0, _02162f40 ; =0x41525257
cmp r1, r0
beq _02162f18
b _02162f30
_02162ee0:
ldr r0, _02162f44 ; =0x424d524e
cmp r1, r0
bhi _02162ef4
beq _02162f00
b _02162f30
_02162ef4:
ldr r0, _02162f48 ; =0x5342454d
cmp r1, r0
bne _02162f30
_02162f00:
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0x20]
blx r1
mov r0, #0
ldmia sp!, {r4, pc}
_02162f18:
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0x20]
blx r1
mov r0, #1
ldmia sp!, {r4, pc}
_02162f30:
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02162e84
_02162f38: .word data_027e0fe4
_02162f3c: .word 0x424c5354
_02162f40: .word 0x41525257
_02162f44: .word 0x424d524e
_02162f48: .word 0x5342454d
.global func_ov17_02162f4c
arm_func_start func_ov17_02162f4c
func_ov17_02162f4c: ; 0x02162f4c
stmdb sp!, {r3, lr}
cmp r2, #0
mvnne r0, #0
ldmneia sp!, {r3, pc}
ldr r1, [r0]
ldr r1, [r1, #0x20]
blx r1
mov r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov17_02162f4c
.global func_ov17_02162f70
arm_func_start func_ov17_02162f70
func_ov17_02162f70: ; 0x02162f70
stmdb sp!, {r3, lr}
mov r1, r0
add r0, r1, #0x6c
ldr r2, [r0]
add r1, r1, #0x18
ldr r2, [r2, #0x18]
blx r2
ldmia sp!, {r3, pc}
arm_func_end func_ov17_02162f70
.global func_ov17_02162f90
arm_func_start func_ov17_02162f90
func_ov17_02162f90: ; 0x02162f90
mov r0, #0x17
bx lr
arm_func_end func_ov17_02162f90
.global func_ov17_02162f98
arm_func_start func_ov17_02162f98
func_ov17_02162f98: ; 0x02162f98
stmdb sp!, {r4, lr}
ldr r1, _02162fcc ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x15c
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_02162fd0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02162f98
_02162fcc: .word data_027e0f84
.global func_ov17_02162fd0
arm_func_start func_ov17_02162fd0
func_ov17_02162fd0: ; 0x02162fd0
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
bl func_ov14_0214b364
ldr r1, _021630b4 ; =data_ov17_0216c47c
ldr r0, _021630b8 ; =data_027e0f68
str r1, [r4]
ldr r0, [r0]
mov r1, #0xa3
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0xb0
blx func_ov00_020a9588
ldr r0, _021630b8 ; =data_027e0f68
mov r1, #0xa3
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x10c
mov r2, #0
mov r3, r2
blx func_ov00_020bd618
ldr r0, _021630b8 ; =data_027e0f68
mov r1, #0xa3
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r2, r0
add r0, r4, #0x118
add r1, r4, #0x13c
blx func_ov00_020c0c08
ldr r1, _021630bc ; =data_ov17_0216be94
ldr r0, _021630b8 ; =data_027e0f68
str r1, [r4, #0x118]
ldr r0, [r0]
mov r1, #0xa3
bl func_ov00_0208ccfc
mov r5, r0
ldr r0, _021630b8 ; =data_027e0f68
mov r1, #0xa3
ldr r0, [r0]
mov r2, #3
ldr r3, _021630c0 ; =data_ov17_0216b120
bl func_ov00_0208cd0c
mov r2, r5
mov r1, r0
add r0, r4, #0x118
mov r3, #1
bl func_ov00_020c0cc8
add r0, r4, #0xb0
add r1, r4, #0x118
ldr r2, [r0]
ldr r2, [r2, #0x24]
blx r2
mov r0, r4
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02162fd0
_021630b4: .word data_ov17_0216c47c
_021630b8: .word data_027e0f68
_021630bc: .word data_ov17_0216be94
_021630c0: .word data_ov17_0216b120
.global func_ov17_021630c4
arm_func_start func_ov17_021630c4
func_ov17_021630c4: ; 0x021630c4
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x118
blx func_ov00_020a9aac
add r0, r4, #0x10c
blx func_ov00_020b3ea8
add r0, r4, #0xb0
blx func_ov00_020a95a4
mov r0, r4
bl func_ov14_0214b464
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_021630c4
.global func_ov17_021630f4
arm_func_start func_ov17_021630f4
func_ov17_021630f4: ; 0x021630f4
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x118
blx func_ov00_020a9aac
add r0, r4, #0x10c
blx func_ov00_020b3ea8
add r0, r4, #0xb0
blx func_ov00_020a95a4
mov r0, r4
bl func_ov14_0214b464
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_021630f4
.global func_ov17_0216312c
arm_func_start func_ov17_0216312c
func_ov17_0216312c: ; 0x0216312c
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x1c
mov r4, r0
mov r1, #0
strb r1, [r4, #0xa4]
ldrh r0, [r4, #0x24]
cmp r0, #1
bne _0216318c
mov r0, #1
str r0, [r4, #0x64]
strh r0, [r4, #0x6a]
ldrh r0, [r4, #0x26]
cmp r0, #0
moveq r0, #0x8000
movne r0, r0, lsl #0xc
str r0, [r4, #0x78]
ldr r1, [r4, #0x78]
ldr r0, _02163244 ; =data_ov17_0216c470
str r1, [r4, #0x74]
ldr r1, [r4, #0x78]
ldr r0, [r0]
str r1, [r4, #0x70]
str r0, [r4, #0x7c]
b _02163190
_0216318c:
str r1, [r4, #0x64]
_02163190:
add r0, r4, #0xb0
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
ldr r1, _02163248 ; =data_ov17_0216b130
add r0, r0, #0x40
bl func_0201e388
str r0, [r4, #0xa8]
add r0, r4, #0xb0
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
ldr r1, _0216324c ; =data_ov17_0216b144
add r0, r0, #0x40
bl func_0201e388
str r0, [r4, #0xac]
str r4, [r4, #0xe0]
mov r0, #2
str r0, [sp]
ldr r1, _02163250 ; =func_ov17_0216357c
add r0, r4, #0xb4
mov r2, #0
mov r3, #6
bl func_02018c90
ldr r1, [r4, #0xac]
add r0, r4, #0x100
strh r1, [r0, #0x14]
mov r0, r4
bl func_ov14_0214b484
add r0, r4, #0x38
ldr r2, [r0]
add r1, sp, #4
ldr r2, [r2, #0x2c]
blx r2
ldr r2, [sp, #8]
add r0, r4, #0x38
add r2, r2, #0x9a
add r2, r2, #0x1900
str r2, [sp, #0x14]
ldr r2, [r0]
add r1, sp, #4
ldr r2, [r2, #0x20]
blx r2
add sp, sp, #0x1c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_0216312c
_02163244: .word data_ov17_0216c470
_02163248: .word data_ov17_0216b130
_0216324c: .word data_ov17_0216b144
_02163250: .word func_ov17_0216357c
.global func_ov17_02163254
arm_func_start func_ov17_02163254
func_ov17_02163254: ; 0x02163254
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0xc
mov r5, r0
ldr r2, [r5, #0x6c]
mov r4, r1
mov r0, #0
str r0, [r4]
str r0, [r4, #4]
add r0, r2, #0x800
str r0, [r4, #8]
ldrsh r1, [r5, #0xc]
mov r0, r4
bl func_ov00_020a61ac
mov r0, r4
mov r2, r4
add r1, r5, #0x18
bl func_01ff9bc4
ldr r0, [r4, #4]
add r0, r0, #0x66
add r0, r0, #0x600
str r0, [r4, #4]
add sp, sp, #0xc
ldmia sp!, {r4, r5, pc}
arm_func_end func_ov17_02163254
.global func_ov17_021632b0
arm_func_start func_ov17_021632b0
func_ov17_021632b0: ; 0x021632b0
stmdb sp!, {r4, lr}
mov r4, r1
cmp r2, #6
bne _021632d0
ldr r2, [r0]
ldr r2, [r2, #0x8c]
blx r2
ldmia sp!, {r4, pc}
_021632d0:
ldr r1, [r0]
ldr r1, [r1, #0x54]
blx r1
cmp r0, #0
bne _021632f8
mov r0, #0
str r0, [r4]
str r0, [r4, #4]
str r0, [r4, #8]
ldmia sp!, {r4, pc}
_021632f8:
ldr r2, [r0]
mov r1, r4
ldr r2, [r2, #0x3c]
blx r2
ldmia sp!, {r4, pc}
arm_func_end func_ov17_021632b0
.global func_ov17_0216330c
arm_func_start func_ov17_0216330c
func_ov17_0216330c: ; 0x0216330c
ldr ip, _02163314 ; =func_ov14_0214b690
bx ip
.align 2, 0
arm_func_end func_ov17_0216330c
_02163314: .word func_ov14_0214b690
.global func_ov17_02163318
arm_func_start func_ov17_02163318
func_ov17_02163318: ; 0x02163318
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
mov r5, r1
add r0, r6, #0x118
mov r4, r2
bl func_ov00_020c0e04
cmp r5, #3
cmpne r5, #4
add r0, r6, #0x118
bne _0216334c
mov r1, #0x1000
bl func_ov00_020c0e24
b _02163354
_0216334c:
mov r1, #0
bl func_ov00_020c0e24
_02163354:
mov r0, r6
mov r1, r5
mov r2, r4
bl func_ov14_0214b964
ldr r1, [r6, #4]
mov r0, #1
bic r1, r1, #4
str r1, [r6, #4]
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov17_02163318
.global func_ov17_02163378
arm_func_start func_ov17_02163378
func_ov17_02163378: ; 0x02163378
mov r0, #0x83
bx lr
arm_func_end func_ov17_02163378
.global func_ov17_02163380
arm_func_start func_ov17_02163380
func_ov17_02163380: ; 0x02163380
mov r0, #1
bx lr
arm_func_end func_ov17_02163380
.global func_ov17_02163388
arm_func_start func_ov17_02163388
func_ov17_02163388: ; 0x02163388
mvn r0, #0
bx lr
arm_func_end func_ov17_02163388
.global func_ov17_02163390
arm_func_start func_ov17_02163390
func_ov17_02163390: ; 0x02163390
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0x34
ldr r2, [r0]
mov r7, r0
ldr r2, [r2, #0x88]
blx r2
cmp r0, #0
addeq sp, sp, #0x34
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
ldrh r1, [r7, #0xc]
ldr r3, _021634d4 ; =data_02050f54
add r0, sp, #0x10
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov r4, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, r4]
ldrsh r2, [r3, r2]
blx func_01ff8214
ldr r0, [r7, #0x64]
add r1, sp, #0x10
cmp r0, #1
add r0, r7, #0xb0
ldr r3, [r0]
bne _021634c0
ldr r3, [r3, #0x14]
add r2, r7, #0x18
blx r3
ldr r0, [r7, #8]
cmp r0, #0
addeq sp, sp, #0x34
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
ldr r0, [r7, #0x6c]
cmp r0, #0x800
addle sp, sp, #0x34
ldmleia sp!, {r4, r5, r6, r7, r8, sb, pc}
add r0, r7, #0x18
add r3, sp, #4
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldr r4, [r7, #0x6c]
add r1, sp, #0
mov r0, r4
bl func_020038a4
sub r1, r4, #0x800
mov r1, r1, asr #0xc
add r1, r1, #1
mov r1, r1, lsl #0x10
mov r6, r1, lsr #0x10
cmp r6, #0
mov r4, r0
mov r5, #0
addle sp, sp, #0x34
ldmleia sp!, {r4, r5, r6, r7, r8, sb, pc}
add sb, sp, #0x10
add r8, sp, #4
_02163474:
cmp r5, #0
ldrne r0, [sp, #0xc]
addne r0, r0, #0x1000
strne r0, [sp, #0xc]
bne _02163494
ldr r0, [sp, #0xc]
add r0, r0, r4
str r0, [sp, #0xc]
_02163494:
add r0, r7, #0x10c
ldr r3, [r0]
mov r1, sb
ldr r3, [r3, #0x14]
mov r2, r8
blx r3
add r5, r5, #1
cmp r5, r6
blt _02163474
add sp, sp, #0x34
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_021634c0:
ldr r3, [r3, #0x14]
add r2, r7, #0x18
blx r3
add sp, sp, #0x34
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov17_02163390
_021634d4: .word data_02050f54
.global func_ov17_021634d8
arm_func_start func_ov17_021634d8
func_ov17_021634d8: ; 0x021634d8
stmdb sp!, {r3, lr}
ldrb r1, [r0, #0x2e]
cmp r1, #0
moveq r0, #1
ldmeqia sp!, {r3, pc}
mov r1, #0
bl func_ov00_0208b9e4
ldmia sp!, {r3, pc}
arm_func_end func_ov17_021634d8
.global func_ov17_021634f8
arm_func_start func_ov17_021634f8
func_ov17_021634f8: ; 0x021634f8
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
ldrh r0, [r4, #0x24]
cmp r0, #1
bne _0216351c
ldr r0, [r4, #8]
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, r4, r5, pc}
_0216351c:
ldr r2, _02163578 ; =data_027e0f64
add r0, sp, #2
ldr r2, [r2]
add r1, r2, r1, lsl #2
ldr r5, [r1, #4]
mov r1, r5
bl func_ov00_02088130
add r0, sp, #0
mov r1, r5
bl func_ov00_02088144
ldrb r1, [r4, #0x14]
ldrb r0, [sp, #2]
cmp r0, r1
ldrlsb r0, [sp, #3]
cmpls r1, r0
ldrlsb r1, [r4, #0x15]
ldrlsb r0, [sp]
cmpls r0, r1
ldrlsb r0, [sp, #1]
cmpls r1, r0
movls r0, #1
movhi r0, #0
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_021634f8
_02163578: .word data_027e0f64
.global func_ov17_0216357c
arm_func_start func_ov17_0216357c
func_ov17_0216357c: ; 0x0216357c
mov r1, r0
ldr r0, [r1, #4]
ldr ip, _02163590 ; =func_ov17_02163594
ldr r0, [r0, #0x2c]
bx ip
.align 2, 0
arm_func_end func_ov17_0216357c
_02163590: .word func_ov17_02163594
.global func_ov17_02163594
arm_func_start func_ov17_02163594
func_ov17_02163594: ; 0x02163594
ldr r2, [r0, #8]
cmp r2, #0
bxeq lr
ldr r2, [r1, #8]
tst r2, #0x10
ldrneb r3, [r1, #0xae]
ldr r2, [r0, #0xa8]
mvneq r3, #0
cmp r3, r2
ldrne r2, [r0, #0xac]
cmpne r3, r2
bxne lr
ldr ip, [r1, #0xb4]
mov r3, #0
ldr r2, [ip]
bic r2, r2, #4
str r2, [ip]
ldr r2, [r1, #0xb4]
str r3, [r2, #0x50]
ldr r2, [r1, #0xb4]
str r3, [r2, #0x4c]
ldr r2, [r0, #0x6c]
ldr r0, [r1, #0xb4]
str r2, [r0, #0x54]
bx lr
arm_func_end func_ov17_02163594
.global func_ov17_021635f8
arm_func_start func_ov17_021635f8
func_ov17_021635f8: ; 0x021635f8
stmdb sp!, {r4, lr}
ldr r1, _0216362c ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x110
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_02163630
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_021635f8
_0216362c: .word data_027e0f84
.global func_ov17_02163630
arm_func_start func_ov17_02163630
func_ov17_02163630: ; 0x02163630
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02163724 ; =data_ov00_020e26b4
ldr r0, _02163728 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r1, _0216372c ; =data_ov00_020e2dd8
str r2, [r4, #0x48]
ldr r0, _02163730 ; =data_ov17_0216c528
str r1, [r4, #0x38]
str r0, [r4]
str r2, [r4, #0x64]
ldr r0, _02163734 ; =data_027e0f68
str r2, [r4, #0x68]
ldr r0, [r0]
mov r1, #9
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x6c
bl func_ov14_0213211c
ldr r0, _02163734 ; =data_027e0f68
mov r1, #9
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r2, r0
add r0, r4, #0xd0
add r1, r4, #0xf4
blx func_ov00_020c0c08
ldr r1, _02163738 ; =data_ov17_0216c5bc
ldr r0, _02163734 ; =data_027e0f68
str r1, [r4, #0xd0]
ldr r0, [r0]
mov r1, #9
bl func_ov00_0208ccfc
mov r5, r0
ldr r0, _02163734 ; =data_027e0f68
mov r1, #9
ldr r0, [r0]
mov r2, #3
ldr r3, _0216373c ; =data_ov17_0216b158
bl func_ov00_0208cd0c
mov r2, r5
mov r1, r0
add r0, r4, #0xd0
mov r3, #1
bl func_ov00_020c0cc8
add r0, r4, #0x6c
add r1, r4, #0xd0
ldr r2, [r0]
ldr r2, [r2, #0x24]
blx r2
mov r0, r4
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02163630
_02163724: .word data_ov00_020e26b4
_02163728: .word data_ov00_020e2f04
_0216372c: .word data_ov00_020e2dd8
_02163730: .word data_ov17_0216c528
_02163734: .word data_027e0f68
_02163738: .word data_ov17_0216c5bc
_0216373c: .word data_ov17_0216b158
.global func_ov17_02163740
arm_func_start func_ov17_02163740
func_ov17_02163740: ; 0x02163740
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0xd0
blx func_ov00_020a9a8c
add r0, r4, #0x6c
blx func_ov00_020a95ec
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02163740
.global func_ov17_02163770
arm_func_start func_ov17_02163770
func_ov17_02163770: ; 0x02163770
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0xd0
blx func_ov00_020a9a8c
add r0, r4, #0x6c
blx func_ov00_020a95ec
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02163770
.global func_ov17_021637a8
arm_func_start func_ov17_021637a8
func_ov17_021637a8: ; 0x021637a8
stmdb sp!, {r4, lr}
sub sp, sp, #0x50
mov r4, r0
ldr r1, [r4, #4]
mov r0, #2
orr r1, r1, #0x44
str r1, [r4, #4]
add ip, r4, #0x18
strb r0, [r4, #0x12]
ldmia ip, {r0, r1, r2}
add lr, sp, #0x44
stmia lr, {r0, r1, r2}
ldmia ip, {r0, r1, r2}
mov ip, #0x800
add r3, sp, #0x38
stmia r3, {r0, r1, r2}
mov r3, #0
add r1, sp, #0x2c
mov r0, lr
mov r2, lr
str ip, [sp, #0x2c]
str r3, [sp, #0x30]
str ip, [sp, #0x34]
bl func_01ff9bf8
mov r1, #0x800
add r0, sp, #0x38
str r1, [sp, #0x20]
str r1, [sp, #0x24]
str r1, [sp, #0x28]
add r1, sp, #0x20
mov r2, r0
bl func_01ff9bc4
mov r0, #0
bic r0, r0, #0x1f
orr r0, r0, #9
orr r0, r0, #0x38c00000
str r0, [sp, #4]
add r0, sp, #0x44
add lr, sp, #8
ldmia r0, {r0, r1, r2}
stmia lr, {r0, r1, r2}
add ip, sp, #0x38
add r3, sp, #0x14
ldmia ip, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r4
bl func_ov00_0208b9cc
mov r2, r0
mov r0, #0
str r0, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x14]
add r1, sp, #8
blx ip
mov r0, #1
strb r0, [r4, #0x3d]
add sp, sp, #0x50
ldmia sp!, {r4, pc}
arm_func_end func_ov17_021637a8
.global func_ov17_02163898
arm_func_start func_ov17_02163898
func_ov17_02163898: ; 0x02163898
stmdb sp!, {r4, lr}
mov r1, #0
mov r4, r0
bl func_ov00_0208b9e4
cmp r0, #0
mov r0, r4
mov r2, #1
ldr r3, [r0]
beq _021638cc
ldr r3, [r3, #0x80]
mov r1, #2
blx r3
ldmia sp!, {r4, pc}
_021638cc:
ldr r3, [r3, #0x80]
mov r1, #0
blx r3
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02163898
.global func_ov17_021638dc
arm_func_start func_ov17_021638dc
func_ov17_021638dc: ; 0x021638dc
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #8]
cmp r0, #0
beq _0216396c
cmp r0, #1
beq _02163914
cmp r0, #2
b _0216396c
_02163914:
ldr r1, [r4, #0x68]
ldr r0, _02163978 ; =0xfffffe66
cmp r1, #0x1000
ble _02163938
ldr r2, [r4, #0x64]
sub r0, r0, r2
bl func_01ff98e0
ldr r1, [r4, #0x64]
add r0, r1, r0
_02163938:
str r0, [r4, #0x64]
ldr r0, [r4, #0x68]
cmp r0, #0
bgt _02163960
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
_02163960:
ldr r0, [r4, #0x68]
sub r0, r0, #1
str r0, [r4, #0x68]
_0216396c:
ldr r0, [r4, #0x64]
str r0, [r4, #0xc8]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_021638dc
_02163978: .word 0xfffffe66
.global func_ov17_0216397c
arm_func_start func_ov17_0216397c
func_ov17_0216397c: ; 0x0216397c
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
str r1, [r5, #8]
add r0, r5, #0xd0
mov r4, r2
bl func_ov00_020c0e04
ldr r0, [r5, #8]
cmp r0, #0
beq _021639b4
cmp r0, #1
beq _021639fc
cmp r0, #2
beq _02163a28
b _02163a64
_021639b4:
cmp r4, #0
bne _021639e0
mov r1, #0
mov r0, r5
mov r2, r1
bl func_ov00_0208ba08
ldr r0, _02163a6c ; =data_027e0ffc
ldr r1, _02163a70 ; =0x000001aa
add r2, r5, #0x18
mov r3, #0
bl func_ov00_020ceacc
_021639e0:
mov r0, #1
strb r0, [r5, #0xcc]
mov r1, #0
add r0, r5, #0xd0
str r1, [r5, #0x64]
bl func_ov00_020c0e24
b _02163a64
_021639fc:
ldr r0, _02163a6c ; =data_027e0ffc
mov ip, #0xa
add r2, r5, #0x18
mov r1, #0x1a8
mov r3, #0
str ip, [r5, #0x68]
bl func_ov00_020ceacc
add r0, r5, #0xd0
mov r1, #0
bl func_ov00_020c0e24
b _02163a64
_02163a28:
mov r0, r5
mov r1, #0
mov r2, #1
bl func_ov00_0208ba08
mov r3, #0
strb r3, [r5, #0xcc]
cmp r4, #0
bne _02163a58
ldr r0, _02163a6c ; =data_027e0ffc
ldr r1, _02163a74 ; =0x000001a9
add r2, r5, #0x18
bl func_ov00_020ceacc
_02163a58:
add r0, r5, #0xd0
mov r1, #0x1000
bl func_ov00_020c0e24
_02163a64:
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0216397c
_02163a6c: .word data_027e0ffc
_02163a70: .word 0x000001aa
_02163a74: .word 0x000001a9
.global func_ov17_02163a78
arm_func_start func_ov17_02163a78
func_ov17_02163a78: ; 0x02163a78
stmdb sp!, {r3, lr}
cmp r2, #0
mvnne r0, #0
ldmneia sp!, {r3, pc}
ldr r1, [r0, #8]
cmp r1, #0
bne _02163ab0
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
mov r0, #0
ldmia sp!, {r3, pc}
_02163ab0:
mvn r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov17_02163a78
.global func_ov17_02163ab8
arm_func_start func_ov17_02163ab8
func_ov17_02163ab8: ; 0x02163ab8
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x24
mov r4, r0
add r0, r4, #0x6c
bl func_ov14_0213215c
ldr r2, _02163b00 ; =data_02050f54
add r0, sp, #0
ldrsh r1, [r2]
ldrsh r2, [r2, #2]
blx func_01ff81f8
add r0, r4, #0x6c
ldr r3, [r0]
add r1, sp, #0
ldr r3, [r3, #0x14]
add r2, r4, #0x18
blx r3
add sp, sp, #0x24
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_02163ab8
_02163b00: .word data_02050f54
.global func_ov17_02163b04
arm_func_start func_ov17_02163b04
func_ov17_02163b04: ; 0x02163b04
mov r0, #0x81
bx lr
arm_func_end func_ov17_02163b04
.global func_ov17_02163b0c
arm_func_start func_ov17_02163b0c
func_ov17_02163b0c: ; 0x02163b0c
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a956c
ldr r1, _02163b40 ; =data_ov17_0216c5cc
mov r0, r4
str r1, [r4]
mov r3, #0
mov r1, #6
mov r2, #2
str r3, [r4, #0x5c]
bl func_ov00_020a9998
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02163b0c
_02163b40: .word data_ov17_0216c5cc
.global func_ov17_02163b44
arm_func_start func_ov17_02163b44
func_ov17_02163b44: ; 0x02163b44
stmdb sp!, {r3, r4, r5, lr}
mov r4, r1
ldr r2, [r4, #4]
ldr r1, _02163ba8 ; =data_ov17_0216b168
ldr r2, [r2, #4]
mov r5, r0
add r0, r2, #0x40
bl func_0201e388
ldr r1, [r4]
ldrb r1, [r1, #1]
cmp r1, r0
ldmneia sp!, {r3, r4, r5, pc}
ldr r2, [r4, #0xb4]
mov r1, #0
ldr r0, [r2]
bic r0, r0, #4
str r0, [r2]
ldr r2, [r5, #0x5c]
ldr r0, [r4, #0xb4]
str r2, [r0, #0x50]
ldr r0, [r4, #0xb4]
str r1, [r0, #0x4c]
ldr r0, [r4, #0xb4]
str r1, [r0, #0x54]
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02163b44
_02163ba8: .word data_ov17_0216b168
.global func_ov17_02163bac
arm_func_start func_ov17_02163bac
func_ov17_02163bac: ; 0x02163bac
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a95ec
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02163bac
.global func_ov17_02163bc0
arm_func_start func_ov17_02163bc0
func_ov17_02163bc0: ; 0x02163bc0
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a95ec
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02163bc0
.global func_ov17_02163bdc
arm_func_start func_ov17_02163bdc
func_ov17_02163bdc: ; 0x02163bdc
stmdb sp!, {r4, lr}
ldr r1, _02163c10 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xd4
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_02163c14
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02163bdc
_02163c10: .word data_027e0f84
.global func_ov17_02163c14
arm_func_start func_ov17_02163c14
func_ov17_02163c14: ; 0x02163c14
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02163cbc ; =data_ov00_020e26b4
ldr r0, _02163cc0 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r2, #1
strb r2, [r4, #0x3c]
mov r3, #0
strb r3, [r4, #0x3d]
str r3, [r4, #0x40]
str r3, [r4, #0x44]
ldr r1, _02163cc4 ; =data_ov00_020e2dd8
str r3, [r4, #0x48]
str r1, [r4, #0x38]
ldr r0, _02163cc8 ; =data_ov17_0216c614
mov r1, #0
str r0, [r4]
ldrh r0, [r4, #0x24]
cmp r0, #0
movne r3, r2
str r3, [r4, #0x64]
str r1, [r4, #0x68]
str r1, [r4, #0x6c]
mov r0, #1
strb r0, [r4, #0x70]
strb r1, [r4, #0x71]
strb r1, [r4, #0x72]
strb r1, [r4, #0x73]
ldr r0, _02163ccc ; =data_027e0f68
ldr r1, [r4, #0x64]
ldr r2, _02163cd0 ; =data_ov17_0216b17c
ldr r0, [r0]
add r2, r2, r1, lsl #4
mov r1, #0x27
bl func_ov00_0208ccec
mov r1, r0
add r0, r4, #0x74
bl func_ov17_02163b0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02163c14
_02163cbc: .word data_ov00_020e26b4
_02163cc0: .word data_ov00_020e2f04
_02163cc4: .word data_ov00_020e2dd8
_02163cc8: .word data_ov17_0216c614
_02163ccc: .word data_027e0f68
_02163cd0: .word data_ov17_0216b17c
.global func_ov17_02163cd4
arm_func_start func_ov17_02163cd4
func_ov17_02163cd4: ; 0x02163cd4
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x74
blx func_ov00_020a95ec
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02163cd4
.global func_ov17_02163cfc
arm_func_start func_ov17_02163cfc
func_ov17_02163cfc: ; 0x02163cfc
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x74
blx func_ov00_020a95ec
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02163cfc
.global func_ov17_02163d2c
arm_func_start func_ov17_02163d2c
func_ov17_02163d2c: ; 0x02163d2c
stmdb sp!, {r4, lr}
sub sp, sp, #0x50
mov r4, r0
ldr r1, [r4, #4]
orr r1, r1, #0x10
str r1, [r4, #4]
bl func_ov00_0208c214
add lr, r4, #0x18
ldmia lr, {r0, r1, r2}
add ip, sp, #0x44
stmia ip, {r0, r1, r2}
ldmia lr, {r0, r1, r2}
add r3, sp, #0x38
stmia r3, {r0, r1, r2}
mov r2, #0x800
mov r0, #0
str r0, [sp, #0x18]
add r1, sp, #0x14
str r2, [sp, #0x14]
str r2, [sp, #0x1c]
mov r0, ip
mov r2, ip
bl func_01ff9bf8
mov r0, #0x800
ldr r1, _02163e20 ; =0x00000b33
str r0, [sp, #8]
str r0, [sp, #0x10]
add r0, sp, #0x38
str r1, [sp, #0xc]
add r1, sp, #8
mov r2, r0
bl func_01ff9bc4
mov r0, #0
bic r0, r0, #0x1f
orr r0, r0, #9
add r1, sp, #0x44
str r0, [sp, #4]
add lr, sp, #0x20
ldmia r1, {r0, r1, r2}
stmia lr, {r0, r1, r2}
add ip, sp, #0x38
add r3, sp, #0x2c
ldmia ip, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r4
bl func_ov00_0208b9cc
mov r2, r0
mov r0, #0
str r0, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x14]
add r1, sp, #0x20
blx ip
mov r1, #1
mov r0, r4
strb r1, [r4, #0x3d]
bl func_ov17_02164120
add sp, sp, #0x50
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02163d2c
_02163e20: .word 0x00000b33
.global func_ov17_02163e24
arm_func_start func_ov17_02163e24
func_ov17_02163e24: ; 0x02163e24
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
ldrb r0, [r0, #0x71]
cmp r0, #0
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r0, _02163ecc ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_0208335c
ldr r1, _02163ecc ; =data_027e0e60
mov fp, r0
ldr r0, [r1]
bl func_ov00_02083368
mov r8, r0
mov sb, #0
cmp fp, #0
ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r4, _02163ecc ; =data_027e0e60
add r6, sp, #0
_02163e68:
mov sl, #0
cmp r8, #0
ble _02163ebc
and r7, sb, #0xff
_02163e78:
ldr r0, [r4]
mov r1, r6
strb r7, [sp]
strb sl, [sp, #1]
bl func_ov00_020840c4
movs r5, r0
beq _02163eb0
ldr r1, [r0]
ldr r1, [r1, #0x1c]
blx r1
cmp r0, #0x18
bne _02163eb0
mov r0, r5
bl func_ov17_02164284
_02163eb0:
add sl, sl, #1
cmp sl, r8
blt _02163e78
_02163ebc:
add sb, sb, #1
cmp sb, fp
blt _02163e68
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov17_02163e24
_02163ecc: .word data_027e0e60
.global func_ov17_02163ed0
arm_func_start func_ov17_02163ed0
func_ov17_02163ed0: ; 0x02163ed0
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #8]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02163f70
_02163efc: ; jump table
b _02163f70 ; case 0
b _02163f70 ; case 1
b _02163f0c ; case 2
b _02163f40 ; case 3
_02163f0c:
ldr r2, _02163f88 ; =0x0000019a
add r0, r4, #0x6c
mov r1, #0
bl Approach_thunk
cmp r0, #0
beq _02163f70
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
b _02163f70
_02163f40:
ldr r1, _02163f8c ; =0xfffff666
ldr r2, _02163f88 ; =0x0000019a
add r0, r4, #0x6c
bl Approach_thunk
cmp r0, #0
beq _02163f70
mov r0, r4
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
_02163f70:
mov r0, r4
mov r1, #0
bl func_ov17_02164120
ldr r0, [r4, #0x6c]
str r0, [r4, #0xd0]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02163ed0
_02163f88: .word 0x0000019a
_02163f8c: .word 0xfffff666
.global func_ov17_02163f90
arm_func_start func_ov17_02163f90
func_ov17_02163f90: ; 0x02163f90
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
mov r5, r2
str r1, [r4, #8]
cmp r1, #3
addls pc, pc, r1, lsl #2
b _0216407c
_02163fac: ; jump table
b _02163fbc ; case 0
b _02163fe4 ; case 1
b _02164010 ; case 2
b _02164048 ; case 3
_02163fbc:
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
str r2, [r4, #0x68]
ldr r0, _02164084 ; =data_027e0e60
str r2, [r4, #0x6c]
ldr r0, [r0]
add r1, r4, #0x38
bl func_ov00_020843ec
b _0216407c
_02163fe4:
mov r0, #0
strb r0, [r4, #0x3c]
ldr r1, _02164088 ; =0xfffff666
str r0, [r4, #0x68]
ldr r0, _02164084 ; =data_027e0e60
str r1, [r4, #0x6c]
ldr r0, [r0]
add r1, r4, #0x38
mov r2, #1
bl func_ov00_020843ec
b _0216407c
_02164010:
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
ldr r0, _02164084 ; =data_027e0e60
str r2, [r4, #0x68]
ldr r0, [r0]
add r1, r4, #0x38
bl func_ov00_020843ec
cmp r5, #0
bne _0216407c
mov r0, r4
mov r1, #1
bl func_ov17_02164478
b _0216407c
_02164048:
mov r1, #0
strb r1, [r4, #0x3c]
ldr r0, _02164084 ; =data_027e0e60
str r1, [r4, #0x68]
ldr r0, [r0]
add r1, r4, #0x38
mov r2, #1
bl func_ov00_020843ec
cmp r5, #0
bne _0216407c
mov r0, r4
mov r1, #0
bl func_ov17_02164478
_0216407c:
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02163f90
_02164084: .word data_027e0e60
_02164088: .word 0xfffff666
.global func_ov17_0216408c
arm_func_start func_ov17_0216408c
func_ov17_0216408c: ; 0x0216408c
stmdb sp!, {r3, lr}
ldr r3, [r0, #4]
mov r2, r1
tst r3, #0x10
ldmeqia sp!, {r3, pc}
ldr r3, [r0, #0x64]
mov r1, #0x24
cmp r3, #0
beq _021640d4
cmp r3, #1
bne _021640d4
ldr ip, _021640fc ; =data_027e0e60
mov r3, #0xc
ldr ip, [ip]
ldrb ip, [ip, #8]
cmp ip, #0
movne r1, #0x36
b _021640ec
_021640d4:
ldr ip, _021640fc ; =data_027e0e60
mov r3, #0xb
ldr ip, [ip]
ldrb ip, [ip, #8]
cmp ip, #0
moveq r1, #0x36
_021640ec:
mov ip, #0
str ip, [sp]
bl func_ov00_0208bf28
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216408c
_021640fc: .word data_027e0e60
.global func_ov17_02164100
arm_func_start func_ov17_02164100
func_ov17_02164100: ; 0x02164100
stmdb sp!, {r3, lr}
mov r1, r0
add r0, r1, #0x74
ldr r2, [r0]
add r1, r1, #0x18
ldr r2, [r2, #0x18]
blx r2
ldmia sp!, {r3, pc}
arm_func_end func_ov17_02164100
.global func_ov17_02164120
arm_func_start func_ov17_02164120
func_ov17_02164120: ; 0x02164120
stmdb sp!, {r3, lr}
movs r2, r1
ldr r1, [r0, #0x64]
beq _021641b0
cmp r1, #0
beq _02164178
cmp r1, #1
ldmneia sp!, {r3, pc}
ldr r1, _02164280 ; =data_027e0e60
ldr r3, [r0]
ldr r1, [r1]
ldrb r1, [r1, #8]
cmp r1, #0
beq _02164168
ldr r3, [r3, #0x80]
mov r1, #1
blx r3
ldmia sp!, {r3, pc}
_02164168:
ldr r3, [r3, #0x80]
mov r1, #0
blx r3
ldmia sp!, {r3, pc}
_02164178:
ldr r1, _02164280 ; =data_027e0e60
ldr r3, [r0]
ldr r1, [r1]
ldrb r1, [r1, #8]
cmp r1, #0
beq _021641a0
ldr r3, [r3, #0x80]
mov r1, #0
blx r3
ldmia sp!, {r3, pc}
_021641a0:
ldr r3, [r3, #0x80]
mov r1, #1
blx r3
ldmia sp!, {r3, pc}
_021641b0:
cmp r1, #0
beq _02164220
cmp r1, #1
ldmneia sp!, {r3, pc}
ldr r1, _02164280 ; =data_027e0e60
ldr r1, [r1]
ldrb r1, [r1, #8]
cmp r1, #0
ldr r1, [r0, #8]
beq _021641fc
cmp r1, #0
cmpne r1, #2
ldmneia sp!, {r3, pc}
ldr r3, [r0]
mov r1, #3
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r3, pc}
_021641fc:
cmp r1, #1
cmpne r1, #3
ldmneia sp!, {r3, pc}
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r3, pc}
_02164220:
ldr r1, _02164280 ; =data_027e0e60
ldr r1, [r1]
ldrb r1, [r1, #8]
cmp r1, #0
ldr r1, [r0, #8]
beq _0216425c
cmp r1, #1
cmpne r1, #3
ldmneia sp!, {r3, pc}
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r3, pc}
_0216425c:
cmp r1, #0
cmpne r1, #2
ldmneia sp!, {r3, pc}
ldr r3, [r0]
mov r1, #3
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_02164120
_02164280: .word data_027e0e60
.global func_ov17_02164284
arm_func_start func_ov17_02164284
func_ov17_02164284: ; 0x02164284
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x10
mov sl, r0
ldrb r0, [sl, #0x71]
cmp r0, #0
addne sp, sp, #0x10
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldrb r0, [sl, #0x14]
ldr r1, _02164474 ; =data_027e0e60
str r0, [sp, #4]
ldrb r0, [sl, #0x15]
str r0, [sp]
ldr r0, [r1]
ldr r1, [sp, #4]
add r1, r1, #0xa
str r1, [sp, #8]
ldr r1, [sp]
add r7, r1, #0xa
bl func_ov00_0208335c
ldr r1, [sp, #8]
cmp r1, r0
blt _021642ec
ldr r0, _02164474 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_0208335c
str r0, [sp, #8]
_021642ec:
ldr r0, _02164474 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_02083368
cmp r7, r0
blt _02164310
ldr r0, _02164474 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_02083368
mov r7, r0
_02164310:
ldr r8, [sp]
mov r0, r8
cmp r0, r7
bge _0216438c
ldr sb, _02164474 ; =data_027e0e60
mov r4, #0
add r6, sp, #0xe
_0216432c:
ldrb r2, [sl, #0x14]
ldr r0, [sb]
mov r1, r6
strb r2, [sp, #0xe]
strb r8, [sp, #0xf]
bl func_ov00_020840c4
mov r5, r0
cmp r5, sl
beq _02164380
cmp r5, #0
beq _0216438c
ldr r1, [r0]
ldr r1, [r1, #0x1c]
blx r1
cmp r0, #0x18
bne _0216438c
strb r4, [r5, #0x70]
strb r4, [r5, #0x71]
ldrb r0, [sl, #0x73]
add r0, r0, #1
strb r0, [sl, #0x73]
_02164380:
add r8, r8, #1
cmp r8, r7
blt _0216432c
_0216438c:
ldr r1, [sp, #4]
ldr r0, [sp, #8]
ldrb r2, [sl, #0x73]
cmp r1, r0
ldr r0, [sp]
add r0, r0, r2
add r8, r0, #1
bge _02164464
mov r4, #0
add fp, sp, #0xc
_021643b4:
ldrb r1, [sl, #0x14]
ldr r0, [sp, #4]
cmp r0, r1
beq _0216444c
ldr sb, [sp]
mov r7, #0
mov r0, sb
cmp r0, r8
bge _02164438
ldr r0, [sp, #4]
and r6, r0, #0xff
_021643e0:
ldr r0, _02164474 ; =data_027e0e60
mov r1, fp
ldr r0, [r0]
strb r6, [sp, #0xc]
strb sb, [sp, #0xd]
bl func_ov00_020840c4
mov r5, r0
cmp r5, sl
beq _0216442c
cmp r5, #0
beq _02164438
ldr r1, [r0]
ldr r1, [r1, #0x1c]
blx r1
cmp r0, #0x18
bne _02164438
strb r4, [r5, #0x70]
mov r7, #1
strb r4, [r5, #0x71]
_0216442c:
add sb, sb, #1
cmp sb, r8
blt _021643e0
_02164438:
cmp r7, #0
beq _02164464
ldrb r0, [sl, #0x72]
add r0, r0, #1
strb r0, [sl, #0x72]
_0216444c:
ldr r0, [sp, #4]
add r1, r0, #1
ldr r0, [sp, #8]
str r1, [sp, #4]
cmp r1, r0
blt _021643b4
_02164464:
mov r0, #1
strb r0, [sl, #0x71]
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov17_02164284
_02164474: .word data_027e0e60
.global func_ov17_02164478
arm_func_start func_ov17_02164478
func_ov17_02164478: ; 0x02164478
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
ldrb r2, [r0, #0x70]
cmp r2, #0
addeq sp, sp, #0xc
ldmeqia sp!, {r3, r4, pc}
ldrb lr, [r0, #0x73]
ldr r4, [r0, #0x20]
ldrb r2, [r0, #0x72]
ldr r3, [r0, #0x18]
ldr ip, [r0, #0x1c]
add r0, r3, r2, lsl #12
add r4, r4, lr, lsl #12
str r0, [sp]
str ip, [sp, #4]
str r4, [sp, #8]
cmp r1, #0
add r2, sp, #0
mov r3, #0
beq _021644dc
ldr r0, _021644f0 ; =data_027e0ffc
ldr r1, _021644f4 ; =0x00000363
bl func_ov00_020ceacc
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
_021644dc:
ldr r0, _021644f0 ; =data_027e0ffc
mov r1, #0x364
bl func_ov00_020ceacc
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_02164478
_021644f0: .word data_027e0ffc
_021644f4: .word 0x00000363
.global func_ov17_021644f8
arm_func_start func_ov17_021644f8
func_ov17_021644f8: ; 0x021644f8
mov r0, #0x18
bx lr
arm_func_end func_ov17_021644f8
.global func_ov17_02164500
arm_func_start func_ov17_02164500
func_ov17_02164500: ; 0x02164500
stmdb sp!, {r4, lr}
ldr r1, _02164534 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x8c
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_02164538
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02164500
_02164534: .word data_027e0f84
.global func_ov17_02164538
arm_func_start func_ov17_02164538
func_ov17_02164538: ; 0x02164538
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _021645e4 ; =data_ov00_020e26b4
ldr r0, _021645e8 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r1, _021645ec ; =data_ov00_020e2dd8
str r2, [r4, #0x48]
ldr r0, _021645f0 ; =data_ov17_0216c6e8
str r1, [r4, #0x38]
ldr r1, _021645f4 ; =0x000004cd
str r0, [r4]
ldr r0, _021645f8 ; =data_027e0f68
str r1, [r4, #0x64]
ldr r0, [r0]
mov r1, #0x62
bl func_ov00_0208ccdc
mov r2, #0
mov r1, r0
mov r3, r2
add r0, r4, #0x6c
blx func_ov00_020bd618
ldr r0, _021645fc ; =gItemManager
mov r1, #4
ldr r0, [r0]
bl _ZN11ItemManager12GetItemModelEj
mov r1, r0
add r0, r4, #0x78
mov r2, #0
mov r3, r2
blx func_ov00_020bd618
ldr r1, _02164600 ; =data_ov00_020e2f68
mov r0, r4
str r1, [r4, #0x84]
str r4, [r4, #0x88]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02164538
_021645e4: .word data_ov00_020e26b4
_021645e8: .word data_ov00_020e2f04
_021645ec: .word data_ov00_020e2dd8
_021645f0: .word data_ov17_0216c6e8
_021645f4: .word 0x000004cd
_021645f8: .word data_027e0f68
_021645fc: .word gItemManager
_02164600: .word data_ov00_020e2f68
.global func_ov17_02164604
arm_func_start func_ov17_02164604
func_ov17_02164604: ; 0x02164604
stmdb sp!, {r4, lr}
ldr r1, _0216465c ; =data_ov17_0216c6e8
mov r4, r0
ldr r0, _02164660 ; =data_027e0f6c
str r1, [r4]
ldr r0, [r0]
add r1, r4, #0x38
bl func_ov00_02093af0
mov r1, #0
add r0, r4, #0x84
str r1, [r4, #0x88]
bl func_ov00_02081f6c
add r0, r4, #0x78
blx func_ov00_020b3ea8
add r0, r4, #0x6c
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02164604
_0216465c: .word data_ov17_0216c6e8
_02164660: .word data_027e0f6c
.global func_ov17_02164664
arm_func_start func_ov17_02164664
func_ov17_02164664: ; 0x02164664
stmdb sp!, {r4, lr}
ldr r1, _021646c4 ; =data_ov17_0216c6e8
mov r4, r0
ldr r0, _021646c8 ; =data_027e0f6c
str r1, [r4]
ldr r0, [r0]
add r1, r4, #0x38
bl func_ov00_02093af0
mov r1, #0
add r0, r4, #0x84
str r1, [r4, #0x88]
bl func_ov00_02081f6c
add r0, r4, #0x78
blx func_ov00_020b3ea8
add r0, r4, #0x6c
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02164664
_021646c4: .word data_ov17_0216c6e8
_021646c8: .word data_027e0f6c
.global func_ov17_021646cc
arm_func_start func_ov17_021646cc
func_ov17_021646cc: ; 0x021646cc
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x44
mov ip, #0x800
rsb ip, ip, #0
mov r2, #0x800
ldr r1, _02164878 ; =0x00001333
mov r3, #0
mov r4, r0
str ip, [sp, #0x38]
str r3, [sp, #0x3c]
str ip, [sp, #0x40]
str r2, [sp, #0x2c]
str r1, [sp, #0x30]
str r2, [sp, #0x34]
ldrsh r0, [r4, #0xc]
bl func_0202bbbc
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02164778
_02164718: ; jump table
b _02164744 ; case 0
b _02164728 ; case 1
b _02164778 ; case 2
b _0216475c ; case 3
_02164728:
mov r0, #0x4000
rsb r0, r0, #0
strh r0, [r4, #0xc]
ldr r0, [sp, #0x38]
sub r0, r0, #0x4000
str r0, [sp, #0x38]
b _0216478c
_02164744:
mov r0, #0x4000
strh r0, [r4, #0xc]
ldr r0, [sp, #0x2c]
add r0, r0, #0x4000
str r0, [sp, #0x2c]
b _0216478c
_0216475c:
mov r0, #0x8000
rsb r0, r0, #0
strh r0, [r4, #0xc]
ldr r0, [sp, #0x40]
sub r0, r0, #0x4000
str r0, [sp, #0x40]
b _0216478c
_02164778:
mov r0, #0
strh r0, [r4, #0xc]
ldr r0, [sp, #0x34]
add r0, r0, #0x4000
str r0, [sp, #0x34]
_0216478c:
add r0, sp, #0x38
add r1, r4, #0x18
mov r2, r0
bl func_01ff9bc4
add r0, sp, #0x2c
add r1, r4, #0x18
mov r2, r0
bl func_01ff9bc4
mov r0, #0
bic r0, r0, #0x6000
orr r0, r0, #0x2000
bic r0, r0, #0x1f
orr r3, r0, #7
add r1, sp, #0x38
str r3, [sp, #4]
add ip, sp, #0x14
ldmia r1, {r0, r1, r2}
stmia ip, {r0, r1, r2}
add r0, sp, #0x2c
add r3, sp, #0x20
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r4
bl func_ov00_0208b9cc
mov r2, r0
add r0, r4, #0x84
str r0, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x14]
add r1, sp, #0x14
blx ip
mov r0, #0
strb r0, [r4, #0x3c]
ldr r0, _0216487c ; =data_027e0f6c
add r1, r4, #0x38
ldr r0, [r0]
bl func_ov00_02093a5c
mov r0, #0
str r0, [sp, #8]
str r0, [sp, #0xc]
sub r0, r0, #0x800
str r0, [sp, #0x10]
ldrsh r1, [r4, #0xc]
add r0, sp, #8
bl func_ov00_020a61ac
add r0, r4, #0x18
add r1, sp, #8
mov r2, r0
bl func_01ff9bc4
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
add sp, sp, #0x44
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_021646cc
_02164878: .word 0x00001333
_0216487c: .word data_027e0f6c
.global func_ov17_02164880
arm_func_start func_ov17_02164880
func_ov17_02164880: ; 0x02164880
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldrne r0, [r4, #8]
cmpne r0, #0
ldmeqia sp!, {r4, pc}
cmp r0, #1
beq _021648b8
cmp r0, #2
beq _021648f8
ldmia sp!, {r4, pc}
_021648b8:
mov r0, r4
bl func_ov00_0208c3a4
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #0x68]
sub r0, r0, #1
str r0, [r4, #0x68]
cmp r0, #0
ldmgtia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r4, pc}
_021648f8:
mov r0, r4
bl func_ov00_0208c3a4
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #0x68]
sub r0, r0, #1
mov r1, r0, lsl #0xc
str r0, [r4, #0x68]
cmp r1, #0x1000
ldr r0, _02164964 ; =0x000004cd
ble _02164938
ldr r2, [r4, #0x64]
sub r0, r0, r2
bl func_01ff98e0
ldr r1, [r4, #0x64]
add r0, r1, r0
_02164938:
str r0, [r4, #0x64]
ldr r0, [r4, #0x68]
cmp r0, #0
ldmgtia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02164880
_02164964: .word 0x000004cd
.global func_ov17_02164968
arm_func_start func_ov17_02164968
func_ov17_02164968: ; 0x02164968
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x3c
mov r4, r0
str r1, [r4, #8]
cmp r1, #0
beq _02164994
cmp r1, #1
beq _021649a8
cmp r1, #2
beq _02164a40
b _02164a50
_02164994:
mov r1, #0
ldr r0, _02164a5c ; =0x000004cd
str r1, [r4, #0x68]
str r0, [r4, #0x64]
b _02164a50
_021649a8:
mov r0, #0x5a
str r0, [r4, #0x68]
ldr r1, _02164a60 ; =0xfffffccd
add r0, sp, #0x10
str r1, [r4, #0x64]
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x10
str r1, [sp, #0x2c]
str r1, [sp, #0x30]
bl func_ov00_020c3348
ldrsh r1, [r4, #0xc]
mov r3, #0
mov r0, #2
strh r1, [sp, #0x24]
strh r3, [sp, #0x10]
strh r0, [sp, #0x14]
ldr r0, [r4, #0x1c]
ldr r2, [r4, #0x20]
ldr r1, [r4, #0x18]
add r0, r0, #0x9a
add r0, r0, #0x900
str r1, [sp, #4]
str r0, [sp, #8]
str r2, [sp, #0xc]
str r3, [sp]
ldr r0, _02164a64 ; =data_027e0fe8
ldr r1, _02164a68 ; =0x41525257
ldr r0, [r0]
add r2, sp, #4
add r3, sp, #0x10
bl func_ov00_020c4048
ldrsh r2, [r4, #0xc]
ldr r0, _02164a6c ; =data_027e0ffc
mov r1, #0xe0
mov r3, #0
bl func_ov00_020cebcc
b _02164a50
_02164a40:
mov r1, #0xa
ldr r0, _02164a60 ; =0xfffffccd
str r1, [r4, #0x68]
str r0, [r4, #0x64]
_02164a50:
mov r0, #1
add sp, sp, #0x3c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_02164968
_02164a5c: .word 0x000004cd
_02164a60: .word 0xfffffccd
_02164a64: .word data_027e0fe8
_02164a68: .word 0x41525257
_02164a6c: .word data_027e0ffc
.global func_ov17_02164a70
arm_func_start func_ov17_02164a70
func_ov17_02164a70: ; 0x02164a70
stmdb sp!, {r3, lr}
cmp r1, #0
bne _02164a9c
ldr r1, [r0, #8]
cmp r1, #0
bne _02164a9c
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
_02164a9c:
mov r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov17_02164a70
.global func_ov17_02164aa4
arm_func_start func_ov17_02164aa4
func_ov17_02164aa4: ; 0x02164aa4
stmdb sp!, {r4, lr}
sub sp, sp, #0x30
mov r4, r0
ldrh r1, [r4, #0xc]
ldr r3, _02164b58 ; =data_02050f54
add r0, sp, #0xc
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x6c
ldr r3, [r0]
add r1, sp, #0xc
ldr r3, [r3, #0x14]
add r2, r4, #0x18
blx r3
ldr r0, [r4, #8]
cmp r0, #1
addeq sp, sp, #0x30
ldmeqia sp!, {r4, pc}
ldr r2, [r4, #0x64]
ldr r0, _02164b5c ; =0x0000099a
mov r1, #0
str r0, [sp, #4]
str r2, [sp, #8]
str r1, [sp]
ldrsh r1, [r4, #0xc]
add r0, sp, #0
bl func_ov00_020a61ac
add r0, sp, #0
add r1, r4, #0x18
mov r2, r0
bl func_01ff9bc4
add r0, r4, #0x78
ldr r3, [r0]
add r1, sp, #0xc
ldr r3, [r3, #0x14]
add r2, sp, #0
blx r3
add sp, sp, #0x30
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02164aa4
_02164b58: .word data_02050f54
_02164b5c: .word 0x0000099a
.global func_ov17_02164b60
arm_func_start func_ov17_02164b60
func_ov17_02164b60: ; 0x02164b60
mov r0, #0x7f
bx lr
arm_func_end func_ov17_02164b60
.global func_ov17_02164b68
arm_func_start func_ov17_02164b68
func_ov17_02164b68: ; 0x02164b68
mov r0, #0
bx lr
arm_func_end func_ov17_02164b68
.global func_ov17_02164b70
arm_func_start func_ov17_02164b70
func_ov17_02164b70: ; 0x02164b70
stmdb sp!, {r4, lr}
ldr r1, _02164ba4 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x7c
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_02164ba8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02164b70
_02164ba4: .word data_027e0f84
.global func_ov17_02164ba8
arm_func_start func_ov17_02164ba8
func_ov17_02164ba8: ; 0x02164ba8
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02164c4c ; =data_ov00_020e2748
ldr r0, _02164c50 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r0, _02164c54 ; =data_ov00_020e2e3c
str r2, [r4, #0x48]
str r0, [r4, #0x38]
str r2, [r4, #0x58]
str r2, [r4, #0x4c]
str r2, [r4, #0x50]
ldr r0, _02164c58 ; =data_ov17_0216c7a8
str r2, [r4, #0x54]
str r0, [r4]
str r2, [r4, #0x60]
strh r2, [r4, #0x64]
strh r2, [r4, #0x66]
str r2, [r4, #0x68]
ldr r0, _02164c5c ; =data_027e0f68
str r2, [r4, #0x6c]
ldr r0, [r0]
mov r1, #0x5d
bl func_ov00_0208ccdc
mov r2, #0
mov r1, r0
mov r3, r2
add r0, r4, #0x70
blx func_ov00_020bd618
ldr r1, _02164c60 ; =data_ov17_0216d020
mov r2, #0
mov r0, r4
strb r2, [r1, #0x14]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02164ba8
_02164c4c: .word data_ov00_020e2748
_02164c50: .word data_ov00_020e2f04
_02164c54: .word data_ov00_020e2e3c
_02164c58: .word data_ov17_0216c7a8
_02164c5c: .word data_027e0f68
_02164c60: .word data_ov17_0216d020
.global func_ov17_02164c64
arm_func_start func_ov17_02164c64
func_ov17_02164c64: ; 0x02164c64
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x70
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02164c64
.global func_ov17_02164c8c
arm_func_start func_ov17_02164c8c
func_ov17_02164c8c: ; 0x02164c8c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x70
blx func_ov00_020b3ea8
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02164c8c
.global func_ov17_02164cbc
arm_func_start func_ov17_02164cbc
func_ov17_02164cbc: ; 0x02164cbc
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x34
mov r4, r0
ldr r1, [r4, #4]
mov r0, #0
orr r1, r1, #0x44
str r1, [r4, #4]
mov r1, #1
strb r1, [r4, #0x12]
ldrh r1, [r4, #0x26]
add r5, r4, #0x18
bic r3, r0, #0x1f
str r1, [r4, #0x60]
ldmia r5, {r0, r1, r2}
add lr, sp, #0x28
stmia lr, {r0, r1, r2}
add ip, sp, #0x1c
ldmia r5, {r0, r1, r2}
stmia ip, {r0, r1, r2}
ldr r0, [r4, #0x18]
orr ip, r3, #6
str r0, [sp, #8]
ldr r0, [r4, #0x1c]
ldr r1, _02164d88 ; =0x000004cd
str r0, [sp, #0xc]
ldr r3, [r4, #0x20]
mov r2, #0x800
mov r0, r4
str ip, [sp, #4]
str r3, [sp, #0x10]
str r2, [sp, #0x14]
str r1, [sp, #0x18]
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x10]
add r1, sp, #8
blx ip
mov r1, #0
strb r1, [r4, #0x3c]
ldrh r0, [r4, #0x24]
cmp r0, #1
moveq r0, #1
streq r0, [r4, #8]
strne r1, [r4, #8]
add sp, sp, #0x34
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02164cbc
_02164d88: .word 0x000004cd
.global func_ov17_02164d8c
arm_func_start func_ov17_02164d8c
func_ov17_02164d8c: ; 0x02164d8c
stmdb sp!, {r3, lr}
ldrh r1, [r0, #0x24]
ldr r3, [r0]
cmp r1, #1
bne _02164db4
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r3, pc}
_02164db4:
ldr r3, [r3, #0x80]
mov r1, #0
mov r2, #1
blx r3
ldmia sp!, {r3, pc}
arm_func_end func_ov17_02164d8c
.global func_ov17_02164dc8
arm_func_start func_ov17_02164dc8
func_ov17_02164dc8: ; 0x02164dc8
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, _02164e68 ; =data_ov17_0216d020
mov r1, #0
strb r1, [r0, #0x14]
ldr r0, [r4, #8]
cmp r0, #3
addls pc, pc, r0, lsl #2
ldmia sp!, {r4, pc}
_02164e00: ; jump table
ldmia sp!, {r4, pc} ; case 0
ldmia sp!, {r4, pc} ; case 1
b _02164e10 ; case 2
b _02164e3c ; case 3
_02164e10:
mov r0, r4
bl func_ov17_021650e4
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r4, pc}
_02164e3c:
mov r0, r4
bl func_ov17_021650e4
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02164dc8
_02164e68: .word data_ov17_0216d020
.global func_ov17_02164e6c
arm_func_start func_ov17_02164e6c
func_ov17_02164e6c: ; 0x02164e6c
stmdb sp!, {r4, lr}
mov r4, r0
str r1, [r4, #8]
cmp r1, #3
addls pc, pc, r1, lsl #2
b _02164f88
_02164e84: ; jump table
b _02164e94 ; case 0
b _02164ef8 ; case 1
b _02164f64 ; case 2
b _02164f78 ; case 3
_02164e94:
mov r1, #0
strh r1, [r4, #0x64]
str r1, [r4, #0x68]
str r1, [r4, #0x6c]
bl func_ov17_0216517c
cmp r0, #0
beq _02164ec4
mov r0, r4
mov r1, #0
mov r2, #1
bl func_ov00_0208ba08
b _02164f88
_02164ec4:
ldrh r0, [r4, #0x28]
cmp r0, #1
bne _02164f88
mov r0, r4
mov r1, #1
bl func_ov00_0208b9e4
cmp r0, #0
bne _02164f88
mov r1, #0
mov r0, r4
mov r2, r1
bl func_ov00_0208ba08
b _02164f88
_02164ef8:
mov r1, #0x8000
rsb r1, r1, #0
strh r1, [r4, #0x64]
mov r1, #0
str r1, [r4, #0x68]
str r1, [r4, #0x6c]
bl func_ov17_0216517c
cmp r0, #0
beq _02164f30
mov r0, r4
mov r1, #0
mov r2, #1
bl func_ov00_0208ba08
b _02164f88
_02164f30:
ldrh r0, [r4, #0x28]
cmp r0, #1
bne _02164f88
mov r0, r4
mov r1, #1
bl func_ov00_0208b9e4
cmp r0, #0
bne _02164f88
mov r1, #0
mov r0, r4
mov r2, r1
bl func_ov00_0208ba08
b _02164f88
_02164f64:
mov r1, #0
ldr r0, _02164f90 ; =0x00000666
strh r1, [r4, #0x66]
str r0, [r4, #0x6c]
b _02164f88
_02164f78:
mov r1, #0
ldr r0, _02164f90 ; =0x00000666
strh r1, [r4, #0x66]
str r0, [r4, #0x6c]
_02164f88:
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02164e6c
_02164f90: .word 0x00000666
.global func_ov17_02164f94
arm_func_start func_ov17_02164f94
func_ov17_02164f94: ; 0x02164f94
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
cmp r2, #1
mov r5, r3
mvngt r0, #0
ldmgtia sp!, {r3, r4, r5, pc}
bl func_ov17_02165284
cmp r0, #0
mvnne r0, #0
ldmneia sp!, {r3, r4, r5, pc}
ldr r0, [r4, #8]
cmp r0, #0
cmpne r0, #1
bne _02164ffc
ldr r0, _0216505c ; =data_ov17_0216d020
ldrb r0, [r0, #0x14]
cmp r0, #0
bne _02164ffc
ldr r0, _02165060 ; =data_027e0ffc
ldr r1, _02165064 ; =0x0000034d
mov r2, r5
mov r3, #0
bl func_ov00_020ceacc
ldr r0, _0216505c ; =data_ov17_0216d020
mov r1, #1
strb r1, [r0, #0x14]
_02164ffc:
ldr r0, [r4, #8]
cmp r0, #0
beq _02165014
cmp r0, #1
beq _02165034
b _02165054
_02165014:
mov r0, r4
ldr r3, [r0]
mov r1, #3
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
mov r0, #0
ldmia sp!, {r3, r4, r5, pc}
_02165034:
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
mov r0, #0
ldmia sp!, {r3, r4, r5, pc}
_02165054:
mvn r0, #0
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02164f94
_0216505c: .word data_ov17_0216d020
_02165060: .word data_027e0ffc
_02165064: .word 0x0000034d
.global func_ov17_02165068
arm_func_start func_ov17_02165068
func_ov17_02165068: ; 0x02165068
stmdb sp!, {r4, lr}
sub sp, sp, #0x30
mov r4, r0
ldrh r1, [r4, #0x64]
ldr r3, _021650e0 ; =data_02050f54
add r0, sp, #0xc
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff81f8
ldr r2, [r4, #0x1c]
ldr r1, [r4, #0x68]
ldr r3, [r4, #0x20]
ldr r0, [r4, #0x18]
add r1, r2, r1
str r0, [sp]
str r1, [sp, #4]
add r0, r4, #0x70
str r3, [sp, #8]
ldr r3, [r0]
add r1, sp, #0xc
ldr r3, [r3, #0x14]
add r2, sp, #0
blx r3
add sp, sp, #0x30
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02165068
_021650e0: .word data_02050f54
.global func_ov17_021650e4
arm_func_start func_ov17_021650e4
func_ov17_021650e4: ; 0x021650e4
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x6c]
sub r1, r0, #0xcd
str r1, [r4, #0x6c]
ldr r0, [r4, #0x68]
add r0, r0, r1
str r0, [r4, #0x68]
ldrsh r0, [r4, #0x66]
cmp r0, #0
blt _02165150
ldr r0, [r4, #8]
cmp r0, #2
beq _02165128
cmp r0, #3
beq _0216513c
b _02165150
_02165128:
ldr r2, _02165178 ; =0x00000dac
add r0, r4, #0x64
mov r1, #0
bl func_0202b154
b _02165150
_0216513c:
mov r1, #0x8000
ldr r2, _02165178 ; =0x00000dac
add r0, r4, #0x64
rsb r1, r1, #0
bl func_0202b154
_02165150:
ldrsh r0, [r4, #0x66]
add r0, r0, #1
strh r0, [r4, #0x66]
ldr r0, [r4, #0x6c]
cmp r0, #0
ldrle r0, [r4, #0x68]
cmple r0, #0
movle r0, #1
movgt r0, #0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_021650e4
_02165178: .word 0x00000dac
.global func_ov17_0216517c
arm_func_start func_ov17_0216517c
func_ov17_0216517c: ; 0x0216517c
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
mov sl, r0
ldr r0, [sl, #0x60]
cmp r0, #0
bne _021651c0
ldrh r0, [sl, #0x24]
cmp r0, #1
ldr r0, [sl, #8]
bne _021651b0
cmp r0, #0
moveq r0, #1
movne r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_021651b0:
cmp r0, #1
moveq r0, #1
movne r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_021651c0:
ldr r0, _02165280 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_0208335c
ldr r1, _02165280 ; =data_027e0e60
and fp, r0, #0xff
ldr r0, [r1]
bl func_ov00_02083368
mov r8, #0
strb r8, [sp]
strb r8, [sp, #1]
cmp fp, #0
and r7, r0, #0xff
bls _02165278
ldr r4, _02165280 ; =data_027e0e60
add r6, sp, #0
_021651fc:
mov sb, #0
cmp r7, #0
bls _02165268
_02165208:
ldr r0, [r4]
mov r1, r6
strb r8, [sp]
strb sb, [sp, #1]
bl func_ov00_020840c4
movs r5, r0
beq _02165258
ldr r1, [r0]
ldr r1, [r1, #0x1c]
blx r1
cmp r0, #0x80
ldreq r1, [sl, #0x60]
ldreq r0, [r5, #0x60]
cmpeq r1, r0
bne _02165258
ldr r1, [sl, #8]
ldr r0, [r5, #8]
cmp r1, r0
movne r0, #0
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
_02165258:
add r0, sb, #1
and sb, r0, #0xff
cmp sb, r7
blo _02165208
_02165268:
add r0, r8, #1
and r8, r0, #0xff
cmp r8, fp
blo _021651fc
_02165278:
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov17_0216517c
_02165280: .word data_027e0e60
.global func_ov17_02165284
arm_func_start func_ov17_02165284
func_ov17_02165284: ; 0x02165284
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x14
ldr r1, _02165304 ; =data_027e0f94
mov r4, r0
ldr r2, [r1]
ldr r0, [r1, #4]
str r2, [sp, #8]
str r0, [sp, #0xc]
ldr r1, [r1, #8]
add r0, r4, #0x38
str r1, [sp, #0x10]
ldr r2, [r0]
add r1, sp, #8
ldr r2, [r2, #0x4c]
blx r2
cmp r0, #0
addne sp, sp, #0x14
movne r0, #1
ldmneia sp!, {r3, r4, pc}
ldr r0, _02165308 ; =data_027e0fe4
ldr r3, _0216530c ; =data_ov17_0216c794
ldr r0, [r0]
add r1, sp, #0
mov r2, #0
str r3, [sp]
str r4, [sp, #4]
bl func_ov00_020c37ec
cmp r0, #0
movgt r0, #1
movle r0, #0
add sp, sp, #0x14
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_02165284
_02165304: .word data_027e0f94
_02165308: .word data_027e0fe4
_0216530c: .word data_ov17_0216c794
.global func_ov17_02165310
arm_func_start func_ov17_02165310
func_ov17_02165310: ; 0x02165310
bx lr
arm_func_end func_ov17_02165310
.global func_ov17_02165314
arm_func_start func_ov17_02165314
func_ov17_02165314: ; 0x02165314
mov r0, #0
bx lr
arm_func_end func_ov17_02165314
.global func_ov17_0216531c
arm_func_start func_ov17_0216531c
func_ov17_0216531c: ; 0x0216531c
mov r0, #0x80
bx lr
arm_func_end func_ov17_0216531c
.global func_ov17_02165324
arm_func_start func_ov17_02165324
func_ov17_02165324: ; 0x02165324
stmdb sp!, {lr}
sub sp, sp, #0xc
ldr r3, [r1, #4]
ldr r2, _021653d4 ; =0x43525953
cmp r3, r2
bhi _02165370
bhs _021653a8
ldr r2, _021653d8 ; =0x424b4559
cmp r3, r2
bhi _02165360
bhs _021653a8
ldr r2, _021653dc ; =0x42494752
cmp r3, r2
beq _021653a8
b _0216539c
_02165360:
ldr r2, _021653e0 ; =0x424f4d42
cmp r3, r2
beq _021653a8
b _0216539c
_02165370:
ldr r2, _021653e4 ; =0x5053424c
cmp r3, r2
bhi _02165390
bhs _021653a8
ldr r2, _021653e8 ; =0x464f5243
cmp r3, r2
beq _021653a8
b _0216539c
_02165390:
ldr r2, _021653ec ; =0x57424c4b
cmp r3, r2
beq _021653a8
_0216539c:
add sp, sp, #0xc
mov r0, #0
ldmia sp!, {pc}
_021653a8:
ldr r2, [r1, #0x48]
str r2, [sp]
ldr r2, [r1, #0x4c]
str r2, [sp, #4]
ldr r2, [r1, #0x50]
add r1, sp, #0
str r2, [sp, #8]
ldr r0, [r0, #4]
bl func_ov00_0208b73c
add sp, sp, #0xc
ldmia sp!, {pc}
.align 2, 0
arm_func_end func_ov17_02165324
_021653d4: .word 0x43525953
_021653d8: .word 0x424b4559
_021653dc: .word 0x42494752
_021653e0: .word 0x424f4d42
_021653e4: .word 0x5053424c
_021653e8: .word 0x464f5243
_021653ec: .word 0x57424c4b
.global func_ov17_021653f0
arm_func_start func_ov17_021653f0
func_ov17_021653f0: ; 0x021653f0
stmdb sp!, {r4, lr}
mov r4, r0
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_021653f0
.global func_ov17_02165404
arm_func_start func_ov17_02165404
func_ov17_02165404: ; 0x02165404
stmdb sp!, {r3, lr}
ldr r1, _02165430 ; =data_027e0fe0
mov r0, #0x1a4
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r3, pc}
blx func_ov17_02165434
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_02165404
_02165430: .word data_027e0fe0
.global func_ov17_02165434
thumb_func_start func_ov17_02165434
func_ov17_02165434: ; 0x02165434
push {r3, r4, r5, lr}
add r4, r0, #0
blx func_ov00_020c1554
ldr r0, _021654c0 ; =data_ov17_0216c83c
mov r2, #0
str r0, [r4]
mov r0, #0x56
lsl r0, r0, #2
mov r3, #1
strb r2, [r4, r0]
add r1, r0, #1
strb r2, [r4, r1]
add r1, r0, #2
strb r2, [r4, r1]
add r1, r0, #4
str r2, [r4, r1]
add r1, r0, #0
lsl r3, r3, #0xc
add r1, #8
str r3, [r4, r1]
add r1, r0, #0
sub r3, r2, #1
add r1, #0xc
str r3, [r4, r1]
add r1, r0, #0
add r1, #0x10
str r2, [r4, r1]
add r1, r0, #0
mov r3, #0x1f
add r1, #0x14
strh r3, [r4, r1]
add r1, r0, #0
add r3, r0, #0
add r1, #0x18
ldr r5, _021654c4 ; =data_ov00_020e2f04
add r3, #0x18
str r5, [r4, r3]
add r1, r4, r1
mov r3, #1
strb r3, [r1, #4]
strb r2, [r1, #5]
str r2, [r1, #8]
str r2, [r1, #0xc]
add r3, r0, #0
ldr r5, _021654c8 ; =data_ov00_020e2e3c
str r2, [r1, #0x10]
add r3, #0x18
str r5, [r4, r3]
add r3, r1, #0
add r3, #0x14
str r2, [r3, #0xc]
str r2, [r1, #0x14]
add r1, r0, #0
str r2, [r3, #4]
str r2, [r3, #8]
add r1, #0x40
str r2, [r4, r1]
ldr r1, _021654cc ; =func_ov00_020b7d74
add r0, #0x44
str r1, [sp]
ldr r3, _021654d0 ; =func_ov17_0215bf80
add r0, r4, r0
mov r1, #2
mov r2, #4
blx func_0204f614
add r0, r4, #0
pop {r3, r4, r5, pc}
nop
thumb_func_end func_ov17_02165434
_021654c0: .word data_ov17_0216c83c
_021654c4: .word data_ov00_020e2f04
_021654c8: .word data_ov00_020e2e3c
_021654cc: .word func_ov00_020b7d74
_021654d0: .word func_ov17_0215bf80
.global func_ov17_021654d4
thumb_func_start func_ov17_021654d4
func_ov17_021654d4: ; 0x021654d4
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
ldr r0, _02165548 ; =data_ov17_0216c83c
mov r1, #0x66
str r0, [r7]
ldr r0, _0216554c ; =data_027e0e58
lsl r1, r1, #2
ldr r0, [r0]
add r1, r7, r1
blx func_ov00_0207c444
ldr r0, _0216554c ; =data_027e0e58
mov r4, #0
ldr r6, [r0]
mov r0, #0x67
lsl r0, r0, #2
add r5, r7, r0
_021654f6:
add r0, r6, #0
add r1, r5, #0
blx func_ov00_0207c444
add r4, r4, #1
add r5, r5, #4
cmp r4, #2
blo _021654f6
ldr r0, _02165550 ; =data_027e0f6c
mov r1, #0x17
lsl r1, r1, #4
ldr r0, [r0]
add r1, r7, r1
blx func_ov00_02093af0
mov r0, #0x67
lsl r0, r0, #2
ldr r3, _02165554 ; =func_ov00_020b7d74
add r0, r7, r0
mov r1, #2
mov r2, #4
blx func_0204f754
mov r0, #0x66
lsl r0, r0, #2
add r0, r7, r0
blx func_ov00_020b7d74
mov r0, #0x17
lsl r0, r0, #4
add r0, r7, r0
blx func_ov00_02094824
add r0, r7, #0
blx func_ov00_020c1730
add r0, r7, #0
blx _ZN9SysObjectdlEPv
add r0, r7, #0
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end func_ov17_021654d4
_02165548: .word data_ov17_0216c83c
_0216554c: .word data_027e0e58
_02165550: .word data_027e0f6c
_02165554: .word func_ov00_020b7d74
.global func_ov17_02165558
thumb_func_start func_ov17_02165558
func_ov17_02165558: ; 0x02165558
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
ldr r0, _021655c8 ; =data_ov17_0216c83c
mov r1, #0x66
str r0, [r7]
ldr r0, _021655cc ; =data_027e0e58
lsl r1, r1, #2
ldr r0, [r0]
add r1, r7, r1
blx func_ov00_0207c444
ldr r0, _021655cc ; =data_027e0e58
mov r4, #0
ldr r6, [r0]
mov r0, #0x67
lsl r0, r0, #2
add r5, r7, r0
_0216557a:
add r0, r6, #0
add r1, r5, #0
blx func_ov00_0207c444
add r4, r4, #1
add r5, r5, #4
cmp r4, #2
blo _0216557a
ldr r0, _021655d0 ; =data_027e0f6c
mov r1, #0x17
lsl r1, r1, #4
ldr r0, [r0]
add r1, r7, r1
blx func_ov00_02093af0
mov r0, #0x67
lsl r0, r0, #2
ldr r3, _021655d4 ; =func_ov00_020b7d74
add r0, r7, r0
mov r1, #2
mov r2, #4
blx func_0204f754
mov r0, #0x66
lsl r0, r0, #2
add r0, r7, r0
blx func_ov00_020b7d74
mov r0, #0x17
lsl r0, r0, #4
add r0, r7, r0
blx func_ov00_02094824
add r0, r7, #0
blx func_ov00_020c1730
add r0, r7, #0
pop {r3, r4, r5, r6, r7, pc}
nop
thumb_func_end func_ov17_02165558
_021655c8: .word data_ov17_0216c83c
_021655cc: .word data_027e0e58
_021655d0: .word data_027e0f6c
_021655d4: .word func_ov00_020b7d74
.global func_ov17_021655d8
thumb_func_start func_ov17_021655d8
func_ov17_021655d8: ; 0x021655d8
push {r3, r4, r5, r6, lr}
sub sp, #0x1c
add r4, r0, #0
blx func_ov00_020c1734
mov r0, #0x57
ldrh r1, [r4, #0x24]
lsl r0, r0, #2
str r1, [r4, r0]
ldr r1, [r4, r0]
cmp r1, #4
bne _021655f4
mov r1, #0
str r1, [r4, r0]
_021655f4:
mov r0, #0x57
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #3
bne _02165602
mov r1, #0x3e
b _02165604
_02165602:
mov r1, #0x2c
_02165604:
add r0, r4, #0
add r0, #0x7a
strh r1, [r0]
mov r0, #0x4b
mov r3, #1
lsl r0, r0, #2
str r3, [r4, r0]
mov r2, #0
add r5, r4, #0
str r2, [r4, #0x7c]
lsl r1, r3, #0xb
add r5, #0x80
str r1, [r5]
add r5, r4, #0
add r5, #0x84
str r2, [r5]
add r5, r4, #0
add r5, #0x88
str r1, [r5]
add r5, r4, #0
ldr r6, [r4, #0x7c]
add r5, #0x8c
str r6, [r5]
add r5, r4, #0
add r5, #0x80
ldr r6, [r5]
add r5, r4, #0
add r5, #0x90
str r6, [r5]
add r5, r4, #0
add r5, #0x84
ldr r6, [r5]
add r5, r4, #0
add r5, #0x94
str r6, [r5]
add r5, r4, #0
add r5, #0x88
ldr r6, [r5]
add r5, r4, #0
add r5, #0x98
str r6, [r5]
add r5, r4, #0
add r5, #0xa8
str r2, [r5]
add r5, r4, #0
add r5, #0xac
str r1, [r5]
add r5, r4, #0
add r5, #0xb0
str r2, [r5]
mov r6, #6
add r5, r4, #0
lsl r6, r6, #0xa
add r5, #0xb4
str r6, [r5]
ldr r5, [r4, #0x48]
str r2, [sp, #4]
str r5, [sp, #8]
ldr r5, [r4, #0x4c]
add r0, #0x44
str r5, [sp, #0xc]
ldr r5, [r4, #0x50]
add r0, r4, r0
str r1, [sp, #0x14]
ldr r1, _021656f4 ; =0x00001333
str r5, [sp, #0x10]
str r1, [sp, #0x18]
mov r1, #0x1f
add r5, r2, #0
bic r5, r1
mov r1, #7
orr r5, r1
ldr r1, _021656f8 ; =0xffff9fff
str r5, [sp, #4]
and r5, r1
lsl r1, r3, #0xd
orr r5, r1
lsl r1, r3, #0x16
add r3, r5, #0
orr r3, r1
str r5, [sp, #4]
mov r1, #1
lsl r1, r1, #0x1c
add r5, r3, #0
str r3, [sp, #4]
orr r5, r1
lsr r3, r1, #5
str r5, [sp, #4]
orr r5, r3
lsl r3, r1, #1
str r5, [sp, #4]
orr r5, r3
lsr r3, r1, #4
str r5, [sp, #4]
orr r3, r5
lsr r1, r1, #3
str r3, [sp, #4]
orr r3, r1
ldr r1, _021656fc ; =0xffc0ffff
str r3, [sp, #4]
and r1, r3
ldrh r3, [r4, #0x20]
str r2, [sp]
lsl r3, r3, #0x18
ldr r5, [r0]
lsr r3, r3, #0x18
lsl r3, r3, #0x10
orr r3, r1
ldr r2, [r4, #8]
ldr r5, [r5, #0x10]
add r1, sp, #8
str r3, [sp, #4]
blx r5
mov r0, #0x5d
mov r1, #0
lsl r0, r0, #2
strb r1, [r4, r0]
mov r0, #1
add sp, #0x1c
pop {r3, r4, r5, r6, pc}
.align 2, 0
thumb_func_end func_ov17_021655d8
_021656f4: .word 0x00001333
_021656f8: .word 0xffff9fff
_021656fc: .word 0xffc0ffff
.global func_ov17_02165700
thumb_func_start func_ov17_02165700
func_ov17_02165700: ; 0x02165700
push {r4, lr}
sub sp, #8
add r4, r0, #0
blx func_ov17_02166068
cmp r0, #0
beq _021657a6
mov r3, #0x57
lsl r3, r3, #2
ldr r0, [r4, r3]
cmp r0, #3
bne _02165738
add r0, r4, #0
add r0, #0x48
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, _021657b4 ; =data_027e0e58
add r1, r3, #0
add r2, r3, #0
add r1, #0x40
ldr r0, [r0]
add r1, r4, r1
add r2, #0x83
add r3, #0x84
blx func_ov00_0207c2e8
b _02165752
_02165738:
add r0, r4, #0
add r0, #0x48
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, _021657b4 ; =data_027e0e58
add r3, #0x40
add r1, r4, r3
ldr r0, [r0]
mov r2, #0xef
mov r3, #0xf0
blx func_ov00_0207c2e8
_02165752:
mov r0, #0x57
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #3
bhi _021657b0
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02165768: ; jump table
.short _02165770 - _02165768 - 2 ; case 0
.short _0216577e - _02165768 - 2 ; case 1
.short _02165770 - _02165768 - 2 ; case 2
.short _02165770 - _02165768 - 2 ; case 3
_02165770:
add r0, r4, #0
mov r1, #5
mov r2, #1
blx func_ov17_02165c48
add sp, #8
pop {r4, pc}
_0216577e:
ldr r0, _021657b8 ; =data_027e0e60
ldr r0, [r0]
blx func_ov00_02084b2c
cmp r0, #0
beq _02165798
add r0, r4, #0
mov r1, #5
mov r2, #1
blx func_ov17_02165c48
add sp, #8
pop {r4, pc}
_02165798:
add r0, r4, #0
mov r1, #4
mov r2, #1
blx func_ov17_02165c48
add sp, #8
pop {r4, pc}
_021657a6:
add r0, r4, #0
mov r1, #0
mov r2, #1
blx func_ov17_02165c48
_021657b0:
add sp, #8
pop {r4, pc}
.align 2, 0
thumb_func_end func_ov17_02165700
_021657b4: .word data_027e0e58
_021657b8: .word data_027e0e60
.global func_ov17_021657bc
arm_func_start func_ov17_021657bc
func_ov17_021657bc: ; 0x021657bc
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
bl func_ov00_020c313c
cmp r0, #0
beq _02165930
ldrb r0, [r5, #0x15a]
cmp r0, #0
beq _021657fc
mov r0, #0
str r0, [sp]
ldr r3, [r5, #8]
ldr r0, _02165944 ; =data_027e0ffc
ldr r1, _02165948 ; =0x0000047c
add r2, r5, #0x48
bl func_ov00_020cec60
_021657fc:
ldr r0, [r5, #0x130]
cmp r0, #5
addls pc, pc, r0, lsl #2
b _02165930
_0216580c: ; jump table
b _02165824 ; case 0
b _02165858 ; case 1
b _021658b8 ; case 2
b _021658dc ; case 3
b _02165930 ; case 4
b _02165908 ; case 5
_02165824:
mov r0, r5
bl func_ov00_020c198c
cmp r0, #0
beq _02165930
mov r0, r5
bl func_ov17_02166068
cmp r0, #0
beq _02165930
mov r0, r5
mov r1, #1
mov r2, #0
bl func_ov17_02165c48
b _02165930
_02165858:
ldr r0, _0216594c ; =data_027e0f74
ldr r1, [r5, #0x164]
ldr r0, [r0]
bl func_ov00_02097bac
cmp r0, #0
beq _02165930
ldr r0, [r5, #0x15c]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02165930
_02165880: ; jump table
b _02165890 ; case 0
b _021658a4 ; case 1
b _02165890 ; case 2
b _02165890 ; case 3
_02165890:
mov r0, r5
mov r1, #4
mov r2, #0
bl func_ov17_02165c48
b _02165930
_021658a4:
mov r0, r5
mov r1, #4
mov r2, #0
bl func_ov17_02165c48
b _02165930
_021658b8:
mov r0, r5
bl func_ov17_021661e8
cmp r0, #0
beq _02165930
mov r0, r5
mov r1, #3
mov r2, #0
bl func_ov17_02165c48
b _02165930
_021658dc:
add r0, r5, #0x160
mov r1, #0x1000
mov r2, #0xcd
bl Approach_thunk
cmp r0, #0
beq _02165930
mov r0, r5
mov r1, #4
mov r2, #0
bl func_ov17_02165c48
b _02165930
_02165908:
mov r0, r5
bl func_ov17_0216622c
cmp r0, #0
bne _02165930
mov r0, r5
mov r1, #4
mov r2, #0
bl func_ov17_02165c48
mov r0, #1
strb r0, [r5, #0x158]
_02165930:
mov r1, r4
add r0, r5, #0xa4
add r2, r5, #0x48
bl func_ov00_0207a1c8
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_021657bc
_02165944: .word data_027e0ffc
_02165948: .word 0x0000047c
_0216594c: .word data_027e0f74
.global func_ov17_02165950
arm_func_start func_ov17_02165950
func_ov17_02165950: ; 0x02165950
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #8
mov r5, r0
mov r4, r1
bl func_ov00_020c313c
cmp r0, #0
beq _02165c00
ldrb r0, [r5, #0x15a]
cmp r0, #0
beq _02165994
mov r0, #0
str r0, [sp]
ldr r3, [r5, #8]
ldr r0, _02165c18 ; =data_027e0ffc
ldr r1, _02165c1c ; =0x0000047c
add r2, r5, #0x48
bl func_ov00_020cec60
_02165994:
ldr r0, [r5, #0x130]
cmp r0, #0
beq _021659b0
cmp r0, #1
beq _021659d4
cmp r0, #4
b _02165c00
_021659b0:
mov r0, r5
bl func_ov17_02166068
cmp r0, #0
beq _02165c00
mov r0, r5
mov r1, #1
mov r2, #0
bl func_ov17_02165c48
b _02165c00
_021659d4:
ldr r0, _02165c20 ; =data_027e0f74
ldr r1, [r5, #0x164]
ldr r0, [r0]
bl func_ov00_02097bac
cmp r0, #0
beq _02165a34
ldr r0, [r5, #0x15c]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02165c00
_021659fc: ; jump table
b _02165a0c ; case 0
b _02165a20 ; case 1
b _02165a0c ; case 2
b _02165a0c ; case 3
_02165a0c:
mov r0, r5
mov r1, #4
mov r2, #0
bl func_ov17_02165c48
b _02165c00
_02165a20:
mov r0, r5
mov r1, #4
mov r2, #0
bl func_ov17_02165c48
b _02165c00
_02165a34:
ldr r0, _02165c20 ; =data_027e0f74
ldr r1, [r5, #0x164]
ldr r0, [r0]
bl func_ov00_02097b9c
cmp r0, #0
beq _02165c00
ldr r0, _02165c20 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02098058
cmp r0, #0x2d
bne _02165bf4
ldr r0, [r5, #0x15c]
mov r1, #0
cmp r0, #3
mov r3, #2
str r1, [sp]
bne _02165b28
ldr r0, _02165c24 ; =data_027e0e58
str r1, [sp, #4]
ldr r0, [r0]
ldr r1, _02165c28 ; =0x000001e3
add r2, r5, #0x48
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02165c24 ; =data_027e0e58
add r2, r5, #0x48
ldr r0, [r0]
mov r1, #0x1e4
mov r3, #2
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02165c24 ; =data_027e0e58
ldr r1, _02165c2c ; =0x000001e1
ldr r0, [r0]
add r2, r5, #0x48
mov r3, #2
bl func_ov00_0207c1b0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _02165c24 ; =data_027e0e58
ldr r1, _02165c30 ; =0x000001e2
ldr r0, [r0]
add r2, r5, #0x48
mov r3, #2
bl func_ov00_0207c1b0
add r0, r5, #0x48
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, _02165c24 ; =data_027e0e58
ldr r2, _02165c34 ; =0x000001df
ldr r0, [r0]
add r1, r5, #0x19c
mov r3, #0x1e0
bl func_ov00_0207c2e8
b _02165bd4
_02165b28:
ldr r0, _02165c24 ; =data_027e0e58
str r1, [sp, #4]
ldr r0, [r0]
ldr r1, _02165c38 ; =0x000001dd
add r2, r5, #0x48
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02165c24 ; =data_027e0e58
ldr r1, _02165c3c ; =0x000001de
ldr r0, [r0]
add r2, r5, #0x48
mov r3, #2
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02165c24 ; =data_027e0e58
ldr r1, _02165c40 ; =0x000001db
ldr r0, [r0]
add r2, r5, #0x48
mov r3, #2
bl func_ov00_0207c1b0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _02165c24 ; =data_027e0e58
mov r1, #0x1dc
ldr r0, [r0]
add r2, r5, #0x48
mov r3, #2
bl func_ov00_0207c1b0
add r0, r5, #0x48
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, _02165c24 ; =data_027e0e58
add r1, r5, #0x19c
ldr r0, [r0]
mov r2, #0xef
mov r3, #0xf0
bl func_ov00_0207c2e8
_02165bd4:
mov r0, r5
mov r1, #1
bl func_ov17_02166290
ldr r0, _02165c18 ; =data_027e0ffc
ldr r1, _02165c44 ; =0x0000047b
add r2, r5, #0x48
mov r3, #0
bl func_ov00_020ceacc
_02165bf4:
mov r0, r5
mov r1, #1
bl func_ov17_02166338
_02165c00:
mov r1, r4
add r0, r5, #0xa4
add r2, r5, #0x48
bl func_ov00_0207a1c8
add sp, sp, #8
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02165950
_02165c18: .word data_027e0ffc
_02165c1c: .word 0x0000047c
_02165c20: .word data_027e0f74
_02165c24: .word data_027e0e58
_02165c28: .word 0x000001e3
_02165c2c: .word 0x000001e1
_02165c30: .word 0x000001e2
_02165c34: .word 0x000001df
_02165c38: .word 0x000001dd
_02165c3c: .word 0x000001de
_02165c40: .word 0x000001db
_02165c44: .word 0x0000047b
.global func_ov17_02165c48
arm_func_start func_ov17_02165c48
func_ov17_02165c48: ; 0x02165c48
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0xb0
mov r4, r0
mov r3, #1
str r1, [r4, #0x130]
strb r3, [r4, #0x11a]
str r3, [r4, #0x12c]
sub r0, r3, #2
str r0, [r4, #0x164]
ldr r0, [r4, #0x130]
cmp r0, #5
addls pc, pc, r0, lsl #2
b _02165e2c
_02165c7c: ; jump table
b _02165c94 ; case 0
b _02165ce4 ; case 1
b _02165d54 ; case 2
b _02165d70 ; case 3
b _02165d80 ; case 4
b _02165dfc ; case 5
_02165c94:
mov r1, #0
strb r1, [r4, #0x15a]
strb r1, [r4, #0x11a]
str r1, [r4, #0x12c]
ldr r0, _02165e38 ; =data_027e0f6c
add r1, r4, #0x170
ldr r0, [r0]
bl func_ov00_02093af0
ldr r0, _02165e3c ; =data_027e0e58
add r6, r4, #0x19c
ldr r4, [r0]
mov r5, #0
_02165cc4:
mov r0, r4
mov r1, r6
bl func_ov00_0207c444
add r5, r5, #1
cmp r5, #2
add r6, r6, #4
blo _02165cc4
b _02165e2c
_02165ce4:
mov r0, #0
strb r0, [r4, #0x15a]
strb r0, [r4, #0x11a]
cmp r2, #0
bne _02165e2c
add r0, sp, #0
bl func_ov00_0209a4f4
mov r1, #6
mov r0, #0x64
mov r2, #0x1f
str r0, [sp, #4]
ldr r0, _02165e40 ; =data_027e0f74
strb r2, [sp, #9]
strb r1, [sp, #0xa]
strb r1, [sp, #0xb]
ldr r1, [r4, #0x48]
ldr r0, [r0]
str r1, [sp, #0x20]
ldr r2, [r4, #0x4c]
add r1, sp, #0
str r2, [sp, #0x24]
ldr r2, [r4, #0x50]
str r2, [sp, #0x28]
bl func_ov00_02097810
str r0, [r4, #0x164]
add r0, sp, #0
bl func_ov00_0209a508
b _02165e2c
_02165d54:
mov r1, #0
ldr r0, _02165e38 ; =data_027e0f6c
strb r1, [r4, #0x15a]
ldr r0, [r0]
add r1, r4, #0x170
bl func_ov00_02093af0
b _02165e2c
_02165d70:
mov r0, #0
str r0, [r4, #0x160]
strb r0, [r4, #0x15a]
b _02165e2c
_02165d80:
strb r3, [r4, #0x15a]
mov r1, #0x1000
ldr r0, _02165e38 ; =data_027e0f6c
str r1, [r4, #0x160]
ldr r0, [r0]
add r1, r4, #0x170
bl func_ov00_02093a5c
mov r0, r4
mov r1, #0
bl func_ov17_02166290
ldr r0, [r4, #0x15c]
cmp r0, #1
bne _02165de8
ldr r0, _02165e44 ; =data_027e0e60
mov r1, #1
ldr r0, [r0]
bl func_ov00_02084b20
mov r0, r4
mov r1, #1
bl func_ov00_020c22b8
cmp r0, #0
beq _02165de8
mov r0, r4
mov r1, #5
mov r2, #0
bl func_ov17_02165c48
_02165de8:
mov r1, #1
mov r0, r4
mov r2, r1
bl func_ov00_020c1c20
b _02165e2c
_02165dfc:
ldr r0, _02165e38 ; =data_027e0f6c
strb r3, [r4, #0x15a]
ldr r0, [r0]
add r1, r4, #0x170
bl func_ov00_02093af0
mov r0, r4
mov r1, #0
bl func_ov17_02166290
mov r1, #1
mov r0, r4
mov r2, r1
bl func_ov00_020c1c20
_02165e2c:
mov r0, #1
add sp, sp, #0xb0
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov17_02165c48
_02165e38: .word data_027e0f6c
_02165e3c: .word data_027e0e58
_02165e40: .word data_027e0f74
_02165e44: .word data_027e0e60
.global func_ov17_02165e48
arm_func_start func_ov17_02165e48
func_ov17_02165e48: ; 0x02165e48
stmdb sp!, {r4, lr}
sub sp, sp, #8
mov r4, r0
ldr r0, [r4, #0x15c]
cmp r0, #3
beq _02165ec4
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02165ee0 ; =data_027e0e58
ldr r1, _02165ee4 ; =0x000001d9
ldr r0, [r0]
add r2, r4, #0x48
mov r3, #2
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02165ee0 ; =data_027e0e58
ldr r1, _02165ee8 ; =0x000001da
ldr r0, [r0]
add r2, r4, #0x48
mov r3, #2
bl func_ov00_0207c1b0
ldr r0, _02165eec ; =data_027e0ffc
ldr r1, _02165ef0 ; =0x0000047d
add r2, r4, #0x48
mov r3, #0
bl func_ov00_020ceacc
add sp, sp, #8
ldmia sp!, {r4, pc}
_02165ec4:
ldr r0, _02165eec ; =data_027e0ffc
ldr r1, _02165ef4 ; =0x0000047f
add r2, r4, #0x48
mov r3, #0
bl func_ov00_020ceacc
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02165e48
_02165ee0: .word data_027e0e58
_02165ee4: .word 0x000001d9
_02165ee8: .word 0x000001da
_02165eec: .word data_027e0ffc
_02165ef0: .word 0x0000047d
_02165ef4: .word 0x0000047f
.global func_ov17_02165ef8
arm_func_start func_ov17_02165ef8
func_ov17_02165ef8: ; 0x02165ef8
stmdb sp!, {r4, lr}
sub sp, sp, #8
mov r4, r0
ldr r0, [r4, #0x15c]
cmp r0, #3
bne _02165f6c
mov r1, #0
str r1, [sp]
ldr r0, _02165f88 ; =data_027e0e58
str r1, [sp, #4]
ldr r0, [r0]
ldr r1, _02165f8c ; =0x000001e5
add r2, r4, #0x48
mov r3, #2
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
ldr r0, _02165f88 ; =data_027e0e58
str r1, [sp, #4]
ldr r0, [r0]
ldr r1, _02165f90 ; =0x000001e6
add r2, r4, #0x48
mov r3, #2
bl func_ov00_0207c1b0
ldr r0, _02165f94 ; =data_027e0ffc
ldr r1, _02165f98 ; =0x0000047d
add r2, r4, #0x48
mov r3, #0
bl func_ov00_020ceacc
_02165f6c:
ldr r0, _02165f94 ; =data_027e0ffc
ldr r1, _02165f9c ; =0x0000047e
add r2, r4, #0x48
mov r3, #0
bl func_ov00_020ceacc
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02165ef8
_02165f88: .word data_027e0e58
_02165f8c: .word 0x000001e5
_02165f90: .word 0x000001e6
_02165f94: .word data_027e0ffc
_02165f98: .word 0x0000047d
_02165f9c: .word 0x0000047e
.global func_ov17_02165fa0
arm_func_start func_ov17_02165fa0
func_ov17_02165fa0: ; 0x02165fa0
stmdb sp!, {r4, lr}
sub sp, sp, #0x38
mov r4, r0
ldrb r0, [r4, #0x11a]
cmp r0, #0
addeq sp, sp, #0x38
ldmeqia sp!, {r4, pc}
ldrh r0, [r1]
tst r0, #4
bne _02165fd4
tst r0, #8
addeq sp, sp, #0x38
ldmeqia sp!, {r4, pc}
_02165fd4:
add r0, sp, #0x18
bl func_01ffbe34
ldr r0, _0216605c ; =data_027e0d3c
mov r3, #2
mov r2, #1
ldr r0, [r0]
mov r1, #0
str r3, [sp, #0x1c]
strb r2, [sp, #0x23]
bl func_ov00_02079008
str r0, [sp, #0x18]
add r1, sp, #0x14
mov r2, #0
str r1, [sp]
add r0, sp, #0x10
stmib sp, {r0, r2}
ldr r0, _0216605c ; =data_027e0d3c
str r2, [sp, #0xc]
ldr r0, [r0]
mov r3, r2
add r1, r4, #0x48
bl func_ov00_02079470
cmp r0, #0
addeq sp, sp, #0x38
ldmeqia sp!, {r4, pc}
add r1, sp, #0x18
str r1, [sp]
ldrh r3, [r4, #0x7a]
ldr r0, _02166060 ; =data_02063e4c
ldr r1, [sp, #0x14]
ldr r2, [sp, #0x10]
bl func_020313c8
add sp, sp, #0x38
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02165fa0
_0216605c: .word data_027e0d3c
_02166060: .word data_02063e4c
.global func_ov17_02166064
arm_func_start func_ov17_02166064
func_ov17_02166064: ; 0x02166064
bx lr
arm_func_end func_ov17_02166064
.global func_ov17_02166068
arm_func_start func_ov17_02166068
func_ov17_02166068: ; 0x02166068
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x15c]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _0216614c
_02166080: ; jump table
b _02166090 ; case 0
b _021660a0 ; case 1
b _0216614c ; case 2
b _0216614c ; case 3
_02166090:
ldr r0, _021661e0 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_02084b2c
ldmia sp!, {r4, pc}
_021660a0:
ldr r0, _021661e0 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_02084b2c
cmp r0, #0
movne r0, #1
ldmneia sp!, {r4, pc}
ldrh r1, [r4, #0x22]
cmp r1, #0
ldreqb r0, [r4, #0x2a]
cmpeq r0, #0
moveq r0, #1
ldmeqia sp!, {r4, pc}
cmp r1, #0
ldrneb r0, [r4, #0x2a]
cmpne r0, #0
beq _02166114
ldr r0, _021661e4 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _0216610c
mov r0, r4
mov r1, #0
bl func_ov00_020c1bfc
cmp r0, #0
movne r0, #1
ldmneia sp!, {r4, pc}
_0216610c:
mov r0, #0
ldmia sp!, {r4, pc}
_02166114:
ldr r0, _021661e4 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
bne _0216613c
mov r0, r4
mov r1, #0
bl func_ov00_020c1bfc
cmp r0, #0
beq _02166144
_0216613c:
mov r0, #1
ldmia sp!, {r4, pc}
_02166144:
mov r0, #0
ldmia sp!, {r4, pc}
_0216614c:
ldrh r1, [r4, #0x22]
cmp r1, #0
ldreqb r0, [r4, #0x2a]
cmpeq r0, #0
moveq r0, #1
ldmeqia sp!, {r4, pc}
cmp r1, #0
ldrneb r0, [r4, #0x2a]
cmpne r0, #0
beq _021661a8
ldr r0, _021661e4 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _021661a0
mov r0, r4
mov r1, #0
bl func_ov00_020c1bfc
cmp r0, #0
movne r0, #1
ldmneia sp!, {r4, pc}
_021661a0:
mov r0, #0
ldmia sp!, {r4, pc}
_021661a8:
ldr r0, _021661e4 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
bne _021661d0
mov r0, r4
mov r1, #0
bl func_ov00_020c1bfc
cmp r0, #0
beq _021661d8
_021661d0:
mov r0, #1
ldmia sp!, {r4, pc}
_021661d8:
mov r0, #0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02166068
_021661e0: .word data_027e0e60
_021661e4: .word data_027e0f74
.global func_ov17_021661e8
arm_func_start func_ov17_021661e8
func_ov17_021661e8: ; 0x021661e8
stmdb sp!, {lr}
sub sp, sp, #0xc
ldr r1, _02166228 ; =data_027e0f94
add r0, r0, #0x170
ldr r3, [r1]
ldr r2, [r1, #4]
str r3, [sp]
str r2, [sp, #4]
ldr r2, [r1, #8]
add r1, sp, #0
str r2, [sp, #8]
ldr r2, [r0]
ldr r2, [r2, #0x4c]
blx r2
add sp, sp, #0xc
ldmia sp!, {pc}
.align 2, 0
arm_func_end func_ov17_021661e8
_02166228: .word data_027e0f94
.global func_ov17_0216622c
arm_func_start func_ov17_0216622c
func_ov17_0216622c: ; 0x0216622c
stmdb sp!, {r3, lr}
sub sp, sp, #0x18
add r0, r0, #0x170
ldr r2, [r0]
add r1, sp, #0xc
ldr r2, [r2, #0x3c]
blx r2
ldr r0, _0216628c ; =data_027e0f94
ldr r2, [sp, #0x10]
ldr r1, [r0, #4]
ldr r3, [r0]
str r1, [sp, #4]
str r3, [sp]
ldr r3, [r0, #8]
add r0, sp, #0
add r1, sp, #0xc
str r3, [sp, #8]
str r2, [sp, #4]
bl func_01ff9ec0
cmp r0, #0x1000
movlt r0, #1
movge r0, #0
add sp, sp, #0x18
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216622c
_0216628c: .word data_027e0f94
.global func_ov17_02166290
arm_func_start func_ov17_02166290
func_ov17_02166290: ; 0x02166290
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
ldr r0, [r4, #0x198]
cmp r0, #0
addne sp, sp, #4
ldmneia sp!, {r3, r4, pc}
cmp r1, #0
beq _021662c8
mov r0, #0x14
str r0, [r4, #0x168]
add r0, r4, #0x100
mov r1, #0
b _021662d8
_021662c8:
mov r0, #0
str r0, [r4, #0x168]
add r0, r4, #0x100
mov r1, #0x1f
_021662d8:
strh r1, [r0, #0x6c]
mov r1, #2
str r1, [sp]
ldr r0, _02166334 ; =data_027e0e58
add r1, r4, #0x198
ldr r0, [r0]
add r3, r4, #0x48
mov r2, #0x1d8
bl func_ov00_0207c1f8
ldr r2, [r4, #0x198]
add r0, r4, #0x100
cmp r2, #0
addeq sp, sp, #4
ldrh r0, [r0, #0x6c]
ldmeqia sp!, {r3, r4, pc}
ldr r1, [r2, #0x84]
and r0, r0, #0xff
bic r1, r1, #0xff00
mov r0, r0, lsl #0x18
orr r0, r1, r0, lsr #16
str r0, [r2, #0x84]
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_02166290
_02166334: .word data_027e0e58
.global func_ov17_02166338
arm_func_start func_ov17_02166338
func_ov17_02166338: ; 0x02166338
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x198]
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #0x168]
sub r0, r0, #1
str r0, [r4, #0x168]
cmp r0, #0
movle r0, #0
strle r0, [r4, #0x168]
ldr r0, [r4, #0x168]
cmp r1, #0
mov r1, r0, lsl #0xc
beq _021663b4
cmp r1, #0x1000
add r0, r4, #0x100
movle r1, #0x1f
strleh r1, [r0, #0x6c]
ble _021663f0
ldrsh r0, [r0, #0x6c]
rsb r0, r0, #0x1f
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x4
bl func_01ff98e0
add r1, r4, #0x100
ldrsh r2, [r1, #0x6c]
add r0, r0, #0x800
add r0, r2, r0, asr #12
strh r0, [r1, #0x6c]
b _021663f0
_021663b4:
cmp r1, #0x1000
add r0, r4, #0x100
movle r1, #0
strleh r1, [r0, #0x6c]
ble _021663f0
ldrsh r0, [r0, #0x6c]
rsb r0, r0, #0
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x4
bl func_01ff98e0
add r1, r4, #0x100
ldrsh r2, [r1, #0x6c]
add r0, r0, #0x800
add r0, r2, r0, asr #12
strh r0, [r1, #0x6c]
_021663f0:
ldr r2, [r4, #0x198]
add r0, r4, #0x100
cmp r2, #0
ldrh r0, [r0, #0x6c]
ldmeqia sp!, {r4, pc}
ldr r1, [r2, #0x84]
and r0, r0, #0xff
bic r1, r1, #0xff00
mov r0, r0, lsl #0x18
orr r0, r1, r0, lsr #16
str r0, [r2, #0x84]
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02166338
.global func_ov17_02166420
arm_func_start func_ov17_02166420
func_ov17_02166420: ; 0x02166420
stmdb sp!, {r3, lr}
ldr r1, _0216644c ; =data_027e0fe0
mov r0, #0x22c
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov17_02166450
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_02166420
_0216644c: .word data_027e0fe0
.global func_ov17_02166450
arm_func_start func_ov17_02166450
func_ov17_02166450: ; 0x02166450
stmdb sp!, {r4, lr}
mov r1, #0xa7
mov r4, r0
bl func_ov14_02137770
ldr r1, _02166478 ; =data_ov17_0216c8f8
add r0, r4, #0x214
str r1, [r4]
bl func_ov17_0216af64
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02166450
_02166478: .word data_ov17_0216c8f8
.global func_ov17_0216647c
arm_func_start func_ov17_0216647c
func_ov17_0216647c: ; 0x0216647c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x214
bl func_ov17_0216af78
mov r0, r4
bl func_ov14_02137920
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0216647c
.global func_ov17_0216649c
arm_func_start func_ov17_0216649c
func_ov17_0216649c: ; 0x0216649c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x214
bl func_ov17_0216af78
mov r0, r4
bl func_ov14_02137920
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0216649c
.global func_ov17_021664c4
arm_func_start func_ov17_021664c4
func_ov17_021664c4: ; 0x021664c4
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
sub sp, sp, #0x38
mov r4, r0
ldrh r2, [r4, #0x20]
mov r0, #0
bic r1, r0, #0x6000
str r2, [r4, #0x16c]
ldr r2, [r4, #0x48]
bic r1, r1, #0x1f
add r2, r2, #0x800
str r2, [r4, #0x48]
str r0, [r4, #0x4c]
ldr r2, [r4, #0x50]
orr r3, r1, #0x11
add r1, r2, #0x800
str r1, [r4, #0x50]
str r0, [r4, #0x7c]
mov r8, #0x1000
str r8, [r4, #0x80]
str r0, [r4, #0x84]
str r8, [r4, #0x88]
ldr r2, [r4, #0x7c]
mov r1, #0x2000
str r2, [r4, #0x8c]
ldr r5, [r4, #0x80]
add r2, sp, #0x2c
str r5, [r4, #0x90]
ldr r5, [r4, #0x84]
add r6, sp, #8
str r5, [r4, #0x94]
ldr r7, [r4, #0x88]
add r5, sp, #0x20
str r7, [r4, #0x98]
str r0, [r4, #0xa8]
str r8, [r4, #0xac]
str r0, [r4, #0xb0]
str r1, [r4, #0xb4]
ldrh r0, [r4, #0x9c]
add lr, sp, #0x14
add ip, r4, #0x20c
bic r0, r0, #0xff
strh r0, [r4, #0x9c]
ldr sb, [r4, #0x4c]
ldr r7, [r4, #0x48]
ldr sl, [r4, #0x50]
sub r8, r7, #0x1000
sub r1, sl, #0x1000
sub r0, sb, #0x800
str r8, [sp, #0x2c]
add r8, sl, #0x1000
add r7, r7, #0x1000
str r0, [sp, #0x30]
str r1, [sp, #0x34]
ldmia r2, {r0, r1, r2}
stmia r6, {r0, r1, r2}
str r7, [sp, #0x20]
str sb, [sp, #0x24]
str r8, [sp, #0x28]
ldmia r5, {r0, r1, r2}
stmia lr, {r0, r1, r2}
str ip, [sp]
add r0, r4, #0x1e0
ldr r5, [r0]
ldr r2, [r4, #8]
ldr r5, [r5, #0x14]
mov r1, r6
str r3, [sp, #4]
blx r5
ldrh r0, [r4, #0x22]
cmp r0, #0
moveq r0, #0xcd
beq _021665f0
mov r0, r0, lsl #0xc
mov r1, #0x1e000
bl func_01ff98e0
_021665f0:
str r0, [r4, #0x228]
ldrh r1, [r4, #0x24]
cmp r1, #0
addne r0, r4, #0x100
strneh r1, [r0, #0x64]
mov r0, r4
bl func_ov14_02137970
add sp, sp, #0x38
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
arm_func_end func_ov17_021664c4
.global func_ov17_02166614
arm_func_start func_ov17_02166614
func_ov17_02166614: ; 0x02166614
ldr ip, _02166630 ; =func_ov17_0216af8c
mov r1, r0
ldrsh r2, [r1, #0x78]
ldrsb r3, [r1, #0x2c]
add r0, r1, #0x214
add r1, r1, #0x48
bx ip
.align 2, 0
arm_func_end func_ov17_02166614
_02166630: .word func_ov17_0216af8c
.global func_ov17_02166634
arm_func_start func_ov17_02166634
func_ov17_02166634: ; 0x02166634
stmdb sp!, {r4, lr}
mov r4, r0
ldr r2, [r4, #0x228]
add r0, r4, #0x214
add r1, r4, #0x48
add r3, r4, #0x60
bl func_ov17_0216b02c
add r0, r4, #0x48
add r1, r4, #0x60
mov r2, r0
bl func_01ff9bc4
mov r0, #1
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02166634
.global func_ov17_02166668
arm_func_start func_ov17_02166668
func_ov17_02166668: ; 0x02166668
ldr ip, _0216667c ; =func_ov00_020c6f60
mov r1, r0
add r0, r1, #0x214
add r1, r1, #0x48
bx ip
.align 2, 0
arm_func_end func_ov17_02166668
_0216667c: .word func_ov00_020c6f60
.global func_ov17_02166680
arm_func_start func_ov17_02166680
func_ov17_02166680: ; 0x02166680
ldr r1, [r0, #0x174]
str r1, [r0, #0x48]
ldr r1, [r0, #0x178]
str r1, [r0, #0x4c]
ldr r1, [r0, #0x17c]
str r1, [r0, #0x50]
bx lr
arm_func_end func_ov17_02166680
.global func_ov17_0216669c
arm_func_start func_ov17_0216669c
func_ov17_0216669c: ; 0x0216669c
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
mov r4, r0
add r0, sp, #0
add r1, r4, #0x214
bl func_ov00_020c6e08
ldr r1, [sp]
ldr r0, _021666f0 ; =data_027e0ffc
str r1, [r4, #0x48]
ldr r2, [sp, #4]
ldr r1, _021666f4 ; =0x00000476
str r2, [r4, #0x4c]
ldr ip, [sp, #8]
add r2, r4, #0x48
mov r3, #0
str ip, [r4, #0x50]
bl func_ov00_020ceacc
mov r0, r4
bl func_ov14_02138000
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_0216669c
_021666f0: .word data_027e0ffc
_021666f4: .word 0x00000476
.global func_ov17_021666f8
arm_func_start func_ov17_021666f8
func_ov17_021666f8: ; 0x021666f8
stmdb sp!, {r4, lr}
mov r4, r0
cmp r1, #0
ldmeqia sp!, {r4, pc}
ldr r0, _0216677c ; =data_027e0d38
ldr r0, [r0]
bl func_ov00_02078b40
cmp r0, #3
ldmneia sp!, {r4, pc}
ldr r2, [r4, #0x1c]
ldr r1, [r4, #0x18]
ldr r0, [r4, #0x14]
str r0, [r4, #0x48]
str r1, [r4, #0x4c]
str r2, [r4, #0x50]
ldr r0, [r4, #0x16c]
cmp r0, #1
mov r0, r4
ldr r2, [r0]
bne _0216676c
ldr r2, [r2, #0xb8]
mov r1, #1
blx r2
ldrsh r2, [r4, #0x78]
ldrsb r3, [r4, #0x2c]
add r0, r4, #0x214
add r1, r4, #0x48
bl func_ov17_0216af8c
ldmia sp!, {r4, pc}
_0216676c:
ldr r2, [r2, #0xb8]
mov r1, #0
blx r2
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_021666f8
_0216677c: .word data_027e0d38
.global func_ov17_02166780
arm_func_start func_ov17_02166780
func_ov17_02166780: ; 0x02166780
stmdb sp!, {r4, lr}
ldr r1, _021667b4 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x7c
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_021667b8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02166780
_021667b4: .word data_027e0f84
.global func_ov17_021667b8
arm_func_start func_ov17_021667b8
func_ov17_021667b8: ; 0x021667b8
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02166820 ; =data_ov00_020e26b4
mov r2, #0
ldr r0, _02166824 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r1, _02166828 ; =data_ov00_020e2dd8
str r2, [r4, #0x48]
ldr r0, _0216682c ; =data_ov17_0216c9dc
str r1, [r4, #0x38]
str r0, [r4]
str r2, [r4, #0x6c]
sub r0, r2, #1
str r0, [r4, #0x74]
strh r2, [r4, #0x78]
mov r1, #2
mov r0, r4
strb r1, [r4, #0x7a]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_021667b8
_02166820: .word data_ov00_020e26b4
_02166824: .word data_ov00_020e2f04
_02166828: .word data_ov00_020e2dd8
_0216682c: .word data_ov17_0216c9dc
.global func_ov17_02166830
arm_func_start func_ov17_02166830
func_ov17_02166830: ; 0x02166830
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02166830
.global func_ov17_02166850
arm_func_start func_ov17_02166850
func_ov17_02166850: ; 0x02166850
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02166850
.global func_ov17_02166878
arm_func_start func_ov17_02166878
func_ov17_02166878: ; 0x02166878
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr}
sub sp, sp, #0x54
mov sb, r0
ldr r1, [sb, #4]
ldr r0, _02166a54 ; =data_027e0e60
orr r1, r1, #0x810
str r1, [sb, #4]
ldr r5, [r0]
ldr r1, [sb, #0x18]
mov r0, r5
bl func_ov00_020839d4
mov r4, r0
ldr r1, [sb, #0x20]
mov r0, r5
bl func_ov00_020839f8
mov r2, r0
mov r0, r5
mov r1, r4
bl func_ov00_020840a0
str r0, [sb, #0x70]
ldrb r1, [sb, #0x7a]
ldr r2, [sb, #0x18]
mov r0, sb
sub r1, r1, #1
add r1, r2, r1, lsl #11
str r1, [sb, #0x18]
ldrb r1, [sb, #0x7a]
ldr r2, [sb, #0x20]
sub r1, r1, #1
add r1, r2, r1, lsl #11
str r1, [sb, #0x20]
bl func_ov00_0208c214
add r6, sb, #0x18
add r5, sp, #0x48
ldmia r6, {r0, r1, r2}
stmia r5, {r0, r1, r2}
add r4, sp, #0x3c
ldmia r6, {r0, r1, r2}
stmia r4, {r0, r1, r2}
ldrb r1, [sb, #0x7a]
mov r3, #0x2000
mov r0, r5
add r1, r1, #1
mov r1, r1, lsl #0xb
mov r2, r5
str r3, [sp, #0x34]
str r1, [sp, #0x30]
str r1, [sp, #0x38]
add r1, sp, #0x30
bl func_01ff9bf8
ldrb r2, [sb, #0x7a]
mov r1, #0x2000
mov r0, r4
str r1, [sp, #0x28]
add r1, r2, #1
mov r1, r1, lsl #0xb
str r1, [sp, #0x24]
str r1, [sp, #0x2c]
add r1, sp, #0x24
mov r2, r0
bl func_01ff9bc4
mov r0, #0
bic r0, r0, #0x1f
str r0, [sp, #8]
mov r0, r5
add r5, sp, #0xc
ldmia r0, {r0, r1, r2}
stmia r5, {r0, r1, r2}
add r3, sp, #0x18
ldmia r4, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, sb
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, sb, #0x38
ldr r4, [r0]
ldr r3, [sp, #8]
ldr r4, [r4, #0x14]
mov r1, r5
blx r4
mov r0, #0
strb r0, [sb, #0x3c]
ldrb r7, [sb, #0x14]
add r0, r7, #2
cmp r7, r0
bge _02166a38
ldr sl, _02166a54 ; =data_027e0e60
add r5, sp, #4
mov r4, #1
_021669e4:
ldrb r8, [sb, #0x15]
add r0, r8, #2
cmp r8, r0
bge _02166a24
and r6, r7, #0xff
_021669f8:
ldr r0, [sl]
mov r1, r5
mov r2, r4
strb r6, [sp, #4]
strb r8, [sp, #5]
bl func_ov00_020826a0
ldrb r0, [sb, #0x15]
add r8, r8, #1
add r0, r0, #2
cmp r8, r0
blt _021669f8
_02166a24:
ldrb r0, [sb, #0x14]
add r7, r7, #1
add r0, r0, #2
cmp r7, r0
blt _021669e4
_02166a38:
ldr r0, _02166a54 ; =data_027e0e60
ldrh r2, [sb, #0x2a]
ldr r0, [r0]
add r1, sb, #0x64
bl func_ov00_020823c4
add sp, sp, #0x54
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
arm_func_end func_ov17_02166878
_02166a54: .word data_027e0e60
.global func_ov17_02166a58
arm_func_start func_ov17_02166a58
func_ov17_02166a58: ; 0x02166a58
stmdb sp!, {r4, lr}
mov r4, r0
ldrh r1, [r4, #0x24]
cmp r1, #1
bne _02166aa8
bl func_ov17_02167868
cmp r0, #0
mov r0, r4
ldr r3, [r0]
beq _02166a94
ldr r3, [r3, #0x80]
mov r1, #3
mov r2, #1
blx r3
ldmia sp!, {r4, pc}
_02166a94:
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r4, pc}
_02166aa8:
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02166a58
.global func_ov17_02166ac0
arm_func_start func_ov17_02166ac0
func_ov17_02166ac0: ; 0x02166ac0
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #8]
cmp r0, #4
addls pc, pc, r0, lsl #2
ldmia sp!, {r4, pc}
_02166aec: ; jump table
b _02166b00 ; case 0
b _02166b68 ; case 1
b _02166ba8 ; case 2
b _02166bfc ; case 3
ldmia sp!, {r4, pc} ; case 4
_02166b00:
ldr r0, [r4, #0x6c]
sub r0, r0, #1
mov r1, r0, lsl #0xc
str r0, [r4, #0x6c]
cmp r1, #0x1000
movle r0, #0
ble _02166b3c
ldrsh r0, [r4, #0x78]
rsb r0, r0, #0
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x4
bl func_01ff98e0
ldrsh r1, [r4, #0x78]
add r0, r0, #0x800
add r0, r1, r0, asr #12
_02166b3c:
strh r0, [r4, #0x78]
ldr r0, [r4, #0x6c]
cmp r0, #0
ldmgtia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r4, pc}
_02166b68:
ldrh r0, [r4, #0x24]
cmp r0, #0
ldmeqia sp!, {r4, pc}
cmp r0, #1
ldmneia sp!, {r4, pc}
mov r0, r4
bl func_ov17_02167868
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r4, pc}
_02166ba8:
ldr r1, _02166c6c ; =0x00003c72
ldr r2, _02166c70 ; =0x00000333
add r0, r4, #0x78
bl func_0202b3bc
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldrh r0, [r4, #0x26]
mov r2, #0
cmp r0, #1
mov r0, r4
bne _02166be8
ldr r3, [r0]
mov r1, #4
ldr r3, [r3, #0x80]
blx r3
ldmia sp!, {r4, pc}
_02166be8:
ldr r3, [r0]
mov r1, #3
ldr r3, [r3, #0x80]
blx r3
ldmia sp!, {r4, pc}
_02166bfc:
ldrh r0, [r4, #0x24]
cmp r0, #0
beq _02166c14
cmp r0, #1
beq _02166c40
ldmia sp!, {r4, pc}
_02166c14:
mov r0, r4
bl func_ov17_02167878
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r4, pc}
_02166c40:
mov r0, r4
bl func_ov17_02167868
cmp r0, #0
ldmneia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02166ac0
_02166c6c: .word 0x00003c72
_02166c70: .word 0x00000333
.global func_ov17_02166c74
arm_func_start func_ov17_02166c74
func_ov17_02166c74: ; 0x02166c74
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
mov r5, r2
str r1, [r4, #8]
cmp r1, #4
addls pc, pc, r1, lsl #2
b _02166de8
_02166c90: ; jump table
b _02166ca4 ; case 0
b _02166cc4 ; case 1
b _02166d28 ; case 2
b _02166d8c ; case 3
b _02166dd4 ; case 4
_02166ca4:
mov ip, #0xf
ldr r0, _02166df0 ; =data_027e0ffc
rsb r1, ip, #0x218
add r2, r4, #0x18
mov r3, #0
str ip, [r4, #0x6c]
bl func_ov00_020ceacc
b _02166de8
_02166cc4:
mov r0, #0
strh r0, [r4, #0x78]
cmp r5, #0
bne _02166cec
ldr r0, _02166df4 ; =data_027e0e60
ldr r1, [r4, #0x74]
ldr r0, [r0]
bl func_ov00_02084ac4
mvn r0, #0
str r0, [r4, #0x74]
_02166cec:
mov r0, r4
mov r1, #0
bl func_ov17_021674e8
mov r0, r4
mov r1, #0
bl func_ov17_021676ac
ldr r1, [r4, #4]
ldr r0, _02166df4 ; =data_027e0e60
bic r1, r1, #0x10
str r1, [r4, #4]
ldr r0, [r0]
add r1, r4, #0x38
mov r2, #1
bl func_ov00_020843ec
b _02166de8
_02166d28:
mov r1, #1
bl func_ov17_021674e8
cmp r5, #0
ldreqh r0, [r4, #0x24]
cmpeq r0, #1
bne _02166d5c
ldr r0, _02166df4 ; =data_027e0e60
add r1, r4, #0x18
ldr r0, [r0]
mov r2, #1
mov r3, #0
bl func_ov00_02084a5c
str r0, [r4, #0x74]
_02166d5c:
mov r0, r4
mov r1, #1
bl func_ov17_021676ac
ldr r1, [r4, #4]
ldr r0, _02166df0 ; =data_027e0ffc
orr ip, r1, #0x10
add r2, r4, #0x18
mov r1, #0x208
mov r3, #0
str ip, [r4, #4]
bl func_ov00_020ceacc
b _02166de8
_02166d8c:
mov r1, #1
bl func_ov17_021674e8
ldr r0, _02166df8 ; =0x00003f4a
mov r1, #0
strh r0, [r4, #0x78]
mov r0, r4
str r1, [r4, #0x6c]
mov r1, #1
bl func_ov17_021676ac
ldr r1, [r4, #4]
ldr r0, _02166df4 ; =data_027e0e60
orr r1, r1, #0x10
str r1, [r4, #4]
ldr r0, [r0]
add r1, r4, #0x38
mov r2, #0
bl func_ov00_020843ec
b _02166de8
_02166dd4:
ldr r0, _02166df4 ; =data_027e0e60
add r1, r4, #0x38
ldr r0, [r0]
mov r2, #0
bl func_ov00_020843ec
_02166de8:
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02166c74
_02166df0: .word data_027e0ffc
_02166df4: .word data_027e0e60
_02166df8: .word 0x00003f4a
.global func_ov17_02166dfc
arm_func_start func_ov17_02166dfc
func_ov17_02166dfc: ; 0x02166dfc
stmdb sp!, {r3, lr}
ldrh r1, [r0, #0x24]
cmp r1, #1
ldrne r1, [r0, #8]
cmpne r1, #2
ldmeqia sp!, {r3, pc}
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r3, pc}
arm_func_end func_ov17_02166dfc
.global func_ov17_02166e2c
arm_func_start func_ov17_02166e2c
func_ov17_02166e2c: ; 0x02166e2c
stmdb sp!, {r3, lr}
cmp r1, #0
beq _02166e40
cmp r1, #1
b _02166e4c
_02166e40:
ldr r1, [r0]
ldr r1, [r1, #0x24]
blx r1
_02166e4c:
mov r0, #1
ldmia sp!, {r3, pc}
arm_func_end func_ov17_02166e2c
.global func_ov17_02166e54
arm_func_start func_ov17_02166e54
func_ov17_02166e54: ; 0x02166e54
stmdb sp!, {r3, lr}
ldr r3, [r0, #4]
mov r2, r1
tst r3, #0x10
ldmeqia sp!, {r3, pc}
mov r1, #0x3b
mov ip, #0
sub r3, r1, #0x3c
str ip, [sp]
bl func_ov00_0208bf28
ldmia sp!, {r3, pc}
arm_func_end func_ov17_02166e54
.global func_ov17_02166e80
arm_func_start func_ov17_02166e80
func_ov17_02166e80: ; 0x02166e80
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x84
mov r1, #0
mov r4, r0
mov r2, r1
mov r0, #0x11
bl func_01ffa9fc
ldr r1, _021670b4 ; =0x020ec9d6
ldr r0, _021670b8 ; =data_ov00_020ec9d4
ldrh r3, [r1]
ldrh r2, [r0]
add r1, sp, #0x1c
mov r0, #0x30
orr r2, r3, r2, lsl #16
orr r3, r2, #0x8000
mov r2, #1
str r3, [sp, #0x1c]
bl func_01ffa9fc
mov r3, #0
add r1, sp, #0x18
mov r0, #0x31
mov r2, #1
str r3, [sp, #0x18]
bl func_01ffa9fc
ldr r2, _021670bc ; =0x001f0081
add r1, sp, #0x14
str r2, [sp, #0x14]
mov r0, #0x29
mov r2, #1
bl func_01ffa9fc
mov r0, #3
str r0, [sp, #0x10]
mov r0, #0x10
add r1, sp, #0x10
mov r2, #1
bl func_01ffa9fc
mov r1, #0
mov r0, #0x15
mov r2, r1
bl func_01ffa9fc
ldrb r2, [r4, #0x7a]
mov r1, #0x1000
mov r0, #0x1b
str r1, [sp, #0x34]
mov r1, r2, lsl #0xb
str r1, [sp, #0x2c]
mov r1, r2, lsl #0xc
str r1, [sp, #0x30]
add r1, sp, #0x2c
mov r2, #3
bl func_01ffa9fc
add r0, sp, #0x44
bl func_01ff91f8
mov r0, #0x10000
str r0, [sp, #0x6c]
str r0, [sp, #0x80]
mov r0, #0x18
add r1, sp, #0x44
mov r2, #0x10
bl func_01ffa9fc
mov r0, #2
str r0, [sp, #0xc]
mov r0, #0x10
add r1, sp, #0xc
mov r2, #1
bl func_01ffa9fc
ldr r3, [r4, #0x64]
and r1, r3, #0x3800000
mov ip, r1, lsr #0x17
mov r1, r3, lsl #0x10
and r2, r3, #0x1c000000
and r0, r3, #0x20000000
mov r1, r1, lsr #0x10
mov r2, r2, lsr #0x1a
bic r1, r1, #0xe0000000
orr r1, r1, r2, lsl #26
and r3, r3, #0x700000
mov r2, r3, lsr #0x14
orr r1, r1, #0x40000000
orr r1, r1, r2, lsl #20
orr r1, r1, ip, lsl #23
mov r0, r0, lsr #0x1d
orr r1, r1, #0x30000
orr r0, r1, r0, lsl #29
str r0, [sp, #8]
add r1, sp, #8
mov r0, #0x2a
mov r2, #1
bl func_01ffa9fc
ldr r0, [r4, #0x64]
and r0, r0, #0x1c000000
mov r0, r0, lsr #0x1a
cmp r0, #2
moveq r0, #1
movne r0, #0
ldrh r2, [r4, #0x68]
rsb r0, r0, #4
add r1, sp, #4
mov r2, r2, lsl #0x11
mov r2, r2, lsr #0xd
mov r3, r2, lsr r0
mov r0, #0x2b
mov r2, #1
str r3, [sp, #4]
bl func_01ffa9fc
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0x54]
blx r1
cmp r0, #0
bne _02167050
mov r0, #0
str r0, [sp, #0x38]
str r0, [sp, #0x3c]
str r0, [sp, #0x40]
b _02167060
_02167050:
ldr r2, [r0]
add r1, sp, #0x38
ldr r2, [r2, #0x3c]
blx r2
_02167060:
ldr lr, [sp, #0x38]
ldr ip, [sp, #0x3c]
ldr r3, [sp, #0x40]
add r1, sp, #0x20
mov r0, #0x1c
mov r2, #3
str lr, [sp, #0x20]
str ip, [sp, #0x24]
str r3, [sp, #0x28]
bl func_01ffa9fc
mov r0, r4
bl func_ov17_021670c0
mov r0, r4
bl func_ov17_021672d4
mov r2, #1
add r1, sp, #0
mov r0, #0x12
str r2, [sp]
bl func_01ffa9fc
add sp, sp, #0x84
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_02166e80
_021670b4: .word data_ov00_020ec9d6
_021670b8: .word data_ov00_020ec9d4
_021670bc: .word 0x001f0081
.global func_ov17_021670c0
arm_func_start func_ov17_021670c0
func_ov17_021670c0: ; 0x021670c0
stmdb sp!, {r4, r5, r6, r7, lr}
sub sp, sp, #0x74
mov r1, #0
mov r4, r0
mov r2, r1
mov r0, #0x11
bl func_01ffa9fc
ldr r0, [r4, #8]
ldrb r2, [r4, #0x7a]
cmp r0, #1
mov r0, #0
bne _02167188
mov r2, r2, lsl #0xb
add r2, r2, #0x52
str r2, [sp, #0x68]
add r1, sp, #0x68
str r0, [sp, #0x6c]
str r0, [sp, #0x70]
mov r0, #0x1c
mov r2, #3
bl func_01ffa9fc
ldrb r1, [r4, #0x7a]
mov ip, #0x1000
ldr r0, _021672cc ; =0x000008a4
mov r7, r1, lsl #0xc
umull r6, lr, r7, r0
mov r2, #0
add r1, ip, #0xa4
umull r5, r3, r7, r1
str ip, [sp, #0x60]
mla lr, r7, r2, lr
mov ip, r7, asr #0x1f
mla r3, r7, r2, r3
mla r3, ip, r1, r3
mla lr, ip, r0, lr
adds r6, r6, #0x800
adc r0, lr, #0
adds r2, r5, #0x800
mov r5, r6, lsr #0xc
orr r5, r5, r0, lsl #20
adc r0, r3, #0
mov r3, r2, lsr #0xc
orr r3, r3, r0, lsl #20
add r1, sp, #0x5c
mov r0, #0x1b
mov r2, #3
str r5, [sp, #0x5c]
str r3, [sp, #0x64]
bl func_01ffa9fc
b _02167208
_02167188:
mov r2, r2, lsl #0xb
str r2, [sp, #0x50]
add r1, sp, #0x50
str r0, [sp, #0x54]
str r0, [sp, #0x58]
mov r0, #0x1c
mov r2, #3
bl func_01ffa9fc
ldrb r1, [r4, #0x7a]
mov ip, #0x1000
mov r0, #0x800
mov r5, r1, lsl #0xc
mov r1, r5, asr #0x1f
mov r2, r1, lsl #0xb
mov r1, r1, lsl #0xc
adds lr, r0, r5, lsl #11
orr r2, r2, r5, lsr #21
adc r3, r2, #0
mov lr, lr, lsr #0xc
orr lr, lr, r3, lsl #20
adds r2, r0, r5, lsl #12
orr r1, r1, r5, lsr #20
adc r0, r1, #0
mov r3, r2, lsr #0xc
orr r3, r3, r0, lsl #20
add r1, sp, #0x44
mov r0, #0x1b
mov r2, #3
str lr, [sp, #0x44]
str ip, [sp, #0x48]
str r3, [sp, #0x4c]
bl func_01ffa9fc
_02167208:
ldrsh r1, [r4, #0x78]
ldr r3, _021672d0 ; =data_02050f54
add r0, sp, #0x20
sub r1, r1, #0x8000
mov r1, r1, lsl #0x10
mov r1, r1, lsr #0x10
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8230
add r1, sp, #0x20
mov r0, #0x1a
mov r2, #9
bl func_01ffa9fc
mov r2, #1
add r1, sp, #0x1c
mov r0, #0x40
str r2, [sp, #0x1c]
bl func_01ffa9fc
mov r0, #0xf
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
str r1, [sp, #0xc]
mov r1, #0x20
str r1, [sp, #0x10]
str r1, [sp, #0x14]
mov r0, r4
mov r1, #0xb
mov r2, #0xa
mov r3, #0xe
bl func_ov00_0208c2d4
mov r1, #0
mov r0, #0x41
mov r2, r1
bl func_01ffa9fc
mov r2, #1
mov r0, #0x12
add r1, sp, #0x18
str r2, [sp, #0x18]
bl func_01ffa9fc
add sp, sp, #0x74
ldmia sp!, {r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov17_021670c0
_021672cc: .word 0x000008a4
_021672d0: .word data_02050f54
.global func_ov17_021672d4
arm_func_start func_ov17_021672d4
func_ov17_021672d4: ; 0x021672d4
stmdb sp!, {r4, r5, r6, r7, lr}
sub sp, sp, #0x74
mov r1, #0
mov r4, r0
mov r2, r1
mov r0, #0x11
bl func_01ffa9fc
ldr r0, [r4, #8]
ldrb r2, [r4, #0x7a]
cmp r0, #1
mov r0, #0
bne _021673a0
rsb r2, r2, #0
mov r2, r2, lsl #0xb
sub r2, r2, #0x52
str r2, [sp, #0x68]
add r1, sp, #0x68
str r0, [sp, #0x6c]
str r0, [sp, #0x70]
mov r0, #0x1c
mov r2, #3
bl func_01ffa9fc
ldrb r1, [r4, #0x7a]
mov ip, #0x1000
ldr r0, _021674e0 ; =0x000008a4
mov r7, r1, lsl #0xc
umull r6, lr, r7, r0
mov r2, #0
add r1, ip, #0xa4
umull r5, r3, r7, r1
str ip, [sp, #0x60]
mla lr, r7, r2, lr
mov ip, r7, asr #0x1f
mla r3, r7, r2, r3
mla r3, ip, r1, r3
mla lr, ip, r0, lr
adds r6, r6, #0x800
adc r0, lr, #0
adds r2, r5, #0x800
mov r5, r6, lsr #0xc
orr r5, r5, r0, lsl #20
adc r0, r3, #0
mov r3, r2, lsr #0xc
orr r3, r3, r0, lsl #20
add r1, sp, #0x5c
mov r0, #0x1b
mov r2, #3
str r5, [sp, #0x5c]
str r3, [sp, #0x64]
bl func_01ffa9fc
b _02167424
_021673a0:
rsb r2, r2, #0
mov r2, r2, lsl #0xb
str r2, [sp, #0x50]
add r1, sp, #0x50
str r0, [sp, #0x54]
str r0, [sp, #0x58]
mov r0, #0x1c
mov r2, #3
bl func_01ffa9fc
ldrb r1, [r4, #0x7a]
mov ip, #0x1000
mov r0, #0x800
mov r5, r1, lsl #0xc
mov r1, r5, asr #0x1f
mov r2, r1, lsl #0xb
mov r1, r1, lsl #0xc
adds lr, r0, r5, lsl #11
orr r2, r2, r5, lsr #21
adc r3, r2, #0
mov lr, lr, lsr #0xc
orr lr, lr, r3, lsl #20
adds r2, r0, r5, lsl #12
orr r1, r1, r5, lsr #20
adc r0, r1, #0
mov r3, r2, lsr #0xc
orr r3, r3, r0, lsl #20
add r1, sp, #0x44
mov r0, #0x1b
mov r2, #3
str lr, [sp, #0x44]
str ip, [sp, #0x48]
str r3, [sp, #0x4c]
bl func_01ffa9fc
_02167424:
ldrsh r1, [r4, #0x78]
ldr r2, _021674e4 ; =data_02050f54
add r0, sp, #0x20
mov r1, r1, asr #0x4
mov r1, r1, lsl #0x1
mov r3, r1, lsl #0x1
add r1, r1, #1
mov r1, r1, lsl #0x1
ldrsh r3, [r2, r3]
ldrsh r2, [r2, r1]
rsb r1, r3, #0
blx func_01ff8230
add r1, sp, #0x20
mov r0, #0x1a
mov r2, #9
bl func_01ffa9fc
mov r2, #1
add r1, sp, #0x1c
mov r0, #0x40
str r2, [sp, #0x1c]
bl func_01ffa9fc
mov r0, #0xb
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
str r1, [sp, #0xc]
mov r1, #0x20
str r1, [sp, #0x10]
str r1, [sp, #0x14]
mov r0, r4
mov r1, #0xf
mov r2, #0xe
mov r3, #0xa
bl func_ov00_0208c2d4
mov r1, #0
mov r0, #0x41
mov r2, r1
bl func_01ffa9fc
mov r2, #1
mov r0, #0x12
add r1, sp, #0x18
str r2, [sp, #0x18]
bl func_01ffa9fc
add sp, sp, #0x74
ldmia sp!, {r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov17_021672d4
_021674e0: .word 0x000008a4
_021674e4: .word data_02050f54
.global func_ov17_021674e8
arm_func_start func_ov17_021674e8
func_ov17_021674e8: ; 0x021674e8
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x14
mov sl, r0
ldrh r2, [sl, #0x28]
ldr r0, _021676a4 ; =data_027e0f6c
mov sb, r1
and r4, r2, #0xff
ldr r1, [r0]
add r0, sp, #4
mov r2, r4
bl func_ov00_02093a4c
cmp sb, #0
add r2, sp, #4
beq _02167544
ldr r1, [sp, #4]
ldr r0, _021676a4 ; =data_027e0f6c
bic r1, r1, #0x6000
orr r3, r1, #0x6000
ldr r0, [r0]
mov r1, r4
str r3, [sp, #4]
bl func_ov00_02093a3c
b _02167560
_02167544:
ldr r0, _021676a4 ; =data_027e0f6c
ldr r1, [sp, #4]
ldr r0, [r0]
bic r3, r1, #0x6000
mov r1, r4
str r3, [sp, #4]
bl func_ov00_02093a3c
_02167560:
ldr r0, [sl, #0x30]
ldr r1, _021676a4 ; =data_027e0f6c
mov r0, r0, lsl #0x10
mov r4, r0, lsr #0x10
ldr r1, [r1]
add r0, sp, #0
mov r2, r4
bl func_ov00_02093a4c
cmp sb, #0
add r2, sp, #0
beq _021675ac
ldr r0, _021676a4 ; =data_027e0f6c
ldr r1, [sp]
ldr r0, [r0]
bic r3, r1, #0x6000
mov r1, r4
str r3, [sp]
bl func_ov00_02093a3c
b _021675cc
_021675ac:
ldr r1, [sp]
ldr r0, _021676a4 ; =data_027e0f6c
bic r1, r1, #0x6000
orr r3, r1, #0x6000
ldr r0, [r0]
mov r1, r4
str r3, [sp]
bl func_ov00_02093a3c
_021675cc:
add r0, sl, #0x18
add r3, sp, #8
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldrb r1, [sl, #0x7a]
ldr r0, _021676a8 ; =data_027e0e60
ldr r2, [sp, #8]
sub r1, r1, #1
sub r1, r2, r1, lsl #11
str r1, [sp, #8]
ldrb r2, [sl, #0x7a]
ldr r3, [sp, #0x10]
ldr r0, [r0]
sub r2, r2, #1
sub r2, r3, r2, lsl #11
str r2, [sp, #0x10]
bl func_ov00_020839d4
ldr r1, _021676a8 ; =data_027e0e60
mov r5, r0
ldr r0, [r1]
ldr r1, [sp, #0x10]
bl func_ov00_020839f8
ldrb r1, [sl, #0x7a]
mov r6, r0
mov r7, #0
cmp r1, #0
addle sp, sp, #0x14
ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r4, _021676a8 ; =data_027e0e60
mov fp, #0x14
_02167644:
mov r8, #0
cmp r1, #0
ble _02167690
_02167650:
cmp sb, #0
ldr r0, [r4]
beq _02167670
mov r3, fp
add r1, r5, r7
add r2, r6, r8
bl func_ov00_02084d24
b _02167680
_02167670:
ldr r3, [sl, #0x70]
add r1, r5, r7
add r2, r6, r8
bl func_ov00_02084d24
_02167680:
ldrb r1, [sl, #0x7a]
add r8, r8, #1
cmp r8, r1
blt _02167650
_02167690:
add r7, r7, #1
cmp r7, r1
blt _02167644
add sp, sp, #0x14
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov17_021674e8
_021676a4: .word data_027e0f6c
_021676a8: .word data_027e0e60
.global func_ov17_021676ac
arm_func_start func_ov17_021676ac
func_ov17_021676ac: ; 0x021676ac
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x80
mov r4, r0
mov r0, #0
orr ip, r0, #0x37c00000
add r5, r4, #0x18
movs r6, r1
str ip, [sp, #4]
add r3, sp, #0x74
ldmia r5, {r0, r1, r2}
stmia r3, {r0, r1, r2}
add lr, sp, #0x68
ldmia r5, {r0, r1, r2}
stmia lr, {r0, r1, r2}
ldrb r0, [r4, #0x7a]
mov ip, #0x2000
beq _021677a8
mov lr, r0, lsl #0xb
add r1, sp, #0x5c
mov r0, r3
mov r2, r3
str lr, [sp, #0x5c]
str ip, [sp, #0x60]
str lr, [sp, #0x64]
bl func_01ff9bf8
ldrb r1, [r4, #0x7a]
add r0, sp, #0x68
mov r3, #0x2000
mov ip, r1, lsl #0xb
add r1, sp, #0x50
mov r2, r0
str ip, [sp, #0x50]
str r3, [sp, #0x54]
str ip, [sp, #0x58]
bl func_01ff9bc4
add r0, sp, #0x74
ldr ip, [sp, #4]
add r3, sp, #0x38
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
bic r1, ip, #0x1f
bic r1, r1, #0x6000
orr r1, r1, #0x4000
add r0, sp, #0x68
str r1, [sp, #4]
add r3, sp, #0x44
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r4
bl func_ov00_0208b9cc
mov r2, r0
mov r0, #0
str r0, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x14]
add r1, sp, #0x38
blx ip
mov r0, #1
add sp, sp, #0x80
strb r0, [r4, #0x3c]
ldmia sp!, {r4, r5, r6, pc}
_021677a8:
add r0, r0, #1
mov lr, r0, lsl #0xb
add r1, sp, #0x2c
mov r0, r3
mov r2, r3
str lr, [sp, #0x2c]
str ip, [sp, #0x30]
str lr, [sp, #0x34]
bl func_01ff9bf8
ldrb r1, [r4, #0x7a]
add r0, sp, #0x68
mov r3, #0x2000
add r1, r1, #1
mov ip, r1, lsl #0xb
add r1, sp, #0x20
mov r2, r0
str ip, [sp, #0x20]
str r3, [sp, #0x24]
str ip, [sp, #0x28]
bl func_01ff9bc4
add r0, sp, #0x74
ldr ip, [sp, #4]
add r3, sp, #8
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
bic r1, ip, #0x1f
orr r1, r1, #6
bic r1, r1, #0x6000
add r0, sp, #0x68
str r1, [sp, #4]
add r3, sp, #0x14
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r4
bl func_ov00_0208b9cc
mov r2, r0
mov r0, #0
str r0, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x14]
add r1, sp, #8
blx ip
mov r0, #0
strb r0, [r4, #0x3c]
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov17_021676ac
.global func_ov17_02167868
arm_func_start func_ov17_02167868
func_ov17_02167868: ; 0x02167868
ldr ip, _02167874 ; =func_ov00_0208b9e4
mov r1, #0
bx ip
.align 2, 0
arm_func_end func_ov17_02167868
_02167874: .word func_ov00_0208b9e4
.global func_ov17_02167878
arm_func_start func_ov17_02167878
func_ov17_02167878: ; 0x02167878
stmdb sp!, {lr}
sub sp, sp, #0xc
ldr r2, _021678bc ; =data_027e0f94
add r1, sp, #0
ldr ip, [r2]
ldr r3, [r2, #4]
str ip, [sp]
str r3, [sp, #4]
ldr r2, [r2, #8]
add r0, r0, #0x18
str r2, [sp, #8]
bl func_01ff9ec0
cmp r0, #0x4000
movge r0, #1
movlt r0, #0
add sp, sp, #0xc
ldmia sp!, {pc}
.align 2, 0
arm_func_end func_ov17_02167878
_021678bc: .word data_027e0f94
.global func_ov17_021678c0
arm_func_start func_ov17_021678c0
func_ov17_021678c0: ; 0x021678c0
mov r0, #0x14
bx lr
arm_func_end func_ov17_021678c0
.global func_ov17_021678c8
arm_func_start func_ov17_021678c8
func_ov17_021678c8: ; 0x021678c8
stmdb sp!, {r4, lr}
ldr r1, _021678fc ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xcc
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_02167900
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_021678c8
_021678fc: .word data_027e0f84
.global func_ov17_02167900
arm_func_start func_ov17_02167900
func_ov17_02167900: ; 0x02167900
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02167990 ; =data_ov00_020e2748
mov r2, #0
ldr r0, _02167994 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r0, _02167998 ; =data_ov00_020e2e3c
str r2, [r4, #0x48]
str r0, [r4, #0x38]
str r2, [r4, #0x58]
str r2, [r4, #0x4c]
str r2, [r4, #0x50]
ldr r0, _0216799c ; =data_ov17_0216ca70
str r2, [r4, #0x54]
str r0, [r4]
strh r2, [r4, #0x60]
sub r1, r2, #1
str r1, [r4, #0x64]
str r1, [r4, #0x68]
ldr r0, _021679a0 ; =data_027e0f68
str r1, [r4, #0x6c]
ldr r0, [r0]
mov r1, #0x49
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x70
blx func_ov00_020a9588
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02167900
_02167990: .word data_ov00_020e2748
_02167994: .word data_ov00_020e2f04
_02167998: .word data_ov00_020e2e3c
_0216799c: .word data_ov17_0216ca70
_021679a0: .word data_027e0f68
.global func_ov17_021679a4
arm_func_start func_ov17_021679a4
func_ov17_021679a4: ; 0x021679a4
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x70
blx func_ov00_020a95a4
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_021679a4
.global func_ov17_021679cc
arm_func_start func_ov17_021679cc
func_ov17_021679cc: ; 0x021679cc
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x70
blx func_ov00_020a95a4
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_021679cc
.global func_ov17_021679fc
arm_func_start func_ov17_021679fc
func_ov17_021679fc: ; 0x021679fc
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x1c
mov r4, r0
ldr r1, [r4, #4]
mov r2, #0
orr r1, r1, #4
orr r1, r1, #0x400
str r1, [r4, #4]
mov r1, #8
strb r1, [r4, #0x12]
ldr r1, [r4, #0x18]
bic ip, r2, #0x1f
str r1, [sp, #8]
ldr r2, [r4, #0x1c]
ldr r1, _02167aa8 ; =0x00002666
str r2, [sp, #0xc]
ldr r3, [r4, #0x20]
orr ip, ip, #9
mov r2, #0x800
str ip, [sp, #4]
str r3, [sp, #0x10]
str r2, [sp, #0x14]
str r1, [sp, #0x18]
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x10]
add r1, sp, #8
blx ip
ldrsh r2, [r4, #0xc]
mov r0, r4
mov r1, #0
strh r2, [r4, #0x60]
ldr r3, [r0]
mov r2, r1
ldr r3, [r3, #0x80]
blx r3
add sp, sp, #0x1c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_021679fc
_02167aa8: .word 0x00002666
.global func_ov17_02167aac
arm_func_start func_ov17_02167aac
func_ov17_02167aac: ; 0x02167aac
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x24
ldr r2, [r0]
mov r5, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
addeq sp, sp, #0x24
ldmeqia sp!, {r4, r5, pc}
ldr r0, [r5, #8]
cmp r0, #4
addls pc, pc, r0, lsl #2
b _02167cbc
_02167ae0: ; jump table
b _02167cbc ; case 0
b _02167af4 ; case 1
b _02167b30 ; case 2
b _02167b7c ; case 3
b _02167b9c ; case 4
_02167af4:
ldrsh r1, [r5, #0x60]
add r0, r5, #0xc
mov r2, #0x800
bl func_0202b3bc
cmp r0, #0
addeq sp, sp, #0x24
ldmeqia sp!, {r4, r5, pc}
mov r0, r5
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
add sp, sp, #0x24
ldmia sp!, {r4, r5, pc}
_02167b30:
ldr r0, _02167cc4 ; =data_027e0f74
ldr r1, [r5, #0x64]
ldr r0, [r0]
bl func_ov00_02097b9c
ldr r0, _02167cc4 ; =data_027e0f74
ldr r1, [r5, #0x64]
ldr r0, [r0]
bl func_ov00_02097bac
cmp r0, #0
addeq sp, sp, #0x24
ldmeqia sp!, {r4, r5, pc}
mov r0, r5
ldr r3, [r0]
mov r1, #3
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
add sp, sp, #0x24
ldmia sp!, {r4, r5, pc}
_02167b7c:
mov r0, r5
ldr r3, [r0]
mov r1, #4
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
add sp, sp, #0x24
ldmia sp!, {r4, r5, pc}
_02167b9c:
ldr r0, _02167cc8 ; =data_027e0fe4
add r1, r5, #0x68
ldr r0, [r0]
bl func_ov00_020c3674
movs r4, r0
bne _02167bd4
mov r0, r5
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
add sp, sp, #0x24
ldmia sp!, {r4, r5, pc}
_02167bd4:
ldr r0, _02167ccc ; =data_027e0fb8
ldr r0, [r0]
bl func_ov00_020b1338
cmp r0, #0
bne _02167c48
ldr r0, [r4, #0x48]
mov r2, #0
str r0, [sp, #0x18]
ldr r0, [r4, #0x4c]
mov r1, #1
str r0, [sp, #0x1c]
ldr r3, [r4, #0x50]
ldr r0, _02167cd0 ; =data_027e0f64
str r3, [sp, #0x20]
str r2, [sp]
stmib sp, {r1, r2}
ldr r0, [r0]
add r2, sp, #0x18
ldr r0, [r0, #4]
mov r3, #5
bl func_ov00_020884b4
mov r0, r5
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
add sp, sp, #0x24
ldmia sp!, {r4, r5, pc}
_02167c48:
ldr r0, _02167cc4 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097738
cmp r0, #0
bne _02167ca4
ldr r0, [r4, #0x48]
mov r2, #0
str r0, [sp, #0xc]
ldr r0, [r4, #0x4c]
mov r1, #1
str r0, [sp, #0x10]
ldr r3, [r4, #0x50]
ldr r0, _02167cd0 ; =data_027e0f64
str r3, [sp, #0x14]
str r2, [sp]
stmib sp, {r1, r2}
ldr r0, [r0]
add r2, sp, #0xc
ldr r0, [r0, #4]
mov r3, #5
bl func_ov00_020884b4
add sp, sp, #0x24
ldmia sp!, {r4, r5, pc}
_02167ca4:
mov r0, r5
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
_02167cbc:
add sp, sp, #0x24
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02167aac
_02167cc4: .word data_027e0f74
_02167cc8: .word data_027e0fe4
_02167ccc: .word data_027e0fb8
_02167cd0: .word data_027e0f64
.global func_ov17_02167cd4
arm_func_start func_ov17_02167cd4
func_ov17_02167cd4: ; 0x02167cd4
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xec
mov r4, r0
str r1, [r4, #8]
cmp r1, #4
addls pc, pc, r1, lsl #2
b _02167e40
_02167cf0: ; jump table
b _02167d04 ; case 0
b _02167e2c ; case 1
b _02167d1c ; case 2
b _02167d8c ; case 3
b _02167d98 ; case 4
_02167d04:
ldr r1, [r4, #4]
mvn r0, #0
orr r1, r1, #4
str r1, [r4, #4]
str r0, [r4, #0x64]
b _02167e40
_02167d1c:
ldr r1, [r4, #4]
add r0, sp, #0x3c
bic r1, r1, #4
str r1, [r4, #4]
bl func_ov00_0209a4f4
mov ip, #0x2d
mov r2, #0x1e
mov r3, #0
mov r1, #3
ldr r0, _02167e4c ; =data_027e0f74
str ip, [sp, #0x40]
strb r2, [sp, #0x45]
strb r3, [sp, #0x47]
strb r1, [sp, #0x46]
ldr r1, [r4, #0x18]
ldr r0, [r0]
str r1, [sp, #0x5c]
ldr r2, [r4, #0x1c]
add r1, sp, #0x3c
str r2, [sp, #0x60]
ldr r2, [r4, #0x20]
str r2, [sp, #0x64]
strb r3, [sp, #0x52]
bl func_ov00_02097810
str r0, [r4, #0x64]
add r0, sp, #0x3c
bl func_ov00_0209a508
b _02167e40
_02167d8c:
mvn r0, #0
str r0, [r4, #0x64]
b _02167e40
_02167d98:
ldr r1, [r4, #4]
add r0, sp, #0x10
bic r1, r1, #4
str r1, [r4, #4]
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x10
str r1, [sp, #0x2c]
str r1, [sp, #0x30]
bl func_ov00_020c3348
mov r0, #1
mov r1, #0x40
strh r0, [sp, #0x14]
strh r1, [sp, #0x10]
ldrsh r1, [r4, #0xc]
add ip, r4, #0x68
ldr r0, _02167e50 ; =data_027e0fe8
strh r1, [sp, #0x24]
ldr r2, [r4, #0x18]
ldr r1, _02167e54 ; =0x41525257
str r2, [sp, #4]
ldr r3, [r4, #0x1c]
add r2, sp, #4
add r3, r3, #0x800
str r3, [sp, #8]
ldr lr, [r4, #0x20]
add r3, sp, #0x10
str lr, [sp, #0xc]
str ip, [sp]
ldr r0, [r0]
bl func_ov00_020c4048
ldr r0, _02167e58 ; =data_027e0ffc
ldr r1, _02167e5c ; =0x00000352
add r2, r4, #0x18
mov r3, #0
bl func_ov00_020ceacc
b _02167e40
_02167e2c:
ldr r0, _02167e58 ; =data_027e0ffc
ldr r1, _02167e60 ; =0x00000353
add r2, r4, #0x18
mov r3, #0
bl func_ov00_020ceacc
_02167e40:
mov r0, #1
add sp, sp, #0xec
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_02167cd4
_02167e4c: .word data_027e0f74
_02167e50: .word data_027e0fe8
_02167e54: .word 0x41525257
_02167e58: .word data_027e0ffc
_02167e5c: .word 0x00000352
_02167e60: .word 0x00000353
.global func_ov17_02167e64
arm_func_start func_ov17_02167e64
func_ov17_02167e64: ; 0x02167e64
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x14
mov r5, r0
cmp r1, #0
beq _02168058
cmp r1, #1
bne _02167eb8
ldr r1, [r5, #8]
cmp r1, #0
bne _02167eac
ldrsh r3, [r5, #0x60]
mov r1, #1
mov r2, #0
sub r3, r3, #0x4000
strh r3, [r5, #0x60]
ldr r3, [r0]
ldr r3, [r3, #0x80]
blx r3
_02167eac:
add sp, sp, #0x14
mov r0, #0
ldmia sp!, {r4, r5, pc}
_02167eb8:
ldr r0, _02168064 ; =data_027e0fe4
ldr r0, [r0]
bl func_ov00_020c35d8
movs r4, r0
beq _02168058
ldr r1, [r4, #4]
ldr r0, _02168068 ; =0x41525257
cmp r1, r0
beq _02167f24
ldr r0, _0216806c ; =0x424d524e
cmp r1, r0
ldrne r0, _02168070 ; =0x5342454d
cmpne r1, r0
bne _0216804c
ldr r0, [r5, #8]
cmp r0, #0
bne _0216804c
ldrsh r2, [r5, #0x60]
mov r0, r5
mov r1, #1
sub r2, r2, #0x4000
strh r2, [r5, #0x60]
ldr r3, [r0]
mov r2, #0
ldr r3, [r3, #0x80]
blx r3
b _0216804c
_02167f24:
ldr r0, [r5, #8]
cmp r0, #0
addne sp, sp, #0x14
movne r0, #0
ldmneia sp!, {r4, r5, pc}
ldr r1, [r4, #8]
ldr r0, [r5, #0x68]
cmp r1, r0
addeq sp, sp, #0x14
moveq r0, #0
ldmeqia sp!, {r4, r5, pc}
mov r3, #0
strb r3, [r4, #0x118]
ldr r0, [r5, #0x1c]
ldr r2, [r5, #0x20]
ldr r1, [r5, #0x18]
add r0, r0, #0x5e
add r0, r0, #0x800
str r1, [sp, #8]
str r0, [sp, #0xc]
str r2, [sp, #0x10]
str r3, [sp]
str r3, [sp, #4]
ldr r0, _02168074 ; =data_027e0e58
ldr r1, _02168078 ; =0x00000166
ldr r0, [r0]
add r2, sp, #8
mov r3, #4
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02168074 ; =data_027e0e58
ldr r1, _0216807c ; =0x00000167
ldr r0, [r0]
add r2, sp, #8
mov r3, #4
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _02168074 ; =data_027e0e58
add r2, sp, #8
ldr r0, [r0]
mov r1, #0x168
mov r3, #4
bl func_ov00_0207c1b0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _02168074 ; =data_027e0e58
ldr r1, _02168080 ; =0x00000169
ldr r0, [r0]
add r2, sp, #8
mov r3, #4
bl func_ov00_0207c1b0
ldr r0, _02168084 ; =data_027e0ffc
ldr r1, _02168088 ; =0x00000351
add r2, r5, #0x18
mov r3, #0
bl func_ov00_020ceacc
ldrh r0, [r4, #0x24]
mov r2, #0
cmp r0, #1
mov r0, r5
ldr r3, [r0]
bne _02168040
ldr r3, [r3, #0x80]
mov r1, #3
blx r3
b _0216804c
_02168040:
ldr r3, [r3, #0x80]
mov r1, #2
blx r3
_0216804c:
add sp, sp, #0x14
mov r0, #0
ldmia sp!, {r4, r5, pc}
_02168058:
mov r0, #1
add sp, sp, #0x14
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02167e64
_02168064: .word data_027e0fe4
_02168068: .word 0x41525257
_0216806c: .word 0x424d524e
_02168070: .word 0x5342454d
_02168074: .word data_027e0e58
_02168078: .word 0x00000166
_0216807c: .word 0x00000167
_02168080: .word 0x00000169
_02168084: .word data_027e0ffc
_02168088: .word 0x00000351
.global func_ov17_0216808c
arm_func_start func_ov17_0216808c
func_ov17_0216808c: ; 0x0216808c
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x2c
mov r2, #0
str r2, [sp]
mov r3, #0x1f
str r3, [sp, #4]
ldr r2, _02168100 ; =0x0000059a
mov r4, r0
mov r3, #0x400
bl func_ov00_0208b8e0
ldrh r1, [r4, #0xc]
ldr r3, _02168104 ; =data_02050f54
add r0, sp, #8
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x70
ldr r3, [r0]
add r1, sp, #8
ldr r3, [r3, #0x14]
add r2, r4, #0x18
blx r3
add sp, sp, #0x2c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_0216808c
_02168100: .word 0x0000059a
_02168104: .word data_02050f54
.global func_ov17_02168108
arm_func_start func_ov17_02168108
func_ov17_02168108: ; 0x02168108
mov r0, #0x1d
bx lr
arm_func_end func_ov17_02168108
.global func_ov17_02168110
arm_func_start func_ov17_02168110
func_ov17_02168110: ; 0x02168110
stmdb sp!, {r4, lr}
ldr r1, _02168144 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xd0
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_02168148
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02168110
_02168144: .word data_027e0f84
.global func_ov17_02168148
arm_func_start func_ov17_02168148
func_ov17_02168148: ; 0x02168148
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r2, _021681fc ; =data_ov00_020e26b4
ldr r0, _02168200 ; =data_ov00_020e2f04
str r2, [r4]
str r0, [r4, #0x38]
mov r3, #1
mov r1, #0
strb r3, [r4, #0x3c]
strb r1, [r4, #0x3d]
str r1, [r4, #0x40]
str r1, [r4, #0x44]
ldr r2, _02168204 ; =data_ov00_020e2dd8
str r1, [r4, #0x48]
str r2, [r4, #0x38]
ldr r0, _02168208 ; =data_ov17_0216cb04
sub r2, r1, #1
str r0, [r4]
strb r1, [r4, #0x64]
strb r3, [r4, #0x65]
ldrh r3, [r4, #0x24]
add r0, r4, #0x74
str r3, [r4, #0x68]
str r2, [r4, #0x6c]
str r2, [r4, #0x70]
blx func_ov00_020a9588
ldr r0, [r4, #0x68]
ldr r2, _0216820c ; =data_ov17_0216b1c4
cmp r0, #2
movge r0, #0
strge r0, [r4, #0x68]
ldr r0, _02168210 ; =data_027e0f68
ldr r1, [r4, #0x68]
ldr r0, [r0]
add r2, r2, r1, lsl #4
mov r1, #0x2e
bl func_ov00_0208ccec
mov r1, r0
add r0, r4, #0x74
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02168148
_021681fc: .word data_ov00_020e26b4
_02168200: .word data_ov00_020e2f04
_02168204: .word data_ov00_020e2dd8
_02168208: .word data_ov17_0216cb04
_0216820c: .word data_ov17_0216b1c4
_02168210: .word data_027e0f68
.global func_ov17_02168214
arm_func_start func_ov17_02168214
func_ov17_02168214: ; 0x02168214
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x74
blx func_ov00_020a95a4
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02168214
.global func_ov17_0216823c
arm_func_start func_ov17_0216823c
func_ov17_0216823c: ; 0x0216823c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x74
blx func_ov00_020a95a4
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0216823c
.global func_ov17_0216826c
arm_func_start func_ov17_0216826c
func_ov17_0216826c: ; 0x0216826c
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x54
mov sl, r0
ldr r1, [sl, #4]
orr r1, r1, #0x800
str r1, [sl, #4]
ldr r1, [sl, #0x18]
add r1, r1, #0x800
str r1, [sl, #0x18]
ldr r1, [sl, #0x20]
add r1, r1, #0x800
str r1, [sl, #0x20]
bl func_ov17_0216857c
mov r0, sl
bl func_ov17_021685b8
add r5, sl, #0x18
ldmia r5, {r0, r1, r2}
add r4, sp, #0x48
stmia r4, {r0, r1, r2}
ldmia r5, {r0, r1, r2}
add r3, sp, #0x3c
stmia r3, {r0, r1, r2}
mov r0, #0x1000
str r0, [sp, #0x30]
str r0, [sp, #0x38]
mov r0, #0x2000
str r0, [sp, #0x34]
mov r0, r4
mov r2, r4
add r1, sp, #0x30
bl func_01ff9bf8
mov r0, #0x1000
str r0, [sp, #0x24]
str r0, [sp, #0x2c]
mov r0, #0x2000
str r0, [sp, #0x28]
add r0, sp, #0x3c
add r1, sp, #0x24
mov r2, r0
bl func_01ff9bc4
mov r0, #0
bic r0, r0, #0x1f
ldrh r1, [sl, #0x26]
orr r0, r0, #7
orr r0, r0, #0x10c00000
bic r2, r0, #0x3f0000
and r1, r1, #0xff
mov r0, r4
orr r1, r2, r1, lsl #16
str r1, [sp, #8]
add r5, sp, #0xc
ldmia r0, {r0, r1, r2}
stmia r5, {r0, r1, r2}
add r4, sp, #0x3c
add r3, sp, #0x18
ldmia r4, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, sl
bl func_ov00_0208b9cc
mov r2, r0
mov r0, #0
str r0, [sp]
add r0, sl, #0x38
ldr r4, [r0]
ldr r3, [sp, #8]
ldr r4, [r4, #0x14]
mov r1, r5
blx r4
ldrb r8, [sl, #0x14]
add r0, r8, #2
cmp r8, r0
bge _0216843c
add r6, sp, #6
mov r5, #1
add fp, sp, #4
_02168398:
ldrb sb, [sl, #0x15]
add r0, sb, #2
cmp sb, r0
bge _02168428
ldr r4, _0216845c ; =data_027e0e60
and r7, r8, #0xff
_021683b0:
ldr r0, [r4]
mov r1, r6
mov r2, r5
strb r7, [sp, #6]
strb sb, [sp, #7]
bl func_ov00_020826a0
ldr r0, [r4]
strb r7, [sp, #4]
strb sb, [sp, #5]
mov r1, fp
mov r2, #1
bl func_ov00_02082680
ldr r0, [sl, #0x68]
cmp r0, #1
ldr r0, [r4]
bne _02168404
mov r1, r8
mov r2, sb
mov r3, #0x17
bl func_ov00_02084d24
b _02168414
_02168404:
mov r1, r8
mov r2, sb
mov r3, #9
bl func_ov00_02084d24
_02168414:
ldrb r0, [sl, #0x15]
add sb, sb, #1
add r0, r0, #2
cmp sb, r0
blt _021683b0
_02168428:
ldrb r0, [sl, #0x14]
add r8, r8, #1
add r0, r0, #2
cmp r8, r0
blt _02168398
_0216843c:
mov r0, sl
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
add sp, sp, #0x54
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov17_0216826c
_0216845c: .word data_027e0e60
.global func_ov17_02168460
arm_func_start func_ov17_02168460
func_ov17_02168460: ; 0x02168460
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #8]
cmp r0, #0
beq _02168494
cmp r0, #1
beq _021684c4
b _021684d4
_02168494:
mov r0, r4
mov r1, #0
bl func_ov00_0208b9e4
cmp r0, #0
beq _021684d4
mov r0, r4
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
b _021684d4
_021684c4:
ldrb r0, [r4, #0x65]
cmp r0, #0
moveq r0, #1
streqb r0, [r4, #0x64]
_021684d4:
mov r0, #0
strb r0, [r4, #0x65]
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02168460
.global func_ov17_021684e0
arm_func_start func_ov17_021684e0
func_ov17_021684e0: ; 0x021684e0
str r1, [r0, #8]
cmp r1, #0
beq _02168500
cmp r1, #1
ldreq r1, [r0, #4]
orreq r1, r1, #8
streq r1, [r0, #4]
b _0216850c
_02168500:
ldr r1, [r0, #4]
bic r1, r1, #8
str r1, [r0, #4]
_0216850c:
mov r0, #1
bx lr
arm_func_end func_ov17_021684e0
.global func_ov17_02168514
arm_func_start func_ov17_02168514
func_ov17_02168514: ; 0x02168514
ldr r2, [r0, #8]
cmp r2, #1
movne r0, #1
bxne lr
cmp r1, #0
bne _0216853c
mov r1, #1
strb r1, [r0, #0x65]
mov r0, #0
bx lr
_0216853c:
mov r0, #1
bx lr
arm_func_end func_ov17_02168514
.global func_ov17_02168544
arm_func_start func_ov17_02168544
func_ov17_02168544: ; 0x02168544
stmdb sp!, {lr}
sub sp, sp, #0xc
ldr ip, [r0, #0x20]
ldr r3, [r0, #0x1c]
ldr r2, [r0, #0x18]
add r1, sp, #0
str r3, [sp, #4]
str ip, [sp, #8]
str r2, [sp]
ldr r2, [r0, #0x74]!
ldr r2, [r2, #0x18]
blx r2
add sp, sp, #0xc
ldmia sp!, {pc}
arm_func_end func_ov17_02168544
.global func_ov17_0216857c
arm_func_start func_ov17_0216857c
func_ov17_0216857c: ; 0x0216857c
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
ldrh r4, [r5, #0x2a]
ldr r0, _021685b4 ; =data_027e0e60
ldr r0, [r0]
mov r1, r4
bl func_ov00_020823d4
ldr r1, _021685b4 ; =data_027e0e60
str r0, [r5, #0x6c]
ldr r0, [r1]
mov r1, r4
bl func_ov00_020823e4
str r0, [r5, #0x70]
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0216857c
_021685b4: .word data_027e0e60
.global func_ov17_021685b8
arm_func_start func_ov17_021685b8
func_ov17_021685b8: ; 0x021685b8
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
ldr r0, [r6, #0x70]
cmp r0, #0
ldrge r0, [r6, #0x6c]
cmpge r0, #0
ldmltia sp!, {r4, r5, r6, pc}
add r0, r6, #0x74
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
ldr r1, _0216864c ; =data_ov17_0216b19c
mov r5, r0
bl func_020190e4
ldr r1, _02168650 ; =data_ov17_0216b1b0
mov r0, r5
bl func_0201933c
ldr r0, _02168654 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_020823f4
mov r4, r0
mov r0, r5
mov r1, r4
mov r2, #0
ldr r3, [r6, #0x6c]
bl func_02019020
mov r1, r4
mov r0, r5
mov r2, #0
ldr r3, [r6, #0x70]
bl func_0201926c
add r0, r6, #0x74
mov r1, r5
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov17_021685b8
_0216864c: .word data_ov17_0216b19c
_02168650: .word data_ov17_0216b1b0
_02168654: .word data_027e0e60
.global func_ov17_02168658
arm_func_start func_ov17_02168658
func_ov17_02168658: ; 0x02168658
mov r0, #0x5f
bx lr
arm_func_end func_ov17_02168658
.global func_ov17_02168660
arm_func_start func_ov17_02168660
func_ov17_02168660: ; 0x02168660
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0xc
str r0, [sp]
str r1, [r0]
ldr r0, [r1, #0x38]
mov r6, r2
add r2, r1, r0
ldr r0, [sp]
ldrh sl, [sp, #0x34]
str r2, [r0, #0x10]
ldr r0, [r1, #0x2c]
str r3, [sp, #4]
mov r0, r0, lsl #0x10
mov r2, r0, lsr #0xd
ldr r0, [sp]
and r3, sl, #0x3e0
str r2, [r0, #0x20]
ldrh r1, [r1, #0x30]
ldr r2, [r0, #0x1c]
mov r4, r3, asr #0x5
mov r0, r1, lsl #0x3
str r0, [sp, #8]
cmp r2, r1, lsl #3
strlo r2, [sp, #8]
ldr r0, [sp, #8]
cmp r0, r2
movlo r1, r0
ldrlo r0, [sp]
and r2, sl, #0x7c00
strlo r1, [r0, #0x1c]
ldr r1, [sp, #8]
mov r5, r2, asr #0xa
ldr r2, [sp]
mov sb, r1, lsr #0x1
and r1, sl, #0x1f
add r1, r1, #0x1f
mov r0, #0x1f000
mov r1, r1, lsl #0xc
ldr r7, [r2, #0x10]
ldr r8, [r2, #0x14]
bl func_01ff98e0
mul r1, r6, r0
add r1, r1, #0x800
add r0, r4, #0x1f
mov fp, r1, asr #0xc
mov r1, r0, lsl #0xc
mov r0, #0x1f000
bl func_01ff98e0
ldr r1, [sp, #4]
mul r0, r1, r0
add r0, r0, #0x800
add r1, r5, #0x1f
mov r6, r0, asr #0xc
mov r0, #0x1f000
mov r1, r1, lsl #0xc
bl func_01ff98e0
ldr r3, [sp, #0x30]
mov r1, sl, lsl #0x1b
mul r0, r3, r0
add r0, r0, #0x800
cmp sb, #0
mov r2, #0
mov lr, r0, asr #0xc
ble _021687d8
_02168760:
ldrh sl, [r7]
add r2, r2, #1
add r7, r7, #2
mov r0, sl, asr #0xa
and r3, r0, #0x1f
and r0, sl, #0x1f
mov sl, sl, asr #0x5
and sl, sl, #0x1f
add r0, r0, sl
add sl, r3, r0
mul r0, sl, fp
add r0, r0, r1, lsr #15
mov r3, r0, asr #0xc
mul r0, sl, r6
add r0, r0, r4, lsl #12
mov ip, r0, asr #0xc
mul r0, sl, lr
add r0, r0, r5, lsl #12
cmp r3, #0x1f
movgt r3, #0x1f
cmp ip, #0x1f
movgt ip, #0x1f
mov r0, r0, asr #0xc
cmp r0, #0x1f
movgt r0, #0x1f
orr r3, r3, ip, lsl #5
orr r0, r3, r0, lsl #10
strh r0, [r8], #2
cmp r2, sb
blt _02168760
_021687d8:
ldr r0, [sp]
ldr r1, [sp, #8]
ldr r0, [r0, #0x14]
bl func_0200e2a4
add sp, sp, #0xc
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
arm_func_end func_ov17_02168660
.global func_ov17_021687f0
arm_func_start func_ov17_021687f0
func_ov17_021687f0: ; 0x021687f0
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x18
mov r4, r0
ldr r1, [r4, #4]
ldr r0, [r4, #8]
cmp r1, r0
beq _021688c4
str r1, [r4, #8]
ldr r0, [r4, #0x1c]
ldr r5, [r4, #0x10]
mov lr, r0, lsr #0x1
cmp lr, #0
ldr r6, [r4, #0x14]
ldr r7, [r4, #0x18]
mov r8, #0
ble _021688a4
_02168830:
ldrh sb, [r6], #2
ldrh r3, [r5], #2
ldr r2, [r4, #4]
and r0, sb, #0x3e0
mov r0, r0, asr #0x5
and r1, sb, #0x7c00
mov r1, r1, asr #0xa
and fp, sb, #0x1f
mul sb, r0, r2
and sl, r3, #0x3e0
and ip, r3, #0x7c00
mul r0, r1, r2
add r8, r8, #1
mov r1, ip, asr #0xa
and ip, r3, #0x1f
mul r3, fp, r2
rsb r2, r2, #0x1000
mla r0, r1, r2, r0
mov r1, sl, asr #0x5
mla sb, r1, r2, sb
mov r1, sb, asr #0xc
mla r2, ip, r2, r3
mov r1, r1, lsl #0x5
mov r3, r0, asr #0xc
orr r0, r1, r2, asr #12
orr r0, r0, r3, lsl #10
cmp r8, lr
strh r0, [r7], #2
blt _02168830
_021688a4:
ldr r0, [r4, #0x18]
ldr r1, [r4, #0x1c]
bl func_0200e2a4
ldr r1, [r4, #0x20]
ldr r2, [r4, #0x18]
ldr r3, [r4, #0x1c]
mov r0, #1
bl func_02017d30
_021688c4:
ldr r0, [r4, #0xc]
cmp r0, #0
addle sp, sp, #0x18
ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r0, [r4]
str r0, [sp, #8]
ldrh r0, [r0, #0x1c]
movs r0, r0, lsl #0x3
str r0, [sp, #4]
beq _02168a24
ldr r0, [sp, #8]
ldr r1, [sp, #8]
ldr r0, [r0, #0x24]
ldr r2, [r4, #0x24]
str r0, [sp, #0xc]
ldr r0, [sp, #8]
mov sl, #0
ldr r0, [r0, #0x28]
str r0, [sp, #0x10]
add r8, r1, r0
ldr r0, [sp, #0xc]
add sb, r1, r0
mov r0, r2, lsl #0x1
str r0, [sp, #0x14]
ldr r0, [sp, #4]
movs r0, r0, lsr #0x2
str r0, [sp]
beq _021689c4
ldr r0, _02168a48 ; =0x00007fff
ldr fp, _02168a4c ; =data_027e0764
rsb r0, r0, #0x9000
_02168940:
ldr r2, [fp]
ldmib fp, {r1, ip}
umull r5, lr, ip, r2
mla lr, ip, r1, lr
ldr r3, [fp, #0xc]
ldr r7, [fp, #0x10]
mla lr, r3, r2, lr
ldr r6, [fp, #0x14]
adds r1, r7, r5
adc r3, r6, lr
stmia fp, {r1, r3}
umull r1, r2, r3, r0
mov r1, #0
mla r2, r3, r1, r2
mla r2, r1, r0, r2
ldr r1, [r4, #0xc]
cmp r2, r1
bge _021689ac
ldrh r2, [r8]
ldr r1, _02168a48 ; =0x00007fff
and r1, r2, r1
strh r1, [r8]
ldr r3, [sb]
ldr r1, [sp, #0x14]
mov r2, #3
orr r1, r3, r2, lsl r1
str r1, [sb]
_021689ac:
ldr r1, [sp]
add sl, sl, #1
add r8, r8, #2
add sb, sb, #4
cmp sl, r1
blo _02168940
_021689c4:
ldr r0, [r4]
ldr r1, [sp, #8]
ldr r5, [r0, #0x18]
ldr r0, [sp, #0xc]
mov r5, r5, lsl #0x10
ldr r3, [sp, #4]
add r2, r1, r0
mov r6, r5, lsr #0xd
mov r1, r6
mov r0, #0
bl func_02017d30
ldr r0, _02168a50 ; =0x0001ffff
and r1, r6, #0x40000
and r0, r0, r5, lsr #13
mov r0, r0, lsr #0x1
add r0, r0, #0x20000
add r1, r0, r1, lsr #2
ldr r2, [sp, #8]
ldr r0, [sp, #0x10]
add r2, r2, r0
ldr r0, [sp, #4]
mov r3, r0, lsr #0x1
mov r0, #0
bl func_02017d30
_02168a24:
mov r1, #0
str r1, [r4, #0xc]
ldr r0, [r4, #0x24]
add r0, r0, #1
str r0, [r4, #0x24]
cmp r0, #0x10
strge r1, [r4, #0x24]
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov17_021687f0
_02168a48: .word 0x00007fff
_02168a4c: .word data_027e0764
_02168a50: .word 0x0001ffff
.global func_ov17_02168a54
arm_func_start func_ov17_02168a54
func_ov17_02168a54: ; 0x02168a54
stmdb sp!, {r3, lr}
ldr r1, _02168a84 ; =data_027e0ce0
ldr r0, _02168a88 ; =0x000012ac
ldr r1, [r1, #4]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
beq _02168a78
blx func_ov17_02168ac8
_02168a78:
ldr r1, _02168a8c ; =data_027e10b4
str r0, [r1]
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_02168a54
_02168a84: .word data_027e0ce0
_02168a88: .word 0x000012ac
_02168a8c: .word data_027e10b4
.global func_ov17_02168a90
arm_func_start func_ov17_02168a90
func_ov17_02168a90: ; 0x02168a90
stmdb sp!, {r4, lr}
ldr r0, _02168ac4 ; =data_027e10b4
ldr r4, [r0]
cmp r4, #0
beq _02168ab4
mov r0, r4
blx func_ov17_02168b9c
mov r0, r4
bl _ZN9SysObjectdlEPv
_02168ab4:
ldr r0, _02168ac4 ; =data_027e10b4
mov r1, #0
str r1, [r0]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02168a90
_02168ac4: .word data_027e10b4
.global func_ov17_02168ac8
thumb_func_start func_ov17_02168ac8
func_ov17_02168ac8: ; 0x02168ac8
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r1, r5, #0
add r1, #8
mov r2, #0x10
blx func_ov17_02168bf4
add r2, r5, #0
mov r0, #0
add r1, r5, #0
add r2, #8
mvn r0, r0
add r1, #0x88
_02168ae2:
str r0, [r2]
str r0, [r2, #4]
add r2, #8
cmp r2, r1
blo _02168ae2
add r1, r5, #0
mov r2, #0
add r1, #0x88
str r2, [r1]
add r1, r5, #0
add r1, #0x8c
str r0, [r1]
add r1, r5, #0
add r1, #0x90
str r0, [r1]
add r1, r5, #0
add r1, #0x94
str r0, [r1]
add r1, r5, #0
add r1, #0x98
str r0, [r1]
add r1, r5, #0
add r1, #0xa0
strh r0, [r1]
ldr r0, _02168b98 ; =0x000012a4
add r4, r5, #0
add r4, #0xa4
add r7, r2, #0
add r6, r5, r0
_02168b1c:
mov r0, #0
strb r0, [r4]
str r0, [r4, #4]
strh r0, [r4, #0x24]
add r0, r4, #0
add r0, #0x28
blx func_ov00_020c1500
mov r0, #0
mvn r0, r0
str r0, [r4, #0x3c]
str r0, [r4, #0x40]
str r0, [r4, #0x44]
str r7, [r4, #0x18]
str r7, [r4, #0x1c]
str r7, [r4, #0x20]
add r4, #0x48
cmp r4, r6
blo _02168b1c
ldr r0, _02168b98 ; =0x000012a4
str r7, [r5, r0]
add r0, r0, #4
str r7, [r5, r0]
add r0, r5, #0
bl func_ov17_02168ba8
mov r1, #4
ldrsh r1, [r5, r1]
mov r0, #0
cmp r1, #0
ble _02168b76
add r1, r0, #0
sub r4, r0, #1
mov r2, #4
_02168b60:
ldr r3, [r5]
add r0, r0, #1
add r6, r3, r1
str r4, [r3, r1]
str r4, [r6, #4]
lsl r0, r0, #0x10
ldrsh r3, [r5, r2]
asr r0, r0, #0x10
add r1, #8
cmp r0, r3
blt _02168b60
_02168b76:
mov r2, #0
add r0, r5, #0
strh r2, [r5, #6]
add r0, #0x88
str r2, [r0]
add r0, r5, #0
sub r1, r2, #1
add r0, #0x8c
str r1, [r0]
add r0, r5, #0
add r0, #0x90
str r1, [r0]
add r0, r5, #0
add r0, #0xa0
strh r2, [r0]
add r0, r5, #0
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end func_ov17_02168ac8
_02168b98: .word 0x000012a4
.global func_ov17_02168b9c
thumb_func_start func_ov17_02168b9c
func_ov17_02168b9c: ; 0x02168b9c
push {r4, lr}
add r4, r0, #0
bl func_ov17_02168bc0
add r0, r4, #0
pop {r4, pc}
thumb_func_end func_ov17_02168b9c
.global func_ov17_02168ba8
thumb_func_start func_ov17_02168ba8
func_ov17_02168ba8: ; 0x02168ba8
mov r3, #0
mov r2, #0xff
_02168bac:
add r1, r0, #0
add r1, #0xa4
strb r2, [r1]
add r1, r3, #1
lsl r1, r1, #0x10
asr r3, r1, #0x10
add r0, #0x48
cmp r3, #0x40
blt _02168bac
bx lr
thumb_func_end func_ov17_02168ba8
.global func_ov17_02168bc0
thumb_func_start func_ov17_02168bc0
func_ov17_02168bc0: ; 0x02168bc0
push {r4, lr}
add r4, r0, #0
ldr r0, _02168bec ; =0x000012a8
ldr r0, [r4, r0]
cmp r0, #0
beq _02168bd6
blx func_0202ea18
ldr r0, _02168bec ; =0x000012a8
mov r1, #0
str r1, [r4, r0]
_02168bd6:
ldr r0, _02168bf0 ; =0x000012a4
ldr r0, [r4, r0]
cmp r0, #0
beq _02168be8
blx func_0202ea18
ldr r0, _02168bf0 ; =0x000012a4
mov r1, #0
str r1, [r4, r0]
_02168be8:
pop {r4, pc}
nop
thumb_func_end func_ov17_02168bc0
_02168bec: .word 0x000012a8
_02168bf0: .word 0x000012a4
.global func_ov17_02168bf4
arm_func_start func_ov17_02168bf4
func_ov17_02168bf4: ; 0x02168bf4
stmdb sp!, {r3, lr}
strh r2, [r0, #4]
str r1, [r0]
ldrsh r1, [r0, #4]
mov ip, #0
cmp r1, #0
ble _02168c44
mov lr, ip
mvn r3, #0
_02168c18:
ldr r2, [r0]
add r1, ip, #1
str r3, [r2, lr]
add r2, r2, lr
str r3, [r2, #4]
ldrsh r2, [r0, #4]
mov r1, r1, lsl #0x10
add lr, lr, #8
cmp r2, r1, asr #16
mov ip, r1, asr #0x10
bgt _02168c18
_02168c44:
mov r1, #0
strh r1, [r0, #6]
ldmia sp!, {r3, pc}
arm_func_end func_ov17_02168bf4
.global func_ov17_02168c50
arm_func_start func_ov17_02168c50
func_ov17_02168c50: ; 0x02168c50
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a956c
ldr r1, _02168c84 ; =data_ov17_0216cb98
mov r0, r4
str r1, [r4]
mov r3, #0
mov r1, #6
mov r2, #2
strh r3, [r4, #0x5c]
bl func_ov00_020a9998
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02168c50
_02168c84: .word data_ov17_0216cb98
.global func_ov17_02168c88
arm_func_start func_ov17_02168c88
func_ov17_02168c88: ; 0x02168c88
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a95ec
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02168c88
.global func_ov17_02168c9c
arm_func_start func_ov17_02168c9c
func_ov17_02168c9c: ; 0x02168c9c
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a95ec
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02168c9c
.global func_ov17_02168cb8
arm_func_start func_ov17_02168cb8
func_ov17_02168cb8: ; 0x02168cb8
ldrsh r2, [r0, #0x5c]
add r1, r2, r1
strh r1, [r0, #0x5c]
ldrsh r1, [r0, #0x5c]
cmp r1, #0
movlt r0, #0
bxlt lr
mov r1, #0
strh r1, [r0, #0x5c]
mov r0, #1
bx lr
arm_func_end func_ov17_02168cb8
.global func_ov17_02168ce4
arm_func_start func_ov17_02168ce4
func_ov17_02168ce4: ; 0x02168ce4
ldrsh r3, [r0, #0x5c]
mov r2, #0x2000
rsb r2, r2, #0
sub r1, r3, r1
strh r1, [r0, #0x5c]
ldrsh r1, [r0, #0x5c]
cmp r1, r2
strleh r2, [r0, #0x5c]
movle r0, #1
movgt r0, #0
bx lr
arm_func_end func_ov17_02168ce4
.global func_ov17_02168d10
arm_func_start func_ov17_02168d10
func_ov17_02168d10: ; 0x02168d10
stmdb sp!, {r3, r4, r5, lr}
mov r4, r1
ldr r2, [r4, #4]
ldr r1, _02168d84 ; =data_ov17_0216b1e4
ldr r2, [r2, #4]
mov r5, r0
add r0, r2, #0x40
bl func_0201e388
ldr r1, [r4]
ldrb r1, [r1, #1]
cmp r1, r0
ldmneia sp!, {r3, r4, r5, pc}
ldr r1, [r4, #0xb4]
ldr r3, _02168d88 ; =data_02050f54
ldr r0, [r1]
bic r0, r0, #2
str r0, [r1]
ldrh r1, [r5, #0x5c]
ldr r0, [r4, #0xb4]
mov r1, r1, asr #0x4
mov r1, r1, lsl #0x1
add r2, r1, #1
mov r2, r2, lsl #0x1
mov r1, r1, lsl #0x1
ldrsh r2, [r3, r2]
ldrsh r1, [r3, r1]
add r0, r0, #0x28
blx func_01ff8230
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02168d10
_02168d84: .word data_ov17_0216b1e4
_02168d88: .word data_02050f54
.global func_ov17_02168d8c
arm_func_start func_ov17_02168d8c
func_ov17_02168d8c: ; 0x02168d8c
stmdb sp!, {r4, lr}
ldr r1, _02168dc0 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xe8
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_02168dc4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02168d8c
_02168dc0: .word data_027e0f84
.global func_ov17_02168dc4
arm_func_start func_ov17_02168dc4
func_ov17_02168dc4: ; 0x02168dc4
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02168e64 ; =data_ov00_020e26b4
ldr r0, _02168e68 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r2, #0
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r1, _02168e6c ; =data_ov00_020e2dd8
str r2, [r4, #0x48]
ldr r0, _02168e70 ; =data_ov17_0216cbe0
str r1, [r4, #0x38]
str r0, [r4]
strb r2, [r4, #0x64]
ldr r0, _02168e74 ; =data_027e0f68
strb r2, [r4, #0x65]
ldr r0, [r0]
mov r1, #0x60
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x6c
bl func_ov17_02168c50
mov r1, #0
mov r2, #0x1000
str r2, [sp]
add r0, r4, #0xcc
mov r3, r1
blx func_ov00_0207a188
mvn r0, #0
str r0, [r4, #0xe0]
str r0, [r4, #0xe4]
mov r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_02168dc4
_02168e64: .word data_ov00_020e26b4
_02168e68: .word data_ov00_020e2f04
_02168e6c: .word data_ov00_020e2dd8
_02168e70: .word data_ov17_0216cbe0
_02168e74: .word data_027e0f68
.global func_ov17_02168e78
arm_func_start func_ov17_02168e78
func_ov17_02168e78: ; 0x02168e78
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x6c
bl func_ov17_02168c88
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02168e78
.global func_ov17_02168ea0
arm_func_start func_ov17_02168ea0
func_ov17_02168ea0: ; 0x02168ea0
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x6c
bl func_ov17_02168c88
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02168ea0
.global func_ov17_02168ed0
arm_func_start func_ov17_02168ed0
func_ov17_02168ed0: ; 0x02168ed0
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x98
mov r6, r0
ldrsh r0, [r6, #0xc]
ldrb r5, [r6, #0x15]
ldrb r4, [r6, #0x14]
bl func_0202bbbc
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02168f9c
_02168ef8: ; jump table
b _02168f44 ; case 0
b _02168f08 ; case 1
b _02168f70 ; case 2
b _02168f9c ; case 3
_02168f08:
ldr r0, _02169180 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_0208335c
sub r0, r0, #2
cmp r4, r0
addlt r0, r4, #2
andlt r4, r0, #0xff
ldrh r0, [r6, #0x26]
cmp r0, #1
bne _02168fd4
ldr r0, [r6, #0x20]
add r0, r0, #0x3fc
add r0, r0, #0x400
str r0, [r6, #0x20]
b _02168fd4
_02168f44:
cmp r4, #1
subhi r0, r4, #2
andhi r4, r0, #0xff
ldrh r0, [r6, #0x26]
cmp r0, #1
bne _02168fd4
ldr r0, [r6, #0x20]
add r0, r0, #0x3fc
add r0, r0, #0x400
str r0, [r6, #0x20]
b _02168fd4
_02168f70:
cmp r5, #1
subhi r0, r5, #2
andhi r5, r0, #0xff
ldrh r0, [r6, #0x26]
cmp r0, #1
bne _02168fd4
ldr r0, [r6, #0x18]
add r0, r0, #0x3fc
add r0, r0, #0x400
str r0, [r6, #0x18]
b _02168fd4
_02168f9c:
ldr r0, _02169180 ; =data_027e0e60
ldr r0, [r0]
bl func_ov00_02083368
sub r0, r0, #2
cmp r5, r0
addlt r0, r5, #2
andlt r5, r0, #0xff
ldrh r0, [r6, #0x26]
cmp r0, #1
bne _02168fd4
ldr r0, [r6, #0x18]
add r0, r0, #0x3fc
add r0, r0, #0x400
str r0, [r6, #0x18]
_02168fd4:
strb r4, [r6, #0x64]
strb r5, [r6, #0x65]
add r4, r6, #0x18
ldmia r4, {r0, r1, r2}
add r5, sp, #0x8c
stmia r5, {r0, r1, r2}
ldmia r4, {r0, r1, r2}
mov r4, #0x800
add r3, sp, #0x80
stmia r3, {r0, r1, r2}
mov r3, #0
add r1, sp, #0x38
mov r0, r5
mov r2, r5
str r4, [sp, #0x38]
str r3, [sp, #0x3c]
str r4, [sp, #0x40]
bl func_01ff9bf8
mov r2, r4
ldr r1, _02169184 ; =0x00001333
add r0, sp, #0x80
str r1, [sp, #0x30]
str r2, [sp, #0x2c]
str r2, [sp, #0x34]
add r1, sp, #0x2c
mov r2, r0
bl func_01ff9bc4
mov r0, #0
bic r0, r0, #0x1f
orr r0, r0, #9
orr r0, r0, #0x30c00000
str r0, [sp, #4]
mov r0, r5
add r5, sp, #0x14
ldmia r0, {r0, r1, r2}
stmia r5, {r0, r1, r2}
add r4, sp, #0x80
add r3, sp, #0x20
ldmia r4, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r6
bl func_ov00_0208b9cc
mov r2, r0
mov r0, #0
str r0, [sp]
add r0, r6, #0x38
ldr r4, [r0]
ldr r3, [sp, #4]
ldr r4, [r4, #0x14]
mov r1, r5
blx r4
mov r2, #0
ldr r1, _02169184 ; =0x00001333
str r2, [r6, #0xd0]
str r1, [r6, #0xd4]
mov r0, #0x3000
str r2, [r6, #0xd8]
str r0, [r6, #0xdc]
ldr r0, _02169188 ; =data_027e0d38
ldr r0, [r0]
add r0, r0, #0xc
bl func_ov00_020a5e9c
cmp r0, #0x2f
bne _02169160
add r0, sp, #0x54
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x54
str r1, [sp, #0x70]
str r1, [sp, #0x74]
bl func_ov00_020c3348
add r1, r6, #0xe0
str r1, [sp]
ldr r0, _0216918c ; =data_027e0fe8
ldr r1, _02169190 ; =0x4c4f4e44
ldr r0, [r0]
add r3, sp, #0x54
add r2, r6, #0x18
bl func_ov00_020c4048
ldr r0, _02169194 ; =data_027e0fe4
add r1, r6, #0xe0
ldr r0, [r0]
bl func_ov00_020c3674
mov r1, #7
str r1, [r0, #0x12c]
mov r3, #0
str r3, [r0, #0x7c]
mov r1, #0x400
str r1, [r0, #0x80]
mov r2, #0x800
str r3, [r0, #0x84]
str r2, [r0, #0x88]
ldr r1, [r0, #0x7c]
str r1, [r0, #0xa8]
ldr r1, [r0, #0x80]
str r1, [r0, #0xac]
ldr r1, [r0, #0x84]
str r1, [r0, #0xb0]
str r2, [r0, #0xb4]
_02169160:
mov r0, r6
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
add sp, sp, #0x98
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov17_02168ed0
_02169180: .word data_027e0e60
_02169184: .word 0x00001333
_02169188: .word data_027e0d38
_0216918c: .word data_027e0fe8
_02169190: .word 0x4c4f4e44
_02169194: .word data_027e0fe4
.global func_ov17_02169198
arm_func_start func_ov17_02169198
func_ov17_02169198: ; 0x02169198
stmdb sp!, {r3, r4, r5, lr}
ldr r2, [r0]
mov r5, r0
ldr r2, [r2, #0x84]
mov r4, r1
blx r2
cmp r0, #0
ldrne r0, [r5, #8]
cmpne r0, #0
beq _0216925c
cmp r0, #1
beq _021691d4
cmp r0, #2
beq _02169230
b _0216925c
_021691d4:
ldr r1, _02169270 ; =0x00000aab
add r0, r5, #0x6c
bl func_ov17_02168ce4
cmp r0, #0
beq _0216925c
ldr r0, [r5, #0x68]
sub r0, r0, #1
str r0, [r5, #0x68]
cmp r0, #0xa
bgt _02169208
add r0, r5, #0x38
mov r1, #0
bl func_ov00_02094884
_02169208:
ldr r0, [r5, #0x68]
cmp r0, #0
bgt _0216925c
mov r0, r5
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
b _0216925c
_02169230:
ldr r1, _02169274 ; =0x0000038e
add r0, r5, #0x6c
bl func_ov17_02168cb8
cmp r0, #0
beq _0216925c
mov r0, r5
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
_0216925c:
mov r1, r4
add r0, r5, #0xcc
add r2, r5, #0x18
bl func_ov00_0207a1c8
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02169198
_02169270: .word 0x00000aab
_02169274: .word 0x0000038e
.global func_ov17_02169278
arm_func_start func_ov17_02169278
func_ov17_02169278: ; 0x02169278
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
str r1, [r4, #8]
cmp r1, #0
beq _0216929c
cmp r1, #1
beq _021692e8
cmp r1, #2
b _02169338
_0216929c:
ldr r0, _02169340 ; =data_027e0e60
add r1, r4, #0x64
ldr r0, [r0]
bl func_ov00_020840c4
ldr r1, [r0]
mov r5, r0
ldr r1, [r1, #0x1c]
blx r1
cmp r0, #0x7d
bne _021692cc
mov r0, r5
bl func_ov17_02169d1c
_021692cc:
ldr r1, [r4, #4]
add r0, r4, #0x38
orr r2, r1, #0x40
mov r1, #0
str r2, [r4, #4]
bl func_ov00_02094884
b _02169338
_021692e8:
ldr r0, _02169340 ; =data_027e0e60
add r1, r4, #0x64
ldr r0, [r0]
bl func_ov00_020840c4
ldr r1, [r0]
mov r5, r0
ldr r1, [r1, #0x1c]
blx r1
cmp r0, #0x7d
bne _02169318
mov r0, r5
bl func_ov17_02169cfc
_02169318:
mov r0, #0xf
str r0, [r4, #0x68]
ldr r1, [r4, #4]
add r0, r4, #0x38
bic r2, r1, #0x40
mov r1, #2
str r2, [r4, #4]
bl func_ov00_02094884
_02169338:
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02169278
_02169340: .word data_027e0e60
.global func_ov17_02169344
arm_func_start func_ov17_02169344
func_ov17_02169344: ; 0x02169344
mov r0, #0x7e
bx lr
arm_func_end func_ov17_02169344
.global func_ov17_0216934c
arm_func_start func_ov17_0216934c
func_ov17_0216934c: ; 0x0216934c
mov r0, #1
bx lr
arm_func_end func_ov17_0216934c
.global func_ov17_02169354
arm_func_start func_ov17_02169354
func_ov17_02169354: ; 0x02169354
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x18
cmp r2, #1
mov r4, r0
mov r5, r3
addgt sp, sp, #0x18
mvngt r0, #0
ldmgtia sp!, {r3, r4, r5, pc}
bne _021693cc
ldr r0, _02169404 ; =0xfffffccd
mov r1, #0
str r0, [sp, #0x14]
add r3, sp, #0
add r0, r4, #0x18
str r1, [sp, #0xc]
str r1, [sp, #0x10]
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
add r1, sp, #0xc
mov r0, r3
mov r2, r3
bl func_01ff9bc4
add r0, sp, #0
mov r1, r5
bl func_01ff9ec0
ldr r1, _02169408 ; =0x00000b33
cmp r0, r1
addge sp, sp, #0x18
mvnge r0, #0
ldmgeia sp!, {r3, r4, r5, pc}
_021693cc:
ldr r0, [r4, #8]
cmp r0, #0
addne sp, sp, #0x18
mvnne r0, #0
ldmneia sp!, {r3, r4, r5, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
mov r0, #0
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_02169354
_02169404: .word 0xfffffccd
_02169408: .word 0x00000b33
.global func_ov17_0216940c
arm_func_start func_ov17_0216940c
func_ov17_0216940c: ; 0x0216940c
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x24
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x88]
blx r2
cmp r0, #0
addeq sp, sp, #0x24
ldmeqia sp!, {r3, r4, pc}
ldrsh r1, [r4, #0xc]
ldr r3, _02169488 ; =data_02050f54
add r0, sp, #0
sub r1, r1, #0x4000
mov r1, r1, lsl #0x10
mov r1, r1, lsr #0x10
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x6c
ldr r3, [r0]
add r1, sp, #0
ldr r3, [r3, #0x14]
add r2, r4, #0x18
blx r3
add sp, sp, #0x24
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_0216940c
_02169488: .word data_02050f54
.global func_ov17_0216948c
arm_func_start func_ov17_0216948c
func_ov17_0216948c: ; 0x0216948c
cmp r1, #0
ldrneb r0, [r0, #0xcd]
ldreqb r0, [r0, #0xcc]
bx lr
arm_func_end func_ov17_0216948c
.global func_ov17_0216949c
arm_func_start func_ov17_0216949c
func_ov17_0216949c: ; 0x0216949c
stmdb sp!, {r4, lr}
ldr r1, _021694d0 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x7c
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_021694d4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216949c
_021694d0: .word data_027e0f84
.global func_ov17_021694d4
arm_func_start func_ov17_021694d4
func_ov17_021694d4: ; 0x021694d4
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _02169540 ; =data_ov00_020e26b4
mov r2, #0
ldr r0, _02169544 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
strb r2, [r4, #0x3d]
str r2, [r4, #0x40]
str r2, [r4, #0x44]
ldr r1, _02169548 ; =data_ov00_020e2dd8
str r2, [r4, #0x48]
ldr r0, _0216954c ; =data_ov17_0216cc74
str r1, [r4, #0x38]
str r0, [r4]
sub r0, r2, #1
str r0, [r4, #0x64]
str r0, [r4, #0x68]
str r0, [r4, #0x6c]
str r2, [r4, #0x70]
str r2, [r4, #0x74]
mov r0, r4
str r2, [r4, #0x78]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_021694d4
_02169540: .word data_ov00_020e26b4
_02169544: .word data_ov00_020e2f04
_02169548: .word data_ov00_020e2dd8
_0216954c: .word data_ov17_0216cc74
.global func_ov17_02169550
arm_func_start func_ov17_02169550
func_ov17_02169550: ; 0x02169550
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02169550
.global func_ov17_02169570
arm_func_start func_ov17_02169570
func_ov17_02169570: ; 0x02169570
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x38
bl func_ov00_02094824
mov r0, r4
bl func_ov00_0208b5a4
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02169570
.global func_ov17_02169598
arm_func_start func_ov17_02169598
func_ov17_02169598: ; 0x02169598
stmdb sp!, {r4, lr}
sub sp, sp, #0x60
mov r4, r0
ldr r1, [r4, #4]
mov r0, #1
orr r1, r1, #4
str r1, [r4, #4]
strb r0, [r4, #0x12]
ldrh r0, [r4, #0x26]
cmp r0, #1
bne _02169634
ldrsh r0, [r4, #0xc]
bl func_0202bbbc
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02169624
_021695d8: ; jump table
b _021695fc ; case 0
b _021695e8 ; case 1
b _02169610 ; case 2
b _02169624 ; case 3
_021695e8:
ldr r0, [r4, #0x20]
add r0, r0, #0x3fc
add r0, r0, #0x400
str r0, [r4, #0x20]
b _02169634
_021695fc:
ldr r0, [r4, #0x20]
add r0, r0, #0x3fc
add r0, r0, #0x400
str r0, [r4, #0x20]
b _02169634
_02169610:
ldr r0, [r4, #0x18]
add r0, r0, #0x3fc
add r0, r0, #0x400
str r0, [r4, #0x18]
b _02169634
_02169624:
ldr r0, [r4, #0x18]
add r0, r0, #0x3fc
add r0, r0, #0x400
str r0, [r4, #0x18]
_02169634:
add ip, r4, #0x18
ldmia ip, {r0, r1, r2}
add lr, sp, #0x54
stmia lr, {r0, r1, r2}
ldmia ip, {r0, r1, r2}
mov ip, #0x800
add r3, sp, #0x48
stmia r3, {r0, r1, r2}
mov r3, #0
add r1, sp, #0x3c
mov r0, lr
mov r2, lr
str ip, [sp, #0x3c]
str r3, [sp, #0x40]
str ip, [sp, #0x44]
bl func_01ff9bf8
mov r3, #0x800
add r0, sp, #0x48
add r1, sp, #0x30
mov r2, r0
str r3, [sp, #0x30]
str r3, [sp, #0x34]
str r3, [sp, #0x38]
bl func_01ff9bc4
ldrsh r0, [r4, #0xc]
bl func_0202bbbc
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02169808
_021696a8: ; jump table
b _02169728 ; case 0
b _021696b8 ; case 1
b _02169798 ; case 2
b _02169808 ; case 3
_021696b8:
ldr r1, [sp, #0x54]
ldr r0, _021698fc ; =data_027e0e60
sub r1, r1, #0x1000
str r1, [sp, #0x54]
ldrb r1, [r4, #0x14]
ldrb r3, [r4, #0x15]
ldr r0, [r0]
sub r2, r1, #1
strb r2, [sp, #0x12]
add r1, sp, #0x12
strb r3, [sp, #0x13]
mov r2, #1
bl func_ov00_02082680
ldrh r0, [r4, #0x26]
cmp r0, #1
bne _02169874
ldrb r2, [r4, #0x15]
ldrb r1, [r4, #0x14]
ldr r0, _021698fc ; =data_027e0e60
add ip, r2, #1
sub r3, r1, #1
ldr r0, [r0]
add r1, sp, #0x10
mov r2, #1
strb r3, [sp, #0x10]
strb ip, [sp, #0x11]
bl func_ov00_02082680
b _02169874
_02169728:
ldr r1, [sp, #0x48]
ldr r0, _021698fc ; =data_027e0e60
add r1, r1, #0x1000
str r1, [sp, #0x48]
ldrb r1, [r4, #0x14]
ldrb r3, [r4, #0x15]
ldr r0, [r0]
add r2, r1, #1
strb r2, [sp, #0xe]
add r1, sp, #0xe
strb r3, [sp, #0xf]
mov r2, #1
bl func_ov00_02082680
ldrh r0, [r4, #0x26]
cmp r0, #1
bne _02169874
ldrb r2, [r4, #0x15]
ldrb r1, [r4, #0x14]
ldr r0, _021698fc ; =data_027e0e60
add ip, r2, #1
add r3, r1, #1
ldr r0, [r0]
add r1, sp, #0xc
mov r2, #1
strb r3, [sp, #0xc]
strb ip, [sp, #0xd]
bl func_ov00_02082680
b _02169874
_02169798:
ldr r1, [sp, #0x50]
ldr r0, _021698fc ; =data_027e0e60
add r1, r1, #0x1000
str r1, [sp, #0x50]
ldrb r1, [r4, #0x15]
ldrb r2, [r4, #0x14]
ldr r0, [r0]
add r3, r1, #1
strb r2, [sp, #0xa]
add r1, sp, #0xa
strb r3, [sp, #0xb]
mov r2, #1
bl func_ov00_02082680
ldrh r0, [r4, #0x26]
cmp r0, #1
bne _02169874
ldrb r2, [r4, #0x15]
ldrb r1, [r4, #0x14]
ldr r0, _021698fc ; =data_027e0e60
add ip, r2, #1
add r3, r1, #1
ldr r0, [r0]
add r1, sp, #8
mov r2, #1
strb r3, [sp, #8]
strb ip, [sp, #9]
bl func_ov00_02082680
b _02169874
_02169808:
ldr r1, [sp, #0x5c]
ldr r0, _021698fc ; =data_027e0e60
sub r1, r1, #0x1000
str r1, [sp, #0x5c]
ldrb r1, [r4, #0x15]
ldrb r2, [r4, #0x14]
ldr r0, [r0]
sub r3, r1, #1
strb r2, [sp, #6]
add r1, sp, #6
strb r3, [sp, #7]
mov r2, #1
bl func_ov00_02082680
ldrh r0, [r4, #0x26]
cmp r0, #1
bne _02169874
ldrb r2, [r4, #0x15]
ldrb r1, [r4, #0x14]
ldr r0, _021698fc ; =data_027e0e60
sub ip, r2, #1
add r3, r1, #1
ldr r0, [r0]
add r1, sp, #4
mov r2, #1
strb r3, [sp, #4]
strb ip, [sp, #5]
bl func_ov00_02082680
_02169874:
mov r1, #0
bic r1, r1, #0x6000
orr r1, r1, #0x4000
bic r1, r1, #0x1f
orr r1, r1, #9
orr ip, r1, #0x3cc00000
add r0, sp, #0x54
add r3, sp, #0x18
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
add r0, sp, #0x48
add r3, sp, #0x24
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r4
str ip, [sp, #0x14]
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #0x14]
ldr ip, [ip, #0x14]
add r1, sp, #0x18
blx ip
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
add sp, sp, #0x60
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02169598
_021698fc: .word data_027e0e60
.global func_ov17_02169900
arm_func_start func_ov17_02169900
func_ov17_02169900: ; 0x02169900
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x1c
mov r4, r0
ldrb r1, [r4, #0x15]
ldrb r0, [r4, #0x14]
strb r1, [sp, #5]
strb r0, [sp, #4]
ldrsh r0, [r4, #0xc]
bl func_0202bbbc
cmp r0, #3
addls pc, pc, r0, lsl #2
b _021699b8
_02169930: ; jump table
b _02169960 ; case 0
b _02169940 ; case 1
b _0216998c ; case 2
b _021699b8 ; case 3
_02169940:
mov r0, #0x4000
rsb r0, r0, #0
strh r0, [r4, #0xc]
ldrb r0, [sp, #4]
cmp r0, #1
subhi r0, r0, #2
strhib r0, [sp, #4]
b _021699d4
_02169960:
mov r1, #0x4000
ldr r0, _02169a54 ; =data_027e0e60
strh r1, [r4, #0xc]
ldr r0, [r0]
bl func_ov00_0208335c
ldrb r1, [sp, #4]
sub r0, r0, #2
cmp r1, r0
addlt r0, r1, #2
strltb r0, [sp, #4]
b _021699d4
_0216998c:
mov r1, #0
ldr r0, _02169a54 ; =data_027e0e60
strh r1, [r4, #0xc]
ldr r0, [r0]
bl func_ov00_02083368
ldrb r1, [sp, #5]
sub r0, r0, #2
cmp r1, r0
addlt r0, r1, #2
strltb r0, [sp, #5]
b _021699d4
_021699b8:
mov r0, #0x8000
rsb r0, r0, #0
strh r0, [r4, #0xc]
ldrb r0, [sp, #5]
cmp r0, #1
subhi r0, r0, #2
strhib r0, [sp, #5]
_021699d4:
mov r2, #0
sub r1, r2, #1
mov r0, #1
strh r1, [sp, #0x18]
str r2, [sp, #0x14]
strb r0, [sp, #0x1a]
mov r3, r2
add r1, sp, #8
_021699f4:
mov r0, r2, lsl #0x1
add r2, r2, #1
strh r3, [r1, r0]
cmp r2, #4
blo _021699f4
mov r0, #0
_02169a0c:
strb r0, [r1, #8]
add r3, r3, #1
strb r0, [r1, #0xa]
cmp r3, #2
add r1, r1, #1
blo _02169a0c
ldrh r2, [r4, #0x26]
add r1, sp, #8
ldr r0, _02169a54 ; =data_027e0e60
strh r2, [sp, #0xa]
str r1, [sp]
ldrsh r3, [r4, #0xc]
ldr r0, [r0]
add r2, sp, #4
mov r1, #0x7e
bl func_ov00_020828c0
add sp, sp, #0x1c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_02169900
_02169a54: .word data_027e0e60
.global func_ov17_02169a58
arm_func_start func_ov17_02169a58
func_ov17_02169a58: ; 0x02169a58
stmdb sp!, {r4, lr}
sub sp, sp, #0x18
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldrne r0, [r4, #8]
cmpne r0, #0
cmpne r0, #1
addeq sp, sp, #0x18
ldmeqia sp!, {r4, pc}
cmp r0, #2
addne sp, sp, #0x18
ldmneia sp!, {r4, pc}
ldr r0, _02169b3c ; =data_027e0f74
ldr r1, [r4, #0x64]
ldr r0, [r0]
bl func_ov00_02097b9c
cmp r0, #0
beq _02169b08
ldr r0, _02169b40 ; =data_027e0fe4
add r1, r4, #0x68
ldr r0, [r0]
bl func_ov00_020c3674
cmp r0, #0
beq _02169adc
ldr r2, [r0, #0x4c]
ldr r1, [r0, #0x50]
ldr r0, [r0, #0x48]
str r0, [r4, #0x70]
str r2, [r4, #0x74]
str r1, [r4, #0x78]
_02169adc:
mov r1, #0
str r1, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _02169b44 ; =data_027e0f64
str r1, [sp, #8]
ldr r0, [r0]
add r2, r4, #0x70
ldr r0, [r0, #4]
mov r3, #0x1e
bl func_ov00_020884b4
_02169b08:
mov r0, r4
bl func_ov17_02169ecc
cmp r0, #0
addeq sp, sp, #0x18
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
add sp, sp, #0x18
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02169a58
_02169b3c: .word data_027e0f74
_02169b40: .word data_027e0fe4
_02169b44: .word data_027e0f64
.global func_ov17_02169b48
arm_func_start func_ov17_02169b48
func_ov17_02169b48: ; 0x02169b48
stmdb sp!, {r4, lr}
sub sp, sp, #0xb0
mov r4, r0
str r1, [r4, #8]
cmp r1, #0
beq _02169b74
cmp r1, #1
beq _02169bb0
cmp r1, #2
beq _02169c1c
b _02169c98
_02169b74:
ldr r1, [r4, #4]
mvn r0, #0
orr r1, r1, #4
str r1, [r4, #4]
str r0, [r4, #0x68]
str r0, [r4, #0x6c]
ldr r1, [r4, #0x64]
cmp r1, r0
beq _02169c98
ldr r0, _02169ca4 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097bcc
mvn r0, #0
str r0, [r4, #0x64]
b _02169c98
_02169bb0:
ldr r1, [r4, #4]
bic r1, r1, #4
str r1, [r4, #4]
bl func_ov17_02169d4c
cmp r0, #1
beq _02169bd4
cmp r0, #2
beq _02169bec
b _02169c04
_02169bd4:
ldr r0, _02169ca8 ; =data_027e0ffc
ldr r1, _02169cac ; =0x0000034e
add r2, r4, #0x18
mov r3, #0
bl func_ov00_020ceacc
b _02169c98
_02169bec:
ldr r0, _02169ca8 ; =data_027e0ffc
ldr r1, _02169cb0 ; =0x0000034f
add r2, r4, #0x18
mov r3, #0
bl func_ov00_020ceacc
b _02169c98
_02169c04:
ldr r0, _02169ca8 ; =data_027e0ffc
add r2, r4, #0x18
mov r1, #0x350
mov r3, #0
bl func_ov00_020ceacc
b _02169c98
_02169c1c:
add r0, sp, #0
bl func_ov00_0209a4f4
mvn ip, #0
mov r3, #0x1e
mov r2, #3
mov r0, #0
mov r1, #6
strb r0, [sp, #0x16]
str ip, [sp, #4]
strb r3, [sp, #9]
strb r2, [sp, #0xa]
strb r1, [sp, #0xb]
ldr r1, [r4, #0x18]
ldr r0, _02169ca4 ; =data_027e0f74
str r1, [sp, #0x20]
ldr r2, [r4, #0x1c]
add r1, sp, #0
str r2, [sp, #0x24]
ldr r2, [r4, #0x20]
str r2, [sp, #0x28]
ldr r2, [r4, #0x18]
str r2, [r4, #0x70]
ldr r2, [r4, #0x1c]
str r2, [r4, #0x74]
ldr r2, [r4, #0x20]
str r2, [r4, #0x78]
ldr r0, [r0]
bl func_ov00_02097810
str r0, [r4, #0x64]
add r0, sp, #0
bl func_ov00_0209a508
_02169c98:
mov r0, #1
add sp, sp, #0xb0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02169b48
_02169ca4: .word data_027e0f74
_02169ca8: .word data_027e0ffc
_02169cac: .word 0x0000034e
_02169cb0: .word 0x0000034f
.global func_ov17_02169cb4
arm_func_start func_ov17_02169cb4
func_ov17_02169cb4: ; 0x02169cb4
stmdb sp!, {r3, lr}
cmp r1, #0xb
ble _02169cec
ldr r0, _02169cf4 ; =data_027e0fe4
ldr r0, [r0]
bl func_ov00_020c35d8
cmp r0, #0
beq _02169cec
ldr r1, [r0, #4]
ldr r0, _02169cf8 ; =0x42494752
cmp r1, r0
bne _02169cec
mov r0, #0
ldmia sp!, {r3, pc}
_02169cec:
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_02169cb4
_02169cf4: .word data_027e0fe4
_02169cf8: .word 0x42494752
.global func_ov17_02169cfc
arm_func_start func_ov17_02169cfc
func_ov17_02169cfc: ; 0x02169cfc
stmdb sp!, {r3, lr}
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
mov r0, #1
ldmia sp!, {r3, pc}
arm_func_end func_ov17_02169cfc
.global func_ov17_02169d1c
arm_func_start func_ov17_02169d1c
func_ov17_02169d1c: ; 0x02169d1c
stmdb sp!, {r3, lr}
ldr r1, [r0, #8]
cmp r1, #1
bne _02169d40
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, r1
blx r3
_02169d40:
mov r0, #1
ldmia sp!, {r3, pc}
arm_func_end func_ov17_02169d1c
.global func_ov17_02169d48
arm_func_start func_ov17_02169d48
func_ov17_02169d48: ; 0x02169d48
bx lr
arm_func_end func_ov17_02169d48
.global func_ov17_02169d4c
arm_func_start func_ov17_02169d4c
func_ov17_02169d4c: ; 0x02169d4c
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0x2c
ldr r2, _02169eb8 ; =0x00001333
mov r5, #0
mov r1, #0x5000
mov r6, r0
str r5, [sp, #0x20]
str r2, [sp, #0x24]
str r1, [sp, #0x28]
ldrh r0, [r6, #0x24]
ldrsh r1, [r6, #0xc]
cmp r0, #1
add r0, sp, #0x20
moveq r5, #1
bl func_ov00_020a61ac
add r0, sp, #0x20
add r1, r6, #0x18
mov r2, r0
bl func_01ff9bc4
ldr r1, _02169ebc ; =data_027e0fe4
ldr r2, _02169ec0 ; =0x42494752
ldr r1, [r1]
add r0, sp, #0
add r3, r6, #0x18
bl func_ov00_020c38fc
ldr r1, [sp]
mvn r0, #0
cmp r1, r0
beq _02169e50
ldr r0, _02169ebc ; =data_027e0fe4
add r1, sp, #0
ldr r0, [r0]
bl func_ov00_020c3674
movs r4, r0
beq _02169e50
bl func_ov50_021965b4
cmp r0, #0
bne _02169e50
ldr r1, [r4, #0x48]
add r0, sp, #0x14
str r1, [sp, #0x14]
ldr r2, [r4, #0x4c]
add r1, r6, #0x18
str r2, [sp, #0x18]
ldr r2, [r4, #0x50]
str r2, [sp, #0x1c]
bl func_01ff9ec0
cmp r0, #0x800
bge _02169e50
ldr r0, [sp]
add r1, sp, #0x20
str r0, [r6, #0x68]
ldr r2, [sp, #4]
mov r0, r4
str r2, [r6, #0x6c]
bl func_ov50_02196508
mov r0, r6
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
add sp, sp, #0x2c
mov r0, #2
ldmia sp!, {r3, r4, r5, r6, pc}
_02169e50:
ldr r1, _02169ec4 ; =data_027e0f94
add r0, r6, #0x38
ldr r3, [r1]
ldr r2, [r1, #4]
str r3, [sp, #8]
str r2, [sp, #0xc]
ldr r2, [r1, #8]
add r1, sp, #8
str r2, [sp, #0x10]
ldr r2, [r0]
ldr r2, [r2, #0x4c]
blx r2
cmp r0, #0
beq _02169eac
ldr r0, _02169ec8 ; =data_027e0fc8
add r1, sp, #0x20
ldr r0, [r0]
mov r2, r5
bl func_ov00_020bd0bc
cmp r0, #0
addne sp, sp, #0x2c
movne r0, #1
ldmneia sp!, {r3, r4, r5, r6, pc}
_02169eac:
mov r0, #0
add sp, sp, #0x2c
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov17_02169d4c
_02169eb8: .word 0x00001333
_02169ebc: .word data_027e0fe4
_02169ec0: .word 0x42494752
_02169ec4: .word data_027e0f94
_02169ec8: .word data_027e0fc8
.global func_ov17_02169ecc
arm_func_start func_ov17_02169ecc
func_ov17_02169ecc: ; 0x02169ecc
stmdb sp!, {lr}
sub sp, sp, #0xc
ldr r2, [r0, #0x68]
mvn r1, #0
cmp r2, r1
addeq sp, sp, #0xc
moveq r0, #1
ldmeqia sp!, {pc}
ldr r2, _02169f48 ; =data_027e0fe4
add r1, r0, #0x68
ldr r0, [r2]
bl func_ov00_020c3674
cmp r0, #0
addeq sp, sp, #0xc
moveq r0, #1
ldmeqia sp!, {pc}
ldrb r1, [r0, #0x11a]
cmp r1, #0
addeq sp, sp, #0xc
moveq r0, #1
ldmeqia sp!, {pc}
ldr r1, [r0, #0x60]
ldr r2, [r0, #0x64]
cmp r1, #0
ldr r0, [r0, #0x68]
cmpeq r2, #0
cmpeq r0, #0
moveq r0, #1
movne r0, #0
add sp, sp, #0xc
ldmia sp!, {pc}
.align 2, 0
arm_func_end func_ov17_02169ecc
_02169f48: .word data_027e0fe4
.global func_ov17_02169f4c
arm_func_start func_ov17_02169f4c
func_ov17_02169f4c: ; 0x02169f4c
mov r0, #0x7d
bx lr
arm_func_end func_ov17_02169f4c
.global func_ov17_02169f54
arm_func_start func_ov17_02169f54
func_ov17_02169f54: ; 0x02169f54
stmdb sp!, {r4, lr}
ldr r1, _02169f90 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xb0
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
mov r2, #4
mov r3, #0
bl func_ov17_02169fb4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02169f54
_02169f90: .word data_027e0f84
.global func_ov17_02169f94
arm_func_start func_ov17_02169f94
func_ov17_02169f94: ; 0x02169f94
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02126634
ldr r1, _02169fb0 ; =data_ov17_0216cd0c
mov r0, r4
str r1, [r4]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02169f94
_02169fb0: .word data_ov17_0216cd0c
.global func_ov17_02169fb4
arm_func_start func_ov17_02169fb4
func_ov17_02169fb4: ; 0x02169fb4
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02126634
ldr r1, _02169fd0 ; =data_ov17_0216cd0c
mov r0, r4
str r1, [r4]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_02169fb4
_02169fd0: .word data_ov17_0216cd0c
.global func_ov17_02169fd4
arm_func_start func_ov17_02169fd4
func_ov17_02169fd4: ; 0x02169fd4
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_0212680c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02169fd4
.global func_ov17_02169fe8
arm_func_start func_ov17_02169fe8
func_ov17_02169fe8: ; 0x02169fe8
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_0212680c
mov r0, r4
bl _ZN9SysObjectdlEPv
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_02169fe8
.global func_ov17_0216a004
arm_func_start func_ov17_0216a004
func_ov17_0216a004: ; 0x0216a004
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_0212680c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0216a004
.global func_ov17_0216a018
arm_func_start func_ov17_0216a018
func_ov17_0216a018: ; 0x0216a018
mov r0, #0x66
bx lr
arm_func_end func_ov17_0216a018
.global func_ov17_0216a020
arm_func_start func_ov17_0216a020
func_ov17_0216a020: ; 0x0216a020
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02126854
mov r0, #0x23
strh r0, [r4, #0x70]
mov r0, #0xf
strh r0, [r4, #0x72]
mov r0, #0x28
strh r0, [r4, #0x74]
mov r0, #1
strb r0, [r4, #0x84]
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0216a020
.global func_ov17_0216a050
arm_func_start func_ov17_0216a050
func_ov17_0216a050: ; 0x0216a050
stmdb sp!, {r3, lr}
ldr r3, [r0]
mov r1, #8
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
ldmia sp!, {r3, pc}
arm_func_end func_ov17_0216a050
.global func_ov17_0216a06c
arm_func_start func_ov17_0216a06c
func_ov17_0216a06c: ; 0x0216a06c
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
bl func_ov14_02126b04
mov r0, r5
ldr r2, [r0]
mov r1, r4
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r0, [r5, #8]
cmp r0, #0
cmpne r0, #1
ldmneia sp!, {r3, r4, r5, pc}
ldrb r0, [r5, #0x7c]
cmp r0, #0
beq _0216a0cc
ldr r0, _0216a0f4 ; =data_027e0f74
ldr r1, [r5, #0x64]
ldr r0, [r0]
bl func_ov00_02097b9c
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
_0216a0cc:
ldr r0, _0216a0f4 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02098058
cmp r0, #0xa
ldmneia sp!, {r3, r4, r5, pc}
ldr r0, _0216a0f8 ; =data_027e0fc8
mov r1, #0
ldr r0, [r0]
bl func_ov00_020bcfb8
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0216a06c
_0216a0f4: .word data_027e0f74
_0216a0f8: .word data_027e0fc8
.global func_ov17_0216a0fc
arm_func_start func_ov17_0216a0fc
func_ov17_0216a0fc: ; 0x0216a0fc
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0xb0
mov r5, r0
mov r4, r2
str r1, [r5, #8]
cmp r1, #8
addls pc, pc, r1, lsl #2
b _0216a324
_0216a11c: ; jump table
b _0216a2cc ; case 0
b _0216a324 ; case 1
b _0216a2f4 ; case 2
b _0216a140 ; case 3
b _0216a250 ; case 4
b _0216a324 ; case 5
b _0216a324 ; case 6
b _0216a324 ; case 7
b _0216a2fc ; case 8
_0216a140:
ldr r1, [r0]
ldr r1, [r1, #0xa4]
blx r1
mov r0, r5
bl func_ov00_0208b930
cmp r0, #0x4000
bge _0216a16c
mov r1, #0x4000
rsb r1, r1, #0
cmp r0, r1
bgt _0216a178
_0216a16c:
mov r0, #0
strb r0, [r5, #0x82]
b _0216a180
_0216a178:
mov r0, #1
strb r0, [r5, #0x82]
_0216a180:
ldr r0, [r5, #0x68]
mov r1, #0x1000
rsb r0, r0, #0x1000
bl func_01ff98e0
ldrh r2, [r5, #0x70]
mov r1, #0
mov r2, r2, lsl #0xc
smull r3, r0, r2, r0
adds r2, r3, #0x800
adc r0, r0, #0
mov r2, r2, lsr #0xc
orr r2, r2, r0, lsl #20
add r0, r2, #0x800
mov r0, r0, asr #0xc
strh r0, [r5, #0x78]
ldrb r0, [r5, #0x81]
cmp r0, #0
strneh r1, [r5, #0x7a]
ldrneb r0, [r5, #0x7c]
cmpne r0, #0
beq _0216a330
cmp r4, #0
bne _0216a330
add r0, sp, #0
bl func_ov00_0209a4f4
ldr r0, _0216a33c ; =data_ov17_0216b1f8
ldrh r2, [r5, #0x70]
ldrh r3, [r0, #0x10]
mov r0, #6
mov r1, #0x2d
add r2, r3, r2
add r2, r2, #1
str r2, [sp, #4]
strb r0, [sp, #0xa]
strb r0, [sp, #0xb]
strb r1, [sp, #9]
ldr r1, [r5, #0x18]
ldr r0, _0216a340 ; =data_027e0f74
str r1, [sp, #0x20]
ldr r1, [r5, #0x1c]
ldr r0, [r0]
str r1, [sp, #0x24]
ldr r2, [r5, #0x20]
add r1, sp, #0
str r2, [sp, #0x28]
ldrb r2, [r5, #0x36]
strb r2, [sp, #0x10]
bl func_ov00_02097810
str r0, [r5, #0x64]
add r0, sp, #0
bl func_ov00_0209a508
b _0216a330
_0216a250:
ldr r1, [r0]
ldr r1, [r1, #0xa4]
blx r1
ldrb r0, [r5, #0x81]
cmp r0, #0
ldrneb r0, [r5, #0x7c]
cmpne r0, #0
beq _0216a330
cmp r4, #0
bne _0216a330
ldrb r0, [r5, #0x7d]
cmp r0, #0
beq _0216a330
ldrsh r0, [r5, #0xc]
bl func_0202bbbc
cmp r0, #0
cmpne r0, #1
mov r2, #0
bne _0216a2b4
ldr r0, _0216a344 ; =data_027e0e60
add r1, r5, #0x18
ldr r0, [r0]
mov r3, #2
bl func_ov00_02084a5c
b _0216a330
_0216a2b4:
ldr r0, _0216a344 ; =data_027e0e60
add r1, r5, #0x18
ldr r0, [r0]
mov r3, #1
bl func_ov00_02084a5c
b _0216a330
_0216a2cc:
bl func_ov14_02127188
mov r0, r5
mov r1, #1
mov r2, #0
bl func_ov00_0208ba08
mov r0, r5
mov r1, #0
mov r2, #1
bl func_ov00_0208ba08
b _0216a330
_0216a2f4:
bl func_ov14_02127188
b _0216a330
_0216a2fc:
bl func_ov14_02127188
mov r1, #0
mov r0, r5
mov r2, r1
bl func_ov00_0208ba08
ldr r0, _0216a344 ; =data_027e0e60
ldrh r1, [r5, #0x24]
ldr r0, [r0]
bl func_ov00_02083840
b _0216a330
_0216a324:
mov r0, r5
mov r2, r4
bl func_ov14_02127188
_0216a330:
mov r0, #1
add sp, sp, #0xb0
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0216a0fc
_0216a33c: .word data_ov17_0216b1f8
_0216a340: .word data_027e0f74
_0216a344: .word data_027e0e60
.global func_ov17_0216a348
arm_func_start func_ov17_0216a348
func_ov17_0216a348: ; 0x0216a348
stmdb sp!, {r4, lr}
mov r4, r0
ldrh r1, [r4, #0x26]
cmp r1, #1
bne _0216a3d8
bl func_ov14_021276c4
cmp r0, #0
movne r0, #1
ldmneia sp!, {r4, pc}
ldr r0, _0216a3e0 ; =data_027e0e60
ldrh r1, [r4, #0x24]
ldr r0, [r0]
mov r2, #0
bl func_ov00_020836dc
cmp r0, #0
moveq r0, #1
ldmeqia sp!, {r4, pc}
ldrh r1, [r4, #0x24]
cmp r1, #0
beq _0216a3b8
ldr r0, _0216a3e4 ; =data_027e0fe4
mov r2, #0
ldr r0, [r0]
bl func_ov00_020c3bb0
cmp r0, #0
moveq r0, #1
movne r0, #0
ldmia sp!, {r4, pc}
_0216a3b8:
ldr r0, _0216a3e4 ; =data_027e0fe4
mov r1, #0
ldr r0, [r0]
bl func_ov00_020c3b2c
cmp r0, #0
moveq r0, #1
movne r0, #0
ldmia sp!, {r4, pc}
_0216a3d8:
bl func_ov14_021276c4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216a348
_0216a3e0: .word data_027e0e60
_0216a3e4: .word data_027e0fe4
.global func_ov17_0216a3e8
arm_func_start func_ov17_0216a3e8
func_ov17_0216a3e8: ; 0x0216a3e8
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_0208c468
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
ldrh r0, [r4, #0x28]
cmp r0, #1
bne _0216a428
mov r0, r4
mov r1, #1
bl func_ov00_0208b9e4
cmp r0, #0
beq _0216a444
mov r0, #1
ldmia sp!, {r4, pc}
_0216a428:
ldr r0, _0216a4a4 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084cc8
cmp r0, #0
movne r0, #1
ldmneia sp!, {r4, pc}
_0216a444:
ldrh r1, [r4, #0x24]
cmp r1, #0
beq _0216a484
ldr r0, _0216a4a8 ; =data_027e0fe4
mov r2, #0
ldr r0, [r0]
bl func_ov00_020c3bb0
cmp r0, #0
movne r0, #0
ldmneia sp!, {r4, pc}
ldr r0, _0216a4a4 ; =data_027e0e60
ldrh r1, [r4, #0x24]
ldr r0, [r0]
bl func_ov00_02083840
mov r0, #1
ldmia sp!, {r4, pc}
_0216a484:
ldr r0, _0216a4a8 ; =data_027e0fe4
mov r1, #0
ldr r0, [r0]
bl func_ov00_020c3b2c
cmp r0, #0
moveq r0, #1
movne r0, #0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216a3e8
_0216a4a4: .word data_027e0e60
_0216a4a8: .word data_027e0fe4
.global func_ov17_0216a4ac
arm_func_start func_ov17_0216a4ac
func_ov17_0216a4ac: ; 0x0216a4ac
stmdb sp!, {r4, lr}
ldr r1, _0216a5ac ; =data_027e077c
mov r4, r0
ldr r2, [r1]
cmp r2, #1
movne r0, #0
ldmneia sp!, {r4, pc}
ldr r1, [r1, #4]
cmp r2, r1
movne r0, #0
ldmneia sp!, {r4, pc}
ldrh r1, [r4, #0x26]
cmp r1, #1
bne _0216a5a4
ldrh r1, [r4, #0x28]
cmp r1, #1
bne _0216a508
mov r1, #1
bl func_ov00_0208b9e4
cmp r0, #0
beq _0216a524
mov r0, #0
ldmia sp!, {r4, pc}
_0216a508:
ldr r0, _0216a5b0 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084cc8
cmp r0, #0
movne r0, #0
ldmneia sp!, {r4, pc}
_0216a524:
ldrh r1, [r4, #0x24]
cmp r1, #0
beq _0216a550
ldr r0, _0216a5b4 ; =data_027e0fe4
mov r2, #0
ldr r0, [r0]
bl func_ov00_020c3bb0
cmp r0, #0
bne _0216a56c
mov r0, #0
ldmia sp!, {r4, pc}
_0216a550:
ldr r0, _0216a5b4 ; =data_027e0fe4
mov r1, #0
ldr r0, [r0]
bl func_ov00_020c3b2c
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
_0216a56c:
ldr r0, _0216a5b0 ; =data_027e0e60
ldrh r1, [r4, #0x24]
ldr r0, [r0]
mov r2, #0
bl func_ov00_020836dc
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, _0216a5b0 ; =data_027e0e60
ldrh r1, [r4, #0x24]
ldr r0, [r0]
bl func_ov00_02083790
mov r0, #1
ldmia sp!, {r4, pc}
_0216a5a4:
mov r0, #0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216a4ac
_0216a5ac: .word data_027e077c
_0216a5b0: .word data_027e0e60
_0216a5b4: .word data_027e0fe4
.global func_ov17_0216a5b8
arm_func_start func_ov17_0216a5b8
func_ov17_0216a5b8: ; 0x0216a5b8
stmdb sp!, {r4, lr}
sub sp, sp, #0x30
mov r4, r0
ldrh r1, [r4, #0xc]
ldr r3, _0216a630 ; =data_02050f54
add r0, sp, #0xc
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
add r1, r2, #1
mov ip, r2, lsl #0x1
mov r2, r1, lsl #0x1
ldrsh r1, [r3, ip]
ldrsh r2, [r3, r2]
blx func_01ff8214
add r0, r4, #0x18
add ip, sp, #0
ldmia r0, {r0, r1, r2}
stmia ip, {r0, r1, r2}
ldr r2, [sp, #4]
ldr r1, [r4, #0x68]
add r0, r4, #0x90
sub r1, r2, r1, lsl #1
str r1, [sp, #4]
ldr r3, [r0]
add r1, sp, #0xc
ldr r3, [r3, #0x14]
mov r2, ip
blx r3
add sp, sp, #0x30
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216a5b8
_0216a630: .word data_02050f54
.global func_ov17_0216a634
arm_func_start func_ov17_0216a634
func_ov17_0216a634: ; 0x0216a634
stmdb sp!, {r4, lr}
sub sp, sp, #8
mov r4, r0
ldr r0, [r4, #8]
cmp r0, #8
addls pc, pc, r0, lsl #2
b _0216a6b0
_0216a650: ; jump table
b _0216a6b0 ; case 0
b _0216a724 ; case 1
b _0216a724 ; case 2
b _0216a724 ; case 3
b _0216a724 ; case 4
b _0216a674 ; case 5
b _0216a724 ; case 6
b _0216a724 ; case 7
b _0216a724 ; case 8
_0216a674:
ldrsh r0, [r4, #0x78]
cmp r0, #0
addle sp, sp, #8
ldmleia sp!, {r4, pc}
ldrb r2, [r4, #0x15]
mov r1, #0
ldr r0, _0216a72c ; =data_027e0ffc
str r2, [sp]
str r1, [sp, #4]
ldrb r3, [r4, #0x14]
add r2, r4, #0x18
mov r1, #0x1b4
bl func_ov00_020cecd8
add sp, sp, #8
ldmia sp!, {r4, pc}
_0216a6b0:
ldr r0, _0216a730 ; =data_027e0f74
ldr r1, [r4, #0x64]
ldr r0, [r0]
bl func_ov00_02097b9c
cmp r0, #0
beq _0216a710
ldrb r2, [r4, #0x15]
mov r1, #0
ldr r0, _0216a72c ; =data_027e0ffc
str r2, [sp]
str r1, [sp, #4]
ldrb r3, [r4, #0x14]
add r2, r4, #0x18
mov r1, #0x1b4
bl func_ov00_020cecd8
ldr r1, [r4, #0x9c]
cmp r1, #0
addeq sp, sp, #8
ldmeqia sp!, {r4, pc}
ldr r0, [r1, #0x24]
add sp, sp, #8
bic r0, r0, #8
str r0, [r1, #0x24]
ldmia sp!, {r4, pc}
_0216a710:
ldr r1, [r4, #0x9c]
cmp r1, #0
ldrne r0, [r1, #0x24]
orrne r0, r0, #8
strne r0, [r1, #0x24]
_0216a724:
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216a634
_0216a72c: .word data_027e0ffc
_0216a730: .word data_027e0f74
.global func_ov17_0216a734
arm_func_start func_ov17_0216a734
func_ov17_0216a734: ; 0x0216a734
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x4c
mov r5, r0
ldr r4, [r5, #0x20]
ldr r3, [r5, #0x1c]
ldr r2, [r5, #0x18]
mov r1, #0
ldr r0, _0216a808 ; =0x00000b33
str r2, [sp, #0x40]
str r3, [sp, #0x44]
str r4, [sp, #0x48]
str r1, [sp, #0x34]
str r1, [sp, #0x38]
str r0, [sp, #0x3c]
ldrsh r0, [r5, #0xc]
mov r1, r0, lsl #0x10
mov r4, r1, lsr #0x10
bl func_0202bbbc
cmp r0, #3
ldreq r0, [r5, #8]
ldr r2, _0216a80c ; =data_02050f54
cmpeq r0, #5
moveq r4, #0
mov r0, r4, asr #0x4
mov r1, r0, lsl #0x1
add r0, r1, #1
mov r1, r1, lsl #0x1
mov r0, r0, lsl #0x1
ldrsh r1, [r2, r1]
ldrsh r2, [r2, r0]
add r0, sp, #4
blx func_01ff8aa0
add r0, sp, #0x34
add r1, sp, #4
mov r2, r0
bl func_01ff9158
add r0, sp, #0x40
add r1, sp, #0x34
mov r2, r0
bl func_01ff9bc4
mov r0, #4
str r0, [sp]
ldr r0, _0216a810 ; =data_027e0e58
ldr r2, _0216a814 ; =0x00000272
ldr r0, [r0]
add r1, r5, #0x9c
add r3, sp, #0x40
bl func_ov00_0207c1f8
ldr r0, [r5, #0x9c]
cmp r0, #0
strneh r4, [r0, #0xa4]
add sp, sp, #0x4c
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov17_0216a734
_0216a808: .word 0x00000b33
_0216a80c: .word data_02050f54
_0216a810: .word data_027e0e58
_0216a814: .word 0x00000272
.global func_ov17_0216a818
arm_func_start func_ov17_0216a818
func_ov17_0216a818: ; 0x0216a818
stmdb sp!, {r4, lr}
ldr r1, _0216a84c ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0xd4
ldr r1, [r1]
mov r2, #4
bl _ZN9SysObjectnwEmPjj
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov17_0216a850
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216a818
_0216a84c: .word data_027e0f84
.global func_ov17_0216a850
arm_func_start func_ov17_0216a850
func_ov17_0216a850: ; 0x0216a850
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
bl func_ov00_0208b5bc
ldr r1, _0216a8dc ; =data_ov00_020e26b4
ldr r0, _0216a8e0 ; =data_ov00_020e2f04
str r1, [r4]
str r0, [r4, #0x38]
mov r0, #1
strb r0, [r4, #0x3c]
mov r1, #0
strb r1, [r4, #0x3d]
str r1, [r4, #0x40]
str r1, [r4, #0x44]
mov r0, #3
ldr r3, _0216a8e4 ; =data_ov00_020e2dd8
str r1, [r4, #0x48]
ldr r2, _0216a8e8 ; =data_ov17_0216cdc4
str r3, [r4, #0x38]
str r2, [r4]
str r0, [r4, #0x64]
sub r2, r0, #4
add r0, r4, #0x6c
str r2, [r4, #0x68]
blx func_ov00_020a9588
ldr ip, _0216a8ec ; =func_ov00_020b7d74
ldr r3, _0216a8f0 ; =func_ov17_0215bf80
add r0, r4, #0xc8
mov r1, #3
mov r2, #4
str ip, [sp]
bl func_0204f614
mov r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov17_0216a850
_0216a8dc: .word data_ov00_020e26b4
_0216a8e0: .word data_ov00_020e2f04
_0216a8e4: .word data_ov00_020e2dd8
_0216a8e8: .word data_ov17_0216cdc4
_0216a8ec: .word func_ov00_020b7d74
_0216a8f0: .word func_ov17_0215bf80
.global func_ov17_0216a8f4
arm_func_start func_ov17_0216a8f4
func_ov17_0216a8f4: ; 0x0216a8f4
stmdb sp!, {r3, r4, r5, r6, r7, lr}
ldr r1, _0216a96c ; =data_ov17_0216cdc4
mov r7, r0
ldr r0, _0216a970 ; =data_027e0e58
str r1, [r7]
ldr r4, [r0]
add r6, r7, #0xc8
mov r5, #0
_0216a914:
mov r0, r4
mov r1, r6
bl func_ov00_0207c444
add r5, r5, #1
cmp r5, #3
add r6, r6, #4
blo _0216a914
ldr r3, _0216a974 ; =func_ov00_020b7d74
add r0, r7, #0xc8
mov r1, #3
mov r2, #4
bl func_0204f754
add r0, r7, #0x6c
blx func_ov00_020a95a4
add r0, r7, #0x38
bl func_ov00_02094824
mov r0, r7
bl func_ov00_0208b5a4
mov r0, r7
bl _ZN9SysObjectdlEPv
mov r0, r7
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov17_0216a8f4
_0216a96c: .word data_ov17_0216cdc4
_0216a970: .word data_027e0e58
_0216a974: .word func_ov00_020b7d74
.global func_ov17_0216a978
arm_func_start func_ov17_0216a978
func_ov17_0216a978: ; 0x0216a978
stmdb sp!, {r3, r4, r5, r6, r7, lr}
ldr r1, _0216a9e8 ; =data_ov17_0216cdc4
mov r7, r0
ldr r0, _0216a9ec ; =data_027e0e58
str r1, [r7]
ldr r4, [r0]
add r6, r7, #0xc8
mov r5, #0
_0216a998:
mov r0, r4
mov r1, r6
bl func_ov00_0207c444
add r5, r5, #1
cmp r5, #3
add r6, r6, #4
blo _0216a998
ldr r3, _0216a9f0 ; =func_ov00_020b7d74
add r0, r7, #0xc8
mov r1, #3
mov r2, #4
bl func_0204f754
add r0, r7, #0x6c
blx func_ov00_020a95a4
add r0, r7, #0x38
bl func_ov00_02094824
mov r0, r7
bl func_ov00_0208b5a4
mov r0, r7
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov17_0216a978
_0216a9e8: .word data_ov17_0216cdc4
_0216a9ec: .word data_027e0e58
_0216a9f0: .word func_ov00_020b7d74
.global func_ov17_0216a9f4
arm_func_start func_ov17_0216a9f4
func_ov17_0216a9f4: ; 0x0216a9f4
mov r0, #0x9a
bx lr
arm_func_end func_ov17_0216a9f4
.global func_ov17_0216a9fc
arm_func_start func_ov17_0216a9fc
func_ov17_0216a9fc: ; 0x0216a9fc
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x50
mov r4, r0
ldrh r0, [r4, #0x24]
ldr r1, _0216abf0 ; =data_ov17_0216b20c
str r0, [r4, #0x64]
cmp r0, #3
movge r0, #0
strge r0, [r4, #0x64]
ldr r0, _0216abf4 ; =data_027e0f68
ldr r2, [r4, #0x64]
ldr r0, [r0]
ldr r1, [r1, r2, lsl #2]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x6c
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r1, [r4, #4]
mov r0, #4
orr r1, r1, #4
str r1, [r4, #4]
strb r0, [r4, #0x12]
ldr r0, [r4, #0x18]
ldr r2, _0216abf8 ; =data_027e0e60
add r0, r0, #0x3fc
add r0, r0, #0x400
str r0, [r4, #0x18]
ldr r0, [r4, #0x20]
add r1, r4, #0x18
add r0, r0, #0x3fc
add r0, r0, #0x400
str r0, [r4, #0x20]
ldr r0, [r2]
mov r2, #1
bl func_ov00_02083f44
add r6, r4, #0x18
str r0, [r4, #0x1c]
ldmia r6, {r0, r1, r2}
add r5, sp, #0x44
stmia r5, {r0, r1, r2}
ldmia r6, {r0, r1, r2}
mov ip, #0x800
add lr, sp, #0x38
stmia lr, {r0, r1, r2}
mov r3, #0
mov r0, r5
mov r2, r5
add r1, sp, #0x14
str r3, [sp, #0x18]
str ip, [sp, #0x14]
str ip, [sp, #0x1c]
bl func_01ff9bf8
mov r0, #0x800
str r0, [sp, #8]
str r0, [sp, #0x10]
mov r0, #0x1000
str r0, [sp, #0xc]
add r0, sp, #0x38
add r1, sp, #8
mov r2, r0
bl func_01ff9bc4
mov r0, #0
bic r0, r0, #0x1f
orr r0, r0, #9
mov r1, r5
str r0, [sp, #4]
add lr, sp, #0x20
ldmia r1, {r0, r1, r2}
stmia lr, {r0, r1, r2}
add ip, sp, #0x38
add r3, sp, #0x2c
ldmia ip, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r4
bl func_ov00_0208b9cc
mov r2, r0
mov r0, #0
str r0, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x14]
add r1, sp, #0x20
blx ip
ldr r0, _0216abf8 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
bl func_ov00_02084cc8
cmp r0, #0
beq _0216ab90
mov r0, r4
ldr r3, [r0]
mov r1, #4
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
add sp, sp, #0x50
ldmia sp!, {r4, r5, r6, pc}
_0216ab90:
ldrb r0, [r4, #0x2f]
cmp r0, #0
beq _0216abb0
mov r0, r4
mov r1, #1
bl func_ov00_0208b9e4
cmp r0, #0
beq _0216abd0
_0216abb0:
mov r0, r4
ldr r3, [r0]
mov r1, #3
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
add sp, sp, #0x50
ldmia sp!, {r4, r5, r6, pc}
_0216abd0:
mov r0, r4
ldr r3, [r0]
mov r1, #0
ldr r3, [r3, #0x80]
mov r2, #1
blx r3
add sp, sp, #0x50
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov17_0216a9fc
_0216abf0: .word data_ov17_0216b20c
_0216abf4: .word data_027e0f68
_0216abf8: .word data_027e0e60
.global func_ov17_0216abfc
arm_func_start func_ov17_0216abfc
func_ov17_0216abfc: ; 0x0216abfc
stmdb sp!, {r4, lr}
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x84]
blx r2
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #8]
cmp r0, #4
addls pc, pc, r0, lsl #2
ldmia sp!, {r4, pc}
_0216ac28: ; jump table
b _0216ac3c ; case 0
b _0216ac6c ; case 1
b _0216acb4 ; case 2
ldmia sp!, {r4, pc} ; case 3
ldmia sp!, {r4, pc} ; case 4
_0216ac3c:
mov r0, r4
mov r1, #1
bl func_ov00_0208b9e4
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #1
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r4, pc}
_0216ac6c:
ldr r0, _0216ace8 ; =data_027e0f74
ldr r1, [r4, #0x68]
ldr r0, [r0]
bl func_ov00_02097b9c
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, _0216ace8 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02098058
cmp r0, #0x1e
ldmloia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r4, pc}
_0216acb4:
ldr r0, _0216ace8 ; =data_027e0f74
ldr r1, [r4, #0x68]
ldr r0, [r0]
bl func_ov00_02097bac
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
ldr r3, [r0]
mov r1, #3
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216abfc
_0216ace8: .word data_027e0f74
.global func_ov17_0216acec
arm_func_start func_ov17_0216acec
func_ov17_0216acec: ; 0x0216acec
stmdb sp!, {r4, lr}
mov r4, r0
ldr r1, [r4, #8]
cmp r1, #3
bne _0216ad24
ldr r3, [r0]
mov r1, #4
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
ldr r1, [r4, #0x64]
ldr r0, _0216ad2c ; =data_ov17_0216b218
ldr r0, [r0, r1, lsl #2]
ldmia sp!, {r4, pc}
_0216ad24:
mvn r0, #0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216acec
_0216ad2c: .word data_ov17_0216b218
.global func_ov17_0216ad30
arm_func_start func_ov17_0216ad30
func_ov17_0216ad30: ; 0x0216ad30
stmdb sp!, {r4, lr}
sub sp, sp, #0xc8
mov r4, r0
str r1, [r4, #8]
cmp r1, #4
addls pc, pc, r1, lsl #2
b _0216af20
_0216ad4c: ; jump table
b _0216ad60 ; case 0
b _0216ad7c ; case 1
b _0216add4 ; case 2
b _0216ae74 ; case 3
b _0216aedc ; case 4
_0216ad60:
ldr r1, [r4, #4]
mov r0, #0
bic r1, r1, #4
bic r1, r1, #8
str r1, [r4, #4]
strb r0, [r4, #0x3c]
b _0216af20
_0216ad7c:
add r0, sp, #0x18
bl func_ov00_0209a4f4
mov r0, #0x3c
mov r2, #0x1e
mov r1, #6
str r0, [sp, #0x1c]
ldr r0, _0216af2c ; =data_027e0f74
strb r2, [sp, #0x21]
strb r1, [sp, #0x22]
ldr r1, [r4, #0x18]
ldr r0, [r0]
str r1, [sp, #0x38]
ldr r2, [r4, #0x1c]
add r1, sp, #0x18
str r2, [sp, #0x3c]
ldr r2, [r4, #0x20]
str r2, [sp, #0x40]
bl func_ov00_02097810
str r0, [r4, #0x68]
add r0, sp, #0x18
bl func_ov00_0209a508
b _0216af20
_0216add4:
ldr r1, [r4, #0x1c]
ldr r2, [r4, #0x20]
ldr r0, [r4, #0x18]
add r1, r1, #0x800
str r0, [sp, #0xc]
str r1, [sp, #0x10]
str r2, [sp, #0x14]
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _0216af30 ; =data_027e0e58
add r2, sp, #0xc
ldr r0, [r0]
mov r1, #0x13
mov r3, #4
bl func_ov00_0207c1b0
ldr r0, _0216af34 ; =data_027e0ffc
add r2, r4, #0x18
mov r1, #0x1b0
mov r3, #0
bl func_ov00_020ceacc
ldr r1, [r4, #4]
ldr r0, _0216af38 ; =data_ov17_0216b230
orr r1, r1, #8
str r1, [r4, #4]
ldr r3, [r4, #0x64]
ldr r1, _0216af3c ; =data_ov17_0216b224
ldr r2, [r0, r3, lsl #2]
ldr r3, [r1, r3, lsl #2]
str r2, [sp]
add r0, r4, #0x18
str r0, [sp, #4]
mov r2, #4
str r2, [sp, #8]
ldr r0, _0216af30 ; =data_027e0e58
add r1, r4, #0xc8
ldr r0, [r0]
mov r2, #0xd6
bl func_ov00_0207c31c
b _0216af20
_0216ae74:
mvn r0, #0
str r0, [r4, #0x68]
ldr r1, [r4, #4]
mov r0, #1
orr r1, r1, #0xc
str r1, [r4, #4]
strb r0, [r4, #0x3c]
ldr r0, [r4, #0xc8]
cmp r0, #0
bne _0216af20
ldr r3, [r4, #0x64]
ldr r0, _0216af38 ; =data_ov17_0216b230
ldr r1, _0216af3c ; =data_ov17_0216b224
ldr r2, [r0, r3, lsl #2]
add r0, r4, #0x18
str r2, [sp]
str r0, [sp, #4]
mov r2, #4
ldr r0, _0216af30 ; =data_027e0e58
str r2, [sp, #8]
ldr r0, [r0]
ldr r3, [r1, r3, lsl #2]
add r1, r4, #0xc8
mov r2, #0xd6
bl func_ov00_0207c31c
b _0216af20
_0216aedc:
mov r1, #0
mov r2, #1
bl func_ov00_0208ba08
ldr r0, _0216af40 ; =data_027e0e60
ldrsh r1, [r4, #0x34]
ldr r0, [r0]
mov r2, #1
bl func_ov00_02084cb0
ldr r1, [r4, #4]
mov r0, #0
bic r1, r1, #8
bic r1, r1, #4
str r1, [r4, #4]
strb r0, [r4, #0x3c]
ldr r0, [r4, #4]
bic r0, r0, #1
str r0, [r4, #4]
_0216af20:
mov r0, #1
add sp, sp, #0xc8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov17_0216ad30
_0216af2c: .word data_027e0f74
_0216af30: .word data_027e0e58
_0216af34: .word data_027e0ffc
_0216af38: .word data_ov17_0216b230
_0216af3c: .word data_ov17_0216b224
_0216af40: .word data_027e0e60
.global func_ov17_0216af44
arm_func_start func_ov17_0216af44
func_ov17_0216af44: ; 0x0216af44
stmdb sp!, {r3, lr}
mov r1, r0
add r0, r1, #0x6c
ldr r2, [r0]
add r1, r1, #0x18
ldr r2, [r2, #0x18]
blx r2
ldmia sp!, {r3, pc}
arm_func_end func_ov17_0216af44
.global func_ov17_0216af64
arm_func_start func_ov17_0216af64
func_ov17_0216af64: ; 0x0216af64
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c6908
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0216af64
.global func_ov17_0216af78
arm_func_start func_ov17_0216af78
func_ov17_0216af78: ; 0x0216af78
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c6928
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov17_0216af78
.global func_ov17_0216af8c
arm_func_start func_ov17_0216af8c
func_ov17_0216af8c: ; 0x0216af8c
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0x30
ldr ip, _0216b024 ; =data_027e0ff0
mvn r6, #0
mov r4, r0
mov r5, #1
mov lr, #0
ldr r7, _0216b028 ; =data_ov00_020e8398
mov r8, r2
strb r3, [sp, #0x14]
ldr r0, [ip]
add r2, sp, #0x10
add r3, sp, #0
mov sb, r1
str r7, [sp, #0x10]
strb r5, [sp, #0x15]
strb lr, [sp, #0x16]
strb lr, [sp, #0x17]
strb r5, [sp, #0x2c]
strb r6, [sp]
strb r6, [sp, #1]
strb r6, [sp, #2]
strb r6, [sp, #3]
bl func_ov00_020c4ae8
cmp r0, #0
addeq sp, sp, #0x30
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
add r1, sp, #0
mov r0, r4
bl func_ov00_020c6940
mov r0, r4
mov r1, sb
mov r2, r8
bl func_ov00_020c69e8
mov r0, r5
add sp, sp, #0x30
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov17_0216af8c
_0216b024: .word data_027e0ff0
_0216b028: .word data_ov00_020e8398
.global func_ov17_0216b02c
arm_func_start func_ov17_0216b02c
func_ov17_0216b02c: ; 0x0216b02c
stmdb sp!, {r3, r4, r5, r6, r7, lr}
sub sp, sp, #0x18
mov r7, r0
mov r6, r1
add r0, sp, #0
mov r1, r7
mov r5, r2
mov r4, r3
bl func_ov00_020c6e08
add r0, sp, #0
add ip, sp, #0xc
ldmia r0, {r0, r1, r2}
stmia ip, {r0, r1, r2}
mov r1, ip
ldr ip, [r6, #4]
mov r3, r4
mov r2, r5
mov r0, r6
str ip, [sp, #0x10]
bl func_ov00_020c6164
cmp r0, #0
addeq sp, sp, #0x18
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
mov r0, r7
bl func_ov00_020c6d9c
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end func_ov17_0216b02c
.rodata
.global data_ov17_0216b098
data_ov17_0216b098: ; 0x0216b098
.ascii "keyhole"
.byte 0x00
.global data_ov17_0216b0a0
data_ov17_0216b0a0: ; 0x0216b0a0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b0a4
data_ov17_0216b0a4: ; 0x0216b0a4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b0a8
data_ov17_0216b0a8: ; 0x0216b0a8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b0ac
data_ov17_0216b0ac: ; 0x0216b0ac
.ascii "force"
.byte 0x00, 0x00, 0x00
.global data_ov17_0216b0b4
data_ov17_0216b0b4: ; 0x0216b0b4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b0b8
data_ov17_0216b0b8: ; 0x0216b0b8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b0bc
data_ov17_0216b0bc: ; 0x0216b0bc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b0c0
data_ov17_0216b0c0: ; 0x0216b0c0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b0c4
data_ov17_0216b0c4: ; 0x0216b0c4
.byte 0x02, 0x00, 0x00, 0x00
.global data_ov17_0216b0c8
data_ov17_0216b0c8: ; 0x0216b0c8
.byte 0x03, 0x00, 0x00, 0x00
.global data_ov17_0216b0cc
data_ov17_0216b0cc: ; 0x0216b0cc
.byte 0x04, 0x00, 0x00, 0x00
.global data_ov17_0216b0d0
data_ov17_0216b0d0: ; 0x0216b0d0
.byte 0x29, 0x00
.global data_ov17_0216b0d2
data_ov17_0216b0d2: ; 0x0216b0d2
.byte 0x2a, 0x00
.global data_ov17_0216b0d4
data_ov17_0216b0d4: ; 0x0216b0d4
.byte 0x28, 0x00
.global data_ov17_0216b0d6
data_ov17_0216b0d6: ; 0x0216b0d6
.byte 0x00, 0x00
.global data_ov17_0216b0d8
data_ov17_0216b0d8: ; 0x0216b0d8
.byte 0x00, 0x00
.global data_ov17_0216b0da
data_ov17_0216b0da: ; 0x0216b0da
.byte 0x00, 0x00
.global data_ov17_0216b0dc
data_ov17_0216b0dc: ; 0x0216b0dc
.byte 0x00, 0x00
.global data_ov17_0216b0de
data_ov17_0216b0de: ; 0x0216b0de
.byte 0x00, 0x00
.global data_ov17_0216b0e0
data_ov17_0216b0e0: ; 0x0216b0e0
.byte 0x1d, 0x00
.global data_ov17_0216b0e2
data_ov17_0216b0e2: ; 0x0216b0e2
.byte 0x2d, 0x00
.global data_ov17_0216b0e4
data_ov17_0216b0e4: ; 0x0216b0e4
.byte 0x37, 0x00
.global data_ov17_0216b0e6
data_ov17_0216b0e6: ; 0x0216b0e6
.byte 0x37, 0x00
.global data_ov17_0216b0e8
data_ov17_0216b0e8: ; 0x0216b0e8
.byte 0x5a, 0x00
.global data_ov17_0216b0ea
data_ov17_0216b0ea: ; 0x0216b0ea
.byte 0x00, 0x00
.global data_ov17_0216b0ec
data_ov17_0216b0ec: ; 0x0216b0ec
.ascii "switch_eye"
.byte 0x00, 0x00
.global data_ov17_0216b0f8
data_ov17_0216b0f8: ; 0x0216b0f8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b0fc
data_ov17_0216b0fc: ; 0x0216b0fc
.ascii "lever"
.byte 0x00, 0x00, 0x00
.global data_ov17_0216b104
data_ov17_0216b104: ; 0x0216b104
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b108
data_ov17_0216b108: ; 0x0216b108
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b10c
data_ov17_0216b10c: ; 0x0216b10c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b110
data_ov17_0216b110: ; 0x0216b110
.ascii "switch_bang"
.byte 0x00
.global data_ov17_0216b11c
data_ov17_0216b11c: ; 0x0216b11c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b120
data_ov17_0216b120: ; 0x0216b120
.ascii "switch_yeti"
.byte 0x00
.global data_ov17_0216b12c
data_ov17_0216b12c: ; 0x0216b12c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b130
data_ov17_0216b130: ; 0x0216b130
.ascii "tongue_tip"
.byte 0x00, 0x00
.global data_ov17_0216b13c
data_ov17_0216b13c: ; 0x0216b13c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b140
data_ov17_0216b140: ; 0x0216b140
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b144
data_ov17_0216b144: ; 0x0216b144
.ascii "tongue_loop"
.byte 0x00
.global data_ov17_0216b150
data_ov17_0216b150: ; 0x0216b150
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b154
data_ov17_0216b154: ; 0x0216b154
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b158
data_ov17_0216b158: ; 0x0216b158
.ascii "switch_rusty"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b168
data_ov17_0216b168: ; 0x0216b168
.ascii "block"
.byte 0x00, 0x00, 0x00
.global data_ov17_0216b170
data_ov17_0216b170: ; 0x0216b170
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b174
data_ov17_0216b174: ; 0x0216b174
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b178
data_ov17_0216b178: ; 0x0216b178
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b17c
data_ov17_0216b17c: ; 0x0216b17c
.ascii "block_red"
.byte 0x00, 0x00, 0x00
.global data_ov17_0216b188
data_ov17_0216b188: ; 0x0216b188
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b18c
data_ov17_0216b18c: ; 0x0216b18c
.ascii "block_blue"
.byte 0x00, 0x00
.global data_ov17_0216b198
data_ov17_0216b198: ; 0x0216b198
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b19c
data_ov17_0216b19c: ; 0x0216b19c
.ascii "dungeon0_s0"
.byte 0x00
.global data_ov17_0216b1a8
data_ov17_0216b1a8: ; 0x0216b1a8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b1ac
data_ov17_0216b1ac: ; 0x0216b1ac
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b1b0
data_ov17_0216b1b0: ; 0x0216b1b0
.ascii "dungeon0_s0_pl"
.byte 0x00, 0x00
.global data_ov17_0216b1c0
data_ov17_0216b1c0: ; 0x0216b1c0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b1c4
data_ov17_0216b1c4: ; 0x0216b1c4
.ascii "spiral3_up"
.byte 0x00, 0x00
.global data_ov17_0216b1d0
data_ov17_0216b1d0: ; 0x0216b1d0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b1d4
data_ov17_0216b1d4: ; 0x0216b1d4
.ascii "spiral3_down"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b1e4
data_ov17_0216b1e4: ; 0x0216b1e4
.ascii "floor_jump"
.byte 0x00, 0x00
.global data_ov17_0216b1f0
data_ov17_0216b1f0: ; 0x0216b1f0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b1f4
data_ov17_0216b1f4: ; 0x0216b1f4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b1f8
data_ov17_0216b1f8: ; 0x0216b1f8
.byte 0x00, 0x00
.global data_ov17_0216b1fa
data_ov17_0216b1fa: ; 0x0216b1fa
.byte 0x00, 0x00
.global data_ov17_0216b1fc
data_ov17_0216b1fc: ; 0x0216b1fc
.byte 0x00, 0x00
.global data_ov17_0216b1fe
data_ov17_0216b1fe: ; 0x0216b1fe
.byte 0x00, 0x00
.global data_ov17_0216b200
data_ov17_0216b200: ; 0x0216b200
.byte 0x1d, 0x00
.global data_ov17_0216b202
data_ov17_0216b202: ; 0x0216b202
.byte 0x2d, 0x00
.global data_ov17_0216b204
data_ov17_0216b204: ; 0x0216b204
.byte 0x37, 0x00
.global data_ov17_0216b206
data_ov17_0216b206: ; 0x0216b206
.byte 0x37, 0x00
.global data_ov17_0216b208
data_ov17_0216b208: ; 0x0216b208
.byte 0x5a, 0x00
.global data_ov17_0216b20a
data_ov17_0216b20a: ; 0x0216b20a
.byte 0x00, 0x00
.global data_ov17_0216b20c
data_ov17_0216b20c: ; 0x0216b20c
.byte 0xdd, 0x00, 0x00, 0x00
.global data_ov17_0216b210
data_ov17_0216b210: ; 0x0216b210
.byte 0xde, 0x00, 0x00, 0x00
.global data_ov17_0216b214
data_ov17_0216b214: ; 0x0216b214
.byte 0xdc, 0x00, 0x00, 0x00
.global data_ov17_0216b218
data_ov17_0216b218: ; 0x0216b218
.byte 0x72, 0x00, 0x00, 0x00
.global data_ov17_0216b21c
data_ov17_0216b21c: ; 0x0216b21c
.byte 0x73, 0x00, 0x00, 0x00
.global data_ov17_0216b220
data_ov17_0216b220: ; 0x0216b220
.byte 0x74, 0x00, 0x00, 0x00
.global data_ov17_0216b224
data_ov17_0216b224: ; 0x0216b224
.byte 0xd2, 0x00, 0x00, 0x00
.global data_ov17_0216b228
data_ov17_0216b228: ; 0x0216b228
.byte 0xd3, 0x00, 0x00, 0x00
.global data_ov17_0216b22c
data_ov17_0216b22c: ; 0x0216b22c
.byte 0xd4, 0x00, 0x00, 0x00
.global data_ov17_0216b230
data_ov17_0216b230: ; 0x0216b230
.byte 0xd9, 0x00, 0x00, 0x00
.global data_ov17_0216b234
data_ov17_0216b234: ; 0x0216b234
.byte 0xda, 0x00, 0x00, 0x00
.global data_ov17_0216b238
data_ov17_0216b238: ; 0x0216b238
.byte 0xdb, 0x00, 0x00, 0x00
.global data_ov17_0216b23c
data_ov17_0216b23c: ; 0x0216b23c
.byte 0x0d, 0x08, 0x0f, 0x0f
.global data_ov17_0216b240
data_ov17_0216b240: ; 0x0216b240
.byte 0x02, 0x00, 0x07, 0x0f
.global data_ov17_0216b244
data_ov17_0216b244: ; 0x0216b244
.byte 0x07, 0x00, 0x0c, 0x0f
.global data_ov17_0216b248
data_ov17_0216b248: ; 0x0216b248
.byte 0x08, 0x00, 0x0c, 0x0f
.global data_ov17_0216b24c
data_ov17_0216b24c: ; 0x0216b24c
.byte 0x00, 0x00, 0x01, 0x0f
.global data_ov17_0216b250
data_ov17_0216b250: ; 0x0216b250
.byte 0x00, 0x00, 0x0f, 0x0f
.global data_ov17_0216b254
data_ov17_0216b254: ; 0x0216b254
.byte 0x02, 0x00, 0x0c, 0x0f
.global data_ov17_0216b258
data_ov17_0216b258: ; 0x0216b258
.byte 0x02, 0x00, 0x06, 0x0f
.global data_ov17_0216b25c
data_ov17_0216b25c: ; 0x0216b25c
.byte 0x04, 0x02, 0x06, 0x02
.global data_ov17_0216b260
data_ov17_0216b260: ; 0x0216b260
.byte 0x6a, 0x06, 0x00, 0x03
.global data_ov17_0216b264
data_ov17_0216b264: ; 0x0216b264
.byte 0x00, 0x0f, 0x01, 0x03
.global data_ov17_0216b268
data_ov17_0216b268: ; 0x0216b268
.byte 0x01, 0x0f, 0x00, 0x00
.global data_ov17_0216b26c
data_ov17_0216b26c: ; 0x0216b26c
.byte 0xcb, 0x00, 0x00, 0x00
.global data_ov17_0216b270
data_ov17_0216b270: ; 0x0216b270
.word data_ov17_0216ce68 ; data_ov18_0216ce68
.global data_ov17_0216b274
data_ov17_0216b274: ; 0x0216b274
.byte 0xc4, 0x00, 0x00, 0x00
.global data_ov17_0216b278
data_ov17_0216b278: ; 0x0216b278
.word data_ov17_0216ce78 ; data_ov18_0216ce78
.global data_ov17_0216b27c
data_ov17_0216b27c: ; 0x0216b27c
.byte 0xc5, 0x00, 0x00, 0x00
.global data_ov17_0216b280
data_ov17_0216b280: ; 0x0216b280
.word data_ov17_0216ce88 ; data_ov18_0216ce88
.global data_ov17_0216b284
data_ov17_0216b284: ; 0x0216b284
.word data_ov17_0216ce5c ; data_ov18_0216ce5c
.word data_ov17_0216b274
.byte 0x02, 0x00, 0x00, 0x00
.byte 0xc3, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00
.word data_ov17_0216b248
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov17_0216b2a4
data_ov17_0216b2a4: ; 0x0216b2a4
.word data_ov17_0216ce50 ; data_ov18_0216ce50
.word data_ov17_0216b26c
.byte 0x01, 0x00, 0x00, 0x00
.byte 0xca, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00
.word data_ov17_0216b248
.byte 0x01, 0x00, 0x00, 0x00
.section .init, 4, 1, 4
.global func_ov17_0216b2c4
arm_func_start func_ov17_0216b2c4
func_ov17_0216b2c4: ; 0x0216b2c4
stmdb sp!, {r3, lr}
ldr r3, _0216b2f0 ; =data_ov17_0216cea0
ldr r0, _0216b2f4 ; =data_ov17_0216b9e8
ldr ip, _0216b2f8 ; =0x00007fff
str r0, [r3, #0xc]
ldr r0, _0216b2fc ; =data_ov17_0216ceac
ldr r1, _0216b300 ; =func_ov17_0215bd7c
ldr r2, _0216b304 ; =data_ov17_0216cea0
strh ip, [r3, #0x14]
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b2c4
_0216b2f0: .word data_ov17_0216cea0
_0216b2f4: .word data_ov17_0216b9e8
_0216b2f8: .word 0x00007fff
_0216b2fc: .word data_ov17_0216ceac
_0216b300: .word func_ov17_0215bd7c
_0216b304: .word data_ov17_0216cea0
.global func_ov17_0216b308
arm_func_start func_ov17_0216b308
func_ov17_0216b308: ; 0x0216b308
stmdb sp!, {r3, lr}
ldr r0, _0216b330 ; =data_ov17_0216ceb8
ldr r2, _0216b334 ; =func_ov17_0215bd94
mov r1, #0x21
bl func_0203eba8
ldr r0, _0216b330 ; =data_ov17_0216ceb8
ldr r1, _0216b338 ; =func_0203ebc8
ldr r2, _0216b33c ; =data_ov17_0216cec0
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b308
_0216b330: .word data_ov17_0216ceb8
_0216b334: .word func_ov17_0215bd94
_0216b338: .word func_0203ebc8
_0216b33c: .word data_ov17_0216cec0
.global func_ov17_0216b340
arm_func_start func_ov17_0216b340
func_ov17_0216b340: ; 0x0216b340
stmdb sp!, {r3, lr}
ldr r0, _0216b368 ; =data_ov17_0216cecc
ldr r2, _0216b36c ; =func_ov17_0215c828
mov r1, #0x49
bl func_0203eba8
ldr r0, _0216b368 ; =data_ov17_0216cecc
ldr r1, _0216b370 ; =func_0203ebc8
ldr r2, _0216b374 ; =data_ov17_0216ced4
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b340
_0216b368: .word data_ov17_0216cecc
_0216b36c: .word func_ov17_0215c828
_0216b370: .word func_0203ebc8
_0216b374: .word data_ov17_0216ced4
.global func_ov17_0216b378
arm_func_start func_ov17_0216b378
func_ov17_0216b378: ; 0x0216b378
stmdb sp!, {r3, lr}
ldr r0, _0216b3a4 ; =data_ov17_0216ceec
ldr r1, _0216b3a8 ; =0x424b4559
ldr r2, _0216b3ac ; =func_ov17_0215cef4
mov r3, #0
bl func_0203e784
ldr r0, _0216b3a4 ; =data_ov17_0216ceec
ldr r1, _0216b3b0 ; =func_0203e7b4
ldr r2, _0216b3b4 ; =data_ov17_0216cee0
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b378
_0216b3a4: .word data_ov17_0216ceec
_0216b3a8: .word 0x424b4559
_0216b3ac: .word func_ov17_0215cef4
_0216b3b0: .word func_0203e7b4
_0216b3b4: .word data_ov17_0216cee0
.global func_ov17_0216b3b8
arm_func_start func_ov17_0216b3b8
func_ov17_0216b3b8: ; 0x0216b3b8
stmdb sp!, {r3, lr}
ldr r0, _0216b3e4 ; =data_ov17_0216cf0c
ldr r1, _0216b3e8 ; =0x464f5243
ldr r2, _0216b3ec ; =func_ov17_0215e1c0
mov r3, #0
bl func_0203e784
ldr r0, _0216b3e4 ; =data_ov17_0216cf0c
ldr r1, _0216b3f0 ; =func_0203e7b4
ldr r2, _0216b3f4 ; =data_ov17_0216cf00
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b3b8
_0216b3e4: .word data_ov17_0216cf0c
_0216b3e8: .word 0x464f5243
_0216b3ec: .word func_ov17_0215e1c0
_0216b3f0: .word func_0203e7b4
_0216b3f4: .word data_ov17_0216cf00
.global func_ov17_0216b3f8
arm_func_start func_ov17_0216b3f8
func_ov17_0216b3f8: ; 0x0216b3f8
stmdb sp!, {r3, lr}
ldr r0, _0216b424 ; =data_ov17_0216cf2c
ldr r1, _0216b428 ; =0x43525953
ldr r2, _0216b42c ; =func_ov17_0215f068
mov r3, #0
bl func_0203e784
ldr r0, _0216b424 ; =data_ov17_0216cf2c
ldr r1, _0216b430 ; =func_0203e7b4
ldr r2, _0216b434 ; =data_ov17_0216cf20
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b3f8
_0216b424: .word data_ov17_0216cf2c
_0216b428: .word 0x43525953
_0216b42c: .word func_ov17_0215f068
_0216b430: .word func_0203e7b4
_0216b434: .word data_ov17_0216cf20
.global func_ov17_0216b438
arm_func_start func_ov17_0216b438
func_ov17_0216b438: ; 0x0216b438
ldr r0, _0216b45c ; =data_ov17_0216bfb4
mov r1, #0
str r1, [r0]
str r1, [r0, #4]
mov r1, #0x20
str r1, [r0, #8]
mov r1, #0xc0
str r1, [r0, #0xc]
bx lr
.align 2, 0
arm_func_end func_ov17_0216b438
_0216b45c: .word data_ov17_0216bfb4
.global func_ov17_0216b460
arm_func_start func_ov17_0216b460
func_ov17_0216b460: ; 0x0216b460
stmdb sp!, {r3, lr}
ldr r0, _0216b48c ; =data_ov17_0216cf4c
ldr r1, _0216b490 ; =0x4e4b4559
ldr r2, _0216b494 ; =func_ov17_02160730
mov r3, #0
bl func_0203e784
ldr r0, _0216b48c ; =data_ov17_0216cf4c
ldr r1, _0216b498 ; =func_0203e7b4
ldr r2, _0216b49c ; =data_ov17_0216cf40
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b460
_0216b48c: .word data_ov17_0216cf4c
_0216b490: .word 0x4e4b4559
_0216b494: .word func_ov17_02160730
_0216b498: .word func_0203e7b4
_0216b49c: .word data_ov17_0216cf40
.global func_ov17_0216b4a0
arm_func_start func_ov17_0216b4a0
func_ov17_0216b4a0: ; 0x0216b4a0
stmdb sp!, {r3, lr}
ldr r0, _0216b4d4 ; =data_ov17_0216cf60
ldr r2, _0216b4d8 ; =func_ov17_02161084
mov r1, #0xd
bl func_0203eba8
ldr r0, _0216b4d4 ; =data_ov17_0216cf60
ldr r1, _0216b4dc ; =func_0203ebc8
ldr r2, _0216b4e0 ; =data_ov17_0216cf68
bl func_0204f8d4
ldr r1, _0216b4e4 ; =0x00001e66
ldr r0, _0216b4e8 ; =data_ov17_0216c0c0
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b4a0
_0216b4d4: .word data_ov17_0216cf60
_0216b4d8: .word func_ov17_02161084
_0216b4dc: .word func_0203ebc8
_0216b4e0: .word data_ov17_0216cf68
_0216b4e4: .word 0x00001e66
_0216b4e8: .word data_ov17_0216c0c0
.global func_ov17_0216b4ec
arm_func_start func_ov17_0216b4ec
func_ov17_0216b4ec: ; 0x0216b4ec
stmdb sp!, {r3, lr}
ldr r0, _0216b520 ; =data_ov17_0216cf74
ldr r2, _0216b524 ; =func_ov17_02161aa0
mov r1, #0x13
bl func_0203eba8
ldr r0, _0216b520 ; =data_ov17_0216cf74
ldr r1, _0216b528 ; =func_0203ebc8
ldr r2, _0216b52c ; =data_ov17_0216cf7c
bl func_0204f8d4
ldr r1, _0216b530 ; =0x00001e66
ldr r0, _0216b534 ; =data_ov17_0216c17c
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b4ec
_0216b520: .word data_ov17_0216cf74
_0216b524: .word func_ov17_02161aa0
_0216b528: .word func_0203ebc8
_0216b52c: .word data_ov17_0216cf7c
_0216b530: .word 0x00001e66
_0216b534: .word data_ov17_0216c17c
.global func_ov17_0216b538
arm_func_start func_ov17_0216b538
func_ov17_0216b538: ; 0x0216b538
stmdb sp!, {r3, lr}
ldr r0, _0216b588 ; =data_ov17_0216cf88
ldr r2, _0216b58c ; =func_ov17_02161e6c
mov r1, #0x86
bl func_0203eba8
ldr r0, _0216b588 ; =data_ov17_0216cf88
ldr r1, _0216b590 ; =func_0203ebc8
ldr r2, _0216b594 ; =data_ov17_0216cf90
bl func_0204f8d4
ldr r3, _0216b598 ; =data_ov17_0216c238
mov r0, #0x1000
str r0, [r3]
ldr ip, _0216b59c ; =0x0000019a
str r0, [r3, #4]
ldr r0, _0216b5a0 ; =data_ov17_0216c238
ldr r1, _0216b5a4 ; =func_0202bac0
ldr r2, _0216b5a8 ; =data_ov17_0216cf9c
str ip, [r3, #8]
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b538
_0216b588: .word data_ov17_0216cf88
_0216b58c: .word func_ov17_02161e6c
_0216b590: .word func_0203ebc8
_0216b594: .word data_ov17_0216cf90
_0216b598: .word data_ov17_0216c238
_0216b59c: .word 0x0000019a
_0216b5a0: .word data_ov17_0216c238
_0216b5a4: .word func_0202bac0
_0216b5a8: .word data_ov17_0216cf9c
.global func_ov17_0216b5ac
arm_func_start func_ov17_0216b5ac
func_ov17_0216b5ac: ; 0x0216b5ac
stmdb sp!, {r3, lr}
ldr r0, _0216b5d4 ; =data_ov17_0216cfa8
ldr r2, _0216b5d8 ; =func_ov17_02162614
mov r1, #0x47
bl func_0203eba8
ldr r0, _0216b5d4 ; =data_ov17_0216cfa8
ldr r1, _0216b5dc ; =func_0203ebc8
ldr r2, _0216b5e0 ; =data_ov17_0216cfb0
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b5ac
_0216b5d4: .word data_ov17_0216cfa8
_0216b5d8: .word func_ov17_02162614
_0216b5dc: .word func_0203ebc8
_0216b5e0: .word data_ov17_0216cfb0
.global func_ov17_0216b5e4
arm_func_start func_ov17_0216b5e4
func_ov17_0216b5e4: ; 0x0216b5e4
stmdb sp!, {r3, lr}
ldr r0, _0216b60c ; =data_ov17_0216cfbc
ldr r2, _0216b610 ; =func_ov17_021628c8
mov r1, #0x17
bl func_0203eba8
ldr r0, _0216b60c ; =data_ov17_0216cfbc
ldr r1, _0216b614 ; =func_0203ebc8
ldr r2, _0216b618 ; =data_ov17_0216cfc4
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b5e4
_0216b60c: .word data_ov17_0216cfbc
_0216b610: .word func_ov17_021628c8
_0216b614: .word func_0203ebc8
_0216b618: .word data_ov17_0216cfc4
.global func_ov17_0216b61c
arm_func_start func_ov17_0216b61c
func_ov17_0216b61c: ; 0x0216b61c
stmdb sp!, {r3, lr}
ldr r0, _0216b654 ; =data_ov17_0216cfd0
ldr r2, _0216b658 ; =func_ov17_02162f98
mov r1, #0x83
bl func_0203eba8
ldr r0, _0216b654 ; =data_ov17_0216cfd0
ldr r1, _0216b65c ; =func_0203ebc8
ldr r2, _0216b660 ; =data_ov17_0216cfd8
bl func_0204f8d4
mov r0, #0x96000
bl func_01ff991c
ldr r1, _0216b664 ; =data_ov17_0216c470
str r0, [r1]
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b61c
_0216b654: .word data_ov17_0216cfd0
_0216b658: .word func_ov17_02162f98
_0216b65c: .word func_0203ebc8
_0216b660: .word data_ov17_0216cfd8
_0216b664: .word data_ov17_0216c470
.global func_ov17_0216b668
arm_func_start func_ov17_0216b668
func_ov17_0216b668: ; 0x0216b668
stmdb sp!, {r3, lr}
ldr r0, _0216b690 ; =data_ov17_0216cfe4
ldr r2, _0216b694 ; =func_ov17_021635f8
mov r1, #0x81
bl func_0203eba8
ldr r0, _0216b690 ; =data_ov17_0216cfe4
ldr r1, _0216b698 ; =func_0203ebc8
ldr r2, _0216b69c ; =data_ov17_0216cfec
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b668
_0216b690: .word data_ov17_0216cfe4
_0216b694: .word func_ov17_021635f8
_0216b698: .word func_0203ebc8
_0216b69c: .word data_ov17_0216cfec
.global func_ov17_0216b6a0
arm_func_start func_ov17_0216b6a0
func_ov17_0216b6a0: ; 0x0216b6a0
stmdb sp!, {r3, lr}
ldr r0, _0216b6c8 ; =data_ov17_0216cff8
ldr r2, _0216b6cc ; =func_ov17_02163bdc
mov r1, #0x18
bl func_0203eba8
ldr r0, _0216b6c8 ; =data_ov17_0216cff8
ldr r1, _0216b6d0 ; =func_0203ebc8
ldr r2, _0216b6d4 ; =data_ov17_0216d000
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b6a0
_0216b6c8: .word data_ov17_0216cff8
_0216b6cc: .word func_ov17_02163bdc
_0216b6d0: .word func_0203ebc8
_0216b6d4: .word data_ov17_0216d000
.global func_ov17_0216b6d8
arm_func_start func_ov17_0216b6d8
func_ov17_0216b6d8: ; 0x0216b6d8
stmdb sp!, {r3, lr}
ldr r0, _0216b700 ; =data_ov17_0216d018
ldr r2, _0216b704 ; =func_ov17_02164500
mov r1, #0x7f
bl func_0203eba8
ldr r0, _0216b700 ; =data_ov17_0216d018
ldr r1, _0216b708 ; =func_0203ebc8
ldr r2, _0216b70c ; =data_ov17_0216d00c
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b6d8
_0216b700: .word data_ov17_0216d018
_0216b704: .word func_ov17_02164500
_0216b708: .word func_0203ebc8
_0216b70c: .word data_ov17_0216d00c
.global func_ov17_0216b710
arm_func_start func_ov17_0216b710
func_ov17_0216b710: ; 0x0216b710
stmdb sp!, {r3, lr}
ldr r0, _0216b738 ; =data_ov17_0216d020
ldr r2, _0216b73c ; =func_ov17_02164b70
mov r1, #0x80
bl func_0203eba8
ldr r0, _0216b738 ; =data_ov17_0216d020
ldr r1, _0216b740 ; =func_0203ebc8
ldr r2, _0216b744 ; =data_ov17_0216d028
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b710
_0216b738: .word data_ov17_0216d020
_0216b73c: .word func_ov17_02164b70
_0216b740: .word func_0203ebc8
_0216b744: .word data_ov17_0216d028
.global func_ov17_0216b748
arm_func_start func_ov17_0216b748
func_ov17_0216b748: ; 0x0216b748
stmdb sp!, {r3, lr}
ldr r0, _0216b774 ; =data_ov17_0216d044
ldr r1, _0216b778 ; =0x5750484c
ldr r2, _0216b77c ; =func_ov17_02165404
mov r3, #0
bl func_0203e784
ldr r0, _0216b774 ; =data_ov17_0216d044
ldr r1, _0216b780 ; =func_0203e7b4
ldr r2, _0216b784 ; =data_ov17_0216d038
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b748
_0216b774: .word data_ov17_0216d044
_0216b778: .word 0x5750484c
_0216b77c: .word func_ov17_02165404
_0216b780: .word func_0203e7b4
_0216b784: .word data_ov17_0216d038
.global func_ov17_0216b788
arm_func_start func_ov17_0216b788
func_ov17_0216b788: ; 0x0216b788
stmdb sp!, {r3, lr}
ldr r0, _0216b7b4 ; =data_ov17_0216d064
ldr r1, _0216b7b8 ; =0x52464c52
ldr r2, _0216b7bc ; =func_ov17_02166420
mov r3, #0
bl func_0203e784
ldr r0, _0216b7b4 ; =data_ov17_0216d064
ldr r1, _0216b7c0 ; =func_0203e7b4
ldr r2, _0216b7c4 ; =data_ov17_0216d058
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b788
_0216b7b4: .word data_ov17_0216d064
_0216b7b8: .word 0x52464c52
_0216b7bc: .word func_ov17_02166420
_0216b7c0: .word func_0203e7b4
_0216b7c4: .word data_ov17_0216d058
.global func_ov17_0216b7c8
arm_func_start func_ov17_0216b7c8
func_ov17_0216b7c8: ; 0x0216b7c8
stmdb sp!, {r3, lr}
ldr r0, _0216b7f0 ; =data_ov17_0216d078
ldr r2, _0216b7f4 ; =func_ov17_02166780
mov r1, #0x14
bl func_0203eba8
ldr r0, _0216b7f0 ; =data_ov17_0216d078
ldr r1, _0216b7f8 ; =func_0203ebc8
ldr r2, _0216b7fc ; =data_ov17_0216d080
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b7c8
_0216b7f0: .word data_ov17_0216d078
_0216b7f4: .word func_ov17_02166780
_0216b7f8: .word func_0203ebc8
_0216b7fc: .word data_ov17_0216d080
.global func_ov17_0216b800
arm_func_start func_ov17_0216b800
func_ov17_0216b800: ; 0x0216b800
stmdb sp!, {r3, lr}
ldr r0, _0216b828 ; =data_ov17_0216d08c
ldr r2, _0216b82c ; =func_ov17_021678c8
mov r1, #0x1d
bl func_0203eba8
ldr r0, _0216b828 ; =data_ov17_0216d08c
ldr r1, _0216b830 ; =func_0203ebc8
ldr r2, _0216b834 ; =data_ov17_0216d094
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b800
_0216b828: .word data_ov17_0216d08c
_0216b82c: .word func_ov17_021678c8
_0216b830: .word func_0203ebc8
_0216b834: .word data_ov17_0216d094
.global func_ov17_0216b838
arm_func_start func_ov17_0216b838
func_ov17_0216b838: ; 0x0216b838
stmdb sp!, {r3, lr}
ldr r0, _0216b860 ; =data_ov17_0216d0a0
ldr r2, _0216b864 ; =func_ov17_02168110
mov r1, #0x5f
bl func_0203eba8
ldr r0, _0216b860 ; =data_ov17_0216d0a0
ldr r1, _0216b868 ; =func_0203ebc8
ldr r2, _0216b86c ; =data_ov17_0216d0a8
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b838
_0216b860: .word data_ov17_0216d0a0
_0216b864: .word func_ov17_02168110
_0216b868: .word func_0203ebc8
_0216b86c: .word data_ov17_0216d0a8
.global func_ov17_0216b870
arm_func_start func_ov17_0216b870
func_ov17_0216b870: ; 0x0216b870
stmdb sp!, {r3, lr}
ldr r0, _0216b898 ; =data_ov17_0216d0b4
ldr r2, _0216b89c ; =func_ov17_02168d8c
mov r1, #0x7e
bl func_0203eba8
ldr r0, _0216b898 ; =data_ov17_0216d0b4
ldr r1, _0216b8a0 ; =func_0203ebc8
ldr r2, _0216b8a4 ; =data_ov17_0216d0bc
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b870
_0216b898: .word data_ov17_0216d0b4
_0216b89c: .word func_ov17_02168d8c
_0216b8a0: .word func_0203ebc8
_0216b8a4: .word data_ov17_0216d0bc
.global func_ov17_0216b8a8
arm_func_start func_ov17_0216b8a8
func_ov17_0216b8a8: ; 0x0216b8a8
stmdb sp!, {r3, lr}
ldr r0, _0216b8d0 ; =data_ov17_0216d0c8
ldr r2, _0216b8d4 ; =func_ov17_0216949c
mov r1, #0x7d
bl func_0203eba8
ldr r0, _0216b8d0 ; =data_ov17_0216d0c8
ldr r1, _0216b8d8 ; =func_0203ebc8
ldr r2, _0216b8dc ; =data_ov17_0216d0d0
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b8a8
_0216b8d0: .word data_ov17_0216d0c8
_0216b8d4: .word func_ov17_0216949c
_0216b8d8: .word func_0203ebc8
_0216b8dc: .word data_ov17_0216d0d0
.global func_ov17_0216b8e0
arm_func_start func_ov17_0216b8e0
func_ov17_0216b8e0: ; 0x0216b8e0
stmdb sp!, {r3, lr}
ldr r0, _0216b914 ; =data_ov17_0216d0dc
ldr r2, _0216b918 ; =func_ov17_02169f54
mov r1, #0x66
bl func_0203eba8
ldr r0, _0216b914 ; =data_ov17_0216d0dc
ldr r1, _0216b91c ; =func_0203ebc8
ldr r2, _0216b920 ; =data_ov17_0216d0e4
bl func_0204f8d4
ldr r1, _0216b924 ; =0x00001e66
ldr r0, _0216b928 ; =data_ov17_0216cd00
str r1, [r0]
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b8e0
_0216b914: .word data_ov17_0216d0dc
_0216b918: .word func_ov17_02169f54
_0216b91c: .word func_0203ebc8
_0216b920: .word data_ov17_0216d0e4
_0216b924: .word 0x00001e66
_0216b928: .word data_ov17_0216cd00
.global func_ov17_0216b92c
arm_func_start func_ov17_0216b92c
func_ov17_0216b92c: ; 0x0216b92c
stmdb sp!, {r3, lr}
ldr r0, _0216b954 ; =data_ov17_0216d0f0
ldr r2, _0216b958 ; =func_ov17_0216a818
mov r1, #0x9a
bl func_0203eba8
ldr r0, _0216b954 ; =data_ov17_0216d0f0
ldr r1, _0216b95c ; =func_0203ebc8
ldr r2, _0216b960 ; =data_ov17_0216d0f8
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov17_0216b92c
_0216b954: .word data_ov17_0216d0f0
_0216b958: .word func_ov17_0216a818
_0216b95c: .word func_0203ebc8
_0216b960: .word data_ov17_0216d0f8
.section .ctor, 4, 1, 4
.global data_ov17_0216b964
data_ov17_0216b964: ; 0x0216b964
.word func_ov17_0216b2c4
.global data_ov17_0216b968
data_ov17_0216b968: ; 0x0216b968
.word func_ov17_0216b308
.global data_ov17_0216b96c
data_ov17_0216b96c: ; 0x0216b96c
.word func_ov17_0216b340
.global data_ov17_0216b970
data_ov17_0216b970: ; 0x0216b970
.word func_ov17_0216b378 ; func_ov18_0216b378
.global data_ov17_0216b974
data_ov17_0216b974: ; 0x0216b974
.word func_ov17_0216b3b8
.global data_ov17_0216b978
data_ov17_0216b978: ; 0x0216b978
.word func_ov17_0216b3f8
.global data_ov17_0216b97c
data_ov17_0216b97c: ; 0x0216b97c
.word func_ov17_0216b438 ; data_ov18_0216b438
.global data_ov17_0216b980
data_ov17_0216b980: ; 0x0216b980
.word func_ov17_0216b460
.global data_ov17_0216b984
data_ov17_0216b984: ; 0x0216b984
.word func_ov17_0216b4a0 ; data_ov18_0216b4a0
.global data_ov17_0216b988
data_ov17_0216b988: ; 0x0216b988
.word func_ov17_0216b4ec
.global data_ov17_0216b98c
data_ov17_0216b98c: ; 0x0216b98c
.word func_ov17_0216b538 ; data_ov18_0216b538
.global data_ov17_0216b990
data_ov17_0216b990: ; 0x0216b990
.word func_ov17_0216b5ac ; data_ov18_0216b5ac
.global data_ov17_0216b994
data_ov17_0216b994: ; 0x0216b994
.word func_ov17_0216b5e4 ; data_ov18_0216b5e4
.global data_ov17_0216b998
data_ov17_0216b998: ; 0x0216b998
.word func_ov17_0216b61c ; data_ov18_0216b61c
.global data_ov17_0216b99c
data_ov17_0216b99c: ; 0x0216b99c
.word func_ov17_0216b668 ; data_ov18_0216b668
.global data_ov17_0216b9a0
data_ov17_0216b9a0: ; 0x0216b9a0
.word func_ov17_0216b6a0
.global data_ov17_0216b9a4
data_ov17_0216b9a4: ; 0x0216b9a4
.word func_ov17_0216b6d8
.global data_ov17_0216b9a8
data_ov17_0216b9a8: ; 0x0216b9a8
.word func_ov17_0216b710 ; data_ov18_0216b710
.global data_ov17_0216b9ac
data_ov17_0216b9ac: ; 0x0216b9ac
.word func_ov17_0216b748 ; data_ov18_0216b748
.global data_ov17_0216b9b0
data_ov17_0216b9b0: ; 0x0216b9b0
.word func_ov17_0216b788
.global data_ov17_0216b9b4
data_ov17_0216b9b4: ; 0x0216b9b4
.word func_ov17_0216b7c8
.global data_ov17_0216b9b8
data_ov17_0216b9b8: ; 0x0216b9b8
.word func_ov17_0216b800
.global data_ov17_0216b9bc
data_ov17_0216b9bc: ; 0x0216b9bc
.word func_ov17_0216b838
.global data_ov17_0216b9c0
data_ov17_0216b9c0: ; 0x0216b9c0
.word func_ov17_0216b870
.global data_ov17_0216b9c4
data_ov17_0216b9c4: ; 0x0216b9c4
.word func_ov17_0216b8a8
.global data_ov17_0216b9c8
data_ov17_0216b9c8: ; 0x0216b9c8
.word func_ov17_0216b8e0
.global data_ov17_0216b9cc
data_ov17_0216b9cc: ; 0x0216b9cc
.word func_ov17_0216b92c
.data
.global data_ov17_0216b9e0
data_ov17_0216b9e0: ; 0x0216b9e0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b9e4
data_ov17_0216b9e4: ; 0x0216b9e4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b9e8
data_ov17_0216b9e8: ; 0x0216b9e8
.word func_ov17_0215b4a0 ; func_ov18_0215b4a0
.global data_ov17_0216b9ec
data_ov17_0216b9ec: ; 0x0216b9ec
.word func_ov17_0215b4cc
.global data_ov17_0216b9f0
data_ov17_0216b9f0: ; 0x0216b9f0
.word func_ov17_0215bd7c
.global data_ov17_0216b9f4
data_ov17_0216b9f4: ; 0x0216b9f4
.word func_ov17_0215bd80
.global data_ov17_0216b9f8
data_ov17_0216b9f8: ; 0x0216b9f8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216b9fc
data_ov17_0216b9fc: ; 0x0216b9fc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216ba00
data_ov17_0216ba00: ; 0x0216ba00
.word func_ov17_0215b5d8 + 1
.global data_ov17_0216ba04
data_ov17_0216ba04: ; 0x0216ba04
.word func_ov17_0215b66c + 1
.global data_ov17_0216ba08
data_ov17_0216ba08: ; 0x0216ba08
.word func_ov04_0210c1f8 ; data_ov07_0210c1f8
.global data_ov17_0216ba0c
data_ov17_0216ba0c: ; 0x0216ba0c
.word func_ov04_0210c3fc ; data_ov07_0210c3fc
.global data_ov17_0216ba10
data_ov17_0216ba10: ; 0x0216ba10
.word func_ov04_0210c52c ; data_ov07_0210c52c
.global data_ov17_0216ba14
data_ov17_0216ba14: ; 0x0216ba14
.word func_ov17_0215b708 + 1
.global data_ov17_0216ba18
data_ov17_0216ba18: ; 0x0216ba18
.word func_ov00_0207ddf4
.global data_ov17_0216ba1c
data_ov17_0216ba1c: ; 0x0216ba1c
.word func_ov17_0215b764
.global data_ov17_0216ba20
data_ov17_0216ba20: ; 0x0216ba20
.word func_ov05_02111c00
.global data_ov17_0216ba24
data_ov17_0216ba24: ; 0x0216ba24
.word func_ov05_02111c6c
.global data_ov17_0216ba28
data_ov17_0216ba28: ; 0x0216ba28
.word func_ov05_02111c70
.global data_ov17_0216ba2c
data_ov17_0216ba2c: ; 0x0216ba2c
.word func_ov17_0215b770 + 1
.global data_ov17_0216ba30
data_ov17_0216ba30: ; 0x0216ba30
.word func_ov04_0210c764 ; data_ov07_0210c764
.global data_ov17_0216ba34
data_ov17_0216ba34: ; 0x0216ba34
.word func_ov04_0210c800 ; data_ov07_0210c800
.global data_ov17_0216ba38
data_ov17_0216ba38: ; 0x0216ba38
.word func_ov04_0210c88c ; data_ov07_0210c88c
.global data_ov17_0216ba3c
data_ov17_0216ba3c: ; 0x0216ba3c
.word func_ov04_0210c8d4 ; data_ov07_0210c8d4
.global data_ov17_0216ba40
data_ov17_0216ba40: ; 0x0216ba40
.word func_ov04_0210ca84 ; data_ov07_0210ca84
.global data_ov17_0216ba44
data_ov17_0216ba44: ; 0x0216ba44
.word func_ov04_0210cb00 ; data_ov07_0210cb00
.global data_ov17_0216ba48
data_ov17_0216ba48: ; 0x0216ba48
.word func_ov00_0207e46c
.global data_ov17_0216ba4c
data_ov17_0216ba4c: ; 0x0216ba4c
.word func_ov17_0215bd74
.global data_ov17_0216ba50
data_ov17_0216ba50: ; 0x0216ba50
.word func_ov00_0207e488
.global data_ov17_0216ba54
data_ov17_0216ba54: ; 0x0216ba54
.word func_ov17_0215ba58
.global data_ov17_0216ba58
data_ov17_0216ba58: ; 0x0216ba58
.word func_ov17_0215ba78
.global data_ov17_0216ba5c
data_ov17_0216ba5c: ; 0x0216ba5c
.word func_ov17_0215baa8
.global data_ov17_0216ba60
data_ov17_0216ba60: ; 0x0216ba60
.word func_ov17_0215bac8
.global data_ov17_0216ba64
data_ov17_0216ba64: ; 0x0216ba64
.word func_ov00_0207e4b0
.global data_ov17_0216ba68
data_ov17_0216ba68: ; 0x0216ba68
.word func_ov00_0207e4b8
.global data_ov17_0216ba6c
data_ov17_0216ba6c: ; 0x0216ba6c
.word func_ov00_0207e970
.global data_ov17_0216ba70
data_ov17_0216ba70: ; 0x0216ba70
.word func_ov00_0207ee14
.global data_ov17_0216ba74
data_ov17_0216ba74: ; 0x0216ba74
.word func_ov00_0207eff4
.global data_ov17_0216ba78
data_ov17_0216ba78: ; 0x0216ba78
.word func_ov17_0215bbbc
.global data_ov17_0216ba7c
data_ov17_0216ba7c: ; 0x0216ba7c
.word func_ov17_0215bbd4
.global data_ov17_0216ba80
data_ov17_0216ba80: ; 0x0216ba80
.word func_ov17_0215bd30
.global data_ov17_0216ba84
data_ov17_0216ba84: ; 0x0216ba84
.word func_ov00_0207f364
.global data_ov17_0216ba88
data_ov17_0216ba88: ; 0x0216ba88
.word func_ov00_0207f324
.global data_ov17_0216ba8c
data_ov17_0216ba8c: ; 0x0216ba8c
.word func_ov00_0207f32c
.global data_ov17_0216ba90
data_ov17_0216ba90: ; 0x0216ba90
.word func_ov00_0207f3c4
.global data_ov17_0216ba94
data_ov17_0216ba94: ; 0x0216ba94
.word func_ov17_0215b7c4
.global data_ov17_0216ba98
data_ov17_0216ba98: ; 0x0216ba98
.word func_ov17_0215bb34
.global data_ov17_0216ba9c
data_ov17_0216ba9c: ; 0x0216ba9c
.word func_ov00_0207f334
.global data_ov17_0216baa0
data_ov17_0216baa0: ; 0x0216baa0
.word func_ov00_0207f338
.global data_ov17_0216baa4
data_ov17_0216baa4: ; 0x0216baa4
.word func_ov17_0215b994
.global data_ov17_0216baa8
data_ov17_0216baa8: ; 0x0216baa8
.word func_ov17_0215b9c4
.global data_ov17_0216baac
data_ov17_0216baac: ; 0x0216baac
.word func_ov17_0215ba1c
.global data_ov17_0216bab0
data_ov17_0216bab0: ; 0x0216bab0
.word func_ov00_0207e060
.global data_ov17_0216bab4
data_ov17_0216bab4: ; 0x0216bab4
.word func_ov00_0207e444
.global data_ov17_0216bab8
data_ov17_0216bab8: ; 0x0216bab8
.word func_ov00_020807d4
.global data_ov17_0216babc
data_ov17_0216babc: ; 0x0216babc
.word func_ov17_0215bb14
.global data_ov17_0216bac0
data_ov17_0216bac0: ; 0x0216bac0
.word func_ov17_0215bb9c
.global data_ov17_0216bac4
data_ov17_0216bac4: ; 0x0216bac4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bac8
data_ov17_0216bac8: ; 0x0216bac8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bacc
data_ov17_0216bacc: ; 0x0216bacc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bad0
data_ov17_0216bad0: ; 0x0216bad0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bad4
data_ov17_0216bad4: ; 0x0216bad4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bad8
data_ov17_0216bad8: ; 0x0216bad8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216badc
data_ov17_0216badc: ; 0x0216badc
.word func_ov17_0215bea8
.global data_ov17_0216bae0
data_ov17_0216bae0: ; 0x0216bae0
.word func_ov17_0215bf10
.global data_ov17_0216bae4
data_ov17_0216bae4: ; 0x0216bae4
.word func_ov17_0215bf8c
.global data_ov17_0216bae8
data_ov17_0216bae8: ; 0x0216bae8
.word func_ov17_0215c100
.global data_ov17_0216baec
data_ov17_0216baec: ; 0x0216baec
.word func_ov17_0215c218
.global data_ov17_0216baf0
data_ov17_0216baf0: ; 0x0216baf0
.word func_ov00_0208b698
.global data_ov17_0216baf4
data_ov17_0216baf4: ; 0x0216baf4
.word func_ov00_0208b6b8
.global data_ov17_0216baf8
data_ov17_0216baf8: ; 0x0216baf8
.word func_ov17_0215c724
.global data_ov17_0216bafc
data_ov17_0216bafc: ; 0x0216bafc
.word func_ov00_0208b6bc
.global data_ov17_0216bb00
data_ov17_0216bb00: ; 0x0216bb00
.word func_ov17_0215c678
.global data_ov17_0216bb04
data_ov17_0216bb04: ; 0x0216bb04
.word func_ov00_0208b6c8
.global data_ov17_0216bb08
data_ov17_0216bb08: ; 0x0216bb08
.word func_ov00_0208b6d0
.global data_ov17_0216bb0c
data_ov17_0216bb0c: ; 0x0216bb0c
.word func_ov17_0215c6a8
.global data_ov17_0216bb10
data_ov17_0216bb10: ; 0x0216bb10
.word func_ov00_0208b6e0
.global data_ov17_0216bb14
data_ov17_0216bb14: ; 0x0216bb14
.word func_ov00_0208b6e8
.global data_ov17_0216bb18
data_ov17_0216bb18: ; 0x0216bb18
.word func_ov00_0208b6f0
.global data_ov17_0216bb1c
data_ov17_0216bb1c: ; 0x0216bb1c
.word func_ov00_0208b6f8
.global data_ov17_0216bb20
data_ov17_0216bb20: ; 0x0216bb20
.word func_ov00_0208b700
.global data_ov17_0216bb24
data_ov17_0216bb24: ; 0x0216bb24
.word func_ov17_0215c6a0
.global data_ov17_0216bb28
data_ov17_0216bb28: ; 0x0216bb28
.word func_ov00_0208b70c
.global data_ov17_0216bb2c
data_ov17_0216bb2c: ; 0x0216bb2c
.word func_ov00_0208b710
.global data_ov17_0216bb30
data_ov17_0216bb30: ; 0x0216bb30
.word func_ov00_0208ca00
.global data_ov17_0216bb34
data_ov17_0216bb34: ; 0x0216bb34
.word func_ov00_0208b71c
.global data_ov17_0216bb38
data_ov17_0216bb38: ; 0x0216bb38
.word func_ov17_0215c6dc
.global data_ov17_0216bb3c
data_ov17_0216bb3c: ; 0x0216bb3c
.word func_ov00_0208b870
.global data_ov17_0216bb40
data_ov17_0216bb40: ; 0x0216bb40
.word func_ov00_0208b89c
.global data_ov17_0216bb44
data_ov17_0216bb44: ; 0x0216bb44
.word func_ov00_0208ba30
.global data_ov17_0216bb48
data_ov17_0216bb48: ; 0x0216bb48
.word func_ov00_0208ba38
.global data_ov17_0216bb4c
data_ov17_0216bb4c: ; 0x0216bb4c
.word func_ov00_0208ba40
.global data_ov17_0216bb50
data_ov17_0216bb50: ; 0x0216bb50
.word func_ov00_0208ba48
.global data_ov17_0216bb54
data_ov17_0216bb54: ; 0x0216bb54
.word func_ov00_0208ba50
.global data_ov17_0216bb58
data_ov17_0216bb58: ; 0x0216bb58
.word func_ov17_0215c6e4
.global data_ov17_0216bb5c
data_ov17_0216bb5c: ; 0x0216bb5c
.word func_ov17_0215c2bc
.global data_ov17_0216bb60
data_ov17_0216bb60: ; 0x0216bb60
.word func_ov00_0208c38c
.global data_ov17_0216bb64
data_ov17_0216bb64: ; 0x0216bb64
.word func_ov00_0208c39c
.global data_ov17_0216bb68
data_ov17_0216bb68: ; 0x0216bb68
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bb6c
data_ov17_0216bb6c: ; 0x0216bb6c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bb70
data_ov17_0216bb70: ; 0x0216bb70
.word func_ov17_0215be94
.global data_ov17_0216bb74
data_ov17_0216bb74: ; 0x0216bb74
.word func_ov17_0215c80c
.global data_ov17_0216bb78
data_ov17_0216bb78: ; 0x0216bb78
.word func_ov00_020a960c
.global data_ov17_0216bb7c
data_ov17_0216bb7c: ; 0x0216bb7c
.word func_ov00_020a9614
.global data_ov17_0216bb80
data_ov17_0216bb80: ; 0x0216bb80
.word func_ov00_020a9650
.global data_ov17_0216bb84
data_ov17_0216bb84: ; 0x0216bb84
.word func_ov00_020a96d4
.global data_ov17_0216bb88
data_ov17_0216bb88: ; 0x0216bb88
.word func_ov00_020a9740
.global data_ov17_0216bb8c
data_ov17_0216bb8c: ; 0x0216bb8c
.word func_ov00_020a9764
.global data_ov17_0216bb90
data_ov17_0216bb90: ; 0x0216bb90
.word func_ov00_020a97d0
.global data_ov17_0216bb94
data_ov17_0216bb94: ; 0x0216bb94
.word func_ov00_020a97e0
.global data_ov17_0216bb98
data_ov17_0216bb98: ; 0x0216bb98
.word func_ov00_020a97f8
.global data_ov17_0216bb9c
data_ov17_0216bb9c: ; 0x0216bb9c
.word func_ov00_020a9864
.global data_ov17_0216bba0
data_ov17_0216bba0: ; 0x0216bba0
.word func_ov00_020a98bc
.global data_ov17_0216bba4
data_ov17_0216bba4: ; 0x0216bba4
.word func_ov00_020a9890
.global data_ov17_0216bba8
data_ov17_0216bba8: ; 0x0216bba8
.word func_ov00_020a9968
.global data_ov17_0216bbac
data_ov17_0216bbac: ; 0x0216bbac
.word func_ov17_0215c768
.global data_ov17_0216bbb0
data_ov17_0216bbb0: ; 0x0216bbb0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bbb4
data_ov17_0216bbb4: ; 0x0216bbb4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bbb8
data_ov17_0216bbb8: ; 0x0216bbb8
.word func_ov17_0215c8e8
.global data_ov17_0216bbbc
data_ov17_0216bbbc: ; 0x0216bbbc
.word func_ov17_0215c910
.global data_ov17_0216bbc0
data_ov17_0216bbc0: ; 0x0216bbc0
.word func_ov17_0215c940
.global data_ov17_0216bbc4
data_ov17_0216bbc4: ; 0x0216bbc4
.word func_ov17_0215cba8
.global data_ov17_0216bbc8
data_ov17_0216bbc8: ; 0x0216bbc8
.word func_ov17_0215cbc0
.global data_ov17_0216bbcc
data_ov17_0216bbcc: ; 0x0216bbcc
.word func_ov00_0208b698
.global data_ov17_0216bbd0
data_ov17_0216bbd0: ; 0x0216bbd0
.word func_ov17_0215ca70
.global data_ov17_0216bbd4
data_ov17_0216bbd4: ; 0x0216bbd4
.word func_ov17_0215ceec
.global data_ov17_0216bbd8
data_ov17_0216bbd8: ; 0x0216bbd8
.word func_ov00_0208b6bc
.global data_ov17_0216bbdc
data_ov17_0216bbdc: ; 0x0216bbdc
.word func_ov00_0208b6c4
.global data_ov17_0216bbe0
data_ov17_0216bbe0: ; 0x0216bbe0
.word func_ov17_0215cbcc
.global data_ov17_0216bbe4
data_ov17_0216bbe4: ; 0x0216bbe4
.word func_ov17_0215cc14
.global data_ov17_0216bbe8
data_ov17_0216bbe8: ; 0x0216bbe8
.word func_ov17_0215ccb0
.global data_ov17_0216bbec
data_ov17_0216bbec: ; 0x0216bbec
.word func_ov00_0208b6e0
.global data_ov17_0216bbf0
data_ov17_0216bbf0: ; 0x0216bbf0
.word func_ov00_0208b6e8
.global data_ov17_0216bbf4
data_ov17_0216bbf4: ; 0x0216bbf4
.word func_ov00_0208b6f0
.global data_ov17_0216bbf8
data_ov17_0216bbf8: ; 0x0216bbf8
.word func_ov00_0208b6f8
.global data_ov17_0216bbfc
data_ov17_0216bbfc: ; 0x0216bbfc
.word func_ov00_0208b700
.global data_ov17_0216bc00
data_ov17_0216bc00: ; 0x0216bc00
.word func_ov00_0208b704
.global data_ov17_0216bc04
data_ov17_0216bc04: ; 0x0216bc04
.word func_ov00_0208b70c
.global data_ov17_0216bc08
data_ov17_0216bc08: ; 0x0216bc08
.word func_ov00_0208b710
.global data_ov17_0216bc0c
data_ov17_0216bc0c: ; 0x0216bc0c
.word func_ov00_0208c9f8
.global data_ov17_0216bc10
data_ov17_0216bc10: ; 0x0216bc10
.word func_ov00_0208b71c
.global data_ov17_0216bc14
data_ov17_0216bc14: ; 0x0216bc14
.word func_ov00_0208b844
.global data_ov17_0216bc18
data_ov17_0216bc18: ; 0x0216bc18
.word func_ov00_0208b870
.global data_ov17_0216bc1c
data_ov17_0216bc1c: ; 0x0216bc1c
.word func_ov00_0208b89c
.global data_ov17_0216bc20
data_ov17_0216bc20: ; 0x0216bc20
.word func_ov00_0208ba30
.global data_ov17_0216bc24
data_ov17_0216bc24: ; 0x0216bc24
.word func_ov00_0208ba38
.global data_ov17_0216bc28
data_ov17_0216bc28: ; 0x0216bc28
.word func_ov00_0208ba40
.global data_ov17_0216bc2c
data_ov17_0216bc2c: ; 0x0216bc2c
.word func_ov00_0208ba48
.global data_ov17_0216bc30
data_ov17_0216bc30: ; 0x0216bc30
.word func_ov00_0208ba50
.global data_ov17_0216bc34
data_ov17_0216bc34: ; 0x0216bc34
.word func_ov17_0215ce04
.global data_ov17_0216bc38
data_ov17_0216bc38: ; 0x0216bc38
.word func_ov17_0215ccf4
.global data_ov17_0216bc3c
data_ov17_0216bc3c: ; 0x0216bc3c
.word func_ov00_0208c38c
.global data_ov17_0216bc40
data_ov17_0216bc40: ; 0x0216bc40
.word func_ov00_0208c39c
.global data_ov17_0216bc44
data_ov17_0216bc44: ; 0x0216bc44
.ascii "brg"
.byte 0x00
.global data_ov17_0216bc48
data_ov17_0216bc48: ; 0x0216bc48
.ascii "fnl"
.byte 0x00
.global data_ov17_0216bc4c
data_ov17_0216bc4c: ; 0x0216bc4c
.ascii "pdl"
.byte 0x00
.global data_ov17_0216bc50
data_ov17_0216bc50: ; 0x0216bc50
.ascii "dco"
.byte 0x00
.global data_ov17_0216bc54
data_ov17_0216bc54: ; 0x0216bc54
.ascii "can"
.byte 0x00
.global data_ov17_0216bc58
data_ov17_0216bc58: ; 0x0216bc58
.ascii "hul"
.byte 0x00
.global data_ov17_0216bc5c
data_ov17_0216bc5c: ; 0x0216bc5c
.ascii "bow"
.byte 0x00
.global data_ov17_0216bc60
data_ov17_0216bc60: ; 0x0216bc60
.ascii "anc"
.byte 0x00
.global data_ov17_0216bc64
data_ov17_0216bc64: ; 0x0216bc64
.word data_ov17_0216bc60
.global data_ov17_0216bc68
data_ov17_0216bc68: ; 0x0216bc68
.word data_ov17_0216bc5c
.global data_ov17_0216bc6c
data_ov17_0216bc6c: ; 0x0216bc6c
.word data_ov17_0216bc58
.global data_ov17_0216bc70
data_ov17_0216bc70: ; 0x0216bc70
.word data_ov17_0216bc54
.global data_ov17_0216bc74
data_ov17_0216bc74: ; 0x0216bc74
.word data_ov17_0216bc50
.global data_ov17_0216bc78
data_ov17_0216bc78: ; 0x0216bc78
.word data_ov17_0216bc4c
.global data_ov17_0216bc7c
data_ov17_0216bc7c: ; 0x0216bc7c
.word data_ov17_0216bc48
.global data_ov17_0216bc80
data_ov17_0216bc80: ; 0x0216bc80
.word data_ov17_0216bc44
.global data_ov17_0216bc84
data_ov17_0216bc84: ; 0x0216bc84
.word func_ov17_0215d114
.global data_ov17_0216bc88
data_ov17_0216bc88: ; 0x0216bc88
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bc8c
data_ov17_0216bc8c: ; 0x0216bc8c
.word func_ov17_0215d484
.global data_ov17_0216bc90
data_ov17_0216bc90: ; 0x0216bc90
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bc94
data_ov17_0216bc94: ; 0x0216bc94
.word func_ov17_0215d634
.global data_ov17_0216bc98
data_ov17_0216bc98: ; 0x0216bc98
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bc9c
data_ov17_0216bc9c: ; 0x0216bc9c
.word func_ov17_0215d6c0
.global data_ov17_0216bca0
data_ov17_0216bca0: ; 0x0216bca0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bca4
data_ov17_0216bca4: ; 0x0216bca4
.word func_ov17_0215d8b8
.global data_ov17_0216bca8
data_ov17_0216bca8: ; 0x0216bca8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bcac
data_ov17_0216bcac: ; 0x0216bcac
.word func_ov17_0215d9f0
.global data_ov17_0216bcb0
data_ov17_0216bcb0: ; 0x0216bcb0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bcb4
data_ov17_0216bcb4: ; 0x0216bcb4
.word func_ov17_0215d114
.global data_ov17_0216bcb8
data_ov17_0216bcb8: ; 0x0216bcb8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bcbc
data_ov17_0216bcbc: ; 0x0216bcbc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bcc0
data_ov17_0216bcc0: ; 0x0216bcc0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bcc4
data_ov17_0216bcc4: ; 0x0216bcc4
.word func_ov17_0215cf9c
.global data_ov17_0216bcc8
data_ov17_0216bcc8: ; 0x0216bcc8
.word func_ov17_0215cfdc
.global data_ov17_0216bccc
data_ov17_0216bccc: ; 0x0216bccc
.word func_ov17_0215d024
.global data_ov17_0216bcd0
data_ov17_0216bcd0: ; 0x0216bcd0
.word func_ov00_020c173c
.global data_ov17_0216bcd4
data_ov17_0216bcd4: ; 0x0216bcd4
.word func_ov00_020c1740
.global data_ov17_0216bcd8
data_ov17_0216bcd8: ; 0x0216bcd8
.word func_ov17_0215dd6c
.global data_ov17_0216bcdc
data_ov17_0216bcdc: ; 0x0216bcdc
.word func_ov17_0215ddbc
.global data_ov17_0216bce0
data_ov17_0216bce0: ; 0x0216bce0
.word func_ov00_020d4de8
.global data_ov17_0216bce4
data_ov17_0216bce4: ; 0x0216bce4
.word func_ov17_0215de10
.global data_ov17_0216bce8
data_ov17_0216bce8: ; 0x0216bce8
.word func_ov00_020d4f80
.global data_ov17_0216bcec
data_ov17_0216bcec: ; 0x0216bcec
.word func_ov00_020d4ff8
.global data_ov17_0216bcf0
data_ov17_0216bcf0: ; 0x0216bcf0
.word func_ov00_020c17a8
.global data_ov17_0216bcf4
data_ov17_0216bcf4: ; 0x0216bcf4
.word func_ov00_020c17b0
.global data_ov17_0216bcf8
data_ov17_0216bcf8: ; 0x0216bcf8
.word func_ov00_020c174c
.global data_ov17_0216bcfc
data_ov17_0216bcfc: ; 0x0216bcfc
.word func_ov00_020c177c
.global data_ov17_0216bd00
data_ov17_0216bd00: ; 0x0216bd00
.word func_ov00_020c27e4
.global data_ov17_0216bd04
data_ov17_0216bd04: ; 0x0216bd04
.word func_ov00_020c3004
.global data_ov17_0216bd08
data_ov17_0216bd08: ; 0x0216bd08
.word func_ov00_020c2744
.global data_ov17_0216bd0c
data_ov17_0216bd0c: ; 0x0216bd0c
.word func_ov00_020c1c48
.global data_ov17_0216bd10
data_ov17_0216bd10: ; 0x0216bd10
.word func_ov00_020c1c50
.global data_ov17_0216bd14
data_ov17_0216bd14: ; 0x0216bd14
.word func_ov00_020d4e90
.global data_ov17_0216bd18
data_ov17_0216bd18: ; 0x0216bd18
.word func_ov17_0215dfd8
.global data_ov17_0216bd1c
data_ov17_0216bd1c: ; 0x0216bd1c
.word func_ov17_0215dd30
.global data_ov17_0216bd20
data_ov17_0216bd20: ; 0x0216bd20
.word func_ov17_0215dd44
.global data_ov17_0216bd24
data_ov17_0216bd24: ; 0x0216bd24
.word func_ov00_020c18fc
.global data_ov17_0216bd28
data_ov17_0216bd28: ; 0x0216bd28
.word func_ov00_020c1904
.global data_ov17_0216bd2c
data_ov17_0216bd2c: ; 0x0216bd2c
.word func_ov00_020c1910
.global data_ov17_0216bd30
data_ov17_0216bd30: ; 0x0216bd30
.word func_ov00_020c1914
.global data_ov17_0216bd34
data_ov17_0216bd34: ; 0x0216bd34
.word func_ov00_020c191c
.global data_ov17_0216bd38
data_ov17_0216bd38: ; 0x0216bd38
.word func_ov00_020c1924
.global data_ov17_0216bd3c
data_ov17_0216bd3c: ; 0x0216bd3c
.word func_ov00_020c192c
.global data_ov17_0216bd40
data_ov17_0216bd40: ; 0x0216bd40
.word func_ov00_020c1928
.global data_ov17_0216bd44
data_ov17_0216bd44: ; 0x0216bd44
.word func_ov00_020c1934
.global data_ov17_0216bd48
data_ov17_0216bd48: ; 0x0216bd48
.word func_ov00_020c1938
.global data_ov17_0216bd4c
data_ov17_0216bd4c: ; 0x0216bd4c
.word func_ov00_020c193c
.global data_ov17_0216bd50
data_ov17_0216bd50: ; 0x0216bd50
.word func_ov00_020c1940
.global data_ov17_0216bd54
data_ov17_0216bd54: ; 0x0216bd54
.word func_ov00_020c1948
.global data_ov17_0216bd58
data_ov17_0216bd58: ; 0x0216bd58
.word func_ov00_020c1950
.global data_ov17_0216bd5c
data_ov17_0216bd5c: ; 0x0216bd5c
.word func_ov00_020c1954
.global data_ov17_0216bd60
data_ov17_0216bd60: ; 0x0216bd60
.word func_ov00_020c1958
.global data_ov17_0216bd64
data_ov17_0216bd64: ; 0x0216bd64
.word func_ov00_020c1b6c
.global data_ov17_0216bd68
data_ov17_0216bd68: ; 0x0216bd68
.word func_ov00_020c1bb4
.global data_ov17_0216bd6c
data_ov17_0216bd6c: ; 0x0216bd6c
.word func_ov00_020c1bf8
.global data_ov17_0216bd70
data_ov17_0216bd70: ; 0x0216bd70
.word func_ov00_020c31fc
.global data_ov17_0216bd74
data_ov17_0216bd74: ; 0x0216bd74
.word func_ov00_020c322c
.global data_ov17_0216bd78
data_ov17_0216bd78: ; 0x0216bd78
.word func_ov00_020d448c
.global data_ov17_0216bd7c
data_ov17_0216bd7c: ; 0x0216bd7c
.word func_ov17_0215d9f4
.global data_ov17_0216bd80
data_ov17_0216bd80: ; 0x0216bd80
.word func_ov00_020d4624
.global data_ov17_0216bd84
data_ov17_0216bd84: ; 0x0216bd84
.ascii "brg"
.byte 0x00
.global data_ov17_0216bd88
data_ov17_0216bd88: ; 0x0216bd88
.ascii "fnl"
.byte 0x00
.global data_ov17_0216bd8c
data_ov17_0216bd8c: ; 0x0216bd8c
.ascii "pdl"
.byte 0x00
.global data_ov17_0216bd90
data_ov17_0216bd90: ; 0x0216bd90
.ascii "dco"
.byte 0x00
.global data_ov17_0216bd94
data_ov17_0216bd94: ; 0x0216bd94
.ascii "can"
.byte 0x00
.global data_ov17_0216bd98
data_ov17_0216bd98: ; 0x0216bd98
.ascii "hul"
.byte 0x00
.global data_ov17_0216bd9c
data_ov17_0216bd9c: ; 0x0216bd9c
.ascii "bow"
.byte 0x00
.global data_ov17_0216bda0
data_ov17_0216bda0: ; 0x0216bda0
.ascii "anc"
.byte 0x00
.global data_ov17_0216bda4
data_ov17_0216bda4: ; 0x0216bda4
.word data_ov17_0216bda0
.global data_ov17_0216bda8
data_ov17_0216bda8: ; 0x0216bda8
.word data_ov17_0216bd9c
.global data_ov17_0216bdac
data_ov17_0216bdac: ; 0x0216bdac
.word data_ov17_0216bd98
.global data_ov17_0216bdb0
data_ov17_0216bdb0: ; 0x0216bdb0
.word data_ov17_0216bd94
.global data_ov17_0216bdb4
data_ov17_0216bdb4: ; 0x0216bdb4
.word data_ov17_0216bd90
.global data_ov17_0216bdb8
data_ov17_0216bdb8: ; 0x0216bdb8
.word data_ov17_0216bd8c
.global data_ov17_0216bdbc
data_ov17_0216bdbc: ; 0x0216bdbc
.word data_ov17_0216bd88
.global data_ov17_0216bdc0
data_ov17_0216bdc0: ; 0x0216bdc0
.word data_ov17_0216bd84 ; func_ov18_0216bd84
.global data_ov17_0216bdc4
data_ov17_0216bdc4: ; 0x0216bdc4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bdc8
data_ov17_0216bdc8: ; 0x0216bdc8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bdcc
data_ov17_0216bdcc: ; 0x0216bdcc
.word func_ov17_0215e2b0
.global data_ov17_0216bdd0
data_ov17_0216bdd0: ; 0x0216bdd0
.word func_ov17_0215e2f0
.global data_ov17_0216bdd4
data_ov17_0216bdd4: ; 0x0216bdd4
.word func_ov17_0215e8f4
.global data_ov17_0216bdd8
data_ov17_0216bdd8: ; 0x0216bdd8
.word func_ov00_020c173c
.global data_ov17_0216bddc
data_ov17_0216bddc: ; 0x0216bddc
.word func_ov00_020c1740
.global data_ov17_0216bde0
data_ov17_0216bde0: ; 0x0216bde0
.word func_ov17_0215e9f4
.global data_ov17_0216bde4
data_ov17_0216bde4: ; 0x0216bde4
.word func_ov00_020d4ac4
.global data_ov17_0216bde8
data_ov17_0216bde8: ; 0x0216bde8
.word func_ov00_020d4de8
.global data_ov17_0216bdec
data_ov17_0216bdec: ; 0x0216bdec
.word func_ov17_0215ef6c
.global data_ov17_0216bdf0
data_ov17_0216bdf0: ; 0x0216bdf0
.word func_ov00_020d4f80
.global data_ov17_0216bdf4
data_ov17_0216bdf4: ; 0x0216bdf4
.word func_ov00_020d4ff8
.global data_ov17_0216bdf8
data_ov17_0216bdf8: ; 0x0216bdf8
.word func_ov00_020c17a8
.global data_ov17_0216bdfc
data_ov17_0216bdfc: ; 0x0216bdfc
.word func_ov00_020c17b0
.global data_ov17_0216be00
data_ov17_0216be00: ; 0x0216be00
.word func_ov00_020c174c
.global data_ov17_0216be04
data_ov17_0216be04: ; 0x0216be04
.word func_ov00_020c177c
.global data_ov17_0216be08
data_ov17_0216be08: ; 0x0216be08
.word func_ov00_020c27e4
.global data_ov17_0216be0c
data_ov17_0216be0c: ; 0x0216be0c
.word func_ov00_020c3004
.global data_ov17_0216be10
data_ov17_0216be10: ; 0x0216be10
.word func_ov00_020c2744
.global data_ov17_0216be14
data_ov17_0216be14: ; 0x0216be14
.word func_ov00_020c1c48
.global data_ov17_0216be18
data_ov17_0216be18: ; 0x0216be18
.word func_ov00_020c1c50
.global data_ov17_0216be1c
data_ov17_0216be1c: ; 0x0216be1c
.word func_ov00_020d4e90
.global data_ov17_0216be20
data_ov17_0216be20: ; 0x0216be20
.word func_ov17_0215f030 ; func_ov18_0215f030
.global data_ov17_0216be24
data_ov17_0216be24: ; 0x0216be24
.word func_ov00_020d4e98
.global data_ov17_0216be28
data_ov17_0216be28: ; 0x0216be28
.word func_ov17_0215f048 ; func_ov18_0215f048
.global data_ov17_0216be2c
data_ov17_0216be2c: ; 0x0216be2c
.word func_ov00_020c18fc
.global data_ov17_0216be30
data_ov17_0216be30: ; 0x0216be30
.word func_ov00_020c1904
.global data_ov17_0216be34
data_ov17_0216be34: ; 0x0216be34
.word func_ov00_020c1910
.global data_ov17_0216be38
data_ov17_0216be38: ; 0x0216be38
.word func_ov00_020c1914
.global data_ov17_0216be3c
data_ov17_0216be3c: ; 0x0216be3c
.word func_ov00_020c191c
.global data_ov17_0216be40
data_ov17_0216be40: ; 0x0216be40
.word func_ov00_020c1924
.global data_ov17_0216be44
data_ov17_0216be44: ; 0x0216be44
.word func_ov00_020c192c
.global data_ov17_0216be48
data_ov17_0216be48: ; 0x0216be48
.word func_ov00_020c1928
.global data_ov17_0216be4c
data_ov17_0216be4c: ; 0x0216be4c
.word func_ov00_020c1934
.global data_ov17_0216be50
data_ov17_0216be50: ; 0x0216be50
.word func_ov00_020c1938
.global data_ov17_0216be54
data_ov17_0216be54: ; 0x0216be54
.word func_ov00_020c193c
.global data_ov17_0216be58
data_ov17_0216be58: ; 0x0216be58
.word func_ov00_020c1940
.global data_ov17_0216be5c
data_ov17_0216be5c: ; 0x0216be5c
.word func_ov00_020c1948
.global data_ov17_0216be60
data_ov17_0216be60: ; 0x0216be60
.word func_ov00_020c1950
.global data_ov17_0216be64
data_ov17_0216be64: ; 0x0216be64
.word func_ov00_020c1954
.global data_ov17_0216be68
data_ov17_0216be68: ; 0x0216be68
.word func_ov00_020c1958
.global data_ov17_0216be6c
data_ov17_0216be6c: ; 0x0216be6c
.word func_ov00_020c1b6c
.global data_ov17_0216be70
data_ov17_0216be70: ; 0x0216be70
.word func_ov00_020c1bb4
.global data_ov17_0216be74
data_ov17_0216be74: ; 0x0216be74
.word func_ov00_020c1bf8
.global data_ov17_0216be78
data_ov17_0216be78: ; 0x0216be78
.word func_ov00_020c31fc
.global data_ov17_0216be7c
data_ov17_0216be7c: ; 0x0216be7c
.word func_ov00_020c322c
.global data_ov17_0216be80
data_ov17_0216be80: ; 0x0216be80
.word func_ov00_020d448c
.global data_ov17_0216be84
data_ov17_0216be84: ; 0x0216be84
.word func_ov17_0215ea94
.global data_ov17_0216be88
data_ov17_0216be88: ; 0x0216be88
.word func_ov00_020d4624
.global data_ov17_0216be8c
data_ov17_0216be8c: ; 0x0216be8c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216be90
data_ov17_0216be90: ; 0x0216be90
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216be94
data_ov17_0216be94: ; 0x0216be94
.word func_ov00_020a9aac
.global data_ov17_0216be98
data_ov17_0216be98: ; 0x0216be98
.word func_ov00_020a9ab8
.global data_ov17_0216be9c
data_ov17_0216be9c: ; 0x0216be9c
.ascii "brg"
.byte 0x00
.global data_ov17_0216bea0
data_ov17_0216bea0: ; 0x0216bea0
.ascii "fnl"
.byte 0x00
.global data_ov17_0216bea4
data_ov17_0216bea4: ; 0x0216bea4
.ascii "pdl"
.byte 0x00
.global data_ov17_0216bea8
data_ov17_0216bea8: ; 0x0216bea8
.ascii "dco"
.byte 0x00
.global data_ov17_0216beac
data_ov17_0216beac: ; 0x0216beac
.ascii "can"
.byte 0x00
.global data_ov17_0216beb0
data_ov17_0216beb0: ; 0x0216beb0
.ascii "hul"
.byte 0x00
.global data_ov17_0216beb4
data_ov17_0216beb4: ; 0x0216beb4
.ascii "bow"
.byte 0x00
.global data_ov17_0216beb8
data_ov17_0216beb8: ; 0x0216beb8
.ascii "anc"
.byte 0x00
.global data_ov17_0216bebc
data_ov17_0216bebc: ; 0x0216bebc
.word data_ov17_0216beb8
.global data_ov17_0216bec0
data_ov17_0216bec0: ; 0x0216bec0
.word data_ov17_0216beb4
.global data_ov17_0216bec4
data_ov17_0216bec4: ; 0x0216bec4
.word data_ov17_0216beb0
.global data_ov17_0216bec8
data_ov17_0216bec8: ; 0x0216bec8
.word data_ov17_0216beac
.global data_ov17_0216becc
data_ov17_0216becc: ; 0x0216becc
.word data_ov17_0216bea8
.global data_ov17_0216bed0
data_ov17_0216bed0: ; 0x0216bed0
.word data_ov17_0216bea4
.global data_ov17_0216bed4
data_ov17_0216bed4: ; 0x0216bed4
.word data_ov17_0216bea0
.global data_ov17_0216bed8
data_ov17_0216bed8: ; 0x0216bed8
.word data_ov17_0216be9c ; func_ov18_0216be9c
.global data_ov17_0216bedc
data_ov17_0216bedc: ; 0x0216bedc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bee0
data_ov17_0216bee0: ; 0x0216bee0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bee4
data_ov17_0216bee4: ; 0x0216bee4
.word func_ov17_0215f10c
.global data_ov17_0216bee8
data_ov17_0216bee8: ; 0x0216bee8
.word func_ov17_0215f134
.global data_ov17_0216beec
data_ov17_0216beec: ; 0x0216beec
.word func_ov17_0215f16c
.global data_ov17_0216bef0
data_ov17_0216bef0: ; 0x0216bef0
.word func_ov00_020c173c
.global data_ov17_0216bef4
data_ov17_0216bef4: ; 0x0216bef4
.word func_ov00_020c1740
.global data_ov17_0216bef8
data_ov17_0216bef8: ; 0x0216bef8
.word func_ov00_020d4964
.global data_ov17_0216befc
data_ov17_0216befc: ; 0x0216befc
.word func_ov17_0215f958
.global data_ov17_0216bf00
data_ov17_0216bf00: ; 0x0216bf00
.word func_ov17_0215f71c
.global data_ov17_0216bf04
data_ov17_0216bf04: ; 0x0216bf04
.word func_ov17_0215f728
.global data_ov17_0216bf08
data_ov17_0216bf08: ; 0x0216bf08
.word func_ov00_020d4f80
.global data_ov17_0216bf0c
data_ov17_0216bf0c: ; 0x0216bf0c
.word func_ov00_020d4ff8
.global data_ov17_0216bf10
data_ov17_0216bf10: ; 0x0216bf10
.word func_ov00_020c17a8
.global data_ov17_0216bf14
data_ov17_0216bf14: ; 0x0216bf14
.word func_ov00_020c17b0
.global data_ov17_0216bf18
data_ov17_0216bf18: ; 0x0216bf18
.word func_ov00_020c174c
.global data_ov17_0216bf1c
data_ov17_0216bf1c: ; 0x0216bf1c
.word func_ov00_020c177c
.global data_ov17_0216bf20
data_ov17_0216bf20: ; 0x0216bf20
.word func_ov00_020c27e4
.global data_ov17_0216bf24
data_ov17_0216bf24: ; 0x0216bf24
.word func_ov00_020c3004
.global data_ov17_0216bf28
data_ov17_0216bf28: ; 0x0216bf28
.word func_ov00_020c2744
.global data_ov17_0216bf2c
data_ov17_0216bf2c: ; 0x0216bf2c
.word func_ov00_020c1c48
.global data_ov17_0216bf30
data_ov17_0216bf30: ; 0x0216bf30
.word func_ov00_020c1c50
.global data_ov17_0216bf34
data_ov17_0216bf34: ; 0x0216bf34
.word func_ov00_020d4e90
.global data_ov17_0216bf38
data_ov17_0216bf38: ; 0x0216bf38
.word func_ov17_0215f85c
.global data_ov17_0216bf3c
data_ov17_0216bf3c: ; 0x0216bf3c
.word func_ov17_0215f9a0
.global data_ov17_0216bf40
data_ov17_0216bf40: ; 0x0216bf40
.word func_ov17_0215fa24
.global data_ov17_0216bf44
data_ov17_0216bf44: ; 0x0216bf44
.word func_ov00_020c18fc
.global data_ov17_0216bf48
data_ov17_0216bf48: ; 0x0216bf48
.word func_ov00_020c1904
.global data_ov17_0216bf4c
data_ov17_0216bf4c: ; 0x0216bf4c
.word func_ov00_020c1910
.global data_ov17_0216bf50
data_ov17_0216bf50: ; 0x0216bf50
.word func_ov00_020c1914
.global data_ov17_0216bf54
data_ov17_0216bf54: ; 0x0216bf54
.word func_ov00_020c191c
.global data_ov17_0216bf58
data_ov17_0216bf58: ; 0x0216bf58
.word func_ov00_020c1924
.global data_ov17_0216bf5c
data_ov17_0216bf5c: ; 0x0216bf5c
.word func_ov00_020c192c
.global data_ov17_0216bf60
data_ov17_0216bf60: ; 0x0216bf60
.word func_ov00_020c1928
.global data_ov17_0216bf64
data_ov17_0216bf64: ; 0x0216bf64
.word func_ov00_020c1934
.global data_ov17_0216bf68
data_ov17_0216bf68: ; 0x0216bf68
.word func_ov00_020c1938
.global data_ov17_0216bf6c
data_ov17_0216bf6c: ; 0x0216bf6c
.word func_ov00_020c193c
.global data_ov17_0216bf70
data_ov17_0216bf70: ; 0x0216bf70
.word func_ov00_020c1940
.global data_ov17_0216bf74
data_ov17_0216bf74: ; 0x0216bf74
.word func_ov00_020c1948
.global data_ov17_0216bf78
data_ov17_0216bf78: ; 0x0216bf78
.word func_ov00_020c1950
.global data_ov17_0216bf7c
data_ov17_0216bf7c: ; 0x0216bf7c
.word func_ov00_020c1954
.global data_ov17_0216bf80
data_ov17_0216bf80: ; 0x0216bf80
.word func_ov00_020c1958
.global data_ov17_0216bf84
data_ov17_0216bf84: ; 0x0216bf84
.word func_ov00_020c1b6c
.global data_ov17_0216bf88
data_ov17_0216bf88: ; 0x0216bf88
.word func_ov00_020c1bb4
.global data_ov17_0216bf8c
data_ov17_0216bf8c: ; 0x0216bf8c
.word func_ov00_020c1bf8
.global data_ov17_0216bf90
data_ov17_0216bf90: ; 0x0216bf90
.word func_ov00_020c31fc
.global data_ov17_0216bf94
data_ov17_0216bf94: ; 0x0216bf94
.word func_ov00_020c322c
.global data_ov17_0216bf98
data_ov17_0216bf98: ; 0x0216bf98
.word func_ov17_0215f164
.global data_ov17_0216bf9c
data_ov17_0216bf9c: ; 0x0216bf9c
.word func_ov17_0215f300
.global data_ov17_0216bfa0
data_ov17_0216bfa0: ; 0x0216bfa0
.word func_ov00_020d4624
.global data_ov17_0216bfa4
data_ov17_0216bfa4: ; 0x0216bfa4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bfa8
data_ov17_0216bfa8: ; 0x0216bfa8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bfac
data_ov17_0216bfac: ; 0x0216bfac
.word func_ov00_020a9aac
.global data_ov17_0216bfb0
data_ov17_0216bfb0: ; 0x0216bfb0
.word func_ov00_020a9ab8
.global data_ov17_0216bfb4
data_ov17_0216bfb4: ; 0x0216bfb4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bfb8
data_ov17_0216bfb8: ; 0x0216bfb8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bfbc
data_ov17_0216bfbc: ; 0x0216bfbc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bfc0
data_ov17_0216bfc0: ; 0x0216bfc0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216bfc4
data_ov17_0216bfc4: ; 0x0216bfc4
.ascii "brg"
.byte 0x00
.global data_ov17_0216bfc8
data_ov17_0216bfc8: ; 0x0216bfc8
.ascii "fnl"
.byte 0x00
.global data_ov17_0216bfcc
data_ov17_0216bfcc: ; 0x0216bfcc
.ascii "pdl"
.byte 0x00
.global data_ov17_0216bfd0
data_ov17_0216bfd0: ; 0x0216bfd0
.ascii "dco"
.byte 0x00
.global data_ov17_0216bfd4
data_ov17_0216bfd4: ; 0x0216bfd4
.ascii "can"
.byte 0x00
.global data_ov17_0216bfd8
data_ov17_0216bfd8: ; 0x0216bfd8
.ascii "hul"
.byte 0x00
.global data_ov17_0216bfdc
data_ov17_0216bfdc: ; 0x0216bfdc
.ascii "bow"
.byte 0x00
.global data_ov17_0216bfe0
data_ov17_0216bfe0: ; 0x0216bfe0
.ascii "anc"
.byte 0x00
.global data_ov17_0216bfe4
data_ov17_0216bfe4: ; 0x0216bfe4
.word data_ov17_0216bfe0
.global data_ov17_0216bfe8
data_ov17_0216bfe8: ; 0x0216bfe8
.word data_ov17_0216bfdc
.global data_ov17_0216bfec
data_ov17_0216bfec: ; 0x0216bfec
.word data_ov17_0216bfd8
.global data_ov17_0216bff0
data_ov17_0216bff0: ; 0x0216bff0
.word data_ov17_0216bfd4
.global data_ov17_0216bff4
data_ov17_0216bff4: ; 0x0216bff4
.word data_ov17_0216bfd0
.global data_ov17_0216bff8
data_ov17_0216bff8: ; 0x0216bff8
.word data_ov17_0216bfcc
.global data_ov17_0216bffc
data_ov17_0216bffc: ; 0x0216bffc
.word data_ov17_0216bfc8
.global data_ov17_0216c000
data_ov17_0216c000: ; 0x0216c000
.word data_ov17_0216bfc4
.global data_ov17_0216c004
data_ov17_0216c004: ; 0x0216c004
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c008
data_ov17_0216c008: ; 0x0216c008
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c00c
data_ov17_0216c00c: ; 0x0216c00c
.word func_ov17_02161064 ; func_ov18_02161064
.global data_ov17_0216c010
data_ov17_0216c010: ; 0x0216c010
.word func_ov17_0216103c
.global data_ov17_0216c014
data_ov17_0216c014: ; 0x0216c014
.word func_ov17_021607b8
.global data_ov17_0216c018
data_ov17_0216c018: ; 0x0216c018
.word func_ov00_020c173c
.global data_ov17_0216c01c
data_ov17_0216c01c: ; 0x0216c01c
.word func_ov00_020c1740
.global data_ov17_0216c020
data_ov17_0216c020: ; 0x0216c020
.word func_ov17_02160e70 ; func_ov61_02160e70
.global data_ov17_0216c024
data_ov17_0216c024: ; 0x0216c024
.word func_ov17_02160ea4
.global data_ov17_0216c028
data_ov17_0216c028: ; 0x0216c028
.word func_ov00_020c17d4
.global data_ov17_0216c02c
data_ov17_0216c02c: ; 0x0216c02c
.word func_ov17_02160ee4
.global data_ov17_0216c030
data_ov17_0216c030: ; 0x0216c030
.word func_ov17_02160984
.global data_ov17_0216c034
data_ov17_0216c034: ; 0x0216c034
.word func_ov00_020c1748
.global data_ov17_0216c038
data_ov17_0216c038: ; 0x0216c038
.word func_ov00_020c17a8
.global data_ov17_0216c03c
data_ov17_0216c03c: ; 0x0216c03c
.word func_ov00_020c17b0
.global data_ov17_0216c040
data_ov17_0216c040: ; 0x0216c040
.word func_ov00_020c174c
.global data_ov17_0216c044
data_ov17_0216c044: ; 0x0216c044
.word func_ov00_020c177c
.global data_ov17_0216c048
data_ov17_0216c048: ; 0x0216c048
.word func_ov00_020c27e4
.global data_ov17_0216c04c
data_ov17_0216c04c: ; 0x0216c04c
.word func_ov00_020c3004
.global data_ov17_0216c050
data_ov17_0216c050: ; 0x0216c050
.word func_ov00_020c2744
.global data_ov17_0216c054
data_ov17_0216c054: ; 0x0216c054
.word func_ov00_020c1c48
.global data_ov17_0216c058
data_ov17_0216c058: ; 0x0216c058
.word func_ov00_020c1c50
.global data_ov17_0216c05c
data_ov17_0216c05c: ; 0x0216c05c
.word func_ov17_02160f9c
.global data_ov17_0216c060
data_ov17_0216c060: ; 0x0216c060
.word func_ov00_020c3114
.global data_ov17_0216c064
data_ov17_0216c064: ; 0x0216c064
.word func_ov00_020c18a8
.global data_ov17_0216c068
data_ov17_0216c068: ; 0x0216c068
.word func_ov00_020c18c4
.global data_ov17_0216c06c
data_ov17_0216c06c: ; 0x0216c06c
.word func_ov17_021609e4
.global data_ov17_0216c070
data_ov17_0216c070: ; 0x0216c070
.word func_ov17_021609ec
.global data_ov17_0216c074
data_ov17_0216c074: ; 0x0216c074
.word func_ov00_020c1910
.global data_ov17_0216c078
data_ov17_0216c078: ; 0x0216c078
.word func_ov00_020c1914
.global data_ov17_0216c07c
data_ov17_0216c07c: ; 0x0216c07c
.word func_ov00_020c191c
.global data_ov17_0216c080
data_ov17_0216c080: ; 0x0216c080
.word func_ov00_020c1924
.global data_ov17_0216c084
data_ov17_0216c084: ; 0x0216c084
.word func_ov00_020c192c
.global data_ov17_0216c088
data_ov17_0216c088: ; 0x0216c088
.word func_ov00_020c1928
.global data_ov17_0216c08c
data_ov17_0216c08c: ; 0x0216c08c
.word func_ov00_020c1934
.global data_ov17_0216c090
data_ov17_0216c090: ; 0x0216c090
.word func_ov00_020c1938
.global data_ov17_0216c094
data_ov17_0216c094: ; 0x0216c094
.word func_ov00_020c193c
.global data_ov17_0216c098
data_ov17_0216c098: ; 0x0216c098
.word func_ov00_020c1940
.global data_ov17_0216c09c
data_ov17_0216c09c: ; 0x0216c09c
.word func_ov00_020c1948
.global data_ov17_0216c0a0
data_ov17_0216c0a0: ; 0x0216c0a0
.word func_ov00_020c1950
.global data_ov17_0216c0a4
data_ov17_0216c0a4: ; 0x0216c0a4
.word func_ov00_020c1954
.global data_ov17_0216c0a8
data_ov17_0216c0a8: ; 0x0216c0a8
.word func_ov00_020c1958
.global data_ov17_0216c0ac
data_ov17_0216c0ac: ; 0x0216c0ac
.word func_ov00_020c1b6c
.global data_ov17_0216c0b0
data_ov17_0216c0b0: ; 0x0216c0b0
.word func_ov00_020c1bb4
.global data_ov17_0216c0b4
data_ov17_0216c0b4: ; 0x0216c0b4
.word func_ov00_020c1bf8
.global data_ov17_0216c0b8
data_ov17_0216c0b8: ; 0x0216c0b8
.word func_ov00_020c31fc
.global data_ov17_0216c0bc
data_ov17_0216c0bc: ; 0x0216c0bc
.word func_ov00_020c322c
.global data_ov17_0216c0c0
data_ov17_0216c0c0: ; 0x0216c0c0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c0c4
data_ov17_0216c0c4: ; 0x0216c0c4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c0c8
data_ov17_0216c0c8: ; 0x0216c0c8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c0cc
data_ov17_0216c0cc: ; 0x0216c0cc
.word func_ov17_021610f0
.global data_ov17_0216c0d0
data_ov17_0216c0d0: ; 0x0216c0d0
.word func_ov17_0216112c
.global data_ov17_0216c0d4
data_ov17_0216c0d4: ; 0x0216c0d4
.word func_ov17_02161170
.global data_ov17_0216c0d8
data_ov17_0216c0d8: ; 0x0216c0d8
.word func_ov17_021611cc
.global data_ov17_0216c0dc
data_ov17_0216c0dc: ; 0x0216c0dc
.word func_ov17_021614f4
.global data_ov17_0216c0e0
data_ov17_0216c0e0: ; 0x0216c0e0
.word func_ov00_0208b698
.global data_ov17_0216c0e4
data_ov17_0216c0e4: ; 0x0216c0e4
.word func_ov14_02126abc
.global data_ov17_0216c0e8
data_ov17_0216c0e8: ; 0x0216c0e8
.word func_ov17_02161a94
.global data_ov17_0216c0ec
data_ov17_0216c0ec: ; 0x0216c0ec
.word func_ov00_0208b6bc
.global data_ov17_0216c0f0
data_ov17_0216c0f0: ; 0x0216c0f0
.word func_ov00_0208b6c4
.global data_ov17_0216c0f4
data_ov17_0216c0f4: ; 0x0216c0f4
.word func_ov00_0208b6c8
.global data_ov17_0216c0f8
data_ov17_0216c0f8: ; 0x0216c0f8
.word func_ov00_0208b6d0
.global data_ov17_0216c0fc
data_ov17_0216c0fc: ; 0x0216c0fc
.word func_ov00_0208b6d8
.global data_ov17_0216c100
data_ov17_0216c100: ; 0x0216c100
.word func_ov00_0208b6e0
.global data_ov17_0216c104
data_ov17_0216c104: ; 0x0216c104
.word func_ov00_0208b6e8
.global data_ov17_0216c108
data_ov17_0216c108: ; 0x0216c108
.word func_ov00_0208b6f0
.global data_ov17_0216c10c
data_ov17_0216c10c: ; 0x0216c10c
.word func_ov00_0208b6f8
.global data_ov17_0216c110
data_ov17_0216c110: ; 0x0216c110
.word func_ov00_0208b700
.global data_ov17_0216c114
data_ov17_0216c114: ; 0x0216c114
.word func_ov00_0208b704
.global data_ov17_0216c118
data_ov17_0216c118: ; 0x0216c118
.word func_ov11_021279cc - 1 ; func_ov14_021279cc
.global data_ov17_0216c11c
data_ov17_0216c11c: ; 0x0216c11c
.word func_ov00_0208b710
.global data_ov17_0216c120
data_ov17_0216c120: ; 0x0216c120
.word func_ov00_0208ca00
.global data_ov17_0216c124
data_ov17_0216c124: ; 0x0216c124
.word func_ov00_0208b71c
.global data_ov17_0216c128
data_ov17_0216c128: ; 0x0216c128
.word func_ov00_0208b844
.global data_ov17_0216c12c
data_ov17_0216c12c: ; 0x0216c12c
.word func_ov00_0208b870
.global data_ov17_0216c130
data_ov17_0216c130: ; 0x0216c130
.word func_ov00_0208b89c
.global data_ov17_0216c134
data_ov17_0216c134: ; 0x0216c134
.word func_ov00_0208ba30
.global data_ov17_0216c138
data_ov17_0216c138: ; 0x0216c138
.word func_ov00_0208ba38
.global data_ov17_0216c13c
data_ov17_0216c13c: ; 0x0216c13c
.word func_ov00_0208ba40
.global data_ov17_0216c140
data_ov17_0216c140: ; 0x0216c140
.word func_ov00_0208ba48
.global data_ov17_0216c144
data_ov17_0216c144: ; 0x0216c144
.word func_ov00_0208ba50
.global data_ov17_0216c148
data_ov17_0216c148: ; 0x0216c148
.word func_ov17_021617a8
.global data_ov17_0216c14c
data_ov17_0216c14c: ; 0x0216c14c
.word func_ov17_021612b0
.global data_ov17_0216c150
data_ov17_0216c150: ; 0x0216c150
.word func_ov00_0208c38c
.global data_ov17_0216c154
data_ov17_0216c154: ; 0x0216c154
.word func_ov00_0208c39c
.global data_ov17_0216c158
data_ov17_0216c158: ; 0x0216c158
.word func_ov14_02127034
.global data_ov17_0216c15c
data_ov17_0216c15c: ; 0x0216c15c
.word func_ov17_0216161c
.global data_ov17_0216c160
data_ov17_0216c160: ; 0x0216c160
.word func_ov17_02161680
.global data_ov17_0216c164
data_ov17_0216c164: ; 0x0216c164
.word func_ov17_021616ec ; func_ov18_021616ec
.global data_ov17_0216c168
data_ov17_0216c168: ; 0x0216c168
.word func_ov17_02161824
.global data_ov17_0216c16c
data_ov17_0216c16c: ; 0x0216c16c
.word func_ov17_02161918
.global data_ov17_0216c170
data_ov17_0216c170: ; 0x0216c170
.word func_ov17_02161a70
.global data_ov17_0216c174
data_ov17_0216c174: ; 0x0216c174
.word func_ov17_02161a9c
.global data_ov17_0216c178
data_ov17_0216c178: ; 0x0216c178
.word func_ov14_02127984
.global data_ov17_0216c17c
data_ov17_0216c17c: ; 0x0216c17c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c180
data_ov17_0216c180: ; 0x0216c180
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c184
data_ov17_0216c184: ; 0x0216c184
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c188
data_ov17_0216c188: ; 0x0216c188
.word func_ov17_02161b50
.global data_ov17_0216c18c
data_ov17_0216c18c: ; 0x0216c18c
.word func_ov17_02161b64 ; func_ov61_02161b64
.global data_ov17_0216c190
data_ov17_0216c190: ; 0x0216c190
.word func_ov14_02126854
.global data_ov17_0216c194
data_ov17_0216c194: ; 0x0216c194
.word func_ov14_02126b04
.global data_ov17_0216c198
data_ov17_0216c198: ; 0x0216c198
.word func_ov14_021276f8
.global data_ov17_0216c19c
data_ov17_0216c19c: ; 0x0216c19c
.word func_ov00_0208b698
.global data_ov17_0216c1a0
data_ov17_0216c1a0: ; 0x0216c1a0
.word func_ov14_02126abc
.global data_ov17_0216c1a4
data_ov17_0216c1a4: ; 0x0216c1a4
.word func_ov17_02161e60
.global data_ov17_0216c1a8
data_ov17_0216c1a8: ; 0x0216c1a8
.word func_ov00_0208b6bc
.global data_ov17_0216c1ac
data_ov17_0216c1ac: ; 0x0216c1ac
.word func_ov00_0208b6c4
.global data_ov17_0216c1b0
data_ov17_0216c1b0: ; 0x0216c1b0
.word func_ov00_0208b6c8
.global data_ov17_0216c1b4
data_ov17_0216c1b4: ; 0x0216c1b4
.word func_ov00_0208b6d0
.global data_ov17_0216c1b8
data_ov17_0216c1b8: ; 0x0216c1b8
.word func_ov00_0208b6d8
.global data_ov17_0216c1bc
data_ov17_0216c1bc: ; 0x0216c1bc
.word func_ov00_0208b6e0
.global data_ov17_0216c1c0
data_ov17_0216c1c0: ; 0x0216c1c0
.word func_ov00_0208b6e8
.global data_ov17_0216c1c4
data_ov17_0216c1c4: ; 0x0216c1c4
.word func_ov00_0208b6f0
.global data_ov17_0216c1c8
data_ov17_0216c1c8: ; 0x0216c1c8
.word func_ov00_0208b6f8
.global data_ov17_0216c1cc
data_ov17_0216c1cc: ; 0x0216c1cc
.word func_ov00_0208b700
.global data_ov17_0216c1d0
data_ov17_0216c1d0: ; 0x0216c1d0
.word func_ov00_0208b704
.global data_ov17_0216c1d4
data_ov17_0216c1d4: ; 0x0216c1d4
.word func_ov11_021279cc - 1; func_ov14_021279cc
.global data_ov17_0216c1d8
data_ov17_0216c1d8: ; 0x0216c1d8
.word func_ov00_0208b710
.global data_ov17_0216c1dc
data_ov17_0216c1dc: ; 0x0216c1dc
.word func_ov00_0208ca00
.global data_ov17_0216c1e0
data_ov17_0216c1e0: ; 0x0216c1e0
.word func_ov00_0208b71c
.global data_ov17_0216c1e4
data_ov17_0216c1e4: ; 0x0216c1e4
.word func_ov00_0208b844
.global data_ov17_0216c1e8
data_ov17_0216c1e8: ; 0x0216c1e8
.word func_ov00_0208b870
.global data_ov17_0216c1ec
data_ov17_0216c1ec: ; 0x0216c1ec
.word func_ov00_0208b89c
.global data_ov17_0216c1f0
data_ov17_0216c1f0: ; 0x0216c1f0
.word func_ov00_0208ba30
.global data_ov17_0216c1f4
data_ov17_0216c1f4: ; 0x0216c1f4
.word func_ov00_0208ba38
.global data_ov17_0216c1f8
data_ov17_0216c1f8: ; 0x0216c1f8
.word func_ov00_0208ba40
.global data_ov17_0216c1fc
data_ov17_0216c1fc: ; 0x0216c1fc
.word func_ov00_0208ba48
.global data_ov17_0216c200
data_ov17_0216c200: ; 0x0216c200
.word func_ov00_0208ba50
.global data_ov17_0216c204
data_ov17_0216c204: ; 0x0216c204
.word func_ov17_02161d50
.global data_ov17_0216c208
data_ov17_0216c208: ; 0x0216c208
.word func_ov17_02161bf4
.global data_ov17_0216c20c
data_ov17_0216c20c: ; 0x0216c20c
.word func_ov00_0208c38c
.global data_ov17_0216c210
data_ov17_0216c210: ; 0x0216c210
.word func_ov00_0208c39c
.global data_ov17_0216c214
data_ov17_0216c214: ; 0x0216c214
.word func_ov17_02161b80
.global data_ov17_0216c218
data_ov17_0216c218: ; 0x0216c218
.word func_ov17_02161c84
.global data_ov17_0216c21c
data_ov17_0216c21c: ; 0x0216c21c
.word func_ov17_02161cc4
.global data_ov17_0216c220
data_ov17_0216c220: ; 0x0216c220
.word func_ov17_02161d04
.global data_ov17_0216c224
data_ov17_0216c224: ; 0x0216c224
.word func_ov14_02127a14
.global data_ov17_0216c228
data_ov17_0216c228: ; 0x0216c228
.word func_ov17_02161e68
.global data_ov17_0216c22c
data_ov17_0216c22c: ; 0x0216c22c
.word func_ov14_02127ac4
.global data_ov17_0216c230
data_ov17_0216c230: ; 0x0216c230
.word func_ov17_02161a9c
.global data_ov17_0216c234
data_ov17_0216c234: ; 0x0216c234
.word func_ov17_02161e48 ; func_ov18_02161e48
.global data_ov17_0216c238
data_ov17_0216c238: ; 0x0216c238
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c23c
data_ov17_0216c23c: ; 0x0216c23c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c240
data_ov17_0216c240: ; 0x0216c240
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c244
data_ov17_0216c244: ; 0x0216c244
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c248
data_ov17_0216c248: ; 0x0216c248
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c24c
data_ov17_0216c24c: ; 0x0216c24c
.word func_ov17_02161ffc
.global data_ov17_0216c250
data_ov17_0216c250: ; 0x0216c250
.word func_ov17_02162054
.global data_ov17_0216c254
data_ov17_0216c254: ; 0x0216c254
.word func_ov17_021620b4 ; func_ov61_021620b4
.global data_ov17_0216c258
data_ov17_0216c258: ; 0x0216c258
.word func_ov17_02162238
.global data_ov17_0216c25c
data_ov17_0216c25c: ; 0x0216c25c
.word func_ov00_0208b694
.global data_ov17_0216c260
data_ov17_0216c260: ; 0x0216c260
.word func_ov00_0208b698
.global data_ov17_0216c264
data_ov17_0216c264: ; 0x0216c264
.word func_ov17_021621c8
.global data_ov17_0216c268
data_ov17_0216c268: ; 0x0216c268
.word func_ov17_0216260c
.global data_ov17_0216c26c
data_ov17_0216c26c: ; 0x0216c26c
.word func_ov00_0208b6bc
.global data_ov17_0216c270
data_ov17_0216c270: ; 0x0216c270
.word func_ov00_0208b6c4
.global data_ov17_0216c274
data_ov17_0216c274: ; 0x0216c274
.word func_ov00_0208b6c8
.global data_ov17_0216c278
data_ov17_0216c278: ; 0x0216c278
.word func_ov00_0208b6d0
.global data_ov17_0216c27c
data_ov17_0216c27c: ; 0x0216c27c
.word func_ov00_0208b6d8
.global data_ov17_0216c280
data_ov17_0216c280: ; 0x0216c280
.word func_ov00_0208b6e0
.global data_ov17_0216c284
data_ov17_0216c284: ; 0x0216c284
.word func_ov00_0208b6e8
.global data_ov17_0216c288
data_ov17_0216c288: ; 0x0216c288
.word func_ov00_0208b6f0
.global data_ov17_0216c28c
data_ov17_0216c28c: ; 0x0216c28c
.word func_ov00_0208b6f8
.global data_ov17_0216c290
data_ov17_0216c290: ; 0x0216c290
.word func_ov00_0208b700
.global data_ov17_0216c294
data_ov17_0216c294: ; 0x0216c294
.word func_ov17_021623e8
.global data_ov17_0216c298
data_ov17_0216c298: ; 0x0216c298
.word func_ov00_0208b70c
.global data_ov17_0216c29c
data_ov17_0216c29c: ; 0x0216c29c
.word func_ov00_0208b710
.global data_ov17_0216c2a0
data_ov17_0216c2a0: ; 0x0216c2a0
.word func_ov00_0208c9f8
.global data_ov17_0216c2a4
data_ov17_0216c2a4: ; 0x0216c2a4
.word func_ov00_0208b71c
.global data_ov17_0216c2a8
data_ov17_0216c2a8: ; 0x0216c2a8
.word func_ov00_0208b844
.global data_ov17_0216c2ac
data_ov17_0216c2ac: ; 0x0216c2ac
.word func_ov00_0208b870
.global data_ov17_0216c2b0
data_ov17_0216c2b0: ; 0x0216c2b0
.word func_ov00_0208b89c
.global data_ov17_0216c2b4
data_ov17_0216c2b4: ; 0x0216c2b4
.word func_ov00_0208ba30
.global data_ov17_0216c2b8
data_ov17_0216c2b8: ; 0x0216c2b8
.word func_ov00_0208ba38
.global data_ov17_0216c2bc
data_ov17_0216c2bc: ; 0x0216c2bc
.word func_ov00_0208ba40
.global data_ov17_0216c2c0
data_ov17_0216c2c0: ; 0x0216c2c0
.word func_ov00_0208ba48
.global data_ov17_0216c2c4
data_ov17_0216c2c4: ; 0x0216c2c4
.word func_ov00_0208ba50
.global data_ov17_0216c2c8
data_ov17_0216c2c8: ; 0x0216c2c8
.word func_ov17_02162530
.global data_ov17_0216c2cc
data_ov17_0216c2cc: ; 0x0216c2cc
.word func_ov17_021622f4
.global data_ov17_0216c2d0
data_ov17_0216c2d0: ; 0x0216c2d0
.word func_ov00_0208c38c
.global data_ov17_0216c2d4
data_ov17_0216c2d4: ; 0x0216c2d4
.word func_ov00_0208c39c
.global data_ov17_0216c2d8
data_ov17_0216c2d8: ; 0x0216c2d8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c2dc
data_ov17_0216c2dc: ; 0x0216c2dc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c2e0
data_ov17_0216c2e0: ; 0x0216c2e0
.word func_ov00_020a9aac
.global data_ov17_0216c2e4
data_ov17_0216c2e4: ; 0x0216c2e4
.word func_ov00_020a9ab8
.global data_ov17_0216c2e8
data_ov17_0216c2e8: ; 0x0216c2e8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c2ec
data_ov17_0216c2ec: ; 0x0216c2ec
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c2f0
data_ov17_0216c2f0: ; 0x0216c2f0
.word func_ov17_021626a4
.global data_ov17_0216c2f4
data_ov17_0216c2f4: ; 0x0216c2f4
.word func_ov17_021626c4
.global data_ov17_0216c2f8
data_ov17_0216c2f8: ; 0x0216c2f8
.word func_ov17_021626ec
.global data_ov17_0216c2fc
data_ov17_0216c2fc: ; 0x0216c2fc
.word func_ov17_0216270c
.global data_ov17_0216c300
data_ov17_0216c300: ; 0x0216c300
.word func_ov00_0208b694
.global data_ov17_0216c304
data_ov17_0216c304: ; 0x0216c304
.word func_ov00_0208b698
.global data_ov17_0216c308
data_ov17_0216c308: ; 0x0216c308
.word func_ov00_0208b6b8
.global data_ov17_0216c30c
data_ov17_0216c30c: ; 0x0216c30c
.word func_ov17_02162804
.global data_ov17_0216c310
data_ov17_0216c310: ; 0x0216c310
.word func_ov00_0208b6bc
.global data_ov17_0216c314
data_ov17_0216c314: ; 0x0216c314
.word func_ov00_0208b6c4
.global data_ov17_0216c318
data_ov17_0216c318: ; 0x0216c318
.word func_ov00_0208b6c8
.global data_ov17_0216c31c
data_ov17_0216c31c: ; 0x0216c31c
.word func_ov00_0208b6d0
.global data_ov17_0216c320
data_ov17_0216c320: ; 0x0216c320
.word func_ov14_0214bbb8
.global data_ov17_0216c324
data_ov17_0216c324: ; 0x0216c324
.word func_ov14_0214bbdc
.global data_ov17_0216c328
data_ov17_0216c328: ; 0x0216c328
.word func_ov00_0208b6e8
.global data_ov17_0216c32c
data_ov17_0216c32c: ; 0x0216c32c
.word func_ov00_0208b6f0
.global data_ov17_0216c330
data_ov17_0216c330: ; 0x0216c330
.word func_ov00_0208b6f8
.global data_ov17_0216c334
data_ov17_0216c334: ; 0x0216c334
.word func_ov00_0208b700
.global data_ov17_0216c338
data_ov17_0216c338: ; 0x0216c338
.word func_ov00_0208b704
.global data_ov17_0216c33c
data_ov17_0216c33c: ; 0x0216c33c
.word func_ov00_0208b70c
.global data_ov17_0216c340
data_ov17_0216c340: ; 0x0216c340
.word func_ov00_0208b710
.global data_ov17_0216c344
data_ov17_0216c344: ; 0x0216c344
.word func_ov00_0208ca00
.global data_ov17_0216c348
data_ov17_0216c348: ; 0x0216c348
.word func_ov00_0208b71c
.global data_ov17_0216c34c
data_ov17_0216c34c: ; 0x0216c34c
.word func_ov00_0208b844
.global data_ov17_0216c350
data_ov17_0216c350: ; 0x0216c350
.word func_ov00_0208b870
.global data_ov17_0216c354
data_ov17_0216c354: ; 0x0216c354
.word func_ov17_021627a8
.global data_ov17_0216c358
data_ov17_0216c358: ; 0x0216c358
.word func_ov00_0208ba30
.global data_ov17_0216c35c
data_ov17_0216c35c: ; 0x0216c35c
.word func_ov00_0208ba38
.global data_ov17_0216c360
data_ov17_0216c360: ; 0x0216c360
.word func_ov00_0208ba40
.global data_ov17_0216c364
data_ov17_0216c364: ; 0x0216c364
.word func_ov00_0208ba48
.global data_ov17_0216c368
data_ov17_0216c368: ; 0x0216c368
.word func_ov00_0208ba50
.global data_ov17_0216c36c
data_ov17_0216c36c: ; 0x0216c36c
.word func_ov17_0216274c
.global data_ov17_0216c370
data_ov17_0216c370: ; 0x0216c370
.word func_ov17_02162740
.global data_ov17_0216c374
data_ov17_0216c374: ; 0x0216c374
.word func_ov00_0208c38c
.global data_ov17_0216c378
data_ov17_0216c378: ; 0x0216c378
.word func_ov00_0208c39c
.global data_ov17_0216c37c
data_ov17_0216c37c: ; 0x0216c37c
.word func_ov14_0214be78
.global data_ov17_0216c380
data_ov17_0216c380: ; 0x0216c380
.word func_ov14_0214bec8
.global data_ov17_0216c384
data_ov17_0216c384: ; 0x0216c384
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c388
data_ov17_0216c388: ; 0x0216c388
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c38c
data_ov17_0216c38c: ; 0x0216c38c
.word func_ov17_02162690
.global data_ov17_0216c390
data_ov17_0216c390: ; 0x0216c390
.word func_ov17_021628ac
.global data_ov17_0216c394
data_ov17_0216c394: ; 0x0216c394
.word func_ov00_020a960c
.global data_ov17_0216c398
data_ov17_0216c398: ; 0x0216c398
.word func_ov00_020a9614
.global data_ov17_0216c39c
data_ov17_0216c39c: ; 0x0216c39c
.word func_ov00_020a9650
.global data_ov17_0216c3a0
data_ov17_0216c3a0: ; 0x0216c3a0
.word func_ov00_020a96d4
.global data_ov17_0216c3a4
data_ov17_0216c3a4: ; 0x0216c3a4
.word func_ov00_020a9740
.global data_ov17_0216c3a8
data_ov17_0216c3a8: ; 0x0216c3a8
.word func_ov00_020a9764
.global data_ov17_0216c3ac
data_ov17_0216c3ac: ; 0x0216c3ac
.word func_ov00_020a97d0
.global data_ov17_0216c3b0
data_ov17_0216c3b0: ; 0x0216c3b0
.word func_ov00_020a97e0
.global data_ov17_0216c3b4
data_ov17_0216c3b4: ; 0x0216c3b4
.word func_ov00_020a97f8
.global data_ov17_0216c3b8
data_ov17_0216c3b8: ; 0x0216c3b8
.word func_ov00_020a9864
.global data_ov17_0216c3bc
data_ov17_0216c3bc: ; 0x0216c3bc
.word func_ov00_020a98bc
.global data_ov17_0216c3c0
data_ov17_0216c3c0: ; 0x0216c3c0
.word func_ov00_020a9890
.global data_ov17_0216c3c4
data_ov17_0216c3c4: ; 0x0216c3c4
.word func_ov00_020a9968
.global data_ov17_0216c3c8
data_ov17_0216c3c8: ; 0x0216c3c8
.word func_ov17_02162844
.global data_ov17_0216c3cc
data_ov17_0216c3cc: ; 0x0216c3cc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c3d0
data_ov17_0216c3d0: ; 0x0216c3d0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c3d4
data_ov17_0216c3d4: ; 0x0216c3d4
.word func_ov17_02162a34
.global data_ov17_0216c3d8
data_ov17_0216c3d8: ; 0x0216c3d8
.word func_ov17_02162a94
.global data_ov17_0216c3dc
data_ov17_0216c3dc: ; 0x0216c3dc
.word func_ov17_02162afc
.global data_ov17_0216c3e0
data_ov17_0216c3e0: ; 0x0216c3e0
.word func_ov17_02162bf0
.global data_ov17_0216c3e4
data_ov17_0216c3e4: ; 0x0216c3e4
.word func_ov00_0208b694
.global data_ov17_0216c3e8
data_ov17_0216c3e8: ; 0x0216c3e8
.word func_ov00_0208b698
.global data_ov17_0216c3ec
data_ov17_0216c3ec: ; 0x0216c3ec
.word func_ov00_0208b6b8
.global data_ov17_0216c3f0
data_ov17_0216c3f0: ; 0x0216c3f0
.word func_ov17_02162f90
.global data_ov17_0216c3f4
data_ov17_0216c3f4: ; 0x0216c3f4
.word func_ov17_02162dd0
.global data_ov17_0216c3f8
data_ov17_0216c3f8: ; 0x0216c3f8
.word func_ov00_0208b6c4
.global data_ov17_0216c3fc
data_ov17_0216c3fc: ; 0x0216c3fc
.word func_ov00_0208b6c8
.global data_ov17_0216c400
data_ov17_0216c400: ; 0x0216c400
.word func_ov00_0208b6d0
.global data_ov17_0216c404
data_ov17_0216c404: ; 0x0216c404
.word func_ov00_0208b6d8
.global data_ov17_0216c408
data_ov17_0216c408: ; 0x0216c408
.word func_ov00_0208b6e0
.global data_ov17_0216c40c
data_ov17_0216c40c: ; 0x0216c40c
.word func_ov17_02162f4c
.global data_ov17_0216c410
data_ov17_0216c410: ; 0x0216c410
.word func_ov00_0208b6f0
.global data_ov17_0216c414
data_ov17_0216c414: ; 0x0216c414
.word func_ov00_0208b6f8
.global data_ov17_0216c418
data_ov17_0216c418: ; 0x0216c418
.word func_ov00_0208b700
.global data_ov17_0216c41c
data_ov17_0216c41c: ; 0x0216c41c
.word func_ov17_02162e84 ; func_ov61_02162e84
.global data_ov17_0216c420
data_ov17_0216c420: ; 0x0216c420
.word func_ov00_0208b70c
.global data_ov17_0216c424
data_ov17_0216c424: ; 0x0216c424
.word func_ov00_0208b710
.global data_ov17_0216c428
data_ov17_0216c428: ; 0x0216c428
.word func_ov00_0208c9f8
.global data_ov17_0216c42c
data_ov17_0216c42c: ; 0x0216c42c
.word func_ov00_0208b71c
.global data_ov17_0216c430
data_ov17_0216c430: ; 0x0216c430
.word func_ov00_0208b844
.global data_ov17_0216c434
data_ov17_0216c434: ; 0x0216c434
.word func_ov00_0208b870
.global data_ov17_0216c438
data_ov17_0216c438: ; 0x0216c438
.word func_ov00_0208b89c
.global data_ov17_0216c43c
data_ov17_0216c43c: ; 0x0216c43c
.word func_ov00_0208ba30
.global data_ov17_0216c440
data_ov17_0216c440: ; 0x0216c440
.word func_ov00_0208ba38
.global data_ov17_0216c444
data_ov17_0216c444: ; 0x0216c444
.word func_ov00_0208ba40
.global data_ov17_0216c448
data_ov17_0216c448: ; 0x0216c448
.word func_ov00_0208ba48
.global data_ov17_0216c44c
data_ov17_0216c44c: ; 0x0216c44c
.word func_ov00_0208ba50
.global data_ov17_0216c450
data_ov17_0216c450: ; 0x0216c450
.word func_ov17_02162f70
.global data_ov17_0216c454
data_ov17_0216c454: ; 0x0216c454
.word func_ov17_02162d00
.global data_ov17_0216c458
data_ov17_0216c458: ; 0x0216c458
.word func_ov00_0208c38c
.global data_ov17_0216c45c
data_ov17_0216c45c: ; 0x0216c45c
.word func_ov00_0208c39c
.global data_ov17_0216c460
data_ov17_0216c460: ; 0x0216c460
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c464
data_ov17_0216c464: ; 0x0216c464
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c468
data_ov17_0216c468: ; 0x0216c468
.word func_ov00_020a9aac
.global data_ov17_0216c46c
data_ov17_0216c46c: ; 0x0216c46c
.word func_ov00_020a9ab8
.global data_ov17_0216c470
data_ov17_0216c470: ; 0x0216c470
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c474
data_ov17_0216c474: ; 0x0216c474
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c478
data_ov17_0216c478: ; 0x0216c478
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c47c
data_ov17_0216c47c: ; 0x0216c47c
.word func_ov17_021630c4
.global data_ov17_0216c480
data_ov17_0216c480: ; 0x0216c480
.word func_ov17_021630f4
.global data_ov17_0216c484
data_ov17_0216c484: ; 0x0216c484
.word func_ov17_0216312c
.global data_ov17_0216c488
data_ov17_0216c488: ; 0x0216c488
.word func_ov17_0216330c
.global data_ov17_0216c48c
data_ov17_0216c48c: ; 0x0216c48c
.word func_ov00_0208b694
.global data_ov17_0216c490
data_ov17_0216c490: ; 0x0216c490
.word func_ov00_0208b698
.global data_ov17_0216c494
data_ov17_0216c494: ; 0x0216c494
.word func_ov00_0208b6b8
.global data_ov17_0216c498
data_ov17_0216c498: ; 0x0216c498
.word func_ov17_02163378
.global data_ov17_0216c49c
data_ov17_0216c49c: ; 0x0216c49c
.word func_ov00_0208b6bc
.global data_ov17_0216c4a0
data_ov17_0216c4a0: ; 0x0216c4a0
.word func_ov00_0208b6c4
.global data_ov17_0216c4a4
data_ov17_0216c4a4: ; 0x0216c4a4
.word func_ov00_0208b6c8
.global data_ov17_0216c4a8
data_ov17_0216c4a8: ; 0x0216c4a8
.word func_ov00_0208b6d0
.global data_ov17_0216c4ac
data_ov17_0216c4ac: ; 0x0216c4ac
.word func_ov17_02163388
.global data_ov17_0216c4b0
data_ov17_0216c4b0: ; 0x0216c4b0
.word func_ov14_0214bbdc
.global data_ov17_0216c4b4
data_ov17_0216c4b4: ; 0x0216c4b4
.word func_ov00_0208b6e8
.global data_ov17_0216c4b8
data_ov17_0216c4b8: ; 0x0216c4b8
.word func_ov00_0208b6f0
.global data_ov17_0216c4bc
data_ov17_0216c4bc: ; 0x0216c4bc
.word func_ov00_0208b6f8
.global data_ov17_0216c4c0
data_ov17_0216c4c0: ; 0x0216c4c0
.word func_ov00_0208b700
.global data_ov17_0216c4c4
data_ov17_0216c4c4: ; 0x0216c4c4
.word func_ov00_0208b704
.global data_ov17_0216c4c8
data_ov17_0216c4c8: ; 0x0216c4c8
.word func_ov00_0208b70c
.global data_ov17_0216c4cc
data_ov17_0216c4cc: ; 0x0216c4cc
.word func_ov00_0208b710
.global data_ov17_0216c4d0
data_ov17_0216c4d0: ; 0x0216c4d0
.word func_ov00_0208ca00
.global data_ov17_0216c4d4
data_ov17_0216c4d4: ; 0x0216c4d4
.word func_ov00_0208b71c
.global data_ov17_0216c4d8
data_ov17_0216c4d8: ; 0x0216c4d8
.word func_ov00_0208b844
.global data_ov17_0216c4dc
data_ov17_0216c4dc: ; 0x0216c4dc
.word func_ov00_0208b870
.global data_ov17_0216c4e0
data_ov17_0216c4e0: ; 0x0216c4e0
.word func_ov17_021632b0
.global data_ov17_0216c4e4
data_ov17_0216c4e4: ; 0x0216c4e4
.word func_ov00_0208ba30
.global data_ov17_0216c4e8
data_ov17_0216c4e8: ; 0x0216c4e8
.word func_ov00_0208ba38
.global data_ov17_0216c4ec
data_ov17_0216c4ec: ; 0x0216c4ec
.word func_ov00_0208ba40
.global data_ov17_0216c4f0
data_ov17_0216c4f0: ; 0x0216c4f0
.word func_ov17_02163380
.global data_ov17_0216c4f4
data_ov17_0216c4f4: ; 0x0216c4f4
.word func_ov00_0208ba50
.global data_ov17_0216c4f8
data_ov17_0216c4f8: ; 0x0216c4f8
.word func_ov17_02163390
.global data_ov17_0216c4fc
data_ov17_0216c4fc: ; 0x0216c4fc
.word func_ov17_02163318
.global data_ov17_0216c500
data_ov17_0216c500: ; 0x0216c500
.word func_ov00_0208c38c
.global data_ov17_0216c504
data_ov17_0216c504: ; 0x0216c504
.word func_ov17_021634f8
.global data_ov17_0216c508
data_ov17_0216c508: ; 0x0216c508
.word func_ov17_02163254
.global data_ov17_0216c50c
data_ov17_0216c50c: ; 0x0216c50c
.word func_ov17_021634d8
.global data_ov17_0216c510
data_ov17_0216c510: ; 0x0216c510
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c514
data_ov17_0216c514: ; 0x0216c514
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c518
data_ov17_0216c518: ; 0x0216c518
.word func_ov00_020a9aac
.global data_ov17_0216c51c
data_ov17_0216c51c: ; 0x0216c51c
.word func_ov00_020a9ab8
.global data_ov17_0216c520
data_ov17_0216c520: ; 0x0216c520
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c524
data_ov17_0216c524: ; 0x0216c524
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c528
data_ov17_0216c528: ; 0x0216c528
.word func_ov17_02163740
.global data_ov17_0216c52c
data_ov17_0216c52c: ; 0x0216c52c
.word func_ov17_02163770
.global data_ov17_0216c530
data_ov17_0216c530: ; 0x0216c530
.word func_ov17_021637a8
.global data_ov17_0216c534
data_ov17_0216c534: ; 0x0216c534
.word func_ov17_021638dc
.global data_ov17_0216c538
data_ov17_0216c538: ; 0x0216c538
.word func_ov00_0208b694
.global data_ov17_0216c53c
data_ov17_0216c53c: ; 0x0216c53c
.word func_ov00_0208b698
.global data_ov17_0216c540
data_ov17_0216c540: ; 0x0216c540
.word func_ov17_02163898 ; func_ov18_02163898
.global data_ov17_0216c544
data_ov17_0216c544: ; 0x0216c544
.word func_ov17_02163b04
.global data_ov17_0216c548
data_ov17_0216c548: ; 0x0216c548
.word func_ov00_0208b6bc
.global data_ov17_0216c54c
data_ov17_0216c54c: ; 0x0216c54c
.word func_ov00_0208b6c4
.global data_ov17_0216c550
data_ov17_0216c550: ; 0x0216c550
.word func_ov00_0208b6c8
.global data_ov17_0216c554
data_ov17_0216c554: ; 0x0216c554
.word func_ov00_0208b6d0
.global data_ov17_0216c558
data_ov17_0216c558: ; 0x0216c558
.word func_ov00_0208b6d8
.global data_ov17_0216c55c
data_ov17_0216c55c: ; 0x0216c55c
.word func_ov00_0208b6e0
.global data_ov17_0216c560
data_ov17_0216c560: ; 0x0216c560
.word func_ov17_02163a78
.global data_ov17_0216c564
data_ov17_0216c564: ; 0x0216c564
.word func_ov00_0208b6f0
.global data_ov17_0216c568
data_ov17_0216c568: ; 0x0216c568
.word func_ov00_0208b6f8
.global data_ov17_0216c56c
data_ov17_0216c56c: ; 0x0216c56c
.word func_ov00_0208b700
.global data_ov17_0216c570
data_ov17_0216c570: ; 0x0216c570
.word func_ov00_0208b704
.global data_ov17_0216c574
data_ov17_0216c574: ; 0x0216c574
.word func_ov00_0208b70c
.global data_ov17_0216c578
data_ov17_0216c578: ; 0x0216c578
.word func_ov00_0208b710
.global data_ov17_0216c57c
data_ov17_0216c57c: ; 0x0216c57c
.word func_ov00_0208ca00
.global data_ov17_0216c580
data_ov17_0216c580: ; 0x0216c580
.word func_ov00_0208b71c
.global data_ov17_0216c584
data_ov17_0216c584: ; 0x0216c584
.word func_ov00_0208b844
.global data_ov17_0216c588
data_ov17_0216c588: ; 0x0216c588
.word func_ov00_0208b870
.global data_ov17_0216c58c
data_ov17_0216c58c: ; 0x0216c58c
.word func_ov00_0208b89c
.global data_ov17_0216c590
data_ov17_0216c590: ; 0x0216c590
.word func_ov00_0208ba30
.global data_ov17_0216c594
data_ov17_0216c594: ; 0x0216c594
.word func_ov00_0208ba38
.global data_ov17_0216c598
data_ov17_0216c598: ; 0x0216c598
.word func_ov00_0208ba40
.global data_ov17_0216c59c
data_ov17_0216c59c: ; 0x0216c59c
.word func_ov00_0208ba48
.global data_ov17_0216c5a0
data_ov17_0216c5a0: ; 0x0216c5a0
.word func_ov00_0208ba50
.global data_ov17_0216c5a4
data_ov17_0216c5a4: ; 0x0216c5a4
.word func_ov17_02163ab8
.global data_ov17_0216c5a8
data_ov17_0216c5a8: ; 0x0216c5a8
.word func_ov17_0216397c
.global data_ov17_0216c5ac
data_ov17_0216c5ac: ; 0x0216c5ac
.word func_ov00_0208c38c
.global data_ov17_0216c5b0
data_ov17_0216c5b0: ; 0x0216c5b0
.word func_ov00_0208c39c
.global data_ov17_0216c5b4
data_ov17_0216c5b4: ; 0x0216c5b4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c5b8
data_ov17_0216c5b8: ; 0x0216c5b8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c5bc
data_ov17_0216c5bc: ; 0x0216c5bc
.word func_ov00_020a9a8c
.global data_ov17_0216c5c0
data_ov17_0216c5c0: ; 0x0216c5c0
.word func_ov00_020a9a98
.global data_ov17_0216c5c4
data_ov17_0216c5c4: ; 0x0216c5c4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c5c8
data_ov17_0216c5c8: ; 0x0216c5c8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c5cc
data_ov17_0216c5cc: ; 0x0216c5cc
.word func_ov17_02163bac
.global data_ov17_0216c5d0
data_ov17_0216c5d0: ; 0x0216c5d0
.word func_ov17_02163bc0
.global data_ov17_0216c5d4
data_ov17_0216c5d4: ; 0x0216c5d4
.word func_ov00_020a960c
.global data_ov17_0216c5d8
data_ov17_0216c5d8: ; 0x0216c5d8
.word func_ov00_020a9614
.global data_ov17_0216c5dc
data_ov17_0216c5dc: ; 0x0216c5dc
.word func_ov00_020a9650
.global data_ov17_0216c5e0
data_ov17_0216c5e0: ; 0x0216c5e0
.word func_ov00_020a96d4
.global data_ov17_0216c5e4
data_ov17_0216c5e4: ; 0x0216c5e4
.word func_ov00_020a9740
.global data_ov17_0216c5e8
data_ov17_0216c5e8: ; 0x0216c5e8
.word func_ov00_020a9764
.global data_ov17_0216c5ec
data_ov17_0216c5ec: ; 0x0216c5ec
.word func_ov00_020a97d0
.global data_ov17_0216c5f0
data_ov17_0216c5f0: ; 0x0216c5f0
.word func_ov00_020a97e0
.global data_ov17_0216c5f4
data_ov17_0216c5f4: ; 0x0216c5f4
.word func_ov00_020a97f8
.global data_ov17_0216c5f8
data_ov17_0216c5f8: ; 0x0216c5f8
.word func_ov00_020a9864
.global data_ov17_0216c5fc
data_ov17_0216c5fc: ; 0x0216c5fc
.word func_ov00_020a98bc
.global data_ov17_0216c600
data_ov17_0216c600: ; 0x0216c600
.word func_ov00_020a9890
.global data_ov17_0216c604
data_ov17_0216c604: ; 0x0216c604
.word func_ov00_020a9968
.global data_ov17_0216c608
data_ov17_0216c608: ; 0x0216c608
.word func_ov17_02163b44
.global data_ov17_0216c60c
data_ov17_0216c60c: ; 0x0216c60c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c610
data_ov17_0216c610: ; 0x0216c610
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c614
data_ov17_0216c614: ; 0x0216c614
.word func_ov17_02163cd4
.global data_ov17_0216c618
data_ov17_0216c618: ; 0x0216c618
.word func_ov17_02163cfc
.global data_ov17_0216c61c
data_ov17_0216c61c: ; 0x0216c61c
.word func_ov17_02163d2c
.global data_ov17_0216c620
data_ov17_0216c620: ; 0x0216c620
.word func_ov17_02163ed0
.global data_ov17_0216c624
data_ov17_0216c624: ; 0x0216c624
.word func_ov17_0216408c
.global data_ov17_0216c628
data_ov17_0216c628: ; 0x0216c628
.word func_ov00_0208b698
.global data_ov17_0216c62c
data_ov17_0216c62c: ; 0x0216c62c
.word func_ov17_02163e24
.global data_ov17_0216c630
data_ov17_0216c630: ; 0x0216c630
.word func_ov17_021644f8
.global data_ov17_0216c634
data_ov17_0216c634: ; 0x0216c634
.word func_ov00_0208b6bc
.global data_ov17_0216c638
data_ov17_0216c638: ; 0x0216c638
.word func_ov00_0208b6c4
.global data_ov17_0216c63c
data_ov17_0216c63c: ; 0x0216c63c
.word func_ov00_0208b6c8
.global data_ov17_0216c640
data_ov17_0216c640: ; 0x0216c640
.word func_ov00_0208b6d0
.global data_ov17_0216c644
data_ov17_0216c644: ; 0x0216c644
.word func_ov00_0208b6d8
.global data_ov17_0216c648
data_ov17_0216c648: ; 0x0216c648
.word func_ov00_0208b6e0
.global data_ov17_0216c64c
data_ov17_0216c64c: ; 0x0216c64c
.word func_ov00_0208b6e8
.global data_ov17_0216c650
data_ov17_0216c650: ; 0x0216c650
.word func_ov00_0208b6f0
.global data_ov17_0216c654
data_ov17_0216c654: ; 0x0216c654
.word func_ov00_0208b6f8
.global data_ov17_0216c658
data_ov17_0216c658: ; 0x0216c658
.word func_ov00_0208b700
.global data_ov17_0216c65c
data_ov17_0216c65c: ; 0x0216c65c
.word func_ov00_0208b704
.global data_ov17_0216c660
data_ov17_0216c660: ; 0x0216c660
.word func_ov00_0208b70c
.global data_ov17_0216c664
data_ov17_0216c664: ; 0x0216c664
.word func_ov00_0208b710
.global data_ov17_0216c668
data_ov17_0216c668: ; 0x0216c668
.word func_ov00_0208ca00
.global data_ov17_0216c66c
data_ov17_0216c66c: ; 0x0216c66c
.word func_ov00_0208b71c
.global data_ov17_0216c670
data_ov17_0216c670: ; 0x0216c670
.word func_ov00_0208b844
.global data_ov17_0216c674
data_ov17_0216c674: ; 0x0216c674
.word func_ov00_0208b870
.global data_ov17_0216c678
data_ov17_0216c678: ; 0x0216c678
.word func_ov00_0208b89c
.global data_ov17_0216c67c
data_ov17_0216c67c: ; 0x0216c67c
.word func_ov00_0208ba30
.global data_ov17_0216c680
data_ov17_0216c680: ; 0x0216c680
.word func_ov00_0208ba38
.global data_ov17_0216c684
data_ov17_0216c684: ; 0x0216c684
.word func_ov00_0208ba40
.global data_ov17_0216c688
data_ov17_0216c688: ; 0x0216c688
.word func_ov00_0208ba48
.global data_ov17_0216c68c
data_ov17_0216c68c: ; 0x0216c68c
.word func_ov00_0208ba50
.global data_ov17_0216c690
data_ov17_0216c690: ; 0x0216c690
.word func_ov17_02164100
.global data_ov17_0216c694
data_ov17_0216c694: ; 0x0216c694
.word func_ov17_02163f90
.global data_ov17_0216c698
data_ov17_0216c698: ; 0x0216c698
.word func_ov00_0208c38c
.global data_ov17_0216c69c
data_ov17_0216c69c: ; 0x0216c69c
.word func_ov00_0208c39c
.global data_ov17_0216c6a0
data_ov17_0216c6a0: ; 0x0216c6a0
.ascii "brg"
.byte 0x00
.global data_ov17_0216c6a4
data_ov17_0216c6a4: ; 0x0216c6a4
.ascii "fnl"
.byte 0x00
.global data_ov17_0216c6a8
data_ov17_0216c6a8: ; 0x0216c6a8
.ascii "pdl"
.byte 0x00
.global data_ov17_0216c6ac
data_ov17_0216c6ac: ; 0x0216c6ac
.ascii "dco"
.byte 0x00
.global data_ov17_0216c6b0
data_ov17_0216c6b0: ; 0x0216c6b0
.ascii "can"
.byte 0x00
.global data_ov17_0216c6b4
data_ov17_0216c6b4: ; 0x0216c6b4
.ascii "hul"
.byte 0x00
.global data_ov17_0216c6b8
data_ov17_0216c6b8: ; 0x0216c6b8
.ascii "bow"
.byte 0x00
.global data_ov17_0216c6bc
data_ov17_0216c6bc: ; 0x0216c6bc
.ascii "anc"
.byte 0x00
.global data_ov17_0216c6c0
data_ov17_0216c6c0: ; 0x0216c6c0
.word data_ov17_0216c6bc ; data_ov18_0216c6bc
.global data_ov17_0216c6c4
data_ov17_0216c6c4: ; 0x0216c6c4
.word data_ov17_0216c6b8
.global data_ov17_0216c6c8
data_ov17_0216c6c8: ; 0x0216c6c8
.word data_ov17_0216c6b4 ; data_ov18_0216c6b4
.global data_ov17_0216c6cc
data_ov17_0216c6cc: ; 0x0216c6cc
.word data_ov17_0216c6b0 ; data_ov18_0216c6b0
.global data_ov17_0216c6d0
data_ov17_0216c6d0: ; 0x0216c6d0
.word data_ov17_0216c6ac ; data_ov18_0216c6ac
.global data_ov17_0216c6d4
data_ov17_0216c6d4: ; 0x0216c6d4
.word data_ov17_0216c6a8 ; data_ov18_0216c6a8
.global data_ov17_0216c6d8
data_ov17_0216c6d8: ; 0x0216c6d8
.word data_ov17_0216c6a4 ; data_ov18_0216c6a4
.global data_ov17_0216c6dc
data_ov17_0216c6dc: ; 0x0216c6dc
.word data_ov17_0216c6a0 ; data_ov18_0216c6a0
.global data_ov17_0216c6e0
data_ov17_0216c6e0: ; 0x0216c6e0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c6e4
data_ov17_0216c6e4: ; 0x0216c6e4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c6e8
data_ov17_0216c6e8: ; 0x0216c6e8
.word func_ov17_02164604
.global data_ov17_0216c6ec
data_ov17_0216c6ec: ; 0x0216c6ec
.word func_ov17_02164664
.global data_ov17_0216c6f0
data_ov17_0216c6f0: ; 0x0216c6f0
.word func_ov17_021646cc
.global data_ov17_0216c6f4
data_ov17_0216c6f4: ; 0x0216c6f4
.word func_ov17_02164880
.global data_ov17_0216c6f8
data_ov17_0216c6f8: ; 0x0216c6f8
.word func_ov00_0208b694
.global data_ov17_0216c6fc
data_ov17_0216c6fc: ; 0x0216c6fc
.word func_ov00_0208b698
.global data_ov17_0216c700
data_ov17_0216c700: ; 0x0216c700
.word func_ov00_0208b6b8
.global data_ov17_0216c704
data_ov17_0216c704: ; 0x0216c704
.word func_ov17_02164b60
.global data_ov17_0216c708
data_ov17_0216c708: ; 0x0216c708
.word func_ov00_0208b6bc
.global data_ov17_0216c70c
data_ov17_0216c70c: ; 0x0216c70c
.word func_ov00_0208b6c4
.global data_ov17_0216c710
data_ov17_0216c710: ; 0x0216c710
.word func_ov00_0208b6c8
.global data_ov17_0216c714
data_ov17_0216c714: ; 0x0216c714
.word func_ov00_0208b6d0
.global data_ov17_0216c718
data_ov17_0216c718: ; 0x0216c718
.word func_ov00_0208b6d8
.global data_ov17_0216c71c
data_ov17_0216c71c: ; 0x0216c71c
.word func_ov00_0208b6e0
.global data_ov17_0216c720
data_ov17_0216c720: ; 0x0216c720
.word func_ov00_0208b6e8
.global data_ov17_0216c724
data_ov17_0216c724: ; 0x0216c724
.word func_ov00_0208b6f0
.global data_ov17_0216c728
data_ov17_0216c728: ; 0x0216c728
.word func_ov00_0208b6f8
.global data_ov17_0216c72c
data_ov17_0216c72c: ; 0x0216c72c
.word func_ov00_0208b700
.global data_ov17_0216c730
data_ov17_0216c730: ; 0x0216c730
.word func_ov17_02164a70
.global data_ov17_0216c734
data_ov17_0216c734: ; 0x0216c734
.word func_ov00_0208b70c
.global data_ov17_0216c738
data_ov17_0216c738: ; 0x0216c738
.word func_ov00_0208b710
.global data_ov17_0216c73c
data_ov17_0216c73c: ; 0x0216c73c
.word func_ov00_0208ca00
.global data_ov17_0216c740
data_ov17_0216c740: ; 0x0216c740
.word func_ov17_02164b68
.global data_ov17_0216c744
data_ov17_0216c744: ; 0x0216c744
.word func_ov00_0208b844
.global data_ov17_0216c748
data_ov17_0216c748: ; 0x0216c748
.word func_ov00_0208b870
.global data_ov17_0216c74c
data_ov17_0216c74c: ; 0x0216c74c
.word func_ov00_0208b89c
.global data_ov17_0216c750
data_ov17_0216c750: ; 0x0216c750
.word func_ov00_0208ba30
.global data_ov17_0216c754
data_ov17_0216c754: ; 0x0216c754
.word func_ov00_0208ba38
.global data_ov17_0216c758
data_ov17_0216c758: ; 0x0216c758
.word func_ov00_0208ba40
.global data_ov17_0216c75c
data_ov17_0216c75c: ; 0x0216c75c
.word func_ov00_0208ba48
.global data_ov17_0216c760
data_ov17_0216c760: ; 0x0216c760
.word func_ov00_0208ba50
.global data_ov17_0216c764
data_ov17_0216c764: ; 0x0216c764
.word func_ov17_02164aa4
.global data_ov17_0216c768
data_ov17_0216c768: ; 0x0216c768
.word func_ov17_02164968
.global data_ov17_0216c76c
data_ov17_0216c76c: ; 0x0216c76c
.word func_ov00_0208c38c
.global data_ov17_0216c770
data_ov17_0216c770: ; 0x0216c770
.word func_ov00_0208c39c
.global data_ov17_0216c774
data_ov17_0216c774: ; 0x0216c774
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c778
data_ov17_0216c778: ; 0x0216c778
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c77c
data_ov17_0216c77c: ; 0x0216c77c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c780
data_ov17_0216c780: ; 0x0216c780
.word func_ov00_02081f58
.global data_ov17_0216c784
data_ov17_0216c784: ; 0x0216c784
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c788
data_ov17_0216c788: ; 0x0216c788
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c78c
data_ov17_0216c78c: ; 0x0216c78c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c790
data_ov17_0216c790: ; 0x0216c790
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c794
data_ov17_0216c794: ; 0x0216c794
.word func_ov17_02165324
.global data_ov17_0216c798
data_ov17_0216c798: ; 0x0216c798
.word func_ov17_02165310
.global data_ov17_0216c79c
data_ov17_0216c79c: ; 0x0216c79c
.word func_ov17_021653f0 ; func_ov18_021653f0
.global data_ov17_0216c7a0
data_ov17_0216c7a0: ; 0x0216c7a0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c7a4
data_ov17_0216c7a4: ; 0x0216c7a4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c7a8
data_ov17_0216c7a8: ; 0x0216c7a8
.word func_ov17_02164c64
.global data_ov17_0216c7ac
data_ov17_0216c7ac: ; 0x0216c7ac
.word func_ov17_02164c8c
.global data_ov17_0216c7b0
data_ov17_0216c7b0: ; 0x0216c7b0
.word func_ov17_02164cbc ; func_ov18_02164cbc
.global data_ov17_0216c7b4
data_ov17_0216c7b4: ; 0x0216c7b4
.word func_ov17_02164dc8
.global data_ov17_0216c7b8
data_ov17_0216c7b8: ; 0x0216c7b8
.word func_ov00_0208b694
.global data_ov17_0216c7bc
data_ov17_0216c7bc: ; 0x0216c7bc
.word func_ov00_0208b698
.global data_ov17_0216c7c0
data_ov17_0216c7c0: ; 0x0216c7c0
.word func_ov17_02164d8c
.global data_ov17_0216c7c4
data_ov17_0216c7c4: ; 0x0216c7c4
.word func_ov17_0216531c
.global data_ov17_0216c7c8
data_ov17_0216c7c8: ; 0x0216c7c8
.word func_ov00_0208b6bc
.global data_ov17_0216c7cc
data_ov17_0216c7cc: ; 0x0216c7cc
.word func_ov00_0208b6c4
.global data_ov17_0216c7d0
data_ov17_0216c7d0: ; 0x0216c7d0
.word func_ov00_0208b6c8
.global data_ov17_0216c7d4
data_ov17_0216c7d4: ; 0x0216c7d4
.word func_ov00_0208b6d0
.global data_ov17_0216c7d8
data_ov17_0216c7d8: ; 0x0216c7d8
.word func_ov00_0208b6d8
.global data_ov17_0216c7dc
data_ov17_0216c7dc: ; 0x0216c7dc
.word func_ov00_0208b6e0
.global data_ov17_0216c7e0
data_ov17_0216c7e0: ; 0x0216c7e0
.word func_ov17_02164f94
.global data_ov17_0216c7e4
data_ov17_0216c7e4: ; 0x0216c7e4
.word func_ov00_0208b6f0
.global data_ov17_0216c7e8
data_ov17_0216c7e8: ; 0x0216c7e8
.word func_ov00_0208b6f8
.global data_ov17_0216c7ec
data_ov17_0216c7ec: ; 0x0216c7ec
.word func_ov00_0208b700
.global data_ov17_0216c7f0
data_ov17_0216c7f0: ; 0x0216c7f0
.word func_ov00_0208b704
.global data_ov17_0216c7f4
data_ov17_0216c7f4: ; 0x0216c7f4
.word func_ov00_0208b70c
.global data_ov17_0216c7f8
data_ov17_0216c7f8: ; 0x0216c7f8
.word func_ov00_0208b710
.global data_ov17_0216c7fc
data_ov17_0216c7fc: ; 0x0216c7fc
.word func_ov00_0208c9f8
.global data_ov17_0216c800
data_ov17_0216c800: ; 0x0216c800
.word func_ov00_0208b71c
.global data_ov17_0216c804
data_ov17_0216c804: ; 0x0216c804
.word func_ov00_0208b844
.global data_ov17_0216c808
data_ov17_0216c808: ; 0x0216c808
.word func_ov17_02165314
.global data_ov17_0216c80c
data_ov17_0216c80c: ; 0x0216c80c
.word func_ov00_0208b89c
.global data_ov17_0216c810
data_ov17_0216c810: ; 0x0216c810
.word func_ov00_0208ba30
.global data_ov17_0216c814
data_ov17_0216c814: ; 0x0216c814
.word func_ov00_0208ba38
.global data_ov17_0216c818
data_ov17_0216c818: ; 0x0216c818
.word func_ov00_0208ba40
.global data_ov17_0216c81c
data_ov17_0216c81c: ; 0x0216c81c
.word func_ov00_0208ba48
.global data_ov17_0216c820
data_ov17_0216c820: ; 0x0216c820
.word func_ov00_0208ba50
.global data_ov17_0216c824
data_ov17_0216c824: ; 0x0216c824
.word func_ov17_02165068
.global data_ov17_0216c828
data_ov17_0216c828: ; 0x0216c828
.word func_ov17_02164e6c
.global data_ov17_0216c82c
data_ov17_0216c82c: ; 0x0216c82c
.word func_ov00_0208c38c
.global data_ov17_0216c830
data_ov17_0216c830: ; 0x0216c830
.word func_ov00_0208c39c
.global data_ov17_0216c834
data_ov17_0216c834: ; 0x0216c834
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c838
data_ov17_0216c838: ; 0x0216c838
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c83c
data_ov17_0216c83c: ; 0x0216c83c
.word func_ov17_02165558 + 1
.global data_ov17_0216c840
data_ov17_0216c840: ; 0x0216c840
.word func_ov17_021654d4 + 1
.global data_ov17_0216c844
data_ov17_0216c844: ; 0x0216c844
.word func_ov17_021655d8 + 1
.global data_ov17_0216c848
data_ov17_0216c848: ; 0x0216c848
.word func_ov17_02165700 + 1
.global data_ov17_0216c84c
data_ov17_0216c84c: ; 0x0216c84c
.word func_ov00_020c1740
.global data_ov17_0216c850
data_ov17_0216c850: ; 0x0216c850
.word func_ov17_021657bc
.global data_ov17_0216c854
data_ov17_0216c854: ; 0x0216c854
.word func_ov17_02165950
.global data_ov17_0216c858
data_ov17_0216c858: ; 0x0216c858
.word func_ov17_02165fa0
.global data_ov17_0216c85c
data_ov17_0216c85c: ; 0x0216c85c
.word func_ov17_02166064 ; func_ov61_02166064
.global data_ov17_0216c860
data_ov17_0216c860: ; 0x0216c860
.word func_ov00_020c1744
.global data_ov17_0216c864
data_ov17_0216c864: ; 0x0216c864
.word func_ov00_020c1748
.global data_ov17_0216c868
data_ov17_0216c868: ; 0x0216c868
.word func_ov00_020c17a8
.global data_ov17_0216c86c
data_ov17_0216c86c: ; 0x0216c86c
.word func_ov00_020c17b0
.global data_ov17_0216c870
data_ov17_0216c870: ; 0x0216c870
.word func_ov00_020c174c
.global data_ov17_0216c874
data_ov17_0216c874: ; 0x0216c874
.word func_ov00_020c177c
.global data_ov17_0216c878
data_ov17_0216c878: ; 0x0216c878
.word func_ov00_020c27e4
.global data_ov17_0216c87c
data_ov17_0216c87c: ; 0x0216c87c
.word func_ov00_020c3004
.global data_ov17_0216c880
data_ov17_0216c880: ; 0x0216c880
.word func_ov00_020c2744
.global data_ov17_0216c884
data_ov17_0216c884: ; 0x0216c884
.word func_ov00_020c1c48
.global data_ov17_0216c888
data_ov17_0216c888: ; 0x0216c888
.word func_ov00_020c1c50
.global data_ov17_0216c88c
data_ov17_0216c88c: ; 0x0216c88c
.word func_ov00_020c310c
.global data_ov17_0216c890
data_ov17_0216c890: ; 0x0216c890
.word func_ov00_020c3114
.global data_ov17_0216c894
data_ov17_0216c894: ; 0x0216c894
.word func_ov00_020c18a8
.global data_ov17_0216c898
data_ov17_0216c898: ; 0x0216c898
.word func_ov00_020c18c4
.global data_ov17_0216c89c
data_ov17_0216c89c: ; 0x0216c89c
.word func_ov00_020c18fc
.global data_ov17_0216c8a0
data_ov17_0216c8a0: ; 0x0216c8a0
.word func_ov00_020c1904
.global data_ov17_0216c8a4
data_ov17_0216c8a4: ; 0x0216c8a4
.word func_ov00_020c1910
.global data_ov17_0216c8a8
data_ov17_0216c8a8: ; 0x0216c8a8
.word func_ov00_020c1914
.global data_ov17_0216c8ac
data_ov17_0216c8ac: ; 0x0216c8ac
.word func_ov00_020c191c
.global data_ov17_0216c8b0
data_ov17_0216c8b0: ; 0x0216c8b0
.word func_ov00_020c1924
.global data_ov17_0216c8b4
data_ov17_0216c8b4: ; 0x0216c8b4
.word func_ov00_020c192c
.global data_ov17_0216c8b8
data_ov17_0216c8b8: ; 0x0216c8b8
.word func_ov00_020c1928
.global data_ov17_0216c8bc
data_ov17_0216c8bc: ; 0x0216c8bc
.word func_ov00_020c1934
.global data_ov17_0216c8c0
data_ov17_0216c8c0: ; 0x0216c8c0
.word func_ov00_020c1938
.global data_ov17_0216c8c4
data_ov17_0216c8c4: ; 0x0216c8c4
.word func_ov00_020c193c
.global data_ov17_0216c8c8
data_ov17_0216c8c8: ; 0x0216c8c8
.word func_ov00_020c1940
.global data_ov17_0216c8cc
data_ov17_0216c8cc: ; 0x0216c8cc
.word func_ov00_020c1948
.global data_ov17_0216c8d0
data_ov17_0216c8d0: ; 0x0216c8d0
.word func_ov00_020c1950
.global data_ov17_0216c8d4
data_ov17_0216c8d4: ; 0x0216c8d4
.word func_ov00_020c1954
.global data_ov17_0216c8d8
data_ov17_0216c8d8: ; 0x0216c8d8
.word func_ov00_020c1958
.global data_ov17_0216c8dc
data_ov17_0216c8dc: ; 0x0216c8dc
.word func_ov00_020c1b6c
.global data_ov17_0216c8e0
data_ov17_0216c8e0: ; 0x0216c8e0
.word func_ov00_020c1bb4
.global data_ov17_0216c8e4
data_ov17_0216c8e4: ; 0x0216c8e4
.word func_ov00_020c1bf8
.global data_ov17_0216c8e8
data_ov17_0216c8e8: ; 0x0216c8e8
.word func_ov00_020c31fc
.global data_ov17_0216c8ec
data_ov17_0216c8ec: ; 0x0216c8ec
.word func_ov00_020c322c
.global data_ov17_0216c8f0
data_ov17_0216c8f0: ; 0x0216c8f0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c8f4
data_ov17_0216c8f4: ; 0x0216c8f4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c8f8
data_ov17_0216c8f8: ; 0x0216c8f8
.word func_ov17_0216647c
.global data_ov17_0216c8fc
data_ov17_0216c8fc: ; 0x0216c8fc
.word func_ov17_0216649c
.global data_ov17_0216c900
data_ov17_0216c900: ; 0x0216c900
.word func_ov17_021664c4
.global data_ov17_0216c904
data_ov17_0216c904: ; 0x0216c904
.word func_ov00_020c173c
.global data_ov17_0216c908
data_ov17_0216c908: ; 0x0216c908
.word func_ov17_021666f8
.global data_ov17_0216c90c
data_ov17_0216c90c: ; 0x0216c90c
.word func_ov14_02137a1c
.global data_ov17_0216c910
data_ov17_0216c910: ; 0x0216c910
.word func_ov00_020c17bc
.global data_ov17_0216c914
data_ov17_0216c914: ; 0x0216c914
.word func_ov00_020c17d4
.global data_ov17_0216c918
data_ov17_0216c918: ; 0x0216c918
.word func_ov14_02138128
.global data_ov17_0216c91c
data_ov17_0216c91c: ; 0x0216c91c
.word func_ov14_0213819c
.global data_ov17_0216c920
data_ov17_0216c920: ; 0x0216c920
.word func_ov00_020c1748
.global data_ov17_0216c924
data_ov17_0216c924: ; 0x0216c924
.word func_ov00_020c17a8
.global data_ov17_0216c928
data_ov17_0216c928: ; 0x0216c928
.word func_ov00_020c17b0
.global data_ov17_0216c92c
data_ov17_0216c92c: ; 0x0216c92c
.word func_ov00_020c174c
.global data_ov17_0216c930
data_ov17_0216c930: ; 0x0216c930
.word func_ov00_020c177c
.global data_ov17_0216c934
data_ov17_0216c934: ; 0x0216c934
.word func_ov00_020c27e4
.global data_ov17_0216c938
data_ov17_0216c938: ; 0x0216c938
.word func_ov00_020c3004
.global data_ov17_0216c93c
data_ov17_0216c93c: ; 0x0216c93c
.word func_ov00_020c2744
.global data_ov17_0216c940
data_ov17_0216c940: ; 0x0216c940
.word func_ov00_020c1c48
.global data_ov17_0216c944
data_ov17_0216c944: ; 0x0216c944
.word func_ov00_020c1c50
.global data_ov17_0216c948
data_ov17_0216c948: ; 0x0216c948
.word func_ov00_020c310c
.global data_ov17_0216c94c
data_ov17_0216c94c: ; 0x0216c94c
.word func_ov00_020c3114
.global data_ov17_0216c950
data_ov17_0216c950: ; 0x0216c950
.word func_ov00_020c18a8
.global data_ov17_0216c954
data_ov17_0216c954: ; 0x0216c954
.word func_ov00_020c18c4
.global data_ov17_0216c958
data_ov17_0216c958: ; 0x0216c958
.word func_ov00_020c18fc
.global data_ov17_0216c95c
data_ov17_0216c95c: ; 0x0216c95c
.word func_ov00_020c1904
.global data_ov17_0216c960
data_ov17_0216c960: ; 0x0216c960
.word func_ov00_020c1910
.global data_ov17_0216c964
data_ov17_0216c964: ; 0x0216c964
.word func_ov00_020c1914
.global data_ov17_0216c968
data_ov17_0216c968: ; 0x0216c968
.word func_ov00_020c191c
.global data_ov17_0216c96c
data_ov17_0216c96c: ; 0x0216c96c
.word func_ov00_020c1924
.global data_ov17_0216c970
data_ov17_0216c970: ; 0x0216c970
.word func_ov00_020c192c
.global data_ov17_0216c974
data_ov17_0216c974: ; 0x0216c974
.word func_ov00_020c1928
.global data_ov17_0216c978
data_ov17_0216c978: ; 0x0216c978
.word func_ov00_020c1934
.global data_ov17_0216c97c
data_ov17_0216c97c: ; 0x0216c97c
.word func_ov00_020c1938
.global data_ov17_0216c980
data_ov17_0216c980: ; 0x0216c980
.word func_ov00_020c193c
.global data_ov17_0216c984
data_ov17_0216c984: ; 0x0216c984
.word func_ov00_020c1940
.global data_ov17_0216c988
data_ov17_0216c988: ; 0x0216c988
.word func_ov00_020c1948
.global data_ov17_0216c98c
data_ov17_0216c98c: ; 0x0216c98c
.word func_ov00_020c1950
.global data_ov17_0216c990
data_ov17_0216c990: ; 0x0216c990
.word func_ov00_020c1954
.global data_ov17_0216c994
data_ov17_0216c994: ; 0x0216c994
.word func_ov00_020c1958
.global data_ov17_0216c998
data_ov17_0216c998: ; 0x0216c998
.word func_ov00_020c1b6c
.global data_ov17_0216c99c
data_ov17_0216c99c: ; 0x0216c99c
.word func_ov00_020c1bb4
.global data_ov17_0216c9a0
data_ov17_0216c9a0: ; 0x0216c9a0
.word func_ov00_020c1bf8
.global data_ov17_0216c9a4
data_ov17_0216c9a4: ; 0x0216c9a4
.word func_ov00_020c31fc
.global data_ov17_0216c9a8
data_ov17_0216c9a8: ; 0x0216c9a8
.word func_ov00_020c322c
.global data_ov17_0216c9ac
data_ov17_0216c9ac: ; 0x0216c9ac
.word func_ov14_02137a58
.global data_ov17_0216c9b0
data_ov17_0216c9b0: ; 0x0216c9b0
.word func_ov14_02137a8c
.global data_ov17_0216c9b4
data_ov17_0216c9b4: ; 0x0216c9b4
.word func_ov14_02137c20
.global data_ov17_0216c9b8
data_ov17_0216c9b8: ; 0x0216c9b8
.word func_ov14_02137fc4
.global data_ov17_0216c9bc
data_ov17_0216c9bc: ; 0x0216c9bc
.word func_ov14_02137fdc
.global data_ov17_0216c9c0
data_ov17_0216c9c0: ; 0x0216c9c0
.word func_ov17_02166614
.global data_ov17_0216c9c4
data_ov17_0216c9c4: ; 0x0216c9c4
.word func_ov17_02166634
.global data_ov17_0216c9c8
data_ov17_0216c9c8: ; 0x0216c9c8
.word func_ov17_02166668
.global data_ov17_0216c9cc
data_ov17_0216c9cc: ; 0x0216c9cc
.word func_ov17_02166680
.global data_ov17_0216c9d0
data_ov17_0216c9d0: ; 0x0216c9d0
.word func_ov17_0216669c
.global data_ov17_0216c9d4
data_ov17_0216c9d4: ; 0x0216c9d4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c9d8
data_ov17_0216c9d8: ; 0x0216c9d8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216c9dc
data_ov17_0216c9dc: ; 0x0216c9dc
.word func_ov17_02166830
.global data_ov17_0216c9e0
data_ov17_0216c9e0: ; 0x0216c9e0
.word func_ov17_02166850
.global data_ov17_0216c9e4
data_ov17_0216c9e4: ; 0x0216c9e4
.word func_ov17_02166878
.global data_ov17_0216c9e8
data_ov17_0216c9e8: ; 0x0216c9e8
.word func_ov17_02166ac0 ; func_ov61_02166ac0
.global data_ov17_0216c9ec
data_ov17_0216c9ec: ; 0x0216c9ec
.word func_ov17_02166e54
.global data_ov17_0216c9f0
data_ov17_0216c9f0: ; 0x0216c9f0
.word func_ov00_0208b698
.global data_ov17_0216c9f4
data_ov17_0216c9f4: ; 0x0216c9f4
.word func_ov17_02166a58
.global data_ov17_0216c9f8
data_ov17_0216c9f8: ; 0x0216c9f8
.word func_ov17_021678c0
.global data_ov17_0216c9fc
data_ov17_0216c9fc: ; 0x0216c9fc
.word func_ov00_0208b6bc
.global data_ov17_0216ca00
data_ov17_0216ca00: ; 0x0216ca00
.word func_ov17_02166dfc
.global data_ov17_0216ca04
data_ov17_0216ca04: ; 0x0216ca04
.word func_ov00_0208b6c8
.global data_ov17_0216ca08
data_ov17_0216ca08: ; 0x0216ca08
.word func_ov00_0208b6d0
.global data_ov17_0216ca0c
data_ov17_0216ca0c: ; 0x0216ca0c
.word func_ov00_0208b6d8
.global data_ov17_0216ca10
data_ov17_0216ca10: ; 0x0216ca10
.word func_ov00_0208b6e0
.global data_ov17_0216ca14
data_ov17_0216ca14: ; 0x0216ca14
.word func_ov00_0208b6e8
.global data_ov17_0216ca18
data_ov17_0216ca18: ; 0x0216ca18
.word func_ov00_0208b6f0
.global data_ov17_0216ca1c
data_ov17_0216ca1c: ; 0x0216ca1c
.word func_ov00_0208b6f8
.global data_ov17_0216ca20
data_ov17_0216ca20: ; 0x0216ca20
.word func_ov00_0208b700
.global data_ov17_0216ca24
data_ov17_0216ca24: ; 0x0216ca24
.word func_ov17_02166e2c
.global data_ov17_0216ca28
data_ov17_0216ca28: ; 0x0216ca28
.word func_ov00_0208b70c
.global data_ov17_0216ca2c
data_ov17_0216ca2c: ; 0x0216ca2c
.word func_ov00_0208b710
.global data_ov17_0216ca30
data_ov17_0216ca30: ; 0x0216ca30
.word func_ov00_0208ca00
.global data_ov17_0216ca34
data_ov17_0216ca34: ; 0x0216ca34
.word func_ov00_0208b71c
.global data_ov17_0216ca38
data_ov17_0216ca38: ; 0x0216ca38
.word func_ov00_0208b844
.global data_ov17_0216ca3c
data_ov17_0216ca3c: ; 0x0216ca3c
.word func_ov00_0208b870
.global data_ov17_0216ca40
data_ov17_0216ca40: ; 0x0216ca40
.word func_ov00_0208b89c
.global data_ov17_0216ca44
data_ov17_0216ca44: ; 0x0216ca44
.word func_ov00_0208ba30
.global data_ov17_0216ca48
data_ov17_0216ca48: ; 0x0216ca48
.word func_ov00_0208ba38
.global data_ov17_0216ca4c
data_ov17_0216ca4c: ; 0x0216ca4c
.word func_ov00_0208ba40
.global data_ov17_0216ca50
data_ov17_0216ca50: ; 0x0216ca50
.word func_ov00_0208ba48
.global data_ov17_0216ca54
data_ov17_0216ca54: ; 0x0216ca54
.word func_ov00_0208ba50
.global data_ov17_0216ca58
data_ov17_0216ca58: ; 0x0216ca58
.word func_ov17_02166e80
.global data_ov17_0216ca5c
data_ov17_0216ca5c: ; 0x0216ca5c
.word func_ov17_02166c74
.global data_ov17_0216ca60
data_ov17_0216ca60: ; 0x0216ca60
.word func_ov00_0208c38c
.global data_ov17_0216ca64
data_ov17_0216ca64: ; 0x0216ca64
.word func_ov00_0208c39c
.global data_ov17_0216ca68
data_ov17_0216ca68: ; 0x0216ca68
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216ca6c
data_ov17_0216ca6c: ; 0x0216ca6c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216ca70
data_ov17_0216ca70: ; 0x0216ca70
.word func_ov17_021679a4
.global data_ov17_0216ca74
data_ov17_0216ca74: ; 0x0216ca74
.word func_ov17_021679cc
.global data_ov17_0216ca78
data_ov17_0216ca78: ; 0x0216ca78
.word func_ov17_021679fc
.global data_ov17_0216ca7c
data_ov17_0216ca7c: ; 0x0216ca7c
.word func_ov17_02167aac
.global data_ov17_0216ca80
data_ov17_0216ca80: ; 0x0216ca80
.word func_ov00_0208b694
.global data_ov17_0216ca84
data_ov17_0216ca84: ; 0x0216ca84
.word func_ov00_0208b698
.global data_ov17_0216ca88
data_ov17_0216ca88: ; 0x0216ca88
.word func_ov00_0208b6b8
.global data_ov17_0216ca8c
data_ov17_0216ca8c: ; 0x0216ca8c
.word func_ov17_02168108
.global data_ov17_0216ca90
data_ov17_0216ca90: ; 0x0216ca90
.word func_ov00_0208b6bc
.global data_ov17_0216ca94
data_ov17_0216ca94: ; 0x0216ca94
.word func_ov00_0208b6c4
.global data_ov17_0216ca98
data_ov17_0216ca98: ; 0x0216ca98
.word func_ov00_0208b6c8
.global data_ov17_0216ca9c
data_ov17_0216ca9c: ; 0x0216ca9c
.word func_ov00_0208b6d0
.global data_ov17_0216caa0
data_ov17_0216caa0: ; 0x0216caa0
.word func_ov00_0208b6d8
.global data_ov17_0216caa4
data_ov17_0216caa4: ; 0x0216caa4
.word func_ov00_0208b6e0
.global data_ov17_0216caa8
data_ov17_0216caa8: ; 0x0216caa8
.word func_ov00_0208b6e8
.global data_ov17_0216caac
data_ov17_0216caac: ; 0x0216caac
.word func_ov00_0208b6f0
.global data_ov17_0216cab0
data_ov17_0216cab0: ; 0x0216cab0
.word func_ov00_0208b6f8
.global data_ov17_0216cab4
data_ov17_0216cab4: ; 0x0216cab4
.word func_ov00_0208b700
.global data_ov17_0216cab8
data_ov17_0216cab8: ; 0x0216cab8
.word func_ov17_02167e64
.global data_ov17_0216cabc
data_ov17_0216cabc: ; 0x0216cabc
.word func_ov00_0208b70c
.global data_ov17_0216cac0
data_ov17_0216cac0: ; 0x0216cac0
.word func_ov00_0208b710
.global data_ov17_0216cac4
data_ov17_0216cac4: ; 0x0216cac4
.word func_ov00_0208c9f8
.global data_ov17_0216cac8
data_ov17_0216cac8: ; 0x0216cac8
.word func_ov00_0208b71c
.global data_ov17_0216cacc
data_ov17_0216cacc: ; 0x0216cacc
.word func_ov00_0208b844
.global data_ov17_0216cad0
data_ov17_0216cad0: ; 0x0216cad0
.word func_ov00_0208b870
.global data_ov17_0216cad4
data_ov17_0216cad4: ; 0x0216cad4
.word func_ov00_0208b89c
.global data_ov17_0216cad8
data_ov17_0216cad8: ; 0x0216cad8
.word func_ov00_0208ba30
.global data_ov17_0216cadc
data_ov17_0216cadc: ; 0x0216cadc
.word func_ov00_0208ba38
.global data_ov17_0216cae0
data_ov17_0216cae0: ; 0x0216cae0
.word func_ov00_0208ba40
.global data_ov17_0216cae4
data_ov17_0216cae4: ; 0x0216cae4
.word func_ov00_0208ba48
.global data_ov17_0216cae8
data_ov17_0216cae8: ; 0x0216cae8
.word func_ov00_0208ba50
.global data_ov17_0216caec
data_ov17_0216caec: ; 0x0216caec
.word func_ov17_0216808c
.global data_ov17_0216caf0
data_ov17_0216caf0: ; 0x0216caf0
.word func_ov17_02167cd4
.global data_ov17_0216caf4
data_ov17_0216caf4: ; 0x0216caf4
.word func_ov00_0208c38c
.global data_ov17_0216caf8
data_ov17_0216caf8: ; 0x0216caf8
.word func_ov00_0208c39c
.global data_ov17_0216cafc
data_ov17_0216cafc: ; 0x0216cafc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216cb00
data_ov17_0216cb00: ; 0x0216cb00
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216cb04
data_ov17_0216cb04: ; 0x0216cb04
.word func_ov17_02168214
.global data_ov17_0216cb08
data_ov17_0216cb08: ; 0x0216cb08
.word func_ov17_0216823c
.global data_ov17_0216cb0c
data_ov17_0216cb0c: ; 0x0216cb0c
.word func_ov17_0216826c
.global data_ov17_0216cb10
data_ov17_0216cb10: ; 0x0216cb10
.word func_ov17_02168460
.global data_ov17_0216cb14
data_ov17_0216cb14: ; 0x0216cb14
.word func_ov00_0208b694
.global data_ov17_0216cb18
data_ov17_0216cb18: ; 0x0216cb18
.word func_ov00_0208b698
.global data_ov17_0216cb1c
data_ov17_0216cb1c: ; 0x0216cb1c
.word func_ov00_0208b6b8
.global data_ov17_0216cb20
data_ov17_0216cb20: ; 0x0216cb20
.word func_ov17_02168658
.global data_ov17_0216cb24
data_ov17_0216cb24: ; 0x0216cb24
.word func_ov00_0208b6bc
.global data_ov17_0216cb28
data_ov17_0216cb28: ; 0x0216cb28
.word func_ov00_0208b6c4
.global data_ov17_0216cb2c
data_ov17_0216cb2c: ; 0x0216cb2c
.word func_ov00_0208b6c8
.global data_ov17_0216cb30
data_ov17_0216cb30: ; 0x0216cb30
.word func_ov00_0208b6d0
.global data_ov17_0216cb34
data_ov17_0216cb34: ; 0x0216cb34
.word func_ov00_0208b6d8
.global data_ov17_0216cb38
data_ov17_0216cb38: ; 0x0216cb38
.word func_ov00_0208b6e0
.global data_ov17_0216cb3c
data_ov17_0216cb3c: ; 0x0216cb3c
.word func_ov00_0208b6e8
.global data_ov17_0216cb40
data_ov17_0216cb40: ; 0x0216cb40
.word func_ov00_0208b6f0
.global data_ov17_0216cb44
data_ov17_0216cb44: ; 0x0216cb44
.word func_ov00_0208b6f8
.global data_ov17_0216cb48
data_ov17_0216cb48: ; 0x0216cb48
.word func_ov00_0208b700
.global data_ov17_0216cb4c
data_ov17_0216cb4c: ; 0x0216cb4c
.word func_ov17_02168514
.global data_ov17_0216cb50
data_ov17_0216cb50: ; 0x0216cb50
.word func_ov00_0208b70c
.global data_ov17_0216cb54
data_ov17_0216cb54: ; 0x0216cb54
.word func_ov00_0208b710
.global data_ov17_0216cb58
data_ov17_0216cb58: ; 0x0216cb58
.word func_ov00_0208ca00
.global data_ov17_0216cb5c
data_ov17_0216cb5c: ; 0x0216cb5c
.word func_ov00_0208b71c
.global data_ov17_0216cb60
data_ov17_0216cb60: ; 0x0216cb60
.word func_ov00_0208b844
.global data_ov17_0216cb64
data_ov17_0216cb64: ; 0x0216cb64
.word func_ov00_0208b870
.global data_ov17_0216cb68
data_ov17_0216cb68: ; 0x0216cb68
.word func_ov00_0208b89c
.global data_ov17_0216cb6c
data_ov17_0216cb6c: ; 0x0216cb6c
.word func_ov00_0208ba30
.global data_ov17_0216cb70
data_ov17_0216cb70: ; 0x0216cb70
.word func_ov00_0208ba38
.global data_ov17_0216cb74
data_ov17_0216cb74: ; 0x0216cb74
.word func_ov00_0208ba40
.global data_ov17_0216cb78
data_ov17_0216cb78: ; 0x0216cb78
.word func_ov00_0208ba48
.global data_ov17_0216cb7c
data_ov17_0216cb7c: ; 0x0216cb7c
.word func_ov00_0208ba50
.global data_ov17_0216cb80
data_ov17_0216cb80: ; 0x0216cb80
.word func_ov17_02168544
.global data_ov17_0216cb84
data_ov17_0216cb84: ; 0x0216cb84
.word func_ov17_021684e0
.global data_ov17_0216cb88
data_ov17_0216cb88: ; 0x0216cb88
.word func_ov00_0208c38c
.global data_ov17_0216cb8c
data_ov17_0216cb8c: ; 0x0216cb8c
.word func_ov00_0208c39c
.global data_ov17_0216cb90
data_ov17_0216cb90: ; 0x0216cb90
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216cb94
data_ov17_0216cb94: ; 0x0216cb94
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216cb98
data_ov17_0216cb98: ; 0x0216cb98
.word func_ov17_02168c88
.global data_ov17_0216cb9c
data_ov17_0216cb9c: ; 0x0216cb9c
.word func_ov17_02168c9c
.global data_ov17_0216cba0
data_ov17_0216cba0: ; 0x0216cba0
.word func_ov00_020a960c
.global data_ov17_0216cba4
data_ov17_0216cba4: ; 0x0216cba4
.word func_ov00_020a9614
.global data_ov17_0216cba8
data_ov17_0216cba8: ; 0x0216cba8
.word func_ov00_020a9650
.global data_ov17_0216cbac
data_ov17_0216cbac: ; 0x0216cbac
.word func_ov00_020a96d4
.global data_ov17_0216cbb0
data_ov17_0216cbb0: ; 0x0216cbb0
.word func_ov00_020a9740
.global data_ov17_0216cbb4
data_ov17_0216cbb4: ; 0x0216cbb4
.word func_ov00_020a9764
.global data_ov17_0216cbb8
data_ov17_0216cbb8: ; 0x0216cbb8
.word func_ov00_020a97d0
.global data_ov17_0216cbbc
data_ov17_0216cbbc: ; 0x0216cbbc
.word func_ov00_020a97e0
.global data_ov17_0216cbc0
data_ov17_0216cbc0: ; 0x0216cbc0
.word func_ov00_020a97f8
.global data_ov17_0216cbc4
data_ov17_0216cbc4: ; 0x0216cbc4
.word func_ov00_020a9864
.global data_ov17_0216cbc8
data_ov17_0216cbc8: ; 0x0216cbc8
.word func_ov00_020a98bc
.global data_ov17_0216cbcc
data_ov17_0216cbcc: ; 0x0216cbcc
.word func_ov00_020a9890
.global data_ov17_0216cbd0
data_ov17_0216cbd0: ; 0x0216cbd0
.word func_ov00_020a9968
.global data_ov17_0216cbd4
data_ov17_0216cbd4: ; 0x0216cbd4
.word func_ov17_02168d10
.global data_ov17_0216cbd8
data_ov17_0216cbd8: ; 0x0216cbd8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216cbdc
data_ov17_0216cbdc: ; 0x0216cbdc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216cbe0
data_ov17_0216cbe0: ; 0x0216cbe0
.word func_ov17_02168e78
.global data_ov17_0216cbe4
data_ov17_0216cbe4: ; 0x0216cbe4
.word func_ov17_02168ea0
.global data_ov17_0216cbe8
data_ov17_0216cbe8: ; 0x0216cbe8
.word func_ov17_02168ed0
.global data_ov17_0216cbec
data_ov17_0216cbec: ; 0x0216cbec
.word func_ov17_02169198
.global data_ov17_0216cbf0
data_ov17_0216cbf0: ; 0x0216cbf0
.word func_ov00_0208b694
.global data_ov17_0216cbf4
data_ov17_0216cbf4: ; 0x0216cbf4
.word func_ov00_0208b698
.global data_ov17_0216cbf8
data_ov17_0216cbf8: ; 0x0216cbf8
.word func_ov00_0208b6b8
.global data_ov17_0216cbfc
data_ov17_0216cbfc: ; 0x0216cbfc
.word func_ov17_02169344
.global data_ov17_0216cc00
data_ov17_0216cc00: ; 0x0216cc00
.word func_ov00_0208b6bc
.global data_ov17_0216cc04
data_ov17_0216cc04: ; 0x0216cc04
.word func_ov00_0208b6c4
.global data_ov17_0216cc08
data_ov17_0216cc08: ; 0x0216cc08
.word func_ov00_0208b6c8
.global data_ov17_0216cc0c
data_ov17_0216cc0c: ; 0x0216cc0c
.word func_ov00_0208b6d0
.global data_ov17_0216cc10
data_ov17_0216cc10: ; 0x0216cc10
.word func_ov00_0208b6d8
.global data_ov17_0216cc14
data_ov17_0216cc14: ; 0x0216cc14
.word func_ov00_0208b6e0
.global data_ov17_0216cc18
data_ov17_0216cc18: ; 0x0216cc18
.word func_ov17_02169354
.global data_ov17_0216cc1c
data_ov17_0216cc1c: ; 0x0216cc1c
.word func_ov00_0208b6f0
.global data_ov17_0216cc20
data_ov17_0216cc20: ; 0x0216cc20
.word func_ov00_0208b6f8
.global data_ov17_0216cc24
data_ov17_0216cc24: ; 0x0216cc24
.word func_ov00_0208b700
.global data_ov17_0216cc28
data_ov17_0216cc28: ; 0x0216cc28
.word func_ov00_0208b704
.global data_ov17_0216cc2c
data_ov17_0216cc2c: ; 0x0216cc2c
.word func_ov00_0208b70c
.global data_ov17_0216cc30
data_ov17_0216cc30: ; 0x0216cc30
.word func_ov00_0208b710
.global data_ov17_0216cc34
data_ov17_0216cc34: ; 0x0216cc34
.word func_ov00_0208ca00
.global data_ov17_0216cc38
data_ov17_0216cc38: ; 0x0216cc38
.word func_ov00_0208b71c
.global data_ov17_0216cc3c
data_ov17_0216cc3c: ; 0x0216cc3c
.word func_ov00_0208b844
.global data_ov17_0216cc40
data_ov17_0216cc40: ; 0x0216cc40
.word func_ov00_0208b870
.global data_ov17_0216cc44
data_ov17_0216cc44: ; 0x0216cc44
.word func_ov00_0208b89c
.global data_ov17_0216cc48
data_ov17_0216cc48: ; 0x0216cc48
.word func_ov00_0208ba30
.global data_ov17_0216cc4c
data_ov17_0216cc4c: ; 0x0216cc4c
.word func_ov00_0208ba38
.global data_ov17_0216cc50
data_ov17_0216cc50: ; 0x0216cc50
.word func_ov00_0208ba40
.global data_ov17_0216cc54
data_ov17_0216cc54: ; 0x0216cc54
.word func_ov17_0216934c
.global data_ov17_0216cc58
data_ov17_0216cc58: ; 0x0216cc58
.word func_ov00_0208ba50
.global data_ov17_0216cc5c
data_ov17_0216cc5c: ; 0x0216cc5c
.word func_ov17_0216940c
.global data_ov17_0216cc60
data_ov17_0216cc60: ; 0x0216cc60
.word func_ov17_02169278
.global data_ov17_0216cc64
data_ov17_0216cc64: ; 0x0216cc64
.word func_ov00_0208c38c
.global data_ov17_0216cc68
data_ov17_0216cc68: ; 0x0216cc68
.word func_ov17_0216948c
.global data_ov17_0216cc6c
data_ov17_0216cc6c: ; 0x0216cc6c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216cc70
data_ov17_0216cc70: ; 0x0216cc70
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216cc74
data_ov17_0216cc74: ; 0x0216cc74
.word func_ov17_02169550
.global data_ov17_0216cc78
data_ov17_0216cc78: ; 0x0216cc78
.word func_ov17_02169570
.global data_ov17_0216cc7c
data_ov17_0216cc7c: ; 0x0216cc7c
.word func_ov17_02169598
.global data_ov17_0216cc80
data_ov17_0216cc80: ; 0x0216cc80
.word func_ov17_02169a58
.global data_ov17_0216cc84
data_ov17_0216cc84: ; 0x0216cc84
.word func_ov00_0208b694
.global data_ov17_0216cc88
data_ov17_0216cc88: ; 0x0216cc88
.word func_ov00_0208b698
.global data_ov17_0216cc8c
data_ov17_0216cc8c: ; 0x0216cc8c
.word func_ov17_02169900
.global data_ov17_0216cc90
data_ov17_0216cc90: ; 0x0216cc90
.word func_ov17_02169f4c
.global data_ov17_0216cc94
data_ov17_0216cc94: ; 0x0216cc94
.word func_ov00_0208b6bc
.global data_ov17_0216cc98
data_ov17_0216cc98: ; 0x0216cc98
.word func_ov00_0208b6c4
.global data_ov17_0216cc9c
data_ov17_0216cc9c: ; 0x0216cc9c
.word func_ov00_0208b6c8
.global data_ov17_0216cca0
data_ov17_0216cca0: ; 0x0216cca0
.word func_ov00_0208b6d0
.global data_ov17_0216cca4
data_ov17_0216cca4: ; 0x0216cca4
.word func_ov00_0208b6d8
.global data_ov17_0216cca8
data_ov17_0216cca8: ; 0x0216cca8
.word func_ov00_0208b6e0
.global data_ov17_0216ccac
data_ov17_0216ccac: ; 0x0216ccac
.word func_ov00_0208b6e8
.global data_ov17_0216ccb0
data_ov17_0216ccb0: ; 0x0216ccb0
.word func_ov00_0208b6f0
.global data_ov17_0216ccb4
data_ov17_0216ccb4: ; 0x0216ccb4
.word func_ov00_0208b6f8
.global data_ov17_0216ccb8
data_ov17_0216ccb8: ; 0x0216ccb8
.word func_ov00_0208b700
.global data_ov17_0216ccbc
data_ov17_0216ccbc: ; 0x0216ccbc
.word func_ov17_02169cb4
.global data_ov17_0216ccc0
data_ov17_0216ccc0: ; 0x0216ccc0
.word func_ov00_0208b70c
.global data_ov17_0216ccc4
data_ov17_0216ccc4: ; 0x0216ccc4
.word func_ov00_0208b710
.global data_ov17_0216ccc8
data_ov17_0216ccc8: ; 0x0216ccc8
.word func_ov00_0208ca00
.global data_ov17_0216cccc
data_ov17_0216cccc: ; 0x0216cccc
.word func_ov00_0208b71c
.global data_ov17_0216ccd0
data_ov17_0216ccd0: ; 0x0216ccd0
.word func_ov00_0208b844
.global data_ov17_0216ccd4
data_ov17_0216ccd4: ; 0x0216ccd4
.word func_ov00_0208b870
.global data_ov17_0216ccd8
data_ov17_0216ccd8: ; 0x0216ccd8
.word func_ov00_0208b89c
.global data_ov17_0216ccdc
data_ov17_0216ccdc: ; 0x0216ccdc
.word func_ov00_0208ba30
.global data_ov17_0216cce0
data_ov17_0216cce0: ; 0x0216cce0
.word func_ov00_0208ba38
.global data_ov17_0216cce4
data_ov17_0216cce4: ; 0x0216cce4
.word func_ov00_0208ba40
.global data_ov17_0216cce8
data_ov17_0216cce8: ; 0x0216cce8
.word func_ov00_0208ba48
.global data_ov17_0216ccec
data_ov17_0216ccec: ; 0x0216ccec
.word func_ov00_0208ba50
.global data_ov17_0216ccf0
data_ov17_0216ccf0: ; 0x0216ccf0
.word func_ov17_02169d48
.global data_ov17_0216ccf4
data_ov17_0216ccf4: ; 0x0216ccf4
.word func_ov17_02169b48
.global data_ov17_0216ccf8
data_ov17_0216ccf8: ; 0x0216ccf8
.word func_ov00_0208c38c
.global data_ov17_0216ccfc
data_ov17_0216ccfc: ; 0x0216ccfc
.word func_ov00_0208c39c
.global data_ov17_0216cd00
data_ov17_0216cd00: ; 0x0216cd00
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216cd04
data_ov17_0216cd04: ; 0x0216cd04
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216cd08
data_ov17_0216cd08: ; 0x0216cd08
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216cd0c
data_ov17_0216cd0c: ; 0x0216cd0c
.word func_ov17_02169fd4
.global data_ov17_0216cd10
data_ov17_0216cd10: ; 0x0216cd10
.word func_ov17_02169fe8
.global data_ov17_0216cd14
data_ov17_0216cd14: ; 0x0216cd14
.word func_ov17_0216a020
.global data_ov17_0216cd18
data_ov17_0216cd18: ; 0x0216cd18
.word func_ov17_0216a06c
.global data_ov17_0216cd1c
data_ov17_0216cd1c: ; 0x0216cd1c
.word func_ov14_021276f8
.global data_ov17_0216cd20
data_ov17_0216cd20: ; 0x0216cd20
.word func_ov00_0208b698
.global data_ov17_0216cd24
data_ov17_0216cd24: ; 0x0216cd24
.word func_ov17_0216a050
.global data_ov17_0216cd28
data_ov17_0216cd28: ; 0x0216cd28
.word func_ov17_0216a018
.global data_ov17_0216cd2c
data_ov17_0216cd2c: ; 0x0216cd2c
.word func_ov00_0208b6bc
.global data_ov17_0216cd30
data_ov17_0216cd30: ; 0x0216cd30
.word func_ov00_0208b6c4
.global data_ov17_0216cd34
data_ov17_0216cd34: ; 0x0216cd34
.word func_ov00_0208b6c8
.global data_ov17_0216cd38
data_ov17_0216cd38: ; 0x0216cd38
.word func_ov00_0208b6d0
.global data_ov17_0216cd3c
data_ov17_0216cd3c: ; 0x0216cd3c
.word func_ov00_0208b6d8
.global data_ov17_0216cd40
data_ov17_0216cd40: ; 0x0216cd40
.word func_ov00_0208b6e0
.global data_ov17_0216cd44
data_ov17_0216cd44: ; 0x0216cd44
.word func_ov00_0208b6e8
.global data_ov17_0216cd48
data_ov17_0216cd48: ; 0x0216cd48
.word func_ov00_0208b6f0
.global data_ov17_0216cd4c
data_ov17_0216cd4c: ; 0x0216cd4c
.word func_ov00_0208b6f8
.global data_ov17_0216cd50
data_ov17_0216cd50: ; 0x0216cd50
.word func_ov00_0208b700
.global data_ov17_0216cd54
data_ov17_0216cd54: ; 0x0216cd54
.word func_ov00_0208b704
.global data_ov17_0216cd58
data_ov17_0216cd58: ; 0x0216cd58
.word func_ov11_021279cc - 1 ; func_ov14_021279cc
.global data_ov17_0216cd5c
data_ov17_0216cd5c: ; 0x0216cd5c
.word func_ov00_0208b710
.global data_ov17_0216cd60
data_ov17_0216cd60: ; 0x0216cd60
.word func_ov00_0208ca00
.global data_ov17_0216cd64
data_ov17_0216cd64: ; 0x0216cd64
.word func_ov00_0208b71c
.global data_ov17_0216cd68
data_ov17_0216cd68: ; 0x0216cd68
.word func_ov00_0208b844
.global data_ov17_0216cd6c
data_ov17_0216cd6c: ; 0x0216cd6c
.word func_ov00_0208b870
.global data_ov17_0216cd70
data_ov17_0216cd70: ; 0x0216cd70
.word func_ov00_0208b89c
.global data_ov17_0216cd74
data_ov17_0216cd74: ; 0x0216cd74
.word func_ov00_0208ba30
.global data_ov17_0216cd78
data_ov17_0216cd78: ; 0x0216cd78
.word func_ov00_0208ba38
.global data_ov17_0216cd7c
data_ov17_0216cd7c: ; 0x0216cd7c
.word func_ov00_0208ba40
.global data_ov17_0216cd80
data_ov17_0216cd80: ; 0x0216cd80
.word func_ov00_0208ba48
.global data_ov17_0216cd84
data_ov17_0216cd84: ; 0x0216cd84
.word func_ov00_0208ba50
.global data_ov17_0216cd88
data_ov17_0216cd88: ; 0x0216cd88
.word func_ov17_0216a5b8
.global data_ov17_0216cd8c
data_ov17_0216cd8c: ; 0x0216cd8c
.word func_ov17_0216a0fc
.global data_ov17_0216cd90
data_ov17_0216cd90: ; 0x0216cd90
.word func_ov00_0208c38c
.global data_ov17_0216cd94
data_ov17_0216cd94: ; 0x0216cd94
.word func_ov00_0208c39c
.global data_ov17_0216cd98
data_ov17_0216cd98: ; 0x0216cd98
.word func_ov14_02127034
.global data_ov17_0216cd9c
data_ov17_0216cd9c: ; 0x0216cd9c
.word func_ov17_0216a348
.global data_ov17_0216cda0
data_ov17_0216cda0: ; 0x0216cda0
.word func_ov17_0216a3e8
.global data_ov17_0216cda4
data_ov17_0216cda4: ; 0x0216cda4
.word func_ov17_0216a4ac
.global data_ov17_0216cda8
data_ov17_0216cda8: ; 0x0216cda8
.word func_ov17_0216a634
.global data_ov17_0216cdac
data_ov17_0216cdac: ; 0x0216cdac
.word func_ov17_0216a734
.global data_ov17_0216cdb0
data_ov17_0216cdb0: ; 0x0216cdb0
.word func_ov14_02127ac4
.global data_ov17_0216cdb4
data_ov17_0216cdb4: ; 0x0216cdb4
.word func_ov17_02161a9c
.global data_ov17_0216cdb8
data_ov17_0216cdb8: ; 0x0216cdb8
.word func_ov14_02127984
.global data_ov17_0216cdbc
data_ov17_0216cdbc: ; 0x0216cdbc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216cdc0
data_ov17_0216cdc0: ; 0x0216cdc0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216cdc4
data_ov17_0216cdc4: ; 0x0216cdc4
.word func_ov17_0216a978
.global data_ov17_0216cdc8
data_ov17_0216cdc8: ; 0x0216cdc8
.word func_ov17_0216a8f4 ; func_ov18_0216a8f4
.global data_ov17_0216cdcc
data_ov17_0216cdcc: ; 0x0216cdcc
.word func_ov17_0216a9fc
.global data_ov17_0216cdd0
data_ov17_0216cdd0: ; 0x0216cdd0
.word func_ov17_0216abfc
.global data_ov17_0216cdd4
data_ov17_0216cdd4: ; 0x0216cdd4
.word func_ov00_0208b694
.global data_ov17_0216cdd8
data_ov17_0216cdd8: ; 0x0216cdd8
.word func_ov00_0208b698
.global data_ov17_0216cddc
data_ov17_0216cddc: ; 0x0216cddc
.word func_ov00_0208b6b8
.global data_ov17_0216cde0
data_ov17_0216cde0: ; 0x0216cde0
.word func_ov17_0216a9f4
.global data_ov17_0216cde4
data_ov17_0216cde4: ; 0x0216cde4
.word func_ov00_0208b6bc
.global data_ov17_0216cde8
data_ov17_0216cde8: ; 0x0216cde8
.word func_ov00_0208b6c4
.global data_ov17_0216cdec
data_ov17_0216cdec: ; 0x0216cdec
.word func_ov00_0208b6c8
.global data_ov17_0216cdf0
data_ov17_0216cdf0: ; 0x0216cdf0
.word func_ov00_0208b6d0
.global data_ov17_0216cdf4
data_ov17_0216cdf4: ; 0x0216cdf4
.word func_ov17_0216acec
.global data_ov17_0216cdf8
data_ov17_0216cdf8: ; 0x0216cdf8
.word func_ov00_0208b6e0
.global data_ov17_0216cdfc
data_ov17_0216cdfc: ; 0x0216cdfc
.word func_ov00_0208b6e8
.global data_ov17_0216ce00
data_ov17_0216ce00: ; 0x0216ce00
.word func_ov00_0208b6f0
.global data_ov17_0216ce04
data_ov17_0216ce04: ; 0x0216ce04
.word func_ov00_0208b6f8
.global data_ov17_0216ce08
data_ov17_0216ce08: ; 0x0216ce08
.word func_ov00_0208b700
.global data_ov17_0216ce0c
data_ov17_0216ce0c: ; 0x0216ce0c
.word func_ov00_0208b704
.global data_ov17_0216ce10
data_ov17_0216ce10: ; 0x0216ce10
.word func_ov00_0208b70c
.global data_ov17_0216ce14
data_ov17_0216ce14: ; 0x0216ce14
.word func_ov00_0208b710
.global data_ov17_0216ce18
data_ov17_0216ce18: ; 0x0216ce18
.word func_ov00_0208ca00
.global data_ov17_0216ce1c
data_ov17_0216ce1c: ; 0x0216ce1c
.word func_ov00_0208b71c
.global data_ov17_0216ce20
data_ov17_0216ce20: ; 0x0216ce20
.word func_ov00_0208b844
.global data_ov17_0216ce24
data_ov17_0216ce24: ; 0x0216ce24
.word func_ov00_0208b870
.global data_ov17_0216ce28
data_ov17_0216ce28: ; 0x0216ce28
.word func_ov00_0208b89c
.global data_ov17_0216ce2c
data_ov17_0216ce2c: ; 0x0216ce2c
.word func_ov00_0208ba30
.global data_ov17_0216ce30
data_ov17_0216ce30: ; 0x0216ce30
.word func_ov00_0208ba38
.global data_ov17_0216ce34
data_ov17_0216ce34: ; 0x0216ce34
.word func_ov00_0208ba40
.global data_ov17_0216ce38
data_ov17_0216ce38: ; 0x0216ce38
.word func_ov00_0208ba48
.global data_ov17_0216ce3c
data_ov17_0216ce3c: ; 0x0216ce3c
.word func_ov00_0208ba50
.global data_ov17_0216ce40
data_ov17_0216ce40: ; 0x0216ce40
.word func_ov17_0216af44
.global data_ov17_0216ce44
data_ov17_0216ce44: ; 0x0216ce44
.word func_ov17_0216ad30
.global data_ov17_0216ce48
data_ov17_0216ce48: ; 0x0216ce48
.word func_ov00_0208c38c
.global data_ov17_0216ce4c
data_ov17_0216ce4c: ; 0x0216ce4c
.word func_ov00_0208c39c
.global data_ov17_0216ce50
data_ov17_0216ce50: ; 0x0216ce50
.ascii "mapGhost"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216ce5c
data_ov17_0216ce5c: ; 0x0216ce5c
.ascii "mapDungeon"
.byte 0x00, 0x00
.global data_ov17_0216ce68
data_ov17_0216ce68: ; 0x0216ce68
.ascii "UISGhostList"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216ce78
data_ov17_0216ce78: ; 0x0216ce78
.ascii "UISDungeonList"
.byte 0x00, 0x00
.global data_ov17_0216ce88
data_ov17_0216ce88: ; 0x0216ce88
.ascii "UISDungeonClock"
.byte 0x00
.global data_ov17_0216ce98
data_ov17_0216ce98: ; 0x0216ce98
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov17_0216ce9c
data_ov17_0216ce9c: ; 0x0216ce9c
.byte 0x00, 0x00, 0x00, 0x00
; 0x0216cea0
.bss
.global data_ov17_0216cea0
data_ov17_0216cea0:
.space 0x4
.global data_ov17_0216cea4
data_ov17_0216cea4:
.space 0x4
.global data_ov17_0216cea8
data_ov17_0216cea8:
.space 0x4
.global data_ov17_0216ceac
data_ov17_0216ceac:
.space 0x4
.global data_ov17_0216ceb0
data_ov17_0216ceb0:
.space 0x4
.global data_ov17_0216ceb4
data_ov17_0216ceb4:
.space 0x4
.global data_ov17_0216ceb8
data_ov17_0216ceb8:
.space 0x4
.global data_ov17_0216cebc
data_ov17_0216cebc:
.space 0x4
.global data_ov17_0216cec0
data_ov17_0216cec0:
.space 0x4
.global data_ov17_0216cec4
data_ov17_0216cec4:
.space 0x4
.global data_ov17_0216cec8
data_ov17_0216cec8:
.space 0x4
.global data_ov17_0216cecc
data_ov17_0216cecc:
.space 0x4
.global data_ov17_0216ced0
data_ov17_0216ced0:
.space 0x4
.global data_ov17_0216ced4
data_ov17_0216ced4:
.space 0x4
.global data_ov17_0216ced8
data_ov17_0216ced8:
.space 0x4
.global data_ov17_0216cedc
data_ov17_0216cedc:
.space 0x4
.global data_ov17_0216cee0
data_ov17_0216cee0:
.space 0x4
.global data_ov17_0216cee4
data_ov17_0216cee4:
.space 0x4
.global data_ov17_0216cee8
data_ov17_0216cee8:
.space 0x4
.global data_ov17_0216ceec
data_ov17_0216ceec:
.space 0x4
.global data_ov17_0216cef0
data_ov17_0216cef0:
.space 0x4
.global data_ov17_0216cef4
data_ov17_0216cef4:
.space 0x4
.global data_ov17_0216cef8
data_ov17_0216cef8:
.space 0x4
.global data_ov17_0216cefc
data_ov17_0216cefc:
.space 0x4
.global data_ov17_0216cf00
data_ov17_0216cf00:
.space 0x4
.global data_ov17_0216cf04
data_ov17_0216cf04:
.space 0x4
.global data_ov17_0216cf08
data_ov17_0216cf08:
.space 0x4
.global data_ov17_0216cf0c
data_ov17_0216cf0c:
.space 0x4
.global data_ov17_0216cf10
data_ov17_0216cf10:
.space 0x4
.global data_ov17_0216cf14
data_ov17_0216cf14:
.space 0x4
.global data_ov17_0216cf18
data_ov17_0216cf18:
.space 0x4
.global data_ov17_0216cf1c
data_ov17_0216cf1c:
.space 0x4
.global data_ov17_0216cf20
data_ov17_0216cf20:
.space 0x4
.global data_ov17_0216cf24
data_ov17_0216cf24:
.space 0x4
.global data_ov17_0216cf28
data_ov17_0216cf28:
.space 0x4
.global data_ov17_0216cf2c
data_ov17_0216cf2c:
.space 0x4
.global data_ov17_0216cf30
data_ov17_0216cf30:
.space 0x4
.global data_ov17_0216cf34
data_ov17_0216cf34:
.space 0x4
.global data_ov17_0216cf38
data_ov17_0216cf38:
.space 0x4
.global data_ov17_0216cf3c
data_ov17_0216cf3c:
.space 0x4
.global data_ov17_0216cf40
data_ov17_0216cf40:
.space 0x4
.global data_ov17_0216cf44
data_ov17_0216cf44:
.space 0x4
.global data_ov17_0216cf48
data_ov17_0216cf48:
.space 0x4
.global data_ov17_0216cf4c
data_ov17_0216cf4c:
.space 0x4
.global data_ov17_0216cf50
data_ov17_0216cf50:
.space 0x4
.global data_ov17_0216cf54
data_ov17_0216cf54:
.space 0x4
.global data_ov17_0216cf58
data_ov17_0216cf58:
.space 0x4
.global data_ov17_0216cf5c
data_ov17_0216cf5c:
.space 0x4
.global data_ov17_0216cf60
data_ov17_0216cf60:
.space 0x4
.global data_ov17_0216cf64
data_ov17_0216cf64:
.space 0x4
.global data_ov17_0216cf68
data_ov17_0216cf68:
.space 0x4
.global data_ov17_0216cf6c
data_ov17_0216cf6c:
.space 0x4
.global data_ov17_0216cf70
data_ov17_0216cf70:
.space 0x4
.global data_ov17_0216cf74
data_ov17_0216cf74:
.space 0x4
.global data_ov17_0216cf78
data_ov17_0216cf78:
.space 0x4
.global data_ov17_0216cf7c
data_ov17_0216cf7c:
.space 0x4
.global data_ov17_0216cf80
data_ov17_0216cf80:
.space 0x4
.global data_ov17_0216cf84
data_ov17_0216cf84:
.space 0x4
.global data_ov17_0216cf88
data_ov17_0216cf88:
.space 0x4
.global data_ov17_0216cf8c
data_ov17_0216cf8c:
.space 0x4
.global data_ov17_0216cf90
data_ov17_0216cf90:
.space 0x4
.global data_ov17_0216cf94
data_ov17_0216cf94:
.space 0x4
.global data_ov17_0216cf98
data_ov17_0216cf98:
.space 0x4
.global data_ov17_0216cf9c
data_ov17_0216cf9c:
.space 0x4
.global data_ov17_0216cfa0
data_ov17_0216cfa0:
.space 0x4
.global data_ov17_0216cfa4
data_ov17_0216cfa4:
.space 0x4
.global data_ov17_0216cfa8
data_ov17_0216cfa8:
.space 0x4
.global data_ov17_0216cfac
data_ov17_0216cfac:
.space 0x4
.global data_ov17_0216cfb0
data_ov17_0216cfb0:
.space 0x4
.global data_ov17_0216cfb4
data_ov17_0216cfb4:
.space 0x4
.global data_ov17_0216cfb8
data_ov17_0216cfb8:
.space 0x4
.global data_ov17_0216cfbc
data_ov17_0216cfbc:
.space 0x4
.global data_ov17_0216cfc0
data_ov17_0216cfc0:
.space 0x4
.global data_ov17_0216cfc4
data_ov17_0216cfc4:
.space 0x4
.global data_ov17_0216cfc8
data_ov17_0216cfc8:
.space 0x4
.global data_ov17_0216cfcc
data_ov17_0216cfcc:
.space 0x4
.global data_ov17_0216cfd0
data_ov17_0216cfd0:
.space 0x4
.global data_ov17_0216cfd4
data_ov17_0216cfd4:
.space 0x4
.global data_ov17_0216cfd8
data_ov17_0216cfd8:
.space 0x4
.global data_ov17_0216cfdc
data_ov17_0216cfdc:
.space 0x4
.global data_ov17_0216cfe0
data_ov17_0216cfe0:
.space 0x4
.global data_ov17_0216cfe4
data_ov17_0216cfe4:
.space 0x4
.global data_ov17_0216cfe8
data_ov17_0216cfe8:
.space 0x4
.global data_ov17_0216cfec
data_ov17_0216cfec:
.space 0x4
.global data_ov17_0216cff0
data_ov17_0216cff0:
.space 0x4
.global data_ov17_0216cff4
data_ov17_0216cff4:
.space 0x4
.global data_ov17_0216cff8
data_ov17_0216cff8:
.space 0x4
.global data_ov17_0216cffc
data_ov17_0216cffc:
.space 0x4
.global data_ov17_0216d000
data_ov17_0216d000:
.space 0x4
.global data_ov17_0216d004
data_ov17_0216d004:
.space 0x4
.global data_ov17_0216d008
data_ov17_0216d008:
.space 0x4
.global data_ov17_0216d00c
data_ov17_0216d00c:
.space 0x4
.global data_ov17_0216d010
data_ov17_0216d010:
.space 0x4
.global data_ov17_0216d014
data_ov17_0216d014:
.space 0x4
.global data_ov17_0216d018
data_ov17_0216d018:
.space 0x4
.global data_ov17_0216d01c
data_ov17_0216d01c:
.space 0x4
.global data_ov17_0216d020
data_ov17_0216d020:
.space 0x4
.global data_ov17_0216d024
data_ov17_0216d024:
.space 0x4
.global data_ov17_0216d028
data_ov17_0216d028:
.space 0x4
.global data_ov17_0216d02c
data_ov17_0216d02c:
.space 0x4
.global data_ov17_0216d030
data_ov17_0216d030:
.space 0x4
.global data_ov17_0216d034
data_ov17_0216d034:
.space 0x4
.global data_ov17_0216d038
data_ov17_0216d038:
.space 0x4
.global data_ov17_0216d03c
data_ov17_0216d03c:
.space 0x4
.global data_ov17_0216d040
data_ov17_0216d040:
.space 0x4
.global data_ov17_0216d044
data_ov17_0216d044:
.space 0x4
.global data_ov17_0216d048
data_ov17_0216d048:
.space 0x4
.global data_ov17_0216d04c
data_ov17_0216d04c:
.space 0x4
.global data_ov17_0216d050
data_ov17_0216d050:
.space 0x4
.global data_ov17_0216d054
data_ov17_0216d054:
.space 0x4
.global data_ov17_0216d058
data_ov17_0216d058:
.space 0x4
.global data_ov17_0216d05c
data_ov17_0216d05c:
.space 0x4
.global data_ov17_0216d060
data_ov17_0216d060:
.space 0x4
.global data_ov17_0216d064
data_ov17_0216d064:
.space 0x4
.global data_ov17_0216d068
data_ov17_0216d068:
.space 0x4
.global data_ov17_0216d06c
data_ov17_0216d06c:
.space 0x4
.global data_ov17_0216d070
data_ov17_0216d070:
.space 0x4
.global data_ov17_0216d074
data_ov17_0216d074:
.space 0x4
.global data_ov17_0216d078
data_ov17_0216d078:
.space 0x4
.global data_ov17_0216d07c
data_ov17_0216d07c:
.space 0x4
.global data_ov17_0216d080
data_ov17_0216d080:
.space 0x4
.global data_ov17_0216d084
data_ov17_0216d084:
.space 0x4
.global data_ov17_0216d088
data_ov17_0216d088:
.space 0x4
.global data_ov17_0216d08c
data_ov17_0216d08c:
.space 0x4
.global data_ov17_0216d090
data_ov17_0216d090:
.space 0x4
.global data_ov17_0216d094
data_ov17_0216d094:
.space 0x4
.global data_ov17_0216d098
data_ov17_0216d098:
.space 0x4
.global data_ov17_0216d09c
data_ov17_0216d09c:
.space 0x4
.global data_ov17_0216d0a0
data_ov17_0216d0a0:
.space 0x4
.global data_ov17_0216d0a4
data_ov17_0216d0a4:
.space 0x4
.global data_ov17_0216d0a8
data_ov17_0216d0a8:
.space 0x4
.global data_ov17_0216d0ac
data_ov17_0216d0ac:
.space 0x4
.global data_ov17_0216d0b0
data_ov17_0216d0b0:
.space 0x4
.global data_ov17_0216d0b4
data_ov17_0216d0b4:
.space 0x4
.global data_ov17_0216d0b8
data_ov17_0216d0b8:
.space 0x4
.global data_ov17_0216d0bc
data_ov17_0216d0bc:
.space 0x4
.global data_ov17_0216d0c0
data_ov17_0216d0c0:
.space 0x4
.global data_ov17_0216d0c4
data_ov17_0216d0c4:
.space 0x4
.global data_ov17_0216d0c8
data_ov17_0216d0c8:
.space 0x4
.global data_ov17_0216d0cc
data_ov17_0216d0cc:
.space 0x4
.global data_ov17_0216d0d0
data_ov17_0216d0d0:
.space 0x4
.global data_ov17_0216d0d4
data_ov17_0216d0d4:
.space 0x4
.global data_ov17_0216d0d8
data_ov17_0216d0d8:
.space 0x4
.global data_ov17_0216d0dc
data_ov17_0216d0dc:
.space 0x4
.global data_ov17_0216d0e0
data_ov17_0216d0e0:
.space 0x4
.global data_ov17_0216d0e4
data_ov17_0216d0e4:
.space 0x4
.global data_ov17_0216d0e8
data_ov17_0216d0e8:
.space 0x4
.global data_ov17_0216d0ec
data_ov17_0216d0ec:
.space 0x4
.global data_ov17_0216d0f0
data_ov17_0216d0f0:
.space 0x4
.global data_ov17_0216d0f4
data_ov17_0216d0f4:
.space 0x4
.global data_ov17_0216d0f8
data_ov17_0216d0f8:
.space 0x4
.global data_ov17_0216d0fc
data_ov17_0216d0fc:
.space 0x4
.global data_ov17_0216d100
data_ov17_0216d100:
.space 0x4
.global data_ov17_0216d104
data_ov17_0216d104:
.space 0x4
.global data_ov17_0216d108
data_ov17_0216d108:
.space 0x4
.global data_ov17_0216d10c
data_ov17_0216d10c:
.space 0x4
.global data_ov17_0216d110
data_ov17_0216d110:
.space 0x4
.global data_ov17_0216d114
data_ov17_0216d114:
.space 0x4
.global data_ov17_0216d118
data_ov17_0216d118:
.space 0x4
.global data_ov17_0216d11c
data_ov17_0216d11c:
.space 0x4