mirror of
https://github.com/zeldaret/ph
synced 2026-05-24 23:21:37 -04:00
13858 lines
293 KiB
ArmAsm
13858 lines
293 KiB
ArmAsm
.include "macros/function.inc"
|
|
.include "global.inc"
|
|
|
|
.text
|
|
|
|
.global func_ov39_0217bd80
|
|
arm_func_start func_ov39_0217bd80
|
|
func_ov39_0217bd80: ; 0x0217bd80
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _0217bdac ; =data_027e0fe0
|
|
ldr r0, _0217bdb0 ; =0x00001884
|
|
ldr r1, [r1]
|
|
mov r2, #4
|
|
ldr r1, [r1]
|
|
bl func_0202e9dc
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl func_ov39_0217cd14
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217bd80
|
|
_0217bdac: .word data_027e0fe0
|
|
_0217bdb0: .word 0x00001884
|
|
|
|
.global func_ov39_0217bdb4
|
|
arm_func_start func_ov39_0217bdb4
|
|
func_ov39_0217bdb4: ; 0x0217bdb4
|
|
ldrh r1, [r1]
|
|
add r1, r1, #0x8d
|
|
add r1, r1, #0xa300
|
|
strh r1, [r0, #0x56]
|
|
bx lr
|
|
arm_func_end func_ov39_0217bdb4
|
|
|
|
.global func_ov39_0217bdc8
|
|
arm_func_start func_ov39_0217bdc8
|
|
func_ov39_0217bdc8: ; 0x0217bdc8
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x18
|
|
mov r4, r0
|
|
ldr r0, [r4, #8]
|
|
bl func_ov39_0217fcbc
|
|
ldr r1, _0217bf0c ; =data_027e0fe4
|
|
ldr r2, _0217bf10 ; =0x4e415649
|
|
ldr r1, [r1]
|
|
add r0, sp, #0x10
|
|
bl func_ov00_020c3894
|
|
ldr r0, _0217bf0c ; =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, _0217bf14 ; =0x00004a52
|
|
add r0, r0, #0x300
|
|
strh r2, [r0, #0xc4]
|
|
strh r2, [r0, #0xc6]
|
|
ldr r1, _0217bf0c ; =data_027e0fe4
|
|
ldr r2, _0217bf18 ; =0x57534e56
|
|
ldr r1, [r1]
|
|
add r0, sp, #8
|
|
bl func_ov00_020c3894
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [sp, #8]
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _0217bf0c ; =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 r1, _0217bf0c ; =data_027e0fe4
|
|
ldr r2, _0217bf1c ; =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, _0217bf0c ; =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, _0217bf20 ; =data_ov00_020eec9c
|
|
bl func_ov00_020d8388
|
|
ldr r3, [r4, #8]
|
|
add r0, r3, #0x800
|
|
ldrsh r2, [r0, #0x68]
|
|
cmp r2, #0x7d0
|
|
blt _0217bebc
|
|
ldr r1, [r3, #0x130]
|
|
cmp r1, #7
|
|
bne _0217becc
|
|
_0217bebc:
|
|
mov r1, r2, asr #0x1
|
|
add r0, r3, #0x800
|
|
strh r1, [r0, #0x68]
|
|
b _0217bed4
|
|
_0217becc:
|
|
ldr r1, _0217bf24 ; =0x00002ee0
|
|
strh r1, [r0, #0x68]
|
|
_0217bed4:
|
|
ldr r0, _0217bf28 ; =data_027e0e58
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
mov r2, #0
|
|
bl func_ov00_0207c5d4
|
|
ldr r0, _0217bf2c ; =data_ov00_020eec68
|
|
mov r1, #0xd2
|
|
bl func_ov00_020d73bc
|
|
ldr r1, [r4, #8]
|
|
ldr r0, [r1, #0x158]
|
|
bic r0, r0, #0x4000000
|
|
str r0, [r1, #0x158]
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217bdc8
|
|
_0217bf0c: .word data_027e0fe4
|
|
_0217bf10: .word 0x4e415649
|
|
_0217bf14: .word 0x00004a52
|
|
_0217bf18: .word 0x57534e56
|
|
_0217bf1c: .word 0x46434e56
|
|
_0217bf20: .word data_ov00_020eec9c
|
|
_0217bf24: .word 0x00002ee0
|
|
_0217bf28: .word data_027e0e58
|
|
_0217bf2c: .word data_ov00_020eec68
|
|
|
|
.global func_ov39_0217bf30
|
|
arm_func_start func_ov39_0217bf30
|
|
func_ov39_0217bf30: ; 0x0217bf30
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x18
|
|
ldr r1, _0217c01c ; =data_027e0fe4
|
|
mov r4, r0
|
|
ldr r1, [r1]
|
|
ldr r2, _0217c020 ; =0x4e415649
|
|
add r0, sp, #0x10
|
|
bl func_ov00_020c3894
|
|
ldr r0, _0217c01c ; =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, _0217c01c ; =data_027e0fe4
|
|
ldr r2, _0217c024 ; =0x57534e56
|
|
ldr r1, [r1]
|
|
add r0, sp, #8
|
|
bl func_ov00_020c3894
|
|
ldr r0, _0217c01c ; =data_027e0fe4
|
|
ldr r1, [sp, #8]
|
|
ldr r2, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x10
|
|
str r2, [sp, #0x14]
|
|
bl func_ov00_020c3674
|
|
mov r1, #0
|
|
strb r1, [r0, #0x28d]
|
|
ldr r1, _0217c01c ; =data_027e0fe4
|
|
ldr r2, _0217c028 ; =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, _0217c01c ; =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, _0217c02c ; =data_ov00_020eec9c
|
|
bl func_ov00_020d8344
|
|
ldr r0, [r4, #8]
|
|
bl func_ov39_0217fd78
|
|
ldr r0, _0217c030 ; =data_027e0e58
|
|
mov r1, #6
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
bl func_ov00_0207c5d4
|
|
ldr r0, _0217c034 ; =data_ov00_020eec68
|
|
mov r1, #0xa
|
|
bl func_ov00_020d73f0
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217bf30
|
|
_0217c01c: .word data_027e0fe4
|
|
_0217c020: .word 0x4e415649
|
|
_0217c024: .word 0x57534e56
|
|
_0217c028: .word 0x46434e56
|
|
_0217c02c: .word data_ov00_020eec9c
|
|
_0217c030: .word data_027e0e58
|
|
_0217c034: .word data_ov00_020eec68
|
|
|
|
.global func_ov39_0217c038
|
|
arm_func_start func_ov39_0217c038
|
|
func_ov39_0217c038: ; 0x0217c038
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r2
|
|
bl func_ov00_020c6114
|
|
ldr r3, _0217c0a4 ; =data_ov39_02186b84
|
|
add r0, r5, #0xfc
|
|
add r1, r5, #0x120
|
|
mov r2, #0
|
|
str r3, [r5]
|
|
blx func_ov00_020c0c08
|
|
ldr r0, _0217c0a8 ; =data_ov39_02186b98
|
|
cmp r4, #0
|
|
str r0, [r5, #0xfc]
|
|
strb r4, [r5, #0x148]
|
|
mov r1, #0x124
|
|
beq _0217c088
|
|
ldr r2, _0217c0ac ; =data_ov39_02186698
|
|
mov r0, r5
|
|
bl func_ov00_020c5c98
|
|
b _0217c094
|
|
_0217c088:
|
|
ldr r2, _0217c0b0 ; =data_ov39_021866ac
|
|
mov r0, r5
|
|
bl func_ov00_020c5c98
|
|
_0217c094:
|
|
ldr r1, [r5, #4]
|
|
mov r0, r5
|
|
str r1, [r5, #0x104]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c038
|
|
_0217c0a4: .word data_ov39_02186b84
|
|
_0217c0a8: .word data_ov39_02186b98
|
|
_0217c0ac: .word data_ov39_02186698
|
|
_0217c0b0: .word data_ov39_021866ac
|
|
|
|
.global func_ov39_0217c0b4
|
|
arm_func_start func_ov39_0217c0b4
|
|
func_ov39_0217c0b4: ; 0x0217c0b4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x10
|
|
mov r5, r0
|
|
ldrb r0, [r5, #0x148]
|
|
cmp r0, #0
|
|
beq _0217c0ec
|
|
ldr r0, _0217c15c ; =data_ov39_02186bb0
|
|
blx func_02016fe8
|
|
mov r4, r0
|
|
ldr r1, _0217c160 ; =data_ov39_02186bcc
|
|
add r0, sp, #0
|
|
mov r2, #0x10
|
|
bl func_020470ec
|
|
b _0217c108
|
|
_0217c0ec:
|
|
ldr r0, _0217c164 ; =data_ov39_02186bdc
|
|
blx func_02016fe8
|
|
mov r4, r0
|
|
ldr r1, _0217c168 ; =data_ov39_02186bf8
|
|
add r0, sp, #0
|
|
mov r2, #0x10
|
|
bl func_020470ec
|
|
_0217c108:
|
|
add r1, sp, #0
|
|
mov r0, r4
|
|
bl func_0201e544
|
|
mov r1, r0
|
|
add r0, r5, #0xfc
|
|
bl func_ov00_020c0c9c
|
|
mov r2, #0x1000
|
|
add r0, r5, #0xfc
|
|
add r1, r5, #0x24
|
|
str r2, [r5, #0x10c]
|
|
bl func_ov00_020c0d70
|
|
add r2, r5, #0x100
|
|
mov r1, #0
|
|
mov r0, r5
|
|
strh r1, [r2, #8]
|
|
bl func_ov00_020c5d74
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0x1000
|
|
str r1, [r0, #0x10]
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c0b4
|
|
_0217c15c: .word data_ov39_02186bb0
|
|
_0217c160: .word data_ov39_02186bcc
|
|
_0217c164: .word data_ov39_02186bdc
|
|
_0217c168: .word data_ov39_02186bf8
|
|
|
|
.global func_ov39_0217c16c
|
|
arm_func_start func_ov39_0217c16c
|
|
func_ov39_0217c16c: ; 0x0217c16c
|
|
ldr ip, _0217c178 ; =func_ov00_020c0e04
|
|
add r0, r0, #0xfc
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c16c
|
|
_0217c178: .word func_ov00_020c0e04
|
|
|
|
.global func_ov39_0217c17c
|
|
arm_func_start func_ov39_0217c17c
|
|
func_ov39_0217c17c: ; 0x0217c17c
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r4, r0
|
|
ldr r2, [r4, #4]
|
|
ldr r1, _0217c200 ; =data_ov39_021866c0
|
|
ldr r0, [r2, #8]
|
|
add r0, r2, r0
|
|
add r0, r0, #4
|
|
bl func_0201e388
|
|
mov r5, r0
|
|
ldr r6, [r4, #4]
|
|
ldr r0, _0217c204 ; =data_ov00_020e9360
|
|
mov r1, #2
|
|
bl func_ov00_02079e68
|
|
mov r2, r0
|
|
mov r0, r6
|
|
mov r1, r5
|
|
bl func_02019534
|
|
ldr r2, [r4, #4]
|
|
ldr r1, _0217c208 ; =data_ov39_021866d4
|
|
ldr r0, [r2, #8]
|
|
add r0, r2, r0
|
|
add r0, r0, #4
|
|
bl func_0201e388
|
|
ldr r5, [r4, #4]
|
|
mov r4, r0
|
|
ldr r0, _0217c204 ; =data_ov00_020e9360
|
|
mov r1, #2
|
|
bl func_ov00_02079e68
|
|
mov r1, r4
|
|
mov r2, r0
|
|
mov r0, r5
|
|
bl func_02019534
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c17c
|
|
_0217c200: .word data_ov39_021866c0
|
|
_0217c204: .word data_ov00_020e9360
|
|
_0217c208: .word data_ov39_021866d4
|
|
|
|
.global func_ov39_0217c20c
|
|
arm_func_start func_ov39_0217c20c
|
|
func_ov39_0217c20c: ; 0x0217c20c
|
|
mov r1, r0
|
|
ldr r0, [r1, #4]
|
|
ldr ip, _0217c228 ; =func_ov39_02185610
|
|
ldr r0, [r0, #0x2c]
|
|
add r0, r0, #0x224
|
|
add r0, r0, #0x800
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c20c
|
|
_0217c228: .word func_ov39_02185610
|
|
|
|
.global func_ov39_0217c22c
|
|
arm_func_start func_ov39_0217c22c
|
|
func_ov39_0217c22c: ; 0x0217c22c
|
|
mov r1, r0
|
|
ldr r0, [r1, #4]
|
|
ldr ip, _0217c248 ; =func_ov39_021856b4
|
|
ldr r0, [r0, #0x2c]
|
|
add r0, r0, #0x224
|
|
add r0, r0, #0x800
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c22c
|
|
_0217c248: .word func_ov39_021856b4
|
|
|
|
.global func_ov39_0217c24c
|
|
arm_func_start func_ov39_0217c24c
|
|
func_ov39_0217c24c: ; 0x0217c24c
|
|
ldr r1, _0217c270 ; =func_ov39_0217c20c
|
|
mov r2, #3
|
|
str r1, [r0, #0x24]
|
|
ldr r1, _0217c274 ; =func_ov39_0217c22c
|
|
strb r2, [r0, #0x92]
|
|
str r1, [r0, #0x1c]
|
|
mov r1, #2
|
|
strb r1, [r0, #0x90]
|
|
bx lr
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c24c
|
|
_0217c270: .word func_ov39_0217c20c
|
|
_0217c274: .word func_ov39_0217c22c
|
|
|
|
.global func_ov39_0217c278
|
|
arm_func_start func_ov39_0217c278
|
|
func_ov39_0217c278: ; 0x0217c278
|
|
stmdb sp!, {r4, lr}
|
|
mov r1, #0
|
|
mov r4, r0
|
|
blx func_ov00_020a956c
|
|
ldr r0, _0217c2c0 ; =data_ov39_02186b18
|
|
mov r1, #0
|
|
str r0, [r4]
|
|
strh r1, [r4, #0x5c]
|
|
sub r0, r1, #1
|
|
str r0, [r4, #0xf0]
|
|
str r0, [r4, #0xf4]
|
|
str r0, [r4, #0xf8]
|
|
str r0, [r4, #0xfc]
|
|
str r0, [r4, #0x100]
|
|
strb r1, [r4, #0x104]
|
|
mov r0, r4
|
|
strb r1, [r4, #0x105]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c278
|
|
_0217c2c0: .word data_ov39_02186b18
|
|
|
|
.global func_ov39_0217c2c4
|
|
arm_func_start func_ov39_0217c2c4
|
|
func_ov39_0217c2c4: ; 0x0217c2c4
|
|
ldr ip, _0217c2d4 ; =func_ov00_020a9998
|
|
mov r1, #6
|
|
mov r2, #2
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c2c4
|
|
_0217c2d4: .word func_ov00_020a9998
|
|
|
|
.global func_ov39_0217c2d8
|
|
arm_func_start func_ov39_0217c2d8
|
|
func_ov39_0217c2d8: ; 0x0217c2d8
|
|
mov r1, r0
|
|
ldr r0, [r1, #4]
|
|
ldr ip, _0217c2f4 ; =func_ov39_0217c570
|
|
ldr r0, [r0, #0x2c]
|
|
add r0, r0, #0xc
|
|
add r0, r0, #0x800
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c2d8
|
|
_0217c2f4: .word func_ov39_0217c570
|
|
|
|
.global func_ov39_0217c2f8
|
|
arm_func_start func_ov39_0217c2f8
|
|
func_ov39_0217c2f8: ; 0x0217c2f8
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r0
|
|
str r1, [r4, #0x30]
|
|
mov ip, #3
|
|
ldr r1, _0217c334 ; =func_ov39_0217c2d8
|
|
add r0, r4, #4
|
|
mov r2, #0
|
|
mov r3, #6
|
|
str ip, [sp]
|
|
bl func_02018c90
|
|
mvn r0, #1
|
|
str r0, [r4, #0xf0]
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c2f8
|
|
_0217c334: .word func_ov39_0217c2d8
|
|
|
|
.global func_ov39_0217c338
|
|
arm_func_start func_ov39_0217c338
|
|
func_ov39_0217c338: ; 0x0217c338
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x24
|
|
mov r6, r0
|
|
ldr r2, [r6, #0xf0]
|
|
mov r5, r1
|
|
mvn r0, #0
|
|
cmp r2, r0
|
|
ldr r4, [r5, #4]
|
|
bne _0217c3c0
|
|
ldr r0, [r4, #4]
|
|
ldr r1, _0217c554 ; =data_ov39_021866e8
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
str r0, [r6, #0xf0]
|
|
ldr r0, [r4, #4]
|
|
ldr r1, _0217c558 ; =data_ov39_021866fc
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
str r0, [r6, #0xf4]
|
|
ldr r0, [r4, #4]
|
|
ldr r1, _0217c55c ; =data_ov39_02186710
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
str r0, [r6, #0xf8]
|
|
ldr r0, [r4, #4]
|
|
ldr r1, _0217c560 ; =data_ov39_02186724
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
str r0, [r6, #0xfc]
|
|
ldr r0, [r4, #4]
|
|
ldr r1, _0217c564 ; =data_ov39_02186738
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
str r0, [r6, #0x100]
|
|
_0217c3c0:
|
|
ldr r0, [r5, #8]
|
|
tst r0, #0x10
|
|
ldrneb r1, [r5, #0xae]
|
|
ldr r0, [r6, #0xf0]
|
|
mvneq r1, #0
|
|
cmp r1, r0
|
|
bne _0217c44c
|
|
ldrb r0, [r4, #0x25]
|
|
cmp r0, #2
|
|
bne _0217c3fc
|
|
mov r0, #3
|
|
strb r0, [r5, #0x92]
|
|
add sp, sp, #0x24
|
|
strb r0, [r4, #0x25]
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0217c3fc:
|
|
cmp r0, #3
|
|
addne sp, sp, #0x24
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
add r0, r6, #0x60
|
|
mov r1, #0
|
|
bl func_0201b1bc
|
|
bl func_02018450
|
|
mov lr, r0
|
|
add ip, r6, #0x90
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia ip!, {r0, r1, r2, r3}
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia ip!, {r0, r1, r2, r3}
|
|
ldmia lr, {r0, r1, r2, r3}
|
|
stmia ip, {r0, r1, r2, r3}
|
|
mov r6, #2
|
|
strb r6, [r5, #0x92]
|
|
add sp, sp, #0x24
|
|
strb r6, [r4, #0x25]
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0217c44c:
|
|
ldrb r0, [r6, #0x105]
|
|
cmp r0, #0
|
|
beq _0217c4b0
|
|
ldr r0, [r6, #0xf4]
|
|
cmp r1, r0
|
|
bne _0217c4b0
|
|
ldrb r0, [r4, #0x25]
|
|
cmp r0, #2
|
|
bne _0217c484
|
|
mov r0, #3
|
|
strb r0, [r5, #0x92]
|
|
add sp, sp, #0x24
|
|
strb r0, [r4, #0x25]
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0217c484:
|
|
cmp r0, #3
|
|
addne sp, sp, #0x24
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
add r0, r6, #0xc0
|
|
mov r1, #0
|
|
bl func_0201b1bc
|
|
mov r0, #2
|
|
strb r0, [r5, #0x92]
|
|
add sp, sp, #0x24
|
|
strb r0, [r4, #0x25]
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0217c4b0:
|
|
ldrb r0, [r6, #0x104]
|
|
cmp r0, #0
|
|
beq _0217c524
|
|
ldr r0, [r6, #0xf8]
|
|
cmp r1, r0
|
|
ldrne r0, [r6, #0xfc]
|
|
cmpne r1, r0
|
|
bne _0217c524
|
|
ldr r4, [r5, #0xb4]
|
|
ldr r3, _0217c568 ; =data_02050f54
|
|
ldr r1, [r4]
|
|
add r0, sp, #0
|
|
bic r1, r1, #2
|
|
str r1, [r4]
|
|
ldrh r1, [r6, #0x5c]
|
|
mov r1, r1, asr #0x4
|
|
mov r1, r1, lsl #0x1
|
|
add r2, r1, #1
|
|
mov r2, r2, lsl #0x1
|
|
mov r1, r1, lsl #0x1
|
|
ldrsh r2, [r3, r2]
|
|
ldrsh r1, [r3, r1]
|
|
blx func_01ff8230
|
|
add r1, r4, #0x28
|
|
add r0, sp, #0
|
|
mov r2, r1
|
|
bl func_0202e030
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
_0217c524:
|
|
ldr r0, [r6, #0x100]
|
|
cmp r1, r0
|
|
addne sp, sp, #0x24
|
|
ldmneia sp!, {r3, r4, r5, r6, pc}
|
|
ldr r0, _0217c56c ; =data_ov39_02186cec
|
|
mov r1, r5
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x3bc
|
|
add r0, r0, #0x800
|
|
bl func_ov39_02184c90
|
|
add sp, sp, #0x24
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c338
|
|
_0217c554: .word data_ov39_021866e8
|
|
_0217c558: .word data_ov39_021866fc
|
|
_0217c55c: .word data_ov39_02186710
|
|
_0217c560: .word data_ov39_02186724
|
|
_0217c564: .word data_ov39_02186738
|
|
_0217c568: .word data_02050f54
|
|
_0217c56c: .word data_ov39_02186cec
|
|
|
|
.global func_ov39_0217c570
|
|
arm_func_start func_ov39_0217c570
|
|
func_ov39_0217c570: ; 0x0217c570
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
ldr r2, [r4, #0xf0]
|
|
mov r5, r1
|
|
mvn r0, #1
|
|
cmp r2, r0
|
|
ldr r0, [r5, #4]
|
|
bne _0217c5a4
|
|
ldr r0, [r0, #4]
|
|
ldr r1, _0217c5f4 ; =data_ov39_0218674c
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
str r0, [r4, #0xf0]
|
|
_0217c5a4:
|
|
ldr r0, [r5, #8]
|
|
tst r0, #0x10
|
|
ldrneb r1, [r5, #0xae]
|
|
ldr r0, [r4, #0xf0]
|
|
mvneq r1, #0
|
|
cmp r0, r1
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
add r0, r4, #0x60
|
|
mov r1, #0
|
|
bl func_0201b1bc
|
|
bl func_02018450
|
|
mov ip, r0
|
|
add r4, r4, #0x90
|
|
ldmia ip!, {r0, r1, r2, r3}
|
|
stmia r4!, {r0, r1, r2, r3}
|
|
ldmia ip!, {r0, r1, r2, r3}
|
|
stmia r4!, {r0, r1, r2, r3}
|
|
ldmia ip, {r0, r1, r2, r3}
|
|
stmia r4, {r0, r1, r2, r3}
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c570
|
|
_0217c5f4: .word data_ov39_0218674c
|
|
|
|
.global func_ov39_0217c5f8
|
|
arm_func_start func_ov39_0217c5f8
|
|
func_ov39_0217c5f8: ; 0x0217c5f8
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x6c
|
|
mov r5, r2
|
|
mov r4, r0
|
|
add r0, r1, #0xc0
|
|
add r2, sp, #0x3c
|
|
add r1, r1, #0x90
|
|
bl func_01ff8e84
|
|
add r0, sp, #0x3c
|
|
add r1, sp, #0x18
|
|
bl func_020079d8
|
|
cmp r5, #3
|
|
addls pc, pc, r5, lsl #2
|
|
b _0217c69c
|
|
_0217c630: ; jump table
|
|
b _0217c640 ; case 0
|
|
b _0217c658 ; case 1
|
|
b _0217c670 ; case 2
|
|
b _0217c688 ; case 3
|
|
_0217c640:
|
|
ldr r1, _0217c6f0 ; =0x0000199a
|
|
mov r0, #0
|
|
str r1, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
b _0217c69c
|
|
_0217c658:
|
|
ldr r1, _0217c6f4 ; =0x00000ccd
|
|
mov r0, #0
|
|
str r1, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
b _0217c69c
|
|
_0217c670:
|
|
ldr r1, _0217c6f8 ; =0x0000299a
|
|
mov r0, #0
|
|
str r1, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
b _0217c69c
|
|
_0217c688:
|
|
ldr r1, _0217c6fc ; =0x000004cd
|
|
mov r0, #0
|
|
str r1, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
_0217c69c:
|
|
add r0, sp, #0xc
|
|
add r1, sp, #0x18
|
|
mov r2, r0
|
|
bl func_01ff88b0
|
|
ldr r3, [sp, #0xc]
|
|
ldr r2, [sp, #0x60]
|
|
ldr r1, [sp, #0x10]
|
|
add ip, r3, r2
|
|
ldr r0, [sp, #0x64]
|
|
ldr r2, [sp, #0x14]
|
|
add r3, r1, r0
|
|
ldr r1, [sp, #0x68]
|
|
add r0, sp, #0
|
|
add r1, r2, r1
|
|
str ip, [sp]
|
|
str r3, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r4, {r0, r1, r2}
|
|
add sp, sp, #0x6c
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c5f8
|
|
_0217c6f0: .word 0x0000199a
|
|
_0217c6f4: .word 0x00000ccd
|
|
_0217c6f8: .word 0x0000299a
|
|
_0217c6fc: .word 0x000004cd
|
|
|
|
.global func_ov39_0217c700
|
|
arm_func_start func_ov39_0217c700
|
|
func_ov39_0217c700: ; 0x0217c700
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0xc
|
|
mov r4, r0
|
|
add r0, sp, #0
|
|
ldr lr, [r1, #0x8c]
|
|
ldr ip, [r1, #0x88]
|
|
ldr r3, [r1, #0x84]
|
|
mov r2, r0
|
|
add r1, r1, #0x90
|
|
str r3, [sp]
|
|
str ip, [sp, #4]
|
|
str lr, [sp, #8]
|
|
bl func_01ff9158
|
|
add r0, sp, #0
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r4, {r0, r1, r2}
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end func_ov39_0217c700
|
|
|
|
.global func_ov39_0217c748
|
|
arm_func_start func_ov39_0217c748
|
|
func_ov39_0217c748: ; 0x0217c748
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x218
|
|
bl func_ov39_02185888
|
|
ldr r2, _0217c788 ; =data_ov39_02186124
|
|
mov r0, r4
|
|
mov r1, #0x5c
|
|
bl func_ov00_020c5c98
|
|
add r0, r4, #0x20
|
|
bl func_ov39_0217c2c4
|
|
add r0, r4, #0x20
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
str r0, [r4, #0x19c]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c748
|
|
_0217c788: .word data_ov39_02186124
|
|
|
|
.global func_ov39_0217c78c
|
|
arm_func_start func_ov39_0217c78c
|
|
func_ov39_0217c78c: ; 0x0217c78c
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _0217c7bc ; =0x00000107
|
|
ldr r3, _0217c7c0 ; =data_ov39_02186390
|
|
mov r4, r0
|
|
add r2, r1, #0x1b
|
|
bl func_ov00_020c5ce4
|
|
ldr r1, [r4, #0x1c]
|
|
add r0, r4, #0x20
|
|
bl func_ov39_0217c2f8
|
|
mov r0, #1
|
|
strb r0, [r4, #0x214]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c78c
|
|
_0217c7bc: .word 0x00000107
|
|
_0217c7c0: .word data_ov39_02186390
|
|
|
|
.global func_ov39_0217c7c4
|
|
arm_func_start func_ov39_0217c7c4
|
|
func_ov39_0217c7c4: ; 0x0217c7c4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x218
|
|
bl func_ov00_020c5e20
|
|
ldr r1, [r4, #0x208]
|
|
mvn r0, #0
|
|
add r1, r4, r1, lsl #2
|
|
ldr r1, [r1, #0x200]
|
|
cmp r1, r0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r4, #0x10]
|
|
bl func_ov00_020c0e04
|
|
mov r0, r4
|
|
bl func_ov39_0217cd00
|
|
cmp r0, #0
|
|
bne _0217c884
|
|
ldr r1, [r4, #0x20c]
|
|
ldr r0, [r4, #0x210]
|
|
add r5, r1, r0
|
|
str r5, [r4, #0x20c]
|
|
cmp r5, #0x1000
|
|
ble _0217c828
|
|
mov r0, r4
|
|
bl func_ov39_0217ccac
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0217c828:
|
|
ldr r0, [r4, #0x10]
|
|
bl func_ov00_020c0d4c
|
|
str r5, [r0, #4]
|
|
ldr r0, [r4, #0x208]
|
|
add r1, r4, #0x128
|
|
cmp r0, #0
|
|
moveq r2, #1
|
|
movne r2, #0
|
|
mov r0, #0x6c
|
|
mla r0, r2, r0, r1
|
|
bl func_ov00_020c0e04
|
|
ldr r0, [r4, #0x208]
|
|
add r1, r4, #0x128
|
|
cmp r0, #0
|
|
moveq r2, #1
|
|
movne r2, #0
|
|
mov r0, #0x6c
|
|
mla r0, r2, r0, r1
|
|
bl func_ov00_020c0d4c
|
|
ldr r1, [r4, #0x20c]
|
|
rsb r1, r1, #0x1000
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0217c884:
|
|
ldr r0, _0217c890 ; =0x0000011f
|
|
str r0, [r4, #0x210]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c7c4
|
|
_0217c890: .word 0x0000011f
|
|
|
|
.global func_ov39_0217c894
|
|
arm_func_start func_ov39_0217c894
|
|
func_ov39_0217c894: ; 0x0217c894
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0xc0
|
|
mov r5, r0
|
|
add r8, r5, #0x80
|
|
mov r4, r1
|
|
ldmia r8!, {r0, r1, r2, r3}
|
|
add r7, sp, #0x90
|
|
mov r6, r7
|
|
stmia r7!, {r0, r1, r2, r3}
|
|
ldmia r8!, {r0, r1, r2, r3}
|
|
stmia r7!, {r0, r1, r2, r3}
|
|
ldmia r8, {r0, r1, r2, r3}
|
|
add lr, sp, #0x60
|
|
add r5, r5, #0xb0
|
|
stmia r7, {r0, r1, r2, r3}
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
mov ip, lr
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
ldmia r5, {r0, r1, r2, r3}
|
|
stmia lr, {r0, r1, r2, r3}
|
|
mov r0, r6
|
|
mov r1, ip
|
|
add r2, sp, #0x30
|
|
bl func_01ff8e84
|
|
add r0, sp, #0x30
|
|
add r1, sp, #0xc
|
|
bl func_020079d8
|
|
mov r0, #0
|
|
ldr r1, _0217c95c ; =0xfffff99a
|
|
str r0, [sp]
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0
|
|
str r1, [sp, #4]
|
|
add r1, sp, #0xc
|
|
mov r2, r0
|
|
bl func_01ff88b0
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [sp, #0x5c]
|
|
ldr r2, [sp, #4]
|
|
add r3, r1, r0
|
|
ldr r0, [sp, #0x58]
|
|
ldr r1, [sp]
|
|
add r2, r2, r0
|
|
ldr r0, [sp, #0x54]
|
|
add r0, r1, r0
|
|
stmia r4, {r0, r2, r3}
|
|
add sp, sp, #0xc0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c894
|
|
_0217c95c: .word 0xfffff99a
|
|
|
|
.global func_ov39_0217c960
|
|
arm_func_start func_ov39_0217c960
|
|
func_ov39_0217c960: ; 0x0217c960
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0xc0
|
|
mov r5, r0
|
|
add r8, r5, #0x80
|
|
mov r4, r1
|
|
ldmia r8!, {r0, r1, r2, r3}
|
|
add r7, sp, #0x90
|
|
mov r6, r7
|
|
stmia r7!, {r0, r1, r2, r3}
|
|
ldmia r8!, {r0, r1, r2, r3}
|
|
stmia r7!, {r0, r1, r2, r3}
|
|
ldmia r8, {r0, r1, r2, r3}
|
|
add lr, sp, #0x60
|
|
add r5, r5, #0xb0
|
|
stmia r7, {r0, r1, r2, r3}
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
mov ip, lr
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
ldmia r5, {r0, r1, r2, r3}
|
|
stmia lr, {r0, r1, r2, r3}
|
|
mov r0, r6
|
|
mov r1, ip
|
|
add r2, sp, #0x30
|
|
bl func_01ff8e84
|
|
add r0, sp, #0x30
|
|
add r1, sp, #0xc
|
|
bl func_020079d8
|
|
mov r0, #0
|
|
ldr r1, _0217ca28 ; =0xfffff666
|
|
str r0, [sp]
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0
|
|
str r1, [sp, #4]
|
|
add r1, sp, #0xc
|
|
mov r2, r0
|
|
bl func_01ff88b0
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [sp, #0x5c]
|
|
ldr r2, [sp, #4]
|
|
add r3, r1, r0
|
|
ldr r0, [sp, #0x58]
|
|
ldr r1, [sp]
|
|
add r2, r2, r0
|
|
ldr r0, [sp, #0x54]
|
|
add r0, r1, r0
|
|
stmia r4, {r0, r2, r3}
|
|
add sp, sp, #0xc0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217c960
|
|
_0217ca28: .word 0xfffff666
|
|
|
|
.global func_ov39_0217ca2c
|
|
arm_func_start func_ov39_0217ca2c
|
|
func_ov39_0217ca2c: ; 0x0217ca2c
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #8
|
|
mov r5, r0
|
|
ldr r0, [r5, #0x208]
|
|
mov r4, r1
|
|
add r0, r5, r0, lsl #2
|
|
ldr r0, [r0, #0x200]
|
|
cmp r4, r0
|
|
bne _0217ca6c
|
|
ldr r1, [r5, #0x18]
|
|
mov r0, #0x14
|
|
mla r0, r4, r0, r1
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
_0217ca6c:
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
mov r0, r5
|
|
ldr ip, [r0]
|
|
add r2, sp, #4
|
|
ldr ip, [ip]
|
|
add r3, sp, #0
|
|
mov r1, r4
|
|
blx ip
|
|
ldr r1, [sp, #4]
|
|
cmp r1, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r5, #0x10]
|
|
ldr r3, [sp]
|
|
mov r2, #0
|
|
bl func_ov00_020c0cc8
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x2c]
|
|
blx r1
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, [r0]
|
|
ldr r2, [r2, #0x24]
|
|
blx r2
|
|
ldr r1, [r5, #0x208]
|
|
mov r0, #0x1000
|
|
add r1, r5, r1, lsl #2
|
|
str r4, [r1, #0x200]
|
|
str r0, [r5, #0x20c]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end func_ov39_0217ca2c
|
|
|
|
.global func_ov39_0217caf0
|
|
arm_func_start func_ov39_0217caf0
|
|
func_ov39_0217caf0: ; 0x0217caf0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #8
|
|
mov r5, r0
|
|
ldr r2, [r5, #0x208]
|
|
mov r4, r1
|
|
add r2, r5, r2, lsl #2
|
|
ldr r3, [r2, #0x200]
|
|
cmp r4, r3
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mvn r2, #0
|
|
cmp r3, r2
|
|
bne _0217cb30
|
|
bl func_ov39_0217ca2c
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0217cb30:
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
ldr ip, [r0]
|
|
add r2, sp, #4
|
|
ldr ip, [ip]
|
|
add r3, sp, #0
|
|
blx ip
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0
|
|
addeq sp, sp, #8
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r5, #0x20c]
|
|
cmp r0, #0x800
|
|
ble _0217cbb4
|
|
ldr r0, [r5, #0x208]
|
|
add r1, r5, #0x128
|
|
cmp r0, #0
|
|
moveq r2, #1
|
|
movne r2, #0
|
|
mov r0, #0x6c
|
|
mla r0, r2, r0, r1
|
|
str r2, [r5, #0x208]
|
|
str r0, [r5, #0x10]
|
|
ldr r0, [r5, #0x208]
|
|
mov r2, #0
|
|
add r0, r5, r0, lsl #2
|
|
str r4, [r0, #0x200]
|
|
str r2, [r5, #0x20c]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [sp, #4]
|
|
ldr r3, [sp]
|
|
bl func_ov00_020c0cc8
|
|
b _0217cc18
|
|
_0217cbb4:
|
|
ldr r1, [r5, #0x208]
|
|
cmp r1, #0
|
|
moveq r2, #1
|
|
movne r2, #0
|
|
add r0, r5, r2, lsl #2
|
|
ldr r0, [r0, #0x200]
|
|
cmp r4, r0
|
|
bne _0217cbf8
|
|
add r1, r5, #0x128
|
|
mov r0, #0x6c
|
|
mla r0, r2, r0, r1
|
|
str r2, [r5, #0x208]
|
|
str r0, [r5, #0x10]
|
|
ldr r0, [r5, #0x20c]
|
|
rsb r0, r0, #0x1000
|
|
str r0, [r5, #0x20c]
|
|
b _0217cc18
|
|
_0217cbf8:
|
|
add r0, r5, r1, lsl #2
|
|
str r4, [r0, #0x200]
|
|
mov r2, #0
|
|
str r2, [r5, #0x20c]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [sp, #4]
|
|
ldr r3, [sp]
|
|
bl func_ov00_020c0cc8
|
|
_0217cc18:
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x2c]
|
|
blx r1
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, [r0]
|
|
ldr r2, [r2, #0x24]
|
|
blx r2
|
|
ldr r0, [r5, #0x208]
|
|
add r2, r5, #0x128
|
|
cmp r0, #0
|
|
moveq r3, #1
|
|
movne r3, #0
|
|
mov r1, #0x6c
|
|
ldr r0, [r5, #0xc]
|
|
mla r1, r3, r1, r2
|
|
ldr r2, [r0]
|
|
ldr r2, [r2, #0x24]
|
|
blx r2
|
|
ldr r0, [r5, #0x10]
|
|
bl func_ov00_020c0d4c
|
|
ldr r1, [r5, #0x20c]
|
|
str r1, [r0, #4]
|
|
ldr r0, [r5, #0x208]
|
|
add r1, r5, #0x128
|
|
cmp r0, #0
|
|
moveq r2, #1
|
|
movne r2, #0
|
|
mov r0, #0x6c
|
|
mla r0, r2, r0, r1
|
|
bl func_ov00_020c0d4c
|
|
ldr r1, [r5, #0x20c]
|
|
rsb r1, r1, #0x1000
|
|
str r1, [r0, #4]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end func_ov39_0217caf0
|
|
|
|
.global func_ov39_0217ccac
|
|
arm_func_start func_ov39_0217ccac
|
|
func_ov39_0217ccac: ; 0x0217ccac
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x20c]
|
|
cmp r0, #0x1000
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, #0x1000
|
|
str r0, [r4, #0x20c]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x2c]
|
|
blx r1
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [r4, #0x10]
|
|
ldr r2, [r0]
|
|
ldr r2, [r2, #0x24]
|
|
blx r2
|
|
ldr r0, [r4, #0x10]
|
|
bl func_ov00_020c0d4c
|
|
mov r1, #0x1000
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0217ccac
|
|
|
|
.global func_ov39_0217cd00
|
|
arm_func_start func_ov39_0217cd00
|
|
func_ov39_0217cd00: ; 0x0217cd00
|
|
ldr r0, [r0, #0x20c]
|
|
cmp r0, #0x1000
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
bx lr
|
|
arm_func_end func_ov39_0217cd00
|
|
|
|
.global func_ov39_0217cd14
|
|
arm_func_start func_ov39_0217cd14
|
|
func_ov39_0217cd14: ; 0x0217cd14
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
bl func_ov00_020c1554
|
|
ldr r3, _0217cf68 ; =data_ov39_02186a38
|
|
add r1, r5, #0x158
|
|
mov r0, #0
|
|
mov r2, #4
|
|
str r3, [r5]
|
|
bl func_020078f4
|
|
mov r1, #0
|
|
strb r1, [r5, #0x15c]
|
|
str r1, [r5, #0x170]
|
|
str r1, [r5, #0x174]
|
|
str r1, [r5, #0x178]
|
|
str r1, [r5, #0x17c]
|
|
str r1, [r5, #0x180]
|
|
str r1, [r5, #0x188]
|
|
str r1, [r5, #0x18c]
|
|
sub r0, r1, #1
|
|
str r0, [r5, #0x190]
|
|
mov r0, #0xd
|
|
str r0, [r5, #0x194]
|
|
str r1, [r5, #0x198]
|
|
str r1, [r5, #0x19c]
|
|
mov r0, #0x1000
|
|
str r0, [r5, #0x1b4]
|
|
str r1, [r5, #0x1e4]
|
|
str r1, [r5, #0x280]
|
|
ldr r4, _0217cf6c ; =func_ov39_0217cfe8
|
|
str r1, [r5, #0x284]
|
|
ldr r3, _0217cf70 ; =func_ov39_0217d004
|
|
add r0, r5, #0x288
|
|
mov r1, #3
|
|
mov r2, #0xc
|
|
str r4, [sp]
|
|
bl func_0204f614
|
|
mov r1, #0
|
|
str r1, [r5, #0x2ac]
|
|
sub r0, r1, #1
|
|
str r0, [r5, #0x2b0]
|
|
str r1, [r5, #0x2b4]
|
|
add r0, r5, #0x388
|
|
blx func_0202ab78
|
|
mov r1, #0x10
|
|
add r0, r5, #0x500
|
|
strh r1, [r0, #0x2c]
|
|
mov r1, #0
|
|
strh r1, [r0, #0x2e]
|
|
strh r1, [r0, #0x30]
|
|
strb r1, [r5, #0x550]
|
|
strb r1, [r5, #0x551]
|
|
add r0, r5, #0x154
|
|
add r0, r0, #0x400
|
|
mov r1, r5
|
|
mov r2, #1
|
|
bl func_ov39_0217c038
|
|
add r0, r5, #0x6a0
|
|
mov r1, r5
|
|
mov r2, #0
|
|
bl func_ov39_0217c038
|
|
add r0, r5, #0x3ec
|
|
add r4, r0, #0x400
|
|
mov r0, r4
|
|
mov r1, r5
|
|
add r2, r4, #0x20
|
|
add r3, r4, #0x128
|
|
bl func_ov00_020c5c2c
|
|
ldr r1, _0217cf74 ; =data_ov39_02186af4
|
|
add r0, r4, #0x20
|
|
str r1, [r4]
|
|
bl func_ov39_0217c278
|
|
ldr ip, _0217cf78 ; =0x020a9b4d
|
|
ldr r3, _0217cf7c ; =func_ov39_0217cfc0
|
|
add r0, r4, #0x128
|
|
mov r1, #2
|
|
mov r2, #0x6c
|
|
str ip, [sp]
|
|
bl func_0204f614
|
|
mov r3, #0
|
|
str r3, [r4, #0x208]
|
|
mov r1, #0x1000
|
|
ldr r0, _0217cf80 ; =0x0000011f
|
|
str r1, [r4, #0x20c]
|
|
str r0, [r4, #0x210]
|
|
mov r1, r5
|
|
add r0, r4, #0x218
|
|
add r2, r4, #0x238
|
|
strb r3, [r4, #0x214]
|
|
add r3, r4, #0x314
|
|
bl func_ov00_020c5c2c
|
|
ldr r1, _0217cf84 ; =data_ov39_02186b60
|
|
add r0, r4, #0x238
|
|
str r1, [r4, #0x218]
|
|
bl func_ov39_021855c4
|
|
add r0, r4, #0x314
|
|
add r1, r4, #0x338
|
|
mov r2, #0
|
|
blx func_ov00_020c0c08
|
|
ldr r1, _0217cf88 ; =data_ov39_02186b74
|
|
mov r0, #0x1000
|
|
str r1, [r4, #0x314]
|
|
str r0, [r4, #0x370]
|
|
mvn r0, #0
|
|
str r0, [r4, #0x200]
|
|
str r0, [r4, #0x204]
|
|
add r0, r5, #0xb60
|
|
mov r1, #0
|
|
blx func_ov00_020a9588
|
|
add r0, r5, #0x3bc
|
|
add r0, r0, #0x800
|
|
bl func_ov39_02184b20
|
|
add r0, r5, #4
|
|
add r0, r0, #0xc00
|
|
mov r1, #0x1000000
|
|
bl func_ov00_020d18f4
|
|
add r0, r5, #0xc60
|
|
bl func_02038718
|
|
mov r0, #0
|
|
strb r0, [r5, #0xc9c]
|
|
str r0, [r5, #0xcac]
|
|
str r0, [r5, #0xcb0]
|
|
str r0, [r5, #0xcb4]
|
|
str r0, [r5, #0xcb8]
|
|
add r1, r5, #0xd4
|
|
add r1, r1, #0xc00
|
|
str r1, [r5, #0xcc0]
|
|
add r1, r5, #0x2a4
|
|
add r1, r1, #0x1000
|
|
str r1, [r5, #0xcc4]
|
|
mov r1, #0x5d0
|
|
str r1, [r5, #0xcc8]
|
|
str r0, [r5, #0xcd0]
|
|
ldr r2, _0217cf8c ; =data_ov39_02186cc0
|
|
add r1, r5, #0x158
|
|
str r5, [r2, #0x2c]
|
|
mov r2, #4
|
|
bl func_020078f4
|
|
ldr r2, _0217cf8c ; =data_ov39_02186cc0
|
|
ldr r0, _0217cf90 ; =data_ov29_0217a4ac
|
|
ldr r1, _0217cf94 ; =data_ov39_02186ce0
|
|
str r5, [r2, #0x28]
|
|
bl func_ov29_0216d74c
|
|
mov r2, #1
|
|
ldr r0, _0217cf90 ; =data_ov29_0217a4ac
|
|
sub r1, r2, #0x80000002
|
|
strb r2, [r0, #0x55]
|
|
mov r0, r5
|
|
str r1, [r5, #0x25c]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217cd14
|
|
_0217cf68: .word data_ov39_02186a38
|
|
_0217cf6c: .word func_ov39_0217cfe8
|
|
_0217cf70: .word func_ov39_0217d004
|
|
_0217cf74: .word data_ov39_02186af4
|
|
_0217cf78: .word 0x020a9b4d
|
|
_0217cf7c: .word func_ov39_0217cfc0
|
|
_0217cf80: .word 0x0000011f
|
|
_0217cf84: .word data_ov39_02186b60
|
|
_0217cf88: .word data_ov39_02186b74
|
|
_0217cf8c: .word data_ov39_02186cc0
|
|
_0217cf90: .word data_ov29_0217a4ac
|
|
_0217cf94: .word data_ov39_02186ce0
|
|
|
|
.global func_ov39_0217cf98
|
|
arm_func_start func_ov39_0217cf98
|
|
func_ov39_0217cf98: ; 0x0217cf98
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
blx func_ov00_020a95ec
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0217cf98
|
|
|
|
.global func_ov39_0217cfac
|
|
arm_func_start func_ov39_0217cfac
|
|
func_ov39_0217cfac: ; 0x0217cfac
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
blx func_ov00_020a95ec
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0217cfac
|
|
|
|
.global func_ov39_0217cfc0
|
|
arm_func_start func_ov39_0217cfc0
|
|
func_ov39_0217cfc0: ; 0x0217cfc0
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r1, r4, #0x24
|
|
mov r2, #0
|
|
blx func_ov00_020c0c08
|
|
ldr r1, _0217cfe4 ; =data_ov39_02186b08
|
|
mov r0, r4
|
|
str r1, [r4]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217cfc0
|
|
_0217cfe4: .word data_ov39_02186b08
|
|
|
|
.global func_ov39_0217cfe8
|
|
arm_func_start func_ov39_0217cfe8
|
|
func_ov39_0217cfe8: ; 0x0217cfe8
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl func_ov00_020b7e6c
|
|
mov r0, r4
|
|
bl func_ov00_020b7df0
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0217cfe8
|
|
|
|
.global func_ov39_0217d004
|
|
arm_func_start func_ov39_0217d004
|
|
func_ov39_0217d004: ; 0x0217d004
|
|
mov r2, #0
|
|
str r2, [r0]
|
|
sub r1, r2, #1
|
|
stmib r0, {r1, r2}
|
|
bx lr
|
|
arm_func_end func_ov39_0217d004
|
|
|
|
.global func_ov39_0217d018
|
|
arm_func_start func_ov39_0217d018
|
|
func_ov39_0217d018: ; 0x0217d018
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r1, _0217d104 ; =data_ov39_02186cc0
|
|
mov r2, #0
|
|
add r0, r4, #0xc60
|
|
str r2, [r1, #0x2c]
|
|
bl func_0203780c
|
|
add r0, r4, #4
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d1980
|
|
add r0, r4, #0x3bc
|
|
add r0, r0, #0x800
|
|
bl func_ov39_02184b74
|
|
add r0, r4, #0xb60
|
|
blx func_ov00_020a95a4
|
|
add r0, r4, #0xb00
|
|
blx func_ov00_020a9b0c
|
|
add r0, r4, #0x224
|
|
add r0, r0, #0x800
|
|
blx func_ov00_020a95ec
|
|
add r0, r4, #0x114
|
|
add r0, r0, #0x800
|
|
mov r1, #2
|
|
mov r2, #0x6c
|
|
ldr r3, _0217d108 ; =0x020a9b4d
|
|
bl func_0204f754
|
|
add r0, r4, #0xc
|
|
add r0, r0, #0x800
|
|
blx func_ov00_020a95ec
|
|
add r0, r4, #0x39c
|
|
add r0, r0, #0x400
|
|
blx func_ov00_020a9acc
|
|
add r0, r4, #0x31c
|
|
add r0, r0, #0x400
|
|
blx func_ov00_020a9b6c
|
|
add r0, r4, #0x6c0
|
|
blx func_ov00_020a95a4
|
|
add r0, r4, #0x650
|
|
blx func_ov00_020a9acc
|
|
add r0, r4, #0x5d0
|
|
blx func_ov00_020a9b6c
|
|
add r0, r4, #0x174
|
|
add r0, r0, #0x400
|
|
blx func_ov00_020a95a4
|
|
add r0, r4, #0x388
|
|
blx func_0202ab64
|
|
add r0, r4, #0x2ac
|
|
bl func_ov00_020b7e6c
|
|
add r0, r4, #0x2ac
|
|
bl func_ov00_020b7df0
|
|
add r0, r4, #0x288
|
|
mov r1, #3
|
|
mov r2, #0xc
|
|
ldr r3, _0217d10c ; =func_ov39_0217cfe8
|
|
bl func_0204f754
|
|
mov r0, r4
|
|
bl func_ov00_020c1730
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217d018
|
|
_0217d104: .word data_ov39_02186cc0
|
|
_0217d108: .word 0x020a9b4d
|
|
_0217d10c: .word func_ov39_0217cfe8
|
|
|
|
.global func_ov39_0217d110
|
|
arm_func_start func_ov39_0217d110
|
|
func_ov39_0217d110: ; 0x0217d110
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r1, _0217d204 ; =data_ov39_02186cc0
|
|
mov r2, #0
|
|
add r0, r4, #0xc60
|
|
str r2, [r1, #0x2c]
|
|
bl func_0203780c
|
|
add r0, r4, #4
|
|
add r0, r0, #0xc00
|
|
bl func_ov00_020d1980
|
|
add r0, r4, #0x3bc
|
|
add r0, r0, #0x800
|
|
bl func_ov39_02184b74
|
|
add r0, r4, #0xb60
|
|
blx func_ov00_020a95a4
|
|
add r0, r4, #0xb00
|
|
blx func_ov00_020a9b0c
|
|
add r0, r4, #0x224
|
|
add r0, r0, #0x800
|
|
blx func_ov00_020a95ec
|
|
add r0, r4, #0x114
|
|
add r0, r0, #0x800
|
|
mov r1, #2
|
|
mov r2, #0x6c
|
|
ldr r3, _0217d208 ; =0x020a9b4d
|
|
bl func_0204f754
|
|
add r0, r4, #0xc
|
|
add r0, r0, #0x800
|
|
blx func_ov00_020a95ec
|
|
add r0, r4, #0x39c
|
|
add r0, r0, #0x400
|
|
blx func_ov00_020a9acc
|
|
add r0, r4, #0x31c
|
|
add r0, r0, #0x400
|
|
blx func_ov00_020a9b6c
|
|
add r0, r4, #0x6c0
|
|
blx func_ov00_020a95a4
|
|
add r0, r4, #0x650
|
|
blx func_ov00_020a9acc
|
|
add r0, r4, #0x5d0
|
|
blx func_ov00_020a9b6c
|
|
add r0, r4, #0x174
|
|
add r0, r0, #0x400
|
|
blx func_ov00_020a95a4
|
|
add r0, r4, #0x388
|
|
blx func_0202ab64
|
|
add r0, r4, #0x2ac
|
|
bl func_ov00_020b7e6c
|
|
add r0, r4, #0x2ac
|
|
bl func_ov00_020b7df0
|
|
add r0, r4, #0x288
|
|
mov r1, #3
|
|
mov r2, #0xc
|
|
ldr r3, _0217d20c ; =func_ov39_0217cfe8
|
|
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_ov39_0217d110
|
|
_0217d204: .word data_ov39_02186cc0
|
|
_0217d208: .word 0x020a9b4d
|
|
_0217d20c: .word func_ov39_0217cfe8
|
|
|
|
.global func_ov39_0217d210
|
|
arm_func_start func_ov39_0217d210
|
|
func_ov39_0217d210: ; 0x0217d210
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x48
|
|
ldr r1, _0217d504 ; =data_027e0fb4
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
mov r1, #0
|
|
strh r1, [r0, #0xba]
|
|
add r2, r4, #0x100
|
|
strh r1, [r2, #0x20]
|
|
mov r3, #2
|
|
strb r3, [r4, #0x124]
|
|
mov r0, #4
|
|
strb r0, [r4, #0x125]
|
|
mov r0, #1
|
|
strb r0, [r4, #0x128]
|
|
str r3, [r4, #0x12c]
|
|
ldr r3, _0217d508 ; =0x00001333
|
|
str r1, [r4, #0x7c]
|
|
str r3, [r4, #0x80]
|
|
str r1, [r4, #0x84]
|
|
ldr r0, _0217d50c ; =0x0000199a
|
|
str r3, [r4, #0x88]
|
|
str r0, [r4, #0x1ac]
|
|
ldr r3, [r4, #0x48]
|
|
add r0, r4, #0x3ec
|
|
str r3, [r4, #0x268]
|
|
ldr r3, [r4, #0x4c]
|
|
add r0, r0, #0x400
|
|
str r3, [r4, #0x26c]
|
|
ldr r3, [r4, #0x50]
|
|
str r3, [r4, #0x270]
|
|
ldrsh r3, [r4, #0x78]
|
|
strh r3, [r2, #0x68]
|
|
str r1, [r4, #0x1e8]
|
|
str r1, [r4, #0x1ec]
|
|
bl func_ov39_0217c748
|
|
add r0, r4, #0x228
|
|
ldr r1, _0217d510 ; =func_ov39_0217c24c
|
|
add r0, r0, #0x800
|
|
str r4, [r4, #0xa54]
|
|
bl func_02018cb8
|
|
ldr r0, _0217d514 ; =data_027e0fc8
|
|
ldr r0, [r0]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x80]
|
|
blx r1
|
|
ldr r0, _0217d518 ; =data_027e0fec
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x18
|
|
add r0, r0, #0x4000
|
|
bl func_ov00_020c4588
|
|
mov r1, r0
|
|
add r0, r4, #0xb60
|
|
ldr r2, [r0]
|
|
ldr r2, [r2, #0xc]
|
|
blx r2
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, r4
|
|
orr r1, r1, #0x200
|
|
str r1, [r4, #0x158]
|
|
mov r1, #8
|
|
mov r2, #0x64
|
|
mov r3, #0
|
|
bl func_ov39_0217ec34
|
|
ldr r0, _0217d51c ; =data_ov00_020eec9c
|
|
mov r1, #0x3a
|
|
bl func_ov00_020d77e4
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl func_ov39_0218599c
|
|
add r0, r4, #0x154
|
|
add r0, r0, #0x400
|
|
bl func_ov39_0217c0b4
|
|
add r0, r4, #0x6a0
|
|
bl func_ov39_0217c0b4
|
|
ldr r1, [r4, #8]
|
|
ldr r0, _0217d518 ; =data_027e0fec
|
|
str r1, [r4, #0xc24]
|
|
ldr r2, [r4, #0xc]
|
|
add r1, r4, #0x1000
|
|
str r2, [r4, #0xc28]
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1000
|
|
ldr r0, [r0, #0x428]
|
|
str r0, [r1, #0x878]
|
|
ldr r1, [r1, #0x878]
|
|
ldr r0, _0217d520 ; =data_ov29_0217a4ac
|
|
bl func_ov29_0216d86c
|
|
add r1, r4, #0x1000
|
|
str r0, [r1, #0x874]
|
|
ldr r0, [r1, #0x878]
|
|
ldr r1, _0217d524 ; =data_ov39_02186c08
|
|
bl func_ov29_0216db60
|
|
mov r5, r0
|
|
add r0, r4, #0x1000
|
|
ldr r0, [r0, #0x878]
|
|
mov r1, r5
|
|
bl func_ov29_0216db74
|
|
add r2, r4, #0x1000
|
|
str r0, [r2, #0x87c]
|
|
ldr r0, [r2, #0x878]
|
|
mov r1, r5
|
|
bl func_ov29_0216dba8
|
|
add r1, r4, #0x1000
|
|
str r0, [r1, #0x880]
|
|
mov r0, #3
|
|
str r0, [r4, #0x54c]
|
|
mov r1, #0
|
|
add r0, r4, #0x500
|
|
strh r1, [r0, #0x30]
|
|
strh r1, [r0, #0x2e]
|
|
mov r3, #2
|
|
add r0, r4, #0x3ac
|
|
mov r1, #0x4f
|
|
mov r2, #6
|
|
str r3, [sp]
|
|
bl func_ov00_020c0ecc
|
|
mvn r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x1c
|
|
bl func_ov00_020c1500
|
|
mvn r0, #0
|
|
str r0, [sp, #0x38]
|
|
str r0, [sp, #0x3c]
|
|
add r0, sp, #0x1c
|
|
bl func_ov00_020c3348
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #4
|
|
str r0, [sp, #0x38]
|
|
ldr r2, [r4, #0xc]
|
|
ldr r0, _0217d528 ; =data_027e0fe8
|
|
str r2, [sp, #0x3c]
|
|
str r1, [sp]
|
|
ldr r0, [r0]
|
|
ldr r1, _0217d52c ; =0x4c4f4e44
|
|
add r2, r4, #0x48
|
|
add r3, sp, #0x1c
|
|
bl func_ov00_020c4048
|
|
ldr r1, [sp, #4]
|
|
mvn r0, #0
|
|
cmp r1, r0
|
|
beq _0217d46c
|
|
ldr r0, _0217d530 ; =data_027e0fe4
|
|
add r1, sp, #4
|
|
ldr r0, [r0]
|
|
bl func_ov00_020c3674
|
|
str r0, [r4, #0x284]
|
|
_0217d46c:
|
|
add r0, r4, #0x7c
|
|
add r3, sp, #0xc
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r1, [r4, #0x88]
|
|
mov r0, #2
|
|
str r1, [sp, #0x18]
|
|
ldr ip, [r4, #0x284]
|
|
sub r1, r0, #3
|
|
str r0, [ip, #0x12c]
|
|
ldr r2, [sp, #0xc]
|
|
mov r0, #1
|
|
str r2, [ip, #0x7c]
|
|
ldr r2, [sp, #0x10]
|
|
str r2, [ip, #0x80]
|
|
ldr r2, [sp, #0x14]
|
|
str r2, [ip, #0x84]
|
|
ldr r3, [sp, #0x18]
|
|
str r3, [ip, #0x88]
|
|
ldr r2, [ip, #0x7c]
|
|
str r2, [ip, #0xa8]
|
|
ldr r2, [ip, #0x80]
|
|
str r2, [ip, #0xac]
|
|
ldr r2, [ip, #0x84]
|
|
str r2, [ip, #0xb0]
|
|
str r3, [ip, #0xb4]
|
|
str r1, [sp, #0x18]
|
|
ldr r2, [r4, #0x284]
|
|
ldr r1, [sp, #0xc]
|
|
str r1, [r2, #0x7c]
|
|
ldr r1, [sp, #0x10]
|
|
str r1, [r2, #0x80]
|
|
ldr r1, [sp, #0x14]
|
|
str r1, [r2, #0x84]
|
|
ldr r1, [sp, #0x18]
|
|
str r1, [r2, #0x88]
|
|
add sp, sp, #0x48
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217d210
|
|
_0217d504: .word data_027e0fb4
|
|
_0217d508: .word 0x00001333
|
|
_0217d50c: .word 0x0000199a
|
|
_0217d510: .word func_ov39_0217c24c
|
|
_0217d514: .word data_027e0fc8
|
|
_0217d518: .word data_027e0fec
|
|
_0217d51c: .word data_ov00_020eec9c
|
|
_0217d520: .word data_ov29_0217a4ac
|
|
_0217d524: .word data_ov39_02186c08
|
|
_0217d528: .word data_027e0fe8
|
|
_0217d52c: .word 0x4c4f4e44
|
|
_0217d530: .word data_027e0fe4
|
|
|
|
.global func_ov39_0217d534
|
|
arm_func_start func_ov39_0217d534
|
|
func_ov39_0217d534: ; 0x0217d534
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0x14
|
|
mov r4, r0
|
|
ldr r1, [r4, #0x4c]
|
|
ldr r0, _0217d5c4 ; =data_027e0e60
|
|
add r1, r1, #0x3000
|
|
str r1, [r4, #0x4c]
|
|
ldr r1, [r4, #0x48]
|
|
ldr r0, [r0]
|
|
str r1, [sp, #8]
|
|
ldr r2, [r4, #0x4c]
|
|
add r1, sp, #8
|
|
str r2, [sp, #0xc]
|
|
ldr r3, [r4, #0x50]
|
|
mov r2, #0
|
|
str r3, [sp, #0x10]
|
|
bl func_ov00_02083ee0
|
|
ldr r1, _0217d5c8 ; =data_027e0f94
|
|
mov r3, r0
|
|
str r0, [r4, #0x4c]
|
|
add r0, r4, #0x48
|
|
add r2, r4, #0x268
|
|
str r3, [r4, #0x1b0]
|
|
bl func_01ff9bf8
|
|
ldr r1, _0217d5cc ; =data_027e0fe4
|
|
ldr r2, _0217d5d0 ; =0x4e415649
|
|
ldr r1, [r1]
|
|
add r0, sp, #0
|
|
bl func_ov00_020c3894
|
|
ldr r0, _0217d5cc ; =data_027e0fe4
|
|
add r1, sp, #0
|
|
ldr r0, [r0]
|
|
bl func_ov00_020c3674
|
|
str r0, [r4, #0x280]
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217d534
|
|
_0217d5c4: .word data_027e0e60
|
|
_0217d5c8: .word data_027e0f94
|
|
_0217d5cc: .word data_027e0fe4
|
|
_0217d5d0: .word 0x4e415649
|
|
|
|
.global func_ov39_0217d5d4
|
|
arm_func_start func_ov39_0217d5d4
|
|
func_ov39_0217d5d4: ; 0x0217d5d4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r2, #0
|
|
add r0, r5, #0x288
|
|
mov r4, r1
|
|
strb r2, [r5, #0x911]
|
|
bl func_ov00_020b7e6c
|
|
add r0, r5, #0x294
|
|
bl func_ov00_020b7e6c
|
|
add r0, r5, #0x2a0
|
|
bl func_ov00_020b7e6c
|
|
mov r0, #0
|
|
str r0, [r5, #0x16c]
|
|
ldr r0, [r5, #0x158]
|
|
ldr r1, _0217d678 ; =0x00001333
|
|
bic r2, r0, #0x200
|
|
bic r0, r2, #0x400
|
|
bic r0, r0, #0x4000000
|
|
str r0, [r5, #0x158]
|
|
ldr r0, _0217d67c ; =0x0000199a
|
|
str r1, [r5, #0x88]
|
|
str r0, [r5, #0x1ac]
|
|
ldr r0, [r5, #0x158]
|
|
tst r0, #0x10
|
|
ldr r0, _0217d680 ; =data_ov39_021863a4
|
|
movne r4, #1
|
|
add r1, r0, r4, lsl #3
|
|
ldr r0, [r1, #4]
|
|
tst r0, #1
|
|
add r0, r5, r0, asr #1
|
|
ldreq r1, [r1]
|
|
beq _0217d660
|
|
ldr r2, [r0]
|
|
ldr r1, [r1]
|
|
ldr r1, [r2, r1]
|
|
_0217d660:
|
|
blx r1
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
strne r0, [r5, #0x138]
|
|
strne r4, [r5, #0x130]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217d5d4
|
|
_0217d678: .word 0x00001333
|
|
_0217d67c: .word 0x0000199a
|
|
_0217d680: .word data_ov39_021863a4
|
|
|
|
.global func_ov39_0217d684
|
|
arm_func_start func_ov39_0217d684
|
|
func_ov39_0217d684: ; 0x0217d684
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
mov r0, #0x10000
|
|
ldr r2, [r4, #0xc78]
|
|
rsb r0, r0, #0
|
|
and r0, r2, r0
|
|
mov r5, r1
|
|
cmp r0, #0x1000000
|
|
beq _0217d6b4
|
|
ldr r0, _0217d700 ; =data_027e0c68
|
|
add r1, r4, #0xc60
|
|
bl func_02036888
|
|
_0217d6b4:
|
|
mov r0, r4
|
|
mov r1, r5
|
|
bl func_ov00_020c313c
|
|
cmp r0, #0
|
|
beq _0217d6dc
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, r4
|
|
bic r1, r1, #0x200000
|
|
str r1, [r4, #0x158]
|
|
bl func_ov39_0217d790
|
|
_0217d6dc:
|
|
mov r0, #3
|
|
str r0, [r4, #0x54c]
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x200000
|
|
movne r1, #1
|
|
moveq r1, #0
|
|
add r0, r4, #0x3ac
|
|
bl func_ov00_020c1424
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217d684
|
|
_0217d700: .word data_027e0c68
|
|
|
|
.global func_ov39_0217d704
|
|
arm_func_start func_ov39_0217d704
|
|
func_ov39_0217d704: ; 0x0217d704
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
mov r0, #0x10000
|
|
ldr r2, [r4, #0xc78]
|
|
rsb r0, r0, #0
|
|
and r0, r2, r0
|
|
mov r5, r1
|
|
cmp r0, #0x1000000
|
|
beq _0217d734
|
|
ldr r0, _0217d78c ; =data_027e0c68
|
|
add r1, r4, #0xc60
|
|
bl func_02036888
|
|
_0217d734:
|
|
mov r0, r4
|
|
mov r1, r5
|
|
bl func_ov00_020c313c
|
|
cmp r0, #0
|
|
beq _0217d768
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x200
|
|
beq _0217d768
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, r4
|
|
bic r1, r1, #0x200000
|
|
str r1, [r4, #0x158]
|
|
bl func_ov39_0217d790
|
|
_0217d768:
|
|
mov r0, #3
|
|
str r0, [r4, #0x54c]
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x200000
|
|
movne r1, #1
|
|
moveq r1, #0
|
|
add r0, r4, #0x3ac
|
|
bl func_ov00_020c1424
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217d704
|
|
_0217d78c: .word data_027e0c68
|
|
|
|
.global func_ov39_0217d790
|
|
arm_func_start func_ov39_0217d790
|
|
func_ov39_0217d790: ; 0x0217d790
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x78
|
|
mov r5, r0
|
|
ldr r0, [r5, #0x158]
|
|
bic r0, r0, #0x100000
|
|
str r0, [r5, #0x158]
|
|
ldr r0, [r5, #0x48]
|
|
str r0, [r5, #0x54]
|
|
ldr r0, [r5, #0x4c]
|
|
str r0, [r5, #0x58]
|
|
ldr r0, [r5, #0x50]
|
|
str r0, [r5, #0x5c]
|
|
ldr r0, [r5, #0x188]
|
|
cmp r0, #0
|
|
subne r0, r0, #1
|
|
strne r0, [r5, #0x188]
|
|
ldr r0, _0217dcf8 ; =data_ov29_0217bd28
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _0217d7f8
|
|
mov r0, r5
|
|
bl func_ov39_0217f034
|
|
cmp r0, #0
|
|
beq _0217d7f8
|
|
mov r0, r5
|
|
bl func_ov39_0217f0c0
|
|
_0217d7f8:
|
|
ldrb r0, [r5, #0xc9c]
|
|
cmp r0, #0
|
|
beq _0217d884
|
|
add r0, r5, #0x3bc
|
|
add r0, r0, #0x800
|
|
bl func_ov39_02184bb8
|
|
ldr r0, [r5, #0x130]
|
|
ldr r1, _0217dcfc ; =data_ov39_0218646c
|
|
add r1, r1, r0, lsl #3
|
|
ldr r0, [r1, #4]
|
|
tst r0, #1
|
|
add r0, r5, r0, asr #1
|
|
ldreq r1, [r1]
|
|
beq _0217d83c
|
|
ldr r2, [r0]
|
|
ldr r1, [r1]
|
|
ldr r1, [r2, r1]
|
|
_0217d83c:
|
|
blx r1
|
|
mov r0, r5
|
|
bl func_ov39_0217ec98
|
|
cmp r0, #0
|
|
bne _0217d86c
|
|
mov r0, r5
|
|
mov r1, #0x12
|
|
bl func_ov00_020c1fc8
|
|
mov r1, #0
|
|
mov r0, r5
|
|
mov r2, r1
|
|
bl func_ov00_020c243c
|
|
_0217d86c:
|
|
ldr r0, [r5, #0x158]
|
|
tst r0, #0x40
|
|
beq _0217d9a4
|
|
mov r0, r5
|
|
bl func_ov39_0217eae4
|
|
b _0217d9a4
|
|
_0217d884:
|
|
ldr r0, _0217dd00 ; =data_ov00_020eec9c
|
|
ldr r1, _0217dd04 ; =0x00000325
|
|
bl func_ov00_020d7d18
|
|
ldr r0, [r5, #0x158]
|
|
tst r0, #0x40
|
|
ldr r0, [r5, #0x130]
|
|
bne _0217d8b4
|
|
cmp r0, #1
|
|
beq _0217d8cc
|
|
mov r0, r5
|
|
bl func_ov39_0217f32c
|
|
b _0217d8cc
|
|
_0217d8b4:
|
|
cmp r0, #1
|
|
beq _0217d8cc
|
|
mov r0, r5
|
|
bl func_ov39_0217eae4
|
|
mov r0, r5
|
|
bl func_ov39_0217f570
|
|
_0217d8cc:
|
|
add r0, r5, #0x3bc
|
|
add r0, r0, #0x800
|
|
bl func_ov39_02184e6c
|
|
mov r0, r5
|
|
bl func_ov39_02185aa4
|
|
mov r0, r5
|
|
bl func_ov00_020c2bf4
|
|
ldr r0, [r5, #0x130]
|
|
ldr r1, _0217dcfc ; =data_ov39_0218646c
|
|
add r1, r1, r0, lsl #3
|
|
ldr r0, [r1, #4]
|
|
tst r0, #1
|
|
add r0, r5, r0, asr #1
|
|
ldreq r1, [r1]
|
|
beq _0217d914
|
|
ldr r2, [r0]
|
|
ldr r1, [r1]
|
|
ldr r1, [r2, r1]
|
|
_0217d914:
|
|
blx r1
|
|
ldr r0, [r5, #0x130]
|
|
cmp r0, #0x10
|
|
ldrne r0, [r5, #0x1e4]
|
|
cmpne r0, #0
|
|
beq _0217d950
|
|
add r0, r5, #0x154
|
|
add r0, r0, #0x400
|
|
bl func_ov00_020c5e20
|
|
add r0, r5, #0x6a0
|
|
bl func_ov00_020c5e20
|
|
ldr r2, _0217dd08 ; =0x0000011f
|
|
add r0, r5, #0x1e4
|
|
mov r1, #0
|
|
bl func_0202b0f4
|
|
_0217d950:
|
|
mov r0, r5
|
|
bl func_ov39_0217e82c
|
|
add r0, r5, #0x3ec
|
|
add r0, r0, #0x400
|
|
bl func_ov39_0217c7c4
|
|
mov r0, r5
|
|
bl func_ov39_0217fc50
|
|
mov r0, r5
|
|
bl func_ov39_0217e8b4
|
|
add r0, r5, #0x48
|
|
add r1, r5, #0x60
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
ldr r1, [r5, #0x1b0]
|
|
ldr r0, [r5, #0x4c]
|
|
cmp r0, r1
|
|
bge _0217d9a4
|
|
str r1, [r5, #0x4c]
|
|
mov r0, #0
|
|
str r0, [r5, #0x64]
|
|
str r0, [r5, #0x6c]
|
|
_0217d9a4:
|
|
ldr r0, [r5, #0x130]
|
|
cmp r0, #0x10
|
|
bne _0217da40
|
|
mov r0, r5
|
|
bl func_ov00_020c2974
|
|
ldr r2, [r5, #0x48]
|
|
ldr r1, _0217dd0c ; =data_027e0f64
|
|
str r2, [sp, #0x54]
|
|
ldr r2, [r5, #0x4c]
|
|
ldr r1, [r1]
|
|
str r2, [sp, #0x58]
|
|
ldr r2, [r5, #0x50]
|
|
mov r4, r0
|
|
str r2, [sp, #0x5c]
|
|
ldr r0, [r1, #8]
|
|
add r1, sp, #0x54
|
|
mov r2, r4
|
|
bl func_ov00_02087fe0
|
|
add r0, r5, #0x100
|
|
strh r4, [r0, #0x68]
|
|
mov r0, #0x14000
|
|
str r0, [r5, #0x1ec]
|
|
ldr r1, [r5, #0x48]
|
|
ldr r0, _0217dd0c ; =data_027e0f64
|
|
str r1, [sp, #0x48]
|
|
ldr r1, [r5, #0x4c]
|
|
ldr r0, [r0]
|
|
str r1, [sp, #0x4c]
|
|
ldr r2, [r5, #0x50]
|
|
add r1, sp, #0x48
|
|
str r2, [sp, #0x50]
|
|
ldr r0, [r0, #4]
|
|
mov r2, r4
|
|
bl func_ov00_02087fe0
|
|
ldr r0, _0217dd10 ; =data_027e0fc8
|
|
add r1, r5, #0x48
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bb6d4
|
|
b _0217dcc4
|
|
_0217da40:
|
|
cmp r0, #1
|
|
bne _0217dba4
|
|
ldr r0, [r5, #0x194]
|
|
cmp r0, #9
|
|
blt _0217db14
|
|
cmp r0, #0xb
|
|
bge _0217db14
|
|
ldr r2, [r5, #0x280]
|
|
ldr r1, _0217dd14 ; =0x000004cd
|
|
ldr r6, [r2, #0x48]
|
|
add r0, sp, #0x6c
|
|
str r6, [sp, #0x6c]
|
|
ldr lr, [r2, #0x4c]
|
|
str lr, [sp, #0x70]
|
|
ldr ip, [r2, #0x50]
|
|
str ip, [sp, #0x74]
|
|
ldr r4, [r5, #0x50]
|
|
ldr r3, [r5, #0x4c]
|
|
ldr r2, [r5, #0x48]
|
|
sub r4, ip, r4
|
|
sub r3, lr, r3
|
|
sub r2, r6, r2
|
|
str r2, [sp, #0x6c]
|
|
str r3, [sp, #0x70]
|
|
str r4, [sp, #0x74]
|
|
bl func_01fffbec
|
|
ldr r1, [r5, #0x48]
|
|
add r0, sp, #0x6c
|
|
str r1, [sp, #0x3c]
|
|
ldr r2, [r5, #0x4c]
|
|
add r1, sp, #0x3c
|
|
str r2, [sp, #0x40]
|
|
ldr r3, [r5, #0x50]
|
|
mov r2, r0
|
|
str r3, [sp, #0x44]
|
|
bl func_01ff9bc4
|
|
add r1, sp, #0x6c
|
|
add r0, r5, #0x238
|
|
mov r2, #0x8000
|
|
bl func_0202b308
|
|
ldr r1, [r5, #0x238]
|
|
ldr r0, _0217dd0c ; =data_027e0f64
|
|
str r1, [sp, #0x30]
|
|
ldr r1, [r5, #0x23c]
|
|
ldr r0, [r0]
|
|
str r1, [sp, #0x34]
|
|
ldr r2, [r5, #0x240]
|
|
add r1, sp, #0x30
|
|
str r2, [sp, #0x38]
|
|
ldrsh r2, [r5, #0x78]
|
|
ldr r0, [r0, #8]
|
|
bl func_ov00_02087fe0
|
|
b _0217db54
|
|
_0217db14:
|
|
add r0, r5, #0x238
|
|
add r1, r5, #0x48
|
|
mov r2, #0x8000
|
|
bl func_0202b308
|
|
ldr r1, [r5, #0x238]
|
|
ldr r0, _0217dd0c ; =data_027e0f64
|
|
str r1, [sp, #0x24]
|
|
ldr r1, [r5, #0x23c]
|
|
ldr r0, [r0]
|
|
str r1, [sp, #0x28]
|
|
ldr r2, [r5, #0x240]
|
|
add r1, sp, #0x24
|
|
str r2, [sp, #0x2c]
|
|
ldrsh r2, [r5, #0x78]
|
|
ldr r0, [r0, #8]
|
|
bl func_ov00_02087fe0
|
|
_0217db54:
|
|
ldr r1, [r5, #0x48]
|
|
ldr r0, _0217dd0c ; =data_027e0f64
|
|
str r1, [sp, #0x18]
|
|
ldr r1, [r5, #0x4c]
|
|
ldr r0, [r0]
|
|
str r1, [sp, #0x1c]
|
|
ldr r2, [r5, #0x50]
|
|
add r1, sp, #0x18
|
|
str r2, [sp, #0x20]
|
|
ldrsh r2, [r5, #0x78]
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02087fe0
|
|
ldr r0, [r5, #0x194]
|
|
cmp r0, #1
|
|
beq _0217dcc4
|
|
ldr r0, _0217dd10 ; =data_027e0fc8
|
|
add r1, r5, #0x48
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bb6d4
|
|
b _0217dcc4
|
|
_0217dba4:
|
|
cmp r0, #0x17
|
|
bge _0217dcc4
|
|
ldrsh r2, [r5, #0x78]
|
|
ldr r1, [r5, #0x1ec]
|
|
add r0, r5, #0x100
|
|
cmp r1, #0x1000
|
|
strleh r2, [r0, #0x68]
|
|
ble _0217dbec
|
|
ldrsh r0, [r0, #0x68]
|
|
sub r0, r2, r0
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x4
|
|
bl func_01ff98e0
|
|
add r1, r5, #0x100
|
|
ldrsh r2, [r1, #0x68]
|
|
add r0, r0, #0x800
|
|
add r0, r2, r0, asr #12
|
|
strh r0, [r1, #0x68]
|
|
_0217dbec:
|
|
ldr r0, [r5, #0x1ec]
|
|
ldr r1, _0217dd0c ; =data_027e0f64
|
|
cmp r0, #0x1000
|
|
subge r0, r0, #0x1000
|
|
strge r0, [r5, #0x1ec]
|
|
ldr r0, [r5, #0x48]
|
|
ldr r1, [r1]
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #0x4c]
|
|
add r0, r5, #0x100
|
|
str r2, [sp, #0x10]
|
|
ldr r2, [r5, #0x50]
|
|
str r2, [sp, #0x14]
|
|
ldrsh r2, [r0, #0x68]
|
|
ldr r0, [r1, #8]
|
|
add r1, sp, #0xc
|
|
bl func_ov00_02087fe0
|
|
ldr r0, [r5, #0x158]
|
|
tst r0, #0x4000000
|
|
movne r0, #0x14000
|
|
strne r0, [r5, #0x1e8]
|
|
bne _0217dc74
|
|
ldr r1, _0217dd18 ; =data_027e0f94
|
|
add r2, sp, #0x60
|
|
add r0, r5, #0x48
|
|
bl func_01ff9bf8
|
|
ldr r2, [r5, #0x1e8]
|
|
add r1, sp, #0x60
|
|
add r0, r5, #0x268
|
|
bl func_0202b308
|
|
ldr r0, [r5, #0x1e8]
|
|
cmp r0, #0x1000
|
|
subge r0, r0, #0x1000
|
|
strge r0, [r5, #0x1e8]
|
|
_0217dc74:
|
|
ldr r0, _0217dd18 ; =data_027e0f94
|
|
add r2, sp, #0x60
|
|
add r1, r5, #0x268
|
|
bl func_01ff9bc4
|
|
ldr r3, [sp, #0x60]
|
|
ldr r1, [sp, #0x68]
|
|
ldr r0, _0217dd0c ; =data_027e0f64
|
|
ldr r2, [sp, #0x64]
|
|
str r1, [sp, #8]
|
|
str r3, [sp]
|
|
str r2, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldrsh r2, [r5, #0x78]
|
|
ldr r0, [r0, #4]
|
|
add r1, sp, #0
|
|
bl func_ov00_02087fe0
|
|
ldr r0, _0217dd10 ; =data_027e0fc8
|
|
add r1, r5, #0x48
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bb6d4
|
|
_0217dcc4:
|
|
mov r0, r5
|
|
bl func_ov39_0217f810
|
|
mov r0, r5
|
|
bl func_ov39_0217e434
|
|
ldr r0, [r5, #0x280]
|
|
ldrb r1, [r0, #0x11a]
|
|
cmp r1, #0
|
|
addne sp, sp, #0x78
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldrb r1, [r5, #0xc9c]
|
|
bl func_ov39_02185324
|
|
add sp, sp, #0x78
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217d790
|
|
_0217dcf8: .word data_ov29_0217bd28
|
|
_0217dcfc: .word data_ov39_0218646c
|
|
_0217dd00: .word data_ov00_020eec9c
|
|
_0217dd04: .word 0x00000325
|
|
_0217dd08: .word 0x0000011f
|
|
_0217dd0c: .word data_027e0f64
|
|
_0217dd10: .word data_027e0fc8
|
|
_0217dd14: .word 0x000004cd
|
|
_0217dd18: .word data_027e0f94
|
|
|
|
.global func_ov39_0217dd1c
|
|
arm_func_start func_ov39_0217dd1c
|
|
func_ov39_0217dd1c: ; 0x0217dd1c
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x9c
|
|
mov r5, r0
|
|
add r0, r5, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r4, r1
|
|
bl func_ov00_020c5f1c
|
|
ldr r0, [r5, #0x130]
|
|
cmp r0, #0x17
|
|
bge _0217dd7c
|
|
add r0, sp, #0x30
|
|
mov r1, r5
|
|
bl func_ov39_0217f798
|
|
ldr r1, [sp, #0x30]
|
|
mov r0, r5
|
|
str r1, [r5, #0x208]
|
|
ldr r1, [sp, #0x34]
|
|
str r1, [r5, #0x20c]
|
|
ldr r1, [sp, #0x38]
|
|
str r1, [r5, #0x210]
|
|
bl func_ov39_02185ae0
|
|
mvn r0, #0x80000000
|
|
str r0, [r5, #0x25c]
|
|
b _0217ddcc
|
|
_0217dd7c:
|
|
add r0, r5, #0xac
|
|
add r0, r0, #0xc00
|
|
bl func_ov17_021687f0
|
|
ldrh r1, [r5, #0x78]
|
|
ldr r3, _0217dfac ; =data_02050f54
|
|
add r0, sp, #0x78
|
|
mov r1, r1, asr #0x4
|
|
mov r2, r1, lsl #0x1
|
|
add r1, r2, #1
|
|
mov r6, r2, lsl #0x1
|
|
mov r2, r1, lsl #0x1
|
|
ldrsh r1, [r3, r6]
|
|
ldrsh r2, [r3, r2]
|
|
blx func_01ff8214
|
|
add r0, r5, #0xb60
|
|
ldr r3, [r0]
|
|
add r1, sp, #0x78
|
|
ldr r3, [r3, #0x14]
|
|
add r2, r5, #0x48
|
|
blx r3
|
|
_0217ddcc:
|
|
cmp r4, #0
|
|
bne _0217de6c
|
|
ldr r0, [r5, #0x158]
|
|
tst r0, #0x400000
|
|
beq _0217de3c
|
|
add r1, r5, #0xc
|
|
add r0, sp, #0x24
|
|
add r1, r1, #0x800
|
|
mov r2, #2
|
|
bl func_ov39_0217c5f8
|
|
ldr r0, [sp, #0x24]
|
|
add r1, r5, #0xc
|
|
str r0, [r5, #0x244]
|
|
ldr r2, [sp, #0x28]
|
|
add r0, sp, #0x18
|
|
str r2, [r5, #0x248]
|
|
ldr r2, [sp, #0x2c]
|
|
add r1, r1, #0x800
|
|
str r2, [r5, #0x24c]
|
|
mov r2, #3
|
|
bl func_ov39_0217c5f8
|
|
ldr r0, [sp, #0x18]
|
|
str r0, [r5, #0x250]
|
|
ldr r0, [sp, #0x1c]
|
|
str r0, [r5, #0x254]
|
|
ldr r0, [sp, #0x20]
|
|
str r0, [r5, #0x258]
|
|
b _0217de6c
|
|
_0217de3c:
|
|
tst r0, #0x800000
|
|
beq _0217de6c
|
|
add r0, r5, #0x224
|
|
add r0, r0, #0x800
|
|
add r1, r5, #0x244
|
|
mov r2, #1
|
|
bl func_ov39_0218577c
|
|
add r0, r5, #0x224
|
|
add r0, r0, #0x800
|
|
add r1, r5, #0x250
|
|
mov r2, #2
|
|
bl func_ov39_0218577c
|
|
_0217de6c:
|
|
add r0, r5, #0x3ac
|
|
add r1, r5, #0x244
|
|
add r2, r5, #0x250
|
|
mov r3, #0x1f
|
|
bl func_ov00_020c1450
|
|
ldrb r0, [r5, #0xc9c]
|
|
cmp r0, #0
|
|
bne _0217df70
|
|
ldr r0, [r5, #0x1e4]
|
|
cmp r0, #0
|
|
beq _0217df70
|
|
ldr r6, _0217dfb0 ; =data_027e0194
|
|
add r4, sp, #0x3c
|
|
ldmia r6!, {r0, r1, r2, r3}
|
|
mov ip, r4
|
|
stmia r4!, {r0, r1, r2, r3}
|
|
ldmia r6!, {r0, r1, r2, r3}
|
|
stmia r4!, {r0, r1, r2, r3}
|
|
ldr r0, [r6]
|
|
add r1, r5, #0x154
|
|
str r0, [r4]
|
|
ldr r2, [r5, #0x1e4]
|
|
ldr r0, _0217dfb4 ; =0xffffe8cd
|
|
str r2, [sp, #0x6c]
|
|
str r2, [sp, #0x70]
|
|
str r2, [sp, #0x74]
|
|
ldr r2, [r5, #0x4c]
|
|
ldr r4, [r5, #0x50]
|
|
add r3, r2, r0
|
|
ldr r2, [r5, #0x48]
|
|
add r0, r1, #0x400
|
|
str r2, [sp, #0x60]
|
|
str r3, [sp, #0x64]
|
|
add r1, sp, #0x6c
|
|
add r3, sp, #0x60
|
|
mov r2, ip
|
|
str r4, [sp, #0x68]
|
|
bl func_ov00_020c5f80
|
|
ldr r0, [sp, #0x70]
|
|
ldr r1, _0217dfb8 ; =0x00001666
|
|
bl func_01ff98e0
|
|
rsb r7, r0, #0x1000
|
|
mov r4, #0x5000
|
|
ldr r1, [r5, #0x4c]
|
|
mov ip, #0
|
|
umull sb, r8, r7, r4
|
|
add lr, r1, #0x1000
|
|
mla r8, r7, ip, r8
|
|
mov r6, r7, asr #0x1f
|
|
mla r8, r6, r4, r8
|
|
adds r6, sb, #0x800
|
|
ldr r2, [r5, #0x50]
|
|
ldr r0, [r5, #0x48]
|
|
adc r4, r8, #0
|
|
mov r6, r6, lsr #0xc
|
|
orr r6, r6, r4, lsl #20
|
|
str r0, [sp, #0x60]
|
|
str r2, [sp, #0x68]
|
|
add r4, r6, lr
|
|
add r0, r5, #0x6a0
|
|
add r1, sp, #0x6c
|
|
add r2, sp, #0x3c
|
|
add r3, sp, #0x60
|
|
str r4, [sp, #0x64]
|
|
bl func_ov00_020c5f80
|
|
_0217df70:
|
|
mov r3, #0x1000
|
|
str r3, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #8]
|
|
mov r4, #1
|
|
str r4, [sp, #0xc]
|
|
str r4, [sp, #0x10]
|
|
ldr r0, _0217dfbc ; =data_ov00_020e9370
|
|
add r2, r5, #0x48
|
|
str r4, [sp, #0x14]
|
|
bl func_ov05_02102c2c
|
|
add sp, sp, #0x9c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217dd1c
|
|
_0217dfac: .word data_02050f54
|
|
_0217dfb0: .word data_027e0194
|
|
_0217dfb4: .word 0xffffe8cd
|
|
_0217dfb8: .word 0x00001666
|
|
_0217dfbc: .word data_ov00_020e9370
|
|
|
|
.global func_ov39_0217dfc0
|
|
arm_func_start func_ov39_0217dfc0
|
|
func_ov39_0217dfc0: ; 0x0217dfc0
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x188]
|
|
cmp r0, #0
|
|
bne _0217dfec
|
|
ldr r0, [r4, #0x130]
|
|
cmp r0, #0x13
|
|
blt _0217dff8
|
|
cmp r0, #0x15
|
|
bgt _0217dff8
|
|
_0217dfec:
|
|
add sp, sp, #0x10
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
_0217dff8:
|
|
ldrb r0, [r4, #0xc9c]
|
|
cmp r0, #0
|
|
ldreq r0, [r1, #0x10]
|
|
cmpeq r0, #0
|
|
mov r0, r4
|
|
beq _0217e01c
|
|
bl func_ov39_0217edf4
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
_0217e01c:
|
|
bl func_ov39_0217f7d8
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x130]
|
|
cmp r0, #0xb
|
|
bne _0217e05c
|
|
mov r0, r4
|
|
mov r1, #0xc
|
|
bl func_ov39_0217d5d4
|
|
mov r0, #0xa
|
|
str r0, [r4, #0x188]
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
_0217e05c:
|
|
bl func_ov39_0217e288
|
|
ldr r1, [r4, #0x130]
|
|
ldr r0, [r0, #0x40]
|
|
cmp r1, #0x10
|
|
bne _0217e13c
|
|
sub r0, r0, #5
|
|
cmp r0, #3
|
|
bhi _0217e13c
|
|
ldr r0, _0217e280 ; =data_027e0f64
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
bl func_ov00_020875f8
|
|
ldr r0, [r4, #0x48]
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
ldr r2, [r4, #0x4c]
|
|
ldr r0, _0217e280 ; =data_027e0f64
|
|
str r2, [sp, #8]
|
|
ldr r3, [r4, #0x50]
|
|
add r2, sp, #4
|
|
str r3, [sp, #0xc]
|
|
str r1, [sp]
|
|
ldr r0, [r0]
|
|
ldrsh r3, [r4, #0x78]
|
|
ldr r0, [r0, #8]
|
|
mov r1, #0x55
|
|
bl func_ov00_02087584
|
|
mov r3, #0
|
|
ldr r0, _0217e284 ; =data_027e0fc8
|
|
str r3, [sp]
|
|
ldr r0, [r0]
|
|
add r2, r4, #8
|
|
mov r1, #0x20
|
|
bl func_ov00_020bd3b0
|
|
cmp r0, #0
|
|
bne _0217e120
|
|
bl func_ov39_0217e288
|
|
mov r1, #0xf6
|
|
mov r2, #0
|
|
bl func_ov00_020bf008
|
|
mov r0, r4
|
|
mov r1, #0x11
|
|
bl func_ov39_0217d5d4
|
|
mov r0, #0x64
|
|
str r0, [r4, #0x19c]
|
|
mov r0, #0xa
|
|
str r0, [r4, #0x188]
|
|
b _0217e274
|
|
_0217e120:
|
|
mov r0, r4
|
|
bl func_ov00_020c2974
|
|
strh r0, [r4, #0x78]
|
|
mov r0, r4
|
|
mov r1, #9
|
|
bl func_ov39_0217d5d4
|
|
b _0217e274
|
|
_0217e13c:
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x400
|
|
beq _0217e1a0
|
|
bl func_ov39_0217e288
|
|
mov r1, #0xf6
|
|
mov r2, #0
|
|
bl func_ov00_020bf008
|
|
ldr r0, [r4, #0x9f4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x9ec]
|
|
sub r0, r0, #0x10
|
|
cmp r0, #1
|
|
bhi _0217e274
|
|
mov r0, r4
|
|
bl func_ov39_021859e8
|
|
cmp r0, #0
|
|
beq _0217e274
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0x11
|
|
bl func_ov39_0217ca2c
|
|
ldr r0, [r4, #0x7fc]
|
|
mov r1, #0
|
|
str r1, [r0, #0x14]
|
|
b _0217e274
|
|
_0217e1a0:
|
|
mov r0, r4
|
|
bl func_ov39_0217e55c
|
|
cmp r0, #0
|
|
bne _0217e200
|
|
mov r0, r4
|
|
mov r1, #6
|
|
bl func_ov39_0217d5d4
|
|
mov r0, #0xa
|
|
str r0, [r4, #0x188]
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x10000
|
|
ldreq r0, [r4, #0x130]
|
|
cmpeq r0, #6
|
|
beq _0217e1ec
|
|
bl func_ov39_0217e288
|
|
mov r1, #0xf6
|
|
mov r2, #0x2000
|
|
bl func_ov00_020bf008
|
|
b _0217e274
|
|
_0217e1ec:
|
|
bl func_ov39_0217e288
|
|
mov r1, #0xf6
|
|
mov r2, #0
|
|
bl func_ov00_020bf008
|
|
b _0217e274
|
|
_0217e200:
|
|
mov r3, #0
|
|
ldr r0, _0217e284 ; =data_027e0fc8
|
|
str r3, [sp]
|
|
ldr r0, [r0]
|
|
add r2, r4, #8
|
|
mov r1, #0x20
|
|
bl func_ov00_020bd3b0
|
|
cmp r0, #0
|
|
mov r0, r4
|
|
bne _0217e26c
|
|
mov r1, #6
|
|
bl func_ov39_0217d5d4
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x10000
|
|
ldreq r0, [r4, #0x130]
|
|
cmpeq r0, #6
|
|
beq _0217e258
|
|
bl func_ov39_0217e288
|
|
mov r1, #0xf6
|
|
mov r2, #0x2000
|
|
bl func_ov00_020bf008
|
|
b _0217e274
|
|
_0217e258:
|
|
bl func_ov39_0217e288
|
|
mov r1, #0xf6
|
|
mov r2, #0
|
|
bl func_ov00_020bf008
|
|
b _0217e274
|
|
_0217e26c:
|
|
mov r1, #9
|
|
bl func_ov39_0217d5d4
|
|
_0217e274:
|
|
mov r0, #1
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217dfc0
|
|
_0217e280: .word data_027e0f64
|
|
_0217e284: .word data_027e0fc8
|
|
|
|
.global func_ov39_0217e288
|
|
arm_func_start func_ov39_0217e288
|
|
func_ov39_0217e288: ; 0x0217e288
|
|
ldr ip, _0217e294 ; =func_01fffcec
|
|
mov r0, #0
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217e288
|
|
_0217e294: .word func_01fffcec
|
|
|
|
.global func_ov39_0217e298
|
|
arm_func_start func_ov39_0217e298
|
|
func_ov39_0217e298: ; 0x0217e298
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldrb r1, [r4, #0xc9c]
|
|
cmp r1, #0
|
|
ldmneia sp!, {r4, pc}
|
|
bl func_ov00_020c2974
|
|
mov r1, r0
|
|
ldr r2, _0217e2c4 ; =0x000005dc
|
|
add r0, r4, #0x78
|
|
bl func_0202b154
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217e298
|
|
_0217e2c4: .word 0x000005dc
|
|
|
|
.global func_ov39_0217e2c8
|
|
arm_func_start func_ov39_0217e2c8
|
|
func_ov39_0217e2c8: ; 0x0217e2c8
|
|
stmdb sp!, {r3, lr}
|
|
bl func_ov39_0217e404
|
|
ldr r1, _0217e2e4 ; =0x00003333
|
|
cmp r0, r1
|
|
movle r0, #1
|
|
movgt r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217e2c8
|
|
_0217e2e4: .word 0x00003333
|
|
|
|
.global func_ov39_0217e2e8
|
|
arm_func_start func_ov39_0217e2e8
|
|
func_ov39_0217e2e8: ; 0x0217e2e8
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r4, r0
|
|
bl func_ov39_0217e2c8
|
|
cmp r0, #0
|
|
beq _0217e378
|
|
ldr r2, _0217e400 ; =data_027e0764
|
|
mov r1, #0
|
|
ldr r3, [r2]
|
|
ldmib r2, {r0, r5}
|
|
umull ip, r6, r5, r3
|
|
mla r6, r5, r0, r6
|
|
ldr r0, [r2, #0xc]
|
|
ldr r5, [r2, #0x10]
|
|
mla r6, r0, r3, r6
|
|
ldr r0, [r2, #0x14]
|
|
adds ip, r5, ip
|
|
adc r6, r0, r6
|
|
mov r0, #0x64000
|
|
umull r3, r5, r6, r0
|
|
mla r5, r6, r1, r5
|
|
mla r5, r1, r0, r5
|
|
str ip, [r2]
|
|
str r6, [r2, #4]
|
|
cmp r5, #0x2000
|
|
bge _0217e3f8
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x40
|
|
mov r0, r4
|
|
beq _0217e368
|
|
mov r1, #3
|
|
bl func_ov39_0217d5d4
|
|
b _0217e370
|
|
_0217e368:
|
|
mov r1, #5
|
|
bl func_ov39_0217d5d4
|
|
_0217e370:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0217e378:
|
|
mov r0, r4
|
|
bl func_ov39_0217e404
|
|
cmp r0, #0x4800
|
|
bgt _0217e3f8
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x40
|
|
beq _0217e3f8
|
|
ldr r2, _0217e400 ; =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, #0x64000
|
|
umull r3, ip, r5, r0
|
|
mla ip, r5, r1, ip
|
|
mla ip, r1, r0, ip
|
|
str r6, [r2]
|
|
str r5, [r2, #4]
|
|
cmp ip, #0x2000
|
|
bge _0217e3f8
|
|
mov r0, r4
|
|
mov r1, #4
|
|
bl func_ov39_0217d5d4
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0217e3f8:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217e2e8
|
|
_0217e400: .word data_027e0764
|
|
|
|
.global func_ov39_0217e404
|
|
arm_func_start func_ov39_0217e404
|
|
func_ov39_0217e404: ; 0x0217e404
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r1, [r4, #0x158]
|
|
tst r1, #0x100000
|
|
bne _0217e42c
|
|
ldr r1, [r4, #0x158]
|
|
orr r1, r1, #0x100000
|
|
str r1, [r4, #0x158]
|
|
bl func_ov00_020c28ec
|
|
str r0, [r4, #0x1e0]
|
|
_0217e42c:
|
|
ldr r0, [r4, #0x1e0]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0217e404
|
|
|
|
.global func_ov39_0217e434
|
|
arm_func_start func_ov39_0217e434
|
|
func_ov39_0217e434: ; 0x0217e434
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x20
|
|
mov r3, r0
|
|
ldr r0, [r3, #0x1ac]
|
|
cmp r0, #0
|
|
addle sp, sp, #0x20
|
|
ldmleia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r3, #0x158]
|
|
tst r0, #0x8000000
|
|
addne sp, sp, #0x20
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
mov r1, #0
|
|
str r1, [sp, #0x18]
|
|
str r1, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
ldr r0, [r3, #0x130]
|
|
cmp r0, #0x10
|
|
bne _0217e4a0
|
|
ldr r2, [r3, #0x1ac]
|
|
mov r0, #0x3000
|
|
str r1, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
str r2, [sp, #0x18]
|
|
str r0, [sp, #0x1c]
|
|
b _0217e51c
|
|
_0217e4a0:
|
|
ldrh r2, [r3, #0x78]
|
|
ldr r0, [r3, #0x1ac]
|
|
mov ip, #0x3000
|
|
mov r2, r2, asr #0x4
|
|
mov r5, r2, lsl #0x1
|
|
add r2, r5, #1
|
|
ldr r4, _0217e554 ; =data_02050f54
|
|
mov r5, r5, lsl #0x1
|
|
mov r2, r2, lsl #0x1
|
|
ldrsh r6, [r4, r5]
|
|
ldrsh r4, [r4, r2]
|
|
mov r2, #0x800
|
|
mov r5, r6, asr #0x1f
|
|
mov r5, r5, lsl #0xb
|
|
mov lr, r4, asr #0x1f
|
|
mov lr, lr, lsl #0xb
|
|
adds r7, r2, r6, lsl #11
|
|
orr r5, r5, r6, lsr #21
|
|
adc r6, r5, r1
|
|
adds r5, r2, r4, lsl #11
|
|
orr lr, lr, r4, lsr #21
|
|
mov r7, r7, lsr #0xc
|
|
orr r7, r7, r6, lsl #20
|
|
adc r2, lr, r1
|
|
mov r4, r5, lsr #0xc
|
|
orr r4, r4, r2, lsl #20
|
|
str r7, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
str r4, [sp, #0x14]
|
|
str r0, [sp, #0x18]
|
|
str ip, [sp, #0x1c]
|
|
_0217e51c:
|
|
add r1, sp, #0xc
|
|
mov r0, #4
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
sub r1, r0, #5
|
|
str r1, [sp, #8]
|
|
ldr r0, _0217e558 ; =data_027e0ff8
|
|
add r1, r3, #8
|
|
add r2, r3, #0x48
|
|
ldr r0, [r0]
|
|
add r3, r3, #0x54
|
|
bl func_ov05_021082e4
|
|
add sp, sp, #0x20
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217e434
|
|
_0217e554: .word data_02050f54
|
|
_0217e558: .word data_027e0ff8
|
|
|
|
.global func_ov39_0217e55c
|
|
arm_func_start func_ov39_0217e55c
|
|
func_ov39_0217e55c: ; 0x0217e55c
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, [r0, #0x130]
|
|
cmp r1, #0x11
|
|
moveq r0, #1
|
|
ldmeqia sp!, {r3, pc}
|
|
ldr r1, [r0, #0x17c]
|
|
cmp r1, #5
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, pc}
|
|
ldr r0, [r0, #0x158]
|
|
tst r0, #0x40
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl func_ov39_0217e288
|
|
ldr r0, [r0, #0x40]
|
|
cmp r0, #0
|
|
cmpne r0, #3
|
|
cmpne r0, #4
|
|
movne r0, #0
|
|
moveq r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end func_ov39_0217e55c
|
|
|
|
.global func_ov39_0217e5b0
|
|
arm_func_start func_ov39_0217e5b0
|
|
func_ov39_0217e5b0: ; 0x0217e5b0
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x48
|
|
mov r4, r0
|
|
ldrb r0, [r4, #0xc9c]
|
|
cmp r0, #0
|
|
addne sp, sp, #0x48
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x800
|
|
addne sp, sp, #0x48
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
cmp r1, #3
|
|
addls pc, pc, r1, lsl #2
|
|
b _0217e69c
|
|
_0217e5f0: ; jump table
|
|
b _0217e600 ; case 0
|
|
b _0217e628 ; case 1
|
|
b _0217e650 ; case 2
|
|
b _0217e678 ; case 3
|
|
_0217e600:
|
|
cmp r2, #1
|
|
addgt sp, sp, #0x48
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
mov r0, #6
|
|
mul r0, r2, r0
|
|
ldr r1, _0217e808 ; =data_ov39_02186548
|
|
ldr r8, _0217e80c ; =0x0000099a
|
|
add r7, r1, r0, lsl #2
|
|
b _0217e69c
|
|
_0217e628:
|
|
cmp r2, #1
|
|
addgt sp, sp, #0x48
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
mov r0, #6
|
|
mul r0, r2, r0
|
|
ldr r1, _0217e810 ; =data_ov39_021865d8
|
|
ldr r8, _0217e80c ; =0x0000099a
|
|
add r7, r1, r0, lsl #2
|
|
b _0217e69c
|
|
_0217e650:
|
|
cmp r2, #1
|
|
addgt sp, sp, #0x48
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
mov r0, #6
|
|
mul r0, r2, r0
|
|
ldr r1, _0217e814 ; =data_ov39_02186620
|
|
ldr r8, _0217e80c ; =0x0000099a
|
|
add r7, r1, r0, lsl #2
|
|
b _0217e69c
|
|
_0217e678:
|
|
cmp r2, #1
|
|
addgt sp, sp, #0x48
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
mov r0, #6
|
|
mul r0, r2, r0
|
|
ldr r1, _0217e818 ; =data_ov39_02186590
|
|
ldr r8, _0217e81c ; =0x0000059a
|
|
add r7, r1, r0, lsl #2
|
|
_0217e69c:
|
|
ldrh r0, [r4, #0x78]
|
|
mov sb, #0
|
|
ldr r2, _0217e820 ; =data_02050f54
|
|
mov r0, r0, asr #0x4
|
|
mov r1, r0, lsl #0x1
|
|
add r0, r1, #1
|
|
mov r1, r1, lsl #0x1
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r1, [r2, r1]
|
|
ldrsh r0, [r2, r0]
|
|
ldr fp, _0217e824 ; =data_027e0f90
|
|
str sb, [sp, #0x1c]
|
|
str r1, [sp, #0x18]
|
|
str r0, [sp, #0x20]
|
|
add r6, sp, #0x3c
|
|
add r5, sp, #0x30
|
|
_0217e6dc:
|
|
ldmia r7, {r1, r2, r3}
|
|
str r2, [sp, #0x40]
|
|
str r3, [sp, #0x44]
|
|
str r1, [sp, #0x3c]
|
|
ldrsh r1, [r4, #0x78]
|
|
mov r0, r6
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [r4, #0x48]
|
|
mov r0, r6
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r4, #0x4c]
|
|
add r1, sp, #0xc
|
|
str r2, [sp, #0x10]
|
|
ldr r3, [r4, #0x50]
|
|
mov r2, r6
|
|
str r3, [sp, #0x14]
|
|
bl func_01ff9bc4
|
|
ldr r3, [r7, #0x20]
|
|
ldr r2, [r7, #0x1c]
|
|
ldr r1, [r7, #0x18]
|
|
mov r0, r5
|
|
str r2, [sp, #0x34]
|
|
str r3, [sp, #0x38]
|
|
str r1, [sp, #0x30]
|
|
ldrsh r1, [r4, #0x78]
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [r4, #0x48]
|
|
mov r0, r5
|
|
str r1, [sp]
|
|
ldr r2, [r4, #0x4c]
|
|
add r1, sp, #0
|
|
str r2, [sp, #4]
|
|
ldr r3, [r4, #0x50]
|
|
mov r2, r5
|
|
str r3, [sp, #8]
|
|
bl func_01ff9bc4
|
|
mov r0, r6
|
|
mov r1, r5
|
|
add r2, sp, #0x24
|
|
bl func_01ff9bf8
|
|
ldr r0, [fp]
|
|
mov sl, #0
|
|
mov r1, r5
|
|
mov r2, r6
|
|
mov r3, r8
|
|
bl func_ov00_020a7c60
|
|
cmp r0, #0
|
|
movne sl, #1
|
|
cmp sl, #0
|
|
beq _0217e7ec
|
|
ldr r0, _0217e824 ; =data_027e0f90
|
|
add r2, sp, #0x18
|
|
ldr r0, [r0]
|
|
mov r1, #4
|
|
ldr r5, [r0]
|
|
mov r3, #2
|
|
ldr r5, [r5, #0x30]
|
|
blx r5
|
|
mov r0, r4
|
|
bl func_ov39_0217fbc8
|
|
ldr r0, _0217e828 ; =data_ov29_0217bd28
|
|
add sp, sp, #0x48
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
movne r0, #0
|
|
strneb r0, [r1, #0x25c]
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0217e7ec:
|
|
add sb, sb, #1
|
|
cmp sb, #2
|
|
add r7, r7, #0xc
|
|
blt _0217e6dc
|
|
mov r0, #0
|
|
add sp, sp, #0x48
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217e5b0
|
|
_0217e808: .word data_ov39_02186548
|
|
_0217e80c: .word 0x0000099a
|
|
_0217e810: .word data_ov39_021865d8
|
|
_0217e814: .word data_ov39_02186620
|
|
_0217e818: .word data_ov39_02186590
|
|
_0217e81c: .word 0x0000059a
|
|
_0217e820: .word data_02050f54
|
|
_0217e824: .word data_027e0f90
|
|
_0217e828: .word data_ov29_0217bd28
|
|
|
|
.global func_ov39_0217e82c
|
|
arm_func_start func_ov39_0217e82c
|
|
func_ov39_0217e82c: ; 0x0217e82c
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r1, [r4, #0x130]
|
|
cmp r1, #7
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r1, #0x12
|
|
bl func_ov00_020c1fc8
|
|
mov r1, #0
|
|
mov r0, r4
|
|
mov r2, r1
|
|
bl func_ov00_020c243c
|
|
ldr r0, [r4, #0x130]
|
|
cmp r0, #0x10
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x7fc]
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #0x17000
|
|
ldmltia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #2
|
|
mov r2, #0
|
|
bl func_ov00_020c1e2c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl func_ov00_020c2974
|
|
sub r2, r0, #0x8000
|
|
add r1, r4, #0x100
|
|
mov r0, r4
|
|
strh r2, [r1, #0x60]
|
|
mov r1, #0x2d
|
|
str r1, [r4, #0x16c]
|
|
bl func_ov39_0217fbc8
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0217e82c
|
|
|
|
.global func_ov39_0217e8b4
|
|
arm_func_start func_ov39_0217e8b4
|
|
func_ov39_0217e8b4: ; 0x0217e8b4
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r0
|
|
ldr r1, [r4, #0x130]
|
|
sub r1, r1, #5
|
|
cmp r1, #3
|
|
addls sp, sp, #0x10
|
|
ldmlsia sp!, {r4, pc}
|
|
ldr r1, [r4, #0x180]
|
|
cmp r1, #0
|
|
addeq sp, sp, #0x10
|
|
ldmeqia sp!, {r4, pc}
|
|
subs r1, r1, #1
|
|
addne sp, sp, #0x10
|
|
str r1, [r4, #0x180]
|
|
ldmneia sp!, {r4, pc}
|
|
bl func_ov39_0217f760
|
|
ldr r0, [r4, #0x158]
|
|
add ip, sp, #0
|
|
bic r0, r0, #0x2000
|
|
str r0, [r4, #0x158]
|
|
ldr lr, [r4, #0x284]
|
|
mvn r3, #0
|
|
add r0, lr, #0x7c
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia ip, {r0, r1, r2}
|
|
ldr r0, [sp]
|
|
str r3, [sp, #0xc]
|
|
str r0, [lr, #0x7c]
|
|
ldr r1, [sp, #4]
|
|
mov r0, #2
|
|
str r1, [lr, #0x80]
|
|
ldr r1, [sp, #8]
|
|
str r1, [lr, #0x84]
|
|
ldr r1, [sp, #0xc]
|
|
str r1, [lr, #0x88]
|
|
str r0, [r4, #0x12c]
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0217e8b4
|
|
|
|
.global func_ov39_0217e950
|
|
arm_func_start func_ov39_0217e950
|
|
func_ov39_0217e950: ; 0x0217e950
|
|
stmdb sp!, {r4, lr}
|
|
ldr lr, [r0, #0x48]
|
|
ldr r2, [r1]
|
|
ldr r3, _0217e9d8 ; =0xffff6b33
|
|
add ip, lr, r2
|
|
cmp ip, r3
|
|
mov r4, #0
|
|
bge _0217e980
|
|
sub r2, r3, lr
|
|
str r2, [r1]
|
|
mov r4, #1
|
|
b _0217e994
|
|
_0217e980:
|
|
rsb r2, r3, #0
|
|
cmp ip, r2
|
|
subgt r2, r2, lr
|
|
strgt r2, [r1]
|
|
movgt r4, #1
|
|
_0217e994:
|
|
ldr ip, [r0, #0x50]
|
|
ldr r0, [r1, #8]
|
|
ldr r2, _0217e9d8 ; =0xffff6b33
|
|
add r3, ip, r0
|
|
cmp r3, r2
|
|
bge _0217e9bc
|
|
sub r0, r2, ip
|
|
str r0, [r1, #8]
|
|
mov r4, #1
|
|
b _0217e9d0
|
|
_0217e9bc:
|
|
rsb r0, r2, #0
|
|
cmp r3, r0
|
|
subgt r0, r0, ip
|
|
strgt r0, [r1, #8]
|
|
movgt r4, #1
|
|
_0217e9d0:
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217e950
|
|
_0217e9d8: .word 0xffff6b33
|
|
|
|
.global func_ov39_0217e9dc
|
|
arm_func_start func_ov39_0217e9dc
|
|
func_ov39_0217e9dc: ; 0x0217e9dc
|
|
ldr r3, [r0, #0x48]
|
|
ldr r2, [r1]
|
|
ldr ip, [r0, #0x50]
|
|
ldr r0, [r1, #8]
|
|
add r2, r3, r2
|
|
ldr r1, _0217ea34 ; =0x000094cd
|
|
add r3, ip, r0
|
|
mov r0, #0
|
|
cmp r2, r1
|
|
movgt r0, #1
|
|
bgt _0217ea14
|
|
rsb r1, r1, #0
|
|
cmp r2, r1
|
|
movlt r0, #2
|
|
_0217ea14:
|
|
ldr r1, _0217ea34 ; =0x000094cd
|
|
cmp r3, r1
|
|
orrgt r0, r0, #4
|
|
bxgt lr
|
|
rsb r1, r1, #0
|
|
cmp r3, r1
|
|
orrlt r0, r0, #8
|
|
bx lr
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217e9dc
|
|
_0217ea34: .word 0x000094cd
|
|
|
|
.global func_ov39_0217ea38
|
|
arm_func_start func_ov39_0217ea38
|
|
func_ov39_0217ea38: ; 0x0217ea38
|
|
mov r0, #0xa800
|
|
ldr r3, [r1]
|
|
rsb r0, r0, #0
|
|
cmp r3, r0
|
|
ldrlt r0, [r2]
|
|
cmplt r0, #0
|
|
blt _0217ea90
|
|
cmp r3, #0xa800
|
|
ldrgt r0, [r2]
|
|
cmpgt r0, #0
|
|
bgt _0217ea90
|
|
mov r0, #0xa800
|
|
ldr r1, [r1, #8]
|
|
rsb r0, r0, #0
|
|
cmp r1, r0
|
|
ldrlt r0, [r2, #8]
|
|
cmplt r0, #0
|
|
blt _0217ea90
|
|
cmp r1, #0xa800
|
|
ldrgt r0, [r2, #8]
|
|
cmpgt r0, #0
|
|
ble _0217ea98
|
|
_0217ea90:
|
|
mov r0, #1
|
|
bx lr
|
|
_0217ea98:
|
|
mov r0, #0
|
|
bx lr
|
|
arm_func_end func_ov39_0217ea38
|
|
|
|
.global func_ov39_0217eaa0
|
|
arm_func_start func_ov39_0217eaa0
|
|
func_ov39_0217eaa0: ; 0x0217eaa0
|
|
ldr r3, [r1]
|
|
ldr r2, _0217eae0 ; =0xffff6b33
|
|
cmp r3, r2
|
|
blt _0217ead0
|
|
rsb r0, r2, #0
|
|
cmp r3, r0
|
|
bgt _0217ead0
|
|
ldr r1, [r1, #8]
|
|
cmp r1, r2
|
|
blt _0217ead0
|
|
cmp r1, r0
|
|
ble _0217ead8
|
|
_0217ead0:
|
|
mov r0, #1
|
|
bx lr
|
|
_0217ead8:
|
|
mov r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217eaa0
|
|
_0217eae0: .word 0xffff6b33
|
|
|
|
.global func_ov39_0217eae4
|
|
arm_func_start func_ov39_0217eae4
|
|
func_ov39_0217eae4: ; 0x0217eae4
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0xc
|
|
mov r4, r0
|
|
add r0, sp, #0
|
|
mov r1, r4
|
|
bl func_ov39_0217f798
|
|
ldr r0, [r4, #0x280]
|
|
add r1, sp, #0
|
|
bl func_ov39_02185288
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, pc}
|
|
arm_func_end func_ov39_0217eae4
|
|
|
|
.global func_ov39_0217eb10
|
|
arm_func_start func_ov39_0217eb10
|
|
func_ov39_0217eb10: ; 0x0217eb10
|
|
bx lr
|
|
arm_func_end func_ov39_0217eb10
|
|
|
|
.global func_ov39_0217eb14
|
|
arm_func_start func_ov39_0217eb14
|
|
func_ov39_0217eb14: ; 0x0217eb14
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r4, r0
|
|
ldr r1, [r4, #0x158]
|
|
tst r1, #0x40
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r1, [r4, #0x19c]
|
|
cmp r1, #0
|
|
beq _0217eb48
|
|
sub r0, r1, #1
|
|
str r0, [r4, #0x19c]
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0217eb48:
|
|
add r1, r4, #0x800
|
|
ldrsh r1, [r1, #0x68]
|
|
cmp r1, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
add r1, r4, #0x100
|
|
ldrsh r1, [r1, #0x20]
|
|
rsb r1, r1, #0xc8
|
|
cmp r1, #0x64
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r4, r5, r6, pc}
|
|
bl func_ov39_0217e2c8
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r0, _0217ec20 ; =data_027e0fb4
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, #0xba]
|
|
cmp r0, #0
|
|
beq _0217eba4
|
|
cmp r0, #1
|
|
beq _0217ebac
|
|
b _0217ebb4
|
|
_0217eba4:
|
|
ldr r1, _0217ec24 ; =0x00000548
|
|
b _0217ebb8
|
|
_0217ebac:
|
|
ldr r1, _0217ec28 ; =0x00001548
|
|
b _0217ebb8
|
|
_0217ebb4:
|
|
ldr r1, _0217ec2c ; =0x00003548
|
|
_0217ebb8:
|
|
ldr r3, _0217ec30 ; =data_027e0764
|
|
mov r0, #0
|
|
ldr ip, [r3]
|
|
ldmib r3, {r2, lr}
|
|
umull r6, r5, lr, ip
|
|
mla r5, lr, r2, r5
|
|
ldr r2, [r3, #0xc]
|
|
ldr lr, [r3, #0x10]
|
|
mla r5, r2, ip, r5
|
|
ldr r2, [r3, #0x14]
|
|
adds r6, lr, r6
|
|
adc r5, r2, r5
|
|
mov r2, #0x64000
|
|
umull ip, lr, r5, r2
|
|
str r6, [r3]
|
|
mla lr, r5, r0, lr
|
|
mov ip, r0
|
|
mla lr, ip, r2, lr
|
|
str r5, [r3, #4]
|
|
cmp lr, r1
|
|
ldmgtia sp!, {r4, r5, r6, pc}
|
|
mov r0, r4
|
|
mov r1, #0x10
|
|
bl func_ov39_0217d5d4
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217eb14
|
|
_0217ec20: .word data_027e0fb4
|
|
_0217ec24: .word 0x00000548
|
|
_0217ec28: .word 0x00001548
|
|
_0217ec2c: .word 0x00003548
|
|
_0217ec30: .word data_027e0764
|
|
|
|
.global func_ov39_0217ec34
|
|
arm_func_start func_ov39_0217ec34
|
|
func_ov39_0217ec34: ; 0x0217ec34
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov ip, #1
|
|
mov r0, r1
|
|
mov r1, r2
|
|
strb ip, [r5, #0xc99]
|
|
sub r2, ip, #2
|
|
mov r4, r3
|
|
strb r2, [r5, #0xc98]
|
|
bl func_ov39_0217ec90
|
|
mov r2, r0
|
|
ldr r0, _0217ec88 ; =data_027e0c68
|
|
add r1, r5, #0xc60
|
|
bl func_02036ce4
|
|
ldr r0, _0217ec8c ; =data_027e0e60
|
|
mov r1, r4
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
mov r3, r2
|
|
bl func_ov00_02084b38
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217ec34
|
|
_0217ec88: .word data_027e0c68
|
|
_0217ec8c: .word data_027e0e60
|
|
|
|
.global func_ov39_0217ec90
|
|
arm_func_start func_ov39_0217ec90
|
|
func_ov39_0217ec90: ; 0x0217ec90
|
|
orr r0, r1, r0, lsl #16
|
|
bx lr
|
|
arm_func_end func_ov39_0217ec90
|
|
|
|
.global func_ov39_0217ec98
|
|
arm_func_start func_ov39_0217ec98
|
|
func_ov39_0217ec98: ; 0x0217ec98
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x188]
|
|
cmp r0, #0
|
|
addne sp, sp, #0x10
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x20
|
|
beq _0217ecdc
|
|
add r0, r4, #0x800
|
|
ldrsh r0, [r0, #0x68]
|
|
cmp r0, #0x7d0
|
|
addlt sp, sp, #0x10
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, r4, r5, pc}
|
|
_0217ecdc:
|
|
ldrsh r5, [r4, #0x78]
|
|
mov r0, r4
|
|
bl func_ov00_020c2974
|
|
subs r1, r0, r5
|
|
ldr r0, _0217ede4 ; =0x0000471c
|
|
rsbmi r1, r1, #0
|
|
cmp r1, r0
|
|
addlt sp, sp, #0x10
|
|
movlt r0, #0
|
|
ldmltia sp!, {r3, r4, r5, pc}
|
|
add r0, r4, #0x3ec
|
|
add r1, sp, #0
|
|
add r0, r0, #0x400
|
|
bl func_ov39_0217c894
|
|
ldr r0, _0217ede8 ; =data_027e0f90
|
|
ldr r3, _0217edec ; =0x00000b33
|
|
ldr r0, [r0]
|
|
add r1, sp, #0
|
|
mov r2, #0
|
|
str r3, [sp, #0xc]
|
|
bl func_ov00_020a7ce4
|
|
cmp r0, #0
|
|
beq _0217edd8
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x20
|
|
bne _0217ed80
|
|
bl func_ov39_0217e288
|
|
mov r1, #0xf6
|
|
mov r2, #0
|
|
bl func_ov00_020bf008
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x10
|
|
bne _0217ed6c
|
|
mov r0, r4
|
|
mov r1, #1
|
|
bl func_ov39_0217d5d4
|
|
_0217ed6c:
|
|
mov r0, #0xa
|
|
str r0, [r4, #0x188]
|
|
add sp, sp, #0x10
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0217ed80:
|
|
add r0, r4, #0x3ec
|
|
add r1, sp, #0
|
|
add r0, r0, #0x400
|
|
bl func_ov39_0217c960
|
|
ldr r0, _0217edf0 ; =data_027e0ffc
|
|
add r2, sp, #0
|
|
mov r1, #0x190
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
add r0, sp, #0
|
|
bl func_ov00_020c71fc
|
|
mov r0, r4
|
|
mov r1, #0x12
|
|
bl func_ov39_0217d5d4
|
|
add r0, r4, #0x3bc
|
|
mov r1, #0xa
|
|
add r0, r0, #0x800
|
|
str r1, [r4, #0x188]
|
|
bl func_ov39_02184bac
|
|
add sp, sp, #0x10
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0217edd8:
|
|
mov r0, #0
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217ec98
|
|
_0217ede4: .word 0x0000471c
|
|
_0217ede8: .word data_027e0f90
|
|
_0217edec: .word 0x00000b33
|
|
_0217edf0: .word data_027e0ffc
|
|
|
|
.global func_ov39_0217edf4
|
|
arm_func_start func_ov39_0217edf4
|
|
func_ov39_0217edf4: ; 0x0217edf4
|
|
stmdb sp!, {r4, lr}
|
|
ldr r2, [r1, #0x10]
|
|
mov r4, r0
|
|
cmp r2, #0xb
|
|
addls pc, pc, r2, lsl #2
|
|
b _0217f000
|
|
_0217ee0c: ; jump table
|
|
b _0217ee3c ; case 0
|
|
b _0217ee50 ; case 1
|
|
b _0217f000 ; case 2
|
|
b _0217f000 ; case 3
|
|
b _0217ef50 ; case 4
|
|
b _0217ee8c ; case 5
|
|
b _0217ef2c ; case 6
|
|
b _0217eec8 ; case 7
|
|
b _0217eef4 ; case 8
|
|
b _0217f000 ; case 9
|
|
b _0217f008 ; case 10
|
|
b _0217f008 ; case 11
|
|
_0217ee3c:
|
|
bl func_ov39_0217e288
|
|
mov r1, #0xf6
|
|
mov r2, #0
|
|
bl func_ov00_020bf008
|
|
b _0217f008
|
|
_0217ee50:
|
|
ldr r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
beq _0217f008
|
|
ldr r2, [r0, #4]
|
|
ldr r1, _0217f010 ; =0x5342454d
|
|
cmp r2, r1
|
|
bne _0217f008
|
|
bl func_ov14_02146634
|
|
ldr r0, _0217f014 ; =data_027e0ffc
|
|
add r2, r4, #0x48
|
|
mov r1, #0xf6
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
_0217ee8c:
|
|
ldr r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
beq _0217f008
|
|
ldr r2, [r0, #4]
|
|
ldr r1, _0217f018 ; =0x424d524e
|
|
cmp r2, r1
|
|
bne _0217f008
|
|
bl func_ov14_021231d4
|
|
ldr r0, _0217f014 ; =data_027e0ffc
|
|
ldr r1, _0217f01c ; =0x0000019d
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
_0217eec8:
|
|
ldr r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
beq _0217f008
|
|
ldr r2, [r0, #4]
|
|
ldr r1, _0217f020 ; =0x41525257
|
|
cmp r2, r1
|
|
bne _0217f008
|
|
ldrsh r1, [r4, #0x78]
|
|
mov r2, #1
|
|
bl func_ov14_02120ac4
|
|
b _0217f008
|
|
_0217eef4:
|
|
ldr r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
beq _0217f008
|
|
ldr r2, [r0, #4]
|
|
ldr r1, _0217f024 ; =0x524f5045
|
|
cmp r2, r1
|
|
bne _0217f008
|
|
bl func_ov14_02123904
|
|
ldr r0, _0217f014 ; =data_027e0ffc
|
|
add r2, r4, #0x48
|
|
mov r1, #0xf6
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
b _0217f008
|
|
_0217ef2c:
|
|
ldr r0, [r1, #0x14]
|
|
cmp r0, #0
|
|
beq _0217f008
|
|
ldr r2, [r0, #4]
|
|
ldr r1, _0217f028 ; =0x424f4d42
|
|
cmp r2, r1
|
|
bne _0217f008
|
|
bl func_ov14_02122e98
|
|
b _0217f008
|
|
_0217ef50:
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0
|
|
bl func_ov39_0217caf0
|
|
mov r0, #0
|
|
str r0, [r4, #0x16c]
|
|
ldr r1, _0217f02c ; =0x0000019a
|
|
str r0, [r4, #0x138]
|
|
str r1, [r4, #0x1a8]
|
|
mov r1, #0xf
|
|
str r1, [r4, #0x180]
|
|
ldrsh r1, [r4, #0x78]
|
|
ldr r3, _0217f030 ; =data_02050f54
|
|
ldr ip, [r4, #0x1a8]
|
|
add r1, r1, #0x8000
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, lsr #0x10
|
|
mov r1, r1, asr #0x4
|
|
mov r1, r1, lsl #0x1
|
|
mov r2, r1, lsl #0x1
|
|
add r1, r1, #1
|
|
ldrsh r2, [r3, r2]
|
|
mov r1, r1, lsl #0x1
|
|
ldrsh r1, [r3, r1]
|
|
mul r3, r2, ip
|
|
mul r2, r1, ip
|
|
add r1, r3, #0x800
|
|
mov r1, r1, asr #0xc
|
|
str r1, [r4, #0x60]
|
|
add r1, r2, #0x800
|
|
str r0, [r4, #0x64]
|
|
mov r1, r1, asr #0xc
|
|
mov r0, r4
|
|
str r1, [r4, #0x68]
|
|
add r1, r4, #0x60
|
|
bl func_ov39_0217e950
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, r4
|
|
bic r1, r1, #0x10000
|
|
str r1, [r4, #0x158]
|
|
mov r1, #6
|
|
str r1, [r4, #0x130]
|
|
bl func_ov39_02185a44
|
|
b _0217f008
|
|
_0217f000:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
_0217f008:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217edf4
|
|
_0217f010: .word 0x5342454d
|
|
_0217f014: .word data_027e0ffc
|
|
_0217f018: .word 0x424d524e
|
|
_0217f01c: .word 0x0000019d
|
|
_0217f020: .word 0x41525257
|
|
_0217f024: .word 0x524f5045
|
|
_0217f028: .word 0x424f4d42
|
|
_0217f02c: .word 0x0000019a
|
|
_0217f030: .word data_02050f54
|
|
|
|
.global func_ov39_0217f034
|
|
arm_func_start func_ov39_0217f034
|
|
func_ov39_0217f034: ; 0x0217f034
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _0217f0b4 ; =data_ov29_0217bd28
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
ldrb r1, [r0, #0x118]
|
|
cmp r1, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
bl func_ov29_02178060
|
|
cmp r0, #0
|
|
beq _0217f0ac
|
|
ldr r0, _0217f0b8 ; =data_027e0fb4
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1, #0xba]
|
|
cmp r0, #9
|
|
addlo r0, r0, #1
|
|
strloh r0, [r1, #0xba]
|
|
ldr r0, _0217f0b4 ; =data_ov29_0217bd28
|
|
ldr r0, [r0]
|
|
bl func_ov29_02177ff0
|
|
ldr r0, _0217f0bc ; =data_ov00_020eec9c
|
|
mov r1, #0xc1
|
|
bl func_ov00_020d7ad4
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x40
|
|
ldrne r0, [r4, #0x158]
|
|
orrne r0, r0, #0x80000
|
|
strne r0, [r4, #0x158]
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
_0217f0ac:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217f034
|
|
_0217f0b4: .word data_ov29_0217bd28
|
|
_0217f0b8: .word data_027e0fb4
|
|
_0217f0bc: .word data_ov00_020eec9c
|
|
|
|
.global func_ov39_0217f0c0
|
|
arm_func_start func_ov39_0217f0c0
|
|
func_ov39_0217f0c0: ; 0x0217f0c0
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _0217f108 ; =data_ov29_0217bd28
|
|
mov r4, r0
|
|
ldr r2, [r1]
|
|
add r1, r2, #0x48
|
|
add r2, r2, #0x60
|
|
bl func_ov39_0217ea38
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, _0217f108 ; =data_ov29_0217bd28
|
|
ldr r0, [r0]
|
|
bl func_ov29_02177ff0
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217f0c0
|
|
_0217f108: .word data_ov29_0217bd28
|
|
|
|
.global func_ov39_0217f10c
|
|
arm_func_start func_ov39_0217f10c
|
|
func_ov39_0217f10c: ; 0x0217f10c
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x1c
|
|
mov r5, r0
|
|
ldr r1, _0217f264 ; =data_027e0fac
|
|
ldr r4, [r5, #0x138]
|
|
ldrsh r3, [r1]
|
|
ldr r0, _0217f268 ; =data_027e0f94
|
|
add r8, sp, #0x10
|
|
ldmia r0, {r0, r1, r2}
|
|
strh r3, [sp]
|
|
stmia r8, {r0, r1, r2}
|
|
add r3, r5, #0x48
|
|
ldmia r3, {r0, r1, r2}
|
|
add r7, sp, #4
|
|
stmia r7, {r0, r1, r2}
|
|
ldrh r0, [r5, #0x78]
|
|
rsb r1, r4, #0
|
|
mov r4, r1, lsl #0xc
|
|
mov r0, r0, asr #0x4
|
|
mov r6, r0, lsl #0x1
|
|
ldr r3, _0217f26c ; =data_02050f54
|
|
mov r2, r6, lsl #0x1
|
|
mov r1, r7
|
|
ldrsh r7, [r3, r2]
|
|
add r2, r6, #1
|
|
mov r2, r2, lsl #0x1
|
|
ldrsh ip, [r3, r2]
|
|
ldr r3, _0217f270 ; =0x00002b33
|
|
mov r0, r8
|
|
umull sb, r8, r7, r3
|
|
mov r3, #0
|
|
mla r8, r7, r3, r8
|
|
ldr r3, _0217f270 ; =0x00002b33
|
|
mov r6, r7, asr #0x1f
|
|
mla r8, r6, r3, r8
|
|
adds r6, sb, #0x800
|
|
ldr sl, [sp, #4]
|
|
adc r3, r8, #0
|
|
mov r6, r6, lsr #0xc
|
|
orr r6, r6, r3, lsl #20
|
|
add r3, sl, r6
|
|
str r3, [sp, #4]
|
|
ldr r3, _0217f270 ; =0x00002b33
|
|
mov fp, ip, asr #0x1f
|
|
umull r7, r6, ip, r3
|
|
mov r3, #0
|
|
mla r6, ip, r3, r6
|
|
ldr r3, _0217f270 ; =0x00002b33
|
|
adds r7, r7, #0x800
|
|
mla r6, fp, r3, r6
|
|
adc r3, r6, #0
|
|
mov r6, r7, lsr #0xc
|
|
ldr lr, [sp, #0xc]
|
|
orr r6, r6, r3, lsl #20
|
|
add r3, lr, r6
|
|
mov r2, r4
|
|
str r3, [sp, #0xc]
|
|
bl func_0202b308
|
|
mov r0, r5
|
|
bl func_ov00_020c2974
|
|
add r0, r0, #0x8000
|
|
mov r0, r0, lsl #0x10
|
|
mov r2, r0, asr #0x10
|
|
cmp r4, #0x1000
|
|
strleh r2, [sp]
|
|
ble _0217f23c
|
|
ldrsh r0, [sp]
|
|
mov r1, r4
|
|
sub r0, r2, r0
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x4
|
|
bl func_01ff98e0
|
|
ldrsh r1, [sp]
|
|
add r0, r0, #0x800
|
|
add r0, r1, r0, asr #12
|
|
strh r0, [sp]
|
|
_0217f23c:
|
|
ldr r0, _0217f274 ; =data_027e0fc8
|
|
add r1, sp, #0x10
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bd4d8
|
|
ldr r0, _0217f274 ; =data_027e0fc8
|
|
add r1, sp, #0
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bd4fc
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217f10c
|
|
_0217f264: .word data_027e0fac
|
|
_0217f268: .word data_027e0f94
|
|
_0217f26c: .word data_02050f54
|
|
_0217f270: .word 0x00002b33
|
|
_0217f274: .word data_027e0fc8
|
|
|
|
.global func_ov39_0217f278
|
|
arm_func_start func_ov39_0217f278
|
|
func_ov39_0217f278: ; 0x0217f278
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0x1c
|
|
ldr r2, _0217f31c ; =0x00000a66
|
|
mov r3, #0x7b
|
|
add r1, r2, #0xc00
|
|
mov r4, r0
|
|
str r3, [sp, #0x10]
|
|
str r2, [sp, #0x14]
|
|
str r1, [sp, #0x18]
|
|
ldrsh r1, [r4, #0x78]
|
|
add r0, sp, #0x10
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [r4, #0x48]
|
|
add r0, sp, #0x10
|
|
str r1, [sp, #4]
|
|
ldr r2, [r4, #0x4c]
|
|
add r1, sp, #4
|
|
str r2, [sp, #8]
|
|
ldr r3, [r4, #0x50]
|
|
mov r2, r0
|
|
str r3, [sp, #0xc]
|
|
bl func_01ff9bc4
|
|
ldr r0, _0217f320 ; =data_027e0e58
|
|
add r2, sp, #0x10
|
|
ldr r0, [r0]
|
|
add r1, r4, #0x288
|
|
bl func_ov00_0207c474
|
|
ldr r0, _0217f320 ; =data_027e0e58
|
|
add r1, r4, #0x294
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x10
|
|
bl func_ov00_0207c474
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r3, [r4, #8]
|
|
ldr r0, _0217f324 ; =data_027e0ffc
|
|
ldr r1, _0217f328 ; =0x0000031d
|
|
add r2, sp, #0x10
|
|
bl func_ov00_020cec60
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217f278
|
|
_0217f31c: .word 0x00000a66
|
|
_0217f320: .word data_027e0e58
|
|
_0217f324: .word data_027e0ffc
|
|
_0217f328: .word 0x0000031d
|
|
|
|
.global func_ov39_0217f32c
|
|
arm_func_start func_ov39_0217f32c
|
|
func_ov39_0217f32c: ; 0x0217f32c
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r1, [r4, #0x158]
|
|
tst r1, #0x20
|
|
ldmneia sp!, {r4, pc}
|
|
tst r1, #0x10
|
|
ldmneia sp!, {r4, pc}
|
|
tst r1, #8
|
|
bne _0217f3c4
|
|
bl func_ov39_0217f488
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #1
|
|
bne _0217f38c
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, r4
|
|
orr ip, r1, #1
|
|
mov r1, #8
|
|
mov r2, #0x65
|
|
mov r3, #0
|
|
str ip, [r4, #0x158]
|
|
bl func_ov39_0217ec34
|
|
ldmia sp!, {r4, pc}
|
|
_0217f38c:
|
|
tst r0, #2
|
|
bne _0217f3b8
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, r4
|
|
orr ip, r1, #2
|
|
mov r1, #8
|
|
mov r2, #0x66
|
|
mov r3, #0
|
|
str ip, [r4, #0x158]
|
|
bl func_ov39_0217ec34
|
|
ldmia sp!, {r4, pc}
|
|
_0217f3b8:
|
|
ldr r0, [r4, #0x158]
|
|
orr r0, r0, #4
|
|
str r0, [r4, #0x158]
|
|
_0217f3c4:
|
|
ldr r0, _0217f47c ; =data_027e0e60
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
bl func_ov00_02084be0
|
|
cmp r0, #0
|
|
beq _0217f40c
|
|
ldr r0, _0217f480 ; =data_ov29_0217bd28
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, _0217f47c ; =data_027e0e60
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl func_ov00_02084b38
|
|
ldmia sp!, {r4, pc}
|
|
_0217f40c:
|
|
ldr r0, _0217f480 ; =data_ov29_0217bd28
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, _0217f484 ; =data_027e0fb4
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, #0xba]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x18c]
|
|
cmp r0, #0
|
|
subne r0, r0, #1
|
|
strne r0, [r4, #0x18c]
|
|
ldmneia sp!, {r4, pc}
|
|
mov r1, #8
|
|
mov r0, r4
|
|
mov r2, r1
|
|
mov r3, #3
|
|
bl func_ov39_0217ec34
|
|
ldr r0, [r4, #0x280]
|
|
mov r1, #0
|
|
bl func_ov29_021772f8
|
|
mov r0, #0x3c
|
|
str r0, [r4, #0x18c]
|
|
ldr r0, [r4, #0x158]
|
|
orr r0, r0, #8
|
|
str r0, [r4, #0x158]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217f32c
|
|
_0217f47c: .word data_027e0e60
|
|
_0217f480: .word data_ov29_0217bd28
|
|
_0217f484: .word data_027e0fb4
|
|
|
|
.global func_ov39_0217f488
|
|
arm_func_start func_ov39_0217f488
|
|
func_ov39_0217f488: ; 0x0217f488
|
|
ldr r0, _0217f4a8 ; =data_027e0c68
|
|
ldr r0, [r0, #0x30]
|
|
add r0, r0, #0x100
|
|
ldrsh r0, [r0, #0x5c]
|
|
cmp r0, #0
|
|
movgt r0, #1
|
|
movle r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217f488
|
|
_0217f4a8: .word data_027e0c68
|
|
|
|
.global func_ov39_0217f4ac
|
|
arm_func_start func_ov39_0217f4ac
|
|
func_ov39_0217f4ac: ; 0x0217f4ac
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r4, r0
|
|
ldrb r0, [r4, #0x15c]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x80000
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
ldr r0, [r4, #0x198]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x198]
|
|
cmp r0, #0x2d
|
|
ldmleia sp!, {r4, r5, r6, pc}
|
|
mov r0, #0
|
|
ldr r2, _0217f564 ; =data_027e0764
|
|
str r0, [r4, #0x198]
|
|
ldr r3, [r2]
|
|
ldmib r2, {r1, ip}
|
|
umull r5, lr, ip, r3
|
|
mla lr, ip, r1, lr
|
|
ldr r1, [r2, #0xc]
|
|
ldr ip, [r2, #0x10]
|
|
mla lr, r1, r3, lr
|
|
ldr r1, [r2, #0x14]
|
|
adds r6, ip, r5
|
|
adc r5, r1, lr
|
|
mov r1, #0x64000
|
|
umull r3, ip, r5, r1
|
|
mla ip, r5, r0, ip
|
|
mla ip, r0, r1, ip
|
|
str r6, [r2]
|
|
str r5, [r2, #4]
|
|
cmp ip, #0x1e000
|
|
ldmgeia sp!, {r4, r5, r6, pc}
|
|
add r0, r4, #0x3bc
|
|
mov r1, #1
|
|
strb r1, [r4, #0x910]
|
|
add r0, r0, #0x800
|
|
strb r1, [r4, #0x15c]
|
|
bl func_ov39_02184d40
|
|
ldr r0, _0217f568 ; =data_027e0ffc
|
|
ldr r1, _0217f56c ; =0x00000326
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217f4ac
|
|
_0217f564: .word data_027e0764
|
|
_0217f568: .word data_027e0ffc
|
|
_0217f56c: .word 0x00000326
|
|
|
|
.global func_ov39_0217f570
|
|
arm_func_start func_ov39_0217f570
|
|
func_ov39_0217f570: ; 0x0217f570
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
ldrb r0, [r4, #0x15c]
|
|
cmp r0, #3
|
|
addls pc, pc, r0, lsl #2
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0217f588: ; jump table
|
|
ldmia sp!, {r3, r4, r5, pc} ; case 0
|
|
b _0217f598 ; case 1
|
|
b _0217f5d0 ; case 2
|
|
b _0217f68c ; case 3
|
|
_0217f598:
|
|
add r0, r4, #0x68
|
|
ldr r1, _0217f6d8 ; =0x00002ee0
|
|
add r0, r0, #0x800
|
|
mov r2, #0x258
|
|
bl func_0202b154
|
|
cmp r0, #0
|
|
beq _0217f5c4
|
|
mov r0, #2
|
|
strb r0, [r4, #0x15c]
|
|
mov r0, #0
|
|
str r0, [r4, #0x170]
|
|
_0217f5c4:
|
|
mov r0, #1
|
|
strb r0, [r4, #0x910]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0217f5d0:
|
|
ldr r1, [r4, #0x170]
|
|
add r0, r4, #0x100
|
|
add r1, r1, #1
|
|
str r1, [r4, #0x170]
|
|
ldrsh r0, [r0, #0x20]
|
|
rsb r0, r0, #0xc8
|
|
cmp r0, #0x5a
|
|
movle r5, #0x1e
|
|
ble _0217f600
|
|
cmp r0, #0x87
|
|
movle r5, #0x3c
|
|
movgt r5, #0x5a
|
|
_0217f600:
|
|
ldr r0, [r4, #0xbec]
|
|
cmp r0, #1
|
|
bne _0217f65c
|
|
cmp r0, #1
|
|
mov r1, #0
|
|
bne _0217f644
|
|
add r0, r4, #0xb00
|
|
ldrsh r2, [r0, #0xf8]
|
|
sub r0, r1, #0x100
|
|
cmp r2, r0
|
|
movgt r0, #1
|
|
movle r0, r1
|
|
cmp r2, #0x100
|
|
movlt r2, #1
|
|
movge r2, #0
|
|
tst r0, r2
|
|
movne r1, #1
|
|
_0217f644:
|
|
cmp r1, #0
|
|
beq _0217f65c
|
|
add r0, r4, #0x3bc
|
|
add r0, r0, #0x800
|
|
mov r1, #3
|
|
bl func_ov39_02184d40
|
|
_0217f65c:
|
|
ldr r0, [r4, #0x170]
|
|
cmp r0, r5
|
|
blt _0217f680
|
|
add r0, r4, #0x3bc
|
|
mov r2, #3
|
|
add r0, r0, #0x800
|
|
mov r1, #0
|
|
strb r2, [r4, #0x15c]
|
|
bl func_ov39_02184d40
|
|
_0217f680:
|
|
mov r0, #1
|
|
strb r0, [r4, #0x910]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_0217f68c:
|
|
ldr r0, [r4, #0x158]
|
|
mov r1, #0
|
|
tst r0, #0x40000
|
|
movne r2, #0x4b0
|
|
add r0, r4, #0x68
|
|
moveq r2, #0x258
|
|
add r0, r0, #0x800
|
|
bl func_0202b154
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
streqb r0, [r4, #0x910]
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r1, #0
|
|
strb r1, [r4, #0x15c]
|
|
ldr r0, [r4, #0x158]
|
|
bic r0, r0, #0x40000
|
|
str r0, [r4, #0x158]
|
|
strb r1, [r4, #0x910]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217f570
|
|
_0217f6d8: .word 0x00002ee0
|
|
|
|
.global func_ov39_0217f6dc
|
|
arm_func_start func_ov39_0217f6dc
|
|
func_ov39_0217f6dc: ; 0x0217f6dc
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0x44
|
|
mov r4, r0
|
|
add r0, sp, #0x18
|
|
bl func_ov00_020c1500
|
|
mvn r1, #0
|
|
add r0, sp, #0x18
|
|
str r1, [sp, #0x34]
|
|
str r1, [sp, #0x38]
|
|
bl func_ov00_020c3348
|
|
mvn r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0x280]
|
|
add r3, sp, #0xc
|
|
add r0, r0, #0x48
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r0, [sp, #0x10]
|
|
mov r2, r3
|
|
add r0, r0, #0x800
|
|
str r0, [sp, #0x10]
|
|
add r1, sp, #4
|
|
str r1, [sp]
|
|
ldr r0, _0217f758 ; =data_027e0fe8
|
|
ldr r1, _0217f75c ; =0x54535350
|
|
ldr r0, [r0]
|
|
add r3, sp, #0x18
|
|
bl func_ov00_020c4048
|
|
add sp, sp, #0x44
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217f6dc
|
|
_0217f758: .word data_027e0fe8
|
|
_0217f75c: .word 0x54535350
|
|
|
|
.global func_ov39_0217f760
|
|
arm_func_start func_ov39_0217f760
|
|
func_ov39_0217f760: ; 0x0217f760
|
|
mov r3, #0
|
|
str r3, [r0, #0x178]
|
|
ldr r1, [r0, #0x158]
|
|
bic r2, r1, #0x2000000
|
|
bic r1, r2, #0x8000000
|
|
str r1, [r0, #0x158]
|
|
tst r1, #0x40
|
|
streq r3, [r0, #0x17c]
|
|
bxeq lr
|
|
tst r1, #0x20000
|
|
moveq r1, #4
|
|
streq r1, [r0, #0x17c]
|
|
strne r3, [r0, #0x17c]
|
|
bx lr
|
|
arm_func_end func_ov39_0217f760
|
|
|
|
.global func_ov39_0217f798
|
|
arm_func_start func_ov39_0217f798
|
|
func_ov39_0217f798: ; 0x0217f798
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r1
|
|
ldr r2, [r4, #0x25c]
|
|
mvn r1, #0x80000000
|
|
mov r5, r0
|
|
cmp r2, r1
|
|
bne _0217f7c8
|
|
add r0, r4, #0x224
|
|
add r0, r0, #0x800
|
|
add r1, r4, #0x25c
|
|
mov r2, #0
|
|
bl func_ov39_0218577c
|
|
_0217f7c8:
|
|
add r0, r4, #0x25c
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r5, {r0, r1, r2}
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end func_ov39_0217f798
|
|
|
|
.global func_ov39_0217f7d8
|
|
arm_func_start func_ov39_0217f7d8
|
|
func_ov39_0217f7d8: ; 0x0217f7d8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r2, [r0, #0x158]
|
|
tst r2, #0x8000000
|
|
ldreq r1, [r0, #0x180]
|
|
cmpeq r1, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
tst r2, #0x2000000
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r1, #7
|
|
bl func_ov39_0217d5d4
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end func_ov39_0217f7d8
|
|
|
|
.global func_ov39_0217f810
|
|
arm_func_start func_ov39_0217f810
|
|
func_ov39_0217f810: ; 0x0217f810
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
sub sp, sp, #0x18
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x284]
|
|
mvn r1, #0
|
|
ldr r2, [r0, #0x88]
|
|
cmp r2, r1
|
|
bne _0217f868
|
|
ldr r1, [r4, #0x48]
|
|
add sp, sp, #0x18
|
|
str r1, [r0, #0x48]
|
|
ldr r1, [r4, #0x4c]
|
|
str r1, [r0, #0x4c]
|
|
ldr r1, [r4, #0x50]
|
|
str r1, [r0, #0x50]
|
|
ldr r1, [r4, #0x48]
|
|
str r1, [r0, #0x54]
|
|
ldr r1, [r4, #0x4c]
|
|
str r1, [r0, #0x58]
|
|
ldr r1, [r4, #0x50]
|
|
str r1, [r0, #0x5c]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_0217f868:
|
|
bl func_ov00_020c281c
|
|
cmp r0, #0
|
|
beq _0217f97c
|
|
ldr r0, [r4, #0x158]
|
|
ldr r5, _0217fa38 ; =data_02050f54
|
|
orr r0, r0, #0x8000000
|
|
str r0, [r4, #0x158]
|
|
ldr r0, [r4, #0x284]
|
|
mov r7, #0
|
|
ldrsh r3, [r0, #0x78]
|
|
add r0, r0, #0x48
|
|
ldmia r0, {r0, r1, r2}
|
|
add r3, r3, #0x8000
|
|
mov r3, r3, lsl #0x10
|
|
mov r3, r3, lsr #0x10
|
|
mov r3, r3, asr #0x4
|
|
mov r3, r3, lsl #0x1
|
|
mov r6, r3, lsl #0x1
|
|
ldrsh r8, [r5, r6]
|
|
mov ip, #0xcd
|
|
add r3, r3, #1
|
|
umull sl, sb, r8, ip
|
|
mov r3, r3, lsl #0x1
|
|
ldrsh lr, [r5, r3]
|
|
add r3, sp, #0xc
|
|
stmia r3, {r0, r1, r2}
|
|
umull r6, r5, lr, ip
|
|
mla sb, r8, r7, sb
|
|
mov r0, r8, asr #0x1f
|
|
mla sb, r0, ip, sb
|
|
adds sl, sl, #0x800
|
|
mla r5, lr, r7, r5
|
|
adc r1, sb, #0
|
|
mov r0, sl, lsr #0xc
|
|
orr r0, r0, r1, lsl #20
|
|
adds r1, r6, #0x800
|
|
mov r2, r1, lsr #0xc
|
|
mov r1, lr, asr #0x1f
|
|
mla r5, r1, ip, r5
|
|
adc r1, r5, #0
|
|
orr r2, r2, r1, lsl #20
|
|
str r0, [sp]
|
|
str r7, [sp, #4]
|
|
str r2, [sp, #8]
|
|
ldr r5, [r4, #0x284]
|
|
add r1, sp, #0
|
|
str r0, [r5, #0x60]
|
|
ldr r2, [sp, #4]
|
|
mov r0, r3
|
|
str r2, [r5, #0x64]
|
|
mov r2, r3
|
|
ldr r3, [sp, #8]
|
|
str r3, [r5, #0x68]
|
|
bl func_01ff9bc4
|
|
ldr r1, [r4, #0x284]
|
|
ldr r0, [sp, #0xc]
|
|
str r0, [r1, #0x48]
|
|
ldr r0, [sp, #0x10]
|
|
str r0, [r1, #0x4c]
|
|
ldr r0, [sp, #0x14]
|
|
str r0, [r1, #0x50]
|
|
ldr r0, [sp, #0xc]
|
|
str r0, [r1, #0x54]
|
|
ldr r0, [sp, #0x10]
|
|
str r0, [r1, #0x58]
|
|
ldr r0, [sp, #0x14]
|
|
add sp, sp, #0x18
|
|
str r0, [r1, #0x5c]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
_0217f97c:
|
|
ldrsh r0, [r4, #0x78]
|
|
ldr r2, _0217fa38 ; =data_02050f54
|
|
ldr r1, _0217fa3c ; =0x00000a66
|
|
add r0, r0, #0x8000
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
mov r3, r0, lsl #0x1
|
|
add r0, r3, #1
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r6, [r2, r0]
|
|
mov r0, r3, lsl #0x1
|
|
ldrsh r3, [r2, r0]
|
|
umull r8, r7, r6, r1
|
|
mov r2, #0
|
|
umull r0, r5, r3, r1
|
|
adds r8, r8, #0x800
|
|
mla r7, r6, r2, r7
|
|
mov r6, r6, asr #0x1f
|
|
mla r7, r6, r1, r7
|
|
adc r7, r7, #0
|
|
adds r6, r0, #0x800
|
|
mov r0, r8, lsr #0xc
|
|
mla r5, r3, r2, r5
|
|
mov r2, r3, asr #0x1f
|
|
mla r5, r2, r1, r5
|
|
adc r1, r5, #0
|
|
mov r2, r6, lsr #0xc
|
|
ldr r3, [r4, #0x48]
|
|
orr r2, r2, r1, lsl #20
|
|
ldr r6, [r4, #0x50]
|
|
orr r0, r0, r7, lsl #20
|
|
ldr r5, [r4, #0x4c]
|
|
ldr r1, [r4, #0x284]
|
|
add r2, r3, r2
|
|
str r2, [r1, #0x48]
|
|
str r5, [r1, #0x4c]
|
|
add r0, r6, r0
|
|
str r0, [r1, #0x50]
|
|
str r2, [r1, #0x54]
|
|
str r5, [r1, #0x58]
|
|
str r0, [r1, #0x5c]
|
|
ldrsh r1, [r4, #0x78]
|
|
ldr r0, [r4, #0x284]
|
|
strh r1, [r0, #0x78]
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217f810
|
|
_0217fa38: .word data_02050f54
|
|
_0217fa3c: .word 0x00000a66
|
|
|
|
.global func_ov39_0217fa40
|
|
arm_func_start func_ov39_0217fa40
|
|
func_ov39_0217fa40: ; 0x0217fa40
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x10
|
|
ldr r1, _0217faa8 ; =data_027e0f64
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
mov r1, #1
|
|
ldr r0, [r0, #8]
|
|
bl func_ov00_020875f8
|
|
ldr r0, [r4, #0x48]
|
|
mov r2, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x4c]
|
|
ldr r1, _0217faa8 ; =data_027e0f64
|
|
str r0, [sp, #8]
|
|
ldr r3, [r4, #0x50]
|
|
add r0, r4, #0x100
|
|
str r3, [sp, #0xc]
|
|
str r2, [sp]
|
|
ldr r1, [r1]
|
|
ldrsh r3, [r0, #0x68]
|
|
ldr r0, [r1, #8]
|
|
add r2, sp, #4
|
|
mov r1, #0x56
|
|
bl func_ov00_02087584
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217fa40
|
|
_0217faa8: .word data_027e0f64
|
|
|
|
.global func_ov39_0217faac
|
|
arm_func_start func_ov39_0217faac
|
|
func_ov39_0217faac: ; 0x0217faac
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x18
|
|
ldr r2, _0217fb3c ; =0x00005666
|
|
ldr r1, _0217fb40 ; =0x00000b33
|
|
mov r3, #0
|
|
mov r4, r0
|
|
str r3, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
ldrsh r1, [r4, #0x78]
|
|
add r0, sp, #0xc
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [r4, #0x48]
|
|
add r0, sp, #0xc
|
|
str r1, [sp]
|
|
ldr r2, [r4, #0x4c]
|
|
add r1, sp, #0
|
|
str r2, [sp, #4]
|
|
ldr r3, [r4, #0x50]
|
|
mov r2, r0
|
|
str r3, [sp, #8]
|
|
bl func_01ff9bc4
|
|
add r7, r4, #0x288
|
|
ldr r4, _0217fb44 ; =data_027e0e58
|
|
mov r6, #0
|
|
add r5, sp, #0xc
|
|
_0217fb14:
|
|
ldr r0, [r4]
|
|
mov r1, r7
|
|
mov r2, r5
|
|
bl func_ov00_0207c474
|
|
add r6, r6, #1
|
|
cmp r6, #3
|
|
add r7, r7, #0xc
|
|
blt _0217fb14
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217faac
|
|
_0217fb3c: .word 0x00005666
|
|
_0217fb40: .word 0x00000b33
|
|
_0217fb44: .word data_027e0e58
|
|
|
|
.global func_ov39_0217fb48
|
|
arm_func_start func_ov39_0217fb48
|
|
func_ov39_0217fb48: ; 0x0217fb48
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x18
|
|
ldr r2, _0217fbbc ; =0x00005666
|
|
ldr r1, _0217fbc0 ; =0x00000b33
|
|
mov r3, #0
|
|
mov r4, r0
|
|
str r3, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
ldrsh r1, [r4, #0x78]
|
|
add r0, sp, #0xc
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [r4, #0x48]
|
|
add r0, sp, #0xc
|
|
str r1, [sp]
|
|
ldr r2, [r4, #0x4c]
|
|
add r1, sp, #0
|
|
str r2, [sp, #4]
|
|
ldr r3, [r4, #0x50]
|
|
mov r2, r0
|
|
str r3, [sp, #8]
|
|
bl func_01ff9bc4
|
|
ldr r0, _0217fbc4 ; =data_027e0e58
|
|
add r2, sp, #0xc
|
|
ldr r0, [r0]
|
|
add r1, r4, #0x288
|
|
bl func_ov00_0207c474
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217fb48
|
|
_0217fbbc: .word 0x00005666
|
|
_0217fbc0: .word 0x00000b33
|
|
_0217fbc4: .word data_027e0e58
|
|
|
|
.global func_ov39_0217fbc8
|
|
arm_func_start func_ov39_0217fbc8
|
|
func_ov39_0217fbc8: ; 0x0217fbc8
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0x14
|
|
ldr r1, _0217fc40 ; =data_027e0f94
|
|
mov ip, r0
|
|
add r3, sp, #8
|
|
ldmia r1, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r0, [ip, #0x4c]
|
|
mov r2, r3
|
|
add r0, r0, #0x800
|
|
str r0, [sp, #0xc]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _0217fc44 ; =data_027e0e58
|
|
ldr r1, _0217fc48 ; =0x000001c1
|
|
ldr r0, [r0]
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _0217fc44 ; =data_027e0e58
|
|
ldr r1, _0217fc4c ; =0x000001c2
|
|
ldr r0, [r0]
|
|
add r2, sp, #8
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
add sp, sp, #0x14
|
|
ldmia sp!, {pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217fbc8
|
|
_0217fc40: .word data_027e0f94
|
|
_0217fc44: .word data_027e0e58
|
|
_0217fc48: .word 0x000001c1
|
|
_0217fc4c: .word 0x000001c2
|
|
|
|
.global func_ov39_0217fc50
|
|
arm_func_start func_ov39_0217fc50
|
|
func_ov39_0217fc50: ; 0x0217fc50
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x9f4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x9ec]
|
|
cmp r0, #1
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x7fc]
|
|
mov r1, #0xb000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
bne _0217fc9c
|
|
ldr r0, [r4, #0x7fc]
|
|
mov r1, #0x23000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
_0217fc9c:
|
|
ldr r0, _0217fcb4 ; =data_027e0ffc
|
|
ldr r1, _0217fcb8 ; =0x00000315
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217fc50
|
|
_0217fcb4: .word data_027e0ffc
|
|
_0217fcb8: .word 0x00000315
|
|
|
|
.global func_ov39_0217fcbc
|
|
arm_func_start func_ov39_0217fcbc
|
|
func_ov39_0217fcbc: ; 0x0217fcbc
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r0
|
|
mov r0, #1
|
|
strb r0, [r5, #0xc9c]
|
|
add r1, r5, #0x1000
|
|
ldr r3, [r1, #0x874]
|
|
ldr r2, [r1, #0x87c]
|
|
ldr r6, [r3]
|
|
ldr r4, [r3, #8]
|
|
ldr r3, [r1, #0x880]
|
|
add r1, r2, r4
|
|
add r2, r6, r2
|
|
bl func_02017d30
|
|
add r0, r5, #0x3ec
|
|
add r0, r0, #0x400
|
|
add r0, r0, #0x238
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
mov r4, r0
|
|
ldr r0, [r4, #8]
|
|
ldr r1, _0217fd6c ; =data_ov39_02186760
|
|
add r0, r4, r0
|
|
add r0, r0, #4
|
|
bl func_0201e388
|
|
ldr r1, [r4, #8]
|
|
mov r6, r0
|
|
add r0, r4, r1
|
|
add r0, r0, #4
|
|
ldr r1, _0217fd70 ; =data_ov39_02186774
|
|
bl func_0201e388
|
|
mov r1, r6
|
|
mov r6, r0
|
|
mov r0, r4
|
|
ldr r2, _0217fd74 ; =0x00004a52
|
|
bl func_020193f0
|
|
mov r0, r4
|
|
mov r1, r6
|
|
ldr r2, _0217fd74 ; =0x00004a52
|
|
bl func_020193f0
|
|
add r0, r5, #0x3bc
|
|
add r0, r0, #0x800
|
|
bl func_ov39_02184b78
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217fcbc
|
|
_0217fd6c: .word data_ov39_02186760
|
|
_0217fd70: .word data_ov39_02186774
|
|
_0217fd74: .word 0x00004a52
|
|
|
|
.global func_ov39_0217fd78
|
|
arm_func_start func_ov39_0217fd78
|
|
func_ov39_0217fd78: ; 0x0217fd78
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r5, r0
|
|
add r0, r5, #0x3bc
|
|
add r0, r0, #0x800
|
|
bl func_ov39_02184b98
|
|
add r0, r5, #0x3ec
|
|
add r0, r0, #0x400
|
|
add r0, r0, #0x238
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #8]
|
|
blx r1
|
|
mov r4, r0
|
|
ldr r0, [r4, #8]
|
|
ldr r1, _0217fe24 ; =data_ov39_02186788
|
|
add r0, r4, r0
|
|
add r0, r0, #4
|
|
bl func_0201e388
|
|
ldr r1, [r4, #8]
|
|
mov r7, r0
|
|
add r0, r4, r1
|
|
add r0, r0, #4
|
|
ldr r1, _0217fe28 ; =data_ov39_0218679c
|
|
bl func_0201e388
|
|
mov r6, r0
|
|
ldr r0, [r5, #0x280]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0xc4]
|
|
blx r1
|
|
mov r1, r7
|
|
mov r2, r0
|
|
mov r0, r4
|
|
bl func_020193f0
|
|
ldr r0, [r5, #0x280]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0xc8]
|
|
blx r1
|
|
mov r1, r6
|
|
mov r2, r0
|
|
mov r0, r4
|
|
bl func_020193f0
|
|
mov r0, #0
|
|
strb r0, [r5, #0xc9c]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217fd78
|
|
_0217fe24: .word data_ov39_02186788
|
|
_0217fe28: .word data_ov39_0218679c
|
|
|
|
.global func_ov39_0217fe2c
|
|
arm_func_start func_ov39_0217fe2c
|
|
func_ov39_0217fe2c: ; 0x0217fe2c
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0
|
|
bl func_ov39_0217caf0
|
|
mov r0, #0
|
|
str r0, [r4, #0x60]
|
|
str r0, [r4, #0x64]
|
|
str r0, [r4, #0x68]
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0217fe2c
|
|
|
|
.global func_ov39_0217fe5c
|
|
arm_func_start func_ov39_0217fe5c
|
|
func_ov39_0217fe5c: ; 0x0217fe5c
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
ldrsh r5, [r4, #0x78]
|
|
bl func_ov39_0217e298
|
|
ldrsh r0, [r4, #0x78]
|
|
subs r0, r5, r0
|
|
rsbmi r0, r0, #0
|
|
cmp r0, #0x16c
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
blt _0217fe94
|
|
mov r1, #1
|
|
bl func_ov39_0217caf0
|
|
b _0217fe9c
|
|
_0217fe94:
|
|
mov r1, #0
|
|
bl func_ov39_0217caf0
|
|
_0217fe9c:
|
|
ldrb r0, [r4, #0xc9c]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r0, r4
|
|
bl func_ov39_0217f4ac
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #0xa
|
|
ldmltia sp!, {r3, r4, r5, pc}
|
|
mov r0, r4
|
|
bl func_ov39_0217eb14
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r0, r4
|
|
bl func_ov39_0217e2e8
|
|
cmp r0, #0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, _0217ff14 ; =data_027e0f94
|
|
ldr r1, [r4, #0x4c]
|
|
ldr r0, [r0, #4]
|
|
cmp r0, r1
|
|
ldmltia sp!, {r3, r4, r5, pc}
|
|
mov r0, r4
|
|
bl func_ov39_0217e404
|
|
ldr r1, _0217ff18 ; =0x00003333
|
|
cmp r0, r1
|
|
ldmleia sp!, {r3, r4, r5, pc}
|
|
mov r0, r4
|
|
mov r1, #2
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217fe5c
|
|
_0217ff14: .word data_027e0f94
|
|
_0217ff18: .word 0x00003333
|
|
|
|
.global func_ov39_0217ff1c
|
|
arm_func_start func_ov39_0217ff1c
|
|
func_ov39_0217ff1c: ; 0x0217ff1c
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, [r0, #0x158]
|
|
mov r2, #0
|
|
bic r3, r1, #0x10
|
|
orr r1, r3, #0x420
|
|
str r1, [r0, #0x158]
|
|
str r2, [r0, #0x194]
|
|
str r2, [r0, #0x60]
|
|
str r2, [r0, #0x64]
|
|
add r1, r0, #0x3ec
|
|
str r2, [r0, #0x68]
|
|
add r0, r1, #0x400
|
|
mov r1, #1
|
|
bl func_ov39_0217caf0
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end func_ov39_0217ff1c
|
|
|
|
.global func_ov39_0217ff5c
|
|
arm_func_start func_ov39_0217ff5c
|
|
func_ov39_0217ff5c: ; 0x0217ff5c
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x130
|
|
mov r5, r0
|
|
ldrb r1, [r5, #0xc9c]
|
|
cmp r1, #0
|
|
addne sp, sp, #0x130
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
bl func_ov39_0217e298
|
|
ldr r0, [r5, #0x194]
|
|
cmp r0, #0xc
|
|
addls pc, pc, r0, lsl #2
|
|
b _02180f14
|
|
_0217ff8c: ; jump table
|
|
b _0217ffc0 ; case 0
|
|
b _02180328 ; case 1
|
|
b _02180528 ; case 2
|
|
b _021805fc ; case 3
|
|
b _02180814 ; case 4
|
|
b _021808a4 ; case 5
|
|
b _02180900 ; case 6
|
|
b _02180a48 ; case 7
|
|
b _02180a94 ; case 8
|
|
b _02180b58 ; case 9
|
|
b _02180dc8 ; case 10
|
|
b _02180e10 ; case 11
|
|
b _02180e94 ; case 12
|
|
_0217ffc0:
|
|
mov r0, r5
|
|
bl func_ov00_020c198c
|
|
cmp r0, #0
|
|
beq _021802bc
|
|
ldr r0, _02180f1c ; =data_027e071c
|
|
bl func_0202d7ac
|
|
cmp r0, #0
|
|
bne _021802bc
|
|
ldr r0, _02180f1c ; =data_027e071c
|
|
ldr r1, [r0, #0x44]
|
|
cmp r1, #0
|
|
beq _02180004
|
|
ldr r0, _02180f20 ; =data_027e0fc8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
cmp r1, r0
|
|
bne _021802bc
|
|
_02180004:
|
|
add r0, r5, #0x204
|
|
add r0, r0, #0x800
|
|
mov r1, #2
|
|
bl func_ov00_020c5d74
|
|
ldr r1, [r5, #0x158]
|
|
mov r0, #0
|
|
bic r1, r1, #0x800000
|
|
str r1, [r5, #0x158]
|
|
str r0, [r5, #0xca0]
|
|
str r0, [r5, #0xca4]
|
|
ldr r1, [r5, #0x158]
|
|
add r0, sp, #0x80
|
|
orr r1, r1, #0x200
|
|
str r1, [r5, #0x158]
|
|
bl func_ov00_0209a4f4
|
|
mov r2, #0
|
|
ldr r1, _02180f24 ; =data_027e0f64
|
|
mov r3, #0x32
|
|
mvn r4, #0
|
|
ldr r0, _02180f28 ; =data_027e0f74
|
|
ldr r1, [r1]
|
|
strb r3, [sp, #0x89]
|
|
strb r2, [sp, #0x8a]
|
|
strb r2, [sp, #0x8b]
|
|
str r4, [sp, #0x84]
|
|
ldr r4, [r1, #4]
|
|
ldr r0, [r0]
|
|
ldr r2, [r4, #0x26c]
|
|
add r1, sp, #0x80
|
|
str r2, [sp, #0xa0]
|
|
ldr r3, [r4, #0x270]
|
|
mov r2, #1
|
|
str r3, [sp, #0xa4]
|
|
ldr r3, [r4, #0x274]
|
|
str r3, [sp, #0xa8]
|
|
strb r2, [sp, #0x96]
|
|
bl func_ov00_02097810
|
|
add r1, r5, #0x3ec
|
|
str r0, [r5, #0x190]
|
|
add r0, r1, #0x400
|
|
mov r1, #0
|
|
bl func_ov39_0217caf0
|
|
mov r0, #0
|
|
strb r0, [r5, #0xc58]
|
|
str r0, [r5, #0x60]
|
|
str r0, [r5, #0x64]
|
|
str r0, [r5, #0x68]
|
|
add r0, r5, #0x388
|
|
blx func_0202ab54
|
|
mov r1, #2
|
|
mov r0, #1
|
|
str r0, [r5, #0x388]
|
|
mov r0, #0
|
|
str r0, [r5, #0x390]
|
|
add r0, r5, #0x388
|
|
mov r2, r1
|
|
mov r3, r1
|
|
str r1, [sp]
|
|
blx func_0202ac0c
|
|
ldr r0, _02180f1c ; =data_027e071c
|
|
add r1, r5, #0x388
|
|
bl func_0202d77c
|
|
ldr r0, _02180f24 ; =data_027e0f64
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_020875f8
|
|
ldr r0, _02180f24 ; =data_027e0f64
|
|
add r1, r5, #0x2b8
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02087d34
|
|
ldr r1, [r5, #0x14]
|
|
ldr r0, _02180f2c ; =0x00001b33
|
|
str r1, [r5, #0x214]
|
|
str r0, [r5, #0x218]
|
|
ldr r0, [r5, #0x1c]
|
|
mov r4, #0
|
|
add r0, r0, #0x9a
|
|
add r0, r0, #0x3900
|
|
str r0, [r5, #0x21c]
|
|
mov r0, #0x4000
|
|
str r0, [r5, #0x2d0]
|
|
str r4, [r5, #0x2dc]
|
|
str r4, [r5, #0x2d8]
|
|
mov r1, #0x7d0
|
|
str r4, [r5, #0x2d4]
|
|
str r1, [r5, #0x2c4]
|
|
sub r0, r1, #0xfa0
|
|
str r0, [r5, #0x2c8]
|
|
add r0, r1, #0x3840
|
|
str r0, [r5, #0x2cc]
|
|
ldr r1, [r5, #0x214]
|
|
ldr r0, _02180f24 ; =data_027e0f64
|
|
str r1, [sp, #0x20]
|
|
ldr r2, [r5, #0x218]
|
|
add r1, sp, #0x20
|
|
str r2, [sp, #0x24]
|
|
ldr r2, [r5, #0x21c]
|
|
add r3, r5, #0x2b8
|
|
str r2, [sp, #0x28]
|
|
str r4, [sp]
|
|
str r4, [sp, #4]
|
|
ldr r0, [r0]
|
|
mov r2, #2
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02089318
|
|
ldr r2, _02180f30 ; =0x00000b33
|
|
ldr r1, _02180f34 ; =0x00000666
|
|
rsb r0, r2, #0x800
|
|
str r1, [sp, #0x78]
|
|
str r2, [sp, #0x74]
|
|
str r0, [sp, #0x7c]
|
|
ldr r0, [r5, #0x280]
|
|
add r1, sp, #0x74
|
|
bl func_ov39_02185120
|
|
mov r1, #1
|
|
str r1, [r5, #0x194]
|
|
ldr r0, _02180f20 ; =data_027e0fc8
|
|
add r1, r5, #0x48
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bb6d4
|
|
mov r3, r4
|
|
str r3, [r5, #0x138]
|
|
sub r0, r3, #1
|
|
str r0, [r5, #0x1ac]
|
|
ldr r4, [r5, #0x1c]
|
|
ldr r2, [r5, #0x18]
|
|
ldr r1, [r5, #0x14]
|
|
ldr r0, _02180f38 ; =data_027e0f90
|
|
str r1, [r5, #0x48]
|
|
str r2, [r5, #0x4c]
|
|
str r4, [r5, #0x50]
|
|
ldr ip, [r5, #0x1c]
|
|
ldr r4, [r5, #0x18]
|
|
ldr r2, [r5, #0x14]
|
|
add r1, sp, #0x68
|
|
str r2, [r5, #0x54]
|
|
str r4, [r5, #0x58]
|
|
str ip, [r5, #0x5c]
|
|
ldrsh r4, [r5, #0x12]
|
|
sub r2, r3, #0x8000
|
|
strh r4, [r5, #0x78]
|
|
ldr r4, [r5, #0x50]
|
|
ldr ip, [r5, #0x4c]
|
|
add lr, r4, #0x4000
|
|
ldr r4, [r5, #0x48]
|
|
str r4, [sp, #0x68]
|
|
str ip, [sp, #0x6c]
|
|
str lr, [sp, #0x70]
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r4, [r0]
|
|
ldr r4, [r4, #0x34]
|
|
blx r4
|
|
ldr r1, [r5, #0x48]
|
|
ldr r0, _02180f3c ; =data_027e0fb4
|
|
str r1, [r5, #0x238]
|
|
ldr r1, [r5, #0x4c]
|
|
str r1, [r5, #0x23c]
|
|
ldr r1, [r5, #0x50]
|
|
str r1, [r5, #0x240]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x10]
|
|
str r1, [r5, #0x1a0]
|
|
cmp r1, #0
|
|
ldrne r0, [r0]
|
|
movne r1, #0
|
|
strne r1, [r0, #0x10]
|
|
add r0, sp, #0x80
|
|
bl func_ov00_0209a508
|
|
add sp, sp, #0x130
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021802bc:
|
|
mov r0, r5
|
|
bl func_ov39_0217e404
|
|
cmp r0, #0x4000
|
|
addle sp, sp, #0x130
|
|
ldmleia sp!, {r4, r5, r6, pc}
|
|
ldrh r1, [r5, #0x78]
|
|
ldr r3, _02180f40 ; =data_02050f54
|
|
mov r0, #0xcd
|
|
mov r1, r1, asr #0x4
|
|
mov r1, r1, lsl #0x1
|
|
mov r2, r1, lsl #0x1
|
|
add r1, r1, #1
|
|
ldrsh r2, [r3, r2]
|
|
mov r1, r1, lsl #0x1
|
|
ldrsh r1, [r3, r1]
|
|
smulbb r2, r2, r0
|
|
smulbb r0, r1, r0
|
|
add r2, r2, #0x800
|
|
mov r1, r2, asr #0xc
|
|
add r0, r0, #0x800
|
|
str r1, [r5, #0x60]
|
|
mov r1, #0
|
|
str r1, [r5, #0x64]
|
|
mov r0, r0, asr #0xc
|
|
add sp, sp, #0x130
|
|
str r0, [r5, #0x68]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02180328:
|
|
ldr r2, _02180f30 ; =0x00000b33
|
|
ldr r1, _02180f34 ; =0x00000666
|
|
rsb r0, r2, #0x800
|
|
str r1, [sp, #0x60]
|
|
str r2, [sp, #0x5c]
|
|
str r0, [sp, #0x64]
|
|
ldr r0, [r5, #0x280]
|
|
add r1, sp, #0x5c
|
|
bl func_ov39_02185208
|
|
ldr r0, _02180f20 ; =data_027e0fc8
|
|
add r1, r5, #0x48
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bb6d4
|
|
ldr r0, _02180f20 ; =data_027e0fc8
|
|
add r1, sp, #0x5c
|
|
ldr r0, [r0]
|
|
mov r2, #0x400
|
|
bl func_ov00_020bb810
|
|
ldr r1, [r5, #0x138]
|
|
ldr r0, [r5, #0x2c8]
|
|
rsb r1, r1, #0x32
|
|
mov r0, r0, lsl #0x10
|
|
mov r4, r1, lsl #0xc
|
|
mov r6, r0, asr #0x10
|
|
cmp r4, #0x1000
|
|
movle r6, #0
|
|
ble _021803b8
|
|
rsb r0, r6, #0
|
|
mov r0, r0, lsl #0x10
|
|
mov r1, r4
|
|
mov r0, r0, asr #0x4
|
|
bl func_01ff98e0
|
|
add r0, r0, #0x800
|
|
add r0, r6, r0, asr #12
|
|
mov r0, r0, lsl #0x10
|
|
mov r6, r0, asr #0x10
|
|
_021803b8:
|
|
str r6, [r5, #0x2c8]
|
|
cmp r4, #0x1000
|
|
ldr r0, _02180f30 ; =0x00000b33
|
|
ble _021803e0
|
|
ldr r2, [r5, #0x218]
|
|
mov r1, r4
|
|
sub r0, r0, r2
|
|
bl func_01ff98e0
|
|
ldr r1, [r5, #0x218]
|
|
add r0, r1, r0
|
|
_021803e0:
|
|
str r0, [r5, #0x218]
|
|
ldr r0, [r5, #0x214]
|
|
mov r2, #0
|
|
str r0, [sp, #0x14]
|
|
ldr r1, [r5, #0x218]
|
|
ldr r0, _02180f24 ; =data_027e0f64
|
|
str r1, [sp, #0x18]
|
|
ldr r3, [r5, #0x21c]
|
|
add r1, sp, #0x14
|
|
str r3, [sp, #0x1c]
|
|
str r2, [sp]
|
|
str r2, [sp, #4]
|
|
ldr r0, [r0]
|
|
add r3, r5, #0x2b8
|
|
ldr r0, [r0, #4]
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
ldr r0, [r5, #0x138]
|
|
cmp r0, #0x1e
|
|
bne _02180450
|
|
add r1, r5, #4
|
|
ldr r0, _02180f44 ; =data_027e0c68
|
|
ldr r2, _02180f48 ; =0x00080015
|
|
add r1, r1, #0xc00
|
|
bl func_02036ce4
|
|
mov r0, r5
|
|
mov r1, #1
|
|
bl func_ov00_020c1908
|
|
_02180450:
|
|
mov r0, #0x10000
|
|
ldr r1, [r5, #0xc1c]
|
|
rsb r0, r0, #0
|
|
and r0, r1, r0
|
|
cmp r0, #0x1000000
|
|
addeq sp, sp, #0x130
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #4
|
|
add r0, r0, #0xc00
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x10]
|
|
blx r1
|
|
mov r0, #0x10000
|
|
ldr r1, [r5, #0xc1c]
|
|
rsb r0, r0, #0
|
|
and r0, r1, r0
|
|
cmp r0, #0x1000000
|
|
addne sp, sp, #0x130
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r0, _02180f24 ; =data_027e0f64
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_020875f8
|
|
ldr r0, [r5, #0x48]
|
|
mov r1, #1
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #0x4c]
|
|
ldr r0, _02180f24 ; =data_027e0f64
|
|
str r2, [sp, #0xc]
|
|
ldr r3, [r5, #0x50]
|
|
add r2, sp, #8
|
|
str r3, [sp, #0x10]
|
|
str r1, [sp]
|
|
ldr r0, [r0]
|
|
ldrsh r3, [r5, #0x78]
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0x54
|
|
bl func_ov00_02087584
|
|
add r1, r5, #4
|
|
mov r3, #2
|
|
ldr r0, _02180f44 ; =data_027e0c68
|
|
ldr r2, _02180f4c ; =0x0008001a
|
|
add r1, r1, #0xc00
|
|
str r3, [r5, #0x194]
|
|
bl func_02036ce4
|
|
mov r0, r5
|
|
mov r1, #1
|
|
bl func_ov00_020c1908
|
|
ldr r0, _02180f20 ; =data_027e0fc8
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bb9b0
|
|
add sp, sp, #0x130
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02180528:
|
|
ldr r0, [r5, #0x280]
|
|
add r1, r0, #0x48
|
|
bl func_ov39_02185208
|
|
mov r0, #0x10000
|
|
ldr r1, [r5, #0xc1c]
|
|
rsb r0, r0, #0
|
|
and r0, r1, r0
|
|
cmp r0, #0x1000000
|
|
addeq sp, sp, #0x130
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #4
|
|
add r0, r0, #0xc00
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x10]
|
|
blx r1
|
|
mov r0, #0x10000
|
|
ldr r1, [r5, #0xc1c]
|
|
rsb r0, r0, #0
|
|
and r0, r1, r0
|
|
cmp r0, #0x1000000
|
|
addne sp, sp, #0x130
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r1, [r5, #0x280]
|
|
mov r0, r5
|
|
add r1, r1, #0x48
|
|
bl func_ov00_020c2938
|
|
add r1, r5, #0x100
|
|
strh r0, [r1, #0x62]
|
|
ldr r1, [r5, #0x280]
|
|
mov r0, r5
|
|
add r1, r1, #0x48
|
|
bl func_ov00_020c288c
|
|
str r0, [r5, #0x1b8]
|
|
ldr r1, [r5, #0x280]
|
|
ldr r0, _02180f50 ; =0x0000199a
|
|
ldr r2, [r1, #0x4c]
|
|
mov r1, #3
|
|
str r2, [r5, #0x1bc]
|
|
str r1, [r5, #0x194]
|
|
mov r2, #0
|
|
str r2, [r5, #0x138]
|
|
rsb r1, r0, #0x800
|
|
str r0, [sp, #0x50]
|
|
str r2, [sp, #0x54]
|
|
str r1, [sp, #0x58]
|
|
bl func_01ffa0f4
|
|
add r1, r5, #0x100
|
|
strh r0, [r1, #0x60]
|
|
add r0, sp, #0x50
|
|
bl func_01ff9cec
|
|
add sp, sp, #0x130
|
|
str r0, [r5, #0x1cc]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021805fc:
|
|
add r0, r5, #0x100
|
|
ldrsh r2, [r5, #0x78]
|
|
ldrsh r1, [r0, #0x60]
|
|
ldr r3, [r5, #0x138]
|
|
add r1, r2, r1
|
|
rsb r3, r3, #0x28
|
|
mov r1, r1, lsl #0x10
|
|
mov r4, r3, lsl #0xc
|
|
mov r2, r1, asr #0x10
|
|
cmp r4, #0x1000
|
|
strleh r2, [r0, #0x62]
|
|
ble _02180658
|
|
ldrsh r0, [r0, #0x62]
|
|
mov r1, r4
|
|
sub r0, r2, r0
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x4
|
|
bl func_01ff98e0
|
|
add r1, r5, #0x100
|
|
ldrsh r2, [r1, #0x62]
|
|
add r0, r0, #0x800
|
|
add r0, r2, r0, asr #12
|
|
strh r0, [r1, #0x62]
|
|
_02180658:
|
|
ldr r2, [r5, #0x1cc]
|
|
cmp r4, #0x1000
|
|
strle r2, [r5, #0x1b8]
|
|
ble _02180684
|
|
ldr r0, [r5, #0x1b8]
|
|
mov r1, r4
|
|
sub r0, r2, r0
|
|
bl func_01ff98e0
|
|
ldr r1, [r5, #0x1b8]
|
|
add r0, r1, r0
|
|
str r0, [r5, #0x1b8]
|
|
_02180684:
|
|
cmp r4, #0x1000
|
|
ldr r0, _02180f50 ; =0x0000199a
|
|
ble _021806a8
|
|
ldr r2, [r5, #0x1bc]
|
|
mov r1, r4
|
|
sub r0, r0, r2
|
|
bl func_01ff98e0
|
|
ldr r1, [r5, #0x1bc]
|
|
add r0, r1, r0
|
|
_021806a8:
|
|
str r0, [r5, #0x1bc]
|
|
add r0, r5, #0x100
|
|
ldrh r0, [r0, #0x62]
|
|
ldr r1, _02180f40 ; =data_02050f54
|
|
ldr lr, [r5, #0x1b8]
|
|
mov r0, r0, asr #0x4
|
|
mov r3, r0, lsl #0x1
|
|
add r0, r3, #1
|
|
mov r2, r0, lsl #0x1
|
|
ldrsh r2, [r1, r2]
|
|
mov r0, r3, lsl #0x1
|
|
ldrsh r1, [r1, r0]
|
|
smull r3, r4, r2, lr
|
|
adds ip, r3, #0x800
|
|
smull r3, r2, r1, lr
|
|
adc r1, r4, #0
|
|
mov lr, ip, lsr #0xc
|
|
ldr r0, [r5, #0x50]
|
|
orr lr, lr, r1, lsl #20
|
|
adds r3, r3, #0x800
|
|
adc r1, r2, #0
|
|
mov r2, r3, lsr #0xc
|
|
ldr ip, [r5, #0x4c]
|
|
ldr r4, [r5, #0x1bc]
|
|
orr r2, r2, r1, lsl #20
|
|
ldr r3, [r5, #0x48]
|
|
add lr, r0, lr
|
|
add r1, ip, r4
|
|
add r0, r3, r2
|
|
str r1, [sp, #0x48]
|
|
str lr, [sp, #0x4c]
|
|
str r0, [sp, #0x44]
|
|
ldr r0, [r5, #0x280]
|
|
add r1, sp, #0x44
|
|
bl func_ov39_02185208
|
|
ldr r0, [r5, #0x48]
|
|
ldr r1, [r5, #0x4c]
|
|
add r2, r0, #0x9a
|
|
add r1, r1, #0x9a
|
|
ldr r3, [r5, #0x50]
|
|
ldr r0, _02180f54 ; =0xffffee66
|
|
add r1, r1, #0x1900
|
|
add r3, r3, r0
|
|
add r0, r2, #0x1900
|
|
str r1, [sp, #0x48]
|
|
str r3, [sp, #0x4c]
|
|
str r0, [sp, #0x44]
|
|
ldr r0, [r5, #0x138]
|
|
cmp r0, #5
|
|
addlt sp, sp, #0x130
|
|
ldmltia sp!, {r4, r5, r6, pc}
|
|
bne _02180788
|
|
add r0, r5, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #9
|
|
bl func_ov39_0217caf0
|
|
_02180788:
|
|
ldr r0, [r5, #0x9f4]
|
|
add r0, r5, r0, lsl #2
|
|
ldr r0, [r0, #0x9ec]
|
|
cmp r0, #9
|
|
bne _021807c4
|
|
ldr r0, [r5, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x130
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0
|
|
bl func_ov39_0217caf0
|
|
_021807c4:
|
|
ldr r1, [r5, #0x280]
|
|
add r0, sp, #0x44
|
|
add r1, r1, #0x48
|
|
bl func_01ff9ec0
|
|
ldr r1, _02180f58 ; =0x00000333
|
|
cmp r0, r1
|
|
addge sp, sp, #0x130
|
|
ldmgeia sp!, {r4, r5, r6, pc}
|
|
add r1, r5, #4
|
|
mov r3, #4
|
|
ldr r0, _02180f44 ; =data_027e0c68
|
|
ldr r2, _02180f5c ; =0x0008001b
|
|
add r1, r1, #0xc00
|
|
str r3, [r5, #0x194]
|
|
bl func_02036ce4
|
|
mov r0, r5
|
|
mov r1, #1
|
|
bl func_ov00_020c1908
|
|
add sp, sp, #0x130
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02180814:
|
|
mov r0, r5
|
|
bl func_ov39_0217eb10
|
|
mov r0, #0x10000
|
|
ldr r1, [r5, #0xc1c]
|
|
rsb r0, r0, #0
|
|
and r0, r1, r0
|
|
cmp r0, #0x1000000
|
|
addeq sp, sp, #0x130
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #4
|
|
add r0, r0, #0xc00
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x10]
|
|
blx r1
|
|
mov r0, #0x10000
|
|
ldr r1, [r5, #0xc1c]
|
|
rsb r0, r0, #0
|
|
and r0, r1, r0
|
|
cmp r0, #0x1000000
|
|
addne sp, sp, #0x130
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r0, [r5, #0x158]
|
|
mov r4, #5
|
|
orr r0, r0, #0x40
|
|
str r0, [r5, #0x158]
|
|
str r4, [sp]
|
|
ldr r0, _02180f60 ; =data_027e0c54
|
|
ldr r1, _02180f64 ; =func_ov05_02102a80
|
|
mov r2, #0
|
|
mov r3, #2
|
|
str r4, [sp, #4]
|
|
blx func_02036140
|
|
mov r0, r4
|
|
add sp, sp, #0x130
|
|
str r0, [r5, #0x194]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021808a4:
|
|
mov r0, r5
|
|
bl func_ov39_0217eb10
|
|
ldr r0, _02180f60 ; =data_027e0c54
|
|
bl func_0203608c
|
|
cmp r0, #0
|
|
addne sp, sp, #0x130
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r0, _02180f60 ; =data_027e0c54
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x130
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mov r0, r5
|
|
mov r1, #8
|
|
mov r2, #0x16
|
|
mov r3, #0
|
|
bl func_ov39_0217ec34
|
|
mov r0, #6
|
|
str r0, [r5, #0x194]
|
|
mov r0, #0
|
|
add sp, sp, #0x130
|
|
str r0, [r5, #0x138]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02180900:
|
|
mov r0, r5
|
|
bl func_ov39_0217eb10
|
|
ldr r0, [r5, #0x9f4]
|
|
add r0, r5, r0, lsl #2
|
|
ldr r0, [r0, #0x9ec]
|
|
cmp r0, #0xa
|
|
bne _02180970
|
|
ldr r0, [r5, #0x7fc]
|
|
mov r1, #0x1e000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02180948
|
|
ldr r0, _02180f68 ; =data_027e0ffc
|
|
ldr r1, _02180f6c ; =0x00000326
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_02180948:
|
|
ldr r0, [r5, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _021809ac
|
|
add r0, r5, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0xb
|
|
bl func_ov39_0217ca2c
|
|
b _021809ac
|
|
_02180970:
|
|
cmp r0, #0xb
|
|
beq _021809ac
|
|
ldr r0, [r5, #0x138]
|
|
cmp r0, #0x23
|
|
blt _021809ac
|
|
add r0, r5, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0xa
|
|
bl func_ov39_0217caf0
|
|
add r0, r5, #0x3bc
|
|
add r0, r0, #0x800
|
|
mov r1, #1
|
|
bl func_ov39_02184d40
|
|
mov r0, #0
|
|
str r0, [r5, #0x138]
|
|
_021809ac:
|
|
mov r0, r5
|
|
bl func_ov39_0217f488
|
|
cmp r0, #0
|
|
ldr r0, [r5, #0x9f4]
|
|
add r0, r5, r0, lsl #2
|
|
bne _02180a14
|
|
ldr r0, [r0, #0x9ec]
|
|
cmp r0, #0xa
|
|
moveq r0, #7
|
|
addeq sp, sp, #0x130
|
|
streq r0, [r5, #0x194]
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
cmp r0, #0xb
|
|
bne _021809f4
|
|
mov r0, r5
|
|
bl func_ov39_02180f88
|
|
add sp, sp, #0x130
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021809f4:
|
|
add r0, r5, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0xa
|
|
bl func_ov39_0217ca2c
|
|
mov r0, #7
|
|
add sp, sp, #0x130
|
|
str r0, [r5, #0x194]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02180a14:
|
|
ldr r0, [r0, #0x9ec]
|
|
sub r0, r0, #0xa
|
|
cmp r0, #1
|
|
addhi sp, sp, #0x130
|
|
ldmhiia sp!, {r4, r5, r6, pc}
|
|
ldr r0, [r5, #0x138]
|
|
cmp r0, #0x28
|
|
addlt sp, sp, #0x130
|
|
ldmltia sp!, {r4, r5, r6, pc}
|
|
mov r0, r5
|
|
bl func_ov39_02180fac
|
|
add sp, sp, #0x130
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02180a48:
|
|
mov r0, r5
|
|
bl func_ov39_0217eb10
|
|
ldr r0, [r5, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02180a74
|
|
mov r0, r5
|
|
bl func_ov39_02180f88
|
|
add sp, sp, #0x130
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02180a74:
|
|
ldr r0, [r5, #0x138]
|
|
cmp r0, #0x28
|
|
addlt sp, sp, #0x130
|
|
ldmltia sp!, {r4, r5, r6, pc}
|
|
mov r0, r5
|
|
bl func_ov39_02180fac
|
|
add sp, sp, #0x130
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02180a94:
|
|
mov r0, r5
|
|
bl func_ov39_0217eb10
|
|
ldr r0, [r5, #0x9f4]
|
|
add r0, r5, r0, lsl #2
|
|
ldr r0, [r0, #0x9ec]
|
|
cmp r0, #0xa
|
|
bne _02180ae4
|
|
ldr r0, [r5, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02180ae4
|
|
add r0, r5, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0xb
|
|
bl func_ov39_0217ca2c
|
|
add r0, r5, #0x3bc
|
|
add r0, r0, #0x800
|
|
mov r1, #2
|
|
bl func_ov39_02184d40
|
|
_02180ae4:
|
|
ldr r0, [r5, #0x9f4]
|
|
add r0, r5, r0, lsl #2
|
|
ldr r0, [r0, #0x9ec]
|
|
cmp r0, #0xb
|
|
addne sp, sp, #0x130
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, r5
|
|
bl func_ov39_0217f488
|
|
cmp r0, #0
|
|
beq _02180b1c
|
|
ldr r0, [r5, #0x138]
|
|
cmp r0, #0x28
|
|
addlt sp, sp, #0x130
|
|
ldmltia sp!, {r4, r5, r6, pc}
|
|
_02180b1c:
|
|
mov r0, r5
|
|
bl func_ov39_02185a6c
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x130
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mov r0, #0
|
|
str r0, [r5, #0x138]
|
|
ldr r1, [r5, #0xaec]
|
|
mov r0, #1
|
|
str r1, [r5, #0xaf0]
|
|
strb r0, [r5, #0xafc]
|
|
mov r0, #9
|
|
add sp, sp, #0x130
|
|
str r0, [r5, #0x194]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02180b58:
|
|
ldr r1, [r5, #0xa14]
|
|
ldr r0, [r5, #0x280]
|
|
ldr r4, [r1, #0x14]
|
|
add r0, r0, #0x48
|
|
add r3, sp, #0x38
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r0, [r5, #0xa14]
|
|
mov r1, #0xa000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
bne _02180bbc
|
|
ldr r0, [r5, #0xa14]
|
|
mov r1, #0x23000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
bne _02180bbc
|
|
ldr r0, [r5, #0xa14]
|
|
mov r1, #0x34000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02180bd0
|
|
_02180bbc:
|
|
ldr r0, _02180f68 ; =data_027e0ffc
|
|
ldr r1, _02180f70 ; =0x00000312
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_02180bd0:
|
|
cmp r4, #0xb000
|
|
bge _02180c00
|
|
ldr r1, _02180f74 ; =data_ov39_02186668
|
|
add r2, sp, #0x2c
|
|
add r0, r5, #0x48
|
|
bl func_01ff9bc4
|
|
ldr r0, [r5, #0x280]
|
|
add r1, sp, #0x2c
|
|
bl func_ov39_02185208
|
|
ldr r0, _02180f34 ; =0x00000666
|
|
str r0, [r5, #0x1c0]
|
|
b _02180dac
|
|
_02180c00:
|
|
cmp r4, #0x10000
|
|
bge _02180c64
|
|
ldr r1, _02180f78 ; =data_ov39_02186674
|
|
add r2, sp, #0x2c
|
|
add r0, r5, #0x48
|
|
bl func_01ff9bc4
|
|
ldr r2, [r5, #0x1c0]
|
|
add r0, sp, #0x38
|
|
add r1, sp, #0x2c
|
|
bl func_0202b2e8
|
|
ldr r2, _02180f7c ; =0x0000019a
|
|
add r0, r5, #0x1c0
|
|
mov r1, #0x400
|
|
bl func_0202b0f4
|
|
ldr r0, [r5, #0x280]
|
|
add r1, sp, #0x38
|
|
bl func_ov39_02185208
|
|
cmp r4, #0xb000
|
|
bne _02180dac
|
|
mov r0, r5
|
|
mov r1, #8
|
|
mov r2, #0x18
|
|
mov r3, #0
|
|
bl func_ov39_0217ec34
|
|
b _02180dac
|
|
_02180c64:
|
|
cmp r4, #0x24000
|
|
bge _02180c94
|
|
ldr r1, _02180f78 ; =data_ov39_02186674
|
|
add r2, sp, #0x2c
|
|
add r0, r5, #0x48
|
|
bl func_01ff9bc4
|
|
ldr r0, [r5, #0x280]
|
|
add r1, sp, #0x2c
|
|
bl func_ov39_02185208
|
|
ldr r0, _02180f34 ; =0x00000666
|
|
str r0, [r5, #0x1c0]
|
|
b _02180dac
|
|
_02180c94:
|
|
cmp r4, #0x2d000
|
|
bge _02180cdc
|
|
ldr r1, _02180f80 ; =data_ov39_02186680
|
|
add r2, sp, #0x2c
|
|
add r0, r5, #0x48
|
|
bl func_01ff9bc4
|
|
ldr r2, [r5, #0x1c0]
|
|
add r0, sp, #0x38
|
|
add r1, sp, #0x2c
|
|
bl func_0202b2e8
|
|
ldr r2, _02180f7c ; =0x0000019a
|
|
add r0, r5, #0x1c0
|
|
mov r1, #0x400
|
|
bl func_0202b0f4
|
|
ldr r0, [r5, #0x280]
|
|
add r1, sp, #0x38
|
|
bl func_ov39_02185208
|
|
b _02180dac
|
|
_02180cdc:
|
|
cmp r4, #0x38000
|
|
bge _02180d24
|
|
ldr r1, _02180f84 ; =data_ov39_0218668c
|
|
add r2, sp, #0x2c
|
|
add r0, r5, #0x48
|
|
bl func_01ff9bc4
|
|
ldr r2, [r5, #0x1c0]
|
|
add r0, sp, #0x38
|
|
add r1, sp, #0x2c
|
|
bl func_0202b2e8
|
|
ldr r2, _02180f7c ; =0x0000019a
|
|
add r0, r5, #0x1c0
|
|
mov r1, #0x400
|
|
bl func_0202b0f4
|
|
ldr r0, [r5, #0x280]
|
|
add r1, sp, #0x38
|
|
bl func_ov39_02185208
|
|
b _02180dac
|
|
_02180d24:
|
|
cmp r4, #0x3c000
|
|
bge _02180d4c
|
|
ldr r1, _02180f84 ; =data_ov39_0218668c
|
|
add r2, sp, #0x2c
|
|
add r0, r5, #0x48
|
|
bl func_01ff9bc4
|
|
ldr r0, [r5, #0x280]
|
|
add r1, sp, #0x2c
|
|
bl func_ov39_02185208
|
|
b _02180dac
|
|
_02180d4c:
|
|
cmp r4, #0x3c000
|
|
mov r0, r5
|
|
bne _02180da8
|
|
mov r1, #8
|
|
mov r2, #0x20
|
|
mov r3, #0
|
|
bl func_ov39_0217ec34
|
|
ldr r1, [r5, #0x280]
|
|
mov r3, #0
|
|
strb r3, [r1, #0x11a]
|
|
ldr r0, _02180f3c ; =data_027e0fb4
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
add r2, r5, #0x48
|
|
strb r1, [r0, #0x14d]
|
|
ldr r1, [r5, #0x158]
|
|
ldr r0, _02180f68 ; =data_027e0ffc
|
|
orr r1, r1, #0x80
|
|
str r1, [r5, #0x158]
|
|
mov r1, #0x314
|
|
str r3, [r5, #0x138]
|
|
bl func_ov00_020ceacc
|
|
b _02180dac
|
|
_02180da8:
|
|
bl func_ov39_0217eae4
|
|
_02180dac:
|
|
mov r0, r5
|
|
bl func_ov39_02185a90
|
|
cmp r0, #0
|
|
movne r0, #0xa
|
|
add sp, sp, #0x130
|
|
strne r0, [r5, #0x194]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02180dc8:
|
|
mov r0, r5
|
|
bl func_ov39_0217eae4
|
|
mov r0, r5
|
|
bl func_ov39_0217f488
|
|
cmp r0, #0
|
|
beq _02180df0
|
|
ldr r0, [r5, #0x138]
|
|
cmp r0, #0x28
|
|
addlt sp, sp, #0x130
|
|
ldmltia sp!, {r4, r5, r6, pc}
|
|
_02180df0:
|
|
add r0, r5, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0xc
|
|
bl func_ov39_0217ca2c
|
|
mov r0, #0xb
|
|
add sp, sp, #0x130
|
|
str r0, [r5, #0x194]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02180e10:
|
|
mov r0, r5
|
|
bl func_ov39_0217eae4
|
|
ldr r0, [r5, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02180e60
|
|
mov r0, r5
|
|
mov r1, #8
|
|
mov r2, #0x1c
|
|
mov r3, #0
|
|
bl func_ov39_0217ec34
|
|
add r0, r5, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0
|
|
bl func_ov39_0217ca2c
|
|
mov r0, #0xc
|
|
add sp, sp, #0x130
|
|
str r0, [r5, #0x194]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02180e60:
|
|
ldr r0, [r5, #0x7fc]
|
|
mov r1, #0x8000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x130
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
add r0, r5, #0x3bc
|
|
add r0, r0, #0x800
|
|
mov r1, #0
|
|
bl func_ov39_02184d40
|
|
add sp, sp, #0x130
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_02180e94:
|
|
mov r0, r5
|
|
bl func_ov39_0217eae4
|
|
mov r0, r5
|
|
bl func_ov39_0217f488
|
|
cmp r0, #0
|
|
addne sp, sp, #0x130
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
ldr r0, _02180f28 ; =data_027e0f74
|
|
ldr r1, [r5, #0x190]
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097bcc
|
|
mvn r4, #0
|
|
mov r0, r5
|
|
mov r1, #8
|
|
mov r2, #0x1d
|
|
mov r3, #0
|
|
str r4, [r5, #0x190]
|
|
bl func_ov39_0217ec34
|
|
mov r0, #1
|
|
strb r0, [r5, #0xc58]
|
|
ldr r1, _02180f50 ; =0x0000199a
|
|
mov r0, r5
|
|
str r1, [r5, #0x1ac]
|
|
bl func_ov39_0217f760
|
|
mov r0, r5
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
ldr r1, [r5, #0x1a0]
|
|
cmp r1, #0
|
|
ldrne r0, _02180f3c ; =data_027e0fb4
|
|
ldrne r0, [r0]
|
|
strne r1, [r0, #0x10]
|
|
_02180f14:
|
|
add sp, sp, #0x130
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0217ff5c
|
|
_02180f1c: .word data_027e071c
|
|
_02180f20: .word data_027e0fc8
|
|
_02180f24: .word data_027e0f64
|
|
_02180f28: .word data_027e0f74
|
|
_02180f2c: .word 0x00001b33
|
|
_02180f30: .word 0x00000b33
|
|
_02180f34: .word 0x00000666
|
|
_02180f38: .word data_027e0f90
|
|
_02180f3c: .word data_027e0fb4
|
|
_02180f40: .word data_02050f54
|
|
_02180f44: .word data_027e0c68
|
|
_02180f48: .word 0x00080015
|
|
_02180f4c: .word 0x0008001a
|
|
_02180f50: .word 0x0000199a
|
|
_02180f54: .word 0xffffee66
|
|
_02180f58: .word 0x00000333
|
|
_02180f5c: .word 0x0008001b
|
|
_02180f60: .word data_027e0c54
|
|
_02180f64: .word func_ov05_02102a80
|
|
_02180f68: .word data_027e0ffc
|
|
_02180f6c: .word 0x00000326
|
|
_02180f70: .word 0x00000312
|
|
_02180f74: .word data_ov39_02186668
|
|
_02180f78: .word data_ov39_02186674
|
|
_02180f7c: .word 0x0000019a
|
|
_02180f80: .word data_ov39_02186680
|
|
_02180f84: .word data_ov39_0218668c
|
|
|
|
.global func_ov39_02180f88
|
|
arm_func_start func_ov39_02180f88
|
|
func_ov39_02180f88: ; 0x02180f88
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0xb
|
|
bl func_ov39_0217ca2c
|
|
mov r0, r4
|
|
bl func_ov39_02180fac
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02180f88
|
|
|
|
.global func_ov39_02180fac
|
|
arm_func_start func_ov39_02180fac
|
|
func_ov39_02180fac: ; 0x02180fac
|
|
stmdb sp!, {r4, lr}
|
|
mov r1, #8
|
|
mov r2, #0x17
|
|
mov r3, #0
|
|
mov r4, r0
|
|
bl func_ov39_0217ec34
|
|
mov r0, #8
|
|
str r0, [r4, #0x194]
|
|
mov r0, #0
|
|
str r0, [r4, #0x138]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02180fac
|
|
|
|
.global func_ov39_02180fd8
|
|
arm_func_start func_ov39_02180fd8
|
|
func_ov39_02180fd8: ; 0x02180fd8
|
|
stmdb sp!, {r3, lr}
|
|
add r0, r0, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #1
|
|
bl func_ov39_0217caf0
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end func_ov39_02180fd8
|
|
|
|
.global func_ov39_02180ff4
|
|
arm_func_start func_ov39_02180ff4
|
|
func_ov39_02180ff4: ; 0x02180ff4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl func_ov39_0217e298
|
|
ldrh r1, [r4, #0x78]
|
|
ldr r3, _021810bc ; =data_02050f54
|
|
mov r0, #0xcd
|
|
mov r1, r1, asr #0x4
|
|
mov r1, r1, lsl #0x1
|
|
mov r2, r1, lsl #0x1
|
|
add r1, r1, #1
|
|
ldrsh r2, [r3, r2]
|
|
mov r1, r1, lsl #0x1
|
|
ldrsh r1, [r3, r1]
|
|
smulbb r2, r2, r0
|
|
smulbb r0, r1, r0
|
|
add r2, r2, #0x800
|
|
mov r1, r2, asr #0xc
|
|
add r0, r0, #0x800
|
|
str r1, [r4, #0x60]
|
|
mov r1, #0
|
|
str r1, [r4, #0x64]
|
|
mov r0, r0, asr #0xc
|
|
str r0, [r4, #0x68]
|
|
ldrb r0, [r4, #0xc9c]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl func_ov39_0217f4ac
|
|
mov r0, r4
|
|
bl func_ov39_0217eb14
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl func_ov39_0217e2e8
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, _021810c0 ; =data_027e0f94
|
|
ldr r1, [r4, #0x4c]
|
|
ldr r0, [r0, #4]
|
|
cmp r0, r1
|
|
ldmgtia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl func_ov39_0217e404
|
|
ldr r1, _021810c4 ; =0x00003333
|
|
cmp r0, r1
|
|
ldmgtia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02180ff4
|
|
_021810bc: .word data_02050f54
|
|
_021810c0: .word data_027e0f94
|
|
_021810c4: .word 0x00003333
|
|
|
|
.global func_ov39_021810c8
|
|
arm_func_start func_ov39_021810c8
|
|
func_ov39_021810c8: ; 0x021810c8
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, _02181124 ; =data_027e0ffc
|
|
ldr r1, _02181128 ; =0x00000316
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #2
|
|
bl func_ov39_0217ca2c
|
|
mov r0, #0
|
|
str r0, [r4, #0x60]
|
|
str r0, [r4, #0x64]
|
|
str r0, [r4, #0x68]
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, #1
|
|
orr r2, r1, #0x400
|
|
bic r1, r2, #0x800
|
|
orr r1, r1, #0x400000
|
|
str r1, [r4, #0x158]
|
|
strb r0, [r4, #0x911]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021810c8
|
|
_02181124: .word data_027e0ffc
|
|
_02181128: .word 0x00000316
|
|
|
|
.global func_ov39_0218112c
|
|
arm_func_start func_ov39_0218112c
|
|
func_ov39_0218112c: ; 0x0218112c
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl func_ov39_0217e298
|
|
ldr r0, [r4, #0x7fc]
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #0xb000
|
|
blt _02181164
|
|
cmp r0, #0xc000
|
|
bgt _02181164
|
|
sub r1, r0, #0xb000
|
|
mov r0, r4
|
|
mov r2, r1, asr #0xc
|
|
mov r1, #0
|
|
bl func_ov39_0217e5b0
|
|
_02181164:
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #0xa
|
|
blt _02181198
|
|
cmp r0, #0xc
|
|
bgt _02181188
|
|
ldr r0, [r4, #0x158]
|
|
orr r0, r0, #0x200000
|
|
str r0, [r4, #0x158]
|
|
b _02181198
|
|
_02181188:
|
|
cmp r0, #0xd
|
|
ldreq r0, [r4, #0x158]
|
|
biceq r0, r0, #0x400000
|
|
streq r0, [r4, #0x158]
|
|
_02181198:
|
|
mov r0, r4
|
|
bl func_ov39_0217f4ac
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0218112c
|
|
|
|
.global func_ov39_021811c4
|
|
arm_func_start func_ov39_021811c4
|
|
func_ov39_021811c4: ; 0x021811c4
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, _02181220 ; =data_027e0ffc
|
|
ldr r1, _02181224 ; =0x00000317
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #3
|
|
bl func_ov39_0217ca2c
|
|
mov r0, #0
|
|
str r0, [r4, #0x60]
|
|
str r0, [r4, #0x64]
|
|
str r0, [r4, #0x68]
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, #1
|
|
orr r2, r1, #0x400
|
|
bic r1, r2, #0x800
|
|
orr r1, r1, #0x400000
|
|
str r1, [r4, #0x158]
|
|
strb r0, [r4, #0x911]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021811c4
|
|
_02181220: .word data_027e0ffc
|
|
_02181224: .word 0x00000317
|
|
|
|
.global func_ov39_02181228
|
|
arm_func_start func_ov39_02181228
|
|
func_ov39_02181228: ; 0x02181228
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x20
|
|
mov r4, r0
|
|
ldr r2, [r4, #0x7fc]
|
|
ldr r1, [r4, #0x138]
|
|
ldr r5, [r2, #0x14]
|
|
cmp r1, #0x19
|
|
bge _0218124c
|
|
bl func_ov39_0217e298
|
|
_0218124c:
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #0x26
|
|
ldreq r0, [r4, #0x158]
|
|
biceq r0, r0, #0x400
|
|
streq r0, [r4, #0x158]
|
|
cmp r5, #0x22000
|
|
blt _02181284
|
|
cmp r5, #0x23000
|
|
bgt _02181284
|
|
sub r1, r5, #0x22000
|
|
mov r0, r4
|
|
mov r2, r1, asr #0xc
|
|
mov r1, #3
|
|
bl func_ov39_0217e5b0
|
|
_02181284:
|
|
ldrb r0, [r4, #0xc9c]
|
|
cmp r0, #0
|
|
bne _02181358
|
|
ldr r0, [r4, #0x7fc]
|
|
mov r1, #0x21000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _021812c0
|
|
ldr r0, _021813c0 ; =data_027e0ffc
|
|
add r2, r4, #0x48
|
|
mov r1, #0x318
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
b _02181358
|
|
_021812c0:
|
|
ldr r0, [r4, #0x7fc]
|
|
mov r1, #0x24000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02181358
|
|
mov r0, #0x3800
|
|
mov r1, #0
|
|
str r0, [sp, #0x1c]
|
|
str r1, [sp, #0x14]
|
|
str r1, [sp, #0x18]
|
|
ldrsh r1, [r4, #0x78]
|
|
add r0, sp, #0x14
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [r4, #0x48]
|
|
add r0, sp, #0x14
|
|
str r1, [sp, #8]
|
|
ldr r2, [r4, #0x4c]
|
|
add r1, sp, #8
|
|
str r2, [sp, #0xc]
|
|
ldr r3, [r4, #0x50]
|
|
mov r2, r0
|
|
str r3, [sp, #0x10]
|
|
bl func_01ff9bc4
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _021813c4 ; =data_027e0e58
|
|
ldr r1, _021813c8 ; =0x0000100c
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x14
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
ldr r0, _021813c0 ; =data_027e0ffc
|
|
ldr r1, _021813cc ; =0x00000319
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_02181358:
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #0x1f
|
|
blt _0218138c
|
|
cmp r0, #0x24
|
|
bgt _0218137c
|
|
ldr r0, [r4, #0x158]
|
|
orr r0, r0, #0x200000
|
|
str r0, [r4, #0x158]
|
|
b _0218138c
|
|
_0218137c:
|
|
cmp r0, #0x25
|
|
ldreq r0, [r4, #0x158]
|
|
biceq r0, r0, #0x400000
|
|
streq r0, [r4, #0x158]
|
|
_0218138c:
|
|
mov r0, r4
|
|
bl func_ov39_0217f4ac
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x20
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
add sp, sp, #0x20
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02181228
|
|
_021813c0: .word data_027e0ffc
|
|
_021813c4: .word data_027e0e58
|
|
_021813c8: .word 0x0000100c
|
|
_021813cc: .word 0x00000319
|
|
|
|
.global func_ov39_021813d0
|
|
arm_func_start func_ov39_021813d0
|
|
func_ov39_021813d0: ; 0x021813d0
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, _02181484 ; =data_027e0ffc
|
|
ldr r1, _02181488 ; =0x00000311
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
mov r1, #0
|
|
str r1, [r4, #0x60]
|
|
str r1, [r4, #0x64]
|
|
add r0, r4, #0x3ec
|
|
str r1, [r4, #0x68]
|
|
add r0, r0, #0x400
|
|
mov r1, #0xf
|
|
bl func_ov39_0217caf0
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, r4
|
|
orr r1, r1, #0x400
|
|
str r1, [r4, #0x158]
|
|
bl func_ov39_021859fc
|
|
mov r0, r4
|
|
bl func_ov39_0217e404
|
|
ldr r1, _0218148c ; =0x00001666
|
|
cmp r0, r1
|
|
movlt r0, r1
|
|
blt _02181444
|
|
ldr r1, _02181490 ; =0x00003333
|
|
cmp r0, r1
|
|
movgt r0, r1
|
|
_02181444:
|
|
ldr r2, _02181494 ; =0xffffe99a
|
|
ldr r1, _02181498 ; =0x00001ccd
|
|
add r0, r0, r2
|
|
bl func_01ff98e0
|
|
mov r1, r0, asr #0x1f
|
|
mov r2, r1, lsl #0xb
|
|
mov r1, #0x800
|
|
adds r1, r1, r0, lsl #11
|
|
orr r2, r2, r0, lsr #21
|
|
adc r0, r2, #0
|
|
mov r1, r1, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
add r0, r1, #0x800
|
|
str r0, [r4, #0x1b4]
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021813d0
|
|
_02181484: .word data_027e0ffc
|
|
_02181488: .word 0x00000311
|
|
_0218148c: .word 0x00001666
|
|
_02181490: .word 0x00003333
|
|
_02181494: .word 0xffffe99a
|
|
_02181498: .word 0x00001ccd
|
|
|
|
.global func_ov39_0218149c
|
|
arm_func_start func_ov39_0218149c
|
|
func_ov39_0218149c: ; 0x0218149c
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl func_ov39_0217e298
|
|
mov r0, r4
|
|
bl func_ov39_0217f4ac
|
|
ldr r0, [r4, #0x9f4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x9ec]
|
|
sub r0, r0, #0xf
|
|
cmp r0, #3
|
|
addls pc, pc, r0, lsl #2
|
|
ldmia sp!, {r4, pc}
|
|
_021814cc: ; jump table
|
|
b _021814dc ; case 0
|
|
b _0218150c ; case 1
|
|
b _02181588 ; case 2
|
|
b _02181564 ; case 3
|
|
_021814dc:
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0x10
|
|
bl func_ov39_0217ca2c
|
|
mov r0, #0
|
|
str r0, [r4, #0x138]
|
|
ldmia sp!, {r4, pc}
|
|
_0218150c:
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #0xf
|
|
bne _02181520
|
|
mov r0, r4
|
|
bl func_ov39_02185a20
|
|
_02181520:
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #0xf
|
|
ldmleia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl func_ov39_021859e8
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0x12
|
|
bl func_ov39_0217ca2c
|
|
ldmia sp!, {r4, pc}
|
|
_02181564:
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
_02181588:
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #0xf
|
|
bne _0218159c
|
|
mov r0, r4
|
|
bl func_ov39_02185a20
|
|
_0218159c:
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0x10
|
|
bl func_ov39_0217ca2c
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0218149c
|
|
|
|
.global func_ov39_021815c4
|
|
arm_func_start func_ov39_021815c4
|
|
func_ov39_021815c4: ; 0x021815c4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x10
|
|
mov r4, r0
|
|
bl func_ov39_02185a44
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x40
|
|
bne _02181600
|
|
ldr r0, [r4, #0x17c]
|
|
cmp r0, #3
|
|
blt _02181600
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, r4
|
|
bic r1, r1, #0x2000
|
|
str r1, [r4, #0x158]
|
|
bl func_ov39_0217f760
|
|
_02181600:
|
|
ldr r2, [r4, #0x17c]
|
|
cmp r2, #4
|
|
blt _02181628
|
|
ldr r1, _02181888 ; =data_ov39_02186124
|
|
add r0, r4, #0x3ec
|
|
ldr r1, [r1, #0x420]
|
|
add r0, r0, #0x400
|
|
bl func_ov39_0217ca2c
|
|
ldr r0, _0218188c ; =0x00000333
|
|
b _02181640
|
|
_02181628:
|
|
ldr r1, _02181890 ; =data_ov39_02186534
|
|
add r0, r4, #0x3ec
|
|
ldr r1, [r1, r2, lsl #2]
|
|
add r0, r0, #0x400
|
|
bl func_ov39_0217ca2c
|
|
ldr r0, _02181894 ; =0x0000019a
|
|
_02181640:
|
|
str r0, [r4, #0x1a8]
|
|
mov r0, #0xf
|
|
str r0, [r4, #0x180]
|
|
ldrsh r0, [r4, #0x78]
|
|
ldr r2, _02181898 ; =data_02050f54
|
|
ldr r3, [r4, #0x1a8]
|
|
add r0, r0, #0x8000
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
mov r0, r0, lsl #0x1
|
|
mov r1, r0, lsl #0x1
|
|
add r0, r0, #1
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r1, [r2, r1]
|
|
ldrsh r0, [r2, r0]
|
|
mul r2, r1, r3
|
|
mul r1, r0, r3
|
|
add r0, r2, #0x800
|
|
mov r2, r0, asr #0xc
|
|
add r0, r1, #0x800
|
|
str r2, [r4, #0x60]
|
|
mov r1, #0
|
|
str r1, [r4, #0x64]
|
|
mov r1, r0, asr #0xc
|
|
str r1, [r4, #0x68]
|
|
mov r0, r4
|
|
add r1, r4, #0x60
|
|
bl func_ov39_0217e950
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, r4
|
|
bic r1, r1, #0x10000
|
|
str r1, [r4, #0x158]
|
|
bl func_ov00_020c2974
|
|
strh r0, [r4, #0x78]
|
|
ldr r1, [r4, #0x158]
|
|
tst r1, #0x40
|
|
bne _02181748
|
|
ldr r0, [r4, #0x17c]
|
|
cmp r0, #2
|
|
blt _021816ec
|
|
tst r1, #0x2000
|
|
beq _0218173c
|
|
_021816ec:
|
|
ldr r2, _0218189c ; =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, #0x64000
|
|
umull r3, r5, r6, r0
|
|
mla r5, r6, r1, r5
|
|
mla r5, r1, r0, r5
|
|
str r7, [r2]
|
|
str r6, [r2, #4]
|
|
cmp r5, #0xa000
|
|
bge _02181748
|
|
_0218173c:
|
|
ldr r0, [r4, #0x158]
|
|
orr r0, r0, #0x12400
|
|
str r0, [r4, #0x158]
|
|
_02181748:
|
|
ldr r0, [r4, #0x17c]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x17c]
|
|
ldr r0, [r4, #0x178]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x178]
|
|
cmp r0, #3
|
|
bne _0218187c
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x80
|
|
beq _0218187c
|
|
tst r0, #0x80000
|
|
beq _0218187c
|
|
ldr r0, [r4, #0x158]
|
|
add r6, sp, #0
|
|
orr r0, r0, #0x2000000
|
|
str r0, [r4, #0x158]
|
|
ldr r3, [r4, #0x284]
|
|
ldr r5, _021818a0 ; =0x00001333
|
|
add r0, r3, #0x7c
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r6, {r0, r1, r2}
|
|
str r5, [sp, #0xc]
|
|
ldr r0, [sp]
|
|
ldr r5, _02181898 ; =data_02050f54
|
|
str r0, [r3, #0x7c]
|
|
ldr r0, [sp, #4]
|
|
ldr ip, _021818a4 ; =0x00000a66
|
|
str r0, [r3, #0x80]
|
|
ldr r0, [sp, #8]
|
|
mov lr, #0
|
|
str r0, [r3, #0x84]
|
|
ldr r0, [sp, #0xc]
|
|
str r0, [r3, #0x88]
|
|
ldrsh r1, [r4, #0x78]
|
|
ldr r0, [r4, #0x48]
|
|
ldr r2, [r4, #0x50]
|
|
add r1, r1, #0x8000
|
|
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
|
|
ldrsh r6, [r5, r1]
|
|
mov r1, r3, lsl #0x1
|
|
ldrsh r3, [r5, r1]
|
|
umull r8, r7, r6, ip
|
|
mla r7, r6, lr, r7
|
|
umull r1, r5, r3, ip
|
|
mla r5, r3, lr, r5
|
|
mov r6, r6, asr #0x1f
|
|
mov r3, r3, asr #0x1f
|
|
mla r7, r6, ip, r7
|
|
adds r8, r8, #0x800
|
|
adc r7, r7, #0
|
|
adds r6, r1, #0x800
|
|
mla r5, r3, ip, r5
|
|
adc r3, r5, #0
|
|
mov r5, r6, lsr #0xc
|
|
orr r5, r5, r3, lsl #20
|
|
mov r1, r8, lsr #0xc
|
|
orr r1, r1, r7, lsl #20
|
|
ldr r6, [r4, #0x4c]
|
|
ldr r3, [r4, #0x284]
|
|
add r0, r0, r5
|
|
str r0, [r3, #0x48]
|
|
add r1, r2, r1
|
|
str r6, [r3, #0x4c]
|
|
str r1, [r3, #0x50]
|
|
str r0, [r3, #0x54]
|
|
str r6, [r3, #0x58]
|
|
str r1, [r3, #0x5c]
|
|
ldrsh r1, [r4, #0x78]
|
|
ldr r0, [r4, #0x284]
|
|
strh r1, [r0, #0x78]
|
|
str lr, [r4, #0x12c]
|
|
_0218187c:
|
|
mov r0, #1
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021815c4
|
|
_02181888: .word data_ov39_02186124
|
|
_0218188c: .word 0x00000333
|
|
_02181890: .word data_ov39_02186534
|
|
_02181894: .word 0x0000019a
|
|
_02181898: .word data_02050f54
|
|
_0218189c: .word data_027e0764
|
|
_021818a0: .word 0x00001333
|
|
_021818a4: .word 0x00000a66
|
|
|
|
.global func_ov39_021818a8
|
|
arm_func_start func_ov39_021818a8
|
|
func_ov39_021818a8: ; 0x021818a8
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x1a8]
|
|
cmp r0, #0
|
|
ble _021818cc
|
|
subs r0, r0, #0x52
|
|
str r0, [r4, #0x1a8]
|
|
movmi r0, #0
|
|
strmi r0, [r4, #0x1a8]
|
|
_021818cc:
|
|
ldrsh r0, [r4, #0x78]
|
|
ldr r2, _02181998 ; =data_02050f54
|
|
ldr r3, [r4, #0x1a8]
|
|
add r0, r0, #0x8000
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
mov r0, r0, lsl #0x1
|
|
mov r1, r0, lsl #0x1
|
|
add r0, r0, #1
|
|
ldrsh r1, [r2, r1]
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r0, [r2, r0]
|
|
mul r2, r1, r3
|
|
mul r1, r0, r3
|
|
add r0, r2, #0x800
|
|
mov r0, r0, asr #0xc
|
|
add r1, r1, #0x800
|
|
str r0, [r4, #0x60]
|
|
mov r2, #0
|
|
mov r0, r4
|
|
str r2, [r4, #0x64]
|
|
mov r2, r1, asr #0xc
|
|
add r1, r4, #0x60
|
|
str r2, [r4, #0x68]
|
|
bl func_ov39_0217e950
|
|
mov r0, r4
|
|
bl func_ov39_0217f4ac
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
bne _02181964
|
|
ldr r0, [r4, #0x9f4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x9ec]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
_02181964:
|
|
ldr r0, [r4, #0x1a8]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x10000
|
|
mov r0, r4
|
|
beq _0218198c
|
|
mov r1, #5
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
_0218198c:
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021818a8
|
|
_02181998: .word data_02050f54
|
|
|
|
.global func_ov39_0218199c
|
|
arm_func_start func_ov39_0218199c
|
|
func_ov39_0218199c: ; 0x0218199c
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, lr}
|
|
sub sp, sp, #0x40
|
|
mov r4, #1
|
|
mov sl, r0
|
|
mov r5, r4
|
|
bl func_ov00_020c2974
|
|
mov r6, #0
|
|
add r0, r0, #0x8000
|
|
mov r0, r0, lsl #0x10
|
|
mov r7, r0, asr #0x10
|
|
add r0, r7, #0xab
|
|
mov r3, #0x3800
|
|
add sb, r0, #0x2a00
|
|
ldr r2, _02181cbc ; =data_027e0f94
|
|
mov r1, sb, lsl #0x10
|
|
ldr r0, [r2]
|
|
str r6, [sp, #0x34]
|
|
str r6, [sp, #0x38]
|
|
str r3, [sp, #0x3c]
|
|
str r0, [sl, #0x274]
|
|
ldr r3, [r2, #4]
|
|
add r0, sp, #0x34
|
|
str r3, [sl, #0x278]
|
|
ldr r2, [r2, #8]
|
|
mov r1, r1, asr #0x10
|
|
str r2, [sl, #0x27c]
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [sl, #0x274]
|
|
add r0, sp, #0x34
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [sl, #0x278]
|
|
add r1, sp, #0xc
|
|
str r2, [sp, #0x10]
|
|
ldr r3, [sl, #0x27c]
|
|
mov r2, r0
|
|
str r3, [sp, #0x14]
|
|
bl func_01ff9bc4
|
|
add r1, sp, #0x34
|
|
mov r0, sl
|
|
bl func_ov39_0217eaa0
|
|
cmp r0, #0
|
|
mov r3, #0
|
|
ldr r0, _02181cc0 ; =0xffffd555
|
|
mov r2, #0x3800
|
|
add r8, r7, r0
|
|
mov r1, r8, lsl #0x10
|
|
add r0, sp, #0x34
|
|
str r3, [sp, #0x34]
|
|
str r3, [sp, #0x38]
|
|
str r2, [sp, #0x3c]
|
|
mov r1, r1, asr #0x10
|
|
movne r5, r6
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [sl, #0x274]
|
|
add r0, sp, #0x34
|
|
str r1, [sp]
|
|
ldr r2, [sl, #0x278]
|
|
add r1, sp, #0
|
|
str r2, [sp, #4]
|
|
ldr r3, [sl, #0x27c]
|
|
mov r2, r0
|
|
str r3, [sp, #8]
|
|
bl func_01ff9bc4
|
|
add r1, sp, #0x34
|
|
mov r0, sl
|
|
bl func_ov39_0217eaa0
|
|
cmp r0, #0
|
|
movne r4, #0
|
|
cmp r5, #0
|
|
mov r6, #1
|
|
cmpne r4, #0
|
|
beq _02181afc
|
|
ldr r0, _02181cc4 ; =data_027e0764
|
|
ldr r2, [r0]
|
|
ldmib r0, {r1, r3}
|
|
umull r5, r4, r3, r2
|
|
mla r4, r3, r1, r4
|
|
ldr r1, [r0, #0xc]
|
|
ldr r3, [r0, #0x10]
|
|
mla r4, r1, r2, r4
|
|
ldr r1, [r0, #0x14]
|
|
adds r2, r3, r5
|
|
adc r1, r1, r4
|
|
str r2, [r0]
|
|
tst r1, #0x80000000
|
|
str r1, [r0, #4]
|
|
movne r6, #0
|
|
b _02181bd4
|
|
_02181afc:
|
|
cmp r5, #0
|
|
cmpeq r4, #0
|
|
bne _02181bcc
|
|
ldr r0, _02181cbc ; =data_027e0f94
|
|
add r3, sp, #0x28
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r0, [sp, #0x28]
|
|
cmp r0, #0
|
|
bge _02181b78
|
|
ldr r0, [sp, #0x30]
|
|
cmp r0, #0
|
|
bge _02181b54
|
|
cmp r7, #0x2000
|
|
blt _02181b4c
|
|
mov r0, r7, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
cmp r0, #0xa000
|
|
movlo r6, #1
|
|
blo _02181bd4
|
|
_02181b4c:
|
|
mov r6, #0
|
|
b _02181bd4
|
|
_02181b54:
|
|
cmp r7, #0x6000
|
|
blt _02181b70
|
|
mov r0, r7, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
cmp r0, #0xe000
|
|
movlo r6, #1
|
|
blo _02181bd4
|
|
_02181b70:
|
|
mov r6, #0
|
|
b _02181bd4
|
|
_02181b78:
|
|
ldr r0, [sp, #0x30]
|
|
cmp r0, #0
|
|
bge _02181ba8
|
|
cmp r7, #0x6000
|
|
blt _02181ba0
|
|
mov r0, r7, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
cmp r0, #0xe000
|
|
movlo r6, #0
|
|
blo _02181bd4
|
|
_02181ba0:
|
|
mov r6, #1
|
|
b _02181bd4
|
|
_02181ba8:
|
|
cmp r7, #0x2000
|
|
blt _02181bc4
|
|
mov r0, r7, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
cmp r0, #0xa000
|
|
movlo r6, #0
|
|
blo _02181bd4
|
|
_02181bc4:
|
|
mov r6, #1
|
|
b _02181bd4
|
|
_02181bcc:
|
|
cmp r5, #0
|
|
movne r6, #0
|
|
_02181bd4:
|
|
mov r0, sl
|
|
bl func_ov39_0217e404
|
|
str r0, [sl, #0x1b4]
|
|
cmp r6, #0
|
|
add r0, sl, #0x3ec
|
|
add r2, sl, #0x100
|
|
beq _02181c04
|
|
add r0, r0, #0x400
|
|
mov r1, #0x14
|
|
strh r8, [r2, #0x64]
|
|
bl func_ov39_0217ca2c
|
|
b _02181c14
|
|
_02181c04:
|
|
add r0, r0, #0x400
|
|
mov r1, #0x13
|
|
strh sb, [r2, #0x64]
|
|
bl func_ov39_0217ca2c
|
|
_02181c14:
|
|
ldr r0, [sl, #0x7fc]
|
|
mov r3, #0
|
|
str r3, [r0, #0x10]
|
|
mov r2, #0x8f
|
|
add r0, sl, #0x100
|
|
strh r7, [r0, #0x66]
|
|
add r1, r2, r2, lsl #3
|
|
str r2, [sl, #0x6c]
|
|
str r3, [sl, #0x60]
|
|
mov r0, r1, asr #0x1
|
|
str r0, [sl, #0x64]
|
|
str r3, [sl, #0x68]
|
|
ldr r0, [sl, #0x158]
|
|
sub r5, r2, #0x90
|
|
orr r0, r0, #0x2400
|
|
bic r1, r0, #0x2000000
|
|
orr r0, r1, #0x4000000
|
|
orr r0, r0, #0x40000
|
|
str r0, [sl, #0x158]
|
|
str r5, [sl, #0x88]
|
|
ldr r0, [sl, #0x284]
|
|
add r4, sp, #0x18
|
|
add r0, r0, #0x7c
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r4, {r0, r1, r2}
|
|
str r5, [sp, #0x24]
|
|
ldr r5, [sl, #0x284]
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, _02181cc8 ; =data_027e0ffc
|
|
str r1, [r5, #0x7c]
|
|
ldr r1, [sp, #0x1c]
|
|
add r2, sl, #0x48
|
|
str r1, [r5, #0x80]
|
|
ldr r4, [sp, #0x20]
|
|
mov r1, #0x324
|
|
str r4, [r5, #0x84]
|
|
ldr r4, [sp, #0x24]
|
|
str r4, [r5, #0x88]
|
|
bl func_ov00_020ceacc
|
|
mov r0, #1
|
|
add sp, sp, #0x40
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0218199c
|
|
_02181cbc: .word data_027e0f94
|
|
_02181cc0: .word 0xffffd555
|
|
_02181cc4: .word data_027e0764
|
|
_02181cc8: .word data_027e0ffc
|
|
|
|
.global func_ov39_02181ccc
|
|
arm_func_start func_ov39_02181ccc
|
|
func_ov39_02181ccc: ; 0x02181ccc
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x18
|
|
mov r5, r0
|
|
ldr r0, [r5, #0x138]
|
|
rsb r0, r0, #9
|
|
mov r4, r0, lsl #0xc
|
|
cmp r4, #0x1000
|
|
movle r0, #0x3800
|
|
ble _02181d08
|
|
ldr r0, [r5, #0x1b4]
|
|
mov r1, r4
|
|
rsb r0, r0, #0x3800
|
|
bl func_01ff98e0
|
|
ldr r1, [r5, #0x1b4]
|
|
add r0, r1, r0
|
|
_02181d08:
|
|
str r0, [r5, #0x1b4]
|
|
add r0, r5, #0x100
|
|
ldrsh r2, [r0, #0x64]
|
|
cmp r4, #0x1000
|
|
strleh r2, [r0, #0x66]
|
|
ble _02181d4c
|
|
ldrsh r0, [r0, #0x66]
|
|
mov r1, r4
|
|
sub r0, r2, r0
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x4
|
|
bl func_01ff98e0
|
|
add r1, r5, #0x100
|
|
ldrsh r2, [r1, #0x66]
|
|
add r0, r0, #0x800
|
|
add r0, r2, r0, asr #12
|
|
strh r0, [r1, #0x66]
|
|
_02181d4c:
|
|
ldr r1, [r5, #0x1b4]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0x100
|
|
str r1, [sp, #0x14]
|
|
ldrsh r1, [r0, #0x66]
|
|
add r0, sp, #0xc
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [r5, #0x274]
|
|
add r0, sp, #0xc
|
|
str r1, [sp]
|
|
ldr r2, [r5, #0x278]
|
|
add r1, sp, #0
|
|
str r2, [sp, #4]
|
|
ldr r3, [r5, #0x27c]
|
|
mov r2, r0
|
|
str r3, [sp, #8]
|
|
bl func_01ff9bc4
|
|
ldr r1, [sp, #0xc]
|
|
ldr r0, [r5, #0x48]
|
|
sub r0, r1, r0
|
|
str r0, [r5, #0x60]
|
|
ldr r1, [r5, #0x64]
|
|
ldr r0, [r5, #0x6c]
|
|
sub r0, r1, r0
|
|
str r0, [r5, #0x64]
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [r5, #0x50]
|
|
sub r0, r1, r0
|
|
str r0, [r5, #0x68]
|
|
ldr r0, [r5, #0x6c]
|
|
cmp r0, #0
|
|
bne _02181df0
|
|
ldr r0, [r5, #0x7fc]
|
|
mov r1, #0x1000
|
|
str r1, [r0, #0x10]
|
|
ldr r1, [r5, #0x7fc]
|
|
ldrh r0, [r1, #0xe]
|
|
bic r0, r0, #0xc
|
|
strh r0, [r1, #0xe]
|
|
_02181df0:
|
|
mov r0, r5
|
|
add r1, r5, #0x60
|
|
bl func_ov39_0217e950
|
|
mov r0, r5
|
|
bl func_ov39_0217e298
|
|
ldr r0, [r5, #0x7fc]
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
addle sp, sp, #0x18
|
|
ldmleia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [r5, #0x158]
|
|
mov r0, r5
|
|
bic r2, r1, #0x8000000
|
|
mov r1, #8
|
|
str r2, [r5, #0x158]
|
|
bl func_ov39_0217d5d4
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end func_ov39_02181ccc
|
|
|
|
.global func_ov39_02181e38
|
|
arm_func_start func_ov39_02181e38
|
|
func_ov39_02181e38: ; 0x02181e38
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, _02181e90 ; =data_027e0ffc
|
|
ldr r1, _02181e94 ; =0x0000031a
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
mov r0, #0
|
|
str r0, [r4, #0x60]
|
|
str r0, [r4, #0x64]
|
|
str r0, [r4, #0x68]
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, #2
|
|
bic r1, r1, #0x800
|
|
orr r2, r1, #0x400000
|
|
bic r1, r2, #0x2000000
|
|
orr r1, r1, #0x4000000
|
|
str r1, [r4, #0x158]
|
|
str r0, [r4, #0x12c]
|
|
mov r0, #1
|
|
strb r0, [r4, #0x911]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02181e38
|
|
_02181e90: .word data_027e0ffc
|
|
_02181e94: .word 0x0000031a
|
|
|
|
.global func_ov39_02181e98
|
|
arm_func_start func_ov39_02181e98
|
|
func_ov39_02181e98: ; 0x02181e98
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x20
|
|
mov r4, r0
|
|
bl func_ov00_020c281c
|
|
cmp r0, #0
|
|
ldrne r0, [r4, #0x158]
|
|
bicne r0, r0, #0x4000000
|
|
strne r0, [r4, #0x158]
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #8
|
|
bgt _02181ecc
|
|
mov r0, r4
|
|
bl func_ov39_0217e298
|
|
_02181ecc:
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #0x1a
|
|
ldreq r0, [r4, #0x158]
|
|
biceq r0, r0, #0x400
|
|
streq r0, [r4, #0x158]
|
|
ldr r0, [r4, #0x1a8]
|
|
cmp r0, #0
|
|
ble _02181efc
|
|
subs r0, r0, #0x52
|
|
str r0, [r4, #0x1a8]
|
|
movmi r0, #0
|
|
strmi r0, [r4, #0x1a8]
|
|
_02181efc:
|
|
ldrsh r0, [r4, #0x78]
|
|
ldr r2, _021820dc ; =data_02050f54
|
|
ldr r3, [r4, #0x1a8]
|
|
add r0, r0, #0x8000
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
mov r0, r0, lsl #0x1
|
|
mov r1, r0, lsl #0x1
|
|
add r0, r0, #1
|
|
ldrsh r1, [r2, r1]
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r0, [r2, r0]
|
|
mul r2, r1, r3
|
|
mul r1, r0, r3
|
|
add r0, r2, #0x800
|
|
mov r2, r0, asr #0xc
|
|
add r0, r1, #0x800
|
|
str r2, [r4, #0x60]
|
|
mov r1, #0
|
|
str r1, [r4, #0x64]
|
|
mov r1, r0, asr #0xc
|
|
mov r0, r4
|
|
str r1, [r4, #0x68]
|
|
add r1, r4, #0x60
|
|
bl func_ov39_0217e950
|
|
ldr r0, [r4, #0x7fc]
|
|
mov r1, #0xc000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02182028
|
|
ldrb r0, [r4, #0xc9c]
|
|
cmp r0, #0
|
|
bne _02182028
|
|
ldr r0, [r4, #0x9f4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x9ec]
|
|
cmp r0, #0x13
|
|
bne _02181fb8
|
|
ldr r2, _021820e0 ; =0xffffd333
|
|
ldr r0, _021820e4 ; =0xffffdccd
|
|
add r1, r2, #0x4000
|
|
str r2, [sp, #0x14]
|
|
str r1, [sp, #0x18]
|
|
str r0, [sp, #0x1c]
|
|
b _02181fd0
|
|
_02181fb8:
|
|
ldr r2, _021820e8 ; =0x000014cd
|
|
ldr r0, _021820ec ; =0xffffe99a
|
|
add r1, r2, #0x1000
|
|
str r2, [sp, #0x14]
|
|
str r1, [sp, #0x18]
|
|
str r0, [sp, #0x1c]
|
|
_02181fd0:
|
|
ldrsh r1, [r4, #0x78]
|
|
add r0, sp, #0x14
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [r4, #0x48]
|
|
add r0, sp, #0x14
|
|
str r1, [sp, #8]
|
|
ldr r2, [r4, #0x4c]
|
|
add r1, sp, #8
|
|
str r2, [sp, #0xc]
|
|
ldr r3, [r4, #0x50]
|
|
mov r2, r0
|
|
str r3, [sp, #0x10]
|
|
bl func_01ff9bc4
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _021820f0 ; =data_027e0e58
|
|
ldr r1, _021820f4 ; =0x0000100b
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x14
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
_02182028:
|
|
ldr r0, [r4, #0x7fc]
|
|
ldr r1, [r0, #0x14]
|
|
cmp r1, #0x10000
|
|
blt _02182074
|
|
cmp r1, #0x11000
|
|
bgt _02182074
|
|
ldr r0, [r4, #0x9f4]
|
|
sub r1, r1, #0x10000
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x9ec]
|
|
mov r2, r1, asr #0xc
|
|
cmp r0, #0x13
|
|
mov r0, r4
|
|
bne _0218206c
|
|
mov r1, #1
|
|
bl func_ov39_0217e5b0
|
|
b _02182074
|
|
_0218206c:
|
|
mov r1, #2
|
|
bl func_ov39_0217e5b0
|
|
_02182074:
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #0xf
|
|
blt _021820a8
|
|
cmp r0, #0x12
|
|
bgt _02182098
|
|
ldr r0, [r4, #0x158]
|
|
orr r0, r0, #0x200000
|
|
str r0, [r4, #0x158]
|
|
b _021820a8
|
|
_02182098:
|
|
cmp r0, #0x13
|
|
ldreq r0, [r4, #0x158]
|
|
biceq r0, r0, #0x400000
|
|
streq r0, [r4, #0x158]
|
|
_021820a8:
|
|
mov r0, r4
|
|
bl func_ov39_0217f4ac
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x20
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
add sp, sp, #0x20
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02181e98
|
|
_021820dc: .word data_02050f54
|
|
_021820e0: .word 0xffffd333
|
|
_021820e4: .word 0xffffdccd
|
|
_021820e8: .word 0x000014cd
|
|
_021820ec: .word 0xffffe99a
|
|
_021820f0: .word data_027e0e58
|
|
_021820f4: .word 0x0000100b
|
|
|
|
.global func_ov39_021820f8
|
|
arm_func_start func_ov39_021820f8
|
|
func_ov39_021820f8: ; 0x021820f8
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x20
|
|
mov r4, r0
|
|
add r0, r4, #0x3bc
|
|
mov r1, #3
|
|
strb r1, [r4, #0x15c]
|
|
add r0, r0, #0x800
|
|
mov r1, #0
|
|
bl func_ov39_02184d40
|
|
ldr r1, [r4, #0x158]
|
|
add r0, r4, #0x3ec
|
|
orr r2, r1, #0x60000
|
|
add r0, r0, #0x400
|
|
mov r1, #0xd
|
|
str r2, [r4, #0x158]
|
|
bl func_ov39_0217ca2c
|
|
mov r0, #0x1e
|
|
str r0, [r4, #0x184]
|
|
mov r1, #0
|
|
str r1, [r4, #0x60]
|
|
str r1, [r4, #0x64]
|
|
mov r0, r4
|
|
str r1, [r4, #0x68]
|
|
bl func_ov39_0217f760
|
|
ldr r1, [r4, #0x158]
|
|
ldr r0, _02182268 ; =0x00001019
|
|
bic r1, r1, #0x2000
|
|
str r1, [r4, #0x158]
|
|
str r0, [r4, #0x28c]
|
|
mov r1, #2
|
|
add r0, r0, #1
|
|
str r1, [r4, #0x290]
|
|
str r0, [r4, #0x298]
|
|
str r1, [r4, #0x29c]
|
|
ldr r1, _0218226c ; =0x00000a66
|
|
mov r0, #0x7b
|
|
str r0, [sp, #0x14]
|
|
str r1, [sp, #0x18]
|
|
add r1, r1, #0xc00
|
|
str r1, [sp, #0x1c]
|
|
ldrsh r1, [r4, #0x78]
|
|
add r0, sp, #0x14
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [r4, #0x48]
|
|
add r0, sp, #0x14
|
|
str r1, [sp, #8]
|
|
ldr r2, [r4, #0x4c]
|
|
add r1, sp, #8
|
|
str r2, [sp, #0xc]
|
|
ldr r3, [r4, #0x50]
|
|
mov r2, r0
|
|
str r3, [sp, #0x10]
|
|
bl func_01ff9bc4
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02182270 ; =data_027e0e58
|
|
ldr r1, _02182274 ; =0x00001018
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x14
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
ldr r0, _02182278 ; =data_027e0ffc
|
|
mov r1, #0xf6
|
|
add r2, sp, #0x14
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
ldr r0, [r4, #0x130]
|
|
cmp r0, #0x10
|
|
bne _02182228
|
|
ldr r0, _0218227c ; =data_027e0f64
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02088000
|
|
b _0218223c
|
|
_02182228:
|
|
ldr r0, _0218227c ; =data_027e0f64
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02088000
|
|
_0218223c:
|
|
ldr r0, _02182280 ; =data_ov29_0217a4ac
|
|
ldrb r1, [r0, #0x54]
|
|
cmp r1, #0
|
|
beq _02182254
|
|
mov r1, #0
|
|
bl func_ov29_0216d930
|
|
_02182254:
|
|
ldr r1, _02182280 ; =data_ov29_0217a4ac
|
|
mov r0, #1
|
|
strb r0, [r1, #0x56]
|
|
add sp, sp, #0x20
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021820f8
|
|
_02182268: .word 0x00001019
|
|
_0218226c: .word 0x00000a66
|
|
_02182270: .word data_027e0e58
|
|
_02182274: .word 0x00001018
|
|
_02182278: .word data_027e0ffc
|
|
_0218227c: .word data_027e0f64
|
|
_02182280: .word data_ov29_0217a4ac
|
|
|
|
.global func_ov39_02182284
|
|
arm_func_start func_ov39_02182284
|
|
func_ov39_02182284: ; 0x02182284
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0xc
|
|
mov r4, r0
|
|
bl func_ov39_0217f10c
|
|
mov r0, r4
|
|
bl func_ov39_0217f278
|
|
ldr r0, _021823e8 ; =data_027e0fb8
|
|
ldr r0, [r0]
|
|
bl func_ov00_020b134c
|
|
cmp r0, #0
|
|
beq _021822c8
|
|
ldr r0, _021823ec ; =data_027e0fc8
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bc210
|
|
ldr r0, [r4, #0x184]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x184]
|
|
_021822c8:
|
|
ldr r0, [r4, #0x184]
|
|
cmp r0, #0
|
|
bgt _0218233c
|
|
ldr r0, _021823ec ; =data_027e0fc8
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
bl func_ov00_020bc280
|
|
bl func_ov39_0218240c
|
|
mov r1, #0
|
|
ldr r3, _021823f0 ; =data_027e0f94
|
|
mov r2, r1
|
|
bl func_ov05_02106980
|
|
bl func_ov39_0217e288
|
|
mov r1, #0xf6
|
|
mov r2, #0x1800
|
|
bl func_ov00_020bf008
|
|
ldr r0, _021823f4 ; =data_027e0ffc
|
|
ldr r1, _021823f8 ; =0x000001bd
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
ldr r2, _021823fc ; =data_ov29_0217a4ac
|
|
mov r3, #0
|
|
mov r0, r4
|
|
mov r1, #0xb
|
|
strb r3, [r2, #0x56]
|
|
bl func_ov39_0217d5d4
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, pc}
|
|
_0218233c:
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #0x96
|
|
addle sp, sp, #0xc
|
|
ldmleia sp!, {r3, r4, pc}
|
|
ldrh r2, [r4, #0x78]
|
|
ldr r0, _021823ec ; =data_027e0fc8
|
|
mov r1, #0
|
|
mov r2, r2, asr #0x4
|
|
mov r3, r2, lsl #0x1
|
|
add r2, r3, #1
|
|
ldr ip, _02182400 ; =data_02050f54
|
|
mov r3, r3, lsl #0x1
|
|
mov r2, r2, lsl #0x1
|
|
ldrsh r3, [ip, r3]
|
|
ldrsh r2, [ip, r2]
|
|
ldr r0, [r0]
|
|
str r3, [sp]
|
|
str r1, [sp, #4]
|
|
str r2, [sp, #8]
|
|
bl func_ov00_020bc280
|
|
ldr r0, _02182404 ; =data_027e0f90
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
add r2, sp, #0
|
|
ldr ip, [r0]
|
|
mov r3, r1
|
|
ldr ip, [ip, #0x30]
|
|
blx ip
|
|
mov r0, r4
|
|
bl func_ov39_0217fbc8
|
|
ldr r0, _02182408 ; =data_ov29_0217bd28
|
|
ldr r2, _021823fc ; =data_ov29_0217a4ac
|
|
ldr r1, [r0]
|
|
mov r3, #0
|
|
cmp r1, #0
|
|
movne r0, #0
|
|
strneb r0, [r1, #0x25c]
|
|
mov r0, r4
|
|
mov r1, #0xa
|
|
strb r3, [r2, #0x56]
|
|
bl func_ov39_0217d5d4
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02182284
|
|
_021823e8: .word data_027e0fb8
|
|
_021823ec: .word data_027e0fc8
|
|
_021823f0: .word data_027e0f94
|
|
_021823f4: .word data_027e0ffc
|
|
_021823f8: .word 0x000001bd
|
|
_021823fc: .word data_ov29_0217a4ac
|
|
_02182400: .word data_02050f54
|
|
_02182404: .word data_027e0f90
|
|
_02182408: .word data_ov29_0217bd28
|
|
|
|
.global func_ov39_0218240c
|
|
arm_func_start func_ov39_0218240c
|
|
func_ov39_0218240c: ; 0x0218240c
|
|
ldr ip, _02182418 ; =func_01fffcd8
|
|
mov r0, #1
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0218240c
|
|
_02182418: .word func_01fffcd8
|
|
|
|
.global func_ov39_0218241c
|
|
arm_func_start func_ov39_0218241c
|
|
func_ov39_0218241c: ; 0x0218241c
|
|
stmdb sp!, {r3, lr}
|
|
add r0, r0, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0xe
|
|
bl func_ov39_0217ca2c
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end func_ov39_0218241c
|
|
|
|
.global func_ov39_02182438
|
|
arm_func_start func_ov39_02182438
|
|
func_ov39_02182438: ; 0x02182438
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl func_ov39_0217f4ac
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #2
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02182438
|
|
|
|
.global func_ov39_02182468
|
|
arm_func_start func_ov39_02182468
|
|
func_ov39_02182468: ; 0x02182468
|
|
stmdb sp!, {r3, lr}
|
|
add r0, r0, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0x15
|
|
bl func_ov39_0217ca2c
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end func_ov39_02182468
|
|
|
|
.global func_ov39_02182484
|
|
arm_func_start func_ov39_02182484
|
|
func_ov39_02182484: ; 0x02182484
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl func_ov39_0217e298
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02182484
|
|
|
|
.global func_ov39_021824b4
|
|
arm_func_start func_ov39_021824b4
|
|
func_ov39_021824b4: ; 0x021824b4
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0xbc
|
|
mov r4, r0
|
|
ldr r0, _021825b0 ; =data_027e0ffc
|
|
add r2, r4, #0x48
|
|
mov r1, #0x320
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
ldr r0, [r4, #0x4c]
|
|
ldr r3, [r4, #0x50]
|
|
ldr r1, [r4, #0x48]
|
|
add r0, r0, #0x33
|
|
add r2, r0, #0x1300
|
|
add r0, sp, #0
|
|
str r1, [sp]
|
|
str r2, [sp, #4]
|
|
str r3, [sp, #8]
|
|
bl func_ov00_020c71fc
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0x16
|
|
bl func_ov39_0217ca2c
|
|
mov r0, r4
|
|
mov r1, #7
|
|
bl func_ov39_0218599c
|
|
ldr r0, [r4, #0x158]
|
|
orr r0, r0, #0x400
|
|
str r0, [r4, #0x158]
|
|
tst r0, #0x4000
|
|
bne _021825a4
|
|
add r0, sp, #0xc
|
|
bl func_ov00_0209a4f4
|
|
mov r1, #0
|
|
ldr r0, _021825b4 ; =data_027e0f64
|
|
mov r2, #0x32
|
|
mvn r3, #0
|
|
strb r2, [sp, #0x15]
|
|
ldr r0, [r0]
|
|
strb r1, [sp, #0x16]
|
|
strb r1, [sp, #0x17]
|
|
str r3, [sp, #0x10]
|
|
ldr r3, [r0, #4]
|
|
ldr r0, _021825b8 ; =data_027e0f74
|
|
ldr r1, [r3, #0x26c]
|
|
ldr r0, [r0]
|
|
str r1, [sp, #0x2c]
|
|
ldr r1, [r3, #0x270]
|
|
mov r2, #1
|
|
str r1, [sp, #0x30]
|
|
ldr r3, [r3, #0x274]
|
|
add r1, sp, #0xc
|
|
str r3, [sp, #0x34]
|
|
strb r2, [sp, #0x22]
|
|
bl func_ov00_02097810
|
|
str r0, [r4, #0x190]
|
|
ldr r1, [r4, #0x158]
|
|
add r0, sp, #0xc
|
|
orr r1, r1, #0x200
|
|
str r1, [r4, #0x158]
|
|
bl func_ov00_0209a508
|
|
_021825a4:
|
|
mov r0, #1
|
|
add sp, sp, #0xbc
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021824b4
|
|
_021825b0: .word data_027e0ffc
|
|
_021825b4: .word data_027e0f64
|
|
_021825b8: .word data_027e0f74
|
|
|
|
.global func_ov39_021825bc
|
|
arm_func_start func_ov39_021825bc
|
|
func_ov39_021825bc: ; 0x021825bc
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #0xd
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_021825bc
|
|
|
|
.global func_ov39_021825e8
|
|
arm_func_start func_ov39_021825e8
|
|
func_ov39_021825e8: ; 0x021825e8
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x158]
|
|
mov r1, #0x17
|
|
tst r0, #0x4000
|
|
ldreq r0, [r4, #0x158]
|
|
orreq r0, r0, #0x200
|
|
streq r0, [r4, #0x158]
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
bl func_ov39_0217ca2c
|
|
ldr r0, _02182670 ; =data_027e0e60
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
mov r2, r1
|
|
mov r3, #0
|
|
bl func_ov00_02084b38
|
|
ldr r0, _02182670 ; =data_027e0e60
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl func_ov00_02084b38
|
|
mov r0, r4
|
|
mov r1, #8
|
|
mov r2, #7
|
|
mov r3, #1
|
|
bl func_ov39_0217ec34
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, #1
|
|
orr r1, r1, #0x400
|
|
bic r1, r1, #0x100
|
|
str r1, [r4, #0x158]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021825e8
|
|
_02182670: .word data_027e0e60
|
|
|
|
.global func_ov39_02182674
|
|
arm_func_start func_ov39_02182674
|
|
func_ov39_02182674: ; 0x02182674
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0xc
|
|
ldr r1, _021827a8 ; =data_027e0f74
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
ldr r1, [r4, #0x190]
|
|
bl func_ov00_02097b9c
|
|
cmp r0, #0
|
|
beq _021826e4
|
|
mov r1, #0
|
|
mov r0, r4
|
|
str r1, [r4, #0x138]
|
|
bl func_ov39_0217f488
|
|
cmp r0, #0
|
|
bne _021826e4
|
|
ldr r1, [r4, #0x158]
|
|
ldr r0, _021827a8 ; =data_027e0f74
|
|
orr r1, r1, #0x4000
|
|
str r1, [r4, #0x158]
|
|
ldr r0, [r0]
|
|
ldr r1, [r4, #0x190]
|
|
bl func_ov00_02097bcc
|
|
mvn r1, #0
|
|
mov r0, r4
|
|
str r1, [r4, #0x190]
|
|
mov r1, #1
|
|
strb r1, [r4, #0xca9]
|
|
bl func_ov39_0217f6dc
|
|
_021826e4:
|
|
ldr r0, _021827ac ; =data_ov29_0217bd28
|
|
ldr r3, [r0]
|
|
cmp r3, #0
|
|
addeq sp, sp, #0xc
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x100
|
|
bne _0218273c
|
|
ldr r0, [r4, #0x280]
|
|
add ip, sp, #0
|
|
add r0, r0, #0x48
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia ip, {r0, r1, r2}
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [sp]
|
|
add r1, r1, #0x800
|
|
str r1, [sp, #4]
|
|
str r0, [r3, #0x48]
|
|
ldr r0, [sp, #4]
|
|
str r0, [r3, #0x4c]
|
|
ldr r0, [sp, #8]
|
|
str r0, [r3, #0x50]
|
|
_0218273c:
|
|
ldr r0, [r4, #0xca0]
|
|
cmp r0, #9
|
|
addne sp, sp, #0xc
|
|
ldmneia sp!, {r3, r4, pc}
|
|
ldr r0, [r4, #0xa14]
|
|
mov r1, #0x1d000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
addeq sp, sp, #0xc
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
ldr r0, _021827ac ; =data_ov29_0217bd28
|
|
ldr r0, [r0]
|
|
bl func_ov29_02177d90
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x8000
|
|
ldreq r0, [r4, #0x158]
|
|
orreq r0, r0, #0x8000
|
|
streq r0, [r4, #0x158]
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, r4
|
|
orr r2, r1, #0x100
|
|
mov r1, #0xe
|
|
str r2, [r4, #0x158]
|
|
bl func_ov39_0217d5d4
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02182674
|
|
_021827a8: .word data_027e0f74
|
|
_021827ac: .word data_ov29_0217bd28
|
|
|
|
.global func_ov39_021827b0
|
|
arm_func_start func_ov39_021827b0
|
|
func_ov39_021827b0: ; 0x021827b0
|
|
mov r0, #1
|
|
bx lr
|
|
arm_func_end func_ov39_021827b0
|
|
|
|
.global func_ov39_021827b8
|
|
arm_func_start func_ov39_021827b8
|
|
func_ov39_021827b8: ; 0x021827b8
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _02182828 ; =data_ov29_0217bd28
|
|
mov r4, r0
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x9f4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x9ec]
|
|
cmp r0, #0x17
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bne _0218280c
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0x18
|
|
bl func_ov39_0217ca2c
|
|
ldmia sp!, {r4, pc}
|
|
_0218280c:
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021827b8
|
|
_02182828: .word data_ov29_0217bd28
|
|
|
|
.global func_ov39_0218282c
|
|
arm_func_start func_ov39_0218282c
|
|
func_ov39_0218282c: ; 0x0218282c
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0x18
|
|
bl func_ov39_0217caf0
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, #1
|
|
orr r1, r1, #0x400
|
|
str r1, [r4, #0x158]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0218282c
|
|
|
|
.global func_ov39_02182858
|
|
arm_func_start func_ov39_02182858
|
|
func_ov39_02182858: ; 0x02182858
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl func_ov39_0217f4ac
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02182858
|
|
|
|
.global func_ov39_02182888
|
|
arm_func_start func_ov39_02182888
|
|
func_ov39_02182888: ; 0x02182888
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl func_ov39_0217fa40
|
|
ldr r0, _02182944 ; =data_027e0ffc
|
|
ldr r1, _02182948 ; =0x0000031e
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0x1a
|
|
bl func_ov39_0217ca2c
|
|
mov r0, r4
|
|
add r1, r4, #0x100
|
|
mov r2, #0
|
|
strh r2, [r1, #0x5e]
|
|
bl func_ov00_020c2974
|
|
add r1, r4, #0x100
|
|
strh r0, [r1, #0x60]
|
|
mov r1, #0
|
|
add r0, r4, #0x3bc
|
|
str r1, [r4, #0x1a8]
|
|
mov r2, #3
|
|
strb r2, [r4, #0x15c]
|
|
add r0, r0, #0x800
|
|
bl func_ov39_02184d40
|
|
ldr r0, [r4, #0x158]
|
|
mov r2, #0x2000
|
|
orr r0, r0, #0x40000
|
|
orr r0, r0, #0x400
|
|
str r0, [r4, #0x158]
|
|
ldr r0, _0218294c ; =0x00001b33
|
|
str r2, [r4, #0x88]
|
|
str r0, [r4, #0x1ac]
|
|
mov r1, #0
|
|
str r1, [r4, #0x60]
|
|
str r1, [r4, #0x64]
|
|
str r1, [r4, #0x68]
|
|
sub r0, r2, #0xfe0
|
|
str r0, [r4, #0x28c]
|
|
mov r1, #2
|
|
ldr r0, _02182950 ; =0x00001021
|
|
str r1, [r4, #0x290]
|
|
str r0, [r4, #0x298]
|
|
str r1, [r4, #0x29c]
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02182888
|
|
_02182944: .word data_027e0ffc
|
|
_02182948: .word 0x0000031e
|
|
_0218294c: .word 0x00001b33
|
|
_02182950: .word 0x00001021
|
|
|
|
.global func_ov39_02182954
|
|
arm_func_start func_ov39_02182954
|
|
func_ov39_02182954: ; 0x02182954
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x44
|
|
mov r5, r0
|
|
ldrb r0, [r5, #0xc9c]
|
|
cmp r0, #0
|
|
beq _02182984
|
|
add r0, r5, #0x288
|
|
bl func_ov00_020b7e6c
|
|
add r0, r5, #0x294
|
|
bl func_ov00_020b7e6c
|
|
add sp, sp, #0x44
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02182984:
|
|
add r0, r5, #0x154
|
|
add r0, r0, #0x400
|
|
bl func_ov00_020c5e20
|
|
add r0, r5, #0x6a0
|
|
bl func_ov00_020c5e20
|
|
ldr r0, [r5, #0x138]
|
|
cmp r0, #0x96
|
|
ble _02182b08
|
|
ldr r2, _02182f20 ; =0x0000011f
|
|
add r0, r5, #0x1e4
|
|
mov r1, #0
|
|
bl func_0202b0f4
|
|
add r0, r5, #0x5e
|
|
add r0, r0, #0x100
|
|
mov r1, #0
|
|
mov r2, #0x320
|
|
bl func_0202b154
|
|
add r0, r5, #0x1a8
|
|
mov r1, #0
|
|
mov r2, #0xcd
|
|
bl func_0202b0f4
|
|
add r0, r5, #0x100
|
|
ldrh r0, [r0, #0x60]
|
|
ldr r2, _02182f24 ; =data_02050f54
|
|
ldr ip, [r5, #0x1a8]
|
|
mov r0, r0, asr #0x4
|
|
mov r0, r0, lsl #0x1
|
|
mov r1, r0, lsl #0x1
|
|
add r0, r0, #1
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r1, [r2, r1]
|
|
ldrsh r0, [r2, r0]
|
|
smull r2, r3, r1, ip
|
|
adds r4, r2, #0x800
|
|
smull r2, r1, r0, ip
|
|
adc r3, r3, #0
|
|
adds r0, r2, #0x800
|
|
mov r2, r4, lsr #0xc
|
|
orr r2, r2, r3, lsl #20
|
|
str r2, [r5, #0x60]
|
|
mov r3, #0
|
|
mov r2, r0, lsr #0xc
|
|
adc r1, r1, #0
|
|
orr r2, r2, r1, lsl #20
|
|
str r3, [r5, #0x64]
|
|
mov r0, r5
|
|
add r1, r5, #0x60
|
|
str r2, [r5, #0x68]
|
|
bl func_ov39_0217e950
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
strne r0, [r5, #0x1a8]
|
|
ldr r0, [r5, #0x60]
|
|
ldr r1, [r5, #0x68]
|
|
bl func_01ffa0f4
|
|
add r1, r5, #0x100
|
|
strh r0, [r1, #0x60]
|
|
ldrsh r1, [r1, #0x5e]
|
|
cmp r1, #0
|
|
ldreq r0, [r5, #0x1a8]
|
|
cmpeq r0, #0
|
|
bne _02182af8
|
|
ldr r0, [r5, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02182e2c
|
|
ldr r0, _02182f28 ; =data_027e0f64
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
bl func_ov00_020875f8
|
|
ldr r0, [r5, #0x48]
|
|
mov r1, #1
|
|
str r0, [sp, #0x20]
|
|
ldr r2, [r5, #0x4c]
|
|
ldr r0, _02182f28 ; =data_027e0f64
|
|
str r2, [sp, #0x24]
|
|
ldr r3, [r5, #0x50]
|
|
add r2, sp, #0x20
|
|
str r3, [sp, #0x28]
|
|
str r1, [sp]
|
|
ldr r0, [r0]
|
|
ldrsh r3, [r5, #0x78]
|
|
ldr r0, [r0, #8]
|
|
mov r1, #0x55
|
|
bl func_ov00_02087584
|
|
mov r2, #0x64
|
|
mov r0, r5
|
|
mov r1, #0
|
|
str r2, [r5, #0x19c]
|
|
bl func_ov39_0217d5d4
|
|
b _02182e2c
|
|
_02182af8:
|
|
ldrsh r0, [r5, #0x78]
|
|
add r0, r0, r1
|
|
strh r0, [r5, #0x78]
|
|
b _02182e2c
|
|
_02182b08:
|
|
ldr r1, [r5, #0x7fc]
|
|
ldr r0, [r1, #0x10]
|
|
cmp r0, #0
|
|
beq _02182bc0
|
|
add r0, r1, #0xc
|
|
mov r1, #0xf000
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02182bac
|
|
ldrb r0, [r5, #0xc9c]
|
|
cmp r0, #0
|
|
bne _02182bac
|
|
mov r2, #0x800
|
|
ldr r0, _02182f2c ; =0xffffd333
|
|
ldr r1, _02182f30 ; =0x000014cd
|
|
rsb r2, r2, #0
|
|
str r0, [sp, #0x40]
|
|
str r2, [sp, #0x38]
|
|
str r1, [sp, #0x3c]
|
|
ldrsh r1, [r5, #0x78]
|
|
add r0, sp, #0x38
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [r5, #0x48]
|
|
add r0, sp, #0x38
|
|
str r1, [sp, #0x14]
|
|
ldr r2, [r5, #0x4c]
|
|
add r1, sp, #0x14
|
|
str r2, [sp, #0x18]
|
|
ldr r3, [r5, #0x50]
|
|
mov r2, r0
|
|
str r3, [sp, #0x1c]
|
|
bl func_01ff9bc4
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02182f34 ; =data_027e0e58
|
|
ldr r1, _02182f38 ; =0x0000100d
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x38
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
_02182bac:
|
|
ldr r1, [r5, #0x7fc]
|
|
ldr r0, [r1, #0x14]
|
|
cmp r0, #0x1e000
|
|
moveq r0, #0
|
|
streq r0, [r1, #0x10]
|
|
_02182bc0:
|
|
ldr r0, [r5, #0x138]
|
|
cmp r0, #0x17
|
|
blt _02182e24
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r3, [r5, #8]
|
|
ldr r0, _02182f3c ; =data_027e0ffc
|
|
ldr r1, _02182f40 ; =0x0000031f
|
|
add r2, r5, #0x48
|
|
bl func_ov00_020cec60
|
|
ldr r1, _02182f44 ; =0x00001666
|
|
ldr r2, _02182f20 ; =0x0000011f
|
|
add r0, r5, #0x1e4
|
|
bl func_0202b0f4
|
|
add r0, r5, #0x5e
|
|
ldr r1, _02182f48 ; =0x0000251c
|
|
add r0, r0, #0x100
|
|
mov r2, #0x384
|
|
bl func_0202b154
|
|
ldr r0, [r5, #0x7fc]
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0
|
|
bne _02182ccc
|
|
add r0, r5, #0x1a8
|
|
mov r1, #0x400
|
|
mov r2, #0xcd
|
|
bl func_0202b0f4
|
|
ldr r0, [r5, #0x16c]
|
|
cmp r0, #0
|
|
mov r0, r5
|
|
beq _02182cb8
|
|
bl func_ov00_020c2974
|
|
ldr r1, [r5, #0x16c]
|
|
mov r4, r0
|
|
mov r1, r1, lsl #0xc
|
|
add r0, r5, #0x100
|
|
cmp r1, #0x1000
|
|
strleh r4, [r0, #0x60]
|
|
ble _02182c84
|
|
ldrsh r0, [r0, #0x60]
|
|
sub r0, r4, r0
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x4
|
|
bl func_01ff98e0
|
|
add r1, r5, #0x100
|
|
ldrsh r2, [r1, #0x60]
|
|
add r0, r0, #0x800
|
|
add r0, r2, r0, asr #12
|
|
strh r0, [r1, #0x60]
|
|
_02182c84:
|
|
add r0, r5, #0x100
|
|
ldrsh r0, [r0, #0x60]
|
|
subs r1, r0, r4
|
|
ldr r0, _02182f4c ; =0x00000222
|
|
rsbmi r1, r1, #0
|
|
cmp r1, r0
|
|
movlt r0, #0
|
|
strlt r0, [r5, #0x16c]
|
|
blt _02182ccc
|
|
ldr r0, [r5, #0x16c]
|
|
sub r0, r0, #1
|
|
str r0, [r5, #0x16c]
|
|
b _02182ccc
|
|
_02182cb8:
|
|
bl func_ov00_020c2974
|
|
mov r1, r0
|
|
add r0, r5, #0x160
|
|
mov r2, #0x12c
|
|
bl func_0202b154
|
|
_02182ccc:
|
|
add r0, r5, #0x100
|
|
ldrh r0, [r0, #0x60]
|
|
ldr r2, _02182f24 ; =data_02050f54
|
|
ldr ip, [r5, #0x1a8]
|
|
mov r0, r0, asr #0x4
|
|
mov r0, r0, lsl #0x1
|
|
mov r1, r0, lsl #0x1
|
|
ldrsh r1, [r2, r1]
|
|
add r0, r0, #1
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r0, [r2, r0]
|
|
smull r2, r3, r1, ip
|
|
adds r4, r2, #0x800
|
|
smull r2, r1, r0, ip
|
|
adc r0, r3, #0
|
|
mov r3, r4, lsr #0xc
|
|
orr r3, r3, r0, lsl #20
|
|
adds r2, r2, #0x800
|
|
str r3, [r5, #0x60]
|
|
mov r3, #0
|
|
adc r0, r1, #0
|
|
mov r1, r2, lsr #0xc
|
|
str r3, [r5, #0x64]
|
|
orr r1, r1, r0, lsl #20
|
|
str r1, [r5, #0x68]
|
|
ldr r0, [r5, #0x60]
|
|
str r0, [sp, #0x2c]
|
|
ldr r1, [r5, #0x64]
|
|
cmp r0, #0
|
|
str r1, [sp, #0x30]
|
|
ldr r0, [r5, #0x68]
|
|
cmpeq r1, #0
|
|
str r0, [sp, #0x34]
|
|
cmpeq r0, #0
|
|
beq _02182d98
|
|
add r0, sp, #0x2c
|
|
mov r1, r0
|
|
bl func_01ff9d4c
|
|
add r0, sp, #0x2c
|
|
mov r1, #0x1000
|
|
bl func_01fffbec
|
|
ldr r1, [r5, #0x60]
|
|
add r0, sp, #0x2c
|
|
str r1, [sp, #8]
|
|
ldr r2, [r5, #0x64]
|
|
add r1, sp, #8
|
|
str r2, [sp, #0xc]
|
|
ldr r3, [r5, #0x68]
|
|
mov r2, r0
|
|
str r3, [sp, #0x10]
|
|
bl func_01ff9bc4
|
|
_02182d98:
|
|
add r1, sp, #0x2c
|
|
mov r0, r5
|
|
bl func_ov39_0217e9dc
|
|
tst r0, #3
|
|
ldrne r1, [r5, #0x60]
|
|
rsbne r1, r1, #0
|
|
strne r1, [r5, #0x60]
|
|
tst r0, #0xc
|
|
ldrne r0, [r5, #0x68]
|
|
rsbne r0, r0, #0
|
|
strne r0, [r5, #0x68]
|
|
ldr r0, [r5, #0x1a8]
|
|
cmp r0, #0
|
|
beq _02182de4
|
|
ldr r0, [r5, #0x60]
|
|
ldr r1, [r5, #0x68]
|
|
bl func_01ffa0f4
|
|
add r1, r5, #0x100
|
|
strh r0, [r1, #0x60]
|
|
_02182de4:
|
|
add r0, r5, #0x100
|
|
ldrsh r2, [r5, #0x78]
|
|
ldrsh r1, [r0, #0x5e]
|
|
add r1, r2, r1
|
|
strh r1, [r5, #0x78]
|
|
ldrsh r0, [r0, #0x5e]
|
|
ldr r1, [r5, #0x1a4]
|
|
add r0, r1, r0
|
|
str r0, [r5, #0x1a4]
|
|
ldr r0, [r5, #0x138]
|
|
cmp r0, #0x96
|
|
bne _02182e2c
|
|
ldr r0, [r5, #0x7fc]
|
|
mov r1, #0x1000
|
|
str r1, [r0, #0x10]
|
|
b _02182e2c
|
|
_02182e24:
|
|
mov r0, r5
|
|
bl func_ov39_0217e298
|
|
_02182e2c:
|
|
ldr r1, [r5, #0x1e4]
|
|
ldr r0, _02182f44 ; =0x00001666
|
|
cmp r1, r0
|
|
bne _02182ef4
|
|
ldr r0, [r5, #0x158]
|
|
tst r0, #0x1000000
|
|
bne _02182e84
|
|
mov r0, #0
|
|
str r0, [r5, #0x1a4]
|
|
add r0, r5, #0x78
|
|
ldr r1, _02182f50 ; =func_ov39_0217bdb4
|
|
str r0, [sp]
|
|
ldr r0, _02182f34 ; =data_027e0e58
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r1, _02182f54 ; =0x0000103e
|
|
add r2, r5, #0x48
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
ldr r0, [r5, #0x158]
|
|
orr r0, r0, #0x1000000
|
|
str r0, [r5, #0x158]
|
|
_02182e84:
|
|
ldr r0, _02182f34 ; =data_027e0e58
|
|
add r1, r5, #0x288
|
|
ldr r0, [r0]
|
|
add r2, r5, #0x48
|
|
bl func_ov00_0207c474
|
|
ldr r0, _02182f34 ; =data_027e0e58
|
|
add r1, r5, #0x294
|
|
ldr r0, [r0]
|
|
add r2, r5, #0x48
|
|
bl func_ov00_0207c474
|
|
ldr r0, [r5, #0x1a4]
|
|
cmp r0, #0x10000
|
|
addlt sp, sp, #0x44
|
|
ldmltia sp!, {r4, r5, pc}
|
|
sub r0, r0, #0x10000
|
|
str r0, [r5, #0x1a4]
|
|
add r0, r5, #0x78
|
|
str r0, [sp]
|
|
ldr r1, _02182f50 ; =func_ov39_0217bdb4
|
|
ldr r0, _02182f34 ; =data_027e0e58
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
ldr r1, _02182f54 ; =0x0000103e
|
|
add r2, r5, #0x48
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
add sp, sp, #0x44
|
|
ldmia sp!, {r4, r5, pc}
|
|
_02182ef4:
|
|
mov r1, #0
|
|
add r0, r5, #0x288
|
|
str r1, [r5, #0x1a4]
|
|
bl func_ov00_020b7e6c
|
|
add r0, r5, #0x294
|
|
bl func_ov00_020b7e6c
|
|
ldr r0, [r5, #0x158]
|
|
bic r0, r0, #0x1000000
|
|
str r0, [r5, #0x158]
|
|
add sp, sp, #0x44
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02182954
|
|
_02182f20: .word 0x0000011f
|
|
_02182f24: .word data_02050f54
|
|
_02182f28: .word data_027e0f64
|
|
_02182f2c: .word 0xffffd333
|
|
_02182f30: .word 0x000014cd
|
|
_02182f34: .word data_027e0e58
|
|
_02182f38: .word 0x0000100d
|
|
_02182f3c: .word data_027e0ffc
|
|
_02182f40: .word 0x0000031f
|
|
_02182f44: .word 0x00001666
|
|
_02182f48: .word 0x0000251c
|
|
_02182f4c: .word 0x00000222
|
|
_02182f50: .word func_ov39_0217bdb4
|
|
_02182f54: .word 0x0000103e
|
|
|
|
.global func_ov39_02182f58
|
|
arm_func_start func_ov39_02182f58
|
|
func_ov39_02182f58: ; 0x02182f58
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r4, r0
|
|
bl func_ov00_020c2974
|
|
strh r0, [r4, #0x78]
|
|
ldrsh r2, [r4, #0x78]
|
|
add r1, r4, #0x100
|
|
ldr ip, _02182ff4 ; =data_02050f54
|
|
add r2, r2, #0x8000
|
|
strh r2, [r1, #0x60]
|
|
ldrh r2, [r1, #0x60]
|
|
ldr r0, _02182ff8 ; =0x00000666
|
|
add r1, r4, #0x3ec
|
|
mov r2, r2, asr #0x4
|
|
mov r2, r2, lsl #0x1
|
|
mov r3, r2, lsl #0x1
|
|
add r2, r2, #1
|
|
mov r2, r2, lsl #0x1
|
|
ldrsh r3, [ip, r3]
|
|
ldrsh r2, [ip, r2]
|
|
str r0, [r4, #0x1a8]
|
|
smull ip, lr, r3, r0
|
|
adds r5, ip, #0x800
|
|
smull ip, r3, r2, r0
|
|
adc lr, lr, #0
|
|
adds r2, ip, #0x800
|
|
mov r5, r5, lsr #0xc
|
|
orr r5, r5, lr, lsl #20
|
|
str r5, [r4, #0x60]
|
|
mov ip, #0
|
|
adc r0, r3, #0
|
|
mov r2, r2, lsr #0xc
|
|
orr r2, r2, r0, lsl #20
|
|
str ip, [r4, #0x64]
|
|
add r0, r1, #0x400
|
|
mov r1, #0x19
|
|
str r2, [r4, #0x68]
|
|
bl func_ov39_0217ca2c
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02182f58
|
|
_02182ff4: .word data_02050f54
|
|
_02182ff8: .word 0x00000666
|
|
|
|
.global func_ov39_02182ffc
|
|
arm_func_start func_ov39_02182ffc
|
|
func_ov39_02182ffc: ; 0x02182ffc
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl func_ov39_0217f4ac
|
|
mov r0, r4
|
|
bl func_ov39_0217e298
|
|
add r0, r4, #0x1a8
|
|
mov r1, #0
|
|
mov r2, #0x7b
|
|
bl func_0202b0f4
|
|
add r0, r4, #0x100
|
|
ldrh r0, [r0, #0x60]
|
|
ldr r2, _021830d4 ; =data_02050f54
|
|
ldr lr, [r4, #0x1a8]
|
|
mov r0, r0, asr #0x4
|
|
mov r0, r0, lsl #0x1
|
|
mov r1, r0, lsl #0x1
|
|
add r0, r0, #1
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r1, [r2, r1]
|
|
ldrsh r0, [r2, r0]
|
|
smull r2, r3, r1, lr
|
|
adds ip, r2, #0x800
|
|
smull r2, r1, r0, lr
|
|
adc r3, r3, #0
|
|
adds r0, r2, #0x800
|
|
mov r2, ip, lsr #0xc
|
|
orr r2, r2, r3, lsl #20
|
|
str r2, [r4, #0x60]
|
|
mov r3, #0
|
|
mov r2, r0, lsr #0xc
|
|
adc r1, r1, #0
|
|
orr r2, r2, r1, lsl #20
|
|
str r3, [r4, #0x64]
|
|
mov r0, r4
|
|
add r1, r4, #0x60
|
|
str r2, [r4, #0x68]
|
|
bl func_ov39_0217e950
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
strne r0, [r4, #0x1a8]
|
|
ldr r0, [r4, #0x60]
|
|
ldr r1, [r4, #0x68]
|
|
bl func_01ffa0f4
|
|
add r1, r4, #0x100
|
|
strh r0, [r1, #0x60]
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02182ffc
|
|
_021830d4: .word data_02050f54
|
|
|
|
.global func_ov39_021830d8
|
|
arm_func_start func_ov39_021830d8
|
|
func_ov39_021830d8: ; 0x021830d8
|
|
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_ov39_021830d8
|
|
|
|
.global func_ov39_021831d8
|
|
arm_func_start func_ov39_021831d8
|
|
func_ov39_021831d8: ; 0x021831d8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r4, r0
|
|
ldr r1, [r4, #0x174]
|
|
ldr r0, _021832bc ; =data_027e0f90
|
|
add r1, r1, #1
|
|
str r1, [r4, #0x174]
|
|
ldr r0, [r0]
|
|
bl func_ov00_020a7cfc
|
|
add r1, r4, #0x100
|
|
ldrsh r2, [r1, #0x20]
|
|
add r0, r2, r0
|
|
strh r0, [r1, #0x20]
|
|
ldrsh r0, [r1, #0x20]
|
|
cmp r0, #0xc8
|
|
blt _0218321c
|
|
ldr r0, _021832c0 ; =data_ov29_0217a4ac
|
|
bl func_ov09_02113698
|
|
_0218321c:
|
|
mov r0, #3
|
|
str r0, [r4, #0x16c]
|
|
ldr r0, [r4, #0x48]
|
|
ldr r3, _021832c4 ; =data_02050f54
|
|
str r0, [r4, #0x214]
|
|
ldr r0, [r4, #0x4c]
|
|
ldr r1, _021832c8 ; =0x00000666
|
|
str r0, [r4, #0x218]
|
|
ldr r0, [r4, #0x50]
|
|
mov lr, #0
|
|
str r0, [r4, #0x21c]
|
|
ldrh r2, [r4, #0x78]
|
|
mov r0, #1
|
|
mov r2, r2, asr #0x4
|
|
mov r6, r2, lsl #0x1
|
|
mov r2, r6, lsl #0x1
|
|
ldrsh r5, [r3, r2]
|
|
add r2, r6, #1
|
|
mov r2, r2, lsl #0x1
|
|
ldrsh r2, [r3, r2]
|
|
umull r7, r6, r5, r1
|
|
umull ip, r3, r2, r1
|
|
adds r7, r7, #0x800
|
|
mla r6, r5, lr, r6
|
|
mov r5, r5, asr #0x1f
|
|
mla r6, r5, r1, r6
|
|
adc r5, r6, #0
|
|
mov r6, r7, lsr #0xc
|
|
orr r6, r6, r5, lsl #20
|
|
adds ip, ip, #0x800
|
|
str r6, [r4, #0x60]
|
|
mla r3, r2, lr, r3
|
|
mov r2, r2, asr #0x1f
|
|
mla r3, r2, r1, r3
|
|
adc r1, r3, #0
|
|
mov r2, ip, lsr #0xc
|
|
str lr, [r4, #0x64]
|
|
orr r2, r2, r1, lsl #20
|
|
str r2, [r4, #0x68]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021831d8
|
|
_021832bc: .word data_027e0f90
|
|
_021832c0: .word data_ov29_0217a4ac
|
|
_021832c4: .word data_02050f54
|
|
_021832c8: .word 0x00000666
|
|
|
|
.global func_ov39_021832cc
|
|
arm_func_start func_ov39_021832cc
|
|
func_ov39_021832cc: ; 0x021832cc
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r0
|
|
ldrb r1, [r4, #0xc9c]
|
|
cmp r1, #0
|
|
bne _021832f4
|
|
mov r1, #0x13
|
|
bl func_ov39_0217d5d4
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
_021832f4:
|
|
ldr r0, [r4, #0x16c]
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
subs r0, r0, #1
|
|
str r0, [r4, #0x16c]
|
|
bne _0218332c
|
|
ldr r0, [r4, #0x214]
|
|
str r0, [r4, #0x48]
|
|
ldr r0, [r4, #0x218]
|
|
str r0, [r4, #0x4c]
|
|
ldr r0, [r4, #0x21c]
|
|
str r0, [r4, #0x50]
|
|
b _02183348
|
|
_0218332c:
|
|
ldr ip, _0218339c ; =0x0000099a
|
|
ldr r3, _021833a0 ; =0x00000b33
|
|
add r0, r4, #0x48
|
|
add r1, r4, #0x60
|
|
add r2, r4, #0x214
|
|
str ip, [sp]
|
|
bl func_ov39_021830d8
|
|
_02183348:
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
bl func_ov39_0217c7c4
|
|
ldr r0, [r4, #0x9f4]
|
|
add r0, r4, r0, lsl #2
|
|
ldr r0, [r0, #0x9ec]
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0
|
|
bl func_ov39_0217caf0
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021832cc
|
|
_0218339c: .word 0x0000099a
|
|
_021833a0: .word 0x00000b33
|
|
|
|
.global func_ov39_021833a4
|
|
arm_func_start func_ov39_021833a4
|
|
func_ov39_021833a4: ; 0x021833a4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0xb0
|
|
ldr r1, _02183510 ; =0x000006b8
|
|
mov r4, r0
|
|
str r1, [r4, #0x1a8]
|
|
ldrsh r2, [r4, #0x78]
|
|
add r0, r4, #0x100
|
|
add r1, r4, #0x3ec
|
|
strh r2, [r0, #0x60]
|
|
ldrh r5, [r0, #0x60]
|
|
add r0, r1, #0x400
|
|
mov r1, #0x1b
|
|
bl func_ov39_0217ca2c
|
|
mov r0, r5, asr #0x4
|
|
mov r1, r0, lsl #0x1
|
|
add r0, r1, #1
|
|
ldr r2, _02183514 ; =data_02050f54
|
|
mov r1, r1, lsl #0x1
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r1, [r2, r1]
|
|
ldr r3, [r4, #0x1a8]
|
|
ldrsh r0, [r2, r0]
|
|
mul r2, r1, r3
|
|
mul r1, r0, r3
|
|
add r0, r2, #0x800
|
|
mov r3, r0, asr #0xc
|
|
add r2, r1, #0x800
|
|
add r0, r4, #0x3bc
|
|
str r3, [r4, #0x60]
|
|
mov r1, #0
|
|
str r1, [r4, #0x64]
|
|
mov r2, r2, asr #0xc
|
|
str r2, [r4, #0x68]
|
|
str r1, [r4, #0x174]
|
|
mov r2, #3
|
|
strb r2, [r4, #0x15c]
|
|
add r0, r0, #0x800
|
|
bl func_ov39_02184d40
|
|
ldr r1, [r4, #0x158]
|
|
mov r0, r4
|
|
orr r1, r1, #0x40000
|
|
orr r1, r1, #0x400
|
|
str r1, [r4, #0x158]
|
|
bl func_ov39_0217f760
|
|
ldr r1, _02183518 ; =0x00001022
|
|
mov r0, #2
|
|
str r1, [r4, #0x2b0]
|
|
str r0, [r4, #0x2b4]
|
|
add r0, r4, #0x100
|
|
ldrsh r0, [r0, #0x20]
|
|
cmp r0, #0xc8
|
|
blt _02183504
|
|
add r0, sp, #0
|
|
bl func_ov00_0209a4f4
|
|
mov r1, #0
|
|
ldr r0, _0218351c ; =data_027e0f64
|
|
mvn ip, #0
|
|
mov r2, #0x32
|
|
ldr r3, [r0]
|
|
str ip, [sp, #4]
|
|
strb r1, [sp, #0xa]
|
|
strb r1, [sp, #0xb]
|
|
strb r2, [sp, #9]
|
|
ldr r2, [r3, #4]
|
|
add r1, r4, #0x2b8
|
|
ldr r0, [r2, #0x26c]
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [r2, #0x270]
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [r2, #0x274]
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [r3, #4]
|
|
bl func_ov00_02087d34
|
|
ldr r0, _02183520 ; =data_027e0f74
|
|
mov r2, #1
|
|
ldr r0, [r0]
|
|
add r1, sp, #0
|
|
strb r2, [sp, #0x16]
|
|
bl func_ov00_02097810
|
|
str r0, [r4, #0x190]
|
|
ldr r1, [r4, #0x158]
|
|
ldr r0, _02183524 ; =data_ov00_020eec68
|
|
orr r2, r1, #0x200
|
|
mov r1, #5
|
|
str r2, [r4, #0x158]
|
|
bl func_ov00_020d716c
|
|
add r0, sp, #0
|
|
bl func_ov00_0209a508
|
|
_02183504:
|
|
mov r0, #1
|
|
add sp, sp, #0xb0
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021833a4
|
|
_02183510: .word 0x000006b8
|
|
_02183514: .word data_02050f54
|
|
_02183518: .word 0x00001022
|
|
_0218351c: .word data_027e0f64
|
|
_02183520: .word data_027e0f74
|
|
_02183524: .word data_ov00_020eec68
|
|
|
|
.global func_ov39_02183528
|
|
arm_func_start func_ov39_02183528
|
|
func_ov39_02183528: ; 0x02183528
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r0
|
|
add r0, r4, #0x68
|
|
add r0, r0, #0x800
|
|
mov r1, #0
|
|
mov r2, #0x4b0
|
|
bl func_0202b154
|
|
ldr r0, [r4, #0x1a8]
|
|
cmp r0, #0
|
|
ble _02183564
|
|
subs r0, r0, #0x29
|
|
str r0, [r4, #0x1a8]
|
|
movmi r0, #0
|
|
strmi r0, [r4, #0x1a8]
|
|
_02183564:
|
|
add r0, r4, #0x100
|
|
ldrh r1, [r0, #0x60]
|
|
ldr r3, _0218368c ; =data_02050f54
|
|
ldr ip, [r4, #0x1a8]
|
|
mov r1, r1, asr #0x4
|
|
mov r1, r1, lsl #0x1
|
|
mov r2, r1, lsl #0x1
|
|
add r1, r1, #1
|
|
ldrsh r2, [r3, r2]
|
|
mov r1, r1, lsl #0x1
|
|
ldrsh r1, [r3, r1]
|
|
mul r3, r2, ip
|
|
mul r2, r1, ip
|
|
add r3, r3, #0x800
|
|
add r1, r2, #0x800
|
|
ldr ip, [r4, #0x64]
|
|
mov r2, r3, asr #0xc
|
|
str r2, [r4, #0x60]
|
|
str ip, [r4, #0x64]
|
|
mov r1, r1, asr #0xc
|
|
str r1, [r4, #0x68]
|
|
ldr r1, [r4, #0x7fc]
|
|
ldr r1, [r1, #0x14]
|
|
cmp r1, #0
|
|
blt _0218360c
|
|
ldrsh r0, [r0, #0x60]
|
|
rsb r1, r1, #0x19000
|
|
cmp r1, #0x1000
|
|
sub r0, r0, #0x8000
|
|
mov r0, r0, lsl #0x10
|
|
mov r2, r0, asr #0x10
|
|
strleh r2, [r4, #0x78]
|
|
ble _0218360c
|
|
ldrsh r0, [r4, #0x78]
|
|
sub r0, r2, r0
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x4
|
|
bl func_01ff98e0
|
|
ldrsh r1, [r4, #0x78]
|
|
add r0, r0, #0x800
|
|
add r0, r1, r0, asr #12
|
|
strh r0, [r4, #0x78]
|
|
_0218360c:
|
|
mov r0, r4
|
|
add r1, r4, #0x60
|
|
bl func_ov39_0217e950
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02183638
|
|
mov r0, r4
|
|
mov r1, #0x14
|
|
bl func_ov39_0217d5d4
|
|
_02183638:
|
|
ldr r0, [r4, #0x1a8]
|
|
cmp r0, #0
|
|
beq _0218367c
|
|
ldr r0, _02183690 ; =data_027e0e58
|
|
add r1, r4, #0x2ac
|
|
ldr r0, [r0]
|
|
add r2, r4, #0x48
|
|
bl func_ov00_0207c474
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r3, [r4, #8]
|
|
ldr r0, _02183694 ; =data_027e0ffc
|
|
ldr r1, _02183698 ; =0x0000031b
|
|
add r2, r4, #0x48
|
|
bl func_ov00_020cec60
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
_0218367c:
|
|
add r0, r4, #0x2ac
|
|
bl func_ov00_020b7e6c
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02183528
|
|
_0218368c: .word data_02050f54
|
|
_02183690: .word data_027e0e58
|
|
_02183694: .word data_027e0ffc
|
|
_02183698: .word 0x0000031b
|
|
|
|
.global func_ov39_0218369c
|
|
arm_func_start func_ov39_0218369c
|
|
func_ov39_0218369c: ; 0x0218369c
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0x1c
|
|
bl func_ov39_0217ca2c
|
|
ldr r1, [r4, #0x158]
|
|
add r0, r4, #0x100
|
|
orr r1, r1, #0x400
|
|
str r1, [r4, #0x158]
|
|
ldrsh r0, [r0, #0x20]
|
|
cmp r0, #0xc8
|
|
ldrge r0, [r4, #0x158]
|
|
orrge r0, r0, #0x200
|
|
strge r0, [r4, #0x158]
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0218369c
|
|
|
|
.global func_ov39_021836e0
|
|
arm_func_start func_ov39_021836e0
|
|
func_ov39_021836e0: ; 0x021836e0
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
mov r4, r0
|
|
add r0, r4, #0x68
|
|
add r0, r0, #0x800
|
|
mov r1, #0
|
|
mov r2, #0x4b0
|
|
bl func_0202b154
|
|
ldr r0, [r4, #0x1a8]
|
|
cmp r0, #0
|
|
ble _0218371c
|
|
subs r0, r0, #0x29
|
|
str r0, [r4, #0x1a8]
|
|
movmi r0, #0
|
|
strmi r0, [r4, #0x1a8]
|
|
_0218371c:
|
|
add r0, r4, #0x100
|
|
ldrh r0, [r0, #0x60]
|
|
ldr r2, _02183808 ; =data_02050f54
|
|
ldr r3, [r4, #0x1a8]
|
|
mov r0, r0, asr #0x4
|
|
mov r0, r0, lsl #0x1
|
|
mov r1, r0, lsl #0x1
|
|
add r0, r0, #1
|
|
ldrsh r1, [r2, r1]
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r0, [r2, r0]
|
|
mul r2, r1, r3
|
|
mul r1, r0, r3
|
|
add r2, r2, #0x800
|
|
add r0, r1, #0x800
|
|
ldr r3, [r4, #0x64]
|
|
mov r1, r2, asr #0xc
|
|
str r1, [r4, #0x60]
|
|
str r3, [r4, #0x64]
|
|
mov r1, r0, asr #0xc
|
|
mov r0, r4
|
|
str r1, [r4, #0x68]
|
|
add r1, r4, #0x60
|
|
bl func_ov39_0217e950
|
|
ldr r0, [r4, #0x1a8]
|
|
cmp r0, #0
|
|
beq _021837bc
|
|
ldr r0, _0218380c ; =data_027e0e58
|
|
add r1, r4, #0x2ac
|
|
ldr r0, [r0]
|
|
add r2, r4, #0x48
|
|
bl func_ov00_0207c474
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r3, [r4, #8]
|
|
ldr r0, _02183810 ; =data_027e0ffc
|
|
ldr r1, _02183814 ; =0x0000031b
|
|
add r2, r4, #0x48
|
|
bl func_ov00_020cec60
|
|
b _021837c4
|
|
_021837bc:
|
|
add r0, r4, #0x2ac
|
|
bl func_ov00_020b7e6c
|
|
_021837c4:
|
|
ldr r0, [r4, #0x1a8]
|
|
cmp r0, #0
|
|
addne sp, sp, #4
|
|
ldmneia sp!, {r3, r4, pc}
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
addeq sp, sp, #4
|
|
ldmeqia sp!, {r3, r4, pc}
|
|
add r0, r4, #0x2ac
|
|
bl func_ov00_020b7e6c
|
|
mov r0, r4
|
|
mov r1, #0x15
|
|
bl func_ov39_0217d5d4
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021836e0
|
|
_02183808: .word data_02050f54
|
|
_0218380c: .word data_027e0e58
|
|
_02183810: .word data_027e0ffc
|
|
_02183814: .word 0x0000031b
|
|
|
|
.global func_ov39_02183818
|
|
arm_func_start func_ov39_02183818
|
|
func_ov39_02183818: ; 0x02183818
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0x1d
|
|
bl func_ov39_0217ca2c
|
|
ldr r1, [r4, #0x158]
|
|
add r0, r4, #0x100
|
|
orr r1, r1, #0x400
|
|
str r1, [r4, #0x158]
|
|
ldrsh r0, [r0, #0x20]
|
|
cmp r0, #0xc8
|
|
blt _0218385c
|
|
ldr r0, [r4, #0x158]
|
|
orr r0, r0, #0x200
|
|
str r0, [r4, #0x158]
|
|
b _02183870
|
|
_0218385c:
|
|
ldr r0, _02183878 ; =data_027e0ffc
|
|
add r2, r4, #0x48
|
|
mov r1, #0x31c
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_02183870:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02183818
|
|
_02183878: .word data_027e0ffc
|
|
|
|
.global func_ov39_0218387c
|
|
arm_func_start func_ov39_0218387c
|
|
func_ov39_0218387c: ; 0x0218387c
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, r4, #0x100
|
|
ldrsh r0, [r0, #0x20]
|
|
cmp r0, #0xc8
|
|
mov r0, r4
|
|
blt _021838b8
|
|
mov r1, #0x16
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
_021838b8:
|
|
mov r1, #0
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0218387c
|
|
|
|
.global func_ov39_021838c4
|
|
arm_func_start func_ov39_021838c4
|
|
func_ov39_021838c4: ; 0x021838c4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x124
|
|
mov r4, r0
|
|
ldr r0, _02183c10 ; =data_027e0ffc
|
|
ldr r1, _02183c14 ; =0x00000321
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
mov r1, #0
|
|
str r1, [r4, #0x60]
|
|
str r1, [r4, #0x64]
|
|
ldr r0, _02183c18 ; =data_027e0fc8
|
|
str r1, [r4, #0x68]
|
|
ldr r0, [r0]
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x84]
|
|
blx r1
|
|
add r0, r4, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, #0x1e
|
|
bl func_ov39_0217ca2c
|
|
add r0, r4, #0x3bc
|
|
add r0, r0, #0x800
|
|
mov r1, #1
|
|
bl func_ov39_02184d40
|
|
ldr r0, _02183c10 ; =data_027e0ffc
|
|
ldr r1, _02183c1c ; =0x00000326
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
ldr r0, _02183c20 ; =data_027e0f74
|
|
ldr r1, [r4, #0x190]
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097bcc
|
|
add r0, sp, #0x74
|
|
bl func_ov00_0209a4f4
|
|
mvn r0, #0
|
|
str r0, [sp, #0x78]
|
|
mov r0, #0x32
|
|
strb r0, [sp, #0x7d]
|
|
mov r0, #3
|
|
strb r0, [sp, #0x7e]
|
|
strb r0, [sp, #0x7f]
|
|
mov r0, #1
|
|
strb r0, [sp, #0x8a]
|
|
strb r0, [sp, #0x88]
|
|
mov r0, #0
|
|
strb r0, [sp, #0x8b]
|
|
ldr r0, _02183c24 ; =data_027e0f64
|
|
add r1, sp, #0xc
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02087d34
|
|
ldr r0, [sp, #0xc]
|
|
str r0, [r4, #0x2b8]
|
|
ldr r0, [sp, #0x10]
|
|
str r0, [r4, #0x2bc]
|
|
ldr r0, [sp, #0x14]
|
|
str r0, [r4, #0x2c0]
|
|
ldr r0, [sp, #0x18]
|
|
str r0, [r4, #0x2c4]
|
|
ldr r0, [sp, #0x1c]
|
|
str r0, [r4, #0x2c8]
|
|
ldr r0, [sp, #0x20]
|
|
str r0, [r4, #0x2cc]
|
|
ldr r0, [sp, #0x24]
|
|
str r0, [r4, #0x2d0]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [r4, #0x2d4]
|
|
ldr r0, [sp, #0x2c]
|
|
str r0, [r4, #0x2d8]
|
|
ldr r0, [sp, #0x30]
|
|
str r0, [r4, #0x2dc]
|
|
ldr r0, [sp, #0x34]
|
|
str r0, [r4, #0x2e0]
|
|
ldr r0, [sp, #0x38]
|
|
str r0, [r4, #0x2e4]
|
|
ldr r0, [sp, #0x3c]
|
|
str r0, [r4, #0x2e8]
|
|
ldr r0, [sp, #0x40]
|
|
str r0, [r4, #0x2ec]
|
|
ldr r0, [sp, #0x44]
|
|
str r0, [r4, #0x2f0]
|
|
ldr r0, [sp, #0x48]
|
|
str r0, [r4, #0x2f4]
|
|
ldr r0, [sp, #0x4c]
|
|
ldr r2, _02183c28 ; =0x000009c4
|
|
str r0, [r4, #0x2f8]
|
|
ldr r1, [sp, #0x50]
|
|
mov r0, r4
|
|
str r1, [r4, #0x2fc]
|
|
ldr r3, [sp, #0x54]
|
|
sub r1, r2, #0x3e8
|
|
str r3, [r4, #0x300]
|
|
ldr r5, [sp, #0x58]
|
|
mov r3, #0xa000
|
|
str r5, [r4, #0x304]
|
|
ldr r5, [sp, #0x5c]
|
|
str r5, [r4, #0x308]
|
|
ldr r5, [sp, #0x60]
|
|
str r5, [r4, #0x30c]
|
|
ldr r5, [sp, #0x64]
|
|
str r5, [r4, #0x310]
|
|
ldr r5, [sp, #0x68]
|
|
str r5, [r4, #0x314]
|
|
ldrb r5, [sp, #0x6c]
|
|
strb r5, [r4, #0x318]
|
|
ldrb r5, [sp, #0x6d]
|
|
strb r5, [r4, #0x319]
|
|
ldrb r5, [sp, #0x6e]
|
|
strb r5, [r4, #0x31a]
|
|
ldrb r5, [sp, #0x6f]
|
|
strb r5, [r4, #0x31b]
|
|
ldrb r5, [sp, #0x70]
|
|
strb r5, [r4, #0x31c]
|
|
str r3, [sp, #0x24]
|
|
str r2, [sp, #0x18]
|
|
str r1, [sp, #0x1c]
|
|
bl func_ov00_020c2974
|
|
mov fp, #0
|
|
ldr r6, [sp, #0xc]
|
|
ldr r5, [sp, #0x10]
|
|
ldr sl, [sp, #0x14]
|
|
ldr sb, [sp, #0x18]
|
|
ldr r8, [sp, #0x1c]
|
|
ldr r7, [sp, #0x24]
|
|
str r6, [sp, #0xa0]
|
|
ldr r6, [sp, #0x34]
|
|
str r5, [sp, #0xa4]
|
|
ldr r5, [sp, #0x38]
|
|
str sl, [sp, #0xa8]
|
|
ldr sl, [sp, #0x3c]
|
|
str sb, [sp, #0xac]
|
|
ldr sb, [sp, #0x40]
|
|
str r8, [sp, #0xb0]
|
|
ldr r8, [sp, #0x44]
|
|
str r7, [sp, #0xb8]
|
|
ldr r7, [sp, #0x48]
|
|
str r6, [sp, #0xc8]
|
|
ldr r6, [sp, #0x4c]
|
|
str r5, [sp, #0xcc]
|
|
ldr r5, [sp, #0x50]
|
|
ldrb lr, [sp, #0x6c]
|
|
ldrb ip, [sp, #0x6d]
|
|
ldrb r3, [sp, #0x6e]
|
|
ldrb r2, [sp, #0x6f]
|
|
ldrb r1, [sp, #0x70]
|
|
str sl, [sp, #0xd0]
|
|
ldr sl, [sp, #0x54]
|
|
str sb, [sp, #0xd4]
|
|
ldr sb, [sp, #0x58]
|
|
str r8, [sp, #0xd8]
|
|
ldr r8, [sp, #0x5c]
|
|
str r7, [sp, #0xdc]
|
|
ldr r7, [sp, #0x60]
|
|
str r6, [sp, #0xe0]
|
|
ldr r6, [sp, #0x64]
|
|
str r5, [sp, #0xe4]
|
|
ldr r5, [sp, #0x68]
|
|
str sl, [sp, #0xe8]
|
|
str r0, [sp, #0x20]
|
|
str fp, [sp, #0x30]
|
|
str fp, [sp, #0x2c]
|
|
str fp, [sp, #0x28]
|
|
str r0, [sp, #0xb4]
|
|
str fp, [sp, #0xbc]
|
|
str fp, [sp, #0xc0]
|
|
str fp, [sp, #0xc4]
|
|
str sb, [sp, #0xec]
|
|
str r8, [sp, #0xf0]
|
|
str r7, [sp, #0xf4]
|
|
str r6, [sp, #0xf8]
|
|
str r5, [sp, #0xfc]
|
|
strb lr, [sp, #0x100]
|
|
strb ip, [sp, #0x101]
|
|
strb r3, [sp, #0x102]
|
|
strb r2, [sp, #0x103]
|
|
strb r1, [sp, #0x104]
|
|
mov r1, r0, lsl #0x10
|
|
add r0, sp, #0
|
|
mov r1, r1, asr #0x10
|
|
str fp, [sp]
|
|
str fp, [sp, #4]
|
|
str fp, [sp, #8]
|
|
bl func_ov00_020a61ac
|
|
add r0, sp, #0
|
|
add r1, r4, #0x48
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [sp]
|
|
add r0, r0, #0x66
|
|
add r5, r0, #0xe00
|
|
ldr r1, _02183c20 ; =data_027e0f74
|
|
ldr r2, [sp, #8]
|
|
ldr r0, [r1]
|
|
add r1, sp, #0x74
|
|
str r5, [sp, #4]
|
|
str r3, [sp, #0x94]
|
|
str r5, [sp, #0x98]
|
|
str r2, [sp, #0x9c]
|
|
bl func_ov00_02097810
|
|
str r0, [r4, #0x190]
|
|
ldr r1, [r4, #0x158]
|
|
add r0, sp, #0x74
|
|
orr r1, r1, #0x200
|
|
str r1, [r4, #0x158]
|
|
bl func_ov00_0209a508
|
|
mov r0, #1
|
|
add sp, sp, #0x124
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021838c4
|
|
_02183c10: .word data_027e0ffc
|
|
_02183c14: .word 0x00000321
|
|
_02183c18: .word data_027e0fc8
|
|
_02183c1c: .word 0x00000326
|
|
_02183c20: .word data_027e0f74
|
|
_02183c24: .word data_027e0f64
|
|
_02183c28: .word 0x000009c4
|
|
|
|
.global func_ov39_02183c2c
|
|
arm_func_start func_ov39_02183c2c
|
|
func_ov39_02183c2c: ; 0x02183c2c
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x7fc]
|
|
mov r1, #0x80000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02183c5c
|
|
mov r0, r4
|
|
mov r1, #0xa
|
|
bl func_ov39_0218599c
|
|
b _02183c88
|
|
_02183c5c:
|
|
ldr r0, [r4, #0x7fc]
|
|
mov r1, #0x79000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
beq _02183c88
|
|
ldr r0, _02183cc4 ; =data_027e0ffc
|
|
ldr r1, _02183cc8 ; =0x00000326
|
|
add r2, r4, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_02183c88:
|
|
ldr r0, [r4, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
beq _02183cb8
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #0x14
|
|
ldmltia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #0x17
|
|
bl func_ov39_0217d5d4
|
|
ldmia sp!, {r4, pc}
|
|
_02183cb8:
|
|
mov r0, #0
|
|
str r0, [r4, #0x138]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02183c2c
|
|
_02183cc4: .word data_027e0ffc
|
|
_02183cc8: .word 0x00000326
|
|
|
|
.global func_ov39_02183ccc
|
|
arm_func_start func_ov39_02183ccc
|
|
func_ov39_02183ccc: ; 0x02183ccc
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x15c
|
|
ldr r2, _0218430c ; =data_027e0f64
|
|
mov r7, r0
|
|
ldr r0, [r2]
|
|
add r1, r7, #0x2b8
|
|
ldr r3, [r0, #4]
|
|
ldr r0, [r3, #0x260]
|
|
str r0, [r7, #0x220]
|
|
ldr r0, [r3, #0x264]
|
|
str r0, [r7, #0x224]
|
|
ldr r0, [r3, #0x268]
|
|
str r0, [r7, #0x228]
|
|
ldr r0, [r2]
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_02087d34
|
|
mov r0, #0xa000
|
|
str r0, [r7, #0x2d0]
|
|
mov r0, #0
|
|
str r0, [r7, #0x2dc]
|
|
str r0, [r7, #0x2d8]
|
|
str r0, [r7, #0x2d4]
|
|
ldr r1, _02184310 ; =0x000009c4
|
|
mov r0, r7
|
|
str r1, [r7, #0x2c4]
|
|
sub r1, r1, #0x3e8
|
|
str r1, [r7, #0x2c8]
|
|
bl func_ov00_020c2974
|
|
ldr r1, _0218430c ; =data_027e0f64
|
|
str r0, [r7, #0x2cc]
|
|
ldr r0, [r1]
|
|
mov r1, #0
|
|
ldr r0, [r0, #4]
|
|
bl func_ov00_020875f8
|
|
ldr r0, _0218430c ; =data_027e0f64
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
bl func_ov00_020875f8
|
|
ldr r0, _02184314 ; =data_027e0f74
|
|
ldr r1, [r7, #0x190]
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097bcc
|
|
add r0, sp, #0xac
|
|
bl func_ov00_0209a4f4
|
|
mov r0, #1
|
|
mov r1, #2
|
|
mvn r2, #0
|
|
str r2, [sp, #0xb0]
|
|
mov r2, #0x32
|
|
strb r2, [sp, #0xb5]
|
|
strb r1, [sp, #0xb6]
|
|
strb r1, [sp, #0xb7]
|
|
strb r0, [sp, #0xc2]
|
|
strb r0, [sp, #0xc3]
|
|
strb r0, [sp, #0xc0]
|
|
ldr r0, [r7, #0x2b8]
|
|
str r0, [sp, #0xd8]
|
|
ldr r0, [r7, #0x2bc]
|
|
str r0, [sp, #0xdc]
|
|
ldr r0, [r7, #0x2c0]
|
|
str r0, [sp, #0xe0]
|
|
ldr r0, [r7, #0x2c4]
|
|
str r0, [sp, #0xe4]
|
|
ldr r0, [r7, #0x2c8]
|
|
str r0, [sp, #0xe8]
|
|
ldr r0, [r7, #0x2cc]
|
|
str r0, [sp, #0xec]
|
|
ldr r0, [r7, #0x2d0]
|
|
str r0, [sp, #0xf0]
|
|
ldr r0, [r7, #0x2d4]
|
|
str r0, [sp, #0xf4]
|
|
ldr r0, [r7, #0x2d8]
|
|
str r0, [sp, #0xf8]
|
|
ldr r0, [r7, #0x2dc]
|
|
str r0, [sp, #0xfc]
|
|
ldr r0, [r7, #0x2e0]
|
|
str r0, [sp, #0x100]
|
|
ldr r0, [r7, #0x2e4]
|
|
str r0, [sp, #0x104]
|
|
ldr r0, [r7, #0x2e8]
|
|
str r0, [sp, #0x108]
|
|
ldr r0, [r7, #0x2ec]
|
|
str r0, [sp, #0x10c]
|
|
ldr r0, [r7, #0x2f0]
|
|
str r0, [sp, #0x110]
|
|
ldr r0, [r7, #0x2f4]
|
|
mov r1, #0
|
|
str r0, [sp, #0x114]
|
|
ldr r2, [r7, #0x2f8]
|
|
add r0, sp, #0x38
|
|
str r2, [sp, #0x118]
|
|
ldr r2, [r7, #0x2fc]
|
|
str r2, [sp, #0x11c]
|
|
ldr r2, [r7, #0x300]
|
|
str r2, [sp, #0x120]
|
|
ldr r2, [r7, #0x304]
|
|
str r2, [sp, #0x124]
|
|
ldr r2, [r7, #0x308]
|
|
str r2, [sp, #0x128]
|
|
ldr r2, [r7, #0x30c]
|
|
str r2, [sp, #0x12c]
|
|
ldr r2, [r7, #0x310]
|
|
str r2, [sp, #0x130]
|
|
ldr r2, [r7, #0x314]
|
|
str r2, [sp, #0x134]
|
|
ldrb r2, [r7, #0x318]
|
|
strb r2, [sp, #0x138]
|
|
ldrb r2, [r7, #0x319]
|
|
strb r2, [sp, #0x139]
|
|
ldrb r2, [r7, #0x31a]
|
|
strb r2, [sp, #0x13a]
|
|
ldrb r2, [r7, #0x31b]
|
|
strb r2, [sp, #0x13b]
|
|
ldrb r2, [r7, #0x31c]
|
|
strb r2, [sp, #0x13c]
|
|
str r1, [sp, #0x38]
|
|
str r1, [sp, #0x3c]
|
|
str r1, [sp, #0x40]
|
|
ldr r1, [r7, #0x2cc]
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, asr #0x10
|
|
bl func_ov00_020a61ac
|
|
add r0, sp, #0x38
|
|
add r1, r7, #0x48
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
ldr r0, [sp, #0x3c]
|
|
ldr r3, [sp, #0x38]
|
|
add r0, r0, #0x66
|
|
add r4, r0, #0xe00
|
|
ldr r1, _02184314 ; =data_027e0f74
|
|
ldr r2, [sp, #0x40]
|
|
ldr r0, [r1]
|
|
add r1, sp, #0xac
|
|
str r4, [sp, #0x3c]
|
|
str r3, [sp, #0xcc]
|
|
str r4, [sp, #0xd0]
|
|
str r2, [sp, #0xd4]
|
|
bl func_ov00_02097810
|
|
add r5, sp, #0x44
|
|
str r0, [r7, #0x190]
|
|
add r6, r7, #0x2b8
|
|
mov r4, #6
|
|
_02183f0c:
|
|
ldmia r6!, {r0, r1, r2, r3}
|
|
stmia r5!, {r0, r1, r2, r3}
|
|
subs r4, r4, #1
|
|
bne _02183f0c
|
|
ldmia r6, {r0, r1}
|
|
stmia r5, {r0, r1}
|
|
ldr r3, [sp, #0x54]
|
|
ldr r2, [sp, #0x50]
|
|
mov r0, r3, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
sub r2, r3, r2, lsl #1
|
|
mov r6, r0, lsl #0x1
|
|
mov r0, r2, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
mov r0, r0, asr #0x4
|
|
mov r3, r0, lsl #0x1
|
|
ldr r1, _02184318 ; =data_02050f54
|
|
mov r5, r6, lsl #0x1
|
|
ldrsh ip, [r1, r5]
|
|
ldr r5, [sp, #0x5c]
|
|
add r0, r3, #1
|
|
mov r4, r3, lsl #0x1
|
|
mov r3, r0, lsl #0x1
|
|
ldrsh r0, [r1, r4]
|
|
smull ip, r4, r5, ip
|
|
ldrsh r1, [r1, r3]
|
|
adds ip, ip, #0x800
|
|
adc r3, r4, #0
|
|
mov r4, ip, lsr #0xc
|
|
str r2, [sp, #0x54]
|
|
orr r4, r4, r3, lsl #20
|
|
bl func_01ff98e0
|
|
add r2, r6, #1
|
|
ldr r1, _02184318 ; =data_02050f54
|
|
mov r2, r2, lsl #0x1
|
|
ldrsh r1, [r1, r2]
|
|
ldr r3, [r7, #0x4c]
|
|
ldr r2, [r7, #0x50]
|
|
smull r1, r6, r5, r1
|
|
adds ip, r1, #0x800
|
|
ldr r1, [r7, #0x48]
|
|
adc r5, r6, #0
|
|
str r1, [sp, #0x2c]
|
|
mov r1, ip, lsr #0xc
|
|
orr r1, r1, r5, lsl #20
|
|
smull r5, r0, r1, r0
|
|
adds r1, r5, #0x800
|
|
adc r0, r0, #0
|
|
mov r1, r1, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
sub r0, r4, r1
|
|
str r2, [sp, #0x34]
|
|
add r2, r3, r0
|
|
add r0, sp, #0x2c
|
|
add r1, r7, #0x220
|
|
str r2, [sp, #0x30]
|
|
bl func_01ff9ec0
|
|
str r0, [sp, #0x5c]
|
|
str r0, [r7, #0x1dc]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0218430c ; =data_027e0f64
|
|
add r1, sp, #0x2c
|
|
ldr r0, [r0]
|
|
mov r2, #2
|
|
ldr r0, [r0, #8]
|
|
add r3, sp, #0x44
|
|
bl func_ov00_02089318
|
|
ldr r0, [sp, #0x2c]
|
|
str r0, [r7, #0x22c]
|
|
ldr r0, [sp, #0x30]
|
|
str r0, [r7, #0x230]
|
|
ldr r0, [sp, #0x34]
|
|
str r0, [r7, #0x234]
|
|
ldr r0, [sp, #0x44]
|
|
str r0, [r7, #0x320]
|
|
ldr r1, [sp, #0x48]
|
|
add r0, r7, #0x220
|
|
str r1, [r7, #0x324]
|
|
ldr r2, [sp, #0x4c]
|
|
add r1, r7, #0x22c
|
|
str r2, [r7, #0x328]
|
|
ldr r2, [sp, #0x50]
|
|
str r2, [r7, #0x32c]
|
|
ldr r2, [sp, #0x54]
|
|
str r2, [r7, #0x330]
|
|
ldr r2, [sp, #0x58]
|
|
str r2, [r7, #0x334]
|
|
ldr r2, [sp, #0x5c]
|
|
str r2, [r7, #0x338]
|
|
ldr r2, [sp, #0x60]
|
|
str r2, [r7, #0x33c]
|
|
ldr r2, [sp, #0x64]
|
|
str r2, [r7, #0x340]
|
|
ldr r2, [sp, #0x68]
|
|
str r2, [r7, #0x344]
|
|
ldr r2, [sp, #0x6c]
|
|
str r2, [r7, #0x348]
|
|
ldr r2, [sp, #0x70]
|
|
str r2, [r7, #0x34c]
|
|
ldr r2, [sp, #0x74]
|
|
str r2, [r7, #0x350]
|
|
ldr r2, [sp, #0x78]
|
|
str r2, [r7, #0x354]
|
|
ldr r2, [sp, #0x7c]
|
|
str r2, [r7, #0x358]
|
|
ldr r2, [sp, #0x80]
|
|
str r2, [r7, #0x35c]
|
|
ldr r2, [sp, #0x84]
|
|
str r2, [r7, #0x360]
|
|
ldr r2, [sp, #0x88]
|
|
str r2, [r7, #0x364]
|
|
ldr r2, [sp, #0x8c]
|
|
str r2, [r7, #0x368]
|
|
ldr r2, [sp, #0x90]
|
|
str r2, [r7, #0x36c]
|
|
ldr r2, [sp, #0x94]
|
|
str r2, [r7, #0x370]
|
|
ldr r2, [sp, #0x98]
|
|
str r2, [r7, #0x374]
|
|
ldr r2, [sp, #0x9c]
|
|
str r2, [r7, #0x378]
|
|
ldr r2, [sp, #0xa0]
|
|
str r2, [r7, #0x37c]
|
|
ldrb r2, [sp, #0xa4]
|
|
strb r2, [r7, #0x380]
|
|
ldrb r2, [sp, #0xa5]
|
|
strb r2, [r7, #0x381]
|
|
ldrb r2, [sp, #0xa6]
|
|
strb r2, [r7, #0x382]
|
|
ldrb r2, [sp, #0xa7]
|
|
strb r2, [r7, #0x383]
|
|
ldrb r2, [sp, #0xa8]
|
|
strb r2, [r7, #0x384]
|
|
bl func_ov00_020ce2f0
|
|
str r0, [r7, #0x1c4]
|
|
mov r1, #0
|
|
str r1, [r7, #0x1c8]
|
|
str r1, [r7, #0x1d0]
|
|
str r1, [r7, #0x1cc]
|
|
str r1, [r7, #0x1d4]
|
|
add r0, r7, #0x388
|
|
str r1, [r7, #0x1d8]
|
|
blx func_0202ab54
|
|
mov r1, #2
|
|
mov r0, #1
|
|
str r0, [r7, #0x388]
|
|
mov r4, #0
|
|
str r4, [r7, #0x390]
|
|
mov r2, r1
|
|
mov r3, r1
|
|
add r0, r7, #0x388
|
|
str r4, [sp]
|
|
blx func_0202ac0c
|
|
ldr r0, _0218431c ; =data_027e071c
|
|
add r1, r7, #0x388
|
|
bl func_0202d77c
|
|
mov r0, r4
|
|
str r0, [sp, #0x20]
|
|
ldr r0, _02184320 ; =0x000014cd
|
|
ldr r1, _02184324 ; =0x0000019a
|
|
str r0, [sp, #0x28]
|
|
str r1, [sp, #0x24]
|
|
ldrsh r1, [r7, #0x78]
|
|
add r0, sp, #0x20
|
|
bl func_ov00_020a61ac
|
|
ldr r1, [r7, #0x48]
|
|
add r0, sp, #0x20
|
|
str r1, [sp, #8]
|
|
ldr r2, [r7, #0x4c]
|
|
add r1, sp, #8
|
|
str r2, [sp, #0xc]
|
|
ldr r3, [r7, #0x50]
|
|
mov r2, r0
|
|
str r3, [sp, #0x10]
|
|
bl func_01ff9bc4
|
|
mov r1, r4
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02184328 ; =data_027e0e58
|
|
ldr r1, _0218432c ; =0x00001004
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x20
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r0, r4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02184328 ; =data_027e0e58
|
|
ldr r1, _02184330 ; =0x00001005
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x20
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r0, r4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02184328 ; =data_027e0e58
|
|
ldr r1, _02184334 ; =0x00001006
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x20
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r0, r4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02184328 ; =data_027e0e58
|
|
ldr r1, _02184338 ; =0x00001007
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x20
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r0, r4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02184328 ; =data_027e0e58
|
|
ldr r1, _0218433c ; =0x00001008
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x20
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r0, r4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02184328 ; =data_027e0e58
|
|
ldr r1, _02184340 ; =0x00001009
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x20
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r0, r4
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02184328 ; =data_027e0e58
|
|
ldr r1, _02184344 ; =0x0000100a
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x20
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
add r0, r7, #0x3ec
|
|
add r0, r0, #0x400
|
|
bl func_ov39_0217c78c
|
|
add r0, r7, #0x3ec
|
|
add r0, r0, #0x400
|
|
mov r1, r4
|
|
bl func_ov39_0217ca2c
|
|
ldr r1, [r7, #0x158]
|
|
add r0, sp, #0xac
|
|
orr r1, r1, #0x200
|
|
str r1, [r7, #0x158]
|
|
bl func_ov00_0209a508
|
|
mov r0, #1
|
|
add sp, sp, #0x15c
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02183ccc
|
|
_0218430c: .word data_027e0f64
|
|
_02184310: .word 0x000009c4
|
|
_02184314: .word data_027e0f74
|
|
_02184318: .word data_02050f54
|
|
_0218431c: .word data_027e071c
|
|
_02184320: .word 0x000014cd
|
|
_02184324: .word 0x0000019a
|
|
_02184328: .word data_027e0e58
|
|
_0218432c: .word 0x00001004
|
|
_02184330: .word 0x00001005
|
|
_02184334: .word 0x00001006
|
|
_02184338: .word 0x00001007
|
|
_0218433c: .word 0x00001008
|
|
_02184340: .word 0x00001009
|
|
_02184344: .word 0x0000100a
|
|
|
|
.global func_ov39_02184348
|
|
arm_func_start func_ov39_02184348
|
|
func_ov39_02184348: ; 0x02184348
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x10
|
|
mov r5, r0
|
|
add r1, r5, #0xc
|
|
add r0, sp, #4
|
|
add r1, r1, #0x800
|
|
ldr r4, [r5, #8]
|
|
bl func_ov39_0217c700
|
|
mov ip, #0
|
|
ldr r0, _021843b8 ; =data_027e0ffc
|
|
ldr r1, _021843bc ; =0x00000323
|
|
add r2, sp, #4
|
|
mov r3, r4
|
|
str ip, [sp]
|
|
bl func_ov00_020cec60
|
|
mov r0, r5
|
|
bl func_ov39_021843c0
|
|
ldr r0, [r5, #0x7fc]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x10
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
mov r1, #0x18
|
|
bl func_ov39_0217d5d4
|
|
add sp, sp, #0x10
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02184348
|
|
_021843b8: .word data_027e0ffc
|
|
_021843bc: .word 0x00000323
|
|
|
|
.global func_ov39_021843c0
|
|
arm_func_start func_ov39_021843c0
|
|
func_ov39_021843c0: ; 0x021843c0
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0xfc
|
|
mov r6, r0
|
|
ldr r0, [r6, #0x22c]
|
|
add r5, sp, #0x94
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r6, #0x230]
|
|
add ip, r6, #0x2b8
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r6, #0x234]
|
|
mov r4, #6
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r6, #0x4c]
|
|
ldr r2, [r6, #0x50]
|
|
ldr r1, [r6, #0x48]
|
|
add r0, r0, #0x66
|
|
add r0, r0, #0xe00
|
|
str r1, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r2, [sp, #0x28]
|
|
_02184410:
|
|
ldmia ip!, {r0, r1, r2, r3}
|
|
stmia r5!, {r0, r1, r2, r3}
|
|
subs r4, r4, #1
|
|
bne _02184410
|
|
ldmia ip, {r0, r1}
|
|
stmia r5, {r0, r1}
|
|
add r5, sp, #0x2c
|
|
add ip, r6, #0x320
|
|
mov r4, #6
|
|
_02184434:
|
|
ldmia ip!, {r0, r1, r2, r3}
|
|
stmia r5!, {r0, r1, r2, r3}
|
|
subs r4, r4, #1
|
|
bne _02184434
|
|
ldmia ip, {r0, r1}
|
|
stmia r5, {r0, r1}
|
|
ldr r0, [r6, #0x138]
|
|
rsb r0, r0, #0xd2
|
|
mov r4, r0, lsl #0xc
|
|
cmp r4, #0x1000
|
|
movle r0, #0x2000
|
|
ble _0218447c
|
|
ldr r0, [r6, #0x1d8]
|
|
mov r1, r4
|
|
rsb r0, r0, #0x2000
|
|
bl func_01ff98e0
|
|
ldr r1, [r6, #0x1d8]
|
|
add r0, r1, r0
|
|
_0218447c:
|
|
str r0, [r6, #0x1d8]
|
|
cmp r4, #0x1000
|
|
ldr r0, _0218477c ; =0x0000099a
|
|
ble _021844a4
|
|
ldr r2, [r6, #0x1d4]
|
|
mov r1, r4
|
|
sub r0, r0, r2
|
|
bl func_01ff98e0
|
|
ldr r1, [r6, #0x1d4]
|
|
add r0, r1, r0
|
|
_021844a4:
|
|
str r0, [r6, #0x1d4]
|
|
ldr r2, [sp, #0x24]
|
|
ldr r0, [r6, #0x1d8]
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r2, r0
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [r6, #0x1d4]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r6, #0x138]
|
|
cmp r0, #0xbe
|
|
blt _02184500
|
|
cmp r4, #0x1000
|
|
movle r0, #0x2800
|
|
strle r0, [r6, #0x1c8]
|
|
ble _02184500
|
|
ldr r0, [r6, #0x1c8]
|
|
mov r1, r4
|
|
rsb r0, r0, #0x2800
|
|
bl func_01ff98e0
|
|
ldr r1, [r6, #0x1c8]
|
|
add r0, r1, r0
|
|
str r0, [r6, #0x1c8]
|
|
_02184500:
|
|
ldr r0, [r6, #0x138]
|
|
cmp r0, #0xbe
|
|
blt _02184540
|
|
mov r0, #0x2000
|
|
cmp r4, #0x1000
|
|
rsble r0, r0, #0
|
|
strle r0, [r6, #0x1cc]
|
|
ble _02184540
|
|
ldr r2, [r6, #0x1cc]
|
|
rsb r0, r0, #0
|
|
mov r1, r4
|
|
sub r0, r0, r2
|
|
bl func_01ff98e0
|
|
ldr r1, [r6, #0x1cc]
|
|
add r0, r1, r0
|
|
str r0, [r6, #0x1cc]
|
|
_02184540:
|
|
ldr r0, [sp, #0xa8]
|
|
ldr ip, [r6, #0x138]
|
|
mov r0, r0, lsl #0x10
|
|
ldr r2, [r6, #0x224]
|
|
ldr r1, [r6, #0x1c8]
|
|
ldr r3, [sp, #0x18]
|
|
add r1, r2, r1
|
|
cmp ip, #0xa0
|
|
mov r4, r0, lsr #0x10
|
|
sub r5, r3, r1
|
|
bgt _021845a8
|
|
rsb r0, ip, #0xa0
|
|
mov r1, r0, lsl #0xc
|
|
mov r0, #0x7000
|
|
cmp r1, #0x1000
|
|
rsble r0, r0, #0
|
|
strle r0, [r6, #0x1d0]
|
|
ble _021845e0
|
|
ldr r2, [r6, #0x1d0]
|
|
rsb r0, r0, #0
|
|
sub r0, r0, r2
|
|
bl func_01ff98e0
|
|
ldr r1, [r6, #0x1d0]
|
|
add r0, r1, r0
|
|
str r0, [r6, #0x1d0]
|
|
b _021845e0
|
|
_021845a8:
|
|
cmp ip, #0xbe
|
|
blt _021845e0
|
|
rsb r0, ip, #0xd2
|
|
mov r1, r0, lsl #0xc
|
|
cmp r1, #0x1000
|
|
movle r0, #0
|
|
strle r0, [r6, #0x1d0]
|
|
ble _021845e0
|
|
ldr r0, [r6, #0x1d0]
|
|
rsb r0, r0, #0
|
|
bl func_01ff98e0
|
|
ldr r1, [r6, #0x1d0]
|
|
add r0, r1, r0
|
|
str r0, [r6, #0x1d0]
|
|
_021845e0:
|
|
ldr ip, [r6, #0x1dc]
|
|
smull r1, r0, r5, r5
|
|
smull r3, r2, ip, ip
|
|
adds r3, r3, #0x800
|
|
adc r2, r2, #0
|
|
adds r1, r1, #0x800
|
|
mov r3, r3, lsr #0xc
|
|
adc r0, r0, #0
|
|
mov r1, r1, lsr #0xc
|
|
orr r3, r3, r2, lsl #20
|
|
orr r1, r1, r0, lsl #20
|
|
add r0, r3, r1
|
|
bl func_01ff9958
|
|
mov r1, r4, asr #0x4
|
|
mov r2, r1, lsl #0x1
|
|
add r1, r2, #1
|
|
ldr r4, [r6, #0x1cc]
|
|
ldr r3, _02184780 ; =data_02050f54
|
|
mov r2, r2, lsl #0x1
|
|
add r0, r4, r0
|
|
ldr r4, [r6, #0x1d0]
|
|
ldrsh r2, [r3, r2]
|
|
mov r1, r1, lsl #0x1
|
|
add r5, r4, r0
|
|
ldrsh r0, [r3, r1]
|
|
smull r1, r3, r2, r5
|
|
adds r4, r1, #0x800
|
|
smull r2, r1, r0, r5
|
|
adc r3, r3, #0
|
|
adds r2, r2, #0x800
|
|
mov r4, r4, lsr #0xc
|
|
adc r0, r1, #0
|
|
mov r1, r2, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
ldr r2, [sp, #0x20]
|
|
orr r4, r4, r3, lsl #20
|
|
add r3, r2, r4
|
|
ldr r2, [sp, #0x28]
|
|
ldr ip, [r6, #0x224]
|
|
ldr r5, [r6, #0x1c8]
|
|
add r2, r2, r1
|
|
add r5, ip, r5
|
|
add r0, sp, #8
|
|
add r1, sp, #0x20
|
|
str r5, [sp, #0xc]
|
|
str r3, [sp, #8]
|
|
str r2, [sp, #0x10]
|
|
bl func_ov00_020ce2f0
|
|
ldr r3, [sp, #0xc]
|
|
ldr r2, [sp, #0x24]
|
|
mov r1, r0
|
|
sub r0, r3, r2
|
|
bl func_01ffa0f4
|
|
mov r0, r0, lsl #0x10
|
|
mov r2, r0, asr #0x10
|
|
add r0, sp, #8
|
|
add r1, sp, #0x20
|
|
str r2, [sp, #0xa4]
|
|
bl func_01ff9ec0
|
|
str r0, [sp, #0xac]
|
|
add r0, sp, #8
|
|
add r1, sp, #0x14
|
|
bl func_ov00_020ce2f0
|
|
mov r1, r0
|
|
ldr r2, [sp, #0xc]
|
|
ldr r0, [sp, #0x18]
|
|
sub r0, r2, r0
|
|
bl func_01ffa0f4
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
str r0, [sp, #0x3c]
|
|
add r0, sp, #8
|
|
add r1, sp, #0x14
|
|
bl func_01ff9ec0
|
|
ldr r2, [sp, #0xa4]
|
|
ldr r1, [sp, #0x3c]
|
|
str r0, [sp, #0x44]
|
|
sub r0, r2, r1
|
|
mov r0, r0, asr #0x1
|
|
str r0, [sp, #0x38]
|
|
str r0, [sp, #0xa0]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02184784 ; =data_027e0f64
|
|
add r1, sp, #0x20
|
|
ldr r0, [r0]
|
|
add r3, sp, #0x94
|
|
ldr r0, [r0, #4]
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02184784 ; =data_027e0f64
|
|
add r1, sp, #0x14
|
|
ldr r0, [r0]
|
|
add r3, sp, #0x2c
|
|
ldr r0, [r0, #8]
|
|
mov r2, #2
|
|
bl func_ov00_02089318
|
|
add sp, sp, #0xfc
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021843c0
|
|
_0218477c: .word 0x0000099a
|
|
_02184780: .word data_02050f54
|
|
_02184784: .word data_027e0f64
|
|
|
|
.global func_ov39_02184788
|
|
arm_func_start func_ov39_02184788
|
|
func_ov39_02184788: ; 0x02184788
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #8
|
|
ldr r1, _02184808 ; =0x00000333
|
|
ldr r2, _0218480c ; =0x00001610
|
|
str r1, [sp]
|
|
ldr r1, _02184810 ; =data_027e0fec
|
|
str r2, [sp, #4]
|
|
ldr r1, [r1]
|
|
mov r4, r0
|
|
add r1, r1, #0x3000
|
|
add r0, r4, #0xac
|
|
mov r2, #0x800
|
|
ldr r1, [r1, #0x990]
|
|
mov r3, r2
|
|
add r0, r0, #0xc00
|
|
bl func_ov17_02168660
|
|
ldr r2, _02184814 ; =0x0000100e
|
|
ldr r0, [r4, #0x158]
|
|
mov r1, #2
|
|
orr r0, r0, #0x200
|
|
str r0, [r4, #0x158]
|
|
str r2, [r4, #0x28c]
|
|
str r1, [r4, #0x290]
|
|
add r0, r2, #1
|
|
str r0, [r4, #0x298]
|
|
str r1, [r4, #0x29c]
|
|
add r0, r2, #2
|
|
str r0, [r4, #0x2a4]
|
|
str r1, [r4, #0x2a8]
|
|
mov r0, #1
|
|
add sp, sp, #8
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02184788
|
|
_02184808: .word 0x00000333
|
|
_0218480c: .word 0x00001610
|
|
_02184810: .word data_027e0fec
|
|
_02184814: .word 0x0000100e
|
|
|
|
.global func_ov39_02184818
|
|
arm_func_start func_ov39_02184818
|
|
func_ov39_02184818: ; 0x02184818
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x38
|
|
mov r4, r0
|
|
ldr r1, [r4, #0x138]
|
|
cmp r1, #0x64
|
|
bgt _0218488c
|
|
add r1, r4, #0xc
|
|
add r0, sp, #0x20
|
|
add r1, r1, #0x800
|
|
ldr r6, [r4, #8]
|
|
bl func_ov39_0217c700
|
|
mov r5, #0
|
|
ldr r0, _02184a84 ; =data_027e0ffc
|
|
add r2, sp, #0x20
|
|
mov r3, r6
|
|
mov r1, #0x30c
|
|
str r5, [sp]
|
|
bl func_ov00_020cec60
|
|
mov r0, r4
|
|
bl func_ov39_0217faac
|
|
ldr r0, [r4, #0x138]
|
|
mov r1, #0x64000
|
|
mov r0, r0, lsl #0xc
|
|
rsb r0, r0, #0x64000
|
|
bl func_01ff98e0
|
|
rsb r0, r0, #0x1000
|
|
add sp, sp, #0x38
|
|
str r0, [r4, #0xcb0]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_0218488c:
|
|
cmp r1, #0xa0
|
|
bgt _02184a48
|
|
add r1, r4, #0xc
|
|
add r0, sp, #0x14
|
|
add r1, r1, #0x800
|
|
ldr r6, [r4, #8]
|
|
bl func_ov39_0217c700
|
|
mov r5, #0
|
|
ldr r0, _02184a84 ; =data_027e0ffc
|
|
add r2, sp, #0x14
|
|
mov r3, r6
|
|
mov r1, #0x30c
|
|
str r5, [sp]
|
|
bl func_ov00_020cec60
|
|
mov r0, r4
|
|
bl func_ov39_0217faac
|
|
ldr r0, _02184a88 ; =0x0000019a
|
|
str r0, [r4, #0xcb8]
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #0xa0
|
|
addne sp, sp, #0x38
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, [r4, #0x4c]
|
|
ldr r2, [r4, #0x50]
|
|
ldr r1, [r4, #0x48]
|
|
add r0, r0, #0x66
|
|
add r0, r0, #0x5600
|
|
str r1, [sp, #0x2c]
|
|
str r0, [sp, #0x30]
|
|
str r2, [sp, #0x34]
|
|
mov r1, r5
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02184a8c ; =data_027e0e58
|
|
ldr r1, _02184a90 ; =0x00001012
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x2c
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r1, r5
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02184a8c ; =data_027e0e58
|
|
ldr r1, _02184a94 ; =0x00001013
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x2c
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r1, r5
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, _02184a8c ; =data_027e0e58
|
|
ldr r1, _02184a98 ; =0x00001011
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x2c
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r0, r5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02184a8c ; =data_027e0e58
|
|
ldr r1, _02184a9c ; =0x00001014
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x2c
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r0, r5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02184a8c ; =data_027e0e58
|
|
ldr r1, _02184aa0 ; =0x00001015
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x2c
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r0, r5
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _02184a8c ; =data_027e0e58
|
|
ldr r1, _02184aa4 ; =0x00001016
|
|
ldr r0, [r0]
|
|
add r2, sp, #0x2c
|
|
mov r3, #2
|
|
bl func_ov00_0207c1b0
|
|
mov r6, r5
|
|
ldr r5, _02184a8c ; =data_027e0e58
|
|
add r7, r4, #0x288
|
|
_021849e8:
|
|
ldr r0, [r5]
|
|
mov r1, r7
|
|
bl func_ov00_0207c444
|
|
add r6, r6, #1
|
|
cmp r6, #3
|
|
add r7, r7, #0xc
|
|
blt _021849e8
|
|
ldr r2, _02184aa8 ; =0x00001017
|
|
add r1, r4, #0xc
|
|
str r2, [r4, #0x28c]
|
|
mov r2, #2
|
|
add r0, sp, #8
|
|
add r1, r1, #0x800
|
|
str r2, [r4, #0x290]
|
|
bl func_ov39_0217c700
|
|
ldr r0, _02184a84 ; =data_027e0ffc
|
|
ldr r1, _02184aac ; =0x0000030d
|
|
add r2, sp, #8
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
mov r0, #0
|
|
add sp, sp, #0x38
|
|
strb r0, [r4, #0x11a]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
_02184a48:
|
|
bl func_ov39_0217fb48
|
|
ldr r0, [r4, #0x138]
|
|
cmp r0, #0xdc
|
|
addne sp, sp, #0x38
|
|
ldmneia sp!, {r3, r4, r5, r6, r7, pc}
|
|
ldr r0, _02184ab0 ; =data_027e0f74
|
|
ldr r1, [r4, #0x190]
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097bcc
|
|
ldr r0, _02184ab0 ; =data_027e0f74
|
|
mov r1, #0x13
|
|
ldr r0, [r0]
|
|
bl func_ov00_02097968
|
|
add sp, sp, #0x38
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02184818
|
|
_02184a84: .word data_027e0ffc
|
|
_02184a88: .word 0x0000019a
|
|
_02184a8c: .word data_027e0e58
|
|
_02184a90: .word 0x00001012
|
|
_02184a94: .word 0x00001013
|
|
_02184a98: .word 0x00001011
|
|
_02184a9c: .word 0x00001014
|
|
_02184aa0: .word 0x00001015
|
|
_02184aa4: .word 0x00001016
|
|
_02184aa8: .word 0x00001017
|
|
_02184aac: .word 0x0000030d
|
|
_02184ab0: .word data_027e0f74
|
|
|
|
.global func_ov39_02184ab4
|
|
arm_func_start func_ov39_02184ab4
|
|
func_ov39_02184ab4: ; 0x02184ab4
|
|
stmdb sp!, {r3, lr}
|
|
ldr lr, [r0]
|
|
ldr ip, [sp, #8]
|
|
sub lr, r1, lr
|
|
cmp lr, ip
|
|
bge _02184ae0
|
|
rsb ip, ip, #0
|
|
cmp lr, ip
|
|
strgt r1, [r0]
|
|
movgt r0, #1
|
|
ldmgtia sp!, {r3, pc}
|
|
_02184ae0:
|
|
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 _02184b0c
|
|
rsb r1, r3, #0
|
|
cmp r2, r1
|
|
movlt r2, r1
|
|
_02184b0c:
|
|
ldr r1, [r0]
|
|
add r1, r1, r2
|
|
str r1, [r0]
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end func_ov39_02184ab4
|
|
|
|
.global func_ov39_02184b20
|
|
arm_func_start func_ov39_02184b20
|
|
func_ov39_02184b20: ; 0x02184b20
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr lr, _02184b70 ; =data_027e01b8
|
|
mov ip, r4
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia ip!, {r0, r1, r2, r3}
|
|
ldmia lr!, {r0, r1, r2, r3}
|
|
stmia ip!, {r0, r1, r2, r3}
|
|
ldmia lr, {r0, r1, r2, r3}
|
|
stmia ip, {r0, r1, r2, r3}
|
|
mov r1, #0
|
|
str r1, [r4, #0x30]
|
|
str r1, [r4, #0x38]
|
|
strh r1, [r4, #0x3c]
|
|
strh r1, [r4, #0x3e]
|
|
strh r1, [r4, #0x40]
|
|
strh r1, [r4, #0x42]
|
|
mov r0, r4
|
|
strh r1, [r4, #0x44]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02184b20
|
|
_02184b70: .word data_027e01b8
|
|
|
|
.global func_ov39_02184b74
|
|
arm_func_start func_ov39_02184b74
|
|
func_ov39_02184b74: ; 0x02184b74
|
|
bx lr
|
|
arm_func_end func_ov39_02184b74
|
|
|
|
.global func_ov39_02184b78
|
|
arm_func_start func_ov39_02184b78
|
|
func_ov39_02184b78: ; 0x02184b78
|
|
ldrsh r2, [r0, #0x3c]
|
|
mov r1, #0
|
|
strh r2, [r0, #0x40]
|
|
ldrsh r2, [r0, #0x3e]
|
|
strh r2, [r0, #0x42]
|
|
strh r1, [r0, #0x44]
|
|
str r1, [r0, #0x38]
|
|
bx lr
|
|
arm_func_end func_ov39_02184b78
|
|
|
|
.global func_ov39_02184b98
|
|
arm_func_start func_ov39_02184b98
|
|
func_ov39_02184b98: ; 0x02184b98
|
|
ldrsh r1, [r0, #0x40]
|
|
strh r1, [r0, #0x3c]
|
|
ldrsh r1, [r0, #0x42]
|
|
strh r1, [r0, #0x3e]
|
|
bx lr
|
|
arm_func_end func_ov39_02184b98
|
|
|
|
.global func_ov39_02184bac
|
|
arm_func_start func_ov39_02184bac
|
|
func_ov39_02184bac: ; 0x02184bac
|
|
mov r1, #0x1000
|
|
str r1, [r0, #0x38]
|
|
bx lr
|
|
arm_func_end func_ov39_02184bac
|
|
|
|
.global func_ov39_02184bb8
|
|
arm_func_start func_ov39_02184bb8
|
|
func_ov39_02184bb8: ; 0x02184bb8
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldrsh r1, [r0, #0x40]
|
|
strh r1, [r0, #0x3c]
|
|
ldrsh r1, [r0, #0x42]
|
|
strh r1, [r0, #0x3e]
|
|
ldr r2, [r0, #0x38]
|
|
cmp r2, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldrsh r1, [r0, #0x44]
|
|
mov lr, #0x29
|
|
ldr r4, _02184c84 ; =data_02050f54
|
|
mov r3, r1, lsl #0x12
|
|
mov r3, r3, lsr #0x10
|
|
mov r3, r3, asr #0x4
|
|
mov ip, r3, lsl #0x2
|
|
add r3, r1, r1, lsl #1
|
|
ldrsh ip, [r4, ip]
|
|
mov r3, r3, lsl #0x10
|
|
mov r3, r3, lsr #0x10
|
|
mul r5, ip, r2
|
|
mov r3, r3, asr #0x4
|
|
mov r3, r3, lsl #0x2
|
|
ldrsh r3, [r4, r3]
|
|
add r4, r5, #0x800
|
|
add r1, r1, #0x55
|
|
mul r2, r3, r2
|
|
add r1, r1, #0x1500
|
|
add r2, r2, #0x800
|
|
strh r1, [r0, #0x44]
|
|
ldr r1, _02184c88 ; =0x00000e39
|
|
mov r3, r4, asr #0xc
|
|
mul r4, r3, r1
|
|
mov r2, r2, asr #0xc
|
|
mul r1, r2, r1
|
|
add r3, r4, #0x800
|
|
add r2, r1, #0x800
|
|
ldrsh r4, [r0, #0x3c]
|
|
mov r1, r3, lsl #0x4
|
|
mov ip, r2, lsl #0x4
|
|
add r1, r4, r1, asr #16
|
|
strh r1, [r0, #0x3c]
|
|
ldrsh r1, [r0, #0x3e]
|
|
ldr r3, _02184c8c ; =0x00000266
|
|
rsb r2, lr, #0x35c
|
|
add r1, r1, ip, asr #16
|
|
strh r1, [r0, #0x3e]
|
|
add r0, r0, #0x38
|
|
mov r1, #0
|
|
str lr, [sp]
|
|
bl func_ov39_02184ab4
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02184bb8
|
|
_02184c84: .word data_02050f54
|
|
_02184c88: .word 0x00000e39
|
|
_02184c8c: .word 0x00000266
|
|
|
|
.global func_ov39_02184c90
|
|
arm_func_start func_ov39_02184c90
|
|
func_ov39_02184c90: ; 0x02184c90
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x48
|
|
ldr r2, [r1, #4]
|
|
ldrb r2, [r2, #0x25]
|
|
cmp r2, #2
|
|
addne sp, sp, #0x48
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r5, [r1, #0xb4]
|
|
ldr r3, _02184d3c ; =data_02050f54
|
|
ldr r1, [r5]
|
|
bic r1, r1, #2
|
|
str r1, [r5]
|
|
ldrh r1, [r0, #0x3c]
|
|
ldrh r4, [r0, #0x3e]
|
|
add r0, sp, #0x24
|
|
mov r1, r1, asr #0x4
|
|
mov r2, r1, lsl #0x1
|
|
add r1, r2, #1
|
|
mov ip, r2, lsl #0x1
|
|
mov r2, r1, lsl #0x1
|
|
ldrsh r1, [r3, ip]
|
|
ldrsh r2, [r3, r2]
|
|
blx func_01ff8214
|
|
mov r0, r4, asr #0x4
|
|
mov r1, r0, lsl #0x1
|
|
add r0, r1, #1
|
|
ldr r2, _02184d3c ; =data_02050f54
|
|
mov r1, r1, lsl #0x1
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r1, [r2, r1]
|
|
ldrsh r2, [r2, r0]
|
|
add r0, sp, #0
|
|
blx func_01ff8230
|
|
add r1, r5, #0x28
|
|
add r0, sp, #0x24
|
|
mov r2, r1
|
|
bl func_0202e030
|
|
add r1, r5, #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_ov39_02184c90
|
|
_02184d3c: .word data_02050f54
|
|
|
|
.global func_ov39_02184d40
|
|
arm_func_start func_ov39_02184d40
|
|
func_ov39_02184d40: ; 0x02184d40
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
ldr r2, [r0, #0x30]
|
|
cmp r1, r2
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
str r1, [r0, #0x30]
|
|
cmp r1, #3
|
|
addls pc, pc, r1, lsl #2
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02184d60: ; jump table
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ; case 0
|
|
b _02184d70 ; case 1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc} ; case 2
|
|
b _02184d7c ; case 3
|
|
_02184d70:
|
|
mov r1, #0xa
|
|
str r1, [r0, #0x34]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_02184d7c:
|
|
ldr lr, _02184e64 ; =data_027e0764
|
|
mov ip, #0
|
|
ldr r2, [lr]
|
|
ldmib lr, {r1, r4}
|
|
umull r6, r5, r4, r2
|
|
mla r5, r4, r1, r5
|
|
ldr r1, [lr, #0xc]
|
|
ldr r4, [lr, #0x10]
|
|
mla r5, r1, r2, r5
|
|
ldr r1, [lr, #0x14]
|
|
adds r4, r4, r6
|
|
adc r5, r1, r5
|
|
str r4, [lr]
|
|
mov r2, #0x2e
|
|
umull r1, r4, r5, r2
|
|
mla r4, r5, ip, r4
|
|
mov r1, ip
|
|
mla r4, r1, r2, r4
|
|
str r5, [lr, #4]
|
|
add r2, r4, #0x2d
|
|
str r2, [r0, #0x34]
|
|
ldr r4, [lr]
|
|
ldmib lr, {r2, r5}
|
|
umull r7, r6, r5, r4
|
|
mla r6, r5, r2, r6
|
|
ldr r2, [lr, #0xc]
|
|
ldr r5, [lr, #0x10]
|
|
mla r6, r2, r4, r6
|
|
ldr r3, _02184e68 ; =0x00002aab
|
|
ldr r4, [lr, #0x14]
|
|
adds r5, r5, r7
|
|
adc r6, r4, r6
|
|
str r5, [lr]
|
|
umull r4, r5, r6, r3
|
|
mla r5, r6, ip, r5
|
|
mla r5, r1, r3, r5
|
|
sub r2, r3, #0x4000
|
|
str r6, [lr, #4]
|
|
add r2, r5, r2
|
|
strh r2, [r0, #0x40]
|
|
ldr r5, [lr]
|
|
ldmib lr, {r4, r7}
|
|
umull sb, r8, r7, r5
|
|
mla r8, r7, r4, r8
|
|
ldr r6, [lr, #0xc]
|
|
ldr fp, [lr, #0x10]
|
|
mla r8, r6, r5, r8
|
|
ldr sl, [lr, #0x14]
|
|
adds r4, fp, sb
|
|
adc r5, sl, r8
|
|
stmia lr, {r4, r5}
|
|
umull lr, r4, r5, r3
|
|
mla r4, r5, ip, r4
|
|
mla r4, r1, r3, r4
|
|
sub r2, r3, #0x4000
|
|
add r1, r4, r2
|
|
strh r1, [r0, #0x42]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02184d40
|
|
_02184e64: .word data_027e0764
|
|
_02184e68: .word 0x00002aab
|
|
|
|
.global func_ov39_02184e6c
|
|
arm_func_start func_ov39_02184e6c
|
|
func_ov39_02184e6c: ; 0x02184e6c
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x30
|
|
mov r4, r0
|
|
ldr r0, [r4, #0x30]
|
|
ldrsh r1, [r4, #0x3c]
|
|
ldrsh r5, [r4, #0x3e]
|
|
cmp r0, #3
|
|
addls pc, pc, r0, lsl #2
|
|
b _021850c4
|
|
_02184e90: ; jump table
|
|
b _02184ea0 ; case 0
|
|
b _02184eac ; case 1
|
|
b _02184ec8 ; case 2
|
|
b _02184fc8 ; case 3
|
|
_02184ea0:
|
|
ldr r1, _021850e8 ; =0xffffce39
|
|
mov r5, #0
|
|
b _021850c4
|
|
_02184eac:
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
moveq r1, #0
|
|
subne r0, r0, #1
|
|
moveq r5, r1
|
|
strne r0, [r4, #0x34]
|
|
b _021850c4
|
|
_02184ec8:
|
|
ldr r0, _021850ec ; =data_ov39_02186cc0
|
|
add r3, sp, #0x24
|
|
ldr r5, [r0, #0x2c]
|
|
ldr r0, [r5, #0x280]
|
|
add r0, r0, #0x48
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
ldr r2, [sp, #0x24]
|
|
ldr r0, [sp, #0x2c]
|
|
ldr r1, [sp, #0x28]
|
|
str r0, [sp, #0x14]
|
|
str r2, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
ldr r1, [r5, #0x48]
|
|
add r0, sp, #0xc
|
|
str r1, [sp]
|
|
ldr r2, [r5, #0x4c]
|
|
add r1, sp, #0
|
|
str r2, [sp, #4]
|
|
ldr r3, [r5, #0x50]
|
|
add r2, sp, #0x18
|
|
str r3, [sp, #8]
|
|
bl func_01ff9bf8
|
|
ldr r1, _021850ec ; =data_ov39_02186cc0
|
|
add r0, sp, #0x18
|
|
ldr r1, [r1, #0x2c]
|
|
ldrsh r1, [r1, #0x78]
|
|
rsb r1, r1, #0
|
|
mov r1, r1, lsl #0x10
|
|
mov r1, r1, asr #0x10
|
|
bl func_ov00_020a61ac
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [sp, #0x18]
|
|
sub r0, r0, #0xcd
|
|
sub r0, r0, #0x1400
|
|
cmp r1, #0x1000
|
|
str r0, [sp, #0x1c]
|
|
movgt r1, #0x1000
|
|
bgt _02184f74
|
|
mov r0, #0x1000
|
|
rsb r0, r0, #0
|
|
cmp r1, r0
|
|
movlt r1, r0
|
|
_02184f74:
|
|
ldr r5, [sp, #0x1c]
|
|
str r1, [sp, #0x18]
|
|
cmp r5, #0x1000
|
|
movgt r5, #0x1000
|
|
bgt _02184f98
|
|
mov r0, #0x1000
|
|
rsb r0, r0, #0
|
|
cmp r5, r0
|
|
movlt r5, r0
|
|
_02184f98:
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, _021850f0 ; =0x00001555
|
|
rsb r2, r5, #0
|
|
rsb r1, r1, #0
|
|
mul r3, r2, r0
|
|
mul r2, r1, r0
|
|
mov r0, r3, lsl #0x4
|
|
mov r2, r2, lsl #0x4
|
|
str r5, [sp, #0x1c]
|
|
mov r1, r0, asr #0x10
|
|
mov r5, r2, asr #0x10
|
|
b _021850c4
|
|
_02184fc8:
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
subgt r0, r0, #1
|
|
strgt r0, [r4, #0x34]
|
|
bgt _021850bc
|
|
ldr r2, _021850f4 ; =data_027e0764
|
|
mov fp, #0
|
|
ldr r3, [r2]
|
|
ldmib r2, {r1, r5}
|
|
umull r7, r6, r5, r3
|
|
mla r6, r5, r1, r6
|
|
ldr r1, [r2, #0xc]
|
|
ldr r5, [r2, #0x10]
|
|
mla r6, r1, r3, r6
|
|
ldr r1, [r2, #0x14]
|
|
adds r3, r5, r7
|
|
adc r6, r1, r6
|
|
str r3, [r2]
|
|
mov r1, #0x2e
|
|
umull r3, r5, r6, r1
|
|
mla r5, r6, fp, r5
|
|
mov sl, fp
|
|
mla r5, sl, r1, r5
|
|
str r6, [r2, #4]
|
|
add r1, r5, #0x2d
|
|
str r1, [r4, #0x34]
|
|
ldr r3, [r2]
|
|
ldmib r2, {r1, r5}
|
|
umull r7, r6, r5, r3
|
|
mla r6, r5, r1, r6
|
|
ldr r1, [r2, #0xc]
|
|
ldr r5, [r2, #0x10]
|
|
mla r6, r1, r3, r6
|
|
ldr r0, _021850f8 ; =0x00002aab
|
|
ldr r3, [r2, #0x14]
|
|
adds r5, r5, r7
|
|
adc r6, r3, r6
|
|
str r5, [r2]
|
|
umull r3, r5, r6, r0
|
|
mla r5, r6, fp, r5
|
|
mla r5, sl, r0, r5
|
|
sub r1, r0, #0x4000
|
|
str r6, [r2, #4]
|
|
add r1, r5, r1
|
|
strh r1, [r4, #0x40]
|
|
ldr ip, [r2]
|
|
ldmib r2, {r3, r5, lr}
|
|
umull r7, r6, r5, ip
|
|
mla r6, r5, r3, r6
|
|
ldr sb, [r2, #0x10]
|
|
mla r6, lr, ip, r6
|
|
ldr r8, [r2, #0x14]
|
|
adds r3, sb, r7
|
|
adc r5, r8, r6
|
|
stmia r2, {r3, r5}
|
|
umull r2, r3, r5, r0
|
|
mla r3, r5, fp, r3
|
|
mla r3, sl, r0, r3
|
|
sub r1, r0, #0x4000
|
|
add r0, r3, r1
|
|
strh r0, [r4, #0x42]
|
|
_021850bc:
|
|
ldrsh r1, [r4, #0x40]
|
|
ldrsh r5, [r4, #0x42]
|
|
_021850c4:
|
|
ldr r2, _021850fc ; =0x0000071c
|
|
add r0, r4, #0x3c
|
|
bl func_0202b154
|
|
ldr r2, _021850fc ; =0x0000071c
|
|
mov r1, r5
|
|
add r0, r4, #0x3e
|
|
bl func_0202b154
|
|
add sp, sp, #0x30
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02184e6c
|
|
_021850e8: .word 0xffffce39
|
|
_021850ec: .word data_ov39_02186cc0
|
|
_021850f0: .word 0x00001555
|
|
_021850f4: .word data_027e0764
|
|
_021850f8: .word 0x00002aab
|
|
_021850fc: .word 0x0000071c
|
|
|
|
.global func_ov39_02185100
|
|
arm_func_start func_ov39_02185100
|
|
func_ov39_02185100: ; 0x02185100
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
blx func_ov00_020a95ec
|
|
mov r0, r4
|
|
bl func_0202ea0c
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02185100
|
|
|
|
.global func_ov39_0218511c
|
|
arm_func_start func_ov39_0218511c
|
|
func_ov39_0218511c: ; 0x0218511c
|
|
bx lr
|
|
arm_func_end func_ov39_0218511c
|
|
|
|
.global func_ov39_02185120
|
|
arm_func_start func_ov39_02185120
|
|
func_ov39_02185120: ; 0x02185120
|
|
stmdb sp!, {r3, lr}
|
|
ldr r3, _0218518c ; =data_ov39_02186cf0
|
|
mov r2, #0
|
|
strh r2, [r3, #0xc]
|
|
ldr lr, [r1]
|
|
ldr r2, _02185190 ; =data_ov39_02186c14
|
|
str lr, [r3]
|
|
ldr ip, [r1, #4]
|
|
str ip, [r3, #4]
|
|
ldr r1, [r1, #8]
|
|
str r1, [r3, #8]
|
|
str lr, [r0, #0x158]
|
|
ldr r1, [r3, #4]
|
|
str r1, [r0, #0x15c]
|
|
ldr r1, [r3, #8]
|
|
str r1, [r0, #0x160]
|
|
ldr r1, [r0, #0x158]
|
|
str r1, [r0, #0x48]
|
|
ldr r1, [r0, #0x15c]
|
|
str r1, [r0, #0x4c]
|
|
ldr r1, [r0, #0x160]
|
|
str r1, [r0, #0x50]
|
|
ldr r3, [r2]
|
|
ldr r1, [r2, #4]
|
|
str r3, [r0, #0x3b8]
|
|
str r1, [r0, #0x3bc]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02185120
|
|
_0218518c: .word data_ov39_02186cf0
|
|
_02185190: .word data_ov39_02186c14
|
|
|
|
.global func_ov39_02185194
|
|
arm_func_start func_ov39_02185194
|
|
func_ov39_02185194: ; 0x02185194
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _02185200 ; =data_ov39_02186cf0
|
|
mov r4, r0
|
|
ldrsh r1, [r1, #0xc]
|
|
cmp r1, #0
|
|
beq _021851b4
|
|
cmp r1, #1
|
|
b _021851d4
|
|
_021851b4:
|
|
ldr r1, _02185204 ; =data_ov39_02186cf0
|
|
bl func_ov00_020c288c
|
|
cmp r0, #0x20
|
|
movle r2, #0xcd
|
|
ldr r1, _02185204 ; =data_ov39_02186cf0
|
|
movgt r2, #0x5000
|
|
add r0, r4, #0x48
|
|
bl func_0202b2e8
|
|
_021851d4:
|
|
mov r0, #0x10000
|
|
ldr r1, [r4, #0x23c]
|
|
rsb r0, r0, #0
|
|
and r0, r1, r0
|
|
cmp r0, #0x1000000
|
|
ldmeqia sp!, {r4, pc}
|
|
add r0, r4, #0x224
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x10]
|
|
blx r1
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02185194
|
|
_02185200: .word data_ov39_02186cf0
|
|
_02185204: .word data_ov39_02186cf0
|
|
|
|
.global func_ov39_02185208
|
|
arm_func_start func_ov39_02185208
|
|
func_ov39_02185208: ; 0x02185208
|
|
stmdb sp!, {r3, lr}
|
|
ldr r2, _0218527c ; =data_ov39_02186c14
|
|
ldr ip, [r0, #0x3b8]
|
|
ldr r2, [r2, #8]
|
|
mov lr, #1
|
|
cmp ip, r2
|
|
ldr r2, _02185280 ; =data_ov39_02186c1c
|
|
bne _0218523c
|
|
ldr r3, [r0, #0x3bc]
|
|
ldr r2, [r2, #4]
|
|
cmp r3, r2
|
|
cmpne ip, #0
|
|
moveq lr, #0
|
|
_0218523c:
|
|
cmp lr, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r3, [r1]
|
|
ldr r2, _02185284 ; =data_ov39_02186cf0
|
|
str r3, [r0, #0x158]
|
|
ldr r3, [r1, #4]
|
|
str r3, [r0, #0x15c]
|
|
ldr r1, [r1, #8]
|
|
str r1, [r0, #0x160]
|
|
ldr r1, [r0, #0x158]
|
|
str r1, [r2]
|
|
ldr r1, [r0, #0x15c]
|
|
str r1, [r2, #4]
|
|
ldr r0, [r0, #0x160]
|
|
str r0, [r2, #8]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02185208
|
|
_0218527c: .word data_ov39_02186c14
|
|
_02185280: .word data_ov39_02186c1c
|
|
_02185284: .word data_ov39_02186cf0
|
|
|
|
.global func_ov39_02185288
|
|
arm_func_start func_ov39_02185288
|
|
func_ov39_02185288: ; 0x02185288
|
|
stmdb sp!, {r3, lr}
|
|
ldr r2, _02185318 ; =data_ov39_02186c14
|
|
ldr ip, [r0, #0x3b8]
|
|
ldr r2, [r2, #0x10]
|
|
mov lr, #1
|
|
cmp ip, r2
|
|
ldr r2, _0218531c ; =data_ov39_02186c24
|
|
bne _021852bc
|
|
ldr r3, [r0, #0x3bc]
|
|
ldr r2, [r2, #4]
|
|
cmp r3, r2
|
|
cmpne ip, #0
|
|
moveq lr, #0
|
|
_021852bc:
|
|
cmp lr, #0
|
|
ldmneia sp!, {r3, pc}
|
|
ldr r2, _02185320 ; =data_ov39_02186cf0
|
|
mov r3, #1
|
|
strh r3, [r2, #0xc]
|
|
ldr r3, [r1]
|
|
str r3, [r0, #0x158]
|
|
ldr r3, [r1, #4]
|
|
str r3, [r0, #0x15c]
|
|
ldr r1, [r1, #8]
|
|
str r1, [r0, #0x160]
|
|
ldr r3, [r0, #0x158]
|
|
str r3, [r2]
|
|
ldr r1, [r0, #0x15c]
|
|
str r1, [r2, #4]
|
|
ldr r1, [r0, #0x160]
|
|
str r1, [r2, #8]
|
|
str r3, [r0, #0x48]
|
|
ldr r1, [r2, #4]
|
|
str r1, [r0, #0x4c]
|
|
ldr r1, [r2, #8]
|
|
str r1, [r0, #0x50]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02185288
|
|
_02185318: .word data_ov39_02186c14
|
|
_0218531c: .word data_ov39_02186c24
|
|
_02185320: .word data_ov39_02186cf0
|
|
|
|
.global func_ov39_02185324
|
|
arm_func_start func_ov39_02185324
|
|
func_ov39_02185324: ; 0x02185324
|
|
stmdb sp!, {r4, lr}
|
|
sub sp, sp, #0x18
|
|
mov r4, r0
|
|
cmp r1, #0
|
|
beq _02185374
|
|
add r3, r4, #0x218
|
|
add r2, r4, #0x220
|
|
cmp r3, r2
|
|
addeq sp, sp, #0x18
|
|
ldmeqia sp!, {r4, pc}
|
|
_0218534c:
|
|
ldr r1, [r3]
|
|
add r3, r3, #4
|
|
cmp r1, #0
|
|
ldrne r0, [r1, #0x24]
|
|
orrne r0, r0, #8
|
|
strne r0, [r1, #0x24]
|
|
cmp r3, r2
|
|
bne _0218534c
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, pc}
|
|
_02185374:
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0xd0]
|
|
blx r1
|
|
mov r0, r4
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0xd4]
|
|
blx r1
|
|
add r0, r4, #0x48
|
|
add r1, r4, #0x60
|
|
mov r2, r0
|
|
bl func_01ff9bc4
|
|
mov r0, r4
|
|
bl func_ov00_020c2bf4
|
|
mov r0, r4
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0xe0]
|
|
blx r1
|
|
mov r0, r4
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0xd8]
|
|
blx r1
|
|
add r0, r4, #0x48
|
|
ldmia r0, {r0, r1, r2}
|
|
add r3, sp, #0xc
|
|
stmia r3, {r0, r1, r2}
|
|
add lr, r4, #0x54
|
|
add ip, sp, #0
|
|
ldmia lr, {r0, r1, r2}
|
|
stmia ip, {r0, r1, r2}
|
|
ldr r3, [sp, #0x10]
|
|
ldr r1, [sp, #4]
|
|
add r0, r3, #0x33
|
|
add r0, r0, #0x300
|
|
add r1, r1, #0x33
|
|
str r0, [sp, #0x10]
|
|
add r1, r1, #0x300
|
|
add r0, r4, #0x60
|
|
str r1, [sp, #4]
|
|
bl func_01ff9cec
|
|
add r1, r4, #0x200
|
|
ldrsh r3, [r1, #0x20]
|
|
mov r1, #0x3000
|
|
ldr r2, _021855c0 ; =0x55555556
|
|
smulbb r1, r3, r1
|
|
mov r3, r1, lsr #0x1
|
|
smull r1, ip, r2, r3
|
|
add ip, ip, r3, lsr #31
|
|
sub r1, r0, ip
|
|
ldr r0, [r4, #0x218]
|
|
cmp r0, #0
|
|
beq _02185488
|
|
ldr r2, [r0, #0x20]
|
|
ldr r3, [sp, #0xc]
|
|
ldr r2, [r2]
|
|
ldr r2, [r2, #4]
|
|
add r2, r3, r2
|
|
str r2, [r0, #0x28]
|
|
ldr r2, [r0, #0x20]
|
|
ldr r3, [sp, #0x10]
|
|
ldr r2, [r2]
|
|
ldr r2, [r2, #8]
|
|
add r2, r3, r2
|
|
str r2, [r0, #0x2c]
|
|
ldr r2, [r0, #0x20]
|
|
ldr r3, [sp, #0x14]
|
|
ldr r2, [r2]
|
|
ldr r2, [r2, #0xc]
|
|
add r2, r3, r2
|
|
str r2, [r0, #0x30]
|
|
_02185488:
|
|
ldr r3, [r4, #0x218]
|
|
cmp r3, #0
|
|
beq _021854c0
|
|
cmp r1, #0
|
|
movge r0, #1
|
|
movlt r0, #0
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
ldr r2, [r3, #0x24]
|
|
movne r0, #0
|
|
mov r0, r0, lsl #0x1f
|
|
bic r2, r2, #2
|
|
orr r0, r2, r0, lsr #30
|
|
str r0, [r3, #0x24]
|
|
_021854c0:
|
|
cmp r1, #0x1800
|
|
blt _02185548
|
|
add r0, sp, #0xc
|
|
add r1, sp, #0
|
|
mov r2, #0x2000
|
|
bl func_0202b308
|
|
ldr r0, [r4, #0x21c]
|
|
cmp r0, #0
|
|
beq _0218552c
|
|
ldr r1, [r0, #0x20]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #4]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x28]
|
|
ldr r1, [r0, #0x20]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #8]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x2c]
|
|
ldr r1, [r0, #0x20]
|
|
ldr r2, [sp, #0x14]
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #0xc]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x30]
|
|
_0218552c:
|
|
ldr r1, [r4, #0x21c]
|
|
cmp r1, #0
|
|
beq _0218555c
|
|
ldr r0, [r1, #0x24]
|
|
bic r0, r0, #2
|
|
str r0, [r1, #0x24]
|
|
b _0218555c
|
|
_02185548:
|
|
ldr r1, [r4, #0x21c]
|
|
cmp r1, #0
|
|
ldrne r0, [r1, #0x24]
|
|
orrne r0, r0, #2
|
|
strne r0, [r1, #0x24]
|
|
_0218555c:
|
|
add r3, r4, #0x200
|
|
ldrsh r0, [r3, #0x20]
|
|
ldr r1, _021855c0 ; =0x55555556
|
|
mov r2, #3
|
|
add ip, r0, #1
|
|
smull r0, lr, r1, ip
|
|
add lr, lr, ip, lsr #31
|
|
smull r0, r1, r2, lr
|
|
sub lr, ip, r0
|
|
add ip, r4, #0x218
|
|
add r2, r4, #0x220
|
|
cmp ip, r2
|
|
strh lr, [r3, #0x20]
|
|
addeq sp, sp, #0x18
|
|
ldmeqia sp!, {r4, pc}
|
|
_02185598:
|
|
ldr r1, [ip]
|
|
add ip, ip, #4
|
|
cmp r1, #0
|
|
ldrne r0, [r1, #0x24]
|
|
bicne r0, r0, #8
|
|
strne r0, [r1, #0x24]
|
|
cmp ip, r2
|
|
bne _02185598
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02185324
|
|
_021855c0: .word 0x55555556
|
|
|
|
.global func_ov39_021855c4
|
|
arm_func_start func_ov39_021855c4
|
|
func_ov39_021855c4: ; 0x021855c4
|
|
stmdb sp!, {r4, lr}
|
|
mov r1, #0
|
|
mov r4, r0
|
|
blx func_ov00_020a956c
|
|
ldr r1, _0218560c ; =data_ov39_02186c74
|
|
mvn r0, #0
|
|
str r1, [r4]
|
|
str r0, [r4, #0xc8]
|
|
str r0, [r4, #0xcc]
|
|
str r0, [r4, #0xd0]
|
|
str r0, [r4, #0xd4]
|
|
mov r1, #0
|
|
strb r1, [r4, #0xd8]
|
|
str r1, [r4, #0x5c]
|
|
str r1, [r4, #0x60]
|
|
mov r0, r4
|
|
str r1, [r4, #0x64]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021855c4
|
|
_0218560c: .word data_ov39_02186c74
|
|
|
|
.global func_ov39_02185610
|
|
arm_func_start func_ov39_02185610
|
|
func_ov39_02185610: ; 0x02185610
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r2, [r5, #0xcc]
|
|
mvn r0, #0
|
|
mov r4, r1
|
|
cmp r2, r0
|
|
bne _0218565c
|
|
ldr r0, [r4, #4]
|
|
ldr r1, _021856ac ; =data_ov39_02186918
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
str r0, [r5, #0xcc]
|
|
ldr r0, [r4, #4]
|
|
ldr r1, _021856b0 ; =data_ov39_0218692c
|
|
ldr r0, [r0, #4]
|
|
add r0, r0, #0x40
|
|
bl func_0201e388
|
|
str r0, [r5, #0xc8]
|
|
_0218565c:
|
|
ldr r0, [r4, #8]
|
|
tst r0, #0x10
|
|
ldrneb r1, [r4, #0xae]
|
|
ldr r0, [r5, #0xcc]
|
|
mvneq r1, #0
|
|
cmp r0, r1
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
add r0, r5, #0x68
|
|
mov r1, #0
|
|
bl func_0201b1bc
|
|
bl func_02018450
|
|
mov ip, r0
|
|
add r4, r5, #0x98
|
|
ldmia ip!, {r0, r1, r2, r3}
|
|
stmia r4!, {r0, r1, r2, r3}
|
|
ldmia ip!, {r0, r1, r2, r3}
|
|
stmia r4!, {r0, r1, r2, r3}
|
|
ldmia ip, {r0, r1, r2, r3}
|
|
stmia r4, {r0, r1, r2, r3}
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02185610
|
|
_021856ac: .word data_ov39_02186918
|
|
_021856b0: .word data_ov39_0218692c
|
|
|
|
.global func_ov39_021856b4
|
|
arm_func_start func_ov39_021856b4
|
|
func_ov39_021856b4: ; 0x021856b4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
ldr r2, [r5, #0xd0]
|
|
mvn r0, #0
|
|
mov r4, r1
|
|
cmp r2, r0
|
|
bne _02185710
|
|
ldr r0, [r4, #4]
|
|
ldr r1, _02185774 ; =data_ov39_02186940
|
|
ldr r2, [r0, #4]
|
|
ldr r0, [r2, #8]
|
|
add r0, r2, r0
|
|
add r0, r0, #4
|
|
bl func_0201e388
|
|
str r0, [r5, #0xd0]
|
|
ldr r0, [r4, #4]
|
|
ldr r1, _02185778 ; =data_ov39_02186954
|
|
ldr r2, [r0, #4]
|
|
ldr r0, [r2, #8]
|
|
add r0, r2, r0
|
|
add r0, r0, #4
|
|
bl func_0201e388
|
|
str r0, [r5, #0xd4]
|
|
_02185710:
|
|
ldr r0, [r4, #8]
|
|
tst r0, #8
|
|
ldrneb r1, [r4, #0xad]
|
|
ldr r0, [r5, #0xd0]
|
|
mvneq r1, #0
|
|
cmp r1, r0
|
|
ldrne r0, [r5, #0xd4]
|
|
cmpne r1, r0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
ldr r0, [r4, #4]
|
|
ldr r0, [r0, #0x2c]
|
|
ldr r0, [r0, #0x158]
|
|
tst r0, #0x80
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [r4, #0xb0]
|
|
ldr r0, [r1, #0xc]
|
|
bic r0, r0, #0x1f0000
|
|
str r0, [r1, #0xc]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021856b4
|
|
_02185774: .word data_ov39_02186940
|
|
_02185778: .word data_ov39_02186954
|
|
|
|
.global func_ov39_0218577c
|
|
arm_func_start func_ov39_0218577c
|
|
func_ov39_0218577c: ; 0x0218577c
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
sub sp, sp, #0x60
|
|
mov r6, r0
|
|
mov r5, r2
|
|
mov r4, r1
|
|
add r2, sp, #0x30
|
|
add r0, r6, #0x68
|
|
add r1, r6, #0x98
|
|
bl func_01ff8e84
|
|
cmp r5, #0
|
|
beq _021857bc
|
|
cmp r5, #1
|
|
beq _021857f8
|
|
cmp r5, #2
|
|
beq _02185814
|
|
b _0218582c
|
|
_021857bc:
|
|
ldrb r0, [r6, #0xd8]
|
|
cmp r0, #0
|
|
beq _021857e0
|
|
ldr r2, [sp, #0x5c]
|
|
ldr r1, [sp, #0x58]
|
|
ldr r0, [sp, #0x54]
|
|
add sp, sp, #0x60
|
|
stmia r4, {r0, r1, r2}
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_021857e0:
|
|
mov r0, #0
|
|
mov r1, #0x800
|
|
str r1, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
str r0, [sp, #0x2c]
|
|
b _0218582c
|
|
_021857f8:
|
|
ldr r0, _02185880 ; =0x00000333
|
|
mov r2, #0x800
|
|
mov r1, #0
|
|
str r2, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
str r0, [sp, #0x2c]
|
|
b _0218582c
|
|
_02185814:
|
|
ldr r0, _02185884 ; =0xfffffccd
|
|
mov r2, #0x800
|
|
mov r1, #0
|
|
str r2, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
str r0, [sp, #0x2c]
|
|
_0218582c:
|
|
add r0, sp, #0x30
|
|
add r1, sp, #0
|
|
bl func_020079d8
|
|
add r0, sp, #0x24
|
|
add r1, sp, #0
|
|
mov r2, r0
|
|
bl func_01ff88b0
|
|
ldr r1, [sp, #0x24]
|
|
ldr r0, [sp, #0x54]
|
|
ldr lr, [sp, #0x2c]
|
|
ldr ip, [sp, #0x5c]
|
|
ldr r3, [sp, #0x28]
|
|
ldr r2, [sp, #0x58]
|
|
add r0, r1, r0
|
|
str r0, [r4]
|
|
add r0, r3, r2
|
|
str r0, [r4, #4]
|
|
add r0, lr, ip
|
|
str r0, [r4, #8]
|
|
add sp, sp, #0x60
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0218577c
|
|
_02185880: .word 0x00000333
|
|
_02185884: .word 0xfffffccd
|
|
|
|
.global func_ov39_02185888
|
|
arm_func_start func_ov39_02185888
|
|
func_ov39_02185888: ; 0x02185888
|
|
stmdb sp!, {r4, lr}
|
|
ldr r2, _021858b8 ; =data_ov39_021867b0
|
|
mov r4, r0
|
|
mov r1, #0x5d
|
|
bl func_ov00_020c5c98
|
|
mov r0, r4
|
|
mov r1, #2
|
|
bl func_ov00_020c5d74
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0x1000
|
|
str r1, [r0, #0x10]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02185888
|
|
_021858b8: .word data_ov39_021867b0
|
|
|
|
.global func_ov39_021858bc
|
|
arm_func_start func_ov39_021858bc
|
|
func_ov39_021858bc: ; 0x021858bc
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x70
|
|
mov r4, r0
|
|
add lr, sp, #0x40
|
|
add r5, r4, #0x80
|
|
mov ip, lr
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
ldmia r5!, {r0, r1, r2, r3}
|
|
stmia lr!, {r0, r1, r2, r3}
|
|
ldmia r5, {r0, r1, r2, r3}
|
|
stmia lr, {r0, r1, r2, r3}
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r2, _02185994 ; =0x00000785
|
|
ldr r3, _02185998 ; =0xfffff63d
|
|
mov r0, ip
|
|
mov r1, ip
|
|
bl func_01ff8988
|
|
ldr r0, [sp, #0x5c]
|
|
ldr r1, [sp, #0x58]
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x40]
|
|
str r1, [sp, #0x10]
|
|
ldr r1, [sp, #0x60]
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x48]
|
|
str r1, [sp, #0x18]
|
|
ldr r1, [sp, #0x44]
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x50]
|
|
str r1, [sp, #0x20]
|
|
ldr r1, [sp, #0x4c]
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x64]
|
|
str r1, [sp, #0x28]
|
|
ldr r1, [sp, #0x54]
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [sp, #0x6c]
|
|
str r1, [sp, #0x30]
|
|
ldr r1, [sp, #0x68]
|
|
str r0, [sp, #0x3c]
|
|
str r1, [sp, #0x38]
|
|
ldr r1, [r4, #0x370]
|
|
add r0, r4, #0x218
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0x1000
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
add r1, sp, #4
|
|
add r2, sp, #0x10
|
|
bl func_ov00_020c604c
|
|
add sp, sp, #0x70
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_021858bc
|
|
_02185994: .word 0x00000785
|
|
_02185998: .word 0xfffff63d
|
|
|
|
.global func_ov39_0218599c
|
|
arm_func_start func_ov39_0218599c
|
|
func_ov39_0218599c: ; 0x0218599c
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
ldr r2, _021859e4 ; =data_ov39_02186864
|
|
mov r4, r1
|
|
add r3, r2, r4, lsl #3
|
|
ldr r1, [r3, #4]
|
|
mov r5, r0
|
|
tst r1, #1
|
|
add r0, r5, r1, asr #1
|
|
ldreq r1, [r3]
|
|
beq _021859d0
|
|
ldr r2, [r0]
|
|
ldr r1, [r3]
|
|
ldr r1, [r2, r1]
|
|
_021859d0:
|
|
blx r1
|
|
str r4, [r5, #0xca0]
|
|
mov r0, #0
|
|
str r0, [r5, #0xca4]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0218599c
|
|
_021859e4: .word data_ov39_02186864
|
|
|
|
.global func_ov39_021859e8
|
|
arm_func_start func_ov39_021859e8
|
|
func_ov39_021859e8: ; 0x021859e8
|
|
ldr r0, [r0, #0xca0]
|
|
cmp r0, #4
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
bx lr
|
|
arm_func_end func_ov39_021859e8
|
|
|
|
.global func_ov39_021859fc
|
|
arm_func_start func_ov39_021859fc
|
|
func_ov39_021859fc: ; 0x021859fc
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, [r0, #0xca0]
|
|
cmp r1, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
mov r1, #1
|
|
bl func_ov39_0218599c
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end func_ov39_021859fc
|
|
|
|
.global func_ov39_02185a20
|
|
arm_func_start func_ov39_02185a20
|
|
func_ov39_02185a20: ; 0x02185a20
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, [r0, #0xca0]
|
|
cmp r1, #2
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
mov r1, #4
|
|
bl func_ov39_0218599c
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end func_ov39_02185a20
|
|
|
|
.global func_ov39_02185a44
|
|
arm_func_start func_ov39_02185a44
|
|
func_ov39_02185a44: ; 0x02185a44
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, [r0, #0xca0]
|
|
sub r1, r1, #1
|
|
cmp r1, #1
|
|
movhi r0, #0
|
|
ldmhiia sp!, {r3, pc}
|
|
mov r1, #3
|
|
bl func_ov39_0218599c
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end func_ov39_02185a44
|
|
|
|
.global func_ov39_02185a6c
|
|
arm_func_start func_ov39_02185a6c
|
|
func_ov39_02185a6c: ; 0x02185a6c
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, [r0, #0xca0]
|
|
cmp r1, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r3, pc}
|
|
mov r1, #6
|
|
bl func_ov39_0218599c
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end func_ov39_02185a6c
|
|
|
|
.global func_ov39_02185a90
|
|
arm_func_start func_ov39_02185a90
|
|
func_ov39_02185a90: ; 0x02185a90
|
|
ldr r0, [r0, #0xca0]
|
|
cmp r0, #6
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
bx lr
|
|
arm_func_end func_ov39_02185a90
|
|
|
|
.global func_ov39_02185aa4
|
|
arm_func_start func_ov39_02185aa4
|
|
func_ov39_02185aa4: ; 0x02185aa4
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, [r0, #0xca0]
|
|
ldr r2, _02185adc ; =data_ov39_021868bc
|
|
add r3, r2, r1, lsl #3
|
|
ldr r1, [r3, #4]
|
|
tst r1, #1
|
|
add r0, r0, r1, asr #1
|
|
ldreq r1, [r3]
|
|
beq _02185ad4
|
|
ldr r2, [r0]
|
|
ldr r1, [r3]
|
|
ldr r1, [r2, r1]
|
|
_02185ad4:
|
|
blx r1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02185aa4
|
|
_02185adc: .word data_ov39_021868bc
|
|
|
|
.global func_ov39_02185ae0
|
|
arm_func_start func_ov39_02185ae0
|
|
func_ov39_02185ae0: ; 0x02185ae0
|
|
ldr ip, _02185af0 ; =func_ov39_021858bc
|
|
add r0, r0, #0x3ec
|
|
add r0, r0, #0x400
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02185ae0
|
|
_02185af0: .word func_ov39_021858bc
|
|
|
|
.global func_ov39_02185af4
|
|
arm_func_start func_ov39_02185af4
|
|
func_ov39_02185af4: ; 0x02185af4
|
|
ldr ip, _02185b08 ; =func_ov00_020c5d74
|
|
add r0, r0, #0x204
|
|
add r0, r0, #0x800
|
|
mov r1, #2
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02185af4
|
|
_02185b08: .word func_ov00_020c5d74
|
|
|
|
.global func_ov39_02185b0c
|
|
arm_func_start func_ov39_02185b0c
|
|
func_ov39_02185b0c: ; 0x02185b0c
|
|
bx lr
|
|
arm_func_end func_ov39_02185b0c
|
|
|
|
.global func_ov39_02185b10
|
|
arm_func_start func_ov39_02185b10
|
|
func_ov39_02185b10: ; 0x02185b10
|
|
stmdb sp!, {r4, lr}
|
|
ldr r1, _02185b84 ; =data_027e0764
|
|
mov r4, r0
|
|
ldr r2, [r1]
|
|
ldmib r1, {r0, r3}
|
|
umull lr, ip, r3, r2
|
|
mla ip, r3, r0, ip
|
|
ldr r0, [r1, #0xc]
|
|
ldr r3, [r1, #0x10]
|
|
mla ip, r0, r2, ip
|
|
ldr r0, [r1, #0x14]
|
|
adds r2, r3, lr
|
|
adc r0, r0, ip
|
|
str r2, [r1]
|
|
str r0, [r1, #4]
|
|
tst r0, #0x80000000
|
|
add r0, r4, #0x204
|
|
add r0, r0, #0x800
|
|
beq _02185b70
|
|
mov r1, #0
|
|
bl func_ov00_020c5d74
|
|
mov r0, #1
|
|
strb r0, [r4, #0xca8]
|
|
ldmia sp!, {r4, pc}
|
|
_02185b70:
|
|
mov r1, #1
|
|
bl func_ov00_020c5d74
|
|
mov r0, #0
|
|
strb r0, [r4, #0xca8]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02185b10
|
|
_02185b84: .word data_027e0764
|
|
|
|
.global func_ov39_02185b88
|
|
arm_func_start func_ov39_02185b88
|
|
func_ov39_02185b88: ; 0x02185b88
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0xa14]
|
|
mov r1, #0xf000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r4, #0xa14]
|
|
mov r1, #0xf000
|
|
str r1, [r0, #0x14]
|
|
ldr r2, [r4, #0xa14]
|
|
mov r3, #0
|
|
mov r0, r4
|
|
mov r1, #2
|
|
str r3, [r2, #0x10]
|
|
bl func_ov39_0218599c
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02185b88
|
|
|
|
.global func_ov39_02185bd0
|
|
arm_func_start func_ov39_02185bd0
|
|
func_ov39_02185bd0: ; 0x02185bd0
|
|
bx lr
|
|
arm_func_end func_ov39_02185bd0
|
|
|
|
.global func_ov39_02185bd4
|
|
arm_func_start func_ov39_02185bd4
|
|
func_ov39_02185bd4: ; 0x02185bd4
|
|
bx lr
|
|
arm_func_end func_ov39_02185bd4
|
|
|
|
.global func_ov39_02185bd8
|
|
arm_func_start func_ov39_02185bd8
|
|
func_ov39_02185bd8: ; 0x02185bd8
|
|
mov r1, #0x1000
|
|
ldr r0, [r0, #0xa14]
|
|
rsb r1, r1, #0
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
arm_func_end func_ov39_02185bd8
|
|
|
|
.global func_ov39_02185bec
|
|
arm_func_start func_ov39_02185bec
|
|
func_ov39_02185bec: ; 0x02185bec
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0xa14]
|
|
mov r1, #0
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl func_ov39_0218599c
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02185bec
|
|
|
|
.global func_ov39_02185c1c
|
|
arm_func_start func_ov39_02185c1c
|
|
func_ov39_02185c1c: ; 0x02185c1c
|
|
ldr r1, [r0, #0xa14]
|
|
mov r2, #0x1000
|
|
str r2, [r1, #0x10]
|
|
ldr r1, [r0, #0x158]
|
|
bic r1, r1, #0x1000
|
|
orr r1, r1, #0x800000
|
|
str r1, [r0, #0x158]
|
|
bx lr
|
|
arm_func_end func_ov39_02185c1c
|
|
|
|
.global func_ov39_02185c3c
|
|
arm_func_start func_ov39_02185c3c
|
|
func_ov39_02185c3c: ; 0x02185c3c
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #0x38
|
|
mov r5, r0
|
|
ldr r1, [r5, #0x158]
|
|
tst r1, #0x1000
|
|
ldreqb r0, [r5, #0xc9c]
|
|
cmpeq r0, #0
|
|
bne _02185d8c
|
|
tst r1, #0x20
|
|
bne _02185d8c
|
|
add r0, sp, #0x10
|
|
mov r1, r5
|
|
bl func_ov39_0217f798
|
|
ldr r3, [sp, #0x10]
|
|
ldr r2, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, _02185e88 ; =0x00000e66
|
|
str r3, [sp, #0x28]
|
|
str r2, [sp, #0x2c]
|
|
str r1, [sp, #0x30]
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [r5, #0xa14]
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #0x1c000
|
|
bgt _02185d8c
|
|
add r1, sp, #0x28
|
|
add r2, sp, #0x1c
|
|
add r0, r5, #0x208
|
|
bl func_01ff9bf8
|
|
ldr r1, _02185e8c ; =data_027e0fac
|
|
ldr r0, [sp, #0x1c]
|
|
ldrsh r4, [r1]
|
|
ldr r1, [sp, #0x24]
|
|
bl func_01ffa0f4
|
|
mov r0, r0, lsl #0x10
|
|
rsbs r1, r4, r0, asr #16
|
|
ldr r0, _02185e90 ; =0x000031c7
|
|
rsbmi r1, r1, #0
|
|
cmp r1, r0
|
|
bgt _02185d1c
|
|
ldr r0, _02185e94 ; =data_027e0f90
|
|
add r1, sp, #0x28
|
|
ldr r0, [r0]
|
|
mov r2, #1
|
|
bl func_ov00_020a7ce4
|
|
cmp r0, #0
|
|
beq _02185d1c
|
|
bl func_ov39_02185ea8
|
|
add r2, r5, #0x48
|
|
mov r1, #0x18c
|
|
mov r3, #1
|
|
bl func_ov00_020c070c
|
|
ldr r0, [r5, #0x158]
|
|
orr r0, r0, #0x1000
|
|
str r0, [r5, #0x158]
|
|
b _02185d8c
|
|
_02185d1c:
|
|
ldrh r0, [r5, #0x78]
|
|
mov r4, #0
|
|
ldr r1, _02185e98 ; =data_02050f54
|
|
mov r0, r0, asr #0x4
|
|
mov r2, r0, lsl #0x1
|
|
add r0, r2, #1
|
|
mov r2, r2, lsl #0x1
|
|
ldrsh ip, [r1, r2]
|
|
mov r0, r0, lsl #0x1
|
|
ldrsh r3, [r1, r0]
|
|
add r1, sp, #0x28
|
|
add r2, sp, #0x1c
|
|
str r3, [sp, #0x24]
|
|
mov r0, r5
|
|
str ip, [sp, #0x1c]
|
|
str r4, [sp, #0x20]
|
|
mov r3, #2
|
|
str r3, [sp]
|
|
bl func_ov00_020c1ef8
|
|
cmp r0, #0
|
|
beq _02185d8c
|
|
ldr r0, _02185e9c ; =data_027e0ffc
|
|
ldr r1, _02185ea0 ; =0x00000313
|
|
add r2, r5, #0x48
|
|
mov r3, r4
|
|
bl func_ov00_020ceacc
|
|
mov r0, r5
|
|
bl func_ov39_0217fbc8
|
|
_02185d8c:
|
|
ldr r0, [r5, #0xa14]
|
|
ldr r4, [r0, #0x14]
|
|
cmp r4, #0x17000
|
|
bne _02185db0
|
|
ldr r0, _02185e9c ; =data_027e0ffc
|
|
ldr r1, _02185ea4 ; =0x00000312
|
|
add r2, r5, #0x48
|
|
mov r3, #0
|
|
bl func_ov00_020ceacc
|
|
_02185db0:
|
|
cmp r4, #0x18000
|
|
blt _02185dec
|
|
cmp r4, #0x1c000
|
|
bgt _02185dec
|
|
sub r0, r4, #0x18000
|
|
mov r1, #0x4000
|
|
bl func_01ff98e0
|
|
ldr r1, [r5, #0x1b4]
|
|
sub r1, r1, #0x1000
|
|
mul r1, r0, r1
|
|
add r0, r1, #0x800
|
|
mov r0, r0, asr #0xc
|
|
add r0, r0, #0x1000
|
|
str r0, [r5, #0xb5c]
|
|
b _02185e28
|
|
_02185dec:
|
|
cmp r4, #0x1c000
|
|
ble _02185e28
|
|
cmp r4, #0x22000
|
|
bgt _02185e28
|
|
sub r0, r4, #0x1c000
|
|
mov r1, #0x6000
|
|
bl func_01ff98e0
|
|
ldr r1, [r5, #0x1b4]
|
|
rsb r2, r0, #0x1000
|
|
sub r0, r1, #0x1000
|
|
mul r0, r2, r0
|
|
add r0, r0, #0x800
|
|
mov r0, r0, asr #0xc
|
|
add r0, r0, #0x1000
|
|
str r0, [r5, #0xb5c]
|
|
_02185e28:
|
|
cmp r4, #0x13000
|
|
blt _02185e50
|
|
cmp r4, #0x1d000
|
|
bgt _02185e50
|
|
ldr r0, [r5, #0x158]
|
|
cmp r4, #0x1d000
|
|
biceq r0, r0, #0x800000
|
|
streq r0, [r5, #0x158]
|
|
orrne r0, r0, #0x200000
|
|
strne r0, [r5, #0x158]
|
|
_02185e50:
|
|
ldr r0, [r5, #0xa14]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
addeq sp, sp, #0x38
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [r5, #0x158]
|
|
mov r0, r5
|
|
bic r2, r1, #0x800000
|
|
mov r1, #0
|
|
str r2, [r5, #0x158]
|
|
bl func_ov39_0218599c
|
|
add sp, sp, #0x38
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02185c3c
|
|
_02185e88: .word 0x00000e66
|
|
_02185e8c: .word data_027e0fac
|
|
_02185e90: .word 0x000031c7
|
|
_02185e94: .word data_027e0f90
|
|
_02185e98: .word data_02050f54
|
|
_02185e9c: .word data_027e0ffc
|
|
_02185ea0: .word 0x00000313
|
|
_02185ea4: .word 0x00000312
|
|
|
|
.global func_ov39_02185ea8
|
|
arm_func_start func_ov39_02185ea8
|
|
func_ov39_02185ea8: ; 0x02185ea8
|
|
ldr ip, _02185eb4 ; =func_01fffcec
|
|
mov r0, #1
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02185ea8
|
|
_02185eb4: .word func_01fffcec
|
|
|
|
.global func_ov39_02185eb8
|
|
arm_func_start func_ov39_02185eb8
|
|
func_ov39_02185eb8: ; 0x02185eb8
|
|
stmdb sp!, {r4, lr}
|
|
add r4, r0, #0x204
|
|
add r0, r4, #0x800
|
|
mov r1, #3
|
|
bl func_ov00_020c5d74
|
|
ldr r0, [r4, #0x810]
|
|
mov r1, #0x1000
|
|
str r1, [r0, #0x10]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02185eb8
|
|
|
|
.global func_ov39_02185edc
|
|
arm_func_start func_ov39_02185edc
|
|
func_ov39_02185edc: ; 0x02185edc
|
|
bx lr
|
|
arm_func_end func_ov39_02185edc
|
|
|
|
.global func_ov39_02185ee0
|
|
arm_func_start func_ov39_02185ee0
|
|
func_ov39_02185ee0: ; 0x02185ee0
|
|
stmdb sp!, {r4, lr}
|
|
add r4, r0, #0x204
|
|
add r0, r4, #0x800
|
|
mov r1, #4
|
|
bl func_ov00_020c5d74
|
|
ldr r0, [r4, #0x810]
|
|
mov r1, #0x1000
|
|
str r1, [r0, #0x10]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02185ee0
|
|
|
|
.global func_ov39_02185f04
|
|
arm_func_start func_ov39_02185f04
|
|
func_ov39_02185f04: ; 0x02185f04
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0xa14]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #5
|
|
bl func_ov39_0218599c
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02185f04
|
|
|
|
.global func_ov39_02185f30
|
|
arm_func_start func_ov39_02185f30
|
|
func_ov39_02185f30: ; 0x02185f30
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
add r4, r5, #0x204
|
|
add r0, r4, #0x800
|
|
mov r1, #5
|
|
bl func_ov00_020c5d74
|
|
ldr r0, [r4, #0x810]
|
|
mov r1, #0x1000
|
|
str r1, [r0, #0x10]
|
|
mov r0, #0
|
|
strb r0, [r5, #0xca9]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end func_ov39_02185f30
|
|
|
|
.global func_ov39_02185f60
|
|
arm_func_start func_ov39_02185f60
|
|
func_ov39_02185f60: ; 0x02185f60
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0xa14]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x158]
|
|
tst r0, #0x4000
|
|
mov r0, r4
|
|
beq _02185fa8
|
|
bl func_ov39_0217f6dc
|
|
mov r2, #1
|
|
mov r0, r4
|
|
mov r1, #9
|
|
strb r2, [r4, #0xca9]
|
|
bl func_ov39_0218599c
|
|
ldmia sp!, {r4, pc}
|
|
_02185fa8:
|
|
mov r1, #8
|
|
bl func_ov39_0218599c
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02185f60
|
|
|
|
.global func_ov39_02185fb4
|
|
arm_func_start func_ov39_02185fb4
|
|
func_ov39_02185fb4: ; 0x02185fb4
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
add r4, r5, #0x204
|
|
add r0, r4, #0x800
|
|
mov r1, #6
|
|
bl func_ov00_020c5d74
|
|
ldr r0, [r4, #0x810]
|
|
mov r1, #0x1000
|
|
str r1, [r0, #0x10]
|
|
ldr r0, [r5, #0x158]
|
|
tst r0, #0x4000
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
bl func_ov39_0217f6dc
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end func_ov39_02185fb4
|
|
|
|
.global func_ov39_02185ff0
|
|
arm_func_start func_ov39_02185ff0
|
|
func_ov39_02185ff0: ; 0x02185ff0
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldrb r0, [r4, #0xca9]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r4, #0xa14]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #9
|
|
bl func_ov39_0218599c
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02185ff0
|
|
|
|
.global func_ov39_02186028
|
|
arm_func_start func_ov39_02186028
|
|
func_ov39_02186028: ; 0x02186028
|
|
stmdb sp!, {r4, lr}
|
|
add r4, r0, #0x204
|
|
add r0, r4, #0x800
|
|
mov r1, #7
|
|
bl func_ov00_020c5d74
|
|
ldr r0, [r4, #0x810]
|
|
mov r1, #0x1000
|
|
str r1, [r0, #0x10]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02186028
|
|
|
|
.global func_ov39_0218604c
|
|
arm_func_start func_ov39_0218604c
|
|
func_ov39_0218604c: ; 0x0218604c
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0xa14]
|
|
add r0, r0, #0xc
|
|
bl func_0202e58c
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
mov r0, r4
|
|
mov r1, #5
|
|
bl func_ov39_0218599c
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_0218604c
|
|
|
|
.global func_ov39_02186078
|
|
arm_func_start func_ov39_02186078
|
|
func_ov39_02186078: ; 0x02186078
|
|
stmdb sp!, {r4, lr}
|
|
add r4, r0, #0x204
|
|
add r0, r4, #0x800
|
|
mov r1, #8
|
|
bl func_ov00_020c5d74
|
|
ldr r0, [r4, #0x810]
|
|
mov r1, #0x1000
|
|
str r1, [r0, #0x10]
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02186078
|
|
|
|
.global func_ov39_0218609c
|
|
arm_func_start func_ov39_0218609c
|
|
func_ov39_0218609c: ; 0x0218609c
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
ldr r0, [r4, #0xa14]
|
|
mov r1, #0x9000
|
|
add r0, r0, #0xc
|
|
bl func_0202e310
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r0, [r4, #0x158]
|
|
mov r2, #1
|
|
bic r0, r0, #0x80
|
|
str r0, [r4, #0x158]
|
|
ldr r1, [r4, #0x280]
|
|
ldr r0, _02186100 ; =data_02057200
|
|
strb r2, [r1, #0x11a]
|
|
ldr r3, [r4, #0x280]
|
|
ldr r2, [r0]
|
|
ldr r1, [r0, #4]
|
|
ldr r0, _02186104 ; =data_027e0fb4
|
|
str r2, [r3, #0x3b8]
|
|
str r1, [r3, #0x3bc]
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
strb r1, [r0, #0x14d]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_0218609c
|
|
_02186100: .word data_02057200
|
|
_02186104: .word data_027e0fb4
|
|
|
|
.global func_ov39_02186108
|
|
arm_func_start func_ov39_02186108
|
|
func_ov39_02186108: ; 0x02186108
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
blx func_ov00_020a95ec
|
|
mov r0, r4
|
|
bl func_0202ea0c
|
|
mov r0, r4
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end func_ov39_02186108
|
|
|
|
.rodata
|
|
.global data_ov39_02186124
|
|
data_ov39_02186124: ; 0x02186124
|
|
.ascii "wait"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218612c
|
|
data_ov39_0218612c: ; 0x0218612c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186130
|
|
data_ov39_02186130: ; 0x02186130
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186134
|
|
data_ov39_02186134: ; 0x02186134
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186138
|
|
data_ov39_02186138: ; 0x02186138
|
|
.ascii "walk"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186140
|
|
data_ov39_02186140: ; 0x02186140
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186144
|
|
data_ov39_02186144: ; 0x02186144
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186148
|
|
data_ov39_02186148: ; 0x02186148
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218614c
|
|
data_ov39_0218614c: ; 0x0218614c
|
|
.ascii "cutA"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186154
|
|
data_ov39_02186154: ; 0x02186154
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186158
|
|
data_ov39_02186158: ; 0x02186158
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218615c
|
|
data_ov39_0218615c: ; 0x0218615c
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186160
|
|
data_ov39_02186160: ; 0x02186160
|
|
.ascii "cutB"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186168
|
|
data_ov39_02186168: ; 0x02186168
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218616c
|
|
data_ov39_0218616c: ; 0x0218616c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186170
|
|
data_ov39_02186170: ; 0x02186170
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186174
|
|
data_ov39_02186174: ; 0x02186174
|
|
.ascii "guard"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov39_0218617c
|
|
data_ov39_0218617c: ; 0x0218617c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186180
|
|
data_ov39_02186180: ; 0x02186180
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186184
|
|
data_ov39_02186184: ; 0x02186184
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186188
|
|
data_ov39_02186188: ; 0x02186188
|
|
.ascii "guard2"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_02186190
|
|
data_ov39_02186190: ; 0x02186190
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186194
|
|
data_ov39_02186194: ; 0x02186194
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186198
|
|
data_ov39_02186198: ; 0x02186198
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218619c
|
|
data_ov39_0218619c: ; 0x0218619c
|
|
.ascii "guard3"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_021861a4
|
|
data_ov39_021861a4: ; 0x021861a4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861a8
|
|
data_ov39_021861a8: ; 0x021861a8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861ac
|
|
data_ov39_021861ac: ; 0x021861ac
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861b0
|
|
data_ov39_021861b0: ; 0x021861b0
|
|
.ascii "guard4"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_021861b8
|
|
data_ov39_021861b8: ; 0x021861b8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861bc
|
|
data_ov39_021861bc: ; 0x021861bc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861c0
|
|
data_ov39_021861c0: ; 0x021861c0
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861c4
|
|
data_ov39_021861c4: ; 0x021861c4
|
|
.ascii "guard6"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_021861cc
|
|
data_ov39_021861cc: ; 0x021861cc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861d0
|
|
data_ov39_021861d0: ; 0x021861d0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861d4
|
|
data_ov39_021861d4: ; 0x021861d4
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861d8
|
|
data_ov39_021861d8: ; 0x021861d8
|
|
.ascii "search"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_021861e0
|
|
data_ov39_021861e0: ; 0x021861e0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861e4
|
|
data_ov39_021861e4: ; 0x021861e4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861e8
|
|
data_ov39_021861e8: ; 0x021861e8
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861ec
|
|
data_ov39_021861ec: ; 0x021861ec
|
|
.ascii "open_sta"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861f8
|
|
data_ov39_021861f8: ; 0x021861f8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021861fc
|
|
data_ov39_021861fc: ; 0x021861fc
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186200
|
|
data_ov39_02186200: ; 0x02186200
|
|
.ascii "open"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186208
|
|
data_ov39_02186208: ; 0x02186208
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218620c
|
|
data_ov39_0218620c: ; 0x0218620c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186210
|
|
data_ov39_02186210: ; 0x02186210
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186214
|
|
data_ov39_02186214: ; 0x02186214
|
|
.ascii "open_end"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186220
|
|
data_ov39_02186220: ; 0x02186220
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186224
|
|
data_ov39_02186224: ; 0x02186224
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186228
|
|
data_ov39_02186228: ; 0x02186228
|
|
.ascii "guard5"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_02186230
|
|
data_ov39_02186230: ; 0x02186230
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186234
|
|
data_ov39_02186234: ; 0x02186234
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186238
|
|
data_ov39_02186238: ; 0x02186238
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218623c
|
|
data_ov39_0218623c: ; 0x0218623c
|
|
.ascii "guard_end"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov39_02186248
|
|
data_ov39_02186248: ; 0x02186248
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218624c
|
|
data_ov39_0218624c: ; 0x0218624c
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186250
|
|
data_ov39_02186250: ; 0x02186250
|
|
.ascii "counter2_sta"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186260
|
|
data_ov39_02186260: ; 0x02186260
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186264
|
|
data_ov39_02186264: ; 0x02186264
|
|
.ascii "counter2"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186270
|
|
data_ov39_02186270: ; 0x02186270
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186274
|
|
data_ov39_02186274: ; 0x02186274
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186278
|
|
data_ov39_02186278: ; 0x02186278
|
|
.ascii "counter2_guard"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_02186288
|
|
data_ov39_02186288: ; 0x02186288
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218628c
|
|
data_ov39_0218628c: ; 0x0218628c
|
|
.ascii "counter2_end"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218629c
|
|
data_ov39_0218629c: ; 0x0218629c
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_021862a0
|
|
data_ov39_021862a0: ; 0x021862a0
|
|
.ascii "counter1R"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov39_021862ac
|
|
data_ov39_021862ac: ; 0x021862ac
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021862b0
|
|
data_ov39_021862b0: ; 0x021862b0
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_021862b4
|
|
data_ov39_021862b4: ; 0x021862b4
|
|
.ascii "counter1L"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov39_021862c0
|
|
data_ov39_021862c0: ; 0x021862c0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021862c4
|
|
data_ov39_021862c4: ; 0x021862c4
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_021862c8
|
|
data_ov39_021862c8: ; 0x021862c8
|
|
.ascii "guard_end2"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_021862d4
|
|
data_ov39_021862d4: ; 0x021862d4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021862d8
|
|
data_ov39_021862d8: ; 0x021862d8
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_021862dc
|
|
data_ov39_021862dc: ; 0x021862dc
|
|
.ascii "damage1_sta"
|
|
.byte 0x00
|
|
.global data_ov39_021862e8
|
|
data_ov39_021862e8: ; 0x021862e8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021862ec
|
|
data_ov39_021862ec: ; 0x021862ec
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_021862f0
|
|
data_ov39_021862f0: ; 0x021862f0
|
|
.ascii "damage1"
|
|
.byte 0x00
|
|
.global data_ov39_021862f8
|
|
data_ov39_021862f8: ; 0x021862f8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021862fc
|
|
data_ov39_021862fc: ; 0x021862fc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186300
|
|
data_ov39_02186300: ; 0x02186300
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186304
|
|
data_ov39_02186304: ; 0x02186304
|
|
.ascii "damage1_end"
|
|
.byte 0x00
|
|
.global data_ov39_02186310
|
|
data_ov39_02186310: ; 0x02186310
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186314
|
|
data_ov39_02186314: ; 0x02186314
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186318
|
|
data_ov39_02186318: ; 0x02186318
|
|
.ascii "tired1"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_02186320
|
|
data_ov39_02186320: ; 0x02186320
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186324
|
|
data_ov39_02186324: ; 0x02186324
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186328
|
|
data_ov39_02186328: ; 0x02186328
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218632c
|
|
data_ov39_0218632c: ; 0x0218632c
|
|
.ascii "cut_turn"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186338
|
|
data_ov39_02186338: ; 0x02186338
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218633c
|
|
data_ov39_0218633c: ; 0x0218633c
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186340
|
|
data_ov39_02186340: ; 0x02186340
|
|
.ascii "blowoff1"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218634c
|
|
data_ov39_0218634c: ; 0x0218634c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186350
|
|
data_ov39_02186350: ; 0x02186350
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186354
|
|
data_ov39_02186354: ; 0x02186354
|
|
.ascii "blowoff2"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186360
|
|
data_ov39_02186360: ; 0x02186360
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186364
|
|
data_ov39_02186364: ; 0x02186364
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186368
|
|
data_ov39_02186368: ; 0x02186368
|
|
.ascii "blowoff_end"
|
|
.byte 0x00
|
|
.global data_ov39_02186374
|
|
data_ov39_02186374: ; 0x02186374
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186378
|
|
data_ov39_02186378: ; 0x02186378
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218637c
|
|
data_ov39_0218637c: ; 0x0218637c
|
|
.ascii "yoroi_dead"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_02186388
|
|
data_ov39_02186388: ; 0x02186388
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218638c
|
|
data_ov39_0218638c: ; 0x0218638c
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186390
|
|
data_ov39_02186390: ; 0x02186390
|
|
.ascii "gran_dead"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov39_0218639c
|
|
data_ov39_0218639c: ; 0x0218639c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021863a0
|
|
data_ov39_021863a0: ; 0x021863a0
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_021863a4
|
|
data_ov39_021863a4: ; 0x021863a4
|
|
.byte 0x2c, 0xfe, 0x17, 0x02
|
|
.global data_ov39_021863a8
|
|
data_ov39_021863a8: ; 0x021863a8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021863ac
|
|
data_ov39_021863ac: ; 0x021863ac
|
|
.byte 0x1c, 0xff, 0x17, 0x02
|
|
.global data_ov39_021863b0
|
|
data_ov39_021863b0: ; 0x021863b0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021863b4
|
|
data_ov39_021863b4: ; 0x021863b4
|
|
.byte 0xd8, 0x0f, 0x18, 0x02
|
|
.global data_ov39_021863b8
|
|
data_ov39_021863b8: ; 0x021863b8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021863bc
|
|
data_ov39_021863bc: ; 0x021863bc
|
|
.byte 0xc8, 0x10, 0x18, 0x02
|
|
.global data_ov39_021863c0
|
|
data_ov39_021863c0: ; 0x021863c0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021863c4
|
|
data_ov39_021863c4: ; 0x021863c4
|
|
.byte 0xc4, 0x11, 0x18, 0x02
|
|
.global data_ov39_021863c8
|
|
data_ov39_021863c8: ; 0x021863c8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021863cc
|
|
data_ov39_021863cc: ; 0x021863cc
|
|
.byte 0xd0, 0x13, 0x18, 0x02
|
|
.global data_ov39_021863d0
|
|
data_ov39_021863d0: ; 0x021863d0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021863d4
|
|
data_ov39_021863d4: ; 0x021863d4
|
|
.byte 0xc4, 0x15, 0x18, 0x02
|
|
.global data_ov39_021863d8
|
|
data_ov39_021863d8: ; 0x021863d8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021863dc
|
|
data_ov39_021863dc: ; 0x021863dc
|
|
.byte 0x9c, 0x19, 0x18, 0x02
|
|
.global data_ov39_021863e0
|
|
data_ov39_021863e0: ; 0x021863e0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021863e4
|
|
data_ov39_021863e4: ; 0x021863e4
|
|
.byte 0x38, 0x1e, 0x18, 0x02
|
|
.global data_ov39_021863e8
|
|
data_ov39_021863e8: ; 0x021863e8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021863ec
|
|
data_ov39_021863ec: ; 0x021863ec
|
|
.byte 0xf8, 0x20, 0x18, 0x02
|
|
.global data_ov39_021863f0
|
|
data_ov39_021863f0: ; 0x021863f0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021863f4
|
|
data_ov39_021863f4: ; 0x021863f4
|
|
.byte 0x1c, 0x24, 0x18, 0x02
|
|
.global data_ov39_021863f8
|
|
data_ov39_021863f8: ; 0x021863f8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021863fc
|
|
data_ov39_021863fc: ; 0x021863fc
|
|
.byte 0x68, 0x24, 0x18, 0x02
|
|
.global data_ov39_02186400
|
|
data_ov39_02186400: ; 0x02186400
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186404
|
|
data_ov39_02186404: ; 0x02186404
|
|
.byte 0xb4, 0x24, 0x18, 0x02
|
|
.global data_ov39_02186408
|
|
data_ov39_02186408: ; 0x02186408
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218640c
|
|
data_ov39_0218640c: ; 0x0218640c
|
|
.byte 0xe8, 0x25, 0x18, 0x02
|
|
.global data_ov39_02186410
|
|
data_ov39_02186410: ; 0x02186410
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186414
|
|
data_ov39_02186414: ; 0x02186414
|
|
.byte 0xb0, 0x27, 0x18, 0x02
|
|
.global data_ov39_02186418
|
|
data_ov39_02186418: ; 0x02186418
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218641c
|
|
data_ov39_0218641c: ; 0x0218641c
|
|
.byte 0x2c, 0x28, 0x18, 0x02
|
|
.global data_ov39_02186420
|
|
data_ov39_02186420: ; 0x02186420
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186424
|
|
data_ov39_02186424: ; 0x02186424
|
|
.byte 0x88, 0x28, 0x18, 0x02
|
|
.global data_ov39_02186428
|
|
data_ov39_02186428: ; 0x02186428
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218642c
|
|
data_ov39_0218642c: ; 0x0218642c
|
|
.byte 0x58, 0x2f, 0x18, 0x02
|
|
.global data_ov39_02186430
|
|
data_ov39_02186430: ; 0x02186430
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186434
|
|
data_ov39_02186434: ; 0x02186434
|
|
.byte 0xd8, 0x31, 0x18, 0x02
|
|
.global data_ov39_02186438
|
|
data_ov39_02186438: ; 0x02186438
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218643c
|
|
data_ov39_0218643c: ; 0x0218643c
|
|
.byte 0xa4, 0x33, 0x18, 0x02
|
|
.global data_ov39_02186440
|
|
data_ov39_02186440: ; 0x02186440
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186444
|
|
data_ov39_02186444: ; 0x02186444
|
|
.byte 0x9c, 0x36, 0x18, 0x02
|
|
.global data_ov39_02186448
|
|
data_ov39_02186448: ; 0x02186448
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218644c
|
|
data_ov39_0218644c: ; 0x0218644c
|
|
.byte 0x18, 0x38, 0x18, 0x02
|
|
.global data_ov39_02186450
|
|
data_ov39_02186450: ; 0x02186450
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186454
|
|
data_ov39_02186454: ; 0x02186454
|
|
.byte 0xc4, 0x38, 0x18, 0x02
|
|
.global data_ov39_02186458
|
|
data_ov39_02186458: ; 0x02186458
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218645c
|
|
data_ov39_0218645c: ; 0x0218645c
|
|
.byte 0xcc, 0x3c, 0x18, 0x02
|
|
.global data_ov39_02186460
|
|
data_ov39_02186460: ; 0x02186460
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186464
|
|
data_ov39_02186464: ; 0x02186464
|
|
.byte 0x88, 0x47, 0x18, 0x02
|
|
.global data_ov39_02186468
|
|
data_ov39_02186468: ; 0x02186468
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218646c
|
|
data_ov39_0218646c: ; 0x0218646c
|
|
.byte 0x5c, 0xfe, 0x17, 0x02
|
|
.global data_ov39_02186470
|
|
data_ov39_02186470: ; 0x02186470
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186474
|
|
data_ov39_02186474: ; 0x02186474
|
|
.byte 0x5c, 0xff, 0x17, 0x02
|
|
.global data_ov39_02186478
|
|
data_ov39_02186478: ; 0x02186478
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218647c
|
|
data_ov39_0218647c: ; 0x0218647c
|
|
.byte 0xf4, 0x0f, 0x18, 0x02
|
|
.global data_ov39_02186480
|
|
data_ov39_02186480: ; 0x02186480
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186484
|
|
data_ov39_02186484: ; 0x02186484
|
|
.byte 0x2c, 0x11, 0x18, 0x02
|
|
.global data_ov39_02186488
|
|
data_ov39_02186488: ; 0x02186488
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218648c
|
|
data_ov39_0218648c: ; 0x0218648c
|
|
.byte 0x28, 0x12, 0x18, 0x02
|
|
.global data_ov39_02186490
|
|
data_ov39_02186490: ; 0x02186490
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186494
|
|
data_ov39_02186494: ; 0x02186494
|
|
.byte 0x9c, 0x14, 0x18, 0x02
|
|
.global data_ov39_02186498
|
|
data_ov39_02186498: ; 0x02186498
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218649c
|
|
data_ov39_0218649c: ; 0x0218649c
|
|
.byte 0xa8, 0x18, 0x18, 0x02
|
|
.global data_ov39_021864a0
|
|
data_ov39_021864a0: ; 0x021864a0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021864a4
|
|
data_ov39_021864a4: ; 0x021864a4
|
|
.byte 0xcc, 0x1c, 0x18, 0x02
|
|
.global data_ov39_021864a8
|
|
data_ov39_021864a8: ; 0x021864a8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021864ac
|
|
data_ov39_021864ac: ; 0x021864ac
|
|
.byte 0x98, 0x1e, 0x18, 0x02
|
|
.global data_ov39_021864b0
|
|
data_ov39_021864b0: ; 0x021864b0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021864b4
|
|
data_ov39_021864b4: ; 0x021864b4
|
|
.byte 0x84, 0x22, 0x18, 0x02
|
|
.global data_ov39_021864b8
|
|
data_ov39_021864b8: ; 0x021864b8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021864bc
|
|
data_ov39_021864bc: ; 0x021864bc
|
|
.byte 0x38, 0x24, 0x18, 0x02
|
|
.global data_ov39_021864c0
|
|
data_ov39_021864c0: ; 0x021864c0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021864c4
|
|
data_ov39_021864c4: ; 0x021864c4
|
|
.byte 0x84, 0x24, 0x18, 0x02
|
|
.global data_ov39_021864c8
|
|
data_ov39_021864c8: ; 0x021864c8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021864cc
|
|
data_ov39_021864cc: ; 0x021864cc
|
|
.byte 0xbc, 0x25, 0x18, 0x02
|
|
.global data_ov39_021864d0
|
|
data_ov39_021864d0: ; 0x021864d0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021864d4
|
|
data_ov39_021864d4: ; 0x021864d4
|
|
.byte 0x74, 0x26, 0x18, 0x02
|
|
.global data_ov39_021864d8
|
|
data_ov39_021864d8: ; 0x021864d8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021864dc
|
|
data_ov39_021864dc: ; 0x021864dc
|
|
.byte 0xb8, 0x27, 0x18, 0x02
|
|
.global data_ov39_021864e0
|
|
data_ov39_021864e0: ; 0x021864e0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021864e4
|
|
data_ov39_021864e4: ; 0x021864e4
|
|
.byte 0x58, 0x28, 0x18, 0x02
|
|
.global data_ov39_021864e8
|
|
data_ov39_021864e8: ; 0x021864e8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021864ec
|
|
data_ov39_021864ec: ; 0x021864ec
|
|
.byte 0x54, 0x29, 0x18, 0x02
|
|
.global data_ov39_021864f0
|
|
data_ov39_021864f0: ; 0x021864f0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021864f4
|
|
data_ov39_021864f4: ; 0x021864f4
|
|
.byte 0xfc, 0x2f, 0x18, 0x02
|
|
.global data_ov39_021864f8
|
|
data_ov39_021864f8: ; 0x021864f8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021864fc
|
|
data_ov39_021864fc: ; 0x021864fc
|
|
.byte 0xcc, 0x32, 0x18, 0x02
|
|
.global data_ov39_02186500
|
|
data_ov39_02186500: ; 0x02186500
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186504
|
|
data_ov39_02186504: ; 0x02186504
|
|
.byte 0x28, 0x35, 0x18, 0x02
|
|
.global data_ov39_02186508
|
|
data_ov39_02186508: ; 0x02186508
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218650c
|
|
data_ov39_0218650c: ; 0x0218650c
|
|
.byte 0xe0, 0x36, 0x18, 0x02
|
|
.global data_ov39_02186510
|
|
data_ov39_02186510: ; 0x02186510
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186514
|
|
data_ov39_02186514: ; 0x02186514
|
|
.byte 0x7c, 0x38, 0x18, 0x02
|
|
.global data_ov39_02186518
|
|
data_ov39_02186518: ; 0x02186518
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218651c
|
|
data_ov39_0218651c: ; 0x0218651c
|
|
.byte 0x2c, 0x3c, 0x18, 0x02
|
|
.global data_ov39_02186520
|
|
data_ov39_02186520: ; 0x02186520
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186524
|
|
data_ov39_02186524: ; 0x02186524
|
|
.byte 0x48, 0x43, 0x18, 0x02
|
|
.global data_ov39_02186528
|
|
data_ov39_02186528: ; 0x02186528
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218652c
|
|
data_ov39_0218652c: ; 0x0218652c
|
|
.byte 0x18, 0x48, 0x18, 0x02
|
|
.global data_ov39_02186530
|
|
data_ov39_02186530: ; 0x02186530
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186534
|
|
data_ov39_02186534: ; 0x02186534
|
|
.byte 0x04, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186538
|
|
data_ov39_02186538: ; 0x02186538
|
|
.byte 0x05, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218653c
|
|
data_ov39_0218653c: ; 0x0218653c
|
|
.byte 0x06, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186540
|
|
data_ov39_02186540: ; 0x02186540
|
|
.byte 0x07, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186544
|
|
data_ov39_02186544: ; 0x02186544
|
|
.byte 0x08, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186548
|
|
data_ov39_02186548: ; 0x02186548
|
|
.byte 0x71, 0xf2, 0xff, 0xff
|
|
.global data_ov39_0218654c
|
|
data_ov39_0218654c: ; 0x0218654c
|
|
.byte 0xd9, 0x16, 0x00, 0x00
|
|
.global data_ov39_02186550
|
|
data_ov39_02186550: ; 0x02186550
|
|
.byte 0xc0, 0x35, 0x00, 0x00
|
|
.global data_ov39_02186554
|
|
data_ov39_02186554: ; 0x02186554
|
|
.byte 0xf4, 0xfd, 0xff, 0xff
|
|
.global data_ov39_02186558
|
|
data_ov39_02186558: ; 0x02186558
|
|
.byte 0x93, 0x13, 0x00, 0x00
|
|
.global data_ov39_0218655c
|
|
data_ov39_0218655c: ; 0x0218655c
|
|
.byte 0x39, 0x31, 0x00, 0x00
|
|
.global data_ov39_02186560
|
|
data_ov39_02186560: ; 0x02186560
|
|
.byte 0x41, 0x1c, 0x00, 0x00
|
|
.global data_ov39_02186564
|
|
data_ov39_02186564: ; 0x02186564
|
|
.byte 0x28, 0x08, 0x00, 0x00
|
|
.global data_ov39_02186568
|
|
data_ov39_02186568: ; 0x02186568
|
|
.byte 0xf9, 0x31, 0x00, 0x00
|
|
.global data_ov39_0218656c
|
|
data_ov39_0218656c: ; 0x0218656c
|
|
.byte 0x3e, 0x19, 0x00, 0x00
|
|
.global data_ov39_02186570
|
|
data_ov39_02186570: ; 0x02186570
|
|
.byte 0x0d, 0x08, 0x00, 0x00
|
|
.global data_ov39_02186574
|
|
data_ov39_02186574: ; 0x02186574
|
|
.byte 0x86, 0x25, 0x00, 0x00
|
|
.global data_ov39_02186578
|
|
data_ov39_02186578: ; 0x02186578
|
|
.byte 0x9e, 0x21, 0x00, 0x00
|
|
.global data_ov39_0218657c
|
|
data_ov39_0218657c: ; 0x0218657c
|
|
.byte 0xfc, 0x03, 0x00, 0x00
|
|
.global data_ov39_02186580
|
|
data_ov39_02186580: ; 0x02186580
|
|
.byte 0x60, 0x2d, 0x00, 0x00
|
|
.global data_ov39_02186584
|
|
data_ov39_02186584: ; 0x02186584
|
|
.byte 0xdf, 0x1b, 0x00, 0x00
|
|
.global data_ov39_02186588
|
|
data_ov39_02186588: ; 0x02186588
|
|
.byte 0xae, 0x05, 0x00, 0x00
|
|
.global data_ov39_0218658c
|
|
data_ov39_0218658c: ; 0x0218658c
|
|
.byte 0x0d, 0x22, 0x00, 0x00
|
|
.global data_ov39_02186590
|
|
data_ov39_02186590: ; 0x02186590
|
|
.byte 0x99, 0xe8, 0xff, 0xff
|
|
.global data_ov39_02186594
|
|
data_ov39_02186594: ; 0x02186594
|
|
.byte 0xb2, 0x3f, 0x00, 0x00
|
|
.global data_ov39_02186598
|
|
data_ov39_02186598: ; 0x02186598
|
|
.byte 0xff, 0x0a, 0x00, 0x00
|
|
.global data_ov39_0218659c
|
|
data_ov39_0218659c: ; 0x0218659c
|
|
.byte 0x27, 0xec, 0xff, 0xff
|
|
.global data_ov39_021865a0
|
|
data_ov39_021865a0: ; 0x021865a0
|
|
.byte 0xc9, 0x33, 0x00, 0x00
|
|
.global data_ov39_021865a4
|
|
data_ov39_021865a4: ; 0x021865a4
|
|
.byte 0x06, 0x0e, 0x00, 0x00
|
|
.global data_ov39_021865a8
|
|
data_ov39_021865a8: ; 0x021865a8
|
|
.byte 0xb6, 0xfc, 0xff, 0xff
|
|
.global data_ov39_021865ac
|
|
data_ov39_021865ac: ; 0x021865ac
|
|
.byte 0x85, 0x16, 0x00, 0x00
|
|
.global data_ov39_021865b0
|
|
data_ov39_021865b0: ; 0x021865b0
|
|
.byte 0xf7, 0x3b, 0x00, 0x00
|
|
.global data_ov39_021865b4
|
|
data_ov39_021865b4: ; 0x021865b4
|
|
.byte 0x41, 0xfd, 0xff, 0xff
|
|
.global data_ov39_021865b8
|
|
data_ov39_021865b8: ; 0x021865b8
|
|
.byte 0xbb, 0x12, 0x00, 0x00
|
|
.global data_ov39_021865bc
|
|
data_ov39_021865bc: ; 0x021865bc
|
|
.byte 0xc0, 0x2f, 0x00, 0x00
|
|
.global data_ov39_021865c0
|
|
data_ov39_021865c0: ; 0x021865c0
|
|
.byte 0xd8, 0xff, 0xff, 0xff
|
|
.global data_ov39_021865c4
|
|
data_ov39_021865c4: ; 0x021865c4
|
|
.byte 0x6f, 0x02, 0x00, 0x00
|
|
.global data_ov39_021865c8
|
|
data_ov39_021865c8: ; 0x021865c8
|
|
.byte 0x4c, 0x40, 0x00, 0x00
|
|
.global data_ov39_021865cc
|
|
data_ov39_021865cc: ; 0x021865cc
|
|
.byte 0x9c, 0xfe, 0xff, 0xff
|
|
.global data_ov39_021865d0
|
|
data_ov39_021865d0: ; 0x021865d0
|
|
.byte 0x85, 0x02, 0x00, 0x00
|
|
.global data_ov39_021865d4
|
|
data_ov39_021865d4: ; 0x021865d4
|
|
.byte 0x8e, 0x33, 0x00, 0x00
|
|
.global data_ov39_021865d8
|
|
data_ov39_021865d8: ; 0x021865d8
|
|
.byte 0x50, 0xdc, 0xff, 0xff
|
|
.global data_ov39_021865dc
|
|
data_ov39_021865dc: ; 0x021865dc
|
|
.byte 0x92, 0x08, 0x00, 0x00
|
|
.global data_ov39_021865e0
|
|
data_ov39_021865e0: ; 0x021865e0
|
|
.byte 0x57, 0x1f, 0x00, 0x00
|
|
.global data_ov39_021865e4
|
|
data_ov39_021865e4: ; 0x021865e4
|
|
.byte 0xe4, 0xde, 0xff, 0xff
|
|
.global data_ov39_021865e8
|
|
data_ov39_021865e8: ; 0x021865e8
|
|
.byte 0xda, 0x0a, 0x00, 0x00
|
|
.global data_ov39_021865ec
|
|
data_ov39_021865ec: ; 0x021865ec
|
|
.byte 0x04, 0x13, 0x00, 0x00
|
|
.global data_ov39_021865f0
|
|
data_ov39_021865f0: ; 0x021865f0
|
|
.byte 0x35, 0xf9, 0xff, 0xff
|
|
.global data_ov39_021865f4
|
|
data_ov39_021865f4: ; 0x021865f4
|
|
.byte 0x53, 0x0d, 0x00, 0x00
|
|
.global data_ov39_021865f8
|
|
data_ov39_021865f8: ; 0x021865f8
|
|
.byte 0xdf, 0x32, 0x00, 0x00
|
|
.global data_ov39_021865fc
|
|
data_ov39_021865fc: ; 0x021865fc
|
|
.byte 0x24, 0xf7, 0xff, 0xff
|
|
.global data_ov39_02186600
|
|
data_ov39_02186600: ; 0x02186600
|
|
.byte 0x75, 0x0f, 0x00, 0x00
|
|
.global data_ov39_02186604
|
|
data_ov39_02186604: ; 0x02186604
|
|
.byte 0x6c, 0x26, 0x00, 0x00
|
|
.global data_ov39_02186608
|
|
data_ov39_02186608: ; 0x02186608
|
|
.byte 0x7d, 0x23, 0x00, 0x00
|
|
.global data_ov39_0218660c
|
|
data_ov39_0218660c: ; 0x0218660c
|
|
.byte 0xd5, 0x0c, 0x00, 0x00
|
|
.global data_ov39_02186610
|
|
data_ov39_02186610: ; 0x02186610
|
|
.byte 0xf1, 0x20, 0x00, 0x00
|
|
.global data_ov39_02186614
|
|
data_ov39_02186614: ; 0x02186614
|
|
.byte 0xba, 0x17, 0x00, 0x00
|
|
.global data_ov39_02186618
|
|
data_ov39_02186618: ; 0x02186618
|
|
.byte 0x52, 0x0f, 0x00, 0x00
|
|
.global data_ov39_0218661c
|
|
data_ov39_0218661c: ; 0x0218661c
|
|
.byte 0x93, 0x1c, 0x00, 0x00
|
|
.global data_ov39_02186620
|
|
data_ov39_02186620: ; 0x02186620
|
|
.byte 0xd5, 0x25, 0x00, 0x00
|
|
.global data_ov39_02186624
|
|
data_ov39_02186624: ; 0x02186624
|
|
.byte 0xb6, 0x09, 0x00, 0x00
|
|
.global data_ov39_02186628
|
|
data_ov39_02186628: ; 0x02186628
|
|
.byte 0x9a, 0x20, 0x00, 0x00
|
|
.global data_ov39_0218662c
|
|
data_ov39_0218662c: ; 0x0218662c
|
|
.byte 0xa6, 0x1a, 0x00, 0x00
|
|
.global data_ov39_02186630
|
|
data_ov39_02186630: ; 0x02186630
|
|
.byte 0x8c, 0x0d, 0x00, 0x00
|
|
.global data_ov39_02186634
|
|
data_ov39_02186634: ; 0x02186634
|
|
.byte 0xba, 0x1b, 0x00, 0x00
|
|
.global data_ov39_02186638
|
|
data_ov39_02186638: ; 0x02186638
|
|
.byte 0x33, 0x06, 0x00, 0x00
|
|
.global data_ov39_0218663c
|
|
data_ov39_0218663c: ; 0x0218663c
|
|
.byte 0x39, 0x0c, 0x00, 0x00
|
|
.global data_ov39_02186640
|
|
data_ov39_02186640: ; 0x02186640
|
|
.byte 0x98, 0x36, 0x00, 0x00
|
|
.global data_ov39_02186644
|
|
data_ov39_02186644: ; 0x02186644
|
|
.byte 0x58, 0x04, 0x00, 0x00
|
|
.global data_ov39_02186648
|
|
data_ov39_02186648: ; 0x02186648
|
|
.byte 0x47, 0x0f, 0x00, 0x00
|
|
.global data_ov39_0218664c
|
|
data_ov39_0218664c: ; 0x0218664c
|
|
.byte 0x4f, 0x2a, 0x00, 0x00
|
|
.global data_ov39_02186650
|
|
data_ov39_02186650: ; 0x02186650
|
|
.byte 0x97, 0xdc, 0xff, 0xff
|
|
.global data_ov39_02186654
|
|
data_ov39_02186654: ; 0x02186654
|
|
.byte 0xef, 0x11, 0x00, 0x00
|
|
.global data_ov39_02186658
|
|
data_ov39_02186658: ; 0x02186658
|
|
.byte 0xd8, 0x28, 0x00, 0x00
|
|
.global data_ov39_0218665c
|
|
data_ov39_0218665c: ; 0x0218665c
|
|
.byte 0xd9, 0xe0, 0xff, 0xff
|
|
.global data_ov39_02186660
|
|
data_ov39_02186660: ; 0x02186660
|
|
.byte 0x46, 0x13, 0x00, 0x00
|
|
.global data_ov39_02186664
|
|
data_ov39_02186664: ; 0x02186664
|
|
.byte 0xd9, 0x1c, 0x00, 0x00
|
|
.global data_ov39_02186668
|
|
data_ov39_02186668: ; 0x02186668
|
|
.byte 0x9a, 0x19, 0x00, 0x00
|
|
.global data_ov39_0218666c
|
|
data_ov39_0218666c: ; 0x0218666c
|
|
.byte 0x9a, 0x19, 0x00, 0x00
|
|
.global data_ov39_02186670
|
|
data_ov39_02186670: ; 0x02186670
|
|
.byte 0x66, 0xee, 0xff, 0xff
|
|
.global data_ov39_02186674
|
|
data_ov39_02186674: ; 0x02186674
|
|
.byte 0x9a, 0x09, 0x00, 0x00
|
|
.global data_ov39_02186678
|
|
data_ov39_02186678: ; 0x02186678
|
|
.byte 0xcd, 0x2c, 0x00, 0x00
|
|
.global data_ov39_0218667c
|
|
data_ov39_0218667c: ; 0x0218667c
|
|
.byte 0x66, 0xee, 0xff, 0xff
|
|
.global data_ov39_02186680
|
|
data_ov39_02186680: ; 0x02186680
|
|
.byte 0x66, 0xf6, 0xff, 0xff
|
|
.global data_ov39_02186684
|
|
data_ov39_02186684: ; 0x02186684
|
|
.byte 0x00, 0x10, 0x00, 0x00
|
|
.global data_ov39_02186688
|
|
data_ov39_02186688: ; 0x02186688
|
|
.byte 0x66, 0xee, 0xff, 0xff
|
|
.global data_ov39_0218668c
|
|
data_ov39_0218668c: ; 0x0218668c
|
|
.byte 0x66, 0xe6, 0xff, 0xff
|
|
.global data_ov39_02186690
|
|
data_ov39_02186690: ; 0x02186690
|
|
.byte 0xcd, 0x14, 0x00, 0x00
|
|
.global data_ov39_02186694
|
|
data_ov39_02186694: ; 0x02186694
|
|
.byte 0x66, 0xee, 0xff, 0xff
|
|
.global data_ov39_02186698
|
|
data_ov39_02186698: ; 0x02186698
|
|
.ascii "ef_tornado_gdo1"
|
|
.byte 0x00
|
|
.global data_ov39_021866a8
|
|
data_ov39_021866a8: ; 0x021866a8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021866ac
|
|
data_ov39_021866ac: ; 0x021866ac
|
|
.ascii "ef_tornado_gdo2"
|
|
.byte 0x00
|
|
.global data_ov39_021866bc
|
|
data_ov39_021866bc: ; 0x021866bc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021866c0
|
|
data_ov39_021866c0: ; 0x021866c0
|
|
.ascii "tornado1_b"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_021866cc
|
|
data_ov39_021866cc: ; 0x021866cc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021866d0
|
|
data_ov39_021866d0: ; 0x021866d0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021866d4
|
|
data_ov39_021866d4: ; 0x021866d4
|
|
.ascii "tornado1_f"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_021866e0
|
|
data_ov39_021866e0: ; 0x021866e0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021866e4
|
|
data_ov39_021866e4: ; 0x021866e4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021866e8
|
|
data_ov39_021866e8: ; 0x021866e8
|
|
.ascii "chest_jnt"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov39_021866f4
|
|
data_ov39_021866f4: ; 0x021866f4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021866f8
|
|
data_ov39_021866f8: ; 0x021866f8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021866fc
|
|
data_ov39_021866fc: ; 0x021866fc
|
|
.ascii "sword_jnt"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov39_02186708
|
|
data_ov39_02186708: ; 0x02186708
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218670c
|
|
data_ov39_0218670c: ; 0x0218670c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186710
|
|
data_ov39_02186710: ; 0x02186710
|
|
.ascii "mouthL_jnt"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_0218671c
|
|
data_ov39_0218671c: ; 0x0218671c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186720
|
|
data_ov39_02186720: ; 0x02186720
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186724
|
|
data_ov39_02186724: ; 0x02186724
|
|
.ascii "mouthR_jnt"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_02186730
|
|
data_ov39_02186730: ; 0x02186730
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186734
|
|
data_ov39_02186734: ; 0x02186734
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186738
|
|
data_ov39_02186738: ; 0x02186738
|
|
.ascii "eye_jnt"
|
|
.byte 0x00
|
|
.global data_ov39_02186740
|
|
data_ov39_02186740: ; 0x02186740
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186744
|
|
data_ov39_02186744: ; 0x02186744
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186748
|
|
data_ov39_02186748: ; 0x02186748
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218674c
|
|
data_ov39_0218674c: ; 0x0218674c
|
|
.ascii "eye"
|
|
.byte 0x00
|
|
.global data_ov39_02186750
|
|
data_ov39_02186750: ; 0x02186750
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186754
|
|
data_ov39_02186754: ; 0x02186754
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186758
|
|
data_ov39_02186758: ; 0x02186758
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218675c
|
|
data_ov39_0218675c: ; 0x0218675c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186760
|
|
data_ov39_02186760: ; 0x02186760
|
|
.ascii "navi_b_mat"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_0218676c
|
|
data_ov39_0218676c: ; 0x0218676c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186770
|
|
data_ov39_02186770: ; 0x02186770
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186774
|
|
data_ov39_02186774: ; 0x02186774
|
|
.ascii "navi_w_mat"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_02186780
|
|
data_ov39_02186780: ; 0x02186780
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186784
|
|
data_ov39_02186784: ; 0x02186784
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186788
|
|
data_ov39_02186788: ; 0x02186788
|
|
.ascii "navi_b_mat"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_02186794
|
|
data_ov39_02186794: ; 0x02186794
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186798
|
|
data_ov39_02186798: ; 0x02186798
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218679c
|
|
data_ov39_0218679c: ; 0x0218679c
|
|
.ascii "navi_w_mat"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_021867a8
|
|
data_ov39_021867a8: ; 0x021867a8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021867ac
|
|
data_ov39_021867ac: ; 0x021867ac
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021867b0
|
|
data_ov39_021867b0: ; 0x021867b0
|
|
.ascii "attack1"
|
|
.byte 0x00
|
|
.global data_ov39_021867b8
|
|
data_ov39_021867b8: ; 0x021867b8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021867bc
|
|
data_ov39_021867bc: ; 0x021867bc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021867c0
|
|
data_ov39_021867c0: ; 0x021867c0
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_021867c4
|
|
data_ov39_021867c4: ; 0x021867c4
|
|
.ascii "attack2"
|
|
.byte 0x00
|
|
.global data_ov39_021867cc
|
|
data_ov39_021867cc: ; 0x021867cc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021867d0
|
|
data_ov39_021867d0: ; 0x021867d0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021867d4
|
|
data_ov39_021867d4: ; 0x021867d4
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_021867d8
|
|
data_ov39_021867d8: ; 0x021867d8
|
|
.ascii "wait1"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov39_021867e0
|
|
data_ov39_021867e0: ; 0x021867e0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021867e4
|
|
data_ov39_021867e4: ; 0x021867e4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021867e8
|
|
data_ov39_021867e8: ; 0x021867e8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021867ec
|
|
data_ov39_021867ec: ; 0x021867ec
|
|
.ascii "wait2"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov39_021867f4
|
|
data_ov39_021867f4: ; 0x021867f4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021867f8
|
|
data_ov39_021867f8: ; 0x021867f8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021867fc
|
|
data_ov39_021867fc: ; 0x021867fc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186800
|
|
data_ov39_02186800: ; 0x02186800
|
|
.ascii "catch"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov39_02186808
|
|
data_ov39_02186808: ; 0x02186808
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218680c
|
|
data_ov39_0218680c: ; 0x0218680c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186810
|
|
data_ov39_02186810: ; 0x02186810
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186814
|
|
data_ov39_02186814: ; 0x02186814
|
|
.ascii "loose_sta"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov39_02186820
|
|
data_ov39_02186820: ; 0x02186820
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186824
|
|
data_ov39_02186824: ; 0x02186824
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186828
|
|
data_ov39_02186828: ; 0x02186828
|
|
.ascii "loose"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov39_02186830
|
|
data_ov39_02186830: ; 0x02186830
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186834
|
|
data_ov39_02186834: ; 0x02186834
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186838
|
|
data_ov39_02186838: ; 0x02186838
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218683c
|
|
data_ov39_0218683c: ; 0x0218683c
|
|
.ascii "loose_end"
|
|
.byte 0x00, 0x00, 0x00
|
|
.global data_ov39_02186848
|
|
data_ov39_02186848: ; 0x02186848
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218684c
|
|
data_ov39_0218684c: ; 0x0218684c
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186850
|
|
data_ov39_02186850: ; 0x02186850
|
|
.ascii "tntcl_dead"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_0218685c
|
|
data_ov39_0218685c: ; 0x0218685c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186860
|
|
data_ov39_02186860: ; 0x02186860
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186864
|
|
data_ov39_02186864: ; 0x02186864
|
|
.byte 0xf4, 0x5a, 0x18, 0x02
|
|
.global data_ov39_02186868
|
|
data_ov39_02186868: ; 0x02186868
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218686c
|
|
data_ov39_0218686c: ; 0x0218686c
|
|
.byte 0x10, 0x5b, 0x18, 0x02
|
|
.global data_ov39_02186870
|
|
data_ov39_02186870: ; 0x02186870
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186874
|
|
data_ov39_02186874: ; 0x02186874
|
|
.byte 0xd0, 0x5b, 0x18, 0x02
|
|
.global data_ov39_02186878
|
|
data_ov39_02186878: ; 0x02186878
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218687c
|
|
data_ov39_0218687c: ; 0x0218687c
|
|
.byte 0xd8, 0x5b, 0x18, 0x02
|
|
.global data_ov39_02186880
|
|
data_ov39_02186880: ; 0x02186880
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186884
|
|
data_ov39_02186884: ; 0x02186884
|
|
.byte 0x1c, 0x5c, 0x18, 0x02
|
|
.global data_ov39_02186888
|
|
data_ov39_02186888: ; 0x02186888
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218688c
|
|
data_ov39_0218688c: ; 0x0218688c
|
|
.byte 0xb8, 0x5e, 0x18, 0x02
|
|
.global data_ov39_02186890
|
|
data_ov39_02186890: ; 0x02186890
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186894
|
|
data_ov39_02186894: ; 0x02186894
|
|
.byte 0xe0, 0x5e, 0x18, 0x02
|
|
.global data_ov39_02186898
|
|
data_ov39_02186898: ; 0x02186898
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218689c
|
|
data_ov39_0218689c: ; 0x0218689c
|
|
.byte 0x30, 0x5f, 0x18, 0x02
|
|
.global data_ov39_021868a0
|
|
data_ov39_021868a0: ; 0x021868a0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021868a4
|
|
data_ov39_021868a4: ; 0x021868a4
|
|
.byte 0xb4, 0x5f, 0x18, 0x02
|
|
.global data_ov39_021868a8
|
|
data_ov39_021868a8: ; 0x021868a8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021868ac
|
|
data_ov39_021868ac: ; 0x021868ac
|
|
.byte 0x28, 0x60, 0x18, 0x02
|
|
.global data_ov39_021868b0
|
|
data_ov39_021868b0: ; 0x021868b0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021868b4
|
|
data_ov39_021868b4: ; 0x021868b4
|
|
.byte 0x78, 0x60, 0x18, 0x02
|
|
.global data_ov39_021868b8
|
|
data_ov39_021868b8: ; 0x021868b8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021868bc
|
|
data_ov39_021868bc: ; 0x021868bc
|
|
.byte 0x0c, 0x5b, 0x18, 0x02
|
|
.global data_ov39_021868c0
|
|
data_ov39_021868c0: ; 0x021868c0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021868c4
|
|
data_ov39_021868c4: ; 0x021868c4
|
|
.byte 0x88, 0x5b, 0x18, 0x02
|
|
.global data_ov39_021868c8
|
|
data_ov39_021868c8: ; 0x021868c8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021868cc
|
|
data_ov39_021868cc: ; 0x021868cc
|
|
.byte 0xd4, 0x5b, 0x18, 0x02
|
|
.global data_ov39_021868d0
|
|
data_ov39_021868d0: ; 0x021868d0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021868d4
|
|
data_ov39_021868d4: ; 0x021868d4
|
|
.byte 0xec, 0x5b, 0x18, 0x02
|
|
.global data_ov39_021868d8
|
|
data_ov39_021868d8: ; 0x021868d8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021868dc
|
|
data_ov39_021868dc: ; 0x021868dc
|
|
.byte 0x3c, 0x5c, 0x18, 0x02
|
|
.global data_ov39_021868e0
|
|
data_ov39_021868e0: ; 0x021868e0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021868e4
|
|
data_ov39_021868e4: ; 0x021868e4
|
|
.byte 0xdc, 0x5e, 0x18, 0x02
|
|
.global data_ov39_021868e8
|
|
data_ov39_021868e8: ; 0x021868e8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021868ec
|
|
data_ov39_021868ec: ; 0x021868ec
|
|
.byte 0x04, 0x5f, 0x18, 0x02
|
|
.global data_ov39_021868f0
|
|
data_ov39_021868f0: ; 0x021868f0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021868f4
|
|
data_ov39_021868f4: ; 0x021868f4
|
|
.byte 0x60, 0x5f, 0x18, 0x02
|
|
.global data_ov39_021868f8
|
|
data_ov39_021868f8: ; 0x021868f8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_021868fc
|
|
data_ov39_021868fc: ; 0x021868fc
|
|
.byte 0xf0, 0x5f, 0x18, 0x02
|
|
.global data_ov39_02186900
|
|
data_ov39_02186900: ; 0x02186900
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186904
|
|
data_ov39_02186904: ; 0x02186904
|
|
.byte 0x4c, 0x60, 0x18, 0x02
|
|
.global data_ov39_02186908
|
|
data_ov39_02186908: ; 0x02186908
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218690c
|
|
data_ov39_0218690c: ; 0x0218690c
|
|
.byte 0x9c, 0x60, 0x18, 0x02
|
|
.global data_ov39_02186910
|
|
data_ov39_02186910: ; 0x02186910
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186914
|
|
data_ov39_02186914: ; 0x02186914
|
|
.byte 0x5d, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186918
|
|
data_ov39_02186918: ; 0x02186918
|
|
.ascii "tntcl_5"
|
|
.byte 0x00
|
|
.global data_ov39_02186920
|
|
data_ov39_02186920: ; 0x02186920
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186924
|
|
data_ov39_02186924: ; 0x02186924
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186928
|
|
data_ov39_02186928: ; 0x02186928
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218692c
|
|
data_ov39_0218692c: ; 0x0218692c
|
|
.ascii "navi_b"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_02186934
|
|
data_ov39_02186934: ; 0x02186934
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186938
|
|
data_ov39_02186938: ; 0x02186938
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_0218693c
|
|
data_ov39_0218693c: ; 0x0218693c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186940
|
|
data_ov39_02186940: ; 0x02186940
|
|
.ascii "navi_b_mat"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_0218694c
|
|
data_ov39_0218694c: ; 0x0218694c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186950
|
|
data_ov39_02186950: ; 0x02186950
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186954
|
|
data_ov39_02186954: ; 0x02186954
|
|
.ascii "navi_w_mat"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_02186960
|
|
data_ov39_02186960: ; 0x02186960
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186964
|
|
data_ov39_02186964: ; 0x02186964
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
.section .init, 4, 1, 4
|
|
.global func_ov39_02186968
|
|
arm_func_start func_ov39_02186968
|
|
func_ov39_02186968: ; 0x02186968
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _021869a0 ; =data_ov39_02186ccc
|
|
ldr r1, _021869a4 ; =0x474f4354
|
|
ldr r2, _021869a8 ; =func_ov39_0217bd80
|
|
mov r3, #0
|
|
bl func_0203e784
|
|
ldr r0, _021869a0 ; =data_ov39_02186ccc
|
|
ldr r1, _021869ac ; =func_0203e7b4
|
|
ldr r2, _021869b0 ; =data_ov39_02186cc0
|
|
bl func_0204f8d4
|
|
ldr r0, _021869b4 ; =data_ov39_02186cc0
|
|
ldr r1, _021869b8 ; =data_ov39_02186a28
|
|
str r1, [r0, #0x20]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
arm_func_end func_ov39_02186968
|
|
_021869a0: .word data_ov39_02186ccc
|
|
_021869a4: .word 0x474f4354
|
|
_021869a8: .word func_ov39_0217bd80
|
|
_021869ac: .word func_0203e7b4
|
|
_021869b0: .word data_ov39_02186cc0
|
|
_021869b4: .word data_ov39_02186cc0
|
|
_021869b8: .word data_ov39_02186a28
|
|
|
|
.section .sinit, 4, 1, 4
|
|
.global data_ov39_021869bc
|
|
data_ov39_021869bc: ; 0x021869bc
|
|
.byte 0x68, 0x69, 0x18, 0x02
|
|
|
|
.data
|
|
.global data_ov39_021869e0
|
|
data_ov39_021869e0: ; 0x021869e0
|
|
.ascii "brg"
|
|
.byte 0x00
|
|
.global data_ov39_021869e4
|
|
data_ov39_021869e4: ; 0x021869e4
|
|
.ascii "fnl"
|
|
.byte 0x00
|
|
.global data_ov39_021869e8
|
|
data_ov39_021869e8: ; 0x021869e8
|
|
.ascii "pdl"
|
|
.byte 0x00
|
|
.global data_ov39_021869ec
|
|
data_ov39_021869ec: ; 0x021869ec
|
|
.ascii "dco"
|
|
.byte 0x00
|
|
.global data_ov39_021869f0
|
|
data_ov39_021869f0: ; 0x021869f0
|
|
.ascii "can"
|
|
.byte 0x00
|
|
.global data_ov39_021869f4
|
|
data_ov39_021869f4: ; 0x021869f4
|
|
.ascii "hul"
|
|
.byte 0x00
|
|
.global data_ov39_021869f8
|
|
data_ov39_021869f8: ; 0x021869f8
|
|
.ascii "bow"
|
|
.byte 0x00
|
|
.global data_ov39_021869fc
|
|
data_ov39_021869fc: ; 0x021869fc
|
|
.ascii "anc"
|
|
.byte 0x00
|
|
.global data_ov39_02186a00
|
|
data_ov39_02186a00: ; 0x02186a00
|
|
.byte 0xfc, 0x69, 0x18, 0x02
|
|
.global data_ov39_02186a04
|
|
data_ov39_02186a04: ; 0x02186a04
|
|
.byte 0xf8, 0x69, 0x18, 0x02
|
|
.global data_ov39_02186a08
|
|
data_ov39_02186a08: ; 0x02186a08
|
|
.byte 0xf4, 0x69, 0x18, 0x02
|
|
.global data_ov39_02186a0c
|
|
data_ov39_02186a0c: ; 0x02186a0c
|
|
.byte 0xf0, 0x69, 0x18, 0x02
|
|
.global data_ov39_02186a10
|
|
data_ov39_02186a10: ; 0x02186a10
|
|
.byte 0xec, 0x69, 0x18, 0x02
|
|
.global data_ov39_02186a14
|
|
data_ov39_02186a14: ; 0x02186a14
|
|
.byte 0xe8, 0x69, 0x18, 0x02
|
|
.global data_ov39_02186a18
|
|
data_ov39_02186a18: ; 0x02186a18
|
|
.byte 0xe4, 0x69, 0x18, 0x02
|
|
.global data_ov39_02186a1c
|
|
data_ov39_02186a1c: ; 0x02186a1c
|
|
.byte 0xe0, 0x69, 0x18, 0x02
|
|
.global data_ov39_02186a20
|
|
data_ov39_02186a20: ; 0x02186a20
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186a24
|
|
data_ov39_02186a24: ; 0x02186a24
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186a28
|
|
data_ov39_02186a28: ; 0x02186a28
|
|
.byte 0xc8, 0xbd, 0x17, 0x02
|
|
.global data_ov39_02186a2c
|
|
data_ov39_02186a2c: ; 0x02186a2c
|
|
.byte 0x30, 0xbf, 0x17, 0x02
|
|
.global data_ov39_02186a30
|
|
data_ov39_02186a30: ; 0x02186a30
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186a34
|
|
data_ov39_02186a34: ; 0x02186a34
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186a38
|
|
data_ov39_02186a38: ; 0x02186a38
|
|
.byte 0x18, 0xd0, 0x17, 0x02
|
|
.global data_ov39_02186a3c
|
|
data_ov39_02186a3c: ; 0x02186a3c
|
|
.byte 0x10, 0xd1, 0x17, 0x02
|
|
.global data_ov39_02186a40
|
|
data_ov39_02186a40: ; 0x02186a40
|
|
.byte 0x10, 0xd2, 0x17, 0x02
|
|
.global data_ov39_02186a44
|
|
data_ov39_02186a44: ; 0x02186a44
|
|
.byte 0x34, 0xd5, 0x17, 0x02
|
|
.global data_ov39_02186a48
|
|
data_ov39_02186a48: ; 0x02186a48
|
|
.byte 0x40, 0x17, 0x0c, 0x02
|
|
.global data_ov39_02186a4c
|
|
data_ov39_02186a4c: ; 0x02186a4c
|
|
.byte 0x84, 0xd6, 0x17, 0x02
|
|
.global data_ov39_02186a50
|
|
data_ov39_02186a50: ; 0x02186a50
|
|
.byte 0x04, 0xd7, 0x17, 0x02
|
|
.global data_ov39_02186a54
|
|
data_ov39_02186a54: ; 0x02186a54
|
|
.byte 0xd4, 0x17, 0x0c, 0x02
|
|
.global data_ov39_02186a58
|
|
data_ov39_02186a58: ; 0x02186a58
|
|
.byte 0x1c, 0xdd, 0x17, 0x02
|
|
.global data_ov39_02186a5c
|
|
data_ov39_02186a5c: ; 0x02186a5c
|
|
.byte 0x44, 0x17, 0x0c, 0x02
|
|
.global data_ov39_02186a60
|
|
data_ov39_02186a60: ; 0x02186a60
|
|
.byte 0x48, 0x17, 0x0c, 0x02
|
|
.global data_ov39_02186a64
|
|
data_ov39_02186a64: ; 0x02186a64
|
|
.byte 0xa8, 0x17, 0x0c, 0x02
|
|
.global data_ov39_02186a68
|
|
data_ov39_02186a68: ; 0x02186a68
|
|
.byte 0xb0, 0x17, 0x0c, 0x02
|
|
.global data_ov39_02186a6c
|
|
data_ov39_02186a6c: ; 0x02186a6c
|
|
.byte 0x4c, 0x17, 0x0c, 0x02
|
|
.global data_ov39_02186a70
|
|
data_ov39_02186a70: ; 0x02186a70
|
|
.byte 0x7c, 0x17, 0x0c, 0x02
|
|
.global data_ov39_02186a74
|
|
data_ov39_02186a74: ; 0x02186a74
|
|
.byte 0xe4, 0x27, 0x0c, 0x02
|
|
.global data_ov39_02186a78
|
|
data_ov39_02186a78: ; 0x02186a78
|
|
.byte 0x04, 0x30, 0x0c, 0x02
|
|
.global data_ov39_02186a7c
|
|
data_ov39_02186a7c: ; 0x02186a7c
|
|
.byte 0x44, 0x27, 0x0c, 0x02
|
|
.global data_ov39_02186a80
|
|
data_ov39_02186a80: ; 0x02186a80
|
|
.byte 0xc0, 0xdf, 0x17, 0x02
|
|
.global data_ov39_02186a84
|
|
data_ov39_02186a84: ; 0x02186a84
|
|
.byte 0x50, 0x1c, 0x0c, 0x02
|
|
.global data_ov39_02186a88
|
|
data_ov39_02186a88: ; 0x02186a88
|
|
.byte 0x0c, 0x31, 0x0c, 0x02
|
|
.global data_ov39_02186a8c
|
|
data_ov39_02186a8c: ; 0x02186a8c
|
|
.byte 0x14, 0x31, 0x0c, 0x02
|
|
.global data_ov39_02186a90
|
|
data_ov39_02186a90: ; 0x02186a90
|
|
.byte 0xa8, 0x18, 0x0c, 0x02
|
|
.global data_ov39_02186a94
|
|
data_ov39_02186a94: ; 0x02186a94
|
|
.byte 0xc4, 0x18, 0x0c, 0x02
|
|
.global data_ov39_02186a98
|
|
data_ov39_02186a98: ; 0x02186a98
|
|
.byte 0xfc, 0x18, 0x0c, 0x02
|
|
.global data_ov39_02186a9c
|
|
data_ov39_02186a9c: ; 0x02186a9c
|
|
.byte 0x04, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186aa0
|
|
data_ov39_02186aa0: ; 0x02186aa0
|
|
.byte 0x10, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186aa4
|
|
data_ov39_02186aa4: ; 0x02186aa4
|
|
.byte 0x14, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186aa8
|
|
data_ov39_02186aa8: ; 0x02186aa8
|
|
.byte 0x1c, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186aac
|
|
data_ov39_02186aac: ; 0x02186aac
|
|
.byte 0x24, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186ab0
|
|
data_ov39_02186ab0: ; 0x02186ab0
|
|
.byte 0x2c, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186ab4
|
|
data_ov39_02186ab4: ; 0x02186ab4
|
|
.byte 0x28, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186ab8
|
|
data_ov39_02186ab8: ; 0x02186ab8
|
|
.byte 0x34, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186abc
|
|
data_ov39_02186abc: ; 0x02186abc
|
|
.byte 0x38, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186ac0
|
|
data_ov39_02186ac0: ; 0x02186ac0
|
|
.byte 0x3c, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186ac4
|
|
data_ov39_02186ac4: ; 0x02186ac4
|
|
.byte 0x40, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186ac8
|
|
data_ov39_02186ac8: ; 0x02186ac8
|
|
.byte 0x48, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186acc
|
|
data_ov39_02186acc: ; 0x02186acc
|
|
.byte 0x50, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186ad0
|
|
data_ov39_02186ad0: ; 0x02186ad0
|
|
.byte 0x54, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186ad4
|
|
data_ov39_02186ad4: ; 0x02186ad4
|
|
.byte 0x58, 0x19, 0x0c, 0x02
|
|
.global data_ov39_02186ad8
|
|
data_ov39_02186ad8: ; 0x02186ad8
|
|
.byte 0x6c, 0x1b, 0x0c, 0x02
|
|
.global data_ov39_02186adc
|
|
data_ov39_02186adc: ; 0x02186adc
|
|
.byte 0xb4, 0x1b, 0x0c, 0x02
|
|
.global data_ov39_02186ae0
|
|
data_ov39_02186ae0: ; 0x02186ae0
|
|
.byte 0xf8, 0x1b, 0x0c, 0x02
|
|
.global data_ov39_02186ae4
|
|
data_ov39_02186ae4: ; 0x02186ae4
|
|
.byte 0xfc, 0x31, 0x0c, 0x02
|
|
.global data_ov39_02186ae8
|
|
data_ov39_02186ae8: ; 0x02186ae8
|
|
.byte 0x2c, 0x32, 0x0c, 0x02
|
|
.global data_ov39_02186aec
|
|
data_ov39_02186aec: ; 0x02186aec
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186af0
|
|
data_ov39_02186af0: ; 0x02186af0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186af4
|
|
data_ov39_02186af4: ; 0x02186af4
|
|
.byte 0x34, 0x5d, 0x0c, 0x02
|
|
.global data_ov39_02186af8
|
|
data_ov39_02186af8: ; 0x02186af8
|
|
.byte 0x1c, 0x51, 0x18, 0x02
|
|
.global data_ov39_02186afc
|
|
data_ov39_02186afc: ; 0x02186afc
|
|
.byte 0x58, 0x5e, 0x0c, 0x02
|
|
.global data_ov39_02186b00
|
|
data_ov39_02186b00: ; 0x02186b00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186b04
|
|
data_ov39_02186b04: ; 0x02186b04
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186b08
|
|
data_ov39_02186b08: ; 0x02186b08
|
|
.byte 0x4d, 0x9b, 0x0a, 0x02
|
|
.global data_ov39_02186b0c
|
|
data_ov39_02186b0c: ; 0x02186b0c
|
|
.byte 0x59, 0x9b, 0x0a, 0x02
|
|
.global data_ov39_02186b10
|
|
data_ov39_02186b10: ; 0x02186b10
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186b14
|
|
data_ov39_02186b14: ; 0x02186b14
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186b18
|
|
data_ov39_02186b18: ; 0x02186b18
|
|
.byte 0xac, 0xcf, 0x17, 0x02
|
|
.global data_ov39_02186b1c
|
|
data_ov39_02186b1c: ; 0x02186b1c
|
|
.byte 0x00, 0x51, 0x18, 0x02
|
|
.global data_ov39_02186b20
|
|
data_ov39_02186b20: ; 0x02186b20
|
|
.byte 0x0c, 0x96, 0x0a, 0x02
|
|
.global data_ov39_02186b24
|
|
data_ov39_02186b24: ; 0x02186b24
|
|
.byte 0x14, 0x96, 0x0a, 0x02
|
|
.global data_ov39_02186b28
|
|
data_ov39_02186b28: ; 0x02186b28
|
|
.byte 0x50, 0x96, 0x0a, 0x02
|
|
.global data_ov39_02186b2c
|
|
data_ov39_02186b2c: ; 0x02186b2c
|
|
.byte 0xd4, 0x96, 0x0a, 0x02
|
|
.global data_ov39_02186b30
|
|
data_ov39_02186b30: ; 0x02186b30
|
|
.byte 0x40, 0x97, 0x0a, 0x02
|
|
.global data_ov39_02186b34
|
|
data_ov39_02186b34: ; 0x02186b34
|
|
.byte 0x64, 0x97, 0x0a, 0x02
|
|
.global data_ov39_02186b38
|
|
data_ov39_02186b38: ; 0x02186b38
|
|
.byte 0xd0, 0x97, 0x0a, 0x02
|
|
.global data_ov39_02186b3c
|
|
data_ov39_02186b3c: ; 0x02186b3c
|
|
.byte 0xe0, 0x97, 0x0a, 0x02
|
|
.global data_ov39_02186b40
|
|
data_ov39_02186b40: ; 0x02186b40
|
|
.byte 0xf8, 0x97, 0x0a, 0x02
|
|
.global data_ov39_02186b44
|
|
data_ov39_02186b44: ; 0x02186b44
|
|
.byte 0x64, 0x98, 0x0a, 0x02
|
|
.global data_ov39_02186b48
|
|
data_ov39_02186b48: ; 0x02186b48
|
|
.byte 0xbc, 0x98, 0x0a, 0x02
|
|
.global data_ov39_02186b4c
|
|
data_ov39_02186b4c: ; 0x02186b4c
|
|
.byte 0x90, 0x98, 0x0a, 0x02
|
|
.global data_ov39_02186b50
|
|
data_ov39_02186b50: ; 0x02186b50
|
|
.byte 0x68, 0x99, 0x0a, 0x02
|
|
.global data_ov39_02186b54
|
|
data_ov39_02186b54: ; 0x02186b54
|
|
.byte 0x38, 0xc3, 0x17, 0x02
|
|
.global data_ov39_02186b58
|
|
data_ov39_02186b58: ; 0x02186b58
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186b5c
|
|
data_ov39_02186b5c: ; 0x02186b5c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186b60
|
|
data_ov39_02186b60: ; 0x02186b60
|
|
.byte 0x34, 0x5d, 0x0c, 0x02
|
|
.global data_ov39_02186b64
|
|
data_ov39_02186b64: ; 0x02186b64
|
|
.byte 0x1c, 0x51, 0x18, 0x02
|
|
.global data_ov39_02186b68
|
|
data_ov39_02186b68: ; 0x02186b68
|
|
.byte 0x58, 0x5e, 0x0c, 0x02
|
|
.global data_ov39_02186b6c
|
|
data_ov39_02186b6c: ; 0x02186b6c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186b70
|
|
data_ov39_02186b70: ; 0x02186b70
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186b74
|
|
data_ov39_02186b74: ; 0x02186b74
|
|
.byte 0x0d, 0x9b, 0x0a, 0x02
|
|
.global data_ov39_02186b78
|
|
data_ov39_02186b78: ; 0x02186b78
|
|
.byte 0x19, 0x9b, 0x0a, 0x02
|
|
.global data_ov39_02186b7c
|
|
data_ov39_02186b7c: ; 0x02186b7c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186b80
|
|
data_ov39_02186b80: ; 0x02186b80
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186b84
|
|
data_ov39_02186b84: ; 0x02186b84
|
|
.byte 0x34, 0x5d, 0x0c, 0x02
|
|
.global data_ov39_02186b88
|
|
data_ov39_02186b88: ; 0x02186b88
|
|
.byte 0x6c, 0xc1, 0x17, 0x02
|
|
.global data_ov39_02186b8c
|
|
data_ov39_02186b8c: ; 0x02186b8c
|
|
.byte 0x7c, 0xc1, 0x17, 0x02
|
|
.global data_ov39_02186b90
|
|
data_ov39_02186b90: ; 0x02186b90
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186b94
|
|
data_ov39_02186b94: ; 0x02186b94
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186b98
|
|
data_ov39_02186b98: ; 0x02186b98
|
|
.byte 0xcd, 0x9a, 0x0a, 0x02
|
|
.global data_ov39_02186b9c
|
|
data_ov39_02186b9c: ; 0x02186b9c
|
|
.byte 0xd9, 0x9a, 0x0a, 0x02
|
|
.global data_ov39_02186ba0
|
|
data_ov39_02186ba0: ; 0x02186ba0
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186ba4
|
|
data_ov39_02186ba4: ; 0x02186ba4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186ba8
|
|
data_ov39_02186ba8: ; 0x02186ba8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186bac
|
|
data_ov39_02186bac: ; 0x02186bac
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186bb0
|
|
data_ov39_02186bb0: ; 0x02186bb0
|
|
.ascii "GT1:/ef_tornado_gdo1.nsbta"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_02186bcc
|
|
data_ov39_02186bcc: ; 0x02186bcc
|
|
.ascii "ef_tornado_gdo1"
|
|
.byte 0x00
|
|
.global data_ov39_02186bdc
|
|
data_ov39_02186bdc: ; 0x02186bdc
|
|
.ascii "GT1:/ef_tornado_gdo2.nsbta"
|
|
.byte 0x00, 0x00
|
|
.global data_ov39_02186bf8
|
|
data_ov39_02186bf8: ; 0x02186bf8
|
|
.ascii "ef_tornado_gdo2"
|
|
.byte 0x00
|
|
.global data_ov39_02186c08
|
|
data_ov39_02186c08: ; 0x02186c08
|
|
.ascii "gdo3_eye_pl"
|
|
.byte 0x00
|
|
.global data_ov39_02186c14
|
|
data_ov39_02186c14: ; 0x02186c14
|
|
.byte 0x94, 0x51, 0x18, 0x02
|
|
.global data_ov39_02186c18
|
|
data_ov39_02186c18: ; 0x02186c18
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186c1c
|
|
data_ov39_02186c1c: ; 0x02186c1c
|
|
.byte 0x94, 0x51, 0x18, 0x02
|
|
.global data_ov39_02186c20
|
|
data_ov39_02186c20: ; 0x02186c20
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186c24
|
|
data_ov39_02186c24: ; 0x02186c24
|
|
.byte 0x94, 0x51, 0x18, 0x02
|
|
.global data_ov39_02186c28
|
|
data_ov39_02186c28: ; 0x02186c28
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186c2c
|
|
data_ov39_02186c2c: ; 0x02186c2c
|
|
.ascii "brg"
|
|
.byte 0x00
|
|
.global data_ov39_02186c30
|
|
data_ov39_02186c30: ; 0x02186c30
|
|
.ascii "fnl"
|
|
.byte 0x00
|
|
.global data_ov39_02186c34
|
|
data_ov39_02186c34: ; 0x02186c34
|
|
.ascii "pdl"
|
|
.byte 0x00
|
|
.global data_ov39_02186c38
|
|
data_ov39_02186c38: ; 0x02186c38
|
|
.ascii "dco"
|
|
.byte 0x00
|
|
.global data_ov39_02186c3c
|
|
data_ov39_02186c3c: ; 0x02186c3c
|
|
.ascii "can"
|
|
.byte 0x00
|
|
.global data_ov39_02186c40
|
|
data_ov39_02186c40: ; 0x02186c40
|
|
.ascii "hul"
|
|
.byte 0x00
|
|
.global data_ov39_02186c44
|
|
data_ov39_02186c44: ; 0x02186c44
|
|
.ascii "bow"
|
|
.byte 0x00
|
|
.global data_ov39_02186c48
|
|
data_ov39_02186c48: ; 0x02186c48
|
|
.ascii "anc"
|
|
.byte 0x00
|
|
.global data_ov39_02186c4c
|
|
data_ov39_02186c4c: ; 0x02186c4c
|
|
.byte 0x48, 0x6c, 0x18, 0x02
|
|
.global data_ov39_02186c50
|
|
data_ov39_02186c50: ; 0x02186c50
|
|
.byte 0x44, 0x6c, 0x18, 0x02
|
|
.global data_ov39_02186c54
|
|
data_ov39_02186c54: ; 0x02186c54
|
|
.byte 0x40, 0x6c, 0x18, 0x02
|
|
.global data_ov39_02186c58
|
|
data_ov39_02186c58: ; 0x02186c58
|
|
.byte 0x3c, 0x6c, 0x18, 0x02
|
|
.global data_ov39_02186c5c
|
|
data_ov39_02186c5c: ; 0x02186c5c
|
|
.byte 0x38, 0x6c, 0x18, 0x02
|
|
.global data_ov39_02186c60
|
|
data_ov39_02186c60: ; 0x02186c60
|
|
.byte 0x34, 0x6c, 0x18, 0x02
|
|
.global data_ov39_02186c64
|
|
data_ov39_02186c64: ; 0x02186c64
|
|
.byte 0x30, 0x6c, 0x18, 0x02
|
|
.global data_ov39_02186c68
|
|
data_ov39_02186c68: ; 0x02186c68
|
|
.byte 0x2c, 0x6c, 0x18, 0x02
|
|
.global data_ov39_02186c6c
|
|
data_ov39_02186c6c: ; 0x02186c6c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186c70
|
|
data_ov39_02186c70: ; 0x02186c70
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186c74
|
|
data_ov39_02186c74: ; 0x02186c74
|
|
.byte 0x98, 0xcf, 0x17, 0x02
|
|
.global data_ov39_02186c78
|
|
data_ov39_02186c78: ; 0x02186c78
|
|
.byte 0x08, 0x61, 0x18, 0x02
|
|
.global data_ov39_02186c7c
|
|
data_ov39_02186c7c: ; 0x02186c7c
|
|
.byte 0x0c, 0x96, 0x0a, 0x02
|
|
.global data_ov39_02186c80
|
|
data_ov39_02186c80: ; 0x02186c80
|
|
.byte 0x14, 0x96, 0x0a, 0x02
|
|
.global data_ov39_02186c84
|
|
data_ov39_02186c84: ; 0x02186c84
|
|
.byte 0x50, 0x96, 0x0a, 0x02
|
|
.global data_ov39_02186c88
|
|
data_ov39_02186c88: ; 0x02186c88
|
|
.byte 0xd4, 0x96, 0x0a, 0x02
|
|
.global data_ov39_02186c8c
|
|
data_ov39_02186c8c: ; 0x02186c8c
|
|
.byte 0x40, 0x97, 0x0a, 0x02
|
|
.global data_ov39_02186c90
|
|
data_ov39_02186c90: ; 0x02186c90
|
|
.byte 0x64, 0x97, 0x0a, 0x02
|
|
.global data_ov39_02186c94
|
|
data_ov39_02186c94: ; 0x02186c94
|
|
.byte 0xd0, 0x97, 0x0a, 0x02
|
|
.global data_ov39_02186c98
|
|
data_ov39_02186c98: ; 0x02186c98
|
|
.byte 0xe0, 0x97, 0x0a, 0x02
|
|
.global data_ov39_02186c9c
|
|
data_ov39_02186c9c: ; 0x02186c9c
|
|
.byte 0xf8, 0x97, 0x0a, 0x02
|
|
.global data_ov39_02186ca0
|
|
data_ov39_02186ca0: ; 0x02186ca0
|
|
.byte 0x64, 0x98, 0x0a, 0x02
|
|
.global data_ov39_02186ca4
|
|
data_ov39_02186ca4: ; 0x02186ca4
|
|
.byte 0xbc, 0x98, 0x0a, 0x02
|
|
.global data_ov39_02186ca8
|
|
data_ov39_02186ca8: ; 0x02186ca8
|
|
.byte 0x90, 0x98, 0x0a, 0x02
|
|
.global data_ov39_02186cac
|
|
data_ov39_02186cac: ; 0x02186cac
|
|
.byte 0x68, 0x99, 0x0a, 0x02
|
|
.global data_ov39_02186cb0
|
|
data_ov39_02186cb0: ; 0x02186cb0
|
|
.byte 0x94, 0x99, 0x0a, 0x02
|
|
.global data_ov39_02186cb4
|
|
data_ov39_02186cb4: ; 0x02186cb4
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186cb8
|
|
data_ov39_02186cb8: ; 0x02186cb8
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov39_02186cbc
|
|
data_ov39_02186cbc: ; 0x02186cbc
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
; 0x02186cc0
|
|
|
|
.bss
|
|
.global data_ov39_02186cc0
|
|
data_ov39_02186cc0:
|
|
.space 0x4
|
|
.global data_ov39_02186cc4
|
|
data_ov39_02186cc4:
|
|
.space 0x4
|
|
.global data_ov39_02186cc8
|
|
data_ov39_02186cc8:
|
|
.space 0x4
|
|
.global data_ov39_02186ccc
|
|
data_ov39_02186ccc:
|
|
.space 0x4
|
|
.global data_ov39_02186cd0
|
|
data_ov39_02186cd0:
|
|
.space 0x4
|
|
.global data_ov39_02186cd4
|
|
data_ov39_02186cd4:
|
|
.space 0x4
|
|
.global data_ov39_02186cd8
|
|
data_ov39_02186cd8:
|
|
.space 0x4
|
|
.global data_ov39_02186cdc
|
|
data_ov39_02186cdc:
|
|
.space 0x4
|
|
.global data_ov39_02186ce0
|
|
data_ov39_02186ce0:
|
|
.space 0x4
|
|
.global data_ov39_02186ce4
|
|
data_ov39_02186ce4:
|
|
.space 0x4
|
|
.global data_ov39_02186ce8
|
|
data_ov39_02186ce8:
|
|
.space 0x4
|
|
.global data_ov39_02186cec
|
|
data_ov39_02186cec:
|
|
.space 0x4
|
|
.global data_ov39_02186cf0
|
|
data_ov39_02186cf0:
|
|
.space 0x4
|
|
.global data_ov39_02186cf4
|
|
data_ov39_02186cf4:
|
|
.space 0x4
|
|
.global data_ov39_02186cf8
|
|
data_ov39_02186cf8:
|
|
.space 0x4
|
|
.global data_ov39_02186cfc
|
|
data_ov39_02186cfc:
|
|
.space 0x4
|