mirror of
https://github.com/zeldaret/ph
synced 2026-05-24 07:10:52 -04:00
16421 lines
338 KiB
ArmAsm
16421 lines
338 KiB
ArmAsm
.include "macros/function.inc"
|
|
.include "global.inc"
|
|
|
|
.text
|
|
|
|
.global func_ov38_0217bd80
|
|
arm_func_start func_ov38_0217bd80
|
|
func_ov38_0217bd80: ; 0x0217bd80
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _0217bdac ; =data_027e0fe0
|
|
ldr r0, _0217bdb0 ; =0x000010b0
|
|
ldr r1, [r1]
|
|
mov r2, #4
|
|
ldr r1, [r1]
|
|
bl func_0202e9dc
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl func_ov38_0217c5d4
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217bd80
|
|
_0217bdac: .word data_027e0fe0
|
|
_0217bdb0: .word 0x000010b0
|
|
|
|
.global func_ov38_0217bdb4
|
|
arm_func_start func_ov38_0217bdb4
|
|
func_ov38_0217bdb4: ; 0x0217bdb4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r2, [r4, #4]
|
|
ldr r1, [r4, #0x10]
|
|
mov r0, #0x18
|
|
mla r3, r1, r0, r2
|
|
ldr r1, [r3, #0xc]
|
|
ldr r0, [r4]
|
|
tst r1, #1
|
|
add r0, r0, r1, asr #1
|
|
ldreq r1, [r3, #8]
|
|
beq _0217bdf0
|
|
ldr r2, [r0]
|
|
ldr r1, [r3, #8]
|
|
ldr r1, [r2, r1]
|
|
_0217bdf0:
|
|
blx r1
|
|
ldr r0, [r4, #0xc]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0xc]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov38_0217bdb4
|
|
|
|
.global func_ov38_0217be04
|
|
arm_func_start func_ov38_0217be04
|
|
func_ov38_0217be04: ; 0x0217be04
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
str r1, [r4, #0x10]
|
|
str r1, [r4, #0x14]
|
|
ldr r1, [r4, #0x10]
|
|
mov r0, #0x18
|
|
mul r0, r1, r0
|
|
ldr r1, [r4, #4]
|
|
ldr r2, [r1, r0]
|
|
add r3, r1, r0
|
|
cmp r2, #0
|
|
beq _0217be54
|
|
ldr r1, [r3, #4]
|
|
ldr r0, [r4]
|
|
tst r1, #1
|
|
add r0, r0, r1, asr #1
|
|
ldrne r1, [r0]
|
|
ldrne r1, [r1, r2]
|
|
ldreq r1, [r3]
|
|
blx r1
|
|
_0217be54:
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov38_0217be04
|
|
|
|
.global func_ov38_0217be60
|
|
arm_func_start func_ov38_0217be60
|
|
func_ov38_0217be60: ; 0x0217be60
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r2, [r5, #0x10]
|
|
mov r4, r1
|
|
cmp r2, r4
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [r5, #4]
|
|
mov r0, #0x18
|
|
mla r3, r2, r0, r1
|
|
ldr r0, [r3, #0x10]
|
|
cmp r0, #0
|
|
beq _0217beb8
|
|
ldr r1, [r3, #0x14]
|
|
ldr r0, [r5]
|
|
tst r1, #1
|
|
add r0, r0, r1, asr #1
|
|
ldreq r1, [r3, #0x10]
|
|
beq _0217beb4
|
|
ldr r2, [r0]
|
|
ldr r1, [r3, #0x10]
|
|
ldr r1, [r2, r1]
|
|
_0217beb4:
|
|
blx r1
|
|
_0217beb8:
|
|
mov r0, #0x18
|
|
ldr r1, [r5, #0x10]
|
|
mul r0, r4, r0
|
|
str r1, [r5, #0x14]
|
|
str r4, [r5, #0x10]
|
|
ldr r1, [r5, #4]
|
|
ldr r2, [r1, r0]
|
|
add r3, r1, r0
|
|
cmp r2, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [r3, #4]
|
|
ldr r0, [r5]
|
|
tst r1, #1
|
|
add r0, r0, r1, asr #1
|
|
ldrne r1, [r0]
|
|
ldrne r1, [r1, r2]
|
|
ldreq r1, [r3]
|
|
blx r1
|
|
mov r0, #0
|
|
str r0, [r5, #0xc]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end func_ov38_0217be60
|
|
|
|
.global func_ov38_0217bf0c
|
|
arm_func_start func_ov38_0217bf0c
|
|
func_ov38_0217bf0c: ; 0x0217bf0c
|
|
stmdb sp!, {r4, lr}
|
|
ldr r3, _0217bf3c ; =data_027e0c68
|
|
mvn ip, #0
|
|
ldr r4, [r3, #0x18]
|
|
strb r2, [r4, #0x39]
|
|
strb ip, [r4, #0x38]
|
|
bl func_ov38_0217bf40
|
|
mov r2, r0
|
|
ldr r0, _0217bf3c ; =data_027e0c68
|
|
mov r1, r4
|
|
bl func_02036ce4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217bf0c
|
|
_0217bf3c: .word data_027e0c68
|
|
|
|
.global func_ov38_0217bf40
|
|
arm_func_start func_ov38_0217bf40
|
|
func_ov38_0217bf40: ; 0x0217bf40
|
|
orr r0, r1, r0, lsl #16
|
|
bx lr
|
|
arm_func_end func_ov38_0217bf40
|
|
|
|
.global func_ov38_0217bf48
|
|
arm_func_start func_ov38_0217bf48
|
|
func_ov38_0217bf48: ; 0x0217bf48
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x18
|
|
ldr r1, _0217c030 ; =data_027e0fe4
|
|
ldr r2, _0217c034 ; =0x4e415649
|
|
ldr r1, [r1]
|
|
add r0, sp, #0x10
|
|
bl func_ov00_020c3894
|
|
ldr r0, _0217c030 ; =data_027e0fe4
|
|
add r1, sp, #0x10
|
|
ldr r0, [r0]
|
|
bl func_ov00_020c3674
|
|
mov r1, #1
|
|
strb r1, [r0, #0x28d]
|
|
strb r1, [r0, #0x3c1]
|
|
ldr r2, _0217c038 ; =0x00004a52
|
|
add r0, r0, #0x300
|
|
strh r2, [r0, #0xc4]
|
|
strh r2, [r0, #0xc6]
|
|
ldr r1, _0217c030 ; =data_027e0fe4
|
|
ldr r2, _0217c03c ; =0x57534e56
|
|
ldr r1, [r1]
|
|
add r0, sp, #8
|
|
bl func_ov00_020c3894
|
|
ldr r0, _0217c030 ; =data_027e0fe4
|
|
ldr r3, [sp, #8]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x10
|
|
str r3, [sp, #0x10]
|
|
str r2, [sp, #0x14]
|
|
bl func_ov00_020c3674
|
|
mov r1, #1
|
|
strb r1, [r0, #0x28d]
|
|
ldr r1, _0217c030 ; =data_027e0fe4
|
|
ldr r2, _0217c040 ; =0x46434e56
|
|
ldr r1, [r1]
|
|
add r0, sp, #0
|
|
bl func_ov00_020c3894
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp]
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _0217c030 ; =data_027e0fe4
|
|
str r1, [sp, #0x10]
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x10
|
|
bl func_ov00_020c3674
|
|
mov r1, #1
|
|
strb r1, [r0, #0x28d]
|
|
ldr r0, _0217c044 ; =data_ov00_020eec9c
|
|
bl func_ov00_020d8388
|
|
ldr r0, _0217c048 ; =data_ov00_020eec68
|
|
mov r1, #0xcf
|
|
bl func_ov00_020d73bc
|
|
ldr r0, _0217c04c ; =data_ov38_021891e0
|
|
ldr r0, [r0, #0x58]
|
|
bl func_ov38_02184a18
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217bf48
|
|
_0217c030: .word data_027e0fe4
|
|
_0217c034: .word 0x4e415649
|
|
_0217c038: .word 0x00004a52
|
|
_0217c03c: .word 0x57534e56
|
|
_0217c040: .word 0x46434e56
|
|
_0217c044: .word data_ov00_020eec9c
|
|
_0217c048: .word data_ov00_020eec68
|
|
_0217c04c: .word data_ov38_021891e0
|
|
|
|
.global func_ov38_0217c050
|
|
arm_func_start func_ov38_0217c050
|
|
func_ov38_0217c050: ; 0x0217c050
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #0x18
|
|
ldr r1, _0217c128 ; =data_027e0fe4
|
|
ldr r2, _0217c12c ; =0x4e415649
|
|
ldr r1, [r1]
|
|
add r0, sp, #0x10
|
|
bl func_ov00_020c3894
|
|
ldr r0, _0217c128 ; =data_027e0fe4
|
|
add r1, sp, #0x10
|
|
ldr r0, [r0]
|
|
bl func_ov00_020c3674
|
|
mov r1, #0
|
|
strb r1, [r0, #0x28d]
|
|
strb r1, [r0, #0x3c1]
|
|
ldr r1, _0217c128 ; =data_027e0fe4
|
|
ldr r2, _0217c130 ; =0x57534e56
|
|
ldr r1, [r1]
|
|
add r0, sp, #8
|
|
bl func_ov00_020c3894
|
|
ldr r0, _0217c128 ; =data_027e0fe4
|
|
ldr r3, [sp, #8]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x10
|
|
str r3, [sp, #0x10]
|
|
str r2, [sp, #0x14]
|
|
bl func_ov00_020c3674
|
|
mov r1, #0
|
|
strb r1, [r0, #0x28d]
|
|
ldr r1, _0217c128 ; =data_027e0fe4
|
|
ldr r2, _0217c134 ; =0x46434e56
|
|
ldr r1, [r1]
|
|
add r0, sp, #0
|
|
bl func_ov00_020c3894
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp]
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _0217c128 ; =data_027e0fe4
|
|
str r1, [sp, #0x10]
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x10
|
|
bl func_ov00_020c3674
|
|
mov r1, #0
|
|
strb r1, [r0, #0x28d]
|
|
ldr r0, _0217c138 ; =data_ov00_020eec9c
|
|
bl func_ov00_020d8344
|
|
ldr r0, _0217c13c ; =data_ov00_020eec68
|
|
mov r1, #0xa
|
|
bl func_ov00_020d73f0
|
|
ldr r0, _0217c140 ; =data_ov38_021891e0
|
|
ldr r0, [r0, #0x58]
|
|
bl func_ov38_02184bac
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217c050
|
|
_0217c128: .word data_027e0fe4
|
|
_0217c12c: .word 0x4e415649
|
|
_0217c130: .word 0x57534e56
|
|
_0217c134: .word 0x46434e56
|
|
_0217c138: .word data_ov00_020eec9c
|
|
_0217c13c: .word data_ov00_020eec68
|
|
_0217c140: .word data_ov38_021891e0
|
|
|
|
.global func_ov38_0217c144
|
|
arm_func_start func_ov38_0217c144
|
|
func_ov38_0217c144: ; 0x0217c144
|
|
ldr r3, [r1, #4]
|
|
ldr r2, _0217c180 ; =0x474f3145
|
|
cmp r3, r2
|
|
beq _0217c164
|
|
add r0, r2, #0xb
|
|
cmp r3, r0
|
|
beq _0217c170
|
|
b _0217c178
|
|
_0217c164:
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #1
|
|
beq _0217c178
|
|
_0217c170:
|
|
mov r0, #0
|
|
strb r0, [r1, #0x118]
|
|
_0217c178:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217c144
|
|
_0217c180: .word 0x474f3145
|
|
|
|
.global func_ov38_0217c184
|
|
arm_func_start func_ov38_0217c184
|
|
func_ov38_0217c184: ; 0x0217c184
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x28
|
|
ldr r0, _0217c518 ; =data_027e0ce0
|
|
mov r1, #0x2bc
|
|
ldr r0, [r0, #4]
|
|
mov r2, #4
|
|
blx func_0201739c
|
|
ldr r2, _0217c51c ; =data_ov38_021891e0
|
|
ldr r1, _0217c518 ; =data_027e0ce0
|
|
str r0, [r2, #0x80]
|
|
ldr r0, [r1, #4]
|
|
mov r1, #0x28
|
|
mov r2, #4
|
|
blx func_0201739c
|
|
ldr r2, _0217c51c ; =data_ov38_021891e0
|
|
ldr r1, _0217c518 ; =data_027e0ce0
|
|
str r0, [r2, #0x9c]
|
|
ldr r0, [r1, #4]
|
|
mov r1, #0x28
|
|
mov r2, #4
|
|
blx func_0201739c
|
|
ldr r1, _0217c51c ; =data_ov38_021891e0
|
|
mov r2, #0x2bc
|
|
str r0, [r1, #0xb8]
|
|
ldr r1, [r1, #0x80]
|
|
ldr r0, _0217c520 ; =data_ov38_02189248
|
|
bl func_02007100
|
|
ldr r1, _0217c524 ; =data_ov38_02188908
|
|
mov r6, #0
|
|
ldrsh r0, [r1, #0xa2]
|
|
str r0, [sp, #0x1c]
|
|
ldrsh r0, [r1, #0xa0]
|
|
str r0, [sp, #0x18]
|
|
ldrsh r0, [r1, #0x9e]
|
|
str r0, [sp, #0x14]
|
|
_0217c210:
|
|
ldr r0, _0217c520 ; =data_ov38_02189248
|
|
mov r1, #2
|
|
bl func_020055dc
|
|
ldr r0, _0217c528 ; =data_ov38_02188970
|
|
cmp r6, #2
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x20]
|
|
bne _0217c244
|
|
ldr r0, _0217c52c ; =data_ov38_02188982
|
|
str r0, [sp, #0x24]
|
|
ldr r0, _0217c530 ; =data_ov38_02188994
|
|
str r0, [sp, #0x20]
|
|
b _0217c250
|
|
_0217c244:
|
|
cmp r6, #1
|
|
ldreq r0, _0217c52c ; =data_ov38_02188982
|
|
streq r0, [sp, #0x20]
|
|
_0217c250:
|
|
ldr r8, _0217c534 ; =data_ov38_021889a6
|
|
ldr sb, [sp, #0x24]
|
|
ldr sl, [sp, #0x20]
|
|
ldr r5, _0217c520 ; =data_ov38_02189248
|
|
mov r7, #0
|
|
mvn r4, #0
|
|
mov fp, #1
|
|
_0217c26c:
|
|
ldrsh r1, [r8]
|
|
mov r0, r5
|
|
ldrsh r2, [r8, #2]
|
|
ldrsh r3, [r8, #4]
|
|
bl func_020053c4
|
|
mov r0, r5
|
|
ldrsh r1, [sb]
|
|
ldrsh r2, [sb, #2]
|
|
ldrsh r3, [sb, #4]
|
|
bl func_02005414
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl func_02005398
|
|
mov r0, r5
|
|
ldrsh r1, [r8]
|
|
ldrsh r2, [r8, #2]
|
|
ldrsh r3, [r8, #4]
|
|
bl func_020053c4
|
|
mov r0, r5
|
|
ldrsh r1, [sl]
|
|
ldrsh r2, [sl, #2]
|
|
ldrsh r3, [sl, #4]
|
|
bl func_02005414
|
|
mov r0, r5
|
|
mov r1, fp
|
|
bl func_02005398
|
|
add r8, r8, #6
|
|
add sb, sb, #6
|
|
add sl, sl, #6
|
|
add r7, r7, #1
|
|
cmp r7, #3
|
|
blt _0217c26c
|
|
ldr r0, _0217c520 ; =data_ov38_02189248
|
|
ldr r1, [sp, #0x14]
|
|
ldr r2, [sp, #0x18]
|
|
ldr r3, [sp, #0x1c]
|
|
bl func_020053c4
|
|
ldr r0, [sp, #0x24]
|
|
ldrsh r1, [r0]
|
|
ldrsh r2, [r0, #2]
|
|
ldrsh r3, [r0, #4]
|
|
ldr r0, _0217c520 ; =data_ov38_02189248
|
|
bl func_02005414
|
|
ldr r0, _0217c520 ; =data_ov38_02189248
|
|
mvn r1, #0
|
|
bl func_02005398
|
|
ldr r0, _0217c520 ; =data_ov38_02189248
|
|
ldr r1, [sp, #0x14]
|
|
ldr r2, [sp, #0x18]
|
|
ldr r3, [sp, #0x1c]
|
|
bl func_020053c4
|
|
ldr r1, [sp, #0x20]
|
|
ldr r2, [sp, #0x20]
|
|
ldr r3, [sp, #0x20]
|
|
ldrsh r1, [r1]
|
|
ldrsh r2, [r2, #2]
|
|
ldrsh r3, [r3, #4]
|
|
ldr r0, _0217c520 ; =data_ov38_02189248
|
|
bl func_02005414
|
|
ldr r0, _0217c520 ; =data_ov38_02189248
|
|
bl func_02005608
|
|
add r6, r6, #1
|
|
cmp r6, #3
|
|
blt _0217c210
|
|
ldr r0, _0217c520 ; =data_ov38_02189248
|
|
mov r1, #2
|
|
bl func_0200536c
|
|
ldr r0, _0217c520 ; =data_ov38_02189248
|
|
mov r1, #4
|
|
bl func_02005398
|
|
ldr r0, _0217c520 ; =data_ov38_02189248
|
|
bl func_02007120
|
|
ldr r2, _0217c51c ; =data_ov38_021891e0
|
|
mov r1, r0
|
|
str r1, [r2, #0x7c]
|
|
ldr r0, [r2, #0x70]
|
|
bl func_0200e2c0
|
|
ldr r0, _0217c538 ; =data_ov38_02189264
|
|
ldr r1, _0217c51c ; =data_ov38_021891e0
|
|
mov r2, #0x28
|
|
ldr r1, [r1, #0x9c]
|
|
bl func_02007100
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
ldr r0, _0217c538 ; =data_ov38_02189264
|
|
mov r2, r1
|
|
mov r3, r1
|
|
bl func_020054b4
|
|
ldr r0, _0217c538 ; =data_ov38_02189264
|
|
mov r1, #0
|
|
mov r2, r1
|
|
bl func_02005514
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2000
|
|
str r0, [sp, #8]
|
|
ldr r0, _0217c538 ; =data_ov38_02189264
|
|
mov r1, #2
|
|
mov r3, r1
|
|
bl func_02005468
|
|
ldr r0, _0217c538 ; =data_ov38_02189264
|
|
mov r1, #0x44
|
|
ldr r2, _0217c53c ; =0x00001001
|
|
mov r3, #0
|
|
bl func_02005554
|
|
ldr r0, _0217c538 ; =data_ov38_02189264
|
|
mov r1, #0
|
|
mov r2, r1
|
|
mov r3, r1
|
|
bl func_02005598
|
|
ldr r0, _0217c538 ; =data_ov38_02189264
|
|
bl func_02007120
|
|
mov r1, r0
|
|
ldr r0, _0217c51c ; =data_ov38_021891e0
|
|
str r1, [r0, #0x98]
|
|
ldr r0, [r0, #0x8c]
|
|
bl func_0200e2c0
|
|
ldr r0, _0217c540 ; =data_ov38_02189280
|
|
ldr r1, _0217c51c ; =data_ov38_021891e0
|
|
mov r2, #0x28
|
|
ldr r1, [r1, #0xb8]
|
|
bl func_02007100
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, _0217c540 ; =data_ov38_02189280
|
|
mov r2, r1
|
|
mov r3, r1
|
|
str r1, [sp, #0x10]
|
|
bl func_020054b4
|
|
mov r1, #0
|
|
ldr r0, _0217c540 ; =data_ov38_02189280
|
|
mov r2, r1
|
|
bl func_02005514
|
|
mov r2, #0
|
|
mov r1, #2
|
|
str r2, [sp]
|
|
mov r4, #0x1f
|
|
ldr r0, _0217c540 ; =data_ov38_02189280
|
|
mov r3, r1
|
|
str r4, [sp, #4]
|
|
mov r4, #0x2000
|
|
str r4, [sp, #8]
|
|
bl func_02005468
|
|
ldr r0, _0217c540 ; =data_ov38_02189280
|
|
ldr r1, _0217c544 ; =0x00001084
|
|
ldr r2, _0217c548 ; =0x00000c63
|
|
mov r3, #0
|
|
bl func_02005554
|
|
ldr r0, _0217c540 ; =data_ov38_02189280
|
|
mov r1, #0
|
|
mov r2, r1
|
|
mov r3, r1
|
|
bl func_02005598
|
|
ldr r0, _0217c540 ; =data_ov38_02189280
|
|
bl func_02007120
|
|
mov r1, r0
|
|
ldr r0, _0217c51c ; =data_ov38_021891e0
|
|
str r1, [r0, #0xb4]
|
|
ldr r0, [r0, #0xa8]
|
|
bl func_0200e2c0
|
|
add sp, sp, #0x28
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217c184
|
|
_0217c518: .word data_027e0ce0
|
|
_0217c51c: .word data_ov38_021891e0
|
|
_0217c520: .word data_ov38_02189248
|
|
_0217c524: .word data_ov38_02188908
|
|
_0217c528: .word data_ov38_02188970
|
|
_0217c52c: .word data_ov38_02188982
|
|
_0217c530: .word data_ov38_02188994
|
|
_0217c534: .word data_ov38_021889a6
|
|
_0217c538: .word data_ov38_02189264
|
|
_0217c53c: .word 0x00001001
|
|
_0217c540: .word data_ov38_02189280
|
|
_0217c544: .word 0x00001084
|
|
_0217c548: .word 0x00000c63
|
|
|
|
.global func_ov38_0217c54c
|
|
arm_func_start func_ov38_0217c54c
|
|
func_ov38_0217c54c: ; 0x0217c54c
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0217c5cc ; =data_ov38_021891e0
|
|
ldr r1, [r0, #0x80]
|
|
cmp r1, #0
|
|
beq _0217c578
|
|
ldr r0, _0217c5d0 ; =data_027e0ce0
|
|
ldr r0, [r0, #4]
|
|
blx func_020174a4
|
|
ldr r0, _0217c5cc ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
str r1, [r0, #0x80]
|
|
_0217c578:
|
|
ldr r0, _0217c5cc ; =data_ov38_021891e0
|
|
ldr r1, [r0, #0x9c]
|
|
cmp r1, #0
|
|
beq _0217c5a0
|
|
ldr r0, _0217c5d0 ; =data_027e0ce0
|
|
ldr r0, [r0, #4]
|
|
blx func_020174a4
|
|
ldr r0, _0217c5cc ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
str r1, [r0, #0x9c]
|
|
_0217c5a0:
|
|
ldr r0, _0217c5cc ; =data_ov38_021891e0
|
|
ldr r1, [r0, #0xb8]
|
|
cmp r1, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r0, _0217c5d0 ; =data_027e0ce0
|
|
ldr r0, [r0, #4]
|
|
blx func_020174a4
|
|
ldr r0, _0217c5cc ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
str r1, [r0, #0xb8]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217c54c
|
|
_0217c5cc: .word data_ov38_021891e0
|
|
_0217c5d0: .word data_027e0ce0
|
|
|
|
.global func_ov38_0217c5d4
|
|
arm_func_start func_ov38_0217c5d4
|
|
func_ov38_0217c5d4: ; 0x0217c5d4
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r0
|
|
bl func_ov00_020c1554
|
|
ldr r1, _0217c75c ; =data_ov38_02188f38
|
|
ldr r0, _0217c760 ; =data_027e0fec
|
|
str r1, [r4]
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x3e8
|
|
add r0, r0, #0x1000
|
|
bl func_ov00_020c4588
|
|
mov r1, r0
|
|
add r0, r4, #0x158
|
|
blx func_ov00_020a9588
|
|
ldr r1, _0217c764 ; =0x020a9b6d
|
|
add r0, r4, #0x1b4
|
|
str r1, [sp]
|
|
mov r1, #2
|
|
mov r2, #0x80
|
|
ldr r3, _0217c768 ; =func_ov38_0217c798
|
|
bl func_0204f614
|
|
str r4, [r4, #0x2c8]
|
|
ldr r1, _0217c76c ; =data_ov38_02188d20
|
|
mov r0, #0x13
|
|
str r1, [r4, #0x2cc]
|
|
str r0, [r4, #0x2d0]
|
|
mov r0, #0
|
|
str r0, [r4, #0x2d8]
|
|
str r0, [r4, #0x2dc]
|
|
sub r2, r0, #1
|
|
ldr r0, _0217c770 ; =data_02057200
|
|
ldr r1, _0217c774 ; =func_ov38_02184d74
|
|
ldr ip, [r0]
|
|
ldr r3, [r0, #4]
|
|
add r0, r4, #0x2f0
|
|
str ip, [r4, #0x2e0]
|
|
str r3, [r4, #0x2e4]
|
|
str r2, [r4, #0x2e8]
|
|
str r2, [r4, #0x2ec]
|
|
str r1, [sp]
|
|
mov r1, #5
|
|
mov r2, #0x240
|
|
ldr r3, _0217c778 ; =func_ov38_02184d0c
|
|
bl func_0204f614
|
|
ldr r1, _0217c77c ; =func_ov00_020b7d74
|
|
add r0, r4, #0xe30
|
|
str r1, [sp]
|
|
mov r1, #2
|
|
mov r2, #4
|
|
ldr r3, _0217c780 ; =func_ov38_0217c988
|
|
bl func_0204f614
|
|
mov ip, #0
|
|
str ip, [r4, #0xe38]
|
|
str ip, [r4, #0xe3c]
|
|
str ip, [r4, #0xe40]
|
|
add r0, r4, #4
|
|
add r3, r0, #0x1000
|
|
ldr r1, _0217c784 ; =data_ov00_020e2f04
|
|
add r0, r4, #0x1000
|
|
str r1, [r0, #4]
|
|
mov r2, #1
|
|
strb r2, [r3, #4]
|
|
strb ip, [r3, #5]
|
|
str ip, [r3, #8]
|
|
str ip, [r3, #0xc]
|
|
str ip, [r3, #0x10]
|
|
ldr r1, _0217c788 ; =data_ov00_020e2e3c
|
|
str r1, [r0, #4]
|
|
str ip, [r3, #0x20]
|
|
str ip, [r3, #0x14]
|
|
str ip, [r3, #0x18]
|
|
str ip, [r3, #0x1c]
|
|
str ip, [r0, #0x78]
|
|
strh ip, [r0, #0x86]
|
|
strh ip, [r0, #0x9a]
|
|
strh ip, [r0, #0x9c]
|
|
strb ip, [r0, #0xa0]
|
|
strb ip, [r0, #0xa1]
|
|
strb ip, [r0, #0xa5]
|
|
strb ip, [r0, #0xa6]
|
|
strb ip, [r0, #0xa7]
|
|
strb ip, [r0, #0xa8]
|
|
strb ip, [r0, #0xaa]
|
|
strb ip, [r0, #0xab]
|
|
strb ip, [r0, #0xad]
|
|
strb r2, [r4, #0x128]
|
|
mov r0, #0x18
|
|
str r0, [r4, #0x2b4]
|
|
ldr r2, _0217c78c ; =data_ov38_021891e0
|
|
str r0, [r4, #0x2b8]
|
|
ldr r0, _0217c790 ; =data_ov29_0217a4ac
|
|
ldr r1, _0217c794 ; =data_ov38_0218923c
|
|
str r4, [r2, #0x58]
|
|
bl func_ov29_0216d74c
|
|
bl func_ov38_0217c184
|
|
mov r0, r4
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217c5d4
|
|
_0217c75c: .word data_ov38_02188f38
|
|
_0217c760: .word data_027e0fec
|
|
_0217c764: .word 0x020a9b6d
|
|
_0217c768: .word func_ov38_0217c798
|
|
_0217c76c: .word data_ov38_02188d20
|
|
_0217c770: .word data_02057200
|
|
_0217c774: .word func_ov38_02184d74
|
|
_0217c778: .word func_ov38_02184d0c
|
|
_0217c77c: .word func_ov00_020b7d74
|
|
_0217c780: .word func_ov38_0217c988
|
|
_0217c784: .word data_ov00_020e2f04
|
|
_0217c788: .word data_ov00_020e2e3c
|
|
_0217c78c: .word data_ov38_021891e0
|
|
_0217c790: .word data_ov29_0217a4ac
|
|
_0217c794: .word data_ov38_0218923c
|
|
|
|
.global func_ov38_0217c798
|
|
arm_func_start func_ov38_0217c798
|
|
func_ov38_0217c798: ; 0x0217c798
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r1, r4, #0x24
|
|
mov r2, #0
|
|
blx func_ov00_020c0c08
|
|
ldr r1, _0217c7bc ; =data_ov38_02188ff4
|
|
mov r0, r4
|
|
str r1, [r4]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217c798
|
|
_0217c7bc: .word data_ov38_02188ff4
|
|
|
|
.global func_ov38_0217c7c0
|
|
arm_func_start func_ov38_0217c7c0
|
|
func_ov38_0217c7c0: ; 0x0217c7c0
|
|
stmdb sp!, {r4, lr}
|
|
ldr r3, _0217c880 ; =data_ov38_02188f38
|
|
mov r4, r0
|
|
ldr r2, _0217c884 ; =data_ov38_021891e0
|
|
ldr r0, _0217c888 ; =data_ov29_0217a4ac
|
|
ldr r1, _0217c88c ; =data_ov38_0218923c
|
|
str r3, [r4]
|
|
mov r3, #0
|
|
str r3, [r2, #0x58]
|
|
bl func_ov29_0216d77c
|
|
ldr r0, _0217c890 ; =data_ov00_020eec9c
|
|
ldrb r1, [r0, #0xa]
|
|
cmp r1, #0
|
|
beq _0217c7fc
|
|
bl func_ov00_020d8344
|
|
_0217c7fc:
|
|
bl func_ov38_0217c54c
|
|
add r0, r4, #4
|
|
add r0, r0, #0x1000
|
|
bl func_ov00_02094824
|
|
add r0, r4, #0xe40
|
|
bl func_ov00_020b7d74
|
|
add r0, r4, #0x23c
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020b7d74
|
|
add r0, r4, #0x238
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020b7d74
|
|
add r0, r4, #0xe30
|
|
mov r1, #2
|
|
mov r2, #4
|
|
ldr r3, _0217c894 ; =func_ov00_020b7d74
|
|
bl func_0204f754
|
|
add r0, r4, #0x2f0
|
|
mov r1, #5
|
|
mov r2, #0x240
|
|
ldr r3, _0217c898 ; =func_ov38_02184d74
|
|
bl func_0204f754
|
|
add r0, r4, #0x1b4
|
|
mov r1, #2
|
|
mov r2, #0x80
|
|
ldr r3, _0217c89c ; =0x020a9b6d
|
|
bl func_0204f754
|
|
add r0, r4, #0x158
|
|
blx func_ov00_020a95a4
|
|
mov r0, r4
|
|
bl func_ov00_020c1730
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217c7c0
|
|
_0217c880: .word data_ov38_02188f38
|
|
_0217c884: .word data_ov38_021891e0
|
|
_0217c888: .word data_ov29_0217a4ac
|
|
_0217c88c: .word data_ov38_0218923c
|
|
_0217c890: .word data_ov00_020eec9c
|
|
_0217c894: .word func_ov00_020b7d74
|
|
_0217c898: .word func_ov38_02184d74
|
|
_0217c89c: .word 0x020a9b6d
|
|
|
|
.global func_ov38_0217c8a0
|
|
arm_func_start func_ov38_0217c8a0
|
|
func_ov38_0217c8a0: ; 0x0217c8a0
|
|
stmdb sp!, {r4, lr}
|
|
ldr r3, _0217c968 ; =data_ov38_02188f38
|
|
mov r4, r0
|
|
ldr r2, _0217c96c ; =data_ov38_021891e0
|
|
ldr r0, _0217c970 ; =data_ov29_0217a4ac
|
|
ldr r1, _0217c974 ; =data_ov38_0218923c
|
|
str r3, [r4]
|
|
mov r3, #0
|
|
str r3, [r2, #0x58]
|
|
bl func_ov29_0216d77c
|
|
ldr r0, _0217c978 ; =data_ov00_020eec9c
|
|
ldrb r1, [r0, #0xa]
|
|
cmp r1, #0
|
|
beq _0217c8dc
|
|
bl func_ov00_020d8344
|
|
_0217c8dc:
|
|
bl func_ov38_0217c54c
|
|
add r0, r4, #4
|
|
add r0, r0, #0x1000
|
|
bl func_ov00_02094824
|
|
add r0, r4, #0xe40
|
|
bl func_ov00_020b7d74
|
|
add r0, r4, #0x23c
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020b7d74
|
|
add r0, r4, #0x238
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020b7d74
|
|
add r0, r4, #0xe30
|
|
mov r1, #2
|
|
mov r2, #4
|
|
ldr r3, _0217c97c ; =func_ov00_020b7d74
|
|
bl func_0204f754
|
|
add r0, r4, #0x2f0
|
|
mov r1, #5
|
|
mov r2, #0x240
|
|
ldr r3, _0217c980 ; =func_ov38_02184d74
|
|
bl func_0204f754
|
|
add r0, r4, #0x1b4
|
|
mov r1, #2
|
|
mov r2, #0x80
|
|
ldr r3, _0217c984 ; =0x020a9b6d
|
|
bl func_0204f754
|
|
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}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217c8a0
|
|
_0217c968: .word data_ov38_02188f38
|
|
_0217c96c: .word data_ov38_021891e0
|
|
_0217c970: .word data_ov29_0217a4ac
|
|
_0217c974: .word data_ov38_0218923c
|
|
_0217c978: .word data_ov00_020eec9c
|
|
_0217c97c: .word func_ov00_020b7d74
|
|
_0217c980: .word func_ov38_02184d74
|
|
_0217c984: .word 0x020a9b6d
|
|
|
|
.global func_ov38_0217c988
|
|
arm_func_start func_ov38_0217c988
|
|
func_ov38_0217c988: ; 0x0217c988
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
bx lr
|
|
arm_func_end func_ov38_0217c988
|
|
|
|
.global func_ov38_0217c994
|
|
arm_func_start func_ov38_0217c994
|
|
func_ov38_0217c994: ; 0x0217c994
|
|
stmdb sp!, {r4, lr}
|
|
ldrsh ip, [r0]
|
|
ldrsh lr, [sp, #8]
|
|
sub ip, r1, ip
|
|
mov ip, ip, lsl #0x10
|
|
cmp lr, ip, asr #16
|
|
mov r4, ip, asr #0x10
|
|
rsbgt ip, lr, #0
|
|
cmpgt r4, ip
|
|
strgth r1, [r0]
|
|
movgt r0, #1
|
|
ldmgtia sp!, {r4, pc}
|
|
mul r1, r4, r2
|
|
mov r1, r1, lsl #0x4
|
|
mov r2, r1, asr #0x10
|
|
cmp r3, r1, asr #16
|
|
movlt r2, r3
|
|
blt _0217c9f0
|
|
rsb r1, r3, #0
|
|
mov r1, r1, lsl #0x10
|
|
cmp r2, r1, asr #16
|
|
mov r1, r1, asr #0x10
|
|
movlt r2, r1
|
|
_0217c9f0:
|
|
ldrsh r1, [r0]
|
|
add r1, r1, r2
|
|
strh r1, [r0]
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov38_0217c994
|
|
|
|
.global func_ov38_0217ca04
|
|
arm_func_start func_ov38_0217ca04
|
|
func_ov38_0217ca04: ; 0x0217ca04
|
|
stmdb sp!, {r3, lr}
|
|
ldr lr, [r0]
|
|
ldr ip, [sp, #8]
|
|
sub lr, r1, lr
|
|
cmp lr, ip
|
|
bge _0217ca30
|
|
rsb ip, ip, #0
|
|
cmp lr, ip
|
|
strgt r1, [r0]
|
|
movgt r0, #1
|
|
ldmgtia sp!, {r3, pc}
|
|
_0217ca30:
|
|
smull r2, r1, lr, r2
|
|
adds r2, r2, #0x800
|
|
adc r1, r1, #0
|
|
mov r2, r2, lsr #0xc
|
|
orr r2, r2, r1, lsl #20
|
|
cmp r2, r3
|
|
movgt r2, r3
|
|
bgt _0217ca5c
|
|
rsb r1, r3, #0
|
|
cmp r2, r1
|
|
movlt r2, r1
|
|
_0217ca5c:
|
|
ldr r1, [r0]
|
|
add r1, r1, r2
|
|
str r1, [r0]
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end func_ov38_0217ca04
|
|
|
|
.global func_ov38_0217ca70
|
|
arm_func_start func_ov38_0217ca70
|
|
func_ov38_0217ca70: ; 0x0217ca70
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0xc
|
|
mov r6, r0
|
|
mov r7, r1
|
|
mov r5, r2
|
|
add r2, sp, #0
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r4, r3
|
|
bl func_01ff9bf8
|
|
add r0, sp, #0
|
|
mov r1, r0
|
|
bl func_01ff9c2c
|
|
ldr r1, [sp, #0x20]
|
|
mul r2, r1, r1
|
|
cmp r0, r2, asr #12
|
|
bge _0217cad0
|
|
mov r0, r7
|
|
mov r1, r6
|
|
mov r2, #0xc
|
|
bl func_02007908
|
|
add sp, sp, #0xc
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
_0217cad0:
|
|
mul r1, r5, r5
|
|
mov r1, r1, asr #0xc
|
|
smull r3, r2, r1, r0
|
|
adds r3, r3, #0x800
|
|
mul r1, r4, r4
|
|
adc r2, r2, #0
|
|
mov r3, r3, lsr #0xc
|
|
orr r3, r3, r2, lsl #20
|
|
cmp r3, r1, asr #12
|
|
ble _0217cb0c
|
|
bl func_01ff9958
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl func_01ff98e0
|
|
mov r5, r0
|
|
_0217cb0c:
|
|
add r1, sp, #0
|
|
mov r0, r5
|
|
mov r2, r6
|
|
mov r3, r6
|
|
bl func_01ff9e64
|
|
mov r0, #0
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
arm_func_end func_ov38_0217ca70
|
|
|
|
.global func_ov38_0217cb2c
|
|
arm_func_start func_ov38_0217cb2c
|
|
func_ov38_0217cb2c: ; 0x0217cb2c
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0xc
|
|
mov r6, r0
|
|
mov r0, r2
|
|
mov r5, r1
|
|
add r2, sp, #0
|
|
mov r1, r6
|
|
mov r4, r3
|
|
bl func_01ff9bf8
|
|
ldr r0, [sp]
|
|
ldr r3, [r5]
|
|
smull r2, r1, r0, r4
|
|
adds r2, r2, #0x800
|
|
adc r0, r1, #0
|
|
mov r1, r2, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
add r0, r3, r1
|
|
str r0, [r5]
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [r5, #4]
|
|
smull r2, r1, r0, r4
|
|
adds r2, r2, #0x800
|
|
adc r0, r1, #0
|
|
mov r1, r2, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
add r0, r3, r1
|
|
str r0, [r5, #4]
|
|
ldr r0, [sp, #8]
|
|
ldr r3, [r5, #8]
|
|
smull r2, r1, r0, r4
|
|
adds r2, r2, #0x800
|
|
adc r0, r1, #0
|
|
mov r1, r2, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
add r0, r3, r1
|
|
str r0, [r5, #8]
|
|
ldr r3, [sp, #0x20]
|
|
ldr r1, [r5]
|
|
mov r0, r6
|
|
mov r2, r6
|
|
smull r6, r4, r1, r3
|
|
adds r6, r6, #0x800
|
|
adc r1, r4, #0
|
|
mov r4, r6, lsr #0xc
|
|
orr r4, r4, r1, lsl #20
|
|
str r4, [r5]
|
|
ldr r4, [r5, #4]
|
|
mov r1, r5
|
|
smull ip, r6, r4, r3
|
|
adds ip, ip, #0x800
|
|
adc r4, r6, #0
|
|
mov r6, ip, lsr #0xc
|
|
orr r6, r6, r4, lsl #20
|
|
str r6, [r5, #4]
|
|
ldr r4, [r5, #8]
|
|
smull r6, r3, r4, r3
|
|
adds r4, r6, #0x800
|
|
adc r3, r3, #0
|
|
mov r4, r4, lsr #0xc
|
|
orr r4, r4, r3, lsl #20
|
|
str r4, [r5, #8]
|
|
bl func_01ff9bc4
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end func_ov38_0217cb2c
|
|
|
|
.global func_ov38_0217cc2c
|
|
arm_func_start func_ov38_0217cc2c
|
|
func_ov38_0217cc2c: ; 0x0217cc2c
|
|
stmdb sp!, {r3, lr}
|
|
mov r1, r0
|
|
ldr r0, [r1, #8]
|
|
ldr r3, _0217ccb0 ; =data_ov38_02189200
|
|
tst r0, #0x10
|
|
ldrneb ip, [r1, #0xae]
|
|
mov r2, #0
|
|
mvneq ip, #0
|
|
_0217cc4c:
|
|
ldr r0, [r3, r2, lsl #2]
|
|
cmp ip, r0
|
|
bne _0217cc68
|
|
ldr r0, [r1, #4]
|
|
ldr r0, [r0, #0x2c]
|
|
bl func_ov38_0217ccb8
|
|
ldmia sp!, {r3, pc}
|
|
_0217cc68:
|
|
add r2, r2, #1
|
|
cmp r2, #5
|
|
blt _0217cc4c
|
|
ldr r0, _0217ccb4 ; =data_ov38_021891e0
|
|
ldr r2, [r0, #0x34]
|
|
cmp ip, r2
|
|
bne _0217cc94
|
|
ldr r0, [r1, #4]
|
|
ldr r0, [r0, #0x2c]
|
|
bl func_ov38_0217cd00
|
|
ldmia sp!, {r3, pc}
|
|
_0217cc94:
|
|
ldr r0, [r0, #0x38]
|
|
cmp ip, r0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, [r1, #4]
|
|
ldr r0, [r0, #0x2c]
|
|
bl func_ov38_0217cd38
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217cc2c
|
|
_0217ccb0: .word data_ov38_02189200
|
|
_0217ccb4: .word data_ov38_021891e0
|
|
|
|
.global func_ov38_0217ccb8
|
|
arm_func_start func_ov38_0217ccb8
|
|
func_ov38_0217ccb8: ; 0x0217ccb8
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x30
|
|
mov r6, r0
|
|
add r0, sp, #0
|
|
mov r5, r2
|
|
mov r1, #0
|
|
bl func_0201b1bc
|
|
bl func_02018450
|
|
mov r4, r0
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl func_ov38_02182e28
|
|
mov r2, r0
|
|
add r0, sp, #0
|
|
mov r1, r4
|
|
bl func_0202de3c
|
|
add sp, sp, #0x30
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end func_ov38_0217ccb8
|
|
|
|
.global func_ov38_0217cd00
|
|
arm_func_start func_ov38_0217cd00
|
|
func_ov38_0217cd00: ; 0x0217cd00
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x30
|
|
mov r4, r0
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
bl func_0201b1bc
|
|
bl func_02018450
|
|
add r2, r4, #0x334
|
|
mov r1, r0
|
|
add r0, sp, #0
|
|
add r2, r2, #0xc00
|
|
bl func_0202de3c
|
|
add sp, sp, #0x30
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov38_0217cd00
|
|
|
|
.global func_ov38_0217cd38
|
|
arm_func_start func_ov38_0217cd38
|
|
func_ov38_0217cd38: ; 0x0217cd38
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x30
|
|
mov r4, r0
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
bl func_0201b1bc
|
|
bl func_02018450
|
|
add r2, r4, #0x364
|
|
mov r1, r0
|
|
add r0, sp, #0
|
|
add r2, r2, #0xc00
|
|
bl func_0202de3c
|
|
add sp, sp, #0x30
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov38_0217cd38
|
|
|
|
.global func_ov38_0217cd70
|
|
arm_func_start func_ov38_0217cd70
|
|
func_ov38_0217cd70: ; 0x0217cd70
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #8]
|
|
ldr r1, _0217ce7c ; =data_ov38_02189200
|
|
tst r0, #0x10
|
|
ldrneb r3, [r4, #0xae]
|
|
mov r2, #0
|
|
mvneq r3, #0
|
|
_0217cd90:
|
|
ldr r0, [r1, r2, lsl #2]
|
|
cmp r3, r0
|
|
bne _0217cdb0
|
|
ldr r0, [r4, #4]
|
|
mov r1, r4
|
|
ldr r0, [r0, #0x2c]
|
|
bl func_ov38_0217ccb8
|
|
ldmia sp!, {r4, pc}
|
|
_0217cdb0:
|
|
add r2, r2, #1
|
|
cmp r2, #5
|
|
blt _0217cd90
|
|
ldr r0, _0217ce80 ; =data_ov38_021891e0
|
|
ldr r1, [r0, #0x34]
|
|
cmp r3, r1
|
|
bne _0217ce0c
|
|
ldr r1, [r4, #4]
|
|
ldrb r0, [r1, #0x25]
|
|
cmp r0, #2
|
|
bne _0217cdfc
|
|
mov r0, #3
|
|
strb r0, [r4, #0x92]
|
|
strb r0, [r1, #0x25]
|
|
ldr r0, [r4, #4]
|
|
mov r1, r4
|
|
ldr r0, [r0, #0x2c]
|
|
bl func_ov38_0217cee8
|
|
ldmia sp!, {r4, pc}
|
|
_0217cdfc:
|
|
ldr r0, [r1, #0x2c]
|
|
mov r1, r4
|
|
bl func_ov38_0217cd00
|
|
ldmia sp!, {r4, pc}
|
|
_0217ce0c:
|
|
ldr r1, [r0, #0x38]
|
|
cmp r3, r1
|
|
bne _0217ce3c
|
|
ldr r0, [r4, #4]
|
|
mov r1, r4
|
|
ldr r0, [r0, #0x2c]
|
|
bl func_ov38_0217cd38
|
|
ldr r1, [r4, #4]
|
|
mov r0, #2
|
|
strb r0, [r4, #0x92]
|
|
strb r0, [r1, #0x25]
|
|
ldmia sp!, {r4, pc}
|
|
_0217ce3c:
|
|
ldr r1, [r0, #0x3c]
|
|
cmp r3, r1
|
|
bne _0217ce5c
|
|
ldr r0, [r4, #4]
|
|
mov r1, r4
|
|
ldr r0, [r0, #0x2c]
|
|
bl func_ov38_0217ce84
|
|
ldmia sp!, {r4, pc}
|
|
_0217ce5c:
|
|
ldr r0, [r0, #0x40]
|
|
cmp r3, r0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, [r4, #4]
|
|
mov r1, r4
|
|
ldr r0, [r0, #0x2c]
|
|
bl func_ov38_0217ce84
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217cd70
|
|
_0217ce7c: .word data_ov38_02189200
|
|
_0217ce80: .word data_ov38_021891e0
|
|
|
|
.global func_ov38_0217ce84
|
|
arm_func_start func_ov38_0217ce84
|
|
func_ov38_0217ce84: ; 0x0217ce84
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0x24
|
|
ldr r4, [r1, #0xb4]
|
|
add r0, r0, #0x1000
|
|
ldr r1, [r4]
|
|
ldr r3, _0217cee4 ; =data_02050f54
|
|
bic r1, r1, #2
|
|
str r1, [r4]
|
|
ldrh r1, [r0, #0x88]
|
|
add r0, sp, #0
|
|
mov r1, r1, asr #0x4
|
|
mov r2, r1, lsl #0x1
|
|
add r1, r2, #1
|
|
mov ip, r2, lsl #0x1
|
|
mov r2, r1, lsl #0x1
|
|
ldrsh r1, [r3, ip]
|
|
ldrsh r2, [r3, r2]
|
|
blx func_01ff8230
|
|
add r1, r4, #0x28
|
|
add r0, sp, #0
|
|
mov r2, r1
|
|
bl func_0202e030
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217ce84
|
|
_0217cee4: .word data_02050f54
|
|
|
|
.global func_ov38_0217cee8
|
|
arm_func_start func_ov38_0217cee8
|
|
func_ov38_0217cee8: ; 0x0217cee8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x48
|
|
ldr r4, [r1, #0xb4]
|
|
mov r5, r0
|
|
ldr r1, [r4]
|
|
add r0, r5, #0x1000
|
|
bic r1, r1, #2
|
|
str r1, [r4]
|
|
ldrh r1, [r0, #0x8c]
|
|
ldr r3, _0217cf8c ; =data_02050f54
|
|
add r0, sp, #0x24
|
|
mov r1, r1, asr #0x4
|
|
mov r2, r1, lsl #0x1
|
|
add r1, r2, #1
|
|
mov ip, r2, lsl #0x1
|
|
mov r2, r1, lsl #0x1
|
|
ldrsh r1, [r3, ip]
|
|
ldrsh r2, [r3, r2]
|
|
blx func_01ff8230
|
|
add r1, r4, #0x28
|
|
add r0, sp, #0x24
|
|
mov r2, r1
|
|
bl func_0202e030
|
|
add r0, r5, #0x1000
|
|
ldrh r1, [r0, #0x8a]
|
|
ldr r3, _0217cf8c ; =data_02050f54
|
|
add r0, sp, #0
|
|
mov r1, r1, asr #0x4
|
|
mov r2, r1, lsl #0x1
|
|
add r1, r2, #1
|
|
mov r5, r2, lsl #0x1
|
|
mov r2, r1, lsl #0x1
|
|
ldrsh r1, [r3, r5]
|
|
ldrsh r2, [r3, r2]
|
|
blx func_01ff8214
|
|
add r1, r4, #0x28
|
|
add r0, sp, #0
|
|
mov r2, r1
|
|
bl func_0202e030
|
|
add sp, sp, #0x48
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217cee8
|
|
_0217cf8c: .word data_02050f54
|
|
|
|
.global func_ov38_0217cf90
|
|
arm_func_start func_ov38_0217cf90
|
|
func_ov38_0217cf90: ; 0x0217cf90
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x6c
|
|
ldr r1, _0217d504 ; =data_027e0fb4
|
|
mov r2, #0
|
|
ldr r3, [r1]
|
|
ldr r1, _0217d508 ; =data_027e0f74
|
|
strh r2, [r3, #0xba]
|
|
mov sl, r0
|
|
ldr r0, [r1]
|
|
mov r1, #0xf7
|
|
bl func_ov00_02097760
|
|
cmp r0, #0
|
|
bne _0217cfdc
|
|
ldr r0, _0217d508 ; =data_027e0f74
|
|
mov r1, #0x11
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097c18
|
|
cmp r0, #0
|
|
beq _0217cff0
|
|
_0217cfdc:
|
|
mov r0, #0
|
|
strb r0, [sl, #0x118]
|
|
add sp, sp, #0x6c
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0217cff0:
|
|
ldr r0, _0217d50c ; =data_ov38_021889b8
|
|
add r3, sp, #0x60
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r0, [sp, #0x60]
|
|
mov r2, #0x800
|
|
str r0, [sl, #0x7c]
|
|
ldr r1, [sp, #0x64]
|
|
add r0, sl, #0x100
|
|
str r1, [sl, #0x80]
|
|
ldr r3, [sp, #0x68]
|
|
mov r1, #0x118
|
|
str r3, [sl, #0x84]
|
|
str r2, [sl, #0x88]
|
|
strh r1, [r0, #0x22]
|
|
strh r1, [r0, #0x20]
|
|
ldrsh r2, [r0, #0x20]
|
|
add r0, sl, #0x1000
|
|
mov r1, #0
|
|
sub r2, r2, #0x3c
|
|
strh r2, [r0, #0x7e]
|
|
str r1, [sl, #0x2bc]
|
|
str r1, [sl, #0x2c0]
|
|
add r0, sl, #0x158
|
|
str r1, [sl, #0x2c4]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
str r0, [sl, #0x1bc]
|
|
add r0, sl, #0x158
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
str r0, [sl, #0x23c]
|
|
str sl, [sl, #0x188]
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
ldr r1, _0217d510 ; =func_ov38_0217cc2c
|
|
add r0, sl, #0x15c
|
|
mov r2, #0
|
|
mov r3, #6
|
|
bl func_02018c90
|
|
mov r1, #0
|
|
mov r0, sl
|
|
mov r2, r1
|
|
mov r3, r1
|
|
bl func_ov38_0217d570
|
|
add r0, sl, #0x158
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
ldr r1, _0217d514 ; =data_ov38_02188a24
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
ldr r1, _0217d518 ; =data_ov38_021891e0
|
|
str r0, [r1, #0x30]
|
|
add r0, sl, #0x158
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
ldr r1, _0217d51c ; =data_ov38_02188a38
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
ldr r1, _0217d518 ; =data_ov38_021891e0
|
|
str r0, [r1, #0x20]
|
|
add r0, sl, #0x158
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
ldr r1, _0217d520 ; =data_ov38_02188a4c
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
ldr r1, _0217d518 ; =data_ov38_021891e0
|
|
str r0, [r1, #0x24]
|
|
add r0, sl, #0x158
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
ldr r1, _0217d524 ; =data_ov38_02188a60
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
ldr r1, _0217d518 ; =data_ov38_021891e0
|
|
str r0, [r1, #0x2c]
|
|
add r0, sl, #0x158
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
add r0, r0, #0x40
|
|
ldr r1, _0217d528 ; =data_ov38_02188a74
|
|
bl func_0201e388
|
|
ldr r1, _0217d518 ; =data_ov38_021891e0
|
|
str r0, [r1, #0x28]
|
|
add r0, sl, #0x158
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
add r0, r0, #0x40
|
|
ldr r1, _0217d52c ; =data_ov38_02188a88
|
|
bl func_0201e388
|
|
ldr r1, _0217d518 ; =data_ov38_021891e0
|
|
str r0, [r1, #0x34]
|
|
add r0, sl, #0x158
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
ldr r1, _0217d530 ; =data_ov38_02188a9c
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
ldr r1, _0217d518 ; =data_ov38_021891e0
|
|
str r0, [r1, #0x38]
|
|
add r0, sl, #0x158
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
ldr r1, _0217d534 ; =data_ov38_02188ab0
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
ldr r1, _0217d518 ; =data_ov38_021891e0
|
|
str r0, [r1, #0x3c]
|
|
add r0, sl, #0x158
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
ldr r1, _0217d538 ; =data_ov38_02188ac4
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
ldr r2, _0217d518 ; =data_ov38_021891e0
|
|
ldr r3, _0217d53c ; =data_027e0d0c
|
|
str r0, [r2, #0x40]
|
|
ldrsh r0, [sl, #0x78]
|
|
add r1, sl, #0x1000
|
|
ldr r5, _0217d540 ; =data_02050f54
|
|
strh r0, [r1, #0x7c]
|
|
ldr r0, [r3]
|
|
mov r2, #0
|
|
str r0, [sl, #0x60]
|
|
ldr r1, [r3, #4]
|
|
add r0, sl, #0x3b8
|
|
str r1, [sl, #0x64]
|
|
ldr r1, [r3, #8]
|
|
add r0, r0, #0xc00
|
|
str r1, [sl, #0x68]
|
|
ldrsh r3, [sl, #0x78]
|
|
add r1, sl, #0x394
|
|
add r1, r1, #0xc00
|
|
add r3, r3, r3, lsr #31
|
|
mov r3, r3, lsl #0xf
|
|
mov r3, r3, lsr #0x10
|
|
mov r3, r3, asr #0x4
|
|
mov r3, r3, lsl #0x1
|
|
mov r4, r3, lsl #0x1
|
|
add r3, r3, #1
|
|
mov r3, r3, lsl #0x1
|
|
ldrsh r4, [r5, r4]
|
|
str r2, [sl, #0xfb8]
|
|
ldrsh r3, [r5, r3]
|
|
str r4, [sl, #0xfbc]
|
|
str r2, [sl, #0xfc0]
|
|
str r3, [sl, #0xfc4]
|
|
bl func_ov00_020d5cd8
|
|
add r0, sl, #0x364
|
|
ldr r5, _0217d544 ; =data_027e01b8
|
|
add r4, r0, #0xc00
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
stmia r4!, {r0, r1, r2, r3}
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
stmia r4!, {r0, r1, r2, r3}
|
|
ldmia r5, {r0, r1, r2, r3}
|
|
stmia r4, {r0, r1, r2, r3}
|
|
add r0, sl, #0x334
|
|
ldr r5, _0217d544 ; =data_027e01b8
|
|
add r4, r0, #0xc00
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
stmia r4!, {r0, r1, r2, r3}
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
stmia r4!, {r0, r1, r2, r3}
|
|
ldmia r5, {r0, r1, r2, r3}
|
|
stmia r4, {r0, r1, r2, r3}
|
|
add r1, sl, #0x388
|
|
add r0, sl, #0x48
|
|
add r1, r1, #0xc00
|
|
mov r2, #0xc
|
|
bl func_02007908
|
|
add r1, sl, #0x358
|
|
add r0, sl, #0x48
|
|
add r1, r1, #0xc00
|
|
mov r2, #0xc
|
|
bl func_02007908
|
|
mov r1, #3
|
|
add r0, sl, #0x1000
|
|
str r1, [r0, #0x6c]
|
|
mov sb, #0
|
|
add r8, sp, #0x34
|
|
mvn r7, #0
|
|
add r6, sp, #0x18
|
|
ldr r5, _0217d548 ; =data_ov38_02189224
|
|
ldr r4, _0217d54c ; =data_027e0fe8
|
|
ldr fp, _0217d550 ; =data_027e0fe4
|
|
b _0217d360
|
|
_0217d30c:
|
|
mov r0, r8
|
|
bl func_ov00_020c1500
|
|
mov r0, r8
|
|
str r7, [sp, #0x50]
|
|
str r7, [sp, #0x54]
|
|
bl func_ov00_020c3348
|
|
ldr r0, [r4]
|
|
str r7, [sp, #0x18]
|
|
str r7, [sp, #0x1c]
|
|
strh sb, [sp, #0x34]
|
|
ldr r1, _0217d554 ; =0x474f3145
|
|
str r6, [sp]
|
|
add r2, sl, #0x48
|
|
mov r3, r8
|
|
bl func_ov00_020c4048
|
|
ldr r0, [fp]
|
|
mov r1, r6
|
|
bl func_ov00_020c3674
|
|
str r0, [r5, sb, lsl #2]
|
|
str sl, [r0, #0x204]
|
|
add sb, sb, #1
|
|
_0217d360:
|
|
cmp sb, #5
|
|
blt _0217d30c
|
|
ldr r1, [sl, #0x18]
|
|
mov r0, #2
|
|
sub r1, r1, #0x800
|
|
str r1, [sl, #0x58]
|
|
str r1, [sl, #0x4c]
|
|
str r0, [sl, #0x12c]
|
|
add r0, sl, #0x1000
|
|
mov r1, #0
|
|
str r1, [r0, #0x74]
|
|
str r1, [r0, #0x60]
|
|
mov r0, #4
|
|
strb r0, [sl, #0x124]
|
|
bl func_ov29_0216ffe8
|
|
bl func_ov29_0217159c
|
|
mov r4, #0
|
|
add r1, sp, #0x20
|
|
bic r2, r4, #0x1f
|
|
orr r2, r2, #2
|
|
bic r2, r2, #0x6000
|
|
orr r2, r2, #0x4000
|
|
orr r2, r2, #0xc00000
|
|
orr r3, r2, #0x59000000
|
|
add r0, sl, #4
|
|
str r4, [r1, #0xc]
|
|
str r4, [r1]
|
|
str r4, [r1, #4]
|
|
str r4, [r1, #8]
|
|
ldr r6, [sl, #0x48]
|
|
ldr r5, _0217d558 ; =0x000014cd
|
|
str r6, [sp, #0x20]
|
|
ldr r6, [sl, #0x4c]
|
|
mov r2, #0x2000
|
|
str r6, [sp, #0x24]
|
|
ldr r6, [sl, #0x50]
|
|
add r0, r0, #0x1000
|
|
str r6, [sp, #0x28]
|
|
str r5, [sp, #0x2c]
|
|
str r2, [sp, #0x30]
|
|
ldr r2, [sl, #8]
|
|
str r3, [sp, #0x14]
|
|
str r4, [sp]
|
|
ldr r4, [r0]
|
|
ldr r4, [r4, #0x10]
|
|
blx r4
|
|
add r0, sl, #0x2c8
|
|
mov r1, #0
|
|
bl func_ov38_0217be04
|
|
ldr r1, _0217d550 ; =data_027e0fe4
|
|
ldr r2, _0217d55c ; =0x42524d31
|
|
ldr r1, [r1]
|
|
add r0, sp, #0xc
|
|
bl func_ov00_020c3894
|
|
ldr r0, _0217d550 ; =data_027e0fe4
|
|
add r1, sp, #0xc
|
|
ldr r0, [r0]
|
|
bl func_ov00_020c3674
|
|
str r0, [sl, #0xff4]
|
|
ldr r1, _0217d550 ; =data_027e0fe4
|
|
ldr r2, _0217d560 ; =0x4e415649
|
|
ldr r1, [r1]
|
|
add r0, sp, #4
|
|
bl func_ov00_020c3894
|
|
ldr r0, _0217d550 ; =data_027e0fe4
|
|
ldr r3, [sp, #4]
|
|
ldr r2, [sp, #8]
|
|
ldr r0, [r0]
|
|
add r1, sp, #0xc
|
|
str r3, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
bl func_ov00_020c3674
|
|
str r0, [sl, #0xff8]
|
|
mov r0, sl
|
|
mov r1, #0
|
|
bl func_ov38_02185720
|
|
ldr r1, _0217d564 ; =data_027e0fec
|
|
ldr r0, _0217d568 ; =data_ov29_0217a4ac
|
|
ldr r1, [r1]
|
|
add r2, sl, #0x1000
|
|
add r1, r1, #0x3e8
|
|
add r1, r1, #0x1000
|
|
ldr r1, [r1, #8]
|
|
str r1, [r2]
|
|
bl func_ov29_0216d86c
|
|
add r1, sl, #0x1000
|
|
str r0, [sl, #0xffc]
|
|
ldr r0, [r1]
|
|
ldr r1, _0217d56c ; =data_ov38_021890cc
|
|
bl func_ov29_0216db60
|
|
mov r4, r0
|
|
add r0, sl, #0x1000
|
|
ldr r0, [r0]
|
|
mov r1, r4
|
|
bl func_ov29_0216db74
|
|
add r2, sl, #0x1000
|
|
str r0, [r2, #0x2c]
|
|
ldr r0, [r2]
|
|
mov r1, r4
|
|
bl func_ov29_0216dba8
|
|
add r1, sl, #0x1000
|
|
str r0, [r1, #0x30]
|
|
mov r0, #1
|
|
add sp, sp, #0x6c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217cf90
|
|
_0217d504: .word data_027e0fb4
|
|
_0217d508: .word data_027e0f74
|
|
_0217d50c: .word data_ov38_021889b8
|
|
_0217d510: .word func_ov38_0217cc2c
|
|
_0217d514: .word data_ov38_02188a24
|
|
_0217d518: .word data_ov38_021891e0
|
|
_0217d51c: .word data_ov38_02188a38
|
|
_0217d520: .word data_ov38_02188a4c
|
|
_0217d524: .word data_ov38_02188a60
|
|
_0217d528: .word data_ov38_02188a74
|
|
_0217d52c: .word data_ov38_02188a88
|
|
_0217d530: .word data_ov38_02188a9c
|
|
_0217d534: .word data_ov38_02188ab0
|
|
_0217d538: .word data_ov38_02188ac4
|
|
_0217d53c: .word data_027e0d0c
|
|
_0217d540: .word data_02050f54
|
|
_0217d544: .word data_027e01b8
|
|
_0217d548: .word data_ov38_02189224
|
|
_0217d54c: .word data_027e0fe8
|
|
_0217d550: .word data_027e0fe4
|
|
_0217d554: .word 0x474f3145
|
|
_0217d558: .word 0x000014cd
|
|
_0217d55c: .word 0x42524d31
|
|
_0217d560: .word 0x4e415649
|
|
_0217d564: .word data_027e0fec
|
|
_0217d568: .word data_ov29_0217a4ac
|
|
_0217d56c: .word data_ov38_021890cc
|
|
|
|
.global func_ov38_0217d570
|
|
arm_func_start func_ov38_0217d570
|
|
func_ov38_0217d570: ; 0x0217d570
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x10
|
|
mov r6, r0
|
|
ldr r0, [r6, #0x2c4]
|
|
mov r5, r1
|
|
add r0, r6, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
mov r4, r2
|
|
cmp r5, r0
|
|
addeq sp, sp, #0x10
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
cmp r3, #0
|
|
ldr r0, [r6, #0x2c4]
|
|
beq _0217d5c8
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
str r0, [r6, #0x2c4]
|
|
str r3, [r6, #0x2c0]
|
|
rsb r0, r3, #0x1000
|
|
str r0, [r6, #0x2bc]
|
|
b _0217d5e0
|
|
_0217d5c8:
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
add r0, r6, r0, lsl #2
|
|
mov r1, #0x18
|
|
str r1, [r0, #0x2b4]
|
|
_0217d5e0:
|
|
ldr r1, [r6, #0x2c4]
|
|
ldr r0, _0217d6d0 ; =data_027e0fec
|
|
add r1, r6, r1, lsl #2
|
|
str r5, [r1, #0x2b4]
|
|
ldr r3, [r0]
|
|
add r1, sp, #0
|
|
mov r0, #0
|
|
mov r2, #0x10
|
|
add r7, r3, #0x3e8
|
|
bl func_020078f4
|
|
ldr r1, _0217d6d4 ; =data_ov38_02188cc0
|
|
add r0, sp, #0
|
|
ldr r1, [r1, r5, lsl #2]
|
|
bl func_02047024
|
|
add r0, r7, #0x1000
|
|
bl func_ov00_020c45b0
|
|
add r1, sp, #0
|
|
bl func_0201e544
|
|
mov r1, r0
|
|
mov r3, r4
|
|
ldr r0, [r6, #0x2c4]
|
|
add r4, r6, #0x1b4
|
|
mov r2, #0
|
|
add r0, r4, r0, lsl #7
|
|
bl func_ov00_020c0cc8
|
|
add r0, r6, #0x158
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x2c]
|
|
blx r1
|
|
add r0, r6, #0x158
|
|
ldr r2, [r0]
|
|
ldr r1, [r6, #0x2c4]
|
|
mov r3, r4
|
|
ldr r2, [r2, #0x24]
|
|
add r1, r3, r1, lsl #7
|
|
blx r2
|
|
ldr r0, [r6, #0x2c4]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
add r0, r6, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
cmp r0, #0x18
|
|
beq _0217d6b8
|
|
ldr r0, [r6, #0x2c4]
|
|
add r1, r6, #0x1b4
|
|
cmp r0, #0
|
|
add r0, r6, #0x158
|
|
ldr r2, [r0]
|
|
moveq r3, #1
|
|
movne r3, #0
|
|
ldr r2, [r2, #0x24]
|
|
add r1, r1, r3, lsl #7
|
|
blx r2
|
|
_0217d6b8:
|
|
ldr r0, [r6, #0x2c4]
|
|
mov r1, #0x1000
|
|
add r0, r6, r0, lsl #7
|
|
str r1, [r0, #0x1c4]
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217d570
|
|
_0217d6d0: .word data_027e0fec
|
|
_0217d6d4: .word data_ov38_02188cc0
|
|
|
|
.global func_ov38_0217d6d8
|
|
arm_func_start func_ov38_0217d6d8
|
|
func_ov38_0217d6d8: ; 0x0217d6d8
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r4, r0
|
|
add r2, sp, #0x10
|
|
add r0, r4, #0x48
|
|
add r1, r4, #0x14
|
|
bl func_01ff9bf8
|
|
mov r1, #0
|
|
add r0, sp, #0x10
|
|
str r1, [sp, #0x14]
|
|
bl func_01ff9cec
|
|
cmp r0, #0x1400
|
|
ble _0217d760
|
|
add r0, sp, #0x10
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
beq _0217d760
|
|
add r1, sp, #0x10
|
|
add r2, r4, #0x14
|
|
add r3, r4, #0x48
|
|
mov r0, #0x1400
|
|
ldr r5, [r4, #0x4c]
|
|
bl func_01ff9e64
|
|
add r0, sp, #0x10
|
|
add r1, r4, #0x60
|
|
str r5, [r4, #0x4c]
|
|
bl func_01ff9c2c
|
|
ldr r2, _0217d904 ; =0xffffe99a
|
|
add r1, sp, #0x10
|
|
mul r2, r0, r2
|
|
mov r0, r2, asr #0xc
|
|
add r2, r4, #0x60
|
|
mov r3, r2
|
|
bl func_01ff9e64
|
|
_0217d760:
|
|
ldr r1, _0217d908 ; =data_027e0f94
|
|
add r2, sp, #0x10
|
|
add r0, r4, #0x48
|
|
bl func_01ff9bf8
|
|
mov r1, #0
|
|
add r0, sp, #0x10
|
|
str r1, [sp, #0x14]
|
|
bl func_01ff9cec
|
|
mov r5, r0
|
|
cmp r5, #0x5000
|
|
bge _0217d7b8
|
|
add r0, sp, #0x10
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
beq _0217d7b8
|
|
rsb r0, r5, #0x5000
|
|
mov r0, r0, lsl #0xa
|
|
add r2, r4, #0x60
|
|
add r1, sp, #0x10
|
|
mov r0, r0, asr #0xc
|
|
mov r3, r2
|
|
bl func_01ff9e64
|
|
_0217d7b8:
|
|
add r0, r4, #0x48
|
|
add r1, r4, #0x60
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
ldr r1, [r4, #0x60]
|
|
ldr r0, _0217d90c ; =0x00000d9a
|
|
mov r2, #0x200
|
|
mul r3, r1, r0
|
|
mov r1, r3, asr #0xc
|
|
str r1, [r4, #0x60]
|
|
mov r1, #0
|
|
str r1, [r4, #0x64]
|
|
ldr r3, [r4, #0x68]
|
|
mov r1, #0xb6
|
|
mul r0, r3, r0
|
|
mov r0, r0, asr #0xc
|
|
str r0, [r4, #0x68]
|
|
add r0, r4, #0x1000
|
|
str r1, [sp]
|
|
ldrsh r1, [r0, #0x7c]
|
|
mov r3, r2
|
|
add r0, r4, #0x78
|
|
bl func_ov38_0217c994
|
|
mov r0, #0x14
|
|
str r0, [sp]
|
|
ldr r1, [r4, #0x18]
|
|
mov r2, #0x200
|
|
add r0, r4, #0x4c
|
|
sub r1, r1, #0x800
|
|
sub r3, r2, #0x66
|
|
bl func_ov38_0217ca04
|
|
add ip, r4, #0x1000
|
|
ldrb r0, [ip, #0xa0]
|
|
cmp r0, #0
|
|
bne _0217d874
|
|
ldr r0, [r4, #0x18]
|
|
ldr r1, [r4, #0x4c]
|
|
sub r0, r0, #0x2800
|
|
cmp r1, r0
|
|
ble _0217d874
|
|
ldr r0, _0217d910 ; =data_027e0ffc
|
|
mov lr, #1
|
|
add r2, r4, #0x48
|
|
mov r1, #0x430
|
|
mov r3, #0
|
|
strb lr, [ip, #0xa0]
|
|
bl func_ov00_020ceacc
|
|
_0217d874:
|
|
ldr r1, [r4, #0x48]
|
|
add r0, r4, #4
|
|
str r1, [sp, #4]
|
|
ldr r1, [r4, #0x4c]
|
|
add r0, r0, #0x1000
|
|
str r1, [sp, #8]
|
|
ldr r2, [r4, #0x50]
|
|
add r1, sp, #4
|
|
str r2, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
ldr r2, [r2, #0x30]
|
|
blx r2
|
|
ldrsh r1, [r4, #0x78]
|
|
mov r0, #0
|
|
ldr lr, _0217d914 ; =data_02050f54
|
|
add r1, r1, r1, lsr #31
|
|
mov r1, r1, lsl #0xf
|
|
mov r1, r1, lsr #0x10
|
|
mov r1, r1, asr #0x4
|
|
mov ip, r1, lsl #0x1
|
|
add r3, ip, #1
|
|
mov ip, ip, lsl #0x1
|
|
mov r3, r3, lsl #0x1
|
|
add r1, r4, #0x394
|
|
ldrsh ip, [lr, ip]
|
|
str r0, [r4, #0xfb8]
|
|
ldrsh r3, [lr, r3]
|
|
str ip, [r4, #0xfbc]
|
|
str r0, [r4, #0xfc0]
|
|
add r2, r4, #0x3b8
|
|
add r0, r2, #0xc00
|
|
add r1, r1, #0xc00
|
|
str r3, [r4, #0xfc4]
|
|
bl func_ov00_020d5cd8
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217d6d8
|
|
_0217d904: .word 0xffffe99a
|
|
_0217d908: .word data_027e0f94
|
|
_0217d90c: .word 0x00000d9a
|
|
_0217d910: .word data_027e0ffc
|
|
_0217d914: .word data_02050f54
|
|
|
|
.global func_ov38_0217d918
|
|
arm_func_start func_ov38_0217d918
|
|
func_ov38_0217d918: ; 0x0217d918
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x28
|
|
mov r7, r0
|
|
mov r4, #1
|
|
bl func_ov38_0217dac0
|
|
ldr r1, [r7, #8]
|
|
mov r5, r0
|
|
bl func_ov14_0213d440
|
|
movs r6, r0
|
|
bmi _0217da1c
|
|
mov r0, r5
|
|
bl func_ov14_0213d420
|
|
cmp r0, #0
|
|
movne r0, r4
|
|
moveq r0, #0
|
|
cmp r0, #0
|
|
beq _0217da14
|
|
add r2, sp, #0x1c
|
|
mov r0, r5
|
|
mov r1, r6
|
|
bl func_ov14_0213d81c
|
|
cmp r0, #0
|
|
beq _0217da0c
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r7, #0x60
|
|
add r1, r1, r1, lsl #1
|
|
mov r1, r1, lsl #0xa
|
|
add r1, r1, #0x800
|
|
mov r1, r1, asr #0xc
|
|
str r1, [r7, #0x60]
|
|
ldr r2, [sp, #0x24]
|
|
add r1, r7, #0x48
|
|
add r2, r2, r2, lsl #1
|
|
mov r2, r2, lsl #0xa
|
|
add r2, r2, #0x800
|
|
mov r3, r2, asr #0xc
|
|
mov r2, r1
|
|
str r3, [r7, #0x68]
|
|
bl func_01ff9bc4
|
|
add r0, r7, #0x48
|
|
add r1, r7, #0x14
|
|
bl func_01ff9ec0
|
|
cmp r0, #0x3000
|
|
bge _0217d9f0
|
|
add r1, sp, #0xc
|
|
mov r0, r7
|
|
bl func_ov00_020c2a0c
|
|
add r2, sp, #0xc
|
|
mov r0, r5
|
|
mov r1, r6
|
|
bl func_ov14_0213dadc
|
|
cmp r0, #0
|
|
moveq r4, #0
|
|
b _0217da20
|
|
_0217d9f0:
|
|
mov r0, r5
|
|
mov r1, r6
|
|
bl func_ov14_0213d91c
|
|
mov r0, r5
|
|
bl func_ov57_02199e24
|
|
mov r4, #0
|
|
b _0217da20
|
|
_0217da0c:
|
|
mov r4, #0
|
|
b _0217da20
|
|
_0217da14:
|
|
mov r4, #0
|
|
b _0217da20
|
|
_0217da1c:
|
|
mov r4, #0
|
|
_0217da20:
|
|
ldr r1, [r7, #0x48]
|
|
add r0, r7, #4
|
|
str r1, [sp]
|
|
ldr r1, [r7, #0x4c]
|
|
add r0, r0, #0x1000
|
|
str r1, [sp, #4]
|
|
ldr r2, [r7, #0x50]
|
|
add r1, sp, #0
|
|
str r2, [sp, #8]
|
|
ldr r2, [r0]
|
|
ldr r2, [r2, #0x30]
|
|
blx r2
|
|
ldrsh r1, [r7, #0x78]
|
|
mov r0, #0
|
|
ldr r6, _0217dabc ; =data_02050f54
|
|
add r1, r1, r1, lsr #31
|
|
mov r1, r1, lsl #0xf
|
|
mov r1, r1, lsr #0x10
|
|
mov r1, r1, asr #0x4
|
|
mov r5, r1, lsl #0x1
|
|
add r3, r5, #1
|
|
mov r5, r5, lsl #0x1
|
|
mov r3, r3, lsl #0x1
|
|
add r1, r7, #0x394
|
|
ldrsh r5, [r6, r5]
|
|
str r0, [r7, #0xfb8]
|
|
ldrsh r3, [r6, r3]
|
|
str r5, [r7, #0xfbc]
|
|
str r0, [r7, #0xfc0]
|
|
add r2, r7, #0x3b8
|
|
add r0, r2, #0xc00
|
|
add r1, r1, #0xc00
|
|
str r3, [r7, #0xfc4]
|
|
bl func_ov00_020d5cd8
|
|
cmp r4, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
add sp, sp, #0x28
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217d918
|
|
_0217dabc: .word data_02050f54
|
|
|
|
.global func_ov38_0217dac0
|
|
arm_func_start func_ov38_0217dac0
|
|
func_ov38_0217dac0: ; 0x0217dac0
|
|
ldr ip, _0217dacc ; =func_01fffcec
|
|
mov r0, #6
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217dac0
|
|
_0217dacc: .word func_01fffcec
|
|
|
|
.global func_ov38_0217dad0
|
|
arm_func_start func_ov38_0217dad0
|
|
func_ov38_0217dad0: ; 0x0217dad0
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r4, r0
|
|
add r2, sp, #0x10
|
|
add r0, r4, #0x48
|
|
add r1, r4, #0x14
|
|
bl func_01ff9bf8
|
|
mov r1, #0
|
|
add r0, sp, #0x10
|
|
str r1, [sp, #0x14]
|
|
bl func_01ff9cec
|
|
mov r5, r0
|
|
cmp r5, #0x2800
|
|
ble _0217db58
|
|
add r0, sp, #0x10
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
beq _0217dbbc
|
|
add r1, sp, #0x10
|
|
add r2, r4, #0x14
|
|
add r3, r4, #0x48
|
|
mov r0, #0x2800
|
|
ldr r5, [r4, #0x4c]
|
|
bl func_01ff9e64
|
|
add r0, sp, #0x10
|
|
add r1, r4, #0x60
|
|
str r5, [r4, #0x4c]
|
|
bl func_01ff9c2c
|
|
add r2, r4, #0x60
|
|
add r1, sp, #0x10
|
|
rsb r0, r0, #0
|
|
mov r3, r2
|
|
bl func_01ff9e64
|
|
b _0217dbbc
|
|
_0217db58:
|
|
ldr r0, [r4, #0x2d8]
|
|
cmp r0, #4
|
|
bne _0217dbbc
|
|
cmp r5, #0x2800
|
|
bge _0217dbbc
|
|
add r0, sp, #0x10
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
bne _0217db9c
|
|
mov r0, #0x1000
|
|
mov r1, #0
|
|
str r0, [sp, #0x18]
|
|
str r1, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
ldrsh r1, [r4, #0x78]
|
|
add r0, sp, #0x10
|
|
bl func_ov00_020a61ac
|
|
_0217db9c:
|
|
rsb r1, r5, #0x2800
|
|
mov r0, #0x14
|
|
mul r0, r1, r0
|
|
add r2, r4, #0x60
|
|
add r1, sp, #0x10
|
|
mov r0, r0, asr #0xc
|
|
mov r3, r2
|
|
bl func_01ff9e64
|
|
_0217dbbc:
|
|
add r0, r4, #0x48
|
|
add r1, r4, #0x60
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
ldr r2, [r4, #0x60]
|
|
ldr r0, _0217dcd4 ; =0x00000f33
|
|
mov r1, #0
|
|
mul r3, r2, r0
|
|
mov r2, r3, asr #0xc
|
|
str r2, [r4, #0x60]
|
|
str r1, [r4, #0x64]
|
|
ldr r1, [r4, #0x68]
|
|
mul r0, r1, r0
|
|
mov r0, r0, asr #0xc
|
|
str r0, [r4, #0x68]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, [sp, #0x18]
|
|
bl func_01ffa0f4
|
|
mov r0, r0, lsl #0x10
|
|
mov r2, #0x400
|
|
mov ip, #0xb6
|
|
mov r1, r0, asr #0x10
|
|
mov r3, r2
|
|
add r0, r4, #0x78
|
|
str ip, [sp]
|
|
bl func_ov38_0217c994
|
|
mov r0, #0x14
|
|
str r0, [sp]
|
|
ldr r1, [r4, #0x18]
|
|
add r0, r4, #0x4c
|
|
sub r1, r1, #0x1c00
|
|
mov r2, #0x200
|
|
mov r3, #0xcd
|
|
bl func_ov38_0217ca04
|
|
ldr r1, [r4, #0x48]
|
|
add r0, r4, #4
|
|
str r1, [sp, #4]
|
|
ldr r2, [r4, #0x4c]
|
|
add r0, r0, #0x1000
|
|
str r2, [sp, #8]
|
|
ldr r2, [r4, #0x50]
|
|
add r1, sp, #4
|
|
str r2, [sp, #0xc]
|
|
ldr r2, [r0]
|
|
ldr r2, [r2, #0x30]
|
|
blx r2
|
|
ldrsh r0, [r4, #0x78]
|
|
mov ip, #0
|
|
ldr r2, _0217dcd8 ; =data_02050f54
|
|
add r0, r0, r0, lsr #31
|
|
mov r0, r0, lsl #0xf
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
mov r3, r0, lsl #0x1
|
|
mov r0, r3, lsl #0x1
|
|
ldrsh r1, [r2, r0]
|
|
add r0, r3, #1
|
|
mov r0, r0, lsl #0x1
|
|
str ip, [r4, #0xfb8]
|
|
str r1, [r4, #0xfbc]
|
|
add r1, r4, #0x394
|
|
ldrsh r0, [r2, r0]
|
|
str ip, [r4, #0xfc0]
|
|
add r1, r1, #0xc00
|
|
str r0, [r4, #0xfc4]
|
|
add r0, r4, #0x3b8
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d5cd8
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217dad0
|
|
_0217dcd4: .word 0x00000f33
|
|
_0217dcd8: .word data_02050f54
|
|
|
|
.global func_ov38_0217dcdc
|
|
arm_func_start func_ov38_0217dcdc
|
|
func_ov38_0217dcdc: ; 0x0217dcdc
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x10
|
|
ldr r1, _0217ddb8 ; =data_027e0d0c
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
mov r3, #0x10
|
|
str r0, [r4, #0x60]
|
|
ldr r0, [r1, #4]
|
|
ldr r2, _0217ddbc ; =0x0000019a
|
|
str r0, [r4, #0x64]
|
|
ldr r1, [r1, #8]
|
|
add r0, r4, #0x78
|
|
str r1, [r4, #0x68]
|
|
str r3, [sp]
|
|
ldrsh r1, [r4, #0x12]
|
|
mov r3, #0x100
|
|
bl func_ov38_0217c994
|
|
add r0, r4, #0x14
|
|
add r3, sp, #4
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r1, [sp, #8]
|
|
mov r0, #0x14
|
|
sub r1, r1, #0x3800
|
|
str r1, [sp, #8]
|
|
mov r1, r3
|
|
str r0, [sp]
|
|
ldr r2, _0217ddc0 ; =0x00000266
|
|
add r0, r4, #0x48
|
|
mov r3, #0xa4
|
|
bl func_ov38_0217ca70
|
|
ldrsh r0, [r4, #0x78]
|
|
mov r2, #0
|
|
ldr lr, _0217ddc4 ; =data_02050f54
|
|
add r0, r0, r0, lsr #31
|
|
mov r0, r0, lsl #0xf
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
mov r3, r0, lsl #0x1
|
|
add r1, r4, #0x3b8
|
|
mov ip, r3, lsl #0x1
|
|
add r0, r1, #0xc00
|
|
add r1, r3, #1
|
|
mov r3, r1, lsl #0x1
|
|
add r1, r4, #0x394
|
|
ldrsh ip, [lr, ip]
|
|
str r2, [r4, #0xfb8]
|
|
ldrsh r3, [lr, r3]
|
|
str ip, [r4, #0xfbc]
|
|
str r2, [r4, #0xfc0]
|
|
add r1, r1, #0xc00
|
|
str r3, [r4, #0xfc4]
|
|
bl func_ov00_020d5cd8
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217dcdc
|
|
_0217ddb8: .word data_027e0d0c
|
|
_0217ddbc: .word 0x0000019a
|
|
_0217ddc0: .word 0x00000266
|
|
_0217ddc4: .word data_02050f54
|
|
|
|
.global func_ov38_0217ddc8
|
|
arm_func_start func_ov38_0217ddc8
|
|
func_ov38_0217ddc8: ; 0x0217ddc8
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r0
|
|
mov r0, #0xb6
|
|
str r0, [sp]
|
|
add r0, r4, #0x1000
|
|
mov r2, #0x400
|
|
ldrsh r1, [r0, #0x7c]
|
|
mov r3, r2
|
|
add r0, r4, #0x78
|
|
bl func_ov38_0217c994
|
|
ldrsh r1, [r4, #0x78]
|
|
ldr lr, _0217de54 ; =data_02050f54
|
|
mov r0, #0
|
|
add r1, r1, r1, lsr #31
|
|
mov r1, r1, lsl #0xf
|
|
mov r1, r1, lsr #0x10
|
|
mov r1, r1, asr #0x4
|
|
mov r1, r1, lsl #0x1
|
|
mov ip, r1, lsl #0x1
|
|
add r1, r1, #1
|
|
mov r3, r1, lsl #0x1
|
|
add r1, r4, #0x3b8
|
|
add r2, r4, #0x394
|
|
ldrsh ip, [lr, ip]
|
|
str r0, [r4, #0xfb8]
|
|
ldrsh r3, [lr, r3]
|
|
str ip, [r4, #0xfbc]
|
|
str r0, [r4, #0xfc0]
|
|
add r0, r1, #0xc00
|
|
add r1, r2, #0xc00
|
|
str r3, [r4, #0xfc4]
|
|
bl func_ov00_020d5cd8
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217ddc8
|
|
_0217de54: .word data_02050f54
|
|
|
|
.global func_ov38_0217de58
|
|
arm_func_start func_ov38_0217de58
|
|
func_ov38_0217de58: ; 0x0217de58
|
|
stmdb sp!, {r4, lr}
|
|
mov r2, r0
|
|
ldrsh r1, [r2, #0x78]
|
|
mov r0, #0
|
|
add r3, r2, #0x3b8
|
|
add r1, r1, r1, lsr #31
|
|
mov r1, r1, lsl #0xf
|
|
mov r1, r1, lsr #0x10
|
|
mov r1, r1, asr #0x4
|
|
mov r1, r1, lsl #0x1
|
|
ldr r4, _0217debc ; =data_02050f54
|
|
mov lr, r1, lsl #0x1
|
|
add r1, r1, #1
|
|
mov ip, r1, lsl #0x1
|
|
add r1, r2, #0x394
|
|
ldrsh lr, [r4, lr]
|
|
str r0, [r2, #0xfb8]
|
|
ldrsh ip, [r4, ip]
|
|
str lr, [r2, #0xfbc]
|
|
str r0, [r2, #0xfc0]
|
|
add r0, r3, #0xc00
|
|
add r1, r1, #0xc00
|
|
str ip, [r2, #0xfc4]
|
|
bl func_ov00_020d5cd8
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217de58
|
|
_0217debc: .word data_02050f54
|
|
|
|
.global func_ov38_0217dec0
|
|
arm_func_start func_ov38_0217dec0
|
|
func_ov38_0217dec0: ; 0x0217dec0
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x48
|
|
mov r4, r0
|
|
mov r0, #0xb6
|
|
str r0, [sp]
|
|
add r0, r4, #0x1000
|
|
ldrsh r1, [r0, #0x7c]
|
|
mov r2, #0x400
|
|
mov r3, r2
|
|
add r0, r4, #0x78
|
|
bl func_ov38_0217c994
|
|
ldr r1, [r4, #0x48]
|
|
add r0, r4, #0x3d8
|
|
str r1, [sp, #0x10]
|
|
ldr r2, [r4, #0x4c]
|
|
add r1, sp, #0x10
|
|
str r2, [sp, #0x14]
|
|
ldr r3, [r4, #0x50]
|
|
add r2, sp, #0x3c
|
|
add r0, r0, #0xc00
|
|
str r3, [sp, #0x18]
|
|
bl func_01ff9bf8
|
|
ldr r1, [sp, #0x40]
|
|
add r0, sp, #0x3c
|
|
add r1, r1, #0x1000
|
|
str r1, [sp, #0x40]
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
beq _0217dfa0
|
|
mov r0, #0x1000
|
|
mov r1, #0
|
|
str r0, [sp, #0x38]
|
|
str r1, [sp, #0x2c]
|
|
str r1, [sp, #0x30]
|
|
str r1, [sp, #0x34]
|
|
ldr r1, [r4, #0xfa0]
|
|
add r0, sp, #0x1c
|
|
str r1, [sp, #4]
|
|
ldr r2, [r4, #0xfa4]
|
|
add r1, sp, #4
|
|
str r2, [sp, #8]
|
|
ldr r3, [r4, #0xfa8]
|
|
add r2, sp, #0x3c
|
|
str r3, [sp, #0xc]
|
|
bl func_ov00_020d5f98
|
|
ldr r2, _0217dfe0 ; =0x0000010a
|
|
add r0, sp, #0x2c
|
|
add r1, sp, #0x1c
|
|
bl func_ov00_020d5a68
|
|
add r0, r4, #0x3b8
|
|
add r1, sp, #0x2c
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d5eac
|
|
add r0, r4, #0x3b8
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d5c54
|
|
_0217dfa0:
|
|
add r0, r4, #0x88
|
|
mov r1, #0x2800
|
|
mov r2, #0x800
|
|
mov ip, #0xb6
|
|
add r0, r0, #0x1000
|
|
rsb r1, r1, #0
|
|
sub r3, r2, #0xe4
|
|
str ip, [sp]
|
|
bl func_ov38_0217c994
|
|
add r0, r4, #0x3b8
|
|
add r1, r4, #0x394
|
|
add r0, r0, #0xc00
|
|
add r1, r1, #0xc00
|
|
bl func_ov00_020d5cd8
|
|
add sp, sp, #0x48
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217dec0
|
|
_0217dfe0: .word 0x0000010a
|
|
|
|
.global func_ov38_0217dfe4
|
|
arm_func_start func_ov38_0217dfe4
|
|
func_ov38_0217dfe4: ; 0x0217dfe4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x68
|
|
mov r5, r0
|
|
mov r0, #0xb6
|
|
str r0, [sp]
|
|
add r0, r5, #0x1000
|
|
ldrsh r1, [r0, #0x7c]
|
|
mov r2, #0x400
|
|
mov r3, r2
|
|
add r0, r5, #0x78
|
|
bl func_ov38_0217c994
|
|
ldr r1, [r5, #0x48]
|
|
add r0, r5, #0x3d8
|
|
str r1, [sp, #0x10]
|
|
ldr r2, [r5, #0x4c]
|
|
add r1, sp, #0x10
|
|
str r2, [sp, #0x14]
|
|
ldr r3, [r5, #0x50]
|
|
add r2, sp, #0x5c
|
|
add r0, r0, #0xc00
|
|
str r3, [sp, #0x18]
|
|
bl func_01ff9bf8
|
|
add r0, sp, #0x5c
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
beq _0217e0b8
|
|
mov r0, #0x1000
|
|
mov r1, #0
|
|
str r0, [sp, #0x58]
|
|
str r1, [sp, #0x4c]
|
|
str r1, [sp, #0x50]
|
|
str r1, [sp, #0x54]
|
|
ldr r1, [r5, #0xfa0]
|
|
add r0, sp, #0x3c
|
|
str r1, [sp, #4]
|
|
ldr r2, [r5, #0xfa4]
|
|
add r1, sp, #4
|
|
str r2, [sp, #8]
|
|
ldr r3, [r5, #0xfa8]
|
|
add r2, sp, #0x5c
|
|
str r3, [sp, #0xc]
|
|
bl func_ov00_020d5f98
|
|
add r0, sp, #0x4c
|
|
add r1, sp, #0x3c
|
|
mov r2, #0x200
|
|
bl func_ov00_020d5a68
|
|
add r0, r5, #0x3b8
|
|
add r1, sp, #0x4c
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d5eac
|
|
add r0, r5, #0x3b8
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d5c54
|
|
_0217e0b8:
|
|
add r0, r5, #0x1000
|
|
ldrsh r2, [r0, #0x94]
|
|
ldrsh r0, [r0, #0x84]
|
|
ldr r1, _0217e254 ; =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 _0217e0f0
|
|
cmp r2, #0
|
|
rsblt r0, r2, #0
|
|
movlt r0, r0, lsl #0x10
|
|
movlt r2, r0, asr #0x10
|
|
_0217e0f0:
|
|
add r0, r5, #0x1000
|
|
ldr r1, [r0, #0x74]
|
|
cmp r1, #5
|
|
bne _0217e12c
|
|
add r0, r5, #0x88
|
|
mov r1, #0x2800
|
|
mov r2, #0x800
|
|
mov r4, #0xb6
|
|
add r0, r0, #0x1000
|
|
rsb r1, r1, #0
|
|
sub r3, r2, #0xe4
|
|
str r4, [sp]
|
|
bl func_ov38_0217c994
|
|
mov r4, #1
|
|
b _0217e1c4
|
|
_0217e12c:
|
|
cmp r2, #0x2000
|
|
bgt _0217e140
|
|
ldr r0, [r0, #0x54]
|
|
cmp r0, #0
|
|
bne _0217e16c
|
|
_0217e140:
|
|
add r0, r5, #0x88
|
|
mov r1, #0x2800
|
|
mov r2, #0x800
|
|
mov r4, #0xb6
|
|
add r0, r0, #0x1000
|
|
rsb r1, r1, #0
|
|
sub r3, r2, #0xe4
|
|
str r4, [sp]
|
|
bl func_ov38_0217c994
|
|
mov r4, #0
|
|
b _0217e1c4
|
|
_0217e16c:
|
|
add r0, r5, #0x88
|
|
mov r1, #0x2800
|
|
mov r2, #0x800
|
|
mov r4, #0xb6
|
|
add r0, r0, #0x1000
|
|
rsb r1, r1, #0
|
|
sub r3, r2, #0xe4
|
|
str r4, [sp]
|
|
bl func_ov38_0217c994
|
|
ldr r0, _0217e258 ; =data_02051054
|
|
mov r4, #0
|
|
ldrsh r3, [r0, #0x80]
|
|
ldrsh r2, [r0, #0x82]
|
|
add r0, r5, #0x3b8
|
|
add r1, sp, #0x1c
|
|
add r0, r0, #0xc00
|
|
str r4, [sp, #0x1c]
|
|
str r3, [sp, #0x20]
|
|
str r4, [sp, #0x24]
|
|
str r2, [sp, #0x28]
|
|
bl func_ov00_020d5dc4
|
|
mov r4, #1
|
|
_0217e1c4:
|
|
add r0, r5, #0x3b8
|
|
add r1, r5, #0x394
|
|
add r0, r0, #0xc00
|
|
add r1, r1, #0xc00
|
|
bl func_ov00_020d5cd8
|
|
add r0, r5, #0x1000
|
|
ldr r0, [r0, #0x54]
|
|
mov r3, #0
|
|
cmp r0, #0
|
|
ble _0217e224
|
|
ldr r0, _0217e25c ; =data_ov38_02188ca0
|
|
ldr r2, [r5, #0x2e0]
|
|
ldr r0, [r0, #0x248]
|
|
mov ip, #1
|
|
cmp r2, r0
|
|
ldr r0, _0217e260 ; =data_ov38_02188ee8
|
|
bne _0217e21c
|
|
ldr r1, [r5, #0x2e4]
|
|
ldr r0, [r0, #4]
|
|
cmp r1, r0
|
|
cmpne r2, #0
|
|
moveq ip, #0
|
|
_0217e21c:
|
|
cmp ip, #0
|
|
movne r3, #1
|
|
_0217e224:
|
|
cmp r3, #0
|
|
beq _0217e248
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r3, [r5, #8]
|
|
ldr r0, _0217e264 ; =data_027e0ffc
|
|
ldr r1, _0217e268 ; =0x00000444
|
|
add r2, r5, #0x48
|
|
bl func_ov00_020cec60
|
|
_0217e248:
|
|
mov r0, r4
|
|
add sp, sp, #0x68
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217dfe4
|
|
_0217e254: .word 0xffff8001
|
|
_0217e258: .word data_02051054
|
|
_0217e25c: .word data_ov38_02188ca0
|
|
_0217e260: .word data_ov38_02188ee8
|
|
_0217e264: .word data_027e0ffc
|
|
_0217e268: .word 0x00000444
|
|
|
|
.global func_ov38_0217e26c
|
|
arm_func_start func_ov38_0217e26c
|
|
func_ov38_0217e26c: ; 0x0217e26c
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x58
|
|
mov r6, r0
|
|
mov r0, #0xb6
|
|
str r0, [sp]
|
|
mov r4, r2
|
|
mov r2, #0x400
|
|
add r0, r6, #0x1000
|
|
mov r5, r1
|
|
ldrsh r1, [r0, #0x7c]
|
|
mov r3, r2
|
|
add r0, r6, #0x78
|
|
bl func_ov38_0217c994
|
|
ldr r1, [r6, #0x48]
|
|
add r0, r6, #0x3d8
|
|
str r1, [sp, #0x10]
|
|
ldr r2, [r6, #0x4c]
|
|
add r1, sp, #0x10
|
|
str r2, [sp, #0x14]
|
|
ldr r3, [r6, #0x50]
|
|
add r2, sp, #0x4c
|
|
add r0, r0, #0xc00
|
|
str r3, [sp, #0x18]
|
|
bl func_01ff9bf8
|
|
add r0, sp, #0x4c
|
|
mov r1, r4
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
add r0, sp, #0x4c
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
beq _0217e358
|
|
mov r0, #0x1000
|
|
mov r1, #0
|
|
str r0, [sp, #0x48]
|
|
str r1, [sp, #0x3c]
|
|
str r1, [sp, #0x40]
|
|
str r1, [sp, #0x44]
|
|
ldr r1, [r6, #0xfa0]
|
|
add r0, sp, #0x2c
|
|
str r1, [sp, #4]
|
|
ldr r2, [r6, #0xfa4]
|
|
add r1, sp, #4
|
|
str r2, [sp, #8]
|
|
ldr r3, [r6, #0xfa8]
|
|
add r2, sp, #0x4c
|
|
str r3, [sp, #0xc]
|
|
bl func_ov00_020d5f98
|
|
add r0, sp, #0x3c
|
|
add r1, sp, #0x2c
|
|
mov r2, #0x200
|
|
bl func_ov00_020d5a68
|
|
add r0, r6, #0x3b8
|
|
add r1, sp, #0x3c
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d5eac
|
|
add r0, r6, #0x3b8
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d5c54
|
|
_0217e358:
|
|
add r0, r6, #0x88
|
|
mov r2, #0x800
|
|
mov r4, #0xb6
|
|
add r0, r0, #0x1000
|
|
sub r3, r2, #0xe4
|
|
mov r1, #0
|
|
str r4, [sp]
|
|
bl func_ov38_0217c994
|
|
add r0, r6, #0x3b8
|
|
mov r1, r5
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d5dc4
|
|
add r0, r6, #0x3b8
|
|
add r1, r6, #0x394
|
|
add r0, r0, #0xc00
|
|
add r1, r1, #0xc00
|
|
bl func_ov00_020d5cd8
|
|
add sp, sp, #0x58
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end func_ov38_0217e26c
|
|
|
|
.global func_ov38_0217e3a4
|
|
arm_func_start func_ov38_0217e3a4
|
|
func_ov38_0217e3a4: ; 0x0217e3a4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x58
|
|
mov r6, r0
|
|
mov r0, #0xb6
|
|
str r0, [sp]
|
|
mov r4, r2
|
|
mov r2, #0x400
|
|
add r0, r6, #0x1000
|
|
mov r5, r1
|
|
ldrsh r1, [r0, #0x7c]
|
|
mov r3, r2
|
|
add r0, r6, #0x78
|
|
bl func_ov38_0217c994
|
|
ldr r1, [r6, #0x48]
|
|
add r0, r6, #0x3d8
|
|
str r1, [sp, #0x10]
|
|
ldr r2, [r6, #0x4c]
|
|
add r1, sp, #0x10
|
|
str r2, [sp, #0x14]
|
|
ldr r3, [r6, #0x50]
|
|
add r2, sp, #0x4c
|
|
add r0, r0, #0xc00
|
|
str r3, [sp, #0x18]
|
|
bl func_01ff9bf8
|
|
add r0, sp, #0x4c
|
|
mov r1, r4
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
add r0, sp, #0x4c
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
beq _0217e490
|
|
mov r0, #0x1000
|
|
mov r1, #0
|
|
str r0, [sp, #0x48]
|
|
str r1, [sp, #0x3c]
|
|
str r1, [sp, #0x40]
|
|
str r1, [sp, #0x44]
|
|
ldr r1, [r6, #0xfa0]
|
|
add r0, sp, #0x2c
|
|
str r1, [sp, #4]
|
|
ldr r2, [r6, #0xfa4]
|
|
add r1, sp, #4
|
|
str r2, [sp, #8]
|
|
ldr r3, [r6, #0xfa8]
|
|
add r2, sp, #0x4c
|
|
str r3, [sp, #0xc]
|
|
bl func_ov00_020d5f98
|
|
add r0, sp, #0x3c
|
|
add r1, sp, #0x2c
|
|
mov r2, #0x200
|
|
bl func_ov00_020d5a68
|
|
add r0, r6, #0x3b8
|
|
add r1, sp, #0x3c
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d5eac
|
|
add r0, r6, #0x3b8
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d5c54
|
|
_0217e490:
|
|
add r0, r6, #0x88
|
|
mov r1, #0x2800
|
|
mov r2, #0x800
|
|
mov r4, #0xb6
|
|
add r0, r0, #0x1000
|
|
rsb r1, r1, #0
|
|
sub r3, r2, #0xe4
|
|
str r4, [sp]
|
|
bl func_ov38_0217c994
|
|
add r0, r6, #0x3b8
|
|
mov r1, r5
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d5dc4
|
|
add r0, r6, #0x3b8
|
|
add r1, r6, #0x394
|
|
add r0, r0, #0xc00
|
|
add r1, r1, #0xc00
|
|
bl func_ov00_020d5cd8
|
|
add sp, sp, #0x58
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end func_ov38_0217e3a4
|
|
|
|
.global func_ov38_0217e4e0
|
|
arm_func_start func_ov38_0217e4e0
|
|
func_ov38_0217e4e0: ; 0x0217e4e0
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0xc
|
|
mov r7, r0
|
|
add r3, r7, #0x1000
|
|
ldr r0, _0217e678 ; =data_027e0f94
|
|
add r2, sp, #0
|
|
add r1, r7, #0x14
|
|
ldr r5, [r3, #0x78]
|
|
bl func_01ff9bf8
|
|
mov r1, #0
|
|
add r0, sp, #0
|
|
str r1, [sp, #4]
|
|
bl func_01ff9cec
|
|
add r1, r7, #0x1000
|
|
ldr r2, _0217e678 ; =data_027e0f94
|
|
ldrsh r3, [r1, #0x94]
|
|
ldr r6, [r2, #4]
|
|
mov r4, r0
|
|
strh r3, [r1, #0x96]
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #8]
|
|
bl func_01ffa0f4
|
|
add r1, r7, #0x1000
|
|
ldr r2, _0217e67c ; =0x00011fd7
|
|
strh r0, [r1, #0x94]
|
|
str r4, [r1, #0x48]
|
|
cmp r6, r2
|
|
ble _0217e560
|
|
cmp r4, #0xc000
|
|
movlt r0, #4
|
|
strlt r0, [r1, #0x78]
|
|
b _0217e618
|
|
_0217e560:
|
|
rsb r0, r2, #0x1b000
|
|
cmp r6, r0
|
|
ble _0217e580
|
|
ldr r0, _0217e680 ; =0x0000be66
|
|
cmp r4, r0
|
|
movgt r0, #3
|
|
strgt r0, [r1, #0x78]
|
|
b _0217e618
|
|
_0217e580:
|
|
sub r0, r2, #0x9000
|
|
cmp r6, r0
|
|
ble _0217e59c
|
|
cmp r4, #0xc000
|
|
movlt r0, #2
|
|
strlt r0, [r1, #0x78]
|
|
b _0217e618
|
|
_0217e59c:
|
|
cmp r6, #0x29
|
|
ble _0217e5b8
|
|
ldr r0, _0217e680 ; =0x0000be66
|
|
cmp r4, r0
|
|
movgt r0, #1
|
|
strgt r0, [r1, #0x78]
|
|
b _0217e618
|
|
_0217e5b8:
|
|
sub r0, r2, #0x12000
|
|
cmp r6, r0
|
|
ble _0217e618
|
|
cmp r4, #0xc000
|
|
bge _0217e618
|
|
mov r0, #0
|
|
str r0, [r1, #0x78]
|
|
ldr r0, [r1, #0x74]
|
|
cmp r0, #5
|
|
bne _0217e618
|
|
ldr r0, _0217e684 ; =0x0000bccd
|
|
cmp r4, r0
|
|
bge _0217e618
|
|
mov r0, r7
|
|
bl func_ov00_020c198c
|
|
cmp r0, #0
|
|
beq _0217e618
|
|
add r0, r7, #0x1000
|
|
ldr r1, [r0, #0x74]
|
|
cmp r1, #6
|
|
addlt r1, r1, #1
|
|
strlt r1, [r0, #0x74]
|
|
mov r0, r7
|
|
bl func_ov38_02187520
|
|
_0217e618:
|
|
add r0, r7, #0x1000
|
|
ldr r0, [r0, #0x78]
|
|
cmp r0, #2
|
|
bne _0217e630
|
|
mov r0, r7
|
|
bl func_ov38_0218487c
|
|
_0217e630:
|
|
add r0, r7, #0x1000
|
|
ldr r1, [r0, #0x78]
|
|
cmp r1, r5
|
|
ldrneb r0, [r0, #0xaa]
|
|
cmpne r0, #0
|
|
addeq sp, sp, #0xc
|
|
ldmeqia sp!, {r4, r5, r6, r7, pc}
|
|
bl func_ov29_021716dc
|
|
add r0, r7, #0x1000
|
|
ldr r0, [r0, #0x78]
|
|
cmp r0, #1
|
|
cmpne r0, #3
|
|
addne sp, sp, #0xc
|
|
ldmneia sp!, {r4, r5, r6, r7, pc}
|
|
mov r0, r7
|
|
bl func_ov38_0218425c
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217e4e0
|
|
_0217e678: .word data_027e0f94
|
|
_0217e67c: .word 0x00011fd7
|
|
_0217e680: .word 0x0000be66
|
|
_0217e684: .word 0x0000bccd
|
|
|
|
.global func_ov38_0217e688
|
|
arm_func_start func_ov38_0217e688
|
|
func_ov38_0217e688: ; 0x0217e688
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r0
|
|
add r1, r4, #0x1000
|
|
ldrb r1, [r1, #0xac]
|
|
cmp r1, #0
|
|
beq _0217e73c
|
|
bl func_ov38_0217dac0
|
|
ldr r1, [r4, #8]
|
|
mov r5, r0
|
|
bl func_ov14_0213d440
|
|
add r1, r4, #0x1000
|
|
ldr r2, [r1, #0x5c]
|
|
mov r6, r0
|
|
subs r0, r2, #1
|
|
moveq r7, #1
|
|
movne r7, #0
|
|
str r0, [r1, #0x5c]
|
|
cmp r6, #0
|
|
blt _0217e71c
|
|
mov r0, r5
|
|
bl func_ov14_0213d420
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
cmp r0, #0
|
|
beq _0217e768
|
|
add r1, sp, #0
|
|
mov r0, r4
|
|
bl func_ov00_020c2a0c
|
|
add r2, sp, #0
|
|
mov r0, r5
|
|
mov r1, r6
|
|
bl func_ov14_0213dadc
|
|
add sp, sp, #0x10
|
|
mov r0, r7
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0217e71c:
|
|
ldr r1, [r4, #8]
|
|
mov r0, r5
|
|
bl func_ov14_0213d480
|
|
cmp r0, #0
|
|
blt _0217e768
|
|
add sp, sp, #0x10
|
|
mov r0, r7
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0217e73c:
|
|
bl func_ov00_020c2e7c
|
|
cmp r0, #0
|
|
beq _0217e768
|
|
add r0, r4, #0x1000
|
|
mov r1, #1
|
|
strb r1, [r0, #0xac]
|
|
mov r1, #0xa
|
|
str r1, [r0, #0x5c]
|
|
add sp, sp, #0x10
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0217e768:
|
|
add r1, r4, #0x1000
|
|
mov r0, #0
|
|
strb r0, [r1, #0xac]
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end func_ov38_0217e688
|
|
|
|
.global func_ov38_0217e77c
|
|
arm_func_start func_ov38_0217e77c
|
|
func_ov38_0217e77c: ; 0x0217e77c
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x3c
|
|
mov r5, r0
|
|
bl func_ov38_02184120
|
|
ldr r1, _0217e8b4 ; =data_027e0f94
|
|
mov r4, r0
|
|
ldr r2, [r1]
|
|
ldr r0, [r1, #4]
|
|
str r2, [sp, #0x18]
|
|
str r0, [sp, #0x1c]
|
|
ldr r1, [r1, #8]
|
|
add r0, sp, #0x18
|
|
str r1, [sp, #0x20]
|
|
ldr r2, [r5, #0x14]
|
|
add r1, sp, #0xc
|
|
str r2, [sp, #0xc]
|
|
ldr r3, [r5, #0x18]
|
|
add r2, sp, #0x30
|
|
str r3, [sp, #0x10]
|
|
ldr r3, [r5, #0x1c]
|
|
str r3, [sp, #0x14]
|
|
bl func_01ff9bf8
|
|
mov r1, #0
|
|
add r0, sp, #0x30
|
|
str r1, [sp, #0x34]
|
|
bl func_01ff9cec
|
|
mov r6, r0
|
|
cmp r6, #0xb800
|
|
movgt r6, #0xb800
|
|
bgt _0217e7fc
|
|
cmp r6, #0x5000
|
|
movlt r6, #0x5000
|
|
_0217e7fc:
|
|
add r0, sp, #0x30
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
bne _0217e820
|
|
mov r1, #0
|
|
mov r0, #0x1000
|
|
str r1, [sp, #0x30]
|
|
str r1, [sp, #0x34]
|
|
str r0, [sp, #0x38]
|
|
_0217e820:
|
|
add r0, sp, #0x30
|
|
mov r1, r6
|
|
bl func_01fffbec
|
|
ldr r1, [r5, #0x14]
|
|
add r0, sp, #0x30
|
|
str r1, [sp]
|
|
ldr r2, [r5, #0x18]
|
|
add r1, sp, #0
|
|
str r2, [sp, #4]
|
|
ldr r3, [r5, #0x1c]
|
|
mov r2, r0
|
|
str r3, [sp, #8]
|
|
bl func_01ff9bc4
|
|
mov r2, #0
|
|
add r1, sp, #0x30
|
|
mov r0, r4
|
|
str r2, [sp, #0x34]
|
|
bl func_ov29_0217036c
|
|
mov r0, #0
|
|
ldr r1, _0217e8b8 ; =0xfffffe66
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
str r1, [sp, #0x2c]
|
|
ldrsh r1, [r5, #0x78]
|
|
add r0, sp, #0x24
|
|
bl func_ov00_020a61ac
|
|
add r1, r5, #0x60
|
|
add r0, sp, #0x24
|
|
mov r2, r1
|
|
bl func_01ff9bc4
|
|
ldr r0, _0217e8bc ; =data_027e0ffc
|
|
ldr r1, _0217e8c0 ; =0x00000431
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
add sp, sp, #0x3c
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217e77c
|
|
_0217e8b4: .word data_027e0f94
|
|
_0217e8b8: .word 0xfffffe66
|
|
_0217e8bc: .word data_027e0ffc
|
|
_0217e8c0: .word 0x00000431
|
|
|
|
.global func_ov38_0217e8c4
|
|
arm_func_start func_ov38_0217e8c4
|
|
func_ov38_0217e8c4: ; 0x0217e8c4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x50
|
|
ldr r2, _0217ea44 ; =data_ov38_02188908
|
|
ldr r1, _0217ea48 ; =data_027e0f94
|
|
ldrh r5, [r2, #0xc0]
|
|
ldr r4, [r1]
|
|
ldr r3, [r1, #4]
|
|
str r4, [sp, #0x20]
|
|
str r3, [sp, #0x24]
|
|
ldr r1, [r1, #8]
|
|
mov r4, r0
|
|
str r1, [sp, #0x28]
|
|
ldr r0, [r4, #0x14]
|
|
ldrh r7, [r2, #0xbc]
|
|
str r0, [sp, #0x14]
|
|
ldrh r6, [r2, #0xbe]
|
|
ldr r0, [r4, #0x18]
|
|
add r1, sp, #0x14
|
|
str r0, [sp, #0x18]
|
|
ldr r3, [r4, #0x1c]
|
|
add r0, sp, #0x20
|
|
add r2, sp, #0x44
|
|
strh r7, [sp]
|
|
strh r6, [sp, #2]
|
|
strh r5, [sp, #4]
|
|
str r3, [sp, #0x1c]
|
|
bl func_01ff9bf8
|
|
mov r1, #0
|
|
add r0, sp, #0x44
|
|
str r1, [sp, #0x48]
|
|
bl func_01ff9cec
|
|
mov r5, r0
|
|
cmp r5, #0xb800
|
|
movgt r5, #0xb800
|
|
bgt _0217e958
|
|
cmp r5, #0x5000
|
|
movlt r5, #0x5000
|
|
_0217e958:
|
|
add r0, sp, #0x44
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
bne _0217e97c
|
|
mov r1, #0
|
|
mov r0, #0x1000
|
|
str r1, [sp, #0x44]
|
|
str r1, [sp, #0x48]
|
|
str r0, [sp, #0x4c]
|
|
_0217e97c:
|
|
add r0, sp, #0x44
|
|
mov r1, r5
|
|
bl func_01fffbec
|
|
ldr r1, [r4, #0x14]
|
|
add r0, sp, #0x44
|
|
str r1, [sp, #8]
|
|
ldr r2, [r4, #0x18]
|
|
add r1, sp, #8
|
|
str r2, [sp, #0xc]
|
|
ldr r3, [r4, #0x1c]
|
|
mov r2, r0
|
|
str r3, [sp, #0x10]
|
|
bl func_01ff9bc4
|
|
mov r8, #0
|
|
str r8, [sp, #0x48]
|
|
add r7, sp, #0x44
|
|
add r6, sp, #0x38
|
|
add r5, sp, #0
|
|
_0217e9c4:
|
|
mov r3, r8, lsl #0x1
|
|
ldmia r7, {r0, r1, r2}
|
|
stmia r6, {r0, r1, r2}
|
|
ldrsh r1, [r5, r3]
|
|
mov r0, r6
|
|
bl func_ov00_020a61ac
|
|
mov r0, r4
|
|
bl func_ov38_02184120
|
|
mov r1, r6
|
|
bl func_ov29_0217036c
|
|
add r8, r8, #1
|
|
cmp r8, #3
|
|
blt _0217e9c4
|
|
ldr r0, _0217ea4c ; =0xfffffccd
|
|
mov r1, #0
|
|
str r0, [sp, #0x34]
|
|
str r1, [sp, #0x2c]
|
|
str r1, [sp, #0x30]
|
|
ldrsh r1, [r4, #0x78]
|
|
add r0, sp, #0x2c
|
|
bl func_ov00_020a61ac
|
|
add r1, r4, #0x60
|
|
add r0, sp, #0x2c
|
|
mov r2, r1
|
|
bl func_01ff9bc4
|
|
ldr r0, _0217ea50 ; =data_027e0ffc
|
|
ldr r1, _0217ea54 ; =0x00000431
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
add sp, sp, #0x50
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217e8c4
|
|
_0217ea44: .word data_ov38_02188908
|
|
_0217ea48: .word data_027e0f94
|
|
_0217ea4c: .word 0xfffffccd
|
|
_0217ea50: .word data_027e0ffc
|
|
_0217ea54: .word 0x00000431
|
|
|
|
.global func_ov38_0217ea58
|
|
arm_func_start func_ov38_0217ea58
|
|
func_ov38_0217ea58: ; 0x0217ea58
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x1000
|
|
mov r1, #2
|
|
str r1, [r0, #0x70]
|
|
mov r0, #0
|
|
strb r0, [r4, #0x11a]
|
|
bl func_ov38_0217ea8c
|
|
mov r1, #1
|
|
strb r1, [r0, #0xa8]
|
|
mov r0, r4
|
|
bl func_ov38_02185e38
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov38_0217ea58
|
|
|
|
.global func_ov38_0217ea8c
|
|
arm_func_start func_ov38_0217ea8c
|
|
func_ov38_0217ea8c: ; 0x0217ea8c
|
|
ldr ip, _0217ea98 ; =func_01fffcd8
|
|
mov r0, #6
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217ea8c
|
|
_0217ea98: .word func_01fffcd8
|
|
|
|
.global func_ov38_0217ea9c
|
|
arm_func_start func_ov38_0217ea9c
|
|
func_ov38_0217ea9c: ; 0x0217ea9c
|
|
bx lr
|
|
arm_func_end func_ov38_0217ea9c
|
|
|
|
.global func_ov38_0217eaa0
|
|
arm_func_start func_ov38_0217eaa0
|
|
func_ov38_0217eaa0: ; 0x0217eaa0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x18
|
|
mov r4, r0
|
|
add ip, r4, #0x14
|
|
add r3, sp, #0xc
|
|
ldmia ip, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r1, #0x14800
|
|
str r1, [sp, #0x10]
|
|
str r0, [r4, #0x48]
|
|
ldr lr, [sp, #0x10]
|
|
mov r2, #0
|
|
str lr, [r4, #0x4c]
|
|
ldr r5, [sp, #0x14]
|
|
mov r0, r4
|
|
str r5, [r4, #0x50]
|
|
ldr r1, [sp, #0xc]
|
|
mov r3, r2
|
|
str r1, [r4, #0x54]
|
|
str lr, [r4, #0x58]
|
|
str r5, [r4, #0x5c]
|
|
ldmib ip, {r5, lr}
|
|
ldr ip, [r4, #0x14]
|
|
mov r1, #0x13
|
|
str ip, [r4, #0xfd8]
|
|
str r5, [r4, #0xfdc]
|
|
str lr, [r4, #0xfe0]
|
|
ldr ip, [r4, #0xfdc]
|
|
add ip, ip, #0x3800
|
|
str ip, [r4, #0xfdc]
|
|
bl func_ov38_0217d570
|
|
mov ip, #1
|
|
ldr r0, _0217eb70 ; =data_ov00_020eec68
|
|
mov r1, #0xcc
|
|
mov r2, #0
|
|
mov r3, #0x7f
|
|
strb ip, [r4, #0x11a]
|
|
bl func_ov00_020d70a4
|
|
ldr r0, _0217eb74 ; =data_027e0fc8
|
|
ldr r0, [r0]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x80]
|
|
blx r1
|
|
add r0, r4, #0x1000
|
|
mov r1, #0xa00
|
|
strh r1, [r0, #0x82]
|
|
mov r1, #0
|
|
str r1, [r0, #0x68]
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217eaa0
|
|
_0217eb70: .word data_ov00_020eec68
|
|
_0217eb74: .word data_027e0fc8
|
|
|
|
.global func_ov38_0217eb78
|
|
arm_func_start func_ov38_0217eb78
|
|
func_ov38_0217eb78: ; 0x0217eb78
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x38
|
|
mov r4, r0
|
|
add r1, r4, #0x1000
|
|
ldr r2, [r1, #0x68]
|
|
cmp r2, #4
|
|
addls pc, pc, r2, lsl #2
|
|
b _0217f1b0
|
|
_0217eb98: ; jump table
|
|
b _0217ebac ; case 0
|
|
b _0217ebb8 ; case 1
|
|
b _0217ebec ; case 2
|
|
b _0217edd4 ; case 3
|
|
b _0217efcc ; case 4
|
|
_0217ebac:
|
|
add r0, r2, #1
|
|
str r0, [r1, #0x68]
|
|
b _0217f1cc
|
|
_0217ebb8:
|
|
bl func_ov38_0218307c
|
|
mov r2, #1
|
|
add r0, r4, #0x1000
|
|
strb r2, [r0, #0xa5]
|
|
mov r1, #0
|
|
str r1, [r0, #0x38]
|
|
add r2, r2, #0x170
|
|
ldr r1, _0217f1f8 ; =0x0000030a
|
|
str r2, [r0, #0x40]
|
|
str r1, [r0, #0x3c]
|
|
ldr r1, [r0, #0x68]
|
|
add r1, r1, #1
|
|
str r1, [r0, #0x68]
|
|
_0217ebec:
|
|
add r1, r4, #0x1000
|
|
add r0, r4, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r0, #0x29
|
|
add r1, r4, #0x3d8
|
|
str r0, [sp]
|
|
add r0, r4, #0x1000
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, r4, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
mov r1, #0x10
|
|
add r0, r4, #0x82
|
|
str r1, [sp]
|
|
add r1, r4, #0x1000
|
|
ldr r2, [r1, #0x40]
|
|
add r0, r0, #0x1000
|
|
mov r1, #0x294
|
|
mov r3, #0x200
|
|
bl func_ov38_0217c994
|
|
mov r0, r4
|
|
bl func_ov38_0217de58
|
|
ldr r0, [r4, #0xfdc]
|
|
ldr r1, [r4, #0x4c]
|
|
add r0, r0, #0x9a
|
|
add r0, r0, #0x100
|
|
cmp r1, r0
|
|
bge _0217edbc
|
|
ldr r0, [r4, #0x2c4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
cmp r0, #0x13
|
|
beq _0217ec8c
|
|
cmp r0, #0x14
|
|
beq _0217ecd4
|
|
b _0217f1cc
|
|
_0217ec8c:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e544
|
|
cmp r0, #0
|
|
beq _0217ecbc
|
|
mov r0, r4
|
|
mov r1, #0x14
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl func_ov38_0217d570
|
|
_0217ecbc:
|
|
add r0, r4, #0x1000
|
|
ldrsh r1, [r4, #0x78]
|
|
ldrsh r0, [r0, #0x82]
|
|
add r0, r1, r0
|
|
strh r0, [r4, #0x78]
|
|
b _0217f1cc
|
|
_0217ecd4:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r5, r1, r0, lsl #7
|
|
add r0, r5, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _0217ed2c
|
|
mov r2, #0
|
|
mov r0, r4
|
|
mov r3, r2
|
|
mov r1, #0x15
|
|
bl func_ov38_0217d570
|
|
ldr r0, _0217f1fc ; =data_027e103c
|
|
ldr r1, _0217f200 ; =0x00180015
|
|
ldr r0, [r0]
|
|
bl func_ov00_020cfc70
|
|
add r0, r4, #0x1000
|
|
mov r1, #0x5a
|
|
str r1, [r0, #0x54]
|
|
ldr r1, [r0, #0x68]
|
|
add r1, r1, #1
|
|
str r1, [r0, #0x68]
|
|
_0217ed2c:
|
|
add r0, r5, #0xc
|
|
mov r1, #0x28000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _0217ed54
|
|
ldr r0, _0217f204 ; =data_027e0ffc
|
|
ldr r1, _0217f208 ; =0x0000042d
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_0217ed54:
|
|
ldr r0, [r5, #0x14]
|
|
cmp r0, #0x28000
|
|
ble _0217eda4
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
add r0, r4, #0x1000
|
|
ldrsh r3, [r0, #0x82]
|
|
ldr r2, [r0, #0x40]
|
|
add r0, r4, #0x78
|
|
mov r1, #0
|
|
bl func_ov38_0217c994
|
|
mov r0, #0x29
|
|
str r0, [sp]
|
|
ldr r1, [r4, #0x1c]
|
|
rsb r2, r0, #0x35c
|
|
mov r3, r2
|
|
add r0, r4, #0xfe0
|
|
add r1, r1, #0x2400
|
|
bl func_ov38_0217ca04
|
|
b _0217f1cc
|
|
_0217eda4:
|
|
add r0, r4, #0x1000
|
|
ldrsh r1, [r4, #0x78]
|
|
ldrsh r0, [r0, #0x82]
|
|
add r0, r1, r0
|
|
strh r0, [r4, #0x78]
|
|
b _0217f1cc
|
|
_0217edbc:
|
|
add r0, r4, #0x1000
|
|
ldrsh r1, [r4, #0x78]
|
|
ldrsh r0, [r0, #0x82]
|
|
add r0, r1, r0
|
|
strh r0, [r4, #0x78]
|
|
b _0217f1cc
|
|
_0217edd4:
|
|
add r0, r4, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r1, #0x10
|
|
add r0, r4, #0x82
|
|
str r1, [sp]
|
|
add r1, r4, #0x1000
|
|
ldr r2, [r1, #0x40]
|
|
add r0, r0, #0x1000
|
|
mov r1, #0xc0
|
|
mov r3, #0x200
|
|
bl func_ov38_0217c994
|
|
mov r0, #0x29
|
|
add r1, r4, #0x3d8
|
|
str r0, [sp]
|
|
add r0, r4, #0x1000
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, r4, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
mov r0, r4
|
|
bl func_ov38_0217de58
|
|
add r0, r4, #0x1000
|
|
ldr r0, [r0, #0x54]
|
|
cmp r0, #0
|
|
bne _0217ef98
|
|
ldr r0, [r4, #0x2c4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
cmp r0, #0x15
|
|
beq _0217ee68
|
|
cmp r0, #0x16
|
|
beq _0217eec4
|
|
b _0217f1cc
|
|
_0217ee68:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e544
|
|
cmp r0, #0
|
|
beq _0217eea0
|
|
mov r0, r4
|
|
add ip, r4, #0x1000
|
|
mov r3, #0
|
|
mov r1, #0x16
|
|
mov r2, #1
|
|
strh r3, [ip, #0x82]
|
|
bl func_ov38_0217d570
|
|
_0217eea0:
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
add r0, r4, #0x1000
|
|
ldrsh r3, [r0, #0x82]
|
|
ldr r2, [r0, #0x40]
|
|
add r0, r4, #0x78
|
|
mov r1, #0
|
|
bl func_ov38_0217c994
|
|
b _0217f1cc
|
|
_0217eec4:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldreq r0, [r4, #0xfdc]
|
|
addeq r0, r0, #0x66
|
|
streq r0, [r4, #0xfdc]
|
|
beq _0217ef6c
|
|
mov r0, r4
|
|
mov r1, #2
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl func_ov38_0217d570
|
|
ldr r0, _0217f204 ; =data_027e0ffc
|
|
ldr r1, _0217f20c ; =0x0000042e
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
add r0, r4, #0x1000
|
|
ldr r2, [r0, #0x68]
|
|
mov r1, #0x5a
|
|
add r2, r2, #1
|
|
str r2, [r0, #0x68]
|
|
str r1, [r0, #0x54]
|
|
mov ip, #0
|
|
ldr r1, _0217f210 ; =0x00000733
|
|
str ip, [r0, #0x38]
|
|
str r1, [r0, #0x3c]
|
|
mov r1, #0x400
|
|
str r1, [r0, #0x40]
|
|
ldr r3, [r4, #0x18]
|
|
ldr r2, [r4, #0x1c]
|
|
ldr r1, [r4, #0x14]
|
|
str r1, [r4, #0xfd8]
|
|
str r3, [r4, #0xfdc]
|
|
str r2, [r4, #0xfe0]
|
|
ldr r1, [r4, #0x4c]
|
|
str r1, [r4, #0xfe8]
|
|
str r1, [r4, #0xfdc]
|
|
strh ip, [r0, #0x84]
|
|
_0217ef6c:
|
|
add r0, r4, #0x82
|
|
add r0, r0, #0x1000
|
|
mov r1, #0x300
|
|
mov r2, #0x18
|
|
bl func_0202b154
|
|
add r0, r4, #0x1000
|
|
ldrsh r1, [r4, #0x78]
|
|
ldrsh r0, [r0, #0x82]
|
|
add r0, r1, r0
|
|
strh r0, [r4, #0x78]
|
|
b _0217f1cc
|
|
_0217ef98:
|
|
mov r0, #0x29
|
|
str r0, [sp]
|
|
ldr r1, [r4, #0x1c]
|
|
rsb r2, r0, #0x35c
|
|
mov r3, r2
|
|
add r0, r4, #0xfe0
|
|
add r1, r1, #0x2400
|
|
bl func_ov38_0217ca04
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r0, #0x54]
|
|
sub r1, r1, #1
|
|
str r1, [r0, #0x54]
|
|
b _0217f1cc
|
|
_0217efcc:
|
|
ldrsh r2, [r1, #0x82]
|
|
add r0, r4, #0x84
|
|
ldr r1, _0217f214 ; =0x00007fff
|
|
add r0, r0, #0x1000
|
|
bl func_0202b154
|
|
add r1, r4, #0x1000
|
|
add r0, r4, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r0, #0x29
|
|
add r1, r4, #0x3d8
|
|
str r0, [sp]
|
|
add r0, r4, #0x1000
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, r4, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
add r0, r4, #0x82
|
|
add r0, r0, #0x1000
|
|
mov r1, #0x300
|
|
mov r2, #0x20
|
|
bl func_0202b154
|
|
add r0, r4, #0x1000
|
|
ldrsh r1, [r0, #0x84]
|
|
ldr r0, _0217f218 ; =0x00005555
|
|
cmp r1, r0
|
|
ble _0217f074
|
|
ldr r1, [r4, #0x18]
|
|
add r0, r4, #0x3dc
|
|
add r0, r0, #0xc00
|
|
sub r1, r1, #0x8000
|
|
mov r2, #0x800
|
|
bl func_0202b0f4
|
|
add r0, r4, #0x3c
|
|
add r0, r0, #0x1000
|
|
mov r1, #0x800
|
|
mov r2, #0xc
|
|
bl func_0202b0f4
|
|
b _0217f0a4
|
|
_0217f074:
|
|
mov r0, r1, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
mov r1, r0, asr #0x4
|
|
ldr r0, _0217f21c ; =data_02050f54
|
|
mov r1, r1, lsl #0x2
|
|
ldrsh r1, [r0, r1]
|
|
mov r0, #0x3400
|
|
ldr r2, [r4, #0xfe8]
|
|
smulbb r0, r1, r0
|
|
add r0, r0, #0x800
|
|
add r0, r2, r0, asr #12
|
|
str r0, [r4, #0xfdc]
|
|
_0217f0a4:
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r0, #0x54]
|
|
cmp r1, #0
|
|
bne _0217f0d0
|
|
ldr r2, [r0, #0x68]
|
|
ldr r1, _0217f220 ; =data_027e0fc8
|
|
add r2, r2, #1
|
|
str r2, [r0, #0x68]
|
|
ldr r0, [r1]
|
|
bl func_ov00_020bb9b0
|
|
b _0217f114
|
|
_0217f0d0:
|
|
ldr r0, _0217f220 ; =data_027e0fc8
|
|
ldr ip, [r4, #0xf5c]
|
|
ldr r5, [r4, #0xf60]
|
|
ldr r3, [r4, #0xf58]
|
|
cmp ip, #0x800
|
|
movle ip, #0x800
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x2c
|
|
mov r2, #0x400
|
|
str r3, [sp, #0x2c]
|
|
str ip, [sp, #0x30]
|
|
str r5, [sp, #0x34]
|
|
bl func_ov00_020bb810
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r0, #0x54]
|
|
sub r1, r1, #1
|
|
str r1, [r0, #0x54]
|
|
_0217f114:
|
|
mov r0, #0x4000
|
|
mov r1, #0
|
|
str r0, [sp, #0x14]
|
|
add r0, r4, #0x1000
|
|
str r1, [sp, #0x10]
|
|
str r1, [sp, #0x18]
|
|
ldrsh r1, [r0, #0x84]
|
|
add r0, sp, #0x10
|
|
rsb r1, r1, #0
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, asr #0x10
|
|
bl func_ov00_020a6110
|
|
add r0, r4, #0x1000
|
|
ldrsh r1, [r0, #0x94]
|
|
add r0, sp, #0x10
|
|
bl func_ov00_020a61ac
|
|
add r0, r4, #0x1000
|
|
ldrsh r0, [r0, #0x82]
|
|
ldr r1, _0217f21c ; =data_02050f54
|
|
mov r3, #0
|
|
add r0, r0, r0, lsr #31
|
|
mov r0, r0, lsl #0xf
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
mov r2, r0, lsl #0x1
|
|
add r0, r2, #1
|
|
mov r2, r2, lsl #0x1
|
|
ldrsh lr, [r1, r2]
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh ip, [r1, r0]
|
|
add r1, sp, #0x1c
|
|
add r2, sp, #0x10
|
|
mov r0, r4
|
|
str r3, [sp, #0x1c]
|
|
str lr, [sp, #0x20]
|
|
str r3, [sp, #0x24]
|
|
str ip, [sp, #0x28]
|
|
bl func_ov38_0217e3a4
|
|
b _0217f1cc
|
|
_0217f1b0:
|
|
bl func_ov29_02174f9c
|
|
mov r0, r4
|
|
mov r1, #1
|
|
bl func_ov38_02185720
|
|
add r0, r4, #0x2c8
|
|
mov r1, #2
|
|
bl func_ov38_0217be60
|
|
_0217f1cc:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
cmp r0, #2
|
|
addeq sp, sp, #0x38
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _0217f224 ; =data_ov00_020eec9c
|
|
ldr r1, _0217f228 ; =0x0000042c
|
|
bl func_ov00_020d7c8c
|
|
add sp, sp, #0x38
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217eb78
|
|
_0217f1f8: .word 0x0000030a
|
|
_0217f1fc: .word data_027e103c
|
|
_0217f200: .word 0x00180015
|
|
_0217f204: .word data_027e0ffc
|
|
_0217f208: .word 0x0000042d
|
|
_0217f20c: .word 0x0000042e
|
|
_0217f210: .word 0x00000733
|
|
_0217f214: .word 0x00007fff
|
|
_0217f218: .word 0x00005555
|
|
_0217f21c: .word data_02050f54
|
|
_0217f220: .word data_027e0fc8
|
|
_0217f224: .word data_ov00_020eec9c
|
|
_0217f228: .word 0x0000042c
|
|
|
|
.global func_ov38_0217f22c
|
|
arm_func_start func_ov38_0217f22c
|
|
func_ov38_0217f22c: ; 0x0217f22c
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
ldr r0, [r6, #0x4c]
|
|
ldr r4, _0217f280 ; =data_ov38_02189224
|
|
add r0, r0, #0x3000
|
|
mov r5, #0
|
|
str r0, [r6, #0x4c]
|
|
_0217f248:
|
|
ldr r0, [r4, r5, lsl #2]
|
|
bl func_ov29_02172ddc
|
|
add r5, r5, #1
|
|
cmp r5, #5
|
|
blt _0217f248
|
|
add r0, r6, #0x1000
|
|
mov r3, #0
|
|
add r1, r6, #4
|
|
ldr r2, _0217f284 ; =data_027e0f6c
|
|
strb r3, [r0, #0xa5]
|
|
ldr r0, [r2]
|
|
add r1, r1, #0x1000
|
|
bl func_ov00_02093a5c
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217f22c
|
|
_0217f280: .word data_ov38_02189224
|
|
_0217f284: .word data_027e0f6c
|
|
|
|
.global func_ov38_0217f288
|
|
arm_func_start func_ov38_0217f288
|
|
func_ov38_0217f288: ; 0x0217f288
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0xc
|
|
mov r4, r0
|
|
add r2, r4, #0x1000
|
|
mov r1, #0
|
|
str r1, [r2, #0x70]
|
|
ldr r2, [r4, #0x2c4]
|
|
add r2, r4, r2, lsl #2
|
|
ldr r2, [r2, #0x2b4]
|
|
cmp r2, #2
|
|
mov r2, r1
|
|
bne _0217f2c4
|
|
mov r3, r1
|
|
bl func_ov38_0217d570
|
|
b _0217f2cc
|
|
_0217f2c4:
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
_0217f2cc:
|
|
ldr r3, _0217f3a0 ; =data_027e0764
|
|
mov ip, #0
|
|
ldr r1, [r3]
|
|
ldmib r3, {r0, r2}
|
|
umull r6, r5, r2, r1
|
|
mla r5, r2, r0, r5
|
|
ldr r0, [r3, #0xc]
|
|
ldr r2, [r3, #0x10]
|
|
mla r5, r0, r1, r5
|
|
ldr r0, [r3, #0x14]
|
|
adds r6, r2, r6
|
|
adc r5, r0, r5
|
|
mov r1, #0x1f
|
|
umull r0, r2, r5, r1
|
|
str r6, [r3]
|
|
mla r2, r5, ip, r2
|
|
mov r0, ip
|
|
mla r2, r0, r1, r2
|
|
add r1, r2, #0x3c
|
|
str r5, [r3, #4]
|
|
add r2, r4, #0x1000
|
|
str r1, [r2, #0x54]
|
|
ldr r5, [r3]
|
|
ldmib r3, {r1, lr}
|
|
umull r7, r6, lr, r5
|
|
mla r6, lr, r1, r6
|
|
ldr r1, [r3, #0xc]
|
|
ldr lr, [r3, #0x10]
|
|
mla r6, r1, r5, r6
|
|
ldr r5, [r3, #0x14]
|
|
adds r7, lr, r7
|
|
mov r1, #0xb
|
|
adc r6, r5, r6
|
|
umull lr, r5, r6, r1
|
|
mla r5, r6, ip, r5
|
|
mla r5, r0, r1, r5
|
|
str r7, [r3]
|
|
str r6, [r3, #4]
|
|
add r0, r5, #0x14
|
|
str r0, [r2, #0x58]
|
|
str ip, [r2, #0x68]
|
|
strb ip, [r2, #0xa0]
|
|
ldr r2, [r4, #0x18]
|
|
ldr r1, [r4, #0x1c]
|
|
ldr r0, [r4, #0x14]
|
|
str r0, [r4, #0xfd8]
|
|
str r2, [r4, #0xfdc]
|
|
str r1, [r4, #0xfe0]
|
|
ldr r0, [r4, #0xfdc]
|
|
sub r0, r0, #0x800
|
|
str r0, [r4, #0xfdc]
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217f288
|
|
_0217f3a0: .word data_027e0764
|
|
|
|
.global func_ov38_0217f3a4
|
|
arm_func_start func_ov38_0217f3a4
|
|
func_ov38_0217f3a4: ; 0x0217f3a4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x40
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x2c4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
cmp r0, #3
|
|
bne _0217f48c
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _0217f448
|
|
ldr ip, _0217f83c ; =data_027e0764
|
|
mov r1, #0
|
|
ldr r2, [ip]
|
|
ldmib ip, {r0, r3}
|
|
umull r6, r5, r3, r2
|
|
mla r5, r3, r0, r5
|
|
ldr r0, [ip, #0xc]
|
|
ldr r3, [ip, #0x10]
|
|
mla r5, r0, r2, r5
|
|
ldr r0, [ip, #0x14]
|
|
adds r3, r3, r6
|
|
adc r6, r0, r5
|
|
mov r0, #0x1f
|
|
umull r2, r5, r6, r0
|
|
str r3, [ip]
|
|
str r6, [ip, #4]
|
|
mla r5, r6, r1, r5
|
|
mov r2, r1
|
|
mla r5, r2, r0, r5
|
|
mov r0, r4
|
|
mov r3, r1
|
|
add r5, r5, #0x3c
|
|
add ip, r4, #0x1000
|
|
str r5, [ip, #0x54]
|
|
bl func_ov38_0217d570
|
|
b _0217f4fc
|
|
_0217f448:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
mov r1, #0xf000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _0217f4fc
|
|
add r0, r4, #0x1000
|
|
ldr r0, [r0, #0x74]
|
|
cmp r0, #0
|
|
mov r0, r4
|
|
bne _0217f484
|
|
bl func_ov38_0217e77c
|
|
b _0217f4fc
|
|
_0217f484:
|
|
bl func_ov38_0217e8c4
|
|
b _0217f4fc
|
|
_0217f48c:
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r0, #0x78]
|
|
cmp r1, #0
|
|
bne _0217f4fc
|
|
mov r1, #0
|
|
strb r1, [r0, #0xaa]
|
|
ldr r1, [r0, #0x54]
|
|
cmp r1, #0
|
|
bne _0217f4e4
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e544
|
|
cmp r0, #0
|
|
beq _0217f4ec
|
|
mov r0, r4
|
|
mov r1, #3
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl func_ov38_0217d570
|
|
b _0217f4ec
|
|
_0217f4e4:
|
|
sub r1, r1, #1
|
|
str r1, [r0, #0x54]
|
|
_0217f4ec:
|
|
mov r0, r4
|
|
bl func_ov00_020c2974
|
|
add r1, r4, #0x1000
|
|
strh r0, [r1, #0x7c]
|
|
_0217f4fc:
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r0, #0x58]
|
|
cmp r1, #0
|
|
bne _0217f5a0
|
|
ldr r1, [r0, #0x78]
|
|
cmp r1, #0
|
|
bne _0217f5a8
|
|
ldr r1, _0217f840 ; =data_ov29_0217bca0
|
|
ldr r1, [r1]
|
|
cmp r1, #6
|
|
bge _0217f5a8
|
|
ldr r0, [r0, #0x6c]
|
|
cmp r0, #0
|
|
ble _0217f5a8
|
|
mov r0, r4
|
|
bl func_ov38_021841e0
|
|
add r2, r4, #0x1000
|
|
ldr r0, [r2, #0x6c]
|
|
ldr r3, _0217f83c ; =data_027e0764
|
|
sub r0, r0, #1
|
|
str r0, [r2, #0x6c]
|
|
ldr r1, [r3]
|
|
ldmib r3, {r0, ip}
|
|
umull r5, lr, ip, r1
|
|
mla lr, ip, r0, lr
|
|
ldr r0, [r3, #0xc]
|
|
ldr r6, [r3, #0x10]
|
|
mla lr, r0, r1, lr
|
|
ldr ip, [r3, #0x14]
|
|
adds r6, r6, r5
|
|
adc r5, ip, lr
|
|
mov r0, #0xb
|
|
str r6, [r3]
|
|
mov r1, #0
|
|
umull ip, lr, r5, r0
|
|
mla lr, r5, r1, lr
|
|
mla lr, r1, r0, lr
|
|
str r5, [r3, #4]
|
|
add r0, lr, #0xa
|
|
str r0, [r2, #0x58]
|
|
b _0217f5a8
|
|
_0217f5a0:
|
|
sub r1, r1, #1
|
|
str r1, [r0, #0x58]
|
|
_0217f5a8:
|
|
ldr r0, _0217f840 ; =data_ov29_0217bca0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
addeq r1, r4, #0x1000
|
|
ldreq r0, [r1, #0x6c]
|
|
cmpeq r0, #0
|
|
bne _0217f5fc
|
|
ldr r0, [r1, #0x48]
|
|
cmp r0, #0xb800
|
|
bge _0217f5fc
|
|
mov r2, #1
|
|
mov r0, r4
|
|
strb r2, [r1, #0xab]
|
|
bl func_ov38_0217e688
|
|
cmp r0, #0
|
|
beq _0217f608
|
|
add r0, r4, #0x2c8
|
|
mov r1, #3
|
|
bl func_ov38_0217be60
|
|
add sp, sp, #0x40
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0217f5fc:
|
|
add r0, r4, #0x1000
|
|
mov r1, #0
|
|
strb r1, [r0, #0xab]
|
|
_0217f608:
|
|
mov r1, #0
|
|
mov r0, r4
|
|
mov r2, r1
|
|
bl func_ov00_020c243c
|
|
mov r0, r4
|
|
mov r1, #0x1a
|
|
bl func_ov00_020c1fc8
|
|
mov r0, r4
|
|
bl func_ov38_0217d6d8
|
|
ldr r3, [r4, #0xf60]
|
|
ldr r2, [r4, #0xf5c]
|
|
ldr r0, [r4, #0xf58]
|
|
ldr r1, _0217f844 ; =0x0000059a
|
|
str r0, [sp, #0x34]
|
|
ldr r0, _0217f848 ; =0xfffff333
|
|
str r2, [sp, #0x38]
|
|
mov r2, #0
|
|
str r0, [sp, #0x30]
|
|
str r3, [sp, #0x3c]
|
|
str r2, [sp, #0x28]
|
|
str r1, [sp, #0x2c]
|
|
ldrsh r1, [r4, #0x78]
|
|
add r0, sp, #0x28
|
|
mov r5, #1
|
|
bl func_ov00_020a61ac
|
|
add r0, sp, #0x28
|
|
add r1, sp, #0x34
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
ldr r0, [r4, #0xe3c]
|
|
cmp r0, #0
|
|
bne _0217f6b8
|
|
mov r1, #2
|
|
str r1, [sp]
|
|
ldr r0, _0217f84c ; =data_027e0e58
|
|
add r1, r4, #0x23c
|
|
ldr r0, [r0]
|
|
ldr r2, _0217f850 ; =0x00001003
|
|
add r3, sp, #0x28
|
|
add r1, r1, #0xc00
|
|
bl func_ov00_0207c1f8
|
|
ldr r0, [r4, #0xe3c]
|
|
cmp r0, #0
|
|
moveq r5, #0
|
|
_0217f6b8:
|
|
cmp r5, #0
|
|
beq _0217f744
|
|
cmp r0, #0
|
|
beq _0217f710
|
|
ldr r1, [r0, #0x20]
|
|
ldr r2, [sp, #0x28]
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #4]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x28]
|
|
ldr r1, [r0, #0x20]
|
|
ldr r2, [sp, #0x2c]
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #8]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x2c]
|
|
ldr r1, [r0, #0x20]
|
|
ldr r2, [sp, #0x30]
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #0xc]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x30]
|
|
_0217f710:
|
|
ldr r3, [r4, #0xfb4]
|
|
add r0, r4, #0x23c
|
|
ldr r2, [r4, #0xfb0]
|
|
rsb ip, r3, #0
|
|
ldr r1, [r4, #0xfac]
|
|
rsb r3, r2, #0
|
|
rsb r2, r1, #0
|
|
add r1, sp, #0x1c
|
|
add r0, r0, #0xc00
|
|
str r2, [sp, #0x1c]
|
|
str r3, [sp, #0x20]
|
|
str ip, [sp, #0x24]
|
|
bl func_ov00_020b7ea4
|
|
_0217f744:
|
|
ldr r0, _0217f854 ; =0x00000ccd
|
|
ldr r1, _0217f844 ; =0x0000059a
|
|
mov r2, #0
|
|
str r0, [sp, #0x18]
|
|
str r2, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
ldrsh r1, [r4, #0x78]
|
|
add r0, sp, #0x10
|
|
mov r5, #1
|
|
bl func_ov00_020a61ac
|
|
add r0, sp, #0x10
|
|
add r1, sp, #0x34
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
ldr r0, [r4, #0xe40]
|
|
cmp r0, #0
|
|
bne _0217f7b4
|
|
mov r1, #2
|
|
str r1, [sp]
|
|
ldr r0, _0217f84c ; =data_027e0e58
|
|
ldr r2, _0217f850 ; =0x00001003
|
|
ldr r0, [r0]
|
|
add r3, sp, #0x10
|
|
add r1, r4, #0xe40
|
|
bl func_ov00_0207c1f8
|
|
ldr r0, [r4, #0xe40]
|
|
cmp r0, #0
|
|
moveq r5, #0
|
|
_0217f7b4:
|
|
cmp r5, #0
|
|
addeq sp, sp, #0x40
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
cmp r0, #0
|
|
beq _0217f810
|
|
ldr r1, [r0, #0x20]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #4]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x28]
|
|
ldr r1, [r0, #0x20]
|
|
ldr r2, [sp, #0x14]
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #8]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x2c]
|
|
ldr r1, [r0, #0x20]
|
|
ldr r2, [sp, #0x18]
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #0xc]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x30]
|
|
_0217f810:
|
|
ldr ip, [r4, #0xfb4]
|
|
ldr r3, [r4, #0xfb0]
|
|
ldr r2, [r4, #0xfac]
|
|
add r1, sp, #4
|
|
add r0, r4, #0xe40
|
|
str r2, [sp, #4]
|
|
str r3, [sp, #8]
|
|
str ip, [sp, #0xc]
|
|
bl func_ov00_020b7ea4
|
|
add sp, sp, #0x40
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217f3a4
|
|
_0217f83c: .word data_027e0764
|
|
_0217f840: .word data_ov29_0217bca0
|
|
_0217f844: .word 0x0000059a
|
|
_0217f848: .word 0xfffff333
|
|
_0217f84c: .word data_027e0e58
|
|
_0217f850: .word 0x00001003
|
|
_0217f854: .word 0x00000ccd
|
|
|
|
.global func_ov38_0217f858
|
|
arm_func_start func_ov38_0217f858
|
|
func_ov38_0217f858: ; 0x0217f858
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0xe3c]
|
|
cmp r0, #0
|
|
beq _0217f878
|
|
add r0, r4, #0x23c
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020b7e6c
|
|
_0217f878:
|
|
ldr r0, [r4, #0xe40]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, r4, #0xe40
|
|
bl func_ov00_020b7e6c
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov38_0217f858
|
|
|
|
.global func_ov38_0217f890
|
|
arm_func_start func_ov38_0217f890
|
|
func_ov38_0217f890: ; 0x0217f890
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0xc
|
|
mov r4, r0
|
|
mov r1, #0
|
|
add ip, r4, #0x1000
|
|
mov r2, r1
|
|
mov r3, #0x200
|
|
str r1, [ip, #0x70]
|
|
bl func_ov38_0217d570
|
|
ldr r3, _0217f984 ; =data_027e0764
|
|
mov ip, #0
|
|
ldr r1, [r3]
|
|
ldmib r3, {r0, r2}
|
|
umull r6, r5, r2, r1
|
|
mla r5, r2, r0, r5
|
|
ldr r0, [r3, #0xc]
|
|
ldr r7, [r3, #0x10]
|
|
mla r5, r0, r1, r5
|
|
ldr r2, [r3, #0x14]
|
|
adds r6, r7, r6
|
|
adc r5, r2, r5
|
|
mov r1, #0x1f
|
|
umull r0, r2, r5, r1
|
|
str r6, [r3]
|
|
mla r2, r5, ip, r2
|
|
mov r0, ip
|
|
mla r2, r0, r1, r2
|
|
add r1, r2, #0x3c
|
|
str r5, [r3, #4]
|
|
add r2, r4, #0x1000
|
|
str r1, [r2, #0x54]
|
|
ldr r5, [r3]
|
|
ldmib r3, {r1, lr}
|
|
umull r7, r6, lr, r5
|
|
mla r6, lr, r1, r6
|
|
ldr r1, [r3, #0xc]
|
|
ldr lr, [r3, #0x10]
|
|
mla r6, r1, r5, r6
|
|
ldr r5, [r3, #0x14]
|
|
adds r7, lr, r7
|
|
mov r1, #0xb
|
|
adc r6, r5, r6
|
|
umull lr, r5, r6, r1
|
|
mla r5, r6, ip, r5
|
|
mla r5, r0, r1, r5
|
|
str r7, [r3]
|
|
str r6, [r3, #4]
|
|
add r0, r5, #0x14
|
|
str r0, [r2, #0x58]
|
|
str ip, [r2, #0x68]
|
|
ldr r2, [r4, #0x18]
|
|
ldr r1, [r4, #0x1c]
|
|
ldr r0, [r4, #0x14]
|
|
str r0, [r4, #0xfd8]
|
|
str r2, [r4, #0xfdc]
|
|
str r1, [r4, #0xfe0]
|
|
ldr r0, [r4, #0xfdc]
|
|
sub r0, r0, #0x800
|
|
str r0, [r4, #0xfdc]
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217f890
|
|
_0217f984: .word data_027e0764
|
|
|
|
.global func_ov38_0217f988
|
|
arm_func_start func_ov38_0217f988
|
|
func_ov38_0217f988: ; 0x0217f988
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl func_ov38_0217d918
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r1, [r4, #0x60]
|
|
add r0, r4, #0x2c8
|
|
mov r1, r1, lsl #0xa
|
|
mov r1, r1, asr #0xc
|
|
str r1, [r4, #0x60]
|
|
ldr r2, [r4, #0x68]
|
|
mov r1, #4
|
|
mov r2, r2, lsl #0xa
|
|
mov r2, r2, asr #0xc
|
|
str r2, [r4, #0x68]
|
|
bl func_ov38_0217be60
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov38_0217f988
|
|
|
|
.global func_ov38_0217f9cc
|
|
arm_func_start func_ov38_0217f9cc
|
|
func_ov38_0217f9cc: ; 0x0217f9cc
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r1, [r4, #0x2dc]
|
|
cmp r1, #3
|
|
bne _0217fa24
|
|
ldr r0, _0217fa38 ; =data_027e0ffc
|
|
ldr r1, _0217fa3c ; =0x00000435
|
|
add ip, r4, #0x1000
|
|
mov lr, #1
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
strb lr, [ip, #0xa8]
|
|
bl func_ov00_020ceacc
|
|
mov r0, r4
|
|
mov r1, #8
|
|
mov r2, #1
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
add r0, r4, #0x1000
|
|
mov r1, #0x168
|
|
str r1, [r0, #0x64]
|
|
ldmia sp!, {r4, pc}
|
|
_0217fa24:
|
|
mov r1, #7
|
|
mov r2, #0
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217f9cc
|
|
_0217fa38: .word data_027e0ffc
|
|
_0217fa3c: .word 0x00000435
|
|
|
|
.global func_ov38_0217fa40
|
|
arm_func_start func_ov38_0217fa40
|
|
func_ov38_0217fa40: ; 0x0217fa40
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x2c4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
cmp r0, #8
|
|
bne _0217fa8c
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _0217fa8c
|
|
mov r2, #0
|
|
mov r0, r4
|
|
mov r3, r2
|
|
mov r1, #7
|
|
bl func_ov38_0217d570
|
|
_0217fa8c:
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r0, #0x64]
|
|
cmp r1, #0
|
|
subgt r1, r1, #1
|
|
strgt r1, [r0, #0x64]
|
|
bgt _0217faf8
|
|
ldr r1, [r0, #0x74]
|
|
cmp r1, #0
|
|
movgt r1, #6
|
|
movle r1, #3
|
|
str r1, [r0, #0x6c]
|
|
add r0, r4, #0x1000
|
|
mov r1, #0
|
|
strb r1, [r0, #0xa8]
|
|
bl func_ov38_0217dac0
|
|
mov r1, r4
|
|
mov r5, r0
|
|
bl func_ov14_0213ddd4
|
|
cmp r0, #0
|
|
blt _0217fae8
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl func_ov14_0213defc
|
|
_0217fae8:
|
|
add r0, r4, #0x2c8
|
|
mov r1, #2
|
|
bl func_ov38_0217be60
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0217faf8:
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0xb800
|
|
bge _0217fb24
|
|
mov r0, r4
|
|
bl func_ov38_0217e688
|
|
cmp r0, #0
|
|
beq _0217fb24
|
|
add r0, r4, #0x2c8
|
|
mov r1, #3
|
|
bl func_ov38_0217be60
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0217fb24:
|
|
mov r0, r4
|
|
bl func_ov38_0217dad0
|
|
mov r1, #0
|
|
mov r0, r4
|
|
mov r2, r1
|
|
bl func_ov00_020c243c
|
|
mov r0, r4
|
|
mov r1, #0x1a
|
|
bl func_ov00_020c1fc8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end func_ov38_0217fa40
|
|
|
|
.global func_ov38_0217fb4c
|
|
arm_func_start func_ov38_0217fb4c
|
|
func_ov38_0217fb4c: ; 0x0217fb4c
|
|
bx lr
|
|
arm_func_end func_ov38_0217fb4c
|
|
|
|
.global func_ov38_0217fb50
|
|
arm_func_start func_ov38_0217fb50
|
|
func_ov38_0217fb50: ; 0x0217fb50
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r3, r4, #0x1000
|
|
mov r2, #1
|
|
strb r2, [r3, #0xa7]
|
|
mov r1, #0xa
|
|
str r1, [r3, #0x50]
|
|
add r1, r4, #0x100
|
|
ldrsh ip, [r1, #0x20]
|
|
ldrsh r1, [r3, #0x7e]
|
|
cmp ip, r1
|
|
bgt _0217fbc4
|
|
mov r0, #0
|
|
strb r0, [r3, #0xa8]
|
|
strb r0, [r3, #0xab]
|
|
ldr r0, [r3, #0x74]
|
|
mov r1, #9
|
|
cmp r0, #0
|
|
strgtb r2, [r3, #0xaa]
|
|
mov r0, r4
|
|
mov r2, #1
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
ldr r0, _0217fc14 ; =data_027e0ffc
|
|
ldr r1, _0217fc18 ; =0x00000437
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
ldmia sp!, {r4, pc}
|
|
_0217fbc4:
|
|
ldr r1, [r4, #0x2c4]
|
|
add r1, r4, r1, lsl #2
|
|
ldr r1, [r1, #0x2b4]
|
|
cmp r1, #8
|
|
beq _0217fbe8
|
|
mov r1, #8
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
b _0217fbfc
|
|
_0217fbe8:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
mov r1, #0
|
|
bl func_ov00_020c0e24
|
|
_0217fbfc:
|
|
ldr r0, _0217fc14 ; =data_027e0ffc
|
|
ldr r1, _0217fc1c ; =0x00000436
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217fb50
|
|
_0217fc14: .word data_027e0ffc
|
|
_0217fc18: .word 0x00000437
|
|
_0217fc1c: .word 0x00000436
|
|
|
|
.global func_ov38_0217fc20
|
|
arm_func_start func_ov38_0217fc20
|
|
func_ov38_0217fc20: ; 0x0217fc20
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r4, r0
|
|
ldr r1, [r4, #0x2c4]
|
|
add r1, r4, r1, lsl #2
|
|
ldr r1, [r1, #0x2b4]
|
|
cmp r1, #8
|
|
beq _0217fc50
|
|
cmp r1, #9
|
|
beq _0217fcc0
|
|
cmp r1, #0xa
|
|
beq _0217fd08
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0217fc50:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _0217fc7c
|
|
ldr r1, [r4, #0x2dc]
|
|
add r0, r4, #0x2c8
|
|
bl func_ov38_0217be60
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0217fc7c:
|
|
add r3, r4, #0x1000
|
|
ldr r0, [r3, #0x50]
|
|
cmp r0, #0
|
|
subne r0, r0, #1
|
|
strne r0, [r3, #0x50]
|
|
bne _0217fcb4
|
|
mov r1, #0
|
|
mov r0, r4
|
|
mov r2, r1
|
|
strb r1, [r3, #0xa7]
|
|
bl func_ov00_020c243c
|
|
mov r0, r4
|
|
mov r1, #0x1a
|
|
bl func_ov00_020c1fc8
|
|
_0217fcb4:
|
|
mov r0, r4
|
|
bl func_ov38_0217dad0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0217fcc0:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _0217fcfc
|
|
mov r0, r4
|
|
add ip, r4, #0x1000
|
|
mov r5, #0x78
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
mov r3, #0x200
|
|
str r5, [ip, #0x54]
|
|
bl func_ov38_0217d570
|
|
_0217fcfc:
|
|
mov r0, r4
|
|
bl func_ov38_0217dcdc
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0217fd08:
|
|
add r1, r4, #0x1000
|
|
ldr r2, [r1, #0x54]
|
|
cmp r2, #0
|
|
bne _0217fdd0
|
|
ldrsh r2, [r1, #0x7e]
|
|
add r0, r4, #0x100
|
|
strh r2, [r0, #0x20]
|
|
ldrsh r0, [r1, #0x7e]
|
|
sub r0, r0, #0x3c
|
|
strh r0, [r1, #0x7e]
|
|
ldr r0, [r1, #0x74]
|
|
cmp r0, #0
|
|
cmpne r0, #2
|
|
bne _0217fd50
|
|
add r0, r4, #0x2c8
|
|
mov r1, #6
|
|
bl func_ov38_0217be60
|
|
b _0217fdb8
|
|
_0217fd50:
|
|
ldr r2, _0217fde0 ; =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, #0x64
|
|
umull r3, ip, r5, r0
|
|
mla ip, r5, r1, ip
|
|
mla ip, r1, r0, ip
|
|
str r6, [r2]
|
|
str r5, [r2, #4]
|
|
cmp ip, #0x32
|
|
add r0, r4, #0x2c8
|
|
ble _0217fdb0
|
|
mov r1, #6
|
|
bl func_ov38_0217be60
|
|
b _0217fdb8
|
|
_0217fdb0:
|
|
mov r1, #7
|
|
bl func_ov38_0217be60
|
|
_0217fdb8:
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r0, #0x74]
|
|
cmp r1, #6
|
|
addlt r1, r1, #1
|
|
strlt r1, [r0, #0x74]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0217fdd0:
|
|
sub r2, r2, #1
|
|
str r2, [r1, #0x54]
|
|
bl func_ov38_0217dcdc
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217fc20
|
|
_0217fde0: .word data_027e0764
|
|
|
|
.global func_ov38_0217fde4
|
|
arm_func_start func_ov38_0217fde4
|
|
func_ov38_0217fde4: ; 0x0217fde4
|
|
add r0, r0, #0x1000
|
|
mov r1, #0
|
|
strb r1, [r0, #0xa7]
|
|
bx lr
|
|
arm_func_end func_ov38_0217fde4
|
|
|
|
.global func_ov38_0217fdf4
|
|
arm_func_start func_ov38_0217fdf4
|
|
func_ov38_0217fdf4: ; 0x0217fdf4
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0xc
|
|
mov r4, r0
|
|
add ip, r4, #0x1000
|
|
mov r2, #1
|
|
mov r1, #0xc
|
|
mov r3, #0x200
|
|
str r2, [ip, #0x70]
|
|
bl func_ov38_0217d570
|
|
add r1, r4, #0x1000
|
|
mov r2, #0
|
|
ldr r0, _0217fe98 ; =0x00000133
|
|
str r2, [r1, #0x38]
|
|
str r0, [r1, #0x40]
|
|
mov r0, #0x800
|
|
str r0, [r1, #0x3c]
|
|
ldr ip, [r4, #0x18]
|
|
ldr r3, [r4, #0x1c]
|
|
ldr r2, [r4, #0x14]
|
|
mov r0, r4
|
|
str r2, [r4, #0xfd8]
|
|
str ip, [r4, #0xfdc]
|
|
str r3, [r4, #0xfe0]
|
|
ldr r2, [r4, #0xfdc]
|
|
sub r2, r2, #0x3000
|
|
str r2, [r4, #0xfdc]
|
|
ldrsh r2, [r4, #0x12]
|
|
strh r2, [r1, #0x7c]
|
|
bl func_ov38_0218307c
|
|
add r1, r4, #4
|
|
add r0, r4, #0x1000
|
|
mov r3, #1
|
|
ldr r2, _0217fe9c ; =data_027e0f6c
|
|
strb r3, [r0, #0xa5]
|
|
ldr r0, [r2]
|
|
add r1, r1, #0x1000
|
|
bl func_ov00_02093af0
|
|
mov r0, r4
|
|
bl func_ov38_021840f8
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217fdf4
|
|
_0217fe98: .word 0x00000133
|
|
_0217fe9c: .word data_027e0f6c
|
|
|
|
.global func_ov38_0217fea0
|
|
arm_func_start func_ov38_0217fea0
|
|
func_ov38_0217fea0: ; 0x0217fea0
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x2c4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
cmp r0, #0xc
|
|
beq _0217fecc
|
|
cmp r0, #0xe
|
|
beq _0217ff94
|
|
b _02180074
|
|
_0217fecc:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _0217ff14
|
|
mov r0, r4
|
|
mov r1, #0xe
|
|
mov r2, #1
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
ldr r0, _021800c0 ; =data_027e0ffc
|
|
ldr r1, _021800c4 ; =0x0000043a
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
b _02180074
|
|
_0217ff14:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
mov r1, #0x1d000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02180074
|
|
add r0, r4, #0x1000
|
|
mov r2, #0
|
|
ldr r1, _021800c8 ; =0x00000171
|
|
str r2, [r0, #0x38]
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r3, [r4, #0x18]
|
|
ldr r2, [r4, #0x1c]
|
|
ldr r1, [r4, #0x14]
|
|
add r0, r4, #0x48
|
|
str r1, [r4, #0xfd8]
|
|
str r3, [r4, #0xfdc]
|
|
str r2, [r4, #0xfe0]
|
|
ldr r1, [r4, #0xfdc]
|
|
add r1, r1, #0x7000
|
|
str r1, [r4, #0xfdc]
|
|
bl func_ov38_02185690
|
|
ldr r0, _021800c0 ; =data_027e0ffc
|
|
ldr r1, _021800cc ; =0x00000439
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
b _02180074
|
|
_0217ff94:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _0217ffbc
|
|
add r0, r4, #0x2c8
|
|
mov r1, #8
|
|
bl func_ov38_0217be60
|
|
_0217ffbc:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
mov r1, #0x2b000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _0218001c
|
|
ldr r1, _021800d0 ; =0x00000266
|
|
add r0, r4, #0x1000
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0
|
|
str r1, [r0, #0x38]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r2, [r4, #0x18]
|
|
ldr r1, [r4, #0x1c]
|
|
ldr r0, [r4, #0x14]
|
|
str r0, [r4, #0xfd8]
|
|
str r2, [r4, #0xfdc]
|
|
str r1, [r4, #0xfe0]
|
|
ldr r0, [r4, #0xfdc]
|
|
add r0, r0, #0x5800
|
|
str r0, [r4, #0xfdc]
|
|
_0218001c:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r5, r1, r0, lsl #7
|
|
add r0, r5, #0xc
|
|
mov r1, #0x34000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _0218004c
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r0, #0x70]
|
|
mov r0, r4
|
|
bl func_ov38_021840c8
|
|
_0218004c:
|
|
add r0, r5, #0xc
|
|
mov r1, #0x37000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02180074
|
|
ldr r0, _021800c0 ; =data_027e0ffc
|
|
ldr r1, _021800d4 ; =0x0000043b
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_02180074:
|
|
add r1, r4, #0x1000
|
|
add r0, r4, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r0, #0x29
|
|
add r1, r4, #0x3d8
|
|
str r0, [sp]
|
|
add r0, r4, #0x1000
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, r4, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
mov r0, r4
|
|
bl func_ov38_0217ddc8
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0217fea0
|
|
_021800c0: .word data_027e0ffc
|
|
_021800c4: .word 0x0000043a
|
|
_021800c8: .word 0x00000171
|
|
_021800cc: .word 0x00000439
|
|
_021800d0: .word 0x00000266
|
|
_021800d4: .word 0x0000043b
|
|
|
|
.global func_ov38_021800d8
|
|
arm_func_start func_ov38_021800d8
|
|
func_ov38_021800d8: ; 0x021800d8
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0xc
|
|
mov r4, r0
|
|
add ip, r4, #0x1000
|
|
mov lr, #2
|
|
mov r1, #0xc
|
|
mov r2, #1
|
|
mov r3, #0x200
|
|
str lr, [ip, #0x70]
|
|
bl func_ov38_0217d570
|
|
add r1, r4, #0x1000
|
|
mov r2, #0
|
|
ldr r0, _02180164 ; =0x00000133
|
|
str r2, [r1, #0x38]
|
|
str r0, [r1, #0x40]
|
|
mov r0, #0x800
|
|
str r0, [r1, #0x3c]
|
|
ldr ip, [r4, #0x18]
|
|
ldr r3, [r4, #0x1c]
|
|
ldr r2, [r4, #0x14]
|
|
mov r0, r4
|
|
str r2, [r4, #0xfd8]
|
|
str ip, [r4, #0xfdc]
|
|
str r3, [r4, #0xfe0]
|
|
ldr r2, [r4, #0xfdc]
|
|
sub r2, r2, #0x3000
|
|
str r2, [r4, #0xfdc]
|
|
ldrsh r2, [r4, #0x12]
|
|
strh r2, [r1, #0x7c]
|
|
bl func_ov38_0218307c
|
|
add r0, r4, #0x1000
|
|
mov r1, #1
|
|
strb r1, [r0, #0xa5]
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021800d8
|
|
_02180164: .word 0x00000133
|
|
|
|
.global func_ov38_02180168
|
|
arm_func_start func_ov38_02180168
|
|
func_ov38_02180168: ; 0x02180168
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r5, r0
|
|
ldr r0, [r5, #0x2c4]
|
|
add r0, r5, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
cmp r0, #0xc
|
|
beq _0218019c
|
|
cmp r0, #0xd
|
|
beq _02180250
|
|
cmp r0, #0xe
|
|
beq _02180298
|
|
b _02180360
|
|
_0218019c:
|
|
ldr r0, [r5, #0x2c4]
|
|
add r1, r5, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _021801d0
|
|
mov r0, r5
|
|
mov r1, #0xd
|
|
mov r2, #1
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
b _02180360
|
|
_021801d0:
|
|
ldr r0, [r5, #0x2c4]
|
|
add r1, r5, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
mov r1, #0x1d000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02180360
|
|
add r0, r5, #0x1000
|
|
mov r2, #0
|
|
ldr r1, _021803ac ; =0x00000171
|
|
str r2, [r0, #0x38]
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r3, [r5, #0x18]
|
|
ldr r2, [r5, #0x1c]
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r5, #0x48
|
|
str r1, [r5, #0xfd8]
|
|
str r3, [r5, #0xfdc]
|
|
str r2, [r5, #0xfe0]
|
|
ldr r1, [r5, #0xfdc]
|
|
add r1, r1, #0x10000
|
|
str r1, [r5, #0xfdc]
|
|
bl func_ov38_02185690
|
|
ldr r0, _021803b0 ; =data_027e0ffc
|
|
ldr r1, _021803b4 ; =0x00000439
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
b _02180360
|
|
_02180250:
|
|
ldr r0, [r5, #0x2c4]
|
|
add r1, r5, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02180360
|
|
mov r0, r5
|
|
mov r1, #0xe
|
|
mov r2, #1
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
ldr r0, _021803b0 ; =data_027e0ffc
|
|
ldr r1, _021803b8 ; =0x0000043a
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
b _02180360
|
|
_02180298:
|
|
ldr r0, [r5, #0x2c4]
|
|
add r1, r5, #0x1b4
|
|
add r4, r1, r0, lsl #7
|
|
add r0, r4, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _021802c0
|
|
add r0, r5, #0x2c8
|
|
mov r1, #9
|
|
bl func_ov38_0217be60
|
|
_021802c0:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x2b000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02180314
|
|
ldr r1, _021803bc ; =0x00000266
|
|
add r0, r5, #0x1000
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0
|
|
str r1, [r0, #0x38]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r2, [r5, #0x18]
|
|
ldr r1, [r5, #0x1c]
|
|
ldr r0, [r5, #0x14]
|
|
str r0, [r5, #0xfd8]
|
|
str r2, [r5, #0xfdc]
|
|
str r1, [r5, #0xfe0]
|
|
ldr r0, [r5, #0xfdc]
|
|
add r0, r0, #0xe800
|
|
str r0, [r5, #0xfdc]
|
|
_02180314:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x34000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02180338
|
|
add r0, r5, #0x1000
|
|
ldr r1, [r0, #0x70]
|
|
mov r0, r5
|
|
bl func_ov38_021840c8
|
|
_02180338:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x37000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02180360
|
|
ldr r0, _021803b0 ; =data_027e0ffc
|
|
ldr r1, _021803c0 ; =0x0000043b
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_02180360:
|
|
add r1, r5, #0x1000
|
|
add r0, r5, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r0, #0x29
|
|
add r1, r5, #0x3d8
|
|
str r0, [sp]
|
|
add r0, r5, #0x1000
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, r5, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
mov r0, r5
|
|
bl func_ov38_0217ddc8
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02180168
|
|
_021803ac: .word 0x00000171
|
|
_021803b0: .word data_027e0ffc
|
|
_021803b4: .word 0x00000439
|
|
_021803b8: .word 0x0000043a
|
|
_021803bc: .word 0x00000266
|
|
_021803c0: .word 0x0000043b
|
|
|
|
.global func_ov38_021803c4
|
|
arm_func_start func_ov38_021803c4
|
|
func_ov38_021803c4: ; 0x021803c4
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r3, _02180444 ; =data_027e0d0c
|
|
mov ip, #0
|
|
ldr r1, [r3]
|
|
mov r2, ip
|
|
str r1, [r0, #0x60]
|
|
ldr r4, [r3, #4]
|
|
ldr r1, _02180448 ; =data_027e0764
|
|
str r4, [r0, #0x64]
|
|
ldr r3, [r3, #8]
|
|
mov ip, ip, lsl #0x4
|
|
str r3, [r0, #0x68]
|
|
ldr lr, [r1]
|
|
ldmib r1, {r3, r4}
|
|
umull r6, r5, r4, lr
|
|
mla r5, r4, r3, r5
|
|
ldr r3, [r1, #0xc]
|
|
ldr r4, [r1, #0x10]
|
|
mla r5, r3, lr, r5
|
|
ldr r3, [r1, #0x14]
|
|
adds r6, r4, r6
|
|
adc r4, r3, r5
|
|
str r6, [r1]
|
|
orr ip, ip, r4, lsr #28
|
|
str r4, [r1, #4]
|
|
add lr, ip, #0x1e
|
|
add ip, r0, #0x1000
|
|
mov r3, r2
|
|
mov r1, #1
|
|
str lr, [ip, #0x54]
|
|
bl func_ov38_0217d570
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021803c4
|
|
_02180444: .word data_027e0d0c
|
|
_02180448: .word data_027e0764
|
|
|
|
.global func_ov38_0218044c
|
|
arm_func_start func_ov38_0218044c
|
|
func_ov38_0218044c: ; 0x0218044c
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
add r1, r4, #0x1000
|
|
ldr r2, [r1, #0x78]
|
|
cmp r2, #2
|
|
bne _021804e0
|
|
mov r2, #0
|
|
strb r2, [r1, #0xaa]
|
|
ldr r2, [r1, #0x54]
|
|
cmp r2, #0
|
|
bne _021804d8
|
|
mov r1, #1
|
|
bl func_ov38_02184574
|
|
cmp r0, #0
|
|
beq _021804e0
|
|
ldr r0, _02180504 ; =data_027e0764
|
|
mov r1, #0
|
|
ldr r3, [r0]
|
|
ldmib r0, {r2, ip}
|
|
umull r5, lr, ip, r3
|
|
mla lr, ip, r2, lr
|
|
ldr r2, [r0, #0xc]
|
|
ldr ip, [r0, #0x10]
|
|
mla lr, r2, r3, lr
|
|
ldr r2, [r0, #0x14]
|
|
adds r3, ip, r5
|
|
adc r2, r2, lr
|
|
mov r1, r1, lsl #0x4
|
|
str r3, [r0]
|
|
orr r1, r1, r2, lsr #28
|
|
str r2, [r0, #4]
|
|
add r1, r1, #0x1e
|
|
add r0, r4, #0x1000
|
|
str r1, [r0, #0x54]
|
|
b _021804e0
|
|
_021804d8:
|
|
sub r0, r2, #1
|
|
str r0, [r1, #0x54]
|
|
_021804e0:
|
|
add r2, r4, #0x3d8
|
|
mov ip, #0x800
|
|
ldr r3, _02180508 ; =0x00000b33
|
|
add r0, r4, #0x48
|
|
add r1, r4, #0x60
|
|
add r2, r2, #0xc00
|
|
str ip, [sp]
|
|
bl func_ov38_0217cb2c
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218044c
|
|
_02180504: .word data_027e0764
|
|
_02180508: .word 0x00000b33
|
|
|
|
.global func_ov38_0218050c
|
|
arm_func_start func_ov38_0218050c
|
|
func_ov38_0218050c: ; 0x0218050c
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
ldr r3, _021805d4 ; =data_027e0d0c
|
|
mov r1, #0
|
|
ldr r4, [r3]
|
|
mov r2, r1
|
|
str r4, [r0, #0x60]
|
|
ldr r4, [r3, #4]
|
|
add ip, r0, #0x1000
|
|
str r4, [r0, #0x64]
|
|
ldr r4, [r3, #8]
|
|
ldr r3, _021805d8 ; =data_027e0764
|
|
str r4, [r0, #0x68]
|
|
str r2, [ip, #0x4c]
|
|
ldr r5, [r3]
|
|
ldmib r3, {r4, r6}
|
|
umull r8, r7, r6, r5
|
|
mla r7, r6, r4, r7
|
|
ldr r4, [r3, #0xc]
|
|
ldr r6, [r3, #0x10]
|
|
mla r7, r4, r5, r7
|
|
ldr r4, [r3, #0x14]
|
|
adds r6, r6, r8
|
|
adc r5, r4, r7
|
|
mov r4, r1, lsl #0x1
|
|
str r6, [r3]
|
|
orr r4, r4, r5, lsr #31
|
|
str r5, [r3, #4]
|
|
add r4, r4, #2
|
|
str r4, [ip, #0x68]
|
|
ldr r5, [r3, #8]
|
|
ldmia r3, {r4, lr}
|
|
umull r7, r6, r5, r4
|
|
mla r6, r5, lr, r6
|
|
ldr lr, [r3, #0xc]
|
|
ldr r8, [r3, #0x10]
|
|
mla r6, lr, r4, r6
|
|
ldr r5, [r3, #0x14]
|
|
adds r7, r8, r7
|
|
adc r4, r5, r6
|
|
mov r1, r1, lsl #0x4
|
|
str r7, [r3]
|
|
orr r1, r1, r4, lsr #28
|
|
str r4, [r3, #4]
|
|
add r1, r1, #0x1e
|
|
str r1, [ip, #0x54]
|
|
mov r3, r2
|
|
mov r1, #1
|
|
str r2, [ip, #0x58]
|
|
bl func_ov38_0217d570
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218050c
|
|
_021805d4: .word data_027e0d0c
|
|
_021805d8: .word data_027e0764
|
|
|
|
.global func_ov38_021805dc
|
|
arm_func_start func_ov38_021805dc
|
|
func_ov38_021805dc: ; 0x021805dc
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x40
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x2c4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
cmp r0, #4
|
|
bne _0218091c
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e544
|
|
cmp r0, #0
|
|
beq _02180784
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r0, #0x68]
|
|
subs r1, r1, #1
|
|
str r1, [r0, #0x68]
|
|
bne _02180a20
|
|
ldr r1, [r0, #0x4c]
|
|
mov r2, #0
|
|
cmp r1, #1
|
|
addlt r1, r1, #1
|
|
movge r1, #0
|
|
str r1, [r0, #0x4c]
|
|
mov r0, r4
|
|
mov r3, r2
|
|
mov r1, #1
|
|
bl func_ov38_0217d570
|
|
ldr r0, [r4, #0x2c4]
|
|
mov r1, #0x1000
|
|
add r0, r4, r0, lsl #7
|
|
ldr r8, _02180a44 ; =data_027e0764
|
|
str r1, [r0, #0x1c4]
|
|
ldr r6, [r8]
|
|
ldmib r8, {r0, r2}
|
|
umull r5, r7, r2, r6
|
|
ldr ip, [r8, #0x10]
|
|
mla r7, r2, r0, r7
|
|
ldr r1, [r8, #0xc]
|
|
ldr r3, [r8, #0x14]
|
|
mla r7, r1, r6, r7
|
|
adds r5, ip, r5
|
|
adc lr, r3, r7
|
|
mov r6, #0x64
|
|
umull r0, sb, lr, r6
|
|
mov r7, #0
|
|
mla sb, lr, r7, sb
|
|
mov r0, r7
|
|
mla sb, r0, r6, sb
|
|
stmia r8, {r5, lr}
|
|
cmp sb, #0x1e
|
|
ble _0218072c
|
|
umull sb, r6, r2, r5
|
|
mla r6, r2, lr, r6
|
|
mla r6, r1, r5, r6
|
|
adds sb, ip, sb
|
|
adc r5, r3, r6
|
|
mov r1, #0x1f
|
|
umull r2, r3, r5, r1
|
|
mla r3, r5, r7, r3
|
|
mla r3, r0, r1, r3
|
|
str sb, [r8]
|
|
str r5, [r8, #4]
|
|
add r2, r3, #0x3c
|
|
add r1, r4, #0x1000
|
|
str r2, [r1, #0x54]
|
|
ldr r3, [r8]
|
|
ldmib r8, {r2, r5}
|
|
umull r7, r6, r5, r3
|
|
mla r6, r5, r2, r6
|
|
ldr r2, [r8, #0xc]
|
|
ldr ip, [r8, #0x10]
|
|
mla r6, r2, r3, r6
|
|
ldr r5, [r8, #0x14]
|
|
adds r7, ip, r7
|
|
adc r2, r5, r6
|
|
mov r0, r0, lsl #0x1
|
|
str r7, [r8]
|
|
orr r0, r0, r2, lsr #31
|
|
str r2, [r8, #4]
|
|
add r0, r0, #2
|
|
str r0, [r1, #0x68]
|
|
_0218072c:
|
|
ldr r2, _02180a44 ; =data_027e0764
|
|
mov r1, #0
|
|
ldr r3, [r2]
|
|
ldmib r2, {r0, r5}
|
|
umull r7, 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 r7, r5, r7
|
|
adc r6, r0, r6
|
|
mov r0, #0x3d
|
|
umull r3, r5, r6, r0
|
|
mla r5, r6, r1, r5
|
|
mla r5, r1, r0, r5
|
|
str r7, [r2]
|
|
str r6, [r2, #4]
|
|
add r1, r5, #0x3c
|
|
add r0, r4, #0x1000
|
|
str r1, [r0, #0x58]
|
|
b _02180a20
|
|
_02180784:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
mov r1, #0xf000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02180a20
|
|
mov r0, r4
|
|
bl func_ov38_02184120
|
|
ldr r1, _02180a48 ; =data_027e0f94
|
|
mov r5, r0
|
|
ldr r2, [r1]
|
|
ldr r0, [r1, #4]
|
|
str r2, [sp, #0x1c]
|
|
str r0, [sp, #0x20]
|
|
ldr r1, [r1, #8]
|
|
add r0, sp, #0x1c
|
|
str r1, [sp, #0x24]
|
|
ldr r2, [r4, #0x14]
|
|
add r1, sp, #0x10
|
|
str r2, [sp, #0x10]
|
|
ldr r3, [r4, #0x18]
|
|
add r2, sp, #0x34
|
|
str r3, [sp, #0x14]
|
|
ldr r3, [r4, #0x1c]
|
|
str r3, [sp, #0x18]
|
|
bl func_01ff9bf8
|
|
mov r1, #0
|
|
add r0, sp, #0x34
|
|
str r1, [sp, #0x38]
|
|
bl func_01ff9cec
|
|
mov r6, r0
|
|
cmp r6, #0xb800
|
|
movgt r6, #0xb800
|
|
bgt _0218081c
|
|
cmp r6, #0x7000
|
|
movlt r6, #0x7000
|
|
_0218081c:
|
|
add r0, sp, #0x34
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
bne _02180840
|
|
mov r1, #0
|
|
mov r0, #0x1000
|
|
str r1, [sp, #0x34]
|
|
str r1, [sp, #0x38]
|
|
str r0, [sp, #0x3c]
|
|
_02180840:
|
|
add r0, sp, #0x34
|
|
mov r1, r6
|
|
bl func_01fffbec
|
|
ldr r1, [r4, #0x14]
|
|
add r0, sp, #0x34
|
|
str r1, [sp, #4]
|
|
ldr r2, [r4, #0x18]
|
|
add r1, sp, #4
|
|
str r2, [sp, #8]
|
|
ldr r3, [r4, #0x1c]
|
|
mov r2, r0
|
|
str r3, [sp, #0xc]
|
|
bl func_01ff9bc4
|
|
mov r0, #0x12000
|
|
str r0, [sp, #0x38]
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r0, #0x68]
|
|
ldr r0, [r0, #0x4c]
|
|
rsb r3, r1, #3
|
|
cmp r0, #0
|
|
beq _021808a0
|
|
cmp r0, #1
|
|
beq _021808b8
|
|
b _021808cc
|
|
_021808a0:
|
|
ldr r2, _02180a4c ; =data_ov38_02188908
|
|
add r1, sp, #0x34
|
|
mov r0, r5
|
|
add r2, r2, r3, lsl #4
|
|
bl func_ov29_02170850
|
|
b _021808cc
|
|
_021808b8:
|
|
ldr r2, _02180a50 ; =data_ov38_02188938
|
|
add r1, sp, #0x34
|
|
mov r0, r5
|
|
add r2, r2, r3, lsl #4
|
|
bl func_ov29_02170850
|
|
_021808cc:
|
|
ldr r1, _02180a54 ; =0xfffffe66
|
|
mov r2, #0
|
|
mov r0, r4
|
|
str r2, [sp, #0x28]
|
|
str r2, [sp, #0x2c]
|
|
str r1, [sp, #0x30]
|
|
bl func_ov00_020c2974
|
|
mov r1, r0
|
|
add r0, sp, #0x28
|
|
bl func_ov00_020a61ac
|
|
add r1, r4, #0x60
|
|
add r0, sp, #0x28
|
|
mov r2, r1
|
|
bl func_01ff9bc4
|
|
ldr r0, _02180a58 ; =data_027e0ffc
|
|
ldr r1, _02180a5c ; =0x00000432
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
b _02180a20
|
|
_0218091c:
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r0, #0x78]
|
|
cmp r1, #4
|
|
bne _02180a20
|
|
mov r1, #0
|
|
strb r1, [r0, #0xaa]
|
|
ldr r1, [r0, #0x54]
|
|
cmp r1, #0
|
|
bne _02180a18
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #1
|
|
cmp r0, #3
|
|
add r0, r4, #0x1000
|
|
ldr r0, [r0, #0x68]
|
|
movgt r1, #2
|
|
cmp r0, #0
|
|
beq _021809cc
|
|
mov r0, r4
|
|
bl func_ov38_02184574
|
|
cmp r0, #0
|
|
beq _021809cc
|
|
ldr r0, _02180a44 ; =data_027e0764
|
|
mov r1, #0
|
|
ldr r3, [r0]
|
|
ldmib r0, {r2, r5}
|
|
umull r7, r6, r5, r3
|
|
mla r6, r5, r2, r6
|
|
ldr r2, [r0, #0xc]
|
|
ldr r5, [r0, #0x10]
|
|
mla r6, r2, r3, r6
|
|
ldr r2, [r0, #0x14]
|
|
adds r3, r5, r7
|
|
adc r2, r2, r6
|
|
mov r1, r1, lsl #0x4
|
|
str r3, [r0]
|
|
orr r1, r1, r2, lsr #28
|
|
str r2, [r0, #4]
|
|
add r1, r1, #0x1e
|
|
add r0, r4, #0x1000
|
|
str r1, [r0, #0x54]
|
|
ldr r1, [r0, #0x68]
|
|
sub r1, r1, #1
|
|
str r1, [r0, #0x68]
|
|
b _02180a20
|
|
_021809cc:
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r0, #0x58]
|
|
cmp r1, #0
|
|
subne r1, r1, #1
|
|
strne r1, [r0, #0x58]
|
|
bne _02180a20
|
|
mov r0, r4
|
|
mov r1, #4
|
|
mov r2, #0
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
ldr r0, [r4, #0x2c4]
|
|
mov r1, #0x1800
|
|
add r0, r4, r0, lsl #7
|
|
str r1, [r0, #0x1c4]
|
|
add r0, r4, #0x1000
|
|
mov r1, #3
|
|
str r1, [r0, #0x68]
|
|
b _02180a20
|
|
_02180a18:
|
|
sub r1, r1, #1
|
|
str r1, [r0, #0x54]
|
|
_02180a20:
|
|
add r2, r4, #0x3d8
|
|
ldr r3, _02180a60 ; =0x00000b33
|
|
add r0, r4, #0x48
|
|
add r1, r4, #0x60
|
|
add r2, r2, #0xc00
|
|
str r3, [sp]
|
|
bl func_ov38_0217cb2c
|
|
add sp, sp, #0x40
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021805dc
|
|
_02180a44: .word data_027e0764
|
|
_02180a48: .word data_027e0f94
|
|
_02180a4c: .word data_ov38_02188908
|
|
_02180a50: .word data_ov38_02188938
|
|
_02180a54: .word 0xfffffe66
|
|
_02180a58: .word data_027e0ffc
|
|
_02180a5c: .word 0x00000432
|
|
_02180a60: .word 0x00000b33
|
|
|
|
.global func_ov38_02180a64
|
|
arm_func_start func_ov38_02180a64
|
|
func_ov38_02180a64: ; 0x02180a64
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0x24
|
|
ldr r1, _02180bb4 ; =data_027e0d0c
|
|
mov r4, r0
|
|
ldr r2, [r1]
|
|
add r0, r4, #0x1000
|
|
str r2, [r4, #0x60]
|
|
ldr r3, [r1, #4]
|
|
mov r2, #0x1e
|
|
str r3, [r4, #0x64]
|
|
ldr r3, [r1, #8]
|
|
mov r1, #0x12
|
|
str r3, [r4, #0x68]
|
|
str r2, [r0, #0x54]
|
|
str r1, [r0, #0x58]
|
|
mov r2, #0
|
|
strb r2, [r0, #0xa3]
|
|
ldr r1, _02180bb8 ; =0x00000171
|
|
strb r2, [r0, #0xa4]
|
|
str r1, [r0, #0x40]
|
|
str r2, [r0, #0x38]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldrsh r1, [r4, #0x12]
|
|
strh r1, [r0, #0x7c]
|
|
ldr r0, [r0, #0x70]
|
|
cmp r0, #1
|
|
beq _02180ae0
|
|
cmp r0, #2
|
|
beq _02180b08
|
|
b _02180b30
|
|
_02180ae0:
|
|
ldr r2, [r4, #0x18]
|
|
ldr r1, [r4, #0x1c]
|
|
ldr r0, [r4, #0x14]
|
|
str r0, [r4, #0xfd8]
|
|
str r2, [r4, #0xfdc]
|
|
str r1, [r4, #0xfe0]
|
|
ldr r0, [r4, #0xfdc]
|
|
add r0, r0, #0x5800
|
|
str r0, [r4, #0xfdc]
|
|
b _02180b48
|
|
_02180b08:
|
|
ldr r2, [r4, #0x18]
|
|
ldr r1, [r4, #0x1c]
|
|
ldr r0, [r4, #0x14]
|
|
str r0, [r4, #0xfd8]
|
|
str r2, [r4, #0xfdc]
|
|
str r1, [r4, #0xfe0]
|
|
ldr r0, [r4, #0xfdc]
|
|
add r0, r0, #0xe800
|
|
str r0, [r4, #0xfdc]
|
|
b _02180b48
|
|
_02180b30:
|
|
ldr r2, [r4, #0x4c]
|
|
ldr r1, [r4, #0x50]
|
|
ldr r0, [r4, #0x48]
|
|
str r0, [r4, #0xfd8]
|
|
str r2, [r4, #0xfdc]
|
|
str r1, [r4, #0xfe0]
|
|
_02180b48:
|
|
ldr r1, [r4, #0xfdc]
|
|
add r0, r4, #0x1000
|
|
add r1, r1, #0x6000
|
|
str r1, [r4, #0xfdc]
|
|
mov r1, #0
|
|
strh r1, [r0, #0x82]
|
|
ldr r1, [r0, #0x74]
|
|
cmp r1, #2
|
|
ble _02180b74
|
|
movlt r1, #1
|
|
strltb r1, [r0, #0xaa]
|
|
_02180b74:
|
|
mov r0, r4
|
|
mov r1, #0xf
|
|
mov r2, #1
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
ldr r0, _02180bbc ; =data_027e0ffc
|
|
add r2, r4, #0x48
|
|
mov r1, #0x440
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
ldr r0, [r4, #0x2c4]
|
|
mov r1, #0x1000
|
|
add r0, r4, r0, lsl #7
|
|
str r1, [r0, #0x1c4]
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02180a64
|
|
_02180bb4: .word data_027e0d0c
|
|
_02180bb8: .word 0x00000171
|
|
_02180bbc: .word data_027e0ffc
|
|
|
|
.global func_ov38_02180bc0
|
|
arm_func_start func_ov38_02180bc0
|
|
func_ov38_02180bc0: ; 0x02180bc0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x2c4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
cmp r0, #0xf
|
|
beq _02180be8
|
|
cmp r0, #0x10
|
|
b _02180c18
|
|
_02180be8:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02180c18
|
|
mov r2, #0
|
|
mov r0, r4
|
|
mov r3, r2
|
|
mov r1, #0x10
|
|
bl func_ov38_0217d570
|
|
_02180c18:
|
|
add r0, r4, #0x1000
|
|
ldrb r1, [r0, #0xa3]
|
|
cmp r1, #0
|
|
bne _02180c80
|
|
ldr r1, [r0, #0x54]
|
|
subs r1, r1, #1
|
|
str r1, [r0, #0x54]
|
|
bne _02180c80
|
|
mov r2, #1
|
|
strb r2, [r0, #0xa3]
|
|
mov r1, #0
|
|
str r1, [r0, #0x38]
|
|
rsb r1, r2, #0x134
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r2, [r4, #0x18]
|
|
ldr r1, [r4, #0x1c]
|
|
ldr r0, [r4, #0x14]
|
|
str r0, [r4, #0xfd8]
|
|
str r2, [r4, #0xfdc]
|
|
str r1, [r4, #0xfe0]
|
|
ldr r0, [r4, #0xfdc]
|
|
sub r0, r0, #0xa000
|
|
str r0, [r4, #0xfdc]
|
|
b _02180cd8
|
|
_02180c80:
|
|
add r2, r4, #0x1000
|
|
ldrb r0, [r2, #0xa3]
|
|
cmp r0, #0
|
|
beq _02180cd8
|
|
ldr r0, [r4, #0xfdc]
|
|
ldr r1, [r4, #0x4c]
|
|
add r0, r0, #0x9a
|
|
add r0, r0, #0x100
|
|
cmp r1, r0
|
|
bge _02180cd8
|
|
ldr r0, [r2, #0x74]
|
|
cmp r0, #5
|
|
bge _02180ccc
|
|
mov r3, #6
|
|
add r0, r4, #0x2c8
|
|
mov r1, #2
|
|
str r3, [r2, #0x6c]
|
|
bl func_ov38_0217be60
|
|
b _02180cd8
|
|
_02180ccc:
|
|
add r0, r4, #0x2c8
|
|
mov r1, #0xf
|
|
bl func_ov38_0217be60
|
|
_02180cd8:
|
|
add r0, r4, #0x1000
|
|
ldrb r1, [r0, #0xa4]
|
|
cmp r1, #0
|
|
bne _02180d1c
|
|
ldr r1, [r0, #0x58]
|
|
subs r1, r1, #1
|
|
str r1, [r0, #0x58]
|
|
bne _02180d1c
|
|
mov r1, #1
|
|
ldr r5, _02180dac ; =data_ov38_02189224
|
|
strb r1, [r0, #0xa4]
|
|
mov r6, #0
|
|
_02180d08:
|
|
ldr r0, [r5, r6, lsl #2]
|
|
bl func_ov29_02174cc8
|
|
add r6, r6, #1
|
|
cmp r6, #5
|
|
blt _02180d08
|
|
_02180d1c:
|
|
add r1, r4, #0x1000
|
|
add r0, r4, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r0, #0x29
|
|
add r1, r4, #0x3d8
|
|
str r0, [sp]
|
|
add r0, r4, #0x1000
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, r4, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
add r1, r4, #0x1000
|
|
ldrb r0, [r1, #0xa3]
|
|
cmp r0, #0
|
|
beq _02180d9c
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
add r0, r4, #0x82
|
|
ldr r2, [r1, #0x40]
|
|
add r0, r0, #0x1000
|
|
mov r1, #0x600
|
|
mov r3, #0x400
|
|
bl func_ov38_0217c994
|
|
add r0, r4, #0x1000
|
|
ldrsh r1, [r4, #0x78]
|
|
ldrsh r0, [r0, #0x82]
|
|
add r0, r1, r0
|
|
strh r0, [r4, #0x78]
|
|
_02180d9c:
|
|
mov r0, r4
|
|
bl func_ov38_0217de58
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02180bc0
|
|
_02180dac: .word data_ov38_02189224
|
|
|
|
.global func_ov38_02180db0
|
|
arm_func_start func_ov38_02180db0
|
|
func_ov38_02180db0: ; 0x02180db0
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r4, _02180df8 ; =data_ov38_02189224
|
|
mov r6, r0
|
|
mov r5, #0
|
|
_02180dc0:
|
|
ldr r0, [r4, r5, lsl #2]
|
|
bl func_ov29_02172ddc
|
|
add r5, r5, #1
|
|
cmp r5, #5
|
|
blt _02180dc0
|
|
add r0, r6, #0x1000
|
|
mov r3, #0
|
|
add r1, r6, #4
|
|
ldr r2, _02180dfc ; =data_027e0f6c
|
|
strb r3, [r0, #0xa5]
|
|
ldr r0, [r2]
|
|
add r1, r1, #0x1000
|
|
bl func_ov00_02093a5c
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02180db0
|
|
_02180df8: .word data_ov38_02189224
|
|
_02180dfc: .word data_027e0f6c
|
|
|
|
.global func_ov38_02180e00
|
|
arm_func_start func_ov38_02180e00
|
|
func_ov38_02180e00: ; 0x02180e00
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0x24
|
|
ldr r1, _02180f20 ; =data_027e0d0c
|
|
mov r4, r0
|
|
ldr r2, [r1]
|
|
add r0, r4, #0x1000
|
|
str r2, [r4, #0x60]
|
|
ldr r3, [r1, #4]
|
|
mov r2, #0x1e
|
|
str r3, [r4, #0x64]
|
|
ldr r3, [r1, #8]
|
|
mov r1, #0x12
|
|
str r3, [r4, #0x68]
|
|
str r2, [r0, #0x54]
|
|
str r1, [r0, #0x58]
|
|
mov r2, #0
|
|
strb r2, [r0, #0xa3]
|
|
ldr r1, _02180f24 ; =0x00000171
|
|
strb r2, [r0, #0xa4]
|
|
str r1, [r0, #0x40]
|
|
str r2, [r0, #0x38]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldrsh r1, [r4, #0x12]
|
|
strh r1, [r0, #0x7c]
|
|
ldr r0, [r0, #0x70]
|
|
cmp r0, #1
|
|
beq _02180e7c
|
|
cmp r0, #2
|
|
beq _02180ea4
|
|
b _02180ecc
|
|
_02180e7c:
|
|
ldr r2, [r4, #0x18]
|
|
ldr r1, [r4, #0x1c]
|
|
ldr r0, [r4, #0x14]
|
|
str r0, [r4, #0xfd8]
|
|
str r2, [r4, #0xfdc]
|
|
str r1, [r4, #0xfe0]
|
|
ldr r0, [r4, #0xfdc]
|
|
add r0, r0, #0x5800
|
|
str r0, [r4, #0xfdc]
|
|
b _02180ee4
|
|
_02180ea4:
|
|
ldr r2, [r4, #0x18]
|
|
ldr r1, [r4, #0x1c]
|
|
ldr r0, [r4, #0x14]
|
|
str r0, [r4, #0xfd8]
|
|
str r2, [r4, #0xfdc]
|
|
str r1, [r4, #0xfe0]
|
|
ldr r0, [r4, #0xfdc]
|
|
add r0, r0, #0xe800
|
|
str r0, [r4, #0xfdc]
|
|
b _02180ee4
|
|
_02180ecc:
|
|
ldr r2, [r4, #0x4c]
|
|
ldr r1, [r4, #0x50]
|
|
ldr r0, [r4, #0x48]
|
|
str r0, [r4, #0xfd8]
|
|
str r2, [r4, #0xfdc]
|
|
str r1, [r4, #0xfe0]
|
|
_02180ee4:
|
|
ldr r1, [r4, #0xfdc]
|
|
add r0, r4, #0x1000
|
|
add r1, r1, #0x6000
|
|
str r1, [r4, #0xfdc]
|
|
mov r1, #0
|
|
strh r1, [r0, #0x82]
|
|
bl func_ov29_021716dc
|
|
ldr r0, _02180f28 ; =data_ov00_020eec68
|
|
mov r1, #0xa
|
|
bl func_ov00_020d716c
|
|
add r0, r4, #0x1000
|
|
mov r1, #0xa
|
|
str r1, [r0, #0x68]
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02180e00
|
|
_02180f20: .word data_027e0d0c
|
|
_02180f24: .word 0x00000171
|
|
_02180f28: .word data_ov00_020eec68
|
|
|
|
.global func_ov38_02180f2c
|
|
arm_func_start func_ov38_02180f2c
|
|
func_ov38_02180f2c: ; 0x02180f2c
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x50
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x2c4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
cmp r0, #5
|
|
beq _02180f58
|
|
cmp r0, #0x10
|
|
beq _02181098
|
|
b _02181020
|
|
_02180f58:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02180f8c
|
|
mov r2, #0
|
|
mov r0, r4
|
|
mov r3, r2
|
|
mov r1, #0x10
|
|
bl func_ov38_0217d570
|
|
b _02181098
|
|
_02180f8c:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
mov r1, #0x2d000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02181098
|
|
add r0, sp, #0x24
|
|
bl func_ov00_020c1500
|
|
mvn r1, #0
|
|
add r0, sp, #0x24
|
|
str r1, [sp, #0x40]
|
|
str r1, [sp, #0x44]
|
|
bl func_ov00_020c3348
|
|
mvn r3, #0
|
|
mov r2, #0
|
|
mov r0, #0x16000
|
|
str r0, [sp, #0x1c]
|
|
add r1, sp, #4
|
|
str r3, [sp, #4]
|
|
str r3, [sp, #8]
|
|
str r2, [sp, #0x18]
|
|
str r2, [sp, #0x20]
|
|
str r1, [sp]
|
|
ldr r0, _02181208 ; =data_027e0fe8
|
|
ldr r1, _0218120c ; =0x4e564d4d
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x18
|
|
add r3, sp, #0x24
|
|
bl func_ov00_020c4048
|
|
ldr r0, _02181210 ; =data_027e0ffc
|
|
ldr r1, _02181214 ; =0x00000442
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
b _02181098
|
|
_02181020:
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r0, #0x68]
|
|
cmp r1, #0
|
|
subne r1, r1, #1
|
|
strne r1, [r0, #0x68]
|
|
add r0, r4, #0x1000
|
|
ldr r0, [r0, #0x68]
|
|
cmp r0, #0
|
|
ldreq r0, [r4, #0x2e0]
|
|
cmpeq r0, #0
|
|
addne sp, sp, #0x50
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, r4
|
|
bl func_ov00_020c198c
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x50
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mov r0, r4
|
|
mov r1, #5
|
|
mov r2, #1
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
ldr r1, [r4, #0x2c4]
|
|
mov r0, r4
|
|
add r1, r4, r1, lsl #7
|
|
mov r2, #0x1000
|
|
str r2, [r1, #0x1c4]
|
|
bl func_ov38_02186b08
|
|
add sp, sp, #0x50
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02181098:
|
|
add r0, r4, #0x1000
|
|
ldrb r1, [r0, #0xa3]
|
|
cmp r1, #0
|
|
bne _02181100
|
|
ldr r1, [r0, #0x54]
|
|
subs r1, r1, #1
|
|
str r1, [r0, #0x54]
|
|
bne _02181100
|
|
mov r2, #1
|
|
strb r2, [r0, #0xa3]
|
|
mov r1, #0
|
|
str r1, [r0, #0x38]
|
|
rsb r1, r2, #0x134
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r2, [r4, #0x18]
|
|
ldr r1, [r4, #0x1c]
|
|
ldr r0, [r4, #0x14]
|
|
str r0, [r4, #0xfd8]
|
|
str r2, [r4, #0xfdc]
|
|
str r1, [r4, #0xfe0]
|
|
ldr r0, [r4, #0xfdc]
|
|
sub r0, r0, #0xa000
|
|
str r0, [r4, #0xfdc]
|
|
b _02181134
|
|
_02181100:
|
|
add r0, r4, #0x1000
|
|
ldrb r0, [r0, #0xa3]
|
|
cmp r0, #0
|
|
beq _02181134
|
|
ldr r0, [r4, #0xfdc]
|
|
ldr r1, [r4, #0x4c]
|
|
add r0, r0, #0x9a
|
|
add r0, r0, #0x100
|
|
cmp r1, r0
|
|
bge _02181134
|
|
add r0, r4, #0x2c8
|
|
mov r1, #0xf
|
|
bl func_ov38_0217be60
|
|
_02181134:
|
|
add r0, r4, #0x1000
|
|
ldrb r1, [r0, #0xa4]
|
|
cmp r1, #0
|
|
bne _02181178
|
|
ldr r1, [r0, #0x58]
|
|
subs r1, r1, #1
|
|
str r1, [r0, #0x58]
|
|
bne _02181178
|
|
mov r1, #1
|
|
ldr r5, _02181218 ; =data_ov38_02189224
|
|
strb r1, [r0, #0xa4]
|
|
mov r6, #0
|
|
_02181164:
|
|
ldr r0, [r5, r6, lsl #2]
|
|
bl func_ov29_02174cc8
|
|
add r6, r6, #1
|
|
cmp r6, #5
|
|
blt _02181164
|
|
_02181178:
|
|
add r1, r4, #0x1000
|
|
add r0, r4, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r0, #0x29
|
|
add r1, r4, #0x3d8
|
|
str r0, [sp]
|
|
add r0, r4, #0x1000
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, r4, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
add r1, r4, #0x1000
|
|
ldrb r0, [r1, #0xa3]
|
|
cmp r0, #0
|
|
beq _021811f8
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
add r0, r4, #0x82
|
|
ldr r2, [r1, #0x40]
|
|
add r0, r0, #0x1000
|
|
mov r1, #0x600
|
|
mov r3, #0x400
|
|
bl func_ov38_0217c994
|
|
add r0, r4, #0x1000
|
|
ldrsh r1, [r4, #0x78]
|
|
ldrsh r0, [r0, #0x82]
|
|
add r0, r1, r0
|
|
strh r0, [r4, #0x78]
|
|
_021811f8:
|
|
mov r0, r4
|
|
bl func_ov38_0217de58
|
|
add sp, sp, #0x50
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02180f2c
|
|
_02181208: .word data_027e0fe8
|
|
_0218120c: .word 0x4e564d4d
|
|
_02181210: .word data_027e0ffc
|
|
_02181214: .word 0x00000442
|
|
_02181218: .word data_ov38_02189224
|
|
|
|
.global func_ov38_0218121c
|
|
arm_func_start func_ov38_0218121c
|
|
func_ov38_0218121c: ; 0x0218121c
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r4, _02181250 ; =data_ov38_02189224
|
|
mov r6, r0
|
|
mov r5, #0
|
|
_0218122c:
|
|
ldr r0, [r4, r5, lsl #2]
|
|
bl func_ov29_02172ddc
|
|
add r5, r5, #1
|
|
cmp r5, #5
|
|
blt _0218122c
|
|
add r0, r6, #0x1000
|
|
mov r1, #0
|
|
strb r1, [r0, #0xa5]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218121c
|
|
_02181250: .word data_ov38_02189224
|
|
|
|
.global func_ov38_02181254
|
|
arm_func_start func_ov38_02181254
|
|
func_ov38_02181254: ; 0x02181254
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0xc
|
|
mov r4, r0
|
|
mov r2, #1
|
|
add lr, r4, #0x1000
|
|
ldr r1, _02181320 ; =data_027e0d0c
|
|
str r2, [lr, #0x70]
|
|
ldr r3, [r1]
|
|
mov r5, #0x1e
|
|
str r3, [r4, #0x60]
|
|
ldr r6, [r1, #4]
|
|
mov r3, #0x12
|
|
str r6, [r4, #0x64]
|
|
ldr r1, [r1, #8]
|
|
mov ip, #0
|
|
str r1, [r4, #0x68]
|
|
str r5, [lr, #0x54]
|
|
str r3, [lr, #0x58]
|
|
strb ip, [lr, #0xa3]
|
|
strb ip, [lr, #0xa4]
|
|
add r1, r2, #0x170
|
|
str r1, [lr, #0x40]
|
|
str ip, [lr, #0x38]
|
|
mov r1, #0x800
|
|
str r1, [lr, #0x3c]
|
|
ldrsh r5, [r4, #0x12]
|
|
mov r1, #0xf
|
|
mov r3, #0x200
|
|
strh r5, [lr, #0x7c]
|
|
ldr r7, [r4, #0x18]
|
|
ldr r6, [r4, #0x1c]
|
|
ldr r5, [r4, #0x14]
|
|
str r5, [r4, #0xfd8]
|
|
str r7, [r4, #0xfdc]
|
|
str r6, [r4, #0xfe0]
|
|
ldr r5, [r4, #0xfdc]
|
|
add r5, r5, #0xe800
|
|
add r5, r5, #0x6000
|
|
str r5, [r4, #0xfdc]
|
|
strh ip, [lr, #0x82]
|
|
strb r2, [lr, #0xaa]
|
|
ldrsh ip, [r4, #0x78]
|
|
sub ip, ip, #0x6000
|
|
strh ip, [lr, #0x7c]
|
|
bl func_ov38_0217d570
|
|
ldr r0, [r4, #0x2c4]
|
|
mov r1, #0x1000
|
|
add r0, r4, r0, lsl #7
|
|
str r1, [r0, #0x1c4]
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02181254
|
|
_02181320: .word data_027e0d0c
|
|
|
|
.global func_ov38_02181324
|
|
arm_func_start func_ov38_02181324
|
|
func_ov38_02181324: ; 0x02181324
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r5, r0
|
|
ldr r0, [r5, #0x2c4]
|
|
add r2, r5, #0x1b4
|
|
mov r1, r0
|
|
add r0, r5, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
add r4, r2, r1, lsl #7
|
|
cmp r0, #0xe
|
|
beq _02181488
|
|
cmp r0, #0xf
|
|
beq _02181364
|
|
cmp r0, #0x10
|
|
beq _02181388
|
|
b _0218154c
|
|
_02181364:
|
|
add r0, r4, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02181388
|
|
mov r0, r5
|
|
mov r1, #0x10
|
|
mov r2, #1
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
_02181388:
|
|
add r0, r5, #0x1000
|
|
ldrb r1, [r0, #0xa3]
|
|
cmp r1, #0
|
|
bne _021813f0
|
|
ldr r1, [r0, #0x54]
|
|
subs r1, r1, #1
|
|
str r1, [r0, #0x54]
|
|
bne _021813f0
|
|
mov r2, #1
|
|
strb r2, [r0, #0xa3]
|
|
mov r1, #0
|
|
str r1, [r0, #0x38]
|
|
rsb r1, r2, #0x134
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r2, [r5, #0x18]
|
|
ldr r1, [r5, #0x1c]
|
|
ldr r0, [r5, #0x14]
|
|
str r0, [r5, #0xfd8]
|
|
str r2, [r5, #0xfdc]
|
|
str r1, [r5, #0xfe0]
|
|
ldr r0, [r5, #0xfdc]
|
|
add r0, r0, #0x7000
|
|
str r0, [r5, #0xfdc]
|
|
b _02181440
|
|
_021813f0:
|
|
add r0, r5, #0x1000
|
|
ldrb r1, [r0, #0xa3]
|
|
cmp r1, #0
|
|
ldrneb r0, [r0, #0xa4]
|
|
cmpne r0, #0
|
|
beq _02181440
|
|
add r0, r4, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02181440
|
|
mov r0, r5
|
|
mov r1, #0xe
|
|
mov r2, #1
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
ldr r0, _021815e8 ; =data_027e0ffc
|
|
ldr r1, _021815ec ; =0x0000043a
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_02181440:
|
|
add r0, r5, #0x1000
|
|
ldrb r1, [r0, #0xa4]
|
|
cmp r1, #0
|
|
bne _0218154c
|
|
ldr r1, [r0, #0x58]
|
|
subs r1, r1, #1
|
|
str r1, [r0, #0x58]
|
|
bne _0218154c
|
|
mov r1, #1
|
|
ldr r4, _021815f0 ; =data_ov38_02189224
|
|
strb r1, [r0, #0xa4]
|
|
mov r6, #0
|
|
_02181470:
|
|
ldr r0, [r4, r6, lsl #2]
|
|
bl func_ov29_02174cc8
|
|
add r6, r6, #1
|
|
cmp r6, #5
|
|
blt _02181470
|
|
b _0218154c
|
|
_02181488:
|
|
add r0, r4, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _021814a4
|
|
add r0, r5, #0x2c8
|
|
mov r1, #8
|
|
bl func_ov38_0217be60
|
|
_021814a4:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x2b000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _021814f8
|
|
ldr r1, _021815f4 ; =0x00000266
|
|
add r0, r5, #0x1000
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0
|
|
str r1, [r0, #0x38]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r2, [r5, #0x18]
|
|
ldr r1, [r5, #0x1c]
|
|
ldr r0, [r5, #0x14]
|
|
str r0, [r5, #0xfd8]
|
|
str r2, [r5, #0xfdc]
|
|
str r1, [r5, #0xfe0]
|
|
ldr r0, [r5, #0xfdc]
|
|
add r0, r0, #0x5800
|
|
str r0, [r5, #0xfdc]
|
|
_021814f8:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x34000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02181524
|
|
mov r0, r5
|
|
bl func_ov38_021840f8
|
|
add r0, r5, #0x1000
|
|
ldr r1, [r0, #0x70]
|
|
mov r0, r5
|
|
bl func_ov38_021840c8
|
|
_02181524:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x37000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _0218154c
|
|
ldr r0, _021815e8 ; =data_027e0ffc
|
|
ldr r1, _021815f8 ; =0x0000043b
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_0218154c:
|
|
add r1, r5, #0x1000
|
|
add r0, r5, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r0, #0x29
|
|
add r1, r5, #0x3d8
|
|
str r0, [sp]
|
|
add r0, r5, #0x1000
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, r5, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
add r1, r5, #0x1000
|
|
ldrb r0, [r1, #0xa3]
|
|
cmp r0, #0
|
|
beq _021815d8
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
add r0, r5, #0x82
|
|
ldr r2, [r1, #0x40]
|
|
add r0, r0, #0x1000
|
|
mov r1, #0x600
|
|
mov r3, #0x400
|
|
bl func_ov38_0217c994
|
|
mov r0, #0xb6
|
|
str r0, [sp]
|
|
add r0, r5, #0x1000
|
|
ldrsh r1, [r0, #0x7c]
|
|
ldrsh r3, [r0, #0x82]
|
|
add r0, r5, #0x78
|
|
mov r2, #0x400
|
|
bl func_ov38_0217c994
|
|
_021815d8:
|
|
mov r0, r5
|
|
bl func_ov38_0217de58
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02181324
|
|
_021815e8: .word data_027e0ffc
|
|
_021815ec: .word 0x0000043a
|
|
_021815f0: .word data_ov38_02189224
|
|
_021815f4: .word 0x00000266
|
|
_021815f8: .word 0x0000043b
|
|
|
|
.global func_ov38_021815fc
|
|
arm_func_start func_ov38_021815fc
|
|
func_ov38_021815fc: ; 0x021815fc
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0xc
|
|
mov r4, r0
|
|
add ip, r4, #0x1000
|
|
mov lr, #2
|
|
mov r1, #0xc
|
|
mov r2, #1
|
|
mov r3, #0x200
|
|
str lr, [ip, #0x70]
|
|
bl func_ov38_0217d570
|
|
add r0, r4, #0x1000
|
|
mov r2, #0
|
|
ldr r1, _02181678 ; =0x00000133
|
|
str r2, [r0, #0x38]
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr ip, [r4, #0x18]
|
|
ldr r3, [r4, #0x1c]
|
|
ldr r2, [r4, #0x14]
|
|
mov r1, #1
|
|
str r2, [r4, #0xfd8]
|
|
str ip, [r4, #0xfdc]
|
|
str r3, [r4, #0xfe0]
|
|
ldr r2, [r4, #0xfdc]
|
|
add r2, r2, #0x5800
|
|
sub r2, r2, #0x1c00
|
|
str r2, [r4, #0xfdc]
|
|
strb r1, [r0, #0xaa]
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021815fc
|
|
_02181678: .word 0x00000133
|
|
|
|
.global func_ov38_0218167c
|
|
arm_func_start func_ov38_0218167c
|
|
func_ov38_0218167c: ; 0x0218167c
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r5, r0
|
|
ldr r0, [r5, #0x2c4]
|
|
add r2, r5, #0x1b4
|
|
mov r1, r0
|
|
add r0, r5, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
add r4, r2, r1, lsl #7
|
|
cmp r0, #0xc
|
|
beq _021816b4
|
|
cmp r0, #0xe
|
|
beq _02181768
|
|
b _0218182c
|
|
_021816b4:
|
|
add r0, r4, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _021816f0
|
|
mov r0, r5
|
|
mov r1, #0xe
|
|
mov r2, #1
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
ldr r0, _02181878 ; =data_027e0ffc
|
|
ldr r1, _0218187c ; =0x0000043a
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
b _0218182c
|
|
_021816f0:
|
|
add r0, r4, #0xc
|
|
mov r1, #0xf000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _0218182c
|
|
add r0, r5, #0x1000
|
|
mov r4, #0
|
|
ldr r1, _02181880 ; =0x00000171
|
|
str r4, [r0, #0x38]
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r3, [r5, #0x18]
|
|
ldr r2, [r5, #0x1c]
|
|
ldr r1, [r5, #0x14]
|
|
ldr r6, _02181884 ; =data_ov38_02189224
|
|
str r1, [r5, #0xfd8]
|
|
str r3, [r5, #0xfdc]
|
|
str r2, [r5, #0xfe0]
|
|
ldr r1, [r5, #0xfdc]
|
|
add r1, r1, #0x10000
|
|
str r1, [r5, #0xfdc]
|
|
ldrsh r1, [r5, #0x12]
|
|
strh r1, [r0, #0x7c]
|
|
_02181750:
|
|
ldr r0, [r6, r4, lsl #2]
|
|
bl func_ov29_02174cc8
|
|
add r4, r4, #1
|
|
cmp r4, #5
|
|
blt _02181750
|
|
b _0218182c
|
|
_02181768:
|
|
add r0, r4, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02181784
|
|
add r0, r5, #0x2c8
|
|
mov r1, #9
|
|
bl func_ov38_0217be60
|
|
_02181784:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x2b000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _021817d8
|
|
ldr r1, _02181888 ; =0x00000266
|
|
add r0, r5, #0x1000
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0
|
|
str r1, [r0, #0x38]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r2, [r5, #0x18]
|
|
ldr r1, [r5, #0x1c]
|
|
ldr r0, [r5, #0x14]
|
|
str r0, [r5, #0xfd8]
|
|
str r2, [r5, #0xfdc]
|
|
str r1, [r5, #0xfe0]
|
|
ldr r0, [r5, #0xfdc]
|
|
add r0, r0, #0xe800
|
|
str r0, [r5, #0xfdc]
|
|
_021817d8:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x34000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02181804
|
|
mov r0, r5
|
|
bl func_ov38_021840f8
|
|
add r0, r5, #0x1000
|
|
ldr r1, [r0, #0x70]
|
|
mov r0, r5
|
|
bl func_ov38_021840c8
|
|
_02181804:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x37000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _0218182c
|
|
ldr r0, _02181878 ; =data_027e0ffc
|
|
ldr r1, _0218188c ; =0x0000043b
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_0218182c:
|
|
add r1, r5, #0x1000
|
|
add r0, r5, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r0, #0x29
|
|
add r1, r5, #0x3d8
|
|
str r0, [sp]
|
|
add r0, r5, #0x1000
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, r5, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
mov r0, r5
|
|
bl func_ov38_0217ddc8
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218167c
|
|
_02181878: .word data_027e0ffc
|
|
_0218187c: .word 0x0000043a
|
|
_02181880: .word 0x00000171
|
|
_02181884: .word data_ov38_02189224
|
|
_02181888: .word 0x00000266
|
|
_0218188c: .word 0x0000043b
|
|
|
|
.global func_ov38_02181890
|
|
arm_func_start func_ov38_02181890
|
|
func_ov38_02181890: ; 0x02181890
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0xc
|
|
mov r4, r0
|
|
mov r1, #0xc
|
|
mov r2, #1
|
|
mov r3, #0x100
|
|
bl func_ov38_0217d570
|
|
add r0, r4, #0x1000
|
|
mov r2, #0
|
|
ldr r1, _0218194c ; =0x00000133
|
|
str r2, [r0, #0x38]
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r3, [r4, #0x18]
|
|
ldr r2, [r4, #0x1c]
|
|
ldr r1, [r4, #0x14]
|
|
str r1, [r4, #0xfd8]
|
|
str r3, [r4, #0xfdc]
|
|
str r2, [r4, #0xfe0]
|
|
ldr r0, [r0, #0x70]
|
|
cmp r0, #1
|
|
beq _02181900
|
|
cmp r0, #2
|
|
ldreq r0, [r4, #0xfdc]
|
|
addeq r0, r0, #0xe800
|
|
streq r0, [r4, #0xfdc]
|
|
b _0218190c
|
|
_02181900:
|
|
ldr r0, [r4, #0xfdc]
|
|
add r0, r0, #0x5800
|
|
str r0, [r4, #0xfdc]
|
|
_0218190c:
|
|
ldr r1, [r4, #0xfdc]
|
|
add r0, r4, #0x1000
|
|
sub r1, r1, #0x1c00
|
|
str r1, [r4, #0xfdc]
|
|
ldr r1, [r0, #0x74]
|
|
cmp r1, #3
|
|
movgt r1, #4
|
|
movle r1, #1
|
|
str r1, [r0, #0x68]
|
|
ldrsh r1, [r4, #0x78]
|
|
add r0, r4, #0x1000
|
|
strh r1, [r0, #0x82]
|
|
ldrsh r1, [r4, #0x78]
|
|
strh r1, [r0, #0x7c]
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02181890
|
|
_0218194c: .word 0x00000133
|
|
|
|
.global func_ov38_02181950
|
|
arm_func_start func_ov38_02181950
|
|
func_ov38_02181950: ; 0x02181950
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x34
|
|
mov r5, r0
|
|
ldr r1, [r5, #0x2c4]
|
|
add r3, r5, #0x1b4
|
|
mov r2, r1
|
|
add r1, r5, r1, lsl #2
|
|
ldr r1, [r1, #0x2b4]
|
|
add r4, r3, r2, lsl #7
|
|
cmp r1, #1
|
|
bgt _02181988
|
|
cmp r1, #1
|
|
beq _02181cb8
|
|
b _02181dbc
|
|
_02181988:
|
|
cmp r1, #0x12
|
|
bgt _02181dbc
|
|
cmp r1, #0xc
|
|
blt _02181dbc
|
|
beq _021819b0
|
|
cmp r1, #0x11
|
|
beq _02181bc8
|
|
cmp r1, #0x12
|
|
beq _02181ab0
|
|
b _02181dbc
|
|
_021819b0:
|
|
add r0, r4, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02181a10
|
|
mov r0, r5
|
|
mov r1, #0x11
|
|
mov r2, #1
|
|
mov r3, #0xf6
|
|
bl func_ov38_0217d570
|
|
ldr r0, _02181e18 ; =data_027e0ffc
|
|
ldr r1, _02181e1c ; =0x00000441
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
ldr r0, [r5, #0x2c4]
|
|
mov r1, #0x1000
|
|
add r0, r5, r0, lsl #7
|
|
str r1, [r0, #0x1c4]
|
|
add r1, r5, #0x1000
|
|
ldrsh r0, [r1, #0x7c]
|
|
add r0, r0, #0xa5
|
|
add r0, r0, #0x2f00
|
|
strh r0, [r1, #0x7c]
|
|
b _02181dbc
|
|
_02181a10:
|
|
add r0, r4, #0xc
|
|
mov r1, #0xf000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02181dbc
|
|
add r0, r5, #0x1000
|
|
mov r2, #0
|
|
ldr r1, _02181e20 ; =0x00000171
|
|
str r2, [r0, #0x38]
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r3, [r5, #0x18]
|
|
ldr r2, [r5, #0x1c]
|
|
ldr r1, [r5, #0x14]
|
|
str r1, [r5, #0xfd8]
|
|
str r3, [r5, #0xfdc]
|
|
str r2, [r5, #0xfe0]
|
|
ldr r0, [r0, #0x70]
|
|
cmp r0, #1
|
|
beq _02181a78
|
|
cmp r0, #2
|
|
ldreq r0, [r5, #0xfdc]
|
|
addeq r0, r0, #0xe800
|
|
streq r0, [r5, #0xfdc]
|
|
b _02181a84
|
|
_02181a78:
|
|
ldr r0, [r5, #0xfdc]
|
|
add r0, r0, #0x5800
|
|
str r0, [r5, #0xfdc]
|
|
_02181a84:
|
|
ldr r0, [r5, #0xfdc]
|
|
ldr r4, _02181e24 ; =data_ov38_02189224
|
|
add r0, r0, #0x5000
|
|
mov r6, #0
|
|
str r0, [r5, #0xfdc]
|
|
_02181a98:
|
|
ldr r0, [r4, r6, lsl #2]
|
|
bl func_ov29_02174cc8
|
|
add r6, r6, #1
|
|
cmp r6, #5
|
|
blt _02181a98
|
|
b _02181dbc
|
|
_02181ab0:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x34000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02181ad8
|
|
add r0, r5, #0x1000
|
|
ldr r1, [r0, #0x70]
|
|
mov r0, r5
|
|
bl func_ov38_021840c8
|
|
b _02181b20
|
|
_02181ad8:
|
|
add r0, r4, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02181b20
|
|
add r0, r5, #0x1000
|
|
ldr r0, [r0, #0x70]
|
|
cmp r0, #1
|
|
beq _02181b04
|
|
cmp r0, #2
|
|
beq _02181b14
|
|
b _02181b20
|
|
_02181b04:
|
|
add r0, r5, #0x2c8
|
|
mov r1, #8
|
|
bl func_ov38_0217be60
|
|
b _02181b20
|
|
_02181b14:
|
|
add r0, r5, #0x2c8
|
|
mov r1, #9
|
|
bl func_ov38_0217be60
|
|
_02181b20:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x37000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02181b48
|
|
ldr r0, _02181e18 ; =data_027e0ffc
|
|
ldr r1, _02181e28 ; =0x0000043b
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_02181b48:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x2b000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02181dbc
|
|
ldr r1, _02181e2c ; =0x00000266
|
|
add r0, r5, #0x1000
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0
|
|
str r1, [r0, #0x38]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r3, [r5, #0x18]
|
|
ldr r2, [r5, #0x1c]
|
|
ldr r1, [r5, #0x14]
|
|
str r1, [r5, #0xfd8]
|
|
str r3, [r5, #0xfdc]
|
|
str r2, [r5, #0xfe0]
|
|
ldr r0, [r0, #0x70]
|
|
cmp r0, #1
|
|
beq _02181ba8
|
|
cmp r0, #2
|
|
beq _02181bb8
|
|
b _02181dbc
|
|
_02181ba8:
|
|
ldr r0, [r5, #0xfdc]
|
|
add r0, r0, #0x5800
|
|
str r0, [r5, #0xfdc]
|
|
b _02181dbc
|
|
_02181bb8:
|
|
ldr r0, [r5, #0xfdc]
|
|
add r0, r0, #0xe800
|
|
str r0, [r5, #0xfdc]
|
|
b _02181dbc
|
|
_02181bc8:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x26000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02181c14
|
|
add r0, r5, #0x1000
|
|
mov r7, #0
|
|
ldr r1, _02181e2c ; =0x00000266
|
|
str r7, [r0, #0x38]
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0x800
|
|
ldr r6, _02181e24 ; =data_ov38_02189224
|
|
str r1, [r0, #0x3c]
|
|
_02181bfc:
|
|
ldr r0, [r6, r7, lsl #2]
|
|
bl func_ov29_02174054
|
|
add r7, r7, #1
|
|
cmp r7, #5
|
|
blt _02181bfc
|
|
b _02181c50
|
|
_02181c14:
|
|
add r0, r4, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02181c50
|
|
mov r0, r5
|
|
mov r1, #1
|
|
mov r2, #0
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
add r0, r5, #0x1000
|
|
mov r1, #0x1e
|
|
str r1, [r0, #0x54]
|
|
ldr r1, [r0, #0x68]
|
|
sub r1, r1, #1
|
|
str r1, [r0, #0x68]
|
|
_02181c50:
|
|
ldr r3, [r5, #0x18]
|
|
ldr r2, [r5, #0x1c]
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r5, #0x1000
|
|
str r1, [r5, #0xfd8]
|
|
str r3, [r5, #0xfdc]
|
|
str r2, [r5, #0xfe0]
|
|
ldr r0, [r0, #0x70]
|
|
cmp r0, #1
|
|
beq _02181c8c
|
|
cmp r0, #2
|
|
ldreq r0, [r5, #0xfdc]
|
|
addeq r0, r0, #0xe800
|
|
streq r0, [r5, #0xfdc]
|
|
b _02181c98
|
|
_02181c8c:
|
|
ldr r0, [r5, #0xfdc]
|
|
add r0, r0, #0x5800
|
|
str r0, [r5, #0xfdc]
|
|
_02181c98:
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0x26000
|
|
ldr r0, [r5, #0xfdc]
|
|
addlt r0, r0, #0x5000
|
|
strlt r0, [r5, #0xfdc]
|
|
addge r0, r0, #0x3000
|
|
strge r0, [r5, #0xfdc]
|
|
b _02181dbc
|
|
_02181cb8:
|
|
add r1, r5, #0x1000
|
|
ldr r2, [r1, #0x54]
|
|
cmp r2, #0
|
|
bne _02181db4
|
|
mov r3, #0
|
|
ldr r2, _02181e20 ; =0x00000171
|
|
str r3, [r1, #0x38]
|
|
str r2, [r1, #0x40]
|
|
mov r2, #0x800
|
|
str r2, [r1, #0x3c]
|
|
ldr r1, [r1, #0x68]
|
|
mov r2, #1
|
|
cmp r1, #0
|
|
bne _02181d74
|
|
mov r1, #0x12
|
|
bl func_ov38_0217d570
|
|
add r0, r5, #0x1000
|
|
mov r2, #0
|
|
ldr r1, _02181e20 ; =0x00000171
|
|
str r2, [r0, #0x38]
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr r3, [r5, #0x18]
|
|
ldr r2, [r5, #0x1c]
|
|
ldr r1, [r5, #0x14]
|
|
str r1, [r5, #0xfd8]
|
|
str r3, [r5, #0xfdc]
|
|
str r2, [r5, #0xfe0]
|
|
ldr r0, [r0, #0x70]
|
|
cmp r0, #1
|
|
beq _02181d4c
|
|
cmp r0, #2
|
|
ldreq r0, [r5, #0xfdc]
|
|
addeq r0, r0, #0xe800
|
|
streq r0, [r5, #0xfdc]
|
|
b _02181d58
|
|
_02181d4c:
|
|
ldr r0, [r5, #0xfdc]
|
|
add r0, r0, #0x5800
|
|
str r0, [r5, #0xfdc]
|
|
_02181d58:
|
|
ldr r1, [r5, #0xfdc]
|
|
add r0, r5, #0x1000
|
|
sub r1, r1, #0x1800
|
|
str r1, [r5, #0xfdc]
|
|
ldrsh r1, [r0, #0x82]
|
|
strh r1, [r0, #0x7c]
|
|
b _02181dbc
|
|
_02181d74:
|
|
mov r1, #0x11
|
|
bl func_ov38_0217d570
|
|
ldr r0, _02181e18 ; =data_027e0ffc
|
|
ldr r1, _02181e1c ; =0x00000441
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
ldr r0, [r5, #0x2c4]
|
|
mov r1, #0x1000
|
|
add r0, r5, r0, lsl #7
|
|
str r1, [r0, #0x1c4]
|
|
add r0, r5, #0x1000
|
|
ldrsh r1, [r0, #0x7c]
|
|
add r1, r1, #0x4000
|
|
strh r1, [r0, #0x7c]
|
|
b _02181dbc
|
|
_02181db4:
|
|
sub r0, r2, #1
|
|
str r0, [r1, #0x54]
|
|
_02181dbc:
|
|
mov r1, #0
|
|
mov r0, r5
|
|
mov r2, r1
|
|
bl func_ov00_020c243c
|
|
add r1, r5, #0x1000
|
|
add r0, r5, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r0, #0x29
|
|
add r1, r5, #0x3d8
|
|
str r0, [sp]
|
|
add r0, r5, #0x1000
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, r5, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
mov r0, r5
|
|
bl func_ov38_0217ddc8
|
|
add sp, sp, #0x34
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02181950
|
|
_02181e18: .word data_027e0ffc
|
|
_02181e1c: .word 0x00000441
|
|
_02181e20: .word 0x00000171
|
|
_02181e24: .word data_ov38_02189224
|
|
_02181e28: .word 0x0000043b
|
|
_02181e2c: .word 0x00000266
|
|
|
|
.global func_ov38_02181e30
|
|
arm_func_start func_ov38_02181e30
|
|
func_ov38_02181e30: ; 0x02181e30
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r0
|
|
add ip, r4, #0x1000
|
|
mov lr, #0
|
|
strh lr, [ip, #0x7e]
|
|
mov r1, #0xc
|
|
mov r2, #1
|
|
mov r3, #0x200
|
|
str lr, [ip, #0x70]
|
|
bl func_ov38_0217d570
|
|
ldr r0, _02181f14 ; =data_027e0d0c
|
|
add r1, r4, #0x1000
|
|
ldr r2, [r0]
|
|
mov r3, #0
|
|
str r2, [r4, #0x60]
|
|
ldr ip, [r0, #4]
|
|
ldr r2, _02181f18 ; =0x00000133
|
|
str ip, [r4, #0x64]
|
|
ldr ip, [r0, #8]
|
|
mov r0, #0x800
|
|
str ip, [r4, #0x68]
|
|
str r3, [r1, #0x38]
|
|
str r2, [r1, #0x40]
|
|
str r0, [r1, #0x3c]
|
|
ldr ip, [r4, #0x18]
|
|
ldr r3, [r4, #0x1c]
|
|
ldr r2, [r4, #0x14]
|
|
mov r0, r4
|
|
str r2, [r4, #0xfd8]
|
|
str ip, [r4, #0xfdc]
|
|
str r3, [r4, #0xfe0]
|
|
ldr r2, [r4, #0xfdc]
|
|
sub r2, r2, #0x3000
|
|
str r2, [r4, #0xfdc]
|
|
ldrsh r2, [r4, #0x12]
|
|
strh r2, [r1, #0x7c]
|
|
bl func_ov38_0218307c
|
|
add r0, r4, #0x1000
|
|
mov r2, #1
|
|
ldr r1, _02181f1c ; =func_ov38_0217cd70
|
|
strb r2, [r0, #0xa5]
|
|
mov ip, #3
|
|
add r0, r4, #0x15c
|
|
mov r2, #0
|
|
mov r3, #6
|
|
str ip, [sp]
|
|
bl func_02018c90
|
|
add r0, r4, #0x1000
|
|
mov r1, #0
|
|
strh r1, [r0, #0x88]
|
|
strh r1, [r0, #0x8a]
|
|
strh r1, [r0, #0x8c]
|
|
str r1, [r0, #0x50]
|
|
strb r1, [r0, #0xa0]
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02181e30
|
|
_02181f14: .word data_027e0d0c
|
|
_02181f18: .word 0x00000133
|
|
_02181f1c: .word func_ov38_0217cd70
|
|
|
|
.global func_ov38_02181f20
|
|
arm_func_start func_ov38_02181f20
|
|
func_ov38_02181f20: ; 0x02181f20
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x2c4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
cmp r0, #0xc
|
|
bne _02181ff0
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02181f88
|
|
add r0, r4, #0x1000
|
|
ldr r0, [r0, #0x78]
|
|
cmp r0, #0
|
|
add r0, r4, #0x2c8
|
|
bne _02181f7c
|
|
mov r1, #0x10
|
|
bl func_ov38_0217be60
|
|
b _02181ff0
|
|
_02181f7c:
|
|
mov r1, #0x11
|
|
bl func_ov38_0217be60
|
|
b _02181ff0
|
|
_02181f88:
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
mov r1, #0x1d000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02181ff0
|
|
add r0, r4, #0x1000
|
|
mov r2, #0
|
|
ldr r1, _0218203c ; =0x00000171
|
|
str r2, [r0, #0x38]
|
|
str r1, [r0, #0x40]
|
|
mov r1, #0x800
|
|
str r1, [r0, #0x3c]
|
|
ldr ip, [r4, #0x18]
|
|
ldr r3, [r4, #0x1c]
|
|
ldr r2, [r4, #0x14]
|
|
mov r1, #0x5c00
|
|
str r2, [r4, #0xfd8]
|
|
str ip, [r4, #0xfdc]
|
|
str r3, [r4, #0xfe0]
|
|
str r1, [r4, #0xfdc]
|
|
ldrsh r1, [r0, #0x7c]
|
|
add r1, r1, #0x6000
|
|
strh r1, [r0, #0x7c]
|
|
_02181ff0:
|
|
add r1, r4, #0x1000
|
|
add r0, r4, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r0, #0x29
|
|
add r1, r4, #0x3d8
|
|
str r0, [sp]
|
|
add r0, r4, #0x1000
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, r4, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
mov r0, r4
|
|
bl func_ov38_0217ddc8
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02181f20
|
|
_0218203c: .word 0x00000171
|
|
|
|
.global func_ov38_02182040
|
|
arm_func_start func_ov38_02182040
|
|
func_ov38_02182040: ; 0x02182040
|
|
add r1, r0, #0x1000
|
|
mov r2, #3
|
|
str r2, [r1, #0x68]
|
|
mov r2, #0
|
|
str r2, [r1, #0x38]
|
|
mov r3, #0x400
|
|
str r3, [r1, #0x3c]
|
|
ldr r2, _0218208c ; =data_027e0fb4
|
|
ldr ip, _02182090 ; =func_ov38_0217d570
|
|
ldr r2, [r2]
|
|
mov r3, #0x200
|
|
ldrh r2, [r2, #0xba]
|
|
cmp r2, #0
|
|
ldrnesh r2, [r1, #0x9e]
|
|
addne r2, r2, #1
|
|
strneh r2, [r1, #0x9e]
|
|
mov r1, #2
|
|
mov r2, #0
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02182040
|
|
_0218208c: .word data_027e0fb4
|
|
_02182090: .word func_ov38_0217d570
|
|
|
|
.global func_ov38_02182094
|
|
arm_func_start func_ov38_02182094
|
|
func_ov38_02182094: ; 0x02182094
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x2c4]
|
|
add r1, r4, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e544
|
|
cmp r0, #0
|
|
beq _021821d4
|
|
add r1, r4, #0x1000
|
|
ldr r0, [r1, #0x68]
|
|
subs r0, r0, #1
|
|
str r0, [r1, #0x68]
|
|
bne _021821d4
|
|
ldr r0, [r1, #0x78]
|
|
cmp r0, #0
|
|
bne _02182130
|
|
ldr r2, _02182220 ; =data_027e0764
|
|
mov r3, #0
|
|
ldr r5, [r2]
|
|
ldmib r2, {r0, r6}
|
|
umull r8, r7, r6, r5
|
|
mla r7, r6, r0, r7
|
|
ldr r0, [r2, #0xc]
|
|
ldr r6, [r2, #0x10]
|
|
mla r7, r0, r5, r7
|
|
ldr r0, [r2, #0x14]
|
|
adds r6, r6, r8
|
|
adc r8, r0, r7
|
|
str r6, [r2]
|
|
mov r0, #0x64
|
|
umull r5, r7, r8, r0
|
|
mla r7, r8, r3, r7
|
|
mov r6, r3
|
|
mla r7, r6, r0, r7
|
|
str r8, [r2, #4]
|
|
cmp r7, #0x50
|
|
bge _02182140
|
|
_02182130:
|
|
add r0, r4, #0x2c8
|
|
mov r1, #0x11
|
|
bl func_ov38_0217be60
|
|
b _021821d4
|
|
_02182140:
|
|
ldrsh r5, [r1, #0x7c]
|
|
mov ip, r6, lsl #0x2
|
|
mov r0, #0x400
|
|
add r5, r5, #0x6000
|
|
strh r5, [r1, #0x7c]
|
|
ldr r6, [r2, #8]
|
|
ldmia r2, {r5, lr}
|
|
umull r8, r7, r6, r5
|
|
mla r7, r6, lr, r7
|
|
ldr lr, [r2, #0xc]
|
|
ldr r6, [r2, #0x10]
|
|
mla r7, lr, r5, r7
|
|
ldr r5, [r2, #0x14]
|
|
adds r6, r6, r8
|
|
adc r5, r5, r7
|
|
str r6, [r2]
|
|
orr ip, ip, r5, lsr #30
|
|
str r5, [r2, #4]
|
|
add r2, ip, #1
|
|
str r2, [r1, #0x68]
|
|
str r3, [r1, #0x38]
|
|
str r0, [r1, #0x3c]
|
|
ldrh r0, [r1, #0x7c]
|
|
ldr r2, _02182224 ; =data_02050f54
|
|
mov r0, r0, asr #0x4
|
|
mov r0, r0, lsl #0x2
|
|
ldrsh r0, [r2, r0]
|
|
mov r0, r0, lsl #0x1
|
|
str r0, [r4, #0xfd8]
|
|
ldrh r0, [r1, #0x7c]
|
|
mov r0, r0, asr #0x4
|
|
mov r0, r0, lsl #0x1
|
|
add r0, r0, #1
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r0, [r2, r0]
|
|
mov r0, r0, lsl #0x1
|
|
str r0, [r4, #0xfe0]
|
|
_021821d4:
|
|
add r1, r4, #0x1000
|
|
add r0, r4, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r0, #0x29
|
|
add r1, r4, #0x3d8
|
|
str r0, [sp]
|
|
add r0, r4, #0x1000
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, r4, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
mov r0, r4
|
|
bl func_ov38_0217dec0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02182094
|
|
_02182220: .word data_027e0764
|
|
_02182224: .word data_02050f54
|
|
|
|
.global func_ov38_02182228
|
|
arm_func_start func_ov38_02182228
|
|
func_ov38_02182228: ; 0x02182228
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
mov r4, r0
|
|
add ip, r4, #0x1000
|
|
mov r5, #3
|
|
mov r1, #2
|
|
mov r2, #0
|
|
mov r3, #0x200
|
|
str r5, [ip, #0x68]
|
|
bl func_ov38_0217d570
|
|
add r1, r4, #0x1000
|
|
ldrsh r3, [r1, #0x94]
|
|
mov r0, #0
|
|
ldr r2, _02182334 ; =0x0000059a
|
|
sub r3, r3, #0x8000
|
|
strh r3, [r1, #0x84]
|
|
strh r0, [r1, #0x82]
|
|
str r0, [r1, #0x38]
|
|
strb r0, [r1, #0xa0]
|
|
str r2, [r1, #0x3c]
|
|
mov r2, #0x400
|
|
str r2, [r1, #0x40]
|
|
ldrsh r5, [r4, #0x78]
|
|
ldr r3, _02182338 ; =data_027e0764
|
|
mov r2, #0x64
|
|
strh r5, [r1, #0x7c]
|
|
ldr r6, [r3]
|
|
ldmib r3, {r5, ip}
|
|
umull r7, lr, ip, r6
|
|
mla lr, ip, r5, lr
|
|
ldr r5, [r3, #0xc]
|
|
ldr r8, [r3, #0x10]
|
|
mla lr, r5, r6, lr
|
|
ldr ip, [r3, #0x14]
|
|
adds r8, r8, r7
|
|
adc r7, ip, lr
|
|
umull r5, r6, r7, r2
|
|
str r8, [r3]
|
|
str r7, [r3, #4]
|
|
mla r6, r7, r0, r6
|
|
mov r5, r0
|
|
mla r6, r5, r2, r6
|
|
cmp r6, #0x32
|
|
movgt r0, #1
|
|
strb r0, [r1, #0xa3]
|
|
add r2, r4, #0x1000
|
|
mov r0, #0
|
|
ldr r3, _02182338 ; =data_027e0764
|
|
str r0, [r2, #0x44]
|
|
ldr r4, [r3]
|
|
ldmib r3, {r1, ip}
|
|
umull r5, lr, ip, r4
|
|
mla lr, ip, r1, lr
|
|
ldr r1, [r3, #0xc]
|
|
ldr r6, [r3, #0x10]
|
|
mla lr, r1, r4, lr
|
|
ldr ip, [r3, #0x14]
|
|
adds r6, r6, r5
|
|
adc r5, ip, lr
|
|
mov r1, #0x3d
|
|
umull r4, ip, r5, r1
|
|
mla ip, r5, r0, ip
|
|
mla ip, r0, r1, ip
|
|
str r6, [r3]
|
|
str r5, [r3, #4]
|
|
add r0, ip, #0x96
|
|
str r0, [r2, #0x54]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02182228
|
|
_02182334: .word 0x0000059a
|
|
_02182338: .word data_027e0764
|
|
|
|
.global func_ov38_0218233c
|
|
arm_func_start func_ov38_0218233c
|
|
func_ov38_0218233c: ; 0x0218233c
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x10
|
|
mov r6, r0
|
|
add r0, r6, #0x1000
|
|
mov r1, #0x180
|
|
strh r1, [r0, #0x82]
|
|
ldrb r1, [r0, #0xa3]
|
|
ldrsh r2, [r0, #0x84]
|
|
add r3, r6, #0x38
|
|
cmp r1, #0
|
|
ldrnesh r1, [r0, #0x82]
|
|
addne r1, r2, r1
|
|
ldreqsh r1, [r0, #0x82]
|
|
subeq r1, r2, r1
|
|
strh r1, [r0, #0x84]
|
|
add r0, r6, #0x1000
|
|
ldrh r1, [r0, #0x84]
|
|
ldr r2, _0218254c ; =data_02050f54
|
|
mov r1, r1, asr #0x4
|
|
mov r4, r1, lsl #0x1
|
|
add r1, r4, #1
|
|
mov r4, r4, lsl #0x1
|
|
mov r1, r1, lsl #0x1
|
|
ldrsh r4, [r2, r4]
|
|
ldrsh r2, [r2, r1]
|
|
ldr r1, [r0, #0x3c]
|
|
add r0, r4, r4, lsl #3
|
|
mov r4, r0, lsl #0xc
|
|
add r2, r2, r2, lsl #3
|
|
mov r0, r2, lsl #0xc
|
|
add r5, r0, #0x800
|
|
add r4, r4, #0x800
|
|
add r0, r3, #0x1000
|
|
mov r2, #0x66
|
|
mov r4, r4, asr #0xc
|
|
mov r5, r5, asr #0xc
|
|
bl func_0202b0f4
|
|
add r3, r6, #0x1000
|
|
ldr r0, [r3, #0x54]
|
|
cmp r0, #0
|
|
bne _02182498
|
|
ldr r2, [r3, #0x44]
|
|
ldr r0, _02182550 ; =0x00003d9a
|
|
mov r1, #0
|
|
umull lr, ip, r2, r0
|
|
mla ip, r2, r1, ip
|
|
mov r1, r2, asr #0x1f
|
|
adds r2, lr, #0x800
|
|
mla ip, r1, r0, ip
|
|
adc r0, ip, #0
|
|
mov r1, r2, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
add r0, r1, #0x66
|
|
add r0, r0, #0x1e00
|
|
str r0, [r6, #0xfdc]
|
|
ldr r0, [r3, #0x44]
|
|
rsb r1, r4, #0
|
|
smull r2, r0, r1, r0
|
|
adds r1, r2, #0x800
|
|
adc r0, r0, #0
|
|
mov r1, r1, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
add r0, r4, r1
|
|
str r0, [r6, #0xfd8]
|
|
add r0, r6, #0x44
|
|
ldr r1, [r3, #0x44]
|
|
rsb r2, r5, #0
|
|
smull r3, r1, r2, r1
|
|
adds r2, r3, #0x800
|
|
adc r1, r1, #0
|
|
mov r2, r2, lsr #0xc
|
|
orr r2, r2, r1, lsl #20
|
|
add r3, r5, r2
|
|
add r0, r0, #0x1000
|
|
mov r1, #0x1000
|
|
mov r2, #0x66
|
|
str r3, [r6, #0xfe0]
|
|
bl func_0202b0f4
|
|
cmp r0, #0
|
|
beq _021824e0
|
|
mov r0, r6
|
|
mov r1, #3
|
|
bl func_ov38_02185720
|
|
add r0, r6, #0x2c8
|
|
mov r1, #0x10
|
|
bl func_ov38_0217be60
|
|
b _021824e0
|
|
_02182498:
|
|
ldr r0, _02182554 ; =0x00001e66
|
|
str r4, [r6, #0xfd8]
|
|
str r0, [r6, #0xfdc]
|
|
str r5, [r6, #0xfe0]
|
|
ldr r1, [r3, #0x54]
|
|
mov r0, r6
|
|
sub r4, r1, #1
|
|
mov r1, #2
|
|
mov r2, #0
|
|
str r4, [r3, #0x54]
|
|
bl func_ov00_020c1e2c
|
|
cmp r0, #0
|
|
beq _021824e0
|
|
ldr r0, _02182558 ; =data_027e0ffc
|
|
ldr r1, _0218255c ; =0x00000443
|
|
add r2, r6, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_021824e0:
|
|
mov r0, #0x29
|
|
str r0, [sp]
|
|
add r0, r6, #0x1000
|
|
add r1, r6, #0x3d8
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, r6, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
mov r0, r6
|
|
bl func_ov38_0217dfe4
|
|
cmp r0, #0
|
|
beq _02182528
|
|
add r0, r6, #0x1000
|
|
ldr r1, [r0, #0x54]
|
|
cmp r1, #4
|
|
movlt r1, #4
|
|
strlt r1, [r0, #0x54]
|
|
_02182528:
|
|
mov r0, r6
|
|
mov r1, #0x1a
|
|
bl func_ov00_020c1fc8
|
|
mov r1, #0
|
|
mov r0, r6
|
|
mov r2, r1
|
|
bl func_ov00_020c243c
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218233c
|
|
_0218254c: .word data_02050f54
|
|
_02182550: .word 0x00003d9a
|
|
_02182554: .word 0x00001e66
|
|
_02182558: .word data_027e0ffc
|
|
_0218255c: .word 0x00000443
|
|
|
|
.global func_ov38_02182560
|
|
arm_func_start func_ov38_02182560
|
|
func_ov38_02182560: ; 0x02182560
|
|
stmdb sp!, {r3, lr}
|
|
add ip, r0, #0x1000
|
|
mov r2, #0
|
|
ldr r1, _0218259c ; =0x0000059a
|
|
str r2, [ip, #0x44]
|
|
str r1, [ip, #0x3c]
|
|
mov r1, #0x400
|
|
str r1, [ip, #0x40]
|
|
mov r1, #0x5a
|
|
str r1, [ip, #0x54]
|
|
mov r1, #0xb
|
|
mov r3, #0x200
|
|
str r2, [ip, #0x68]
|
|
bl func_ov38_0217d570
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02182560
|
|
_0218259c: .word 0x0000059a
|
|
|
|
.global func_ov38_021825a0
|
|
arm_func_start func_ov38_021825a0
|
|
func_ov38_021825a0: ; 0x021825a0
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0xc4
|
|
mov sb, r0
|
|
add r1, sb, #0x1000
|
|
ldr r2, [r1, #0x68]
|
|
cmp r2, #3
|
|
addls pc, pc, r2, lsl #2
|
|
b _02182d8c
|
|
_021825c0: ; jump table
|
|
b _021825d0 ; case 0
|
|
b _02182870 ; case 1
|
|
b _02182b78 ; case 2
|
|
b _02182d64 ; case 3
|
|
_021825d0:
|
|
ldr r2, [r1, #0x44]
|
|
mov r0, #0x180
|
|
add r2, r2, r2, lsl #1
|
|
add r2, r2, #0x1000
|
|
mul r0, r2, r0
|
|
add r0, r0, #0x800
|
|
mov r0, r0, asr #0xc
|
|
strh r0, [r1, #0x82]
|
|
ldrb r0, [r1, #0xa3]
|
|
cmp r0, #0
|
|
ldrnesh r6, [r1, #0x82]
|
|
bne _02182610
|
|
ldrsh r0, [r1, #0x82]
|
|
rsb r0, r0, #0
|
|
mov r0, r0, lsl #0x10
|
|
mov r6, r0, asr #0x10
|
|
_02182610:
|
|
add r1, sb, #0x1000
|
|
ldrsh r2, [r1, #0x84]
|
|
add r0, sb, #0x38
|
|
ldr r4, _02182d94 ; =data_02050f54
|
|
add r2, r2, r6
|
|
strh r2, [r1, #0x84]
|
|
ldrh r2, [r1, #0x84]
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, r2, asr #0x4
|
|
mov r3, r2, lsl #0x1
|
|
add r2, r3, #1
|
|
mov r3, r3, lsl #0x1
|
|
ldrsh r3, [r4, r3]
|
|
mov r2, r2, lsl #0x1
|
|
ldrsh r4, [r4, r2]
|
|
add r3, r3, r3, lsl #3
|
|
mov r5, r3, lsl #0xc
|
|
add r4, r4, r4, lsl #3
|
|
mov r3, r4, lsl #0xc
|
|
add r5, r5, #0x800
|
|
add r4, r3, #0x800
|
|
mov r2, #0x66
|
|
mov r7, r5, asr #0xc
|
|
mov r8, r4, asr #0xc
|
|
bl func_0202b0f4
|
|
add r3, sb, #0x1000
|
|
rsb fp, r7, #0
|
|
ldr ip, [r3, #0x44]
|
|
ldr r2, _02182d98 ; =0x0000299a
|
|
rsb r7, r8, #0
|
|
umull sl, lr, ip, r2
|
|
mov r2, #0
|
|
mla lr, ip, r2, lr
|
|
ldr r2, _02182d98 ; =0x0000299a
|
|
mov r8, ip, asr #0x1f
|
|
mla lr, r8, r2, lr
|
|
adds r8, sl, #0x800
|
|
adc r2, lr, #0
|
|
mov r8, r8, lsr #0xc
|
|
orr r8, r8, r2, lsl #20
|
|
add r2, r8, #0x66
|
|
add r2, r2, #0x1e00
|
|
str r2, [sb, #0xfdc]
|
|
ldr r2, [r3, #0x44]
|
|
add r1, sb, #0x3d8
|
|
smull r8, r2, fp, r2
|
|
adds r8, r8, #0x800
|
|
adc r2, r2, #0
|
|
mov r8, r8, lsr #0xc
|
|
orr r8, r8, r2, lsl #20
|
|
add r2, r8, r5, asr #12
|
|
str r2, [sb, #0xfd8]
|
|
ldr r2, [r3, #0x44]
|
|
add r0, sb, #0x48
|
|
smull r5, r2, r7, r2
|
|
adds r5, r5, #0x800
|
|
adc r2, r2, #0
|
|
mov r5, r5, lsr #0xc
|
|
orr r5, r5, r2, lsl #20
|
|
add r2, r5, r4, asr #12
|
|
str r2, [sb, #0xfe0]
|
|
mov r2, #0x29
|
|
str r2, [sp]
|
|
ldr r2, [r3, #0x40]
|
|
ldr r3, [r3, #0x38]
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
add r0, r6, r6, lsr #31
|
|
mov r0, r0, lsl #0xf
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
mov r1, r0, lsl #0x1
|
|
add r0, sb, #0x1000
|
|
ldr r3, [r0, #0x44]
|
|
mov r2, #0
|
|
mul r0, r3, r3
|
|
mov r0, r0, asr #0xc
|
|
str r0, [sp, #0xbc]
|
|
str r2, [sp, #0xb8]
|
|
str r2, [sp, #0xc0]
|
|
str r2, [sp, #0xa8]
|
|
str r2, [sp, #0xb0]
|
|
add r0, r1, #1
|
|
mov r3, r1, lsl #0x1
|
|
ldr r2, _02182d94 ; =data_02050f54
|
|
mov r1, r0, lsl #0x1
|
|
ldrsh r3, [r2, r3]
|
|
ldrsh r2, [r2, r1]
|
|
mov r0, sb
|
|
add r1, sp, #0xa8
|
|
str r2, [sp, #0xb4]
|
|
add r2, sp, #0xb8
|
|
str r3, [sp, #0xac]
|
|
bl func_ov38_0217e26c
|
|
add r0, sb, #0x1000
|
|
ldr r1, [r0, #0x54]
|
|
mov r4, #1
|
|
cmp r1, #0
|
|
bne _02182808
|
|
add r0, sb, #0x44
|
|
add r0, r0, #0x1000
|
|
mov r1, #0x1000
|
|
mov r2, #0x14
|
|
bl func_0202b0f4
|
|
cmp r0, #0
|
|
beq _02182810
|
|
ldr r0, [sb, #0x2c4]
|
|
add r1, sb, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e544
|
|
cmp r0, #0
|
|
beq _02182810
|
|
mov r0, sb
|
|
mov r1, #0x17
|
|
mov r2, r4
|
|
mov r3, #0x200
|
|
bl func_ov38_0217d570
|
|
add r0, sb, #0x1000
|
|
ldr r1, [r0, #0x68]
|
|
mov r4, #0
|
|
add r1, r1, #1
|
|
str r1, [r0, #0x68]
|
|
str r4, [r0, #0x44]
|
|
b _02182810
|
|
_02182808:
|
|
sub r1, r1, #1
|
|
str r1, [r0, #0x54]
|
|
_02182810:
|
|
cmp r4, #0
|
|
addeq sp, sp, #0xc4
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, [sb, #0x2c4]
|
|
add r1, sb, #0x1b4
|
|
add r4, r1, r0, lsl #7
|
|
add r0, r4, #0xc
|
|
mov r1, #0x1000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
bne _02182854
|
|
add r0, r4, #0xc
|
|
mov r1, #0x11000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
addeq sp, sp, #0xc4
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02182854:
|
|
ldr r0, _02182d9c ; =data_027e0ffc
|
|
ldr r1, _02182da0 ; =0x00000446
|
|
add r2, sb, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
add sp, sp, #0xc4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02182870:
|
|
add r0, sb, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r0, #0x29
|
|
str r0, [sp]
|
|
add r0, sb, #0x1000
|
|
add r1, sb, #0x3d8
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, sb, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
mov r1, #0
|
|
mov r0, #0x1000
|
|
str r0, [sp, #0xa4]
|
|
add r0, sb, #0x1000
|
|
str r1, [sp, #0x9c]
|
|
str r1, [sp, #0xa0]
|
|
ldrsh r1, [r0, #0x94]
|
|
add r0, sp, #0x9c
|
|
bl func_ov00_020a61ac
|
|
add r0, sb, #0x1000
|
|
ldrb r4, [r0, #0xa3]
|
|
ldr r3, [sp, #0x9c]
|
|
ldr r2, [sb, #0xfb4]
|
|
ldr r1, [sp, #0xa4]
|
|
ldr r0, [sb, #0xfac]
|
|
mul r2, r3, r2
|
|
mul r0, r1, r0
|
|
cmp r4, #0
|
|
sub r1, r2, r0
|
|
beq _02182900
|
|
cmp r1, #0xb50
|
|
bgt _02182918
|
|
_02182900:
|
|
cmp r4, #0
|
|
bne _02182920
|
|
mov r0, #0xb50
|
|
rsb r0, r0, #0
|
|
cmp r1, r0
|
|
bge _02182920
|
|
_02182918:
|
|
mov r5, #1
|
|
b _02182924
|
|
_02182920:
|
|
mov r5, #0
|
|
_02182924:
|
|
ldr r0, [sb, #0x2c4]
|
|
add r1, sb, #0x1b4
|
|
add r4, r1, r0, lsl #7
|
|
add r0, r4, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _021829c0
|
|
add r0, sb, #0x1000
|
|
ldr r1, [r0, #0x68]
|
|
mov r3, #0x96
|
|
add r1, r1, #1
|
|
str r1, [r0, #0x68]
|
|
mov r1, #3
|
|
str r1, [r0, #0x58]
|
|
mov r6, #0
|
|
strh r6, [r0, #0x84]
|
|
ldr r1, [sb, #0xfd8]
|
|
add r2, r3, #0x9d
|
|
str r1, [sb, #0xfe4]
|
|
ldr r5, [sb, #0xfdc]
|
|
mov r1, #0x800
|
|
str r5, [sb, #0xfe8]
|
|
ldr r5, [sb, #0xfe0]
|
|
str r5, [sb, #0xfec]
|
|
str r3, [r0, #0x54]
|
|
strh r6, [r0, #0x82]
|
|
str r6, [r0, #0x38]
|
|
str r2, [r0, #0x40]
|
|
str r1, [r0, #0x3c]
|
|
ldr r2, [sb, #0x18]
|
|
ldr r1, [sb, #0x1c]
|
|
ldr r0, [sb, #0x14]
|
|
str r0, [sb, #0xfd8]
|
|
str r2, [sb, #0xfdc]
|
|
str r1, [sb, #0xfe0]
|
|
ldr r0, [sb, #0xfdc]
|
|
sub r0, r0, #0xa000
|
|
str r0, [sb, #0xfdc]
|
|
b _02182b14
|
|
_021829c0:
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0x64000
|
|
bge _02182a7c
|
|
cmp r5, #0
|
|
bne _02182a7c
|
|
add r0, sb, #0x44
|
|
mov r3, #0
|
|
mov r1, #0x1000
|
|
add r0, r0, #0x1000
|
|
mov r2, #0xcd
|
|
str r3, [sp, #0x90]
|
|
str r1, [sp, #0x94]
|
|
str r3, [sp, #0x98]
|
|
bl func_0202b0f4
|
|
add r0, sb, #0x82
|
|
add r0, r0, #0x1000
|
|
mov r1, #0x300
|
|
mov r2, #0x40
|
|
bl func_0202b154
|
|
add r0, sb, #0x1000
|
|
ldrb r1, [r0, #0xa3]
|
|
ldrsh r0, [r0, #0x82]
|
|
mov r6, #0
|
|
cmp r1, #0
|
|
rsbeq r0, r0, #0
|
|
moveq r0, r0, lsl #0x10
|
|
moveq r0, r0, asr #0x10
|
|
add r0, r0, r0, lsr #31
|
|
mov r0, r0, lsl #0xf
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
mov r2, r0, lsl #0x1
|
|
add r0, r2, #1
|
|
ldr r1, _02182d94 ; =data_02050f54
|
|
mov r2, r2, lsl #0x1
|
|
ldrsh r5, [r1, r2]
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r3, [r1, r0]
|
|
add r1, sp, #0x80
|
|
add r2, sp, #0x90
|
|
mov r0, sb
|
|
str r6, [sp, #0x80]
|
|
str r5, [sp, #0x84]
|
|
str r6, [sp, #0x88]
|
|
str r3, [sp, #0x8c]
|
|
bl func_ov38_0217e26c
|
|
b _02182b14
|
|
_02182a7c:
|
|
mov r0, #0x1000
|
|
mov r1, #0
|
|
str r0, [sp, #0x7c]
|
|
str r0, [sp, #0x68]
|
|
str r0, [sp, #0x50]
|
|
add r0, sb, #0x1000
|
|
str r1, [sp, #0x70]
|
|
str r1, [sp, #0x74]
|
|
str r1, [sp, #0x78]
|
|
str r1, [sp, #0x64]
|
|
str r1, [sp, #0x6c]
|
|
str r1, [sp, #0x48]
|
|
str r1, [sp, #0x4c]
|
|
ldrsh r1, [r0, #0x94]
|
|
add r0, sp, #0x48
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [sb, #0xfac]
|
|
add r0, sp, #0x54
|
|
str r1, [sp, #8]
|
|
ldr r2, [sb, #0xfb0]
|
|
add r1, sp, #8
|
|
str r2, [sp, #0xc]
|
|
ldr r3, [sb, #0xfb4]
|
|
add r2, sp, #0x48
|
|
str r3, [sp, #0x10]
|
|
bl func_ov00_020d5f98
|
|
ldr r2, _02182da4 ; =0x00000f33
|
|
add r0, sp, #0x54
|
|
add r1, sp, #0x70
|
|
bl func_ov00_020d59f0
|
|
add r0, sb, #0x3b8
|
|
add r1, sp, #0x54
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d5eac
|
|
mov r0, sb
|
|
add r1, sp, #0x70
|
|
add r2, sp, #0x64
|
|
bl func_ov38_0217e26c
|
|
_02182b14:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x1000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02182b44
|
|
ldr r0, _02182d9c ; =data_027e0ffc
|
|
ldr r1, _02182da8 ; =0x00000447
|
|
add r2, sb, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
add sp, sp, #0xc4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02182b44:
|
|
add r0, r4, #0xc
|
|
mov r1, #0x79000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
addeq sp, sp, #0xc4
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, _02182d9c ; =data_027e0ffc
|
|
ldr r1, _02182dac ; =0x00000448
|
|
add r2, sb, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
add sp, sp, #0xc4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02182b78:
|
|
add r0, sb, #0x38
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, r0, #0x1000
|
|
mov r2, #0x66
|
|
bl func_0202b0f4
|
|
mov r0, #0x29
|
|
add r1, sb, #0x3d8
|
|
str r0, [sp]
|
|
add r0, sb, #0x1000
|
|
ldr r2, [r0, #0x40]
|
|
ldr r3, [r0, #0x38]
|
|
add r0, sb, #0x48
|
|
add r1, r1, #0xc00
|
|
bl func_ov38_0217ca70
|
|
mov r1, #0x10
|
|
add r0, sb, #0x82
|
|
str r1, [sp]
|
|
add r1, sb, #0x1000
|
|
ldr r2, [r1, #0x40]
|
|
add r0, r0, #0x1000
|
|
mov r1, #0x600
|
|
mov r3, #0x400
|
|
bl func_ov38_0217c994
|
|
add r1, sb, #0x1000
|
|
ldr r0, [r1, #0x54]
|
|
cmp r0, #0
|
|
bne _02182cd4
|
|
ldr r2, [r1, #0x68]
|
|
mov r0, #0x800
|
|
add r2, r2, #1
|
|
str r2, [r1, #0x68]
|
|
mov r2, #0x2d
|
|
str r2, [r1, #0x54]
|
|
ldr r2, [sb, #0x50]
|
|
ldr r1, [sb, #0x48]
|
|
rsb r0, r0, #0
|
|
str r1, [sp, #0x3c]
|
|
str r0, [sp, #0x40]
|
|
str r2, [sp, #0x44]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02182db0 ; =data_027e0e58
|
|
add r2, sp, #0x3c
|
|
ldr r0, [r0]
|
|
mov r1, #0xb4
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02182db0 ; =data_027e0e58
|
|
add r2, sp, #0x3c
|
|
ldr r0, [r0]
|
|
mov r1, #0xb5
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02182db0 ; =data_027e0e58
|
|
add r2, sp, #0x3c
|
|
ldr r0, [r0]
|
|
mov r1, #0xb6
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02182db0 ; =data_027e0e58
|
|
mov r1, #0xb7
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x3c
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r0, #3
|
|
add r1, sp, #0x3c
|
|
mov r2, #0x2000
|
|
mov r3, #0
|
|
bl func_ov00_020c7508
|
|
ldr r0, _02182d9c ; =data_027e0ffc
|
|
ldr r1, _02182db4 ; =0x00000449
|
|
add r2, sb, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
add sp, sp, #0xc4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02182cd4:
|
|
sub r2, r0, #1
|
|
str r2, [r1, #0x54]
|
|
mov r4, #0
|
|
add r0, sb, #0x82
|
|
mov r3, #0x1000
|
|
add r0, r0, #0x1000
|
|
mov r1, #0x200
|
|
mov r2, #0x20
|
|
str r4, [sp, #0x20]
|
|
str r3, [sp, #0x24]
|
|
str r4, [sp, #0x28]
|
|
bl func_0202b154
|
|
add r0, sb, #0x1000
|
|
ldrsh r0, [r0, #0x82]
|
|
mov r3, r4
|
|
ldr r1, _02182d94 ; =data_02050f54
|
|
add r0, r0, r0, lsr #31
|
|
mov r0, r0, lsl #0xf
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
mov r2, r0, lsl #0x1
|
|
add r0, r2, #1
|
|
mov r2, r2, lsl #0x1
|
|
ldrsh r5, [r1, r2]
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r4, [r1, r0]
|
|
add r1, sp, #0x2c
|
|
add r2, sp, #0x20
|
|
mov r0, sb
|
|
str r3, [sp, #0x2c]
|
|
str r5, [sp, #0x30]
|
|
str r3, [sp, #0x34]
|
|
str r4, [sp, #0x38]
|
|
bl func_ov38_0217e26c
|
|
add sp, sp, #0xc4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02182d64:
|
|
ldr r0, [r1, #0x54]
|
|
cmp r0, #0
|
|
subne r0, r0, #1
|
|
strne r0, [r1, #0x54]
|
|
addne sp, sp, #0xc4
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
add r0, r2, #1
|
|
str r0, [r1, #0x68]
|
|
mov r0, #0x3c
|
|
str r0, [r1, #0x54]
|
|
_02182d8c:
|
|
add sp, sp, #0xc4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021825a0
|
|
_02182d94: .word data_02050f54
|
|
_02182d98: .word 0x0000299a
|
|
_02182d9c: .word data_027e0ffc
|
|
_02182da0: .word 0x00000446
|
|
_02182da4: .word 0x00000f33
|
|
_02182da8: .word 0x00000447
|
|
_02182dac: .word 0x00000448
|
|
_02182db0: .word data_027e0e58
|
|
_02182db4: .word 0x00000449
|
|
|
|
.global func_ov38_02182db8
|
|
arm_func_start func_ov38_02182db8
|
|
func_ov38_02182db8: ; 0x02182db8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x20
|
|
mov r4, #0
|
|
ldr r2, _02182e20 ; =0x0000219a
|
|
mov r5, r0
|
|
sub lr, r4, #0xa00
|
|
mov ip, #0x1400
|
|
mov r1, #4
|
|
add r0, sp, #0xc
|
|
str r4, [sp, #0xc]
|
|
str lr, [sp, #0x10]
|
|
str r4, [sp, #0x14]
|
|
str ip, [sp, #0x18]
|
|
str r2, [sp, #0x1c]
|
|
stmia sp, {r0, r1}
|
|
sub r1, r1, #5
|
|
str r1, [sp, #8]
|
|
ldr r0, _02182e24 ; =data_027e0ff8
|
|
add r3, r5, #0x388
|
|
add r2, r3, #0xc00
|
|
ldr r0, [r0]
|
|
add r1, r5, #8
|
|
add r3, r3, #0xc00
|
|
bl func_ov05_021082e4
|
|
add sp, sp, #0x20
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02182db8
|
|
_02182e20: .word 0x0000219a
|
|
_02182e24: .word data_027e0ff8
|
|
|
|
.global func_ov38_02182e28
|
|
arm_func_start func_ov38_02182e28
|
|
func_ov38_02182e28: ; 0x02182e28
|
|
add r0, r0, #0x244
|
|
add r2, r0, #0xc00
|
|
mov r0, #0x30
|
|
mla r0, r1, r0, r2
|
|
bx lr
|
|
arm_func_end func_ov38_02182e28
|
|
|
|
.global func_ov38_02182e3c
|
|
arm_func_start func_ov38_02182e3c
|
|
func_ov38_02182e3c: ; 0x02182e3c
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x18
|
|
mov r8, r0
|
|
ldr r3, [r8, #0x48]
|
|
ldr r0, _0218306c ; =data_ov38_02189224
|
|
str r3, [sp, #0xc]
|
|
ldr r4, [r8, #0x4c]
|
|
ldr r3, [r0, r1, lsl #2]
|
|
str r4, [sp, #0x10]
|
|
ldr r1, [r8, #0x50]
|
|
mov r7, r2
|
|
str r1, [sp, #0x14]
|
|
ldr r1, [r3, #0x48]
|
|
add r0, sp, #0xc
|
|
str r1, [sp]
|
|
ldr r2, [r3, #0x4c]
|
|
add r1, sp, #0
|
|
str r2, [sp, #4]
|
|
ldr r3, [r3, #0x50]
|
|
mov r2, r0
|
|
str r3, [sp, #8]
|
|
bl func_01ff9bf8
|
|
add r0, sp, #0xc
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
beq _02182ec0
|
|
add r0, sp, #0xc
|
|
mov r1, #0x400
|
|
bl func_01fffbec
|
|
add r0, r8, #0x60
|
|
add r1, sp, #0xc
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
_02182ec0:
|
|
mov r4, #0
|
|
ldr r5, _0218306c ; =data_ov38_02189224
|
|
mov r6, r4
|
|
_02182ecc:
|
|
ldr r0, [r5, r6, lsl #2]
|
|
bl func_ov29_02174ee4
|
|
cmp r0, #0
|
|
add r6, r6, #1
|
|
addne r4, r4, #1
|
|
cmp r6, #5
|
|
blt _02182ecc
|
|
add r0, r8, #0x1000
|
|
ldr r2, [r0, #0x74]
|
|
cmp r4, #5
|
|
moveq r5, #1
|
|
movne r5, #0
|
|
mov r6, #0
|
|
cmp r2, #3
|
|
beq _02182f14
|
|
cmp r2, #4
|
|
beq _02182f20
|
|
b _02182f28
|
|
_02182f14:
|
|
cmp r4, #3
|
|
moveq r6, #1
|
|
b _02182f28
|
|
_02182f20:
|
|
tst r4, #1
|
|
moveq r6, #1
|
|
_02182f28:
|
|
cmp r5, #0
|
|
beq _0218302c
|
|
add r0, r8, #0x1000
|
|
ldr r1, [r0, #0x70]
|
|
cmp r1, #1
|
|
beq _02182f4c
|
|
cmp r1, #2
|
|
beq _02182fb4
|
|
b _02183014
|
|
_02182f4c:
|
|
cmp r2, #6
|
|
addls pc, pc, r2, lsl #2
|
|
b _02183014
|
|
_02182f58: ; jump table
|
|
b _02182f74 ; case 0
|
|
b _02182f74 ; case 1
|
|
b _02182f94 ; case 2
|
|
b _02182f94 ; case 3
|
|
b _02183014 ; case 4
|
|
b _02183014 ; case 5
|
|
b _02183014 ; case 6
|
|
_02182f74:
|
|
ldr r1, [r0, #0x74]
|
|
cmp r1, #6
|
|
addlt r1, r1, #1
|
|
strlt r1, [r0, #0x74]
|
|
add r0, r8, #0x2c8
|
|
mov r1, #0xa
|
|
bl func_ov38_0217be60
|
|
b _02183014
|
|
_02182f94:
|
|
ldr r1, [r0, #0x74]
|
|
cmp r1, #6
|
|
addlt r1, r1, #1
|
|
strlt r1, [r0, #0x74]
|
|
add r0, r8, #0x2c8
|
|
mov r1, #0xd
|
|
bl func_ov38_0217be60
|
|
b _02183014
|
|
_02182fb4:
|
|
cmp r2, #6
|
|
addls pc, pc, r2, lsl #2
|
|
b _02183014
|
|
_02182fc0: ; jump table
|
|
b _02182fdc ; case 0
|
|
b _02182fdc ; case 1
|
|
b _02182fdc ; case 2
|
|
b _02182fdc ; case 3
|
|
b _02182fdc ; case 4
|
|
b _02183014 ; case 5
|
|
b _02183014 ; case 6
|
|
_02182fdc:
|
|
ldr r1, [r0, #0x74]
|
|
cmp r1, #6
|
|
addlt r1, r1, #1
|
|
strlt r1, [r0, #0x74]
|
|
add r0, r8, #0x1000
|
|
ldr r0, [r0, #0x74]
|
|
cmp r0, #5
|
|
add r0, r8, #0x2c8
|
|
blt _0218300c
|
|
mov r1, #0xb
|
|
bl func_ov38_0217be60
|
|
b _02183014
|
|
_0218300c:
|
|
mov r1, #0xa
|
|
bl func_ov38_0217be60
|
|
_02183014:
|
|
ldr r0, _02183070 ; =data_027e0ffc
|
|
ldr r1, _02183074 ; =0x0000043f
|
|
mov r2, r7
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
b _02183054
|
|
_0218302c:
|
|
ldr r0, _02183070 ; =data_027e0ffc
|
|
ldr r1, _02183078 ; =0x0000043e
|
|
mov r2, r7
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
cmp r6, #0
|
|
beq _02183054
|
|
add r0, r8, #0x2c8
|
|
mov r1, #0xe
|
|
bl func_ov38_0217be60
|
|
_02183054:
|
|
cmp r5, #0
|
|
cmpeq r6, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02182e3c
|
|
_0218306c: .word data_ov38_02189224
|
|
_02183070: .word data_027e0ffc
|
|
_02183074: .word 0x0000043f
|
|
_02183078: .word 0x0000043e
|
|
|
|
.global func_ov38_0218307c
|
|
arm_func_start func_ov38_0218307c
|
|
func_ov38_0218307c: ; 0x0218307c
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x3c
|
|
mov sl, r0
|
|
ldr r4, _02183148 ; =0x00000e66
|
|
add r8, sl, #0x2f0
|
|
mov sb, #0
|
|
add r7, sp, #0x18
|
|
mov fp, #0xc
|
|
add r6, sp, #0xc
|
|
add r5, sp, #0
|
|
_021830a4:
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl func_ov38_02182e28
|
|
add r0, r0, #0x24
|
|
mov r1, r7
|
|
mov r2, fp
|
|
bl func_02007908
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl func_ov38_02182e28
|
|
add r0, r0, #0x24
|
|
mov r1, r6
|
|
mov r2, #0xc
|
|
bl func_02007908
|
|
mov r0, sl
|
|
mov r1, sb
|
|
bl func_ov38_02182e28
|
|
mov r1, r5
|
|
mov r2, #0xc
|
|
bl func_02007908
|
|
mov r0, r4
|
|
mov r1, r5
|
|
mov r2, r7
|
|
mov r3, r7
|
|
bl func_01ff9e64
|
|
add r0, r4, #0x2c00
|
|
mov r1, r5
|
|
mov r2, r6
|
|
mov r3, r6
|
|
bl func_01ff9e64
|
|
mov r0, r8
|
|
mov r1, r7
|
|
mov r2, r6
|
|
mov r3, sb
|
|
bl func_ov38_02184d9c
|
|
add sb, sb, #1
|
|
cmp sb, #5
|
|
add r8, r8, #0x240
|
|
blt _021830a4
|
|
add sp, sp, #0x3c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218307c
|
|
_02183148: .word 0x00000e66
|
|
|
|
.global func_ov38_0218314c
|
|
arm_func_start func_ov38_0218314c
|
|
func_ov38_0218314c: ; 0x0218314c
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x10
|
|
mov r5, r0
|
|
ldr r0, [r5, #0x2c4]
|
|
add r2, r5, #0x1b4
|
|
add r0, r2, r0, lsl #7
|
|
mov r4, r1
|
|
bl func_ov00_020c0e04
|
|
ldr r0, [r5, #0x2bc]
|
|
cmp r0, #0
|
|
ble _0218324c
|
|
ldr r2, [r5, #0x2c0]
|
|
add r0, r5, #0x2bc
|
|
mov r1, #0
|
|
bl func_0202b0f4
|
|
cmp r0, #0
|
|
ldr r0, [r5, #0x2c4]
|
|
beq _021831f4
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
add r0, r5, r0, lsl #2
|
|
mov r1, #0x18
|
|
str r1, [r0, #0x2b4]
|
|
ldr r0, [r5, #0x2c4]
|
|
add r1, r5, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
bl func_ov00_020c0d4c
|
|
mov r1, #0x1000
|
|
str r1, [r0, #4]
|
|
add r0, r5, #0x158
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x2c]
|
|
blx r1
|
|
add r0, r5, #0x158
|
|
ldr r2, [r0]
|
|
ldr r1, [r5, #0x2c4]
|
|
add r3, r5, #0x1b4
|
|
ldr r2, [r2, #0x24]
|
|
add r1, r3, r1, lsl #7
|
|
blx r2
|
|
b _0218324c
|
|
_021831f4:
|
|
cmp r0, #0
|
|
moveq r1, #1
|
|
movne r1, #0
|
|
add r0, r5, #0x1b4
|
|
add r0, r0, r1, lsl #7
|
|
bl func_ov00_020c0e04
|
|
ldr r0, [r5, #0x2c4]
|
|
cmp r0, #0
|
|
moveq r1, #1
|
|
movne r1, #0
|
|
add r0, r5, #0x1b4
|
|
add r0, r0, r1, lsl #7
|
|
bl func_ov00_020c0d4c
|
|
ldr r2, [r5, #0x2bc]
|
|
add r1, r5, #0x1b4
|
|
str r2, [r0, #4]
|
|
ldr r0, [r5, #0x2c4]
|
|
add r0, r1, r0, lsl #7
|
|
bl func_ov00_020c0d4c
|
|
ldr r1, [r5, #0x2bc]
|
|
rsb r1, r1, #0x1000
|
|
str r1, [r0, #4]
|
|
_0218324c:
|
|
add r0, r5, #0x1000
|
|
ldrb r1, [r0, #0xa5]
|
|
cmp r1, #0
|
|
beq _02183274
|
|
ldrb r0, [r0, #0xa6]
|
|
cmp r0, #0
|
|
bne _02183274
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl func_ov38_021833ac
|
|
_02183274:
|
|
mov r0, #0x1c00
|
|
ldr r1, [r5, #0x4c]
|
|
rsb r0, r0, #0
|
|
cmp r1, r0
|
|
bge _02183378
|
|
ldr r1, [r5, #0x50]
|
|
ldr r2, [r5, #0x48]
|
|
add r0, r0, #0x1400
|
|
str r2, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, #0xe38]
|
|
cmp r0, #0
|
|
bne _0218330c
|
|
mov r1, #2
|
|
str r1, [sp]
|
|
ldr r0, _0218339c ; =data_027e0e58
|
|
add r1, r5, #0x238
|
|
ldr r0, [r0]
|
|
add r3, sp, #4
|
|
add r1, r1, #0xc00
|
|
mov r2, #0xb8
|
|
bl func_ov00_0207c1f8
|
|
ldr r0, [r5, #0x2d8]
|
|
cmp r0, #0xa
|
|
cmpne r0, #0x12
|
|
cmpne r0, #1
|
|
addne sp, sp, #0x10
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
add r0, r5, #0x48
|
|
bl func_ov38_02185690
|
|
ldr r0, _021833a0 ; =data_027e0ffc
|
|
ldr r1, _021833a4 ; =0x0000042f
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0218330c:
|
|
beq _02183354
|
|
ldr r1, [r0, #0x20]
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #4]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x28]
|
|
ldr r1, [r0, #0x20]
|
|
ldr r2, [sp, #8]
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #8]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x2c]
|
|
ldr r1, [r0, #0x20]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #0xc]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x30]
|
|
_02183354:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r3, [r5, #8]
|
|
ldr r0, _021833a0 ; =data_027e0ffc
|
|
ldr r1, _021833a8 ; =0x00000438
|
|
add r2, sp, #4
|
|
bl func_ov00_020cec60
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02183378:
|
|
ldr r0, [r5, #0xe38]
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x10
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
add r0, r5, #0x238
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020b7e6c
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218314c
|
|
_0218339c: .word data_027e0e58
|
|
_021833a0: .word data_027e0ffc
|
|
_021833a4: .word 0x0000042f
|
|
_021833a8: .word 0x00000438
|
|
|
|
.global func_ov38_021833ac
|
|
arm_func_start func_ov38_021833ac
|
|
func_ov38_021833ac: ; 0x021833ac
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
add r0, r6, #0x48
|
|
add r1, r6, #0xfa0
|
|
bl func_ov38_02184cdc
|
|
add r4, r6, #0x2f0
|
|
mov r5, #0
|
|
_021833c8:
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl func_ov38_02182e28
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl func_ov38_02184ee8
|
|
add r5, r5, #1
|
|
cmp r5, #5
|
|
add r4, r4, #0x240
|
|
blt _021833c8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
arm_func_end func_ov38_021833ac
|
|
|
|
.global func_ov38_021833f4
|
|
arm_func_start func_ov38_021833f4
|
|
func_ov38_021833f4: ; 0x021833f4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0xc
|
|
mov sl, r0
|
|
mov sb, r1
|
|
bl func_ov38_02185584
|
|
add r6, sl, #0x2f0
|
|
mov r8, r6
|
|
mov r7, #0
|
|
mov r4, #0xc
|
|
mov fp, #0x18
|
|
_0218341c:
|
|
cmp sb, #0
|
|
bne _0218348c
|
|
mov r0, sl
|
|
mov r1, r7
|
|
bl func_ov38_02182e28
|
|
mov r5, r0
|
|
add r1, r8, #0x2c
|
|
mov r2, r4
|
|
bl func_02007908
|
|
add r0, r5, #0xc
|
|
add r1, r8, #0x14
|
|
mov r2, fp
|
|
bl func_02007908
|
|
add r0, r5, #0x24
|
|
add r1, r8, #0x38
|
|
mov r2, #0xc
|
|
bl func_02007908
|
|
ldr r1, [r5]
|
|
ldr r0, _021834b0 ; =0x00000e66
|
|
str r1, [sp]
|
|
ldr r2, [r5, #4]
|
|
add r1, sp, #0
|
|
str r2, [sp, #4]
|
|
ldr r3, [r5, #8]
|
|
add r2, r8, #0x38
|
|
str r3, [sp, #8]
|
|
mov r3, r2
|
|
bl func_01ff9e64
|
|
_0218348c:
|
|
mov r0, r6
|
|
bl func_ov38_021855c8
|
|
add r7, r7, #1
|
|
cmp r7, #5
|
|
add r8, r8, #0x240
|
|
add r6, r6, #0x240
|
|
blt _0218341c
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021833f4
|
|
_021834b0: .word 0x00000e66
|
|
|
|
.global func_ov38_021834b4
|
|
arm_func_start func_ov38_021834b4
|
|
func_ov38_021834b4: ; 0x021834b4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x28
|
|
mov r5, r0
|
|
ldr r0, [r5, #0x2d8]
|
|
cmp r0, #0x11
|
|
addne sp, sp, #0x28
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
add r0, r5, #0x1000
|
|
ldr r1, [r0, #0x50]
|
|
rsb r0, r1, #0xa
|
|
cmp r0, #2
|
|
movlt r4, #1
|
|
movge r4, #0
|
|
cmp r1, #0
|
|
add r0, r5, #0x1000
|
|
moveq r1, #0
|
|
streqb r1, [r0, #0xa7]
|
|
beq _02183528
|
|
ldr r1, [r0, #0x50]
|
|
add r2, r5, #0x3e4
|
|
sub r1, r1, #1
|
|
str r1, [r0, #0x50]
|
|
ldr r6, _021837fc ; =0x0000099a
|
|
ldr r3, _02183800 ; =0x00000b33
|
|
add r0, r5, #0x48
|
|
add r1, r5, #0x60
|
|
add r2, r2, #0xc00
|
|
str r6, [sp]
|
|
bl func_ov38_0217cb2c
|
|
_02183528:
|
|
mov r6, #0x29
|
|
add r0, r5, #0x34
|
|
ldr r3, _02183804 ; =0x00000266
|
|
add r0, r0, #0x1000
|
|
rsb r2, r6, #0x35c
|
|
mov r1, #0
|
|
str r6, [sp]
|
|
bl func_ov38_0217ca04
|
|
add lr, r5, #0x1000
|
|
ldrsh r0, [lr, #0x8e]
|
|
strh r0, [lr, #0x8a]
|
|
ldrsh r0, [lr, #0x90]
|
|
strh r0, [lr, #0x8c]
|
|
ldr r2, [lr, #0x34]
|
|
cmp r2, #0
|
|
beq _021835f4
|
|
ldrsh r1, [lr, #0x92]
|
|
ldr r0, _02183808 ; =data_02050f54
|
|
ldr ip, _0218380c ; =0x00000e39
|
|
mov r3, r1, lsl #0x12
|
|
mov r3, r3, lsr #0x10
|
|
mov r3, r3, asr #0x4
|
|
mov r6, r3, lsl #0x2
|
|
add r3, r1, r1, lsl #1
|
|
ldrsh r6, [r0, r6]
|
|
mov r3, r3, lsl #0x10
|
|
mov r3, r3, lsr #0x10
|
|
mul r7, r6, r2
|
|
mov r3, r3, asr #0x4
|
|
mov r3, r3, lsl #0x2
|
|
ldrsh r0, [r0, r3]
|
|
add r3, r7, #0x800
|
|
mov r3, r3, asr #0xc
|
|
mul r2, r0, r2
|
|
mul r6, r3, ip
|
|
add r0, r1, #0x55
|
|
add r1, r0, #0x1500
|
|
add r0, r2, #0x800
|
|
strh r1, [lr, #0x92]
|
|
mov r0, r0, asr #0xc
|
|
mul r1, r0, ip
|
|
add r0, r6, #0x800
|
|
add r1, r1, #0x800
|
|
ldrsh r2, [lr, #0x8a]
|
|
mov r0, r0, lsl #0x4
|
|
mov r1, r1, lsl #0x4
|
|
add r0, r2, r0, asr #16
|
|
strh r0, [lr, #0x8a]
|
|
ldrsh r0, [lr, #0x8c]
|
|
add r0, r0, r1, asr #16
|
|
strh r0, [lr, #0x8c]
|
|
_021835f4:
|
|
add r1, r5, #0x1000
|
|
ldrsh r2, [r1, #0x88]
|
|
mov r0, #0x1400
|
|
rsb r0, r0, #0
|
|
cmp r2, r0
|
|
bge _021836c4
|
|
add r0, r5, #0x358
|
|
mov ip, #0
|
|
add r3, sp, #0x10
|
|
strh ip, [r1, #0x98]
|
|
add r0, r0, #0xc00
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, [r5, #0x18]
|
|
ldr r1, _02183810 ; =0x00000333
|
|
sub r2, r2, r0
|
|
umull r6, lr, r2, r1
|
|
mla lr, r2, ip, lr
|
|
mov r2, r2, asr #0x1f
|
|
mla lr, r2, r1, lr
|
|
adds r6, r6, #0x800
|
|
adc r1, lr, #0
|
|
mov r2, r6, lsr #0xc
|
|
orr r2, r2, r1, lsl #20
|
|
add r1, r0, r2
|
|
str r1, [sp, #0x14]
|
|
add r2, sp, #0x1c
|
|
mov r0, r3
|
|
add r1, r5, #0x48
|
|
bl func_01ff9bf8
|
|
ldrsh r1, [r5, #0x78]
|
|
add r0, sp, #0x1c
|
|
rsb r1, r1, #0
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, asr #0x10
|
|
bl func_ov00_020a61ac
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r2, _02183814 ; =0x00001333
|
|
str r0, [r5, #0x7c]
|
|
ldr r1, [sp, #0x20]
|
|
mov r0, r5
|
|
str r1, [r5, #0x80]
|
|
ldr r3, [sp, #0x24]
|
|
mov r1, #0x1a
|
|
str r3, [r5, #0x84]
|
|
str r2, [r5, #0x88]
|
|
bl func_ov00_020c1fc8
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
b _021836c8
|
|
_021836c4:
|
|
mov r0, #1
|
|
_021836c8:
|
|
cmp r0, #0
|
|
beq _0218376c
|
|
add r1, r5, #0x388
|
|
add r0, r5, #0x1000
|
|
mov r2, #1
|
|
strh r2, [r0, #0x98]
|
|
add r0, r1, #0xc00
|
|
add r3, sp, #4
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
add r1, r5, #0x364
|
|
mov r0, #0x800
|
|
mov r2, r3
|
|
rsb r0, r0, #0
|
|
add r1, r1, #0xc00
|
|
bl func_01ff9e64
|
|
add r0, sp, #4
|
|
add r2, sp, #0x1c
|
|
add r1, r5, #0x48
|
|
bl func_01ff9bf8
|
|
ldrsh r1, [r5, #0x78]
|
|
add r0, sp, #0x1c
|
|
rsb r1, r1, #0
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, asr #0x10
|
|
bl func_ov00_020a61ac
|
|
ldr r0, [sp, #0x1c]
|
|
mov r2, #0x1400
|
|
str r0, [r5, #0x7c]
|
|
ldr r1, [sp, #0x20]
|
|
mov r0, r5
|
|
str r1, [r5, #0x80]
|
|
ldr r3, [sp, #0x24]
|
|
mov r1, #0x1a
|
|
str r3, [r5, #0x84]
|
|
str r2, [r5, #0x88]
|
|
bl func_ov00_020c1fc8
|
|
mov r1, #0
|
|
mov r0, r5
|
|
mov r2, r1
|
|
bl func_ov00_020c243c
|
|
_0218376c:
|
|
mov r0, r5
|
|
bl func_ov38_02182db8
|
|
cmp r4, #0
|
|
beq _021837c4
|
|
mov r0, r5
|
|
mov r1, #0
|
|
bl func_ov38_0218314c
|
|
ldr r1, [r5, #0xff0]
|
|
ldr r0, [r5, #0xf58]
|
|
add sp, sp, #0x28
|
|
str r0, [r1, #0x48]
|
|
ldr r0, [r5, #0xf5c]
|
|
str r0, [r1, #0x4c]
|
|
ldr r0, [r5, #0xf60]
|
|
str r0, [r1, #0x50]
|
|
ldr r0, [r5, #0xf58]
|
|
str r0, [r1, #0x54]
|
|
ldr r0, [r5, #0xf5c]
|
|
str r0, [r1, #0x58]
|
|
ldr r0, [r5, #0xf60]
|
|
str r0, [r1, #0x5c]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_021837c4:
|
|
add r0, r5, #0x100
|
|
ldrsh r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
addne sp, sp, #0x28
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
add r0, r5, #0x1000
|
|
ldr r0, [r0, #0x50]
|
|
cmp r0, #2
|
|
addge sp, sp, #0x28
|
|
ldmgeia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, _02183818 ; =data_ov29_0217a4ac
|
|
bl func_ov09_02113698
|
|
add sp, sp, #0x28
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021834b4
|
|
_021837fc: .word 0x0000099a
|
|
_02183800: .word 0x00000b33
|
|
_02183804: .word 0x00000266
|
|
_02183808: .word data_02050f54
|
|
_0218380c: .word 0x00000e39
|
|
_02183810: .word 0x00000333
|
|
_02183814: .word 0x00001333
|
|
_02183818: .word data_ov29_0217a4ac
|
|
|
|
.global func_ov38_0218381c
|
|
arm_func_start func_ov38_0218381c
|
|
func_ov38_0218381c: ; 0x0218381c
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x24
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl func_ov00_020c313c
|
|
cmp r0, #0
|
|
beq _02183a7c
|
|
mov r0, r5
|
|
bl func_ov38_0217e4e0
|
|
add r0, r5, #0x1000
|
|
ldrb r1, [r0, #0xa1]
|
|
cmp r1, #0
|
|
beq _02183870
|
|
mov r0, r5
|
|
bl func_ov38_021834b4
|
|
mov r1, r4
|
|
add r0, r5, #0xa4
|
|
add r2, r5, #0x48
|
|
bl func_ov00_0207a1c8
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02183870:
|
|
ldr r0, [r0, #0x70]
|
|
cmp r0, #0
|
|
ldr r0, [r5, #0x2d8]
|
|
bne _021839cc
|
|
cmp r0, #3
|
|
beq _02183a28
|
|
cmp r0, #2
|
|
add r2, sp, #0x18
|
|
bne _0218392c
|
|
add r0, r5, #0x388
|
|
add r0, r0, #0xc00
|
|
add r1, r5, #0x48
|
|
bl func_01ff9bf8
|
|
add r0, r5, #0x1000
|
|
ldrb r0, [r0, #0xab]
|
|
ldrsh r1, [r5, #0x78]
|
|
cmp r0, #0
|
|
add r0, sp, #0x18
|
|
rsb r1, r1, #0
|
|
beq _021838fc
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, asr #0x10
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [sp, #0x20]
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r1, #0xc00
|
|
str r1, [sp, #0x20]
|
|
str r0, [r5, #0x7c]
|
|
ldr r1, [sp, #0x1c]
|
|
mov r0, #0x1000
|
|
str r1, [r5, #0x80]
|
|
ldr r1, [sp, #0x20]
|
|
str r1, [r5, #0x84]
|
|
str r0, [r5, #0x88]
|
|
b _02183a28
|
|
_021838fc:
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, asr #0x10
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, _02183a94 ; =0x0000151f
|
|
str r1, [r5, #0x7c]
|
|
ldr r1, [sp, #0x1c]
|
|
str r1, [r5, #0x80]
|
|
ldr r1, [sp, #0x20]
|
|
str r1, [r5, #0x84]
|
|
str r0, [r5, #0x88]
|
|
b _02183a28
|
|
_0218392c:
|
|
cmp r0, #0x11
|
|
bne _02183980
|
|
add r0, r5, #0x388
|
|
add r0, r0, #0xc00
|
|
add r1, r5, #0x48
|
|
bl func_01ff9bf8
|
|
ldrsh r1, [r5, #0x78]
|
|
add r0, sp, #0x18
|
|
rsb r1, r1, #0
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, asr #0x10
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, _02183a98 ; =0x00001ccd
|
|
str r1, [r5, #0x7c]
|
|
ldr r1, [sp, #0x1c]
|
|
str r1, [r5, #0x80]
|
|
ldr r1, [sp, #0x20]
|
|
str r1, [r5, #0x84]
|
|
str r0, [r5, #0x88]
|
|
b _02183a28
|
|
_02183980:
|
|
add r0, r5, #0x358
|
|
add r0, r0, #0xc00
|
|
add r1, r5, #0x48
|
|
bl func_01ff9bf8
|
|
ldrsh r1, [r5, #0x78]
|
|
add r0, sp, #0x18
|
|
rsb r1, r1, #0
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, asr #0x10
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, _02183a9c ; =0x00000e66
|
|
str r1, [r5, #0x7c]
|
|
ldr r1, [sp, #0x1c]
|
|
str r1, [r5, #0x80]
|
|
ldr r1, [sp, #0x20]
|
|
str r1, [r5, #0x84]
|
|
str r0, [r5, #0x88]
|
|
b _02183a28
|
|
_021839cc:
|
|
cmp r0, #0xe
|
|
mvnne r0, #0
|
|
strne r0, [r5, #0x88]
|
|
bne _02183a28
|
|
add r0, r5, #0x388
|
|
add r2, sp, #0xc
|
|
add r0, r0, #0xc00
|
|
add r1, r5, #0x48
|
|
bl func_01ff9bf8
|
|
ldrsh r1, [r5, #0x78]
|
|
add r0, sp, #0xc
|
|
rsb r1, r1, #0
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, asr #0x10
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [sp, #0xc]
|
|
ldr r0, _02183a94 ; =0x0000151f
|
|
str r1, [r5, #0x7c]
|
|
ldr r1, [sp, #0x10]
|
|
str r1, [r5, #0x80]
|
|
ldr r1, [sp, #0x14]
|
|
str r1, [r5, #0x84]
|
|
str r0, [r5, #0x88]
|
|
_02183a28:
|
|
add r0, r5, #0x2c8
|
|
bl func_ov38_0217bdb4
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl func_ov38_0218314c
|
|
mov r0, r5
|
|
bl func_ov38_02185830
|
|
mov r0, #0x1000
|
|
ldr ip, [r5, #0xf5c]
|
|
rsb r0, r0, #0
|
|
cmp ip, r0
|
|
movle ip, r0
|
|
ldr r0, _02183aa0 ; =data_027e0fc8
|
|
ldr r3, [r5, #0xf60]
|
|
ldr r2, [r5, #0xf58]
|
|
ldr r0, [r0]
|
|
add r1, sp, #0
|
|
str r2, [sp]
|
|
str ip, [sp, #4]
|
|
str r3, [sp, #8]
|
|
bl func_ov00_020bb6d4
|
|
_02183a7c:
|
|
mov r1, r4
|
|
add r0, r5, #0xa4
|
|
add r2, r5, #0x48
|
|
bl func_ov00_0207a1c8
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218381c
|
|
_02183a94: .word 0x0000151f
|
|
_02183a98: .word 0x00001ccd
|
|
_02183a9c: .word 0x00000e66
|
|
_02183aa0: .word data_027e0fc8
|
|
|
|
.global func_ov38_02183aa4
|
|
arm_func_start func_ov38_02183aa4
|
|
func_ov38_02183aa4: ; 0x02183aa4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl func_ov00_020c313c
|
|
cmp r0, #0
|
|
beq _02183b48
|
|
ldr r1, [r5, #0x2e8]
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
beq _02183ae0
|
|
ldr r0, _02183b5c ; =data_027e0f74
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097b9c
|
|
cmp r0, #0
|
|
bne _02183b04
|
|
_02183ae0:
|
|
ldr r1, [r5, #0x2ec]
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
beq _02183b48
|
|
ldr r0, _02183b5c ; =data_027e0f74
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097b9c
|
|
cmp r0, #0
|
|
beq _02183b48
|
|
_02183b04:
|
|
add r0, r5, #0x2c8
|
|
bl func_ov38_0217bdb4
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl func_ov38_0218314c
|
|
ldr r0, [r5, #0x2e0]
|
|
cmp r0, #0
|
|
beq _02183b48
|
|
ldr r0, [r5, #0x2e4]
|
|
tst r0, #1
|
|
add r0, r5, r0, asr #1
|
|
ldreq r1, [r5, #0x2e0]
|
|
beq _02183b44
|
|
ldr r2, [r0]
|
|
ldr r1, [r5, #0x2e0]
|
|
ldr r1, [r2, r1]
|
|
_02183b44:
|
|
blx r1
|
|
_02183b48:
|
|
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_ov38_02183aa4
|
|
_02183b5c: .word data_027e0f74
|
|
|
|
.global func_ov38_02183b60
|
|
arm_func_start func_ov38_02183b60
|
|
func_ov38_02183b60: ; 0x02183b60
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r5, r0
|
|
add r0, r5, #0x100
|
|
ldrsh r2, [r0, #0x20]
|
|
mov r4, r1
|
|
cmp r2, #0
|
|
addgt r0, r5, #0x1000
|
|
ldrgtsh r0, [r0, #0x7e]
|
|
cmpgt r2, r0
|
|
bgt _02183be0
|
|
ldr r0, _02183c9c ; =data_027e0e5c
|
|
mov r1, #1
|
|
bl func_ov00_0207c7e8
|
|
ldr r0, _02183ca0 ; =data_027e0ffc
|
|
ldr r1, _02183ca4 ; =0x00000191
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
add r0, r5, #0x100
|
|
ldrsh r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
bgt _02183bf4
|
|
ldr r0, _02183ca8 ; =data_ov00_020eec68
|
|
mov r1, #5
|
|
bl func_ov00_020d716c
|
|
ldr r0, _02183cac ; =data_027e0fc8
|
|
ldr r0, [r0]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x84]
|
|
blx r1
|
|
b _02183bf4
|
|
_02183be0:
|
|
ldr r0, _02183ca0 ; =data_027e0ffc
|
|
add r2, r5, #0x48
|
|
mov r1, #0x190
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_02183bf4:
|
|
add r1, sp, #0
|
|
mov r0, r5
|
|
bl func_ov00_020c2a0c
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #8]
|
|
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 r1, r0, lsl #0x1
|
|
add r0, r1, #1
|
|
ldr r3, [sp, #0xc]
|
|
ldr r2, _02183cb0 ; =data_02050f54
|
|
mov r1, r1, lsl #0x1
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r1, [r2, r1]
|
|
rsb r3, r3, #0
|
|
ldrsh r0, [r2, r0]
|
|
smull r2, r4, r1, r3
|
|
adds r5, r2, #0x800
|
|
ldr r1, [sp, #4]
|
|
smull r3, r2, r0, r3
|
|
adc r4, r4, #0
|
|
adds r3, r3, #0x800
|
|
mov r5, r5, lsr #0xc
|
|
adc r0, r2, #0
|
|
mov r2, r3, lsr #0xc
|
|
orr r5, r5, r4, lsl #20
|
|
ldr r3, [sp]
|
|
orr r2, r2, r0, lsl #20
|
|
ldr r4, [sp, #8]
|
|
add r3, r3, r5
|
|
add r2, r4, r2
|
|
add r0, sp, #0x10
|
|
str r1, [sp, #0x14]
|
|
str r3, [sp, #0x10]
|
|
str r2, [sp, #0x18]
|
|
bl func_ov00_020c71fc
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02183b60
|
|
_02183c9c: .word data_027e0e5c
|
|
_02183ca0: .word data_027e0ffc
|
|
_02183ca4: .word 0x00000191
|
|
_02183ca8: .word data_ov00_020eec68
|
|
_02183cac: .word data_027e0fc8
|
|
_02183cb0: .word data_02050f54
|
|
|
|
.global func_ov38_02183cb4
|
|
arm_func_start func_ov38_02183cb4
|
|
func_ov38_02183cb4: ; 0x02183cb4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x18
|
|
mov r5, r0
|
|
mov r4, r1
|
|
add r0, r5, #0x100
|
|
ldrsh r2, [r0, #0x20]
|
|
ldrb r1, [r4]
|
|
sub r1, r2, r1
|
|
strh r1, [r0, #0x20]
|
|
ldrsh r1, [r0, #0x20]
|
|
cmp r1, #0
|
|
movlt r1, #0
|
|
strlth r1, [r0, #0x20]
|
|
add r0, r5, #0x1000
|
|
ldrsh r2, [r0, #0x86]
|
|
ldrb r1, [r4]
|
|
add r1, r2, r1
|
|
strh r1, [r0, #0x86]
|
|
ldrsh r0, [r0, #0x86]
|
|
cmp r0, #0x14
|
|
ble _02183d4c
|
|
ldr r1, _02183d60 ; =data_027e0f94
|
|
add r2, sp, #0xc
|
|
add r0, r5, #0x48
|
|
bl func_01ff9bf8
|
|
mov r2, #0
|
|
add r0, sp, #0xc
|
|
add r1, sp, #0
|
|
str r2, [sp, #0x10]
|
|
bl func_01ff9d4c
|
|
add r2, r5, #0x60
|
|
ldr r0, _02183d64 ; =0x000004cd
|
|
add r1, sp, #0
|
|
mov r3, r2
|
|
bl func_01ff9e64
|
|
add r0, r5, #0x1000
|
|
mov r1, #0
|
|
strh r1, [r0, #0x86]
|
|
_02183d4c:
|
|
mov r0, r5
|
|
add r1, r4, #4
|
|
bl func_ov38_02183b60
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02183cb4
|
|
_02183d60: .word data_027e0f94
|
|
_02183d64: .word 0x000004cd
|
|
|
|
.global func_ov38_02183d68
|
|
arm_func_start func_ov38_02183d68
|
|
func_ov38_02183d68: ; 0x02183d68
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r6, r0
|
|
add r2, r6, #0x1000
|
|
ldrb r3, [r2, #0xa7]
|
|
mov r5, r1
|
|
cmp r3, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r3, _02184098 ; =data_ov29_0217bca0
|
|
ldr r4, [r5, #0x14]
|
|
ldr r3, [r3]
|
|
cmp r3, #0
|
|
ble _02183e88
|
|
cmp r4, #0
|
|
beq _02183e3c
|
|
ldr r1, [r4, #4]
|
|
ldr r0, _0218409c ; =0x424d524e
|
|
cmp r1, r0
|
|
bne _02183dd8
|
|
mov r0, r4
|
|
bl func_ov14_021231d4
|
|
ldr r0, _021840a0 ; =data_027e0ffc
|
|
ldr r1, _021840a4 ; =0x0000019d
|
|
add r2, r6, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02183dd8:
|
|
ldr r0, _021840a8 ; =0x41525257
|
|
cmp r1, r0
|
|
bne _02183e08
|
|
ldrsh r1, [r4, #0x78]
|
|
mov r0, r4
|
|
mov r2, #1
|
|
sub r1, r1, #0x8000
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, asr #0x10
|
|
bl func_ov14_02120ac4
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02183e08:
|
|
ldr r0, _021840ac ; =0x424f4d42
|
|
cmp r1, r0
|
|
bne _02183e34
|
|
mov r0, r4
|
|
bl func_ov14_02122eb8
|
|
cmp r0, #0
|
|
beq _02183e34
|
|
mov r0, r4
|
|
bl func_ov14_02122e98
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02183e34:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02183e3c:
|
|
ldr r0, [r5, #0x10]
|
|
cmp r0, #0
|
|
bne _02183e70
|
|
bl func_ov38_021840b8
|
|
mov r1, #0xf5
|
|
mov r2, #0
|
|
bl func_ov00_020bf008
|
|
ldr r0, _021840a0 ; =data_027e0ffc
|
|
ldr r1, _021840b0 ; =0x000001bd
|
|
add r2, r6, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
b _02184090
|
|
_02183e70:
|
|
ldr r0, _021840a0 ; =data_027e0ffc
|
|
ldr r1, _021840b0 ; =0x000001bd
|
|
add r2, r6, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
b _02184090
|
|
_02183e88:
|
|
cmp r4, #0
|
|
beq _02183f60
|
|
ldr r1, [r4, #4]
|
|
ldr r0, _0218409c ; =0x424d524e
|
|
cmp r1, r0
|
|
bne _02183ec4
|
|
mov r0, r4
|
|
bl func_ov14_021231d4
|
|
ldr r0, _021840a0 ; =data_027e0ffc
|
|
ldr r1, _021840a4 ; =0x0000019d
|
|
add r2, r6, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02183ec4:
|
|
ldr r0, _021840a8 ; =0x41525257
|
|
cmp r1, r0
|
|
bne _02183ef4
|
|
ldrsh r1, [r4, #0x78]
|
|
mov r0, r4
|
|
mov r2, #1
|
|
sub r1, r1, #0x8000
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, asr #0x10
|
|
bl func_ov14_02120ac4
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02183ef4:
|
|
ldr r0, _021840ac ; =0x424f4d42
|
|
cmp r1, r0
|
|
bne _02183f20
|
|
mov r0, r4
|
|
bl func_ov14_02122eb8
|
|
cmp r0, #0
|
|
beq _02183f58
|
|
mov r0, r4
|
|
bl func_ov14_02122e98
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02183f20:
|
|
ldr r0, _021840b4 ; =0x524f5045
|
|
cmp r1, r0
|
|
ldreqb r0, [r2, #0xab]
|
|
cmpeq r0, #0
|
|
bne _02183f58
|
|
mov r0, r4
|
|
bl func_ov14_02123904
|
|
ldr r0, _021840a0 ; =data_027e0ffc
|
|
add r2, r6, #0x48
|
|
mov r1, #0xf6
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02183f58:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02183f60:
|
|
ldr r3, [r6, #0x2d8]
|
|
cmp r3, #0x11
|
|
bne _02184054
|
|
ldrb r3, [r2, #0xa1]
|
|
cmp r3, #0
|
|
beq _02184028
|
|
ldrsh r2, [r2, #0x98]
|
|
cmp r2, #0
|
|
bne _02184028
|
|
add r2, r6, #0x100
|
|
ldrsh r2, [r2, #0x20]
|
|
cmp r2, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
bl func_ov38_02183cb4
|
|
add r0, r6, #0x1000
|
|
mov r1, #1
|
|
strb r1, [r0, #0xa7]
|
|
mov r1, #0xa
|
|
str r1, [r0, #0x50]
|
|
mov r1, #0x1000
|
|
str r1, [r0, #0x34]
|
|
ldr r1, [r5, #4]
|
|
add r0, r6, #0x60
|
|
str r1, [r6, #0x60]
|
|
ldr r2, [r5, #8]
|
|
mov r1, r0
|
|
str r2, [r6, #0x64]
|
|
ldr r2, [r5, #0xc]
|
|
str r2, [r6, #0x68]
|
|
bl func_01ff9d4c
|
|
ldr r0, [r6, #0x60]
|
|
add r1, r6, #0x1000
|
|
mov r0, r0, lsl #0xa
|
|
add r0, r0, #0x800
|
|
mov r0, r0, asr #0xc
|
|
str r0, [r6, #0x60]
|
|
ldr r2, [r6, #0x64]
|
|
mov r0, #1
|
|
mov r2, r2, lsl #0xa
|
|
add r2, r2, #0x800
|
|
mov r2, r2, asr #0xc
|
|
str r2, [r6, #0x64]
|
|
ldr r2, [r6, #0x68]
|
|
mov r2, r2, lsl #0xa
|
|
add r2, r2, #0x800
|
|
mov r2, r2, asr #0xc
|
|
str r2, [r6, #0x68]
|
|
strb r0, [r1, #0xad]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02184028:
|
|
bl func_ov38_021840b8
|
|
mov r1, #0xf5
|
|
mov r2, #0
|
|
bl func_ov00_020bf008
|
|
ldr r0, _021840a0 ; =data_027e0ffc
|
|
ldr r1, _021840b0 ; =0x000001bd
|
|
add r2, r6, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02184054:
|
|
ldr r2, [r5, #0x10]
|
|
cmp r2, #0
|
|
bne _02184090
|
|
bl func_ov38_02183cb4
|
|
ldr r0, [r6, #0x2d8]
|
|
cmp r0, #5
|
|
beq _02184080
|
|
add r0, r6, #0x2c8
|
|
mov r1, #5
|
|
bl func_ov38_0217be60
|
|
b _02184088
|
|
_02184080:
|
|
mov r0, r6
|
|
bl func_ov38_0217fb50
|
|
_02184088:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02184090:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02183d68
|
|
_02184098: .word data_ov29_0217bca0
|
|
_0218409c: .word 0x424d524e
|
|
_021840a0: .word data_027e0ffc
|
|
_021840a4: .word 0x0000019d
|
|
_021840a8: .word 0x41525257
|
|
_021840ac: .word 0x424f4d42
|
|
_021840b0: .word 0x000001bd
|
|
_021840b4: .word 0x524f5045
|
|
|
|
.global func_ov38_021840b8
|
|
arm_func_start func_ov38_021840b8
|
|
func_ov38_021840b8: ; 0x021840b8
|
|
ldr ip, _021840c4 ; =func_01fffcec
|
|
mov r0, #0
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021840b8
|
|
_021840c4: .word func_01fffcec
|
|
|
|
.global func_ov38_021840c8
|
|
arm_func_start func_ov38_021840c8
|
|
func_ov38_021840c8: ; 0x021840c8
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r4, _021840f4 ; =data_ov38_02189224
|
|
mov r6, r1
|
|
mov r5, #0
|
|
_021840d8:
|
|
ldr r0, [r4, r5, lsl #2]
|
|
mov r1, r6
|
|
bl func_ov29_02172f10
|
|
add r5, r5, #1
|
|
cmp r5, #5
|
|
blt _021840d8
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021840c8
|
|
_021840f4: .word data_ov38_02189224
|
|
|
|
.global func_ov38_021840f8
|
|
arm_func_start func_ov38_021840f8
|
|
func_ov38_021840f8: ; 0x021840f8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r4, _0218411c ; =data_ov38_02189224
|
|
mov r5, #0
|
|
_02184104:
|
|
ldr r0, [r4, r5, lsl #2]
|
|
bl func_ov29_02174ef8
|
|
add r5, r5, #1
|
|
cmp r5, #5
|
|
blt _02184104
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021840f8
|
|
_0218411c: .word data_ov38_02189224
|
|
|
|
.global func_ov38_02184120
|
|
arm_func_start func_ov38_02184120
|
|
func_ov38_02184120: ; 0x02184120
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x48
|
|
mvn r1, #0
|
|
mov r4, r0
|
|
add r0, sp, #0x1c
|
|
str r1, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
bl func_ov00_020c1500
|
|
mvn r1, #0
|
|
add r0, sp, #0x1c
|
|
str r1, [sp, #0x38]
|
|
str r1, [sp, #0x3c]
|
|
bl func_ov00_020c3348
|
|
add r0, r4, #0x48
|
|
add r3, sp, #0x10
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r1, [sp, #0x14]
|
|
mov r2, r3
|
|
add r1, r1, #0x3000
|
|
str r1, [sp, #0x14]
|
|
add r0, sp, #8
|
|
str r0, [sp]
|
|
ldr r0, _021841cc ; =data_027e0fe8
|
|
ldr r1, _021841d0 ; =0x474f3154
|
|
ldr r0, [r0]
|
|
add r3, sp, #0x1c
|
|
bl func_ov00_020c4048
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _021841d4 ; =data_027e0e58
|
|
ldr r1, _021841d8 ; =0x00001037
|
|
ldr r0, [r0]
|
|
add r2, r4, #0x48
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
ldr r0, _021841dc ; =data_027e0fe4
|
|
add r1, sp, #8
|
|
ldr r0, [r0]
|
|
bl func_ov00_020c3674
|
|
add sp, sp, #0x48
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02184120
|
|
_021841cc: .word data_027e0fe8
|
|
_021841d0: .word 0x474f3154
|
|
_021841d4: .word data_027e0e58
|
|
_021841d8: .word 0x00001037
|
|
_021841dc: .word data_027e0fe4
|
|
|
|
.global func_ov38_021841e0
|
|
arm_func_start func_ov38_021841e0
|
|
func_ov38_021841e0: ; 0x021841e0
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x38
|
|
mvn r1, #0
|
|
mov r4, r0
|
|
add r0, sp, #0xc
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
bl func_ov00_020c1500
|
|
mvn r1, #0
|
|
add r0, sp, #0xc
|
|
str r1, [sp, #0x28]
|
|
str r1, [sp, #0x2c]
|
|
bl func_ov00_020c3348
|
|
add r1, sp, #4
|
|
str r1, [sp]
|
|
ldr r0, _02184250 ; =data_027e0fe8
|
|
ldr r1, _02184254 ; =0x474f3150
|
|
ldr r0, [r0]
|
|
add r3, sp, #0xc
|
|
add r2, r4, #0x48
|
|
bl func_ov00_020c4048
|
|
ldr r0, _02184258 ; =data_027e0fe4
|
|
add r1, sp, #4
|
|
ldr r0, [r0]
|
|
bl func_ov00_020c3674
|
|
str r4, [r0, #0x244]
|
|
add sp, sp, #0x38
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021841e0
|
|
_02184250: .word data_027e0fe8
|
|
_02184254: .word 0x474f3150
|
|
_02184258: .word data_027e0fe4
|
|
|
|
.global func_ov38_0218425c
|
|
arm_func_start func_ov38_0218425c
|
|
func_ov38_0218425c: ; 0x0218425c
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0xcc
|
|
mov r1, #0
|
|
mov r5, r0
|
|
mov r0, #0xc800
|
|
str r1, [sp, #0xc0]
|
|
str r1, [sp, #0xc4]
|
|
str r0, [sp, #0xc8]
|
|
add r0, r5, #0x1000
|
|
ldr r0, [r0, #0x78]
|
|
cmp r0, #1
|
|
beq _02184298
|
|
cmp r0, #3
|
|
beq _021842b0
|
|
b _021842c4
|
|
_02184298:
|
|
mov r0, #0x1000
|
|
str r0, [sp, #0x14]
|
|
mov r6, #0x8000
|
|
mov fp, #0xaf0
|
|
ldr r4, _0218454c ; =0x00005348
|
|
b _021842c4
|
|
_021842b0:
|
|
mov r0, #0xa000
|
|
ldr fp, _02184550 ; =0x00006b6c
|
|
ldr r4, _02184554 ; =0xffffb364
|
|
str r0, [sp, #0x14]
|
|
mov r6, #0x11000
|
|
_021842c4:
|
|
ldr r0, _02184558 ; =data_027e0f94
|
|
mov r7, #0
|
|
ldr r2, [r0]
|
|
ldr r1, [r0, #4]
|
|
mov r3, #0x1000
|
|
str r7, [sp, #0xa8]
|
|
str r7, [sp, #0xac]
|
|
str r3, [sp, #0xb0]
|
|
str r2, [sp, #0x34]
|
|
str r1, [sp, #0x38]
|
|
ldr r1, [r0, #8]
|
|
add r0, sp, #0x34
|
|
str r1, [sp, #0x3c]
|
|
ldr r2, [r5, #0x14]
|
|
add r1, sp, #0x28
|
|
str r2, [sp, #0x28]
|
|
ldr r3, [r5, #0x18]
|
|
add r2, sp, #0xb4
|
|
str r3, [sp, #0x2c]
|
|
ldr r3, [r5, #0x1c]
|
|
str r3, [sp, #0x30]
|
|
bl func_01ff9bf8
|
|
sub r0, r4, fp
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, r0, lsl #0xb
|
|
add r0, r0, #0x800
|
|
add r0, fp, r0, asr #12
|
|
mov r1, r0, lsl #0x10
|
|
mov r2, r7
|
|
add r0, sp, #0xa8
|
|
mov r1, r1, asr #0x10
|
|
str r2, [sp, #0xb8]
|
|
bl func_ov00_020a61ac
|
|
add r0, sp, #0xb4
|
|
add r1, sp, #0xa8
|
|
bl func_01ff9c2c
|
|
cmp r0, #0
|
|
bge _02184374
|
|
mov r1, #0x8000
|
|
add r0, sp, #0xc0
|
|
rsb r1, r1, #0
|
|
bl func_ov00_020a61ac
|
|
_02184374:
|
|
add r0, sp, #0x7c
|
|
bl func_ov00_020c1500
|
|
mvn r1, #0
|
|
add r0, sp, #0x7c
|
|
str r1, [sp, #0x98]
|
|
str r1, [sp, #0x9c]
|
|
bl func_ov00_020c3348
|
|
mov r0, #1
|
|
add r8, sp, #0x64
|
|
ldr sb, _0218455c ; =data_ov38_021889cc
|
|
strh r0, [sp, #0x7c]
|
|
ldr r7, _02184560 ; =0x021793cc
|
|
str r8, [sp, #0x18]
|
|
ldmia sb!, {r0, r1, r2, r3}
|
|
stmia r8!, {r0, r1, r2, r3}
|
|
ldr r0, [r7]
|
|
mov r4, #0
|
|
str r0, [sp, #8]
|
|
ldmia sb, {r0, r1}
|
|
stmia r8, {r0, r1}
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
addle sp, sp, #0xcc
|
|
ldmleia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, [sp, #0x14]
|
|
sub r0, r6, r0
|
|
str r0, [sp, #0xc]
|
|
mov r0, r0, asr #0x1f
|
|
str r0, [sp, #0x10]
|
|
mvn r0, #0
|
|
ldr r6, _02184564 ; =data_027e0764
|
|
str r0, [sp, #0x1c]
|
|
_021843f4:
|
|
ldr r0, [sp, #0x18]
|
|
add r7, sp, #0x58
|
|
add r0, r0, r4, lsl #3
|
|
ldmia r0, {r3, r8}
|
|
add r0, sp, #0xc0
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r7, {r0, r1, r2}
|
|
sub r0, r8, r3
|
|
add sl, r0, #1
|
|
cmp sl, #0
|
|
movle r2, #0
|
|
ble _0218446c
|
|
ldr r1, [r6]
|
|
ldmib r6, {r0, ip}
|
|
umull r7, lr, ip, r1
|
|
mla lr, ip, r0, lr
|
|
ldr r2, [r6, #0xc]
|
|
ldr sb, [r6, #0x10]
|
|
mla lr, r2, r1, lr
|
|
ldr r8, [r6, #0x14]
|
|
adds r0, sb, r7
|
|
adc r2, r8, lr
|
|
stmia r6, {r0, r2}
|
|
cmp sl, #0
|
|
beq _0218446c
|
|
umull r0, r1, r2, sl
|
|
mov r0, #0
|
|
mla r1, r2, r0, r1
|
|
mla r1, r0, sl, r1
|
|
mov r2, r1
|
|
_0218446c:
|
|
add r8, r3, r2
|
|
ldr sb, [sp, #0xc]
|
|
mov r2, r8, asr #0x1f
|
|
umull r7, r3, sb, r8
|
|
mla r3, sb, r2, r3
|
|
ldr r1, [sp, #4]
|
|
ldr r2, [sp, #0x10]
|
|
mul r1, r8, r1
|
|
add r1, r1, #0x800
|
|
add r1, fp, r1, asr #12
|
|
mov r1, r1, lsl #0x10
|
|
mla r3, r2, r8, r3
|
|
adds r7, r7, #0x800
|
|
adc r2, r3, #0
|
|
mov r3, r7, lsr #0xc
|
|
orr r3, r3, r2, lsl #20
|
|
ldr r2, [sp, #0x14]
|
|
add r0, sp, #0x58
|
|
add r2, r2, r3
|
|
mov r1, r1, asr #0x10
|
|
str r2, [sp, #0x5c]
|
|
bl func_ov00_020a61ac
|
|
add r0, sp, #0x58
|
|
add r1, r5, #0x14
|
|
add r2, sp, #0x4c
|
|
bl func_01ff9bc4
|
|
ldr r0, [sp, #0x1c]
|
|
add r3, sp, #0x7c
|
|
str r0, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x50]
|
|
add r7, r0, #0x9000
|
|
add r0, sp, #0x4c
|
|
ldmia r0, {r0, r1, r2}
|
|
str r7, [sp, #0x50]
|
|
add r7, sp, #0x40
|
|
stmia r7, {r0, r1, r2}
|
|
add r0, sp, #0x20
|
|
str r0, [sp]
|
|
ldr r0, _02184568 ; =data_027e0fe8
|
|
ldr r1, _0218456c ; =0x474f3154
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x4c
|
|
bl func_ov00_020c4048
|
|
ldr r0, _02184570 ; =data_027e0fe4
|
|
add r1, sp, #0x20
|
|
ldr r0, [r0]
|
|
bl func_ov00_020c3674
|
|
mov r1, r7
|
|
bl func_ov29_02170e98
|
|
ldr r0, [sp, #8]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _021843f4
|
|
add sp, sp, #0xcc
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218425c
|
|
_0218454c: .word 0x00005348
|
|
_02184550: .word 0x00006b6c
|
|
_02184554: .word 0xffffb364
|
|
_02184558: .word data_027e0f94
|
|
_0218455c: .word data_ov38_021889cc
|
|
_02184560: .word 0x021793cc
|
|
_02184564: .word data_027e0764
|
|
_02184568: .word data_027e0fe8
|
|
_0218456c: .word 0x474f3154
|
|
_02184570: .word data_027e0fe4
|
|
|
|
.global func_ov38_02184574
|
|
arm_func_start func_ov38_02184574
|
|
func_ov38_02184574: ; 0x02184574
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x14
|
|
add r0, r0, #0x1000
|
|
str r0, [sp, #8]
|
|
ldr r0, _02184738 ; =0x00007fff
|
|
mov r4, #0
|
|
rsb r0, r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02184738 ; =0x00007fff
|
|
str r1, [sp]
|
|
rsb r0, r0, #0
|
|
str r4, [sp, #4]
|
|
mov r6, r4
|
|
mov r5, #0x4000
|
|
str r0, [sp, #0x10]
|
|
_021845b0:
|
|
ldr r0, _0218473c ; =data_ov38_02189224
|
|
cmp r6, #4
|
|
ldr r7, [r0, r6, lsl #2]
|
|
moveq r1, #0
|
|
addne r1, r6, #1
|
|
ldr r0, _0218473c ; =data_ov38_02189224
|
|
cmp r6, #0
|
|
ldr r8, [r0, r1, lsl #2]
|
|
moveq r1, #4
|
|
ldr r0, _0218473c ; =data_ov38_02189224
|
|
subne r1, r6, #1
|
|
ldr sb, [r0, r1, lsl #2]
|
|
ldr r1, [r7, #0x130]
|
|
sub r0, r1, #3
|
|
cmp r0, #1
|
|
bhi _02184608
|
|
ldr r0, [sp]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
addge sp, sp, #0x14
|
|
movge r0, #0
|
|
ldmgeia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02184608:
|
|
cmp r1, #2
|
|
bne _02184708
|
|
mov r0, r7
|
|
bl func_ov29_02174ee4
|
|
cmp r0, #0
|
|
bne _02184708
|
|
mov r0, r7
|
|
bl func_ov29_02172c28
|
|
ldr r1, [sp, #8]
|
|
ldrsh r1, [r1, #0x94]
|
|
sub r0, r1, r0
|
|
mov r0, r0, lsl #0x10
|
|
movs sl, r0, asr #0x10
|
|
rsbmi r0, sl, #0
|
|
movmi r0, r0, lsl #0x10
|
|
movmi sl, r0, asr #0x10
|
|
cmp sl, r5
|
|
bge _02184708
|
|
ldr r0, [r8, #0x130]
|
|
cmp r0, #3
|
|
bne _021846a8
|
|
mov r0, r7
|
|
bl func_ov29_02172c28
|
|
mov fp, r0
|
|
mov r0, r8
|
|
bl func_ov29_02172c28
|
|
sub r0, r0, fp
|
|
mov r1, r0, lsl #0x10
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, r1, asr #16
|
|
mov r1, r1, asr #0x10
|
|
ldrgt r1, _02184738 ; =0x00007fff
|
|
bgt _0218469c
|
|
cmp r1, #0
|
|
rsblt r0, r1, #0
|
|
movlt r0, r0, lsl #0x10
|
|
movlt r1, r0, asr #0x10
|
|
_0218469c:
|
|
ldr r0, _02184740 ; =0x0000238e
|
|
cmp r1, r0
|
|
blt _02184708
|
|
_021846a8:
|
|
ldr r0, [sb, #0x130]
|
|
cmp r0, #3
|
|
bne _02184700
|
|
mov r0, r7
|
|
bl func_ov29_02172c28
|
|
mov r8, r0
|
|
mov r0, sb
|
|
bl func_ov29_02172c28
|
|
sub r0, r0, r8
|
|
mov r1, r0, lsl #0x10
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, r1, asr #16
|
|
mov r1, r1, asr #0x10
|
|
ldrgt r1, _02184738 ; =0x00007fff
|
|
bgt _021846f4
|
|
cmp r1, #0
|
|
rsblt r0, r1, #0
|
|
movlt r0, r0, lsl #0x10
|
|
movlt r1, r0, asr #0x10
|
|
_021846f4:
|
|
ldr r0, _02184740 ; =0x0000238e
|
|
cmp r1, r0
|
|
blt _02184708
|
|
_02184700:
|
|
mov r5, sl
|
|
str r7, [sp, #4]
|
|
_02184708:
|
|
add r6, r6, #1
|
|
cmp r6, #5
|
|
blt _021845b0
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x14
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
bl func_ov29_021733f4
|
|
mov r0, #1
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02184574
|
|
_02184738: .word 0x00007fff
|
|
_0218473c: .word data_ov38_02189224
|
|
_02184740: .word 0x0000238e
|
|
|
|
.global func_ov38_02184744
|
|
arm_func_start func_ov38_02184744
|
|
func_ov38_02184744: ; 0x02184744
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x54
|
|
ldr r1, _0218486c ; =data_027e0764
|
|
mov r3, #0
|
|
ldr r2, [r1]
|
|
ldmib r1, {r0, ip}
|
|
umull r4, lr, ip, r2
|
|
mla lr, ip, r0, lr
|
|
ldr r0, [r1, #0xc]
|
|
ldr ip, [r1, #0x10]
|
|
mla lr, r0, r2, lr
|
|
ldr r0, [r1, #0x14]
|
|
adds r5, ip, r4
|
|
adc r4, r0, lr
|
|
mov r0, #0x64
|
|
umull r2, ip, r4, r0
|
|
str r5, [r1]
|
|
mla ip, r4, r3, ip
|
|
mov r2, r3
|
|
mla ip, r2, r0, ip
|
|
str r4, [r1, #4]
|
|
cmp ip, #0x48
|
|
bge _021847c8
|
|
ldr r2, _02184870 ; =0x000011c7
|
|
mov ip, #1
|
|
mov r1, #0x7000
|
|
mov r0, #0xb000
|
|
strh ip, [sp, #0x38]
|
|
strh r2, [sp, #0x3a]
|
|
str r1, [sp, #0x3c]
|
|
str r0, [sp, #0x40]
|
|
str r3, [sp, #0x44]
|
|
b _02184808
|
|
_021847c8:
|
|
cmp ip, #0x5e
|
|
mov r1, #0x6800
|
|
mov r0, #0xb800
|
|
bge _021847f0
|
|
strh r3, [sp, #0x38]
|
|
strh r3, [sp, #0x3a]
|
|
str r1, [sp, #0x3c]
|
|
str r0, [sp, #0x40]
|
|
str r3, [sp, #0x44]
|
|
b _02184808
|
|
_021847f0:
|
|
sub r2, r3, #0x8000
|
|
strh r3, [sp, #0x38]
|
|
strh r2, [sp, #0x3a]
|
|
str r1, [sp, #0x3c]
|
|
str r0, [sp, #0x40]
|
|
str r3, [sp, #0x44]
|
|
_02184808:
|
|
add r0, sp, #0x38
|
|
add r1, sp, #0x48
|
|
bl func_ov29_02171280
|
|
mvn r1, #0
|
|
mov r2, #0x10c00
|
|
add r0, sp, #0xc
|
|
str r2, [sp, #0x4c]
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
bl func_ov00_020c1500
|
|
mvn r1, #0
|
|
add r0, sp, #0xc
|
|
str r1, [sp, #0x28]
|
|
str r1, [sp, #0x2c]
|
|
bl func_ov00_020c3348
|
|
add r1, sp, #4
|
|
str r1, [sp]
|
|
ldr r0, _02184874 ; =data_027e0fe8
|
|
ldr r1, _02184878 ; =0x474f3143
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x48
|
|
add r3, sp, #0xc
|
|
bl func_ov00_020c4048
|
|
add sp, sp, #0x54
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02184744
|
|
_0218486c: .word data_027e0764
|
|
_02184870: .word 0x000011c7
|
|
_02184874: .word data_027e0fe8
|
|
_02184878: .word 0x474f3143
|
|
|
|
.global func_ov38_0218487c
|
|
arm_func_start func_ov38_0218487c
|
|
func_ov38_0218487c: ; 0x0218487c
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
add r3, r0, #0x1000
|
|
ldr r1, [r3, #0x60]
|
|
cmp r1, #0
|
|
bne _02184a08
|
|
ldr r1, [r0, #0x2d8]
|
|
cmp r1, #0xe
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
ldr ip, _02184a14 ; =data_027e0764
|
|
mov r2, #0
|
|
ldr r4, [ip]
|
|
ldmib ip, {r1, r6}
|
|
umull sl, sb, r6, r4
|
|
mla sb, r6, r1, sb
|
|
ldr r5, [ip, #0xc]
|
|
ldr r8, [ip, #0x10]
|
|
mla sb, r5, r4, sb
|
|
adds r1, r8, sl
|
|
ldr r7, [ip, #0x14]
|
|
mov sl, #0x64
|
|
adc sb, r7, sb
|
|
umull r4, lr, sb, sl
|
|
mla lr, sb, r2, lr
|
|
mov r4, r2
|
|
mla lr, r4, sl, lr
|
|
stmia ip, {r1, sb}
|
|
cmp lr, #0x41
|
|
bge _02184924
|
|
umull lr, sl, r6, r1
|
|
mla sl, r6, sb, sl
|
|
adds lr, r8, lr
|
|
mla sl, r5, r1, sl
|
|
adc r7, r7, sl
|
|
mov r1, #0x1f
|
|
umull r5, r6, r7, r1
|
|
mla r6, r7, r2, r6
|
|
mla r6, r4, r1, r6
|
|
str lr, [ip]
|
|
str r7, [ip, #4]
|
|
add r1, r6, #0x2d
|
|
str r1, [r3, #0x60]
|
|
b _02184990
|
|
_02184924:
|
|
cmp lr, #0x5f
|
|
umull lr, sl, r6, r1
|
|
mla sl, r6, sb, sl
|
|
bge _02184964
|
|
mla sl, r5, r1, sl
|
|
adds lr, r8, lr
|
|
adc r7, r7, sl
|
|
mov r1, #0x4c
|
|
umull r5, r6, r7, r1
|
|
mla r6, r7, r2, r6
|
|
mla r6, r4, r1, r6
|
|
str lr, [ip]
|
|
str r7, [ip, #4]
|
|
add r1, r6, #0x4b
|
|
str r1, [r3, #0x60]
|
|
b _02184990
|
|
_02184964:
|
|
mla sl, r5, r1, sl
|
|
adds lr, r8, lr
|
|
adc r7, r7, sl
|
|
mov r1, #0x1f
|
|
umull r5, r6, r7, r1
|
|
mla r6, r7, r2, r6
|
|
mla r6, r4, r1, r6
|
|
str lr, [ip]
|
|
str r7, [ip, #4]
|
|
add r1, r6, #0x1e
|
|
str r1, [r3, #0x60]
|
|
_02184990:
|
|
add r1, r0, #0x1000
|
|
ldr r1, [r1, #0x74]
|
|
cmp r1, #0
|
|
cmpne r1, #1
|
|
bne _02184a00
|
|
ldr r3, _02184a14 ; =data_027e0764
|
|
mov r2, #0
|
|
ldr r4, [r3]
|
|
ldmib r3, {r1, r5}
|
|
umull r7, r6, r5, r4
|
|
mla r6, r5, r1, r6
|
|
ldr r1, [r3, #0xc]
|
|
ldr r5, [r3, #0x10]
|
|
mla r6, r1, r4, r6
|
|
ldr r1, [r3, #0x14]
|
|
adds r7, r5, r7
|
|
adc r6, r1, r6
|
|
mov r1, #0xb
|
|
umull r4, r5, r6, r1
|
|
mla r5, r6, r2, r5
|
|
mla r5, r2, r1, r5
|
|
str r7, [r3]
|
|
add r1, r0, #0x1000
|
|
str r6, [r3, #4]
|
|
ldr r3, [r1, #0x60]
|
|
add r2, r5, #0x14
|
|
add r2, r3, r2
|
|
str r2, [r1, #0x60]
|
|
_02184a00:
|
|
bl func_ov38_02184744
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_02184a08:
|
|
sub r0, r1, #1
|
|
str r0, [r3, #0x60]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218487c
|
|
_02184a14: .word data_027e0764
|
|
|
|
.global func_ov38_02184a18
|
|
arm_func_start func_ov38_02184a18
|
|
func_ov38_02184a18: ; 0x02184a18
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x54
|
|
mov r4, r0
|
|
add r2, r4, #0x1000
|
|
mov r0, #1
|
|
strb r0, [r2, #0xa1]
|
|
ldrsh r0, [r2, #0x8a]
|
|
mov r3, #0
|
|
add r1, r4, #0x100
|
|
strh r0, [r2, #0x8e]
|
|
ldrsh r5, [r2, #0x8c]
|
|
add r0, sp, #0x28
|
|
strh r5, [r2, #0x90]
|
|
strh r3, [r2, #0x92]
|
|
str r3, [r2, #0x34]
|
|
ldrsh r1, [r1, #0x20]
|
|
strh r1, [r2, #0x80]
|
|
str r3, [r4, #0x12c]
|
|
bl func_ov00_020c1500
|
|
mvn r1, #0
|
|
add r0, sp, #0x28
|
|
str r1, [sp, #0x44]
|
|
str r1, [sp, #0x48]
|
|
bl func_ov00_020c3348
|
|
mvn r0, #0
|
|
add r2, r4, #0x358
|
|
add r1, sp, #4
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp]
|
|
ldr r0, _02184b98 ; =data_027e0fe8
|
|
ldr r1, _02184b9c ; =0x4c4f4e44
|
|
ldr r0, [r0]
|
|
add r3, sp, #0x28
|
|
add r2, r2, #0xc00
|
|
bl func_ov00_020c4048
|
|
ldr r0, _02184ba0 ; =data_027e0fe4
|
|
add r1, sp, #4
|
|
ldr r0, [r0]
|
|
bl func_ov00_020c3674
|
|
str r0, [r4, #0xff0]
|
|
ldr r2, _02184ba4 ; =data_027e0d0c
|
|
ldr lr, _02184ba8 ; =0x0000119a
|
|
ldr r5, [r2]
|
|
ldr r3, [r2, #4]
|
|
ldr r1, [r2, #8]
|
|
ldr ip, [r4, #0xff0]
|
|
mov r0, #2
|
|
str r0, [ip, #0x12c]
|
|
str r5, [ip, #0x7c]
|
|
str r3, [ip, #0x80]
|
|
str r1, [ip, #0x84]
|
|
str lr, [ip, #0x88]
|
|
str r1, [sp, #0x20]
|
|
ldr r1, [ip, #0x7c]
|
|
str r3, [sp, #0x1c]
|
|
str r1, [ip, #0xa8]
|
|
ldr r3, [ip, #0x80]
|
|
mov r1, #0x1400
|
|
str r3, [ip, #0xac]
|
|
ldr r3, [ip, #0x84]
|
|
add r0, r4, #0x1000
|
|
str r3, [ip, #0xb0]
|
|
str lr, [ip, #0xb4]
|
|
ldr r3, [r2]
|
|
rsb r1, r1, #0
|
|
str r3, [r4, #0x60]
|
|
ldr r3, [r2, #4]
|
|
str lr, [sp, #0x24]
|
|
str r3, [r4, #0x64]
|
|
ldr r2, [r2, #8]
|
|
str r5, [sp, #0x18]
|
|
str r2, [r4, #0x68]
|
|
ldr ip, [r4, #0x4c]
|
|
ldr r3, [r4, #0x50]
|
|
ldr r2, [r4, #0x48]
|
|
str r2, [r4, #0xfe4]
|
|
str ip, [r4, #0xfe8]
|
|
str r3, [r4, #0xfec]
|
|
ldrsh r2, [r0, #0x88]
|
|
cmp r2, r1
|
|
sublt r1, r1, #0x1400
|
|
movge r1, r2, asr #0x1
|
|
strh r1, [r0, #0x88]
|
|
ldr r2, [r4, #0xffc]
|
|
add r0, r4, #0x1000
|
|
ldr r1, [r2, #8]
|
|
ldr r4, [r0, #0x2c]
|
|
ldr r2, [r2]
|
|
ldr r3, [r0, #0x30]
|
|
add r1, r4, r1
|
|
add r2, r2, r4
|
|
mov r0, #1
|
|
bl func_02017d30
|
|
add sp, sp, #0x54
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02184a18
|
|
_02184b98: .word data_027e0fe8
|
|
_02184b9c: .word 0x4c4f4e44
|
|
_02184ba0: .word data_027e0fe4
|
|
_02184ba4: .word data_027e0d0c
|
|
_02184ba8: .word 0x0000119a
|
|
|
|
.global func_ov38_02184bac
|
|
arm_func_start func_ov38_02184bac
|
|
func_ov38_02184bac: ; 0x02184bac
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
add r2, r4, #0x1000
|
|
mov r5, #0
|
|
strb r5, [r2, #0xa1]
|
|
ldrsh r1, [r2, #0x8e]
|
|
mov ip, #2
|
|
ldr r3, _02184c88 ; =data_027e0d0c
|
|
strh r1, [r2, #0x8a]
|
|
ldrsh lr, [r2, #0x90]
|
|
mov r1, #6
|
|
strh lr, [r2, #0x8c]
|
|
str ip, [r4, #0x12c]
|
|
ldr r2, [r4, #0xff0]
|
|
strb r5, [r2, #0x118]
|
|
str r5, [r4, #0xff0]
|
|
ldr r2, [r3]
|
|
str r2, [r4, #0x60]
|
|
ldr r2, [r3, #4]
|
|
str r2, [r4, #0x64]
|
|
ldr r2, [r3, #8]
|
|
str r2, [r4, #0x68]
|
|
ldr r2, [r4, #0xfe4]
|
|
str r2, [r4, #0x48]
|
|
ldr r2, [r4, #0xfe8]
|
|
str r2, [r4, #0x4c]
|
|
ldr r2, [r4, #0xfec]
|
|
str r2, [r4, #0x50]
|
|
bl func_ov38_02185720
|
|
add ip, r4, #0x1000
|
|
mov r2, r5
|
|
strh r2, [ip, #0x9e]
|
|
add r0, r4, #0x100
|
|
ldrsh r1, [r0, #0x20]
|
|
ldrsh r0, [ip, #0x80]
|
|
cmp r1, r0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
cmp r1, #0
|
|
mov r0, r4
|
|
ble _02184c74
|
|
mov r1, #0xb
|
|
mov r3, #0x200
|
|
str r2, [ip, #0x54]
|
|
bl func_ov38_0217d570
|
|
ldr r0, _02184c8c ; =data_027e0ffc
|
|
ldr r1, _02184c90 ; =0x00000445
|
|
add r2, r4, #0x48
|
|
mov r3, r5
|
|
bl func_ov00_020ceacc
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02184c74:
|
|
bl func_ov38_0218762c
|
|
add r0, r4, #0x2c8
|
|
mov r1, #0x12
|
|
bl func_ov38_0217be60
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02184bac
|
|
_02184c88: .word data_027e0d0c
|
|
_02184c8c: .word data_027e0ffc
|
|
_02184c90: .word 0x00000445
|
|
|
|
.global func_ov38_02184c94
|
|
arm_func_start func_ov38_02184c94
|
|
func_ov38_02184c94: ; 0x02184c94
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
add r0, r5, #0x158
|
|
ldr r3, [r0]
|
|
add r2, r5, #0x394
|
|
ldr r3, [r3, #0x14]
|
|
mov r4, r1
|
|
add r1, r2, #0xc00
|
|
add r2, r5, #0x48
|
|
blx r3
|
|
add r0, r5, #0x1000
|
|
ldrb r0, [r0, #0xa5]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl func_ov38_021833f4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end func_ov38_02184c94
|
|
|
|
.global func_ov38_02184cdc
|
|
arm_func_start func_ov38_02184cdc
|
|
func_ov38_02184cdc: ; 0x02184cdc
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r1
|
|
ldr r1, _02184d04 ; =data_ov38_021892a8
|
|
mov r2, #0xc
|
|
bl func_02007908
|
|
ldr r1, _02184d08 ; =data_ov38_021892c0
|
|
mov r0, r4
|
|
mov r2, #0xc
|
|
bl func_02007908
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02184cdc
|
|
_02184d04: .word data_ov38_021892a8
|
|
_02184d08: .word data_ov38_021892c0
|
|
|
|
.global func_ov38_02184d0c
|
|
arm_func_start func_ov38_02184d0c
|
|
func_ov38_02184d0c: ; 0x02184d0c
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r0
|
|
mov r0, #0
|
|
ldr ip, _02184d60 ; =func_ov38_02184d6c
|
|
str r0, [r4]
|
|
ldr r3, _02184d64 ; =func_ov38_02184d70
|
|
add r0, r4, #4
|
|
mov r1, #4
|
|
mov r2, #0x50
|
|
str ip, [sp]
|
|
bl func_0204f614
|
|
ldr r1, _02184d68 ; =0x00000b9a
|
|
mov r0, r4
|
|
str r1, [r4, #0x224]
|
|
str r1, [r4, #0x228]
|
|
rsb r1, r1, #0x1200
|
|
str r1, [r4, #0x22c]
|
|
str r1, [r4, #0x230]
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02184d0c
|
|
_02184d60: .word func_ov38_02184d6c
|
|
_02184d64: .word func_ov38_02184d70
|
|
_02184d68: .word 0x00000b9a
|
|
|
|
.global func_ov38_02184d6c
|
|
arm_func_start func_ov38_02184d6c
|
|
func_ov38_02184d6c: ; 0x02184d6c
|
|
bx lr
|
|
arm_func_end func_ov38_02184d6c
|
|
|
|
.global func_ov38_02184d70
|
|
arm_func_start func_ov38_02184d70
|
|
func_ov38_02184d70: ; 0x02184d70
|
|
bx lr
|
|
arm_func_end func_ov38_02184d70
|
|
|
|
.global func_ov38_02184d74
|
|
arm_func_start func_ov38_02184d74
|
|
func_ov38_02184d74: ; 0x02184d74
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r3, _02184d98 ; =func_ov38_02184d6c
|
|
add r0, r4, #4
|
|
mov r1, #4
|
|
mov r2, #0x50
|
|
bl func_0204f754
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02184d74
|
|
_02184d98: .word func_ov38_02184d6c
|
|
|
|
.global func_ov38_02184d9c
|
|
arm_func_start func_ov38_02184d9c
|
|
func_ov38_02184d9c: ; 0x02184d9c
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x1c
|
|
mov sl, r0
|
|
mov r0, r2
|
|
add r2, sp, #0x10
|
|
str r3, [sp]
|
|
mov sb, r1
|
|
str r3, [sl, #0x234]
|
|
bl func_01ff9bf8
|
|
mov r0, #0x1000
|
|
mov r1, #3
|
|
mov r4, #0
|
|
bl func_01ff9b4c
|
|
ldr fp, _02184ed8 ; =data_027e0d0c
|
|
mov r5, r0
|
|
mov r7, sl
|
|
add r8, sl, #0x38
|
|
mov r6, r4
|
|
_02184de4:
|
|
ldr r1, [sb]
|
|
mov r0, r4
|
|
str r1, [r7, #0x38]
|
|
ldr r2, [sb, #4]
|
|
add r1, sp, #0x10
|
|
str r2, [r7, #0x3c]
|
|
ldr r3, [sb, #8]
|
|
mov r2, r8
|
|
str r3, [r7, #0x40]
|
|
mov r3, r8
|
|
bl func_01ff9e64
|
|
add r6, r6, #1
|
|
ldr r1, [fp, #8]
|
|
ldmia fp, {r0, r2}
|
|
str r0, [r7, #0x44]
|
|
str r2, [r7, #0x48]
|
|
str r1, [r7, #0x4c]
|
|
cmp r6, #4
|
|
add r4, r4, r5
|
|
add r7, r7, #0x50
|
|
add r8, r8, #0x50
|
|
blt _02184de4
|
|
ldr r0, _02184edc ; =0x00000133
|
|
ldr r1, [sp]
|
|
add r2, r0, #0x3200
|
|
mul r2, r1, r2
|
|
mov r1, r2, lsl #0x10
|
|
mov r1, r1, asr #0x10
|
|
add r1, r1, r1, lsr #31
|
|
mov r1, r1, lsl #0xf
|
|
mov r1, r1, lsr #0x10
|
|
mov r1, r1, asr #0x4
|
|
mov r1, r1, lsl #0x1
|
|
mov r2, r1, lsl #0x1
|
|
ldr r3, _02184ee0 ; =data_02050f54
|
|
str r0, [sl, #0x220]
|
|
mov r4, #0
|
|
add r1, r1, #1
|
|
strb r4, [sl, #0x23c]
|
|
add r0, sl, #0x200
|
|
strh r4, [r0, #0x38]
|
|
mov r1, r1, lsl #0x1
|
|
ldrsh r0, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
str r4, [sl, #0x204]
|
|
ldr r1, _02184ee4 ; =data_ov38_02189224
|
|
str r2, [sl, #0x208]
|
|
str r4, [sl, #0x20c]
|
|
str r0, [sl, #0x210]
|
|
ldr r0, [sp]
|
|
ldr r0, [r1, r0, lsl #2]
|
|
str sl, [r0, #0x208]
|
|
ldr r0, [sp]
|
|
ldr r0, [r1, r0, lsl #2]
|
|
bl func_ov29_02172e88
|
|
ldr r1, [sl, #0x234]
|
|
add r0, sl, #0x200
|
|
mov r1, r1, lsl #0xc
|
|
strh r1, [r0, #0x3a]
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02184d9c
|
|
_02184ed8: .word data_027e0d0c
|
|
_02184edc: .word 0x00000133
|
|
_02184ee0: .word data_02050f54
|
|
_02184ee4: .word data_ov38_02189224
|
|
|
|
.global func_ov38_02184ee8
|
|
arm_func_start func_ov38_02184ee8
|
|
func_ov38_02184ee8: ; 0x02184ee8
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0xd4
|
|
mov sl, r0
|
|
mov r6, r1
|
|
add r8, sp, #0xb0
|
|
add r5, sl, #4
|
|
add r3, sl, #0xf4
|
|
mov r0, r6
|
|
mov r1, r8
|
|
mov r2, #0xc
|
|
add r7, sp, #0xa4
|
|
str r3, [sp, #4]
|
|
add r4, r5, #0x50
|
|
bl func_02007908
|
|
add r0, r6, #0xc
|
|
add r1, sp, #0x98
|
|
mov r2, #0xc
|
|
bl func_02007908
|
|
add r0, r6, #0x18
|
|
mov r1, r7
|
|
mov r2, #0xc
|
|
bl func_02007908
|
|
add r0, sp, #0x98
|
|
add r1, r5, #0x10
|
|
mov r2, #0x24
|
|
bl func_02007908
|
|
add r0, r6, #0x24
|
|
add r1, r5, #0x34
|
|
mov r2, #0xc
|
|
bl func_02007908
|
|
add r2, r5, #0x34
|
|
ldr r0, _021854c8 ; =0x00000e66
|
|
mov r1, r8
|
|
mov r3, r2
|
|
bl func_01ff9e64
|
|
add r0, sl, #0x200
|
|
ldrsh r1, [r0, #0x3a]
|
|
add r1, r1, #0x500
|
|
strh r1, [r0, #0x3a]
|
|
ldr r0, [r8, #4]
|
|
ldr r1, [r8]
|
|
str r0, [sp, #0x90]
|
|
ldr r0, [r8, #8]
|
|
str r1, [sp, #0x8c]
|
|
str r0, [sp, #0x94]
|
|
ldrb r0, [sl, #0x23c]
|
|
cmp r0, #0
|
|
beq _0218500c
|
|
add r0, sl, #0x214
|
|
add r3, sp, #0x80
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
mov r0, r3
|
|
mov r2, r3
|
|
add r1, r5, #0x34
|
|
bl func_01ff9bf8
|
|
mov r1, #0
|
|
add r0, sp, #0x80
|
|
str r1, [sp, #0x84]
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
beq _0218500c
|
|
add r0, sp, #0x80
|
|
mov r1, #0x4000
|
|
bl func_ov00_020a61ac
|
|
add r0, sp, #0x80
|
|
add r1, sp, #0x8c
|
|
bl func_01ff9c2c
|
|
add r2, sp, #0x8c
|
|
rsb r0, r0, #0
|
|
add r1, sp, #0x80
|
|
mov r3, r2
|
|
bl func_01ff9e64
|
|
_0218500c:
|
|
add r0, sl, #0x200
|
|
ldrh r1, [r0, #0x3a]
|
|
ldr r0, _021854cc ; =data_02050f54
|
|
mov r2, #0
|
|
mov r1, r1, asr #0x4
|
|
mov r1, r1, lsl #0x2
|
|
ldrsh r3, [r0, r1]
|
|
mov r1, #0xcd
|
|
add r0, sp, #0x8c
|
|
mov r3, r3, lsl #0xb
|
|
mov r3, r3, asr #0xc
|
|
add r3, r3, #0x800
|
|
umull sb, r6, r3, r1
|
|
mla r6, r3, r2, r6
|
|
mov r2, r3, asr #0x1f
|
|
mla r6, r2, r1, r6
|
|
adds r3, sb, #0x800
|
|
adc r1, r6, #0
|
|
mov r2, r3, lsr #0xc
|
|
orr r2, r2, r1, lsl #20
|
|
add r1, r2, #0x33
|
|
add r1, r1, #0x100
|
|
str r1, [sl, #0x220]
|
|
bl func_01fffbec
|
|
ldr r1, [sl, #0x228]
|
|
ldr r2, _021854d0 ; =0x0000019a
|
|
add r0, sl, #0x224
|
|
mov fp, #0x2c00
|
|
mov sb, #0
|
|
bl func_0202b0f4
|
|
ldr r1, _021854d4 ; =0x00000b9a
|
|
add r0, sl, #0x22c
|
|
str r1, [sl, #0x228]
|
|
ldr r1, [sl, #0x230]
|
|
mov r2, #0xcd
|
|
bl func_0202b0f4
|
|
ldr r0, _021854d8 ; =0x00000666
|
|
str r0, [sl, #0x230]
|
|
rsb r0, r0, #0x1400
|
|
str r0, [sp, #0x10]
|
|
_021850ac:
|
|
ldr r0, [sp, #4]
|
|
mov r6, r5
|
|
mov r5, r4
|
|
cmp r4, r0
|
|
addne r4, r4, #0x50
|
|
add r0, r6, #0x34
|
|
add r1, r5, #0x34
|
|
add r2, sp, #0xc8
|
|
moveq r4, #0
|
|
bl func_01ff9bf8
|
|
add r0, sp, #0xc8
|
|
bl func_01ff9cec
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0xc8
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
bne _02185110
|
|
ldmia r8, {r0, r1}
|
|
rsb r0, r0, #0
|
|
str r0, [sp, #0xc8]
|
|
rsb r0, r1, #0
|
|
str r0, [sp, #0xcc]
|
|
ldr r0, [r8, #8]
|
|
rsb r0, r0, #0
|
|
str r0, [sp, #0xd0]
|
|
_02185110:
|
|
ldr r1, [sp, #8]
|
|
ldr r0, _021854dc ; =0xfffff156
|
|
add r1, r1, r0
|
|
add r0, sp, #0xc8
|
|
bl func_01fffbec
|
|
cmp r4, #0
|
|
beq _02185188
|
|
add r0, r4, #0x34
|
|
add r1, r5, #0x34
|
|
add r2, sp, #0xbc
|
|
bl func_01ff9bf8
|
|
add r0, sp, #0xbc
|
|
bl func_01ff9cec
|
|
str r0, [sp, #0xc]
|
|
add r0, sp, #0xbc
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
bne _02185170
|
|
ldr r1, [r8]
|
|
ldr r0, [r8, #4]
|
|
str r1, [sp, #0xbc]
|
|
str r0, [sp, #0xc0]
|
|
ldr r0, [r8, #8]
|
|
str r0, [sp, #0xc4]
|
|
_02185170:
|
|
ldr r1, [sp, #0xc]
|
|
ldr r0, _021854dc ; =0xfffff156
|
|
add r1, r1, r0
|
|
add r0, sp, #0xbc
|
|
bl func_01fffbec
|
|
b _02185198
|
|
_02185188:
|
|
mov r0, #0
|
|
str r0, [sp, #0xbc]
|
|
str r0, [sp, #0xc0]
|
|
str r0, [sp, #0xc4]
|
|
_02185198:
|
|
ldrb r0, [sl, #0x23c]
|
|
cmp r0, #0
|
|
beq _02185214
|
|
cmp sb, #0
|
|
beq _02185200
|
|
add r0, sl, #0x214
|
|
add r1, r5, #0x34
|
|
add r2, sp, #0x74
|
|
bl func_01ff9bf8
|
|
add r0, sp, #0x74
|
|
bl func_01ff9cec
|
|
sub r0, r0, fp
|
|
str r0, [sp]
|
|
add r0, sp, #0x74
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
beq _02185200
|
|
ldr r0, [sp]
|
|
mul r1, r0, sb
|
|
mov r1, r1, asr #0xc
|
|
add r0, sp, #0x74
|
|
bl func_01fffbec
|
|
add r0, r5, #0x40
|
|
add r1, sp, #0x74
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
_02185200:
|
|
ldr r0, _021854d8 ; =0x00000666
|
|
sub fp, fp, #0x1600
|
|
sub r0, r0, sb
|
|
mov r0, r0, lsl #0xb
|
|
add sb, sb, r0, asr #12
|
|
_02185214:
|
|
ldr r0, [sp, #0xcc]
|
|
ldr r1, [sp, #0xc8]
|
|
str r0, [sp, #0x6c]
|
|
ldr r0, [sp, #0xbc]
|
|
str r1, [sp, #0x68]
|
|
ldr r1, [sp, #0xd0]
|
|
str r0, [sp, #0x5c]
|
|
ldr r0, [sp, #0xc4]
|
|
str r1, [sp, #0x70]
|
|
ldr r1, [sp, #0xc0]
|
|
str r0, [sp, #0x64]
|
|
str r1, [sp, #0x60]
|
|
ldr r1, [sl, #0x22c]
|
|
add r0, sp, #0x68
|
|
bl func_01fffbec
|
|
ldr r1, [sl, #0x22c]
|
|
add r0, sp, #0x5c
|
|
bl func_01fffbec
|
|
add r0, r5, #0x40
|
|
add r1, sp, #0x68
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
add r0, r5, #0x40
|
|
add r1, sp, #0x5c
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
add r0, r5, #0x40
|
|
add r1, sp, #0x8c
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
ldr r1, [sp, #0x10]
|
|
add r0, sp, #0x8c
|
|
bl func_01fffbec
|
|
ldr r2, [r5, #0x40]
|
|
ldr r1, [sl, #0x224]
|
|
add r0, r5, #0x34
|
|
mul r1, r2, r1
|
|
mov r1, r1, asr #0xc
|
|
str r1, [r5, #0x40]
|
|
ldr r3, [r5, #0x44]
|
|
ldr r2, [sl, #0x224]
|
|
add r1, r5, #0x40
|
|
mul r2, r3, r2
|
|
mov r2, r2, asr #0xc
|
|
str r2, [r5, #0x44]
|
|
ldr ip, [r5, #0x48]
|
|
ldr r3, [sl, #0x224]
|
|
mov r2, r0
|
|
mul r3, ip, r3
|
|
mov r3, r3, asr #0xc
|
|
str r3, [r5, #0x48]
|
|
ldr r3, [r5, #0x44]
|
|
sub r3, r3, #0x14
|
|
str r3, [r5, #0x44]
|
|
bl func_01ff9bc4
|
|
ldr r1, [sl]
|
|
cmp r1, #0
|
|
beq _02185304
|
|
mov r0, r5
|
|
blx r1
|
|
_02185304:
|
|
cmp r4, #0
|
|
beq _02185378
|
|
add r1, r6, #0x34
|
|
add r0, r4, #0x34
|
|
mov r2, r8
|
|
bl func_01ff9bf8
|
|
mov r0, r8
|
|
bl func_01fffb4c
|
|
cmp r0, #0
|
|
beq _021854ac
|
|
mov r0, r8
|
|
add r1, sp, #0x98
|
|
mov r2, r7
|
|
bl func_01ff9c68
|
|
mov r0, r7
|
|
mov r1, r7
|
|
bl func_01ff9d4c
|
|
mov r0, r7
|
|
mov r1, r8
|
|
add r2, sp, #0x98
|
|
bl func_01ff9c68
|
|
add r0, sp, #0x98
|
|
mov r1, r0
|
|
bl func_01ff9d4c
|
|
add r0, sp, #0x98
|
|
add r1, r5, #0x10
|
|
mov r2, #0x24
|
|
bl func_02007908
|
|
b _021854ac
|
|
_02185378:
|
|
ldrb r0, [sl, #0x23c]
|
|
cmp r0, #0
|
|
beq _021853bc
|
|
mov r0, #0
|
|
str r0, [r8]
|
|
mov r0, #0x1000
|
|
str r0, [r8, #4]
|
|
mov r0, #0
|
|
str r0, [r8, #8]
|
|
mov r0, r8
|
|
add r1, sp, #0x98
|
|
mov r2, r7
|
|
bl func_01ff9c68
|
|
mov r0, r7
|
|
mov r1, r7
|
|
bl func_01ff9d4c
|
|
b _021853e8
|
|
_021853bc:
|
|
add r1, r6, #0x34
|
|
add r0, r5, #0x34
|
|
mov r2, r8
|
|
bl func_01ff9bf8
|
|
mov r0, r8
|
|
add r1, sp, #0x98
|
|
mov r2, r7
|
|
bl func_01ff9c68
|
|
mov r0, r7
|
|
mov r1, r7
|
|
bl func_01ff9d4c
|
|
_021853e8:
|
|
mov r0, #0
|
|
str r0, [sp, #0x4c]
|
|
str r0, [sp, #0x50]
|
|
str r0, [sp, #0x54]
|
|
mov r0, #0x1000
|
|
str r0, [sp, #0x58]
|
|
ldr r1, [r5, #0x1c]
|
|
add r0, sp, #0x2c
|
|
str r1, [sp, #0x20]
|
|
ldr r2, [r5, #0x20]
|
|
add r1, sp, #0x20
|
|
str r2, [sp, #0x24]
|
|
ldr r3, [r5, #0x24]
|
|
mov r2, r7
|
|
str r3, [sp, #0x28]
|
|
bl func_ov00_020d5f98
|
|
add r0, sp, #0x2c
|
|
add r1, sp, #0x4c
|
|
mov r2, #0xc00
|
|
bl func_ov00_020d59f0
|
|
ldr r1, [r5, #0x28]
|
|
add r0, sp, #0x3c
|
|
str r1, [sp, #0x14]
|
|
ldr r2, [r5, #0x2c]
|
|
add r1, sp, #0x14
|
|
str r2, [sp, #0x18]
|
|
ldr r3, [r5, #0x30]
|
|
mov r2, r8
|
|
str r3, [sp, #0x1c]
|
|
bl func_ov00_020d5f98
|
|
add r0, sp, #0x3c
|
|
add r1, sp, #0x4c
|
|
mov r2, #0xc00
|
|
bl func_ov00_020d59f0
|
|
add r0, sl, #0x204
|
|
add r1, sp, #0x2c
|
|
bl func_ov00_020d5eac
|
|
add r0, sl, #0x204
|
|
add r1, sp, #0x3c
|
|
bl func_ov00_020d5eac
|
|
add r0, sl, #0x204
|
|
bl func_ov00_020d5c54
|
|
add r0, sl, #0x204
|
|
add r1, r5, #0x10
|
|
bl func_ov00_020d5cd8
|
|
ldr r1, [sl, #0x234]
|
|
ldr r0, _021854e0 ; =data_ov38_02189224
|
|
ldr r0, [r0, r1, lsl #2]
|
|
bl func_ov29_02172bc0
|
|
_021854ac:
|
|
ldr r0, [sp, #4]
|
|
cmp r5, r0
|
|
bne _021850ac
|
|
mov r0, #0
|
|
strb r0, [sl, #0x23c]
|
|
add sp, sp, #0xd4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02184ee8
|
|
_021854c8: .word 0x00000e66
|
|
_021854cc: .word data_02050f54
|
|
_021854d0: .word 0x0000019a
|
|
_021854d4: .word 0x00000b9a
|
|
_021854d8: .word 0x00000666
|
|
_021854dc: .word 0xfffff156
|
|
_021854e0: .word data_ov38_02189224
|
|
|
|
.global func_ov38_021854e4
|
|
arm_func_start func_ov38_021854e4
|
|
func_ov38_021854e4: ; 0x021854e4
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x18
|
|
mov r4, r0
|
|
mov r0, #1
|
|
strb r0, [r4, #0x23c]
|
|
ldr r2, [r4, #0x128]
|
|
add r0, sp, #0
|
|
str r2, [r4, #0x214]
|
|
ldr r3, [r4, #0x12c]
|
|
add r2, sp, #0xc
|
|
str r3, [r4, #0x218]
|
|
ldr r3, [r4, #0x130]
|
|
str r3, [r4, #0x21c]
|
|
ldr r3, [r1]
|
|
str r3, [sp]
|
|
ldr r3, [r1, #4]
|
|
str r3, [sp, #4]
|
|
ldr r3, [r1, #8]
|
|
add r1, r4, #0x214
|
|
str r3, [sp, #8]
|
|
bl func_01ff9bf8
|
|
add r0, sp, #0xc
|
|
mov r1, #0xc00
|
|
bl func_01fffbec
|
|
add r0, sp, #0xc
|
|
bl func_01ff9cec
|
|
mov r1, r0
|
|
cmp r1, #0x800
|
|
ble _0218556c
|
|
mov r0, #0x800
|
|
bl func_01ff98e0
|
|
mov r1, r0
|
|
add r0, sp, #0xc
|
|
bl func_01fffbec
|
|
_0218556c:
|
|
add r0, r4, #0x214
|
|
add r1, sp, #0xc
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov38_021854e4
|
|
|
|
.global func_ov38_02185584
|
|
arm_func_start func_ov38_02185584
|
|
func_ov38_02185584: ; 0x02185584
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021855c0 ; =data_ov29_0217a4ac
|
|
bl func_ov09_021136c4
|
|
cmp r0, #0
|
|
beq _021855ac
|
|
ldr r1, _021855c4 ; =data_ov38_021891e0
|
|
ldr r0, [r1, #0xb8]
|
|
ldr r1, [r1, #0xb4]
|
|
bl func_01ffa94c
|
|
ldmia sp!, {r3, pc}
|
|
_021855ac:
|
|
ldr r1, _021855c4 ; =data_ov38_021891e0
|
|
ldr r0, [r1, #0x9c]
|
|
ldr r1, [r1, #0x98]
|
|
bl func_01ffa94c
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02185584
|
|
_021855c0: .word data_ov29_0217a4ac
|
|
_021855c4: .word data_ov38_021891e0
|
|
|
|
.global func_ov38_021855c8
|
|
arm_func_start func_ov38_021855c8
|
|
func_ov38_021855c8: ; 0x021855c8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x38
|
|
add sb, r0, #4
|
|
mov r3, #2
|
|
add r1, sp, #4
|
|
mov r0, #0x10
|
|
mov r2, #1
|
|
str r3, [sp, #4]
|
|
bl func_01ffa9fc
|
|
mov r1, #0
|
|
mov r2, r1
|
|
mov r0, #0x11
|
|
bl func_01ffa9fc
|
|
mov sl, #0
|
|
ldr r8, _02185688 ; =data_027e03c8
|
|
add r7, sp, #8
|
|
mov r6, #0x17
|
|
mov r5, #0xc
|
|
mov r4, #0x11
|
|
mov fp, sl
|
|
_02185618:
|
|
mov r1, r8
|
|
mov r2, r7
|
|
add r0, sb, #0x10
|
|
bl func_0202de3c
|
|
mov r0, r6
|
|
mov r1, r7
|
|
mov r2, r5
|
|
bl func_01ffa9fc
|
|
mov r0, r4
|
|
mov r1, fp
|
|
mov r2, fp
|
|
bl func_01ffa9fc
|
|
add sl, sl, #1
|
|
cmp sl, #4
|
|
add sb, sb, #0x50
|
|
blt _02185618
|
|
mov r3, #4
|
|
add r1, sp, #0
|
|
mov r0, #0x12
|
|
mov r2, #1
|
|
str r3, [sp]
|
|
bl func_01ffa9fc
|
|
ldr r1, _0218568c ; =data_ov38_021891e0
|
|
ldr r0, [r1, #0x80]
|
|
ldr r1, [r1, #0x7c]
|
|
bl func_01ffa94c
|
|
add sp, sp, #0x38
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021855c8
|
|
_02185688: .word data_027e03c8
|
|
_0218568c: .word data_ov38_021891e0
|
|
|
|
.global func_ov38_02185690
|
|
arm_func_start func_ov38_02185690
|
|
func_ov38_02185690: ; 0x02185690
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0x14
|
|
mov ip, #0x800
|
|
ldr r4, [r0, #8]
|
|
ldr lr, [r0]
|
|
rsb ip, ip, #0
|
|
add r1, sp, #8
|
|
mov r0, #3
|
|
mov r2, #0x1800
|
|
mov r3, #0
|
|
str lr, [sp, #8]
|
|
str ip, [sp, #0xc]
|
|
str r4, [sp, #0x10]
|
|
bl func_ov00_020c7508
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02185718 ; =data_027e0e58
|
|
add r2, sp, #8
|
|
ldr r0, [r0]
|
|
mov r1, #0x1e8
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02185718 ; =data_027e0e58
|
|
ldr r1, _0218571c ; =0x00001002
|
|
ldr r0, [r0]
|
|
add r2, sp, #8
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02185690
|
|
_02185718: .word data_027e0e58
|
|
_0218571c: .word 0x00001002
|
|
|
|
.global func_ov38_02185720
|
|
arm_func_start func_ov38_02185720
|
|
func_ov38_02185720: ; 0x02185720
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r2, r4, #0x100
|
|
ldrsh r2, [r2, #0x20]
|
|
cmp r2, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r2, r4, #0x1000
|
|
ldrsh r3, [r2, #0x9c]
|
|
cmp r1, r3
|
|
ldmltia sp!, {r4, pc}
|
|
strh r1, [r2, #0x9c]
|
|
ldrsh r1, [r2, #0x9c]
|
|
cmp r1, #9
|
|
addls pc, pc, r1, lsl #2
|
|
ldmia sp!, {r4, pc}
|
|
_0218575c: ; jump table
|
|
ldmia sp!, {r4, pc} ; case 0
|
|
b _02185784 ; case 1
|
|
ldmia sp!, {r4, pc} ; case 2
|
|
b _02185790 ; case 3
|
|
ldmia sp!, {r4, pc} ; case 4
|
|
b _021857e0 ; case 5
|
|
b _0218580c ; case 6
|
|
ldmia sp!, {r4, pc} ; case 7
|
|
ldmia sp!, {r4, pc} ; case 8
|
|
b _02185818 ; case 9
|
|
_02185784:
|
|
ldr r0, _02185824 ; =0x00000708
|
|
strh r0, [r2, #0x9a]
|
|
ldmia sp!, {r4, pc}
|
|
_02185790:
|
|
ldr r0, [r2, #0x78]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, _02185828 ; =data_027e0e60
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
bl func_ov00_02084be0
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #8
|
|
mov r2, #1
|
|
mov r3, #3
|
|
bl func_ov38_02185a70
|
|
add r0, r4, #0x1000
|
|
ldrsh r1, [r0, #0x9c]
|
|
add r1, r1, #1
|
|
strh r1, [r0, #0x9c]
|
|
ldmia sp!, {r4, pc}
|
|
_021857e0:
|
|
mov r1, #8
|
|
mov r2, #3
|
|
mov r3, #6
|
|
bl func_ov38_02185a70
|
|
add r0, r4, #0x1000
|
|
mov r2, #0
|
|
strh r2, [r0, #0x9e]
|
|
ldr r1, _0218582c ; =data_ov29_0217a4ac
|
|
mov r0, #1
|
|
strb r0, [r1, #0x56]
|
|
ldmia sp!, {r4, pc}
|
|
_0218580c:
|
|
mov r0, #0x1e
|
|
strh r0, [r2, #0x9a]
|
|
ldmia sp!, {r4, pc}
|
|
_02185818:
|
|
mov r0, #0x5a
|
|
strh r0, [r2, #0x9a]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02185720
|
|
_02185824: .word 0x00000708
|
|
_02185828: .word data_027e0e60
|
|
_0218582c: .word data_ov29_0217a4ac
|
|
|
|
.global func_ov38_02185830
|
|
arm_func_start func_ov38_02185830
|
|
func_ov38_02185830: ; 0x02185830
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r1, r4, #0x1000
|
|
ldrsh r2, [r1, #0x9c]
|
|
cmp r2, #9
|
|
addls pc, pc, r2, lsl #2
|
|
ldmia sp!, {r4, pc}
|
|
_0218584c: ; jump table
|
|
ldmia sp!, {r4, pc} ; case 0
|
|
b _02185874 ; case 1
|
|
ldmia sp!, {r4, pc} ; case 2
|
|
ldmia sp!, {r4, pc} ; case 3
|
|
b _021858ac ; case 4
|
|
b _021858f0 ; case 5
|
|
b _02185934 ; case 6
|
|
b _02185968 ; case 7
|
|
b _02185984 ; case 8
|
|
b _021859e4 ; case 9
|
|
_02185874:
|
|
ldrsh r2, [r1, #0x9a]
|
|
cmp r2, #0
|
|
subne r0, r2, #1
|
|
strneh r0, [r1, #0x9a]
|
|
ldmneia sp!, {r4, pc}
|
|
mov r1, #8
|
|
mov r2, r1
|
|
mov r3, #0
|
|
bl func_ov38_02185a70
|
|
add r0, r4, #0x1000
|
|
ldrsh r1, [r0, #0x9c]
|
|
add r1, r1, #1
|
|
strh r1, [r0, #0x9c]
|
|
ldmia sp!, {r4, pc}
|
|
_021858ac:
|
|
ldr r0, [r4, #0x2d8]
|
|
cmp r0, #0x10
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, _02185a64 ; =data_027e0e60
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
bl func_ov00_02084be0
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r4, #0xff8]
|
|
ldr r1, [r0, #0x3b8]
|
|
cmp r1, #0
|
|
ldmneia sp!, {r4, pc}
|
|
mov r1, #0
|
|
bl func_ov29_021772f8
|
|
ldmia sp!, {r4, pc}
|
|
_021858f0:
|
|
ldr r0, _02185a64 ; =data_027e0e60
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
bl func_ov00_02084be0
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, _02185a64 ; =data_027e0e60
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl func_ov00_02084b38
|
|
ldr r0, _02185a68 ; =data_ov29_0217a4ac
|
|
mov r1, #0
|
|
strb r1, [r0, #0x56]
|
|
ldmia sp!, {r4, pc}
|
|
_02185934:
|
|
ldrsh r2, [r1, #0x9a]
|
|
cmp r2, #0
|
|
subne r0, r2, #1
|
|
strneh r0, [r1, #0x9a]
|
|
ldmneia sp!, {r4, pc}
|
|
mov r1, #8
|
|
mov r2, #4
|
|
mov r3, #0
|
|
bl func_ov38_02185a70
|
|
mov r0, r4
|
|
mov r1, #9
|
|
bl func_ov38_02185720
|
|
ldmia sp!, {r4, pc}
|
|
_02185968:
|
|
ldr r1, [r4, #0xff8]
|
|
ldr r1, [r1, #0x3b8]
|
|
cmp r1, #0
|
|
ldmneia sp!, {r4, pc}
|
|
mov r1, #9
|
|
bl func_ov38_02185720
|
|
ldmia sp!, {r4, pc}
|
|
_02185984:
|
|
ldr r0, _02185a64 ; =data_027e0e60
|
|
mov r1, #5
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
bl func_ov00_02084be0
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r4, #0xff8]
|
|
ldr r1, [r0, #0x3b8]
|
|
cmp r1, #0
|
|
ldmneia sp!, {r4, pc}
|
|
mov r1, #0
|
|
bl func_ov29_021772f8
|
|
ldr r0, _02185a64 ; =data_027e0e60
|
|
mov r1, #5
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl func_ov00_02084b38
|
|
add r0, r4, #0x1000
|
|
ldrsh r1, [r0, #0x9c]
|
|
sub r1, r1, #1
|
|
strh r1, [r0, #0x9c]
|
|
ldmia sp!, {r4, pc}
|
|
_021859e4:
|
|
ldr r0, _02185a6c ; =data_027e0fb4
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, #0xba]
|
|
cmp r0, #0
|
|
ldreq r0, [r4, #0xff8]
|
|
ldreq r0, [r0, #0x3b8]
|
|
cmpeq r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldrsh r0, [r1, #0x9a]
|
|
cmp r0, #0
|
|
bne _02185a58
|
|
ldr r0, [r4, #0x2d8]
|
|
cmp r0, #0x10
|
|
ldmneia sp!, {r4, pc}
|
|
mov r0, #8
|
|
mov r1, #5
|
|
mov r2, #1
|
|
bl func_ov38_0217bf0c
|
|
ldr r0, _02185a64 ; =data_027e0e60
|
|
mov r2, #1
|
|
ldr r0, [r0]
|
|
mov r3, r2
|
|
mov r1, #5
|
|
bl func_ov00_02084b38
|
|
add r0, r4, #0x1000
|
|
ldrsh r1, [r0, #0x9c]
|
|
sub r1, r1, #1
|
|
strh r1, [r0, #0x9c]
|
|
ldmia sp!, {r4, pc}
|
|
_02185a58:
|
|
sub r0, r0, #1
|
|
strh r0, [r1, #0x9a]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02185830
|
|
_02185a64: .word data_027e0e60
|
|
_02185a68: .word data_ov29_0217a4ac
|
|
_02185a6c: .word data_027e0fb4
|
|
|
|
.global func_ov38_02185a70
|
|
arm_func_start func_ov38_02185a70
|
|
func_ov38_02185a70: ; 0x02185a70
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x38
|
|
mov r7, r0
|
|
add r0, sp, #0xc
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl func_ov00_020c1500
|
|
mvn r1, #0
|
|
add r0, sp, #0xc
|
|
str r1, [sp, #0x28]
|
|
str r1, [sp, #0x2c]
|
|
bl func_ov00_020c3348
|
|
add r0, r5, r6, lsl #16
|
|
str r0, [sp, #0x1c]
|
|
mvn r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #1
|
|
strb r0, [sp, #0x15]
|
|
strb r4, [sp, #0x17]
|
|
add r1, sp, #4
|
|
str r1, [sp]
|
|
ldr r0, _02185b08 ; =data_027e0fe8
|
|
ldr r1, _02185b0c ; =0x4e4d5347
|
|
ldr r0, [r0]
|
|
add r2, r7, #0x48
|
|
add r3, sp, #0xc
|
|
bl func_ov00_020c4048
|
|
ldr r0, _02185b10 ; =data_ov29_0217a4ac
|
|
ldrb r1, [r0, #0x54]
|
|
cmp r1, #0
|
|
addeq sp, sp, #0x38
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r1, #0
|
|
bl func_ov29_0216d930
|
|
add sp, sp, #0x38
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02185a70
|
|
_02185b08: .word data_027e0fe8
|
|
_02185b0c: .word 0x4e4d5347
|
|
_02185b10: .word data_ov29_0217a4ac
|
|
|
|
.global func_ov38_02185b14
|
|
arm_func_start func_ov38_02185b14
|
|
func_ov38_02185b14: ; 0x02185b14
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x44
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, r3
|
|
bl func_ov38_0217e4e0
|
|
add r0, sp, #0x18
|
|
bl func_ov00_020c1500
|
|
mvn r0, #0
|
|
str r0, [sp, #0x34]
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x18
|
|
bl func_ov00_020c3348
|
|
add r0, r5, r6, lsl #16
|
|
str r0, [sp, #0x28]
|
|
mvn r0, #0
|
|
strb r4, [sp, #0x23]
|
|
add r4, r7, #0x1000
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #1
|
|
strb r0, [sp, #0x21]
|
|
ldrsh r1, [r4, #0x94]
|
|
ldr r0, _02185c38 ; =data_027e0f94
|
|
add r8, sp, #0xc
|
|
sub r1, r1, #0x8000
|
|
strh r1, [sp, #0x2c]
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r8, {r0, r1, r2}
|
|
mov r2, r8
|
|
ldrh r8, [r4, #0x94]
|
|
ldr lr, [sp, #0x10]
|
|
ldr ip, _02185c3c ; =data_02050f54
|
|
mov r8, r8, asr #0x4
|
|
mov r8, r8, lsl #0x2
|
|
add lr, lr, #0xcd
|
|
add lr, lr, #0xc00
|
|
ldrsh r8, [ip, r8]
|
|
mov r5, #0x1800
|
|
ldr r1, [sp, #0xc]
|
|
smulbb r8, r8, r5
|
|
add r8, r8, #0x800
|
|
add r1, r1, r8, asr #12
|
|
str r1, [sp, #0xc]
|
|
str lr, [sp, #0x10]
|
|
ldrh r4, [r4, #0x94]
|
|
ldr r0, [sp, #0x14]
|
|
add r7, sp, #4
|
|
mov r4, r4, asr #0x4
|
|
mov r4, r4, lsl #0x1
|
|
add r4, r4, #1
|
|
mov r4, r4, lsl #0x1
|
|
ldrsh r4, [ip, r4]
|
|
ldr r6, _02185c40 ; =data_027e0fe8
|
|
ldr r1, _02185c44 ; =0x444d534f
|
|
smulbb r4, r4, r5
|
|
add r4, r4, #0x800
|
|
add r0, r0, r4, asr #12
|
|
str r0, [sp, #0x14]
|
|
str r7, [sp]
|
|
ldr r0, [r6]
|
|
add r3, sp, #0x18
|
|
bl func_ov00_020c4048
|
|
ldr r0, _02185c48 ; =data_ov29_0217a4ac
|
|
ldrb r1, [r0, #0x54]
|
|
cmp r1, #0
|
|
addeq sp, sp, #0x44
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
mov r1, #0
|
|
bl func_ov29_0216d930
|
|
add sp, sp, #0x44
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02185b14
|
|
_02185c38: .word data_027e0f94
|
|
_02185c3c: .word data_02050f54
|
|
_02185c40: .word data_027e0fe8
|
|
_02185c44: .word 0x444d534f
|
|
_02185c48: .word data_ov29_0217a4ac
|
|
|
|
.global func_ov38_02185c4c
|
|
arm_func_start func_ov38_02185c4c
|
|
func_ov38_02185c4c: ; 0x02185c4c
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
ldr r2, _02185d30 ; =data_027e0f64
|
|
mov r8, r0
|
|
ldr r0, [r2]
|
|
mov r7, r1
|
|
ldr r0, [r0, #4]
|
|
mov r1, r8
|
|
bl func_ov00_02087d34
|
|
ldr r0, _02185d30 ; =data_027e0f64
|
|
ldr r2, _02185d34 ; =data_02050f54
|
|
ldr r1, [r0]
|
|
mov r0, #0x53
|
|
ldr r3, [r1, #4]
|
|
ldr r1, [r3, #0x26c]
|
|
str r1, [r7]
|
|
ldr r1, [r3, #0x270]
|
|
str r1, [r7, #4]
|
|
ldr r1, [r3, #0x274]
|
|
str r1, [r7, #8]
|
|
ldr r1, [r8, #0x14]
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, lsr #0x10
|
|
mov r1, r1, asr #0x4
|
|
mov r3, r1, lsl #0x1
|
|
add r1, r3, #1
|
|
mov r1, r1, lsl #0x1
|
|
mov r3, r3, lsl #0x1
|
|
ldrsh r5, [r2, r1]
|
|
ldrsh r4, [r2, r3]
|
|
bl func_ov00_02087d84
|
|
ldr r6, [r0, #0x24]
|
|
mov r0, #0x53
|
|
bl func_ov00_02087d84
|
|
ldr ip, [r0, #0x1c]
|
|
mul r0, r6, r5
|
|
mul r3, ip, r4
|
|
add r2, r0, #0x800
|
|
mul r0, r6, r4
|
|
mul r1, ip, r5
|
|
add r0, r0, #0x800
|
|
add r3, r3, #0x800
|
|
mov r2, r2, asr #0xc
|
|
ldr r4, [r7]
|
|
rsb r2, r2, r3, asr #12
|
|
sub r2, r4, r2
|
|
str r2, [r7]
|
|
ldr r3, [r7, #4]
|
|
ldr r2, [r8, #0x20]
|
|
add r1, r1, #0x800
|
|
sub r2, r3, r2
|
|
str r2, [r7, #4]
|
|
mov r0, r0, asr #0xc
|
|
ldr r2, [r7, #8]
|
|
add r0, r0, r1, asr #12
|
|
sub r0, r2, r0
|
|
str r0, [r7, #8]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02185c4c
|
|
_02185d30: .word data_027e0f64
|
|
_02185d34: .word data_02050f54
|
|
|
|
.global func_ov38_02185d38
|
|
arm_func_start func_ov38_02185d38
|
|
func_ov38_02185d38: ; 0x02185d38
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0xc
|
|
ldr ip, [r1, #0xc]
|
|
ldr r5, [r2, #0xc]
|
|
mov r4, r0
|
|
sub r0, r5, ip
|
|
smull r6, r5, r0, r4
|
|
adds r6, r6, #0x800
|
|
adc r0, r5, #0
|
|
mov r5, r6, lsr #0xc
|
|
orr r5, r5, r0, lsl #20
|
|
add r0, ip, r5
|
|
str r0, [r3, #0xc]
|
|
ldr lr, [r1, #0x10]
|
|
ldr r5, [r2, #0x10]
|
|
ldr r0, [sp, #0x24]
|
|
sub r5, r5, lr
|
|
smull ip, r6, r5, r4
|
|
adds ip, ip, #0x800
|
|
adc r5, r6, #0
|
|
mov r6, ip, lsr #0xc
|
|
orr r6, r6, r5, lsl #20
|
|
add r5, lr, r6
|
|
str r5, [r3, #0x10]
|
|
ldr lr, [r1, #0x18]
|
|
ldr r5, [r2, #0x18]
|
|
sub r5, r5, lr
|
|
smull ip, r6, r5, r4
|
|
adds ip, ip, #0x800
|
|
adc r5, r6, #0
|
|
mov r6, ip, lsr #0xc
|
|
orr r6, r6, r5, lsl #20
|
|
add r5, lr, r6
|
|
str r5, [r3, #0x18]
|
|
ldr r6, [r1, #0x20]
|
|
ldr r5, [r2, #0x20]
|
|
sub r5, r5, r6
|
|
smull lr, ip, r5, r4
|
|
adds lr, lr, #0x800
|
|
adc r5, ip, #0
|
|
mov ip, lr, lsr #0xc
|
|
orr ip, ip, r5, lsl #20
|
|
add r5, r6, ip
|
|
str r5, [r3, #0x20]
|
|
ldr r5, [r1, #0x1c]
|
|
ldr r2, [r2, #0x1c]
|
|
ldr r1, [sp, #0x20]
|
|
sub r2, r2, r5
|
|
smull lr, ip, r2, r4
|
|
adds lr, lr, #0x800
|
|
adc r2, ip, #0
|
|
mov ip, lr, lsr #0xc
|
|
orr ip, ip, r2, lsl #20
|
|
add ip, r5, ip
|
|
add r2, sp, #0
|
|
str ip, [r3, #0x1c]
|
|
bl func_01ff9bf8
|
|
ldr r2, [sp, #0x20]
|
|
ldr r3, [sp, #0x28]
|
|
mov r0, r4
|
|
add r1, sp, #0
|
|
bl func_01ff9e64
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
arm_func_end func_ov38_02185d38
|
|
|
|
.global func_ov38_02185e38
|
|
arm_func_start func_ov38_02185e38
|
|
func_ov38_02185e38: ; 0x02185e38
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0xb0
|
|
ldr r1, _02185eb0 ; =data_ov38_021891e0
|
|
mov r2, #0
|
|
mov r4, r0
|
|
str r2, [r1, #0x20c]
|
|
add r0, sp, #0
|
|
str r2, [r1, #0x210]
|
|
bl func_ov00_0209a4f4
|
|
mov r2, #0
|
|
ldr r0, _02185eb4 ; =data_027e0f74
|
|
mvn ip, #0
|
|
mov r3, #0x32
|
|
ldr r0, [r0]
|
|
add r1, sp, #0
|
|
str ip, [sp, #4]
|
|
strb r3, [sp, #9]
|
|
strb r2, [sp, #0xa]
|
|
strb r2, [sp, #0xb]
|
|
bl func_ov00_02097810
|
|
str r0, [r4, #0x2e8]
|
|
ldr r1, _02185eb8 ; =data_ov38_02188ca0
|
|
add r0, sp, #0
|
|
ldr r2, [r1, #0x250]
|
|
ldr r1, [r1, #0x254]
|
|
str r2, [r4, #0x2e0]
|
|
str r1, [r4, #0x2e4]
|
|
bl func_ov00_0209a508
|
|
add sp, sp, #0xb0
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02185e38
|
|
_02185eb0: .word data_ov38_021891e0
|
|
_02185eb4: .word data_027e0f74
|
|
_02185eb8: .word data_ov38_02188ca0
|
|
|
|
.global func_ov38_02185ebc
|
|
arm_func_start func_ov38_02185ebc
|
|
func_ov38_02185ebc: ; 0x02185ebc
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x154
|
|
ldr r1, _02186a10 ; =data_ov38_021891e0
|
|
mov r4, r0
|
|
ldr r2, [r1, #0x20c]
|
|
cmp r2, #6
|
|
addls pc, pc, r2, lsl #2
|
|
b _021869dc
|
|
_02185edc: ; jump table
|
|
b _02185ef8 ; case 0
|
|
b _021862c8 ; case 1
|
|
b _02186350 ; case 2
|
|
b _021863e4 ; case 3
|
|
b _0218660c ; case 4
|
|
b _02186738 ; case 5
|
|
b _02186914 ; case 6
|
|
_02185ef8:
|
|
ldr r0, [r1, #0x210]
|
|
add r0, r0, #1
|
|
str r0, [r1, #0x210]
|
|
cmp r0, #0x82
|
|
ble _02185f3c
|
|
ldr r0, _02186a14 ; =data_027e0e60
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
mov r2, r1
|
|
mov r3, r1
|
|
bl func_ov00_02084b38
|
|
ldr r0, _02186a10 ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
ldr r2, [r0, #0x20c]
|
|
add r2, r2, #1
|
|
str r2, [r0, #0x20c]
|
|
str r1, [r0, #0x210]
|
|
_02185f3c:
|
|
ldr r0, _02186a10 ; =data_ov38_021891e0
|
|
ldr r3, [r0, #0x210]
|
|
cmp r3, #0x14
|
|
bne _02185f5c
|
|
mov r2, #0
|
|
ldr r1, _02186a18 ; =0x00000ccd
|
|
str r2, [r0, #0x10c]
|
|
str r1, [r0, #0x110]
|
|
_02185f5c:
|
|
cmp r3, #0x2d
|
|
bne _02186144
|
|
ldr r0, _02186a1c ; =data_027e0f94
|
|
ldr r1, _02186a10 ; =data_ov38_021891e0
|
|
ldr ip, [r0]
|
|
ldr r5, [r0, #4]
|
|
str ip, [r1, #0x21c]
|
|
str r5, [r1, #0x220]
|
|
ldr r2, [r0, #8]
|
|
ldr r0, _02186a20 ; =data_027e0fc8
|
|
str r2, [r1, #0x224]
|
|
sub r3, r2, #0x1800
|
|
ldr r0, [r0]
|
|
ldr r2, _02186a24 ; =0x00000333
|
|
add r1, sp, #0x98
|
|
str ip, [sp, #0x98]
|
|
str r5, [sp, #0x9c]
|
|
str r3, [sp, #0xa0]
|
|
bl func_ov00_020bcf50
|
|
add r0, sp, #0xa4
|
|
bl func_ov00_0209a4f4
|
|
ldr r0, _02186a28 ; =data_027e0f64
|
|
mov r2, #0x32
|
|
mov r1, #2
|
|
mov r5, #1
|
|
mvn r3, #0
|
|
strb r1, [sp, #0xae]
|
|
ldr r0, [r0]
|
|
strb r2, [sp, #0xad]
|
|
strb r5, [sp, #0xaf]
|
|
str r3, [sp, #0xa8]
|
|
ldr r3, [r0, #4]
|
|
ldr r0, _02186a2c ; =data_ov38_02189360
|
|
ldr r2, [r3, #0x26c]
|
|
ldr r1, _02186a30 ; =data_ov38_021893d4
|
|
str r2, [sp, #0xc4]
|
|
ldr r2, [r3, #0x270]
|
|
str r2, [sp, #0xc8]
|
|
ldr r2, [r3, #0x274]
|
|
str r2, [sp, #0xcc]
|
|
strb r5, [sp, #0xb8]
|
|
bl func_ov38_02185c4c
|
|
ldr r2, _02186a10 ; =data_ov38_021891e0
|
|
ldr r0, [r2, #0x1f4]
|
|
str r0, [r2, #0x1e8]
|
|
ldr r0, [r2, #0x1f8]
|
|
str r0, [r2, #0x1ec]
|
|
ldr r0, [r2, #0x1fc]
|
|
str r0, [r2, #0x1f0]
|
|
ldr r0, [r2, #0x180]
|
|
str r0, [sp, #0xd0]
|
|
ldr r0, [r2, #0x184]
|
|
str r0, [sp, #0xd4]
|
|
ldr r0, [r2, #0x188]
|
|
str r0, [sp, #0xd8]
|
|
ldr r0, [r2, #0x18c]
|
|
str r0, [sp, #0xdc]
|
|
ldr r0, [r2, #0x190]
|
|
str r0, [sp, #0xe0]
|
|
ldr r0, [r2, #0x194]
|
|
str r0, [sp, #0xe4]
|
|
ldr r0, [r2, #0x198]
|
|
str r0, [sp, #0xe8]
|
|
ldr r0, [r2, #0x19c]
|
|
str r0, [sp, #0xec]
|
|
ldr r0, [r2, #0x1a0]
|
|
str r0, [sp, #0xf0]
|
|
ldr r0, [r2, #0x1a4]
|
|
str r0, [sp, #0xf4]
|
|
ldr r0, [r2, #0x1a8]
|
|
str r0, [sp, #0xf8]
|
|
ldr r0, [r2, #0x1ac]
|
|
str r0, [sp, #0xfc]
|
|
ldr r0, [r2, #0x1b0]
|
|
str r0, [sp, #0x100]
|
|
ldr r0, [r2, #0x1b4]
|
|
str r0, [sp, #0x104]
|
|
ldr r0, [r2, #0x1b8]
|
|
str r0, [sp, #0x108]
|
|
ldr r0, [r2, #0x1bc]
|
|
str r0, [sp, #0x10c]
|
|
ldr r0, [r2, #0x1c0]
|
|
str r0, [sp, #0x110]
|
|
ldr r0, [r2, #0x1c4]
|
|
str r0, [sp, #0x114]
|
|
ldr r0, [r2, #0x1c8]
|
|
str r0, [sp, #0x118]
|
|
ldr r0, [r2, #0x1cc]
|
|
str r0, [sp, #0x11c]
|
|
ldr r0, [r2, #0x1d0]
|
|
str r0, [sp, #0x120]
|
|
ldr r0, [r2, #0x1d4]
|
|
str r0, [sp, #0x124]
|
|
ldr r1, [r2, #0x1d8]
|
|
ldr r0, _02186a34 ; =data_027e0f74
|
|
str r1, [sp, #0x128]
|
|
ldr r1, [r2, #0x1dc]
|
|
ldr r0, [r0]
|
|
str r1, [sp, #0x12c]
|
|
ldrb r5, [r2, #0x1e0]
|
|
mov r3, #4
|
|
add r1, sp, #0xa4
|
|
strb r5, [sp, #0x130]
|
|
ldrb r5, [r2, #0x1e1]
|
|
strb r5, [sp, #0x131]
|
|
ldrb r5, [r2, #0x1e2]
|
|
strb r5, [sp, #0x132]
|
|
ldrb r5, [r2, #0x1e3]
|
|
strb r5, [sp, #0x133]
|
|
ldrb r2, [r2, #0x1e4]
|
|
strb r2, [sp, #0x134]
|
|
str r3, [sp, #0x138]
|
|
bl func_ov00_02097810
|
|
str r0, [r4, #0x2ec]
|
|
ldr r0, _02186a34 ; =data_027e0f74
|
|
ldr r1, [r4, #0x2e8]
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097bcc
|
|
mvn r1, #0
|
|
add r0, sp, #0xa4
|
|
str r1, [r4, #0x2e8]
|
|
bl func_ov00_0209a508
|
|
_02186144:
|
|
ldr r1, _02186a10 ; =data_ov38_021891e0
|
|
ldr r0, [r1, #0x210]
|
|
cmp r0, #0x2d
|
|
ble _02186194
|
|
ldr r0, [r1, #0x1f4]
|
|
mov r2, #0
|
|
str r0, [sp, #0x68]
|
|
ldr r3, [r1, #0x1f8]
|
|
ldr r0, _02186a28 ; =data_027e0f64
|
|
str r3, [sp, #0x6c]
|
|
ldr r3, [r1, #0x1fc]
|
|
add r1, sp, #0x68
|
|
str r3, [sp, #0x70]
|
|
str r2, [sp]
|
|
str r2, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r3, _02186a2c ; =data_ov38_02189360
|
|
ldr r0, [r0, #4]
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
_02186194:
|
|
ldr r0, _02186a10 ; =data_ov38_021891e0
|
|
ldr r1, [r0, #0x210]
|
|
cmp r1, #0x14
|
|
addle sp, sp, #0x154
|
|
ldmleia sp!, {r4, r5, pc}
|
|
ldr r0, [r0, #0x20c]
|
|
cmp r0, #0
|
|
addne sp, sp, #0x154
|
|
ldmneia sp!, {r4, r5, pc}
|
|
cmp r1, #0x78
|
|
bge _02186268
|
|
ldr r0, _02186a38 ; =data_ov38_021892f0
|
|
mov r1, #0x2000
|
|
mov r2, #0x52
|
|
bl func_0202b0f4
|
|
mov r3, #0
|
|
ldr r1, _02186a10 ; =data_ov38_021891e0
|
|
sub r0, r3, #0x1000
|
|
ldr r2, [r1, #0x110]
|
|
str r3, [sp, #0x8c]
|
|
str r2, [sp, #0x90]
|
|
str r0, [sp, #0x94]
|
|
ldr r0, [r1, #0x10c]
|
|
ldr r2, _02186a3c ; =data_02050f54
|
|
add r3, r0, #0x500
|
|
mov r0, r3, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
mov r0, r0, lsl #0x2
|
|
ldrsh r2, [r2, r0]
|
|
str r3, [r1, #0x10c]
|
|
add r0, sp, #0x8c
|
|
mov r1, r2, lsl #0x11
|
|
mov r1, r1, asr #0x10
|
|
bl func_ov00_020a61ac
|
|
ldr r1, _02186a1c ; =data_027e0f94
|
|
add r0, sp, #0x8c
|
|
ldr r2, [r1, #4]
|
|
ldr r3, [r1]
|
|
str r2, [sp, #0x60]
|
|
str r3, [sp, #0x5c]
|
|
ldr r3, [r1, #8]
|
|
add r1, sp, #0x5c
|
|
mov r2, r0
|
|
str r3, [sp, #0x64]
|
|
bl func_01ff9bc4
|
|
ldr r0, _02186a20 ; =data_027e0fc8
|
|
add r1, sp, #0x8c
|
|
ldr r0, [r0]
|
|
mov r2, #0x400
|
|
bl func_ov00_020bb810
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02186268:
|
|
ldr r1, _02186a1c ; =data_027e0f94
|
|
mov r5, #0x1000
|
|
ldr r2, [r1, #4]
|
|
ldr r3, [r1]
|
|
sub r4, r5, #0x2000
|
|
mov ip, #0
|
|
str ip, [sp, #0x8c]
|
|
str r5, [sp, #0x90]
|
|
str r4, [sp, #0x94]
|
|
str r2, [sp, #0x54]
|
|
add r0, sp, #0x8c
|
|
str r3, [sp, #0x50]
|
|
ldr r3, [r1, #8]
|
|
add r1, sp, #0x50
|
|
mov r2, r0
|
|
str r3, [sp, #0x58]
|
|
bl func_01ff9bc4
|
|
ldr r0, _02186a20 ; =data_027e0fc8
|
|
add r1, sp, #0x8c
|
|
ldr r0, [r0]
|
|
mov r2, #0x200
|
|
bl func_ov00_020bb810
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r4, r5, pc}
|
|
_021862c8:
|
|
ldr r0, _02186a14 ; =data_027e0e60
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
bl func_ov00_02084be0
|
|
cmp r0, #0
|
|
beq _02186304
|
|
ldr r0, _02186a20 ; =data_027e0fc8
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bcfb8
|
|
ldr r0, _02186a10 ; =data_ov38_021891e0
|
|
ldr r1, [r0, #0x20c]
|
|
add r1, r1, #1
|
|
str r1, [r0, #0x20c]
|
|
_02186304:
|
|
ldr r0, _02186a10 ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
ldr r3, [r0, #0x1f4]
|
|
ldr r2, [r0, #0x1f8]
|
|
str r3, [sp, #0x44]
|
|
str r2, [sp, #0x48]
|
|
ldr r2, [r0, #0x1fc]
|
|
ldr r0, _02186a28 ; =data_027e0f64
|
|
str r2, [sp, #0x4c]
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r3, _02186a2c ; =data_ov38_02189360
|
|
ldr r0, [r0, #4]
|
|
add r1, sp, #0x44
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02186350:
|
|
ldr r0, [r1, #0x1f4]
|
|
mov r2, #0
|
|
str r0, [sp, #0x38]
|
|
ldr r3, [r1, #0x1f8]
|
|
ldr r0, _02186a28 ; =data_027e0f64
|
|
str r3, [sp, #0x3c]
|
|
ldr r3, [r1, #0x1fc]
|
|
add r1, sp, #0x38
|
|
str r3, [sp, #0x40]
|
|
str r2, [sp]
|
|
str r2, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r3, _02186a2c ; =data_ov38_02189360
|
|
ldr r0, [r0, #4]
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
ldr r1, _02186a10 ; =data_ov38_021891e0
|
|
ldr r0, [r1, #0x210]
|
|
add r0, r0, #1
|
|
cmp r0, #0x3c
|
|
str r0, [r1, #0x210]
|
|
addle sp, sp, #0x154
|
|
ldmleia sp!, {r4, r5, pc}
|
|
mov r2, #0
|
|
str r2, [r1, #0x10c]
|
|
mov r0, #0x1000
|
|
str r0, [r1, #0x110]
|
|
str r2, [r1, #0x210]
|
|
ldr r2, [r1, #0x20c]
|
|
ldr r0, _02186a20 ; =data_027e0fc8
|
|
add r2, r2, #1
|
|
str r2, [r1, #0x20c]
|
|
ldr r0, [r0]
|
|
mov r1, #0x74
|
|
bl func_ov00_020bd030
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r4, r5, pc}
|
|
_021863e4:
|
|
ldr r0, [r1, #0x210]
|
|
add r0, r0, #1
|
|
str r0, [r1, #0x210]
|
|
cmp r0, #0x92
|
|
ble _021864f0
|
|
ldr r0, [r1, #0x180]
|
|
add r2, r2, #1
|
|
str r0, [r1, #0x118]
|
|
ldr r3, [r1, #0x184]
|
|
mov r0, #0
|
|
str r3, [r1, #0x11c]
|
|
ldr r3, [r1, #0x188]
|
|
str r3, [r1, #0x120]
|
|
ldr r3, [r1, #0x18c]
|
|
str r3, [r1, #0x124]
|
|
ldr r3, [r1, #0x190]
|
|
str r3, [r1, #0x128]
|
|
ldr r3, [r1, #0x194]
|
|
str r3, [r1, #0x12c]
|
|
ldr r3, [r1, #0x198]
|
|
str r3, [r1, #0x130]
|
|
ldr r3, [r1, #0x19c]
|
|
str r3, [r1, #0x134]
|
|
ldr r3, [r1, #0x1a0]
|
|
str r3, [r1, #0x138]
|
|
ldr r3, [r1, #0x1a4]
|
|
str r3, [r1, #0x13c]
|
|
ldr r3, [r1, #0x1a8]
|
|
str r3, [r1, #0x140]
|
|
ldr r3, [r1, #0x1ac]
|
|
str r3, [r1, #0x144]
|
|
ldr r3, [r1, #0x1b0]
|
|
str r3, [r1, #0x148]
|
|
ldr r3, [r1, #0x1b4]
|
|
str r3, [r1, #0x14c]
|
|
ldr r3, [r1, #0x1b8]
|
|
str r3, [r1, #0x150]
|
|
ldr r3, [r1, #0x1bc]
|
|
str r3, [r1, #0x154]
|
|
ldr r3, [r1, #0x1c0]
|
|
str r3, [r1, #0x158]
|
|
ldr r3, [r1, #0x1c4]
|
|
str r3, [r1, #0x15c]
|
|
ldr r3, [r1, #0x1c8]
|
|
str r3, [r1, #0x160]
|
|
ldr r3, [r1, #0x1cc]
|
|
str r3, [r1, #0x164]
|
|
ldr r3, [r1, #0x1d0]
|
|
str r3, [r1, #0x168]
|
|
ldr r3, [r1, #0x1d4]
|
|
str r3, [r1, #0x16c]
|
|
ldr r3, [r1, #0x1d8]
|
|
str r3, [r1, #0x170]
|
|
ldr r3, [r1, #0x1dc]
|
|
str r3, [r1, #0x174]
|
|
ldrb r3, [r1, #0x1e0]
|
|
strb r3, [r1, #0x178]
|
|
ldrb r3, [r1, #0x1e1]
|
|
strb r3, [r1, #0x179]
|
|
ldrb r3, [r1, #0x1e2]
|
|
strb r3, [r1, #0x17a]
|
|
ldrb r3, [r1, #0x1e3]
|
|
strb r3, [r1, #0x17b]
|
|
ldrb r3, [r1, #0x1e4]
|
|
strb r3, [r1, #0x17c]
|
|
str r2, [r1, #0x20c]
|
|
str r0, [r1, #0x210]
|
|
_021864f0:
|
|
ldr r0, _02186a38 ; =data_ov38_021892f0
|
|
mov r4, #0x14
|
|
ldr r2, _02186a40 ; =0x00000f9a
|
|
mov r1, #0
|
|
mov r3, #0x29
|
|
str r4, [sp]
|
|
bl func_ov38_0217ca04
|
|
ldr r3, _02186a10 ; =data_ov38_021891e0
|
|
mov r0, #0xcd
|
|
ldr r1, [r3, #0x10c]
|
|
add r2, r0, #0xcd
|
|
add ip, r1, #0x1600
|
|
str ip, [r3, #0x10c]
|
|
ldr r5, [r3, #0x110]
|
|
mov r1, ip, lsl #0x11
|
|
mul r4, r5, r0
|
|
mul r2, r5, r2
|
|
mov r1, r1, lsr #0x10
|
|
mov r0, ip, lsl #0x10
|
|
mov r5, r1, asr #0x4
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
add ip, r4, #0x800
|
|
add r1, r2, #0x800
|
|
ldr r4, _02186a3c ; =data_02050f54
|
|
mov r2, r5, lsl #0x2
|
|
mov r0, r0, lsl #0x2
|
|
ldrsh r2, [r4, r2]
|
|
mov r5, ip, asr #0xc
|
|
ldrsh r0, [r4, r0]
|
|
mul r2, r5, r2
|
|
mov r1, r1, asr #0xc
|
|
mul r0, r1, r0
|
|
add r1, r2, #0x800
|
|
mov r1, r1, asr #0xc
|
|
add r0, r0, #0x800
|
|
str r1, [r3, #0xec]
|
|
mov r4, r0, asr #0xc
|
|
ldr r0, _02186a44 ; =data_ov38_021893c8
|
|
ldr r1, _02186a48 ; =data_ov38_021892cc
|
|
ldr r2, _02186a30 ; =data_ov38_021893d4
|
|
str r4, [r3, #0xf0]
|
|
mov r4, #0
|
|
str r4, [r3, #0xf4]
|
|
bl func_01ff9bc4
|
|
ldr r0, _02186a10 ; =data_ov38_021891e0
|
|
ldr r0, [r0, #0x110]
|
|
cmp r0, #0
|
|
ble _021865c0
|
|
ldr r0, _02186a4c ; =data_ov00_020eec9c
|
|
ldr r1, _02186a50 ; =0x0000042b
|
|
bl func_ov00_020d7d18
|
|
_021865c0:
|
|
ldr r0, _02186a10 ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
ldr r3, [r0, #0x1f4]
|
|
ldr r2, [r0, #0x1f8]
|
|
str r3, [sp, #0x2c]
|
|
str r2, [sp, #0x30]
|
|
ldr r2, [r0, #0x1fc]
|
|
ldr r0, _02186a28 ; =data_027e0f64
|
|
str r2, [sp, #0x34]
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r3, _02186a2c ; =data_ov38_02189360
|
|
ldr r0, [r0, #4]
|
|
add r1, sp, #0x2c
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r4, r5, pc}
|
|
_0218660c:
|
|
ldr r5, [r4, #0x14]
|
|
mov r3, #5
|
|
str r5, [r1, #0x1f4]
|
|
ldr r0, [r4, #0x18]
|
|
mov r2, #0x3200
|
|
str r0, [r1, #0x1f8]
|
|
ldr ip, [r4, #0x1c]
|
|
add r0, r0, #0x66
|
|
str ip, [r1, #0x1fc]
|
|
add lr, r0, #0x600
|
|
str lr, [r1, #0x1f8]
|
|
add ip, ip, #0x1800
|
|
str ip, [r1, #0x1fc]
|
|
str r3, [r1, #0x184]
|
|
str r2, [r1, #0x190]
|
|
sub r0, r2, #0xb200
|
|
str r0, [r1, #0x194]
|
|
mov r2, #0x14000
|
|
str r2, [r1, #0x198]
|
|
ldr r0, _02186a54 ; =0x00000cd9
|
|
ldr r3, _02186a2c ; =data_ov38_02189360
|
|
str r0, [r1, #0x18c]
|
|
str r5, [sp, #0x20]
|
|
str lr, [sp, #0x24]
|
|
str ip, [sp, #0x28]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02186a28 ; =data_027e0f64
|
|
add r1, sp, #0x20
|
|
ldr r0, [r0]
|
|
mov r2, #2
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02089318
|
|
ldr r0, _02186a10 ; =data_ov38_021891e0
|
|
ldr r1, [r0, #0x210]
|
|
add r3, r1, #1
|
|
str r3, [r0, #0x210]
|
|
cmp r3, #0x3c
|
|
ble _021866d4
|
|
add r0, r4, #0x2c8
|
|
mov r1, #1
|
|
bl func_ov38_0217be60
|
|
ldr r0, _02186a10 ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
ldr r2, [r0, #0x20c]
|
|
add r2, r2, #1
|
|
str r2, [r0, #0x20c]
|
|
str r1, [r0, #0x210]
|
|
b _02186724
|
|
_021866d4:
|
|
cmp r3, #5
|
|
ble _02186724
|
|
ldr r1, [r4, #0x18]
|
|
ldr r2, [r4, #0x1c]
|
|
ldr r0, [r4, #0x14]
|
|
add r1, r1, #0xa000
|
|
str r0, [sp, #0x80]
|
|
str r1, [sp, #0x84]
|
|
str r2, [sp, #0x88]
|
|
cmp r3, #6
|
|
bne _02186710
|
|
ldr r0, _02186a20 ; =data_027e0fc8
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bd070
|
|
_02186710:
|
|
ldr r0, _02186a20 ; =data_027e0fc8
|
|
add r1, sp, #0x80
|
|
ldr r0, [r0]
|
|
mov r2, #0x400
|
|
bl func_ov00_020bb810
|
|
_02186724:
|
|
ldr r0, _02186a4c ; =data_ov00_020eec9c
|
|
ldr r1, _02186a58 ; =0x0000042c
|
|
bl func_ov00_020d7c8c
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02186738:
|
|
ldr lr, [r4, #0x14]
|
|
mov r3, #5
|
|
str lr, [r1, #0x1f4]
|
|
ldr r0, [r4, #0x18]
|
|
mov r2, #0x3200
|
|
str r0, [r1, #0x1f8]
|
|
ldr r4, [r4, #0x1c]
|
|
add r0, r0, #0x66
|
|
str r4, [r1, #0x1fc]
|
|
add ip, r0, #0x600
|
|
str ip, [r1, #0x1f8]
|
|
add r4, r4, #0x1800
|
|
str r4, [r1, #0x1fc]
|
|
str r3, [r1, #0x184]
|
|
str r2, [r1, #0x190]
|
|
sub r0, r2, #0xb200
|
|
str r0, [r1, #0x194]
|
|
mov r2, #0x14000
|
|
str r2, [r1, #0x198]
|
|
ldr r0, _02186a54 ; =0x00000cd9
|
|
ldr r3, _02186a2c ; =data_ov38_02189360
|
|
str r0, [r1, #0x18c]
|
|
str lr, [sp, #0x14]
|
|
str ip, [sp, #0x18]
|
|
str r4, [sp, #0x1c]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02186a28 ; =data_027e0f64
|
|
add r1, sp, #0x14
|
|
ldr r0, [r0]
|
|
mov r2, #2
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02089318
|
|
ldr r1, _02186a10 ; =data_ov38_021891e0
|
|
ldr r0, [r1, #0x210]
|
|
add r0, r0, #1
|
|
cmp r0, #0x50
|
|
str r0, [r1, #0x210]
|
|
addle sp, sp, #0x154
|
|
ldmleia sp!, {r4, r5, pc}
|
|
ldr r2, [r1, #0x20c]
|
|
mov r0, #0
|
|
add r2, r2, #1
|
|
str r2, [r1, #0x20c]
|
|
str r0, [r1, #0x218]
|
|
str r0, [r1, #0x210]
|
|
ldr r2, [r1, #0x118]
|
|
ldr r0, _02186a1c ; =data_027e0f94
|
|
str r2, [r1, #0x180]
|
|
ldr r2, [r1, #0x11c]
|
|
add sp, sp, #0x154
|
|
str r2, [r1, #0x184]
|
|
ldr r2, [r1, #0x120]
|
|
str r2, [r1, #0x188]
|
|
ldr r2, [r1, #0x124]
|
|
str r2, [r1, #0x18c]
|
|
ldr r2, [r1, #0x128]
|
|
str r2, [r1, #0x190]
|
|
ldr r2, [r1, #0x12c]
|
|
str r2, [r1, #0x194]
|
|
ldr r2, [r1, #0x130]
|
|
str r2, [r1, #0x198]
|
|
ldr r2, [r1, #0x134]
|
|
str r2, [r1, #0x19c]
|
|
ldr r2, [r1, #0x138]
|
|
str r2, [r1, #0x1a0]
|
|
ldr r2, [r1, #0x13c]
|
|
str r2, [r1, #0x1a4]
|
|
ldr r2, [r1, #0x140]
|
|
str r2, [r1, #0x1a8]
|
|
ldr r2, [r1, #0x144]
|
|
str r2, [r1, #0x1ac]
|
|
ldr r2, [r1, #0x148]
|
|
str r2, [r1, #0x1b0]
|
|
ldr r2, [r1, #0x14c]
|
|
str r2, [r1, #0x1b4]
|
|
ldr r2, [r1, #0x150]
|
|
str r2, [r1, #0x1b8]
|
|
ldr r2, [r1, #0x154]
|
|
str r2, [r1, #0x1bc]
|
|
ldr r2, [r1, #0x158]
|
|
str r2, [r1, #0x1c0]
|
|
ldr r2, [r1, #0x15c]
|
|
str r2, [r1, #0x1c4]
|
|
ldr r2, [r1, #0x160]
|
|
str r2, [r1, #0x1c8]
|
|
ldr r2, [r1, #0x164]
|
|
str r2, [r1, #0x1cc]
|
|
ldr r2, [r1, #0x168]
|
|
str r2, [r1, #0x1d0]
|
|
ldr r2, [r1, #0x16c]
|
|
str r2, [r1, #0x1d4]
|
|
ldr r2, [r1, #0x170]
|
|
str r2, [r1, #0x1d8]
|
|
ldr r2, [r1, #0x174]
|
|
str r2, [r1, #0x1dc]
|
|
ldrb r2, [r1, #0x178]
|
|
strb r2, [r1, #0x1e0]
|
|
ldrb r2, [r1, #0x179]
|
|
strb r2, [r1, #0x1e1]
|
|
ldrb r2, [r1, #0x17a]
|
|
strb r2, [r1, #0x1e2]
|
|
ldrb r2, [r1, #0x17b]
|
|
strb r2, [r1, #0x1e3]
|
|
ldrb r2, [r1, #0x17c]
|
|
strb r2, [r1, #0x1e4]
|
|
ldr r4, [r0]
|
|
str r4, [r1, #0x1f4]
|
|
ldr r3, [r0, #4]
|
|
str r3, [r1, #0x1f8]
|
|
ldr r2, [r0, #8]
|
|
sub r0, r3, #0x3000
|
|
str r2, [r1, #0x1fc]
|
|
str r4, [r1, #0x1e8]
|
|
str r3, [r1, #0x1ec]
|
|
str r2, [r1, #0x1f0]
|
|
str r0, [r1, #0x1f8]
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02186914:
|
|
mov r0, #0x29
|
|
str r0, [sp]
|
|
ldr r1, [r1, #0x1ec]
|
|
ldr r0, _02186a5c ; =data_ov38_021893d8
|
|
mov r2, #0x400
|
|
mov r3, #0x2d
|
|
bl func_ov38_0217ca04
|
|
ldr r0, _02186a10 ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
ldr r3, [r0, #0x1f4]
|
|
ldr r2, [r0, #0x1f8]
|
|
str r3, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
ldr r2, [r0, #0x1fc]
|
|
ldr r0, _02186a28 ; =data_027e0f64
|
|
str r2, [sp, #0x10]
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r3, _02186a2c ; =data_ov38_02189360
|
|
ldr r0, [r0, #4]
|
|
add r1, sp, #8
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
ldr r0, [r4, #0x2d8]
|
|
cmp r0, #1
|
|
addeq r0, r4, #0x1000
|
|
ldreq r0, [r0, #0x68]
|
|
cmpeq r0, #4
|
|
bne _021869a8
|
|
ldr r1, _02186a10 ; =data_ov38_021891e0
|
|
ldr r0, _02186a20 ; =data_027e0fc8
|
|
ldr r2, [r1, #0x20c]
|
|
ldr r0, [r0]
|
|
add r2, r2, #1
|
|
str r2, [r1, #0x20c]
|
|
bl func_ov00_020bd0a8
|
|
_021869a8:
|
|
ldr r0, _02186a20 ; =data_027e0fc8
|
|
ldr lr, [r4, #0xf60]
|
|
ldr ip, [r4, #0xf5c]
|
|
ldr r3, [r4, #0xf58]
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x74
|
|
mov r2, #0x400
|
|
str r3, [sp, #0x74]
|
|
str ip, [sp, #0x78]
|
|
str lr, [sp, #0x7c]
|
|
bl func_ov00_020bb810
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r4, r5, pc}
|
|
_021869dc:
|
|
ldr r0, _02186a34 ; =data_027e0f74
|
|
ldr r1, [r4, #0x2ec]
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097bcc
|
|
mvn r1, #0
|
|
ldr r0, _02186a60 ; =data_02057200
|
|
str r1, [r4, #0x2ec]
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, #4]
|
|
str r1, [r4, #0x2e0]
|
|
str r0, [r4, #0x2e4]
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02185ebc
|
|
_02186a10: .word data_ov38_021891e0
|
|
_02186a14: .word data_027e0e60
|
|
_02186a18: .word 0x00000ccd
|
|
_02186a1c: .word data_027e0f94
|
|
_02186a20: .word data_027e0fc8
|
|
_02186a24: .word 0x00000333
|
|
_02186a28: .word data_027e0f64
|
|
_02186a2c: .word data_ov38_02189360
|
|
_02186a30: .word data_ov38_021893d4
|
|
_02186a34: .word data_027e0f74
|
|
_02186a38: .word data_ov38_021892f0
|
|
_02186a3c: .word data_02050f54
|
|
_02186a40: .word 0x00000f9a
|
|
_02186a44: .word data_ov38_021893c8
|
|
_02186a48: .word data_ov38_021892cc
|
|
_02186a4c: .word data_ov00_020eec9c
|
|
_02186a50: .word 0x0000042b
|
|
_02186a54: .word 0x00000cd9
|
|
_02186a58: .word 0x0000042c
|
|
_02186a5c: .word data_ov38_021893d8
|
|
_02186a60: .word data_02057200
|
|
|
|
.global func_ov38_02186a64
|
|
arm_func_start func_ov38_02186a64
|
|
func_ov38_02186a64: ; 0x02186a64
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0xc
|
|
ldr r0, _02186abc ; =data_ov38_02189484
|
|
ldr r2, [r0]
|
|
cmp r2, #0
|
|
addeq sp, sp, #0xc
|
|
ldmeqia sp!, {pc}
|
|
ldr r1, [r2, #0x48]
|
|
ldr r0, _02186ac0 ; =data_027e0fc8
|
|
str r1, [sp]
|
|
ldr r1, [r2, #0x4c]
|
|
ldr r0, [r0]
|
|
str r1, [sp, #4]
|
|
ldr ip, [r2, #0x50]
|
|
add r3, r1, #0x4000
|
|
add r1, sp, #0
|
|
mov r2, #0x400
|
|
str ip, [sp, #8]
|
|
str r3, [sp, #4]
|
|
bl func_ov00_020bb810
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02186a64
|
|
_02186abc: .word data_ov38_02189484
|
|
_02186ac0: .word data_027e0fc8
|
|
|
|
.global func_ov38_02186ac4
|
|
arm_func_start func_ov38_02186ac4
|
|
func_ov38_02186ac4: ; 0x02186ac4
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0xc
|
|
ldr r3, [r0, #0xff8]
|
|
ldr r0, _02186b04 ; =data_027e0fc8
|
|
ldr r1, [r3, #0x48]
|
|
ldr r0, [r0]
|
|
str r1, [sp]
|
|
ldr r2, [r3, #0x4c]
|
|
add r1, sp, #0
|
|
str r2, [sp, #4]
|
|
ldr r3, [r3, #0x50]
|
|
mov r2, #0x400
|
|
str r3, [sp, #8]
|
|
bl func_ov00_020bb810
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02186ac4
|
|
_02186b04: .word data_027e0fc8
|
|
|
|
.global func_ov38_02186b08
|
|
arm_func_start func_ov38_02186b08
|
|
func_ov38_02186b08: ; 0x02186b08
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0xc4
|
|
ldr r1, _02186c5c ; =data_ov38_021891e0
|
|
mov r2, #0
|
|
str r2, [r1, #0x20c]
|
|
mov r4, r0
|
|
str r2, [r1, #0x210]
|
|
bl func_ov29_02170144
|
|
bl func_ov29_02171714
|
|
add r0, sp, #0x14
|
|
bl func_ov00_0209a4f4
|
|
mvn r0, #0
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x32
|
|
strb r0, [sp, #0x1d]
|
|
mov r0, #2
|
|
strb r0, [sp, #0x1e]
|
|
strb r0, [sp, #0x1f]
|
|
mov r0, #4
|
|
str r0, [sp, #0xa8]
|
|
ldr r0, _02186c60 ; =data_ov38_02189360
|
|
ldr r1, _02186c64 ; =data_ov38_021893d4
|
|
bl func_ov38_02185c4c
|
|
ldr r0, _02186c68 ; =data_ov38_02189414
|
|
blx func_0202ab54
|
|
ldr r0, _02186c5c ; =data_ov38_021891e0
|
|
mov r2, #1
|
|
mov r1, #0
|
|
str r2, [r0, #0x234]
|
|
str r1, [r0, #0x23c]
|
|
str r1, [sp]
|
|
mov r1, #2
|
|
ldr r0, _02186c68 ; =data_ov38_02189414
|
|
mov r2, r1
|
|
mov r3, r1
|
|
blx func_0202ac0c
|
|
ldr r0, _02186c6c ; =data_027e071c
|
|
ldr r1, _02186c68 ; =data_ov38_02189414
|
|
bl func_0202d77c
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0x12000
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x8800
|
|
str r0, [sp, #0x10]
|
|
sub r1, r0, #0x9700
|
|
add r0, sp, #8
|
|
bl func_ov00_020a61ac
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, _02186c70 ; =data_027e0fc8
|
|
str r3, [sp, #4]
|
|
ldr r0, [r0]
|
|
add r1, sp, #8
|
|
ldr ip, [r0]
|
|
mov r2, #0x7100
|
|
ldr ip, [ip, #0x34]
|
|
blx ip
|
|
ldr r1, _02186c74 ; =data_027e0fb4
|
|
ldr r0, _02186c78 ; =data_ov38_02188ca0
|
|
ldr r2, [r1]
|
|
mov r3, #0x7f
|
|
ldr r1, [r2, #0x10]
|
|
str r1, [r0, #0x258]
|
|
cmp r1, #0
|
|
movne r0, #0
|
|
strne r0, [r2, #0x10]
|
|
ldr r0, _02186c7c ; =data_ov00_020eec68
|
|
mov r1, #0xce
|
|
mov r2, #0
|
|
bl func_ov00_020d70a4
|
|
ldr r0, _02186c80 ; =data_027e0f74
|
|
add r1, sp, #0x14
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097810
|
|
str r0, [r4, #0x2e8]
|
|
ldr r1, _02186c78 ; =data_ov38_02188ca0
|
|
add r0, sp, #0x14
|
|
ldr r2, [r1, #0x25c]
|
|
ldr r1, [r1, #0x260]
|
|
str r2, [r4, #0x2e0]
|
|
str r1, [r4, #0x2e4]
|
|
bl func_ov00_0209a508
|
|
add sp, sp, #0xc4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02186b08
|
|
_02186c5c: .word data_ov38_021891e0
|
|
_02186c60: .word data_ov38_02189360
|
|
_02186c64: .word data_ov38_021893d4
|
|
_02186c68: .word data_ov38_02189414
|
|
_02186c6c: .word data_027e071c
|
|
_02186c70: .word data_027e0fc8
|
|
_02186c74: .word data_027e0fb4
|
|
_02186c78: .word data_ov38_02188ca0
|
|
_02186c7c: .word data_ov00_020eec68
|
|
_02186c80: .word data_027e0f74
|
|
|
|
.global func_ov38_02186c84
|
|
arm_func_start func_ov38_02186c84
|
|
func_ov38_02186c84: ; 0x02186c84
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x8c
|
|
ldr r1, _021874c4 ; =data_ov38_021891e0
|
|
mov r4, r0
|
|
ldr r0, [r1, #0x20c]
|
|
cmp r0, #9
|
|
addls pc, pc, r0, lsl #2
|
|
b _0218746c
|
|
_02186ca4: ; jump table
|
|
b _02186ccc ; case 0
|
|
b _02186dd8 ; case 1
|
|
b _02186e38 ; case 2
|
|
b _02186f54 ; case 3
|
|
b _0218700c ; case 4
|
|
b _02187014 ; case 5
|
|
b _02187068 ; case 6
|
|
b _02187134 ; case 7
|
|
b _0218728c ; case 8
|
|
b _021873a8 ; case 9
|
|
_02186ccc:
|
|
ldr r0, [r1, #0x210]
|
|
add r0, r0, #1
|
|
str r0, [r1, #0x210]
|
|
cmp r0, #0x64
|
|
ble _02186d4c
|
|
ldr r0, _021874c8 ; =data_ov38_02189414
|
|
blx func_0202ab54
|
|
mov r1, #2
|
|
ldr r0, _021874c4 ; =data_ov38_021891e0
|
|
mov r2, #1
|
|
str r2, [r0, #0x234]
|
|
mov r5, #0
|
|
str r5, [r0, #0x23c]
|
|
ldr r0, _021874c8 ; =data_ov38_02189414
|
|
mov r2, r1
|
|
mov r3, r1
|
|
str r5, [sp]
|
|
blx func_0202ac0c
|
|
ldr r0, _021874cc ; =data_027e071c
|
|
ldr r1, _021874c8 ; =data_ov38_02189414
|
|
bl func_0202d77c
|
|
mov r0, #8
|
|
mov r1, #0xa
|
|
mov r2, r5
|
|
bl func_ov38_0217bf0c
|
|
ldr r0, _021874c4 ; =data_ov38_021891e0
|
|
mov r1, r5
|
|
str r1, [r0, #0x210]
|
|
ldr r1, [r0, #0x20c]
|
|
add r1, r1, #1
|
|
str r1, [r0, #0x20c]
|
|
b _02186dd8
|
|
_02186d4c:
|
|
ldr ip, [r4, #0x14]
|
|
ldr r2, _021874d0 ; =0x00000bb8
|
|
str ip, [r1, #0x1f4]
|
|
ldr r3, [r4, #0x18]
|
|
mov r0, #5
|
|
str r3, [r1, #0x1f8]
|
|
ldr r5, [r4, #0x1c]
|
|
add r3, r3, #0x11800
|
|
str r5, [r1, #0x1fc]
|
|
str r3, [r1, #0x1f8]
|
|
str r0, [r1, #0x184]
|
|
ldr r0, _021874d4 ; =0x00006d60
|
|
str r2, [r1, #0x190]
|
|
str r0, [r1, #0x194]
|
|
mov r0, #0x9000
|
|
str r0, [r1, #0x198]
|
|
sub r0, r2, #0x1f4
|
|
str r0, [r1, #0x18c]
|
|
str r3, [sp, #0x84]
|
|
str ip, [sp, #0x80]
|
|
str r5, [sp, #0x88]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _021874d8 ; =data_027e0f64
|
|
ldr r3, _021874dc ; =data_ov38_02189360
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x80
|
|
ldr r0, [r0, #4]
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
mov r0, r4
|
|
bl func_ov38_02186a64
|
|
add sp, sp, #0x8c
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02186dd8:
|
|
ldr r2, _021874c4 ; =data_ov38_021891e0
|
|
mov r5, #0
|
|
ldr r1, [r2, #0x20c]
|
|
ldr r0, _021874d8 ; =data_027e0f64
|
|
add r1, r1, #1
|
|
str r1, [r2, #0x20c]
|
|
ldr r3, [r2, #0x1f4]
|
|
add r1, sp, #0x74
|
|
str r3, [sp, #0x74]
|
|
ldr ip, [r2, #0x1f8]
|
|
ldr r3, _021874dc ; =data_ov38_02189360
|
|
str ip, [sp, #0x78]
|
|
ldr ip, [r2, #0x1fc]
|
|
mov r2, #2
|
|
str ip, [sp, #0x7c]
|
|
str r5, [sp]
|
|
str r5, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02089318
|
|
mov r0, r4
|
|
bl func_ov38_02186a64
|
|
add sp, sp, #0x8c
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02186e38:
|
|
ldr r0, _021874e0 ; =data_027e0c68
|
|
mov r1, #0
|
|
bl func_02036770
|
|
cmp r0, #0
|
|
beq _02186e74
|
|
ldr r0, _021874c4 ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
str r1, [r0, #0x210]
|
|
ldr r2, [r0, #0x20c]
|
|
ldr r1, _021874e4 ; =data_ov38_021893ec
|
|
add r2, r2, #1
|
|
str r2, [r0, #0x20c]
|
|
ldr r0, [r4, #0xff8]
|
|
bl func_ov38_021880d8
|
|
b _02186f54
|
|
_02186e74:
|
|
ldr lr, [r4, #0x14]
|
|
ldr r1, _021874c4 ; =data_ov38_021891e0
|
|
ldr r3, _021874e8 ; =0x000008fc
|
|
str lr, [r1, #0x1f4]
|
|
ldr r5, [r4, #0x18]
|
|
mov r2, #5
|
|
str r5, [r1, #0x1f8]
|
|
ldr r0, [r4, #0x1c]
|
|
add ip, r5, #0x12000
|
|
str r0, [r1, #0x1fc]
|
|
add r0, r0, #0xcd
|
|
add r5, r0, #0x1400
|
|
str ip, [r1, #0x1f8]
|
|
str r5, [r1, #0x1fc]
|
|
str r2, [r1, #0x184]
|
|
ldr r2, _021874ec ; =0x000061a8
|
|
str r3, [r1, #0x190]
|
|
str r2, [r1, #0x194]
|
|
ldr r0, _021874f0 ; =0x00007ccd
|
|
mov r2, #2
|
|
str r0, [r1, #0x198]
|
|
add r0, r3, #0xc8
|
|
str r0, [r1, #0x18c]
|
|
str lr, [sp, #0x68]
|
|
str ip, [sp, #0x6c]
|
|
str r5, [sp, #0x70]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _021874d8 ; =data_027e0f64
|
|
ldr r3, _021874dc ; =data_ov38_02189360
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x68
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02089318
|
|
ldr r0, _021874c4 ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
ldr r3, [r0, #0x1f4]
|
|
ldr r2, [r0, #0x1f8]
|
|
str r3, [sp, #0x5c]
|
|
str r2, [sp, #0x60]
|
|
ldr r2, [r0, #0x1fc]
|
|
ldr r0, _021874d8 ; =data_027e0f64
|
|
str r2, [sp, #0x64]
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r3, _021874dc ; =data_ov38_02189360
|
|
ldr r0, [r0, #4]
|
|
add r1, sp, #0x5c
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
mov r0, r4
|
|
bl func_ov38_02186a64
|
|
add sp, sp, #0x8c
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02186f54:
|
|
ldr lr, [r4, #0x14]
|
|
ldr r1, _021874c4 ; =data_ov38_021891e0
|
|
ldr r3, _021874e8 ; =0x000008fc
|
|
str lr, [r1, #0x1f4]
|
|
ldr r5, [r4, #0x18]
|
|
mov r2, #5
|
|
str r5, [r1, #0x1f8]
|
|
ldr r0, [r4, #0x1c]
|
|
add ip, r5, #0x12000
|
|
str r0, [r1, #0x1fc]
|
|
add r0, r0, #0xcd
|
|
add r5, r0, #0x1400
|
|
str ip, [r1, #0x1f8]
|
|
str r5, [r1, #0x1fc]
|
|
str r2, [r1, #0x184]
|
|
ldr r2, _021874ec ; =0x000061a8
|
|
str r3, [r1, #0x190]
|
|
str r2, [r1, #0x194]
|
|
ldr r0, _021874f0 ; =0x00007ccd
|
|
mov r2, #2
|
|
str r0, [r1, #0x198]
|
|
add r0, r3, #0xc8
|
|
str r0, [r1, #0x18c]
|
|
str lr, [sp, #0x50]
|
|
str ip, [sp, #0x54]
|
|
str r5, [sp, #0x58]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _021874d8 ; =data_027e0f64
|
|
ldr r3, _021874dc ; =data_ov38_02189360
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x50
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02089318
|
|
ldr r0, _021874f4 ; =data_ov38_02189484
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
mov r0, r4
|
|
beq _02187000
|
|
bl func_ov38_02186a64
|
|
add sp, sp, #0x8c
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02187000:
|
|
bl func_ov38_02186ac4
|
|
add sp, sp, #0x8c
|
|
ldmia sp!, {r4, r5, pc}
|
|
_0218700c:
|
|
add r0, r0, #1
|
|
str r0, [r1, #0x20c]
|
|
_02187014:
|
|
ldr r0, _021874c4 ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
ldr r3, [r0, #0x1f4]
|
|
ldr r2, [r0, #0x1f8]
|
|
str r3, [sp, #0x44]
|
|
str r2, [sp, #0x48]
|
|
ldr r2, [r0, #0x1fc]
|
|
ldr r0, _021874d8 ; =data_027e0f64
|
|
str r2, [sp, #0x4c]
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r3, _021874dc ; =data_ov38_02189360
|
|
ldr r0, [r0, #4]
|
|
add r1, sp, #0x44
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
mov r0, r4
|
|
bl func_ov38_02186ac4
|
|
add sp, sp, #0x8c
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02187068:
|
|
mov r0, #8
|
|
mov r1, #0x22
|
|
mov r2, #0
|
|
bl func_ov38_0217bf0c
|
|
ldr ip, [r4, #0x14]
|
|
ldr r2, _021874c4 ; =data_ov38_021891e0
|
|
ldr r0, _021874f8 ; =0xffffce66
|
|
str ip, [r2, #0x1f4]
|
|
ldr r5, [r4, #0x18]
|
|
add ip, ip, r0
|
|
str r5, [r2, #0x1f8]
|
|
ldr lr, [r4, #0x1c]
|
|
ldr r1, _021874fc ; =0x00011333
|
|
str lr, [r2, #0x1fc]
|
|
add r5, r5, r1
|
|
str ip, [r2, #0x1f4]
|
|
str r5, [r2, #0x1f8]
|
|
add r1, lr, #0x8000
|
|
ldr r3, _02187500 ; =0xfffffac4
|
|
str r1, [r2, #0x1fc]
|
|
mov r0, #5
|
|
str r0, [r2, #0x184]
|
|
ldr r0, _02187504 ; =0x000073a0
|
|
str r3, [r2, #0x190]
|
|
str r0, [r2, #0x194]
|
|
mov r0, #0x9c00
|
|
str r0, [r2, #0x198]
|
|
rsb r0, r3, #0x35c
|
|
str r0, [r2, #0x18c]
|
|
str r1, [sp, #0x40]
|
|
str ip, [sp, #0x38]
|
|
str r5, [sp, #0x3c]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _021874d8 ; =data_027e0f64
|
|
ldr r3, _021874dc ; =data_ov38_02189360
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x38
|
|
ldr r0, [r0, #4]
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
ldr r0, _02187508 ; =data_027e0fc8
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bb9b0
|
|
ldr r0, _021874c4 ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
str r1, [r0, #0x210]
|
|
ldr r1, [r0, #0x20c]
|
|
add r1, r1, #1
|
|
str r1, [r0, #0x20c]
|
|
_02187134:
|
|
ldr r0, _021874e0 ; =data_027e0c68
|
|
mov r1, #0
|
|
bl func_02036770
|
|
cmp r0, #0
|
|
beq _02187198
|
|
ldr r0, _021874c4 ; =data_ov38_021891e0
|
|
ldr r1, [r0, #0x210]
|
|
add r1, r1, #1
|
|
str r1, [r0, #0x210]
|
|
cmp r1, #0x1e
|
|
ble _02187198
|
|
mov r0, r4
|
|
mov r1, #8
|
|
mov r2, #0x24
|
|
mov r3, #0
|
|
bl func_ov38_02185b14
|
|
ldr r0, _021874c4 ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
ldr r2, [r0, #0x20c]
|
|
add r2, r2, #1
|
|
str r2, [r0, #0x20c]
|
|
str r1, [r0, #0x210]
|
|
ldr r0, [r4, #0xff8]
|
|
bl func_ov00_020ba458
|
|
b _0218728c
|
|
_02187198:
|
|
ldr ip, [r4, #0x14]
|
|
ldr r2, _021874c4 ; =data_ov38_021891e0
|
|
ldr r0, _021874f8 ; =0xffffce66
|
|
str ip, [r2, #0x1f4]
|
|
ldr r5, [r4, #0x18]
|
|
add ip, ip, r0
|
|
str r5, [r2, #0x1f8]
|
|
ldr r3, [r4, #0x1c]
|
|
ldr r1, _021874fc ; =0x00011333
|
|
str r3, [r2, #0x1fc]
|
|
add r5, r5, r1
|
|
str ip, [r2, #0x1f4]
|
|
str r5, [r2, #0x1f8]
|
|
add r3, r3, #0x8000
|
|
ldr r1, _02187500 ; =0xfffffac4
|
|
str r3, [r2, #0x1fc]
|
|
mov r0, #5
|
|
str r0, [r2, #0x184]
|
|
ldr r0, _02187504 ; =0x000073a0
|
|
str r1, [r2, #0x190]
|
|
str r0, [r2, #0x194]
|
|
mov r0, #0x9c00
|
|
str r0, [r2, #0x198]
|
|
rsb r0, r1, #0x35c
|
|
str r0, [r2, #0x18c]
|
|
str r3, [sp, #0x34]
|
|
str ip, [sp, #0x2c]
|
|
str r5, [sp, #0x30]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _021874d8 ; =data_027e0f64
|
|
ldr r3, _021874dc ; =data_ov38_02189360
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x2c
|
|
ldr r0, [r0, #4]
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
ldr r0, _021874c4 ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
ldr r3, [r0, #0x1f4]
|
|
ldr r2, [r0, #0x1f8]
|
|
str r3, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
ldr r2, [r0, #0x1fc]
|
|
ldr r0, _021874d8 ; =data_027e0f64
|
|
str r2, [sp, #0x28]
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r3, _021874dc ; =data_ov38_02189360
|
|
ldr r0, [r0, #4]
|
|
add r1, sp, #0x20
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
mov r0, r4
|
|
bl func_ov38_02186ac4
|
|
ldr r0, [r4, #0xff8]
|
|
bl func_ov00_020ba458
|
|
add sp, sp, #0x8c
|
|
ldmia sp!, {r4, r5, pc}
|
|
_0218728c:
|
|
bl func_ov29_02178670
|
|
ldr r0, [r0, #0x130]
|
|
cmp r0, #1
|
|
bne _02187308
|
|
ldr r1, _021874c4 ; =data_ov38_021891e0
|
|
ldr r0, _021874c8 ; =data_ov38_02189414
|
|
ldr r3, [r1, #0x20c]
|
|
mov r2, #0
|
|
add r3, r3, #1
|
|
str r3, [r1, #0x20c]
|
|
str r2, [r1, #0x210]
|
|
blx func_0202ab54
|
|
ldr r0, _021874c4 ; =data_ov38_021891e0
|
|
mov r1, #1
|
|
str r1, [r0, #0x234]
|
|
mov r5, #0
|
|
str r5, [r0, #0x23c]
|
|
strb r5, [r0, #0x254]
|
|
ldr r0, _021874c8 ; =data_ov38_02189414
|
|
mov r1, #0x3a
|
|
mov r2, #4
|
|
mov r3, #0x10
|
|
str r5, [sp]
|
|
blx func_0202ac0c
|
|
ldr r0, _021874cc ; =data_027e071c
|
|
ldr r1, _021874c8 ; =data_ov38_02189414
|
|
bl func_0202d77c
|
|
ldr r0, _0218750c ; =data_ov00_020eec68
|
|
mov r1, #0x1e
|
|
bl func_ov00_020d716c
|
|
b _021873a8
|
|
_02187308:
|
|
ldr r5, [r4, #0x14]
|
|
ldr r2, _021874c4 ; =data_ov38_021891e0
|
|
ldr r0, _021874f8 ; =0xffffce66
|
|
str r5, [r2, #0x1f4]
|
|
ldr ip, [r4, #0x18]
|
|
add r5, r5, r0
|
|
str ip, [r2, #0x1f8]
|
|
ldr r3, [r4, #0x1c]
|
|
ldr r1, _021874fc ; =0x00011333
|
|
str r3, [r2, #0x1fc]
|
|
add r4, ip, r1
|
|
str r5, [r2, #0x1f4]
|
|
str r4, [r2, #0x1f8]
|
|
add r3, r3, #0x8000
|
|
ldr r1, _02187500 ; =0xfffffac4
|
|
str r3, [r2, #0x1fc]
|
|
mov r0, #5
|
|
str r0, [r2, #0x184]
|
|
ldr r0, _02187504 ; =0x000073a0
|
|
str r1, [r2, #0x190]
|
|
str r0, [r2, #0x194]
|
|
mov r0, #0x9c00
|
|
str r0, [r2, #0x198]
|
|
rsb r0, r1, #0x35c
|
|
str r0, [r2, #0x18c]
|
|
str r3, [sp, #0x1c]
|
|
str r5, [sp, #0x14]
|
|
str r4, [sp, #0x18]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _021874d8 ; =data_027e0f64
|
|
ldr r3, _021874dc ; =data_ov38_02189360
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x14
|
|
ldr r0, [r0, #4]
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
add sp, sp, #0x8c
|
|
ldmia sp!, {r4, r5, pc}
|
|
_021873a8:
|
|
ldr r2, _021874c4 ; =data_ov38_021891e0
|
|
ldr r0, [r2, #0x210]
|
|
cmp r0, #0x1e
|
|
ble _021873c8
|
|
ldr r0, [r2, #0x20c]
|
|
add r0, r0, #1
|
|
str r0, [r2, #0x20c]
|
|
b _0218746c
|
|
_021873c8:
|
|
add r0, r0, #1
|
|
str r0, [r2, #0x210]
|
|
ldr ip, [r4, #0x14]
|
|
ldr r0, _021874f8 ; =0xffffce66
|
|
str ip, [r2, #0x1f4]
|
|
ldr r5, [r4, #0x18]
|
|
add ip, ip, r0
|
|
str r5, [r2, #0x1f8]
|
|
ldr lr, [r4, #0x1c]
|
|
ldr r1, _021874fc ; =0x00011333
|
|
str lr, [r2, #0x1fc]
|
|
add r4, r5, r1
|
|
str ip, [r2, #0x1f4]
|
|
str r4, [r2, #0x1f8]
|
|
add r1, lr, #0x8000
|
|
ldr r3, _02187500 ; =0xfffffac4
|
|
str r1, [r2, #0x1fc]
|
|
mov r0, #5
|
|
str r0, [r2, #0x184]
|
|
ldr r0, _02187504 ; =0x000073a0
|
|
str r3, [r2, #0x190]
|
|
str r0, [r2, #0x194]
|
|
mov r0, #0x9c00
|
|
str r0, [r2, #0x198]
|
|
rsb r0, r3, #0x35c
|
|
str r0, [r2, #0x18c]
|
|
str r1, [sp, #0x10]
|
|
str ip, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _021874d8 ; =data_027e0f64
|
|
ldr r3, _021874dc ; =data_ov38_02189360
|
|
ldr r0, [r0]
|
|
add r1, sp, #8
|
|
ldr r0, [r0, #4]
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
add sp, sp, #0x8c
|
|
ldmia sp!, {r4, r5, pc}
|
|
_0218746c:
|
|
ldr r0, _02187510 ; =data_027e0f74
|
|
ldr r1, [r4, #0x2e8]
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097bcc
|
|
ldr r0, _0218750c ; =data_ov00_020eec68
|
|
mov r1, #0xcd
|
|
mov r2, #0
|
|
mov r3, #0x7f
|
|
bl func_ov00_020d70a4
|
|
ldr r0, _02187514 ; =data_ov38_02188ca0
|
|
ldr r1, [r0, #0x258]
|
|
cmp r1, #0
|
|
ldrne r0, _02187518 ; =data_027e0fb4
|
|
ldrne r0, [r0]
|
|
strne r1, [r0, #0x10]
|
|
ldr r0, _0218751c ; =data_02057200
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, #4]
|
|
str r1, [r4, #0x2e0]
|
|
str r0, [r4, #0x2e4]
|
|
add sp, sp, #0x8c
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02186c84
|
|
_021874c4: .word data_ov38_021891e0
|
|
_021874c8: .word data_ov38_02189414
|
|
_021874cc: .word data_027e071c
|
|
_021874d0: .word 0x00000bb8
|
|
_021874d4: .word 0x00006d60
|
|
_021874d8: .word data_027e0f64
|
|
_021874dc: .word data_ov38_02189360
|
|
_021874e0: .word data_027e0c68
|
|
_021874e4: .word data_ov38_021893ec
|
|
_021874e8: .word 0x000008fc
|
|
_021874ec: .word 0x000061a8
|
|
_021874f0: .word 0x00007ccd
|
|
_021874f4: .word data_ov38_02189484
|
|
_021874f8: .word 0xffffce66
|
|
_021874fc: .word 0x00011333
|
|
_02187500: .word 0xfffffac4
|
|
_02187504: .word 0x000073a0
|
|
_02187508: .word data_027e0fc8
|
|
_0218750c: .word data_ov00_020eec68
|
|
_02187510: .word data_027e0f74
|
|
_02187514: .word data_ov38_02188ca0
|
|
_02187518: .word data_027e0fb4
|
|
_0218751c: .word data_02057200
|
|
|
|
.global func_ov38_02187520
|
|
arm_func_start func_ov38_02187520
|
|
func_ov38_02187520: ; 0x02187520
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0xb0
|
|
ldr r1, _021875bc ; =data_ov38_021891e0
|
|
mov r2, #0
|
|
mov r4, r0
|
|
str r2, [r1, #0x20c]
|
|
add r0, sp, #0
|
|
str r2, [r1, #0x210]
|
|
bl func_ov00_0209a4f4
|
|
mov r3, #0
|
|
ldr r0, _021875c0 ; =data_027e0f74
|
|
mvn lr, #0
|
|
mov ip, #0x32
|
|
mov r2, #1
|
|
ldr r0, [r0]
|
|
add r1, sp, #0
|
|
str lr, [sp, #4]
|
|
strb ip, [sp, #9]
|
|
strb r3, [sp, #0xa]
|
|
strb r3, [sp, #0xb]
|
|
strb r2, [sp, #0x16]
|
|
bl func_ov00_02097810
|
|
str r0, [r4, #0x2e8]
|
|
ldr r0, [r4, #0xff4]
|
|
bl func_ov29_0216fe04
|
|
ldr r0, _021875c4 ; =data_027e0f64
|
|
mov r1, #4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02088000
|
|
ldr r1, _021875c8 ; =data_ov38_02188ca0
|
|
add r0, sp, #0
|
|
ldr r2, [r1, #0x264]
|
|
ldr r1, [r1, #0x268]
|
|
str r2, [r4, #0x2e0]
|
|
str r1, [r4, #0x2e4]
|
|
bl func_ov00_0209a508
|
|
add sp, sp, #0xb0
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02187520
|
|
_021875bc: .word data_ov38_021891e0
|
|
_021875c0: .word data_027e0f74
|
|
_021875c4: .word data_027e0f64
|
|
_021875c8: .word data_ov38_02188ca0
|
|
|
|
.global func_ov38_021875cc
|
|
arm_func_start func_ov38_021875cc
|
|
func_ov38_021875cc: ; 0x021875cc
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, [r0, #0xff4]
|
|
ldr r1, [r1, #0x130]
|
|
cmp r1, #4
|
|
bne _021875f4
|
|
ldr r2, _02187620 ; =data_027e0f74
|
|
ldr r1, [r0, #0x2e8]
|
|
ldr r0, [r2]
|
|
bl func_ov00_02097bcc
|
|
ldmia sp!, {r3, pc}
|
|
_021875f4:
|
|
ldr r0, _02187624 ; =data_ov38_021891e0
|
|
ldr r1, [r0, #0x210]
|
|
add r1, r1, #1
|
|
str r1, [r0, #0x210]
|
|
cmp r1, #0xa
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r0, _02187628 ; =data_027e0fc8
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bcfb8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021875cc
|
|
_02187620: .word data_027e0f74
|
|
_02187624: .word data_ov38_021891e0
|
|
_02187628: .word data_027e0fc8
|
|
|
|
.global func_ov38_0218762c
|
|
arm_func_start func_ov38_0218762c
|
|
func_ov38_0218762c: ; 0x0218762c
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0xec
|
|
ldr r1, _02187944 ; =data_ov38_021891e0
|
|
mov r2, #0
|
|
mov r4, r0
|
|
str r2, [r1, #0x20c]
|
|
add r0, sp, #0x3c
|
|
str r2, [r1, #0x210]
|
|
bl func_ov00_0209a4f4
|
|
ldr r0, _02187948 ; =data_027e0f64
|
|
mov r3, #0x32
|
|
mov r2, #2
|
|
mov r1, #1
|
|
mvn r5, #0
|
|
strb r1, [sp, #0x47]
|
|
ldr r0, [r0]
|
|
strb r3, [sp, #0x45]
|
|
strb r2, [sp, #0x46]
|
|
str r5, [sp, #0x40]
|
|
ldr r5, [r0, #4]
|
|
ldr r0, _0218794c ; =data_ov38_02189360
|
|
ldr r2, [r5, #0x26c]
|
|
ldr r1, _02187950 ; =data_ov38_021893d4
|
|
str r2, [sp, #0x5c]
|
|
ldr r3, [r5, #0x270]
|
|
mov r2, #0
|
|
str r3, [sp, #0x60]
|
|
ldr r3, [r5, #0x274]
|
|
str r3, [sp, #0x64]
|
|
strb r2, [sp, #0x50]
|
|
bl func_ov38_02185c4c
|
|
ldr r0, _02187944 ; =data_ov38_021891e0
|
|
ldr sb, [r0, #0x180]
|
|
str sb, [r0, #0x118]
|
|
ldr r8, [r0, #0x184]
|
|
str r8, [r0, #0x11c]
|
|
ldr r7, [r0, #0x188]
|
|
str r7, [r0, #0x120]
|
|
ldr r1, [r0, #0x18c]
|
|
str r1, [r0, #0x124]
|
|
ldr r1, [r0, #0x190]
|
|
str r1, [r0, #0x128]
|
|
ldr r6, [r0, #0x194]
|
|
str r6, [r0, #0x12c]
|
|
ldr r1, [r0, #0x198]
|
|
str r1, [r0, #0x130]
|
|
ldr r5, [r0, #0x19c]
|
|
str r5, [r0, #0x134]
|
|
ldr lr, [r0, #0x1a0]
|
|
str lr, [r0, #0x138]
|
|
ldr ip, [r0, #0x1a4]
|
|
str ip, [r0, #0x13c]
|
|
ldr r3, [r0, #0x1a8]
|
|
str r3, [r0, #0x140]
|
|
ldr r2, [r0, #0x1ac]
|
|
str r2, [r0, #0x144]
|
|
ldr r1, [r0, #0x1b0]
|
|
str r1, [r0, #0x148]
|
|
ldr fp, [r0, #0x1b4]
|
|
str fp, [r0, #0x14c]
|
|
ldr sl, [r0, #0x1b8]
|
|
str sl, [sp]
|
|
str sl, [r0, #0x150]
|
|
ldr sl, [r0, #0x1bc]
|
|
str sl, [sp, #4]
|
|
str sl, [r0, #0x154]
|
|
ldr sl, [r0, #0x1c0]
|
|
str sl, [sp, #8]
|
|
str sl, [r0, #0x158]
|
|
ldr sl, [r0, #0x1c4]
|
|
str sl, [sp, #0xc]
|
|
str sl, [r0, #0x15c]
|
|
ldr sl, [r0, #0x1c8]
|
|
str sl, [sp, #0x10]
|
|
str sl, [r0, #0x160]
|
|
ldr sl, [r0, #0x1cc]
|
|
str sl, [sp, #0x14]
|
|
str sl, [r0, #0x164]
|
|
ldr sl, [r0, #0x1d0]
|
|
str sl, [sp, #0x18]
|
|
str sl, [r0, #0x168]
|
|
ldr sl, [r0, #0x1d4]
|
|
str sl, [sp, #0x1c]
|
|
str sl, [r0, #0x16c]
|
|
ldr sl, [r0, #0x1d8]
|
|
str sl, [sp, #0x20]
|
|
str sl, [r0, #0x170]
|
|
ldr sl, [r0, #0x1dc]
|
|
str sl, [sp, #0x24]
|
|
str sl, [r0, #0x174]
|
|
ldrb sl, [r0, #0x1e0]
|
|
str sl, [sp, #0x28]
|
|
strb sl, [r0, #0x178]
|
|
ldrb sl, [r0, #0x1e1]
|
|
str sl, [sp, #0x2c]
|
|
strb sl, [r0, #0x179]
|
|
ldrb sl, [r0, #0x1e2]
|
|
str sl, [sp, #0x30]
|
|
strb sl, [r0, #0x17a]
|
|
ldrb sl, [r0, #0x1e3]
|
|
str sl, [sp, #0x34]
|
|
strb sl, [r0, #0x17b]
|
|
ldrb sl, [r0, #0x1e4]
|
|
str sl, [sp, #0x38]
|
|
strb sl, [r0, #0x17c]
|
|
ldr sl, [r0, #0x1f4]
|
|
str sl, [r0, #0x1e8]
|
|
ldr sl, [r0, #0x1f8]
|
|
str sl, [r0, #0x1ec]
|
|
ldr sl, [r0, #0x1fc]
|
|
str sl, [r0, #0x1f0]
|
|
mov sl, #0
|
|
str sl, [r0, #0x104]
|
|
add sl, r5, #0x8800
|
|
sub r5, lr, #0x1000
|
|
ldr lr, [r4, #0x14]
|
|
str lr, [r0, #0x1f4]
|
|
ldr lr, [r4, #0x18]
|
|
str lr, [r0, #0x1f8]
|
|
ldr lr, [r4, #0x1c]
|
|
str lr, [r0, #0x1fc]
|
|
str r1, [sp, #0x98]
|
|
ldr r1, [sp]
|
|
str sl, [r0, #0x19c]
|
|
str r1, [sp, #0xa0]
|
|
ldr r1, [sp, #4]
|
|
str r3, [sp, #0x90]
|
|
str r1, [sp, #0xa4]
|
|
ldr r1, [sp, #8]
|
|
str r2, [sp, #0x94]
|
|
str r1, [sp, #0xa8]
|
|
ldr r1, [sp, #0xc]
|
|
mov r2, #4
|
|
str r1, [sp, #0xac]
|
|
ldr r1, [sp, #0x10]
|
|
str r5, [r0, #0x1a0]
|
|
str r1, [sp, #0xb0]
|
|
ldr r1, [sp, #0x14]
|
|
ldr r3, _02187954 ; =data_027e0f74
|
|
str r1, [sp, #0xb4]
|
|
ldr r1, [sp, #0x18]
|
|
str sb, [sp, #0x68]
|
|
str r1, [sp, #0xb8]
|
|
ldr r1, [sp, #0x1c]
|
|
str r8, [sp, #0x6c]
|
|
str r1, [sp, #0xbc]
|
|
ldr r1, [sp, #0x20]
|
|
str r7, [sp, #0x70]
|
|
str r1, [sp, #0xc0]
|
|
ldr r1, _02187958 ; =0x00000bb8
|
|
str r6, [sp, #0x7c]
|
|
str r1, [r0, #0x190]
|
|
mov r1, #0x7400
|
|
str r1, [r0, #0x198]
|
|
mov r1, #0xfa0
|
|
str r1, [r0, #0x18c]
|
|
ldr r0, [r3]
|
|
mov r3, #0xfa0
|
|
str r3, [sp, #0x74]
|
|
ldr r3, _02187958 ; =0x00000bb8
|
|
add r1, sp, #0x3c
|
|
str r3, [sp, #0x78]
|
|
mov r3, #0x7400
|
|
str r3, [sp, #0x80]
|
|
ldr r3, [sp, #0x24]
|
|
str ip, [sp, #0x8c]
|
|
str r3, [sp, #0xc4]
|
|
ldr r3, [sp, #0x28]
|
|
str fp, [sp, #0x9c]
|
|
strb r3, [sp, #0xc8]
|
|
ldr r3, [sp, #0x2c]
|
|
str sl, [sp, #0x84]
|
|
strb r3, [sp, #0xc9]
|
|
ldr r3, [sp, #0x30]
|
|
str r5, [sp, #0x88]
|
|
strb r3, [sp, #0xca]
|
|
ldr r3, [sp, #0x34]
|
|
str r2, [sp, #0xd0]
|
|
strb r3, [sp, #0xcb]
|
|
ldr r3, [sp, #0x38]
|
|
strb r3, [sp, #0xcc]
|
|
bl func_ov00_02097810
|
|
ldr r1, _0218795c ; =data_027e0fc8
|
|
str r0, [r4, #0x2e8]
|
|
ldr r0, [r1]
|
|
mov r1, #0
|
|
bl func_ov00_020bd070
|
|
mov r1, #0
|
|
ldr r0, _02187960 ; =data_ov38_02188ca0
|
|
str r1, [r4, #0x12c]
|
|
ldr r2, [r0, #0x26c]
|
|
ldr r1, [r0, #0x270]
|
|
add r0, sp, #0x3c
|
|
str r2, [r4, #0x2e0]
|
|
str r1, [r4, #0x2e4]
|
|
bl func_ov00_0209a508
|
|
add sp, sp, #0xec
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218762c
|
|
_02187944: .word data_ov38_021891e0
|
|
_02187948: .word data_027e0f64
|
|
_0218794c: .word data_ov38_02189360
|
|
_02187950: .word data_ov38_021893d4
|
|
_02187954: .word data_027e0f74
|
|
_02187958: .word 0x00000bb8
|
|
_0218795c: .word data_027e0fc8
|
|
_02187960: .word data_ov38_02188ca0
|
|
|
|
.global func_ov38_02187964
|
|
arm_func_start func_ov38_02187964
|
|
func_ov38_02187964: ; 0x02187964
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x154
|
|
ldr r1, _02188068 ; =data_ov38_021891e0
|
|
mov r5, r0
|
|
ldr r0, [r1, #0x20c]
|
|
cmp r0, #0
|
|
beq _02187994
|
|
cmp r0, #1
|
|
beq _02187cd8
|
|
cmp r0, #2
|
|
beq _02187e98
|
|
b _02187f44
|
|
_02187994:
|
|
ldr r0, _0218806c ; =data_ov38_021892e4
|
|
mov r4, #0x21
|
|
mov r1, #0x1000
|
|
mov r2, #0x66
|
|
mov r3, #0x52
|
|
str r4, [sp]
|
|
bl func_ov38_0217ca04
|
|
cmp r0, #0
|
|
beq _02187b28
|
|
ldr r2, _02188068 ; =data_ov38_021891e0
|
|
ldr r0, [r2, #0x210]
|
|
cmp r0, #0xf0
|
|
ble _02187b28
|
|
ldr r0, [r2, #0x20c]
|
|
mov r4, #0
|
|
add r0, r0, #1
|
|
str r0, [r2, #0x20c]
|
|
str r4, [r2, #0x104]
|
|
str r4, [r2, #0x210]
|
|
ldr r1, [r2, #0x1f4]
|
|
ldr r0, _02188070 ; =data_027e0f64
|
|
str r1, [sp, #0x3c]
|
|
ldr r3, [r2, #0x1f8]
|
|
add r1, sp, #0x3c
|
|
str r3, [sp, #0x40]
|
|
ldr r2, [r2, #0x1fc]
|
|
ldr r3, _02188074 ; =data_ov38_02189360
|
|
str r2, [sp, #0x44]
|
|
str r4, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, [r0]
|
|
mov r2, #2
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02089318
|
|
ldr r0, _02188068 ; =data_ov38_021891e0
|
|
add sp, sp, #0x154
|
|
ldr r1, [r0, #0x180]
|
|
str r1, [r0, #0x118]
|
|
ldr r1, [r0, #0x184]
|
|
str r1, [r0, #0x11c]
|
|
ldr r1, [r0, #0x188]
|
|
str r1, [r0, #0x120]
|
|
ldr r1, [r0, #0x18c]
|
|
str r1, [r0, #0x124]
|
|
ldr r1, [r0, #0x190]
|
|
str r1, [r0, #0x128]
|
|
ldr r1, [r0, #0x194]
|
|
str r1, [r0, #0x12c]
|
|
ldr r1, [r0, #0x198]
|
|
str r1, [r0, #0x130]
|
|
ldr r1, [r0, #0x19c]
|
|
str r1, [r0, #0x134]
|
|
ldr r1, [r0, #0x1a0]
|
|
str r1, [r0, #0x138]
|
|
ldr r1, [r0, #0x1a4]
|
|
str r1, [r0, #0x13c]
|
|
ldr r1, [r0, #0x1a8]
|
|
str r1, [r0, #0x140]
|
|
ldr r1, [r0, #0x1ac]
|
|
str r1, [r0, #0x144]
|
|
ldr r1, [r0, #0x1b0]
|
|
str r1, [r0, #0x148]
|
|
ldr r1, [r0, #0x1b4]
|
|
str r1, [r0, #0x14c]
|
|
ldr r1, [r0, #0x1b8]
|
|
str r1, [r0, #0x150]
|
|
ldr r1, [r0, #0x1bc]
|
|
str r1, [r0, #0x154]
|
|
ldr r1, [r0, #0x1c0]
|
|
str r1, [r0, #0x158]
|
|
ldr r1, [r0, #0x1c4]
|
|
str r1, [r0, #0x15c]
|
|
ldr r1, [r0, #0x1c8]
|
|
str r1, [r0, #0x160]
|
|
ldr r1, [r0, #0x1cc]
|
|
str r1, [r0, #0x164]
|
|
ldr r1, [r0, #0x1d0]
|
|
str r1, [r0, #0x168]
|
|
ldr r1, [r0, #0x1d4]
|
|
str r1, [r0, #0x16c]
|
|
ldr r1, [r0, #0x1d8]
|
|
str r1, [r0, #0x170]
|
|
ldr r1, [r0, #0x1dc]
|
|
str r1, [r0, #0x174]
|
|
ldrb r1, [r0, #0x1e0]
|
|
strb r1, [r0, #0x178]
|
|
ldrb r1, [r0, #0x1e1]
|
|
strb r1, [r0, #0x179]
|
|
ldrb r1, [r0, #0x1e2]
|
|
strb r1, [r0, #0x17a]
|
|
ldrb r1, [r0, #0x1e3]
|
|
strb r1, [r0, #0x17b]
|
|
ldrb r1, [r0, #0x1e4]
|
|
strb r1, [r0, #0x17c]
|
|
ldr r1, [r0, #0x1f4]
|
|
str r1, [r0, #0x1e8]
|
|
ldr r1, [r0, #0x1f8]
|
|
str r1, [r0, #0x1ec]
|
|
ldr r1, [r0, #0x1fc]
|
|
str r1, [r0, #0x1f0]
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02187b28:
|
|
ldr r3, _02188068 ; =data_ov38_021891e0
|
|
ldr r0, _02188078 ; =data_027e0fc8
|
|
ldr r1, [r3, #0x210]
|
|
add r4, r5, #0x358
|
|
add ip, r1, #1
|
|
ldr r0, [r0]
|
|
add r1, r4, #0xc00
|
|
mov r2, #0x400
|
|
str ip, [r3, #0x210]
|
|
bl func_ov00_020bb810
|
|
ldr r0, _02188078 ; =data_027e0fc8
|
|
add r1, r4, #0xc00
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bb8c4
|
|
ldr lr, _02188074 ; =data_ov38_02189360
|
|
add ip, sp, #0xec
|
|
mov r4, #6
|
|
_02187b6c:
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia ip!, {r0, r1, r2, r3}
|
|
subs r4, r4, #1
|
|
bne _02187b6c
|
|
ldmia lr, {r0, r1}
|
|
stmia ip, {r0, r1}
|
|
ldr r1, [r5, #0x14]
|
|
ldr r0, _02188068 ; =data_ov38_021891e0
|
|
mov r3, #0x8800
|
|
str r1, [r0, #0x1f4]
|
|
ldr r1, [r5, #0x18]
|
|
sub r2, r3, #0x9800
|
|
str r1, [r0, #0x1f8]
|
|
ldr r4, [r5, #0x1c]
|
|
ldr r1, _0218807c ; =0x00000bb8
|
|
str r4, [r0, #0x1fc]
|
|
str r3, [r0, #0x19c]
|
|
str r2, [r0, #0x1a0]
|
|
str r1, [r0, #0x190]
|
|
mov r1, #0x7400
|
|
str r1, [r0, #0x198]
|
|
mov r1, #0xfa0
|
|
str r1, [r0, #0x18c]
|
|
ldr r1, [r0, #0x104]
|
|
mov r3, #0
|
|
mul r4, r1, r1
|
|
ldr r0, [sp, #0x100]
|
|
mov r2, #0x1000
|
|
mov r1, r0, lsl #0x10
|
|
mov r4, r4, asr #0xc
|
|
add r0, sp, #0x6c
|
|
str r3, [sp, #0x6c]
|
|
str r3, [sp, #0x70]
|
|
str r2, [sp, #0x74]
|
|
mov r1, r1, asr #0x10
|
|
rsb r4, r4, #0x1000
|
|
bl func_ov00_020a61ac
|
|
ldr ip, [r5, #0x50]
|
|
ldr r3, [r5, #0x48]
|
|
mov r2, #0
|
|
add r0, sp, #0x6c
|
|
add r1, sp, #0x60
|
|
str r3, [sp, #0x60]
|
|
str r2, [sp, #0x64]
|
|
str ip, [sp, #0x68]
|
|
bl func_01ff9c2c
|
|
add r2, sp, #0x60
|
|
add r1, sp, #0x6c
|
|
mov r3, r2
|
|
rsb r0, r0, #0
|
|
bl func_01ff9e64
|
|
ldr r1, [sp, #0x60]
|
|
ldr r0, _02188068 ; =data_ov38_021891e0
|
|
mul r1, r4, r1
|
|
ldr r2, [r0, #0x1f4]
|
|
add r1, r2, r1, asr #12
|
|
str r1, [r0, #0x1f4]
|
|
ldr r2, [sp, #0x68]
|
|
ldr r3, [r0, #0x1fc]
|
|
mul r2, r4, r2
|
|
add r2, r3, r2, asr #12
|
|
str r2, [r0, #0x1fc]
|
|
ldr r1, _02188080 ; =data_ov38_021893c8
|
|
ldr r2, _02188084 ; =data_ov38_021893d4
|
|
str r1, [sp]
|
|
str r2, [sp, #4]
|
|
add r1, sp, #0x78
|
|
str r1, [sp, #8]
|
|
ldr r0, [r0, #0x104]
|
|
ldr r1, _02188088 ; =data_ov38_021892f8
|
|
ldr r2, _02188074 ; =data_ov38_02189360
|
|
add r3, sp, #0xec
|
|
bl func_ov38_02185d38
|
|
ldr r1, [sp, #0x78]
|
|
ldr r0, [sp, #0x7c]
|
|
str r1, [sp, #0x30]
|
|
ldr r1, [sp, #0x80]
|
|
str r0, [sp, #0x34]
|
|
str r1, [sp, #0x38]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02188070 ; =data_027e0f64
|
|
add r1, sp, #0x30
|
|
ldr r0, [r0]
|
|
mov r2, #2
|
|
ldr r0, [r0, #4]
|
|
add r3, sp, #0xec
|
|
bl func_ov00_02089318
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02187cd8:
|
|
ldr r0, [r5, #0x2c4]
|
|
add r0, r5, r0, lsl #2
|
|
ldr r0, [r0, #0x2b4]
|
|
cmp r0, #0x17
|
|
bne _02187d90
|
|
ldr r0, [r5, #0x2c4]
|
|
add r1, r5, #0x1b4
|
|
add r0, r1, r0, lsl #7
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02187d90
|
|
ldr r1, _02188068 ; =data_ov38_021891e0
|
|
mov r2, #0
|
|
ldr r3, [r1, #0x20c]
|
|
ldr r0, _02188078 ; =data_027e0fc8
|
|
add r3, r3, #1
|
|
str r3, [r1, #0x20c]
|
|
str r2, [r1, #0x104]
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bd0a8
|
|
ldr r0, _02188068 ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
str r1, [r0, #0x210]
|
|
ldr lr, [r5, #0x14]
|
|
mov r1, #0x8800
|
|
str lr, [r0, #0x1e8]
|
|
ldr ip, [r5, #0x18]
|
|
sub r2, r1, #0x9800
|
|
str ip, [r0, #0x1ec]
|
|
ldr r4, [r5, #0x1c]
|
|
add r3, ip, #0x1800
|
|
str r4, [r0, #0x1f0]
|
|
str lr, [r0, #0x1f4]
|
|
str ip, [r0, #0x1f8]
|
|
str r4, [r0, #0x1fc]
|
|
str r3, [r0, #0x1ec]
|
|
str r1, [r0, #0x19c]
|
|
ldr r1, _0218807c ; =0x00000bb8
|
|
str r2, [r0, #0x1a0]
|
|
str r1, [r0, #0x190]
|
|
mov r1, #0x7400
|
|
str r1, [r0, #0x198]
|
|
mov r1, #0xfa0
|
|
str r1, [r0, #0x18c]
|
|
b _02187e98
|
|
_02187d90:
|
|
ldr r0, _02188078 ; =data_027e0fc8
|
|
add r1, r5, #0x358
|
|
ldr r0, [r0]
|
|
add r1, r1, #0xc00
|
|
mov r2, #0x400
|
|
bl func_ov00_020bb810
|
|
ldr r1, _02188068 ; =data_ov38_021891e0
|
|
ldr r0, _0218806c ; =data_ov38_021892e4
|
|
ldr r2, [r1, #0x210]
|
|
mov r4, #0x14
|
|
add r2, r2, #1
|
|
str r2, [r1, #0x210]
|
|
mov r1, #0x1000
|
|
mov r2, #0x66
|
|
mov r3, #0x29
|
|
str r4, [sp]
|
|
bl func_ov38_0217ca04
|
|
ldr ip, _02188074 ; =data_ov38_02189360
|
|
add r5, sp, #0x84
|
|
mov r4, #6
|
|
_02187de0:
|
|
ldmia ip!, {r0, r1, r2, r3}
|
|
stmia r5!, {r0, r1, r2, r3}
|
|
subs r4, r4, #1
|
|
bne _02187de0
|
|
ldmia ip, {r0, r1}
|
|
stmia r5, {r0, r1}
|
|
ldr r2, _02188068 ; =data_ov38_021891e0
|
|
mov r3, #0x7800
|
|
str r3, [r2, #0x19c]
|
|
mov r3, #0x2c00
|
|
str r3, [r2, #0x1a0]
|
|
ldr r0, _0218808c ; =0x00001a2c
|
|
mov r1, #0xe10
|
|
str r0, [r2, #0x190]
|
|
mov r0, #0x5c00
|
|
str r0, [r2, #0x198]
|
|
str r1, [r2, #0x18c]
|
|
ldr r0, _02188080 ; =data_ov38_021893c8
|
|
ldr r1, _02188084 ; =data_ov38_021893d4
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
add r0, sp, #0x54
|
|
str r0, [sp, #8]
|
|
ldr r0, [r2, #0x104]
|
|
ldr r1, _02188088 ; =data_ov38_021892f8
|
|
ldr r2, _02188074 ; =data_ov38_02189360
|
|
add r3, sp, #0x84
|
|
bl func_ov38_02185d38
|
|
ldr r2, [sp, #0x54]
|
|
ldr r1, [sp, #0x58]
|
|
ldr r0, [sp, #0x5c]
|
|
str r2, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
str r0, [sp, #0x2c]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02188070 ; =data_027e0f64
|
|
add r1, sp, #0x24
|
|
ldr r0, [r0]
|
|
add r3, sp, #0x84
|
|
ldr r0, [r0, #4]
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02187e98:
|
|
add r0, r5, #0x1000
|
|
ldr r0, [r0, #0x68]
|
|
cmp r0, #3
|
|
bne _02187ed8
|
|
ldr r1, _02188068 ; =data_ov38_021891e0
|
|
mov r2, #0
|
|
ldr r3, [r1, #0x20c]
|
|
ldr r0, _02188070 ; =data_027e0f64
|
|
add r3, r3, #1
|
|
str r3, [r1, #0x20c]
|
|
str r2, [r1, #0x210]
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02088000
|
|
b _02187f44
|
|
_02187ed8:
|
|
ldr r0, _02188068 ; =data_ov38_021891e0
|
|
mov r1, #0x29
|
|
str r1, [sp]
|
|
ldr r1, [r0, #0x1ec]
|
|
ldr r0, _02188090 ; =data_ov38_021893d8
|
|
mov r2, #0x400
|
|
mov r3, #0x2d
|
|
bl func_ov38_0217ca04
|
|
ldr r0, _02188068 ; =data_ov38_021891e0
|
|
mov r1, #0
|
|
ldr r3, [r0, #0x1f4]
|
|
ldr r2, [r0, #0x1f8]
|
|
str r3, [sp, #0x18]
|
|
str r2, [sp, #0x1c]
|
|
ldr r2, [r0, #0x1fc]
|
|
ldr r0, _02188070 ; =data_027e0f64
|
|
str r2, [sp, #0x20]
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r3, _02188074 ; =data_ov38_02189360
|
|
ldr r0, [r0, #4]
|
|
add r1, sp, #0x18
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02187f44:
|
|
add r0, r5, #0x1000
|
|
ldr r0, [r0, #0x68]
|
|
cmp r0, #4
|
|
bne _02187fac
|
|
ldr r0, _02188094 ; =data_027e0f74
|
|
ldr r1, [r5, #0x2e8]
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097bcc
|
|
mvn r1, #0
|
|
ldr r0, _02188098 ; =data_02057200
|
|
str r1, [r5, #0x2e8]
|
|
ldr r2, [r0]
|
|
ldr r1, [r0, #4]
|
|
ldr r0, _02188094 ; =data_027e0f74
|
|
str r2, [r5, #0x2e0]
|
|
str r1, [r5, #0x2e4]
|
|
ldr r0, [r0]
|
|
mov r1, #0xf7
|
|
mov r2, #1
|
|
bl func_ov00_0209779c
|
|
ldr r0, _02188094 ; =data_027e0f74
|
|
mov r1, #0x11
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097968
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02187fac:
|
|
ldr r2, _02188068 ; =data_ov38_021891e0
|
|
mov r4, #0
|
|
ldr r1, [r2, #0x210]
|
|
ldr r0, _02188070 ; =data_027e0f64
|
|
add r1, r1, #1
|
|
str r1, [r2, #0x210]
|
|
ldr r3, [r2, #0x1f4]
|
|
add r1, sp, #0xc
|
|
str r3, [sp, #0xc]
|
|
ldr ip, [r2, #0x1f8]
|
|
ldr r3, _02188074 ; =data_ov38_02189360
|
|
str ip, [sp, #0x10]
|
|
ldr ip, [r2, #0x1fc]
|
|
mov r2, #2
|
|
str ip, [sp, #0x14]
|
|
str r4, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02089318
|
|
ldr r0, _02188068 ; =data_ov38_021891e0
|
|
ldr r0, [r0, #0x210]
|
|
cmp r0, #0x2d
|
|
addne sp, sp, #0x154
|
|
ldmneia sp!, {r4, r5, pc}
|
|
add r0, r5, #0x1000
|
|
ldr r1, [r0, #0x48]
|
|
cmp r1, #0x7000
|
|
addle sp, sp, #0x154
|
|
ldmleia sp!, {r4, r5, pc}
|
|
ldr r1, _0218809c ; =data_027e0f94
|
|
ldr r2, _021880a0 ; =0x00006ccd
|
|
ldr r1, [r1, #4]
|
|
mov r3, r4
|
|
str r3, [sp, #0x48]
|
|
str r2, [sp, #0x50]
|
|
str r1, [sp, #0x4c]
|
|
ldrsh r1, [r0, #0x94]
|
|
add r0, sp, #0x48
|
|
bl func_ov00_020a61ac
|
|
ldr r0, _02188078 ; =data_027e0fc8
|
|
add r1, sp, #0x48
|
|
ldr r0, [r0]
|
|
mov r2, #0x800
|
|
bl func_ov00_020bcf50
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02187964
|
|
_02188068: .word data_ov38_021891e0
|
|
_0218806c: .word data_ov38_021892e4
|
|
_02188070: .word data_027e0f64
|
|
_02188074: .word data_ov38_02189360
|
|
_02188078: .word data_027e0fc8
|
|
_0218807c: .word 0x00000bb8
|
|
_02188080: .word data_ov38_021893c8
|
|
_02188084: .word data_ov38_021893d4
|
|
_02188088: .word data_ov38_021892f8
|
|
_0218808c: .word 0x00001a2c
|
|
_02188090: .word data_ov38_021893d8
|
|
_02188094: .word data_027e0f74
|
|
_02188098: .word data_02057200
|
|
_0218809c: .word data_027e0f94
|
|
_021880a0: .word 0x00006ccd
|
|
|
|
.global func_ov38_021880a4
|
|
arm_func_start func_ov38_021880a4
|
|
func_ov38_021880a4: ; 0x021880a4
|
|
stmdb sp!, {r4, lr}
|
|
ldr r3, _021880d4 ; =data_027e0c68
|
|
mvn ip, #0
|
|
ldr r4, [r3, #0x18]
|
|
strb r2, [r4, #0x39]
|
|
strb ip, [r4, #0x38]
|
|
bl func_ov38_0217bf40
|
|
mov r2, r0
|
|
ldr r0, _021880d4 ; =data_027e0c68
|
|
mov r1, r4
|
|
bl func_02036ce4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021880a4
|
|
_021880d4: .word data_027e0c68
|
|
|
|
.global func_ov38_021880d8
|
|
arm_func_start func_ov38_021880d8
|
|
func_ov38_021880d8: ; 0x021880d8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #8
|
|
ldr r2, _02188188 ; =data_ov38_02189438
|
|
mov r3, #0x78
|
|
strh r3, [r2, #0x24]
|
|
mov r3, #0
|
|
mov r4, r0
|
|
strh r3, [r2, #0x20]
|
|
str r1, [r2, #0x28]
|
|
ldr r0, _0218818c ; =data_027e0fe4
|
|
ldr r2, _02188190 ; =0x4e564d4d
|
|
ldr r1, [r0]
|
|
add r0, sp, #0
|
|
bl func_ov00_020c3894
|
|
ldr r0, _0218818c ; =data_027e0fe4
|
|
add r1, sp, #0
|
|
ldr r0, [r0]
|
|
bl func_ov00_020c3674
|
|
ldr r3, _02188188 ; =data_ov38_02189438
|
|
ldr r1, _02188194 ; =0xfffff99a
|
|
str r0, [r3]
|
|
ldr r2, [r4, #0x48]
|
|
mov ip, #0
|
|
str r2, [r3, #4]
|
|
ldr r5, [r4, #0x4c]
|
|
ldr r2, _02188198 ; =data_ov38_021890f8
|
|
str r5, [r3, #8]
|
|
ldr r5, [r4, #0x50]
|
|
str r5, [r3, #0xc]
|
|
ldr r5, [r0, #0x48]
|
|
str r5, [r3, #0x10]
|
|
ldr r5, [r0, #0x4c]
|
|
str r5, [r3, #0x14]
|
|
ldr lr, [r0, #0x50]
|
|
add r0, r5, r1
|
|
str lr, [r3, #0x18]
|
|
str r0, [r3, #0x14]
|
|
strh ip, [r3, #0x22]
|
|
ldr r1, [r2, #0x20]
|
|
ldr r0, [r2, #0x24]
|
|
str r1, [r4, #0x3b8]
|
|
str r0, [r4, #0x3bc]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021880d8
|
|
_02188188: .word data_ov38_02189438
|
|
_0218818c: .word data_027e0fe4
|
|
_02188190: .word 0x4e564d4d
|
|
_02188194: .word 0xfffff99a
|
|
_02188198: .word data_ov38_021890f8
|
|
|
|
.global func_ov38_0218819c
|
|
arm_func_start func_ov38_0218819c
|
|
func_ov38_0218819c: ; 0x0218819c
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x18
|
|
ldr ip, _021884b8 ; =data_ov38_02189438
|
|
mov r4, r0
|
|
ldrsh r0, [ip, #0x20]
|
|
cmp r0, #4
|
|
addls pc, pc, r0, lsl #2
|
|
b _0218849c
|
|
_021881bc: ; jump table
|
|
b _021881d0 ; case 0
|
|
b _02188278 ; case 1
|
|
b _02188318 ; case 2
|
|
b _02188394 ; case 3
|
|
b _021883dc ; case 4
|
|
_021881d0:
|
|
ldrsh r1, [ip, #0x22]
|
|
ldr r5, _021884bc ; =data_02050f54
|
|
ldr r0, _021884c0 ; =data_ov38_0218943c
|
|
add r1, r1, #0x1000
|
|
strh r1, [ip, #0x22]
|
|
ldr r2, [ip, #0x10]
|
|
add r1, sp, #0xc
|
|
str r2, [sp, #0xc]
|
|
ldr r3, [ip, #0x14]
|
|
mov r2, #0x400
|
|
str r3, [sp, #0x10]
|
|
ldr lr, [ip, #0x18]
|
|
str lr, [sp, #0x14]
|
|
ldrh ip, [ip, #0x22]
|
|
mov ip, ip, asr #0x4
|
|
mov ip, ip, lsl #0x2
|
|
ldrsh r5, [r5, ip]
|
|
add r5, r5, #0x1000
|
|
mov r5, r5, asr #0x1
|
|
mov r5, r5, lsl #0xc
|
|
add r5, r5, #0x800
|
|
add r3, r3, r5, asr #12
|
|
str r3, [sp, #0x10]
|
|
bl func_0202b2e8
|
|
cmp r0, #0
|
|
beq _02188264
|
|
ldr r3, _021884b8 ; =data_ov38_02189438
|
|
mov r2, #0
|
|
strh r2, [r3, #0x22]
|
|
ldrsh r4, [r3, #0x20]
|
|
mov r0, #8
|
|
mov r1, #0xb
|
|
add r4, r4, #1
|
|
strh r4, [r3, #0x20]
|
|
strh r2, [r3, #0x24]
|
|
bl func_ov38_021880a4
|
|
b _02188278
|
|
_02188264:
|
|
ldr r1, _021884c0 ; =data_ov38_0218943c
|
|
mov r0, r4
|
|
bl func_ov00_020ba364
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02188278:
|
|
ldr r0, _021884c4 ; =data_027e0c68
|
|
mov r1, #0
|
|
bl func_02036770
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x18
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, _021884b8 ; =data_ov38_02189438
|
|
ldrsh r0, [r1, #0x24]
|
|
add r0, r0, #1
|
|
strh r0, [r1, #0x24]
|
|
ldrsh r0, [r1, #0x24]
|
|
cmp r0, #0x1e
|
|
addle sp, sp, #0x18
|
|
ldmleia sp!, {r3, r4, r5, pc}
|
|
ldrsh r3, [r1, #0x20]
|
|
mov r2, #0
|
|
ldr r0, _021884c8 ; =data_ov38_02189484
|
|
add r3, r3, #1
|
|
strh r3, [r1, #0x20]
|
|
strh r2, [r1, #0x24]
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _021882d8
|
|
bl func_ov38_0218864c
|
|
_021882d8:
|
|
mov r0, #8
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl func_ov38_021880a4
|
|
ldr r1, _021884b8 ; =data_ov38_02189438
|
|
add sp, sp, #0x18
|
|
ldr r0, [r1, #4]
|
|
str r0, [r1, #0x10]
|
|
ldr r0, [r1, #8]
|
|
str r0, [r1, #0x14]
|
|
ldr r2, [r1, #0xc]
|
|
add r0, r0, #0x33
|
|
str r2, [r1, #0x18]
|
|
add r0, r0, #0x300
|
|
str r0, [r1, #0x14]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02188318:
|
|
ldr r0, _021884c4 ; =data_027e0c68
|
|
mov r1, #0
|
|
bl func_02036770
|
|
cmp r0, #0
|
|
beq _02188370
|
|
ldr r3, _021884b8 ; =data_ov38_02189438
|
|
ldrsh r0, [r3, #0x24]
|
|
add r0, r0, #1
|
|
strh r0, [r3, #0x24]
|
|
ldrsh r0, [r3, #0x24]
|
|
cmp r0, #0x1e
|
|
ble _02188370
|
|
ldrsh r1, [r3, #0x20]
|
|
mov r2, #0
|
|
mov r0, #8
|
|
add r1, r1, #1
|
|
strh r1, [r3, #0x20]
|
|
mov r1, #0x21
|
|
strh r2, [r3, #0x24]
|
|
bl func_ov38_021880a4
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02188370:
|
|
ldr r0, _021884c0 ; =data_ov38_0218943c
|
|
ldr r1, _021884cc ; =data_ov38_02189448
|
|
mov r2, #0xcd
|
|
bl func_0202b2e8
|
|
ldr r1, _021884c0 ; =data_ov38_0218943c
|
|
mov r0, r4
|
|
bl func_ov00_020ba364
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_02188394:
|
|
ldr r0, _021884c4 ; =data_027e0c68
|
|
mov r1, #0
|
|
bl func_02036770
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x18
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _021884b8 ; =data_ov38_02189438
|
|
mov r1, #0
|
|
ldrsh r2, [r0, #0x20]
|
|
add sp, sp, #0x18
|
|
add r2, r2, #1
|
|
strh r2, [r0, #0x20]
|
|
strh r1, [r0, #0x24]
|
|
ldr r1, [r0, #0x28]
|
|
ldr r0, [r1]
|
|
add r0, r0, #1
|
|
str r0, [r1]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_021883dc:
|
|
ldr r0, _021884d0 ; =data_027e0f94
|
|
ldr r3, _021884bc ; =data_02050f54
|
|
ldr r5, [r0]
|
|
ldr r1, [r0, #4]
|
|
str r5, [sp]
|
|
str r1, [sp, #4]
|
|
ldr lr, [r0, #8]
|
|
add r0, r1, #0xcd
|
|
add r2, r0, #0xc00
|
|
sub r0, lr, #0x800
|
|
sub r1, r5, #0x800
|
|
str r2, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp]
|
|
ldrsh r1, [ip, #0x22]
|
|
ldr r2, _021884d4 ; =0x0000019a
|
|
ldr r0, _021884c0 ; =data_ov38_0218943c
|
|
add r1, r1, #0x1000
|
|
strh r1, [ip, #0x22]
|
|
ldrh ip, [ip, #0x22]
|
|
add r1, sp, #0
|
|
mov ip, ip, asr #0x4
|
|
mov ip, ip, lsl #0x2
|
|
ldrsh r3, [r3, ip]
|
|
add r3, r3, #0x1000
|
|
mov r3, r3, asr #0x1
|
|
mul r2, r3, r2
|
|
add r2, r2, #0x800
|
|
mov r2, r2, asr #0xc
|
|
add r2, r2, #0x9a
|
|
add r2, r2, #0x100
|
|
bl func_0202b2e8
|
|
cmp r0, #0
|
|
beq _02188488
|
|
ldr r0, _021884b8 ; =data_ov38_02189438
|
|
ldrsh r1, [r0, #0x20]
|
|
add r1, r1, #1
|
|
strh r1, [r0, #0x20]
|
|
ldr r1, [r0, #0x28]
|
|
ldr r0, [r1]
|
|
add r0, r0, #1
|
|
str r0, [r1]
|
|
b _0218849c
|
|
_02188488:
|
|
ldr r1, _021884c0 ; =data_ov38_0218943c
|
|
mov r0, r4
|
|
bl func_ov00_020ba364
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0218849c:
|
|
ldr r0, _021884d8 ; =data_02057200
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, #4]
|
|
str r1, [r4, #0x3b8]
|
|
str r0, [r4, #0x3bc]
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218819c
|
|
_021884b8: .word data_ov38_02189438
|
|
_021884bc: .word data_02050f54
|
|
_021884c0: .word data_ov38_0218943c
|
|
_021884c4: .word data_027e0c68
|
|
_021884c8: .word data_ov38_02189484
|
|
_021884cc: .word data_ov38_02189448
|
|
_021884d0: .word data_027e0f94
|
|
_021884d4: .word 0x0000019a
|
|
_021884d8: .word data_02057200
|
|
|
|
.global func_ov38_021884dc
|
|
arm_func_start func_ov38_021884dc
|
|
func_ov38_021884dc: ; 0x021884dc
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _02188508 ; =data_027e0fe0
|
|
mov r0, #0x170
|
|
ldr r1, [r1]
|
|
mov r2, #4
|
|
ldr r1, [r1]
|
|
bl func_0202e9dc
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl func_ov38_0218850c
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021884dc
|
|
_02188508: .word data_027e0fe0
|
|
|
|
.global func_ov38_0218850c
|
|
arm_func_start func_ov38_0218850c
|
|
func_ov38_0218850c: ; 0x0218850c
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r0
|
|
bl func_ov00_020c1554
|
|
ldr r0, _02188554 ; =data_ov38_02189128
|
|
mov r1, #4
|
|
ldr ip, _02188558 ; =func_ov00_020b7d74
|
|
str r0, [r4]
|
|
ldr r3, _0218855c ; =func_ov38_0217c988
|
|
mov r2, r1
|
|
add r0, r4, #0x160
|
|
str ip, [sp]
|
|
bl func_0204f614
|
|
ldr r1, _02188560 ; =data_ov38_02189464
|
|
mov r0, r4
|
|
str r4, [r1, #0x20]
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218850c
|
|
_02188554: .word data_ov38_02189128
|
|
_02188558: .word func_ov00_020b7d74
|
|
_0218855c: .word func_ov38_0217c988
|
|
_02188560: .word data_ov38_02189464
|
|
|
|
.global func_ov38_02188564
|
|
arm_func_start func_ov38_02188564
|
|
func_ov38_02188564: ; 0x02188564
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r1, #4
|
|
ldr ip, _0218859c ; =data_ov38_02189464
|
|
mov lr, #0
|
|
ldr r3, _021885a0 ; =func_ov00_020b7d74
|
|
mov r2, r1
|
|
add r0, r4, #0x160
|
|
str lr, [ip, #0x20]
|
|
bl func_0204f754
|
|
mov r0, r4
|
|
bl func_ov00_020c1730
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02188564
|
|
_0218859c: .word data_ov38_02189464
|
|
_021885a0: .word func_ov00_020b7d74
|
|
|
|
.global func_ov38_021885a4
|
|
arm_func_start func_ov38_021885a4
|
|
func_ov38_021885a4: ; 0x021885a4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r1, #4
|
|
ldr ip, _021885e4 ; =data_ov38_02189464
|
|
mov lr, #0
|
|
ldr r3, _021885e8 ; =func_ov00_020b7d74
|
|
mov r2, r1
|
|
add r0, r4, #0x160
|
|
str lr, [ip, #0x20]
|
|
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_ov38_021885a4
|
|
_021885e4: .word data_ov38_02189464
|
|
_021885e8: .word func_ov00_020b7d74
|
|
|
|
.global func_ov38_021885ec
|
|
arm_func_start func_ov38_021885ec
|
|
func_ov38_021885ec: ; 0x021885ec
|
|
stmdb sp!, {r3}
|
|
sub sp, sp, #0xc
|
|
ldr r1, _02188648 ; =data_ov38_02188ad8
|
|
add r3, sp, #0
|
|
mov ip, r0
|
|
ldmia r1, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r0, [sp]
|
|
mov r1, #0x800
|
|
str r0, [ip, #0x7c]
|
|
ldr r2, [sp, #4]
|
|
mov r0, #1
|
|
str r2, [ip, #0x80]
|
|
ldr r2, [sp, #8]
|
|
str r2, [ip, #0x84]
|
|
str r1, [ip, #0x88]
|
|
ldr r1, [ip, #0x4c]
|
|
sub r1, r1, #0x3000
|
|
str r1, [ip, #0x4c]
|
|
str r1, [ip, #0x58]
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3}
|
|
bx lr
|
|
.align 2, 0
|
|
arm_func_end func_ov38_021885ec
|
|
_02188648: .word data_ov38_02188ad8
|
|
|
|
.global func_ov38_0218864c
|
|
arm_func_start func_ov38_0218864c
|
|
func_ov38_0218864c: ; 0x0218864c
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #8
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
ldr r1, _02188738 ; =data_027e0e58
|
|
str r2, [sp, #4]
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
ldr r1, _0218873c ; =0x0000102c
|
|
add r2, r4, #0x48
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02188738 ; =data_027e0e58
|
|
ldr r1, _02188740 ; =0x0000102d
|
|
ldr r0, [r0]
|
|
add r2, r4, #0x48
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02188738 ; =data_027e0e58
|
|
ldr r1, _02188744 ; =0x0000102e
|
|
ldr r0, [r0]
|
|
add r2, r4, #0x48
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02188738 ; =data_027e0e58
|
|
ldr r1, _02188748 ; =0x0000102f
|
|
ldr r0, [r0]
|
|
add r2, r4, #0x48
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
ldr r0, _02188738 ; =data_027e0e58
|
|
mov r6, #0
|
|
ldr r5, [r0]
|
|
add r7, r4, #0x160
|
|
_021886f8:
|
|
mov r0, r5
|
|
mov r1, r7
|
|
bl func_ov00_0207c444
|
|
add r6, r6, #1
|
|
cmp r6, #4
|
|
add r7, r7, #4
|
|
blo _021886f8
|
|
ldr r0, _0218874c ; =data_027e0ffc
|
|
ldr r1, _02188750 ; =0x0000044b
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
mov r0, #0
|
|
strb r0, [r4, #0x118]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_0218864c
|
|
_02188738: .word data_027e0e58
|
|
_0218873c: .word 0x0000102c
|
|
_02188740: .word 0x0000102d
|
|
_02188744: .word 0x0000102e
|
|
_02188748: .word 0x0000102f
|
|
_0218874c: .word data_027e0ffc
|
|
_02188750: .word 0x0000044b
|
|
|
|
.global func_ov38_02188754
|
|
arm_func_start func_ov38_02188754
|
|
func_ov38_02188754: ; 0x02188754
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x48]
|
|
str r0, [r4, #0x54]
|
|
ldr r0, [r4, #0x4c]
|
|
str r0, [r4, #0x58]
|
|
ldr r0, [r4, #0x50]
|
|
str r0, [r4, #0x5c]
|
|
ldr r1, [r4, #0x18]
|
|
ldr r0, [r4, #0x4c]
|
|
subs r0, r1, r0
|
|
rsbmi r0, r0, #0
|
|
mov r0, r0, lsl #0xa
|
|
add r0, r0, #0x800
|
|
mov r2, r0, asr #0xc
|
|
cmp r2, #0x400
|
|
movgt r2, #0x400
|
|
bgt _021887a8
|
|
cmp r2, #0x29
|
|
movlt r2, #0x29
|
|
_021887a8:
|
|
add r0, r4, #0x48
|
|
add r1, r4, #0x14
|
|
bl func_0202b2e8
|
|
ldr r0, [r4, #0x160]
|
|
cmp r0, #0
|
|
bne _021887fc
|
|
ldr r3, _02188890 ; =0x0000102a
|
|
add r0, r4, #0x48
|
|
str r3, [sp]
|
|
add r1, r3, #1
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #2
|
|
ldr r0, _02188894 ; =data_027e0e58
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r0]
|
|
add r1, r4, #0x160
|
|
sub r2, r3, #2
|
|
sub r3, r3, #1
|
|
bl func_ov00_0207c358
|
|
b _0218886c
|
|
_021887fc:
|
|
add r2, r4, #0x160
|
|
add r1, r4, #0x170
|
|
cmp r2, r1
|
|
beq _0218886c
|
|
_0218880c:
|
|
ldr r0, [r2]
|
|
cmp r0, #0
|
|
beq _02188860
|
|
ldr r3, [r0, #0x20]
|
|
ldr ip, [r4, #0x48]
|
|
ldr r3, [r3]
|
|
ldr r3, [r3, #4]
|
|
add r3, ip, r3
|
|
str r3, [r0, #0x28]
|
|
ldr r3, [r0, #0x20]
|
|
ldr ip, [r4, #0x4c]
|
|
ldr r3, [r3]
|
|
ldr r3, [r3, #8]
|
|
add r3, ip, r3
|
|
str r3, [r0, #0x2c]
|
|
ldr r3, [r0, #0x20]
|
|
ldr ip, [r4, #0x50]
|
|
ldr r3, [r3]
|
|
ldr r3, [r3, #0xc]
|
|
add r3, ip, r3
|
|
str r3, [r0, #0x30]
|
|
_02188860:
|
|
add r2, r2, #4
|
|
cmp r2, r1
|
|
bne _0218880c
|
|
_0218886c:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r3, [r4, #8]
|
|
ldr r0, _02188898 ; =data_027e0ffc
|
|
ldr r1, _0218889c ; =0x0000044a
|
|
add r2, r4, #0x48
|
|
bl func_ov00_020cec60
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02188754
|
|
_02188890: .word 0x0000102a
|
|
_02188894: .word data_027e0e58
|
|
_02188898: .word data_027e0ffc
|
|
_0218889c: .word 0x0000044a
|
|
|
|
.global func_ov38_021888a0
|
|
arm_func_start func_ov38_021888a0
|
|
func_ov38_021888a0: ; 0x021888a0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl func_ov00_020c313c
|
|
cmp r0, #0
|
|
beq _021888c0
|
|
mov r0, r5
|
|
bl func_ov38_02188754
|
|
_021888c0:
|
|
mov r1, r4
|
|
add r0, r5, #0xa4
|
|
add r2, r5, #0x48
|
|
bl func_ov00_0207a1c8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end func_ov38_021888a0
|
|
|
|
.global func_ov38_021888d4
|
|
arm_func_start func_ov38_021888d4
|
|
func_ov38_021888d4: ; 0x021888d4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl func_ov00_020c313c
|
|
cmp r0, #0
|
|
beq _021888f4
|
|
mov r0, r5
|
|
bl func_ov38_02188754
|
|
_021888f4:
|
|
mov r1, r4
|
|
add r0, r5, #0xa4
|
|
add r2, r5, #0x48
|
|
bl func_ov00_0207a1c8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end func_ov38_021888d4
|
|
|
|
.rodata
|
|
.global data_ov38_02188908
|
|
data_ov38_02188908: ; 0x02188908
|
|
.byte 0x00, 0x00, 0xb0, 0x05
|
|
.global data_ov38_0218890c
|
|
data_ov38_0218890c: ; 0x0218890c
|
|
.byte 0x00, 0x78, 0x00, 0x00
|
|
.global data_ov38_02188910
|
|
data_ov38_02188910: ; 0x02188910
|
|
.byte 0x00, 0xa8, 0x00, 0x00
|
|
.global data_ov38_02188914
|
|
data_ov38_02188914: ; 0x02188914
|
|
.byte 0x00, 0xf0, 0xff, 0xff
|
|
.global data_ov38_02188918
|
|
data_ov38_02188918: ; 0x02188918
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_0218891c
|
|
data_ov38_0218891c: ; 0x0218891c
|
|
.byte 0x00, 0x78, 0x00, 0x00
|
|
.global data_ov38_02188920
|
|
data_ov38_02188920: ; 0x02188920
|
|
.byte 0x00, 0xa8, 0x00, 0x00
|
|
.global data_ov38_02188924
|
|
data_ov38_02188924: ; 0x02188924
|
|
.byte 0x00, 0x10, 0x00, 0x00
|
|
.global data_ov38_02188928
|
|
data_ov38_02188928: ; 0x02188928
|
|
.byte 0x00, 0x00, 0x50, 0xfa
|
|
.global data_ov38_0218892c
|
|
data_ov38_0218892c: ; 0x0218892c
|
|
.byte 0x00, 0x78, 0x00, 0x00
|
|
.global data_ov38_02188930
|
|
data_ov38_02188930: ; 0x02188930
|
|
.byte 0x00, 0xa8, 0x00, 0x00
|
|
.global data_ov38_02188934
|
|
data_ov38_02188934: ; 0x02188934
|
|
.byte 0x00, 0xf0, 0xff, 0xff
|
|
.global data_ov38_02188938
|
|
data_ov38_02188938: ; 0x02188938
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
.global data_ov38_0218893c
|
|
data_ov38_0218893c: ; 0x0218893c
|
|
.byte 0x00, 0x78, 0x00, 0x00
|
|
.global data_ov38_02188940
|
|
data_ov38_02188940: ; 0x02188940
|
|
.byte 0x00, 0xa8, 0x00, 0x00
|
|
.global data_ov38_02188944
|
|
data_ov38_02188944: ; 0x02188944
|
|
.byte 0x00, 0xf0, 0xff, 0xff
|
|
.global data_ov38_02188948
|
|
data_ov38_02188948: ; 0x02188948
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
.global data_ov38_0218894c
|
|
data_ov38_0218894c: ; 0x0218894c
|
|
.byte 0x00, 0x78, 0x00, 0x00
|
|
.global data_ov38_02188950
|
|
data_ov38_02188950: ; 0x02188950
|
|
.byte 0x00, 0xa8, 0x00, 0x00
|
|
.global data_ov38_02188954
|
|
data_ov38_02188954: ; 0x02188954
|
|
.byte 0x00, 0x10, 0x00, 0x00
|
|
.global data_ov38_02188958
|
|
data_ov38_02188958: ; 0x02188958
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
.global data_ov38_0218895c
|
|
data_ov38_0218895c: ; 0x0218895c
|
|
.byte 0x00, 0x78, 0x00, 0x00
|
|
.global data_ov38_02188960
|
|
data_ov38_02188960: ; 0x02188960
|
|
.byte 0x00, 0xa8, 0x00, 0x00
|
|
.global data_ov38_02188964
|
|
data_ov38_02188964: ; 0x02188964
|
|
.byte 0x00, 0xf0, 0xff, 0xff
|
|
.global data_ov38_02188968
|
|
data_ov38_02188968: ; 0x02188968
|
|
.byte 0x13, 0x00, 0x00, 0x00
|
|
.global data_ov38_0218896c
|
|
data_ov38_0218896c: ; 0x0218896c
|
|
.ascii "RJRJ"
|
|
.global data_ov38_02188970
|
|
data_ov38_02188970: ; 0x02188970
|
|
.byte 0x00, 0x00, 0x80, 0x01
|
|
.global data_ov38_02188974
|
|
data_ov38_02188974: ; 0x02188974
|
|
.byte 0x00, 0x00, 0x4c, 0x01
|
|
.global data_ov38_02188978
|
|
data_ov38_02188978: ; 0x02188978
|
|
.byte 0x40, 0xff, 0x00, 0x00
|
|
.global data_ov38_0218897c
|
|
data_ov38_0218897c: ; 0x0218897c
|
|
.byte 0xb3, 0xfe, 0x40, 0xff
|
|
.global data_ov38_02188980
|
|
data_ov38_02188980: ; 0x02188980
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_02188982
|
|
data_ov38_02188982: ; 0x02188982
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_02188984
|
|
data_ov38_02188984: ; 0x02188984
|
|
.byte 0xc0, 0x00
|
|
.global data_ov38_02188986
|
|
data_ov38_02188986: ; 0x02188986
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_02188988
|
|
data_ov38_02188988: ; 0x02188988
|
|
.byte 0xa6, 0x00
|
|
.global data_ov38_0218898a
|
|
data_ov38_0218898a: ; 0x0218898a
|
|
.byte 0xa0, 0xff
|
|
.global data_ov38_0218898c
|
|
data_ov38_0218898c: ; 0x0218898c
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_0218898e
|
|
data_ov38_0218898e: ; 0x0218898e
|
|
.byte 0x59, 0xff
|
|
.global data_ov38_02188990
|
|
data_ov38_02188990: ; 0x02188990
|
|
.byte 0xa0, 0xff
|
|
.global data_ov38_02188992
|
|
data_ov38_02188992: ; 0x02188992
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_02188994
|
|
data_ov38_02188994: ; 0x02188994
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_02188996
|
|
data_ov38_02188996: ; 0x02188996
|
|
.byte 0x40, 0x00
|
|
.global data_ov38_02188998
|
|
data_ov38_02188998: ; 0x02188998
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_0218899a
|
|
data_ov38_0218899a: ; 0x0218899a
|
|
.byte 0x37, 0x00
|
|
.global data_ov38_0218899c
|
|
data_ov38_0218899c: ; 0x0218899c
|
|
.byte 0xe0, 0xff
|
|
.global data_ov38_0218899e
|
|
data_ov38_0218899e: ; 0x0218899e
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021889a0
|
|
data_ov38_021889a0: ; 0x021889a0
|
|
.byte 0xc8, 0xff
|
|
.global data_ov38_021889a2
|
|
data_ov38_021889a2: ; 0x021889a2
|
|
.byte 0xe0, 0xff
|
|
.global data_ov38_021889a4
|
|
data_ov38_021889a4: ; 0x021889a4
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021889a6
|
|
data_ov38_021889a6: ; 0x021889a6
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021889a8
|
|
data_ov38_021889a8: ; 0x021889a8
|
|
.byte 0x80, 0x0f
|
|
.global data_ov38_021889aa
|
|
data_ov38_021889aa: ; 0x021889aa
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021889ac
|
|
data_ov38_021889ac: ; 0x021889ac
|
|
.byte 0x6c, 0x0d
|
|
.global data_ov38_021889ae
|
|
data_ov38_021889ae: ; 0x021889ae
|
|
.byte 0x40, 0xf8
|
|
.global data_ov38_021889b0
|
|
data_ov38_021889b0: ; 0x021889b0
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021889b2
|
|
data_ov38_021889b2: ; 0x021889b2
|
|
.byte 0x93, 0xf2
|
|
.global data_ov38_021889b4
|
|
data_ov38_021889b4: ; 0x021889b4
|
|
.byte 0x40, 0xf8
|
|
.global data_ov38_021889b6
|
|
data_ov38_021889b6: ; 0x021889b6
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021889b8
|
|
data_ov38_021889b8: ; 0x021889b8
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021889ba
|
|
data_ov38_021889ba: ; 0x021889ba
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021889bc
|
|
data_ov38_021889bc: ; 0x021889bc
|
|
.byte 0x00, 0x08
|
|
.global data_ov38_021889be
|
|
data_ov38_021889be: ; 0x021889be
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021889c0
|
|
data_ov38_021889c0: ; 0x021889c0
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021889c2
|
|
data_ov38_021889c2: ; 0x021889c2
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021889c4
|
|
data_ov38_021889c4: ; 0x021889c4
|
|
.byte 0xab, 0xea
|
|
.global data_ov38_021889c6
|
|
data_ov38_021889c6: ; 0x021889c6
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021889c8
|
|
data_ov38_021889c8: ; 0x021889c8
|
|
.byte 0x55, 0x15
|
|
.global data_ov38_021889ca
|
|
data_ov38_021889ca: ; 0x021889ca
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021889cc
|
|
data_ov38_021889cc: ; 0x021889cc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_021889d0
|
|
data_ov38_021889d0: ; 0x021889d0
|
|
.byte 0x1f, 0x05, 0x00, 0x00
|
|
.global data_ov38_021889d4
|
|
data_ov38_021889d4: ; 0x021889d4
|
|
.byte 0x71, 0x05, 0x00, 0x00
|
|
.global data_ov38_021889d8
|
|
data_ov38_021889d8: ; 0x021889d8
|
|
.byte 0x8f, 0x0a, 0x00, 0x00
|
|
.global data_ov38_021889dc
|
|
data_ov38_021889dc: ; 0x021889dc
|
|
.byte 0xe1, 0x0a, 0x00, 0x00
|
|
.global data_ov38_021889e0
|
|
data_ov38_021889e0: ; 0x021889e0
|
|
.byte 0x00, 0x10, 0x00, 0x00
|
|
.global data_ov38_021889e4
|
|
data_ov38_021889e4: ; 0x021889e4
|
|
.byte 0x82, 0x00, 0x00, 0x00
|
|
.global data_ov38_021889e8
|
|
data_ov38_021889e8: ; 0x021889e8
|
|
.byte 0x2d, 0x00, 0x00, 0x00
|
|
.global data_ov38_021889ec
|
|
data_ov38_021889ec: ; 0x021889ec
|
|
.byte 0x14, 0x00, 0x00, 0x00
|
|
.global data_ov38_021889f0
|
|
data_ov38_021889f0: ; 0x021889f0
|
|
.byte 0x00, 0x0c, 0x00, 0x00
|
|
.global data_ov38_021889f4
|
|
data_ov38_021889f4: ; 0x021889f4
|
|
.byte 0x00, 0x08, 0x00, 0x00
|
|
.global data_ov38_021889f8
|
|
data_ov38_021889f8: ; 0x021889f8
|
|
.byte 0xec, 0xff, 0xff, 0xff
|
|
.global data_ov38_021889fc
|
|
data_ov38_021889fc: ; 0x021889fc
|
|
.byte 0x00, 0xf8, 0xff, 0xff
|
|
.global data_ov38_02188a00
|
|
data_ov38_02188a00: ; 0x02188a00
|
|
.byte 0x00, 0xe4, 0xff, 0xff
|
|
.global data_ov38_02188a04
|
|
data_ov38_02188a04: ; 0x02188a04
|
|
.byte 0x00, 0xb8, 0x00, 0x00
|
|
.global data_ov38_02188a08
|
|
data_ov38_02188a08: ; 0x02188a08
|
|
.byte 0x00, 0x70, 0x00, 0x00
|
|
.global data_ov38_02188a0c
|
|
data_ov38_02188a0c: ; 0x02188a0c
|
|
.byte 0x00, 0xb8, 0x00, 0x00
|
|
.global data_ov38_02188a10
|
|
data_ov38_02188a10: ; 0x02188a10
|
|
.byte 0x00, 0x50, 0x00, 0x00
|
|
.global data_ov38_02188a14
|
|
data_ov38_02188a14: ; 0x02188a14
|
|
.byte 0x00, 0xb8, 0x00, 0x00
|
|
.global data_ov38_02188a18
|
|
data_ov38_02188a18: ; 0x02188a18
|
|
.byte 0x00, 0x50, 0x00, 0x00
|
|
.global data_ov38_02188a1c
|
|
data_ov38_02188a1c: ; 0x02188a1c
|
|
.byte 0x00, 0x28, 0x00, 0x00
|
|
.global data_ov38_02188a20
|
|
data_ov38_02188a20: ; 0x02188a20
|
|
.byte 0x00, 0x14, 0x00, 0x00
|
|
.global data_ov38_02188a24
|
|
data_ov38_02188a24: ; 0x02188a24
|
|
.ascii "frontLeg1"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a30
|
|
data_ov38_02188a30: ; 0x02188a30
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a34
|
|
data_ov38_02188a34: ; 0x02188a34
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a38
|
|
data_ov38_02188a38: ; 0x02188a38
|
|
.ascii "frontLeg2"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a44
|
|
data_ov38_02188a44: ; 0x02188a44
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a48
|
|
data_ov38_02188a48: ; 0x02188a48
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a4c
|
|
data_ov38_02188a4c: ; 0x02188a4c
|
|
.ascii "frontLeg3"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a58
|
|
data_ov38_02188a58: ; 0x02188a58
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a5c
|
|
data_ov38_02188a5c: ; 0x02188a5c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a60
|
|
data_ov38_02188a60: ; 0x02188a60
|
|
.ascii "backLeg1"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a6c
|
|
data_ov38_02188a6c: ; 0x02188a6c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a70
|
|
data_ov38_02188a70: ; 0x02188a70
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a74
|
|
data_ov38_02188a74: ; 0x02188a74
|
|
.ascii "backLeg2"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a80
|
|
data_ov38_02188a80: ; 0x02188a80
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a84
|
|
data_ov38_02188a84: ; 0x02188a84
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a88
|
|
data_ov38_02188a88: ; 0x02188a88
|
|
.ascii "eye"
|
|
.byte 0x00
|
|
.global data_ov38_02188a8c
|
|
data_ov38_02188a8c: ; 0x02188a8c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a90
|
|
data_ov38_02188a90: ; 0x02188a90
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a94
|
|
data_ov38_02188a94: ; 0x02188a94
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a98
|
|
data_ov38_02188a98: ; 0x02188a98
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188a9c
|
|
data_ov38_02188a9c: ; 0x02188a9c
|
|
.ascii "base2"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov38_02188aa4
|
|
data_ov38_02188aa4: ; 0x02188aa4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188aa8
|
|
data_ov38_02188aa8: ; 0x02188aa8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188aac
|
|
data_ov38_02188aac: ; 0x02188aac
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ab0
|
|
data_ov38_02188ab0: ; 0x02188ab0
|
|
.ascii "Lmouth"
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_02188ab8
|
|
data_ov38_02188ab8: ; 0x02188ab8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188abc
|
|
data_ov38_02188abc: ; 0x02188abc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ac0
|
|
data_ov38_02188ac0: ; 0x02188ac0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ac4
|
|
data_ov38_02188ac4: ; 0x02188ac4
|
|
.ascii "Rmouth"
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_02188acc
|
|
data_ov38_02188acc: ; 0x02188acc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ad0
|
|
data_ov38_02188ad0: ; 0x02188ad0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ad4
|
|
data_ov38_02188ad4: ; 0x02188ad4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ad8
|
|
data_ov38_02188ad8: ; 0x02188ad8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188adc
|
|
data_ov38_02188adc: ; 0x02188adc
|
|
.byte 0x00, 0x08, 0x00, 0x00
|
|
.global data_ov38_02188ae0
|
|
data_ov38_02188ae0: ; 0x02188ae0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
.section .init, 4, 1, 4
|
|
.global func_ov38_02188ae4
|
|
arm_func_start func_ov38_02188ae4
|
|
func_ov38_02188ae4: ; 0x02188ae4
|
|
stmdb sp!, {r3, lr}
|
|
sub sp, sp, #8
|
|
ldr r0, _02188bdc ; =data_ov38_021891ec
|
|
ldr r1, _02188be0 ; =0x47444f46
|
|
ldr r2, _02188be4 ; =func_ov38_0217bd80
|
|
mov r3, #0
|
|
bl func_0203e784
|
|
ldr r0, _02188bdc ; =data_ov38_021891ec
|
|
ldr r1, _02188be8 ; =func_0203e7b4
|
|
ldr r2, _02188bec ; =data_ov38_021891e0
|
|
bl func_0204f8d4
|
|
ldr r1, _02188bf0 ; =data_02057200
|
|
ldr r0, _02188bf4 ; =data_ov38_02188ca0
|
|
ldr r2, [r1]
|
|
ldr r1, [r1, #4]
|
|
str r2, [sp]
|
|
str r2, [r0, #0x90]
|
|
str r1, [r0, #0x94]
|
|
str r2, [r0, #0xd8]
|
|
str r1, [r0, #0xdc]
|
|
str r2, [r0, #0x120]
|
|
str r1, [r0, #0x124]
|
|
str r2, [r0, #0x138]
|
|
str r1, [r0, #0x13c]
|
|
str r2, [r0, #0x150]
|
|
str r1, [r0, #0x154]
|
|
str r2, [r0, #0x168]
|
|
str r1, [r0, #0x16c]
|
|
str r2, [r0, #0x1b0]
|
|
str r1, [r0, #0x1b4]
|
|
str r2, [r0, #0x1c8]
|
|
str r1, [r0, #0x1cc]
|
|
str r2, [r0, #0x1e0]
|
|
str r1, [r0, #0x1e4]
|
|
str r2, [r0, #0x1f8]
|
|
str r1, [r0, #0x1fc]
|
|
str r2, [r0, #0x210]
|
|
str r1, [r0, #0x214]
|
|
str r2, [r0, #0x228]
|
|
str r1, [r0, #0x22c]
|
|
str r2, [r0, #0x240]
|
|
str r1, [sp, #4]
|
|
str r1, [r0, #0x244]
|
|
ldr r3, _02188bf8 ; =data_ov38_021891e0
|
|
ldr ip, _02188bfc ; =data_ov38_02188f28
|
|
ldr r0, _02188c00 ; =data_ov38_021892a8
|
|
ldr r1, _02188c04 ; =func_0202bac0
|
|
ldr r2, _02188c08 ; =data_ov38_0218929c
|
|
str ip, [r3, #0x5c]
|
|
bl func_0204f8d4
|
|
ldr r0, _02188c0c ; =data_ov38_021892c0
|
|
ldr r1, _02188c04 ; =func_0202bac0
|
|
ldr r2, _02188c10 ; =data_ov38_021892b4
|
|
bl func_0204f8d4
|
|
ldr r0, _02188c14 ; =data_ov38_02189414
|
|
blx func_0202ab78
|
|
ldr r0, _02188c14 ; =data_ov38_02189414
|
|
ldr r1, _02188c18 ; =0x0202ab65
|
|
ldr r2, _02188c1c ; =data_ov38_02189408
|
|
bl func_0204f8d4
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02188ae4
|
|
_02188bdc: .word data_ov38_021891ec
|
|
_02188be0: .word 0x47444f46
|
|
_02188be4: .word func_ov38_0217bd80
|
|
_02188be8: .word func_0203e7b4
|
|
_02188bec: .word data_ov38_021891e0
|
|
_02188bf0: .word data_02057200
|
|
_02188bf4: .word data_ov38_02188ca0
|
|
_02188bf8: .word data_ov38_021891e0
|
|
_02188bfc: .word data_ov38_02188f28
|
|
_02188c00: .word data_ov38_021892a8
|
|
_02188c04: .word func_0202bac0
|
|
_02188c08: .word data_ov38_0218929c
|
|
_02188c0c: .word data_ov38_021892c0
|
|
_02188c10: .word data_ov38_021892b4
|
|
_02188c14: .word data_ov38_02189414
|
|
_02188c18: .word 0x0202ab65
|
|
_02188c1c: .word data_ov38_02189408
|
|
|
|
.global func_ov38_02188c20
|
|
arm_func_start func_ov38_02188c20
|
|
func_ov38_02188c20: ; 0x02188c20
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02188c4c ; =data_ov38_02189470
|
|
ldr r1, _02188c50 ; =0x4e564d4d
|
|
ldr r2, _02188c54 ; =func_ov38_021884dc
|
|
mov r3, #0
|
|
bl func_0203e784
|
|
ldr r0, _02188c4c ; =data_ov38_02189470
|
|
ldr r1, _02188c58 ; =func_0203e7b4
|
|
ldr r2, _02188c5c ; =data_ov38_02189464
|
|
bl func_0204f8d4
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov38_02188c20
|
|
_02188c4c: .word data_ov38_02189470
|
|
_02188c50: .word 0x4e564d4d
|
|
_02188c54: .word func_ov38_021884dc
|
|
_02188c58: .word func_0203e7b4
|
|
_02188c5c: .word data_ov38_02189464
|
|
|
|
.section .sinit, 4, 1, 4
|
|
.global data_ov38_02188c60
|
|
data_ov38_02188c60: ; 0x02188c60
|
|
.byte 0xe4, 0x8a, 0x18, 0x02
|
|
.global data_ov38_02188c64
|
|
data_ov38_02188c64: ; 0x02188c64
|
|
.byte 0x20, 0x8c, 0x18, 0x02
|
|
|
|
.data
|
|
.global data_ov38_02188c80
|
|
data_ov38_02188c80: ; 0x02188c80
|
|
.ascii "brg"
|
|
.byte 0x00
|
|
.global data_ov38_02188c84
|
|
data_ov38_02188c84: ; 0x02188c84
|
|
.ascii "fnl"
|
|
.byte 0x00
|
|
.global data_ov38_02188c88
|
|
data_ov38_02188c88: ; 0x02188c88
|
|
.ascii "pdl"
|
|
.byte 0x00
|
|
.global data_ov38_02188c8c
|
|
data_ov38_02188c8c: ; 0x02188c8c
|
|
.ascii "dco"
|
|
.byte 0x00
|
|
.global data_ov38_02188c90
|
|
data_ov38_02188c90: ; 0x02188c90
|
|
.ascii "can"
|
|
.byte 0x00
|
|
.global data_ov38_02188c94
|
|
data_ov38_02188c94: ; 0x02188c94
|
|
.ascii "hul"
|
|
.byte 0x00
|
|
.global data_ov38_02188c98
|
|
data_ov38_02188c98: ; 0x02188c98
|
|
.ascii "bow"
|
|
.byte 0x00
|
|
.global data_ov38_02188c9c
|
|
data_ov38_02188c9c: ; 0x02188c9c
|
|
.ascii "anc"
|
|
.byte 0x00
|
|
.global data_ov38_02188ca0
|
|
data_ov38_02188ca0: ; 0x02188ca0
|
|
.byte 0x9c, 0x8c, 0x18, 0x02
|
|
.global data_ov38_02188ca4
|
|
data_ov38_02188ca4: ; 0x02188ca4
|
|
.byte 0x98, 0x8c, 0x18, 0x02
|
|
.global data_ov38_02188ca8
|
|
data_ov38_02188ca8: ; 0x02188ca8
|
|
.byte 0x94, 0x8c, 0x18, 0x02
|
|
.global data_ov38_02188cac
|
|
data_ov38_02188cac: ; 0x02188cac
|
|
.byte 0x90, 0x8c, 0x18, 0x02
|
|
.global data_ov38_02188cb0
|
|
data_ov38_02188cb0: ; 0x02188cb0
|
|
.byte 0x8c, 0x8c, 0x18, 0x02
|
|
.global data_ov38_02188cb4
|
|
data_ov38_02188cb4: ; 0x02188cb4
|
|
.byte 0x88, 0x8c, 0x18, 0x02
|
|
.global data_ov38_02188cb8
|
|
data_ov38_02188cb8: ; 0x02188cb8
|
|
.byte 0x84, 0x8c, 0x18, 0x02
|
|
.global data_ov38_02188cbc
|
|
data_ov38_02188cbc: ; 0x02188cbc
|
|
.byte 0x80, 0x8c, 0x18, 0x02
|
|
.global data_ov38_02188cc0
|
|
data_ov38_02188cc0: ; 0x02188cc0
|
|
.byte 0x0c, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188cc4
|
|
data_ov38_02188cc4: ; 0x02188cc4
|
|
.byte 0x14, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188cc8
|
|
data_ov38_02188cc8: ; 0x02188cc8
|
|
.byte 0x1c, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188ccc
|
|
data_ov38_02188ccc: ; 0x02188ccc
|
|
.byte 0x24, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188cd0
|
|
data_ov38_02188cd0: ; 0x02188cd0
|
|
.byte 0x2c, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188cd4
|
|
data_ov38_02188cd4: ; 0x02188cd4
|
|
.byte 0x34, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188cd8
|
|
data_ov38_02188cd8: ; 0x02188cd8
|
|
.byte 0x3c, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188cdc
|
|
data_ov38_02188cdc: ; 0x02188cdc
|
|
.byte 0x44, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188ce0
|
|
data_ov38_02188ce0: ; 0x02188ce0
|
|
.byte 0x4c, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188ce4
|
|
data_ov38_02188ce4: ; 0x02188ce4
|
|
.byte 0x54, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188ce8
|
|
data_ov38_02188ce8: ; 0x02188ce8
|
|
.byte 0x5c, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188cec
|
|
data_ov38_02188cec: ; 0x02188cec
|
|
.byte 0x64, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188cf0
|
|
data_ov38_02188cf0: ; 0x02188cf0
|
|
.byte 0x6c, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188cf4
|
|
data_ov38_02188cf4: ; 0x02188cf4
|
|
.byte 0x70, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188cf8
|
|
data_ov38_02188cf8: ; 0x02188cf8
|
|
.byte 0x74, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188cfc
|
|
data_ov38_02188cfc: ; 0x02188cfc
|
|
.byte 0x78, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188d00
|
|
data_ov38_02188d00: ; 0x02188d00
|
|
.byte 0x80, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188d04
|
|
data_ov38_02188d04: ; 0x02188d04
|
|
.byte 0x88, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188d08
|
|
data_ov38_02188d08: ; 0x02188d08
|
|
.byte 0x94, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188d0c
|
|
data_ov38_02188d0c: ; 0x02188d0c
|
|
.byte 0xa4, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188d10
|
|
data_ov38_02188d10: ; 0x02188d10
|
|
.byte 0xac, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188d14
|
|
data_ov38_02188d14: ; 0x02188d14
|
|
.byte 0xb4, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188d18
|
|
data_ov38_02188d18: ; 0x02188d18
|
|
.byte 0xbc, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188d1c
|
|
data_ov38_02188d1c: ; 0x02188d1c
|
|
.byte 0xc4, 0x90, 0x18, 0x02
|
|
.global data_ov38_02188d20
|
|
data_ov38_02188d20: ; 0x02188d20
|
|
.byte 0x58, 0xea, 0x17, 0x02
|
|
.global data_ov38_02188d24
|
|
data_ov38_02188d24: ; 0x02188d24
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d28
|
|
data_ov38_02188d28: ; 0x02188d28
|
|
.byte 0x9c, 0xea, 0x17, 0x02
|
|
.global data_ov38_02188d2c
|
|
data_ov38_02188d2c: ; 0x02188d2c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d30
|
|
data_ov38_02188d30: ; 0x02188d30
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d34
|
|
data_ov38_02188d34: ; 0x02188d34
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d38
|
|
data_ov38_02188d38: ; 0x02188d38
|
|
.byte 0xa0, 0xea, 0x17, 0x02
|
|
.global data_ov38_02188d3c
|
|
data_ov38_02188d3c: ; 0x02188d3c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d40
|
|
data_ov38_02188d40: ; 0x02188d40
|
|
.byte 0x78, 0xeb, 0x17, 0x02
|
|
.global data_ov38_02188d44
|
|
data_ov38_02188d44: ; 0x02188d44
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d48
|
|
data_ov38_02188d48: ; 0x02188d48
|
|
.byte 0x2c, 0xf2, 0x17, 0x02
|
|
.global data_ov38_02188d4c
|
|
data_ov38_02188d4c: ; 0x02188d4c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d50
|
|
data_ov38_02188d50: ; 0x02188d50
|
|
.byte 0x88, 0xf2, 0x17, 0x02
|
|
.global data_ov38_02188d54
|
|
data_ov38_02188d54: ; 0x02188d54
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d58
|
|
data_ov38_02188d58: ; 0x02188d58
|
|
.byte 0xa4, 0xf3, 0x17, 0x02
|
|
.global data_ov38_02188d5c
|
|
data_ov38_02188d5c: ; 0x02188d5c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d60
|
|
data_ov38_02188d60: ; 0x02188d60
|
|
.byte 0x58, 0xf8, 0x17, 0x02
|
|
.global data_ov38_02188d64
|
|
data_ov38_02188d64: ; 0x02188d64
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d68
|
|
data_ov38_02188d68: ; 0x02188d68
|
|
.byte 0x90, 0xf8, 0x17, 0x02
|
|
.global data_ov38_02188d6c
|
|
data_ov38_02188d6c: ; 0x02188d6c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d70
|
|
data_ov38_02188d70: ; 0x02188d70
|
|
.byte 0x88, 0xf9, 0x17, 0x02
|
|
.global data_ov38_02188d74
|
|
data_ov38_02188d74: ; 0x02188d74
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d78
|
|
data_ov38_02188d78: ; 0x02188d78
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d7c
|
|
data_ov38_02188d7c: ; 0x02188d7c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d80
|
|
data_ov38_02188d80: ; 0x02188d80
|
|
.byte 0xcc, 0xf9, 0x17, 0x02
|
|
.global data_ov38_02188d84
|
|
data_ov38_02188d84: ; 0x02188d84
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d88
|
|
data_ov38_02188d88: ; 0x02188d88
|
|
.byte 0x40, 0xfa, 0x17, 0x02
|
|
.global data_ov38_02188d8c
|
|
data_ov38_02188d8c: ; 0x02188d8c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d90
|
|
data_ov38_02188d90: ; 0x02188d90
|
|
.byte 0x4c, 0xfb, 0x17, 0x02
|
|
.global data_ov38_02188d94
|
|
data_ov38_02188d94: ; 0x02188d94
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188d98
|
|
data_ov38_02188d98: ; 0x02188d98
|
|
.byte 0x50, 0xfb, 0x17, 0x02
|
|
.global data_ov38_02188d9c
|
|
data_ov38_02188d9c: ; 0x02188d9c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188da0
|
|
data_ov38_02188da0: ; 0x02188da0
|
|
.byte 0x20, 0xfc, 0x17, 0x02
|
|
.global data_ov38_02188da4
|
|
data_ov38_02188da4: ; 0x02188da4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188da8
|
|
data_ov38_02188da8: ; 0x02188da8
|
|
.byte 0xe4, 0xfd, 0x17, 0x02
|
|
.global data_ov38_02188dac
|
|
data_ov38_02188dac: ; 0x02188dac
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188db0
|
|
data_ov38_02188db0: ; 0x02188db0
|
|
.byte 0xf4, 0xfd, 0x17, 0x02
|
|
.global data_ov38_02188db4
|
|
data_ov38_02188db4: ; 0x02188db4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188db8
|
|
data_ov38_02188db8: ; 0x02188db8
|
|
.byte 0xa0, 0xfe, 0x17, 0x02
|
|
.global data_ov38_02188dbc
|
|
data_ov38_02188dbc: ; 0x02188dbc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188dc0
|
|
data_ov38_02188dc0: ; 0x02188dc0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188dc4
|
|
data_ov38_02188dc4: ; 0x02188dc4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188dc8
|
|
data_ov38_02188dc8: ; 0x02188dc8
|
|
.byte 0xd8, 0x00, 0x18, 0x02
|
|
.global data_ov38_02188dcc
|
|
data_ov38_02188dcc: ; 0x02188dcc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188dd0
|
|
data_ov38_02188dd0: ; 0x02188dd0
|
|
.byte 0x68, 0x01, 0x18, 0x02
|
|
.global data_ov38_02188dd4
|
|
data_ov38_02188dd4: ; 0x02188dd4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188dd8
|
|
data_ov38_02188dd8: ; 0x02188dd8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ddc
|
|
data_ov38_02188ddc: ; 0x02188ddc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188de0
|
|
data_ov38_02188de0: ; 0x02188de0
|
|
.byte 0xc4, 0x03, 0x18, 0x02
|
|
.global data_ov38_02188de4
|
|
data_ov38_02188de4: ; 0x02188de4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188de8
|
|
data_ov38_02188de8: ; 0x02188de8
|
|
.byte 0x4c, 0x04, 0x18, 0x02
|
|
.global data_ov38_02188dec
|
|
data_ov38_02188dec: ; 0x02188dec
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188df0
|
|
data_ov38_02188df0: ; 0x02188df0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188df4
|
|
data_ov38_02188df4: ; 0x02188df4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188df8
|
|
data_ov38_02188df8: ; 0x02188df8
|
|
.byte 0x0c, 0x05, 0x18, 0x02
|
|
.global data_ov38_02188dfc
|
|
data_ov38_02188dfc: ; 0x02188dfc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e00
|
|
data_ov38_02188e00: ; 0x02188e00
|
|
.byte 0xdc, 0x05, 0x18, 0x02
|
|
.global data_ov38_02188e04
|
|
data_ov38_02188e04: ; 0x02188e04
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e08
|
|
data_ov38_02188e08: ; 0x02188e08
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e0c
|
|
data_ov38_02188e0c: ; 0x02188e0c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e10
|
|
data_ov38_02188e10: ; 0x02188e10
|
|
.byte 0x64, 0x0a, 0x18, 0x02
|
|
.global data_ov38_02188e14
|
|
data_ov38_02188e14: ; 0x02188e14
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e18
|
|
data_ov38_02188e18: ; 0x02188e18
|
|
.byte 0xc0, 0x0b, 0x18, 0x02
|
|
.global data_ov38_02188e1c
|
|
data_ov38_02188e1c: ; 0x02188e1c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e20
|
|
data_ov38_02188e20: ; 0x02188e20
|
|
.byte 0xb0, 0x0d, 0x18, 0x02
|
|
.global data_ov38_02188e24
|
|
data_ov38_02188e24: ; 0x02188e24
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e28
|
|
data_ov38_02188e28: ; 0x02188e28
|
|
.byte 0x00, 0x0e, 0x18, 0x02
|
|
.global data_ov38_02188e2c
|
|
data_ov38_02188e2c: ; 0x02188e2c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e30
|
|
data_ov38_02188e30: ; 0x02188e30
|
|
.byte 0x2c, 0x0f, 0x18, 0x02
|
|
.global data_ov38_02188e34
|
|
data_ov38_02188e34: ; 0x02188e34
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e38
|
|
data_ov38_02188e38: ; 0x02188e38
|
|
.byte 0x1c, 0x12, 0x18, 0x02
|
|
.global data_ov38_02188e3c
|
|
data_ov38_02188e3c: ; 0x02188e3c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e40
|
|
data_ov38_02188e40: ; 0x02188e40
|
|
.byte 0x54, 0x12, 0x18, 0x02
|
|
.global data_ov38_02188e44
|
|
data_ov38_02188e44: ; 0x02188e44
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e48
|
|
data_ov38_02188e48: ; 0x02188e48
|
|
.byte 0x24, 0x13, 0x18, 0x02
|
|
.global data_ov38_02188e4c
|
|
data_ov38_02188e4c: ; 0x02188e4c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e50
|
|
data_ov38_02188e50: ; 0x02188e50
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e54
|
|
data_ov38_02188e54: ; 0x02188e54
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e58
|
|
data_ov38_02188e58: ; 0x02188e58
|
|
.byte 0xfc, 0x15, 0x18, 0x02
|
|
.global data_ov38_02188e5c
|
|
data_ov38_02188e5c: ; 0x02188e5c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e60
|
|
data_ov38_02188e60: ; 0x02188e60
|
|
.byte 0x7c, 0x16, 0x18, 0x02
|
|
.global data_ov38_02188e64
|
|
data_ov38_02188e64: ; 0x02188e64
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e68
|
|
data_ov38_02188e68: ; 0x02188e68
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e6c
|
|
data_ov38_02188e6c: ; 0x02188e6c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e70
|
|
data_ov38_02188e70: ; 0x02188e70
|
|
.byte 0x90, 0x18, 0x18, 0x02
|
|
.global data_ov38_02188e74
|
|
data_ov38_02188e74: ; 0x02188e74
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e78
|
|
data_ov38_02188e78: ; 0x02188e78
|
|
.byte 0x50, 0x19, 0x18, 0x02
|
|
.global data_ov38_02188e7c
|
|
data_ov38_02188e7c: ; 0x02188e7c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e80
|
|
data_ov38_02188e80: ; 0x02188e80
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e84
|
|
data_ov38_02188e84: ; 0x02188e84
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e88
|
|
data_ov38_02188e88: ; 0x02188e88
|
|
.byte 0x30, 0x1e, 0x18, 0x02
|
|
.global data_ov38_02188e8c
|
|
data_ov38_02188e8c: ; 0x02188e8c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e90
|
|
data_ov38_02188e90: ; 0x02188e90
|
|
.byte 0x20, 0x1f, 0x18, 0x02
|
|
.global data_ov38_02188e94
|
|
data_ov38_02188e94: ; 0x02188e94
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e98
|
|
data_ov38_02188e98: ; 0x02188e98
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188e9c
|
|
data_ov38_02188e9c: ; 0x02188e9c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ea0
|
|
data_ov38_02188ea0: ; 0x02188ea0
|
|
.byte 0x40, 0x20, 0x18, 0x02
|
|
.global data_ov38_02188ea4
|
|
data_ov38_02188ea4: ; 0x02188ea4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ea8
|
|
data_ov38_02188ea8: ; 0x02188ea8
|
|
.byte 0x94, 0x20, 0x18, 0x02
|
|
.global data_ov38_02188eac
|
|
data_ov38_02188eac: ; 0x02188eac
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188eb0
|
|
data_ov38_02188eb0: ; 0x02188eb0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188eb4
|
|
data_ov38_02188eb4: ; 0x02188eb4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188eb8
|
|
data_ov38_02188eb8: ; 0x02188eb8
|
|
.byte 0x28, 0x22, 0x18, 0x02
|
|
.global data_ov38_02188ebc
|
|
data_ov38_02188ebc: ; 0x02188ebc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ec0
|
|
data_ov38_02188ec0: ; 0x02188ec0
|
|
.byte 0x3c, 0x23, 0x18, 0x02
|
|
.global data_ov38_02188ec4
|
|
data_ov38_02188ec4: ; 0x02188ec4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ec8
|
|
data_ov38_02188ec8: ; 0x02188ec8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ecc
|
|
data_ov38_02188ecc: ; 0x02188ecc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ed0
|
|
data_ov38_02188ed0: ; 0x02188ed0
|
|
.byte 0x60, 0x25, 0x18, 0x02
|
|
.global data_ov38_02188ed4
|
|
data_ov38_02188ed4: ; 0x02188ed4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ed8
|
|
data_ov38_02188ed8: ; 0x02188ed8
|
|
.byte 0xa0, 0x25, 0x18, 0x02
|
|
.global data_ov38_02188edc
|
|
data_ov38_02188edc: ; 0x02188edc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ee0
|
|
data_ov38_02188ee0: ; 0x02188ee0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ee4
|
|
data_ov38_02188ee4: ; 0x02188ee4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ee8
|
|
data_ov38_02188ee8: ; 0x02188ee8
|
|
.byte 0x84, 0x6c, 0x18, 0x02
|
|
.global data_ov38_02188eec
|
|
data_ov38_02188eec: ; 0x02188eec
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ef0
|
|
data_ov38_02188ef0: ; 0x02188ef0
|
|
.byte 0xbc, 0x5e, 0x18, 0x02
|
|
.global data_ov38_02188ef4
|
|
data_ov38_02188ef4: ; 0x02188ef4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ef8
|
|
data_ov38_02188ef8: ; 0x02188ef8
|
|
.byte 0xff, 0xff, 0xff, 0xff
|
|
.global data_ov38_02188efc
|
|
data_ov38_02188efc: ; 0x02188efc
|
|
.byte 0x84, 0x6c, 0x18, 0x02
|
|
.global data_ov38_02188f00
|
|
data_ov38_02188f00: ; 0x02188f00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188f04
|
|
data_ov38_02188f04: ; 0x02188f04
|
|
.byte 0xcc, 0x75, 0x18, 0x02
|
|
.global data_ov38_02188f08
|
|
data_ov38_02188f08: ; 0x02188f08
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188f0c
|
|
data_ov38_02188f0c: ; 0x02188f0c
|
|
.byte 0x64, 0x79, 0x18, 0x02
|
|
.global data_ov38_02188f10
|
|
data_ov38_02188f10: ; 0x02188f10
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188f14
|
|
data_ov38_02188f14: ; 0x02188f14
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188f18
|
|
data_ov38_02188f18: ; 0x02188f18
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188f1c
|
|
data_ov38_02188f1c: ; 0x02188f1c
|
|
.byte 0x44, 0xc1, 0x17, 0x02
|
|
.global data_ov38_02188f20
|
|
data_ov38_02188f20: ; 0x02188f20
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188f24
|
|
data_ov38_02188f24: ; 0x02188f24
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188f28
|
|
data_ov38_02188f28: ; 0x02188f28
|
|
.byte 0x48, 0xbf, 0x17, 0x02
|
|
.global data_ov38_02188f2c
|
|
data_ov38_02188f2c: ; 0x02188f2c
|
|
.byte 0x50, 0xc0, 0x17, 0x02
|
|
.global data_ov38_02188f30
|
|
data_ov38_02188f30: ; 0x02188f30
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188f34
|
|
data_ov38_02188f34: ; 0x02188f34
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188f38
|
|
data_ov38_02188f38: ; 0x02188f38
|
|
.byte 0xc0, 0xc7, 0x17, 0x02
|
|
.global data_ov38_02188f3c
|
|
data_ov38_02188f3c: ; 0x02188f3c
|
|
.byte 0xa0, 0xc8, 0x17, 0x02
|
|
.global data_ov38_02188f40
|
|
data_ov38_02188f40: ; 0x02188f40
|
|
.byte 0x90, 0xcf, 0x17, 0x02
|
|
.global data_ov38_02188f44
|
|
data_ov38_02188f44: ; 0x02188f44
|
|
.byte 0x3c, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02188f48
|
|
data_ov38_02188f48: ; 0x02188f48
|
|
.byte 0x40, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02188f4c
|
|
data_ov38_02188f4c: ; 0x02188f4c
|
|
.byte 0x1c, 0x38, 0x18, 0x02
|
|
.global data_ov38_02188f50
|
|
data_ov38_02188f50: ; 0x02188f50
|
|
.byte 0xa4, 0x3a, 0x18, 0x02
|
|
.global data_ov38_02188f54
|
|
data_ov38_02188f54: ; 0x02188f54
|
|
.byte 0xd4, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02188f58
|
|
data_ov38_02188f58: ; 0x02188f58
|
|
.byte 0x94, 0x4c, 0x18, 0x02
|
|
.global data_ov38_02188f5c
|
|
data_ov38_02188f5c: ; 0x02188f5c
|
|
.byte 0x44, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02188f60
|
|
data_ov38_02188f60: ; 0x02188f60
|
|
.byte 0x48, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02188f64
|
|
data_ov38_02188f64: ; 0x02188f64
|
|
.byte 0xa8, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02188f68
|
|
data_ov38_02188f68: ; 0x02188f68
|
|
.byte 0xb0, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02188f6c
|
|
data_ov38_02188f6c: ; 0x02188f6c
|
|
.byte 0x4c, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02188f70
|
|
data_ov38_02188f70: ; 0x02188f70
|
|
.byte 0x7c, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02188f74
|
|
data_ov38_02188f74: ; 0x02188f74
|
|
.byte 0xe4, 0x27, 0x0c, 0x02
|
|
.global data_ov38_02188f78
|
|
data_ov38_02188f78: ; 0x02188f78
|
|
.byte 0x04, 0x30, 0x0c, 0x02
|
|
.global data_ov38_02188f7c
|
|
data_ov38_02188f7c: ; 0x02188f7c
|
|
.byte 0x44, 0x27, 0x0c, 0x02
|
|
.global data_ov38_02188f80
|
|
data_ov38_02188f80: ; 0x02188f80
|
|
.byte 0x68, 0x3d, 0x18, 0x02
|
|
.global data_ov38_02188f84
|
|
data_ov38_02188f84: ; 0x02188f84
|
|
.byte 0x50, 0x1c, 0x0c, 0x02
|
|
.global data_ov38_02188f88
|
|
data_ov38_02188f88: ; 0x02188f88
|
|
.byte 0x0c, 0x31, 0x0c, 0x02
|
|
.global data_ov38_02188f8c
|
|
data_ov38_02188f8c: ; 0x02188f8c
|
|
.byte 0x14, 0x31, 0x0c, 0x02
|
|
.global data_ov38_02188f90
|
|
data_ov38_02188f90: ; 0x02188f90
|
|
.byte 0xa8, 0x18, 0x0c, 0x02
|
|
.global data_ov38_02188f94
|
|
data_ov38_02188f94: ; 0x02188f94
|
|
.byte 0xc4, 0x18, 0x0c, 0x02
|
|
.global data_ov38_02188f98
|
|
data_ov38_02188f98: ; 0x02188f98
|
|
.byte 0xfc, 0x18, 0x0c, 0x02
|
|
.global data_ov38_02188f9c
|
|
data_ov38_02188f9c: ; 0x02188f9c
|
|
.byte 0x04, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fa0
|
|
data_ov38_02188fa0: ; 0x02188fa0
|
|
.byte 0x10, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fa4
|
|
data_ov38_02188fa4: ; 0x02188fa4
|
|
.byte 0x14, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fa8
|
|
data_ov38_02188fa8: ; 0x02188fa8
|
|
.byte 0x1c, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fac
|
|
data_ov38_02188fac: ; 0x02188fac
|
|
.byte 0x24, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fb0
|
|
data_ov38_02188fb0: ; 0x02188fb0
|
|
.byte 0x2c, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fb4
|
|
data_ov38_02188fb4: ; 0x02188fb4
|
|
.byte 0x28, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fb8
|
|
data_ov38_02188fb8: ; 0x02188fb8
|
|
.byte 0x34, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fbc
|
|
data_ov38_02188fbc: ; 0x02188fbc
|
|
.byte 0x38, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fc0
|
|
data_ov38_02188fc0: ; 0x02188fc0
|
|
.byte 0x3c, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fc4
|
|
data_ov38_02188fc4: ; 0x02188fc4
|
|
.byte 0x40, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fc8
|
|
data_ov38_02188fc8: ; 0x02188fc8
|
|
.byte 0x48, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fcc
|
|
data_ov38_02188fcc: ; 0x02188fcc
|
|
.byte 0x50, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fd0
|
|
data_ov38_02188fd0: ; 0x02188fd0
|
|
.byte 0x54, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fd4
|
|
data_ov38_02188fd4: ; 0x02188fd4
|
|
.byte 0x58, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02188fd8
|
|
data_ov38_02188fd8: ; 0x02188fd8
|
|
.byte 0x6c, 0x1b, 0x0c, 0x02
|
|
.global data_ov38_02188fdc
|
|
data_ov38_02188fdc: ; 0x02188fdc
|
|
.byte 0xb4, 0x1b, 0x0c, 0x02
|
|
.global data_ov38_02188fe0
|
|
data_ov38_02188fe0: ; 0x02188fe0
|
|
.byte 0xf8, 0x1b, 0x0c, 0x02
|
|
.global data_ov38_02188fe4
|
|
data_ov38_02188fe4: ; 0x02188fe4
|
|
.byte 0xfc, 0x31, 0x0c, 0x02
|
|
.global data_ov38_02188fe8
|
|
data_ov38_02188fe8: ; 0x02188fe8
|
|
.byte 0x2c, 0x32, 0x0c, 0x02
|
|
.global data_ov38_02188fec
|
|
data_ov38_02188fec: ; 0x02188fec
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ff0
|
|
data_ov38_02188ff0: ; 0x02188ff0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02188ff4
|
|
data_ov38_02188ff4: ; 0x02188ff4
|
|
.byte 0x6d, 0x9b, 0x0a, 0x02
|
|
.global data_ov38_02188ff8
|
|
data_ov38_02188ff8: ; 0x02188ff8
|
|
.byte 0x79, 0x9b, 0x0a, 0x02
|
|
.global data_ov38_02188ffc
|
|
data_ov38_02188ffc: ; 0x02188ffc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02189000
|
|
data_ov38_02189000: ; 0x02189000
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02189004
|
|
data_ov38_02189004: ; 0x02189004
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02189008
|
|
data_ov38_02189008: ; 0x02189008
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_0218900c
|
|
data_ov38_0218900c: ; 0x0218900c
|
|
.ascii "wait1"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov38_02189014
|
|
data_ov38_02189014: ; 0x02189014
|
|
.ascii "wait2"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov38_0218901c
|
|
data_ov38_0218901c: ; 0x0218901c
|
|
.ascii "wait3"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov38_02189024
|
|
data_ov38_02189024: ; 0x02189024
|
|
.ascii "spit1"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov38_0218902c
|
|
data_ov38_0218902c: ; 0x0218902c
|
|
.ascii "spit2"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov38_02189034
|
|
data_ov38_02189034: ; 0x02189034
|
|
.ascii "spit3"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov38_0218903c
|
|
data_ov38_0218903c: ; 0x0218903c
|
|
.ascii "chance1"
|
|
.byte 0x00
|
|
.global data_ov38_02189044
|
|
data_ov38_02189044: ; 0x02189044
|
|
.ascii "chance2"
|
|
.byte 0x00
|
|
.global data_ov38_0218904c
|
|
data_ov38_0218904c: ; 0x0218904c
|
|
.ascii "damage1"
|
|
.byte 0x00
|
|
.global data_ov38_02189054
|
|
data_ov38_02189054: ; 0x02189054
|
|
.ascii "damage2"
|
|
.byte 0x00
|
|
.global data_ov38_0218905c
|
|
data_ov38_0218905c: ; 0x0218905c
|
|
.ascii "damage3"
|
|
.byte 0x00
|
|
.global data_ov38_02189064
|
|
data_ov38_02189064: ; 0x02189064
|
|
.ascii "damage4"
|
|
.byte 0x00
|
|
.global data_ov38_0218906c
|
|
data_ov38_0218906c: ; 0x0218906c
|
|
.ascii "up1"
|
|
.byte 0x00
|
|
.global data_ov38_02189070
|
|
data_ov38_02189070: ; 0x02189070
|
|
.ascii "up2"
|
|
.byte 0x00
|
|
.global data_ov38_02189074
|
|
data_ov38_02189074: ; 0x02189074
|
|
.ascii "up3"
|
|
.byte 0x00
|
|
.global data_ov38_02189078
|
|
data_ov38_02189078: ; 0x02189078
|
|
.ascii "fall1"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov38_02189080
|
|
data_ov38_02189080: ; 0x02189080
|
|
.ascii "fall2"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov38_02189088
|
|
data_ov38_02189088: ; 0x02189088
|
|
.ascii "all_attack1"
|
|
.byte 0x00
|
|
.global data_ov38_02189094
|
|
data_ov38_02189094: ; 0x02189094
|
|
.ascii "all_attack_end"
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021890a4
|
|
data_ov38_021890a4: ; 0x021890a4
|
|
.ascii "enter1"
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021890ac
|
|
data_ov38_021890ac: ; 0x021890ac
|
|
.ascii "enter2"
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021890b4
|
|
data_ov38_021890b4: ; 0x021890b4
|
|
.ascii "enter3"
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021890bc
|
|
data_ov38_021890bc: ; 0x021890bc
|
|
.ascii "enter4"
|
|
.byte 0x00, 0x00
|
|
.global data_ov38_021890c4
|
|
data_ov38_021890c4: ; 0x021890c4
|
|
.ascii "dead1"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov38_021890cc
|
|
data_ov38_021890cc: ; 0x021890cc
|
|
.ascii "gdo1_eye_pl"
|
|
.byte 0x00
|
|
.global data_ov38_021890d8
|
|
data_ov38_021890d8: ; 0x021890d8
|
|
.ascii "brg"
|
|
.byte 0x00
|
|
.global data_ov38_021890dc
|
|
data_ov38_021890dc: ; 0x021890dc
|
|
.ascii "fnl"
|
|
.byte 0x00
|
|
.global data_ov38_021890e0
|
|
data_ov38_021890e0: ; 0x021890e0
|
|
.ascii "pdl"
|
|
.byte 0x00
|
|
.global data_ov38_021890e4
|
|
data_ov38_021890e4: ; 0x021890e4
|
|
.ascii "dco"
|
|
.byte 0x00
|
|
.global data_ov38_021890e8
|
|
data_ov38_021890e8: ; 0x021890e8
|
|
.ascii "can"
|
|
.byte 0x00
|
|
.global data_ov38_021890ec
|
|
data_ov38_021890ec: ; 0x021890ec
|
|
.ascii "hul"
|
|
.byte 0x00
|
|
.global data_ov38_021890f0
|
|
data_ov38_021890f0: ; 0x021890f0
|
|
.ascii "bow"
|
|
.byte 0x00
|
|
.global data_ov38_021890f4
|
|
data_ov38_021890f4: ; 0x021890f4
|
|
.ascii "anc"
|
|
.byte 0x00
|
|
.global data_ov38_021890f8
|
|
data_ov38_021890f8: ; 0x021890f8
|
|
.byte 0xf4, 0x90, 0x18, 0x02
|
|
.global data_ov38_021890fc
|
|
data_ov38_021890fc: ; 0x021890fc
|
|
.byte 0xf0, 0x90, 0x18, 0x02
|
|
.global data_ov38_02189100
|
|
data_ov38_02189100: ; 0x02189100
|
|
.byte 0xec, 0x90, 0x18, 0x02
|
|
.global data_ov38_02189104
|
|
data_ov38_02189104: ; 0x02189104
|
|
.byte 0xe8, 0x90, 0x18, 0x02
|
|
.global data_ov38_02189108
|
|
data_ov38_02189108: ; 0x02189108
|
|
.byte 0xe4, 0x90, 0x18, 0x02
|
|
.global data_ov38_0218910c
|
|
data_ov38_0218910c: ; 0x0218910c
|
|
.byte 0xe0, 0x90, 0x18, 0x02
|
|
.global data_ov38_02189110
|
|
data_ov38_02189110: ; 0x02189110
|
|
.byte 0xdc, 0x90, 0x18, 0x02
|
|
.global data_ov38_02189114
|
|
data_ov38_02189114: ; 0x02189114
|
|
.byte 0xd8, 0x90, 0x18, 0x02
|
|
.global data_ov38_02189118
|
|
data_ov38_02189118: ; 0x02189118
|
|
.byte 0x9c, 0x81, 0x18, 0x02
|
|
.global data_ov38_0218911c
|
|
data_ov38_0218911c: ; 0x0218911c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02189120
|
|
data_ov38_02189120: ; 0x02189120
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02189124
|
|
data_ov38_02189124: ; 0x02189124
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov38_02189128
|
|
data_ov38_02189128: ; 0x02189128
|
|
.byte 0x64, 0x85, 0x18, 0x02
|
|
.global data_ov38_0218912c
|
|
data_ov38_0218912c: ; 0x0218912c
|
|
.byte 0xa4, 0x85, 0x18, 0x02
|
|
.global data_ov38_02189130
|
|
data_ov38_02189130: ; 0x02189130
|
|
.byte 0xec, 0x85, 0x18, 0x02
|
|
.global data_ov38_02189134
|
|
data_ov38_02189134: ; 0x02189134
|
|
.byte 0x3c, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02189138
|
|
data_ov38_02189138: ; 0x02189138
|
|
.byte 0x40, 0x17, 0x0c, 0x02
|
|
.global data_ov38_0218913c
|
|
data_ov38_0218913c: ; 0x0218913c
|
|
.byte 0xd4, 0x88, 0x18, 0x02
|
|
.global data_ov38_02189140
|
|
data_ov38_02189140: ; 0x02189140
|
|
.byte 0xa0, 0x88, 0x18, 0x02
|
|
.global data_ov38_02189144
|
|
data_ov38_02189144: ; 0x02189144
|
|
.byte 0xd4, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02189148
|
|
data_ov38_02189148: ; 0x02189148
|
|
.byte 0x94, 0x18, 0x0c, 0x02
|
|
.global data_ov38_0218914c
|
|
data_ov38_0218914c: ; 0x0218914c
|
|
.byte 0x44, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02189150
|
|
data_ov38_02189150: ; 0x02189150
|
|
.byte 0x48, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02189154
|
|
data_ov38_02189154: ; 0x02189154
|
|
.byte 0xa8, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02189158
|
|
data_ov38_02189158: ; 0x02189158
|
|
.byte 0xb0, 0x17, 0x0c, 0x02
|
|
.global data_ov38_0218915c
|
|
data_ov38_0218915c: ; 0x0218915c
|
|
.byte 0x4c, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02189160
|
|
data_ov38_02189160: ; 0x02189160
|
|
.byte 0x7c, 0x17, 0x0c, 0x02
|
|
.global data_ov38_02189164
|
|
data_ov38_02189164: ; 0x02189164
|
|
.byte 0xe4, 0x27, 0x0c, 0x02
|
|
.global data_ov38_02189168
|
|
data_ov38_02189168: ; 0x02189168
|
|
.byte 0x04, 0x30, 0x0c, 0x02
|
|
.global data_ov38_0218916c
|
|
data_ov38_0218916c: ; 0x0218916c
|
|
.byte 0x44, 0x27, 0x0c, 0x02
|
|
.global data_ov38_02189170
|
|
data_ov38_02189170: ; 0x02189170
|
|
.byte 0x48, 0x1c, 0x0c, 0x02
|
|
.global data_ov38_02189174
|
|
data_ov38_02189174: ; 0x02189174
|
|
.byte 0x50, 0x1c, 0x0c, 0x02
|
|
.global data_ov38_02189178
|
|
data_ov38_02189178: ; 0x02189178
|
|
.byte 0x0c, 0x31, 0x0c, 0x02
|
|
.global data_ov38_0218917c
|
|
data_ov38_0218917c: ; 0x0218917c
|
|
.byte 0x14, 0x31, 0x0c, 0x02
|
|
.global data_ov38_02189180
|
|
data_ov38_02189180: ; 0x02189180
|
|
.byte 0xa8, 0x18, 0x0c, 0x02
|
|
.global data_ov38_02189184
|
|
data_ov38_02189184: ; 0x02189184
|
|
.byte 0xc4, 0x18, 0x0c, 0x02
|
|
.global data_ov38_02189188
|
|
data_ov38_02189188: ; 0x02189188
|
|
.byte 0xfc, 0x18, 0x0c, 0x02
|
|
.global data_ov38_0218918c
|
|
data_ov38_0218918c: ; 0x0218918c
|
|
.byte 0x04, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02189190
|
|
data_ov38_02189190: ; 0x02189190
|
|
.byte 0x10, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02189194
|
|
data_ov38_02189194: ; 0x02189194
|
|
.byte 0x14, 0x19, 0x0c, 0x02
|
|
.global data_ov38_02189198
|
|
data_ov38_02189198: ; 0x02189198
|
|
.byte 0x1c, 0x19, 0x0c, 0x02
|
|
.global data_ov38_0218919c
|
|
data_ov38_0218919c: ; 0x0218919c
|
|
.byte 0x24, 0x19, 0x0c, 0x02
|
|
.global data_ov38_021891a0
|
|
data_ov38_021891a0: ; 0x021891a0
|
|
.byte 0x2c, 0x19, 0x0c, 0x02
|
|
.global data_ov38_021891a4
|
|
data_ov38_021891a4: ; 0x021891a4
|
|
.byte 0x28, 0x19, 0x0c, 0x02
|
|
.global data_ov38_021891a8
|
|
data_ov38_021891a8: ; 0x021891a8
|
|
.byte 0x34, 0x19, 0x0c, 0x02
|
|
.global data_ov38_021891ac
|
|
data_ov38_021891ac: ; 0x021891ac
|
|
.byte 0x38, 0x19, 0x0c, 0x02
|
|
.global data_ov38_021891b0
|
|
data_ov38_021891b0: ; 0x021891b0
|
|
.byte 0x3c, 0x19, 0x0c, 0x02
|
|
.global data_ov38_021891b4
|
|
data_ov38_021891b4: ; 0x021891b4
|
|
.byte 0x40, 0x19, 0x0c, 0x02
|
|
.global data_ov38_021891b8
|
|
data_ov38_021891b8: ; 0x021891b8
|
|
.byte 0x48, 0x19, 0x0c, 0x02
|
|
.global data_ov38_021891bc
|
|
data_ov38_021891bc: ; 0x021891bc
|
|
.byte 0x50, 0x19, 0x0c, 0x02
|
|
.global data_ov38_021891c0
|
|
data_ov38_021891c0: ; 0x021891c0
|
|
.byte 0x54, 0x19, 0x0c, 0x02
|
|
.global data_ov38_021891c4
|
|
data_ov38_021891c4: ; 0x021891c4
|
|
.byte 0x58, 0x19, 0x0c, 0x02
|
|
.global data_ov38_021891c8
|
|
data_ov38_021891c8: ; 0x021891c8
|
|
.byte 0x6c, 0x1b, 0x0c, 0x02
|
|
.global data_ov38_021891cc
|
|
data_ov38_021891cc: ; 0x021891cc
|
|
.byte 0xb4, 0x1b, 0x0c, 0x02
|
|
.global data_ov38_021891d0
|
|
data_ov38_021891d0: ; 0x021891d0
|
|
.byte 0xf8, 0x1b, 0x0c, 0x02
|
|
.global data_ov38_021891d4
|
|
data_ov38_021891d4: ; 0x021891d4
|
|
.byte 0xfc, 0x31, 0x0c, 0x02
|
|
.global data_ov38_021891d8
|
|
data_ov38_021891d8: ; 0x021891d8
|
|
.byte 0x2c, 0x32, 0x0c, 0x02
|
|
.global data_ov38_021891dc
|
|
data_ov38_021891dc: ; 0x021891dc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
; 0x021891e0
|
|
|
|
.bss
|
|
.global data_ov38_021891e0
|
|
data_ov38_021891e0:
|
|
.space 0x4
|
|
.global data_ov38_021891e4
|
|
data_ov38_021891e4:
|
|
.space 0x4
|
|
.global data_ov38_021891e8
|
|
data_ov38_021891e8:
|
|
.space 0x4
|
|
.global data_ov38_021891ec
|
|
data_ov38_021891ec:
|
|
.space 0x4
|
|
.global data_ov38_021891f0
|
|
data_ov38_021891f0:
|
|
.space 0x4
|
|
.global data_ov38_021891f4
|
|
data_ov38_021891f4:
|
|
.space 0x4
|
|
.global data_ov38_021891f8
|
|
data_ov38_021891f8:
|
|
.space 0x4
|
|
.global data_ov38_021891fc
|
|
data_ov38_021891fc:
|
|
.space 0x4
|
|
.global data_ov38_02189200
|
|
data_ov38_02189200:
|
|
.space 0x4
|
|
.global data_ov38_02189204
|
|
data_ov38_02189204:
|
|
.space 0x4
|
|
.global data_ov38_02189208
|
|
data_ov38_02189208:
|
|
.space 0x4
|
|
.global data_ov38_0218920c
|
|
data_ov38_0218920c:
|
|
.space 0x4
|
|
.global data_ov38_02189210
|
|
data_ov38_02189210:
|
|
.space 0x4
|
|
.global data_ov38_02189214
|
|
data_ov38_02189214:
|
|
.space 0x4
|
|
.global data_ov38_02189218
|
|
data_ov38_02189218:
|
|
.space 0x4
|
|
.global data_ov38_0218921c
|
|
data_ov38_0218921c:
|
|
.space 0x4
|
|
.global data_ov38_02189220
|
|
data_ov38_02189220:
|
|
.space 0x4
|
|
.global data_ov38_02189224
|
|
data_ov38_02189224:
|
|
.space 0x4
|
|
.global data_ov38_02189228
|
|
data_ov38_02189228:
|
|
.space 0x4
|
|
.global data_ov38_0218922c
|
|
data_ov38_0218922c:
|
|
.space 0x4
|
|
.global data_ov38_02189230
|
|
data_ov38_02189230:
|
|
.space 0x4
|
|
.global data_ov38_02189234
|
|
data_ov38_02189234:
|
|
.space 0x4
|
|
.global data_ov38_02189238
|
|
data_ov38_02189238:
|
|
.space 0x4
|
|
.global data_ov38_0218923c
|
|
data_ov38_0218923c:
|
|
.space 0x4
|
|
.global data_ov38_02189240
|
|
data_ov38_02189240:
|
|
.space 0x4
|
|
.global data_ov38_02189244
|
|
data_ov38_02189244:
|
|
.space 0x4
|
|
.global data_ov38_02189248
|
|
data_ov38_02189248:
|
|
.space 0x4
|
|
.global data_ov38_0218924c
|
|
data_ov38_0218924c:
|
|
.space 0x4
|
|
.global data_ov38_02189250
|
|
data_ov38_02189250:
|
|
.space 0x4
|
|
.global data_ov38_02189254
|
|
data_ov38_02189254:
|
|
.space 0x4
|
|
.global data_ov38_02189258
|
|
data_ov38_02189258:
|
|
.space 0x4
|
|
.global data_ov38_0218925c
|
|
data_ov38_0218925c:
|
|
.space 0x4
|
|
.global data_ov38_02189260
|
|
data_ov38_02189260:
|
|
.space 0x4
|
|
.global data_ov38_02189264
|
|
data_ov38_02189264:
|
|
.space 0x4
|
|
.global data_ov38_02189268
|
|
data_ov38_02189268:
|
|
.space 0x4
|
|
.global data_ov38_0218926c
|
|
data_ov38_0218926c:
|
|
.space 0x4
|
|
.global data_ov38_02189270
|
|
data_ov38_02189270:
|
|
.space 0x4
|
|
.global data_ov38_02189274
|
|
data_ov38_02189274:
|
|
.space 0x4
|
|
.global data_ov38_02189278
|
|
data_ov38_02189278:
|
|
.space 0x4
|
|
.global data_ov38_0218927c
|
|
data_ov38_0218927c:
|
|
.space 0x4
|
|
.global data_ov38_02189280
|
|
data_ov38_02189280:
|
|
.space 0x4
|
|
.global data_ov38_02189284
|
|
data_ov38_02189284:
|
|
.space 0x4
|
|
.global data_ov38_02189288
|
|
data_ov38_02189288:
|
|
.space 0x4
|
|
.global data_ov38_0218928c
|
|
data_ov38_0218928c:
|
|
.space 0x4
|
|
.global data_ov38_02189290
|
|
data_ov38_02189290:
|
|
.space 0x4
|
|
.global data_ov38_02189294
|
|
data_ov38_02189294:
|
|
.space 0x4
|
|
.global data_ov38_02189298
|
|
data_ov38_02189298:
|
|
.space 0x4
|
|
.global data_ov38_0218929c
|
|
data_ov38_0218929c:
|
|
.space 0x4
|
|
.global data_ov38_021892a0
|
|
data_ov38_021892a0:
|
|
.space 0x4
|
|
.global data_ov38_021892a4
|
|
data_ov38_021892a4:
|
|
.space 0x4
|
|
.global data_ov38_021892a8
|
|
data_ov38_021892a8:
|
|
.space 0x4
|
|
.global data_ov38_021892ac
|
|
data_ov38_021892ac:
|
|
.space 0x4
|
|
.global data_ov38_021892b0
|
|
data_ov38_021892b0:
|
|
.space 0x4
|
|
.global data_ov38_021892b4
|
|
data_ov38_021892b4:
|
|
.space 0x4
|
|
.global data_ov38_021892b8
|
|
data_ov38_021892b8:
|
|
.space 0x4
|
|
.global data_ov38_021892bc
|
|
data_ov38_021892bc:
|
|
.space 0x4
|
|
.global data_ov38_021892c0
|
|
data_ov38_021892c0:
|
|
.space 0x4
|
|
.global data_ov38_021892c4
|
|
data_ov38_021892c4:
|
|
.space 0x4
|
|
.global data_ov38_021892c8
|
|
data_ov38_021892c8:
|
|
.space 0x4
|
|
.global data_ov38_021892cc
|
|
data_ov38_021892cc:
|
|
.space 0x4
|
|
.global data_ov38_021892d0
|
|
data_ov38_021892d0:
|
|
.space 0x4
|
|
.global data_ov38_021892d4
|
|
data_ov38_021892d4:
|
|
.space 0x4
|
|
.global data_ov38_021892d8
|
|
data_ov38_021892d8:
|
|
.space 0x4
|
|
.global data_ov38_021892dc
|
|
data_ov38_021892dc:
|
|
.space 0x4
|
|
.global data_ov38_021892e0
|
|
data_ov38_021892e0:
|
|
.space 0x4
|
|
.global data_ov38_021892e4
|
|
data_ov38_021892e4:
|
|
.space 0x4
|
|
.global data_ov38_021892e8
|
|
data_ov38_021892e8:
|
|
.space 0x4
|
|
.global data_ov38_021892ec
|
|
data_ov38_021892ec:
|
|
.space 0x4
|
|
.global data_ov38_021892f0
|
|
data_ov38_021892f0:
|
|
.space 0x4
|
|
.global data_ov38_021892f4
|
|
data_ov38_021892f4:
|
|
.space 0x4
|
|
.global data_ov38_021892f8
|
|
data_ov38_021892f8:
|
|
.space 0x4
|
|
.global data_ov38_021892fc
|
|
data_ov38_021892fc:
|
|
.space 0x4
|
|
.global data_ov38_02189300
|
|
data_ov38_02189300:
|
|
.space 0x4
|
|
.global data_ov38_02189304
|
|
data_ov38_02189304:
|
|
.space 0x4
|
|
.global data_ov38_02189308
|
|
data_ov38_02189308:
|
|
.space 0x4
|
|
.global data_ov38_0218930c
|
|
data_ov38_0218930c:
|
|
.space 0x4
|
|
.global data_ov38_02189310
|
|
data_ov38_02189310:
|
|
.space 0x4
|
|
.global data_ov38_02189314
|
|
data_ov38_02189314:
|
|
.space 0x4
|
|
.global data_ov38_02189318
|
|
data_ov38_02189318:
|
|
.space 0x4
|
|
.global data_ov38_0218931c
|
|
data_ov38_0218931c:
|
|
.space 0x4
|
|
.global data_ov38_02189320
|
|
data_ov38_02189320:
|
|
.space 0x4
|
|
.global data_ov38_02189324
|
|
data_ov38_02189324:
|
|
.space 0x4
|
|
.global data_ov38_02189328
|
|
data_ov38_02189328:
|
|
.space 0x4
|
|
.global data_ov38_0218932c
|
|
data_ov38_0218932c:
|
|
.space 0x4
|
|
.global data_ov38_02189330
|
|
data_ov38_02189330:
|
|
.space 0x4
|
|
.global data_ov38_02189334
|
|
data_ov38_02189334:
|
|
.space 0x4
|
|
.global data_ov38_02189338
|
|
data_ov38_02189338:
|
|
.space 0x4
|
|
.global data_ov38_0218933c
|
|
data_ov38_0218933c:
|
|
.space 0x4
|
|
.global data_ov38_02189340
|
|
data_ov38_02189340:
|
|
.space 0x4
|
|
.global data_ov38_02189344
|
|
data_ov38_02189344:
|
|
.space 0x4
|
|
.global data_ov38_02189348
|
|
data_ov38_02189348:
|
|
.space 0x4
|
|
.global data_ov38_0218934c
|
|
data_ov38_0218934c:
|
|
.space 0x4
|
|
.global data_ov38_02189350
|
|
data_ov38_02189350:
|
|
.space 0x4
|
|
.global data_ov38_02189354
|
|
data_ov38_02189354:
|
|
.space 0x4
|
|
.global data_ov38_02189358
|
|
data_ov38_02189358:
|
|
.space 0x1
|
|
.global data_ov38_02189359
|
|
data_ov38_02189359:
|
|
.space 0x1
|
|
.global data_ov38_0218935a
|
|
data_ov38_0218935a:
|
|
.space 0x1
|
|
.global data_ov38_0218935b
|
|
data_ov38_0218935b:
|
|
.space 0x1
|
|
.global data_ov38_0218935c
|
|
data_ov38_0218935c:
|
|
.space 0x4
|
|
.global data_ov38_02189360
|
|
data_ov38_02189360:
|
|
.space 0x4
|
|
.global data_ov38_02189364
|
|
data_ov38_02189364:
|
|
.space 0x4
|
|
.global data_ov38_02189368
|
|
data_ov38_02189368:
|
|
.space 0x4
|
|
.global data_ov38_0218936c
|
|
data_ov38_0218936c:
|
|
.space 0x4
|
|
.global data_ov38_02189370
|
|
data_ov38_02189370:
|
|
.space 0x4
|
|
.global data_ov38_02189374
|
|
data_ov38_02189374:
|
|
.space 0x4
|
|
.global data_ov38_02189378
|
|
data_ov38_02189378:
|
|
.space 0x4
|
|
.global data_ov38_0218937c
|
|
data_ov38_0218937c:
|
|
.space 0x4
|
|
.global data_ov38_02189380
|
|
data_ov38_02189380:
|
|
.space 0x4
|
|
.global data_ov38_02189384
|
|
data_ov38_02189384:
|
|
.space 0x4
|
|
.global data_ov38_02189388
|
|
data_ov38_02189388:
|
|
.space 0x4
|
|
.global data_ov38_0218938c
|
|
data_ov38_0218938c:
|
|
.space 0x4
|
|
.global data_ov38_02189390
|
|
data_ov38_02189390:
|
|
.space 0x4
|
|
.global data_ov38_02189394
|
|
data_ov38_02189394:
|
|
.space 0x4
|
|
.global data_ov38_02189398
|
|
data_ov38_02189398:
|
|
.space 0x4
|
|
.global data_ov38_0218939c
|
|
data_ov38_0218939c:
|
|
.space 0x4
|
|
.global data_ov38_021893a0
|
|
data_ov38_021893a0:
|
|
.space 0x4
|
|
.global data_ov38_021893a4
|
|
data_ov38_021893a4:
|
|
.space 0x4
|
|
.global data_ov38_021893a8
|
|
data_ov38_021893a8:
|
|
.space 0x4
|
|
.global data_ov38_021893ac
|
|
data_ov38_021893ac:
|
|
.space 0x4
|
|
.global data_ov38_021893b0
|
|
data_ov38_021893b0:
|
|
.space 0x4
|
|
.global data_ov38_021893b4
|
|
data_ov38_021893b4:
|
|
.space 0x4
|
|
.global data_ov38_021893b8
|
|
data_ov38_021893b8:
|
|
.space 0x4
|
|
.global data_ov38_021893bc
|
|
data_ov38_021893bc:
|
|
.space 0x4
|
|
.global data_ov38_021893c0
|
|
data_ov38_021893c0:
|
|
.space 0x1
|
|
.global data_ov38_021893c1
|
|
data_ov38_021893c1:
|
|
.space 0x1
|
|
.global data_ov38_021893c2
|
|
data_ov38_021893c2:
|
|
.space 0x1
|
|
.global data_ov38_021893c3
|
|
data_ov38_021893c3:
|
|
.space 0x1
|
|
.global data_ov38_021893c4
|
|
data_ov38_021893c4:
|
|
.space 0x4
|
|
.global data_ov38_021893c8
|
|
data_ov38_021893c8:
|
|
.space 0x4
|
|
.global data_ov38_021893cc
|
|
data_ov38_021893cc:
|
|
.space 0x4
|
|
.global data_ov38_021893d0
|
|
data_ov38_021893d0:
|
|
.space 0x4
|
|
.global data_ov38_021893d4
|
|
data_ov38_021893d4:
|
|
.space 0x4
|
|
.global data_ov38_021893d8
|
|
data_ov38_021893d8:
|
|
.space 0x4
|
|
.global data_ov38_021893dc
|
|
data_ov38_021893dc:
|
|
.space 0x4
|
|
.global data_ov38_021893e0
|
|
data_ov38_021893e0:
|
|
.space 0x4
|
|
.global data_ov38_021893e4
|
|
data_ov38_021893e4:
|
|
.space 0x4
|
|
.global data_ov38_021893e8
|
|
data_ov38_021893e8:
|
|
.space 0x4
|
|
.global data_ov38_021893ec
|
|
data_ov38_021893ec:
|
|
.space 0x4
|
|
.global data_ov38_021893f0
|
|
data_ov38_021893f0:
|
|
.space 0x4
|
|
.global data_ov38_021893f4
|
|
data_ov38_021893f4:
|
|
.space 0x4
|
|
.global data_ov38_021893f8
|
|
data_ov38_021893f8:
|
|
.space 0x4
|
|
.global data_ov38_021893fc
|
|
data_ov38_021893fc:
|
|
.space 0x4
|
|
.global data_ov38_02189400
|
|
data_ov38_02189400:
|
|
.space 0x4
|
|
.global data_ov38_02189404
|
|
data_ov38_02189404:
|
|
.space 0x4
|
|
.global data_ov38_02189408
|
|
data_ov38_02189408:
|
|
.space 0x4
|
|
.global data_ov38_0218940c
|
|
data_ov38_0218940c:
|
|
.space 0x4
|
|
.global data_ov38_02189410
|
|
data_ov38_02189410:
|
|
.space 0x4
|
|
.global data_ov38_02189414
|
|
data_ov38_02189414:
|
|
.space 0x4
|
|
.global data_ov38_02189418
|
|
data_ov38_02189418:
|
|
.space 0x4
|
|
.global data_ov38_0218941c
|
|
data_ov38_0218941c:
|
|
.space 0x4
|
|
.global data_ov38_02189420
|
|
data_ov38_02189420:
|
|
.space 0x4
|
|
.global data_ov38_02189424
|
|
data_ov38_02189424:
|
|
.space 0x4
|
|
.global data_ov38_02189428
|
|
data_ov38_02189428:
|
|
.space 0x4
|
|
.global data_ov38_0218942c
|
|
data_ov38_0218942c:
|
|
.space 0x4
|
|
.global data_ov38_02189430
|
|
data_ov38_02189430:
|
|
.space 0x4
|
|
.global data_ov38_02189434
|
|
data_ov38_02189434:
|
|
.space 0x4
|
|
.global data_ov38_02189438
|
|
data_ov38_02189438:
|
|
.space 0x4
|
|
.global data_ov38_0218943c
|
|
data_ov38_0218943c:
|
|
.space 0x4
|
|
.global data_ov38_02189440
|
|
data_ov38_02189440:
|
|
.space 0x4
|
|
.global data_ov38_02189444
|
|
data_ov38_02189444:
|
|
.space 0x4
|
|
.global data_ov38_02189448
|
|
data_ov38_02189448:
|
|
.space 0x4
|
|
.global data_ov38_0218944c
|
|
data_ov38_0218944c:
|
|
.space 0x4
|
|
.global data_ov38_02189450
|
|
data_ov38_02189450:
|
|
.space 0x4
|
|
.global data_ov38_02189454
|
|
data_ov38_02189454:
|
|
.space 0x4
|
|
.global data_ov38_02189458
|
|
data_ov38_02189458:
|
|
.space 0x2
|
|
.global data_ov38_0218945a
|
|
data_ov38_0218945a:
|
|
.space 0x2
|
|
.global data_ov38_0218945c
|
|
data_ov38_0218945c:
|
|
.space 0x4
|
|
.global data_ov38_02189460
|
|
data_ov38_02189460:
|
|
.space 0x4
|
|
.global data_ov38_02189464
|
|
data_ov38_02189464:
|
|
.space 0x4
|
|
.global data_ov38_02189468
|
|
data_ov38_02189468:
|
|
.space 0x4
|
|
.global data_ov38_0218946c
|
|
data_ov38_0218946c:
|
|
.space 0x4
|
|
.global data_ov38_02189470
|
|
data_ov38_02189470:
|
|
.space 0x4
|
|
.global data_ov38_02189474
|
|
data_ov38_02189474:
|
|
.space 0x4
|
|
.global data_ov38_02189478
|
|
data_ov38_02189478:
|
|
.space 0x4
|
|
.global data_ov38_0218947c
|
|
data_ov38_0218947c:
|
|
.space 0x4
|
|
.global data_ov38_02189480
|
|
data_ov38_02189480:
|
|
.space 0x4
|
|
.global data_ov38_02189484
|
|
data_ov38_02189484:
|
|
.space 0x4
|
|
.global data_ov38_02189488
|
|
data_ov38_02189488:
|
|
.space 0x4
|
|
.global data_ov38_0218948c
|
|
data_ov38_0218948c:
|
|
.space 0x4
|
|
.global data_ov38_02189490
|
|
data_ov38_02189490:
|
|
.space 0x4
|
|
.global data_ov38_02189494
|
|
data_ov38_02189494:
|
|
.space 0x4
|
|
.global data_ov38_02189498
|
|
data_ov38_02189498:
|
|
.space 0x4
|
|
.global data_ov38_0218949c
|
|
data_ov38_0218949c:
|
|
.space 0x4
|