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

17846 lines
377 KiB
ArmAsm

.include "macros/function.inc"
.include "global.inc"
.text
.global func_ov25_0216d6a0
arm_func_start func_ov25_0216d6a0
func_ov25_0216d6a0: ; 0x0216d6a0
stmdb sp!, {r3, lr}
ldr r1, _0216d6d0 ; =data_027e0ce0
ldr r0, _0216d6d4 ; =0x00000948
ldr r1, [r1, #4]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _0216d6c4
bl func_ov25_0216d714
_0216d6c4:
ldr r1, _0216d6d8 ; =data_027e10b8
str r0, [r1]
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_0216d6a0
_0216d6d0: .word data_027e0ce0
_0216d6d4: .word 0x00000948
_0216d6d8: .word data_027e10b8
.global func_ov25_0216d6dc
arm_func_start func_ov25_0216d6dc
func_ov25_0216d6dc: ; 0x0216d6dc
stmdb sp!, {r4, lr}
ldr r0, _0216d710 ; =data_027e10b8
ldr r4, [r0]
cmp r4, #0
beq _0216d700
mov r0, r4
bl func_ov25_0216d7d4
mov r0, r4
bl func_0202ea0c
_0216d700:
ldr r0, _0216d710 ; =data_027e10b8
mov r1, #0
str r1, [r0]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_0216d6dc
_0216d710: .word data_027e10b8
.global func_ov25_0216d714
arm_func_start func_ov25_0216d714
func_ov25_0216d714: ; 0x0216d714
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
mov r4, r0
mov r8, #0
mov sl, r4
add r5, r4, #0x900
mov sb, #0xff
mvn r7, #0
mov r6, r8
_0216d734:
strb sb, [sl]
str r8, [sl, #4]
strh r8, [sl, #0x24]
add r0, sl, #0x28
bl func_ov00_020c1500
str r7, [sl, #0x3c]
str r7, [sl, #0x40]
str r7, [sl, #0x44]
str r6, [sl, #0x18]
str r6, [sl, #0x1c]
str r6, [sl, #0x20]
add sl, sl, #0x48
cmp sl, r5
blo _0216d734
mov r0, #0xff
strb r0, [r4, #0x900]
add r0, r4, #0x128
str r6, [r4, #0x904]
add r1, r4, #0x900
add r0, r0, #0x800
strh r6, [r1, #0x24]
bl func_ov00_020c1500
mvn r0, #0
str r0, [r4, #0x93c]
str r0, [r4, #0x940]
str r0, [r4, #0x944]
mov r1, #0
str r1, [r4, #0x918]
str r1, [r4, #0x91c]
mov r0, r4
str r1, [r4, #0x920]
bl func_ov25_0216d7d8
ldr r0, _0216d7d0 ; =data_027e0f74
mov r1, #0x150
ldr r0, [r0]
mov r2, #0
bl func_ov00_0209779c
mov r0, r4
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
arm_func_end func_ov25_0216d714
_0216d7d0: .word data_027e0f74
.global func_ov25_0216d7d4
arm_func_start func_ov25_0216d7d4
func_ov25_0216d7d4: ; 0x0216d7d4
bx lr
arm_func_end func_ov25_0216d7d4
.global func_ov25_0216d7d8
arm_func_start func_ov25_0216d7d8
func_ov25_0216d7d8: ; 0x0216d7d8
mov r3, r0
mov r1, #0
mov r2, #0xff
_0216d7e4:
add r1, r1, #1
mov r1, r1, lsl #0x10
mov r1, r1, asr #0x10
cmp r1, #0x20
strb r2, [r3], #0x48
blt _0216d7e4
strb r2, [r0, #0x900]
bx lr
arm_func_end func_ov25_0216d7d8
.global func_ov25_0216d804
arm_func_start func_ov25_0216d804
func_ov25_0216d804: ; 0x0216d804
stmdb sp!, {r3, lr}
mov lr, r0
mov ip, #0
mov r3, #0xff
_0216d814:
ldrb r2, [lr]
cmp r1, r2
add r2, ip, #1
mov r2, r2, lsl #0x10
streqb r3, [lr]
mov ip, r2, asr #0x10
cmp ip, #0x20
add lr, lr, #0x48
blt _0216d814
mov r1, #0xff
strb r1, [r0, #0x900]
ldmia sp!, {r3, pc}
arm_func_end func_ov25_0216d804
.global func_ov25_0216d844
arm_func_start func_ov25_0216d844
func_ov25_0216d844: ; 0x0216d844
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0xd4
mov r5, r0
add r2, sp, #0x54
mov r4, r1
mvn r3, #0
add r0, sp, #0xd4
_0216d860:
str r3, [r2]
str r3, [r2, #4]
add r2, r2, #8
cmp r2, r0
blo _0216d860
ldr r0, _0216da98 ; =data_027e0fe4
mov sb, #0
ldr lr, _0216da9c ; =data_ov00_020e72f0
add r8, sp, #0x40
ldr ip, _0216daa0 ; =0x43425331
add r7, sp, #0x54
mov r6, #0x10
ldr r0, [r0]
add r1, sp, #0xc
add r2, sp, #0
str sb, [sp, #8]
str lr, [sp, #0xc]
str ip, [sp, #0x10]
str r3, [sp, #0x14]
str r3, [sp, #0x18]
str sb, [sp, #0x1c]
strb sb, [sp, #0x20]
strb sb, [sp, #0x3c]
str sb, [r8, #0xc]
str sb, [r8]
str sb, [r8, #4]
str sb, [r8, #8]
str r7, [sp]
str r6, [sp, #4]
bl func_ov00_020c37ec
ldr r0, [sp, #8]
mov r7, sb
cmp r0, #0
mov r6, r7
addle sp, sp, #0xd4
ldmleia sp!, {r4, r5, r6, r7, r8, sb, pc}
_0216d8f0:
ldr r0, _0216da98 ; =data_027e0fe4
ldr r1, [sp]
ldr r0, [r0]
add r1, r1, sb
bl func_ov00_020c3674
mov r8, r0
bl func_ov25_02173238
cmp r0, #0
beq _0216d9b4
strb r4, [r5, #0x900]
ldr r1, [r8, #4]
add r0, r5, #0x104
str r1, [r5, #0x904]
ldr r1, [r8, #0x48]
add r0, r0, #0x800
str r1, [r0, #0x14]
ldr r1, [r8, #0x4c]
str r1, [r0, #0x18]
ldr r1, [r8, #0x50]
str r1, [r0, #0x1c]
ldrh r2, [r8, #0x20]
ldrh r1, [r8, #0x22]
strh r2, [r0, #0x24]
strh r1, [r0, #0x26]
ldrh r2, [r8, #0x24]
ldrh r1, [r8, #0x26]
strh r2, [r0, #0x28]
strh r1, [r0, #0x2a]
ldrb r2, [r8, #0x28]
ldrb r1, [r8, #0x29]
strb r2, [r0, #0x2c]
strb r1, [r0, #0x2d]
ldrb r2, [r8, #0x2a]
ldrb r1, [r8, #0x2b]
strb r2, [r0, #0x2e]
strb r1, [r0, #0x2f]
ldrsb r1, [r8, #0x2c]
strb r1, [r0, #0x30]
ldrb r1, [r8, #0x2d]
strb r1, [r0, #0x31]
ldrb r1, [r8, #0x2e]
strb r1, [r0, #0x32]
ldrsb r1, [r8, #0x2f]
strb r1, [r0, #0x33]
ldr r1, [r8, #0x30]
str r1, [r0, #0x34]
ldr r1, [r8, #0x130]
str r1, [r0, #0x38]
b _0216da7c
_0216d9b4:
cmp r7, #0x20
bge _0216da7c
mov r0, #0x48
mla r0, r7, r0, r5
_0216d9c4:
ldrb r1, [r0]
cmp r1, #0xff
bne _0216da6c
strb r4, [r0]
ldr r1, [r8, #4]
add r7, r7, #1
str r1, [r0, #4]
ldr r1, [r8, #0x48]
str r1, [r0, #0x18]
ldr r1, [r8, #0x4c]
str r1, [r0, #0x1c]
ldr r1, [r8, #0x50]
str r1, [r0, #0x20]
ldrh r2, [r8, #0x20]
ldrh r1, [r8, #0x22]
strh r2, [r0, #0x28]
strh r1, [r0, #0x2a]
ldrh r2, [r8, #0x24]
ldrh r1, [r8, #0x26]
strh r2, [r0, #0x2c]
strh r1, [r0, #0x2e]
ldrb r2, [r8, #0x28]
ldrb r1, [r8, #0x29]
strb r2, [r0, #0x30]
strb r1, [r0, #0x31]
ldrb r2, [r8, #0x2a]
ldrb r1, [r8, #0x2b]
strb r2, [r0, #0x32]
strb r1, [r0, #0x33]
ldrsb r1, [r8, #0x2c]
strb r1, [r0, #0x34]
ldrb r1, [r8, #0x2d]
strb r1, [r0, #0x35]
ldrb r1, [r8, #0x2e]
strb r1, [r0, #0x36]
ldrsb r1, [r8, #0x2f]
strb r1, [r0, #0x37]
ldr r1, [r8, #0x30]
str r1, [r0, #0x38]
ldr r1, [r8, #0x130]
str r1, [r0, #0x3c]
b _0216da7c
_0216da6c:
add r7, r7, #1
cmp r7, #0x20
add r0, r0, #0x48
blt _0216d9c4
_0216da7c:
ldr r0, [sp, #8]
add r6, r6, #1
cmp r6, r0
add sb, sb, #8
blt _0216d8f0
add sp, sp, #0xd4
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov25_0216d844
_0216da98: .word data_027e0fe4
_0216da9c: .word data_ov00_020e72f0
_0216daa0: .word 0x43425331
.global func_ov25_0216daa4
arm_func_start func_ov25_0216daa4
func_ov25_0216daa4: ; 0x0216daa4
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x78
mov sl, r0
ldr fp, _0216dcc8 ; =data_027e0fe8
mov sb, r1
mov r8, sl
mov r7, #0
mvn r6, #0
add r5, sp, #0x4c
add r4, sp, #0xc
_0216dacc:
ldrb r0, [r8]
cmp sb, r0
bne _0216db80
mov r0, r5
str r6, [sp, #0xc]
str r6, [sp, #0x10]
bl func_ov00_020c1500
mov r0, r5
str r6, [sp, #0x68]
str r6, [sp, #0x6c]
bl func_ov00_020c3348
ldrh r1, [r8, #0x28]
ldrh r0, [r8, #0x2a]
add r2, r8, #0x18
mov r3, r5
strh r1, [sp, #0x4c]
strh r0, [sp, #0x4e]
ldrh r1, [r8, #0x2c]
ldrh r0, [r8, #0x2e]
strh r1, [sp, #0x50]
strh r0, [sp, #0x52]
ldrb r1, [r8, #0x30]
ldrb r0, [r8, #0x31]
strb r1, [sp, #0x54]
strb r0, [sp, #0x55]
ldrb r1, [r8, #0x32]
ldrb r0, [r8, #0x33]
strb r1, [sp, #0x56]
strb r0, [sp, #0x57]
ldrsb r0, [r8, #0x34]
strb r0, [sp, #0x58]
ldrb r0, [r8, #0x35]
strb r0, [sp, #0x59]
ldrb r0, [r8, #0x36]
strb r0, [sp, #0x5a]
ldrsb r0, [r8, #0x37]
strb r0, [sp, #0x5b]
ldr r0, [r8, #0x38]
str r0, [sp, #0x5c]
ldr r0, [r8, #0x3c]
str r0, [sp, #0x70]
str r4, [sp]
ldr r0, [fp]
ldr r1, [r8, #4]
bl func_ov00_020c4048
_0216db80:
add r0, r7, #1
mov r0, r0, lsl #0x10
mov r7, r0, asr #0x10
cmp r7, #0x20
add r8, r8, #0x48
blt _0216dacc
ldrb r0, [sl, #0x900]
cmp r0, #0xff
addeq sp, sp, #0x78
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
mvn r2, #0
add r1, sl, #0x104
add r0, sp, #0x20
str r2, [sp, #4]
str r2, [sp, #8]
add r4, r1, #0x800
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x20
str r1, [sp, #0x3c]
str r1, [sp, #0x40]
bl func_ov00_020c3348
ldrh r2, [r4, #0x24]
ldrh r1, [r4, #0x26]
ldr r3, _0216dccc ; =data_027e0f94
ldr r0, _0216dcd0 ; =data_027e0e60
strh r1, [sp, #0x22]
strh r2, [sp, #0x20]
ldrh r6, [r4, #0x28]
ldrh r2, [r4, #0x2a]
ldr r5, [r3]
add r1, sp, #0x14
strh r2, [sp, #0x26]
strh r6, [sp, #0x24]
ldrb r7, [r4, #0x2c]
ldrb r6, [r4, #0x2d]
mov r2, #1
strb r7, [sp, #0x28]
strb r6, [sp, #0x29]
ldrb r7, [r4, #0x2e]
ldrb r6, [r4, #0x2f]
strb r7, [sp, #0x2a]
strb r6, [sp, #0x2b]
ldrsb r6, [r4, #0x30]
strb r6, [sp, #0x2c]
ldrb r6, [r4, #0x31]
strb r6, [sp, #0x2d]
ldrb r6, [r4, #0x32]
strb r6, [sp, #0x2e]
ldrsb r6, [r4, #0x33]
strb r6, [sp, #0x2f]
ldr r6, [r4, #0x34]
str r6, [sp, #0x30]
ldr r6, [r4, #0x38]
str r6, [sp, #0x44]
str r5, [r4, #0x14]
ldr r5, [r3, #4]
str r5, [r4, #0x18]
ldr r3, [r3, #8]
str r3, [r4, #0x1c]
ldr r3, [r4, #0x14]
ldr r0, [r0]
str r3, [sp, #0x14]
ldr r3, [r4, #0x18]
str r3, [sp, #0x18]
ldr r3, [r4, #0x1c]
str r3, [sp, #0x1c]
bl func_ov00_02083f44
str r0, [r4, #0x18]
ldr r0, _0216dcd4 ; =data_027e0fac
add r2, r4, #0x14
ldrsh r4, [r0]
add r1, sp, #4
ldr r0, _0216dcc8 ; =data_027e0fe8
strh r4, [sp, #0x34]
str r1, [sp]
ldr r0, [r0]
ldr r1, [sl, #0x904]
add r3, sp, #0x20
bl func_ov00_020c4048
add sp, sp, #0x78
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov25_0216daa4
_0216dcc8: .word data_027e0fe8
_0216dccc: .word data_027e0f94
_0216dcd0: .word data_027e0e60
_0216dcd4: .word data_027e0fac
.global func_ov25_0216dcd8
arm_func_start func_ov25_0216dcd8
func_ov25_0216dcd8: ; 0x0216dcd8
stmdb sp!, {r3, lr}
ldr r1, _0216dd04 ; =data_027e0fe0
ldr r0, _0216dd08 ; =0x0000074c
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov25_0216dd0c
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_0216dcd8
_0216dd04: .word data_027e0fe0
_0216dd08: .word 0x0000074c
.global func_ov25_0216dd0c
arm_func_start func_ov25_0216dd0c
func_ov25_0216dd0c: ; 0x0216dd0c
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
bl func_ov00_020ca668
ldr ip, _0216de08 ; =data_ov25_02179c68
mov r1, r4
add r0, r4, #0x21c
add r2, r4, #0x23c
add r3, r4, #0x2a4
str ip, [r4]
bl func_ov00_020c5c2c
ldr r1, _0216de0c ; =data_ov25_02179df0
add r0, r4, #0x23c
str r1, [r4, #0x21c]
bl func_ov25_021717a4
add r0, r4, #0x2a4
add r1, r4, #0x2c8
mov r2, #0
blx func_ov00_020c0c08
ldr r1, _0216de10 ; =data_ov25_02179d8c
add r0, r4, #0x324
str r1, [r4, #0x2a4]
add r1, r4, #0x348
mov r2, #0
blx func_ov00_020c0c08
ldr r1, _0216de10 ; =data_ov25_02179d8c
add r0, r4, #0x3a4
str r1, [r4, #0x324]
mov r1, r4
bl func_ov00_020c6114
ldr r1, _0216de14 ; =data_ov25_02179ddc
add r0, r4, #0x4a0
str r1, [r4, #0x3a4]
add r1, r0, #0x24
mov r2, #0
blx func_ov00_020c0c08
ldr r1, _0216de10 ; =data_ov25_02179d8c
add r0, r4, #0x520
str r1, [r4, #0x4a0]
mov r1, r4
bl func_ov00_020c6114
ldr r1, _0216de18 ; =data_ov25_02179d78
ldr r0, _0216de1c ; =func_ov00_020b7d74
str r1, [r4, #0x520]
str r0, [sp]
add r0, r4, #0x264
add r0, r0, #0x400
mov r1, #3
mov r2, #4
ldr r3, _0216de20 ; =func_ov25_0216dff4
bl func_0204f614
mov r0, #0
str r0, [r4, #0x670]
sub r0, r0, #1
str r0, [r4, #0x6dc]
str r0, [r4, #0x6e0]
str r0, [r4, #0x6ec]
add r0, r4, #0x6f0
mov r1, #0x1000000
bl func_ov00_020d18f4
mov r0, r4
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_0216dd0c
_0216de08: .word data_ov25_02179c68
_0216de0c: .word data_ov25_02179df0
_0216de10: .word data_ov25_02179d8c
_0216de14: .word data_ov25_02179ddc
_0216de18: .word data_ov25_02179d78
_0216de1c: .word func_ov00_020b7d74
_0216de20: .word func_ov25_0216dff4
.global func_ov25_0216de24
arm_func_start func_ov25_0216de24
func_ov25_0216de24: ; 0x0216de24
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a95ec
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_0216de24
.global func_ov25_0216de38
arm_func_start func_ov25_0216de38
func_ov25_0216de38: ; 0x0216de38
stmdb sp!, {r4, lr}
sub sp, sp, #0x18
ldr r1, _0216dfe8 ; =data_027e0f74
mov r4, r0
ldr r0, [r1]
mov r1, #0x35
bl func_ov00_02097760
cmp r0, #0
beq _0216de80
ldrh r0, [r4, #0x20]
cmp r0, #0
bne _0216de74
mov r0, r4
add r1, r4, #0x48
bl func_ov25_02171508
_0216de74:
add sp, sp, #0x18
mov r0, #0
ldmia sp!, {r4, pc}
_0216de80:
ldr r1, _0216dfec ; =data_ov25_02179be0
mov r2, #4
mov r0, r4
strh r2, [r4, #0x7a]
bl func_ov00_020ca8a4
mov ip, #0
str ip, [r4, #0xa8]
mov r0, #0x3000
str r0, [r4, #0xac]
str ip, [r4, #0xb0]
mov r0, #0x4000
str r0, [r4, #0xb4]
strh ip, [r4, #0x9c]
str ip, [r4, #0x6c]
add r0, r4, #0x100
ldrh r3, [r0, #0xb0]
mov r2, #2
mov r1, #0x1f
bic r3, r3, #4
strh r3, [r0, #0xb0]
strh r2, [r0, #0x20]
strh r2, [r0, #0x22]
str ip, [r4, #0x674]
str r1, [r4, #0x678]
ldr r0, _0216dff0 ; =data_027e0e60
add r2, sp, #0
ldr r0, [r0]
mov r1, #1
bl func_ov00_020836bc
ldr r1, [sp]
add r0, r4, #0x3a4
str r1, [r4, #0x620]
ldr r1, [sp, #0xc]
str r1, [r4, #0x624]
ldr r1, [sp, #8]
str r1, [r4, #0x628]
ldr r1, [sp, #0x14]
str r1, [r4, #0x62c]
bl func_ov25_02171a08
mov r1, #0
str r1, [r4, #0x658]
mov r2, #1
strb r2, [r4, #0x61c]
strb r1, [r4, #0x6e5]
ldr r0, [r4, #8]
str r0, [r4, #0x710]
ldr r0, [r4, #0xc]
str r0, [r4, #0x714]
ldrh r0, [r4, #0x20]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _0216dfd0
_0216df50: ; jump table
b _0216df60 ; case 0
b _0216df80 ; case 1
b _0216df9c ; case 2
b _0216dfb8 ; case 3
_0216df60:
add r0, r4, #0x21c
bl func_ov25_0217187c
add r0, r4, #0x520
mov r1, #0
bl func_ov25_021754e4
mov r0, r4
bl func_ov25_02171480
b _0216dfd0
_0216df80:
mov r1, r2
add r0, r4, #0x21c
bl func_ov25_0217187c
add r0, r4, #0x520
mov r1, #1
bl func_ov25_021754e4
b _0216dfd0
_0216df9c:
add r0, r4, #0x21c
mov r1, #2
bl func_ov25_0217187c
add r0, r4, #0x520
mov r1, #2
bl func_ov25_021754e4
b _0216dfd0
_0216dfb8:
add r0, r4, #0x21c
mov r1, #3
bl func_ov25_0217187c
add r0, r4, #0x520
mov r1, #3
bl func_ov25_021754e4
_0216dfd0:
mov r0, r4
mov r1, #0
bl func_ov25_0216f898
mov r0, #1
add sp, sp, #0x18
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_0216de38
_0216dfe8: .word data_027e0f74
_0216dfec: .word data_ov25_02179be0
_0216dff0: .word data_027e0e60
.global func_ov25_0216dff4
arm_func_start func_ov25_0216dff4
func_ov25_0216dff4: ; 0x0216dff4
mov r1, #0
str r1, [r0]
bx lr
arm_func_end func_ov25_0216dff4
.global func_ov25_0216e000
arm_func_start func_ov25_0216e000
func_ov25_0216e000: ; 0x0216e000
stmdb sp!, {r3, lr}
mov r1, #0
str r1, [r0, #0x60]
str r1, [r0, #0x68]
str r1, [r0, #0x64]
ldr r1, [r0]
ldr r1, [r1, #0x104]
blx r1
ldmia sp!, {r3, pc}
arm_func_end func_ov25_0216e000
.global func_ov25_0216e024
arm_func_start func_ov25_0216e024
func_ov25_0216e024: ; 0x0216e024
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
mov r4, r0
mov r0, r1
add r2, sp, #0
add r1, r4, #0x48
bl func_01ff9bf8
ldr r0, [sp]
ldr r1, [sp, #8]
bl func_01ffa0f4
mov r0, r0, lsl #0x10
mov r1, r0, asr #0x10
ldr r2, _0216e088 ; =0x0000071c
add r0, r4, #0x78
bl func_0202b154
mov r1, #0
str r1, [r4, #0x60]
str r1, [r4, #0x68]
mov r0, r4
str r1, [r4, #0x64]
ldr r1, [r0]
ldr r1, [r1, #0x104]
blx r1
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_0216e024
_0216e088: .word 0x0000071c
.global func_ov25_0216e08c
arm_func_start func_ov25_0216e08c
func_ov25_0216e08c: ; 0x0216e08c
stmdb sp!, {r4, lr}
mov r4, r0
ldr r2, _0216e0c4 ; =0x0000071c
add r0, r4, #0x78
bl func_0202b154
mov r1, #0
str r1, [r4, #0x60]
str r1, [r4, #0x68]
mov r0, r4
str r1, [r4, #0x64]
ldr r1, [r0]
ldr r1, [r1, #0x104]
blx r1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_0216e08c
_0216e0c4: .word 0x0000071c
.global func_ov25_0216e0c8
arm_func_start func_ov25_0216e0c8
func_ov25_0216e0c8: ; 0x0216e0c8
mov r1, #0
str r1, [r0, #0x60]
str r1, [r0, #0x64]
str r1, [r0, #0x68]
bx lr
arm_func_end func_ov25_0216e0c8
.global func_ov25_0216e0dc
arm_func_start func_ov25_0216e0dc
func_ov25_0216e0dc: ; 0x0216e0dc
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
ldr r2, _0216e16c ; =0x0000071c
add r0, r5, #0x78
mov r1, #0
bl func_0202b154
mov r1, r4
add r0, r5, #0x48
bl func_01ff9ec0
ldr r1, _0216e170 ; =0x0000019a
cmp r0, r1
bge _0216e124
mov r0, #0
str r0, [r5, #0x60]
str r0, [r5, #0x64]
str r0, [r5, #0x68]
ldmia sp!, {r3, r4, r5, pc}
_0216e124:
cmp r0, #0x1000
ble _0216e14c
mov ip, #0x7b
mov r0, r5
mov r1, r4
add r3, ip, #0x2b8
mov r2, #0
str ip, [sp]
bl func_ov25_0216e490
ldmia sp!, {r3, r4, r5, pc}
_0216e14c:
mov r2, #0xcd
mvn ip, #0x7a
mov r0, r5
mov r1, r4
rsb r3, r2, #0x400
str ip, [sp]
bl func_ov25_0216e490
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_0216e0dc
_0216e16c: .word 0x0000071c
_0216e170: .word 0x0000019a
.global func_ov25_0216e174
arm_func_start func_ov25_0216e174
func_ov25_0216e174: ; 0x0216e174
stmdb sp!, {r4, lr}
mov r4, r0
mov r0, r1
add r1, r4, #0x48
add r2, r4, #0x60
bl func_01ff9bf8
ldr r0, [r4, #0x60]
ldr r1, [r4, #0x68]
bl func_01ffa0f4
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 r2, r0, lsl #0x1
add r0, r2, #1
ldr r1, _0216e230 ; =data_02050f54
mov r2, r2, lsl #0x1
ldrsh r2, [r1, r2]
mov r0, r0, lsl #0x1
ldrsh r1, [r1, r0]
str r2, [r4, #0x60]
mov r0, #0
str r0, [r4, #0x64]
str r1, [r4, #0x68]
ldr r3, [r4, #0x60]
ldr r1, _0216e234 ; =0x00000333
mov r2, r3, asr #0x1f
umull lr, ip, r3, r1
mla ip, r3, r0, ip
adds r3, lr, #0x800
mla ip, r2, r1, ip
adc r2, ip, #0
mov r3, r3, lsr #0xc
orr r3, r3, r2, lsl #20
str r3, [r4, #0x60]
ldr r2, [r4, #0x68]
umull ip, r3, r2, r1
adds ip, ip, #0x800
mla r3, r2, r0, r3
mov r0, r2, asr #0x1f
mla r3, r0, r1, r3
adc r0, r3, #0
mov r1, ip, lsr #0xc
orr r1, r1, r0, lsl #20
str r1, [r4, #0x68]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_0216e174
_0216e230: .word data_02050f54
_0216e234: .word 0x00000333
.global func_ov25_0216e238
arm_func_start func_ov25_0216e238
func_ov25_0216e238: ; 0x0216e238
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0xc
mov r4, r0
mov r5, r1
ldr r2, _0216e370 ; =0x0000071c
add r0, r4, #0x78
mov r1, #0
bl func_0202b154
mov r1, r5
add r0, r4, #0x48
bl func_01ff9ec0
ldr r1, _0216e374 ; =0x0000019a
cmp r0, r1
bge _0216e288
mov r0, #0
str r0, [r4, #0x60]
str r0, [r4, #0x64]
add sp, sp, #0xc
str r0, [r4, #0x68]
ldmia sp!, {r4, r5, pc}
_0216e288:
cmp r0, #0x5000
ble _0216e2a8
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0x104]
blx r1
add sp, sp, #0xc
ldmia sp!, {r4, r5, pc}
_0216e2a8:
add r2, sp, #0
mov r0, r5
add r1, r4, #0x48
bl func_01ff9bf8
add r0, sp, #0
mov r1, r0
bl func_01ff9d4c
add r0, r4, #0x60
bl func_01ff9cec
ldr r1, _0216e378 ; =0x00000fae
mov r2, #0
umull ip, r3, r0, r1
mla r3, r0, r2, r3
mov r0, r0, asr #0x1f
mla r3, r0, r1, r3
adds ip, ip, #0x800
adc r0, r3, #0
mov r1, ip, lsr #0xc
orr r1, r1, r0, lsl #20
cmp r1, #0xcd
ldr r0, [sp]
movlt r1, #0xcd
smull r3, r0, r1, r0
adds r3, r3, #0x800
adc r0, r0, #0
mov r3, r3, lsr #0xc
orr r3, r3, r0, lsl #20
str r3, [r4, #0x60]
ldr r3, [sp, #4]
mov r2, #0
smull ip, r3, r1, r3
adds ip, ip, #0x800
adc r3, r3, #0
mov ip, ip, lsr #0xc
orr ip, ip, r3, lsl #20
str ip, [r4, #0x64]
ldr r3, [sp, #8]
mov r0, r4
smull ip, r3, r1, r3
adds ip, ip, #0x800
adc r1, r3, #0
mov r3, ip, lsr #0xc
orr r3, r3, r1, lsl #20
str r3, [r4, #0x68]
str r2, [r4, #0x64]
ldr r1, [r0]
ldr r1, [r1, #0x104]
blx r1
add sp, sp, #0xc
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_0216e238
_0216e370: .word 0x0000071c
_0216e374: .word 0x0000019a
_0216e378: .word 0x00000fae
.global func_ov25_0216e37c
arm_func_start func_ov25_0216e37c
func_ov25_0216e37c: ; 0x0216e37c
stmdb sp!, {r4, r5, r6, lr}
ldr r2, _0216e428 ; =data_027e0764
ldr r1, _0216e42c ; =0x00000801
ldr r4, [r2]
ldmib r2, {r3, r5}
umull ip, r6, r5, r4
mla r6, r5, r3, r6
ldr r3, [r2, #0xc]
ldr r5, [r2, #0x10]
mla r6, r3, r4, r6
ldr r3, [r2, #0x14]
adds r4, r5, ip
adc r6, r3, r6
str r4, [r2]
umull r4, r5, r6, r1
mov r3, #0
mla r5, r6, r3, r5
mov r4, r3
mla r5, r4, r1, r5
str r6, [r2, #4]
add r1, r5, #0x800
str r1, [r0, #0x6b8]
ldr ip, [r2]
ldmib r2, {r1, lr}
umull r5, r4, lr, ip
mla r4, lr, r1, r4
ldr r1, [r2, #0xc]
ldr r6, [r2, #0x10]
mla r4, r1, ip, r4
ldr lr, [r2, #0x14]
adds r5, r6, r5
adc r1, lr, r4
str r5, [r2]
str r1, [r2, #4]
tst r1, #0x80000000
strne r3, [r0, #0x6b0]
moveq r1, #1
streq r1, [r0, #0x6b0]
mov r1, #0
str r1, [r0, #0x60]
str r1, [r0, #0x64]
str r1, [r0, #0x68]
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov25_0216e37c
_0216e428: .word data_027e0764
_0216e42c: .word 0x00000801
.global func_ov25_0216e430
arm_func_start func_ov25_0216e430
func_ov25_0216e430: ; 0x0216e430
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
mov r4, r2
mov r5, r1
ldr r2, _0216e48c ; =0x0000071c
add r0, r6, #0x78
mov r1, #0
bl func_0202b154
mov r0, r5
add r1, r6, #0x48
add r2, r6, #0x60
bl func_01ff9bf8
add r0, r6, #0x60
mov r3, #0
mov r1, r4
mov r2, r0
str r3, [r6, #0x64]
bl func_0202da8c
mov r0, r6
ldr r1, [r0]
ldr r1, [r1, #0x104]
blx r1
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov25_0216e430
_0216e48c: .word 0x0000071c
.global func_ov25_0216e490
arm_func_start func_ov25_0216e490
func_ov25_0216e490: ; 0x0216e490
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0xc
mov r4, r0
mov r6, r2
mov r0, r1
add r2, sp, #0
add r1, r4, #0x48
mov r5, r3
bl func_01ff9bf8
add r0, sp, #0
mov r1, r0
bl func_01ff9d4c
add r0, r4, #0x60
bl func_01ff9cec
ldr r1, [sp, #0x20]
mov r2, #0
add r1, r0, r1
cmp r1, r5
movgt r1, r5
cmp r1, r6
ldr r0, [sp]
movlt r1, r6
smull r3, r0, r1, r0
adds r3, r3, #0x800
adc r0, r0, #0
mov r3, r3, lsr #0xc
orr r3, r3, r0, lsl #20
str r3, [r4, #0x60]
ldr r3, [sp, #4]
mov r0, r4
smull ip, r3, r1, r3
adds ip, ip, #0x800
adc r3, r3, #0
mov ip, ip, lsr #0xc
orr ip, ip, r3, lsl #20
str ip, [r4, #0x64]
ldr r3, [sp, #8]
smull ip, r3, r1, r3
adds ip, ip, #0x800
adc r1, r3, #0
mov r3, ip, lsr #0xc
orr r3, r3, r1, lsl #20
str r3, [r4, #0x68]
str r2, [r4, #0x64]
ldr r1, [r0]
ldr r1, [r1, #0x104]
blx r1
add sp, sp, #0xc
ldmia sp!, {r3, r4, r5, r6, pc}
arm_func_end func_ov25_0216e490
.global func_ov25_0216e554
arm_func_start func_ov25_0216e554
func_ov25_0216e554: ; 0x0216e554
stmdb sp!, {r4, lr}
ldr ip, [r1]
ldr r4, [r0, #0x48]
cmp r4, ip
bge _0216e580
ldr r4, [r0, #0x60]
add r4, r4, r3
str r4, [r0, #0x60]
cmp r4, r2
strgt r2, [r0, #0x60]
b _0216e59c
_0216e580:
ble _0216e59c
ldr ip, [r0, #0x60]
rsb r4, r2, #0
sub ip, ip, r3
str ip, [r0, #0x60]
cmp ip, r4
strlt r4, [r0, #0x60]
_0216e59c:
mov r4, #0
str r4, [r0, #0x64]
ldr lr, [r1, #8]
ldr ip, [r0, #0x50]
mov r1, #0x800
sub lr, lr, ip
mov ip, lr, asr #0x1f
mov ip, ip, lsl #0xa
adds r4, r1, lr, lsl #10
orr ip, ip, lr, lsr #22
adc r1, ip, #0
mov r4, r4, lsr #0xc
orr r4, r4, r1, lsl #20
cmp r4, r2
ldr r1, [r0, #0x68]
movge r4, r2
sub r2, r4, r1
cmp r2, r3
movgt r2, r3
bgt _0216e5f8
rsb r1, r3, #0
cmp r2, r1
movlt r2, r1
_0216e5f8:
ldr r1, [r0, #0x68]
add r1, r1, r2
str r1, [r0, #0x68]
ldr r1, [r0]
ldr r1, [r1, #0x104]
blx r1
ldmia sp!, {r4, pc}
arm_func_end func_ov25_0216e554
.global func_ov25_0216e614
arm_func_start func_ov25_0216e614
func_ov25_0216e614: ; 0x0216e614
stmdb sp!, {r4, lr}
sub sp, sp, #0x18
mov r4, r0
ldr r0, [r4, #0x6b4]
add r0, r0, #1
str r0, [r4, #0x6b4]
ldr r0, [r4, #0x6b0]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _0216e748
_0216e63c: ; jump table
b _0216e64c ; case 0
b _0216e6ac ; case 1
b _0216e70c ; case 2
b _0216e734 ; case 3
_0216e64c:
add r0, r4, #0x288
add r0, r0, #0x400
add r3, sp, #0xc
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldr r2, [sp, #0xc]
ldr r1, [r4, #0x6b8]
mov r0, r4
sub r2, r2, r1
str r2, [sp, #0xc]
mov r1, r3
mov r2, #0x52
bl func_ov25_0216e430
ldr r1, [r4, #0x48]
ldr r0, [sp, #0xc]
cmp r1, r0
addgt sp, sp, #0x18
ldmgtia sp!, {r4, pc}
mov r0, #0
str r0, [r4, #0x6b4]
mov r0, #2
add sp, sp, #0x18
str r0, [r4, #0x6b0]
ldmia sp!, {r4, pc}
_0216e6ac:
add r0, r4, #0x288
add r0, r0, #0x400
add r3, sp, #0
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldr r2, [sp]
ldr r1, [r4, #0x6b8]
mov r0, r4
add r2, r2, r1
str r2, [sp]
mov r1, r3
mov r2, #0x52
bl func_ov25_0216e430
ldr r1, [r4, #0x48]
ldr r0, [sp]
cmp r1, r0
addlt sp, sp, #0x18
ldmltia sp!, {r4, pc}
mov r0, #0
str r0, [r4, #0x6b4]
mov r0, #3
add sp, sp, #0x18
str r0, [r4, #0x6b0]
ldmia sp!, {r4, pc}
_0216e70c:
ldr r0, [r4, #0x6b4]
cmp r0, #0x1e
addlt sp, sp, #0x18
ldmltia sp!, {r4, pc}
mov r0, #0
str r0, [r4, #0x6b4]
mov r0, #1
add sp, sp, #0x18
str r0, [r4, #0x6b0]
ldmia sp!, {r4, pc}
_0216e734:
ldr r0, [r4, #0x6b4]
cmp r0, #0x1e
movge r0, #0
strge r0, [r4, #0x6b4]
strge r0, [r4, #0x6b0]
_0216e748:
add sp, sp, #0x18
ldmia sp!, {r4, pc}
arm_func_end func_ov25_0216e614
.global func_ov25_0216e750
arm_func_start func_ov25_0216e750
func_ov25_0216e750: ; 0x0216e750
stmdb sp!, {r4, lr}
sub sp, sp, #0x18
mov r4, r0
ldr r0, [r4, #0x6b0]
cmp r0, #0
beq _0216e778
cmp r0, #1
beq _0216e7cc
add sp, sp, #0x18
ldmia sp!, {r4, pc}
_0216e778:
add r0, r4, #0x288
add r0, r0, #0x400
add ip, sp, #0xc
ldmia r0, {r0, r1, r2}
stmia ip, {r0, r1, r2}
ldr r1, [sp, #0xc]
ldr r0, [r4, #0x6b8]
ldr r2, _0216e820 ; =0x00000266
sub r3, r1, r0
str r3, [sp, #0xc]
mov r0, r4
mov r1, ip
mov r3, #0x52
bl func_ov25_0216e554
ldr r0, [sp, #0xc]
ldr r1, [r4, #0x48]
add sp, sp, #0x18
cmp r1, r0
movle r0, #1
strle r0, [r4, #0x6b0]
ldmia sp!, {r4, pc}
_0216e7cc:
add r0, r4, #0x288
add r0, r0, #0x400
add ip, sp, #0
ldmia r0, {r0, r1, r2}
stmia ip, {r0, r1, r2}
ldr r1, [sp]
ldr r0, [r4, #0x6b8]
ldr r2, _0216e820 ; =0x00000266
add r3, r1, r0
str r3, [sp]
mov r0, r4
mov r1, ip
mov r3, #0x52
bl func_ov25_0216e554
ldr r1, [r4, #0x48]
ldr r0, [sp]
cmp r1, r0
movge r0, #0
strge r0, [r4, #0x6b0]
add sp, sp, #0x18
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_0216e750
_0216e820: .word 0x00000266
.global func_ov25_0216e824
arm_func_start func_ov25_0216e824
func_ov25_0216e824: ; 0x0216e824
ldrb r1, [r0, #0x6bc]
cmp r1, #0
ldr r1, [r0, #0x690]
beq _0216e85c
add r2, r1, #0xcd
str r2, [r0, #0x690]
ldr r1, [r0, #0x684]
add r1, r1, #0x4000
cmp r2, r1
blt _0216e878
str r1, [r0, #0x690]
mov r1, #0
strb r1, [r0, #0x6bc]
b _0216e878
_0216e85c:
sub r2, r1, #0xcd
str r2, [r0, #0x690]
ldr r1, [r0, #0x684]
cmp r2, r1
strle r1, [r0, #0x690]
movle r1, #1
strleb r1, [r0, #0x6bc]
_0216e878:
ldr ip, _0216e880 ; =func_ov25_0216e750
bx ip
.align 2, 0
arm_func_end func_ov25_0216e824
_0216e880: .word func_ov25_0216e750
.global func_ov25_0216e884
arm_func_start func_ov25_0216e884
func_ov25_0216e884: ; 0x0216e884
stmdb sp!, {r4, lr}
ldr r1, _0216e91c ; =data_027e0f94
mov r2, #0
ldr r1, [r1]
str r1, [r0, #0x6cc]
str r2, [r0, #0x6d0]
ldr r1, [r0, #0x628]
str r1, [r0, #0x6d4]
ldr r3, [r0, #0x620]
ldr r1, [r0, #0x624]
ldr r2, [r0, #0x6cc]
add r1, r3, r1
add r1, r1, r1, lsr #31
cmp r2, r1, asr #1
subgt r1, r2, #0x1000
addle r1, r2, #0x1000
str r1, [r0, #0x6cc]
ldr r1, _0216e920 ; =data_027e0764
ldr r3, [r1]
ldmib r1, {r2, ip}
umull r4, lr, ip, r3
mla lr, ip, r2, lr
ldr r2, [r1, #0xc]
ldr ip, [r1, #0x10]
mla lr, r2, r3, lr
ldr r2, [r1, #0x14]
adds r3, ip, r4
adc r2, r2, lr
str r3, [r1]
str r2, [r1, #4]
tst r2, #0x80000000
movne r1, #1
moveq r1, #0
strb r1, [r0, #0x6d8]
add r0, r0, #0x600
mov r1, #0
strh r1, [r0, #0xda]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_0216e884
_0216e91c: .word data_027e0f94
_0216e920: .word data_027e0764
.global func_ov25_0216e924
arm_func_start func_ov25_0216e924
func_ov25_0216e924: ; 0x0216e924
stmdb sp!, {r3, r4, r5, lr}
ldr r3, [r0, #0x6d4]
ldr r2, [r0, #0x50]
sub r1, r3, #0x2000
cmp r2, r1
bge _0216eadc
ldr r2, [r0, #0x68]
ldr r1, _0216eb54 ; =0x0000011f
add r2, r2, #0x29
str r2, [r0, #0x68]
cmp r2, r1
strgt r1, [r0, #0x68]
add r1, r0, #0x600
ldrsh r2, [r1, #0xda]
sub r2, r2, #1
strh r2, [r1, #0xda]
ldrsh r1, [r1, #0xda]
cmp r1, #0
bgt _0216e9d0
ldrb r1, [r0, #0x6d8]
cmp r1, #0
moveq r2, #1
movne r2, #0
ldr r1, _0216eb58 ; =data_027e0764
strb r2, [r0, #0x6d8]
ldr r3, [r1]
ldmib r1, {r2, r4}
umull ip, r5, r4, r3
mla r5, r4, r2, r5
ldr r4, [r1, #0xc]
mov r2, #0
mla r5, r4, r3, r5
ldr lr, [r1, #0x10]
ldr r3, [r1, #0x14]
adds r4, lr, ip
adc r3, r3, r5
mov r2, r2, lsl #0x4
str r4, [r1]
orr r2, r2, r3, lsr #28
str r3, [r1, #4]
add r2, r2, #5
add r1, r0, #0x600
strh r2, [r1, #0xda]
_0216e9d0:
ldr r3, [r0, #0x6cc]
ldr r2, [r0, #0x48]
sub r1, r3, #0x1000
cmp r2, r1
bge _0216ea3c
mov r2, #0
ldr r1, _0216eb58 ; =data_027e0764
strb r2, [r0, #0x6d8]
ldr r3, [r1]
ldmib r1, {r2, r4}
umull ip, r5, r4, r3
mla r5, r4, r2, r5
ldr r4, [r1, #0xc]
mov r2, #0
mla r5, r4, r3, r5
ldr lr, [r1, #0x10]
ldr r3, [r1, #0x14]
adds r4, lr, ip
adc r3, r3, r5
mov r2, r2, lsl #0x4
str r4, [r1]
orr r2, r2, r3, lsr #28
str r3, [r1, #4]
add r2, r2, #5
add r1, r0, #0x600
strh r2, [r1, #0xda]
b _0216ea9c
_0216ea3c:
add r1, r3, #0x1000
cmp r2, r1
ble _0216ea9c
mov r2, #1
ldr r1, _0216eb58 ; =data_027e0764
strb r2, [r0, #0x6d8]
ldr r3, [r1]
ldmib r1, {r2, ip}
umull r4, lr, ip, r3
mla lr, ip, r2, lr
ldr ip, [r1, #0xc]
ldr r5, [r1, #0x10]
mla lr, ip, r3, lr
mov r2, #0
ldr r3, [r1, #0x14]
adds r4, r5, r4
adc r3, r3, lr
mov r2, r2, lsl #0x4
str r4, [r1]
orr r2, r2, r3, lsr #28
str r3, [r1, #4]
add r2, r2, #5
add r1, r0, #0x600
strh r2, [r1, #0xda]
_0216ea9c:
ldrb r1, [r0, #0x6d8]
ldr r2, [r0, #0x60]
cmp r1, #0
beq _0216eac4
sub r2, r2, #0x29
ldr r1, _0216eb5c ; =0xfffffe66
str r2, [r0, #0x60]
cmp r2, r1
strlt r1, [r0, #0x60]
b _0216eb34
_0216eac4:
add r2, r2, #0x29
ldr r1, _0216eb60 ; =0x0000019a
str r2, [r0, #0x60]
cmp r2, r1
strgt r1, [r0, #0x60]
b _0216eb34
_0216eadc:
cmp r3, r2
bgt _0216eaf4
ldr r1, [r0, #0x68]
add r1, r1, r1, lsr #31
mov r1, r1, asr #0x1
str r1, [r0, #0x68]
_0216eaf4:
ldr r2, [r0, #0x48]
ldr r1, [r0, #0x6cc]
cmp r2, r1
ldr r2, [r0, #0x60]
ble _0216eb20
sub r2, r2, #0x29
ldr r1, _0216eb5c ; =0xfffffe66
str r2, [r0, #0x60]
cmp r2, r1
strlt r1, [r0, #0x60]
b _0216eb34
_0216eb20:
add r2, r2, #0x29
ldr r1, _0216eb60 ; =0x0000019a
str r2, [r0, #0x60]
cmp r2, r1
strgt r1, [r0, #0x60]
_0216eb34:
ldrsh r1, [r0, #0x78]
add r1, r1, #0x31c
add r1, r1, #0x400
strh r1, [r0, #0x78]
ldr r1, [r0]
ldr r1, [r1, #0x104]
blx r1
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_0216e924
_0216eb54: .word 0x0000011f
_0216eb58: .word data_027e0764
_0216eb5c: .word 0xfffffe66
_0216eb60: .word 0x0000019a
.global func_ov25_0216eb64
arm_func_start func_ov25_0216eb64
func_ov25_0216eb64: ; 0x0216eb64
ldr r2, [r0, #0x6d4]
ldr r1, [r0, #0x50]
cmp r2, r1
bgt _0216eb90
ldr r1, [r0, #0x48]
ldr r0, [r0, #0x6cc]
subs r0, r1, r0
rsbmi r0, r0, #0
cmp r0, #0x800
movlt r0, #1
bxlt lr
_0216eb90:
mov r0, #0
bx lr
arm_func_end func_ov25_0216eb64
.global func_ov25_0216eb98
arm_func_start func_ov25_0216eb98
func_ov25_0216eb98: ; 0x0216eb98
ldr r3, [r0, #0x48]
mov r2, #1
str r3, [r0, #0x6c0]
ldr r3, [r0, #0x4c]
str r3, [r0, #0x6c4]
str r1, [r0, #0x6c8]
str r2, [r0, #0x6ec]
bx lr
arm_func_end func_ov25_0216eb98
.global func_ov25_0216ebb8
arm_func_start func_ov25_0216ebb8
func_ov25_0216ebb8: ; 0x0216ebb8
str r2, [r0, #0x6e8]
ldr r3, [r1]
mov r2, #4
str r3, [r0, #0x67c]
ldr r3, [r1, #4]
str r3, [r0, #0x680]
ldr r1, [r1, #8]
str r1, [r0, #0x684]
str r2, [r0, #0x6ec]
bx lr
arm_func_end func_ov25_0216ebb8
.global func_ov25_0216ebe0
arm_func_start func_ov25_0216ebe0
func_ov25_0216ebe0: ; 0x0216ebe0
ldr r3, [r1]
mov r2, #5
str r3, [r0, #0x688]
ldr r3, [r1, #4]
str r3, [r0, #0x68c]
ldr r1, [r1, #8]
str r1, [r0, #0x690]
str r2, [r0, #0x6ec]
bx lr
arm_func_end func_ov25_0216ebe0
.global func_ov25_0216ec04
arm_func_start func_ov25_0216ec04
func_ov25_0216ec04: ; 0x0216ec04
mov r1, #1
strb r1, [r0, #0x6e4]
mov r1, #6
str r1, [r0, #0x6ec]
bx lr
arm_func_end func_ov25_0216ec04
.global func_ov25_0216ec18
arm_func_start func_ov25_0216ec18
func_ov25_0216ec18: ; 0x0216ec18
mov r1, #0
strb r1, [r0, #0x6e4]
mov r1, #6
str r1, [r0, #0x6ec]
bx lr
arm_func_end func_ov25_0216ec18
.global func_ov25_0216ec2c
arm_func_start func_ov25_0216ec2c
func_ov25_0216ec2c: ; 0x0216ec2c
ldr r3, [r1]
mov r2, #0xf
str r3, [r0, #0x6a4]
ldr r3, [r1, #4]
str r3, [r0, #0x6a8]
ldr r1, [r1, #8]
str r1, [r0, #0x6ac]
str r2, [r0, #0x6ec]
bx lr
arm_func_end func_ov25_0216ec2c
.global func_ov25_0216ec50
arm_func_start func_ov25_0216ec50
func_ov25_0216ec50: ; 0x0216ec50
mov r2, #0x11
str r2, [r0, #0x6ec]
mov r2, #1
strb r2, [r0, #0x6e5]
ldr r2, [r1]
mov r3, #3
str r2, [r0, #0x67c]
ldr ip, [r1, #4]
add r2, r0, #0x100
str ip, [r0, #0x680]
ldr ip, [r1, #8]
str ip, [r0, #0x684]
ldr ip, [r1]
str ip, [r0, #0x688]
ldr ip, [r1, #4]
str ip, [r0, #0x68c]
ldr r1, [r1, #8]
str r1, [r0, #0x690]
strh r3, [r2, #0x20]
strh r3, [r2, #0x22]
bx lr
arm_func_end func_ov25_0216ec50
.global func_ov25_0216eca4
arm_func_start func_ov25_0216eca4
func_ov25_0216eca4: ; 0x0216eca4
add r0, r0, #0x600
strh r1, [r0, #0xa0]
bx lr
arm_func_end func_ov25_0216eca4
.global func_ov25_0216ecb0
arm_func_start func_ov25_0216ecb0
func_ov25_0216ecb0: ; 0x0216ecb0
ldr r0, [r0, #0x130]
cmp r0, #0xd
moveq r0, #1
movne r0, #0
bx lr
arm_func_end func_ov25_0216ecb0
.global func_ov25_0216ecc4
arm_func_start func_ov25_0216ecc4
func_ov25_0216ecc4: ; 0x0216ecc4
ldr r0, [r0, #0x130]
cmp r0, #0x10
moveq r0, #1
movne r0, #0
bx lr
arm_func_end func_ov25_0216ecc4
.global func_ov25_0216ecd8
arm_func_start func_ov25_0216ecd8
func_ov25_0216ecd8: ; 0x0216ecd8
ldrb r0, [r0, #0x6e5]
bx lr
arm_func_end func_ov25_0216ecd8
.global func_ov25_0216ece0
arm_func_start func_ov25_0216ece0
func_ov25_0216ece0: ; 0x0216ece0
ldr r0, [r0, #0x130]
cmp r0, #3
moveq r0, #1
movne r0, #0
bx lr
arm_func_end func_ov25_0216ece0
.global func_ov25_0216ecf4
arm_func_start func_ov25_0216ecf4
func_ov25_0216ecf4: ; 0x0216ecf4
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, lr}
sub sp, sp, #0xac
mov sb, r1
mvn r3, #0
str r3, [sb]
str r3, [sb, #4]
mov r5, #0
add r4, sp, #0x98
ldr r7, _0216eed4 ; =data_ov00_020e72f0
ldr r6, _0216eed8 ; =0x43425330
mov r1, #4
add r2, sp, #0x44
str r1, [sp, #0x3c]
str r7, [sp, #0x64]
str r6, [sp, #0x68]
str r3, [sp, #0x6c]
str r3, [sp, #0x70]
str r5, [sp, #0x74]
strb r5, [sp, #0x78]
strb r5, [sp, #0x94]
str r5, [r4, #0xc]
str r5, [r4]
str r5, [r4, #4]
str r5, [r4, #8]
str r3, [sp, #0x44]
str r3, [sp, #0x48]
str r3, [sp, #0x4c]
str r3, [sp, #0x50]
str r3, [sp, #0x54]
str r3, [sp, #0x58]
str r3, [sp, #0x5c]
str r3, [sp, #0x60]
str r5, [sp, #0x40]
str r2, [sp, #0x38]
ldr r2, [r0, #8]
ldr r1, _0216eedc ; =data_027e0fe4
str r2, [sp, #0x28]
ldr r5, [r0, #0xc]
ldr r0, [r1]
add r4, sp, #0x28
add r1, sp, #0x64
add r2, sp, #0x38
str r5, [sp, #0x2c]
str r3, [sp, #0x30]
str r3, [sp, #0x34]
str r4, [sp, #0x74]
bl func_ov00_020c37ec
mvn r1, #0
ldr r0, [sp, #0x40]
mov r6, #0
mov r7, r6
str r1, [sp, #8]
str r1, [sp, #0xc]
str r1, [sp, #0x10]
str r1, [sp, #0x14]
str r1, [sp, #0x18]
str r1, [sp, #0x1c]
str r1, [sp, #0x20]
str r1, [sp, #0x24]
cmp r0, #0
ble _0216ee54
ldr sl, _0216eedc ; =data_027e0fe4
mov r8, r6
add r4, sp, #8
add r5, sp, #0
_0216edf8:
ldr r2, [sp, #0x38]
ldr r0, [sl]
ldr r1, [r2, r8]
add r2, r2, r8
str r1, [sp]
ldr r2, [r2, #4]
mov r1, r5
str r2, [sp, #4]
bl func_ov00_020c3674
bl func_ov25_0216eee4
cmp r0, #0
beq _0216ee40
ldr r0, [sp]
ldr r1, [sp, #4]
str r0, [r4, r6, lsl #3]
add r0, r4, r6, lsl #3
str r1, [r0, #4]
add r6, r6, #1
_0216ee40:
ldr r0, [sp, #0x40]
add r7, r7, #1
cmp r7, r0
add r8, r8, #8
blt _0216edf8
_0216ee54:
cmp r6, #0
addeq sp, sp, #0xac
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
movle r3, #0
ble _0216eeb4
ldr r0, _0216eee0 ; =data_027e0764
ldr r2, [r0]
ldmib r0, {r1, r3}
umull r5, r4, r3, r2
mla r4, r3, r1, r4
ldr r1, [r0, #0xc]
ldr r3, [r0, #0x10]
mla r4, r1, r2, r4
ldr r1, [r0, #0x14]
adds r2, r3, r5
adc r3, r1, r4
stmia r0, {r2, r3}
cmp r6, #0
beq _0216eeb4
mov r2, #0
umull r1, r0, r3, r6
mla r0, r3, r2, r0
mla r0, r2, r6, r0
mov r3, r0
_0216eeb4:
add r1, sp, #8
ldr r0, [r1, r3, lsl #3]
add r1, r1, r3, lsl #3
str r0, [sb]
ldr r0, [r1, #4]
str r0, [sb, #4]
add sp, sp, #0xac
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
arm_func_end func_ov25_0216ecf4
_0216eed4: .word data_ov00_020e72f0
_0216eed8: .word 0x43425330
_0216eedc: .word data_027e0fe4
_0216eee0: .word data_027e0764
.global func_ov25_0216eee4
arm_func_start func_ov25_0216eee4
func_ov25_0216eee4: ; 0x0216eee4
mov r0, #1
bx lr
arm_func_end func_ov25_0216eee4
.global func_ov25_0216eeec
arm_func_start func_ov25_0216eeec
func_ov25_0216eeec: ; 0x0216eeec
stmdb sp!, {r3, lr}
add r1, r0, #0x27c
add r1, r1, #0x400
bl func_ov00_020c288c
ldr r1, _0216ef10 ; =0x0000019a
cmp r0, r1
movlt r0, #1
movge r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_0216eeec
_0216ef10: .word 0x0000019a
.global func_ov25_0216ef14
arm_func_start func_ov25_0216ef14
func_ov25_0216ef14: ; 0x0216ef14
stmdb sp!, {r3, lr}
add r1, r0, #0x288
add r1, r1, #0x400
bl func_ov00_020c288c
ldr r1, _0216ef38 ; =0x0000019a
cmp r0, r1
movlt r0, #1
movge r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_0216ef14
_0216ef38: .word 0x0000019a
.global func_ov25_0216ef3c
arm_func_start func_ov25_0216ef3c
func_ov25_0216ef3c: ; 0x0216ef3c
mov r1, #1
str r1, [r0, #0x674]
bx lr
arm_func_end func_ov25_0216ef3c
.global func_ov25_0216ef48
arm_func_start func_ov25_0216ef48
func_ov25_0216ef48: ; 0x0216ef48
ldr r1, [r0, #0x674]
cmp r1, #0
beq _0216ef60
cmp r1, #1
beq _0216ef7c
bx lr
_0216ef60:
ldr r1, [r0, #0x678]
add r1, r1, #3
str r1, [r0, #0x678]
cmp r1, #0x1f
movgt r1, #0x1f
strgt r1, [r0, #0x678]
bx lr
_0216ef7c:
ldr r1, [r0, #0x678]
sub r1, r1, #3
str r1, [r0, #0x678]
cmp r1, #0
movle r1, #0
strle r1, [r0, #0x678]
strle r1, [r0, #0x674]
bx lr
arm_func_end func_ov25_0216ef48
.global func_ov25_0216ef9c
arm_func_start func_ov25_0216ef9c
func_ov25_0216ef9c: ; 0x0216ef9c
mov r1, #0
str r1, [r0, #0x674]
mov r1, #0x1f
str r1, [r0, #0x678]
bx lr
arm_func_end func_ov25_0216ef9c
.global func_ov25_0216efb0
arm_func_start func_ov25_0216efb0
func_ov25_0216efb0: ; 0x0216efb0
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x10
mov r4, r0
ldr r3, [r4, #0x6e8]
ldr r2, [r4, #0x628]
ldr r1, [r4, #0x62c]
cmp r3, #3
sub r0, r1, r2
addls pc, pc, r3, lsl #2
b _0216f090
_0216efd8: ; jump table
b _0216efe8 ; case 0
b _0216f008 ; case 1
b _0216f034 ; case 2
b _0216f064 ; case 3
_0216efe8:
ldr r3, _0216f424 ; =0x66666667
mov r5, r0, lsl #0x1
smull r0, r6, r3, r5
mov r0, r5, lsr #0x1f
add r6, r0, r6, asr #1
mov r5, r2
add r6, r2, r6
b _0216f090
_0216f008:
ldr ip, _0216f424 ; =0x66666667
add r5, r0, r0, lsl #1
smull r3, r6, ip, r0
mov r0, r0, lsr #0x1f
add r6, r0, r6, asr #1
smull r0, r3, ip, r5
mov r0, r5, lsr #0x1f
add r3, r0, r3, asr #1
add r5, r2, r6
add r6, r2, r3
b _0216f090
_0216f034:
ldr r3, _0216f424 ; =0x66666667
mov r6, r0, lsl #0x1
mov r5, r0, lsl #0x2
smull r0, ip, r3, r6
mov r0, r6, lsr #0x1f
add ip, r0, ip, asr #1
smull r0, r6, r3, r5
mov r0, r5, lsr #0x1f
add r6, r0, r6, asr #1
add r5, r2, ip
add r6, r2, r6
b _0216f090
_0216f064:
ldr r3, _0216f424 ; =0x66666667
add r6, r0, r0, lsl #1
add r5, r0, r0, lsl #2
smull r0, ip, r3, r6
mov r0, r6, lsr #0x1f
add ip, r0, ip, asr #1
smull r0, r6, r3, r5
mov r0, r5, lsr #0x1f
add r6, r0, r6, asr #1
add r5, r2, ip
add r6, r2, r6
_0216f090:
ldr r0, [r4, #0x50]
cmp r5, r2
movlt r5, r2
cmp r6, r1
movgt r6, r1
subs r0, r0, r5
rsbmi r0, r0, #0
str r0, [r4, #0x648]
ldr r0, [r4, #0x50]
subs r1, r0, r6
rsbmi r1, r1, #0
ldr r0, _0216f428 ; =data_027e0764
str r1, [r4, #0x64c]
ldr r2, [r0]
ldmib r0, {r1, r3}
umull r6, r5, r3, r2
mla r5, r3, r1, r5
ldr r1, [r0, #0xc]
ldr r3, [r0, #0x10]
mla r5, r1, r2, r5
ldr r1, [r0, #0x14]
adds r2, r3, r6
adc r1, r1, r5
str r2, [r0]
str r1, [r0, #4]
tst r1, #0x80000000
movne r0, #1
moveq r0, #0
strb r0, [r4, #0x654]
ldr r1, [r4, #0x648]
ldr r0, [r4, #0x64c]
sub r0, r0, r1
add r0, r0, #1
cmp r0, #0
movle r6, #0
ble _0216f16c
ldr r2, _0216f428 ; =data_027e0764
ldr r5, [r2]
ldmib r2, {r3, r6}
umull lr, ip, r6, r5
mla ip, r6, r3, ip
ldr r3, [r2, #0xc]
ldr r6, [r2, #0x10]
mla ip, r3, r5, ip
ldr r3, [r2, #0x14]
adds r5, r6, lr
adc r6, r3, ip
stmia r2, {r5, r6}
cmp r0, #0
beq _0216f16c
mov r5, #0
umull r3, r2, r6, r0
mla r2, r6, r5, r2
mla r2, r5, r0, r2
mov r6, r2
_0216f16c:
add r0, r1, r6
str r0, [r4, #0x650]
add r1, r4, #0x600
mov r0, #0
ldr r2, _0216f428 ; =data_027e0764
strh r0, [r1, #0x5c]
ldr r3, [r2]
ldmib r2, {r1, r5}
umull ip, r6, r5, r3
mla r6, r5, r1, r6
ldr r1, [r2, #0xc]
ldr lr, [r2, #0x10]
mla r6, r1, r3, r6
ldr r5, [r2, #0x14]
adds ip, lr, ip
adc r1, r5, r6
str ip, [r2]
str r1, [r2, #4]
tst r1, #0x80000000
movne r0, #1
add r2, r4, #0x600
strb r0, [r4, #0x660]
ldrsh r0, [r2, #0xa0]
cmp r0, #2
beq _0216f290
cmp r0, #3
beq _0216f238
cmp r0, #4
bne _0216f2e4
ldr r3, _0216f428 ; =data_027e0764
ldr r0, _0216f42c ; =0x0000038f
ldr r5, [r3]
ldmib r3, {r1, r6}
umull lr, ip, r6, r5
mla ip, r6, r1, ip
ldr r1, [r3, #0xc]
ldr r6, [r3, #0x10]
mla ip, r1, r5, ip
ldr r1, [r3, #0x14]
adds r5, r6, lr
adc ip, r1, ip
str r5, [r3]
mov r1, #0
umull r5, r6, ip, r0
mla r6, ip, r1, r6
mla r6, r1, r0, r6
add r0, r6, #0x8e
str ip, [r3, #4]
add r0, r0, #0x300
strh r0, [r2, #0x5e]
b _0216f2e4
_0216f238:
ldr r3, _0216f428 ; =data_027e0764
ldr r0, _0216f430 ; =0x0000071e
ldr r5, [r3]
ldmib r3, {r1, r6}
umull lr, ip, r6, r5
mla ip, r6, r1, ip
ldr r1, [r3, #0xc]
ldr r6, [r3, #0x10]
mla ip, r1, r5, ip
ldr r1, [r3, #0x14]
adds r5, r6, lr
adc ip, r1, ip
str r5, [r3]
mov r1, #0
umull r5, r6, ip, r0
mla r6, ip, r1, r6
mla r6, r1, r0, r6
add r0, r6, #0x31c
str ip, [r3, #4]
add r0, r0, #0x400
strh r0, [r2, #0x5e]
b _0216f2e4
_0216f290:
ldr r3, _0216f428 ; =data_027e0764
ldr r0, _0216f434 ; =0x00000aac
ldr r5, [r3]
ldmib r3, {r1, ip}
umull r6, lr, ip, r5
mla lr, ip, r1, lr
ldr r1, [r3, #0xc]
ldr ip, [r3, #0x10]
mla lr, r1, r5, lr
ldr r1, [r3, #0x14]
adds r5, ip, r6
adc r6, r1, lr
str r5, [r3]
mov r1, #0
umull r5, ip, r6, r0
mla ip, r6, r1, ip
mla ip, r1, r0, ip
add r0, ip, #0xaa
str r6, [r3, #4]
add r0, r0, #0xa00
strh r0, [r2, #0x5e]
_0216f2e4:
add r1, sp, #4
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
str r0, [r1, #8]
ldr r1, [r4, #0x650]
add r0, r4, #0x600
str r1, [sp, #0xc]
ldrh r1, [r0, #0x5c]
ldr r0, [r4, #0x48]
ldr r2, _0216f438 ; =data_02050f54
str r0, [r4, #0x63c]
ldr r0, [r4, #0x4c]
mov r1, r1, asr #0x4
str r0, [r4, #0x640]
ldr r0, [r4, #0x50]
mov r3, r1, lsl #0x1
str r0, [r4, #0x644]
mov r0, r3, lsl #0x1
ldrsh r1, [r2, r0]
ldr r5, [r4, #0x640]
ldr r0, [sp, #8]
add r3, r3, #1
add r0, r5, r0
str r0, [r4, #0x640]
ldr r0, [sp, #0xc]
mov r3, r3, lsl #0x1
smull lr, ip, r0, r1
adds r5, lr, #0x800
ldrsh lr, [r2, r3]
adc ip, ip, #0
mov r5, r5, lsr #0xc
smull r3, r2, r0, lr
ldr r0, [r4, #0x63c]
orr r5, r5, ip, lsl #20
add r0, r0, r5
adds r3, r3, #0x800
str r0, [r4, #0x63c]
adc r0, r2, #0
mov r2, r3, lsr #0xc
ldr r3, [r4, #0x644]
orr r2, r2, r0, lsl #20
add r0, r3, r2
str r0, [r4, #0x644]
ldr ip, [sp, #4]
rsb r0, r1, #0
smull r1, r2, ip, lr
adds r3, r1, #0x800
smull r1, r0, ip, r0
adc r2, r2, #0
adds r1, r1, #0x800
mov r3, r3, lsr #0xc
ldr ip, [r4, #0x63c]
orr r3, r3, r2, lsl #20
add r2, ip, r3
str r2, [r4, #0x63c]
adc r0, r0, #0
mov r1, r1, lsr #0xc
ldr r2, [r4, #0x644]
orr r1, r1, r0, lsl #20
add r0, r2, r1
str r0, [r4, #0x644]
add r0, r4, #0x3a4
mov r1, #1
bl func_ov00_020c5d74
ldr r0, [r4, #0x3b4]
mov r1, #0x1000
str r1, [r0, #0x10]
mov r1, #2
str r1, [sp]
ldr r0, _0216f43c ; =data_027e0e58
add r1, r4, #0x670
ldr r0, [r0]
add r3, r4, #0x630
mov r2, #0x4f
bl func_ov00_0207c1f8
mov r0, #1
str r0, [r4, #0x658]
add sp, sp, #0x10
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov25_0216efb0
_0216f424: .word 0x66666667
_0216f428: .word data_027e0764
_0216f42c: .word 0x0000038f
_0216f430: .word 0x0000071e
_0216f434: .word 0x00000aac
_0216f438: .word data_02050f54
_0216f43c: .word data_027e0e58
.global func_ov25_0216f440
arm_func_start func_ov25_0216f440
func_ov25_0216f440: ; 0x0216f440
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x18
mov r4, r0
ldr r0, [r4, #0x658]
cmp r0, #0
beq _0216f5b8
cmp r0, #1
beq _0216f46c
cmp r0, #2
beq _0216f4dc
b _0216f5b8
_0216f46c:
ldr r0, [r4, #0x3b4]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _0216f5b8
add r0, r4, #0x3a4
mov r1, #0
bl func_ov00_020c5d74
add r0, r4, #0x23c
ldr r2, [r4, #0x3b4]
mov r3, #0x1000
add r1, r4, #0x264
str r3, [r2, #0x10]
mov r2, #0x4e
str r2, [sp]
add r0, r0, #0x400
str r0, [sp, #4]
mov r2, #2
ldr r0, _0216f7e8 ; =data_027e0e58
str r2, [sp, #8]
ldr r0, [r0]
add r1, r1, #0x400
mov r2, #0x4c
mov r3, #0x4d
bl func_ov00_0207c31c
mov r0, #2
str r0, [r4, #0x658]
b _0216f5b8
_0216f4dc:
ldrb r0, [r4, #0x660]
add r2, r4, #0x600
ldr r1, _0216f7ec ; =0x88888889
cmp r0, #0
ldrsh r3, [r2, #0x5e]
beq _0216f530
smull r0, r5, r1, r3
ldrsh ip, [r2, #0x5c]
add r5, r3, r5
mov r0, r3, lsr #0x1f
add r5, r0, r5, asr #5
add r0, ip, r5
strh r0, [r2, #0x5c]
ldrsh r1, [r2, #0x5e]
ldrsh r0, [r2, #0x5c]
cmp r0, r1
blt _0216f568
strh r1, [r2, #0x5c]
mov r0, #0
strb r0, [r4, #0x660]
b _0216f568
_0216f530:
smull r0, r5, r1, r3
ldrsh ip, [r2, #0x5c]
add r5, r3, r5
mov r0, r3, lsr #0x1f
add r5, r0, r5, asr #5
sub r0, ip, r5
strh r0, [r2, #0x5c]
ldrsh r1, [r2, #0x5e]
ldrsh r0, [r2, #0x5c]
rsb r1, r1, #0
cmp r0, r1
strleh r1, [r2, #0x5c]
movle r0, #1
strleb r0, [r4, #0x660]
_0216f568:
ldrb r0, [r4, #0x654]
cmp r0, #0
ldr r0, [r4, #0x650]
beq _0216f59c
add r1, r0, #0x52
str r1, [r4, #0x650]
ldr r0, [r4, #0x64c]
cmp r1, r0
blt _0216f5b8
str r0, [r4, #0x650]
mov r0, #0
strb r0, [r4, #0x654]
b _0216f5b8
_0216f59c:
sub r1, r0, #0x52
str r1, [r4, #0x650]
ldr r0, [r4, #0x648]
cmp r1, r0
strle r0, [r4, #0x650]
movle r0, #1
strleb r0, [r4, #0x654]
_0216f5b8:
add r1, sp, #0xc
mov r0, #0
str r0, [r1]
str r0, [r1, #4]
str r0, [r1, #8]
ldr r1, [r4, #0x650]
add r0, r4, #0x600
str r1, [sp, #0x14]
ldrh r1, [r0, #0x5c]
ldr r0, [r4, #0x48]
ldr r2, _0216f7f0 ; =data_02050f54
str r0, [r4, #0x63c]
ldr r0, [r4, #0x4c]
mov r1, r1, asr #0x4
str r0, [r4, #0x640]
ldr r0, [r4, #0x50]
mov r3, r1, lsl #0x1
str r0, [r4, #0x644]
mov r0, r3, lsl #0x1
ldrsh r1, [r2, r0]
ldr r5, [r4, #0x640]
ldr r0, [sp, #0x10]
add r3, r3, #1
add r0, r5, r0
str r0, [r4, #0x640]
ldr r0, [sp, #0x14]
mov r3, r3, lsl #0x1
smull lr, ip, r0, r1
adds r5, lr, #0x800
ldrsh lr, [r2, r3]
adc ip, ip, #0
mov r5, r5, lsr #0xc
smull r3, r2, r0, lr
ldr r0, [r4, #0x63c]
orr r5, r5, ip, lsl #20
add r0, r0, r5
adds r3, r3, #0x800
str r0, [r4, #0x63c]
adc r0, r2, #0
mov r2, r3, lsr #0xc
ldr r3, [r4, #0x644]
orr r2, r2, r0, lsl #20
add r0, r3, r2
str r0, [r4, #0x644]
ldr ip, [sp, #0xc]
rsb r0, r1, #0
smull r1, r2, ip, lr
adds r3, r1, #0x800
smull r1, r0, ip, r0
adc r2, r2, #0
adds r1, r1, #0x800
mov r3, r3, lsr #0xc
ldr ip, [r4, #0x63c]
orr r3, r3, r2, lsl #20
add r2, ip, r3
str r2, [r4, #0x63c]
adc r0, r0, #0
mov r1, r1, lsr #0xc
ldr r2, [r4, #0x644]
orr r1, r1, r0, lsl #20
add r0, r2, r1
str r0, [r4, #0x644]
ldr r0, [r4, #0x670]
ldr lr, [r4, #0x630]
cmp r0, #0
ldr ip, [r4, #0x634]
ldr r1, [r4, #0x638]
beq _0216f70c
ldr r2, [r0, #0x20]
add r1, r1, #0xcd
ldr r3, [r2]
add r2, r1, #0x400
ldr r1, [r3, #4]
add r1, lr, r1
str r1, [r0, #0x28]
ldr r1, [r0, #0x20]
ldr r1, [r1]
ldr r1, [r1, #8]
add r1, ip, r1
str r1, [r0, #0x2c]
ldr r1, [r0, #0x20]
ldr r1, [r1]
ldr r1, [r1, #0xc]
add r1, r2, r1
str r1, [r0, #0x30]
_0216f70c:
add r0, r4, #0x264
add r2, r0, #0x400
add r1, r4, #0x670
cmp r2, r1
beq _0216f780
_0216f720:
ldr r0, [r2]
cmp r0, #0
beq _0216f774
ldr r3, [r0, #0x20]
ldr ip, [r4, #0x63c]
ldr r3, [r3]
ldr r3, [r3, #4]
add r3, ip, r3
str r3, [r0, #0x28]
ldr r3, [r0, #0x20]
ldr ip, [r4, #0x640]
ldr r3, [r3]
ldr r3, [r3, #8]
add r3, ip, r3
str r3, [r0, #0x2c]
ldr r3, [r0, #0x20]
ldr ip, [r4, #0x644]
ldr r3, [r3]
ldr r3, [r3, #0xc]
add r3, ip, r3
str r3, [r0, #0x30]
_0216f774:
add r2, r2, #4
cmp r2, r1
bne _0216f720
_0216f780:
ldr r0, [r4, #0x658]
cmp r0, #2
addne sp, sp, #0x18
ldmneia sp!, {r3, r4, r5, pc}
ldr r0, _0216f7f4 ; =data_027e0178
add r2, r4, #0x23c
str r0, [sp]
ldrb r1, [r4, #0x124]
ldr r3, _0216f7f8 ; =0x0000019a
mov r0, r4
str r1, [sp, #4]
mov ip, #1
add r1, r4, #0x48
add r2, r2, #0x400
str ip, [sp, #8]
bl func_ov00_020c1f5c
mov r0, #0
str r0, [sp]
add r1, r4, #0x23c
ldr r3, [r4, #8]
ldr r0, _0216f7fc ; =data_027e0ffc
add r2, r1, #0x400
mov r1, #0x2d8
bl func_ov00_020cec60
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_0216f440
_0216f7e8: .word data_027e0e58
_0216f7ec: .word 0x88888889
_0216f7f0: .word data_02050f54
_0216f7f4: .word data_027e0178
_0216f7f8: .word 0x0000019a
_0216f7fc: .word data_027e0ffc
.global func_ov25_0216f800
arm_func_start func_ov25_0216f800
func_ov25_0216f800: ; 0x0216f800
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
add r0, r6, #0x670
bl func_ov00_020b7e6c
add r0, r6, #0x264
add r5, r0, #0x400
add r4, r6, #0x670
cmp r5, r4
beq _0216f838
_0216f824:
mov r0, r5
bl func_ov00_020b7e6c
add r5, r5, #4
cmp r5, r4
bne _0216f824
_0216f838:
mov r0, #0
str r0, [r6, #0x658]
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov25_0216f800
.global func_ov25_0216f844
arm_func_start func_ov25_0216f844
func_ov25_0216f844: ; 0x0216f844
ldr r0, [r0, #0x658]
cmp r0, #0
moveq r0, #1
movne r0, #0
bx lr
arm_func_end func_ov25_0216f844
.global func_ov25_0216f858
arm_func_start func_ov25_0216f858
func_ov25_0216f858: ; 0x0216f858
ldr r0, [r0, #0x658]
cmp r0, #0
movne r0, #1
moveq r0, #0
bx lr
arm_func_end func_ov25_0216f858
.global func_ov25_0216f86c
arm_func_start func_ov25_0216f86c
func_ov25_0216f86c: ; 0x0216f86c
stmdb sp!, {r3, lr}
mvn r2, #0
cmp r0, r2
ldmeqia sp!, {r3, pc}
cmp r0, #0
ldreq r2, _0216f894 ; =data_ov25_0217a880
moveq r3, #1
streqb r3, [r2, #0x2c]
bl func_ov05_02102a80
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_0216f86c
_0216f894: .word data_ov25_0217a880
.global func_ov25_0216f898
arm_func_start func_ov25_0216f898
func_ov25_0216f898: ; 0x0216f898
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x80
mov r4, r0
mov r2, #0
str r2, [r4, #0x138]
ldr r3, [r4, #0x130]
cmp r1, #0x1a
str r3, [r4, #0x134]
str r1, [r4, #0x130]
addls pc, pc, r1, lsl #2
b _0216fed0
_0216f8c4: ; jump table
b _0216f930 ; case 0
b _0216f950 ; case 1
b _0216f9d8 ; case 2
b _0216f9f8 ; case 3
b _0216fa18 ; case 4
b _0216fa40 ; case 5
b _0216fa68 ; case 6
b _0216fa88 ; case 7
b _0216fb14 ; case 8
b _0216fb34 ; case 9
b _0216fed0 ; case 10
b _0216fbac ; case 11
b _0216fbd0 ; case 12
b _0216fc00 ; case 13
b _0216fc34 ; case 14
b _0216fc54 ; case 15
b _0216fc74 ; case 16
b _0216fc94 ; case 17
b _0216fcbc ; case 18
b _0216fd48 ; case 19
b _0216fed0 ; case 20
b _0216fd78 ; case 21
b _0216fd84 ; case 22
b _0216fdb8 ; case 23
b _0216fdf8 ; case 24
b _0216fed0 ; case 25
b _0216feb0 ; case 26
_0216f930:
mov r1, r2
add r0, r4, #0x520
bl func_ov00_020c5d74
ldr r0, [r4, #0x530]
mov r1, #0x1000
str r1, [r0, #0x10]
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216f950:
strb r2, [r4, #0x61c]
str r2, [sp]
str r2, [sp, #4]
ldr r0, _0216fed8 ; =data_027e0e58
add r2, r4, #0x48
ldr r0, [r0]
mov r1, #0x1000
mov r3, #2
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _0216fed8 ; =data_027e0e58
ldr r1, _0216fedc ; =0x00001001
ldr r0, [r0]
add r2, r4, #0x48
mov r3, #2
bl func_ov00_0207c1b0
ldr r0, _0216fee0 ; =data_027e0ffc
ldr r1, _0216fee4 ; =0x000002d6
add r2, r4, #0x48
mov r3, #0
bl func_ov00_020ceacc
add r0, r4, #0x21c
mov r1, #0xf
bl func_ov00_020c5d74
ldr r1, [r4, #0x22c]
mov r2, #0x1000
str r2, [r1, #0x10]
mov r0, r4
add r1, r4, #0x6c0
bl func_ov25_0216e174
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216f9d8:
add r0, r4, #0x21c
mov r1, #0x10
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216f9f8:
mov r1, r2
add r0, r4, #0x21c
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fa18:
mov r1, r2
add r0, r4, #0x21c
bl func_ov00_020c5d74
ldr r1, [r4, #0x22c]
mov r2, #0x1000
mov r0, r4
str r2, [r1, #0x10]
bl func_ov25_0216e0c8
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fa40:
mov r1, r2
add r0, r4, #0x21c
bl func_ov00_020c5d74
ldr r1, [r4, #0x22c]
mov r2, #0x1000
mov r0, r4
str r2, [r1, #0x10]
bl func_ov25_0216e0c8
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fa68:
add r0, r4, #0x21c
mov r1, #3
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fa88:
mov r1, r2
add r0, r4, #0x21c
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
ldr r0, [r4, #0x134]
cmp r0, #0xa
beq _0216fab4
mov r0, r4
bl func_ov25_0216e37c
_0216fab4:
ldr r2, _0216fee8 ; =data_027e0764
mov r1, #0
ldr r3, [r2]
ldmib r2, {r0, r5}
umull ip, r6, r5, r3
mla r6, r5, r0, r6
ldr r0, [r2, #0xc]
ldr r5, [r2, #0x10]
mla r6, r0, r3, r6
ldr r0, [r2, #0x14]
adds ip, r5, ip
adc r6, r0, r6
mov r0, #0x3d
umull r3, r5, r6, r0
mla r5, r6, r1, r5
mla r5, r1, r0, r5
add r0, r5, #0x1e
str ip, [r2]
mov r0, r0, lsl #0x10
str r6, [r2, #4]
mov r0, r0, asr #0x10
add sp, sp, #0x80
str r0, [r4, #0x13c]
ldmia sp!, {r4, r5, r6, pc}
_0216fb14:
add r0, r4, #0x21c
mov r1, #4
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fb34:
ldr r0, _0216fee8 ; =data_027e0764
ldr r2, [r0]
ldmib r0, {r1, r3}
umull r6, r5, r3, r2
mla r5, r3, r1, r5
ldr r1, [r0, #0xc]
ldr r3, [r0, #0x10]
mla r5, r1, r2, r5
ldr r1, [r0, #0x14]
adds r2, r3, r6
adc r1, r1, r5
str r2, [r0]
str r1, [r0, #4]
tst r1, #0x80000000
add r0, r4, #0x21c
beq _0216fb90
mov r1, #1
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fb90:
mov r1, #0xe
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fbac:
bl func_ov25_0216f800
add r0, r4, #0x21c
mov r1, #0xd
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fbd0:
add r0, r4, #0x21c
mov r1, #5
bl func_ov00_020c5d74
ldr r1, [r4, #0x22c]
mov r2, #0x1000
mov r0, r4
str r2, [r1, #0x10]
bl func_ov25_0216e37c
mov r0, r4
bl func_ov25_0216efb0
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fc00:
add r0, r4, #0x21c
mov r1, #0xb
bl func_ov00_020c5d74
ldr r5, [r4, #0x22c]
mov r6, #0x1000
ldr r0, _0216fee0 ; =data_027e0ffc
ldr r1, _0216feec ; =0x000002e3
add r2, r4, #0x48
mov r3, #0
str r6, [r5, #0x10]
bl func_ov00_020ceacc
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fc34:
add r0, r4, #0x21c
mov r1, #8
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fc54:
add r0, r4, #0x21c
mov r1, #0x12
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fc74:
mov r1, r2
add r0, r4, #0x21c
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fc94:
mov r1, r2
add r0, r4, #0x21c
bl func_ov00_020c5d74
ldr r1, [r4, #0x22c]
mov r2, #0x1000
mov r0, r4
str r2, [r1, #0x10]
bl func_ov25_0216e0c8
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fcbc:
mov r1, r2
add r0, r4, #0x21c
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
ldr r0, [r4, #0x134]
cmp r0, #0xa
beq _0216fce8
mov r0, r4
bl func_ov25_0216e37c
_0216fce8:
ldr r2, _0216fee8 ; =data_027e0764
mov r1, #0
ldr r3, [r2]
ldmib r2, {r0, ip}
umull r5, lr, ip, r3
mla lr, ip, r0, lr
ldr r0, [r2, #0xc]
ldr ip, [r2, #0x10]
mla lr, r0, r3, lr
ldr r0, [r2, #0x14]
adds r6, ip, r5
adc r5, r0, lr
mov r0, #0x3d
umull r3, ip, r5, r0
mla ip, r5, r1, ip
mla ip, r1, r0, ip
add r0, ip, #0x1e
str r6, [r2]
mov r0, r0, lsl #0x10
str r5, [r2, #4]
mov r0, r0, asr #0x10
add sp, sp, #0x80
str r0, [r4, #0x13c]
ldmia sp!, {r4, r5, r6, pc}
_0216fd48:
mov r1, r2
add r0, r4, #0x21c
bl func_ov00_020c5d74
ldr r1, [r4, #0x22c]
mov r2, #0x1000
mov r0, r4
str r2, [r1, #0x10]
bl func_ov25_021713c4
mov r0, r4
bl func_ov25_0216e0c8
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fd78:
bl func_ov25_0216e884
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fd84:
add r0, r4, #0x21c
mov r1, #0x11
bl func_ov00_020c5d74
ldr ip, [r4, #0x22c]
mov lr, #0x1000
ldr r0, _0216fee0 ; =data_027e0ffc
ldr r1, _0216fef0 ; =0x000002e2
add r2, r4, #0x48
mov r3, #0
str lr, [ip, #0x10]
bl func_ov00_020ceacc
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fdb8:
ldr r0, _0216fef4 ; =data_ov25_0217a880
mov r4, #0xf
strb r2, [r0, #0x2c]
str r4, [sp]
ldr r0, _0216fef8 ; =data_027e0c54
ldr r1, _0216fefc ; =func_ov25_0216f86c
mov r3, r2
str r4, [sp, #4]
blx func_02036140
mov r2, #0
ldr r0, _0216ff00 ; =data_027e0db0
mov r3, r2
mov r1, #1
blx func_ov00_0207b2f0
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216fdf8:
ldr r0, _0216ff04 ; =data_027e0f64
add r1, sp, #0x18
ldr r0, [r0]
ldr r0, [r0, #4]
bl func_ov00_02087d34
mov r1, #0
ldr r0, _0216ff08 ; =0x00001555
mov r3, #0xa000
mov r2, #0x7d0
str r3, [sp, #0x30]
str r2, [sp, #0x24]
str r1, [sp, #0x2c]
str r0, [sp, #0x28]
ldr r0, [r4, #0x48]
sub r3, r1, #1
str r0, [sp, #0xc]
ldr r2, [r4, #0x4c]
ldr r0, _0216ff04 ; =data_027e0f64
str r2, [sp, #0x10]
ldr ip, [r4, #0x50]
add r2, sp, #0xc
str ip, [sp, #0x14]
str r3, [sp]
str r1, [sp, #4]
str r1, [sp, #8]
ldr r0, [r0]
add r3, sp, #0x18
ldr r0, [r0, #4]
bl func_ov00_020888e8
add r0, r4, #0x21c
mov r1, #2
bl func_ov00_020c5d74
ldr r1, [r4, #0x22c]
mov r2, #0x1000
str r2, [r1, #0x10]
mov r1, #0
strb r1, [r4, #0x744]
ldr r0, _0216ff0c ; =data_027e0c68
ldr r2, _0216ff10 ; =0x0071001e
add r1, r4, #0x6f0
bl func_02036ce4
mov r0, r4
mov r1, #1
bl func_ov00_020c1908
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
_0216feb0:
mov r0, #2
stmia sp, {r0, r2}
ldr r0, _0216ff14 ; =data_027e0f74
mov r1, #0xf
ldr r0, [r0]
mov r3, r1
mov r2, #0x1e
bl func_ov00_02098074
_0216fed0:
add sp, sp, #0x80
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov25_0216f898
_0216fed8: .word data_027e0e58
_0216fedc: .word 0x00001001
_0216fee0: .word data_027e0ffc
_0216fee4: .word 0x000002d6
_0216fee8: .word data_027e0764
_0216feec: .word 0x000002e3
_0216fef0: .word 0x000002e2
_0216fef4: .word data_ov25_0217a880
_0216fef8: .word data_027e0c54
_0216fefc: .word func_ov25_0216f86c
_0216ff00: .word data_027e0db0
_0216ff04: .word data_027e0f64
_0216ff08: .word 0x00001555
_0216ff0c: .word data_027e0c68
_0216ff10: .word 0x0071001e
_0216ff14: .word data_027e0f74
.global func_ov25_0216ff18
arm_func_start func_ov25_0216ff18
func_ov25_0216ff18: ; 0x0216ff18
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov25_0216ecd8
cmp r0, #0
mov r0, r4
beq _0216ff3c
mov r1, #0x14
bl func_ov25_0216f898
ldmia sp!, {r4, pc}
_0216ff3c:
bl func_ov00_020cc180
ldmia sp!, {r4, pc}
arm_func_end func_ov25_0216ff18
.global func_ov25_0216ff44
arm_func_start func_ov25_0216ff44
func_ov25_0216ff44: ; 0x0216ff44
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0x40
mov r8, r1
ldr r4, [r8, #0x14]
mov r6, r0
cmp r4, #0
beq _02170390
ldr r2, [r4, #4]
ldr r1, _021703a4 ; =0x43425332
cmp r2, r1
bne _02170390
ldr r1, [r6, #0x130]
cmp r1, #0x13
addls pc, pc, r1, lsl #2
b _0216ffd0
_0216ff80: ; jump table
b _0216ffd0 ; case 0
b _0216ffd0 ; case 1
b _0216ffd0 ; case 2
b _0216ffd0 ; case 3
b _0216ffd0 ; case 4
b _0216ffd0 ; case 5
b _0216ffd0 ; case 6
b _0216ffdc ; case 7
b _0216ffdc ; case 8
b _0216ffdc ; case 9
b _0216ffdc ; case 10
b _0216ffdc ; case 11
b _0216ffdc ; case 12
b _0216ffd0 ; case 13
b _0216ffd0 ; case 14
b _0216ffd0 ; case 15
b _0216ffd0 ; case 16
b _0216ffd0 ; case 17
b _0216ffdc ; case 18
b _0216ffdc ; case 19
_0216ffd0:
add sp, sp, #0x40
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
_0216ffdc:
bl func_ov25_0216ef9c
add r0, r6, #0x600
ldrsh r1, [r0, #0xa0]
add r0, r4, #0x100
ldrsh r0, [r0, #0x7c]
cmp r1, #4
mov r5, #0
addls pc, pc, r1, lsl #2
b _02170080
_02170000: ; jump table
b _02170080 ; case 0
b _02170060 ; case 1
b _0217003c ; case 2
b _02170018 ; case 3
b _02170014 ; case 4
_02170014:
b _02170080
_02170018:
cmp r0, #1
movle r5, #0x64
ble _02170080
cmp r0, #2
moveq r5, #0x32
beq _02170080
cmp r0, #3
movge r5, #0x19
b _02170080
_0217003c:
cmp r0, #1
movle r5, #0x64
ble _02170080
cmp r0, #2
moveq r5, #0x50
beq _02170080
cmp r0, #3
movge r5, #0x32
b _02170080
_02170060:
cmp r0, #1
movle r5, #0x64
ble _02170080
cmp r0, #2
moveq r5, #0x5a
beq _02170080
cmp r0, #3
movge r5, #0x3c
_02170080:
mov r7, #0
sub r2, r7, #1
add r1, sp, #8
mov r0, r4
str r2, [sp, #8]
str r2, [sp, #0xc]
bl func_ov25_02171ed8
cmp r0, #0
beq _021700c0
ldr r1, [sp, #8]
ldr r0, [r6, #8]
cmp r1, r0
addne sp, sp, #0x40
movne r0, r7
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov r7, #1
_021700c0:
mov r0, r4
bl func_ov25_02171f00
cmp r0, #0
beq _02170194
ldr r3, _021703a8 ; =data_027e0764
mov r2, #0
ldr r1, [r3]
ldmib r3, {r0, ip}
umull sb, lr, ip, r1
mla lr, ip, r0, lr
ldr r0, [r3, #0xc]
ldr ip, [r3, #0x10]
mla lr, r0, r1, lr
ldr r1, [r3, #0x14]
adds r0, ip, sb
adc sb, r1, lr
str r0, [r3]
mov r1, #0x64
umull ip, lr, sb, r1
mla lr, sb, r2, lr
mov r0, r2
mla lr, r0, r1, lr
cmp lr, r5
str sb, [r3, #4]
movlt r7, #1
blt _02170194
mov r0, r6
mov r1, r8
bl func_ov00_020cb60c
cmp r0, #0
beq _02170194
mov r0, r6
bl func_ov25_0216ecd8
cmp r0, #0
beq _0217017c
add r0, r6, #0x100
ldrsh r0, [r0, #0x20]
cmp r0, #0
bgt _0217017c
ldr r0, _021703ac ; =data_027e0fc8
ldr r0, [r0]
ldr r1, [r0]
ldr r1, [r1, #0x84]
blx r1
ldr r0, _021703b0 ; =data_ov00_020eec68
mov r1, #5
bl func_ov00_020d716c
_0217017c:
mov r0, r6
mov r1, #0xd
bl func_ov25_0216f898
add sp, sp, #0x40
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
_02170194:
cmp r7, #0
beq _02170390
ldr r0, [r4, #8]
mvn r2, #0
str r0, [r6, #0x6dc]
ldr r0, [r4, #0xc]
add r1, sp, #0
str r0, [r6, #0x6e0]
mov r0, r6
str r2, [sp]
str r2, [sp, #4]
bl func_ov25_0216ecf4
ldr r1, [sp]
mvn r0, #0
cmp r1, r0
beq _021701f4
mov r0, r4
bl func_ov25_02171f14
cmp r0, #0
bne _021701f4
add r1, sp, #0
mov r0, r4
bl func_ov25_02171ea8
b _02170378
_021701f4:
mov r0, r6
bl func_ov25_0216ecd8
cmp r0, #0
add r0, r4, #0x60
beq _02170358
bl func_01ff9cec
ldr r1, [r6, #0x620]
ldr r2, [r6, #0x624]
mov r5, r0
sub r0, r2, r1
add r0, r0, #1
cmp r0, #0
movle r8, #0
ble _02170278
ldr r2, _021703a8 ; =data_027e0764
ldr r7, [r2]
ldmib r2, {r3, r8}
umull lr, ip, r8, r7
mla ip, r8, r3, ip
ldr r3, [r2, #0xc]
ldr r8, [r2, #0x10]
mla ip, r3, r7, ip
ldr r3, [r2, #0x14]
adds r7, r8, lr
adc r8, r3, ip
stmia r2, {r7, r8}
cmp r0, #0
beq _02170278
mov r7, #0
umull r3, r2, r8, r0
mla r2, r8, r7, r2
mla r2, r7, r0, r2
mov r8, r2
_02170278:
add r0, r1, r8
str r0, [sp, #0x28]
ldr r3, [r6, #0x62c]
add r0, sp, #0x28
add r2, sp, #0x1c
add r1, r6, #0x48
str r3, [sp, #0x30]
bl func_01ff9bf8
ldr r0, [sp, #0x1c]
ldr r1, [sp, #0x24]
bl func_01ffa0f4
mov r0, r0, lsl #0x10
ldr r1, _021703b4 ; =0x00000e39
mov r2, r0, asr #0x10
cmp r1, r0, asr #16
movlt r2, r1
blt _021702c8
rsb r0, r1, #0
cmp r2, r0
movlt r2, r0
_021702c8:
mov r0, r2, lsl #0x10
mov r0, r0, lsr #0x10
mov r0, r0, asr #0x4
mov r2, r0, lsl #0x1
add r0, r2, #1
ldr r1, _021703b8 ; =data_02050f54
mov r2, r2, lsl #0x1
ldrsh r7, [r1, r2]
mov r0, r0, lsl #0x1
ldrsh ip, [r1, r0]
smull r0, r1, r5, r7
adds r3, r0, #0x800
mov lr, #0
smull r0, r2, r5, lr
adc r1, r1, #0
mov r3, r3, lsr #0xc
orr r3, r3, r1, lsl #20
adds r8, r0, #0x800
smull r1, r0, r5, ip
adc r5, r2, #0
adds r1, r1, #0x800
mov r2, r8, lsr #0xc
orr r2, r2, r5, lsl #20
mov r5, r1, lsr #0xc
adc r0, r0, #0
orr r5, r5, r0, lsl #20
add r1, sp, #0x34
mov r0, r4
str r7, [sp, #0x1c]
str lr, [sp, #0x20]
str ip, [sp, #0x24]
str r3, [sp, #0x34]
str r2, [sp, #0x38]
str r5, [sp, #0x3c]
bl func_ov25_02171e80
b _02170378
_02170358:
bl func_01ff9cec
mov r2, #0
str r0, [sp, #0x18]
add r1, sp, #0x10
mov r0, r4
str r2, [sp, #0x10]
str r2, [sp, #0x14]
bl func_ov25_02171e80
_02170378:
mov r0, r6
mov r1, #0xb
bl func_ov25_0216f898
add sp, sp, #0x40
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
_02170390:
mov r0, r6
bl func_ov25_0216ef3c
mov r0, #0
add sp, sp, #0x40
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov25_0216ff44
_021703a4: .word 0x43425332
_021703a8: .word data_027e0764
_021703ac: .word data_027e0fc8
_021703b0: .word data_ov00_020eec68
_021703b4: .word 0x00000e39
_021703b8: .word data_02050f54
.global func_ov25_021703bc
arm_func_start func_ov25_021703bc
func_ov25_021703bc: ; 0x021703bc
stmdb sp!, {r4, lr}
sub sp, sp, #0xc0
ldr r1, _02170d54 ; =data_027e0fc8
mov r4, r0
ldr r0, [r1]
add r1, r4, #0x48
bl func_ov00_020bb6d4
mov r0, r4
bl func_ov00_020cb58c
mov r0, r4
bl func_ov25_0216ef48
ldr r0, [r4, #0x130]
cmp r0, #0x1a
addls pc, pc, r0, lsl #2
b _02170d10
_021703f8: ; jump table
b _02170464 ; case 0
b _02170484 ; case 1
b _021704c8 ; case 2
b _021704f8 ; case 3
b _02170520 ; case 4
b _02170550 ; case 5
b _02170580 ; case 6
b _021705bc ; case 7
b _02170620 ; case 8
b _0217064c ; case 9
b _0217070c ; case 10
b _021707b4 ; case 11
b _021707d8 ; case 12
b _02170848 ; case 13
b _02170894 ; case 14
b _021708d4 ; case 15
b _02170908 ; case 16
b _02170944 ; case 17
b _02170974 ; case 18
b _021709a4 ; case 19
b _021709d4 ; case 20
b _02170aa8 ; case 21
b _02170ae4 ; case 22
b _02170b1c ; case 23
b _02170bf0 ; case 24
b _02170c70 ; case 25
b _02170cb8 ; case 26
_02170464:
ldr r1, [r4, #0x6ec]
cmp r1, #1
bne _02170d10
mov r0, r4
bl func_ov25_0216f898
mov r0, #0x1b
str r0, [r4, #0x6ec]
b _02170d10
_02170484:
mov r0, r4
add r1, r4, #0x6c0
bl func_ov25_0216e238
add r0, r4, #0x48
add r2, r4, #0x6c0
mov r1, #0xa000
bl func_ov00_020ce284
cmp r0, #0
beq _02170d10
ldr r0, [r4, #0x22c]
ldr r0, [r0, #0x14]
cmp r0, #0
bne _02170d10
mov r0, r4
mov r1, #2
bl func_ov25_0216f898
b _02170d10
_021704c8:
mov r0, r4
add r1, r4, #0x6c0
bl func_ov25_0216e238
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02170d10
mov r0, r4
mov r1, #3
bl func_ov25_0216f898
b _02170d10
_021704f8:
mov r0, r4
bl func_ov25_0216e000
ldr r1, [r4, #0x6ec]
cmp r1, #4
bne _02170d10
mov r0, r4
bl func_ov25_0216f898
mov r0, #0x1b
str r0, [r4, #0x6ec]
b _02170d10
_02170520:
add r1, r4, #0x27c
mov r0, r4
add r1, r1, #0x400
bl func_ov25_0216e0dc
ldr r1, [r4, #0x6ec]
cmp r1, #5
bne _02170d10
mov r0, r4
bl func_ov25_0216f898
mov r0, #0x1b
str r0, [r4, #0x6ec]
b _02170d10
_02170550:
add r1, r4, #0x288
mov r0, r4
add r1, r1, #0x400
bl func_ov25_0216e0dc
ldr r1, [r4, #0x6ec]
cmp r1, #6
bne _02170d10
mov r0, r4
bl func_ov25_0216f898
mov r0, #0x1b
str r0, [r4, #0x6ec]
b _02170d10
_02170580:
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02170d10
ldrb r0, [r4, #0x6e4]
cmp r0, #0
mov r0, r4
beq _021705b0
mov r1, #7
bl func_ov25_0216f898
b _02170d10
_021705b0:
mov r1, #0xc
bl func_ov25_0216f898
b _02170d10
_021705bc:
mov r0, r4
bl func_ov25_0216e750
ldr r1, [r4, #0x6ec]
cmp r1, #0xf
bne _021705e4
mov r0, r4
bl func_ov25_0216f898
mov r0, #0x1b
str r0, [r4, #0x6ec]
b _02170d10
_021705e4:
cmp r1, #4
bne _02170600
mov r0, r4
bl func_ov25_0216f898
mov r0, #0x1b
str r0, [r4, #0x6ec]
b _02170d10
_02170600:
ldr r1, [r4, #0x138]
ldr r0, [r4, #0x13c]
cmp r1, r0
blt _02170d10
mov r0, r4
mov r1, #8
bl func_ov25_0216f898
b _02170d10
_02170620:
mov r0, r4
bl func_ov25_0216e000
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02170d10
mov r0, r4
mov r1, #9
bl func_ov25_0216f898
b _02170d10
_0217064c:
mov r0, r4
bl func_ov25_0216e000
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _021706a4
ldr r0, [r4, #0x230]
cmp r0, #1
add r0, r4, #0x21c
bne _02170690
mov r1, #0xe
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
b _021706a4
_02170690:
mov r1, #1
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
_021706a4:
ldr r1, [r4, #0x6ec]
mov r0, r4
cmp r1, #0xf
bne _021706c4
bl func_ov25_0216f898
mov r0, #0x1b
str r0, [r4, #0x6ec]
b _02170d10
_021706c4:
bl func_ov25_0217135c
cmp r0, #0
mov r0, r4
beq _021706e0
mov r1, #0xa
bl func_ov25_0216f898
b _02170d10
_021706e0:
bl func_ov25_0216ecd8
cmp r0, #0
beq _02170d10
mov r0, r4
bl func_ov25_02171388
cmp r0, #0
beq _02170d10
mov r0, r4
mov r1, #0x13
bl func_ov25_0216f898
b _02170d10
_0217070c:
mov r0, r4
bl func_ov25_0216e000
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02170740
add r0, r4, #0x21c
mov r1, #0
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
_02170740:
ldr r1, [r4, #0x6ec]
cmp r1, #0xf
bne _02170760
mov r0, r4
bl func_ov25_0216f898
mov r0, #0x1b
str r0, [r4, #0x6ec]
b _02170d10
_02170760:
ldr r0, [r4, #0x138]
cmp r0, #0x1e
ble _02170d10
mov r0, r4
bl func_ov25_0216ecd8
cmp r0, #0
beq _0217078c
mov r0, r4
mov r1, #0x12
bl func_ov25_0216f898
b _02170d10
_0217078c:
ldrb r0, [r4, #0x6e4]
cmp r0, #0
mov r0, r4
beq _021707a8
mov r1, #7
bl func_ov25_0216f898
b _02170d10
_021707a8:
mov r1, #0xc
bl func_ov25_0216f898
b _02170d10
_021707b4:
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02170d10
mov r0, r4
mov r1, #9
bl func_ov25_0216f898
b _02170d10
_021707d8:
mov r0, r4
bl func_ov25_0216e614
mov r0, r4
bl func_ov25_0216f440
ldr r0, [r4, #0x6ec]
cmp r0, #0x1b
beq _021707fc
mov r0, r4
bl func_ov25_0216f800
_021707fc:
mov r0, r4
bl func_ov25_0216f844
cmp r0, #0
beq _02170d10
ldr r1, [r4, #0x6ec]
cmp r1, #0xf
bne _0217082c
mov r0, r4
bl func_ov25_0216f898
mov r0, #0x1b
str r0, [r4, #0x6ec]
b _02170d10
_0217082c:
cmp r1, #4
bne _02170d10
mov r0, r4
bl func_ov25_0216f898
mov r0, #0x1b
str r0, [r4, #0x6ec]
b _02170d10
_02170848:
mov r0, r4
bl func_ov00_020cbee8
mov r0, r4
bl func_ov00_020cc138
cmp r0, #0
beq _02170d10
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02170d10
add r0, r4, #0x100
ldrsh r0, [r0, #0x20]
cmp r0, #0
ble _02170d10
mov r0, r4
mov r1, #0xe
bl func_ov25_0216f898
b _02170d10
_02170894:
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02170d10
mov r0, r4
bl func_ov25_0216ecd8
cmp r0, #0
mov r0, r4
beq _021708c8
mov r1, #0x12
bl func_ov25_0216f898
b _02170d10
_021708c8:
mov r1, #0x10
bl func_ov25_0216f898
b _02170d10
_021708d4:
add r1, r4, #0x2a4
mov r0, r4
add r1, r1, #0x400
bl func_ov25_0216e024
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02170d10
mov r0, r4
mov r1, #0x10
bl func_ov25_0216f898
b _02170d10
_02170908:
ldr r1, [r4, #0x6ec]
cmp r1, #4
bne _02170928
mov r0, r4
bl func_ov25_0216f898
mov r0, #0x1b
str r0, [r4, #0x6ec]
b _02170d10
_02170928:
cmp r1, #0x11
bne _02170d10
mov r0, r4
bl func_ov25_0216f898
mov r0, #0x1b
str r0, [r4, #0x6ec]
b _02170d10
_02170944:
add r1, r4, #0x27c
mov r0, r4
add r1, r1, #0x400
bl func_ov25_0216e0dc
mov r0, r4
bl func_ov25_0216eeec
cmp r0, #0
beq _02170d10
mov r0, r4
mov r1, #0x12
bl func_ov25_0216f898
b _02170d10
_02170974:
mov r0, r4
bl func_ov25_0216e824
ldr r1, [r4, #0x138]
ldr r0, [r4, #0x13c]
cmp r1, r0
blt _02170d10
mov r2, #1
mov r0, r4
mov r1, #8
strb r2, [r4, #0x6e4]
bl func_ov25_0216f898
b _02170d10
_021709a4:
add r1, r4, #0x294
mov r0, r4
add r1, r1, #0x400
bl func_ov25_0216e0dc
mov r0, r4
bl func_ov25_0217135c
cmp r0, #0
beq _02170d10
mov r0, r4
mov r1, #0x12
bl func_ov25_0216f898
b _02170d10
_021709d4:
mov r0, r4
bl func_ov00_020cc928
cmp r0, #0
mov r0, r4
bne _02170a8c
bl func_ov00_020cc8dc
cmp r0, #0
beq _02170d10
add r0, sp, #0x10
bl func_ov00_0209a4f4
mov r3, #0
mvn lr, #0
mov ip, #0x64
mov r2, #1
add r1, sp, #0x10
mov r0, r4
str lr, [sp, #0x14]
strb ip, [sp, #0x19]
strb r3, [sp, #0x1a]
strb r3, [sp, #0x1b]
strb r2, [sp, #0x27]
bl func_ov00_020cc908
add r0, r4, #0x21c
mov r1, #0xc
bl func_ov00_020c5d74
ldr r1, [r4, #0x22c]
mov r2, #0x1000
mov r0, r4
str r2, [r1, #0x10]
bl func_ov25_0216ef9c
ldr r1, _02170d58 ; =data_027e0fb8
mov r0, r4
ldr r1, [r1]
mov r2, #1
strb r2, [r1, #0x78]
bl func_ov00_020c2974
ldr r1, _02170d54 ; =data_027e0fc8
sub r3, r0, #0x8000
ldr r2, _02170d5c ; =data_027e0fac
ldr r0, [r1]
mvn r1, #0
strh r3, [r2]
bl func_ov00_020bd070
add r0, sp, #0x10
bl func_ov00_0209a508
b _02170d10
_02170a8c:
bl func_ov00_020cc940
cmp r0, #0
beq _02170d10
mov r0, r4
mov r1, #0x15
bl func_ov25_0216f898
b _02170d10
_02170aa8:
ldr r0, _02170d54 ; =data_027e0fc8
add r1, r4, #0x48
ldr r0, [r0]
mov r2, #0x1000
bl func_ov00_020bb810
mov r0, r4
bl func_ov25_0216e924
mov r0, r4
bl func_ov25_0216eb64
cmp r0, #0
beq _02170d10
mov r0, r4
mov r1, #0x16
bl func_ov25_0216f898
b _02170d10
_02170ae4:
ldr r0, _02170d54 ; =data_027e0fc8
add r1, r4, #0x48
ldr r0, [r0]
mov r2, #0x1000
bl func_ov00_020bb810
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02170d10
mov r0, r4
mov r1, #0x17
bl func_ov25_0216f898
b _02170d10
_02170b1c:
mov r0, r4
mov r1, #0
bl func_ov25_0216e08c
ldr r0, _02170d54 ; =data_027e0fc8
add r1, r4, #0x48
ldr r0, [r0]
mov r2, #0x1000
bl func_ov00_020bb810
ldr r0, _02170d60 ; =data_ov25_0217a880
ldrb r0, [r0, #0x2c]
cmp r0, #0
beq _02170d10
ldr r0, _02170d64 ; =data_027e0ff0
mov r3, #1
mov r2, #0
ldr r0, [r0]
add r1, sp, #2
strb r3, [sp, #2]
strb r2, [sp, #3]
bl func_ov00_020c47cc
ldr r1, [r0, #4]
ldr r2, _02170d64 ; =data_027e0ff0
str r1, [r4, #0x48]
ldr r3, [r0, #8]
add r1, sp, #0
str r3, [r4, #0x4c]
ldr r0, [r0, #0xc]
mov r3, #1
str r0, [r4, #0x50]
ldr r0, [r2]
strb r3, [sp]
strb r3, [sp, #1]
bl func_ov00_020c47cc
add r0, r0, #4
add r3, sp, #4
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mov r0, r4
mov r1, r3
bl func_ov00_020c2938
sub r0, r0, #0x8000
mov r0, r0, lsl #0x10
mov r2, r0, asr #0x10
ldr r0, _02170d54 ; =data_027e0fc8
add r1, sp, #4
ldr r0, [r0]
bl func_ov00_020bcdec
mov r0, r4
bl func_ov00_020c1b18
mov r0, r4
mov r1, #0x18
bl func_ov25_0216f898
b _02170d10
_02170bf0:
mov r0, r4
mov r1, #0
bl func_ov25_0216e08c
ldr r0, _02170d54 ; =data_027e0fc8
add r1, r4, #0x48
ldr r0, [r0]
mov r2, #0x1000
bl func_ov00_020bb810
ldr r0, [r4, #0x230]
cmp r0, #9
bne _02170d10
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02170d10
add r0, r4, #0x48
bl func_ov00_020c6fe0
mov r0, r4
add r1, r4, #0x48
bl func_ov25_02171508
mov r1, #0
ldr r0, _02170d68 ; =data_027e0f74
strb r1, [r4, #0x11a]
ldr r0, [r0]
mov r1, #0x35
mov r2, #1
bl func_ov00_0209779c
mov r0, r4
mov r1, #0x19
bl func_ov25_0216f898
b _02170d10
_02170c70:
ldr r0, _02170d54 ; =data_027e0fc8
add r1, r4, #0x48
ldr r0, [r0]
mov r2, #0x1000
bl func_ov00_020bb810
mov r0, #0x10000
ldr r1, [r4, #0x708]
rsb r0, r0, #0
and r0, r1, r0
cmp r0, #0x1000000
bne _02170d10
ldr r0, [r4, #0x138]
cmp r0, #0x5a
blt _02170d10
mov r0, r4
mov r1, #0x1a
bl func_ov25_0216f898
b _02170d10
_02170cb8:
ldr r0, _02170d54 ; =data_027e0fc8
add r1, r4, #0x48
ldr r0, [r0]
mov r2, #0x1000
bl func_ov00_020bb810
ldr r0, _02170d68 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_020980ac
cmp r0, #0
beq _02170d10
ldr r0, _02170d6c ; =data_027e0f64
mov r1, #0
ldr r0, [r0]
ldr r0, [r0, #4]
bl func_ov00_020875f8
mov r0, r4
bl func_ov00_020cc960
ldr r0, _02170d54 ; =data_027e0fc8
ldr r0, [r0]
bl func_ov00_020bd0a8
mov r0, r4
bl func_ov00_020c3180
_02170d10:
ldrb r0, [r4, #0x61c]
cmp r0, #0
beq _02170d28
add r0, r4, #0x520
bl func_ov00_020c5e20
b _02170d38
_02170d28:
add r0, r4, #0x21c
bl func_ov00_020c5e20
add r0, r4, #0x3a4
bl func_ov00_020c5e20
_02170d38:
add r0, r4, #0x6f0
ldr r1, [r0]
ldr r1, [r1, #0x10]
blx r1
mov r0, #1
add sp, sp, #0xc0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_021703bc
_02170d54: .word data_027e0fc8
_02170d58: .word data_027e0fb8
_02170d5c: .word data_027e0fac
_02170d60: .word data_ov25_0217a880
_02170d64: .word data_027e0ff0
_02170d68: .word data_027e0f74
_02170d6c: .word data_027e0f64
.global func_ov25_02170d70
arm_func_start func_ov25_02170d70
func_ov25_02170d70: ; 0x02170d70
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020cacf4
cmp r0, #0
movne r0, #1
ldmneia sp!, {r4, pc}
ldr r0, [r4, #0x130]
cmp r0, #0
cmpne r0, #1
cmpne r0, #2
cmpne r0, #3
beq _02170da8
cmp r0, #0x14
blt _02170db0
_02170da8:
mov r0, #1
ldmia sp!, {r4, pc}
_02170db0:
mov r0, #0
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02170d70
.global func_ov25_02170db8
arm_func_start func_ov25_02170db8
func_ov25_02170db8: ; 0x02170db8
stmdb sp!, {r4, lr}
mov r4, r0
cmp r1, #0
ldrneb r0, [r4, #0xa5]
ldreqb r0, [r4, #0xa4]
cmp r0, #0
beq _02170e0c
ldrb r0, [r4, #0x61c]
cmp r0, #0
beq _02170df8
add r0, r4, #0x520
bl func_ov00_020c5f1c
mov r0, r4
mov r1, #0x1f
bl func_ov00_020cc9c4
b _02170e0c
_02170df8:
mov r0, r4
bl func_ov00_020c31c0
mov r0, r4
mov r1, #0x1f
bl func_ov00_020cc9c4
_02170e0c:
mov r0, r4
bl func_ov25_0216f858
cmp r0, #0
ldmeqia sp!, {r4, pc}
add r2, r4, #0x23c
add r0, r4, #0x3a4
add r1, r4, #0x630
add r2, r2, #0x400
bl func_ov25_02171abc
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02170db8
.global func_ov25_02170e34
arm_func_start func_ov25_02170e34
func_ov25_02170e34: ; 0x02170e34
stmdb sp!, {r4, lr}
mov r4, r0
ldr r1, [r4, #0x678]
ldr r0, [r4, #0x220]
and r1, r1, #0xff
bl func_020197fc
add r0, r4, #0x21c
bl func_ov00_020c5f1c
add r0, r4, #0x23c
add r1, r4, #0x630
bl func_ov25_02171860
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02170e34
.global func_ov25_02170e64
arm_func_start func_ov25_02170e64
func_ov25_02170e64: ; 0x02170e64
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x94
mov r8, r0
bl func_ov25_0216ecd8
cmp r0, #0
beq _02171110
add r0, sp, #0x68
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x68
str r1, [sp, #0x84]
str r1, [sp, #0x88]
bl func_ov00_020c3348
ldr r1, [r8, #8]
ldr r0, _02171330 ; =data_ov25_02179340
str r1, [sp, #0x84]
ldr r4, [r8, #0xc]
add r3, sp, #0x50
str r4, [sp, #0x88]
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldrh r0, [r8, #0x78]
ldr r7, [r8, #0x48]
ldr r4, _02171334 ; =data_02050f54
mov r0, r0, asr #0x4
mov r1, r0, lsl #0x1
add r0, r1, #1
mov r1, r1, lsl #0x1
mov r0, r0, lsl #0x1
ldrsh r3, [r4, r0]
str r7, [sp, #0x5c]
ldrsh r2, [r4, r1]
ldr r1, [r8, #0x4c]
ldr r0, [sp, #0x54]
str r1, [sp, #0x60]
add r0, r1, r0
ldr sl, [r8, #0x50]
ldr sb, [sp, #0x58]
str r0, [sp, #0x60]
rsb r0, r2, #0
smull r2, fp, sb, r2
adds r2, r2, #0x800
adc fp, fp, #0
mov r2, r2, lsr #0xc
orr r2, r2, fp, lsl #20
add r7, r7, r2
smull fp, r2, sb, r3
adds sb, fp, #0x800
ldr r1, [sp, #0x50]
adc r2, r2, #0
mov sb, sb, lsr #0xc
orr sb, sb, r2, lsl #20
add r2, sl, sb
smull sl, sb, r1, r3
smull r3, r0, r1, r0
adds sl, sl, #0x800
adc r1, sb, #0
mov sb, sl, lsr #0xc
orr sb, sb, r1, lsl #20
add r1, r7, sb
str r1, [sp, #0x5c]
adds r1, r3, #0x800
ldr lr, _02171338 ; =data_027e0764
adc r0, r0, #0
mov r1, r1, lsr #0xc
orr r1, r1, r0, lsl #20
add r0, r2, r1
str r0, [sp, #0x64]
mov r0, #3
ldr r2, [lr]
ldmib lr, {r1, r7}
umull sl, sb, r7, r2
mla sb, r7, r1, sb
ldr r3, [lr, #0xc]
ldr ip, [lr, #0x10]
mla sb, r3, r2, sb
ldr fp, [lr, #0x14]
sub r0, r0, #4
adds r1, ip, sl
adc r2, fp, sb
stmia lr, {r1, r2}
mov r1, #3
umull r1, r7, r2, r1
mov r5, #0
mla r7, r2, r5, r7
mov r2, r5
mov r1, #3
mla r7, r2, r1, r7
str r0, [sp, #4]
str r0, [sp, #8]
ldr r0, _0217133c ; =0xffffeaab
ldr sb, _02171340 ; =0x00000266
rsb fp, r0, #0
_02170fd8:
cmp r7, r5
moveq r0, #0
streq r0, [sp, #0x8c]
movne r0, #1
strne r0, [sp, #0x8c]
ldr r0, _02171344 ; =data_027e0ffc
mov r1, #0x2dc
add r2, r8, #0x48
mov r3, #0
bl func_ov00_020ceacc
add r0, sp, #4
str r0, [sp]
ldr r0, _02171348 ; =data_027e0fe8
ldr r1, _0217134c ; =0x43425332
ldr r0, [r0]
add r2, sp, #0x5c
add r3, sp, #0x68
bl func_ov00_020c4048
cmp r0, #0
blt _021710ec
ldr r0, _02171350 ; =data_027e0fe4
add r1, sp, #4
ldr r0, [r0]
bl func_ov00_020c3674
cmp r5, #0
moveq r6, #0
beq _02171058
cmp r5, #1
moveq r6, fp
beq _02171058
cmp r5, #2
ldreq r6, _0217133c ; =0xffffeaab
_02171058:
mov r1, r6, lsl #0x10
mov r1, r1, lsr #0x10
mov r1, r1, asr #0x4
mov r2, r1, lsl #0x1
mov r1, r2, lsl #0x1
ldrsh ip, [r4, r1]
mov r1, #0
add r2, r4, r2, lsl #1
umull sl, lr, ip, sb
mla lr, ip, r1, lr
mov r3, ip, asr #0x1f
mla lr, r3, sb, lr
adds r3, sl, #0x800
adc r1, lr, #0
mov r3, r3, lsr #0xc
orr r3, r3, r1, lsl #20
str r3, [r0, #0x60]
mov r1, #0
str r1, [r0, #0x64]
ldrsh ip, [r2, #2]
mov r3, #0
umull r2, r1, ip, sb
mla r1, ip, r3, r1
mov sl, ip, asr #0x1f
adds r3, r2, #0x800
mla r1, sl, sb, r1
adc r1, r1, #0
mov r2, r3, lsr #0xc
orr r2, r2, r1, lsl #20
str r2, [r0, #0x68]
cmp r7, r5
bne _021710f8
ldr r0, [sp, #4]
str r0, [r8, #0x6dc]
ldr r0, [sp, #8]
str r0, [r8, #0x6e0]
b _021710f8
_021710ec:
add sp, sp, #0x94
mov r0, #0
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
_021710f8:
add r5, r5, #1
cmp r5, #3
blt _02170fd8
add sp, sp, #0x94
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
_02171110:
add r0, sp, #0x24
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x24
str r1, [sp, #0x40]
str r1, [sp, #0x44]
bl func_ov00_020c3348
ldr r1, [r8, #8]
add r0, r8, #0x600
str r1, [sp, #0x40]
ldr r1, [r8, #0xc]
str r1, [sp, #0x44]
ldrsh r0, [r0, #0xa0]
cmp r0, #4
addls pc, pc, r0, lsl #2
b _02171180
_02171150: ; jump table
b _02171180 ; case 0
b _0217117c ; case 1
b _02171174 ; case 2
b _0217116c ; case 3
b _02171164 ; case 4
_02171164:
mov r4, #0
b _02171180
_0217116c:
mov r4, #0x19
b _02171180
_02171174:
mov r4, #0x1e
b _02171180
_0217117c:
mov r4, #0x32
_02171180:
ldr r1, _02171338 ; =data_027e0764
mov r3, #0
ldr r2, [r1]
ldmib r1, {r0, r5}
umull r7, r6, r5, r2
mla r6, r5, r0, r6
ldr r0, [r1, #0xc]
ldr r5, [r1, #0x10]
mla r6, r0, r2, r6
ldr r0, [r1, #0x14]
adds r7, r5, r7
adc r6, r0, r6
mov r0, #0x64
umull r2, r5, r6, r0
str r7, [r1]
mla r5, r6, r3, r5
mov r2, r3
mla r5, r2, r0, r5
str r6, [r1, #4]
cmp r5, r4
bge _021711f0
mov r4, #1
ldr r0, _02171344 ; =data_027e0ffc
rsb r1, r4, #0x2dc
add r2, r8, #0x48
str r4, [sp, #0x48]
bl func_ov00_020ceacc
b _02171200
_021711f0:
ldr r0, _02171344 ; =data_027e0ffc
ldr r1, _02171354 ; =0x000002da
add r2, r8, #0x48
bl func_ov00_020ceacc
_02171200:
ldr r0, _02171358 ; =data_ov25_0217934c
add r3, sp, #0xc
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldrh r0, [r8, #0x78]
ldr r4, _02171334 ; =data_02050f54
ldr r1, [r8, #0x48]
mov r0, r0, asr #0x4
mov r2, r0, lsl #0x1
mov r3, r2, lsl #0x1
add r0, r2, #1
mov r2, r0, lsl #0x1
str r1, [sp, #0x18]
ldr r7, [r8, #0x4c]
ldrsh r3, [r4, r3]
ldrsh r6, [r4, r2]
ldr r0, [sp, #0x14]
str r7, [sp, #0x1c]
smull r2, r5, r0, r3
adds fp, r2, #0x800
ldr r2, [sp, #0x10]
rsb r4, r3, #0
add sl, r7, r2
ldr r2, [r8, #0x50]
adc r7, r5, #0
str sl, [sp, #0x1c]
smull r5, sl, r0, r6
mov r0, fp, lsr #0xc
orr r0, r0, r7, lsl #20
ldr sb, [sp, #0xc]
adds fp, r5, #0x800
add r1, r1, r0
smull r7, r6, sb, r6
smull r5, r4, sb, r4
adc r0, sl, #0
mov sb, fp, lsr #0xc
orr sb, sb, r0, lsl #20
adds r7, r7, #0x800
add r0, r2, sb
adc r6, r6, #0
adds r2, r5, #0x800
mov r5, r7, lsr #0xc
orr r5, r5, r6, lsl #20
add r5, r1, r5
adc r1, r4, #0
mov r2, r2, lsr #0xc
orr r2, r2, r1, lsl #20
add r0, r0, r2
add r3, r8, #0x2dc
str r0, [sp, #0x20]
add r1, r3, #0x400
str r5, [sp, #0x18]
str r1, [sp]
ldr r0, _02171348 ; =data_027e0fe8
ldr r1, _0217134c ; =0x43425332
ldr r0, [r0]
add r2, sp, #0x18
add r3, sp, #0x24
bl func_ov00_020c4048
cmp r0, #0
addlt sp, sp, #0x94
movlt r0, #0
ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr r0, _02171350 ; =data_027e0fe4
add r1, r8, #0x2dc
ldr r0, [r0]
add r1, r1, #0x400
bl func_ov00_020c3674
mov r2, #0
str r2, [r0, #0x60]
ldr r1, _02171340 ; =0x00000266
str r2, [r0, #0x64]
str r1, [r0, #0x68]
mov r0, #1
add sp, sp, #0x94
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov25_02170e64
_02171330: .word data_ov25_02179340
_02171334: .word data_02050f54
_02171338: .word data_027e0764
_0217133c: .word 0xffffeaab
_02171340: .word 0x00000266
_02171344: .word data_027e0ffc
_02171348: .word data_027e0fe8
_0217134c: .word 0x43425332
_02171350: .word data_027e0fe4
_02171354: .word 0x000002da
_02171358: .word data_ov25_0217934c
.global func_ov25_0217135c
arm_func_start func_ov25_0217135c
func_ov25_0217135c: ; 0x0217135c
stmdb sp!, {r3, lr}
ldr r2, _02171384 ; =data_027e0fe4
add r1, r0, #0x2dc
ldr r0, [r2]
add r1, r1, #0x400
bl func_ov00_020c3674
cmp r0, #0
moveq r0, #1
movne r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_0217135c
_02171384: .word data_027e0fe4
.global func_ov25_02171388
arm_func_start func_ov25_02171388
func_ov25_02171388: ; 0x02171388
stmdb sp!, {r3, lr}
ldr r2, _021713c0 ; =data_027e0fe4
add r1, r0, #0x2dc
ldr r0, [r2]
add r1, r1, #0x400
bl func_ov00_020c3674
cmp r0, #0
beq _021713b8
bl func_ov25_02171f00
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
_021713b8:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02171388
_021713c0: .word data_027e0fe4
.global func_ov25_021713c4
arm_func_start func_ov25_021713c4
func_ov25_021713c4: ; 0x021713c4
stmdb sp!, {r3, r4, r5, r6, r7, lr}
ldr r2, _02171474 ; =data_027e0fe4
mov r4, r0
add r1, r4, #0x2dc
ldr r0, [r2]
add r1, r1, #0x400
bl func_ov00_020c3674
ldr r1, [r0, #0x48]
ldr r2, _02171478 ; =data_027e0764
str r1, [r4, #0x694]
ldr r3, [r0, #0x4c]
ldr r1, _0217147c ; =0x00004001
str r3, [r4, #0x698]
ldr r3, [r0, #0x50]
mov r0, #0
str r3, [r4, #0x69c]
ldr ip, [r2]
ldmib r2, {r3, lr}
umull r6, r5, lr, ip
mla r5, lr, r3, r5
ldr r3, [r2, #0xc]
ldr r7, [r2, #0x10]
mla r5, r3, ip, r5
ldr lr, [r2, #0x14]
adds r6, r7, r6
adc r5, lr, r5
umull r3, ip, r5, r1
mla ip, r5, r0, ip
mla ip, r0, r1, ip
str r6, [r2]
str r5, [r2, #4]
ldr r1, [r4, #0x50]
sub r0, ip, #0x2000
add r1, r1, r0
str r1, [r4, #0x69c]
ldr r0, [r4, #0x684]
cmp r1, r0
strlt r0, [r4, #0x69c]
ldr r1, [r4, #0x684]
ldr r0, [r4, #0x69c]
add r1, r1, #0x4000
cmp r0, r1
strgt r1, [r4, #0x69c]
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov25_021713c4
_02171474: .word data_027e0fe4
_02171478: .word data_027e0764
_0217147c: .word 0x00004001
.global func_ov25_02171480
arm_func_start func_ov25_02171480
func_ov25_02171480: ; 0x02171480
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x44
mov r4, r0
add r0, sp, #0x18
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x18
str r1, [sp, #0x34]
str r1, [sp, #0x38]
bl func_ov00_020c3348
ldr r1, [r4, #8]
add r0, r4, #0x48
str r1, [sp, #0x34]
ldr r1, [r4, #0xc]
add r3, sp, #0xc
str r1, [sp, #0x38]
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
mvn r0, #0
mov r2, r3
str r0, [sp, #4]
str r0, [sp, #8]
add r1, sp, #4
str r1, [sp]
ldr r0, _02171500 ; =data_027e0fe8
ldr r1, _02171504 ; =0x43425333
ldr r0, [r0]
add r3, sp, #0x18
bl func_ov00_020c4048
mov r0, #1
add sp, sp, #0x44
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_02171480
_02171500: .word data_027e0fe8
_02171504: .word 0x43425333
.global func_ov25_02171508
arm_func_start func_ov25_02171508
func_ov25_02171508: ; 0x02171508
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x38
ldr r2, _021715dc ; =data_027e0e60
mov r5, r0
ldr r0, [r2]
mov r4, r1
mov r1, #1
mov r2, #3
bl func_ov00_02084be0
cmp r0, #0
addne sp, sp, #0x38
movne r0, #0
ldmneia sp!, {r3, r4, r5, pc}
add r0, sp, #0xc
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0xc
str r1, [sp, #0x28]
str r1, [sp, #0x2c]
bl func_ov00_020c3348
ldr r0, [r5, #8]
mov r2, #1
str r0, [sp, #0x28]
ldr ip, [r5, #0xc]
sub r0, r2, #2
mov r3, #3
strb r3, [sp, #0x14]
add r1, sp, #4
str ip, [sp, #0x2c]
strb r2, [sp, #0x16]
str r2, [sp, #0x30]
str r0, [sp, #4]
str r0, [sp, #8]
str r1, [sp]
ldr r0, _021715e0 ; =data_027e0fe8
ldr r1, _021715e4 ; =0x4e4b4559
ldr r0, [r0]
add r3, sp, #0xc
mov r2, r4
bl func_ov00_020c4048
ldr r0, _021715e8 ; =data_027e0fe4
add r1, sp, #4
ldr r0, [r0]
bl func_ov00_020c3674
cmp r0, #0
addeq sp, sp, #0x38
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
mov r1, #1
strb r1, [r0, #0x1c4]
mov r0, r1
add sp, sp, #0x38
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_02171508
_021715dc: .word data_027e0e60
_021715e0: .word data_027e0fe8
_021715e4: .word 0x4e4b4559
_021715e8: .word data_027e0fe4
.global func_ov25_021715ec
arm_func_start func_ov25_021715ec
func_ov25_021715ec: ; 0x021715ec
stmdb sp!, {r4, lr}
mov r4, r0
cmp r1, #1
bne _02171630
add r0, r4, #0x21c
mov r1, #9
bl func_ov00_020c5d74
ldr ip, [r4, #0x22c]
mov lr, #0x1000
ldr r0, _02171638 ; =data_027e0ffc
add r2, r4, #0x48
mov r1, #0x2e4
mov r3, #0
str lr, [ip, #0x10]
bl func_ov00_020ceacc
mov r0, #1
ldmia sp!, {r4, pc}
_02171630:
mov r0, #0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_021715ec
_02171638: .word data_027e0ffc
.global func_ov25_0217163c
arm_func_start func_ov25_0217163c
func_ov25_0217163c: ; 0x0217163c
stmdb sp!, {r3, lr}
cmp r2, #0
ldmneia sp!, {r3, pc}
bl func_ov25_02170e64
ldmia sp!, {r3, pc}
arm_func_end func_ov25_0217163c
.global func_ov25_02171650
arm_func_start func_ov25_02171650
func_ov25_02171650: ; 0x02171650
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x6f0
bl func_ov00_020d1980
add r0, r4, #0x670
bl func_ov00_020b7d74
add r0, r4, #0x264
ldr r3, _021716f8 ; =func_ov00_020b7d74
add r0, r0, #0x400
mov r1, #3
mov r2, #4
bl func_0204f754
add r0, r4, #0x19c
add r0, r0, #0x400
blx func_ov00_020a9b6c
add r0, r4, #0x540
blx func_ov00_020a95a4
add r0, r4, #0x4a0
blx func_ov00_020a9b6c
add r0, r4, #0x420
blx func_ov00_020a9b6c
add r0, r4, #0x3c4
blx func_ov00_020a95a4
add r0, r4, #0x324
blx func_ov00_020a9b6c
add r0, r4, #0x2a4
blx func_ov00_020a9b6c
add r0, r4, #0x23c
blx func_ov00_020a95ec
add r0, r4, #0x1d8
bl func_ov00_02081f4c
add r0, r4, #0x1c8
mov r1, #2
mov r2, #4
ldr r3, _021716f8 ; =func_ov00_020b7d74
bl func_0204f754
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02171650
_021716f8: .word func_ov00_020b7d74
.global func_ov25_021716fc
arm_func_start func_ov25_021716fc
func_ov25_021716fc: ; 0x021716fc
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x6f0
bl func_ov00_020d1980
add r0, r4, #0x670
bl func_ov00_020b7d74
add r0, r4, #0x264
ldr r3, _0217179c ; =func_ov00_020b7d74
add r0, r0, #0x400
mov r1, #3
mov r2, #4
bl func_0204f754
add r0, r4, #0x19c
add r0, r0, #0x400
blx func_ov00_020a9b6c
add r0, r4, #0x540
blx func_ov00_020a95a4
add r0, r4, #0x4a0
blx func_ov00_020a9b6c
add r0, r4, #0x420
blx func_ov00_020a9b6c
add r0, r4, #0x3c4
blx func_ov00_020a95a4
add r0, r4, #0x324
blx func_ov00_020a9b6c
add r0, r4, #0x2a4
blx func_ov00_020a9b6c
add r0, r4, #0x23c
blx func_ov00_020a95ec
add r0, r4, #0x1d8
bl func_ov00_02081f4c
add r0, r4, #0x1c8
mov r1, #2
mov r2, #4
ldr r3, _0217179c ; =func_ov00_020b7d74
bl func_0204f754
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_021716fc
_0217179c: .word func_ov00_020b7d74
.global func_ov25_021717a0
arm_func_start func_ov25_021717a0
func_ov25_021717a0: ; 0x021717a0
bx lr
arm_func_end func_ov25_021717a0
.global func_ov25_021717a4
arm_func_start func_ov25_021717a4
func_ov25_021717a4: ; 0x021717a4
stmdb sp!, {r4, lr}
mov r1, #0
mov r4, r0
blx func_ov00_020a956c
ldr r1, _021717c4 ; =data_ov25_02179e04
mov r0, r4
str r1, [r4]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_021717a4
_021717c4: .word data_ov25_02179e04
.global func_ov25_021717c8
arm_func_start func_ov25_021717c8
func_ov25_021717c8: ; 0x021717c8
ldr ip, _021717d8 ; =func_ov00_020a9998
mov r1, #6
mov r2, #3
bx ip
.align 2, 0
arm_func_end func_ov25_021717c8
_021717d8: .word func_ov00_020a9998
.global func_ov25_021717dc
arm_func_start func_ov25_021717dc
func_ov25_021717dc: ; 0x021717dc
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x30
mov r5, r1
ldr r2, [r5, #4]
ldr r1, _0217185c ; =data_ov25_02179368
ldr r2, [r2, #4]
mov r4, r0
add r0, r2, #0x40
bl func_0201e388
ldr r1, [r5, #8]
tst r1, #0x10
ldrneb r1, [r5, #0xae]
mvneq r1, #0
cmp r1, r0
addne sp, sp, #0x30
ldmneia sp!, {r3, r4, r5, pc}
add r0, sp, #0
mov r1, #0
bl func_0201b1bc
ldr r2, [sp, #0x2c]
ldr r1, [sp, #0x28]
ldr r0, [sp, #0x24]
str r0, [r4, #0x5c]
str r1, [r4, #0x60]
str r2, [r4, #0x64]
bl func_02018450
mov r1, r0
add r0, r4, #0x5c
mov r2, r0
bl func_01ff9158
add sp, sp, #0x30
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_021717dc
_0217185c: .word data_ov25_02179368
.global func_ov25_02171860
arm_func_start func_ov25_02171860
func_ov25_02171860: ; 0x02171860
ldr r2, [r0, #0x5c]
str r2, [r1]
ldr r2, [r0, #0x60]
str r2, [r1, #4]
ldr r0, [r0, #0x64]
str r0, [r1, #8]
bx lr
arm_func_end func_ov25_02171860
.global func_ov25_0217187c
arm_func_start func_ov25_0217187c
func_ov25_0217187c: ; 0x0217187c
stmdb sp!, {r3, r4, r5, r6, r7, lr}
sub sp, sp, #0x10
ldr r2, _02171974 ; =data_ov25_0217937c
mov r4, r1
mov r5, r0
mov r1, #0x7f
bl func_ov00_020c5c98
ldr r1, [r5, #4]
add r0, r5, #0x20
str r1, [r5, #0x110]
bl func_ov25_021717c8
ldr r1, _02171978 ; =data_027e0fec
ldr r0, _0217197c ; =data_ov25_02179d94
ldr r1, [r1]
add r1, r1, #0x1000
ldr r7, [r1, #0xbd0]
blx func_02016fe8
mov r6, r0
ldr r1, _02171980 ; =data_ov25_02179da8
add r0, sp, #0
mov r2, #0x10
bl func_020470ec
mov r0, r6
add r1, sp, #0
bl func_0201e544
mov r1, r0
mov r2, r7
add r0, r5, #0x108
mov r3, #1
bl func_ov00_020c0cc8
add r0, r5, #0x20
ldr r2, [r0]
add r1, r5, #0x108
ldr r2, [r2, #0x24]
blx r2
cmp r4, #3
addls pc, pc, r4, lsl #2
b _0217196c
_02171914: ; jump table
b _02171924 ; case 0
b _02171938 ; case 1
b _0217194c ; case 2
b _02171960 ; case 3
_02171924:
add r0, r5, #0x108
mov r1, #0
bl func_ov00_020c0e24
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02171938:
add r0, r5, #0x108
mov r1, #0x1000
bl func_ov00_020c0e24
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0217194c:
add r0, r5, #0x108
mov r1, #0x2000
bl func_ov00_020c0e24
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_02171960:
add r0, r5, #0x108
mov r1, #0x3000
bl func_ov00_020c0e24
_0217196c:
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov25_0217187c
_02171974: .word data_ov25_0217937c
_02171978: .word data_027e0fec
_0217197c: .word data_ov25_02179d94
_02171980: .word data_ov25_02179da8
.global func_ov25_02171984
arm_func_start func_ov25_02171984
func_ov25_02171984: ; 0x02171984
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x14]
cmp r0, #3
beq _021719d0
cmp r0, #4
ldmneia sp!, {r4, pc}
add r0, r4, #0x94
mov r1, #0x15000
bl func_0202e310
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #0x1c]
mov r1, r4
ldr r3, [r0]
mov r2, #0
ldr r3, [r3, #0xb0]
blx r3
ldmia sp!, {r4, pc}
_021719d0:
add r0, r4, #0x94
mov r1, #0x1000
bl func_0202e310
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r2, [r4, #0x1c]
ldr r0, _02171a00 ; =data_027e0ffc
ldr r1, _02171a04 ; =0x000002d7
add r2, r2, #0x48
mov r3, #0
bl func_ov00_020ceacc
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02171984
_02171a00: .word data_027e0ffc
_02171a04: .word 0x000002d7
.global func_ov25_02171a08
arm_func_start func_ov25_02171a08
func_ov25_02171a08: ; 0x02171a08
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x10
ldr r2, _02171aa0 ; =data_ov25_021794f8
mov r5, r0
mov r1, #0x80
bl func_ov00_020c5c98
ldr r1, [r5, #4]
ldr r0, _02171aa4 ; =data_ov25_02179db0
str r1, [r5, #0x104]
blx func_02016fe8
mov r4, r0
ldr r1, _02171aa8 ; =data_ov25_02179dc8
add r0, sp, #0
mov r2, #0x10
bl func_020470ec
mov r0, r4
add r1, sp, #0
bl func_0201e544
mov r2, #0
mov r1, r0
add r0, r5, #0xfc
mov r3, r2
bl func_ov00_020c0cc8
mov r0, #0x1000
str r0, [r5, #0x10c]
add r0, r5, #0x20
ldr r2, [r0]
add r1, r5, #0xfc
ldr r2, [r2, #0x24]
blx r2
mov r0, r5
mov r1, #0
bl func_ov00_020c5d74
ldr r0, [r5, #0x10]
mov r1, #0x1000
str r1, [r0, #0x10]
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_02171a08
_02171aa0: .word data_ov25_021794f8
_02171aa4: .word data_ov25_02179db0
_02171aa8: .word data_ov25_02179dc8
.global func_ov25_02171aac
arm_func_start func_ov25_02171aac
func_ov25_02171aac: ; 0x02171aac
ldr ip, _02171ab8 ; =func_ov00_020c0e04
add r0, r0, #0xfc
bx ip
.align 2, 0
arm_func_end func_ov25_02171aac
_02171ab8: .word func_ov00_020c0e04
.global func_ov25_02171abc
arm_func_start func_ov25_02171abc
func_ov25_02171abc: ; 0x02171abc
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
sub sp, sp, #0x54
mov r5, r0
mov r0, r2
add r2, sp, #0x24
mov r4, r1
bl func_01ff9bf8
add r0, sp, #0x24
add r1, sp, #0
bl func_01ff9d4c
ldr r1, [sp]
ldr r6, [sp, #8]
rsb r2, r1, #0
add r0, sp, #0x18
mov r3, #0
mov r1, r0
str r6, [sp, #0x18]
str r3, [sp, #0x1c]
str r2, [sp, #0x20]
bl func_01ff9d4c
add r0, sp, #0
add r1, sp, #0x18
add r2, sp, #0xc
bl func_01ff9c68
ldr r0, [sp, #0x1c]
ldr r1, [sp, #0x18]
str r0, [sp, #0x34]
ldr r0, [sp, #0xc]
str r1, [sp, #0x30]
ldr r1, [sp, #0x20]
str r0, [sp, #0x3c]
ldr r0, [sp, #0x14]
str r1, [sp, #0x38]
ldr r1, [sp, #0x10]
str r0, [sp, #0x44]
mov r0, #0x7000
str r1, [sp, #0x40]
bl func_01ff992c
ldr r6, [sp, #0x24]
ldr lr, [sp, #0x28]
umull r8, r7, r0, r6
mov r3, r6, asr #0x1f
mla r7, r0, r3, r7
mov r2, r4
mla r7, r1, r6, r7
adds r8, r8, #0x80000000
adc r3, r7, #0
umull r7, r6, r0, lr
mov ip, lr, asr #0x1f
mla r6, r0, ip, r6
ldr r4, [sp, #0x2c]
str r3, [sp, #0x48]
mla r6, r1, lr, r6
adds r7, r7, #0x80000000
adc r6, r6, #0
umull lr, ip, r0, r4
mov r3, r4, asr #0x1f
mla ip, r0, r3, ip
mla ip, r1, r4, ip
adds lr, lr, #0x80000000
adc r0, ip, #0
str r0, [sp, #0x50]
mov r0, r5
add r1, sp, #0x30
str r6, [sp, #0x4c]
bl func_ov00_020c5e88
add sp, sp, #0x54
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
arm_func_end func_ov25_02171abc
.global func_ov25_02171bcc
arm_func_start func_ov25_02171bcc
func_ov25_02171bcc: ; 0x02171bcc
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a95ec
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02171bcc
.global func_ov25_02171be8
arm_func_start func_ov25_02171be8
func_ov25_02171be8: ; 0x02171be8
ldr ip, _02171bf8 ; =func_020197bc
ldr r0, [r0, #4]
mov r1, #0
bx ip
.align 2, 0
arm_func_end func_ov25_02171be8
_02171bf8: .word func_020197bc
.global func_ov25_02171bfc
arm_func_start func_ov25_02171bfc
func_ov25_02171bfc: ; 0x02171bfc
stmdb sp!, {r3, lr}
ldr r1, _02171c28 ; =data_027e0fe0
mov r0, #0x180
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov25_02171cb0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02171bfc
_02171c28: .word data_027e0fe0
.global func_ov25_02171c2c
arm_func_start func_ov25_02171c2c
func_ov25_02171c2c: ; 0x02171c2c
stmdb sp!, {r4, lr}
sub sp, sp, #8
mov r2, #0
str r2, [sp]
ldr r1, _02171cac ; =data_027e0e58
mov r4, r0
str r2, [sp, #4]
ldr r0, [r1]
mov r2, r4
mov r1, #0x50
mov r3, #2
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
ldr r0, _02171cac ; =data_027e0e58
str r1, [sp, #4]
ldr r0, [r0]
mov r2, r4
mov r1, #0x51
mov r3, #2
bl func_ov00_0207c1b0
mov r1, #0
str r1, [sp]
ldr r0, _02171cac ; =data_027e0e58
str r1, [sp, #4]
ldr r0, [r0]
mov r2, r4
mov r1, #0x52
mov r3, #2
bl func_ov00_0207c1b0
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02171c2c
_02171cac: .word data_027e0e58
.global func_ov25_02171cb0
arm_func_start func_ov25_02171cb0
func_ov25_02171cb0: ; 0x02171cb0
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
bl func_ov00_020c1554
ldr r0, _02171d20 ; =data_ov25_02179e4c
ldr ip, _02171d24 ; =func_ov00_020b7d74
str r0, [r4]
ldr r3, _02171d28 ; =func_ov25_0216dff4
add r0, r4, #0x158
mov r1, #3
mov r2, #4
str ip, [sp]
bl func_0204f614
ldr ip, _02171d24 ; =func_ov00_020b7d74
ldr r3, _02171d28 ; =func_ov25_0216dff4
add r0, r4, #0x164
mov r1, #2
mov r2, #4
str ip, [sp]
bl func_0204f614
mov r0, #0
str r0, [r4, #0x16c]
sub r1, r0, #1
str r1, [r4, #0x174]
mov r0, r4
str r1, [r4, #0x178]
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_02171cb0
_02171d20: .word data_ov25_02179e4c
_02171d24: .word func_ov00_020b7d74
_02171d28: .word func_ov25_0216dff4
.global func_ov25_02171d2c
arm_func_start func_ov25_02171d2c
func_ov25_02171d2c: ; 0x02171d2c
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
mov r4, r0
mov r2, #0
str r2, [r4, #0x7c]
str r2, [r4, #0x80]
ldr r0, _02171e28 ; =0x000004cd
str r2, [r4, #0x84]
str r0, [r4, #0x88]
str r2, [r4, #0x8c]
str r2, [r4, #0x90]
str r2, [r4, #0x94]
str r0, [r4, #0x98]
str r2, [r4, #0xa8]
str r2, [r4, #0xac]
str r2, [r4, #0xb0]
add r0, r0, #0x1000
str r0, [r4, #0xb4]
mov r0, #1
strh r0, [r4, #0x9c]
mov r1, #2
strb r1, [r4, #0x124]
strb r0, [r4, #0x125]
add r0, r4, #0x100
strh r2, [r0, #0x7c]
ldr r0, [r4, #0x140]
cmp r0, #1
bne _02171de4
add r0, r4, #0x48
str r0, [sp]
ldr r0, _02171e2c ; =data_027e0e58
str r1, [sp, #4]
ldr r0, [r0]
add r1, r4, #0x164
mov r2, #0x53
mov r3, #0x56
bl func_ov00_0207c2e8
mov r1, #2
ldr r0, _02171e2c ; =data_027e0e58
str r1, [sp]
ldr r0, [r0]
add r1, r4, #0x16c
add r3, r4, #0x48
mov r2, #0x54
bl func_ov00_0207c1f8
b _02171e10
_02171de4:
mov r0, #0x5c
str r0, [sp]
add r0, r4, #0x48
str r0, [sp, #4]
ldr r0, _02171e2c ; =data_027e0e58
str r1, [sp, #8]
ldr r0, [r0]
add r1, r4, #0x158
mov r2, #0x5a
mov r3, #0x5b
bl func_ov00_0207c31c
_02171e10:
mov r0, r4
mov r1, #0
bl func_ov25_02171fe8
mov r0, #1
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_02171d2c
_02171e28: .word 0x000004cd
_02171e2c: .word data_027e0e58
.global func_ov25_02171e30
arm_func_start func_ov25_02171e30
func_ov25_02171e30: ; 0x02171e30
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x48
add r1, r4, #0x60
mov r2, r0
bl func_01ff9bc4
mov r0, r4
mov r1, #0
bl func_01fffd04
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02171e30
.global func_ov25_02171e58
arm_func_start func_ov25_02171e58
func_ov25_02171e58: ; 0x02171e58
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x48
add r1, r4, #0x60
mov r2, r0
bl func_01ff9bc4
mov r0, r4
mov r1, #0
bl func_01fffd04
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02171e58
.global func_ov25_02171e80
arm_func_start func_ov25_02171e80
func_ov25_02171e80: ; 0x02171e80
ldr r2, [r1]
ldr ip, _02171ea4 ; =func_ov25_02171fe8
str r2, [r0, #0x60]
ldr r2, [r1, #4]
str r2, [r0, #0x64]
ldr r2, [r1, #8]
mov r1, #0
str r2, [r0, #0x68]
bx ip
.align 2, 0
arm_func_end func_ov25_02171e80
_02171ea4: .word func_ov25_02171fe8
.global func_ov25_02171ea8
arm_func_start func_ov25_02171ea8
func_ov25_02171ea8: ; 0x02171ea8
ldr r3, [r1]
add r2, r0, #0x100
str r3, [r0, #0x174]
ldr r3, [r1, #4]
ldr ip, _02171ed4 ; =func_ov25_02171fe8
str r3, [r0, #0x178]
ldrsh r3, [r2, #0x7e]
mov r1, #2
sub r3, r3, #1
strh r3, [r2, #0x7e]
bx ip
.align 2, 0
arm_func_end func_ov25_02171ea8
_02171ed4: .word func_ov25_02171fe8
.global func_ov25_02171ed8
arm_func_start func_ov25_02171ed8
func_ov25_02171ed8: ; 0x02171ed8
ldr r2, [r0, #0x130]
cmp r2, #2
movne r0, #0
bxne lr
ldr r2, [r0, #0x174]
str r2, [r1]
ldr r2, [r0, #0x178]
mov r0, #1
str r2, [r1, #4]
bx lr
arm_func_end func_ov25_02171ed8
.global func_ov25_02171f00
arm_func_start func_ov25_02171f00
func_ov25_02171f00: ; 0x02171f00
ldr r0, [r0, #0x130]
cmp r0, #1
moveq r0, #1
movne r0, #0
bx lr
arm_func_end func_ov25_02171f00
.global func_ov25_02171f14
arm_func_start func_ov25_02171f14
func_ov25_02171f14: ; 0x02171f14
add r0, r0, #0x100
ldrsh r0, [r0, #0x7e]
cmp r0, #0
movlt r0, #1
movge r0, #0
bx lr
arm_func_end func_ov25_02171f14
.global func_ov25_02171f2c
arm_func_start func_ov25_02171f2c
func_ov25_02171f2c: ; 0x02171f2c
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
add r5, r6, #0x164
add r4, r6, #0x16c
cmp r5, r4
beq _02171f58
_02171f44:
mov r0, r5
bl func_ov00_020b7e6c
add r5, r5, #4
cmp r5, r4
bne _02171f44
_02171f58:
ldr r0, _02171f98 ; =data_027e0e58
add r1, r6, #0x16c
ldr r0, [r0]
bl func_ov00_0207c444
add r5, r6, #0x158
add r4, r6, #0x164
cmp r5, r4
beq _02171f8c
_02171f78:
mov r0, r5
bl func_ov00_020b7e6c
add r5, r5, #4
cmp r5, r4
bne _02171f78
_02171f8c:
mov r0, r6
bl func_ov00_020c3180
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov25_02171f2c
_02171f98: .word data_027e0e58
.global func_ov25_02171f9c
arm_func_start func_ov25_02171f9c
func_ov25_02171f9c: ; 0x02171f9c
stmdb sp!, {r4, lr}
ldr r1, [r1, #0x10]
mov r4, r0
cmp r1, #0
bne _02171fe0
ldr r1, [r4, #0x140]
cmp r1, #1
bne _02171fd0
bl func_ov25_021726d4
mov r0, r4
bl func_ov25_02171f2c
mov r0, #1
ldmia sp!, {r4, pc}
_02171fd0:
mov r1, #1
bl func_ov25_02171fe8
mov r0, #1
ldmia sp!, {r4, pc}
_02171fe0:
mov r0, #0
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02171f9c
.global func_ov25_02171fe8
arm_func_start func_ov25_02171fe8
func_ov25_02171fe8: ; 0x02171fe8
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
mov r3, #0
str r3, [r6, #0x138]
ldr r0, [r6, #0x130]
cmp r1, #0
str r0, [r6, #0x134]
str r1, [r6, #0x130]
beq _02172020
cmp r1, #1
beq _0217204c
cmp r1, #2
beq _0217210c
ldmia sp!, {r4, r5, r6, pc}
_02172020:
ldr r1, [r6, #0x134]
sub r0, r3, #1
cmp r1, r0
ldmeqia sp!, {r4, r5, r6, pc}
ldr r0, _021721d0 ; =data_027e0ffc
add r2, r6, #0x48
mov r1, #0x2e0
bl func_ov00_020ceacc
add r0, r6, #0x48
bl func_ov25_02171c2c
ldmia sp!, {r4, r5, r6, pc}
_0217204c:
ldr r0, _021721d0 ; =data_027e0ffc
ldr r1, _021721d4 ; =0x000002df
add r2, r6, #0x48
bl func_ov00_020ceacc
add r0, r6, #0x48
bl func_ov25_02171c2c
add r0, r6, #0x60
bl func_01ff9cec
ldr r1, _021721d8 ; =0x0000119a
mov r2, #0
umull r4, r3, r0, r1
mla r3, r0, r2, r3
mov r0, r0, asr #0x1f
mla r3, r0, r1, r3
adds r4, r4, #0x800
adc r0, r3, #0
mov r1, r4, lsr #0xc
orr r1, r1, r0, lsl #20
mov r0, #0
cmp r1, #0x400
movge r1, #0x400
str r0, [r6, #0x60]
str r0, [r6, #0x64]
rsb r1, r1, #0
ldr r2, _021721dc ; =data_027e0764
str r1, [r6, #0x68]
ldr r3, [r2]
ldmib r2, {r1, r4}
umull ip, r5, r4, r3
mla r5, r4, r1, r5
ldr r1, [r2, #0xc]
ldr lr, [r2, #0x10]
mla r5, r1, r3, r5
ldr r4, [r2, #0x14]
adds ip, lr, ip
adc r5, r4, r5
mov r1, #9
umull r3, r4, r5, r1
mla r4, r5, r0, r4
mla r4, r0, r1, r4
str ip, [r2]
str r5, [r2, #4]
add r0, r6, #0x100
strh r4, [r0, #0x7e]
ldrsh r1, [r0, #0x7c]
add r1, r1, #1
strh r1, [r0, #0x7c]
ldmia sp!, {r4, r5, r6, pc}
_0217210c:
ldr r0, _021721d0 ; =data_027e0ffc
add r2, r6, #0x48
mov r1, #0x2e0
bl func_ov00_020ceacc
add r0, r6, #0x48
bl func_ov25_02171c2c
ldr r0, _021721e0 ; =data_027e0fe4
add r1, r6, #0x174
ldr r0, [r0]
bl func_ov00_020c3674
mov r4, r0
add r0, r6, #0x60
bl func_01ff9cec
ldr r1, _021721d8 ; =0x0000119a
mov r2, #0
umull r5, r3, r0, r1
mla r3, r0, r2, r3
mov r0, r0, asr #0x1f
mla r3, r0, r1, r3
adds r5, r5, #0x800
adc r0, r3, #0
mov r5, r5, lsr #0xc
orr r5, r5, r0, lsl #20
cmp r5, #0x400
add r0, r4, #0x48
add r1, r6, #0x48
add r2, r6, #0x60
movge r5, #0x400
bl func_01ff9bf8
mov r0, #0
str r0, [r6, #0x64]
add r0, r6, #0x60
mov r1, r0
bl func_01ff9d4c
ldr r0, [r6, #0x60]
smull r1, r0, r5, r0
adds r1, r1, #0x800
adc r0, r0, #0
mov r1, r1, lsr #0xc
orr r1, r1, r0, lsl #20
str r1, [r6, #0x60]
ldr r0, [r6, #0x68]
smull r1, r0, r5, r0
adds r1, r1, #0x800
adc r0, r0, #0
mov r1, r1, lsr #0xc
orr r1, r1, r0, lsl #20
str r1, [r6, #0x68]
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov25_02171fe8
_021721d0: .word data_027e0ffc
_021721d4: .word 0x000002df
_021721d8: .word 0x0000119a
_021721dc: .word data_027e0764
_021721e0: .word data_027e0fe4
.global func_ov25_021721e4
arm_func_start func_ov25_021721e4
func_ov25_021721e4: ; 0x021721e4
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x14
mov r5, r0
mov r4, r1
bl func_ov00_020c313c
cmp r0, #0
beq _02172370
ldr r1, [r5, #0x48]
mov r0, r5
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, #0
beq _02172240
cmp r0, #1
beq _021722f8
cmp r0, #2
beq _02172354
b _02172370
_02172240:
mov r0, r5
bl func_ov25_02171e30
ldr r2, _021724d8 ; =0x0000099a
mov r0, r5
mov r1, #2
str r2, [r5, #0x88]
bl func_ov00_020c1fc8
cmp r0, #0
addne sp, sp, #0x14
ldmneia sp!, {r4, r5, pc}
ldr r1, _021724dc ; =0x000004cd
mov r0, r5
str r1, [r5, #0x88]
add r2, r5, #0x60
mov r1, #4
bl func_ov00_020c1e2c
ldr r0, [r5, #0x138]
cmp r0, #0x96
ble _0217229c
mov r0, r5
bl func_ov25_02171f2c
add sp, sp, #0x14
ldmia sp!, {r4, r5, pc}
_0217229c:
ldrb r0, [r5, #0x110]
cmp r0, #0
ldreqb r0, [r5, #0x112]
cmpeq r0, #0
ldreqb r0, [r5, #0x113]
cmpeq r0, #0
beq _02172370
ldr r0, [r5, #0xc4]
ldr r1, [r5, #0xcc]
bl func_01ffa0f4
add r1, r5, #0x100
strh r0, [r1, #0x70]
ldr r0, _021724e0 ; =data_027e0ffc
ldr r1, _021724e4 ; =0x000002de
add r2, r5, #0x48
mov r3, #0
bl func_ov00_020ceacc
mov r0, r5
bl func_ov25_021724fc
mov r0, r5
bl func_ov25_02171f2c
add sp, sp, #0x14
ldmia sp!, {r4, r5, pc}
_021722f8:
mov r0, r5
bl func_ov25_02171e58
ldr r2, _021724dc ; =0x000004cd
add r0, sp, #0xc
mov r1, r5
str r2, [r5, #0x88]
bl func_ov00_020c23c4
ldr r1, [sp, #0xc]
mvn r0, #0
cmp r1, r0
beq _02172338
add r0, r5, #0x48
bl func_ov25_02171c2c
mov r0, r5
bl func_ov25_02171f2c
b _02172370
_02172338:
ldr r0, [r5, #0x138]
cmp r0, #0x96
ble _02172370
mov r0, r5
bl func_ov25_02171f2c
add sp, sp, #0x14
ldmia sp!, {r4, r5, pc}
_02172354:
mov r0, r5
bl func_ov25_02171e58
ldr r2, _021724dc ; =0x000004cd
add r0, sp, #4
mov r1, r5
str r2, [r5, #0x88]
bl func_ov00_020c23c4
_02172370:
add r2, r5, #0x158
add r1, r5, #0x164
cmp r2, r1
beq _021723e0
_02172380:
ldr r0, [r2]
cmp r0, #0
beq _021723d4
ldr r3, [r0, #0x20]
ldr ip, [r5, #0x48]
ldr r3, [r3]
ldr r3, [r3, #4]
add r3, ip, r3
str r3, [r0, #0x28]
ldr r3, [r0, #0x20]
ldr ip, [r5, #0x4c]
ldr r3, [r3]
ldr r3, [r3, #8]
add r3, ip, r3
str r3, [r0, #0x2c]
ldr r3, [r0, #0x20]
ldr ip, [r5, #0x50]
ldr r3, [r3]
ldr r3, [r3, #0xc]
add r3, ip, r3
str r3, [r0, #0x30]
_021723d4:
add r2, r2, #4
cmp r2, r1
bne _02172380
_021723e0:
add r2, r5, #0x164
add r1, r5, #0x16c
cmp r2, r1
beq _02172450
_021723f0:
ldr r0, [r2]
cmp r0, #0
beq _02172444
ldr r3, [r0, #0x20]
ldr ip, [r5, #0x48]
ldr r3, [r3]
ldr r3, [r3, #4]
add r3, ip, r3
str r3, [r0, #0x28]
ldr r3, [r0, #0x20]
ldr ip, [r5, #0x4c]
ldr r3, [r3]
ldr r3, [r3, #8]
add r3, ip, r3
str r3, [r0, #0x2c]
ldr r3, [r0, #0x20]
ldr ip, [r5, #0x50]
ldr r3, [r3]
ldr r3, [r3, #0xc]
add r3, ip, r3
str r3, [r0, #0x30]
_02172444:
add r2, r2, #4
cmp r2, r1
bne _021723f0
_02172450:
ldr r0, [r5, #0x16c]
cmp r0, #0
beq _021724a4
ldr r1, [r0, #0x20]
ldr r2, [r5, #0x48]
ldr r1, [r1]
ldr r1, [r1, #4]
add r1, r2, r1
str r1, [r0, #0x28]
ldr r1, [r0, #0x20]
ldr r2, [r5, #0x4c]
ldr r1, [r1]
ldr r1, [r1, #8]
add r1, r2, r1
str r1, [r0, #0x2c]
ldr r1, [r0, #0x20]
ldr r2, [r5, #0x50]
ldr r1, [r1]
ldr r1, [r1, #0xc]
add r1, r2, r1
str r1, [r0, #0x30]
_021724a4:
mov r0, #0
str r0, [sp]
ldr r3, [r5, #8]
ldr r0, _021724e0 ; =data_027e0ffc
ldr r1, _021724e8 ; =0x000002dd
add r2, r5, #0x48
bl func_ov00_020cec60
mov r1, r4
add r0, r5, #0xa4
add r2, r5, #0x48
bl func_ov00_0207a1c8
add sp, sp, #0x14
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_021721e4
_021724d8: .word 0x0000099a
_021724dc: .word 0x000004cd
_021724e0: .word data_027e0ffc
_021724e4: .word 0x000002de
_021724e8: .word 0x000002dd
.global func_ov25_021724ec
arm_func_start func_ov25_021724ec
func_ov25_021724ec: ; 0x021724ec
ldr ip, _021724f4 ; =func_ov25_02171f2c
bx ip
.align 2, 0
arm_func_end func_ov25_021724ec
_021724f4: .word func_ov25_02171f2c
.global func_ov25_021724f8
arm_func_start func_ov25_021724f8
func_ov25_021724f8: ; 0x021724f8
bx lr
arm_func_end func_ov25_021724f8
.global func_ov25_021724fc
arm_func_start func_ov25_021724fc
func_ov25_021724fc: ; 0x021724fc
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
sub sp, sp, #0x48
mov r4, r0
add r0, r4, #0x48
bl func_ov25_02171c2c
add r0, sp, #0x1c
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x1c
str r1, [sp, #0x38]
str r1, [sp, #0x3c]
bl func_ov00_020c3348
ldr r1, [r4, #8]
ldr r0, _021726c4 ; =data_ov25_02179524
str r1, [sp, #0x38]
ldr r1, [r4, #0xc]
add r7, sp, #4
str r1, [sp, #0x3c]
ldmia r0, {r0, r1, r2}
stmia r7, {r0, r1, r2}
add ip, r4, #0x100
ldrh r0, [ip, #0x70]
ldr r7, [r4, #0x48]
ldr r6, _021726c8 ; =data_02050f54
mov r0, r0, asr #0x4
mov r8, r0, lsl #0x1
str r7, [sp, #0x10]
mov r0, r8, lsl #0x1
ldrsh r2, [r6, r0]
add r0, r8, #1
ldr sb, [r4, #0x4c]
mov r0, r0, lsl #0x1
ldr r1, [sp, #8]
ldrsh r6, [r6, r0]
add r0, sb, r1
str sb, [sp, #0x14]
ldr sb, [r4, #0x50]
ldr r8, [sp, #0xc]
str r0, [sp, #0x14]
rsb r0, r2, #0
smull r2, sl, r8, r2
adds r2, r2, #0x800
adc sl, sl, #0
mov r2, r2, lsr #0xc
orr r2, r2, sl, lsl #20
add r7, r7, r2
smull sl, r2, r8, r6
adds r8, sl, #0x800
ldr r1, [sp, #4]
adc r2, r2, #0
mov r8, r8, lsr #0xc
orr r8, r8, r2, lsl #20
add r2, sb, r8
smull sb, r8, r1, r6
smull r6, r0, r1, r0
adds sb, sb, #0x800
adc r1, r8, #0
mov r8, sb, lsr #0xc
orr r8, r8, r1, lsl #20
add r1, r7, r8
str r1, [sp, #0x10]
adds r1, r6, #0x800
adc r0, r0, #0
mov r1, r1, lsr #0xc
orr r1, r1, r0, lsl #20
add r0, r2, r1
str r0, [sp, #0x18]
ldrsh r0, [ip, #0x70]
mov r5, #0
ldr lr, _021726cc ; =data_027e0fe8
strh r0, [sp, #0x30]
str r5, [sp]
ldr r1, _021726d0 ; =0x43425334
ldr r0, [lr]
add r3, sp, #0x1c
add r2, sp, #0x10
bl func_ov00_020c4048
cmp r0, #0
addlt sp, sp, #0x48
movlt r0, r5
ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
add r0, r4, #0x100
ldrsh r2, [r0, #0x70]
mov r1, r5
ldr r0, _021726cc ; =data_027e0fe8
add r2, r2, #0x2000
strh r2, [sp, #0x30]
str r1, [sp]
ldr r0, [r0]
ldr r1, _021726d0 ; =0x43425334
add r2, sp, #0x10
add r3, sp, #0x1c
bl func_ov00_020c4048
cmp r0, #0
addlt sp, sp, #0x48
movlt r0, r5
ldmltia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
add r0, r4, #0x100
ldrsh r2, [r0, #0x70]
mov r1, r5
ldr r0, _021726cc ; =data_027e0fe8
sub r2, r2, #0x2000
strh r2, [sp, #0x30]
str r1, [sp]
ldr r0, [r0]
ldr r1, _021726d0 ; =0x43425334
add r2, sp, #0x10
add r3, sp, #0x1c
bl func_ov00_020c4048
cmp r0, #0
movge r0, #1
movlt r0, r5
add sp, sp, #0x48
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
.align 2, 0
arm_func_end func_ov25_021724fc
_021726c4: .word data_ov25_02179524
_021726c8: .word data_02050f54
_021726cc: .word data_027e0fe8
_021726d0: .word 0x43425334
.global func_ov25_021726d4
arm_func_start func_ov25_021726d4
func_ov25_021726d4: ; 0x021726d4
stmdb sp!, {r4, r5, r6, r7, r8, lr}
sub sp, sp, #0x48
mov r4, r0
add r0, r4, #0x48
bl func_ov25_02171c2c
add r0, sp, #0x1c
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x1c
str r1, [sp, #0x38]
str r1, [sp, #0x3c]
bl func_ov00_020c3348
ldr r1, [r4, #8]
ldr r0, _021728c8 ; =data_ov25_02179530
str r1, [sp, #0x38]
ldr r1, [r4, #0xc]
add r7, sp, #4
str r1, [sp, #0x3c]
ldmia r0, {r0, r1, r2}
stmia r7, {r0, r1, r2}
add r6, r4, #0x100
ldrh r0, [r6, #0x70]
ldr r6, [r4, #0x48]
ldr r5, _021728cc ; =data_02050f54
mov r0, r0, asr #0x4
mov r1, r0, lsl #0x1
mov r0, r1, lsl #0x1
ldrsh r7, [r5, r0]
add r0, r1, #1
mov r0, r0, lsl #0x1
str r6, [sp, #0x10]
ldrsh r2, [r5, r0]
ldr r0, [r4, #0x4c]
ldr r8, [sp, #8]
str r0, [sp, #0x14]
add r8, r0, r8
ldr r5, [r4, #0x50]
ldr r1, [sp, #0xc]
str r8, [sp, #0x14]
rsb r8, r7, #0
smull r7, r4, r1, r7
adds r7, r7, #0x800
mov lr, #0
adc r4, r4, #0
mov r7, r7, lsr #0xc
orr r7, r7, r4, lsl #20
add r4, r6, r7
smull r7, r6, r1, r2
adds r7, r7, #0x800
adc r1, r6, #0
mov r6, r7, lsr #0xc
orr r6, r6, r1, lsl #20
ldr r0, [sp, #4]
add r1, r5, r6
smull r7, r6, r0, r2
smull r5, r2, r0, r8
adds r7, r7, #0x800
adc r0, r6, #0
mov r6, r7, lsr #0xc
orr r6, r6, r0, lsl #20
add r0, r4, r6
adds r4, r5, #0x800
str r0, [sp, #0x10]
adc r0, r2, #0
mov r2, r4, lsr #0xc
orr r2, r2, r0, lsl #20
add r0, r1, r2
ldr ip, _021728d0 ; =data_027e0fe8
strh lr, [sp, #0x30]
str r0, [sp, #0x18]
str lr, [sp]
ldr r0, [ip]
ldr r1, _021728d4 ; =0x43425334
add r3, sp, #0x1c
add r2, sp, #0x10
bl func_ov00_020c4048
cmp r0, #0
addlt sp, sp, #0x48
movlt r0, #0
ldmltia sp!, {r4, r5, r6, r7, r8, pc}
mov r0, #0x4000
strh r0, [sp, #0x30]
mov r1, #0
str r1, [sp]
ldr r0, _021728d0 ; =data_027e0fe8
ldr r1, _021728d4 ; =0x43425334
ldr r0, [r0]
add r2, sp, #0x10
add r3, sp, #0x1c
bl func_ov00_020c4048
cmp r0, #0
addlt sp, sp, #0x48
movlt r0, #0
ldmltia sp!, {r4, r5, r6, r7, r8, pc}
mov r0, #0x8000
rsb r0, r0, #0
strh r0, [sp, #0x30]
mov r1, #0
str r1, [sp]
ldr r0, _021728d0 ; =data_027e0fe8
ldr r1, _021728d4 ; =0x43425334
ldr r0, [r0]
add r2, sp, #0x10
add r3, sp, #0x1c
bl func_ov00_020c4048
cmp r0, #0
addlt sp, sp, #0x48
movlt r0, #0
ldmltia sp!, {r4, r5, r6, r7, r8, pc}
mov r0, #0x4000
rsb r0, r0, #0
strh r0, [sp, #0x30]
mov r1, #0
str r1, [sp]
ldr r0, _021728d0 ; =data_027e0fe8
ldr r1, _021728d4 ; =0x43425334
ldr r0, [r0]
add r2, sp, #0x10
add r3, sp, #0x1c
bl func_ov00_020c4048
cmp r0, #0
movge r0, #1
movlt r0, #0
add sp, sp, #0x48
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov25_021726d4
_021728c8: .word data_ov25_02179530
_021728cc: .word data_02050f54
_021728d0: .word data_027e0fe8
_021728d4: .word 0x43425334
.global func_ov25_021728d8
arm_func_start func_ov25_021728d8
func_ov25_021728d8: ; 0x021728d8
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x16c
bl func_ov00_020b7d74
ldr r3, _02172928 ; =func_ov00_020b7d74
add r0, r4, #0x164
mov r1, #2
mov r2, #4
bl func_0204f754
ldr r3, _02172928 ; =func_ov00_020b7d74
add r0, r4, #0x158
mov r1, #3
mov r2, #4
bl func_0204f754
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_021728d8
_02172928: .word func_ov00_020b7d74
.global func_ov25_0217292c
arm_func_start func_ov25_0217292c
func_ov25_0217292c: ; 0x0217292c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x16c
bl func_ov00_020b7d74
ldr r3, _02172974 ; =func_ov00_020b7d74
add r0, r4, #0x164
mov r1, #2
mov r2, #4
bl func_0204f754
ldr r3, _02172974 ; =func_ov00_020b7d74
add r0, r4, #0x158
mov r1, #3
mov r2, #4
bl func_0204f754
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_0217292c
_02172974: .word func_ov00_020b7d74
.global func_ov25_02172978
arm_func_start func_ov25_02172978
func_ov25_02172978: ; 0x02172978
stmdb sp!, {r3, lr}
ldr r1, _021729a4 ; =data_027e0fe0
ldr r0, _021729a8 ; =0x00000584
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov25_02172b88
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02172978
_021729a4: .word data_027e0fe0
_021729a8: .word 0x00000584
.global func_ov25_021729ac
arm_func_start func_ov25_021729ac
func_ov25_021729ac: ; 0x021729ac
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x250]
add r0, r4, r0, lsl #2
ldr r0, [r0, #0x248]
cmp r0, #1
bne _02172a14
ldr r0, [r4, #0x10]
mov r1, #0x1000
add r0, r0, #0xc
bl func_0202e310
cmp r0, #0
bne _021729f8
ldr r0, [r4, #0x10]
mov r1, #0xc000
add r0, r0, #0xc
bl func_0202e310
cmp r0, #0
ldmeqia sp!, {r4, pc}
_021729f8:
ldr r1, [r4, #0x1c]
ldr r0, _02172a68 ; =data_027e0ffc
add r2, r1, #0x48
mov r1, #0x388
mov r3, #0
bl func_ov00_020ceacc
ldmia sp!, {r4, pc}
_02172a14:
cmp r0, #5
ldmneia sp!, {r4, pc}
ldr r0, [r4, #0x10]
mov r1, #0x1000
add r0, r0, #0xc
bl func_0202e310
cmp r0, #0
bne _02172a4c
ldr r0, [r4, #0x10]
mov r1, #0xf000
add r0, r0, #0xc
bl func_0202e310
cmp r0, #0
ldmeqia sp!, {r4, pc}
_02172a4c:
ldr r1, [r4, #0x1c]
ldr r0, _02172a68 ; =data_027e0ffc
add r2, r1, #0x48
mov r1, #0x388
mov r3, #0
bl func_ov00_020ceacc
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_021729ac
_02172a68: .word data_027e0ffc
.global func_ov25_02172a6c
arm_func_start func_ov25_02172a6c
func_ov25_02172a6c: ; 0x02172a6c
ldr r3, _02172a84 ; =data_ov25_0217a004
mov r2, #0
str r3, [r0]
str r1, [r0, #4]
strh r2, [r0, #8]
bx lr
.align 2, 0
arm_func_end func_ov25_02172a6c
_02172a84: .word data_ov25_0217a004
.global func_ov25_02172a88
arm_func_start func_ov25_02172a88
func_ov25_02172a88: ; 0x02172a88
stmdb sp!, {r3, lr}
ldr r0, _02172ad0 ; =data_027e0f6c
ldrh r2, [r1]
ldr r1, [r0]
add r0, sp, #0
bl func_ov00_02093a1c
ldr r1, [sp]
mov r0, r1, lsr #0x9
and r0, r0, #3
cmp r0, #1
moveq r0, #0
ldmeqia sp!, {r3, pc}
mov r0, r1, lsr #0x7
and r0, r0, #3
cmp r0, #2
moveq r0, #0
movne r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02172a88
_02172ad0: .word data_027e0f6c
.global func_ov25_02172ad4
arm_func_start func_ov25_02172ad4
func_ov25_02172ad4: ; 0x02172ad4
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
ldr r3, _02172b28 ; =data_027e0f6c
ldrh r2, [r1]
ldr r1, [r3]
mov r4, r0
add r0, sp, #0
bl func_ov00_02093a1c
ldr r0, [sp]
mov r0, r0, lsr #0x5
and r0, r0, #3
cmp r0, #2
addeq sp, sp, #4
moveq r0, #0
ldmeqia sp!, {r3, r4, pc}
ldrh r1, [r4, #8]
mov r0, #1
orr r1, r1, #2
strh r1, [r4, #8]
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_02172ad4
_02172b28: .word data_027e0f6c
.global func_ov25_02172b2c
arm_func_start func_ov25_02172b2c
func_ov25_02172b2c: ; 0x02172b2c
stmdb sp!, {r4, lr}
mov r4, r0
mov r0, r1
ldr r1, [r0]
ldr r1, [r1, #0x1c]
blx r1
cmp r0, #0x14
beq _02172b60
cmp r0, #0x1a
beq _02172b78
cmp r0, #0x49
beq _02172b70
b _02172b80
_02172b60:
ldrh r0, [r4, #8]
orr r0, r0, #1
strh r0, [r4, #8]
b _02172b80
_02172b70:
mov r0, #0
ldmia sp!, {r4, pc}
_02172b78:
mov r0, #0
ldmia sp!, {r4, pc}
_02172b80:
mov r0, #1
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02172b2c
.global func_ov25_02172b88
arm_func_start func_ov25_02172b88
func_ov25_02172b88: ; 0x02172b88
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02144ed8
ldr r2, _02172c3c ; =data_ov25_02179f08
mov r1, r4
add r0, r4, #0x470
str r2, [r4]
bl func_ov25_02172a6c
mov r1, #0
str r1, [r4, #0x47c]
str r1, [r4, #0x480]
mov r1, #0x28
add r0, r4, #0x8c
str r1, [r4, #0x484]
add r1, r0, #0x400
add r0, r4, #0x12c
str r1, [r4, #0x488]
add r0, r0, #0x400
mov r2, #0
_02172bd4:
strh r2, [r1]
strh r2, [r1, #2]
add r1, r1, #4
cmp r1, r0
blo _02172bd4
mvn r1, #0
str r1, [r4, #0x52c]
str r1, [r4, #0x530]
str r1, [r4, #0x544]
ldr r0, _02172c40 ; =data_ov00_020e2f04
str r1, [r4, #0x548]
str r0, [r4, #0x550]
mov r0, #1
strb r0, [r4, #0x554]
strb r2, [r4, #0x555]
str r2, [r4, #0x558]
str r2, [r4, #0x55c]
ldr r0, _02172c44 ; =data_ov00_020e2dd8
str r2, [r4, #0x560]
str r0, [r4, #0x550]
strb r2, [r4, #0x57c]
ldr r0, _02172c48 ; =data_ov00_020eed2c
strb r2, [r4, #0x57d]
bl func_ov00_020d8718
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02172b88
_02172c3c: .word data_ov25_02179f08
_02172c40: .word data_ov00_020e2f04
_02172c44: .word data_ov00_020e2dd8
_02172c48: .word data_ov00_020eed2c
.global func_ov25_02172c4c
arm_func_start func_ov25_02172c4c
func_ov25_02172c4c: ; 0x02172c4c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_02081f4c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02172c4c
.global func_ov25_02172c60
arm_func_start func_ov25_02172c60
func_ov25_02172c60: ; 0x02172c60
stmdb sp!, {r4, lr}
mov r4, r0
ldr r1, _02172ca8 ; =data_ov25_02179f08
ldr r0, _02172cac ; =data_ov00_020eed2c
str r1, [r4]
bl func_ov00_020d8728
ldr r0, _02172cb0 ; =data_027e0f6c
add r1, r4, #0x550
ldr r0, [r0]
bl func_ov00_02093af0
add r0, r4, #0x550
bl func_ov00_02094824
add r0, r4, #0x470
bl func_ov00_02081f4c
mov r0, r4
bl func_ov14_021450a8
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02172c60
_02172ca8: .word data_ov25_02179f08
_02172cac: .word data_ov00_020eed2c
_02172cb0: .word data_027e0f6c
.global func_ov25_02172cb4
arm_func_start func_ov25_02172cb4
func_ov25_02172cb4: ; 0x02172cb4
stmdb sp!, {r4, lr}
mov r4, r0
ldr r1, _02172d04 ; =data_ov25_02179f08
ldr r0, _02172d08 ; =data_ov00_020eed2c
str r1, [r4]
bl func_ov00_020d8728
ldr r0, _02172d0c ; =data_027e0f6c
add r1, r4, #0x550
ldr r0, [r0]
bl func_ov00_02093af0
add r0, r4, #0x550
bl func_ov00_02094824
add r0, r4, #0x470
bl func_ov00_02081f4c
mov r0, r4
bl func_ov14_021450a8
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02172cb4
_02172d04: .word data_ov25_02179f08
_02172d08: .word data_ov00_020eed2c
_02172d0c: .word data_027e0f6c
.global func_ov25_02172d10
arm_func_start func_ov25_02172d10
func_ov25_02172d10: ; 0x02172d10
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0xc4
mov r5, r0
bl func_ov14_021450f0
add r1, r5, #0x17c
add r0, r5, #0x14
add r1, r1, #0x400
bl func_ov00_020c5374
ldr r1, _0217321c ; =data_ov25_021795a0
mov r0, r5
bl func_ov14_021451f0
add r0, r5, #0x470
str r0, [r5, #0xa0]
mov r0, #0x9f
strh r0, [r5, #0x9c]
mov r0, #0
str r0, [sp, #0xac]
str r0, [sp, #0xb0]
str r0, [sp, #0xb4]
str r0, [sp, #0xb8]
str r0, [sp, #0xbc]
str r0, [sp, #0xc0]
str r0, [sp]
bic r0, r0, #0x6000
bic r3, r0, #0x1f
add r0, r5, #0x550
ldr ip, [r0]
ldr r2, [r5, #8]
ldr ip, [ip, #0x14]
add r1, sp, #0xac
str r3, [sp, #0x24]
blx ip
mov r0, #0
strb r0, [r5, #0x555]
ldr r0, _02173220 ; =data_027e0f6c
add r1, r5, #0x550
ldr r0, [r0]
bl func_ov00_02093a5c
mvn r0, #0
str r0, [sp, #0x20]
mov r0, #0
str r0, [sp, #0x1c]
add r0, r5, #0x7c
add r0, r0, #0x400
add r1, sp, #0x1c
bl func_ov25_02175578
ldr r0, [r5, #8]
mov r1, #0
str r0, [r5, #0x178]
ldr r2, [r5, #0xc]
sub r0, r1, #1
str r2, [r5, #0x17c]
str r1, [r5, #0x54c]
str r0, [r5, #0x580]
ldrh r0, [r5, #0x20]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02172e74
_02172df8: ; jump table
b _02172e08 ; case 0
b _02172e24 ; case 1
b _02172e40 ; case 2
b _02172e5c ; case 3
_02172e08:
add r0, r5, #0x1d8
mov r1, #0x81
mov r2, #0x85
bl func_ov14_02145a74
mov r0, #0x16
strh r0, [r5, #0x7a]
b _02172e74
_02172e24:
add r0, r5, #0x1d8
mov r1, #0x82
mov r2, #0x85
bl func_ov14_02145a74
mov r0, #0x17
strh r0, [r5, #0x7a]
b _02172e74
_02172e40:
add r0, r5, #0x1d8
mov r1, #0x83
mov r2, #0x85
bl func_ov14_02145a74
mov r0, #0x18
strh r0, [r5, #0x7a]
b _02172e74
_02172e5c:
add r0, r5, #0x1d8
mov r1, #0x84
mov r2, #0x85
bl func_ov14_02145a74
mov r0, #0x19
strh r0, [r5, #0x7a]
_02172e74:
ldr r0, _02173224 ; =data_ov25_0217953c
ldr r1, _02173228 ; =func_ov25_021729ac
str r0, [r5, #0x408]
ldr r0, _0217322c ; =data_027e0f74
str r1, [r5, #0x414]
ldr r0, [r0]
mov r1, #0x3e
bl func_ov00_02097760
cmp r0, #0
beq _02172eb8
mov r0, r5
bl func_ov00_020c3158
mov r0, r5
bl func_ov00_020c3180
add sp, sp, #0xc4
mov r0, #1
ldmia sp!, {r4, r5, pc}
_02172eb8:
ldr r0, [r5, #0x3c]
cmp r0, #0
blt _021730e8
mov r0, r5
bl func_ov00_020c3158
ldrh r0, [r5, #0x20]
cmp r0, #0
bne _02173088
ldr r0, _0217322c ; =data_027e0f74
mov r1, #0x23
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
mov r0, r5
beq _02172f2c
bl func_ov25_02173370
ldr r0, [r5, #0x534]
add r2, r5, #0x500
str r0, [r5, #0x48]
ldr r1, [r5, #0x538]
mov r0, r5
str r1, [r5, #0x4c]
ldr r3, [r5, #0x53c]
mov r1, #0x18
str r3, [r5, #0x50]
ldrsh r2, [r2, #0x40]
strh r2, [r5, #0x78]
bl func_ov25_02173ab4
b _02172f34
_02172f2c:
mov r1, #2
bl func_ov25_02173ab4
_02172f34:
ldr r0, _0217322c ; =data_027e0f74
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02172fa4
mvn r1, #0
add r0, sp, #0x80
str r1, [sp, #0x14]
str r1, [sp, #0x18]
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x80
str r1, [sp, #0x9c]
str r1, [sp, #0xa0]
bl func_ov00_020c3348
mov r2, #1
mov r0, #0x18
strh r2, [sp, #0x80]
str r0, [sp, #0xa4]
add r1, sp, #0x14
str r1, [sp]
ldr r0, _02173230 ; =data_027e0fe8
ldr r1, _02173234 ; =0x43425331
ldr r0, [r0]
add r3, sp, #0x80
add r2, r5, #0x48
bl func_ov00_020c4048
_02172fa4:
ldr r0, _0217322c ; =data_027e0f74
mov r1, #0x26
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02173014
mvn r1, #0
add r0, sp, #0x54
str r1, [sp, #0xc]
str r1, [sp, #0x10]
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x54
str r1, [sp, #0x70]
str r1, [sp, #0x74]
bl func_ov00_020c3348
mov r2, #2
mov r0, #0x18
strh r2, [sp, #0x54]
str r0, [sp, #0x78]
add r1, sp, #0xc
str r1, [sp]
ldr r0, _02173230 ; =data_027e0fe8
ldr r1, _02173234 ; =0x43425331
ldr r0, [r0]
add r3, sp, #0x54
add r2, r5, #0x48
bl func_ov00_020c4048
_02173014:
ldr r0, _0217322c ; =data_027e0f74
mov r1, #0x34
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02173210
mvn r1, #0
add r0, sp, #0x28
str r1, [sp, #4]
str r1, [sp, #8]
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x28
str r1, [sp, #0x44]
str r1, [sp, #0x48]
bl func_ov00_020c3348
mov r2, #3
mov r0, #0x18
strh r2, [sp, #0x28]
str r0, [sp, #0x4c]
add r1, sp, #4
str r1, [sp]
ldr r0, _02173230 ; =data_027e0fe8
ldr r1, _02173234 ; =0x43425331
ldr r0, [r0]
add r3, sp, #0x28
add r2, r5, #0x48
bl func_ov00_020c4048
b _02173210
_02173088:
cmp r0, #1
beq _021730a4
cmp r0, #2
beq _021730ac
cmp r0, #3
moveq r4, #0x34
b _021730b0
_021730a4:
mov r4, #0x25
b _021730b0
_021730ac:
mov r4, #0x26
_021730b0:
ldr r0, _0217322c ; =data_027e0f74
mov r1, r4
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
mov r0, r5
beq _021730dc
bl func_ov00_020c3180
add sp, sp, #0xc4
mov r0, #1
ldmia sp!, {r4, r5, pc}
_021730dc:
mov r1, #0
bl func_ov25_02173ab4
b _02173210
_021730e8:
ldr r0, [r5, #0x140]
cmp r0, #0x19
addls pc, pc, r0, lsl #2
b _02173210
_021730f8: ; jump table
b _02173160 ; case 0
b _02173160 ; case 1
b _02173170 ; case 2
b _02173170 ; case 3
b _02173170 ; case 4
b _02173170 ; case 5
b _02173180 ; case 6
b _021731a8 ; case 7
b _021731b8 ; case 8
b _021731b8 ; case 9
b _021731b8 ; case 10
b _021731b8 ; case 11
b _021731c8 ; case 12
b _021731c8 ; case 13
b _021731c8 ; case 14
b _021731c8 ; case 15
b _021731c8 ; case 16
b _021731c8 ; case 17
b _021731c8 ; case 18
b _021731c8 ; case 19
b _021731d8 ; case 20
b _021731d8 ; case 21
b _021731d8 ; case 22
b _021731d8 ; case 23
b _021731d8 ; case 24
b _021731d8 ; case 25
_02173160:
mov r0, r5
mov r1, #0
bl func_ov25_02173ab4
b _02173210
_02173170:
mov r0, r5
mov r1, #2
bl func_ov25_02173ab4
b _02173210
_02173180:
ldrh r0, [r5, #0x20]
cmp r0, #3
mov r0, r5
bne _0217319c
mov r1, #0
bl func_ov25_02173ab4
b _02173210
_0217319c:
mov r1, #6
bl func_ov25_02173ab4
b _02173210
_021731a8:
mov r0, r5
mov r1, #6
bl func_ov25_02173ab4
b _02173210
_021731b8:
mov r0, r5
mov r1, #0xa
bl func_ov25_02173ab4
b _02173210
_021731c8:
mov r0, r5
mov r1, #0xc
bl func_ov25_02173ab4
b _02173210
_021731d8:
mov r0, r5
bl func_ov25_02173370
ldr r0, [r5, #0x534]
add r2, r5, #0x500
str r0, [r5, #0x48]
ldr r1, [r5, #0x538]
mov r0, r5
str r1, [r5, #0x4c]
ldr r3, [r5, #0x53c]
mov r1, #0x18
str r3, [r5, #0x50]
ldrsh r2, [r2, #0x40]
strh r2, [r5, #0x78]
bl func_ov25_02173ab4
_02173210:
mov r0, #1
add sp, sp, #0xc4
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_02172d10
_0217321c: .word data_ov25_021795a0
_02173220: .word data_027e0f6c
_02173224: .word data_ov25_0217953c
_02173228: .word func_ov25_021729ac
_0217322c: .word data_027e0f74
_02173230: .word data_027e0fe8
_02173234: .word 0x43425331
.global func_ov25_02173238
arm_func_start func_ov25_02173238
func_ov25_02173238: ; 0x02173238
ldr r0, [r0, #0x130]
sub r0, r0, #8
cmp r0, #3
movls r0, #1
movhi r0, #0
bx lr
arm_func_end func_ov25_02173238
.global func_ov25_02173250
arm_func_start func_ov25_02173250
func_ov25_02173250: ; 0x02173250
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r1, #0
str r1, [r5, #0x60]
str r1, [r5, #0x68]
bl func_ov00_020c2974
ldrsh r1, [r5, #0x78]
mov r4, r0
sub r0, r4, r1
bl func_02042f68
ldr r1, _021732b4 ; =0x00001555
cmp r0, r1
ble _02173294
ldr r2, _021732b8 ; =0x0000071c
mov r1, r4
add r0, r5, #0x78
bl func_0202b154
_02173294:
mov r0, r5
bl func_ov00_020c3070
mov r0, r5
bl func_ov25_02173354
mov r0, r5
mov r1, #0
bl func_01fffd04
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_02173250
_021732b4: .word 0x00001555
_021732b8: .word 0x0000071c
.global func_ov25_021732bc
arm_func_start func_ov25_021732bc
func_ov25_021732bc: ; 0x021732bc
stmdb sp!, {r4, lr}
mov r4, r0
ldr r2, _021732f8 ; =0x0000071c
add r0, r4, #0x78
bl func_0202b154
mov r1, #0
str r1, [r4, #0x60]
mov r0, r4
str r1, [r4, #0x68]
bl func_ov00_020c3070
mov r0, r4
bl func_ov25_02173354
mov r0, r4
bl func_ov00_020c3094
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_021732bc
_021732f8: .word 0x0000071c
.global func_ov25_021732fc
arm_func_start func_ov25_021732fc
func_ov25_021732fc: ; 0x021732fc
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
ldr r3, _02173350 ; =0x0000071c
mov r4, r0
str r3, [sp]
add r0, r4, #0x60
str r0, [sp, #4]
add r0, r4, #0x78
str r0, [sp, #8]
ldrsh r3, [r4, #0x78]
add r0, r4, #0x48
bl func_ov00_020c64d8
mov r0, r4
bl func_ov00_020c3070
mov r0, r4
bl func_ov25_02173354
mov r0, r4
mov r1, #0
bl func_01fffd04
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_021732fc
_02173350: .word 0x0000071c
.global func_ov25_02173354
arm_func_start func_ov25_02173354
func_ov25_02173354: ; 0x02173354
ldr ip, _0217336c ; =func_01ff9bc4
mov r2, r0
add r0, r2, #0x48
add r1, r2, #0x60
add r2, r2, #0x48
bx ip
.align 2, 0
arm_func_end func_ov25_02173354
_0217336c: .word func_01ff9bc4
.global func_ov25_02173370
arm_func_start func_ov25_02173370
func_ov25_02173370: ; 0x02173370
stmdb sp!, {r4, lr}
ldr r1, _02173458 ; =data_027e0ff0
mov ip, #0
ldr r1, [r1]
ldr lr, [r1, #4]
cmp lr, #0
ble _02173430
ldr r4, [r1]
_02173390:
ldr r2, [r4, ip, lsl #3]
add r3, r4, ip, lsl #3
cmp r2, #0
beq _02173420
ldrb r1, [r2, #4]
cmp r1, #0xd
bne _02173420
ldrh r1, [r0, #0x20]
ldrb r2, [r2, #1]
mov r1, r1, lsl #0x18
cmp r2, r1, asr #24
mov ip, r1, asr #0x18
ble _021733f8
ldr r2, [r3, #4]
mov r1, #0x24
mla r3, ip, r1, r2
ldr r2, [r3, #4]
add r1, r0, #0x500
str r2, [r0, #0x534]
ldr r2, [r3, #8]
str r2, [r0, #0x538]
ldr r2, [r3, #0xc]
str r2, [r0, #0x53c]
ldrsh r0, [r3, #2]
strh r0, [r1, #0x40]
ldmia sp!, {r4, pc}
_021733f8:
ldr r2, [r0, #0x48]
add r1, r0, #0x500
str r2, [r0, #0x534]
ldr r2, [r0, #0x4c]
str r2, [r0, #0x538]
ldr r2, [r0, #0x50]
str r2, [r0, #0x53c]
ldrsh r2, [r0, #0x78]
strh r2, [r1, #0x40]
b _02173430
_02173420:
add r1, ip, #1
and ip, r1, #0xff
cmp ip, lr
blt _02173390
_02173430:
ldr r2, [r0, #0x48]
add r1, r0, #0x500
str r2, [r0, #0x534]
ldr r2, [r0, #0x4c]
str r2, [r0, #0x538]
ldr r2, [r0, #0x50]
str r2, [r0, #0x53c]
ldrsh r0, [r0, #0x78]
strh r0, [r1, #0x40]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02173370
_02173458: .word data_027e0ff0
.global func_ov25_0217345c
arm_func_start func_ov25_0217345c
func_ov25_0217345c: ; 0x0217345c
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0xd4
ldr r7, _02173580 ; =data_ov00_020e72f0
mov r4, #0
add r3, sp, #0xc0
mvn r5, #0
ldr r6, _02173584 ; =0x53504452
add r8, sp, #0xc
mov r2, #0x10
mov sl, r0
mov sb, r1
str r7, [sp, #0x8c]
str r6, [sp, #0x90]
str r5, [sp, #0x94]
str r5, [sp, #0x98]
str r4, [sp, #0x9c]
strb r4, [sp, #0xa0]
strb r4, [sp, #0xbc]
str r4, [r3, #0xc]
str r4, [r3]
str r4, [r3, #4]
str r4, [r3, #8]
str r8, [sp]
str r2, [sp, #4]
str r4, [sp, #8]
add r0, sp, #0x8c
_021734c4:
str r5, [r8]
str r5, [r8, #4]
add r8, r8, #8
cmp r8, r0
blo _021734c4
ldr r0, _02173588 ; =data_027e0fe4
add r1, sp, #0x8c
ldr r0, [r0]
add r2, sp, #0
bl func_ov00_020c37ec
mvn r0, #0
str r0, [sl]
str r0, [sl, #4]
ldr r0, [sp, #8]
mov r5, #0x3000
cmp r0, #0
mov r6, #0
addle sp, sp, #0xd4
ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
ldr fp, _02173588 ; =data_027e0fe4
mov r8, r6
_02173518:
ldr r1, [sp]
ldr r0, [fp]
add r7, r1, r8
mov r1, r7
bl func_ov00_020c3674
mov r4, r0
bl func_ov25_02178cf0
cmp r0, #0
beq _02173564
mov r0, sb
add r1, r4, #0x48
bl func_ov00_020c288c
cmp r5, r0
ble _02173564
ldr r1, [r7]
mov r5, r0
str r1, [sl]
ldr r0, [r7, #4]
str r0, [sl, #4]
_02173564:
ldr r0, [sp, #8]
add r6, r6, #1
cmp r6, r0
add r8, r8, #8
blt _02173518
add sp, sp, #0xd4
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov25_0217345c
_02173580: .word data_ov00_020e72f0
_02173584: .word 0x53504452
_02173588: .word data_027e0fe4
.global func_ov25_0217358c
arm_func_start func_ov25_0217358c
func_ov25_0217358c: ; 0x0217358c
stmdb sp!, {r4, lr}
sub sp, sp, #8
mov r4, r0
add r0, sp, #0
mov r1, r4
bl func_ov25_0217345c
ldr r1, [sp]
mvn r0, #0
cmp r1, r0
ldrne r0, [r4, #0x54c]
addne r0, r0, #1
moveq r0, #0
str r0, [r4, #0x54c]
ldr r0, [r4, #0x54c]
cmp r0, #0xa
addle sp, sp, #8
movle r0, #0
ldmleia sp!, {r4, pc}
ldr r1, [sp]
mov r0, #1
str r1, [r4, #0x544]
ldr r1, [sp, #4]
str r1, [r4, #0x548]
add sp, sp, #8
ldmia sp!, {r4, pc}
arm_func_end func_ov25_0217358c
.global func_ov25_021735f0
arm_func_start func_ov25_021735f0
func_ov25_021735f0: ; 0x021735f0
ldr r0, _02173600 ; =data_027e10b4
ldr ip, _02173604 ; =func_ov30_02183f78
ldr r0, [r0]
bx ip
.align 2, 0
arm_func_end func_ov25_021735f0
_02173600: .word data_027e10b4
_02173604: .word func_ov30_02183f78
.global func_ov25_02173608
arm_func_start func_ov25_02173608
func_ov25_02173608: ; 0x02173608
ldr r1, [r0, #0x130]
cmp r1, #0xc
bgt _02173638
bge _021736b0
cmp r1, #6
bgt _02173708
cmp r1, #2
blt _02173708
beq _02173668
cmp r1, #6
beq _021736a8
b _02173708
_02173638:
cmp r1, #0x14
bgt _02173648
beq _021736f8
b _02173708
_02173648:
cmp r1, #0x18
bgt _02173708
cmp r1, #0x15
blt _02173708
beq _02173700
cmp r1, #0x18
beq _021736b8
b _02173708
_02173668:
ldrh r0, [r0, #0x20]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02173708
_02173678: ; jump table
b _02173688 ; case 0
b _02173690 ; case 1
b _02173698 ; case 2
b _021736a0 ; case 3
_02173688:
ldr r0, _02173710 ; =0x00710002
bx lr
_02173690:
ldr r0, _02173714 ; =0x00710003
bx lr
_02173698:
ldr r0, _02173718 ; =0x00710004
bx lr
_021736a0:
mov r0, #0
bx lr
_021736a8:
ldr r0, _0217371c ; =0x00710005
bx lr
_021736b0:
ldr r0, _02173720 ; =0x00710006
bx lr
_021736b8:
ldrh r0, [r0, #0x20]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02173708
_021736c8: ; jump table
b _021736d8 ; case 0
b _021736e0 ; case 1
b _021736e8 ; case 2
b _021736f0 ; case 3
_021736d8:
ldr r0, _02173710 ; =0x00710002
bx lr
_021736e0:
ldr r0, _02173714 ; =0x00710003
bx lr
_021736e8:
ldr r0, _02173718 ; =0x00710004
bx lr
_021736f0:
mov r0, #0
bx lr
_021736f8:
ldr r0, _02173724 ; =0x00710007
bx lr
_02173700:
ldr r0, _02173724 ; =0x00710007
bx lr
_02173708:
mov r0, #0
bx lr
.align 2, 0
arm_func_end func_ov25_02173608
_02173710: .word 0x00710002
_02173714: .word 0x00710003
_02173718: .word 0x00710004
_0217371c: .word 0x00710005
_02173720: .word 0x00710006
_02173724: .word 0x00710007
.global func_ov25_02173728
arm_func_start func_ov25_02173728
func_ov25_02173728: ; 0x02173728
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
sub sp, sp, #0x74
ldr r1, _02173a3c ; =data_027e0fe4
mvn r8, #0
mov r4, r0
mov r7, #0
add r6, sp, #0x60
ldr lr, _02173a40 ; =data_ov00_020e72f0
ldr ip, _02173a44 ; =0x43425331
ldr r0, [r1]
add r5, sp, #0xc
mov r3, #4
add r1, sp, #0x2c
add r2, sp, #0
str r8, [sp, #0xc]
str r8, [sp, #0x10]
str r8, [sp, #0x14]
str r8, [sp, #0x18]
str r8, [sp, #0x1c]
str r8, [sp, #0x20]
str r8, [sp, #0x24]
str r8, [sp, #0x28]
str lr, [sp, #0x2c]
str ip, [sp, #0x30]
str r8, [sp, #0x34]
str r8, [sp, #0x38]
str r7, [sp, #0x3c]
strb r7, [sp, #0x40]
strb r7, [sp, #0x5c]
str r7, [r6, #0xc]
str r7, [r6]
str r7, [r6, #4]
str r7, [r6, #8]
str r5, [sp]
str r3, [sp, #4]
str r7, [sp, #8]
bl func_ov00_020c37ec
cmp r0, #0
ble _02173a30
ldrh r0, [r4, #0x20]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02173a30
_021737d4: ; jump table
b _021737e4 ; case 0
b _02173878 ; case 1
b _0217390c ; case 2
b _021739a0 ; case 3
_021737e4:
ldr r0, [sp, #8]
mov r5, r7
cmp r0, #0
ble _02173a30
ldr r7, _02173a3c ; =data_027e0fe4
add r6, sp, #0xc
_021737fc:
ldr r0, [r7]
mov r1, r6
bl func_ov00_020c3674
ldrh r1, [r0, #0x20]
cmp r1, #3
addls pc, pc, r1, lsl #2
b _02173860
_02173818: ; jump table
b _02173860 ; case 0
b _02173828 ; case 1
b _0217383c ; case 2
b _02173850 ; case 3
_02173828:
ldr r1, [r0, #8]
str r1, [r4, #0x180]
ldr r0, [r0, #0xc]
str r0, [r4, #0x184]
b _02173860
_0217383c:
ldr r1, [r0, #8]
str r1, [r4, #0x188]
ldr r0, [r0, #0xc]
str r0, [r4, #0x18c]
b _02173860
_02173850:
ldr r1, [r0, #8]
str r1, [r4, #0x190]
ldr r0, [r0, #0xc]
str r0, [r4, #0x194]
_02173860:
ldr r0, [sp, #8]
add r5, r5, #1
cmp r5, r0
add r6, r6, #8
blt _021737fc
b _02173a30
_02173878:
ldr r0, [sp, #8]
mov r5, r7
cmp r0, #0
ble _02173a30
ldr r7, _02173a3c ; =data_027e0fe4
add r6, sp, #0xc
_02173890:
ldr r0, [r7]
mov r1, r6
bl func_ov00_020c3674
ldrh r1, [r0, #0x20]
cmp r1, #3
addls pc, pc, r1, lsl #2
b _021738f4
_021738ac: ; jump table
b _021738bc ; case 0
b _021738f4 ; case 1
b _021738d0 ; case 2
b _021738e4 ; case 3
_021738bc:
ldr r1, [r0, #8]
str r1, [r4, #0x180]
ldr r0, [r0, #0xc]
str r0, [r4, #0x184]
b _021738f4
_021738d0:
ldr r1, [r0, #8]
str r1, [r4, #0x188]
ldr r0, [r0, #0xc]
str r0, [r4, #0x18c]
b _021738f4
_021738e4:
ldr r1, [r0, #8]
str r1, [r4, #0x190]
ldr r0, [r0, #0xc]
str r0, [r4, #0x194]
_021738f4:
ldr r0, [sp, #8]
add r5, r5, #1
cmp r5, r0
add r6, r6, #8
blt _02173890
b _02173a30
_0217390c:
ldr r0, [sp, #8]
mov r5, r7
cmp r0, #0
ble _02173a30
ldr r7, _02173a3c ; =data_027e0fe4
add r6, sp, #0xc
_02173924:
ldr r0, [r7]
mov r1, r6
bl func_ov00_020c3674
ldrh r1, [r0, #0x20]
cmp r1, #3
addls pc, pc, r1, lsl #2
b _02173988
_02173940: ; jump table
b _02173950 ; case 0
b _02173964 ; case 1
b _02173988 ; case 2
b _02173978 ; case 3
_02173950:
ldr r1, [r0, #8]
str r1, [r4, #0x180]
ldr r0, [r0, #0xc]
str r0, [r4, #0x184]
b _02173988
_02173964:
ldr r1, [r0, #8]
str r1, [r4, #0x188]
ldr r0, [r0, #0xc]
str r0, [r4, #0x18c]
b _02173988
_02173978:
ldr r1, [r0, #8]
str r1, [r4, #0x190]
ldr r0, [r0, #0xc]
str r0, [r4, #0x194]
_02173988:
ldr r0, [sp, #8]
add r5, r5, #1
cmp r5, r0
add r6, r6, #8
blt _02173924
b _02173a30
_021739a0:
ldr r0, [sp, #8]
mov r5, r7
cmp r0, #0
ble _02173a30
ldr r7, _02173a3c ; =data_027e0fe4
add r6, sp, #0xc
_021739b8:
ldr r0, [r7]
mov r1, r6
bl func_ov00_020c3674
ldrh r1, [r0, #0x20]
cmp r1, #3
addls pc, pc, r1, lsl #2
b _02173a1c
_021739d4: ; jump table
b _021739e4 ; case 0
b _021739f8 ; case 1
b _02173a0c ; case 2
b _02173a1c ; case 3
_021739e4:
ldr r1, [r0, #8]
str r1, [r4, #0x180]
ldr r0, [r0, #0xc]
str r0, [r4, #0x184]
b _02173a1c
_021739f8:
ldr r1, [r0, #8]
str r1, [r4, #0x188]
ldr r0, [r0, #0xc]
str r0, [r4, #0x18c]
b _02173a1c
_02173a0c:
ldr r1, [r0, #8]
str r1, [r4, #0x190]
ldr r0, [r0, #0xc]
str r0, [r4, #0x194]
_02173a1c:
ldr r0, [sp, #8]
add r5, r5, #1
cmp r5, r0
add r6, r6, #8
blt _021739b8
_02173a30:
mov r0, #1
add sp, sp, #0x74
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov25_02173728
_02173a3c: .word data_027e0fe4
_02173a40: .word data_ov00_020e72f0
_02173a44: .word 0x43425331
.global func_ov25_02173a48
arm_func_start func_ov25_02173a48
func_ov25_02173a48: ; 0x02173a48
stmdb sp!, {r3, lr}
cmp r1, #0
beq _02173a60
cmp r1, #1
beq _02173a98
b _02173aa8
_02173a60:
ldr r1, _02173ab0 ; =data_ov00_020e8b08
ldr r2, [r0, #8]
ldr r3, [r1]
ldrb r1, [r3, #0x55]
add r1, r3, r1, lsl #3
ldr r1, [r1, #0x20]
ldr r3, [r0]
cmp r2, r1
moveq r1, #1
ldr r3, [r3, #0xf0]
movne r1, #0
mov r2, #0
blx r3
b _02173aa8
_02173a98:
ldr r2, [r0]
mov r1, #6
ldr r2, [r2, #0xec]
blx r2
_02173aa8:
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02173a48
_02173ab0: .word data_ov00_020e8b08
.global func_ov25_02173ab4
arm_func_start func_ov25_02173ab4
func_ov25_02173ab4: ; 0x02173ab4
stmdb sp!, {r4, r5, r6, lr}
mov r4, r0
mov r2, #0
str r2, [r4, #0x138]
ldr r3, [r4, #0x130]
cmp r1, #0x19
str r3, [r4, #0x134]
str r1, [r4, #0x130]
addls pc, pc, r1, lsl #2
ldmia sp!, {r4, r5, r6, pc}
_02173adc: ; jump table
b _02173b44 ; case 0
b _02173b50 ; case 1
b _02173b5c ; case 2
b _02173bb8 ; case 3
b _02173be4 ; case 4
b _02173c08 ; case 5
b _02173c18 ; case 6
b _02173c48 ; case 7
b _02173c58 ; case 8
b _02173c9c ; case 9
b _02173ccc ; case 10
b _02173d14 ; case 11
b _02173d5c ; case 12
b _02173dbc ; case 13
b _02173de8 ; case 14
b _02173df0 ; case 15
b _02173e00 ; case 16
ldmia sp!, {r4, r5, r6, pc} ; case 17
b _02173f0c ; case 18
b _02173f9c ; case 19
ldmia sp!, {r4, r5, r6, pc} ; case 20
ldmia sp!, {r4, r5, r6, pc} ; case 21
b _02173fa4 ; case 22
b _02173fc8 ; case 23
b _02173fe4 ; case 24
b _0217400c ; case 25
_02173b44:
strb r2, [r4, #0x11a]
str r2, [r4, #0x12c]
ldmia sp!, {r4, r5, r6, pc}
_02173b50:
strb r2, [r4, #0x11a]
str r2, [r4, #0x12c]
ldmia sp!, {r4, r5, r6, pc}
_02173b5c:
add r0, r4, #0x1d8
bl func_ov14_021460b8
add r0, r4, #0x1d8
mov r1, #3
bl func_ov14_02145e48
ldr r1, [r4, #0x1e8]
mov r2, #0x1000
mov r0, r4
str r2, [r1, #0x10]
ldr r1, [r0]
ldr r1, [r1, #0xb4]
blx r1
mov r0, #5
str r0, [r4, #0x12c]
mov r0, #1
strb r0, [r4, #0x11a]
ldrsh r0, [r4, #0x78]
cmp r0, #0
mov r0, #0x2000
strgeh r0, [r4, #0x78]
rsblt r0, r0, #0
strlth r0, [r4, #0x78]
ldmia sp!, {r4, r5, r6, pc}
_02173bb8:
add r0, r4, #0x1d8
bl func_ov14_021460b8
add r0, r4, #0x1d8
mov r1, #3
bl func_ov14_02145e48
ldr r0, [r4, #0x1e8]
mov r1, #0x1000
str r1, [r0, #0x10]
mov r0, #0
str r0, [r4, #0x12c]
ldmia sp!, {r4, r5, r6, pc}
_02173be4:
add r0, r4, #0x1d8
mov r1, #4
bl func_ov14_02145e48
ldr r0, [r4, #0x1e8]
mov r1, #0x1000
str r1, [r0, #0x10]
mov r0, #0
str r0, [r4, #0x12c]
ldmia sp!, {r4, r5, r6, pc}
_02173c08:
bl func_ov14_0214591c
mov r0, #0
str r0, [r4, #0x12c]
ldmia sp!, {r4, r5, r6, pc}
_02173c18:
mov r1, r2
add r0, r4, #0x1d8
bl func_ov14_02145f0c
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xb4]
blx r1
mov r0, #5
str r0, [r4, #0x12c]
mov r0, #1
strb r0, [r4, #0x11a]
ldmia sp!, {r4, r5, r6, pc}
_02173c48:
bl func_ov14_0214591c
mov r0, #0
str r0, [r4, #0x12c]
ldmia sp!, {r4, r5, r6, pc}
_02173c58:
add r0, r4, #0x1d8
mov r1, #5
bl func_ov14_02145e48
add r0, r4, #0x7c
ldr r1, [r4, #0x1e8]
mov r2, #0x1000
str r2, [r1, #0x10]
mov r1, #0
add r0, r0, #0x400
str r1, [r4, #0x12c]
bl func_ov25_02175598
ldr r0, _0217401c ; =data_027e0f74
mov r1, #0x150
ldr r0, [r0]
mov r2, #1
bl func_ov00_0209779c
ldmia sp!, {r4, r5, r6, pc}
_02173c9c:
add r0, r4, #0x1d8
mov r1, #5
bl func_ov14_02145e48
ldr r1, [r4, #0x1e8]
mov r2, #0x1000
str r2, [r1, #0x10]
ldr r0, _0217401c ; =data_027e0f74
mov r1, #0x150
ldr r0, [r0]
mov r2, #1
bl func_ov00_0209779c
ldmia sp!, {r4, r5, r6, pc}
_02173ccc:
add r0, r4, #0x1d8
bl func_ov14_021460b8
add r0, r4, #0x1d8
mov r1, #0
bl func_ov14_02145e48
ldr r1, [r4, #0x1e8]
mov r2, #0x1000
str r2, [r1, #0x10]
mov r1, #0
mov r0, r4
str r1, [r4, #0x12c]
bl func_ov00_020c29d8
ldr r0, _0217401c ; =data_027e0f74
mov r1, #0x150
ldr r0, [r0]
mov r2, #1
bl func_ov00_0209779c
ldmia sp!, {r4, r5, r6, pc}
_02173d14:
add r0, r4, #0x1d8
bl func_ov14_021460b8
add r0, r4, #0x1d8
mov r1, #0
bl func_ov14_02145e48
ldr r1, [r4, #0x1e8]
mov r2, #0x1000
str r2, [r1, #0x10]
mov r1, #0
mov r0, r4
str r1, [r4, #0x12c]
bl func_ov00_020c29d8
ldr r0, _0217401c ; =data_027e0f74
mov r1, #0x150
ldr r0, [r0]
mov r2, #1
bl func_ov00_0209779c
ldmia sp!, {r4, r5, r6, pc}
_02173d5c:
add r0, r4, #0x1d8
bl func_ov14_021460b8
add r0, r4, #0x1d8
mov r1, #3
bl func_ov14_02145e48
ldr r1, [r4, #0x1e8]
mov r2, #0x1000
mov r0, r4
str r2, [r1, #0x10]
ldr r1, [r0]
ldr r1, [r1, #0xb4]
blx r1
ldrsh r0, [r4, #0x78]
mov r2, #0
mov r1, #0x150
cmp r0, #0
mov r0, #0x2000
rsblt r0, r0, #0
strh r0, [r4, #0x78]
ldr r0, _0217401c ; =data_027e0f74
strb r2, [r4, #0x285]
ldr r0, [r0]
bl func_ov00_0209779c
ldmia sp!, {r4, r5, r6, pc}
_02173dbc:
add r0, r4, #0x1d8
bl func_ov14_021460b8
add r0, r4, #0x1d8
mov r1, #3
bl func_ov14_02145e48
ldr r0, [r4, #0x1e8]
mov r1, #0x1000
str r1, [r0, #0x10]
mov r0, #0
str r0, [r4, #0x12c]
ldmia sp!, {r4, r5, r6, pc}
_02173de8:
str r2, [r4, #0x12c]
ldmia sp!, {r4, r5, r6, pc}
_02173df0:
bl func_ov14_0214591c
mov r0, #0
str r0, [r4, #0x12c]
ldmia sp!, {r4, r5, r6, pc}
_02173e00:
ldr r0, _02174020 ; =data_027e0764
mov r2, r2, lsl #0x2
ldr ip, [r0]
ldmib r0, {r3, lr}
umull r6, r5, lr, ip
mla r5, lr, r3, r5
ldr r3, [r0, #0xc]
ldr lr, [r0, #0x10]
mla r5, r3, ip, r5
ldr r3, [r0, #0x14]
adds r6, lr, r6
adc r3, r3, r5
str r6, [r0]
orr r2, r2, r3, lsr #30
str r3, [r0, #4]
cmp r2, #3
addls pc, pc, r2, lsl #2
b _02173e74
_02173e48: ; jump table
b _02173e58 ; case 0
b _02173e60 ; case 1
b _02173e68 ; case 2
b _02173e70 ; case 3
_02173e58:
ldr r1, _02174024 ; =0x000e0059
b _02173e74
_02173e60:
ldr r1, _02174028 ; =0x000e005a
b _02173e74
_02173e68:
ldr r1, _0217402c ; =0x000e005b
b _02173e74
_02173e70:
ldr r1, _02174030 ; =0x000e005c
_02173e74:
ldr r0, _02174034 ; =data_027e0c68
add r2, r4, #0x48
mov r3, #0
bl func_02036da8
ldr r0, _02174038 ; =data_027e0ffc
ldr r1, _0217403c ; =0x000002e1
add r2, r4, #0x48
mov r3, #0
bl func_ov00_020ceacc
add r0, r4, #0x1d8
bl func_ov14_021460b8
add r0, r4, #0x1d8
mov r1, #7
bl func_ov14_02145e48
add r1, r4, #0x144
ldr r0, [r4, #0x1e8]
mov r2, #0x1000
str r2, [r0, #0x10]
mov r2, #0
ldr r0, _02174040 ; =data_027e0fe4
str r2, [r4, #0x12c]
ldr r0, [r0]
add r1, r1, #0x400
bl func_ov00_020c3674
add r1, r0, #0x48
mov r0, r4
bl func_ov00_020c2938
cmp r0, #0
mov r0, #0x2000
rsblt r0, r0, #0
strh r0, [r4, #0x78]
mov r2, #0
ldr r0, _0217401c ; =data_027e0f74
strb r2, [r4, #0x285]
ldr r0, [r0]
mov r1, #0x150
bl func_ov00_0209779c
ldmia sp!, {r4, r5, r6, pc}
_02173f0c:
ldr r0, _02174034 ; =data_027e0c68
ldr r1, _02174044 ; =0x0071002d
bl func_020370d0
add r0, r4, #0x1d8
bl func_ov14_021460b8
add r0, r4, #0x1d8
mov r1, #7
bl func_ov14_02145e48
ldr r0, [r4, #0x1e8]
mov r1, #0x1000
str r1, [r0, #0x10]
mov r3, #0
ldr r0, _02174038 ; =data_027e0ffc
ldr r1, _0217403c ; =0x000002e1
add r2, r4, #0x48
str r3, [r4, #0x12c]
bl func_ov00_020ceacc
ldr r0, _02174040 ; =data_027e0fe4
add r1, r4, #0x144
ldr r0, [r0]
add r1, r1, #0x400
bl func_ov00_020c3674
add r1, r0, #0x48
mov r0, r4
bl func_ov00_020c2938
cmp r0, #0
mov r0, #0x2000
rsblt r0, r0, #0
strh r0, [r4, #0x78]
mov r2, #0
ldr r0, _0217401c ; =data_027e0f74
strb r2, [r4, #0x285]
ldr r0, [r0]
mov r1, #0x150
bl func_ov00_0209779c
ldmia sp!, {r4, r5, r6, pc}
_02173f9c:
bl func_ov25_02175464
ldmia sp!, {r4, r5, r6, pc}
_02173fa4:
add r0, r4, #0x1d8
mov r1, #5
bl func_ov14_02145e48
ldr r1, [r4, #0x1e8]
mov r2, #0x1000
mov r0, r4
str r2, [r1, #0x10]
bl func_ov25_02173370
ldmia sp!, {r4, r5, r6, pc}
_02173fc8:
add r0, r4, #0x1d8
mov r1, #5
bl func_ov14_02145e48
ldr r0, [r4, #0x1e8]
mov r1, #0x1000
str r1, [r0, #0x10]
ldmia sp!, {r4, r5, r6, pc}
_02173fe4:
mov r1, r2
add r0, r4, #0x1d8
bl func_ov14_02145f0c
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xb4]
blx r1
mov r0, #5
str r0, [r4, #0x12c]
ldmia sp!, {r4, r5, r6, pc}
_0217400c:
bl func_ov14_0214591c
mov r0, #0
str r0, [r4, #0x12c]
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov25_02173ab4
_0217401c: .word data_027e0f74
_02174020: .word data_027e0764
_02174024: .word 0x000e0059
_02174028: .word 0x000e005a
_0217402c: .word 0x000e005b
_02174030: .word 0x000e005c
_02174034: .word data_027e0c68
_02174038: .word data_027e0ffc
_0217403c: .word 0x000002e1
_02174040: .word data_027e0fe4
_02174044: .word 0x0071002d
.global func_ov25_02174048
arm_func_start func_ov25_02174048
func_ov25_02174048: ; 0x02174048
stmdb sp!, {r3, lr}
ldr r1, [r0, #0x130]
cmp r1, #2
bne _02174064
mov r1, #3
bl func_ov25_02173ab4
ldmia sp!, {r3, pc}
_02174064:
cmp r1, #6
bne _02174078
mov r1, #7
bl func_ov25_02173ab4
ldmia sp!, {r3, pc}
_02174078:
cmp r1, #0x18
bne _0217408c
mov r1, #0x19
bl func_ov25_02173ab4
ldmia sp!, {r3, pc}
_0217408c:
cmp r1, #0xc
ldmneia sp!, {r3, pc}
mov r1, #0xd
bl func_ov25_02173ab4
ldmia sp!, {r3, pc}
arm_func_end func_ov25_02174048
.global func_ov25_021740a0
arm_func_start func_ov25_021740a0
func_ov25_021740a0: ; 0x021740a0
stmdb sp!, {r3, lr}
cmp r1, #1
bne _021740f8
ldr r1, [r0, #0x130]
cmp r1, #3
bne _021740c8
mov r1, #4
bl func_ov25_02173ab4
mov r0, #0
ldmia sp!, {r3, pc}
_021740c8:
cmp r1, #5
moveq r0, #1
ldmeqia sp!, {r3, pc}
cmp r1, #0xd
bne _021740ec
mov r1, #0xe
bl func_ov25_02173ab4
mov r0, #0
ldmia sp!, {r3, pc}
_021740ec:
cmp r1, #0xf
moveq r0, #1
ldmeqia sp!, {r3, pc}
_021740f8:
mov r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov25_021740a0
.global func_ov25_02174100
arm_func_start func_ov25_02174100
func_ov25_02174100: ; 0x02174100
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0x340
mov r4, r0
ldr r1, [r4, #0x48]
str r1, [r4, #0x54]
ldr r1, [r4, #0x4c]
str r1, [r4, #0x58]
ldr r1, [r4, #0x50]
str r1, [r4, #0x5c]
bl func_ov00_020c2bf4
mov r2, #0
add r0, r4, #0x400
strh r2, [r0, #0x78]
ldr r1, [r4, #0x4c]
sub r0, r2, #0xa000
cmp r1, r0
bge _02174178
add r0, r4, #0x17c
add r0, r0, #0x400
add r1, r4, #0x48
bl func_ov00_020c5330
ldr r1, [r4, #0x48]
mov r0, r4
str r1, [r4, #0x54]
ldr r2, [r4, #0x4c]
mov r1, #0xc
str r2, [r4, #0x58]
ldr r2, [r4, #0x50]
str r2, [r4, #0x5c]
bl func_ov25_02173ab4
_02174178:
ldr r0, [r4, #0x130]
sub r0, r0, #8
cmp r0, #3
addls pc, pc, r0, lsl #2
b _021741f4
_0217418c: ; jump table
b _0217419c ; case 0
b _0217419c ; case 1
b _0217419c ; case 2
b _0217419c ; case 3
_0217419c:
mov r0, r4
bl func_ov25_0217358c
cmp r0, #0
beq _021741f4
ldr r0, _02175074 ; =data_027e0f74
ldr r1, _02175078 ; =0x00000152
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
bne _021741e8
ldr r0, _02175074 ; =data_027e0f74
ldr r1, _02175078 ; =0x00000152
ldr r0, [r0]
mov r2, #1
bl func_ov00_0209779c
mov r0, r4
mov r1, #0x11
bl func_ov25_02173ab4
b _021741f4
_021741e8:
mov r0, r4
mov r1, #0x10
bl func_ov25_02173ab4
_021741f4:
ldr r0, [r4, #0x130]
cmp r0, #8
cmpne r0, #9
cmpne r0, #0xa
bne _02174248
ldr r1, [r4, #0x48]
ldr r0, _0217507c ; =data_027e0e60
str r1, [sp, #0xe8]
ldr r1, [r4, #0x4c]
ldr r0, [r0]
str r1, [sp, #0xec]
ldr r3, [r4, #0x50]
add r2, sp, #0xe8
mov r1, #0xd
str r3, [sp, #0xf0]
bl func_ov00_02083770
cmp r0, #0
beq _02174248
mov r0, r4
mov r1, #0x14
bl func_ov25_02173ab4
_02174248:
ldr r0, [r4, #0x130]
cmp r0, #0x19
addls pc, pc, r0, lsl #2
b _02175114
_02174258: ; jump table
b _021742c0 ; case 0
b _02174374 ; case 1
b _021743e4 ; case 2
b _021743f0 ; case 3
b _021743fc ; case 4
b _02174428 ; case 5
b _02174480 ; case 6
b _021744b8 ; case 7
b _02174510 ; case 8
b _021746a8 ; case 9
b _021747b8 ; case 10
b _0217480c ; case 11
b _021748f4 ; case 12
b _02174970 ; case 13
b _0217497c ; case 14
b _021749f4 ; case 15
b _02174a4c ; case 16
b _02174aa4 ; case 17
b _02174cd0 ; case 18
b _02174d14 ; case 19
b _02174d3c ; case 20
b _02174ee8 ; case 21
b _02174f90 ; case 22
b _02174ffc ; case 23
b _0217503c ; case 24
b _021750c0 ; case 25
_021742c0:
ldrh r0, [r4, #0x20]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _021742f4
_021742d0: ; jump table
b _021742f4 ; case 0
b _021742e0 ; case 1
b _021742e8 ; case 2
b _021742f0 ; case 3
_021742e0:
mov r5, #0x23
b _021742f4
_021742e8:
mov r5, #0x25
b _021742f4
_021742f0:
mov r5, #0x26
_021742f4:
ldr r0, _02175074 ; =data_027e0f74
mov r1, r5
ldr r0, [r0]
bl func_ov00_02097760
cmp r0, #0
beq _02175114
ldrh r0, [r4, #0x20]
cmp r0, #3
beq _02174328
mov r0, r4
mov r1, #6
bl func_ov25_02173ab4
b _02175114
_02174328:
mov r2, #0
add r1, sp, #0x10
add r0, r4, #0x48
strb r2, [sp, #0x10]
strb r2, [sp, #0x11]
bl func_ov00_020c5374
ldr r0, _0217507c ; =data_027e0e60
add r1, sp, #0x10
ldr r0, [r0]
bl func_ov00_020840c4
cmp r0, #0
mov r0, r4
bne _02174368
mov r1, #6
bl func_ov25_02173ab4
b _02175114
_02174368:
mov r1, #1
bl func_ov25_02173ab4
b _02175114
_02174374:
mov r2, #0
add r1, sp, #0xe
add r0, r4, #0x48
strb r2, [sp, #0xe]
strb r2, [sp, #0xf]
bl func_ov00_020c5374
ldr r0, _0217507c ; =data_027e0e60
add r1, sp, #0xe
ldr r0, [r0]
bl func_ov00_020840c4
cmp r0, #0
beq _021743d4
ldr r5, [r4, #0x138]
ldr r3, _02175080 ; =0xb60b60b7
mov r1, r5, lsr #0x1f
smull r2, r6, r3, r5
add r6, r5, r6
add r6, r1, r6, asr #6
mov r3, #0x5a
smull r1, r2, r3, r6
subs r6, r5, r1
bne _02175114
bl func_ov25_02177250
b _02175114
_021743d4:
mov r0, r4
mov r1, #6
bl func_ov25_02173ab4
b _02175114
_021743e4:
mov r0, r4
bl func_ov14_021452b0
b _02175114
_021743f0:
mov r0, r4
bl func_ov14_021452b0
b _02175114
_021743fc:
mov r0, r4
bl func_ov14_021452b0
ldr r0, [r4, #0x1e8]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02175114
mov r0, r4
mov r1, #5
bl func_ov25_02173ab4
b _02175114
_02174428:
ldr r0, [r4, #0x1f4]
add r1, sp, #0x94
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r0, [r4, #0x1f4]
add r1, sp, #0x94
ldrsh r2, [r0, #0x78]
add r0, r4, #0x1f8
bl func_ov14_0214aa0c
mov r0, r4
bl func_ov14_02145318
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xbc]
blx r1
cmp r0, #0
beq _02175114
mov r0, r4
mov r1, #0x18
bl func_ov25_02173ab4
b _02175114
_02174480:
ldr r0, [r4, #0x1f4]
add r1, sp, #0x88
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r2, [r4, #0x1f4]
add r1, sp, #0x88
ldrsh r3, [r2, #0x78]
add r0, r4, #0x1f8
add r2, r2, #0x48
bl func_ov14_0214a92c
mov r0, r4
bl func_ov14_021452b0
b _02175114
_021744b8:
ldr r0, [r4, #0x1f4]
add r1, sp, #0x7c
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r0, [r4, #0x1f4]
add r1, sp, #0x7c
ldrsh r2, [r0, #0x78]
add r0, r4, #0x1f8
bl func_ov14_0214aa0c
mov r0, r4
bl func_ov14_02145318
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xbc]
blx r1
cmp r0, #0
beq _02175114
mov r0, r4
mov r1, #0xa
bl func_ov25_02173ab4
b _02175114
_02174510:
ldr r0, [r4, #0x1f4]
add r1, sp, #0x70
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r0, [r4, #0x1f4]
add r1, sp, #0x70
ldrsh r2, [r0, #0x78]
add r0, r4, #0x1f8
bl func_ov14_0214aa0c
mov r0, r4
bl func_ov00_020c28ec
add r1, r4, #0x7c
mov r5, r0
add r0, r1, #0x400
bl func_ov25_02175638
add r0, r4, #0x7c
add r1, sp, #0x148
add r0, r0, #0x400
bl func_ov25_021759c0
cmp r0, #0
beq _021745e0
add r1, sp, #0x148
mov r0, r4
bl func_ov00_020c288c
cmp r0, #0x800
bge _02174588
add r0, r4, #0x7c
add r0, r0, #0x400
bl func_ov25_02175a58
_02174588:
sub r0, r5, #0x1000
mov r1, #0x2000
bl func_01ff98e0
cmp r0, #0x1000
movgt r0, #0x1000
bgt _021745a8
cmp r0, #0
movlt r0, #0
_021745a8:
ldr r1, _02175084 ; =0x00000171
mov r2, #0
umull r6, r3, r0, r1
mla r3, r0, r2, r3
mov r0, r0, asr #0x1f
mla r3, r0, r1, r3
adds r2, r6, #0x800
adc r0, r3, #0
mov r2, r2, lsr #0xc
orr r2, r2, r0, lsl #20
add r1, sp, #0x148
mov r0, r4
add r2, r2, #0x7b
bl func_ov25_021732fc
_021745e0:
ldr r1, _02175088 ; =data_027e0f94
ldr r0, _0217507c ; =data_027e0e60
ldr r3, [r1]
ldr r2, [r1, #4]
str r3, [sp, #0xdc]
str r2, [sp, #0xe0]
ldr r2, [r1, #8]
add r1, sp, #0xdc
str r2, [sp, #0xe4]
ldr r3, [r4, #0x48]
add r2, sp, #0xd0
str r3, [sp, #0xd0]
ldr r6, [r4, #0x4c]
ldr r3, _0217508c ; =0x00000555
str r6, [sp, #0xd4]
ldr r6, [r4, #0x50]
str r6, [sp, #0xd8]
ldr r6, [r4, #8]
str r6, [sp]
ldrh r6, [r4, #0x9c]
str r6, [sp, #4]
ldr r6, [r4, #0xa0]
str r6, [sp, #8]
ldr r0, [r0]
bl func_01ffe1cc
mov r6, r0
mov r0, r4
mov r1, #0x3000
bl func_ov00_020c29ec
cmp r0, #0
beq _0217466c
mov r0, r4
mov r1, #0xb
bl func_ov25_02173ab4
b _02175114
_0217466c:
cmp r5, #0x5000
ble _02174684
mov r0, r4
mov r1, #0xc
bl func_ov25_02173ab4
b _02175114
_02174684:
ldr r0, _02175090 ; =0x00001333
cmp r5, r0
bge _02175114
cmp r6, #0
bne _02175114
mov r0, r4
mov r1, #9
bl func_ov25_02173ab4
b _02175114
_021746a8:
ldr r0, [r4, #0x1f4]
add r1, sp, #0x64
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r0, [r4, #0x1f4]
add r1, sp, #0x64
ldrsh r2, [r0, #0x78]
add r0, r4, #0x1f8
bl func_ov14_0214aa0c
ldr r1, _02175088 ; =data_027e0f94
mov r0, r4
mov r2, #0x7b
bl func_ov25_021732fc
ldr r1, _02175088 ; =data_027e0f94
ldr r0, _0217507c ; =data_027e0e60
ldr r3, [r1]
ldr r2, [r1, #4]
str r3, [sp, #0xc4]
str r2, [sp, #0xc8]
ldr r2, [r1, #8]
add r1, sp, #0xc4
str r2, [sp, #0xcc]
ldr r3, [r4, #0x48]
add r2, sp, #0xb8
str r3, [sp, #0xb8]
ldr r5, [r4, #0x4c]
ldr r3, _0217508c ; =0x00000555
str r5, [sp, #0xbc]
ldr r5, [r4, #0x50]
str r5, [sp, #0xc0]
ldr r5, [r4, #8]
str r5, [sp]
ldrh r5, [r4, #0x9c]
str r5, [sp, #4]
ldr r5, [r4, #0xa0]
str r5, [sp, #8]
ldr r0, [r0]
bl func_01ffe1cc
mov r6, r0
mov r0, r4
bl func_ov00_020c28ec
mov r5, r0
mov r0, r4
mov r1, #0x3000
bl func_ov00_020c29ec
cmp r0, #0
beq _02174778
mov r0, r4
mov r1, #0xb
bl func_ov25_02173ab4
b _02175114
_02174778:
ldr r0, _02175090 ; =0x00001333
cmp r5, r0
bgt _0217478c
cmp r6, #0
beq _0217479c
_0217478c:
mov r0, r4
mov r1, #8
bl func_ov25_02173ab4
b _02175114
_0217479c:
rsb r0, r0, #0x2000
cmp r5, r0
bge _02175114
mov r0, r4
mov r1, #0xa
bl func_ov25_02173ab4
b _02175114
_021747b8:
ldr r0, [r4, #0x1f4]
add r1, sp, #0x58
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r0, [r4, #0x1f4]
add r1, sp, #0x58
ldrsh r2, [r0, #0x78]
add r0, r4, #0x1f8
bl func_ov14_0214aa0c
mov r0, r4
bl func_ov25_02173250
mov r0, r4
bl func_ov00_020c28ec
ldr r1, _02175090 ; =0x00001333
cmp r0, r1
ble _02175114
mov r0, r4
mov r1, #9
bl func_ov25_02173ab4
b _02175114
_0217480c:
ldr r0, [r4, #0x1f4]
add r1, sp, #0x4c
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r0, [r4, #0x1f4]
add r1, sp, #0x4c
ldrsh r2, [r0, #0x78]
add r0, r4, #0x1f8
bl func_ov14_0214aa0c
mov r0, r4
bl func_ov25_02173250
ldr r1, _02175088 ; =data_027e0f94
ldr r0, _0217507c ; =data_027e0e60
ldr r3, [r1]
ldr r2, [r1, #4]
str r3, [sp, #0xac]
str r2, [sp, #0xb0]
ldr r2, [r1, #8]
add r1, sp, #0xac
str r2, [sp, #0xb4]
ldr r3, [r4, #0x48]
add r2, sp, #0xa0
str r3, [sp, #0xa0]
ldr r5, [r4, #0x4c]
ldr r3, _02175094 ; =0x000002aa
str r5, [sp, #0xa4]
ldr r5, [r4, #0x50]
str r5, [sp, #0xa8]
ldr r5, [r4, #8]
str r5, [sp]
ldrh r5, [r4, #0x9c]
str r5, [sp, #4]
ldr r5, [r4, #0xa0]
str r5, [sp, #8]
ldr r0, [r0]
bl func_01ffe1cc
mov r5, r0
mov r0, r4
bl func_ov00_020c28ec
mov r6, r0
mov r0, r4
bl func_ov00_020c28ec
ldr r1, _02175090 ; =0x00001333
cmp r0, r1
ble _021748dc
cmp r5, #0
bne _021748dc
mov r0, r4
mov r1, #9
bl func_ov25_02173ab4
b _02175114
_021748dc:
cmp r6, #0x5000
ble _02175114
mov r0, r4
mov r1, #0xc
bl func_ov25_02173ab4
b _02175114
_021748f4:
mov r0, r4
bl func_ov14_021452b0
mov r0, r4
bl func_ov00_020c28ec
mov r5, r0
add r0, sp, #0x14
mov r1, r4
bl func_ov25_0217345c
ldr r1, [sp, #0x14]
mvn r0, #0
cmp r1, r0
bne _02174964
mov r0, #5
str r0, [r4, #0x12c]
cmp r5, #0x5000
bge _02175114
ldr r1, _02175098 ; =data_ov00_020eed2c
ldr r0, _0217509c ; =0x00000bb8
ldrh r1, [r1, #2]
cmp r1, r0
bls _02175114
mov r0, r4
mov r1, #0
bl func_ov00_020c1908
mov r0, r4
mov r1, #8
bl func_ov25_02173ab4
b _02175114
_02174964:
mov r0, #0
str r0, [r4, #0x12c]
b _02175114
_02174970:
mov r0, r4
bl func_ov14_021452b0
b _02175114
_0217497c:
mov r0, r4
bl func_ov14_021452b0
ldr r0, [r4, #0x428]
add r0, r4, r0, lsl #2
ldr r0, [r0, #0x420]
cmp r0, #3
bne _021749c8
ldr r0, [r4, #0x1e8]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02175114
add r0, r4, #0x1d8
mov r1, #4
bl func_ov14_02145e48
ldr r0, [r4, #0x1e8]
mov r1, #0x1000
str r1, [r0, #0x10]
b _02175114
_021749c8:
cmp r0, #4
bne _02175114
ldr r0, [r4, #0x1e8]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02175114
mov r0, r4
mov r1, #0xf
bl func_ov25_02173ab4
b _02175114
_021749f4:
ldr r0, [r4, #0x1f4]
add r1, sp, #0x40
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r0, [r4, #0x1f4]
add r1, sp, #0x40
ldrsh r2, [r0, #0x78]
add r0, r4, #0x1f8
bl func_ov14_0214aa0c
mov r0, r4
bl func_ov14_02145318
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xbc]
blx r1
cmp r0, #0
beq _02175114
mov r0, r4
mov r1, #8
bl func_ov25_02173ab4
b _02175114
_02174a4c:
mov r0, r4
bl func_ov14_021452b0
mov r0, r4
bl func_ov25_021735f0
ldr r0, [r4, #0x1e8]
mov r1, #0xe000
add r0, r0, #0xc
bl func_0202e310
cmp r0, #0
beq _02175114
ldr r0, [r4, #0x138]
cmp r0, #0x1e
ble _02175114
mvn r1, #0
str r1, [r4, #0x544]
mov r0, r4
str r1, [r4, #0x548]
mov r2, #0
mov r1, #0xc
str r2, [r4, #0x54c]
bl func_ov25_02173ab4
b _02175114
_02174aa4:
mov r0, r4
bl func_ov25_0217542c
cmp r0, #0
mov r0, r4
bne _02174cb4
bl func_ov25_021753e0
cmp r0, #0
beq _02175114
add r0, sp, #0x290
bl func_ov00_0209a4f4
ldr r0, _021750a0 ; =data_027e0f64
mvn r2, #0
mov r1, #0x64
strb r1, [sp, #0x299]
ldr r0, [r0]
str r2, [sp, #0x294]
ldr r0, [r0, #4]
add r1, sp, #0x228
bl func_ov00_02087d34
ldrb r5, [sp, #0x288]
ldrb r2, [sp, #0x289]
mov r0, #0x18000
strb r5, [sp, #0x31c]
ldr r5, [sp, #0x22c]
strb r2, [sp, #0x31d]
ldr r2, [sp, #0x230]
str r5, [sp, #0x2c0]
ldr r5, [sp, #0x234]
str r2, [sp, #0x2c4]
ldr r2, [sp, #0x23c]
str r5, [sp, #0x2c8]
ldr r5, [sp, #0x244]
str r2, [sp, #0x2d0]
ldr r2, [sp, #0x248]
str r5, [sp, #0x2d8]
ldr r5, [sp, #0x24c]
mov r1, #0x2000
str r2, [sp, #0x2dc]
ldr r2, [sp, #0x250]
str r5, [sp, #0x2e0]
ldr r5, [sp, #0x254]
str r2, [sp, #0x2e4]
ldr r2, [sp, #0x258]
str r5, [sp, #0x2e8]
ldr r5, [sp, #0x25c]
str r2, [sp, #0x2ec]
ldr r2, [sp, #0x260]
str r5, [sp, #0x2f0]
ldr r5, [sp, #0x264]
str r2, [sp, #0x2f4]
ldr r2, [sp, #0x268]
str r5, [sp, #0x2f8]
ldr r5, [sp, #0x26c]
str r2, [sp, #0x2fc]
ldr r2, [sp, #0x270]
str r5, [sp, #0x300]
ldr r5, [sp, #0x274]
ldrb r3, [sp, #0x28a]
str r2, [sp, #0x304]
ldr r2, [sp, #0x278]
str r5, [sp, #0x308]
ldr r5, [sp, #0x27c]
ldrb r7, [sp, #0x28b]
ldrb r6, [sp, #0x28c]
ldr r8, [sp, #0x228]
str r2, [sp, #0x30c]
ldr r2, [sp, #0x280]
str r5, [sp, #0x310]
ldr r5, [sp, #0x284]
strb r3, [sp, #0x31e]
str r2, [sp, #0x314]
mov r2, #1
str r5, [sp, #0x318]
ldr r3, _021750a4 ; =data_027e0fe4
str r8, [sp, #0x2bc]
add r5, sp, #0x13c
strb r7, [sp, #0x31f]
str r0, [sp, #0x240]
str r0, [sp, #0x2d4]
strb r6, [sp, #0x320]
add r0, r4, #0x48
str r1, [sp, #0x238]
str r1, [sp, #0x2cc]
strb r2, [sp, #0x2a4]
ldmia r0, {r0, r1, r2}
stmia r5, {r0, r1, r2}
add r1, r4, #0x144
ldr r0, [r3]
add r1, r1, #0x400
bl func_ov00_020c3674
add r1, r0, #0x48
add r0, r4, #0x48
mov r2, r5
bl func_01ff9bc4
ldr r2, [sp, #0x13c]
mov r1, #0
mov r0, r2, asr #0x1f
mov r3, r0, lsl #0xb
mov r0, #0x800
orr r3, r3, r2, lsr #21
adds r2, r0, r2, lsl #11
adc r3, r3, #0
mov r2, r2, lsr #0xc
orr r2, r2, r3, lsl #20
str r2, [sp, #0x13c]
ldr r6, [sp, #0x140]
ldr r5, [sp, #0x144]
mov r3, r6, asr #0x1f
mov r7, r3, lsl #0xb
mov r3, r5, asr #0x1f
mov r3, r3, lsl #0xb
orr r7, r7, r6, lsr #21
adds r8, r0, r6, lsl #11
adc r7, r7, r1
adds r6, r0, r5, lsl #11
orr r3, r3, r5, lsr #21
adc r0, r3, r1
mov r5, r8, lsr #0xc
orr r5, r5, r7, lsl #20
mov r3, r6, lsr #0xc
orr r3, r3, r0, lsl #20
add r1, sp, #0x290
mov r0, r4
str r5, [sp, #0x140]
str r3, [sp, #0x144]
str r2, [sp, #0x2b0]
str r5, [sp, #0x2b4]
str r3, [sp, #0x2b8]
bl func_ov25_0217540c
add r0, sp, #0x290
bl func_ov00_0209a508
b _02175114
_02174cb4:
bl func_ov25_02175444
cmp r0, #0
beq _02175114
mov r0, r4
mov r1, #0x12
bl func_ov25_02173ab4
b _02175114
_02174cd0:
mov r0, r4
bl func_ov25_021735f0
ldr r0, _021750a8 ; =data_027e0c68
mov r1, #0
bl func_02036770
cmp r0, #0
beq _02175114
ldr r0, [r4, #0x1e8]
mov r1, #0xe000
add r0, r0, #0xc
bl func_0202e310
cmp r0, #0
beq _02175114
mov r0, r4
mov r1, #0x13
bl func_ov25_02173ab4
b _02175114
_02174d14:
mov r0, r4
bl func_ov25_02175484
cmp r0, #0
beq _02175114
mvn r2, #0
mov r0, r4
mov r1, #0xc
str r2, [r4, #0x580]
bl func_ov25_02173ab4
b _02175114
_02174d3c:
mov r0, r4
bl func_ov14_02145318
mov r2, #0
add r1, sp, #0x214
mvn r3, #0
ldr r6, _021750ac ; =data_ov00_020e72f0
ldr r5, _021750b0 ; =0x43425331
add r7, sp, #0x160
mov r0, #0x10
str r0, [sp, #0x158]
str r6, [sp, #0x1e0]
str r5, [sp, #0x1e4]
str r3, [sp, #0x1e8]
str r3, [sp, #0x1ec]
str r2, [sp, #0x1f0]
strb r2, [sp, #0x1f4]
strb r2, [sp, #0x210]
str r2, [r1, #0xc]
str r2, [r1]
str r2, [r1, #4]
str r2, [r1, #8]
str r7, [sp, #0x154]
str r2, [sp, #0x15c]
add r0, sp, #0x1e0
_02174d9c:
str r3, [r7]
str r3, [r7, #4]
add r7, r7, #8
cmp r7, r0
blo _02174d9c
ldr r0, _021750a4 ; =data_027e0fe4
add r1, sp, #0x1e0
ldr r0, [r0]
add r2, sp, #0x154
bl func_ov00_020c37ec
ldr r0, [sp, #0x15c]
mov r6, #1
cmp r0, #0
mov r7, #0
ble _02174e14
ldr sb, _021750a4 ; =data_027e0fe4
mov r8, r7
mov r5, r7
_02174de4:
ldr r1, [sp, #0x154]
ldr r0, [sb]
add r1, r1, r8
bl func_ov00_020c3674
ldrb r0, [r0, #0x11c]
add r7, r7, #1
add r8, r8, #8
cmp r0, #0
ldr r0, [sp, #0x15c]
movne r6, r5
cmp r7, r0
blt _02174de4
_02174e14:
cmp r6, #0
beq _02175114
mov r0, r4
bl func_ov25_021753e0
cmp r0, #0
beq _02175114
ldrh r0, [r4, #0x20]
cmp r0, #3
addls pc, pc, r0, lsl #2
b _02174e90
_02174e3c: ; jump table
b _02174e90 ; case 0
b _02174e4c ; case 1
b _02174e64 ; case 2
b _02174e7c ; case 3
_02174e4c:
ldr r0, _02175074 ; =data_027e0f74
mov r1, #0x25
ldr r0, [r0]
mov r2, #1
bl func_ov00_0209779c
b _02174e90
_02174e64:
ldr r0, _02175074 ; =data_027e0f74
mov r1, #0x26
ldr r0, [r0]
mov r2, #1
bl func_ov00_0209779c
b _02174e90
_02174e7c:
ldr r0, _02175074 ; =data_027e0f74
mov r1, #0x34
ldr r0, [r0]
mov r2, #1
bl func_ov00_0209779c
_02174e90:
mov r0, r4
mov r1, #0
mov r2, #1
bl func_ov00_020c1c20
mov r0, r4
bl func_ov14_0214591c
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xb4]
blx r1
mov r0, r4
mov r1, #1
bl func_ov00_020c1908
ldr r0, _02175074 ; =data_027e0f74
mov r1, #0x150
ldr r0, [r0]
mov r2, #0
bl func_ov00_0209779c
mov r0, r4
mov r1, #0x15
bl func_ov25_02173ab4
b _02175114
_02174ee8:
mov r0, r4
bl func_ov14_02145318
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xbc]
blx r1
cmp r0, #0
beq _02175114
ldrh r0, [r4, #0x20]
cmp r0, #3
bne _02174f80
ldr r0, _0217507c ; =data_027e0e60
mov r6, #0
sub r3, r6, #2
mov r7, #0x47
str r3, [sp, #0x130]
ldr r0, [r0]
str r7, [sp, #0x124]
str r6, [sp, #0x128]
str r6, [sp, #0x12c]
add r3, sp, #0x10c
strh r6, [r3, #0x28]
mov r5, #0xff
add r2, sp, #0x124
mov r1, #3
strb r5, [sp, #0x136]
strb r6, [sp, #0x137]
strb r6, [sp, #0x138]
strb r6, [sp, #0x139]
bl func_ov00_020838e8
ldr r0, _021750b4 ; =data_027e0d38
mov r3, #0x17
ldr r0, [r0]
add r1, sp, #0x124
mov r2, #1
str r3, [sp, #0x128]
bl func_ov05_02100ae0
b _02175114
_02174f80:
mov r0, r4
mov r1, #0x16
bl func_ov25_02173ab4
b _02175114
_02174f90:
ldr r0, [r4, #0x1f4]
add r1, sp, #0x34
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r2, [r4, #0x1f4]
add r1, sp, #0x34
ldrsh r3, [r2, #0x78]
add r0, r4, #0x1f8
add r2, r2, #0x48
bl func_ov14_0214a92c
add r1, r4, #0x134
mov r0, r4
add r1, r1, #0x400
mov r2, #0x7b
bl func_ov25_021732fc
add r1, r4, #0x134
mov r0, r4
add r1, r1, #0x400
bl func_ov00_020c288c
ldr r1, _021750b8 ; =0x0000019a
cmp r0, r1
bge _02175114
mov r0, r4
mov r1, #0x17
bl func_ov25_02173ab4
b _02175114
_02174ffc:
add r0, r4, #0x500
ldrsh r1, [r0, #0x40]
mov r0, r4
bl func_ov25_021732bc
add r0, r4, #0x500
ldrsh r1, [r4, #0x78]
ldrsh r0, [r0, #0x40]
subs r1, r1, r0
ldr r0, _021750bc ; =0x0000038e
rsbmi r1, r1, #0
cmp r1, r0
bge _02175114
mov r0, r4
mov r1, #0x18
bl func_ov25_02173ab4
b _02175114
_0217503c:
ldr r0, [r4, #0x1f4]
add r1, sp, #0x28
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r2, [r4, #0x1f4]
add r1, sp, #0x28
ldrsh r3, [r2, #0x78]
add r0, r4, #0x1f8
add r2, r2, #0x48
bl func_ov14_0214a92c
mov r0, r4
bl func_ov14_021452b0
b _02175114
.align 2, 0
arm_func_end func_ov25_02174100
_02175074: .word data_027e0f74
_02175078: .word 0x00000152
_0217507c: .word data_027e0e60
_02175080: .word 0xb60b60b7
_02175084: .word 0x00000171
_02175088: .word data_027e0f94
_0217508c: .word 0x00000555
_02175090: .word 0x00001333
_02175094: .word 0x000002aa
_02175098: .word data_ov00_020eed2c
_0217509c: .word 0x00000bb8
_021750a0: .word data_027e0f64
_021750a4: .word data_027e0fe4
_021750a8: .word data_027e0c68
_021750ac: .word data_ov00_020e72f0
_021750b0: .word 0x43425331
_021750b4: .word data_027e0d38
_021750b8: .word 0x0000019a
_021750bc: .word 0x0000038e
_021750c0:
ldr r0, [r4, #0x1f4]
add r1, sp, #0x1c
ldr r2, [r0]
ldr r2, [r2, #0x34]
blx r2
ldr r0, [r4, #0x1f4]
add r1, sp, #0x1c
ldrsh r2, [r0, #0x78]
add r0, r4, #0x1f8
bl func_ov14_0214aa0c
mov r0, r4
bl func_ov14_02145318
mov r0, r4
ldr r1, [r0]
ldr r1, [r1, #0xbc]
blx r1
cmp r0, #0
beq _02175114
mov r0, r4
mov r1, #0x18
bl func_ov25_02173ab4
_02175114:
add r0, r4, #0x1d8
bl func_ov14_02145cac
ldr r0, [r4, #0x428]
add r0, r4, r0, lsl #2
ldr r0, [r0, #0x420]
cmp r0, #1
cmpne r0, #5
bne _021751bc
ldr r2, [r4, #0x68]
ldr r5, [r4, #0x60]
smull r1, r0, r2, r2
smull r3, r2, r5, r5
adds r3, r3, #0x800
adc r2, r2, #0
adds r1, r1, #0x800
mov r3, r3, lsr #0xc
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
bl func_01ff9958
ldr r1, _02175084 ; =0x00000171
sub r0, r0, #0x7b
bl func_01ff98e0
cmp r0, #0x1000
movgt r0, #0x1000
bgt _0217518c
cmp r0, #0
movlt r0, #0
_0217518c:
mov r1, r0, asr #0x1f
mov r2, r1, lsl #0xc
mov r1, #0x800
adds r1, r1, r0, lsl #12
orr r2, r2, r0, lsr #20
adc r0, r2, #0
mov r1, r1, lsr #0xc
orr r1, r1, r0, lsl #20
add r0, r1, #0xcd
ldr r1, [r4, #0x1e8]
add r0, r0, #0xc00
str r0, [r1, #0x10]
_021751bc:
ldr r0, [r4, #0x130]
cmp r0, #2
cmpne r0, #3
cmpne r0, #4
cmpne r0, #5
cmpne r0, #6
cmpne r0, #7
beq _021751e8
sub r0, r0, #0x18
cmp r0, #1
bhi _02175244
_021751e8:
mov r0, r4
bl func_ov14_02145178
ldr r6, [r4, #0x4c]
ldr r8, [r4, #0x88]
ldr r0, [r4, #0x48]
ldr r7, [r4, #0x50]
sub r5, r0, r8
add r2, r0, r8
sub r3, r7, r8
add r1, r6, #0x2000
add r0, r7, r8
str r1, [sp, #0x11c]
str r0, [sp, #0x120]
str r5, [sp, #0x10c]
str r6, [sp, #0x110]
str r3, [sp, #0x114]
add r0, r4, #0x550
str r2, [sp, #0x118]
ldr r2, [r0]
add r1, sp, #0x10c
ldr r2, [r2, #0x20]
blx r2
b _02175278
_02175244:
mov r1, #0x64000
mov r0, #0x65000
str r1, [sp, #0xf4]
str r1, [sp, #0xf8]
str r1, [sp, #0xfc]
str r0, [sp, #0x100]
str r0, [sp, #0x104]
str r0, [sp, #0x108]
add r0, r4, #0x550
ldr r2, [r0]
add r1, sp, #0xf4
ldr r2, [r2, #0x20]
blx r2
_02175278:
add r0, r4, #0x400
ldrh r0, [r0, #0x78]
tst r0, #2
movne r1, #1
moveq r1, #0
cmp r1, #1
addne sp, sp, #0x340
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
tst r0, #1
movne r0, #1
moveq r0, #0
cmp r0, #0
addne sp, sp, #0x340
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
mov r2, #0
add r1, sp, #0xc
add r0, r4, #0x48
strb r2, [sp, #0xc]
strb r2, [sp, #0xd]
bl func_ov00_020c5374
ldr r0, _0217507c ; =data_027e0e60
add r1, sp, #0xc
ldr r0, [r0]
bl func_ov00_02084164
cmp r0, #0
addeq sp, sp, #0x340
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
ldrb r0, [sp, #0xc]
strb r0, [r4, #0x57c]
ldrb r0, [sp, #0xd]
strb r0, [r4, #0x57d]
add sp, sp, #0x340
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
.global func_ov25_021752fc
arm_func_start func_ov25_021752fc
func_ov25_021752fc: ; 0x021752fc
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x130]
cmp r0, #3
cmpne r0, #4
cmpne r0, #5
cmpne r0, #7
cmpne r0, #0xd
cmpne r0, #0xe
cmpne r0, #0xf
cmpne r0, #0x11
cmpne r0, #0x12
cmpne r0, #0x13
cmpne r0, #0x19
cmpne r0, #0x15
beq _0217534c
bl func_ov25_0217535c
bl func_ov00_020b1e98
cmp r0, #0
beq _02175354
_0217534c:
mov r0, #1
ldmia sp!, {r4, pc}
_02175354:
ldrb r0, [r4, #0x11c]
ldmia sp!, {r4, pc}
arm_func_end func_ov25_021752fc
.global func_ov25_0217535c
arm_func_start func_ov25_0217535c
func_ov25_0217535c: ; 0x0217535c
ldr ip, _02175368 ; =func_01fffcd8
mov r0, #6
bx ip
.align 2, 0
arm_func_end func_ov25_0217535c
_02175368: .word func_01fffcd8
.global func_ov25_0217536c
arm_func_start func_ov25_0217536c
func_ov25_0217536c: ; 0x0217536c
stmdb sp!, {r4, lr}
sub sp, sp, #0x18
mov r4, r0
cmp r1, #0
ldrneb r0, [r4, #0xa5]
ldreqb r0, [r4, #0xa4]
cmp r0, #0
addeq sp, sp, #0x18
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #0x1dc]
mov r1, #0x1f
bl func_020197fc
add r0, r4, #0x1d8
bl func_ov00_020c5f1c
ldr r3, [r4, #0x45c]
mov r1, #0
str r3, [sp]
str r1, [sp, #4]
mov r0, #0x1f
str r0, [sp, #8]
str r1, [sp, #0xc]
str r1, [sp, #0x10]
ldr r0, _021753dc ; =data_ov00_020e9370
add r2, r4, #0x48
str r1, [sp, #0x14]
bl func_ov05_02102c2c
add sp, sp, #0x18
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_0217536c
_021753dc: .word data_ov00_020e9370
.global func_ov25_021753e0
arm_func_start func_ov25_021753e0
func_ov25_021753e0: ; 0x021753e0
stmdb sp!, {r3, lr}
ldr r2, [r0, #0x580]
mvn r1, #0
cmp r2, r1
movne r0, #0
ldmneia sp!, {r3, pc}
bl func_ov00_020c198c
cmp r0, #0
movne r0, #1
moveq r0, #0
ldmia sp!, {r3, pc}
arm_func_end func_ov25_021753e0
.global func_ov25_0217540c
arm_func_start func_ov25_0217540c
func_ov25_0217540c: ; 0x0217540c
stmdb sp!, {r4, lr}
ldr r2, _02175428 ; =data_027e0f74
mov r4, r0
ldr r0, [r2]
bl func_ov00_02097810
str r0, [r4, #0x580]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_0217540c
_02175428: .word data_027e0f74
.global func_ov25_0217542c
arm_func_start func_ov25_0217542c
func_ov25_0217542c: ; 0x0217542c
ldr r1, [r0, #0x580]
mvn r0, #0
cmp r1, r0
movne r0, #1
moveq r0, #0
bx lr
arm_func_end func_ov25_0217542c
.global func_ov25_02175444
arm_func_start func_ov25_02175444
func_ov25_02175444: ; 0x02175444
ldr r1, _0217545c ; =data_027e0f74
mov r2, r0
ldr r0, [r1]
ldr ip, _02175460 ; =func_ov00_02097b9c
ldr r1, [r2, #0x580]
bx ip
.align 2, 0
arm_func_end func_ov25_02175444
_0217545c: .word data_027e0f74
_02175460: .word func_ov00_02097b9c
.global func_ov25_02175464
arm_func_start func_ov25_02175464
func_ov25_02175464: ; 0x02175464
ldr r1, _0217547c ; =data_027e0f74
mov r2, r0
ldr r0, [r1]
ldr ip, _02175480 ; =func_ov00_02097bcc
ldr r1, [r2, #0x580]
bx ip
.align 2, 0
arm_func_end func_ov25_02175464
_0217547c: .word data_027e0f74
_02175480: .word func_ov00_02097bcc
.global func_ov25_02175484
arm_func_start func_ov25_02175484
func_ov25_02175484: ; 0x02175484
stmdb sp!, {r3, lr}
ldr r1, _021754c4 ; =data_027e0f74
mov r2, r0
ldr r0, [r1]
ldr r1, [r2, #0x580]
bl func_ov00_02097bac
cmp r0, #0
beq _021754bc
ldr r0, _021754c4 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097738
cmp r0, #0
moveq r0, #1
ldmeqia sp!, {r3, pc}
_021754bc:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02175484
_021754c4: .word data_027e0f74
.global func_ov25_021754c8
arm_func_start func_ov25_021754c8
func_ov25_021754c8: ; 0x021754c8
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_02081f4c
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_021754c8
.global func_ov25_021754e4
arm_func_start func_ov25_021754e4
func_ov25_021754e4: ; 0x021754e4
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r5, r0
cmp r1, #3
addls pc, pc, r1, lsl #2
b _02175534
_021754f8: ; jump table
b _02175508 ; case 0
b _02175514 ; case 1
b _02175520 ; case 2
b _0217552c ; case 3
_02175508:
mov r2, #0x81
mov r4, #0x85
b _02175534
_02175514:
mov r2, #0x82
mov r4, #0x85
b _02175534
_02175520:
mov r2, #0x83
mov r4, #0x85
b _02175534
_0217552c:
mov r2, #0x84
mov r4, #0x85
_02175534:
ldr r1, _02175570 ; =data_027e0fec
mov r0, #0x38
ldr r7, [r1]
mla r0, r2, r0, r7
bl func_ov00_020c4588
mov r1, #0x38
mov r6, r0
mla r0, r4, r1, r7
bl func_ov00_020c45b0
mov r2, r0
ldr r3, _02175574 ; =data_ov25_021795b8
mov r0, r5
mov r1, r6
bl func_ov00_020c5c64
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov25_021754e4
_02175570: .word data_027e0fec
_02175574: .word data_ov25_021795b8
.global func_ov25_02175578
arm_func_start func_ov25_02175578
func_ov25_02175578: ; 0x02175578
ldr r3, [r1]
mov r2, #0
str r3, [r0, #0xb0]
ldr r1, [r1, #4]
str r1, [r0, #0xb4]
str r2, [r0]
str r2, [r0, #4]
bx lr
arm_func_end func_ov25_02175578
.global func_ov25_02175598
arm_func_start func_ov25_02175598
func_ov25_02175598: ; 0x02175598
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x10
mov r4, r0
mov r2, #0
str r2, [r4]
add r1, sp, #4
add r0, r4, #0xb0
str r2, [r4, #4]
bl func_ov00_020c53e8
cmp r0, #0
addeq sp, sp, #0x10
ldmeqia sp!, {r3, r4, r5, pc}
mov r2, #0
add r0, sp, #0
add r1, sp, #4
strh r2, [sp]
strh r2, [sp, #2]
bl func_ov30_021872c4
ldr r5, [r4]
ldr r1, [r4, #8]
add r0, r5, #1
bl func_02002c14
ldr r0, [r4, #4]
cmp r0, r1
addeq sp, sp, #0x10
ldmeqia sp!, {r3, r4, r5, pc}
ldrh r1, [sp]
ldr ip, [r4, #0xc]
ldrh r0, [sp, #2]
mov r3, r5, lsl #0x2
add r2, ip, r5, lsl #2
strh r1, [ip, r3]
strh r0, [r2, #2]
ldr r0, [r4]
ldr r1, [r4, #8]
add r0, r0, #1
bl func_02002c14
str r1, [r4]
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov25_02175598
.global func_ov25_02175638
arm_func_start func_ov25_02175638
func_ov25_02175638: ; 0x02175638
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
sub sp, sp, #0x38
mov r4, r0
ldr r0, [r4]
ldr r1, [r4, #8]
add r0, r0, #1
bl func_02002c14
ldr r0, [r4, #4]
cmp r0, r1
addeq sp, sp, #0x38
moveq r0, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
add r1, sp, #0x2c
add r0, r4, #0xb0
bl func_ov00_020c53e8
cmp r0, #0
beq _021759b4
mov r2, #0
add r0, sp, #0x28
add r1, sp, #0x2c
strh r2, [sp, #0x28]
strh r2, [sp, #0x2a]
bl func_ov30_021872c4
ldmia r4, {r5, r6}
cmp r6, r5
bne _021756f8
ldr r1, [r4, #8]
add r0, r5, #1
bl func_02002c14
cmp r6, r1
addeq sp, sp, #0x38
moveq r0, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
ldrh r1, [sp, #0x28]
ldr r6, [r4, #0xc]
ldrh r0, [sp, #0x2a]
mov r3, r5, lsl #0x2
add r2, r6, r5, lsl #2
strh r1, [r6, r3]
strh r0, [r2, #2]
ldr r0, [r4]
ldr r1, [r4, #8]
add r0, r0, #1
bl func_02002c14
add sp, sp, #0x38
str r1, [r4]
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
_021756f8:
mov r0, #0
strh r0, [sp, #0x24]
strh r0, [sp, #0x26]
suble r0, r5, r6
ldrgt r0, [r4, #8]
addgt r0, r5, r0
subgt r0, r0, r6
cmp r0, #0
ble _02175744
ldr r1, [r4, #8]
sub r0, r5, #1
bl func_02002c14
ldr r3, [r4, #0xc]
mov r2, r1, lsl #0x2
add r0, r3, r1, lsl #2
ldrh r1, [r3, r2]
ldrh r0, [r0, #2]
strh r1, [sp, #0x24]
strh r0, [sp, #0x26]
_02175744:
ldrh r6, [sp, #0x24]
ldrh r3, [sp, #0x28]
ldrh r5, [sp, #0x26]
ldrh r2, [sp, #0x2a]
strh r6, [sp, #8]
strh r3, [sp, #0xc]
ldrsh r1, [sp, #0xc]
ldrsh r0, [sp, #8]
strh r5, [sp, #0xa]
strh r2, [sp, #0xe]
cmp r1, r0
ldreqsh r1, [sp, #0xe]
ldreqsh r0, [sp, #0xa]
strh r6, [sp, #0x18]
strh r5, [sp, #0x1a]
cmpeq r1, r0
strh r3, [sp, #0x1c]
strh r2, [sp, #0x1e]
addeq sp, sp, #0x38
moveq r0, #1
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
mov r8, #1
mov r7, #0
add r6, sp, #0x20
add r5, sp, #0x28
b _02175934
_021757ac:
strh r7, [sp, #0x20]
strh r7, [sp, #0x22]
ldmia r4, {r1, r2}
cmp r2, r1
suble r0, r1, r2
ldrgt r0, [r4, #8]
addgt r0, r1, r0
subgt r0, r0, r2
cmp r8, r0
bge _021757fc
ldr r1, [r4, #8]
add r0, r2, r8
bl func_02002c14
ldr r3, [r4, #0xc]
mov r2, r1, lsl #0x2
add r0, r3, r1, lsl #2
ldrh r1, [r3, r2]
ldrh r0, [r0, #2]
strh r1, [sp, #0x20]
strh r0, [sp, #0x22]
_021757fc:
ldrh sl, [sp, #0x28]
ldrh r3, [sp, #0x20]
ldrh sb, [sp, #0x2a]
ldrh r2, [sp, #0x22]
strh sl, [sp]
strh r3, [sp, #4]
ldrsh r1, [sp, #4]
ldrsh r0, [sp]
strh sb, [sp, #2]
strh r2, [sp, #6]
cmp r1, r0
ldreqsh r1, [sp, #6]
ldreqsh r0, [sp, #2]
strh sl, [sp, #0x10]
strh sb, [sp, #0x12]
strh r3, [sp, #0x14]
strh r2, [sp, #0x16]
cmpeq r1, r0
bne _02175888
ldmia r4, {r1, r2}
cmp r2, r1
ldrgt r0, [r4, #8]
suble r1, r1, r2
addgt r0, r1, r0
subgt r1, r0, r2
add r0, r8, #1
cmp r0, r1
bgt _0217587c
ldr r1, [r4, #8]
add r0, r2, r0
bl func_02002c14
str r1, [r4]
_0217587c:
add sp, sp, #0x38
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
_02175888:
mov r0, r6
mov r1, r5
bl func_ov30_02187340
cmp r0, #0
beq _02175930
ldmia r4, {r1, r2}
cmp r2, r1
ldrgt r0, [r4, #8]
suble r1, r1, r2
addgt r0, r1, r0
subgt r1, r0, r2
add r0, r8, #1
cmp r0, r1
bgt _021758d0
ldr r1, [r4, #8]
add r0, r2, r0
bl func_02002c14
str r1, [r4]
_021758d0:
ldr r6, [r4]
ldr r1, [r4, #8]
add r0, r6, #1
bl func_02002c14
ldr r0, [r4, #4]
cmp r0, r1
addeq sp, sp, #0x38
moveq r0, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
ldrh r1, [sp, #0x28]
ldr r5, [r4, #0xc]
ldrh r0, [sp, #0x2a]
mov r3, r6, lsl #0x2
add r2, r5, r6, lsl #2
strh r1, [r5, r3]
strh r0, [r2, #2]
ldr r0, [r4]
ldr r1, [r4, #8]
add r0, r0, #1
bl func_02002c14
add sp, sp, #0x38
str r1, [r4]
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
_02175930:
add r8, r8, #1
_02175934:
ldr sl, [r4]
ldr sb, [r4, #4]
cmp sb, sl
suble r0, sl, sb
ble _02175954
ldr r0, [r4, #8]
add r0, sl, r0
sub r0, r0, sb
_02175954:
cmp r8, r0
blt _021757ac
ldr r1, [r4, #8]
add r0, sl, #1
bl func_02002c14
cmp sb, r1
addeq sp, sp, #0x38
moveq r0, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
ldrh r1, [sp, #0x28]
ldr r5, [r4, #0xc]
ldrh r0, [sp, #0x2a]
mov r3, sl, lsl #0x2
add r2, r5, sl, lsl #2
strh r1, [r5, r3]
strh r0, [r2, #2]
ldr r0, [r4]
ldr r1, [r4, #8]
add r0, r0, #1
bl func_02002c14
add sp, sp, #0x38
str r1, [r4]
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
_021759b4:
mov r0, #0
add sp, sp, #0x38
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
arm_func_end func_ov25_02175638
.global func_ov25_021759c0
arm_func_start func_ov25_021759c0
func_ov25_021759c0: ; 0x021759c0
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
ldmia r5, {r0, r2}
mov r4, r1
cmp r2, r0
beq _02175a50
mov r0, #0
strh r0, [sp]
strh r0, [sp, #2]
ldr r2, [r5]
ldr r0, [r5, #4]
cmp r0, r2
suble r1, r2, r0
ldrgt r1, [r5, #8]
addgt r1, r2, r1
subgt r1, r1, r0
cmp r1, #0
movle r2, #0
ble _02175a34
ldr r1, [r5, #8]
bl func_02002c14
ldr r3, [r5, #0xc]
mov r2, r1, lsl #0x2
add r0, r3, r1, lsl #2
ldrh r1, [r3, r2]
ldrh r0, [r0, #2]
mov r2, #1
strh r1, [sp]
strh r0, [sp, #2]
_02175a34:
cmp r2, #0
beq _02175a50
add r0, sp, #0
mov r1, r4
bl func_ov30_02187304
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
_02175a50:
mov r0, #0
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov25_021759c0
.global func_ov25_02175a58
arm_func_start func_ov25_02175a58
func_ov25_02175a58: ; 0x02175a58
stmdb sp!, {r4, lr}
mov r4, r0
ldmia r4, {r0, r2}
cmp r2, r0
ldmeqia sp!, {r4, pc}
ldr r1, [r4, #8]
add r0, r2, #1
bl func_02002c14
str r1, [r4, #4]
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02175a58
.global func_ov25_02175a80
arm_func_start func_ov25_02175a80
func_ov25_02175a80: ; 0x02175a80
stmdb sp!, {r3, lr}
ldr r1, _02175aac ; =data_027e0fe0
mov r0, #0x1d4
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov25_02175ab0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02175a80
_02175aac: .word data_027e0fe0
.global func_ov25_02175ab0
arm_func_start func_ov25_02175ab0
func_ov25_02175ab0: ; 0x02175ab0
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c1554
ldr r0, _02175aec ; =data_ov25_0217a024
add r2, r4, #0x158
str r0, [r4]
add r0, r4, #0x178
mvn r1, #0
_02175ad0:
str r1, [r2]
str r1, [r2, #4]
add r2, r2, #8
cmp r2, r0
blo _02175ad0
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02175ab0
_02175aec: .word data_ov25_0217a024
.global func_ov25_02175af0
arm_func_start func_ov25_02175af0
func_ov25_02175af0: ; 0x02175af0
stmdb sp!, {r3, lr}
mov r1, #0
str r1, [r0, #0x1cc]
bl func_ov25_02176088
mov r0, #1
ldmia sp!, {r3, pc}
arm_func_end func_ov25_02175af0
.global func_ov25_02175b08
arm_func_start func_ov25_02175b08
func_ov25_02175b08: ; 0x02175b08
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
sub sp, sp, #0x74
ldr r1, _02175c48 ; =data_027e0fe4
mvn r8, #0
mov r7, #0
add r5, sp, #0x60
mov r6, r0
ldr lr, _02175c4c ; =data_ov00_020e72f0
ldr ip, _02175c50 ; =0x43425330
ldr r0, [r1]
add r4, sp, #0xc
mov r3, #4
add r1, sp, #0x2c
add r2, sp, #0
str r7, [sp, #8]
str r8, [sp, #0xc]
str r8, [sp, #0x10]
str r8, [sp, #0x14]
str r8, [sp, #0x18]
str r8, [sp, #0x1c]
str r8, [sp, #0x20]
str r8, [sp, #0x24]
str r8, [sp, #0x28]
str lr, [sp, #0x2c]
str ip, [sp, #0x30]
str r8, [sp, #0x34]
str r8, [sp, #0x38]
str r7, [sp, #0x3c]
strb r7, [sp, #0x40]
strb r7, [sp, #0x5c]
str r7, [r5, #0xc]
str r7, [r5]
str r7, [r5, #4]
str r7, [r5, #8]
str r4, [sp]
str r3, [sp, #4]
bl func_ov00_020c37ec
cmp r0, #0
ldrgt r0, [sp, #8]
movgt r4, r7
cmpgt r0, #0
ble _02175bfc
ldr r7, _02175c48 ; =data_027e0fe4
mov r5, r4
_02175bb8:
ldr r1, [sp]
ldr r0, [r7]
add r1, r1, r5
bl func_ov00_020c3674
ldr r2, [sp]
ldrh r1, [r0, #0x20]
ldr r0, [r2, r5]
add r2, r2, r5
add r1, r6, r1, lsl #3
str r0, [r1, #0x158]
ldr r0, [r2, #4]
add r4, r4, #1
str r0, [r1, #0x15c]
ldr r0, [sp, #8]
add r5, r5, #8
cmp r4, r0
blt _02175bb8
_02175bfc:
ldr r0, [sp, #8]
add r4, r6, #0x100
ldr r5, _02175c48 ; =data_027e0fe4
strh r0, [r4, #0x78]
add r6, r6, #0x158
mov r7, #0
_02175c14:
ldr r0, [r5]
mov r1, r6
bl func_ov00_020c3674
cmp r0, #0
beq _02175c30
ldrsh r1, [r4, #0x78]
bl func_ov25_0216eca4
_02175c30:
add r7, r7, #1
cmp r7, #4
add r6, r6, #8
blt _02175c14
add sp, sp, #0x74
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov25_02175b08
_02175c48: .word data_027e0fe4
_02175c4c: .word data_ov00_020e72f0
_02175c50: .word 0x43425330
.global func_ov25_02175c54
arm_func_start func_ov25_02175c54
func_ov25_02175c54: ; 0x02175c54
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x28
mov fp, r0
add r0, fp, #0x100
ldrsh r1, [r0, #0x78]
add r0, sp, #0x18
bl func_ov00_020c5a5c
ldr r0, _02175d18 ; =data_027e0e60
add r2, sp, #0
ldr r0, [r0]
mov r1, #1
bl func_ov00_020836bc
add r4, fp, #0x100
ldrsh r0, [r4, #0x78]
ldr r7, [sp]
ldr r1, [sp, #0xc]
cmp r0, #0
sub r8, r1, r7
mov r6, #0
addle sp, sp, #0x28
ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
mov sl, fp
add sb, fp, #0x17c
_02175cb0:
mov r0, fp
mov r1, r6
mov r2, sb
bl func_ov25_02175fac
ldrsh r5, [r4, #0x78]
mov r0, r8
mov r1, r5
bl func_02002c14
add r1, sp, #0x18
ldr r2, [r1, r6, lsl #2]
mov r1, r5
mov r5, r0
mul r0, r8, r2
bl func_02002c14
add r1, r5, r5, lsr #31
add r0, r7, r0
add r0, r0, r1, asr #1
str r0, [sl, #0x17c]
ldrsh r0, [r4, #0x78]
add r6, r6, #1
add sb, sb, #0xc
cmp r6, r0
add sl, sl, #0xc
blt _02175cb0
add sp, sp, #0x28
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov25_02175c54
_02175d18: .word data_027e0e60
.global func_ov25_02175d1c
arm_func_start func_ov25_02175d1c
func_ov25_02175d1c: ; 0x02175d1c
stmdb sp!, {r4, r5, r6, lr}
ldr r4, _02175d68 ; =data_027e0fe4
add r6, r0, #0x158
mov r5, #0
_02175d2c:
ldr r0, [r4]
mov r1, r6
bl func_ov00_020c3674
cmp r0, #0
beq _02175d50
bl func_ov25_0216eeec
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, r5, r6, pc}
_02175d50:
add r5, r5, #1
cmp r5, #4
add r6, r6, #8
blt _02175d2c
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov25_02175d1c
_02175d68: .word data_027e0fe4
.global func_ov25_02175d6c
arm_func_start func_ov25_02175d6c
func_ov25_02175d6c: ; 0x02175d6c
stmdb sp!, {r4, r5, r6, lr}
ldr r4, _02175db8 ; =data_027e0fe4
add r6, r0, #0x158
mov r5, #0
_02175d7c:
ldr r0, [r4]
mov r1, r6
bl func_ov00_020c3674
cmp r0, #0
beq _02175da0
bl func_ov25_0216ef14
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, r5, r6, pc}
_02175da0:
add r5, r5, #1
cmp r5, #4
add r6, r6, #8
blt _02175d7c
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov25_02175d6c
_02175db8: .word data_027e0fe4
.global func_ov25_02175dbc
arm_func_start func_ov25_02175dbc
func_ov25_02175dbc: ; 0x02175dbc
stmdb sp!, {r4, r5, r6, r7, r8, lr}
sub sp, sp, #8
ldr r1, _02175e78 ; =data_027e0fe4
mov r5, r0
ldr r1, [r1]
ldr r2, _02175e7c ; =0x43425330
add r0, sp, #0
bl func_ov00_020c3894
ldr r1, [sp]
mvn r0, #0
cmp r1, r0
addeq sp, sp, #8
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
add r4, r5, #0x100
ldrsh r0, [r4, #0x78]
cmp r0, #4
moveq r0, #0
addeq sp, sp, #8
streqh r0, [r4, #0xac]
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
add r7, r5, #0x158
ldr r6, _02175e80 ; =data_027e0764
ldr r5, _02175e78 ; =data_027e0fe4
mov r8, #0
_02175e1c:
ldr r1, [r6]
ldmib r6, {r0, r2}
umull ip, r3, r2, r1
mla r3, r2, r0, r3
ldr r0, [r6, #0xc]
ldr r2, [r6, #0x10]
mla r3, r0, r1, r3
ldr r0, [r6, #0x14]
adds r1, r2, ip
str r1, [r6]
adc r1, r0, r3
mov r0, r8, lsl #0x2
str r1, [r6, #4]
orr r0, r0, r1, lsr #30
strh r0, [r4, #0xac]
ldrsh r1, [r4, #0xac]
ldr r0, [r5]
add r1, r7, r1, lsl #3
bl func_ov00_020c3674
cmp r0, #0
beq _02175e1c
add sp, sp, #8
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov25_02175dbc
_02175e78: .word data_027e0fe4
_02175e7c: .word 0x43425330
_02175e80: .word data_027e0764
.global func_ov25_02175e84
arm_func_start func_ov25_02175e84
func_ov25_02175e84: ; 0x02175e84
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #0x20
mov sl, r0
add r0, sp, #0x10
mov r1, #4
bl func_ov00_020c5a5c
add r0, sl, #0x100
ldrsh r0, [r0, #0x78]
mov r2, #0
cmp r0, #4
bne _02175edc
ldr r3, [sp, #0x1c]
add r1, sp, #0x10
str r2, [sp, #0x1c]
_02175ebc:
ldr r0, [r1, r2, lsl #2]
cmp r0, #0
streq r3, [r1, r2, lsl #2]
beq _02175f54
add r2, r2, #1
cmp r2, #3
blt _02175ebc
b _02175f54
_02175edc:
mvn r1, #0
add r0, sp, #0
_02175ee4:
str r1, [r0, r2, lsl #2]
add r2, r2, #1
cmp r2, #4
blt _02175ee4
mov r7, #0
ldr fp, _02175fa8 ; =data_027e0fe4
mov sb, r7
add r5, sl, #0x158
add r4, sp, #0
add r6, sp, #0x10
_02175f0c:
ldr r8, [r6, sb, lsl #2]
ldr r0, [fp]
add r1, r5, r8, lsl #3
bl func_ov00_020c3674
cmp r0, #0
strne r8, [r4, r7, lsl #2]
add sb, sb, #1
addne r7, r7, #1
cmp sb, #4
blt _02175f0c
mov r3, #0
add r2, sp, #0
add r0, sp, #0x10
_02175f40:
ldr r1, [r2, r3, lsl #2]
str r1, [r0, r3, lsl #2]
add r3, r3, #1
cmp r3, #4
blt _02175f40
_02175f54:
add r2, sl, #0x100
ldrsh r0, [r2, #0x78]
mov r6, #0
cmp r0, #0
addle sp, sp, #0x20
ldmleia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
add r5, sp, #0x10
mvn r1, #0
_02175f74:
ldr r4, [r5, r6, lsl #2]
cmp r4, r1
beq _02175f90
mov r0, r6, lsl #0x10
mov r3, r0, asr #0x10
add r0, sl, r4, lsl #2
str r3, [r0, #0x1bc]
_02175f90:
ldrsh r0, [r2, #0x78]
add r6, r6, #1
cmp r6, r0
blt _02175f74
add sp, sp, #0x20
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
.align 2, 0
arm_func_end func_ov25_02175e84
_02175fa8: .word data_027e0fe4
.global func_ov25_02175fac
arm_func_start func_ov25_02175fac
func_ov25_02175fac: ; 0x02175fac
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
ldr r0, _02175ff4 ; =data_027e0ff0
mov r3, #0
ldr r0, [r0]
strb r1, [sp, #1]
add r1, sp, #0
strb r3, [sp]
mov r4, r2
bl func_ov00_020c47cc
ldr r1, [r0, #4]
str r1, [r4]
ldr r1, [r0, #8]
str r1, [r4, #4]
ldr r0, [r0, #0xc]
str r0, [r4, #8]
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_02175fac
_02175ff4: .word data_027e0ff0
.global func_ov25_02175ff8
arm_func_start func_ov25_02175ff8
func_ov25_02175ff8: ; 0x02175ff8
stmdb sp!, {r4, r5, r6, r7, r8, lr}
mov r8, r0
mov r6, #0
ldr r4, _02176084 ; =data_027e0fe4
mov r5, r6
add r7, r8, #0x158
_02176010:
ldr r0, [r4]
mov r1, r7
bl func_ov00_020c3674
cmp r0, #0
add r5, r5, #1
addne r6, r6, #1
cmp r5, #4
add r7, r7, #8
blt _02176010
add r4, r8, #0x100
ldrsh r0, [r4, #0x78]
cmp r0, r6
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
ldr r5, _02176084 ; =data_027e0fe4
strh r6, [r4, #0x78]
add r6, r8, #0x158
mov r7, #0
_02176054:
ldr r0, [r5]
mov r1, r6
bl func_ov00_020c3674
cmp r0, #0
beq _02176070
ldrsh r1, [r4, #0x78]
bl func_ov25_0216eca4
_02176070:
add r7, r7, #1
cmp r7, #4
add r6, r6, #8
blt _02176054
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov25_02175ff8
_02176084: .word data_027e0fe4
.global func_ov25_02176088
arm_func_start func_ov25_02176088
func_ov25_02176088: ; 0x02176088
stmdb sp!, {r4, r5, r6, r7, lr}
sub sp, sp, #0x13c
mov r4, r0
mov r3, #0
str r3, [r4, #0x138]
ldr r2, [r4, #0x130]
cmp r1, #0xd
str r2, [r4, #0x134]
str r1, [r4, #0x130]
addls pc, pc, r1, lsl #2
b _02176330
_021760b4: ; jump table
b _02176330 ; case 0
b _021760ec ; case 1
b _0217613c ; case 2
b _02176330 ; case 3
b _02176178 ; case 4
b _021761b8 ; case 5
b _02176274 ; case 6
b _021762a0 ; case 7
b _021762b8 ; case 8
b _02176330 ; case 9
b _021762c4 ; case 10
b _02176330 ; case 11
b _021762d0 ; case 12
b _02176328 ; case 13
_021760ec:
add r0, sp, #0x8c
bl func_ov00_0209a4f4
mov r3, #0
ldr r0, _02176338 ; =data_027e0f74
mvn ip, #0
mov r5, #0x64
mov r2, #1
ldr r0, [r0]
add r1, sp, #0x8c
str ip, [sp, #0x90]
strb r5, [sp, #0x95]
strb r3, [sp, #0x96]
strb r3, [sp, #0x97]
strb r2, [sp, #0xa3]
bl func_ov00_02097810
str r0, [r4, #0x1d0]
add r0, sp, #0x8c
bl func_ov00_0209a508
add sp, sp, #0x13c
ldmia sp!, {r4, r5, r6, r7, pc}
_0217613c:
ldr r0, _0217633c ; =data_027e0fc8
ldr r0, [r0]
ldr r1, [r0]
ldr r1, [r1, #0x80]
blx r1
ldr r0, _0217633c ; =data_027e0fc8
mvn r1, #0
ldr r0, [r0]
bl func_ov00_020bd070
ldr r0, _02176340 ; =data_027e0c68
ldr r1, _02176344 ; =0x00710012
mov r2, #0
bl func_020370d0
add sp, sp, #0x13c
ldmia sp!, {r4, r5, r6, r7, pc}
_02176178:
mov r0, #1
str r0, [sp]
ldr r0, _02176338 ; =data_027e0f74
str r3, [sp, #4]
mov r1, #0xf
ldr r0, [r0]
mov r3, r1
mov r2, #0x1e
bl func_ov00_02098074
mov r2, #0
ldr r0, _02176348 ; =data_027e0db0
mov r3, r2
mov r1, #1
blx func_ov00_0207b2f0
add sp, sp, #0x13c
ldmia sp!, {r4, r5, r6, r7, pc}
_021761b8:
add r2, sp, #0x18
mov r1, #3
bl func_ov25_02175fac
ldr r0, _0217634c ; =data_027e0f64
ldr r1, _02176350 ; =0x00000e66
ldr r0, [r0]
str r1, [sp, #0x1c]
ldr r0, [r0, #8]
add r1, sp, #0x24
bl func_ov00_02087d34
mov r1, #0
ldr r5, _02176354 ; =0x00000bb8
ldr r3, [sp, #0x18]
ldr r2, [sp, #0x1c]
ldr r0, [sp, #0x20]
ldr r4, _02176358 ; =0x0000038e
str r5, [sp, #0x30]
mov r5, #0x4000
str r3, [sp, #0xc]
str r2, [sp, #0x10]
str r0, [sp, #0x14]
str r5, [sp, #0x3c]
str r4, [sp, #0x34]
str r1, [sp, #0x38]
str r1, [sp, #0x48]
str r1, [sp, #0x44]
str r1, [sp, #0x40]
sub r0, r1, #1
stmia sp, {r0, r1}
ldr r0, _0217634c ; =data_027e0f64
str r1, [sp, #8]
ldr r0, [r0]
add r2, sp, #0xc
ldr r0, [r0, #8]
add r3, sp, #0x24
bl func_ov00_020888e8
ldr r0, _0217635c ; =data_ov00_020eec68
mov r1, #0xc8
mov r2, #0
mov r3, #0x7f
bl func_ov00_020d70a4
ldr r0, _02176360 ; =data_027e103c
ldr r1, _02176364 ; =0x000e005e
ldr r0, [r0]
bl func_ov00_020cfc70
add sp, sp, #0x13c
ldmia sp!, {r4, r5, r6, r7, pc}
_02176274:
mov r0, #1
str r0, [sp]
ldr r0, _02176338 ; =data_027e0f74
str r3, [sp, #4]
mov r1, #0xf
ldr r0, [r0]
mov r3, r1
mov r2, #0x1e
bl func_ov00_02098074
add sp, sp, #0x13c
ldmia sp!, {r4, r5, r6, r7, pc}
_021762a0:
ldr r0, _02176338 ; =data_027e0f74
ldr r1, [r4, #0x1d0]
ldr r0, [r0]
bl func_ov00_02097bcc
add sp, sp, #0x13c
ldmia sp!, {r4, r5, r6, r7, pc}
_021762b8:
bl func_ov25_02175e84
add sp, sp, #0x13c
ldmia sp!, {r4, r5, r6, r7, pc}
_021762c4:
bl func_ov25_02175c54
add sp, sp, #0x13c
ldmia sp!, {r4, r5, r6, r7, pc}
_021762d0:
bl func_ov25_02175dbc
add r7, r4, #0x158
ldr r5, _02176368 ; =data_027e0fe4
mov r6, #0
add r4, r4, #0x100
_021762e4:
ldr r0, [r5]
mov r1, r7
bl func_ov00_020c3674
cmp r0, #0
beq _02176310
ldrsh r1, [r4, #0xac]
cmp r6, r1
bne _0217630c
bl func_ov25_0216ec04
b _02176310
_0217630c:
bl func_ov25_0216ec18
_02176310:
add r6, r6, #1
cmp r6, #4
add r7, r7, #8
blt _021762e4
add sp, sp, #0x13c
ldmia sp!, {r4, r5, r6, r7, pc}
_02176328:
sub r0, r3, #1
str r0, [r4, #0x1cc]
_02176330:
add sp, sp, #0x13c
ldmia sp!, {r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end func_ov25_02176088
_02176338: .word data_027e0f74
_0217633c: .word data_027e0fc8
_02176340: .word data_027e0c68
_02176344: .word 0x00710012
_02176348: .word data_027e0db0
_0217634c: .word data_027e0f64
_02176350: .word 0x00000e66
_02176354: .word 0x00000bb8
_02176358: .word 0x0000038e
_0217635c: .word data_ov00_020eec68
_02176360: .word data_027e103c
_02176364: .word 0x000e005e
_02176368: .word data_027e0fe4
.global func_ov25_0217636c
arm_func_start func_ov25_0217636c
func_ov25_0217636c: ; 0x0217636c
cmp r1, #2
bne _0217637c
mov r0, #1
bx lr
_0217637c:
mov r0, #0
bx lr
arm_func_end func_ov25_0217636c
.global func_ov25_02176384
arm_func_start func_ov25_02176384
func_ov25_02176384: ; 0x02176384
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c313c
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
bl func_ov25_021763a4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02176384
.global func_ov25_021763a4
arm_func_start func_ov25_021763a4
func_ov25_021763a4: ; 0x021763a4
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
sub sp, sp, #0x24
mov r4, r0
bl func_ov00_020c2bf4
mov r0, r4
bl func_ov25_02175ff8
ldr r0, [r4, #0x130]
sub r0, r0, #8
cmp r0, #4
addls pc, pc, r0, lsl #2
b _0217641c
_021763d0: ; jump table
b _021763e4 ; case 0
b _021763e4 ; case 1
b _021763e4 ; case 2
b _021763e4 ; case 3
b _021763e4 ; case 4
_021763e4:
ldr r1, [r4, #0x1cc]
mvn r0, #0
cmp r1, r0
beq _0217641c
add r0, r1, #1
str r0, [r4, #0x1cc]
cmp r0, #0x384
blt _0217641c
ldr r0, _02176954 ; =data_027e0e60
mov r2, #1
ldr r0, [r0]
mov r3, r2
mov r1, #5
bl func_ov00_02084b38
_0217641c:
ldr r0, [r4, #0x130]
cmp r0, #0xd
addls pc, pc, r0, lsl #2
b _0217694c
_0217642c: ; jump table
b _02176464 ; case 0
b _02176480 ; case 1
b _021764b0 ; case 2
b _021764dc ; case 3
b _021765b8 ; case 4
b _021765e4 ; case 5
b _02176608 ; case 6
b _02176648 ; case 7
b _0217669c ; case 8
b _02176720 ; case 9
b _02176744 ; case 10
b _021767b4 ; case 11
b _021767d8 ; case 12
b _02176848 ; case 13
_02176464:
mov r0, r4
bl func_ov25_02175b08
mov r0, r4
mov r1, #1
bl func_ov25_02176088
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_02176480:
ldr r0, _02176958 ; =data_027e0f74
ldr r1, [r4, #0x1d0]
ldr r0, [r0]
bl func_ov00_02097b9c
cmp r0, #0
addeq sp, sp, #0x24
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
mov r1, #2
bl func_ov25_02176088
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_021764b0:
ldr r0, _0217695c ; =data_027e0c68
mov r1, #0
bl func_02036770
cmp r0, #0
addeq sp, sp, #0x24
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
mov r1, #3
bl func_ov25_02176088
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_021764dc:
ldr r0, [r4, #0x138]
mvn r6, #0
cmp r0, #0xf
moveq r6, #0
beq _02176510
cmp r0, #0x1e
moveq r6, #1
beq _02176510
cmp r0, #0x3c
moveq r6, #2
beq _02176510
cmp r0, #0x2d
moveq r6, #3
_02176510:
mvn r0, #0
cmp r6, r0
beq _02176554
ldr r0, _02176960 ; =data_027e0fe4
add r1, r4, #0x158
ldr r0, [r0]
add r1, r1, r6, lsl #3
bl func_ov00_020c3674
movs r5, r0
beq _02176554
add r2, sp, #0x18
mov r0, r4
mov r1, r6
bl func_ov25_02175fac
ldr r1, [sp, #0x20]
mov r0, r5
bl func_ov25_0216eb98
_02176554:
mov sb, #0
ldr r5, _02176960 ; =data_027e0fe4
add r8, r4, #0x158
mov r7, #1
mov r6, sb
_02176568:
ldr r0, [r5]
mov r1, r8
bl func_ov00_020c3674
cmp r0, #0
beq _02176588
bl func_ov25_0216ece0
cmp r0, #0
moveq r7, r6
_02176588:
add sb, sb, #1
cmp sb, #4
add r8, r8, #8
blt _02176568
cmp r7, #0
addeq sp, sp, #0x24
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
mov r1, #4
bl func_ov25_02176088
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_021765b8:
ldr r0, _02176958 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_020980ac
cmp r0, #0
addeq sp, sp, #0x24
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
mov r1, #5
bl func_ov25_02176088
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_021765e4:
ldr r0, [r4, #0x138]
cmp r0, #0x96
addle sp, sp, #0x24
ldmleia sp!, {r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
mov r1, #6
bl func_ov25_02176088
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_02176608:
ldr r0, _02176958 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_020980ac
cmp r0, #0
addeq sp, sp, #0x24
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
ldr r0, _02176964 ; =data_027e0f64
mov r1, #0
ldr r0, [r0]
ldr r0, [r0, #8]
bl func_ov00_020875f8
mov r0, r4
mov r1, #7
bl func_ov25_02176088
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_02176648:
ldr r0, _02176958 ; =data_027e0f74
ldr r1, [r4, #0x1d0]
ldr r0, [r0]
bl func_ov00_02097bac
cmp r0, #0
addeq sp, sp, #0x24
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
ldr r0, _02176958 ; =data_027e0f74
ldr r0, [r0]
bl func_ov00_02097738
cmp r0, #0
addne sp, sp, #0x24
ldmneia sp!, {r4, r5, r6, r7, r8, sb, pc}
ldr r0, _02176968 ; =data_027e0fc8
ldr r0, [r0]
bl func_ov00_020bd0a8
mov r0, r4
mov r1, #8
bl func_ov25_02176088
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_0217669c:
ldr r8, _02176960 ; =data_027e0fe4
add r7, r4, #0x158
mov r6, #0
add sb, sp, #0xc
_021766ac:
ldr r0, [r8]
mov r1, r7
bl func_ov00_020c3674
movs r5, r0
beq _021766e8
add r0, r4, r6, lsl #2
ldr r1, [r0, #0x1bc]
mov r0, r4
mov r2, sb
bl func_ov25_02175fac
add r0, r4, r6, lsl #2
ldr r2, [r0, #0x1bc]
mov r0, r5
mov r1, sb
bl func_ov25_0216ebb8
_021766e8:
add r6, r6, #1
cmp r6, #4
add r7, r7, #8
blt _021766ac
mov r0, r4
bl func_ov25_02175d1c
cmp r0, #0
addeq sp, sp, #0x24
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
mov r1, #9
bl func_ov25_02176088
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_02176720:
ldr r0, [r4, #0x138]
cmp r0, #0x14
addle sp, sp, #0x24
ldmleia sp!, {r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
mov r1, #0xa
bl func_ov25_02176088
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_02176744:
ldr sb, _02176960 ; =data_027e0fe4
add r7, r4, #0x158
mov r6, #0
add r5, r4, #0x17c
mov r8, #0xc
_02176758:
ldr r0, [sb]
mov r1, r7
bl func_ov00_020c3674
cmp r0, #0
beq _0217677c
add r1, r4, r6, lsl #2
ldr r2, [r1, #0x1bc]
mla r1, r2, r8, r5
bl func_ov25_0216ebe0
_0217677c:
add r6, r6, #1
cmp r6, #4
add r7, r7, #8
blt _02176758
mov r0, r4
bl func_ov25_02175d6c
cmp r0, #0
addeq sp, sp, #0x24
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
mov r1, #0xb
bl func_ov25_02176088
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_021767b4:
ldr r0, [r4, #0x138]
cmp r0, #0x14
addle sp, sp, #0x24
ldmleia sp!, {r4, r5, r6, r7, r8, sb, pc}
mov r0, r4
mov r1, #0xc
bl func_ov25_02176088
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_021767d8:
ldr r5, _02176960 ; =data_027e0fe4
add r8, r4, #0x158
mov r7, #0
_021767e4:
ldr r0, [r5]
mov r1, r8
bl func_ov00_020c3674
movs r6, r0
beq _02176830
bl func_ov25_0216ecb0
cmp r0, #0
beq _02176830
ldr r1, [r6, #0x48]
mov r0, r4
str r1, [r4, #0x1b0]
ldr r2, [r6, #0x4c]
mov r1, #0xd
str r2, [r4, #0x1b4]
ldr r2, [r6, #0x50]
str r2, [r4, #0x1b8]
bl func_ov25_02176088
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_02176830:
add r7, r7, #1
cmp r7, #4
add r8, r8, #8
blt _021767e4
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_02176848:
ldr r5, _02176960 ; =data_027e0fe4
add r7, r4, #0x158
mov r6, #0
_02176854:
ldr r0, [r5]
mov r1, r7
bl func_ov00_020c3674
cmp r0, #0
beq _02176870
add r1, r4, #0x1b0
bl func_ov25_0216ec2c
_02176870:
add r6, r6, #1
cmp r6, #4
add r7, r7, #8
blt _02176854
ldr r5, _02176960 ; =data_027e0fe4
add r7, r4, #0x158
mov r6, #1
mov r8, #0
_02176890:
ldr r0, [r5]
mov r1, r7
bl func_ov00_020c3674
cmp r0, #0
beq _021768b4
bl func_ov25_0216ecc4
cmp r0, #0
moveq r6, #0
beq _021768c4
_021768b4:
add r8, r8, #1
cmp r8, #4
add r7, r7, #8
blt _02176890
_021768c4:
cmp r6, #0
addeq sp, sp, #0x24
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, pc}
add r0, r4, #0x100
ldrsh r0, [r0, #0x78]
cmp r0, #1
bne _02176940
ldr r5, _02176960 ; =data_027e0fe4
add r7, r4, #0x158
mov r8, #0
_021768ec:
ldr r0, [r5]
mov r1, r7
bl func_ov00_020c3674
movs r6, r0
beq _02176920
add r2, sp, #0
mov r0, r4
mov r1, #0
bl func_ov25_02175fac
add r1, sp, #0
mov r0, r6
bl func_ov25_0216ec50
b _02176930
_02176920:
add r8, r8, #1
cmp r8, #4
add r7, r7, #8
blt _021768ec
_02176930:
mov r0, r4
bl func_ov00_020c3180
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
_02176940:
mov r0, r4
mov r1, #8
bl func_ov25_02176088
_0217694c:
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
.align 2, 0
arm_func_end func_ov25_021763a4
_02176954: .word data_027e0e60
_02176958: .word data_027e0f74
_0217695c: .word data_027e0c68
_02176960: .word data_027e0fe4
_02176964: .word data_027e0f64
_02176968: .word data_027e0fc8
.global func_ov25_0217696c
arm_func_start func_ov25_0217696c
func_ov25_0217696c: ; 0x0217696c
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r2, #0
ldr r0, _021769b4 ; =data_027e0f74
str r2, [r5, #0x154]
mov r4, r1
ldr r0, [r0]
ldr r1, [r5, #0x1d0]
bl func_ov00_02097b9c
cmp r0, #0
beq _021769a0
mov r0, r5
bl func_ov25_021763a4
_021769a0:
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_ov25_0217696c
_021769b4: .word data_027e0f74
.global func_ov25_021769b8
arm_func_start func_ov25_021769b8
func_ov25_021769b8: ; 0x021769b8
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c1730
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_021769b8
.global func_ov25_021769d4
arm_func_start func_ov25_021769d4
func_ov25_021769d4: ; 0x021769d4
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c1730
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_021769d4
.global func_ov25_021769e8
arm_func_start func_ov25_021769e8
func_ov25_021769e8: ; 0x021769e8
stmdb sp!, {r3, lr}
ldr r1, _02176a14 ; =data_027e0fe0
mov r0, #0x164
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov25_02176a18
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_021769e8
_02176a14: .word data_027e0fe0
.global func_ov25_02176a18
arm_func_start func_ov25_02176a18
func_ov25_02176a18: ; 0x02176a18
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
mov r4, r0
bl func_ov00_020c1554
ldr r0, _02176a58 ; =data_ov25_0217a0e0
ldr ip, _02176a5c ; =func_ov00_020b7d74
str r0, [r4]
ldr r3, _02176a60 ; =func_ov25_0216dff4
add r0, r4, #0x158
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_ov25_02176a18
_02176a58: .word data_ov25_0217a0e0
_02176a5c: .word func_ov00_020b7d74
_02176a60: .word func_ov25_0216dff4
.global func_ov25_02176a64
arm_func_start func_ov25_02176a64
func_ov25_02176a64: ; 0x02176a64
stmdb sp!, {r3, lr}
mov r1, #0
str r1, [r0, #0x7c]
str r1, [r0, #0x80]
ldr r2, _02176ac4 ; =0x000004cd
str r1, [r0, #0x84]
str r2, [r0, #0x88]
str r1, [r0, #0x8c]
str r1, [r0, #0x90]
str r1, [r0, #0x94]
str r2, [r0, #0x98]
str r1, [r0, #0xa8]
str r1, [r0, #0xac]
str r1, [r0, #0xb0]
add r2, r2, #0x1000
str r2, [r0, #0xb4]
mov r3, #1
strh r3, [r0, #0x9c]
mov r2, #2
strb r2, [r0, #0x124]
strb r3, [r0, #0x125]
bl func_ov25_02176bb0
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02176a64
_02176ac4: .word 0x000004cd
.global func_ov25_02176ac8
arm_func_start func_ov25_02176ac8
func_ov25_02176ac8: ; 0x02176ac8
stmdb sp!, {r4, lr}
ldrh r2, [r0, #0x78]
ldr r4, _02176b80 ; =data_02050f54
mov r1, #0
mov r2, r2, asr #0x4
mov r2, r2, lsl #0x1
mov r3, r2, lsl #0x1
add r2, r2, #1
ldrsh r3, [r4, r3]
mov r2, r2, lsl #0x1
ldrsh r2, [r4, r2]
str r3, [r0, #0x60]
str r1, [r0, #0x64]
str r2, [r0, #0x68]
ldr ip, [r0, #0x60]
ldr r2, _02176b84 ; =0x00000266
mov r3, ip, asr #0x1f
umull r4, lr, ip, r2
mla lr, ip, r1, lr
adds r4, r4, #0x800
mla lr, r3, r2, lr
adc r3, lr, #0
mov r4, r4, lsr #0xc
orr r4, r4, r3, lsl #20
str r4, [r0, #0x60]
ldr r3, [r0, #0x64]
umull lr, ip, r3, r2
adds lr, lr, #0x800
mla ip, r3, r1, ip
mov r3, r3, asr #0x1f
mla ip, r3, r2, ip
adc r3, ip, #0
mov ip, lr, lsr #0xc
orr ip, ip, r3, lsl #20
str ip, [r0, #0x64]
ldr r3, [r0, #0x68]
umull lr, ip, r3, r2
adds lr, lr, #0x800
mla ip, r3, r1, ip
mov r1, r3, asr #0x1f
mla ip, r1, r2, ip
adc r1, ip, #0
mov r2, lr, lsr #0xc
orr r2, r2, r1, lsl #20
str r2, [r0, #0x68]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02176ac8
_02176b80: .word data_02050f54
_02176b84: .word 0x00000266
.global func_ov25_02176b88
arm_func_start func_ov25_02176b88
func_ov25_02176b88: ; 0x02176b88
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x48
add r1, r4, #0x60
mov r2, r0
bl func_01ff9bc4
mov r0, r4
mov r1, #0
bl func_01fffd04
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02176b88
.global func_ov25_02176bb0
arm_func_start func_ov25_02176bb0
func_ov25_02176bb0: ; 0x02176bb0
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0xc
movs r4, r1
mov r5, r0
bne _02176bf8
bl func_ov25_02176ac8
mov r0, #0x59
str r0, [sp]
add r0, r5, #0x48
str r0, [sp, #4]
mov r1, #2
ldr r0, _02176c0c ; =data_027e0e58
str r1, [sp, #8]
ldr r0, [r0]
add r1, r5, #0x158
mov r2, #0x57
mov r3, #0x58
bl func_ov00_0207c31c
_02176bf8:
mov r0, #0
str r0, [r5, #0x138]
str r4, [r5, #0x130]
add sp, sp, #0xc
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_02176bb0
_02176c0c: .word data_027e0e58
.global func_ov25_02176c10
arm_func_start func_ov25_02176c10
func_ov25_02176c10: ; 0x02176c10
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
bl func_ov00_020c313c
cmp r0, #0
beq _02176cbc
ldr r1, [r5, #0x48]
mov r0, r5
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, #0
bne _02176cbc
mov r0, r5
bl func_ov25_02176b88
ldr r3, _02176d68 ; =0x000004cd
mov r0, r5
add r2, r5, #0x60
mov r1, #4
str r3, [r5, #0x88]
bl func_ov00_020c1e2c
add r0, r5, #0x14
add r1, r5, #0x48
bl func_01ff9ec0
cmp r0, #0x5000
ble _02176c94
mov r0, r5
bl func_ov00_020c3180
ldmia sp!, {r3, r4, r5, pc}
_02176c94:
ldrb r0, [r5, #0x110]
cmp r0, #0
ldreqb r0, [r5, #0x112]
cmpeq r0, #0
ldreqb r0, [r5, #0x113]
cmpeq r0, #0
beq _02176cbc
mov r0, r5
bl func_ov00_020c3180
ldmia sp!, {r3, r4, r5, pc}
_02176cbc:
ldr r0, [r5, #0x130]
cmp r0, #0
bne _02176d38
add r2, r5, #0x158
add r1, r5, #0x164
cmp r2, r1
beq _02176d38
_02176cd8:
ldr r0, [r2]
cmp r0, #0
beq _02176d2c
ldr r3, [r0, #0x20]
ldr ip, [r5, #0x48]
ldr r3, [r3]
ldr r3, [r3, #4]
add r3, ip, r3
str r3, [r0, #0x28]
ldr r3, [r0, #0x20]
ldr ip, [r5, #0x4c]
ldr r3, [r3]
ldr r3, [r3, #8]
add r3, ip, r3
str r3, [r0, #0x2c]
ldr r3, [r0, #0x20]
ldr ip, [r5, #0x50]
ldr r3, [r3]
ldr r3, [r3, #0xc]
add r3, ip, r3
str r3, [r0, #0x30]
_02176d2c:
add r2, r2, #4
cmp r2, r1
bne _02176cd8
_02176d38:
mov r0, #0
str r0, [sp]
ldr r3, [r5, #8]
ldr r0, _02176d6c ; =data_027e0ffc
ldr r1, _02176d70 ; =0x000002dd
add r2, r5, #0x48
bl func_ov00_020cec60
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_ov25_02176c10
_02176d68: .word 0x000004cd
_02176d6c: .word data_027e0ffc
_02176d70: .word 0x000002dd
.global func_ov25_02176d74
arm_func_start func_ov25_02176d74
func_ov25_02176d74: ; 0x02176d74
ldr ip, _02176d7c ; =func_ov00_020c3180
bx ip
.align 2, 0
arm_func_end func_ov25_02176d74
_02176d7c: .word func_ov00_020c3180
.global func_ov25_02176d80
arm_func_start func_ov25_02176d80
func_ov25_02176d80: ; 0x02176d80
bx lr
arm_func_end func_ov25_02176d80
.global func_ov25_02176d84
arm_func_start func_ov25_02176d84
func_ov25_02176d84: ; 0x02176d84
stmdb sp!, {r4, lr}
mov r4, r0
ldr r3, _02176db8 ; =func_ov00_020b7d74
add r0, r4, #0x158
mov r1, #3
mov r2, #4
bl func_0204f754
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02176d84
_02176db8: .word func_ov00_020b7d74
.global func_ov25_02176dbc
arm_func_start func_ov25_02176dbc
func_ov25_02176dbc: ; 0x02176dbc
stmdb sp!, {r4, lr}
mov r4, r0
ldr r3, _02176de8 ; =func_ov00_020b7d74
add r0, r4, #0x158
mov r1, #3
mov r2, #4
bl func_0204f754
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02176dbc
_02176de8: .word func_ov00_020b7d74
.global func_ov25_02176dec
arm_func_start func_ov25_02176dec
func_ov25_02176dec: ; 0x02176dec
stmdb sp!, {r4, lr}
ldr r1, _02176e20 ; =data_027e0f84
mov r4, r0
ldr r1, [r1]
mov r0, #0x84
ldr r1, [r1]
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov25_02176e24
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02176dec
_02176e20: .word data_027e0f84
.global func_ov25_02176e24
arm_func_start func_ov25_02176e24
func_ov25_02176e24: ; 0x02176e24
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02146c54
ldr r0, _02176e80 ; =data_ov25_0217a1a8
mov r2, #0
str r0, [r4]
str r2, [r4, #0x7c]
ldr r0, _02176e84 ; =data_027e0f68
str r2, [r4, #0x80]
ldr r0, [r0]
mov r1, #0x45
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x68
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
ldr r0, _02176e88 ; =0x4452554d
ldr r1, _02176e8c ; =0x00000361
str r0, [r4, #0x60]
mov r0, r4
strh r1, [r4, #0x64]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02176e24
_02176e80: .word data_ov25_0217a1a8
_02176e84: .word data_027e0f68
_02176e88: .word 0x4452554d
_02176e8c: .word 0x00000361
.global func_ov25_02176e90
arm_func_start func_ov25_02176e90
func_ov25_02176e90: ; 0x02176e90
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02146d20
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02176e90
.global func_ov25_02176ea4
arm_func_start func_ov25_02176ea4
func_ov25_02176ea4: ; 0x02176ea4
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02146d20
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02176ea4
.global func_ov25_02176ec0
arm_func_start func_ov25_02176ec0
func_ov25_02176ec0: ; 0x02176ec0
mov r0, #0x67
bx lr
arm_func_end func_ov25_02176ec0
.global func_ov25_02176ec8
arm_func_start func_ov25_02176ec8
func_ov25_02176ec8: ; 0x02176ec8
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x1c
mov r4, r0
ldr r1, [r4, #0x18]
mov r2, #0
str r1, [sp, #8]
ldr r1, [r4, #0x1c]
bic r2, r2, #0x1f
str r1, [sp, #0xc]
orr ip, r2, #0x20000009
ldr r3, [r4, #0x20]
mov r2, #0x800
mov r1, #0x1000
str ip, [sp, #4]
str r3, [sp, #0x10]
str r2, [sp, #0x14]
str r1, [sp, #0x18]
bl func_ov00_0208b9cc
mov r1, #0
mov r2, r0
str r1, [sp]
add r0, r4, #0x38
ldr ip, [r0]
ldr r3, [sp, #4]
ldr ip, [ip, #0x10]
add r1, sp, #8
blx ip
mov r0, r4
bl func_ov14_02146d48
add sp, sp, #0x1c
ldmia sp!, {r3, r4, pc}
arm_func_end func_ov25_02176ec8
.global func_ov25_02176f44
arm_func_start func_ov25_02176f44
func_ov25_02176f44: ; 0x02176f44
stmdb sp!, {r3, r4, r5, lr}
mov r5, r0
mov r4, r1
bl func_ov14_02146e24
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, #0x7c]
cmp r0, #0
ldmleia sp!, {r3, r4, r5, pc}
mov r0, r5
bl func_ov25_02177288
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov25_02176f44
.global func_ov25_02176f88
arm_func_start func_ov25_02176f88
func_ov25_02176f88: ; 0x02176f88
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_02146eb4
mov r0, #0
str r0, [r4, #0x7c]
str r0, [r4, #0x80]
ldr r0, [r4, #8]
cmp r0, #3
bne _02176fb4
mov r0, r4
bl func_ov25_02177064
_02176fb4:
mov r0, #1
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02176f88
.global func_ov25_02176fbc
arm_func_start func_ov25_02176fbc
func_ov25_02176fbc: ; 0x02176fbc
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
mov r4, r0
cmp r1, #0
bne _02176ff8
ldr r3, [r2]
add r1, sp, #0
str r3, [sp]
ldr r3, [r2, #4]
str r3, [sp, #4]
ldr r2, [r2, #8]
str r2, [sp, #8]
bl func_ov14_02147584
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
_02176ff8:
cmp r1, #0xb
blt _02177050
ldr r0, _0217705c ; =data_027e0fe4
ldr r0, [r0]
bl func_ov00_020c35d8
cmp r0, #0
addeq sp, sp, #0xc
moveq r0, #1
ldmeqia sp!, {r3, r4, pc}
ldr r1, [r0, #4]
ldr r0, _02177060 ; =0x424c5354
cmp r1, r0
bne _02177050
mov r0, r4
ldr r3, [r0]
mov r1, #2
ldr r3, [r3, #0x80]
mov r2, #0
blx r3
add sp, sp, #0xc
mov r0, #0
ldmia sp!, {r3, r4, pc}
_02177050:
mov r0, #1
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_02176fbc
_0217705c: .word data_027e0fe4
_02177060: .word 0x424c5354
.global func_ov25_02177064
arm_func_start func_ov25_02177064
func_ov25_02177064: ; 0x02177064
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0xc
mov r4, r0
ldrh r0, [r4, #0x2a]
cmp r0, #1
addeq sp, sp, #0xc
ldmeqia sp!, {r4, r5, pc}
ldr r0, _021770e4 ; =data_027e0fe4
ldrb r5, [r4, #0x15]
ldrb lr, [r4, #0x14]
ldr ip, _021770e8 ; =data_ov25_0217a19c
ldr r3, _021770ec ; =0x43425331
ldr r0, [r0]
add r1, sp, #0
mov r2, #0
str ip, [sp]
str r3, [sp, #4]
strb lr, [sp, #8]
strb r5, [sp, #9]
bl func_ov00_020c37ec
cmp r0, #0
addgt sp, sp, #0xc
ldmgtia sp!, {r4, r5, pc}
ldrh r0, [r4, #0x24]
cmp r0, #0
addne sp, sp, #0xc
ldmneia sp!, {r4, r5, pc}
mov r0, r4
mov r1, #0x13
bl func_ov00_0208c4f8
add sp, sp, #0xc
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_02177064
_021770e4: .word data_027e0fe4
_021770e8: .word data_ov25_0217a19c
_021770ec: .word 0x43425331
.global func_ov25_021770f0
arm_func_start func_ov25_021770f0
func_ov25_021770f0: ; 0x021770f0
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x14
mov r4, r0
ldr r0, _021771b4 ; =data_027e0ffc
add r2, r4, #0x18
mov r1, #0x360
mov r3, #0
bl func_ov00_020ceacc
ldr r0, _021771b8 ; =data_027e1038
add r1, r4, #0x18
ldr r0, [r0]
bl func_ov00_020cef10
ldr r2, [r4, #0x1c]
ldr r1, [r4, #0x74]
ldr r3, [r4, #0x20]
ldr r0, [r4, #0x18]
add r1, r2, r1
str r0, [sp, #8]
str r1, [sp, #0xc]
str r3, [sp, #0x10]
mov r1, #0
str r1, [sp]
str r1, [sp, #4]
ldr r0, _021771bc ; =data_027e0e58
add r2, sp, #8
ldr r0, [r0]
mov r1, #0x73
mov r3, #4
bl func_ov00_0207c1b0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _021771bc ; =data_027e0e58
mov r1, #0x74
ldr r0, [r0]
add r2, sp, #8
mov r3, #4
bl func_ov00_0207c1b0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _021771bc ; =data_027e0e58
ldr r1, _021771c0 ; =0x000001a3
ldr r0, [r0]
add r2, sp, #8
mov r3, #4
bl func_ov00_0207c1b0
add sp, sp, #0x14
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_021770f0
_021771b4: .word data_027e0ffc
_021771b8: .word data_027e1038
_021771bc: .word data_027e0e58
_021771c0: .word 0x000001a3
.global func_ov25_021771c4
arm_func_start func_ov25_021771c4
func_ov25_021771c4: ; 0x021771c4
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x14
ldr r2, [r0]
mov r4, r0
ldr r2, [r2, #0x88]
mov r5, r1
blx r2
cmp r0, #0
addeq sp, sp, #0x14
ldmeqia sp!, {r4, r5, pc}
mov r0, #0
str r0, [sp]
mov r3, #0x1f
ldr r2, _0217724c ; =0x00000733
str r3, [sp, #4]
mov r0, r4
mov r1, r5
sub r3, r2, #0x170
bl func_ov00_0208b8e0
ldr r1, [r4, #0x18]
ldr r0, [r4, #0x80]
ldr r3, [r4, #0x20]
ldr r2, [r4, #0x1c]
add r0, r1, r0
str r0, [sp, #8]
str r3, [sp, #0x10]
add r0, r4, #0x68
str r2, [sp, #0xc]
ldr r2, [r0]
add r1, sp, #8
ldr r2, [r2, #0x18]
blx r2
add sp, sp, #0x14
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_021771c4
_0217724c: .word 0x00000733
.global func_ov25_02177250
arm_func_start func_ov25_02177250
func_ov25_02177250: ; 0x02177250
stmdb sp!, {r3, lr}
mov lr, r0
ldr r0, [lr, #0x7c]
cmp r0, #0
ldmgtia sp!, {r3, pc}
mov ip, #0x1e
ldr r0, _02177284 ; =data_027e0ffc
add r1, ip, #0x344
add r2, lr, #0x18
mov r3, #0
str ip, [lr, #0x7c]
bl func_ov00_020ceacc
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02177250
_02177284: .word data_027e0ffc
.global func_ov25_02177288
arm_func_start func_ov25_02177288
func_ov25_02177288: ; 0x02177288
ldr r1, [r0, #0x7c]
mov r2, r1, lsr #0x1f
rsb r1, r2, r1, lsl #30
add r1, r2, r1, ror #30
cmp r1, #1
beq _021772b0
cmp r1, #3
mvneq r1, #0x7a
streq r1, [r0, #0x80]
b _021772b8
_021772b0:
mov r1, #0x7b
str r1, [r0, #0x80]
_021772b8:
ldr r1, [r0, #0x7c]
sub r1, r1, #1
str r1, [r0, #0x7c]
cmp r1, #0
movle r1, #0
strle r1, [r0, #0x7c]
strle r1, [r0, #0x80]
bx lr
arm_func_end func_ov25_02177288
.global func_ov25_021772d8
arm_func_start func_ov25_021772d8
func_ov25_021772d8: ; 0x021772d8
stmdb sp!, {r3, lr}
ldr r1, [r0]
ldr r1, [r1, #0x28]
blx r1
ldmia sp!, {r3, pc}
arm_func_end func_ov25_021772d8
.global func_ov25_021772ec
arm_func_start func_ov25_021772ec
func_ov25_021772ec: ; 0x021772ec
stmdb sp!, {r4, lr}
sub sp, sp, #8
mov r4, r0
mov r2, r1
ldr r1, [r4, #4]
ldr r0, [r2, #4]
cmp r1, r0
addne sp, sp, #8
movne r0, #0
ldmneia sp!, {r4, pc}
ldr r1, _02177368 ; =data_027e0e60
add r0, sp, #4
ldr r1, [r1]
add r2, r2, #0x48
bl func_ov00_02083a1c
ldrb r3, [sp, #4]
ldrb r1, [r4, #8]
ldrb r2, [sp, #5]
ldrb r0, [r4, #9]
strb r1, [sp, #2]
cmp r1, r3
strb r0, [sp, #3]
andeq r1, r0, #0xff
andeq r0, r2, #0xff
cmpeq r1, r0
moveq r0, #1
strb r3, [sp]
strb r2, [sp, #1]
movne r0, #0
add sp, sp, #8
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_021772ec
_02177368: .word data_027e0e60
.global func_ov25_0217736c
arm_func_start func_ov25_0217736c
func_ov25_0217736c: ; 0x0217736c
stmdb sp!, {r3, lr}
ldr r1, _02177398 ; =data_027e0fe0
mov r0, #0x344
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov25_02177414
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_0217736c
_02177398: .word data_027e0fe0
.global func_ov25_0217739c
arm_func_start func_ov25_0217739c
func_ov25_0217739c: ; 0x0217739c
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c6114
ldr r3, _021773c8 ; =data_ov25_0217a3d0
ldr r2, _021773cc ; =data_ov25_021795cc
mov r0, r4
mov r1, #0x7e
str r3, [r4]
bl func_ov00_020c5c98
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_0217739c
_021773c8: .word data_ov25_0217a3d0
_021773cc: .word data_ov25_021795cc
.global func_ov25_021773d0
arm_func_start func_ov25_021773d0
func_ov25_021773d0: ; 0x021773d0
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x14]
cmp r0, #1
ldmneia sp!, {r4, pc}
add r0, r4, #0x88
mov r1, #0x2e000
bl func_0202e310
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r0, [r4, #0x1c]
mov r1, r4
ldr r3, [r0]
mov r2, #0
ldr r3, [r3, #0xb0]
blx r3
ldmia sp!, {r4, pc}
arm_func_end func_ov25_021773d0
.global func_ov25_02177414
arm_func_start func_ov25_02177414
func_ov25_02177414: ; 0x02177414
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020ca668
ldr r2, _0217745c ; =data_ov25_0217a2c0
mov r1, r4
add r0, r4, #0x21c
str r2, [r4]
bl func_ov25_0217739c
add r0, r4, #0x318
bl func_ov00_020c8ce4
mov r1, #0
str r1, [r4, #0x330]
str r1, [r4, #0x334]
str r1, [r4, #0x338]
str r1, [r4, #0x33c]
mov r0, r4
str r1, [r4, #0x340]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02177414
_0217745c: .word data_ov25_0217a2c0
.global func_ov25_02177460
arm_func_start func_ov25_02177460
func_ov25_02177460: ; 0x02177460
stmdb sp!, {r4, lr}
ldr r1, _021774d4 ; =data_ov25_0217a238
mov r4, r0
bl func_ov00_020ca8a4
mov r0, r4
mov r1, #0x13
bl func_ov00_020c3200
mov r1, #0
strb r1, [r4, #0x119]
mov r0, #1
strh r0, [r4, #0x9c]
str r1, [r4, #0x6c]
ldr r1, [r4, #0x4c]
mov r0, r4
add r1, r1, #0x800
str r1, [r4, #0x4c]
ldr r2, [r4, #0x48]
add r1, r4, #0x21c
str r2, [r4, #0x54]
ldr r2, [r4, #0x4c]
str r2, [r4, #0x58]
ldr r2, [r4, #0x50]
str r2, [r4, #0x5c]
bl func_ov00_020cb140
mov r0, r4
mov r1, #0
bl func_ov25_021775a4
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02177460
_021774d4: .word data_ov25_0217a238
.global func_ov25_021774d8
arm_func_start func_ov25_021774d8
func_ov25_021774d8: ; 0x021774d8
ldr ip, _021774e8 ; =func_ov00_020cd010
mov r1, r0
add r0, r1, #0x330
bx ip
.align 2, 0
arm_func_end func_ov25_021774d8
_021774e8: .word func_ov00_020cd010
.global func_ov25_021774ec
arm_func_start func_ov25_021774ec
func_ov25_021774ec: ; 0x021774ec
ldr ip, _021774f8 ; =func_ov00_020cd028
add r0, r0, #0x330
bx ip
.align 2, 0
arm_func_end func_ov25_021774ec
_021774f8: .word func_ov00_020cd028
.global func_ov25_021774fc
arm_func_start func_ov25_021774fc
func_ov25_021774fc: ; 0x021774fc
ldr ip, _0217750c ; =func_ov00_020cd080
ldr r1, _02177510 ; =0x0000038e
add r0, r0, #0x330
bx ip
.align 2, 0
arm_func_end func_ov25_021774fc
_0217750c: .word func_ov00_020cd080
_02177510: .word 0x0000038e
.global func_ov25_02177514
arm_func_start func_ov25_02177514
func_ov25_02177514: ; 0x02177514
ldr ip, _02177528 ; =func_ov00_020cd0a8
mov r1, r0
add r0, r1, #0x334
add r2, r1, #0x48
bx ip
.align 2, 0
arm_func_end func_ov25_02177514
_02177528: .word func_ov00_020cd0a8
.global func_ov25_0217752c
arm_func_start func_ov25_0217752c
func_ov25_0217752c: ; 0x0217752c
ldr ip, _02177540 ; =func_ov00_020cd120
ldr r3, _02177544 ; =0x0000038e
add r0, r0, #0x334
mov r2, #0xcd
bx ip
.align 2, 0
arm_func_end func_ov25_0217752c
_02177540: .word func_ov00_020cd120
_02177544: .word 0x0000038e
.global func_ov25_02177548
arm_func_start func_ov25_02177548
func_ov25_02177548: ; 0x02177548
ldr ip, _02177560 ; =func_ov00_020c56d8
ldrsh r1, [r0, #0x78]
ldr r3, _02177564 ; =0x00004958
add r0, r0, #0x48
mov r2, #0x3000
bx ip
.align 2, 0
arm_func_end func_ov25_02177548
_02177560: .word func_ov00_020c56d8
_02177564: .word 0x00004958
.global func_ov25_02177568
arm_func_start func_ov25_02177568
func_ov25_02177568: ; 0x02177568
ldr ip, _02177580 ; =func_ov00_020c56d8
ldrsh r1, [r0, #0x78]
ldr r3, _02177584 ; =0x00002ed9
add r0, r0, #0x48
mov r2, #0x6000
bx ip
.align 2, 0
arm_func_end func_ov25_02177568
_02177580: .word func_ov00_020c56d8
_02177584: .word 0x00002ed9
.global func_ov25_02177588
arm_func_start func_ov25_02177588
func_ov25_02177588: ; 0x02177588
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020caef8
mov r0, r4
mov r1, #5
bl func_ov25_021775a4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02177588
.global func_ov25_021775a4
arm_func_start func_ov25_021775a4
func_ov25_021775a4: ; 0x021775a4
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0x3c
mov r4, r0
mov r3, #0
str r3, [r4, #0x138]
ldr r2, [r4, #0x130]
cmp r1, #5
str r2, [r4, #0x134]
str r1, [r4, #0x130]
addls pc, pc, r1, lsl #2
b _021777c8
_021775d0: ; jump table
b _021775e8 ; case 0
b _021776d0 ; case 1
b _02177724 ; case 2
b _0217773c ; case 3
b _02177764 ; case 4
b _0217778c ; case 5
_021775e8:
mov r1, r3
strb r3, [r4, #0x32c]
add r0, r4, #0x21c
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
mvn r2, #0
mov ip, #1
mov r1, #0
ldr r3, _021777d0 ; =data_ov00_020e8398
ldr r0, _021777d4 ; =data_027e0ff0
strb r2, [sp, #0x20]
strb ip, [sp, #0x21]
strb r1, [sp, #0x22]
strb r1, [sp, #0x23]
strb ip, [sp, #0x38]
strb r2, [sp, #0xc]
strb r2, [sp, #0xd]
strb r2, [sp, #0xe]
strb r2, [sp, #0xf]
str r3, [sp, #0x1c]
ldrsb r3, [r4, #0x2c]
ldr r0, [r0]
add r1, sp, #0x1c
add r2, sp, #0xc
strb r3, [sp, #0x20]
strb ip, [sp, #0x38]
bl func_ov00_020c4d5c
cmp r0, #0
beq _021776c0
ldr r0, _021777d4 ; =data_027e0ff0
add r1, sp, #0xc
ldr r0, [r0]
bl func_ov00_020c47cc
ldr r1, [r0, #4]
ldr r3, _021777d8 ; =data_027e0e60
str r1, [r4, #0x48]
ldr r2, [r0, #8]
add r1, sp, #0
str r2, [r4, #0x4c]
ldr r0, [r0, #0xc]
mov r2, #1
str r0, [r4, #0x50]
ldr ip, [r4, #0x48]
ldr r0, [r3]
str ip, [sp]
ldr r3, [r4, #0x4c]
str r3, [sp, #4]
ldr r3, [r4, #0x50]
str r3, [sp, #8]
bl func_ov00_02083ee0
add r0, r0, #0x800
str r0, [r4, #0x4c]
_021776c0:
mov r0, r4
bl func_ov25_021774d8
add sp, sp, #0x3c
ldmia sp!, {r3, r4, pc}
_021776d0:
mov r1, r3
add r0, r4, #0x21c
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
ldr r0, [r4, #0x130]
cmp r0, #4
cmpne r0, #2
beq _02177714
ldrsh r2, [r4, #0x78]
ldrsb r3, [r4, #0x2c]
add r0, r4, #0x318
add r1, r4, #0x48
bl func_ov00_020c8f84
mov r0, r4
bl func_ov00_020c29d8
_02177714:
mov r0, r4
bl func_ov25_02177514
add sp, sp, #0x3c
ldmia sp!, {r3, r4, pc}
_02177724:
ldrsh r2, [r4, #0x78]
add r1, r4, #0x300
strh r2, [r1, #0x2e]
bl func_ov25_021774d8
add sp, sp, #0x3c
ldmia sp!, {r3, r4, pc}
_0217773c:
add r0, r4, #0x21c
mov r1, #1
bl func_ov00_020c5d74
ldr r1, [r4, #0x22c]
mov r2, #0x1000
mov r0, r4
str r2, [r1, #0x10]
bl func_ov25_021774d8
add sp, sp, #0x3c
ldmia sp!, {r3, r4, pc}
_02177764:
mov r1, r3
add r0, r4, #0x21c
bl func_ov00_020c5d74
ldr r1, [r4, #0x22c]
mov r2, #0x1000
mov r0, r4
str r2, [r1, #0x10]
bl func_ov25_021774d8
add sp, sp, #0x3c
ldmia sp!, {r3, r4, pc}
_0217778c:
add r0, r4, #0x21c
mov r1, #2
bl func_ov00_020c5d74
ldr r2, [r4, #0x22c]
mov r3, #0x1000
ldr r0, _021777dc ; =data_027e0ffc
ldr r1, _021777e0 ; =0x00000251
str r3, [r2, #0x10]
mov ip, #0x1e
add r2, r4, #0x48
mov r3, #0
strb ip, [r4, #0x32c]
bl func_ov00_020ceacc
mov r0, r4
bl func_ov25_021774d8
_021777c8:
add sp, sp, #0x3c
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_021775a4
_021777d0: .word data_ov00_020e8398
_021777d4: .word data_027e0ff0
_021777d8: .word data_027e0e60
_021777dc: .word data_027e0ffc
_021777e0: .word 0x00000251
.global func_ov25_021777e4
arm_func_start func_ov25_021777e4
func_ov25_021777e4: ; 0x021777e4
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
mov r4, r0
ldrb r0, [r4, #0x32c]
cmp r0, #0x1e
ldr r0, [r4, #0x164]
orreq r0, r0, #8
bicne r0, r0, #8
str r0, [r4, #0x164]
ldrb r0, [r4, #0x32c]
cmp r0, #0x1e
bne _02177824
mov r0, r4
mov r1, #1
mov r2, #0
bl func_ov00_020c1e2c
_02177824:
ldr r0, [r4, #0x130]
cmp r0, #5
addls pc, pc, r0, lsl #2
b _02177b48
_02177834: ; jump table
b _0217784c ; case 0
b _02177880 ; case 1
b _02177930 ; case 2
b _02177ab4 ; case 3
b _02177ae0 ; case 4
b _02177b04 ; case 5
_0217784c:
mov r0, r4
bl func_ov25_021774ec
ldrb r0, [r4, #0x32c]
cmp r0, #0x1e
addlo r0, r0, #1
strlob r0, [r4, #0x32c]
ldrb r0, [r4, #0x32c]
cmp r0, #0x1e
bne _02177b48
mov r0, r4
mov r1, #1
bl func_ov25_021775a4
b _02177b48
_02177880:
add r1, sp, #0
add r0, r4, #0x318
bl func_ov00_020c9034
add r1, sp, #0
mov r0, r4
bl func_ov25_0217752c
ldr r1, _02177b54 ; =0x0000019a
add r2, sp, #0
add r0, r4, #0x48
bl func_ov00_020ce284
cmp r0, #0
beq _021778b8
add r0, r4, #0x318
bl func_ov00_020c9070
_021778b8:
mov r0, r4
bl func_ov25_02177548
cmp r0, #0
mov r0, r4
beq _021778d8
mov r1, #5
bl func_ov25_021775a4
b _02177b48
_021778d8:
bl func_ov25_02177568
cmp r0, #0
mov r0, r4
beq _021778f4
mov r1, #3
bl func_ov25_021775a4
b _02177b48
_021778f4:
mov r1, #0x2000
bl func_ov00_020c29ec
cmp r0, #0
beq _02177914
mov r0, r4
mov r1, #5
bl func_ov25_021775a4
b _02177b48
_02177914:
ldr r0, [r4, #0x138]
cmp r0, #0x96
ble _02177b48
mov r0, r4
mov r1, #2
bl func_ov25_021775a4
b _02177b48
_02177930:
mov r0, r4
bl func_ov25_021774ec
ldr r0, [r4, #0x138]
cmp r0, #0x3c
bge _021779a4
add r0, r4, #0x300
ldrsh r0, [r0, #0x2e]
ldrsh r2, [r4, #0x78]
ldr r1, _02177b58 ; =0xffff8001
add r0, r0, #0x4000
mov r0, r0, lsl #0x10
sub r0, r2, r0, asr #16
mov r0, r0, lsl #0x10
mov r2, r0, asr #0x10
cmp r1, r0, asr #16
movgt r2, r1, lsr #0x11
bgt _02177984
cmp r2, #0
rsblt r0, r2, #0
movlt r0, r0, lsl #0x10
movlt r2, r0, asr #0x10
_02177984:
ldr r0, _02177b5c ; =0x0000038e
cmp r2, r0
ble _02177a78
ldrsh r0, [r4, #0x78]
add r0, r0, #0x8e
add r0, r0, #0x300
strh r0, [r4, #0x78]
b _02177a78
_021779a4:
cmp r0, #0x96
bge _02177a08
add r0, r4, #0x300
ldrsh r0, [r0, #0x2e]
ldrsh r2, [r4, #0x78]
ldr r1, _02177b58 ; =0xffff8001
sub r0, r0, #0x4000
mov r0, r0, lsl #0x10
sub r0, r2, r0, asr #16
mov r0, r0, lsl #0x10
mov r2, r0, asr #0x10
cmp r1, r0, asr #16
movgt r2, r1, lsr #0x11
bgt _021779ec
cmp r2, #0
rsblt r0, r2, #0
movlt r0, r0, lsl #0x10
movlt r2, r0, asr #0x10
_021779ec:
ldr r0, _02177b5c ; =0x0000038e
cmp r2, r0
ble _02177a78
ldrsh r1, [r4, #0x78]
sub r0, r1, r0
strh r0, [r4, #0x78]
b _02177a78
_02177a08:
cmp r0, #0xb4
bge _02177a68
add r0, r4, #0x300
ldrsh r2, [r4, #0x78]
ldrsh r0, [r0, #0x2e]
ldr r1, _02177b58 ; =0xffff8001
sub r0, r2, r0
mov r0, r0, lsl #0x10
mov r2, r0, asr #0x10
cmp r1, r0, asr #16
movgt r2, r1, lsr #0x11
bgt _02177a48
cmp r2, #0
rsblt r0, r2, #0
movlt r0, r0, lsl #0x10
movlt r2, r0, asr #0x10
_02177a48:
ldr r0, _02177b5c ; =0x0000038e
cmp r2, r0
ble _02177a78
ldrsh r0, [r4, #0x78]
add r0, r0, #0x8e
add r0, r0, #0x300
strh r0, [r4, #0x78]
b _02177a78
_02177a68:
mov r0, r4
mov r1, #1
bl func_ov25_021775a4
b _02177b48
_02177a78:
mov r0, r4
bl func_ov25_02177548
cmp r0, #0
mov r0, r4
beq _02177a98
mov r1, #5
bl func_ov25_021775a4
b _02177b48
_02177a98:
bl func_ov25_02177568
cmp r0, #0
beq _02177b48
mov r0, r4
mov r1, #3
bl func_ov25_021775a4
b _02177b48
_02177ab4:
mov r0, r4
bl func_ov25_021774fc
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02177b48
mov r0, r4
mov r1, #4
bl func_ov25_021775a4
b _02177b48
_02177ae0:
mov r0, r4
bl func_ov25_021774fc
ldr r0, [r4, #0x138]
cmp r0, #0
ble _02177b48
mov r0, r4
mov r1, #5
bl func_ov25_021775a4
b _02177b48
_02177b04:
mov r0, r4
bl func_ov25_021774fc
ldrb r0, [r4, #0x32c]
cmp r0, #0
subne r0, r0, #1
strneb r0, [r4, #0x32c]
ldrb r0, [r4, #0x32c]
cmp r0, #0
bne _02177b48
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _02177b48
mov r0, r4
mov r1, #0
bl func_ov25_021775a4
_02177b48:
mov r0, #1
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_021777e4
_02177b54: .word 0x0000019a
_02177b58: .word 0xffff8001
_02177b5c: .word 0x0000038e
.global func_ov25_02177b60
arm_func_start func_ov25_02177b60
func_ov25_02177b60: ; 0x02177b60
stmdb sp!, {r4, lr}
mov r4, r0
mov r1, #0
bl func_ov00_020c31c0
ldrb r1, [r4, #0x32c]
mov r0, r4
bl func_ov00_020cc9c4
mov r0, #1
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02177b60
.global func_ov25_02177b84
arm_func_start func_ov25_02177b84
func_ov25_02177b84: ; 0x02177b84
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
mov r4, r0
ldrb r1, [r4, #0x32c]
ldr r0, [r4, #0x220]
bl func_020197fc
add r1, sp, #0
mov r0, r4
bl func_ov00_020cc1f8
add r1, sp, #0
add r0, r4, #0x21c
bl func_ov00_020c5fc0
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
arm_func_end func_ov25_02177b84
.global func_ov25_02177bbc
arm_func_start func_ov25_02177bbc
func_ov25_02177bbc: ; 0x02177bbc
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0x3c
mov r4, r0
add r0, sp, #0x10
bl func_ov00_020c1500
mvn r1, #0
add r0, sp, #0x10
str r1, [sp, #0x2c]
str r1, [sp, #0x30]
bl func_ov00_020c3348
ldr r0, [r4, #8]
add r1, sp, #4
str r0, [sp, #0x2c]
ldr r0, [r4, #0xc]
mov ip, #0
str r0, [sp, #0x30]
ldrb r2, [r4, #0x124]
ldr r5, _02177ca4 ; =data_02050f54
ldr r0, _02177ca8 ; =0x000004cd
str r2, [sp, #0x34]
ldrh lr, [r4, #0x78]
add r2, r4, #0x48
mov r3, r1
str ip, [sp, #8]
mov ip, lr, asr #0x4
mov r6, ip, lsl #0x1
mov ip, r6, lsl #0x1
ldrsh lr, [r5, ip]
add ip, r6, #1
mov ip, ip, lsl #0x1
ldrsh ip, [r5, ip]
str lr, [sp, #4]
str ip, [sp, #0xc]
bl func_01ff9e64
ldr r0, [sp, #8]
mov r1, #0
add r0, r0, #0xcd
add r0, r0, #0x400
str r0, [sp, #8]
str r1, [sp]
ldr r0, _02177cac ; =data_027e0fe8
ldr r1, _02177cb0 ; =0x47534642
ldr r0, [r0]
add r2, sp, #4
add r3, sp, #0x10
bl func_ov00_020c4048
cmp r0, #0
addlt sp, sp, #0x3c
movlt r0, #0
ldmltia sp!, {r3, r4, r5, r6, pc}
ldr r0, _02177cb4 ; =data_027e0ffc
add r2, r4, #0x48
mov r1, #0x250
mov r3, #0
bl func_ov00_020ceacc
mov r0, #1
add sp, sp, #0x3c
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov25_02177bbc
_02177ca4: .word data_02050f54
_02177ca8: .word 0x000004cd
_02177cac: .word data_027e0fe8
_02177cb0: .word 0x47534642
_02177cb4: .word data_027e0ffc
.global func_ov25_02177cb8
arm_func_start func_ov25_02177cb8
func_ov25_02177cb8: ; 0x02177cb8
stmdb sp!, {r3, lr}
cmp r2, #0
ldmneia sp!, {r3, pc}
bl func_ov25_02177bbc
ldmia sp!, {r3, pc}
arm_func_end func_ov25_02177cb8
.global func_ov25_02177ccc
arm_func_start func_ov25_02177ccc
func_ov25_02177ccc: ; 0x02177ccc
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x298
blx func_ov00_020a9b6c
add r0, r4, #0x23c
blx func_ov00_020a95a4
add r0, r4, #0x1d8
bl func_ov00_02081f4c
add r0, r4, #0x1c8
mov r1, #2
mov r2, #4
ldr r3, _02177d18 ; =func_ov00_020b7d74
bl func_0204f754
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02177ccc
_02177d18: .word func_ov00_020b7d74
.global func_ov25_02177d1c
arm_func_start func_ov25_02177d1c
func_ov25_02177d1c: ; 0x02177d1c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x298
blx func_ov00_020a9b6c
add r0, r4, #0x23c
blx func_ov00_020a95a4
add r0, r4, #0x1d8
bl func_ov00_02081f4c
add r0, r4, #0x1c8
mov r1, #2
mov r2, #4
ldr r3, _02177d60 ; =func_ov00_020b7d74
bl func_0204f754
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02177d1c
_02177d60: .word func_ov00_020b7d74
.global func_ov25_02177d64
arm_func_start func_ov25_02177d64
func_ov25_02177d64: ; 0x02177d64
stmdb sp!, {r3, lr}
ldr r1, _02177d90 ; =data_027e0fe0
mov r0, #0x17c
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov25_02177d94
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02177d64
_02177d90: .word data_027e0fe0
.global func_ov25_02177d94
arm_func_start func_ov25_02177d94
func_ov25_02177d94: ; 0x02177d94
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c1554
ldr r0, _02177dc0 ; =data_ov25_0217a434
mov r1, #0
str r0, [r4]
str r1, [r4, #0x170]
str r1, [r4, #0x174]
mov r0, r4
str r1, [r4, #0x178]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02177d94
_02177dc0: .word data_ov25_0217a434
.global func_ov25_02177dc4
arm_func_start func_ov25_02177dc4
func_ov25_02177dc4: ; 0x02177dc4
stmdb sp!, {r4, r5, r6, r7, r8, lr}
mov r4, r0
ldr r0, _02177efc ; =data_027e0f94
add r1, r4, #0x48
add r2, r4, #0x60
bl func_01ff9bf8
mov r0, #0
str r0, [r4, #0x64]
ldr r0, [r4, #0x60]
ldr r1, [r4, #0x68]
bl func_01ffa0f4
add r1, r4, #0x100
strh r0, [r1, #0x5c]
ldrh r1, [r1, #0x5c]
ldr r3, _02177f00 ; =data_02050f54
mov r0, #0
mov r1, r1, asr #0x4
mov r1, r1, lsl #0x1
mov r2, r1, lsl #0x1
add r1, r1, #1
ldrsh r2, [r3, r2]
mov r1, r1, lsl #0x1
ldrsh r1, [r3, r1]
str r2, [r4, #0x60]
str r0, [r4, #0x64]
str r1, [r4, #0x68]
ldr r2, [r4, #0x60]
mov r1, #0x148
umull r5, r3, r2, r1
mla r3, r2, r0, r3
mov r2, r2, asr #0x1f
mla r3, r2, r1, r3
adds r5, r5, #0x800
adc r2, r3, #0
mov r3, r5, lsr #0xc
orr r3, r3, r2, lsl #20
str r3, [r4, #0x60]
ldr r3, [r4, #0x64]
ldr r2, _02177f04 ; =data_027e0764
umull r6, r5, r3, r1
mla r5, r3, r0, r5
mov r3, r3, asr #0x1f
mla r5, r3, r1, r5
adds r6, r6, #0x800
adc r3, r5, #0
mov r5, r6, lsr #0xc
orr r5, r5, r3, lsl #20
str r5, [r4, #0x64]
ldr r5, [r4, #0x68]
umull r7, r6, r5, r1
mla r6, r5, r0, r6
mov r3, r5, asr #0x1f
mla r6, r3, r1, r6
adds r3, r7, #0x800
adc r1, r6, #0
mov r3, r3, lsr #0xc
orr r3, r3, r1, lsl #20
str r3, [r4, #0x68]
ldr r3, [r2]
ldmib r2, {r1, lr}
umull r6, r5, lr, r3
mla r5, lr, r1, r5
ldr ip, [r2, #0xc]
ldr r8, [r2, #0x10]
mla r5, ip, r3, r5
ldr r7, [r2, #0x14]
adds r3, r8, r6
adc r1, r7, r5
str r3, [r2]
tst r1, #0x80000000
str r1, [r2, #4]
movne r0, #1
strb r0, [r4, #0x158]
add r0, r4, #0x100
mov r1, #0
strh r1, [r0, #0x5a]
strh r1, [r0, #0x6c]
ldmia sp!, {r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov25_02177dc4
_02177efc: .word data_027e0f94
_02177f00: .word data_02050f54
_02177f04: .word data_027e0764
.global func_ov25_02177f08
arm_func_start func_ov25_02177f08
func_ov25_02177f08: ; 0x02177f08
stmdb sp!, {r4, r5, r6, lr}
mov r4, r0
add r0, r4, #0x100
ldrsh r1, [r0, #0x5a]
sub r1, r1, #1
strh r1, [r0, #0x5a]
ldrsh r1, [r0, #0x5a]
cmp r1, #0
bgt _02177fe0
ldr r1, _02178090 ; =data_027e0764
mov r2, #0
ldr r5, [r1]
ldmib r1, {r3, r6}
umull lr, ip, r6, r5
mla ip, r6, r3, ip
ldr r3, [r1, #0xc]
ldr r6, [r1, #0x10]
mla ip, r3, r5, ip
ldr r3, [r1, #0x14]
adds r5, r6, lr
str r5, [r1]
adc r3, r3, ip
str r3, [r1, #4]
add r1, r2, #0x14
strh r1, [r0, #0x5a]
ldrb r0, [r4, #0x158]
cmp r0, #0
moveq r0, #1
movne r0, r2
strb r0, [r4, #0x158]
tst r0, #0xff
add r0, r4, #0x100
ldrnesh r0, [r0, #0x5c]
ldr r2, _02178094 ; =data_02050f54
addne r0, r0, #0x2000
ldreqsh r0, [r0, #0x5c]
subeq r0, r0, #0x2000
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 #0x1
mov r1, r0, lsl #0x1
add r0, r0, #1
ldrsh r1, [r2, r1]
mov r0, r0, lsl #0x1
ldrsh r0, [r2, r0]
str r1, [r4, #0x160]
mov r1, #0
str r1, [r4, #0x164]
str r0, [r4, #0x168]
str r1, [r4, #0x160]
str r1, [r4, #0x168]
_02177fe0:
ldr r2, [r4, #0x60]
ldr r1, [r4, #0x160]
add r0, r4, #0x60
add r1, r2, r1
str r1, [r4, #0x60]
ldr r3, [r4, #0x68]
ldr r1, [r4, #0x168]
mov r2, r0
add r3, r3, r1
mov r1, #0x148
str r3, [r4, #0x68]
bl func_0202dc38
add r1, r4, #0x100
ldrh r0, [r1, #0x6c]
ldr ip, _02178094 ; =data_02050f54
ldr r2, _02178098 ; =0x0000019a
add r0, r0, #0x3b8
add r0, r0, #0x800
strh r0, [r1, #0x6c]
ldrh r0, [r1, #0x6c]
mov r3, #0
ldr r1, [r4, #0x18]
mov r0, r0, asr #0x4
mov r0, r0, lsl #0x1
add r0, r0, #1
mov r0, r0, lsl #0x1
ldrsh lr, [ip, r0]
ldr ip, [r4, #0x4c]
add r0, r4, #0x48
umull r6, r5, lr, r2
mla r5, lr, r3, r5
mov r3, lr, asr #0x1f
mla r5, r3, r2, r5
adds r6, r6, #0x800
adc r2, r5, #0
mov r3, r6, lsr #0xc
orr r3, r3, r2, lsl #20
add r1, r1, r3
sub r3, r1, ip
add r1, r4, #0x60
mov r2, r0
str r3, [r4, #0x64]
bl func_01ff9bc4
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov25_02177f08
_02178090: .word data_027e0764
_02178094: .word data_02050f54
_02178098: .word 0x0000019a
.global func_ov25_0217809c
arm_func_start func_ov25_0217809c
func_ov25_0217809c: ; 0x0217809c
stmdb sp!, {r3, r4, lr}
sub sp, sp, #4
ldr r3, _021781bc ; =data_ov25_0217a970
mov r4, r0
ldr r0, [r3, #0x20]
tst r0, #1
bne _021780e0
ldr ip, _021781c0 ; =data_ov00_020e892c
ldr r0, _021781c4 ; =data_ov25_0217a9a0
ldr r1, _021781c8 ; =func_ov25_021781d8
ldr r2, _021781cc ; =data_ov25_0217a994
str ip, [r3, #0x30]
bl func_0204f8d4
ldr r0, _021781bc ; =data_ov25_0217a970
ldr r1, [r0, #0x20]
orr r1, r1, #1
str r1, [r0, #0x20]
_021780e0:
mov r1, #0x8f
ldr r0, _021781c4 ; =data_ov25_0217a9a0
strh r1, [r4, #0x9c]
str r0, [r4, #0xa0]
mov lr, #0
str lr, [r4, #0x7c]
str lr, [r4, #0x80]
ldr r1, _021781d0 ; =0x000004cd
str lr, [r4, #0x84]
str r1, [r4, #0x88]
ldr r0, [r4, #0x7c]
add r3, r1, #0x1000
str r0, [r4, #0x8c]
ldr r0, [r4, #0x80]
mov r2, #2
str r0, [r4, #0x90]
ldr r1, [r4, #0x84]
ldr r0, _021781d4 ; =data_027e0e58
str r1, [r4, #0x94]
ldr ip, [r4, #0x88]
add r1, r4, #0x170
str ip, [r4, #0x98]
str lr, [r4, #0xa8]
str lr, [r4, #0xac]
str lr, [r4, #0xb0]
str r3, [r4, #0xb4]
ldr ip, [r4, #0x140]
add r3, r4, #0x48
strb ip, [r4, #0x124]
str r2, [sp]
ldr r0, [r0]
mov r2, #0xb9
bl func_ov00_0207c1f8
mov r1, #2
ldr r0, _021781d4 ; =data_027e0e58
str r1, [sp]
ldr r0, [r0]
add r1, r4, #0x174
add r3, r4, #0x48
mov r2, #0xba
bl func_ov00_0207c1f8
mov r1, #2
ldr r0, _021781d4 ; =data_027e0e58
str r1, [sp]
ldr r0, [r0]
add r1, r4, #0x178
add r3, r4, #0x48
mov r2, #0xbb
bl func_ov00_0207c1f8
mov r0, r4
mov r1, #0
bl func_ov25_021781ec
mov r0, #1
add sp, sp, #4
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_0217809c
_021781bc: .word data_ov25_0217a970
_021781c0: .word data_ov00_020e892c
_021781c4: .word data_ov25_0217a9a0
_021781c8: .word func_ov25_021781d8
_021781cc: .word data_ov25_0217a994
_021781d0: .word 0x000004cd
_021781d4: .word data_027e0e58
.global func_ov25_021781d8
arm_func_start func_ov25_021781d8
func_ov25_021781d8: ; 0x021781d8
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_02081f4c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_021781d8
.global func_ov25_021781ec
arm_func_start func_ov25_021781ec
func_ov25_021781ec: ; 0x021781ec
stmdb sp!, {r3, r4, r5, lr}
movs r4, r1
mov r5, r0
beq _02178204
cmp r4, #1
b _02178208
_02178204:
bl func_ov25_02177dc4
_02178208:
mov r0, #0
str r0, [r5, #0x138]
str r4, [r5, #0x130]
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov25_021781ec
.global func_ov25_02178218
arm_func_start func_ov25_02178218
func_ov25_02178218: ; 0x02178218
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x18
mov r5, r0
mov r4, r1
bl func_ov00_020c313c
cmp r0, #0
beq _021784e8
ldr r1, [r5, #0x48]
mov r0, r5
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, #0
beq _0217826c
cmp r0, #1
beq _0217846c
b _021784e8
_0217826c:
mov r0, r5
bl func_ov25_02177f08
ldr r0, [r5, #0x170]
cmp r0, #0
beq _021782c8
ldr r1, [r0, #0x20]
ldr r2, [r5, #0x48]
ldr r1, [r1]
ldr r1, [r1, #4]
add r1, r2, r1
str r1, [r0, #0x28]
ldr r1, [r0, #0x20]
ldr r2, [r5, #0x4c]
ldr r1, [r1]
ldr r1, [r1, #8]
add r1, r2, r1
str r1, [r0, #0x2c]
ldr r1, [r0, #0x20]
ldr r2, [r5, #0x50]
ldr r1, [r1]
ldr r1, [r1, #0xc]
add r1, r2, r1
str r1, [r0, #0x30]
_021782c8:
ldr r0, [r5, #0x174]
cmp r0, #0
beq _0217831c
ldr r1, [r0, #0x20]
ldr r2, [r5, #0x48]
ldr r1, [r1]
ldr r1, [r1, #4]
add r1, r2, r1
str r1, [r0, #0x28]
ldr r1, [r0, #0x20]
ldr r2, [r5, #0x4c]
ldr r1, [r1]
ldr r1, [r1, #8]
add r1, r2, r1
str r1, [r0, #0x2c]
ldr r1, [r0, #0x20]
ldr r2, [r5, #0x50]
ldr r1, [r1]
ldr r1, [r1, #0xc]
add r1, r2, r1
str r1, [r0, #0x30]
_0217831c:
add r0, r5, #0x48
add r3, sp, #0xc
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldr r0, _02178500 ; =data_027e0e60
ldr lr, [sp, #0xc]
ldr ip, [sp, #0x10]
ldr r3, [sp, #0x14]
ldr r0, [r0]
add r1, sp, #0
mov r2, #0
str lr, [sp]
str ip, [sp, #4]
str r3, [sp, #8]
bl func_ov00_02083ee0
str r0, [sp, #0x10]
ldr r0, [r5, #0x178]
cmp r0, #0
beq _021783b0
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]
_021783b0:
mov r0, r5
mov r1, #4
bl func_ov00_020c1fc8
cmp r0, #0
beq _02178404
ldr r0, _02178504 ; =data_027e0fb4
mov r1, #2
ldr r0, [r0]
bl func_ov00_020ad9e8
cmp r0, #1
blt _02178404
bl func_ov25_0217850c
add r2, r5, #0x48
mov r1, #0xf9
mov r3, #0
bl func_ov00_020c070c
mov r0, r5
mov r1, #1
bl func_ov25_021781ec
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, pc}
_02178404:
mov r0, r5
add r2, r5, #0x60
mov r1, #4
bl func_ov00_020c1e2c
cmp r0, #0
mov r0, r5
beq _02178430
mov r1, #1
bl func_ov25_021781ec
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, pc}
_02178430:
mov r1, #0
bl func_01fffd04
cmp r0, #0
beq _02178450
mov r0, r5
mov r1, #1
bl func_ov25_021781ec
b _021784e8
_02178450:
ldr r0, [r5, #0x138]
cmp r0, #0x96
ble _021784e8
mov r0, r5
mov r1, #1
bl func_ov25_021781ec
b _021784e8
_0217846c:
ldr r0, [r5, #0x138]
ldr r3, [r5, #0x170]
rsb r0, r0, #0xa
rsb r1, r0, r0, lsl #5
ldr r2, _02178508 ; =0x66666667
mov r0, r1, lsr #0x1f
smull r1, ip, r2, r1
add ip, r0, ip, asr #2
cmp r3, #0
and ip, ip, #0xff
beq _021784b0
ldr r1, [r3, #0x84]
and r0, ip, #0xff
bic r1, r1, #0xff00
mov r0, r0, lsl #0x18
orr r0, r1, r0, lsr #16
str r0, [r3, #0x84]
_021784b0:
ldr r2, [r5, #0x178]
cmp r2, #0
beq _021784d4
ldr r1, [r2, #0x84]
and r0, ip, #0xff
bic r1, r1, #0xff00
mov r0, r0, lsl #0x18
orr r0, r1, r0, lsr #16
str r0, [r2, #0x84]
_021784d4:
ldr r0, [r5, #0x138]
cmp r0, #0xa
blt _021784e8
mov r0, r5
bl func_ov00_020c3180
_021784e8:
mov r1, r4
add r0, r5, #0xa4
add r2, r5, #0x48
bl func_ov00_0207a1c8
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_02178218
_02178500: .word data_027e0e60
_02178504: .word data_027e0fb4
_02178508: .word 0x66666667
.global func_ov25_0217850c
arm_func_start func_ov25_0217850c
func_ov25_0217850c: ; 0x0217850c
ldr ip, _02178518 ; =func_01fffcec
mov r0, #1
bx ip
.align 2, 0
arm_func_end func_ov25_0217850c
_02178518: .word func_01fffcec
.global func_ov25_0217851c
arm_func_start func_ov25_0217851c
func_ov25_0217851c: ; 0x0217851c
bx lr
arm_func_end func_ov25_0217851c
.global func_ov25_02178520
arm_func_start func_ov25_02178520
func_ov25_02178520: ; 0x02178520
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x178
bl func_ov00_020b7d74
add r0, r4, #0x174
bl func_ov00_020b7d74
add r0, r4, #0x170
bl func_ov00_020b7d74
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02178520
.global func_ov25_02178558
arm_func_start func_ov25_02178558
func_ov25_02178558: ; 0x02178558
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x178
bl func_ov00_020b7d74
add r0, r4, #0x174
bl func_ov00_020b7d74
add r0, r4, #0x170
bl func_ov00_020b7d74
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02178558
.global func_ov25_02178588
arm_func_start func_ov25_02178588
func_ov25_02178588: ; 0x02178588
stmdb sp!, {r3, lr}
ldr r1, _021785b4 ; =data_027e0fe0
mov r0, #0x2cc
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov25_021785b8
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02178588
_021785b4: .word data_027e0fe0
.global func_ov25_021785b8
arm_func_start func_ov25_021785b8
func_ov25_021785b8: ; 0x021785b8
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov14_0215133c
ldr r3, _0217861c ; =data_ov25_0217a4f0
add r0, r4, #0x1b8
add r1, r4, #0x1dc
mov r2, #0
str r3, [r4]
blx func_ov00_020c0c08
ldr r3, _02178620 ; =data_ov25_0217a5bc
add r0, r4, #0x224
add r1, r4, #0x248
mov r2, #0
str r3, [r4, #0x1b8]
blx func_ov00_020c0c08
ldr r3, _02178624 ; =data_ov25_0217a5ac
add r0, r4, #0x278
add r1, r4, #0x29c
mov r2, #0
str r3, [r4, #0x224]
blx func_ov00_020c0c08
ldr r1, _02178624 ; =data_ov25_0217a5ac
mov r0, r4
str r1, [r4, #0x278]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_021785b8
_0217861c: .word data_ov25_0217a4f0
_02178620: .word data_ov25_0217a5bc
_02178624: .word data_ov25_0217a5ac
.global func_ov25_02178628
arm_func_start func_ov25_02178628
func_ov25_02178628: ; 0x02178628
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x278
blx func_ov00_020a9aec
add r0, r4, #0x224
blx func_ov00_020a9aec
add r0, r4, #0x1b8
blx func_ov00_020a9b4c
mov r0, r4
bl func_ov14_021513fc
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02178628
.global func_ov25_02178658
arm_func_start func_ov25_02178658
func_ov25_02178658: ; 0x02178658
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x278
blx func_ov00_020a9aec
add r0, r4, #0x224
blx func_ov00_020a9aec
add r0, r4, #0x1b8
blx func_ov00_020a9b4c
mov r0, r4
bl func_ov14_021513fc
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02178658
.global func_ov25_02178690
arm_func_start func_ov25_02178690
func_ov25_02178690: ; 0x02178690
stmdb sp!, {r4, lr}
mov r4, r0
mov r1, #1
str r1, [r4, #0x158]
bl func_ov14_0215141c
ldr r0, _021787b4 ; =data_027e0f68
mov r1, #0x74
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
ldr r1, _021787b4 ; =data_027e0f68
str r0, [r4, #0x1c0]
ldr r0, [r1]
ldr r3, _021787b8 ; =data_ov25_02179608
mov r1, #0x74
mov r2, #0
bl func_ov00_0208cd0c
mov r2, #0
mov r1, r0
add r0, r4, #0x1b8
mov r3, r2
bl func_ov00_020c0cc8
ldr r0, _021787b4 ; =data_027e0f68
mov r1, #0x74
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
str r0, [r4, #0x22c]
ldr r0, _021787b4 ; =data_027e0f68
mov r1, #0x74
ldr r0, [r0]
mov r2, #2
ldr r3, _021787b8 ; =data_ov25_02179608
bl func_ov00_0208cd0c
mov r1, r0
add r0, r4, #0x224
mov r2, #0
mov r3, r2
bl func_ov00_020c0cc8
ldr r0, _021787b4 ; =data_027e0f68
mov r1, #0x74
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
str r0, [r4, #0x280]
ldr r0, _021787b4 ; =data_027e0f68
mov r1, #0x74
ldr r0, [r0]
mov r2, #1
ldr r3, _021787b8 ; =data_ov25_02179608
bl func_ov00_0208cd0c
mov r1, r0
add r0, r4, #0x278
mov r2, #0
mov r3, r2
bl func_ov00_020c0cc8
add r0, r4, #0x15c
add r1, r4, #0x1b8
ldr r2, [r0]
ldr r2, [r2, #0x24]
blx r2
add r0, r4, #0x15c
ldr r2, [r0]
add r1, r4, #0x224
ldr r2, [r2, #0x24]
blx r2
add r0, r4, #0x15c
ldr r2, [r0]
add r1, r4, #0x278
ldr r2, [r2, #0x24]
blx r2
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02178690
_021787b4: .word data_027e0f68
_021787b8: .word data_ov25_02179608
.global func_ov25_021787bc
arm_func_start func_ov25_021787bc
func_ov25_021787bc: ; 0x021787bc
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c313c
cmp r0, #0
ldmeqia sp!, {r4, pc}
add r0, r4, #0x1b8
bl func_ov00_020c0e04
add r0, r4, #0x224
bl func_ov00_020c0e04
add r0, r4, #0x278
bl func_ov00_020c0e04
ldmia sp!, {r4, pc}
arm_func_end func_ov25_021787bc
.global func_ov25_021787ec
arm_func_start func_ov25_021787ec
func_ov25_021787ec: ; 0x021787ec
stmdb sp!, {r3, lr}
ldr r2, [r0]
ldr r2, [r2, #0x14]
blx r2
ldmia sp!, {r3, pc}
arm_func_end func_ov25_021787ec
.global func_ov25_02178800
arm_func_start func_ov25_02178800
func_ov25_02178800: ; 0x02178800
stmdb sp!, {r3, lr}
ldr r1, _0217882c ; =data_027e0fe0
mov r0, #0x1b4
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov25_02178830
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02178800
_0217882c: .word data_027e0fe0
.global func_ov25_02178830
arm_func_start func_ov25_02178830
func_ov25_02178830: ; 0x02178830
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020c1554
ldr r2, _02178858 ; =data_ov25_0217a5cc
add r0, r4, #0x158
mov r1, #0
str r2, [r4]
blx func_ov00_020a9588
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02178830
_02178858: .word data_ov25_0217a5cc
.global func_ov25_0217885c
arm_func_start func_ov25_0217885c
func_ov25_0217885c: ; 0x0217885c
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_ov25_0217885c
.global func_ov25_0217887c
arm_func_start func_ov25_0217887c
func_ov25_0217887c: ; 0x0217887c
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 func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_0217887c
.global func_ov25_021788a4
arm_func_start func_ov25_021788a4
func_ov25_021788a4: ; 0x021788a4
stmdb sp!, {r4, lr}
sub sp, sp, #0x18
mov r4, r0
mov r0, #0
str r0, [r4, #0x7c]
str r0, [r4, #0x80]
str r0, [r4, #0x84]
str r0, [r4, #0x88]
ldr r1, [r4, #0x7c]
ldr r0, _021789b8 ; =data_027e0e60
str r1, [r4, #0x8c]
ldr r2, [r4, #0x80]
add r1, sp, #0xc
str r2, [r4, #0x90]
ldr r2, [r4, #0x84]
str r2, [r4, #0x94]
ldr r2, [r4, #0x88]
str r2, [r4, #0x98]
ldr r0, [r0]
bl func_ov00_0208344c
ldr r2, [sp, #0x14]
ldr r1, [sp, #0x10]
ldr r0, [sp, #0xc]
str r0, [r4, #0x48]
str r1, [r4, #0x4c]
str r2, [r4, #0x50]
ldrh r0, [r4, #0x20]
cmp r0, #0
beq _02178984
cmp r0, #1
beq _0217892c
cmp r0, #2
beq _02178958
b _02178984
_0217892c:
ldr r0, _021789bc ; =data_027e0f68
mov r1, #0xcd
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x158
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
b _021789ac
_02178958:
ldr r0, _021789bc ; =data_027e0f68
mov r1, #0xce
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x158
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
b _021789ac
_02178984:
ldr r0, _021789bc ; =data_027e0f68
mov r1, #0xc2
ldr r0, [r0]
mov r2, #0
bl func_ov00_0208ccdc
mov r1, r0
add r0, r4, #0x158
ldr r2, [r0]
ldr r2, [r2, #0xc]
blx r2
_021789ac:
mov r0, #1
add sp, sp, #0x18
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_021788a4
_021789b8: .word data_027e0e60
_021789bc: .word data_027e0f68
.global func_ov25_021789c0
arm_func_start func_ov25_021789c0
func_ov25_021789c0: ; 0x021789c0
stmdb sp!, {r3, lr}
mov r1, r0
add r0, r1, #0x158
ldr r2, [r0]
add r1, r1, #0x48
ldr r2, [r2, #0x18]
blx r2
ldmia sp!, {r3, pc}
arm_func_end func_ov25_021789c0
.global func_ov25_021789e0
arm_func_start func_ov25_021789e0
func_ov25_021789e0: ; 0x021789e0
stmdb sp!, {r3, lr}
ldr r1, _02178a0c ; =data_027e0fe0
mov r0, #0x360
ldr r1, [r1]
mov r2, #4
ldr r1, [r1]
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r3, pc}
bl func_ov25_02178c30
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_021789e0
_02178a0c: .word data_027e0fe0
.global func_ov25_02178a10
arm_func_start func_ov25_02178a10
func_ov25_02178a10: ; 0x02178a10
stmdb sp!, {r4, lr}
mov r1, #0
mov r4, r0
blx func_ov00_020a956c
ldr r1, _02178a30 ; =data_ov25_0217a82c
mov r0, r4
str r1, [r4]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02178a10
_02178a30: .word data_ov25_0217a82c
.global func_ov25_02178a34
arm_func_start func_ov25_02178a34
func_ov25_02178a34: ; 0x02178a34
ldr ip, _02178a44 ; =func_ov00_020a9998
mov r1, #6
mov r2, #3
bx ip
.align 2, 0
arm_func_end func_ov25_02178a34
_02178a44: .word func_ov00_020a9998
.global func_ov25_02178a48
arm_func_start func_ov25_02178a48
func_ov25_02178a48: ; 0x02178a48
stmdb sp!, {r3, r4, r5, lr}
mov r4, r1
ldr r2, [r4, #4]
ldr r1, _02178aa4 ; =data_ov25_02179618
ldr r2, [r2, #4]
mov r5, r0
add r0, r2, #0x40
bl func_0201e388
ldr r1, [r4, #8]
tst r1, #0x10
ldrneb r1, [r4, #0xae]
mvneq r1, #0
cmp r0, r1
ldmneia sp!, {r3, r4, r5, pc}
add r0, r5, #0x5c
mov r1, #0
bl func_0201b1bc
bl func_02018450
mov r1, r0
add r0, r5, #0x5c
mov r2, r0
bl func_01ff8e84
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov25_02178a48
_02178aa4: .word data_ov25_02179618
.global func_ov25_02178aa8
arm_func_start func_ov25_02178aa8
func_ov25_02178aa8: ; 0x02178aa8
ldr r3, [r0, #0x88]
ldr r2, [r0, #0x84]
ldr r0, [r0, #0x80]
stmia r1, {r0, r2, r3}
bx lr
arm_func_end func_ov25_02178aa8
.global func_ov25_02178abc
arm_func_start func_ov25_02178abc
func_ov25_02178abc: ; 0x02178abc
stmdb sp!, {r4, lr}
mov r4, r0
add r2, r4, #0x20
add r3, r4, #0xac
bl func_ov00_020c5c2c
ldr r1, _02178b18 ; =data_ov25_0217a818
add r0, r4, #0x20
str r1, [r4]
bl func_ov25_02178a10
add r0, r4, #0xac
add r1, r4, #0xd0
mov r2, #0
blx func_ov00_020c0c08
ldr r3, _02178b1c ; =data_ov25_02179d8c
ldr r2, _02178b20 ; =data_ov25_0217962c
mov r0, r4
mov r1, #0x72
str r3, [r4, #0xac]
bl func_ov00_020c5c98
add r0, r4, #0x20
bl func_ov25_02178a34
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02178abc
_02178b18: .word data_ov25_0217a818
_02178b1c: .word data_ov25_02179d8c
_02178b20: .word data_ov25_0217962c
.global func_ov25_02178b24
arm_func_start func_ov25_02178b24
func_ov25_02178b24: ; 0x02178b24
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a95ec
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02178b24
.global func_ov25_02178b38
arm_func_start func_ov25_02178b38
func_ov25_02178b38: ; 0x02178b38
stmdb sp!, {r4, lr}
mov r4, r0
ldr r0, [r4, #0x14]
cmp r0, #3
addls pc, pc, r0, lsl #2
ldmia sp!, {r4, pc}
_02178b50: ; jump table
b _02178b60 ; case 0
b _02178b90 ; case 1
b _02178bc0 ; case 2
b _02178bf0 ; case 3
_02178b60:
add r0, r4, #0xb8
mov r1, #0x1000
bl func_0202e310
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r2, [r4, #0x1c]
ldr r0, _02178c20 ; =data_027e0ffc
ldr r1, _02178c24 ; =0x0000041e
add r2, r2, #0x48
mov r3, #0
bl func_ov00_020ceacc
ldmia sp!, {r4, pc}
_02178b90:
add r0, r4, #0xb8
mov r1, #0x1000
bl func_0202e310
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r2, [r4, #0x1c]
ldr r0, _02178c20 ; =data_027e0ffc
ldr r1, _02178c28 ; =0x0000041f
add r2, r2, #0x48
mov r3, #0
bl func_ov00_020ceacc
ldmia sp!, {r4, pc}
_02178bc0:
add r0, r4, #0xb8
mov r1, #0x1000
bl func_0202e310
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r1, [r4, #0x1c]
ldr r0, _02178c20 ; =data_027e0ffc
add r2, r1, #0x48
mov r1, #0x420
mov r3, #0
bl func_ov00_020ceacc
ldmia sp!, {r4, pc}
_02178bf0:
add r0, r4, #0xb8
mov r1, #0x1000
bl func_0202e310
cmp r0, #0
ldmeqia sp!, {r4, pc}
ldr r2, [r4, #0x1c]
ldr r0, _02178c20 ; =data_027e0ffc
ldr r1, _02178c2c ; =0x00000421
add r2, r2, #0x48
mov r3, #0
bl func_ov00_020ceacc
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02178b38
_02178c20: .word data_027e0ffc
_02178c24: .word 0x0000041e
_02178c28: .word 0x0000041f
_02178c2c: .word 0x00000421
.global func_ov25_02178c30
arm_func_start func_ov25_02178c30
func_ov25_02178c30: ; 0x02178c30
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020ca668
ldr r2, _02178c58 ; =data_ov25_0217a708
mov r1, r4
add r0, r4, #0x21c
str r2, [r4]
bl func_ov25_02178abc
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02178c30
_02178c58: .word data_ov25_0217a708
.global func_ov25_02178c5c
arm_func_start func_ov25_02178c5c
func_ov25_02178c5c: ; 0x02178c5c
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
ldr r1, _02178cec ; =data_ov25_0217a680
mov r4, r0
bl func_ov00_020ca8a4
add r2, r4, #0x100
ldrh r3, [r2, #0xb0]
mov r0, r4
add r1, r4, #0x21c
bic r3, r3, #4
strh r3, [r2, #0xb0]
ldr r2, [r4, #0x88]
str r2, [r4, #0x358]
ldr ip, [r4, #0x4c]
ldr r3, [r4, #0x50]
ldr r2, [r4, #0x48]
str r2, [r4, #0x34c]
str ip, [r4, #0x350]
str r3, [r4, #0x354]
bl func_ov00_020cb140
mov r1, #0
str r1, [r4, #0x35c]
ldrh r0, [r4, #0x20]
cmp r0, #0
beq _02178cd0
cmp r0, #1
moveq r0, #1
streq r0, [r4, #0x348]
b _02178cd4
_02178cd0:
str r1, [r4, #0x348]
_02178cd4:
mov r0, r4
mov r1, #0
bl func_ov25_02178d8c
mov r0, #1
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_02178c5c
_02178cec: .word data_ov25_0217a680
.global func_ov25_02178cf0
arm_func_start func_ov25_02178cf0
func_ov25_02178cf0: ; 0x02178cf0
ldr r1, [r0, #0x15c]
cmp r1, #0
ldreq r0, [r0, #0x130]
cmpeq r0, #3
moveq r0, #1
movne r0, #0
bx lr
arm_func_end func_ov25_02178cf0
.global func_ov25_02178d0c
arm_func_start func_ov25_02178d0c
func_ov25_02178d0c: ; 0x02178d0c
stmdb sp!, {r3, r4, lr}
sub sp, sp, #0xc
mov r4, r0
bl func_ov00_020c1d58
cmp r0, #0
addeq sp, sp, #0xc
moveq r0, #0
ldmeqia sp!, {r3, r4, pc}
ldr r0, _02178d84 ; =data_027e0f94
add r2, sp, #0
add r1, r4, #0x34c
bl func_01ff9bf8
ldr r0, _02178d88 ; =data_027e0f90
add r1, r4, #0x34c
ldr r0, [r0]
bl func_ov00_020a7c1c
cmp r0, #0
addeq sp, sp, #0xc
moveq r0, #0
ldmeqia sp!, {r3, r4, pc}
ldr r0, _02178d88 ; =data_027e0f90
ldrb r1, [r4, #0x124]
ldr r0, [r0]
add r2, sp, #0
ldr ip, [r0]
mov r3, #1
ldr ip, [ip, #0x30]
blx ip
add sp, sp, #0xc
ldmia sp!, {r3, r4, pc}
.align 2, 0
arm_func_end func_ov25_02178d0c
_02178d84: .word data_027e0f94
_02178d88: .word data_027e0f90
.global func_ov25_02178d8c
arm_func_start func_ov25_02178d8c
func_ov25_02178d8c: ; 0x02178d8c
stmdb sp!, {r4, r5, r6, lr}
mov r4, r0
mov r0, #0
str r0, [r4, #0x138]
ldr r2, [r4, #0x130]
cmp r1, #6
str r2, [r4, #0x134]
str r1, [r4, #0x130]
addls pc, pc, r1, lsl #2
ldmia sp!, {r4, r5, r6, pc}
_02178db4: ; jump table
b _02178dd0 ; case 0
b _02178e30 ; case 1
b _02178e38 ; case 2
b _02178e54 ; case 3
b _02178e70 ; case 4
b _02178e8c ; case 5
ldmia sp!, {r4, r5, r6, pc} ; case 6
_02178dd0:
str r0, [r4, #0x35c]
ldr r1, [r4, #0x348]
cmp r1, #1
ldmneia sp!, {r4, r5, r6, pc}
ldr r2, _02178ea8 ; =data_027e0764
mov r1, #0x1f
ldr ip, [r2]
ldmib r2, {r3, lr}
umull r6, r5, lr, ip
mla r5, lr, r3, r5
ldr r3, [r2, #0xc]
ldr lr, [r2, #0x10]
mla r5, r3, ip, r5
ldr r3, [r2, #0x14]
adds r6, lr, r6
adc r5, r3, r5
umull r3, ip, r5, r1
mla ip, r5, r0, ip
mla ip, r0, r1, ip
str r6, [r2]
str r5, [r2, #4]
add r0, ip, #0x1e
str r0, [r4, #0x13c]
ldmia sp!, {r4, r5, r6, pc}
_02178e30:
str r0, [r4, #0x35c]
ldmia sp!, {r4, r5, r6, pc}
_02178e38:
mov r1, r0
add r0, r4, #0x21c
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
ldmia sp!, {r4, r5, r6, pc}
_02178e54:
add r0, r4, #0x21c
mov r1, #1
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
ldmia sp!, {r4, r5, r6, pc}
_02178e70:
add r0, r4, #0x21c
mov r1, #2
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
ldmia sp!, {r4, r5, r6, pc}
_02178e8c:
add r0, r4, #0x21c
mov r1, #3
bl func_ov00_020c5d74
ldr r0, [r4, #0x22c]
mov r1, #0x1000
str r1, [r0, #0x10]
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov25_02178d8c
_02178ea8: .word data_027e0764
.global func_ov25_02178eac
arm_func_start func_ov25_02178eac
func_ov25_02178eac: ; 0x02178eac
stmdb sp!, {r4, lr}
mov r4, r0
bl func_ov00_020cb60c
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
mov r0, r4
mov r1, #1
bl func_ov00_020cadb0
mov r0, #1
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02178eac
.global func_ov25_02178ed8
arm_func_start func_ov25_02178ed8
func_ov25_02178ed8: ; 0x02178ed8
ldr ip, _02178ee4 ; =func_ov25_02178d8c
mov r1, #5
bx ip
.align 2, 0
arm_func_end func_ov25_02178ed8
_02178ee4: .word func_ov25_02178d8c
.global func_ov25_02178ee8
arm_func_start func_ov25_02178ee8
func_ov25_02178ee8: ; 0x02178ee8
stmdb sp!, {r4, lr}
mov r4, r0
ldr r1, [r4, #0x130]
cmp r1, #6
addls pc, pc, r1, lsl #2
b _02178f78
_02178f00: ; jump table
b _02178f1c ; case 0
b _02178f1c ; case 1
b _02178f34 ; case 2
b _02178f78 ; case 3
b _02178f1c ; case 4
b _02178f1c ; case 5
b _02178f1c ; case 6
_02178f1c:
mov r0, #0
str r0, [r4, #0x12c]
ldr r0, [r4, #0x164]
bic r0, r0, #8
str r0, [r4, #0x164]
b _02178f94
_02178f34:
ldr r1, [r4, #0x22c]
ldr r1, [r1, #0x14]
cmp r1, #0xe000
blt _02178f60
mov r1, #2
str r1, [r4, #0x12c]
ldr r1, [r4, #0x164]
orr r1, r1, #8
str r1, [r4, #0x164]
bl func_ov25_02178d0c
b _02178f94
_02178f60:
mov r0, #0
str r0, [r4, #0x12c]
ldr r0, [r4, #0x164]
bic r0, r0, #8
str r0, [r4, #0x164]
b _02178f94
_02178f78:
mov r0, #2
str r0, [r4, #0x12c]
ldr r1, [r4, #0x164]
mov r0, r4
orr r1, r1, #8
str r1, [r4, #0x164]
bl func_ov25_02178d0c
_02178f94:
ldr r0, [r4, #0x130]
cmp r0, #6
addls pc, pc, r0, lsl #2
b _021791a0
_02178fa4: ; jump table
b _02178fc0 ; case 0
b _02179024 ; case 1
b _0217905c ; case 2
b _02179098 ; case 3
b _02179100 ; case 4
b _02179138 ; case 5
b _02179188 ; case 6
_02178fc0:
ldr r0, [r4, #0x348]
cmp r0, #0
bne _02178fec
mov r0, r4
bl func_ov00_020c28ec
cmp r0, #0x3000
bgt _021791a0
mov r0, r4
mov r1, #1
bl func_ov25_02178d8c
b _021791a0
_02178fec:
cmp r0, #1
bne _021791a0
mov r0, r4
bl func_ov00_020c28ec
cmp r0, #0x6000
bgt _021791a0
ldr r1, [r4, #0x138]
ldr r0, [r4, #0x13c]
cmp r1, r0
ble _021791a0
mov r0, r4
mov r1, #1
bl func_ov25_02178d8c
b _021791a0
_02179024:
ldr r0, [r4, #0x35c]
add r0, r0, #0x29
str r0, [r4, #0x35c]
cmp r0, #0x800
movgt r0, #0x800
strgt r0, [r4, #0x35c]
ldr r1, [r4, #0x35c]
ldr r0, _021791a8 ; =0x00000733
cmp r1, r0
ble _021791a0
mov r0, r4
mov r1, #2
bl func_ov25_02178d8c
b _021791a0
_0217905c:
ldr r0, [r4, #0x35c]
add r0, r0, #0x29
str r0, [r4, #0x35c]
cmp r0, #0x800
movgt r0, #0x800
strgt r0, [r4, #0x35c]
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _021791a0
mov r0, r4
mov r1, #3
bl func_ov25_02178d8c
b _021791a0
_02179098:
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _021791a0
ldr r0, [r4, #0x138]
cmp r0, #0x3c
ble _021790c8
mov r0, r4
mov r1, #4
bl func_ov25_02178d8c
b _021791a0
_021790c8:
cmp r0, #0xf
ble _021791a0
mov r0, r4
bl func_ov00_020cca50
cmp r0, #0
beq _021790f0
mov r0, r4
bl func_ov00_020c28ec
cmp r0, #0x3800
ble _021791a0
_021790f0:
mov r0, r4
mov r1, #4
bl func_ov25_02178d8c
b _021791a0
_02179100:
ldr r0, [r4, #0x35c]
subs r0, r0, #0x52
str r0, [r4, #0x35c]
movmi r0, #0
strmi r0, [r4, #0x35c]
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _021791a0
mov r0, r4
mov r1, #0
bl func_ov25_02178d8c
b _021791a0
_02179138:
ldr r0, [r4, #0x22c]
add r0, r0, #0xc
bl func_0202e58c
cmp r0, #0
beq _021791a0
mov r0, r4
bl func_ov00_020cc8bc
ldr r0, [r4, #4]
add r1, r4, #0x48
bl func_ov00_020c87f8
ldr r1, [r4, #0x34]
mvn r0, #0
cmp r1, r0
mov r0, r4
bne _02179180
mov r1, #6
bl func_ov25_02178d8c
b _021791a0
_02179180:
bl func_ov00_020c3180
b _021791a0
_02179188:
ldr r0, [r4, #0x138]
cmp r0, #0x384
ble _021791a0
mov r0, r4
mov r1, #0
bl func_ov25_02178d8c
_021791a0:
mov r0, #1
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02178ee8
_021791a8: .word 0x00000733
.global func_ov25_021791ac
arm_func_start func_ov25_021791ac
func_ov25_021791ac: ; 0x021791ac
stmdb sp!, {r4, lr}
sub sp, sp, #0x30
mov r4, r0
ldr r0, [r4, #0x130]
cmp r0, #0
cmpne r0, #6
addeq sp, sp, #0x30
moveq r0, #0
ldmeqia sp!, {r4, pc}
cmp r0, #1
beq _021791e0
add r0, r4, #0x21c
bl func_ov00_020c5f1c
_021791e0:
ldr r0, [r4, #0x35c]
cmp r0, #0
ble _02179278
add r0, r4, #0x48
add r3, sp, #0x24
ldmia r0, {r0, r1, r2}
stmia r3, {r0, r1, r2}
ldr r0, [r4, #0x130]
sub r0, r0, #2
cmp r0, #2
bhi _02179240
mov r1, r3
add r0, r4, #0x23c
bl func_ov25_02178aa8
ldr r2, [sp, #0x28]
ldr r1, [sp, #0x2c]
ldr r0, [sp, #0x24]
str r0, [r4, #0x34c]
str r2, [r4, #0x350]
str r1, [r4, #0x354]
ldr r1, [r4, #0x4c]
ldr r0, [r4, #0x358]
add r0, r1, r0
str r0, [r4, #0x350]
_02179240:
ldr r3, [r4, #0x35c]
mov r0, #0x1f
str r3, [sp]
ldrsh r2, [r4, #0x78]
mov r1, #0
mov r4, #1
str r2, [sp, #4]
str r0, [sp, #8]
str r1, [sp, #0xc]
str r4, [sp, #0x10]
ldr r0, _02179284 ; =data_ov00_020e9370
add r2, sp, #0x24
str r4, [sp, #0x14]
bl func_ov05_02102c2c
_02179278:
mov r0, #1
add sp, sp, #0x30
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_021791ac
_02179284: .word data_ov00_020e9370
.global func_ov25_02179288
arm_func_start func_ov25_02179288
func_ov25_02179288: ; 0x02179288
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x2c8
blx func_ov00_020a9b6c
add r0, r4, #0x23c
blx func_ov00_020a95ec
add r0, r4, #0x1d8
bl func_ov00_02081f4c
add r0, r4, #0x1c8
mov r1, #2
mov r2, #4
ldr r3, _021792d4 ; =func_ov00_020b7d74
bl func_0204f754
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_02179288
_021792d4: .word func_ov00_020b7d74
.global func_ov25_021792d8
arm_func_start func_ov25_021792d8
func_ov25_021792d8: ; 0x021792d8
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x2c8
blx func_ov00_020a9b6c
add r0, r4, #0x23c
blx func_ov00_020a95ec
add r0, r4, #0x1d8
bl func_ov00_02081f4c
add r0, r4, #0x1c8
mov r1, #2
mov r2, #4
ldr r3, _0217931c ; =func_ov00_020b7d74
bl func_0204f754
mov r0, r4
bl func_ov00_020c1730
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov25_021792d8
_0217931c: .word func_ov00_020b7d74
.global func_ov25_02179320
arm_func_start func_ov25_02179320
func_ov25_02179320: ; 0x02179320
stmdb sp!, {r4, lr}
mov r4, r0
blx func_ov00_020a95ec
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov25_02179320
.global data_ov25_0217933c
data_ov25_0217933c: ; 0x0217933c
.byte 0x04, 0x00, 0x00, 0x00
.global data_ov25_02179340
data_ov25_02179340: ; 0x02179340
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179344
data_ov25_02179344: ; 0x02179344
.byte 0x33, 0x07, 0x00, 0x00
.global data_ov25_02179348
data_ov25_02179348: ; 0x02179348
.byte 0x66, 0x0e, 0x00, 0x00
.global data_ov25_0217934c
data_ov25_0217934c: ; 0x0217934c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179350
data_ov25_02179350: ; 0x02179350
.byte 0x33, 0x07, 0x00, 0x00
.global data_ov25_02179354
data_ov25_02179354: ; 0x02179354
.byte 0x66, 0x0e, 0x00, 0x00
.global data_ov25_02179358
data_ov25_02179358: ; 0x02179358
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_0217935c
data_ov25_0217935c: ; 0x0217935c
.byte 0x03, 0x00, 0x00, 0x00
.global data_ov25_02179360
data_ov25_02179360: ; 0x02179360
.byte 0x03, 0x00, 0x00, 0x00
.global data_ov25_02179364
data_ov25_02179364: ; 0x02179364
.byte 0x04, 0x00, 0x00, 0x00
.global data_ov25_02179368
data_ov25_02179368: ; 0x02179368
.ascii "mouth"
.byte 0x00, 0x00, 0x00
.global data_ov25_02179370
data_ov25_02179370: ; 0x02179370
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179374
data_ov25_02179374: ; 0x02179374
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179378
data_ov25_02179378: ; 0x02179378
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217937c
data_ov25_0217937c: ; 0x0217937c
.ascii "wait1"
.byte 0x00, 0x00, 0x00
.global data_ov25_02179384
data_ov25_02179384: ; 0x02179384
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179388
data_ov25_02179388: ; 0x02179388
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217938c
data_ov25_0217938c: ; 0x0217938c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179390
data_ov25_02179390: ; 0x02179390
.ascii "wait1"
.byte 0x00, 0x00, 0x00
.global data_ov25_02179398
data_ov25_02179398: ; 0x02179398
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217939c
data_ov25_0217939c: ; 0x0217939c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021793a0
data_ov25_021793a0: ; 0x021793a0
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_021793a4
data_ov25_021793a4: ; 0x021793a4
.ascii "wait2"
.byte 0x00, 0x00, 0x00
.global data_ov25_021793ac
data_ov25_021793ac: ; 0x021793ac
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021793b0
data_ov25_021793b0: ; 0x021793b0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021793b4
data_ov25_021793b4: ; 0x021793b4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021793b8
data_ov25_021793b8: ; 0x021793b8
.ascii "updown1"
.byte 0x00
.global data_ov25_021793c0
data_ov25_021793c0: ; 0x021793c0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021793c4
data_ov25_021793c4: ; 0x021793c4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021793c8
data_ov25_021793c8: ; 0x021793c8
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_021793cc
data_ov25_021793cc: ; 0x021793cc
.ascii "attack1"
.byte 0x00
.global data_ov25_021793d4
data_ov25_021793d4: ; 0x021793d4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021793d8
data_ov25_021793d8: ; 0x021793d8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021793dc
data_ov25_021793dc: ; 0x021793dc
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_021793e0
data_ov25_021793e0: ; 0x021793e0
.ascii "vacuum1"
.byte 0x00
.global data_ov25_021793e8
data_ov25_021793e8: ; 0x021793e8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021793ec
data_ov25_021793ec: ; 0x021793ec
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021793f0
data_ov25_021793f0: ; 0x021793f0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021793f4
data_ov25_021793f4: ; 0x021793f4
.ascii "vacuum2"
.byte 0x00
.global data_ov25_021793fc
data_ov25_021793fc: ; 0x021793fc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179400
data_ov25_02179400: ; 0x02179400
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179404
data_ov25_02179404: ; 0x02179404
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179408
data_ov25_02179408: ; 0x02179408
.ascii "stiff1"
.byte 0x00, 0x00
.global data_ov25_02179410
data_ov25_02179410: ; 0x02179410
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179414
data_ov25_02179414: ; 0x02179414
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179418
data_ov25_02179418: ; 0x02179418
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217941c
data_ov25_0217941c: ; 0x0217941c
.ascii "stiff2"
.byte 0x00, 0x00
.global data_ov25_02179424
data_ov25_02179424: ; 0x02179424
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179428
data_ov25_02179428: ; 0x02179428
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217942c
data_ov25_0217942c: ; 0x0217942c
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_02179430
data_ov25_02179430: ; 0x02179430
.ascii "dead1"
.byte 0x00, 0x00, 0x00
.global data_ov25_02179438
data_ov25_02179438: ; 0x02179438
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217943c
data_ov25_0217943c: ; 0x0217943c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179440
data_ov25_02179440: ; 0x02179440
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_02179444
data_ov25_02179444: ; 0x02179444
.ascii "hide1"
.byte 0x00, 0x00, 0x00
.global data_ov25_0217944c
data_ov25_0217944c: ; 0x0217944c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179450
data_ov25_02179450: ; 0x02179450
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179454
data_ov25_02179454: ; 0x02179454
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179458
data_ov25_02179458: ; 0x02179458
.ascii "damage1"
.byte 0x00
.global data_ov25_02179460
data_ov25_02179460: ; 0x02179460
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179464
data_ov25_02179464: ; 0x02179464
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179468
data_ov25_02179468: ; 0x02179468
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_0217946c
data_ov25_0217946c: ; 0x0217946c
.ascii "damage2"
.byte 0x00
.global data_ov25_02179474
data_ov25_02179474: ; 0x02179474
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179478
data_ov25_02179478: ; 0x02179478
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217947c
data_ov25_0217947c: ; 0x0217947c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179480
data_ov25_02179480: ; 0x02179480
.ascii "rebound1"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217948c
data_ov25_0217948c: ; 0x0217948c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179490
data_ov25_02179490: ; 0x02179490
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_02179494
data_ov25_02179494: ; 0x02179494
.ascii "jeer1"
.byte 0x00, 0x00, 0x00
.global data_ov25_0217949c
data_ov25_0217949c: ; 0x0217949c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021794a0
data_ov25_021794a0: ; 0x021794a0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021794a4
data_ov25_021794a4: ; 0x021794a4
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_021794a8
data_ov25_021794a8: ; 0x021794a8
.ascii "appear1"
.byte 0x00
.global data_ov25_021794b0
data_ov25_021794b0: ; 0x021794b0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021794b4
data_ov25_021794b4: ; 0x021794b4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021794b8
data_ov25_021794b8: ; 0x021794b8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021794bc
data_ov25_021794bc: ; 0x021794bc
.ascii "appear2"
.byte 0x00
.global data_ov25_021794c4
data_ov25_021794c4: ; 0x021794c4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021794c8
data_ov25_021794c8: ; 0x021794c8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021794cc
data_ov25_021794cc: ; 0x021794cc
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_021794d0
data_ov25_021794d0: ; 0x021794d0
.ascii "land1"
.byte 0x00, 0x00, 0x00
.global data_ov25_021794d8
data_ov25_021794d8: ; 0x021794d8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021794dc
data_ov25_021794dc: ; 0x021794dc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021794e0
data_ov25_021794e0: ; 0x021794e0
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_021794e4
data_ov25_021794e4: ; 0x021794e4
.ascii "shock1"
.byte 0x00, 0x00
.global data_ov25_021794ec
data_ov25_021794ec: ; 0x021794ec
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021794f0
data_ov25_021794f0: ; 0x021794f0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021794f4
data_ov25_021794f4: ; 0x021794f4
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_021794f8
data_ov25_021794f8: ; 0x021794f8
.ascii "cubus_beam"
.byte 0x00, 0x00
.global data_ov25_02179504
data_ov25_02179504: ; 0x02179504
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179508
data_ov25_02179508: ; 0x02179508
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217950c
data_ov25_0217950c: ; 0x0217950c
.ascii "cubus_beam2"
.byte 0x00
.global data_ov25_02179518
data_ov25_02179518: ; 0x02179518
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217951c
data_ov25_0217951c: ; 0x0217951c
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_02179520
data_ov25_02179520: ; 0x02179520
.byte 0x00, 0x70, 0x00, 0x00
.global data_ov25_02179524
data_ov25_02179524: ; 0x02179524
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179528
data_ov25_02179528: ; 0x02179528
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217952c
data_ov25_0217952c: ; 0x0217952c
.byte 0x9a, 0x01, 0x00, 0x00
.global data_ov25_02179530
data_ov25_02179530: ; 0x02179530
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179534
data_ov25_02179534: ; 0x02179534
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179538
data_ov25_02179538: ; 0x02179538
.byte 0x9a, 0x01, 0x00, 0x00
.global data_ov25_0217953c
data_ov25_0217953c: ; 0x0217953c
.ascii "scare"
.byte 0x00, 0x00, 0x00
.global data_ov25_02179544
data_ov25_02179544: ; 0x02179544
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179548
data_ov25_02179548: ; 0x02179548
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217954c
data_ov25_0217954c: ; 0x0217954c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179550
data_ov25_02179550: ; 0x02179550
.ascii "hokan"
.byte 0x00, 0x00, 0x00
.global data_ov25_02179558
data_ov25_02179558: ; 0x02179558
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217955c
data_ov25_0217955c: ; 0x0217955c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179560
data_ov25_02179560: ; 0x02179560
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_02179564
data_ov25_02179564: ; 0x02179564
.ascii "trot"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217956c
data_ov25_0217956c: ; 0x0217956c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179570
data_ov25_02179570: ; 0x02179570
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179574
data_ov25_02179574: ; 0x02179574
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179578
data_ov25_02179578: ; 0x02179578
.ascii "talk_a"
.byte 0x00, 0x00
.global data_ov25_02179580
data_ov25_02179580: ; 0x02179580
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179584
data_ov25_02179584: ; 0x02179584
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179588
data_ov25_02179588: ; 0x02179588
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217958c
data_ov25_0217958c: ; 0x0217958c
.ascii "panic"
.byte 0x00, 0x00, 0x00
.global data_ov25_02179594
data_ov25_02179594: ; 0x02179594
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179598
data_ov25_02179598: ; 0x02179598
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217959c
data_ov25_0217959c: ; 0x0217959c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021795a0
data_ov25_021795a0: ; 0x021795a0
.byte 0x55, 0x05, 0x00, 0x00
.global data_ov25_021795a4
data_ov25_021795a4: ; 0x021795a4
.byte 0x1f, 0x05, 0x00, 0x00
.global data_ov25_021795a8
data_ov25_021795a8: ; 0x021795a8
.byte 0xcd, 0x10, 0x00, 0x00
.global data_ov25_021795ac
data_ov25_021795ac: ; 0x021795ac
.byte 0x04, 0x00, 0x00, 0x00
.global data_ov25_021795b0
data_ov25_021795b0: ; 0x021795b0
.byte 0x0d, 0x00, 0x00, 0x00
.global data_ov25_021795b4
data_ov25_021795b4: ; 0x021795b4
.byte 0x1c, 0x07, 0x00, 0x00
.global data_ov25_021795b8
data_ov25_021795b8: ; 0x021795b8
.ascii "wait"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021795c0
data_ov25_021795c0: ; 0x021795c0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021795c4
data_ov25_021795c4: ; 0x021795c4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021795c8
data_ov25_021795c8: ; 0x021795c8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021795cc
data_ov25_021795cc: ; 0x021795cc
.ascii "wait"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021795d4
data_ov25_021795d4: ; 0x021795d4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021795d8
data_ov25_021795d8: ; 0x021795d8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021795dc
data_ov25_021795dc: ; 0x021795dc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021795e0
data_ov25_021795e0: ; 0x021795e0
.ascii "attack"
.byte 0x00, 0x00
.global data_ov25_021795e8
data_ov25_021795e8: ; 0x021795e8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021795ec
data_ov25_021795ec: ; 0x021795ec
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_021795f0
data_ov25_021795f0: ; 0x021795f0
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_021795f4
data_ov25_021795f4: ; 0x021795f4
.ascii "disappear"
.byte 0x00, 0x00, 0x00
.global data_ov25_02179600
data_ov25_02179600: ; 0x02179600
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179604
data_ov25_02179604: ; 0x02179604
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_02179608
data_ov25_02179608: ; 0x02179608
.ascii "boss_phantom"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179618
data_ov25_02179618: ; 0x02179618
.ascii "body"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179620
data_ov25_02179620: ; 0x02179620
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179624
data_ov25_02179624: ; 0x02179624
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179628
data_ov25_02179628: ; 0x02179628
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217962c
data_ov25_0217962c: ; 0x0217962c
.ascii "fall"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179634
data_ov25_02179634: ; 0x02179634
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179638
data_ov25_02179638: ; 0x02179638
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217963c
data_ov25_0217963c: ; 0x0217963c
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_02179640
data_ov25_02179640: ; 0x02179640
.ascii "wait"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179648
data_ov25_02179648: ; 0x02179648
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217964c
data_ov25_0217964c: ; 0x0217964c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179650
data_ov25_02179650: ; 0x02179650
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179654
data_ov25_02179654: ; 0x02179654
.ascii "up"
.byte 0x00, 0x00
.global data_ov25_02179658
data_ov25_02179658: ; 0x02179658
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217965c
data_ov25_0217965c: ; 0x0217965c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179660
data_ov25_02179660: ; 0x02179660
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179664
data_ov25_02179664: ; 0x02179664
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_02179668
data_ov25_02179668: ; 0x02179668
.ascii "dead"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179670
data_ov25_02179670: ; 0x02179670
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179674
data_ov25_02179674: ; 0x02179674
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179678
data_ov25_02179678: ; 0x02179678
.byte 0x01, 0x00, 0x00, 0x00
.global data_ov25_0217967c
data_ov25_0217967c: ; 0x0217967c
.byte 0x04, 0x00, 0x00, 0x00
.global func_ov25_02179680
arm_func_start func_ov25_02179680
func_ov25_02179680: ; 0x02179680
stmdb sp!, {lr}
sub sp, sp, #0x84
ldr r0, _02179760 ; =data_ov25_0217a88c
ldr r1, _02179764 ; =0x43425330
ldr r2, _02179768 ; =func_ov25_0216dcd8
mov r3, #0
bl func_0203e784
ldr r0, _02179760 ; =data_ov25_0217a88c
ldr r1, _0217976c ; =func_0203e7b4
ldr r2, _02179770 ; =data_ov25_0217a880
bl func_0204f8d4
mov r3, #0
str r3, [sp]
mov r1, #1
stmib sp, {r1, r3}
str r3, [sp, #0xc]
str r3, [sp, #0x10]
str r3, [sp, #0x14]
str r1, [sp, #0x18]
str r3, [sp, #0x1c]
str r3, [sp, #0x20]
str r3, [sp, #0x24]
str r3, [sp, #0x28]
str r3, [sp, #0x2c]
str r1, [sp, #0x30]
str r3, [sp, #0x34]
str r1, [sp, #0x38]
str r1, [sp, #0x3c]
str r3, [sp, #0x40]
str r1, [sp, #0x44]
str r3, [sp, #0x48]
str r3, [sp, #0x4c]
ldr r0, _02179774 ; =0x00000b33
str r3, [sp, #0x50]
str r0, [sp, #0x54]
str r3, [sp, #0x58]
str r0, [sp, #0x5c]
rsb r0, r0, #0x1000
str r0, [sp, #0x60]
str r0, [sp, #0x64]
str r3, [sp, #0x68]
str r3, [sp, #0x6c]
str r3, [sp, #0x70]
str r3, [sp, #0x74]
str r3, [sp, #0x78]
ldr r0, _02179778 ; =data_ov25_02179be0
str r3, [sp, #0x7c]
mov r2, #2
str r2, [sp, #0x80]
bl func_ov00_020ccdd4
ldr r0, _02179778 ; =data_ov25_02179be0
ldr r1, _0217977c ; =func_ov00_020cceec
ldr r2, _02179780 ; =data_ov25_0217a8a0
bl func_0204f8d4
add sp, sp, #0x84
ldmia sp!, {pc}
.align 2, 0
arm_func_end func_ov25_02179680
_02179760: .word data_ov25_0217a88c
_02179764: .word 0x43425330
_02179768: .word func_ov25_0216dcd8
_0217976c: .word func_0203e7b4
_02179770: .word data_ov25_0217a880
_02179774: .word 0x00000b33
_02179778: .word data_ov25_02179be0
_0217977c: .word func_ov00_020cceec
_02179780: .word data_ov25_0217a8a0
.global func_ov25_02179784
arm_func_start func_ov25_02179784
func_ov25_02179784: ; 0x02179784
stmdb sp!, {r3, lr}
ldr r0, _021797b0 ; =data_ov25_0217a8bc
ldr r1, _021797b4 ; =0x43425332
ldr r2, _021797b8 ; =func_ov25_02171bfc
mov r3, #0
bl func_0203e784
ldr r0, _021797b0 ; =data_ov25_0217a8bc
ldr r1, _021797bc ; =func_0203e7b4
ldr r2, _021797c0 ; =data_ov25_0217a8b0
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02179784
_021797b0: .word data_ov25_0217a8bc
_021797b4: .word 0x43425332
_021797b8: .word func_ov25_02171bfc
_021797bc: .word func_0203e7b4
_021797c0: .word data_ov25_0217a8b0
.global func_ov25_021797c4
arm_func_start func_ov25_021797c4
func_ov25_021797c4: ; 0x021797c4
stmdb sp!, {r3, lr}
ldr r0, _021797f0 ; =data_ov25_0217a8dc
ldr r1, _021797f4 ; =0x43425331
ldr r2, _021797f8 ; =func_ov25_02172978
mov r3, #0
bl func_0203e784
ldr r0, _021797f0 ; =data_ov25_0217a8dc
ldr r1, _021797fc ; =func_0203e7b4
ldr r2, _02179800 ; =data_ov25_0217a8d0
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_021797c4
_021797f0: .word data_ov25_0217a8dc
_021797f4: .word 0x43425331
_021797f8: .word func_ov25_02172978
_021797fc: .word func_0203e7b4
_02179800: .word data_ov25_0217a8d0
.global func_ov25_02179804
arm_func_start func_ov25_02179804
func_ov25_02179804: ; 0x02179804
stmdb sp!, {r3, lr}
ldr r0, _02179830 ; =data_ov25_0217a8fc
ldr r1, _02179834 ; =0x43425333
ldr r2, _02179838 ; =func_ov25_02175a80
mov r3, #0
bl func_0203e784
ldr r0, _02179830 ; =data_ov25_0217a8fc
ldr r1, _0217983c ; =func_0203e7b4
ldr r2, _02179840 ; =data_ov25_0217a8f0
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02179804
_02179830: .word data_ov25_0217a8fc
_02179834: .word 0x43425333
_02179838: .word func_ov25_02175a80
_0217983c: .word func_0203e7b4
_02179840: .word data_ov25_0217a8f0
.global func_ov25_02179844
arm_func_start func_ov25_02179844
func_ov25_02179844: ; 0x02179844
stmdb sp!, {r3, lr}
ldr r0, _02179870 ; =data_ov25_0217a91c
ldr r1, _02179874 ; =0x43425334
ldr r2, _02179878 ; =func_ov25_021769e8
mov r3, #0
bl func_0203e784
ldr r0, _02179870 ; =data_ov25_0217a91c
ldr r1, _0217987c ; =func_0203e7b4
ldr r2, _02179880 ; =data_ov25_0217a910
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02179844
_02179870: .word data_ov25_0217a91c
_02179874: .word 0x43425334
_02179878: .word func_ov25_021769e8
_0217987c: .word func_0203e7b4
_02179880: .word data_ov25_0217a910
.global func_ov25_02179884
arm_func_start func_ov25_02179884
func_ov25_02179884: ; 0x02179884
stmdb sp!, {r3, lr}
ldr r0, _021798ac ; =data_ov25_0217a930
ldr r2, _021798b0 ; =func_ov25_02176dec
mov r1, #0x67
bl func_0203eba8
ldr r0, _021798ac ; =data_ov25_0217a930
ldr r1, _021798b4 ; =func_0203ebc8
ldr r2, _021798b8 ; =data_ov25_0217a938
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02179884
_021798ac: .word data_ov25_0217a930
_021798b0: .word func_ov25_02176dec
_021798b4: .word func_0203ebc8
_021798b8: .word data_ov25_0217a938
.global func_ov25_021798bc
arm_func_start func_ov25_021798bc
func_ov25_021798bc: ; 0x021798bc
stmdb sp!, {lr}
sub sp, sp, #0x84
ldr r0, _021799a8 ; =data_ov25_0217a950
ldr r1, _021799ac ; =0x45475354
ldr r2, _021799b0 ; =func_ov25_0217736c
mov r3, #0
bl func_0203e784
ldr r0, _021799a8 ; =data_ov25_0217a950
ldr r1, _021799b4 ; =func_0203e7b4
ldr r2, _021799b8 ; =data_ov25_0217a944
bl func_0204f8d4
mov r1, #1
str r1, [sp]
ldr ip, _021799bc ; =0x00001b33
str r1, [sp, #4]
mov r2, #2
str r2, [sp, #8]
str ip, [sp, #0xc]
mov r0, #0x800
str r0, [sp, #0x10]
str ip, [sp, #0x14]
str r1, [sp, #0x18]
str r1, [sp, #0x1c]
str r1, [sp, #0x20]
str r1, [sp, #0x24]
str r1, [sp, #0x28]
str r1, [sp, #0x2c]
str r1, [sp, #0x30]
str r1, [sp, #0x34]
str r1, [sp, #0x38]
str r1, [sp, #0x3c]
str r1, [sp, #0x40]
str r1, [sp, #0x44]
mov r0, #0x96
str r0, [sp, #0x48]
mov r3, #0
str r3, [sp, #0x4c]
str r3, [sp, #0x50]
rsb r0, ip, #0x2000
str r0, [sp, #0x54]
str r3, [sp, #0x58]
str r0, [sp, #0x5c]
str r0, [sp, #0x60]
str r0, [sp, #0x64]
str r0, [sp, #0x68]
str r3, [sp, #0x6c]
str r3, [sp, #0x70]
str r3, [sp, #0x74]
str r3, [sp, #0x78]
str r3, [sp, #0x7c]
ldr r0, _021799c0 ; =data_ov25_0217a238
str r2, [sp, #0x80]
bl func_ov00_020ccdd4
ldr r0, _021799c0 ; =data_ov25_0217a238
ldr r1, _021799c4 ; =func_ov00_020cceec
ldr r2, _021799c8 ; =data_ov25_0217a964
bl func_0204f8d4
add sp, sp, #0x84
ldmia sp!, {pc}
.align 2, 0
arm_func_end func_ov25_021798bc
_021799a8: .word data_ov25_0217a950
_021799ac: .word 0x45475354
_021799b0: .word func_ov25_0217736c
_021799b4: .word func_0203e7b4
_021799b8: .word data_ov25_0217a944
_021799bc: .word 0x00001b33
_021799c0: .word data_ov25_0217a238
_021799c4: .word func_ov00_020cceec
_021799c8: .word data_ov25_0217a964
.global func_ov25_021799cc
arm_func_start func_ov25_021799cc
func_ov25_021799cc: ; 0x021799cc
stmdb sp!, {r3, lr}
ldr r0, _021799f8 ; =data_ov25_0217a97c
ldr r1, _021799fc ; =0x47534642
ldr r2, _02179a00 ; =func_ov25_02177d64
mov r3, #0
bl func_0203e784
ldr r0, _021799f8 ; =data_ov25_0217a97c
ldr r1, _02179a04 ; =func_0203e7b4
ldr r2, _02179a08 ; =data_ov25_0217a970
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_021799cc
_021799f8: .word data_ov25_0217a97c
_021799fc: .word 0x47534642
_02179a00: .word func_ov25_02177d64
_02179a04: .word func_0203e7b4
_02179a08: .word data_ov25_0217a970
.global func_ov25_02179a0c
arm_func_start func_ov25_02179a0c
func_ov25_02179a0c: ; 0x02179a0c
stmdb sp!, {r3, lr}
ldr r0, _02179a38 ; =data_ov25_0217a9b0
ldr r1, _02179a3c ; =0x42524d47
ldr r2, _02179a40 ; =func_ov25_02178588
mov r3, #0
bl func_0203e784
ldr r0, _02179a38 ; =data_ov25_0217a9b0
ldr r1, _02179a44 ; =func_0203e7b4
ldr r2, _02179a48 ; =data_ov25_0217a9a4
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02179a0c
_02179a38: .word data_ov25_0217a9b0
_02179a3c: .word 0x42524d47
_02179a40: .word func_ov25_02178588
_02179a44: .word func_0203e7b4
_02179a48: .word data_ov25_0217a9a4
.global func_ov25_02179a4c
arm_func_start func_ov25_02179a4c
func_ov25_02179a4c: ; 0x02179a4c
stmdb sp!, {r3, lr}
ldr r0, _02179a78 ; =data_ov25_0217a9d0
ldr r1, _02179a7c ; =0x4753574c
ldr r2, _02179a80 ; =func_ov25_02178800
mov r3, #0
bl func_0203e784
ldr r0, _02179a78 ; =data_ov25_0217a9d0
ldr r1, _02179a84 ; =func_0203e7b4
ldr r2, _02179a88 ; =data_ov25_0217a9c4
bl func_0204f8d4
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov25_02179a4c
_02179a78: .word data_ov25_0217a9d0
_02179a7c: .word 0x4753574c
_02179a80: .word func_ov25_02178800
_02179a84: .word func_0203e7b4
_02179a88: .word data_ov25_0217a9c4
.global func_ov25_02179a8c
arm_func_start func_ov25_02179a8c
func_ov25_02179a8c: ; 0x02179a8c
stmdb sp!, {lr}
sub sp, sp, #0x84
ldr r0, _02179b78 ; =data_ov25_0217a9f0
ldr r1, _02179b7c ; =0x53504452
ldr r2, _02179b80 ; =func_ov25_021789e0
mov r3, #0
bl func_0203e784
ldr r0, _02179b78 ; =data_ov25_0217a9f0
ldr r1, _02179b84 ; =func_0203e7b4
ldr r2, _02179b88 ; =data_ov25_0217a9e4
bl func_0204f8d4
mov r1, #1
str r1, [sp]
str r1, [sp, #4]
mov r2, #2
str r2, [sp, #8]
mov ip, #0x1000
str ip, [sp, #0xc]
str ip, [sp, #0x10]
str ip, [sp, #0x14]
str r1, [sp, #0x18]
str r1, [sp, #0x1c]
mov r0, #0x96
str r1, [sp, #0x20]
mov r3, #0
str r3, [sp, #0x24]
str r3, [sp, #0x28]
str r1, [sp, #0x2c]
str r1, [sp, #0x30]
str r1, [sp, #0x34]
str r1, [sp, #0x38]
str r1, [sp, #0x3c]
str r1, [sp, #0x40]
str r1, [sp, #0x44]
str r0, [sp, #0x48]
str r3, [sp, #0x4c]
str r3, [sp, #0x50]
add r0, r0, #0x5d0
str r0, [sp, #0x54]
str r3, [sp, #0x58]
str r0, [sp, #0x5c]
str r3, [sp, #0x60]
str r3, [sp, #0x64]
str ip, [sp, #0x68]
str r3, [sp, #0x6c]
str r3, [sp, #0x70]
str r3, [sp, #0x74]
str r3, [sp, #0x78]
mov r0, #8
str r0, [sp, #0x7c]
ldr r0, _02179b8c ; =data_ov25_0217a680
str r3, [sp, #0x80]
bl func_ov00_020ccdd4
ldr r0, _02179b8c ; =data_ov25_0217a680
ldr r1, _02179b90 ; =func_ov00_020cceec
ldr r2, _02179b94 ; =data_ov25_0217aa04
bl func_0204f8d4
add sp, sp, #0x84
ldmia sp!, {pc}
.align 2, 0
arm_func_end func_ov25_02179a8c
_02179b78: .word data_ov25_0217a9f0
_02179b7c: .word 0x53504452
_02179b80: .word func_ov25_021789e0
_02179b84: .word func_0203e7b4
_02179b88: .word data_ov25_0217a9e4
_02179b8c: .word data_ov25_0217a680
_02179b90: .word func_ov00_020cceec
_02179b94: .word data_ov25_0217aa04
.global data_ov25_02179b98
data_ov25_02179b98: ; 0x02179b98
.byte 0x80, 0x96, 0x17, 0x02
.global data_ov25_02179b9c
data_ov25_02179b9c: ; 0x02179b9c
.byte 0x84, 0x97, 0x17, 0x02
.global data_ov25_02179ba0
data_ov25_02179ba0: ; 0x02179ba0
.byte 0xc4, 0x97, 0x17, 0x02
.global data_ov25_02179ba4
data_ov25_02179ba4: ; 0x02179ba4
.byte 0x04, 0x98, 0x17, 0x02
.global data_ov25_02179ba8
data_ov25_02179ba8: ; 0x02179ba8
.byte 0x44, 0x98, 0x17, 0x02
.global data_ov25_02179bac
data_ov25_02179bac: ; 0x02179bac
.byte 0x84, 0x98, 0x17, 0x02
.global data_ov25_02179bb0
data_ov25_02179bb0: ; 0x02179bb0
.byte 0xbc, 0x98, 0x17, 0x02
.global data_ov25_02179bb4
data_ov25_02179bb4: ; 0x02179bb4
.byte 0xcc, 0x99, 0x17, 0x02
.global data_ov25_02179bb8
data_ov25_02179bb8: ; 0x02179bb8
.byte 0x0c, 0x9a, 0x17, 0x02
.global data_ov25_02179bbc
data_ov25_02179bbc: ; 0x02179bbc
.byte 0x4c, 0x9a, 0x17, 0x02
.global data_ov25_02179bc0
data_ov25_02179bc0: ; 0x02179bc0
.byte 0x8c, 0x9a, 0x17, 0x02
.global data_ov25_02179bc4
data_ov25_02179bc4: ; 0x02179bc4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179bc8
data_ov25_02179bc8: ; 0x02179bc8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179bcc
data_ov25_02179bcc: ; 0x02179bcc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179bd0
data_ov25_02179bd0: ; 0x02179bd0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179bd4
data_ov25_02179bd4: ; 0x02179bd4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179bd8
data_ov25_02179bd8: ; 0x02179bd8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179bdc
data_ov25_02179bdc: ; 0x02179bdc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179be0
data_ov25_02179be0: ; 0x02179be0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179be4
data_ov25_02179be4: ; 0x02179be4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179be8
data_ov25_02179be8: ; 0x02179be8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179bec
data_ov25_02179bec: ; 0x02179bec
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179bf0
data_ov25_02179bf0: ; 0x02179bf0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179bf4
data_ov25_02179bf4: ; 0x02179bf4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179bf8
data_ov25_02179bf8: ; 0x02179bf8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179bfc
data_ov25_02179bfc: ; 0x02179bfc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c00
data_ov25_02179c00: ; 0x02179c00
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c04
data_ov25_02179c04: ; 0x02179c04
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c08
data_ov25_02179c08: ; 0x02179c08
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c0c
data_ov25_02179c0c: ; 0x02179c0c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c10
data_ov25_02179c10: ; 0x02179c10
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c14
data_ov25_02179c14: ; 0x02179c14
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c18
data_ov25_02179c18: ; 0x02179c18
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c1c
data_ov25_02179c1c: ; 0x02179c1c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c20
data_ov25_02179c20: ; 0x02179c20
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c24
data_ov25_02179c24: ; 0x02179c24
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c28
data_ov25_02179c28: ; 0x02179c28
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c2c
data_ov25_02179c2c: ; 0x02179c2c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c30
data_ov25_02179c30: ; 0x02179c30
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c34
data_ov25_02179c34: ; 0x02179c34
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c38
data_ov25_02179c38: ; 0x02179c38
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c3c
data_ov25_02179c3c: ; 0x02179c3c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c40
data_ov25_02179c40: ; 0x02179c40
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c44
data_ov25_02179c44: ; 0x02179c44
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c48
data_ov25_02179c48: ; 0x02179c48
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c4c
data_ov25_02179c4c: ; 0x02179c4c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c50
data_ov25_02179c50: ; 0x02179c50
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c54
data_ov25_02179c54: ; 0x02179c54
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c58
data_ov25_02179c58: ; 0x02179c58
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c5c
data_ov25_02179c5c: ; 0x02179c5c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c60
data_ov25_02179c60: ; 0x02179c60
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c64
data_ov25_02179c64: ; 0x02179c64
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179c68
data_ov25_02179c68: ; 0x02179c68
.byte 0xfc, 0x16, 0x17, 0x02
.global data_ov25_02179c6c
data_ov25_02179c6c: ; 0x02179c6c
.byte 0x50, 0x16, 0x17, 0x02
.global data_ov25_02179c70
data_ov25_02179c70: ; 0x02179c70
.byte 0x00, 0xaa, 0x0c, 0x02
.global data_ov25_02179c74
data_ov25_02179c74: ; 0x02179c74
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov25_02179c78
data_ov25_02179c78: ; 0x02179c78
.byte 0xe8, 0xa7, 0x0c, 0x02
.global data_ov25_02179c7c
data_ov25_02179c7c: ; 0x02179c7c
.byte 0x28, 0xaa, 0x0c, 0x02
.global data_ov25_02179c80
data_ov25_02179c80: ; 0x02179c80
.byte 0x30, 0xad, 0x0c, 0x02
.global data_ov25_02179c84
data_ov25_02179c84: ; 0x02179c84
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov25_02179c88
data_ov25_02179c88: ; 0x02179c88
.byte 0xb8, 0x0d, 0x17, 0x02
.global data_ov25_02179c8c
data_ov25_02179c8c: ; 0x02179c8c
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov25_02179c90
data_ov25_02179c90: ; 0x02179c90
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov25_02179c94
data_ov25_02179c94: ; 0x02179c94
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov25_02179c98
data_ov25_02179c98: ; 0x02179c98
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov25_02179c9c
data_ov25_02179c9c: ; 0x02179c9c
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov25_02179ca0
data_ov25_02179ca0: ; 0x02179ca0
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov25_02179ca4
data_ov25_02179ca4: ; 0x02179ca4
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov25_02179ca8
data_ov25_02179ca8: ; 0x02179ca8
.byte 0x04, 0x30, 0x0c, 0x02
.global data_ov25_02179cac
data_ov25_02179cac: ; 0x02179cac
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov25_02179cb0
data_ov25_02179cb0: ; 0x02179cb0
.byte 0x44, 0xff, 0x16, 0x02
.global data_ov25_02179cb4
data_ov25_02179cb4: ; 0x02179cb4
.byte 0x40, 0xa8, 0x0c, 0x02
.global data_ov25_02179cb8
data_ov25_02179cb8: ; 0x02179cb8
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov25_02179cbc
data_ov25_02179cbc: ; 0x02179cbc
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov25_02179cc0
data_ov25_02179cc0: ; 0x02179cc0
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov25_02179cc4
data_ov25_02179cc4: ; 0x02179cc4
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov25_02179cc8
data_ov25_02179cc8: ; 0x02179cc8
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov25_02179ccc
data_ov25_02179ccc: ; 0x02179ccc
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov25_02179cd0
data_ov25_02179cd0: ; 0x02179cd0
.byte 0x10, 0x19, 0x0c, 0x02
.global data_ov25_02179cd4
data_ov25_02179cd4: ; 0x02179cd4
.byte 0xec, 0x15, 0x17, 0x02
.global data_ov25_02179cd8
data_ov25_02179cd8: ; 0x02179cd8
.byte 0x1c, 0x19, 0x0c, 0x02
.global data_ov25_02179cdc
data_ov25_02179cdc: ; 0x02179cdc
.byte 0x24, 0x19, 0x0c, 0x02
.global data_ov25_02179ce0
data_ov25_02179ce0: ; 0x02179ce0
.byte 0x2c, 0x19, 0x0c, 0x02
.global data_ov25_02179ce4
data_ov25_02179ce4: ; 0x02179ce4
.byte 0x28, 0x19, 0x0c, 0x02
.global data_ov25_02179ce8
data_ov25_02179ce8: ; 0x02179ce8
.byte 0x34, 0x19, 0x0c, 0x02
.global data_ov25_02179cec
data_ov25_02179cec: ; 0x02179cec
.byte 0x38, 0x19, 0x0c, 0x02
.global data_ov25_02179cf0
data_ov25_02179cf0: ; 0x02179cf0
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov25_02179cf4
data_ov25_02179cf4: ; 0x02179cf4
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov25_02179cf8
data_ov25_02179cf8: ; 0x02179cf8
.byte 0x48, 0x19, 0x0c, 0x02
.global data_ov25_02179cfc
data_ov25_02179cfc: ; 0x02179cfc
.byte 0x50, 0x19, 0x0c, 0x02
.global data_ov25_02179d00
data_ov25_02179d00: ; 0x02179d00
.byte 0x54, 0x19, 0x0c, 0x02
.global data_ov25_02179d04
data_ov25_02179d04: ; 0x02179d04
.byte 0x58, 0x19, 0x0c, 0x02
.global data_ov25_02179d08
data_ov25_02179d08: ; 0x02179d08
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov25_02179d0c
data_ov25_02179d0c: ; 0x02179d0c
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov25_02179d10
data_ov25_02179d10: ; 0x02179d10
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov25_02179d14
data_ov25_02179d14: ; 0x02179d14
.byte 0x34, 0x0e, 0x17, 0x02
.global data_ov25_02179d18
data_ov25_02179d18: ; 0x02179d18
.byte 0x3c, 0x16, 0x17, 0x02
.global data_ov25_02179d1c
data_ov25_02179d1c: ; 0x02179d1c
.byte 0x70, 0x0d, 0x17, 0x02
.global data_ov25_02179d20
data_ov25_02179d20: ; 0x02179d20
.byte 0x38, 0xde, 0x16, 0x02
.global data_ov25_02179d24
data_ov25_02179d24: ; 0x02179d24
.byte 0xbc, 0x03, 0x17, 0x02
.global data_ov25_02179d28
data_ov25_02179d28: ; 0x02179d28
.byte 0xa0, 0xae, 0x0c, 0x02
.global data_ov25_02179d2c
data_ov25_02179d2c: ; 0x02179d2c
.byte 0x18, 0xff, 0x16, 0x02
.global data_ov25_02179d30
data_ov25_02179d30: ; 0x02179d30
.byte 0xf8, 0xae, 0x0c, 0x02
.global data_ov25_02179d34
data_ov25_02179d34: ; 0x02179d34
.byte 0xfc, 0xae, 0x0c, 0x02
.global data_ov25_02179d38
data_ov25_02179d38: ; 0x02179d38
.byte 0xb8, 0xaf, 0x0c, 0x02
.global data_ov25_02179d3c
data_ov25_02179d3c: ; 0x02179d3c
.byte 0xbc, 0xaf, 0x0c, 0x02
.global data_ov25_02179d40
data_ov25_02179d40: ; 0x02179d40
.byte 0xd0, 0xaf, 0x0c, 0x02
.global data_ov25_02179d44
data_ov25_02179d44: ; 0x02179d44
.byte 0x58, 0xb0, 0x0c, 0x02
.global data_ov25_02179d48
data_ov25_02179d48: ; 0x02179d48
.byte 0x6c, 0xb0, 0x0c, 0x02
.global data_ov25_02179d4c
data_ov25_02179d4c: ; 0x02179d4c
.byte 0x80, 0xb0, 0x0c, 0x02
.global data_ov25_02179d50
data_ov25_02179d50: ; 0x02179d50
.byte 0x0c, 0xb1, 0x0c, 0x02
.global data_ov25_02179d54
data_ov25_02179d54: ; 0x02179d54
.byte 0x20, 0xb1, 0x0c, 0x02
.global data_ov25_02179d58
data_ov25_02179d58: ; 0x02179d58
.byte 0x2c, 0xb1, 0x0c, 0x02
.global data_ov25_02179d5c
data_ov25_02179d5c: ; 0x02179d5c
.byte 0x3c, 0xb1, 0x0c, 0x02
.global data_ov25_02179d60
data_ov25_02179d60: ; 0x02179d60
.byte 0x50, 0xc1, 0x0c, 0x02
.global data_ov25_02179d64
data_ov25_02179d64: ; 0x02179d64
.byte 0x5c, 0xc1, 0x0c, 0x02
.global data_ov25_02179d68
data_ov25_02179d68: ; 0x02179d68
.byte 0x90, 0xc4, 0x0c, 0x02
.global data_ov25_02179d6c
data_ov25_02179d6c: ; 0x02179d6c
.byte 0x24, 0xc5, 0x0c, 0x02
.global data_ov25_02179d70
data_ov25_02179d70: ; 0x02179d70
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179d74
data_ov25_02179d74: ; 0x02179d74
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179d78
data_ov25_02179d78: ; 0x02179d78
.byte 0x34, 0x5d, 0x0c, 0x02
.global data_ov25_02179d7c
data_ov25_02179d7c: ; 0x02179d7c
.byte 0xa0, 0x17, 0x17, 0x02
.global data_ov25_02179d80
data_ov25_02179d80: ; 0x02179d80
.byte 0x58, 0x5e, 0x0c, 0x02
.global data_ov25_02179d84
data_ov25_02179d84: ; 0x02179d84
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179d88
data_ov25_02179d88: ; 0x02179d88
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179d8c
data_ov25_02179d8c: ; 0x02179d8c
.byte 0x6d, 0x9b, 0x0a, 0x02
.global data_ov25_02179d90
data_ov25_02179d90: ; 0x02179d90
.byte 0x79, 0x9b, 0x0a, 0x02
.global data_ov25_02179d94
data_ov25_02179d94: ; 0x02179d94
.ascii "CS0:/cubus.nsbtp"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179da8
data_ov25_02179da8: ; 0x02179da8
.ascii "cubus"
.byte 0x00, 0x00, 0x00
.global data_ov25_02179db0
data_ov25_02179db0: ; 0x02179db0
.ascii "CS6:/cubus_beam.nsbta"
.byte 0x00, 0x00, 0x00
.global data_ov25_02179dc8
data_ov25_02179dc8: ; 0x02179dc8
.ascii "cubus_beam"
.byte 0x00, 0x00
.global data_ov25_02179dd4
data_ov25_02179dd4: ; 0x02179dd4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179dd8
data_ov25_02179dd8: ; 0x02179dd8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179ddc
data_ov25_02179ddc: ; 0x02179ddc
.byte 0x34, 0x5d, 0x0c, 0x02
.global data_ov25_02179de0
data_ov25_02179de0: ; 0x02179de0
.byte 0xac, 0x1a, 0x17, 0x02
.global data_ov25_02179de4
data_ov25_02179de4: ; 0x02179de4
.byte 0xe8, 0x1b, 0x17, 0x02
.global data_ov25_02179de8
data_ov25_02179de8: ; 0x02179de8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179dec
data_ov25_02179dec: ; 0x02179dec
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179df0
data_ov25_02179df0: ; 0x02179df0
.byte 0x34, 0x5d, 0x0c, 0x02
.global data_ov25_02179df4
data_ov25_02179df4: ; 0x02179df4
.byte 0x84, 0x19, 0x17, 0x02
.global data_ov25_02179df8
data_ov25_02179df8: ; 0x02179df8
.byte 0x58, 0x5e, 0x0c, 0x02
.global data_ov25_02179dfc
data_ov25_02179dfc: ; 0x02179dfc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179e00
data_ov25_02179e00: ; 0x02179e00
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179e04
data_ov25_02179e04: ; 0x02179e04
.byte 0x24, 0xde, 0x16, 0x02
.global data_ov25_02179e08
data_ov25_02179e08: ; 0x02179e08
.byte 0xcc, 0x1b, 0x17, 0x02
.global data_ov25_02179e0c
data_ov25_02179e0c: ; 0x02179e0c
.byte 0x0c, 0x96, 0x0a, 0x02
.global data_ov25_02179e10
data_ov25_02179e10: ; 0x02179e10
.byte 0x14, 0x96, 0x0a, 0x02
.global data_ov25_02179e14
data_ov25_02179e14: ; 0x02179e14
.byte 0x50, 0x96, 0x0a, 0x02
.global data_ov25_02179e18
data_ov25_02179e18: ; 0x02179e18
.byte 0xd4, 0x96, 0x0a, 0x02
.global data_ov25_02179e1c
data_ov25_02179e1c: ; 0x02179e1c
.byte 0x40, 0x97, 0x0a, 0x02
.global data_ov25_02179e20
data_ov25_02179e20: ; 0x02179e20
.byte 0x64, 0x97, 0x0a, 0x02
.global data_ov25_02179e24
data_ov25_02179e24: ; 0x02179e24
.byte 0xd0, 0x97, 0x0a, 0x02
.global data_ov25_02179e28
data_ov25_02179e28: ; 0x02179e28
.byte 0xe0, 0x97, 0x0a, 0x02
.global data_ov25_02179e2c
data_ov25_02179e2c: ; 0x02179e2c
.byte 0xf8, 0x97, 0x0a, 0x02
.global data_ov25_02179e30
data_ov25_02179e30: ; 0x02179e30
.byte 0x64, 0x98, 0x0a, 0x02
.global data_ov25_02179e34
data_ov25_02179e34: ; 0x02179e34
.byte 0xbc, 0x98, 0x0a, 0x02
.global data_ov25_02179e38
data_ov25_02179e38: ; 0x02179e38
.byte 0x90, 0x98, 0x0a, 0x02
.global data_ov25_02179e3c
data_ov25_02179e3c: ; 0x02179e3c
.byte 0x68, 0x99, 0x0a, 0x02
.global data_ov25_02179e40
data_ov25_02179e40: ; 0x02179e40
.byte 0xdc, 0x17, 0x17, 0x02
.global data_ov25_02179e44
data_ov25_02179e44: ; 0x02179e44
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179e48
data_ov25_02179e48: ; 0x02179e48
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179e4c
data_ov25_02179e4c: ; 0x02179e4c
.byte 0x2c, 0x29, 0x17, 0x02
.global data_ov25_02179e50
data_ov25_02179e50: ; 0x02179e50
.byte 0xd8, 0x28, 0x17, 0x02
.global data_ov25_02179e54
data_ov25_02179e54: ; 0x02179e54
.byte 0x2c, 0x1d, 0x17, 0x02
.global data_ov25_02179e58
data_ov25_02179e58: ; 0x02179e58
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov25_02179e5c
data_ov25_02179e5c: ; 0x02179e5c
.byte 0x40, 0x17, 0x0c, 0x02
.global data_ov25_02179e60
data_ov25_02179e60: ; 0x02179e60
.byte 0xe4, 0x21, 0x17, 0x02
.global data_ov25_02179e64
data_ov25_02179e64: ; 0x02179e64
.byte 0xec, 0x24, 0x17, 0x02
.global data_ov25_02179e68
data_ov25_02179e68: ; 0x02179e68
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov25_02179e6c
data_ov25_02179e6c: ; 0x02179e6c
.byte 0xf8, 0x24, 0x17, 0x02
.global data_ov25_02179e70
data_ov25_02179e70: ; 0x02179e70
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov25_02179e74
data_ov25_02179e74: ; 0x02179e74
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov25_02179e78
data_ov25_02179e78: ; 0x02179e78
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov25_02179e7c
data_ov25_02179e7c: ; 0x02179e7c
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov25_02179e80
data_ov25_02179e80: ; 0x02179e80
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov25_02179e84
data_ov25_02179e84: ; 0x02179e84
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov25_02179e88
data_ov25_02179e88: ; 0x02179e88
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov25_02179e8c
data_ov25_02179e8c: ; 0x02179e8c
.byte 0x04, 0x30, 0x0c, 0x02
.global data_ov25_02179e90
data_ov25_02179e90: ; 0x02179e90
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov25_02179e94
data_ov25_02179e94: ; 0x02179e94
.byte 0x9c, 0x1f, 0x17, 0x02
.global data_ov25_02179e98
data_ov25_02179e98: ; 0x02179e98
.byte 0x50, 0x1c, 0x0c, 0x02
.global data_ov25_02179e9c
data_ov25_02179e9c: ; 0x02179e9c
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov25_02179ea0
data_ov25_02179ea0: ; 0x02179ea0
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov25_02179ea4
data_ov25_02179ea4: ; 0x02179ea4
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov25_02179ea8
data_ov25_02179ea8: ; 0x02179ea8
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov25_02179eac
data_ov25_02179eac: ; 0x02179eac
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov25_02179eb0
data_ov25_02179eb0: ; 0x02179eb0
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov25_02179eb4
data_ov25_02179eb4: ; 0x02179eb4
.byte 0x10, 0x19, 0x0c, 0x02
.global data_ov25_02179eb8
data_ov25_02179eb8: ; 0x02179eb8
.byte 0x14, 0x19, 0x0c, 0x02
.global data_ov25_02179ebc
data_ov25_02179ebc: ; 0x02179ebc
.byte 0x1c, 0x19, 0x0c, 0x02
.global data_ov25_02179ec0
data_ov25_02179ec0: ; 0x02179ec0
.byte 0x24, 0x19, 0x0c, 0x02
.global data_ov25_02179ec4
data_ov25_02179ec4: ; 0x02179ec4
.byte 0x2c, 0x19, 0x0c, 0x02
.global data_ov25_02179ec8
data_ov25_02179ec8: ; 0x02179ec8
.byte 0x28, 0x19, 0x0c, 0x02
.global data_ov25_02179ecc
data_ov25_02179ecc: ; 0x02179ecc
.byte 0x34, 0x19, 0x0c, 0x02
.global data_ov25_02179ed0
data_ov25_02179ed0: ; 0x02179ed0
.byte 0x38, 0x19, 0x0c, 0x02
.global data_ov25_02179ed4
data_ov25_02179ed4: ; 0x02179ed4
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov25_02179ed8
data_ov25_02179ed8: ; 0x02179ed8
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov25_02179edc
data_ov25_02179edc: ; 0x02179edc
.byte 0x48, 0x19, 0x0c, 0x02
.global data_ov25_02179ee0
data_ov25_02179ee0: ; 0x02179ee0
.byte 0x50, 0x19, 0x0c, 0x02
.global data_ov25_02179ee4
data_ov25_02179ee4: ; 0x02179ee4
.byte 0x54, 0x19, 0x0c, 0x02
.global data_ov25_02179ee8
data_ov25_02179ee8: ; 0x02179ee8
.byte 0x58, 0x19, 0x0c, 0x02
.global data_ov25_02179eec
data_ov25_02179eec: ; 0x02179eec
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov25_02179ef0
data_ov25_02179ef0: ; 0x02179ef0
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov25_02179ef4
data_ov25_02179ef4: ; 0x02179ef4
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov25_02179ef8
data_ov25_02179ef8: ; 0x02179ef8
.byte 0xfc, 0x31, 0x0c, 0x02
.global data_ov25_02179efc
data_ov25_02179efc: ; 0x02179efc
.byte 0x2c, 0x32, 0x0c, 0x02
.global data_ov25_02179f00
data_ov25_02179f00: ; 0x02179f00
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179f04
data_ov25_02179f04: ; 0x02179f04
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_02179f08
data_ov25_02179f08: ; 0x02179f08
.byte 0x60, 0x2c, 0x17, 0x02
.global data_ov25_02179f0c
data_ov25_02179f0c: ; 0x02179f0c
.byte 0xb4, 0x2c, 0x17, 0x02
.global data_ov25_02179f10
data_ov25_02179f10: ; 0x02179f10
.byte 0x10, 0x2d, 0x17, 0x02
.global data_ov25_02179f14
data_ov25_02179f14: ; 0x02179f14
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov25_02179f18
data_ov25_02179f18: ; 0x02179f18
.byte 0x40, 0x17, 0x0c, 0x02
.global data_ov25_02179f1c
data_ov25_02179f1c: ; 0x02179f1c
.byte 0x90, 0x4a, 0x14, 0x02
.global data_ov25_02179f20
data_ov25_02179f20: ; 0x02179f20
.byte 0x64, 0x4b, 0x14, 0x02
.global data_ov25_02179f24
data_ov25_02179f24: ; 0x02179f24
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov25_02179f28
data_ov25_02179f28: ; 0x02179f28
.byte 0x6c, 0x53, 0x17, 0x02
.global data_ov25_02179f2c
data_ov25_02179f2c: ; 0x02179f2c
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov25_02179f30
data_ov25_02179f30: ; 0x02179f30
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov25_02179f34
data_ov25_02179f34: ; 0x02179f34
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov25_02179f38
data_ov25_02179f38: ; 0x02179f38
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov25_02179f3c
data_ov25_02179f3c: ; 0x02179f3c
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov25_02179f40
data_ov25_02179f40: ; 0x02179f40
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov25_02179f44
data_ov25_02179f44: ; 0x02179f44
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov25_02179f48
data_ov25_02179f48: ; 0x02179f48
.byte 0x74, 0x59, 0x14, 0x02
.global data_ov25_02179f4c
data_ov25_02179f4c: ; 0x02179f4c
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov25_02179f50
data_ov25_02179f50: ; 0x02179f50
.byte 0x48, 0x1c, 0x0c, 0x02
.global data_ov25_02179f54
data_ov25_02179f54: ; 0x02179f54
.byte 0x50, 0x1c, 0x0c, 0x02
.global data_ov25_02179f58
data_ov25_02179f58: ; 0x02179f58
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov25_02179f5c
data_ov25_02179f5c: ; 0x02179f5c
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov25_02179f60
data_ov25_02179f60: ; 0x02179f60
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov25_02179f64
data_ov25_02179f64: ; 0x02179f64
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov25_02179f68
data_ov25_02179f68: ; 0x02179f68
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov25_02179f6c
data_ov25_02179f6c: ; 0x02179f6c
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov25_02179f70
data_ov25_02179f70: ; 0x02179f70
.byte 0x48, 0x40, 0x17, 0x02
.global data_ov25_02179f74
data_ov25_02179f74: ; 0x02179f74
.byte 0xa0, 0x40, 0x17, 0x02
.global data_ov25_02179f78
data_ov25_02179f78: ; 0x02179f78
.byte 0x48, 0x3a, 0x17, 0x02
.global data_ov25_02179f7c
data_ov25_02179f7c: ; 0x02179f7c
.byte 0x98, 0x56, 0x14, 0x02
.global data_ov25_02179f80
data_ov25_02179f80: ; 0x02179f80
.byte 0x28, 0x37, 0x17, 0x02
.global data_ov25_02179f84
data_ov25_02179f84: ; 0x02179f84
.byte 0x3c, 0x57, 0x14, 0x02
.global data_ov25_02179f88
data_ov25_02179f88: ; 0x02179f88
.byte 0x78, 0x55, 0x14, 0x02
.global data_ov25_02179f8c
data_ov25_02179f8c: ; 0x02179f8c
.byte 0xb0, 0x55, 0x14, 0x02
.global data_ov25_02179f90
data_ov25_02179f90: ; 0x02179f90
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov25_02179f94
data_ov25_02179f94: ; 0x02179f94
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov25_02179f98
data_ov25_02179f98: ; 0x02179f98
.byte 0x60, 0x57, 0x14, 0x02
.global data_ov25_02179f9c
data_ov25_02179f9c: ; 0x02179f9c
.byte 0x14, 0x58, 0x14, 0x02
.global data_ov25_02179fa0
data_ov25_02179fa0: ; 0x02179fa0
.byte 0x74, 0x58, 0x14, 0x02
.global data_ov25_02179fa4
data_ov25_02179fa4: ; 0x02179fa4
.byte 0xb0, 0x58, 0x14, 0x02
.global data_ov25_02179fa8
data_ov25_02179fa8: ; 0x02179fa8
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov25_02179fac
data_ov25_02179fac: ; 0x02179fac
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov25_02179fb0
data_ov25_02179fb0: ; 0x02179fb0
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov25_02179fb4
data_ov25_02179fb4: ; 0x02179fb4
.byte 0xfc, 0x31, 0x0c, 0x02
.global data_ov25_02179fb8
data_ov25_02179fb8: ; 0x02179fb8
.byte 0x2c, 0x32, 0x0c, 0x02
.global data_ov25_02179fbc
data_ov25_02179fbc: ; 0x02179fbc
.byte 0x08, 0x4d, 0x14, 0x02
.global data_ov25_02179fc0
data_ov25_02179fc0: ; 0x02179fc0
.byte 0x34, 0x4d, 0x14, 0x02
.global data_ov25_02179fc4
data_ov25_02179fc4: ; 0x02179fc4
.byte 0x74, 0x4d, 0x14, 0x02
.global data_ov25_02179fc8
data_ov25_02179fc8: ; 0x02179fc8
.byte 0xfc, 0x52, 0x17, 0x02
.global data_ov25_02179fcc
data_ov25_02179fcc: ; 0x02179fcc
.byte 0x00, 0x41, 0x17, 0x02
.global data_ov25_02179fd0
data_ov25_02179fd0: ; 0x02179fd0
.byte 0x78, 0x56, 0x14, 0x02
.global data_ov25_02179fd4
data_ov25_02179fd4: ; 0x02179fd4
.byte 0xe4, 0x55, 0x14, 0x02
.global data_ov25_02179fd8
data_ov25_02179fd8: ; 0x02179fd8
.byte 0xa0, 0x58, 0x14, 0x02
.global data_ov25_02179fdc
data_ov25_02179fdc: ; 0x02179fdc
.byte 0x08, 0x36, 0x17, 0x02
.global data_ov25_02179fe0
data_ov25_02179fe0: ; 0x02179fe0
.byte 0xd4, 0x48, 0x14, 0x02
.global data_ov25_02179fe4
data_ov25_02179fe4: ; 0x02179fe4
.byte 0xdc, 0x48, 0x14, 0x02
.global data_ov25_02179fe8
data_ov25_02179fe8: ; 0x02179fe8
.byte 0xe4, 0x48, 0x14, 0x02
.global data_ov25_02179fec
data_ov25_02179fec: ; 0x02179fec
.byte 0xec, 0x48, 0x14, 0x02
.global data_ov25_02179ff0
data_ov25_02179ff0: ; 0x02179ff0
.byte 0xf4, 0x48, 0x14, 0x02
.global data_ov25_02179ff4
data_ov25_02179ff4: ; 0x02179ff4
.byte 0xcc, 0x58, 0x14, 0x02
.global data_ov25_02179ff8
data_ov25_02179ff8: ; 0x02179ff8
.byte 0x00, 0x59, 0x14, 0x02
.global data_ov25_02179ffc
data_ov25_02179ffc: ; 0x02179ffc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a000
data_ov25_0217a000: ; 0x0217a000
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a004
data_ov25_0217a004: ; 0x0217a004
.byte 0x4c, 0x2c, 0x17, 0x02
.global data_ov25_0217a008
data_ov25_0217a008: ; 0x0217a008
.byte 0xc8, 0x54, 0x17, 0x02
.global data_ov25_0217a00c
data_ov25_0217a00c: ; 0x0217a00c
.byte 0x88, 0x2a, 0x17, 0x02
.global data_ov25_0217a010
data_ov25_0217a010: ; 0x0217a010
.byte 0xd4, 0x2a, 0x17, 0x02
.global data_ov25_0217a014
data_ov25_0217a014: ; 0x0217a014
.byte 0x2c, 0x2b, 0x17, 0x02
.global data_ov25_0217a018
data_ov25_0217a018: ; 0x0217a018
.byte 0x50, 0x1f, 0x08, 0x02
.global data_ov25_0217a01c
data_ov25_0217a01c: ; 0x0217a01c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a020
data_ov25_0217a020: ; 0x0217a020
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a024
data_ov25_0217a024: ; 0x0217a024
.byte 0xd4, 0x69, 0x17, 0x02
.global data_ov25_0217a028
data_ov25_0217a028: ; 0x0217a028
.byte 0xb8, 0x69, 0x17, 0x02
.global data_ov25_0217a02c
data_ov25_0217a02c: ; 0x0217a02c
.byte 0xf0, 0x5a, 0x17, 0x02
.global data_ov25_0217a030
data_ov25_0217a030: ; 0x0217a030
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov25_0217a034
data_ov25_0217a034: ; 0x0217a034
.byte 0x40, 0x17, 0x0c, 0x02
.global data_ov25_0217a038
data_ov25_0217a038: ; 0x0217a038
.byte 0x84, 0x63, 0x17, 0x02
.global data_ov25_0217a03c
data_ov25_0217a03c: ; 0x0217a03c
.byte 0x6c, 0x69, 0x17, 0x02
.global data_ov25_0217a040
data_ov25_0217a040: ; 0x0217a040
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov25_0217a044
data_ov25_0217a044: ; 0x0217a044
.byte 0x94, 0x18, 0x0c, 0x02
.global data_ov25_0217a048
data_ov25_0217a048: ; 0x0217a048
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov25_0217a04c
data_ov25_0217a04c: ; 0x0217a04c
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov25_0217a050
data_ov25_0217a050: ; 0x0217a050
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov25_0217a054
data_ov25_0217a054: ; 0x0217a054
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov25_0217a058
data_ov25_0217a058: ; 0x0217a058
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov25_0217a05c
data_ov25_0217a05c: ; 0x0217a05c
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov25_0217a060
data_ov25_0217a060: ; 0x0217a060
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov25_0217a064
data_ov25_0217a064: ; 0x0217a064
.byte 0x04, 0x30, 0x0c, 0x02
.global data_ov25_0217a068
data_ov25_0217a068: ; 0x0217a068
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov25_0217a06c
data_ov25_0217a06c: ; 0x0217a06c
.byte 0x48, 0x1c, 0x0c, 0x02
.global data_ov25_0217a070
data_ov25_0217a070: ; 0x0217a070
.byte 0x50, 0x1c, 0x0c, 0x02
.global data_ov25_0217a074
data_ov25_0217a074: ; 0x0217a074
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov25_0217a078
data_ov25_0217a078: ; 0x0217a078
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov25_0217a07c
data_ov25_0217a07c: ; 0x0217a07c
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov25_0217a080
data_ov25_0217a080: ; 0x0217a080
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov25_0217a084
data_ov25_0217a084: ; 0x0217a084
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov25_0217a088
data_ov25_0217a088: ; 0x0217a088
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov25_0217a08c
data_ov25_0217a08c: ; 0x0217a08c
.byte 0x10, 0x19, 0x0c, 0x02
.global data_ov25_0217a090
data_ov25_0217a090: ; 0x0217a090
.byte 0x6c, 0x63, 0x17, 0x02
.global data_ov25_0217a094
data_ov25_0217a094: ; 0x0217a094
.byte 0x1c, 0x19, 0x0c, 0x02
.global data_ov25_0217a098
data_ov25_0217a098: ; 0x0217a098
.byte 0x24, 0x19, 0x0c, 0x02
.global data_ov25_0217a09c
data_ov25_0217a09c: ; 0x0217a09c
.byte 0x2c, 0x19, 0x0c, 0x02
.global data_ov25_0217a0a0
data_ov25_0217a0a0: ; 0x0217a0a0
.byte 0x28, 0x19, 0x0c, 0x02
.global data_ov25_0217a0a4
data_ov25_0217a0a4: ; 0x0217a0a4
.byte 0x34, 0x19, 0x0c, 0x02
.global data_ov25_0217a0a8
data_ov25_0217a0a8: ; 0x0217a0a8
.byte 0x38, 0x19, 0x0c, 0x02
.global data_ov25_0217a0ac
data_ov25_0217a0ac: ; 0x0217a0ac
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov25_0217a0b0
data_ov25_0217a0b0: ; 0x0217a0b0
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov25_0217a0b4
data_ov25_0217a0b4: ; 0x0217a0b4
.byte 0x48, 0x19, 0x0c, 0x02
.global data_ov25_0217a0b8
data_ov25_0217a0b8: ; 0x0217a0b8
.byte 0x50, 0x19, 0x0c, 0x02
.global data_ov25_0217a0bc
data_ov25_0217a0bc: ; 0x0217a0bc
.byte 0x54, 0x19, 0x0c, 0x02
.global data_ov25_0217a0c0
data_ov25_0217a0c0: ; 0x0217a0c0
.byte 0x58, 0x19, 0x0c, 0x02
.global data_ov25_0217a0c4
data_ov25_0217a0c4: ; 0x0217a0c4
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov25_0217a0c8
data_ov25_0217a0c8: ; 0x0217a0c8
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov25_0217a0cc
data_ov25_0217a0cc: ; 0x0217a0cc
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov25_0217a0d0
data_ov25_0217a0d0: ; 0x0217a0d0
.byte 0xfc, 0x31, 0x0c, 0x02
.global data_ov25_0217a0d4
data_ov25_0217a0d4: ; 0x0217a0d4
.byte 0x2c, 0x32, 0x0c, 0x02
.global data_ov25_0217a0d8
data_ov25_0217a0d8: ; 0x0217a0d8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a0dc
data_ov25_0217a0dc: ; 0x0217a0dc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a0e0
data_ov25_0217a0e0: ; 0x0217a0e0
.byte 0xbc, 0x6d, 0x17, 0x02
.global data_ov25_0217a0e4
data_ov25_0217a0e4: ; 0x0217a0e4
.byte 0x84, 0x6d, 0x17, 0x02
.global data_ov25_0217a0e8
data_ov25_0217a0e8: ; 0x0217a0e8
.byte 0x64, 0x6a, 0x17, 0x02
.global data_ov25_0217a0ec
data_ov25_0217a0ec: ; 0x0217a0ec
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov25_0217a0f0
data_ov25_0217a0f0: ; 0x0217a0f0
.byte 0x40, 0x17, 0x0c, 0x02
.global data_ov25_0217a0f4
data_ov25_0217a0f4: ; 0x0217a0f4
.byte 0x10, 0x6c, 0x17, 0x02
.global data_ov25_0217a0f8
data_ov25_0217a0f8: ; 0x0217a0f8
.byte 0x74, 0x6d, 0x17, 0x02
.global data_ov25_0217a0fc
data_ov25_0217a0fc: ; 0x0217a0fc
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov25_0217a100
data_ov25_0217a100: ; 0x0217a100
.byte 0x80, 0x6d, 0x17, 0x02
.global data_ov25_0217a104
data_ov25_0217a104: ; 0x0217a104
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov25_0217a108
data_ov25_0217a108: ; 0x0217a108
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov25_0217a10c
data_ov25_0217a10c: ; 0x0217a10c
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov25_0217a110
data_ov25_0217a110: ; 0x0217a110
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov25_0217a114
data_ov25_0217a114: ; 0x0217a114
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov25_0217a118
data_ov25_0217a118: ; 0x0217a118
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov25_0217a11c
data_ov25_0217a11c: ; 0x0217a11c
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov25_0217a120
data_ov25_0217a120: ; 0x0217a120
.byte 0x04, 0x30, 0x0c, 0x02
.global data_ov25_0217a124
data_ov25_0217a124: ; 0x0217a124
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov25_0217a128
data_ov25_0217a128: ; 0x0217a128
.byte 0x48, 0x1c, 0x0c, 0x02
.global data_ov25_0217a12c
data_ov25_0217a12c: ; 0x0217a12c
.byte 0x50, 0x1c, 0x0c, 0x02
.global data_ov25_0217a130
data_ov25_0217a130: ; 0x0217a130
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov25_0217a134
data_ov25_0217a134: ; 0x0217a134
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov25_0217a138
data_ov25_0217a138: ; 0x0217a138
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov25_0217a13c
data_ov25_0217a13c: ; 0x0217a13c
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov25_0217a140
data_ov25_0217a140: ; 0x0217a140
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov25_0217a144
data_ov25_0217a144: ; 0x0217a144
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov25_0217a148
data_ov25_0217a148: ; 0x0217a148
.byte 0x10, 0x19, 0x0c, 0x02
.global data_ov25_0217a14c
data_ov25_0217a14c: ; 0x0217a14c
.byte 0x14, 0x19, 0x0c, 0x02
.global data_ov25_0217a150
data_ov25_0217a150: ; 0x0217a150
.byte 0x1c, 0x19, 0x0c, 0x02
.global data_ov25_0217a154
data_ov25_0217a154: ; 0x0217a154
.byte 0x24, 0x19, 0x0c, 0x02
.global data_ov25_0217a158
data_ov25_0217a158: ; 0x0217a158
.byte 0x2c, 0x19, 0x0c, 0x02
.global data_ov25_0217a15c
data_ov25_0217a15c: ; 0x0217a15c
.byte 0x28, 0x19, 0x0c, 0x02
.global data_ov25_0217a160
data_ov25_0217a160: ; 0x0217a160
.byte 0x34, 0x19, 0x0c, 0x02
.global data_ov25_0217a164
data_ov25_0217a164: ; 0x0217a164
.byte 0x38, 0x19, 0x0c, 0x02
.global data_ov25_0217a168
data_ov25_0217a168: ; 0x0217a168
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov25_0217a16c
data_ov25_0217a16c: ; 0x0217a16c
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov25_0217a170
data_ov25_0217a170: ; 0x0217a170
.byte 0x48, 0x19, 0x0c, 0x02
.global data_ov25_0217a174
data_ov25_0217a174: ; 0x0217a174
.byte 0x50, 0x19, 0x0c, 0x02
.global data_ov25_0217a178
data_ov25_0217a178: ; 0x0217a178
.byte 0x54, 0x19, 0x0c, 0x02
.global data_ov25_0217a17c
data_ov25_0217a17c: ; 0x0217a17c
.byte 0x58, 0x19, 0x0c, 0x02
.global data_ov25_0217a180
data_ov25_0217a180: ; 0x0217a180
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov25_0217a184
data_ov25_0217a184: ; 0x0217a184
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov25_0217a188
data_ov25_0217a188: ; 0x0217a188
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov25_0217a18c
data_ov25_0217a18c: ; 0x0217a18c
.byte 0xfc, 0x31, 0x0c, 0x02
.global data_ov25_0217a190
data_ov25_0217a190: ; 0x0217a190
.byte 0x2c, 0x32, 0x0c, 0x02
.global data_ov25_0217a194
data_ov25_0217a194: ; 0x0217a194
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a198
data_ov25_0217a198: ; 0x0217a198
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a19c
data_ov25_0217a19c: ; 0x0217a19c
.byte 0xec, 0x72, 0x17, 0x02
.global data_ov25_0217a1a0
data_ov25_0217a1a0: ; 0x0217a1a0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a1a4
data_ov25_0217a1a4: ; 0x0217a1a4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a1a8
data_ov25_0217a1a8: ; 0x0217a1a8
.byte 0x90, 0x6e, 0x17, 0x02
.global data_ov25_0217a1ac
data_ov25_0217a1ac: ; 0x0217a1ac
.byte 0xa4, 0x6e, 0x17, 0x02
.global data_ov25_0217a1b0
data_ov25_0217a1b0: ; 0x0217a1b0
.byte 0xc8, 0x6e, 0x17, 0x02
.global data_ov25_0217a1b4
data_ov25_0217a1b4: ; 0x0217a1b4
.byte 0x44, 0x6f, 0x17, 0x02
.global data_ov25_0217a1b8
data_ov25_0217a1b8: ; 0x0217a1b8
.byte 0x94, 0xb6, 0x08, 0x02
.global data_ov25_0217a1bc
data_ov25_0217a1bc: ; 0x0217a1bc
.byte 0x98, 0xb6, 0x08, 0x02
.global data_ov25_0217a1c0
data_ov25_0217a1c0: ; 0x0217a1c0
.byte 0xb8, 0xb6, 0x08, 0x02
.global data_ov25_0217a1c4
data_ov25_0217a1c4: ; 0x0217a1c4
.byte 0xc0, 0x6e, 0x17, 0x02
.global data_ov25_0217a1c8
data_ov25_0217a1c8: ; 0x0217a1c8
.byte 0xd4, 0x71, 0x14, 0x02
.global data_ov25_0217a1cc
data_ov25_0217a1cc: ; 0x0217a1cc
.byte 0xc4, 0xb6, 0x08, 0x02
.global data_ov25_0217a1d0
data_ov25_0217a1d0: ; 0x0217a1d0
.byte 0xa0, 0x70, 0x14, 0x02
.global data_ov25_0217a1d4
data_ov25_0217a1d4: ; 0x0217a1d4
.byte 0xd0, 0xb6, 0x08, 0x02
.global data_ov25_0217a1d8
data_ov25_0217a1d8: ; 0x0217a1d8
.byte 0xd8, 0x72, 0x17, 0x02
.global data_ov25_0217a1dc
data_ov25_0217a1dc: ; 0x0217a1dc
.byte 0x04, 0x73, 0x14, 0x02
.global data_ov25_0217a1e0
data_ov25_0217a1e0: ; 0x0217a1e0
.byte 0x50, 0x74, 0x14, 0x02
.global data_ov25_0217a1e4
data_ov25_0217a1e4: ; 0x0217a1e4
.byte 0xf0, 0xb6, 0x08, 0x02
.global data_ov25_0217a1e8
data_ov25_0217a1e8: ; 0x0217a1e8
.byte 0xf8, 0xb6, 0x08, 0x02
.global data_ov25_0217a1ec
data_ov25_0217a1ec: ; 0x0217a1ec
.byte 0x90, 0x74, 0x14, 0x02
.global data_ov25_0217a1f0
data_ov25_0217a1f0: ; 0x0217a1f0
.byte 0xbc, 0x6f, 0x17, 0x02
.global data_ov25_0217a1f4
data_ov25_0217a1f4: ; 0x0217a1f4
.byte 0x0c, 0xb7, 0x08, 0x02
.global data_ov25_0217a1f8
data_ov25_0217a1f8: ; 0x0217a1f8
.byte 0x10, 0xb7, 0x08, 0x02
.global data_ov25_0217a1fc
data_ov25_0217a1fc: ; 0x0217a1fc
.byte 0xf8, 0xc9, 0x08, 0x02
.global data_ov25_0217a200
data_ov25_0217a200: ; 0x0217a200
.byte 0x1c, 0xb7, 0x08, 0x02
.global data_ov25_0217a204
data_ov25_0217a204: ; 0x0217a204
.byte 0x44, 0xb8, 0x08, 0x02
.global data_ov25_0217a208
data_ov25_0217a208: ; 0x0217a208
.byte 0x70, 0xb8, 0x08, 0x02
.global data_ov25_0217a20c
data_ov25_0217a20c: ; 0x0217a20c
.byte 0x9c, 0xb8, 0x08, 0x02
.global data_ov25_0217a210
data_ov25_0217a210: ; 0x0217a210
.byte 0x30, 0xba, 0x08, 0x02
.global data_ov25_0217a214
data_ov25_0217a214: ; 0x0217a214
.byte 0x38, 0xba, 0x08, 0x02
.global data_ov25_0217a218
data_ov25_0217a218: ; 0x0217a218
.byte 0x40, 0xba, 0x08, 0x02
.global data_ov25_0217a21c
data_ov25_0217a21c: ; 0x0217a21c
.byte 0x48, 0xba, 0x08, 0x02
.global data_ov25_0217a220
data_ov25_0217a220: ; 0x0217a220
.byte 0x50, 0xba, 0x08, 0x02
.global data_ov25_0217a224
data_ov25_0217a224: ; 0x0217a224
.byte 0xc4, 0x71, 0x17, 0x02
.global data_ov25_0217a228
data_ov25_0217a228: ; 0x0217a228
.byte 0x88, 0x6f, 0x17, 0x02
.global data_ov25_0217a22c
data_ov25_0217a22c: ; 0x0217a22c
.byte 0x8c, 0xc3, 0x08, 0x02
.global data_ov25_0217a230
data_ov25_0217a230: ; 0x0217a230
.byte 0x8c, 0x76, 0x14, 0x02
.global data_ov25_0217a234
data_ov25_0217a234: ; 0x0217a234
.byte 0xf0, 0x70, 0x17, 0x02
.global data_ov25_0217a238
data_ov25_0217a238: ; 0x0217a238
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a23c
data_ov25_0217a23c: ; 0x0217a23c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a240
data_ov25_0217a240: ; 0x0217a240
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a244
data_ov25_0217a244: ; 0x0217a244
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a248
data_ov25_0217a248: ; 0x0217a248
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a24c
data_ov25_0217a24c: ; 0x0217a24c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a250
data_ov25_0217a250: ; 0x0217a250
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a254
data_ov25_0217a254: ; 0x0217a254
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a258
data_ov25_0217a258: ; 0x0217a258
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a25c
data_ov25_0217a25c: ; 0x0217a25c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a260
data_ov25_0217a260: ; 0x0217a260
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a264
data_ov25_0217a264: ; 0x0217a264
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a268
data_ov25_0217a268: ; 0x0217a268
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a26c
data_ov25_0217a26c: ; 0x0217a26c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a270
data_ov25_0217a270: ; 0x0217a270
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a274
data_ov25_0217a274: ; 0x0217a274
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a278
data_ov25_0217a278: ; 0x0217a278
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a27c
data_ov25_0217a27c: ; 0x0217a27c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a280
data_ov25_0217a280: ; 0x0217a280
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a284
data_ov25_0217a284: ; 0x0217a284
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a288
data_ov25_0217a288: ; 0x0217a288
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a28c
data_ov25_0217a28c: ; 0x0217a28c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a290
data_ov25_0217a290: ; 0x0217a290
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a294
data_ov25_0217a294: ; 0x0217a294
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a298
data_ov25_0217a298: ; 0x0217a298
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a29c
data_ov25_0217a29c: ; 0x0217a29c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a2a0
data_ov25_0217a2a0: ; 0x0217a2a0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a2a4
data_ov25_0217a2a4: ; 0x0217a2a4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a2a8
data_ov25_0217a2a8: ; 0x0217a2a8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a2ac
data_ov25_0217a2ac: ; 0x0217a2ac
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a2b0
data_ov25_0217a2b0: ; 0x0217a2b0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a2b4
data_ov25_0217a2b4: ; 0x0217a2b4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a2b8
data_ov25_0217a2b8: ; 0x0217a2b8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a2bc
data_ov25_0217a2bc: ; 0x0217a2bc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a2c0
data_ov25_0217a2c0: ; 0x0217a2c0
.byte 0x1c, 0x7d, 0x17, 0x02
.global data_ov25_0217a2c4
data_ov25_0217a2c4: ; 0x0217a2c4
.byte 0xcc, 0x7c, 0x17, 0x02
.global data_ov25_0217a2c8
data_ov25_0217a2c8: ; 0x0217a2c8
.byte 0x00, 0xaa, 0x0c, 0x02
.global data_ov25_0217a2cc
data_ov25_0217a2cc: ; 0x0217a2cc
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov25_0217a2d0
data_ov25_0217a2d0: ; 0x0217a2d0
.byte 0xe8, 0xa7, 0x0c, 0x02
.global data_ov25_0217a2d4
data_ov25_0217a2d4: ; 0x0217a2d4
.byte 0x28, 0xaa, 0x0c, 0x02
.global data_ov25_0217a2d8
data_ov25_0217a2d8: ; 0x0217a2d8
.byte 0x30, 0xad, 0x0c, 0x02
.global data_ov25_0217a2dc
data_ov25_0217a2dc: ; 0x0217a2dc
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov25_0217a2e0
data_ov25_0217a2e0: ; 0x0217a2e0
.byte 0xc0, 0xb1, 0x0c, 0x02
.global data_ov25_0217a2e4
data_ov25_0217a2e4: ; 0x0217a2e4
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov25_0217a2e8
data_ov25_0217a2e8: ; 0x0217a2e8
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov25_0217a2ec
data_ov25_0217a2ec: ; 0x0217a2ec
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov25_0217a2f0
data_ov25_0217a2f0: ; 0x0217a2f0
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov25_0217a2f4
data_ov25_0217a2f4: ; 0x0217a2f4
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov25_0217a2f8
data_ov25_0217a2f8: ; 0x0217a2f8
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov25_0217a2fc
data_ov25_0217a2fc: ; 0x0217a2fc
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov25_0217a300
data_ov25_0217a300: ; 0x0217a300
.byte 0x04, 0x30, 0x0c, 0x02
.global data_ov25_0217a304
data_ov25_0217a304: ; 0x0217a304
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov25_0217a308
data_ov25_0217a308: ; 0x0217a308
.byte 0xb4, 0xae, 0x0c, 0x02
.global data_ov25_0217a30c
data_ov25_0217a30c: ; 0x0217a30c
.byte 0x40, 0xa8, 0x0c, 0x02
.global data_ov25_0217a310
data_ov25_0217a310: ; 0x0217a310
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov25_0217a314
data_ov25_0217a314: ; 0x0217a314
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov25_0217a318
data_ov25_0217a318: ; 0x0217a318
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov25_0217a31c
data_ov25_0217a31c: ; 0x0217a31c
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov25_0217a320
data_ov25_0217a320: ; 0x0217a320
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov25_0217a324
data_ov25_0217a324: ; 0x0217a324
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov25_0217a328
data_ov25_0217a328: ; 0x0217a328
.byte 0x10, 0x19, 0x0c, 0x02
.global data_ov25_0217a32c
data_ov25_0217a32c: ; 0x0217a32c
.byte 0x14, 0x19, 0x0c, 0x02
.global data_ov25_0217a330
data_ov25_0217a330: ; 0x0217a330
.byte 0x1c, 0x19, 0x0c, 0x02
.global data_ov25_0217a334
data_ov25_0217a334: ; 0x0217a334
.byte 0x24, 0x19, 0x0c, 0x02
.global data_ov25_0217a338
data_ov25_0217a338: ; 0x0217a338
.byte 0x2c, 0x19, 0x0c, 0x02
.global data_ov25_0217a33c
data_ov25_0217a33c: ; 0x0217a33c
.byte 0x28, 0x19, 0x0c, 0x02
.global data_ov25_0217a340
data_ov25_0217a340: ; 0x0217a340
.byte 0x34, 0x19, 0x0c, 0x02
.global data_ov25_0217a344
data_ov25_0217a344: ; 0x0217a344
.byte 0x38, 0x19, 0x0c, 0x02
.global data_ov25_0217a348
data_ov25_0217a348: ; 0x0217a348
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov25_0217a34c
data_ov25_0217a34c: ; 0x0217a34c
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov25_0217a350
data_ov25_0217a350: ; 0x0217a350
.byte 0x48, 0x19, 0x0c, 0x02
.global data_ov25_0217a354
data_ov25_0217a354: ; 0x0217a354
.byte 0x50, 0x19, 0x0c, 0x02
.global data_ov25_0217a358
data_ov25_0217a358: ; 0x0217a358
.byte 0x54, 0x19, 0x0c, 0x02
.global data_ov25_0217a35c
data_ov25_0217a35c: ; 0x0217a35c
.byte 0x58, 0x19, 0x0c, 0x02
.global data_ov25_0217a360
data_ov25_0217a360: ; 0x0217a360
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov25_0217a364
data_ov25_0217a364: ; 0x0217a364
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov25_0217a368
data_ov25_0217a368: ; 0x0217a368
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov25_0217a36c
data_ov25_0217a36c: ; 0x0217a36c
.byte 0x84, 0x7b, 0x17, 0x02
.global data_ov25_0217a370
data_ov25_0217a370: ; 0x0217a370
.byte 0xb8, 0x7c, 0x17, 0x02
.global data_ov25_0217a374
data_ov25_0217a374: ; 0x0217a374
.byte 0xf4, 0xac, 0x0c, 0x02
.global data_ov25_0217a378
data_ov25_0217a378: ; 0x0217a378
.byte 0x60, 0x74, 0x17, 0x02
.global data_ov25_0217a37c
data_ov25_0217a37c: ; 0x0217a37c
.byte 0xe4, 0x77, 0x17, 0x02
.global data_ov25_0217a380
data_ov25_0217a380: ; 0x0217a380
.byte 0x60, 0x7b, 0x17, 0x02
.global data_ov25_0217a384
data_ov25_0217a384: ; 0x0217a384
.byte 0xa8, 0xae, 0x0c, 0x02
.global data_ov25_0217a388
data_ov25_0217a388: ; 0x0217a388
.byte 0x88, 0x75, 0x17, 0x02
.global data_ov25_0217a38c
data_ov25_0217a38c: ; 0x0217a38c
.byte 0xfc, 0xae, 0x0c, 0x02
.global data_ov25_0217a390
data_ov25_0217a390: ; 0x0217a390
.byte 0xb8, 0xaf, 0x0c, 0x02
.global data_ov25_0217a394
data_ov25_0217a394: ; 0x0217a394
.byte 0xbc, 0xaf, 0x0c, 0x02
.global data_ov25_0217a398
data_ov25_0217a398: ; 0x0217a398
.byte 0xd0, 0xaf, 0x0c, 0x02
.global data_ov25_0217a39c
data_ov25_0217a39c: ; 0x0217a39c
.byte 0x58, 0xb0, 0x0c, 0x02
.global data_ov25_0217a3a0
data_ov25_0217a3a0: ; 0x0217a3a0
.byte 0x6c, 0xb0, 0x0c, 0x02
.global data_ov25_0217a3a4
data_ov25_0217a3a4: ; 0x0217a3a4
.byte 0x80, 0xb0, 0x0c, 0x02
.global data_ov25_0217a3a8
data_ov25_0217a3a8: ; 0x0217a3a8
.byte 0x0c, 0xb1, 0x0c, 0x02
.global data_ov25_0217a3ac
data_ov25_0217a3ac: ; 0x0217a3ac
.byte 0x20, 0xb1, 0x0c, 0x02
.global data_ov25_0217a3b0
data_ov25_0217a3b0: ; 0x0217a3b0
.byte 0x2c, 0xb1, 0x0c, 0x02
.global data_ov25_0217a3b4
data_ov25_0217a3b4: ; 0x0217a3b4
.byte 0x3c, 0xb1, 0x0c, 0x02
.global data_ov25_0217a3b8
data_ov25_0217a3b8: ; 0x0217a3b8
.byte 0x50, 0xc1, 0x0c, 0x02
.global data_ov25_0217a3bc
data_ov25_0217a3bc: ; 0x0217a3bc
.byte 0x5c, 0xc1, 0x0c, 0x02
.global data_ov25_0217a3c0
data_ov25_0217a3c0: ; 0x0217a3c0
.byte 0x90, 0xc4, 0x0c, 0x02
.global data_ov25_0217a3c4
data_ov25_0217a3c4: ; 0x0217a3c4
.byte 0x24, 0xc5, 0x0c, 0x02
.global data_ov25_0217a3c8
data_ov25_0217a3c8: ; 0x0217a3c8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a3cc
data_ov25_0217a3cc: ; 0x0217a3cc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a3d0
data_ov25_0217a3d0: ; 0x0217a3d0
.byte 0x34, 0x5d, 0x0c, 0x02
.global data_ov25_0217a3d4
data_ov25_0217a3d4: ; 0x0217a3d4
.byte 0xd0, 0x73, 0x17, 0x02
.global data_ov25_0217a3d8
data_ov25_0217a3d8: ; 0x0217a3d8
.byte 0x58, 0x5e, 0x0c, 0x02
.global data_ov25_0217a3dc
data_ov25_0217a3dc: ; 0x0217a3dc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a3e0
data_ov25_0217a3e0: ; 0x0217a3e0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a3e4
data_ov25_0217a3e4: ; 0x0217a3e4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a3e8
data_ov25_0217a3e8: ; 0x0217a3e8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a3ec
data_ov25_0217a3ec: ; 0x0217a3ec
.ascii "brg"
.byte 0x00
.global data_ov25_0217a3f0
data_ov25_0217a3f0: ; 0x0217a3f0
.ascii "fnl"
.byte 0x00
.global data_ov25_0217a3f4
data_ov25_0217a3f4: ; 0x0217a3f4
.ascii "pdl"
.byte 0x00
.global data_ov25_0217a3f8
data_ov25_0217a3f8: ; 0x0217a3f8
.ascii "dco"
.byte 0x00
.global data_ov25_0217a3fc
data_ov25_0217a3fc: ; 0x0217a3fc
.ascii "can"
.byte 0x00
.global data_ov25_0217a400
data_ov25_0217a400: ; 0x0217a400
.ascii "hul"
.byte 0x00
.global data_ov25_0217a404
data_ov25_0217a404: ; 0x0217a404
.ascii "bow"
.byte 0x00
.global data_ov25_0217a408
data_ov25_0217a408: ; 0x0217a408
.ascii "anc"
.byte 0x00
.global data_ov25_0217a40c
data_ov25_0217a40c: ; 0x0217a40c
.byte 0x08, 0xa4, 0x17, 0x02
.global data_ov25_0217a410
data_ov25_0217a410: ; 0x0217a410
.byte 0x04, 0xa4, 0x17, 0x02
.global data_ov25_0217a414
data_ov25_0217a414: ; 0x0217a414
.byte 0x00, 0xa4, 0x17, 0x02
.global data_ov25_0217a418
data_ov25_0217a418: ; 0x0217a418
.byte 0xfc, 0xa3, 0x17, 0x02
.global data_ov25_0217a41c
data_ov25_0217a41c: ; 0x0217a41c
.byte 0xf8, 0xa3, 0x17, 0x02
.global data_ov25_0217a420
data_ov25_0217a420: ; 0x0217a420
.byte 0xf4, 0xa3, 0x17, 0x02
.global data_ov25_0217a424
data_ov25_0217a424: ; 0x0217a424
.byte 0xf0, 0xa3, 0x17, 0x02
.global data_ov25_0217a428
data_ov25_0217a428: ; 0x0217a428
.byte 0xec, 0xa3, 0x17, 0x02
.global data_ov25_0217a42c
data_ov25_0217a42c: ; 0x0217a42c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a430
data_ov25_0217a430: ; 0x0217a430
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a434
data_ov25_0217a434: ; 0x0217a434
.byte 0x58, 0x85, 0x17, 0x02
.global data_ov25_0217a438
data_ov25_0217a438: ; 0x0217a438
.byte 0x20, 0x85, 0x17, 0x02
.global data_ov25_0217a43c
data_ov25_0217a43c: ; 0x0217a43c
.byte 0x9c, 0x80, 0x17, 0x02
.global data_ov25_0217a440
data_ov25_0217a440: ; 0x0217a440
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov25_0217a444
data_ov25_0217a444: ; 0x0217a444
.byte 0x40, 0x17, 0x0c, 0x02
.global data_ov25_0217a448
data_ov25_0217a448: ; 0x0217a448
.byte 0x18, 0x82, 0x17, 0x02
.global data_ov25_0217a44c
data_ov25_0217a44c: ; 0x0217a44c
.byte 0xbc, 0x17, 0x0c, 0x02
.global data_ov25_0217a450
data_ov25_0217a450: ; 0x0217a450
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov25_0217a454
data_ov25_0217a454: ; 0x0217a454
.byte 0x1c, 0x85, 0x17, 0x02
.global data_ov25_0217a458
data_ov25_0217a458: ; 0x0217a458
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov25_0217a45c
data_ov25_0217a45c: ; 0x0217a45c
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov25_0217a460
data_ov25_0217a460: ; 0x0217a460
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov25_0217a464
data_ov25_0217a464: ; 0x0217a464
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov25_0217a468
data_ov25_0217a468: ; 0x0217a468
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov25_0217a46c
data_ov25_0217a46c: ; 0x0217a46c
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov25_0217a470
data_ov25_0217a470: ; 0x0217a470
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov25_0217a474
data_ov25_0217a474: ; 0x0217a474
.byte 0x04, 0x30, 0x0c, 0x02
.global data_ov25_0217a478
data_ov25_0217a478: ; 0x0217a478
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov25_0217a47c
data_ov25_0217a47c: ; 0x0217a47c
.byte 0x48, 0x1c, 0x0c, 0x02
.global data_ov25_0217a480
data_ov25_0217a480: ; 0x0217a480
.byte 0x50, 0x1c, 0x0c, 0x02
.global data_ov25_0217a484
data_ov25_0217a484: ; 0x0217a484
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov25_0217a488
data_ov25_0217a488: ; 0x0217a488
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov25_0217a48c
data_ov25_0217a48c: ; 0x0217a48c
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov25_0217a490
data_ov25_0217a490: ; 0x0217a490
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov25_0217a494
data_ov25_0217a494: ; 0x0217a494
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov25_0217a498
data_ov25_0217a498: ; 0x0217a498
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov25_0217a49c
data_ov25_0217a49c: ; 0x0217a49c
.byte 0x10, 0x19, 0x0c, 0x02
.global data_ov25_0217a4a0
data_ov25_0217a4a0: ; 0x0217a4a0
.byte 0x14, 0x19, 0x0c, 0x02
.global data_ov25_0217a4a4
data_ov25_0217a4a4: ; 0x0217a4a4
.byte 0x1c, 0x19, 0x0c, 0x02
.global data_ov25_0217a4a8
data_ov25_0217a4a8: ; 0x0217a4a8
.byte 0x24, 0x19, 0x0c, 0x02
.global data_ov25_0217a4ac
data_ov25_0217a4ac: ; 0x0217a4ac
.byte 0x2c, 0x19, 0x0c, 0x02
.global data_ov25_0217a4b0
data_ov25_0217a4b0: ; 0x0217a4b0
.byte 0x28, 0x19, 0x0c, 0x02
.global data_ov25_0217a4b4
data_ov25_0217a4b4: ; 0x0217a4b4
.byte 0x34, 0x19, 0x0c, 0x02
.global data_ov25_0217a4b8
data_ov25_0217a4b8: ; 0x0217a4b8
.byte 0x38, 0x19, 0x0c, 0x02
.global data_ov25_0217a4bc
data_ov25_0217a4bc: ; 0x0217a4bc
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov25_0217a4c0
data_ov25_0217a4c0: ; 0x0217a4c0
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov25_0217a4c4
data_ov25_0217a4c4: ; 0x0217a4c4
.byte 0x48, 0x19, 0x0c, 0x02
.global data_ov25_0217a4c8
data_ov25_0217a4c8: ; 0x0217a4c8
.byte 0x50, 0x19, 0x0c, 0x02
.global data_ov25_0217a4cc
data_ov25_0217a4cc: ; 0x0217a4cc
.byte 0x54, 0x19, 0x0c, 0x02
.global data_ov25_0217a4d0
data_ov25_0217a4d0: ; 0x0217a4d0
.byte 0x58, 0x19, 0x0c, 0x02
.global data_ov25_0217a4d4
data_ov25_0217a4d4: ; 0x0217a4d4
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov25_0217a4d8
data_ov25_0217a4d8: ; 0x0217a4d8
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov25_0217a4dc
data_ov25_0217a4dc: ; 0x0217a4dc
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov25_0217a4e0
data_ov25_0217a4e0: ; 0x0217a4e0
.byte 0xfc, 0x31, 0x0c, 0x02
.global data_ov25_0217a4e4
data_ov25_0217a4e4: ; 0x0217a4e4
.byte 0x2c, 0x32, 0x0c, 0x02
.global data_ov25_0217a4e8
data_ov25_0217a4e8: ; 0x0217a4e8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a4ec
data_ov25_0217a4ec: ; 0x0217a4ec
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a4f0
data_ov25_0217a4f0: ; 0x0217a4f0
.byte 0x28, 0x86, 0x17, 0x02
.global data_ov25_0217a4f4
data_ov25_0217a4f4: ; 0x0217a4f4
.byte 0x58, 0x86, 0x17, 0x02
.global data_ov25_0217a4f8
data_ov25_0217a4f8: ; 0x0217a4f8
.byte 0x90, 0x86, 0x17, 0x02
.global data_ov25_0217a4fc
data_ov25_0217a4fc: ; 0x0217a4fc
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov25_0217a500
data_ov25_0217a500: ; 0x0217a500
.byte 0x40, 0x17, 0x0c, 0x02
.global data_ov25_0217a504
data_ov25_0217a504: ; 0x0217a504
.byte 0xbc, 0x87, 0x17, 0x02
.global data_ov25_0217a508
data_ov25_0217a508: ; 0x0217a508
.byte 0xec, 0x87, 0x17, 0x02
.global data_ov25_0217a50c
data_ov25_0217a50c: ; 0x0217a50c
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov25_0217a510
data_ov25_0217a510: ; 0x0217a510
.byte 0x2c, 0x15, 0x15, 0x02
.global data_ov25_0217a514
data_ov25_0217a514: ; 0x0217a514
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov25_0217a518
data_ov25_0217a518: ; 0x0217a518
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov25_0217a51c
data_ov25_0217a51c: ; 0x0217a51c
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov25_0217a520
data_ov25_0217a520: ; 0x0217a520
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov25_0217a524
data_ov25_0217a524: ; 0x0217a524
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov25_0217a528
data_ov25_0217a528: ; 0x0217a528
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov25_0217a52c
data_ov25_0217a52c: ; 0x0217a52c
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov25_0217a530
data_ov25_0217a530: ; 0x0217a530
.byte 0x04, 0x30, 0x0c, 0x02
.global data_ov25_0217a534
data_ov25_0217a534: ; 0x0217a534
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov25_0217a538
data_ov25_0217a538: ; 0x0217a538
.byte 0x48, 0x1c, 0x0c, 0x02
.global data_ov25_0217a53c
data_ov25_0217a53c: ; 0x0217a53c
.byte 0x50, 0x1c, 0x0c, 0x02
.global data_ov25_0217a540
data_ov25_0217a540: ; 0x0217a540
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov25_0217a544
data_ov25_0217a544: ; 0x0217a544
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov25_0217a548
data_ov25_0217a548: ; 0x0217a548
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov25_0217a54c
data_ov25_0217a54c: ; 0x0217a54c
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov25_0217a550
data_ov25_0217a550: ; 0x0217a550
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov25_0217a554
data_ov25_0217a554: ; 0x0217a554
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov25_0217a558
data_ov25_0217a558: ; 0x0217a558
.byte 0x10, 0x19, 0x0c, 0x02
.global data_ov25_0217a55c
data_ov25_0217a55c: ; 0x0217a55c
.byte 0x14, 0x19, 0x0c, 0x02
.global data_ov25_0217a560
data_ov25_0217a560: ; 0x0217a560
.byte 0x1c, 0x19, 0x0c, 0x02
.global data_ov25_0217a564
data_ov25_0217a564: ; 0x0217a564
.byte 0x24, 0x19, 0x0c, 0x02
.global data_ov25_0217a568
data_ov25_0217a568: ; 0x0217a568
.byte 0x2c, 0x19, 0x0c, 0x02
.global data_ov25_0217a56c
data_ov25_0217a56c: ; 0x0217a56c
.byte 0x28, 0x19, 0x0c, 0x02
.global data_ov25_0217a570
data_ov25_0217a570: ; 0x0217a570
.byte 0x34, 0x19, 0x0c, 0x02
.global data_ov25_0217a574
data_ov25_0217a574: ; 0x0217a574
.byte 0x38, 0x19, 0x0c, 0x02
.global data_ov25_0217a578
data_ov25_0217a578: ; 0x0217a578
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov25_0217a57c
data_ov25_0217a57c: ; 0x0217a57c
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov25_0217a580
data_ov25_0217a580: ; 0x0217a580
.byte 0x48, 0x19, 0x0c, 0x02
.global data_ov25_0217a584
data_ov25_0217a584: ; 0x0217a584
.byte 0x50, 0x19, 0x0c, 0x02
.global data_ov25_0217a588
data_ov25_0217a588: ; 0x0217a588
.byte 0x54, 0x19, 0x0c, 0x02
.global data_ov25_0217a58c
data_ov25_0217a58c: ; 0x0217a58c
.byte 0x58, 0x19, 0x0c, 0x02
.global data_ov25_0217a590
data_ov25_0217a590: ; 0x0217a590
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov25_0217a594
data_ov25_0217a594: ; 0x0217a594
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov25_0217a598
data_ov25_0217a598: ; 0x0217a598
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov25_0217a59c
data_ov25_0217a59c: ; 0x0217a59c
.byte 0xfc, 0x31, 0x0c, 0x02
.global data_ov25_0217a5a0
data_ov25_0217a5a0: ; 0x0217a5a0
.byte 0x2c, 0x32, 0x0c, 0x02
.global data_ov25_0217a5a4
data_ov25_0217a5a4: ; 0x0217a5a4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a5a8
data_ov25_0217a5a8: ; 0x0217a5a8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a5ac
data_ov25_0217a5ac: ; 0x0217a5ac
.byte 0xed, 0x9a, 0x0a, 0x02
.global data_ov25_0217a5b0
data_ov25_0217a5b0: ; 0x0217a5b0
.byte 0xf9, 0x9a, 0x0a, 0x02
.global data_ov25_0217a5b4
data_ov25_0217a5b4: ; 0x0217a5b4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a5b8
data_ov25_0217a5b8: ; 0x0217a5b8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a5bc
data_ov25_0217a5bc: ; 0x0217a5bc
.byte 0x4d, 0x9b, 0x0a, 0x02
.global data_ov25_0217a5c0
data_ov25_0217a5c0: ; 0x0217a5c0
.byte 0x59, 0x9b, 0x0a, 0x02
.global data_ov25_0217a5c4
data_ov25_0217a5c4: ; 0x0217a5c4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a5c8
data_ov25_0217a5c8: ; 0x0217a5c8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a5cc
data_ov25_0217a5cc: ; 0x0217a5cc
.byte 0x5c, 0x88, 0x17, 0x02
.global data_ov25_0217a5d0
data_ov25_0217a5d0: ; 0x0217a5d0
.byte 0x7c, 0x88, 0x17, 0x02
.global data_ov25_0217a5d4
data_ov25_0217a5d4: ; 0x0217a5d4
.byte 0xa4, 0x88, 0x17, 0x02
.global data_ov25_0217a5d8
data_ov25_0217a5d8: ; 0x0217a5d8
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov25_0217a5dc
data_ov25_0217a5dc: ; 0x0217a5dc
.byte 0x40, 0x17, 0x0c, 0x02
.global data_ov25_0217a5e0
data_ov25_0217a5e0: ; 0x0217a5e0
.byte 0xb8, 0x17, 0x0c, 0x02
.global data_ov25_0217a5e4
data_ov25_0217a5e4: ; 0x0217a5e4
.byte 0xbc, 0x17, 0x0c, 0x02
.global data_ov25_0217a5e8
data_ov25_0217a5e8: ; 0x0217a5e8
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov25_0217a5ec
data_ov25_0217a5ec: ; 0x0217a5ec
.byte 0xc0, 0x89, 0x17, 0x02
.global data_ov25_0217a5f0
data_ov25_0217a5f0: ; 0x0217a5f0
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov25_0217a5f4
data_ov25_0217a5f4: ; 0x0217a5f4
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov25_0217a5f8
data_ov25_0217a5f8: ; 0x0217a5f8
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov25_0217a5fc
data_ov25_0217a5fc: ; 0x0217a5fc
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov25_0217a600
data_ov25_0217a600: ; 0x0217a600
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov25_0217a604
data_ov25_0217a604: ; 0x0217a604
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov25_0217a608
data_ov25_0217a608: ; 0x0217a608
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov25_0217a60c
data_ov25_0217a60c: ; 0x0217a60c
.byte 0x04, 0x30, 0x0c, 0x02
.global data_ov25_0217a610
data_ov25_0217a610: ; 0x0217a610
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov25_0217a614
data_ov25_0217a614: ; 0x0217a614
.byte 0x48, 0x1c, 0x0c, 0x02
.global data_ov25_0217a618
data_ov25_0217a618: ; 0x0217a618
.byte 0x50, 0x1c, 0x0c, 0x02
.global data_ov25_0217a61c
data_ov25_0217a61c: ; 0x0217a61c
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov25_0217a620
data_ov25_0217a620: ; 0x0217a620
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov25_0217a624
data_ov25_0217a624: ; 0x0217a624
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov25_0217a628
data_ov25_0217a628: ; 0x0217a628
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov25_0217a62c
data_ov25_0217a62c: ; 0x0217a62c
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov25_0217a630
data_ov25_0217a630: ; 0x0217a630
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov25_0217a634
data_ov25_0217a634: ; 0x0217a634
.byte 0x10, 0x19, 0x0c, 0x02
.global data_ov25_0217a638
data_ov25_0217a638: ; 0x0217a638
.byte 0x14, 0x19, 0x0c, 0x02
.global data_ov25_0217a63c
data_ov25_0217a63c: ; 0x0217a63c
.byte 0x1c, 0x19, 0x0c, 0x02
.global data_ov25_0217a640
data_ov25_0217a640: ; 0x0217a640
.byte 0x24, 0x19, 0x0c, 0x02
.global data_ov25_0217a644
data_ov25_0217a644: ; 0x0217a644
.byte 0x2c, 0x19, 0x0c, 0x02
.global data_ov25_0217a648
data_ov25_0217a648: ; 0x0217a648
.byte 0x28, 0x19, 0x0c, 0x02
.global data_ov25_0217a64c
data_ov25_0217a64c: ; 0x0217a64c
.byte 0x34, 0x19, 0x0c, 0x02
.global data_ov25_0217a650
data_ov25_0217a650: ; 0x0217a650
.byte 0x38, 0x19, 0x0c, 0x02
.global data_ov25_0217a654
data_ov25_0217a654: ; 0x0217a654
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov25_0217a658
data_ov25_0217a658: ; 0x0217a658
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov25_0217a65c
data_ov25_0217a65c: ; 0x0217a65c
.byte 0x48, 0x19, 0x0c, 0x02
.global data_ov25_0217a660
data_ov25_0217a660: ; 0x0217a660
.byte 0x50, 0x19, 0x0c, 0x02
.global data_ov25_0217a664
data_ov25_0217a664: ; 0x0217a664
.byte 0x54, 0x19, 0x0c, 0x02
.global data_ov25_0217a668
data_ov25_0217a668: ; 0x0217a668
.byte 0x58, 0x19, 0x0c, 0x02
.global data_ov25_0217a66c
data_ov25_0217a66c: ; 0x0217a66c
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov25_0217a670
data_ov25_0217a670: ; 0x0217a670
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov25_0217a674
data_ov25_0217a674: ; 0x0217a674
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov25_0217a678
data_ov25_0217a678: ; 0x0217a678
.byte 0xfc, 0x31, 0x0c, 0x02
.global data_ov25_0217a67c
data_ov25_0217a67c: ; 0x0217a67c
.byte 0x2c, 0x32, 0x0c, 0x02
.global data_ov25_0217a680
data_ov25_0217a680: ; 0x0217a680
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a684
data_ov25_0217a684: ; 0x0217a684
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a688
data_ov25_0217a688: ; 0x0217a688
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a68c
data_ov25_0217a68c: ; 0x0217a68c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a690
data_ov25_0217a690: ; 0x0217a690
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a694
data_ov25_0217a694: ; 0x0217a694
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a698
data_ov25_0217a698: ; 0x0217a698
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a69c
data_ov25_0217a69c: ; 0x0217a69c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6a0
data_ov25_0217a6a0: ; 0x0217a6a0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6a4
data_ov25_0217a6a4: ; 0x0217a6a4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6a8
data_ov25_0217a6a8: ; 0x0217a6a8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6ac
data_ov25_0217a6ac: ; 0x0217a6ac
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6b0
data_ov25_0217a6b0: ; 0x0217a6b0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6b4
data_ov25_0217a6b4: ; 0x0217a6b4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6b8
data_ov25_0217a6b8: ; 0x0217a6b8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6bc
data_ov25_0217a6bc: ; 0x0217a6bc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6c0
data_ov25_0217a6c0: ; 0x0217a6c0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6c4
data_ov25_0217a6c4: ; 0x0217a6c4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6c8
data_ov25_0217a6c8: ; 0x0217a6c8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6cc
data_ov25_0217a6cc: ; 0x0217a6cc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6d0
data_ov25_0217a6d0: ; 0x0217a6d0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6d4
data_ov25_0217a6d4: ; 0x0217a6d4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6d8
data_ov25_0217a6d8: ; 0x0217a6d8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6dc
data_ov25_0217a6dc: ; 0x0217a6dc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6e0
data_ov25_0217a6e0: ; 0x0217a6e0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6e4
data_ov25_0217a6e4: ; 0x0217a6e4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6e8
data_ov25_0217a6e8: ; 0x0217a6e8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6ec
data_ov25_0217a6ec: ; 0x0217a6ec
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6f0
data_ov25_0217a6f0: ; 0x0217a6f0
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6f4
data_ov25_0217a6f4: ; 0x0217a6f4
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6f8
data_ov25_0217a6f8: ; 0x0217a6f8
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a6fc
data_ov25_0217a6fc: ; 0x0217a6fc
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a700
data_ov25_0217a700: ; 0x0217a700
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a704
data_ov25_0217a704: ; 0x0217a704
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a708
data_ov25_0217a708: ; 0x0217a708
.byte 0xd8, 0x92, 0x17, 0x02
.global data_ov25_0217a70c
data_ov25_0217a70c: ; 0x0217a70c
.byte 0x88, 0x92, 0x17, 0x02
.global data_ov25_0217a710
data_ov25_0217a710: ; 0x0217a710
.byte 0x00, 0xaa, 0x0c, 0x02
.global data_ov25_0217a714
data_ov25_0217a714: ; 0x0217a714
.byte 0x3c, 0x17, 0x0c, 0x02
.global data_ov25_0217a718
data_ov25_0217a718: ; 0x0217a718
.byte 0xe8, 0xa7, 0x0c, 0x02
.global data_ov25_0217a71c
data_ov25_0217a71c: ; 0x0217a71c
.byte 0x28, 0xaa, 0x0c, 0x02
.global data_ov25_0217a720
data_ov25_0217a720: ; 0x0217a720
.byte 0x30, 0xad, 0x0c, 0x02
.global data_ov25_0217a724
data_ov25_0217a724: ; 0x0217a724
.byte 0xd4, 0x17, 0x0c, 0x02
.global data_ov25_0217a728
data_ov25_0217a728: ; 0x0217a728
.byte 0xc0, 0xb1, 0x0c, 0x02
.global data_ov25_0217a72c
data_ov25_0217a72c: ; 0x0217a72c
.byte 0x44, 0x17, 0x0c, 0x02
.global data_ov25_0217a730
data_ov25_0217a730: ; 0x0217a730
.byte 0x48, 0x17, 0x0c, 0x02
.global data_ov25_0217a734
data_ov25_0217a734: ; 0x0217a734
.byte 0xa8, 0x17, 0x0c, 0x02
.global data_ov25_0217a738
data_ov25_0217a738: ; 0x0217a738
.byte 0xb0, 0x17, 0x0c, 0x02
.global data_ov25_0217a73c
data_ov25_0217a73c: ; 0x0217a73c
.byte 0x4c, 0x17, 0x0c, 0x02
.global data_ov25_0217a740
data_ov25_0217a740: ; 0x0217a740
.byte 0x7c, 0x17, 0x0c, 0x02
.global data_ov25_0217a744
data_ov25_0217a744: ; 0x0217a744
.byte 0xe4, 0x27, 0x0c, 0x02
.global data_ov25_0217a748
data_ov25_0217a748: ; 0x0217a748
.byte 0x04, 0x30, 0x0c, 0x02
.global data_ov25_0217a74c
data_ov25_0217a74c: ; 0x0217a74c
.byte 0x44, 0x27, 0x0c, 0x02
.global data_ov25_0217a750
data_ov25_0217a750: ; 0x0217a750
.byte 0xac, 0x8e, 0x17, 0x02
.global data_ov25_0217a754
data_ov25_0217a754: ; 0x0217a754
.byte 0x40, 0xa8, 0x0c, 0x02
.global data_ov25_0217a758
data_ov25_0217a758: ; 0x0217a758
.byte 0x0c, 0x31, 0x0c, 0x02
.global data_ov25_0217a75c
data_ov25_0217a75c: ; 0x0217a75c
.byte 0x14, 0x31, 0x0c, 0x02
.global data_ov25_0217a760
data_ov25_0217a760: ; 0x0217a760
.byte 0xa8, 0x18, 0x0c, 0x02
.global data_ov25_0217a764
data_ov25_0217a764: ; 0x0217a764
.byte 0xc4, 0x18, 0x0c, 0x02
.global data_ov25_0217a768
data_ov25_0217a768: ; 0x0217a768
.byte 0xfc, 0x18, 0x0c, 0x02
.global data_ov25_0217a76c
data_ov25_0217a76c: ; 0x0217a76c
.byte 0x04, 0x19, 0x0c, 0x02
.global data_ov25_0217a770
data_ov25_0217a770: ; 0x0217a770
.byte 0x10, 0x19, 0x0c, 0x02
.global data_ov25_0217a774
data_ov25_0217a774: ; 0x0217a774
.byte 0x14, 0x19, 0x0c, 0x02
.global data_ov25_0217a778
data_ov25_0217a778: ; 0x0217a778
.byte 0x1c, 0x19, 0x0c, 0x02
.global data_ov25_0217a77c
data_ov25_0217a77c: ; 0x0217a77c
.byte 0x24, 0x19, 0x0c, 0x02
.global data_ov25_0217a780
data_ov25_0217a780: ; 0x0217a780
.byte 0x2c, 0x19, 0x0c, 0x02
.global data_ov25_0217a784
data_ov25_0217a784: ; 0x0217a784
.byte 0x28, 0x19, 0x0c, 0x02
.global data_ov25_0217a788
data_ov25_0217a788: ; 0x0217a788
.byte 0x34, 0x19, 0x0c, 0x02
.global data_ov25_0217a78c
data_ov25_0217a78c: ; 0x0217a78c
.byte 0x38, 0x19, 0x0c, 0x02
.global data_ov25_0217a790
data_ov25_0217a790: ; 0x0217a790
.byte 0x3c, 0x19, 0x0c, 0x02
.global data_ov25_0217a794
data_ov25_0217a794: ; 0x0217a794
.byte 0x40, 0x19, 0x0c, 0x02
.global data_ov25_0217a798
data_ov25_0217a798: ; 0x0217a798
.byte 0x48, 0x19, 0x0c, 0x02
.global data_ov25_0217a79c
data_ov25_0217a79c: ; 0x0217a79c
.byte 0x50, 0x19, 0x0c, 0x02
.global data_ov25_0217a7a0
data_ov25_0217a7a0: ; 0x0217a7a0
.byte 0x54, 0x19, 0x0c, 0x02
.global data_ov25_0217a7a4
data_ov25_0217a7a4: ; 0x0217a7a4
.byte 0x58, 0x19, 0x0c, 0x02
.global data_ov25_0217a7a8
data_ov25_0217a7a8: ; 0x0217a7a8
.byte 0x6c, 0x1b, 0x0c, 0x02
.global data_ov25_0217a7ac
data_ov25_0217a7ac: ; 0x0217a7ac
.byte 0xb4, 0x1b, 0x0c, 0x02
.global data_ov25_0217a7b0
data_ov25_0217a7b0: ; 0x0217a7b0
.byte 0xf8, 0x1b, 0x0c, 0x02
.global data_ov25_0217a7b4
data_ov25_0217a7b4: ; 0x0217a7b4
.byte 0xfc, 0x31, 0x0c, 0x02
.global data_ov25_0217a7b8
data_ov25_0217a7b8: ; 0x0217a7b8
.byte 0x2c, 0x32, 0x0c, 0x02
.global data_ov25_0217a7bc
data_ov25_0217a7bc: ; 0x0217a7bc
.byte 0xf4, 0xac, 0x0c, 0x02
.global data_ov25_0217a7c0
data_ov25_0217a7c0: ; 0x0217a7c0
.byte 0x5c, 0x8c, 0x17, 0x02
.global data_ov25_0217a7c4
data_ov25_0217a7c4: ; 0x0217a7c4
.byte 0xe8, 0x8e, 0x17, 0x02
.global data_ov25_0217a7c8
data_ov25_0217a7c8: ; 0x0217a7c8
.byte 0xac, 0x91, 0x17, 0x02
.global data_ov25_0217a7cc
data_ov25_0217a7cc: ; 0x0217a7cc
.byte 0xd8, 0x8e, 0x17, 0x02
.global data_ov25_0217a7d0
data_ov25_0217a7d0: ; 0x0217a7d0
.byte 0xf8, 0xae, 0x0c, 0x02
.global data_ov25_0217a7d4
data_ov25_0217a7d4: ; 0x0217a7d4
.byte 0xfc, 0xae, 0x0c, 0x02
.global data_ov25_0217a7d8
data_ov25_0217a7d8: ; 0x0217a7d8
.byte 0xb8, 0xaf, 0x0c, 0x02
.global data_ov25_0217a7dc
data_ov25_0217a7dc: ; 0x0217a7dc
.byte 0xbc, 0xaf, 0x0c, 0x02
.global data_ov25_0217a7e0
data_ov25_0217a7e0: ; 0x0217a7e0
.byte 0xd0, 0xaf, 0x0c, 0x02
.global data_ov25_0217a7e4
data_ov25_0217a7e4: ; 0x0217a7e4
.byte 0x58, 0xb0, 0x0c, 0x02
.global data_ov25_0217a7e8
data_ov25_0217a7e8: ; 0x0217a7e8
.byte 0x6c, 0xb0, 0x0c, 0x02
.global data_ov25_0217a7ec
data_ov25_0217a7ec: ; 0x0217a7ec
.byte 0x80, 0xb0, 0x0c, 0x02
.global data_ov25_0217a7f0
data_ov25_0217a7f0: ; 0x0217a7f0
.byte 0x0c, 0xb1, 0x0c, 0x02
.global data_ov25_0217a7f4
data_ov25_0217a7f4: ; 0x0217a7f4
.byte 0x20, 0xb1, 0x0c, 0x02
.global data_ov25_0217a7f8
data_ov25_0217a7f8: ; 0x0217a7f8
.byte 0x2c, 0xb1, 0x0c, 0x02
.global data_ov25_0217a7fc
data_ov25_0217a7fc: ; 0x0217a7fc
.byte 0x3c, 0xb1, 0x0c, 0x02
.global data_ov25_0217a800
data_ov25_0217a800: ; 0x0217a800
.byte 0x50, 0xc1, 0x0c, 0x02
.global data_ov25_0217a804
data_ov25_0217a804: ; 0x0217a804
.byte 0x5c, 0xc1, 0x0c, 0x02
.global data_ov25_0217a808
data_ov25_0217a808: ; 0x0217a808
.byte 0x90, 0xc4, 0x0c, 0x02
.global data_ov25_0217a80c
data_ov25_0217a80c: ; 0x0217a80c
.byte 0x24, 0xc5, 0x0c, 0x02
.global data_ov25_0217a810
data_ov25_0217a810: ; 0x0217a810
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a814
data_ov25_0217a814: ; 0x0217a814
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a818
data_ov25_0217a818: ; 0x0217a818
.byte 0x34, 0x5d, 0x0c, 0x02
.global data_ov25_0217a81c
data_ov25_0217a81c: ; 0x0217a81c
.byte 0x38, 0x8b, 0x17, 0x02
.global data_ov25_0217a820
data_ov25_0217a820: ; 0x0217a820
.byte 0x58, 0x5e, 0x0c, 0x02
.global data_ov25_0217a824
data_ov25_0217a824: ; 0x0217a824
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a828
data_ov25_0217a828: ; 0x0217a828
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a82c
data_ov25_0217a82c: ; 0x0217a82c
.byte 0x24, 0x8b, 0x17, 0x02
.global data_ov25_0217a830
data_ov25_0217a830: ; 0x0217a830
.byte 0x20, 0x93, 0x17, 0x02
.global data_ov25_0217a834
data_ov25_0217a834: ; 0x0217a834
.byte 0x0c, 0x96, 0x0a, 0x02
.global data_ov25_0217a838
data_ov25_0217a838: ; 0x0217a838
.byte 0x14, 0x96, 0x0a, 0x02
.global data_ov25_0217a83c
data_ov25_0217a83c: ; 0x0217a83c
.byte 0x50, 0x96, 0x0a, 0x02
.global data_ov25_0217a840
data_ov25_0217a840: ; 0x0217a840
.byte 0xd4, 0x96, 0x0a, 0x02
.global data_ov25_0217a844
data_ov25_0217a844: ; 0x0217a844
.byte 0x40, 0x97, 0x0a, 0x02
.global data_ov25_0217a848
data_ov25_0217a848: ; 0x0217a848
.byte 0x64, 0x97, 0x0a, 0x02
.global data_ov25_0217a84c
data_ov25_0217a84c: ; 0x0217a84c
.byte 0xd0, 0x97, 0x0a, 0x02
.global data_ov25_0217a850
data_ov25_0217a850: ; 0x0217a850
.byte 0xe0, 0x97, 0x0a, 0x02
.global data_ov25_0217a854
data_ov25_0217a854: ; 0x0217a854
.byte 0xf8, 0x97, 0x0a, 0x02
.global data_ov25_0217a858
data_ov25_0217a858: ; 0x0217a858
.byte 0x64, 0x98, 0x0a, 0x02
.global data_ov25_0217a85c
data_ov25_0217a85c: ; 0x0217a85c
.byte 0xbc, 0x98, 0x0a, 0x02
.global data_ov25_0217a860
data_ov25_0217a860: ; 0x0217a860
.byte 0x90, 0x98, 0x0a, 0x02
.global data_ov25_0217a864
data_ov25_0217a864: ; 0x0217a864
.byte 0x68, 0x99, 0x0a, 0x02
.global data_ov25_0217a868
data_ov25_0217a868: ; 0x0217a868
.byte 0x48, 0x8a, 0x17, 0x02
.global data_ov25_0217a86c
data_ov25_0217a86c: ; 0x0217a86c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a870
data_ov25_0217a870: ; 0x0217a870
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov25_0217a874
data_ov25_0217a874: ; 0x0217a874
.byte 0x6d, 0x9b, 0x0a, 0x02
.global data_ov25_0217a878
data_ov25_0217a878: ; 0x0217a878
.byte 0x79, 0x9b, 0x0a, 0x02
.global data_ov25_0217a87c
data_ov25_0217a87c: ; 0x0217a87c
.byte 0x00, 0x00, 0x00, 0x00
; 0x0217a880
.bss
.global data_ov25_0217a880
data_ov25_0217a880:
.space 0x4
.global data_ov25_0217a884
data_ov25_0217a884:
.space 0x4
.global data_ov25_0217a888
data_ov25_0217a888:
.space 0x4
.global data_ov25_0217a88c
data_ov25_0217a88c:
.space 0x4
.global data_ov25_0217a890
data_ov25_0217a890:
.space 0x4
.global data_ov25_0217a894
data_ov25_0217a894:
.space 0x4
.global data_ov25_0217a898
data_ov25_0217a898:
.space 0x4
.global data_ov25_0217a89c
data_ov25_0217a89c:
.space 0x4
.global data_ov25_0217a8a0
data_ov25_0217a8a0:
.space 0x4
.global data_ov25_0217a8a4
data_ov25_0217a8a4:
.space 0x4
.global data_ov25_0217a8a8
data_ov25_0217a8a8:
.space 0x4
.global data_ov25_0217a8ac
data_ov25_0217a8ac:
.space 0x4
.global data_ov25_0217a8b0
data_ov25_0217a8b0:
.space 0x4
.global data_ov25_0217a8b4
data_ov25_0217a8b4:
.space 0x4
.global data_ov25_0217a8b8
data_ov25_0217a8b8:
.space 0x4
.global data_ov25_0217a8bc
data_ov25_0217a8bc:
.space 0x4
.global data_ov25_0217a8c0
data_ov25_0217a8c0:
.space 0x4
.global data_ov25_0217a8c4
data_ov25_0217a8c4:
.space 0x4
.global data_ov25_0217a8c8
data_ov25_0217a8c8:
.space 0x4
.global data_ov25_0217a8cc
data_ov25_0217a8cc:
.space 0x4
.global data_ov25_0217a8d0
data_ov25_0217a8d0:
.space 0x4
.global data_ov25_0217a8d4
data_ov25_0217a8d4:
.space 0x4
.global data_ov25_0217a8d8
data_ov25_0217a8d8:
.space 0x4
.global data_ov25_0217a8dc
data_ov25_0217a8dc:
.space 0x4
.global data_ov25_0217a8e0
data_ov25_0217a8e0:
.space 0x4
.global data_ov25_0217a8e4
data_ov25_0217a8e4:
.space 0x4
.global data_ov25_0217a8e8
data_ov25_0217a8e8:
.space 0x4
.global data_ov25_0217a8ec
data_ov25_0217a8ec:
.space 0x4
.global data_ov25_0217a8f0
data_ov25_0217a8f0:
.space 0x4
.global data_ov25_0217a8f4
data_ov25_0217a8f4:
.space 0x4
.global data_ov25_0217a8f8
data_ov25_0217a8f8:
.space 0x4
.global data_ov25_0217a8fc
data_ov25_0217a8fc:
.space 0x4
.global data_ov25_0217a900
data_ov25_0217a900:
.space 0x4
.global data_ov25_0217a904
data_ov25_0217a904:
.space 0x4
.global data_ov25_0217a908
data_ov25_0217a908:
.space 0x4
.global data_ov25_0217a90c
data_ov25_0217a90c:
.space 0x4
.global data_ov25_0217a910
data_ov25_0217a910:
.space 0x4
.global data_ov25_0217a914
data_ov25_0217a914:
.space 0x4
.global data_ov25_0217a918
data_ov25_0217a918:
.space 0x4
.global data_ov25_0217a91c
data_ov25_0217a91c:
.space 0x4
.global data_ov25_0217a920
data_ov25_0217a920:
.space 0x4
.global data_ov25_0217a924
data_ov25_0217a924:
.space 0x4
.global data_ov25_0217a928
data_ov25_0217a928:
.space 0x4
.global data_ov25_0217a92c
data_ov25_0217a92c:
.space 0x4
.global data_ov25_0217a930
data_ov25_0217a930:
.space 0x4
.global data_ov25_0217a934
data_ov25_0217a934:
.space 0x4
.global data_ov25_0217a938
data_ov25_0217a938:
.space 0x4
.global data_ov25_0217a93c
data_ov25_0217a93c:
.space 0x4
.global data_ov25_0217a940
data_ov25_0217a940:
.space 0x4
.global data_ov25_0217a944
data_ov25_0217a944:
.space 0x4
.global data_ov25_0217a948
data_ov25_0217a948:
.space 0x4
.global data_ov25_0217a94c
data_ov25_0217a94c:
.space 0x4
.global data_ov25_0217a950
data_ov25_0217a950:
.space 0x4
.global data_ov25_0217a954
data_ov25_0217a954:
.space 0x4
.global data_ov25_0217a958
data_ov25_0217a958:
.space 0x4
.global data_ov25_0217a95c
data_ov25_0217a95c:
.space 0x4
.global data_ov25_0217a960
data_ov25_0217a960:
.space 0x4
.global data_ov25_0217a964
data_ov25_0217a964:
.space 0x4
.global data_ov25_0217a968
data_ov25_0217a968:
.space 0x4
.global data_ov25_0217a96c
data_ov25_0217a96c:
.space 0x4
.global data_ov25_0217a970
data_ov25_0217a970:
.space 0x4
.global data_ov25_0217a974
data_ov25_0217a974:
.space 0x4
.global data_ov25_0217a978
data_ov25_0217a978:
.space 0x4
.global data_ov25_0217a97c
data_ov25_0217a97c:
.space 0x4
.global data_ov25_0217a980
data_ov25_0217a980:
.space 0x4
.global data_ov25_0217a984
data_ov25_0217a984:
.space 0x4
.global data_ov25_0217a988
data_ov25_0217a988:
.space 0x4
.global data_ov25_0217a98c
data_ov25_0217a98c:
.space 0x4
.global data_ov25_0217a990
data_ov25_0217a990:
.space 0x4
.global data_ov25_0217a994
data_ov25_0217a994:
.space 0x4
.global data_ov25_0217a998
data_ov25_0217a998:
.space 0x4
.global data_ov25_0217a99c
data_ov25_0217a99c:
.space 0x4
.global data_ov25_0217a9a0
data_ov25_0217a9a0:
.space 0x4
.global data_ov25_0217a9a4
data_ov25_0217a9a4:
.space 0x4
.global data_ov25_0217a9a8
data_ov25_0217a9a8:
.space 0x4
.global data_ov25_0217a9ac
data_ov25_0217a9ac:
.space 0x4
.global data_ov25_0217a9b0
data_ov25_0217a9b0:
.space 0x4
.global data_ov25_0217a9b4
data_ov25_0217a9b4:
.space 0x4
.global data_ov25_0217a9b8
data_ov25_0217a9b8:
.space 0x4
.global data_ov25_0217a9bc
data_ov25_0217a9bc:
.space 0x4
.global data_ov25_0217a9c0
data_ov25_0217a9c0:
.space 0x4
.global data_ov25_0217a9c4
data_ov25_0217a9c4:
.space 0x4
.global data_ov25_0217a9c8
data_ov25_0217a9c8:
.space 0x4
.global data_ov25_0217a9cc
data_ov25_0217a9cc:
.space 0x4
.global data_ov25_0217a9d0
data_ov25_0217a9d0:
.space 0x4
.global data_ov25_0217a9d4
data_ov25_0217a9d4:
.space 0x4
.global data_ov25_0217a9d8
data_ov25_0217a9d8:
.space 0x4
.global data_ov25_0217a9dc
data_ov25_0217a9dc:
.space 0x4
.global data_ov25_0217a9e0
data_ov25_0217a9e0:
.space 0x4
.global data_ov25_0217a9e4
data_ov25_0217a9e4:
.space 0x4
.global data_ov25_0217a9e8
data_ov25_0217a9e8:
.space 0x4
.global data_ov25_0217a9ec
data_ov25_0217a9ec:
.space 0x4
.global data_ov25_0217a9f0
data_ov25_0217a9f0:
.space 0x4
.global data_ov25_0217a9f4
data_ov25_0217a9f4:
.space 0x4
.global data_ov25_0217a9f8
data_ov25_0217a9f8:
.space 0x4
.global data_ov25_0217a9fc
data_ov25_0217a9fc:
.space 0x4
.global data_ov25_0217aa00
data_ov25_0217aa00:
.space 0x4
.global data_ov25_0217aa04
data_ov25_0217aa04:
.space 0x4
.global data_ov25_0217aa08
data_ov25_0217aa08:
.space 0x4
.global data_ov25_0217aa0c
data_ov25_0217aa0c:
.space 0x4
.global data_ov25_0217aa10
data_ov25_0217aa10:
.space 0x4
.global data_ov25_0217aa14
data_ov25_0217aa14:
.space 0x4
.global data_ov25_0217aa18
data_ov25_0217aa18:
.space 0x4
.global data_ov25_0217aa1c
data_ov25_0217aa1c:
.space 0x4