mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-11-24 13:49:45 +00:00
35483 lines
630 KiB
ArmAsm
35483 lines
630 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "overlay_49.inc"
|
|
.include "global.inc"
|
|
|
|
.text
|
|
|
|
thumb_func_start ov49_02258800
|
|
ov49_02258800: ; 0x02258800
|
|
mov r3, #0
|
|
ldrsh r2, [r0, r3]
|
|
lsl r2, r2, #0xc
|
|
str r2, [r1]
|
|
mov r2, #2
|
|
ldrsh r0, [r0, r2]
|
|
lsl r0, r0, #0xc
|
|
str r0, [r1, #8]
|
|
str r3, [r1, #4]
|
|
bx lr
|
|
thumb_func_end ov49_02258800
|
|
|
|
thumb_func_start ov49_02258814
|
|
ov49_02258814: ; 0x02258814
|
|
ldr r3, [r0]
|
|
asr r2, r3, #0xb
|
|
lsr r2, r2, #0x14
|
|
add r2, r3, r2
|
|
asr r2, r2, #0xc
|
|
strh r2, [r1]
|
|
ldr r2, [r0, #8]
|
|
asr r0, r2, #0xb
|
|
lsr r0, r0, #0x14
|
|
add r0, r2, r0
|
|
asr r0, r0, #0xc
|
|
strh r0, [r1, #2]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02258814
|
|
|
|
thumb_func_start ov49_02258830
|
|
ov49_02258830: ; 0x02258830
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
add r0, r1, #0
|
|
add r1, r2, #0
|
|
mov r2, #0
|
|
add r7, r3, #0
|
|
bl GfGfxLoader_LoadFromOpenNarc
|
|
add r4, r0, #0
|
|
bl NNS_G3dGetTex
|
|
add r6, r0, #0
|
|
bl AllocAndLoad3dTexResources
|
|
add r0, r6, #0
|
|
add r1, sp, #0xc
|
|
add r2, sp, #8
|
|
bl NNS_G3dTexReleaseTexKey
|
|
add r0, r6, #0
|
|
bl NNS_G3dPlttReleasePlttKey
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
bl sub_02025ACC
|
|
add r6, r0, #0
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl AllocFromHeap
|
|
str r0, [r5]
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl memcpy
|
|
ldr r0, [r5]
|
|
bl NNS_G3dGetTex
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #8]
|
|
add r5, r0, #0
|
|
bl NNS_G3dTexSetTexKey
|
|
ldr r1, [sp, #4]
|
|
add r0, r5, #0
|
|
bl NNS_G3dPlttSetPlttKey
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_02258830
|
|
|
|
thumb_func_start ov49_022588A0
|
|
ov49_022588A0: ; 0x022588A0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x60
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
add r1, sp, #0x54
|
|
add r2, sp, #0x58
|
|
add r3, sp, #0x5c
|
|
bl sub_020182B0
|
|
add r0, r5, #0
|
|
add r1, sp, #0x48
|
|
add r2, sp, #0x4c
|
|
add r3, sp, #0x50
|
|
bl sub_020182CC
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl sub_020182EC
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl sub_020182EC
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl sub_020182EC
|
|
add r5, r0, #0
|
|
add r0, sp, #0x24
|
|
bl MTX_Identity33_
|
|
asr r0, r6, #4
|
|
lsl r3, r0, #1
|
|
lsl r1, r3, #1
|
|
ldr r2, _02258954 ; =FX_SinCosTable_
|
|
add r3, r3, #1
|
|
lsl r3, r3, #1
|
|
ldrsh r1, [r2, r1]
|
|
ldrsh r2, [r2, r3]
|
|
add r0, sp, #0
|
|
bl MTX_RotX33_
|
|
add r1, sp, #0x24
|
|
add r0, sp, #0
|
|
add r2, r1, #0
|
|
bl MTX_Concat33
|
|
asr r0, r5, #4
|
|
lsl r2, r0, #1
|
|
lsl r1, r2, #1
|
|
ldr r3, _02258954 ; =FX_SinCosTable_
|
|
add r2, r2, #1
|
|
lsl r2, r2, #1
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
add r0, sp, #0
|
|
bl MTX_RotZ33_
|
|
add r1, sp, #0x24
|
|
add r0, sp, #0
|
|
add r2, r1, #0
|
|
bl MTX_Concat33
|
|
asr r0, r7, #4
|
|
lsl r2, r0, #1
|
|
lsl r1, r2, #1
|
|
ldr r3, _02258954 ; =FX_SinCosTable_
|
|
add r2, r2, #1
|
|
lsl r2, r2, #1
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
add r0, sp, #0
|
|
bl MTX_RotY33_
|
|
add r1, sp, #0x24
|
|
add r0, sp, #0
|
|
add r2, r1, #0
|
|
bl MTX_Concat33
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0x54
|
|
add r2, sp, #0x24
|
|
add r3, sp, #0x48
|
|
bl sub_0201F990
|
|
add sp, #0x60
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02258954: .word FX_SinCosTable_
|
|
thumb_func_end ov49_022588A0
|
|
|
|
thumb_func_start ov49_02258958
|
|
ov49_02258958: ; 0x02258958
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
mov r0, #0x23
|
|
mov r1, #0x2a
|
|
add r2, r5, #0
|
|
bl ov42_02227EE0
|
|
str r0, [r4]
|
|
mov r0, #1
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
mov r0, #0xca
|
|
add r2, r1, #0
|
|
add r3, r5, #0
|
|
bl GfGfxLoader_LoadFromNarc
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r1, r5, #0
|
|
bl ov42_02227F48
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_02258958
|
|
|
|
thumb_func_start ov49_02258994
|
|
ov49_02258994: ; 0x02258994
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl ov42_02227F28
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02258994
|
|
|
|
thumb_func_start ov49_022589A8
|
|
ov49_022589A8: ; 0x022589A8
|
|
mov r0, #0x23
|
|
bx lr
|
|
thumb_func_end ov49_022589A8
|
|
|
|
thumb_func_start ov49_022589AC
|
|
ov49_022589AC: ; 0x022589AC
|
|
ldr r3, _022589B4 ; =ov42_02227FA4
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_022589B4: .word ov42_02227FA4
|
|
thumb_func_end ov49_022589AC
|
|
|
|
thumb_func_start ov49_022589B8
|
|
ov49_022589B8: ; 0x022589B8
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
bl ov42_02227FDC
|
|
lsr r0, r0, #0xf
|
|
pop {r3, pc}
|
|
thumb_func_end ov49_022589B8
|
|
|
|
thumb_func_start ov49_022589C4
|
|
ov49_022589C4: ; 0x022589C4
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
bl ov42_02227FDC
|
|
ldr r1, _022589D4 ; =0x00007FFF
|
|
and r0, r1
|
|
pop {r3, pc}
|
|
nop
|
|
_022589D4: .word 0x00007FFF
|
|
thumb_func_end ov49_022589C4
|
|
|
|
thumb_func_start ov49_022589D8
|
|
ov49_022589D8: ; 0x022589D8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
mov r5, #0
|
|
ldr r7, [sp, #0x28]
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
str r2, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
str r5, [sp, #0x10]
|
|
_022589EA:
|
|
ldr r0, [sp, #0x10]
|
|
mov r4, #0
|
|
lsl r0, r0, #0x10
|
|
lsr r6, r0, #0x10
|
|
_022589F2:
|
|
lsl r1, r4, #0x10
|
|
ldr r0, [sp]
|
|
lsr r1, r1, #0x10
|
|
add r2, r6, #0
|
|
bl ov49_022589B8
|
|
ldr r1, [sp, #4]
|
|
cmp r0, r1
|
|
bne _02258A1A
|
|
cmp r5, r7
|
|
blo _02258A18
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #0x10]
|
|
strh r4, [r0]
|
|
ldr r0, [sp, #0xc]
|
|
add sp, #0x14
|
|
strh r1, [r0]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02258A18:
|
|
add r5, r5, #1
|
|
_02258A1A:
|
|
add r4, r4, #1
|
|
cmp r4, #0x23
|
|
blt _022589F2
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #0x2a
|
|
blt _022589EA
|
|
mov r0, #0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_022589D8
|
|
|
|
thumb_func_start ov49_02258A30
|
|
ov49_02258A30: ; 0x02258A30
|
|
ldr r3, _02258A4C ; =ov49_02269634
|
|
mov r2, #0
|
|
_02258A34:
|
|
ldrb r1, [r3]
|
|
cmp r0, r1
|
|
bne _02258A3E
|
|
mov r0, #1
|
|
bx lr
|
|
_02258A3E:
|
|
add r2, r2, #1
|
|
add r3, r3, #1
|
|
cmp r2, #0x20
|
|
blo _02258A34
|
|
mov r0, #0
|
|
bx lr
|
|
nop
|
|
_02258A4C: .word ov49_02269634
|
|
thumb_func_end ov49_02258A30
|
|
|
|
thumb_func_start ov49_02258A50
|
|
ov49_02258A50: ; 0x02258A50
|
|
ldr r3, _02258A6C ; =_02269624
|
|
mov r2, #0
|
|
_02258A54:
|
|
ldrb r1, [r3]
|
|
cmp r0, r1
|
|
bne _02258A5E
|
|
mov r0, #1
|
|
bx lr
|
|
_02258A5E:
|
|
add r2, r2, #1
|
|
add r3, r3, #1
|
|
cmp r2, #3
|
|
blo _02258A54
|
|
mov r0, #0
|
|
bx lr
|
|
nop
|
|
_02258A6C: .word _02269624
|
|
thumb_func_end ov49_02258A50
|
|
|
|
thumb_func_start ov49_02258A70
|
|
ov49_02258A70: ; 0x02258A70
|
|
ldr r3, _02258A8C ; =ov49_0226962C
|
|
mov r2, #0
|
|
_02258A74:
|
|
ldrb r1, [r3]
|
|
cmp r0, r1
|
|
bne _02258A7E
|
|
mov r0, #1
|
|
bx lr
|
|
_02258A7E:
|
|
add r2, r2, #1
|
|
add r3, r3, #1
|
|
cmp r2, #7
|
|
blo _02258A74
|
|
mov r0, #0
|
|
bx lr
|
|
nop
|
|
_02258A8C: .word ov49_0226962C
|
|
thumb_func_end ov49_02258A70
|
|
|
|
thumb_func_start ov49_02258A90
|
|
ov49_02258A90: ; 0x02258A90
|
|
ldr r3, _02258AAC ; =ov49_02269628
|
|
mov r2, #0
|
|
_02258A94:
|
|
ldrb r1, [r3]
|
|
cmp r0, r1
|
|
bne _02258A9E
|
|
mov r0, #1
|
|
bx lr
|
|
_02258A9E:
|
|
add r2, r2, #1
|
|
add r3, r3, #1
|
|
cmp r2, #4
|
|
blo _02258A94
|
|
mov r0, #0
|
|
bx lr
|
|
nop
|
|
_02258AAC: .word ov49_02269628
|
|
thumb_func_end ov49_02258A90
|
|
|
|
thumb_func_start ov49_02258AB0
|
|
ov49_02258AB0: ; 0x02258AB0
|
|
ldr r0, [r0]
|
|
bx lr
|
|
thumb_func_end ov49_02258AB0
|
|
|
|
thumb_func_start ov49_02258AB4
|
|
ov49_02258AB4: ; 0x02258AB4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r0, r3, #0
|
|
mov r1, #0x28
|
|
str r2, [sp]
|
|
str r3, [sp, #4]
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0x28
|
|
add r4, r0, #0
|
|
bl memset
|
|
ldr r1, [sp, #4]
|
|
add r0, r5, #0
|
|
bl ov42_02228010
|
|
str r0, [r4]
|
|
ldr r2, [sp, #4]
|
|
ldr r3, [sp, #0x20]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov45_02230498
|
|
str r0, [r4, #4]
|
|
ldr r1, [sp, #4]
|
|
mov r0, #0x20
|
|
bl ov42_02229A40
|
|
str r0, [r4, #0x10]
|
|
mov r0, #0x28
|
|
add r7, r5, #0
|
|
mul r7, r0
|
|
ldr r0, [sp, #4]
|
|
add r1, r7, #0
|
|
strh r5, [r4, #0xc]
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
add r2, r7, #0
|
|
str r0, [r4, #8]
|
|
bl memset
|
|
ldr r0, [sp]
|
|
str r0, [r4, #0x14]
|
|
add r0, r4, #0
|
|
strh r6, [r4, #0xe]
|
|
bl ov49_022591D8
|
|
add r0, r4, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_02258AB4
|
|
|
|
thumb_func_start ov49_02258B20
|
|
ov49_02258B20: ; 0x02258B20
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl FreeToHeap
|
|
ldr r0, [r4, #0x10]
|
|
bl ov42_02229A78
|
|
ldr r0, [r4, #4]
|
|
bl ov45_02230638
|
|
ldr r0, [r4]
|
|
bl ov42_02228050
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_02258B20
|
|
|
|
thumb_func_start ov49_02258B44
|
|
ov49_02258B44: ; 0x02258B44
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
bl ov42_0222807C
|
|
add r0, r4, #0
|
|
ldr r1, [r4, #4]
|
|
add r0, #0x18
|
|
bl ov49_02259A54
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02258B44
|
|
|
|
thumb_func_start ov49_02258B5C
|
|
ov49_02258B5C: ; 0x02258B5C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldrh r0, [r5, #0xc]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _02258B8C
|
|
add r4, r6, #0
|
|
_02258B6C:
|
|
ldr r0, [r5, #8]
|
|
add r0, r0, r4
|
|
bl ov49_022593FC
|
|
cmp r0, #0
|
|
bne _02258B82
|
|
ldr r0, [r5, #8]
|
|
add r1, r5, #0
|
|
add r0, r0, r4
|
|
ldr r2, [r0, #0x24]
|
|
blx r2
|
|
_02258B82:
|
|
ldrh r0, [r5, #0xc]
|
|
add r6, r6, #1
|
|
add r4, #0x28
|
|
cmp r6, r0
|
|
blt _02258B6C
|
|
_02258B8C:
|
|
ldr r0, [r5, #0x14]
|
|
bl ov49_02258AB0
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
add r1, sp, #8
|
|
bl ov42_02229AC8
|
|
cmp r0, #1
|
|
bne _02258BC8
|
|
add r7, sp, #0
|
|
add r6, sp, #8
|
|
_02258BA4:
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl ov42_02228C80
|
|
cmp r0, #1
|
|
bne _02258BBC
|
|
ldr r0, [r5]
|
|
add r1, r7, #0
|
|
bl ov42_02228068
|
|
_02258BBC:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r6, #0
|
|
bl ov42_02229AC8
|
|
cmp r0, #1
|
|
beq _02258BA4
|
|
_02258BC8:
|
|
ldr r0, [r5, #4]
|
|
bl ov45_02230680
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02258B5C
|
|
|
|
thumb_func_start ov49_02258BD4
|
|
ov49_02258BD4: ; 0x02258BD4
|
|
ldr r3, _02258BDC ; =ov45_022306B4
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_02258BDC: .word ov45_022306B4
|
|
thumb_func_end ov49_02258BD4
|
|
|
|
thumb_func_start ov49_02258BE0
|
|
ov49_02258BE0: ; 0x02258BE0
|
|
ldr r3, _02258BE8 ; =ov45_022306F4
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_02258BE8: .word ov45_022306F4
|
|
thumb_func_end ov49_02258BE0
|
|
|
|
thumb_func_start ov49_02258BEC
|
|
ov49_02258BEC: ; 0x02258BEC
|
|
add r3, r0, #0
|
|
add r2, r1, #0
|
|
ldr r1, [r3, #4]
|
|
lsl r3, r2, #2
|
|
ldr r2, _02258C00 ; =ov49_02269660
|
|
add r0, #0x18
|
|
ldr r2, [r2, r3]
|
|
ldr r3, _02258C04 ; =ov49_02259A20
|
|
bx r3
|
|
nop
|
|
_02258C00: .word ov49_02269660
|
|
_02258C04: .word ov49_02259A20
|
|
thumb_func_end ov49_02258BEC
|
|
|
|
thumb_func_start ov49_02258C08
|
|
ov49_02258C08: ; 0x02258C08
|
|
lsl r2, r1, #2
|
|
ldr r1, _02258C14 ; =ov49_02269660
|
|
ldr r3, _02258C18 ; =ov49_02259A3C
|
|
add r0, #0x18
|
|
ldr r1, [r1, r2]
|
|
bx r3
|
|
.balign 4, 0
|
|
_02258C14: .word ov49_02269660
|
|
_02258C18: .word ov49_02259A3C
|
|
thumb_func_end ov49_02258C08
|
|
|
|
thumb_func_start ov49_02258C1C
|
|
ov49_02258C1C: ; 0x02258C1C
|
|
ldr r3, _02258C24 ; =ov42_02229A8C
|
|
ldr r0, [r0, #0x10]
|
|
bx r3
|
|
nop
|
|
_02258C24: .word ov42_02229A8C
|
|
thumb_func_end ov49_02258C1C
|
|
|
|
thumb_func_start ov49_02258C28
|
|
ov49_02258C28: ; 0x02258C28
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r2, sp, #4
|
|
add r4, r1, #0
|
|
ldr r0, [r5, #0x14]
|
|
mov r1, #3
|
|
add r2, #2
|
|
add r3, sp, #4
|
|
bl ov49_022589D8
|
|
cmp r0, #0
|
|
bne _02258C4A
|
|
bl GF_AssertFail
|
|
_02258C4A:
|
|
add r3, sp, #4
|
|
ldrh r2, [r3, #2]
|
|
ldrh r3, [r3]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_02258C5C
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_02258C28
|
|
|
|
thumb_func_start ov49_02258C5C
|
|
ov49_02258C5C: ; 0x02258C5C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r7, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
str r3, [sp]
|
|
bl ov49_022593C0
|
|
add r4, r0, #0
|
|
lsl r0, r7, #4
|
|
add r1, sp, #4
|
|
strh r0, [r1]
|
|
ldr r0, [sp]
|
|
mov r2, #0
|
|
lsl r0, r0, #4
|
|
strh r0, [r1, #2]
|
|
strh r6, [r1, #4]
|
|
strh r2, [r1, #6]
|
|
strh r2, [r1, #8]
|
|
ldrh r0, [r5, #0xe]
|
|
cmp r0, #0
|
|
bne _02258C8C
|
|
strh r2, [r1, #0xa]
|
|
b _02258C90
|
|
_02258C8C:
|
|
mov r0, #0x61
|
|
strh r0, [r1, #0xa]
|
|
_02258C90:
|
|
ldr r0, [r5]
|
|
add r1, sp, #4
|
|
bl ov42_022280B8
|
|
str r0, [r4]
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r4]
|
|
bl ov45_0223070C
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
str r4, [r5, #0x20]
|
|
bl ov49_02258EEC
|
|
add r0, r4, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02258C5C
|
|
|
|
thumb_func_start ov49_02258CB8
|
|
ov49_02258CB8: ; 0x02258CB8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
str r2, [sp, #4]
|
|
bl ov49_022593C0
|
|
mov r6, #0
|
|
str r0, [sp, #8]
|
|
add r4, r6, #0
|
|
_02258CCC:
|
|
str r4, [sp]
|
|
add r2, sp, #0xc
|
|
ldr r0, [r5, #0x14]
|
|
add r1, r7, #4
|
|
add r2, #2
|
|
add r3, sp, #0xc
|
|
bl ov49_022589D8
|
|
cmp r0, #0
|
|
bne _02258CE6
|
|
add sp, #0x1c
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02258CE6:
|
|
add r0, r5, #0
|
|
bl ov49_02258DAC
|
|
cmp r0, #0
|
|
bne _02258CF4
|
|
mov r6, #1
|
|
b _02258D06
|
|
_02258CF4:
|
|
add r1, sp, #0xc
|
|
add r2, sp, #0xc
|
|
ldrh r1, [r1, #2]
|
|
ldrh r2, [r2]
|
|
bl ov49_02258FDC
|
|
cmp r0, #0
|
|
bne _02258D06
|
|
mov r6, #1
|
|
_02258D06:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r6, #0
|
|
beq _02258CCC
|
|
add r1, sp, #0xc
|
|
ldrh r0, [r1, #2]
|
|
lsl r0, r0, #4
|
|
strh r0, [r1, #4]
|
|
ldrh r0, [r1]
|
|
lsl r0, r0, #4
|
|
strh r0, [r1, #6]
|
|
strh r7, [r1, #8]
|
|
mov r0, #0
|
|
strh r0, [r1, #0xa]
|
|
mov r0, #1
|
|
strh r0, [r1, #0xc]
|
|
ldr r0, [sp, #4]
|
|
strh r0, [r1, #0xe]
|
|
ldr r0, [r5]
|
|
add r1, sp, #0x10
|
|
bl ov42_022280B8
|
|
ldr r1, [sp, #8]
|
|
str r0, [r1]
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r1]
|
|
bl ov45_0223070C
|
|
ldr r1, [sp, #8]
|
|
mov r2, #0
|
|
str r0, [r1, #4]
|
|
add r0, r5, #0
|
|
bl ov49_02258EEC
|
|
ldr r0, [sp, #8]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02258CB8
|
|
|
|
thumb_func_start ov49_02258D54
|
|
ov49_02258D54: ; 0x02258D54
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl ov45_02230884
|
|
ldr r0, [r4]
|
|
bl ov42_02228100
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x28
|
|
bl memset
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_02258D54
|
|
|
|
thumb_func_start ov49_02258D70
|
|
ov49_02258D70: ; 0x02258D70
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldrh r0, [r5, #0xc]
|
|
add r7, r1, #0
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _02258DA6
|
|
add r4, r6, #0
|
|
_02258D80:
|
|
ldr r0, [r5, #8]
|
|
ldr r0, [r0, r4]
|
|
cmp r0, #0
|
|
beq _02258D9C
|
|
mov r1, #4
|
|
bl ov42_02228188
|
|
cmp r0, r7
|
|
bne _02258D9C
|
|
mov r0, #0x28
|
|
ldr r1, [r5, #8]
|
|
mul r0, r6
|
|
add r0, r1, r0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02258D9C:
|
|
ldrh r0, [r5, #0xc]
|
|
add r6, r6, #1
|
|
add r4, #0x28
|
|
cmp r6, r0
|
|
blt _02258D80
|
|
_02258DA6:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02258D70
|
|
|
|
thumb_func_start ov49_02258DAC
|
|
ov49_02258DAC: ; 0x02258DAC
|
|
ldr r0, [r0, #0x20]
|
|
bx lr
|
|
thumb_func_end ov49_02258DAC
|
|
|
|
thumb_func_start ov49_02258DB0
|
|
ov49_02258DB0: ; 0x02258DB0
|
|
ldr r0, [r0, #0x24]
|
|
bx lr
|
|
thumb_func_end ov49_02258DB0
|
|
|
|
thumb_func_start ov49_02258DB4
|
|
ov49_02258DB4: ; 0x02258DB4
|
|
push {r0, r1, r2, r3}
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
bne _02258DC4
|
|
bl GF_AssertFail
|
|
_02258DC4:
|
|
add r1, sp, #8
|
|
ldrh r2, [r1, #4]
|
|
mov r3, sp
|
|
ldr r0, [r4]
|
|
sub r3, r3, #4
|
|
strh r2, [r3]
|
|
ldrh r1, [r1, #6]
|
|
strh r1, [r3, #2]
|
|
ldr r1, [r3]
|
|
bl ov42_0222839C
|
|
add r1, sp, #8
|
|
mov r3, sp
|
|
ldrh r2, [r1, #4]
|
|
ldr r0, [r4]
|
|
sub r3, r3, #4
|
|
strh r2, [r3]
|
|
ldrh r1, [r1, #6]
|
|
strh r1, [r3, #2]
|
|
ldr r1, [r3]
|
|
bl ov42_022283AC
|
|
ldr r0, [r4]
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl ov42_022281F8
|
|
pop {r4}
|
|
pop {r3}
|
|
add sp, #0x10
|
|
bx r3
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02258DB4
|
|
|
|
thumb_func_start ov49_02258E04
|
|
ov49_02258E04: ; 0x02258E04
|
|
push {r0, r1, r2, r3}
|
|
push {r3, r4, r5, lr}
|
|
add r1, sp, #0x10
|
|
add r4, r2, #0
|
|
mov r3, sp
|
|
ldrh r2, [r1, #4]
|
|
sub r3, r3, #4
|
|
add r5, r0, #0
|
|
strh r2, [r3]
|
|
ldrh r1, [r1, #6]
|
|
strh r1, [r3, #2]
|
|
ldr r1, [r3]
|
|
bl ov49_02258DB4
|
|
ldr r0, [r5]
|
|
mov r1, #6
|
|
add r2, r4, #0
|
|
bl ov42_022281F8
|
|
pop {r3, r4, r5}
|
|
pop {r3}
|
|
add sp, #0x10
|
|
bx r3
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02258E04
|
|
|
|
thumb_func_start ov49_02258E34
|
|
ov49_02258E34: ; 0x02258E34
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
bne _02258E44
|
|
bl GF_AssertFail
|
|
_02258E44:
|
|
ldr r0, [r4]
|
|
bl ov42_022282F4
|
|
add r1, sp, #0
|
|
strh r0, [r1]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #2]
|
|
ldrh r2, [r1, #2]
|
|
ldrh r0, [r1]
|
|
lsl r1, r2, #0x10
|
|
orr r0, r1
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02258E34
|
|
|
|
thumb_func_start ov49_02258E60
|
|
ov49_02258E60: ; 0x02258E60
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
cmp r0, #0
|
|
bne _02258E70
|
|
bl GF_AssertFail
|
|
_02258E70:
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
bl ov42_02228188
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02258E60
|
|
|
|
thumb_func_start ov49_02258E7C
|
|
ov49_02258E7C: ; 0x02258E7C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #5
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bl ov42_02228188
|
|
cmp r0, #0
|
|
beq _02258E96
|
|
bl GF_AssertFail
|
|
_02258E96:
|
|
ldr r0, [r4]
|
|
mov r1, #4
|
|
bl ov42_02228188
|
|
add r3, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl ov49_0225927C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_02258E7C
|
|
|
|
thumb_func_start ov49_02258EAC
|
|
ov49_02258EAC: ; 0x02258EAC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bl ov42_022282DC
|
|
add r1, sp, #0
|
|
strh r0, [r1]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #2]
|
|
ldrh r0, [r1]
|
|
strh r0, [r1, #4]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r1, #6]
|
|
strh r6, [r1, #8]
|
|
strb r7, [r1, #0xa]
|
|
ldr r0, [r4]
|
|
mov r1, #4
|
|
bl ov42_02228188
|
|
add r1, sp, #0
|
|
strb r0, [r1, #0xb]
|
|
ldr r0, [r5]
|
|
add r1, sp, #4
|
|
bl ov42_02228068
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02258EAC
|
|
|
|
thumb_func_start ov49_02258EEC
|
|
ov49_02258EEC: ; 0x02258EEC
|
|
push {r4, r5, r6, lr}
|
|
add r4, r2, #0
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
cmp r4, #0xa
|
|
blt _02258EFC
|
|
bl GF_AssertFail
|
|
_02258EFC:
|
|
ldrb r0, [r5, #0xb]
|
|
lsl r1, r0, #2
|
|
ldr r0, _02258F30 ; =ov49_02269698
|
|
ldr r2, [r0, r1]
|
|
cmp r2, #0
|
|
beq _02258F0E
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
blx r2
|
|
_02258F0E:
|
|
mov r2, #0
|
|
strh r2, [r5, #8]
|
|
strb r2, [r5, #0xa]
|
|
add r1, r5, #0
|
|
strb r4, [r5, #0xb]
|
|
add r1, #0xc
|
|
mov r0, #0x18
|
|
_02258F1C:
|
|
strb r2, [r1]
|
|
add r1, r1, #1
|
|
sub r0, r0, #1
|
|
bne _02258F1C
|
|
ldr r0, _02258F34 ; =ov49_022696C0
|
|
lsl r1, r4, #2
|
|
ldr r0, [r0, r1]
|
|
str r0, [r5, #0x24]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02258F30: .word ov49_02269698
|
|
_02258F34: .word ov49_022696C0
|
|
thumb_func_end ov49_02258EEC
|
|
|
|
thumb_func_start ov49_02258F38
|
|
ov49_02258F38: ; 0x02258F38
|
|
ldrb r0, [r0, #0xa]
|
|
bx lr
|
|
thumb_func_end ov49_02258F38
|
|
|
|
thumb_func_start ov49_02258F3C
|
|
ov49_02258F3C: ; 0x02258F3C
|
|
ldrb r0, [r0, #0xb]
|
|
bx lr
|
|
thumb_func_end ov49_02258F3C
|
|
|
|
thumb_func_start ov49_02258F40
|
|
ov49_02258F40: ; 0x02258F40
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #6
|
|
bl ov42_02228188
|
|
add r2, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r1, [r5]
|
|
bl ov42_022283BC
|
|
cmp r0, #0
|
|
bne _02258F60
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02258F60:
|
|
mov r1, #4
|
|
bl ov42_02228188
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_02258D70
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_02258F40
|
|
|
|
thumb_func_start ov49_02258F70
|
|
ov49_02258F70: ; 0x02258F70
|
|
ldr r3, _02258F78 ; =ov45_022308B8
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_02258F78: .word ov45_022308B8
|
|
thumb_func_end ov49_02258F70
|
|
|
|
thumb_func_start ov49_02258F7C
|
|
ov49_02258F7C: ; 0x02258F7C
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
lsl r0, r1, #4
|
|
add r1, sp, #0
|
|
strh r0, [r1]
|
|
lsl r0, r2, #4
|
|
strh r0, [r1, #2]
|
|
mov r3, sp
|
|
ldrh r2, [r1]
|
|
ldr r0, [r4]
|
|
sub r3, r3, #4
|
|
strh r2, [r3]
|
|
ldrh r1, [r1, #2]
|
|
strh r1, [r3, #2]
|
|
ldr r1, [r3]
|
|
bl ov42_022284A4
|
|
cmp r0, #0
|
|
bne _02258FAA
|
|
add sp, #4
|
|
mov r0, #0
|
|
pop {r3, r4, pc}
|
|
_02258FAA:
|
|
ldrh r2, [r4, #0xc]
|
|
mov r1, #0
|
|
cmp r2, #0
|
|
ble _02258FD0
|
|
ldr r3, [r4, #8]
|
|
_02258FB4:
|
|
ldr r2, [r3]
|
|
cmp r2, r0
|
|
bne _02258FC6
|
|
mov r0, #0x28
|
|
ldr r2, [r4, #8]
|
|
mul r0, r1
|
|
add sp, #4
|
|
add r0, r2, r0
|
|
pop {r3, r4, pc}
|
|
_02258FC6:
|
|
ldrh r2, [r4, #0xc]
|
|
add r1, r1, #1
|
|
add r3, #0x28
|
|
cmp r1, r2
|
|
blt _02258FB4
|
|
_02258FD0:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02258F7C
|
|
|
|
thumb_func_start ov49_02258FDC
|
|
ov49_02258FDC: ; 0x02258FDC
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r6, r1, #0
|
|
add r4, r2, #0
|
|
bl ov42_022282DC
|
|
add r1, sp, #0
|
|
strh r0, [r1, #4]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #6]
|
|
ldrh r0, [r1, #4]
|
|
strh r0, [r1, #0xc]
|
|
ldrh r0, [r1, #6]
|
|
strh r0, [r1, #0xe]
|
|
ldr r0, [r5]
|
|
bl ov42_022282E8
|
|
add r2, sp, #0
|
|
strh r0, [r2]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r2, #2]
|
|
ldrh r0, [r2]
|
|
mov r1, #0xc
|
|
strh r0, [r2, #8]
|
|
ldrh r0, [r2, #2]
|
|
strh r0, [r2, #0xa]
|
|
ldrsh r1, [r2, r1]
|
|
lsl r0, r6, #4
|
|
cmp r1, r0
|
|
bne _0225902C
|
|
mov r1, #0xe
|
|
ldrsh r2, [r2, r1]
|
|
lsl r1, r4, #4
|
|
cmp r2, r1
|
|
bne _0225902C
|
|
add sp, #0x10
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0225902C:
|
|
add r2, sp, #0
|
|
mov r1, #8
|
|
ldrsh r1, [r2, r1]
|
|
cmp r1, r0
|
|
bne _02259046
|
|
mov r0, #0xa
|
|
ldrsh r1, [r2, r0]
|
|
lsl r0, r4, #4
|
|
cmp r1, r0
|
|
bne _02259046
|
|
add sp, #0x10
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_02259046:
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_02258FDC
|
|
|
|
thumb_func_start ov49_0225904C
|
|
ov49_0225904C: ; 0x0225904C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
add r6, r0, #0
|
|
ldr r0, [r1]
|
|
str r2, [sp]
|
|
str r3, [sp, #4]
|
|
bl ov42_022282DC
|
|
add r4, sp, #0x1c
|
|
strh r0, [r4, #4]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r4, #6]
|
|
ldrh r0, [r4, #4]
|
|
mov r5, sp
|
|
ldr r7, _0225912C ; =ov49_02269654
|
|
strh r0, [r4, #0xc]
|
|
ldrh r0, [r4, #6]
|
|
sub r5, r5, #4
|
|
strh r0, [r4, #0xe]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
ldrh r0, [r4, #0xc]
|
|
str r0, [sp, #0x14]
|
|
ldrh r0, [r4, #0xe]
|
|
str r0, [sp, #0x18]
|
|
_0225907E:
|
|
ldr r0, [sp, #0x14]
|
|
strh r0, [r5]
|
|
ldr r0, [sp, #0x18]
|
|
strh r0, [r5, #2]
|
|
ldrb r1, [r7]
|
|
ldr r0, [r5]
|
|
bl ov42_02228270
|
|
strh r0, [r4]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r4, #2]
|
|
ldrh r0, [r4]
|
|
strh r0, [r4, #8]
|
|
ldrh r0, [r4, #2]
|
|
strh r0, [r4, #0xa]
|
|
mov r0, #0xa
|
|
ldrsh r1, [r4, r0]
|
|
asr r0, r1, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r1, r0
|
|
asr r0, r0, #4
|
|
str r0, [sp, #0xc]
|
|
mov r0, #8
|
|
ldrsh r1, [r4, r0]
|
|
ldr r2, [sp, #0xc]
|
|
asr r0, r1, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r1, r0
|
|
asr r0, r0, #4
|
|
str r0, [sp, #8]
|
|
ldr r1, [sp, #8]
|
|
lsl r2, r2, #0x10
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [r6, #0x14]
|
|
lsr r1, r1, #0x10
|
|
lsr r2, r2, #0x10
|
|
bl ov49_022589AC
|
|
cmp r0, #1
|
|
beq _02259118
|
|
ldr r1, [sp, #8]
|
|
ldr r2, [sp, #0xc]
|
|
lsl r1, r1, #0x10
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r6, #0x14]
|
|
lsr r1, r1, #0x10
|
|
lsr r2, r2, #0x10
|
|
bl ov49_022589C4
|
|
cmp r0, #0
|
|
beq _022590E8
|
|
cmp r0, #0x2a
|
|
bne _02259118
|
|
_022590E8:
|
|
ldrh r1, [r4, #8]
|
|
ldr r0, [r6]
|
|
strh r1, [r5]
|
|
ldrh r1, [r4, #0xa]
|
|
strh r1, [r5, #2]
|
|
ldr r1, [r5]
|
|
bl ov42_022284A4
|
|
cmp r0, #0
|
|
bne _02259118
|
|
ldr r1, _0225912C ; =ov49_02269654
|
|
ldr r0, [sp, #0x10]
|
|
ldrb r1, [r1, r0]
|
|
ldr r0, [sp]
|
|
str r1, [r0]
|
|
add r1, sp, #0x1c
|
|
ldr r0, [sp, #4]
|
|
ldrh r2, [r1, #8]
|
|
add sp, #0x2c
|
|
strh r2, [r0]
|
|
ldrh r1, [r1, #0xa]
|
|
strh r1, [r0, #2]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02259118:
|
|
ldr r0, [sp, #0x10]
|
|
add r7, r7, #1
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #4
|
|
blt _0225907E
|
|
mov r0, #0
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225912C: .word ov49_02269654
|
|
thumb_func_end ov49_0225904C
|
|
|
|
thumb_func_start ov49_02259130
|
|
ov49_02259130: ; 0x02259130
|
|
ldr r3, _02259138 ; =ov45_0223089C
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_02259138: .word ov45_0223089C
|
|
thumb_func_end ov49_02259130
|
|
|
|
thumb_func_start ov49_0225913C
|
|
ov49_0225913C: ; 0x0225913C
|
|
ldr r3, _02259144 ; =ov45_022308C0
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_02259144: .word ov45_022308C0
|
|
thumb_func_end ov49_0225913C
|
|
|
|
thumb_func_start ov49_02259148
|
|
ov49_02259148: ; 0x02259148
|
|
ldr r3, _02259150 ; =ov45_022308E4
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_02259150: .word ov45_022308E4
|
|
thumb_func_end ov49_02259148
|
|
|
|
thumb_func_start ov49_02259154
|
|
ov49_02259154: ; 0x02259154
|
|
ldr r3, _0225915C ; =ov45_02230908
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_0225915C: .word ov45_02230908
|
|
thumb_func_end ov49_02259154
|
|
|
|
thumb_func_start ov49_02259160
|
|
ov49_02259160: ; 0x02259160
|
|
ldr r3, _02259168 ; =ov45_02230920
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_02259168: .word ov45_02230920
|
|
thumb_func_end ov49_02259160
|
|
|
|
thumb_func_start ov49_0225916C
|
|
ov49_0225916C: ; 0x0225916C
|
|
push {r3, lr}
|
|
cmp r1, #0
|
|
ldr r0, [r0, #4]
|
|
beq _0225917C
|
|
mov r1, #1
|
|
bl ov45_0223093C
|
|
pop {r3, pc}
|
|
_0225917C:
|
|
bl ov45_02230968
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225916C
|
|
|
|
thumb_func_start ov49_02259184
|
|
ov49_02259184: ; 0x02259184
|
|
push {r3, lr}
|
|
cmp r1, #0
|
|
ldr r0, [r0, #4]
|
|
beq _02259194
|
|
mov r1, #0
|
|
bl ov45_0223093C
|
|
pop {r3, pc}
|
|
_02259194:
|
|
bl ov45_02230968
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02259184
|
|
|
|
thumb_func_start ov49_0225919C
|
|
ov49_0225919C: ; 0x0225919C
|
|
push {r3, lr}
|
|
cmp r1, #0
|
|
ldr r0, [r0, #4]
|
|
beq _022591AC
|
|
mov r1, #2
|
|
bl ov45_0223093C
|
|
pop {r3, pc}
|
|
_022591AC:
|
|
bl ov45_02230968
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225919C
|
|
|
|
thumb_func_start ov49_022591B4
|
|
ov49_022591B4: ; 0x022591B4
|
|
ldr r3, _022591BC ; =ov45_022308B0
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_022591BC: .word ov45_022308B0
|
|
thumb_func_end ov49_022591B4
|
|
|
|
thumb_func_start ov49_022591C0
|
|
ov49_022591C0: ; 0x022591C0
|
|
ldr r3, _022591C8 ; =ov45_02230978
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_022591C8: .word ov45_02230978
|
|
thumb_func_end ov49_022591C0
|
|
|
|
thumb_func_start ov49_022591CC
|
|
ov49_022591CC: ; 0x022591CC
|
|
ldr r3, _022591D4 ; =ov45_02230994
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_022591D4: .word ov45_02230994
|
|
thumb_func_end ov49_022591CC
|
|
|
|
thumb_func_start ov49_022591D8
|
|
ov49_022591D8: ; 0x022591D8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
ldr r4, _02259278 ; =ov49_02269678
|
|
str r0, [sp, #8]
|
|
_022591E4:
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp]
|
|
ldrb r1, [r4]
|
|
add r2, sp, #0xc
|
|
ldr r0, [r5, #0x14]
|
|
add r2, #2
|
|
add r3, sp, #0xc
|
|
bl ov49_022589D8
|
|
cmp r0, #1
|
|
bne _02259266
|
|
add r7, sp, #0xc
|
|
_022591FE:
|
|
add r0, r5, #0
|
|
bl ov49_022593C0
|
|
add r6, r0, #0
|
|
ldrh r0, [r7, #2]
|
|
add r1, sp, #0x10
|
|
lsl r0, r0, #4
|
|
strh r0, [r7, #4]
|
|
ldrh r0, [r7]
|
|
lsl r0, r0, #4
|
|
strh r0, [r7, #6]
|
|
ldrb r0, [r4, #4]
|
|
strh r0, [r7, #8]
|
|
mov r0, #0
|
|
strh r0, [r7, #0xa]
|
|
ldrb r0, [r4, #1]
|
|
strh r0, [r7, #0xc]
|
|
ldrh r0, [r4, #2]
|
|
strh r0, [r7, #0xe]
|
|
ldr r0, [r5]
|
|
bl ov42_022280B8
|
|
add r1, r0, #0
|
|
str r1, [r6]
|
|
ldr r0, [r5, #4]
|
|
bl ov45_0223070C
|
|
str r0, [r6, #4]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
ldrb r0, [r4]
|
|
cmp r0, #0x61
|
|
bne _02259248
|
|
str r6, [r5, #0x24]
|
|
_02259248:
|
|
ldr r0, [sp, #4]
|
|
add r2, sp, #0xc
|
|
add r0, r0, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #4]
|
|
str r0, [sp]
|
|
ldrb r1, [r4]
|
|
ldr r0, [r5, #0x14]
|
|
add r2, #2
|
|
add r3, sp, #0xc
|
|
bl ov49_022589D8
|
|
cmp r0, #1
|
|
beq _022591FE
|
|
_02259266:
|
|
ldr r0, [sp, #8]
|
|
add r4, #8
|
|
add r0, r0, #1
|
|
str r0, [sp, #8]
|
|
cmp r0, #4
|
|
blo _022591E4
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02259278: .word ov49_02269678
|
|
thumb_func_end ov49_022591D8
|
|
|
|
thumb_func_start ov49_0225927C
|
|
ov49_0225927C: ; 0x0225927C
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, sp, #0
|
|
strh r1, [r4]
|
|
strb r2, [r4, #2]
|
|
add r1, sp, #0
|
|
strb r3, [r4, #3]
|
|
bl ov49_02258C1C
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225927C
|
|
|
|
thumb_func_start ov49_02259294
|
|
ov49_02259294: ; 0x02259294
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
bl MTRandom
|
|
add r1, r4, #0
|
|
bl _u32_div_f
|
|
ldrb r0, [r5, r1]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_02259294
|
|
|
|
thumb_func_start ov49_022592A8
|
|
ov49_022592A8: ; 0x022592A8
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r1]
|
|
add r6, r2, #0
|
|
add r4, r3, #0
|
|
bl ov42_022282DC
|
|
add r1, sp, #0
|
|
strh r0, [r1, #4]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #6]
|
|
ldrh r0, [r1, #4]
|
|
mov r2, sp
|
|
sub r2, r2, #4
|
|
strh r0, [r1, #0xc]
|
|
ldrh r0, [r1, #6]
|
|
strh r0, [r1, #0xe]
|
|
ldrh r0, [r1, #0xc]
|
|
strh r0, [r2]
|
|
ldrh r0, [r1, #0xe]
|
|
add r1, r6, #0
|
|
strh r0, [r2, #2]
|
|
ldr r0, [r2]
|
|
bl ov42_02228270
|
|
add r2, sp, #0
|
|
strh r0, [r2]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r2, #2]
|
|
ldrh r0, [r2]
|
|
mov r1, #8
|
|
strh r0, [r2, #8]
|
|
ldrh r0, [r2, #2]
|
|
strh r0, [r2, #0xa]
|
|
ldrsh r3, [r2, r1]
|
|
ldr r0, [r5, #0x14]
|
|
asr r1, r3, #3
|
|
lsr r1, r1, #0x1c
|
|
add r1, r3, r1
|
|
mov r3, #0xa
|
|
ldrsh r3, [r2, r3]
|
|
lsl r1, r1, #0xc
|
|
lsr r1, r1, #0x10
|
|
asr r2, r3, #3
|
|
lsr r2, r2, #0x1c
|
|
add r2, r3, r2
|
|
lsl r2, r2, #0xc
|
|
lsr r2, r2, #0x10
|
|
bl ov49_022589B8
|
|
cmp r0, r4
|
|
bne _02259318
|
|
add sp, #0x10
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_02259318:
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_022592A8
|
|
|
|
thumb_func_start ov49_02259320
|
|
ov49_02259320: ; 0x02259320
|
|
str r1, [r0]
|
|
str r1, [r0, #4]
|
|
sub r1, r2, r1
|
|
str r1, [r0, #8]
|
|
str r3, [r0, #0xc]
|
|
bx lr
|
|
thumb_func_end ov49_02259320
|
|
|
|
thumb_func_start ov49_0225932C
|
|
ov49_0225932C: ; 0x0225932C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r6, [r5, #8]
|
|
beq _02259348
|
|
lsl r0, r4, #0xc
|
|
bl _ffltu
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _02259356
|
|
_02259348:
|
|
lsl r0, r4, #0xc
|
|
bl _ffltu
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_02259356:
|
|
bl _ffix
|
|
add r2, r0, #0
|
|
asr r1, r6, #0x1f
|
|
add r0, r6, #0
|
|
asr r3, r2, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r6, r2, #0xc
|
|
orr r6, r0
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
beq _0225938E
|
|
lsl r0, r0, #0xc
|
|
bl _ffltu
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0225939C
|
|
_0225938E:
|
|
lsl r0, r0, #0xc
|
|
bl _ffltu
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0225939C:
|
|
bl _ffix
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl FX_Div
|
|
ldr r1, [r5, #4]
|
|
add r0, r0, r1
|
|
str r0, [r5]
|
|
ldr r0, [r5, #0xc]
|
|
cmp r4, r0
|
|
blo _022593B8
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_022593B8:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_0225932C
|
|
|
|
thumb_func_start ov49_022593BC
|
|
ov49_022593BC: ; 0x022593BC
|
|
ldr r0, [r0]
|
|
bx lr
|
|
thumb_func_end ov49_022593BC
|
|
|
|
thumb_func_start ov49_022593C0
|
|
ov49_022593C0: ; 0x022593C0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldrh r0, [r5, #0xc]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _022593EE
|
|
add r4, r6, #0
|
|
_022593CE:
|
|
ldr r0, [r5, #8]
|
|
add r0, r0, r4
|
|
bl ov49_022593FC
|
|
cmp r0, #0
|
|
beq _022593E4
|
|
mov r0, #0x28
|
|
ldr r1, [r5, #8]
|
|
mul r0, r6
|
|
add r0, r1, r0
|
|
pop {r4, r5, r6, pc}
|
|
_022593E4:
|
|
ldrh r0, [r5, #0xc]
|
|
add r6, r6, #1
|
|
add r4, #0x28
|
|
cmp r6, r0
|
|
blt _022593CE
|
|
_022593EE:
|
|
bl GF_AssertFail
|
|
mov r0, #0x28
|
|
ldr r1, [r5, #8]
|
|
mul r0, r6
|
|
add r0, r1, r0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_022593C0
|
|
|
|
thumb_func_start ov49_022593FC
|
|
ov49_022593FC: ; 0x022593FC
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _02259406
|
|
mov r0, #1
|
|
bx lr
|
|
_02259406:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_022593FC
|
|
|
|
thumb_func_start ov49_0225940C
|
|
ov49_0225940C: ; 0x0225940C
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225940C
|
|
|
|
thumb_func_start ov49_02259410
|
|
ov49_02259410: ; 0x02259410
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r0, [r7]
|
|
add r5, r1, #0
|
|
mov r1, #6
|
|
bl ov42_02228188
|
|
add r4, r0, #0
|
|
ldr r0, [r7]
|
|
mov r1, #4
|
|
bl ov42_02228188
|
|
add r6, r0, #0
|
|
ldr r0, [r7]
|
|
mov r1, #5
|
|
bl ov42_02228188
|
|
cmp r0, #0
|
|
bne _022594D2
|
|
ldr r0, _022594D4 ; =gSystem
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x44]
|
|
add r2, r0, #0
|
|
tst r2, r1
|
|
beq _02259444
|
|
mov r1, #3
|
|
_02259444:
|
|
mov r2, #0x40
|
|
tst r2, r0
|
|
beq _02259468
|
|
cmp r4, #0
|
|
bne _0225945A
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl ov49_0225927C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225945A:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl ov49_0225927C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02259468:
|
|
mov r2, #0x80
|
|
tst r2, r0
|
|
beq _0225948C
|
|
cmp r4, #1
|
|
bne _0225947E
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl ov49_0225927C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225947E:
|
|
mov r1, #1
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r3, r6, #0
|
|
bl ov49_0225927C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225948C:
|
|
mov r2, #0x20
|
|
tst r2, r0
|
|
beq _022594B0
|
|
cmp r4, #2
|
|
bne _022594A2
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl ov49_0225927C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022594A2:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #2
|
|
add r3, r6, #0
|
|
bl ov49_0225927C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022594B0:
|
|
mov r2, #0x10
|
|
tst r0, r2
|
|
beq _022594D2
|
|
cmp r4, #3
|
|
bne _022594C6
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl ov49_0225927C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022594C6:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #3
|
|
add r3, r6, #0
|
|
bl ov49_0225927C
|
|
_022594D2:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022594D4: .word gSystem
|
|
thumb_func_end ov49_02259410
|
|
|
|
thumb_func_start ov49_022594D8
|
|
ov49_022594D8: ; 0x022594D8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
ldrh r0, [r4, #8]
|
|
add r5, r1, #0
|
|
cmp r0, #4
|
|
bhi _022595C0
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022594F0: ; jump table
|
|
.short _022594FA - _022594F0 - 2 ; case 0
|
|
.short _0225950C - _022594F0 - 2 ; case 1
|
|
.short _02259522 - _022594F0 - 2 ; case 2
|
|
.short _0225958E - _022594F0 - 2 ; case 3
|
|
.short _022595B0 - _022594F0 - 2 ; case 4
|
|
_022594FA:
|
|
ldr r0, _022595C4 ; =ov49_02269658
|
|
mov r1, #4
|
|
bl ov49_02259294
|
|
strh r0, [r4, #0xc]
|
|
ldrh r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #8]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225950C:
|
|
mov r0, #0xc
|
|
ldrsh r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
strh r1, [r4, #0xc]
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _022595C0
|
|
ldrh r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #8]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02259522:
|
|
ldr r0, [r4]
|
|
mov r1, #4
|
|
bl ov42_02228188
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
mov r1, #6
|
|
bl ov42_02228188
|
|
add r7, r0, #0
|
|
ldr r0, _022595C8 ; =ov49_0226965C
|
|
mov r1, #4
|
|
bl ov49_02259294
|
|
strh r0, [r4, #0xe]
|
|
mov r2, #0xe
|
|
ldrsh r2, [r4, r2]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r3, r6, #4
|
|
bl ov49_022592A8
|
|
cmp r0, #1
|
|
bne _0225957A
|
|
mov r0, #0xe
|
|
ldrsh r3, [r4, r0]
|
|
cmp r7, r3
|
|
bne _0225956A
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #2
|
|
bl ov49_02258E7C
|
|
mov r0, #4
|
|
strh r0, [r4, #8]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225956A:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
bl ov49_02258E7C
|
|
mov r0, #3
|
|
strh r0, [r4, #8]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225957A:
|
|
mov r3, #0xe
|
|
ldrsh r3, [r4, r3]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
bl ov49_02258E7C
|
|
mov r0, #4
|
|
strh r0, [r4, #8]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225958E:
|
|
ldr r0, [r4]
|
|
mov r1, #5
|
|
bl ov42_02228188
|
|
cmp r0, #0
|
|
bne _022595C0
|
|
mov r3, #0xe
|
|
ldrsh r3, [r4, r3]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #2
|
|
bl ov49_02258E7C
|
|
ldrh r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #8]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022595B0:
|
|
ldr r0, [r4]
|
|
mov r1, #5
|
|
bl ov42_02228188
|
|
cmp r0, #0
|
|
bne _022595C0
|
|
mov r0, #0
|
|
strh r0, [r4, #8]
|
|
_022595C0:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022595C4: .word ov49_02269658
|
|
_022595C8: .word ov49_0226965C
|
|
thumb_func_end ov49_022594D8
|
|
|
|
thumb_func_start ov49_022595CC
|
|
ov49_022595CC: ; 0x022595CC
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _02259672
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022595E4: ; jump table
|
|
.short _022595EC - _022595E4 - 2 ; case 0
|
|
.short _02259616 - _022595E4 - 2 ; case 1
|
|
.short _02259632 - _022595E4 - 2 ; case 2
|
|
.short _02259672 - _022595E4 - 2 ; case 3
|
|
_022595EC:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
bl ov45_0223089C
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
bl ov45_0223093C
|
|
add r0, r4, #0
|
|
mov r2, #0x7d
|
|
add r0, #0xc
|
|
mov r1, #0
|
|
lsl r2, r2, #0xe
|
|
mov r3, #0x18
|
|
bl ov49_02259320
|
|
mov r0, #0x20
|
|
str r0, [r4, #0x1c]
|
|
ldrh r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #8]
|
|
_02259616:
|
|
ldr r0, [r4, #0x1c]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x1c]
|
|
bne _02259672
|
|
ldrh r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #8]
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
ldr r0, _02259678 ; =0x0000064E
|
|
bl PlaySE
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
_02259632:
|
|
add r0, r4, #0
|
|
ldr r1, [r4, #0x1c]
|
|
add r0, #0xc
|
|
bl ov49_0225932C
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #0x1c]
|
|
add r1, sp, #0
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x1c]
|
|
ldr r0, [r4, #4]
|
|
bl ov45_02230908
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
bl ov49_022593BC
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #4]
|
|
add r1, sp, #0
|
|
bl ov45_022308E4
|
|
cmp r5, #1
|
|
bne _02259672
|
|
ldrh r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #8]
|
|
ldr r0, [r4, #4]
|
|
bl ov45_02230968
|
|
mov r0, #1
|
|
strb r0, [r4, #0xa]
|
|
_02259672:
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_02259678: .word 0x0000064E
|
|
thumb_func_end ov49_022595CC
|
|
|
|
thumb_func_start ov49_0225967C
|
|
ov49_0225967C: ; 0x0225967C
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _0225972A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02259694: ; jump table
|
|
.short _0225969C - _02259694 - 2 ; case 0
|
|
.short _022596CC - _02259694 - 2 ; case 1
|
|
.short _0225970A - _02259694 - 2 ; case 2
|
|
.short _0225972A - _02259694 - 2 ; case 3
|
|
_0225969C:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
bl ov45_0223089C
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
bl ov45_0223093C
|
|
add r0, r4, #0
|
|
mov r1, #0x7d
|
|
add r0, #0xc
|
|
lsl r1, r1, #0xe
|
|
mov r2, #0
|
|
mov r3, #0x18
|
|
bl ov49_02259320
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
ldrh r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #8]
|
|
ldr r0, _02259730 ; =0x0000064E
|
|
bl PlaySE
|
|
_022596CC:
|
|
add r0, r4, #0
|
|
ldr r1, [r4, #0x1c]
|
|
add r0, #0xc
|
|
bl ov49_0225932C
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #0x1c]
|
|
add r1, sp, #0
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x1c]
|
|
ldr r0, [r4, #4]
|
|
bl ov45_02230908
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
bl ov49_022593BC
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #4]
|
|
add r1, sp, #0
|
|
bl ov45_022308E4
|
|
cmp r5, #1
|
|
bne _0225972A
|
|
mov r0, #0x20
|
|
str r0, [r4, #0x1c]
|
|
ldrh r0, [r4, #8]
|
|
add sp, #0xc
|
|
add r0, r0, #1
|
|
strh r0, [r4, #8]
|
|
pop {r4, r5, pc}
|
|
_0225970A:
|
|
ldr r0, [r4, #0x1c]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x1c]
|
|
bne _0225972A
|
|
ldrh r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #8]
|
|
ldr r0, [r4, #4]
|
|
bl ov45_02230968
|
|
ldr r0, [r4, #4]
|
|
mov r1, #1
|
|
bl ov45_0223089C
|
|
mov r0, #1
|
|
strb r0, [r4, #0xa]
|
|
_0225972A:
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_02259730: .word 0x0000064E
|
|
thumb_func_end ov49_0225967C
|
|
|
|
thumb_func_start ov49_02259734
|
|
ov49_02259734: ; 0x02259734
|
|
ldr r3, _0225973C ; =ov49_02259764
|
|
mov r2, #2
|
|
bx r3
|
|
nop
|
|
_0225973C: .word ov49_02259764
|
|
thumb_func_end ov49_02259734
|
|
|
|
thumb_func_start ov49_02259740
|
|
ov49_02259740: ; 0x02259740
|
|
ldr r3, _02259748 ; =ov49_02259764
|
|
mov r2, #3
|
|
bx r3
|
|
nop
|
|
_02259748: .word ov49_02259764
|
|
thumb_func_end ov49_02259740
|
|
|
|
thumb_func_start ov49_0225974C
|
|
ov49_0225974C: ; 0x0225974C
|
|
ldr r3, _02259754 ; =ov49_02259764
|
|
mov r2, #0
|
|
bx r3
|
|
nop
|
|
_02259754: .word ov49_02259764
|
|
thumb_func_end ov49_0225974C
|
|
|
|
thumb_func_start ov49_02259758
|
|
ov49_02259758: ; 0x02259758
|
|
ldr r3, _02259760 ; =ov49_02259764
|
|
mov r2, #1
|
|
bx r3
|
|
nop
|
|
_02259760: .word ov49_02259764
|
|
thumb_func_end ov49_02259758
|
|
|
|
thumb_func_start ov49_02259764
|
|
ov49_02259764: ; 0x02259764
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x28
|
|
add r4, r0, #0
|
|
ldrh r0, [r4, #8]
|
|
add r5, r2, #0
|
|
cmp r0, #3
|
|
bls _02259774
|
|
b _02259916
|
|
_02259774:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02259780: ; jump table
|
|
.short _02259788 - _02259780 - 2 ; case 0
|
|
.short _022597E4 - _02259780 - 2 ; case 1
|
|
.short _0225989E - _02259780 - 2 ; case 2
|
|
.short _02259916 - _02259780 - 2 ; case 3
|
|
_02259788:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
bl ov45_0223089C
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
bl ov45_0223093C
|
|
ldr r0, [r4, #4]
|
|
mov r1, #2
|
|
bl ov45_02230974
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
add r0, #0xc
|
|
mov r1, #0
|
|
lsl r2, r2, #0x10
|
|
mov r3, #4
|
|
bl ov49_02259320
|
|
ldr r0, [r4, #4]
|
|
add r1, sp, #0x1c
|
|
bl ov45_02230908
|
|
cmp r5, #3
|
|
bhi _022597DA
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022597C8: ; jump table
|
|
.short _022597D0 - _022597C8 - 2 ; case 0
|
|
.short _022597D0 - _022597C8 - 2 ; case 1
|
|
.short _022597D6 - _022597C8 - 2 ; case 2
|
|
.short _022597D6 - _022597C8 - 2 ; case 3
|
|
_022597D0:
|
|
ldr r0, [sp, #0x24]
|
|
str r0, [r4, #0x20]
|
|
b _022597DA
|
|
_022597D6:
|
|
ldr r0, [sp, #0x1c]
|
|
str r0, [r4, #0x20]
|
|
_022597DA:
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
ldrh r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #8]
|
|
_022597E4:
|
|
add r0, r4, #0
|
|
ldr r1, [r4, #0x1c]
|
|
add r0, #0xc
|
|
bl ov49_0225932C
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #0x1c]
|
|
add r1, sp, #0x10
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x1c]
|
|
ldr r0, [r4, #4]
|
|
bl ov45_02230908
|
|
cmp r5, #3
|
|
bhi _02259854
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225980E: ; jump table
|
|
.short _02259816 - _0225980E - 2 ; case 0
|
|
.short _02259826 - _0225980E - 2 ; case 1
|
|
.short _02259836 - _0225980E - 2 ; case 2
|
|
.short _02259846 - _0225980E - 2 ; case 3
|
|
_02259816:
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
bl ov49_022593BC
|
|
ldr r1, [r4, #0x20]
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0x18]
|
|
b _02259854
|
|
_02259826:
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
bl ov49_022593BC
|
|
ldr r1, [r4, #0x20]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x18]
|
|
b _02259854
|
|
_02259836:
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
bl ov49_022593BC
|
|
ldr r1, [r4, #0x20]
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0x10]
|
|
b _02259854
|
|
_02259846:
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
bl ov49_022593BC
|
|
ldr r1, [r4, #0x20]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x10]
|
|
_02259854:
|
|
ldr r0, [r4, #4]
|
|
add r1, sp, #0x10
|
|
bl ov45_022308E4
|
|
cmp r6, #1
|
|
bne _02259916
|
|
add r0, r5, #0
|
|
bl ov42_022282A4
|
|
mov r1, #4
|
|
str r1, [r4, #0x1c]
|
|
cmp r0, #3
|
|
bhi _02259894
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225987A: ; jump table
|
|
.short _02259888 - _0225987A - 2 ; case 0
|
|
.short _02259894 - _0225987A - 2 ; case 1
|
|
.short _0225988E - _0225987A - 2 ; case 2
|
|
.short _02259882 - _0225987A - 2 ; case 3
|
|
_02259882:
|
|
ldr r0, [r4, #0x1c]
|
|
add r0, r0, #2
|
|
str r0, [r4, #0x1c]
|
|
_02259888:
|
|
ldr r0, [r4, #0x1c]
|
|
add r0, r0, #2
|
|
str r0, [r4, #0x1c]
|
|
_0225988E:
|
|
ldr r0, [r4, #0x1c]
|
|
add r0, r0, #2
|
|
str r0, [r4, #0x1c]
|
|
_02259894:
|
|
ldrh r0, [r4, #8]
|
|
add sp, #0x28
|
|
add r0, r0, #1
|
|
strh r0, [r4, #8]
|
|
pop {r4, r5, r6, pc}
|
|
_0225989E:
|
|
ldr r0, [r4, #0x1c]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x1c]
|
|
bne _02259916
|
|
ldrh r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #8]
|
|
ldr r0, [r4]
|
|
bl ov42_022282DC
|
|
add r1, sp, #0
|
|
strh r0, [r1, #4]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #6]
|
|
ldrh r0, [r1, #4]
|
|
mov r2, sp
|
|
sub r2, r2, #4
|
|
strh r0, [r1, #0xc]
|
|
ldrh r0, [r1, #6]
|
|
strh r0, [r1, #0xe]
|
|
ldrh r0, [r1, #0xc]
|
|
strh r0, [r2]
|
|
ldrh r0, [r1, #0xe]
|
|
add r1, r5, #0
|
|
strh r0, [r2, #2]
|
|
ldr r0, [r2]
|
|
bl ov42_02228270
|
|
add r1, sp, #0
|
|
strh r0, [r1]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #2]
|
|
ldrh r0, [r1]
|
|
strh r0, [r1, #8]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r1, #0xa]
|
|
add r0, r5, #0
|
|
bl ov42_022282A4
|
|
add r1, sp, #0
|
|
mov r5, sp
|
|
add r2, r0, #0
|
|
ldrh r3, [r1, #8]
|
|
sub r5, r5, #4
|
|
add r0, r4, #0
|
|
strh r3, [r5]
|
|
ldrh r1, [r1, #0xa]
|
|
strh r1, [r5, #2]
|
|
ldr r1, [r5]
|
|
bl ov49_02258E04
|
|
ldr r0, [r4, #4]
|
|
bl ov45_02230968
|
|
ldr r0, [r4, #4]
|
|
mov r1, #1
|
|
bl ov45_0223089C
|
|
mov r0, #1
|
|
strb r0, [r4, #0xa]
|
|
_02259916:
|
|
add sp, #0x28
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02259764
|
|
|
|
thumb_func_start ov49_0225991C
|
|
ov49_0225991C: ; 0x0225991C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldrh r0, [r5, #8]
|
|
cmp r0, #0
|
|
beq _02259930
|
|
cmp r0, #1
|
|
beq _02259950
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
_02259930:
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0
|
|
bl ov45_0223089C
|
|
add r1, r5, #0
|
|
ldr r0, [r5, #4]
|
|
add r1, #0x10
|
|
bl ov45_02230908
|
|
mov r0, #0x1c
|
|
str r0, [r5, #0xc]
|
|
ldrh r0, [r5, #8]
|
|
add sp, #0xc
|
|
add r0, r0, #1
|
|
strh r0, [r5, #8]
|
|
pop {r3, r4, r5, r6, pc}
|
|
_02259950:
|
|
ldr r0, [r5, #0xc]
|
|
sub r0, r0, #1
|
|
str r0, [r5, #0xc]
|
|
bpl _0225995C
|
|
mov r0, #0x1c
|
|
str r0, [r5, #0xc]
|
|
_0225995C:
|
|
add r3, r5, #0
|
|
add r3, #0x10
|
|
ldmia r3!, {r0, r1}
|
|
add r2, sp, #0
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
str r0, [r2]
|
|
ldr r0, [r5, #0xc]
|
|
sub r0, #0x10
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
cmp r0, #0
|
|
ble _022599DE
|
|
mov r1, #6
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x10
|
|
asr r1, r0, #0x10
|
|
mov r0, #0xb4
|
|
mul r0, r1
|
|
mov r1, #6
|
|
bl _s32_div_f
|
|
add r4, r0, #0
|
|
lsl r0, r4, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_SinDegNoWrap
|
|
ldr r2, _022599F4 ; =0xFFFFE000
|
|
asr r1, r0, #0x1f
|
|
asr r3, r2, #0xd
|
|
bl _ll_mul
|
|
mov r3, #2
|
|
mov r6, #0
|
|
lsl r3, r3, #0xa
|
|
add r3, r0, r3
|
|
adc r1, r6
|
|
lsl r0, r1, #0x14
|
|
lsr r1, r3, #0xc
|
|
ldr r2, [sp, #8]
|
|
orr r1, r0
|
|
add r0, r2, r1
|
|
str r0, [sp, #8]
|
|
lsl r0, r4, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_SinDegNoWrap
|
|
mov r2, #0xa
|
|
asr r1, r0, #0x1f
|
|
lsl r2, r2, #0xc
|
|
add r3, r6, #0
|
|
bl _ll_mul
|
|
mov r3, #2
|
|
add r4, r6, #0
|
|
lsl r3, r3, #0xa
|
|
add r3, r0, r3
|
|
adc r1, r4
|
|
lsl r0, r1, #0x14
|
|
lsr r1, r3, #0xc
|
|
ldr r2, [sp, #4]
|
|
orr r1, r0
|
|
add r0, r2, r1
|
|
str r0, [sp, #4]
|
|
_022599DE:
|
|
ldr r0, [r5, #4]
|
|
add r1, sp, #0
|
|
bl ov45_022308E4
|
|
ldr r0, [r5, #4]
|
|
mov r1, #1
|
|
bl ov45_02230920
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_022599F4: .word 0xFFFFE000
|
|
thumb_func_end ov49_0225991C
|
|
|
|
thumb_func_start ov49_022599F8
|
|
ov49_022599F8: ; 0x022599F8
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
mov r1, #1
|
|
bl ov45_0223089C
|
|
ldr r0, [r4, #4]
|
|
add r1, sp, #0
|
|
bl ov45_02230908
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #4]
|
|
add r1, sp, #0
|
|
bl ov45_022308E4
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_022599F8
|
|
|
|
thumb_func_start ov49_02259A20
|
|
ov49_02259A20: ; 0x02259A20
|
|
strb r2, [r0, #1]
|
|
strb r2, [r0, #2]
|
|
mov r3, #0
|
|
strb r3, [r0, #3]
|
|
strh r3, [r0, #4]
|
|
strh r3, [r0, #6]
|
|
strb r3, [r0]
|
|
add r0, r1, #0
|
|
ldr r3, _02259A38 ; =ov45_02230700
|
|
add r1, r2, #0
|
|
bx r3
|
|
nop
|
|
_02259A38: .word ov45_02230700
|
|
thumb_func_end ov49_02259A20
|
|
|
|
thumb_func_start ov49_02259A3C
|
|
ov49_02259A3C: ; 0x02259A3C
|
|
mov r2, #1
|
|
strb r2, [r0]
|
|
ldrb r2, [r0, #1]
|
|
strb r2, [r0, #2]
|
|
ldrb r2, [r0, #1]
|
|
sub r1, r1, r2
|
|
strb r1, [r0, #3]
|
|
mov r1, #0
|
|
strh r1, [r0, #4]
|
|
mov r1, #0x3c
|
|
strh r1, [r0, #6]
|
|
bx lr
|
|
thumb_func_end ov49_02259A3C
|
|
|
|
thumb_func_start ov49_02259A54
|
|
ov49_02259A54: ; 0x02259A54
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldrb r0, [r5]
|
|
add r4, r1, #0
|
|
cmp r0, #0
|
|
bne _02259A64
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_02259A64:
|
|
mov r0, #4
|
|
ldrsh r1, [r5, r0]
|
|
add r1, r1, #1
|
|
strh r1, [r5, #4]
|
|
ldrsh r1, [r5, r0]
|
|
mov r0, #6
|
|
ldrsh r0, [r5, r0]
|
|
cmp r1, r0
|
|
blt _02259A7A
|
|
mov r0, #0
|
|
strb r0, [r5]
|
|
_02259A7A:
|
|
mov r0, #4
|
|
ldrsh r1, [r5, r0]
|
|
mov r0, #3
|
|
ldrsb r0, [r5, r0]
|
|
mul r0, r1
|
|
mov r1, #6
|
|
ldrsh r1, [r5, r1]
|
|
bl _s32_div_f
|
|
strb r0, [r5, #1]
|
|
mov r0, #2
|
|
ldrb r1, [r5, #1]
|
|
ldrsb r0, [r5, r0]
|
|
add r0, r1, r0
|
|
strb r0, [r5, #1]
|
|
ldrb r1, [r5, #1]
|
|
add r0, r4, #0
|
|
bl ov45_02230700
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_02259A54
|
|
|
|
thumb_func_start ov49_02259AA4
|
|
ov49_02259AA4: ; 0x02259AA4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
bl OverlayManager_GetArgs
|
|
mov r2, #0x3a
|
|
add r5, r0, #0
|
|
mov r0, #3
|
|
mov r1, #0x77
|
|
lsl r2, r2, #0xc
|
|
bl CreateHeap
|
|
mov r2, #0x3d
|
|
mov r0, #3
|
|
mov r1, #0x78
|
|
lsl r2, r2, #0xc
|
|
bl CreateHeap
|
|
mov r1, #0xfe
|
|
add r0, r4, #0
|
|
lsl r1, r1, #2
|
|
mov r2, #0x77
|
|
bl OverlayManager_CreateAndGetData
|
|
mov r2, #0xfe
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
add r4, r0, #0
|
|
bl memset
|
|
add r0, r5, #0
|
|
add r0, #0xc
|
|
str r0, [r4, #0x38]
|
|
ldr r0, [r5, #0x1c]
|
|
str r0, [r4, #0x34]
|
|
bl ov45_0222A53C
|
|
strb r0, [r4, #2]
|
|
ldr r0, [r4, #0x34]
|
|
bl ov45_0222A53C
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _02259B02
|
|
bl GF_AssertFail
|
|
_02259B02:
|
|
mov r0, #1
|
|
bl TextFlags_SetCanABSpeedUpPrint
|
|
mov r0, #0
|
|
bl sub_02002B50
|
|
mov r0, #0
|
|
bl sub_02002B8C
|
|
ldr r0, [r5]
|
|
bl Save_PlayerData_GetProfileAddr
|
|
mov r1, #0xfd
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
ldr r1, [r5]
|
|
add r0, #0x3c
|
|
mov r2, #0x77
|
|
bl ov49_0225A5EC
|
|
mov r0, #0x77
|
|
bl ov49_02258958
|
|
mov r1, #0xfa
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add r1, #0xc
|
|
ldr r0, [r4, r1]
|
|
bl PlayerProfile_GetTrainerGender
|
|
add r1, r0, #0
|
|
mov r0, #0x78
|
|
mov r2, #0xfa
|
|
str r0, [sp]
|
|
lsl r2, r2, #2
|
|
ldr r2, [r4, r2]
|
|
mov r0, #0x18
|
|
mov r3, #0x77
|
|
bl ov49_02258AB4
|
|
mov r2, #0x3e
|
|
lsl r2, r2, #4
|
|
str r0, [r4, r2]
|
|
mov r0, #0x78
|
|
str r0, [sp]
|
|
add r2, #8
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r5, #8]
|
|
ldr r2, [r4, r2]
|
|
mov r3, #0x77
|
|
bl ov49_0225DF18
|
|
mov r1, #0xf9
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0x77
|
|
bl ov49_0225CB78
|
|
mov r1, #0xfb
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
sub r1, #0xf4
|
|
add r0, r4, r1
|
|
add r1, r4, #0
|
|
ldr r2, [r5]
|
|
add r1, #0x3c
|
|
mov r3, #0x77
|
|
bl ov49_0225AAC8
|
|
mov r0, #0xc6
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
ldr r2, [r5]
|
|
add r0, r4, r0
|
|
add r1, #0x3c
|
|
mov r3, #0x77
|
|
bl ov49_0225ACA8
|
|
mov r0, #0xce
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
add r0, r4, r0
|
|
add r1, #0x3c
|
|
mov r2, #0x77
|
|
bl ov49_0225AD20
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
add r1, r4, #0
|
|
add r0, r4, r0
|
|
add r1, #0x3c
|
|
mov r2, #0x77
|
|
bl ov49_0225B214
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
add r0, r4, r0
|
|
add r1, #0x3c
|
|
mov r2, #0x77
|
|
bl ov49_0225B0D4
|
|
mov r0, #0xb7
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0x77
|
|
bl ov49_0225B308
|
|
mov r1, #0x3a
|
|
lsl r1, r1, #4
|
|
add r0, r4, r1
|
|
sub r1, #0xc4
|
|
add r1, r4, r1
|
|
mov r2, #0x77
|
|
bl ov49_0225B198
|
|
mov r0, #0x77
|
|
str r0, [sp]
|
|
mov r3, #0xfd
|
|
mov r0, #0x61
|
|
lsl r3, r3, #2
|
|
lsl r0, r0, #2
|
|
add r2, r4, #0
|
|
ldr r1, [r4, #0x38]
|
|
ldr r3, [r4, r3]
|
|
add r0, r4, r0
|
|
add r2, #0x3c
|
|
bl ov49_0225B450
|
|
ldr r0, [r4, #0x34]
|
|
bl ov45_0222A5C0
|
|
add r5, r0, #0
|
|
bl ov45_0222AADC
|
|
cmp r0, #1
|
|
bne _02259C2E
|
|
mov r0, #0x61
|
|
mov r2, #0xb7
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
lsl r2, r2, #2
|
|
add r0, r4, r0
|
|
add r1, #0x3c
|
|
add r2, r4, r2
|
|
mov r3, #0x77
|
|
str r5, [sp]
|
|
bl ov49_0225B9AC
|
|
_02259C2E:
|
|
add r0, r4, #0
|
|
mov r1, #0x77
|
|
bl ov49_0225EEAC
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov49_0225F1A8
|
|
add r0, r4, #0
|
|
bl ov49_0225F1F0
|
|
mov r0, #0x77
|
|
str r0, [sp]
|
|
mov r0, #0x78
|
|
mov r3, #0xfa
|
|
str r0, [sp, #4]
|
|
lsl r3, r3, #2
|
|
add r2, r3, #4
|
|
ldr r1, [r4, r3]
|
|
sub r3, #8
|
|
ldr r0, [r4, #0x34]
|
|
ldr r2, [r4, r2]
|
|
ldr r3, [r4, r3]
|
|
bl ov49_022652E8
|
|
mov r1, #0xf5
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0x77
|
|
add r1, r4, #0
|
|
bl ov49_02268764
|
|
mov r1, #0xf7
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, _02259C8C ; =ov49_0225A5C8
|
|
add r1, r4, #0
|
|
bl Main_SetVBlankIntrCB
|
|
bl HBlankInterruptDisable
|
|
mov r0, #1
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02259C8C: .word ov49_0225A5C8
|
|
thumb_func_end ov49_02259AA4
|
|
|
|
thumb_func_start ov49_02259C90
|
|
ov49_02259C90: ; 0x02259C90
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl OverlayManager_GetArgs
|
|
ldr r0, [r5]
|
|
cmp r0, #8
|
|
bhi _02259D58
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02259CB6: ; jump table
|
|
.short _02259CC8 - _02259CB6 - 2 ; case 0
|
|
.short _02259CEA - _02259CB6 - 2 ; case 1
|
|
.short _02259CFE - _02259CB6 - 2 ; case 2
|
|
.short _02259D7A - _02259CB6 - 2 ; case 3
|
|
.short _02259DF8 - _02259CB6 - 2 ; case 4
|
|
.short _02259E08 - _02259CB6 - 2 ; case 5
|
|
.short _02259E58 - _02259CB6 - 2 ; case 6
|
|
.short _02259E76 - _02259CB6 - 2 ; case 7
|
|
.short _02259ED0 - _02259CB6 - 2 ; case 8
|
|
_02259CC8:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r0, #0x77
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r0, #1
|
|
strb r0, [r4, #3]
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _02259EE2
|
|
_02259CEA:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #1
|
|
bne _02259D58
|
|
mov r0, #0
|
|
strb r0, [r4, #3]
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _02259EE2
|
|
_02259CFE:
|
|
ldrb r0, [r4, #4]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #1
|
|
bne _02259D26
|
|
bl ov45_0222D844
|
|
cmp r0, #1
|
|
beq _02259D1A
|
|
ldr r0, [r4, #0x34]
|
|
bl ov45_0222A1FC
|
|
cmp r0, #0
|
|
beq _02259D26
|
|
_02259D1A:
|
|
ldrb r1, [r4, #4]
|
|
mov r0, #0xf0
|
|
bic r1, r0
|
|
mov r0, #0x10
|
|
orr r0, r1
|
|
strb r0, [r4, #4]
|
|
_02259D26:
|
|
ldrb r0, [r4, #7]
|
|
cmp r0, #0
|
|
bne _02259D42
|
|
ldr r0, [r4, #0x34]
|
|
bl ov45_0222A33C
|
|
cmp r0, #1
|
|
bne _02259D42
|
|
mov r0, #1
|
|
strb r0, [r4, #6]
|
|
add r0, r4, #0
|
|
mov r1, #8
|
|
bl ov49_0225A038
|
|
_02259D42:
|
|
ldrb r0, [r4]
|
|
cmp r0, #1
|
|
beq _02259D5A
|
|
ldrb r0, [r4, #4]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #1
|
|
beq _02259D5A
|
|
ldrb r0, [r4, #6]
|
|
cmp r0, #1
|
|
beq _02259D5A
|
|
_02259D58:
|
|
b _02259EE2
|
|
_02259D5A:
|
|
ldrb r0, [r4, #4]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
beq _02259D68
|
|
mov r0, #3
|
|
str r0, [r5]
|
|
b _02259EE2
|
|
_02259D68:
|
|
ldrb r0, [r4, #6]
|
|
cmp r0, #1
|
|
bne _02259D74
|
|
mov r0, #5
|
|
str r0, [r5]
|
|
b _02259EE2
|
|
_02259D74:
|
|
mov r0, #7
|
|
str r0, [r5]
|
|
b _02259EE2
|
|
_02259D7A:
|
|
mov r0, #0xbe
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225AC74
|
|
mov r0, #0xce
|
|
lsl r0, r0, #2
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
add r2, r1, #0
|
|
bl ov49_0225B014
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225B124
|
|
mov r0, #0x3a
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl ov49_0225B200
|
|
bl sub_020393C8
|
|
cmp r0, #0
|
|
beq _02259DBE
|
|
mov r1, #0x39
|
|
lsl r1, r1, #4
|
|
add r0, r4, r1
|
|
sub r1, #0xb4
|
|
add r1, r4, r1
|
|
bl ov49_0225B284
|
|
b _02259DF2
|
|
_02259DBE:
|
|
bl sub_020397FC
|
|
cmp r0, #0
|
|
beq _02259DDC
|
|
bl ov45_0222E7CC
|
|
mov r1, #0x39
|
|
lsl r1, r1, #4
|
|
add r2, r0, #0
|
|
add r0, r4, r1
|
|
sub r1, #0xb4
|
|
add r1, r4, r1
|
|
bl ov49_0225B2C0
|
|
b _02259DF2
|
|
_02259DDC:
|
|
ldr r0, [r4, #0x34]
|
|
bl ov45_0222A1FC
|
|
mov r1, #0x39
|
|
lsl r1, r1, #4
|
|
add r2, r0, #0
|
|
add r0, r4, r1
|
|
sub r1, #0xb4
|
|
add r1, r4, r1
|
|
bl ov49_0225B2F0
|
|
_02259DF2:
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
b _02259EE2
|
|
_02259DF8:
|
|
ldr r0, _02259EF4 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _02259EE2
|
|
mov r0, #7
|
|
str r0, [r5]
|
|
b _02259EE2
|
|
_02259E08:
|
|
mov r0, #0xbe
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225AC74
|
|
mov r0, #0xce
|
|
lsl r0, r0, #2
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
add r2, r1, #0
|
|
bl ov49_0225B014
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225B124
|
|
mov r0, #0x3a
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl ov49_0225B200
|
|
mov r0, #0xb7
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #1
|
|
mov r2, #0x46
|
|
bl ov49_0225B388
|
|
add r1, r0, #0
|
|
mov r0, #0xbe
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225AB44
|
|
mov r0, #6
|
|
str r0, [r5]
|
|
mov r0, #0x3c
|
|
str r0, [r4, #8]
|
|
b _02259EE2
|
|
_02259E58:
|
|
mov r0, #0xbe
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225AC5C
|
|
cmp r0, #0
|
|
beq _02259EE2
|
|
ldr r0, [r4, #8]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #8]
|
|
cmp r0, #0
|
|
bgt _02259EE2
|
|
mov r0, #7
|
|
str r0, [r5]
|
|
b _02259EE2
|
|
_02259E76:
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225B898
|
|
cmp r0, #5
|
|
bne _02259EA8
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x77
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r0, #1
|
|
strb r0, [r4, #3]
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _02259EE2
|
|
_02259EA8:
|
|
cmp r0, #0
|
|
bne _02259EE2
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x77
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r0, #1
|
|
strb r0, [r4, #3]
|
|
ldr r0, [r5]
|
|
add r0, r0, #1
|
|
str r0, [r5]
|
|
b _02259EE2
|
|
_02259ED0:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #1
|
|
bne _02259EE2
|
|
mov r0, #0
|
|
strb r0, [r4, #3]
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_02259EE2:
|
|
add r0, r4, #0
|
|
bl ov49_0225A98C
|
|
add r0, r4, #0
|
|
bl ov49_0225AA2C
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02259EF4: .word gSystem
|
|
thumb_func_end ov49_02259C90
|
|
|
|
thumb_func_start ov49_02259EF8
|
|
ov49_02259EF8: ; 0x02259EF8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl OverlayManager_GetArgs
|
|
ldrb r1, [r4, #1]
|
|
str r1, [r0, #0x18]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl Main_SetVBlankIntrCB
|
|
bl HBlankInterruptDisable
|
|
mov r0, #0xf7
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov49_02268850
|
|
mov r0, #0xf5
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov49_0226535C
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl ov49_0225EEF8
|
|
mov r0, #0x61
|
|
mov r1, #0xc6
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #2
|
|
add r2, r4, #0
|
|
add r0, r4, r0
|
|
add r1, r4, r1
|
|
add r2, #0x3c
|
|
bl ov49_0225B4E4
|
|
mov r0, #0xb7
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225B35C
|
|
mov r0, #0xbe
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225AB14
|
|
mov r0, #0xc6
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225ACBC
|
|
mov r0, #0xce
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
add r0, r4, r0
|
|
add r1, #0x3c
|
|
bl ov49_0225AE4C
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl ov49_0225B244
|
|
mov r0, #0x3a
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl ov49_0225B200
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225B0D8
|
|
mov r0, #0xfb
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov49_0225CBDC
|
|
mov r0, #0xf9
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov49_0225E2B4
|
|
mov r0, #0x3e
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl ov49_02258B20
|
|
mov r0, #0xfa
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov49_02258994
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
bl ov49_0225A7D0
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #0x77
|
|
bl DestroyHeap
|
|
mov r0, #0x78
|
|
bl DestroyHeap
|
|
mov r0, #0
|
|
bl sub_0200616C
|
|
mov r0, #0
|
|
bl sub_02006300
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02259EF8
|
|
|
|
thumb_func_start ov49_02259FE8
|
|
ov49_02259FE8: ; 0x02259FE8
|
|
ldr r0, [r0, #0x34]
|
|
bx lr
|
|
thumb_func_end ov49_02259FE8
|
|
|
|
thumb_func_start ov49_02259FEC
|
|
ov49_02259FEC: ; 0x02259FEC
|
|
ldr r0, [r0, #0x38]
|
|
bx lr
|
|
thumb_func_end ov49_02259FEC
|
|
|
|
thumb_func_start ov49_02259FF0
|
|
ov49_02259FF0: ; 0x02259FF0
|
|
mov r1, #0x3e
|
|
lsl r1, r1, #4
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end ov49_02259FF0
|
|
|
|
thumb_func_start ov49_02259FF8
|
|
ov49_02259FF8: ; 0x02259FF8
|
|
mov r1, #0xf9
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end ov49_02259FF8
|
|
|
|
thumb_func_start ov49_0225A000
|
|
ov49_0225A000: ; 0x0225A000
|
|
mov r1, #0xfa
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end ov49_0225A000
|
|
|
|
thumb_func_start ov49_0225A008
|
|
ov49_0225A008: ; 0x0225A008
|
|
mov r1, #0xfb
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end ov49_0225A008
|
|
|
|
thumb_func_start ov49_0225A010
|
|
ov49_0225A010: ; 0x0225A010
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #4
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end ov49_0225A010
|
|
|
|
thumb_func_start ov49_0225A018
|
|
ov49_0225A018: ; 0x0225A018
|
|
ldrb r3, [r0, #4]
|
|
mov r2, #0xf
|
|
lsl r1, r1, #0x18
|
|
bic r3, r2
|
|
lsr r2, r1, #0x18
|
|
mov r1, #0xf
|
|
and r1, r2
|
|
orr r1, r3
|
|
strb r1, [r0, #4]
|
|
bx lr
|
|
thumb_func_end ov49_0225A018
|
|
|
|
thumb_func_start ov49_0225A02C
|
|
ov49_0225A02C: ; 0x0225A02C
|
|
ldrb r0, [r0, #2]
|
|
bx lr
|
|
thumb_func_end ov49_0225A02C
|
|
|
|
thumb_func_start ov49_0225A030
|
|
ov49_0225A030: ; 0x0225A030
|
|
ldrb r0, [r0, #3]
|
|
bx lr
|
|
thumb_func_end ov49_0225A030
|
|
|
|
thumb_func_start ov49_0225A034
|
|
ov49_0225A034: ; 0x0225A034
|
|
strb r1, [r0]
|
|
bx lr
|
|
thumb_func_end ov49_0225A034
|
|
|
|
thumb_func_start ov49_0225A038
|
|
ov49_0225A038: ; 0x0225A038
|
|
strb r1, [r0, #1]
|
|
bx lr
|
|
thumb_func_end ov49_0225A038
|
|
|
|
thumb_func_start ov49_0225A03C
|
|
ov49_0225A03C: ; 0x0225A03C
|
|
strb r1, [r0, #5]
|
|
bx lr
|
|
thumb_func_end ov49_0225A03C
|
|
|
|
thumb_func_start ov49_0225A040
|
|
ov49_0225A040: ; 0x0225A040
|
|
ldrb r0, [r0, #5]
|
|
bx lr
|
|
thumb_func_end ov49_0225A040
|
|
|
|
thumb_func_start ov49_0225A044
|
|
ov49_0225A044: ; 0x0225A044
|
|
mov r1, #1
|
|
strb r1, [r0, #7]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A044
|
|
|
|
thumb_func_start ov49_0225A04C
|
|
ov49_0225A04C: ; 0x0225A04C
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
cmp r4, #0x14
|
|
blo _0225A05C
|
|
bl GF_AssertFail
|
|
_0225A05C:
|
|
add r0, r5, r4
|
|
strb r6, [r0, #0xc]
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A04C
|
|
|
|
thumb_func_start ov49_0225A064
|
|
ov49_0225A064: ; 0x0225A064
|
|
add r0, r0, r1
|
|
ldrb r0, [r0, #0xc]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A064
|
|
|
|
thumb_func_start ov49_0225A06C
|
|
ov49_0225A06C: ; 0x0225A06C
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
cmp r4, #0x14
|
|
blo _0225A07C
|
|
bl GF_AssertFail
|
|
_0225A07C:
|
|
add r0, r5, r4
|
|
add r0, #0x20
|
|
strb r6, [r0]
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_0225A06C
|
|
|
|
thumb_func_start ov49_0225A084
|
|
ov49_0225A084: ; 0x0225A084
|
|
add r0, r0, r1
|
|
add r0, #0x20
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
thumb_func_end ov49_0225A084
|
|
|
|
thumb_func_start ov49_0225A08C
|
|
ov49_0225A08C: ; 0x0225A08C
|
|
mov r2, #0xbe
|
|
lsl r2, r2, #2
|
|
ldr r3, _0225A098 ; =ov49_0225AB44
|
|
add r0, r0, r2
|
|
bx r3
|
|
nop
|
|
_0225A098: .word ov49_0225AB44
|
|
thumb_func_end ov49_0225A08C
|
|
|
|
thumb_func_start ov49_0225A09C
|
|
ov49_0225A09C: ; 0x0225A09C
|
|
mov r2, #0xbe
|
|
lsl r2, r2, #2
|
|
ldr r3, _0225A0A8 ; =ov49_0225ABA4
|
|
add r0, r0, r2
|
|
bx r3
|
|
nop
|
|
_0225A0A8: .word ov49_0225ABA4
|
|
thumb_func_end ov49_0225A09C
|
|
|
|
thumb_func_start ov49_0225A0AC
|
|
ov49_0225A0AC: ; 0x0225A0AC
|
|
mov r1, #0xbe
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A0B8 ; =ov49_0225AC5C
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A0B8: .word ov49_0225AC5C
|
|
thumb_func_end ov49_0225A0AC
|
|
|
|
thumb_func_start ov49_0225A0BC
|
|
ov49_0225A0BC: ; 0x0225A0BC
|
|
mov r1, #0xbe
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A0C8 ; =ov49_0225AC08
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A0C8: .word ov49_0225AC08
|
|
thumb_func_end ov49_0225A0BC
|
|
|
|
thumb_func_start ov49_0225A0CC
|
|
ov49_0225A0CC: ; 0x0225A0CC
|
|
mov r1, #0xbe
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A0D8 ; =ov49_0225AC24
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A0D8: .word ov49_0225AC24
|
|
thumb_func_end ov49_0225A0CC
|
|
|
|
thumb_func_start ov49_0225A0DC
|
|
ov49_0225A0DC: ; 0x0225A0DC
|
|
mov r1, #0xbe
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A0E8 ; =ov49_0225AC4C
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A0E8: .word ov49_0225AC4C
|
|
thumb_func_end ov49_0225A0DC
|
|
|
|
thumb_func_start ov49_0225A0EC
|
|
ov49_0225A0EC: ; 0x0225A0EC
|
|
mov r1, #0xbe
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A0F8 ; =ov49_0225AC74
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A0F8: .word ov49_0225AC74
|
|
thumb_func_end ov49_0225A0EC
|
|
|
|
thumb_func_start ov49_0225A0FC
|
|
ov49_0225A0FC: ; 0x0225A0FC
|
|
mov r2, #0xc6
|
|
lsl r2, r2, #2
|
|
ldr r3, _0225A108 ; =ov49_0225ACC4
|
|
add r0, r0, r2
|
|
bx r3
|
|
nop
|
|
_0225A108: .word ov49_0225ACC4
|
|
thumb_func_end ov49_0225A0FC
|
|
|
|
thumb_func_start ov49_0225A10C
|
|
ov49_0225A10C: ; 0x0225A10C
|
|
push {r3, lr}
|
|
mov r2, #0xce
|
|
lsl r2, r2, #2
|
|
add r0, r0, r2
|
|
mov r2, #0x78
|
|
mov r3, #0
|
|
bl ov49_0225AEA8
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A10C
|
|
|
|
thumb_func_start ov49_0225A120
|
|
ov49_0225A120: ; 0x0225A120
|
|
push {r3, lr}
|
|
add r3, r2, #0
|
|
mov r2, #0xce
|
|
lsl r2, r2, #2
|
|
add r0, r0, r2
|
|
mov r2, #0x78
|
|
bl ov49_0225AEA8
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A120
|
|
|
|
thumb_func_start ov49_0225A134
|
|
ov49_0225A134: ; 0x0225A134
|
|
mov r1, #0xce
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A140 ; =ov49_0225AEE0
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A140: .word ov49_0225AEE0
|
|
thumb_func_end ov49_0225A134
|
|
|
|
thumb_func_start ov49_0225A144
|
|
ov49_0225A144: ; 0x0225A144
|
|
mov r3, #0xce
|
|
lsl r3, r3, #2
|
|
add r0, r0, r3
|
|
ldr r3, _0225A150 ; =ov49_0225AEF8
|
|
bx r3
|
|
nop
|
|
_0225A150: .word ov49_0225AEF8
|
|
thumb_func_end ov49_0225A144
|
|
|
|
thumb_func_start ov49_0225A154
|
|
ov49_0225A154: ; 0x0225A154
|
|
mov r1, #0xce
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A160 ; =ov49_0225AF04
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A160: .word ov49_0225AF04
|
|
thumb_func_end ov49_0225A154
|
|
|
|
thumb_func_start ov49_0225A164
|
|
ov49_0225A164: ; 0x0225A164
|
|
mov r2, #0xce
|
|
lsl r2, r2, #2
|
|
ldr r3, _0225A170 ; =ov49_0225AF08
|
|
add r0, r0, r2
|
|
bx r3
|
|
nop
|
|
_0225A170: .word ov49_0225AF08
|
|
thumb_func_end ov49_0225A164
|
|
|
|
thumb_func_start ov49_0225A174
|
|
ov49_0225A174: ; 0x0225A174
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
str r3, [sp]
|
|
mov r0, #0x77
|
|
str r0, [sp, #4]
|
|
mov r0, #0x10
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xf
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0xce
|
|
lsl r0, r0, #2
|
|
add r4, r2, #0
|
|
add r0, r5, r0
|
|
add r5, #0x3c
|
|
add r2, r5, #0
|
|
add r3, r4, #0
|
|
bl ov49_0225AF30
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A174
|
|
|
|
thumb_func_start ov49_0225A1A4
|
|
ov49_0225A1A4: ; 0x0225A1A4
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
str r3, [sp]
|
|
mov r0, #0x77
|
|
str r0, [sp, #4]
|
|
add r4, r2, #0
|
|
add r0, sp, #0x10
|
|
ldrb r2, [r0, #0x10]
|
|
add r3, r4, #0
|
|
str r2, [sp, #8]
|
|
ldrb r2, [r0, #0x14]
|
|
str r2, [sp, #0xc]
|
|
ldrb r0, [r0, #0x18]
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0xce
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r5, #0x3c
|
|
add r2, r5, #0
|
|
bl ov49_0225AF30
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
thumb_func_end ov49_0225A1A4
|
|
|
|
thumb_func_start ov49_0225A1D4
|
|
ov49_0225A1D4: ; 0x0225A1D4
|
|
mov r1, #0xce
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A1E0 ; =ov49_0225AFD8
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A1E0: .word ov49_0225AFD8
|
|
thumb_func_end ov49_0225A1D4
|
|
|
|
thumb_func_start ov49_0225A1E4
|
|
ov49_0225A1E4: ; 0x0225A1E4
|
|
mov r3, #0xce
|
|
lsl r3, r3, #2
|
|
add r0, r0, r3
|
|
ldr r3, _0225A1F0 ; =ov49_0225B014
|
|
bx r3
|
|
nop
|
|
_0225A1F0: .word ov49_0225B014
|
|
thumb_func_end ov49_0225A1E4
|
|
|
|
thumb_func_start ov49_0225A1F4
|
|
ov49_0225A1F4: ; 0x0225A1F4
|
|
mov r2, #0xce
|
|
lsl r2, r2, #2
|
|
ldr r3, _0225A200 ; =ov49_0225B06C
|
|
add r0, r0, r2
|
|
bx r3
|
|
nop
|
|
_0225A200: .word ov49_0225B06C
|
|
thumb_func_end ov49_0225A1F4
|
|
|
|
thumb_func_start ov49_0225A204
|
|
ov49_0225A204: ; 0x0225A204
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
str r2, [sp]
|
|
add r5, r0, #0
|
|
str r3, [sp, #4]
|
|
add r0, sp, #8
|
|
ldrb r0, [r0, #0x10]
|
|
add r4, r1, #0
|
|
mov r2, #0x77
|
|
str r0, [sp, #8]
|
|
mov r0, #0xf1
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r5, #0x3c
|
|
add r1, r5, #0
|
|
add r3, r4, #0
|
|
bl ov49_0225B0E0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
thumb_func_end ov49_0225A204
|
|
|
|
thumb_func_start ov49_0225A22C
|
|
ov49_0225A22C: ; 0x0225A22C
|
|
mov r1, #0xf1
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A238 ; =ov49_0225B124
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A238: .word ov49_0225B124
|
|
thumb_func_end ov49_0225A22C
|
|
|
|
thumb_func_start ov49_0225A23C
|
|
ov49_0225A23C: ; 0x0225A23C
|
|
push {r4, lr}
|
|
mov r4, #0xf1
|
|
lsl r4, r4, #2
|
|
add r0, r0, r4
|
|
bl ov49_0225B148
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A23C
|
|
|
|
thumb_func_start ov49_0225A24C
|
|
ov49_0225A24C: ; 0x0225A24C
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, sp, #0
|
|
ldrh r4, [r4, #0x10]
|
|
str r4, [sp]
|
|
mov r4, #0xf1
|
|
lsl r4, r4, #2
|
|
add r0, r0, r4
|
|
bl ov49_0225B178
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov49_0225A24C
|
|
|
|
thumb_func_start ov49_0225A264
|
|
ov49_0225A264: ; 0x0225A264
|
|
push {lr}
|
|
sub sp, #0x14
|
|
mov r3, #0
|
|
add r2, r0, #0
|
|
str r3, [sp]
|
|
mov r0, #0x77
|
|
str r0, [sp, #4]
|
|
mov r0, #0x19
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
mov r1, #0xce
|
|
str r0, [sp, #0xc]
|
|
mov r0, #6
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #0x10]
|
|
add r0, r2, r1
|
|
add r1, #0x6c
|
|
add r1, r2, r1
|
|
add r2, #0x3c
|
|
bl ov49_0225AF30
|
|
add sp, #0x14
|
|
pop {pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A264
|
|
|
|
thumb_func_start ov49_0225A294
|
|
ov49_0225A294: ; 0x0225A294
|
|
push {lr}
|
|
sub sp, #0x14
|
|
add r2, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x77
|
|
str r0, [sp, #4]
|
|
mov r0, #0x19
|
|
str r0, [sp, #8]
|
|
mov r0, #0xd
|
|
mov r1, #0xce
|
|
str r0, [sp, #0xc]
|
|
mov r0, #6
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #0x10]
|
|
add r0, r2, r1
|
|
add r1, #0x6c
|
|
add r1, r2, r1
|
|
add r2, #0x3c
|
|
mov r3, #0
|
|
bl ov49_0225AF30
|
|
add sp, #0x14
|
|
pop {pc}
|
|
thumb_func_end ov49_0225A294
|
|
|
|
thumb_func_start ov49_0225A2C4
|
|
ov49_0225A2C4: ; 0x0225A2C4
|
|
push {r3, lr}
|
|
mov r1, #0xce
|
|
lsl r1, r1, #2
|
|
add r0, r0, r1
|
|
bl ov49_0225AFD8
|
|
cmp r0, #0
|
|
beq _0225A2EA
|
|
cmp r0, #1
|
|
beq _0225A2E6
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _0225A2EE
|
|
ldr r0, _0225A2F4 ; =0x000005DC
|
|
bl PlaySE
|
|
_0225A2E6:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0225A2EA:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_0225A2EE:
|
|
mov r0, #2
|
|
pop {r3, pc}
|
|
nop
|
|
_0225A2F4: .word 0x000005DC
|
|
thumb_func_end ov49_0225A2C4
|
|
|
|
thumb_func_start ov49_0225A2F8
|
|
ov49_0225A2F8: ; 0x0225A2F8
|
|
mov r1, #0xce
|
|
lsl r1, r1, #2
|
|
add r0, r0, r1
|
|
mov r1, #0
|
|
ldr r3, _0225A308 ; =ov49_0225B014
|
|
add r2, r1, #0
|
|
bx r3
|
|
nop
|
|
_0225A308: .word ov49_0225B014
|
|
thumb_func_end ov49_0225A2F8
|
|
|
|
thumb_func_start ov49_0225A30C
|
|
ov49_0225A30C: ; 0x0225A30C
|
|
mov r3, #0xb7
|
|
lsl r3, r3, #2
|
|
add r0, r0, r3
|
|
ldr r3, _0225A318 ; =ov49_0225B388
|
|
bx r3
|
|
nop
|
|
_0225A318: .word ov49_0225B388
|
|
thumb_func_end ov49_0225A30C
|
|
|
|
thumb_func_start ov49_0225A31C
|
|
ov49_0225A31C: ; 0x0225A31C
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r4, [sp, #0x10]
|
|
str r4, [sp]
|
|
mov r4, #0xb7
|
|
lsl r4, r4, #2
|
|
add r0, r0, r4
|
|
bl ov49_0225B3A8
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A31C
|
|
|
|
thumb_func_start ov49_0225A334
|
|
ov49_0225A334: ; 0x0225A334
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x77
|
|
add r4, r1, #0
|
|
add r7, r2, #0
|
|
bl PlayerProfile_New
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #0x34]
|
|
bl ov45_0222A53C
|
|
cmp r4, r0
|
|
ldr r0, [r5, #0x34]
|
|
bne _0225A356
|
|
bl ov45_0222A5C0
|
|
b _0225A35C
|
|
_0225A356:
|
|
add r1, r4, #0
|
|
bl ov45_0222A578
|
|
_0225A35C:
|
|
add r1, r6, #0
|
|
mov r2, #0x77
|
|
bl ov45_0222A844
|
|
mov r0, #0xb7
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl ov49_0225B3C8
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A334
|
|
|
|
thumb_func_start ov49_0225A37C
|
|
ov49_0225A37C: ; 0x0225A37C
|
|
mov r3, #0xb7
|
|
lsl r3, r3, #2
|
|
add r0, r0, r3
|
|
ldr r3, _0225A388 ; =ov49_0225B3D8
|
|
bx r3
|
|
nop
|
|
_0225A388: .word ov49_0225B3D8
|
|
thumb_func_end ov49_0225A37C
|
|
|
|
thumb_func_start ov49_0225A38C
|
|
ov49_0225A38C: ; 0x0225A38C
|
|
mov r3, #0xb7
|
|
lsl r3, r3, #2
|
|
add r0, r0, r3
|
|
ldr r3, _0225A398 ; =ov49_0225B3E8
|
|
bx r3
|
|
nop
|
|
_0225A398: .word ov49_0225B3E8
|
|
thumb_func_end ov49_0225A38C
|
|
|
|
thumb_func_start ov49_0225A39C
|
|
ov49_0225A39C: ; 0x0225A39C
|
|
mov r3, #0xb7
|
|
lsl r3, r3, #2
|
|
add r0, r0, r3
|
|
ldr r3, _0225A3A8 ; =ov49_0225B3F8
|
|
bx r3
|
|
nop
|
|
_0225A3A8: .word ov49_0225B3F8
|
|
thumb_func_end ov49_0225A39C
|
|
|
|
thumb_func_start ov49_0225A3AC
|
|
ov49_0225A3AC: ; 0x0225A3AC
|
|
mov r3, #0xb7
|
|
lsl r3, r3, #2
|
|
ldr r0, [r0, r3]
|
|
ldr r3, _0225A3B8 ; =BufferJPGreeting
|
|
bx r3
|
|
nop
|
|
_0225A3B8: .word BufferJPGreeting
|
|
thumb_func_end ov49_0225A3AC
|
|
|
|
thumb_func_start ov49_0225A3BC
|
|
ov49_0225A3BC: ; 0x0225A3BC
|
|
mov r3, #0xb7
|
|
lsl r3, r3, #2
|
|
ldr r0, [r0, r3]
|
|
ldr r3, _0225A3C8 ; =BufferENGreeting
|
|
bx r3
|
|
nop
|
|
_0225A3C8: .word BufferENGreeting
|
|
thumb_func_end ov49_0225A3BC
|
|
|
|
thumb_func_start ov49_0225A3CC
|
|
ov49_0225A3CC: ; 0x0225A3CC
|
|
mov r3, #0xb7
|
|
lsl r3, r3, #2
|
|
ldr r0, [r0, r3]
|
|
ldr r3, _0225A3D8 ; =BufferFRGreeting
|
|
bx r3
|
|
nop
|
|
_0225A3D8: .word BufferFRGreeting
|
|
thumb_func_end ov49_0225A3CC
|
|
|
|
thumb_func_start ov49_0225A3DC
|
|
ov49_0225A3DC: ; 0x0225A3DC
|
|
mov r3, #0xb7
|
|
lsl r3, r3, #2
|
|
ldr r0, [r0, r3]
|
|
ldr r3, _0225A3E8 ; =BufferITGreeting
|
|
bx r3
|
|
nop
|
|
_0225A3E8: .word BufferITGreeting
|
|
thumb_func_end ov49_0225A3DC
|
|
|
|
thumb_func_start ov49_0225A3EC
|
|
ov49_0225A3EC: ; 0x0225A3EC
|
|
mov r3, #0xb7
|
|
lsl r3, r3, #2
|
|
ldr r0, [r0, r3]
|
|
ldr r3, _0225A3F8 ; =BufferDEGreeting
|
|
bx r3
|
|
nop
|
|
_0225A3F8: .word BufferDEGreeting
|
|
thumb_func_end ov49_0225A3EC
|
|
|
|
thumb_func_start ov49_0225A3FC
|
|
ov49_0225A3FC: ; 0x0225A3FC
|
|
mov r3, #0xb7
|
|
lsl r3, r3, #2
|
|
ldr r0, [r0, r3]
|
|
ldr r3, _0225A408 ; =BufferSPGreeting
|
|
bx r3
|
|
nop
|
|
_0225A408: .word BufferSPGreeting
|
|
thumb_func_end ov49_0225A3FC
|
|
|
|
thumb_func_start ov49_0225A40C
|
|
ov49_0225A40C: ; 0x0225A40C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl ov45_0222D7C0
|
|
add r2, r0, #0
|
|
mov r0, #0xb7
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl BufferTypeName
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0225A40C
|
|
|
|
thumb_func_start ov49_0225A428
|
|
ov49_0225A428: ; 0x0225A428
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl ov49_0225B8F8
|
|
cmp r4, r0
|
|
bne _0225A468
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl ov49_0225B8FC
|
|
cmp r0, #1
|
|
bne _0225A468
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl ov49_0225B934
|
|
cmp r0, #0
|
|
bne _0225A468
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl ov49_0225B928
|
|
cmp r6, r0
|
|
beq _0225A476
|
|
_0225A468:
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl ov49_0225B89C
|
|
_0225A476:
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_0225A428
|
|
|
|
thumb_func_start ov49_0225A478
|
|
ov49_0225A478: ; 0x0225A478
|
|
push {r3, lr}
|
|
add r3, r0, #0
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
add r0, r3, r0
|
|
add r3, #0x3c
|
|
add r2, r1, #0
|
|
add r1, r3, #0
|
|
mov r3, #0x77
|
|
bl ov49_0225B8A8
|
|
pop {r3, pc}
|
|
thumb_func_end ov49_0225A478
|
|
|
|
thumb_func_start ov49_0225A490
|
|
ov49_0225A490: ; 0x0225A490
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225B8FC
|
|
cmp r0, #0
|
|
beq _0225A4CC
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225B8F8
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #0x34]
|
|
bl ov45_0222A578
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
str r0, [sp]
|
|
add r0, r4, r1
|
|
add r1, #8
|
|
add r1, r4, r1
|
|
add r4, #0x3c
|
|
add r2, r4, #0
|
|
mov r3, #0x77
|
|
bl ov49_0225BEA0
|
|
_0225A4CC:
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov49_0225A490
|
|
|
|
thumb_func_start ov49_0225A4D0
|
|
ov49_0225A4D0: ; 0x0225A4D0
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A4DC ; =ov49_0225B8E0
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A4DC: .word ov49_0225B8E0
|
|
thumb_func_end ov49_0225A4D0
|
|
|
|
thumb_func_start ov49_0225A4E0
|
|
ov49_0225A4E0: ; 0x0225A4E0
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A4EC ; =ov49_0225B8F8
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A4EC: .word ov49_0225B8F8
|
|
thumb_func_end ov49_0225A4E0
|
|
|
|
thumb_func_start ov49_0225A4F0
|
|
ov49_0225A4F0: ; 0x0225A4F0
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A4FC ; =ov49_0225B8FC
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A4FC: .word ov49_0225B8FC
|
|
thumb_func_end ov49_0225A4F0
|
|
|
|
thumb_func_start ov49_0225A500
|
|
ov49_0225A500: ; 0x0225A500
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A50C ; =ov49_0225B914
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A50C: .word ov49_0225B914
|
|
thumb_func_end ov49_0225A500
|
|
|
|
thumb_func_start ov49_0225A510
|
|
ov49_0225A510: ; 0x0225A510
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A51C ; =ov49_0225B8EC
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A51C: .word ov49_0225B8EC
|
|
thumb_func_end ov49_0225A510
|
|
|
|
thumb_func_start ov49_0225A520
|
|
ov49_0225A520: ; 0x0225A520
|
|
mov r2, #0xf7
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0, r2]
|
|
ldr r3, _0225A52C ; =ov49_02268968
|
|
mov r2, #1
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225A52C: .word ov49_02268968
|
|
thumb_func_end ov49_0225A520
|
|
|
|
thumb_func_start ov49_0225A530
|
|
ov49_0225A530: ; 0x0225A530
|
|
ldr r1, _0225A538 ; =0x0000018A
|
|
mov r2, #1
|
|
strh r2, [r0, r1]
|
|
bx lr
|
|
.balign 4, 0
|
|
_0225A538: .word 0x0000018A
|
|
thumb_func_end ov49_0225A530
|
|
|
|
thumb_func_start ov49_0225A53C
|
|
ov49_0225A53C: ; 0x0225A53C
|
|
mov r2, #0x61
|
|
lsl r2, r2, #2
|
|
ldr r3, _0225A548 ; =ov49_0225BA34
|
|
add r0, r0, r2
|
|
bx r3
|
|
nop
|
|
_0225A548: .word ov49_0225BA34
|
|
thumb_func_end ov49_0225A53C
|
|
|
|
thumb_func_start ov49_0225A54C
|
|
ov49_0225A54C: ; 0x0225A54C
|
|
mov r1, #0xa6
|
|
lsl r1, r1, #2
|
|
ldr r3, _0225A558 ; =ov49_0225CB68
|
|
add r0, r0, r1
|
|
bx r3
|
|
nop
|
|
_0225A558: .word ov49_0225CB68
|
|
thumb_func_end ov49_0225A54C
|
|
|
|
thumb_func_start ov49_0225A55C
|
|
ov49_0225A55C: ; 0x0225A55C
|
|
mov r1, #0xf6
|
|
lsl r1, r1, #2
|
|
ldr r3, [r0, r1]
|
|
mov r2, #0
|
|
str r2, [r0, r1]
|
|
add r0, r3, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A55C
|
|
|
|
thumb_func_start ov49_0225A56C
|
|
ov49_0225A56C: ; 0x0225A56C
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #0x14
|
|
blo _0225A57A
|
|
bl GF_AssertFail
|
|
_0225A57A:
|
|
ldr r0, [r5, #0x34]
|
|
add r1, r4, #0
|
|
bl ov45_0222A578
|
|
bl ov45_0222AAC8
|
|
add r6, r0, #0
|
|
mov r0, #0xf5
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl ov49_022653C0
|
|
ldr r0, [r5, #0x34]
|
|
bl ov45_0222A53C
|
|
cmp r4, r0
|
|
bne _0225A5A8
|
|
ldr r0, [r5, #0x34]
|
|
add r1, r6, #0
|
|
bl ov45_0222AD70
|
|
_0225A5A8:
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A56C
|
|
|
|
thumb_func_start ov49_0225A5AC
|
|
ov49_0225A5AC: ; 0x0225A5AC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #0x14
|
|
blo _0225A5BA
|
|
bl GF_AssertFail
|
|
_0225A5BA:
|
|
mov r0, #0xf5
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl ov49_022653F0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0225A5AC
|
|
|
|
thumb_func_start ov49_0225A5C8
|
|
ov49_0225A5C8: ; 0x0225A5C8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xf9
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov49_0225E3AC
|
|
mov r0, #0x3e
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl ov49_02258BE0
|
|
add r4, #0x3c
|
|
add r0, r4, #0
|
|
bl ov49_0225A840
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A5C8
|
|
|
|
thumb_func_start ov49_0225A5EC
|
|
ov49_0225A5EC: ; 0x0225A5EC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
str r1, [sp, #0x14]
|
|
ldr r0, _0225A798 ; =0x04000050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
ldr r0, _0225A79C ; =0x04001050
|
|
add r6, r2, #0
|
|
strh r1, [r0]
|
|
mov r0, #0x20
|
|
add r1, r6, #0
|
|
bl GF_CreateVramTransferManager
|
|
ldr r0, _0225A7A0 ; =ov49_022697CC
|
|
bl GX_SetBanks
|
|
ldr r0, _0225A7A4 ; =gSystem + 0x60
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
bl GX_SwapDisplay
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl BG_SetMaskColor
|
|
ldr r0, _0225A7A8 ; =ov49_02269724
|
|
bl SetBothScreensModesAndDisable
|
|
add r0, r6, #0
|
|
bl BgConfig_Alloc
|
|
str r0, [r5]
|
|
mov r0, #0
|
|
ldr r7, _0225A7AC ; =ov49_0226981C
|
|
ldr r4, _0225A7B0 ; =ov49_02269734
|
|
str r0, [sp, #0x18]
|
|
_0225A636:
|
|
ldr r1, [r4]
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldr r0, [r4]
|
|
mov r1, #0x20
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl BG_ClearCharDataRange
|
|
ldr r1, [r4]
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [sp, #0x18]
|
|
add r7, #0x1c
|
|
add r0, r0, #1
|
|
add r4, r4, #4
|
|
str r0, [sp, #0x18]
|
|
cmp r0, #4
|
|
blt _0225A636
|
|
ldr r0, [sp, #0x14]
|
|
bl Save_PlayerData_GetOptionsAddr
|
|
bl Options_GetFrame
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
mov r0, #0
|
|
mov r1, #0xa0
|
|
add r2, r6, #0
|
|
bl LoadFontPal0
|
|
mov r0, #0
|
|
mov r1, #0x80
|
|
add r2, r6, #0
|
|
bl LoadFontPal1
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r6, [sp, #4]
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
mov r2, #0x55
|
|
mov r3, #3
|
|
bl LoadUserFrameGfx1
|
|
mov r1, #1
|
|
str r4, [sp]
|
|
str r6, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl LoadUserFrameGfx2
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r6, [sp, #8]
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
mov r2, #0x1f
|
|
mov r3, #2
|
|
bl sub_0200EC0C
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0xd1
|
|
mov r1, #0x5a
|
|
mov r2, #0
|
|
mov r3, #0x40
|
|
str r6, [sp, #4]
|
|
bl GfGfxLoader_GXLoadPal
|
|
bl NNS_G2dInitOamManagerModule
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #0x7e
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r3, #0x1f
|
|
str r3, [sp, #0xc]
|
|
add r2, r0, #0
|
|
str r6, [sp, #0x10]
|
|
bl OamManager_Create
|
|
ldr r0, _0225A7B4 ; =ov49_02269744
|
|
ldr r2, _0225A7B8 ; =0x00100010
|
|
mov r1, #0x10
|
|
bl sub_020215C0
|
|
mov r0, #0x18
|
|
add r1, r6, #0
|
|
bl sub_02022588
|
|
bl sub_020216C8
|
|
bl sub_02022638
|
|
mov r0, #1
|
|
mov r1, #0x10
|
|
bl sub_02009FE8
|
|
mov r0, #1
|
|
bl sub_0200A080
|
|
bl sub_0203A880
|
|
add r1, r5, #0
|
|
mov r0, #0x18
|
|
add r1, #8
|
|
add r2, r6, #0
|
|
bl G2dRenderer_Init
|
|
str r0, [r5, #4]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
add r0, #8
|
|
mov r1, #0
|
|
lsl r2, r2, #0x14
|
|
bl G2dRenderer_SetSubSurfaceCoords
|
|
mov r7, #0
|
|
add r4, r5, #0
|
|
_0225A742:
|
|
mov r0, #0x18
|
|
add r1, r7, #0
|
|
add r2, r6, #0
|
|
bl Create2DGfxResObjMan
|
|
mov r1, #0x13
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
add r7, r7, #1
|
|
add r4, r4, #4
|
|
cmp r7, #4
|
|
blt _0225A742
|
|
mov r0, #0x18
|
|
add r1, r6, #0
|
|
bl sub_02020654
|
|
mov r1, #5
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineBToggleLayers
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
ldr r0, _0225A7BC ; =ov49_0225A854
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r2, #2
|
|
add r3, r1, #0
|
|
bl GF_3DVramMan_Create
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225A798: .word 0x04000050
|
|
_0225A79C: .word 0x04001050
|
|
_0225A7A0: .word ov49_022697CC
|
|
_0225A7A4: .word gSystem + 0x60
|
|
_0225A7A8: .word ov49_02269724
|
|
_0225A7AC: .word ov49_0226981C
|
|
_0225A7B0: .word ov49_02269734
|
|
_0225A7B4: .word ov49_02269744
|
|
_0225A7B8: .word 0x00100010
|
|
_0225A7BC: .word ov49_0225A854
|
|
thumb_func_end ov49_0225A5EC
|
|
|
|
thumb_func_start ov49_0225A7C0
|
|
ov49_0225A7C0: ; 0x0225A7C0
|
|
push {r3, lr}
|
|
ldr r0, [r0, #4]
|
|
bl sub_0202457C
|
|
bl sub_02020674
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A7C0
|
|
|
|
thumb_func_start ov49_0225A7D0
|
|
ov49_0225A7D0: ; 0x0225A7D0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
bl GF_DestroyVramTransferManager
|
|
ldr r5, _0225A83C ; =ov49_02269734
|
|
mov r4, #0
|
|
_0225A7DC:
|
|
ldr r1, [r5]
|
|
ldr r0, [r6]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl FreeBgTilemapBuffer
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _0225A7DC
|
|
ldr r0, [r6]
|
|
bl FreeToHeap
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
bl sub_0202067C
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
mov r4, #0
|
|
add r7, r0, #0
|
|
str r4, [r6, r0]
|
|
add r5, r6, #0
|
|
sub r7, #0x10
|
|
_0225A80E:
|
|
ldr r0, [r5, r7]
|
|
bl Destroy2DGfxResObjMan
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _0225A80E
|
|
ldr r0, [r6, #4]
|
|
bl sub_02024504
|
|
bl sub_0202168C
|
|
bl sub_02022608
|
|
bl OamManager_Free
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
bl GF_3DVramMan_Delete
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225A83C: .word ov49_02269734
|
|
thumb_func_end ov49_0225A7D0
|
|
|
|
thumb_func_start ov49_0225A840
|
|
ov49_0225A840: ; 0x0225A840
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
bl DoScheduledBgGpuUpdates
|
|
bl OamManager_ApplyAndResetBuffers
|
|
bl GF_RunVramTransferTasks
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A840
|
|
|
|
thumb_func_start ov49_0225A854
|
|
ov49_0225A854: ; 0x0225A854
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl GX_EngineAToggleLayers
|
|
ldr r0, _0225A964 ; =0x04000008
|
|
mov r1, #3
|
|
ldrh r2, [r0]
|
|
bic r2, r1
|
|
mov r1, #1
|
|
orr r1, r2
|
|
strh r1, [r0]
|
|
add r0, #0x58
|
|
ldrh r2, [r0]
|
|
ldr r1, _0225A968 ; =0xFFFFCFFD
|
|
and r2, r1
|
|
strh r2, [r0]
|
|
ldrh r3, [r0]
|
|
add r2, r1, #2
|
|
and r3, r2
|
|
mov r2, #0x10
|
|
orr r2, r3
|
|
strh r2, [r0]
|
|
ldrh r3, [r0]
|
|
ldr r2, _0225A96C ; =0x0000CFFB
|
|
and r2, r3
|
|
strh r2, [r0]
|
|
add r2, r1, #2
|
|
ldrh r3, [r0]
|
|
add r1, r1, #2
|
|
and r3, r2
|
|
mov r2, #8
|
|
orr r2, r3
|
|
strh r2, [r0]
|
|
ldrh r2, [r0]
|
|
and r2, r1
|
|
mov r1, #0x20
|
|
orr r1, r2
|
|
strh r1, [r0]
|
|
ldr r0, _0225A970 ; =ov49_02269754
|
|
bl G3X_SetEdgeColorTable
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl G3X_SetFog
|
|
mov r1, #0
|
|
ldr r0, _0225A974 ; =0x00006B5A
|
|
ldr r2, _0225A978 ; =0x00007FFF
|
|
mov r3, #0x3f
|
|
str r1, [sp]
|
|
bl G3X_SetClearColor
|
|
ldr r1, _0225A97C ; =0xBFFF0000
|
|
ldr r0, _0225A980 ; =0x04000580
|
|
ldr r2, _0225A984 ; =0xFFFFF224
|
|
str r1, [r0]
|
|
ldr r1, _0225A988 ; =0xFFFFF805
|
|
mov r0, #0
|
|
mov r3, #0x6e
|
|
bl NNS_G3dGlbLightVector
|
|
mov r1, #0
|
|
add r0, sp, #4
|
|
strh r1, [r0]
|
|
strh r1, [r0, #2]
|
|
mov r1, #1
|
|
lsl r1, r1, #0xc
|
|
strh r1, [r0, #4]
|
|
add r0, sp, #4
|
|
add r1, r0, #0
|
|
bl VEC_Fx16Normalize
|
|
add r4, sp, #4
|
|
mov r1, #0
|
|
mov r2, #2
|
|
mov r3, #4
|
|
ldrsh r1, [r4, r1]
|
|
ldrsh r2, [r4, r2]
|
|
ldrsh r3, [r4, r3]
|
|
mov r0, #1
|
|
bl NNS_G3dGlbLightVector
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
strh r1, [r0]
|
|
strh r1, [r0, #2]
|
|
mov r1, #1
|
|
lsl r1, r1, #0xc
|
|
strh r1, [r0, #4]
|
|
add r0, sp, #4
|
|
add r1, r0, #0
|
|
bl VEC_Fx16Normalize
|
|
mov r0, #2
|
|
mov r1, #0
|
|
mov r3, #4
|
|
ldrsh r1, [r4, r1]
|
|
ldrsh r2, [r4, r0]
|
|
ldrsh r3, [r4, r3]
|
|
bl NNS_G3dGlbLightVector
|
|
ldr r1, _0225A978 ; =0x00007FFF
|
|
mov r0, #2
|
|
bl NNS_G3dGlbLightColor
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
strh r1, [r0]
|
|
strh r1, [r0, #2]
|
|
mov r1, #1
|
|
lsl r1, r1, #0xc
|
|
strh r1, [r0, #4]
|
|
add r0, sp, #4
|
|
add r1, r0, #0
|
|
bl VEC_Fx16Normalize
|
|
mov r1, #0
|
|
mov r2, #2
|
|
mov r3, #4
|
|
ldrsh r1, [r4, r1]
|
|
ldrsh r2, [r4, r2]
|
|
ldrsh r3, [r4, r3]
|
|
mov r0, #3
|
|
bl NNS_G3dGlbLightVector
|
|
ldr r1, _0225A978 ; =0x00007FFF
|
|
mov r0, #3
|
|
bl NNS_G3dGlbLightColor
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_0225A964: .word 0x04000008
|
|
_0225A968: .word 0xFFFFCFFD
|
|
_0225A96C: .word 0x0000CFFB
|
|
_0225A970: .word ov49_02269754
|
|
_0225A974: .word 0x00006B5A
|
|
_0225A978: .word 0x00007FFF
|
|
_0225A97C: .word 0xBFFF0000
|
|
_0225A980: .word 0x04000580
|
|
_0225A984: .word 0xFFFFF224
|
|
_0225A988: .word 0xFFFFF805
|
|
thumb_func_end ov49_0225A854
|
|
|
|
thumb_func_start ov49_0225A98C
|
|
ov49_0225A98C: ; 0x0225A98C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x3e
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl ov49_02258B44
|
|
ldrb r0, [r4, #4]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
bne _0225A9B2
|
|
ldrb r0, [r4, #6]
|
|
cmp r0, #0
|
|
bne _0225A9B2
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl ov49_0225EF24
|
|
_0225A9B2:
|
|
mov r0, #0xf9
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov49_0225E318
|
|
ldrb r0, [r4, #4]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
bne _0225A9E8
|
|
ldrb r0, [r4, #6]
|
|
cmp r0, #0
|
|
bne _0225A9E8
|
|
mov r0, #0x3e
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl ov49_02258B5C
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl ov49_0225EF30
|
|
mov r0, #0xf7
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov49_02268870
|
|
_0225A9E8:
|
|
add r0, r4, #0
|
|
bl ov49_0225AA70
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0
|
|
bne _0225AA1E
|
|
ldrb r0, [r4, #4]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #1
|
|
beq _0225AA0A
|
|
ldrb r0, [r4, #6]
|
|
cmp r0, #1
|
|
beq _0225AA0A
|
|
ldrb r0, [r4]
|
|
cmp r0, #1
|
|
bne _0225AA0E
|
|
_0225AA0A:
|
|
mov r2, #1
|
|
b _0225AA10
|
|
_0225AA0E:
|
|
mov r2, #0
|
|
_0225AA10:
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r1, r4, #0
|
|
mov r3, #0x77
|
|
bl ov49_0225B518
|
|
_0225AA1E:
|
|
mov r0, #0xf5
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov49_02265378
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225A98C
|
|
|
|
thumb_func_start ov49_0225AA2C
|
|
ov49_0225AA2C: ; 0x0225AA2C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl Thunk_G3X_Reset
|
|
mov r0, #0xfb
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov49_0225CBF4
|
|
mov r0, #0xf9
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov49_0225E3A0
|
|
mov r0, #0x3e
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl ov49_02258BD4
|
|
mov r0, #0xf5
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov49_02265398
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl sub_02026E50
|
|
add r4, #0x3c
|
|
add r0, r4, #0
|
|
bl ov49_0225A7C0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225AA2C
|
|
|
|
thumb_func_start ov49_0225AA70
|
|
ov49_0225AA70: ; 0x0225AA70
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r7, r0, #0
|
|
ldr r0, [r7, #0x34]
|
|
bl ov45_0222A394
|
|
str r0, [sp, #8]
|
|
mov r4, #0
|
|
_0225AA80:
|
|
add r0, r4, #0
|
|
bl ov45_0222F274
|
|
add r6, r0, #0
|
|
cmp r6, #1
|
|
bne _0225AA9E
|
|
add r0, r4, #0
|
|
bl ov45_0222F294
|
|
cmp r0, #0
|
|
bne _0225AA9A
|
|
mov r5, #1
|
|
b _0225AAA0
|
|
_0225AA9A:
|
|
mov r5, #0
|
|
b _0225AAA0
|
|
_0225AA9E:
|
|
mov r5, #0
|
|
_0225AAA0:
|
|
add r0, r4, #0
|
|
bl ov45_0222F314
|
|
add r2, r0, #0
|
|
ldr r0, [sp, #8]
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0xf9
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
add r1, r4, #0
|
|
add r3, r6, #0
|
|
bl ov49_0225E8C4
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _0225AA80
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225AA70
|
|
|
|
thumb_func_start ov49_0225AAC8
|
|
ov49_0225AAC8: ; 0x0225AAC8
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x5e
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r1]
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
mov r3, #2
|
|
bl AddWindowParameterized
|
|
add r0, r5, #0
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
add r1, r6, #0
|
|
bl String_New
|
|
str r0, [r5, #0x18]
|
|
add r0, r4, #0
|
|
bl Save_PlayerData_GetOptionsAddr
|
|
bl Options_GetTextFrameDelay
|
|
str r0, [r5, #0x14]
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end ov49_0225AAC8
|
|
|
|
thumb_func_start ov49_0225AB14
|
|
ov49_0225AB14: ; 0x0225AB14
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
beq _0225AB30
|
|
ldr r0, [r4, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_020200A0
|
|
_0225AB30:
|
|
add r0, r4, #0
|
|
bl ov49_0225AC38
|
|
ldr r0, [r4, #0x18]
|
|
bl String_Delete
|
|
add r0, r4, #0
|
|
bl RemoveWindow
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_0225AB14
|
|
|
|
thumb_func_start ov49_0225AB44
|
|
ov49_0225AB44: ; 0x0225AB44
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
beq _0225AB64
|
|
ldr r0, [r5, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_020200A0
|
|
_0225AB64:
|
|
add r0, r5, #0
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r5, #0x18]
|
|
add r1, r4, #0
|
|
bl String_Copy
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0x14]
|
|
mov r1, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225ABA0 ; =0x0001020F
|
|
str r0, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
ldr r2, [r5, #0x18]
|
|
add r0, r5, #0
|
|
bl AddTextPrinterParameterized2
|
|
mov r1, #1
|
|
str r0, [r5, #0x10]
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl DrawFrameAndWindow2
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225ABA0: .word 0x0001020F
|
|
thumb_func_end ov49_0225AB44
|
|
|
|
thumb_func_start ov49_0225ABA4
|
|
ov49_0225ABA4: ; 0x0225ABA4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
beq _0225ABC4
|
|
ldr r0, [r5, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_020200A0
|
|
_0225ABC4:
|
|
add r0, r5, #0
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r5, #0x18]
|
|
add r1, r4, #0
|
|
bl String_Copy
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225AC04 ; =0x0001020F
|
|
mov r1, #1
|
|
str r0, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
ldr r2, [r5, #0x18]
|
|
add r0, r5, #0
|
|
bl AddTextPrinterParameterized2
|
|
mov r1, #1
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl DrawFrameAndWindow2
|
|
add r0, r5, #0
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225AC04: .word 0x0001020F
|
|
thumb_func_end ov49_0225ABA4
|
|
|
|
thumb_func_start ov49_0225AC08
|
|
ov49_0225AC08: ; 0x0225AC08
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #0
|
|
beq _0225AC16
|
|
bl GF_AssertFail
|
|
_0225AC16:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl WaitingIcon_New
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225AC08
|
|
|
|
thumb_func_start ov49_0225AC24
|
|
ov49_0225AC24: ; 0x0225AC24
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #0
|
|
beq _0225AC36
|
|
bl sub_0200F450
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
_0225AC36:
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_0225AC24
|
|
|
|
thumb_func_start ov49_0225AC38
|
|
ov49_0225AC38: ; 0x0225AC38
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #0
|
|
beq _0225AC4A
|
|
bl sub_0200F478
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
_0225AC4A:
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_0225AC38
|
|
|
|
thumb_func_start ov49_0225AC4C
|
|
ov49_0225AC4C: ; 0x0225AC4C
|
|
ldr r0, [r0, #0x1c]
|
|
cmp r0, #0
|
|
beq _0225AC56
|
|
mov r0, #1
|
|
bx lr
|
|
_0225AC56:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225AC4C
|
|
|
|
thumb_func_start ov49_0225AC5C
|
|
ov49_0225AC5C: ; 0x0225AC5C
|
|
push {r3, lr}
|
|
ldr r0, [r0, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
bne _0225AC70
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0225AC70:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov49_0225AC5C
|
|
|
|
thumb_func_start ov49_0225AC74
|
|
ov49_0225AC74: ; 0x0225AC74
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
beq _0225AC90
|
|
ldr r0, [r4, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_020200A0
|
|
_0225AC90:
|
|
add r0, r4, #0
|
|
bl ov49_0225AC38
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r4, #0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225AC74
|
|
|
|
thumb_func_start ov49_0225ACA8
|
|
ov49_0225ACA8: ; 0x0225ACA8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov49_0225AAC8
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl SetWindowPaletteNum
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225ACA8
|
|
|
|
thumb_func_start ov49_0225ACBC
|
|
ov49_0225ACBC: ; 0x0225ACBC
|
|
ldr r3, _0225ACC0 ; =ov49_0225AB14
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225ACC0: .word ov49_0225AB14
|
|
thumb_func_end ov49_0225ACBC
|
|
|
|
thumb_func_start ov49_0225ACC4
|
|
ov49_0225ACC4: ; 0x0225ACC4
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
beq _0225ACE4
|
|
ldr r0, [r5, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_020200A0
|
|
_0225ACE4:
|
|
add r0, r5, #0
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r5, #0x18]
|
|
add r1, r4, #0
|
|
bl String_Copy
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0x14]
|
|
mov r1, #1
|
|
str r0, [sp, #4]
|
|
str r3, [sp, #8]
|
|
ldr r2, [r5, #0x18]
|
|
add r0, r5, #0
|
|
bl AddTextPrinterParameterized
|
|
str r0, [r5, #0x10]
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0x1f
|
|
mov r3, #2
|
|
bl DrawFrameAndWindow3
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225ACC4
|
|
|
|
thumb_func_start ov49_0225AD20
|
|
ov49_0225AD20: ; 0x0225AD20
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x70
|
|
add r5, r2, #0
|
|
add r7, r0, #0
|
|
add r4, r1, #0
|
|
mov r0, #0x3c
|
|
add r1, r5, #0
|
|
bl NARC_New
|
|
add r6, r0, #0
|
|
ldr r0, _0225AE44 ; =0x00001388
|
|
add r1, r6, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x13
|
|
str r5, [sp, #8]
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r2, #4
|
|
mov r3, #0
|
|
bl AddCharResObjFromOpenNarc
|
|
str r0, [r7, #0x40]
|
|
ldr r0, _0225AE44 ; =0x00001388
|
|
add r1, r6, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x4d
|
|
str r5, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r2, #0xa
|
|
mov r3, #0
|
|
bl AddPlttResObjFromOpenNarc
|
|
str r0, [r7, #0x44]
|
|
ldr r1, _0225AE44 ; =0x00001388
|
|
mov r0, #2
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
lsr r0, r1, #4
|
|
str r5, [sp, #8]
|
|
ldr r0, [r4, r0]
|
|
add r1, r6, #0
|
|
mov r2, #5
|
|
mov r3, #0
|
|
bl AddCellOrAnimResObjFromOpenNarc
|
|
str r0, [r7, #0x48]
|
|
ldr r0, _0225AE44 ; =0x00001388
|
|
add r1, r6, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x4f
|
|
str r5, [sp, #8]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r2, #6
|
|
mov r3, #0
|
|
bl AddCellOrAnimResObjFromOpenNarc
|
|
str r0, [r7, #0x4c]
|
|
add r0, r6, #0
|
|
bl NARC_Delete
|
|
ldr r0, [r7, #0x40]
|
|
bl sub_0200ADA4
|
|
ldr r0, [r7, #0x44]
|
|
bl sub_0200B00C
|
|
ldr r1, _0225AE44 ; =0x00001388
|
|
mov r0, #0
|
|
str r1, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r0, #0x13
|
|
str r2, [sp, #0x10]
|
|
lsl r0, r0, #4
|
|
ldr r3, [r4, r0]
|
|
str r3, [sp, #0x14]
|
|
add r3, r0, #4
|
|
ldr r3, [r4, r3]
|
|
str r3, [sp, #0x18]
|
|
add r3, r0, #0
|
|
add r3, #8
|
|
ldr r3, [r4, r3]
|
|
add r0, #0xc
|
|
str r3, [sp, #0x1c]
|
|
ldr r0, [r4, r0]
|
|
add r3, r1, #0
|
|
str r0, [sp, #0x20]
|
|
str r2, [sp, #0x24]
|
|
str r2, [sp, #0x28]
|
|
add r0, sp, #0x4c
|
|
add r2, r1, #0
|
|
bl CreateSpriteResourcesHeader
|
|
ldr r0, [r4, #4]
|
|
mov r6, #0
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x4c
|
|
str r0, [sp, #0x30]
|
|
mov r0, #1
|
|
str r0, [sp, #0x44]
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
str r5, [sp, #0x48]
|
|
ldr r4, _0225AE48 ; =ov49_022696E8
|
|
str r6, [sp, #0x40]
|
|
str r0, [sp, #0x34]
|
|
add r5, r7, #0
|
|
_0225AE0E:
|
|
ldrb r0, [r4]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x2c
|
|
bl sub_02024714
|
|
str r0, [r5, #0x50]
|
|
add r1, r6, #0
|
|
bl Set2dSpriteAnimSeqNo
|
|
ldr r0, [r5, #0x50]
|
|
mov r1, #1
|
|
bl Set2dSpriteAnimActiveFlag
|
|
ldr r0, [r5, #0x50]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r6, r6, #1
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r6, #2
|
|
blt _0225AE0E
|
|
mov r0, #0
|
|
str r0, [r7, #0x3c]
|
|
add sp, #0x70
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225AE44: .word 0x00001388
|
|
_0225AE48: .word ov49_022696E8
|
|
thumb_func_end ov49_0225AD20
|
|
|
|
thumb_func_start ov49_0225AE4C
|
|
ov49_0225AE4C: ; 0x0225AE4C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
ldr r1, [r5, #0x34]
|
|
cmp r1, #0
|
|
beq _0225AE5C
|
|
bl ov49_0225AEE0
|
|
_0225AE5C:
|
|
ldr r0, [r5, #0x30]
|
|
cmp r0, #0
|
|
beq _0225AE6C
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225B014
|
|
_0225AE6C:
|
|
mov r7, #0
|
|
add r4, r5, #0
|
|
_0225AE70:
|
|
ldr r0, [r4, #0x50]
|
|
bl Sprite_Delete
|
|
mov r0, #0
|
|
str r0, [r4, #0x50]
|
|
add r7, r7, #1
|
|
add r4, r4, #4
|
|
cmp r7, #2
|
|
blt _0225AE70
|
|
ldr r0, [r5, #0x40]
|
|
bl sub_0200AEB0
|
|
ldr r0, [r5, #0x44]
|
|
bl sub_0200B0A8
|
|
mov r7, #0x13
|
|
mov r4, #0
|
|
lsl r7, r7, #4
|
|
_0225AE94:
|
|
ldr r0, [r6, r7]
|
|
ldr r1, [r5, #0x40]
|
|
bl DestroySingle2DGfxResObj
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
add r6, r6, #4
|
|
cmp r4, #4
|
|
blt _0225AE94
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225AE4C
|
|
|
|
thumb_func_start ov49_0225AEA8
|
|
ov49_0225AEA8: ; 0x0225AEA8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x34]
|
|
add r4, r1, #0
|
|
add r7, r2, #0
|
|
add r6, r3, #0
|
|
cmp r0, #0
|
|
beq _0225AEBC
|
|
bl GF_AssertFail
|
|
_0225AEBC:
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl ListMenuItems_New
|
|
str r0, [r5, #0x34]
|
|
mov r1, #0
|
|
strh r4, [r5, #0x38]
|
|
cmp r4, #0
|
|
bls _0225AEDE
|
|
add r2, r1, #0
|
|
_0225AED0:
|
|
ldr r0, [r5, #0x34]
|
|
add r1, r1, #1
|
|
add r0, r0, r2
|
|
str r6, [r0, #4]
|
|
add r2, #8
|
|
cmp r1, r4
|
|
blo _0225AED0
|
|
_0225AEDE:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225AEA8
|
|
|
|
thumb_func_start ov49_0225AEE0
|
|
ov49_0225AEE0: ; 0x0225AEE0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
beq _0225AEF4
|
|
bl ListMenuItems_Delete
|
|
mov r0, #0
|
|
str r0, [r4, #0x34]
|
|
strh r0, [r4, #0x38]
|
|
_0225AEF4:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225AEE0
|
|
|
|
thumb_func_start ov49_0225AEF8
|
|
ov49_0225AEF8: ; 0x0225AEF8
|
|
ldr r3, _0225AF00 ; =ListMenuItems_AddItem
|
|
ldr r0, [r0, #0x34]
|
|
bx r3
|
|
nop
|
|
_0225AF00: .word ListMenuItems_AddItem
|
|
thumb_func_end ov49_0225AEF8
|
|
|
|
thumb_func_start ov49_0225AF04
|
|
ov49_0225AF04: ; 0x0225AF04
|
|
ldr r0, [r0, #0x34]
|
|
bx lr
|
|
thumb_func_end ov49_0225AF04
|
|
|
|
thumb_func_start ov49_0225AF08
|
|
ov49_0225AF08: ; 0x0225AF08
|
|
push {r3, r4}
|
|
ldrh r2, [r0, #0x38]
|
|
mov r3, #0
|
|
cmp r2, #0
|
|
ble _0225AF2A
|
|
ldr r4, [r0, #0x34]
|
|
_0225AF14:
|
|
ldr r2, [r4, #4]
|
|
cmp r1, r2
|
|
bne _0225AF20
|
|
mov r0, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
_0225AF20:
|
|
ldrh r2, [r0, #0x38]
|
|
add r3, r3, #1
|
|
add r4, #8
|
|
cmp r3, r2
|
|
blt _0225AF14
|
|
_0225AF2A:
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov49_0225AF08
|
|
|
|
thumb_func_start ov49_0225AF30
|
|
ov49_0225AF30: ; 0x0225AF30
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x30]
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
cmp r0, #0
|
|
beq _0225AF46
|
|
bl GF_AssertFail
|
|
_0225AF46:
|
|
ldrh r0, [r4, #0x12]
|
|
lsl r0, r0, #1
|
|
cmp r0, #0x12
|
|
blt _0225AF52
|
|
bl GF_AssertFail
|
|
_0225AF52:
|
|
add r3, r4, #0
|
|
add r2, r5, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
add r1, r5, #0
|
|
add r1, #0x20
|
|
str r1, [r5, #0xc]
|
|
ldrh r0, [r4, #0x10]
|
|
add r3, sp, #0x18
|
|
mov r2, #1
|
|
strh r0, [r5, #0x3a]
|
|
ldr r0, _0225AFD4 ; =ov49_0225B058
|
|
str r0, [r5, #4]
|
|
ldrb r0, [r3, #0x1c]
|
|
str r0, [sp]
|
|
add r0, sp, #0x38
|
|
ldrb r0, [r0]
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r4, #0x12]
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #5
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xca
|
|
str r0, [sp, #0x10]
|
|
ldrb r3, [r3, #0x18]
|
|
ldr r0, [r6]
|
|
bl AddWindowParameterized
|
|
add r0, r5, #0
|
|
add r0, #0x20
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
add r0, r5, #0
|
|
add r0, #0x20
|
|
mov r1, #1
|
|
mov r2, #0x55
|
|
mov r3, #3
|
|
bl DrawFrameAndWindow1
|
|
add r2, sp, #0x18
|
|
ldr r3, [sp, #0x2c]
|
|
ldrh r2, [r2, #0x10]
|
|
lsl r3, r3, #0x18
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
lsr r3, r3, #0x18
|
|
bl ListMenuInit
|
|
str r0, [r5, #0x30]
|
|
add r5, #0x20
|
|
add r0, r5, #0
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225AFD4: .word ov49_0225B058
|
|
thumb_func_end ov49_0225AF30
|
|
|
|
thumb_func_start ov49_0225AFD8
|
|
ov49_0225AFD8: ; 0x0225AFD8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x30]
|
|
cmp r0, #0
|
|
bne _0225AFE8
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_0225AFE8:
|
|
bl ListMenu_ProcessInput
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _0225AFFC
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
bne _0225B004
|
|
_0225AFFC:
|
|
add r0, r5, #0
|
|
bl ov49_0225B070
|
|
b _0225B00A
|
|
_0225B004:
|
|
ldr r0, _0225B010 ; =0x000005DC
|
|
bl PlaySE
|
|
_0225B00A:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225B010: .word 0x000005DC
|
|
thumb_func_end ov49_0225AFD8
|
|
|
|
thumb_func_start ov49_0225B014
|
|
ov49_0225B014: ; 0x0225B014
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x30]
|
|
cmp r0, #0
|
|
beq _0225B056
|
|
bl DestroyListMenu
|
|
mov r0, #0
|
|
str r0, [r5, #0x30]
|
|
add r0, r5, #0
|
|
add r0, #0x20
|
|
mov r1, #1
|
|
bl sub_0200E5D4
|
|
add r0, r5, #0
|
|
add r0, #0x20
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
add r0, r5, #0
|
|
add r0, #0x20
|
|
bl RemoveWindow
|
|
mov r4, #0
|
|
str r4, [r5, #0x3c]
|
|
add r6, r4, #0
|
|
_0225B046:
|
|
ldr r0, [r5, #0x50]
|
|
add r1, r6, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _0225B046
|
|
_0225B056:
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_0225B014
|
|
|
|
thumb_func_start ov49_0225B058
|
|
ov49_0225B058: ; 0x0225B058
|
|
push {r3, lr}
|
|
cmp r2, #0
|
|
bne _0225B064
|
|
ldr r0, _0225B068 ; =0x000005DC
|
|
bl PlaySE
|
|
_0225B064:
|
|
pop {r3, pc}
|
|
nop
|
|
_0225B068: .word 0x000005DC
|
|
thumb_func_end ov49_0225B058
|
|
|
|
thumb_func_start ov49_0225B06C
|
|
ov49_0225B06C: ; 0x0225B06C
|
|
str r1, [r0, #0x3c]
|
|
bx lr
|
|
thumb_func_end ov49_0225B06C
|
|
|
|
thumb_func_start ov49_0225B070
|
|
ov49_0225B070: ; 0x0225B070
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x3c]
|
|
cmp r0, #0
|
|
bne _0225B090
|
|
ldr r0, [r4, #0x50]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
ldr r0, [r4, #0x54]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
_0225B090:
|
|
ldr r0, [r4, #0x30]
|
|
add r1, sp, #0
|
|
mov r2, #0
|
|
bl ListMenuGetScrollAndRow
|
|
add r0, sp, #0
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
ldr r0, [r4, #0x50]
|
|
bne _0225B0AC
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
b _0225B0B2
|
|
_0225B0AC:
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
_0225B0B2:
|
|
add r0, sp, #0
|
|
ldrh r1, [r0]
|
|
ldrh r0, [r4, #0x3a]
|
|
sub r0, r0, #7
|
|
cmp r1, r0
|
|
ldr r0, [r4, #0x54]
|
|
blt _0225B0CA
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
_0225B0CA:
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov49_0225B070
|
|
|
|
thumb_func_start ov49_0225B0D4
|
|
ov49_0225B0D4: ; 0x0225B0D4
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225B0D4
|
|
|
|
thumb_func_start ov49_0225B0D8
|
|
ov49_0225B0D8: ; 0x0225B0D8
|
|
ldr r3, _0225B0DC ; =ov49_0225B124
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225B0DC: .word ov49_0225B124
|
|
thumb_func_end ov49_0225B0D8
|
|
|
|
thumb_func_start ov49_0225B0E0
|
|
ov49_0225B0E0: ; 0x0225B0E0
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
add r0, sp, #0x10
|
|
ldrb r2, [r0, #0x10]
|
|
str r2, [sp]
|
|
ldrb r2, [r0, #0x14]
|
|
str r2, [sp, #4]
|
|
ldrb r0, [r0, #0x18]
|
|
mov r2, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #5
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xca
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r1]
|
|
add r1, r4, #0
|
|
bl AddWindowParameterized
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x55
|
|
mov r3, #3
|
|
bl DrawFrameAndWindow1
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov49_0225B0E0
|
|
|
|
thumb_func_start ov49_0225B124
|
|
ov49_0225B124: ; 0x0225B124
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl WindowIsInUse
|
|
cmp r0, #1
|
|
bne _0225B144
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl sub_0200E5D4
|
|
add r0, r4, #0
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
add r0, r4, #0
|
|
bl RemoveWindow
|
|
_0225B144:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225B124
|
|
|
|
thumb_func_start ov49_0225B148
|
|
ov49_0225B148: ; 0x0225B148
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r6, r1, #0
|
|
str r3, [sp]
|
|
add r5, r2, #0
|
|
mov r1, #0xff
|
|
str r1, [sp, #4]
|
|
ldr r1, _0225B174 ; =0x0001020F
|
|
add r4, r0, #0
|
|
str r1, [sp, #8]
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
add r3, r5, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r4, #0
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0225B174: .word 0x0001020F
|
|
thumb_func_end ov49_0225B148
|
|
|
|
thumb_func_start ov49_0225B178
|
|
ov49_0225B178: ; 0x0225B178
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
str r3, [sp]
|
|
add r1, sp, #8
|
|
add r4, r2, #0
|
|
ldrh r1, [r1, #0x10]
|
|
add r2, r5, #0
|
|
add r3, r4, #0
|
|
str r1, [sp, #4]
|
|
mov r1, #0xf
|
|
bl FillWindowPixelRect
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225B178
|
|
|
|
thumb_func_start ov49_0225B198
|
|
ov49_0225B198: ; 0x0225B198
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
cmp r0, #0
|
|
beq _0225B1AA
|
|
bl GF_AssertFail
|
|
_0225B1AA:
|
|
mov r0, #2
|
|
add r1, r6, #0
|
|
bl ListMenuItems_New
|
|
str r0, [r5]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x43
|
|
bl ov49_0225B388
|
|
add r1, r0, #0
|
|
ldr r0, [r5]
|
|
mov r2, #0
|
|
bl ListMenuItems_AddItem
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x42
|
|
bl ov49_0225B388
|
|
add r1, r0, #0
|
|
ldr r0, [r5]
|
|
mov r2, #1
|
|
bl ListMenuItems_AddItem
|
|
ldr r3, _0225B1FC ; =ov49_022697AC
|
|
add r2, r5, #4
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
mov r0, #2
|
|
strh r0, [r5, #0x14]
|
|
ldr r0, [r5]
|
|
str r0, [r5, #4]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0225B1FC: .word ov49_022697AC
|
|
thumb_func_end ov49_0225B198
|
|
|
|
thumb_func_start ov49_0225B200
|
|
ov49_0225B200: ; 0x0225B200
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225B212
|
|
bl ListMenuItems_Delete
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
_0225B212:
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_0225B200
|
|
|
|
thumb_func_start ov49_0225B214
|
|
ov49_0225B214: ; 0x0225B214
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
mov r3, #4
|
|
add r4, r0, #0
|
|
str r3, [sp]
|
|
mov r0, #0x17
|
|
str r0, [sp, #4]
|
|
mov r0, #0x10
|
|
str r0, [sp, #8]
|
|
mov r0, #5
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x5e
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r1]
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
bl AddWindowParameterized
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov49_0225B214
|
|
|
|
thumb_func_start ov49_0225B244
|
|
ov49_0225B244: ; 0x0225B244
|
|
ldr r3, _0225B248 ; =RemoveWindow
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225B248: .word RemoveWindow
|
|
thumb_func_end ov49_0225B244
|
|
|
|
thumb_func_start ov49_0225B24C
|
|
ov49_0225B24C: ; 0x0225B24C
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r2, r1, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r3, #0xff
|
|
str r3, [sp, #4]
|
|
ldr r3, _0225B280 ; =0x0001020F
|
|
add r4, r0, #0
|
|
str r3, [sp, #8]
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x55
|
|
mov r3, #3
|
|
bl DrawFrameAndWindow1
|
|
add r0, r4, #0
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
nop
|
|
_0225B280: .word 0x0001020F
|
|
thumb_func_end ov49_0225B24C
|
|
|
|
thumb_func_start ov49_0225B284
|
|
ov49_0225B284: ; 0x0225B284
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
bl sub_020392D8
|
|
add r4, r0, #0
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #4]
|
|
bl ov45_0222D7CC
|
|
add r7, r0, #0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldr r1, [r4]
|
|
add r0, r5, #0
|
|
mov r2, #5
|
|
mov r3, #0
|
|
bl ov49_0225B3A8
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
add r2, r7, #0
|
|
bl ov49_0225B388
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl ov49_0225B24C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225B284
|
|
|
|
thumb_func_start ov49_0225B2C0
|
|
ov49_0225B2C0: ; 0x0225B2C0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl ov45_0222E7FC
|
|
add r1, r0, #0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #5
|
|
mov r3, #0
|
|
bl ov49_0225B3A8
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
mov r2, #0x20
|
|
bl ov49_0225B388
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225B24C
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0225B2C0
|
|
|
|
thumb_func_start ov49_0225B2F0
|
|
ov49_0225B2F0: ; 0x0225B2F0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, r1, #0
|
|
mov r1, #2
|
|
mov r2, #0xe
|
|
bl ov49_0225B388
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225B24C
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_0225B2F0
|
|
|
|
thumb_func_start ov49_0225B308
|
|
ov49_0225B308: ; 0x0225B308
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r1, #0
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
mov r1, #0x40
|
|
add r2, r7, #0
|
|
bl MessageFormat_New_Custom
|
|
ldr r1, [sp]
|
|
ldr r4, _0225B358 ; =ov49_02269714
|
|
str r0, [r1]
|
|
mov r6, #0
|
|
add r5, r1, #0
|
|
_0225B322:
|
|
ldr r2, [r4]
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
add r3, r7, #0
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r5, #4]
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, r5, #4
|
|
cmp r6, #4
|
|
blt _0225B322
|
|
mov r0, #0x1e
|
|
lsl r0, r0, #4
|
|
add r1, r7, #0
|
|
bl String_New
|
|
ldr r1, [sp]
|
|
str r0, [r1, #0x14]
|
|
mov r0, #0x1e
|
|
lsl r0, r0, #4
|
|
add r1, r7, #0
|
|
bl String_New
|
|
ldr r1, [sp]
|
|
str r0, [r1, #0x18]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225B358: .word ov49_02269714
|
|
thumb_func_end ov49_0225B308
|
|
|
|
thumb_func_start ov49_0225B35C
|
|
ov49_0225B35C: ; 0x0225B35C
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r6]
|
|
bl MessageFormat_Delete
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_0225B36A:
|
|
ldr r0, [r5, #4]
|
|
bl DestroyMsgData
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _0225B36A
|
|
ldr r0, [r6, #0x14]
|
|
bl String_Delete
|
|
ldr r0, [r6, #0x18]
|
|
bl String_Delete
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225B35C
|
|
|
|
thumb_func_start ov49_0225B388
|
|
ov49_0225B388: ; 0x0225B388
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
lsl r0, r1, #2
|
|
add r0, r4, r0
|
|
add r1, r2, #0
|
|
ldr r0, [r0, #4]
|
|
ldr r2, [r4, #0x18]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #0x14]
|
|
ldr r2, [r4, #0x18]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, [r4, #0x14]
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_0225B388
|
|
|
|
thumb_func_start ov49_0225B3A8
|
|
ov49_0225B3A8: ; 0x0225B3A8
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
ldr r1, [sp, #0x18]
|
|
add r4, r2, #0
|
|
str r1, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
add r1, r3, #0
|
|
ldr r0, [r0]
|
|
add r2, r5, #0
|
|
add r3, r4, #0
|
|
bl BufferIntegerAsString
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0225B3A8
|
|
|
|
thumb_func_start ov49_0225B3C8
|
|
ov49_0225B3C8: ; 0x0225B3C8
|
|
add r3, r1, #0
|
|
add r1, r2, #0
|
|
add r2, r3, #0
|
|
ldr r3, _0225B3D4 ; =BufferPlayersName
|
|
ldr r0, [r0]
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225B3D4: .word BufferPlayersName
|
|
thumb_func_end ov49_0225B3C8
|
|
|
|
thumb_func_start ov49_0225B3D8
|
|
ov49_0225B3D8: ; 0x0225B3D8
|
|
add r3, r1, #0
|
|
add r1, r2, #0
|
|
add r2, r3, #0
|
|
ldr r3, _0225B3E4 ; =BufferWiFiPlazaActivityName
|
|
ldr r0, [r0]
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225B3E4: .word BufferWiFiPlazaActivityName
|
|
thumb_func_end ov49_0225B3D8
|
|
|
|
thumb_func_start ov49_0225B3E8
|
|
ov49_0225B3E8: ; 0x0225B3E8
|
|
add r3, r1, #0
|
|
add r1, r2, #0
|
|
add r2, r3, #0
|
|
ldr r3, _0225B3F4 ; =BufferWiFiPlazaEventName
|
|
ldr r0, [r0]
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225B3F4: .word BufferWiFiPlazaEventName
|
|
thumb_func_end ov49_0225B3E8
|
|
|
|
thumb_func_start ov49_0225B3F8
|
|
ov49_0225B3F8: ; 0x0225B3F8
|
|
add r3, r1, #0
|
|
add r1, r2, #0
|
|
add r2, r3, #0
|
|
ldr r3, _0225B404 ; =BufferWiFiPlazaInstrumentName
|
|
ldr r0, [r0]
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225B404: .word BufferWiFiPlazaInstrumentName
|
|
thumb_func_end ov49_0225B3F8
|
|
|
|
thumb_func_start ov49_0225B408
|
|
ov49_0225B408: ; 0x0225B408
|
|
add r3, r1, #0
|
|
add r1, r2, #0
|
|
add r2, r3, #0
|
|
ldr r3, _0225B414 ; =BufferCountryName
|
|
ldr r0, [r0]
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225B414: .word BufferCountryName
|
|
thumb_func_end ov49_0225B408
|
|
|
|
thumb_func_start ov49_0225B418
|
|
ov49_0225B418: ; 0x0225B418
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
add r1, r3, #0
|
|
ldr r0, [r0]
|
|
add r2, r5, #0
|
|
add r3, r4, #0
|
|
bl BufferCityName
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0225B418
|
|
|
|
thumb_func_start ov49_0225B42C
|
|
ov49_0225B42C: ; 0x0225B42C
|
|
ldr r3, _0225B434 ; =BufferECWord
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_0225B434: .word BufferECWord
|
|
thumb_func_end ov49_0225B42C
|
|
|
|
thumb_func_start ov49_0225B438
|
|
ov49_0225B438: ; 0x0225B438
|
|
ldr r3, _0225B440 ; =MessageFormat_ResetBuffers
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_0225B440: .word MessageFormat_ResetBuffers
|
|
thumb_func_end ov49_0225B438
|
|
|
|
thumb_func_start ov49_0225B444
|
|
ov49_0225B444: ; 0x0225B444
|
|
mov r1, #0xf6
|
|
mov r2, #1
|
|
lsl r1, r1, #2
|
|
str r2, [r0, r1]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225B444
|
|
|
|
thumb_func_start ov49_0225B450
|
|
ov49_0225B450: ; 0x0225B450
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
ldr r4, [sp, #0x20]
|
|
add r5, r0, #0
|
|
add r0, r3, #0
|
|
add r7, r1, #0
|
|
add r6, r2, #0
|
|
bl PlayerProfile_GetTrainerGender
|
|
str r0, [sp, #4]
|
|
mov r0, #0xd1
|
|
add r1, r4, #0
|
|
bl NARC_New
|
|
mov r2, #0x53
|
|
lsl r2, r2, #2
|
|
str r0, [r5, r2]
|
|
str r4, [sp]
|
|
ldr r2, [r5, r2]
|
|
ldr r3, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov49_0225BABC
|
|
mov r2, #0x53
|
|
lsl r2, r2, #2
|
|
add r0, r5, #0
|
|
ldr r2, [r5, r2]
|
|
add r0, #8
|
|
add r1, r6, #0
|
|
add r3, r4, #0
|
|
bl ov49_0225BB84
|
|
mov r2, #0x45
|
|
lsl r2, r2, #2
|
|
add r0, r5, r2
|
|
add r2, #0x38
|
|
ldr r2, [r5, r2]
|
|
add r1, r6, #0
|
|
add r3, r4, #0
|
|
bl ov49_0225C844
|
|
mov r1, #0
|
|
strb r1, [r5, #2]
|
|
strb r1, [r5, #1]
|
|
ldrh r0, [r7, #6]
|
|
cmp r0, #0
|
|
bne _0225B4DC
|
|
mov r0, #4
|
|
strb r1, [r5]
|
|
bl BG_SetMaskColor
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl GX_EngineBToggleLayers
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl GX_EngineBToggleLayers
|
|
mov r0, #4
|
|
mov r1, #0
|
|
bl GX_EngineBToggleLayers
|
|
mov r0, #8
|
|
mov r1, #0
|
|
bl GX_EngineBToggleLayers
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225B4DC:
|
|
mov r0, #5
|
|
strb r0, [r5]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225B450
|
|
|
|
thumb_func_start ov49_0225B4E4
|
|
ov49_0225B4E4: ; 0x0225B4E4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r6, r1, #0
|
|
add r4, r2, #0
|
|
bl ov49_0225C8A8
|
|
add r0, r5, #0
|
|
add r0, #8
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl ov49_0225BBA8
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_0225BB10
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl NARC_Delete
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225B4E4
|
|
|
|
thumb_func_start ov49_0225B518
|
|
ov49_0225B518: ; 0x0225B518
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x50
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
str r0, [sp, #0x38]
|
|
add r0, #0x3c
|
|
str r0, [sp, #0x38]
|
|
mov r0, #0xb7
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r4]
|
|
add r7, r3, #0
|
|
ldr r6, [r5, #0x34]
|
|
str r0, [sp, #0x3c]
|
|
cmp r1, #0xa
|
|
bhi _0225B5FA
|
|
add r0, r1, r1
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225B544: ; jump table
|
|
.short _0225B55A - _0225B544 - 2 ; case 0
|
|
.short _0225B568 - _0225B544 - 2 ; case 1
|
|
.short _0225B586 - _0225B544 - 2 ; case 2
|
|
.short _0225B5D4 - _0225B544 - 2 ; case 3
|
|
.short _0225B5F2 - _0225B544 - 2 ; case 4
|
|
.short _0225B606 - _0225B544 - 2 ; case 5
|
|
.short _0225B6E2 - _0225B544 - 2 ; case 6
|
|
.short _0225B700 - _0225B544 - 2 ; case 7
|
|
.short _0225B748 - _0225B544 - 2 ; case 8
|
|
.short _0225B84E - _0225B544 - 2 ; case 9
|
|
.short _0225B880 - _0225B544 - 2 ; case 10
|
|
_0225B55A:
|
|
ldrh r0, [r4, #6]
|
|
cmp r0, #1
|
|
bne _0225B5FA
|
|
add r0, r1, #1
|
|
add sp, #0x50
|
|
strb r0, [r4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225B568:
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r1, #0
|
|
ldr r3, _0225B890 ; =0x00007FFF
|
|
str r7, [sp, #8]
|
|
add r2, r1, #0
|
|
bl BeginNormalPaletteFade
|
|
ldrb r0, [r4]
|
|
add sp, #0x50
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225B586:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #1
|
|
bne _0225B5FA
|
|
add r0, r6, #0
|
|
bl ov45_0222A5C0
|
|
mov r2, #0xb7
|
|
lsl r2, r2, #2
|
|
str r0, [sp]
|
|
ldr r1, [sp, #0x38]
|
|
add r0, r4, #0
|
|
add r2, r5, r2
|
|
add r3, r7, #0
|
|
bl ov49_0225B9AC
|
|
mov r0, #4
|
|
strb r0, [r4, #1]
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl GX_EngineBToggleLayers
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl GX_EngineBToggleLayers
|
|
mov r0, #4
|
|
mov r1, #1
|
|
bl GX_EngineBToggleLayers
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineBToggleLayers
|
|
ldrb r0, [r4]
|
|
add sp, #0x50
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225B5D4:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldr r3, _0225B890 ; =0x00007FFF
|
|
str r7, [sp, #8]
|
|
mov r0, #4
|
|
add r2, r1, #0
|
|
bl BeginNormalPaletteFade
|
|
ldrb r0, [r4]
|
|
add sp, #0x50
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225B5F2:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #1
|
|
beq _0225B5FC
|
|
_0225B5FA:
|
|
b _0225B88C
|
|
_0225B5FC:
|
|
ldrb r0, [r4]
|
|
add sp, #0x50
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225B606:
|
|
cmp r2, #1
|
|
beq _0225B708
|
|
ldrb r0, [r4, #1]
|
|
cmp r0, #4
|
|
bhi _0225B6D2
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225B61C: ; jump table
|
|
.short _0225B6D2 - _0225B61C - 2 ; case 0
|
|
.short _0225B626 - _0225B61C - 2 ; case 1
|
|
.short _0225B6C2 - _0225B61C - 2 ; case 2
|
|
.short _0225B642 - _0225B61C - 2 ; case 3
|
|
.short _0225B6D2 - _0225B61C - 2 ; case 4
|
|
_0225B626:
|
|
mov r2, #0x45
|
|
lsl r2, r2, #2
|
|
add r0, r4, r2
|
|
add r2, #0x38
|
|
ldr r1, [sp, #0x38]
|
|
ldr r2, [r4, r2]
|
|
bl ov49_0225C8D4
|
|
cmp r0, #1
|
|
bne _0225B6D2
|
|
add r0, r5, #0
|
|
bl ov49_0225B444
|
|
b _0225B6D2
|
|
_0225B642:
|
|
ldr r2, _0225B894 ; =0x00000153
|
|
ldrb r0, [r4, r2]
|
|
cmp r0, #0
|
|
beq _0225B66E
|
|
sub r1, r2, #3
|
|
mov r0, #0xf7
|
|
sub r2, r2, #1
|
|
lsl r0, r0, #2
|
|
ldrh r1, [r4, r1]
|
|
ldrb r2, [r4, r2]
|
|
ldr r0, [r5, r0]
|
|
bl ov49_02268968
|
|
cmp r0, #0
|
|
bne _0225B66E
|
|
ldr r0, _0225B894 ; =0x00000153
|
|
mov r1, #0
|
|
strb r1, [r4, r0]
|
|
sub r0, #0x3f
|
|
add r0, r4, r0
|
|
bl ov49_0225CB68
|
|
_0225B66E:
|
|
mov r2, #0x45
|
|
lsl r2, r2, #2
|
|
add r0, r4, r2
|
|
add r2, #0x38
|
|
ldr r1, [sp, #0x38]
|
|
ldr r2, [r4, r2]
|
|
add r3, r7, #0
|
|
bl ov49_0225C8D4
|
|
cmp r0, #1
|
|
bne _0225B6D2
|
|
add r0, r6, #0
|
|
bl ov45_0222A53C
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl ov45_0222ADD8
|
|
add r0, r6, #0
|
|
bl ov45_0222AE54
|
|
add r0, r6, #0
|
|
bl ov45_0222A53C
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl ov45_0222ADA8
|
|
add r1, sp, #0x4c
|
|
add r2, sp, #0x48
|
|
bl ov45_0222AE08
|
|
ldr r0, _0225B894 ; =0x00000153
|
|
mov r1, #1
|
|
strb r1, [r4, r0]
|
|
sub r1, r0, #3
|
|
ldr r2, [sp, #0x4c]
|
|
sub r0, r0, #1
|
|
strh r2, [r4, r1]
|
|
ldr r1, [sp, #0x48]
|
|
strb r1, [r4, r0]
|
|
b _0225B6D2
|
|
_0225B6C2:
|
|
ldr r1, [sp, #0x3c]
|
|
add r0, r4, #0
|
|
add r1, #0x3c
|
|
str r1, [sp, #0x3c]
|
|
add r0, #8
|
|
add r1, r5, r1
|
|
bl ov49_0225BBCC
|
|
_0225B6D2:
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #0
|
|
beq _0225B708
|
|
ldrb r0, [r4]
|
|
add sp, #0x50
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225B6E2:
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r2, #0
|
|
str r7, [sp, #8]
|
|
mov r0, #4
|
|
add r3, r2, #0
|
|
bl BeginNormalPaletteFade
|
|
ldrb r0, [r4]
|
|
add sp, #0x50
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225B700:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #1
|
|
beq _0225B70A
|
|
_0225B708:
|
|
b _0225B88C
|
|
_0225B70A:
|
|
ldrb r0, [r4, #1]
|
|
cmp r0, #4
|
|
bhi _0225B73E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225B71C: ; jump table
|
|
.short _0225B73E - _0225B71C - 2 ; case 0
|
|
.short _0225B726 - _0225B71C - 2 ; case 1
|
|
.short _0225B730 - _0225B71C - 2 ; case 2
|
|
.short _0225B726 - _0225B71C - 2 ; case 3
|
|
.short _0225B726 - _0225B71C - 2 ; case 4
|
|
_0225B726:
|
|
ldr r1, [sp, #0x38]
|
|
add r0, r4, #0
|
|
bl ov49_0225BA20
|
|
b _0225B73E
|
|
_0225B730:
|
|
mov r1, #0xc6
|
|
lsl r1, r1, #2
|
|
ldr r2, [sp, #0x38]
|
|
add r0, r4, #0
|
|
add r1, r5, r1
|
|
bl ov49_0225B99C
|
|
_0225B73E:
|
|
ldrb r0, [r4]
|
|
add sp, #0x50
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225B748:
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #4
|
|
bhi _0225B840
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225B75A: ; jump table
|
|
.short _0225B840 - _0225B75A - 2 ; case 0
|
|
.short _0225B764 - _0225B75A - 2 ; case 1
|
|
.short _0225B77E - _0225B75A - 2 ; case 2
|
|
.short _0225B810 - _0225B75A - 2 ; case 3
|
|
.short _0225B764 - _0225B75A - 2 ; case 4
|
|
_0225B764:
|
|
add r0, r6, #0
|
|
bl ov45_0222A5C0
|
|
mov r2, #0xb7
|
|
lsl r2, r2, #2
|
|
str r0, [sp]
|
|
ldr r1, [sp, #0x38]
|
|
add r0, r4, #0
|
|
add r2, r5, r2
|
|
add r3, r7, #0
|
|
bl ov49_0225B9AC
|
|
b _0225B840
|
|
_0225B77E:
|
|
add r0, r6, #0
|
|
bl ov45_0222A5C0
|
|
str r0, [sp, #0x28]
|
|
ldrb r0, [r4, #3]
|
|
str r0, [sp, #0x24]
|
|
add r0, r6, #0
|
|
bl ov45_0222A53C
|
|
ldr r1, [sp, #0x24]
|
|
cmp r1, r0
|
|
bne _0225B7A4
|
|
add r0, r6, #0
|
|
bl ov45_0222A5C0
|
|
str r0, [sp, #0x20]
|
|
mov r0, #1
|
|
str r0, [sp, #0x2c]
|
|
b _0225B7B0
|
|
_0225B7A4:
|
|
add r0, r6, #0
|
|
bl ov45_0222A578
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0
|
|
str r0, [sp, #0x2c]
|
|
_0225B7B0:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r6, #0
|
|
bl ov45_0222AB28
|
|
str r0, [sp, #0x34]
|
|
ldrh r0, [r4, #4]
|
|
cmp r0, #1
|
|
bne _0225B7DC
|
|
ldrb r1, [r4, #3]
|
|
add r0, r6, #0
|
|
bl ov45_0222AB48
|
|
str r0, [sp, #0x30]
|
|
ldrb r1, [r4, #3]
|
|
add r0, r6, #0
|
|
bl ov45_0222AB58
|
|
cmp r0, #0
|
|
bne _0225B7E0
|
|
mov r1, #0
|
|
str r1, [sp, #0x30]
|
|
b _0225B7E0
|
|
_0225B7DC:
|
|
mov r0, #0
|
|
str r0, [sp, #0x30]
|
|
_0225B7E0:
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r3, [sp, #0x3c]
|
|
str r1, [sp]
|
|
ldr r1, [sp, #0x20]
|
|
str r7, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r1, [sp, #0x28]
|
|
ldr r2, [sp, #0x38]
|
|
str r1, [sp, #0xc]
|
|
ldr r1, [sp, #0x34]
|
|
add r3, r5, r3
|
|
str r1, [sp, #0x10]
|
|
ldr r1, [sp, #0x30]
|
|
str r1, [sp, #0x14]
|
|
mov r1, #0xc6
|
|
str r0, [sp, #0x18]
|
|
mov r0, #1
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #0x1c]
|
|
add r0, r4, #0
|
|
add r1, r5, r1
|
|
bl ov49_0225B944
|
|
b _0225B840
|
|
_0225B810:
|
|
add r0, r6, #0
|
|
bl ov45_0222A53C
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl ov45_0222ADA8
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _0225B82C
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
_0225B82C:
|
|
add r1, sp, #0x44
|
|
add r2, sp, #0x40
|
|
bl ov45_0222AE08
|
|
ldr r1, [sp, #0x38]
|
|
ldr r3, [sp, #0x40]
|
|
add r0, r4, #0
|
|
add r2, r7, #0
|
|
bl ov49_0225B9F0
|
|
_0225B840:
|
|
mov r0, #0
|
|
strb r0, [r4, #2]
|
|
ldrb r0, [r4]
|
|
add sp, #0x50
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225B84E:
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
str r7, [sp, #8]
|
|
mov r0, #4
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl BeginNormalPaletteFade
|
|
ldrb r0, [r4, #1]
|
|
cmp r0, #2
|
|
bne _0225B876
|
|
mov r1, #0xc6
|
|
add r0, r4, #0
|
|
lsl r1, r1, #2
|
|
add r0, #8
|
|
add r1, r5, r1
|
|
bl ov49_0225BBCC
|
|
_0225B876:
|
|
ldrb r0, [r4]
|
|
add sp, #0x50
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225B880:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #1
|
|
bne _0225B88C
|
|
mov r0, #5
|
|
strb r0, [r4]
|
|
_0225B88C:
|
|
add sp, #0x50
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225B890: .word 0x00007FFF
|
|
_0225B894: .word 0x00000153
|
|
thumb_func_end ov49_0225B518
|
|
|
|
thumb_func_start ov49_0225B898
|
|
ov49_0225B898: ; 0x0225B898
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
thumb_func_end ov49_0225B898
|
|
|
|
thumb_func_start ov49_0225B89C
|
|
ov49_0225B89C: ; 0x0225B89C
|
|
mov r3, #2
|
|
strb r3, [r0, #2]
|
|
strb r1, [r0, #3]
|
|
strh r2, [r0, #4]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225B89C
|
|
|
|
thumb_func_start ov49_0225B8A8
|
|
ov49_0225B8A8: ; 0x0225B8A8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r7, r3, #0
|
|
cmp r4, #0x1b
|
|
blo _0225B8BA
|
|
bl GF_AssertFail
|
|
_0225B8BA:
|
|
ldrb r0, [r5, #1]
|
|
cmp r0, #2
|
|
beq _0225B8C4
|
|
bl GF_AssertFail
|
|
_0225B8C4:
|
|
ldrb r0, [r5, #1]
|
|
cmp r0, #2
|
|
bne _0225B8DE
|
|
mov r2, #0x53
|
|
str r4, [sp]
|
|
lsl r2, r2, #2
|
|
add r0, r5, #0
|
|
ldr r2, [r5, r2]
|
|
add r0, #8
|
|
add r1, r6, #0
|
|
add r3, r7, #0
|
|
bl ov49_0225BFC4
|
|
_0225B8DE:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225B8A8
|
|
|
|
thumb_func_start ov49_0225B8E0
|
|
ov49_0225B8E0: ; 0x0225B8E0
|
|
ldrb r1, [r0, #1]
|
|
cmp r1, #1
|
|
beq _0225B8EA
|
|
mov r1, #1
|
|
strb r1, [r0, #2]
|
|
_0225B8EA:
|
|
bx lr
|
|
thumb_func_end ov49_0225B8E0
|
|
|
|
thumb_func_start ov49_0225B8EC
|
|
ov49_0225B8EC: ; 0x0225B8EC
|
|
ldrb r1, [r0, #1]
|
|
cmp r1, #3
|
|
beq _0225B8F6
|
|
mov r1, #3
|
|
strb r1, [r0, #2]
|
|
_0225B8F6:
|
|
bx lr
|
|
thumb_func_end ov49_0225B8EC
|
|
|
|
thumb_func_start ov49_0225B8F8
|
|
ov49_0225B8F8: ; 0x0225B8F8
|
|
ldrb r0, [r0, #3]
|
|
bx lr
|
|
thumb_func_end ov49_0225B8F8
|
|
|
|
thumb_func_start ov49_0225B8FC
|
|
ov49_0225B8FC: ; 0x0225B8FC
|
|
ldrb r1, [r0, #2]
|
|
cmp r1, #2
|
|
bne _0225B906
|
|
mov r0, #1
|
|
bx lr
|
|
_0225B906:
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #2
|
|
bne _0225B910
|
|
mov r0, #1
|
|
bx lr
|
|
_0225B910:
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end ov49_0225B8FC
|
|
|
|
thumb_func_start ov49_0225B914
|
|
ov49_0225B914: ; 0x0225B914
|
|
ldrb r1, [r0, #2]
|
|
cmp r1, #0
|
|
bne _0225B924
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #2
|
|
bne _0225B924
|
|
mov r0, #1
|
|
bx lr
|
|
_0225B924:
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end ov49_0225B914
|
|
|
|
thumb_func_start ov49_0225B928
|
|
ov49_0225B928: ; 0x0225B928
|
|
ldr r3, _0225B930 ; =ov49_0225BFEC
|
|
add r0, #8
|
|
bx r3
|
|
nop
|
|
_0225B930: .word ov49_0225BFEC
|
|
thumb_func_end ov49_0225B928
|
|
|
|
thumb_func_start ov49_0225B934
|
|
ov49_0225B934: ; 0x0225B934
|
|
ldrb r0, [r0, #2]
|
|
cmp r0, #0
|
|
beq _0225B93E
|
|
mov r0, #1
|
|
bx lr
|
|
_0225B93E:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225B934
|
|
|
|
thumb_func_start ov49_0225B944
|
|
ov49_0225B944: ; 0x0225B944
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r0, #0
|
|
add r4, r3, #0
|
|
ldrb r3, [r5, #1]
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
cmp r3, #2
|
|
bne _0225B95A
|
|
bl ov49_0225B99C
|
|
_0225B95A:
|
|
ldr r0, [sp, #0x40]
|
|
str r4, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r2, r5, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x44]
|
|
add r1, r6, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x48]
|
|
add r2, #8
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x4c]
|
|
add r3, r7, #0
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x50]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x54]
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x58]
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x5c]
|
|
str r0, [sp, #0x24]
|
|
add r0, r5, #0
|
|
bl ov49_0225BBD0
|
|
mov r0, #2
|
|
strb r0, [r5, #1]
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225B944
|
|
|
|
thumb_func_start ov49_0225B99C
|
|
ov49_0225B99C: ; 0x0225B99C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #8
|
|
bl ov49_0225BF80
|
|
mov r0, #0
|
|
strb r0, [r4, #1]
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_0225B99C
|
|
|
|
thumb_func_start ov49_0225B9AC
|
|
ov49_0225B9AC: ; 0x0225B9AC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldrb r0, [r5, #1]
|
|
add r4, r1, #0
|
|
add r7, r2, #0
|
|
add r6, r3, #0
|
|
cmp r0, #1
|
|
beq _0225B9C8
|
|
add r0, #0xfd
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _0225B9D0
|
|
_0225B9C8:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_0225BA20
|
|
_0225B9D0:
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
sub r0, #0x38
|
|
str r1, [sp]
|
|
ldr r3, [sp, #0x20]
|
|
add r0, r5, r0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
str r6, [sp, #4]
|
|
bl ov49_0225C970
|
|
mov r0, #1
|
|
strb r0, [r5, #1]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225B9AC
|
|
|
|
thumb_func_start ov49_0225B9F0
|
|
ov49_0225B9F0: ; 0x0225B9F0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
ldrb r2, [r5, #1]
|
|
add r6, r1, #0
|
|
add r7, r3, #0
|
|
cmp r2, #3
|
|
bne _0225BA04
|
|
bl ov49_0225BA20
|
|
_0225BA04:
|
|
mov r3, #0x45
|
|
lsl r3, r3, #2
|
|
add r0, r5, r3
|
|
str r4, [sp]
|
|
add r3, #0x38
|
|
ldr r3, [r5, r3]
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl ov49_0225CA30
|
|
mov r0, #3
|
|
strb r0, [r5, #1]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225B9F0
|
|
|
|
thumb_func_start ov49_0225BA20
|
|
ov49_0225BA20: ; 0x0225BA20
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov49_0225CAA8
|
|
mov r0, #0
|
|
strb r0, [r4, #1]
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_0225BA20
|
|
|
|
thumb_func_start ov49_0225BA34
|
|
ov49_0225BA34: ; 0x0225BA34
|
|
ldr r2, _0225BA3C ; =0x0000011A
|
|
strh r1, [r0, r2]
|
|
bx lr
|
|
nop
|
|
_0225BA3C: .word 0x0000011A
|
|
thumb_func_end ov49_0225BA34
|
|
|
|
thumb_func_start ov49_0225BA40
|
|
ov49_0225BA40: ; 0x0225BA40
|
|
add r1, r0, #0
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
strh r2, [r1, r0]
|
|
add r0, r0, #2
|
|
strh r3, [r1, r0]
|
|
ldr r3, _0225BA54 ; =sub_0200E374
|
|
ldr r0, _0225BA58 ; =ov49_0225BA5C
|
|
mov r2, #0
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225BA54: .word sub_0200E374
|
|
_0225BA58: .word ov49_0225BA5C
|
|
thumb_func_end ov49_0225BA40
|
|
|
|
thumb_func_start ov49_0225BA5C
|
|
ov49_0225BA5C: ; 0x0225BA5C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
mov r3, #0
|
|
ldr r1, _0225BAB8 ; =0x00000156
|
|
str r3, [sp]
|
|
add r5, r0, #0
|
|
ldrh r0, [r4, r1]
|
|
mov r2, #4
|
|
str r0, [sp, #4]
|
|
add r0, r1, #0
|
|
sub r1, r1, #2
|
|
sub r0, #0xa
|
|
ldrh r1, [r4, r1]
|
|
ldr r0, [r4, r0]
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
mov r1, #0xa0
|
|
add r2, r1, #0
|
|
add r2, #0xb6
|
|
ldrh r2, [r4, r2]
|
|
mov r0, #4
|
|
bl LoadFontPal0
|
|
bl sub_020776B4
|
|
add r6, r0, #0
|
|
bl sub_02077690
|
|
add r1, r0, #0
|
|
mov r0, #0x60
|
|
str r0, [sp]
|
|
add r0, #0xf6
|
|
ldrh r0, [r4, r0]
|
|
mov r3, #0x16
|
|
mov r2, #4
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
lsl r3, r3, #4
|
|
bl GfGfxLoader_GXLoadPal
|
|
add r0, r5, #0
|
|
bl DestroySysTask
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0225BAB8: .word 0x00000156
|
|
thumb_func_end ov49_0225BA5C
|
|
|
|
thumb_func_start ov49_0225BABC
|
|
ov49_0225BABC: ; 0x0225BABC
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r6, r1, #0
|
|
add r5, r2, #0
|
|
ldr r4, [sp, #0x20]
|
|
cmp r3, #0
|
|
bne _0225BADC
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x56
|
|
mov r2, #4
|
|
str r4, [sp, #4]
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
b _0225BAEC
|
|
_0225BADC:
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x57
|
|
mov r2, #4
|
|
str r4, [sp, #4]
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
_0225BAEC:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r6]
|
|
add r0, r5, #0
|
|
mov r1, #0x36
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #4
|
|
mov r1, #0xa0
|
|
add r2, r4, #0
|
|
bl LoadFontPal0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_0225BABC
|
|
|
|
thumb_func_start ov49_0225BB10
|
|
ov49_0225BB10: ; 0x0225BB10
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225BB10
|
|
|
|
thumb_func_start ov49_0225BB14
|
|
ov49_0225BB14: ; 0x0225BB14
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0x2c]
|
|
add r6, r3, #0
|
|
str r0, [sp]
|
|
add r0, r1, #0
|
|
add r1, r2, #0
|
|
mov r2, #0
|
|
add r3, sp, #0xc
|
|
ldr r4, [sp, #0x28]
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
ldr r2, [sp, #0xc]
|
|
add r7, r0, #0
|
|
ldr r0, [r2, #8]
|
|
add r2, #0xc
|
|
lsr r1, r0, #1
|
|
mov r0, #0
|
|
cmp r1, #0
|
|
ble _0225BB4C
|
|
_0225BB3E:
|
|
ldrh r3, [r2]
|
|
add r0, r0, #1
|
|
add r3, r3, r4
|
|
strh r3, [r2]
|
|
add r2, r2, #2
|
|
cmp r0, r1
|
|
blt _0225BB3E
|
|
_0225BB4C:
|
|
ldr r2, [sp, #0xc]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldrh r0, [r2]
|
|
lsl r1, r6, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r2, #2]
|
|
add r2, #0xc
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
bl LoadRectToBgTilemapRect
|
|
lsl r1, r6, #0x18
|
|
ldr r0, [r5]
|
|
lsr r1, r1, #0x18
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225BB14
|
|
|
|
thumb_func_start ov49_0225BB84
|
|
ov49_0225BB84: ; 0x0225BB84
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r4, _0225BBA4 ; =ov49_022697F4
|
|
add r7, r1, #0
|
|
mov r6, #0
|
|
add r5, r0, #4
|
|
_0225BB8E:
|
|
ldr r0, [r7]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl AddWindow
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
add r5, #0x10
|
|
cmp r6, #5
|
|
blt _0225BB8E
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225BBA4: .word ov49_022697F4
|
|
thumb_func_end ov49_0225BB84
|
|
|
|
thumb_func_start ov49_0225BBA8
|
|
ov49_0225BBA8: ; 0x0225BBA8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r3, [r4, #0x54]
|
|
cmp r3, #0
|
|
beq _0225BBB6
|
|
bl ov49_0225BF80
|
|
_0225BBB6:
|
|
mov r5, #0
|
|
add r4, r4, #4
|
|
_0225BBBA:
|
|
add r0, r4, #0
|
|
bl RemoveWindow
|
|
add r5, r5, #1
|
|
add r4, #0x10
|
|
cmp r5, #5
|
|
blt _0225BBBA
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225BBA8
|
|
|
|
thumb_func_start ov49_0225BBCC
|
|
ov49_0225BBCC: ; 0x0225BBCC
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225BBCC
|
|
|
|
thumb_func_start ov49_0225BBD0
|
|
ov49_0225BBD0: ; 0x0225BBD0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x30]
|
|
ldr r4, [sp, #0x28]
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [sp, #0x34]
|
|
add r5, r2, #0
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [sp, #0x38]
|
|
add r6, r3, #0
|
|
str r0, [sp, #0x38]
|
|
add r0, r4, #0
|
|
bl ov49_0225B438
|
|
ldr r0, [sp, #0x38]
|
|
bl ov45_0222A9CC
|
|
cmp r0, #0
|
|
bne _0225BC1C
|
|
ldr r0, [sp, #0x40]
|
|
ldr r7, _0225BE98 ; =0x00070800
|
|
cmp r0, #0
|
|
bne _0225BC0E
|
|
ldr r0, [sp, #0xc]
|
|
ldr r3, [sp, #0x34]
|
|
add r1, r6, #0
|
|
mov r2, #0x56
|
|
bl ov49_0225BA40
|
|
b _0225BC40
|
|
_0225BC0E:
|
|
ldr r0, [sp, #0xc]
|
|
ldr r3, [sp, #0x34]
|
|
add r1, r6, #0
|
|
mov r2, #0x58
|
|
bl ov49_0225BA40
|
|
b _0225BC40
|
|
_0225BC1C:
|
|
ldr r0, [sp, #0x40]
|
|
mov r7, #0xc1
|
|
lsl r7, r7, #0xa
|
|
cmp r0, #0
|
|
bne _0225BC34
|
|
ldr r0, [sp, #0xc]
|
|
ldr r3, [sp, #0x34]
|
|
add r1, r6, #0
|
|
mov r2, #0x57
|
|
bl ov49_0225BA40
|
|
b _0225BC40
|
|
_0225BC34:
|
|
ldr r0, [sp, #0xc]
|
|
ldr r3, [sp, #0x34]
|
|
add r1, r6, #0
|
|
mov r2, #0x58
|
|
bl ov49_0225BA40
|
|
_0225BC40:
|
|
ldr r0, [r6]
|
|
mov r1, #4
|
|
mov r2, #0
|
|
bl BgFillTilemapBufferAndSchedule
|
|
ldr r0, [r6]
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl BgFillTilemapBufferAndSchedule
|
|
ldr r0, [r6]
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl BgFillTilemapBufferAndSchedule
|
|
add r0, r5, #0
|
|
bl ov49_0225C3C0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x34]
|
|
ldr r1, [sp, #0x30]
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r2, #0x5c
|
|
mov r3, #4
|
|
bl ov49_0225BB14
|
|
ldr r0, [sp, #0x34]
|
|
bl PlayerProfile_New
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x38]
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, [sp, #0x34]
|
|
bl ov45_0222A844
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
str r2, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r3, #0x2c
|
|
str r7, [sp, #8]
|
|
bl ov49_0225C3DC
|
|
ldr r0, [sp, #0x10]
|
|
bl PlayerProfile_GetTrainerID_VisibleHalf
|
|
add r1, r0, #0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #5
|
|
mov r3, #0
|
|
bl ov49_0225B3A8
|
|
mov r0, #0x7a
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
ldr r0, _0225BE9C ; =0x00010200
|
|
str r2, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r3, #0x31
|
|
bl ov49_0225C414
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r3, #0x2d
|
|
str r7, [sp, #8]
|
|
bl ov49_0225C3DC
|
|
ldr r2, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_0225C470
|
|
mov r0, #0x7a
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225BE9C ; =0x00010200
|
|
add r1, r4, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
mov r3, #0x32
|
|
bl ov49_0225C414
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov49_0225C460
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
mov r3, #0x2e
|
|
str r7, [sp, #8]
|
|
bl ov49_0225C3DC
|
|
ldr r0, [sp, #0x38]
|
|
bl ov45_0222AA84
|
|
cmp r0, #0
|
|
bne _0225BD3E
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225BE9C ; =0x00010200
|
|
add r1, r4, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
mov r3, #0x37
|
|
bl ov49_0225C3DC
|
|
b _0225BD60
|
|
_0225BD3E:
|
|
ldr r2, [sp, #0x38]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_0225C480
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225BE9C ; =0x00010200
|
|
add r1, r4, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
mov r3, #0x33
|
|
bl ov49_0225C3DC
|
|
_0225BD60:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225C460
|
|
ldr r0, [sp, #0x44]
|
|
cmp r0, #0
|
|
beq _0225BE06
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
ldr r2, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_0225C470
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #4
|
|
mov r3, #0x38
|
|
str r7, [sp, #8]
|
|
bl ov49_0225C3DC
|
|
ldr r2, [sp, #0x48]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_0225C4B0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225BE9C ; =0x00010200
|
|
add r1, r4, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
mov r2, #4
|
|
mov r3, #0x3b
|
|
bl ov49_0225C3DC
|
|
mov r0, #0x5a
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225BE9C ; =0x00010200
|
|
add r1, r4, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
mov r2, #4
|
|
mov r3, #0x3c
|
|
bl ov49_0225C3DC
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #0x2c
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225BE9C ; =0x00010200
|
|
add r1, r4, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
mov r2, #4
|
|
mov r3, #0x3d
|
|
bl ov49_0225C3DC
|
|
mov r0, #0x5a
|
|
str r0, [sp]
|
|
mov r0, #0x2c
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225BE9C ; =0x00010200
|
|
add r1, r4, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
mov r2, #4
|
|
mov r3, #0x3e
|
|
bl ov49_0225C3DC
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl ov49_0225C460
|
|
b _0225BE3A
|
|
_0225BE06:
|
|
mov r1, #0
|
|
str r1, [r5]
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #4
|
|
mov r3, #0x30
|
|
str r7, [sp, #8]
|
|
bl ov49_0225C3DC
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl ov49_0225C460
|
|
ldr r0, [sp, #0x38]
|
|
ldr r2, [sp, #0x30]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x3c]
|
|
ldr r3, [sp, #0x34]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov49_0225C4CC
|
|
_0225BE3A:
|
|
ldr r0, [sp, #0x38]
|
|
bl ov45_0222AAC8
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x4c]
|
|
ldr r2, [sp, #0x30]
|
|
str r0, [sp, #4]
|
|
ldr r3, [sp, #0x34]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov49_0225BFF0
|
|
ldr r0, [sp, #0x2c]
|
|
cmp r0, #1
|
|
bne _0225BE6A
|
|
ldr r0, [sp, #0x38]
|
|
bl ov45_0222A9CC
|
|
cmp r0, #1
|
|
bne _0225BE66
|
|
mov r0, #0x61
|
|
b _0225BE70
|
|
_0225BE66:
|
|
mov r0, #0
|
|
b _0225BE70
|
|
_0225BE6A:
|
|
ldr r0, [sp, #0x38]
|
|
bl ov45_0222AA5C
|
|
_0225BE70:
|
|
ldr r2, [sp, #0x30]
|
|
str r0, [sp]
|
|
ldr r3, [sp, #0x34]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov49_0225C180
|
|
ldr r0, [sp, #0x38]
|
|
ldr r3, [sp, #0x34]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_0225BEA0
|
|
ldr r0, [sp, #0x10]
|
|
bl FreeToHeap
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225BE98: .word 0x00070800
|
|
_0225BE9C: .word 0x00010200
|
|
thumb_func_end ov49_0225BBD0
|
|
|
|
thumb_func_start ov49_0225BEA0
|
|
ov49_0225BEA0: ; 0x0225BEA0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
ldr r0, [sp, #0x48]
|
|
ldr r6, _0225BF78 ; =ov49_0226978C
|
|
str r0, [sp, #0x48]
|
|
mov r0, #0
|
|
str r0, [sp, #0x24]
|
|
ldr r0, _0225BF7C ; =ov49_022696F8
|
|
add r5, r2, #0
|
|
str r3, [sp, #0x1c]
|
|
str r0, [sp, #0x20]
|
|
mov r4, #2
|
|
_0225BEB8:
|
|
ldr r0, [sp, #0x48]
|
|
ldr r1, [sp, #0x24]
|
|
bl ov45_0222AAEC
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
beq _0225BF60
|
|
bl ov45_0222D7C0
|
|
lsl r0, r0, #0x10
|
|
lsr r7, r0, #0x10
|
|
bl sub_020776B4
|
|
str r0, [sp, #0x28]
|
|
add r0, r7, #0
|
|
bl sub_02077678
|
|
add r1, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x28]
|
|
ldr r3, [sp, #0x1c]
|
|
mov r2, #1
|
|
bl GfGfxLoader_LoadFromNarc
|
|
add r1, sp, #0x30
|
|
str r0, [sp, #0x2c]
|
|
bl NNS_G2dGetUnpackedCharacterData
|
|
ldr r0, [sp, #0x20]
|
|
mov r1, #6
|
|
ldrh r0, [r0]
|
|
add r3, r1, #0
|
|
add r3, #0xfa
|
|
str r0, [sp]
|
|
ldr r2, [sp, #0x30]
|
|
ldr r0, [r5]
|
|
ldr r2, [r2, #0x14]
|
|
bl BG_LoadCharTilesData
|
|
ldr r0, [sp, #0x2c]
|
|
bl FreeToHeap
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
lsl r3, r4, #0x18
|
|
str r6, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
mov r0, #4
|
|
str r0, [sp, #0x14]
|
|
mov r0, #2
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5]
|
|
mov r1, #6
|
|
mov r2, #0x1a
|
|
lsr r3, r3, #0x18
|
|
bl CopyToBgTilemapRect
|
|
add r0, r7, #0
|
|
bl sub_0207769C
|
|
mov r1, #4
|
|
add r0, #0xb
|
|
str r1, [sp]
|
|
mov r1, #2
|
|
lsl r0, r0, #0x18
|
|
str r1, [sp, #4]
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
lsl r3, r4, #0x18
|
|
ldr r0, [r5]
|
|
mov r1, #6
|
|
mov r2, #0x1a
|
|
lsr r3, r3, #0x18
|
|
bl BgTilemapRectChangePalette
|
|
ldr r0, [r5]
|
|
mov r1, #6
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
_0225BF60:
|
|
ldr r0, [sp, #0x20]
|
|
add r6, #0x10
|
|
add r0, r0, #2
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x24]
|
|
add r4, r4, #2
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x24]
|
|
cmp r0, #2
|
|
blt _0225BEB8
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225BF78: .word ov49_0226978C
|
|
_0225BF7C: .word ov49_022696F8
|
|
thumb_func_end ov49_0225BEA0
|
|
|
|
thumb_func_start ov49_0225BF80
|
|
ov49_0225BF80: ; 0x0225BF80
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r1, [r5]
|
|
add r4, r2, #0
|
|
cmp r1, #1
|
|
bne _0225BF92
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
b _0225BF98
|
|
_0225BF92:
|
|
add r1, r4, #0
|
|
bl ov49_0225C78C
|
|
_0225BF98:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_0225C148
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_0225C328
|
|
ldr r0, [r4]
|
|
mov r1, #4
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r4]
|
|
mov r1, #5
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r4]
|
|
mov r1, #6
|
|
bl BgClearTilemapBufferAndCommit
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225BF80
|
|
|
|
thumb_func_start ov49_0225BFC4
|
|
ov49_0225BFC4: ; 0x0225BFC4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bl ov49_0225C148
|
|
ldr r0, [sp, #0x20]
|
|
add r1, r4, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl ov49_0225BFF0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225BFC4
|
|
|
|
thumb_func_start ov49_0225BFEC
|
|
ov49_0225BFEC: ; 0x0225BFEC
|
|
ldr r0, [r0]
|
|
bx lr
|
|
thumb_func_end ov49_0225BFEC
|
|
|
|
thumb_func_start ov49_0225BFF0
|
|
ov49_0225BFF0: ; 0x0225BFF0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x7c
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0x90]
|
|
add r4, r1, #0
|
|
add r6, r3, #0
|
|
str r2, [sp, #0x2c]
|
|
cmp r0, #0x1b
|
|
blo _0225C006
|
|
bl GF_AssertFail
|
|
_0225C006:
|
|
ldr r0, [r5, #0x54]
|
|
cmp r0, #0
|
|
beq _0225C010
|
|
bl GF_AssertFail
|
|
_0225C010:
|
|
ldr r0, [sp, #0x90]
|
|
mov r1, #3
|
|
bl _u32_div_f
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0x90]
|
|
mov r1, #3
|
|
bl _u32_div_f
|
|
str r1, [sp, #0x30]
|
|
lsl r0, r7, #1
|
|
str r0, [sp, #0x34]
|
|
mov r1, #0x64
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #0x34]
|
|
str r6, [sp, #8]
|
|
add r1, #0xcc
|
|
ldr r0, [r4, r1]
|
|
add r2, r7, r2
|
|
ldr r1, [sp, #0x2c]
|
|
add r2, #0x3d
|
|
mov r3, #0
|
|
bl AddCharResObjFromOpenNarc
|
|
str r0, [r5, #0x58]
|
|
bl sub_0200ADA4
|
|
cmp r0, #0
|
|
bne _0225C052
|
|
bl GF_AssertFail
|
|
_0225C052:
|
|
ldr r0, [r5, #0x58]
|
|
bl sub_0200A740
|
|
mov r1, #0x64
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #3
|
|
str r0, [sp, #8]
|
|
str r6, [sp, #0xc]
|
|
add r1, #0xd0
|
|
ldr r0, [r4, r1]
|
|
ldr r1, [sp, #0x2c]
|
|
mov r2, #0x59
|
|
mov r3, #0
|
|
bl AddPlttResObjFromOpenNarc
|
|
str r0, [r5, #0x5c]
|
|
bl sub_0200B00C
|
|
cmp r0, #0
|
|
bne _0225C082
|
|
bl GF_AssertFail
|
|
_0225C082:
|
|
ldr r0, [r5, #0x5c]
|
|
bl sub_0200A740
|
|
mov r1, #0x64
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #0x34]
|
|
str r6, [sp, #8]
|
|
add r1, #0xd4
|
|
ldr r0, [r4, r1]
|
|
add r2, r7, r2
|
|
ldr r1, [sp, #0x2c]
|
|
add r2, #0x3c
|
|
mov r3, #0
|
|
bl AddCellOrAnimResObjFromOpenNarc
|
|
str r0, [r5, #0x60]
|
|
mov r1, #0x64
|
|
str r1, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #0x34]
|
|
str r6, [sp, #8]
|
|
add r1, #0xd8
|
|
ldr r0, [r4, r1]
|
|
add r2, r7, r2
|
|
ldr r1, [sp, #0x2c]
|
|
add r2, #0x3b
|
|
mov r3, #0
|
|
bl AddCellOrAnimResObjFromOpenNarc
|
|
str r0, [r5, #0x64]
|
|
mov r0, #0
|
|
add r2, sp, #0x38
|
|
add r1, r0, #0
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
mov r1, #0x64
|
|
add r2, r1, #0
|
|
str r1, [sp]
|
|
sub r2, #0x65
|
|
str r2, [sp, #4]
|
|
str r2, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r2, r1, #0
|
|
str r0, [sp, #0x10]
|
|
add r2, #0xcc
|
|
ldr r2, [r4, r2]
|
|
add r3, r1, #0
|
|
str r2, [sp, #0x14]
|
|
add r2, r1, #0
|
|
add r2, #0xd0
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r1, #0
|
|
add r2, #0xd4
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x1c]
|
|
add r2, r1, #0
|
|
add r2, #0xd8
|
|
ldr r2, [r4, r2]
|
|
str r2, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, sp, #0x58
|
|
add r2, r1, #0
|
|
bl CreateSpriteResourcesHeader
|
|
ldr r0, [r4, #4]
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x58
|
|
str r0, [sp, #0x3c]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x4c]
|
|
mov r0, #2
|
|
str r0, [sp, #0x50]
|
|
mov r0, #0xd
|
|
lsl r0, r0, #0x10
|
|
str r0, [sp, #0x40]
|
|
mov r0, #0x66
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #0x44]
|
|
add r0, sp, #0x38
|
|
str r6, [sp, #0x54]
|
|
bl sub_02024714
|
|
ldr r1, [sp, #0x30]
|
|
str r0, [r5, #0x54]
|
|
bl Set2dSpriteAnimSeqNo
|
|
ldr r0, [r5, #0x54]
|
|
ldr r1, [sp, #0x94]
|
|
bl Set2dSpriteVisibleFlag
|
|
add sp, #0x7c
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225BFF0
|
|
|
|
thumb_func_start ov49_0225C148
|
|
ov49_0225C148: ; 0x0225C148
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x54]
|
|
add r4, r1, #0
|
|
bl Sprite_Delete
|
|
mov r0, #0
|
|
str r0, [r5, #0x54]
|
|
ldr r0, [r5, #0x58]
|
|
bl sub_0200AEB0
|
|
ldr r0, [r5, #0x5c]
|
|
bl sub_0200B0A8
|
|
mov r7, #0x13
|
|
mov r6, #0
|
|
lsl r7, r7, #4
|
|
_0225C16A:
|
|
ldr r0, [r4, r7]
|
|
ldr r1, [r5, #0x58]
|
|
bl DestroySingle2DGfxResObj
|
|
add r6, r6, #1
|
|
add r5, r5, #4
|
|
add r4, r4, #4
|
|
cmp r6, #4
|
|
blt _0225C16A
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225C148
|
|
|
|
thumb_func_start ov49_0225C180
|
|
ov49_0225C180: ; 0x0225C180
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x94
|
|
add r6, r0, #0
|
|
ldr r0, [r6, #0x68]
|
|
add r5, r1, #0
|
|
str r3, [sp, #0x2c]
|
|
ldr r4, [sp, #0xa8]
|
|
cmp r0, #0
|
|
beq _0225C196
|
|
bl GF_AssertFail
|
|
_0225C196:
|
|
ldr r1, _0225C324 ; =ov49_0226988C
|
|
mov r0, #0
|
|
_0225C19A:
|
|
ldrh r2, [r1]
|
|
cmp r4, r2
|
|
bne _0225C1AA
|
|
ldrh r2, [r1, #2]
|
|
str r2, [sp, #0x34]
|
|
ldrh r2, [r1, #4]
|
|
str r2, [sp, #0x30]
|
|
ldrh r7, [r1, #6]
|
|
_0225C1AA:
|
|
add r0, r0, #1
|
|
add r1, #8
|
|
cmp r0, #0x12
|
|
blo _0225C19A
|
|
ldr r0, [sp, #0x34]
|
|
mov r1, #2
|
|
add r2, sp, #0x7c
|
|
bl sub_02070D84
|
|
mov r1, #0x65
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x2c]
|
|
add r1, #0xcb
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
ldr r1, [sp, #0x7c]
|
|
ldr r2, [sp, #0x80]
|
|
mov r3, #0
|
|
bl AddCharResObjFromNarc
|
|
str r0, [r6, #0x6c]
|
|
bl sub_0200ADA4
|
|
cmp r0, #0
|
|
bne _0225C1E4
|
|
bl GF_AssertFail
|
|
_0225C1E4:
|
|
mov r1, #0x65
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x2c]
|
|
add r1, #0xcf
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, r1]
|
|
ldr r1, [sp, #0x7c]
|
|
ldr r2, [sp, #0x84]
|
|
mov r3, #0
|
|
bl AddPlttResObjFromNarc
|
|
str r0, [r6, #0x70]
|
|
bl sub_0200A828
|
|
bl ov49_0225C368
|
|
ldr r0, [r6, #0x70]
|
|
bl sub_0200B00C
|
|
cmp r0, #0
|
|
bne _0225C21A
|
|
bl GF_AssertFail
|
|
_0225C21A:
|
|
ldr r0, [r6, #0x70]
|
|
bl sub_0200A740
|
|
mov r1, #0x65
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x2c]
|
|
add r1, #0xd3
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
ldr r1, [sp, #0x7c]
|
|
ldr r2, [sp, #0x88]
|
|
mov r3, #0
|
|
bl AddCellOrAnimResObjFromNarc
|
|
str r0, [r6, #0x74]
|
|
mov r1, #0x65
|
|
str r1, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x2c]
|
|
add r1, #0xd7
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, r1]
|
|
ldr r1, [sp, #0x7c]
|
|
ldr r2, [sp, #0x8c]
|
|
mov r3, #0
|
|
bl AddCellOrAnimResObjFromNarc
|
|
str r0, [r6, #0x78]
|
|
mov r0, #0
|
|
add r2, sp, #0x38
|
|
add r1, r0, #0
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
mov r1, #0x65
|
|
add r2, r1, #0
|
|
str r1, [sp]
|
|
sub r2, #0x66
|
|
str r2, [sp, #4]
|
|
str r2, [sp, #8]
|
|
mov r2, #1
|
|
str r2, [sp, #0xc]
|
|
mov r2, #3
|
|
str r2, [sp, #0x10]
|
|
add r2, r1, #0
|
|
add r2, #0xcb
|
|
ldr r2, [r5, r2]
|
|
add r3, r1, #0
|
|
str r2, [sp, #0x14]
|
|
add r2, r1, #0
|
|
add r2, #0xcf
|
|
ldr r2, [r5, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r1, #0
|
|
add r2, #0xd3
|
|
ldr r2, [r5, r2]
|
|
str r2, [sp, #0x1c]
|
|
add r2, r1, #0
|
|
add r2, #0xd7
|
|
ldr r2, [r5, r2]
|
|
str r2, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, sp, #0x58
|
|
add r2, r1, #0
|
|
bl CreateSpriteResourcesHeader
|
|
ldr r0, [r5, #4]
|
|
str r0, [sp, #0x38]
|
|
add r0, sp, #0x58
|
|
str r0, [sp, #0x3c]
|
|
mov r0, #0x20
|
|
str r0, [sp, #0x4c]
|
|
mov r0, #2
|
|
str r0, [sp, #0x50]
|
|
ldr r0, [sp, #0x2c]
|
|
str r0, [sp, #0x54]
|
|
ldr r0, [sp, #0x30]
|
|
cmp r0, #0
|
|
beq _0225C2D4
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0225C2E2
|
|
_0225C2D4:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0225C2E2:
|
|
bl _ffix
|
|
str r0, [sp, #0x40]
|
|
cmp r7, #0
|
|
beq _0225C2FE
|
|
lsl r0, r7, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0225C30C
|
|
_0225C2FE:
|
|
lsl r0, r7, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0225C30C:
|
|
bl _ffix
|
|
mov r1, #1
|
|
lsl r1, r1, #0x14
|
|
add r0, r0, r1
|
|
str r0, [sp, #0x44]
|
|
add r0, sp, #0x38
|
|
bl sub_02024714
|
|
str r0, [r6, #0x68]
|
|
add sp, #0x94
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225C324: .word ov49_0226988C
|
|
thumb_func_end ov49_0225C180
|
|
|
|
thumb_func_start ov49_0225C328
|
|
ov49_0225C328: ; 0x0225C328
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x68]
|
|
add r4, r1, #0
|
|
bl sub_02024B1C
|
|
bl sub_02021A50
|
|
ldr r0, [r5, #0x68]
|
|
bl Sprite_Delete
|
|
mov r0, #0
|
|
str r0, [r5, #0x68]
|
|
ldr r0, [r5, #0x6c]
|
|
bl sub_0200AEB0
|
|
ldr r0, [r5, #0x70]
|
|
bl sub_0200B0A8
|
|
mov r7, #0x13
|
|
mov r6, #0
|
|
lsl r7, r7, #4
|
|
_0225C354:
|
|
ldr r0, [r4, r7]
|
|
ldr r1, [r5, #0x6c]
|
|
bl DestroySingle2DGfxResObj
|
|
add r6, r6, #1
|
|
add r5, r5, #4
|
|
add r4, r4, #4
|
|
cmp r6, #4
|
|
blt _0225C354
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225C328
|
|
|
|
thumb_func_start ov49_0225C368
|
|
ov49_0225C368: ; 0x0225C368
|
|
push {r4, r5, r6, r7}
|
|
ldr r1, [r0, #8]
|
|
ldr r4, [r0, #0xc]
|
|
lsr r3, r1, #1
|
|
mov r2, #0
|
|
cmp r3, #0
|
|
ble _0225C3BC
|
|
mov r5, #0xc8
|
|
_0225C378:
|
|
ldrh r6, [r4]
|
|
mov r0, #0x1f
|
|
add r2, r2, #1
|
|
add r1, r6, #0
|
|
asr r7, r6, #5
|
|
and r1, r0
|
|
and r0, r7
|
|
asr r7, r6, #0xa
|
|
mov r6, #0x1f
|
|
and r6, r7
|
|
mov r7, #0x1d
|
|
mul r7, r6
|
|
mov r6, #0x4c
|
|
mul r6, r1
|
|
mov r1, #0x97
|
|
mul r1, r0
|
|
add r0, r6, r1
|
|
add r0, r7, r0
|
|
asr r6, r0, #8
|
|
lsl r0, r6, #8
|
|
add r7, r6, #0
|
|
asr r1, r0, #8
|
|
lsl r0, r6, #7
|
|
mul r7, r5
|
|
asr r0, r0, #8
|
|
asr r6, r7, #8
|
|
lsl r0, r0, #0xa
|
|
lsl r6, r6, #5
|
|
orr r0, r6
|
|
orr r0, r1
|
|
strh r0, [r4]
|
|
add r4, r4, #2
|
|
cmp r2, r3
|
|
blt _0225C378
|
|
_0225C3BC:
|
|
pop {r4, r5, r6, r7}
|
|
bx lr
|
|
thumb_func_end ov49_0225C368
|
|
|
|
thumb_func_start ov49_0225C3C0
|
|
ov49_0225C3C0: ; 0x0225C3C0
|
|
push {r4, r5, r6, lr}
|
|
mov r4, #0
|
|
add r5, r0, #4
|
|
add r6, r4, #0
|
|
_0225C3C8:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl FillWindowPixelBuffer
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #5
|
|
blt _0225C3C8
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225C3C0
|
|
|
|
thumb_func_start ov49_0225C3DC
|
|
ov49_0225C3DC: ; 0x0225C3DC
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
add r0, r1, #0
|
|
mov r1, #1
|
|
add r2, r3, #0
|
|
bl ov49_0225B388
|
|
add r3, sp, #0x10
|
|
add r2, r0, #0
|
|
ldrb r0, [r3, #0x14]
|
|
mov r1, #0
|
|
add r5, r5, #4
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
lsl r0, r4, #4
|
|
ldrb r3, [r3, #0x10]
|
|
add r0, r5, r0
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225C3DC
|
|
|
|
thumb_func_start ov49_0225C414
|
|
ov49_0225C414: ; 0x0225C414
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
add r0, r1, #0
|
|
mov r1, #1
|
|
add r2, r3, #0
|
|
bl ov49_0225B388
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
bl FontID_String_GetWidth
|
|
add r1, sp, #0x10
|
|
ldrb r1, [r1, #0x10]
|
|
sub r3, r1, r0
|
|
bpl _0225C43C
|
|
mov r3, #0
|
|
_0225C43C:
|
|
add r0, sp, #0x10
|
|
ldrb r0, [r0, #0x14]
|
|
add r2, r5, #4
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #8]
|
|
lsl r0, r4, #4
|
|
add r0, r2, r0
|
|
add r2, r6, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225C414
|
|
|
|
thumb_func_start ov49_0225C460
|
|
ov49_0225C460: ; 0x0225C460
|
|
ldr r3, _0225C46C ; =ScheduleWindowCopyToVram
|
|
add r2, r0, #4
|
|
lsl r0, r1, #4
|
|
add r0, r2, r0
|
|
bx r3
|
|
nop
|
|
_0225C46C: .word ScheduleWindowCopyToVram
|
|
thumb_func_end ov49_0225C460
|
|
|
|
thumb_func_start ov49_0225C470
|
|
ov49_0225C470: ; 0x0225C470
|
|
ldr r3, _0225C47C ; =ov49_0225B3C8
|
|
add r0, r1, #0
|
|
add r1, r2, #0
|
|
mov r2, #0
|
|
bx r3
|
|
nop
|
|
_0225C47C: .word ov49_0225B3C8
|
|
thumb_func_end ov49_0225C470
|
|
|
|
thumb_func_start ov49_0225C480
|
|
ov49_0225C480: ; 0x0225C480
|
|
push {r4, r5, r6, lr}
|
|
add r6, r2, #0
|
|
add r0, r6, #0
|
|
add r5, r1, #0
|
|
bl ov45_0222AA84
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl ov45_0222AAA8
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl ov49_0225B408
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
mov r3, #1
|
|
bl ov49_0225B418
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225C480
|
|
|
|
thumb_func_start ov49_0225C4B0
|
|
ov49_0225C4B0: ; 0x0225C4B0
|
|
push {r4, r5, r6, lr}
|
|
add r6, r1, #0
|
|
add r5, r2, #0
|
|
mov r4, #0
|
|
_0225C4B8:
|
|
ldrh r2, [r5]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov49_0225B42C
|
|
add r4, r4, #1
|
|
add r5, r5, #2
|
|
cmp r4, #4
|
|
blt _0225C4B8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_0225C4B0
|
|
|
|
thumb_func_start ov49_0225C4CC
|
|
ov49_0225C4CC: ; 0x0225C4CC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x98
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0xb0]
|
|
add r5, r1, #0
|
|
str r0, [sp, #0xb0]
|
|
mov r0, #0xd7
|
|
add r1, r3, #0
|
|
str r2, [sp, #0x2c]
|
|
str r3, [sp, #0x30]
|
|
bl NARC_New
|
|
str r0, [sp, #0x50]
|
|
ldr r0, [sp, #0xb4]
|
|
bl ov45_0222A99C
|
|
str r0, [sp, #0x44]
|
|
ldr r0, [sp, #0xb4]
|
|
bl ov45_0222A9CC
|
|
str r0, [sp, #0x4c]
|
|
ldr r0, _0225C77C ; =ov49_02269774
|
|
mov r6, #0
|
|
str r0, [sp, #0x40]
|
|
ldr r0, _0225C780 ; =ov49_02269704
|
|
add r4, r7, #0
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, _0225C784 ; =ov49_022696FC
|
|
str r0, [sp, #0x38]
|
|
_0225C506:
|
|
cmp r6, #2
|
|
bne _0225C526
|
|
ldr r0, [sp, #0x4c]
|
|
cmp r0, #1
|
|
bne _0225C546
|
|
add r1, r4, #0
|
|
add r1, #0xac
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
add r1, r4, #0
|
|
add r1, #0xec
|
|
str r0, [r1]
|
|
add r1, r4, #0
|
|
add r1, #0xfc
|
|
str r0, [r1]
|
|
b _0225C5EC
|
|
_0225C526:
|
|
cmp r6, #3
|
|
bne _0225C546
|
|
ldr r0, [sp, #0x4c]
|
|
cmp r0, #0
|
|
bne _0225C546
|
|
add r1, r4, #0
|
|
add r1, #0xac
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
add r1, r4, #0
|
|
add r1, #0xec
|
|
str r0, [r1]
|
|
add r1, r4, #0
|
|
add r1, #0xfc
|
|
str r0, [r1]
|
|
b _0225C5EC
|
|
_0225C546:
|
|
ldr r0, [sp, #0x40]
|
|
ldrh r0, [r0]
|
|
cmp r0, #0xd7
|
|
bne _0225C554
|
|
ldr r0, [sp, #0x50]
|
|
str r0, [sp, #0x34]
|
|
b _0225C558
|
|
_0225C554:
|
|
ldr r0, [sp, #0x2c]
|
|
str r0, [sp, #0x34]
|
|
_0225C558:
|
|
add r0, r6, #0
|
|
add r0, #0x96
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x40]
|
|
ldr r2, [sp, #0x40]
|
|
ldrh r0, [r0, #4]
|
|
ldr r1, [sp, #0x34]
|
|
mov r3, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x30]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r2, #2]
|
|
ldr r0, [r5, r0]
|
|
bl AddPlttResObjFromOpenNarc
|
|
add r1, r4, #0
|
|
add r1, #0xac
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0xac
|
|
ldr r0, [r0]
|
|
bl sub_0200B00C
|
|
cmp r0, #0
|
|
bne _0225C596
|
|
bl GF_AssertFail
|
|
_0225C596:
|
|
add r0, r4, #0
|
|
add r0, #0xac
|
|
ldr r0, [r0]
|
|
bl sub_0200A740
|
|
add r0, r6, #0
|
|
add r0, #0x96
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x30]
|
|
ldr r2, [sp, #0x3c]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r2]
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [sp, #0x34]
|
|
mov r3, #0
|
|
bl AddCellOrAnimResObjFromOpenNarc
|
|
add r1, r4, #0
|
|
add r1, #0xec
|
|
str r0, [r1]
|
|
add r0, r6, #0
|
|
add r0, #0x96
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x30]
|
|
ldr r2, [sp, #0x38]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r2]
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [sp, #0x34]
|
|
mov r3, #0
|
|
bl AddCellOrAnimResObjFromOpenNarc
|
|
add r1, r4, #0
|
|
add r1, #0xfc
|
|
str r0, [r1]
|
|
_0225C5EC:
|
|
ldr r0, [sp, #0x40]
|
|
add r6, r6, #1
|
|
add r0, r0, #6
|
|
str r0, [sp, #0x40]
|
|
ldr r0, [sp, #0x3c]
|
|
add r4, r4, #4
|
|
add r0, r0, #2
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, [sp, #0x38]
|
|
add r0, r0, #2
|
|
str r0, [sp, #0x38]
|
|
cmp r6, #4
|
|
bge _0225C608
|
|
b _0225C506
|
|
_0225C608:
|
|
ldr r0, _0225C788 ; =ov49_0226991C
|
|
mov r6, #0
|
|
str r0, [sp, #0x48]
|
|
_0225C60E:
|
|
ldr r0, [sp, #0xb0]
|
|
add r1, r6, #0
|
|
bl ov45_0222A92C
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0xb0]
|
|
add r1, r6, #0
|
|
bl ov45_0222A964
|
|
add r1, r0, #0
|
|
cmp r4, #0x18
|
|
bne _0225C632
|
|
add r1, r7, #0
|
|
add r1, #0xbc
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
str r0, [r7, #0x7c]
|
|
b _0225C760
|
|
_0225C632:
|
|
ldr r2, [sp, #0x44]
|
|
ldr r3, [sp, #0x4c]
|
|
add r0, r4, #0
|
|
bl ov49_0225C828
|
|
add r4, r0, #0
|
|
ldrb r0, [r4]
|
|
cmp r0, #1
|
|
bne _0225C648
|
|
ldr r1, [sp, #0x2c]
|
|
b _0225C64A
|
|
_0225C648:
|
|
ldr r1, [sp, #0x50]
|
|
_0225C64A:
|
|
add r0, r6, #0
|
|
add r0, #0x96
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x30]
|
|
mov r3, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0x13
|
|
lsl r0, r0, #4
|
|
ldrh r2, [r4, #2]
|
|
ldr r0, [r5, r0]
|
|
bl AddCharResObjFromOpenNarc
|
|
add r1, r7, #0
|
|
add r1, #0xbc
|
|
str r0, [r1]
|
|
add r0, r7, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
bl sub_0200ADA4
|
|
cmp r0, #0
|
|
bne _0225C67E
|
|
bl GF_AssertFail
|
|
_0225C67E:
|
|
add r0, r7, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
bl sub_0200A740
|
|
ldrb r2, [r4]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
add r2, #0x96
|
|
str r2, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x13
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, #0x96
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r3, r2, #0
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, sp, #0x54
|
|
bl CreateSpriteResourcesHeader
|
|
ldr r0, [r5, #4]
|
|
ldr r2, [sp, #0x48]
|
|
str r0, [sp, #0x78]
|
|
add r0, sp, #0x54
|
|
str r0, [sp, #0x7c]
|
|
mov r0, #0
|
|
str r0, [sp, #0x8c]
|
|
mov r0, #2
|
|
str r0, [sp, #0x90]
|
|
ldr r0, [sp, #0x30]
|
|
add r3, sp, #0x80
|
|
str r0, [sp, #0x94]
|
|
ldmia r2!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r2]
|
|
str r0, [r3]
|
|
mov r0, #4
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #0
|
|
ble _0225C708
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0225C716
|
|
_0225C708:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0225C716:
|
|
bl _ffix
|
|
ldr r1, [sp, #0x80]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x80]
|
|
mov r0, #6
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #0
|
|
ble _0225C73A
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0225C748
|
|
_0225C73A:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0225C748:
|
|
bl _ffix
|
|
ldr r1, [sp, #0x84]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x84]
|
|
add r0, sp, #0x78
|
|
bl sub_02024714
|
|
str r0, [r7, #0x7c]
|
|
ldrb r1, [r4, #1]
|
|
bl sub_02024AA8
|
|
_0225C760:
|
|
ldr r0, [sp, #0x48]
|
|
add r6, r6, #1
|
|
add r0, #0xc
|
|
add r7, r7, #4
|
|
str r0, [sp, #0x48]
|
|
cmp r6, #0xc
|
|
bge _0225C770
|
|
b _0225C60E
|
|
_0225C770:
|
|
ldr r0, [sp, #0x50]
|
|
bl NARC_Delete
|
|
add sp, #0x98
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225C77C: .word ov49_02269774
|
|
_0225C780: .word ov49_02269704
|
|
_0225C784: .word ov49_022696FC
|
|
_0225C788: .word ov49_0226991C
|
|
thumb_func_end ov49_0225C4CC
|
|
|
|
thumb_func_start ov49_0225C78C
|
|
ov49_0225C78C: ; 0x0225C78C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r7, #0
|
|
add r4, r5, #0
|
|
_0225C796:
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _0225C7CC
|
|
ldr r0, [r4, #0x7c]
|
|
bl Sprite_Delete
|
|
mov r0, #0
|
|
str r0, [r4, #0x7c]
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
bl sub_0200AEB0
|
|
mov r0, #0x13
|
|
add r1, r4, #0
|
|
lsl r0, r0, #4
|
|
add r1, #0xbc
|
|
ldr r0, [r6, r0]
|
|
ldr r1, [r1]
|
|
bl DestroySingle2DGfxResObj
|
|
add r1, r4, #0
|
|
add r1, #0xbc
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
_0225C7CC:
|
|
add r7, r7, #1
|
|
add r4, r4, #4
|
|
cmp r7, #0xc
|
|
blt _0225C796
|
|
mov r4, #0
|
|
add r7, r4, #0
|
|
_0225C7D8:
|
|
add r0, r5, #0
|
|
add r0, #0xac
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _0225C81C
|
|
bl sub_0200B0A8
|
|
mov r0, #0x4d
|
|
add r1, r5, #0
|
|
lsl r0, r0, #2
|
|
add r1, #0xac
|
|
ldr r0, [r6, r0]
|
|
ldr r1, [r1]
|
|
bl DestroySingle2DGfxResObj
|
|
mov r0, #0x4e
|
|
add r1, r5, #0
|
|
lsl r0, r0, #2
|
|
add r1, #0xec
|
|
ldr r0, [r6, r0]
|
|
ldr r1, [r1]
|
|
bl DestroySingle2DGfxResObj
|
|
mov r0, #0x4f
|
|
add r1, r5, #0
|
|
lsl r0, r0, #2
|
|
add r1, #0xfc
|
|
ldr r0, [r6, r0]
|
|
ldr r1, [r1]
|
|
bl DestroySingle2DGfxResObj
|
|
add r0, r5, #0
|
|
add r0, #0xac
|
|
str r7, [r0]
|
|
_0225C81C:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _0225C7D8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225C78C
|
|
|
|
thumb_func_start ov49_0225C828
|
|
ov49_0225C828: ; 0x0225C828
|
|
cmp r1, r2
|
|
bne _0225C834
|
|
ldr r1, _0225C83C ; =ov49_02269764
|
|
lsl r0, r3, #3
|
|
add r0, r1, r0
|
|
bx lr
|
|
_0225C834:
|
|
ldr r1, _0225C840 ; =ov49_022699AC
|
|
lsl r0, r0, #3
|
|
add r0, r1, r0
|
|
bx lr
|
|
.balign 4, 0
|
|
_0225C83C: .word ov49_02269764
|
|
_0225C840: .word ov49_022699AC
|
|
thumb_func_end ov49_0225C828
|
|
|
|
thumb_func_start ov49_0225C844
|
|
ov49_0225C844: ; 0x0225C844
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
str r0, [sp, #4]
|
|
ldr r0, [r1]
|
|
ldr r1, [sp, #4]
|
|
str r2, [sp, #8]
|
|
ldr r2, _0225C89C ; =ov49_0226970C
|
|
add r1, #0xc
|
|
add r7, r3, #0
|
|
bl AddWindow
|
|
ldr r4, [sp, #4]
|
|
ldr r5, [sp, #4]
|
|
mov r6, #0
|
|
add r4, #0x2c
|
|
_0225C862:
|
|
add r1, r6, #0
|
|
ldr r0, [sp, #8]
|
|
add r1, #0x38
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
str r7, [sp]
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
str r0, [r5, #0x20]
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, r5, #4
|
|
cmp r6, #3
|
|
blt _0225C862
|
|
ldr r0, _0225C8A0 ; =ov49_022696F4
|
|
ldr r2, _0225C8A4 ; =ov49_0225CB50
|
|
ldr r3, [sp, #4]
|
|
mov r1, #1
|
|
str r7, [sp]
|
|
bl sub_02026C44
|
|
ldr r1, [sp, #4]
|
|
str r0, [r1, #0x1c]
|
|
ldr r0, [sp, #4]
|
|
mov r1, #1
|
|
strh r1, [r0, #6]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225C89C: .word ov49_0226970C
|
|
_0225C8A0: .word ov49_022696F4
|
|
_0225C8A4: .word ov49_0225CB50
|
|
thumb_func_end ov49_0225C844
|
|
|
|
thumb_func_start ov49_0225C8A8
|
|
ov49_0225C8A8: ; 0x0225C8A8
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r6, #0x1c]
|
|
bl sub_02026CAC
|
|
add r0, r6, #0
|
|
add r0, #0xc
|
|
bl RemoveWindow
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_0225C8BE:
|
|
ldr r0, [r5, #0x20]
|
|
bl FreeToHeap
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #3
|
|
blt _0225C8BE
|
|
mov r0, #0
|
|
strb r0, [r6, #2]
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225C8A8
|
|
|
|
thumb_func_start ov49_0225C8D4
|
|
ov49_0225C8D4: ; 0x0225C8D4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r5, #6]
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
add r4, r3, #0
|
|
cmp r0, #0
|
|
bne _0225C8F2
|
|
ldr r0, [r5, #0x1c]
|
|
bl sub_02026CC4
|
|
b _0225C8F6
|
|
_0225C8F2:
|
|
mov r0, #1
|
|
strb r0, [r5, #3]
|
|
_0225C8F6:
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #1
|
|
bne _0225C912
|
|
mov r2, #0
|
|
ldrsh r0, [r5, r2]
|
|
cmp r0, #0
|
|
bne _0225C912
|
|
strb r2, [r5, #2]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r3, r7, #0
|
|
str r4, [sp]
|
|
bl ov49_0225CAD4
|
|
_0225C912:
|
|
ldrb r1, [r5, #3]
|
|
ldrh r0, [r5, #4]
|
|
cmp r1, r0
|
|
beq _0225C968
|
|
strh r1, [r5, #4]
|
|
ldrb r0, [r5, #3]
|
|
cmp r0, #2
|
|
bne _0225C932
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #1
|
|
add r3, r7, #0
|
|
str r4, [sp]
|
|
bl ov49_0225CAD4
|
|
b _0225C954
|
|
_0225C932:
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #0
|
|
str r4, [sp]
|
|
bne _0225C948
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0
|
|
add r3, r7, #0
|
|
bl ov49_0225CAD4
|
|
b _0225C954
|
|
_0225C948:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #2
|
|
add r3, r7, #0
|
|
bl ov49_0225CAD4
|
|
_0225C954:
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #0
|
|
bne _0225C968
|
|
ldrb r0, [r5, #3]
|
|
cmp r0, #2
|
|
bne _0225C968
|
|
mov r0, #1
|
|
strb r0, [r5, #2]
|
|
str r0, [sp, #4]
|
|
strh r0, [r5]
|
|
_0225C968:
|
|
ldr r0, [sp, #4]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225C8D4
|
|
|
|
thumb_func_start ov49_0225C970
|
|
ov49_0225C970: ; 0x0225C970
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r6, r1, #0
|
|
ldr r4, [sp, #0x34]
|
|
str r0, [sp, #8]
|
|
ldr r7, [sp, #0x30]
|
|
str r3, [sp, #0x14]
|
|
str r4, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
ldr r2, [r6]
|
|
add r0, r7, #0
|
|
mov r1, #0x37
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r0, #0
|
|
strh r0, [r5, #8]
|
|
ldr r0, [sp, #0x14]
|
|
bl ov45_0222AAC8
|
|
strh r0, [r5, #0xa]
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldrh r1, [r5, #0xa]
|
|
ldr r2, [r6]
|
|
add r0, r7, #0
|
|
mov r3, #6
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
str r0, [sp]
|
|
str r4, [sp, #4]
|
|
ldrh r2, [r5, #0xa]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
add r2, #0x1b
|
|
mov r3, #6
|
|
bl ov49_0225BB14
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #1
|
|
mov r2, #0x3f
|
|
bl ov49_0225B388
|
|
str r0, [sp, #0x18]
|
|
add r0, r5, #0
|
|
add r0, #0xc
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
ldr r0, _0225CA2C ; =0x000F0E00
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
ldr r2, [sp, #0x18]
|
|
str r1, [sp, #0xc]
|
|
add r0, #0xc
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterized2
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #0
|
|
str r4, [sp]
|
|
bne _0225CA1A
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0
|
|
add r3, r7, #0
|
|
bl ov49_0225CAD4
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0225CA1A:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #2
|
|
add r3, r7, #0
|
|
bl ov49_0225CAD4
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225CA2C: .word 0x000F0E00
|
|
thumb_func_end ov49_0225C970
|
|
|
|
thumb_func_start ov49_0225CA30
|
|
ov49_0225CA30: ; 0x0225CA30
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r2, #0
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
str r3, [sp, #0x10]
|
|
ldr r4, [sp, #0x28]
|
|
cmp r7, #3
|
|
blo _0225CA46
|
|
bl GF_AssertFail
|
|
_0225CA46:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r2, [r6]
|
|
mov r1, #0x37
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r0, #1
|
|
strh r0, [r5, #8]
|
|
mov r0, #5
|
|
strh r7, [r5, #0xa]
|
|
lsl r0, r0, #6
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldrh r1, [r5, #0xa]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r2, [r6]
|
|
add r1, #0x5d
|
|
mov r3, #6
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #0
|
|
str r4, [sp]
|
|
bne _0225CA96
|
|
ldr r3, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0
|
|
bl ov49_0225CAD4
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0225CA96:
|
|
ldr r3, [sp, #0x10]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #2
|
|
bl ov49_0225CAD4
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225CA30
|
|
|
|
thumb_func_start ov49_0225CAA8
|
|
ov49_0225CAA8: ; 0x0225CAA8
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
ldr r0, [r4]
|
|
mov r1, #4
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r4]
|
|
mov r1, #5
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r4]
|
|
mov r1, #6
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r4]
|
|
mov r1, #6
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225CAA8
|
|
|
|
thumb_func_start ov49_0225CAD4
|
|
ov49_0225CAD4: ; 0x0225CAD4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
mov r0, #0x20
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
str r0, [sp]
|
|
mov r1, #0x15
|
|
str r1, [sp, #4]
|
|
lsl r1, r6, #2
|
|
add r1, r5, r1
|
|
ldr r1, [r1, #0x2c]
|
|
add r7, r3, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r3, #3
|
|
str r3, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4]
|
|
mov r1, #5
|
|
bl CopyToBgTilemapRect
|
|
ldr r0, [r4]
|
|
mov r1, #5
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldrh r0, [r5, #8]
|
|
cmp r0, #1
|
|
bne _0225CB34
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x30]
|
|
ldr r2, _0225CB48 ; =ov49_022696EC
|
|
str r0, [sp, #4]
|
|
ldrh r3, [r5, #0xa]
|
|
ldrb r2, [r2, r6]
|
|
add r0, r4, #0
|
|
lsl r3, r3, #1
|
|
add r2, r2, r3
|
|
add r1, r7, #0
|
|
add r2, #0x60
|
|
mov r3, #6
|
|
bl ov49_0225BB14
|
|
_0225CB34:
|
|
ldr r3, _0225CB4C ; =ov49_022696F0
|
|
ldr r0, [r4]
|
|
ldrsb r3, [r3, r6]
|
|
mov r1, #6
|
|
mov r2, #3
|
|
bl ScheduleSetBgPosText
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225CB48: .word ov49_022696EC
|
|
_0225CB4C: .word ov49_022696F0
|
|
thumb_func_end ov49_0225CAD4
|
|
|
|
thumb_func_start ov49_0225CB50
|
|
ov49_0225CB50: ; 0x0225CB50
|
|
strb r1, [r2, #3]
|
|
ldrb r0, [r2, #3]
|
|
cmp r0, #0
|
|
bne _0225CB5E
|
|
mov r0, #2
|
|
strb r0, [r2, #3]
|
|
bx lr
|
|
_0225CB5E:
|
|
cmp r0, #3
|
|
bne _0225CB66
|
|
mov r0, #1
|
|
strb r0, [r2, #3]
|
|
_0225CB66:
|
|
bx lr
|
|
thumb_func_end ov49_0225CB50
|
|
|
|
thumb_func_start ov49_0225CB68
|
|
ov49_0225CB68: ; 0x0225CB68
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225CB68
|
|
|
|
thumb_func_start ov49_0225CB70
|
|
ov49_0225CB70: ; 0x0225CB70
|
|
mov r1, #0xc3
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end ov49_0225CB70
|
|
|
|
thumb_func_start ov49_0225CB78
|
|
ov49_0225CB78: ; 0x0225CB78
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
mov r1, #0x14
|
|
add r5, r0, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
add r2, r4, #0
|
|
mov r1, #0x14
|
|
mov r0, #0
|
|
_0225CB8C:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _0225CB8C
|
|
add r0, r5, #0
|
|
bl Camera_New
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
ldr r1, _0225CBD0 ; =0x0029AEC1
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
ldr r2, _0225CBD4 ; =ov49_02269A6C
|
|
ldr r3, _0225CBD8 ; =0x000005C1
|
|
add r0, #8
|
|
bl Camera_Init_FromTargetDistanceAndAngle
|
|
ldr r0, [r4]
|
|
bl Camera_SetStaticPtr
|
|
mov r0, #0x96
|
|
mov r1, #0xe1
|
|
ldr r2, [r4]
|
|
lsl r0, r0, #0xc
|
|
lsl r1, r1, #0xe
|
|
bl Camera_SetPerspectiveClippingPlane
|
|
add r0, r4, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_0225CBD0: .word 0x0029AEC1
|
|
_0225CBD4: .word ov49_02269A6C
|
|
_0225CBD8: .word 0x000005C1
|
|
thumb_func_end ov49_0225CB78
|
|
|
|
thumb_func_start ov49_0225CBDC
|
|
ov49_0225CBDC: ; 0x0225CBDC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl Camera_UnsetStaticPtr
|
|
ldr r0, [r4]
|
|
bl Camera_Delete
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225CBDC
|
|
|
|
thumb_func_start ov49_0225CBF4
|
|
ov49_0225CBF4: ; 0x0225CBF4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _0225CC18
|
|
add r1, r4, #0
|
|
add r1, #8
|
|
bl ov49_02259154
|
|
mov r0, #2
|
|
ldr r1, [r4, #8]
|
|
lsl r0, r0, #0xe
|
|
add r1, r1, r0
|
|
str r1, [r4, #8]
|
|
ldr r1, [r4, #0x10]
|
|
lsl r0, r0, #2
|
|
sub r0, r1, r0
|
|
str r0, [r4, #0x10]
|
|
_0225CC18:
|
|
bl Camera_PushLookAtToNNSGlb
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225CBF4
|
|
|
|
thumb_func_start ov49_0225CC20
|
|
ov49_0225CC20: ; 0x0225CC20
|
|
str r1, [r0, #8]
|
|
str r2, [r0, #0xc]
|
|
str r3, [r0, #0x10]
|
|
bx lr
|
|
thumb_func_end ov49_0225CC20
|
|
|
|
thumb_func_start ov49_0225CC28
|
|
ov49_0225CC28: ; 0x0225CC28
|
|
push {r3, r4}
|
|
mov r4, #2
|
|
lsl r4, r4, #0xe
|
|
add r1, r1, r4
|
|
str r1, [r0, #8]
|
|
lsl r1, r4, #2
|
|
str r2, [r0, #0xc]
|
|
sub r1, r3, r1
|
|
str r1, [r0, #0x10]
|
|
pop {r3, r4}
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225CC28
|
|
|
|
thumb_func_start ov49_0225CC40
|
|
ov49_0225CC40: ; 0x0225CC40
|
|
str r1, [r0, #4]
|
|
bx lr
|
|
thumb_func_end ov49_0225CC40
|
|
|
|
thumb_func_start ov49_0225CC44
|
|
ov49_0225CC44: ; 0x0225CC44
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225CC44
|
|
|
|
thumb_func_start ov49_0225CC4C
|
|
ov49_0225CC4C: ; 0x0225CC4C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
ldr r1, _0225CCBC ; =0x000004A4
|
|
add r0, r2, #0
|
|
str r2, [sp]
|
|
bl AllocFromHeap
|
|
ldr r2, _0225CCBC ; =0x000004A4
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
mov r0, #0xb4
|
|
mul r0, r5
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #4]
|
|
bl AllocFromHeap
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0xe4
|
|
add r7, r6, #0
|
|
mul r7, r0
|
|
ldr r0, [sp]
|
|
add r1, r7, #0
|
|
bl AllocFromHeap
|
|
mov r1, #0x12
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
sub r0, r1, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [sp, #4]
|
|
mov r1, #0
|
|
bl memset
|
|
mov r0, #0x12
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
add r2, r7, #0
|
|
bl memset
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
strb r5, [r4, r0]
|
|
add r0, r0, #1
|
|
strb r6, [r4, r0]
|
|
add r0, r4, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225CCBC: .word 0x000004A4
|
|
thumb_func_end ov49_0225CC4C
|
|
|
|
thumb_func_start ov49_0225CCC0
|
|
ov49_0225CCC0: ; 0x0225CCC0
|
|
push {r4, lr}
|
|
mov r1, #0x4a
|
|
add r4, r0, #0
|
|
lsl r1, r1, #2
|
|
ldr r1, [r4, r1]
|
|
cmp r1, #0
|
|
beq _0225CCD2
|
|
bl ov49_0225CE88
|
|
_0225CCD2:
|
|
mov r0, #0x47
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x12
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225CCC0
|
|
|
|
thumb_func_start ov49_0225CCF0
|
|
ov49_0225CCF0: ; 0x0225CCF0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r1, #0x4b
|
|
add r5, r0, #0
|
|
lsl r1, r1, #2
|
|
add r1, r5, r1
|
|
bl ov49_0225D7B8
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _0225CD2C
|
|
mov r7, #0x71
|
|
add r6, r4, #0
|
|
lsl r7, r7, #2
|
|
_0225CD10:
|
|
mov r0, #0x47
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r5, r7
|
|
add r0, r0, r6
|
|
bl ov49_0225DA70
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
add r4, r4, #1
|
|
add r6, #0xb4
|
|
cmp r4, r0
|
|
blt _0225CD10
|
|
_0225CD2C:
|
|
ldr r0, _0225CD54 ; =0x00000125
|
|
mov r6, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _0225CD52
|
|
ldr r7, _0225CD54 ; =0x00000125
|
|
add r4, r6, #0
|
|
_0225CD3A:
|
|
mov r1, #0x12
|
|
lsl r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0
|
|
add r1, r1, r4
|
|
bl ov49_0225DD68
|
|
ldrb r0, [r5, r7]
|
|
add r6, r6, #1
|
|
add r4, #0xe4
|
|
cmp r6, r0
|
|
blt _0225CD3A
|
|
_0225CD52:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225CD54: .word 0x00000125
|
|
thumb_func_end ov49_0225CCF0
|
|
|
|
thumb_func_start ov49_0225CD58
|
|
ov49_0225CD58: ; 0x0225CD58
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
bne _0225CD62
|
|
bl GF_AssertFail
|
|
_0225CD62:
|
|
mov r0, #0x12
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _0225CD70
|
|
bl GF_AssertFail
|
|
_0225CD70:
|
|
mov r0, #0x47
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _0225CD7E
|
|
bl GF_AssertFail
|
|
_0225CD7E:
|
|
mov r1, #0x4b
|
|
lsl r1, r1, #2
|
|
add r0, r5, #0
|
|
add r1, r5, r1
|
|
bl ov49_0225D804
|
|
ldr r0, _0225CDE4 ; =0x00000125
|
|
mov r4, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _0225CDB4
|
|
mov r7, #0xa7
|
|
add r6, r4, #0
|
|
lsl r7, r7, #2
|
|
_0225CD9A:
|
|
mov r1, #0x12
|
|
lsl r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, r7
|
|
add r1, r1, r6
|
|
bl ov49_0225DD0C
|
|
ldr r0, _0225CDE4 ; =0x00000125
|
|
add r4, r4, #1
|
|
ldrb r0, [r5, r0]
|
|
add r6, #0xe4
|
|
cmp r4, r0
|
|
blt _0225CD9A
|
|
_0225CDB4:
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _0225CDE2
|
|
mov r7, #0x71
|
|
add r6, r4, #0
|
|
lsl r7, r7, #2
|
|
_0225CDC6:
|
|
mov r0, #0x47
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r5, r7
|
|
add r0, r0, r6
|
|
bl ov49_0225DAFC
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
add r4, r4, #1
|
|
add r6, #0xb4
|
|
cmp r4, r0
|
|
blt _0225CDC6
|
|
_0225CDE2:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225CDE4: .word 0x00000125
|
|
thumb_func_end ov49_0225CD58
|
|
|
|
thumb_func_start ov49_0225CDE8
|
|
ov49_0225CDE8: ; 0x0225CDE8
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225CDE8
|
|
|
|
thumb_func_start ov49_0225CDEC
|
|
ov49_0225CDEC: ; 0x0225CDEC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225CE80 ; =0x00000127
|
|
add r7, r3, #0
|
|
strb r2, [r5, r0]
|
|
sub r0, r0, #1
|
|
strb r1, [r5, r0]
|
|
add r0, r1, #0
|
|
add r1, r2, #0
|
|
add r2, r7, #0
|
|
ldr r4, [sp, #0x18]
|
|
bl ov49_0225D4FC
|
|
add r6, r0, #0
|
|
mov r0, #0xcb
|
|
add r1, r7, #0
|
|
bl NARC_New
|
|
add r7, r0, #0
|
|
ldr r0, _0225CE84 ; =0x00000494
|
|
add r1, r4, #0
|
|
add r0, r5, r0
|
|
mov r2, #4
|
|
bl GF_ExpHeap_FndInitAllocator
|
|
ldr r0, _0225CE84 ; =0x00000494
|
|
add r1, r7, #0
|
|
add r0, r5, r0
|
|
str r0, [sp]
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r2, r6, #0
|
|
add r3, r4, #0
|
|
bl ov49_0225D5FC
|
|
mov r0, #0xa7
|
|
ldr r2, _0225CE84 ; =0x00000494
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r1, r7, #0
|
|
add r2, r5, r2
|
|
add r3, r6, #0
|
|
str r4, [sp]
|
|
bl ov49_0225DC2C
|
|
mov r0, #0x71
|
|
ldr r2, _0225CE84 ; =0x00000494
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r1, r7, #0
|
|
add r2, r5, r2
|
|
add r3, r6, #0
|
|
str r4, [sp]
|
|
bl ov49_0225D854
|
|
add r0, r7, #0
|
|
bl NARC_Delete
|
|
add r0, r6, #0
|
|
bl ov49_0225D520
|
|
mov r1, #0x4b
|
|
lsl r1, r1, #2
|
|
add r0, r5, #0
|
|
add r1, r5, r1
|
|
bl ov49_0225D6F0
|
|
mov r0, #0x4a
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225CE80: .word 0x00000127
|
|
_0225CE84: .word 0x00000494
|
|
thumb_func_end ov49_0225CDEC
|
|
|
|
thumb_func_start ov49_0225CE88
|
|
ov49_0225CE88: ; 0x0225CE88
|
|
push {r4, lr}
|
|
mov r1, #0x4b
|
|
add r4, r0, #0
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
bl ov49_0225D76C
|
|
mov r0, #0x4b
|
|
ldr r1, _0225CECC ; =0x00000494
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r1, r4, r1
|
|
bl ov49_0225D6AC
|
|
mov r0, #0xa7
|
|
ldr r1, _0225CECC ; =0x00000494
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r1, r4, r1
|
|
bl ov49_0225DCBC
|
|
mov r0, #0x71
|
|
ldr r1, _0225CECC ; =0x00000494
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r1, r4, r1
|
|
bl ov49_0225D9D0
|
|
mov r0, #0x4a
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
nop
|
|
_0225CECC: .word 0x00000494
|
|
thumb_func_end ov49_0225CE88
|
|
|
|
thumb_func_start ov49_0225CED0
|
|
ov49_0225CED0: ; 0x0225CED0
|
|
push {r3, lr}
|
|
mov r2, #7
|
|
add r1, r0, #0
|
|
lsl r2, r2, #6
|
|
ldr r0, [r1, r2]
|
|
cmp r0, #1
|
|
bne _0225CEFA
|
|
add r0, r2, #0
|
|
sub r0, #0xbc
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _0225CEFA
|
|
add r0, r2, #0
|
|
mov r3, #1
|
|
sub r0, #0xbc
|
|
str r3, [r1, r0]
|
|
sub r2, #0x24
|
|
add r0, r1, #4
|
|
add r1, r1, r2
|
|
bl sub_020181D4
|
|
_0225CEFA:
|
|
pop {r3, pc}
|
|
thumb_func_end ov49_0225CED0
|
|
|
|
thumb_func_start ov49_0225CEFC
|
|
ov49_0225CEFC: ; 0x0225CEFC
|
|
push {r4, lr}
|
|
mov r1, #7
|
|
add r4, r0, #0
|
|
lsl r1, r1, #6
|
|
ldr r0, [r4, r1]
|
|
cmp r0, #1
|
|
bne _0225CF26
|
|
add r0, r1, #0
|
|
sub r0, #0xbc
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _0225CF26
|
|
sub r1, #0x24
|
|
add r0, r4, #4
|
|
add r1, r4, r1
|
|
bl sub_020181E0
|
|
mov r0, #0x41
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_0225CF26:
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_0225CEFC
|
|
|
|
thumb_func_start ov49_0225CF28
|
|
ov49_0225CF28: ; 0x0225CF28
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
add r6, r2, #0
|
|
str r3, [sp]
|
|
cmp r5, #2
|
|
ble _0225CF3C
|
|
bl GF_AssertFail
|
|
_0225CF3C:
|
|
cmp r6, #3
|
|
ble _0225CF44
|
|
bl GF_AssertFail
|
|
_0225CF44:
|
|
add r0, r7, #0
|
|
bl ov49_0225D820
|
|
mov r1, #0x71
|
|
lsl r1, r1, #2
|
|
add r4, r0, #0
|
|
add r2, r7, r1
|
|
lsl r1, r5, #4
|
|
add r0, r4, #4
|
|
add r1, r2, r1
|
|
bl sub_020181B0
|
|
add r0, r4, #4
|
|
mov r1, #1
|
|
bl sub_020182A0
|
|
ldr r1, [sp]
|
|
add r0, r4, #0
|
|
bl ov49_0225CFA8
|
|
add r1, sp, #4
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
str r0, [r1, #4]
|
|
str r0, [r1, #8]
|
|
add r0, r4, #0
|
|
bl ov49_0225CFEC
|
|
strb r6, [r4, #1]
|
|
add r0, r4, #0
|
|
strb r5, [r4, #2]
|
|
mov r1, #1
|
|
strb r1, [r4]
|
|
str r1, [r4, #0x7c]
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225CF28
|
|
|
|
thumb_func_start ov49_0225CF94
|
|
ov49_0225CF94: ; 0x0225CF94
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, r4, #4
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225CF94
|
|
|
|
thumb_func_start ov49_0225CFA8
|
|
ov49_0225CFA8: ; 0x0225CFA8
|
|
push {r4, lr}
|
|
add r3, r0, #0
|
|
add r4, r1, #0
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
add r2, #0x9c
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r4]
|
|
add r1, r3, #0
|
|
str r0, [r2]
|
|
add r1, #0x9c
|
|
ldr r2, [r1]
|
|
add r1, r3, #0
|
|
add r1, #0xa8
|
|
ldr r1, [r1]
|
|
add r0, r3, #4
|
|
add r1, r2, r1
|
|
add r2, r3, #0
|
|
add r2, #0xa0
|
|
ldr r4, [r2]
|
|
add r2, r3, #0
|
|
add r2, #0xac
|
|
ldr r2, [r2]
|
|
add r2, r4, r2
|
|
add r4, r3, #0
|
|
add r4, #0xa4
|
|
add r3, #0xb0
|
|
ldr r4, [r4]
|
|
ldr r3, [r3]
|
|
add r3, r4, r3
|
|
bl sub_020182A8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225CFA8
|
|
|
|
thumb_func_start ov49_0225CFEC
|
|
ov49_0225CFEC: ; 0x0225CFEC
|
|
push {r4, lr}
|
|
add r3, r0, #0
|
|
add r4, r1, #0
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
add r2, #0xa8
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r4]
|
|
add r1, r3, #0
|
|
str r0, [r2]
|
|
add r1, #0x9c
|
|
ldr r2, [r1]
|
|
add r1, r3, #0
|
|
add r1, #0xa8
|
|
ldr r1, [r1]
|
|
add r0, r3, #4
|
|
add r1, r2, r1
|
|
add r2, r3, #0
|
|
add r2, #0xa0
|
|
ldr r4, [r2]
|
|
add r2, r3, #0
|
|
add r2, #0xac
|
|
ldr r2, [r2]
|
|
add r2, r4, r2
|
|
add r4, r3, #0
|
|
add r4, #0xa4
|
|
add r3, #0xb0
|
|
ldr r4, [r4]
|
|
ldr r3, [r3]
|
|
add r3, r4, r3
|
|
bl sub_020182A8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225CFEC
|
|
|
|
thumb_func_start ov49_0225D030
|
|
ov49_0225D030: ; 0x0225D030
|
|
push {r3, lr}
|
|
add r3, r1, #0
|
|
add r0, r0, #4
|
|
add r2, r1, #4
|
|
add r3, #8
|
|
bl sub_020182B0
|
|
pop {r3, pc}
|
|
thumb_func_end ov49_0225D030
|
|
|
|
thumb_func_start ov49_0225D040
|
|
ov49_0225D040: ; 0x0225D040
|
|
ldr r3, _0225D048 ; =sub_020182A0
|
|
add r0, r0, #4
|
|
bx r3
|
|
nop
|
|
_0225D048: .word sub_020182A0
|
|
thumb_func_end ov49_0225D040
|
|
|
|
thumb_func_start ov49_0225D04C
|
|
ov49_0225D04C: ; 0x0225D04C
|
|
add r1, r0, #0
|
|
add r1, #0x80
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
bne _0225D060
|
|
mov r1, #1
|
|
add r0, #0x80
|
|
str r1, [r0]
|
|
add r0, r1, #0
|
|
bx lr
|
|
_0225D060:
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end ov49_0225D04C
|
|
|
|
thumb_func_start ov49_0225D064
|
|
ov49_0225D064: ; 0x0225D064
|
|
add r1, r0, #0
|
|
add r1, #0x88
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
bne _0225D078
|
|
mov r1, #1
|
|
add r0, #0x88
|
|
str r1, [r0]
|
|
add r0, r1, #0
|
|
bx lr
|
|
_0225D078:
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end ov49_0225D064
|
|
|
|
thumb_func_start ov49_0225D07C
|
|
ov49_0225D07C: ; 0x0225D07C
|
|
ldr r3, _0225D084 ; =sub_020182E0
|
|
add r0, r0, #4
|
|
mov r2, #0
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225D084: .word sub_020182E0
|
|
thumb_func_end ov49_0225D07C
|
|
|
|
thumb_func_start ov49_0225D088
|
|
ov49_0225D088: ; 0x0225D088
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D088
|
|
|
|
thumb_func_start ov49_0225D090
|
|
ov49_0225D090: ; 0x0225D090
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D090
|
|
|
|
thumb_func_start ov49_0225D098
|
|
ov49_0225D098: ; 0x0225D098
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r7, r0, #0
|
|
str r1, [sp]
|
|
str r2, [sp, #4]
|
|
str r3, [sp, #8]
|
|
bl ov49_0225DBF8
|
|
mov r1, #0xa7
|
|
lsl r1, r1, #2
|
|
add r2, r7, r1
|
|
ldr r1, [sp]
|
|
str r0, [sp, #0xc]
|
|
lsl r1, r1, #4
|
|
add r0, r0, #4
|
|
add r1, r2, r1
|
|
bl sub_020181B0
|
|
ldr r5, [sp, #0xc]
|
|
ldr r0, [sp]
|
|
mov r1, #0xc
|
|
mul r1, r0
|
|
mov r0, #0xa7
|
|
lsl r0, r0, #2
|
|
add r0, r7, r0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp]
|
|
mov r6, #0
|
|
lsl r0, r0, #4
|
|
add r4, r7, r1
|
|
add r5, #0x7c
|
|
str r0, [sp, #0x14]
|
|
_0225D0D8:
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r2, [r4, r0]
|
|
cmp r2, #0
|
|
beq _0225D0F2
|
|
ldr r3, [sp, #0x10]
|
|
ldr r1, [sp, #0x14]
|
|
add r0, r5, #0
|
|
add r1, r3, r1
|
|
ldr r3, _0225D15C ; =0x00000494
|
|
add r3, r7, r3
|
|
bl sub_020180E8
|
|
_0225D0F2:
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, #0x14
|
|
cmp r6, #3
|
|
blt _0225D0D8
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #1
|
|
add r0, r0, #4
|
|
bl sub_020182A0
|
|
ldr r0, [sp, #4]
|
|
add r1, sp, #0x18
|
|
lsl r0, r0, #4
|
|
strh r0, [r1]
|
|
ldr r0, [sp, #8]
|
|
mov r3, sp
|
|
lsl r0, r0, #4
|
|
strh r0, [r1, #2]
|
|
ldrh r2, [r1]
|
|
sub r3, r3, #4
|
|
ldr r0, [sp, #0xc]
|
|
strh r2, [r3]
|
|
ldrh r1, [r1, #2]
|
|
strh r1, [r3, #2]
|
|
ldr r1, [r3]
|
|
bl ov49_0225D1C4
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #1
|
|
ldr r1, [sp]
|
|
strh r2, [r0]
|
|
strh r1, [r0, #2]
|
|
mov r1, #0x14
|
|
add r0, #0xcc
|
|
strb r1, [r0]
|
|
ldr r0, [sp, #0xc]
|
|
lsl r1, r2, #0xc
|
|
add r0, #0xdc
|
|
str r1, [r0]
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0
|
|
add r0, #0xe0
|
|
strb r1, [r0]
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0x1f
|
|
add r0, #0xe1
|
|
strb r1, [r0]
|
|
ldr r0, [sp, #0xc]
|
|
add r0, #0xe2
|
|
strb r1, [r0]
|
|
ldr r0, [sp, #0xc]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225D15C: .word 0x00000494
|
|
thumb_func_end ov49_0225D098
|
|
|
|
thumb_func_start ov49_0225D160
|
|
ov49_0225D160: ; 0x0225D160
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
add r0, r1, #4
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
mov r0, #0xa7
|
|
ldr r5, [sp]
|
|
lsl r0, r0, #2
|
|
mov r7, #0
|
|
add r0, r6, r0
|
|
add r4, r7, #0
|
|
add r5, #0x7c
|
|
str r0, [sp, #4]
|
|
_0225D180:
|
|
ldr r0, [sp]
|
|
ldrh r1, [r0, #2]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r0, r6, r0
|
|
add r2, r4, r0
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r2, [r2, r0]
|
|
cmp r2, #0
|
|
beq _0225D1A6
|
|
lsl r3, r1, #4
|
|
ldr r1, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r1, r3
|
|
ldr r3, _0225D1BC ; =0x00000494
|
|
add r3, r6, r3
|
|
bl sub_020180E8
|
|
_0225D1A6:
|
|
add r7, r7, #1
|
|
add r4, r4, #4
|
|
add r5, #0x14
|
|
cmp r7, #3
|
|
blt _0225D180
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225D1BC: .word 0x00000494
|
|
thumb_func_end ov49_0225D160
|
|
|
|
thumb_func_start ov49_0225D1C0
|
|
ov49_0225D1C0: ; 0x0225D1C0
|
|
ldrh r0, [r0, #2]
|
|
bx lr
|
|
thumb_func_end ov49_0225D1C0
|
|
|
|
thumb_func_start ov49_0225D1C4
|
|
ov49_0225D1C4: ; 0x0225D1C4
|
|
push {r0, r1, r2, r3}
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
add r0, sp, #0x1c
|
|
add r1, sp, #0
|
|
bl ov49_02258800
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
ldr r3, [sp, #8]
|
|
add r0, r4, #4
|
|
bl sub_020182A8
|
|
add sp, #0xc
|
|
pop {r3, r4}
|
|
pop {r3}
|
|
add sp, #0x10
|
|
bx r3
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D1C4
|
|
|
|
thumb_func_start ov49_0225D1EC
|
|
ov49_0225D1EC: ; 0x0225D1EC
|
|
push {r3, lr}
|
|
sub sp, #0x10
|
|
add r0, r0, #4
|
|
add r1, sp, #4
|
|
add r2, sp, #8
|
|
add r3, sp, #0xc
|
|
bl sub_020182B0
|
|
add r0, sp, #4
|
|
add r1, sp, #0
|
|
bl ov49_02258814
|
|
add r0, sp, #0
|
|
ldrh r1, [r0, #2]
|
|
ldrh r0, [r0]
|
|
lsl r1, r1, #0x10
|
|
orr r0, r1
|
|
add sp, #0x10
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D1EC
|
|
|
|
thumb_func_start ov49_0225D214
|
|
ov49_0225D214: ; 0x0225D214
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
mov r4, #0
|
|
str r4, [sp]
|
|
bl ov49_0225D224
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov49_0225D214
|
|
|
|
thumb_func_start ov49_0225D224
|
|
ov49_0225D224: ; 0x0225D224
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r2, #0
|
|
str r0, [sp]
|
|
add r4, r1, #0
|
|
add r7, r3, #0
|
|
cmp r5, #3
|
|
blt _0225D238
|
|
bl GF_AssertFail
|
|
_0225D238:
|
|
cmp r7, #7
|
|
blt _0225D240
|
|
bl GF_AssertFail
|
|
_0225D240:
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0x12
|
|
blo _0225D24A
|
|
bl GF_AssertFail
|
|
_0225D24A:
|
|
ldrh r0, [r4, #2]
|
|
mov r1, #0xc
|
|
lsl r6, r5, #2
|
|
mul r1, r0
|
|
ldr r0, [sp]
|
|
add r0, r0, r1
|
|
add r1, r0, r6
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _0225D324
|
|
add r0, r4, #0
|
|
str r0, [sp, #4]
|
|
add r0, #0xb8
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r0, r5]
|
|
cmp r0, #0
|
|
bne _0225D280
|
|
add r2, r4, #0
|
|
mov r1, #0x14
|
|
add r2, #0x7c
|
|
mul r1, r5
|
|
add r0, r4, #4
|
|
add r1, r2, r1
|
|
bl sub_020181D4
|
|
_0225D280:
|
|
ldr r0, [sp, #4]
|
|
mov r1, #1
|
|
strb r1, [r0, r5]
|
|
add r0, r4, r5
|
|
add r0, #0xbc
|
|
strb r7, [r0]
|
|
add r0, r4, r6
|
|
ldr r1, [sp, #0x20]
|
|
add r0, #0xd0
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
str r0, [sp, #8]
|
|
add r0, #0xcd
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
ldr r1, [sp, #8]
|
|
cmp r7, #6
|
|
strb r0, [r1, r5]
|
|
bhi _0225D310
|
|
add r1, r7, r7
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_0225D2B2: ; jump table
|
|
.short _0225D2C0 - _0225D2B2 - 2 ; case 0
|
|
.short _0225D2C0 - _0225D2B2 - 2 ; case 1
|
|
.short _0225D2C0 - _0225D2B2 - 2 ; case 2
|
|
.short _0225D2C8 - _0225D2B2 - 2 ; case 3
|
|
.short _0225D2C8 - _0225D2B2 - 2 ; case 4
|
|
.short _0225D2DE - _0225D2B2 - 2 ; case 5
|
|
.short _0225D2F8 - _0225D2B2 - 2 ; case 6
|
|
_0225D2C0:
|
|
add r1, r4, r6
|
|
add r1, #0xc0
|
|
str r0, [r1]
|
|
b _0225D310
|
|
_0225D2C8:
|
|
add r1, r4, #0
|
|
mov r0, #0x14
|
|
add r1, #0x7c
|
|
mul r0, r5
|
|
add r0, r1, r0
|
|
bl sub_020181A4
|
|
add r1, r4, r6
|
|
add r1, #0xc0
|
|
str r0, [r1]
|
|
b _0225D310
|
|
_0225D2DE:
|
|
add r1, r4, r6
|
|
add r1, #0xc0
|
|
str r0, [r1]
|
|
bl MTRandom
|
|
add r1, r4, #0
|
|
add r1, #0xcc
|
|
ldrb r1, [r1]
|
|
bl _u32_div_f
|
|
ldr r0, [sp, #8]
|
|
strb r1, [r0, r5]
|
|
b _0225D310
|
|
_0225D2F8:
|
|
add r1, r4, r6
|
|
add r1, #0xc0
|
|
str r0, [r1]
|
|
bl MTRandom
|
|
add r1, r4, #0
|
|
add r1, #0xcc
|
|
ldrb r1, [r1]
|
|
bl _u32_div_f
|
|
ldr r0, [sp, #8]
|
|
strb r1, [r0, r5]
|
|
_0225D310:
|
|
add r1, r4, #0
|
|
mov r0, #0x14
|
|
add r1, #0x7c
|
|
mul r0, r5
|
|
add r0, r1, r0
|
|
add r1, r4, r6
|
|
add r1, #0xc0
|
|
ldr r1, [r1]
|
|
bl sub_02018198
|
|
_0225D324:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225D224
|
|
|
|
thumb_func_start ov49_0225D328
|
|
ov49_0225D328: ; 0x0225D328
|
|
push {r4, r5, r6, lr}
|
|
add r4, r2, #0
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
cmp r4, #3
|
|
blt _0225D338
|
|
bl GF_AssertFail
|
|
_0225D338:
|
|
ldrh r0, [r5, #2]
|
|
cmp r0, #0x12
|
|
blo _0225D342
|
|
bl GF_AssertFail
|
|
_0225D342:
|
|
ldrh r1, [r5, #2]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r1, r6, r0
|
|
lsl r0, r4, #2
|
|
add r1, r1, r0
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _0225D390
|
|
add r6, r5, #0
|
|
add r6, #0xb8
|
|
ldrb r0, [r6, r4]
|
|
cmp r0, #1
|
|
bne _0225D390
|
|
add r2, r5, #0
|
|
mov r1, #0x14
|
|
add r2, #0x7c
|
|
mul r1, r4
|
|
add r0, r5, #4
|
|
add r1, r2, r1
|
|
bl sub_020181E0
|
|
lsl r2, r4, #2
|
|
mov r0, #0
|
|
add r1, r5, r2
|
|
strb r0, [r6, r4]
|
|
add r1, #0xc0
|
|
str r0, [r1]
|
|
add r1, r5, r4
|
|
add r1, #0xbc
|
|
strb r0, [r1]
|
|
add r1, r5, r4
|
|
add r1, #0xcd
|
|
strb r0, [r1]
|
|
add r1, r5, r2
|
|
add r1, #0xd0
|
|
str r0, [r1]
|
|
_0225D390:
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D328
|
|
|
|
thumb_func_start ov49_0225D394
|
|
ov49_0225D394: ; 0x0225D394
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
mov r4, #0
|
|
_0225D39C:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_0225D450
|
|
cmp r0, #1
|
|
bne _0225D3B2
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl ov49_0225D328
|
|
_0225D3B2:
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _0225D39C
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D394
|
|
|
|
thumb_func_start ov49_0225D3BC
|
|
ov49_0225D3BC: ; 0x0225D3BC
|
|
push {r4, r5, r6, lr}
|
|
add r4, r2, #0
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
cmp r4, #3
|
|
blt _0225D3CC
|
|
bl GF_AssertFail
|
|
_0225D3CC:
|
|
ldrh r0, [r5, #2]
|
|
cmp r0, #0x12
|
|
blo _0225D3D6
|
|
bl GF_AssertFail
|
|
_0225D3D6:
|
|
ldrh r1, [r5, #2]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r1, r6, r0
|
|
lsl r0, r4, #2
|
|
add r1, r1, r0
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _0225D3F4
|
|
add r0, r5, r4
|
|
add r0, #0xb8
|
|
ldrb r0, [r0]
|
|
pop {r4, r5, r6, pc}
|
|
_0225D3F4:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_0225D3BC
|
|
|
|
thumb_func_start ov49_0225D3F8
|
|
ov49_0225D3F8: ; 0x0225D3F8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r2, #0
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
add r7, r3, #0
|
|
cmp r4, #3
|
|
blt _0225D40A
|
|
bl GF_AssertFail
|
|
_0225D40A:
|
|
ldrh r0, [r5, #2]
|
|
cmp r0, #0x12
|
|
blo _0225D414
|
|
bl GF_AssertFail
|
|
_0225D414:
|
|
ldrh r1, [r5, #2]
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r1, r6, r0
|
|
lsl r0, r4, #2
|
|
add r1, r1, r0
|
|
mov r0, #0xef
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _0225D42E
|
|
bl GF_AssertFail
|
|
_0225D42E:
|
|
add r0, r5, r4
|
|
add r0, #0xbc
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
bne _0225D44E
|
|
add r2, r5, #0
|
|
mov r0, #0x14
|
|
add r2, #0xc0
|
|
lsl r1, r4, #2
|
|
str r7, [r2, r1]
|
|
add r5, #0x7c
|
|
mul r0, r4
|
|
ldr r1, [r2, r1]
|
|
add r0, r5, r0
|
|
bl sub_02018198
|
|
_0225D44E:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225D3F8
|
|
|
|
thumb_func_start ov49_0225D450
|
|
ov49_0225D450: ; 0x0225D450
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #3
|
|
blt _0225D45E
|
|
bl GF_AssertFail
|
|
_0225D45E:
|
|
ldrh r0, [r5, #2]
|
|
cmp r0, #0x12
|
|
blo _0225D468
|
|
bl GF_AssertFail
|
|
_0225D468:
|
|
add r0, r5, r4
|
|
add r0, #0xb8
|
|
ldrb r0, [r0]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0225D450
|
|
|
|
thumb_func_start ov49_0225D470
|
|
ov49_0225D470: ; 0x0225D470
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #3
|
|
blt _0225D47E
|
|
bl GF_AssertFail
|
|
_0225D47E:
|
|
ldrh r0, [r5, #2]
|
|
cmp r0, #0x12
|
|
blo _0225D488
|
|
bl GF_AssertFail
|
|
_0225D488:
|
|
lsl r0, r4, #2
|
|
add r0, r5, r0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D470
|
|
|
|
thumb_func_start ov49_0225D494
|
|
ov49_0225D494: ; 0x0225D494
|
|
ldr r3, _0225D49C ; =sub_020182A0
|
|
add r0, r0, #4
|
|
bx r3
|
|
nop
|
|
_0225D49C: .word sub_020182A0
|
|
thumb_func_end ov49_0225D494
|
|
|
|
thumb_func_start ov49_0225D4A0
|
|
ov49_0225D4A0: ; 0x0225D4A0
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldrh r0, [r4, #2]
|
|
add r6, r2, #0
|
|
cmp r0, #0x12
|
|
blo _0225D4B2
|
|
bl GF_AssertFail
|
|
_0225D4B2:
|
|
ldrh r0, [r4, #2]
|
|
lsl r0, r0, #4
|
|
add r1, r5, r0
|
|
mov r0, #0xa9
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
add r1, r6, #0
|
|
bl NNS_G3dMdlSetMdlLightEnableFlagAll
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D4A0
|
|
|
|
thumb_func_start ov49_0225D4C8
|
|
ov49_0225D4C8: ; 0x0225D4C8
|
|
add r0, #0xdc
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D4C8
|
|
|
|
thumb_func_start ov49_0225D4D0
|
|
ov49_0225D4D0: ; 0x0225D4D0
|
|
push {r3, r4}
|
|
add r3, r0, #0
|
|
mov r4, #1
|
|
add r3, #0xe0
|
|
strb r4, [r3]
|
|
add r3, r0, #0
|
|
add r3, #0xe1
|
|
strb r1, [r3]
|
|
add r0, #0xe2
|
|
strb r2, [r0]
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov49_0225D4D0
|
|
|
|
thumb_func_start ov49_0225D4E8
|
|
ov49_0225D4E8: ; 0x0225D4E8
|
|
mov r1, #0
|
|
add r0, #0xe0
|
|
strb r1, [r0]
|
|
bx lr
|
|
thumb_func_end ov49_0225D4E8
|
|
|
|
thumb_func_start ov49_0225D4F0
|
|
ov49_0225D4F0: ; 0x0225D4F0
|
|
push {r3, lr}
|
|
add r0, r0, #4
|
|
bl sub_020182C4
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D4F0
|
|
|
|
thumb_func_start ov49_0225D4FC
|
|
ov49_0225D4FC: ; 0x0225D4FC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r2, #0
|
|
lsl r2, r1, #2
|
|
add r1, r1, r2
|
|
add r4, r0, r1
|
|
cmp r4, #0x19
|
|
blo _0225D50E
|
|
bl GF_AssertFail
|
|
_0225D50E:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0xca
|
|
add r1, r4, #1
|
|
mov r2, #0
|
|
add r3, r5, #0
|
|
bl GfGfxLoader_LoadFromNarc
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0225D4FC
|
|
|
|
thumb_func_start ov49_0225D520
|
|
ov49_0225D520: ; 0x0225D520
|
|
ldr r3, _0225D524 ; =FreeToHeap
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225D524: .word FreeToHeap
|
|
thumb_func_end ov49_0225D520
|
|
|
|
thumb_func_start ov49_0225D528
|
|
ov49_0225D528: ; 0x0225D528
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov49_02258830
|
|
ldr r0, [r4]
|
|
bl NNS_G3dGetMdlSet
|
|
str r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _0225D55C
|
|
add r2, r0, #0
|
|
add r2, #8
|
|
beq _0225D550
|
|
ldrb r1, [r0, #9]
|
|
cmp r1, #0
|
|
bls _0225D550
|
|
ldrh r1, [r0, #0xe]
|
|
add r1, r2, r1
|
|
add r1, r1, #4
|
|
b _0225D552
|
|
_0225D550:
|
|
mov r1, #0
|
|
_0225D552:
|
|
cmp r1, #0
|
|
beq _0225D55C
|
|
ldr r1, [r1]
|
|
add r0, r0, r1
|
|
b _0225D55E
|
|
_0225D55C:
|
|
mov r0, #0
|
|
_0225D55E:
|
|
str r0, [r4, #8]
|
|
ldr r0, [r4]
|
|
bl NNS_G3dGetTex
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #0xc]
|
|
bl Bind3dModelSet
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D528
|
|
|
|
thumb_func_start ov49_0225D574
|
|
ov49_0225D574: ; 0x0225D574
|
|
ldr r3, _0225D578 ; =sub_02018068
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225D578: .word sub_02018068
|
|
thumb_func_end ov49_0225D574
|
|
|
|
thumb_func_start ov49_0225D57C
|
|
ov49_0225D57C: ; 0x0225D57C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
add r4, r2, #0
|
|
bl sub_020181A4
|
|
add r1, r0, #0
|
|
ldr r0, [r5]
|
|
add r0, r0, r4
|
|
cmp r0, r1
|
|
bge _0225D596
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, pc}
|
|
_0225D596:
|
|
bl _s32_div_f
|
|
str r1, [r5]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D57C
|
|
|
|
thumb_func_start ov49_0225D5A0
|
|
ov49_0225D5A0: ; 0x0225D5A0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
add r4, r2, #0
|
|
bl sub_020181A4
|
|
ldr r1, [r5]
|
|
add r1, r1, r4
|
|
cmp r1, r0
|
|
bge _0225D5BA
|
|
str r1, [r5]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_0225D5BA:
|
|
mov r1, #2
|
|
lsl r1, r1, #0xa
|
|
sub r0, r0, r1
|
|
str r0, [r5]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D5A0
|
|
|
|
thumb_func_start ov49_0225D5C8
|
|
ov49_0225D5C8: ; 0x0225D5C8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
add r4, r2, #0
|
|
bl sub_020181A4
|
|
ldr r1, [r5]
|
|
sub r1, r1, r4
|
|
bmi _0225D5DE
|
|
str r1, [r5]
|
|
pop {r3, r4, r5, pc}
|
|
_0225D5DE:
|
|
add r0, r0, r1
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0225D5C8
|
|
|
|
thumb_func_start ov49_0225D5E4
|
|
ov49_0225D5E4: ; 0x0225D5E4
|
|
ldr r1, [r0]
|
|
sub r1, r1, r2
|
|
cmp r1, #0
|
|
ble _0225D5F2
|
|
str r1, [r0]
|
|
mov r0, #0
|
|
bx lr
|
|
_0225D5F2:
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D5E4
|
|
|
|
thumb_func_start ov49_0225D5FC
|
|
ov49_0225D5FC: ; 0x0225D5FC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x30]
|
|
mov r7, #6
|
|
ldr r5, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
str r0, [sp, #0x30]
|
|
mov r6, #0
|
|
add r4, r2, #0
|
|
lsl r7, r7, #6
|
|
_0225D616:
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [r4, r7]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, r5, #0
|
|
bl ov49_0225D528
|
|
ldr r0, [r5]
|
|
bl ov45_0222D740
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, #0x10
|
|
cmp r6, #2
|
|
blt _0225D616
|
|
ldr r6, [sp, #8]
|
|
ldr r4, [sp, #0x10]
|
|
add r0, r6, #0
|
|
add r5, r6, #0
|
|
str r0, [sp, #0x18]
|
|
add r0, #0x10
|
|
mov r7, #0
|
|
add r5, #0x20
|
|
str r0, [sp, #0x18]
|
|
_0225D644:
|
|
mov r0, #6
|
|
ldr r1, [sp, #0x10]
|
|
lsl r0, r0, #6
|
|
ldr r1, [r1, r0]
|
|
add r0, #0xc
|
|
ldr r0, [r4, r0]
|
|
cmp r1, r0
|
|
bne _0225D65E
|
|
add r1, r6, #0
|
|
add r1, #0x84
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
b _0225D69C
|
|
_0225D65E:
|
|
add r1, r6, #0
|
|
add r1, #0x84
|
|
mov r0, #1
|
|
str r0, [r1]
|
|
cmp r7, #3
|
|
beq _0225D684
|
|
ldr r0, [sp, #0x14]
|
|
mov r3, #0x63
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x30]
|
|
lsl r3, r3, #2
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r3, [r4, r3]
|
|
add r0, r5, #0
|
|
bl sub_020180BC
|
|
b _0225D69C
|
|
_0225D684:
|
|
ldr r0, [sp, #0x14]
|
|
mov r3, #0x63
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x30]
|
|
lsl r3, r3, #2
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r3, [r4, r3]
|
|
add r0, r5, #0
|
|
bl sub_020180BC
|
|
_0225D69C:
|
|
add r7, r7, #1
|
|
add r4, r4, #4
|
|
add r6, r6, #4
|
|
add r5, #0x14
|
|
cmp r7, #5
|
|
blt _0225D644
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225D5FC
|
|
|
|
thumb_func_start ov49_0225D6AC
|
|
ov49_0225D6AC: ; 0x0225D6AC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r5, r6, #0
|
|
str r1, [sp]
|
|
mov r7, #0
|
|
add r4, r6, #0
|
|
add r5, #0x20
|
|
_0225D6BA:
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _0225D6D4
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
bl sub_020180F8
|
|
add r1, r4, #0
|
|
add r1, #0x84
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
_0225D6D4:
|
|
add r7, r7, #1
|
|
add r4, r4, #4
|
|
add r5, #0x14
|
|
cmp r7, #5
|
|
blt _0225D6BA
|
|
mov r4, #0
|
|
_0225D6E0:
|
|
add r0, r6, #0
|
|
bl ov49_0225D574
|
|
add r4, r4, #1
|
|
add r6, #0x10
|
|
cmp r4, #2
|
|
blt _0225D6E0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225D6AC
|
|
|
|
thumb_func_start ov49_0225D6F0
|
|
ov49_0225D6F0: ; 0x0225D6F0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r6, r0, #0
|
|
mov r0, #1
|
|
add r7, r1, #0
|
|
str r0, [r6]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r4, r7, #0
|
|
add r5, r6, #4
|
|
_0225D704:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl sub_020181B0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl sub_020182A0
|
|
ldr r0, [sp]
|
|
add r4, #0x10
|
|
add r0, r0, #1
|
|
add r5, #0x78
|
|
str r0, [sp]
|
|
cmp r0, #2
|
|
blt _0225D704
|
|
add r0, r6, #0
|
|
str r0, [sp, #8]
|
|
add r0, #0x7c
|
|
add r4, r7, #0
|
|
str r0, [sp, #8]
|
|
add r0, r6, #4
|
|
mov r5, #0
|
|
add r4, #0x20
|
|
str r0, [sp, #4]
|
|
_0225D734:
|
|
add r0, r7, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
bne _0225D75C
|
|
add r1, r6, #0
|
|
add r1, #0xf4
|
|
mov r0, #1
|
|
str r0, [r1]
|
|
cmp r5, #3
|
|
beq _0225D754
|
|
ldr r0, [sp, #4]
|
|
add r1, r4, #0
|
|
bl sub_020181D4
|
|
b _0225D75C
|
|
_0225D754:
|
|
ldr r0, [sp, #8]
|
|
add r1, r4, #0
|
|
bl sub_020181D4
|
|
_0225D75C:
|
|
add r5, r5, #1
|
|
add r7, r7, #4
|
|
add r6, r6, #4
|
|
add r4, #0x14
|
|
cmp r5, #4
|
|
blt _0225D734
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225D6F0
|
|
|
|
thumb_func_start ov49_0225D76C
|
|
ov49_0225D76C: ; 0x0225D76C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
str r0, [sp]
|
|
add r0, #0x7c
|
|
mov r6, #0
|
|
add r4, r7, #0
|
|
add r5, #0x20
|
|
str r0, [sp]
|
|
_0225D77E:
|
|
add r0, r4, #0
|
|
add r0, #0xf4
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
bne _0225D7A6
|
|
add r1, r4, #0
|
|
add r1, #0xf4
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
cmp r6, #3
|
|
beq _0225D79E
|
|
add r0, r7, #4
|
|
add r1, r5, #0
|
|
bl sub_020181E0
|
|
b _0225D7A6
|
|
_0225D79E:
|
|
ldr r0, [sp]
|
|
add r1, r5, #0
|
|
bl sub_020181E0
|
|
_0225D7A6:
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, #0x14
|
|
cmp r6, #4
|
|
blt _0225D77E
|
|
mov r0, #0
|
|
str r0, [r7]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D76C
|
|
|
|
thumb_func_start ov49_0225D7B8
|
|
ov49_0225D7B8: ; 0x0225D7B8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r4, r1, #0
|
|
mov r0, #0x42
|
|
add r4, #0x20
|
|
lsl r0, r0, #2
|
|
add r6, r5, r0
|
|
add r7, r4, #0
|
|
_0225D7CC:
|
|
add r0, r5, #0
|
|
add r0, #0xf4
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _0225D7EE
|
|
mov r2, #1
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
lsl r2, r2, #0xc
|
|
bl ov49_0225D57C
|
|
mov r1, #0x42
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
add r0, r7, #0
|
|
bl sub_02018198
|
|
_0225D7EE:
|
|
ldr r0, [sp]
|
|
add r5, r5, #4
|
|
add r0, r0, #1
|
|
add r4, #0x14
|
|
add r6, r6, #4
|
|
add r7, #0x14
|
|
str r0, [sp]
|
|
cmp r0, #5
|
|
blt _0225D7CC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D7B8
|
|
|
|
thumb_func_start ov49_0225D804
|
|
ov49_0225D804: ; 0x0225D804
|
|
push {r3, r4, r5, lr}
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
beq _0225D81E
|
|
mov r4, #0
|
|
add r5, r0, #4
|
|
_0225D810:
|
|
add r0, r5, #0
|
|
bl sub_020181EC
|
|
add r4, r4, #1
|
|
add r5, #0x78
|
|
cmp r4, #2
|
|
blt _0225D810
|
|
_0225D81E:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0225D804
|
|
|
|
thumb_func_start ov49_0225D820
|
|
ov49_0225D820: ; 0x0225D820
|
|
push {r4, lr}
|
|
mov r1, #0x49
|
|
lsl r1, r1, #2
|
|
ldrb r4, [r0, r1]
|
|
mov r2, #0
|
|
cmp r4, #0
|
|
ble _0225D84A
|
|
sub r1, #8
|
|
ldr r3, [r0, r1]
|
|
add r1, r3, #0
|
|
_0225D834:
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
bne _0225D842
|
|
mov r0, #0xb4
|
|
mul r0, r2
|
|
add r0, r3, r0
|
|
pop {r4, pc}
|
|
_0225D842:
|
|
add r2, r2, #1
|
|
add r1, #0xb4
|
|
cmp r2, r4
|
|
blt _0225D834
|
|
_0225D84A:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225D820
|
|
|
|
thumb_func_start ov49_0225D854
|
|
ov49_0225D854: ; 0x0225D854
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x44
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x58]
|
|
mov r7, #0x4a
|
|
str r0, [sp, #0x58]
|
|
mov r0, #0
|
|
str r0, [sp, #0x40]
|
|
add r0, r3, #0
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
str r0, [sp, #0x20]
|
|
add r0, #0x20
|
|
str r2, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
str r0, [sp, #0x20]
|
|
lsl r7, r7, #2
|
|
_0225D878:
|
|
ldr r4, [sp, #0x24]
|
|
ldr r5, [sp, #0x20]
|
|
mov r6, #0
|
|
_0225D87E:
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [r4, r7]
|
|
ldr r3, [sp, #0x58]
|
|
add r0, r5, #0
|
|
bl ov49_02258830
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, r5, #4
|
|
cmp r6, #3
|
|
blt _0225D87E
|
|
ldr r0, [sp, #0x24]
|
|
add r0, #0xc
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x20]
|
|
add r0, #0xc
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x40]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x40]
|
|
cmp r0, #2
|
|
blt _0225D878
|
|
ldr r4, [sp, #8]
|
|
ldr r6, [sp, #0x14]
|
|
mov r7, #0
|
|
add r5, r4, #0
|
|
_0225D8B2:
|
|
mov r0, #0
|
|
mov r1, #0x12
|
|
str r0, [sp]
|
|
lsl r1, r1, #4
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [r6, r1]
|
|
ldr r3, [sp, #0x58]
|
|
mov r2, #0
|
|
bl GfGfxLoader_LoadFromOpenNarc
|
|
str r0, [r4]
|
|
bl NNS_G3dGetMdlSet
|
|
str r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _0225D8F2
|
|
add r1, r0, #0
|
|
add r1, #8
|
|
beq _0225D8E6
|
|
ldrb r2, [r0, #9]
|
|
cmp r2, #0
|
|
bls _0225D8E6
|
|
ldrh r2, [r0, #0xe]
|
|
add r1, r1, r2
|
|
add r1, r1, #4
|
|
b _0225D8E8
|
|
_0225D8E6:
|
|
mov r1, #0
|
|
_0225D8E8:
|
|
cmp r1, #0
|
|
beq _0225D8F2
|
|
ldr r1, [r1]
|
|
add r0, r0, r1
|
|
b _0225D8F4
|
|
_0225D8F2:
|
|
mov r0, #0
|
|
_0225D8F4:
|
|
str r0, [r4, #8]
|
|
ldr r0, [r5, #0x20]
|
|
bl NNS_G3dGetTex
|
|
str r0, [r4, #0xc]
|
|
add r7, r7, #1
|
|
add r6, r6, #4
|
|
add r4, #0x10
|
|
add r5, #0xc
|
|
cmp r7, #2
|
|
blt _0225D8B2
|
|
mov r0, #0
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r7, [sp, #0x14]
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, [sp, #8]
|
|
str r0, [sp, #0x38]
|
|
add r0, #0x38
|
|
str r0, [sp, #0x38]
|
|
ldr r0, [sp, #0x14]
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [sp, #8]
|
|
str r0, [sp, #0x30]
|
|
_0225D924:
|
|
mov r0, #0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x3c]
|
|
ldr r6, [sp, #0x34]
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x38]
|
|
ldr r5, [sp, #0x30]
|
|
str r0, [sp, #0x28]
|
|
_0225D934:
|
|
mov r0, #5
|
|
ldr r1, [sp, #0x2c]
|
|
lsl r0, r0, #6
|
|
ldr r3, [r1, r0]
|
|
ldr r1, [sp, #0x14]
|
|
sub r0, #0x20
|
|
ldr r0, [r1, r0]
|
|
cmp r0, r3
|
|
beq _0225D988
|
|
ldr r0, [sp, #0x58]
|
|
ldr r1, [sp, #8]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r2, [sp, #0xc]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x28]
|
|
bl sub_020180BC
|
|
ldr r0, [sp, #0x18]
|
|
cmp r0, #1
|
|
blt _0225D988
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r0, [r7, r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
bls _0225D988
|
|
_0225D96A:
|
|
mov r0, #0x59
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
cmp r4, r0
|
|
beq _0225D97C
|
|
ldr r0, [r5, #0x40]
|
|
add r1, r4, #0
|
|
bl NNS_G3dAnmObjDisableID
|
|
_0225D97C:
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r0, [r7, r0]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blo _0225D96A
|
|
_0225D988:
|
|
ldr r0, [sp, #0x2c]
|
|
add r6, r6, #4
|
|
add r0, r0, #4
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x28]
|
|
add r5, #0x14
|
|
add r0, #0x14
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x18]
|
|
cmp r0, #4
|
|
blt _0225D934
|
|
ldr r0, [sp, #0x3c]
|
|
add r7, r7, #4
|
|
add r0, #0x10
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, [sp, #8]
|
|
add r0, #0x10
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x38]
|
|
add r0, #0x50
|
|
str r0, [sp, #0x38]
|
|
ldr r0, [sp, #0x34]
|
|
add r0, #0xc
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [sp, #0x30]
|
|
add r0, #0x50
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x1c]
|
|
cmp r0, #2
|
|
blt _0225D924
|
|
add sp, #0x44
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225D854
|
|
|
|
thumb_func_start ov49_0225D9D0
|
|
ov49_0225D9D0: ; 0x0225D9D0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp]
|
|
ldr r7, [sp]
|
|
mov r0, #0
|
|
add r6, r1, #0
|
|
str r0, [sp, #8]
|
|
add r7, #0x38
|
|
_0225D9E0:
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
_0225D9E4:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl sub_020180F8
|
|
add r4, r4, #1
|
|
add r5, #0x14
|
|
cmp r4, #4
|
|
blt _0225D9E4
|
|
ldr r0, [sp, #8]
|
|
add r7, #0x50
|
|
add r0, r0, #1
|
|
str r0, [sp, #8]
|
|
cmp r0, #2
|
|
blt _0225D9E0
|
|
ldr r4, [sp]
|
|
mov r5, #0
|
|
_0225DA04:
|
|
ldr r0, [r4]
|
|
bl FreeToHeap
|
|
add r5, r5, #1
|
|
add r4, #0x10
|
|
cmp r5, #2
|
|
blt _0225DA04
|
|
mov r0, #0
|
|
ldr r7, _0225DA68 ; =NNS_GfdDefaultFuncFreeTexVram
|
|
str r0, [sp, #4]
|
|
_0225DA18:
|
|
ldr r4, [sp]
|
|
mov r5, #0
|
|
_0225DA1C:
|
|
ldr r0, [r4, #0x20]
|
|
bl NNS_G3dGetTex
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0xc
|
|
add r6, r0, #0
|
|
bl NNS_G3dTexReleaseTexKey
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, [r7]
|
|
blx r1
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [r7]
|
|
blx r1
|
|
add r0, r6, #0
|
|
bl NNS_G3dPlttReleasePlttKey
|
|
ldr r1, _0225DA6C ; =NNS_GfdDefaultFuncFreePlttVram
|
|
ldr r1, [r1]
|
|
blx r1
|
|
ldr r0, [r4, #0x20]
|
|
bl FreeToHeap
|
|
add r5, r5, #1
|
|
add r4, r4, #4
|
|
cmp r5, #3
|
|
blt _0225DA1C
|
|
ldr r0, [sp]
|
|
add r0, #0xc
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #1
|
|
str r0, [sp, #4]
|
|
cmp r0, #2
|
|
blt _0225DA18
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225DA68: .word NNS_GfdDefaultFuncFreeTexVram
|
|
_0225DA6C: .word NNS_GfdDefaultFuncFreePlttVram
|
|
thumb_func_end ov49_0225D9D0
|
|
|
|
thumb_func_start ov49_0225DA70
|
|
ov49_0225DA70: ; 0x0225DA70
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r7, #0
|
|
str r0, [sp]
|
|
add r4, r0, #0
|
|
add r0, r1, #0
|
|
str r1, [sp, #4]
|
|
add r0, #0x38
|
|
add r6, r7, #0
|
|
add r5, #0x8c
|
|
str r0, [sp, #4]
|
|
_0225DA88:
|
|
ldr r0, [r4, #0x7c]
|
|
cmp r0, #0
|
|
beq _0225DAEC
|
|
cmp r7, #3
|
|
bhi _0225DAE8
|
|
add r0, r7, r7
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225DA9E: ; jump table
|
|
.short _0225DAA6 - _0225DA9E - 2 ; case 0
|
|
.short _0225DAC0 - _0225DA9E - 2 ; case 1
|
|
.short _0225DAA6 - _0225DA9E - 2 ; case 2
|
|
.short _0225DAC0 - _0225DA9E - 2 ; case 3
|
|
_0225DAA6:
|
|
ldr r1, [sp]
|
|
mov r2, #0x50
|
|
ldrb r1, [r1, #2]
|
|
add r0, r5, #0
|
|
mul r2, r1
|
|
ldr r1, [sp, #4]
|
|
add r1, r1, r2
|
|
mov r2, #1
|
|
add r1, r1, r6
|
|
lsl r2, r2, #0xc
|
|
bl ov49_0225D57C
|
|
b _0225DAEC
|
|
_0225DAC0:
|
|
ldr r1, [sp]
|
|
mov r2, #0x50
|
|
ldrb r1, [r1, #2]
|
|
add r0, r5, #0
|
|
mul r2, r1
|
|
ldr r1, [sp, #4]
|
|
add r1, r1, r2
|
|
mov r2, #1
|
|
add r1, r1, r6
|
|
lsl r2, r2, #0xc
|
|
bl ov49_0225D5A0
|
|
cmp r0, #1
|
|
bne _0225DAEC
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
str r0, [r4, #0x7c]
|
|
add r1, #0x8c
|
|
str r0, [r1]
|
|
b _0225DAEC
|
|
_0225DAE8:
|
|
bl GF_AssertFail
|
|
_0225DAEC:
|
|
add r7, r7, #1
|
|
add r4, r4, #4
|
|
add r6, #0x14
|
|
add r5, r5, #4
|
|
cmp r7, #4
|
|
blt _0225DA88
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225DA70
|
|
|
|
thumb_func_start ov49_0225DAFC
|
|
ov49_0225DAFC: ; 0x0225DAFC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldrb r0, [r5]
|
|
str r1, [sp]
|
|
cmp r0, #0
|
|
beq _0225DBF2
|
|
ldrb r0, [r5, #2]
|
|
lsl r1, r0, #4
|
|
ldr r0, [sp]
|
|
add r0, r0, r1
|
|
add r1, r5, #4
|
|
bl ov49_022588A0
|
|
cmp r0, #0
|
|
beq _0225DBF2
|
|
ldrb r0, [r5, #1]
|
|
cmp r0, #3
|
|
blo _0225DB26
|
|
bl GF_AssertFail
|
|
_0225DB26:
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #2
|
|
blo _0225DB30
|
|
bl GF_AssertFail
|
|
_0225DB30:
|
|
ldrb r1, [r5, #2]
|
|
mov r0, #0xc
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
ldr r0, [sp]
|
|
add r1, r0, r2
|
|
ldrb r0, [r5, #1]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
ldr r0, [r0, #0x20]
|
|
bl NNS_G3dGetTex
|
|
ldrb r1, [r5, #2]
|
|
lsl r2, r1, #4
|
|
ldr r1, [sp]
|
|
add r1, r1, r2
|
|
str r0, [r1, #0xc]
|
|
ldrb r0, [r5, #2]
|
|
lsl r1, r0, #4
|
|
ldr r0, [sp]
|
|
add r1, r0, r1
|
|
ldr r0, [r1, #4]
|
|
ldr r1, [r1, #0xc]
|
|
bl NNS_G3dBindMdlSet
|
|
cmp r0, #0
|
|
bne _0225DB6A
|
|
bl GF_AssertFail
|
|
_0225DB6A:
|
|
ldr r7, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
add r6, r5, #0
|
|
add r4, r0, #0
|
|
add r7, #0x38
|
|
_0225DB76:
|
|
ldr r0, [r6, #0x7c]
|
|
cmp r0, #0
|
|
beq _0225DBA0
|
|
ldrb r2, [r5, #2]
|
|
mov r1, #0x50
|
|
add r0, r5, #4
|
|
mul r1, r2
|
|
add r1, r7, r1
|
|
add r1, r1, r4
|
|
bl sub_020181D4
|
|
ldrb r1, [r5, #2]
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r1, r6, #0
|
|
add r1, #0x8c
|
|
add r0, r7, r0
|
|
ldr r1, [r1]
|
|
add r0, r0, r4
|
|
bl sub_02018198
|
|
_0225DBA0:
|
|
ldr r0, [sp, #4]
|
|
add r6, r6, #4
|
|
add r0, r0, #1
|
|
add r4, #0x14
|
|
str r0, [sp, #4]
|
|
cmp r0, #4
|
|
blt _0225DB76
|
|
add r0, r5, #4
|
|
bl sub_020181EC
|
|
ldr r0, [sp]
|
|
mov r7, #0
|
|
str r0, [sp, #8]
|
|
add r0, #0x38
|
|
add r6, r5, #0
|
|
add r4, r7, #0
|
|
str r0, [sp, #8]
|
|
_0225DBC2:
|
|
ldr r0, [r6, #0x7c]
|
|
cmp r0, #0
|
|
beq _0225DBDA
|
|
ldrb r1, [r5, #2]
|
|
mov r2, #0x50
|
|
add r0, r5, #4
|
|
mul r2, r1
|
|
ldr r1, [sp, #8]
|
|
add r1, r1, r2
|
|
add r1, r1, r4
|
|
bl sub_020181E0
|
|
_0225DBDA:
|
|
add r7, r7, #1
|
|
add r6, r6, #4
|
|
add r4, #0x14
|
|
cmp r7, #4
|
|
blt _0225DBC2
|
|
ldrb r0, [r5, #2]
|
|
lsl r1, r0, #4
|
|
ldr r0, [sp]
|
|
add r0, r0, r1
|
|
ldr r0, [r0, #4]
|
|
bl NNS_G3dReleaseMdlSet
|
|
_0225DBF2:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225DAFC
|
|
|
|
thumb_func_start ov49_0225DBF8
|
|
ov49_0225DBF8: ; 0x0225DBF8
|
|
push {r4, lr}
|
|
ldr r3, _0225DC28 ; =0x00000125
|
|
mov r1, #0
|
|
ldrb r2, [r0, r3]
|
|
cmp r2, #0
|
|
ble _0225DC20
|
|
sub r3, r3, #5
|
|
ldr r4, [r0, r3]
|
|
add r3, r4, #0
|
|
_0225DC0A:
|
|
ldrh r0, [r3]
|
|
cmp r0, #0
|
|
bne _0225DC18
|
|
mov r0, #0xe4
|
|
mul r0, r1
|
|
add r0, r4, r0
|
|
pop {r4, pc}
|
|
_0225DC18:
|
|
add r1, r1, #1
|
|
add r3, #0xe4
|
|
cmp r1, r2
|
|
blt _0225DC0A
|
|
_0225DC20:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0225DC28: .word 0x00000125
|
|
thumb_func_end ov49_0225DBF8
|
|
|
|
thumb_func_start ov49_0225DC2C
|
|
ov49_0225DC2C: ; 0x0225DC2C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x30]
|
|
add r7, r3, #0
|
|
str r0, [sp, #0x30]
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
str r7, [sp, #0x10]
|
|
str r0, [sp, #0xc]
|
|
_0225DC44:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
ldr r2, [r7]
|
|
ldr r3, [sp, #0x30]
|
|
bl ov49_0225D528
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0xb
|
|
beq _0225DC62
|
|
cmp r0, #0xc
|
|
beq _0225DC62
|
|
ldr r0, [sp, #4]
|
|
ldr r0, [r0]
|
|
bl ov45_0222D740
|
|
_0225DC62:
|
|
ldr r4, [sp, #0x10]
|
|
ldr r5, [sp, #0xc]
|
|
mov r6, #0
|
|
_0225DC68:
|
|
ldr r1, [r4, #0x48]
|
|
ldr r0, [r7]
|
|
cmp r0, r1
|
|
beq _0225DC86
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #8]
|
|
ldr r3, [sp, #0x30]
|
|
mov r2, #0
|
|
bl GfGfxLoader_LoadFromOpenNarc
|
|
mov r1, #0x12
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
b _0225DC8E
|
|
_0225DC86:
|
|
mov r0, #0x12
|
|
mov r1, #0
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
_0225DC8E:
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, r5, #4
|
|
cmp r6, #3
|
|
blt _0225DC68
|
|
ldr r0, [sp, #4]
|
|
add r7, r7, #4
|
|
add r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, #0xc
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0xc]
|
|
add r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #0x12
|
|
blt _0225DC44
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225DC2C
|
|
|
|
thumb_func_start ov49_0225DCBC
|
|
ov49_0225DCBC: ; 0x0225DCBC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp]
|
|
mov r7, #0x12
|
|
str r0, [sp, #4]
|
|
mov r6, #0
|
|
lsl r7, r7, #4
|
|
_0225DCD0:
|
|
ldr r5, [sp]
|
|
mov r4, #0
|
|
_0225DCD4:
|
|
ldr r0, [r5, r7]
|
|
cmp r0, #0
|
|
beq _0225DCE4
|
|
bl FreeToHeap
|
|
mov r0, #0x12
|
|
lsl r0, r0, #4
|
|
str r6, [r5, r0]
|
|
_0225DCE4:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #3
|
|
blt _0225DCD4
|
|
ldr r0, [sp, #4]
|
|
bl ov49_0225D574
|
|
ldr r0, [sp]
|
|
add r0, #0xc
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #8]
|
|
add r0, r0, #1
|
|
str r0, [sp, #8]
|
|
cmp r0, #0x12
|
|
blt _0225DCD0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225DCBC
|
|
|
|
thumb_func_start ov49_0225DD0C
|
|
ov49_0225DD0C: ; 0x0225DD0C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225DD64
|
|
ldrh r0, [r4, #2]
|
|
add r1, r4, #4
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
bl ov49_022588A0
|
|
cmp r0, #0
|
|
beq _0225DD64
|
|
add r0, r4, #0
|
|
add r0, #0xe0
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _0225DD44
|
|
ldrh r0, [r4, #2]
|
|
add r1, r4, #0
|
|
add r1, #0xe1
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
ldrb r1, [r1]
|
|
ldr r0, [r0, #8]
|
|
bl NNS_G3dMdlSetMdlAlphaAll
|
|
_0225DD44:
|
|
add r0, r4, #4
|
|
bl sub_020181EC
|
|
add r0, r4, #0
|
|
add r0, #0xe0
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _0225DD64
|
|
ldrh r0, [r4, #2]
|
|
add r4, #0xe2
|
|
ldrb r1, [r4]
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
ldr r0, [r0, #8]
|
|
bl NNS_G3dMdlSetMdlAlphaAll
|
|
_0225DD64:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225DD0C
|
|
|
|
thumb_func_start ov49_0225DD68
|
|
ov49_0225DD68: ; 0x0225DD68
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r4, r1, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, #0x7c
|
|
add r7, r4, #0
|
|
mov r5, #0
|
|
str r0, [sp, #0xc]
|
|
add r7, #0xc0
|
|
add r6, r4, #0
|
|
str r0, [sp, #8]
|
|
_0225DD82:
|
|
add r0, r4, r5
|
|
add r0, #0xb8
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0225DDEE
|
|
add r0, r4, r5
|
|
add r0, #0xbc
|
|
ldrb r0, [r0]
|
|
cmp r0, #6
|
|
bhi _0225DDEE
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225DDA2: ; jump table
|
|
.short _0225DDB0 - _0225DDA2 - 2 ; case 0
|
|
.short _0225DDCC - _0225DDA2 - 2 ; case 1
|
|
.short _0225DEFC - _0225DDA2 - 2 ; case 2
|
|
.short _0225DE12 - _0225DDA2 - 2 ; case 3
|
|
.short _0225DE2E - _0225DDA2 - 2 ; case 4
|
|
.short _0225DE72 - _0225DDA2 - 2 ; case 5
|
|
.short _0225DEC8 - _0225DDA2 - 2 ; case 6
|
|
_0225DDB0:
|
|
add r2, r4, #0
|
|
add r2, #0xdc
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [r2]
|
|
add r0, r7, #0
|
|
bl ov49_0225D57C
|
|
add r1, r6, #0
|
|
add r1, #0xc0
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [r1]
|
|
bl sub_02018198
|
|
b _0225DEFC
|
|
_0225DDCC:
|
|
add r2, r4, #0
|
|
add r2, #0xdc
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [r2]
|
|
add r0, r7, #0
|
|
bl ov49_0225D5A0
|
|
add r1, r6, #0
|
|
add r1, #0xc0
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [r1]
|
|
bl sub_02018198
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #1
|
|
beq _0225DDF0
|
|
_0225DDEE:
|
|
b _0225DEFC
|
|
_0225DDF0:
|
|
add r0, r6, #0
|
|
add r0, #0xd0
|
|
ldr r0, [r0]
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp]
|
|
add r2, r5, #0
|
|
bl ov49_0225D328
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
beq _0225DEFC
|
|
ldr r0, [sp]
|
|
ldr r2, [sp, #0x10]
|
|
add r1, r4, #0
|
|
blx r2
|
|
b _0225DEFC
|
|
_0225DE12:
|
|
add r2, r4, #0
|
|
add r2, #0xdc
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [r2]
|
|
add r0, r7, #0
|
|
bl ov49_0225D5C8
|
|
add r1, r6, #0
|
|
add r1, #0xc0
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [r1]
|
|
bl sub_02018198
|
|
b _0225DEFC
|
|
_0225DE2E:
|
|
add r2, r4, #0
|
|
add r2, #0xdc
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [r2]
|
|
add r0, r7, #0
|
|
bl ov49_0225D5E4
|
|
add r1, r6, #0
|
|
add r1, #0xc0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [r1]
|
|
bl sub_02018198
|
|
ldr r0, [sp, #0x18]
|
|
cmp r0, #1
|
|
bne _0225DEFC
|
|
add r0, r6, #0
|
|
add r0, #0xd0
|
|
ldr r0, [r0]
|
|
add r1, r4, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
add r2, r5, #0
|
|
bl ov49_0225D328
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0
|
|
beq _0225DEFC
|
|
ldr r0, [sp]
|
|
ldr r2, [sp, #4]
|
|
add r1, r4, #0
|
|
blx r2
|
|
b _0225DEFC
|
|
_0225DE72:
|
|
add r0, r4, r5
|
|
add r0, #0xcd
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0225DE8C
|
|
add r0, r4, r5
|
|
add r0, #0xcd
|
|
ldrb r0, [r0]
|
|
sub r1, r0, #1
|
|
add r0, r4, r5
|
|
add r0, #0xcd
|
|
strb r1, [r0]
|
|
b _0225DEFC
|
|
_0225DE8C:
|
|
add r2, r4, #0
|
|
add r2, #0xdc
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [r2]
|
|
add r0, r7, #0
|
|
bl ov49_0225D5A0
|
|
cmp r0, #1
|
|
bne _0225DEBA
|
|
bl MTRandom
|
|
add r1, r4, #0
|
|
add r1, #0xcc
|
|
ldrb r1, [r1]
|
|
bl _u32_div_f
|
|
add r0, r4, r5
|
|
add r0, #0xcd
|
|
strb r1, [r0]
|
|
add r1, r6, #0
|
|
add r1, #0xc0
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
_0225DEBA:
|
|
add r1, r6, #0
|
|
add r1, #0xc0
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [r1]
|
|
bl sub_02018198
|
|
b _0225DEFC
|
|
_0225DEC8:
|
|
add r0, r4, r5
|
|
add r0, #0xcd
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0225DEE2
|
|
add r0, r4, r5
|
|
add r0, #0xcd
|
|
ldrb r0, [r0]
|
|
sub r1, r0, #1
|
|
add r0, r4, r5
|
|
add r0, #0xcd
|
|
strb r1, [r0]
|
|
b _0225DEFC
|
|
_0225DEE2:
|
|
add r2, r4, #0
|
|
add r2, #0xdc
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [r2]
|
|
add r0, r7, #0
|
|
bl ov49_0225D57C
|
|
add r1, r6, #0
|
|
add r1, #0xc0
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [r1]
|
|
bl sub_02018198
|
|
_0225DEFC:
|
|
ldr r0, [sp, #0xc]
|
|
add r5, r5, #1
|
|
add r0, #0x14
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #8]
|
|
add r7, r7, #4
|
|
add r0, #0x14
|
|
add r6, r6, #4
|
|
str r0, [sp, #8]
|
|
cmp r5, #3
|
|
bge _0225DF14
|
|
b _0225DD82
|
|
_0225DF14:
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225DD68
|
|
|
|
thumb_func_start ov49_0225DF18
|
|
ov49_0225DF18: ; 0x0225DF18
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
ldr r1, _0225E284 ; =0x00000614
|
|
add r0, r3, #0
|
|
add r7, r2, #0
|
|
str r3, [sp, #4]
|
|
bl AllocFromHeap
|
|
ldr r2, _0225E284 ; =0x00000614
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
mov r0, #0x61
|
|
str r7, [r4]
|
|
lsl r0, r0, #4
|
|
strb r5, [r4, r0]
|
|
add r0, r0, #1
|
|
strb r6, [r4, r0]
|
|
ldr r2, [sp, #4]
|
|
ldr r3, [sp, #0x48]
|
|
mov r0, #9
|
|
mov r1, #0x80
|
|
bl ov49_0225CC4C
|
|
str r0, [r4, #4]
|
|
ldr r0, [sp, #0x48]
|
|
ldr r3, [sp, #4]
|
|
str r0, [sp]
|
|
ldr r0, [r4, #4]
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl ov49_0225CDEC
|
|
mov r0, #0
|
|
ldr r5, _0225E288 ; =ov49_02269AAC
|
|
str r0, [sp, #0xc]
|
|
_0225DF66:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldrh r1, [r5]
|
|
str r0, [sp, #8]
|
|
add r2, sp, #0x1c
|
|
ldr r0, [r4]
|
|
add r2, #2
|
|
add r3, sp, #0x1c
|
|
bl ov49_022589D8
|
|
cmp r0, #1
|
|
beq _0225DF80
|
|
b _0225E234
|
|
_0225DF80:
|
|
mov r0, #0x92
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0xda
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _0225E28C ; =0x000004E8
|
|
mov r7, sp
|
|
add r0, r4, r0
|
|
str r0, [sp, #0x18]
|
|
sub r7, r7, #4
|
|
add r6, sp, #0x1c
|
|
_0225DF9C:
|
|
ldrh r1, [r5, #2]
|
|
ldrh r2, [r6, #2]
|
|
ldrh r3, [r6]
|
|
ldr r0, [r4, #4]
|
|
bl ov49_0225D098
|
|
ldr r1, _0225E290 ; =0x00000612
|
|
ldrb r1, [r4, r1]
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
str r0, [r1, #8]
|
|
ldrh r0, [r5, #2]
|
|
cmp r0, #0x10
|
|
bls _0225DFBA
|
|
b _0225E20E
|
|
_0225DFBA:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225DFC6: ; jump table
|
|
.short _0225E014 - _0225DFC6 - 2 ; case 0
|
|
.short _0225E20E - _0225DFC6 - 2 ; case 1
|
|
.short _0225E20E - _0225DFC6 - 2 ; case 2
|
|
.short _0225E20E - _0225DFC6 - 2 ; case 3
|
|
.short _0225E20E - _0225DFC6 - 2 ; case 4
|
|
.short _0225E20E - _0225DFC6 - 2 ; case 5
|
|
.short _0225DFE8 - _0225DFC6 - 2 ; case 6
|
|
.short _0225DFE8 - _0225DFC6 - 2 ; case 7
|
|
.short _0225DFE8 - _0225DFC6 - 2 ; case 8
|
|
.short _0225E20E - _0225DFC6 - 2 ; case 9
|
|
.short _0225E052 - _0225DFC6 - 2 ; case 10
|
|
.short _0225E07E - _0225DFC6 - 2 ; case 11
|
|
.short _0225E07E - _0225DFC6 - 2 ; case 12
|
|
.short _0225E094 - _0225DFC6 - 2 ; case 13
|
|
.short _0225E0F2 - _0225DFC6 - 2 ; case 14
|
|
.short _0225E150 - _0225DFC6 - 2 ; case 15
|
|
.short _0225E18C - _0225DFC6 - 2 ; case 16
|
|
_0225DFE8:
|
|
ldr r1, _0225E290 ; =0x00000612
|
|
mov r2, #0
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r4, #4]
|
|
add r3, r2, #0
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
ldr r1, [r1, #8]
|
|
bl ov49_0225D214
|
|
ldr r0, _0225E290 ; =0x00000612
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r2, [r0, #8]
|
|
ldrh r0, [r5, #2]
|
|
lsl r0, r0, #2
|
|
add r1, r4, r0
|
|
mov r0, #0x85
|
|
lsl r0, r0, #2
|
|
str r2, [r1, r0]
|
|
b _0225E20E
|
|
_0225E014:
|
|
ldr r1, _0225E290 ; =0x00000612
|
|
mov r2, #0
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r4, #4]
|
|
add r3, r2, #0
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
ldr r1, [r1, #8]
|
|
bl ov49_0225D214
|
|
ldr r1, _0225E290 ; =0x00000612
|
|
ldr r0, [r4, #4]
|
|
ldrb r1, [r4, r1]
|
|
mov r2, #1
|
|
mov r3, #0
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
ldr r1, [r1, #8]
|
|
bl ov49_0225D214
|
|
ldr r1, _0225E290 ; =0x00000612
|
|
ldr r0, [r4, #4]
|
|
ldrb r1, [r4, r1]
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
ldr r1, [r1, #8]
|
|
bl ov49_0225D214
|
|
b _0225E20E
|
|
_0225E052:
|
|
ldr r1, _0225E290 ; =0x00000612
|
|
ldr r0, [r4, #4]
|
|
ldrb r1, [r4, r1]
|
|
mov r2, #0
|
|
mov r3, #2
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
ldr r1, [r1, #8]
|
|
bl ov49_0225D214
|
|
ldr r0, _0225E290 ; =0x00000612
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r2, [r0, #8]
|
|
ldrh r0, [r5]
|
|
lsl r0, r0, #2
|
|
add r1, r4, r0
|
|
mov r0, #0x45
|
|
lsl r0, r0, #2
|
|
str r2, [r1, r0]
|
|
b _0225E20E
|
|
_0225E07E:
|
|
ldr r1, _0225E290 ; =0x00000612
|
|
ldr r0, [r4, #4]
|
|
ldrb r1, [r4, r1]
|
|
mov r2, #0
|
|
mov r3, #2
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
ldr r1, [r1, #8]
|
|
bl ov49_0225D214
|
|
b _0225E20E
|
|
_0225E094:
|
|
ldr r0, _0225E294 ; =0x00000608
|
|
mov r1, #0xc
|
|
ldrb r0, [r4, r0]
|
|
mul r1, r0
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, r1
|
|
ldr r1, _0225E290 ; =0x00000612
|
|
ldrb r1, [r4, r1]
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
ldr r1, [r1, #8]
|
|
bl ov49_0225EB00
|
|
ldr r0, _0225E294 ; =0x00000608
|
|
ldrb r0, [r4, r0]
|
|
add r1, r0, #1
|
|
ldr r0, _0225E294 ; =0x00000608
|
|
strb r1, [r4, r0]
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0x18
|
|
bls _0225E0C2
|
|
bl GF_AssertFail
|
|
_0225E0C2:
|
|
ldr r0, _0225E290 ; =0x00000612
|
|
mov r1, #0
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #8]
|
|
bl ov49_0225D494
|
|
ldrh r1, [r5]
|
|
ldr r0, _0225E298 ; =0x0000FFA4
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
cmp r0, #1
|
|
bls _0225E0E2
|
|
b _0225E20E
|
|
_0225E0E2:
|
|
ldr r0, _0225E290 ; =0x00000612
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #8]
|
|
bl ov49_0225EE4C
|
|
b _0225E20E
|
|
_0225E0F2:
|
|
ldr r0, _0225E29C ; =0x00000609
|
|
mov r1, #0xc
|
|
ldrb r0, [r4, r0]
|
|
mul r1, r0
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, r1
|
|
ldr r1, _0225E290 ; =0x00000612
|
|
ldrb r1, [r4, r1]
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
ldr r1, [r1, #8]
|
|
bl ov49_0225EB00
|
|
ldr r0, _0225E29C ; =0x00000609
|
|
ldrb r0, [r4, r0]
|
|
add r1, r0, #1
|
|
ldr r0, _0225E29C ; =0x00000609
|
|
strb r1, [r4, r0]
|
|
sub r0, r0, #1
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0x18
|
|
bls _0225E122
|
|
bl GF_AssertFail
|
|
_0225E122:
|
|
ldr r0, _0225E290 ; =0x00000612
|
|
mov r1, #0
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #8]
|
|
bl ov49_0225D494
|
|
ldrh r1, [r5]
|
|
ldr r0, _0225E298 ; =0x0000FFA4
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
cmp r0, #1
|
|
bhi _0225E20E
|
|
ldr r0, _0225E290 ; =0x00000612
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #8]
|
|
bl ov49_0225EE4C
|
|
b _0225E20E
|
|
_0225E150:
|
|
ldr r0, _0225E290 ; =0x00000612
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r2, [r0, #8]
|
|
ldr r0, _0225E2A0 ; =0x0000060A
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r1, r4, r0
|
|
ldr r0, _0225E2A4 ; =0x00000488
|
|
str r2, [r1, r0]
|
|
ldr r0, _0225E2A0 ; =0x0000060A
|
|
ldrb r0, [r4, r0]
|
|
add r1, r0, #1
|
|
ldr r0, _0225E2A0 ; =0x0000060A
|
|
strb r1, [r4, r0]
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0x18
|
|
bls _0225E17A
|
|
bl GF_AssertFail
|
|
_0225E17A:
|
|
ldr r0, _0225E290 ; =0x00000612
|
|
mov r1, #0
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #8]
|
|
bl ov49_0225D494
|
|
b _0225E20E
|
|
_0225E18C:
|
|
ldr r0, _0225E2A8 ; =0x0000060B
|
|
mov r1, #0xc
|
|
ldrb r0, [r4, r0]
|
|
mul r1, r0
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, r1
|
|
ldr r1, _0225E290 ; =0x00000612
|
|
ldrb r1, [r4, r1]
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
ldr r1, [r1, #8]
|
|
bl ov49_0225EB00
|
|
ldr r0, _0225E2A8 ; =0x0000060B
|
|
ldrb r0, [r4, r0]
|
|
add r1, r0, #1
|
|
ldr r0, _0225E2A8 ; =0x0000060B
|
|
strb r1, [r4, r0]
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0x18
|
|
bls _0225E1BA
|
|
bl GF_AssertFail
|
|
_0225E1BA:
|
|
ldr r0, _0225E290 ; =0x00000612
|
|
mov r1, #0
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #8]
|
|
bl ov49_0225D494
|
|
ldr r0, _0225E290 ; =0x00000612
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #8]
|
|
bl ov49_0225D1EC
|
|
strh r0, [r6, #4]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r6, #6]
|
|
ldrh r0, [r6, #4]
|
|
strh r0, [r6, #8]
|
|
ldrh r0, [r6, #6]
|
|
strh r0, [r6, #0xa]
|
|
mov r0, #8
|
|
ldrsh r0, [r6, r0]
|
|
add r0, #8
|
|
strh r0, [r6, #8]
|
|
mov r0, #0xa
|
|
ldrsh r0, [r6, r0]
|
|
add r0, #0x14
|
|
strh r0, [r6, #0xa]
|
|
ldr r0, _0225E290 ; =0x00000612
|
|
ldrh r1, [r6, #8]
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #8]
|
|
strh r1, [r7]
|
|
ldrh r1, [r6, #0xa]
|
|
strh r1, [r7, #2]
|
|
ldr r1, [r7]
|
|
bl ov49_0225D1C4
|
|
_0225E20E:
|
|
ldr r0, _0225E290 ; =0x00000612
|
|
add r2, sp, #0x1c
|
|
ldrb r0, [r4, r0]
|
|
add r2, #2
|
|
add r3, sp, #0x1c
|
|
add r1, r0, #1
|
|
ldr r0, _0225E290 ; =0x00000612
|
|
strb r1, [r4, r0]
|
|
ldr r0, [sp, #8]
|
|
add r0, r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #8]
|
|
ldrh r1, [r5]
|
|
ldr r0, [r4]
|
|
bl ov49_022589D8
|
|
cmp r0, #1
|
|
bne _0225E234
|
|
b _0225DF9C
|
|
_0225E234:
|
|
ldr r0, [sp, #0xc]
|
|
add r5, r5, #4
|
|
add r0, r0, #1
|
|
str r0, [sp, #0xc]
|
|
cmp r0, #0x23
|
|
bhs _0225E242
|
|
b _0225DF66
|
|
_0225E242:
|
|
mov r0, #0xa
|
|
mov r7, #0
|
|
lsl r0, r0, #0xe
|
|
ldr r6, _0225E2AC ; =ov49_02269A88
|
|
str r7, [sp, #0x28]
|
|
str r0, [sp, #0x30]
|
|
str r7, [sp, #0x2c]
|
|
add r5, r4, #0
|
|
_0225E252:
|
|
ldrh r1, [r6]
|
|
ldrh r2, [r6, #2]
|
|
ldr r0, [r4, #4]
|
|
add r3, sp, #0x28
|
|
bl ov49_0225CF28
|
|
mov r1, #0x82
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl ov49_0225D040
|
|
add r7, r7, #1
|
|
add r6, r6, #4
|
|
add r5, r5, #4
|
|
cmp r7, #9
|
|
blt _0225E252
|
|
ldr r0, _0225E2B0 ; =0x00000613
|
|
mov r1, #9
|
|
strb r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225E284: .word 0x00000614
|
|
_0225E288: .word ov49_02269AAC
|
|
_0225E28C: .word 0x000004E8
|
|
_0225E290: .word 0x00000612
|
|
_0225E294: .word 0x00000608
|
|
_0225E298: .word 0x0000FFA4
|
|
_0225E29C: .word 0x00000609
|
|
_0225E2A0: .word 0x0000060A
|
|
_0225E2A4: .word 0x00000488
|
|
_0225E2A8: .word 0x0000060B
|
|
_0225E2AC: .word ov49_02269A88
|
|
_0225E2B0: .word 0x00000613
|
|
thumb_func_end ov49_0225DF18
|
|
|
|
thumb_func_start ov49_0225E2B4
|
|
ov49_0225E2B4: ; 0x0225E2B4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225E310 ; =0x00000613
|
|
mov r6, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _0225E2DA
|
|
ldr r7, _0225E310 ; =0x00000613
|
|
add r4, r5, #0
|
|
_0225E2C6:
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov49_0225CF94
|
|
ldrb r0, [r5, r7]
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, r0
|
|
blt _0225E2C6
|
|
_0225E2DA:
|
|
ldr r0, _0225E314 ; =0x00000612
|
|
mov r6, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _0225E2FA
|
|
ldr r7, _0225E314 ; =0x00000612
|
|
add r4, r5, #0
|
|
_0225E2E8:
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r4, #8]
|
|
bl ov49_0225D160
|
|
ldrb r0, [r5, r7]
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, r0
|
|
blt _0225E2E8
|
|
_0225E2FA:
|
|
ldr r0, [r5, #4]
|
|
bl ov49_0225CE88
|
|
ldr r0, [r5, #4]
|
|
bl ov49_0225CCC0
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225E310: .word 0x00000613
|
|
_0225E314: .word 0x00000612
|
|
thumb_func_end ov49_0225E2B4
|
|
|
|
thumb_func_start ov49_0225E318
|
|
ov49_0225E318: ; 0x0225E318
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225E390 ; =0x00000608
|
|
mov r6, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _0225E340
|
|
mov r0, #0x92
|
|
lsl r0, r0, #2
|
|
ldr r7, _0225E390 ; =0x00000608
|
|
add r4, r5, r0
|
|
_0225E32E:
|
|
ldr r1, [r5, #4]
|
|
add r0, r4, #0
|
|
bl ov49_0225EB08
|
|
ldrb r0, [r5, r7]
|
|
add r6, r6, #1
|
|
add r4, #0xc
|
|
cmp r6, r0
|
|
blt _0225E32E
|
|
_0225E340:
|
|
ldr r0, _0225E394 ; =0x00000609
|
|
mov r6, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _0225E364
|
|
mov r0, #0xda
|
|
lsl r0, r0, #2
|
|
ldr r7, _0225E394 ; =0x00000609
|
|
add r4, r5, r0
|
|
_0225E352:
|
|
ldr r1, [r5, #4]
|
|
add r0, r4, #0
|
|
bl ov49_0225ECF0
|
|
ldrb r0, [r5, r7]
|
|
add r6, r6, #1
|
|
add r4, #0xc
|
|
cmp r6, r0
|
|
blt _0225E352
|
|
_0225E364:
|
|
ldr r0, _0225E398 ; =0x0000060B
|
|
mov r6, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _0225E386
|
|
ldr r0, _0225E39C ; =0x000004E8
|
|
ldr r7, _0225E398 ; =0x0000060B
|
|
add r4, r5, r0
|
|
_0225E374:
|
|
ldr r1, [r5, #4]
|
|
add r0, r4, #0
|
|
bl ov49_0225ED98
|
|
ldrb r0, [r5, r7]
|
|
add r6, r6, #1
|
|
add r4, #0xc
|
|
cmp r6, r0
|
|
blt _0225E374
|
|
_0225E386:
|
|
ldr r0, [r5, #4]
|
|
bl ov49_0225CCF0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225E390: .word 0x00000608
|
|
_0225E394: .word 0x00000609
|
|
_0225E398: .word 0x0000060B
|
|
_0225E39C: .word 0x000004E8
|
|
thumb_func_end ov49_0225E318
|
|
|
|
thumb_func_start ov49_0225E3A0
|
|
ov49_0225E3A0: ; 0x0225E3A0
|
|
ldr r3, _0225E3A8 ; =ov49_0225CD58
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_0225E3A8: .word ov49_0225CD58
|
|
thumb_func_end ov49_0225E3A0
|
|
|
|
thumb_func_start ov49_0225E3AC
|
|
ov49_0225E3AC: ; 0x0225E3AC
|
|
ldr r3, _0225E3B4 ; =ov49_0225CDE8
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_0225E3B4: .word ov49_0225CDE8
|
|
thumb_func_end ov49_0225E3AC
|
|
|
|
thumb_func_start ov49_0225E3B8
|
|
ov49_0225E3B8: ; 0x0225E3B8
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, _0225E3F0 ; =0x00000613
|
|
add r4, r1, #0
|
|
ldrb r0, [r5, r0]
|
|
add r6, r2, #0
|
|
cmp r0, r4
|
|
bhi _0225E3CE
|
|
bl GF_AssertFail
|
|
_0225E3CE:
|
|
mov r0, #0xa
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
lsl r0, r4, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x82
|
|
str r6, [sp]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
add r1, sp, #0
|
|
bl ov49_0225CFA8
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_0225E3F0: .word 0x00000613
|
|
thumb_func_end ov49_0225E3B8
|
|
|
|
thumb_func_start ov49_0225E3F4
|
|
ov49_0225E3F4: ; 0x0225E3F4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225E41C ; =0x00000613
|
|
add r4, r1, #0
|
|
ldrb r0, [r5, r0]
|
|
add r6, r2, #0
|
|
cmp r0, r4
|
|
bhi _0225E408
|
|
bl GF_AssertFail
|
|
_0225E408:
|
|
lsl r0, r4, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
add r1, r6, #0
|
|
bl ov49_0225CFEC
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0225E41C: .word 0x00000613
|
|
thumb_func_end ov49_0225E3F4
|
|
|
|
thumb_func_start ov49_0225E420
|
|
ov49_0225E420: ; 0x0225E420
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225E470 ; =0x00000613
|
|
add r6, r1, #0
|
|
ldrb r0, [r5, r0]
|
|
add r7, r2, #0
|
|
add r4, r3, #0
|
|
cmp r0, r6
|
|
bhi _0225E436
|
|
bl GF_AssertFail
|
|
_0225E436:
|
|
cmp r7, #3
|
|
blo _0225E43E
|
|
bl GF_AssertFail
|
|
_0225E43E:
|
|
lsl r0, r6, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
add r1, r4, #0
|
|
bl ov49_0225D030
|
|
ldr r1, _0225E474 ; =ov49_02269A7C
|
|
lsl r0, r7, #2
|
|
ldrsh r1, [r1, r0]
|
|
ldr r2, [r4]
|
|
lsl r1, r1, #0xc
|
|
add r1, r2, r1
|
|
str r1, [r4]
|
|
ldr r1, _0225E478 ; =ov49_02269A7E
|
|
ldr r2, [r4, #8]
|
|
ldrsh r0, [r1, r0]
|
|
lsl r0, r0, #0xc
|
|
add r0, r2, r0
|
|
str r0, [r4, #8]
|
|
mov r0, #0xa
|
|
lsl r0, r0, #0xe
|
|
str r0, [r4, #4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225E470: .word 0x00000613
|
|
_0225E474: .word ov49_02269A7C
|
|
_0225E478: .word ov49_02269A7E
|
|
thumb_func_end ov49_0225E420
|
|
|
|
thumb_func_start ov49_0225E47C
|
|
ov49_0225E47C: ; 0x0225E47C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225E4A0 ; =0x00000613
|
|
add r4, r1, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, r4
|
|
bhi _0225E48E
|
|
bl GF_AssertFail
|
|
_0225E48E:
|
|
lsl r0, r4, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
bl ov49_0225D04C
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225E4A0: .word 0x00000613
|
|
thumb_func_end ov49_0225E47C
|
|
|
|
thumb_func_start ov49_0225E4A4
|
|
ov49_0225E4A4: ; 0x0225E4A4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225E4C8 ; =0x00000613
|
|
add r4, r1, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, r4
|
|
bhi _0225E4B6
|
|
bl GF_AssertFail
|
|
_0225E4B6:
|
|
lsl r0, r4, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
bl ov49_0225D064
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225E4C8: .word 0x00000613
|
|
thumb_func_end ov49_0225E4A4
|
|
|
|
thumb_func_start ov49_0225E4CC
|
|
ov49_0225E4CC: ; 0x0225E4CC
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225E4F4 ; =0x00000613
|
|
add r4, r1, #0
|
|
ldrb r0, [r5, r0]
|
|
add r6, r2, #0
|
|
cmp r0, r4
|
|
bhi _0225E4E0
|
|
bl GF_AssertFail
|
|
_0225E4E0:
|
|
lsl r0, r4, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
add r1, r6, #0
|
|
bl ov49_0225D040
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0225E4F4: .word 0x00000613
|
|
thumb_func_end ov49_0225E4CC
|
|
|
|
thumb_func_start ov49_0225E4F8
|
|
ov49_0225E4F8: ; 0x0225E4F8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225E520 ; =0x00000613
|
|
add r4, r1, #0
|
|
ldrb r0, [r5, r0]
|
|
add r6, r2, #0
|
|
cmp r0, r4
|
|
bhi _0225E50C
|
|
bl GF_AssertFail
|
|
_0225E50C:
|
|
lsl r0, r4, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
add r1, r6, #0
|
|
bl ov49_0225D07C
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0225E520: .word 0x00000613
|
|
thumb_func_end ov49_0225E4F8
|
|
|
|
thumb_func_start ov49_0225E524
|
|
ov49_0225E524: ; 0x0225E524
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225E548 ; =0x00000613
|
|
add r4, r1, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, r4
|
|
bhi _0225E536
|
|
bl GF_AssertFail
|
|
_0225E536:
|
|
lsl r0, r4, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
bl ov49_0225D088
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225E548: .word 0x00000613
|
|
thumb_func_end ov49_0225E524
|
|
|
|
thumb_func_start ov49_0225E54C
|
|
ov49_0225E54C: ; 0x0225E54C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225E570 ; =0x00000613
|
|
add r4, r1, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, r4
|
|
bhi _0225E55E
|
|
bl GF_AssertFail
|
|
_0225E55E:
|
|
lsl r0, r4, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
bl ov49_0225D090
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225E570: .word 0x00000613
|
|
thumb_func_end ov49_0225E54C
|
|
|
|
thumb_func_start ov49_0225E574
|
|
ov49_0225E574: ; 0x0225E574
|
|
ldr r3, _0225E57C ; =ov49_0225CED0
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_0225E57C: .word ov49_0225CED0
|
|
thumb_func_end ov49_0225E574
|
|
|
|
thumb_func_start ov49_0225E580
|
|
ov49_0225E580: ; 0x0225E580
|
|
ldr r3, _0225E588 ; =ov49_0225CEFC
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_0225E588: .word ov49_0225CEFC
|
|
thumb_func_end ov49_0225E580
|
|
|
|
thumb_func_start ov49_0225E58C
|
|
ov49_0225E58C: ; 0x0225E58C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, _0225E61C ; =0x00000612
|
|
str r1, [sp]
|
|
ldrb r0, [r5, r0]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _0225E616
|
|
ldr r1, [sp]
|
|
sub r0, r2, #1
|
|
sub r1, r1, #1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r0, r0, #0x18
|
|
add r4, r5, #0
|
|
str r1, [sp, #4]
|
|
lsr r7, r0, #0x18
|
|
_0225E5B0:
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [sp, #4]
|
|
add r2, r7, #0
|
|
bl ov49_0225E9D0
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [sp]
|
|
add r2, r7, #0
|
|
bl ov49_0225E9D0
|
|
ldr r1, [sp, #8]
|
|
cmp r1, #1
|
|
beq _0225E5D0
|
|
cmp r0, #1
|
|
bne _0225E60A
|
|
_0225E5D0:
|
|
ldr r0, [r4, #8]
|
|
bl ov49_0225D1C0
|
|
cmp r0, #4
|
|
bhi _0225E60A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225E5E6: ; jump table
|
|
.short _0225E60A - _0225E5E6 - 2 ; case 0
|
|
.short _0225E5F0 - _0225E5E6 - 2 ; case 1
|
|
.short _0225E5F0 - _0225E5E6 - 2 ; case 2
|
|
.short _0225E5F0 - _0225E5E6 - 2 ; case 3
|
|
.short _0225E5F0 - _0225E5E6 - 2 ; case 4
|
|
_0225E5F0:
|
|
ldr r0, _0225E620 ; =0x00000611
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #4
|
|
bne _0225E602
|
|
ldr r1, [r4, #8]
|
|
add r0, r5, #0
|
|
bl ov49_0225EAB4
|
|
b _0225E60A
|
|
_0225E602:
|
|
ldr r1, [r4, #8]
|
|
add r0, r5, #0
|
|
bl ov49_0225EA70
|
|
_0225E60A:
|
|
ldr r0, _0225E61C ; =0x00000612
|
|
add r6, r6, #1
|
|
ldrb r0, [r5, r0]
|
|
add r4, r4, #4
|
|
cmp r6, r0
|
|
blt _0225E5B0
|
|
_0225E616:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225E61C: .word 0x00000612
|
|
_0225E620: .word 0x00000611
|
|
thumb_func_end ov49_0225E58C
|
|
|
|
thumb_func_start ov49_0225E624
|
|
ov49_0225E624: ; 0x0225E624
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225E6DC ; =0x00000612
|
|
add r7, r1, #0
|
|
ldrb r0, [r5, r0]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _0225E6DA
|
|
add r4, r5, #0
|
|
_0225E636:
|
|
ldr r0, [r4, #8]
|
|
bl ov49_0225D1C0
|
|
cmp r0, #4
|
|
bhi _0225E656
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_0225E64C: ; jump table
|
|
.short _0225E6CE - _0225E64C - 2 ; case 0
|
|
.short _0225E65C - _0225E64C - 2 ; case 1
|
|
.short _0225E65C - _0225E64C - 2 ; case 2
|
|
.short _0225E65C - _0225E64C - 2 ; case 3
|
|
.short _0225E65C - _0225E64C - 2 ; case 4
|
|
_0225E656:
|
|
cmp r0, #0xf
|
|
beq _0225E66C
|
|
b _0225E6CE
|
|
_0225E65C:
|
|
cmp r7, #1
|
|
bne _0225E6CE
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r4, #8]
|
|
mov r2, #1
|
|
bl ov49_0225D4A0
|
|
b _0225E6CE
|
|
_0225E66C:
|
|
cmp r7, #1
|
|
bne _0225E6A8
|
|
mov r1, #2
|
|
ldr r0, [r4, #8]
|
|
lsl r1, r1, #0xa
|
|
bl ov49_0225D4C8
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r4, #8]
|
|
mov r2, #0
|
|
mov r3, #6
|
|
bl ov49_0225D214
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r4, #8]
|
|
mov r2, #1
|
|
mov r3, #6
|
|
bl ov49_0225D214
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r4, #8]
|
|
mov r2, #2
|
|
mov r3, #6
|
|
bl ov49_0225D214
|
|
ldr r0, [r4, #8]
|
|
mov r1, #1
|
|
bl ov49_0225D494
|
|
b _0225E6CE
|
|
_0225E6A8:
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r4, #8]
|
|
mov r2, #0
|
|
bl ov49_0225D328
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r4, #8]
|
|
mov r2, #1
|
|
bl ov49_0225D328
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r4, #8]
|
|
mov r2, #2
|
|
bl ov49_0225D328
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0
|
|
bl ov49_0225D494
|
|
_0225E6CE:
|
|
ldr r0, _0225E6DC ; =0x00000612
|
|
add r6, r6, #1
|
|
ldrb r0, [r5, r0]
|
|
add r4, r4, #4
|
|
cmp r6, r0
|
|
blt _0225E636
|
|
_0225E6DA:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225E6DC: .word 0x00000612
|
|
thumb_func_end ov49_0225E624
|
|
|
|
thumb_func_start ov49_0225E6E0
|
|
ov49_0225E6E0: ; 0x0225E6E0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r0, _0225E70C ; =0x0000060B
|
|
add r7, r1, #0
|
|
ldrb r0, [r6, r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _0225E708
|
|
ldr r0, _0225E710 ; =0x000004E8
|
|
add r5, r6, r0
|
|
_0225E6F4:
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl ov49_0225ECD4
|
|
ldr r0, _0225E70C ; =0x0000060B
|
|
add r4, r4, #1
|
|
ldrb r0, [r6, r0]
|
|
add r5, #0xc
|
|
cmp r4, r0
|
|
blt _0225E6F4
|
|
_0225E708:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225E70C: .word 0x0000060B
|
|
_0225E710: .word 0x000004E8
|
|
thumb_func_end ov49_0225E6E0
|
|
|
|
thumb_func_start ov49_0225E714
|
|
ov49_0225E714: ; 0x0225E714
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225E75C ; =0x00000612
|
|
mov r6, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _0225E75A
|
|
ldr r7, _0225E75C ; =0x00000612
|
|
add r4, r5, #0
|
|
_0225E726:
|
|
ldr r0, [r4, #8]
|
|
bl ov49_0225D1C0
|
|
cmp r0, #4
|
|
bhi _0225E750
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225E73C: ; jump table
|
|
.short _0225E750 - _0225E73C - 2 ; case 0
|
|
.short _0225E746 - _0225E73C - 2 ; case 1
|
|
.short _0225E746 - _0225E73C - 2 ; case 2
|
|
.short _0225E746 - _0225E73C - 2 ; case 3
|
|
.short _0225E746 - _0225E73C - 2 ; case 4
|
|
_0225E746:
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r4, #8]
|
|
mov r2, #1
|
|
bl ov49_0225D4A0
|
|
_0225E750:
|
|
ldrb r0, [r5, r7]
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, r0
|
|
blt _0225E726
|
|
_0225E75A:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225E75C: .word 0x00000612
|
|
thumb_func_end ov49_0225E714
|
|
|
|
thumb_func_start ov49_0225E760
|
|
ov49_0225E760: ; 0x0225E760
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0225E818 ; =0x00000612
|
|
add r7, r1, #0
|
|
ldrb r0, [r4, r0]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _0225E816
|
|
add r5, r4, #0
|
|
_0225E772:
|
|
ldr r0, [r5, #8]
|
|
bl ov49_0225D1C0
|
|
cmp r0, #0xb
|
|
beq _0225E780
|
|
cmp r0, #0xc
|
|
bne _0225E80A
|
|
_0225E780:
|
|
cmp r7, #3
|
|
bhi _0225E80A
|
|
add r0, r7, r7
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225E790: ; jump table
|
|
.short _0225E798 - _0225E790 - 2 ; case 0
|
|
.short _0225E7AE - _0225E790 - 2 ; case 1
|
|
.short _0225E7C8 - _0225E790 - 2 ; case 2
|
|
.short _0225E7EC - _0225E790 - 2 ; case 3
|
|
_0225E798:
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r5, #8]
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl ov49_0225D214
|
|
mov r0, #0x91
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
b _0225E80A
|
|
_0225E7AE:
|
|
ldr r0, _0225E81C ; =ov49_0225EA10
|
|
mov r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r5, #8]
|
|
mov r3, #1
|
|
bl ov49_0225D224
|
|
mov r0, #0x91
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
b _0225E80A
|
|
_0225E7C8:
|
|
ldr r0, _0225E820 ; =ov49_0225EA40
|
|
mov r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r5, #8]
|
|
mov r3, #4
|
|
bl ov49_0225D224
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r5, #8]
|
|
mov r2, #1
|
|
bl ov49_0225D328
|
|
mov r0, #0x91
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
b _0225E80A
|
|
_0225E7EC:
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r5, #8]
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl ov49_0225D214
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r5, #8]
|
|
mov r2, #0
|
|
bl ov49_0225D328
|
|
mov r0, #0x91
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_0225E80A:
|
|
ldr r0, _0225E818 ; =0x00000612
|
|
add r6, r6, #1
|
|
ldrb r0, [r4, r0]
|
|
add r5, r5, #4
|
|
cmp r6, r0
|
|
blt _0225E772
|
|
_0225E816:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225E818: .word 0x00000612
|
|
_0225E81C: .word ov49_0225EA10
|
|
_0225E820: .word ov49_0225EA40
|
|
thumb_func_end ov49_0225E760
|
|
|
|
thumb_func_start ov49_0225E824
|
|
ov49_0225E824: ; 0x0225E824
|
|
mov r1, #0x91
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end ov49_0225E824
|
|
|
|
thumb_func_start ov49_0225E82C
|
|
ov49_0225E82C: ; 0x0225E82C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225E858 ; =0x00000608
|
|
add r6, r1, #0
|
|
ldrb r0, [r5, r0]
|
|
add r7, r2, #0
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _0225E854
|
|
_0225E83E:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl ov49_0225E85C
|
|
ldr r0, _0225E858 ; =0x00000608
|
|
add r4, r4, #1
|
|
ldrb r0, [r5, r0]
|
|
cmp r4, r0
|
|
blt _0225E83E
|
|
_0225E854:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225E858: .word 0x00000608
|
|
thumb_func_end ov49_0225E82C
|
|
|
|
thumb_func_start ov49_0225E85C
|
|
ov49_0225E85C: ; 0x0225E85C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0225E890 ; =0x00000608
|
|
ldrb r0, [r4, r0]
|
|
cmp r1, r0
|
|
bhs _0225E88C
|
|
mov r0, #0x92
|
|
lsl r0, r0, #2
|
|
add r5, r4, r0
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
cmp r2, #0
|
|
beq _0225E882
|
|
ldr r1, [r4, #4]
|
|
add r0, r5, r0
|
|
add r2, r3, #0
|
|
bl ov49_0225EB54
|
|
b _0225E888
|
|
_0225E882:
|
|
add r0, r5, r0
|
|
bl ov49_0225EB84
|
|
_0225E888:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_0225E88C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0225E890: .word 0x00000608
|
|
thumb_func_end ov49_0225E85C
|
|
|
|
thumb_func_start ov49_0225E894
|
|
ov49_0225E894: ; 0x0225E894
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r0, _0225E8C0 ; =0x00000609
|
|
add r7, r1, #0
|
|
ldrb r0, [r6, r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _0225E8BE
|
|
mov r0, #0xda
|
|
lsl r0, r0, #2
|
|
add r5, r6, r0
|
|
_0225E8AA:
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl ov49_0225ECD4
|
|
ldr r0, _0225E8C0 ; =0x00000609
|
|
add r4, r4, #1
|
|
ldrb r0, [r6, r0]
|
|
add r5, #0xc
|
|
cmp r4, r0
|
|
blt _0225E8AA
|
|
_0225E8BE:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225E8C0: .word 0x00000609
|
|
thumb_func_end ov49_0225E894
|
|
|
|
thumb_func_start ov49_0225E8C4
|
|
ov49_0225E8C4: ; 0x0225E8C4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
lsl r0, r1, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x8b
|
|
lsl r0, r0, #2
|
|
ldr r6, [r1, r0]
|
|
add r0, #0xc
|
|
ldr r7, [r1, r0]
|
|
ldr r0, [sp, #0x18]
|
|
add r4, r2, #0
|
|
cmp r0, #1
|
|
beq _0225E8E2
|
|
cmp r3, #1
|
|
bne _0225E992
|
|
_0225E8E2:
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl ov49_0225D450
|
|
cmp r0, #0
|
|
bne _0225E8FA
|
|
ldr r0, [r5, #4]
|
|
add r1, r6, #0
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl ov49_0225D214
|
|
_0225E8FA:
|
|
ldr r0, [sp, #0x18]
|
|
cmp r0, #1
|
|
bne _0225E938
|
|
add r0, r4, #4
|
|
lsl r1, r0, #2
|
|
beq _0225E918
|
|
lsl r0, r0, #0xe
|
|
bl _ffltu
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0225E926
|
|
_0225E918:
|
|
lsl r0, r0, #0xe
|
|
bl _ffltu
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0225E926:
|
|
bl _ffix
|
|
add r3, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r1, r7, #0
|
|
mov r2, #0
|
|
bl ov49_0225D3F8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225E938:
|
|
ldr r0, _0225E9CC ; =0x0000060C
|
|
mov r1, #0x1c
|
|
ldr r0, [r5, r0]
|
|
add r0, r0, #1
|
|
bl _u32_div_f
|
|
ldr r0, _0225E9CC ; =0x0000060C
|
|
str r1, [r5, r0]
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0xe
|
|
bhs _0225E984
|
|
lsl r0, r4, #2
|
|
beq _0225E964
|
|
lsl r0, r4, #0xe
|
|
bl _ffltu
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0225E972
|
|
_0225E964:
|
|
lsl r0, r4, #0xe
|
|
bl _ffltu
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0225E972:
|
|
bl _ffix
|
|
add r3, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r1, r7, #0
|
|
mov r2, #0
|
|
bl ov49_0225D3F8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225E984:
|
|
mov r2, #0
|
|
ldr r0, [r5, #4]
|
|
add r1, r7, #0
|
|
add r3, r2, #0
|
|
bl ov49_0225D3F8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225E992:
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, #0
|
|
ldr r0, [r5, #4]
|
|
beq _0225E9B4
|
|
add r1, r6, #0
|
|
bl ov49_0225D394
|
|
ldr r0, [r5, #4]
|
|
add r1, r7, #0
|
|
bl ov49_0225D394
|
|
ldr r0, [r5, #4]
|
|
add r1, r6, #0
|
|
mov r2, #1
|
|
bl ov49_0225D4A0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225E9B4:
|
|
add r1, r6, #0
|
|
mov r2, #1
|
|
bl ov49_0225D328
|
|
mov r2, #0
|
|
ldr r0, [r5, #4]
|
|
add r1, r7, #0
|
|
add r3, r2, #0
|
|
bl ov49_0225D3F8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225E9CC: .word 0x0000060C
|
|
thumb_func_end ov49_0225E8C4
|
|
|
|
thumb_func_start ov49_0225E9D0
|
|
ov49_0225E9D0: ; 0x0225E9D0
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
lsl r1, r2, #0x14
|
|
asr r4, r1, #0x10
|
|
bl ov49_0225D1EC
|
|
add r1, sp, #0
|
|
strh r0, [r1]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #2]
|
|
ldrh r0, [r1]
|
|
strh r0, [r1, #4]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r1, #6]
|
|
mov r0, #4
|
|
ldrsh r2, [r1, r0]
|
|
lsl r0, r5, #0x14
|
|
asr r0, r0, #0x10
|
|
cmp r2, r0
|
|
bne _0225EA08
|
|
mov r0, #6
|
|
ldrsh r0, [r1, r0]
|
|
cmp r0, r4
|
|
bne _0225EA08
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_0225EA08:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225E9D0
|
|
|
|
thumb_func_start ov49_0225EA10
|
|
ov49_0225EA10: ; 0x0225EA10
|
|
push {r4, r5, r6, lr}
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
bl ov49_0225D1C0
|
|
add r4, r0, #0
|
|
cmp r4, #0xb
|
|
beq _0225EA2A
|
|
cmp r4, #0xc
|
|
beq _0225EA2A
|
|
bl GF_AssertFail
|
|
_0225EA2A:
|
|
sub r4, #0xb
|
|
cmp r4, #1
|
|
bhi _0225EA3C
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl ov49_0225D214
|
|
_0225EA3C:
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225EA10
|
|
|
|
thumb_func_start ov49_0225EA40
|
|
ov49_0225EA40: ; 0x0225EA40
|
|
push {r4, r5, r6, lr}
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
bl ov49_0225D1C0
|
|
add r4, r0, #0
|
|
cmp r4, #0xb
|
|
beq _0225EA5A
|
|
cmp r4, #0xc
|
|
beq _0225EA5A
|
|
bl GF_AssertFail
|
|
_0225EA5A:
|
|
sub r4, #0xb
|
|
cmp r4, #1
|
|
bhi _0225EA6C
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl ov49_0225D214
|
|
_0225EA6C:
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225EA40
|
|
|
|
thumb_func_start ov49_0225EA70
|
|
ov49_0225EA70: ; 0x0225EA70
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
ldr r0, [r6, #4]
|
|
add r2, r4, #0
|
|
add r5, r1, #0
|
|
bl ov49_0225D3BC
|
|
cmp r0, #0
|
|
bne _0225EA88
|
|
mov r4, #1
|
|
b _0225EA9A
|
|
_0225EA88:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_0225D470
|
|
mov r1, #2
|
|
lsl r1, r1, #0xc
|
|
cmp r0, r1
|
|
ble _0225EA9A
|
|
mov r4, #1
|
|
_0225EA9A:
|
|
cmp r4, #1
|
|
bne _0225EAAC
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov49_0225EAE0
|
|
ldr r0, _0225EAB0 ; =0x000005BC
|
|
bl PlaySE
|
|
_0225EAAC:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0225EAB0: .word 0x000005BC
|
|
thumb_func_end ov49_0225EA70
|
|
|
|
thumb_func_start ov49_0225EAB4
|
|
ov49_0225EAB4: ; 0x0225EAB4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
ldr r0, [r5, #4]
|
|
add r2, r4, #0
|
|
add r6, r1, #0
|
|
bl ov49_0225D3BC
|
|
cmp r0, #0
|
|
bne _0225EACA
|
|
mov r4, #1
|
|
_0225EACA:
|
|
cmp r4, #1
|
|
bne _0225EADE
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov49_0225EAE0
|
|
mov r0, #0x17
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
_0225EADE:
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_0225EAB4
|
|
|
|
thumb_func_start ov49_0225EAE0
|
|
ov49_0225EAE0: ; 0x0225EAE0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r4, #0
|
|
mov r7, #1
|
|
_0225EAEA:
|
|
ldr r0, [r5, #4]
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
add r3, r7, #0
|
|
bl ov49_0225D214
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _0225EAEA
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225EAE0
|
|
|
|
thumb_func_start ov49_0225EB00
|
|
ov49_0225EB00: ; 0x0225EB00
|
|
str r1, [r0]
|
|
mov r1, #0
|
|
strh r1, [r0, #4]
|
|
bx lr
|
|
thumb_func_end ov49_0225EB00
|
|
|
|
thumb_func_start ov49_0225EB08
|
|
ov49_0225EB08: ; 0x0225EB08
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldrh r2, [r4, #4]
|
|
add r5, r1, #0
|
|
cmp r2, #4
|
|
bhi _0225EB52
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_0225EB20: ; jump table
|
|
.short _0225EB52 - _0225EB20 - 2 ; case 0
|
|
.short _0225EB2A - _0225EB20 - 2 ; case 1
|
|
.short _0225EB52 - _0225EB20 - 2 ; case 2
|
|
.short _0225EB34 - _0225EB20 - 2 ; case 3
|
|
.short _0225EB3E - _0225EB20 - 2 ; case 4
|
|
_0225EB2A:
|
|
bl ov49_0225EBA8
|
|
mov r0, #2
|
|
strh r0, [r4, #4]
|
|
pop {r3, r4, r5, pc}
|
|
_0225EB34:
|
|
bl ov49_0225EC28
|
|
mov r0, #4
|
|
strh r0, [r4, #4]
|
|
pop {r3, r4, r5, pc}
|
|
_0225EB3E:
|
|
bl ov49_0225EC30
|
|
cmp r0, #1
|
|
bne _0225EB52
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_0225EBE4
|
|
mov r0, #0
|
|
strh r0, [r4, #4]
|
|
_0225EB52:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0225EB08
|
|
|
|
thumb_func_start ov49_0225EB54
|
|
ov49_0225EB54: ; 0x0225EB54
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
ldrh r2, [r5, #4]
|
|
ldr r3, _0225EB80 ; =0x0000FFFF
|
|
add r6, r2, r3
|
|
lsl r6, r6, #0x10
|
|
lsr r6, r6, #0x10
|
|
cmp r6, #1
|
|
bls _0225EB7E
|
|
sub r3, r3, #2
|
|
add r2, r2, r3
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
cmp r2, #1
|
|
bhi _0225EB78
|
|
bl ov49_0225EBE4
|
|
_0225EB78:
|
|
mov r0, #1
|
|
strh r0, [r5, #4]
|
|
str r4, [r5, #8]
|
|
_0225EB7E:
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0225EB80: .word 0x0000FFFF
|
|
thumb_func_end ov49_0225EB54
|
|
|
|
thumb_func_start ov49_0225EB84
|
|
ov49_0225EB84: ; 0x0225EB84
|
|
ldrh r2, [r0, #4]
|
|
ldr r1, _0225EBA4 ; =0x0000FFFD
|
|
add r1, r2, r1
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
cmp r1, #1
|
|
bls _0225EBA0
|
|
cmp r2, #1
|
|
bhi _0225EB9C
|
|
mov r1, #0
|
|
strh r1, [r0, #4]
|
|
bx lr
|
|
_0225EB9C:
|
|
mov r1, #3
|
|
strh r1, [r0, #4]
|
|
_0225EBA0:
|
|
bx lr
|
|
nop
|
|
_0225EBA4: .word 0x0000FFFD
|
|
thumb_func_end ov49_0225EB84
|
|
|
|
thumb_func_start ov49_0225EBA8
|
|
ov49_0225EBA8: ; 0x0225EBA8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r0, [r5]
|
|
ldr r1, [r5, #8]
|
|
bl ov49_0225D4C8
|
|
mov r2, #0
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
bl ov49_0225D214
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl ov49_0225D214
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
mov r2, #2
|
|
mov r3, #0
|
|
bl ov49_0225D214
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl ov49_0225D494
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0225EBA8
|
|
|
|
thumb_func_start ov49_0225EBE4
|
|
ov49_0225EBE4: ; 0x0225EBE4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_0225D328
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl ov49_0225D328
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
mov r2, #2
|
|
bl ov49_0225D328
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl ov49_0225D494
|
|
ldr r0, [r5]
|
|
bl ov49_0225D4E8
|
|
mov r1, #1
|
|
lsl r1, r1, #0xc
|
|
ldr r0, [r5]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl ov49_0225D4F0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225EBE4
|
|
|
|
thumb_func_start ov49_0225EC28
|
|
ov49_0225EC28: ; 0x0225EC28
|
|
mov r1, #0
|
|
strh r1, [r0, #6]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225EC28
|
|
|
|
thumb_func_start ov49_0225EC30
|
|
ov49_0225EC30: ; 0x0225EC30
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
mov r0, #6
|
|
ldrsh r1, [r4, r0]
|
|
cmp r1, #0xa
|
|
bge _0225ECCC
|
|
add r1, r1, #1
|
|
strh r1, [r4, #6]
|
|
ldrsh r0, [r4, r0]
|
|
ldr r2, [r4, #8]
|
|
lsl r0, r0, #0xc
|
|
asr r1, r0, #0x1f
|
|
asr r3, r2, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
mov r1, #0xa
|
|
lsl r1, r1, #0xc
|
|
bl FX_Div
|
|
add r2, r0, #0
|
|
ldr r1, [r4, #8]
|
|
ldr r0, [r4]
|
|
add r1, r2, r1
|
|
bl ov49_0225D4C8
|
|
mov r0, #6
|
|
ldrsh r1, [r4, r0]
|
|
mov r0, #0x1f
|
|
mul r0, r1
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
mov r2, #0x1f
|
|
sub r1, r2, r0
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r4]
|
|
lsr r1, r1, #0x18
|
|
bl ov49_0225D4D0
|
|
mov r0, #6
|
|
ldrsh r0, [r4, r0]
|
|
ldr r2, _0225ECD0 ; =0x000002E1
|
|
mov r3, #0
|
|
lsl r0, r0, #0xc
|
|
asr r1, r0, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
mov r1, #0xa
|
|
lsl r1, r1, #0xc
|
|
bl FX_Div
|
|
mov r3, #1
|
|
add r5, r0, #0
|
|
lsl r3, r3, #0xc
|
|
add r1, r5, r3
|
|
ldr r0, [r4]
|
|
add r2, r1, #0
|
|
add r3, r5, r3
|
|
bl ov49_0225D4F0
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_0225ECCC:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0225ECD0: .word 0x000002E1
|
|
thumb_func_end ov49_0225EC30
|
|
|
|
thumb_func_start ov49_0225ECD4
|
|
ov49_0225ECD4: ; 0x0225ECD4
|
|
ldrh r3, [r0, #4]
|
|
ldr r2, _0225ECEC ; =0x0000FFFF
|
|
add r2, r3, r2
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
cmp r2, #1
|
|
bls _0225ECE8
|
|
mov r2, #1
|
|
strh r2, [r0, #4]
|
|
str r1, [r0, #8]
|
|
_0225ECE8:
|
|
bx lr
|
|
nop
|
|
_0225ECEC: .word 0x0000FFFF
|
|
thumb_func_end ov49_0225ECD4
|
|
|
|
thumb_func_start ov49_0225ECF0
|
|
ov49_0225ECF0: ; 0x0225ECF0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrh r2, [r4, #4]
|
|
cmp r2, #4
|
|
bhi _0225ED62
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_0225ED06: ; jump table
|
|
.short _0225ED66 - _0225ED06 - 2 ; case 0
|
|
.short _0225ED10 - _0225ED06 - 2 ; case 1
|
|
.short _0225ED1A - _0225ED06 - 2 ; case 2
|
|
.short _0225ED2E - _0225ED06 - 2 ; case 3
|
|
.short _0225ED38 - _0225ED06 - 2 ; case 4
|
|
_0225ED10:
|
|
bl ov49_0225ED68
|
|
mov r0, #2
|
|
strh r0, [r4, #4]
|
|
pop {r4, pc}
|
|
_0225ED1A:
|
|
add r0, r1, #0
|
|
ldr r1, [r4]
|
|
mov r2, #0
|
|
bl ov49_0225D3BC
|
|
cmp r0, #0
|
|
bne _0225ED66
|
|
mov r0, #3
|
|
strh r0, [r4, #4]
|
|
pop {r4, pc}
|
|
_0225ED2E:
|
|
bl ov49_0225EC28
|
|
mov r0, #4
|
|
strh r0, [r4, #4]
|
|
pop {r4, pc}
|
|
_0225ED38:
|
|
bl ov49_0225EC30
|
|
cmp r0, #1
|
|
bne _0225ED66
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl ov49_0225D494
|
|
ldr r0, [r4]
|
|
bl ov49_0225D4E8
|
|
mov r1, #1
|
|
lsl r1, r1, #0xc
|
|
ldr r0, [r4]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl ov49_0225D4F0
|
|
mov r0, #0
|
|
strh r0, [r4, #4]
|
|
pop {r4, pc}
|
|
_0225ED62:
|
|
bl GF_AssertFail
|
|
_0225ED66:
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_0225ECF0
|
|
|
|
thumb_func_start ov49_0225ED68
|
|
ov49_0225ED68: ; 0x0225ED68
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r0, [r5]
|
|
ldr r1, [r5, #8]
|
|
bl ov49_0225D4C8
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
mov r3, #1
|
|
bl ov49_0225D214
|
|
mov r2, #1
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
bl ov49_0225D214
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl ov49_0225D494
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0225ED68
|
|
|
|
thumb_func_start ov49_0225ED98
|
|
ov49_0225ED98: ; 0x0225ED98
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrh r2, [r4, #4]
|
|
cmp r2, #4
|
|
bhi _0225EE0A
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_0225EDAE: ; jump table
|
|
.short _0225EE0E - _0225EDAE - 2 ; case 0
|
|
.short _0225EDB8 - _0225EDAE - 2 ; case 1
|
|
.short _0225EDC2 - _0225EDAE - 2 ; case 2
|
|
.short _0225EDD6 - _0225EDAE - 2 ; case 3
|
|
.short _0225EDE0 - _0225EDAE - 2 ; case 4
|
|
_0225EDB8:
|
|
bl ov49_0225EE10
|
|
mov r0, #2
|
|
strh r0, [r4, #4]
|
|
pop {r4, pc}
|
|
_0225EDC2:
|
|
add r0, r1, #0
|
|
ldr r1, [r4]
|
|
mov r2, #0
|
|
bl ov49_0225D3BC
|
|
cmp r0, #0
|
|
bne _0225EE0E
|
|
mov r0, #3
|
|
strh r0, [r4, #4]
|
|
pop {r4, pc}
|
|
_0225EDD6:
|
|
bl ov49_0225EC28
|
|
mov r0, #4
|
|
strh r0, [r4, #4]
|
|
pop {r4, pc}
|
|
_0225EDE0:
|
|
bl ov49_0225EC30
|
|
cmp r0, #1
|
|
bne _0225EE0E
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl ov49_0225D494
|
|
ldr r0, [r4]
|
|
bl ov49_0225D4E8
|
|
mov r1, #1
|
|
lsl r1, r1, #0xc
|
|
ldr r0, [r4]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl ov49_0225D4F0
|
|
mov r0, #0
|
|
strh r0, [r4, #4]
|
|
pop {r4, pc}
|
|
_0225EE0A:
|
|
bl GF_AssertFail
|
|
_0225EE0E:
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_0225ED98
|
|
|
|
thumb_func_start ov49_0225EE10
|
|
ov49_0225EE10: ; 0x0225EE10
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r0, [r5]
|
|
ldr r1, [r5, #8]
|
|
bl ov49_0225D4C8
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
mov r3, #1
|
|
bl ov49_0225D214
|
|
mov r2, #1
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
bl ov49_0225D214
|
|
ldr r1, [r5]
|
|
add r0, r4, #0
|
|
mov r2, #2
|
|
mov r3, #1
|
|
bl ov49_0225D214
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
bl ov49_0225D494
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0225EE10
|
|
|
|
thumb_func_start ov49_0225EE4C
|
|
ov49_0225EE4C: ; 0x0225EE4C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #0x5c
|
|
beq _0225EE60
|
|
cmp r4, #0x5d
|
|
beq _0225EE60
|
|
bl GF_AssertFail
|
|
_0225EE60:
|
|
add r0, r5, #0
|
|
bl ov49_0225D1EC
|
|
add r1, sp, #0
|
|
strh r0, [r1]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #2]
|
|
ldrh r0, [r1]
|
|
sub r4, #0x5c
|
|
lsl r2, r4, #2
|
|
strh r0, [r1, #4]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r1, #6]
|
|
mov r0, #4
|
|
ldrsh r3, [r1, r0]
|
|
ldr r0, _0225EEA8 ; =ov49_02269A74
|
|
ldr r0, [r0, r2]
|
|
add r0, r3, r0
|
|
strh r0, [r1, #4]
|
|
mov r0, #6
|
|
ldrsh r0, [r1, r0]
|
|
mov r3, sp
|
|
sub r3, r3, #4
|
|
sub r0, #0xa
|
|
strh r0, [r1, #6]
|
|
ldrh r2, [r1, #4]
|
|
add r0, r5, #0
|
|
strh r2, [r3]
|
|
ldrh r1, [r1, #6]
|
|
strh r1, [r3, #2]
|
|
ldr r1, [r3]
|
|
bl ov49_0225D1C4
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0225EEA8: .word ov49_02269A74
|
|
thumb_func_end ov49_0225EE4C
|
|
|
|
thumb_func_start ov49_0225EEAC
|
|
ov49_0225EEAC: ; 0x0225EEAC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
mov r1, #0xbf
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
mov r2, #0xbf
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
add r7, r0, #0
|
|
bl memset
|
|
str r6, [r7]
|
|
add r5, r7, #0
|
|
str r4, [r7, #4]
|
|
mov r4, #0
|
|
add r5, #8
|
|
_0225EED2:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl ov49_0225F068
|
|
add r4, r4, #1
|
|
add r5, #0x24
|
|
cmp r4, #0x14
|
|
blt _0225EED2
|
|
mov r0, #0xb6
|
|
lsl r0, r0, #2
|
|
add r0, r7, r0
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
bl ov49_0225F068
|
|
add r0, r7, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225EEAC
|
|
|
|
thumb_func_start ov49_0225EEF8
|
|
ov49_0225EEF8: ; 0x0225EEF8
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
add r5, r6, #0
|
|
mov r4, #0
|
|
add r5, #8
|
|
_0225EF02:
|
|
add r0, r5, #0
|
|
bl ov49_0225F074
|
|
add r4, r4, #1
|
|
add r5, #0x24
|
|
cmp r4, #0x14
|
|
blt _0225EF02
|
|
mov r0, #0xb6
|
|
lsl r0, r0, #2
|
|
add r0, r6, r0
|
|
bl ov49_0225F074
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225EEF8
|
|
|
|
thumb_func_start ov49_0225EF24
|
|
ov49_0225EF24: ; 0x0225EF24
|
|
ldr r3, _0225EF2C ; =ov49_0225F018
|
|
mov r1, #0
|
|
bx r3
|
|
nop
|
|
_0225EF2C: .word ov49_0225F018
|
|
thumb_func_end ov49_0225EF24
|
|
|
|
thumb_func_start ov49_0225EF30
|
|
ov49_0225EF30: ; 0x0225EF30
|
|
ldr r3, _0225EF38 ; =ov49_0225F018
|
|
mov r1, #1
|
|
bx r3
|
|
nop
|
|
_0225EF38: .word ov49_0225F018
|
|
thumb_func_end ov49_0225EF30
|
|
|
|
thumb_func_start ov49_0225EF3C
|
|
ov49_0225EF3C: ; 0x0225EF3C
|
|
ldr r0, [r0, #0xc]
|
|
bx lr
|
|
thumb_func_end ov49_0225EF3C
|
|
|
|
thumb_func_start ov49_0225EF40
|
|
ov49_0225EF40: ; 0x0225EF40
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #8]
|
|
add r4, r1, #0
|
|
cmp r0, #0
|
|
beq _0225EF50
|
|
bl GF_AssertFail
|
|
_0225EF50:
|
|
ldrh r0, [r5]
|
|
add r1, r4, #0
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
str r0, [r5, #8]
|
|
bl memset
|
|
ldr r0, [r5, #8]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225EF40
|
|
|
|
thumb_func_start ov49_0225EF68
|
|
ov49_0225EF68: ; 0x0225EF68
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _0225EF76
|
|
bl GF_AssertFail
|
|
_0225EF76:
|
|
ldr r0, [r4, #8]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225EF68
|
|
|
|
thumb_func_start ov49_0225EF84
|
|
ov49_0225EF84: ; 0x0225EF84
|
|
ldr r0, [r0, #8]
|
|
bx lr
|
|
thumb_func_end ov49_0225EF84
|
|
|
|
thumb_func_start ov49_0225EF88
|
|
ov49_0225EF88: ; 0x0225EF88
|
|
ldr r0, [r0, #0x10]
|
|
bx lr
|
|
thumb_func_end ov49_0225EF88
|
|
|
|
thumb_func_start ov49_0225EF8C
|
|
ov49_0225EF8C: ; 0x0225EF8C
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
thumb_func_end ov49_0225EF8C
|
|
|
|
thumb_func_start ov49_0225EF90
|
|
ov49_0225EF90: ; 0x0225EF90
|
|
ldr r1, [r0, #0x10]
|
|
add r1, r1, #1
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
thumb_func_end ov49_0225EF90
|
|
|
|
thumb_func_start ov49_0225EF98
|
|
ov49_0225EF98: ; 0x0225EF98
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
cmp r5, #0
|
|
bne _0225EFAA
|
|
bl GF_AssertFail
|
|
_0225EFAA:
|
|
cmp r4, #0x14
|
|
blo _0225EFB2
|
|
bl GF_AssertFail
|
|
_0225EFB2:
|
|
mov r0, #0x24
|
|
add r5, #8
|
|
mul r0, r4
|
|
add r0, r5, r0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl ov49_0225F0D8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225EF98
|
|
|
|
thumb_func_start ov49_0225EFC4
|
|
ov49_0225EFC4: ; 0x0225EFC4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
cmp r5, #0
|
|
bne _0225EFD6
|
|
bl GF_AssertFail
|
|
_0225EFD6:
|
|
cmp r4, #0x14
|
|
blo _0225EFDE
|
|
bl GF_AssertFail
|
|
_0225EFDE:
|
|
mov r0, #0x24
|
|
add r5, #8
|
|
mul r0, r4
|
|
add r0, r5, r0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl ov49_0225F110
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225EFC4
|
|
|
|
thumb_func_start ov49_0225EFF0
|
|
ov49_0225EFF0: ; 0x0225EFF0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
cmp r5, #0
|
|
bne _0225F000
|
|
bl GF_AssertFail
|
|
_0225F000:
|
|
cmp r4, #0x14
|
|
blo _0225F008
|
|
bl GF_AssertFail
|
|
_0225F008:
|
|
mov r0, #0x24
|
|
add r5, #8
|
|
mul r0, r4
|
|
add r0, r5, r0
|
|
add r1, r6, #0
|
|
bl ov49_0225F10C
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_0225EFF0
|
|
|
|
thumb_func_start ov49_0225F018
|
|
ov49_0225F018: ; 0x0225F018
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r0, #0xb6
|
|
lsl r0, r0, #2
|
|
add r0, r7, r0
|
|
str r1, [sp]
|
|
bl ov49_0225F180
|
|
cmp r0, #1
|
|
bne _0225F03E
|
|
mov r0, #0xb6
|
|
lsl r0, r0, #2
|
|
ldr r2, [sp]
|
|
add r0, r7, r0
|
|
add r1, r7, #0
|
|
mov r3, #0
|
|
bl ov49_0225F098
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225F03E:
|
|
add r6, r7, #0
|
|
add r6, #8
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_0225F046:
|
|
add r0, r6, #0
|
|
bl ov49_0225F180
|
|
cmp r0, #1
|
|
bne _0225F05C
|
|
ldr r2, [sp]
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r3, r4, #0
|
|
bl ov49_0225F098
|
|
_0225F05C:
|
|
add r4, r4, #1
|
|
add r6, #0x24
|
|
add r5, #0x24
|
|
cmp r4, #0x14
|
|
blt _0225F046
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225F018
|
|
|
|
thumb_func_start ov49_0225F068
|
|
ov49_0225F068: ; 0x0225F068
|
|
strh r2, [r0]
|
|
mov r2, #1
|
|
strb r2, [r0, #2]
|
|
strb r1, [r0, #3]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225F068
|
|
|
|
thumb_func_start ov49_0225F074
|
|
ov49_0225F074: ; 0x0225F074
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _0225F082
|
|
bl FreeToHeap
|
|
_0225F082:
|
|
ldr r0, [r4, #0x18]
|
|
cmp r0, #0
|
|
beq _0225F08C
|
|
bl FreeToHeap
|
|
_0225F08C:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x24
|
|
bl memset
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_0225F074
|
|
|
|
thumb_func_start ov49_0225F098
|
|
ov49_0225F098: ; 0x0225F098
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldrb r0, [r5, #2]
|
|
add r6, r1, #0
|
|
add r7, r3, #0
|
|
cmp r0, #0
|
|
beq _0225F0D6
|
|
cmp r2, #0
|
|
beq _0225F0B0
|
|
cmp r2, #1
|
|
beq _0225F0B6
|
|
b _0225F0BC
|
|
_0225F0B0:
|
|
ldr r0, [r5, #4]
|
|
ldr r4, [r0]
|
|
b _0225F0C0
|
|
_0225F0B6:
|
|
ldr r0, [r5, #4]
|
|
ldr r4, [r0, #4]
|
|
b _0225F0C0
|
|
_0225F0BC:
|
|
bl GF_AssertFail
|
|
_0225F0C0:
|
|
cmp r4, #0
|
|
beq _0225F0D6
|
|
ldr r1, [r6, #4]
|
|
add r0, r5, #0
|
|
add r2, r7, #0
|
|
blx r4
|
|
cmp r0, #1
|
|
bne _0225F0D6
|
|
add r0, r5, #0
|
|
bl ov49_0225F148
|
|
_0225F0D6:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225F098
|
|
|
|
thumb_func_start ov49_0225F0D8
|
|
ov49_0225F0D8: ; 0x0225F0D8
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl ov49_0225F170
|
|
cmp r0, #1
|
|
beq _0225F0EE
|
|
bl GF_AssertFail
|
|
_0225F0EE:
|
|
ldr r0, [r5, #8]
|
|
cmp r0, #0
|
|
beq _0225F0F8
|
|
bl GF_AssertFail
|
|
_0225F0F8:
|
|
mov r3, #0
|
|
add r0, r5, #4
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
str r3, [sp]
|
|
bl ov49_0225F190
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225F0D8
|
|
|
|
thumb_func_start ov49_0225F10C
|
|
ov49_0225F10C: ; 0x0225F10C
|
|
strb r1, [r0, #2]
|
|
bx lr
|
|
thumb_func_end ov49_0225F10C
|
|
|
|
thumb_func_start ov49_0225F110
|
|
ov49_0225F110: ; 0x0225F110
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl ov49_0225F170
|
|
cmp r0, #1
|
|
beq _0225F126
|
|
bl GF_AssertFail
|
|
_0225F126:
|
|
add r2, r5, #0
|
|
add r3, r5, #4
|
|
add r2, #0x14
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
mov r3, #0
|
|
add r0, r5, #4
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
str r3, [sp]
|
|
bl ov49_0225F190
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225F110
|
|
|
|
thumb_func_start ov49_0225F148
|
|
ov49_0225F148: ; 0x0225F148
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _0225F156
|
|
bl GF_AssertFail
|
|
_0225F156:
|
|
add r3, r4, #0
|
|
add r3, #0x14
|
|
add r2, r4, #4
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
add r4, #0x14
|
|
add r0, r4, #0
|
|
bl ov49_0225F19C
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225F148
|
|
|
|
thumb_func_start ov49_0225F170
|
|
ov49_0225F170: ; 0x0225F170
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #0
|
|
bne _0225F17A
|
|
mov r0, #1
|
|
bx lr
|
|
_0225F17A:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225F170
|
|
|
|
thumb_func_start ov49_0225F180
|
|
ov49_0225F180: ; 0x0225F180
|
|
ldr r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _0225F18A
|
|
mov r0, #1
|
|
bx lr
|
|
_0225F18A:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225F180
|
|
|
|
thumb_func_start ov49_0225F190
|
|
ov49_0225F190: ; 0x0225F190
|
|
str r1, [r0]
|
|
ldr r1, [sp]
|
|
str r3, [r0, #0xc]
|
|
str r1, [r0, #4]
|
|
str r2, [r0, #8]
|
|
bx lr
|
|
thumb_func_end ov49_0225F190
|
|
|
|
thumb_func_start ov49_0225F19C
|
|
ov49_0225F19C: ; 0x0225F19C
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
str r1, [r0, #0xc]
|
|
str r1, [r0, #4]
|
|
str r1, [r0, #8]
|
|
bx lr
|
|
thumb_func_end ov49_0225F19C
|
|
|
|
thumb_func_start ov49_0225F1A8
|
|
ov49_0225F1A8: ; 0x0225F1A8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
bl ov49_02259FEC
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A010
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A02C
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_02259FE8
|
|
mov r1, #1
|
|
bl ov45_0222A5E8
|
|
ldrh r0, [r4, #6]
|
|
cmp r0, #4
|
|
blo _0225F1D8
|
|
bl GF_AssertFail
|
|
_0225F1D8:
|
|
ldrh r2, [r4, #6]
|
|
ldr r3, _0225F1EC ; =ov49_02269BE0
|
|
add r0, r7, #0
|
|
lsl r2, r2, #3
|
|
add r2, r3, r2
|
|
add r1, r6, #0
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225F1EC: .word ov49_02269BE0
|
|
thumb_func_end ov49_0225F1A8
|
|
|
|
thumb_func_start ov49_0225F1F0
|
|
ov49_0225F1F0: ; 0x0225F1F0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
bl ov49_0225A02C
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A010
|
|
ldr r7, _0225F220 ; =ov49_02269B78
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
_0225F206:
|
|
cmp r5, r4
|
|
beq _0225F216
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
_0225F216:
|
|
add r4, r4, #1
|
|
cmp r4, #0x14
|
|
blt _0225F206
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225F220: .word ov49_02269B78
|
|
thumb_func_end ov49_0225F1F0
|
|
|
|
thumb_func_start ov49_0225F224
|
|
ov49_0225F224: ; 0x0225F224
|
|
cmp r0, #3
|
|
bhi _0225F24A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225F234: ; jump table
|
|
.short _0225F23C - _0225F234 - 2 ; case 0
|
|
.short _0225F240 - _0225F234 - 2 ; case 1
|
|
.short _0225F244 - _0225F234 - 2 ; case 2
|
|
.short _0225F248 - _0225F234 - 2 ; case 3
|
|
_0225F23C:
|
|
mov r1, #0x40
|
|
b _0225F24A
|
|
_0225F240:
|
|
mov r1, #0x80
|
|
b _0225F24A
|
|
_0225F244:
|
|
mov r1, #0x20
|
|
b _0225F24A
|
|
_0225F248:
|
|
mov r1, #0x10
|
|
_0225F24A:
|
|
ldr r0, _0225F25C ; =gSystem
|
|
ldr r0, [r0, #0x44]
|
|
tst r0, r1
|
|
beq _0225F256
|
|
mov r0, #1
|
|
bx lr
|
|
_0225F256:
|
|
mov r0, #0
|
|
bx lr
|
|
nop
|
|
_0225F25C: .word gSystem
|
|
thumb_func_end ov49_0225F224
|
|
|
|
thumb_func_start ov49_0225F260
|
|
ov49_0225F260: ; 0x0225F260
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
str r1, [sp]
|
|
add r7, r0, #0
|
|
str r2, [sp, #4]
|
|
add r4, r3, #0
|
|
ldr r5, [sp, #0x28]
|
|
bl ov49_0225EF84
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp]
|
|
bl ov49_0225A010
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #8]
|
|
mov r2, #0
|
|
cmp r0, #3
|
|
beq _0225F2F4
|
|
add r6, r4, #0
|
|
add r1, r2, #0
|
|
_0225F288:
|
|
add r3, r1, #0
|
|
_0225F28A:
|
|
ldrb r0, [r6, r3]
|
|
cmp r0, #0xff
|
|
beq _0225F2EA
|
|
cmp r5, r0
|
|
bne _0225F2E4
|
|
mov r0, #0x18
|
|
add r5, r2, #0
|
|
mul r5, r0
|
|
add r6, r4, r5
|
|
ldr r0, [r6, #8]
|
|
cmp r0, #0
|
|
beq _0225F2AA
|
|
cmp r0, #1
|
|
beq _0225F2C2
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225F2AA:
|
|
add r0, r7, #0
|
|
bl ov49_0225EF68
|
|
add r2, r6, #0
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #4]
|
|
add r2, #0xc
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225F2C2:
|
|
ldr r7, [r6, #0x14]
|
|
cmp r7, #0
|
|
beq _0225F2D2
|
|
ldrb r3, [r3, r6]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
blx r7
|
|
_0225F2D2:
|
|
add r2, r4, r5
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #4]
|
|
add r2, #0xc
|
|
mov r3, #0
|
|
bl ov49_0225EFC4
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225F2E4:
|
|
add r3, r3, #1
|
|
cmp r3, #8
|
|
blt _0225F28A
|
|
_0225F2EA:
|
|
add r6, #0x18
|
|
ldr r0, [r6, #8]
|
|
add r2, r2, #1
|
|
cmp r0, #3
|
|
bne _0225F288
|
|
_0225F2F4:
|
|
bl GF_AssertFail
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225F260
|
|
|
|
thumb_func_start ov49_0225F2FC
|
|
ov49_0225F2FC: ; 0x0225F2FC
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
bl ov49_02259FF0
|
|
add r1, r4, #0
|
|
bl ov49_02258C28
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A008
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r1, sp, #0
|
|
bl ov49_02259154
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
ldr r3, [sp, #8]
|
|
add r0, r5, #0
|
|
bl ov49_0225CC28
|
|
add r0, r4, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225F2FC
|
|
|
|
thumb_func_start ov49_0225F334
|
|
ov49_0225F334: ; 0x0225F334
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
str r3, [sp]
|
|
bl ov49_02259FF0
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A008
|
|
str r0, [sp, #4]
|
|
ldr r3, [sp]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl ov49_02258C5C
|
|
add r5, r0, #0
|
|
ldr r3, [sp, #0x20]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov49_02258E7C
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
bl ov49_0225CC40
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_0225F334
|
|
|
|
thumb_func_start ov49_0225F374
|
|
ov49_0225F374: ; 0x0225F374
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
strb r0, [r4, #4]
|
|
mov r0, #1
|
|
strb r0, [r4, #5]
|
|
bl MTRandom
|
|
mov r1, #3
|
|
and r0, r1
|
|
strb r0, [r4, #6]
|
|
mov r0, #1
|
|
strb r0, [r4, #7]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225F374
|
|
|
|
thumb_func_start ov49_0225F394
|
|
ov49_0225F394: ; 0x0225F394
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, #5]
|
|
cmp r0, #0
|
|
beq _0225F3A8
|
|
cmp r0, #1
|
|
beq _0225F3AE
|
|
cmp r0, #2
|
|
beq _0225F3C0
|
|
b _0225F422
|
|
_0225F3A8:
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
b _0225F422
|
|
_0225F3AE:
|
|
ldrb r0, [r4, #6]
|
|
sub r0, r0, #1
|
|
cmp r0, #0
|
|
ble _0225F3BA
|
|
strb r0, [r4, #6]
|
|
b _0225F422
|
|
_0225F3BA:
|
|
mov r0, #2
|
|
strb r0, [r4, #5]
|
|
b _0225F422
|
|
_0225F3C0:
|
|
mov r0, #4
|
|
ldrsb r1, [r4, r0]
|
|
mov r3, #0
|
|
add r1, r1, #1
|
|
strb r1, [r4, #4]
|
|
ldrsb r1, [r4, r0]
|
|
ldr r0, _0225F428 ; =0x00007FFF
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
asr r0, r2, #1
|
|
lsr r0, r0, #0x1e
|
|
add r0, r2, r0
|
|
lsl r0, r0, #0xe
|
|
lsr r0, r0, #0x10
|
|
asr r0, r0, #4
|
|
lsl r1, r0, #2
|
|
ldr r0, _0225F42C ; =FX_SinCosTable_
|
|
mov r2, #6
|
|
ldrsh r0, [r0, r1]
|
|
lsl r2, r2, #0xc
|
|
asr r1, r0, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r1, r2, #0xc
|
|
orr r1, r0
|
|
str r1, [r4]
|
|
mov r0, #4
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #4
|
|
blt _0225F422
|
|
ldrb r0, [r4, #7]
|
|
cmp r0, #1
|
|
bne _0225F420
|
|
strb r3, [r4, #4]
|
|
mov r0, #1
|
|
strb r0, [r4, #5]
|
|
bl MTRandom
|
|
mov r1, #3
|
|
and r0, r1
|
|
strb r0, [r4, #6]
|
|
b _0225F422
|
|
_0225F420:
|
|
strb r3, [r4, #5]
|
|
_0225F422:
|
|
ldr r0, [r4]
|
|
pop {r4, pc}
|
|
nop
|
|
_0225F428: .word 0x00007FFF
|
|
_0225F42C: .word FX_SinCosTable_
|
|
thumb_func_end ov49_0225F394
|
|
|
|
thumb_func_start ov49_0225F430
|
|
ov49_0225F430: ; 0x0225F430
|
|
mov r1, #0
|
|
strb r1, [r0, #7]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225F430
|
|
|
|
thumb_func_start ov49_0225F438
|
|
ov49_0225F438: ; 0x0225F438
|
|
ldrb r0, [r0, #5]
|
|
cmp r0, #0
|
|
beq _0225F442
|
|
mov r0, #1
|
|
bx lr
|
|
_0225F442:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225F438
|
|
|
|
thumb_func_start ov49_0225F448
|
|
ov49_0225F448: ; 0x0225F448
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r4, r2, #0
|
|
add r0, r5, #0
|
|
bl ov49_02259FF0
|
|
add r1, r4, #0
|
|
add r7, r0, #0
|
|
bl ov49_02258D70
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
bl ov49_02259FE8
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0
|
|
beq _0225F47E
|
|
cmp r0, #1
|
|
beq _0225F4A2
|
|
cmp r0, #2
|
|
beq _0225F4B8
|
|
b _0225F510
|
|
_0225F47E:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_0225A56C
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222A53C
|
|
cmp r4, r0
|
|
bne _0225F510
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov49_0225A53C
|
|
b _0225F510
|
|
_0225F4A2:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_0225A5AC
|
|
cmp r0, #1
|
|
bne _0225F510
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
bl ov49_0225EF8C
|
|
b _0225F510
|
|
_0225F4B8:
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222A53C
|
|
cmp r4, r0
|
|
bne _0225F4CE
|
|
ldr r1, [sp]
|
|
add r0, r7, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
b _0225F504
|
|
_0225F4CE:
|
|
add r0, r5, #0
|
|
bl ov49_0225A4F0
|
|
cmp r0, #1
|
|
bne _0225F4EE
|
|
add r0, r5, #0
|
|
bl ov49_0225A4E0
|
|
cmp r4, r0
|
|
beq _0225F4F8
|
|
ldr r1, [sp]
|
|
add r0, r7, #0
|
|
mov r2, #2
|
|
bl ov49_02258EEC
|
|
b _0225F4F8
|
|
_0225F4EE:
|
|
ldr r1, [sp]
|
|
add r0, r7, #0
|
|
mov r2, #2
|
|
bl ov49_02258EEC
|
|
_0225F4F8:
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0
|
|
bl ov49_0225A04C
|
|
_0225F504:
|
|
add r0, r5, #0
|
|
bl ov49_0225A54C
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225F510:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0225F448
|
|
|
|
thumb_func_start ov49_0225F518
|
|
ov49_0225F518: ; 0x0225F518
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
str r2, [sp]
|
|
bl ov49_02259FE8
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
bl ov49_02259FF0
|
|
str r0, [sp, #8]
|
|
bl ov49_02258DAC
|
|
add r7, r0, #0
|
|
add r0, r6, #0
|
|
bl ov49_0225EF84
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0x16
|
|
bhi _0225F602
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225F556: ; jump table
|
|
.short _0225F584 - _0225F556 - 2 ; case 0
|
|
.short _0225F5C4 - _0225F556 - 2 ; case 1
|
|
.short _0225F5FA - _0225F556 - 2 ; case 2
|
|
.short _0225F614 - _0225F556 - 2 ; case 3
|
|
.short _0225F62E - _0225F556 - 2 ; case 4
|
|
.short _0225F648 - _0225F556 - 2 ; case 5
|
|
.short _0225F662 - _0225F556 - 2 ; case 6
|
|
.short _0225F67C - _0225F556 - 2 ; case 7
|
|
.short _0225F692 - _0225F556 - 2 ; case 8
|
|
.short _0225F6B2 - _0225F556 - 2 ; case 9
|
|
.short _0225F6E4 - _0225F556 - 2 ; case 10
|
|
.short _0225F758 - _0225F556 - 2 ; case 11
|
|
.short _0225F79E - _0225F556 - 2 ; case 12
|
|
.short _0225F7D0 - _0225F556 - 2 ; case 13
|
|
.short _0225F9FA - _0225F556 - 2 ; case 14
|
|
.short _0225F844 - _0225F556 - 2 ; case 15
|
|
.short _0225F88A - _0225F556 - 2 ; case 16
|
|
.short _0225F8E2 - _0225F556 - 2 ; case 17
|
|
.short _0225F902 - _0225F556 - 2 ; case 18
|
|
.short _0225F950 - _0225F556 - 2 ; case 19
|
|
.short _0225F97A - _0225F556 - 2 ; case 20
|
|
.short _0225F9AE - _0225F556 - 2 ; case 21
|
|
.short _0225F9C2 - _0225F556 - 2 ; case 22
|
|
_0225F584:
|
|
add r0, r6, #0
|
|
mov r1, #0x2c
|
|
bl ov49_0225EF40
|
|
add r1, r5, #0
|
|
add r4, r0, #0
|
|
bl ov49_022614CC
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222A4D0
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222B1B4
|
|
strh r0, [r4, #2]
|
|
ldrh r1, [r4, #2]
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222A72C
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
bl ov49_0225F2FC
|
|
add r1, r0, #0
|
|
ldr r0, [sp, #8]
|
|
mov r2, #4
|
|
bl ov49_02258EEC
|
|
add r0, r6, #0
|
|
bl ov49_0225EF90
|
|
b _0225F9FA
|
|
_0225F5C4:
|
|
add r0, r5, #0
|
|
bl ov49_0225A030
|
|
cmp r0, #0
|
|
bne _0225F602
|
|
add r0, r7, #0
|
|
bl ov49_02258F38
|
|
cmp r0, #1
|
|
bne _0225F602
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
add r0, r5, #0
|
|
bl ov49_0225A008
|
|
add r1, r7, #0
|
|
bl ov49_0225CC40
|
|
mov r0, #0x10
|
|
str r0, [r4, #4]
|
|
add r0, r6, #0
|
|
bl ov49_0225EF90
|
|
b _0225F9FA
|
|
_0225F5FA:
|
|
ldr r0, [r4, #4]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #4]
|
|
beq _0225F604
|
|
_0225F602:
|
|
b _0225F9FA
|
|
_0225F604:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225A018
|
|
add r0, r6, #0
|
|
bl ov49_0225EF90
|
|
b _0225F9FA
|
|
_0225F614:
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
mov r2, #2
|
|
mov r3, #0
|
|
bl ov49_02258E7C
|
|
mov r0, #4
|
|
strh r0, [r4]
|
|
add r0, r6, #0
|
|
mov r1, #7
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F62E:
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
mov r2, #2
|
|
mov r3, #0
|
|
bl ov49_02258E7C
|
|
mov r0, #5
|
|
strh r0, [r4]
|
|
add r0, r6, #0
|
|
mov r1, #7
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F648:
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
mov r2, #1
|
|
mov r3, #3
|
|
bl ov49_02258E7C
|
|
mov r0, #6
|
|
strh r0, [r4]
|
|
add r0, r6, #0
|
|
mov r1, #7
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F662:
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
mov r2, #2
|
|
mov r3, #3
|
|
bl ov49_02258E7C
|
|
mov r0, #8
|
|
strh r0, [r4]
|
|
add r0, r6, #0
|
|
mov r1, #7
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F67C:
|
|
add r0, r7, #0
|
|
mov r1, #5
|
|
bl ov49_02258E60
|
|
cmp r0, #0
|
|
bne _0225F766
|
|
ldrh r1, [r4]
|
|
add r0, r6, #0
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F692:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x10
|
|
strh r0, [r4]
|
|
add r0, r6, #0
|
|
mov r1, #0x15
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F6B2:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #5
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A09C
|
|
add r4, #8
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r3, r2, #0
|
|
bl ov49_0225A174
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225A1F4
|
|
add r0, r6, #0
|
|
mov r1, #0xa
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F6E4:
|
|
add r0, r5, #0
|
|
mov r7, #0
|
|
bl ov49_0225A1D4
|
|
add r2, r0, #0
|
|
beq _0225F704
|
|
sub r0, r7, #2
|
|
cmp r2, r0
|
|
beq _0225F6FE
|
|
add r0, r0, #1
|
|
cmp r2, r0
|
|
beq _0225F718
|
|
b _0225F70C
|
|
_0225F6FE:
|
|
ldr r0, _0225FA00 ; =0x000005DC
|
|
bl PlaySE
|
|
_0225F704:
|
|
mov r0, #0
|
|
strh r0, [r4, #0x28]
|
|
mov r7, #1
|
|
b _0225F718
|
|
_0225F70C:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
strh r2, [r4, #0x28]
|
|
mov r7, #1
|
|
bl ov49_0225A40C
|
|
_0225F718:
|
|
cmp r7, #1
|
|
bne _0225F766
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A1E4
|
|
ldrh r0, [r4, #0x28]
|
|
cmp r0, #0
|
|
beq _0225F74E
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #8
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A09C
|
|
add r0, r5, #0
|
|
bl ov49_0225A264
|
|
add r0, r6, #0
|
|
mov r1, #0xb
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F74E:
|
|
add r0, r6, #0
|
|
mov r1, #0x11
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F758:
|
|
add r0, r5, #0
|
|
bl ov49_0225A2C4
|
|
cmp r0, #0
|
|
beq _0225F768
|
|
cmp r0, #1
|
|
beq _0225F78E
|
|
_0225F766:
|
|
b _0225F9FA
|
|
_0225F768:
|
|
add r0, r5, #0
|
|
bl ov49_0225A2F8
|
|
add r0, r6, #0
|
|
mov r1, #0xc
|
|
bl ov49_0225EF8C
|
|
ldrh r1, [r4, #0x28]
|
|
ldrh r2, [r4, #0x2a]
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222A770
|
|
add r0, r5, #0
|
|
bl ov49_0225A490
|
|
ldr r0, _0225FA04 ; =0x000005E5
|
|
bl PlaySE
|
|
b _0225F9FA
|
|
_0225F78E:
|
|
add r0, r5, #0
|
|
bl ov49_0225A2F8
|
|
add r0, r6, #0
|
|
mov r1, #9
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F79E:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0xa
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A09C
|
|
add r4, #8
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r3, r2, #0
|
|
bl ov49_0225A174
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225A1F4
|
|
add r0, r6, #0
|
|
mov r1, #0xd
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F7D0:
|
|
add r0, r5, #0
|
|
mov r7, #0
|
|
bl ov49_0225A1D4
|
|
add r2, r0, #0
|
|
beq _0225F7F0
|
|
sub r0, r7, #2
|
|
cmp r2, r0
|
|
beq _0225F7EA
|
|
add r0, r0, #1
|
|
cmp r2, r0
|
|
beq _0225F804
|
|
b _0225F7F8
|
|
_0225F7EA:
|
|
ldr r0, _0225FA00 ; =0x000005DC
|
|
bl PlaySE
|
|
_0225F7F0:
|
|
mov r0, #0
|
|
strh r0, [r4, #0x2a]
|
|
mov r7, #1
|
|
b _0225F804
|
|
_0225F7F8:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
strh r2, [r4, #0x2a]
|
|
mov r7, #1
|
|
bl ov49_0225A40C
|
|
_0225F804:
|
|
cmp r7, #1
|
|
bne _0225F852
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A1E4
|
|
ldrh r0, [r4, #0x2a]
|
|
cmp r0, #0
|
|
beq _0225F83A
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #8
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A09C
|
|
add r0, r5, #0
|
|
bl ov49_0225A264
|
|
add r0, r6, #0
|
|
mov r1, #0xf
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F83A:
|
|
add r0, r6, #0
|
|
mov r1, #0x13
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F844:
|
|
add r0, r5, #0
|
|
bl ov49_0225A2C4
|
|
cmp r0, #0
|
|
beq _0225F854
|
|
cmp r0, #1
|
|
beq _0225F87A
|
|
_0225F852:
|
|
b _0225F9FA
|
|
_0225F854:
|
|
add r0, r5, #0
|
|
bl ov49_0225A2F8
|
|
add r0, r6, #0
|
|
mov r1, #0x14
|
|
bl ov49_0225EF8C
|
|
ldrh r1, [r4, #0x28]
|
|
ldrh r2, [r4, #0x2a]
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222A770
|
|
add r0, r5, #0
|
|
bl ov49_0225A490
|
|
ldr r0, _0225FA04 ; =0x000005E5
|
|
bl PlaySE
|
|
b _0225F9FA
|
|
_0225F87A:
|
|
add r0, r5, #0
|
|
bl ov49_0225A2F8
|
|
add r0, r6, #0
|
|
mov r1, #0xc
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F88A:
|
|
ldr r0, _0225FA08 ; =0x000005BF
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
bl ov49_0225A530
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrh r1, [r4, #2]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl ov49_0225A39C
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp]
|
|
bl ov45_0222AB28
|
|
cmp r0, #0
|
|
bne _0225F8C2
|
|
mov r1, #1
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A30C
|
|
b _0225F8CC
|
|
_0225F8C2:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0x7c
|
|
bl ov49_0225A30C
|
|
_0225F8CC:
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x12
|
|
strh r0, [r4]
|
|
add r0, r6, #0
|
|
mov r1, #0x15
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F8E2:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #2
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x16
|
|
strh r0, [r4]
|
|
add r0, r6, #0
|
|
mov r1, #0x15
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F902:
|
|
ldr r0, _0225FA08 ; =0x000005BF
|
|
bl IsSEPlaying
|
|
cmp r0, #0
|
|
bne _0225F9FA
|
|
ldr r0, _0225FA0C ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _0225F9FA
|
|
ldr r0, _0225FA00 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #4
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #9
|
|
strh r0, [r4]
|
|
add r0, r6, #0
|
|
mov r1, #0x15
|
|
bl ov49_0225EF8C
|
|
ldrh r1, [r4, #0x28]
|
|
ldrh r2, [r4, #0x2a]
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222A770
|
|
ldr r1, [sp]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A428
|
|
b _0225F9FA
|
|
_0225F950:
|
|
ldrh r2, [r4, #0x28]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov49_0225A40C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0xc
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x11
|
|
strh r0, [r4]
|
|
add r0, r6, #0
|
|
mov r1, #0x15
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F97A:
|
|
ldrh r2, [r4, #0x28]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov49_0225A40C
|
|
ldrh r2, [r4, #0x2a]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225A40C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0xb
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x11
|
|
strh r0, [r4]
|
|
add r0, r6, #0
|
|
mov r1, #0x15
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F9AE:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #1
|
|
bne _0225F9FA
|
|
ldrh r1, [r4]
|
|
add r0, r6, #0
|
|
bl ov49_0225EF8C
|
|
b _0225F9FA
|
|
_0225F9C2:
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
add r0, r5, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02261540
|
|
add r0, r6, #0
|
|
bl ov49_0225EF68
|
|
add r0, r5, #0
|
|
bl ov49_0225A010
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A02C
|
|
add r1, r0, #0
|
|
ldr r2, _0225FA10 ; =ov49_02269B38
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
_0225F9FA:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225FA00: .word 0x000005DC
|
|
_0225FA04: .word 0x000005E5
|
|
_0225FA08: .word 0x000005BF
|
|
_0225FA0C: .word gSystem
|
|
_0225FA10: .word ov49_02269B38
|
|
thumb_func_end ov49_0225F518
|
|
|
|
thumb_func_start ov49_0225FA14
|
|
ov49_0225FA14: ; 0x0225FA14
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
str r2, [sp, #4]
|
|
bl ov49_02259FE8
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
bl ov49_02259FEC
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
str r0, [sp, #0xc]
|
|
bl ov49_02258DAC
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #5
|
|
bls _0225FA48
|
|
b _0225FB52
|
|
_0225FA48:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225FA54: ; jump table
|
|
.short _0225FA60 - _0225FA54 - 2 ; case 0
|
|
.short _0225FA8C - _0225FA54 - 2 ; case 1
|
|
.short _0225FAC2 - _0225FA54 - 2 ; case 2
|
|
.short _0225FAF2 - _0225FA54 - 2 ; case 3
|
|
.short _0225FB16 - _0225FA54 - 2 ; case 4
|
|
.short _0225FB2E - _0225FA54 - 2 ; case 5
|
|
_0225FA60:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldrh r2, [r6]
|
|
ldrh r3, [r6, #2]
|
|
ldr r1, [sp, #4]
|
|
add r0, r4, #0
|
|
bl ov49_0225F334
|
|
bl ov45_0222D844
|
|
cmp r0, #0
|
|
bne _0225FA7C
|
|
bl ov45_0222EB94
|
|
_0225FA7C:
|
|
ldr r0, [sp, #8]
|
|
mov r1, #0
|
|
bl ov45_0222A520
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0225FB52
|
|
_0225FA8C:
|
|
bl ov45_0222D844
|
|
cmp r0, #0
|
|
bne _0225FA9C
|
|
bl ov45_0222EBC4
|
|
cmp r0, #0
|
|
beq _0225FB52
|
|
_0225FA9C:
|
|
add r0, r4, #0
|
|
bl ov49_02259FEC
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A030
|
|
cmp r0, #0
|
|
bne _0225FB52
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
ldrh r3, [r6, #4]
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r7, #0
|
|
mov r2, #2
|
|
bl ov49_02258EAC
|
|
b _0225FB52
|
|
_0225FAC2:
|
|
add r0, r7, #0
|
|
mov r1, #5
|
|
bl ov49_02258E60
|
|
cmp r0, #0
|
|
bne _0225FB52
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov49_0225A018
|
|
ldr r0, [sp, #8]
|
|
bl ov45_0222A4B8
|
|
cmp r0, #1
|
|
bne _0225FAE8
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0225FB52
|
|
_0225FAE8:
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
b _0225FB52
|
|
_0225FAF2:
|
|
ldrh r1, [r6, #8]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x15
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0225FB52
|
|
_0225FB16:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #1
|
|
bne _0225FB52
|
|
add r0, r4, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0225FB52
|
|
_0225FB2E:
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r7, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
add r0, r4, #0
|
|
bl ov49_0225A010
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A02C
|
|
add r1, r0, #0
|
|
ldr r2, _0225FB58 ; =ov49_02269B38
|
|
add r0, r5, #0
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
_0225FB52:
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225FB58: .word ov49_02269B38
|
|
thumb_func_end ov49_0225FA14
|
|
|
|
thumb_func_start ov49_0225FB5C
|
|
ov49_0225FB5C: ; 0x0225FB5C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
str r2, [sp, #4]
|
|
bl ov49_0225A010
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
str r0, [sp, #0xc]
|
|
bl ov49_02258DAC
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
str r0, [sp, #0x10]
|
|
add r0, r4, #0
|
|
bl ov49_02259FEC
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #5
|
|
bls _0225FB98
|
|
b _0225FC9A
|
|
_0225FB98:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225FBA4: ; jump table
|
|
.short _0225FBB0 - _0225FBA4 - 2 ; case 0
|
|
.short _0225FBE2 - _0225FBA4 - 2 ; case 1
|
|
.short _0225FC08 - _0225FBA4 - 2 ; case 2
|
|
.short _0225FC3A - _0225FBA4 - 2 ; case 3
|
|
.short _0225FC5E - _0225FBA4 - 2 ; case 4
|
|
.short _0225FC76 - _0225FBA4 - 2 ; case 5
|
|
_0225FBB0:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldrh r2, [r6]
|
|
ldrh r3, [r6, #2]
|
|
ldr r1, [sp, #4]
|
|
add r0, r4, #0
|
|
bl ov49_0225F334
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #4]
|
|
ldr r2, _0225FCA0 ; =ov49_02269B68
|
|
mov r3, #0
|
|
bl ov49_0225EFC4
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0
|
|
bl ov45_0222A4C8
|
|
ldr r0, [sp, #0x10]
|
|
bl ov45_0222A4D0
|
|
b _0225FC9A
|
|
_0225FBE2:
|
|
add r0, r4, #0
|
|
bl ov49_02259FEC
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A030
|
|
cmp r0, #0
|
|
bne _0225FC9A
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
ldrh r3, [r6, #4]
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r7, #0
|
|
mov r2, #2
|
|
bl ov49_02258EAC
|
|
b _0225FC9A
|
|
_0225FC08:
|
|
add r0, r7, #0
|
|
mov r1, #5
|
|
bl ov49_02258E60
|
|
cmp r0, #0
|
|
bne _0225FC9A
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov49_0225A018
|
|
ldr r0, [sp, #0x10]
|
|
bl ov45_0222A424
|
|
cmp r0, #1
|
|
bne _0225FC30
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl ov49_0225EF8C
|
|
b _0225FC9A
|
|
_0225FC30:
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
b _0225FC9A
|
|
_0225FC3A:
|
|
ldrh r1, [r6, #8]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #8
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0225FC9A
|
|
_0225FC5E:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #1
|
|
bne _0225FC9A
|
|
add r0, r4, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0225FC9A
|
|
_0225FC76:
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r7, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
add r0, r4, #0
|
|
bl ov49_0225A010
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A02C
|
|
add r1, r0, #0
|
|
ldr r2, _0225FCA4 ; =ov49_02269B38
|
|
add r0, r5, #0
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
_0225FC9A:
|
|
mov r0, #0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225FCA0: .word ov49_02269B68
|
|
_0225FCA4: .word ov49_02269B38
|
|
thumb_func_end ov49_0225FB5C
|
|
|
|
thumb_func_start ov49_0225FCA8
|
|
ov49_0225FCA8: ; 0x0225FCA8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
str r2, [sp, #4]
|
|
bl ov49_02259FE8
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_02259FEC
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
str r0, [sp, #0xc]
|
|
bl ov49_02258DAC
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #5
|
|
bhi _0225FDC2
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225FCE6: ; jump table
|
|
.short _0225FCF2 - _0225FCE6 - 2 ; case 0
|
|
.short _0225FD16 - _0225FCE6 - 2 ; case 1
|
|
.short _0225FD3C - _0225FCE6 - 2 ; case 2
|
|
.short _0225FD6C - _0225FCE6 - 2 ; case 3
|
|
.short _0225FD86 - _0225FCE6 - 2 ; case 4
|
|
.short _0225FD9E - _0225FCE6 - 2 ; case 5
|
|
_0225FCF2:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r2, [sp, #8]
|
|
ldr r3, [sp, #8]
|
|
ldrh r2, [r2]
|
|
ldrh r3, [r3, #2]
|
|
ldr r1, [sp, #4]
|
|
add r0, r4, #0
|
|
bl ov49_0225F334
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
bl ov45_0222A520
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0225FDC2
|
|
_0225FD16:
|
|
add r0, r4, #0
|
|
bl ov49_02259FEC
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A030
|
|
cmp r0, #0
|
|
bne _0225FDC2
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
ldrh r3, [r7, #4]
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r6, #0
|
|
mov r2, #2
|
|
bl ov49_02258EAC
|
|
b _0225FDC2
|
|
_0225FD3C:
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
bl ov49_02258E60
|
|
cmp r0, #0
|
|
bne _0225FDC2
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov49_0225A018
|
|
add r0, r7, #0
|
|
bl ov45_0222A4B8
|
|
cmp r0, #1
|
|
bne _0225FD62
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0225FDC2
|
|
_0225FD62:
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
b _0225FDC2
|
|
_0225FD6C:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x5b
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0225FDC2
|
|
_0225FD86:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #1
|
|
bne _0225FDC2
|
|
add r0, r4, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0225FDC2
|
|
_0225FD9E:
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r6, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
add r0, r4, #0
|
|
bl ov49_0225A010
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A02C
|
|
add r1, r0, #0
|
|
ldr r2, _0225FDC8 ; =ov49_02269B38
|
|
add r0, r5, #0
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
_0225FDC2:
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225FDC8: .word ov49_02269B38
|
|
thumb_func_end ov49_0225FCA8
|
|
|
|
thumb_func_start ov49_0225FDCC
|
|
ov49_0225FDCC: ; 0x0225FDCC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x50
|
|
str r0, [sp, #4]
|
|
add r5, r1, #0
|
|
add r7, r2, #0
|
|
bl ov49_0225EF84
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [sp, #4]
|
|
bl ov49_0225EF88
|
|
cmp r0, #0
|
|
beq _0225FDEC
|
|
cmp r0, #1
|
|
beq _0225FDFC
|
|
b _0226020A
|
|
_0225FDEC:
|
|
ldr r0, [sp, #4]
|
|
mov r1, #4
|
|
bl ov49_0225EF40
|
|
ldr r0, [sp, #4]
|
|
bl ov49_0225EF90
|
|
b _0226020A
|
|
_0225FDFC:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov49_0225A53C
|
|
add r0, r5, #0
|
|
bl ov49_0225A010
|
|
str r0, [sp, #0x14]
|
|
add r0, r5, #0
|
|
bl ov49_02259FE8
|
|
str r0, [sp, #0x18]
|
|
add r0, r5, #0
|
|
bl ov49_02259FF0
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A000
|
|
str r0, [sp, #0x1c]
|
|
add r0, r5, #0
|
|
bl ov49_02259FF8
|
|
str r0, [sp, #0x20]
|
|
add r0, r4, #0
|
|
bl ov49_02258DB0
|
|
add r6, r0, #0
|
|
beq _0225FE7E
|
|
ldr r0, [sp, #0x18]
|
|
bl ov45_0222A330
|
|
cmp r0, #0
|
|
bne _0225FE6A
|
|
ldr r0, [sp, #0x18]
|
|
bl ov45_0222A3A0
|
|
cmp r0, #1
|
|
bne _0225FE6A
|
|
ldr r0, [sp, #0x18]
|
|
bl ov45_0222A2F8
|
|
cmp r0, #0
|
|
bne _0225FE6A
|
|
add r0, r6, #0
|
|
bl ov49_02258F3C
|
|
cmp r0, #9
|
|
beq _0225FE7E
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #9
|
|
bl ov49_02258EEC
|
|
b _0225FE7E
|
|
_0225FE6A:
|
|
add r0, r6, #0
|
|
bl ov49_02258F3C
|
|
cmp r0, #0
|
|
beq _0225FE7E
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
_0225FE7E:
|
|
add r0, r4, #0
|
|
bl ov49_02258DAC
|
|
str r0, [sp, #0x28]
|
|
mov r1, #5
|
|
bl ov49_02258E60
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x28]
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x28]
|
|
bl ov49_02258E34
|
|
add r1, sp, #0x40
|
|
strh r0, [r1, #4]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #6]
|
|
ldrh r0, [r1, #4]
|
|
mov r2, sp
|
|
sub r2, r2, #4
|
|
strh r0, [r1, #0xc]
|
|
ldrh r0, [r1, #6]
|
|
strh r0, [r1, #0xe]
|
|
ldrh r0, [r1, #0xc]
|
|
strh r0, [r2]
|
|
ldrh r0, [r1, #0xe]
|
|
ldr r1, [sp, #8]
|
|
strh r0, [r2, #2]
|
|
ldr r0, [r2]
|
|
bl ov42_02228270
|
|
add r2, sp, #0x40
|
|
strh r0, [r2]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r2, #2]
|
|
ldrh r0, [r2]
|
|
mov r1, #0xc
|
|
strh r0, [r2, #8]
|
|
ldrh r0, [r2, #2]
|
|
strh r0, [r2, #0xa]
|
|
ldrsh r1, [r2, r1]
|
|
ldr r0, [sp, #0x1c]
|
|
asr r3, r1, #3
|
|
lsr r3, r3, #0x1c
|
|
add r3, r1, r3
|
|
lsl r1, r3, #0xc
|
|
mov r3, #0xe
|
|
ldrsh r2, [r2, r3]
|
|
lsr r1, r1, #0x10
|
|
asr r3, r2, #3
|
|
lsr r3, r3, #0x1c
|
|
add r3, r2, r3
|
|
lsl r2, r3, #0xc
|
|
lsr r2, r2, #0x10
|
|
bl ov49_022589C4
|
|
str r0, [sp, #0x24]
|
|
add r0, sp, #0x40
|
|
mov r1, #0xa
|
|
ldrsh r2, [r0, r1]
|
|
asr r1, r2, #3
|
|
lsr r1, r1, #0x1c
|
|
add r1, r2, r1
|
|
asr r1, r1, #4
|
|
str r1, [sp, #0x10]
|
|
mov r1, #8
|
|
ldrsh r1, [r0, r1]
|
|
ldr r2, [sp, #0x10]
|
|
asr r0, r1, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r1, r0
|
|
asr r0, r0, #4
|
|
str r0, [sp, #0xc]
|
|
ldr r1, [sp, #0xc]
|
|
lsl r2, r2, #0x10
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [sp, #0x1c]
|
|
lsr r1, r1, #0x10
|
|
lsr r2, r2, #0x10
|
|
bl ov49_022589C4
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A4E0
|
|
add r1, r0, #0
|
|
cmp r1, r7
|
|
beq _0225FF48
|
|
lsl r1, r1, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov49_0225A084
|
|
cmp r0, #0
|
|
beq _0225FF48
|
|
add r0, r5, #0
|
|
bl ov49_0225A4D0
|
|
_0225FF48:
|
|
ldr r0, [sp, #0x2c]
|
|
cmp r0, #0
|
|
beq _0225FF94
|
|
add r0, r5, #0
|
|
bl ov49_0225A500
|
|
cmp r0, #1
|
|
bne _0225FF60
|
|
ldr r0, [sp, #0x2c]
|
|
sub r0, r0, #1
|
|
cmp r0, #2
|
|
bls _0225FF62
|
|
_0225FF60:
|
|
b _0226020A
|
|
_0225FF62:
|
|
add r0, r5, #0
|
|
bl ov49_0225A4E0
|
|
add r1, r0, #0
|
|
cmp r1, r7
|
|
beq _0225FF8C
|
|
add r0, r4, #0
|
|
bl ov49_02258D70
|
|
add r6, r0, #0
|
|
beq _0225FF8C
|
|
bl ov49_02258F3C
|
|
cmp r0, #0
|
|
bne _0225FF8C
|
|
ldr r2, [sp, #0x30]
|
|
add r0, r4, #0
|
|
ldr r2, [r2]
|
|
add r1, r6, #0
|
|
bl ov49_02258EEC
|
|
_0225FF8C:
|
|
add r0, r5, #0
|
|
bl ov49_0225A4D0
|
|
b _0226020A
|
|
_0225FF94:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov49_0225A53C
|
|
ldr r0, [sp, #0x24]
|
|
bl ov49_02258A30
|
|
cmp r0, #1
|
|
bne _0225FFDA
|
|
ldr r0, [sp, #0x24]
|
|
ldr r3, _02260210 ; =ov49_02269D20
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
bl ov49_0225F260
|
|
ldr r1, [sp, #0x28]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
ldr r1, [sp, #0x24]
|
|
add r0, r5, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl ov49_0225A03C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225A53C
|
|
add sp, #0x50
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0225FFDA:
|
|
add r0, r5, #0
|
|
bl ov49_0225A55C
|
|
cmp r0, #1
|
|
bne _02260008
|
|
ldr r1, [sp, #0x28]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, _02260214 ; =ov49_02269B80
|
|
add r1, r7, #0
|
|
mov r3, #0
|
|
bl ov49_0225EFC4
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225A53C
|
|
add sp, #0x50
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02260008:
|
|
ldr r0, [sp, #0x18]
|
|
bl ov45_0222B00C
|
|
cmp r0, #0
|
|
beq _02260036
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, _02260218 ; =ov49_02269B70
|
|
add r1, r7, #0
|
|
mov r3, #0
|
|
bl ov49_0225EFC4
|
|
ldr r1, [sp, #0x28]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225A53C
|
|
add sp, #0x50
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02260036:
|
|
ldr r0, _0226021C ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _02260120
|
|
ldr r1, [sp, #0x28]
|
|
add r0, r4, #0
|
|
bl ov49_02258F40
|
|
str r0, [sp, #0x34]
|
|
cmp r0, #0
|
|
beq _022600A6
|
|
mov r1, #5
|
|
bl ov49_02258E60
|
|
str r0, [sp, #0x38]
|
|
ldr r0, [sp, #0x34]
|
|
mov r1, #4
|
|
bl ov49_02258E60
|
|
add r1, r0, #0
|
|
cmp r1, #0xfe
|
|
beq _022600A6
|
|
lsl r1, r1, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov49_0225A064
|
|
ldr r1, [sp, #0x38]
|
|
cmp r1, #0
|
|
bne _022600A6
|
|
cmp r0, #0
|
|
bne _022600A6
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, _02260220 ; =ov49_02269B60
|
|
add r1, r7, #0
|
|
mov r3, #0
|
|
bl ov49_0225EFC4
|
|
ldr r1, [sp, #0x28]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
ldr r1, [sp, #0x34]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225A53C
|
|
add sp, #0x50
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022600A6:
|
|
add r0, r6, #0
|
|
bl ov49_02258A90
|
|
cmp r0, #1
|
|
bne _022600E6
|
|
ldr r0, [sp, #0x28]
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
cmp r0, #0
|
|
bne _022600E6
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
lsl r1, r1, #0x18
|
|
lsl r2, r2, #0x18
|
|
ldr r0, [sp, #0x20]
|
|
lsr r1, r1, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl ov49_0225E58C
|
|
lsl r1, r6, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov49_0225A03C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225A53C
|
|
add sp, #0x50
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022600E6:
|
|
add r0, r6, #0
|
|
bl ov49_02258A70
|
|
cmp r0, #1
|
|
bne _02260120
|
|
ldr r0, [sp, #4]
|
|
ldr r3, _02260224 ; =ov49_02269C90
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
str r6, [sp]
|
|
bl ov49_0225F260
|
|
ldr r1, [sp, #0x28]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
lsl r1, r6, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov49_0225A03C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225A53C
|
|
add sp, #0x50
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02260120:
|
|
ldr r0, [sp, #8]
|
|
bl ov49_0225F224
|
|
cmp r0, #1
|
|
bne _022601C0
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
bne _0226016A
|
|
add r0, r6, #0
|
|
bl ov49_02258A50
|
|
cmp r0, #1
|
|
bne _0226016A
|
|
ldr r0, [sp, #4]
|
|
ldr r3, _02260228 ; =ov49_02269C60
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
str r6, [sp]
|
|
bl ov49_0225F260
|
|
ldr r1, [sp, #0x28]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
lsl r1, r6, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov49_0225A03C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225A53C
|
|
add sp, #0x50
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0226016A:
|
|
ldr r1, [sp, #0x28]
|
|
add r0, r4, #0
|
|
bl ov49_02258F40
|
|
str r0, [sp, #0x3c]
|
|
cmp r0, #0
|
|
beq _022601C0
|
|
mov r1, #4
|
|
bl ov49_02258E60
|
|
add r6, r0, #0
|
|
cmp r6, #0xfe
|
|
beq _022601C0
|
|
add r0, r5, #0
|
|
bl ov49_0225A4F0
|
|
cmp r0, #0
|
|
bne _022601C0
|
|
lsl r1, r6, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov49_0225A084
|
|
cmp r0, #0
|
|
bne _022601C0
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #1
|
|
bl ov49_0225A428
|
|
ldr r0, [sp, #0x3c]
|
|
bl ov49_02258F3C
|
|
ldr r1, [sp, #0x30]
|
|
mov r2, #0
|
|
str r0, [r1]
|
|
ldr r1, [sp, #0x3c]
|
|
add r0, r4, #0
|
|
bl ov49_02258EEC
|
|
add sp, #0x50
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022601C0:
|
|
ldr r0, _0226021C ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
lsl r0, r0, #0xa
|
|
tst r0, r1
|
|
beq _0226020A
|
|
add r0, r5, #0
|
|
bl ov49_0225A4F0
|
|
cmp r0, #0
|
|
bne _022601EE
|
|
ldr r0, [sp, #0x18]
|
|
bl ov45_0222A53C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A428
|
|
ldr r0, _0226022C ; =0x000005DC
|
|
bl PlaySE
|
|
b _02260204
|
|
_022601EE:
|
|
add r0, r5, #0
|
|
bl ov49_0225A4E0
|
|
cmp r0, r7
|
|
bne _02260204
|
|
add r0, r5, #0
|
|
bl ov49_0225A4D0
|
|
ldr r0, _0226022C ; =0x000005DC
|
|
bl PlaySE
|
|
_02260204:
|
|
add sp, #0x50
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0226020A:
|
|
mov r0, #0
|
|
add sp, #0x50
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02260210: .word ov49_02269D20
|
|
_02260214: .word ov49_02269B80
|
|
_02260218: .word ov49_02269B70
|
|
_0226021C: .word gSystem
|
|
_02260220: .word ov49_02269B60
|
|
_02260224: .word ov49_02269C90
|
|
_02260228: .word ov49_02269C60
|
|
_0226022C: .word 0x000005DC
|
|
thumb_func_end ov49_0225FDCC
|
|
|
|
thumb_func_start ov49_02260230
|
|
ov49_02260230: ; 0x02260230
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
bl ov49_02258DAC
|
|
mov r1, #5
|
|
bl ov49_02258E60
|
|
cmp r0, #0
|
|
beq _02260250
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov49_0225A53C
|
|
_02260250:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_02260230
|
|
|
|
thumb_func_start ov49_02260254
|
|
ov49_02260254: ; 0x02260254
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r7, r2, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #9
|
|
bhi _022602FC
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02260270: ; jump table
|
|
.short _02260284 - _02260270 - 2 ; case 0
|
|
.short _022602C6 - _02260270 - 2 ; case 1
|
|
.short _022602D8 - _02260270 - 2 ; case 2
|
|
.short _022602F2 - _02260270 - 2 ; case 3
|
|
.short _02260306 - _02260270 - 2 ; case 4
|
|
.short _02260314 - _02260270 - 2 ; case 5
|
|
.short _02260350 - _02260270 - 2 ; case 6
|
|
.short _02260384 - _02260270 - 2 ; case 7
|
|
.short _022603B6 - _02260270 - 2 ; case 8
|
|
.short _022603D6 - _02260270 - 2 ; case 9
|
|
_02260284:
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
add r6, r0, #0
|
|
bl ov49_02258DAC
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
mov r1, #0xb
|
|
bl ov45_0222A5E8
|
|
ldr r0, _02260420 ; =0x000005DD
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x41
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0226041A
|
|
_022602C6:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #1
|
|
bne _022602FC
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0226041A
|
|
_022602D8:
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
mov r2, #0x19
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0226041A
|
|
_022602F2:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #1
|
|
beq _022602FE
|
|
_022602FC:
|
|
b _0226041A
|
|
_022602FE:
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0226041A
|
|
_02260306:
|
|
add r0, r4, #0
|
|
bl ov49_0225A294
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0226041A
|
|
_02260314:
|
|
add r0, r4, #0
|
|
mov r6, #0
|
|
bl ov49_0225A2C4
|
|
cmp r0, #0
|
|
beq _02260328
|
|
cmp r0, #1
|
|
beq _02260334
|
|
cmp r0, #2
|
|
b _0226033E
|
|
_02260328:
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
bl ov49_0225EF8C
|
|
mov r6, #1
|
|
b _0226033E
|
|
_02260334:
|
|
add r0, r5, #0
|
|
mov r1, #8
|
|
bl ov49_0225EF8C
|
|
mov r6, #1
|
|
_0226033E:
|
|
cmp r6, #1
|
|
bne _0226041A
|
|
add r0, r4, #0
|
|
bl ov49_0225A2F8
|
|
add r0, r4, #0
|
|
bl ov49_0225A0EC
|
|
b _0226041A
|
|
_02260350:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov49_0225A018
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
add r6, r0, #0
|
|
bl ov49_02258DAC
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A008
|
|
bl ov49_0225CC44
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
mov r2, #3
|
|
bl ov49_02258EEC
|
|
add r0, r5, #0
|
|
mov r1, #7
|
|
bl ov49_0225EF8C
|
|
b _0226041A
|
|
_02260384:
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
bl ov49_02258DAC
|
|
bl ov49_02258F38
|
|
cmp r0, #1
|
|
bne _0226041A
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov49_0225A034
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov49_0225A038
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
mov r1, #0xb
|
|
bl ov45_0222A5E8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022603B6:
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
add r4, r0, #0
|
|
bl ov49_02258DAC
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #2
|
|
mov r3, #0
|
|
bl ov49_02258EAC
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _0226041A
|
|
_022603D6:
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
mov r1, #1
|
|
bl ov45_0222A5E8
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A010
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_02258DAC
|
|
mov r1, #5
|
|
add r6, r0, #0
|
|
bl ov49_02258E60
|
|
cmp r0, #0
|
|
bne _0226041A
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
ldr r2, _02260424 ; =ov49_02269B38
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
_0226041A:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02260420: .word 0x000005DD
|
|
_02260424: .word ov49_02269B38
|
|
thumb_func_end ov49_02260254
|
|
|
|
thumb_func_start ov49_02260428
|
|
ov49_02260428: ; 0x02260428
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x44
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
str r2, [sp, #0x10]
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
ldr r1, [sp, #0x10]
|
|
str r0, [sp, #0x28]
|
|
bl ov49_02258D70
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A040
|
|
str r0, [sp, #0x20]
|
|
add r0, r5, #0
|
|
bl ov49_0225EF84
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
str r0, [sp, #0x24]
|
|
add r0, r5, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #8
|
|
bls _02260466
|
|
b _022607B8
|
|
_02260466:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02260472: ; jump table
|
|
.short _02260484 - _02260472 - 2 ; case 0
|
|
.short _02260544 - _02260472 - 2 ; case 1
|
|
.short _022605E2 - _02260472 - 2 ; case 2
|
|
.short _022606B0 - _02260472 - 2 ; case 3
|
|
.short _02260702 - _02260472 - 2 ; case 4
|
|
.short _0226071A - _02260472 - 2 ; case 5
|
|
.short _02260740 - _02260472 - 2 ; case 6
|
|
.short _0226075A - _02260472 - 2 ; case 7
|
|
.short _02260788 - _02260472 - 2 ; case 8
|
|
_02260484:
|
|
add r0, r5, #0
|
|
mov r1, #0xc
|
|
bl ov49_0225EF40
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x20]
|
|
bl ov49_02260C58
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #3
|
|
bhi _022604C8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022604A8: ; jump table
|
|
.short _022604B0 - _022604A8 - 2 ; case 0
|
|
.short _022604B6 - _022604A8 - 2 ; case 1
|
|
.short _022604BC - _022604A8 - 2 ; case 2
|
|
.short _022604C2 - _022604A8 - 2 ; case 3
|
|
_022604B0:
|
|
mov r0, #3
|
|
str r0, [r4, #8]
|
|
b _022604D0
|
|
_022604B6:
|
|
mov r0, #4
|
|
str r0, [r4, #8]
|
|
b _022604D0
|
|
_022604BC:
|
|
mov r0, #5
|
|
str r0, [r4, #8]
|
|
b _022604D0
|
|
_022604C2:
|
|
mov r0, #6
|
|
str r0, [r4, #8]
|
|
b _022604D0
|
|
_022604C8:
|
|
bl GF_AssertFail
|
|
mov r0, #5
|
|
str r0, [r4, #8]
|
|
_022604D0:
|
|
ldr r0, [sp, #0x24]
|
|
bl ov45_0222A330
|
|
cmp r0, #1
|
|
bne _022604EC
|
|
mov r0, #0x16
|
|
strh r0, [r4, #4]
|
|
mov r0, #0
|
|
strh r0, [r4, #6]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
b _022607B8
|
|
_022604EC:
|
|
ldr r0, [sp, #0x24]
|
|
bl ov45_0222A208
|
|
cmp r0, #1
|
|
bne _02260508
|
|
mov r0, #0x48
|
|
strh r0, [r4, #4]
|
|
mov r0, #1
|
|
strh r0, [r4, #6]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
b _022607B8
|
|
_02260508:
|
|
ldr r0, [sp, #0x20]
|
|
bl ov49_02260C58
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
add r0, r6, #0
|
|
bl ov45_0222EBF0
|
|
cmp r0, #0
|
|
bne _0226052E
|
|
mov r0, #0x14
|
|
strh r0, [r4, #4]
|
|
mov r0, #0
|
|
strh r0, [r4, #6]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl ov49_0225EF8C
|
|
b _022607B8
|
|
_0226052E:
|
|
add r0, r6, #0
|
|
bl ov45_0222EB38
|
|
cmp r0, #0
|
|
bne _0226053C
|
|
bl GF_AssertFail
|
|
_0226053C:
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _022607B8
|
|
_02260544:
|
|
bl ov45_0222EB74
|
|
cmp r0, #1
|
|
bne _022605CA
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl ov49_0225EF8C
|
|
add r1, sp, #0x40
|
|
mov r0, #0
|
|
strb r0, [r1]
|
|
strb r0, [r1, #1]
|
|
strb r0, [r1, #2]
|
|
strb r0, [r1, #3]
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
add r7, r0, #0
|
|
bl ov45_0222AB68
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r6, #8]
|
|
sub r0, r0, #5
|
|
cmp r0, #1
|
|
bhi _022605A4
|
|
mov r5, #0
|
|
add r4, r5, #0
|
|
_0226057E:
|
|
add r0, r7, #0
|
|
add r1, r4, #0
|
|
bl ov45_0222AB78
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0226059C
|
|
cmp r5, #4
|
|
bhs _02260596
|
|
add r1, sp, #0x40
|
|
strb r0, [r1, r5]
|
|
_02260596:
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
_0226059C:
|
|
add r4, r4, #1
|
|
cmp r4, #4
|
|
blt _0226057E
|
|
b _022605AA
|
|
_022605A4:
|
|
ldr r0, [sp, #0x10]
|
|
add r1, sp, #0x38
|
|
strb r0, [r1, #8]
|
|
_022605AA:
|
|
add r3, sp, #0x38
|
|
ldrb r0, [r3, #9]
|
|
str r0, [sp]
|
|
ldrb r0, [r3, #0xa]
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r3, #0xb]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldrb r3, [r3, #8]
|
|
ldr r1, [r6, #8]
|
|
ldr r2, [sp, #0x1c]
|
|
add r0, r7, #0
|
|
bl ov45_0222AC14
|
|
b _022607B8
|
|
_022605CA:
|
|
cmp r0, #2
|
|
beq _022605D0
|
|
b _022607B8
|
|
_022605D0:
|
|
mov r0, #0x14
|
|
strh r0, [r6, #4]
|
|
mov r0, #0
|
|
strh r0, [r6, #6]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl ov49_0225EF8C
|
|
b _022607B8
|
|
_022605E2:
|
|
ldr r0, [sp, #0x20]
|
|
bl ov49_02260CC0
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x20]
|
|
bl ov49_02260D28
|
|
str r0, [sp, #0x30]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov49_0225A034
|
|
ldr r1, [sp, #0x2c]
|
|
add r0, r4, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl ov49_0225A038
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
ldr r1, [sp, #0x30]
|
|
bl ov45_0222A5E8
|
|
ldr r0, [r6, #8]
|
|
cmp r0, #6
|
|
bhi _02260644
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02260624: ; jump table
|
|
.short _02260644 - _02260624 - 2 ; case 0
|
|
.short _02260644 - _02260624 - 2 ; case 1
|
|
.short _02260644 - _02260624 - 2 ; case 2
|
|
.short _02260632 - _02260624 - 2 ; case 3
|
|
.short _02260632 - _02260624 - 2 ; case 4
|
|
.short _02260638 - _02260624 - 2 ; case 5
|
|
.short _0226063E - _02260624 - 2 ; case 6
|
|
_02260632:
|
|
mov r0, #5
|
|
str r0, [sp, #0x18]
|
|
b _02260648
|
|
_02260638:
|
|
mov r0, #3
|
|
str r0, [sp, #0x18]
|
|
b _02260648
|
|
_0226063E:
|
|
mov r0, #4
|
|
str r0, [sp, #0x18]
|
|
b _02260648
|
|
_02260644:
|
|
bl GF_AssertFail
|
|
_02260648:
|
|
ldr r0, [sp, #0x24]
|
|
ldr r1, [sp, #0x18]
|
|
bl ov45_0222B118
|
|
add r0, r7, #0
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
bl ov42_022282A4
|
|
str r0, [sp, #0x34]
|
|
add r0, r4, #0
|
|
bl ov49_02259FEC
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl ov49_02258E34
|
|
add r1, sp, #0x38
|
|
strh r0, [r1]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #2]
|
|
ldrh r0, [r1]
|
|
strh r0, [r1, #4]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r1, #6]
|
|
mov r0, #1
|
|
strh r0, [r4, #6]
|
|
mov r0, #4
|
|
ldrsh r2, [r1, r0]
|
|
asr r0, r2, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r2, r0
|
|
asr r0, r0, #4
|
|
strh r0, [r4]
|
|
mov r0, #6
|
|
ldrsh r1, [r1, r0]
|
|
asr r0, r1, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r1, r0
|
|
asr r0, r0, #4
|
|
strh r0, [r4, #2]
|
|
ldr r0, [sp, #0x34]
|
|
strh r0, [r4, #4]
|
|
ldr r0, [r6, #8]
|
|
strh r0, [r4, #8]
|
|
add r0, r5, #0
|
|
bl ov49_0225EF68
|
|
add sp, #0x44
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_022606B0:
|
|
add r0, r7, #0
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #3
|
|
bhi _022606EC
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022606CC: ; jump table
|
|
.short _022606D4 - _022606CC - 2 ; case 0
|
|
.short _022606DA - _022606CC - 2 ; case 1
|
|
.short _022606E0 - _022606CC - 2 ; case 2
|
|
.short _022606E6 - _022606CC - 2 ; case 3
|
|
_022606D4:
|
|
mov r0, #6
|
|
str r0, [sp, #0x14]
|
|
b _022606F0
|
|
_022606DA:
|
|
mov r0, #5
|
|
str r0, [sp, #0x14]
|
|
b _022606F0
|
|
_022606E0:
|
|
mov r0, #8
|
|
str r0, [sp, #0x14]
|
|
b _022606F0
|
|
_022606E6:
|
|
mov r0, #7
|
|
str r0, [sp, #0x14]
|
|
b _022606F0
|
|
_022606EC:
|
|
bl GF_AssertFail
|
|
_022606F0:
|
|
ldr r0, [sp, #0x28]
|
|
ldr r2, [sp, #0x14]
|
|
add r1, r7, #0
|
|
bl ov49_02258EEC
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _022607B8
|
|
_02260702:
|
|
add r0, r7, #0
|
|
bl ov49_02258F38
|
|
cmp r0, #1
|
|
bne _022607B8
|
|
mov r0, #8
|
|
str r0, [r6]
|
|
add r0, r5, #0
|
|
mov r1, #7
|
|
bl ov49_0225EF8C
|
|
b _022607B8
|
|
_0226071A:
|
|
add r0, r7, #0
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl ov42_022282A4
|
|
lsl r0, r0, #0x18
|
|
lsr r3, r0, #0x18
|
|
ldr r0, [sp, #0x28]
|
|
add r1, r7, #0
|
|
mov r2, #2
|
|
bl ov49_02258EAC
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _022607B8
|
|
_02260740:
|
|
add r0, r7, #0
|
|
mov r1, #5
|
|
bl ov49_02258E60
|
|
cmp r0, #0
|
|
bne _022607B8
|
|
mov r0, #8
|
|
str r0, [r6]
|
|
add r0, r5, #0
|
|
mov r1, #7
|
|
bl ov49_0225EF8C
|
|
b _022607B8
|
|
_0226075A:
|
|
ldr r0, [r6]
|
|
sub r0, r0, #1
|
|
str r0, [r6]
|
|
cmp r0, #0
|
|
bgt _022607B8
|
|
ldr r1, [r6, #8]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
ldrh r1, [r6, #6]
|
|
ldrh r2, [r6, #4]
|
|
add r0, r4, #0
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _022607B8
|
|
_02260788:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #0
|
|
beq _022607B8
|
|
add r0, r5, #0
|
|
bl ov49_0225EF68
|
|
ldr r0, [sp, #0x28]
|
|
add r1, r7, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
add r0, r4, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r4, #0
|
|
bl ov49_0225A010
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, _022607C0 ; =ov49_02269B38
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
_022607B8:
|
|
mov r0, #0
|
|
add sp, #0x44
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_022607C0: .word ov49_02269B38
|
|
thumb_func_end ov49_02260428
|
|
|
|
thumb_func_start ov49_022607C4
|
|
ov49_022607C4: ; 0x022607C4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
str r2, [sp]
|
|
bl ov49_0225EF84
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A010
|
|
str r0, [sp, #0x14]
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
str r0, [sp, #0x18]
|
|
bl ov49_02258DAC
|
|
str r0, [sp, #0x10]
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #7
|
|
bls _022607FE
|
|
b _02260A5A
|
|
_022607FE:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0226080A: ; jump table
|
|
.short _0226081A - _0226080A - 2 ; case 0
|
|
.short _0226088E - _0226080A - 2 ; case 1
|
|
.short _022608A8 - _0226080A - 2 ; case 2
|
|
.short _0226095E - _0226080A - 2 ; case 3
|
|
.short _0226097E - _0226080A - 2 ; case 4
|
|
.short _02260992 - _0226080A - 2 ; case 5
|
|
.short _02260A16 - _0226080A - 2 ; case 6
|
|
.short _02260A2E - _0226080A - 2 ; case 7
|
|
_0226081A:
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
bl ov49_0225EF40
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x10]
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
add r0, r6, #0
|
|
bl ov49_0225EF90
|
|
mov r0, #0
|
|
strb r0, [r5]
|
|
add r0, r4, #0
|
|
bl ov49_0225A040
|
|
cmp r0, #0x1e
|
|
beq _0226084C
|
|
cmp r0, #0x1f
|
|
beq _02260858
|
|
cmp r0, #0x20
|
|
beq _02260864
|
|
b _02260870
|
|
_0226084C:
|
|
mov r0, #0
|
|
strb r0, [r5, #1]
|
|
strb r0, [r5, #2]
|
|
mov r0, #2
|
|
strb r0, [r5, #3]
|
|
b _02260874
|
|
_02260858:
|
|
mov r0, #1
|
|
strb r0, [r5, #1]
|
|
strb r0, [r5, #2]
|
|
mov r0, #3
|
|
strb r0, [r5, #3]
|
|
b _02260874
|
|
_02260864:
|
|
mov r0, #2
|
|
strb r0, [r5, #1]
|
|
strb r0, [r5, #2]
|
|
mov r0, #4
|
|
strb r0, [r5, #3]
|
|
b _02260874
|
|
_02260870:
|
|
bl GF_AssertFail
|
|
_02260874:
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
mov r1, #0xc
|
|
bl ov45_0222A5E8
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp]
|
|
ldr r2, _02260A60 ; =ov49_02269B88
|
|
add r3, r5, #0
|
|
bl ov49_0225EFC4
|
|
b _02260A5A
|
|
_0226088E:
|
|
ldrb r0, [r7]
|
|
cmp r0, #8
|
|
bne _0226089E
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
bl ov49_0225EF8C
|
|
b _02260A5A
|
|
_0226089E:
|
|
add r0, r6, #0
|
|
mov r1, #3
|
|
bl ov49_0225EF8C
|
|
b _02260A5A
|
|
_022608A8:
|
|
add r0, r4, #0
|
|
bl ov49_0225A040
|
|
cmp r0, #0x1e
|
|
beq _022608BC
|
|
cmp r0, #0x1f
|
|
beq _022608C4
|
|
cmp r0, #0x20
|
|
beq _022608CC
|
|
b _022608D2
|
|
_022608BC:
|
|
mov r0, #0
|
|
mov r5, #3
|
|
str r0, [sp, #8]
|
|
b _022608D2
|
|
_022608C4:
|
|
mov r0, #1
|
|
mov r5, #4
|
|
str r0, [sp, #8]
|
|
b _022608D2
|
|
_022608CC:
|
|
mov r0, #2
|
|
mov r5, #5
|
|
str r0, [sp, #8]
|
|
_022608D2:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov49_0225A034
|
|
lsl r1, r5, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov49_0225A038
|
|
ldr r0, [sp, #0xc]
|
|
bl ov45_0222B108
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [sp, #8]
|
|
bl ov45_0222B118
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
bl ov42_022282A4
|
|
str r0, [sp, #0x1c]
|
|
add r0, r4, #0
|
|
bl ov49_02259FEC
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0x10]
|
|
bl ov49_02258E34
|
|
add r1, sp, #0x20
|
|
strh r0, [r1]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #2]
|
|
ldrh r0, [r1]
|
|
strh r0, [r1, #4]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r1, #6]
|
|
mov r0, #2
|
|
strh r0, [r5, #6]
|
|
mov r0, #4
|
|
ldrsh r0, [r1, r0]
|
|
asr r2, r0, #3
|
|
lsr r2, r2, #0x1c
|
|
add r2, r0, r2
|
|
asr r0, r2, #4
|
|
strh r0, [r5]
|
|
mov r0, #6
|
|
ldrsh r1, [r1, r0]
|
|
asr r0, r1, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r1, r0
|
|
asr r0, r0, #4
|
|
strh r0, [r5, #2]
|
|
ldr r0, [sp, #0x1c]
|
|
strh r0, [r5, #4]
|
|
ldrb r0, [r7, #2]
|
|
strh r0, [r5, #8]
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
mov r1, #1
|
|
bl ov45_0222A4C8
|
|
add r0, r6, #0
|
|
bl ov49_0225EF68
|
|
add sp, #0x28
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0226095E:
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
bl ov42_022282A4
|
|
add r3, r0, #0
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x10]
|
|
mov r2, #2
|
|
bl ov49_02258EAC
|
|
add r0, r6, #0
|
|
bl ov49_0225EF90
|
|
b _02260A5A
|
|
_0226097E:
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #5
|
|
bl ov49_02258E60
|
|
cmp r0, #0
|
|
bne _02260A5A
|
|
add r0, r6, #0
|
|
bl ov49_0225EF90
|
|
b _02260A5A
|
|
_02260992:
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r7]
|
|
cmp r0, #7
|
|
bhi _022609E8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022609A8: ; jump table
|
|
.short _022609B8 - _022609A8 - 2 ; case 0
|
|
.short _022609C6 - _022609A8 - 2 ; case 1
|
|
.short _022609CA - _022609A8 - 2 ; case 2
|
|
.short _022609D8 - _022609A8 - 2 ; case 3
|
|
.short _022609DC - _022609A8 - 2 ; case 4
|
|
.short _022609E8 - _022609A8 - 2 ; case 5
|
|
.short _022609E0 - _022609A8 - 2 ; case 6
|
|
.short _022609E4 - _022609A8 - 2 ; case 7
|
|
_022609B8:
|
|
ldrb r1, [r7, #2]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
mov r5, #4
|
|
b _022609EC
|
|
_022609C6:
|
|
mov r5, #5
|
|
b _022609EC
|
|
_022609CA:
|
|
ldrb r1, [r7, #2]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
mov r5, #6
|
|
b _022609EC
|
|
_022609D8:
|
|
mov r5, #0x13
|
|
b _022609EC
|
|
_022609DC:
|
|
mov r5, #0x11
|
|
b _022609EC
|
|
_022609E0:
|
|
mov r5, #0x1d
|
|
b _022609EC
|
|
_022609E4:
|
|
mov r5, #7
|
|
b _022609EC
|
|
_022609E8:
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
_022609EC:
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0
|
|
beq _02260A0C
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r6, #0
|
|
bl ov49_0225EF90
|
|
b _02260A5A
|
|
_02260A0C:
|
|
add r0, r6, #0
|
|
mov r1, #7
|
|
bl ov49_0225EF8C
|
|
b _02260A5A
|
|
_02260A16:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #1
|
|
bne _02260A5A
|
|
add r0, r4, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r6, #0
|
|
bl ov49_0225EF90
|
|
b _02260A5A
|
|
_02260A2E:
|
|
add r0, r6, #0
|
|
bl ov49_0225EF68
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
mov r1, #1
|
|
bl ov45_0222A5E8
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x10]
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
add r0, r4, #0
|
|
bl ov49_0225A010
|
|
ldr r1, [sp]
|
|
ldr r2, _02260A64 ; =ov49_02269B38
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
_02260A5A:
|
|
mov r0, #0
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02260A60: .word ov49_02269B88
|
|
_02260A64: .word ov49_02269B38
|
|
thumb_func_end ov49_022607C4
|
|
|
|
thumb_func_start ov49_02260A68
|
|
ov49_02260A68: ; 0x02260A68
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
bl ov49_0225EF84
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
bl ov49_0225A010
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
str r0, [sp, #0xc]
|
|
bl ov49_02258DAC
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #6
|
|
bls _02260AA0
|
|
b _02260C4A
|
|
_02260AA0:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02260AAC: ; jump table
|
|
.short _02260ABA - _02260AAC - 2 ; case 0
|
|
.short _02260B1E - _02260AAC - 2 ; case 1
|
|
.short _02260BB4 - _02260AAC - 2 ; case 2
|
|
.short _02260BD4 - _02260AAC - 2 ; case 3
|
|
.short _02260BE8 - _02260AAC - 2 ; case 4
|
|
.short _02260C04 - _02260AAC - 2 ; case 5
|
|
.short _02260C1C - _02260AAC - 2 ; case 6
|
|
_02260ABA:
|
|
add r0, r5, #0
|
|
mov r1, #0xc
|
|
bl ov49_0225EF40
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
mov r1, #0xd
|
|
bl ov45_0222A5E8
|
|
add r0, r7, #0
|
|
bl ov45_0222A330
|
|
cmp r0, #1
|
|
bne _02260AE8
|
|
mov r0, #0x7a
|
|
strh r0, [r6]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl ov49_0225EF8C
|
|
b _02260C4E
|
|
_02260AE8:
|
|
add r0, r7, #0
|
|
bl ov45_0222A3A0
|
|
cmp r0, #1
|
|
bne _02260AF8
|
|
mov r0, #0xa
|
|
strh r0, [r6, #2]
|
|
b _02260B14
|
|
_02260AF8:
|
|
add r0, r7, #0
|
|
bl ov45_0222A2E0
|
|
cmp r0, #1
|
|
bne _02260B10
|
|
mov r0, #0x62
|
|
strh r0, [r6]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl ov49_0225EF8C
|
|
b _02260C4E
|
|
_02260B10:
|
|
mov r0, #9
|
|
strh r0, [r6, #2]
|
|
_02260B14:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
b _02260C4E
|
|
_02260B1E:
|
|
ldr r0, [sp, #8]
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #9
|
|
bne _02260B2C
|
|
mov r0, #9
|
|
str r0, [sp, #4]
|
|
b _02260B36
|
|
_02260B2C:
|
|
mov r0, #0xa
|
|
str r0, [sp, #4]
|
|
add r0, r7, #0
|
|
bl ov45_0222A310
|
|
_02260B36:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov49_0225A034
|
|
ldr r1, [sp, #4]
|
|
add r0, r4, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl ov49_0225A038
|
|
mov r1, #0x17
|
|
add r2, r1, #0
|
|
add r0, r7, #0
|
|
sub r2, #0x18
|
|
bl ov45_0222A704
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
bl ov42_022282A4
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_02259FEC
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl ov49_02258E34
|
|
add r1, sp, #0x10
|
|
strh r0, [r1]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #2]
|
|
ldrh r0, [r1]
|
|
strh r0, [r1, #4]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r1, #6]
|
|
mov r0, #3
|
|
strh r0, [r4, #6]
|
|
mov r0, #4
|
|
ldrsh r2, [r1, r0]
|
|
asr r0, r2, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r2, r0
|
|
asr r0, r0, #4
|
|
strh r0, [r4]
|
|
mov r0, #6
|
|
ldrsh r1, [r1, r0]
|
|
asr r0, r1, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r1, r0
|
|
asr r0, r0, #4
|
|
strh r0, [r4, #2]
|
|
strh r7, [r4, #4]
|
|
mov r0, #0
|
|
strh r0, [r4, #8]
|
|
add r0, r5, #0
|
|
bl ov49_0225EF68
|
|
add sp, #0x18
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02260BB4:
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
bl ov42_022282A4
|
|
add r3, r0, #0
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r6, #0
|
|
mov r2, #2
|
|
bl ov49_02258EAC
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _02260C4E
|
|
_02260BD4:
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
bl ov49_02258E60
|
|
cmp r0, #0
|
|
bne _02260C4E
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _02260C4E
|
|
_02260BE8:
|
|
ldr r2, [sp, #8]
|
|
add r0, r4, #0
|
|
ldrh r2, [r2]
|
|
mov r1, #1
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _02260C4E
|
|
_02260C04:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #1
|
|
bne _02260C4E
|
|
add r0, r4, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _02260C4E
|
|
_02260C1C:
|
|
add r0, r5, #0
|
|
bl ov49_0225EF68
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
mov r1, #1
|
|
bl ov45_0222A5E8
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r6, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
add r0, r4, #0
|
|
bl ov49_0225A010
|
|
ldr r1, [sp]
|
|
ldr r2, _02260C54 ; =ov49_02269B38
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
b _02260C4E
|
|
_02260C4A:
|
|
bl GF_AssertFail
|
|
_02260C4E:
|
|
mov r0, #0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02260C54: .word ov49_02269B38
|
|
thumb_func_end ov49_02260A68
|
|
|
|
thumb_func_start ov49_02260C58
|
|
ov49_02260C58: ; 0x02260C58
|
|
push {r3, lr}
|
|
cmp r0, #0x1d
|
|
bhi _02260CB6
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02260C6A: ; jump table
|
|
.short _02260CB6 - _02260C6A - 2 ; case 0
|
|
.short _02260CB6 - _02260C6A - 2 ; case 1
|
|
.short _02260CB6 - _02260C6A - 2 ; case 2
|
|
.short _02260CB6 - _02260C6A - 2 ; case 3
|
|
.short _02260CB6 - _02260C6A - 2 ; case 4
|
|
.short _02260CB6 - _02260C6A - 2 ; case 5
|
|
.short _02260CAE - _02260C6A - 2 ; case 6
|
|
.short _02260CAE - _02260C6A - 2 ; case 7
|
|
.short _02260CAE - _02260C6A - 2 ; case 8
|
|
.short _02260CAE - _02260C6A - 2 ; case 9
|
|
.short _02260CAE - _02260C6A - 2 ; case 10
|
|
.short _02260CAE - _02260C6A - 2 ; case 11
|
|
.short _02260CAE - _02260C6A - 2 ; case 12
|
|
.short _02260CAE - _02260C6A - 2 ; case 13
|
|
.short _02260CB2 - _02260C6A - 2 ; case 14
|
|
.short _02260CB2 - _02260C6A - 2 ; case 15
|
|
.short _02260CB2 - _02260C6A - 2 ; case 16
|
|
.short _02260CB2 - _02260C6A - 2 ; case 17
|
|
.short _02260CB2 - _02260C6A - 2 ; case 18
|
|
.short _02260CB2 - _02260C6A - 2 ; case 19
|
|
.short _02260CB2 - _02260C6A - 2 ; case 20
|
|
.short _02260CB2 - _02260C6A - 2 ; case 21
|
|
.short _02260CA6 - _02260C6A - 2 ; case 22
|
|
.short _02260CA6 - _02260C6A - 2 ; case 23
|
|
.short _02260CA6 - _02260C6A - 2 ; case 24
|
|
.short _02260CA6 - _02260C6A - 2 ; case 25
|
|
.short _02260CAA - _02260C6A - 2 ; case 26
|
|
.short _02260CAA - _02260C6A - 2 ; case 27
|
|
.short _02260CAA - _02260C6A - 2 ; case 28
|
|
.short _02260CAA - _02260C6A - 2 ; case 29
|
|
_02260CA6:
|
|
mov r0, #2
|
|
pop {r3, pc}
|
|
_02260CAA:
|
|
mov r0, #3
|
|
pop {r3, pc}
|
|
_02260CAE:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_02260CB2:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02260CB6:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02260C58
|
|
|
|
thumb_func_start ov49_02260CC0
|
|
ov49_02260CC0: ; 0x02260CC0
|
|
push {r3, lr}
|
|
cmp r0, #0x1d
|
|
bhi _02260D1E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02260CD2: ; jump table
|
|
.short _02260D1E - _02260CD2 - 2 ; case 0
|
|
.short _02260D1E - _02260CD2 - 2 ; case 1
|
|
.short _02260D1E - _02260CD2 - 2 ; case 2
|
|
.short _02260D1E - _02260CD2 - 2 ; case 3
|
|
.short _02260D1E - _02260CD2 - 2 ; case 4
|
|
.short _02260D1E - _02260CD2 - 2 ; case 5
|
|
.short _02260D16 - _02260CD2 - 2 ; case 6
|
|
.short _02260D16 - _02260CD2 - 2 ; case 7
|
|
.short _02260D16 - _02260CD2 - 2 ; case 8
|
|
.short _02260D16 - _02260CD2 - 2 ; case 9
|
|
.short _02260D16 - _02260CD2 - 2 ; case 10
|
|
.short _02260D16 - _02260CD2 - 2 ; case 11
|
|
.short _02260D16 - _02260CD2 - 2 ; case 12
|
|
.short _02260D16 - _02260CD2 - 2 ; case 13
|
|
.short _02260D1A - _02260CD2 - 2 ; case 14
|
|
.short _02260D1A - _02260CD2 - 2 ; case 15
|
|
.short _02260D1A - _02260CD2 - 2 ; case 16
|
|
.short _02260D1A - _02260CD2 - 2 ; case 17
|
|
.short _02260D1A - _02260CD2 - 2 ; case 18
|
|
.short _02260D1A - _02260CD2 - 2 ; case 19
|
|
.short _02260D1A - _02260CD2 - 2 ; case 20
|
|
.short _02260D1A - _02260CD2 - 2 ; case 21
|
|
.short _02260D0E - _02260CD2 - 2 ; case 22
|
|
.short _02260D0E - _02260CD2 - 2 ; case 23
|
|
.short _02260D0E - _02260CD2 - 2 ; case 24
|
|
.short _02260D0E - _02260CD2 - 2 ; case 25
|
|
.short _02260D12 - _02260CD2 - 2 ; case 26
|
|
.short _02260D12 - _02260CD2 - 2 ; case 27
|
|
.short _02260D12 - _02260CD2 - 2 ; case 28
|
|
.short _02260D12 - _02260CD2 - 2 ; case 29
|
|
_02260D0E:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02260D12:
|
|
mov r0, #2
|
|
pop {r3, pc}
|
|
_02260D16:
|
|
mov r0, #6
|
|
pop {r3, pc}
|
|
_02260D1A:
|
|
mov r0, #7
|
|
pop {r3, pc}
|
|
_02260D1E:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02260CC0
|
|
|
|
thumb_func_start ov49_02260D28
|
|
ov49_02260D28: ; 0x02260D28
|
|
push {r3, lr}
|
|
cmp r0, #0x1d
|
|
bhi _02260D86
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02260D3A: ; jump table
|
|
.short _02260D86 - _02260D3A - 2 ; case 0
|
|
.short _02260D86 - _02260D3A - 2 ; case 1
|
|
.short _02260D86 - _02260D3A - 2 ; case 2
|
|
.short _02260D86 - _02260D3A - 2 ; case 3
|
|
.short _02260D86 - _02260D3A - 2 ; case 4
|
|
.short _02260D86 - _02260D3A - 2 ; case 5
|
|
.short _02260D7E - _02260D3A - 2 ; case 6
|
|
.short _02260D7E - _02260D3A - 2 ; case 7
|
|
.short _02260D7E - _02260D3A - 2 ; case 8
|
|
.short _02260D7E - _02260D3A - 2 ; case 9
|
|
.short _02260D7E - _02260D3A - 2 ; case 10
|
|
.short _02260D7E - _02260D3A - 2 ; case 11
|
|
.short _02260D7E - _02260D3A - 2 ; case 12
|
|
.short _02260D7E - _02260D3A - 2 ; case 13
|
|
.short _02260D82 - _02260D3A - 2 ; case 14
|
|
.short _02260D82 - _02260D3A - 2 ; case 15
|
|
.short _02260D82 - _02260D3A - 2 ; case 16
|
|
.short _02260D82 - _02260D3A - 2 ; case 17
|
|
.short _02260D82 - _02260D3A - 2 ; case 18
|
|
.short _02260D82 - _02260D3A - 2 ; case 19
|
|
.short _02260D82 - _02260D3A - 2 ; case 20
|
|
.short _02260D82 - _02260D3A - 2 ; case 21
|
|
.short _02260D76 - _02260D3A - 2 ; case 22
|
|
.short _02260D76 - _02260D3A - 2 ; case 23
|
|
.short _02260D76 - _02260D3A - 2 ; case 24
|
|
.short _02260D76 - _02260D3A - 2 ; case 25
|
|
.short _02260D7A - _02260D3A - 2 ; case 26
|
|
.short _02260D7A - _02260D3A - 2 ; case 27
|
|
.short _02260D7A - _02260D3A - 2 ; case 28
|
|
.short _02260D7A - _02260D3A - 2 ; case 29
|
|
_02260D76:
|
|
mov r0, #7
|
|
pop {r3, pc}
|
|
_02260D7A:
|
|
mov r0, #8
|
|
pop {r3, pc}
|
|
_02260D7E:
|
|
mov r0, #5
|
|
pop {r3, pc}
|
|
_02260D82:
|
|
mov r0, #6
|
|
pop {r3, pc}
|
|
_02260D86:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02260D28
|
|
|
|
thumb_func_start ov49_02260D90
|
|
ov49_02260D90: ; 0x02260D90
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0
|
|
beq _02260DA4
|
|
cmp r0, #1
|
|
beq _02260DFA
|
|
b _02260E24
|
|
_02260DA4:
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
add r6, r0, #0
|
|
bl ov45_0222A330
|
|
cmp r0, #1
|
|
bne _02260DC2
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #3
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _02260DE6
|
|
_02260DC2:
|
|
add r0, r6, #0
|
|
bl ov45_0222A374
|
|
cmp r0, #1
|
|
bne _02260DDA
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x4e
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _02260DE6
|
|
_02260DDA:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #2
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
_02260DE6:
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
ldr r0, _02260E28 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _02260E24
|
|
_02260DFA:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #0
|
|
beq _02260E24
|
|
add r0, r4, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
add r4, r0, #0
|
|
bl ov49_02258DAC
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_02260E24:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02260E28: .word 0x000005DC
|
|
thumb_func_end ov49_02260D90
|
|
|
|
thumb_func_start ov49_02260E2C
|
|
ov49_02260E2C: ; 0x02260E2C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
str r2, [sp]
|
|
bl ov49_02259FF0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
bl ov49_02259FF8
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A008
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
bl ov49_02259FE8
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
bl ov49_0225EF84
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0xf
|
|
bls _02260E6A
|
|
b _022611C0
|
|
_02260E6A:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02260E76: ; jump table
|
|
.short _02260E96 - _02260E76 - 2 ; case 0
|
|
.short _02260EDE - _02260E76 - 2 ; case 1
|
|
.short _02260F52 - _02260E76 - 2 ; case 2
|
|
.short _02260FE2 - _02260E76 - 2 ; case 3
|
|
.short _02261016 - _02260E76 - 2 ; case 4
|
|
.short _02261046 - _02260E76 - 2 ; case 5
|
|
.short _02261082 - _02260E76 - 2 ; case 6
|
|
.short _02261098 - _02260E76 - 2 ; case 7
|
|
.short _022610B0 - _02260E76 - 2 ; case 8
|
|
.short _022610D0 - _02260E76 - 2 ; case 9
|
|
.short _022610F0 - _02260E76 - 2 ; case 10
|
|
.short _02261110 - _02260E76 - 2 ; case 11
|
|
.short _02261124 - _02260E76 - 2 ; case 12
|
|
.short _02261134 - _02260E76 - 2 ; case 13
|
|
.short _02261180 - _02260E76 - 2 ; case 14
|
|
.short _02261196 - _02260E76 - 2 ; case 15
|
|
_02260E96:
|
|
add r0, r6, #0
|
|
mov r1, #0x18
|
|
bl ov49_0225EF40
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp]
|
|
bl ov49_02258D70
|
|
str r0, [r4, #0xc]
|
|
add r0, r5, #0
|
|
bl ov49_0225A040
|
|
cmp r0, #0x21
|
|
beq _02260EBE
|
|
cmp r0, #0x22
|
|
beq _02260EC4
|
|
cmp r0, #0x23
|
|
beq _02260ECA
|
|
b _02260ED0
|
|
_02260EBE:
|
|
mov r0, #2
|
|
strh r0, [r4, #6]
|
|
b _02260ED4
|
|
_02260EC4:
|
|
mov r0, #1
|
|
strh r0, [r4, #6]
|
|
b _02260ED4
|
|
_02260ECA:
|
|
mov r0, #0
|
|
strh r0, [r4, #6]
|
|
b _02260ED4
|
|
_02260ED0:
|
|
bl GF_AssertFail
|
|
_02260ED4:
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_02260EDE:
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222A374
|
|
cmp r0, #0
|
|
bne _02260EF6
|
|
mov r0, #8
|
|
strh r0, [r4, #4]
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_02260EF6:
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222A330
|
|
cmp r0, #1
|
|
bne _02260F0E
|
|
mov r0, #0xa
|
|
strh r0, [r4, #4]
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_02260F0E:
|
|
ldrh r2, [r4, #6]
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp]
|
|
bl ov45_0222ADB8
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
str r0, [r4]
|
|
cmp r0, r1
|
|
beq _02260F44
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #0x1f
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A09C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
b _022611C0
|
|
_02260F44:
|
|
mov r0, #9
|
|
strh r0, [r4, #4]
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_02260F52:
|
|
ldr r0, _022611C8 ; =gSystem
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x48]
|
|
tst r1, r0
|
|
bne _02260F62
|
|
mov r1, #0x80
|
|
tst r0, r1
|
|
beq _02260F82
|
|
_02260F62:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp]
|
|
bl ov45_0222ADC8
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
mov r0, #6
|
|
strb r0, [r4, #0xa]
|
|
mov r0, #0xf
|
|
strh r0, [r4, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0xc
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_02260F82:
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl ov49_022611F4
|
|
cmp r0, #1
|
|
beq _02260F90
|
|
b _022611C0
|
|
_02260F90:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222AE44
|
|
mov r0, #0
|
|
strh r0, [r4, #8]
|
|
add r0, r5, #0
|
|
bl ov49_02259FE8
|
|
mov r1, #0xa
|
|
bl ov45_0222A5E8
|
|
add r0, r5, #0
|
|
bl ov49_0225A044
|
|
ldr r0, [sp, #0xc]
|
|
bl ov49_0225CC44
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
bl ov49_02259130
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
bl ov49_0225916C
|
|
ldr r0, _022611CC ; =0x000005C1
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
bl ov49_0225A510
|
|
mov r0, #3
|
|
strb r0, [r4, #0xa]
|
|
add r0, r6, #0
|
|
mov r1, #0xc
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_02260FE2:
|
|
ldr r2, [sp, #0xc]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl ov49_02261234
|
|
cmp r0, #1
|
|
bne _022610A4
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
bl ov49_0225916C
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #2
|
|
bl ov49_02259160
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #8
|
|
bl ov49_022591B4
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
bl ov49_0225EF8C
|
|
mov r0, #0
|
|
strh r0, [r4, #8]
|
|
b _022611C0
|
|
_02261016:
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl ov49_02261434
|
|
ldr r1, [sp, #0xc]
|
|
add r0, r4, #0
|
|
bl ov49_022611D4
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl ov49_022613AC
|
|
cmp r0, #1
|
|
bne _022610A4
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov49_0225A53C
|
|
b _022611C0
|
|
_02261046:
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl ov49_02261434
|
|
ldr r1, [sp, #0xc]
|
|
add r0, r4, #0
|
|
bl ov49_022611D4
|
|
ldr r0, [r4, #0xc]
|
|
add r1, sp, #0x10
|
|
bl ov49_02259154
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl ov49_02261460
|
|
mov r0, #6
|
|
ldr r1, [sp, #0x10]
|
|
lsl r0, r0, #0x10
|
|
cmp r1, r0
|
|
bge _022610A4
|
|
mov r0, #0
|
|
strb r0, [r4, #0xb]
|
|
add r0, r6, #0
|
|
mov r1, #0xd
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_02261082:
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [r4, #0xc]
|
|
mov r2, #2
|
|
mov r3, #1
|
|
bl ov49_02258EAC
|
|
add r0, r6, #0
|
|
mov r1, #7
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_02261098:
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #5
|
|
bl ov49_02258E60
|
|
cmp r0, #0
|
|
beq _022610A6
|
|
_022610A4:
|
|
b _022611C0
|
|
_022610A6:
|
|
ldrh r1, [r4, #4]
|
|
add r0, r6, #0
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_022610B0:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #0x1e
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0xf
|
|
strh r0, [r4, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0xb
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_022610D0:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0xf
|
|
strh r0, [r4, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0xb
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_022610F0:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #0x21
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0xf
|
|
strh r0, [r4, #4]
|
|
add r0, r6, #0
|
|
mov r1, #0xb
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_02261110:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #1
|
|
bne _022611C0
|
|
ldrh r1, [r4, #4]
|
|
add r0, r6, #0
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_02261124:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0EC
|
|
ldrb r1, [r4, #0xa]
|
|
add r0, r6, #0
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_02261134:
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl ov49_02261434
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl ov49_02261460
|
|
ldrb r0, [r4, #0xb]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #0xb]
|
|
ldrb r0, [r4, #0xb]
|
|
cmp r0, #0x78
|
|
bls _022611C0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225A034
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov49_0225A038
|
|
add r0, r5, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r5, #0
|
|
bl ov49_02259FE8
|
|
mov r1, #0xb
|
|
bl ov45_0222A5E8
|
|
add r0, r6, #0
|
|
mov r1, #0xe
|
|
bl ov49_0225EF8C
|
|
b _022611C0
|
|
_02261180:
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl ov49_02261434
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl ov49_02261460
|
|
b _022611C0
|
|
_02261196:
|
|
add r0, r5, #0
|
|
bl ov49_0225A010
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A0EC
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [r4, #0xc]
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
add r0, r6, #0
|
|
bl ov49_0225EF68
|
|
ldr r1, [sp]
|
|
ldr r2, _022611D0 ; =ov49_02269B38
|
|
add r0, r7, #0
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
_022611C0:
|
|
mov r0, #0
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_022611C8: .word gSystem
|
|
_022611CC: .word 0x000005C1
|
|
_022611D0: .word ov49_02269B38
|
|
thumb_func_end ov49_02260E2C
|
|
|
|
thumb_func_start ov49_022611D4
|
|
ov49_022611D4: ; 0x022611D4
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
ldr r0, [r0, #0xc]
|
|
add r4, r1, #0
|
|
add r1, sp, #0
|
|
bl ov49_02259154
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
ldr r3, [sp, #8]
|
|
add r0, r4, #0
|
|
bl ov49_0225CC20
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_022611D4
|
|
|
|
thumb_func_start ov49_022611F4
|
|
ov49_022611F4: ; 0x022611F4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
add r1, sp, #4
|
|
add r2, sp, #0
|
|
bl ov45_0222AE08
|
|
ldr r1, [sp, #4]
|
|
ldr r2, [sp]
|
|
add r0, r4, #0
|
|
add r3, sp, #8
|
|
bl ov49_0225E420
|
|
ldr r0, [r5, #0xc]
|
|
add r1, sp, #0x14
|
|
bl ov49_02259154
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x14]
|
|
lsl r0, r0, #0x10
|
|
add r1, r1, r0
|
|
ldr r0, [sp, #8]
|
|
cmp r1, r0
|
|
blt _0226122E
|
|
add sp, #0x20
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_0226122E:
|
|
mov r0, #0
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_022611F4
|
|
|
|
thumb_func_start ov49_02261234
|
|
ov49_02261234: ; 0x02261234
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
add r5, r0, #0
|
|
mov r0, #8
|
|
add r6, r1, #0
|
|
ldrsh r1, [r5, r0]
|
|
add r7, r2, #0
|
|
add r1, r1, #1
|
|
strh r1, [r5, #8]
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0x18
|
|
bge _02261250
|
|
mov r4, #0
|
|
b _02261256
|
|
_02261250:
|
|
mov r0, #0x18
|
|
strh r0, [r5, #8]
|
|
mov r4, #1
|
|
_02261256:
|
|
ldr r0, [r5]
|
|
add r1, sp, #0xc
|
|
add r2, sp, #8
|
|
bl ov45_0222AE08
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #8]
|
|
add r0, r6, #0
|
|
add r3, sp, #0x1c
|
|
bl ov49_0225E420
|
|
ldr r0, [r5, #0xc]
|
|
bl ov49_02258E34
|
|
add r1, sp, #0
|
|
strh r0, [r1]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #2]
|
|
ldrh r2, [r1]
|
|
add r0, sp, #4
|
|
strh r2, [r1, #4]
|
|
ldrh r2, [r1, #2]
|
|
strh r2, [r1, #6]
|
|
add r1, sp, #0x28
|
|
bl ov49_02258800
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [sp, #0x20]
|
|
ldr r0, [sp, #0x2c]
|
|
sub r6, r1, r0
|
|
mov r0, #8
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _022612AE
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _022612BC
|
|
_022612AE:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_022612BC:
|
|
bl _ffix
|
|
asr r1, r0, #0x1f
|
|
asr r3, r6, #0x1f
|
|
add r2, r6, #0
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
mov r1, #6
|
|
lsl r1, r1, #0xe
|
|
bl FX_Div
|
|
str r0, [sp, #0x14]
|
|
mov r0, #8
|
|
ldrsh r2, [r5, r0]
|
|
cmp r2, #4
|
|
blt _02261342
|
|
ldr r1, [sp, #0x24]
|
|
ldr r0, [sp, #0x30]
|
|
sub r6, r1, r0
|
|
sub r0, r2, #4
|
|
cmp r0, #0
|
|
ble _0226130A
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _02261318
|
|
_0226130A:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_02261318:
|
|
bl _ffix
|
|
asr r1, r0, #0x1f
|
|
asr r3, r6, #0x1f
|
|
add r2, r6, #0
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
mov r1, #5
|
|
lsl r1, r1, #0xe
|
|
bl FX_Div
|
|
str r0, [sp, #0x18]
|
|
b _02261346
|
|
_02261342:
|
|
mov r0, #0
|
|
str r0, [sp, #0x18]
|
|
_02261346:
|
|
add r0, sp, #0x10
|
|
add r1, sp, #0x28
|
|
add r2, r0, #0
|
|
bl VEC_Add
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, [sp, #0x14]
|
|
ldr r3, [sp, #0x18]
|
|
add r0, r7, #0
|
|
bl ov49_0225CC20
|
|
mov r0, #8
|
|
ldrsh r1, [r5, r0]
|
|
ldr r0, _022613A4 ; =0x00007FFF
|
|
mul r0, r1
|
|
mov r1, #0x18
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
asr r0, r0, #4
|
|
lsl r2, r0, #2
|
|
ldr r0, _022613A8 ; =FX_SinCosTable_
|
|
ldr r1, [sp, #0x14]
|
|
ldrsh r3, [r0, r2]
|
|
asr r0, r3, #0x1f
|
|
lsr r2, r3, #0x10
|
|
lsl r0, r0, #0x10
|
|
orr r0, r2
|
|
mov r2, #2
|
|
lsl r6, r3, #0x10
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r6, r2
|
|
adc r0, r3
|
|
lsl r0, r0, #0x14
|
|
lsr r2, r2, #0xc
|
|
orr r2, r0
|
|
add r0, r1, r2
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r5, #0xc]
|
|
add r1, sp, #0x10
|
|
bl ov49_02259148
|
|
add r0, r4, #0
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022613A4: .word 0x00007FFF
|
|
_022613A8: .word FX_SinCosTable_
|
|
thumb_func_end ov49_02261234
|
|
|
|
thumb_func_start ov49_022613AC
|
|
ov49_022613AC: ; 0x022613AC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
mov r0, #8
|
|
ldrsh r1, [r5, r0]
|
|
add r1, r1, #1
|
|
strh r1, [r5, #8]
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0x10
|
|
bge _022613C4
|
|
mov r6, #0
|
|
b _022613CA
|
|
_022613C4:
|
|
mov r0, #0x10
|
|
strh r0, [r5, #8]
|
|
mov r6, #1
|
|
_022613CA:
|
|
mov r0, #8
|
|
ldrsh r0, [r5, r0]
|
|
mov r3, #0
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1d
|
|
sub r1, r1, r2
|
|
mov r0, #0x1d
|
|
ror r1, r0
|
|
add r1, r2, r1
|
|
ldr r0, _0226142C ; =0x00007FFF
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
asr r0, r2, #2
|
|
lsr r0, r0, #0x1d
|
|
add r0, r2, r0
|
|
lsl r0, r0, #0xd
|
|
lsr r0, r0, #0x10
|
|
asr r0, r0, #4
|
|
lsl r1, r0, #2
|
|
ldr r0, _02261430 ; =FX_SinCosTable_
|
|
mov r2, #3
|
|
ldrsh r0, [r0, r1]
|
|
lsl r2, r2, #0xc
|
|
asr r1, r0, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r4, r2, #0xc
|
|
orr r4, r0
|
|
ldr r0, [r5, #0xc]
|
|
add r1, sp, #0
|
|
bl ov49_02259154
|
|
ldr r0, [sp, #4]
|
|
add r1, sp, #0
|
|
add r0, r0, r4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
bl ov49_02259148
|
|
add r0, r6, #0
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_0226142C: .word 0x00007FFF
|
|
_02261430: .word FX_SinCosTable_
|
|
thumb_func_end ov49_022613AC
|
|
|
|
thumb_func_start ov49_02261434
|
|
ov49_02261434: ; 0x02261434
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
add r1, sp, #0
|
|
add r2, sp, #4
|
|
bl ov45_0222AE08
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
add r0, r4, #0
|
|
add r3, sp, #8
|
|
bl ov49_0225E420
|
|
ldr r0, [r5, #0xc]
|
|
add r1, sp, #8
|
|
bl ov49_02259148
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02261434
|
|
|
|
thumb_func_start ov49_02261460
|
|
ov49_02261460: ; 0x02261460
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r2, #0
|
|
add r1, sp, #4
|
|
add r2, sp, #0
|
|
bl ov45_0222AE08
|
|
ldr r1, [sp, #4]
|
|
add r0, r4, #0
|
|
bl ov49_0225A520
|
|
cmp r0, #1
|
|
bne _02261494
|
|
add r0, r5, #0
|
|
add r0, #0x10
|
|
bl ov49_0225F438
|
|
cmp r0, #0
|
|
bne _022614A8
|
|
add r0, r5, #0
|
|
add r0, #0x10
|
|
bl ov49_0225F374
|
|
b _022614A8
|
|
_02261494:
|
|
add r0, r5, #0
|
|
add r0, #0x10
|
|
bl ov49_0225F438
|
|
cmp r0, #1
|
|
bne _022614A8
|
|
add r0, r5, #0
|
|
add r0, #0x10
|
|
bl ov49_0225F430
|
|
_022614A8:
|
|
add r0, r5, #0
|
|
add r0, #0x10
|
|
bl ov49_0225F394
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
add r1, sp, #8
|
|
bl ov49_02259154
|
|
ldr r0, [sp, #0xc]
|
|
add r1, sp, #8
|
|
add r0, r0, r4
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
bl ov49_02259148
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
thumb_func_end ov49_02261460
|
|
|
|
thumb_func_start ov49_022614CC
|
|
ov49_022614CC: ; 0x022614CC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #0x12
|
|
bl ov49_0225A10C
|
|
mov r4, #1
|
|
mov r6, #0
|
|
add r7, r4, #0
|
|
_022614E0:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl ov49_0225A40C
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
mov r2, #6
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
bl ov49_0225A144
|
|
add r4, r4, #1
|
|
cmp r4, #0x12
|
|
blt _022614E0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #7
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A144
|
|
ldr r2, [sp]
|
|
ldr r3, _0226153C ; =ov49_02269C00
|
|
add r2, #8
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
add r0, r5, #0
|
|
bl ov49_0225A154
|
|
ldr r1, [sp]
|
|
str r0, [r1, #8]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0226153C: .word ov49_02269C00
|
|
thumb_func_end ov49_022614CC
|
|
|
|
thumb_func_start ov49_02261540
|
|
ov49_02261540: ; 0x02261540
|
|
ldr r3, _02261548 ; =ov49_0225A134
|
|
add r0, r1, #0
|
|
bx r3
|
|
nop
|
|
_02261548: .word ov49_0225A134
|
|
thumb_func_end ov49_02261540
|
|
|
|
thumb_func_start ov49_0226154C
|
|
ov49_0226154C: ; 0x0226154C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r4, r2, #0
|
|
bl ov49_02259FE8
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
bl ov49_02259FF0
|
|
add r1, r4, #0
|
|
str r0, [sp, #0xc]
|
|
bl ov49_02258D70
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225EF84
|
|
str r0, [sp, #0x10]
|
|
add r0, r6, #0
|
|
bl ov49_0225A010
|
|
str r0, [sp, #0x14]
|
|
add r0, r5, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #5
|
|
bhi _02261606
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02261594: ; jump table
|
|
.short _022615A0 - _02261594 - 2 ; case 0
|
|
.short _022615B0 - _02261594 - 2 ; case 1
|
|
.short _022615D4 - _02261594 - 2 ; case 2
|
|
.short _02261618 - _02261594 - 2 ; case 3
|
|
.short _022616CA - _02261594 - 2 ; case 4
|
|
.short _022616DC - _02261594 - 2 ; case 5
|
|
_022615A0:
|
|
add r0, r5, #0
|
|
mov r1, #8
|
|
bl ov49_0225EF40
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
_022615B0:
|
|
ldr r0, [sp, #8]
|
|
add r1, r4, #0
|
|
bl ov45_0222A230
|
|
add r6, r0, #0
|
|
ldr r0, [sp, #8]
|
|
add r1, r4, #0
|
|
bl ov45_0222A550
|
|
cmp r6, #1
|
|
beq _022615CA
|
|
cmp r0, #1
|
|
bne _02261606
|
|
_022615CA:
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl ov49_0225EF8C
|
|
b _02261710
|
|
_022615D4:
|
|
ldr r0, [sp, #8]
|
|
add r1, r4, #0
|
|
bl ov45_0222A578
|
|
add r6, r0, #0
|
|
bne _022615EA
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
b _02261710
|
|
_022615EA:
|
|
bl ov45_0222AADC
|
|
cmp r0, #1
|
|
bne _02261606
|
|
add r0, r6, #0
|
|
bl ov45_0222AA5C
|
|
add r2, r0, #0
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r4, #0
|
|
bl ov49_02258CB8
|
|
cmp r0, #0
|
|
bne _02261608
|
|
_02261606:
|
|
b _02261710
|
|
_02261608:
|
|
mov r1, #0
|
|
bl ov49_022591C0
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl ov49_0225EF8C
|
|
b _02261710
|
|
_02261618:
|
|
ldr r0, [sp, #8]
|
|
add r1, r4, #0
|
|
bl ov45_0222A578
|
|
cmp r0, #0
|
|
bne _02261638
|
|
cmp r7, #0
|
|
beq _0226162E
|
|
add r0, r7, #0
|
|
bl ov49_02258D54
|
|
_0226162E:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
b _02261710
|
|
_02261638:
|
|
bl ov45_0222A920
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, [sp, #8]
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl ov49_02261DBC
|
|
cmp r0, #0
|
|
beq _02261696
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r7, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
lsl r1, r4, #0x18
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov49_0225A06C
|
|
lsl r1, r4, #0x18
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov49_0225A04C
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
bl ov49_02259130
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, _02261718 ; =ov49_02269B58
|
|
ldr r3, [sp, #0x10]
|
|
add r1, r4, #0
|
|
bl ov49_0225EFC4
|
|
b _02261710
|
|
_02261696:
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r7, #0
|
|
mov r2, #4
|
|
bl ov49_02258EEC
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl ov49_0225EF8C
|
|
lsl r1, r4, #0x18
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov49_0225A04C
|
|
lsl r1, r4, #0x18
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov49_0225A06C
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
bl ov49_022591C0
|
|
b _02261710
|
|
_022616CA:
|
|
add r0, r7, #0
|
|
bl ov49_02258F38
|
|
cmp r0, #1
|
|
bne _02261710
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _02261710
|
|
_022616DC:
|
|
add r0, r5, #0
|
|
bl ov49_0225EF68
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r7, #0
|
|
mov r2, #2
|
|
bl ov49_02258EEC
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, _0226171C ; =ov49_02269B40
|
|
add r1, r4, #0
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
lsl r1, r4, #0x18
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0
|
|
bl ov49_0225A04C
|
|
lsl r1, r4, #0x18
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0
|
|
bl ov49_0225A06C
|
|
_02261710:
|
|
mov r0, #0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02261718: .word ov49_02269B58
|
|
_0226171C: .word ov49_02269B40
|
|
thumb_func_end ov49_0226154C
|
|
|
|
thumb_func_start ov49_02261720
|
|
ov49_02261720: ; 0x02261720
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r1, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r4, r2, #0
|
|
bl ov49_02259FE8
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_02259FF0
|
|
str r0, [sp, #0x10]
|
|
add r0, r5, #0
|
|
bl ov49_0225A010
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
add r1, r4, #0
|
|
bl ov49_02258D70
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0x10]
|
|
bl ov49_02258DAC
|
|
ldr r0, [sp, #8]
|
|
bl ov49_0225EF84
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #8]
|
|
bl ov49_0225EF88
|
|
cmp r0, #0
|
|
beq _0226176A
|
|
cmp r0, #1
|
|
beq _0226177C
|
|
b _022618AA
|
|
_0226176A:
|
|
ldr r0, [sp, #8]
|
|
mov r1, #8
|
|
bl ov49_0225EF40
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #8]
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
_0226177C:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov45_0222A25C
|
|
cmp r0, #0
|
|
beq _022617BE
|
|
ldr r0, [sp, #8]
|
|
bl ov49_0225EF68
|
|
ldr r0, [sp, #0x10]
|
|
add r1, r7, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov49_0225A06C
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov49_0225A04C
|
|
ldr r0, [sp, #0xc]
|
|
ldr r2, _022618B0 ; =ov49_02269B48
|
|
add r1, r4, #0
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
b _022618AA
|
|
_022617BE:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov45_0222A2A0
|
|
add r0, r6, #0
|
|
bl ov45_0222A374
|
|
cmp r0, #1
|
|
bne _0226181E
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov45_0222ADA8
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0226181E
|
|
ldr r0, [sp, #0x10]
|
|
add r1, r7, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov49_0225A06C
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov49_0225A04C
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
bl ov49_02259130
|
|
ldr r0, [sp, #8]
|
|
bl ov49_0225EF68
|
|
ldr r0, [sp, #0xc]
|
|
ldr r2, _022618B4 ; =ov49_02269B50
|
|
ldr r3, [sp, #0x14]
|
|
add r1, r4, #0
|
|
bl ov49_0225EF98
|
|
b _022618AA
|
|
_0226181E:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov45_0222A578
|
|
bl ov45_0222A920
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
add r3, r7, #0
|
|
bl ov49_02261DBC
|
|
cmp r0, #0
|
|
beq _0226187C
|
|
ldr r0, [sp, #0x10]
|
|
add r1, r7, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov49_0225A06C
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov49_0225A04C
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
bl ov49_02259130
|
|
ldr r0, [sp, #0xc]
|
|
ldr r2, _022618B8 ; =ov49_02269B58
|
|
ldr r3, [sp, #0x14]
|
|
add r1, r4, #0
|
|
bl ov49_0225EFC4
|
|
b _022618AA
|
|
_0226187C:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov45_0222AD58
|
|
cmp r0, #1
|
|
bne _022618AA
|
|
ldr r0, [sp, #0x10]
|
|
add r1, r7, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov49_0225A04C
|
|
ldr r0, [sp, #0xc]
|
|
ldr r2, _022618BC ; =ov49_02269B80
|
|
add r1, r4, #0
|
|
mov r3, #0
|
|
bl ov49_0225EFC4
|
|
_022618AA:
|
|
mov r0, #0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022618B0: .word ov49_02269B48
|
|
_022618B4: .word ov49_02269B50
|
|
_022618B8: .word ov49_02269B58
|
|
_022618BC: .word ov49_02269B80
|
|
thumb_func_end ov49_02261720
|
|
|
|
thumb_func_start ov49_022618C0
|
|
ov49_022618C0: ; 0x022618C0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r0, r6, #0
|
|
bl ov49_02259FF0
|
|
ldr r1, [sp]
|
|
add r7, r0, #0
|
|
bl ov49_02258D70
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0
|
|
beq _022618EC
|
|
cmp r0, #1
|
|
beq _022618FE
|
|
cmp r0, #2
|
|
beq _02261910
|
|
b _02261926
|
|
_022618EC:
|
|
add r0, r7, #0
|
|
add r1, r4, #0
|
|
mov r2, #3
|
|
bl ov49_02258EEC
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _02261926
|
|
_022618FE:
|
|
add r0, r4, #0
|
|
bl ov49_02258F38
|
|
cmp r0, #0
|
|
beq _02261926
|
|
add r0, r5, #0
|
|
bl ov49_0225EF90
|
|
b _02261926
|
|
_02261910:
|
|
add r0, r4, #0
|
|
bl ov49_02258D54
|
|
add r0, r6, #0
|
|
bl ov49_0225A010
|
|
ldr r1, [sp]
|
|
ldr r2, _0226192C ; =ov49_02269B78
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
_02261926:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0226192C: .word ov49_02269B78
|
|
thumb_func_end ov49_022618C0
|
|
|
|
thumb_func_start ov49_02261930
|
|
ov49_02261930: ; 0x02261930
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x40
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r7, r2, #0
|
|
bl ov49_02259FE8
|
|
str r0, [sp]
|
|
add r0, r6, #0
|
|
bl ov49_02259FF0
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
bl ov49_02259FF8
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
bl ov49_0225EF84
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #4
|
|
bhi _022619CE
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02261970: ; jump table
|
|
.short _0226197A - _02261970 - 2 ; case 0
|
|
.short _022619C4 - _02261970 - 2 ; case 1
|
|
.short _02261A2A - _02261970 - 2 ; case 2
|
|
.short _02261AD8 - _02261970 - 2 ; case 3
|
|
.short _02261B48 - _02261970 - 2 ; case 4
|
|
_0226197A:
|
|
add r0, r5, #0
|
|
mov r1, #0x20
|
|
bl ov49_0225EF40
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
bl ov49_02258D70
|
|
str r0, [r4]
|
|
ldr r0, [sp]
|
|
add r1, r7, #0
|
|
bl ov45_0222ADA8
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
str r0, [r4, #4]
|
|
cmp r0, r1
|
|
bne _022619A4
|
|
bl GF_AssertFail
|
|
_022619A4:
|
|
add r2, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, #4
|
|
add r2, #8
|
|
bl ov45_0222AE08
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [r4]
|
|
mov r2, #3
|
|
bl ov49_02258EEC
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
b _02261B64
|
|
_022619C4:
|
|
ldr r0, [r4]
|
|
bl ov49_02258F38
|
|
cmp r0, #0
|
|
bne _022619D0
|
|
_022619CE:
|
|
b _02261B64
|
|
_022619D0:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [r4, #4]
|
|
ldr r2, [r4, #8]
|
|
add r3, sp, #0x34
|
|
bl ov49_0225E420
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x34]
|
|
lsl r0, r0, #0x10
|
|
sub r0, r1, r0
|
|
str r0, [r4, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, sp, #0x34
|
|
bl ov49_02259154
|
|
ldr r0, [sp, #0x38]
|
|
mov r3, sp
|
|
str r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r4, #0x14]
|
|
add r0, sp, #0xc
|
|
strh r1, [r0]
|
|
strh r1, [r0, #2]
|
|
add r1, sp, #0xc
|
|
ldrh r2, [r1]
|
|
ldr r0, [r4]
|
|
sub r3, r3, #4
|
|
strh r2, [r3]
|
|
ldrh r1, [r1, #2]
|
|
strh r1, [r3, #2]
|
|
ldr r1, [r3]
|
|
bl ov49_02258DB4
|
|
ldr r0, _02261B6C ; =0x0000064E
|
|
bl PlaySE
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
bl ov49_02259184
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl ov49_0225EF8C
|
|
b _02261B64
|
|
_02261A2A:
|
|
ldr r0, [r4, #0x14]
|
|
mov r6, #0
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x14]
|
|
cmp r0, #0x18
|
|
blt _02261A3C
|
|
mov r0, #0x18
|
|
str r0, [r4, #0x14]
|
|
mov r6, #1
|
|
_02261A3C:
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [r4, #4]
|
|
ldr r2, [r4, #8]
|
|
add r3, sp, #0x28
|
|
bl ov49_0225E420
|
|
ldr r0, [sp, #0x30]
|
|
ldr r1, [sp, #0x2c]
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [r4, #0x10]
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r4, #0xc]
|
|
sub r7, r1, r0
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
ble _02261A6E
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _02261A7C
|
|
_02261A6E:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_02261A7C:
|
|
bl _ffix
|
|
asr r1, r0, #0x1f
|
|
asr r3, r7, #0x1f
|
|
add r2, r7, #0
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r0, r0, r2
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
mov r1, #6
|
|
lsl r1, r1, #0xe
|
|
bl FX_Div
|
|
str r0, [sp, #0x20]
|
|
ldr r1, [r4, #0xc]
|
|
add r0, r0, r1
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [r4]
|
|
add r1, sp, #0x1c
|
|
bl ov49_02259148
|
|
cmp r6, #1
|
|
bne _02261B64
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl ov49_02259184
|
|
ldr r0, [r4]
|
|
mov r1, #8
|
|
bl ov49_022591B4
|
|
ldr r0, [r4]
|
|
mov r1, #2
|
|
bl ov49_02259160
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl ov49_0225EF8C
|
|
b _02261B64
|
|
_02261AD8:
|
|
ldr r1, [r4, #4]
|
|
add r0, r6, #0
|
|
bl ov49_0225A520
|
|
cmp r0, #1
|
|
bne _02261AFA
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl ov49_0225F438
|
|
cmp r0, #0
|
|
bne _02261B0E
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl ov49_0225F374
|
|
b _02261B0E
|
|
_02261AFA:
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl ov49_0225F438
|
|
cmp r0, #1
|
|
bne _02261B0E
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl ov49_0225F430
|
|
_02261B0E:
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl ov49_0225F394
|
|
add r6, r0, #0
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [r4, #4]
|
|
ldr r2, [r4, #8]
|
|
add r3, sp, #0x10
|
|
bl ov49_0225E420
|
|
ldr r0, [sp, #0x14]
|
|
add r1, sp, #0x10
|
|
add r0, r0, r6
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r4]
|
|
bl ov49_02259148
|
|
ldr r0, [sp]
|
|
ldr r1, [r4, #4]
|
|
bl ov45_0222AD80
|
|
cmp r0, #2
|
|
bne _02261B64
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl ov49_0225EF8C
|
|
b _02261B64
|
|
_02261B48:
|
|
ldr r0, [r4]
|
|
bl ov49_02258D54
|
|
add r0, r5, #0
|
|
bl ov49_0225EF68
|
|
add r0, r6, #0
|
|
bl ov49_0225A010
|
|
ldr r2, _02261B70 ; =ov49_02269B78
|
|
add r1, r7, #0
|
|
mov r3, #0
|
|
bl ov49_0225EF98
|
|
_02261B64:
|
|
mov r0, #0
|
|
add sp, #0x40
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02261B6C: .word 0x0000064E
|
|
_02261B70: .word ov49_02269B78
|
|
thumb_func_end ov49_02261930
|
|
|
|
thumb_func_start ov49_02261B74
|
|
ov49_02261B74: ; 0x02261B74
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
str r1, [sp]
|
|
add r7, r0, #0
|
|
add r4, r2, #0
|
|
bl ov49_0225EF3C
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
bl ov49_02259FE8
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp]
|
|
bl ov49_02259FF0
|
|
str r0, [sp, #0xc]
|
|
add r1, r4, #0
|
|
bl ov49_02258D70
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0xc]
|
|
bl ov49_02258DAC
|
|
str r0, [sp, #0x10]
|
|
add r0, r7, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0xa
|
|
bhi _02261C58
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02261BBA: ; jump table
|
|
.short _02261BD0 - _02261BBA - 2 ; case 0
|
|
.short _02261BE8 - _02261BBA - 2 ; case 1
|
|
.short _02261BFA - _02261BBA - 2 ; case 2
|
|
.short _02261C0C - _02261BBA - 2 ; case 3
|
|
.short _02261C4E - _02261BBA - 2 ; case 4
|
|
.short _02261C84 - _02261BBA - 2 ; case 5
|
|
.short _02261D2E - _02261BBA - 2 ; case 6
|
|
.short _02261BFA - _02261BBA - 2 ; case 7
|
|
.short _02261D40 - _02261BBA - 2 ; case 8
|
|
.short _02261BFA - _02261BBA - 2 ; case 9
|
|
.short _02261D8E - _02261BBA - 2 ; case 10
|
|
_02261BD0:
|
|
ldrb r0, [r6, #4]
|
|
cmp r0, #0
|
|
bne _02261BDE
|
|
add r0, r7, #0
|
|
bl ov49_0225EF90
|
|
b _02261DB6
|
|
_02261BDE:
|
|
add r0, r7, #0
|
|
mov r1, #3
|
|
bl ov49_0225EF8C
|
|
b _02261DB6
|
|
_02261BE8:
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r5, #0
|
|
mov r2, #3
|
|
bl ov49_02258EEC
|
|
add r0, r7, #0
|
|
bl ov49_0225EF90
|
|
b _02261DB6
|
|
_02261BFA:
|
|
add r0, r5, #0
|
|
bl ov49_02258F38
|
|
cmp r0, #1
|
|
bne _02261C58
|
|
add r0, r7, #0
|
|
bl ov49_0225EF90
|
|
b _02261DB6
|
|
_02261C0C:
|
|
add r0, r5, #0
|
|
bl ov49_02258E34
|
|
add r2, sp, #0x14
|
|
strh r0, [r2]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r2, #2]
|
|
ldrh r0, [r2]
|
|
add r1, sp, #0x1c
|
|
strh r0, [r2, #8]
|
|
ldrh r0, [r2, #2]
|
|
strh r0, [r2, #0xa]
|
|
add r0, r5, #0
|
|
bl ov49_0225913C
|
|
add r0, r5, #0
|
|
bl ov49_022591CC
|
|
cmp r0, #0
|
|
bne _02261C3C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_022591C0
|
|
_02261C3C:
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r5, #0
|
|
mov r2, #4
|
|
bl ov49_02258EEC
|
|
add r0, r7, #0
|
|
bl ov49_0225EF90
|
|
b _02261DB6
|
|
_02261C4E:
|
|
add r0, r5, #0
|
|
bl ov49_02258F38
|
|
cmp r0, #1
|
|
beq _02261C5A
|
|
_02261C58:
|
|
b _02261DB6
|
|
_02261C5A:
|
|
add r0, r7, #0
|
|
bl ov49_0225EF90
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [sp]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0
|
|
bl ov49_0225A04C
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [sp]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0
|
|
bl ov49_0225A06C
|
|
b _02261DB6
|
|
_02261C84:
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r6, #3]
|
|
cmp r0, #1
|
|
bne _02261CC4
|
|
ldr r0, [sp, #8]
|
|
bl ov45_0222B0B0
|
|
cmp r0, #0
|
|
bne _02261CC4
|
|
ldr r0, [sp, #8]
|
|
bl ov45_0222A5C0
|
|
bl ov45_0222A920
|
|
cmp r0, #9
|
|
bne _02261CC4
|
|
ldr r0, [sp, #8]
|
|
bl ov45_0222B0A4
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
bl ov42_022282A4
|
|
add r3, r0, #0
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [sp, #0x10]
|
|
mov r2, #0
|
|
bl ov49_02258EAC
|
|
_02261CC4:
|
|
ldr r0, [sp, #8]
|
|
add r1, r4, #0
|
|
bl ov45_0222A578
|
|
add r5, r0, #0
|
|
bne _02261CD6
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
b _02261D08
|
|
_02261CD6:
|
|
ldrb r0, [r6, #3]
|
|
cmp r0, #1
|
|
bne _02261CEC
|
|
ldr r0, [sp, #8]
|
|
bl ov45_0222AFF8
|
|
cmp r0, #0
|
|
bne _02261CEC
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
b _02261D08
|
|
_02261CEC:
|
|
ldr r0, [sp, #8]
|
|
add r1, r4, #0
|
|
bl ov45_0222A2A0
|
|
cmp r0, #0
|
|
beq _02261D08
|
|
add r0, r5, #0
|
|
bl ov45_0222A920
|
|
ldrb r1, [r6, #2]
|
|
cmp r0, r1
|
|
beq _02261D08
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
_02261D08:
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #1
|
|
bne _02261DB6
|
|
add r0, r7, #0
|
|
bl ov49_0225EF90
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [sp]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov49_0225A04C
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [sp]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov49_0225A06C
|
|
b _02261DB6
|
|
_02261D2E:
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r5, #0
|
|
mov r2, #3
|
|
bl ov49_02258EEC
|
|
add r0, r7, #0
|
|
bl ov49_0225EF90
|
|
b _02261DB6
|
|
_02261D40:
|
|
ldr r0, [sp, #0xc]
|
|
bl ov49_02258DAC
|
|
ldrb r1, [r6]
|
|
ldrb r2, [r6, #1]
|
|
bl ov49_02258FDC
|
|
cmp r0, #0
|
|
bne _02261DB6
|
|
ldrb r0, [r6]
|
|
mov r3, sp
|
|
add r1, sp, #0x14
|
|
lsl r0, r0, #4
|
|
strh r0, [r1, #4]
|
|
ldrb r0, [r6, #1]
|
|
sub r3, r3, #4
|
|
lsl r0, r0, #4
|
|
strh r0, [r1, #6]
|
|
ldrh r2, [r1, #4]
|
|
add r0, r5, #0
|
|
strh r2, [r3]
|
|
ldrh r1, [r1, #6]
|
|
strh r1, [r3, #2]
|
|
ldr r1, [r3]
|
|
bl ov49_02258DB4
|
|
add r0, r5, #0
|
|
add r1, sp, #0x18
|
|
bl ov49_0225913C
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r5, #0
|
|
mov r2, #4
|
|
bl ov49_02258EEC
|
|
add r0, r7, #0
|
|
bl ov49_0225EF90
|
|
b _02261DB6
|
|
_02261D8E:
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r5, #0
|
|
mov r2, #2
|
|
bl ov49_02258EEC
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [sp]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0
|
|
bl ov49_0225A04C
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [sp]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0
|
|
bl ov49_0225A06C
|
|
add sp, #0x20
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02261DB6:
|
|
mov r0, #0
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_02261B74
|
|
|
|
thumb_func_start ov49_02261DBC
|
|
ov49_02261DBC: ; 0x02261DBC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r6, r2, #0
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
str r1, [sp, #4]
|
|
str r3, [sp, #8]
|
|
mov r7, #0
|
|
bl ov49_02259FF0
|
|
add r5, r0, #0
|
|
bl ov49_02258DAC
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
bl ov49_0225A000
|
|
add r6, r0, #0
|
|
ldr r0, [sp, #8]
|
|
mov r1, #4
|
|
bl ov49_02258E60
|
|
str r0, [sp, #0x10]
|
|
mov r0, #1
|
|
str r0, [sp, #0x20]
|
|
add r0, sp, #0x28
|
|
ldrb r0, [r0, #0x10]
|
|
cmp r0, #0xe
|
|
bls _02261DF8
|
|
b _02261F42
|
|
_02261DF8:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02261E04: ; jump table
|
|
.short _02261F42 - _02261E04 - 2 ; case 0
|
|
.short _02261F42 - _02261E04 - 2 ; case 1
|
|
.short _02261E22 - _02261E04 - 2 ; case 2
|
|
.short _02261E3E - _02261E04 - 2 ; case 3
|
|
.short _02261E58 - _02261E04 - 2 ; case 4
|
|
.short _02261E72 - _02261E04 - 2 ; case 5
|
|
.short _02261E90 - _02261E04 - 2 ; case 6
|
|
.short _02261EAE - _02261E04 - 2 ; case 7
|
|
.short _02261ECC - _02261E04 - 2 ; case 8
|
|
.short _02261EF0 - _02261E04 - 2 ; case 9
|
|
.short _02261EEA - _02261E04 - 2 ; case 10
|
|
.short _02261F42 - _02261E04 - 2 ; case 11
|
|
.short _02261F42 - _02261E04 - 2 ; case 12
|
|
.short _02261F42 - _02261E04 - 2 ; case 13
|
|
.short _02261F42 - _02261E04 - 2 ; case 14
|
|
_02261E22:
|
|
add r0, sp, #0x1c
|
|
str r0, [sp]
|
|
ldr r2, _02261FA4 ; =ov49_02269B90
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #4
|
|
bl ov49_02261FC0
|
|
cmp r0, #0
|
|
beq _02261E38
|
|
b _02261F48
|
|
_02261E38:
|
|
add sp, #0x24
|
|
add r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02261E3E:
|
|
add r0, sp, #0x1c
|
|
str r0, [sp]
|
|
ldr r2, _02261FA8 ; =ov49_02269BC0
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #4
|
|
bl ov49_02261FC0
|
|
cmp r0, #0
|
|
bne _02261F48
|
|
add sp, #0x24
|
|
add r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02261E58:
|
|
add r0, sp, #0x1c
|
|
str r0, [sp]
|
|
ldr r2, _02261FAC ; =ov49_02269BA0
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #4
|
|
bl ov49_02261FC0
|
|
cmp r0, #0
|
|
bne _02261F48
|
|
add sp, #0x24
|
|
add r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02261E72:
|
|
add r0, r7, #0
|
|
str r0, [sp, #0x20]
|
|
add r0, sp, #0x1c
|
|
str r0, [sp]
|
|
ldr r2, _02261FB0 ; =ov49_02269C20
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #8
|
|
bl ov49_02261FC0
|
|
cmp r0, #0
|
|
bne _02261F48
|
|
add sp, #0x24
|
|
add r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02261E90:
|
|
add r0, r7, #0
|
|
str r0, [sp, #0x20]
|
|
add r0, sp, #0x1c
|
|
str r0, [sp]
|
|
ldr r2, _02261FB4 ; =ov49_02269C40
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #8
|
|
bl ov49_02261FC0
|
|
cmp r0, #0
|
|
bne _02261F48
|
|
add sp, #0x24
|
|
add r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02261EAE:
|
|
mov r0, #3
|
|
str r0, [sp, #0x20]
|
|
add r0, sp, #0x1c
|
|
str r0, [sp]
|
|
ldr r2, _02261FB8 ; =ov49_02269BB0
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #4
|
|
bl ov49_02261FC0
|
|
cmp r0, #0
|
|
bne _02261F48
|
|
add sp, #0x24
|
|
add r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02261ECC:
|
|
add r0, r7, #0
|
|
str r0, [sp, #0x20]
|
|
add r0, sp, #0x1c
|
|
str r0, [sp]
|
|
ldr r2, _02261FBC ; =ov49_02269BD0
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r3, #4
|
|
bl ov49_02261FC0
|
|
cmp r0, #0
|
|
bne _02261F48
|
|
add sp, #0x24
|
|
add r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02261EEA:
|
|
add sp, #0x24
|
|
add r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02261EF0:
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222AFF8
|
|
cmp r0, #0
|
|
bne _02261F00
|
|
add sp, #0x24
|
|
add r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02261F00:
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222B00C
|
|
cmp r0, #0
|
|
bne _02261F10
|
|
add sp, #0x24
|
|
add r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02261F10:
|
|
ldr r0, [sp, #4]
|
|
bl ov45_0222B020
|
|
ldr r1, [sp, #0x10]
|
|
cmp r1, r0
|
|
beq _02261F22
|
|
add sp, #0x24
|
|
add r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02261F22:
|
|
ldr r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r2, sp, #0x20
|
|
add r3, sp, #0x1c
|
|
bl ov49_0225904C
|
|
cmp r0, #1
|
|
beq _02261F36
|
|
bl GF_AssertFail
|
|
_02261F36:
|
|
ldr r0, [sp, #0x20]
|
|
bl ov42_022282A4
|
|
str r0, [sp, #0x20]
|
|
mov r7, #1
|
|
b _02261F48
|
|
_02261F42:
|
|
add sp, #0x24
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02261F48:
|
|
ldr r0, [sp, #8]
|
|
bl ov49_02258E34
|
|
add r1, sp, #0x14
|
|
strh r0, [r1]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #2]
|
|
ldrh r0, [r1]
|
|
mov r3, sp
|
|
sub r3, r3, #4
|
|
strh r0, [r1, #4]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r1, #6]
|
|
ldrh r2, [r1, #8]
|
|
ldr r0, [sp, #8]
|
|
strh r2, [r3]
|
|
ldrh r1, [r1, #0xa]
|
|
strh r1, [r3, #2]
|
|
ldr r1, [r3]
|
|
ldr r2, [sp, #0x20]
|
|
bl ov49_02258E04
|
|
add r1, sp, #0x14
|
|
mov r0, #4
|
|
ldrsh r2, [r1, r0]
|
|
asr r0, r2, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r2, r0
|
|
asr r0, r0, #4
|
|
strb r0, [r4]
|
|
mov r0, #6
|
|
ldrsh r1, [r1, r0]
|
|
asr r0, r1, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r1, r0
|
|
asr r0, r0, #4
|
|
strb r0, [r4, #1]
|
|
add r0, sp, #0x28
|
|
ldrb r0, [r0, #0x10]
|
|
strb r0, [r4, #2]
|
|
ldr r0, [sp, #0x3c]
|
|
strb r7, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
mov r0, #1
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02261FA4: .word ov49_02269B90
|
|
_02261FA8: .word ov49_02269BC0
|
|
_02261FAC: .word ov49_02269BA0
|
|
_02261FB0: .word ov49_02269C20
|
|
_02261FB4: .word ov49_02269C40
|
|
_02261FB8: .word ov49_02269BB0
|
|
_02261FBC: .word ov49_02269BD0
|
|
thumb_func_end ov49_02261DBC
|
|
|
|
thumb_func_start ov49_02261FC0
|
|
ov49_02261FC0: ; 0x02261FC0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0x20]
|
|
add r5, r2, #0
|
|
str r1, [sp, #4]
|
|
add r6, r3, #0
|
|
str r0, [sp, #0x20]
|
|
ldr r4, _02262024 ; =0x00000000
|
|
beq _0226201C
|
|
_02261FD4:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r2, sp, #8
|
|
ldr r1, [r5]
|
|
add r0, r7, #0
|
|
add r2, #2
|
|
add r3, sp, #8
|
|
bl ov49_022589D8
|
|
cmp r0, #1
|
|
bne _02262014
|
|
add r1, sp, #8
|
|
add r2, sp, #8
|
|
ldrh r1, [r1, #2]
|
|
ldrh r2, [r2]
|
|
ldr r0, [sp, #4]
|
|
bl ov49_02258F7C
|
|
cmp r0, #0
|
|
bne _02262014
|
|
add r1, sp, #8
|
|
ldrh r0, [r1, #2]
|
|
lsl r2, r0, #4
|
|
ldr r0, [sp, #0x20]
|
|
strh r2, [r0]
|
|
ldrh r0, [r1]
|
|
lsl r1, r0, #4
|
|
ldr r0, [sp, #0x20]
|
|
add sp, #0xc
|
|
strh r1, [r0, #2]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02262014:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, r6
|
|
blo _02261FD4
|
|
_0226201C:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02262024: .word 0x00000000
|
|
thumb_func_end ov49_02261FC0
|
|
|
|
thumb_func_start ov49_02262028
|
|
ov49_02262028: ; 0x02262028
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x38
|
|
str r0, [sp, #0x10]
|
|
add r5, r1, #0
|
|
str r2, [sp, #0x14]
|
|
bl ov49_0225EF3C
|
|
add r6, r0, #0
|
|
ldr r0, [sp, #0x10]
|
|
bl ov49_0225EF84
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_02259FE8
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [sp, #0x10]
|
|
bl ov49_0225EF88
|
|
cmp r0, #0x1b
|
|
bhi _02262140
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0226205E: ; jump table
|
|
.short _02262140 - _0226205E - 2 ; case 0
|
|
.short _02262140 - _0226205E - 2 ; case 1
|
|
.short _02262140 - _0226205E - 2 ; case 2
|
|
.short _02262140 - _0226205E - 2 ; case 3
|
|
.short _02262140 - _0226205E - 2 ; case 4
|
|
.short _02262140 - _0226205E - 2 ; case 5
|
|
.short _02262140 - _0226205E - 2 ; case 6
|
|
.short _02262114 - _0226205E - 2 ; case 7
|
|
.short _022620DE - _0226205E - 2 ; case 8
|
|
.short _02262096 - _0226205E - 2 ; case 9
|
|
.short _02262096 - _0226205E - 2 ; case 10
|
|
.short _02262096 - _0226205E - 2 ; case 11
|
|
.short _02262096 - _0226205E - 2 ; case 12
|
|
.short _02262096 - _0226205E - 2 ; case 13
|
|
.short _02262096 - _0226205E - 2 ; case 14
|
|
.short _02262140 - _0226205E - 2 ; case 15
|
|
.short _02262140 - _0226205E - 2 ; case 16
|
|
.short _02262114 - _0226205E - 2 ; case 17
|
|
.short _02262114 - _0226205E - 2 ; case 18
|
|
.short _02262114 - _0226205E - 2 ; case 19
|
|
.short _02262114 - _0226205E - 2 ; case 20
|
|
.short _02262114 - _0226205E - 2 ; case 21
|
|
.short _02262114 - _0226205E - 2 ; case 22
|
|
.short _02262140 - _0226205E - 2 ; case 23
|
|
.short _02262140 - _0226205E - 2 ; case 24
|
|
.short _02262140 - _0226205E - 2 ; case 25
|
|
.short _02262096 - _0226205E - 2 ; case 26
|
|
.short _02262096 - _0226205E - 2 ; case 27
|
|
_02262096:
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F314
|
|
ldrh r1, [r4, #8]
|
|
cmp r1, r0
|
|
bls _022620B0
|
|
mov r0, #4
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _02262140
|
|
_022620B0:
|
|
bl sub_02037454
|
|
ldrh r1, [r4, #8]
|
|
cmp r1, r0
|
|
ble _022620C8
|
|
mov r0, #4
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _02262140
|
|
_022620C8:
|
|
bl sub_0203988C
|
|
cmp r0, #0
|
|
bne _022620DE
|
|
mov r0, #4
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _02262140
|
|
_022620DE:
|
|
bl ov45_0222F464
|
|
cmp r0, #1
|
|
bne _022620FE
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F314
|
|
cmp r0, #1
|
|
bhi _022620FE
|
|
mov r0, #4
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _02262140
|
|
_022620FE:
|
|
ldr r0, [r4, #0x10]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #0x10]
|
|
bpl _02262114
|
|
mov r0, #4
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _02262140
|
|
_02262114:
|
|
bl sub_020390C4
|
|
cmp r0, #5
|
|
bhi _02262140
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02262128: ; jump table
|
|
.short _02262140 - _02262128 - 2 ; case 0
|
|
.short _02262140 - _02262128 - 2 ; case 1
|
|
.short _02262134 - _02262128 - 2 ; case 2
|
|
.short _02262134 - _02262128 - 2 ; case 3
|
|
.short _02262134 - _02262128 - 2 ; case 4
|
|
.short _02262134 - _02262128 - 2 ; case 5
|
|
_02262134:
|
|
mov r0, #4
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
_02262140:
|
|
ldr r0, [sp, #0x10]
|
|
bl ov49_0225EF88
|
|
cmp r0, #0x1c
|
|
bls _0226214E
|
|
bl _02262AB8
|
|
_0226214E:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0226215A: ; jump table
|
|
.short _02262194 - _0226215A - 2 ; case 0
|
|
.short _022621A6 - _0226215A - 2 ; case 1
|
|
.short _022621EA - _0226215A - 2 ; case 2
|
|
.short _02262208 - _0226215A - 2 ; case 3
|
|
.short _0226222E - _0226215A - 2 ; case 4
|
|
.short _02262292 - _0226215A - 2 ; case 5
|
|
.short _022622B2 - _0226215A - 2 ; case 6
|
|
.short _0226239C - _0226215A - 2 ; case 7
|
|
.short _02262556 - _0226215A - 2 ; case 8
|
|
.short _022625DC - _0226215A - 2 ; case 9
|
|
.short _02262630 - _0226215A - 2 ; case 10
|
|
.short _0226265C - _0226215A - 2 ; case 11
|
|
.short _022626D4 - _0226215A - 2 ; case 12
|
|
.short _02262702 - _0226215A - 2 ; case 13
|
|
.short _0226273C - _0226215A - 2 ; case 14
|
|
.short _02262806 - _0226215A - 2 ; case 15
|
|
.short _02262856 - _0226215A - 2 ; case 16
|
|
.short _0226287C - _0226215A - 2 ; case 17
|
|
.short _022628A4 - _0226215A - 2 ; case 18
|
|
.short _022628B4 - _0226215A - 2 ; case 19
|
|
.short _0226290C - _0226215A - 2 ; case 20
|
|
.short _0226296C - _0226215A - 2 ; case 21
|
|
.short _022629BE - _0226215A - 2 ; case 22
|
|
.short _02262A08 - _0226215A - 2 ; case 23
|
|
.short _02262A1A - _0226215A - 2 ; case 24
|
|
.short _02262A2C - _0226215A - 2 ; case 25
|
|
.short _02262A40 - _0226215A - 2 ; case 26
|
|
.short _02262A64 - _0226215A - 2 ; case 27
|
|
.short _02262A8E - _0226215A - 2 ; case 28
|
|
_02262194:
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x44
|
|
bl ov49_0225EF40
|
|
ldr r0, [sp, #0x10]
|
|
bl ov49_0225EF90
|
|
bl _02262AB8
|
|
_022621A6:
|
|
ldr r0, [sp, #0x30]
|
|
bl ov45_0222A414
|
|
cmp r0, #0
|
|
beq _022621C0
|
|
mov r0, #7
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x1c
|
|
bl ov49_0225EF8C
|
|
bl _02262AB8
|
|
_022621C0:
|
|
ldr r0, [sp, #0x30]
|
|
bl ov45_0222A394
|
|
cmp r0, #0
|
|
beq _022621DA
|
|
mov r0, #2
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x1c
|
|
bl ov49_0225EF8C
|
|
bl _02262AB8
|
|
_022621DA:
|
|
ldr r0, _022624F4 ; =0x000005DD
|
|
bl PlaySE
|
|
ldr r0, [sp, #0x10]
|
|
bl ov49_0225EF90
|
|
bl _02262AB8
|
|
_022621EA:
|
|
ldrb r1, [r6, #2]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r4, #0
|
|
add r2, r5, #0
|
|
mov r3, #0
|
|
bl ov49_02262BF8
|
|
bl _02262AB8
|
|
_02262208:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #3
|
|
mov r3, #1
|
|
bl ov49_02262C38
|
|
add r4, #0x18
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r3, r2, #0
|
|
bl ov49_0225A174
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #4
|
|
bl ov49_0225EF8C
|
|
bl _02262AB8
|
|
_0226222E:
|
|
add r0, r5, #0
|
|
mov r7, #0
|
|
bl ov49_0225A1D4
|
|
cmp r0, #2
|
|
bhi _02262248
|
|
cmp r0, #0
|
|
beq _0226226A
|
|
cmp r0, #1
|
|
beq _0226225E
|
|
cmp r0, #2
|
|
beq _0226224E
|
|
b _02262274
|
|
_02262248:
|
|
sub r1, r7, #2
|
|
cmp r0, r1
|
|
bne _02262274
|
|
_0226224E:
|
|
mov r0, #5
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x1c
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _02262274
|
|
_0226225E:
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _02262274
|
|
_0226226A:
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #6
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
_02262274:
|
|
cmp r7, #1
|
|
beq _0226227C
|
|
bl _02262AB8
|
|
_0226227C:
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A1E4
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02262CA8
|
|
bl _02262AB8
|
|
_02262292:
|
|
ldrb r1, [r6, #2]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldrb r3, [r6, #2]
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r4, #0
|
|
add r2, r5, #0
|
|
add r3, #0x22
|
|
bl ov49_02262BF8
|
|
bl _02262AB8
|
|
_022622B2:
|
|
ldr r0, [sp, #0x30]
|
|
bl ov45_0222A394
|
|
cmp r0, #0
|
|
beq _022622CA
|
|
mov r0, #2
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x1c
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_022622CA:
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F274
|
|
cmp r0, #1
|
|
bne _0226230E
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F2D4
|
|
cmp r0, #0
|
|
beq _022622E8
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F294
|
|
cmp r0, #0
|
|
bne _022622F6
|
|
_022622E8:
|
|
mov r0, #1
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x1c
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_022622F6:
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F3E8
|
|
cmp r0, #0
|
|
bne _0226230E
|
|
mov r0, #7
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x1c
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_0226230E:
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F3E8
|
|
strh r0, [r4]
|
|
mov r0, #0xe1
|
|
lsl r0, r0, #2
|
|
str r0, [r4, #0x10]
|
|
mov r1, #0
|
|
ldrsh r2, [r4, r1]
|
|
ldr r0, _022624F8 ; =0x0000014A
|
|
cmp r2, r0
|
|
ble _02262330
|
|
add r0, r5, #0
|
|
mov r2, #0xa
|
|
bl ov49_0225A30C
|
|
b _0226233C
|
|
_02262330:
|
|
mov r0, #1
|
|
str r0, [r4, #0x14]
|
|
add r0, r5, #0
|
|
mov r2, #0xb
|
|
bl ov49_0225A30C
|
|
_0226233C:
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A09C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
ldrb r0, [r6, #1]
|
|
bl sub_0203981C
|
|
bl ov45_0222F464
|
|
cmp r0, #1
|
|
bne _02262372
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldrb r1, [r6, #2]
|
|
ldr r0, [sp, #0x30]
|
|
ldr r3, [sp, #0x14]
|
|
mov r2, #1
|
|
bl ov45_0222AC14
|
|
mov r0, #1
|
|
strb r0, [r4, #7]
|
|
_02262372:
|
|
mov r0, #0
|
|
ldrsh r0, [r4, r0]
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
ldrb r2, [r6, #2]
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
bl ov49_02262D70
|
|
add r4, #0x3c
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
bl ov49_02262E04
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #7
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_0226239C:
|
|
bl sub_0203988C
|
|
str r0, [sp, #0x2c]
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F314
|
|
add r7, r0, #0
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F3E8
|
|
strh r0, [r4]
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
ldrsh r1, [r4, r1]
|
|
add r0, #0x3c
|
|
bl ov49_02262DD4
|
|
mov r0, #0
|
|
ldrsh r1, [r4, r0]
|
|
ldr r0, _022624F8 ; =0x0000014A
|
|
cmp r1, r0
|
|
bgt _022623F0
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
bne _022623F0
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
mov r0, #1
|
|
str r0, [r4, #0x14]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #0xb
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A09C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
_022623F0:
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov49_02262DF8
|
|
ldr r0, [sp, #0x2c]
|
|
cmp r0, #0
|
|
bne _02262410
|
|
mov r0, #4
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_02262410:
|
|
cmp r0, #2
|
|
bne _02262462
|
|
mov r0, #8
|
|
strb r0, [r6]
|
|
cmp r7, #4
|
|
bne _02262420
|
|
mov r6, #0x10
|
|
b _02262422
|
|
_02262420:
|
|
mov r6, #0x12
|
|
_02262422:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A09C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #9
|
|
bl ov49_0225EF8C
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
mov r1, #0
|
|
strh r7, [r4, #8]
|
|
bl ov49_02262DD4
|
|
add r4, #0x3c
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov49_02262DF8
|
|
b _02262AB8
|
|
_02262462:
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
bne _022624A8
|
|
ldr r0, _022624FC ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _022624A8
|
|
ldr r0, _02262500 ; =0x000005DC
|
|
bl PlaySE
|
|
bl ov45_0222F464
|
|
cmp r0, #0
|
|
bne _02262494
|
|
mov r0, #6
|
|
strb r0, [r6]
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_02262494:
|
|
mov r0, #6
|
|
strb r0, [r6]
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x10
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_022624A8:
|
|
bl ov45_0222F464
|
|
cmp r0, #1
|
|
bne _02262504
|
|
ldrb r0, [r4, #7]
|
|
cmp r0, r7
|
|
beq _022624D2
|
|
strb r7, [r4, #7]
|
|
cmp r7, #4
|
|
beq _022624D2
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldrb r1, [r6, #2]
|
|
ldr r0, [sp, #0x30]
|
|
ldr r3, [sp, #0x14]
|
|
add r2, r7, #0
|
|
bl ov45_0222AC14
|
|
_022624D2:
|
|
mov r0, #0
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _02262504
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F314
|
|
cmp r0, #1
|
|
bhi _02262504
|
|
mov r0, #3
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
nop
|
|
_022624F4: .word 0x000005DD
|
|
_022624F8: .word 0x0000014A
|
|
_022624FC: .word gSystem
|
|
_02262500: .word 0x000005DC
|
|
_02262504:
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F274
|
|
cmp r0, #1
|
|
bne _02262526
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F294
|
|
cmp r0, #0
|
|
bne _02262526
|
|
mov r0, #0
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_02262526:
|
|
mov r0, #0
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _022625CC
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #8
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #0x12
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A09C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
b _02262AB8
|
|
_02262556:
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
mov r1, #0
|
|
bl ov49_02262DD4
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov49_02262DF8
|
|
bl sub_0203988C
|
|
add r5, r0, #0
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F314
|
|
add r7, r0, #0
|
|
bl sub_020390C4
|
|
cmp r0, #3
|
|
beq _02262586
|
|
cmp r0, #4
|
|
bne _02262592
|
|
_02262586:
|
|
mov r0, #4
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
_02262592:
|
|
cmp r5, #0
|
|
bne _022625A4
|
|
mov r0, #4
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_022625A4:
|
|
cmp r5, #2
|
|
bne _022625B8
|
|
mov r0, #8
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #9
|
|
bl ov49_0225EF8C
|
|
strh r7, [r4, #8]
|
|
b _02262AB8
|
|
_022625B8:
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F274
|
|
cmp r0, #1
|
|
bne _022625CC
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F294
|
|
cmp r0, #0
|
|
beq _022625CE
|
|
_022625CC:
|
|
b _02262AB8
|
|
_022625CE:
|
|
mov r0, #0
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_022625DC:
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
mov r1, #0
|
|
bl ov49_02262DD4
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov49_02262DF8
|
|
add r0, r5, #0
|
|
bl ov49_02259FE8
|
|
ldrb r1, [r6, #3]
|
|
bl ov45_0222A5E8
|
|
bl sub_02039B38
|
|
add r0, r5, #0
|
|
bl ov49_02259FE8
|
|
bl ov45_0222A2C8
|
|
mov r1, #0
|
|
bl sub_02034354
|
|
ldr r0, [sp, #0x30]
|
|
bl ov45_0222AB1C
|
|
bl sub_02034B00
|
|
mov r0, #0
|
|
bl sub_020378E4
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r4, #0
|
|
mov r2, #0xa
|
|
mov r3, #0x11
|
|
bl ov49_02262C20
|
|
b _02262AB8
|
|
_02262630:
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
mov r1, #0
|
|
bl ov49_02262DD4
|
|
add r4, #0x3c
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov49_02262DF8
|
|
bl sub_02034434
|
|
bl sub_0203769C
|
|
bl sub_0203476C
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0xb
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_0226265C:
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
mov r1, #0
|
|
bl ov49_02262DD4
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov49_02262DF8
|
|
bl sub_02034780
|
|
cmp r0, #0xff
|
|
beq _02262686
|
|
_0226267A:
|
|
bl sub_0203476C
|
|
bl sub_02034780
|
|
cmp r0, #0xff
|
|
bne _0226267A
|
|
_02262686:
|
|
bl sub_020347A0
|
|
add r5, r0, #0
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F314
|
|
cmp r5, r0
|
|
blo _022626BE
|
|
bl ov45_0222F464
|
|
cmp r0, #1
|
|
bne _022626AC
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
bne _022626AC
|
|
bl ov45_0222F1BC
|
|
mov r0, #1
|
|
strh r0, [r4, #2]
|
|
_022626AC:
|
|
bl ov45_0222F218
|
|
cmp r0, #1
|
|
bne _02262730
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0xc
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_022626BE:
|
|
bl ov45_0222F218
|
|
cmp r0, #1
|
|
bne _02262730
|
|
mov r0, #4
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_022626D4:
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
mov r1, #0
|
|
bl ov49_02262DD4
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov49_02262DF8
|
|
bl sub_02037BEC
|
|
ldr r0, [sp, #0x30]
|
|
bl ov45_0222A43C
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r4, #0
|
|
mov r2, #0xd
|
|
mov r3, #0xe
|
|
bl ov49_02262C20
|
|
b _02262AB8
|
|
_02262702:
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
mov r1, #0
|
|
bl ov49_02262DD4
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov49_02262DF8
|
|
ldr r0, [sp, #0x30]
|
|
bl ov45_0222A548
|
|
str r0, [r4, #0xc]
|
|
bl sub_0203769C
|
|
add r4, #0xc
|
|
add r1, r4, #0
|
|
bl sub_02037C0C
|
|
cmp r0, #1
|
|
beq _02262732
|
|
_02262730:
|
|
b _02262AB8
|
|
_02262732:
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0xe
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_0226273C:
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
mov r1, #0
|
|
bl ov49_02262DD4
|
|
add r4, #0x3c
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov49_02262DF8
|
|
mov r0, #0
|
|
str r0, [sp, #0x18]
|
|
bl sub_020347A0
|
|
str r0, [sp, #0x28]
|
|
bl sub_0203769C
|
|
mov r7, #0
|
|
str r0, [sp, #0x24]
|
|
str r7, [sp, #0x20]
|
|
bl ov45_0222F430
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x28]
|
|
add r4, r7, #0
|
|
cmp r0, #0
|
|
ble _022627DC
|
|
_02262774:
|
|
ldr r0, [sp, #0x24]
|
|
cmp r0, r4
|
|
beq _022627BE
|
|
add r0, r4, #0
|
|
bl sub_02037C44
|
|
add r5, r0, #0
|
|
beq _022627D4
|
|
ldr r0, [r5]
|
|
bl ov45_0222EC68
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _022627A4
|
|
mov r0, #1
|
|
str r0, [sp, #0x18]
|
|
mov r0, #4
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022627DC
|
|
_022627A4:
|
|
ldr r0, [sp, #0x30]
|
|
ldr r1, [r5]
|
|
add r2, r4, #0
|
|
bl ov45_0222A450
|
|
ldr r1, [r5]
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r1, r0
|
|
bne _022627BA
|
|
mov r0, #1
|
|
str r0, [sp, #0x20]
|
|
_022627BA:
|
|
add r7, r7, #1
|
|
b _022627D4
|
|
_022627BE:
|
|
ldr r0, [sp, #0x30]
|
|
add r1, r4, #0
|
|
bl ov45_0222A480
|
|
bl ov45_0222F464
|
|
cmp r0, #1
|
|
bne _022627D2
|
|
mov r0, #1
|
|
str r0, [sp, #0x20]
|
|
_022627D2:
|
|
add r7, r7, #1
|
|
_022627D4:
|
|
ldr r0, [sp, #0x28]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _02262774
|
|
_022627DC:
|
|
ldr r0, [sp, #0x18]
|
|
cmp r0, #0
|
|
bne _022628C6
|
|
ldr r0, [sp, #0x28]
|
|
cmp r7, r0
|
|
bne _022628C6
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #1
|
|
bne _022627F8
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0xf
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_022627F8:
|
|
mov r0, #4
|
|
strb r0, [r6]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_02262806:
|
|
mov r0, #0
|
|
mov r1, #1
|
|
bl sub_020398D4
|
|
bl ov45_0222F464
|
|
cmp r0, #1
|
|
bne _02262842
|
|
ldr r0, [sp, #0x30]
|
|
add r1, sp, #0x34
|
|
bl ov45_0222A498
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F314
|
|
add r3, sp, #0x34
|
|
add r2, r0, #0
|
|
ldrb r0, [r3, #1]
|
|
str r0, [sp]
|
|
ldrb r0, [r3, #2]
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r3, #3]
|
|
str r0, [sp, #8]
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
ldrb r1, [r6, #2]
|
|
ldrb r3, [r3]
|
|
ldr r0, [sp, #0x30]
|
|
bl ov45_0222AC14
|
|
_02262842:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r4, #0
|
|
mov r2, #0x1c
|
|
mov r3, #0x12
|
|
bl ov49_02262C20
|
|
b _02262AB8
|
|
_02262856:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #0x1a
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x11
|
|
bl ov49_0225EF8C
|
|
add r4, #0x3c
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02262DB8
|
|
b _02262AB8
|
|
_0226287C:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r3, [sp, #0x10]
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_02262CB4
|
|
cmp r0, #0
|
|
bne _022628C6
|
|
add r0, r5, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #1
|
|
bne _022628C6
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x12
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_022628A4:
|
|
add r0, r5, #0
|
|
bl ov49_0225A294
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x13
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_022628B4:
|
|
add r0, r5, #0
|
|
bl ov49_0225A2C4
|
|
cmp r0, #0
|
|
beq _022628C8
|
|
cmp r0, #1
|
|
beq _022628DE
|
|
cmp r0, #2
|
|
beq _022628EE
|
|
_022628C6:
|
|
b _02262AB8
|
|
_022628C8:
|
|
add r0, r5, #0
|
|
bl ov49_0225A2F8
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
ldr r0, [sp, #0x30]
|
|
bl ov45_0222A404
|
|
b _02262AB8
|
|
_022628DE:
|
|
add r0, r5, #0
|
|
bl ov49_0225A2F8
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x14
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_022628EE:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r3, [sp, #0x10]
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_02262CB4
|
|
cmp r0, #1
|
|
beq _02262904
|
|
b _02262AB8
|
|
_02262904:
|
|
add r0, r5, #0
|
|
bl ov49_0225A2F8
|
|
b _02262AB8
|
|
_0226290C:
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F3E8
|
|
strh r0, [r4]
|
|
mov r0, #0
|
|
ldrsh r0, [r4, r0]
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
ldrb r2, [r6, #2]
|
|
add r0, #0x3c
|
|
bl ov49_02262D70
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
bl ov49_02262E04
|
|
mov r1, #0
|
|
ldrsh r2, [r4, r1]
|
|
ldr r0, _02262AC0 ; =0x0000014A
|
|
cmp r2, r0
|
|
ble _02262948
|
|
add r0, r5, #0
|
|
mov r2, #0xa
|
|
bl ov49_0225A30C
|
|
b _02262954
|
|
_02262948:
|
|
mov r0, #1
|
|
str r0, [r4, #0x14]
|
|
add r0, r5, #0
|
|
mov r2, #0xb
|
|
bl ov49_0225A30C
|
|
_02262954:
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A09C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #7
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_0226296C:
|
|
ldrb r0, [r6, #1]
|
|
bl ov45_0222F314
|
|
mov r1, #8
|
|
strb r1, [r6]
|
|
cmp r0, #4
|
|
bne _0226297E
|
|
mov r2, #0x10
|
|
b _02262980
|
|
_0226297E:
|
|
mov r2, #0x12
|
|
_02262980:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A09C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #9
|
|
bl ov49_0225EF8C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
ldrb r2, [r6, #2]
|
|
add r0, #0x3c
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl ov49_02262D70
|
|
add r4, #0x3c
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
bl ov49_02262E04
|
|
b _02262AB8
|
|
_022629BE:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #0x12
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A09C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
ldrb r2, [r6, #2]
|
|
add r0, #0x3c
|
|
add r1, r5, #0
|
|
mov r3, #1
|
|
bl ov49_02262D70
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
mov r1, #0
|
|
bl ov49_02262DD4
|
|
add r4, #0x3c
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
bl ov49_02262DF8
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #8
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_02262A08:
|
|
bl sub_020343E4
|
|
bl sub_0203986C
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x18
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_02262A1A:
|
|
bl sub_0203988C
|
|
cmp r0, #0
|
|
bne _02262AB8
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x1c
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_02262A2C:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #1
|
|
bne _02262AB8
|
|
ldrb r1, [r4, #4]
|
|
ldr r0, [sp, #0x10]
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_02262A40:
|
|
mov r0, #5
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0
|
|
ble _02262A4C
|
|
sub r0, r0, #1
|
|
strb r0, [r4, #5]
|
|
_02262A4C:
|
|
mov r0, #5
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _02262AB8
|
|
ldrb r0, [r4, #6]
|
|
bl sub_02037AC0
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x1b
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_02262A64:
|
|
ldrh r0, [r4, #0xa]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #0xa]
|
|
ldrh r0, [r4, #0xa]
|
|
cmp r0, #0x96
|
|
blo _02262A7A
|
|
ldrb r0, [r4, #6]
|
|
bl sub_02037AC0
|
|
mov r0, #0
|
|
strh r0, [r4, #0xa]
|
|
_02262A7A:
|
|
ldrb r0, [r4, #6]
|
|
bl sub_02037B38
|
|
cmp r0, #0
|
|
beq _02262AB8
|
|
ldrb r1, [r4, #4]
|
|
ldr r0, [sp, #0x10]
|
|
bl ov49_0225EF8C
|
|
b _02262AB8
|
|
_02262A8E:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02262CA8
|
|
add r4, #0x3c
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02262DB8
|
|
add r0, r5, #0
|
|
bl ov49_0225A2F8
|
|
ldr r0, [sp, #0x10]
|
|
bl ov49_0225EF68
|
|
add sp, #0x38
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02262AB8:
|
|
mov r0, #0
|
|
add sp, #0x38
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02262AC0: .word 0x0000014A
|
|
thumb_func_end ov49_02262028
|
|
|
|
thumb_func_start ov49_02262AC4
|
|
ov49_02262AC4: ; 0x02262AC4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0
|
|
beq _02262AD8
|
|
cmp r0, #1
|
|
beq _02262B02
|
|
b _02262B0E
|
|
_02262AD8:
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl sub_020398D4
|
|
bl sub_020392A0
|
|
cmp r0, #0
|
|
bne _02262AF0
|
|
bl sub_020343E4
|
|
bl sub_0203986C
|
|
_02262AF0:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov49_0225A018
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
b _02262B0E
|
|
_02262B02:
|
|
bl sub_020392A0
|
|
cmp r0, #1
|
|
bne _02262B0E
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_02262B0E:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02262AC4
|
|
|
|
thumb_func_start ov49_02262B14
|
|
ov49_02262B14: ; 0x02262B14
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
bl ov49_0225EF84
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0
|
|
beq _02262B32
|
|
cmp r0, #1
|
|
beq _02262BA8
|
|
b _02262BEC
|
|
_02262B32:
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
bl ov49_0225EF40
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
bl ov49_0225A040
|
|
cmp r0, #0x27
|
|
beq _02262B50
|
|
cmp r0, #0x28
|
|
beq _02262B56
|
|
cmp r0, #0x29
|
|
beq _02262B5C
|
|
b _02262B62
|
|
_02262B50:
|
|
mov r7, #0x2a
|
|
mov r4, #0
|
|
b _02262B6C
|
|
_02262B56:
|
|
mov r7, #0x29
|
|
mov r4, #1
|
|
b _02262B6C
|
|
_02262B5C:
|
|
mov r7, #0x2b
|
|
mov r4, #2
|
|
b _02262B6C
|
|
_02262B62:
|
|
bl GF_AssertFail
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02262B6C:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r2, r7, #0
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A0FC
|
|
mov r3, #0
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
str r3, [sp]
|
|
bl ov49_02262D70
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
bl ov49_02262E04
|
|
add r0, r6, #0
|
|
bl ov49_0225EF90
|
|
b _02262BEC
|
|
_02262BA8:
|
|
ldr r0, _02262BF4 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0xf3
|
|
tst r0, r1
|
|
beq _02262BE2
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02262DB8
|
|
add r0, r5, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r5, #0
|
|
bl ov49_02259FF0
|
|
add r4, r0, #0
|
|
bl ov49_02258DAC
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
add r0, r6, #0
|
|
bl ov49_0225EF68
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02262BE2:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov49_02262E04
|
|
_02262BEC:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02262BF4: .word gSystem
|
|
thumb_func_end ov49_02262B14
|
|
|
|
thumb_func_start ov49_02262BF8
|
|
ov49_02262BF8: ; 0x02262BF8
|
|
push {r4, r5, r6, lr}
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
add r2, r3, #0
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl ov49_0225A08C
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x19
|
|
strb r0, [r5, #4]
|
|
add r0, r4, #0
|
|
bl ov49_0225EF8C
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_02262BF8
|
|
|
|
thumb_func_start ov49_02262C20
|
|
ov49_02262C20: ; 0x02262C20
|
|
strb r2, [r0, #4]
|
|
strb r3, [r0, #6]
|
|
mov r2, #0
|
|
strb r2, [r0, #5]
|
|
strh r2, [r0, #0xa]
|
|
add r0, r1, #0
|
|
ldr r3, _02262C34 ; =ov49_0225EF8C
|
|
mov r1, #0x1a
|
|
bx r3
|
|
nop
|
|
_02262C34: .word ov49_0225EF8C
|
|
thumb_func_end ov49_02262C20
|
|
|
|
thumb_func_start ov49_02262C38
|
|
ov49_02262C38: ; 0x02262C38
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r7, r3, #0
|
|
bl ov49_0225A10C
|
|
ldr r0, [sp]
|
|
mov r4, #0
|
|
str r6, [r0, #0x38]
|
|
cmp r6, #0
|
|
bls _02262C6E
|
|
_02262C54:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r2, r7, r4
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
bl ov49_0225A144
|
|
add r4, r4, #1
|
|
cmp r4, r6
|
|
blo _02262C54
|
|
_02262C6E:
|
|
ldr r2, [sp]
|
|
ldr r3, _02262CA4 ; =ov49_02269DFC
|
|
add r2, #0x18
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [sp]
|
|
ldr r1, [r0, #0x38]
|
|
strh r1, [r0, #0x28]
|
|
ldr r1, [r0, #0x38]
|
|
ldrh r0, [r0, #0x2a]
|
|
cmp r0, r1
|
|
bls _02262C96
|
|
ldr r0, [sp]
|
|
strh r1, [r0, #0x2a]
|
|
_02262C96:
|
|
add r0, r5, #0
|
|
bl ov49_0225A154
|
|
ldr r1, [sp]
|
|
str r0, [r1, #0x18]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02262CA4: .word ov49_02269DFC
|
|
thumb_func_end ov49_02262C38
|
|
|
|
thumb_func_start ov49_02262CA8
|
|
ov49_02262CA8: ; 0x02262CA8
|
|
ldr r3, _02262CB0 ; =ov49_0225A134
|
|
add r0, r1, #0
|
|
bx r3
|
|
nop
|
|
_02262CB0: .word ov49_0225A134
|
|
thumb_func_end ov49_02262CA8
|
|
|
|
thumb_func_start ov49_02262CB4
|
|
ov49_02262CB4: ; 0x02262CB4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
add r0, r1, #0
|
|
add r6, r3, #0
|
|
bl ov49_02259FE8
|
|
str r0, [sp, #0x10]
|
|
bl sub_0203988C
|
|
add r7, r0, #0
|
|
ldrb r0, [r4, #1]
|
|
bl ov45_0222F314
|
|
add r2, r0, #0
|
|
cmp r7, #0
|
|
bne _02262CEA
|
|
mov r0, #4
|
|
strb r0, [r4]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
add sp, #0x14
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02262CEA:
|
|
cmp r7, #2
|
|
bne _02262CFE
|
|
add r0, r6, #0
|
|
mov r1, #0x15
|
|
strh r2, [r5, #8]
|
|
bl ov49_0225EF8C
|
|
add sp, #0x14
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02262CFE:
|
|
ldrb r0, [r5, #7]
|
|
cmp r0, r2
|
|
beq _02262D1E
|
|
strb r2, [r5, #7]
|
|
cmp r2, #4
|
|
beq _02262D1E
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldrb r1, [r4, #2]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r3, [sp, #0x28]
|
|
bl ov45_0222AC14
|
|
_02262D1E:
|
|
ldrb r0, [r4, #1]
|
|
bl ov45_0222F3E8
|
|
strh r0, [r5]
|
|
mov r0, #0
|
|
ldrsh r2, [r5, r0]
|
|
cmp r2, #0
|
|
bne _02262D58
|
|
ldrb r0, [r4, #1]
|
|
bl ov45_0222F314
|
|
cmp r0, #1
|
|
bhi _02262D4A
|
|
mov r0, #3
|
|
strb r0, [r4]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
add sp, #0x14
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02262D4A:
|
|
add r0, r6, #0
|
|
mov r1, #0x16
|
|
bl ov49_0225EF8C
|
|
add sp, #0x14
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02262D58:
|
|
ldr r1, _02262D6C ; =0x0000014A
|
|
cmp r2, r1
|
|
bgt _02262D68
|
|
add r0, r6, #0
|
|
mov r1, #0x14
|
|
bl ov49_0225EF8C
|
|
mov r0, #1
|
|
_02262D68:
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02262D6C: .word 0x0000014A
|
|
thumb_func_end ov49_02262CB4
|
|
|
|
thumb_func_start ov49_02262D70
|
|
ov49_02262D70: ; 0x02262D70
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r3, #0
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
add r6, r2, #0
|
|
cmp r4, #2
|
|
blo _02262D82
|
|
bl GF_AssertFail
|
|
_02262D82:
|
|
mov r0, #0
|
|
strb r0, [r5]
|
|
strb r0, [r5, #1]
|
|
strb r0, [r5, #2]
|
|
strb r0, [r5, #3]
|
|
strb r0, [r5, #4]
|
|
strb r0, [r5, #5]
|
|
strb r0, [r5, #6]
|
|
strb r0, [r5, #7]
|
|
strb r4, [r5, #6]
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r5, #0
|
|
strb r6, [r5, #3]
|
|
bl ov49_02262DD4
|
|
ldr r0, _02262DB4 ; =ov49_02269DF8
|
|
mov r1, #0x12
|
|
ldrb r0, [r0, r4]
|
|
mov r2, #3
|
|
mov r3, #0xd
|
|
str r0, [sp]
|
|
add r0, r7, #0
|
|
bl ov49_0225A204
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02262DB4: .word ov49_02269DF8
|
|
thumb_func_end ov49_02262D70
|
|
|
|
thumb_func_start ov49_02262DB8
|
|
ov49_02262DB8: ; 0x02262DB8
|
|
mov r2, #0
|
|
strb r2, [r0]
|
|
strb r2, [r0, #1]
|
|
strb r2, [r0, #2]
|
|
strb r2, [r0, #3]
|
|
strb r2, [r0, #4]
|
|
strb r2, [r0, #5]
|
|
strb r2, [r0, #6]
|
|
strb r2, [r0, #7]
|
|
ldr r3, _02262DD0 ; =ov49_0225A22C
|
|
add r0, r1, #0
|
|
bx r3
|
|
.balign 4, 0
|
|
_02262DD0: .word ov49_0225A22C
|
|
thumb_func_end ov49_02262DB8
|
|
|
|
thumb_func_start ov49_02262DD4
|
|
ov49_02262DD4: ; 0x02262DD4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, r1, #0
|
|
mov r1, #0x1e
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
asr r1, r0, #0x10
|
|
mov r0, #4
|
|
ldrsh r0, [r4, r0]
|
|
cmp r1, r0
|
|
beq _02262DF6
|
|
strh r1, [r4, #4]
|
|
ldrb r1, [r4, #7]
|
|
mov r0, #8
|
|
orr r0, r1
|
|
strb r0, [r4, #7]
|
|
_02262DF6:
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_02262DD4
|
|
|
|
thumb_func_start ov49_02262DF8
|
|
ov49_02262DF8: ; 0x02262DF8
|
|
push {r3, lr}
|
|
mov r3, #0
|
|
bl ov49_02262E10
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02262DF8
|
|
|
|
thumb_func_start ov49_02262E04
|
|
ov49_02262E04: ; 0x02262E04
|
|
push {r3, lr}
|
|
mov r3, #1
|
|
bl ov49_02262E10
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02262E04
|
|
|
|
thumb_func_start ov49_02262E10
|
|
ov49_02262E10: ; 0x02262E10
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
str r3, [sp, #4]
|
|
cmp r2, #0
|
|
beq _02262E22
|
|
mov r0, #0xff
|
|
strb r0, [r5, #7]
|
|
_02262E22:
|
|
ldrb r0, [r5, #3]
|
|
cmp r0, #0
|
|
beq _02262E32
|
|
cmp r0, #1
|
|
beq _02262E36
|
|
cmp r0, #2
|
|
beq _02262E3A
|
|
b _02262E3E
|
|
_02262E32:
|
|
mov r6, #0
|
|
b _02262E44
|
|
_02262E36:
|
|
mov r6, #1
|
|
b _02262E44
|
|
_02262E3A:
|
|
mov r6, #2
|
|
b _02262E44
|
|
_02262E3E:
|
|
bl GF_AssertFail
|
|
mov r6, #2
|
|
_02262E44:
|
|
add r0, r6, #0
|
|
bl ov45_0222F274
|
|
add r7, r0, #0
|
|
ldrb r0, [r5]
|
|
cmp r0, r7
|
|
beq _02262E5A
|
|
ldrb r1, [r5, #7]
|
|
mov r0, #4
|
|
orr r0, r1
|
|
strb r0, [r5, #7]
|
|
_02262E5A:
|
|
strb r7, [r5]
|
|
add r0, r6, #0
|
|
bl ov45_0222F294
|
|
ldrb r1, [r5, #2]
|
|
cmp r1, r0
|
|
beq _02262E70
|
|
ldrb r2, [r5, #7]
|
|
mov r1, #4
|
|
orr r1, r2
|
|
strb r1, [r5, #7]
|
|
_02262E70:
|
|
strb r0, [r5, #2]
|
|
cmp r7, #1
|
|
bne _02262E7E
|
|
add r0, r6, #0
|
|
bl ov45_0222F2D4
|
|
b _02262E80
|
|
_02262E7E:
|
|
mov r0, #4
|
|
_02262E80:
|
|
ldrb r1, [r5, #1]
|
|
cmp r1, r0
|
|
beq _02262E8E
|
|
ldrb r2, [r5, #7]
|
|
mov r1, #2
|
|
orr r1, r2
|
|
strb r1, [r5, #7]
|
|
_02262E8E:
|
|
strb r0, [r5, #1]
|
|
ldrb r1, [r5, #7]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _02262EC8
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
mov r3, #0x68
|
|
bl ov49_0225A24C
|
|
ldrb r1, [r5, #3]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x36
|
|
bl ov49_0225A30C
|
|
mov r2, #0
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
bl ov49_0225A23C
|
|
_02262EC8:
|
|
ldrb r1, [r5, #7]
|
|
mov r0, #4
|
|
tst r0, r1
|
|
beq _02262F18
|
|
mov r2, #0x10
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r3, #0x68
|
|
str r2, [sp]
|
|
bl ov49_0225A24C
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #1
|
|
bne _02262F18
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #0
|
|
bne _02262F18
|
|
ldrb r0, [r5]
|
|
cmp r0, #1
|
|
bne _02262F18
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x45
|
|
bl ov49_0225A30C
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
add r1, r6, #0
|
|
add r2, r0, #0
|
|
bl FontID_String_GetWidth
|
|
mov r1, #0x68
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x10
|
|
bl ov49_0225A23C
|
|
_02262F18:
|
|
ldrb r1, [r5, #7]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _02262F68
|
|
mov r2, #0x20
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r3, #0x68
|
|
str r2, [sp]
|
|
bl ov49_0225A24C
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r2, #1
|
|
ldrb r1, [r5, #1]
|
|
add r0, r4, #0
|
|
add r3, r2, #0
|
|
bl ov49_0225A31C
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldrb r2, [r5, #1]
|
|
mov r1, #4
|
|
add r0, r4, #0
|
|
sub r1, r1, r2
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl ov49_0225A31C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x44
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
mov r3, #0x20
|
|
bl ov49_0225A23C
|
|
_02262F68:
|
|
ldrb r0, [r5, #6]
|
|
cmp r0, #1
|
|
bne _02262FAC
|
|
ldrb r1, [r5, #7]
|
|
mov r0, #8
|
|
tst r0, r1
|
|
beq _02262FAC
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x40
|
|
mov r3, #0x68
|
|
bl ov49_0225A24C
|
|
mov r2, #2
|
|
str r2, [sp]
|
|
mov r1, #4
|
|
ldrsh r1, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl ov49_0225A31C
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0xf
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
mov r3, #0x40
|
|
bl ov49_0225A23C
|
|
_02262FAC:
|
|
mov r0, #0
|
|
strb r0, [r5, #7]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_02262E10
|
|
|
|
thumb_func_start ov49_02262FB4
|
|
ov49_02262FB4: ; 0x02262FB4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x54
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
str r2, [sp, #0xc]
|
|
bl ov49_02259FE8
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A010
|
|
str r0, [sp, #0x24]
|
|
add r0, r6, #0
|
|
bl ov49_0225EF84
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl ov45_0222B034
|
|
str r0, [sp, #0x20]
|
|
add r0, r7, #0
|
|
bl ov45_0222B040
|
|
str r0, [sp, #0x1c]
|
|
add r0, r7, #0
|
|
bl ov45_0222B06C
|
|
cmp r0, #0
|
|
beq _0226300C
|
|
cmp r4, #0
|
|
beq _0226300C
|
|
ldrh r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
beq _0226300C
|
|
add r0, r6, #0
|
|
mov r1, #0x20
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
mov r0, #0
|
|
strh r0, [r4, #0xa]
|
|
_0226300C:
|
|
cmp r4, #0
|
|
beq _0226302E
|
|
add r0, r7, #0
|
|
bl ov45_0222A5C0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
beq _0226302A
|
|
ldrb r1, [r4, #3]
|
|
add r0, r7, #0
|
|
bl ov45_0222A578
|
|
str r0, [sp, #0x14]
|
|
b _0226302E
|
|
_0226302A:
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
_0226302E:
|
|
add r0, r6, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0
|
|
beq _02263056
|
|
ldrh r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
beq _02263056
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
bne _02263056
|
|
add r0, r6, #0
|
|
mov r1, #0x20
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
mov r0, #0
|
|
strh r0, [r4, #0xa]
|
|
_02263056:
|
|
add r0, r6, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0x26
|
|
bls _02263064
|
|
bl _02263B5E
|
|
_02263064:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02263070: ; jump table
|
|
.short _022630BE - _02263070 - 2 ; case 0
|
|
.short _02263184 - _02263070 - 2 ; case 1
|
|
.short _022631A8 - _02263070 - 2 ; case 2
|
|
.short _022631F0 - _02263070 - 2 ; case 3
|
|
.short _02263226 - _02263070 - 2 ; case 4
|
|
.short _02263256 - _02263070 - 2 ; case 5
|
|
.short _022632C8 - _02263070 - 2 ; case 6
|
|
.short _022632F6 - _02263070 - 2 ; case 7
|
|
.short _02263326 - _02263070 - 2 ; case 8
|
|
.short _0226335E - _02263070 - 2 ; case 9
|
|
.short _0226338C - _02263070 - 2 ; case 10
|
|
.short _022633BA - _02263070 - 2 ; case 11
|
|
.short _022633EA - _02263070 - 2 ; case 12
|
|
.short _02263466 - _02263070 - 2 ; case 13
|
|
.short _02263524 - _02263070 - 2 ; case 14
|
|
.short _02263554 - _02263070 - 2 ; case 15
|
|
.short _022635CC - _02263070 - 2 ; case 16
|
|
.short _02263618 - _02263070 - 2 ; case 17
|
|
.short _02263628 - _02263070 - 2 ; case 18
|
|
.short _02263696 - _02263070 - 2 ; case 19
|
|
.short _022636A8 - _02263070 - 2 ; case 20
|
|
.short _022636E8 - _02263070 - 2 ; case 21
|
|
.short _0226372A - _02263070 - 2 ; case 22
|
|
.short _0226375C - _02263070 - 2 ; case 23
|
|
.short _0226378A - _02263070 - 2 ; case 24
|
|
.short _022637E2 - _02263070 - 2 ; case 25
|
|
.short _02263828 - _02263070 - 2 ; case 26
|
|
.short _02263870 - _02263070 - 2 ; case 27
|
|
.short _022638B6 - _02263070 - 2 ; case 28
|
|
.short _02263914 - _02263070 - 2 ; case 29
|
|
.short _0226397C - _02263070 - 2 ; case 30
|
|
.short _022639AA - _02263070 - 2 ; case 31
|
|
.short _022639D8 - _02263070 - 2 ; case 32
|
|
.short _02263A42 - _02263070 - 2 ; case 33
|
|
.short _02263A74 - _02263070 - 2 ; case 34
|
|
.short _02263A9C - _02263070 - 2 ; case 35
|
|
.short _02263AD0 - _02263070 - 2 ; case 36
|
|
.short _02263ADA - _02263070 - 2 ; case 37
|
|
.short _02263AE6 - _02263070 - 2 ; case 38
|
|
_022630BE:
|
|
add r0, r6, #0
|
|
mov r1, #0x50
|
|
bl ov49_0225EF40
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
add r0, #0x44
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x46
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x38
|
|
str r1, [r4, #0x48]
|
|
bl ov49_0226526C
|
|
add r0, r5, #0
|
|
bl ov49_02259FF0
|
|
str r0, [sp, #0x28]
|
|
bl ov49_02258DAC
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x28]
|
|
ldr r1, [sp, #0x2c]
|
|
bl ov49_02258F40
|
|
str r0, [sp, #0x30]
|
|
cmp r0, #0
|
|
bne _0226310A
|
|
mov r0, #0
|
|
strh r0, [r4, #0xa]
|
|
add r0, r6, #0
|
|
mov r1, #0x26
|
|
bl ov49_0225EF8C
|
|
bl _02263B5E
|
|
_0226310A:
|
|
mov r1, #4
|
|
bl ov49_02258E60
|
|
str r0, [sp, #0x34]
|
|
ldr r0, [sp, #0x2c]
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
bl ov42_022282A4
|
|
str r0, [sp, #0x38]
|
|
add r0, r7, #0
|
|
bl ov45_0222AE64
|
|
ldr r2, [sp, #0x34]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl ov49_02264CA8
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, [sp, #0x30]
|
|
mov r1, #0
|
|
str r0, [r4, #0x10]
|
|
bl ov49_02259130
|
|
ldr r0, [sp, #0x30]
|
|
ldr r1, [sp, #0x38]
|
|
bl ov49_02259160
|
|
ldr r0, [sp, #0x24]
|
|
ldr r1, [sp, #0x34]
|
|
mov r2, #0
|
|
bl ov49_0225EFF0
|
|
ldr r0, _022634A0 ; =0x000005E4
|
|
bl PlaySE
|
|
add r0, r7, #0
|
|
mov r1, #9
|
|
bl ov45_0222A5E8
|
|
ldr r0, [sp, #0x3c]
|
|
cmp r0, #1
|
|
bne _02263178
|
|
ldr r1, [sp, #0x34]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A428
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
bl _02263B5E
|
|
_02263178:
|
|
add r0, r6, #0
|
|
mov r1, #0x22
|
|
bl ov49_0225EF8C
|
|
bl _02263B5E
|
|
_02263184:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r7, #0
|
|
bl ov45_0222AE74
|
|
cmp r0, #1
|
|
bne _0226319C
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
bl ov49_0225EF8C
|
|
bl _02263B5E
|
|
_0226319C:
|
|
add r0, r6, #0
|
|
mov r1, #0x22
|
|
bl ov49_0225EF8C
|
|
bl _02263B5E
|
|
_022631A8:
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #4
|
|
bhi _022631E4
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022631BA: ; jump table
|
|
.short _022631D8 - _022631BA - 2 ; case 0
|
|
.short _02263B5E - _022631BA - 2 ; case 1
|
|
.short _022631C4 - _022631BA - 2 ; case 2
|
|
.short _022631E4 - _022631BA - 2 ; case 3
|
|
.short _022631E4 - _022631BA - 2 ; case 4
|
|
_022631C4:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r7, #0
|
|
bl ov45_0222B0E8
|
|
add r0, r6, #0
|
|
mov r1, #3
|
|
bl ov49_0225EF8C
|
|
bl _02263B5E
|
|
_022631D8:
|
|
add r0, r6, #0
|
|
mov r1, #0x22
|
|
bl ov49_0225EF8C
|
|
bl _02263B5E
|
|
_022631E4:
|
|
add r0, r6, #0
|
|
mov r1, #0x20
|
|
bl ov49_0225EF8C
|
|
bl _02263B5E
|
|
_022631F0:
|
|
add r0, r7, #0
|
|
bl ov45_0222B0F8
|
|
add r0, r7, #0
|
|
mov r1, #7
|
|
bl ov45_0222B118
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
add r2, r5, #0
|
|
str r0, [sp, #4]
|
|
ldrb r3, [r4, #4]
|
|
add r0, r4, #0
|
|
bl ov49_02264D4C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #4
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
bl _02263B5E
|
|
_02263226:
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x18]
|
|
add r2, r5, #0
|
|
str r0, [sp, #4]
|
|
ldrb r3, [r4, #5]
|
|
add r0, r4, #0
|
|
bl ov49_02264D4C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #5
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
bl ov45_0222AED8
|
|
bl _02263B5E
|
|
_02263256:
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #4
|
|
bhi _022632B6
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02263268: ; jump table
|
|
.short _022632B6 - _02263268 - 2 ; case 0
|
|
.short _022632B6 - _02263268 - 2 ; case 1
|
|
.short _02263272 - _02263268 - 2 ; case 2
|
|
.short _0226329A - _02263268 - 2 ; case 3
|
|
.short _022632B6 - _02263268 - 2 ; case 4
|
|
_02263272:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
add r0, r7, #0
|
|
bl ov45_0222B028
|
|
cmp r0, #0
|
|
beq _0226328E
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
bl ov49_0225EF8C
|
|
bl _02263B5E
|
|
_0226328E:
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
bl ov49_0225EF8C
|
|
bl _02263B5E
|
|
_0226329A:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0DC
|
|
cmp r0, #0
|
|
bne _022632AA
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
_022632AA:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02264EC8
|
|
bl _02263B5E
|
|
_022632B6:
|
|
add r0, r6, #0
|
|
mov r1, #0x20
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
bl _02263B5E
|
|
_022632C8:
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl ov49_02264E20
|
|
cmp r0, #1
|
|
bne _022632EA
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #7
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
bl _02263B5E
|
|
_022632EA:
|
|
add r0, r6, #0
|
|
mov r1, #7
|
|
bl ov49_0225EF8C
|
|
bl _02263B5E
|
|
_022632F6:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x28
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #9
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
bl _02263B5E
|
|
_02263326:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrh r1, [r4, #8]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
ldrh r2, [r4, #8]
|
|
add r0, r5, #0
|
|
bl ov49_02264C50
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #9
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
_0226335E:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x2e
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0xb
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
_0226338C:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x36
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0xb
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
_022633BA:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
ldr r3, _022634A4 ; =0x00000203
|
|
add r0, #0x14
|
|
add r1, r5, #0
|
|
mov r2, #3
|
|
bl ov49_02264F9C
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
add r1, #0x14
|
|
add r3, r2, #0
|
|
bl ov49_0225A174
|
|
add r0, r4, #0
|
|
bl ov49_02264F10
|
|
add r0, r6, #0
|
|
mov r1, #0xc
|
|
bl ov49_0225EF8C
|
|
b _02263B5E
|
|
_022633EA:
|
|
add r0, r5, #0
|
|
bl ov49_0225A1D4
|
|
cmp r0, #0
|
|
beq _022633FE
|
|
cmp r0, #1
|
|
beq _0226340A
|
|
cmp r0, #2
|
|
beq _02263428
|
|
b _0226343A
|
|
_022633FE:
|
|
add r0, r6, #0
|
|
mov r1, #0xd
|
|
bl ov49_0225EF8C
|
|
mov r0, #1
|
|
b _02263444
|
|
_0226340A:
|
|
add r0, r6, #0
|
|
mov r1, #0x13
|
|
bl ov49_0225EF8C
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #4
|
|
bl ov49_02258E60
|
|
add r2, r0, #0
|
|
ldr r1, [sp, #0xc]
|
|
add r0, r7, #0
|
|
bl ov45_0222AB94
|
|
mov r0, #1
|
|
b _02263444
|
|
_02263428:
|
|
add r0, r7, #0
|
|
bl ov45_0222AF80
|
|
add r0, r6, #0
|
|
mov r1, #0x21
|
|
bl ov49_0225EF8C
|
|
mov r0, #1
|
|
b _02263444
|
|
_0226343A:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02264F24
|
|
mov r0, #0
|
|
_02263444:
|
|
cmp r0, #1
|
|
beq _0226344A
|
|
b _02263B5E
|
|
_0226344A:
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A1E4
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
add r1, r5, #0
|
|
bl ov49_02265260
|
|
add r0, r4, #0
|
|
bl ov49_02264F1C
|
|
b _02263B5E
|
|
_02263466:
|
|
ldr r0, [sp, #0x18]
|
|
bl ov45_0222AAC8
|
|
str r0, [sp, #0x40]
|
|
ldr r0, [sp, #0x14]
|
|
bl ov45_0222AAC8
|
|
ldr r1, [sp, #0x40]
|
|
cmp r1, r0
|
|
bne _022634D4
|
|
mov r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
mov r3, #1
|
|
bl ov49_02264E90
|
|
ldrb r1, [r4, #3]
|
|
ldr r2, _022634A8 ; =0x000001FB
|
|
b _022634AC
|
|
nop
|
|
_022634A0: .word 0x000005E4
|
|
_022634A4: .word 0x00000203
|
|
_022634A8: .word 0x000001FB
|
|
_022634AC:
|
|
add r0, r5, #0
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x12
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
add r0, r7, #0
|
|
mov r1, #4
|
|
bl ov45_0222AED8
|
|
b _02263B5E
|
|
_022634D4:
|
|
mov r2, #0
|
|
strb r2, [r4, #0xc]
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
bl ov49_0225A334
|
|
mov r3, #1
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
str r3, [sp]
|
|
bl ov49_02264E90
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
mov r3, #2
|
|
bl ov49_02264E90
|
|
mov r2, #0x7f
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #2
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0xe
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
_02263524:
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
ldr r3, _02263858 ; =0x00000206
|
|
add r0, #0x14
|
|
add r1, r5, #0
|
|
mov r2, #2
|
|
bl ov49_02264F9C
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
add r1, #0x14
|
|
add r3, r2, #0
|
|
bl ov49_0225A174
|
|
add r0, r4, #0
|
|
bl ov49_02264F10
|
|
add r0, r6, #0
|
|
mov r1, #0xf
|
|
bl ov49_0225EF8C
|
|
b _02263B5E
|
|
_02263554:
|
|
add r0, r5, #0
|
|
bl ov49_0225A1D4
|
|
cmp r0, #0
|
|
beq _02263564
|
|
cmp r0, #1
|
|
beq _02263594
|
|
b _022635A0
|
|
_02263564:
|
|
add r0, r7, #0
|
|
mov r1, #3
|
|
bl ov45_0222AED8
|
|
add r0, r6, #0
|
|
mov r1, #0x10
|
|
bl ov49_0225EF8C
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #4
|
|
bl ov49_02258E60
|
|
add r6, r0, #0
|
|
ldr r0, [sp, #0x14]
|
|
bl ov45_0222AAC8
|
|
add r3, r0, #0
|
|
ldr r1, [sp, #0xc]
|
|
add r0, r7, #0
|
|
add r2, r6, #0
|
|
bl ov45_0222ABD0
|
|
mov r0, #1
|
|
b _022635AA
|
|
_02263594:
|
|
add r0, r6, #0
|
|
mov r1, #0xa
|
|
bl ov49_0225EF8C
|
|
mov r0, #1
|
|
b _022635AA
|
|
_022635A0:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02264F24
|
|
mov r0, #0
|
|
_022635AA:
|
|
cmp r0, #1
|
|
beq _022635B0
|
|
b _02263B5E
|
|
_022635B0:
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A1E4
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
add r1, r5, #0
|
|
bl ov49_02265260
|
|
add r0, r4, #0
|
|
bl ov49_02264F1C
|
|
b _02263B5E
|
|
_022635CC:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
mov r3, #1
|
|
bl ov49_02264E90
|
|
ldrb r1, [r4, #3]
|
|
ldr r2, _0226385C ; =0x000001FE
|
|
add r0, r5, #0
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x11
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
ldr r0, [sp, #0x14]
|
|
bl ov45_0222AAC8
|
|
add r1, r0, #0
|
|
add r0, r7, #0
|
|
bl ov45_0222A72C
|
|
b _02263B5E
|
|
_02263618:
|
|
ldr r0, _02263860 ; =0x000005BF
|
|
bl PlaySE
|
|
add r0, r6, #0
|
|
mov r1, #0x12
|
|
bl ov49_0225EF8C
|
|
b _02263B5E
|
|
_02263628:
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #4
|
|
bhi _02263686
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0226363A: ; jump table
|
|
.short _02263686 - _0226363A - 2 ; case 0
|
|
.short _02263686 - _0226363A - 2 ; case 1
|
|
.short _02263644 - _0226363A - 2 ; case 2
|
|
.short _0226366C - _0226363A - 2 ; case 3
|
|
.short _02263686 - _0226363A - 2 ; case 4
|
|
_02263644:
|
|
ldr r1, [sp, #0x14]
|
|
add r0, r4, #0
|
|
bl ov49_02264F78
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
bne _0226365C
|
|
add r0, r6, #0
|
|
mov r1, #0x21
|
|
bl ov49_0225EF8C
|
|
b _02263664
|
|
_0226365C:
|
|
add r0, r6, #0
|
|
mov r1, #0xa
|
|
bl ov49_0225EF8C
|
|
_02263664:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
b _02263B5E
|
|
_0226366C:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0DC
|
|
cmp r0, #0
|
|
bne _0226367C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
_0226367C:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02264EC8
|
|
b _02263B5E
|
|
_02263686:
|
|
add r0, r6, #0
|
|
mov r1, #0x20
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
b _02263B5E
|
|
_02263696:
|
|
add r0, r7, #0
|
|
mov r1, #5
|
|
bl ov45_0222AED8
|
|
add r0, r6, #0
|
|
mov r1, #0x14
|
|
bl ov49_0225EF8C
|
|
b _02263B5E
|
|
_022636A8:
|
|
ldr r0, _02263864 ; =0x00000207
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
mov r2, #0x1e
|
|
mov r3, #4
|
|
bl ov49_02265044
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x17
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r1, #0x14
|
|
add r3, r2, #0
|
|
bl ov49_0225A1A4
|
|
add r0, r6, #0
|
|
mov r1, #0x15
|
|
bl ov49_0225EF8C
|
|
add r0, r4, #0
|
|
bl ov49_02264F10
|
|
b _02263B5E
|
|
_022636E8:
|
|
add r0, r5, #0
|
|
bl ov49_0225A1D4
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
str r0, [sp, #0x44]
|
|
cmp r0, r1
|
|
beq _022636FE
|
|
add r1, r1, #1
|
|
cmp r0, r1
|
|
bne _02263708
|
|
_022636FE:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02264F24
|
|
b _02263B5E
|
|
_02263708:
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A1E4
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
add r1, r5, #0
|
|
bl ov49_02265260
|
|
ldr r0, [sp, #0x44]
|
|
mov r1, #0x16
|
|
strb r0, [r4]
|
|
add r0, r6, #0
|
|
bl ov49_0225EF8C
|
|
b _02263B5E
|
|
_0226372A:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r3, [r4]
|
|
ldr r2, _02263868 ; =0x000001DD
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
add r2, r3, r2
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x17
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
_0226375C:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldrb r3, [r4]
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
lsl r3, r3, #2
|
|
add r1, r5, #0
|
|
mov r2, #4
|
|
add r3, #0x73
|
|
bl ov49_02264F9C
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
add r1, #0x14
|
|
add r3, r2, #0
|
|
bl ov49_0225A174
|
|
add r0, r6, #0
|
|
mov r1, #0x18
|
|
bl ov49_0225EF8C
|
|
b _02263B5E
|
|
_0226378A:
|
|
add r0, r5, #0
|
|
bl ov49_0225A1D4
|
|
str r0, [sp, #0x48]
|
|
cmp r0, #3
|
|
bhi _022637D8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022637A2: ; jump table
|
|
.short _022637AA - _022637A2 - 2 ; case 0
|
|
.short _022637AA - _022637A2 - 2 ; case 1
|
|
.short _022637AA - _022637A2 - 2 ; case 2
|
|
.short _022637AA - _022637A2 - 2 ; case 3
|
|
_022637AA:
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A1E4
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
add r1, r5, #0
|
|
bl ov49_02265260
|
|
add r0, r4, #0
|
|
bl ov49_02264F1C
|
|
ldrb r0, [r4]
|
|
lsl r1, r0, #2
|
|
ldr r0, [sp, #0x48]
|
|
add r0, r0, r1
|
|
strb r0, [r4, #1]
|
|
add r0, r6, #0
|
|
mov r1, #0x19
|
|
bl ov49_0225EF8C
|
|
b _02263B5E
|
|
_022637D8:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02264F24
|
|
b _02263B5E
|
|
_022637E2:
|
|
ldrb r2, [r4, #1]
|
|
add r0, r4, #0
|
|
add r0, #0x38
|
|
add r2, r2, #6
|
|
lsl r2, r2, #0x10
|
|
add r1, r7, #0
|
|
lsr r2, r2, #0x10
|
|
mov r3, #2
|
|
bl ov49_02265274
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r3, [r4, #1]
|
|
ldr r2, _0226386C ; =0x00000165
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
add r2, r3, r2
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x1a
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
_02263828:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r2, [r4]
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
add r2, #0x55
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x1b
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
.balign 4, 0
|
|
_02263858: .word 0x00000206
|
|
_0226385C: .word 0x000001FE
|
|
_02263860: .word 0x000005BF
|
|
_02263864: .word 0x00000207
|
|
_02263868: .word 0x000001DD
|
|
_0226386C: .word 0x00000165
|
|
_02263870:
|
|
add r0, r4, #0
|
|
add r0, #0x38
|
|
bl ov49_022652D0
|
|
cmp r0, #1
|
|
bne _022638A2
|
|
add r0, r4, #0
|
|
add r0, #0x38
|
|
bl ov49_022652E0
|
|
cmp r0, #2
|
|
bne _02263892
|
|
add r0, r6, #0
|
|
mov r1, #0x1c
|
|
bl ov49_0225EF8C
|
|
b _02263B5E
|
|
_02263892:
|
|
add r0, r6, #0
|
|
mov r1, #0x20
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
b _02263B5E
|
|
_022638A2:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0DC
|
|
cmp r0, #0
|
|
beq _022638AE
|
|
b _02263B5E
|
|
_022638AE:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
b _02263B5E
|
|
_022638B6:
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #4
|
|
bhi _02263904
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022638C8: ; jump table
|
|
.short _02263904 - _022638C8 - 2 ; case 0
|
|
.short _02263904 - _022638C8 - 2 ; case 1
|
|
.short _022638D2 - _022638C8 - 2 ; case 2
|
|
.short _022638EA - _022638C8 - 2 ; case 3
|
|
.short _02263904 - _022638C8 - 2 ; case 4
|
|
_022638D2:
|
|
ldr r1, [sp, #0x14]
|
|
add r0, r4, #0
|
|
bl ov49_02264F78
|
|
add r0, r6, #0
|
|
mov r1, #0x1d
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
b _02263B5E
|
|
_022638EA:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0DC
|
|
cmp r0, #0
|
|
bne _022638FA
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
_022638FA:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02264EC8
|
|
b _02263B5E
|
|
_02263904:
|
|
add r0, r6, #0
|
|
mov r1, #0x20
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
b _02263B5E
|
|
_02263914:
|
|
ldr r0, [sp, #0x1c]
|
|
sub r0, r0, #6
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, #0x7e
|
|
bhs _02263928
|
|
cmp r0, #6
|
|
bhs _02263932
|
|
_02263928:
|
|
add r0, r6, #0
|
|
mov r1, #0x23
|
|
bl ov49_0225EF8C
|
|
b _02263B5E
|
|
_02263932:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldr r2, [sp, #0x10]
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
add r2, #0xec
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
ldrb r1, [r4, #1]
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, r1
|
|
bne _0226396A
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x1e
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
_0226396A:
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x1f
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
_0226397C:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x33
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0xa
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
_022639AA:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x32
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0xa
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
_022639D8:
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A1E4
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
add r1, r5, #0
|
|
bl ov49_02265260
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x2d
|
|
bl ov49_02264C04
|
|
str r0, [sp, #0x4c]
|
|
ldr r1, [sp, #0x4c]
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0
|
|
strh r0, [r4, #0xa]
|
|
ldr r0, [sp, #0x4c]
|
|
bl String_GetLength
|
|
str r0, [sp, #0x50]
|
|
add r0, r5, #0
|
|
bl ov49_0225CB70
|
|
ldr r1, [sp, #0x50]
|
|
mul r0, r1
|
|
lsr r1, r0, #1
|
|
add r1, #0x3c
|
|
cmp r1, #0x80
|
|
bhs _02263A22
|
|
mov r1, #0x80
|
|
b _02263A28
|
|
_02263A22:
|
|
cmp r1, #0xff
|
|
bls _02263A28
|
|
mov r1, #0xff
|
|
_02263A28:
|
|
mov r0, #0x24
|
|
lsl r1, r1, #0x18
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0x26
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
add r0, r7, #0
|
|
bl ov45_0222AFC4
|
|
b _02263B5E
|
|
_02263A42:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x2b
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0
|
|
strh r0, [r4, #0xa]
|
|
mov r0, #0x24
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x26
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
_02263A74:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x2a
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0
|
|
strh r0, [r4, #0xa]
|
|
mov r0, #0x24
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x26
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
_02263A9C:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
mov r2, #0x59
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #2
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0
|
|
strh r0, [r4, #0xa]
|
|
mov r0, #0x24
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x26
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _02263B5E
|
|
_02263AD0:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl ov49_02264D14
|
|
b _02263B5E
|
|
_02263ADA:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl ov49_02264D30
|
|
b _02263B5E
|
|
_02263AE6:
|
|
add r0, r4, #0
|
|
add r0, #0x44
|
|
ldrh r0, [r0]
|
|
cmp r0, #1
|
|
bne _02263AFE
|
|
add r1, r4, #0
|
|
add r1, #0x46
|
|
ldrh r1, [r1]
|
|
ldr r2, [r4, #0x48]
|
|
add r0, r7, #0
|
|
bl ov45_0222A704
|
|
_02263AFE:
|
|
add r0, r7, #0
|
|
bl ov45_0222AE64
|
|
add r0, r5, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
bl ov45_0222A5E8
|
|
add r0, r5, #0
|
|
bl ov49_02259FF0
|
|
add r7, r0, #0
|
|
bl ov49_02258DAC
|
|
add r1, r0, #0
|
|
add r0, r7, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
beq _02263B4C
|
|
mov r1, #1
|
|
bl ov49_02259130
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #4
|
|
bl ov49_02258E60
|
|
add r1, r0, #0
|
|
ldr r0, [sp, #0x24]
|
|
mov r2, #1
|
|
bl ov49_0225EFF0
|
|
add r0, r5, #0
|
|
bl ov49_0225A4D0
|
|
_02263B4C:
|
|
add r0, r4, #0
|
|
bl ov49_02264CF8
|
|
add r0, r6, #0
|
|
bl ov49_0225EF68
|
|
add sp, #0x54
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02263B5E:
|
|
add r0, r4, #0
|
|
bl ov49_02264F60
|
|
add r4, #0x38
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl ov49_0226529C
|
|
mov r0, #0
|
|
add sp, #0x54
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_02262FB4
|
|
|
|
thumb_func_start ov49_02263B74
|
|
ov49_02263B74: ; 0x02263B74
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_02259FE8
|
|
add r7, r0, #0
|
|
add r0, r6, #0
|
|
bl ov49_0225EF84
|
|
add r4, r0, #0
|
|
add r0, r7, #0
|
|
bl ov45_0222B034
|
|
str r0, [sp, #0x14]
|
|
add r0, r7, #0
|
|
bl ov45_0222B040
|
|
str r0, [sp, #0x10]
|
|
add r0, r7, #0
|
|
bl ov45_0222B06C
|
|
cmp r0, #0
|
|
beq _02263BC2
|
|
cmp r4, #0
|
|
beq _02263BC2
|
|
ldrh r0, [r4, #0xa]
|
|
cmp r0, #1
|
|
bne _02263BC2
|
|
add r0, r6, #0
|
|
mov r1, #0x1a
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
mov r0, #0
|
|
strh r0, [r4, #0xa]
|
|
_02263BC2:
|
|
cmp r4, #0
|
|
beq _02263BD8
|
|
add r0, r7, #0
|
|
bl ov45_0222A5C0
|
|
str r0, [sp, #0xc]
|
|
ldrb r1, [r4, #3]
|
|
add r0, r7, #0
|
|
bl ov45_0222A578
|
|
str r0, [sp, #8]
|
|
_02263BD8:
|
|
add r0, r6, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0
|
|
beq _02263C00
|
|
ldrh r0, [r4, #0xa]
|
|
cmp r0, #1
|
|
bne _02263C00
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
bne _02263C00
|
|
add r0, r6, #0
|
|
mov r1, #0x1a
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
mov r0, #0
|
|
strh r0, [r4, #0xa]
|
|
_02263C00:
|
|
add r0, r6, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0x1f
|
|
bhi _02263CCA
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02263C16: ; jump table
|
|
.short _02263C56 - _02263C16 - 2 ; case 0
|
|
.short _02263CC0 - _02263C16 - 2 ; case 1
|
|
.short _02263CF4 - _02263C16 - 2 ; case 2
|
|
.short _02263D28 - _02263C16 - 2 ; case 3
|
|
.short _02263D9A - _02263C16 - 2 ; case 4
|
|
.short _02263DC4 - _02263C16 - 2 ; case 5
|
|
.short _02263DF2 - _02263C16 - 2 ; case 6
|
|
.short _02263E2A - _02263C16 - 2 ; case 7
|
|
.short _02263E58 - _02263C16 - 2 ; case 8
|
|
.short _02263E86 - _02263C16 - 2 ; case 9
|
|
.short _02263F4C - _02263C16 - 2 ; case 10
|
|
.short _02263F88 - _02263C16 - 2 ; case 11
|
|
.short _02263FD0 - _02263C16 - 2 ; case 12
|
|
.short _0226400C - _02263C16 - 2 ; case 13
|
|
.short _0226405A - _02263C16 - 2 ; case 14
|
|
.short _0226409E - _02263C16 - 2 ; case 15
|
|
.short _022640CC - _02263C16 - 2 ; case 16
|
|
.short _0226412C - _02263C16 - 2 ; case 17
|
|
.short _0226417A - _02263C16 - 2 ; case 18
|
|
.short _022641AA - _02263C16 - 2 ; case 19
|
|
.short _022641DA - _02263C16 - 2 ; case 20
|
|
.short _0226420C - _02263C16 - 2 ; case 21
|
|
.short _02264240 - _02263C16 - 2 ; case 22
|
|
.short _022642CE - _02263C16 - 2 ; case 23
|
|
.short _0226431A - _02263C16 - 2 ; case 24
|
|
.short _02264364 - _02263C16 - 2 ; case 25
|
|
.short _02264392 - _02263C16 - 2 ; case 26
|
|
.short _022643FC - _02263C16 - 2 ; case 27
|
|
.short _0226442E - _02263C16 - 2 ; case 28
|
|
.short _0226445C - _02263C16 - 2 ; case 29
|
|
.short _02264466 - _02263C16 - 2 ; case 30
|
|
.short _02264472 - _02263C16 - 2 ; case 31
|
|
_02263C56:
|
|
add r0, r6, #0
|
|
mov r1, #0x50
|
|
bl ov49_0225EF40
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
add r0, #0x44
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x46
|
|
strh r1, [r0]
|
|
add r0, r7, #0
|
|
str r1, [r4, #0x48]
|
|
bl ov45_0222B020
|
|
str r0, [sp, #0x18]
|
|
ldr r2, [sp, #0x18]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl ov49_02264CA8
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, _02263FC8 ; =0x000005E4
|
|
bl PlaySE
|
|
add r0, r7, #0
|
|
mov r1, #9
|
|
bl ov45_0222A5E8
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, #1
|
|
bne _02263CB4
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A428
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r7, #0
|
|
bl ov45_0222B0E8
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
bl _022644DA
|
|
_02263CB4:
|
|
add r0, r6, #0
|
|
mov r1, #0x1a
|
|
bl ov49_0225EF8C
|
|
bl _022644DA
|
|
_02263CC0:
|
|
add r0, r7, #0
|
|
bl ov45_0222B0B0
|
|
cmp r0, #0
|
|
bne _02263CCE
|
|
_02263CCA:
|
|
bl _022644DA
|
|
_02263CCE:
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0xc]
|
|
add r2, r5, #0
|
|
str r0, [sp, #4]
|
|
ldrb r3, [r4, #5]
|
|
add r0, r4, #0
|
|
bl ov49_02264D4C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #2
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_02263CF4:
|
|
add r0, r7, #0
|
|
bl ov45_0222B0F8
|
|
add r0, r7, #0
|
|
mov r1, #7
|
|
bl ov45_0222B118
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #8]
|
|
add r2, r5, #0
|
|
str r0, [sp, #4]
|
|
ldrb r3, [r4, #4]
|
|
add r0, r4, #0
|
|
bl ov49_02264D4C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #3
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_02263D28:
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #4
|
|
bhi _02263D8A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02263D3A: ; jump table
|
|
.short _02263D8A - _02263D3A - 2 ; case 0
|
|
.short _02263D8A - _02263D3A - 2 ; case 1
|
|
.short _02263D70 - _02263D3A - 2 ; case 2
|
|
.short _02263D44 - _02263D3A - 2 ; case 3
|
|
.short _02263D8A - _02263D3A - 2 ; case 4
|
|
_02263D44:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
bl ov45_0222AED8
|
|
add r0, r7, #0
|
|
bl ov45_0222B028
|
|
cmp r0, #0
|
|
beq _02263D66
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
bl ov49_0225EF8C
|
|
b _022644DA
|
|
_02263D66:
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
bl ov49_0225EF8C
|
|
b _022644DA
|
|
_02263D70:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0DC
|
|
cmp r0, #0
|
|
bne _02263D80
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
_02263D80:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02264EC8
|
|
b _022644DA
|
|
_02263D8A:
|
|
add r0, r6, #0
|
|
mov r1, #0x1a
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
b _022644DA
|
|
_02263D9A:
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl ov49_02264E20
|
|
cmp r0, #1
|
|
bne _02263DBA
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #5
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_02263DBA:
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
b _022644DA
|
|
_02263DC4:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x28
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #7
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_02263DF2:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrh r1, [r4, #8]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
ldrh r2, [r4, #8]
|
|
add r0, r5, #0
|
|
bl ov49_02264C50
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #7
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_02263E2A:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x2f
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #9
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_02263E58:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x35
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #9
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_02263E86:
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #4
|
|
bhi _02263F3C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02263E98: ; jump table
|
|
.short _02263F2C - _02263E98 - 2 ; case 0
|
|
.short _02263F3C - _02263E98 - 2 ; case 1
|
|
.short _02263F12 - _02263E98 - 2 ; case 2
|
|
.short _02263EA2 - _02263E98 - 2 ; case 3
|
|
.short _02263F3C - _02263E98 - 2 ; case 4
|
|
_02263EA2:
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #3
|
|
beq _02263EB2
|
|
cmp r0, #4
|
|
beq _02263ECE
|
|
cmp r0, #5
|
|
beq _02263EEA
|
|
b _02263EFC
|
|
_02263EB2:
|
|
add r0, r6, #0
|
|
mov r1, #0xa
|
|
bl ov49_0225EF8C
|
|
add r0, r7, #0
|
|
bl ov45_0222B0BC
|
|
mov r0, #1
|
|
str r0, [r4, #0x4c]
|
|
ldr r1, [sp, #8]
|
|
add r0, r4, #0
|
|
bl ov49_02264F78
|
|
b _02263F0A
|
|
_02263ECE:
|
|
add r0, r6, #0
|
|
mov r1, #0xe
|
|
bl ov49_0225EF8C
|
|
add r0, r7, #0
|
|
bl ov45_0222B0BC
|
|
mov r0, #1
|
|
str r0, [r4, #0x4c]
|
|
ldr r1, [sp, #8]
|
|
add r0, r4, #0
|
|
bl ov49_02264F78
|
|
b _02263F0A
|
|
_02263EEA:
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
bl ov45_0222AED8
|
|
add r0, r6, #0
|
|
mov r1, #0xf
|
|
bl ov49_0225EF8C
|
|
b _02263F0A
|
|
_02263EFC:
|
|
add r0, r6, #0
|
|
mov r1, #0x1a
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
_02263F0A:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
b _022644DA
|
|
_02263F12:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0DC
|
|
cmp r0, #0
|
|
bne _02263F22
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
_02263F22:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02264EC8
|
|
b _022644DA
|
|
_02263F2C:
|
|
add r0, r6, #0
|
|
mov r1, #0x1b
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
b _022644DA
|
|
_02263F3C:
|
|
add r0, r6, #0
|
|
mov r1, #0x1a
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
b _022644DA
|
|
_02263F4C:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl ov49_02264E90
|
|
ldrb r1, [r4, #3]
|
|
ldr r2, _02263FCC ; =0x000001FF
|
|
add r0, r5, #0
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0xb
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_02263F88:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl ov49_02264E90
|
|
mov r2, #2
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #8
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0xc
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
nop
|
|
_02263FC8: .word 0x000005E4
|
|
_02263FCC: .word 0x000001FF
|
|
_02263FD0:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl ov49_02264E90
|
|
ldrb r1, [r4, #3]
|
|
ldr r2, _02264348 ; =0x00000201
|
|
add r0, r5, #0
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0xd
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_0226400C:
|
|
ldr r0, _0226434C ; =0x000005BF
|
|
bl PlaySE
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
ldr r2, _02264350 ; =0x00000202
|
|
add r0, r5, #0
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #8
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
add r0, r7, #0
|
|
mov r1, #2
|
|
bl ov45_0222AED8
|
|
add r0, r7, #0
|
|
bl ov45_0222A5C0
|
|
bl ov45_0222AAC8
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A478
|
|
b _022644DA
|
|
_0226405A:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl ov49_02264E90
|
|
ldrb r1, [r4, #3]
|
|
ldr r2, _02264354 ; =0x000001FB
|
|
add r0, r5, #0
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x1b
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
add r0, r7, #0
|
|
mov r1, #2
|
|
bl ov45_0222AED8
|
|
b _022644DA
|
|
_0226409E:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
ldr r2, _02264358 ; =0x000002AF
|
|
add r0, r5, #0
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x10
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_022640CC:
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #4
|
|
bhi _0226411C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022640DE: ; jump table
|
|
.short _0226411C - _022640DE - 2 ; case 0
|
|
.short _0226411C - _022640DE - 2 ; case 1
|
|
.short _02264102 - _022640DE - 2 ; case 2
|
|
.short _022640E8 - _022640DE - 2 ; case 3
|
|
.short _0226411C - _022640DE - 2 ; case 4
|
|
_022640E8:
|
|
add r0, r6, #0
|
|
mov r1, #0x11
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
add r0, r7, #0
|
|
bl ov45_0222B0BC
|
|
mov r0, #1
|
|
str r0, [r4, #0x4c]
|
|
b _022644DA
|
|
_02264102:
|
|
add r0, r5, #0
|
|
bl ov49_0225A0DC
|
|
cmp r0, #0
|
|
bne _02264112
|
|
add r0, r5, #0
|
|
bl ov49_0225A0BC
|
|
_02264112:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02264EC8
|
|
b _022644DA
|
|
_0226411C:
|
|
add r0, r6, #0
|
|
mov r1, #0x1a
|
|
bl ov49_0225EF8C
|
|
add r0, r5, #0
|
|
bl ov49_0225A0CC
|
|
b _022644DA
|
|
_0226412C:
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #6
|
|
blo _02264136
|
|
cmp r0, #0x7e
|
|
blo _02264140
|
|
_02264136:
|
|
add r0, r6, #0
|
|
mov r1, #0x1a
|
|
bl ov49_0225EF8C
|
|
b _022644DA
|
|
_02264140:
|
|
sub r0, r0, #6
|
|
strb r0, [r4, #2]
|
|
ldrb r0, [r4, #2]
|
|
mov r2, #0
|
|
lsr r0, r0, #2
|
|
strb r0, [r4]
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
bl ov49_0225A334
|
|
ldrb r2, [r4]
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
add r2, #0x37
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x12
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_0226417A:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r2, [r4]
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
add r2, #0x55
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x13
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_022641AA:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r2, [r4, #2]
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
add r2, #0xec
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x14
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_022641DA:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r3, [r4]
|
|
ldr r2, _0226435C ; =0x000001DD
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
add r2, r3, r2
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x15
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_0226420C:
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldrb r3, [r4]
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
lsl r3, r3, #2
|
|
add r1, r5, #0
|
|
mov r2, #5
|
|
add r3, #0x73
|
|
bl ov49_02264F9C
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
add r1, #0x14
|
|
add r3, r2, #0
|
|
bl ov49_0225A174
|
|
add r0, r4, #0
|
|
bl ov49_02264F10
|
|
add r0, r6, #0
|
|
mov r1, #0x16
|
|
bl ov49_0225EF8C
|
|
b _022644DA
|
|
_02264240:
|
|
add r0, r5, #0
|
|
bl ov49_0225A1D4
|
|
cmp r0, #4
|
|
bhi _0226429A
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02264256: ; jump table
|
|
.short _02264260 - _02264256 - 2 ; case 0
|
|
.short _02264260 - _02264256 - 2 ; case 1
|
|
.short _02264260 - _02264256 - 2 ; case 2
|
|
.short _02264260 - _02264256 - 2 ; case 3
|
|
.short _02264282 - _02264256 - 2 ; case 4
|
|
_02264260:
|
|
ldrb r1, [r4]
|
|
lsl r1, r1, #2
|
|
add r0, r0, r1
|
|
strb r0, [r4, #1]
|
|
ldrb r1, [r4, #1]
|
|
add r0, r7, #0
|
|
add r1, r1, #6
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl ov45_0222AED8
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
mov r0, #1
|
|
b _022642A4
|
|
_02264282:
|
|
mov r0, #0x7e
|
|
strb r0, [r4, #1]
|
|
ldrb r1, [r4, #1]
|
|
add r0, r7, #0
|
|
bl ov45_0222AED8
|
|
add r0, r6, #0
|
|
mov r1, #0x1c
|
|
bl ov49_0225EF8C
|
|
mov r0, #1
|
|
b _022642A4
|
|
_0226429A:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02264F24
|
|
mov r0, #0
|
|
_022642A4:
|
|
cmp r0, #0
|
|
bne _022642AA
|
|
b _022644DA
|
|
_022642AA:
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A1E4
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
add r1, r5, #0
|
|
bl ov49_02265260
|
|
add r0, r4, #0
|
|
bl ov49_02264F1C
|
|
ldr r1, [sp, #8]
|
|
add r0, r4, #0
|
|
bl ov49_02264F78
|
|
b _022644DA
|
|
_022642CE:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r3, [r4, #1]
|
|
ldr r2, _02264360 ; =0x00000165
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
add r2, r3, r2
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
ldrb r1, [r4, #2]
|
|
ldrb r0, [r4, #1]
|
|
cmp r1, r0
|
|
bne _02264308
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x18
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_02264308:
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x19
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_0226431A:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x33
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x19
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
.balign 4, 0
|
|
_02264348: .word 0x00000201
|
|
_0226434C: .word 0x000005BF
|
|
_02264350: .word 0x00000202
|
|
_02264354: .word 0x000001FB
|
|
_02264358: .word 0x000002AF
|
|
_0226435C: .word 0x000001DD
|
|
_02264360: .word 0x00000165
|
|
_02264364:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x34
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #8
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_02264392:
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A1E4
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
add r1, r5, #0
|
|
bl ov49_02265260
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x2d
|
|
bl ov49_02264C04
|
|
str r0, [sp, #0x20]
|
|
ldr r1, [sp, #0x20]
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0
|
|
strh r0, [r4, #0xa]
|
|
ldr r0, [sp, #0x20]
|
|
bl String_GetLength
|
|
str r0, [sp, #0x24]
|
|
add r0, r5, #0
|
|
bl ov49_0225CB70
|
|
ldr r1, [sp, #0x24]
|
|
mul r0, r1
|
|
lsr r1, r0, #1
|
|
add r1, #0x3c
|
|
cmp r1, #0x80
|
|
bhs _022643DC
|
|
mov r1, #0x80
|
|
b _022643E2
|
|
_022643DC:
|
|
cmp r1, #0xff
|
|
bls _022643E2
|
|
mov r1, #0xff
|
|
_022643E2:
|
|
mov r0, #0x1d
|
|
lsl r1, r1, #0x18
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0x1f
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
add r0, r7, #0
|
|
bl ov45_0222AFC4
|
|
b _022644DA
|
|
_022643FC:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x2b
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0
|
|
strh r0, [r4, #0xa]
|
|
mov r0, #0x1d
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x1f
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_0226442E:
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r4, #3]
|
|
add r0, r5, #0
|
|
mov r2, #0x31
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x80
|
|
mov r2, #0x1b
|
|
add r3, r6, #0
|
|
bl ov49_02264CFC
|
|
b _022644DA
|
|
_0226445C:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl ov49_02264D14
|
|
b _022644DA
|
|
_02264466:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl ov49_02264D30
|
|
b _022644DA
|
|
_02264472:
|
|
add r0, r4, #0
|
|
add r0, #0x44
|
|
ldrh r0, [r0]
|
|
cmp r0, #1
|
|
bne _0226448A
|
|
add r1, r4, #0
|
|
add r1, #0x46
|
|
ldrh r1, [r1]
|
|
ldr r2, [r4, #0x48]
|
|
add r0, r7, #0
|
|
bl ov45_0222A704
|
|
_0226448A:
|
|
ldr r0, [r4, #0x4c]
|
|
cmp r0, #0
|
|
bne _02264498
|
|
ldrb r1, [r4, #3]
|
|
add r0, r7, #0
|
|
bl ov45_0222B0D8
|
|
_02264498:
|
|
add r0, r7, #0
|
|
bl ov45_0222AE64
|
|
add r0, r5, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r4, #0
|
|
bl ov49_02264CF8
|
|
add r0, r6, #0
|
|
bl ov49_0225EF68
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
bl ov45_0222A5E8
|
|
add r0, r5, #0
|
|
bl ov49_02259FF0
|
|
add r4, r0, #0
|
|
bl ov49_02258DAC
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
add r0, r5, #0
|
|
bl ov49_0225A4D0
|
|
add sp, #0x28
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022644DA:
|
|
add r0, r4, #0
|
|
bl ov49_02264F60
|
|
mov r0, #0
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02263B74
|
|
|
|
thumb_func_start ov49_022644E8
|
|
ov49_022644E8: ; 0x022644E8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
bl ov49_0225EF84
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
add r7, r0, #0
|
|
add r0, r6, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0x18
|
|
bls _0226450A
|
|
b _022649EA
|
|
_0226450A:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02264516: ; jump table
|
|
.short _02264548 - _02264516 - 2 ; case 0
|
|
.short _02264588 - _02264516 - 2 ; case 1
|
|
.short _022645A8 - _02264516 - 2 ; case 2
|
|
.short _022645C8 - _02264516 - 2 ; case 3
|
|
.short _022645E8 - _02264516 - 2 ; case 4
|
|
.short _02264608 - _02264516 - 2 ; case 5
|
|
.short _02264632 - _02264516 - 2 ; case 6
|
|
.short _022646E0 - _02264516 - 2 ; case 7
|
|
.short _02264700 - _02264516 - 2 ; case 8
|
|
.short _0226471E - _02264516 - 2 ; case 9
|
|
.short _02264796 - _02264516 - 2 ; case 10
|
|
.short _022647C0 - _02264516 - 2 ; case 11
|
|
.short _022647EA - _02264516 - 2 ; case 12
|
|
.short _02264814 - _02264516 - 2 ; case 13
|
|
.short _02264834 - _02264516 - 2 ; case 14
|
|
.short _02264854 - _02264516 - 2 ; case 15
|
|
.short _02264874 - _02264516 - 2 ; case 16
|
|
.short _02264898 - _02264516 - 2 ; case 17
|
|
.short _0226490E - _02264516 - 2 ; case 18
|
|
.short _0226492E - _02264516 - 2 ; case 19
|
|
.short _0226494E - _02264516 - 2 ; case 20
|
|
.short _0226496E - _02264516 - 2 ; case 21
|
|
.short _0226498E - _02264516 - 2 ; case 22
|
|
.short _022649AE - _02264516 - 2 ; case 23
|
|
.short _022649C2 - _02264516 - 2 ; case 24
|
|
_02264548:
|
|
add r0, r6, #0
|
|
mov r1, #0x28
|
|
bl ov49_0225EF40
|
|
ldr r0, _02264894 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r7, #0
|
|
bl ov45_0222A330
|
|
cmp r0, #1
|
|
bne _0226456A
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_0226456A:
|
|
add r0, r7, #0
|
|
bl ov45_0222A374
|
|
cmp r0, #1
|
|
bne _0226457E
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_0226457E:
|
|
add r0, r6, #0
|
|
mov r1, #3
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_02264588:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x4e
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x18
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_022645A8:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #3
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x18
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_022645C8:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0xf
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_022645E8:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x10
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #5
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_02264608:
|
|
add r0, r5, #4
|
|
add r1, r4, #0
|
|
bl ov49_02265110
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0xf
|
|
mov r2, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, r5, #4
|
|
add r3, r2, #0
|
|
bl ov49_0225A1A4
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_02264632:
|
|
add r0, r4, #0
|
|
mov r7, #0
|
|
bl ov49_0225A1D4
|
|
cmp r0, #7
|
|
bhi _0226465A
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_0226464A: ; jump table
|
|
.short _02264664 - _0226464A - 2 ; case 0
|
|
.short _02264670 - _0226464A - 2 ; case 1
|
|
.short _0226467C - _0226464A - 2 ; case 2
|
|
.short _02264688 - _0226464A - 2 ; case 3
|
|
.short _02264694 - _0226464A - 2 ; case 4
|
|
.short _022646A0 - _0226464A - 2 ; case 5
|
|
.short _022646AC - _0226464A - 2 ; case 6
|
|
.short _022646BE - _0226464A - 2 ; case 7
|
|
_0226465A:
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _022646B8
|
|
b _022646C8
|
|
_02264664:
|
|
add r0, r6, #0
|
|
mov r1, #7
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _022646C8
|
|
_02264670:
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _022646C8
|
|
_0226467C:
|
|
add r0, r6, #0
|
|
mov r1, #0xd
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _022646C8
|
|
_02264688:
|
|
add r0, r6, #0
|
|
mov r1, #0xe
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _022646C8
|
|
_02264694:
|
|
add r0, r6, #0
|
|
mov r1, #0xf
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _022646C8
|
|
_022646A0:
|
|
add r0, r6, #0
|
|
mov r1, #0x15
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _022646C8
|
|
_022646AC:
|
|
add r0, r6, #0
|
|
mov r1, #0x10
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _022646C8
|
|
_022646B8:
|
|
ldr r0, _02264894 ; =0x000005DC
|
|
bl PlaySE
|
|
_022646BE:
|
|
add r0, r6, #0
|
|
mov r1, #0x16
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
_022646C8:
|
|
cmp r7, #1
|
|
bne _02264780
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A1E4
|
|
add r0, r5, #4
|
|
add r1, r4, #0
|
|
bl ov49_02265260
|
|
b _022649EA
|
|
_022646E0:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x17
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_02264700:
|
|
add r0, r5, #4
|
|
add r1, r4, #0
|
|
bl ov49_022651E8
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
add r1, r5, #4
|
|
add r3, r2, #0
|
|
bl ov49_0225A174
|
|
add r0, r6, #0
|
|
mov r1, #9
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_0226471E:
|
|
add r0, r4, #0
|
|
mov r7, #0
|
|
bl ov49_0225A1D4
|
|
cmp r0, #3
|
|
bhi _0226473E
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02264736: ; jump table
|
|
.short _02264748 - _02264736 - 2 ; case 0
|
|
.short _02264754 - _02264736 - 2 ; case 1
|
|
.short _02264760 - _02264736 - 2 ; case 2
|
|
.short _02264772 - _02264736 - 2 ; case 3
|
|
_0226473E:
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0226476C
|
|
b _0226477C
|
|
_02264748:
|
|
add r0, r6, #0
|
|
mov r1, #0xa
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _0226477C
|
|
_02264754:
|
|
add r0, r6, #0
|
|
mov r1, #0xb
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _0226477C
|
|
_02264760:
|
|
add r0, r6, #0
|
|
mov r1, #0xc
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _0226477C
|
|
_0226476C:
|
|
ldr r0, _02264894 ; =0x000005DC
|
|
bl PlaySE
|
|
_02264772:
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
_0226477C:
|
|
cmp r7, #1
|
|
beq _02264782
|
|
_02264780:
|
|
b _022649EA
|
|
_02264782:
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A1E4
|
|
add r0, r5, #4
|
|
add r1, r4, #0
|
|
bl ov49_02265260
|
|
b _022649EA
|
|
_02264796:
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A37C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x18
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_022647C0:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x19
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_022647EA:
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x1a
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_02264814:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x12
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_02264834:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x13
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_02264854:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x14
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_02264874:
|
|
add r0, r5, #4
|
|
add r1, r4, #0
|
|
bl ov49_02265170
|
|
mov r2, #0
|
|
add r0, r4, #0
|
|
add r1, r5, #4
|
|
add r3, r2, #0
|
|
bl ov49_0225A174
|
|
add r0, r6, #0
|
|
mov r1, #0x11
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
nop
|
|
_02264894: .word 0x000005DC
|
|
_02264898:
|
|
add r0, r4, #0
|
|
mov r7, #0
|
|
bl ov49_0225A1D4
|
|
cmp r0, #3
|
|
bhi _022648B8
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_022648B0: ; jump table
|
|
.short _022648C2 - _022648B0 - 2 ; case 0
|
|
.short _022648CE - _022648B0 - 2 ; case 1
|
|
.short _022648DA - _022648B0 - 2 ; case 2
|
|
.short _022648EC - _022648B0 - 2 ; case 3
|
|
_022648B8:
|
|
mov r1, #1
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _022648E6
|
|
b _022648F6
|
|
_022648C2:
|
|
add r0, r6, #0
|
|
mov r1, #0x12
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _022648F6
|
|
_022648CE:
|
|
add r0, r6, #0
|
|
mov r1, #0x13
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _022648F6
|
|
_022648DA:
|
|
add r0, r6, #0
|
|
mov r1, #0x14
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
b _022648F6
|
|
_022648E6:
|
|
ldr r0, _022649F0 ; =0x000005DC
|
|
bl PlaySE
|
|
_022648EC:
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
bl ov49_0225EF8C
|
|
mov r7, #1
|
|
_022648F6:
|
|
cmp r7, #1
|
|
bne _022649EA
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A1E4
|
|
add r0, r5, #4
|
|
add r1, r4, #0
|
|
bl ov49_02265260
|
|
b _022649EA
|
|
_0226490E:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x1b
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_0226492E:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x1c
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_0226494E:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x1d
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_0226496E:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x1e
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_0226498E:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x16
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #0x18
|
|
str r0, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_022649AE:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #0
|
|
beq _022649EA
|
|
ldr r1, [r5]
|
|
add r0, r6, #0
|
|
bl ov49_0225EF8C
|
|
b _022649EA
|
|
_022649C2:
|
|
add r0, r6, #0
|
|
bl ov49_0225EF68
|
|
add r0, r4, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
add r4, r0, #0
|
|
bl ov49_02258DAC
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_022649EA:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022649F0: .word 0x000005DC
|
|
thumb_func_end ov49_022644E8
|
|
|
|
thumb_func_start ov49_022649F4
|
|
ov49_022649F4: ; 0x022649F4
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
bl ov49_0225EF84
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #0
|
|
beq _02264A1E
|
|
cmp r0, #1
|
|
bne _02264A16
|
|
b _02264B56
|
|
_02264A16:
|
|
cmp r0, #2
|
|
bne _02264A1C
|
|
b _02264B6A
|
|
_02264A1C:
|
|
b _02264B8A
|
|
_02264A1E:
|
|
ldr r0, _02264B90 ; =0x000005DC
|
|
bl PlaySE
|
|
add r0, r6, #0
|
|
bl ov45_0222A330
|
|
cmp r0, #0
|
|
bne _02264A54
|
|
add r0, r6, #0
|
|
bl ov45_0222A374
|
|
cmp r0, #1
|
|
bne _02264A70
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x4e
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
b _02264B8A
|
|
_02264A54:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #3
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
b _02264B8A
|
|
_02264A70:
|
|
add r0, r6, #0
|
|
bl ov45_0222B134
|
|
cmp r0, #8
|
|
bhi _02264B3A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02264A86: ; jump table
|
|
.short _02264A98 - _02264A86 - 2 ; case 0
|
|
.short _02264AB0 - _02264A86 - 2 ; case 1
|
|
.short _02264AC8 - _02264A86 - 2 ; case 2
|
|
.short _02264AE0 - _02264A86 - 2 ; case 3
|
|
.short _02264AF8 - _02264A86 - 2 ; case 4
|
|
.short _02264B10 - _02264A86 - 2 ; case 5
|
|
.short _02264B1E - _02264A86 - 2 ; case 6
|
|
.short _02264B2C - _02264A86 - 2 ; case 7
|
|
.short _02264B3A - _02264A86 - 2 ; case 8
|
|
_02264A98:
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov49_0225A37C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x49
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _02264B46
|
|
_02264AB0:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x49
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _02264B46
|
|
_02264AC8:
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x49
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _02264B46
|
|
_02264AE0:
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x4d
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _02264B46
|
|
_02264AF8:
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
mov r2, #0
|
|
bl ov49_0225A37C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x4d
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _02264B46
|
|
_02264B10:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x4a
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _02264B46
|
|
_02264B1E:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x4f
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _02264B46
|
|
_02264B2C:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x4b
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _02264B46
|
|
_02264B3A:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x4c
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
_02264B46:
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov49_0225EF8C
|
|
b _02264B8A
|
|
_02264B56:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #0
|
|
beq _02264B8A
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl ov49_0225EF8C
|
|
b _02264B8A
|
|
_02264B6A:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
add r4, r0, #0
|
|
bl ov49_02258DAC
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_02264B8A:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02264B90: .word 0x000005DC
|
|
thumb_func_end ov49_022649F4
|
|
|
|
thumb_func_start ov49_02264B94
|
|
ov49_02264B94: ; 0x02264B94
|
|
push {r3, lr}
|
|
sub sp, #8
|
|
bl ov45_0222A9C8
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, sp, #0
|
|
ldrb r0, [r0, #4]
|
|
cmp r0, #0x18
|
|
bhi _02264BF8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02264BB4: ; jump table
|
|
.short _02264BF2 - _02264BB4 - 2 ; case 0
|
|
.short _02264BF2 - _02264BB4 - 2 ; case 1
|
|
.short _02264BF2 - _02264BB4 - 2 ; case 2
|
|
.short _02264BF2 - _02264BB4 - 2 ; case 3
|
|
.short _02264BE6 - _02264BB4 - 2 ; case 4
|
|
.short _02264BE6 - _02264BB4 - 2 ; case 5
|
|
.short _02264BE6 - _02264BB4 - 2 ; case 6
|
|
.short _02264BE6 - _02264BB4 - 2 ; case 7
|
|
.short _02264BE6 - _02264BB4 - 2 ; case 8
|
|
.short _02264BE6 - _02264BB4 - 2 ; case 9
|
|
.short _02264BE6 - _02264BB4 - 2 ; case 10
|
|
.short _02264BEC - _02264BB4 - 2 ; case 11
|
|
.short _02264BEC - _02264BB4 - 2 ; case 12
|
|
.short _02264BEC - _02264BB4 - 2 ; case 13
|
|
.short _02264BEC - _02264BB4 - 2 ; case 14
|
|
.short _02264BEC - _02264BB4 - 2 ; case 15
|
|
.short _02264BEC - _02264BB4 - 2 ; case 16
|
|
.short _02264BEC - _02264BB4 - 2 ; case 17
|
|
.short _02264BEC - _02264BB4 - 2 ; case 18
|
|
.short _02264BF2 - _02264BB4 - 2 ; case 19
|
|
.short _02264BF2 - _02264BB4 - 2 ; case 20
|
|
.short _02264BF2 - _02264BB4 - 2 ; case 21
|
|
.short _02264BF2 - _02264BB4 - 2 ; case 22
|
|
.short _02264BF2 - _02264BB4 - 2 ; case 23
|
|
.short _02264BF2 - _02264BB4 - 2 ; case 24
|
|
_02264BE6:
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_02264BEC:
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02264BF2:
|
|
add sp, #8
|
|
mov r0, #2
|
|
pop {r3, pc}
|
|
_02264BF8:
|
|
bl GF_AssertFail
|
|
mov r0, #1
|
|
add sp, #8
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02264B94
|
|
|
|
thumb_func_start ov49_02264C04
|
|
ov49_02264C04: ; 0x02264C04
|
|
push {r4, r5, r6, lr}
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
bl ov49_02259FE8
|
|
add r1, r6, #0
|
|
bl ov45_0222AB28
|
|
cmp r0, #1
|
|
bne _02264C36
|
|
ldr r3, _02264C44 ; =ov49_02269EC4
|
|
ldr r0, _02264C48 ; =0x00000163
|
|
mov r2, #0
|
|
_02264C20:
|
|
ldrh r1, [r3]
|
|
cmp r4, r1
|
|
bne _02264C2E
|
|
ldr r0, _02264C4C ; =ov49_02269EC6
|
|
lsl r1, r2, #2
|
|
ldrh r4, [r0, r1]
|
|
b _02264C36
|
|
_02264C2E:
|
|
add r2, r2, #1
|
|
add r3, r3, #4
|
|
cmp r2, r0
|
|
blo _02264C20
|
|
_02264C36:
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
add r2, r4, #0
|
|
bl ov49_0225A30C
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02264C44: .word ov49_02269EC4
|
|
_02264C48: .word 0x00000163
|
|
_02264C4C: .word ov49_02269EC6
|
|
thumb_func_end ov49_02264C04
|
|
|
|
thumb_func_start ov49_02264C50
|
|
ov49_02264C50: ; 0x02264C50
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
add r6, r2, #0
|
|
bl ov49_02259FE8
|
|
add r7, r0, #0
|
|
add r1, r5, #0
|
|
bl ov45_0222AB28
|
|
add r5, r0, #0
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl ov45_0222AB28
|
|
mov r2, #0x29
|
|
cmp r5, #1
|
|
bne _02264C7C
|
|
cmp r0, #1
|
|
bne _02264C7C
|
|
ldr r2, _02264C9C ; =0x000002AA
|
|
b _02264C92
|
|
_02264C7C:
|
|
cmp r5, #1
|
|
bne _02264C88
|
|
cmp r0, #0
|
|
bne _02264C88
|
|
ldr r2, _02264CA0 ; =0x00000226
|
|
b _02264C92
|
|
_02264C88:
|
|
cmp r5, #0
|
|
bne _02264C92
|
|
cmp r0, #1
|
|
bne _02264C92
|
|
ldr r2, _02264CA4 ; =0x000002A9
|
|
_02264C92:
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl ov49_0225A30C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02264C9C: .word 0x000002AA
|
|
_02264CA0: .word 0x00000226
|
|
_02264CA4: .word 0x000002A9
|
|
thumb_func_end ov49_02264C50
|
|
|
|
thumb_func_start ov49_02264CA8
|
|
ov49_02264CA8: ; 0x02264CA8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r6, r2, #0
|
|
mvn r0, r0
|
|
add r4, r1, #0
|
|
cmp r6, r0
|
|
bne _02264CBC
|
|
bl GF_AssertFail
|
|
_02264CBC:
|
|
strb r6, [r5, #3]
|
|
add r0, r4, #0
|
|
bl ov45_0222A53C
|
|
strh r0, [r5, #8]
|
|
mov r0, #1
|
|
strh r0, [r5, #0xa]
|
|
add r0, r4, #0
|
|
bl ov45_0222A5C0
|
|
add r6, r0, #0
|
|
ldrb r1, [r5, #3]
|
|
add r0, r4, #0
|
|
bl ov45_0222A578
|
|
add r4, r0, #0
|
|
bne _02264CE2
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02264CE2:
|
|
add r0, r6, #0
|
|
bl ov49_02264B94
|
|
strb r0, [r5, #4]
|
|
add r0, r4, #0
|
|
bl ov49_02264B94
|
|
strb r0, [r5, #5]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02264CA8
|
|
|
|
thumb_func_start ov49_02264CF8
|
|
ov49_02264CF8: ; 0x02264CF8
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02264CF8
|
|
|
|
thumb_func_start ov49_02264CFC
|
|
ov49_02264CFC: ; 0x02264CFC
|
|
strb r1, [r0, #6]
|
|
ldr r1, _02264D0C ; =0xFFFFFFF0
|
|
strb r2, [r0, #7]
|
|
add r0, r3, #0
|
|
add r1, sp
|
|
ldr r3, _02264D10 ; =ov49_0225EF8C
|
|
ldrb r1, [r1, #0x10]
|
|
bx r3
|
|
.balign 4, 0
|
|
_02264D0C: .word 0xFFFFFFF0
|
|
_02264D10: .word ov49_0225EF8C
|
|
thumb_func_end ov49_02264CFC
|
|
|
|
thumb_func_start ov49_02264D14
|
|
ov49_02264D14: ; 0x02264D14
|
|
push {r3, lr}
|
|
add r2, r0, #0
|
|
ldrb r0, [r2, #6]
|
|
cmp r0, #0
|
|
beq _02264D24
|
|
sub r0, r0, #1
|
|
strb r0, [r2, #6]
|
|
pop {r3, pc}
|
|
_02264D24:
|
|
add r0, r1, #0
|
|
ldrb r1, [r2, #7]
|
|
bl ov49_0225EF8C
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02264D14
|
|
|
|
thumb_func_start ov49_02264D30
|
|
ov49_02264D30: ; 0x02264D30
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, r2, #0
|
|
add r4, r1, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #0
|
|
beq _02264D48
|
|
ldrb r1, [r5, #7]
|
|
add r0, r4, #0
|
|
bl ov49_0225EF8C
|
|
_02264D48:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02264D30
|
|
|
|
thumb_func_start ov49_02264D4C
|
|
ov49_02264D4C: ; 0x02264D4C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r2, #0
|
|
add r4, r3, #0
|
|
ldr r3, [sp, #0x10]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
bl ov49_02264D9C
|
|
ldr r3, [sp, #0x14]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r2, r4, #0
|
|
bl ov49_02264D9C
|
|
ldr r0, [sp, #0x10]
|
|
bl ov45_0222AA10
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x14]
|
|
bl ov45_0222AA10
|
|
add r3, r0, #0
|
|
ldr r2, _02264D98 ; =ov49_02269E44
|
|
lsl r4, r4, #4
|
|
lsl r3, r3, #1
|
|
add r2, r2, r4
|
|
ldrh r2, [r3, r2]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov49_0225A08C
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02264D98: .word ov49_02269E44
|
|
thumb_func_end ov49_02264D4C
|
|
|
|
thumb_func_start ov49_02264D9C
|
|
ov49_02264D9C: ; 0x02264D9C
|
|
push {r4, r5, r6, lr}
|
|
add r4, r0, #0
|
|
add r0, r3, #0
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
bl ov45_0222AA10
|
|
cmp r0, #7
|
|
bhi _02264E12
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02264DBA: ; jump table
|
|
.short _02264E12 - _02264DBA - 2 ; case 0
|
|
.short _02264DCA - _02264DBA - 2 ; case 1
|
|
.short _02264DD6 - _02264DBA - 2 ; case 2
|
|
.short _02264DE2 - _02264DBA - 2 ; case 3
|
|
.short _02264DEE - _02264DBA - 2 ; case 4
|
|
.short _02264DFA - _02264DBA - 2 ; case 5
|
|
.short _02264E12 - _02264DBA - 2 ; case 6
|
|
.short _02264E06 - _02264DBA - 2 ; case 7
|
|
_02264DCA:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_0225A3AC
|
|
pop {r4, r5, r6, pc}
|
|
_02264DD6:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_0225A3BC
|
|
pop {r4, r5, r6, pc}
|
|
_02264DE2:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_0225A3CC
|
|
pop {r4, r5, r6, pc}
|
|
_02264DEE:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_0225A3DC
|
|
pop {r4, r5, r6, pc}
|
|
_02264DFA:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_0225A3EC
|
|
pop {r4, r5, r6, pc}
|
|
_02264E06:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_0225A3FC
|
|
pop {r4, r5, r6, pc}
|
|
_02264E12:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_0225A3BC
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02264D9C
|
|
|
|
thumb_func_start ov49_02264E20
|
|
ov49_02264E20: ; 0x02264E20
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
add r7, r2, #0
|
|
bl ov45_0222A5C0
|
|
str r0, [sp]
|
|
ldrb r1, [r5, #3]
|
|
add r0, r6, #0
|
|
bl ov45_0222A578
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
bl ov45_0222AA28
|
|
cmp r0, #0
|
|
bne _02264E48
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02264E48:
|
|
add r0, r6, #0
|
|
bl ov45_0222AA28
|
|
cmp r0, #0
|
|
bne _02264E56
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02264E56:
|
|
ldrb r1, [r5, #5]
|
|
ldrb r0, [r5, #4]
|
|
cmp r0, r1
|
|
beq _02264E8C
|
|
cmp r1, #0
|
|
beq _02264E6C
|
|
cmp r1, #1
|
|
beq _02264E70
|
|
cmp r1, #2
|
|
beq _02264E74
|
|
b _02264E76
|
|
_02264E6C:
|
|
mov r4, #0x27
|
|
b _02264E76
|
|
_02264E70:
|
|
mov r4, #0x25
|
|
b _02264E76
|
|
_02264E74:
|
|
mov r4, #0x26
|
|
_02264E76:
|
|
add r0, r7, #0
|
|
mov r1, #3
|
|
add r2, r4, #0
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r7, #0
|
|
bl ov49_0225A08C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02264E8C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_02264E20
|
|
|
|
thumb_func_start ov49_02264E90
|
|
ov49_02264E90: ; 0x02264E90
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bl ov45_0222A5C0
|
|
str r0, [sp]
|
|
ldrb r1, [r5, #3]
|
|
add r0, r4, #0
|
|
bl ov45_0222A578
|
|
ldr r1, [sp, #0x18]
|
|
cmp r1, #0
|
|
bne _02264EB6
|
|
bl ov45_0222AAC8
|
|
b _02264EBC
|
|
_02264EB6:
|
|
ldr r0, [sp]
|
|
bl ov45_0222AAC8
|
|
_02264EBC:
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl ov49_0225A39C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_02264E90
|
|
|
|
thumb_func_start ov49_02264EC8
|
|
ov49_02264EC8: ; 0x02264EC8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
bl ov45_0222B094
|
|
ldr r1, _02264F0C ; =0x000001C2
|
|
cmp r0, r1
|
|
bne _02264F08
|
|
add r0, r4, #0
|
|
bl ov49_0225A0CC
|
|
ldrb r1, [r5, #3]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
mov r2, #0xab
|
|
ldrb r1, [r5, #3]
|
|
add r0, r4, #0
|
|
lsl r2, r2, #2
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r4, #0
|
|
bl ov49_0225A0BC
|
|
_02264F08:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02264F0C: .word 0x000001C2
|
|
thumb_func_end ov49_02264EC8
|
|
|
|
thumb_func_start ov49_02264F10
|
|
ov49_02264F10: ; 0x02264F10
|
|
mov r1, #0
|
|
strh r1, [r0, #0xe]
|
|
mov r1, #1
|
|
strb r1, [r0, #0xd]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02264F10
|
|
|
|
thumb_func_start ov49_02264F1C
|
|
ov49_02264F1C: ; 0x02264F1C
|
|
mov r1, #0
|
|
strh r1, [r0, #0xe]
|
|
strb r1, [r0, #0xd]
|
|
bx lr
|
|
thumb_func_end ov49_02264F1C
|
|
|
|
thumb_func_start ov49_02264F24
|
|
ov49_02264F24: ; 0x02264F24
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldrb r0, [r5, #0xd]
|
|
add r4, r1, #0
|
|
cmp r0, #1
|
|
bne _02264F56
|
|
mov r0, #0xe
|
|
ldrsh r1, [r5, r0]
|
|
ldr r0, _02264F58 ; =0x000001C2
|
|
cmp r1, r0
|
|
bne _02264F56
|
|
ldrb r1, [r5, #3]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov49_0225A334
|
|
ldrb r1, [r5, #3]
|
|
ldr r2, _02264F5C ; =0x000002AB
|
|
add r0, r4, #0
|
|
bl ov49_02264C04
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
_02264F56:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02264F58: .word 0x000001C2
|
|
_02264F5C: .word 0x000002AB
|
|
thumb_func_end ov49_02264F24
|
|
|
|
thumb_func_start ov49_02264F60
|
|
ov49_02264F60: ; 0x02264F60
|
|
ldrb r1, [r0, #0xd]
|
|
cmp r1, #1
|
|
bne _02264F76
|
|
mov r1, #0xe
|
|
ldrsh r2, [r0, r1]
|
|
mov r1, #0xe1
|
|
lsl r1, r1, #2
|
|
cmp r2, r1
|
|
bgt _02264F76
|
|
add r1, r2, #1
|
|
strh r1, [r0, #0xe]
|
|
_02264F76:
|
|
bx lr
|
|
thumb_func_end ov49_02264F60
|
|
|
|
thumb_func_start ov49_02264F78
|
|
ov49_02264F78: ; 0x02264F78
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov45_0222A9A4
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
add r1, #0x44
|
|
strh r2, [r1]
|
|
add r1, r5, #0
|
|
add r1, #0x46
|
|
strh r0, [r1]
|
|
add r0, r4, #0
|
|
bl ov45_0222A99C
|
|
str r0, [r5, #0x48]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_02264F78
|
|
|
|
thumb_func_start ov49_02264F9C
|
|
ov49_02264F9C: ; 0x02264F9C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
add r7, r2, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
str r3, [sp, #4]
|
|
ldr r6, [sp, #0x20]
|
|
bl ov49_0225A10C
|
|
ldr r0, [sp]
|
|
mov r4, #0
|
|
str r7, [r0, #0x20]
|
|
cmp r7, #0
|
|
bls _02265006
|
|
sub r0, r7, #1
|
|
str r0, [sp, #8]
|
|
_02264FC0:
|
|
cmp r6, #0
|
|
beq _02264FEA
|
|
ldr r0, [sp, #8]
|
|
cmp r4, r0
|
|
bne _02264FEA
|
|
cmp r6, #1
|
|
bne _02264FDC
|
|
ldr r2, _0226503C ; =0x00000205
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _02264FF8
|
|
_02264FDC:
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
mov r2, #0xeb
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _02264FF8
|
|
_02264FEA:
|
|
ldr r2, [sp, #4]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
add r2, r2, r4
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
_02264FF8:
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
bl ov49_0225A144
|
|
add r4, r4, #1
|
|
cmp r4, r7
|
|
blo _02264FC0
|
|
_02265006:
|
|
ldr r3, _02265040 ; =ov49_02269E24
|
|
ldr r2, [sp]
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [sp]
|
|
ldr r1, [r0, #0x20]
|
|
strh r1, [r0, #0x10]
|
|
ldr r1, [r0, #0x20]
|
|
ldrh r0, [r0, #0x12]
|
|
cmp r0, r1
|
|
bls _0226502C
|
|
ldr r0, [sp]
|
|
strh r1, [r0, #0x12]
|
|
_0226502C:
|
|
add r0, r5, #0
|
|
bl ov49_0225A154
|
|
ldr r1, [sp]
|
|
str r0, [r1]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0226503C: .word 0x00000205
|
|
_02265040: .word ov49_02269E24
|
|
thumb_func_end ov49_02264F9C
|
|
|
|
thumb_func_start ov49_02265044
|
|
ov49_02265044: ; 0x02265044
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x20]
|
|
add r5, r1, #0
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x24]
|
|
str r3, [sp, #4]
|
|
str r0, [sp, #0x24]
|
|
add r0, r5, #0
|
|
add r1, r3, #0
|
|
add r4, r2, #0
|
|
bl ov49_0225A120
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [sp]
|
|
mov r7, #0
|
|
str r1, [r0, #0x20]
|
|
add r0, r1, #0
|
|
beq _022650D4
|
|
sub r0, r0, #1
|
|
str r0, [sp, #8]
|
|
_02265070:
|
|
ldr r0, [sp, #0x24]
|
|
cmp r0, #0
|
|
beq _022650A0
|
|
ldr r0, [sp, #8]
|
|
cmp r7, r0
|
|
bne _022650A0
|
|
ldr r0, [sp, #0x24]
|
|
add r6, r4, #0
|
|
cmp r0, #1
|
|
bne _02265092
|
|
ldr r2, _02265108 ; =0x00000205
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _022650C4
|
|
_02265092:
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
mov r2, #0xeb
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
b _022650C4
|
|
_022650A0:
|
|
bl MTRandom
|
|
add r1, r4, #0
|
|
bl _u32_div_f
|
|
add r0, r5, #0
|
|
add r6, r1, #0
|
|
bl ov49_0225A164
|
|
cmp r0, #1
|
|
beq _022650A0
|
|
ldr r2, [sp, #0x20]
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
add r2, r2, r6
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
_022650C4:
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_0225A144
|
|
ldr r0, [sp, #4]
|
|
add r7, r7, #1
|
|
cmp r7, r0
|
|
blo _02265070
|
|
_022650D4:
|
|
ldr r3, _0226510C ; =ov49_02269E24
|
|
ldr r2, [sp]
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [sp]
|
|
ldr r1, [r0, #0x20]
|
|
strh r1, [r0, #0x10]
|
|
ldr r1, [r0, #0x20]
|
|
ldrh r0, [r0, #0x12]
|
|
cmp r0, r1
|
|
bls _022650FA
|
|
ldr r0, [sp]
|
|
strh r1, [r0, #0x12]
|
|
_022650FA:
|
|
add r0, r5, #0
|
|
bl ov49_0225A154
|
|
ldr r1, [sp]
|
|
str r0, [r1]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02265108: .word 0x00000205
|
|
_0226510C: .word ov49_02269E24
|
|
thumb_func_end ov49_02265044
|
|
|
|
thumb_func_start ov49_02265110
|
|
ov49_02265110: ; 0x02265110
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
add r7, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
bl ov49_0225A10C
|
|
mov r0, #8
|
|
ldr r5, _02265168 ; =ov49_02269E1C
|
|
str r0, [r7, #0x20]
|
|
mov r4, #0
|
|
_02265126:
|
|
ldrb r2, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
add r2, r4, #0
|
|
bl ov49_0225A144
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #8
|
|
blt _02265126
|
|
ldr r3, _0226516C ; =ov49_02269E24
|
|
add r2, r7, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r7, #0x20]
|
|
strh r0, [r7, #0x10]
|
|
ldr r0, [r7, #0x20]
|
|
strh r0, [r7, #0x12]
|
|
add r0, r6, #0
|
|
bl ov49_0225A154
|
|
str r0, [r7]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02265168: .word ov49_02269E1C
|
|
_0226516C: .word ov49_02269E24
|
|
thumb_func_end ov49_02265110
|
|
|
|
thumb_func_start ov49_02265170
|
|
ov49_02265170: ; 0x02265170
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl ov49_0225A10C
|
|
mov r0, #4
|
|
mov r4, #0
|
|
str r0, [r6, #0x20]
|
|
add r7, r4, #0
|
|
_02265186:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl ov49_0225A38C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0x27
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
bl ov49_0225A144
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _02265186
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0x25
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
mov r2, #3
|
|
bl ov49_0225A144
|
|
ldr r3, _022651E4 ; =ov49_02269E24
|
|
add r2, r6, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r6, #0x20]
|
|
strh r0, [r6, #0x10]
|
|
ldr r0, [r6, #0x20]
|
|
strh r0, [r6, #0x12]
|
|
add r0, r5, #0
|
|
bl ov49_0225A154
|
|
str r0, [r6]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022651E4: .word ov49_02269E24
|
|
thumb_func_end ov49_02265170
|
|
|
|
thumb_func_start ov49_022651E8
|
|
ov49_022651E8: ; 0x022651E8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl ov49_0225A10C
|
|
mov r0, #4
|
|
mov r4, #0
|
|
str r0, [r6, #0x20]
|
|
add r7, r4, #0
|
|
_022651FE:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl ov49_0225A37C
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0x26
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
bl ov49_0225A144
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _022651FE
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0x25
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
mov r2, #3
|
|
bl ov49_0225A144
|
|
ldr r3, _0226525C ; =ov49_02269E24
|
|
add r2, r6, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r6, #0x20]
|
|
strh r0, [r6, #0x10]
|
|
ldr r0, [r6, #0x20]
|
|
strh r0, [r6, #0x12]
|
|
add r0, r5, #0
|
|
bl ov49_0225A154
|
|
str r0, [r6]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0226525C: .word ov49_02269E24
|
|
thumb_func_end ov49_022651E8
|
|
|
|
thumb_func_start ov49_02265260
|
|
ov49_02265260: ; 0x02265260
|
|
ldr r3, _02265268 ; =ov49_0225A134
|
|
add r0, r1, #0
|
|
bx r3
|
|
nop
|
|
_02265268: .word ov49_0225A134
|
|
thumb_func_end ov49_02265260
|
|
|
|
thumb_func_start ov49_0226526C
|
|
ov49_0226526C: ; 0x0226526C
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0226526C
|
|
|
|
thumb_func_start ov49_02265274
|
|
ov49_02265274: ; 0x02265274
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldrh r0, [r5]
|
|
add r7, r1, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
cmp r0, #0
|
|
beq _02265288
|
|
bl GF_AssertFail
|
|
_02265288:
|
|
mov r0, #1
|
|
strh r0, [r5]
|
|
strh r4, [r5, #2]
|
|
add r0, r7, #0
|
|
strh r6, [r5, #4]
|
|
bl ov45_0222B034
|
|
strh r0, [r5, #6]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02265274
|
|
|
|
thumb_func_start ov49_0226529C
|
|
ov49_0226529C: ; 0x0226529C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldrh r0, [r5]
|
|
add r4, r1, #0
|
|
cmp r0, #0
|
|
beq _022652CE
|
|
add r0, r4, #0
|
|
bl ov45_0222B034
|
|
str r0, [r5, #8]
|
|
ldrh r1, [r5, #4]
|
|
cmp r0, r1
|
|
bne _022652C4
|
|
ldrh r1, [r5, #2]
|
|
add r0, r4, #0
|
|
bl ov45_0222AED8
|
|
mov r0, #0
|
|
strh r0, [r5]
|
|
pop {r3, r4, r5, pc}
|
|
_022652C4:
|
|
ldrh r1, [r5, #6]
|
|
cmp r0, r1
|
|
beq _022652CE
|
|
mov r0, #0
|
|
strh r0, [r5]
|
|
_022652CE:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_0226529C
|
|
|
|
thumb_func_start ov49_022652D0
|
|
ov49_022652D0: ; 0x022652D0
|
|
ldrh r0, [r0]
|
|
cmp r0, #1
|
|
beq _022652DA
|
|
mov r0, #1
|
|
bx lr
|
|
_022652DA:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_022652D0
|
|
|
|
thumb_func_start ov49_022652E0
|
|
ov49_022652E0: ; 0x022652E0
|
|
ldr r0, [r0, #8]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bx lr
|
|
thumb_func_end ov49_022652E0
|
|
|
|
thumb_func_start ov49_022652E8
|
|
ov49_022652E8: ; 0x022652E8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r6, r0, #0
|
|
add r7, r1, #0
|
|
ldr r0, [sp, #0x20]
|
|
ldr r1, _02265354 ; =0x0001082C
|
|
str r2, [sp]
|
|
str r3, [sp, #4]
|
|
ldr r5, [sp, #0x24]
|
|
bl AllocFromHeap
|
|
ldr r2, _02265354 ; =0x0001082C
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
ldr r0, [sp, #4]
|
|
str r6, [r4]
|
|
str r0, [r4, #4]
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #0x20]
|
|
str r0, [r4, #8]
|
|
mov r0, #0xd1
|
|
str r7, [r4, #0xc]
|
|
bl NARC_New
|
|
add r6, r0, #0
|
|
ldr r0, _02265358 ; =0x0001081C
|
|
add r1, r5, #0
|
|
add r0, r4, r0
|
|
mov r2, #4
|
|
bl GF_ExpHeap_FndInitAllocator
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl ov49_02265698
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl ov49_02265738
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl ov49_022657B4
|
|
add r0, r6, #0
|
|
bl NARC_Delete
|
|
add r0, r4, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02265354: .word 0x0001082C
|
|
_02265358: .word 0x0001081C
|
|
thumb_func_end ov49_022652E8
|
|
|
|
thumb_func_start ov49_0226535C
|
|
ov49_0226535C: ; 0x0226535C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov49_0226571C
|
|
add r0, r4, #0
|
|
bl ov49_02265760
|
|
add r0, r4, #0
|
|
bl ov49_02265858
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_0226535C
|
|
|
|
thumb_func_start ov49_02265378
|
|
ov49_02265378: ; 0x02265378
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r5, r6, #0
|
|
mov r7, #0xd1
|
|
mov r4, #0
|
|
add r5, #0x10
|
|
lsl r7, r7, #4
|
|
_02265386:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov49_022658E4
|
|
add r4, r4, #1
|
|
add r5, r5, r7
|
|
cmp r4, #0x14
|
|
blt _02265386
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_02265378
|
|
|
|
thumb_func_start ov49_02265398
|
|
ov49_02265398: ; 0x02265398
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r6, #4]
|
|
bl ov49_02258DAC
|
|
add r5, r6, #0
|
|
mov r7, #0xd1
|
|
mov r4, #0
|
|
add r5, #0x10
|
|
lsl r7, r7, #4
|
|
_022653AC:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov49_02265920
|
|
add r4, r4, #1
|
|
add r5, r5, r7
|
|
cmp r4, #0x14
|
|
blt _022653AC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02265398
|
|
|
|
thumb_func_start ov49_022653C0
|
|
ov49_022653C0: ; 0x022653C0
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
cmp r4, #0x14
|
|
blo _022653D0
|
|
bl GF_AssertFail
|
|
_022653D0:
|
|
ldr r0, [r5, #4]
|
|
add r1, r4, #0
|
|
bl ov49_02258D70
|
|
add r2, r0, #0
|
|
beq _022653EE
|
|
mov r1, #0xd1
|
|
lsl r1, r1, #4
|
|
add r0, r5, #0
|
|
add r5, #0x10
|
|
mul r1, r4
|
|
add r1, r5, r1
|
|
add r3, r6, #0
|
|
bl ov49_02265890
|
|
_022653EE:
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_022653C0
|
|
|
|
thumb_func_start ov49_022653F0
|
|
ov49_022653F0: ; 0x022653F0
|
|
push {r3, lr}
|
|
mov r2, #0xd1
|
|
lsl r2, r2, #4
|
|
add r0, #0x10
|
|
mul r2, r1
|
|
add r0, r0, r2
|
|
bl ov49_02265958
|
|
cmp r0, #1
|
|
beq _02265408
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02265408:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov49_022653F0
|
|
|
|
thumb_func_start ov49_0226540C
|
|
ov49_0226540C: ; 0x0226540C
|
|
push {r3, r4}
|
|
ldr r4, [sp, #0x14]
|
|
sub r2, r2, r1
|
|
str r4, [r0]
|
|
str r1, [r0, #4]
|
|
str r2, [r0, #0x10]
|
|
str r1, [r0, #0x14]
|
|
ldr r1, [sp, #8]
|
|
str r3, [r0, #8]
|
|
sub r1, r1, r3
|
|
str r1, [r0, #0x18]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r1, [sp, #0x10]
|
|
str r3, [r0, #0x1c]
|
|
str r2, [r0, #0xc]
|
|
sub r1, r1, r2
|
|
str r1, [r0, #0x20]
|
|
str r2, [r0, #0x24]
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov49_0226540C
|
|
|
|
thumb_func_start ov49_02265434
|
|
ov49_02265434: ; 0x02265434
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
mov r7, #0
|
|
cmp r4, r0
|
|
ble _02265448
|
|
add r4, r0, #0
|
|
mov r7, #1
|
|
_02265448:
|
|
ldr r6, [r5, #0x10]
|
|
cmp r6, #0
|
|
beq _022654CC
|
|
cmp r0, #0
|
|
ble _02265466
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
str r0, [sp, #8]
|
|
b _02265476
|
|
_02265466:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
str r0, [sp, #8]
|
|
_02265476:
|
|
cmp r4, #0
|
|
ble _0226548C
|
|
lsl r0, r4, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0226549A
|
|
_0226548C:
|
|
lsl r0, r4, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0226549A:
|
|
bl _ffix
|
|
asr r1, r0, #0x1f
|
|
asr r3, r6, #0x1f
|
|
add r2, r6, #0
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r6, r2, #0xc
|
|
orr r6, r0
|
|
ldr r0, [sp, #8]
|
|
bl _ffix
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl FX_Div
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r1, r0
|
|
str r0, [r5, #4]
|
|
_022654CC:
|
|
ldr r6, [r5, #0x18]
|
|
cmp r6, #0
|
|
beq _02265552
|
|
ldr r0, [r5]
|
|
cmp r0, #0
|
|
ble _022654EC
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
str r0, [sp, #4]
|
|
b _022654FC
|
|
_022654EC:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
str r0, [sp, #4]
|
|
_022654FC:
|
|
cmp r4, #0
|
|
ble _02265512
|
|
lsl r0, r4, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _02265520
|
|
_02265512:
|
|
lsl r0, r4, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_02265520:
|
|
bl _ffix
|
|
asr r1, r0, #0x1f
|
|
asr r3, r6, #0x1f
|
|
add r2, r6, #0
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r6, r2, #0xc
|
|
orr r6, r0
|
|
ldr r0, [sp, #4]
|
|
bl _ffix
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl FX_Div
|
|
ldr r1, [r5, #0x1c]
|
|
add r0, r1, r0
|
|
str r0, [r5, #8]
|
|
_02265552:
|
|
ldr r6, [r5, #0x20]
|
|
cmp r6, #0
|
|
beq _022655D8
|
|
ldr r0, [r5]
|
|
cmp r0, #0
|
|
ble _02265572
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
str r0, [sp]
|
|
b _02265582
|
|
_02265572:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
str r0, [sp]
|
|
_02265582:
|
|
cmp r4, #0
|
|
ble _02265598
|
|
lsl r0, r4, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _022655A6
|
|
_02265598:
|
|
lsl r0, r4, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_022655A6:
|
|
bl _ffix
|
|
asr r1, r0, #0x1f
|
|
asr r3, r6, #0x1f
|
|
add r2, r6, #0
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r4, r2, #0xc
|
|
orr r4, r0
|
|
ldr r0, [sp]
|
|
bl _ffix
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl FX_Div
|
|
ldr r1, [r5, #0x24]
|
|
add r0, r1, r0
|
|
str r0, [r5, #0xc]
|
|
_022655D8:
|
|
add r0, r7, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02265434
|
|
|
|
thumb_func_start ov49_022655E0
|
|
ov49_022655E0: ; 0x022655E0
|
|
push {r3, r4}
|
|
ldr r4, [r0, #4]
|
|
str r4, [r1]
|
|
ldr r1, [r0, #8]
|
|
str r1, [r2]
|
|
ldr r0, [r0, #0xc]
|
|
str r0, [r3]
|
|
pop {r3, r4}
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_022655E0
|
|
|
|
thumb_func_start ov49_022655F4
|
|
ov49_022655F4: ; 0x022655F4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
strh r1, [r4]
|
|
asr r0, r1, #4
|
|
lsl r1, r0, #2
|
|
ldr r0, _02265624 ; =FX_SinCosTable_
|
|
strh r2, [r4, #2]
|
|
ldrsh r0, [r0, r1]
|
|
add r2, r3, #0
|
|
str r3, [r4, #4]
|
|
asr r1, r0, #0x1f
|
|
asr r3, r2, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r1, r2, #0xc
|
|
orr r1, r0
|
|
str r1, [r4, #8]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02265624: .word FX_SinCosTable_
|
|
thumb_func_end ov49_022655F4
|
|
|
|
thumb_func_start ov49_02265628
|
|
ov49_02265628: ; 0x02265628
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrh r1, [r4]
|
|
ldrh r0, [r4, #2]
|
|
add r0, r1, r0
|
|
strh r0, [r4]
|
|
ldrh r0, [r4]
|
|
ldr r2, [r4, #4]
|
|
asr r0, r0, #4
|
|
lsl r1, r0, #2
|
|
ldr r0, _0226565C ; =FX_SinCosTable_
|
|
asr r3, r2, #0x1f
|
|
ldrsh r0, [r0, r1]
|
|
asr r1, r0, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r1, r2, #0xc
|
|
orr r1, r0
|
|
str r1, [r4, #8]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0226565C: .word FX_SinCosTable_
|
|
thumb_func_end ov49_02265628
|
|
|
|
thumb_func_start ov49_02265660
|
|
ov49_02265660: ; 0x02265660
|
|
ldr r0, [r0, #8]
|
|
str r0, [r1]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02265660
|
|
|
|
thumb_func_start ov49_02265668
|
|
ov49_02265668: ; 0x02265668
|
|
push {r3, r4, r5, lr}
|
|
ldr r0, [r0, #4]
|
|
ldr r4, [r1, #8]
|
|
add r5, r2, #0
|
|
bl ov49_02258DAC
|
|
cmp r4, r0
|
|
bne _02265684
|
|
lsl r0, r5, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r1, #5
|
|
bl sub_0200606C
|
|
pop {r3, r4, r5, pc}
|
|
_02265684:
|
|
add r0, r4, #0
|
|
bl ov49_02258F70
|
|
cmp r0, #0
|
|
bne _02265696
|
|
lsl r0, r5, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl PlaySE
|
|
_02265696:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_02265668
|
|
|
|
thumb_func_start ov49_02265698
|
|
ov49_02265698: ; 0x02265698
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
mov r4, #0
|
|
_022656A2:
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
str r0, [sp]
|
|
add r0, r6, #0
|
|
add r1, #0x81
|
|
mov r2, #0
|
|
add r3, r7, #0
|
|
bl GfGfxLoader_LoadFromOpenNarc
|
|
ldr r1, _0226570C ; =0x00010550
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r5, r0]
|
|
bl NNS_G3dGetMdlSet
|
|
ldr r1, _02265710 ; =0x00010554
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0
|
|
beq _022656EC
|
|
add r0, r1, #0
|
|
add r0, #8
|
|
beq _022656E0
|
|
ldrb r2, [r1, #9]
|
|
cmp r2, #0
|
|
bls _022656E0
|
|
ldrh r2, [r1, #0xe]
|
|
add r0, r0, r2
|
|
add r0, r0, #4
|
|
b _022656E2
|
|
_022656E0:
|
|
mov r0, #0
|
|
_022656E2:
|
|
cmp r0, #0
|
|
beq _022656EC
|
|
ldr r0, [r0]
|
|
add r1, r1, r0
|
|
b _022656EE
|
|
_022656EC:
|
|
mov r1, #0
|
|
_022656EE:
|
|
ldr r0, _02265714 ; =0x00010558
|
|
str r1, [r5, r0]
|
|
mov r1, #0
|
|
add r0, r0, #4
|
|
str r1, [r5, r0]
|
|
ldr r0, _02265714 ; =0x00010558
|
|
ldr r1, _02265718 ; =0x00007FFF
|
|
ldr r0, [r5, r0]
|
|
bl NNS_G3dMdlSetMdlEmiAll
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #0xf
|
|
blt _022656A2
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0226570C: .word 0x00010550
|
|
_02265710: .word 0x00010554
|
|
_02265714: .word 0x00010558
|
|
_02265718: .word 0x00007FFF
|
|
thumb_func_end ov49_02265698
|
|
|
|
thumb_func_start ov49_0226571C
|
|
ov49_0226571C: ; 0x0226571C
|
|
push {r4, r5, r6, lr}
|
|
ldr r6, _02265734 ; =0x00010550
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_02265724:
|
|
ldr r0, [r5, r6]
|
|
bl FreeToHeap
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #0xf
|
|
blt _02265724
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02265734: .word 0x00010550
|
|
thumb_func_end ov49_0226571C
|
|
|
|
thumb_func_start ov49_02265738
|
|
ov49_02265738: ; 0x02265738
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
ldr r1, _0226575C ; =0x00010640
|
|
add r7, r2, #0
|
|
mov r4, #0
|
|
add r5, r0, r1
|
|
_02265744:
|
|
add r2, r4, #0
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, #0x90
|
|
add r3, r7, #0
|
|
bl ov49_02258830
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0x27
|
|
blt _02265744
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0226575C: .word 0x00010640
|
|
thumb_func_end ov49_02265738
|
|
|
|
thumb_func_start ov49_02265760
|
|
ov49_02265760: ; 0x02265760
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
ldr r7, _022657A8 ; =NNS_GfdDefaultFuncFreeTexVram
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_0226576A:
|
|
ldr r0, _022657AC ; =0x00010640
|
|
ldr r0, [r5, r0]
|
|
bl NNS_G3dGetTex
|
|
add r1, sp, #4
|
|
add r2, sp, #0
|
|
add r6, r0, #0
|
|
bl NNS_G3dTexReleaseTexKey
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [r7]
|
|
blx r1
|
|
ldr r0, [sp]
|
|
ldr r1, [r7]
|
|
blx r1
|
|
add r0, r6, #0
|
|
bl NNS_G3dPlttReleasePlttKey
|
|
ldr r1, _022657B0 ; =NNS_GfdDefaultFuncFreePlttVram
|
|
ldr r1, [r1]
|
|
blx r1
|
|
ldr r0, _022657AC ; =0x00010640
|
|
ldr r0, [r5, r0]
|
|
bl FreeToHeap
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0x27
|
|
blt _0226576A
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022657A8: .word NNS_GfdDefaultFuncFreeTexVram
|
|
_022657AC: .word 0x00010640
|
|
_022657B0: .word NNS_GfdDefaultFuncFreePlttVram
|
|
thumb_func_end ov49_02265760
|
|
|
|
thumb_func_start ov49_022657B4
|
|
ov49_022657B4: ; 0x022657B4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
ldr r4, _02265840 ; =ov49_0226A70C
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
_022657C4:
|
|
ldr r0, _02265844 ; =0x0001081C
|
|
mov r6, #0
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _02265848 ; =0x000106DC
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, _0226584C ; =0x00010550
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x1c]
|
|
_022657D8:
|
|
add r7, r4, r6
|
|
ldrb r1, [r7, #2]
|
|
cmp r1, #0x11
|
|
beq _0226582A
|
|
mov r0, #0x14
|
|
mul r0, r1
|
|
add r1, r5, r0
|
|
ldr r0, _02265848 ; =0x000106DC
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _0226582A
|
|
ldrb r0, [r4, #1]
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
ldr r0, _02265850 ; =0x00010640
|
|
ldr r0, [r1, r0]
|
|
bl NNS_G3dGetTex
|
|
ldrb r1, [r4]
|
|
lsl r1, r1, #4
|
|
add r2, r5, r1
|
|
ldr r1, _02265854 ; =0x0001055C
|
|
str r0, [r2, r1]
|
|
ldrb r3, [r7, #2]
|
|
ldr r0, [sp, #0xc]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r3, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x14
|
|
mul r1, r0
|
|
ldr r0, [sp, #0x18]
|
|
add r3, #0xb7
|
|
add r0, r0, r1
|
|
ldrb r1, [r4]
|
|
lsl r2, r1, #4
|
|
ldr r1, [sp, #0x1c]
|
|
add r1, r1, r2
|
|
ldr r2, [sp, #8]
|
|
bl sub_020180BC
|
|
_0226582A:
|
|
add r6, r6, #1
|
|
cmp r6, #2
|
|
blt _022657D8
|
|
ldr r0, [sp, #0x10]
|
|
add r4, r4, #4
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #0x27
|
|
blt _022657C4
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02265840: .word ov49_0226A70C
|
|
_02265844: .word 0x0001081C
|
|
_02265848: .word 0x000106DC
|
|
_0226584C: .word 0x00010550
|
|
_02265850: .word 0x00010640
|
|
_02265854: .word 0x0001055C
|
|
thumb_func_end ov49_022657B4
|
|
|
|
thumb_func_start ov49_02265858
|
|
ov49_02265858: ; 0x02265858
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02265888 ; =0x000106DC
|
|
mov r6, #0
|
|
add r4, r5, r0
|
|
ldr r0, _0226588C ; =0x0001081C
|
|
add r7, r5, r0
|
|
_02265866:
|
|
ldr r0, _02265888 ; =0x000106DC
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _0226587C
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl sub_020180F8
|
|
ldr r0, _02265888 ; =0x000106DC
|
|
mov r1, #0
|
|
str r1, [r5, r0]
|
|
_0226587C:
|
|
add r6, r6, #1
|
|
add r5, #0x14
|
|
add r4, #0x14
|
|
cmp r6, #0x10
|
|
blt _02265866
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02265888: .word 0x000106DC
|
|
_0226588C: .word 0x0001081C
|
|
thumb_func_end ov49_02265858
|
|
|
|
thumb_func_start ov49_02265890
|
|
ov49_02265890: ; 0x02265890
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r3, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
cmp r7, #0x1b
|
|
blo _022658A2
|
|
bl GF_AssertFail
|
|
_022658A2:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_02265948
|
|
str r6, [r4, #8]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
strb r7, [r4]
|
|
bl ov49_02258E60
|
|
add r0, #0x28
|
|
str r0, [r4, #4]
|
|
ldrb r2, [r4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
lsl r3, r2, #2
|
|
ldr r2, _022658DC ; =ov49_0226A5A4
|
|
ldr r2, [r2, r3]
|
|
blx r2
|
|
ldrb r2, [r4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
lsl r3, r2, #2
|
|
ldr r2, _022658E0 ; =ov49_0226A610
|
|
ldr r2, [r2, r3]
|
|
bl ov49_02265668
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022658DC: .word ov49_0226A5A4
|
|
_022658E0: .word ov49_0226A610
|
|
thumb_func_end ov49_02265890
|
|
|
|
thumb_func_start ov49_022658E4
|
|
ov49_022658E4: ; 0x022658E4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_02265958
|
|
cmp r0, #0
|
|
beq _02265918
|
|
ldrb r0, [r4]
|
|
cmp r0, #0x1b
|
|
blo _022658FE
|
|
bl GF_AssertFail
|
|
_022658FE:
|
|
ldrb r2, [r4]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
lsl r3, r2, #2
|
|
ldr r2, _0226591C ; =ov49_0226A538
|
|
ldr r2, [r2, r3]
|
|
blx r2
|
|
cmp r0, #1
|
|
bne _02265918
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_02265948
|
|
_02265918:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0226591C: .word ov49_0226A538
|
|
thumb_func_end ov49_022658E4
|
|
|
|
thumb_func_start ov49_02265920
|
|
ov49_02265920: ; 0x02265920
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_02265958
|
|
cmp r0, #0
|
|
bne _02265934
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02265934:
|
|
ldrb r0, [r4]
|
|
cmp r0, #0x1b
|
|
blo _0226593E
|
|
bl GF_AssertFail
|
|
_0226593E:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_02266AF0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_02265920
|
|
|
|
thumb_func_start ov49_02265948
|
|
ov49_02265948: ; 0x02265948
|
|
ldr r3, _02265954 ; =memset
|
|
mov r2, #0xd1
|
|
add r0, r1, #0
|
|
mov r1, #0
|
|
lsl r2, r2, #4
|
|
bx r3
|
|
.balign 4, 0
|
|
_02265954: .word memset
|
|
thumb_func_end ov49_02265948
|
|
|
|
thumb_func_start ov49_02265958
|
|
ov49_02265958: ; 0x02265958
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0
|
|
beq _02265962
|
|
mov r0, #1
|
|
bx lr
|
|
_02265962:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02265958
|
|
|
|
thumb_func_start ov49_02265968
|
|
ov49_02265968: ; 0x02265968
|
|
lsl r1, r1, #2
|
|
add r1, r0, r1
|
|
ldr r0, _0226597C ; =0x0000087C
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _02265978
|
|
mov r0, #1
|
|
bx lr
|
|
_02265978:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
_0226597C: .word 0x0000087C
|
|
thumb_func_end ov49_02265968
|
|
|
|
thumb_func_start ov49_02265980
|
|
ov49_02265980: ; 0x02265980
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r4, r2, #0
|
|
str r0, [sp]
|
|
add r5, r1, #0
|
|
add r6, r3, #0
|
|
cmp r4, #0x12
|
|
blo _02265994
|
|
bl GF_AssertFail
|
|
_02265994:
|
|
ldr r0, _022659C8 ; =0x0000087C
|
|
add r7, r5, r0
|
|
lsl r0, r4, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [r7, r0]
|
|
cmp r0, #0
|
|
beq _022659A6
|
|
bl GF_AssertFail
|
|
_022659A6:
|
|
ldr r0, [sp, #4]
|
|
ldr r2, _022659CC ; =0x00010550
|
|
ldr r1, [sp]
|
|
str r6, [r7, r0]
|
|
add r2, r1, r2
|
|
ldrb r1, [r6]
|
|
mov r0, #0x78
|
|
add r5, #0xc
|
|
mul r0, r4
|
|
lsl r1, r1, #4
|
|
add r0, r5, r0
|
|
add r1, r2, r1
|
|
bl sub_020181B0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022659C8: .word 0x0000087C
|
|
_022659CC: .word 0x00010550
|
|
thumb_func_end ov49_02265980
|
|
|
|
thumb_func_start ov49_022659D0
|
|
ov49_022659D0: ; 0x022659D0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r2, #0
|
|
str r0, [sp]
|
|
lsl r7, r5, #2
|
|
add r0, r1, #0
|
|
str r1, [sp, #4]
|
|
add r1, r0, r7
|
|
ldr r0, _02265B04 ; =0x0000087C
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _022659EC
|
|
bl GF_AssertFail
|
|
_022659EC:
|
|
mov r0, #0x78
|
|
add r6, r5, #0
|
|
mul r6, r0
|
|
ldr r0, [sp, #4]
|
|
add r0, #0xc
|
|
add r0, r0, r6
|
|
bl sub_020182A4
|
|
cmp r0, #0
|
|
beq _02265AFE
|
|
ldr r0, [sp, #4]
|
|
add r1, r0, r7
|
|
ldr r0, _02265B04 ; =0x0000087C
|
|
ldr r2, [r1, r0]
|
|
ldr r0, _02265B08 ; =0x00010550
|
|
ldrb r3, [r2]
|
|
ldr r1, [sp]
|
|
add r1, r1, r0
|
|
lsl r3, r3, #4
|
|
add r1, r1, r3
|
|
str r1, [sp, #0xc]
|
|
ldrb r1, [r2, #1]
|
|
add r0, #0xf0
|
|
lsl r2, r1, #2
|
|
ldr r1, [sp]
|
|
add r1, r1, r2
|
|
ldr r0, [r1, r0]
|
|
bl NNS_G3dGetTex
|
|
ldr r1, [sp, #0xc]
|
|
mov r2, #0
|
|
str r0, [r1, #0xc]
|
|
add r0, r1, #0
|
|
ldr r0, [r0, #8]
|
|
ldr r1, [r1, #0xc]
|
|
add r3, r2, #0
|
|
bl NNS_G3dForceBindMdlTex
|
|
cmp r0, #0
|
|
bne _02265A40
|
|
bl GF_AssertFail
|
|
_02265A40:
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [sp, #0xc]
|
|
mov r2, #0
|
|
ldr r0, [r0, #8]
|
|
ldr r1, [r1, #0xc]
|
|
add r3, r2, #0
|
|
bl NNS_G3dForceBindMdlPltt
|
|
cmp r0, #0
|
|
bne _02265A58
|
|
bl GF_AssertFail
|
|
_02265A58:
|
|
ldr r0, [sp, #4]
|
|
lsl r1, r5, #3
|
|
add r5, r0, r1
|
|
add r0, r0, r7
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
ldr r1, _02265B0C ; =0x000106DC
|
|
str r0, [sp, #0x10]
|
|
add r0, #0xc
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp]
|
|
mov r4, #0
|
|
add r7, r0, r1
|
|
_02265A72:
|
|
ldr r1, [sp, #8]
|
|
ldr r0, _02265B04 ; =0x0000087C
|
|
ldr r0, [r1, r0]
|
|
add r0, r0, r4
|
|
ldrb r1, [r0, #2]
|
|
cmp r1, #0x11
|
|
beq _02265AA6
|
|
mov r0, #0x14
|
|
mul r0, r1
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, [sp, #0x14]
|
|
add r0, r0, r6
|
|
add r1, r7, r1
|
|
bl sub_020181D4
|
|
ldr r1, _02265B10 ; =0x000008C4
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [r5, r1]
|
|
add r0, r7, r0
|
|
bl sub_02018198
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _02265A72
|
|
_02265AA6:
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [r0, #8]
|
|
ldr r1, [r1, #4]
|
|
bl NNS_G3dMdlSetMdlPolygonIDAll
|
|
ldr r0, [sp, #4]
|
|
add r0, #0xc
|
|
str r0, [sp, #4]
|
|
add r0, r0, r6
|
|
bl sub_020181EC
|
|
ldr r1, _02265B0C ; =0x000106DC
|
|
ldr r0, [sp]
|
|
ldr r7, _02265B04 ; =0x0000087C
|
|
mov r4, #0
|
|
add r5, r0, r1
|
|
_02265AC8:
|
|
ldr r0, [sp, #8]
|
|
ldr r0, [r0, r7]
|
|
add r0, r0, r4
|
|
ldrb r1, [r0, #2]
|
|
cmp r1, #0x11
|
|
beq _02265AE8
|
|
ldr r0, [sp, #4]
|
|
mov r2, #0x14
|
|
mul r2, r1
|
|
add r0, r0, r6
|
|
add r1, r5, r2
|
|
bl sub_020181E0
|
|
add r4, r4, #1
|
|
cmp r4, #2
|
|
blt _02265AC8
|
|
_02265AE8:
|
|
ldr r0, [sp, #0xc]
|
|
ldr r0, [r0, #8]
|
|
bl NNS_G3dReleaseMdlTex
|
|
ldr r0, [sp, #0xc]
|
|
ldr r0, [r0, #8]
|
|
bl NNS_G3dReleaseMdlPltt
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0xc]
|
|
_02265AFE:
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02265B04: .word 0x0000087C
|
|
_02265B08: .word 0x00010550
|
|
_02265B0C: .word 0x000106DC
|
|
_02265B10: .word 0x000008C4
|
|
thumb_func_end ov49_022659D0
|
|
|
|
thumb_func_start ov49_02265B14
|
|
ov49_02265B14: ; 0x02265B14
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
mov r4, #2
|
|
lsl r4, r4, #0xc
|
|
str r4, [sp]
|
|
bl ov49_02265B3C
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02265B14
|
|
|
|
thumb_func_start ov49_02265B28
|
|
ov49_02265B28: ; 0x02265B28
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
mov r4, #2
|
|
lsl r4, r4, #0xc
|
|
str r4, [sp]
|
|
bl ov49_02265B94
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02265B28
|
|
|
|
thumb_func_start ov49_02265B3C
|
|
ov49_02265B3C: ; 0x02265B3C
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
ldr r1, _02265B88 ; =0x000106DC
|
|
add r6, r2, #0
|
|
add r0, r0, r1
|
|
lsl r1, r6, #2
|
|
add r2, r4, r1
|
|
ldr r1, _02265B8C ; =0x0000087C
|
|
add r5, r3, #0
|
|
ldr r1, [r2, r1]
|
|
add r1, r1, r5
|
|
ldrb r2, [r1, #2]
|
|
mov r1, #0x14
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
bl sub_020181A4
|
|
add r1, r0, #0
|
|
ldr r0, _02265B90 ; =0x000008C4
|
|
lsl r2, r6, #3
|
|
add r0, r4, r0
|
|
add r4, r0, r2
|
|
lsl r5, r5, #2
|
|
ldr r2, [r4, r5]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, r2
|
|
cmp r0, r1
|
|
bge _02265B78
|
|
str r0, [r4, r5]
|
|
pop {r4, r5, r6, pc}
|
|
_02265B78:
|
|
mov r0, #2
|
|
lsl r0, r0, #0xc
|
|
add r0, r2, r0
|
|
bl _s32_div_f
|
|
str r1, [r4, r5]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02265B88: .word 0x000106DC
|
|
_02265B8C: .word 0x0000087C
|
|
_02265B90: .word 0x000008C4
|
|
thumb_func_end ov49_02265B3C
|
|
|
|
thumb_func_start ov49_02265B94
|
|
ov49_02265B94: ; 0x02265B94
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _02265BDC ; =0x000106DC
|
|
add r4, r2, #0
|
|
add r0, r0, r1
|
|
lsl r1, r4, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02265BE0 ; =0x0000087C
|
|
add r6, r3, #0
|
|
ldr r1, [r2, r1]
|
|
add r1, r1, r6
|
|
ldrb r2, [r1, #2]
|
|
mov r1, #0x14
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
bl sub_020181A4
|
|
ldr r3, _02265BE4 ; =0x000008C4
|
|
lsl r1, r4, #3
|
|
add r2, r5, r3
|
|
add r2, r2, r1
|
|
lsl r1, r6, #2
|
|
ldr r5, [sp, #0x10]
|
|
ldr r4, [r2, r1]
|
|
add r4, r5, r4
|
|
cmp r4, r0
|
|
bge _02265BD0
|
|
str r4, [r2, r1]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02265BD0:
|
|
sub r3, #0xc4
|
|
sub r0, r0, r3
|
|
str r0, [r2, r1]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02265BDC: .word 0x000106DC
|
|
_02265BE0: .word 0x0000087C
|
|
_02265BE4: .word 0x000008C4
|
|
thumb_func_end ov49_02265B94
|
|
|
|
thumb_func_start ov49_02265BE8
|
|
ov49_02265BE8: ; 0x02265BE8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _02265C34 ; =0x000106DC
|
|
add r4, r2, #0
|
|
add r0, r0, r1
|
|
lsl r1, r4, #2
|
|
add r2, r5, r1
|
|
ldr r1, _02265C38 ; =0x0000087C
|
|
add r6, r3, #0
|
|
ldr r1, [r2, r1]
|
|
add r1, r1, r6
|
|
ldrb r2, [r1, #2]
|
|
mov r1, #0x14
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
bl sub_020181A4
|
|
ldr r1, [sp, #0x10]
|
|
cmp r0, r1
|
|
bge _02265C24
|
|
mov r1, #2
|
|
lsl r2, r4, #3
|
|
lsl r1, r1, #0xa
|
|
add r3, r5, r2
|
|
lsl r2, r6, #2
|
|
sub r0, r0, r1
|
|
add r2, r3, r2
|
|
add r1, #0xc4
|
|
str r0, [r2, r1]
|
|
pop {r4, r5, r6, pc}
|
|
_02265C24:
|
|
lsl r0, r4, #3
|
|
add r2, r5, r0
|
|
lsl r0, r6, #2
|
|
add r2, r2, r0
|
|
ldr r0, _02265C3C ; =0x000008C4
|
|
str r1, [r2, r0]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02265C34: .word 0x000106DC
|
|
_02265C38: .word 0x0000087C
|
|
_02265C3C: .word 0x000008C4
|
|
thumb_func_end ov49_02265BE8
|
|
|
|
thumb_func_start ov49_02265C40
|
|
ov49_02265C40: ; 0x02265C40
|
|
push {r4, lr}
|
|
lsl r2, r2, #2
|
|
add r2, r1, r2
|
|
ldr r1, _02265C60 ; =0x0000087C
|
|
ldr r4, _02265C64 ; =0x000106DC
|
|
ldr r1, [r2, r1]
|
|
add r0, r0, r4
|
|
add r1, r1, r3
|
|
ldrb r2, [r1, #2]
|
|
mov r1, #0x14
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
bl sub_020181A0
|
|
pop {r4, pc}
|
|
nop
|
|
_02265C60: .word 0x0000087C
|
|
_02265C64: .word 0x000106DC
|
|
thumb_func_end ov49_02265C40
|
|
|
|
thumb_func_start ov49_02265C68
|
|
ov49_02265C68: ; 0x02265C68
|
|
ldr r3, _02265C70 ; =ov49_02267A84
|
|
mov r2, #1
|
|
bx r3
|
|
nop
|
|
_02265C70: .word ov49_02267A84
|
|
thumb_func_end ov49_02265C68
|
|
|
|
thumb_func_start ov49_02265C74
|
|
ov49_02265C74: ; 0x02265C74
|
|
ldr r3, _02265C7C ; =ov49_02267A84
|
|
mov r2, #2
|
|
bx r3
|
|
nop
|
|
_02265C7C: .word ov49_02267A84
|
|
thumb_func_end ov49_02265C74
|
|
|
|
thumb_func_start ov49_02265C80
|
|
ov49_02265C80: ; 0x02265C80
|
|
ldr r3, _02265C88 ; =ov49_02267A84
|
|
mov r2, #3
|
|
bx r3
|
|
nop
|
|
_02265C88: .word ov49_02267A84
|
|
thumb_func_end ov49_02265C80
|
|
|
|
thumb_func_start ov49_02265C8C
|
|
ov49_02265C8C: ; 0x02265C8C
|
|
ldr r3, _02265C94 ; =ov49_02267C20
|
|
mov r2, #1
|
|
bx r3
|
|
nop
|
|
_02265C94: .word ov49_02267C20
|
|
thumb_func_end ov49_02265C8C
|
|
|
|
thumb_func_start ov49_02265C98
|
|
ov49_02265C98: ; 0x02265C98
|
|
ldr r3, _02265CA0 ; =ov49_02267C20
|
|
mov r2, #2
|
|
bx r3
|
|
nop
|
|
_02265CA0: .word ov49_02267C20
|
|
thumb_func_end ov49_02265C98
|
|
|
|
thumb_func_start ov49_02265CA4
|
|
ov49_02265CA4: ; 0x02265CA4
|
|
ldr r3, _02265CAC ; =ov49_02267C20
|
|
mov r2, #3
|
|
bx r3
|
|
nop
|
|
_02265CAC: .word ov49_02267C20
|
|
thumb_func_end ov49_02265CA4
|
|
|
|
thumb_func_start ov49_02265CB0
|
|
ov49_02265CB0: ; 0x02265CB0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r7, r1, #0
|
|
add r5, r7, #0
|
|
str r0, [sp]
|
|
mov r4, #0
|
|
add r5, #0xc
|
|
_02265CBE:
|
|
add r3, r4, #3
|
|
lsl r6, r3, #2
|
|
ldr r3, _02265D08 ; =ov49_0226A70C
|
|
ldr r0, [sp]
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
add r3, r3, r6
|
|
bl ov49_02265980
|
|
ldr r0, [r7, #8]
|
|
add r1, sp, #4
|
|
bl ov49_02259154
|
|
mov r0, #2
|
|
ldr r1, [sp, #8]
|
|
lsl r0, r0, #0xe
|
|
add r2, r1, r0
|
|
ldr r1, [sp, #4]
|
|
ldr r3, [sp, #0xc]
|
|
add r0, r5, #0
|
|
str r2, [sp, #8]
|
|
bl sub_020182A8
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
add r4, r4, #1
|
|
add r5, #0x78
|
|
cmp r4, #3
|
|
blt _02265CBE
|
|
ldr r0, _02265D0C ; =0x00000954
|
|
mov r1, #0xff
|
|
str r1, [r7, r0]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02265D08: .word ov49_0226A70C
|
|
_02265D0C: .word 0x00000954
|
|
thumb_func_end ov49_02265CB0
|
|
|
|
thumb_func_start ov49_02265D10
|
|
ov49_02265D10: ; 0x02265D10
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x18
|
|
ldr r3, _02265E40 ; =ov49_0226A730
|
|
mov r2, #1
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov49_02265980
|
|
ldr r3, _02265E44 ; =ov49_0226A73C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl ov49_02265980
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0xc
|
|
bl ov49_02259154
|
|
mov r2, #1
|
|
ldr r0, [sp, #0x10]
|
|
lsl r2, r2, #0x10
|
|
add r0, r0, r2
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [sp, #0xc]
|
|
lsr r0, r2, #1
|
|
add r0, r1, r0
|
|
add r5, sp, #0xc
|
|
str r0, [sp, #0xc]
|
|
ldmia r5!, {r0, r1}
|
|
add r3, sp, #0
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #8
|
|
str r0, [r3]
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, r2
|
|
str r0, [sp, #4]
|
|
ldr r0, _02265E48 ; =0x00000958
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, #8]
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
cmp r0, #3
|
|
bhi _02265E20
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02265D80: ; jump table
|
|
.short _02265D88 - _02265D80 - 2 ; case 0
|
|
.short _02265DA8 - _02265D80 - 2 ; case 1
|
|
.short _02265DCA - _02265D80 - 2 ; case 2
|
|
.short _02265DF6 - _02265D80 - 2 ; case 3
|
|
_02265D88:
|
|
mov r0, #7
|
|
ldr r1, [sp, #0x14]
|
|
lsl r0, r0, #0xe
|
|
sub r1, r1, r0
|
|
str r1, [sp, #0x14]
|
|
ldr r1, [sp, #8]
|
|
lsr r0, r0, #1
|
|
sub r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
ldr r1, _02265E4C ; =0x0000BFFF
|
|
add r0, #0x84
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
b _02265E20
|
|
_02265DA8:
|
|
mov r0, #6
|
|
ldr r1, [sp, #0x14]
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0xb
|
|
ldr r1, [sp, #8]
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
ldr r1, _02265E50 ; =0x00003FFF
|
|
add r0, #0x84
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
b _02265E20
|
|
_02265DCA:
|
|
mov r0, #0x17
|
|
ldr r1, [sp, #0xc]
|
|
lsl r0, r0, #0xc
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #7
|
|
ldr r1, [sp]
|
|
lsl r0, r0, #0xc
|
|
sub r0, r1, r0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
ldr r1, [sp, #8]
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
b _02265E20
|
|
_02265DF6:
|
|
mov r0, #0x17
|
|
ldr r1, [sp, #0xc]
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #7
|
|
ldr r1, [sp]
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp]
|
|
mov r1, #2
|
|
ldr r0, [sp, #8]
|
|
lsl r1, r1, #0xe
|
|
add r0, r0, r1
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
sub r1, r1, #1
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
_02265E20:
|
|
add r0, r4, #0
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, #0x84
|
|
bl sub_020182A8
|
|
add r4, #0xc
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
ldr r3, [sp, #8]
|
|
add r0, r4, #0
|
|
bl sub_020182A8
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02265E40: .word ov49_0226A730
|
|
_02265E44: .word ov49_0226A73C
|
|
_02265E48: .word 0x00000958
|
|
_02265E4C: .word 0x0000BFFF
|
|
_02265E50: .word 0x00003FFF
|
|
thumb_func_end ov49_02265D10
|
|
|
|
thumb_func_start ov49_02265E54
|
|
ov49_02265E54: ; 0x02265E54
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x18
|
|
ldr r3, _02266058 ; =ov49_0226A730
|
|
mov r2, #1
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov49_02265980
|
|
ldr r3, _0226605C ; =ov49_0226A73C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl ov49_02265980
|
|
ldr r3, _02266060 ; =ov49_0226A734
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #2
|
|
bl ov49_02265980
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0xc
|
|
bl ov49_02259154
|
|
mov r2, #1
|
|
ldr r0, [sp, #0x10]
|
|
lsl r2, r2, #0x10
|
|
add r0, r0, r2
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [sp, #0xc]
|
|
lsr r0, r2, #1
|
|
add r0, r1, r0
|
|
add r5, sp, #0xc
|
|
str r0, [sp, #0xc]
|
|
ldmia r5!, {r0, r1}
|
|
add r3, sp, #0
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #8
|
|
str r0, [r3]
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, r2
|
|
str r0, [sp, #4]
|
|
ldr r0, _02266064 ; =0x00000958
|
|
str r1, [r4, r0]
|
|
add r0, r0, #4
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, #8]
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
cmp r0, #3
|
|
bls _02265ECA
|
|
b _02266046
|
|
_02265ECA:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02265ED6: ; jump table
|
|
.short _02265EDE - _02265ED6 - 2 ; case 0
|
|
.short _02265F32 - _02265ED6 - 2 ; case 1
|
|
.short _02265F88 - _02265ED6 - 2 ; case 2
|
|
.short _02265FE8 - _02265ED6 - 2 ; case 3
|
|
_02265EDE:
|
|
mov r0, #7
|
|
ldr r1, [sp, #0x14]
|
|
lsl r0, r0, #0xe
|
|
sub r1, r1, r0
|
|
str r1, [sp, #0x14]
|
|
ldr r1, [sp, #8]
|
|
lsr r0, r0, #1
|
|
sub r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
ldr r1, _02266068 ; =0x0000A38D
|
|
add r0, #0x84
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
add r0, r4, #0
|
|
ldr r1, _0226606C ; =0x0000DC70
|
|
add r0, #0xfc
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
mov r1, #2
|
|
add r0, r4, #0
|
|
ldr r2, [sp, #0xc]
|
|
lsl r1, r1, #0xe
|
|
add r1, r2, r1
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, #0x84
|
|
bl sub_020182A8
|
|
mov r1, #2
|
|
add r0, r4, #0
|
|
ldr r2, [sp, #0xc]
|
|
lsl r1, r1, #0xe
|
|
sub r1, r2, r1
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, #0xfc
|
|
bl sub_020182A8
|
|
b _02266046
|
|
_02265F32:
|
|
mov r0, #6
|
|
ldr r1, [sp, #0x14]
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0xb
|
|
ldr r1, [sp, #8]
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
ldr r1, _02266070 ; =0x0000238E
|
|
add r0, #0x84
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
add r0, r4, #0
|
|
ldr r1, _02266074 ; =0x00005C71
|
|
add r0, #0xfc
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
mov r1, #2
|
|
add r0, r4, #0
|
|
ldr r2, [sp, #0xc]
|
|
lsl r1, r1, #0xe
|
|
sub r1, r2, r1
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, #0x84
|
|
bl sub_020182A8
|
|
mov r1, #2
|
|
add r0, r4, #0
|
|
ldr r2, [sp, #0xc]
|
|
lsl r1, r1, #0xe
|
|
add r1, r2, r1
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, #0xfc
|
|
bl sub_020182A8
|
|
b _02266046
|
|
_02265F88:
|
|
mov r0, #0x17
|
|
ldr r1, [sp, #0xc]
|
|
lsl r0, r0, #0xc
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #7
|
|
ldr r1, [sp]
|
|
lsl r0, r0, #0xc
|
|
sub r0, r1, r0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
ldr r1, [sp, #8]
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
ldr r1, _02266078 ; =0x0000E38F
|
|
add r0, #0x84
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
add r0, r4, #0
|
|
ldr r1, _0226607C ; =0x00001C71
|
|
add r0, #0xfc
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
mov r3, #2
|
|
add r0, r4, #0
|
|
ldr r5, [sp, #0x14]
|
|
lsl r3, r3, #0xe
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
add r0, #0x84
|
|
sub r3, r5, r3
|
|
bl sub_020182A8
|
|
mov r3, #2
|
|
add r0, r4, #0
|
|
ldr r5, [sp, #0x14]
|
|
lsl r3, r3, #0xe
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
add r0, #0xfc
|
|
add r3, r5, r3
|
|
bl sub_020182A8
|
|
b _02266046
|
|
_02265FE8:
|
|
mov r0, #0x17
|
|
ldr r1, [sp, #0xc]
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #7
|
|
ldr r1, [sp]
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
ldr r1, [sp, #8]
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
ldr r1, _02266080 ; =0x0000638D
|
|
add r0, #0x84
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
add r0, r4, #0
|
|
ldr r1, _02266084 ; =0x00009C71
|
|
add r0, #0xfc
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
mov r3, #2
|
|
add r0, r4, #0
|
|
ldr r5, [sp, #0x14]
|
|
lsl r3, r3, #0xe
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
add r0, #0x84
|
|
add r3, r5, r3
|
|
bl sub_020182A8
|
|
mov r3, #2
|
|
add r0, r4, #0
|
|
ldr r5, [sp, #0x14]
|
|
lsl r3, r3, #0xe
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
add r0, #0xfc
|
|
sub r3, r5, r3
|
|
bl sub_020182A8
|
|
_02266046:
|
|
add r4, #0xc
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
ldr r3, [sp, #8]
|
|
add r0, r4, #0
|
|
bl sub_020182A8
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02266058: .word ov49_0226A730
|
|
_0226605C: .word ov49_0226A73C
|
|
_02266060: .word ov49_0226A734
|
|
_02266064: .word 0x00000958
|
|
_02266068: .word 0x0000A38D
|
|
_0226606C: .word 0x0000DC70
|
|
_02266070: .word 0x0000238E
|
|
_02266074: .word 0x00005C71
|
|
_02266078: .word 0x0000E38F
|
|
_0226607C: .word 0x00001C71
|
|
_02266080: .word 0x0000638D
|
|
_02266084: .word 0x00009C71
|
|
thumb_func_end ov49_02265E54
|
|
|
|
thumb_func_start ov49_02266088
|
|
ov49_02266088: ; 0x02266088
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x18
|
|
ldr r3, _02266314 ; =ov49_0226A730
|
|
mov r2, #1
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov49_02265980
|
|
ldr r3, _02266318 ; =ov49_0226A73C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl ov49_02265980
|
|
ldr r3, _0226631C ; =ov49_0226A734
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #2
|
|
bl ov49_02265980
|
|
ldr r3, _02266320 ; =ov49_0226A738
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #3
|
|
bl ov49_02265980
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
ldr r1, _02266324 ; =0x00000958
|
|
mov r2, #8
|
|
str r2, [r4, r1]
|
|
add r0, r1, #4
|
|
str r2, [r4, r0]
|
|
add r1, #8
|
|
str r2, [r4, r1]
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0xc
|
|
bl ov49_02259154
|
|
mov r2, #1
|
|
ldr r0, [sp, #0x10]
|
|
lsl r2, r2, #0x10
|
|
add r0, r0, r2
|
|
str r0, [sp, #0x10]
|
|
ldr r1, [sp, #0xc]
|
|
lsr r0, r2, #1
|
|
add r0, r1, r0
|
|
add r5, sp, #0xc
|
|
str r0, [sp, #0xc]
|
|
ldmia r5!, {r0, r1}
|
|
add r3, sp, #0
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #6
|
|
str r0, [r3]
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, r2
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #8]
|
|
bl ov49_02258E60
|
|
cmp r0, #3
|
|
bls _0226610E
|
|
b _02266302
|
|
_0226610E:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0226611A: ; jump table
|
|
.short _02266122 - _0226611A - 2 ; case 0
|
|
.short _02266194 - _0226611A - 2 ; case 1
|
|
.short _02266208 - _0226611A - 2 ; case 2
|
|
.short _02266286 - _0226611A - 2 ; case 3
|
|
_02266122:
|
|
mov r0, #7
|
|
ldr r1, [sp, #0x14]
|
|
lsl r0, r0, #0xe
|
|
sub r1, r1, r0
|
|
str r1, [sp, #0x14]
|
|
ldr r1, [sp, #8]
|
|
lsr r0, r0, #1
|
|
sub r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
ldr r1, _02266328 ; =0x0000A38D
|
|
add r0, #0x84
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
add r0, r4, #0
|
|
ldr r1, _0226632C ; =0x0000DC70
|
|
add r0, #0xfc
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #2
|
|
ldr r1, _02266330 ; =0x0000BFFF
|
|
add r0, r4, r0
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
mov r1, #2
|
|
add r0, r4, #0
|
|
ldr r2, [sp, #0xc]
|
|
lsl r1, r1, #0xe
|
|
add r1, r2, r1
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, #0x84
|
|
bl sub_020182A8
|
|
mov r1, #2
|
|
add r0, r4, #0
|
|
ldr r2, [sp, #0xc]
|
|
lsl r1, r1, #0xe
|
|
sub r1, r2, r1
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, #0xfc
|
|
bl sub_020182A8
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #2
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, r4, r0
|
|
bl sub_020182A8
|
|
b _02266302
|
|
_02266194:
|
|
mov r0, #6
|
|
ldr r1, [sp, #0x14]
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0xb
|
|
ldr r1, [sp, #8]
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
ldr r1, _02266334 ; =0x0000238E
|
|
add r0, #0x84
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
add r0, r4, #0
|
|
ldr r1, _02266338 ; =0x00005C71
|
|
add r0, #0xfc
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #2
|
|
ldr r1, _0226633C ; =0x00003FFF
|
|
add r0, r4, r0
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
mov r1, #2
|
|
add r0, r4, #0
|
|
ldr r2, [sp, #0xc]
|
|
lsl r1, r1, #0xe
|
|
sub r1, r2, r1
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, #0x84
|
|
bl sub_020182A8
|
|
mov r1, #2
|
|
add r0, r4, #0
|
|
ldr r2, [sp, #0xc]
|
|
lsl r1, r1, #0xe
|
|
add r1, r2, r1
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, #0xfc
|
|
bl sub_020182A8
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #2
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, r4, r0
|
|
bl sub_020182A8
|
|
b _02266302
|
|
_02266208:
|
|
mov r0, #0x17
|
|
ldr r1, [sp, #0xc]
|
|
lsl r0, r0, #0xc
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #7
|
|
ldr r1, [sp]
|
|
lsl r0, r0, #0xc
|
|
sub r0, r1, r0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
ldr r1, [sp, #8]
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
ldr r1, _02266340 ; =0x0000E38F
|
|
add r0, #0x84
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
add r0, r4, #0
|
|
ldr r1, _02266344 ; =0x00001C71
|
|
add r0, #0xfc
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
mov r3, #2
|
|
add r0, r4, #0
|
|
ldr r5, [sp, #0x14]
|
|
lsl r3, r3, #0xe
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
add r0, #0x84
|
|
sub r3, r5, r3
|
|
bl sub_020182A8
|
|
mov r3, #2
|
|
add r0, r4, #0
|
|
ldr r5, [sp, #0x14]
|
|
lsl r3, r3, #0xe
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
add r0, #0xfc
|
|
add r3, r5, r3
|
|
bl sub_020182A8
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #2
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, r4, r0
|
|
bl sub_020182A8
|
|
b _02266302
|
|
_02266286:
|
|
mov r0, #0x17
|
|
ldr r1, [sp, #0xc]
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #7
|
|
ldr r1, [sp]
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
ldr r1, [sp, #8]
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
ldr r1, _02266348 ; =0x0000638D
|
|
add r0, #0x84
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
add r0, r4, #0
|
|
ldr r1, _0226634C ; =0x00009C71
|
|
add r0, #0xfc
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #2
|
|
ldr r1, _02266350 ; =0x00007FFF
|
|
add r0, r4, r0
|
|
mov r2, #1
|
|
bl sub_020182E0
|
|
mov r3, #2
|
|
add r0, r4, #0
|
|
ldr r5, [sp, #0x14]
|
|
lsl r3, r3, #0xe
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
add r0, #0x84
|
|
add r3, r5, r3
|
|
bl sub_020182A8
|
|
mov r3, #2
|
|
add r0, r4, #0
|
|
ldr r5, [sp, #0x14]
|
|
lsl r3, r3, #0xe
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
add r0, #0xfc
|
|
sub r3, r5, r3
|
|
bl sub_020182A8
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #2
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
add r0, r4, r0
|
|
bl sub_020182A8
|
|
_02266302:
|
|
add r4, #0xc
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
ldr r3, [sp, #8]
|
|
add r0, r4, #0
|
|
bl sub_020182A8
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02266314: .word ov49_0226A730
|
|
_02266318: .word ov49_0226A73C
|
|
_0226631C: .word ov49_0226A734
|
|
_02266320: .word ov49_0226A738
|
|
_02266324: .word 0x00000958
|
|
_02266328: .word 0x0000A38D
|
|
_0226632C: .word 0x0000DC70
|
|
_02266330: .word 0x0000BFFF
|
|
_02266334: .word 0x0000238E
|
|
_02266338: .word 0x00005C71
|
|
_0226633C: .word 0x00003FFF
|
|
_02266340: .word 0x0000E38F
|
|
_02266344: .word 0x00001C71
|
|
_02266348: .word 0x0000638D
|
|
_0226634C: .word 0x00009C71
|
|
_02266350: .word 0x00007FFF
|
|
thumb_func_end ov49_02266088
|
|
|
|
thumb_func_start ov49_02266354
|
|
ov49_02266354: ; 0x02266354
|
|
ldr r3, _0226635C ; =ov49_02266B28
|
|
mov r2, #1
|
|
bx r3
|
|
nop
|
|
_0226635C: .word ov49_02266B28
|
|
thumb_func_end ov49_02266354
|
|
|
|
thumb_func_start ov49_02266360
|
|
ov49_02266360: ; 0x02266360
|
|
ldr r3, _02266368 ; =ov49_02266B28
|
|
mov r2, #2
|
|
bx r3
|
|
nop
|
|
_02266368: .word ov49_02266B28
|
|
thumb_func_end ov49_02266360
|
|
|
|
thumb_func_start ov49_0226636C
|
|
ov49_0226636C: ; 0x0226636C
|
|
ldr r3, _02266374 ; =ov49_02266B28
|
|
mov r2, #3
|
|
bx r3
|
|
nop
|
|
_02266374: .word ov49_02266B28
|
|
thumb_func_end ov49_0226636C
|
|
|
|
thumb_func_start ov49_02266378
|
|
ov49_02266378: ; 0x02266378
|
|
ldr r3, _02266380 ; =ov49_02267908
|
|
mov r2, #1
|
|
bx r3
|
|
nop
|
|
_02266380: .word ov49_02267908
|
|
thumb_func_end ov49_02266378
|
|
|
|
thumb_func_start ov49_02266384
|
|
ov49_02266384: ; 0x02266384
|
|
ldr r3, _0226638C ; =ov49_02267908
|
|
mov r2, #2
|
|
bx r3
|
|
nop
|
|
_0226638C: .word ov49_02267908
|
|
thumb_func_end ov49_02266384
|
|
|
|
thumb_func_start ov49_02266390
|
|
ov49_02266390: ; 0x02266390
|
|
ldr r3, _02266398 ; =ov49_02267908
|
|
mov r2, #4
|
|
bx r3
|
|
nop
|
|
_02266398: .word ov49_02267908
|
|
thumb_func_end ov49_02266390
|
|
|
|
thumb_func_start ov49_0226639C
|
|
ov49_0226639C: ; 0x0226639C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r5, _022663DC ; =ov49_0226A7A8
|
|
str r0, [sp, #8]
|
|
add r7, r1, #0
|
|
mov r4, #0
|
|
_022663A8:
|
|
ldrb r3, [r5]
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
lsl r6, r3, #2
|
|
ldr r3, _022663E0 ; =ov49_0226A70C
|
|
add r2, r4, #0
|
|
add r3, r3, r6
|
|
bl ov49_02265980
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #0x10
|
|
blt _022663A8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _022663E4 ; =0x00000954
|
|
ldr r1, _022663E8 ; =ov49_0226A454
|
|
add r0, r7, r0
|
|
mov r2, #2
|
|
mov r3, #0x21
|
|
str r7, [sp, #4]
|
|
bl ov49_02267D98
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_022663DC: .word ov49_0226A7A8
|
|
_022663E0: .word ov49_0226A70C
|
|
_022663E4: .word 0x00000954
|
|
_022663E8: .word ov49_0226A454
|
|
thumb_func_end ov49_0226639C
|
|
|
|
thumb_func_start ov49_022663EC
|
|
ov49_022663EC: ; 0x022663EC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r5, _0226642C ; =ov49_0226A7B8
|
|
str r0, [sp, #8]
|
|
add r7, r1, #0
|
|
mov r4, #0
|
|
_022663F8:
|
|
ldrb r3, [r5]
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
lsl r6, r3, #2
|
|
ldr r3, _02266430 ; =ov49_0226A70C
|
|
add r2, r4, #0
|
|
add r3, r3, r6
|
|
bl ov49_02265980
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #0x10
|
|
blt _022663F8
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02266434 ; =0x00000954
|
|
ldr r1, _02266438 ; =ov49_0226A46C
|
|
add r0, r7, r0
|
|
mov r2, #2
|
|
mov r3, #0x21
|
|
str r7, [sp, #4]
|
|
bl ov49_02267D98
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0226642C: .word ov49_0226A7B8
|
|
_02266430: .word ov49_0226A70C
|
|
_02266434: .word 0x00000954
|
|
_02266438: .word ov49_0226A46C
|
|
thumb_func_end ov49_022663EC
|
|
|
|
thumb_func_start ov49_0226643C
|
|
ov49_0226643C: ; 0x0226643C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r5, _0226647C ; =ov49_0226A7C8
|
|
str r0, [sp, #8]
|
|
add r7, r1, #0
|
|
mov r4, #0
|
|
_02266448:
|
|
ldrb r3, [r5]
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
lsl r6, r3, #2
|
|
ldr r3, _02266480 ; =ov49_0226A70C
|
|
add r2, r4, #0
|
|
add r3, r3, r6
|
|
bl ov49_02265980
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #0x10
|
|
blt _02266448
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _02266484 ; =0x00000954
|
|
ldr r1, _02266488 ; =ov49_0226A4B4
|
|
add r0, r7, r0
|
|
mov r2, #3
|
|
mov r3, #0x21
|
|
str r7, [sp, #4]
|
|
bl ov49_02267D98
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0226647C: .word ov49_0226A7C8
|
|
_02266480: .word ov49_0226A70C
|
|
_02266484: .word 0x00000954
|
|
_02266488: .word ov49_0226A4B4
|
|
thumb_func_end ov49_0226643C
|
|
|
|
thumb_func_start ov49_0226648C
|
|
ov49_0226648C: ; 0x0226648C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r5, _022664CC ; =ov49_0226A7A8
|
|
str r0, [sp, #8]
|
|
add r7, r1, #0
|
|
mov r4, #0
|
|
_02266498:
|
|
ldrb r3, [r5]
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
lsl r6, r3, #2
|
|
ldr r3, _022664D0 ; =ov49_0226A70C
|
|
add r2, r4, #0
|
|
add r3, r3, r6
|
|
bl ov49_02265980
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #0x10
|
|
blt _02266498
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, _022664D4 ; =0x00000954
|
|
ldr r1, _022664D8 ; =ov49_0226A464
|
|
add r0, r7, r0
|
|
mov r2, #2
|
|
mov r3, #0x21
|
|
str r7, [sp, #4]
|
|
bl ov49_02267D98
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_022664CC: .word ov49_0226A7A8
|
|
_022664D0: .word ov49_0226A70C
|
|
_022664D4: .word 0x00000954
|
|
_022664D8: .word ov49_0226A464
|
|
thumb_func_end ov49_0226648C
|
|
|
|
thumb_func_start ov49_022664DC
|
|
ov49_022664DC: ; 0x022664DC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r5, _0226651C ; =ov49_0226A7B8
|
|
str r0, [sp, #8]
|
|
add r7, r1, #0
|
|
mov r4, #0
|
|
_022664E8:
|
|
ldrb r3, [r5]
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
lsl r6, r3, #2
|
|
ldr r3, _02266520 ; =ov49_0226A70C
|
|
add r2, r4, #0
|
|
add r3, r3, r6
|
|
bl ov49_02265980
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #0x10
|
|
blt _022664E8
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, _02266524 ; =0x00000954
|
|
ldr r1, _02266528 ; =ov49_0226A49C
|
|
add r0, r7, r0
|
|
mov r2, #3
|
|
mov r3, #0x29
|
|
str r7, [sp, #4]
|
|
bl ov49_02267D98
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0226651C: .word ov49_0226A7B8
|
|
_02266520: .word ov49_0226A70C
|
|
_02266524: .word 0x00000954
|
|
_02266528: .word ov49_0226A49C
|
|
thumb_func_end ov49_022664DC
|
|
|
|
thumb_func_start ov49_0226652C
|
|
ov49_0226652C: ; 0x0226652C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r5, _0226656C ; =ov49_0226A7C8
|
|
str r0, [sp, #8]
|
|
add r7, r1, #0
|
|
mov r4, #0
|
|
_02266538:
|
|
ldrb r3, [r5]
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
lsl r6, r3, #2
|
|
ldr r3, _02266570 ; =ov49_0226A70C
|
|
add r2, r4, #0
|
|
add r3, r3, r6
|
|
bl ov49_02265980
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #0x10
|
|
blt _02266538
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r0, _02266574 ; =0x00000954
|
|
ldr r1, _02266578 ; =ov49_0226A4C0
|
|
add r0, r7, r0
|
|
mov r2, #3
|
|
mov r3, #0x21
|
|
str r7, [sp, #4]
|
|
bl ov49_02267D98
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0226656C: .word ov49_0226A7C8
|
|
_02266570: .word ov49_0226A70C
|
|
_02266574: .word 0x00000954
|
|
_02266578: .word ov49_0226A4C0
|
|
thumb_func_end ov49_0226652C
|
|
|
|
thumb_func_start ov49_0226657C
|
|
ov49_0226657C: ; 0x0226657C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r5, _022665C0 ; =ov49_0226A7A8
|
|
str r0, [sp, #8]
|
|
add r7, r1, #0
|
|
mov r4, #0
|
|
_02266588:
|
|
ldrb r3, [r5]
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
lsl r6, r3, #2
|
|
ldr r3, _022665C4 ; =ov49_0226A70C
|
|
add r2, r4, #0
|
|
add r3, r3, r6
|
|
bl ov49_02265980
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #0x10
|
|
blt _02266588
|
|
ldr r0, _022665C8 ; =0x00000954
|
|
mov r2, #2
|
|
str r2, [sp]
|
|
ldr r1, _022665CC ; =ov49_0226A47C
|
|
add r0, r7, r0
|
|
mov r3, #0x21
|
|
str r7, [sp, #4]
|
|
bl ov49_02267D98
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
bl ov49_02267C8C
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022665C0: .word ov49_0226A7A8
|
|
_022665C4: .word ov49_0226A70C
|
|
_022665C8: .word 0x00000954
|
|
_022665CC: .word ov49_0226A47C
|
|
thumb_func_end ov49_0226657C
|
|
|
|
thumb_func_start ov49_022665D0
|
|
ov49_022665D0: ; 0x022665D0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r5, _02266614 ; =ov49_0226A7B8
|
|
str r0, [sp, #8]
|
|
add r7, r1, #0
|
|
mov r4, #0
|
|
_022665DC:
|
|
ldrb r3, [r5]
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
lsl r6, r3, #2
|
|
ldr r3, _02266618 ; =ov49_0226A70C
|
|
add r2, r4, #0
|
|
add r3, r3, r6
|
|
bl ov49_02265980
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #0x10
|
|
blt _022665DC
|
|
ldr r0, _0226661C ; =0x00000954
|
|
mov r2, #2
|
|
str r2, [sp]
|
|
ldr r1, _02266620 ; =ov49_0226A45C
|
|
add r0, r7, r0
|
|
mov r3, #0x21
|
|
str r7, [sp, #4]
|
|
bl ov49_02267D98
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
bl ov49_02267C8C
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02266614: .word ov49_0226A7B8
|
|
_02266618: .word ov49_0226A70C
|
|
_0226661C: .word 0x00000954
|
|
_02266620: .word ov49_0226A45C
|
|
thumb_func_end ov49_022665D0
|
|
|
|
thumb_func_start ov49_02266624
|
|
ov49_02266624: ; 0x02266624
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
ldr r5, _02266668 ; =ov49_0226A7C8
|
|
str r0, [sp, #8]
|
|
add r7, r1, #0
|
|
mov r4, #0
|
|
_02266630:
|
|
ldrb r3, [r5]
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
lsl r6, r3, #2
|
|
ldr r3, _0226666C ; =ov49_0226A70C
|
|
add r2, r4, #0
|
|
add r3, r3, r6
|
|
bl ov49_02265980
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #0x10
|
|
blt _02266630
|
|
ldr r0, _02266670 ; =0x00000954
|
|
mov r2, #2
|
|
str r2, [sp]
|
|
ldr r1, _02266674 ; =ov49_0226A474
|
|
add r0, r7, r0
|
|
mov r3, #0x21
|
|
str r7, [sp, #4]
|
|
bl ov49_02267D98
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
bl ov49_02267C8C
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02266668: .word ov49_0226A7C8
|
|
_0226666C: .word ov49_0226A70C
|
|
_02266670: .word 0x00000954
|
|
_02266674: .word ov49_0226A474
|
|
thumb_func_end ov49_02266624
|
|
|
|
thumb_func_start ov49_02266678
|
|
ov49_02266678: ; 0x02266678
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
str r0, [sp, #4]
|
|
add r5, r1, #0
|
|
mov r0, #2
|
|
ldrsh r0, [r5, r0]
|
|
add r0, r0, #1
|
|
cmp r0, #0x36
|
|
bgt _0226668C
|
|
strh r0, [r5, #2]
|
|
_0226668C:
|
|
mov r0, #2
|
|
ldrsh r1, [r5, r0]
|
|
mov r0, #6
|
|
mul r0, r1
|
|
mov r1, #0x36
|
|
bl _s32_div_f
|
|
add r6, r0, #0
|
|
ldr r0, _02266740 ; =0x00000955
|
|
ldrsb r4, [r5, r0]
|
|
cmp r4, r6
|
|
bhs _022666CA
|
|
add r7, r5, #0
|
|
add r7, #0xc
|
|
_022666A8:
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
ldr r0, _02266744 ; =0x00000954
|
|
ldrsb r0, [r5, r0]
|
|
cmp r1, r0
|
|
bhs _022666C4
|
|
mov r0, #0x78
|
|
mul r0, r1
|
|
add r0, r7, r0
|
|
mov r1, #1
|
|
bl sub_020182A0
|
|
_022666C4:
|
|
add r4, r4, #1
|
|
cmp r4, r6
|
|
blo _022666A8
|
|
_022666CA:
|
|
ldr r1, _02266740 ; =0x00000955
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
strb r6, [r5, r1]
|
|
sub r0, r1, #1
|
|
ldrsb r0, [r5, r0]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _02266724
|
|
add r7, r5, #0
|
|
add r7, #0xc
|
|
add r6, r7, #0
|
|
_022666E2:
|
|
add r0, r7, #0
|
|
bl sub_020182A4
|
|
cmp r0, #1
|
|
bne _02266716
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
mov r3, #0
|
|
bl ov49_02265B28
|
|
str r0, [sp, #8]
|
|
cmp r0, #0
|
|
beq _02266716
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
mov r3, #0
|
|
bl ov49_02265BE8
|
|
_02266716:
|
|
ldr r0, _02266744 ; =0x00000954
|
|
add r4, r4, #1
|
|
ldrsb r0, [r5, r0]
|
|
add r7, #0x78
|
|
add r6, #0x78
|
|
cmp r4, r0
|
|
blt _022666E2
|
|
_02266724:
|
|
ldr r0, _02266740 ; =0x00000955
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #6
|
|
blt _02266738
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #1
|
|
bne _02266738
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02266738:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02266740: .word 0x00000955
|
|
_02266744: .word 0x00000954
|
|
thumb_func_end ov49_02266678
|
|
|
|
thumb_func_start ov49_02266748
|
|
ov49_02266748: ; 0x02266748
|
|
ldr r3, _02266750 ; =ov49_02267AF0
|
|
mov r2, #0
|
|
bx r3
|
|
nop
|
|
_02266750: .word ov49_02267AF0
|
|
thumb_func_end ov49_02266748
|
|
|
|
thumb_func_start ov49_02266754
|
|
ov49_02266754: ; 0x02266754
|
|
ldr r3, _0226675C ; =ov49_02267AF0
|
|
mov r2, #1
|
|
bx r3
|
|
nop
|
|
_0226675C: .word ov49_02267AF0
|
|
thumb_func_end ov49_02266754
|
|
|
|
thumb_func_start ov49_02266760
|
|
ov49_02266760: ; 0x02266760
|
|
ldr r3, _02266768 ; =ov49_02267AF0
|
|
mov r2, #2
|
|
bx r3
|
|
nop
|
|
_02266768: .word ov49_02267AF0
|
|
thumb_func_end ov49_02266760
|
|
|
|
thumb_func_start ov49_0226676C
|
|
ov49_0226676C: ; 0x0226676C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
mov r0, #2
|
|
ldrsh r1, [r5, r0]
|
|
lsl r0, r1, #1
|
|
add r1, r1, r0
|
|
asr r0, r1, #4
|
|
lsr r0, r0, #0x1b
|
|
add r0, r1, r0
|
|
asr r4, r0, #5
|
|
ldr r0, _02266818 ; =0x00000954
|
|
ldrsh r1, [r5, r0]
|
|
cmp r4, r1
|
|
beq _022667BA
|
|
strh r4, [r5, r0]
|
|
add r0, r0, #2
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, r4
|
|
bls _022667BA
|
|
cmp r4, #0
|
|
beq _022667AA
|
|
add r2, r5, #0
|
|
sub r1, r4, #1
|
|
mov r0, #0x78
|
|
mul r0, r1
|
|
add r2, #0xc
|
|
add r0, r2, r0
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
_022667AA:
|
|
add r1, r5, #0
|
|
mov r0, #0x78
|
|
add r1, #0xc
|
|
mul r0, r4
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
bl sub_020182A0
|
|
_022667BA:
|
|
mov r0, #2
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0x20
|
|
bge _022667C6
|
|
add r0, r0, #1
|
|
strh r0, [r5, #2]
|
|
_022667C6:
|
|
ldr r0, _0226681C ; =0x00000956
|
|
mov r4, #0
|
|
ldrsh r0, [r5, r0]
|
|
str r4, [sp]
|
|
cmp r0, #0
|
|
ble _02266812
|
|
add r6, r5, #0
|
|
add r6, #0xc
|
|
_022667D6:
|
|
add r0, r6, #0
|
|
bl sub_020182A4
|
|
cmp r0, #0
|
|
beq _02266806
|
|
ldr r0, _0226681C ; =0x00000956
|
|
ldrsh r0, [r5, r0]
|
|
sub r0, r0, #1
|
|
cmp r4, r0
|
|
bne _022667FA
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
mov r3, #0
|
|
bl ov49_02265B28
|
|
str r0, [sp]
|
|
b _02266806
|
|
_022667FA:
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
mov r3, #0
|
|
bl ov49_02265B14
|
|
_02266806:
|
|
ldr r0, _0226681C ; =0x00000956
|
|
add r4, r4, #1
|
|
ldrsh r0, [r5, r0]
|
|
add r6, #0x78
|
|
cmp r4, r0
|
|
blt _022667D6
|
|
_02266812:
|
|
ldr r0, [sp]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02266818: .word 0x00000954
|
|
_0226681C: .word 0x00000956
|
|
thumb_func_end ov49_0226676C
|
|
|
|
thumb_func_start ov49_02266820
|
|
ov49_02266820: ; 0x02266820
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
str r0, [sp, #4]
|
|
ldr r0, _02266968 ; =0x0000087C
|
|
add r5, r1, #0
|
|
ldr r0, [r5, r0]
|
|
ldrb r0, [r0, #2]
|
|
cmp r0, #0x11
|
|
bne _02266836
|
|
bl GF_AssertFail
|
|
_02266836:
|
|
ldr r0, _0226696C ; =0x00000954
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0
|
|
ble _0226684E
|
|
sub r1, r1, #1
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0
|
|
add r0, #0xc
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
b _022668AA
|
|
_0226684E:
|
|
mov r0, #2
|
|
ldrsh r1, [r5, r0]
|
|
cmp r1, #3
|
|
bge _022668AA
|
|
add r0, r5, #0
|
|
add r1, r1, #1
|
|
bl ov49_02265968
|
|
cmp r0, #1
|
|
bne _022668AA
|
|
add r0, r5, #0
|
|
add r0, #0xc
|
|
mov r1, #1
|
|
bl sub_020182A0
|
|
mov r2, #0
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
add r3, r2, #0
|
|
bl ov49_02265B28
|
|
cmp r0, #1
|
|
bne _022668AA
|
|
mov r1, #2
|
|
ldrsh r0, [r5, r1]
|
|
mov r2, #3
|
|
add r0, r0, #1
|
|
strh r0, [r5, #2]
|
|
ldr r0, _0226696C ; =0x00000954
|
|
str r2, [r5, r0]
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, #3
|
|
bge _022668A0
|
|
mov r2, #0
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
add r3, r2, #0
|
|
str r2, [sp]
|
|
bl ov49_02265BE8
|
|
b _022668AA
|
|
_022668A0:
|
|
add r0, r5, #0
|
|
add r0, #0xc
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
_022668AA:
|
|
add r7, r5, #0
|
|
mov r4, #1
|
|
add r7, #0xc
|
|
str r4, [sp, #8]
|
|
add r7, #0x78
|
|
add r6, r5, #4
|
|
_022668B6:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_02265968
|
|
cmp r0, #1
|
|
bne _02266956
|
|
mov r0, #2
|
|
ldrsh r1, [r5, r0]
|
|
sub r0, r4, #1
|
|
cmp r1, r0
|
|
ble _02266952
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
bl sub_020182A0
|
|
mov r0, #0xa
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
mov r3, #0
|
|
bl ov49_02265B94
|
|
cmp r0, #0
|
|
bne _022668F0
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
b _02266956
|
|
_022668F0:
|
|
sub r0, r4, #1
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
ldr r0, _02266970 ; =0x00000958
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _0226691E
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
ldr r0, _02266968 ; =0x0000087C
|
|
ldr r0, [r6, r0]
|
|
ldrb r0, [r0]
|
|
lsl r1, r0, #4
|
|
ldr r0, [sp, #4]
|
|
add r1, r0, r1
|
|
ldr r0, _02266974 ; =0x00010558
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0x1f
|
|
bl NNS_G3dMdlSetMdlAlphaAll
|
|
b _02266956
|
|
_0226691E:
|
|
ldr r0, _02266970 ; =0x00000958
|
|
ldr r0, [r1, r0]
|
|
sub r2, r0, #1
|
|
ldr r0, _02266970 ; =0x00000958
|
|
str r2, [r1, r0]
|
|
sub r0, #0xdc
|
|
ldr r0, [r6, r0]
|
|
ldrb r0, [r0]
|
|
lsl r2, r0, #4
|
|
ldr r0, [sp, #4]
|
|
add r2, r0, r2
|
|
ldr r0, _02266974 ; =0x00010558
|
|
ldr r0, [r2, r0]
|
|
ldr r2, _02266970 ; =0x00000958
|
|
ldr r1, [r1, r2]
|
|
mov r2, #0x14
|
|
mul r2, r1
|
|
asr r1, r2, #2
|
|
lsr r1, r1, #0x1d
|
|
add r1, r2, r1
|
|
asr r1, r1, #3
|
|
bl NNS_G3dMdlSetMdlAlphaAll
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
b _02266956
|
|
_02266952:
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
_02266956:
|
|
add r4, r4, #1
|
|
add r7, #0x78
|
|
add r6, r6, #4
|
|
cmp r4, #3
|
|
ble _022668B6
|
|
ldr r0, [sp, #8]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02266968: .word 0x0000087C
|
|
_0226696C: .word 0x00000954
|
|
_02266970: .word 0x00000958
|
|
_02266974: .word 0x00010558
|
|
thumb_func_end ov49_02266820
|
|
|
|
thumb_func_start ov49_02266978
|
|
ov49_02266978: ; 0x02266978
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
ldrb r2, [r4, #1]
|
|
add r5, r0, #0
|
|
cmp r2, #0
|
|
beq _0226698A
|
|
cmp r2, #1
|
|
beq _022669A0
|
|
b _022669AC
|
|
_0226698A:
|
|
bl ov49_02266D60
|
|
cmp r0, #0
|
|
beq _022669AC
|
|
mov r0, #1
|
|
strb r0, [r4, #1]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_02266EF8
|
|
b _022669AC
|
|
_022669A0:
|
|
bl ov49_022670B8
|
|
cmp r0, #0
|
|
beq _022669AC
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_022669AC:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_02266978
|
|
|
|
thumb_func_start ov49_022669B0
|
|
ov49_022669B0: ; 0x022669B0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
ldr r1, _02266A7C ; =0x00000955
|
|
str r0, [sp]
|
|
add r0, r1, #1
|
|
ldrsb r2, [r5, r1]
|
|
ldrb r0, [r5, r0]
|
|
cmp r2, r0
|
|
bge _02266A1C
|
|
sub r0, r1, #1
|
|
ldrsb r0, [r5, r0]
|
|
add r2, r0, #1
|
|
sub r0, r1, #1
|
|
strb r2, [r5, r0]
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #8
|
|
blt _022669E0
|
|
mov r2, #0
|
|
sub r0, r1, #1
|
|
strb r2, [r5, r0]
|
|
ldrsb r0, [r5, r1]
|
|
add r0, r0, #1
|
|
strb r0, [r5, r1]
|
|
_022669E0:
|
|
ldr r0, _02266A80 ; =0x00000954
|
|
ldrsb r1, [r5, r0]
|
|
lsl r2, r1, #2
|
|
asr r1, r2, #2
|
|
lsr r1, r1, #0x1d
|
|
add r1, r2, r1
|
|
asr r2, r1, #3
|
|
add r1, r0, #1
|
|
ldrsb r1, [r5, r1]
|
|
add r0, r0, #3
|
|
ldrb r6, [r5, r0]
|
|
lsl r1, r1, #2
|
|
add r7, r2, r1
|
|
cmp r6, r7
|
|
bhs _02266A18
|
|
add r1, r5, #0
|
|
mov r0, #0x78
|
|
add r1, #0xc
|
|
mul r0, r6
|
|
add r4, r1, r0
|
|
_02266A08:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl sub_020182A0
|
|
add r6, r6, #1
|
|
add r4, #0x78
|
|
cmp r6, r7
|
|
blo _02266A08
|
|
_02266A18:
|
|
ldr r0, _02266A84 ; =0x00000957
|
|
strb r7, [r5, r0]
|
|
_02266A1C:
|
|
ldr r0, _02266A84 ; =0x00000957
|
|
mov r4, #0
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _02266A5C
|
|
add r7, r5, #0
|
|
add r7, #0xc
|
|
add r6, r7, #0
|
|
_02266A2C:
|
|
add r0, r7, #0
|
|
bl sub_020182A4
|
|
cmp r0, #1
|
|
bne _02266A4E
|
|
ldr r0, [sp]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl ov49_02267A1C
|
|
str r0, [sp, #4]
|
|
cmp r0, #1
|
|
bne _02266A4E
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
_02266A4E:
|
|
ldr r0, _02266A84 ; =0x00000957
|
|
add r4, r4, #1
|
|
ldrb r0, [r5, r0]
|
|
add r7, #0x78
|
|
add r6, #0x78
|
|
cmp r4, r0
|
|
blt _02266A2C
|
|
_02266A5C:
|
|
ldr r0, _02266A7C ; =0x00000955
|
|
ldrsb r1, [r5, r0]
|
|
add r0, r0, #1
|
|
ldrb r0, [r5, r0]
|
|
cmp r1, r0
|
|
bne _02266A74
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #1
|
|
bne _02266A74
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02266A74:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02266A7C: .word 0x00000955
|
|
_02266A80: .word 0x00000954
|
|
_02266A84: .word 0x00000957
|
|
thumb_func_end ov49_022669B0
|
|
|
|
thumb_func_start ov49_02266A88
|
|
ov49_02266A88: ; 0x02266A88
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
mov r1, #2
|
|
ldr r0, _02266AAC ; =0x00000954
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r4, r0
|
|
bl ov49_02267E18
|
|
mov r1, #2
|
|
ldrsh r1, [r4, r1]
|
|
add r1, r1, #1
|
|
strh r1, [r4, #2]
|
|
cmp r0, #2
|
|
bne _02266AA8
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02266AA8:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02266AAC: .word 0x00000954
|
|
thumb_func_end ov49_02266A88
|
|
|
|
thumb_func_start ov49_02266AB0
|
|
ov49_02266AB0: ; 0x02266AB0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
mov r1, #2
|
|
add r6, r0, #0
|
|
ldr r0, _02266AEC ; =0x00000954
|
|
ldrsh r1, [r5, r1]
|
|
add r0, r5, r0
|
|
bl ov49_02267E18
|
|
add r4, r0, #0
|
|
mov r0, #2
|
|
ldrsh r0, [r5, r0]
|
|
add r0, r0, #1
|
|
strh r0, [r5, #2]
|
|
cmp r4, #1
|
|
bne _02266AD8
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov49_02267D00
|
|
_02266AD8:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov49_02267D34
|
|
cmp r4, #2
|
|
bne _02266AE8
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_02266AE8:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02266AEC: .word 0x00000954
|
|
thumb_func_end ov49_02266AB0
|
|
|
|
thumb_func_start ov49_02266AF0
|
|
ov49_02266AF0: ; 0x02266AF0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #8]
|
|
bl ov49_02258F70
|
|
cmp r0, #1
|
|
bne _02266B04
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02266B04:
|
|
mov r4, #0
|
|
_02266B06:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_02265968
|
|
cmp r0, #1
|
|
bne _02266B1C
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl ov49_022659D0
|
|
_02266B1C:
|
|
add r4, r4, #1
|
|
cmp r4, #0x12
|
|
blt _02266B06
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02266AF0
|
|
|
|
thumb_func_start ov49_02266B28
|
|
ov49_02266B28: ; 0x02266B28
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl ov49_02258DAC
|
|
ldr r1, [r4, #8]
|
|
cmp r1, r0
|
|
bne _02266B44
|
|
ldr r0, [r5, #8]
|
|
bl ov49_0225CC44
|
|
_02266B44:
|
|
ldr r0, [r4, #8]
|
|
bl ov49_02258E34
|
|
add r2, sp, #0
|
|
strh r0, [r2]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r2, #2]
|
|
ldrh r0, [r2]
|
|
mov r1, #4
|
|
strh r0, [r2, #4]
|
|
ldrh r0, [r2, #2]
|
|
strh r0, [r2, #6]
|
|
ldrsh r1, [r2, r1]
|
|
ldr r0, [r5, #0xc]
|
|
asr r3, r1, #3
|
|
lsr r3, r3, #0x1c
|
|
add r3, r1, r3
|
|
lsl r1, r3, #0xc
|
|
mov r3, #6
|
|
ldrsh r2, [r2, r3]
|
|
lsr r1, r1, #0x10
|
|
asr r3, r2, #3
|
|
lsr r3, r3, #0x1c
|
|
add r3, r2, r3
|
|
lsl r2, r3, #0xc
|
|
lsr r2, r2, #0x10
|
|
bl ov49_022589C4
|
|
cmp r0, #0x2a
|
|
bne _02266B84
|
|
mov r1, #1
|
|
b _02266B86
|
|
_02266B84:
|
|
mov r1, #0
|
|
_02266B86:
|
|
ldr r0, _02266C58 ; =0x00000965
|
|
cmp r6, #1
|
|
strb r1, [r4, r0]
|
|
beq _02266B96
|
|
cmp r6, #2
|
|
beq _02266BB0
|
|
cmp r6, #3
|
|
b _02266BE2
|
|
_02266B96:
|
|
ldr r3, _02266C5C ; =ov49_0226A74C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl ov49_02265980
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r3, r2, #0
|
|
bl ov49_0226786C
|
|
b _02266C2A
|
|
_02266BB0:
|
|
ldr r3, _02266C5C ; =ov49_0226A74C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl ov49_02265980
|
|
ldr r3, _02266C60 ; =ov49_0226A750
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
bl ov49_02265980
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl ov49_0226786C
|
|
mov r2, #1
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r3, r2, #0
|
|
bl ov49_0226786C
|
|
b _02266C2A
|
|
_02266BE2:
|
|
ldr r3, _02266C5C ; =ov49_0226A74C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl ov49_02265980
|
|
ldr r3, _02266C60 ; =ov49_0226A750
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
bl ov49_02265980
|
|
ldr r3, _02266C64 ; =ov49_0226A754
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #2
|
|
bl ov49_02265980
|
|
mov r2, #0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r3, r2, #0
|
|
bl ov49_0226786C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
mov r3, #2
|
|
bl ov49_0226786C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #2
|
|
mov r3, #1
|
|
bl ov49_0226786C
|
|
_02266C2A:
|
|
ldr r0, _02266C68 ; =0x00000955
|
|
mov r1, #0
|
|
strb r6, [r4, r0]
|
|
ldr r0, [r4, #8]
|
|
bl ov49_02259130
|
|
ldr r0, _02266C58 ; =0x00000965
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _02266C4A
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_02266C6C
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
_02266C4A:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_02266D04
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02266C58: .word 0x00000965
|
|
_02266C5C: .word ov49_0226A74C
|
|
_02266C60: .word ov49_0226A750
|
|
_02266C64: .word ov49_0226A754
|
|
_02266C68: .word 0x00000955
|
|
thumb_func_end ov49_02266B28
|
|
|
|
thumb_func_start ov49_02266C6C
|
|
ov49_02266C6C: ; 0x02266C6C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r1, #0
|
|
ldr r0, [r5, #8]
|
|
add r1, sp, #0x10
|
|
bl ov49_02259154
|
|
ldr r0, _02266CEC ; =0x00000955
|
|
ldrsb r0, [r5, r0]
|
|
sub r1, r0, #1
|
|
ldr r0, _02266CF0 ; =ov49_0226A450
|
|
ldrb r0, [r0, r1]
|
|
cmp r0, #0
|
|
beq _02266C9A
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _02266CA8
|
|
_02266C9A:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_02266CA8:
|
|
ldr r6, [sp, #0x14]
|
|
ldr r4, [sp, #0x18]
|
|
ldr r7, [sp, #0x10]
|
|
bl _ffix
|
|
add r0, r6, r0
|
|
str r0, [sp]
|
|
str r4, [sp, #4]
|
|
str r4, [sp, #8]
|
|
mov r0, #0x6c
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02266CF4 ; =0x00000A04
|
|
add r1, r7, #0
|
|
add r0, r5, r0
|
|
add r2, r7, #0
|
|
add r3, r6, #0
|
|
bl ov49_0226540C
|
|
ldr r0, _02266CF8 ; =0x00000A2C
|
|
mov r3, #2
|
|
ldr r2, _02266CFC ; =0x0000071C
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
lsl r3, r3, #0xe
|
|
bl ov49_022655F4
|
|
add r0, r5, #0
|
|
bl ov49_0226747C
|
|
ldr r0, _02266D00 ; =0x00000956
|
|
mov r1, #0
|
|
strh r1, [r5, r0]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02266CEC: .word 0x00000955
|
|
_02266CF0: .word ov49_0226A450
|
|
_02266CF4: .word 0x00000A04
|
|
_02266CF8: .word 0x00000A2C
|
|
_02266CFC: .word 0x0000071C
|
|
_02266D00: .word 0x00000956
|
|
thumb_func_end ov49_02266C6C
|
|
|
|
thumb_func_start ov49_02266D04
|
|
ov49_02266D04: ; 0x02266D04
|
|
push {r3, r4, lr}
|
|
sub sp, #0x1c
|
|
add r4, r1, #0
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0x10
|
|
bl ov49_02259154
|
|
mov r0, #2
|
|
ldr r3, [sp, #0x14]
|
|
lsl r0, r0, #0xc
|
|
ldr r2, [sp, #0x18]
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r3, r0
|
|
str r0, [sp]
|
|
str r2, [sp, #4]
|
|
str r2, [sp, #8]
|
|
mov r0, #2
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02266D50 ; =0x00000A04
|
|
add r2, r1, #0
|
|
add r0, r4, r0
|
|
bl ov49_0226540C
|
|
ldr r0, _02266D54 ; =0x00000A2C
|
|
mov r1, #0
|
|
ldr r2, _02266D58 ; =0x0000071C
|
|
add r0, r4, r0
|
|
add r3, r1, #0
|
|
bl ov49_022655F4
|
|
add r0, r4, #0
|
|
bl ov49_02267674
|
|
ldr r0, _02266D5C ; =0x00000956
|
|
mov r1, #0
|
|
strh r1, [r4, r0]
|
|
add sp, #0x1c
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_02266D50: .word 0x00000A04
|
|
_02266D54: .word 0x00000A2C
|
|
_02266D58: .word 0x0000071C
|
|
_02266D5C: .word 0x00000956
|
|
thumb_func_end ov49_02266D04
|
|
|
|
thumb_func_start ov49_02266D60
|
|
ov49_02266D60: ; 0x02266D60
|
|
push {r3, lr}
|
|
ldr r2, _02266D78 ; =0x00000965
|
|
ldrb r2, [r1, r2]
|
|
cmp r2, #0
|
|
bne _02266D70
|
|
bl ov49_02266D7C
|
|
pop {r3, pc}
|
|
_02266D70:
|
|
bl ov49_02266E78
|
|
pop {r3, pc}
|
|
nop
|
|
_02266D78: .word 0x00000965
|
|
thumb_func_end ov49_02266D60
|
|
|
|
thumb_func_start ov49_02266D7C
|
|
ov49_02266D7C: ; 0x02266D7C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r1, #0
|
|
ldr r1, _02266E64 ; =0x00000A04
|
|
add r6, r0, #0
|
|
add r0, r5, r1
|
|
sub r1, #0xae
|
|
ldrsh r1, [r5, r1]
|
|
bl ov49_02265434
|
|
str r0, [sp]
|
|
ldr r0, _02266E68 ; =0x00000A2C
|
|
add r0, r5, r0
|
|
bl ov49_02265628
|
|
ldr r0, _02266E6C ; =0x00000956
|
|
ldrsh r1, [r5, r0]
|
|
add r1, r1, #1
|
|
strh r1, [r5, r0]
|
|
ldr r0, [r5, #8]
|
|
add r1, sp, #0xc
|
|
bl ov49_02259154
|
|
ldr r0, _02266E64 ; =0x00000A04
|
|
add r1, sp, #0xc
|
|
add r0, r5, r0
|
|
add r2, sp, #0x10
|
|
add r3, sp, #0x14
|
|
bl ov49_022655E0
|
|
ldr r0, _02266E68 ; =0x00000A2C
|
|
add r1, sp, #8
|
|
add r0, r5, r0
|
|
bl ov49_02265660
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
bne _02266DD0
|
|
ldr r1, [sp, #0xc]
|
|
ldr r0, [sp, #8]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0xc]
|
|
_02266DD0:
|
|
ldr r0, [r5, #8]
|
|
add r1, sp, #0xc
|
|
bl ov49_02259148
|
|
add r0, r5, #0
|
|
bl ov49_0226747C
|
|
ldr r0, _02266E70 ; =0x00000955
|
|
mov r4, #0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _02266DFC
|
|
ldr r7, _02266E70 ; =0x00000955
|
|
_02266DEA:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl ov49_0226789C
|
|
ldrsb r0, [r5, r7]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _02266DEA
|
|
_02266DFC:
|
|
ldr r0, [r6, #4]
|
|
ldr r7, [r5, #8]
|
|
bl ov49_02258DAC
|
|
cmp r7, r0
|
|
bne _02266E5E
|
|
ldr r0, _02266E74 ; =gSystem
|
|
mov r1, #0x40
|
|
ldr r0, [r0, #0x48]
|
|
mov r4, #4
|
|
tst r1, r0
|
|
beq _02266E16
|
|
mov r4, #0
|
|
_02266E16:
|
|
mov r1, #0x80
|
|
tst r1, r0
|
|
beq _02266E1E
|
|
mov r4, #1
|
|
_02266E1E:
|
|
mov r1, #0x10
|
|
tst r1, r0
|
|
beq _02266E26
|
|
mov r4, #3
|
|
_02266E26:
|
|
mov r1, #0x20
|
|
tst r0, r1
|
|
beq _02266E2E
|
|
mov r4, #2
|
|
_02266E2E:
|
|
cmp r4, #4
|
|
beq _02266E5E
|
|
add r0, r7, #0
|
|
add r1, r4, #0
|
|
bl ov49_02259160
|
|
ldr r0, [r5, #8]
|
|
bl ov49_02258E34
|
|
add r1, sp, #4
|
|
strh r0, [r1]
|
|
lsr r0, r0, #0x10
|
|
strh r0, [r1, #2]
|
|
mov r3, sp
|
|
ldrh r2, [r1]
|
|
ldr r0, [r5, #8]
|
|
sub r3, r3, #4
|
|
strh r2, [r3]
|
|
ldrh r1, [r1, #2]
|
|
add r2, r4, #0
|
|
strh r1, [r3, #2]
|
|
ldr r1, [r3]
|
|
bl ov49_02258E04
|
|
_02266E5E:
|
|
ldr r0, [sp]
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02266E64: .word 0x00000A04
|
|
_02266E68: .word 0x00000A2C
|
|
_02266E6C: .word 0x00000956
|
|
_02266E70: .word 0x00000955
|
|
_02266E74: .word gSystem
|
|
thumb_func_end ov49_02266D7C
|
|
|
|
thumb_func_start ov49_02266E78
|
|
ov49_02266E78: ; 0x02266E78
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r1, #0
|
|
ldr r1, _02266EE8 ; =0x00000A04
|
|
add r6, r0, #0
|
|
add r0, r5, r1
|
|
sub r1, #0xae
|
|
ldrsh r1, [r5, r1]
|
|
bl ov49_02265434
|
|
str r0, [sp]
|
|
ldr r0, _02266EEC ; =0x00000A2C
|
|
add r0, r5, r0
|
|
bl ov49_02265628
|
|
ldr r0, _02266EF0 ; =0x00000956
|
|
ldrsh r1, [r5, r0]
|
|
add r1, r1, #1
|
|
strh r1, [r5, r0]
|
|
ldr r0, [r5, #8]
|
|
add r1, sp, #4
|
|
bl ov49_02259154
|
|
ldr r0, _02266EE8 ; =0x00000A04
|
|
add r1, sp, #4
|
|
add r0, r5, r0
|
|
add r2, sp, #8
|
|
add r3, sp, #0xc
|
|
bl ov49_022655E0
|
|
ldr r0, [r5, #8]
|
|
add r1, sp, #4
|
|
bl ov49_02259148
|
|
add r0, r5, #0
|
|
bl ov49_02267674
|
|
ldr r0, _02266EF4 ; =0x00000955
|
|
mov r4, #0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _02266EE0
|
|
ldr r7, _02266EF4 ; =0x00000955
|
|
_02266ECE:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl ov49_0226789C
|
|
ldrsb r0, [r5, r7]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _02266ECE
|
|
_02266EE0:
|
|
ldr r0, [sp]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02266EE8: .word 0x00000A04
|
|
_02266EEC: .word 0x00000A2C
|
|
_02266EF0: .word 0x00000956
|
|
_02266EF4: .word 0x00000955
|
|
thumb_func_end ov49_02266E78
|
|
|
|
thumb_func_start ov49_02266EF8
|
|
ov49_02266EF8: ; 0x02266EF8
|
|
push {r3, lr}
|
|
ldr r2, _02266F10 ; =0x00000965
|
|
ldrb r2, [r1, r2]
|
|
cmp r2, #0
|
|
bne _02266F08
|
|
bl ov49_02266F14
|
|
pop {r3, pc}
|
|
_02266F08:
|
|
bl ov49_02267074
|
|
pop {r3, pc}
|
|
nop
|
|
_02266F10: .word 0x00000965
|
|
thumb_func_end ov49_02266EF8
|
|
|
|
thumb_func_start ov49_02266F14
|
|
ov49_02266F14: ; 0x02266F14
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r5, r1, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #8]
|
|
add r1, sp, #0x24
|
|
bl ov49_02259154
|
|
ldr r0, _0226705C ; =0x00000955
|
|
ldrsb r0, [r5, r0]
|
|
sub r1, r0, #1
|
|
ldr r0, _02267060 ; =ov49_0226A450
|
|
ldrb r0, [r0, r1]
|
|
cmp r0, #0
|
|
beq _02266F44
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _02266F52
|
|
_02266F44:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_02266F52:
|
|
ldr r6, [sp, #0x28]
|
|
ldr r4, [sp, #0x2c]
|
|
ldr r7, [sp, #0x24]
|
|
bl _ffix
|
|
sub r0, r6, r0
|
|
str r0, [sp]
|
|
str r4, [sp, #4]
|
|
str r4, [sp, #8]
|
|
mov r0, #0xa
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _02267064 ; =0x00000A04
|
|
add r1, r7, #0
|
|
add r0, r5, r0
|
|
add r2, r7, #0
|
|
add r3, r6, #0
|
|
bl ov49_0226540C
|
|
ldr r1, _02267068 ; =0x00000956
|
|
mov r4, #0
|
|
strh r4, [r5, r1]
|
|
sub r0, r1, #2
|
|
strb r4, [r5, r0]
|
|
sub r0, r1, #1
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _02267052
|
|
add r0, r5, #0
|
|
str r0, [sp, #0x14]
|
|
add r0, #0xc
|
|
str r0, [sp, #0x14]
|
|
add r0, r1, #0
|
|
add r0, #0x36
|
|
add r1, #0x12
|
|
add r7, r5, r0
|
|
add r6, r5, r1
|
|
_02266F9A:
|
|
ldr r0, [sp, #0x14]
|
|
add r1, sp, #0x24
|
|
add r2, sp, #0x28
|
|
add r3, sp, #0x2c
|
|
bl sub_020182B0
|
|
mov r0, #0x96
|
|
add r1, r5, r4
|
|
lsl r0, r0, #4
|
|
ldrb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _02266FBC
|
|
cmp r0, #1
|
|
beq _02266FD6
|
|
cmp r0, #2
|
|
beq _02266FF0
|
|
b _02267008
|
|
_02266FBC:
|
|
ldr r0, [sp, #0x24]
|
|
ldr r1, [sp, #0x28]
|
|
str r0, [sp, #0x20]
|
|
mov r0, #1
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x2c]
|
|
lsl r0, r0, #0x12
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0x18]
|
|
b _02267008
|
|
_02266FD6:
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x24]
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x20]
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x28]
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x2c]
|
|
str r0, [sp, #0x18]
|
|
b _02267008
|
|
_02266FF0:
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x24]
|
|
lsl r0, r0, #0x12
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0x20]
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x28]
|
|
lsl r0, r0, #0x12
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x2c]
|
|
str r0, [sp, #0x18]
|
|
_02267008:
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r2, [sp, #0x20]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x2c]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x18]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x1a
|
|
str r0, [sp, #0xc]
|
|
ldr r1, [sp, #0x24]
|
|
ldr r3, [sp, #0x28]
|
|
add r0, r7, #0
|
|
bl ov49_0226540C
|
|
mov r3, #6
|
|
ldr r2, _0226706C ; =0x00000AAA
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
lsl r3, r3, #0xc
|
|
bl ov49_022655F4
|
|
ldr r0, [sp, #0x10]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
mov r3, #3
|
|
bl ov49_0226786C
|
|
ldr r0, [sp, #0x14]
|
|
add r4, r4, #1
|
|
add r0, #0x78
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _0226705C ; =0x00000955
|
|
add r7, #0x28
|
|
ldrsb r0, [r5, r0]
|
|
add r6, #0xc
|
|
cmp r4, r0
|
|
blt _02266F9A
|
|
_02267052:
|
|
ldr r0, _02267070 ; =0x00000964
|
|
mov r1, #0
|
|
strb r1, [r5, r0]
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0226705C: .word 0x00000955
|
|
_02267060: .word ov49_0226A450
|
|
_02267064: .word 0x00000A04
|
|
_02267068: .word 0x00000956
|
|
_0226706C: .word 0x00000AAA
|
|
_02267070: .word 0x00000964
|
|
thumb_func_end ov49_02266F14
|
|
|
|
thumb_func_start ov49_02267074
|
|
ov49_02267074: ; 0x02267074
|
|
push {r3, r4, lr}
|
|
sub sp, #0x1c
|
|
add r4, r1, #0
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0x10
|
|
bl ov49_02259154
|
|
mov r0, #2
|
|
ldr r3, [sp, #0x14]
|
|
lsl r0, r0, #0xc
|
|
ldr r2, [sp, #0x18]
|
|
ldr r1, [sp, #0x10]
|
|
sub r0, r3, r0
|
|
str r0, [sp]
|
|
str r2, [sp, #4]
|
|
str r2, [sp, #8]
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _022670B0 ; =0x00000A04
|
|
add r2, r1, #0
|
|
add r0, r4, r0
|
|
bl ov49_0226540C
|
|
ldr r0, _022670B4 ; =0x00000956
|
|
mov r1, #0
|
|
strh r1, [r4, r0]
|
|
sub r0, r0, #2
|
|
strb r1, [r4, r0]
|
|
add sp, #0x1c
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_022670B0: .word 0x00000A04
|
|
_022670B4: .word 0x00000956
|
|
thumb_func_end ov49_02267074
|
|
|
|
thumb_func_start ov49_022670B8
|
|
ov49_022670B8: ; 0x022670B8
|
|
push {r3, lr}
|
|
ldr r2, _022670D0 ; =0x00000965
|
|
ldrb r2, [r1, r2]
|
|
cmp r2, #0
|
|
bne _022670C8
|
|
bl ov49_022670D4
|
|
pop {r3, pc}
|
|
_022670C8:
|
|
bl ov49_02267328
|
|
pop {r3, pc}
|
|
nop
|
|
_022670D0: .word 0x00000965
|
|
thumb_func_end ov49_022670B8
|
|
|
|
thumb_func_start ov49_022670D4
|
|
ov49_022670D4: ; 0x022670D4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x3c
|
|
add r4, r1, #0
|
|
ldr r1, _02267300 ; =0x00000954
|
|
add r6, r0, #0
|
|
ldrsb r0, [r4, r1]
|
|
cmp r0, #4
|
|
bhi _0226710A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022670F0: ; jump table
|
|
.short _022670FA - _022670F0 - 2 ; case 0
|
|
.short _02267112 - _022670F0 - 2 ; case 1
|
|
.short _02267128 - _022670F0 - 2 ; case 2
|
|
.short _0226715E - _022670F0 - 2 ; case 3
|
|
.short _022671B6 - _022670F0 - 2 ; case 4
|
|
_022670FA:
|
|
add r0, r1, #2
|
|
ldrsh r0, [r4, r0]
|
|
add r2, r0, #1
|
|
add r0, r1, #2
|
|
strh r2, [r4, r0]
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #8
|
|
bge _0226710C
|
|
_0226710A:
|
|
b _02267230
|
|
_0226710C:
|
|
mov r0, #1
|
|
strb r0, [r4, r1]
|
|
b _02267230
|
|
_02267112:
|
|
ldr r0, [r4, #8]
|
|
mov r1, #1
|
|
bl ov49_0225919C
|
|
ldr r0, _02267304 ; =0x00000956
|
|
mov r1, #0x10
|
|
strh r1, [r4, r0]
|
|
mov r1, #2
|
|
sub r0, r0, #2
|
|
strb r1, [r4, r0]
|
|
b _02267230
|
|
_02267128:
|
|
add r0, r1, #2
|
|
ldrsh r0, [r4, r0]
|
|
sub r2, r0, #1
|
|
add r0, r1, #2
|
|
strh r2, [r4, r0]
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #0
|
|
bgt _02267230
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0
|
|
bl ov49_0225919C
|
|
ldr r0, _02267300 ; =0x00000954
|
|
mov r1, #3
|
|
strb r1, [r4, r0]
|
|
mov r1, #0
|
|
add r0, r0, #2
|
|
strh r1, [r4, r0]
|
|
ldr r0, [r4, #8]
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl ov49_02259160
|
|
b _02267230
|
|
_0226715E:
|
|
add r0, r1, #0
|
|
add r1, r1, #2
|
|
add r0, #0xb0
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r4, r0
|
|
bl ov49_02265434
|
|
add r5, r0, #0
|
|
ldr r0, _02267304 ; =0x00000956
|
|
ldrsh r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strh r1, [r4, r0]
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0x30
|
|
bl ov49_02259154
|
|
ldr r0, _02267308 ; =0x00000A04
|
|
add r1, sp, #0x30
|
|
add r0, r4, r0
|
|
add r2, sp, #0x34
|
|
add r3, sp, #0x38
|
|
bl ov49_022655E0
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0x30
|
|
bl ov49_02259148
|
|
cmp r5, #1
|
|
bne _02267230
|
|
ldr r0, _02267300 ; =0x00000954
|
|
mov r1, #4
|
|
strb r1, [r4, r0]
|
|
add r1, r0, #2
|
|
mov r2, #0
|
|
strh r2, [r4, r1]
|
|
ldr r1, [sp, #0x34]
|
|
add r0, r0, #4
|
|
str r1, [r4, r0]
|
|
ldr r2, _0226730C ; =0x000005C2
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov49_02265668
|
|
b _02267230
|
|
_022671B6:
|
|
add r0, r1, #2
|
|
ldrsh r1, [r4, r0]
|
|
ldr r0, _02267310 ; =0x00007FFF
|
|
mul r0, r1
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
asr r0, r0, #4
|
|
lsl r1, r0, #2
|
|
ldr r0, _02267314 ; =FX_SinCosTable_
|
|
ldrsh r2, [r0, r1]
|
|
asr r0, r2, #0x1f
|
|
lsr r1, r2, #0x11
|
|
lsl r0, r0, #0xf
|
|
orr r0, r1
|
|
mov r1, #2
|
|
lsl r3, r2, #0xf
|
|
mov r2, #0
|
|
lsl r1, r1, #0xa
|
|
add r1, r3, r1
|
|
adc r0, r2
|
|
lsr r5, r1, #0xc
|
|
lsl r0, r0, #0x14
|
|
orr r5, r0
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0x24
|
|
bl ov49_02259154
|
|
ldr r0, _02267318 ; =0x00000958
|
|
add r1, sp, #0x24
|
|
ldr r0, [r4, r0]
|
|
add r0, r0, r5
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [r4, #8]
|
|
bl ov49_02259148
|
|
ldr r0, _02267304 ; =0x00000956
|
|
ldrsh r1, [r4, r0]
|
|
add r1, r1, #1
|
|
cmp r1, #0xa
|
|
ble _0226722E
|
|
ldr r0, [r4, #8]
|
|
mov r1, #1
|
|
bl ov49_02259130
|
|
ldr r0, [r6, #4]
|
|
ldr r4, [r4, #8]
|
|
bl ov49_02258DAC
|
|
cmp r4, r0
|
|
bne _02267228
|
|
ldr r0, [r6, #8]
|
|
add r1, r4, #0
|
|
bl ov49_0225CC40
|
|
_02267228:
|
|
add sp, #0x3c
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0226722E:
|
|
strh r1, [r4, r0]
|
|
_02267230:
|
|
ldr r1, _0226731C ; =0x00000964
|
|
mov r5, #0
|
|
ldrb r0, [r4, r1]
|
|
add r0, r0, #1
|
|
strb r0, [r4, r1]
|
|
add r0, r1, #0
|
|
sub r0, #0xf
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0
|
|
ble _022672F8
|
|
add r0, r1, #0
|
|
add r0, #0x28
|
|
add r7, r4, r0
|
|
add r0, r1, #4
|
|
add r0, r4, r0
|
|
str r0, [sp, #0x10]
|
|
add r0, r4, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
str r7, [sp, #8]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0xc]
|
|
str r0, [sp]
|
|
_02267262:
|
|
ldr r1, _0226731C ; =0x00000964
|
|
add r0, r7, #0
|
|
ldrb r1, [r4, r1]
|
|
bl ov49_02265434
|
|
cmp r0, #0
|
|
bne _022672AA
|
|
ldr r0, [sp, #0x10]
|
|
bl ov49_02265628
|
|
ldr r0, [sp, #0xc]
|
|
add r1, sp, #0x18
|
|
add r2, sp, #0x1c
|
|
add r3, sp, #0x20
|
|
bl sub_020182B0
|
|
ldr r0, [sp, #8]
|
|
add r1, sp, #0x18
|
|
add r2, sp, #0x1c
|
|
add r3, sp, #0x20
|
|
bl ov49_022655E0
|
|
ldr r0, [sp, #4]
|
|
add r1, sp, #0x14
|
|
bl ov49_02265660
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r2, [sp, #0x1c]
|
|
add r1, r1, r0
|
|
ldr r0, [sp]
|
|
ldr r3, [sp, #0x20]
|
|
str r1, [sp, #0x18]
|
|
bl sub_020182A8
|
|
b _022672C4
|
|
_022672AA:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
add r2, r5, #0
|
|
mov r3, #4
|
|
bl ov49_0226786C
|
|
cmp r0, #1
|
|
bne _022672C4
|
|
ldr r2, _02267320 ; =0x000005A8
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov49_02265668
|
|
_022672C4:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
add r2, r5, #0
|
|
bl ov49_0226789C
|
|
ldr r0, [sp, #0x10]
|
|
add r5, r5, #1
|
|
add r0, #0xc
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0xc]
|
|
add r7, #0x28
|
|
add r0, #0x78
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #8]
|
|
add r0, #0x28
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #4]
|
|
add r0, #0xc
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
add r0, #0x78
|
|
str r0, [sp]
|
|
ldr r0, _02267324 ; =0x00000955
|
|
ldrsb r0, [r4, r0]
|
|
cmp r5, r0
|
|
blt _02267262
|
|
_022672F8:
|
|
mov r0, #0
|
|
add sp, #0x3c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02267300: .word 0x00000954
|
|
_02267304: .word 0x00000956
|
|
_02267308: .word 0x00000A04
|
|
_0226730C: .word 0x000005C2
|
|
_02267310: .word 0x00007FFF
|
|
_02267314: .word FX_SinCosTable_
|
|
_02267318: .word 0x00000958
|
|
_0226731C: .word 0x00000964
|
|
_02267320: .word 0x000005A8
|
|
_02267324: .word 0x00000955
|
|
thumb_func_end ov49_022670D4
|
|
|
|
thumb_func_start ov49_02267328
|
|
ov49_02267328: ; 0x02267328
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r6, r0, #0
|
|
ldr r0, _02267464 ; =0x00000955
|
|
add r4, r1, #0
|
|
ldrsb r0, [r4, r0]
|
|
mov r5, #0
|
|
cmp r0, #0
|
|
ble _0226734E
|
|
ldr r7, _02267464 ; =0x00000955
|
|
_0226733C:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
add r2, r5, #0
|
|
bl ov49_0226789C
|
|
ldrsb r0, [r4, r7]
|
|
add r5, r5, #1
|
|
cmp r5, r0
|
|
blt _0226733C
|
|
_0226734E:
|
|
ldr r1, _02267468 ; =0x00000954
|
|
ldrsb r0, [r4, r1]
|
|
cmp r0, #3
|
|
bls _02267358
|
|
b _0226745C
|
|
_02267358:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02267364: ; jump table
|
|
.short _0226736C - _02267364 - 2 ; case 0
|
|
.short _0226739E - _02267364 - 2 ; case 1
|
|
.short _022673B4 - _02267364 - 2 ; case 2
|
|
.short _022673EA - _02267364 - 2 ; case 3
|
|
_0226736C:
|
|
ldr r2, _0226746C ; =0x000005A8
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov49_02265668
|
|
ldr r0, _02267464 ; =0x00000955
|
|
mov r5, #0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0
|
|
ble _02267396
|
|
ldr r7, _02267464 ; =0x00000955
|
|
_02267382:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
add r2, r5, #0
|
|
mov r3, #4
|
|
bl ov49_0226786C
|
|
ldrsb r0, [r4, r7]
|
|
add r5, r5, #1
|
|
cmp r5, r0
|
|
blt _02267382
|
|
_02267396:
|
|
ldr r0, _02267468 ; =0x00000954
|
|
mov r1, #1
|
|
strb r1, [r4, r0]
|
|
b _0226745C
|
|
_0226739E:
|
|
ldr r0, [r4, #8]
|
|
mov r1, #1
|
|
bl ov49_0225919C
|
|
ldr r0, _02267470 ; =0x00000956
|
|
mov r1, #8
|
|
strh r1, [r4, r0]
|
|
mov r1, #2
|
|
sub r0, r0, #2
|
|
strb r1, [r4, r0]
|
|
b _0226745C
|
|
_022673B4:
|
|
add r0, r1, #2
|
|
ldrsh r0, [r4, r0]
|
|
sub r2, r0, #1
|
|
add r0, r1, #2
|
|
strh r2, [r4, r0]
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #0
|
|
bgt _0226745C
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0
|
|
bl ov49_0225919C
|
|
ldr r0, _02267468 ; =0x00000954
|
|
mov r1, #3
|
|
strb r1, [r4, r0]
|
|
mov r1, #0
|
|
add r0, r0, #2
|
|
strh r1, [r4, r0]
|
|
ldr r0, [r4, #8]
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl ov49_02259160
|
|
b _0226745C
|
|
_022673EA:
|
|
add r0, r1, #0
|
|
add r1, r1, #2
|
|
add r0, #0xb0
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r4, r0
|
|
bl ov49_02265434
|
|
add r5, r0, #0
|
|
ldr r0, _02267470 ; =0x00000956
|
|
ldrsh r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strh r1, [r4, r0]
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0
|
|
bl ov49_02259154
|
|
ldr r0, _02267474 ; =0x00000A04
|
|
add r1, sp, #0
|
|
add r0, r4, r0
|
|
add r2, sp, #4
|
|
add r3, sp, #8
|
|
bl ov49_022655E0
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0
|
|
bl ov49_02259148
|
|
cmp r5, #1
|
|
bne _0226745C
|
|
ldr r0, _02267470 ; =0x00000956
|
|
mov r1, #0
|
|
strh r1, [r4, r0]
|
|
ldr r1, [sp, #4]
|
|
add r0, r0, #2
|
|
str r1, [r4, r0]
|
|
ldr r2, _02267478 ; =0x000005C2
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov49_02265668
|
|
ldr r0, [r4, #8]
|
|
mov r1, #1
|
|
bl ov49_02259130
|
|
ldr r0, [r6, #4]
|
|
ldr r4, [r4, #8]
|
|
bl ov49_02258DAC
|
|
cmp r4, r0
|
|
bne _02267456
|
|
ldr r0, [r6, #8]
|
|
add r1, r4, #0
|
|
bl ov49_0225CC40
|
|
_02267456:
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0226745C:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02267464: .word 0x00000955
|
|
_02267468: .word 0x00000954
|
|
_0226746C: .word 0x000005A8
|
|
_02267470: .word 0x00000956
|
|
_02267474: .word 0x00000A04
|
|
_02267478: .word 0x000005C2
|
|
thumb_func_end ov49_02267328
|
|
|
|
thumb_func_start ov49_0226747C
|
|
ov49_0226747C: ; 0x0226747C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #8]
|
|
add r1, sp, #0
|
|
bl ov49_02259154
|
|
ldr r0, _02267670 ; =0x00000955
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #1
|
|
beq _0226749A
|
|
cmp r0, #2
|
|
beq _022674EA
|
|
cmp r0, #3
|
|
b _02267586
|
|
_0226749A:
|
|
mov r0, #0xf
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
add r6, r0, #0
|
|
mov r0, #2
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
bl _ffix
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl _ffix
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
add r3, r0, #0
|
|
add r1, r1, r4
|
|
add r2, r2, r3
|
|
mov r3, #1
|
|
add r5, #0xc
|
|
ldr r4, [sp, #8]
|
|
lsl r3, r3, #0xc
|
|
add r0, r5, #0
|
|
add r3, r4, r3
|
|
bl sub_020182A8
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
_022674EA:
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
add r6, r0, #0
|
|
mov r0, #2
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
bl _ffix
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl _ffix
|
|
ldr r1, [sp]
|
|
add r3, r0, #0
|
|
ldr r2, [sp, #4]
|
|
add r1, r1, r4
|
|
add r2, r2, r3
|
|
mov r3, #1
|
|
add r0, r5, #0
|
|
ldr r4, [sp, #8]
|
|
lsl r3, r3, #0xc
|
|
add r0, #0xc
|
|
add r3, r4, r3
|
|
bl sub_020182A8
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
add r6, r0, #0
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
bl _ffix
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl _ffix
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
add r3, r0, #0
|
|
add r1, r1, r4
|
|
add r2, r2, r3
|
|
mov r3, #1
|
|
add r5, #0x84
|
|
ldr r4, [sp, #8]
|
|
lsl r3, r3, #0xc
|
|
add r0, r5, #0
|
|
add r3, r4, r3
|
|
bl sub_020182A8
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
_02267586:
|
|
mov r0, #0xf
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
add r6, r0, #0
|
|
mov r0, #2
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
bl _ffix
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl _ffix
|
|
ldr r1, [sp]
|
|
add r3, r0, #0
|
|
ldr r2, [sp, #4]
|
|
add r1, r1, r4
|
|
add r2, r2, r3
|
|
mov r3, #1
|
|
add r0, r5, #0
|
|
ldr r4, [sp, #8]
|
|
lsl r3, r3, #0xc
|
|
add r0, #0xc
|
|
add r3, r4, r3
|
|
bl sub_020182A8
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
add r6, r0, #0
|
|
mov r0, #2
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
bl _ffix
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl _ffix
|
|
ldr r1, [sp]
|
|
add r3, r0, #0
|
|
ldr r2, [sp, #4]
|
|
add r1, r1, r4
|
|
add r2, r2, r3
|
|
mov r3, #1
|
|
add r0, r5, #0
|
|
ldr r4, [sp, #8]
|
|
lsl r3, r3, #0xc
|
|
add r0, #0x84
|
|
add r3, r4, r3
|
|
bl sub_020182A8
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
add r6, r0, #0
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
bl _ffix
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl _ffix
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
add r3, r0, #0
|
|
add r1, r1, r4
|
|
add r2, r2, r3
|
|
mov r3, #1
|
|
add r5, #0xfc
|
|
ldr r4, [sp, #8]
|
|
lsl r3, r3, #0xc
|
|
add r0, r5, #0
|
|
add r3, r4, r3
|
|
bl sub_020182A8
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_02267670: .word 0x00000955
|
|
thumb_func_end ov49_0226747C
|
|
|
|
thumb_func_start ov49_02267674
|
|
ov49_02267674: ; 0x02267674
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #8]
|
|
add r1, sp, #0
|
|
bl ov49_02259154
|
|
ldr r0, _02267868 ; =0x00000955
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #1
|
|
beq _02267692
|
|
cmp r0, #2
|
|
beq _022676E2
|
|
cmp r0, #3
|
|
b _0226777E
|
|
_02267692:
|
|
mov r0, #3
|
|
lsl r0, r0, #0x10
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
add r6, r0, #0
|
|
mov r0, #2
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
bl _ffix
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl _ffix
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
add r3, r0, #0
|
|
add r1, r1, r4
|
|
add r2, r2, r3
|
|
mov r3, #2
|
|
add r5, #0xc
|
|
ldr r4, [sp, #8]
|
|
lsl r3, r3, #0xe
|
|
add r0, r5, #0
|
|
sub r3, r4, r3
|
|
bl sub_020182A8
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
_022676E2:
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
add r6, r0, #0
|
|
mov r0, #2
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
bl _ffix
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl _ffix
|
|
ldr r1, [sp]
|
|
add r3, r0, #0
|
|
ldr r2, [sp, #4]
|
|
add r1, r1, r4
|
|
add r2, r2, r3
|
|
mov r3, #2
|
|
add r0, r5, #0
|
|
ldr r4, [sp, #8]
|
|
lsl r3, r3, #0xe
|
|
add r0, #0xc
|
|
sub r3, r4, r3
|
|
bl sub_020182A8
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
add r6, r0, #0
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
bl _ffix
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl _ffix
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
add r3, r0, #0
|
|
add r1, r1, r4
|
|
add r2, r2, r3
|
|
mov r3, #2
|
|
add r5, #0x84
|
|
ldr r4, [sp, #8]
|
|
lsl r3, r3, #0xe
|
|
add r0, r5, #0
|
|
sub r3, r4, r3
|
|
bl sub_020182A8
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
_0226777E:
|
|
mov r0, #3
|
|
lsl r0, r0, #0x10
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
add r6, r0, #0
|
|
mov r0, #2
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
bl _ffix
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl _ffix
|
|
ldr r1, [sp]
|
|
add r3, r0, #0
|
|
ldr r2, [sp, #4]
|
|
add r1, r1, r4
|
|
add r2, r2, r3
|
|
mov r3, #2
|
|
add r0, r5, #0
|
|
ldr r4, [sp, #8]
|
|
lsl r3, r3, #0xe
|
|
add r0, #0xc
|
|
sub r3, r4, r3
|
|
bl sub_020182A8
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
add r6, r0, #0
|
|
mov r0, #2
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
bl _ffix
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl _ffix
|
|
ldr r1, [sp]
|
|
add r3, r0, #0
|
|
ldr r2, [sp, #4]
|
|
add r1, r1, r4
|
|
add r2, r2, r3
|
|
mov r3, #2
|
|
add r0, r5, #0
|
|
ldr r4, [sp, #8]
|
|
lsl r3, r3, #0xe
|
|
add r0, #0x84
|
|
sub r3, r4, r3
|
|
bl sub_020182A8
|
|
mov r0, #0xb
|
|
lsl r0, r0, #0xe
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
add r6, r0, #0
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
bl _ffix
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl _ffix
|
|
ldr r1, [sp]
|
|
ldr r2, [sp, #4]
|
|
add r3, r0, #0
|
|
add r1, r1, r4
|
|
add r2, r2, r3
|
|
mov r3, #2
|
|
add r5, #0xfc
|
|
ldr r4, [sp, #8]
|
|
lsl r3, r3, #0xe
|
|
add r0, r5, #0
|
|
sub r3, r4, r3
|
|
bl sub_020182A8
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_02267868: .word 0x00000955
|
|
thumb_func_end ov49_02267674
|
|
|
|
thumb_func_start ov49_0226786C
|
|
ov49_0226786C: ; 0x0226786C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
mov r6, #0x96
|
|
lsl r6, r6, #4
|
|
add r5, r1, r6
|
|
add r4, r3, #0
|
|
ldrb r3, [r5, r2]
|
|
cmp r4, r3
|
|
beq _02267896
|
|
strb r4, [r5, r2]
|
|
mov r3, #0
|
|
add r5, r1, r2
|
|
sub r6, r6, #4
|
|
strb r3, [r5, r6]
|
|
lsl r4, r4, #0xd
|
|
str r4, [sp]
|
|
bl ov49_02265BE8
|
|
add sp, #4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_02267896:
|
|
mov r0, #0
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end ov49_0226786C
|
|
|
|
thumb_func_start ov49_0226789C
|
|
ov49_0226789C: ; 0x0226789C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
mov r3, #0x96
|
|
add r7, r1, #0
|
|
add r5, r2, #0
|
|
add r4, r7, r5
|
|
lsl r3, r3, #4
|
|
ldrb r6, [r4, r3]
|
|
sub r3, r3, #4
|
|
add r4, r7, r3
|
|
ldrb r3, [r4, r5]
|
|
str r0, [sp, #4]
|
|
cmp r3, #0
|
|
bne _022678FC
|
|
mov r3, #0
|
|
bl ov49_02265C40
|
|
lsl r1, r6, #0xd
|
|
str r0, [sp, #8]
|
|
cmp r0, r1
|
|
bne _022678D0
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
b _022678E8
|
|
_022678D0:
|
|
cmp r6, #4
|
|
beq _022678D8
|
|
str r1, [sp, #8]
|
|
b _022678E8
|
|
_022678D8:
|
|
add r1, r7, #0
|
|
mov r0, #0x78
|
|
add r1, #0xc
|
|
mul r0, r5
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
_022678E8:
|
|
ldr r0, [sp, #8]
|
|
add r1, r7, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r2, r5, #0
|
|
mov r3, #0
|
|
bl ov49_02265BE8
|
|
mov r0, #8
|
|
strb r0, [r4, r5]
|
|
_022678FC:
|
|
ldrb r0, [r4, r5]
|
|
sub r0, r0, #1
|
|
strb r0, [r4, r5]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_0226789C
|
|
|
|
thumb_func_start ov49_02267908
|
|
ov49_02267908: ; 0x02267908
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x5c
|
|
str r0, [sp, #0x10]
|
|
add r0, r1, #0
|
|
str r1, [sp, #0x14]
|
|
ldr r0, [r0, #8]
|
|
add r1, sp, #0x50
|
|
str r2, [sp, #0x18]
|
|
bl ov49_02259154
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x18]
|
|
cmp r0, #0
|
|
bls _022679E6
|
|
ldr r0, [sp, #0x20]
|
|
str r0, [sp, #0x1c]
|
|
_0226792A:
|
|
ldr r1, [sp, #0x20]
|
|
add r1, #0xd
|
|
cmp r1, #0xf
|
|
bls _02267934
|
|
mov r1, #0xf
|
|
_02267934:
|
|
ldr r0, _02267A04 ; =ov49_0226A4D8
|
|
ldr r7, _02267A08 ; =ov49_0226A508
|
|
str r0, [sp, #0x34]
|
|
lsl r0, r1, #2
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, _02267A0C ; =0x00000968
|
|
str r0, [sp, #0x28]
|
|
add r0, #0xc
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [sp, #0x14]
|
|
mov r4, #0
|
|
add r0, r0, r1
|
|
str r0, [sp, #0x30]
|
|
_02267950:
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r6, _02267A10 ; =ov49_0226A70C
|
|
add r5, r4, r0
|
|
ldr r3, [sp, #0x24]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, [sp, #0x14]
|
|
add r2, r5, #0
|
|
add r3, r6, r3
|
|
bl ov49_02265980
|
|
ldr r1, [sp, #0x34]
|
|
add r0, sp, #0x50
|
|
add r2, sp, #0x44
|
|
bl VEC_Add
|
|
add r0, sp, #0x44
|
|
add r1, r7, #0
|
|
add r2, sp, #0x38
|
|
bl VEC_Add
|
|
mov r0, #0x78
|
|
mul r0, r5
|
|
ldr r1, [sp, #0x28]
|
|
str r0, [sp, #0x2c]
|
|
add r0, r1, r0
|
|
ldr r1, [sp, #0x44]
|
|
ldr r2, [sp, #0x48]
|
|
ldr r3, [sp, #0x4c]
|
|
bl sub_020182A8
|
|
ldr r1, [sp, #0x28]
|
|
ldr r0, [sp, #0x2c]
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
ldr r0, [sp, #0x14]
|
|
mov r1, #0
|
|
add r2, r0, r5
|
|
ldr r0, _02267A14 ; =0x00000958
|
|
strb r1, [r2, r0]
|
|
ldr r0, [sp, #0x3c]
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x4c]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x40]
|
|
str r0, [sp, #8]
|
|
mov r0, #0xe
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x28
|
|
mul r1, r0
|
|
ldr r0, [sp, #0x30]
|
|
ldr r2, [sp, #0x38]
|
|
add r0, r0, r1
|
|
ldr r1, [sp, #0x44]
|
|
ldr r3, [sp, #0x48]
|
|
bl ov49_0226540C
|
|
ldr r0, [sp, #0x34]
|
|
add r4, r4, #1
|
|
add r0, #0xc
|
|
add r7, #0xc
|
|
str r0, [sp, #0x34]
|
|
cmp r4, #4
|
|
blt _02267950
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, r0, #4
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x20]
|
|
add r1, r0, #1
|
|
ldr r0, [sp, #0x18]
|
|
str r1, [sp, #0x20]
|
|
cmp r1, r0
|
|
blo _0226792A
|
|
_022679E6:
|
|
ldr r2, _02267A18 ; =0x00000956
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, [sp, #0x14]
|
|
sub r3, r2, #1
|
|
strb r1, [r0, r2]
|
|
ldr r1, [sp, #0x14]
|
|
mov r0, #0
|
|
strb r0, [r1, r3]
|
|
sub r3, r2, #2
|
|
strb r0, [r1, r3]
|
|
add r2, r2, #1
|
|
strb r0, [r1, r2]
|
|
add sp, #0x5c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02267A04: .word ov49_0226A4D8
|
|
_02267A08: .word ov49_0226A508
|
|
_02267A0C: .word 0x00000968
|
|
_02267A10: .word ov49_0226A70C
|
|
_02267A14: .word 0x00000958
|
|
_02267A18: .word 0x00000956
|
|
thumb_func_end ov49_02267908
|
|
|
|
thumb_func_start ov49_02267A1C
|
|
ov49_02267A1C: ; 0x02267A1C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r4, r2, #0
|
|
ldr r2, _02267A7C ; =0x00000958
|
|
add r5, r1, #0
|
|
add r1, r5, r2
|
|
add r7, r0, #0
|
|
ldrsb r0, [r1, r4]
|
|
add r6, r4, #0
|
|
add r2, #0x10
|
|
add r0, r0, #1
|
|
strb r0, [r1, r4]
|
|
mov r0, #0x28
|
|
mul r6, r0
|
|
add r0, r5, r2
|
|
ldrsb r1, [r1, r4]
|
|
add r0, r0, r6
|
|
bl ov49_02265434
|
|
str r0, [sp]
|
|
ldr r0, _02267A80 ; =0x00000968
|
|
add r1, sp, #4
|
|
add r0, r5, r0
|
|
add r0, r0, r6
|
|
add r2, sp, #8
|
|
add r3, sp, #0xc
|
|
bl ov49_022655E0
|
|
add r1, r5, #0
|
|
mov r0, #0x78
|
|
add r1, #0xc
|
|
mul r0, r4
|
|
add r0, r1, r0
|
|
ldr r1, [sp, #4]
|
|
ldr r2, [sp, #8]
|
|
ldr r3, [sp, #0xc]
|
|
bl sub_020182A8
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
mov r3, #0
|
|
bl ov49_02265B14
|
|
ldr r0, [sp]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02267A7C: .word 0x00000958
|
|
_02267A80: .word 0x00000968
|
|
thumb_func_end ov49_02267A1C
|
|
|
|
thumb_func_start ov49_02267A84
|
|
ov49_02267A84: ; 0x02267A84
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp]
|
|
add r7, r1, #0
|
|
mov r6, #0
|
|
str r2, [sp, #4]
|
|
add r0, r2, #0
|
|
beq _02267ADE
|
|
add r5, r7, #0
|
|
ldr r4, _02267AE8 ; =ov49_0226A70C
|
|
add r5, #0xc
|
|
_02267A9A:
|
|
ldr r0, [sp]
|
|
add r1, r7, #0
|
|
add r2, r6, #0
|
|
add r3, r4, #0
|
|
bl ov49_02265980
|
|
ldr r0, [r7, #8]
|
|
add r1, sp, #8
|
|
bl ov49_02259154
|
|
mov r0, #2
|
|
ldr r1, [sp, #0xc]
|
|
lsl r0, r0, #0xe
|
|
add r2, r1, r0
|
|
mov r0, #6
|
|
ldr r1, [sp, #0x10]
|
|
lsl r0, r0, #0xc
|
|
add r3, r1, r0
|
|
ldr r1, [sp, #8]
|
|
add r0, r5, #0
|
|
str r2, [sp, #0xc]
|
|
str r3, [sp, #0x10]
|
|
bl sub_020182A8
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
ldr r0, [sp, #4]
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, #0x78
|
|
cmp r6, r0
|
|
blo _02267A9A
|
|
_02267ADE:
|
|
ldr r1, _02267AEC ; =0x00000954
|
|
ldr r0, [sp, #4]
|
|
strb r0, [r7, r1]
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02267AE8: .word ov49_0226A70C
|
|
_02267AEC: .word 0x00000954
|
|
thumb_func_end ov49_02267A84
|
|
|
|
thumb_func_start ov49_02267AF0
|
|
ov49_02267AF0: ; 0x02267AF0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
str r0, [sp, #4]
|
|
add r5, r1, #0
|
|
mov r0, #2
|
|
ldrsh r1, [r5, r0]
|
|
mov r0, #0xc
|
|
add r6, r2, #0
|
|
mul r0, r1
|
|
mov r1, #0x30
|
|
bl _s32_div_f
|
|
add r4, r0, #0
|
|
ldr r0, _02267C14 ; =0x00000954
|
|
ldr r1, [r5, r0]
|
|
cmp r4, r1
|
|
beq _02267BF4
|
|
str r4, [r5, r0]
|
|
cmp r4, #0
|
|
beq _02267B42
|
|
mov r0, #0x30
|
|
add r2, r6, #0
|
|
mul r2, r0
|
|
ldr r0, _02267C18 ; =ov49_0226A678
|
|
lsl r1, r4, #2
|
|
add r0, r0, r2
|
|
add r2, r1, r0
|
|
ldrh r0, [r1, r0]
|
|
add r1, sp, #8
|
|
strh r0, [r1, #4]
|
|
ldrh r0, [r2, #2]
|
|
strh r0, [r1, #6]
|
|
ldrh r2, [r1, #4]
|
|
add r0, r5, #0
|
|
mov r1, #0x78
|
|
add r0, #0xc
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
_02267B42:
|
|
mov r0, #0x30
|
|
add r2, r6, #0
|
|
mul r2, r0
|
|
ldr r0, _02267C1C ; =ov49_0226A67C
|
|
lsl r1, r4, #2
|
|
add r0, r0, r2
|
|
add r2, r1, r0
|
|
ldrh r1, [r1, r0]
|
|
add r0, sp, #8
|
|
strh r1, [r0]
|
|
ldrh r4, [r2, #2]
|
|
strh r4, [r0, #2]
|
|
cmp r4, #0
|
|
beq _02267BE2
|
|
beq _02267B74
|
|
lsl r7, r4, #0xc
|
|
add r0, r7, #0
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _02267B84
|
|
_02267B74:
|
|
lsl r7, r4, #0xc
|
|
add r0, r7, #0
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_02267B84:
|
|
add r1, sp, #8
|
|
ldrh r6, [r1]
|
|
bl _ffix
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
mov r3, #0
|
|
bl ov49_02265BE8
|
|
cmp r4, #0
|
|
beq _02267BB0
|
|
add r0, r7, #0
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _02267BBE
|
|
_02267BB0:
|
|
add r0, r7, #0
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_02267BBE:
|
|
bl _ffix
|
|
str r0, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
mov r3, #1
|
|
bl ov49_02265BE8
|
|
add r1, r5, #0
|
|
mov r0, #0x78
|
|
add r1, #0xc
|
|
mul r0, r6
|
|
add r0, r1, r0
|
|
mov r1, #1
|
|
bl sub_020182A0
|
|
b _02267BF4
|
|
_02267BE2:
|
|
ldrh r1, [r0]
|
|
add r2, r5, #0
|
|
mov r0, #0x78
|
|
mul r0, r1
|
|
add r2, #0xc
|
|
add r0, r2, r0
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
_02267BF4:
|
|
mov r0, #2
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0x30
|
|
bge _02267C00
|
|
add r0, r0, #1
|
|
strh r0, [r5, #2]
|
|
_02267C00:
|
|
mov r0, #2
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0x30
|
|
blt _02267C0E
|
|
add sp, #0x10
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02267C0E:
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02267C14: .word 0x00000954
|
|
_02267C18: .word ov49_0226A678
|
|
_02267C1C: .word ov49_0226A67C
|
|
thumb_func_end ov49_02267AF0
|
|
|
|
thumb_func_start ov49_02267C20
|
|
ov49_02267C20: ; 0x02267C20
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp]
|
|
add r7, r1, #0
|
|
mov r4, #0
|
|
str r2, [sp, #4]
|
|
add r0, r2, #0
|
|
beq _02267C74
|
|
add r5, r7, #0
|
|
add r5, #0xc
|
|
_02267C34:
|
|
add r3, r4, #6
|
|
lsl r6, r3, #2
|
|
ldr r3, _02267C84 ; =ov49_0226A70C
|
|
ldr r0, [sp]
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
add r3, r3, r6
|
|
bl ov49_02265980
|
|
ldr r0, [r7, #8]
|
|
add r1, sp, #8
|
|
bl ov49_02259154
|
|
mov r0, #2
|
|
ldr r1, [sp, #0xc]
|
|
lsl r0, r0, #0xe
|
|
add r2, r1, r0
|
|
ldr r1, [sp, #8]
|
|
ldr r3, [sp, #0x10]
|
|
add r0, r5, #0
|
|
str r2, [sp, #0xc]
|
|
bl sub_020182A8
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
ldr r0, [sp, #4]
|
|
add r4, r4, #1
|
|
add r5, #0x78
|
|
cmp r4, r0
|
|
blo _02267C34
|
|
_02267C74:
|
|
ldr r0, _02267C88 ; =0x00000954
|
|
mov r1, #0xff
|
|
strh r1, [r7, r0]
|
|
add r1, r0, #2
|
|
ldr r0, [sp, #4]
|
|
strh r0, [r7, r1]
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02267C84: .word ov49_0226A70C
|
|
_02267C88: .word 0x00000954
|
|
thumb_func_end ov49_02267C20
|
|
|
|
thumb_func_start ov49_02267C8C
|
|
ov49_02267C8C: ; 0x02267C8C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp]
|
|
ldr r0, [r1, #8]
|
|
str r1, [sp, #4]
|
|
add r1, sp, #8
|
|
bl ov49_02259154
|
|
mov r0, #0xa
|
|
ldr r7, [sp, #4]
|
|
mov r4, #0
|
|
ldr r1, [sp, #0x10]
|
|
lsl r0, r0, #0xc
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0x10]
|
|
mov r0, #1
|
|
ldr r1, [sp, #8]
|
|
lsl r0, r0, #0xe
|
|
sub r1, r1, r0
|
|
str r1, [sp, #8]
|
|
ldr r1, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
str r0, [sp, #0xc]
|
|
add r5, r4, #0
|
|
add r7, #0xc
|
|
_02267CC0:
|
|
add r3, r4, #0
|
|
add r3, #0x25
|
|
lsl r6, r3, #2
|
|
ldr r3, _02267CFC ; =ov49_0226A70C
|
|
add r2, r4, #0
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #4]
|
|
add r2, #0x10
|
|
add r3, r3, r6
|
|
bl ov49_02265980
|
|
add r1, r4, #0
|
|
add r1, #0x10
|
|
mov r0, #0x78
|
|
mul r0, r1
|
|
ldr r1, [sp, #8]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r3, [sp, #0x10]
|
|
add r0, r7, r0
|
|
add r1, r1, r5
|
|
bl sub_020182A8
|
|
mov r0, #6
|
|
lsl r0, r0, #0xe
|
|
add r4, r4, #1
|
|
add r5, r5, r0
|
|
cmp r4, #2
|
|
blt _02267CC0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02267CFC: .word ov49_0226A70C
|
|
thumb_func_end ov49_02267C8C
|
|
|
|
thumb_func_start ov49_02267D00
|
|
ov49_02267D00: ; 0x02267D00
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r0, _02267D30 ; =0x00000D0C
|
|
mov r2, #1
|
|
strh r2, [r1, r0]
|
|
add r4, r1, #0
|
|
mov r5, #0
|
|
add r0, r0, #2
|
|
strh r5, [r1, r0]
|
|
add r4, #0xc
|
|
add r7, r2, #0
|
|
mov r6, #0x78
|
|
_02267D16:
|
|
add r0, r5, #0
|
|
add r0, #0x10
|
|
add r1, r0, #0
|
|
mul r1, r6
|
|
add r0, r4, r1
|
|
add r1, r7, #0
|
|
bl sub_020182A0
|
|
add r5, r5, #1
|
|
cmp r5, #2
|
|
blt _02267D16
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02267D30: .word 0x00000D0C
|
|
thumb_func_end ov49_02267D00
|
|
|
|
thumb_func_start ov49_02267D34
|
|
ov49_02267D34: ; 0x02267D34
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _02267D90 ; =0x00000D0C
|
|
add r7, r0, #0
|
|
ldrh r0, [r5, r1]
|
|
cmp r0, #0
|
|
beq _02267D8E
|
|
add r0, r1, #2
|
|
ldrh r0, [r5, r0]
|
|
cmp r0, #0xd
|
|
bhs _02267D56
|
|
add r0, r1, #2
|
|
ldrh r0, [r5, r0]
|
|
add r2, r0, #1
|
|
add r0, r1, #2
|
|
strh r2, [r5, r0]
|
|
b _02267D5A
|
|
_02267D56:
|
|
mov r0, #0
|
|
strh r0, [r5, r1]
|
|
_02267D5A:
|
|
add r6, r5, #0
|
|
mov r4, #0
|
|
add r6, #0xc
|
|
_02267D60:
|
|
ldr r0, _02267D94 ; =0x00000D0E
|
|
ldrh r0, [r5, r0]
|
|
cmp r0, #0xd
|
|
bhs _02267D78
|
|
add r2, r4, #0
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
add r2, #0x10
|
|
mov r3, #0
|
|
bl ov49_02265B14
|
|
b _02267D88
|
|
_02267D78:
|
|
add r1, r4, #0
|
|
add r1, #0x10
|
|
mov r0, #0x78
|
|
mul r0, r1
|
|
add r0, r6, r0
|
|
mov r1, #0
|
|
bl sub_020182A0
|
|
_02267D88:
|
|
add r4, r4, #1
|
|
cmp r4, #2
|
|
blt _02267D60
|
|
_02267D8E:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02267D90: .word 0x00000D0C
|
|
_02267D94: .word 0x00000D0E
|
|
thumb_func_end ov49_02267D34
|
|
|
|
thumb_func_start ov49_02267D98
|
|
ov49_02267D98: ; 0x02267D98
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0x30]
|
|
mov r7, #2
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [sp, #0x34]
|
|
mov r6, #1
|
|
str r0, [sp, #0x34]
|
|
mov r0, #0x3b
|
|
lsl r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r1, r0, #4
|
|
ldr r4, [sp, #0x34]
|
|
strh r2, [r5, r1]
|
|
add r0, r0, #6
|
|
strh r3, [r5, r0]
|
|
mov r0, #0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #3
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
add r4, #0xc
|
|
str r0, [sp, #0xc]
|
|
_02267DC8:
|
|
ldr r1, [sp, #0x10]
|
|
mov r0, #0x78
|
|
mul r0, r1
|
|
add r0, r4, r0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x34]
|
|
ldr r2, [sp, #0xc]
|
|
ldr r0, [r0, #8]
|
|
mov r1, #0x78
|
|
mul r1, r2
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x30]
|
|
mov r2, #0x78
|
|
mov r3, #0x78
|
|
mul r2, r6
|
|
mul r3, r7
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r1, r4, r1
|
|
add r2, r4, r2
|
|
add r3, r4, r3
|
|
bl ov49_02267EBC
|
|
ldr r0, [sp, #0x10]
|
|
add r7, r7, #4
|
|
add r0, r0, #4
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0xc]
|
|
add r6, r6, #4
|
|
add r0, r0, #4
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x14]
|
|
add r5, #0xec
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #4
|
|
blt _02267DC8
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02267D98
|
|
|
|
thumb_func_start ov49_02267E18
|
|
ov49_02267E18: ; 0x02267E18
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xed
|
|
lsl r0, r0, #2
|
|
ldrh r0, [r5, r0]
|
|
str r1, [sp]
|
|
cmp r0, #0
|
|
ble _02267E86
|
|
ldr r4, [sp, #8]
|
|
add r6, sp, #0x10
|
|
_02267E34:
|
|
mov r0, #0x3b
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r1, r0, r4
|
|
ldrh r0, [r0, r4]
|
|
strh r0, [r6]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r6, #2]
|
|
ldrh r1, [r6]
|
|
ldr r0, [sp]
|
|
cmp r1, r0
|
|
bne _02267E72
|
|
ldrb r7, [r6, #2]
|
|
cmp r7, #4
|
|
blo _02267E56
|
|
bl GF_AssertFail
|
|
_02267E56:
|
|
ldrb r0, [r6, #3]
|
|
str r0, [sp, #4]
|
|
cmp r0, #4
|
|
bls _02267E62
|
|
bl GF_AssertFail
|
|
_02267E62:
|
|
mov r0, #0xec
|
|
mul r0, r7
|
|
ldr r1, [sp, #4]
|
|
add r0, r5, r0
|
|
bl ov49_02267EF8
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
_02267E72:
|
|
ldr r0, [sp, #0xc]
|
|
add r4, r4, #4
|
|
add r0, r0, #1
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xed
|
|
lsl r0, r0, #2
|
|
ldrh r1, [r5, r0]
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, r1
|
|
blt _02267E34
|
|
_02267E86:
|
|
mov r7, #1
|
|
mov r6, #0
|
|
add r4, r5, #0
|
|
_02267E8C:
|
|
add r0, r4, #0
|
|
bl ov49_02267F40
|
|
cmp r0, #0
|
|
bne _02267E98
|
|
mov r7, #0
|
|
_02267E98:
|
|
add r6, r6, #1
|
|
add r4, #0xec
|
|
cmp r6, #4
|
|
blt _02267E8C
|
|
ldr r0, _02267EB8 ; =0x000003B6
|
|
ldrh r1, [r5, r0]
|
|
ldr r0, [sp]
|
|
cmp r1, r0
|
|
bhi _02267EB2
|
|
cmp r7, #1
|
|
bne _02267EB2
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
_02267EB2:
|
|
ldr r0, [sp, #8]
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02267EB8: .word 0x000003B6
|
|
thumb_func_end ov49_02267E18
|
|
|
|
thumb_func_start ov49_02267EBC
|
|
ov49_02267EBC: ; 0x02267EBC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0x20]
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
cmp r0, #3
|
|
blo _02267ED0
|
|
bl GF_AssertFail
|
|
_02267ED0:
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
str r4, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xdc
|
|
str r6, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
str r7, [r0]
|
|
add r0, r5, #0
|
|
ldr r1, [sp, #0x18]
|
|
add r0, #0xe4
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, #0xe8
|
|
str r1, [r0]
|
|
ldr r0, [sp, #0x20]
|
|
strh r0, [r5, #2]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_02267EBC
|
|
|
|
thumb_func_start ov49_02267EF8
|
|
ov49_02267EF8: ; 0x02267EF8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
add r6, r1, #0
|
|
ldr r4, _02267F38 ; =0x00000000
|
|
beq _02267F18
|
|
add r5, r7, #0
|
|
_02267F04:
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl sub_020182A0
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, r6
|
|
blo _02267F04
|
|
_02267F18:
|
|
mov r0, #0
|
|
strh r0, [r7]
|
|
mov r0, #1
|
|
strb r0, [r7, #6]
|
|
strh r6, [r7, #4]
|
|
ldrh r2, [r7, #2]
|
|
add r1, r7, #0
|
|
add r1, #0xe8
|
|
lsl r3, r2, #2
|
|
ldr r2, _02267F3C ; =ov49_0226A4CC
|
|
ldr r1, [r1]
|
|
ldr r2, [r2, r3]
|
|
add r0, r7, #0
|
|
blx r2
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02267F38: .word 0x00000000
|
|
_02267F3C: .word ov49_0226A4CC
|
|
thumb_func_end ov49_02267EF8
|
|
|
|
thumb_func_start ov49_02267F40
|
|
ov49_02267F40: ; 0x02267F40
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldrb r1, [r5, #6]
|
|
cmp r1, #0
|
|
bne _02267F4E
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02267F4E:
|
|
ldrh r1, [r5, #2]
|
|
lsl r2, r1, #2
|
|
ldr r1, _02267F90 ; =ov49_0226A484
|
|
ldr r1, [r1, r2]
|
|
blx r1
|
|
mov r6, #0
|
|
str r0, [sp]
|
|
ldrsh r0, [r5, r6]
|
|
add r0, r0, #1
|
|
strh r0, [r5]
|
|
ldr r0, [sp]
|
|
cmp r0, #1
|
|
bne _02267F8C
|
|
ldrh r0, [r5, #4]
|
|
cmp r0, #0
|
|
ble _02267F88
|
|
add r4, r5, #0
|
|
add r7, r6, #0
|
|
_02267F72:
|
|
add r0, r4, #0
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
add r1, r7, #0
|
|
bl sub_020182A0
|
|
ldrh r0, [r5, #4]
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, r0
|
|
blt _02267F72
|
|
_02267F88:
|
|
mov r0, #0
|
|
strb r0, [r5, #6]
|
|
_02267F8C:
|
|
ldr r0, [sp]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02267F90: .word ov49_0226A484
|
|
thumb_func_end ov49_02267F40
|
|
|
|
thumb_func_start ov49_02267F94
|
|
ov49_02267F94: ; 0x02267F94
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
str r0, [sp, #0x10]
|
|
add r0, r1, #0
|
|
add r1, sp, #0x24
|
|
bl ov49_02259154
|
|
mov r1, #2
|
|
ldr r0, [sp, #0x24]
|
|
lsl r1, r1, #0xe
|
|
add r0, r0, r1
|
|
str r0, [sp, #0x24]
|
|
ldr r2, [sp, #0x28]
|
|
lsl r0, r1, #1
|
|
add r0, r2, r0
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [sp, #0x2c]
|
|
mov r4, #0
|
|
sub r0, r0, r1
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x10]
|
|
ldrh r0, [r0, #4]
|
|
cmp r0, #0
|
|
ble _022680A8
|
|
ldr r0, [sp, #0x10]
|
|
str r0, [sp, #0x1c]
|
|
add r0, #8
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x10]
|
|
str r0, [sp, #0x18]
|
|
add r0, #0xa8
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
_02267FD8:
|
|
cmp r4, #3
|
|
bhi _02268056
|
|
add r0, r4, r4
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02267FE8: ; jump table
|
|
.short _02267FF0 - _02267FE8 - 2 ; case 0
|
|
.short _02268008 - _02267FE8 - 2 ; case 1
|
|
.short _02268020 - _02267FE8 - 2 ; case 2
|
|
.short _0226803C - _02267FE8 - 2 ; case 3
|
|
_02267FF0:
|
|
mov r0, #3
|
|
ldr r1, [sp, #0x24]
|
|
lsl r0, r0, #0xe
|
|
sub r7, r1, r0
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x28]
|
|
lsl r0, r0, #0x10
|
|
add r6, r1, r0
|
|
ldr r5, [sp, #0x2c]
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
b _02268056
|
|
_02268008:
|
|
mov r0, #3
|
|
ldr r1, [sp, #0x24]
|
|
lsl r0, r0, #0xe
|
|
add r7, r1, r0
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x28]
|
|
lsl r0, r0, #0x10
|
|
add r6, r1, r0
|
|
ldr r5, [sp, #0x2c]
|
|
ldr r0, _022680AC ; =0x00007FFF
|
|
str r0, [sp, #0x20]
|
|
b _02268056
|
|
_02268020:
|
|
mov r0, #2
|
|
ldr r1, [sp, #0x24]
|
|
lsl r0, r0, #0xe
|
|
sub r7, r1, r0
|
|
ldr r1, [sp, #0x28]
|
|
lsl r0, r0, #1
|
|
add r6, r1, r0
|
|
mov r0, #6
|
|
ldr r1, [sp, #0x2c]
|
|
lsl r0, r0, #0xc
|
|
sub r5, r1, r0
|
|
ldr r0, _022680AC ; =0x00007FFF
|
|
str r0, [sp, #0x20]
|
|
b _02268056
|
|
_0226803C:
|
|
mov r0, #2
|
|
ldr r1, [sp, #0x24]
|
|
lsl r0, r0, #0xe
|
|
add r7, r1, r0
|
|
ldr r1, [sp, #0x28]
|
|
lsl r0, r0, #1
|
|
add r6, r1, r0
|
|
mov r0, #6
|
|
ldr r1, [sp, #0x2c]
|
|
lsl r0, r0, #0xc
|
|
sub r5, r1, r0
|
|
mov r0, #0
|
|
str r0, [sp, #0x20]
|
|
_02268056:
|
|
str r6, [sp]
|
|
ldr r0, [sp, #0x2c]
|
|
add r2, r7, #0
|
|
str r0, [sp, #4]
|
|
str r5, [sp, #8]
|
|
mov r0, #0x12
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r1, [sp, #0x24]
|
|
ldr r3, [sp, #0x28]
|
|
bl ov49_0226540C
|
|
mov r3, #6
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x20]
|
|
ldr r2, _022680B0 ; =0x00000CCC
|
|
lsl r3, r3, #0xc
|
|
bl ov49_022655F4
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x24]
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
ldr r2, [sp, #0x28]
|
|
ldr r3, [sp, #0x2c]
|
|
bl sub_020182A8
|
|
ldr r0, [sp, #0x1c]
|
|
add r4, r4, #1
|
|
add r0, #0x28
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, #0xc
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, #4
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x10]
|
|
ldrh r0, [r0, #4]
|
|
cmp r4, r0
|
|
blt _02267FD8
|
|
_022680A8:
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022680AC: .word 0x00007FFF
|
|
_022680B0: .word 0x00000CCC
|
|
thumb_func_end ov49_02267F94
|
|
|
|
thumb_func_start ov49_022680B4
|
|
ov49_022680B4: ; 0x022680B4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp]
|
|
ldrh r0, [r0, #4]
|
|
cmp r0, #0
|
|
ble _02268134
|
|
ldr r0, [sp]
|
|
ldr r6, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, #0xa8
|
|
add r6, #8
|
|
ldr r5, [sp]
|
|
str r0, [sp, #4]
|
|
add r4, r0, #0
|
|
add r7, r6, #0
|
|
_022680D8:
|
|
ldr r0, [sp, #4]
|
|
bl ov49_02265628
|
|
ldr r2, [sp]
|
|
mov r1, #0
|
|
ldrsh r1, [r2, r1]
|
|
add r0, r6, #0
|
|
bl ov49_02265434
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, sp, #0x10
|
|
bl ov49_02265660
|
|
add r0, r7, #0
|
|
add r1, sp, #0x14
|
|
add r2, sp, #0x18
|
|
add r3, sp, #0x1c
|
|
bl ov49_022655E0
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r2, [sp, #0x18]
|
|
add r1, r1, r0
|
|
add r0, r5, #0
|
|
str r1, [sp, #0x14]
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
ldr r3, [sp, #0x1c]
|
|
bl sub_020182A8
|
|
ldr r0, [sp, #4]
|
|
add r6, #0x28
|
|
add r0, #0xc
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0xc]
|
|
add r4, #0xc
|
|
add r0, r0, #1
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp]
|
|
add r7, #0x28
|
|
ldrh r1, [r0, #4]
|
|
ldr r0, [sp, #0xc]
|
|
add r5, r5, #4
|
|
cmp r0, r1
|
|
blt _022680D8
|
|
_02268134:
|
|
ldr r0, [sp, #8]
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_022680B4
|
|
|
|
thumb_func_start ov49_0226813C
|
|
ov49_0226813C: ; 0x0226813C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
str r0, [sp, #0x10]
|
|
add r0, r1, #0
|
|
add r1, sp, #0x1c
|
|
bl ov49_02259154
|
|
mov r0, #2
|
|
ldr r1, [sp, #0x1c]
|
|
lsl r0, r0, #0xe
|
|
add r1, r1, r0
|
|
str r1, [sp, #0x1c]
|
|
ldr r1, [sp, #0x20]
|
|
mov r4, #0
|
|
add r1, r1, r0
|
|
str r1, [sp, #0x20]
|
|
ldr r1, [sp, #0x24]
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x10]
|
|
ldrh r0, [r0, #4]
|
|
cmp r0, #0
|
|
ble _0226821E
|
|
ldr r1, [sp, #0x10]
|
|
str r1, [sp, #0x18]
|
|
add r1, #8
|
|
str r1, [sp, #0x18]
|
|
ldr r1, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
add r1, #0xa8
|
|
str r1, [sp, #0x14]
|
|
_0226817A:
|
|
cmp r4, #3
|
|
bhi _022681E2
|
|
add r1, r4, r4
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_0226818A: ; jump table
|
|
.short _02268192 - _0226818A - 2 ; case 0
|
|
.short _022681A2 - _0226818A - 2 ; case 1
|
|
.short _022681B2 - _0226818A - 2 ; case 2
|
|
.short _022681D4 - _0226818A - 2 ; case 3
|
|
_02268192:
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x1c]
|
|
lsl r0, r0, #0x10
|
|
sub r7, r1, r0
|
|
ldr r1, [sp, #0x24]
|
|
ldr r6, [sp, #0x20]
|
|
add r5, r1, r0
|
|
b _022681E2
|
|
_022681A2:
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x1c]
|
|
lsl r0, r0, #0x10
|
|
add r7, r1, r0
|
|
ldr r1, [sp, #0x24]
|
|
ldr r6, [sp, #0x20]
|
|
add r5, r1, r0
|
|
b _022681E2
|
|
_022681B2:
|
|
cmp r0, #3
|
|
bne _022681C4
|
|
mov r0, #2
|
|
ldr r1, [sp, #0x24]
|
|
lsl r0, r0, #0x10
|
|
ldr r7, [sp, #0x1c]
|
|
ldr r6, [sp, #0x20]
|
|
sub r5, r1, r0
|
|
b _022681E2
|
|
_022681C4:
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x1c]
|
|
lsl r0, r0, #0x10
|
|
sub r7, r1, r0
|
|
ldr r1, [sp, #0x24]
|
|
ldr r6, [sp, #0x20]
|
|
sub r5, r1, r0
|
|
b _022681E2
|
|
_022681D4:
|
|
mov r0, #1
|
|
ldr r1, [sp, #0x1c]
|
|
lsl r0, r0, #0x10
|
|
add r7, r1, r0
|
|
ldr r1, [sp, #0x24]
|
|
ldr r6, [sp, #0x20]
|
|
sub r5, r1, r0
|
|
_022681E2:
|
|
str r6, [sp]
|
|
ldr r0, [sp, #0x24]
|
|
add r2, r7, #0
|
|
str r0, [sp, #4]
|
|
str r5, [sp, #8]
|
|
mov r0, #0x13
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r3, [sp, #0x20]
|
|
bl ov49_0226540C
|
|
mov r3, #2
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, _02268228 ; =0x00001555
|
|
ldr r2, _0226822C ; =0x0000071C
|
|
lsl r3, r3, #0x10
|
|
bl ov49_022655F4
|
|
ldr r0, [sp, #0x18]
|
|
add r4, r4, #1
|
|
add r0, #0x28
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, #0xc
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x10]
|
|
ldrh r0, [r0, #4]
|
|
cmp r4, r0
|
|
blt _0226817A
|
|
_0226821E:
|
|
ldr r0, [sp, #0x10]
|
|
bl ov49_02268230
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02268228: .word 0x00001555
|
|
_0226822C: .word 0x0000071C
|
|
thumb_func_end ov49_0226813C
|
|
|
|
thumb_func_start ov49_02268230
|
|
ov49_02268230: ; 0x02268230
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldrh r0, [r5, #4]
|
|
cmp r0, #0
|
|
ble _022682C2
|
|
add r4, r5, #0
|
|
add r0, r5, #0
|
|
add r4, #0xa8
|
|
str r0, [sp, #4]
|
|
add r0, #8
|
|
str r0, [sp, #4]
|
|
str r4, [sp]
|
|
add r6, r0, #0
|
|
add r7, r5, #0
|
|
_02268252:
|
|
mov r0, #0
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0xe
|
|
bne _0226826A
|
|
mov r3, #3
|
|
ldr r2, _022682D0 ; =0x00000E38
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
lsl r3, r3, #0xe
|
|
bl ov49_022655F4
|
|
b _02268270
|
|
_0226826A:
|
|
add r0, r4, #0
|
|
bl ov49_02265628
|
|
_02268270:
|
|
mov r1, #0
|
|
ldrsh r1, [r5, r1]
|
|
ldr r0, [sp, #4]
|
|
bl ov49_02265434
|
|
ldr r0, [sp]
|
|
add r1, sp, #0xc
|
|
bl ov49_02265660
|
|
add r0, r6, #0
|
|
add r1, sp, #0x10
|
|
add r2, sp, #0x14
|
|
add r3, sp, #0x18
|
|
bl ov49_022655E0
|
|
ldr r1, [sp, #0x14]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r3, [sp, #0x18]
|
|
add r2, r1, r0
|
|
add r0, r7, #0
|
|
str r2, [sp, #0x14]
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
ldr r1, [sp, #0x10]
|
|
bl sub_020182A8
|
|
ldr r0, [sp, #4]
|
|
ldrh r1, [r5, #4]
|
|
add r0, #0x28
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
add r4, #0xc
|
|
add r0, #0xc
|
|
str r0, [sp]
|
|
ldr r0, [sp, #8]
|
|
add r6, #0x28
|
|
add r0, r0, #1
|
|
add r7, r7, #4
|
|
str r0, [sp, #8]
|
|
cmp r0, r1
|
|
blt _02268252
|
|
_022682C2:
|
|
mov r0, #0
|
|
ldrsh r1, [r5, r0]
|
|
cmp r1, #0x16
|
|
blt _022682CC
|
|
mov r0, #1
|
|
_022682CC:
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022682D0: .word 0x00000E38
|
|
thumb_func_end ov49_02268230
|
|
|
|
thumb_func_start ov49_022682D4
|
|
ov49_022682D4: ; 0x022682D4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
add r1, sp, #0x10
|
|
bl ov49_02259154
|
|
mov r1, #2
|
|
ldr r0, [sp, #0x10]
|
|
lsl r1, r1, #0xe
|
|
add r0, r0, r1
|
|
str r0, [sp, #0x10]
|
|
mov r0, #5
|
|
ldr r2, [sp, #0x14]
|
|
lsl r0, r0, #0xe
|
|
add r0, r2, r0
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x18]
|
|
mov r4, #0
|
|
sub r0, r0, r1
|
|
str r0, [sp, #0x18]
|
|
ldrh r0, [r5, #4]
|
|
cmp r0, #0
|
|
ble _02268330
|
|
mov r6, #5
|
|
mov r7, #7
|
|
lsl r6, r6, #0xc
|
|
lsl r7, r7, #0xc
|
|
_0226830C:
|
|
str r6, [sp]
|
|
mov r0, #0xe
|
|
mov r3, #0xd
|
|
str r7, [sp, #4]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, sp, #0x10
|
|
lsl r3, r3, #0xc
|
|
bl ov49_022683FC
|
|
ldrh r0, [r5, #4]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _0226830C
|
|
_02268330:
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_022682D4
|
|
|
|
thumb_func_start ov49_02268334
|
|
ov49_02268334: ; 0x02268334
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r5, r0, #0
|
|
ldrh r0, [r5, #4]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _022683D6
|
|
add r4, r5, #0
|
|
str r4, [sp, #0x10]
|
|
add r4, #8
|
|
str r4, [sp, #0x10]
|
|
add r7, r5, #0
|
|
_0226834C:
|
|
mov r1, #0
|
|
ldrsh r1, [r5, r1]
|
|
ldr r0, [sp, #0x10]
|
|
bl ov49_02265434
|
|
str r0, [sp, #0x14]
|
|
add r0, r4, #0
|
|
add r1, sp, #0x18
|
|
add r2, sp, #0x1c
|
|
add r3, sp, #0x20
|
|
bl ov49_022655E0
|
|
add r0, r7, #0
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
ldr r1, [sp, #0x18]
|
|
ldr r2, [sp, #0x1c]
|
|
ldr r3, [sp, #0x20]
|
|
bl sub_020182A8
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #1
|
|
bne _022683C4
|
|
ldrb r0, [r5, #7]
|
|
add r2, sp, #0x18
|
|
cmp r0, #0
|
|
bne _022683A2
|
|
mov r0, #1
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp]
|
|
ldr r0, _022683F8 ; =0xFFFFD000
|
|
ldr r3, _022683F8 ; =0xFFFFD000
|
|
str r0, [sp, #4]
|
|
mov r0, #3
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov49_022683FC
|
|
b _022683C4
|
|
_022683A2:
|
|
mov r0, #5
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #4]
|
|
mov r0, #0xa
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
mov r3, #0xa
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
lsl r3, r3, #0xc
|
|
bl ov49_022683FC
|
|
_022683C4:
|
|
ldr r0, [sp, #0x10]
|
|
add r6, r6, #1
|
|
add r0, #0x28
|
|
str r0, [sp, #0x10]
|
|
ldrh r0, [r5, #4]
|
|
add r4, #0x28
|
|
add r7, r7, #4
|
|
cmp r6, r0
|
|
blt _0226834C
|
|
_022683D6:
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #1
|
|
bne _022683F2
|
|
ldrb r0, [r5, #7]
|
|
add r0, r0, #1
|
|
cmp r0, #3
|
|
bge _022683EC
|
|
strb r0, [r5, #7]
|
|
mov r0, #0
|
|
strh r0, [r5]
|
|
b _022683F2
|
|
_022683EC:
|
|
add sp, #0x24
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_022683F2:
|
|
mov r0, #0
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022683F8: .word 0xFFFFD000
|
|
thumb_func_end ov49_02268334
|
|
|
|
thumb_func_start ov49_022683FC
|
|
ov49_022683FC: ; 0x022683FC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
cmp r5, #3
|
|
bhi _0226845A
|
|
add r3, r5, r5
|
|
add r3, pc
|
|
ldrh r3, [r3, #6]
|
|
lsl r3, r3, #0x10
|
|
asr r3, r3, #0x10
|
|
add pc, r3
|
|
_02268418: ; jump table
|
|
.short _02268420 - _02268418 - 2 ; case 0
|
|
.short _0226842E - _02268418 - 2 ; case 1
|
|
.short _0226843C - _02268418 - 2 ; case 2
|
|
.short _0226844C - _02268418 - 2 ; case 3
|
|
_02268420:
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #4]
|
|
sub r2, r0, r6
|
|
ldr r0, [sp, #0x28]
|
|
add r0, r1, r0
|
|
ldr r1, [r4, #8]
|
|
b _0226845A
|
|
_0226842E:
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #4]
|
|
add r2, r0, r6
|
|
ldr r0, [sp, #0x28]
|
|
add r0, r1, r0
|
|
ldr r1, [r4, #8]
|
|
b _0226845A
|
|
_0226843C:
|
|
ldr r1, [r4]
|
|
ldr r0, [sp, #0x2c]
|
|
sub r2, r1, r0
|
|
ldr r1, [r4, #4]
|
|
ldr r0, [sp, #0x30]
|
|
add r0, r1, r0
|
|
ldr r1, [r4, #8]
|
|
b _0226845A
|
|
_0226844C:
|
|
ldr r1, [r4]
|
|
ldr r0, [sp, #0x2c]
|
|
add r2, r1, r0
|
|
ldr r1, [r4, #4]
|
|
ldr r0, [sp, #0x30]
|
|
add r0, r1, r0
|
|
ldr r1, [r4, #8]
|
|
_0226845A:
|
|
str r0, [sp]
|
|
ldr r0, [r4, #8]
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [sp, #0x34]
|
|
add r1, r7, #0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x28
|
|
add r1, #8
|
|
mul r0, r5
|
|
add r0, r1, r0
|
|
ldr r1, [r4]
|
|
ldr r3, [r4, #4]
|
|
bl ov49_0226540C
|
|
lsl r0, r5, #2
|
|
add r0, r7, r0
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
ldr r1, [r4]
|
|
ldr r2, [r4, #4]
|
|
ldr r3, [r4, #8]
|
|
bl sub_020182A8
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_022683FC
|
|
|
|
thumb_func_start ov49_02268490
|
|
ov49_02268490: ; 0x02268490
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x60
|
|
add r6, r2, #0
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0x60
|
|
add r4, r0, #0
|
|
bl memset
|
|
mov r1, #0xa
|
|
ldr r2, _022684EC ; =ov49_0226A7E0
|
|
mul r1, r5
|
|
add r0, r4, #0
|
|
add r1, r2, r1
|
|
bl ov49_022686C0
|
|
ldr r2, _022684F0 ; =ov49_0226A7D8
|
|
lsl r1, r6, #1
|
|
add r0, r4, #0
|
|
add r1, r2, r1
|
|
bl ov49_022686E4
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
mov r0, #0x3c
|
|
_022684C6:
|
|
add r1, r1, #1
|
|
str r0, [r2, #0x48]
|
|
add r2, r2, #4
|
|
cmp r1, #2
|
|
blt _022684C6
|
|
mov r2, #0
|
|
add r1, r4, #0
|
|
mov r0, #0x3c
|
|
_022684D6:
|
|
add r2, r2, #1
|
|
str r0, [r1, #0x50]
|
|
add r1, r1, #4
|
|
cmp r2, #4
|
|
blt _022684D6
|
|
add r0, r4, #0
|
|
bl ov49_022686F0
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_022684EC: .word ov49_0226A7E0
|
|
_022684F0: .word ov49_0226A7D8
|
|
thumb_func_end ov49_02268490
|
|
|
|
thumb_func_start ov49_022684F4
|
|
ov49_022684F4: ; 0x022684F4
|
|
ldr r3, _022684F8 ; =FreeToHeap
|
|
bx r3
|
|
.balign 4, 0
|
|
_022684F8: .word FreeToHeap
|
|
thumb_func_end ov49_022684F4
|
|
|
|
thumb_func_start ov49_022684FC
|
|
ov49_022684FC: ; 0x022684FC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
str r0, [sp, #4]
|
|
ldr r4, [sp, #4]
|
|
mov r0, #0
|
|
add r6, r4, #0
|
|
add r5, r4, #0
|
|
add r7, r0, #0
|
|
add r6, #0x30
|
|
add r5, #0x18
|
|
_02268510:
|
|
ldr r1, [r4, #0x48]
|
|
add r1, r1, #1
|
|
cmp r1, #0x3c
|
|
bgt _0226852C
|
|
str r1, [r4, #0x48]
|
|
mov r0, #0x3c
|
|
str r0, [sp]
|
|
ldr r3, [r4, #0x48]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl ov49_02268664
|
|
mov r0, #1
|
|
_0226852C:
|
|
add r7, r7, #1
|
|
add r4, r4, #4
|
|
add r6, r6, #4
|
|
add r5, r5, #4
|
|
cmp r7, #2
|
|
blt _02268510
|
|
ldr r4, [sp, #4]
|
|
mov r1, #0
|
|
add r7, r4, #0
|
|
add r6, r4, #0
|
|
add r5, r4, #0
|
|
str r1, [sp, #8]
|
|
add r7, #8
|
|
add r6, #0x38
|
|
add r5, #0x20
|
|
_0226854A:
|
|
ldr r1, [r4, #0x50]
|
|
add r1, r1, #1
|
|
cmp r1, #0x3c
|
|
bgt _02268566
|
|
str r1, [r4, #0x50]
|
|
mov r0, #0x3c
|
|
str r0, [sp]
|
|
ldr r3, [r4, #0x50]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl ov49_02268664
|
|
mov r0, #1
|
|
_02268566:
|
|
ldr r1, [sp, #8]
|
|
add r4, r4, #4
|
|
add r1, r1, #1
|
|
add r7, r7, #4
|
|
add r6, r6, #4
|
|
add r5, r5, #4
|
|
str r1, [sp, #8]
|
|
cmp r1, #4
|
|
blt _0226854A
|
|
cmp r0, #0
|
|
beq _02268582
|
|
ldr r0, [sp, #4]
|
|
bl ov49_022686F0
|
|
_02268582:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_022684FC
|
|
|
|
thumb_func_start ov49_02268588
|
|
ov49_02268588: ; 0x02268588
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldrb r0, [r5]
|
|
ldr r2, _022685F4 ; =ov49_0226A7E0
|
|
strb r0, [r5, #0x18]
|
|
ldrb r0, [r5, #1]
|
|
strb r0, [r5, #0x19]
|
|
ldrb r0, [r5, #2]
|
|
strb r0, [r5, #0x1a]
|
|
ldrb r0, [r5, #3]
|
|
strb r0, [r5, #0x1b]
|
|
mov r0, #0
|
|
str r0, [r5, #0x48]
|
|
mov r0, #0xa
|
|
mul r0, r1
|
|
add r4, r2, r0
|
|
add r0, r5, #0
|
|
add r0, #0x30
|
|
add r1, r4, #0
|
|
bl ov49_02268640
|
|
add r6, r4, #2
|
|
add r4, r5, #0
|
|
mov r7, #0
|
|
add r4, #0x38
|
|
_022685BA:
|
|
ldrb r1, [r5, #8]
|
|
add r0, r5, #0
|
|
add r0, #0x20
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
ldrb r1, [r5, #9]
|
|
add r0, #0x21
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
ldrb r1, [r5, #0xa]
|
|
add r0, #0x22
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
ldrb r1, [r5, #0xb]
|
|
add r0, #0x23
|
|
strb r1, [r0]
|
|
mov r0, #0
|
|
str r0, [r5, #0x50]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl ov49_02268640
|
|
add r7, r7, #1
|
|
add r5, r5, #4
|
|
add r6, r6, #2
|
|
add r4, r4, #4
|
|
cmp r7, #4
|
|
blt _022685BA
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022685F4: .word ov49_0226A7E0
|
|
thumb_func_end ov49_02268588
|
|
|
|
thumb_func_start ov49_022685F8
|
|
ov49_022685F8: ; 0x022685F8
|
|
ldrb r2, [r0, #4]
|
|
ldr r3, _02268618 ; =ov49_02268640
|
|
lsl r1, r1, #1
|
|
strb r2, [r0, #0x1c]
|
|
ldrb r2, [r0, #5]
|
|
strb r2, [r0, #0x1d]
|
|
ldrb r2, [r0, #6]
|
|
strb r2, [r0, #0x1e]
|
|
ldrb r2, [r0, #7]
|
|
strb r2, [r0, #0x1f]
|
|
mov r2, #0
|
|
str r2, [r0, #0x4c]
|
|
ldr r2, _0226861C ; =ov49_0226A7D8
|
|
add r0, #0x34
|
|
add r1, r2, r1
|
|
bx r3
|
|
.balign 4, 0
|
|
_02268618: .word ov49_02268640
|
|
_0226861C: .word ov49_0226A7D8
|
|
thumb_func_end ov49_022685F8
|
|
|
|
thumb_func_start ov49_02268620
|
|
ov49_02268620: ; 0x02268620
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02268620
|
|
|
|
thumb_func_start ov49_02268624
|
|
ov49_02268624: ; 0x02268624
|
|
push {r3, r4}
|
|
mov r3, #0
|
|
mov r2, #2
|
|
ldrsb r4, [r0, r3]
|
|
ldrsb r2, [r0, r2]
|
|
mov r3, #1
|
|
ldrsb r0, [r0, r3]
|
|
lsl r2, r2, #0xa
|
|
lsl r0, r0, #5
|
|
orr r0, r4
|
|
orr r0, r2
|
|
strh r0, [r1]
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov49_02268624
|
|
|
|
thumb_func_start ov49_02268640
|
|
ov49_02268640: ; 0x02268640
|
|
push {r3, r4}
|
|
ldrh r3, [r1]
|
|
mov r2, #0x1f
|
|
and r3, r2
|
|
strb r3, [r0]
|
|
ldrh r4, [r1]
|
|
lsl r3, r2, #5
|
|
and r3, r4
|
|
asr r3, r3, #5
|
|
strb r3, [r0, #1]
|
|
ldrh r3, [r1]
|
|
lsl r1, r2, #0xa
|
|
and r1, r3
|
|
asr r1, r1, #0xa
|
|
strb r1, [r0, #2]
|
|
pop {r3, r4}
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02268640
|
|
|
|
thumb_func_start ov49_02268664
|
|
ov49_02268664: ; 0x02268664
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
add r4, r2, #0
|
|
ldrsb r2, [r1, r0]
|
|
ldrsb r0, [r5, r0]
|
|
add r6, r3, #0
|
|
sub r0, r2, r0
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
ldrsb r2, [r1, r0]
|
|
ldrsb r0, [r5, r0]
|
|
sub r0, r2, r0
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
ldrsb r7, [r5, r0]
|
|
ldrsb r0, [r1, r0]
|
|
ldr r1, [sp, #0x20]
|
|
sub r0, r0, r7
|
|
mul r0, r6
|
|
bl _s32_div_f
|
|
add r0, r7, r0
|
|
strb r0, [r4]
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #0x20]
|
|
mul r0, r6
|
|
bl _s32_div_f
|
|
mov r1, #1
|
|
ldrsb r1, [r5, r1]
|
|
add r0, r1, r0
|
|
strb r0, [r4, #1]
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #0x20]
|
|
mul r0, r6
|
|
bl _s32_div_f
|
|
mov r1, #2
|
|
ldrsb r1, [r5, r1]
|
|
add r0, r1, r0
|
|
strb r0, [r4, #2]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02268664
|
|
|
|
thumb_func_start ov49_022686C0
|
|
ov49_022686C0: ; 0x022686C0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov49_02268640
|
|
mov r6, #0
|
|
add r4, r4, #2
|
|
add r5, #8
|
|
_022686D0:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_02268640
|
|
add r6, r6, #1
|
|
add r4, r4, #2
|
|
add r5, r5, #4
|
|
cmp r6, #4
|
|
blt _022686D0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_022686C0
|
|
|
|
thumb_func_start ov49_022686E4
|
|
ov49_022686E4: ; 0x022686E4
|
|
ldr r3, _022686EC ; =ov49_02268640
|
|
add r0, r0, #4
|
|
bx r3
|
|
nop
|
|
_022686EC: .word ov49_02268640
|
|
thumb_func_end ov49_022686E4
|
|
|
|
thumb_func_start ov49_022686F0
|
|
ov49_022686F0: ; 0x022686F0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r7, sp, #4
|
|
str r0, [sp]
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
add r7, #2
|
|
add r6, sp, #4
|
|
_02268700:
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl ov49_02268624
|
|
ldrh r1, [r6, #2]
|
|
add r0, r4, #0
|
|
bl NNS_G3dGlbLightColor
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _02268700
|
|
ldr r0, [sp]
|
|
add r1, sp, #4
|
|
add r0, #8
|
|
add r1, #2
|
|
bl ov49_02268624
|
|
ldr r0, [sp]
|
|
add r1, sp, #4
|
|
add r0, #0xc
|
|
bl ov49_02268624
|
|
add r1, sp, #4
|
|
ldrh r0, [r1, #2]
|
|
ldrh r1, [r1]
|
|
mov r2, #0
|
|
bl NNS_G3dGlbMaterialColorDiffAmb
|
|
ldr r0, [sp]
|
|
add r1, sp, #4
|
|
add r0, #0x10
|
|
add r1, #2
|
|
bl ov49_02268624
|
|
ldr r0, [sp]
|
|
add r1, sp, #4
|
|
add r0, #0x14
|
|
str r0, [sp]
|
|
bl ov49_02268624
|
|
add r1, sp, #4
|
|
ldrh r0, [r1, #2]
|
|
ldrh r1, [r1]
|
|
mov r2, #0
|
|
bl NNS_G3dGlbMaterialColorSpecEmi
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_022686F0
|
|
|
|
thumb_func_start ov49_02268764
|
|
ov49_02268764: ; 0x02268764
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
mov r1, #0x1c
|
|
add r6, r0, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
add r2, r4, #0
|
|
mov r1, #0x1c
|
|
mov r0, #0
|
|
_0226877A:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _0226877A
|
|
str r5, [r4]
|
|
add r0, r5, #0
|
|
bl ov49_02259FE8
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
bl ov49_02259FF8
|
|
str r0, [r4, #8]
|
|
add r0, r5, #0
|
|
bl ov49_02259FF0
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [r4, #4]
|
|
bl ov45_0222A3BC
|
|
bl ov49_02268974
|
|
add r7, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl ov45_0222A3D4
|
|
bl ov49_022689A0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #4]
|
|
bl ov45_0222A3EC
|
|
bl ov49_022689D4
|
|
add r3, r0, #0
|
|
ldr r2, [sp, #4]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl ov49_02268490
|
|
str r0, [r4, #0x10]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov49_02268FAC
|
|
str r0, [r4, #0x14]
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r4, #8]
|
|
add r2, r6, #0
|
|
bl ov49_02268A0C
|
|
str r0, [r4, #0x18]
|
|
ldr r0, [r4, #0xc]
|
|
add r1, r7, #0
|
|
bl ov49_02258BEC
|
|
ldr r0, [r4, #4]
|
|
bl ov45_0222A35C
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl ov45_0222A324
|
|
ldr r0, [r4, #4]
|
|
bl ov45_0222A374
|
|
str r0, [sp]
|
|
ldr r0, [r4, #4]
|
|
bl ov45_0222A3A0
|
|
add r7, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl ov45_0222A330
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #4]
|
|
bl ov45_0222A394
|
|
cmp r5, #2
|
|
bne _02268820
|
|
ldr r0, [r4, #8]
|
|
bl ov49_0225E714
|
|
_02268820:
|
|
cmp r5, #1
|
|
beq _02268834
|
|
cmp r5, #0
|
|
bne _02268834
|
|
cmp r7, #1
|
|
bne _02268834
|
|
ldr r0, [r4, #8]
|
|
mov r1, #3
|
|
bl ov49_0225E760
|
|
_02268834:
|
|
ldr r0, [sp]
|
|
cmp r0, #1
|
|
bne _02268840
|
|
ldr r0, [r4, #8]
|
|
bl ov49_0225E574
|
|
_02268840:
|
|
cmp r6, #1
|
|
bne _0226884A
|
|
add r0, r4, #0
|
|
bl ov49_02268A00
|
|
_0226884A:
|
|
add r0, r4, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_02268764
|
|
|
|
thumb_func_start ov49_02268850
|
|
ov49_02268850: ; 0x02268850
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
bl ov49_02268A6C
|
|
ldr r0, [r4, #0x14]
|
|
bl ov49_02269090
|
|
ldr r0, [r4, #0x10]
|
|
bl ov49_022684F4
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02268850
|
|
|
|
thumb_func_start ov49_02268870
|
|
ov49_02268870: ; 0x02268870
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
mov r1, #1
|
|
bl ov45_0222A288
|
|
cmp r0, #0
|
|
beq _0226889C
|
|
ldr r0, [r5, #4]
|
|
bl ov45_0222A3BC
|
|
bl ov49_02268974
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #0
|
|
bl ov49_02268588
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r4, #0
|
|
bl ov49_02258C08
|
|
_0226889C:
|
|
ldr r0, [r5, #4]
|
|
mov r1, #2
|
|
bl ov45_0222A288
|
|
cmp r0, #0
|
|
beq _022688BA
|
|
ldr r0, [r5, #4]
|
|
bl ov45_0222A3D4
|
|
bl ov49_022689A0
|
|
add r1, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
bl ov49_022685F8
|
|
_022688BA:
|
|
ldr r0, [r5, #4]
|
|
mov r1, #3
|
|
bl ov45_0222A288
|
|
cmp r0, #0
|
|
beq _022688D8
|
|
ldr r0, [r5, #4]
|
|
bl ov45_0222A3EC
|
|
bl ov49_022689D4
|
|
add r1, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
bl ov49_02268620
|
|
_022688D8:
|
|
ldr r0, [r5, #4]
|
|
bl ov45_0222A3A0
|
|
cmp r0, #1
|
|
bne _022688FE
|
|
ldr r0, [r5, #4]
|
|
bl ov45_0222A35C
|
|
cmp r0, #0
|
|
bne _022688FE
|
|
ldr r0, [r5, #8]
|
|
bl ov49_0225E824
|
|
cmp r0, #0
|
|
bne _022688FE
|
|
ldr r0, [r5, #8]
|
|
mov r1, #1
|
|
bl ov49_0225E760
|
|
_022688FE:
|
|
ldr r0, [r5, #4]
|
|
mov r1, #5
|
|
bl ov45_0222A288
|
|
cmp r0, #0
|
|
beq _02268922
|
|
ldr r0, [r5, #4]
|
|
bl ov45_0222A35C
|
|
cmp r0, #1
|
|
bne _02268922
|
|
ldr r0, [r5, #8]
|
|
bl ov49_0225E714
|
|
ldr r0, [r5, #8]
|
|
mov r1, #2
|
|
bl ov49_0225E760
|
|
_02268922:
|
|
ldr r0, [r5, #4]
|
|
mov r1, #6
|
|
bl ov45_0222A288
|
|
cmp r0, #0
|
|
beq _0226893E
|
|
ldr r0, [r5, #4]
|
|
bl ov45_0222A374
|
|
cmp r0, #1
|
|
bne _0226893E
|
|
ldr r0, [r5, #8]
|
|
bl ov49_0225E574
|
|
_0226893E:
|
|
ldr r0, [r5, #4]
|
|
bl ov45_0222A330
|
|
cmp r0, #1
|
|
bne _02268954
|
|
ldr r0, [r5, #8]
|
|
bl ov49_0225E580
|
|
add r0, r5, #0
|
|
bl ov49_02268A00
|
|
_02268954:
|
|
ldr r0, [r5, #0x10]
|
|
bl ov49_022684FC
|
|
ldr r0, [r5, #0x14]
|
|
bl ov49_02269098
|
|
ldr r0, [r5, #0x18]
|
|
bl ov49_02268A7C
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov49_02268870
|
|
|
|
thumb_func_start ov49_02268968
|
|
ov49_02268968: ; 0x02268968
|
|
ldr r3, _02268970 ; =ov49_02269154
|
|
ldr r0, [r0, #0x14]
|
|
bx r3
|
|
nop
|
|
_02268970: .word ov49_02269154
|
|
thumb_func_end ov49_02268968
|
|
|
|
thumb_func_start ov49_02268974
|
|
ov49_02268974: ; 0x02268974
|
|
push {r3, lr}
|
|
cmp r0, #6
|
|
bhi _02268998
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_02268986: ; jump table
|
|
.short _02268998 - _02268986 - 2 ; case 0
|
|
.short _02268994 - _02268986 - 2 ; case 1
|
|
.short _02268994 - _02268986 - 2 ; case 2
|
|
.short _02268994 - _02268986 - 2 ; case 3
|
|
.short _02268994 - _02268986 - 2 ; case 4
|
|
.short _02268994 - _02268986 - 2 ; case 5
|
|
.short _02268994 - _02268986 - 2 ; case 6
|
|
_02268994:
|
|
sub r0, r0, #1
|
|
pop {r3, pc}
|
|
_02268998:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov49_02268974
|
|
|
|
thumb_func_start ov49_022689A0
|
|
ov49_022689A0: ; 0x022689A0
|
|
push {r3, lr}
|
|
cmp r0, #0xa
|
|
bhi _022689CC
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_022689B2: ; jump table
|
|
.short _022689CC - _022689B2 - 2 ; case 0
|
|
.short _022689CC - _022689B2 - 2 ; case 1
|
|
.short _022689CC - _022689B2 - 2 ; case 2
|
|
.short _022689CC - _022689B2 - 2 ; case 3
|
|
.short _022689CC - _022689B2 - 2 ; case 4
|
|
.short _022689CC - _022689B2 - 2 ; case 5
|
|
.short _022689CC - _022689B2 - 2 ; case 6
|
|
.short _022689C8 - _022689B2 - 2 ; case 7
|
|
.short _022689C8 - _022689B2 - 2 ; case 8
|
|
.short _022689C8 - _022689B2 - 2 ; case 9
|
|
.short _022689C8 - _022689B2 - 2 ; case 10
|
|
_022689C8:
|
|
sub r0, r0, #7
|
|
pop {r3, pc}
|
|
_022689CC:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov49_022689A0
|
|
|
|
thumb_func_start ov49_022689D4
|
|
ov49_022689D4: ; 0x022689D4
|
|
push {r3, lr}
|
|
add r1, r0, #0
|
|
sub r1, #0xb
|
|
cmp r1, #3
|
|
bhi _022689F6
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_022689EA: ; jump table
|
|
.short _022689F2 - _022689EA - 2 ; case 0
|
|
.short _022689F2 - _022689EA - 2 ; case 1
|
|
.short _022689F2 - _022689EA - 2 ; case 2
|
|
.short _022689F2 - _022689EA - 2 ; case 3
|
|
_022689F2:
|
|
sub r0, #0xb
|
|
pop {r3, pc}
|
|
_022689F6:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_022689D4
|
|
|
|
thumb_func_start ov49_02268A00
|
|
ov49_02268A00: ; 0x02268A00
|
|
ldr r3, _02268A08 ; =NNS_G3dGlbLightColor
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bx r3
|
|
.balign 4, 0
|
|
_02268A08: .word NNS_G3dGlbLightColor
|
|
thumb_func_end ov49_02268A00
|
|
|
|
thumb_func_start ov49_02268A0C
|
|
ov49_02268A0C: ; 0x02268A0C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r0, r2, #0
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
add r2, r4, #0
|
|
mov r1, #0x10
|
|
mov r0, #0
|
|
_02268A22:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _02268A22
|
|
str r5, [r4]
|
|
add r0, r5, #0
|
|
str r6, [r4, #4]
|
|
bl ov45_0222B1DC
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl ov45_0222A35C
|
|
strh r0, [r4, #0xa]
|
|
ldrh r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
beq _02268A66
|
|
cmp r7, #0
|
|
beq _02268A66
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl ov49_0225E624
|
|
add r0, r4, #0
|
|
bl ov49_02268D94
|
|
add r0, r5, #0
|
|
bl ov45_0222B1EC
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl ov49_02268C74
|
|
_02268A66:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02268A0C
|
|
|
|
thumb_func_start ov49_02268A6C
|
|
ov49_02268A6C: ; 0x02268A6C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov49_02268DB0
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end ov49_02268A6C
|
|
|
|
thumb_func_start ov49_02268A7C
|
|
ov49_02268A7C: ; 0x02268A7C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
bl ov45_0222B1DC
|
|
add r4, r0, #0
|
|
ldr r0, [r5]
|
|
bl ov45_0222B1EC
|
|
add r7, r0, #0
|
|
ldr r0, [r5]
|
|
bl ov45_0222A35C
|
|
add r6, r0, #0
|
|
ldrh r0, [r5, #0xa]
|
|
cmp r0, r6
|
|
beq _02268ABC
|
|
strh r6, [r5, #0xa]
|
|
cmp r6, #1
|
|
bne _02268ABC
|
|
ldr r0, [r5, #4]
|
|
mov r1, #1
|
|
bl ov49_0225E624
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl ov49_02268C74
|
|
add r0, r5, #0
|
|
bl ov49_02268D94
|
|
_02268ABC:
|
|
cmp r6, #0
|
|
beq _02268ADA
|
|
ldrb r0, [r5, #8]
|
|
cmp r0, r4
|
|
beq _02268AD0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl ov49_02268C74
|
|
_02268AD0:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl ov49_02268ADC
|
|
_02268ADA:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_02268A7C
|
|
|
|
thumb_func_start ov49_02268ADC
|
|
ov49_02268ADC: ; 0x02268ADC
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
cmp r4, #6
|
|
blo _02268AEC
|
|
bl GF_AssertFail
|
|
_02268AEC:
|
|
cmp r4, #6
|
|
bhs _02268AFC
|
|
ldr r2, _02268B00 ; =ov49_0226A84C
|
|
lsl r3, r4, #2
|
|
ldr r2, [r2, r3]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
blx r2
|
|
_02268AFC:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02268B00: .word ov49_0226A84C
|
|
thumb_func_end ov49_02268ADC
|
|
|
|
thumb_func_start ov49_02268B04
|
|
ov49_02268B04: ; 0x02268B04
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02268B04
|
|
|
|
thumb_func_start ov49_02268B08
|
|
ov49_02268B08: ; 0x02268B08
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02268B08
|
|
|
|
thumb_func_start ov49_02268B0C
|
|
ov49_02268B0C: ; 0x02268B0C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
add r0, r1, #0
|
|
mov r1, #0xe
|
|
bl _u32_div_f
|
|
cmp r1, #0
|
|
bne _02268B86
|
|
ldr r5, _02268B88 ; =ov49_0226A8B4
|
|
mov r4, #0
|
|
_02268B20:
|
|
ldr r0, [r7, #0xc]
|
|
add r1, r4, #0
|
|
lsl r2, r0, #3
|
|
ldr r0, _02268B8C ; =ov49_0226A894
|
|
mov r6, #0
|
|
add r3, r0, r2
|
|
mov r0, #3
|
|
and r1, r0
|
|
ldr r0, _02268B8C ; =ov49_0226A894
|
|
ldr r0, [r0, r2]
|
|
cmp r1, r0
|
|
bne _02268B40
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
add r6, r0, #0
|
|
b _02268B4C
|
|
_02268B40:
|
|
ldr r0, [r3, #4]
|
|
cmp r1, r0
|
|
bne _02268B4C
|
|
add r0, r6, #0
|
|
str r0, [sp]
|
|
mov r6, #1
|
|
_02268B4C:
|
|
cmp r6, #1
|
|
bne _02268B72
|
|
cmp r4, #0x11
|
|
bhs _02268B6E
|
|
ldrb r1, [r5]
|
|
mov r3, #1
|
|
ldr r0, [r7, #4]
|
|
ldr r2, [sp]
|
|
lsl r3, r3, #0xc
|
|
bl ov49_0225E85C
|
|
add r6, r0, #0
|
|
cmp r6, #1
|
|
beq _02268B74
|
|
bl GF_AssertFail
|
|
b _02268B74
|
|
_02268B6E:
|
|
mov r6, #0
|
|
b _02268B74
|
|
_02268B72:
|
|
mov r6, #1
|
|
_02268B74:
|
|
add r5, r5, #1
|
|
add r4, r4, #1
|
|
cmp r6, #1
|
|
beq _02268B20
|
|
ldr r0, [r7, #0xc]
|
|
add r1, r0, #1
|
|
mov r0, #3
|
|
and r0, r1
|
|
str r0, [r7, #0xc]
|
|
_02268B86:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02268B88: .word ov49_0226A8B4
|
|
_02268B8C: .word ov49_0226A894
|
|
thumb_func_end ov49_02268B0C
|
|
|
|
thumb_func_start ov49_02268B90
|
|
ov49_02268B90: ; 0x02268B90
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
mov r1, #6
|
|
bl _u32_div_f
|
|
cmp r1, #0
|
|
bne _02268C20
|
|
ldr r0, [r5, #0xc]
|
|
lsl r1, r0, #1
|
|
ldr r0, _02268C24 ; =ov49_0226A83C
|
|
ldrb r0, [r0, r1]
|
|
str r0, [sp]
|
|
ldr r0, _02268C28 ; =ov49_0226A83D
|
|
ldrb r0, [r0, r1]
|
|
add r1, sp, #4
|
|
bl ov49_02268D0C
|
|
ldr r0, [sp, #8]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
bls _02268BE2
|
|
mov r7, #1
|
|
add r6, r4, #0
|
|
lsl r7, r7, #0xc
|
|
_02268BC4:
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [r5, #4]
|
|
ldrb r1, [r1, r4]
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl ov49_0225E85C
|
|
cmp r0, #1
|
|
beq _02268BDA
|
|
bl GF_AssertFail
|
|
_02268BDA:
|
|
ldr r0, [sp, #8]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blo _02268BC4
|
|
_02268BE2:
|
|
ldr r0, [sp]
|
|
add r1, sp, #4
|
|
bl ov49_02268D0C
|
|
ldr r0, [sp, #8]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
bls _02268C14
|
|
mov r6, #1
|
|
lsl r7, r6, #0xc
|
|
_02268BF6:
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [r5, #4]
|
|
ldrb r1, [r1, r4]
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl ov49_0225E85C
|
|
cmp r0, #1
|
|
beq _02268C0C
|
|
bl GF_AssertFail
|
|
_02268C0C:
|
|
ldr r0, [sp, #8]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blo _02268BF6
|
|
_02268C14:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #7
|
|
add r0, r0, #1
|
|
bl _u32_div_f
|
|
str r1, [r5, #0xc]
|
|
_02268C20:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02268C24: .word ov49_0226A83C
|
|
_02268C28: .word ov49_0226A83D
|
|
thumb_func_end ov49_02268B90
|
|
|
|
thumb_func_start ov49_02268C2C
|
|
ov49_02268C2C: ; 0x02268C2C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #3
|
|
bhs _02268C64
|
|
lsl r2, r0, #3
|
|
ldr r0, _02268C68 ; =ov49_0226A864
|
|
ldr r0, [r0, r2]
|
|
cmp r0, r1
|
|
bhs _02268C64
|
|
ldr r1, _02268C6C ; =ov49_0226A868
|
|
ldr r0, [r4, #4]
|
|
ldr r1, [r1, r2]
|
|
bl ov49_0225E894
|
|
ldr r1, [r4, #0xc]
|
|
ldr r0, [r4, #4]
|
|
lsl r2, r1, #3
|
|
ldr r1, _02268C6C ; =ov49_0226A868
|
|
ldr r1, [r1, r2]
|
|
bl ov49_0225E6E0
|
|
ldr r0, _02268C70 ; =0x000005B4
|
|
bl PlaySE
|
|
ldr r0, [r4, #0xc]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0xc]
|
|
_02268C64:
|
|
pop {r4, pc}
|
|
nop
|
|
_02268C68: .word ov49_0226A864
|
|
_02268C6C: .word ov49_0226A868
|
|
_02268C70: .word 0x000005B4
|
|
thumb_func_end ov49_02268C2C
|
|
|
|
thumb_func_start ov49_02268C74
|
|
ov49_02268C74: ; 0x02268C74
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
cmp r4, #6
|
|
blo _02268C84
|
|
bl GF_AssertFail
|
|
_02268C84:
|
|
cmp r4, #6
|
|
bhs _02268CA4
|
|
add r1, r5, #0
|
|
mov r0, #0
|
|
add r1, #0xc
|
|
strb r0, [r5, #0xc]
|
|
strb r0, [r1, #1]
|
|
strb r0, [r1, #2]
|
|
strb r0, [r1, #3]
|
|
ldr r2, _02268CA8 ; =ov49_0226A87C
|
|
lsl r3, r4, #2
|
|
ldr r2, [r2, r3]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
blx r2
|
|
strb r4, [r5, #8]
|
|
_02268CA4:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02268CA8: .word ov49_0226A87C
|
|
thumb_func_end ov49_02268C74
|
|
|
|
thumb_func_start ov49_02268CAC
|
|
ov49_02268CAC: ; 0x02268CAC
|
|
ldr r3, _02268CB8 ; =ov49_0225E82C
|
|
mov r2, #1
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0
|
|
lsl r2, r2, #0xc
|
|
bx r3
|
|
.balign 4, 0
|
|
_02268CB8: .word ov49_0225E82C
|
|
thumb_func_end ov49_02268CAC
|
|
|
|
thumb_func_start ov49_02268CBC
|
|
ov49_02268CBC: ; 0x02268CBC
|
|
ldr r3, _02268CC8 ; =ov49_0225E82C
|
|
mov r1, #1
|
|
ldr r0, [r0, #4]
|
|
lsl r2, r1, #0xc
|
|
bx r3
|
|
nop
|
|
_02268CC8: .word ov49_0225E82C
|
|
thumb_func_end ov49_02268CBC
|
|
|
|
thumb_func_start ov49_02268CCC
|
|
ov49_02268CCC: ; 0x02268CCC
|
|
ldr r3, _02268CD8 ; =ov49_0225E82C
|
|
mov r2, #1
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0
|
|
lsl r2, r2, #0xc
|
|
bx r3
|
|
.balign 4, 0
|
|
_02268CD8: .word ov49_0225E82C
|
|
thumb_func_end ov49_02268CCC
|
|
|
|
thumb_func_start ov49_02268CDC
|
|
ov49_02268CDC: ; 0x02268CDC
|
|
ldr r3, _02268CE8 ; =ov49_0225E82C
|
|
mov r2, #1
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0
|
|
lsl r2, r2, #0xc
|
|
bx r3
|
|
.balign 4, 0
|
|
_02268CE8: .word ov49_0225E82C
|
|
thumb_func_end ov49_02268CDC
|
|
|
|
thumb_func_start ov49_02268CEC
|
|
ov49_02268CEC: ; 0x02268CEC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov49_02268DB0
|
|
mov r2, #1
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
lsl r2, r2, #0xc
|
|
bl ov49_0225E82C
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
bl ov49_0225E624
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02268CEC
|
|
|
|
thumb_func_start ov49_02268D0C
|
|
ov49_02268D0C: ; 0x02268D0C
|
|
push {r3, lr}
|
|
cmp r0, #6
|
|
bhi _02268D72
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02268D1E: ; jump table
|
|
.short _02268D2C - _02268D1E - 2 ; case 0
|
|
.short _02268D36 - _02268D1E - 2 ; case 1
|
|
.short _02268D40 - _02268D1E - 2 ; case 2
|
|
.short _02268D4A - _02268D1E - 2 ; case 3
|
|
.short _02268D54 - _02268D1E - 2 ; case 4
|
|
.short _02268D5E - _02268D1E - 2 ; case 5
|
|
.short _02268D68 - _02268D1E - 2 ; case 6
|
|
_02268D2C:
|
|
mov r0, #6
|
|
str r0, [r1, #4]
|
|
ldr r0, _02268D78 ; =ov49_0226A834
|
|
str r0, [r1]
|
|
pop {r3, pc}
|
|
_02268D36:
|
|
mov r0, #2
|
|
str r0, [r1, #4]
|
|
ldr r0, _02268D7C ; =ov49_0226A82C
|
|
str r0, [r1]
|
|
pop {r3, pc}
|
|
_02268D40:
|
|
mov r0, #2
|
|
str r0, [r1, #4]
|
|
ldr r0, _02268D80 ; =ov49_0226A824
|
|
str r0, [r1]
|
|
pop {r3, pc}
|
|
_02268D4A:
|
|
mov r0, #1
|
|
str r0, [r1, #4]
|
|
ldr r0, _02268D84 ; =ov49_0226A81C
|
|
str r0, [r1]
|
|
pop {r3, pc}
|
|
_02268D54:
|
|
mov r0, #1
|
|
str r0, [r1, #4]
|
|
ldr r0, _02268D88 ; =ov49_0226A820
|
|
str r0, [r1]
|
|
pop {r3, pc}
|
|
_02268D5E:
|
|
mov r0, #2
|
|
str r0, [r1, #4]
|
|
ldr r0, _02268D8C ; =ov49_0226A828
|
|
str r0, [r1]
|
|
pop {r3, pc}
|
|
_02268D68:
|
|
mov r0, #3
|
|
str r0, [r1, #4]
|
|
ldr r0, _02268D90 ; =ov49_0226A830
|
|
str r0, [r1]
|
|
pop {r3, pc}
|
|
_02268D72:
|
|
bl GF_AssertFail
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02268D78: .word ov49_0226A834
|
|
_02268D7C: .word ov49_0226A82C
|
|
_02268D80: .word ov49_0226A824
|
|
_02268D84: .word ov49_0226A81C
|
|
_02268D88: .word ov49_0226A820
|
|
_02268D8C: .word ov49_0226A828
|
|
_02268D90: .word ov49_0226A830
|
|
thumb_func_end ov49_02268D0C
|
|
|
|
thumb_func_start ov49_02268D94
|
|
ov49_02268D94: ; 0x02268D94
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, #9]
|
|
cmp r0, #0
|
|
bne _02268DA8
|
|
ldr r0, _02268DAC ; =0x000005B5
|
|
bl PlaySE
|
|
mov r0, #1
|
|
strb r0, [r4, #9]
|
|
_02268DA8:
|
|
pop {r4, pc}
|
|
nop
|
|
_02268DAC: .word 0x000005B5
|
|
thumb_func_end ov49_02268D94
|
|
|
|
thumb_func_start ov49_02268DB0
|
|
ov49_02268DB0: ; 0x02268DB0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, #9]
|
|
cmp r0, #0
|
|
beq _02268DC6
|
|
ldr r0, _02268DC8 ; =0x000005B5
|
|
mov r1, #0
|
|
bl StopSE
|
|
mov r0, #0
|
|
strb r0, [r4, #9]
|
|
_02268DC6:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02268DC8: .word 0x000005B5
|
|
thumb_func_end ov49_02268DB0
|
|
|
|
thumb_func_start ov49_02268DCC
|
|
ov49_02268DCC: ; 0x02268DCC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
bl ov49_0225EF84
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl ov49_02259FE8
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
bl ov49_02259FF0
|
|
str r0, [sp, #4]
|
|
bl ov49_02258DB0
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #4]
|
|
bl ov49_02258DAC
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
bl ov49_0225EF88
|
|
cmp r0, #5
|
|
bls _02268E04
|
|
b _02268F9E
|
|
_02268E04:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02268E10: ; jump table
|
|
.short _02268E1C - _02268E10 - 2 ; case 0
|
|
.short _02268EF2 - _02268E10 - 2 ; case 1
|
|
.short _02268F02 - _02268E10 - 2 ; case 2
|
|
.short _02268F34 - _02268E10 - 2 ; case 3
|
|
.short _02268F54 - _02268E10 - 2 ; case 4
|
|
.short _02268F8A - _02268E10 - 2 ; case 5
|
|
_02268E1C:
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl ov49_0225EF40
|
|
add r6, r0, #0
|
|
ldr r0, _02268FA8 ; =0x000005DC
|
|
bl PlaySE
|
|
ldr r0, [sp, #8]
|
|
mov r1, #6
|
|
bl ov49_02258E60
|
|
bl ov42_022282A4
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #4]
|
|
add r1, r7, #0
|
|
mov r2, #0
|
|
bl ov49_02258EEC
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
bl ov49_02259130
|
|
ldr r1, [sp, #0xc]
|
|
add r0, r7, #0
|
|
bl ov49_02259160
|
|
ldr r0, [sp]
|
|
bl ov45_0222A330
|
|
cmp r0, #0
|
|
beq _02268E7E
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #3
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
mov r0, #4
|
|
str r0, [r6]
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
b _02268FA2
|
|
_02268E7E:
|
|
ldr r0, [sp]
|
|
bl ov45_0222A3A0
|
|
cmp r0, #1
|
|
bne _02268EA8
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x58
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
mov r0, #4
|
|
str r0, [r6]
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
b _02268FA2
|
|
_02268EA8:
|
|
ldr r0, [sp]
|
|
bl ov45_0222A2E0
|
|
cmp r0, #1
|
|
bne _02268ED2
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x57
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
mov r0, #4
|
|
str r0, [r6]
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
b _02268FA2
|
|
_02268ED2:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x51
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
mov r0, #1
|
|
str r0, [r6]
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
b _02268FA2
|
|
_02268EF2:
|
|
add r0, r4, #0
|
|
bl ov49_0225A264
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl ov49_0225EF8C
|
|
b _02268FA2
|
|
_02268F02:
|
|
add r0, r4, #0
|
|
bl ov49_0225A2C4
|
|
cmp r0, #0
|
|
beq _02268F14
|
|
cmp r0, #1
|
|
beq _02268F24
|
|
cmp r0, #2
|
|
b _02268FA2
|
|
_02268F14:
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl ov49_0225EF8C
|
|
add r0, r4, #0
|
|
bl ov49_0225A2F8
|
|
b _02268FA2
|
|
_02268F24:
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
bl ov49_0225EF8C
|
|
add r0, r4, #0
|
|
bl ov49_0225A2F8
|
|
b _02268FA2
|
|
_02268F34:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x55
|
|
bl ov49_0225A30C
|
|
add r1, r0, #0
|
|
mov r0, #4
|
|
str r0, [r6]
|
|
add r0, r4, #0
|
|
bl ov49_0225A08C
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ov49_0225EF8C
|
|
b _02268FA2
|
|
_02268F54:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0EC
|
|
add r0, r4, #0
|
|
bl ov49_0225A2F8
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
mov r2, #1
|
|
bl ov49_02258EEC
|
|
add r0, r5, #0
|
|
bl ov49_0225EF68
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
bl ov49_02259130
|
|
ldr r0, [sp, #4]
|
|
add r1, r7, #0
|
|
mov r2, #0
|
|
mov r3, #1
|
|
bl ov49_02258EAC
|
|
add sp, #0x10
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02268F8A:
|
|
add r0, r4, #0
|
|
bl ov49_0225A0AC
|
|
cmp r0, #1
|
|
bne _02268FA2
|
|
ldr r1, [r6]
|
|
add r0, r5, #0
|
|
bl ov49_0225EF8C
|
|
b _02268FA2
|
|
_02268F9E:
|
|
bl GF_AssertFail
|
|
_02268FA2:
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02268FA8: .word 0x000005DC
|
|
thumb_func_end ov49_02268DCC
|
|
|
|
thumb_func_start ov49_02268FAC
|
|
ov49_02268FAC: ; 0x02268FAC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
mov r1, #0xc4
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
mov r2, #0xc4
|
|
bl memset
|
|
str r5, [r4]
|
|
add r0, r5, #0
|
|
bl ov49_02259FE8
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
bl ov49_02259FF8
|
|
str r0, [r4, #8]
|
|
add r0, r5, #0
|
|
bl ov49_0225A000
|
|
str r0, [r4, #0xc]
|
|
bl ov49_022589A8
|
|
add r1, r0, #6
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
ldr r1, [r0]
|
|
mov r0, #7
|
|
mvn r0, r0
|
|
sub r1, r0, r1
|
|
add r0, r4, #0
|
|
add r0, #0xc0
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
ldr r6, _0226908C ; =ov49_0226A8C8
|
|
lsl r1, r0, #0x10
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
mov r7, #0
|
|
lsl r1, r0, #0x10
|
|
add r0, r4, #0
|
|
add r0, #0xc0
|
|
str r1, [r0]
|
|
add r5, r4, #0
|
|
_0226901E:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldrb r1, [r6]
|
|
add r2, sp, #4
|
|
ldr r0, [r4, #0xc]
|
|
add r2, #2
|
|
add r3, sp, #4
|
|
bl ov49_022589D8
|
|
add r0, sp, #4
|
|
ldrh r0, [r0, #2]
|
|
add r7, r7, #1
|
|
add r6, r6, #1
|
|
lsl r1, r0, #4
|
|
add r0, r5, #0
|
|
add r0, #0xaa
|
|
strh r1, [r0]
|
|
add r0, sp, #4
|
|
ldrh r0, [r0]
|
|
lsl r1, r0, #4
|
|
add r0, r5, #0
|
|
add r0, #0xac
|
|
add r5, r5, #4
|
|
strh r1, [r0]
|
|
cmp r7, #3
|
|
blt _0226901E
|
|
mov r5, #0
|
|
_02269054:
|
|
add r2, r4, #0
|
|
add r2, #0xbc
|
|
ldr r0, [r4, #8]
|
|
ldr r2, [r2]
|
|
add r1, r5, #0
|
|
bl ov49_0225E3B8
|
|
ldr r0, [r4, #4]
|
|
add r1, r5, #0
|
|
bl ov45_0222AD80
|
|
cmp r0, #1
|
|
bne _0226907E
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_02269178
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov49_022695C4
|
|
_0226907E:
|
|
add r5, r5, #1
|
|
cmp r5, #9
|
|
blt _02269054
|
|
add r0, r4, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0226908C: .word ov49_0226A8C8
|
|
thumb_func_end ov49_02268FAC
|
|
|
|
thumb_func_start ov49_02269090
|
|
ov49_02269090: ; 0x02269090
|
|
ldr r3, _02269094 ; =FreeToHeap
|
|
bx r3
|
|
.balign 4, 0
|
|
_02269094: .word FreeToHeap
|
|
thumb_func_end ov49_02269090
|
|
|
|
thumb_func_start ov49_02269098
|
|
ov49_02269098: ; 0x02269098
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
bl ov45_0222A53C
|
|
add r1, r0, #0
|
|
ldr r0, [r5, #4]
|
|
bl ov45_0222ADA8
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
str r0, [sp, #8]
|
|
cmp r0, r1
|
|
bne _022690BA
|
|
mov r6, #0
|
|
b _022690C4
|
|
_022690BA:
|
|
add r1, sp, #8
|
|
add r2, sp, #4
|
|
bl ov45_0222AE08
|
|
mov r6, #1
|
|
_022690C4:
|
|
mov r4, #0
|
|
_022690C6:
|
|
ldr r0, [r5, #4]
|
|
add r1, r4, #0
|
|
bl ov45_0222AD80
|
|
cmp r0, #1
|
|
ldr r0, [r5, #8]
|
|
bne _0226910E
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
bl ov49_0225E4CC
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_02269178
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov49_022695C4
|
|
cmp r6, #0
|
|
beq _022690FC
|
|
ldr r0, [sp, #8]
|
|
cmp r0, r4
|
|
bne _022690FA
|
|
mov r7, #1
|
|
b _022690FC
|
|
_022690FA:
|
|
mov r7, #0
|
|
_022690FC:
|
|
ldr r0, [sp, #4]
|
|
add r1, r4, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl ov49_02269240
|
|
b _02269116
|
|
_0226910E:
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl ov49_0225E4CC
|
|
_02269116:
|
|
add r4, r4, #1
|
|
cmp r4, #9
|
|
blt _022690C6
|
|
add r7, r5, #0
|
|
mov r6, #0
|
|
add r4, r5, #0
|
|
add r7, #0x2c
|
|
_02269124:
|
|
ldr r0, [r5, #8]
|
|
add r1, r6, #0
|
|
bl ov49_0225E524
|
|
strb r0, [r4, #0x10]
|
|
ldr r1, [r5, #8]
|
|
add r0, r7, #0
|
|
add r2, r6, #0
|
|
bl ov49_02269430
|
|
strb r0, [r4, #0x11]
|
|
ldr r0, [r5, #8]
|
|
add r1, r6, #0
|
|
bl ov49_0225E54C
|
|
strb r0, [r4, #0x12]
|
|
add r6, r6, #1
|
|
add r4, r4, #3
|
|
add r7, #0xe
|
|
cmp r6, #9
|
|
blt _02269124
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02269098
|
|
|
|
thumb_func_start ov49_02269154
|
|
ov49_02269154: ; 0x02269154
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r4, r2, #0
|
|
cmp r5, #9
|
|
blo _02269164
|
|
bl GF_AssertFail
|
|
_02269164:
|
|
cmp r4, #3
|
|
blt _0226916C
|
|
bl GF_AssertFail
|
|
_0226916C:
|
|
lsl r0, r5, #1
|
|
add r0, r5, r0
|
|
add r0, r6, r0
|
|
add r0, r0, r4
|
|
ldrb r0, [r0, #0x10]
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov49_02269154
|
|
|
|
thumb_func_start ov49_02269178
|
|
ov49_02269178: ; 0x02269178
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
str r1, [sp]
|
|
bl ov45_0222AD90
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #4]
|
|
bl ov45_0222ADA0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
lsl r1, r1, #0xc
|
|
bl FX_Div
|
|
add r7, r0, #0
|
|
cmp r6, #0
|
|
ble _022691B4
|
|
lsl r0, r6, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _022691C2
|
|
_022691B4:
|
|
lsl r0, r6, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_022691C2:
|
|
add r6, r0, #0
|
|
cmp r4, #0
|
|
ble _022691DA
|
|
lsl r0, r4, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _022691E8
|
|
_022691DA:
|
|
lsl r0, r4, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_022691E8:
|
|
bl _ffix
|
|
asr r1, r0, #0x1f
|
|
asr r3, r7, #0x1f
|
|
add r2, r7, #0
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r4, r2, #0xc
|
|
orr r4, r0
|
|
add r0, r6, #0
|
|
bl _ffix
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl FX_Div
|
|
asr r2, r0, #0x1f
|
|
lsl r3, r2, #0xd
|
|
lsr r1, r0, #0x13
|
|
lsl r2, r0, #0xd
|
|
mov r0, #2
|
|
orr r3, r1
|
|
mov r1, #0
|
|
lsl r0, r0, #0xa
|
|
add r2, r2, r0
|
|
adc r3, r1
|
|
lsl r0, r3, #0x14
|
|
lsr r3, r2, #0xc
|
|
orr r3, r0
|
|
add r0, r5, #0
|
|
add r0, #0xbc
|
|
ldr r2, [r0]
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [sp]
|
|
add r2, r3, r2
|
|
bl ov49_0225E3B8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_02269178
|
|
|
|
thumb_func_start ov49_02269240
|
|
ov49_02269240: ; 0x02269240
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0x30]
|
|
str r1, [sp]
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [r7, #4]
|
|
str r2, [sp, #4]
|
|
add r5, r3, #0
|
|
bl ov45_0222AD3C
|
|
add r6, r0, #0
|
|
ldr r0, [r7, #4]
|
|
bl ov45_0222AD2C
|
|
ldr r0, [sp]
|
|
mov r4, #0
|
|
lsl r1, r0, #1
|
|
add r0, r0, r1
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp]
|
|
mov r1, #3
|
|
bl _u32_div_f
|
|
str r1, [sp, #8]
|
|
mov r0, #0xc
|
|
ldr r1, _02269398 ; =ov49_0226A8DC
|
|
mul r0, r6
|
|
add r0, r1, r0
|
|
str r0, [sp, #0xc]
|
|
add r0, r7, #0
|
|
str r0, [sp, #0x14]
|
|
add r0, #0x2c
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp]
|
|
mov r1, #0xe
|
|
mul r1, r0
|
|
str r1, [sp, #0x18]
|
|
_0226928C:
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, [r7, #4]
|
|
add r1, r4, r1
|
|
bl ov45_0222ADE8
|
|
mov r6, #0
|
|
cmp r5, #1
|
|
bne _022692A4
|
|
ldr r1, [sp, #0x30]
|
|
cmp r4, r1
|
|
bne _022692A4
|
|
mov r6, #1
|
|
_022692A4:
|
|
cmp r0, #1
|
|
bne _0226938A
|
|
cmp r4, #0
|
|
beq _022692B6
|
|
cmp r4, #1
|
|
beq _0226931A
|
|
cmp r4, #2
|
|
beq _02269350
|
|
b _0226938A
|
|
_022692B6:
|
|
ldr r0, [r7, #8]
|
|
ldr r1, [sp]
|
|
bl ov49_0225E47C
|
|
cmp r0, #1
|
|
bne _0226938A
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #2
|
|
bne _022692EC
|
|
ldr r3, [sp, #0xc]
|
|
ldr r0, [sp, #4]
|
|
ldrh r3, [r3, #2]
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_022693D4
|
|
ldr r0, [sp, #0xc]
|
|
ldrh r3, [r0, #8]
|
|
ldr r0, _0226939C ; =0x0000FFFE
|
|
cmp r3, r0
|
|
beq _0226930E
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_022693A4
|
|
b _0226930E
|
|
_022692EC:
|
|
ldr r3, [sp, #0xc]
|
|
ldr r0, [sp, #4]
|
|
ldrh r3, [r3]
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_022693D4
|
|
ldr r0, [sp, #0xc]
|
|
ldrh r3, [r0, #4]
|
|
ldr r0, _0226939C ; =0x0000FFFE
|
|
cmp r3, r0
|
|
beq _0226930E
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_022693A4
|
|
_0226930E:
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, [r7, #4]
|
|
add r1, r4, r1
|
|
bl ov45_0222ADF8
|
|
b _0226938A
|
|
_0226931A:
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #2
|
|
bne _02269324
|
|
mov r1, #1
|
|
b _02269326
|
|
_02269324:
|
|
mov r1, #0
|
|
_02269326:
|
|
ldr r2, [sp, #0x14]
|
|
ldr r0, [sp, #0x18]
|
|
ldr r3, [sp]
|
|
add r0, r2, r0
|
|
ldr r2, [r7, #8]
|
|
bl ov49_022693F8
|
|
cmp r0, #1
|
|
bne _0226938A
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, [r7, #4]
|
|
add r1, r4, r1
|
|
bl ov45_0222ADF8
|
|
ldr r0, [sp, #4]
|
|
ldr r3, _022693A0 ; =0x000005C6
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_022693A4
|
|
b _0226938A
|
|
_02269350:
|
|
ldr r0, [r7, #8]
|
|
ldr r1, [sp]
|
|
bl ov49_0225E4A4
|
|
cmp r0, #1
|
|
bne _0226938A
|
|
ldr r1, [sp, #0x10]
|
|
ldr r0, [r7, #4]
|
|
add r1, r4, r1
|
|
bl ov45_0222ADF8
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #2
|
|
bne _0226937C
|
|
ldr r3, [sp, #0xc]
|
|
ldr r0, [sp, #4]
|
|
ldrh r3, [r3, #0xa]
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_022693A4
|
|
b _0226938A
|
|
_0226937C:
|
|
ldr r3, [sp, #0xc]
|
|
ldr r0, [sp, #4]
|
|
ldrh r3, [r3, #6]
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ov49_022693A4
|
|
_0226938A:
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
bge _02269392
|
|
b _0226928C
|
|
_02269392:
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02269398: .word ov49_0226A8DC
|
|
_0226939C: .word 0x0000FFFE
|
|
_022693A0: .word 0x000005C6
|
|
thumb_func_end ov49_02269240
|
|
|
|
thumb_func_start ov49_022693A4
|
|
ov49_022693A4: ; 0x022693A4
|
|
push {r3, lr}
|
|
cmp r0, #0
|
|
beq _022693C8
|
|
cmp r1, #0
|
|
beq _022693D0
|
|
cmp r2, #0
|
|
beq _022693BE
|
|
lsl r0, r3, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r1, #5
|
|
bl sub_0200606C
|
|
pop {r3, pc}
|
|
_022693BE:
|
|
lsl r0, r3, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl PlaySE
|
|
pop {r3, pc}
|
|
_022693C8:
|
|
lsl r0, r3, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl PlaySE
|
|
_022693D0:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_022693A4
|
|
|
|
thumb_func_start ov49_022693D4
|
|
ov49_022693D4: ; 0x022693D4
|
|
push {r3, lr}
|
|
cmp r0, #0
|
|
beq _022693EA
|
|
cmp r1, #0
|
|
beq _022693F4
|
|
lsl r0, r3, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r1, #0
|
|
bl PlayCry
|
|
pop {r3, pc}
|
|
_022693EA:
|
|
lsl r0, r3, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r1, #0
|
|
bl PlayCry
|
|
_022693F4:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_022693D4
|
|
|
|
thumb_func_start ov49_022693F8
|
|
ov49_022693F8: ; 0x022693F8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
cmp r4, #2
|
|
blo _0226940A
|
|
bl GF_AssertFail
|
|
_0226940A:
|
|
ldrh r0, [r5]
|
|
cmp r0, #1
|
|
bne _02269414
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02269414:
|
|
ldr r3, _0226942C ; =ov49_0226A8D4
|
|
strh r4, [r5, #2]
|
|
lsl r4, r4, #2
|
|
mov r0, #1
|
|
strh r0, [r5]
|
|
ldr r3, [r3, r4]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
blx r3
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0226942C: .word ov49_0226A8D4
|
|
thumb_func_end ov49_022693F8
|
|
|
|
thumb_func_start ov49_02269430
|
|
ov49_02269430: ; 0x02269430
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldrh r3, [r4]
|
|
cmp r3, #0
|
|
beq _0226946A
|
|
ldrh r3, [r4, #2]
|
|
lsl r5, r3, #2
|
|
ldr r3, _02269470 ; =ov49_0226A8CC
|
|
ldr r3, [r3, r5]
|
|
blx r3
|
|
cmp r0, #1
|
|
bne _02269466
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
strb r0, [r4, #2]
|
|
strb r0, [r4, #3]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #5]
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
strb r0, [r4, #8]
|
|
strb r0, [r4, #9]
|
|
strb r0, [r4, #0xa]
|
|
strb r0, [r4, #0xb]
|
|
strb r0, [r4, #0xc]
|
|
strb r0, [r4, #0xd]
|
|
_02269466:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_0226946A:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02269470: .word ov49_0226A8CC
|
|
thumb_func_end ov49_02269430
|
|
|
|
thumb_func_start ov49_02269474
|
|
ov49_02269474: ; 0x02269474
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
strh r0, [r4, #4]
|
|
mov r0, #8
|
|
strh r0, [r4, #6]
|
|
mov r0, #5
|
|
bl GF_DegreeToSinCosIdx
|
|
strh r0, [r4, #8]
|
|
mov r0, #2
|
|
strh r0, [r4, #0xa]
|
|
mov r0, #4
|
|
strh r0, [r4, #0xc]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02269474
|
|
|
|
thumb_func_start ov49_02269494
|
|
ov49_02269494: ; 0x02269494
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
strh r0, [r4, #4]
|
|
mov r0, #0x10
|
|
strh r0, [r4, #6]
|
|
mov r0, #0xa
|
|
bl GF_DegreeToSinCosIdx
|
|
strh r0, [r4, #8]
|
|
mov r0, #4
|
|
strh r0, [r4, #0xa]
|
|
mov r0, #2
|
|
strh r0, [r4, #0xc]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov49_02269494
|
|
|
|
thumb_func_start ov49_022694B4
|
|
ov49_022694B4: ; 0x022694B4
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
add r0, sp, #0x10
|
|
mov r4, #0
|
|
str r4, [r0]
|
|
str r4, [r0, #4]
|
|
str r4, [r0, #8]
|
|
mov r0, #4
|
|
ldrsh r0, [r5, r0]
|
|
str r1, [sp]
|
|
str r2, [sp, #4]
|
|
add r1, r0, #1
|
|
mov r0, #6
|
|
ldrsh r0, [r5, r0]
|
|
cmp r1, r0
|
|
bge _022694DA
|
|
strh r1, [r5, #4]
|
|
b _022694EC
|
|
_022694DA:
|
|
strh r4, [r5, #4]
|
|
mov r0, #0xc
|
|
ldrsh r0, [r5, r0]
|
|
sub r0, r0, #1
|
|
cmp r0, #0
|
|
ble _022694EA
|
|
strh r0, [r5, #0xc]
|
|
b _022694EC
|
|
_022694EA:
|
|
mov r4, #1
|
|
_022694EC:
|
|
mov r0, #4
|
|
ldrsh r1, [r5, r0]
|
|
ldr r0, _022695BC ; =0x0000FFFF
|
|
mul r0, r1
|
|
mov r1, #6
|
|
ldrsh r1, [r5, r1]
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
lsr r6, r0, #0x10
|
|
ldrh r0, [r5, #8]
|
|
cmp r0, #0
|
|
beq _02269518
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _02269526
|
|
_02269518:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_02269526:
|
|
bl _ffix
|
|
add r2, r0, #0
|
|
asr r0, r6, #4
|
|
lsl r1, r0, #2
|
|
ldr r0, _022695C0 ; =FX_SinCosTable_
|
|
asr r3, r2, #0x1f
|
|
ldrsh r0, [r0, r1]
|
|
str r0, [sp, #8]
|
|
asr r0, r0, #0x1f
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #0xc]
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r1, r2, #0xc
|
|
orr r1, r0
|
|
lsl r0, r1, #4
|
|
lsr r6, r0, #0x10
|
|
mov r0, #0xa
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _02269572
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _02269580
|
|
_02269572:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_02269580:
|
|
bl _ffix
|
|
add r2, r0, #0
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #0xc]
|
|
asr r3, r2, #0x1f
|
|
bl _ll_mul
|
|
mov r2, #2
|
|
mov r3, #0
|
|
lsl r2, r2, #0xa
|
|
add r2, r0, r2
|
|
adc r1, r3
|
|
lsl r0, r1, #0x14
|
|
lsr r1, r2, #0xc
|
|
orr r1, r0
|
|
str r1, [sp, #0x14]
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #4]
|
|
add r2, r6, #0
|
|
bl ov49_0225E4F8
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #4]
|
|
add r2, sp, #0x10
|
|
bl ov49_0225E3F4
|
|
add r0, r4, #0
|
|
add sp, #0x1c
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_022695BC: .word 0x0000FFFF
|
|
_022695C0: .word FX_SinCosTable_
|
|
thumb_func_end ov49_022694B4
|
|
|
|
thumb_func_start ov49_022695C4
|
|
ov49_022695C4: ; 0x022695C4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r0, #0
|
|
str r1, [sp]
|
|
add r0, r1, #0
|
|
lsl r1, r0, #1
|
|
ldr r0, [sp]
|
|
mov r6, #0
|
|
add r0, r0, r1
|
|
str r0, [sp, #4]
|
|
_022695D8:
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [r7, #4]
|
|
add r1, r6, r1
|
|
bl ov45_0222AE34
|
|
add r4, r0, #0
|
|
ldr r0, [r7, #8]
|
|
ldr r1, [sp]
|
|
add r2, r6, #0
|
|
add r3, sp, #8
|
|
bl ov49_0225E420
|
|
cmp r4, #3
|
|
bge _0226961A
|
|
lsl r0, r4, #2
|
|
add r5, r7, r0
|
|
_022695F8:
|
|
mov r0, #0xaa
|
|
ldrsh r0, [r5, r0]
|
|
add r0, #0x10
|
|
lsl r1, r0, #0xc
|
|
ldr r0, [sp, #8]
|
|
cmp r1, r0
|
|
ble _02269612
|
|
ldr r1, [sp, #4]
|
|
ldr r0, [r7, #4]
|
|
add r1, r6, r1
|
|
add r2, r4, #0
|
|
bl ov45_0222AE24
|
|
_02269612:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #3
|
|
blt _022695F8
|
|
_0226961A:
|
|
add r6, r6, #1
|
|
cmp r6, #3
|
|
blt _022695D8
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov49_022695C4
|
|
|
|
.rodata
|
|
|
|
_02269624:
|
|
.byte 0x27, 0x28, 0x29, 0x00
|
|
|
|
ov49_02269628: ; 0x02269628
|
|
.byte 0x02, 0x03, 0x04, 0x05
|
|
|
|
ov49_0226962C: ; 0x0226962C
|
|
.byte 0x24, 0x25, 0x26, 0x27
|
|
.byte 0x28, 0x29, 0x2B, 0x00
|
|
|
|
ov49_02269634: ; 0x02269634
|
|
.byte 0x01, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10
|
|
.byte 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20
|
|
.byte 0x21, 0x22, 0x23, 0x2C
|
|
|
|
ov49_02269654: ; 0x02269654
|
|
.byte 0x03, 0x02, 0x01, 0x00
|
|
|
|
ov49_02269658: ; 0x02269658
|
|
.byte 0x20, 0x40, 0x80, 0x90
|
|
|
|
ov49_0226965C: ; 0x0226965C
|
|
.byte 0x00, 0x01, 0x02, 0x03
|
|
|
|
ov49_02269660: ; 0x02269660
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269678: ; 0x02269678
|
|
.byte 0x40, 0x02, 0x1E, 0x01, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0x41, 0x01, 0x1E, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x42, 0x01, 0x1D, 0x01, 0xFF, 0x00, 0x00, 0x00
|
|
.byte 0x61, 0x01, 0x1D, 0x01, 0xFE, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269698: ; 0x02269698
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.word ov49_022599F8
|
|
|
|
ov49_022696C0: ; 0x022696C0
|
|
.word ov49_0225940C
|
|
.word ov49_02259410
|
|
.word ov49_022594D8
|
|
.word ov49_022595CC
|
|
.word ov49_0225967C
|
|
.word ov49_0225974C
|
|
.word ov49_02259758
|
|
.word ov49_02259734
|
|
.word ov49_02259740
|
|
.word ov49_0225991C
|
|
|
|
ov49_022696E8: ; 0x022696E8
|
|
.byte 0x14, 0x88, 0x00, 0x00
|
|
|
|
ov49_022696EC: ; 0x022696EC
|
|
.byte 0x00, 0x01, 0x00, 0x00
|
|
|
|
ov49_022696F0: ; 0x022696F0
|
|
.byte 0x00, 0x09, 0x06, 0x00
|
|
|
|
ov49_022696F4: ; 0x022696F4
|
|
.byte 0x20, 0xA0, 0x28, 0xD8
|
|
|
|
ov49_022696F8: ; 0x022696F8
|
|
.byte 0xE4, 0x02, 0xEC, 0x02
|
|
|
|
ov49_022696FC: ; 0x022696FC
|
|
.byte 0x03, 0x00, 0x69, 0x00
|
|
.byte 0x34, 0x00, 0x38, 0x00
|
|
|
|
ov49_02269704: ; 0x02269704
|
|
.byte 0x02, 0x00, 0x68, 0x00, 0x33, 0x00, 0x37, 0x00
|
|
|
|
ov49_0226970C: ; 0x0226970C
|
|
.byte 0x05, 0x01, 0x00, 0x18
|
|
.byte 0x03, 0x05, 0xD0, 0x01
|
|
|
|
ov49_02269714: ; 0x02269714
|
|
.byte 0x08, 0x03, 0x00, 0x00, 0x09, 0x03, 0x00, 0x00, 0x20, 0x03, 0x00, 0x00
|
|
.byte 0xFE, 0x02, 0x00, 0x00
|
|
|
|
ov49_02269724: ; 0x02269724
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269734: ; 0x02269734
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269744: ; 0x02269744
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
|
|
.byte 0x77, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269754: ; 0x02269754
|
|
.byte 0x00, 0x00, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10
|
|
.byte 0x84, 0x10, 0x84, 0x10
|
|
|
|
ov49_02269764: ; 0x02269764
|
|
.byte 0x02, 0x00, 0x32, 0x00, 0xF8, 0xFF, 0xFA, 0xFF, 0x03, 0x00, 0x36, 0x00
|
|
.byte 0xF8, 0xFF, 0xFA, 0xFF
|
|
|
|
ov49_02269774: ; 0x02269774
|
|
.byte 0xD7, 0x00, 0x00, 0x00, 0x08, 0x00, 0xD1, 0x00, 0x66, 0x00, 0x02, 0x00
|
|
.byte 0xD7, 0x00, 0x31, 0x00, 0x01, 0x00, 0xD7, 0x00, 0x35, 0x00, 0x01, 0x00
|
|
|
|
ov49_0226978C: ; 0x0226978C
|
|
.byte 0xE4, 0x02, 0xE5, 0x02
|
|
.byte 0xE6, 0x02, 0xE7, 0x02, 0xE8, 0x02, 0xE9, 0x02, 0xEA, 0x02, 0xEB, 0x02, 0xEC, 0x02, 0xED, 0x02
|
|
.byte 0xEE, 0x02, 0xEF, 0x02, 0xF0, 0x02, 0xF1, 0x02, 0xF2, 0x02, 0xF3, 0x02
|
|
|
|
ov49_022697AC: ; 0x022697AC
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x10, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov49_022697CC: ; 0x022697CC
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00
|
|
|
|
ov49_022697F4: ; 0x022697F4
|
|
.byte 0x06, 0x08, 0x02, 0x10, 0x04, 0x05, 0x40, 0x01, 0x06, 0x01, 0x07, 0x1E
|
|
.byte 0x06, 0x05, 0x80, 0x01, 0x06, 0x01, 0x0E, 0x13, 0x04, 0x05, 0x34, 0x02, 0x06, 0x01, 0x13, 0x13
|
|
.byte 0x04, 0x05, 0x80, 0x02, 0x06, 0x00, 0x0E, 0x16, 0x08, 0x05, 0x34, 0x02
|
|
|
|
ov49_0226981C: ; 0x0226981C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0F, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0F, 0x00, 0x00, 0x02, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov49_0226988C: ; 0x0226988C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x21, 0x00, 0x23, 0x00, 0x61, 0x00, 0x01, 0x00, 0x26, 0x00, 0x24, 0x00, 0x03, 0x00, 0x3C, 0x00
|
|
.byte 0x26, 0x00, 0x19, 0x00, 0x05, 0x00, 0x06, 0x00, 0x2C, 0x00, 0x20, 0x00, 0x0B, 0x00, 0x18, 0x00
|
|
.byte 0x26, 0x00, 0x2C, 0x00, 0x1F, 0x00, 0x39, 0x00, 0x28, 0x00, 0x28, 0x00, 0x32, 0x00, 0x30, 0x00
|
|
.byte 0x2C, 0x00, 0x1A, 0x00, 0x33, 0x00, 0x0E, 0x00, 0x2C, 0x00, 0x25, 0x00, 0x3E, 0x00, 0x20, 0x00
|
|
.byte 0x1D, 0x00, 0x28, 0x00, 0x46, 0x00, 0x31, 0x00, 0x2A, 0x00, 0x2C, 0x00, 0x06, 0x00, 0x03, 0x00
|
|
.byte 0x27, 0x00, 0x22, 0x00, 0x07, 0x00, 0x0A, 0x00, 0x28, 0x00, 0x24, 0x00, 0x0D, 0x00, 0x24, 0x00
|
|
.byte 0x26, 0x00, 0x29, 0x00, 0x0E, 0x00, 0x19, 0x00, 0x24, 0x00, 0x2A, 0x00, 0x23, 0x00, 0x55, 0x00
|
|
.byte 0x26, 0x00, 0x26, 0x00, 0x25, 0x00, 0x23, 0x00, 0x26, 0x00, 0x27, 0x00, 0x2A, 0x00, 0x12, 0x00
|
|
.byte 0x26, 0x00, 0x23, 0x00, 0x3F, 0x00, 0x21, 0x00, 0x28, 0x00, 0x2C, 0x00
|
|
|
|
ov49_0226991C: ; 0x0226991C
|
|
.byte 0x00, 0x00, 0x02, 0x00
|
|
.byte 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x19, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x80, 0x06, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
|
|
.byte 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x09, 0x00, 0x00, 0x00, 0x19, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00
|
|
.byte 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x06, 0x00, 0x00, 0x00, 0x1B, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x80, 0x09, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov49_022699AC: ; 0x022699AC
|
|
.byte 0x00, 0x00, 0x01, 0x00
|
|
.byte 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x06, 0x04, 0x00, 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x01, 0x07, 0x00
|
|
.byte 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x02, 0x0A, 0x00, 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x06, 0x0D, 0x00
|
|
.byte 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x05, 0x10, 0x00, 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x03, 0x13, 0x00
|
|
.byte 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x04, 0x16, 0x00, 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x00, 0x19, 0x00
|
|
.byte 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x07, 0x1C, 0x00, 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x04, 0x1F, 0x00
|
|
.byte 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x01, 0x22, 0x00, 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x05, 0x25, 0x00
|
|
.byte 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x05, 0x28, 0x00, 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x02, 0x2B, 0x00
|
|
.byte 0xF8, 0xFF, 0xFA, 0xFF, 0x00, 0x03, 0x2E, 0x00, 0xF8, 0xFF, 0xFA, 0xFF, 0x01, 0x00, 0x67, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6D, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x73, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x79, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269A6C: ; 0x02269A6C
|
|
.byte 0x02, 0xD6, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269A74: ; 0x02269A74
|
|
.byte 0xF5, 0xFF, 0xFF, 0xFF, 0x0C, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269A7C: ; 0x02269A7C
|
|
.byte 0xFE, 0xFF
|
|
|
|
ov49_02269A7E: ; 0x02269A7E
|
|
.byte 0x0A, 0x00
|
|
.byte 0x0E, 0x00, 0x0A, 0x00, 0x1E, 0x00, 0x0A, 0x00
|
|
|
|
ov49_02269A88: ; 0x02269A88
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00
|
|
.byte 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00
|
|
|
|
ov49_02269AAC: ; 0x02269AAC
|
|
.byte 0x18, 0x00, 0x00, 0x00
|
|
.byte 0x19, 0x00, 0x01, 0x00, 0x1A, 0x00, 0x02, 0x00, 0x1B, 0x00, 0x03, 0x00, 0x1B, 0x00, 0x03, 0x00
|
|
.byte 0x1C, 0x00, 0x04, 0x00, 0x21, 0x00, 0x05, 0x00, 0x46, 0x00, 0x06, 0x00, 0x47, 0x00, 0x07, 0x00
|
|
.byte 0x48, 0x00, 0x08, 0x00, 0x4C, 0x00, 0x09, 0x00, 0x49, 0x00, 0x0A, 0x00, 0x4A, 0x00, 0x0A, 0x00
|
|
.byte 0x4B, 0x00, 0x0A, 0x00, 0x4D, 0x00, 0x0B, 0x00, 0x4E, 0x00, 0x0C, 0x00, 0x4D, 0x00, 0x0D, 0x00
|
|
.byte 0x4E, 0x00, 0x0D, 0x00, 0x4D, 0x00, 0x0E, 0x00, 0x4E, 0x00, 0x0E, 0x00, 0x19, 0x00, 0x0F, 0x00
|
|
.byte 0x1A, 0x00, 0x0F, 0x00, 0x1B, 0x00, 0x0F, 0x00, 0x1B, 0x00, 0x0F, 0x00, 0x1C, 0x00, 0x0F, 0x00
|
|
.byte 0x19, 0x00, 0x10, 0x00, 0x1A, 0x00, 0x10, 0x00, 0x1B, 0x00, 0x10, 0x00, 0x1B, 0x00, 0x10, 0x00
|
|
.byte 0x1C, 0x00, 0x10, 0x00, 0x5C, 0x00, 0x0D, 0x00, 0x5D, 0x00, 0x0D, 0x00, 0x5C, 0x00, 0x0E, 0x00
|
|
.byte 0x5D, 0x00, 0x0E, 0x00, 0x62, 0x00, 0x11, 0x00
|
|
|
|
ov49_02269B38: ; 0x02269B38
|
|
.word ov49_0225FDCC
|
|
.word ov49_02260230
|
|
|
|
ov49_02269B40: ; 0x02269B40
|
|
.word ov49_02261720, 0
|
|
|
|
ov49_02269B48: ; 0x02269B48
|
|
.word ov49_022618C0, 0
|
|
|
|
ov49_02269B50: ; 0x02269B50
|
|
.word ov49_02261930, 0
|
|
|
|
ov49_02269B58: ; 0x02269B58
|
|
.word ov49_02261B74, 0
|
|
|
|
ov49_02269B60: ; 0x02269B60
|
|
.word ov49_02262FB4, 0
|
|
|
|
ov49_02269B68: ; 0x02269B68
|
|
.word ov49_02262AC4, 0
|
|
|
|
ov49_02269B70: ; 0x02269B70
|
|
.word ov49_02263B74, 0
|
|
|
|
ov49_02269B78: ; 0x02269B78
|
|
.word ov49_0226154C, 0
|
|
|
|
ov49_02269B80: ; 0x02269B80
|
|
.word ov49_0225F448, 0
|
|
|
|
ov49_02269B88: ; 0x02269B88
|
|
.word ov49_02262028, 0
|
|
|
|
ov49_02269B90: ; 0x02269B90
|
|
.byte 0x4F, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x51, 0x00, 0x00, 0x00, 0x52, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269BA0: ; 0x02269BA0
|
|
.byte 0x57, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269BB0: ; 0x02269BB0
|
|
.byte 0x32, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x35, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269BC0: ; 0x02269BC0
|
|
.byte 0x53, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x55, 0x00, 0x00, 0x00, 0x56, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269BD0: ; 0x02269BD0
|
|
.byte 0x36, 0x00, 0x00, 0x00, 0x37, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269BE0: ; 0x02269BE0
|
|
.word ov49_0225F518, 0
|
|
.word ov49_0225FA14, 0
|
|
.word ov49_0225FB5C, 0
|
|
.word ov49_0225FCA8, 0
|
|
|
|
ov49_02269C00: ; 0x02269C00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x07, 0x00, 0x00, 0x08, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269C20: ; 0x02269C20
|
|
.byte 0x22, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00
|
|
.byte 0x26, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269C40: ; 0x02269C40
|
|
.byte 0x2A, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00
|
|
.byte 0x2E, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269C60: ; 0x02269C60
|
|
.byte 0x27, 0x28, 0x29, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.word ov49_02262B14
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.word 0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269C90: ; 0x02269C90
|
|
.byte 0x24, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.word ov49_02260D90
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x25, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.word ov49_022644E8
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x26, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.word ov49_022649F4
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x27, 0x28, 0x29, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.word ov49_02262B14
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x2B, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.word ov49_02268DCC
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.word 0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269D20: ; 0x02269D20
|
|
.byte 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.word ov49_02260254
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0x17, 0x18, 0x19, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.word ov49_02260428
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1A, 0x1B, 0x1C, 0x1D, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.word ov49_02260428
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x00, 0x00, 0x00, 0x00
|
|
.word ov49_02260428
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x00, 0x00, 0x00, 0x00
|
|
.word ov49_02260428
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x21, 0x22, 0x23, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.word ov49_02260E2C
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x1F, 0x20, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.word ov49_022607C4
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x2C, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.word ov49_02260A68
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.word 0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269DF8: ; 0x02269DF8
|
|
.byte 0x08, 0x0A, 0x00, 0x00
|
|
|
|
ov49_02269DFC: ; 0x02269DFC
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x10, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269E1C: ; 0x02269E1C
|
|
.byte 0x1F, 0x20, 0x21, 0x22
|
|
.byte 0x23, 0x28, 0x24, 0x25
|
|
|
|
ov49_02269E24: ; 0x02269E24
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x08, 0x00, 0x10, 0x2F, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov49_02269E44: ; 0x02269E44
|
|
.byte 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00
|
|
.byte 0x1F, 0x00, 0x1F, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x05, 0x00, 0x07, 0x00
|
|
.byte 0x01, 0x00, 0x09, 0x00, 0x20, 0x00, 0x02, 0x00, 0x20, 0x00, 0x0B, 0x00, 0x0D, 0x00, 0x0F, 0x00
|
|
.byte 0x20, 0x00, 0x11, 0x00, 0x0C, 0x00, 0x04, 0x00, 0x0C, 0x00, 0x21, 0x00, 0x13, 0x00, 0x15, 0x00
|
|
.byte 0x0C, 0x00, 0x17, 0x00, 0x0E, 0x00, 0x06, 0x00, 0x0E, 0x00, 0x14, 0x00, 0x22, 0x00, 0x19, 0x00
|
|
.byte 0x0E, 0x00, 0x1B, 0x00, 0x10, 0x00, 0x08, 0x00, 0x10, 0x00, 0x16, 0x00, 0x1A, 0x00, 0x23, 0x00
|
|
.byte 0x10, 0x00, 0x1D, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00, 0x1F, 0x00
|
|
.byte 0x1F, 0x00, 0x1F, 0x00, 0x12, 0x00, 0x0A, 0x00, 0x12, 0x00, 0x18, 0x00, 0x1C, 0x00, 0x1E, 0x00
|
|
.byte 0x12, 0x00, 0x24, 0x00
|
|
|
|
ov49_02269EC4: ; 0x02269EC4
|
|
.byte 0x28, 0x00
|
|
|
|
ov49_02269EC6: ; 0x02269EC6
|
|
.byte 0x25, 0x02, 0x29, 0x00, 0x26, 0x02, 0x2B, 0x00, 0x27, 0x02
|
|
.byte 0x2C, 0x00, 0x28, 0x02, 0x2E, 0x00, 0x2A, 0x02, 0x2F, 0x00, 0x2B, 0x02, 0x30, 0x00, 0x2C, 0x02
|
|
.byte 0x31, 0x00, 0x2D, 0x02, 0x32, 0x00, 0x2E, 0x02, 0x33, 0x00, 0x2F, 0x02, 0x34, 0x00, 0x30, 0x02
|
|
.byte 0x35, 0x00, 0x31, 0x02, 0x36, 0x00, 0x32, 0x02, 0x37, 0x00, 0x33, 0x02, 0x38, 0x00, 0x34, 0x02
|
|
.byte 0x39, 0x00, 0x35, 0x02, 0x3A, 0x00, 0x36, 0x02, 0x3B, 0x00, 0x37, 0x02, 0x3C, 0x00, 0x38, 0x02
|
|
.byte 0x3D, 0x00, 0x39, 0x02, 0x3E, 0x00, 0x3A, 0x02, 0x3F, 0x00, 0x3B, 0x02, 0x40, 0x00, 0x3C, 0x02
|
|
.byte 0x55, 0x00, 0x3D, 0x02, 0x56, 0x00, 0x3E, 0x02, 0x57, 0x00, 0x3F, 0x02, 0x58, 0x00, 0x40, 0x02
|
|
.byte 0x59, 0x00, 0x41, 0x02, 0x5A, 0x00, 0x42, 0x02, 0x5B, 0x00, 0x43, 0x02, 0x5C, 0x00, 0x44, 0x02
|
|
.byte 0x5D, 0x00, 0x45, 0x02, 0x5E, 0x00, 0x46, 0x02, 0xEC, 0x00, 0x47, 0x02, 0xED, 0x00, 0x48, 0x02
|
|
.byte 0xEE, 0x00, 0x49, 0x02, 0xEF, 0x00, 0x4A, 0x02, 0xF0, 0x00, 0x4B, 0x02, 0xF1, 0x00, 0x4C, 0x02
|
|
.byte 0xF2, 0x00, 0x4D, 0x02, 0xF3, 0x00, 0x4E, 0x02, 0xF4, 0x00, 0x4F, 0x02, 0xF5, 0x00, 0x50, 0x02
|
|
.byte 0xF6, 0x00, 0x51, 0x02, 0xF7, 0x00, 0x52, 0x02, 0xF8, 0x00, 0x53, 0x02, 0xF9, 0x00, 0x54, 0x02
|
|
.byte 0xFA, 0x00, 0x55, 0x02, 0xFB, 0x00, 0x56, 0x02, 0xFC, 0x00, 0x57, 0x02, 0xFD, 0x00, 0x58, 0x02
|
|
.byte 0xFE, 0x00, 0x59, 0x02, 0xFF, 0x00, 0x5A, 0x02, 0x00, 0x01, 0x5B, 0x02, 0x01, 0x01, 0x5C, 0x02
|
|
.byte 0x02, 0x01, 0x5D, 0x02, 0x03, 0x01, 0x5E, 0x02, 0x04, 0x01, 0x5F, 0x02, 0x05, 0x01, 0x60, 0x02
|
|
.byte 0x06, 0x01, 0x61, 0x02, 0x07, 0x01, 0x62, 0x02, 0x08, 0x01, 0x63, 0x02, 0x09, 0x01, 0x64, 0x02
|
|
.byte 0x0A, 0x01, 0x65, 0x02, 0x0B, 0x01, 0x66, 0x02, 0x0C, 0x01, 0x67, 0x02, 0x0D, 0x01, 0x68, 0x02
|
|
.byte 0x0E, 0x01, 0x69, 0x02, 0x0F, 0x01, 0x6A, 0x02, 0x10, 0x01, 0x6B, 0x02, 0x11, 0x01, 0x6C, 0x02
|
|
.byte 0x12, 0x01, 0x6D, 0x02, 0x13, 0x01, 0x6E, 0x02, 0x64, 0x01, 0x6F, 0x02, 0x65, 0x01, 0x70, 0x02
|
|
.byte 0x66, 0x01, 0x71, 0x02, 0x67, 0x01, 0x72, 0x02, 0x68, 0x01, 0x73, 0x02, 0x69, 0x01, 0x74, 0x02
|
|
.byte 0x6A, 0x01, 0x75, 0x02, 0x6B, 0x01, 0x76, 0x02, 0x6C, 0x01, 0x77, 0x02, 0x6D, 0x01, 0x78, 0x02
|
|
.byte 0x6E, 0x01, 0x79, 0x02, 0x6F, 0x01, 0x7A, 0x02, 0x70, 0x01, 0x7B, 0x02, 0x71, 0x01, 0x7C, 0x02
|
|
.byte 0x72, 0x01, 0x7D, 0x02, 0x73, 0x01, 0x7E, 0x02, 0x74, 0x01, 0x7F, 0x02, 0x75, 0x01, 0x80, 0x02
|
|
.byte 0x76, 0x01, 0x81, 0x02, 0x77, 0x01, 0x82, 0x02, 0x78, 0x01, 0x83, 0x02, 0x79, 0x01, 0x84, 0x02
|
|
.byte 0x7A, 0x01, 0x85, 0x02, 0x7B, 0x01, 0x86, 0x02, 0x7C, 0x01, 0x87, 0x02, 0x7D, 0x01, 0x88, 0x02
|
|
.byte 0x7E, 0x01, 0x89, 0x02, 0x7F, 0x01, 0x8A, 0x02, 0x80, 0x01, 0x8B, 0x02, 0x81, 0x01, 0x8C, 0x02
|
|
.byte 0x82, 0x01, 0x8D, 0x02, 0x83, 0x01, 0x8E, 0x02, 0x84, 0x01, 0x8F, 0x02, 0x85, 0x01, 0x90, 0x02
|
|
.byte 0x86, 0x01, 0x91, 0x02, 0x87, 0x01, 0x92, 0x02, 0x88, 0x01, 0x93, 0x02, 0x89, 0x01, 0x94, 0x02
|
|
.byte 0x8A, 0x01, 0x95, 0x02, 0x8B, 0x01, 0x96, 0x02, 0x8C, 0x01, 0x97, 0x02, 0xDD, 0x01, 0x98, 0x02
|
|
.byte 0xDE, 0x01, 0x99, 0x02, 0xDF, 0x01, 0x9A, 0x02, 0xE0, 0x01, 0x9B, 0x02, 0xE1, 0x01, 0x9C, 0x02
|
|
.byte 0xE2, 0x01, 0x9D, 0x02, 0xE3, 0x01, 0x9E, 0x02, 0xE4, 0x01, 0x9F, 0x02, 0xE5, 0x01, 0xA0, 0x02
|
|
.byte 0xE6, 0x01, 0xA1, 0x02, 0xFB, 0x01, 0xA2, 0x02, 0xFC, 0x01, 0xA3, 0x02, 0xFD, 0x01, 0xA4, 0x02
|
|
.byte 0xFE, 0x01, 0xA5, 0x02, 0xFF, 0x01, 0xA6, 0x02, 0x00, 0x02, 0xA7, 0x02, 0x01, 0x02, 0x8D, 0x03
|
|
.byte 0x02, 0x02, 0xA8, 0x02, 0xAB, 0x02, 0xAD, 0x02, 0xAC, 0x02, 0xAE, 0x02, 0xAF, 0x02, 0xB0, 0x02
|
|
.byte 0x41, 0x00, 0xB1, 0x02, 0x42, 0x00, 0xB2, 0x02, 0x43, 0x00, 0xB3, 0x02, 0x44, 0x00, 0xB4, 0x02
|
|
.byte 0x45, 0x00, 0xB5, 0x02, 0x46, 0x00, 0xB6, 0x02, 0x47, 0x00, 0xB7, 0x02, 0x48, 0x00, 0xB8, 0x02
|
|
.byte 0x49, 0x00, 0xB9, 0x02, 0x4A, 0x00, 0xBA, 0x02, 0x4B, 0x00, 0xBB, 0x02, 0x4C, 0x00, 0xBC, 0x02
|
|
.byte 0x4D, 0x00, 0xBD, 0x02, 0x4E, 0x00, 0xBE, 0x02, 0x4F, 0x00, 0xBF, 0x02, 0x50, 0x00, 0xC0, 0x02
|
|
.byte 0x51, 0x00, 0xC1, 0x02, 0x52, 0x00, 0xC2, 0x02, 0x53, 0x00, 0xC3, 0x02, 0x54, 0x00, 0xC4, 0x02
|
|
.byte 0x5F, 0x00, 0xC5, 0x02, 0x60, 0x00, 0xC6, 0x02, 0x61, 0x00, 0xC7, 0x02, 0x62, 0x00, 0xC8, 0x02
|
|
.byte 0x63, 0x00, 0xC9, 0x02, 0x64, 0x00, 0xCA, 0x02, 0x65, 0x00, 0xCB, 0x02, 0x66, 0x00, 0xCC, 0x02
|
|
.byte 0x67, 0x00, 0xCD, 0x02, 0x68, 0x00, 0xCE, 0x02, 0x69, 0x00, 0xCF, 0x02, 0x6A, 0x00, 0xD0, 0x02
|
|
.byte 0x6B, 0x00, 0xD1, 0x02, 0x6C, 0x00, 0xD2, 0x02, 0x6D, 0x00, 0xD3, 0x02, 0x6E, 0x00, 0xD4, 0x02
|
|
.byte 0x6F, 0x00, 0xD5, 0x02, 0x70, 0x00, 0xD6, 0x02, 0x71, 0x00, 0xD7, 0x02, 0x72, 0x00, 0xD8, 0x02
|
|
.byte 0x14, 0x01, 0xD9, 0x02, 0x15, 0x01, 0xDA, 0x02, 0x16, 0x01, 0xDB, 0x02, 0x17, 0x01, 0xDC, 0x02
|
|
.byte 0x18, 0x01, 0xDD, 0x02, 0x19, 0x01, 0xDE, 0x02, 0x1A, 0x01, 0xDF, 0x02, 0x1B, 0x01, 0xE0, 0x02
|
|
.byte 0x1C, 0x01, 0xE1, 0x02, 0x1D, 0x01, 0xE2, 0x02, 0x1E, 0x01, 0xE3, 0x02, 0x1F, 0x01, 0xE4, 0x02
|
|
.byte 0x20, 0x01, 0xE5, 0x02, 0x21, 0x01, 0xE6, 0x02, 0x22, 0x01, 0xE7, 0x02, 0x23, 0x01, 0xE8, 0x02
|
|
.byte 0x24, 0x01, 0xE9, 0x02, 0x25, 0x01, 0xEA, 0x02, 0x26, 0x01, 0xEB, 0x02, 0x27, 0x01, 0xEC, 0x02
|
|
.byte 0x28, 0x01, 0xED, 0x02, 0x29, 0x01, 0xEE, 0x02, 0x2A, 0x01, 0xEF, 0x02, 0x2B, 0x01, 0xF0, 0x02
|
|
.byte 0x2C, 0x01, 0xF1, 0x02, 0x2D, 0x01, 0xF2, 0x02, 0x2E, 0x01, 0xF3, 0x02, 0x2F, 0x01, 0xF4, 0x02
|
|
.byte 0x30, 0x01, 0xF5, 0x02, 0x31, 0x01, 0xF6, 0x02, 0x32, 0x01, 0xF7, 0x02, 0x33, 0x01, 0xF8, 0x02
|
|
.byte 0x34, 0x01, 0xF9, 0x02, 0x35, 0x01, 0xFA, 0x02, 0x36, 0x01, 0xFB, 0x02, 0x37, 0x01, 0xFC, 0x02
|
|
.byte 0x38, 0x01, 0xFD, 0x02, 0x39, 0x01, 0xFE, 0x02, 0x3A, 0x01, 0xFF, 0x02, 0x3B, 0x01, 0x00, 0x03
|
|
.byte 0x3C, 0x01, 0x01, 0x03, 0x3D, 0x01, 0x02, 0x03, 0x3E, 0x01, 0x03, 0x03, 0x3F, 0x01, 0x04, 0x03
|
|
.byte 0x40, 0x01, 0x05, 0x03, 0x41, 0x01, 0x06, 0x03, 0x42, 0x01, 0x07, 0x03, 0x43, 0x01, 0x08, 0x03
|
|
.byte 0x44, 0x01, 0x09, 0x03, 0x45, 0x01, 0x0A, 0x03, 0x46, 0x01, 0x0B, 0x03, 0x47, 0x01, 0x0C, 0x03
|
|
.byte 0x48, 0x01, 0x0D, 0x03, 0x49, 0x01, 0x0E, 0x03, 0x4A, 0x01, 0x0F, 0x03, 0x4B, 0x01, 0x10, 0x03
|
|
.byte 0x4C, 0x01, 0x11, 0x03, 0x4D, 0x01, 0x12, 0x03, 0x4E, 0x01, 0x13, 0x03, 0x4F, 0x01, 0x14, 0x03
|
|
.byte 0x50, 0x01, 0x15, 0x03, 0x51, 0x01, 0x16, 0x03, 0x52, 0x01, 0x17, 0x03, 0x53, 0x01, 0x18, 0x03
|
|
.byte 0x54, 0x01, 0x19, 0x03, 0x55, 0x01, 0x1A, 0x03, 0x56, 0x01, 0x1B, 0x03, 0x57, 0x01, 0x1C, 0x03
|
|
.byte 0x58, 0x01, 0x1D, 0x03, 0x59, 0x01, 0x1E, 0x03, 0x5A, 0x01, 0x1F, 0x03, 0x5B, 0x01, 0x20, 0x03
|
|
.byte 0x5C, 0x01, 0x21, 0x03, 0x5D, 0x01, 0x22, 0x03, 0x5E, 0x01, 0x23, 0x03, 0x5F, 0x01, 0x24, 0x03
|
|
.byte 0x60, 0x01, 0x25, 0x03, 0x61, 0x01, 0x26, 0x03, 0x62, 0x01, 0x27, 0x03, 0x63, 0x01, 0x28, 0x03
|
|
.byte 0x8D, 0x01, 0x29, 0x03, 0x8E, 0x01, 0x2A, 0x03, 0x8F, 0x01, 0x2B, 0x03, 0x90, 0x01, 0x2C, 0x03
|
|
.byte 0x91, 0x01, 0x2D, 0x03, 0x92, 0x01, 0x2E, 0x03, 0x93, 0x01, 0x2F, 0x03, 0x94, 0x01, 0x30, 0x03
|
|
.byte 0x95, 0x01, 0x31, 0x03, 0x96, 0x01, 0x32, 0x03, 0x97, 0x01, 0x33, 0x03, 0x98, 0x01, 0x34, 0x03
|
|
.byte 0x99, 0x01, 0x35, 0x03, 0x9A, 0x01, 0x36, 0x03, 0x9B, 0x01, 0x37, 0x03, 0x9C, 0x01, 0x38, 0x03
|
|
.byte 0x9D, 0x01, 0x39, 0x03, 0x9E, 0x01, 0x3A, 0x03, 0x9F, 0x01, 0x3B, 0x03, 0xA0, 0x01, 0x3C, 0x03
|
|
.byte 0xA1, 0x01, 0x3D, 0x03, 0xA2, 0x01, 0x3E, 0x03, 0xA3, 0x01, 0x3F, 0x03, 0xA4, 0x01, 0x40, 0x03
|
|
.byte 0xA5, 0x01, 0x41, 0x03, 0xA6, 0x01, 0x42, 0x03, 0xA7, 0x01, 0x43, 0x03, 0xA8, 0x01, 0x44, 0x03
|
|
.byte 0xA9, 0x01, 0x45, 0x03, 0xAA, 0x01, 0x46, 0x03, 0xAB, 0x01, 0x47, 0x03, 0xAC, 0x01, 0x48, 0x03
|
|
.byte 0xAD, 0x01, 0x49, 0x03, 0xAE, 0x01, 0x4A, 0x03, 0xAF, 0x01, 0x4B, 0x03, 0xB0, 0x01, 0x4C, 0x03
|
|
.byte 0xB1, 0x01, 0x4D, 0x03, 0xB2, 0x01, 0x4E, 0x03, 0xB3, 0x01, 0x4F, 0x03, 0xB4, 0x01, 0x50, 0x03
|
|
.byte 0xB5, 0x01, 0x51, 0x03, 0xB6, 0x01, 0x52, 0x03, 0xB7, 0x01, 0x53, 0x03, 0xB8, 0x01, 0x54, 0x03
|
|
.byte 0xB9, 0x01, 0x55, 0x03, 0xBA, 0x01, 0x56, 0x03, 0xBB, 0x01, 0x57, 0x03, 0xBC, 0x01, 0x58, 0x03
|
|
.byte 0xBD, 0x01, 0x59, 0x03, 0xBE, 0x01, 0x5A, 0x03, 0xBF, 0x01, 0x5B, 0x03, 0xC0, 0x01, 0x5C, 0x03
|
|
.byte 0xC1, 0x01, 0x5D, 0x03, 0xC2, 0x01, 0x5E, 0x03, 0xC3, 0x01, 0x5F, 0x03, 0xC4, 0x01, 0x60, 0x03
|
|
.byte 0xC5, 0x01, 0x61, 0x03, 0xC6, 0x01, 0x62, 0x03, 0xC7, 0x01, 0x63, 0x03, 0xC8, 0x01, 0x64, 0x03
|
|
.byte 0xC9, 0x01, 0x65, 0x03, 0xCA, 0x01, 0x66, 0x03, 0xCB, 0x01, 0x67, 0x03, 0xCC, 0x01, 0x68, 0x03
|
|
.byte 0xCD, 0x01, 0x69, 0x03, 0xCE, 0x01, 0x6A, 0x03, 0xCF, 0x01, 0x6B, 0x03, 0xD0, 0x01, 0x6C, 0x03
|
|
.byte 0xD1, 0x01, 0x6D, 0x03, 0xD2, 0x01, 0x6E, 0x03, 0xD3, 0x01, 0x6F, 0x03, 0xD4, 0x01, 0x70, 0x03
|
|
.byte 0xD5, 0x01, 0x71, 0x03, 0xD6, 0x01, 0x72, 0x03, 0xD7, 0x01, 0x73, 0x03, 0xD8, 0x01, 0x74, 0x03
|
|
.byte 0xD9, 0x01, 0x75, 0x03, 0xDA, 0x01, 0x76, 0x03, 0xDB, 0x01, 0x77, 0x03, 0xDC, 0x01, 0x78, 0x03
|
|
.byte 0xE7, 0x01, 0x79, 0x03, 0xE8, 0x01, 0x7A, 0x03, 0xE9, 0x01, 0x7B, 0x03, 0xEA, 0x01, 0x7C, 0x03
|
|
.byte 0xEB, 0x01, 0x7D, 0x03, 0xEC, 0x01, 0x7E, 0x03, 0xED, 0x01, 0x7F, 0x03, 0xEE, 0x01, 0x80, 0x03
|
|
.byte 0xEF, 0x01, 0x81, 0x03, 0xF0, 0x01, 0x82, 0x03, 0xF1, 0x01, 0x83, 0x03, 0xF2, 0x01, 0x84, 0x03
|
|
.byte 0xF3, 0x01, 0x85, 0x03, 0xF4, 0x01, 0x86, 0x03, 0xF5, 0x01, 0x87, 0x03, 0xF6, 0x01, 0x88, 0x03
|
|
.byte 0xF7, 0x01, 0x89, 0x03, 0xF8, 0x01, 0x8A, 0x03, 0xF9, 0x01, 0x8B, 0x03, 0xFA, 0x01, 0x8C, 0x03
|
|
|
|
ov49_0226A450: ; 0x0226A450
|
|
.byte 0x30, 0x54, 0x80, 0x00
|
|
|
|
ov49_0226A454: ; 0x0226A454
|
|
.byte 0x00, 0x00, 0x00, 0x02, 0x18, 0x00, 0x02, 0x02
|
|
|
|
ov49_0226A45C: ; 0x0226A45C
|
|
.byte 0x00, 0x00, 0x00, 0x02
|
|
.byte 0x18, 0x00, 0x02, 0x02
|
|
|
|
ov49_0226A464: ; 0x0226A464
|
|
.byte 0x00, 0x00, 0x00, 0x02, 0x18, 0x00, 0x02, 0x02
|
|
|
|
ov49_0226A46C: ; 0x0226A46C
|
|
.byte 0x00, 0x00, 0x00, 0x03
|
|
.byte 0x18, 0x00, 0x02, 0x03
|
|
|
|
ov49_0226A474: ; 0x0226A474
|
|
.byte 0x00, 0x00, 0x00, 0x04, 0x14, 0x00, 0x02, 0x04
|
|
|
|
ov49_0226A47C: ; 0x0226A47C
|
|
.byte 0x00, 0x00, 0x00, 0x02
|
|
.byte 0x18, 0x00, 0x01, 0x02
|
|
|
|
ov49_0226A484: ; 0x0226A484
|
|
.word ov49_022680B4
|
|
.word ov49_02268230
|
|
.word ov49_02268334
|
|
.byte 0x02, 0x00, 0x38, 0x00, 0x0E, 0x00, 0x38, 0x00, 0x08, 0x00, 0x3C, 0x00
|
|
|
|
ov49_0226A49C: ; 0x0226A49C
|
|
.byte 0x00, 0x00, 0x00, 0x03
|
|
.byte 0x10, 0x00, 0x02, 0x03, 0x28, 0x00, 0x00, 0x03, 0x02, 0x00, 0x2C, 0x00, 0x0E, 0x00, 0x2C, 0x00
|
|
.byte 0x08, 0x00, 0x30, 0x00
|
|
|
|
ov49_0226A4B4: ; 0x0226A4B4
|
|
.byte 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x02, 0x04, 0x20, 0x00, 0x00, 0x04
|
|
|
|
ov49_0226A4C0: ; 0x0226A4C0
|
|
.byte 0x00, 0x00, 0x00, 0x04, 0x10, 0x00, 0x02, 0x04, 0x23, 0x00, 0x00, 0x04
|
|
|
|
ov49_0226A4CC: ; 0x0226A4CC
|
|
.word ov49_02267F94
|
|
.word ov49_0226813C
|
|
.word ov49_022682D4
|
|
|
|
ov49_0226A4D8: ; 0x0226A4D8
|
|
.byte 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
.byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0xFF, 0xFF
|
|
.byte 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xE0, 0xFE, 0xFF, 0x00, 0xE0, 0xFF, 0xFF
|
|
.byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0xFF, 0xFF
|
|
|
|
ov49_0226A508: ; 0x0226A508
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF
|
|
.byte 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x00, 0x80, 0xFF, 0xFF, 0x00, 0x80, 0xFF, 0xFF
|
|
.byte 0x00, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov49_0226A538: ; 0x0226A538
|
|
.word ov49_02266A88
|
|
.word ov49_02266A88
|
|
.word ov49_02266A88
|
|
.word ov49_02266A88
|
|
.word ov49_02266A88
|
|
.word ov49_02266A88
|
|
.word ov49_02266AB0
|
|
.word ov49_02266AB0
|
|
.word ov49_02266AB0
|
|
.word ov49_02266678
|
|
.word ov49_02266678
|
|
.word ov49_02266678
|
|
.word ov49_02266748
|
|
.word ov49_02266754
|
|
.word ov49_02266760
|
|
.word ov49_0226676C
|
|
.word ov49_0226676C
|
|
.word ov49_0226676C
|
|
.word ov49_02266820
|
|
.word ov49_02266820
|
|
.word ov49_02266820
|
|
.word ov49_022669B0
|
|
.word ov49_022669B0
|
|
.word ov49_022669B0
|
|
.word ov49_02266978
|
|
.word ov49_02266978
|
|
.word ov49_02266978
|
|
|
|
ov49_0226A5A4: ; 0x0226A5A4
|
|
.word ov49_0226639C
|
|
.word ov49_022663EC
|
|
.word ov49_0226643C
|
|
.word ov49_0226648C
|
|
.word ov49_022664DC
|
|
.word ov49_0226652C
|
|
.word ov49_0226657C
|
|
.word ov49_022665D0
|
|
.word ov49_02266624
|
|
.word ov49_02265C68
|
|
.word ov49_02265C74
|
|
.word ov49_02265C80
|
|
.word ov49_02265CB0
|
|
.word ov49_02265CB0
|
|
.word ov49_02265CB0
|
|
.word ov49_02265C8C
|
|
.word ov49_02265C98
|
|
.word ov49_02265CA4
|
|
.word ov49_02265D10
|
|
.word ov49_02265E54
|
|
.word ov49_02266088
|
|
.word ov49_02266378
|
|
.word ov49_02266384
|
|
.word ov49_02266390
|
|
.word ov49_02266354
|
|
.word ov49_02266360
|
|
.word ov49_0226636C
|
|
|
|
ov49_0226A610: ; 0x0226A610
|
|
.byte 0x9C, 0x05, 0x00, 0x00, 0x9D, 0x05, 0x00, 0x00, 0x9E, 0x05, 0x00, 0x00, 0xA2, 0x05, 0x00, 0x00
|
|
.byte 0xA3, 0x05, 0x00, 0x00, 0xA4, 0x05, 0x00, 0x00, 0x9F, 0x05, 0x00, 0x00, 0xA0, 0x05, 0x00, 0x00
|
|
.byte 0xA1, 0x05, 0x00, 0x00, 0xAA, 0x05, 0x00, 0x00, 0xAB, 0x05, 0x00, 0x00, 0xAC, 0x05, 0x00, 0x00
|
|
.byte 0xB0, 0x05, 0x00, 0x00, 0xB1, 0x05, 0x00, 0x00, 0xB2, 0x05, 0x00, 0x00, 0xA5, 0x05, 0x00, 0x00
|
|
.byte 0xA6, 0x05, 0x00, 0x00, 0xA7, 0x05, 0x00, 0x00, 0xB6, 0x05, 0x00, 0x00, 0xB7, 0x05, 0x00, 0x00
|
|
.byte 0xB8, 0x05, 0x00, 0x00, 0xB9, 0x05, 0x00, 0x00, 0xBA, 0x05, 0x00, 0x00, 0xBB, 0x05, 0x00, 0x00
|
|
.byte 0xA9, 0x05, 0x00, 0x00, 0xA9, 0x05, 0x00, 0x00
|
|
|
|
ov49_0226A678: ; 0x0226A678
|
|
.byte 0xA9, 0x05, 0x00, 0x00
|
|
|
|
ov49_0226A67C: ; 0x0226A67C
|
|
.byte 0x00, 0x00, 0x01, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00
|
|
.byte 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00
|
|
|
|
ov49_0226A70C: ; 0x0226A70C
|
|
.byte 0x00, 0x00, 0x00, 0x11
|
|
.byte 0x00, 0x01, 0x00, 0x11, 0x00, 0x02, 0x00, 0x11, 0x01, 0x03, 0x01, 0x02, 0x01, 0x04, 0x01, 0x02
|
|
.byte 0x01, 0x05, 0x01, 0x02, 0x01, 0x06, 0x03, 0x11, 0x01, 0x07, 0x03, 0x11, 0x01, 0x08, 0x03, 0x11
|
|
|
|
ov49_0226A730: ; 0x0226A730
|
|
.byte 0x05, 0x0B, 0x06, 0x11
|
|
|
|
ov49_0226A734: ; 0x0226A734
|
|
.byte 0x03, 0x09, 0x04, 0x11
|
|
|
|
ov49_0226A738: ; 0x0226A738
|
|
.byte 0x04, 0x0A, 0x05, 0x11
|
|
|
|
ov49_0226A73C: ; 0x0226A73C
|
|
.byte 0x06, 0x0C, 0x07, 0x11
|
|
.byte 0x07, 0x0D, 0x08, 0x11, 0x08, 0x0E, 0x09, 0x11, 0x09, 0x0F, 0x0A, 0x11
|
|
|
|
ov49_0226A74C: ; 0x0226A74C
|
|
.byte 0x0A, 0x10, 0x0B, 0x11
|
|
|
|
ov49_0226A750: ; 0x0226A750
|
|
.byte 0x0B, 0x11, 0x0C, 0x11
|
|
|
|
ov49_0226A754: ; 0x0226A754
|
|
.byte 0x0C, 0x12, 0x0D, 0x11, 0x02, 0x13, 0x11, 0x11, 0x02, 0x14, 0x11, 0x11
|
|
.byte 0x02, 0x15, 0x11, 0x11, 0x02, 0x16, 0x11, 0x11, 0x02, 0x17, 0x11, 0x11, 0x02, 0x18, 0x11, 0x11
|
|
.byte 0x02, 0x19, 0x11, 0x11, 0x02, 0x1A, 0x11, 0x11, 0x02, 0x1B, 0x11, 0x11, 0x02, 0x1C, 0x11, 0x11
|
|
.byte 0x02, 0x1D, 0x11, 0x11, 0x02, 0x1E, 0x11, 0x11, 0x02, 0x1F, 0x11, 0x11, 0x02, 0x20, 0x11, 0x11
|
|
.byte 0x02, 0x21, 0x11, 0x11, 0x02, 0x22, 0x11, 0x11, 0x02, 0x23, 0x11, 0x11, 0x02, 0x24, 0x11, 0x11
|
|
.byte 0x0D, 0x25, 0x0E, 0x11, 0x0E, 0x26, 0x0F, 0x11
|
|
|
|
ov49_0226A7A8: ; 0x0226A7A8
|
|
.byte 0x13, 0x14, 0x13, 0x14, 0x13, 0x14, 0x13, 0x14
|
|
.byte 0x13, 0x14, 0x13, 0x14, 0x13, 0x14, 0x13, 0x14
|
|
|
|
ov49_0226A7B8: ; 0x0226A7B8
|
|
.byte 0x13, 0x14, 0x15, 0x13, 0x1C, 0x1D, 0x1B, 0x19
|
|
.byte 0x19, 0x1D, 0x14, 0x13, 0x1D, 0x1B, 0x17, 0x13
|
|
|
|
ov49_0226A7C8: ; 0x0226A7C8
|
|
.byte 0x13, 0x14, 0x1F, 0x23, 0x20, 0x22, 0x1B, 0x1E
|
|
.byte 0x24, 0x1D, 0x18, 0x21, 0x1E, 0x15, 0x22, 0x1F
|
|
|
|
ov49_0226A7D8: ; 0x0226A7D8
|
|
.byte 0xCE, 0x39, 0x94, 0x52, 0xFF, 0x7F, 0x08, 0x21
|
|
|
|
ov49_0226A7E0: ; 0x0226A7E0
|
|
.byte 0xF7, 0x66, 0x10, 0x42, 0xCE, 0x39, 0x94, 0x52, 0x10, 0x42, 0x4A, 0x41, 0x10, 0x42, 0xCE, 0x39
|
|
.byte 0x94, 0x52, 0x10, 0x42, 0x08, 0x31, 0x10, 0x42, 0xCE, 0x39, 0x94, 0x52, 0x10, 0x42, 0xA5, 0x20
|
|
.byte 0x10, 0x42, 0xAD, 0x39, 0x94, 0x52, 0x10, 0x42, 0x63, 0x1C, 0x10, 0x42, 0x4A, 0x31, 0x94, 0x52
|
|
.byte 0xCE, 0x41, 0x00, 0x18, 0x10, 0x42, 0x08, 0x29, 0x94, 0x52, 0x8C, 0x41
|
|
|
|
ov49_0226A81C: ; 0x0226A81C
|
|
.byte 0x04, 0x00, 0x00, 0x00
|
|
|
|
ov49_0226A820: ; 0x0226A820
|
|
.byte 0x03, 0x00, 0x00, 0x00
|
|
|
|
ov49_0226A824: ; 0x0226A824
|
|
.byte 0x0F, 0x10, 0x00, 0x00
|
|
|
|
ov49_0226A828: ; 0x0226A828
|
|
.byte 0x09, 0x0A, 0x00, 0x00
|
|
|
|
ov49_0226A82C: ; 0x0226A82C
|
|
.byte 0x0B, 0x0C, 0x00, 0x00
|
|
|
|
ov49_0226A830: ; 0x0226A830
|
|
.byte 0x01, 0x02, 0x00, 0x00
|
|
|
|
ov49_0226A834: ; 0x0226A834
|
|
.byte 0x05, 0x0D, 0x06, 0x07, 0x0E, 0x08, 0x00, 0x00
|
|
|
|
ov49_0226A83C: ; 0x0226A83C
|
|
.byte 0x00
|
|
|
|
ov49_0226A83D: ; 0x0226A83D
|
|
.byte 0x05, 0x01, 0x06
|
|
.byte 0x02, 0x00, 0x03, 0x01, 0x04, 0x02, 0x05, 0x03, 0x06, 0x04, 0x00, 0x00
|
|
|
|
ov49_0226A84C: ; 0x0226A84C
|
|
.word ov49_02268B04
|
|
.word ov49_02268B04
|
|
.word ov49_02268B08
|
|
.word ov49_02268B0C
|
|
.word ov49_02268B90
|
|
.word ov49_02268C2C
|
|
|
|
ov49_0226A864: ; 0x0226A864
|
|
.byte 0x0A, 0x00, 0x00, 0x00
|
|
|
|
ov49_0226A868: ; 0x0226A868
|
|
.byte 0x00, 0x10, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x10, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
|
|
ov49_0226A87C: ; 0x0226A87C
|
|
.word ov49_02268CAC
|
|
.word ov49_02268CAC
|
|
.word ov49_02268CBC
|
|
.word ov49_02268CCC
|
|
.word ov49_02268CDC
|
|
.word ov49_02268CEC
|
|
|
|
ov49_0226A894: ; 0x0226A894
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
|
|
ov49_0226A8B4: ; 0x0226A8B4
|
|
.byte 0x06, 0x0D, 0x05, 0x0B, 0x07, 0x0E, 0x08, 0x0C, 0x01, 0x00, 0x02, 0x0A
|
|
.byte 0x10, 0x09, 0x04, 0x03, 0x0F, 0x00, 0x00, 0x00
|
|
|
|
ov49_0226A8C8: ; 0x0226A8C8
|
|
.byte 0x3F, 0x3E, 0x3D, 0x00
|
|
|
|
ov49_0226A8CC: ; 0x0226A8CC
|
|
.word ov49_022694B4
|
|
.word ov49_022694B4
|
|
|
|
ov49_0226A8D4: ; 0x0226A8D4
|
|
.word ov49_02269474
|
|
.word ov49_02269494
|
|
|
|
ov49_0226A8DC: ; 0x0226A8DC
|
|
.byte 0xFF, 0x00, 0x06, 0x00
|
|
.byte 0xFE, 0xFF, 0xCB, 0x05, 0xCE, 0x05, 0xC5, 0x05, 0x89, 0x01, 0x82, 0x00, 0xCB, 0x05, 0xCD, 0x05
|
|
.byte 0xCF, 0x05, 0xCB, 0x05, 0x19, 0x00, 0xCE, 0x01, 0xFE, 0xFF, 0xCB, 0x05, 0xFE, 0xFF, 0xD0, 0x05
|
|
.byte 0x01, 0x00, 0xC7, 0x01, 0xD1, 0x05, 0xCC, 0x05, 0xC5, 0x05, 0xCB, 0x05, 0x97, 0x00, 0x97, 0x00
|
|
.byte 0xFE, 0xFF, 0xCB, 0x05, 0xD2, 0x05, 0xCB, 0x05
|
|
; 0x0226A918
|