mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-12-04 03:01:15 +00:00
7866 lines
137 KiB
ArmAsm
7866 lines
137 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.text
|
|
|
|
thumb_func_start ov90_02258800
|
|
ov90_02258800: ; 0x02258800
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
str r2, [sp, #4]
|
|
str r3, [sp, #8]
|
|
add r2, r6, #0
|
|
mov r1, #0x10
|
|
mov r0, #0
|
|
_02258812:
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _02258812
|
|
bl sub_020347A0
|
|
strb r0, [r6, #8]
|
|
bl sub_0203769C
|
|
mov r5, #0
|
|
add r7, r0, #0
|
|
add r4, r5, #0
|
|
_0225882A:
|
|
add r0, r4, #0
|
|
bl sub_02034818
|
|
cmp r0, #0
|
|
beq _02258840
|
|
cmp r7, r4
|
|
bne _0225883A
|
|
strb r5, [r6, #9]
|
|
_0225883A:
|
|
add r0, r6, r5
|
|
strb r4, [r0, #4]
|
|
add r5, r5, #1
|
|
_02258840:
|
|
add r4, r4, #1
|
|
cmp r4, #4
|
|
blt _0225882A
|
|
ldrb r0, [r6, #8]
|
|
cmp r5, r0
|
|
beq _02258850
|
|
bl GF_AssertFail
|
|
_02258850:
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
bne _0225885A
|
|
mov r0, #1
|
|
strb r0, [r6, #0xb]
|
|
_0225885A:
|
|
ldr r0, [sp, #4]
|
|
str r0, [r6]
|
|
ldr r0, [sp, #8]
|
|
strb r0, [r6, #0xa]
|
|
ldr r0, [sp, #0x20]
|
|
str r0, [r6, #0xc]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02258800
|
|
|
|
thumb_func_start ov90_0225886C
|
|
ov90_0225886C: ; 0x0225886C
|
|
ldrb r2, [r0, #8]
|
|
mov r3, #0
|
|
cmp r2, #0
|
|
ble _02258888
|
|
_02258874:
|
|
add r2, r0, r3
|
|
ldrb r2, [r2, #4]
|
|
cmp r1, r2
|
|
bne _02258880
|
|
add r0, r3, #0
|
|
bx lr
|
|
_02258880:
|
|
ldrb r2, [r0, #8]
|
|
add r3, r3, #1
|
|
cmp r3, r2
|
|
blt _02258874
|
|
_02258888:
|
|
mov r0, #4
|
|
bx lr
|
|
thumb_func_end ov90_0225886C
|
|
|
|
thumb_func_start ov90_0225888C
|
|
ov90_0225888C: ; 0x0225888C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldrb r0, [r5, #8]
|
|
add r4, r1, #0
|
|
cmp r4, r0
|
|
blo _0225889C
|
|
bl GF_AssertFail
|
|
_0225889C:
|
|
add r0, r5, r4
|
|
ldrb r0, [r0, #4]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225888C
|
|
|
|
thumb_func_start ov90_022588A4
|
|
ov90_022588A4: ; 0x022588A4
|
|
push {r3, lr}
|
|
cmp r1, #4
|
|
blo _022588B4
|
|
blo _022588B0
|
|
bl GF_AssertFail
|
|
_022588B0:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_022588B4:
|
|
ldr r2, [r0, #0xc]
|
|
add r0, r2, r1
|
|
ldrb r1, [r0, #4]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r1, r0
|
|
bne _022588C6
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_022588C6:
|
|
add r0, r2, r1
|
|
ldrb r0, [r0, #8]
|
|
pop {r3, pc}
|
|
thumb_func_end ov90_022588A4
|
|
|
|
thumb_func_start ov90_022588CC
|
|
ov90_022588CC: ; 0x022588CC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #4
|
|
blo _022588E0
|
|
blo _022588DC
|
|
bl GF_AssertFail
|
|
_022588DC:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_022588E0:
|
|
ldrb r2, [r5, #0xb]
|
|
cmp r2, #1
|
|
bne _02258900
|
|
bl ov90_0225886C
|
|
ldrb r1, [r5, #9]
|
|
cmp r0, r1
|
|
bne _022588F8
|
|
ldr r0, [r5]
|
|
bl Sav2_PlayerData_GetProfileAddr
|
|
pop {r3, r4, r5, pc}
|
|
_022588F8:
|
|
add r0, r4, #0
|
|
bl sub_02034818
|
|
pop {r3, r4, r5, pc}
|
|
_02258900:
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
bne _0225890A
|
|
bl GF_AssertFail
|
|
_0225890A:
|
|
ldr r1, [r5, #0xc]
|
|
lsl r0, r4, #2
|
|
add r0, r1, r0
|
|
ldr r0, [r0, #0x20]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov90_022588CC
|
|
|
|
thumb_func_start ov90_02258914
|
|
ov90_02258914: ; 0x02258914
|
|
ldr r3, _0225891C ; =ov90_02259588
|
|
add r2, r1, #0
|
|
mov r1, #0
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225891C: .word ov90_02259588
|
|
thumb_func_end ov90_02258914
|
|
|
|
thumb_func_start ov90_02258920
|
|
ov90_02258920: ; 0x02258920
|
|
ldr r3, _02258928 ; =ov90_02259588
|
|
add r2, r1, #0
|
|
mov r1, #1
|
|
bx r3
|
|
.balign 4, 0
|
|
_02258928: .word ov90_02259588
|
|
thumb_func_end ov90_02258920
|
|
|
|
thumb_func_start ov90_0225892C
|
|
ov90_0225892C: ; 0x0225892C
|
|
ldr r3, _02258934 ; =ov90_02259588
|
|
add r2, r1, #0
|
|
mov r1, #2
|
|
bx r3
|
|
.balign 4, 0
|
|
_02258934: .word ov90_02259588
|
|
thumb_func_end ov90_0225892C
|
|
|
|
thumb_func_start ov90_02258938
|
|
ov90_02258938: ; 0x02258938
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _022589B8 ; =0x000005EC
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200E390
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200E390
|
|
mov r0, #0xb9
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl ov90_0225A108
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl ov90_0225A340
|
|
ldrb r0, [r5, #0x10]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _02258980
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
add r4, r5, r0
|
|
_02258970:
|
|
add r0, r4, #0
|
|
bl ov90_02259EAC
|
|
ldrb r0, [r5, #0x10]
|
|
add r6, r6, #1
|
|
add r4, #0x38
|
|
cmp r6, r0
|
|
blt _02258970
|
|
_02258980:
|
|
add r0, r5, #0
|
|
add r0, #0x4c
|
|
bl ov90_02259434
|
|
add r0, r5, #0
|
|
bl ov90_02259784
|
|
add r0, r5, #0
|
|
add r0, #0x3c
|
|
bl ov90_022591D4
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
bl ov90_02258E10
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
bl ov90_02259158
|
|
add r0, r5, #0
|
|
add r0, #0x30
|
|
bl ov90_02259084
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_022589B8: .word 0x000005EC
|
|
thumb_func_end ov90_02258938
|
|
|
|
thumb_func_start ov90_022589BC
|
|
ov90_022589BC: ; 0x022589BC
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x10
|
|
blo _022589C6
|
|
mov r0, #1
|
|
bx lr
|
|
_022589C6:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov90_022589BC
|
|
|
|
thumb_func_start ov90_022589CC
|
|
ov90_022589CC: ; 0x022589CC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, #7]
|
|
cmp r0, #1
|
|
beq _022589DA
|
|
bl GF_AssertFail
|
|
_022589DA:
|
|
ldrb r0, [r4, #6]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_022589CC
|
|
|
|
thumb_func_start ov90_022589E0
|
|
ov90_022589E0: ; 0x022589E0
|
|
push {r3, lr}
|
|
add r3, r2, #0
|
|
mov r2, #0
|
|
bl ov90_0225A6B4
|
|
pop {r3, pc}
|
|
thumb_func_end ov90_022589E0
|
|
|
|
thumb_func_start ov90_022589EC
|
|
ov90_022589EC: ; 0x022589EC
|
|
push {r3, lr}
|
|
add r3, r2, #0
|
|
mov r2, #1
|
|
bl ov90_0225A6B4
|
|
pop {r3, pc}
|
|
thumb_func_end ov90_022589EC
|
|
|
|
thumb_func_start ov90_022589F8
|
|
ov90_022589F8: ; 0x022589F8
|
|
push {r3, lr}
|
|
add r3, r2, #0
|
|
mov r2, #2
|
|
bl ov90_0225A6B4
|
|
pop {r3, pc}
|
|
thumb_func_end ov90_022589F8
|
|
|
|
thumb_func_start ov90_02258A04
|
|
ov90_02258A04: ; 0x02258A04
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02258A90 ; =0x00000644
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200E390
|
|
ldr r0, _02258A94 ; =0x00000648
|
|
ldr r0, [r5, r0]
|
|
bl sub_0200E390
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl ov90_0225A108
|
|
ldrb r0, [r5, #0x14]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _02258A40
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r4, r5, r0
|
|
_02258A30:
|
|
add r0, r4, #0
|
|
bl ov90_02259EAC
|
|
ldrb r0, [r5, #0x14]
|
|
add r6, r6, #1
|
|
add r4, #0x38
|
|
cmp r6, r0
|
|
blt _02258A30
|
|
_02258A40:
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl ov90_0225B380
|
|
add r0, r5, #0
|
|
bl ov90_0225A960
|
|
add r0, r5, #0
|
|
add r0, #0x68
|
|
bl ov90_02259434
|
|
add r0, r5, #0
|
|
add r0, #0x58
|
|
bl ov90_022591D4
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl ov90_02258E10
|
|
add r0, r5, #0
|
|
add r0, #0xa0
|
|
bl ov90_02259158
|
|
add r0, r5, #0
|
|
add r0, #0x4c
|
|
bl ov90_02259084
|
|
ldr r0, _02258A98 ; =0x04000050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
ldr r0, _02258A9C ; =0x04001050
|
|
strh r1, [r0]
|
|
bl sub_020205AC
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02258A90: .word 0x00000644
|
|
_02258A94: .word 0x00000648
|
|
_02258A98: .word 0x04000050
|
|
_02258A9C: .word 0x04001050
|
|
thumb_func_end ov90_02258A04
|
|
|
|
thumb_func_start ov90_02258AA0
|
|
ov90_02258AA0: ; 0x02258AA0
|
|
ldrb r0, [r0, #6]
|
|
bx lr
|
|
thumb_func_end ov90_02258AA0
|
|
|
|
thumb_func_start ov90_02258AA4
|
|
ov90_02258AA4: ; 0x02258AA4
|
|
ldrb r0, [r0, #8]
|
|
bx lr
|
|
thumb_func_end ov90_02258AA4
|
|
|
|
thumb_func_start ov90_02258AA8
|
|
ov90_02258AA8: ; 0x02258AA8
|
|
push {r3, r4, r5, r6, r7}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
mov r7, #0
|
|
mov ip, r1
|
|
add r0, r1, #0
|
|
beq _02258AE8
|
|
add r3, r5, #0
|
|
_02258AB8:
|
|
add r2, r7, #0
|
|
cmp r7, #0
|
|
ble _02258ADA
|
|
add r0, sp, #0
|
|
add r4, r0, r7
|
|
_02258AC2:
|
|
sub r0, r4, #1
|
|
ldrb r1, [r0]
|
|
ldr r0, [r3]
|
|
lsl r6, r1, #2
|
|
ldr r6, [r5, r6]
|
|
cmp r0, r6
|
|
bls _02258ADA
|
|
sub r2, r2, #1
|
|
strb r1, [r4]
|
|
sub r4, r4, #1
|
|
cmp r2, #0
|
|
bgt _02258AC2
|
|
_02258ADA:
|
|
add r0, sp, #0
|
|
strb r7, [r0, r2]
|
|
add r7, r7, #1
|
|
mov r0, ip
|
|
add r3, r3, #4
|
|
cmp r7, r0
|
|
blo _02258AB8
|
|
_02258AE8:
|
|
mov r0, ip
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
bls _02258B1E
|
|
add r3, sp, #0
|
|
_02258AF2:
|
|
add r2, r4, #0
|
|
cmp r4, #0
|
|
ble _02258B0E
|
|
sub r0, r3, #1
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r3]
|
|
lsl r6, r1, #2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r6, [r5, r6]
|
|
cmp r0, r6
|
|
bne _02258B0E
|
|
add r0, r5, r1
|
|
ldrb r2, [r0, #0x10]
|
|
_02258B0E:
|
|
ldrb r0, [r3]
|
|
add r4, r4, #1
|
|
add r3, r3, #1
|
|
add r0, r5, r0
|
|
strb r2, [r0, #0x10]
|
|
mov r0, ip
|
|
cmp r4, r0
|
|
blo _02258AF2
|
|
_02258B1E:
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, r7}
|
|
bx lr
|
|
thumb_func_end ov90_02258AA8
|
|
|
|
thumb_func_start ov90_02258B24
|
|
ov90_02258B24: ; 0x02258B24
|
|
strb r1, [r0, #6]
|
|
mov r1, #1
|
|
strb r1, [r0, #7]
|
|
bx lr
|
|
thumb_func_end ov90_02258B24
|
|
|
|
thumb_func_start ov90_02258B2C
|
|
ov90_02258B2C: ; 0x02258B2C
|
|
push {r3, lr}
|
|
add r3, r0, #0
|
|
ldrb r0, [r3, #0x15]
|
|
cmp r0, #0
|
|
bne _02258B42
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
add r0, r3, r0
|
|
ldrb r3, [r3, #0x14]
|
|
bl ov90_0225B53C
|
|
_02258B42:
|
|
pop {r3, pc}
|
|
thumb_func_end ov90_02258B2C
|
|
|
|
thumb_func_start ov90_02258B44
|
|
ov90_02258B44: ; 0x02258B44
|
|
mov r2, #0x7a
|
|
lsl r2, r2, #2
|
|
ldr r3, _02258B50 ; =ov90_0225B594
|
|
add r0, r0, r2
|
|
bx r3
|
|
nop
|
|
_02258B50: .word ov90_0225B594
|
|
thumb_func_end ov90_02258B44
|
|
|
|
thumb_func_start ov90_02258B54
|
|
ov90_02258B54: ; 0x02258B54
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
beq _02258B94
|
|
bl sub_02037454
|
|
ldrb r1, [r5, #8]
|
|
cmp r1, r0
|
|
beq _02258B6C
|
|
mov r4, #1
|
|
_02258B6C:
|
|
bl sub_02039264
|
|
cmp r0, #1
|
|
bne _02258B76
|
|
mov r4, #1
|
|
_02258B76:
|
|
bl sub_020390C4
|
|
cmp r0, #2
|
|
blt _02258B80
|
|
mov r4, #1
|
|
_02258B80:
|
|
cmp r4, #1
|
|
bne _02258B8A
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
str r1, [r0, #0x1c]
|
|
_02258B8A:
|
|
ldr r0, [r5, #0xc]
|
|
ldr r0, [r0, #0x1c]
|
|
cmp r0, #1
|
|
bne _02258B94
|
|
mov r4, #1
|
|
_02258B94:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov90_02258B54
|
|
|
|
thumb_func_start ov90_02258B98
|
|
ov90_02258B98: ; 0x02258B98
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _02258BA6
|
|
bl GF_AssertFail
|
|
_02258BA6:
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x1c]
|
|
cmp r0, #1
|
|
beq _02258BB2
|
|
bl GF_AssertFail
|
|
_02258BB2:
|
|
bl sub_02034420
|
|
cmp r0, #1
|
|
bne _02258BC4
|
|
bl sub_020343E4
|
|
bl sub_0203986C
|
|
b _02258BD0
|
|
_02258BC4:
|
|
bl sub_020392A0
|
|
cmp r0, #1
|
|
bne _02258BD0
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02258BD0:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov90_02258B98
|
|
|
|
thumb_func_start ov90_02258BD4
|
|
ov90_02258BD4: ; 0x02258BD4
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r5, r1, #0
|
|
mov r1, #0x73
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
mov r2, #0x73
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
bl memset
|
|
str r6, [r4, #8]
|
|
mov r0, #0xc8
|
|
add r1, r5, #0
|
|
bl NARC_ctor
|
|
str r0, [r4, #0xc]
|
|
add r0, r4, #0
|
|
add r0, #0x10
|
|
mov r1, #1
|
|
add r2, r5, #0
|
|
bl ov90_02258DD0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _02258C34 ; =0x00001388
|
|
mov r2, #3
|
|
str r0, [sp, #0xc]
|
|
str r5, [sp, #0x10]
|
|
add r0, r4, #0
|
|
ldr r1, [r4, #0xc]
|
|
add r0, #0x10
|
|
add r3, r2, #0
|
|
bl ov90_02258E54
|
|
str r0, [r4, #0x28]
|
|
add r0, r4, #0
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_02258C34: .word 0x00001388
|
|
thumb_func_end ov90_02258BD4
|
|
|
|
thumb_func_start ov90_02258C38
|
|
ov90_02258C38: ; 0x02258C38
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0
|
|
beq _02258C4A
|
|
bl sub_0200E390
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
_02258C4A:
|
|
ldr r0, [r4, #0x30]
|
|
cmp r0, #0
|
|
beq _02258C54
|
|
bl sub_02024758
|
|
_02258C54:
|
|
add r0, r4, #0
|
|
add r0, #0x34
|
|
bl ov90_0225BD08
|
|
add r0, r4, #0
|
|
add r0, #0x10
|
|
bl ov90_02258E10
|
|
ldr r0, [r4, #0xc]
|
|
bl NARC_dtor
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02258C38
|
|
|
|
thumb_func_start ov90_02258C74
|
|
ov90_02258C74: ; 0x02258C74
|
|
push {r3, lr}
|
|
ldr r0, [r0, #0x14]
|
|
ldr r1, _02258C88 ; =0x00001388
|
|
bl sub_0200A7BC
|
|
mov r1, #1
|
|
bl sub_0200B12C
|
|
pop {r3, pc}
|
|
nop
|
|
_02258C88: .word 0x00001388
|
|
thumb_func_end ov90_02258C74
|
|
|
|
thumb_func_start ov90_02258C8C
|
|
ov90_02258C8C: ; 0x02258C8C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0
|
|
beq _02258C9A
|
|
bl GF_AssertFail
|
|
_02258C9A:
|
|
ldr r0, _02258CAC ; =ov90_0225BEE0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E320
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #1
|
|
strh r0, [r4, #4]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02258CAC: .word ov90_0225BEE0
|
|
thumb_func_end ov90_02258C8C
|
|
|
|
thumb_func_start ov90_02258CB0
|
|
ov90_02258CB0: ; 0x02258CB0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0
|
|
beq _02258CBE
|
|
bl GF_AssertFail
|
|
_02258CBE:
|
|
ldr r0, _02258CD8 ; =ov90_0225C06C
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E320
|
|
str r0, [r4, #0x2c]
|
|
mov r0, #1
|
|
strh r0, [r4, #4]
|
|
ldr r0, _02258CDC ; =0x000005F1
|
|
bl PlaySE
|
|
pop {r4, pc}
|
|
nop
|
|
_02258CD8: .word ov90_0225C06C
|
|
_02258CDC: .word 0x000005F1
|
|
thumb_func_end ov90_02258CB0
|
|
|
|
thumb_func_start ov90_02258CE0
|
|
ov90_02258CE0: ; 0x02258CE0
|
|
ldrh r0, [r0, #4]
|
|
cmp r0, #0
|
|
bne _02258CEA
|
|
mov r0, #1
|
|
bx lr
|
|
_02258CEA:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02258CE0
|
|
|
|
thumb_func_start ov90_02258CF0
|
|
ov90_02258CF0: ; 0x02258CF0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r4, [sp, #0x18]
|
|
add r5, r0, #0
|
|
add r7, r2, #0
|
|
add r0, r3, #0
|
|
add r6, r1, #0
|
|
lsl r2, r4, #0xc
|
|
str r3, [sp]
|
|
asr r1, r0, #0x1f
|
|
asr r3, r2, #0x1f
|
|
bl _ll_mul
|
|
add r2, r0, #0
|
|
sub r0, r7, r6
|
|
mov r7, #2
|
|
mov r3, #0
|
|
lsl r7, r7, #0xa
|
|
add r2, r2, r7
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r2, r2, #0xc
|
|
orr r2, r1
|
|
sub r2, r0, r2
|
|
asr r1, r2, #0x1f
|
|
lsr r0, r2, #0x13
|
|
lsl r1, r1, #0xd
|
|
orr r1, r0
|
|
lsl r0, r2, #0xd
|
|
add r0, r0, r7
|
|
adc r1, r3
|
|
lsl r1, r1, #0x14
|
|
lsr r0, r0, #0xc
|
|
orr r0, r1
|
|
add r1, r4, #0
|
|
mul r1, r4
|
|
lsl r1, r1, #0xc
|
|
bl FX_Div
|
|
str r6, [r5]
|
|
ldr r1, [sp]
|
|
str r6, [r5, #4]
|
|
str r1, [r5, #8]
|
|
str r0, [r5, #0xc]
|
|
str r4, [r5, #0x10]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02258CF0
|
|
|
|
thumb_func_start ov90_02258D4C
|
|
ov90_02258D4C: ; 0x02258D4C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
add r4, r1, #0
|
|
cmp r4, r0
|
|
blt _02258D5E
|
|
add r4, r0, #0
|
|
mov r7, #1
|
|
b _02258D60
|
|
_02258D5E:
|
|
mov r7, #0
|
|
_02258D60:
|
|
ldr r0, [r5, #8]
|
|
lsl r2, r4, #0xc
|
|
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
|
|
lsr r6, r2, #0xc
|
|
lsl r0, r1, #0x14
|
|
add r2, r4, #0
|
|
orr r6, r0
|
|
ldr r0, [r5, #0xc]
|
|
mul r2, r4
|
|
lsl r2, r2, #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
|
|
lsl r1, r2, #2
|
|
bl FX_Div
|
|
ldr r1, [r5, #4]
|
|
add r0, r6, r0
|
|
add r0, r1, r0
|
|
str r0, [r5]
|
|
add r0, r7, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02258D4C
|
|
|
|
thumb_func_start ov90_02258DB0
|
|
ov90_02258DB0: ; 0x02258DB0
|
|
push {r3, r4}
|
|
ldr r2, [r0, #8]
|
|
add r0, #0xc
|
|
lsr r4, r2, #1
|
|
mov r3, #0
|
|
cmp r4, #0
|
|
ble _02258DCC
|
|
_02258DBE:
|
|
ldrh r2, [r0]
|
|
add r3, r3, #1
|
|
add r2, r2, r1
|
|
strh r2, [r0]
|
|
add r0, r0, #2
|
|
cmp r3, r4
|
|
blt _02258DBE
|
|
_02258DCC:
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov90_02258DB0
|
|
|
|
thumb_func_start ov90_02258DD0
|
|
ov90_02258DD0: ; 0x02258DD0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
str r0, [sp]
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
_02258DDC:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl sub_0200A090
|
|
add r4, r4, #1
|
|
stmia r5!, {r0}
|
|
cmp r4, #4
|
|
blt _02258DDC
|
|
mov r0, #0x38
|
|
add r4, r6, #0
|
|
mul r4, r0
|
|
add r0, r7, #0
|
|
add r1, r4, #0
|
|
bl AllocFromHeap
|
|
ldr r1, [sp]
|
|
add r2, r4, #0
|
|
str r0, [r1, #0x10]
|
|
mov r1, #0
|
|
bl memset
|
|
ldr r0, [sp]
|
|
str r6, [r0, #0x14]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02258DD0
|
|
|
|
thumb_func_start ov90_02258E10
|
|
ov90_02258E10: ; 0x02258E10
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
bls _02258E38
|
|
add r4, r6, #0
|
|
_02258E1E:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r0, [r1, r4]
|
|
cmp r0, #1
|
|
bne _02258E2E
|
|
add r0, r5, #0
|
|
add r1, r1, r4
|
|
bl ov90_02258FB8
|
|
_02258E2E:
|
|
ldr r0, [r5, #0x14]
|
|
add r6, r6, #1
|
|
add r4, #0x38
|
|
cmp r6, r0
|
|
blo _02258E1E
|
|
_02258E38:
|
|
mov r6, #0
|
|
add r4, r5, #0
|
|
_02258E3C:
|
|
ldr r0, [r4]
|
|
bl sub_0200A0D0
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #4
|
|
blt _02258E3C
|
|
ldr r0, [r5, #0x10]
|
|
bl FreeToHeap
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02258E10
|
|
|
|
thumb_func_start ov90_02258E54
|
|
ov90_02258E54: ; 0x02258E54
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
ldr r6, [r5, #0x14]
|
|
mov r4, #0
|
|
str r1, [sp, #0x18]
|
|
str r2, [sp, #0x1c]
|
|
add r7, r3, #0
|
|
add r1, r4, #0
|
|
cmp r6, #0
|
|
bls _02258E84
|
|
ldr r3, [r5, #0x10]
|
|
add r2, r3, #0
|
|
_02258E6E:
|
|
ldr r0, [r2]
|
|
cmp r0, #0
|
|
bne _02258E7C
|
|
mov r0, #0x38
|
|
mul r0, r1
|
|
add r4, r3, r0
|
|
b _02258E84
|
|
_02258E7C:
|
|
add r1, r1, #1
|
|
add r2, #0x38
|
|
cmp r1, r6
|
|
blo _02258E6E
|
|
_02258E84:
|
|
cmp r4, #0
|
|
bne _02258E8C
|
|
bl GF_AssertFail
|
|
_02258E8C:
|
|
ldr r0, [sp, #0x38]
|
|
str r7, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x3c]
|
|
ldr r2, [sp, #0x18]
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x40]
|
|
ldr r3, [sp, #0x1c]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x44]
|
|
add r1, r4, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x48]
|
|
str r0, [sp, #0x14]
|
|
add r0, r5, #0
|
|
bl ov90_02258EE0
|
|
add r0, r4, #0
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov90_02258E54
|
|
|
|
thumb_func_start ov90_02258EB4
|
|
ov90_02258EB4: ; 0x02258EB4
|
|
push {r3, lr}
|
|
sub sp, #0x20
|
|
add r0, #0x14
|
|
str r0, [sp, #4]
|
|
lsl r0, r2, #0xc
|
|
str r0, [sp, #8]
|
|
lsl r0, r3, #0xc
|
|
str r0, [sp, #0xc]
|
|
str r1, [sp]
|
|
add r0, sp, #0x18
|
|
ldrh r0, [r0, #0x10]
|
|
str r0, [sp, #0x14]
|
|
mov r0, #1
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x2c]
|
|
str r0, [sp, #0x1c]
|
|
add r0, sp, #0
|
|
bl sub_02024714
|
|
add sp, #0x20
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02258EB4
|
|
|
|
thumb_func_start ov90_02258EE0
|
|
ov90_02258EE0: ; 0x02258EE0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
str r2, [sp, #0x2c]
|
|
str r3, [sp, #0x30]
|
|
cmp r0, #0
|
|
beq _02258EF6
|
|
bl GF_AssertFail
|
|
_02258EF6:
|
|
mov r0, #1
|
|
ldr r7, [sp, #0x58]
|
|
str r0, [r4]
|
|
str r7, [sp]
|
|
ldr r6, [sp, #0x5c]
|
|
str r0, [sp, #4]
|
|
str r6, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r2, [sp, #0x4c]
|
|
mov r3, #0
|
|
bl sub_0200A3C8
|
|
str r0, [r4, #4]
|
|
str r7, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x48]
|
|
ldr r1, [sp, #0x2c]
|
|
str r0, [sp, #8]
|
|
str r6, [sp, #0xc]
|
|
ldr r0, [r5, #4]
|
|
ldr r2, [sp, #0x30]
|
|
mov r3, #0
|
|
bl sub_0200A480
|
|
str r0, [r4, #8]
|
|
str r7, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
str r6, [sp, #8]
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r2, [sp, #0x50]
|
|
mov r3, #0
|
|
bl sub_0200A540
|
|
str r0, [r4, #0xc]
|
|
str r7, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
str r6, [sp, #8]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r2, [sp, #0x54]
|
|
mov r3, #0
|
|
bl sub_0200A540
|
|
str r0, [r4, #0x10]
|
|
ldr r0, [r4, #4]
|
|
bl sub_0200ADA4
|
|
cmp r0, #0
|
|
bne _02258F66
|
|
bl GF_AssertFail
|
|
_02258F66:
|
|
ldr r0, [r4, #4]
|
|
bl sub_0200A740
|
|
ldr r0, [r4, #8]
|
|
bl sub_0200B00C
|
|
cmp r0, #0
|
|
bne _02258F7A
|
|
bl GF_AssertFail
|
|
_02258F7A:
|
|
ldr r0, [r4, #8]
|
|
bl sub_0200A740
|
|
mov r0, #0
|
|
str r7, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
mov r1, #1
|
|
str r1, [sp, #0x10]
|
|
ldr r1, [r5]
|
|
add r4, #0x14
|
|
str r1, [sp, #0x14]
|
|
ldr r1, [r5, #4]
|
|
add r2, r7, #0
|
|
str r1, [sp, #0x18]
|
|
ldr r1, [r5, #8]
|
|
add r3, r7, #0
|
|
str r1, [sp, #0x1c]
|
|
ldr r1, [r5, #0xc]
|
|
str r1, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl sub_02009D48
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov90_02258EE0
|
|
|
|
thumb_func_start ov90_02258FB8
|
|
ov90_02258FB8: ; 0x02258FB8
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4]
|
|
cmp r0, #1
|
|
beq _02258FC8
|
|
bl GF_AssertFail
|
|
_02258FC8:
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
ldr r0, [r4, #4]
|
|
bl sub_0200AEB0
|
|
ldr r0, [r4, #8]
|
|
bl sub_0200B0A8
|
|
mov r6, #0
|
|
_02258FDA:
|
|
ldr r0, [r5]
|
|
ldr r1, [r4, #4]
|
|
bl sub_0200A75C
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, r5, #4
|
|
cmp r6, #4
|
|
blt _02258FDA
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02258FB8
|
|
|
|
thumb_func_start ov90_02258FF0
|
|
ov90_02258FF0: ; 0x02258FF0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0x18]
|
|
add r6, r2, #0
|
|
str r0, [sp, #0x18]
|
|
add r0, r1, #0
|
|
str r3, [sp]
|
|
bl SetBothScreensModesAndDisable
|
|
ldr r0, [sp, #0x18]
|
|
bl BgConfig_Alloc
|
|
str r0, [r5]
|
|
ldr r0, [sp]
|
|
str r6, [r5, #4]
|
|
str r0, [r5, #8]
|
|
ldr r0, _02259080 ; =gMain + 0x60
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
bl GX_SwapDisplay
|
|
ldr r0, [sp]
|
|
mov r7, #0
|
|
cmp r0, #0
|
|
bls _0225907C
|
|
add r4, r6, #0
|
|
_02259024:
|
|
ldr r1, [r4]
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r2, r6, #4
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldr r0, [r4]
|
|
ldr r3, [sp, #0x18]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
ldr r1, [r4]
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r1, [r4]
|
|
mov r2, #0
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r5]
|
|
lsr r1, r1, #0x18
|
|
add r3, r2, #0
|
|
bl sub_0201BC8C
|
|
ldr r1, [r4]
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl sub_0201BC8C
|
|
ldr r0, [sp]
|
|
add r7, r7, #1
|
|
add r6, #0x20
|
|
add r4, #0x20
|
|
cmp r7, r0
|
|
blo _02259024
|
|
_0225907C:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02259080: .word gMain + 0x60
|
|
thumb_func_end ov90_02258FF0
|
|
|
|
thumb_func_start ov90_02259084
|
|
ov90_02259084: ; 0x02259084
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r1, #3
|
|
ldr r0, [r5]
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl sub_0201BC8C
|
|
ldr r0, [r5, #8]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
bls _022590B6
|
|
add r4, r6, #0
|
|
_0225909E:
|
|
ldr r1, [r5, #4]
|
|
ldr r0, [r5]
|
|
ldr r1, [r1, r4]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r5, #8]
|
|
add r6, r6, #1
|
|
add r4, #0x20
|
|
cmp r6, r0
|
|
blo _0225909E
|
|
_022590B6:
|
|
ldr r0, [r5]
|
|
bl FreeToHeap
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02259084
|
|
|
|
thumb_func_start ov90_022590C0
|
|
ov90_022590C0: ; 0x022590C0
|
|
ldr r3, _022590C8 ; =sub_0201EEB4
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_022590C8: .word sub_0201EEB4
|
|
thumb_func_end ov90_022590C0
|
|
|
|
thumb_func_start ov90_022590CC
|
|
ov90_022590CC: ; 0x022590CC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
add r5, r0, #0
|
|
str r1, [sp, #0x14]
|
|
add r6, r2, #0
|
|
str r3, [sp, #0x18]
|
|
bl NNS_G2dInitOamManagerModule
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #0x7e
|
|
str r1, [sp, #4]
|
|
ldr r4, [sp, #0x40]
|
|
str r0, [sp, #8]
|
|
mov r3, #0x1f
|
|
str r3, [sp, #0xc]
|
|
add r2, r0, #0
|
|
str r4, [sp, #0x10]
|
|
bl sub_0200B150
|
|
ldr r3, _02259154 ; =ov90_0225C294
|
|
add r2, sp, #0x1c
|
|
add r7, r2, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
mov r1, #0x10
|
|
add r0, r7, #0
|
|
add r2, r1, #0
|
|
str r6, [sp, #0x1c]
|
|
str r4, [sp, #0x28]
|
|
bl sub_020215C0
|
|
ldr r0, [sp, #0x18]
|
|
add r1, r4, #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
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r5, #4
|
|
add r2, r4, #0
|
|
bl sub_02009F40
|
|
str r0, [r5]
|
|
bl sub_0203A880
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl sub_02022CC8
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_02259154: .word ov90_0225C294
|
|
thumb_func_end ov90_022590CC
|
|
|
|
thumb_func_start ov90_02259158
|
|
ov90_02259158: ; 0x02259158
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
bl sub_02024504
|
|
bl sub_0202168C
|
|
bl sub_02022608
|
|
bl sub_0200B244
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02259158
|
|
|
|
thumb_func_start ov90_02259170
|
|
ov90_02259170: ; 0x02259170
|
|
ldr r3, _02259178 ; =sub_0202457C
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_02259178: .word sub_0202457C
|
|
thumb_func_end ov90_02259170
|
|
|
|
thumb_func_start ov90_0225917C
|
|
ov90_0225917C: ; 0x0225917C
|
|
ldr r3, _02259180 ; =sub_0200B224
|
|
bx r3
|
|
.balign 4, 0
|
|
_02259180: .word sub_0200B224
|
|
thumb_func_end ov90_0225917C
|
|
|
|
thumb_func_start ov90_02259184
|
|
ov90_02259184: ; 0x02259184
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r2, #0xec
|
|
add r3, r4, #0
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r5]
|
|
mov r0, #8
|
|
mov r1, #0x40
|
|
add r2, r4, #0
|
|
bl ScrStrBufs_new_custom
|
|
str r0, [r5, #4]
|
|
mov r0, #0x80
|
|
add r1, r4, #0
|
|
bl String_ctor
|
|
str r0, [r5, #8]
|
|
mov r0, #0x80
|
|
add r1, r4, #0
|
|
bl String_ctor
|
|
mov r1, #6
|
|
str r0, [r5, #0xc]
|
|
mov r0, #0
|
|
lsl r1, r1, #6
|
|
add r2, r4, #0
|
|
bl sub_0200304C
|
|
mov r1, #6
|
|
mov r0, #4
|
|
lsl r1, r1, #6
|
|
add r2, r4, #0
|
|
bl sub_0200304C
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02259184
|
|
|
|
thumb_func_start ov90_022591D4
|
|
ov90_022591D4: ; 0x022591D4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
bl String_dtor
|
|
ldr r0, [r4, #8]
|
|
bl String_dtor
|
|
ldr r0, [r4, #4]
|
|
bl ScrStrBufs_delete
|
|
ldr r0, [r4]
|
|
bl DestroyMsgData
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_022591D4
|
|
|
|
thumb_func_start ov90_022591F4
|
|
ov90_022591F4: ; 0x022591F4
|
|
ldr r3, _022591FC ; =ScrStrBufs_ResetBuffers
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_022591FC: .word ScrStrBufs_ResetBuffers
|
|
thumb_func_end ov90_022591F4
|
|
|
|
thumb_func_start ov90_02259200
|
|
ov90_02259200: ; 0x02259200
|
|
ldr r3, _0225920C ; =BufferPlayersName
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0
|
|
bx r3
|
|
nop
|
|
_0225920C: .word BufferPlayersName
|
|
thumb_func_end ov90_02259200
|
|
|
|
thumb_func_start ov90_02259210
|
|
ov90_02259210: ; 0x02259210
|
|
ldr r3, _0225921C ; =BufferCountryName
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0
|
|
bx r3
|
|
nop
|
|
_0225921C: .word BufferCountryName
|
|
thumb_func_end ov90_02259210
|
|
|
|
thumb_func_start ov90_02259220
|
|
ov90_02259220: ; 0x02259220
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r3, r2, #0
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
bl BufferCityName
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02259220
|
|
|
|
thumb_func_start ov90_02259234
|
|
ov90_02259234: ; 0x02259234
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
add r3, r2, #0
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
bl BufferIntegerAsString
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
thumb_func_end ov90_02259234
|
|
|
|
thumb_func_start ov90_02259250
|
|
ov90_02259250: ; 0x02259250
|
|
push {r3, lr}
|
|
sub sp, #8
|
|
add r2, r1, #0
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
add sp, #8
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02259250
|
|
|
|
thumb_func_start ov90_0225926C
|
|
ov90_0225926C: ; 0x0225926C
|
|
ldr r3, _02259278 ; =sub_0200C7BC
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #4]
|
|
mov r1, #1
|
|
bx r3
|
|
nop
|
|
_02259278: .word sub_0200C7BC
|
|
thumb_func_end ov90_0225926C
|
|
|
|
thumb_func_start ov90_0225927C
|
|
ov90_0225927C: ; 0x0225927C
|
|
ldr r3, _02259288 ; =sub_0200C74C
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #4]
|
|
mov r1, #0
|
|
bx r3
|
|
nop
|
|
_02259288: .word sub_0200C74C
|
|
thumb_func_end ov90_0225927C
|
|
|
|
thumb_func_start ov90_0225928C
|
|
ov90_0225928C: ; 0x0225928C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r1, r2, #0
|
|
ldr r0, [r5]
|
|
ldr r2, [r5, #0xc]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r5, #4]
|
|
ldr r2, [r5, #0xc]
|
|
add r1, r4, #0
|
|
bl StringExpandPlaceholders
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov90_0225928C
|
|
|
|
thumb_func_start ov90_022592A8
|
|
ov90_022592A8: ; 0x022592A8
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, sp, #0
|
|
ldrb r4, [r4, #0x10]
|
|
str r4, [sp]
|
|
ldr r4, _022592C0 ; =0x000F0E00
|
|
str r4, [sp, #4]
|
|
bl ov90_02259350
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
nop
|
|
_022592C0: .word 0x000F0E00
|
|
thumb_func_end ov90_022592A8
|
|
|
|
thumb_func_start ov90_022592C4
|
|
ov90_022592C4: ; 0x022592C4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
ldr r0, [r5]
|
|
ldr r2, [r5, #0xc]
|
|
add r4, r3, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r5, #8]
|
|
ldr r2, [r5, #0xc]
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0
|
|
ldr r1, [r5, #8]
|
|
add r2, r0, #0
|
|
bl sub_02002F30
|
|
sub r3, r4, r0
|
|
bpl _022592F0
|
|
mov r3, #0
|
|
_022592F0:
|
|
add r0, sp, #0x10
|
|
ldrb r0, [r0, #0x10]
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _02259310 ; =0x000F0E00
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r5, #8]
|
|
add r0, r6, #0
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02259310: .word 0x000F0E00
|
|
thumb_func_end ov90_022592C4
|
|
|
|
thumb_func_start ov90_02259314
|
|
ov90_02259314: ; 0x02259314
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
ldr r0, [r5]
|
|
ldr r2, [r5, #0xc]
|
|
add r4, r3, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r5, #4]
|
|
ldr r2, [r5, #0xc]
|
|
add r1, r4, #0
|
|
bl StringExpandPlaceholders
|
|
mov r3, #0
|
|
ldr r0, [sp, #0x20]
|
|
str r3, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, _0225934C ; =0x0001020F
|
|
mov r1, #1
|
|
str r0, [sp, #8]
|
|
add r0, r6, #0
|
|
add r2, r4, #0
|
|
str r3, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0225934C: .word 0x0001020F
|
|
thumb_func_end ov90_02259314
|
|
|
|
thumb_func_start ov90_02259350
|
|
ov90_02259350: ; 0x02259350
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
ldr r0, [r5]
|
|
ldr r2, [r5, #0xc]
|
|
add r6, r3, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r5, #8]
|
|
ldr r2, [r5, #0xc]
|
|
bl StringExpandPlaceholders
|
|
add r0, sp, #0x10
|
|
ldrb r0, [r0, #0x10]
|
|
mov r1, #0
|
|
add r3, r6, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x24]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov90_02259350
|
|
|
|
thumb_func_start ov90_0225938C
|
|
ov90_0225938C: ; 0x0225938C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x30]
|
|
add r7, r1, #0
|
|
str r0, [sp, #0x30]
|
|
add r0, r2, #0
|
|
str r3, [sp, #0x18]
|
|
bl Sav2_PlayerData_GetOptionsAddr
|
|
bl Options_GetFrame
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
bl sub_02002C60
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x30]
|
|
mov r1, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [r7]
|
|
mov r2, #1
|
|
mov r3, #0xd
|
|
bl sub_0200E644
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x30]
|
|
mov r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r7]
|
|
mov r2, #1
|
|
mov r3, #0xd
|
|
bl sub_0200E644
|
|
ldr r4, [sp, #0x14]
|
|
mov r6, #0
|
|
add r5, r4, #0
|
|
_022593DE:
|
|
cmp r6, #0
|
|
bne _022593E8
|
|
mov r2, #2
|
|
mov r0, #0x13
|
|
b _022593EC
|
|
_022593E8:
|
|
mov r2, #4
|
|
mov r0, #1
|
|
_022593EC:
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #0x10]
|
|
lsl r2, r2, #0x18
|
|
ldr r0, [r7]
|
|
add r1, r4, #0
|
|
lsr r2, r2, #0x18
|
|
mov r3, #2
|
|
bl AddWindowParameterized
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, [sp, #0x30]
|
|
mov r0, #0x80
|
|
bl String_ctor
|
|
str r0, [r5, #0x24]
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
add r5, r5, #4
|
|
cmp r6, #2
|
|
blt _022593DE
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, [sp, #0x14]
|
|
str r1, [r0, #0x34]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225938C
|
|
|
|
thumb_func_start ov90_02259434
|
|
ov90_02259434: ; 0x02259434
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
add r6, r7, #0
|
|
_0225943E:
|
|
add r0, r7, #0
|
|
add r1, r4, #0
|
|
bl ov90_022594FC
|
|
ldr r0, [r5, #0x24]
|
|
bl String_dtor
|
|
add r0, r6, #0
|
|
bl RemoveWindow
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
add r6, #0x10
|
|
cmp r4, #2
|
|
blt _0225943E
|
|
bl sub_02002C90
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02259434
|
|
|
|
thumb_func_start ov90_02259464
|
|
ov90_02259464: ; 0x02259464
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x34]
|
|
str r1, [sp, #4]
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
cmp r0, #1
|
|
bne _0225948A
|
|
ldr r2, _022594F8 ; =ov90_0225C34C
|
|
mov r1, #0
|
|
_0225947A:
|
|
ldrh r0, [r2]
|
|
cmp r4, r0
|
|
bne _02259482
|
|
ldrh r4, [r2, #2]
|
|
_02259482:
|
|
add r1, r1, #1
|
|
add r2, r2, #4
|
|
cmp r1, #0x14
|
|
blo _0225947A
|
|
_0225948A:
|
|
add r0, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, #0x20
|
|
str r0, [sp, #8]
|
|
lsl r0, r6, #1
|
|
ldr r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldrh r0, [r1, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_02020094
|
|
cmp r0, #0
|
|
beq _022594B4
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [sp, #0xc]
|
|
ldrh r0, [r1, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_020200A0
|
|
_022594B4:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov90_02259570
|
|
lsl r7, r6, #4
|
|
add r0, r5, r7
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #1
|
|
lsl r3, r6, #2
|
|
str r0, [sp]
|
|
add r3, r5, r3
|
|
ldr r0, [sp, #4]
|
|
ldr r3, [r3, #0x24]
|
|
add r1, r4, #0
|
|
add r2, r5, r7
|
|
bl ov90_02259314
|
|
ldr r2, [sp, #8]
|
|
ldr r1, [sp, #0xc]
|
|
mov r3, #0xd
|
|
strh r0, [r2, r1]
|
|
mov r1, #1
|
|
add r0, r5, r7
|
|
add r2, r1, #0
|
|
bl DrawFrameAndWindow2
|
|
add r0, r5, r7
|
|
bl sub_0201D5C8
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022594F8: .word ov90_0225C34C
|
|
thumb_func_end ov90_02259464
|
|
|
|
thumb_func_start ov90_022594FC
|
|
ov90_022594FC: ; 0x022594FC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov90_02259570
|
|
add r6, r5, #0
|
|
add r6, #0x20
|
|
lsl r7, r4, #1
|
|
ldrh r0, [r6, r7]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_02020094
|
|
cmp r0, #0
|
|
beq _02259524
|
|
ldrh r0, [r6, r7]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_020200A0
|
|
_02259524:
|
|
lsl r4, r4, #4
|
|
add r0, r5, r4
|
|
mov r1, #1
|
|
bl ClearFrameAndWindow2
|
|
add r0, r5, r4
|
|
bl sub_0201D8E4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_022594FC
|
|
|
|
thumb_func_start ov90_02259538
|
|
ov90_02259538: ; 0x02259538
|
|
push {r3, lr}
|
|
lsl r1, r1, #1
|
|
add r0, r0, r1
|
|
ldrh r0, [r0, #0x20]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl sub_02020094
|
|
cmp r0, #0
|
|
bne _02259550
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02259550:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov90_02259538
|
|
|
|
thumb_func_start ov90_02259554
|
|
ov90_02259554: ; 0x02259554
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r5, #0x2c
|
|
lsl r4, r1, #2
|
|
ldr r2, [r5, r4]
|
|
cmp r2, #0
|
|
bne _0225956E
|
|
lsl r1, r1, #4
|
|
add r0, r0, r1
|
|
mov r1, #1
|
|
bl sub_0200F0AC
|
|
str r0, [r5, r4]
|
|
_0225956E:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov90_02259554
|
|
|
|
thumb_func_start ov90_02259570
|
|
ov90_02259570: ; 0x02259570
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
lsl r5, r1, #2
|
|
add r4, #0x2c
|
|
ldr r0, [r4, r5]
|
|
cmp r0, #0
|
|
beq _02259586
|
|
bl sub_0200F478
|
|
mov r0, #0
|
|
str r0, [r4, r5]
|
|
_02259586:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov90_02259570
|
|
|
|
thumb_func_start ov90_02259588
|
|
ov90_02259588: ; 0x02259588
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r1, #0
|
|
mov r1, #0x12
|
|
add r6, r0, #0
|
|
add r5, r2, #0
|
|
mov r0, #0x13
|
|
lsl r1, r1, #6
|
|
mov r2, #0
|
|
bl sub_02004EC4
|
|
ldr r1, _022596A0 ; =0x000005F4
|
|
add r0, r5, #0
|
|
bl AllocFromHeap
|
|
ldr r2, _022596A0 ; =0x000005F4
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
add r2, r4, #0
|
|
add r2, #8
|
|
mov r1, #0x10
|
|
_022595B4:
|
|
ldrb r0, [r6]
|
|
add r6, r6, #1
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _022595B4
|
|
ldr r3, _022596A4 ; =0x04000050
|
|
strh r7, [r4, #4]
|
|
mov r1, #0
|
|
strh r1, [r3]
|
|
ldr r0, _022596A8 ; =0x04001050
|
|
sub r3, #0x50
|
|
strh r1, [r0]
|
|
ldr r2, [r3]
|
|
ldr r1, _022596AC ; =0xFFFF1FFF
|
|
sub r0, #0x50
|
|
and r2, r1
|
|
str r2, [r3]
|
|
ldr r2, [r0]
|
|
and r1, r2
|
|
str r1, [r0]
|
|
ldr r0, _022596B0 ; =ov90_0225C2CC
|
|
bl GX_SetBanks
|
|
add r0, r4, #0
|
|
strh r5, [r4, #2]
|
|
bl ov90_0225C178
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #0x18
|
|
add r1, #8
|
|
bl ov90_0225A204
|
|
add r0, r4, #0
|
|
ldr r1, _022596B4 ; =ov90_0225C2A4
|
|
ldr r2, _022596B8 ; =ov90_0225C39C
|
|
add r0, #0x30
|
|
mov r3, #5
|
|
str r5, [sp]
|
|
bl ov90_02258FF0
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
add r0, #0x84
|
|
mov r1, #0x10
|
|
add r3, r2, #0
|
|
str r5, [sp]
|
|
bl ov90_022590CC
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
mov r1, #1
|
|
add r2, r5, #0
|
|
bl ov90_02258DD0
|
|
add r0, r4, #0
|
|
add r0, #0x3c
|
|
add r1, r5, #0
|
|
bl ov90_02259184
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov90_022596C8
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, #0x11]
|
|
add r0, #8
|
|
bl ov90_0225888C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #8
|
|
bl ov90_022588A4
|
|
str r5, [sp]
|
|
add r3, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
ldr r2, [r4, #8]
|
|
add r0, #0x4c
|
|
add r1, #0x30
|
|
bl ov90_0225938C
|
|
ldr r0, _022596BC ; =ov90_02259794
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E320
|
|
ldr r1, _022596C0 ; =0x000005EC
|
|
mov r2, #0
|
|
str r0, [r4, r1]
|
|
ldr r0, _022596C4 ; =ov90_02259B18
|
|
add r1, r4, #0
|
|
bl sub_0200E374
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
ldrb r0, [r4, #0x12]
|
|
cmp r0, #0
|
|
beq _02259688
|
|
add r0, r5, #0
|
|
bl ov00_021E69A8
|
|
_02259688:
|
|
ldr r0, [r4, #8]
|
|
bl Sav2_GameStats_get
|
|
ldrb r1, [r4, #0x13]
|
|
cmp r1, #0
|
|
beq _0225969A
|
|
mov r1, #0x27
|
|
bl GameStats_AddSpecial
|
|
_0225969A:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022596A0: .word 0x000005F4
|
|
_022596A4: .word 0x04000050
|
|
_022596A8: .word 0x04001050
|
|
_022596AC: .word 0xFFFF1FFF
|
|
_022596B0: .word ov90_0225C2CC
|
|
_022596B4: .word ov90_0225C2A4
|
|
_022596B8: .word ov90_0225C39C
|
|
_022596BC: .word ov90_02259794
|
|
_022596C0: .word 0x000005EC
|
|
_022596C4: .word ov90_02259B18
|
|
thumb_func_end ov90_02259588
|
|
|
|
thumb_func_start ov90_022596C8
|
|
ov90_022596C8: ; 0x022596C8
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r0, #0xc8
|
|
add r4, r1, #0
|
|
bl NARC_ctor
|
|
mov r1, #0x12
|
|
lsl r1, r1, #4
|
|
str r1, [sp]
|
|
mov r2, #0
|
|
mov r1, #4
|
|
add r3, r2, #0
|
|
add r6, r0, #0
|
|
str r4, [sp, #4]
|
|
bl sub_02007B8C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r5, #0x30]
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
mov r3, #1
|
|
bl sub_02007B44
|
|
mov r3, #2
|
|
lsl r3, r3, #8
|
|
add r0, r6, #0
|
|
mov r1, #9
|
|
mov r2, #0
|
|
add r3, r5, r3
|
|
str r4, [sp]
|
|
bl sub_02007C2C
|
|
mov r1, #0x7f
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r5, #0x30]
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
mov r3, #3
|
|
bl sub_02007B68
|
|
ldrh r1, [r5, #4]
|
|
add r0, r6, #0
|
|
add r2, r4, #0
|
|
bl ov90_0225A65C
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
mov r0, #0xd
|
|
str r0, [sp, #4]
|
|
mov r0, #0xe
|
|
str r0, [sp, #8]
|
|
ldr r0, _02259780 ; =0x00001388
|
|
add r1, r6, #0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
mov r2, #0xb
|
|
mov r3, #5
|
|
str r4, [sp, #0x10]
|
|
bl ov90_02258E54
|
|
mov r1, #0x72
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r0, r1, #4
|
|
str r6, [sp]
|
|
str r4, [sp, #4]
|
|
add r1, r5, #0
|
|
add r2, r5, #0
|
|
ldrh r3, [r5, #4]
|
|
add r0, r5, r0
|
|
add r1, #0x30
|
|
add r2, #0x3c
|
|
bl ov90_0225A2B0
|
|
add r0, r6, #0
|
|
bl NARC_dtor
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02259780: .word 0x00001388
|
|
thumb_func_end ov90_022596C8
|
|
|
|
thumb_func_start ov90_02259784
|
|
ov90_02259784: ; 0x02259784
|
|
mov r1, #0x7f
|
|
lsl r1, r1, #2
|
|
ldr r3, _02259790 ; =FreeToHeap
|
|
ldr r0, [r0, r1]
|
|
bx r3
|
|
nop
|
|
_02259790: .word FreeToHeap
|
|
thumb_func_end ov90_02259784
|
|
|
|
thumb_func_start ov90_02259794
|
|
ov90_02259794: ; 0x02259794
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
add r4, r1, #0
|
|
ldrb r0, [r4]
|
|
cmp r0, #0x10
|
|
bls _022597A2
|
|
b _02259AF2
|
|
_022597A2:
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_022597AE: ; jump table
|
|
.short _022597D0 - _022597AE - 2 ; case 0
|
|
.short _022597FE - _022597AE - 2 ; case 1
|
|
.short _0225981C - _022597AE - 2 ; case 2
|
|
.short _02259836 - _022597AE - 2 ; case 3
|
|
.short _0225984E - _022597AE - 2 ; case 4
|
|
.short _02259868 - _022597AE - 2 ; case 5
|
|
.short _02259898 - _022597AE - 2 ; case 6
|
|
.short _022598B4 - _022597AE - 2 ; case 7
|
|
.short _022599BA - _022597AE - 2 ; case 8
|
|
.short _022599CC - _022597AE - 2 ; case 9
|
|
.short _022599F2 - _022597AE - 2 ; case 10
|
|
.short _02259A04 - _022597AE - 2 ; case 11
|
|
.short _02259A36 - _022597AE - 2 ; case 12
|
|
.short _02259A50 - _022597AE - 2 ; case 13
|
|
.short _02259AB6 - _022597AE - 2 ; case 14
|
|
.short _02259AE8 - _022597AE - 2 ; case 15
|
|
.short _02259AF2 - _022597AE - 2 ; case 16
|
|
_022597D0:
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldrh r0, [r4, #2]
|
|
ldr r3, _02259AD8 ; =0x0000FFFF
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
bl sub_0200FA24
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
ldrh r2, [r4, #2]
|
|
add r0, r4, r0
|
|
add r1, #0x30
|
|
bl ov90_0225A350
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _02259AF2
|
|
_022597FE:
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
add r0, r4, r0
|
|
add r1, #0x30
|
|
bl ov90_0225A428
|
|
bl sub_0200FB5C
|
|
cmp r0, #1
|
|
bne _022598AA
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _02259AF2
|
|
_0225981C:
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
add r0, r4, r0
|
|
add r1, #0x30
|
|
bl ov90_0225A428
|
|
cmp r0, #1
|
|
bne _022598AA
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _02259AF2
|
|
_02259836:
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
add r0, #0x4c
|
|
add r1, #0x3c
|
|
add r3, r2, #0
|
|
bl ov90_02259464
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _02259AF2
|
|
_0225984E:
|
|
add r0, r4, #0
|
|
add r0, #0x4c
|
|
mov r1, #0
|
|
bl ov90_02259538
|
|
cmp r0, #0
|
|
beq _022598AA
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
mov r0, #0x40
|
|
strb r0, [r4, #1]
|
|
b _02259AF2
|
|
_02259868:
|
|
ldrb r0, [r4, #1]
|
|
cmp r0, #0
|
|
beq _022598AA
|
|
sub r0, r0, #1
|
|
strb r0, [r4, #1]
|
|
ldrb r0, [r4, #1]
|
|
cmp r0, #0
|
|
bne _022598AA
|
|
add r0, r4, #0
|
|
add r0, #0x4c
|
|
mov r1, #0
|
|
bl ov90_022594FC
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
add r0, r4, r0
|
|
add r1, #0x30
|
|
bl ov90_0225A3E0
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _02259AF2
|
|
_02259898:
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
add r0, r4, r0
|
|
add r1, #0x30
|
|
bl ov90_0225A544
|
|
cmp r0, #1
|
|
beq _022598AC
|
|
_022598AA:
|
|
b _02259AF2
|
|
_022598AC:
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _02259AF2
|
|
_022598B4:
|
|
mov r0, #0xb9
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
ldrh r2, [r4, #2]
|
|
add r0, r4, r0
|
|
add r1, #0x30
|
|
bl ov90_0225A088
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #8
|
|
add r1, #0x18
|
|
bl ov90_0225A258
|
|
ldrb r1, [r4, #0x10]
|
|
mov r6, #0
|
|
str r0, [sp, #0x1c]
|
|
cmp r1, #0
|
|
ble _02259986
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
add r5, r4, r0
|
|
add r0, r4, #0
|
|
str r0, [sp, #0x20]
|
|
add r0, #0x30
|
|
str r0, [sp, #0x20]
|
|
add r0, r4, #0
|
|
str r0, [sp, #0x24]
|
|
add r0, #0x84
|
|
str r0, [sp, #0x24]
|
|
add r0, r4, #0
|
|
str r0, [sp, #0x28]
|
|
add r0, #8
|
|
str r0, [sp, #0x28]
|
|
add r0, r4, #0
|
|
str r0, [sp, #0x2c]
|
|
add r0, #0x3c
|
|
str r4, [sp, #0x18]
|
|
add r7, r6, #0
|
|
str r0, [sp, #0x2c]
|
|
_02259904:
|
|
ldr r0, [sp, #0x20]
|
|
mov r3, #2
|
|
str r0, [sp]
|
|
str r6, [sp, #4]
|
|
ldrb r0, [r4, #0x11]
|
|
lsl r3, r3, #8
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x24]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x72
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x10]
|
|
ldrh r0, [r4, #2]
|
|
str r0, [sp, #0x14]
|
|
ldrh r2, [r4, #4]
|
|
ldr r3, [r4, r3]
|
|
add r0, r5, #0
|
|
bl ov90_02259BCC
|
|
ldr r0, [sp, #0x28]
|
|
add r1, r6, #0
|
|
bl ov90_0225888C
|
|
add r1, r0, #0
|
|
ldr r0, [sp, #0x28]
|
|
bl ov90_022588A4
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #0x18]
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r2, [r2, #0x20]
|
|
add r0, r5, #0
|
|
mov r3, #8
|
|
bl ov90_02259D50
|
|
add r3, r4, r6
|
|
ldrb r0, [r3, #0x1c]
|
|
ldr r1, [sp, #0x2c]
|
|
ldr r2, [sp, #0x1c]
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldrb r3, [r3, #0x18]
|
|
add r0, r5, #0
|
|
bl ov90_02259DAC
|
|
mov r1, #7
|
|
lsl r2, r7, #0x10
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
asr r2, r2, #0x10
|
|
bl ov90_02259EE0
|
|
ldr r0, [sp, #0x18]
|
|
ldrb r1, [r4, #0x10]
|
|
add r0, r0, #4
|
|
add r6, r6, #1
|
|
add r5, #0x38
|
|
str r0, [sp, #0x18]
|
|
add r7, r7, #3
|
|
cmp r6, r1
|
|
blt _02259904
|
|
_02259986:
|
|
mov r6, #0
|
|
cmp r1, #0
|
|
ble _022599AE
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
add r7, r4, #0
|
|
add r5, r4, r0
|
|
add r7, #0x30
|
|
_02259996:
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl ov90_02259E8C
|
|
add r0, r5, #0
|
|
bl ov90_02259EA0
|
|
ldrb r0, [r4, #0x10]
|
|
add r6, r6, #1
|
|
add r5, #0x38
|
|
cmp r6, r0
|
|
blt _02259996
|
|
_022599AE:
|
|
mov r0, #0x5c
|
|
strb r0, [r4, #1]
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _02259AF2
|
|
_022599BA:
|
|
add r0, r4, #0
|
|
bl ov90_02259B68
|
|
cmp r0, #1
|
|
bne _022599EA
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _02259AF2
|
|
_022599CC:
|
|
ldrb r0, [r4, #1]
|
|
sub r0, r0, #1
|
|
strb r0, [r4, #1]
|
|
ldrb r0, [r4, #1]
|
|
cmp r0, #0
|
|
bne _022599EA
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
mov r0, #0x81
|
|
bl sub_02037AC0
|
|
ldrb r0, [r4, #0x12]
|
|
cmp r0, #0
|
|
bne _022599EC
|
|
_022599EA:
|
|
b _02259AF2
|
|
_022599EC:
|
|
bl ov00_021E6A4C
|
|
b _02259AF2
|
|
_022599F2:
|
|
mov r0, #0x81
|
|
bl sub_02037B38
|
|
cmp r0, #0
|
|
beq _02259AF2
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _02259AF2
|
|
_02259A04:
|
|
ldrb r0, [r4, #0x10]
|
|
mov r7, #0
|
|
cmp r0, #0
|
|
ble _02259A2A
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
add r6, r7, #0
|
|
add r5, r4, r0
|
|
_02259A14:
|
|
lsl r1, r6, #0x10
|
|
add r0, r5, #0
|
|
asr r1, r1, #0x10
|
|
bl ov90_02259F44
|
|
ldrb r0, [r4, #0x10]
|
|
add r7, r7, #1
|
|
add r6, r6, #3
|
|
add r5, #0x38
|
|
cmp r7, r0
|
|
blt _02259A14
|
|
_02259A2A:
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
mov r0, #8
|
|
strb r0, [r4, #1]
|
|
b _02259AF2
|
|
_02259A36:
|
|
ldrb r0, [r4, #1]
|
|
sub r0, r0, #1
|
|
strb r0, [r4, #1]
|
|
add r0, r4, #0
|
|
bl ov90_02259B68
|
|
ldrb r0, [r4, #1]
|
|
cmp r0, #0
|
|
bne _02259AF2
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _02259AF2
|
|
_02259A50:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r2, #1
|
|
str r2, [sp, #4]
|
|
ldrh r0, [r4, #2]
|
|
mov r1, #0
|
|
add r3, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
bl sub_0200FA24
|
|
add r0, r4, #0
|
|
bl ov90_02259B68
|
|
ldrb r0, [r4, #0x11]
|
|
cmp r0, #0
|
|
bne _02259AAE
|
|
ldrh r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _02259A82
|
|
cmp r0, #1
|
|
beq _02259A8E
|
|
cmp r0, #2
|
|
beq _02259A9A
|
|
b _02259AA4
|
|
_02259A82:
|
|
ldr r0, _02259ADC ; =ov90_0225C1E8
|
|
mov r1, #3
|
|
bl ov90_02259B38
|
|
str r0, [sp, #0x30]
|
|
b _02259AA4
|
|
_02259A8E:
|
|
ldr r0, _02259AE0 ; =_0225C1E0
|
|
mov r1, #2
|
|
bl ov90_02259B38
|
|
str r0, [sp, #0x30]
|
|
b _02259AA4
|
|
_02259A9A:
|
|
ldr r0, _02259AE4 ; =ov90_0225C1E4
|
|
mov r1, #3
|
|
bl ov90_02259B38
|
|
str r0, [sp, #0x30]
|
|
_02259AA4:
|
|
mov r0, #0x1a
|
|
add r1, sp, #0x30
|
|
mov r2, #4
|
|
bl sub_02037030
|
|
_02259AAE:
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _02259AF2
|
|
_02259AB6:
|
|
add r0, r4, #0
|
|
bl ov90_02259B68
|
|
bl sub_0200FB5C
|
|
cmp r0, #1
|
|
bne _02259AF2
|
|
mov r0, #0xb9
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov90_0225A108
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _02259AF2
|
|
nop
|
|
_02259AD8: .word 0x0000FFFF
|
|
_02259ADC: .word ov90_0225C1E8
|
|
_02259AE0: .word _0225C1E0
|
|
_02259AE4: .word ov90_0225C1E4
|
|
_02259AE8:
|
|
ldrb r1, [r4, #7]
|
|
cmp r1, #1
|
|
bne _02259AF2
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
_02259AF2:
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
bl ov90_02259170
|
|
ldr r0, [r4, #0x30]
|
|
mov r1, #3
|
|
mov r2, #4
|
|
mov r3, #2
|
|
bl sub_0201F238
|
|
ldr r0, [r4, #0x30]
|
|
mov r1, #5
|
|
mov r2, #4
|
|
mov r3, #2
|
|
bl sub_0201F238
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02259794
|
|
|
|
thumb_func_start ov90_02259B18
|
|
ov90_02259B18: ; 0x02259B18
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
add r0, #0x30
|
|
bl ov90_022590C0
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
bl ov90_0225917C
|
|
mov r0, #0xb9
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov90_0225A198
|
|
pop {r4, pc}
|
|
thumb_func_end ov90_02259B18
|
|
|
|
thumb_func_start ov90_02259B38
|
|
ov90_02259B38: ; 0x02259B38
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl MTRandom
|
|
mov r1, #0x64
|
|
bl _u32_div_f
|
|
mov r3, #0
|
|
add r0, r3, #0
|
|
cmp r4, #0
|
|
bls _02259B5E
|
|
_02259B50:
|
|
ldrb r2, [r5, r0]
|
|
add r3, r3, r2
|
|
cmp r3, r1
|
|
bhi _02259B64
|
|
add r0, r0, #1
|
|
cmp r0, r4
|
|
blo _02259B50
|
|
_02259B5E:
|
|
bl GF_AssertFail
|
|
sub r0, r4, #1
|
|
_02259B64:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02259B38
|
|
|
|
thumb_func_start ov90_02259B68
|
|
ov90_02259B68: ; 0x02259B68
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r7, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r7, #0x10]
|
|
cmp r0, #0
|
|
ble _02259BC6
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
add r6, r7, r0
|
|
add r4, r7, #0
|
|
add r5, r6, #0
|
|
_02259B86:
|
|
mov r0, #0x85
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _02259BB0
|
|
add r0, r6, #0
|
|
bl ov90_02259F7C
|
|
str r0, [sp, #8]
|
|
mov r0, #0xb9
|
|
lsl r0, r0, #2
|
|
add r0, r7, r0
|
|
add r1, r5, #0
|
|
bl ov90_0225A134
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
bne _02259BB4
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
b _02259BB4
|
|
_02259BB0:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
_02259BB4:
|
|
ldr r0, [sp, #4]
|
|
ldrb r1, [r7, #0x10]
|
|
add r0, r0, #1
|
|
add r4, #0x38
|
|
add r6, #0x38
|
|
add r5, #0x38
|
|
str r0, [sp, #4]
|
|
cmp r0, r1
|
|
blt _02259B86
|
|
_02259BC6:
|
|
ldr r0, [sp]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov90_02259B68
|
|
|
|
thumb_func_start ov90_02259BCC
|
|
ov90_02259BCC: ; 0x02259BCC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0x48]
|
|
add r6, r3, #0
|
|
str r0, [sp, #0x48]
|
|
ldr r0, [sp, #0x54]
|
|
str r1, [sp, #0x1c]
|
|
ldr r4, [sp, #0x4c]
|
|
str r0, [sp, #0x54]
|
|
cmp r2, #0
|
|
beq _02259BEC
|
|
cmp r2, #1
|
|
beq _02259BFA
|
|
cmp r2, #2
|
|
bne _02259C10
|
|
_02259BEC:
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r2, [sp, #0x50]
|
|
add r1, r4, #0
|
|
bl ov90_0225A050
|
|
add r7, r0, #0
|
|
b _02259C12
|
|
_02259BFA:
|
|
ldr r0, [sp, #0x50]
|
|
cmp r0, r4
|
|
bls _02259C04
|
|
add r7, r4, #1
|
|
b _02259C12
|
|
_02259C04:
|
|
cmp r0, r4
|
|
bne _02259C0C
|
|
mov r7, #0
|
|
b _02259C12
|
|
_02259C0C:
|
|
add r7, r4, #0
|
|
b _02259C12
|
|
_02259C10:
|
|
add r7, r4, #0
|
|
_02259C12:
|
|
mov r0, #1
|
|
mov r1, #2
|
|
bl sub_0201BB68
|
|
mov r0, #0
|
|
mov r1, #1
|
|
bl sub_0201BB68
|
|
ldr r1, [sp, #0x1c]
|
|
mov r0, #0xc
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
str r2, [sp, #0x2c]
|
|
ldr r2, _02259D38 ; =ov90_0225C310
|
|
ldr r1, [sp, #0x2c]
|
|
mov r3, #5
|
|
add r1, r2, r1
|
|
ldrb r1, [r7, r1]
|
|
mov r2, #0
|
|
str r1, [sp, #0x28]
|
|
add r1, r1, #1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp]
|
|
mov r1, #0x1a
|
|
str r1, [sp, #4]
|
|
mov r1, #4
|
|
str r1, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x68
|
|
add r1, r4, #0
|
|
mul r1, r0
|
|
ldr r0, _02259D3C ; =0x00000201
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x48]
|
|
add r1, r5, #0
|
|
ldr r0, [r0]
|
|
bl AddWindowParameterized
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
add r0, #0xc
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
ldr r1, _02259D40 ; =ov90_0225C314
|
|
ldr r0, [sp, #0x2c]
|
|
str r2, [sp, #0xc]
|
|
add r0, r1, r0
|
|
ldrb r0, [r4, r0]
|
|
ldr r3, [sp, #0x28]
|
|
mov r1, #1
|
|
str r0, [sp, #0x10]
|
|
ldrh r0, [r6]
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x14]
|
|
ldrh r0, [r6, #2]
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x48]
|
|
ldr r0, [r0]
|
|
bl sub_0201C4EC
|
|
ldr r0, [sp, #0x28]
|
|
ldr r1, _02259D44 ; =ov90_0225C318
|
|
lsl r0, r0, #3
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x2c]
|
|
ldr r2, _02259D48 ; =ov90_0225C274
|
|
add r0, r1, r0
|
|
ldrb r0, [r7, r0]
|
|
ldr r3, _02259D4C ; =ov90_0225C276
|
|
ldr r1, [sp, #0x54]
|
|
lsl r6, r0, #2
|
|
ldrsh r2, [r2, r6]
|
|
str r0, [sp, #0x24]
|
|
mov r0, #0
|
|
ldrsh r6, [r3, r6]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x5c]
|
|
ldr r3, [sp, #0x20]
|
|
str r0, [sp, #4]
|
|
add r3, r6, r3
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
ldr r0, [sp, #0x58]
|
|
ldr r1, [r1]
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl ov90_02258EB4
|
|
ldr r1, [sp, #0x24]
|
|
str r0, [r5, #0x10]
|
|
bl sub_020248F0
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #0
|
|
bl sub_02024A74
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
bl sub_0202484C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x5c]
|
|
ldr r3, [sp, #0x20]
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #0x54]
|
|
add r3, #0x15
|
|
str r3, [sp, #0x20]
|
|
lsl r3, r3, #0x18
|
|
ldr r0, [sp, #0x58]
|
|
ldr r1, [r1]
|
|
mov r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl ov90_02258EB4
|
|
str r0, [r5, #0x14]
|
|
mov r1, #0
|
|
bl sub_020248F0
|
|
ldr r0, [r5, #0x14]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
strb r4, [r5, #0x1a]
|
|
ldr r0, [sp, #0x1c]
|
|
strb r7, [r5, #0x1b]
|
|
strh r0, [r5, #0x18]
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02259D38: .word ov90_0225C310
|
|
_02259D3C: .word 0x00000201
|
|
_02259D40: .word ov90_0225C314
|
|
_02259D44: .word ov90_0225C318
|
|
_02259D48: .word ov90_0225C274
|
|
_02259D4C: .word ov90_0225C276
|
|
thumb_func_end ov90_02259BCC
|
|
|
|
thumb_func_start ov90_02259D50
|
|
ov90_02259D50: ; 0x02259D50
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r2, #0
|
|
add r4, r3, #0
|
|
bl ov90_02259200
|
|
ldr r0, [sp, #0x1c]
|
|
add r1, sp, #8
|
|
cmp r0, #1
|
|
bne _02259D8A
|
|
mov r0, #0x10
|
|
ldrsh r0, [r1, r0]
|
|
lsl r3, r4, #0x18
|
|
mov r1, #0xa
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, _02259DA8 ; =0x00050600
|
|
add r2, r6, #0
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
lsr r3, r3, #0x18
|
|
bl ov90_02259350
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
_02259D8A:
|
|
mov r0, #0x10
|
|
ldrsh r0, [r1, r0]
|
|
lsl r3, r4, #0x18
|
|
mov r1, #0xa
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
lsr r3, r3, #0x18
|
|
bl ov90_022592A8
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02259DA8: .word 0x00050600
|
|
thumb_func_end ov90_02259D50
|
|
|
|
thumb_func_start ov90_02259DAC
|
|
ov90_02259DAC: ; 0x02259DAC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
add r4, r3, #0
|
|
cmp r2, #0
|
|
beq _02259DE8
|
|
cmp r4, #0
|
|
beq _02259E14
|
|
add r0, r5, #0
|
|
bl ov90_022591F4
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov90_02259210
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
add r4, sp, #8
|
|
mov r3, #0x14
|
|
ldrsh r3, [r4, r3]
|
|
add r0, r5, #0
|
|
mov r1, #0xb
|
|
lsl r3, r3, #0x18
|
|
add r2, r6, #0
|
|
lsr r3, r3, #0x18
|
|
bl ov90_022592A8
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
_02259DE8:
|
|
cmp r4, #0
|
|
beq _02259E14
|
|
add r0, r5, #0
|
|
bl ov90_022591F4
|
|
ldr r2, [sp, #0x18]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov90_02259220
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
add r4, sp, #8
|
|
mov r3, #0x14
|
|
ldrsh r3, [r4, r3]
|
|
add r0, r5, #0
|
|
mov r1, #0xc
|
|
lsl r3, r3, #0x18
|
|
add r2, r6, #0
|
|
lsr r3, r3, #0x18
|
|
bl ov90_022592A8
|
|
_02259E14:
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end ov90_02259DAC
|
|
|
|
thumb_func_start ov90_02259E18
|
|
ov90_02259E18: ; 0x02259E18
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
add r4, r1, #0
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
ldr r0, [r5, #0x14]
|
|
add r1, r4, #4
|
|
bl sub_020248F0
|
|
ldr r0, [r5, #0x14]
|
|
mov r1, #1
|
|
bl sub_0202484C
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov90_02259E18
|
|
|
|
thumb_func_start ov90_02259E38
|
|
ov90_02259E38: ; 0x02259E38
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r1, #0
|
|
add r1, r2, #0
|
|
add r6, r0, #0
|
|
ldr r2, [sp, #0x1c]
|
|
add r0, r5, #0
|
|
add r4, r3, #0
|
|
bl ov90_02259234
|
|
ldr r0, [sp, #0x1c]
|
|
add r1, sp, #8
|
|
cmp r0, #5
|
|
bne _02259E70
|
|
mov r0, #0x10
|
|
ldrsh r0, [r1, r0]
|
|
lsl r3, r4, #0x18
|
|
mov r1, #0xe
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
lsr r3, r3, #0x18
|
|
bl ov90_022592C4
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
_02259E70:
|
|
mov r0, #0x10
|
|
ldrsh r0, [r1, r0]
|
|
lsl r3, r4, #0x18
|
|
mov r1, #0xd
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r2, r6, #0
|
|
lsr r3, r3, #0x18
|
|
bl ov90_022592C4
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end ov90_02259E38
|
|
|
|
thumb_func_start ov90_02259E8C
|
|
ov90_02259E8C: ; 0x02259E8C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl sub_0201D5C8
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02259E8C
|
|
|
|
thumb_func_start ov90_02259EA0
|
|
ov90_02259EA0: ; 0x02259EA0
|
|
ldr r3, _02259EA8 ; =sub_02024830
|
|
ldr r0, [r0, #0x10]
|
|
mov r1, #1
|
|
bx r3
|
|
.balign 4, 0
|
|
_02259EA8: .word sub_02024830
|
|
thumb_func_end ov90_02259EA0
|
|
|
|
thumb_func_start ov90_02259EAC
|
|
ov90_02259EAC: ; 0x02259EAC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
beq _02259EBE
|
|
bl sub_02024758
|
|
mov r0, #0
|
|
str r0, [r4, #0x10]
|
|
_02259EBE:
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
beq _02259ECC
|
|
bl sub_02024758
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
_02259ECC:
|
|
add r0, r4, #0
|
|
bl WindowIsInUse
|
|
cmp r0, #1
|
|
bne _02259EDC
|
|
add r0, r4, #0
|
|
bl RemoveWindow
|
|
_02259EDC:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02259EAC
|
|
|
|
thumb_func_start ov90_02259EE0
|
|
ov90_02259EE0: ; 0x02259EE0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
cmp r1, #0
|
|
ble _02259EFC
|
|
lsl r0, r1, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _02259F0A
|
|
_02259EFC:
|
|
lsl r0, r1, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_02259F0A:
|
|
bl _ffix
|
|
add r2, r0, #0
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
mov r3, #7
|
|
ldr r1, _02259F3C ; =0xFFF01000
|
|
add r0, #0x1c
|
|
lsl r3, r3, #0xe
|
|
bl ov90_02258CF0
|
|
mov r0, #0
|
|
strh r0, [r5, #0x30]
|
|
ldr r0, _02259F40 ; =0x0000057E
|
|
strh r4, [r5, #0x32]
|
|
str r0, [r5, #0x34]
|
|
ldr r1, [r5, #0x1c]
|
|
add r0, r5, #0
|
|
asr r1, r1, #0xc
|
|
neg r1, r1
|
|
bl ov90_02259FC8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02259F3C: .word 0xFFF01000
|
|
_02259F40: .word 0x0000057E
|
|
thumb_func_end ov90_02259EE0
|
|
|
|
thumb_func_start ov90_02259F44
|
|
ov90_02259F44: ; 0x02259F44
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
add r4, r1, #0
|
|
add r0, r5, #0
|
|
ldr r1, [r5, #0x1c]
|
|
ldr r2, _02259F74 ; =0xFFF01000
|
|
add r0, #0x1c
|
|
mov r3, #0
|
|
bl ov90_02258CF0
|
|
mov r0, #0
|
|
strh r0, [r5, #0x30]
|
|
ldr r0, _02259F78 ; =0x0000057F
|
|
strh r4, [r5, #0x32]
|
|
str r0, [r5, #0x34]
|
|
ldr r1, [r5, #0x1c]
|
|
add r0, r5, #0
|
|
asr r1, r1, #0xc
|
|
neg r1, r1
|
|
bl ov90_02259FC8
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02259F74: .word 0xFFF01000
|
|
_02259F78: .word 0x0000057F
|
|
thumb_func_end ov90_02259F44
|
|
|
|
thumb_func_start ov90_02259F7C
|
|
ov90_02259F7C: ; 0x02259F7C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x32
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0
|
|
bgt _02259FBE
|
|
mov r0, #0x30
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _02259F9A
|
|
ldr r0, [r5, #0x34]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl PlaySE
|
|
_02259F9A:
|
|
mov r1, #0x30
|
|
ldrsh r0, [r5, r1]
|
|
add r0, r0, #1
|
|
strh r0, [r5, #0x30]
|
|
ldrsh r1, [r5, r1]
|
|
add r0, r5, #0
|
|
add r0, #0x1c
|
|
bl ov90_02258D4C
|
|
ldr r1, [r5, #0x1c]
|
|
add r4, r0, #0
|
|
asr r1, r1, #0xc
|
|
add r0, r5, #0
|
|
neg r1, r1
|
|
bl ov90_02259FC8
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02259FBE:
|
|
sub r0, r0, #1
|
|
strh r0, [r5, #0x32]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_02259F7C
|
|
|
|
thumb_func_start ov90_02259FC8
|
|
ov90_02259FC8: ; 0x02259FC8
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldrh r0, [r5, #0x18]
|
|
add r4, r1, #0
|
|
ldrb r2, [r5, #0x1b]
|
|
sub r1, r0, #1
|
|
mov r0, #0xc
|
|
add r3, r1, #0
|
|
mul r3, r0
|
|
ldr r0, _0225A040 ; =ov90_0225C324
|
|
ldr r6, _0225A044 ; =ov90_0225C31C
|
|
add r0, r0, r3
|
|
ldrb r0, [r2, r0]
|
|
add r3, r6, r3
|
|
ldrb r2, [r2, r3]
|
|
lsl r1, r0, #2
|
|
ldr r0, _0225A048 ; =ov90_0225C276
|
|
lsl r2, r2, #3
|
|
ldrsh r0, [r0, r1]
|
|
add r0, r0, r2
|
|
ldr r2, _0225A04C ; =ov90_0225C274
|
|
lsl r0, r0, #0x18
|
|
ldrsh r1, [r2, r1]
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0xc
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r1, r1, r4
|
|
lsl r1, r1, #0xc
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
add r1, sp, #0
|
|
bl sub_020247D4
|
|
ldrh r0, [r5, #0x18]
|
|
add r4, #0x18
|
|
sub r1, r0, #1
|
|
add r2, r1, #0
|
|
mov r0, #0xc
|
|
mul r2, r0
|
|
add r0, r6, #0
|
|
ldrb r1, [r5, #0x1b]
|
|
add r0, r0, r2
|
|
ldrb r0, [r1, r0]
|
|
lsl r0, r0, #3
|
|
add r0, #0x15
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
lsl r0, r4, #0xc
|
|
str r0, [sp]
|
|
lsl r0, r1, #0xc
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x14]
|
|
add r1, sp, #0
|
|
bl sub_020247D4
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0225A040: .word ov90_0225C324
|
|
_0225A044: .word ov90_0225C31C
|
|
_0225A048: .word ov90_0225C276
|
|
_0225A04C: .word ov90_0225C274
|
|
thumb_func_end ov90_02259FC8
|
|
|
|
thumb_func_start ov90_0225A050
|
|
ov90_0225A050: ; 0x0225A050
|
|
push {r4, r5, r6, r7}
|
|
add r5, r0, #0
|
|
ldr r4, _0225A080 ; =0x00000000
|
|
beq _0225A076
|
|
ldr r7, _0225A084 ; =ov90_0225C284
|
|
lsl r6, r5, #2
|
|
add r7, r7, r6
|
|
_0225A05E:
|
|
sub r6, r7, #4
|
|
ldrb r6, [r6]
|
|
cmp r1, r6
|
|
bne _0225A068
|
|
add r3, r4, #0
|
|
_0225A068:
|
|
cmp r2, r6
|
|
bne _0225A06E
|
|
add r0, r4, #0
|
|
_0225A06E:
|
|
add r4, r4, #1
|
|
add r7, r7, #1
|
|
cmp r4, r5
|
|
blo _0225A05E
|
|
_0225A076:
|
|
sub r0, r3, r0
|
|
bpl _0225A07C
|
|
add r0, r0, r5
|
|
_0225A07C:
|
|
pop {r4, r5, r6, r7}
|
|
bx lr
|
|
.balign 4, 0
|
|
_0225A080: .word 0x00000000
|
|
_0225A084: .word ov90_0225C284
|
|
thumb_func_end ov90_0225A050
|
|
|
|
thumb_func_start ov90_0225A088
|
|
ov90_0225A088: ; 0x0225A088
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
add r4, r1, #0
|
|
str r2, [sp]
|
|
cmp r0, #0
|
|
beq _0225A09E
|
|
bl GF_AssertFail
|
|
_0225A09E:
|
|
mov r1, #0
|
|
str r4, [r6]
|
|
add r3, r1, #0
|
|
ldr r0, [r4]
|
|
add r2, r1, #0
|
|
sub r3, #0xff
|
|
bl sub_0201BC8C
|
|
ldr r0, [r6]
|
|
mov r2, #0
|
|
add r3, r2, #0
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
sub r3, #0xff
|
|
bl sub_0201BC8C
|
|
mov r7, #6
|
|
mov r4, #0
|
|
add r5, r6, #4
|
|
lsl r7, r7, #6
|
|
_0225A0C6:
|
|
mov r2, #6
|
|
ldr r0, _0225A100 ; =0x0000FF01
|
|
add r1, r5, #0
|
|
lsl r2, r2, #6
|
|
bl MIi_CpuClear16
|
|
add r4, r4, #1
|
|
add r5, r5, r7
|
|
cmp r4, #2
|
|
blt _0225A0C6
|
|
mov r2, #0x61
|
|
lsl r2, r2, #2
|
|
ldr r0, [sp]
|
|
add r1, r6, #4
|
|
add r2, r6, r2
|
|
bl sub_02014A08
|
|
mov r1, #0xc1
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
ldr r0, [r6, r1]
|
|
mov r1, #0
|
|
bl sub_02014A78
|
|
ldr r0, _0225A104 ; =ov90_0225A1B8
|
|
add r1, r6, #0
|
|
bl sub_0201A120
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225A100: .word 0x0000FF01
|
|
_0225A104: .word ov90_0225A1B8
|
|
thumb_func_end ov90_0225A088
|
|
|
|
thumb_func_start ov90_0225A108
|
|
ov90_0225A108: ; 0x0225A108
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0225A130
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl sub_0201A120
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_02014A38
|
|
mov r0, #0xc1
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_0225A130:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225A108
|
|
|
|
thumb_func_start ov90_0225A134
|
|
ov90_0225A134: ; 0x0225A134
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
mov r1, #0xc1
|
|
lsl r1, r1, #2
|
|
str r0, [sp]
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #0
|
|
bne _0225A148
|
|
bl GF_AssertFail
|
|
_0225A148:
|
|
mov r1, #0xc1
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bl sub_02014A4C
|
|
ldr r1, _0225A194 ; =ov90_0225C31C
|
|
add r5, r0, #0
|
|
mov r6, #0
|
|
mov r7, #0xc
|
|
_0225A15C:
|
|
ldrh r0, [r4, #0x18]
|
|
sub r3, r6, #1
|
|
add r2, r0, #0
|
|
mul r2, r7
|
|
ldrb r0, [r4, #0x1b]
|
|
add r2, r1, r2
|
|
add r0, r0, r2
|
|
sub r0, #0xc
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #3
|
|
add r2, r3, r0
|
|
bpl _0225A176
|
|
add r2, #0xc0
|
|
_0225A176:
|
|
ldr r0, [r4, #0x1c]
|
|
lsl r2, r2, #1
|
|
asr r0, r0, #0xc
|
|
add r6, r6, #1
|
|
strh r0, [r5, r2]
|
|
cmp r6, #0x30
|
|
blt _0225A15C
|
|
mov r1, #0xc1
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
mov r1, #1
|
|
bl sub_02014A78
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225A194: .word ov90_0225C31C
|
|
thumb_func_end ov90_0225A134
|
|
|
|
thumb_func_start ov90_0225A198
|
|
ov90_0225A198: ; 0x0225A198
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0225A1B6
|
|
bl sub_02014A8C
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02014A78
|
|
_0225A1B6:
|
|
pop {r4, pc}
|
|
thumb_func_end ov90_0225A198
|
|
|
|
thumb_func_start ov90_0225A1B8
|
|
ov90_0225A1B8: ; 0x0225A1B8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225A1FC ; =0x04000006
|
|
ldrh r4, [r0]
|
|
cmp r4, #0xc0
|
|
bge _0225A1F8
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl sub_02014A60
|
|
add r6, r0, #0
|
|
ldr r0, _0225A200 ; =0x04000004
|
|
ldrh r1, [r0]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _0225A1F8
|
|
lsl r4, r4, #1
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
ldrsh r3, [r6, r4]
|
|
ldr r0, [r0]
|
|
add r2, r1, #0
|
|
bl sub_0201BC8C
|
|
ldr r0, [r5]
|
|
ldrsh r3, [r6, r4]
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl sub_0201BC8C
|
|
_0225A1F8:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0225A1FC: .word 0x04000006
|
|
_0225A200: .word 0x04000004
|
|
thumb_func_end ov90_0225A1B8
|
|
|
|
thumb_func_start ov90_0225A204
|
|
ov90_0225A204: ; 0x0225A204
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
str r0, [sp]
|
|
ldrb r0, [r5, #8]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _0225A252
|
|
ldr r6, [sp]
|
|
_0225A216:
|
|
add r1, r5, r4
|
|
ldrb r1, [r1, #4]
|
|
add r0, r5, #0
|
|
bl ov90_022588CC
|
|
str r0, [r6, #8]
|
|
cmp r0, #0
|
|
bne _0225A22A
|
|
bl GF_AssertFail
|
|
_0225A22A:
|
|
add r0, r5, r4
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
add r7, r0, r4
|
|
ldr r0, [sp, #4]
|
|
ldrb r0, [r0, #4]
|
|
bl sub_020348A8
|
|
ldr r1, [sp]
|
|
strb r0, [r1, r4]
|
|
ldr r0, [sp, #4]
|
|
ldrb r0, [r0, #4]
|
|
bl sub_020348CC
|
|
strb r0, [r7, #4]
|
|
ldrb r0, [r5, #8]
|
|
add r4, r4, #1
|
|
add r6, r6, #4
|
|
cmp r4, r0
|
|
blt _0225A216
|
|
_0225A252:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225A204
|
|
|
|
thumb_func_start ov90_0225A258
|
|
ov90_0225A258: ; 0x0225A258
|
|
push {r3, r4, r5, r6}
|
|
ldrb r4, [r0, #8]
|
|
mov r3, #0
|
|
add r2, r3, #0
|
|
sub r4, r4, #1
|
|
cmp r4, #0
|
|
ble _0225A286
|
|
mov r5, #1
|
|
_0225A268:
|
|
add r4, r1, r2
|
|
ldrb r6, [r4, #1]
|
|
ldrb r4, [r1, r2]
|
|
cmp r4, r6
|
|
bne _0225A27A
|
|
cmp r4, #0
|
|
beq _0225A27A
|
|
cmp r6, #0
|
|
bne _0225A27C
|
|
_0225A27A:
|
|
add r3, r5, #0
|
|
_0225A27C:
|
|
ldrb r4, [r0, #8]
|
|
add r2, r2, #1
|
|
sub r4, r4, #1
|
|
cmp r2, r4
|
|
blt _0225A268
|
|
_0225A286:
|
|
add r0, r3, #0
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
thumb_func_end ov90_0225A258
|
|
|
|
thumb_func_start ov90_0225A28C
|
|
ov90_0225A28C: ; 0x0225A28C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r1, #3
|
|
bl _u32_div_f
|
|
add r4, r1, #0
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl _u32_div_f
|
|
add r1, r4, #1
|
|
cmp r1, #3
|
|
bhs _0225A2A8
|
|
add r4, r1, #0
|
|
_0225A2A8:
|
|
lsl r1, r0, #1
|
|
add r0, r0, r1
|
|
add r0, r0, r4
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov90_0225A28C
|
|
|
|
thumb_func_start ov90_0225A2B0
|
|
ov90_0225A2B0: ; 0x0225A2B0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r0, #0xb
|
|
str r0, [sp]
|
|
mov r0, #0x14
|
|
str r0, [sp, #4]
|
|
mov r0, #0xa
|
|
str r0, [sp, #8]
|
|
mov r0, #8
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _0225A33C ; =0x00000201
|
|
add r4, r1, #0
|
|
str r0, [sp, #0x10]
|
|
add r7, r2, #0
|
|
add r6, r3, #0
|
|
ldr r0, [r4]
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
mov r3, #6
|
|
bl AddWindowParameterized
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r1, [sp, #0x2c]
|
|
mov r0, #0x80
|
|
bl String_ctor
|
|
str r0, [r5, #0x14]
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
bl ov90_0225927C
|
|
ldr r1, [r5, #0x14]
|
|
add r0, r7, #0
|
|
mov r2, #0x10
|
|
bl ov90_0225928C
|
|
mov r0, #1
|
|
mov r1, #0
|
|
str r6, [r5, #0x10]
|
|
bl GX_EngineAToggleLayers
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
ldr r0, [sp, #0x2c]
|
|
str r3, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x28]
|
|
ldr r2, [r4]
|
|
mov r1, #7
|
|
bl sub_02007B44
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
ldr r0, [sp, #0x2c]
|
|
str r3, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x28]
|
|
ldr r2, [r4]
|
|
mov r1, #0xa
|
|
bl sub_02007B68
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225A33C: .word 0x00000201
|
|
thumb_func_end ov90_0225A2B0
|
|
|
|
thumb_func_start ov90_0225A340
|
|
ov90_0225A340: ; 0x0225A340
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl RemoveWindow
|
|
ldr r0, [r4, #0x14]
|
|
bl String_dtor
|
|
pop {r4, pc}
|
|
thumb_func_end ov90_0225A340
|
|
|
|
thumb_func_start ov90_0225A350
|
|
ov90_0225A350: ; 0x0225A350
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
strh r0, [r5, #0x2c]
|
|
strh r0, [r5, #0x2e]
|
|
ldr r0, [r5, #0x10]
|
|
add r4, r1, #0
|
|
add r7, r2, #0
|
|
lsl r6, r0, #2
|
|
ldr r1, _0225A3D0 ; =ov90_0225C258
|
|
ldr r2, _0225A3D4 ; =ov90_0225C228
|
|
ldr r3, _0225A3D8 ; =ov90_0225C21C
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
ldr r1, [r1, r6]
|
|
ldr r2, [r2, r6]
|
|
ldr r3, [r3, r6]
|
|
add r0, #0x18
|
|
bl ov90_02258CF0
|
|
ldr r2, [r5, #0x18]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
asr r2, r2, #0xc
|
|
bl ov90_0225A5BC
|
|
mov r0, #2
|
|
add r1, r7, #0
|
|
bl sub_02002CEC
|
|
ldr r1, [r5, #0x14]
|
|
mov r0, #2
|
|
mov r2, #0
|
|
bl sub_02002F30
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
add r3, r0, #0
|
|
str r2, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
lsr r4, r3, #1
|
|
lsl r1, r0, #2
|
|
ldr r0, _0225A3DC ; =ov90_0225C210
|
|
mov r3, #0x50
|
|
ldr r0, [r0, r1]
|
|
mov r1, #2
|
|
str r0, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
ldr r2, [r5, #0x14]
|
|
add r0, r5, #0
|
|
sub r3, r3, r4
|
|
bl AddTextPrinterParameterized2
|
|
mov r0, #2
|
|
bl sub_02002DB4
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl GX_EngineAToggleLayers
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225A3D0: .word ov90_0225C258
|
|
_0225A3D4: .word ov90_0225C228
|
|
_0225A3D8: .word ov90_0225C21C
|
|
_0225A3DC: .word ov90_0225C210
|
|
thumb_func_end ov90_0225A350
|
|
|
|
thumb_func_start ov90_0225A3E0
|
|
ov90_0225A3E0: ; 0x0225A3E0
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
strh r0, [r5, #0x2c]
|
|
strh r0, [r5, #0x2e]
|
|
ldr r0, [r5, #0x10]
|
|
add r4, r1, #0
|
|
lsl r3, r0, #2
|
|
ldr r1, _0225A41C ; =ov90_0225C228
|
|
ldr r2, _0225A420 ; =ov90_0225C1F8
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
ldr r6, _0225A424 ; =ov90_0225C204
|
|
ldr r1, [r1, r3]
|
|
ldr r2, [r2, r3]
|
|
ldr r3, [r6, r3]
|
|
add r0, #0x18
|
|
bl ov90_02258CF0
|
|
ldr r2, [r5, #0x18]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
asr r2, r2, #0xc
|
|
bl ov90_0225A60C
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_0225A41C: .word ov90_0225C228
|
|
_0225A420: .word ov90_0225C1F8
|
|
_0225A424: .word ov90_0225C204
|
|
thumb_func_end ov90_0225A3E0
|
|
|
|
thumb_func_start ov90_0225A428
|
|
ov90_0225A428: ; 0x0225A428
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
mov r0, #0x2e
|
|
ldrsh r0, [r4, r0]
|
|
add r5, r1, #0
|
|
cmp r0, #3
|
|
bhi _0225A528
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225A444: ; jump table
|
|
.short _0225A44C - _0225A444 - 2 ; case 0
|
|
.short _0225A4A2 - _0225A444 - 2 ; case 1
|
|
.short _0225A4F2 - _0225A444 - 2 ; case 2
|
|
.short _0225A522 - _0225A444 - 2 ; case 3
|
|
_0225A44C:
|
|
mov r1, #0x2c
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl ov90_02258D4C
|
|
ldr r2, [r4, #0x18]
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
asr r2, r2, #0xc
|
|
bl ov90_0225A60C
|
|
mov r0, #0x2c
|
|
ldrsh r0, [r4, r0]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #0x2c]
|
|
cmp r6, #1
|
|
bne _0225A528
|
|
ldr r0, _0225A530 ; =0x00000581
|
|
bl PlaySE
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, _0225A534 ; =ov90_0225C228
|
|
lsl r3, r0, #2
|
|
ldr r2, _0225A538 ; =ov90_0225C234
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
ldr r5, _0225A53C ; =ov90_0225C240
|
|
ldr r1, [r1, r3]
|
|
ldr r2, [r2, r3]
|
|
ldr r3, [r5, r3]
|
|
add r0, #0x18
|
|
bl ov90_02258CF0
|
|
mov r0, #0x2e
|
|
ldrsh r0, [r4, r0]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #0x2e]
|
|
mov r0, #0
|
|
strh r0, [r4, #0x2c]
|
|
b _0225A528
|
|
_0225A4A2:
|
|
mov r1, #0x2c
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl ov90_02258D4C
|
|
ldr r2, [r4, #0x18]
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
asr r2, r2, #0xc
|
|
bl ov90_0225A60C
|
|
mov r0, #0x2c
|
|
ldrsh r0, [r4, r0]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #0x2c]
|
|
cmp r6, #1
|
|
bne _0225A528
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, _0225A538 ; =ov90_0225C234
|
|
lsl r3, r0, #2
|
|
ldr r2, _0225A534 ; =ov90_0225C228
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
ldr r5, _0225A540 ; =ov90_0225C24C
|
|
ldr r1, [r1, r3]
|
|
ldr r2, [r2, r3]
|
|
ldr r3, [r5, r3]
|
|
add r0, #0x18
|
|
bl ov90_02258CF0
|
|
mov r0, #0x2e
|
|
ldrsh r0, [r4, r0]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #0x2e]
|
|
mov r0, #0
|
|
strh r0, [r4, #0x2c]
|
|
b _0225A528
|
|
_0225A4F2:
|
|
mov r1, #0x2c
|
|
ldrsh r1, [r4, r1]
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl ov90_02258D4C
|
|
ldr r2, [r4, #0x18]
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
asr r2, r2, #0xc
|
|
bl ov90_0225A60C
|
|
mov r0, #0x2c
|
|
ldrsh r0, [r4, r0]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #0x2c]
|
|
cmp r6, #1
|
|
bne _0225A528
|
|
mov r0, #0x2e
|
|
ldrsh r0, [r4, r0]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #0x2e]
|
|
b _0225A528
|
|
_0225A522:
|
|
add sp, #4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_0225A528:
|
|
mov r0, #0
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_0225A530: .word 0x00000581
|
|
_0225A534: .word ov90_0225C228
|
|
_0225A538: .word ov90_0225C234
|
|
_0225A53C: .word ov90_0225C240
|
|
_0225A540: .word ov90_0225C24C
|
|
thumb_func_end ov90_0225A428
|
|
|
|
thumb_func_start ov90_0225A544
|
|
ov90_0225A544: ; 0x0225A544
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
mov r1, #0x2e
|
|
ldrsh r1, [r5, r1]
|
|
cmp r1, #0
|
|
beq _0225A558
|
|
cmp r1, #1
|
|
beq _0225A586
|
|
b _0225A5B8
|
|
_0225A558:
|
|
mov r1, #0x2c
|
|
ldrsh r1, [r5, r1]
|
|
add r0, #0x18
|
|
bl ov90_02258D4C
|
|
ldr r2, [r5, #0x18]
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
asr r2, r2, #0xc
|
|
bl ov90_0225A60C
|
|
mov r0, #0x2c
|
|
ldrsh r0, [r5, r0]
|
|
add r0, r0, #1
|
|
strh r0, [r5, #0x2c]
|
|
cmp r6, #1
|
|
bne _0225A5B8
|
|
mov r0, #0x2e
|
|
ldrsh r0, [r5, r0]
|
|
add r0, r0, #1
|
|
strh r0, [r5, #0x2e]
|
|
b _0225A5B8
|
|
_0225A586:
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl GX_EngineAToggleLayers
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl ov90_0225A5BC
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0225A5B8:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov90_0225A544
|
|
|
|
thumb_func_start ov90_0225A5BC
|
|
ov90_0225A5BC: ; 0x0225A5BC
|
|
push {r3, r4, r5, lr}
|
|
ldr r0, [r0, #0x10]
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
cmp r0, #0
|
|
beq _0225A5D2
|
|
cmp r0, #1
|
|
beq _0225A5D2
|
|
cmp r0, #2
|
|
beq _0225A5EC
|
|
b _0225A606
|
|
_0225A5D2:
|
|
mov r1, #0
|
|
ldr r0, [r5]
|
|
add r2, r1, #0
|
|
add r3, r4, #0
|
|
bl sub_0201BC8C
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl sub_0201BC8C
|
|
pop {r3, r4, r5, pc}
|
|
_0225A5EC:
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
mov r2, #3
|
|
add r3, r4, #0
|
|
bl sub_0201BC8C
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
mov r2, #3
|
|
add r3, r4, #0
|
|
bl sub_0201BC8C
|
|
pop {r3, r4, r5, pc}
|
|
_0225A606:
|
|
bl GF_AssertFail
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov90_0225A5BC
|
|
|
|
thumb_func_start ov90_0225A60C
|
|
ov90_0225A60C: ; 0x0225A60C
|
|
push {r3, r4, r5, lr}
|
|
ldr r0, [r0, #0x10]
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
cmp r0, #0
|
|
beq _0225A622
|
|
cmp r0, #1
|
|
beq _0225A622
|
|
cmp r0, #2
|
|
beq _0225A63C
|
|
b _0225A656
|
|
_0225A622:
|
|
mov r1, #0
|
|
ldr r0, [r5]
|
|
add r2, r1, #0
|
|
add r3, r4, #0
|
|
bl sub_0201F238
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl sub_0201F238
|
|
pop {r3, r4, r5, pc}
|
|
_0225A63C:
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
mov r2, #3
|
|
add r3, r4, #0
|
|
bl sub_0201F238
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
mov r2, #3
|
|
add r3, r4, #0
|
|
bl sub_0201F238
|
|
pop {r3, r4, r5, pc}
|
|
_0225A656:
|
|
bl GF_AssertFail
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov90_0225A60C
|
|
|
|
thumb_func_start ov90_0225A65C
|
|
ov90_0225A65C: ; 0x0225A65C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r6, r0, #0
|
|
add r5, r2, #0
|
|
cmp r1, #0
|
|
beq _0225A672
|
|
cmp r1, #1
|
|
beq _0225A676
|
|
cmp r1, #2
|
|
beq _0225A67A
|
|
b _0225A67E
|
|
_0225A672:
|
|
mov r0, #1
|
|
b _0225A680
|
|
_0225A676:
|
|
mov r0, #2
|
|
b _0225A680
|
|
_0225A67A:
|
|
mov r0, #0
|
|
b _0225A680
|
|
_0225A67E:
|
|
mov r0, #1
|
|
_0225A680:
|
|
lsl r4, r0, #5
|
|
mov r0, #0xa0
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
str r5, [sp, #8]
|
|
bl sub_02007BA4
|
|
mov r0, #0xa0
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r2, #4
|
|
add r3, r4, #0
|
|
str r5, [sp, #8]
|
|
bl sub_02007BA4
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225A65C
|
|
|
|
thumb_func_start ov90_0225A6B4
|
|
ov90_0225A6B4: ; 0x0225A6B4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r7, r1, #0
|
|
add r5, r3, #0
|
|
add r6, r0, #0
|
|
ldr r1, _0225A820 ; =0x00000664
|
|
add r0, r5, #0
|
|
str r2, [sp, #4]
|
|
bl AllocFromHeap
|
|
ldr r2, _0225A820 ; =0x00000664
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
add r2, r4, #0
|
|
add r2, #0x1c
|
|
mov r1, #0x18
|
|
_0225A6D8:
|
|
ldrb r0, [r7]
|
|
add r7, r7, #1
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _0225A6D8
|
|
add r2, r4, #0
|
|
add r2, #0xc
|
|
mov r1, #0x10
|
|
_0225A6EA:
|
|
ldrb r0, [r6]
|
|
add r6, r6, #1
|
|
strb r0, [r2]
|
|
add r2, r2, #1
|
|
sub r1, r1, #1
|
|
bne _0225A6EA
|
|
ldr r0, [sp, #4]
|
|
strb r0, [r4, #7]
|
|
add r0, r4, #0
|
|
bl ov90_0225C15C
|
|
ldr r3, _0225A824 ; =0x04000050
|
|
mov r1, #0
|
|
strh r1, [r3]
|
|
ldr r0, _0225A828 ; =0x04001050
|
|
sub r3, #0x50
|
|
strh r1, [r0]
|
|
ldr r2, [r3]
|
|
ldr r1, _0225A82C ; =0xFFFF1FFF
|
|
sub r0, #0x50
|
|
and r2, r1
|
|
str r2, [r3]
|
|
ldr r2, [r0]
|
|
and r1, r2
|
|
str r1, [r0]
|
|
ldr r0, _0225A830 ; =ov90_0225C2F4
|
|
bl GX_SetBanks
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #0x34
|
|
add r1, #0xc
|
|
strh r5, [r4, #2]
|
|
bl ov90_0225A204
|
|
mov r0, #0x10
|
|
add r1, r5, #0
|
|
bl sub_0202055C
|
|
add r0, r4, #0
|
|
ldr r1, _0225A834 ; =ov90_0225C264
|
|
ldr r2, _0225A838 ; =ov90_0225C43C
|
|
add r0, #0x4c
|
|
mov r3, #6
|
|
str r5, [sp]
|
|
bl ov90_02258FF0
|
|
add r0, r4, #0
|
|
mov r2, #2
|
|
add r0, #0xa0
|
|
mov r1, #0x20
|
|
add r3, r2, #0
|
|
str r5, [sp]
|
|
bl ov90_022590CC
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #2
|
|
add r2, r5, #0
|
|
bl ov90_02258DD0
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
add r1, r5, #0
|
|
bl ov90_02259184
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov90_0225A850
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, #0x15]
|
|
add r0, #0xc
|
|
bl ov90_0225888C
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
bl ov90_022588A4
|
|
str r5, [sp]
|
|
add r3, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
ldr r2, [r4, #0xc]
|
|
add r0, #0x68
|
|
add r1, #0x4c
|
|
bl ov90_0225938C
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
ldrb r2, [r4, #0x16]
|
|
add r0, r4, r0
|
|
add r1, #0x4c
|
|
add r3, r5, #0
|
|
bl ov90_0225B340
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #0xc
|
|
add r1, #0x34
|
|
bl ov90_0225A258
|
|
strb r0, [r4, #5]
|
|
ldrb r0, [r4, #7]
|
|
cmp r0, #0
|
|
beq _0225A7CE
|
|
cmp r0, #1
|
|
beq _0225A7CE
|
|
cmp r0, #2
|
|
beq _0225A7DE
|
|
b _0225A7EE
|
|
_0225A7CE:
|
|
ldr r0, _0225A83C ; =ov90_0225A980
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E320
|
|
ldr r1, _0225A840 ; =0x00000644
|
|
str r0, [r4, r1]
|
|
b _0225A800
|
|
_0225A7DE:
|
|
ldr r0, _0225A844 ; =ov90_0225AE4C
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E320
|
|
ldr r1, _0225A840 ; =0x00000644
|
|
str r0, [r4, r1]
|
|
b _0225A800
|
|
_0225A7EE:
|
|
bl GF_AssertFail
|
|
ldr r0, _0225A83C ; =ov90_0225A980
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E320
|
|
ldr r1, _0225A840 ; =0x00000644
|
|
str r0, [r4, r1]
|
|
_0225A800:
|
|
ldr r0, _0225A848 ; =ov90_0225B230
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E374
|
|
ldr r1, _0225A84C ; =0x00000648
|
|
str r0, [r4, r1]
|
|
ldrb r0, [r4, #0x16]
|
|
cmp r0, #0
|
|
beq _0225A81A
|
|
add r0, r5, #0
|
|
bl ov00_021E69A8
|
|
_0225A81A:
|
|
add r0, r4, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225A820: .word 0x00000664
|
|
_0225A824: .word 0x04000050
|
|
_0225A828: .word 0x04001050
|
|
_0225A82C: .word 0xFFFF1FFF
|
|
_0225A830: .word ov90_0225C2F4
|
|
_0225A834: .word ov90_0225C264
|
|
_0225A838: .word ov90_0225C43C
|
|
_0225A83C: .word ov90_0225A980
|
|
_0225A840: .word 0x00000644
|
|
_0225A844: .word ov90_0225AE4C
|
|
_0225A848: .word ov90_0225B230
|
|
_0225A84C: .word 0x00000648
|
|
thumb_func_end ov90_0225A6B4
|
|
|
|
thumb_func_start ov90_0225A850
|
|
ov90_0225A850: ; 0x0225A850
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r0, #0xc8
|
|
add r4, r1, #0
|
|
bl NARC_ctor
|
|
mov r1, #0x12
|
|
lsl r1, r1, #4
|
|
str r1, [sp]
|
|
mov r2, #0
|
|
mov r1, #4
|
|
add r3, r2, #0
|
|
add r6, r0, #0
|
|
str r4, [sp, #4]
|
|
bl sub_02007B8C
|
|
mov r0, #0x12
|
|
lsl r0, r0, #4
|
|
str r0, [sp]
|
|
mov r1, #4
|
|
add r0, r6, #0
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
str r4, [sp, #4]
|
|
bl sub_02007B8C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r5, #0x4c]
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
mov r3, #1
|
|
bl sub_02007B44
|
|
mov r1, #0
|
|
mov r0, #1
|
|
str r1, [sp]
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r5, #0x4c]
|
|
add r0, r6, #0
|
|
mov r1, #6
|
|
mov r3, #5
|
|
bl sub_02007B44
|
|
mov r3, #0x96
|
|
lsl r3, r3, #2
|
|
add r0, r6, #0
|
|
mov r1, #9
|
|
mov r2, #0
|
|
add r3, r5, r3
|
|
str r4, [sp]
|
|
bl sub_02007C2C
|
|
mov r1, #0x95
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r5, #0x4c]
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
mov r3, #3
|
|
bl sub_02007B68
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
ldr r2, [r5, #0x4c]
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
mov r3, #5
|
|
bl sub_02007B68
|
|
ldrb r1, [r5, #7]
|
|
add r0, r6, #0
|
|
add r2, r4, #0
|
|
bl ov90_0225A65C
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
mov r0, #0xd
|
|
str r0, [sp, #4]
|
|
mov r0, #0xe
|
|
str r0, [sp, #8]
|
|
ldr r0, _0225A95C ; =0x00001388
|
|
add r1, r6, #0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x73
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r2, #0xb
|
|
mov r3, #5
|
|
str r4, [sp, #0x10]
|
|
bl ov90_02258E54
|
|
mov r1, #0x79
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl ov90_0225B254
|
|
mov r3, #0x82
|
|
lsl r3, r3, #2
|
|
add r0, r5, r3
|
|
add r1, r5, #0
|
|
add r2, r5, #0
|
|
sub r3, #0x3c
|
|
str r6, [sp]
|
|
add r1, #0x4c
|
|
add r2, #0xa0
|
|
add r3, r5, r3
|
|
str r4, [sp, #4]
|
|
bl ov90_0225B59C
|
|
add r0, r6, #0
|
|
bl NARC_dtor
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_0225A95C: .word 0x00001388
|
|
thumb_func_end ov90_0225A850
|
|
|
|
thumb_func_start ov90_0225A960
|
|
ov90_0225A960: ; 0x0225A960
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov90_0225B690
|
|
mov r0, #0x95
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
add r0, r4, #0
|
|
bl ov90_0225B330
|
|
pop {r4, pc}
|
|
thumb_func_end ov90_0225A960
|
|
|
|
thumb_func_start ov90_0225A980
|
|
ov90_0225A980: ; 0x0225A980
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0
|
|
ldrb r1, [r4, #4]
|
|
cmp r1, #0x17
|
|
bhi _0225AA8A
|
|
add r0, r1, r1
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225A998: ; jump table
|
|
.short _0225A9C8 - _0225A998 - 2 ; case 0
|
|
.short _0225AA38 - _0225A998 - 2 ; case 1
|
|
.short _0225AA48 - _0225A998 - 2 ; case 2
|
|
.short _0225AA60 - _0225A998 - 2 ; case 3
|
|
.short _0225AA7A - _0225A998 - 2 ; case 4
|
|
.short _0225AAEC - _0225A998 - 2 ; case 5
|
|
.short _0225AB5E - _0225A998 - 2 ; case 6
|
|
.short _0225ABCA - _0225A998 - 2 ; case 7
|
|
.short _0225ABDC - _0225A998 - 2 ; case 8
|
|
.short _0225ABEC - _0225A998 - 2 ; case 9
|
|
.short _0225AC08 - _0225A998 - 2 ; case 10
|
|
.short _0225AC40 - _0225A998 - 2 ; case 11
|
|
.short _0225AC74 - _0225A998 - 2 ; case 12
|
|
.short _0225ACDC - _0225A998 - 2 ; case 13
|
|
.short _0225ACF6 - _0225A998 - 2 ; case 14
|
|
.short _0225AD1E - _0225A998 - 2 ; case 15
|
|
.short _0225AD42 - _0225A998 - 2 ; case 16
|
|
.short _0225AD60 - _0225A998 - 2 ; case 17
|
|
.short _0225AD80 - _0225A998 - 2 ; case 18
|
|
.short _0225AD8E - _0225A998 - 2 ; case 19
|
|
.short _0225AD9C - _0225A998 - 2 ; case 20
|
|
.short _0225ADCC - _0225A998 - 2 ; case 21
|
|
.short _0225ADDC - _0225A998 - 2 ; case 22
|
|
.short _0225ADF2 - _0225A998 - 2 ; case 23
|
|
_0225A9C8:
|
|
ldr r0, [r4, #0x18]
|
|
ldr r1, [r0]
|
|
ldr r0, _0225ACA8 ; =0x0000064C
|
|
str r1, [r4, r0]
|
|
ldrb r0, [r4, #0x17]
|
|
cmp r0, #1
|
|
bne _0225A9DC
|
|
mov r0, #0
|
|
strb r0, [r4, #9]
|
|
b _0225AA1A
|
|
_0225A9DC:
|
|
add r0, r4, #0
|
|
bl ov90_0225BA14
|
|
ldrb r2, [r4, #0x15]
|
|
add r1, r4, r2
|
|
add r1, #0x2c
|
|
ldrb r1, [r1]
|
|
cmp r1, #0
|
|
bne _0225AA0A
|
|
lsl r1, r2, #2
|
|
add r1, r4, r1
|
|
ldr r1, [r1, #0x1c]
|
|
cmp r1, r0
|
|
bls _0225AA0A
|
|
ldr r0, [r4, #0x18]
|
|
ldr r0, [r0]
|
|
bl ov90_0225A28C
|
|
ldr r1, [r4, #0x18]
|
|
str r0, [r1]
|
|
mov r0, #1
|
|
strb r0, [r4, #9]
|
|
b _0225AA0E
|
|
_0225AA0A:
|
|
mov r0, #0
|
|
strb r0, [r4, #9]
|
|
_0225AA0E:
|
|
ldrb r0, [r4, #0x15]
|
|
cmp r0, #0
|
|
bne _0225AA1A
|
|
add r0, r4, #0
|
|
bl ov90_0225BA38
|
|
_0225AA1A:
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldrh r0, [r4, #2]
|
|
ldr r3, _0225ACAC ; =0x0000FFFF
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
bl sub_0200FA24
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AA38:
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
beq _0225AA8A
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AA48:
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #0x68
|
|
add r1, #0x58
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl ov90_02259464
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AA60:
|
|
add r0, r4, #0
|
|
add r0, #0x68
|
|
mov r1, #0
|
|
bl ov90_02259538
|
|
cmp r0, #0
|
|
beq _0225AA8A
|
|
mov r0, #0x40
|
|
strh r0, [r4]
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AA7A:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225AA8A
|
|
sub r0, r0, #1
|
|
strh r0, [r4]
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225AA8C
|
|
_0225AA8A:
|
|
b _0225AE1C
|
|
_0225AA8C:
|
|
add r0, r4, #0
|
|
add r0, #0x68
|
|
mov r1, #0
|
|
mov r5, #1
|
|
bl ov90_022594FC
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
ldrh r2, [r4, #2]
|
|
add r0, r4, r0
|
|
add r1, #0x4c
|
|
bl ov90_0225A088
|
|
add r0, r4, #0
|
|
bl ov90_0225BA14
|
|
ldrb r6, [r4, #0x14]
|
|
add r2, r0, #0
|
|
mov r1, #0
|
|
cmp r6, #0
|
|
ble _0225AACC
|
|
add r3, r4, #0
|
|
add r7, r1, #0
|
|
_0225AABC:
|
|
ldr r0, [r3, #0x1c]
|
|
cmp r0, r2
|
|
bls _0225AAC4
|
|
add r5, r7, #0
|
|
_0225AAC4:
|
|
add r1, r1, #1
|
|
add r3, r3, #4
|
|
cmp r1, r6
|
|
blt _0225AABC
|
|
_0225AACC:
|
|
cmp r5, #1
|
|
bne _0225AADC
|
|
ldr r0, _0225ACB0 ; =0x00000652
|
|
mov r1, #0x10
|
|
strh r1, [r4, r0]
|
|
mov r0, #0x16
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AADC:
|
|
ldrb r0, [r4, #4]
|
|
mov r1, #4
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
mov r0, #0x65
|
|
lsl r0, r0, #4
|
|
strh r1, [r4, r0]
|
|
b _0225AE1C
|
|
_0225AAEC:
|
|
mov r7, #0x65
|
|
mov r1, #0
|
|
mov r6, #1
|
|
lsl r7, r7, #4
|
|
_0225AAF4:
|
|
ldrh r0, [r4, r7]
|
|
sub r0, r0, #1
|
|
strh r0, [r4, r7]
|
|
ldrb r3, [r4, #0x14]
|
|
mov r0, #0
|
|
cmp r3, #0
|
|
ble _0225AB1A
|
|
mov r2, #0x65
|
|
lsl r2, r2, #4
|
|
ldrh r2, [r4, r2]
|
|
_0225AB08:
|
|
add r5, r4, r0
|
|
add r5, #0x2c
|
|
ldrb r5, [r5]
|
|
cmp r2, r5
|
|
bne _0225AB14
|
|
add r1, r6, #0
|
|
_0225AB14:
|
|
add r0, r0, #1
|
|
cmp r0, r3
|
|
blt _0225AB08
|
|
_0225AB1A:
|
|
cmp r1, #0
|
|
beq _0225AAF4
|
|
mov r1, #0x65
|
|
lsl r1, r1, #4
|
|
ldrh r0, [r4, r1]
|
|
cmp r0, #3
|
|
bhi _0225AB4C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225AB34: ; jump table
|
|
.short _0225AB44 - _0225AB34 - 2 ; case 0
|
|
.short _0225AB44 - _0225AB34 - 2 ; case 1
|
|
.short _0225AB3C - _0225AB34 - 2 ; case 2
|
|
.short _0225AB3C - _0225AB34 - 2 ; case 3
|
|
_0225AB3C:
|
|
mov r2, #0x10
|
|
add r0, r1, #2
|
|
strh r2, [r4, r0]
|
|
b _0225AB50
|
|
_0225AB44:
|
|
mov r2, #0x20
|
|
add r0, r1, #2
|
|
strh r2, [r4, r0]
|
|
b _0225AB50
|
|
_0225AB4C:
|
|
bl GF_AssertFail
|
|
_0225AB50:
|
|
add r0, r4, #0
|
|
bl ov90_0225B8F0
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AB5E:
|
|
ldr r0, _0225ACB0 ; =0x00000652
|
|
ldrh r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
strh r1, [r4, r0]
|
|
add r0, r4, #0
|
|
bl ov90_0225B8F0
|
|
ldr r0, _0225ACB0 ; =0x00000652
|
|
ldrh r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0225ABFC
|
|
ldrb r0, [r4, #0x14]
|
|
mov r5, #0
|
|
cmp r0, #0
|
|
ble _0225ABB2
|
|
mov r6, #0x65
|
|
add r7, r5, #0
|
|
lsl r6, r6, #4
|
|
_0225AB82:
|
|
add r1, r4, r5
|
|
add r1, #0x2c
|
|
ldrb r2, [r1]
|
|
ldrh r1, [r4, r6]
|
|
add r0, r7, #0
|
|
cmp r1, r2
|
|
bne _0225AB94
|
|
mov r0, #1
|
|
b _0225AB9E
|
|
_0225AB94:
|
|
cmp r1, #1
|
|
bne _0225AB9E
|
|
cmp r2, #0
|
|
bne _0225AB9E
|
|
mov r0, #1
|
|
_0225AB9E:
|
|
cmp r0, #0
|
|
beq _0225ABAA
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov90_0225B7FC
|
|
_0225ABAA:
|
|
ldrb r0, [r4, #0x14]
|
|
add r5, r5, #1
|
|
cmp r5, r0
|
|
blt _0225AB82
|
|
_0225ABB2:
|
|
mov r0, #0x65
|
|
lsl r0, r0, #4
|
|
ldrh r0, [r4, r0]
|
|
cmp r0, #1
|
|
bls _0225ABC2
|
|
mov r0, #5
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225ABC2:
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225ABCA:
|
|
add r0, r4, #0
|
|
bl ov90_0225B8F0
|
|
cmp r0, #0
|
|
beq _0225ABFC
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225ABDC:
|
|
add r0, r1, #1
|
|
strb r0, [r4, #4]
|
|
add r0, r4, #0
|
|
bl ov90_0225B274
|
|
mov r0, #0x1e
|
|
strh r0, [r4]
|
|
b _0225AE1C
|
|
_0225ABEC:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225ABF6
|
|
sub r0, r0, #1
|
|
strh r0, [r4]
|
|
_0225ABF6:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225ABFE
|
|
_0225ABFC:
|
|
b _0225AE1C
|
|
_0225ABFE:
|
|
mov r0, #0xa
|
|
strb r0, [r4, #4]
|
|
mov r0, #0
|
|
strh r0, [r4]
|
|
b _0225AE1C
|
|
_0225AC08:
|
|
ldrb r1, [r4, #0x15]
|
|
add r0, r4, r1
|
|
add r0, #0x2c
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _0225AC18
|
|
mov r5, #0x11
|
|
b _0225AC1A
|
|
_0225AC18:
|
|
mov r5, #0x12
|
|
_0225AC1A:
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
add r0, r4, #0
|
|
ldr r1, [r1, #0x3c]
|
|
add r0, #0x58
|
|
bl ov90_02259200
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #0x68
|
|
add r1, #0x58
|
|
add r2, r5, #0
|
|
mov r3, #0
|
|
bl ov90_02259464
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AC40:
|
|
add r0, r4, #0
|
|
add r0, #0x68
|
|
mov r1, #0
|
|
bl ov90_02259538
|
|
cmp r0, #0
|
|
beq _0225AD06
|
|
add r0, r4, #0
|
|
bl ov90_0225B978
|
|
cmp r0, #1
|
|
bne _0225AD06
|
|
ldrb r0, [r4, #0x17]
|
|
cmp r0, #1
|
|
bne _0225AC68
|
|
mov r0, #0x66
|
|
strh r0, [r4]
|
|
mov r0, #0xe
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AC68:
|
|
mov r0, #0x66
|
|
strh r0, [r4]
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AC74:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225AC80
|
|
sub r0, r0, #1
|
|
strh r0, [r4]
|
|
b _0225AE1C
|
|
_0225AC80:
|
|
ldrb r0, [r4, #9]
|
|
cmp r0, #0
|
|
beq _0225ACB4
|
|
ldr r1, [r4, #0x18]
|
|
add r0, r4, #0
|
|
ldr r1, [r1]
|
|
add r0, #0x58
|
|
bl ov90_0225926C
|
|
ldr r0, _0225ACA8 ; =0x0000064C
|
|
ldr r1, [r4, r0]
|
|
ldr r0, [r4, #0x18]
|
|
ldr r0, [r0]
|
|
cmp r1, r0
|
|
bne _0225ACA2
|
|
mov r5, #0x13
|
|
b _0225ACB6
|
|
_0225ACA2:
|
|
mov r5, #2
|
|
b _0225ACB6
|
|
nop
|
|
_0225ACA8: .word 0x0000064C
|
|
_0225ACAC: .word 0x0000FFFF
|
|
_0225ACB0: .word 0x00000652
|
|
_0225ACB4:
|
|
mov r5, #9
|
|
_0225ACB6:
|
|
ldrb r1, [r4, #0x15]
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
ldr r1, [r1, #0x3c]
|
|
bl ov90_02259200
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #0x68
|
|
add r1, #0x58
|
|
add r2, r5, #0
|
|
mov r3, #0
|
|
bl ov90_02259464
|
|
mov r0, #0xd
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225ACDC:
|
|
add r0, r4, #0
|
|
add r0, #0x68
|
|
mov r1, #0
|
|
bl ov90_02259538
|
|
cmp r0, #0
|
|
beq _0225AD06
|
|
mov r0, #0x66
|
|
strh r0, [r4]
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225ACF6:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225AD06
|
|
sub r0, r0, #1
|
|
strh r0, [r4]
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225AD08
|
|
_0225AD06:
|
|
b _0225AE1C
|
|
_0225AD08:
|
|
add r0, r4, #0
|
|
add r0, #0x68
|
|
mov r1, #0
|
|
bl ov90_022594FC
|
|
mov r0, #0x1e
|
|
strh r0, [r4]
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AD1E:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225AD2A
|
|
sub r0, r0, #1
|
|
strh r0, [r4]
|
|
b _0225AE1C
|
|
_0225AD2A:
|
|
mov r0, #0x82
|
|
bl sub_02037AC0
|
|
ldrb r0, [r4, #0x16]
|
|
cmp r0, #0
|
|
beq _0225AD3A
|
|
bl ov00_021E6A4C
|
|
_0225AD3A:
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AD42:
|
|
mov r0, #0x82
|
|
bl sub_02037B38
|
|
cmp r0, #0
|
|
beq _0225AE1C
|
|
ldrb r0, [r4, #0x17]
|
|
cmp r0, #0
|
|
beq _0225AD58
|
|
mov r0, #0x13
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AD58:
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AD60:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r1, #0
|
|
ldrh r0, [r4, #2]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
bl sub_0200FA24
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AD80:
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
beq _0225AE1C
|
|
mov r0, #0x15
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AD8E:
|
|
add r0, r4, #0
|
|
bl ov90_0225B9A8
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225AD9C:
|
|
ldrh r0, [r4, #2]
|
|
add r1, r4, #0
|
|
add r2, r4, #0
|
|
str r0, [sp]
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldrb r3, [r4, #7]
|
|
add r0, r4, r0
|
|
add r1, #0x68
|
|
add r2, #0x58
|
|
bl ov90_0225B38C
|
|
cmp r0, #0
|
|
beq _0225AE1C
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov90_0225B538
|
|
strb r0, [r4, #8]
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225ADCC:
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov90_0225A108
|
|
mov r0, #1
|
|
strb r0, [r4, #6]
|
|
b _0225AE1C
|
|
_0225ADDC:
|
|
ldr r0, _0225AE48 ; =0x00000652
|
|
ldrh r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
strh r1, [r4, r0]
|
|
ldrh r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0225AE1C
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225AE1C
|
|
_0225ADF2:
|
|
ldrb r0, [r4, #0x14]
|
|
mov r5, #0
|
|
cmp r0, #0
|
|
ble _0225AE18
|
|
_0225ADFA:
|
|
sub r1, r0, #1
|
|
add r0, r4, r5
|
|
add r0, #0x2c
|
|
strb r1, [r0]
|
|
add r2, r4, r5
|
|
add r2, #0x2c
|
|
ldrb r2, [r2]
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov90_0225B7FC
|
|
ldrb r0, [r4, #0x14]
|
|
add r5, r5, #1
|
|
cmp r5, r0
|
|
blt _0225ADFA
|
|
_0225AE18:
|
|
mov r0, #7
|
|
strb r0, [r4, #4]
|
|
_0225AE1C:
|
|
add r0, r4, #0
|
|
bl ov90_0225B2A8
|
|
add r0, r4, #0
|
|
add r0, #0xa0
|
|
bl ov90_02259170
|
|
ldr r0, [r4, #0x4c]
|
|
mov r1, #3
|
|
mov r2, #4
|
|
mov r3, #2
|
|
bl sub_0201F238
|
|
ldr r0, [r4, #0x4c]
|
|
mov r1, #5
|
|
mov r2, #4
|
|
mov r3, #2
|
|
bl sub_0201F238
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225AE48: .word 0x00000652
|
|
thumb_func_end ov90_0225A980
|
|
|
|
thumb_func_start ov90_0225AE4C
|
|
ov90_0225AE4C: ; 0x0225AE4C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
add r4, r1, #0
|
|
ldrb r0, [r4, #4]
|
|
cmp r0, #0x14
|
|
bhi _0225AF36
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225AE64: ; jump table
|
|
.short _0225AE8E - _0225AE64 - 2 ; case 0
|
|
.short _0225AEDE - _0225AE64 - 2 ; case 1
|
|
.short _0225AEF6 - _0225AE64 - 2 ; case 2
|
|
.short _0225AF0C - _0225AE64 - 2 ; case 3
|
|
.short _0225AF26 - _0225AE64 - 2 ; case 4
|
|
.short _0225AF4A - _0225AE64 - 2 ; case 5
|
|
.short _0225B02C - _0225AE64 - 2 ; case 6
|
|
.short _0225B056 - _0225AE64 - 2 ; case 7
|
|
.short _0225B07A - _0225AE64 - 2 ; case 8
|
|
.short _0225B0A0 - _0225AE64 - 2 ; case 9
|
|
.short _0225B0DE - _0225AE64 - 2 ; case 10
|
|
.short _0225B100 - _0225AE64 - 2 ; case 11
|
|
.short _0225B126 - _0225AE64 - 2 ; case 12
|
|
.short _0225B13C - _0225AE64 - 2 ; case 13
|
|
.short _0225B152 - _0225AE64 - 2 ; case 14
|
|
.short _0225B16A - _0225AE64 - 2 ; case 15
|
|
.short _0225B188 - _0225AE64 - 2 ; case 16
|
|
.short _0225B1A8 - _0225AE64 - 2 ; case 17
|
|
.short _0225B1B6 - _0225AE64 - 2 ; case 18
|
|
.short _0225B1C8 - _0225AE64 - 2 ; case 19
|
|
.short _0225B1F6 - _0225AE64 - 2 ; case 20
|
|
_0225AE8E:
|
|
ldrb r0, [r4, #0x17]
|
|
cmp r0, #1
|
|
bne _0225AE9A
|
|
mov r0, #0
|
|
strb r0, [r4, #9]
|
|
b _0225AEC0
|
|
_0225AE9A:
|
|
ldr r0, [r4, #0x30]
|
|
cmp r0, #0xa
|
|
blo _0225AEB0
|
|
ldr r0, [r4, #0x18]
|
|
ldr r0, [r0]
|
|
bl ov90_0225A28C
|
|
ldr r1, [r4, #0x18]
|
|
str r0, [r1]
|
|
mov r0, #1
|
|
b _0225AEB2
|
|
_0225AEB0:
|
|
mov r0, #0
|
|
_0225AEB2:
|
|
strb r0, [r4, #9]
|
|
ldrb r0, [r4, #0x15]
|
|
cmp r0, #0
|
|
bne _0225AEC0
|
|
add r0, r4, #0
|
|
bl ov90_0225BAA0
|
|
_0225AEC0:
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldrh r0, [r4, #2]
|
|
ldr r3, _0225B1C4 ; =0x0000FFFF
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
bl sub_0200FA24
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225AEDE:
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
beq _0225AF36
|
|
ldrb r0, [r4, #4]
|
|
mov r1, #4
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
mov r0, #0x65
|
|
lsl r0, r0, #4
|
|
strh r1, [r4, r0]
|
|
b _0225B204
|
|
_0225AEF6:
|
|
add r0, r4, #0
|
|
add r0, #0x68
|
|
add r1, #0x58
|
|
mov r2, #1
|
|
mov r3, #0
|
|
bl ov90_02259464
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225AF0C:
|
|
add r0, r4, #0
|
|
add r0, #0x68
|
|
mov r1, #0
|
|
bl ov90_02259538
|
|
cmp r0, #0
|
|
beq _0225AF36
|
|
mov r0, #0x66
|
|
strh r0, [r4]
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225AF26:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225AF36
|
|
sub r0, r0, #1
|
|
strh r0, [r4]
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225AF38
|
|
_0225AF36:
|
|
b _0225B204
|
|
_0225AF38:
|
|
add r0, r4, #0
|
|
add r0, #0x68
|
|
mov r1, #0
|
|
bl ov90_022594FC
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225AF4A:
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
ldrh r2, [r4, #2]
|
|
add r0, r4, r0
|
|
add r1, #0x4c
|
|
bl ov90_0225A088
|
|
ldrb r1, [r4, #0x14]
|
|
mov r6, #0
|
|
cmp r1, #0
|
|
ble _0225B020
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r5, r4, r0
|
|
add r0, r4, #0
|
|
str r0, [sp, #0x1c]
|
|
add r0, #0x4c
|
|
str r0, [sp, #0x1c]
|
|
add r0, r4, #0
|
|
str r0, [sp, #0x20]
|
|
add r0, #0xa0
|
|
str r0, [sp, #0x20]
|
|
add r0, r4, #0
|
|
str r0, [sp, #0x24]
|
|
add r0, #0xc
|
|
str r0, [sp, #0x24]
|
|
add r0, r4, #0
|
|
str r0, [sp, #0x28]
|
|
add r0, #0x58
|
|
str r4, [sp, #0x18]
|
|
add r7, r6, #0
|
|
str r0, [sp, #0x28]
|
|
_0225AF8A:
|
|
ldr r0, [sp, #0x1c]
|
|
mov r3, #0x96
|
|
str r0, [sp]
|
|
str r6, [sp, #4]
|
|
ldrb r0, [r4, #0x15]
|
|
lsl r3, r3, #2
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x20]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x79
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0x10]
|
|
ldrh r0, [r4, #2]
|
|
str r0, [sp, #0x14]
|
|
ldrb r2, [r4, #7]
|
|
ldr r3, [r4, r3]
|
|
add r0, r5, #0
|
|
bl ov90_02259BCC
|
|
ldr r0, [sp, #0x24]
|
|
add r1, r6, #0
|
|
bl ov90_0225888C
|
|
add r1, r0, #0
|
|
ldr r0, [sp, #0x24]
|
|
bl ov90_022588A4
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #0x18]
|
|
ldr r1, [sp, #0x28]
|
|
ldr r2, [r2, #0x3c]
|
|
add r0, r5, #0
|
|
mov r3, #8
|
|
bl ov90_02259D50
|
|
add r0, r4, r6
|
|
add r0, #0x38
|
|
ldrb r0, [r0]
|
|
add r3, r4, r6
|
|
add r3, #0x34
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
ldrb r2, [r4, #5]
|
|
ldrb r3, [r3]
|
|
ldr r1, [sp, #0x28]
|
|
add r0, r5, #0
|
|
bl ov90_02259DAC
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r5, #0
|
|
bl ov90_02259E8C
|
|
add r0, r5, #0
|
|
bl ov90_02259EA0
|
|
mov r1, #7
|
|
lsl r2, r7, #0x10
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
asr r2, r2, #0x10
|
|
bl ov90_02259EE0
|
|
ldr r0, [sp, #0x18]
|
|
ldrb r1, [r4, #0x14]
|
|
add r0, r0, #4
|
|
add r6, r6, #1
|
|
add r5, #0x38
|
|
str r0, [sp, #0x18]
|
|
add r7, r7, #3
|
|
cmp r6, r1
|
|
blt _0225AF8A
|
|
_0225B020:
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
mov r0, #0x10
|
|
strh r0, [r4]
|
|
b _0225B204
|
|
_0225B02C:
|
|
add r0, r4, #0
|
|
bl ov90_0225B8F0
|
|
cmp r0, #1
|
|
bne _0225B0BE
|
|
ldrh r0, [r4]
|
|
sub r0, r0, #1
|
|
strh r0, [r4]
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
bne _0225B0BE
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, #0x30]
|
|
add r0, r4, r0
|
|
bl ov90_0225B6B0
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B056:
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r1, #0x4c
|
|
bl ov90_0225B6C4
|
|
cmp r0, #1
|
|
bne _0225B0BE
|
|
ldrb r0, [r4, #9]
|
|
cmp r0, #1
|
|
bne _0225B072
|
|
add r0, r4, #0
|
|
bl ov90_0225B954
|
|
_0225B072:
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B07A:
|
|
add r0, r4, #0
|
|
ldr r1, [r4, #0x30]
|
|
add r0, #0x58
|
|
bl ov90_02259250
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #0x68
|
|
add r1, #0x58
|
|
mov r2, #7
|
|
mov r3, #0
|
|
bl ov90_02259464
|
|
mov r0, #0x66
|
|
strh r0, [r4]
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B0A0:
|
|
add r0, r4, #0
|
|
add r0, #0x68
|
|
mov r1, #0
|
|
bl ov90_02259538
|
|
cmp r0, #1
|
|
bne _0225B0BE
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
bne _0225B0D8
|
|
add r0, r4, #0
|
|
bl ov90_0225B978
|
|
cmp r0, #1
|
|
beq _0225B0C0
|
|
_0225B0BE:
|
|
b _0225B204
|
|
_0225B0C0:
|
|
ldrb r0, [r4, #0x17]
|
|
cmp r0, #1
|
|
bne _0225B0D0
|
|
mov r0, #0x66
|
|
strh r0, [r4]
|
|
mov r0, #0xc
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B0D0:
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B0D8:
|
|
sub r0, r0, #1
|
|
strh r0, [r4]
|
|
b _0225B204
|
|
_0225B0DE:
|
|
ldrb r0, [r4, #9]
|
|
cmp r0, #0
|
|
beq _0225B0E8
|
|
mov r2, #8
|
|
b _0225B0EA
|
|
_0225B0E8:
|
|
mov r2, #9
|
|
_0225B0EA:
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #0x68
|
|
add r1, #0x58
|
|
mov r3, #0
|
|
bl ov90_02259464
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B100:
|
|
add r0, r4, #0
|
|
add r0, #0x68
|
|
mov r1, #0
|
|
bl ov90_02259538
|
|
cmp r0, #0
|
|
beq _0225B204
|
|
mov r0, #0x66
|
|
strh r0, [r4]
|
|
ldrb r0, [r4, #9]
|
|
cmp r0, #0
|
|
beq _0225B11E
|
|
mov r0, #0xd
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B11E:
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B126:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225B204
|
|
sub r0, r0, #1
|
|
strh r0, [r4]
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
bne _0225B204
|
|
mov r0, #0xe
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B13C:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
beq _0225B146
|
|
sub r0, r0, #1
|
|
strh r0, [r4]
|
|
_0225B146:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
bne _0225B204
|
|
mov r0, #0xe
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B152:
|
|
ldrb r0, [r4, #0x16]
|
|
cmp r0, #0
|
|
beq _0225B15C
|
|
bl ov00_021E6A4C
|
|
_0225B15C:
|
|
mov r0, #0x82
|
|
bl sub_02037AC0
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B16A:
|
|
mov r0, #0x82
|
|
bl sub_02037B38
|
|
cmp r0, #0
|
|
beq _0225B204
|
|
ldrb r0, [r4, #0x17]
|
|
cmp r0, #0
|
|
beq _0225B180
|
|
mov r0, #0x12
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B180:
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B188:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r1, #0
|
|
ldrh r0, [r4, #2]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
bl sub_0200FA24
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B1A8:
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
beq _0225B204
|
|
mov r0, #0x14
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B1B6:
|
|
add r0, r4, #0
|
|
bl ov90_0225B9A8
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
.balign 4, 0
|
|
_0225B1C4: .word 0x0000FFFF
|
|
_0225B1C8:
|
|
ldrh r0, [r4, #2]
|
|
add r2, r4, #0
|
|
add r1, #0x68
|
|
str r0, [sp]
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
ldrb r3, [r4, #7]
|
|
add r0, r4, r0
|
|
add r2, #0x58
|
|
bl ov90_0225B38C
|
|
cmp r0, #0
|
|
beq _0225B204
|
|
mov r0, #0x7a
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov90_0225B538
|
|
strb r0, [r4, #8]
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0225B204
|
|
_0225B1F6:
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov90_0225A108
|
|
mov r0, #1
|
|
strb r0, [r4, #6]
|
|
_0225B204:
|
|
add r0, r4, #0
|
|
bl ov90_0225B2A8
|
|
add r0, r4, #0
|
|
add r0, #0xa0
|
|
bl ov90_02259170
|
|
ldr r0, [r4, #0x4c]
|
|
mov r1, #3
|
|
mov r2, #4
|
|
mov r3, #2
|
|
bl sub_0201F238
|
|
ldr r0, [r4, #0x4c]
|
|
mov r1, #5
|
|
mov r2, #4
|
|
mov r3, #2
|
|
bl sub_0201F238
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225AE4C
|
|
|
|
thumb_func_start ov90_0225B230
|
|
ov90_0225B230: ; 0x0225B230
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl sub_0202061C
|
|
add r0, r4, #0
|
|
add r0, #0x4c
|
|
bl ov90_022590C0
|
|
add r0, r4, #0
|
|
add r0, #0xa0
|
|
bl ov90_0225917C
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov90_0225A198
|
|
pop {r4, pc}
|
|
thumb_func_end ov90_0225B230
|
|
|
|
thumb_func_start ov90_0225B254
|
|
ov90_0225B254: ; 0x0225B254
|
|
push {r4, lr}
|
|
add r3, r2, #0
|
|
add r4, r0, #0
|
|
ldr r2, _0225B26C ; =0x00000658
|
|
add r0, r1, #0
|
|
mov r1, #5
|
|
add r2, r4, r2
|
|
bl sub_02007C48
|
|
ldr r1, _0225B270 ; =0x00000654
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0225B26C: .word 0x00000658
|
|
_0225B270: .word 0x00000654
|
|
thumb_func_end ov90_0225B254
|
|
|
|
thumb_func_start ov90_0225B274
|
|
ov90_0225B274: ; 0x0225B274
|
|
push {r3, lr}
|
|
ldr r1, _0225B2A4 ; =0x0000065E
|
|
mov r2, #1
|
|
strh r2, [r0, r1]
|
|
ldrb r3, [r0, #0x14]
|
|
mov r2, #0
|
|
cmp r3, #0
|
|
ble _0225B2A0
|
|
_0225B284:
|
|
add r1, r0, r2
|
|
add r1, #0x2c
|
|
ldrb r1, [r1]
|
|
cmp r1, #0
|
|
bne _0225B29A
|
|
ldrb r1, [r0, #0x15]
|
|
cmp r1, r2
|
|
bne _0225B29A
|
|
bl ov90_0225B954
|
|
pop {r3, pc}
|
|
_0225B29A:
|
|
add r2, r2, #1
|
|
cmp r2, r3
|
|
blt _0225B284
|
|
_0225B2A0:
|
|
pop {r3, pc}
|
|
nop
|
|
_0225B2A4: .word 0x0000065E
|
|
thumb_func_end ov90_0225B274
|
|
|
|
thumb_func_start ov90_0225B2A8
|
|
ov90_0225B2A8: ; 0x0225B2A8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0225B320 ; =0x0000065E
|
|
ldrh r1, [r5, r0]
|
|
cmp r1, #0
|
|
beq _0225B31E
|
|
sub r0, r0, #2
|
|
ldrh r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _0225B2C0
|
|
cmp r0, #8
|
|
bne _0225B30A
|
|
_0225B2C0:
|
|
ldrb r0, [r5, #0x14]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _0225B30A
|
|
ldr r4, _0225B324 ; =ov90_0225C1EC
|
|
ldr r7, _0225B328 ; =0x0000065C
|
|
_0225B2CC:
|
|
add r0, r5, r6
|
|
add r0, #0x2c
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _0225B300
|
|
ldr r0, _0225B32C ; =0x00000658
|
|
ldrb r3, [r4]
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [r0, #0xc]
|
|
ldrh r0, [r5, r7]
|
|
lsl r1, r3, #5
|
|
cmp r0, #0
|
|
bne _0225B2EA
|
|
add r0, r3, #3
|
|
b _0225B2EC
|
|
_0225B2EA:
|
|
add r0, r3, #7
|
|
_0225B2EC:
|
|
lsl r0, r0, #5
|
|
add r2, r2, r0
|
|
mov r0, #0xf
|
|
mov r3, #0x20
|
|
bl sub_020205D8
|
|
cmp r0, #0
|
|
bne _0225B300
|
|
bl GF_AssertFail
|
|
_0225B300:
|
|
ldrb r0, [r5, #0x14]
|
|
add r6, r6, #1
|
|
add r4, r4, #1
|
|
cmp r6, r0
|
|
blt _0225B2CC
|
|
_0225B30A:
|
|
ldr r3, _0225B328 ; =0x0000065C
|
|
ldrh r0, [r5, r3]
|
|
add r0, r0, #1
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1c
|
|
sub r1, r1, r2
|
|
mov r0, #0x1c
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
strh r0, [r5, r3]
|
|
_0225B31E:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225B320: .word 0x0000065E
|
|
_0225B324: .word ov90_0225C1EC
|
|
_0225B328: .word 0x0000065C
|
|
_0225B32C: .word 0x00000658
|
|
thumb_func_end ov90_0225B2A8
|
|
|
|
thumb_func_start ov90_0225B330
|
|
ov90_0225B330: ; 0x0225B330
|
|
ldr r1, _0225B338 ; =0x00000654
|
|
ldr r3, _0225B33C ; =FreeToHeap
|
|
ldr r0, [r0, r1]
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225B338: .word 0x00000654
|
|
_0225B33C: .word FreeToHeap
|
|
thumb_func_end ov90_0225B330
|
|
|
|
thumb_func_start ov90_0225B340
|
|
ov90_0225B340: ; 0x0225B340
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
add r5, r0, #0
|
|
add r7, r3, #0
|
|
bl memset
|
|
ldr r0, [r4]
|
|
str r0, [r5, #8]
|
|
mov r0, #4
|
|
str r0, [r5, #0xc]
|
|
mov r0, #0x8b
|
|
str r0, [r5, #0x10]
|
|
mov r0, #2
|
|
str r0, [r5, #0x14]
|
|
mov r0, #0x18
|
|
strb r0, [r5, #0x18]
|
|
mov r0, #8
|
|
strb r0, [r5, #0x19]
|
|
mov r0, #0
|
|
strb r0, [r5, #0x1b]
|
|
add r0, r7, #0
|
|
bl sub_0201660C
|
|
str r0, [r5, #4]
|
|
strb r6, [r5, #1]
|
|
mov r0, #1
|
|
strb r0, [r5, #0x1d]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225B340
|
|
|
|
thumb_func_start ov90_0225B380
|
|
ov90_0225B380: ; 0x0225B380
|
|
ldr r3, _0225B388 ; =sub_02016624
|
|
ldr r0, [r0, #4]
|
|
bx r3
|
|
nop
|
|
_0225B388: .word sub_02016624
|
|
thumb_func_end ov90_0225B380
|
|
|
|
thumb_func_start ov90_0225B38C
|
|
ov90_0225B38C: ; 0x0225B38C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldrb r0, [r4]
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
cmp r0, #0xc
|
|
bhi _0225B42C
|
|
add r1, r0, r0
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_0225B3A8: ; jump table
|
|
.short _0225B3C2 - _0225B3A8 - 2 ; case 0
|
|
.short _0225B3F4 - _0225B3A8 - 2 ; case 1
|
|
.short _0225B404 - _0225B3A8 - 2 ; case 2
|
|
.short _0225B420 - _0225B3A8 - 2 ; case 3
|
|
.short _0225B436 - _0225B3A8 - 2 ; case 4
|
|
.short _0225B448 - _0225B3A8 - 2 ; case 5
|
|
.short _0225B494 - _0225B3A8 - 2 ; case 6
|
|
.short _0225B4AC - _0225B3A8 - 2 ; case 7
|
|
.short _0225B4C0 - _0225B3A8 - 2 ; case 8
|
|
.short _0225B4D8 - _0225B3A8 - 2 ; case 9
|
|
.short _0225B4EC - _0225B3A8 - 2 ; case 10
|
|
.short _0225B50C - _0225B3A8 - 2 ; case 11
|
|
.short _0225B52A - _0225B3A8 - 2 ; case 12
|
|
_0225B3C2:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
mov r2, #1
|
|
ldr r5, [sp, #0x20]
|
|
str r2, [sp, #4]
|
|
add r1, r0, #0
|
|
add r3, r0, #0
|
|
str r5, [sp, #8]
|
|
bl sub_0200FA24
|
|
ldr r1, [sp, #0x20]
|
|
mov r0, #0
|
|
bl sub_0203A948
|
|
ldrb r0, [r4, #1]
|
|
cmp r0, #0
|
|
beq _0225B3EC
|
|
add r0, r5, #0
|
|
bl ov00_021E69A8
|
|
_0225B3EC:
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _0225B530
|
|
_0225B3F4:
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
beq _0225B42C
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _0225B530
|
|
_0225B404:
|
|
add r0, r6, #0
|
|
add r1, r3, #0
|
|
bl ov90_0225927C
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #3
|
|
mov r3, #1
|
|
bl ov90_02259464
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _0225B530
|
|
_0225B420:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov90_02259538
|
|
cmp r0, #1
|
|
beq _0225B42E
|
|
_0225B42C:
|
|
b _0225B530
|
|
_0225B42E:
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _0225B530
|
|
_0225B436:
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, #8
|
|
bl sub_020166FC
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _0225B530
|
|
_0225B448:
|
|
ldr r0, [r4, #4]
|
|
bl sub_020168F4
|
|
sub r1, r0, #1
|
|
cmp r1, #1
|
|
bhi _0225B530
|
|
cmp r0, #1
|
|
bne _0225B464
|
|
mov r1, #0
|
|
mov r0, #0x16
|
|
add r2, r1, #0
|
|
bl sub_02037030
|
|
b _0225B472
|
|
_0225B464:
|
|
cmp r0, #2
|
|
bne _0225B472
|
|
mov r1, #0
|
|
mov r0, #0x17
|
|
add r2, r1, #0
|
|
bl sub_02037030
|
|
_0225B472:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #0xf
|
|
mov r3, #1
|
|
bl ov90_02259464
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov90_02259554
|
|
ldr r0, [r4, #4]
|
|
bl sub_020169CC
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _0225B530
|
|
_0225B494:
|
|
ldrb r1, [r4, #0x1e]
|
|
cmp r1, #0
|
|
beq _0225B530
|
|
ldrb r1, [r4, #0x1f]
|
|
cmp r1, #0
|
|
beq _0225B4A6
|
|
mov r0, #0xa
|
|
strb r0, [r4]
|
|
b _0225B530
|
|
_0225B4A6:
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _0225B530
|
|
_0225B4AC:
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
mov r2, #6
|
|
mov r3, #1
|
|
bl ov90_02259464
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _0225B530
|
|
_0225B4C0:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov90_02259538
|
|
cmp r0, #1
|
|
bne _0225B530
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
mov r0, #0x66
|
|
strh r0, [r4, #2]
|
|
b _0225B530
|
|
_0225B4D8:
|
|
ldrh r0, [r4, #2]
|
|
sub r0, r0, #1
|
|
strh r0, [r4, #2]
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
bne _0225B530
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _0225B530
|
|
_0225B4EC:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x20]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #4
|
|
add r3, r1, #0
|
|
bl sub_0200FA24
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _0225B530
|
|
_0225B50C:
|
|
bl sub_0200FB5C
|
|
cmp r0, #0
|
|
beq _0225B530
|
|
bl sub_0203A914
|
|
ldrb r0, [r4, #1]
|
|
cmp r0, #0
|
|
beq _0225B522
|
|
bl ov00_021E6A4C
|
|
_0225B522:
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _0225B530
|
|
_0225B52A:
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_0225B530:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225B38C
|
|
|
|
thumb_func_start ov90_0225B538
|
|
ov90_0225B538: ; 0x0225B538
|
|
ldrb r0, [r0, #0x1f]
|
|
bx lr
|
|
thumb_func_end ov90_0225B538
|
|
|
|
thumb_func_start ov90_0225B53C
|
|
ov90_0225B53C: ; 0x0225B53C
|
|
push {r4, r5, r6, lr}
|
|
add r4, r0, #0
|
|
add r0, r3, #0
|
|
mov r3, #1
|
|
lsl r3, r1
|
|
ldrb r1, [r4, #0x1c]
|
|
tst r1, r3
|
|
bne _0225B55A
|
|
cmp r2, #0
|
|
bne _0225B554
|
|
mov r1, #0
|
|
strb r1, [r4, #0x1d]
|
|
_0225B554:
|
|
ldrb r1, [r4, #0x1c]
|
|
orr r1, r3
|
|
strb r1, [r4, #0x1c]
|
|
_0225B55A:
|
|
ldrb r3, [r4, #0x1c]
|
|
mov r2, #0
|
|
add r1, r2, #0
|
|
mov r5, #1
|
|
_0225B562:
|
|
add r6, r5, #0
|
|
lsl r6, r1
|
|
tst r6, r3
|
|
beq _0225B56C
|
|
add r2, r2, #1
|
|
_0225B56C:
|
|
add r1, r1, #1
|
|
cmp r1, #4
|
|
blt _0225B562
|
|
cmp r2, r0
|
|
bne _0225B592
|
|
ldrb r0, [r4, #0x1d]
|
|
cmp r0, #0
|
|
beq _0225B588
|
|
mov r1, #0
|
|
mov r0, #0x18
|
|
add r2, r1, #0
|
|
bl sub_02037030
|
|
pop {r4, r5, r6, pc}
|
|
_0225B588:
|
|
mov r1, #0
|
|
mov r0, #0x19
|
|
add r2, r1, #0
|
|
bl sub_02037030
|
|
_0225B592:
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov90_0225B53C
|
|
|
|
thumb_func_start ov90_0225B594
|
|
ov90_0225B594: ; 0x0225B594
|
|
mov r2, #1
|
|
strb r2, [r0, #0x1e]
|
|
strb r1, [r0, #0x1f]
|
|
bx lr
|
|
thumb_func_end ov90_0225B594
|
|
|
|
thumb_func_start ov90_0225B59C
|
|
ov90_0225B59C: ; 0x0225B59C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r1, #0
|
|
ldr r1, [sp, #0x44]
|
|
str r2, [sp, #0x14]
|
|
str r1, [sp, #0x44]
|
|
mov r1, #0
|
|
mov r2, #0x4c
|
|
add r7, r0, #0
|
|
add r6, r3, #0
|
|
ldr r4, [sp, #0x40]
|
|
bl memset
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x44]
|
|
mov r3, #7
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0x18
|
|
mov r2, #0
|
|
lsl r3, r3, #6
|
|
bl sub_02007B8C
|
|
mov r0, #0x8b
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x44]
|
|
mov r1, #0x19
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5]
|
|
add r0, r4, #0
|
|
mov r3, #2
|
|
bl sub_02007B44
|
|
ldr r0, [sp, #0x44]
|
|
mov r1, #0x1a
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
add r3, r7, #4
|
|
bl sub_02007C2C
|
|
str r0, [r7]
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0x11
|
|
str r0, [sp, #4]
|
|
mov r0, #0x12
|
|
str r0, [sp, #8]
|
|
ldr r0, _0225B68C ; =0x00001389
|
|
add r1, r4, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x44]
|
|
mov r2, #0xf
|
|
str r0, [sp, #0x10]
|
|
add r0, r6, #0
|
|
mov r3, #1
|
|
bl ov90_02258E54
|
|
str r0, [r7, #0x44]
|
|
mov r0, #0x28
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0
|
|
str r0, [sp, #0x18]
|
|
str r0, [sp, #0x1c]
|
|
_0225B624:
|
|
ldr r0, [sp, #0x20]
|
|
mov r4, #0x4a
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
mov r6, #0
|
|
str r0, [sp, #0x24]
|
|
_0225B630:
|
|
ldr r0, [sp, #0x1c]
|
|
lsl r2, r4, #0x10
|
|
add r0, r6, r0
|
|
lsl r0, r0, #2
|
|
add r5, r7, r0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x44]
|
|
ldr r1, [sp, #0x14]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r7, #0x44]
|
|
ldr r1, [r1]
|
|
ldr r3, [sp, #0x24]
|
|
asr r2, r2, #0x10
|
|
bl ov90_02258EB4
|
|
str r0, [r5, #8]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [sp, #0x18]
|
|
bl sub_020248F0
|
|
ldr r0, [r5, #8]
|
|
mov r1, #0
|
|
bl sub_02024A04
|
|
add r6, r6, #1
|
|
add r4, #0x18
|
|
cmp r6, #5
|
|
blt _0225B630
|
|
ldr r0, [sp, #0x20]
|
|
add r0, #0x24
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, r0, #5
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x18]
|
|
cmp r0, #3
|
|
blt _0225B624
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225B68C: .word 0x00001389
|
|
thumb_func_end ov90_0225B59C
|
|
|
|
thumb_func_start ov90_0225B690
|
|
ov90_0225B690: ; 0x0225B690
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_0225B698:
|
|
ldr r0, [r5, #8]
|
|
bl sub_02024758
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xf
|
|
blt _0225B698
|
|
ldr r0, [r6]
|
|
bl FreeToHeap
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225B690
|
|
|
|
thumb_func_start ov90_0225B6B0
|
|
ov90_0225B6B0: ; 0x0225B6B0
|
|
add r2, r0, #0
|
|
add r2, #0x4b
|
|
strb r1, [r2]
|
|
add r1, r0, #0
|
|
mov r2, #0
|
|
add r1, #0x48
|
|
strb r2, [r1]
|
|
add r0, #0x4a
|
|
strb r2, [r0]
|
|
bx lr
|
|
thumb_func_end ov90_0225B6B0
|
|
|
|
thumb_func_start ov90_0225B6C4
|
|
ov90_0225B6C4: ; 0x0225B6C4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
add r0, #0x48
|
|
ldrb r0, [r0]
|
|
add r5, r1, #0
|
|
cmp r0, #3
|
|
bls _0225B6D6
|
|
b _0225B7F2
|
|
_0225B6D6:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225B6E2: ; jump table
|
|
.short _0225B6EA - _0225B6E2 - 2 ; case 0
|
|
.short _0225B738 - _0225B6E2 - 2 ; case 1
|
|
.short _0225B784 - _0225B6E2 - 2 ; case 2
|
|
.short _0225B7EC - _0225B6E2 - 2 ; case 3
|
|
_0225B6EA:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0x8b
|
|
bl ov90_02258DB0
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #0x14
|
|
str r0, [sp, #8]
|
|
ldr r2, [r4, #4]
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
add r2, #0xc
|
|
bl sub_0201C4C4
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x14
|
|
str r0, [sp, #4]
|
|
mov r0, #0xe
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl sub_0201CA4C
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
ldrb r0, [r0]
|
|
add r4, #0x48
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _0225B7F2
|
|
_0225B738:
|
|
add r0, r4, #0
|
|
add r0, #0x4a
|
|
ldrb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x4b
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
bne _0225B750
|
|
mov r0, #3
|
|
add r4, #0x48
|
|
strb r0, [r4]
|
|
b _0225B7F2
|
|
_0225B750:
|
|
ldr r0, _0225B7F8 ; =0x00000594
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
add r0, #0x4a
|
|
ldrb r0, [r0]
|
|
mov r1, #0xf
|
|
bl _s32_div_f
|
|
lsl r0, r1, #2
|
|
add r0, r4, r0
|
|
ldr r0, [r0, #8]
|
|
mov r1, #1
|
|
bl sub_02024830
|
|
add r0, r4, #0
|
|
mov r1, #8
|
|
add r0, #0x49
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
ldrb r0, [r0]
|
|
add r4, #0x48
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _0225B7F2
|
|
_0225B784:
|
|
add r0, r4, #0
|
|
add r0, #0x49
|
|
ldrb r0, [r0]
|
|
sub r1, r0, #1
|
|
add r0, r4, #0
|
|
add r0, #0x49
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x49
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _0225B7F2
|
|
add r0, r4, #0
|
|
add r0, #0x4a
|
|
ldrb r0, [r0]
|
|
add r1, r0, #1
|
|
add r0, r4, #0
|
|
add r0, #0x4a
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x4a
|
|
ldrb r5, [r0]
|
|
mov r1, #0xf
|
|
add r0, r5, #0
|
|
bl _s32_div_f
|
|
cmp r1, #0
|
|
bne _0225B7E4
|
|
add r0, r4, #0
|
|
add r0, #0x4b
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
beq _0225B7E4
|
|
mov r6, #0
|
|
add r5, r4, #0
|
|
add r7, r6, #0
|
|
_0225B7CC:
|
|
ldr r0, [r5, #8]
|
|
add r1, r7, #0
|
|
bl sub_02024830
|
|
ldr r0, [r5, #8]
|
|
mov r1, #2
|
|
bl sub_020248F0
|
|
add r6, r6, #1
|
|
add r5, r5, #4
|
|
cmp r6, #0xf
|
|
blt _0225B7CC
|
|
_0225B7E4:
|
|
mov r0, #1
|
|
add r4, #0x48
|
|
strb r0, [r4]
|
|
b _0225B7F2
|
|
_0225B7EC:
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0225B7F2:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225B7F8: .word 0x00000594
|
|
thumb_func_end ov90_0225B6C4
|
|
|
|
thumb_func_start ov90_0225B7FC
|
|
ov90_0225B7FC: ; 0x0225B7FC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
mov r0, #0x38
|
|
add r4, r6, #0
|
|
mul r4, r0
|
|
add r0, r5, #0
|
|
add r0, #0x4c
|
|
str r0, [sp]
|
|
str r6, [sp, #4]
|
|
ldrb r0, [r5, #0x15]
|
|
mov r3, #0x97
|
|
lsl r3, r3, #2
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xa0
|
|
str r0, [sp, #0xc]
|
|
add r0, r3, #0
|
|
sub r0, #0x78
|
|
ldr r0, [r5, r0]
|
|
add r7, r5, r3
|
|
str r0, [sp, #0x10]
|
|
ldrh r0, [r5, #2]
|
|
str r2, [sp, #0x18]
|
|
sub r3, r3, #4
|
|
str r0, [sp, #0x14]
|
|
ldrb r1, [r5, #0x14]
|
|
ldrb r2, [r5, #7]
|
|
ldr r3, [r5, r3]
|
|
add r0, r7, r4
|
|
bl ov90_02259BCC
|
|
add r0, r5, #0
|
|
add r0, #0xc
|
|
add r1, r6, #0
|
|
bl ov90_0225888C
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xc
|
|
bl ov90_022588A4
|
|
lsl r1, r6, #2
|
|
str r1, [sp, #0x1c]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r2, [sp, #0x1c]
|
|
str r0, [sp, #4]
|
|
add r2, r5, r2
|
|
add r1, r5, #0
|
|
ldr r2, [r2, #0x3c]
|
|
add r0, r7, r4
|
|
add r1, #0x58
|
|
mov r3, #8
|
|
bl ov90_02259D50
|
|
add r0, r5, r6
|
|
add r0, #0x38
|
|
ldrb r0, [r0]
|
|
add r3, r5, r6
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
add r3, #0x34
|
|
ldrb r2, [r5, #5]
|
|
ldrb r3, [r3]
|
|
add r0, r7, r4
|
|
add r1, #0x58
|
|
bl ov90_02259DAC
|
|
ldrb r0, [r5, #7]
|
|
cmp r0, #0
|
|
bne _0225B896
|
|
mov r1, #5
|
|
b _0225B898
|
|
_0225B896:
|
|
mov r1, #6
|
|
_0225B898:
|
|
ldr r3, [sp, #0x18]
|
|
mov r0, #0
|
|
add r6, r3, #1
|
|
mov r3, #4
|
|
sub r3, r3, r6
|
|
lsl r6, r3, #1
|
|
ldr r3, _0225B8EC ; =ov90_0225C1F0
|
|
ldr r2, [sp, #0x1c]
|
|
str r0, [sp]
|
|
ldrsh r6, [r3, r6]
|
|
mov r3, #0xb0
|
|
str r1, [sp, #4]
|
|
add r2, r5, r2
|
|
sub r3, r3, r6
|
|
add r1, r5, #0
|
|
lsl r3, r3, #0x10
|
|
ldr r2, [r2, #0x1c]
|
|
add r0, r7, r4
|
|
add r1, #0x58
|
|
asr r3, r3, #0x10
|
|
bl ov90_02259E38
|
|
add r5, #0x4c
|
|
add r0, r7, r4
|
|
add r1, r5, #0
|
|
bl ov90_02259E8C
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r7, r4
|
|
bl ov90_02259E18
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r7, r4
|
|
lsl r2, r1, #1
|
|
ldr r1, _0225B8EC ; =ov90_0225C1F0
|
|
ldrsh r1, [r1, r2]
|
|
mov r2, #0
|
|
bl ov90_02259EE0
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225B8EC: .word ov90_0225C1F0
|
|
thumb_func_end ov90_0225B7FC
|
|
|
|
thumb_func_start ov90_0225B8F0
|
|
ov90_0225B8F0: ; 0x0225B8F0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r7, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r7, #0x14]
|
|
cmp r0, #0
|
|
ble _0225B94E
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r6, r7, r0
|
|
add r4, r7, #0
|
|
add r5, r6, #0
|
|
_0225B90E:
|
|
mov r0, #0x9b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0225B938
|
|
add r0, r6, #0
|
|
bl ov90_02259F7C
|
|
str r0, [sp, #8]
|
|
mov r0, #0xcf
|
|
lsl r0, r0, #2
|
|
add r0, r7, r0
|
|
add r1, r5, #0
|
|
bl ov90_0225A134
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
bne _0225B93C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
b _0225B93C
|
|
_0225B938:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
_0225B93C:
|
|
ldr r0, [sp, #4]
|
|
ldrb r1, [r7, #0x14]
|
|
add r0, r0, #1
|
|
add r4, #0x38
|
|
add r6, #0x38
|
|
add r5, #0x38
|
|
str r0, [sp, #4]
|
|
cmp r0, r1
|
|
blt _0225B90E
|
|
_0225B94E:
|
|
ldr r0, [sp]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov90_0225B8F0
|
|
|
|
thumb_func_start ov90_0225B954
|
|
ov90_0225B954: ; 0x0225B954
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x66
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0225B970
|
|
ldr r0, _0225B974 ; =0x000004BF
|
|
bl sub_02006B24
|
|
mov r0, #0x66
|
|
mov r1, #1
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
_0225B970:
|
|
pop {r4, pc}
|
|
nop
|
|
_0225B974: .word 0x000004BF
|
|
thumb_func_end ov90_0225B954
|
|
|
|
thumb_func_start ov90_0225B978
|
|
ov90_0225B978: ; 0x0225B978
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x66
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _0225B996
|
|
bl sub_02006BCC
|
|
cmp r0, #0
|
|
bne _0225B996
|
|
mov r0, #0x66
|
|
mov r1, #0
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
_0225B996:
|
|
mov r0, #0x66
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
beq _0225B9A4
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_0225B9A4:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov90_0225B978
|
|
|
|
thumb_func_start ov90_0225B9A8
|
|
ov90_0225B9A8: ; 0x0225B9A8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
bl sub_0202C6F4
|
|
add r4, r0, #0
|
|
ldrb r0, [r5, #0x14]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _0225BA12
|
|
add r7, sp, #0
|
|
_0225B9BE:
|
|
add r0, r5, r6
|
|
ldrb r0, [r0, #0x10]
|
|
bl sub_0203484C
|
|
add r1, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r7, #0
|
|
bl sub_0203A084
|
|
cmp r0, #0
|
|
beq _0225B9D8
|
|
cmp r0, #1
|
|
bne _0225BA0A
|
|
_0225B9D8:
|
|
ldrb r0, [r5, #7]
|
|
cmp r0, #0
|
|
beq _0225B9E8
|
|
cmp r0, #1
|
|
beq _0225B9F4
|
|
cmp r0, #2
|
|
beq _0225BA00
|
|
b _0225BA0A
|
|
_0225B9E8:
|
|
ldr r1, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl sub_0202C554
|
|
b _0225BA0A
|
|
_0225B9F4:
|
|
ldr r1, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl sub_0202C584
|
|
b _0225BA0A
|
|
_0225BA00:
|
|
ldr r1, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl sub_0202C5B4
|
|
_0225BA0A:
|
|
ldrb r0, [r5, #0x14]
|
|
add r6, r6, #1
|
|
cmp r6, r0
|
|
blt _0225B9BE
|
|
_0225BA12:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov90_0225B9A8
|
|
|
|
thumb_func_start ov90_0225BA14
|
|
ov90_0225BA14: ; 0x0225BA14
|
|
push {r3, lr}
|
|
ldrb r1, [r0, #7]
|
|
cmp r1, #0
|
|
beq _0225BA26
|
|
cmp r1, #1
|
|
beq _0225BA2A
|
|
cmp r1, #2
|
|
beq _0225BA2E
|
|
pop {r3, pc}
|
|
_0225BA26:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_0225BA2A:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_0225BA2E:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225BA14
|
|
|
|
thumb_func_start ov90_0225BA38
|
|
ov90_0225BA38: ; 0x0225BA38
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x1c
|
|
add r1, sp, #0xc
|
|
mov r4, #0
|
|
str r4, [r1]
|
|
str r4, [r1, #4]
|
|
str r4, [r1, #8]
|
|
add r5, r0, #0
|
|
str r4, [r1, #0xc]
|
|
bl ov90_0225BA14
|
|
ldrb r2, [r5, #0x14]
|
|
add r1, r4, #0
|
|
cmp r2, #0
|
|
ble _0225BA7E
|
|
add r2, r5, #0
|
|
add r3, sp, #0xc
|
|
_0225BA5A:
|
|
add r6, r5, r1
|
|
add r6, #0x2c
|
|
ldrb r6, [r6]
|
|
cmp r6, #0
|
|
bne _0225BA74
|
|
ldr r6, [r2, #0x1c]
|
|
cmp r0, r6
|
|
beq _0225BA74
|
|
ldr r6, [r5, #0x18]
|
|
add r4, r4, #1
|
|
add r6, r6, r1
|
|
ldrb r6, [r6, #4]
|
|
stmia r3!, {r6}
|
|
_0225BA74:
|
|
ldrb r6, [r5, #0x14]
|
|
add r1, r1, #1
|
|
add r2, r2, #4
|
|
cmp r1, r6
|
|
blt _0225BA5A
|
|
_0225BA7E:
|
|
cmp r4, #0
|
|
beq _0225BA9C
|
|
ldr r0, [sp, #0x10]
|
|
add r2, r4, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x18]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #0x18]
|
|
ldrb r1, [r5, #7]
|
|
ldr r0, [r0, #0x30]
|
|
ldr r3, [sp, #0xc]
|
|
bl ov45_0222ACB8
|
|
_0225BA9C:
|
|
add sp, #0x1c
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end ov90_0225BA38
|
|
|
|
thumb_func_start ov90_0225BAA0
|
|
ov90_0225BAA0: ; 0x0225BAA0
|
|
push {lr}
|
|
sub sp, #0xc
|
|
add r1, r0, #0
|
|
ldrb r2, [r1, #0x14]
|
|
cmp r2, #0
|
|
beq _0225BACA
|
|
ldr r0, [r1, #0x30]
|
|
cmp r0, #0xa
|
|
blo _0225BACA
|
|
ldr r3, [r1, #0x18]
|
|
ldrb r0, [r3, #5]
|
|
str r0, [sp]
|
|
ldrb r0, [r3, #6]
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r3, #7]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r3, #0x30]
|
|
ldrb r1, [r1, #7]
|
|
ldrb r3, [r3, #4]
|
|
bl ov45_0222ACB8
|
|
_0225BACA:
|
|
add sp, #0xc
|
|
pop {pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225BAA0
|
|
|
|
thumb_func_start ov90_0225BAD0
|
|
ov90_0225BAD0: ; 0x0225BAD0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r0, #0
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
add r0, #0xc
|
|
mov r1, #0
|
|
mov r2, #0xc0
|
|
str r3, [sp, #0x10]
|
|
bl memset
|
|
add r0, r7, #0
|
|
add r0, #0xcc
|
|
mov r1, #0
|
|
mov r2, #0xc0
|
|
bl memset
|
|
mov r6, #0
|
|
strh r6, [r7, #8]
|
|
mov r0, #0x63
|
|
strh r6, [r7, #0xa]
|
|
lsl r0, r0, #2
|
|
ldr r4, _0225BBC4 ; =ov90_0225C2B4
|
|
str r6, [r7, r0]
|
|
add r5, r7, #0
|
|
_0225BB02:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, [sp, #0xc]
|
|
str r0, [sp, #4]
|
|
ldr r2, [r4]
|
|
ldr r3, [r4, #4]
|
|
lsl r2, r2, #4
|
|
lsl r3, r3, #4
|
|
ldr r0, [sp, #8]
|
|
asr r2, r2, #0x10
|
|
asr r3, r3, #0x10
|
|
bl ov90_02258EB4
|
|
str r0, [r5]
|
|
mov r1, #5
|
|
bl sub_020248F0
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl sub_02024A04
|
|
add r6, r6, #1
|
|
add r4, #0xc
|
|
add r5, r5, #4
|
|
cmp r6, #2
|
|
blt _0225BB02
|
|
mov r3, #1
|
|
lsl r3, r3, #0x1a
|
|
ldr r1, [r3]
|
|
mov r0, #0xe
|
|
lsl r0, r0, #0xc
|
|
and r1, r0
|
|
ldr r4, [r3]
|
|
ldr r2, _0225BBC8 ; =0xFFFF1FFF
|
|
lsr r1, r1, #0xd
|
|
and r4, r2
|
|
mov r2, #1
|
|
bic r1, r2
|
|
lsl r1, r1, #0xd
|
|
orr r1, r4
|
|
add r2, r3, #0
|
|
str r1, [r3]
|
|
add r2, #0x48
|
|
ldrh r4, [r2]
|
|
mov r1, #0x3f
|
|
bic r4, r1
|
|
mov r1, #0x1f
|
|
orr r4, r1
|
|
mov r1, #0x20
|
|
orr r4, r1
|
|
strh r4, [r2]
|
|
add r2, r3, #0
|
|
mov r4, #0
|
|
add r2, #0x40
|
|
strh r4, [r2]
|
|
add r2, r3, #0
|
|
add r2, #0x44
|
|
strh r4, [r2]
|
|
add r2, r3, #0
|
|
add r2, #0x4a
|
|
ldrb r4, [r2]
|
|
mov r2, #0x19
|
|
lsl r2, r2, #4
|
|
strb r4, [r7, r2]
|
|
ldr r3, [r3]
|
|
and r0, r3
|
|
lsr r3, r0, #0xd
|
|
mov r0, #2
|
|
and r3, r0
|
|
add r0, r2, #4
|
|
str r3, [r7, r0]
|
|
add r0, r2, #1
|
|
ldrb r3, [r7, r0]
|
|
mov r0, #0x1f
|
|
bic r3, r0
|
|
mov r0, #0xf
|
|
orr r3, r0
|
|
add r0, r2, #1
|
|
strb r3, [r7, r0]
|
|
ldrb r0, [r7, r0]
|
|
orr r1, r0
|
|
add r0, r2, #1
|
|
strb r1, [r7, r0]
|
|
ldr r0, _0225BBCC ; =ov90_0225BE08
|
|
add r1, r7, #0
|
|
bl sub_0201A120
|
|
ldr r0, [r7, #4]
|
|
mov r1, #2
|
|
bl sub_02024890
|
|
add r0, r7, #0
|
|
bl ov90_0225BD84
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225BBC4: .word ov90_0225C2B4
|
|
_0225BBC8: .word 0xFFFF1FFF
|
|
_0225BBCC: .word ov90_0225BE08
|
|
thumb_func_end ov90_0225BAD0
|
|
|
|
thumb_func_start ov90_0225BBD0
|
|
ov90_0225BBD0: ; 0x0225BBD0
|
|
push {r4, lr}
|
|
mov r1, #8
|
|
ldrsh r2, [r0, r1]
|
|
mov r4, #0
|
|
add r2, r2, #1
|
|
strh r2, [r0, #8]
|
|
ldrsh r2, [r0, r1]
|
|
cmp r2, #8
|
|
blt _0225BBE6
|
|
strh r1, [r0, #8]
|
|
mov r4, #1
|
|
_0225BBE6:
|
|
mov r1, #1
|
|
bl ov90_0225BC28
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov90_0225BBD0
|
|
|
|
thumb_func_start ov90_0225BBF0
|
|
ov90_0225BBF0: ; 0x0225BBF0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #8
|
|
ldrsh r2, [r5, r0]
|
|
mov r1, #0
|
|
add r4, r1, #0
|
|
sub r2, r2, #1
|
|
strh r2, [r5, #8]
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0
|
|
bgt _0225BC18
|
|
mov r4, #1
|
|
strh r4, [r5, #8]
|
|
ldr r0, [r5]
|
|
bl sub_02024830
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0
|
|
bl sub_02024830
|
|
_0225BC18:
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
bl ov90_0225BC28
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225BBF0
|
|
|
|
thumb_func_start ov90_0225BC28
|
|
ov90_0225BC28: ; 0x0225BC28
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp]
|
|
ldr r2, [sp]
|
|
mov r0, #8
|
|
ldrsh r2, [r2, r0]
|
|
mov r3, #0x17
|
|
add r4, r2, #0
|
|
mul r4, r3
|
|
asr r2, r4, #2
|
|
lsr r2, r2, #0x1d
|
|
add r2, r4, r2
|
|
asr r4, r2, #3
|
|
ldr r2, [sp]
|
|
strh r4, [r2, #0xa]
|
|
ldrsh r0, [r2, r0]
|
|
add r0, r0, r1
|
|
cmp r0, #8
|
|
bgt _0225BC62
|
|
cmp r0, #0
|
|
blt _0225BC62
|
|
add r1, r0, #0
|
|
mul r1, r3
|
|
asr r0, r1, #2
|
|
lsr r0, r0, #0x1d
|
|
add r0, r1, r0
|
|
asr r0, r0, #3
|
|
str r0, [sp, #4]
|
|
b _0225BC6A
|
|
_0225BC62:
|
|
ldr r0, [sp]
|
|
mov r1, #0xa
|
|
ldrsh r0, [r0, r1]
|
|
str r0, [sp, #4]
|
|
_0225BC6A:
|
|
ldr r0, [sp, #4]
|
|
ldr r7, _0225BD04 ; =ov90_0225C2B4
|
|
ldr r4, [sp]
|
|
mov r6, #0
|
|
lsl r5, r0, #0xc
|
|
_0225BC74:
|
|
add r3, r7, #0
|
|
ldmia r3!, {r0, r1}
|
|
add r2, sp, #8
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
cmp r6, #0
|
|
str r0, [r2]
|
|
bne _0225BCB6
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0
|
|
ble _0225BC9C
|
|
add r0, r5, #0
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0225BCAA
|
|
_0225BC9C:
|
|
add r0, r5, #0
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0225BCAA:
|
|
bl _ffix
|
|
ldr r1, [sp, #0xc]
|
|
sub r0, r1, r0
|
|
str r0, [sp, #0xc]
|
|
b _0225BCE6
|
|
_0225BCB6:
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0
|
|
ble _0225BCCE
|
|
add r0, r5, #0
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0225BCDC
|
|
_0225BCCE:
|
|
add r0, r5, #0
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0225BCDC:
|
|
bl _ffix
|
|
ldr r1, [sp, #0xc]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0xc]
|
|
_0225BCE6:
|
|
ldr r0, [r4]
|
|
add r1, sp, #8
|
|
bl sub_020247D4
|
|
add r6, r6, #1
|
|
add r7, #0xc
|
|
add r4, r4, #4
|
|
cmp r6, #2
|
|
blt _0225BC74
|
|
ldr r0, [sp]
|
|
bl ov90_0225BD84
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225BD04: .word ov90_0225C2B4
|
|
thumb_func_end ov90_0225BC28
|
|
|
|
thumb_func_start ov90_0225BD08
|
|
ov90_0225BD08: ; 0x0225BD08
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r0, #0x63
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
beq _0225BD22
|
|
bl sub_0200E390
|
|
mov r0, #0x63
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r6, r0]
|
|
_0225BD22:
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
add r7, r4, #0
|
|
_0225BD28:
|
|
ldr r0, [r5]
|
|
cmp r0, #0
|
|
beq _0225BD34
|
|
bl sub_02024758
|
|
str r7, [r5]
|
|
_0225BD34:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _0225BD28
|
|
bl sub_0201A108
|
|
mov r2, #1
|
|
lsl r2, r2, #0x1a
|
|
ldr r1, [r2]
|
|
ldr r0, _0225BD7C ; =0xFFFF1FFF
|
|
add r3, r1, #0
|
|
and r3, r0
|
|
mov r0, #0x65
|
|
lsl r0, r0, #2
|
|
ldr r1, [r6, r0]
|
|
sub r0, r0, #4
|
|
lsl r1, r1, #0xd
|
|
orr r1, r3
|
|
str r1, [r2]
|
|
add r2, #0x4a
|
|
ldrh r2, [r2]
|
|
mov r1, #0x3f
|
|
ldrb r0, [r6, r0]
|
|
bic r2, r1
|
|
lsl r1, r0, #0x1b
|
|
lsr r1, r1, #0x1b
|
|
lsl r0, r0, #0x1a
|
|
orr r1, r2
|
|
lsr r0, r0, #0x1f
|
|
beq _0225BD74
|
|
mov r0, #0x20
|
|
orr r1, r0
|
|
_0225BD74:
|
|
ldr r0, _0225BD80 ; =0x0400004A
|
|
strh r1, [r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0225BD7C: .word 0xFFFF1FFF
|
|
_0225BD80: .word 0x0400004A
|
|
thumb_func_end ov90_0225BD08
|
|
|
|
thumb_func_start ov90_0225BD84
|
|
ov90_0225BD84: ; 0x0225BD84
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xcc
|
|
mov r1, #0
|
|
mov r2, #0xc0
|
|
bl memset
|
|
mov r0, #0xa
|
|
ldrsh r2, [r4, r0]
|
|
mov r0, #0x17
|
|
mov r1, #0
|
|
sub r0, r0, r2
|
|
cmp r0, #0
|
|
ble _0225BDC0
|
|
ldr r7, _0225BDDC ; =0x00000115
|
|
mov r0, #1
|
|
mov r2, #0x79
|
|
mov r5, #0xa
|
|
mov r6, #0x17
|
|
_0225BDAA:
|
|
add r3, r4, r1
|
|
strb r0, [r3, r7]
|
|
sub r3, r2, r1
|
|
add r3, r4, r3
|
|
add r3, #0xcc
|
|
strb r0, [r3]
|
|
ldrsh r3, [r4, r5]
|
|
add r1, r1, #1
|
|
sub r3, r6, r3
|
|
cmp r1, r3
|
|
blt _0225BDAA
|
|
_0225BDC0:
|
|
mov r0, #0x63
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0225BDDA
|
|
ldr r0, _0225BDE0 ; =ov90_0225BDE4
|
|
add r1, r4, #0
|
|
mov r2, #0
|
|
bl sub_0200E374
|
|
mov r1, #0x63
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
_0225BDDA:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0225BDDC: .word 0x00000115
|
|
_0225BDE0: .word ov90_0225BDE4
|
|
thumb_func_end ov90_0225BD84
|
|
|
|
thumb_func_start ov90_0225BDE4
|
|
ov90_0225BDE4: ; 0x0225BDE4
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
add r1, #0xcc
|
|
mov r2, #0xc0
|
|
bl memcpy
|
|
mov r0, #0x63
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200E390
|
|
mov r0, #0x63
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
thumb_func_end ov90_0225BDE4
|
|
|
|
thumb_func_start ov90_0225BE08
|
|
ov90_0225BE08: ; 0x0225BE08
|
|
push {r4, r5}
|
|
ldr r1, _0225BED0 ; =0x04000006
|
|
ldrh r2, [r1]
|
|
add r2, r2, #1
|
|
lsr r4, r2, #0x1f
|
|
lsl r3, r2, #0x18
|
|
sub r3, r3, r4
|
|
mov r2, #0x18
|
|
ror r3, r2
|
|
add r2, r4, r3
|
|
cmp r2, #0xc0
|
|
bge _0225BECA
|
|
sub r3, r1, #6
|
|
ldr r4, [r3]
|
|
mov r3, #0xe
|
|
lsl r3, r3, #0xc
|
|
and r3, r4
|
|
sub r4, r1, #2
|
|
ldrh r5, [r4]
|
|
mov r4, #2
|
|
lsr r3, r3, #0xd
|
|
tst r4, r5
|
|
beq _0225BECA
|
|
cmp r2, #0x49
|
|
blt _0225BE3E
|
|
cmp r2, #0x79
|
|
ble _0225BE6A
|
|
_0225BE3E:
|
|
ldr r1, _0225BED4 ; =0x0400004A
|
|
mov r4, #0x3f
|
|
ldrh r1, [r1]
|
|
bic r1, r4
|
|
mov r4, #0x19
|
|
lsl r4, r4, #4
|
|
ldrb r4, [r0, r4]
|
|
lsl r5, r4, #0x1b
|
|
lsr r5, r5, #0x1b
|
|
lsl r4, r4, #0x1a
|
|
orr r1, r5
|
|
lsr r4, r4, #0x1f
|
|
beq _0225BE5C
|
|
mov r4, #0x20
|
|
orr r1, r4
|
|
_0225BE5C:
|
|
ldr r4, _0225BED4 ; =0x0400004A
|
|
strh r1, [r4]
|
|
mov r1, #0x65
|
|
lsl r1, r1, #2
|
|
ldr r1, [r0, r1]
|
|
orr r3, r1
|
|
b _0225BE98
|
|
_0225BE6A:
|
|
add r1, #0x44
|
|
ldrh r1, [r1]
|
|
mov r4, #0x3f
|
|
bic r1, r4
|
|
ldr r4, _0225BED8 ; =0x00000191
|
|
ldrb r4, [r0, r4]
|
|
lsl r5, r4, #0x1b
|
|
lsr r5, r5, #0x1b
|
|
lsl r4, r4, #0x1a
|
|
orr r1, r5
|
|
lsr r4, r4, #0x1f
|
|
beq _0225BE86
|
|
mov r4, #0x20
|
|
orr r1, r4
|
|
_0225BE86:
|
|
ldr r4, _0225BED4 ; =0x0400004A
|
|
strh r1, [r4]
|
|
mov r1, #0x65
|
|
lsl r1, r1, #2
|
|
ldr r4, [r0, r1]
|
|
mov r1, #2
|
|
orr r1, r4
|
|
mvn r1, r1
|
|
and r3, r1
|
|
_0225BE98:
|
|
add r0, r0, r2
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #1
|
|
ldr r0, _0225BEDC ; =0xFFFF1FFF
|
|
bne _0225BEB8
|
|
mov r2, #1
|
|
lsl r2, r2, #0x1a
|
|
ldr r1, [r2]
|
|
and r1, r0
|
|
mov r0, #1
|
|
orr r0, r3
|
|
lsl r0, r0, #0xd
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
pop {r4, r5}
|
|
bx lr
|
|
_0225BEB8:
|
|
mov r2, #1
|
|
lsl r2, r2, #0x1a
|
|
ldr r1, [r2]
|
|
and r1, r0
|
|
mov r0, #1
|
|
bic r3, r0
|
|
lsl r0, r3, #0xd
|
|
orr r0, r1
|
|
str r0, [r2]
|
|
_0225BECA:
|
|
pop {r4, r5}
|
|
bx lr
|
|
nop
|
|
_0225BED0: .word 0x04000006
|
|
_0225BED4: .word 0x0400004A
|
|
_0225BED8: .word 0x00000191
|
|
_0225BEDC: .word 0xFFFF1FFF
|
|
thumb_func_end ov90_0225BE08
|
|
|
|
thumb_func_start ov90_0225BEE0
|
|
ov90_0225BEE0: ; 0x0225BEE0
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
ldrh r0, [r4, #4]
|
|
cmp r0, #5
|
|
bhi _0225BF44
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225BEF8: ; jump table
|
|
.short _0225C05E - _0225BEF8 - 2 ; case 0
|
|
.short _0225BF04 - _0225BEF8 - 2 ; case 1
|
|
.short _0225BF38 - _0225BEF8 - 2 ; case 2
|
|
.short _0225BF54 - _0225BEF8 - 2 ; case 3
|
|
.short _0225C018 - _0225BEF8 - 2 ; case 4
|
|
.short _0225C03A - _0225BEF8 - 2 ; case 5
|
|
_0225BF04:
|
|
add r0, r4, #0
|
|
ldr r1, [r4, #0x28]
|
|
ldr r2, [r4, #8]
|
|
ldr r3, [r4]
|
|
add r0, #0x34
|
|
bl ov90_0225BAD0
|
|
mov r0, #0x40
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
mov r2, #0x80
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x28]
|
|
ldr r1, [r4, #8]
|
|
mov r3, #0x61
|
|
bl ov90_02258EB4
|
|
str r0, [r4, #0x30]
|
|
mov r1, #0
|
|
bl sub_02024A04
|
|
ldrh r0, [r4, #4]
|
|
add sp, #8
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
pop {r4, r5, r6, pc}
|
|
_0225BF38:
|
|
add r0, r4, #0
|
|
add r0, #0x34
|
|
bl ov90_0225BBD0
|
|
cmp r0, #1
|
|
beq _0225BF46
|
|
_0225BF44:
|
|
b _0225C05E
|
|
_0225BF46:
|
|
ldrh r0, [r4, #4]
|
|
add sp, #8
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
mov r0, #0
|
|
strh r0, [r4, #6]
|
|
pop {r4, r5, r6, pc}
|
|
_0225BF54:
|
|
ldr r0, [r4, #0x30]
|
|
bl sub_020249F8
|
|
add r6, r0, #0
|
|
mov r1, #2
|
|
ldr r0, [r4, #0x30]
|
|
lsl r1, r1, #0xc
|
|
bl sub_020249B0
|
|
ldr r0, [r4, #0x30]
|
|
bl sub_020249F8
|
|
add r5, r0, #0
|
|
cmp r6, r5
|
|
beq _0225BFC8
|
|
cmp r5, #0xf
|
|
bhi _0225BFC8
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225BF82: ; jump table
|
|
.short _0225BFC8 - _0225BF82 - 2 ; case 0
|
|
.short _0225BFC8 - _0225BF82 - 2 ; case 1
|
|
.short _0225BFC8 - _0225BF82 - 2 ; case 2
|
|
.short _0225BFC8 - _0225BF82 - 2 ; case 3
|
|
.short _0225BFC8 - _0225BF82 - 2 ; case 4
|
|
.short _0225BFC8 - _0225BF82 - 2 ; case 5
|
|
.short _0225BFC8 - _0225BF82 - 2 ; case 6
|
|
.short _0225BFA2 - _0225BF82 - 2 ; case 7
|
|
.short _0225BFC8 - _0225BF82 - 2 ; case 8
|
|
.short _0225BFAA - _0225BF82 - 2 ; case 9
|
|
.short _0225BFC8 - _0225BF82 - 2 ; case 10
|
|
.short _0225BFB2 - _0225BF82 - 2 ; case 11
|
|
.short _0225BFC8 - _0225BF82 - 2 ; case 12
|
|
.short _0225BFBA - _0225BF82 - 2 ; case 13
|
|
.short _0225BFC8 - _0225BF82 - 2 ; case 14
|
|
.short _0225BFC2 - _0225BF82 - 2 ; case 15
|
|
_0225BFA2:
|
|
ldr r0, _0225C064 ; =0x000005DD
|
|
bl PlaySE
|
|
b _0225BFC8
|
|
_0225BFAA:
|
|
ldr r0, _0225C064 ; =0x000005DD
|
|
bl PlaySE
|
|
b _0225BFC8
|
|
_0225BFB2:
|
|
ldr r0, _0225C064 ; =0x000005DD
|
|
bl PlaySE
|
|
b _0225BFC8
|
|
_0225BFBA:
|
|
ldr r0, _0225C064 ; =0x000005DD
|
|
bl PlaySE
|
|
b _0225BFC8
|
|
_0225BFC2:
|
|
ldr r0, _0225C068 ; =0x00000642
|
|
bl PlaySE
|
|
_0225BFC8:
|
|
cmp r5, #0xf
|
|
bne _0225BFFC
|
|
mov r0, #6
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0225BFDE
|
|
ldr r0, [r4, #0x30]
|
|
mov r1, #0
|
|
bl sub_02024AA8
|
|
b _0225BFEA
|
|
_0225BFDE:
|
|
cmp r0, #4
|
|
bne _0225BFEA
|
|
ldr r0, [r4, #0x30]
|
|
mov r1, #1
|
|
bl sub_02024AA8
|
|
_0225BFEA:
|
|
mov r0, #6
|
|
ldrsh r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strh r1, [r4, #6]
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #8
|
|
blt _0225BFFC
|
|
mov r0, #0
|
|
strh r0, [r4, #6]
|
|
_0225BFFC:
|
|
ldr r0, [r4, #0x30]
|
|
bl sub_02024B68
|
|
cmp r0, #0
|
|
bne _0225C05E
|
|
ldrh r0, [r4, #4]
|
|
mov r1, #0
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
ldr r0, [r4, #0x30]
|
|
bl sub_02024AA8
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
_0225C018:
|
|
add r0, r4, #0
|
|
add r0, #0x34
|
|
bl ov90_0225BBF0
|
|
cmp r0, #1
|
|
bne _0225C05E
|
|
ldr r0, [r4, #0x30]
|
|
bl sub_02024758
|
|
mov r1, #0
|
|
str r1, [r4, #0x30]
|
|
ldrh r0, [r4, #4]
|
|
add sp, #8
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
strh r1, [r4, #6]
|
|
pop {r4, r5, r6, pc}
|
|
_0225C03A:
|
|
mov r0, #6
|
|
ldrsh r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strh r1, [r4, #6]
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #2
|
|
blt _0225C05E
|
|
mov r0, #0
|
|
strh r0, [r4, #4]
|
|
add r0, r4, #0
|
|
add r0, #0x34
|
|
bl ov90_0225BD08
|
|
ldr r0, [r4, #0x2c]
|
|
bl sub_0200E390
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
_0225C05E:
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0225C064: .word 0x000005DD
|
|
_0225C068: .word 0x00000642
|
|
thumb_func_end ov90_0225BEE0
|
|
|
|
thumb_func_start ov90_0225C06C
|
|
ov90_0225C06C: ; 0x0225C06C
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r1, #0
|
|
ldrh r0, [r4, #4]
|
|
cmp r0, #5
|
|
bhi _0225C14C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0225C084: ; jump table
|
|
.short _0225C14C - _0225C084 - 2 ; case 0
|
|
.short _0225C090 - _0225C084 - 2 ; case 1
|
|
.short _0225C0CC - _0225C084 - 2 ; case 2
|
|
.short _0225C0EE - _0225C084 - 2 ; case 3
|
|
.short _0225C106 - _0225C084 - 2 ; case 4
|
|
.short _0225C128 - _0225C084 - 2 ; case 5
|
|
_0225C090:
|
|
add r0, r4, #0
|
|
ldr r1, [r4, #0x28]
|
|
ldr r2, [r4, #8]
|
|
ldr r3, [r4]
|
|
add r0, #0x34
|
|
bl ov90_0225BAD0
|
|
mov r0, #0x40
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
mov r2, #0x80
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x28]
|
|
ldr r1, [r4, #8]
|
|
mov r3, #0x61
|
|
bl ov90_02258EB4
|
|
str r0, [r4, #0x30]
|
|
mov r1, #1
|
|
bl sub_020248F0
|
|
ldr r0, [r4, #0x30]
|
|
mov r1, #0
|
|
bl sub_02024A04
|
|
ldrh r0, [r4, #4]
|
|
add sp, #8
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
pop {r4, pc}
|
|
_0225C0CC:
|
|
add r0, r4, #0
|
|
add r0, #0x34
|
|
bl ov90_0225BBD0
|
|
cmp r0, #1
|
|
bne _0225C14C
|
|
ldr r0, [r4, #0x30]
|
|
mov r1, #1
|
|
bl sub_0202484C
|
|
ldrh r0, [r4, #4]
|
|
add sp, #8
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
mov r0, #0
|
|
strh r0, [r4, #6]
|
|
pop {r4, pc}
|
|
_0225C0EE:
|
|
mov r0, #6
|
|
ldrsh r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strh r1, [r4, #6]
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #0x32
|
|
blt _0225C14C
|
|
ldrh r0, [r4, #4]
|
|
add sp, #8
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
pop {r4, pc}
|
|
_0225C106:
|
|
add r0, r4, #0
|
|
add r0, #0x34
|
|
bl ov90_0225BBF0
|
|
cmp r0, #1
|
|
bne _0225C14C
|
|
ldr r0, [r4, #0x30]
|
|
bl sub_02024758
|
|
mov r0, #0
|
|
str r0, [r4, #0x30]
|
|
strh r0, [r4, #6]
|
|
ldrh r0, [r4, #4]
|
|
add sp, #8
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
pop {r4, pc}
|
|
_0225C128:
|
|
mov r0, #6
|
|
ldrsh r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strh r1, [r4, #6]
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #2
|
|
blt _0225C14C
|
|
mov r0, #0
|
|
strh r0, [r4, #4]
|
|
add r0, r4, #0
|
|
add r0, #0x34
|
|
bl ov90_0225BD08
|
|
ldr r0, [r4, #0x2c]
|
|
bl sub_0200E390
|
|
mov r0, #0
|
|
str r0, [r4, #0x2c]
|
|
_0225C14C:
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
thumb_func_end ov90_0225C06C
|
|
|
|
thumb_func_start ov90_0225C150
|
|
ov90_0225C150: ; 0x0225C150
|
|
ldr r0, _0225C154 ; =ov90_0225C4FC
|
|
bx lr
|
|
.balign 4, 0
|
|
_0225C154: .word ov90_0225C4FC
|
|
thumb_func_end ov90_0225C150
|
|
|
|
thumb_func_start ov90_0225C158
|
|
ov90_0225C158: ; 0x0225C158
|
|
mov r0, #5
|
|
bx lr
|
|
thumb_func_end ov90_0225C158
|
|
|
|
thumb_func_start ov90_0225C15C
|
|
ov90_0225C15C: ; 0x0225C15C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl ov90_0225C150
|
|
add r4, r0, #0
|
|
bl ov90_0225C158
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
add r2, r5, #0
|
|
bl sub_0203410C
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225C15C
|
|
|
|
thumb_func_start ov90_0225C178
|
|
ov90_0225C178: ; 0x0225C178
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl ov90_0225C150
|
|
add r4, r0, #0
|
|
bl ov90_0225C158
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
add r2, r5, #0
|
|
bl sub_0203410C
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov90_0225C178
|
|
|
|
thumb_func_start ov90_0225C194
|
|
ov90_0225C194: ; 0x0225C194
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end ov90_0225C194
|
|
|
|
thumb_func_start ov90_0225C198
|
|
ov90_0225C198: ; 0x0225C198
|
|
mov r0, #4
|
|
bx lr
|
|
thumb_func_end ov90_0225C198
|
|
|
|
thumb_func_start ov90_0225C19C
|
|
ov90_0225C19C: ; 0x0225C19C
|
|
add r0, r3, #0
|
|
ldr r3, _0225C1A4 ; =ov90_02258B24
|
|
ldr r1, [r2]
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225C1A4: .word ov90_02258B24
|
|
thumb_func_end ov90_0225C19C
|
|
|
|
thumb_func_start ov90_0225C1A8
|
|
ov90_0225C1A8: ; 0x0225C1A8
|
|
add r1, r0, #0
|
|
add r0, r3, #0
|
|
ldr r3, _0225C1B4 ; =ov90_02258B2C
|
|
mov r2, #1
|
|
bx r3
|
|
nop
|
|
_0225C1B4: .word ov90_02258B2C
|
|
thumb_func_end ov90_0225C1A8
|
|
|
|
thumb_func_start ov90_0225C1B8
|
|
ov90_0225C1B8: ; 0x0225C1B8
|
|
add r1, r0, #0
|
|
add r0, r3, #0
|
|
ldr r3, _0225C1C4 ; =ov90_02258B2C
|
|
mov r2, #0
|
|
bx r3
|
|
nop
|
|
_0225C1C4: .word ov90_02258B2C
|
|
thumb_func_end ov90_0225C1B8
|
|
|
|
thumb_func_start ov90_0225C1C8
|
|
ov90_0225C1C8: ; 0x0225C1C8
|
|
add r0, r3, #0
|
|
ldr r3, _0225C1D0 ; =ov90_02258B44
|
|
mov r1, #1
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225C1D0: .word ov90_02258B44
|
|
thumb_func_end ov90_0225C1C8
|
|
|
|
thumb_func_start ov90_0225C1D4
|
|
ov90_0225C1D4: ; 0x0225C1D4
|
|
add r0, r3, #0
|
|
ldr r3, _0225C1DC ; =ov90_02258B44
|
|
mov r1, #0
|
|
bx r3
|
|
.balign 4, 0
|
|
_0225C1DC: .word ov90_02258B44
|
|
thumb_func_end ov90_0225C1D4
|
|
|
|
.rodata
|
|
|
|
_0225C1E0:
|
|
.byte 0x55, 0x0F, 0x00, 0x00
|
|
|
|
ov90_0225C1E4: ; 0x0225C1E4
|
|
.byte 0x55, 0x0F, 0x00, 0x00
|
|
|
|
ov90_0225C1E8: ; 0x0225C1E8
|
|
.byte 0x4B, 0x0F, 0x0A, 0x00
|
|
|
|
ov90_0225C1EC: ; 0x0225C1EC
|
|
.byte 0x00, 0x01, 0x03, 0x02
|
|
|
|
ov90_0225C1F0: ; 0x0225C1F0
|
|
.byte 0x00, 0x00, 0xF6, 0xFF, 0xF0, 0xFF, 0xE8, 0xFF
|
|
|
|
ov90_0225C1F8: ; 0x0225C1F8
|
|
.byte 0x00, 0x80, 0x0C, 0x00, 0x00, 0x80, 0xF3, 0xFF
|
|
.byte 0x00, 0x00, 0xF6, 0xFF
|
|
|
|
ov90_0225C204: ; 0x0225C204
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C210: ; 0x0225C210
|
|
.byte 0x09, 0x08, 0x07, 0x00, 0x06, 0x05, 0x04, 0x00, 0x03, 0x02, 0x01, 0x00
|
|
|
|
ov90_0225C21C: ; 0x0225C21C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C228: ; 0x0225C228
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C234: ; 0x0225C234
|
|
.byte 0x00, 0xE0, 0xFE, 0xFF, 0x00, 0x20, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
|
|
ov90_0225C240: ; 0x0225C240
|
|
.byte 0x00, 0x70, 0xFF, 0xFF, 0x00, 0x90, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00
|
|
|
|
ov90_0225C24C: ; 0x0225C24C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C258: ; 0x0225C258
|
|
.byte 0x00, 0x80, 0xF3, 0xFF, 0x00, 0x80, 0x0C, 0x00
|
|
.byte 0x00, 0x00, 0x0A, 0x00
|
|
|
|
ov90_0225C264: ; 0x0225C264
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C274: ; 0x0225C274
|
|
.byte 0x80, 0x00
|
|
|
|
ov90_0225C276: ; 0x0225C276
|
|
.byte 0x2C, 0x00, 0xEC, 0x00, 0x18, 0x00, 0x04, 0x00, 0x18, 0x00
|
|
.byte 0x80, 0x00, 0x04, 0x00
|
|
|
|
ov90_0225C284: ; 0x0225C284
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00
|
|
.byte 0x00, 0x03, 0x01, 0x02
|
|
|
|
ov90_0225C294: ; 0x0225C294
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C2A4: ; 0x0225C2A4
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C2B4: ; 0x0225C2B4
|
|
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x08, 0x00, 0x00, 0x20, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C2CC: ; 0x0225C2CC
|
|
.byte 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C2F4: ; 0x0225C2F4
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
|
|
|
|
ov90_0225C310: ; 0x0225C310
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C314: ; 0x0225C314
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C318: ; 0x0225C318
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C31C: ; 0x0225C31C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C324: ; 0x0225C324
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0E, 0x04, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x03, 0x00, 0x00, 0x0E, 0x08, 0x02, 0x00, 0x12, 0x00, 0x06, 0x00, 0x00, 0x02, 0x01, 0x00
|
|
.byte 0x12, 0x0C, 0x00, 0x06, 0x12, 0x00, 0x06, 0x0C, 0x00, 0x02, 0x03, 0x01
|
|
|
|
ov90_0225C34C: ; 0x0225C34C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x14, 0x00, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00
|
|
.byte 0x05, 0x00, 0x05, 0x00, 0x06, 0x00, 0x06, 0x00, 0x07, 0x00, 0x07, 0x00, 0x08, 0x00, 0x08, 0x00
|
|
.byte 0x09, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x15, 0x00, 0x0B, 0x00, 0x0B, 0x00, 0x0C, 0x00, 0x0C, 0x00
|
|
.byte 0x0D, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x0F, 0x00, 0x10, 0x00, 0x10, 0x00
|
|
.byte 0x11, 0x00, 0x16, 0x00, 0x12, 0x00, 0x17, 0x00, 0x13, 0x00, 0x13, 0x00
|
|
|
|
ov90_0225C39C: ; 0x0225C39C
|
|
.byte 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1D, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x19, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x18, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x14, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C43C: ; 0x0225C43C
|
|
.byte 0x03, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1D, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x1B, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x18, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov90_0225C4FC: ; 0x0225C4FC
|
|
.byte 0xA9, 0xC1, 0x25, 0x02
|
|
.byte 0x95, 0xC1, 0x25, 0x02, 0x00, 0x00, 0x00, 0x00, 0xB9, 0xC1, 0x25, 0x02, 0x95, 0xC1, 0x25, 0x02
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xC9, 0xC1, 0x25, 0x02, 0x95, 0xC1, 0x25, 0x02, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xD5, 0xC1, 0x25, 0x02, 0x95, 0xC1, 0x25, 0x02, 0x00, 0x00, 0x00, 0x00, 0x9D, 0xC1, 0x25, 0x02
|
|
.byte 0x99, 0xC1, 0x25, 0x02, 0x00, 0x00, 0x00, 0x00
|
|
; 0x0225C538
|