mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
6043 lines
109 KiB
ArmAsm
6043 lines
109 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "overlay_07.inc"
|
|
|
|
.text
|
|
|
|
arm_func_start ov07_0233CA80
|
|
ov07_0233CA80: ; 0x0233CA80
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #0x14
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r1, _0233CAC4 ; =ov07_02341B80
|
|
mov r2, #0
|
|
str r0, [r1]
|
|
str r2, [r0]
|
|
ldr r0, [r1]
|
|
str r2, [r0, #4]
|
|
ldr r0, [r1]
|
|
strb r2, [r0, #8]
|
|
ldr r0, [r1]
|
|
str r2, [r0, #0xc]
|
|
ldr r0, [r1]
|
|
strb r2, [r0, #0x10]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233CAC4: .word ov07_02341B80
|
|
arm_func_end ov07_0233CA80
|
|
|
|
#ifndef EUROPE
|
|
arm_func_start ov07_0233CAC8
|
|
ov07_0233CAC8: ; 0x0233CAC8
|
|
ldr r1, _0233CAE4 ; =ov07_02341B80
|
|
mov r2, #1
|
|
ldr r3, [r1]
|
|
str r0, [r3, #0xc]
|
|
ldr r0, [r1]
|
|
strb r2, [r0, #0x10]
|
|
bx lr
|
|
.align 2, 0
|
|
_0233CAE4: .word ov07_02341B80
|
|
arm_func_end ov07_0233CAC8
|
|
#endif
|
|
|
|
arm_func_start ov07_0233CAE8
|
|
ov07_0233CAE8: ; 0x0233CAE8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov sb, #0
|
|
mov fp, #4
|
|
mov sl, #2
|
|
mov r7, #5
|
|
mov r6, #3
|
|
mov r8, #1
|
|
ldr r4, _0233CCEC ; =ov07_02341B80
|
|
b _0233CCDC
|
|
_0233CB0C:
|
|
ldr r1, [r4]
|
|
mov sb, #1
|
|
ldr r0, [r1]
|
|
cmp r0, #5
|
|
addls pc, pc, r0, lsl #2
|
|
b _0233CCDC
|
|
_0233CB24: ; jump table
|
|
b _0233CB3C ; case 0
|
|
b _0233CB4C ; case 1
|
|
b _0233CBD0 ; case 2
|
|
b _0233CBE8 ; case 3
|
|
b _0233CC54 ; case 4
|
|
b _0233CCB8 ; case 5
|
|
_0233CB3C:
|
|
bl ov01_02338A24
|
|
ldr r0, [r4]
|
|
str r8, [r0]
|
|
b _0233CCDC
|
|
_0233CB4C:
|
|
bl ov01_02338EC4
|
|
cmp r0, #1
|
|
beq _0233CB6C
|
|
cmp r0, #4
|
|
beq _0233CB84
|
|
cmp r0, #8
|
|
beq _0233CBB0
|
|
b _0233CCDC
|
|
_0233CB6C:
|
|
ldr r0, [r4]
|
|
mov sb, #0
|
|
str r7, [r0]
|
|
ldr r0, [r4]
|
|
str r6, [r0, #4]
|
|
b _0233CCDC
|
|
_0233CB84:
|
|
ldr r1, [r4]
|
|
ldrb r0, [r1, #0x10]
|
|
cmp r0, #0
|
|
strne sl, [r1]
|
|
bne _0233CCDC
|
|
mov r0, sb
|
|
mov r1, #0
|
|
bl ov01_02338C28
|
|
ldr r0, [r4]
|
|
str fp, [r0]
|
|
b _0233CCDC
|
|
_0233CBB0:
|
|
ldr r1, [r4]
|
|
mov r0, #5
|
|
str r0, [r1]
|
|
ldr r1, [r4]
|
|
mov r0, #4
|
|
mov sb, #0
|
|
str r0, [r1, #4]
|
|
b _0233CCDC
|
|
_0233CBD0:
|
|
ldr r1, [r1, #0xc]
|
|
mov r0, #0
|
|
bl ov01_02338C4C
|
|
ldr r1, [r4]
|
|
mov r0, #3
|
|
str r0, [r1]
|
|
_0233CBE8:
|
|
bl ov01_02338EC4
|
|
cmp r0, #4
|
|
bne _0233CC3C
|
|
mov r0, #0
|
|
bl ov01_02338E1C
|
|
mov r5, r0
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl ov01_02338C28
|
|
ldr r2, [r4]
|
|
mov r1, #4
|
|
mov r0, r5
|
|
str r1, [r2]
|
|
bl ov01_0232C578
|
|
cmp r0, #0
|
|
ldr r1, [r4]
|
|
moveq r0, #1
|
|
streq r0, [r1, #4]
|
|
movne r0, #2
|
|
strne r0, [r1, #4]
|
|
b _0233CCDC
|
|
_0233CC3C:
|
|
cmp r0, #8
|
|
cmpne r0, #6
|
|
ldreq r1, [r4]
|
|
moveq r0, #4
|
|
streq r0, [r1]
|
|
b _0233CCDC
|
|
_0233CC54:
|
|
bl ov01_02338EC4
|
|
cmp r0, #6
|
|
bne _0233CC88
|
|
ldr r1, [r4]
|
|
mov r0, #5
|
|
str r0, [r1]
|
|
ldr r1, [r4]
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #0
|
|
moveq r0, sb
|
|
streq r0, [r1, #4]
|
|
mov sb, #0
|
|
b _0233CCDC
|
|
_0233CC88:
|
|
cmp r0, #8
|
|
bne _0233CCDC
|
|
ldr r1, [r4]
|
|
mov r0, #5
|
|
str r0, [r1]
|
|
ldr r1, [r4]
|
|
mov sb, #0
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #0
|
|
moveq r0, #4
|
|
streq r0, [r1, #4]
|
|
b _0233CCDC
|
|
_0233CCB8:
|
|
bl ov01_02338EB0
|
|
ldr r1, _0233CCEC ; =ov07_02341B80
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #8]
|
|
bl ov01_02338B08
|
|
ldr r0, _0233CCEC ; =ov07_02341B80
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
_0233CCDC:
|
|
cmp sb, #0
|
|
beq _0233CB0C
|
|
mov r0, #0
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_0233CCEC: .word ov07_02341B80
|
|
|
|
arm_func_start ov07_0233CCF0
|
|
ov07_0233CCF0: ; 0x0233CCF0
|
|
ldr r0, _0233CD00 ; =ov07_02341B80
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_0233CD00: .word ov07_02341B80
|
|
arm_func_end ov07_0233CCF0
|
|
|
|
arm_func_start ov07_0233CD04
|
|
ov07_0233CD04: ; 0x0233CD04
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0233CD2C ; =ov07_02341B80
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl MemFree
|
|
ldr r0, _0233CD2C ; =ov07_02341B80
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233CD2C: .word ov07_02341B80
|
|
arm_func_end ov07_0233CD04
|
|
|
|
arm_func_start ov07_0233CD30
|
|
ov07_0233CD30: ; 0x0233CD30
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #4
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r2, _0233CD64 ; =ov07_02341B60
|
|
mov r1, #4
|
|
str r0, [r2]
|
|
bl MemZero
|
|
ldr r0, _0233CD64 ; =ov07_02341B60
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233CD64: .word ov07_02341B60
|
|
arm_func_end ov07_0233CD30
|
|
|
|
arm_func_start ov07_0233CD68
|
|
ov07_0233CD68: ; 0x0233CD68
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #4
|
|
ldr r0, _0233CF4C ; =ov07_02341B60
|
|
ldr r1, _0233CF50 ; =0x00001001
|
|
ldr r0, [r0]
|
|
ldr r2, [r0]
|
|
cmp r2, r1
|
|
bgt _0233CDB8
|
|
bge _0233CE8C
|
|
cmp r2, #1
|
|
bgt _0233CDAC
|
|
cmp r2, #0
|
|
blt _0233CF38
|
|
beq _0233CDE0
|
|
cmp r2, #1
|
|
beq _0233CE14
|
|
b _0233CF38
|
|
_0233CDAC:
|
|
cmp r2, #0x1000
|
|
beq _0233CE78
|
|
b _0233CF38
|
|
_0233CDB8:
|
|
add r0, r1, #0x1000
|
|
cmp r2, r0
|
|
bgt _0233CDD4
|
|
bge _0233CEE0
|
|
cmp r2, #0x2000
|
|
beq _0233CEC8
|
|
b _0233CF38
|
|
_0233CDD4:
|
|
add r0, r1, #0xe000
|
|
cmp r2, r0
|
|
b _0233CF38
|
|
_0233CDE0:
|
|
mov r0, #5
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
ldr r2, _0233CF54 ; =ov07_023419FC
|
|
ldr r3, _0233CF58 ; =0x000036F6
|
|
mov r1, r0
|
|
bl ov07_0233F638
|
|
ldr r0, _0233CF4C ; =ov07_02341B60
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233CF40
|
|
_0233CE14:
|
|
bl ov07_0233F678
|
|
mov r4, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #5
|
|
bl ov01_02337938
|
|
cmp r4, #8
|
|
ldreq r0, _0233CF4C ; =ov07_02341B60
|
|
moveq r1, #0x1000
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
beq _0233CF40
|
|
cmp r4, #9
|
|
ldreq r0, _0233CF4C ; =ov07_02341B60
|
|
moveq r1, #0x2000
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
beq _0233CF40
|
|
cmp r4, #0x15
|
|
ldreq r0, _0233CF4C ; =ov07_02341B60
|
|
ldreq r1, _0233CF5C ; =0x0000F001
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
b _0233CF40
|
|
_0233CE78:
|
|
bl ov07_0233E9C8
|
|
ldr r0, _0233CF4C ; =ov07_02341B60
|
|
ldr r1, _0233CF50 ; =0x00001001
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
_0233CE8C:
|
|
bl sub_02003BFC
|
|
bl ov07_0233EAF4
|
|
cmp r0, #1
|
|
bne _0233CEB4
|
|
bl ov07_0233F60C
|
|
ldr r0, _0233CF4C ; =ov07_02341B60
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233CF40
|
|
_0233CEB4:
|
|
cmp r0, #2
|
|
bne _0233CF40
|
|
bl ov07_0233F60C
|
|
mov r0, #2
|
|
b _0233CF44
|
|
_0233CEC8:
|
|
rsb r0, r1, #0x1000
|
|
bl ov07_0233DD58
|
|
ldr r0, _0233CF4C ; =ov07_02341B60
|
|
ldr r1, _0233CF60 ; =0x00002001
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
_0233CEE0:
|
|
bl ov07_0233DE60
|
|
cmp r0, #1
|
|
bne _0233CF04
|
|
bl ov07_0233E514
|
|
ldr r0, _0233CF4C ; =ov07_02341B60
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233CF40
|
|
_0233CF04:
|
|
cmp r0, #2
|
|
bne _0233CF24
|
|
bl ov07_0233E514
|
|
ldr r0, _0233CF4C ; =ov07_02341B60
|
|
ldr r1, _0233CF5C ; =0x0000F001
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233CF40
|
|
_0233CF24:
|
|
cmp r0, #3
|
|
bne _0233CF40
|
|
bl ov07_0233E514
|
|
mov r0, #2
|
|
b _0233CF44
|
|
_0233CF38:
|
|
mov r0, #1
|
|
b _0233CF44
|
|
_0233CF40:
|
|
mov r0, #0
|
|
_0233CF44:
|
|
add sp, sp, #4
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
_0233CF4C: .word ov07_02341B60
|
|
_0233CF50: .word 0x00001001
|
|
_0233CF54: .word ov07_023419FC
|
|
#ifdef EUROPE
|
|
_0233CF58: .word 0x000036F8
|
|
#else
|
|
_0233CF58: .word 0x000036F6
|
|
#endif
|
|
_0233CF5C: .word 0x0000F001
|
|
_0233CF60: .word 0x00002001
|
|
arm_func_end ov07_0233CD68
|
|
|
|
arm_func_start ov07_0233CF64
|
|
ov07_0233CF64: ; 0x0233CF64
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0233CF8C ; =ov07_02341B60
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl MemFree
|
|
ldr r0, _0233CF8C ; =ov07_02341B60
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233CF8C: .word ov07_02341B60
|
|
arm_func_end ov07_0233CF64
|
|
|
|
arm_func_start ov07_0233CF90
|
|
ov07_0233CF90: ; 0x0233CF90
|
|
#ifdef EUROPE
|
|
#define OV07_0233CF90_STORE_OFFSET -1
|
|
#else
|
|
#define OV07_0233CF90_STORE_OFFSET 0
|
|
#endif
|
|
stmdb sp!, {r4, lr}
|
|
mov r0, #0x30c
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r2, _0233CFEC ; =ov07_02341B64
|
|
mov r4, r0
|
|
mov r1, #0x30c
|
|
str r4, [r2]
|
|
bl MemZero
|
|
mvn r0, #1
|
|
strb r0, [r4, #4]
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
mov r0, #2
|
|
bl ov01_02337928
|
|
str r0, [r4, #0x1cc]
|
|
mov r0, #0
|
|
strb r0, [r4, #0x308 + OV07_0233CF90_STORE_OFFSET]
|
|
strb r0, [r4, #0x309 + OV07_0233CF90_STORE_OFFSET]
|
|
str r0, [r4, #0x268]
|
|
add r0, r4, #0x304
|
|
str r0, [r4, #0x2cc]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0233CFEC: .word ov07_02341B64
|
|
arm_func_end ov07_0233CF90
|
|
|
|
arm_func_start ov07_0233CFF0
|
|
ov07_0233CFF0: ; 0x0233CFF0
|
|
#ifdef EUROPE
|
|
#define OV07_0233CFF0_LOAD_OFFSET 2
|
|
#else
|
|
#define OV07_0233CFF0_LOAD_OFFSET 0
|
|
#endif
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0xc
|
|
ldr r0, _0233D8D4 ; =ov07_02341B64
|
|
ldr r3, _0233D8D8 ; =0x00005001
|
|
ldr r6, [r0]
|
|
ldr r0, [r6]
|
|
cmp r0, r3
|
|
bgt _0233D0B0
|
|
bge _0233D64C
|
|
cmp r0, #0x3000
|
|
bgt _0233D074
|
|
bge _0233D358
|
|
cmp r0, #0x1000
|
|
bgt _0233D04C
|
|
bge _0233D17C
|
|
cmp r0, #1
|
|
bgt _0233D8C0
|
|
cmp r0, #0
|
|
blt _0233D8C0
|
|
beq _0233D150
|
|
cmp r0, #1
|
|
beq _0233D168
|
|
b _0233D8C0
|
|
_0233D04C:
|
|
ldr r2, _0233D8DC ; =0x00001002
|
|
cmp r0, r2
|
|
bgt _0233D8C0
|
|
sub r1, r2, #1
|
|
cmp r0, r1
|
|
blt _0233D8C0
|
|
beq _0233D18C
|
|
cmp r0, r2
|
|
beq _0233D244
|
|
b _0233D8C0
|
|
_0233D074:
|
|
cmp r0, #0x4000
|
|
bgt _0233D090
|
|
bge _0233D50C
|
|
sub r1, r3, #0x2000
|
|
cmp r0, r1
|
|
beq _0233D3F8
|
|
b _0233D8C0
|
|
_0233D090:
|
|
sub r1, r3, #0x1000
|
|
cmp r0, r1
|
|
bgt _0233D0A4
|
|
beq _0233D528
|
|
b _0233D8C0
|
|
_0233D0A4:
|
|
cmp r0, #0x5000
|
|
beq _0233D56C
|
|
b _0233D8C0
|
|
_0233D0B0:
|
|
cmp r0, #0x7000
|
|
bgt _0233D110
|
|
bge _0233D800
|
|
cmp r0, #0x6000
|
|
bgt _0233D100
|
|
bge _0233D750
|
|
add r1, r3, #3
|
|
cmp r0, r1
|
|
bgt _0233D8C0
|
|
add r1, r3, #1
|
|
cmp r0, r1
|
|
blt _0233D8C0
|
|
beq _0233D660
|
|
add r1, r3, #2
|
|
cmp r0, r1
|
|
beq _0233D6F8
|
|
add r1, r3, #3
|
|
cmp r0, r1
|
|
beq _0233D728
|
|
b _0233D8C0
|
|
_0233D100:
|
|
add r1, r3, #0x1000
|
|
cmp r0, r1
|
|
beq _0233D7EC
|
|
b _0233D8C0
|
|
_0233D110:
|
|
ldr r2, _0233D8E0 ; =0x00007002
|
|
cmp r0, r2
|
|
bgt _0233D130
|
|
bge _0233D854
|
|
sub r1, r2, #1
|
|
cmp r0, r1
|
|
beq _0233D828
|
|
b _0233D8C0
|
|
_0233D130:
|
|
add r1, r2, #1
|
|
cmp r0, r1
|
|
bgt _0233D144
|
|
beq _0233D8AC
|
|
b _0233D8C0
|
|
_0233D144:
|
|
add r1, r3, #0xa000
|
|
cmp r0, r1
|
|
b _0233D8C0
|
|
_0233D150:
|
|
ldr r1, _0233D8E4 ; =0x00003714
|
|
mov r2, #1
|
|
mov r0, #0x1c
|
|
str r2, [r6]
|
|
bl ov07_0233F6AC
|
|
b _0233D8C8
|
|
_0233D168:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
moveq r0, #0x1000
|
|
streq r0, [r6]
|
|
b _0233D8C8
|
|
_0233D17C:
|
|
bl sub_02046D20
|
|
ldr r0, _0233D8E8 ; =0x00001001
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D18C:
|
|
ldrsb r0, [r6, #4]
|
|
rsb r1, r2, #0x1000
|
|
cmp r0, r1
|
|
bne _0233D234
|
|
mov r7, #0
|
|
mov r5, r7
|
|
mov r4, r7
|
|
_0233D1A8:
|
|
mov r0, r7, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bl ov00_022BD0A0
|
|
cmp r0, #0
|
|
addne r0, r6, r5, lsl #2
|
|
strneh r7, [r0, #0xc]
|
|
add r7, r7, #1
|
|
strneb r4, [r0, #0xe]
|
|
addne r5, r5, #1
|
|
cmp r7, #0x10
|
|
blt _0233D1A8
|
|
str r5, [r6, #8]
|
|
ldr r0, [r6, #0x1cc]
|
|
mov r2, #0x10
|
|
str r0, [r6, #0x1d0]
|
|
ldr r1, _0233D8EC ; =0x00003715
|
|
str r2, [r6, #0x1dc]
|
|
add r0, r6, #0x100
|
|
strh r1, [r0, #0xd8]
|
|
str r2, [r6, #0x1dc]
|
|
mov r1, #0xd
|
|
ldr r0, _0233D8F0 ; =ov07_0233DAA8
|
|
str r1, [r6, #0x1d4]
|
|
str r0, [sp]
|
|
ldr r0, [r6, #8]
|
|
mov r2, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, _0233D8F4 ; =ov07_02341AAC
|
|
ldr r1, _0233D8F8 ; =0x00441C37
|
|
ldr r3, _0233D8FC ; =ov07_0233D9DC
|
|
str r2, [sp, #8]
|
|
add r2, r6, #0x1d0
|
|
bl CreateCollectionMenu
|
|
strb r0, [r6, #4]
|
|
b _0233D238
|
|
_0233D234:
|
|
bl sub_0202C620
|
|
_0233D238:
|
|
ldr r0, _0233D8DC ; =0x00001002
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D244:
|
|
ldrsb r0, [r6, #4]
|
|
bl sub_0202C748
|
|
mov r1, r0
|
|
mov r1, r1, lsl #0x18
|
|
str r0, [r6, #0x1cc]
|
|
mov r0, #2
|
|
mov r1, r1, asr #0x18
|
|
bl ov01_02337938
|
|
ldrsb r0, [r6, #4]
|
|
bl IsCollectionMenuActive
|
|
cmp r0, #0
|
|
bne _0233D8C8
|
|
ldrsb r0, [r6, #4]
|
|
bl sub_0202C75C
|
|
ldr r1, _0233D8D4 ; =ov07_02341B64
|
|
mov r4, r0
|
|
ldr r5, [r1]
|
|
mvn r1, #1
|
|
ldrsb r0, [r5, #4]
|
|
cmp r0, r1
|
|
beq _0233D2AC
|
|
bl sub_0202836C
|
|
ldrsb r0, [r5, #4]
|
|
bl CloseCollectionMenu
|
|
mvn r0, #1
|
|
strb r0, [r5, #4]
|
|
_0233D2AC:
|
|
cmp r4, #0
|
|
bge _0233D2D0
|
|
ldrb r0, [r6, #0x308 + OV07_0233CF90_STORE_OFFSET]
|
|
cmp r0, #0
|
|
movne r0, #0x7000
|
|
strne r0, [r6]
|
|
ldreq r0, _0233D900 ; =0x0000F001
|
|
streq r0, [r6]
|
|
b _0233D8C8
|
|
_0233D2D0:
|
|
bl ov07_0233D9A0
|
|
cmp r0, #1
|
|
ble _0233D304
|
|
mov r0, #0
|
|
mov r4, #1
|
|
ldr r2, _0233D904 ; =ov07_02341994
|
|
ldr r3, _0233D908 ; =0x0000371F
|
|
mov r1, r0
|
|
str r4, [sp]
|
|
bl ov07_0233F638
|
|
mov r0, #0x5000
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D304:
|
|
bl ov07_0233D9A0
|
|
cmp r0, #1
|
|
bne _0233D33C
|
|
mov r1, #0
|
|
b _0233D32C
|
|
_0233D318:
|
|
add r0, r6, r1, lsl #2
|
|
ldrb r0, [r0, #0xe]
|
|
cmp r0, #0
|
|
strne r1, [r6, #0x1cc]
|
|
add r1, r1, #1
|
|
_0233D32C:
|
|
ldr r0, [r6, #8]
|
|
cmp r1, r0
|
|
blt _0233D318
|
|
b _0233D34C
|
|
_0233D33C:
|
|
str r4, [r6, #0x1cc]
|
|
add r0, r6, r4, lsl #2
|
|
mov r1, #1
|
|
strb r1, [r0, #0xe]
|
|
_0233D34C:
|
|
mov r0, #0x3000
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D358:
|
|
ldr r1, _0233D90C ; =ov07_02341ABC
|
|
ldr r2, _0233D910 ; =ov07_0233DB50
|
|
add r0, r6, #0x268
|
|
bl sub_0204707C
|
|
mov r2, #0
|
|
#ifdef EUROPE
|
|
mov r0, r2
|
|
_0233DAD0:
|
|
add r1, r6, r2
|
|
add r2, r2, #1
|
|
strb r0, [r1, #0x304]
|
|
cmp r2, #3
|
|
blt _0233DAD0
|
|
#else
|
|
mov r1, r2
|
|
_0233D370:
|
|
add r0, r6, r2
|
|
add r2, r2, #1
|
|
strb r1, [r0, #0x304]
|
|
cmp r2, #4
|
|
blt _0233D370
|
|
bl ov00_022BD5C8
|
|
cmp r0, #0
|
|
beq _0233D3A8
|
|
ldr r0, [r6, #0x1cc]
|
|
add r0, r6, r0, lsl #2
|
|
ldrh r0, [r0, #0xc]
|
|
bl ov00_022BD2C0
|
|
cmp r0, #0
|
|
bne _0233D3B0
|
|
_0233D3A8:
|
|
mov r0, #3
|
|
strb r0, [r6, #0x306]
|
|
_0233D3B0:
|
|
mov r0, #0
|
|
#endif
|
|
bl ov01_02337928
|
|
ldr r1, _0233D914 ; =ov07_02341A20
|
|
ldr r2, _0233D918 ; =ov07_02341A1C
|
|
ldr r1, [r1, r0, lsl #3]
|
|
mov r0, #0
|
|
str r1, [r6, #0x26c]
|
|
ldr r1, _0233D91C ; =0x0000371A
|
|
str r2, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r2, _0233D920 ; =0x00000233
|
|
mov r1, r0
|
|
add r3, r6, #0x26c
|
|
str r0, [sp, #8]
|
|
bl ov07_0233F64C
|
|
ldr r0, _0233D924 ; =0x00003001
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D3F8:
|
|
bl ov07_0233F678
|
|
mov r4, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #0
|
|
bl ov01_02337938
|
|
ldr r0, [r6, #0x268]
|
|
cmp r0, #0
|
|
beq _0233D424
|
|
bl sub_020470D0
|
|
_0233D424:
|
|
cmp r4, #0xa
|
|
bne _0233D448
|
|
ldr r0, _0233D8D4 ; =ov07_02341B64
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x268
|
|
bl sub_02047150
|
|
mov r0, #0x4000
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D448:
|
|
cmp r4, #0xb
|
|
bne _0233D488
|
|
ldr r0, _0233D8D4 ; =ov07_02341B64
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x268
|
|
bl sub_02047150
|
|
mov r0, #0
|
|
mov r4, #1
|
|
ldr r2, _0233D928 ; =ov07_02341964
|
|
ldr r3, _0233D92C ; =0x00003722
|
|
mov r1, r0
|
|
str r4, [sp]
|
|
bl ov07_0233F638
|
|
mov r0, #0x5000
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D488:
|
|
#ifndef EUROPE
|
|
cmp r4, #0xc
|
|
bne _0233D4E8
|
|
ldr r0, _0233D8D4 ; =ov07_02341B64
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x268
|
|
bl sub_02047150
|
|
ldr r0, [r6, #0x1cc]
|
|
add r0, r6, r0, lsl #2
|
|
ldrh r0, [r0, #0xc]
|
|
bl ov00_022BD284
|
|
cmp r0, #0
|
|
ldrne r4, _0233D930 ; =0x0000372C
|
|
mov r0, #1
|
|
ldreq r4, _0233D934 ; =0x0000372A
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
ldr r2, _0233D938 ; =ov07_02341934
|
|
mov r3, r4
|
|
mov r0, #0
|
|
mov r1, #8
|
|
bl ov07_0233F638
|
|
mov r0, #0x6000
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D4E8:
|
|
#endif
|
|
cmp r4, #0x15
|
|
bne _0233D8C8
|
|
ldr r0, _0233D8D4 ; =ov07_02341B64
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x268
|
|
bl sub_02047150
|
|
mov r0, #0x1000
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D50C:
|
|
ldr r0, [r6, #0x1cc]
|
|
add r0, r6, r0, lsl #2
|
|
ldrh r0, [r0, #0xc]
|
|
bl ov07_0233DD58
|
|
ldr r0, _0233D93C ; =0x00004001
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D528:
|
|
bl ov07_0233DE60
|
|
sub r1, r0, #1
|
|
cmp r1, #1
|
|
bhi _0233D558
|
|
bl ov07_0233E540
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
strneb r0, [r6, #0x308 + OV07_0233CF90_STORE_OFFSET]
|
|
bl ov07_0233E514
|
|
mov r0, #0x1000
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D558:
|
|
cmp r0, #3
|
|
bne _0233D8C8
|
|
bl ov07_0233E514
|
|
mov r0, #2
|
|
b _0233D8CC
|
|
_0233D56C:
|
|
bl ov07_0233F678
|
|
cmp r0, #1
|
|
bne _0233D638
|
|
mov r4, #0
|
|
mov r5, r4
|
|
add sb, r6, #0x58
|
|
add r8, r6, #0x4c
|
|
mov r7, #0x18
|
|
_0233D58C:
|
|
mul r2, r5, r7
|
|
mov r0, r5, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
add r1, sb, r2
|
|
add r2, r8, r2
|
|
bl ov00_022BCF14
|
|
add r5, r5, #1
|
|
cmp r5, #0x10
|
|
blt _0233D58C
|
|
mov r5, #0
|
|
mov r7, #1
|
|
b _0233D5F0
|
|
_0233D5BC:
|
|
add r1, r6, r5, lsl #2
|
|
ldrb r0, [r1, #0xe]
|
|
cmp r0, #0
|
|
beq _0233D5EC
|
|
ldrh r8, [r1, #0xc]
|
|
mov r0, r8
|
|
bl ov00_022BD2C0
|
|
cmp r0, #0
|
|
mov r0, r8, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
movne r4, r7
|
|
bl ov00_022BD3B4
|
|
_0233D5EC:
|
|
add r5, r5, #1
|
|
_0233D5F0:
|
|
ldr r0, [r6, #8]
|
|
cmp r5, r0
|
|
blt _0233D5BC
|
|
cmp r4, #0
|
|
beq _0233D620
|
|
bl ov07_0233CA80
|
|
ldr r2, _0233D8D8 ; =0x00005001
|
|
ldr r1, _0233D940 ; =0x00003727
|
|
mov r0, #0x1c
|
|
str r2, [r6]
|
|
bl ov07_0233F6AC
|
|
b _0233D8C8
|
|
_0233D620:
|
|
ldr r1, _0233D944 ; =0x00003725
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233D948 ; =0x00005003
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D638:
|
|
cmp r0, #2
|
|
cmpne r0, #0x15
|
|
moveq r0, #0x1000
|
|
streq r0, [r6]
|
|
b _0233D8C8
|
|
_0233D64C:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
ldreq r0, _0233D94C ; =0x00005002
|
|
streq r0, [r6]
|
|
b _0233D8C8
|
|
_0233D660:
|
|
bl ov07_0233CAE8
|
|
cmp r0, #0
|
|
beq _0233D8C8
|
|
cmp r0, #1
|
|
bne _0233D6A0
|
|
bl ov07_0233CCF0
|
|
cmp r0, #0
|
|
beq _0233D6A0
|
|
ldr r1, _0233D944 ; =0x00003725
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r1, _0233D950 ; =0x00005004
|
|
mov r0, #1
|
|
str r1, [r6]
|
|
strb r0, [r6, #0x309 + OV07_0233CF90_STORE_OFFSET]
|
|
b _0233D6F0
|
|
_0233D6A0:
|
|
mov r8, #0
|
|
add r7, r6, #0x58
|
|
add r5, r6, #0x4c
|
|
mov r4, #0x18
|
|
_0233D6B0:
|
|
mul r2, r8, r4
|
|
mov r0, r8, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
add r1, r7, r2
|
|
add r2, r5, r2
|
|
bl ov00_022BCF6C
|
|
add r8, r8, #1
|
|
cmp r8, #0x10
|
|
blt _0233D6B0
|
|
ldr r1, _0233D954 ; =0x00003726
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r1, _0233D950 ; =0x00005004
|
|
mov r0, #0
|
|
str r1, [r6]
|
|
strb r0, [r6, #0x309 + OV07_0233CF90_STORE_OFFSET]
|
|
_0233D6F0:
|
|
bl ov07_0233CD04
|
|
b _0233D8C8
|
|
_0233D6F8:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _0233D8C8
|
|
mov r0, #1
|
|
strb r0, [r6, #0x308 + OV07_0233CF90_STORE_OFFSET]
|
|
bl ov00_022BD2F4
|
|
cmp r0, #0
|
|
movne r0, #0x1000
|
|
strne r0, [r6]
|
|
moveq r0, #0x7000
|
|
streq r0, [r6]
|
|
b _0233D8C8
|
|
_0233D728:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _0233D8C8
|
|
ldrb r0, [r6, #0x309 + OV07_0233CF90_STORE_OFFSET]
|
|
cmp r0, #0
|
|
moveq r0, #0x1000
|
|
streq r0, [r6]
|
|
movne r0, #0x7000
|
|
strne r0, [r6]
|
|
b _0233D8C8
|
|
_0233D750:
|
|
bl ov07_0233F678
|
|
mov r4, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #1
|
|
bl ov01_02337938
|
|
cmp r4, #1
|
|
bne _0233D7D8
|
|
ldr r0, [r6, #0x1cc]
|
|
add r0, r6, r0, lsl #2
|
|
ldrh r0, [r0, #0xc]
|
|
bl ov00_022BD284
|
|
cmp r0, #0
|
|
ldr r0, [r6, #0x1cc]
|
|
beq _0233D7A8
|
|
add r0, r6, r0, lsl #2
|
|
ldrh r0, [r0, #0xc]
|
|
mov r1, #0
|
|
bl ov00_022BD2A4
|
|
ldr r1, _0233D958 ; =0x0000372D
|
|
b _0233D7BC
|
|
_0233D7A8:
|
|
add r0, r6, r0, lsl #2
|
|
ldrh r0, [r0, #0xc]
|
|
mov r1, #1
|
|
bl ov00_022BD2A4
|
|
ldr r1, _0233D95C ; =0x0000372B
|
|
_0233D7BC:
|
|
mov r2, #1
|
|
mov r0, #0x1c
|
|
strb r2, [r6, #0x308 + OV07_0233CF90_STORE_OFFSET]
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233D960 ; =0x00006001
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D7D8:
|
|
cmp r4, #2
|
|
cmpne r4, #0x15
|
|
moveq r0, #0x1000
|
|
streq r0, [r6]
|
|
b _0233D8C8
|
|
_0233D7EC:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
moveq r0, #0x1000
|
|
streq r0, [r6]
|
|
b _0233D8C8
|
|
_0233D800:
|
|
bl ov00_022BD780
|
|
ldr r1, _0233D964 ; =0x0000023B
|
|
mov r0, #0
|
|
bl ov07_0233F6AC
|
|
ldr r1, _0233D968 ; =0x00007001
|
|
mov r0, #0
|
|
str r1, [r6]
|
|
strb r0, [r6, #0x309 + OV07_0233CF90_STORE_OFFSET]
|
|
strb r0, [r6, #0x308 + OV07_0233CF90_STORE_OFFSET]
|
|
b _0233D8C8
|
|
_0233D828:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _0233D8C8
|
|
mov r0, #0xe0
|
|
mov r1, #0x88
|
|
mov r2, #1
|
|
bl sub_02029F88
|
|
ldr r0, _0233D8E0 ; =0x00007002
|
|
str r0, [r6]
|
|
bl sub_02003B94
|
|
b _0233D8C8
|
|
_0233D854:
|
|
mov r0, #3
|
|
bl NoteSaveBase
|
|
mov r4, r0
|
|
bl sub_02003BC8
|
|
bl sub_02029FBC
|
|
cmp r4, #0
|
|
bne _0233D888
|
|
mov r0, #0x1c
|
|
mov r1, #0x23c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233D96C ; =0x00007003
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D888:
|
|
cmp r4, #1
|
|
moveq r0, #2
|
|
beq _0233D8CC
|
|
ldr r1, _0233D970 ; =0x00000239
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233D96C ; =0x00007003
|
|
str r0, [r6]
|
|
b _0233D8C8
|
|
_0233D8AC:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
ldreq r0, _0233D900 ; =0x0000F001
|
|
streq r0, [r6]
|
|
b _0233D8C8
|
|
_0233D8C0:
|
|
mov r0, #1
|
|
b _0233D8CC
|
|
_0233D8C8:
|
|
mov r0, #0
|
|
_0233D8CC:
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_0233D8D4: .word ov07_02341B64
|
|
_0233D8D8: .word 0x00005001
|
|
_0233D8DC: .word 0x00001002
|
|
_0233D8E0: .word 0x00007002
|
|
_0233D8E4: .word 0x00003714 + OV07_0233CFF0_LOAD_OFFSET
|
|
_0233D8E8: .word 0x00001001
|
|
_0233D8EC: .word 0x00003715 + OV07_0233CFF0_LOAD_OFFSET
|
|
_0233D8F0: .word ov07_0233DAA8
|
|
_0233D8F4: .word ov07_02341AAC
|
|
_0233D8F8: .word 0x00441C37
|
|
_0233D8FC: .word ov07_0233D9DC
|
|
_0233D900: .word 0x0000F001
|
|
_0233D904: .word ov07_02341994
|
|
_0233D908: .word 0x0000371F + OV07_0233CFF0_LOAD_OFFSET
|
|
_0233D90C: .word ov07_02341ABC
|
|
_0233D910: .word ov07_0233DB50
|
|
_0233D914: .word ov07_02341A20
|
|
_0233D918: .word ov07_02341A1C
|
|
_0233D91C: .word 0x0000371A + OV07_0233CFF0_LOAD_OFFSET
|
|
_0233D920: .word 0x00000233
|
|
_0233D924: .word 0x00003001
|
|
_0233D928: .word ov07_02341964
|
|
_0233D92C: .word 0x00003722 + OV07_0233CFF0_LOAD_OFFSET
|
|
#ifndef EUROPE
|
|
_0233D930: .word 0x0000372C
|
|
_0233D934: .word 0x0000372A
|
|
_0233D938: .word ov07_02341934
|
|
#endif
|
|
_0233D93C: .word 0x00004001
|
|
_0233D940: .word 0x00003727 + OV07_0233CFF0_LOAD_OFFSET
|
|
_0233D944: .word 0x00003725 + OV07_0233CFF0_LOAD_OFFSET
|
|
_0233D948: .word 0x00005003
|
|
_0233D94C: .word 0x00005002
|
|
_0233D950: .word 0x00005004
|
|
_0233D954: .word 0x00003726 + OV07_0233CFF0_LOAD_OFFSET
|
|
_0233D958: .word 0x0000372D + OV07_0233CFF0_LOAD_OFFSET
|
|
_0233D95C: .word 0x0000372B + OV07_0233CFF0_LOAD_OFFSET
|
|
_0233D960: .word 0x00006001
|
|
_0233D964: .word 0x0000023B
|
|
_0233D968: .word 0x00007001
|
|
_0233D96C: .word 0x00007003
|
|
_0233D970: .word 0x00000239
|
|
arm_func_end ov07_0233CFF0
|
|
|
|
arm_func_start ov07_0233D974
|
|
ov07_0233D974: ; 0x0233D974
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0233D99C ; =ov07_02341B64
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl MemFree
|
|
ldr r0, _0233D99C ; =ov07_02341B64
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233D99C: .word ov07_02341B64
|
|
arm_func_end ov07_0233D974
|
|
|
|
arm_func_start ov07_0233D9A0
|
|
ov07_0233D9A0: ; 0x0233D9A0
|
|
ldr r0, _0233D9D8 ; =ov07_02341B64
|
|
mov ip, #0
|
|
ldr r2, [r0]
|
|
mov r0, ip
|
|
ldr r3, [r2, #8]
|
|
b _0233D9CC
|
|
_0233D9B8:
|
|
add r1, r2, ip, lsl #2
|
|
ldrb r1, [r1, #0xe]
|
|
add ip, ip, #1
|
|
cmp r1, #0
|
|
addne r0, r0, #1
|
|
_0233D9CC:
|
|
cmp ip, r3
|
|
blt _0233D9B8
|
|
bx lr
|
|
.align 2, 0
|
|
_0233D9D8: .word ov07_02341B64
|
|
arm_func_end ov07_0233D9A0
|
|
|
|
arm_func_start ov07_0233D9DC
|
|
ov07_0233D9DC: ; 0x0233D9DC
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x154
|
|
ldr r3, _0233DA9C ; =ov07_02341B64
|
|
mov r6, r1, lsl #2
|
|
ldr r3, [r3]
|
|
mov r5, r0
|
|
add r7, r3, #0xc
|
|
ldrh r0, [r7, r6]
|
|
mov r4, r2
|
|
add r8, r7, r1, lsl #2
|
|
bl ov00_022BD108
|
|
add r0, sp, #4
|
|
bl InitPreprocessorArgs
|
|
add r0, sp, #0x54
|
|
mov r1, #0x16
|
|
bl MemZero
|
|
ldrh r0, [r7, r6]
|
|
bl ov00_022BD0D4
|
|
mov r1, r0
|
|
add r0, sp, #0x54
|
|
mov r2, #0xa
|
|
bl StrncpySimpleNoPadSafe
|
|
add r1, sp, #0x54
|
|
str r1, [sp, #0x3c]
|
|
add r0, sp, #4
|
|
str r0, [sp]
|
|
ldr r2, _0233DAA0 ; =0x00003716
|
|
mov r0, r5
|
|
mov r1, #0x100
|
|
mov r3, #0
|
|
bl PreprocessStringFromId
|
|
ldr r1, _0233DAA4 ; =ov07_02341ACC
|
|
mov r0, r5
|
|
bl strcat
|
|
ldrh r1, [r7, r6]
|
|
add r0, sp, #0x54
|
|
bl ov07_0233DC48
|
|
mov r0, r5
|
|
add r1, sp, #0x54
|
|
bl strcat
|
|
ldrb r0, [r8, #2]
|
|
cmp r0, #0
|
|
movne r0, #1
|
|
moveq r0, #0
|
|
str r0, [r4]
|
|
mov r0, r5
|
|
add sp, sp, #0x154
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0233DA9C: .word ov07_02341B64
|
|
#ifdef EUROPE
|
|
_0233DAA0: .word 0x00003718
|
|
#else
|
|
_0233DAA0: .word 0x00003716
|
|
#endif
|
|
_0233DAA4: .word ov07_02341ACC
|
|
arm_func_end ov07_0233D9DC
|
|
|
|
arm_func_start ov07_0233DAA8
|
|
ov07_0233DAA8: ; 0x0233DAA8
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r1, _0233DB4C ; =ov07_02341B64
|
|
mov r6, r0
|
|
ldr r4, [r1]
|
|
ldrsb r0, [r4, #4]
|
|
bl sub_0202C748
|
|
mov r5, r0
|
|
tst r6, #0x400
|
|
beq _0233DB44
|
|
mov r0, #6
|
|
bl PlaySeVolumeWrapper
|
|
add r2, r4, r5, lsl #2
|
|
ldrb r0, [r2, #0xe]
|
|
cmp r0, #0
|
|
beq _0233DB2C
|
|
mov r1, #0
|
|
strb r1, [r2, #0xe]
|
|
mov r2, #1
|
|
b _0233DB0C
|
|
_0233DAF4:
|
|
add r0, r4, r1, lsl #2
|
|
ldrb r0, [r0, #0xe]
|
|
cmp r0, #0
|
|
movne r2, #0
|
|
bne _0233DB14
|
|
add r1, r1, #1
|
|
_0233DB0C:
|
|
cmp r1, #0x10
|
|
blt _0233DAF4
|
|
_0233DB14:
|
|
cmp r2, #0
|
|
beq _0233DB3C
|
|
ldrsb r0, [r4, #4]
|
|
mov r1, #0
|
|
bl sub_0202D07C
|
|
b _0233DB3C
|
|
_0233DB2C:
|
|
mov r1, #1
|
|
strb r1, [r2, #0xe]
|
|
ldrsb r0, [r4, #4]
|
|
bl sub_0202D07C
|
|
_0233DB3C:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_0233DB44:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0233DB4C: .word ov07_02341B64
|
|
arm_func_end ov07_0233DAA8
|
|
|
|
arm_func_start ov07_0233DB50
|
|
ov07_0233DB50: ; 0x0233DB50
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0x54
|
|
ldr r1, _0233DC3C ; =ov07_02341B64
|
|
mov r4, r0
|
|
ldr r1, [r1]
|
|
ldr r0, [r1, #0x1cc]
|
|
add r8, r1, #0xc
|
|
mov r7, r0, lsl #2
|
|
ldrh r0, [r8, r7]
|
|
bl ov00_022BD108
|
|
mov r0, #0x100
|
|
mov r1, #0xf
|
|
bl MemAlloc
|
|
mov r6, r0
|
|
mov r0, #0x100
|
|
mov r1, #0xf
|
|
bl MemAlloc
|
|
mov r5, r0
|
|
add r0, sp, #4
|
|
bl InitPreprocessorArgs
|
|
mov r0, r6
|
|
mov r1, #0x16
|
|
bl MemZero
|
|
ldrh r0, [r8, r7]
|
|
bl ov00_022BD0D4
|
|
mov r1, r0
|
|
mov r0, r6
|
|
mov r2, #0xa
|
|
bl StrncpySimpleNoPadSafe
|
|
str r6, [sp, #0x3c]
|
|
add r1, sp, #4
|
|
str r1, [sp]
|
|
ldr r2, _0233DC40 ; =0x00003716
|
|
mov r0, r5
|
|
mov r1, #0x100
|
|
mov r3, #0
|
|
bl PreprocessStringFromId
|
|
ldr r1, _0233DC44 ; =ov07_02341ACC
|
|
mov r0, r5
|
|
bl strcat
|
|
ldrh r1, [r8, r7]
|
|
mov r0, r6
|
|
bl ov07_0233DC48
|
|
mov r0, r5
|
|
mov r1, r6
|
|
bl strcat
|
|
mov r0, r4
|
|
mov r1, #4
|
|
mov r2, #2
|
|
mov r3, r5
|
|
bl DrawTextInWindow
|
|
mov r0, r6
|
|
bl MemFree
|
|
mov r0, r5
|
|
bl MemFree
|
|
mov r0, r4
|
|
bl UpdateWindow
|
|
add sp, sp, #0x54
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
_0233DC3C: .word ov07_02341B64
|
|
#ifdef EUROPE
|
|
_0233DC40: .word 0x00003718
|
|
#else
|
|
_0233DC40: .word 0x00003716
|
|
#endif
|
|
_0233DC44: .word ov07_02341ACC
|
|
arm_func_end ov07_0233DB50
|
|
|
|
arm_func_start ov07_0233DC48
|
|
ov07_0233DC48: ; 0x0233DC48
|
|
stmdb sp!, {r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x54
|
|
mov r6, r1
|
|
mov r7, r0
|
|
mov r0, r6
|
|
bl ov00_022BD108
|
|
mov r4, r0
|
|
add r0, sp, #4
|
|
mov r5, r1
|
|
bl InitPreprocessorArgs
|
|
mov r0, r6
|
|
bl ov00_022BD2C0
|
|
cmp r0, #0
|
|
beq _0233DCB0
|
|
mov r0, r6
|
|
bl ov00_022BD284
|
|
cmp r0, #0
|
|
beq _0233DCA0
|
|
ldr r1, _0233DD44 ; =0x00003719
|
|
mov r0, r7
|
|
bl GetStringFromFileVeneer
|
|
b _0233DD3C
|
|
_0233DCA0:
|
|
ldr r1, _0233DD48 ; =0x00003718
|
|
mov r0, r7
|
|
bl GetStringFromFileVeneer
|
|
b _0233DD3C
|
|
_0233DCB0:
|
|
mov r3, #0
|
|
cmp r5, #0
|
|
cmpeq r4, #0
|
|
streqb r3, [r7]
|
|
beq _0233DD3C
|
|
ldr r2, _0233DD4C ; =0x00002710
|
|
mov r0, r4
|
|
mov r1, r5
|
|
bl sub_0208FE48
|
|
str r0, [sp, #0x30]
|
|
ldr r2, _0233DD4C ; =0x00002710
|
|
mov r0, r4
|
|
mov r1, r5
|
|
mov r3, #0
|
|
bl sub_0208FE3C
|
|
ldr r2, _0233DD4C ; =0x00002710
|
|
mov r3, #0
|
|
bl sub_0208FE48
|
|
str r0, [sp, #0x2c]
|
|
ldr r2, _0233DD50 ; =0x05F5E100
|
|
mov r0, r4
|
|
mov r1, r5
|
|
mov r3, #0
|
|
bl sub_0208FE3C
|
|
ldr r2, _0233DD4C ; =0x00002710
|
|
mov r3, #0
|
|
bl sub_0208FE48
|
|
str r0, [sp, #0x28]
|
|
add r2, sp, #4
|
|
str r2, [sp]
|
|
ldr r2, _0233DD54 ; =0x00003717
|
|
mov r0, r7
|
|
mov r1, #0x100
|
|
mov r3, #0
|
|
bl PreprocessStringFromId
|
|
_0233DD3C:
|
|
add sp, sp, #0x54
|
|
ldmia sp!, {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
#ifdef EUROPE
|
|
#define OV07_0233DC48_OFFSET 2
|
|
#else
|
|
#define OV07_0233DC48_OFFSET 0
|
|
#endif
|
|
_0233DD44: .word 0x00003719 + OV07_0233DC48_OFFSET
|
|
_0233DD48: .word 0x00003718 + OV07_0233DC48_OFFSET
|
|
_0233DD4C: .word 0x00002710
|
|
_0233DD50: .word 0x05F5E100
|
|
_0233DD54: .word 0x00003717 + OV07_0233DC48_OFFSET
|
|
arm_func_end ov07_0233DC48
|
|
|
|
arm_func_start ov07_0233DD58
|
|
ov07_0233DD58: ; 0x0233DD58
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
mov r0, #0x58
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r2, _0233DE58 ; =ov07_02341B68
|
|
mov r1, #0x58
|
|
str r0, [r2]
|
|
bl MemZero
|
|
ldr r0, _0233DE58 ; =ov07_02341B68
|
|
mov lr, #0
|
|
ldr r1, [r0]
|
|
ldr r3, _0233DE5C ; =0xD4A51000
|
|
str lr, [r1]
|
|
ldr r1, [r0]
|
|
mov r2, #0xe8
|
|
str r4, [r1, #4]
|
|
ldr ip, [r0]
|
|
mov r1, #1
|
|
str r3, [ip, #0x34]
|
|
str r2, [ip, #0x38]
|
|
strb lr, [ip, #0x54]
|
|
ldr r0, [r0]
|
|
cmp r4, #0
|
|
strb r1, [r0, #0x55]
|
|
ldmltia sp!, {r4, pc}
|
|
mov r0, r4, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bl ov00_022BD108
|
|
cmp r1, #0
|
|
cmpeq r0, #0
|
|
mov r2, #0
|
|
beq _0233DE10
|
|
ldr r3, _0233DE58 ; =ov07_02341B68
|
|
mov r2, r4, lsl #0x10
|
|
ldr r3, [r3]
|
|
str r0, [r3, #0x34]
|
|
mov r0, r2, lsr #0x10
|
|
str r1, [r3, #0x38]
|
|
bl ov00_022BD2C0
|
|
cmp r0, #0
|
|
ldrne r0, _0233DE58 ; =ov07_02341B68
|
|
movne r1, #0
|
|
ldrne r0, [r0]
|
|
strneb r1, [r0, #0x55]
|
|
b _0233DE1C
|
|
_0233DE10:
|
|
ldr r0, _0233DE58 ; =ov07_02341B68
|
|
ldr r0, [r0]
|
|
strb r2, [r0, #0x55]
|
|
_0233DE1C:
|
|
mov r0, r4, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bl ov00_022BD0D4
|
|
ldr r2, _0233DE58 ; =ov07_02341B68
|
|
mov r1, r0
|
|
ldr r0, [r2]
|
|
mov r2, #0xa
|
|
add r0, r0, #8
|
|
bl MemcpySimple
|
|
ldr r0, _0233DE58 ; =ov07_02341B68
|
|
ldr r1, [r0]
|
|
add r0, r1, #0x1c
|
|
add r1, r1, #8
|
|
bl StrcpySimple
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0233DE58: .word ov07_02341B68
|
|
_0233DE5C: .word 0xD4A51000
|
|
arm_func_end ov07_0233DD58
|
|
|
|
arm_func_start ov07_0233DE60
|
|
ov07_0233DE60: ; 0x0233DE60
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x254
|
|
ldr r0, _0233E4A8 ; =ov07_02341B68
|
|
ldr r3, _0233E4AC ; =0x00002004
|
|
ldr r4, [r0]
|
|
ldr r0, [r4]
|
|
cmp r0, r3
|
|
bgt _0233DEFC
|
|
bge _0233E294
|
|
cmp r0, #0x2000
|
|
bgt _0233DECC
|
|
bge _0233E1C0
|
|
cmp r0, #0
|
|
bgt _0233DEA0
|
|
beq _0233DF84
|
|
b _0233E49C
|
|
_0233DEA0:
|
|
sub r1, r0, #0x1000
|
|
cmp r1, #6
|
|
addls pc, pc, r1, lsl #2
|
|
b _0233E49C
|
|
_0233DEB0: ; jump table
|
|
b _0233DFE4 ; case 0
|
|
b _0233E49C ; case 1
|
|
b _0233E000 ; case 2
|
|
b _0233E03C ; case 3
|
|
b _0233E124 ; case 4
|
|
b _0233E15C ; case 5
|
|
b _0233E1A4 ; case 6
|
|
_0233DECC:
|
|
ldr r1, _0233E4B0 ; =0x00002002
|
|
cmp r0, r1
|
|
bgt _0233DEEC
|
|
bge _0233E220
|
|
sub r1, r1, #1
|
|
cmp r0, r1
|
|
beq _0233E1E0
|
|
b _0233E49C
|
|
_0233DEEC:
|
|
add r1, r1, #1
|
|
cmp r0, r1
|
|
beq _0233E26C
|
|
b _0233E49C
|
|
_0233DEFC:
|
|
ldr r2, _0233E4B4 ; =0x00003002
|
|
cmp r0, r2
|
|
bgt _0233DF54
|
|
bge _0233E40C
|
|
cmp r0, #0x3000
|
|
bgt _0233DF44
|
|
bge _0233E3C4
|
|
add r1, r3, #2
|
|
cmp r0, r1
|
|
bgt _0233E49C
|
|
add r1, r3, #1
|
|
cmp r0, r1
|
|
blt _0233E49C
|
|
beq _0233E2C8
|
|
add r1, r3, #2
|
|
cmp r0, r1
|
|
beq _0233E39C
|
|
b _0233E49C
|
|
_0233DF44:
|
|
sub r1, r2, #1
|
|
cmp r0, r1
|
|
beq _0233E3E0
|
|
b _0233E49C
|
|
_0233DF54:
|
|
ldr r1, _0233E4B8 ; =0x0000F001
|
|
cmp r0, r1
|
|
bgt _0233DF74
|
|
bge _0233E478
|
|
add r1, r2, #1
|
|
cmp r0, r1
|
|
beq _0233E464
|
|
b _0233E49C
|
|
_0233DF74:
|
|
add r1, r1, #1
|
|
cmp r0, r1
|
|
beq _0233E48C
|
|
b _0233E49C
|
|
_0233DF84:
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0
|
|
bge _0233DFC4
|
|
bl ov00_022BD398
|
|
cmp r0, #0
|
|
beq _0233DFAC
|
|
bl sub_02046D20
|
|
mov r0, #0x1000
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233DFAC:
|
|
ldr r1, _0233E4BC ; =0x00003704
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233E4C0 ; =0x0000F002
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233DFC4:
|
|
bl sub_02046D20
|
|
ldrb r0, [r4, #0x55]
|
|
cmp r0, #0
|
|
movne r0, #0x1000
|
|
strne r0, [r4]
|
|
moveq r0, #0x2000
|
|
streq r0, [r4]
|
|
b _0233E49C
|
|
_0233DFE4:
|
|
ldr r1, [r4, #0x34]
|
|
ldr r2, [r4, #0x38]
|
|
mov r0, #0
|
|
bl ov01_0233580C
|
|
ldr r0, _0233E4C4 ; =0x00001002
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E000:
|
|
bl ov01_02336014
|
|
cmp r0, #2
|
|
bne _0233E028
|
|
bl ov01_023370AC
|
|
str r0, [r4, #0x34]
|
|
str r1, [r4, #0x38]
|
|
bl ov01_02335FA8
|
|
ldr r0, _0233E4C8 ; =0x00001003
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E028:
|
|
cmp r0, #1
|
|
bne _0233E49C
|
|
bl ov01_02335FA8
|
|
mov r0, #1
|
|
b _0233E4A0
|
|
_0233E03C:
|
|
ldr r1, [r4, #0x34]
|
|
ldr r2, [r4, #0x38]
|
|
add r0, r4, #0x48
|
|
bl ov00_022BD43C
|
|
cmp r0, #0
|
|
bne _0233E06C
|
|
ldr r1, _0233E4CC ; =0x00003705
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233E4D0 ; =0x00001004
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E06C:
|
|
mov r1, #0
|
|
mov r2, r1
|
|
add r0, r4, #0x48
|
|
bl ov00_022BCDBC
|
|
cmp r0, #2
|
|
bne _0233E0D0
|
|
add r0, r4, #0x48
|
|
bl ov00_022BD02C
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
blt _0233E0B8
|
|
cmp r0, r1
|
|
bne _0233E0B8
|
|
ldr r1, _0233E4D4 ; =0x00003708
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233E4D8 ; =0x00001006
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E0B8:
|
|
ldr r1, _0233E4DC ; =0x00003706
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233E4D0 ; =0x00001004
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E0D0:
|
|
cmp r0, #1
|
|
bne _0233E0F0
|
|
ldr r1, _0233E4E0 ; =0x00003707
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233E4D0 ; =0x00001004
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E0F0:
|
|
cmp r0, #4
|
|
mov r0, #0x1c
|
|
bne _0233E110
|
|
ldr r1, _0233E4CC ; =0x00003705
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233E4D0 ; =0x00001004
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E110:
|
|
ldr r1, _0233E4D4 ; =0x00003708
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233E4D8 ; =0x00001006
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E124:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _0233E49C
|
|
mov r0, #4
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
ldr r2, _0233E4E4 ; =ov07_023418BC
|
|
ldr r3, _0233E4E8 ; =0x00003709
|
|
mov r1, r0
|
|
bl ov07_0233F638
|
|
ldr r0, _0233E4EC ; =0x00001005
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E15C:
|
|
bl ov07_0233F678
|
|
mov r5, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #4
|
|
bl ov01_02337938
|
|
cmp r5, #1
|
|
bne _0233E190
|
|
bl sub_02046D20
|
|
mov r0, #0x1000
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E190:
|
|
cmp r5, #2
|
|
cmpne r5, #0x15
|
|
bne _0233E49C
|
|
mov r0, #1
|
|
b _0233E4A0
|
|
_0233E1A4:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _0233E49C
|
|
bl sub_02046D20
|
|
mov r0, #0x2000
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E1C0:
|
|
add r1, r4, #8
|
|
add r3, r4, #0x1c
|
|
mov r0, #1
|
|
mov r2, #0
|
|
bl ShowKeyboard
|
|
ldr r0, _0233E4F0 ; =0x00002001
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E1E0:
|
|
bl GetKeyboardStatus
|
|
str r0, [r4, #0x30]
|
|
cmp r0, #3
|
|
bne _0233E210
|
|
bl GetKeyboardStringResult
|
|
mov r1, r0
|
|
add r0, r4, #8
|
|
mov r2, #0x14
|
|
bl MemcpySimple
|
|
ldr r0, _0233E4B0 ; =0x00002002
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E210:
|
|
cmp r0, #2
|
|
ldreq r0, _0233E4B0 ; =0x00002002
|
|
streq r0, [r4]
|
|
b _0233E49C
|
|
_0233E220:
|
|
bl sub_02037468
|
|
cmp r0, #0
|
|
beq _0233E49C
|
|
ldr r0, [r4, #0x30]
|
|
cmp r0, #3
|
|
ldreq r0, _0233E4F4 ; =0x00002003
|
|
streq r0, [r4]
|
|
beq _0233E49C
|
|
cmp r0, #2
|
|
bne _0233E49C
|
|
ldrb r0, [r4, #0x55]
|
|
cmp r0, #0
|
|
beq _0233E264
|
|
bl sub_02046D20
|
|
mov r0, #0x1000
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E264:
|
|
mov r0, #1
|
|
b _0233E4A0
|
|
_0233E26C:
|
|
add r0, sp, #0x154
|
|
add r1, r4, #8
|
|
mov r2, #0xa
|
|
bl StrncpySimpleNoPadSafe
|
|
add r0, sp, #0x154
|
|
bl sub_0203909C
|
|
bl sub_02039304
|
|
ldr r0, _0233E4AC ; =0x00002004
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E294:
|
|
bl sub_0203931C
|
|
cmp r0, #0
|
|
ldreq r1, _0233E4F8 ; =0x00002005
|
|
moveq r0, #0
|
|
streq r1, [r4]
|
|
streqb r0, [r4, #0x56]
|
|
beq _0233E49C
|
|
cmp r0, #1
|
|
ldreq r1, _0233E4F8 ; =0x00002005
|
|
moveq r0, #1
|
|
streq r1, [r4]
|
|
streqb r0, [r4, #0x56]
|
|
b _0233E49C
|
|
_0233E2C8:
|
|
bl sub_02039218
|
|
cmp r0, #0
|
|
beq _0233E49C
|
|
ldrb r0, [r4, #0x56]
|
|
cmp r0, #0
|
|
beq _0233E2F0
|
|
bl sub_02046D20
|
|
mov r0, #0x2000
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E2F0:
|
|
add r0, r4, #0x3c
|
|
add r1, r4, #8
|
|
mov r2, #0xa
|
|
bl MemcpySimple
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
blt _0233E33C
|
|
ldrb r0, [r4, #0x55]
|
|
cmp r0, #0
|
|
mov r0, r1, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
beq _0233E330
|
|
add r1, r4, #0x48
|
|
add r2, r4, #0x3c
|
|
bl ov00_022BCF6C
|
|
b _0233E34C
|
|
_0233E330:
|
|
add r1, r4, #0x3c
|
|
bl ov00_022BCFD0
|
|
b _0233E34C
|
|
_0233E33C:
|
|
add r0, r4, #0x48
|
|
add r1, r4, #0x3c
|
|
mov r2, #1
|
|
bl ov00_022BCDBC
|
|
_0233E34C:
|
|
mov r1, #1
|
|
add r0, sp, #0x104
|
|
strb r1, [r4, #0x54]
|
|
bl InitPreprocessorArgs
|
|
add r0, sp, #4
|
|
mov r1, #0x16
|
|
bl MemZero
|
|
add r0, sp, #4
|
|
add r1, r4, #8
|
|
mov r2, #0xa
|
|
bl StrncpySimpleNoPadSafe
|
|
add r3, sp, #4
|
|
ldr r1, _0233E4FC ; =0x0000370C
|
|
add r2, sp, #0x104
|
|
mov r0, #0x1c
|
|
str r3, [sp, #0x13c]
|
|
bl ov07_02046BE8
|
|
ldr r0, _0233E500 ; =0x00002006
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E39C:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _0233E49C
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0
|
|
movge r0, #1
|
|
bge _0233E4A0
|
|
mov r0, #0x3000
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E3C4:
|
|
bl ov00_022BD780
|
|
ldr r1, _0233E504 ; =0x0000023B
|
|
mov r0, #0
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233E508 ; =0x00003001
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E3E0:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _0233E49C
|
|
mov r0, #0xe0
|
|
mov r1, #0x88
|
|
mov r2, #1
|
|
bl sub_02029F88
|
|
ldr r0, _0233E4B4 ; =0x00003002
|
|
str r0, [r4]
|
|
bl sub_02003B94
|
|
b _0233E49C
|
|
_0233E40C:
|
|
mov r0, #3
|
|
bl NoteSaveBase
|
|
mov r5, r0
|
|
bl sub_02003BC8
|
|
bl sub_02029FBC
|
|
cmp r5, #0
|
|
bne _0233E440
|
|
mov r0, #0x1c
|
|
mov r1, #0x23c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233E50C ; =0x00003003
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E440:
|
|
cmp r5, #1
|
|
moveq r0, #3
|
|
beq _0233E4A0
|
|
ldr r1, _0233E510 ; =0x00000239
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233E50C ; =0x00003003
|
|
str r0, [r4]
|
|
b _0233E49C
|
|
_0233E464:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _0233E49C
|
|
mov r0, #1
|
|
b _0233E4A0
|
|
_0233E478:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _0233E49C
|
|
mov r0, #1
|
|
b _0233E4A0
|
|
_0233E48C:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
moveq r0, #2
|
|
beq _0233E4A0
|
|
_0233E49C:
|
|
mov r0, #0
|
|
_0233E4A0:
|
|
add sp, sp, #0x254
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
#ifdef EUROPE
|
|
#define OV07_0233DE60_OFFSET 2
|
|
#else
|
|
#define OV07_0233DE60_OFFSET 0
|
|
#endif
|
|
_0233E4A8: .word ov07_02341B68
|
|
_0233E4AC: .word 0x00002004
|
|
_0233E4B0: .word 0x00002002
|
|
_0233E4B4: .word 0x00003002
|
|
_0233E4B8: .word 0x0000F001
|
|
_0233E4BC: .word 0x00003704 + OV07_0233DE60_OFFSET
|
|
_0233E4C0: .word 0x0000F002
|
|
_0233E4C4: .word 0x00001002
|
|
_0233E4C8: .word 0x00001003
|
|
_0233E4CC: .word 0x00003705 + OV07_0233DE60_OFFSET
|
|
_0233E4D0: .word 0x00001004
|
|
_0233E4D4: .word 0x00003708 + OV07_0233DE60_OFFSET
|
|
_0233E4D8: .word 0x00001006
|
|
_0233E4DC: .word 0x00003706 + OV07_0233DE60_OFFSET
|
|
_0233E4E0: .word 0x00003707 + OV07_0233DE60_OFFSET
|
|
_0233E4E4: .word ov07_023418BC
|
|
_0233E4E8: .word 0x00003709 + OV07_0233DE60_OFFSET
|
|
_0233E4EC: .word 0x00001005
|
|
_0233E4F0: .word 0x00002001
|
|
_0233E4F4: .word 0x00002003
|
|
_0233E4F8: .word 0x00002005
|
|
_0233E4FC: .word 0x0000370C + OV07_0233DE60_OFFSET
|
|
_0233E500: .word 0x00002006
|
|
_0233E504: .word 0x0000023B
|
|
_0233E508: .word 0x00003001
|
|
_0233E50C: .word 0x00003003
|
|
_0233E510: .word 0x00000239
|
|
arm_func_end ov07_0233DE60
|
|
|
|
arm_func_start ov07_0233E514
|
|
ov07_0233E514: ; 0x0233E514
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0233E53C ; =ov07_02341B68
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl MemFree
|
|
ldr r0, _0233E53C ; =ov07_02341B68
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233E53C: .word ov07_02341B68
|
|
arm_func_end ov07_0233E514
|
|
|
|
arm_func_start ov07_0233E540
|
|
ov07_0233E540: ; 0x0233E540
|
|
ldr r0, _0233E550 ; =ov07_02341B68
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, #0x54]
|
|
bx lr
|
|
.align 2, 0
|
|
_0233E550: .word ov07_02341B68
|
|
arm_func_end ov07_0233E540
|
|
|
|
arm_func_start ov07_0233E554
|
|
ov07_0233E554: ; 0x0233E554
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #4
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r2, _0233E588 ; =ov07_02341B6C
|
|
mov r1, #4
|
|
str r0, [r2]
|
|
bl MemZero
|
|
ldr r0, _0233E588 ; =ov07_02341B6C
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233E588: .word ov07_02341B6C
|
|
arm_func_end ov07_0233E554
|
|
|
|
arm_func_start ov07_0233E58C
|
|
ov07_0233E58C: ; 0x0233E58C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0233E5C4 ; =ov07_02341B6C
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r0, #1
|
|
bl ov00_022BCBAC
|
|
ldr r0, _0233E5C4 ; =ov07_02341B6C
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, _0233E5C4 ; =ov07_02341B6C
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233E5C4: .word ov07_02341B6C
|
|
arm_func_end ov07_0233E58C
|
|
|
|
arm_func_start ov07_0233E5C8
|
|
ov07_0233E5C8: ; 0x0233E5C8
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0xa4
|
|
ldr r0, _0233E9A8 ; =ov07_02341B6C
|
|
ldr r4, [r0]
|
|
ldr r0, [r4]
|
|
cmp r0, #0xc
|
|
addls pc, pc, r0, lsl #2
|
|
b _0233E99C
|
|
_0233E5E8: ; jump table
|
|
b _0233E61C ; case 0
|
|
b _0233E644 ; case 1
|
|
b _0233E658 ; case 2
|
|
b _0233E750 ; case 3
|
|
b _0233E764 ; case 4
|
|
b _0233E7A4 ; case 5
|
|
b _0233E7B4 ; case 6
|
|
b _0233E874 ; case 7
|
|
b _0233E8BC ; case 8
|
|
b _0233E904 ; case 9
|
|
b _0233E944 ; case 10
|
|
b _0233E954 ; case 11
|
|
b _0233E984 ; case 12
|
|
_0233E61C:
|
|
bl sub_0204A1CC
|
|
bl ov00_022BCA80
|
|
cmp r0, #3
|
|
movne r0, #2
|
|
strne r0, [r4]
|
|
bne _0233E99C
|
|
bl ov01_02339888
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
b _0233E99C
|
|
_0233E644:
|
|
bl ov01_023398A4
|
|
cmp r0, #0
|
|
movne r0, #2
|
|
strne r0, [r4]
|
|
b _0233E99C
|
|
_0233E658:
|
|
bl ov00_022BCCAC
|
|
cmp r0, #0
|
|
bne _0233E690
|
|
mov r0, #3
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
ldr r2, _0233E9AC ; =ov07_0234191C
|
|
ldr r3, _0233E9B0 ; =0x0000370D
|
|
mov r1, r0
|
|
bl ov07_0233F638
|
|
mov r0, #4
|
|
str r0, [r4]
|
|
b _0233E99C
|
|
_0233E690:
|
|
bl ov00_022BCCF4
|
|
cmp r0, #0
|
|
bne _0233E6C8
|
|
mov r0, #3
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
ldr r2, _0233E9B4 ; =ov07_0234197C
|
|
ldr r3, _0233E9B8 ; =0x00003710
|
|
mov r0, #0
|
|
mov r1, #8
|
|
bl ov07_0233F638
|
|
mov r0, #4
|
|
str r0, [r4]
|
|
b _0233E99C
|
|
_0233E6C8:
|
|
add r0, sp, #0x54
|
|
bl InitPreprocessorArgs
|
|
bl ov00_022BCDA4
|
|
ldr r2, _0233E9BC ; =0x00002710
|
|
mov r3, #0
|
|
mov r5, r0
|
|
mov r6, r1
|
|
bl sub_0208FE48
|
|
str r0, [sp, #0x80]
|
|
ldr r2, _0233E9BC ; =0x00002710
|
|
mov r0, r5
|
|
mov r1, r6
|
|
mov r3, #0
|
|
bl sub_0208FE3C
|
|
ldr r2, _0233E9BC ; =0x00002710
|
|
mov r3, #0
|
|
bl sub_0208FE48
|
|
str r0, [sp, #0x7c]
|
|
ldr r2, _0233E9C0 ; =0x05F5E100
|
|
mov r1, r6
|
|
mov r0, r5
|
|
mov r3, #0
|
|
bl sub_0208FE3C
|
|
ldr r2, _0233E9BC ; =0x00002710
|
|
mov r3, #0
|
|
bl sub_0208FE48
|
|
str r0, [sp, #0x78]
|
|
ldr r1, _0233E9C4 ; =0x00003713
|
|
mov r0, #0x1c
|
|
add r2, sp, #0x54
|
|
bl ov07_02046BE8
|
|
mov r0, #3
|
|
str r0, [r4]
|
|
b _0233E99C
|
|
_0233E750:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _0233E99C
|
|
mov r0, #2
|
|
b _0233E9A0
|
|
_0233E764:
|
|
bl ov07_0233F678
|
|
mov r5, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #3
|
|
bl ov01_02337938
|
|
cmp r5, #1
|
|
moveq r0, #5
|
|
streq r0, [r4]
|
|
beq _0233E99C
|
|
cmp r5, #2
|
|
cmpne r5, #0x15
|
|
bne _0233E99C
|
|
mov r0, #2
|
|
b _0233E9A0
|
|
_0233E7A4:
|
|
bl ov01_02338A24
|
|
mov r0, #6
|
|
str r0, [r4]
|
|
b _0233E99C
|
|
_0233E7B4:
|
|
bl ov01_02338EC4
|
|
cmp r0, #1
|
|
beq _0233E7D4
|
|
cmp r0, #4
|
|
beq _0233E7E0
|
|
cmp r0, #8
|
|
beq _0233E868
|
|
b _0233E99C
|
|
_0233E7D4:
|
|
bl ov01_02338B08
|
|
mov r0, #2
|
|
b _0233E9A0
|
|
_0233E7E0:
|
|
add r0, sp, #4
|
|
bl InitPreprocessorArgs
|
|
bl ov00_022BCDA4
|
|
ldr r2, _0233E9BC ; =0x00002710
|
|
mov r3, #0
|
|
mov r5, r0
|
|
mov r6, r1
|
|
bl sub_0208FE48
|
|
str r0, [sp, #0x30]
|
|
ldr r2, _0233E9BC ; =0x00002710
|
|
mov r0, r5
|
|
mov r1, r6
|
|
mov r3, #0
|
|
bl sub_0208FE3C
|
|
ldr r2, _0233E9BC ; =0x00002710
|
|
mov r3, #0
|
|
bl sub_0208FE48
|
|
str r0, [sp, #0x2c]
|
|
ldr r2, _0233E9C0 ; =0x05F5E100
|
|
mov r1, r6
|
|
mov r0, r5
|
|
mov r3, #0
|
|
bl sub_0208FE3C
|
|
ldr r2, _0233E9BC ; =0x00002710
|
|
mov r3, #0
|
|
bl sub_0208FE48
|
|
str r0, [sp, #0x28]
|
|
ldr r1, _0233E9C4 ; =0x00003713
|
|
mov r0, #0x1c
|
|
add r2, sp, #4
|
|
bl ov07_02046BE8
|
|
mov r0, #7
|
|
str r0, [r4]
|
|
b _0233E99C
|
|
_0233E868:
|
|
bl ov01_02338B08
|
|
mov r0, #2
|
|
b _0233E9A0
|
|
_0233E874:
|
|
bl ov01_02338EC4
|
|
mov r5, r0
|
|
bl ov07_0233F6C8
|
|
cmp r5, #5
|
|
bne _0233E89C
|
|
bl sub_02046D20
|
|
bl ov01_02338C34
|
|
mov r0, #0xc
|
|
str r0, [r4]
|
|
b _0233E99C
|
|
_0233E89C:
|
|
cmp r0, #0x15
|
|
bne _0233E99C
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl ov01_02338C28
|
|
mov r0, #9
|
|
str r0, [r4]
|
|
b _0233E99C
|
|
_0233E8BC:
|
|
bl ov01_02338EC4
|
|
mov r5, r0
|
|
bl ov07_0233F6C8
|
|
cmp r5, #5
|
|
bne _0233E8E4
|
|
bl sub_02046D20
|
|
bl ov01_02338C34
|
|
mov r0, #0xc
|
|
str r0, [r4]
|
|
b _0233E99C
|
|
_0233E8E4:
|
|
cmp r0, #0x15
|
|
bne _0233E99C
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl ov01_02338C28
|
|
mov r0, #9
|
|
str r0, [r4]
|
|
b _0233E99C
|
|
_0233E904:
|
|
bl ov01_02338EC4
|
|
cmp r0, #6
|
|
bne _0233E930
|
|
bl ov01_02338B08
|
|
bl ov00_022BD274
|
|
cmp r0, #0
|
|
movne r0, #0xa
|
|
strne r0, [r4]
|
|
bne _0233E99C
|
|
mov r0, #2
|
|
b _0233E9A0
|
|
_0233E930:
|
|
cmp r0, #8
|
|
bne _0233E99C
|
|
bl ov01_02338B08
|
|
mov r0, #2
|
|
b _0233E9A0
|
|
_0233E944:
|
|
bl ov01_0233769C
|
|
mov r0, #0xb
|
|
str r0, [r4]
|
|
b _0233E99C
|
|
_0233E954:
|
|
bl ov01_02337718
|
|
cmp r0, #1
|
|
cmpne r0, #3
|
|
bne _0233E970
|
|
bl ov01_023376DC
|
|
mov r0, #2
|
|
b _0233E9A0
|
|
_0233E970:
|
|
cmp r0, #2
|
|
bne _0233E99C
|
|
bl ov01_023376DC
|
|
mov r0, #2
|
|
b _0233E9A0
|
|
_0233E984:
|
|
bl ov01_02338EC4
|
|
cmp r0, #0
|
|
beq _0233E99C
|
|
bl ov01_02338B08
|
|
mov r0, #2
|
|
b _0233E9A0
|
|
_0233E99C:
|
|
mov r0, #0
|
|
_0233E9A0:
|
|
add sp, sp, #0xa4
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
#ifdef EUROPE
|
|
#define OV07_0233E5C8_OFFSET 2
|
|
#else
|
|
#define OV07_0233E5C8_OFFSET 0
|
|
#endif
|
|
_0233E9A8: .word ov07_02341B6C
|
|
_0233E9AC: .word ov07_0234191C
|
|
_0233E9B0: .word 0x0000370D + OV07_0233E5C8_OFFSET
|
|
_0233E9B4: .word ov07_0234197C
|
|
_0233E9B8: .word 0x00003710 + OV07_0233E5C8_OFFSET
|
|
_0233E9BC: .word 0x00002710
|
|
_0233E9C0: .word 0x05F5E100
|
|
_0233E9C4: .word 0x00003713 + OV07_0233E5C8_OFFSET
|
|
arm_func_end ov07_0233E5C8
|
|
|
|
arm_func_start ov07_0233E9C8
|
|
ov07_0233E9C8: ; 0x0233E9C8
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #0xd8
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r2, _0233EA20 ; =ov07_02341B70
|
|
mov r1, #0xd8
|
|
str r0, [r2]
|
|
bl MemZero
|
|
ldr r0, _0233EA20 ; =ov07_02341B70
|
|
mov r3, #0
|
|
ldr r1, [r0]
|
|
mov r2, #1
|
|
str r3, [r1]
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #0xd4]
|
|
ldr r1, [r0]
|
|
str r3, [r1, #4]
|
|
ldr r1, [r0]
|
|
add r0, r1, #0xb3
|
|
bic r0, r0, #0x1f
|
|
str r0, [r1, #0x90]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233EA20: .word ov07_02341B70
|
|
arm_func_end ov07_0233E9C8
|
|
|
|
arm_func_start ov07_0233EA24
|
|
ov07_0233EA24: ; 0x0233EA24
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
add r0, r4, #4
|
|
mov r1, #0xc
|
|
bl ov01_02337B3C
|
|
ldrb r1, [r4, #3]
|
|
cmp r0, r1
|
|
movne r0, #3
|
|
ldmneia sp!, {r4, pc}
|
|
ldrb r0, [r4]
|
|
cmp r0, #0xc
|
|
movne r0, #2
|
|
moveq r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end ov07_0233EA24
|
|
|
|
arm_func_start ov07_0233EA5C
|
|
ov07_0233EA5C: ; 0x0233EA5C
|
|
ldr r0, _0233EA70 ; =ov07_02341B70
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x8e]
|
|
bx lr
|
|
.align 2, 0
|
|
_0233EA70: .word ov07_02341B70
|
|
arm_func_end ov07_0233EA5C
|
|
|
|
arm_func_start ov07_0233EA74
|
|
ov07_0233EA74: ; 0x0233EA74
|
|
stmdb sp!, {r4, lr}
|
|
ldrb r0, [r1]
|
|
cmp r0, #1
|
|
bne _0233EA94
|
|
bl ov01_02337CAC
|
|
ldr r0, _0233EAEC ; =ov07_02341B70
|
|
mov r3, #1
|
|
b _0233EAD4
|
|
_0233EA94:
|
|
ldr r0, _0233EAEC ; =ov07_02341B70
|
|
mov r1, #0x10
|
|
ldr r4, [r0]
|
|
add r0, r4, #0x1c
|
|
bl MemZero
|
|
mov r0, #0xc
|
|
strb r0, [r4, #0x1c]
|
|
bl GetLanguageType
|
|
strb r0, [r4, #0x1e]
|
|
add r0, r4, #0x20
|
|
mov r1, #0xc
|
|
bl ov01_02337B3C
|
|
strb r0, [r4, #0x1f]
|
|
bl ov01_02337CAC
|
|
ldr r0, _0233EAEC ; =ov07_02341B70
|
|
mov r3, #0
|
|
_0233EAD4:
|
|
ldr r2, [r0]
|
|
ldr r1, _0233EAF0 ; =0x00001002
|
|
strb r3, [r2, #0x8d]
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_0233EAEC: .word ov07_02341B70
|
|
_0233EAF0: .word 0x00001002
|
|
arm_func_end ov07_0233EA74
|
|
|
|
arm_func_start ov07_0233EAF4
|
|
ov07_0233EAF4: ; 0x0233EAF4
|
|
stmdb sp!, {r4, r5, r6, r7, r8, sb, lr}
|
|
sub sp, sp, #0x2d4
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r2, _0233F594 ; =0x0000E001
|
|
ldr r4, [r0]
|
|
ldr r0, [r4]
|
|
cmp r0, r2
|
|
bgt _0233EB7C
|
|
bge _0233F468
|
|
cmp r0, #0x1000
|
|
bgt _0233EB44
|
|
bge _0233ECB0
|
|
cmp r0, #1
|
|
bgt _0233F57C
|
|
cmp r0, #0
|
|
blt _0233F57C
|
|
beq _0233EBE8
|
|
cmp r0, #1
|
|
beq _0233EC1C
|
|
b _0233F57C
|
|
_0233EB44:
|
|
ldr r1, _0233F598 ; =0x00001005
|
|
cmp r0, r1
|
|
bgt _0233EB70
|
|
sub r1, r1, #3
|
|
subs r1, r0, r1
|
|
addpl pc, pc, r1, lsl #2
|
|
b _0233F57C
|
|
_0233EB60: ; jump table
|
|
b _0233EE48 ; case 0
|
|
b _0233F0C8 ; case 1
|
|
b _0233F1F4 ; case 2
|
|
b _0233F34C ; case 3
|
|
_0233EB70:
|
|
cmp r0, #0xe000
|
|
beq _0233F3F0
|
|
b _0233F57C
|
|
_0233EB7C:
|
|
add r1, r2, #4
|
|
cmp r0, r1
|
|
bgt _0233EBCC
|
|
add r1, r2, #3
|
|
cmp r0, r1
|
|
blt _0233EBA8
|
|
beq _0233F4DC
|
|
add r1, r2, #4
|
|
cmp r0, r1
|
|
beq _0233F544
|
|
b _0233F57C
|
|
_0233EBA8:
|
|
add r1, r2, #1
|
|
cmp r0, r1
|
|
bgt _0233EBBC
|
|
beq _0233F484
|
|
b _0233F57C
|
|
_0233EBBC:
|
|
add r1, r2, #2
|
|
cmp r0, r1
|
|
beq _0233F4A8
|
|
b _0233F57C
|
|
_0233EBCC:
|
|
cmp r0, #0xf000
|
|
bgt _0233EBDC
|
|
beq _0233F560
|
|
b _0233F57C
|
|
_0233EBDC:
|
|
add r1, r2, #0x1000
|
|
cmp r0, r1
|
|
b _0233F57C
|
|
_0233EBE8:
|
|
mov r0, #0x15
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
ldr r2, _0233F59C ; =ov07_023419DC
|
|
ldr r3, _0233F5A0 ; =0x000036E9
|
|
mov r1, r0
|
|
bl ov07_0233F638
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233EC1C:
|
|
bl ov07_0233F678
|
|
mov r4, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #0x15
|
|
bl ov01_02337938
|
|
cmp r4, #0xd
|
|
bne _0233EC68
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r3, #0x1000
|
|
ldr r1, [r0]
|
|
mov r2, #0
|
|
str r3, [r1]
|
|
ldr r1, [r0]
|
|
str r2, [r1, #8]
|
|
ldr r0, [r0]
|
|
strb r2, [r0, #0x8c]
|
|
b _0233F584
|
|
_0233EC68:
|
|
cmp r4, #0xe
|
|
bne _0233EC98
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r3, #0x1000
|
|
ldr r1, [r0]
|
|
mov r2, #1
|
|
str r3, [r1]
|
|
ldr r1, [r0]
|
|
str r2, [r1, #8]
|
|
ldr r0, [r0]
|
|
strb r2, [r0, #0x8c]
|
|
b _0233F584
|
|
_0233EC98:
|
|
cmp r4, #0x15
|
|
ldreq r0, _0233F590 ; =ov07_02341B70
|
|
ldreq r1, _0233F5A4 ; =0x0000F001
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
b _0233F584
|
|
_0233ECB0:
|
|
add r5, r4, #0x1c
|
|
mov r0, r5
|
|
add r6, r4, #0xc
|
|
mov r1, #0x10
|
|
add r7, r4, #0x44
|
|
add r8, r4, #0x2c
|
|
bl MemZero
|
|
mov r0, r6
|
|
mov r1, #0x10
|
|
bl MemZero
|
|
mov r0, r7
|
|
mov r1, #0x18
|
|
bl MemZero
|
|
mov r0, r8
|
|
mov r1, #0x18
|
|
bl MemZero
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov sb, #0
|
|
ldr r1, [r0]
|
|
mov r2, #0xc
|
|
ldr r3, [r1, #0x90]
|
|
mov r1, #0x11
|
|
strb sb, [r3]
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0x90]
|
|
strb sb, [r0, #1]
|
|
strb r2, [r4, #0x1c]
|
|
strb r1, [r4, #0x44]
|
|
bl GetLanguageType
|
|
strb r0, [r7, #2]
|
|
ldrsb r1, [r7, #2]
|
|
add r0, r7, #4
|
|
strb r1, [r5, #2]
|
|
bl GetMainTeamNameWithCheck
|
|
add r0, r5, #4
|
|
bl ov00_022BCD4C
|
|
add r0, r7, #4
|
|
mov r1, #0x14
|
|
bl ov01_02337B3C
|
|
strb r0, [r7, #3]
|
|
add r0, r5, #4
|
|
mov r1, #0xc
|
|
bl ov01_02337B3C
|
|
strb r0, [r5, #3]
|
|
mov r2, #0x18
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr sb, _0233F5A8 ; =ov01_02337B68
|
|
ldr r1, [r0]
|
|
mov lr, #1
|
|
str r2, [r1, #0x5c]
|
|
ldr r1, [r0]
|
|
mov ip, #0x10
|
|
str r7, [r1, #0x60]
|
|
ldr r1, [r0]
|
|
ldr r4, _0233F5AC ; =ov07_0233EA24
|
|
str r2, [r1, #0x64]
|
|
ldr r2, [r0]
|
|
mov r1, #0
|
|
str r8, [r2, #0x68]
|
|
ldr r3, [r0]
|
|
mov r2, #2
|
|
str sb, [r3, #0x6c]
|
|
ldr r3, [r0]
|
|
strb lr, [r3, #0x70]
|
|
ldr r3, [r0]
|
|
str ip, [r3, #0x74]
|
|
ldr r3, [r0]
|
|
str r5, [r3, #0x78]
|
|
ldr r3, [r0]
|
|
str ip, [r3, #0x7c]
|
|
ldr r3, [r0]
|
|
str r6, [r3, #0x80]
|
|
ldr r3, [r0]
|
|
str r4, [r3, #0x84]
|
|
ldr r3, [r0]
|
|
strb r1, [r3, #0x88]
|
|
str r2, [sp, #0x90]
|
|
ldr r4, [r0]
|
|
add r0, sp, #0x90
|
|
add r2, r4, #0x74
|
|
add r3, r4, #0x5c
|
|
str r2, [sp, #0x98]
|
|
str r3, [sp, #0x94]
|
|
ldr r3, [r4, #8]
|
|
mov r2, #0x20
|
|
str r3, [sp, #0xa0]
|
|
ldrb r3, [r4, #0x8c]
|
|
strb r3, [sp, #0xa4]
|
|
ldr r3, [r4, #0x90]
|
|
str r3, [sp, #0xa8]
|
|
strh r2, [sp, #0xac]
|
|
strb r1, [sp, #0xae]
|
|
str r1, [sp, #0xb0]
|
|
bl ov01_02337BA0
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r3, _0233F5B0 ; =0x00001002
|
|
ldr r2, [r0]
|
|
mov r1, #0
|
|
str r3, [r2]
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x8e]
|
|
b _0233F584
|
|
_0233EE48:
|
|
ldrb r0, [r4, #0x8c]
|
|
cmp r0, #0
|
|
mov r0, #1
|
|
beq _0233EE64
|
|
ldr r1, _0233F5B4 ; =ov07_0233EA5C
|
|
bl ov01_0232B5D0
|
|
b _0233EE6C
|
|
_0233EE64:
|
|
ldr r1, _0233F5B8 ; =ov07_0233EA74
|
|
bl ov01_0232B5D0
|
|
_0233EE6C:
|
|
bl ov01_02337E0C
|
|
mov r4, r0
|
|
cmp r4, #0xf
|
|
bne _0233EEF8
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x8c]
|
|
cmp r0, #0
|
|
ldrne r0, _0233F5BC ; =0x00001003
|
|
strne r0, [r1]
|
|
bne _0233F584
|
|
add r0, sp, #0x284
|
|
bl InitPreprocessorArgs
|
|
add r0, sp, #0x63
|
|
mov r1, #0x2a
|
|
bl MemZero
|
|
ldr r1, _0233F590 ; =ov07_02341B70
|
|
add r0, sp, #0x63
|
|
ldr r1, [r1]
|
|
mov r2, #0xa
|
|
add r1, r1, #0x30
|
|
bl StrncpySimpleNoPadSafe
|
|
add r3, sp, #0x63
|
|
ldr r1, _0233F5C0 ; =0x000036F7
|
|
add r2, sp, #0x284
|
|
mov r0, #0
|
|
str r3, [sp, #0x2bc]
|
|
bl ov07_02046BE8
|
|
mov r0, #0
|
|
bl ov01_02337D00
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r1, _0233F598 ; =0x00001005
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233EEF8:
|
|
cmp r4, #0
|
|
beq _0233F584
|
|
bl ov01_02337C54
|
|
cmp r4, #0xe
|
|
addls pc, pc, r4, lsl #2
|
|
b _0233F584
|
|
_0233EF10: ; jump table
|
|
b _0233F584 ; case 0
|
|
b _0233F0B4 ; case 1
|
|
b _0233F584 ; case 2
|
|
b _0233F584 ; case 3
|
|
b _0233EF4C ; case 4
|
|
b _0233F0B4 ; case 5
|
|
b _0233F0B4 ; case 6
|
|
b _0233F0B4 ; case 7
|
|
b _0233F0B4 ; case 8
|
|
b _0233F0B4 ; case 9
|
|
b _0233F0B4 ; case 10
|
|
b _0233F0B4 ; case 11
|
|
b _0233F0B4 ; case 12
|
|
b _0233F0B4 ; case 13
|
|
b _0233F0B4 ; case 14
|
|
_0233EF4C:
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r1, [r0]
|
|
ldrb r0, [r1, #0x8d]
|
|
cmp r0, #0
|
|
bne _0233EF98
|
|
ldrb r0, [r1, #0x8c]
|
|
cmp r0, #0
|
|
mov r0, #0x1c
|
|
beq _0233EF7C
|
|
#ifdef EUROPE
|
|
ldr r1, _0233FC88 ; =0x00003702
|
|
#else
|
|
mov r1, #0x3700
|
|
#endif
|
|
bl ov07_0233F6AC
|
|
b _0233EF84
|
|
_0233EF7C:
|
|
ldr r1, _0233F5C4 ; =0x000036FF
|
|
bl ov07_0233F6AC
|
|
_0233EF84:
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r1, #0xf000
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233EF98:
|
|
add r0, r1, #0x10
|
|
add r1, r1, #0x30
|
|
mov r2, #0
|
|
bl ov00_022BCDBC
|
|
cmp r0, #2
|
|
bne _0233EFD0
|
|
ldr r1, _0233F5C8 ; =0x00003701
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r1, #0xf000
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233EFD0:
|
|
cmp r0, #3
|
|
bne _0233EFF8
|
|
ldr r1, _0233F5CC ; =0x00003702
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r1, #0xf000
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233EFF8:
|
|
cmp r0, #0
|
|
bne _0233F094
|
|
add r0, sp, #0x234
|
|
bl InitPreprocessorArgs
|
|
add r0, sp, #0x39
|
|
mov r1, #0x2a
|
|
bl MemZero
|
|
ldr r1, _0233F590 ; =ov07_02341B70
|
|
add r0, sp, #0x39
|
|
ldr r1, [r1]
|
|
mov r2, #0xa
|
|
add r1, r1, #0x30
|
|
bl StrncpySimpleNoPadSafe
|
|
add r1, sp, #0x39
|
|
str r1, [sp, #0x26c]
|
|
add r0, sp, #0x19c
|
|
mov r1, #0x98
|
|
bl MemZero
|
|
mov r0, #0x14
|
|
bl ov01_02337928
|
|
ldr r2, _0233F5D0 ; =ov07_023419C8
|
|
ldr r1, _0233F5D4 ; =ov07_023419C4
|
|
ldr r2, [r2, r0, lsl #3]
|
|
ldr r0, _0233F5D8 ; =0x000036FD
|
|
str r2, [sp, #0x19c]
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
add r1, sp, #0x234
|
|
mov r0, #0
|
|
str r1, [sp, #8]
|
|
mov r1, r0
|
|
mov r2, #0x13
|
|
add r3, sp, #0x19c
|
|
bl ov07_0233F64C
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r1, #0xe000
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233F094:
|
|
ldr r1, _0233F5DC ; =0x00003703
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r1, #0xf000
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233F0B4:
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233F0C8:
|
|
bl ov01_02337C90
|
|
cmp r0, #0
|
|
bne _0233F180
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, #0x8e]
|
|
cmp r0, #0
|
|
beq _0233F180
|
|
add r0, sp, #0x14c
|
|
bl InitPreprocessorArgs
|
|
add r0, sp, #0xf
|
|
mov r1, #0x2a
|
|
bl MemZero
|
|
ldr r1, _0233F590 ; =ov07_02341B70
|
|
add r0, sp, #0xf
|
|
ldr r1, [r1]
|
|
mov r2, #0x14
|
|
add r1, r1, #0x30
|
|
bl StrncpySimpleNoPadSafe
|
|
add r1, sp, #0xf
|
|
str r1, [sp, #0x184]
|
|
add r0, sp, #0xb4
|
|
mov r1, #0x98
|
|
bl MemZero
|
|
mov r0, #0x13
|
|
bl ov01_02337928
|
|
ldr r2, _0233F5E0 ; =ov07_023418D8
|
|
ldr r1, _0233F5E4 ; =ov07_023418D4
|
|
ldr r2, [r2, r0, lsl #3]
|
|
ldr r0, _0233F5E8 ; =0x000036F8
|
|
str r2, [sp, #0xb4]
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
add r1, sp, #0x14c
|
|
mov r0, #0
|
|
str r1, [sp, #8]
|
|
mov r1, r0
|
|
mov r2, #0x31
|
|
add r3, sp, #0xb4
|
|
bl ov07_0233F64C
|
|
mov r0, #0
|
|
bl ov01_02337D00
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r1, _0233F5EC ; =0x00001004
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
_0233F180:
|
|
bl ov01_02337E0C
|
|
movs r4, r0
|
|
cmpne r4, #0xf
|
|
beq _0233F584
|
|
bl ov01_02337C54
|
|
cmp r4, #0xf
|
|
addls pc, pc, r4, lsl #2
|
|
b _0233F584
|
|
_0233F1A0: ; jump table
|
|
b _0233F584 ; case 0
|
|
b _0233F1E0 ; case 1
|
|
b _0233F584 ; case 2
|
|
b _0233F584 ; case 3
|
|
b _0233F584 ; case 4
|
|
b _0233F1E0 ; case 5
|
|
b _0233F1E0 ; case 6
|
|
b _0233F1E0 ; case 7
|
|
b _0233F1E0 ; case 8
|
|
b _0233F1E0 ; case 9
|
|
b _0233F1E0 ; case 10
|
|
b _0233F1E0 ; case 11
|
|
b _0233F1E0 ; case 12
|
|
b _0233F1E0 ; case 13
|
|
b _0233F1E0 ; case 14
|
|
b _0233F584 ; case 15
|
|
_0233F1E0:
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233F1F4:
|
|
bl ov01_02337C90
|
|
cmp r0, #0
|
|
bne _0233F2D8
|
|
bl ov07_0233F678
|
|
mov r4, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #0x13
|
|
bl ov01_02337938
|
|
cmp r4, #1
|
|
bne _0233F25C
|
|
ldr r1, _0233F590 ; =ov07_02341B70
|
|
mov r0, #1
|
|
ldr r3, [r1]
|
|
strb r0, [sp, #0xe]
|
|
add r2, sp, #0xe
|
|
mov r1, r0
|
|
strb r0, [r3, #0x8d]
|
|
bl ov01_0232B540
|
|
bl ov01_02337CAC
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r1, _0233F5B0 ; =0x00001002
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F2D8
|
|
_0233F25C:
|
|
cmp r4, #2
|
|
cmpne r4, #0x15
|
|
bne _0233F2D8
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r2, #0
|
|
ldr r4, [r0]
|
|
mov r1, #0x10
|
|
add r0, r4, #0x1c
|
|
strb r2, [sp, #0xd]
|
|
bl MemZero
|
|
mov r0, #0xc
|
|
strb r0, [r4, #0x1c]
|
|
bl GetLanguageType
|
|
strb r0, [r4, #0x1e]
|
|
add r0, r4, #0x20
|
|
mov r1, #0xc
|
|
bl ov01_02337B3C
|
|
strb r0, [r4, #0x1f]
|
|
ldr r1, _0233F590 ; =ov07_02341B70
|
|
mov r0, #1
|
|
ldr r3, [r1]
|
|
mov r4, #0
|
|
add r2, sp, #0xd
|
|
mov r1, r0
|
|
strb r4, [r3, #0x8d]
|
|
bl ov01_0232B540
|
|
bl ov01_02337CAC
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r1, _0233F5B0 ; =0x00001002
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
_0233F2D8:
|
|
bl ov01_02337E0C
|
|
movs r4, r0
|
|
cmpne r4, #0xf
|
|
beq _0233F584
|
|
bl ov01_02337C54
|
|
cmp r4, #0xf
|
|
addls pc, pc, r4, lsl #2
|
|
b _0233F584
|
|
_0233F2F8: ; jump table
|
|
b _0233F584 ; case 0
|
|
b _0233F338 ; case 1
|
|
b _0233F584 ; case 2
|
|
b _0233F584 ; case 3
|
|
b _0233F584 ; case 4
|
|
b _0233F338 ; case 5
|
|
b _0233F338 ; case 6
|
|
b _0233F338 ; case 7
|
|
b _0233F338 ; case 8
|
|
b _0233F338 ; case 9
|
|
b _0233F338 ; case 10
|
|
b _0233F338 ; case 11
|
|
b _0233F338 ; case 12
|
|
b _0233F338 ; case 13
|
|
b _0233F338 ; case 14
|
|
b _0233F584 ; case 15
|
|
_0233F338:
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233F34C:
|
|
bl ov01_02337C90
|
|
cmp r0, #0
|
|
bne _0233F380
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _0233F380
|
|
mov r0, #1
|
|
add r2, sp, #0xc
|
|
mov r1, r0
|
|
strb r0, [sp, #0xc]
|
|
bl ov01_0232B540
|
|
cmp r0, #0
|
|
beq _0233F584
|
|
_0233F380:
|
|
bl ov01_02337E0C
|
|
movs r4, r0
|
|
cmpne r4, #0xf
|
|
beq _0233F584
|
|
bl ov01_02337C54
|
|
cmp r4, #0xe
|
|
addls pc, pc, r4, lsl #2
|
|
b _0233F584
|
|
_0233F3A0: ; jump table
|
|
b _0233F584 ; case 0
|
|
b _0233F3DC ; case 1
|
|
b _0233F584 ; case 2
|
|
b _0233F584 ; case 3
|
|
b _0233F584 ; case 4
|
|
b _0233F3DC ; case 5
|
|
b _0233F3DC ; case 6
|
|
b _0233F3DC ; case 7
|
|
b _0233F3DC ; case 8
|
|
b _0233F3DC ; case 9
|
|
b _0233F3DC ; case 10
|
|
b _0233F3DC ; case 11
|
|
b _0233F3DC ; case 12
|
|
b _0233F3DC ; case 13
|
|
b _0233F3DC ; case 14
|
|
_0233F3DC:
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233F3F0:
|
|
bl ov07_0233F678
|
|
mov r4, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #0x14
|
|
bl ov01_02337938
|
|
cmp r4, #0xf
|
|
bne _0233F44C
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
mov r2, #1
|
|
ldr r1, [r0]
|
|
add r0, r1, #0x10
|
|
add r1, r1, #0x30
|
|
bl ov00_022BCDBC
|
|
#ifndef EUROPE
|
|
ldr r1, _0233F5F0 ; =0x000036FE
|
|
#endif
|
|
mov r0, #0x1c
|
|
#ifdef EUROPE
|
|
mov r1, #0x3700
|
|
#endif
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r1, _0233F594 ; =0x0000E001
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233F44C:
|
|
cmp r4, #0x15
|
|
cmpne r4, #0x10
|
|
ldreq r0, _0233F590 ; =ov07_02341B70
|
|
ldreq r1, _0233F5A4 ; =0x0000F001
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
b _0233F584
|
|
_0233F468:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
ldreq r0, _0233F590 ; =ov07_02341B70
|
|
ldreq r1, _0233F5F4 ; =0x0000E002
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
b _0233F584
|
|
_0233F484:
|
|
bl ov00_022BD780
|
|
ldr r1, _0233F5F8 ; =0x0000023B
|
|
mov r0, #0
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r1, _0233F5FC ; =0x0000E003
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233F4A8:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _0233F584
|
|
mov r0, #0xe0
|
|
mov r1, #0x88
|
|
mov r2, #1
|
|
bl sub_02029F88
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r1, _0233F600 ; =0x0000E004
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
bl sub_02003B94
|
|
b _0233F584
|
|
_0233F4DC:
|
|
mov r0, #3
|
|
bl NoteSaveBase
|
|
mov r4, r0
|
|
bl sub_02003BC8
|
|
bl sub_02029FBC
|
|
cmp r4, #0
|
|
bne _0233F518
|
|
mov r0, #0x1c
|
|
mov r1, #0x23c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r1, _0233F604 ; =0x0000E005
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233F518:
|
|
cmp r4, #1
|
|
moveq r0, #2
|
|
beq _0233F588
|
|
ldr r1, _0233F608 ; =0x00000239
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _0233F590 ; =ov07_02341B70
|
|
ldr r1, _0233F604 ; =0x0000E005
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233F584
|
|
_0233F544:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
ldreq r0, _0233F590 ; =ov07_02341B70
|
|
ldreq r1, _0233F5A4 ; =0x0000F001
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
b _0233F584
|
|
_0233F560:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
ldreq r0, _0233F590 ; =ov07_02341B70
|
|
moveq r1, #0
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
b _0233F584
|
|
_0233F57C:
|
|
mov r0, #1
|
|
b _0233F588
|
|
_0233F584:
|
|
mov r0, #0
|
|
_0233F588:
|
|
add sp, sp, #0x2d4
|
|
ldmia sp!, {r4, r5, r6, r7, r8, sb, pc}
|
|
.align 2, 0
|
|
_0233F590: .word ov07_02341B70
|
|
_0233F594: .word 0x0000E001
|
|
_0233F598: .word 0x00001005
|
|
_0233F59C: .word ov07_023419DC
|
|
#ifdef EUROPE
|
|
_0233F5A0: .word 0x000036EB
|
|
#else
|
|
_0233F5A0: .word 0x000036E9
|
|
#endif
|
|
_0233F5A4: .word 0x0000F001
|
|
_0233F5A8: .word ov01_02337B68
|
|
_0233F5AC: .word ov07_0233EA24
|
|
_0233F5B0: .word 0x00001002
|
|
_0233F5B4: .word ov07_0233EA5C
|
|
_0233F5B8: .word ov07_0233EA74
|
|
_0233F5BC: .word 0x00001003
|
|
#ifdef EUROPE
|
|
_0233F5C0: .word 0x000036F9
|
|
_0233FC88: .word 0x00003702
|
|
_0233F5C4: .word 0x00003701
|
|
_0233F5C8: .word 0x00003703
|
|
_0233F5CC: .word 0x00003704
|
|
#else
|
|
_0233F5C0: .word 0x000036F7
|
|
_0233F5C4: .word 0x000036FF
|
|
_0233F5C8: .word 0x00003701
|
|
_0233F5CC: .word 0x00003702
|
|
#endif
|
|
_0233F5D0: .word ov07_023419C8
|
|
_0233F5D4: .word ov07_023419C4
|
|
#ifdef EUROPE
|
|
_0233F5D8: .word 0x000036FF
|
|
_0233F5DC: .word 0x00003705
|
|
#else
|
|
_0233F5D8: .word 0x000036FD
|
|
_0233F5DC: .word 0x00003703
|
|
#endif
|
|
_0233F5E0: .word ov07_023418D8
|
|
_0233F5E4: .word ov07_023418D4
|
|
#ifdef EUROPE
|
|
_0233F5E8: .word 0x000036FA
|
|
#else
|
|
_0233F5E8: .word 0x000036F8
|
|
#endif
|
|
_0233F5EC: .word 0x00001004
|
|
#ifndef EUROPE
|
|
_0233F5F0: .word 0x000036FE
|
|
#endif
|
|
_0233F5F4: .word 0x0000E002
|
|
_0233F5F8: .word 0x0000023B
|
|
_0233F5FC: .word 0x0000E003
|
|
_0233F600: .word 0x0000E004
|
|
_0233F604: .word 0x0000E005
|
|
_0233F608: .word 0x00000239
|
|
arm_func_end ov07_0233EAF4
|
|
|
|
arm_func_start ov07_0233F60C
|
|
ov07_0233F60C: ; 0x0233F60C
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0233F634 ; =ov07_02341B70
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl MemFree
|
|
ldr r0, _0233F634 ; =ov07_02341B70
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233F634: .word ov07_02341B70
|
|
arm_func_end ov07_0233F60C
|
|
|
|
arm_func_start ov07_0233F638
|
|
ov07_0233F638: ; 0x0233F638
|
|
stmdb sp!, {r3, lr}
|
|
ldrsb ip, [sp, #8]
|
|
str ip, [sp]
|
|
bl sub_02046A9C
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov07_0233F638
|
|
|
|
arm_func_start ov07_0233F64C
|
|
ov07_0233F64C: ; 0x0233F64C
|
|
stmdb sp!, {lr}
|
|
sub sp, sp, #0xc
|
|
ldr ip, [sp, #0x10]
|
|
ldrh lr, [sp, #0x14]
|
|
str ip, [sp]
|
|
ldr ip, [sp, #0x18]
|
|
str lr, [sp, #4]
|
|
str ip, [sp, #8]
|
|
bl sub_02046A20
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {pc}
|
|
arm_func_end ov07_0233F64C
|
|
|
|
arm_func_start ov07_0233F678
|
|
ov07_0233F678: ; 0x0233F678
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_02046B04
|
|
mvn r1, #1
|
|
cmp r0, r1
|
|
moveq r0, #0x15
|
|
ldmeqia sp!, {r3, pc}
|
|
add r1, r1, #1
|
|
cmp r0, r1
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov07_0233F678
|
|
|
|
arm_func_start ov07_02046BA0
|
|
ov07_02046BA0: ; 0x0233F6A0
|
|
ldr ip, _0233F6A8 ; =sub_02046BA0
|
|
bx ip
|
|
.align 2, 0
|
|
_0233F6A8: .word sub_02046BA0
|
|
arm_func_end ov07_02046BA0
|
|
|
|
arm_func_start ov07_0233F6AC
|
|
ov07_0233F6AC: ; 0x0233F6AC
|
|
ldr ip, _0233F6B8 ; =sub_02046BE8
|
|
mov r2, #0
|
|
bx ip
|
|
.align 2, 0
|
|
_0233F6B8: .word sub_02046BE8
|
|
arm_func_end ov07_0233F6AC
|
|
|
|
arm_func_start ov07_02046BE8
|
|
ov07_02046BE8: ; 0x0233F6BC
|
|
ldr ip, _0233F6C4 ; =sub_02046BE8
|
|
bx ip
|
|
.align 2, 0
|
|
_0233F6C4: .word sub_02046BE8
|
|
arm_func_end ov07_02046BE8
|
|
|
|
arm_func_start ov07_0233F6C8
|
|
ov07_0233F6C8: ; 0x0233F6C8
|
|
stmdb sp!, {r3, lr}
|
|
bl sub_02046C78
|
|
cmp r0, #0
|
|
movne r0, #0x15
|
|
moveq r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end ov07_0233F6C8
|
|
|
|
arm_func_start ov07_0233F6E0
|
|
ov07_0233F6E0: ; 0x0233F6E0
|
|
stmdb sp!, {r3, lr}
|
|
mov r0, #0xa4
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r2, _0233F750 ; =ov07_02341B74
|
|
mov r1, #0xa4
|
|
str r0, [r2]
|
|
bl MemZero
|
|
mov r2, #0
|
|
ldr r0, _0233F750 ; =ov07_02341B74
|
|
mov ip, r2
|
|
_0233F70C:
|
|
ldr r1, [r0]
|
|
add r1, r1, r2
|
|
add r2, r2, #1
|
|
strb ip, [r1, #4]
|
|
#ifdef EUROPE
|
|
cmp r2, #5
|
|
#else
|
|
cmp r2, #6
|
|
#endif
|
|
blt _0233F70C
|
|
ldr r1, _0233F750 ; =ov07_02341B74
|
|
ldr r0, _0233F754 ; =ov07_02341B84
|
|
ldr r3, [r1]
|
|
add r2, r3, #4
|
|
str r2, [r3, #0x6c]
|
|
ldr r1, [r1]
|
|
str ip, [r1]
|
|
str ip, [r0]
|
|
bl sub_02046D20
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233F750: .word ov07_02341B74
|
|
_0233F754: .word ov07_02341B84
|
|
arm_func_end ov07_0233F6E0
|
|
|
|
arm_func_start ov07_0233F758
|
|
ov07_0233F758: ; 0x0233F758
|
|
stmdb sp!, {r3, r4, lr}
|
|
sub sp, sp, #0xc
|
|
#ifdef EUROPE
|
|
ldr r2, _0233FC9C ; =0x023404F4
|
|
ldr r0, [r2]
|
|
ldr r3, [r0]
|
|
cmp r3, #0x3000
|
|
bgt _0233FEB0
|
|
bge _0233FAB8
|
|
ldr r1, _0233FCA4 ; =0x00001002
|
|
cmp r3, r1
|
|
bgt _0233FE90
|
|
sub r0, r1, #1
|
|
cmp r3, r0
|
|
blt _0233FE64
|
|
beq _0233F990
|
|
cmp r3, r1
|
|
beq _0233FA3C
|
|
b _0233FC90
|
|
_0233FE64:
|
|
cmp r3, #1
|
|
bgt _0233FE84
|
|
cmp r3, #0
|
|
blt _0233FC90
|
|
beq _0233F85C
|
|
cmp r3, #1
|
|
beq _0233F8A4
|
|
b _0233FC90
|
|
_0233FE84:
|
|
cmp r3, #0x1000
|
|
beq _0233F8C0
|
|
b _0233FC90
|
|
_0233FE90:
|
|
cmp r3, #0x2000
|
|
bgt _0233FEA0
|
|
beq _0233FA58
|
|
b _0233FC90
|
|
_0233FEA0:
|
|
ldr r0, _0233FCC0 ; =0x00002001
|
|
cmp r3, r0
|
|
beq _0233FA7C
|
|
b _0233FC90
|
|
_0233FEB0:
|
|
ldr r1, _0233FCC4 ; =0x00004001
|
|
cmp r3, r1
|
|
bgt _0233FEE0
|
|
bge _0233FB3C
|
|
sub r0, r1, #0x1000
|
|
cmp r3, r0
|
|
bgt _0233FED4
|
|
beq _0233FADC
|
|
b _0233FC90
|
|
_0233FED4:
|
|
cmp r3, #0x4000
|
|
beq _0233FB18
|
|
b _0233FC90
|
|
_0233FEE0:
|
|
add r0, r1, #0x1000
|
|
cmp r3, r0
|
|
bgt _0233FEFC
|
|
bge _0233FC1C
|
|
cmp r3, #0x5000
|
|
beq _0233FBC8
|
|
b _0233FC90
|
|
_0233FEFC:
|
|
ldr r0, _0233FCA8 ; =0x00005002
|
|
cmp r3, r0
|
|
beq _0233FC7C
|
|
b _0233FC90
|
|
#else
|
|
ldr ip, _0233FC9C ; =ov07_02341B74
|
|
ldr r3, _0233FCA0 ; =0x00003001
|
|
ldr r0, [ip]
|
|
ldr r0, [r0]
|
|
cmp r0, r3
|
|
bgt _0233F7F8
|
|
bge _0233FADC
|
|
ldr r2, _0233FCA4 ; =0x00001002
|
|
cmp r0, r2
|
|
bgt _0233F7D0
|
|
sub r1, r2, #1
|
|
cmp r0, r1
|
|
blt _0233F7A4
|
|
beq _0233F990
|
|
cmp r0, r2
|
|
beq _0233FA3C
|
|
b _0233FC90
|
|
_0233F7A4:
|
|
cmp r0, #1
|
|
bgt _0233F7C4
|
|
cmp r0, #0
|
|
blt _0233FC90
|
|
beq _0233F85C
|
|
cmp r0, #1
|
|
beq _0233F8A4
|
|
b _0233FC90
|
|
_0233F7C4:
|
|
cmp r0, #0x1000
|
|
beq _0233F8C0
|
|
b _0233FC90
|
|
_0233F7D0:
|
|
sub r1, r3, #0x1000
|
|
cmp r0, r1
|
|
bgt _0233F7EC
|
|
bge _0233FA7C
|
|
cmp r0, #0x2000
|
|
beq _0233FA58
|
|
b _0233FC90
|
|
_0233F7EC:
|
|
cmp r0, #0x3000
|
|
beq _0233FAB8
|
|
b _0233FC90
|
|
_0233F7F8:
|
|
add r1, r3, #0x2000
|
|
cmp r0, r1
|
|
bgt _0233F830
|
|
bge _0233FC1C
|
|
add r1, r3, #0x1000
|
|
cmp r0, r1
|
|
bgt _0233F824
|
|
bge _0233FB3C
|
|
cmp r0, #0x4000
|
|
beq _0233FB18
|
|
b _0233FC90
|
|
_0233F824:
|
|
cmp r0, #0x5000
|
|
beq _0233FBC8
|
|
b _0233FC90
|
|
_0233F830:
|
|
cmp r0, #0x6000
|
|
bgt _0233F84C
|
|
bge _0233FB64
|
|
ldr r1, _0233FCA8 ; =0x00005002
|
|
cmp r0, r1
|
|
beq _0233FC7C
|
|
b _0233FC90
|
|
_0233F84C:
|
|
add r1, r3, #0x3000
|
|
cmp r0, r1
|
|
beq _0233FB88
|
|
b _0233FC90
|
|
#endif
|
|
_0233F85C:
|
|
bl ov01_0232E94C
|
|
cmp r0, #0
|
|
bne _0233FC90
|
|
bl ov01_0232F3F4
|
|
bl sub_0204A1CC
|
|
bl ov00_022BCA80
|
|
cmp r0, #3
|
|
ldrne r0, _0233FC9C ; =ov07_02341B74
|
|
movne r1, #0x1000
|
|
ldrne r0, [r0]
|
|
strne r1, [r0]
|
|
bne _0233FC90
|
|
bl ov01_02339888
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
mov r1, #1
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233FC90
|
|
_0233F8A4:
|
|
bl ov01_023398A4
|
|
cmp r0, #0
|
|
ldrne r0, _0233FC9C ; =ov07_02341B74
|
|
movne r1, #0x1000
|
|
ldrne r0, [r0]
|
|
strne r1, [r0]
|
|
b _0233FC90
|
|
_0233F8C0:
|
|
#ifdef EUROPE
|
|
mov r3, #0
|
|
mov r1, r3
|
|
_0233F8C8:
|
|
ldr r0, [r2]
|
|
add r0, r0, r3
|
|
add r3, r3, #1
|
|
strb r1, [r0, #4]
|
|
cmp r3, #5
|
|
#else
|
|
mov r2, #0
|
|
mov r1, r2
|
|
_0233F8C8:
|
|
ldr r0, [ip]
|
|
add r0, r0, r2
|
|
add r2, r2, #1
|
|
strb r1, [r0, #4]
|
|
cmp r2, #6
|
|
#endif
|
|
blt _0233F8C8
|
|
bl sub_02048480
|
|
cmp r0, #0
|
|
beq _0233F908
|
|
bl ov00_022BD2F4
|
|
cmp r0, #0
|
|
ldreq r0, _0233FC9C ; =ov07_02341B74
|
|
moveq r1, #3
|
|
ldreq r0, [r0]
|
|
streqb r1, [r0, #5]
|
|
b _0233F930
|
|
_0233F908:
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
mov r2, #3
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #4]
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #5]
|
|
#ifdef EUROPE
|
|
ldr r0, [r0]
|
|
strb r2, [r0, #6]
|
|
#else
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #6]
|
|
ldr r0, [r0]
|
|
strb r2, [r0, #7]
|
|
#endif
|
|
_0233F930:
|
|
bl sub_02046D20
|
|
mov r0, #0x11
|
|
bl ov01_02337928
|
|
ldr r2, _0233FCAC ; =ov07_02341A78
|
|
ldr r1, _0233FC9C ; =ov07_02341B74
|
|
ldr r4, [r2, r0, lsl #3]
|
|
ldr r2, [r1]
|
|
mov r0, #0
|
|
ldr r3, _0233FCB0 ; =ov07_02341A74
|
|
str r4, [r2, #0xc]
|
|
ldr r2, _0233FCB4 ; =0x000036E9
|
|
str r3, [sp]
|
|
str r2, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r3, [r1]
|
|
ldr r2, _0233FCB8 ; =0x00000233
|
|
mov r1, r0
|
|
add r3, r3, #0xc
|
|
bl ov07_0233F64C
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
ldr r1, _0233FCBC ; =0x00001001
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233FC90
|
|
_0233F990:
|
|
bl ov07_0233F678
|
|
mov r4, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #0x11
|
|
bl ov01_02337938
|
|
cmp r4, #3
|
|
ldreq r0, _0233FC9C ; =ov07_02341B74
|
|
moveq r1, #0x2000
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
beq _0233FC90
|
|
cmp r4, #4
|
|
ldreq r0, _0233FC9C ; =ov07_02341B74
|
|
moveq r1, #0x3000
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
beq _0233FC90
|
|
cmp r4, #5
|
|
ldreq r0, _0233FC9C ; =ov07_02341B74
|
|
moveq r1, #0x4000
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
beq _0233FC90
|
|
cmp r4, #7
|
|
ldreq r0, _0233FC9C ; =ov07_02341B74
|
|
moveq r1, #0x5000
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
beq _0233FC90
|
|
cmp r4, #0x15
|
|
ldreq r0, _0233FC9C ; =ov07_02341B74
|
|
ldreq r1, _0233FCA4 ; =0x00001002
|
|
#ifndef EUROPE
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
beq _0233FC90
|
|
cmp r4, #6
|
|
ldreq r0, _0233FC9C ; =ov07_02341B74
|
|
moveq r1, #0x6000
|
|
#endif
|
|
ldreq r0, [r0]
|
|
streq r1, [r0]
|
|
b _0233FC90
|
|
_0233FA3C:
|
|
bl ov01_0232E94C
|
|
cmp r0, #0
|
|
bne _0233FC90
|
|
mov r0, #0x10
|
|
bl ov01_023310B8
|
|
mov r0, #3
|
|
b _0233FC94
|
|
_0233FA58:
|
|
bl ov01_0232E94C
|
|
cmp r0, #0
|
|
bne _0233FC90
|
|
bl ov07_0233CD30
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
ldr r1, _0233FCC0 ; =0x00002001
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233FC90
|
|
_0233FA7C:
|
|
bl ov07_0233CD68
|
|
cmp r0, #1
|
|
bne _0233FAA0
|
|
bl ov07_0233CF64
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
mov r1, #0x1000
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233FC90
|
|
_0233FAA0:
|
|
cmp r0, #2
|
|
bne _0233FC90
|
|
bl ov07_0233CF64
|
|
bl sub_0204A018
|
|
mov r0, #3
|
|
b _0233FC94
|
|
_0233FAB8:
|
|
bl ov01_0232E94C
|
|
cmp r0, #0
|
|
bne _0233FC90
|
|
bl ov07_0233CF90
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
ldr r1, _0233FCA0 ; =0x00003001
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233FC90
|
|
_0233FADC:
|
|
bl ov07_0233CFF0
|
|
cmp r0, #1
|
|
bne _0233FB00
|
|
bl ov07_0233D974
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
mov r1, #0x1000
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233FC90
|
|
_0233FB00:
|
|
cmp r0, #2
|
|
bne _0233FC90
|
|
bl ov07_0233D974
|
|
bl sub_0204A018
|
|
mov r0, #3
|
|
b _0233FC94
|
|
_0233FB18:
|
|
bl ov01_0232E94C
|
|
cmp r0, #0
|
|
bne _0233FC90
|
|
bl ov07_0233E554
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
ldr r1, _0233FCC4 ; =0x00004001
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233FC90
|
|
_0233FB3C:
|
|
bl sub_02003BFC
|
|
bl ov07_0233E5C8
|
|
cmp r0, #2
|
|
bne _0233FC90
|
|
bl ov07_0233E58C
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
mov r1, #0x1000
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233FC90
|
|
#ifndef EUROPE
|
|
_0233FB64:
|
|
bl ov01_0232E94C
|
|
cmp r0, #0
|
|
bne _0233FC90
|
|
bl ov07_0233FD18
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
ldr r1, _0233FCC8 ; =0x00006001
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233FC90
|
|
_0233FB88:
|
|
bl sub_02003BFC
|
|
bl ov07_0233FDF8
|
|
cmp r0, #2
|
|
bne _0233FBB0
|
|
bl ov07_0233FDCC
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
mov r1, #0x1000
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233FC90
|
|
_0233FBB0:
|
|
cmp r0, #3
|
|
bne _0233FC90
|
|
bl ov07_0233FDCC
|
|
bl sub_0204A018
|
|
mov r0, #3
|
|
b _0233FC94
|
|
#endif
|
|
_0233FBC8:
|
|
bl ov01_0232E94C
|
|
cmp r0, #0
|
|
bne _0233FC90
|
|
bl ov01_0232C0CC
|
|
mov r0, #0xe0
|
|
mov r1, #0xa0
|
|
mov r2, #1
|
|
bl ov01_0232C148
|
|
mov r0, #0x12
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
ldr r2, _0233FCCC ; =ov07_023419AC
|
|
mov r1, r0
|
|
ldr r3, _0233FCD0 ; =0x000036EF
|
|
bl ov07_0233F638
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
ldr r1, _0233FCD4 ; =0x00005001
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233FC90
|
|
_0233FC1C:
|
|
bl ov07_0233F678
|
|
mov r4, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #0x12
|
|
bl ov01_02337938
|
|
cmp r4, #1
|
|
bne _0233FC58
|
|
bl sub_02046D20
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
ldr r1, _0233FCA8 ; =0x00005002
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233FC90
|
|
_0233FC58:
|
|
cmp r4, #2
|
|
cmpne r4, #0x15
|
|
bne _0233FC90
|
|
bl ov01_0232C10C
|
|
ldr r0, _0233FC9C ; =ov07_02341B74
|
|
mov r1, #0x1000
|
|
ldr r0, [r0]
|
|
str r1, [r0]
|
|
b _0233FC90
|
|
_0233FC7C:
|
|
mov r0, #0x15
|
|
bl ov00_022BE4A8
|
|
bl ov01_0232C10C
|
|
mov r0, #4
|
|
b _0233FC94
|
|
_0233FC90:
|
|
mov r0, #1
|
|
_0233FC94:
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r3, r4, pc}
|
|
.align 2, 0
|
|
_0233FC9C: .word ov07_02341B74
|
|
#ifndef EUROPE
|
|
_0233FCA0: .word 0x00003001
|
|
#endif
|
|
_0233FCA4: .word 0x00001002
|
|
#ifdef EUROPE
|
|
_0233FCC0: .word 0x00002001
|
|
_0233FCC4: .word 0x00004001
|
|
#endif
|
|
_0233FCA8: .word 0x00005002
|
|
_0233FCAC: .word ov07_02341A78
|
|
_0233FCB0: .word ov07_02341A74
|
|
#ifdef EUROPE
|
|
_0233FCB4: .word 0x000036EB
|
|
#else
|
|
_0233FCB4: .word 0x000036E9
|
|
#endif
|
|
_0233FCB8: .word 0x00000233
|
|
_0233FCBC: .word 0x00001001
|
|
#ifdef EUROPE
|
|
_0233FCA0: .word 0x00003001
|
|
#else
|
|
_0233FCC0: .word 0x00002001
|
|
_0233FCC4: .word 0x00004001
|
|
_0233FCC8: .word 0x00006001
|
|
#endif
|
|
_0233FCCC: .word ov07_023419AC
|
|
#ifdef EUROPE
|
|
_0233FCD0: .word 0x000036F1
|
|
#else
|
|
_0233FCD0: .word 0x000036EF
|
|
#endif
|
|
_0233FCD4: .word 0x00005001
|
|
arm_func_end ov07_0233F758
|
|
|
|
arm_func_start ov07_0233FCD8
|
|
ov07_0233FCD8: ; 0x0233FCD8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0233FD14 ; =ov07_02341B74
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
mov r0, #1
|
|
bl ov00_022BCBAC
|
|
bl sub_02046D20
|
|
ldr r0, _0233FD14 ; =ov07_02341B74
|
|
ldr r0, [r0]
|
|
bl MemFree
|
|
ldr r0, _0233FD14 ; =ov07_02341B74
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233FD14: .word ov07_02341B74
|
|
arm_func_end ov07_0233FCD8
|
|
|
|
#ifndef EUROPE
|
|
arm_func_start ov07_0233FD18
|
|
ov07_0233FD18: ; 0x0233FD18
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0233FDC0 ; =0x0000046C
|
|
mov r1, #8
|
|
bl MemAlloc
|
|
ldr r2, _0233FDC4 ; =ov07_02341B78
|
|
ldr r1, _0233FDC0 ; =0x0000046C
|
|
str r0, [r2]
|
|
bl MemZero
|
|
ldr r2, _0233FDC4 ; =ov07_02341B78
|
|
mov r0, #0
|
|
ldr r1, [r2]
|
|
sub r3, r0, #2
|
|
str r0, [r1]
|
|
ldr r1, [r2]
|
|
ldr lr, _0233FDC8 ; =0x0000374A
|
|
strb r3, [r1, #0x2b8]
|
|
ldr r1, [r2]
|
|
mov ip, #0x10
|
|
strb r3, [r1, #0x469]
|
|
ldr r1, [r2]
|
|
mov r3, #0xd
|
|
add r1, r1, #0x200
|
|
strh lr, [r1, #0xec]
|
|
ldr r1, [r2]
|
|
str ip, [r1, #0x2f0]
|
|
ldr r1, [r2]
|
|
str r3, [r1, #0x2e8]
|
|
ldr r1, [r2]
|
|
str r0, [r1, #0x2e4]
|
|
ldr r3, [r2]
|
|
add r1, r3, #0x14
|
|
add r1, r1, #0x400
|
|
str r1, [r3, #0x3dc]
|
|
ldr r3, [r2]
|
|
add r1, r3, #0xaf
|
|
bic r1, r1, #0x1f
|
|
str r1, [r3, #0x2b0]
|
|
ldr r1, [r2]
|
|
strb r0, [r1, #0x419]
|
|
ldr r1, [r2]
|
|
strb r0, [r1, #0x468]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233FDC0: .word 0x0000046C
|
|
_0233FDC4: .word ov07_02341B78
|
|
_0233FDC8: .word 0x0000374A
|
|
arm_func_end ov07_0233FD18
|
|
|
|
arm_func_start ov07_0233FDCC
|
|
ov07_0233FDCC: ; 0x0233FDCC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _0233FDF4 ; =ov07_02341B78
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl MemFree
|
|
ldr r0, _0233FDF4 ; =ov07_02341B78
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_0233FDF4: .word ov07_02341B78
|
|
arm_func_end ov07_0233FDCC
|
|
|
|
arm_func_start ov07_0233FDF8
|
|
ov07_0233FDF8: ; 0x0233FDF8
|
|
stmdb sp!, {r3, r4, r5, r6, lr}
|
|
sub sp, sp, #0x2cc
|
|
sub sp, sp, #0x400
|
|
ldr r0, _02340D64 ; =ov07_02341B78
|
|
ldr r4, [r0]
|
|
ldr r0, [r4]
|
|
cmp r0, #0x36
|
|
addls pc, pc, r0, lsl #2
|
|
b _023414B4
|
|
_0233FE1C: ; jump table
|
|
b _0233FEF8 ; case 0
|
|
b _02340004 ; case 1
|
|
b _0234017C ; case 2
|
|
b _023401E0 ; case 3
|
|
b _023401F0 ; case 4
|
|
b _0234020C ; case 5
|
|
b _02340220 ; case 6
|
|
b _02340288 ; case 7
|
|
b _023402B4 ; case 8
|
|
b _023402D0 ; case 9
|
|
b _023402FC ; case 10
|
|
b _02340358 ; case 11
|
|
b _023404A4 ; case 12
|
|
b _02340518 ; case 13
|
|
b _0234052C ; case 14
|
|
b _0234053C ; case 15
|
|
b _023405D0 ; case 16
|
|
b _023405F8 ; case 17
|
|
b _02340620 ; case 18
|
|
b _023406E4 ; case 19
|
|
b _023407A0 ; case 20
|
|
b _02340880 ; case 21
|
|
b _023408E0 ; case 22
|
|
b _023408FC ; case 23
|
|
b _023409B0 ; case 24
|
|
b _02340A74 ; case 25
|
|
b _02340B04 ; case 26
|
|
b _02340B84 ; case 27
|
|
b _02340BE4 ; case 28
|
|
b _02340C44 ; case 29
|
|
b _02340CC4 ; case 30
|
|
b _02340D00 ; case 31
|
|
b _02340D28 ; case 32
|
|
b _02340D50 ; case 33
|
|
b _02340DD0 ; case 34
|
|
b _02340E78 ; case 35
|
|
b _02340EC8 ; case 36
|
|
b _02340F28 ; case 37
|
|
b _02340F6C ; case 38
|
|
b _02340FFC ; case 39
|
|
b _02341140 ; case 40
|
|
b _023411DC ; case 41
|
|
b _02341234 ; case 42
|
|
b _0234126C ; case 43
|
|
b _023412BC ; case 44
|
|
b _023412F8 ; case 45
|
|
b _0234130C ; case 46
|
|
b _02341368 ; case 47
|
|
b _02341390 ; case 48
|
|
b _023413BC ; case 49
|
|
b _023413E8 ; case 50
|
|
b _02341450 ; case 51
|
|
b _02341464 ; case 52
|
|
b _02341478 ; case 53
|
|
b _02341484 ; case 54
|
|
_0233FEF8:
|
|
ldr r1, _02340D68 ; =0xD4A51000
|
|
add r0, r4, #0x20
|
|
str r1, [r4, #0xc]
|
|
mov r2, #0xe8
|
|
mov r1, #0x36
|
|
str r2, [r4, #0x10]
|
|
bl MemZero
|
|
bl ov00_022BD5EC
|
|
mov r2, #0
|
|
add r3, r4, #0x20
|
|
mov r1, r2
|
|
b _0233FF3C
|
|
_0233FF28:
|
|
cmp r5, #0
|
|
moveq r5, r1
|
|
strb r5, [r3], #1
|
|
add r0, r0, #1
|
|
add r2, r2, #1
|
|
_0233FF3C:
|
|
ldrsb r5, [r0]
|
|
cmp r5, #0
|
|
beq _0233FF50
|
|
cmp r2, #0x36
|
|
blt _0233FF28
|
|
_0233FF50:
|
|
cmp r2, #0x36
|
|
movlt r0, #0
|
|
strltb r0, [r3]
|
|
add r0, r4, #0x56
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
bl ov00_022BD6E0
|
|
strb r0, [r4, #0x2b4]
|
|
bl ov00_022BD6F4
|
|
strb r0, [r4, #0x2b5]
|
|
bl ov00_022BD708
|
|
strb r0, [r4, #0x2b6]
|
|
bl ov00_022BD71C
|
|
mov r2, #0
|
|
strb r0, [r4, #0x2b7]
|
|
mov r1, r2
|
|
_0233FF90:
|
|
add r0, r4, r2
|
|
add r2, r2, #1
|
|
strb r1, [r0, #0x414]
|
|
cmp r2, #5
|
|
blt _0233FF90
|
|
bl ov00_022BD5C8
|
|
cmp r0, #0
|
|
moveq r0, #3
|
|
streqb r0, [r4, #0x414]
|
|
streqb r0, [r4, #0x416]
|
|
streqb r0, [r4, #0x417]
|
|
mov r0, #6
|
|
bl ov01_02337928
|
|
ldr r1, _02340D6C ; =ov07_02341A48
|
|
ldr r2, _02340D70 ; =ov07_02341A44
|
|
ldr r1, [r1, r0, lsl #3]
|
|
mov r0, #0
|
|
str r1, [r4, #0x37c]
|
|
str r2, [sp]
|
|
ldr r1, _02340D74 ; =0x0000372E
|
|
ldr r2, _02340D78 ; =0x00000233
|
|
str r1, [sp, #4]
|
|
mov r1, r0
|
|
add r3, r4, #0x37c
|
|
str r0, [sp, #8]
|
|
bl ov07_0233F64C
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340004:
|
|
bl ov07_0233F678
|
|
mov r5, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #6
|
|
bl ov01_02337938
|
|
cmp r5, #0x11
|
|
bne _023400B4
|
|
bl ov00_022BD5C8
|
|
cmp r0, #0
|
|
beq _0234009C
|
|
bl ov00_022BD600
|
|
cmp r0, #0
|
|
beq _02340054
|
|
mov r0, #1
|
|
bl ov07_023414FC
|
|
mov r0, #2
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340054:
|
|
add r0, sp, #0x600
|
|
add r0, r0, #0x7c
|
|
bl InitPreprocessorArgs
|
|
add r0, sp, #0x500
|
|
add r0, r0, #0x7c
|
|
add r1, r4, #0x20
|
|
bl ov07_02341660
|
|
add r3, sp, #0x500
|
|
add r2, sp, #0x600
|
|
add r3, r3, #0x7c
|
|
ldr r1, _02340D7C ; =0x00003734
|
|
add r2, r2, #0x7c
|
|
mov r0, #0x1c
|
|
str r3, [sp, #0x6b4]
|
|
bl ov07_02046BE8
|
|
mov r0, #3
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_0234009C:
|
|
ldr r1, _02340D80 ; =0x00003733
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #5
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023400B4:
|
|
cmp r5, #0x12
|
|
bne _02340120
|
|
mov r2, #0
|
|
add r0, r4, #0x20
|
|
mov r1, #0x36
|
|
str r2, [r4, #0x8c]
|
|
bl MemZero
|
|
bl ov00_022BD5C8
|
|
cmp r0, #0
|
|
beq _02340108
|
|
mov r0, #9
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
ldr r2, _02340D84 ; =ov07_0234194C
|
|
ldr r3, _02340D88 ; =0x00003735
|
|
mov r1, r0
|
|
bl ov07_0233F638
|
|
mov r0, #6
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340108:
|
|
ldr r1, _02340D8C ; =0x00003737
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #8
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340120:
|
|
cmp r5, #0x13
|
|
bne _02340138
|
|
bl sub_02046D20
|
|
mov r0, #0x26
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340138:
|
|
cmp r5, #0x14
|
|
bne _02340168
|
|
mov r0, #0
|
|
mov r5, #1
|
|
ldr r2, _02340D90 ; =ov07_023418EC
|
|
ldr r3, _02340D94 ; =0x00003753
|
|
mov r1, r0
|
|
str r5, [sp]
|
|
bl ov07_0233F638
|
|
mov r0, #0x2b
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340168:
|
|
cmp r5, #2
|
|
cmpne r5, #0x15
|
|
bne _023414B4
|
|
mov r0, #2
|
|
b _023414B8
|
|
_0234017C:
|
|
bl ov07_0234151C
|
|
cmp r0, #1
|
|
bne _023401D0
|
|
add r0, sp, #0x500
|
|
add r0, r0, #0x2c
|
|
bl InitPreprocessorArgs
|
|
add r0, sp, #0x400
|
|
add r0, r0, #0x2c
|
|
add r1, r4, #0x20
|
|
bl ov07_02341660
|
|
add r3, sp, #0x400
|
|
add r2, sp, #0x500
|
|
add r3, r3, #0x2c
|
|
ldr r1, _02340D7C ; =0x00003734
|
|
add r2, r2, #0x2c
|
|
mov r0, #0x1c
|
|
str r3, [sp, #0x564]
|
|
bl ov07_02046BE8
|
|
mov r0, #3
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023401D0:
|
|
cmp r0, #2
|
|
moveq r0, #0
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_023401E0:
|
|
mov r0, #0
|
|
bl ov07_02341738
|
|
mov r0, #4
|
|
str r0, [r4]
|
|
_023401F0:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _023414B4
|
|
bl ov07_023417A8
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_0234020C:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
moveq r0, #0
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_02340220:
|
|
bl ov07_0233F678
|
|
mov r5, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #9
|
|
bl ov01_02337938
|
|
cmp r5, #1
|
|
bne _02340274
|
|
bl ov00_022BD600
|
|
cmp r0, #0
|
|
beq _02340264
|
|
mov r0, #1
|
|
bl ov07_023414FC
|
|
mov r0, #7
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340264:
|
|
bl sub_02046D20
|
|
mov r0, #9
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340274:
|
|
cmp r5, #2
|
|
cmpne r5, #0x15
|
|
moveq r0, #0
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_02340288:
|
|
bl ov07_0234151C
|
|
cmp r0, #1
|
|
bne _023402A4
|
|
bl sub_02046D20
|
|
mov r0, #9
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023402A4:
|
|
cmp r0, #2
|
|
moveq r0, #0
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_023402B4:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _023414B4
|
|
bl sub_02046D20
|
|
mov r0, #9
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023402D0:
|
|
ldr r2, [r4, #0x8c]
|
|
add r1, r4, #0x20
|
|
mov r0, #0x36
|
|
mla r1, r2, r0, r1
|
|
mov r2, #0
|
|
mov r3, r2
|
|
mov r0, #8
|
|
bl ShowKeyboard
|
|
mov r0, #0xa
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023402FC:
|
|
bl GetKeyboardStatus
|
|
cmp r0, #3
|
|
bne _02340330
|
|
bl GetKeyboardStringResult
|
|
ldr r3, [r4, #0x8c]
|
|
add r5, r4, #0x20
|
|
mov r2, #0x36
|
|
mov r1, r0
|
|
mla r0, r3, r2, r5
|
|
bl MemcpySimple
|
|
mov r0, #0xb
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340330:
|
|
cmp r0, #2
|
|
bne _023414B4
|
|
ldr r1, [r4, #0x8c]
|
|
mov r0, #0x36
|
|
mla r0, r1, r0, r4
|
|
mov r1, #0
|
|
strb r1, [r0, #0x20]
|
|
mov r0, #0xb
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340358:
|
|
bl sub_02037468
|
|
cmp r0, #1
|
|
bne _023414B4
|
|
ldr r1, [r4, #0x8c]
|
|
mov r0, #0x36
|
|
mla r0, r1, r0, r4
|
|
ldrb r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
beq _02340498
|
|
cmp r1, #0
|
|
bne _023403A8
|
|
ldr r1, _02340D98 ; =0x00003738
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #8
|
|
str r0, [r4]
|
|
ldr r0, [r4, #0x8c]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x8c]
|
|
b _023414B4
|
|
_023403A8:
|
|
mov r1, #0
|
|
b _023403CC
|
|
_023403B0:
|
|
cmp r2, #0
|
|
beq _023403C4
|
|
add r1, r1, #1
|
|
cmp r1, #0x36
|
|
blt _023403CC
|
|
_023403C4:
|
|
mov r0, #0
|
|
b _023403E8
|
|
_023403CC:
|
|
add r0, r4, r1
|
|
ldrb r2, [r0, #0x20]
|
|
ldrb r0, [r0, #0x56]
|
|
cmp r2, r0
|
|
beq _023403B0
|
|
mvnlo r0, #0
|
|
movhs r0, #1
|
|
_023403E8:
|
|
cmp r0, #0
|
|
bne _0234046C
|
|
add r0, sp, #0x3dc
|
|
bl InitPreprocessorArgs
|
|
add r0, sp, #0x2dc
|
|
add r1, r4, #0x20
|
|
bl ov07_02341660
|
|
add r2, sp, #0x2dc
|
|
add r0, sp, #0x244
|
|
mov r1, #0x98
|
|
str r2, [sp, #0x414]
|
|
bl MemZero
|
|
mov r0, #7
|
|
bl ov01_02337928
|
|
ldr r2, _02340D9C ; =ov07_023418F0
|
|
ldr r1, _02340D90 ; =ov07_023418EC
|
|
ldr r2, [r2, r0, lsl #3]
|
|
ldr r0, _02340DA0 ; =0x00003739
|
|
str r2, [sp, #0x244]
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
add r1, sp, #0x3dc
|
|
str r1, [sp, #8]
|
|
mov r0, #0
|
|
mov r1, #8
|
|
mov r2, #0x13
|
|
add r3, sp, #0x244
|
|
bl ov07_0233F64C
|
|
mov r0, #0xc
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
bl ov07_02341738
|
|
b _023414B4
|
|
_0234046C:
|
|
mov r2, #0
|
|
add r0, r4, #0x56
|
|
mov r1, #0x36
|
|
str r2, [r4, #0x8c]
|
|
bl MemZero
|
|
ldr r1, _02340DA4 ; =0x0000373A
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #8
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340498:
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023404A4:
|
|
bl ov07_0233F678
|
|
mov r5, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #7
|
|
bl ov01_02337938
|
|
cmp r5, #1
|
|
bne _023404E4
|
|
bl ov07_023417A8
|
|
ldr r1, _02340DA8 ; =0x0000373B
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #0xd
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023404E4:
|
|
cmp r5, #2
|
|
cmpne r5, #0x15
|
|
bne _023414B4
|
|
bl ov07_023417A8
|
|
mov r2, #0
|
|
add r0, r4, #0x56
|
|
mov r1, #0x36
|
|
str r2, [r4, #0x8c]
|
|
bl MemZero
|
|
bl sub_02046D20
|
|
mov r0, #9
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340518:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
moveq r0, #0xe
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_0234052C:
|
|
bl ov01_02338A24
|
|
mov r0, #0xf
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_0234053C:
|
|
bl sub_02003BFC
|
|
bl ov01_02338EC4
|
|
cmp r0, #1
|
|
beq _023405B4
|
|
cmp r0, #4
|
|
beq _02340560
|
|
cmp r0, #8
|
|
beq _023405B4
|
|
b _023414B4
|
|
_02340560:
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
add r1, r4, #0x20
|
|
mov r2, #0x36
|
|
bl ov07_02341614
|
|
ldr r5, [r4, #0x2b0]
|
|
bl sub_0205BD78
|
|
mov r2, r0
|
|
mov r0, r5
|
|
mov r1, #1
|
|
bl ov01_0232C5C8
|
|
strh r0, [r4, #0x1e]
|
|
mov r0, #0
|
|
ldr r1, [r4, #0x2b0]
|
|
bl ov01_02338C4C
|
|
mov r0, #0x12
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023405B4:
|
|
bl ov01_02338B08
|
|
ldr r1, _02340DAC ; =0x0000373C
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x11
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023405D0:
|
|
bl ov01_02338EC4
|
|
cmp r0, #0
|
|
beq _023414B4
|
|
bl ov01_02338B08
|
|
ldr r1, _02340DAC ; =0x0000373C
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x11
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023405F8:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _023414B4
|
|
bl ov00_022BD274
|
|
cmp r0, #0
|
|
movne r0, #0x35
|
|
strne r0, [r4]
|
|
moveq r0, #0
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_02340620:
|
|
bl ov01_02338EC4
|
|
cmp r0, #4
|
|
bne _023406A0
|
|
mov r0, #0
|
|
bl ov01_02338E1C
|
|
bl ov01_0232C8B4
|
|
cmp r0, #1
|
|
bne _0234066C
|
|
mov r0, #0xa
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
ldr r2, _02340DB0 ; =ov07_02341904
|
|
ldr r3, _02340DB4 ; =0x0000373D
|
|
mov r0, #0
|
|
mov r1, #8
|
|
bl ov07_0233F638
|
|
mov r0, #0x13
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_0234066C:
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl ov01_02338BEC
|
|
mov r0, #0x10
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023406A0:
|
|
cmp r0, #8
|
|
cmpne r0, #6
|
|
bne _023414B4
|
|
bl ov01_02338B08
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
ldr r1, _02340DAC ; =0x0000373C
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x11
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023406E4:
|
|
bl ov01_02339988
|
|
bl ov01_02338EC4
|
|
mov r6, r0
|
|
bl ov07_0233F678
|
|
mov r5, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #0xa
|
|
bl ov01_02337938
|
|
cmp r6, #5
|
|
bne _02340748
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
bl sub_02046BB4
|
|
bl sub_02046D20
|
|
bl ov01_02338C34
|
|
mov r0, #0x10
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340748:
|
|
cmp r5, #1
|
|
bne _02340768
|
|
ldr r1, _02340DB8 ; =0x00003741
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x15
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340768:
|
|
cmp r5, #2
|
|
cmpne r5, #0x15
|
|
bne _023414B4
|
|
mov r0, #0xb
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
ldr r2, _02340D90 ; =ov07_023418EC
|
|
mov r1, r0
|
|
mov r3, #0x3740
|
|
bl ov07_0233F638
|
|
mov r0, #0x14
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023407A0:
|
|
bl ov01_02339988
|
|
bl ov01_02338EC4
|
|
mov r6, r0
|
|
bl ov07_0233F678
|
|
mov r5, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #0xb
|
|
bl ov01_02337938
|
|
cmp r6, #5
|
|
bne _02340804
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
bl sub_02046BB4
|
|
bl sub_02046D20
|
|
bl ov01_02338C34
|
|
mov r0, #0x10
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340804:
|
|
cmp r5, #1
|
|
bne _02340848
|
|
mov r0, #0
|
|
strb r0, [r4, #0x1c]
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl ov01_02338BEC
|
|
mov r0, #0x1d
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340848:
|
|
cmp r5, #2
|
|
cmpne r5, #0x15
|
|
bne _023414B4
|
|
mov r0, #0xa
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
ldr r2, _02340DB0 ; =ov07_02341904
|
|
ldr r3, _02340DB4 ; =0x0000373D
|
|
mov r0, #0
|
|
mov r1, #8
|
|
bl ov07_0233F638
|
|
mov r0, #0x13
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340880:
|
|
bl ov01_02339988
|
|
bl ov01_02338EC4
|
|
mov r5, r0
|
|
bl ov07_0233F6C8
|
|
cmp r5, #5
|
|
bne _023408C8
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
bl sub_02046D20
|
|
bl ov01_02338C34
|
|
mov r0, #0x10
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023408C8:
|
|
cmp r0, #0x15
|
|
bne _023414B4
|
|
bl sub_02046D20
|
|
mov r0, #0x16
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023408E0:
|
|
ldrsh r3, [r4, #0x1e]
|
|
ldr r1, [r4, #0x14]
|
|
ldr r2, [r4, #0x18]
|
|
mov r0, #4
|
|
bl ov01_02335848
|
|
mov r0, #0x17
|
|
str r0, [r4]
|
|
_023408FC:
|
|
bl ov01_02339988
|
|
bl ov01_02338EC4
|
|
mov r5, r0
|
|
bl ov01_02336014
|
|
cmp r5, #5
|
|
bne _02340948
|
|
bl ov01_02335FA8
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
bl sub_02046D20
|
|
bl ov01_02338C34
|
|
mov r0, #0x10
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340948:
|
|
cmp r0, #2
|
|
bne _02340978
|
|
bl ov01_023370AC
|
|
str r0, [r4, #0x14]
|
|
str r1, [r4, #0x18]
|
|
bl ov01_02335FA8
|
|
ldr r1, _02340DBC ; =0x00003742
|
|
mov r0, #0
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x19
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340978:
|
|
cmp r0, #1
|
|
bne _023414B4
|
|
bl ov01_02335FA8
|
|
mov r0, #0xc
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
ldr r2, _02340D90 ; =ov07_023418EC
|
|
mov r1, r0
|
|
mov r3, #0x3740
|
|
bl ov07_0233F638
|
|
mov r0, #0x18
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023409B0:
|
|
bl ov01_02339988
|
|
bl ov01_02338EC4
|
|
mov r6, r0
|
|
bl ov07_0233F678
|
|
mov r5, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #0xc
|
|
bl ov01_02337938
|
|
cmp r6, #5
|
|
bne _02340A14
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
bl sub_02046BB4
|
|
bl sub_02046D20
|
|
bl ov01_02338C34
|
|
mov r0, #0x10
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340A14:
|
|
cmp r5, #1
|
|
bne _02340A58
|
|
mov r0, #0
|
|
strb r0, [r4, #0x1c]
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl ov01_02338BEC
|
|
mov r0, #0x1d
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340A58:
|
|
cmp r5, #2
|
|
cmpne r5, #0x15
|
|
bne _023414B4
|
|
bl sub_02046D20
|
|
mov r0, #0x16
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340A74:
|
|
bl ov01_02339988
|
|
bl ov01_02338EC4
|
|
mov r5, r0
|
|
bl ov07_0233F6C8
|
|
cmp r5, #5
|
|
bne _02340ABC
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
bl sub_02046D20
|
|
bl ov01_02338C34
|
|
mov r0, #0x10
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340ABC:
|
|
cmp r0, #0x15
|
|
bne _023414B4
|
|
ldr r0, [r4, #0x14]
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bl ov00_022BD6A8
|
|
ldr r5, [r4, #0x2b0]
|
|
bl sub_0205BD78
|
|
mov r2, r0
|
|
mov r0, r5
|
|
mov r1, #1
|
|
bl ov01_0232C5C8
|
|
ldr r1, [r4, #0x2b0]
|
|
mov r0, #0
|
|
bl ov01_02338C4C
|
|
mov r0, #0x1a
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340B04:
|
|
bl ov01_02338EC4
|
|
cmp r0, #4
|
|
bne _02340B40
|
|
mov r0, #0
|
|
bl ov01_02338E1C
|
|
bl ov01_0232C8B4
|
|
cmp r0, #0
|
|
mov r0, #0x1c
|
|
streq r0, [r4]
|
|
beq _023414B4
|
|
ldr r1, _02340DC0 ; =0x00003743
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x1b
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340B40:
|
|
cmp r0, #8
|
|
cmpne r0, #6
|
|
bne _023414B4
|
|
bl ov01_02338B08
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
ldr r1, _02340DAC ; =0x0000373C
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x11
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340B84:
|
|
bl ov01_02339988
|
|
bl ov01_02338EC4
|
|
mov r5, r0
|
|
bl ov07_0233F6C8
|
|
cmp r5, #5
|
|
bne _02340BCC
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
bl sub_02046D20
|
|
bl ov01_02338C34
|
|
mov r0, #0x10
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340BCC:
|
|
cmp r0, #0x15
|
|
bne _023414B4
|
|
bl sub_02046D20
|
|
mov r0, #0x16
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340BE4:
|
|
bl ov01_02339988
|
|
bl ov01_02338EC4
|
|
cmp r0, #5
|
|
bne _02340C28
|
|
bl ov07_023417A8
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
bl sub_02046D20
|
|
bl ov01_02338C34
|
|
mov r0, #0x10
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340C28:
|
|
mov r0, #1
|
|
mov r1, #0
|
|
strb r0, [r4, #0x1c]
|
|
bl ov01_02338BEC
|
|
mov r0, #0x1d
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340C44:
|
|
bl ov01_02338EC4
|
|
cmp r0, #6
|
|
bne _02340C84
|
|
bl ov01_02338B08
|
|
ldrb r0, [r4, #0x1c]
|
|
cmp r0, #0
|
|
movne r0, #0x1e
|
|
strne r0, [r4]
|
|
bne _023414B4
|
|
bl ov00_022BD274
|
|
cmp r0, #0
|
|
movne r0, #0x35
|
|
strne r0, [r4]
|
|
moveq r0, #0
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_02340C84:
|
|
cmp r0, #8
|
|
bne _023414B4
|
|
bl ov01_02338B08
|
|
bl ov00_022BD6C0
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x18]
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
ldr r1, _02340DAC ; =0x0000373C
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x11
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340CC4:
|
|
add r0, sp, #0x1f4
|
|
bl InitPreprocessorArgs
|
|
add r0, sp, #0xf4
|
|
add r1, r4, #0x20
|
|
bl ov07_02341660
|
|
add r3, sp, #0xf4
|
|
ldr r1, _02340DC4 ; =0x00003744
|
|
add r2, sp, #0x1f4
|
|
mov r0, #0x1c
|
|
str r3, [sp, #0x22c]
|
|
bl ov07_02046BE8
|
|
mov r1, #0x1f
|
|
mov r0, #1
|
|
str r1, [r4]
|
|
bl ov07_02341738
|
|
_02340D00:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _023414B4
|
|
bl ov07_023417A8
|
|
ldr r1, _02340DC8 ; =0x00003745
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x20
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340D28:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _023414B4
|
|
ldr r1, _02340D68 ; =0xD4A51000
|
|
mov r0, #0xe8
|
|
str r1, [r4, #0xc]
|
|
str r0, [r4, #0x10]
|
|
mov r0, #0x21
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340D50:
|
|
mov r0, #0
|
|
bl ov07_023414FC
|
|
mov r0, #0x22
|
|
str r0, [r4]
|
|
b _023414B4
|
|
.align 2, 0
|
|
_02340D64: .word ov07_02341B78
|
|
_02340D68: .word 0xD4A51000
|
|
_02340D6C: .word ov07_02341A48
|
|
_02340D70: .word ov07_02341A44
|
|
_02340D74: .word 0x0000372E
|
|
_02340D78: .word 0x00000233
|
|
_02340D7C: .word 0x00003734
|
|
_02340D80: .word 0x00003733
|
|
_02340D84: .word ov07_0234194C
|
|
_02340D88: .word 0x00003735
|
|
_02340D8C: .word 0x00003737
|
|
_02340D90: .word ov07_023418EC
|
|
_02340D94: .word 0x00003753
|
|
_02340D98: .word 0x00003738
|
|
_02340D9C: .word ov07_023418F0
|
|
_02340DA0: .word 0x00003739
|
|
_02340DA4: .word 0x0000373A
|
|
_02340DA8: .word 0x0000373B
|
|
_02340DAC: .word 0x0000373C
|
|
_02340DB0: .word ov07_02341904
|
|
_02340DB4: .word 0x0000373D
|
|
_02340DB8: .word 0x00003741
|
|
_02340DBC: .word 0x00003742
|
|
_02340DC0: .word 0x00003743
|
|
_02340DC4: .word 0x00003744
|
|
_02340DC8: .word 0x00003745
|
|
_02340DCC: .word 0x00003747
|
|
_02340DD0:
|
|
bl ov07_0234151C
|
|
cmp r0, #1
|
|
bne _02340E44
|
|
add r0, sp, #0xa4
|
|
bl InitPreprocessorArgs
|
|
ldr r2, [r4, #0xc]
|
|
add r0, sp, #0xc
|
|
mov r1, #0x98
|
|
str r2, [sp, #0xc8]
|
|
bl MemZero
|
|
mov r0, #8
|
|
bl ov01_02337928
|
|
ldr r2, _02340D9C ; =ov07_023418F0
|
|
ldr r1, _02340D90 ; =ov07_023418EC
|
|
ldr r2, [r2, r0, lsl #3]
|
|
ldr r0, _02340DCC ; =0x00003747
|
|
str r2, [sp, #0xc]
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
add r1, sp, #0xa4
|
|
mov r0, #0
|
|
str r1, [sp, #8]
|
|
mov r1, r0
|
|
mov r2, #0x13
|
|
add r3, sp, #0xc
|
|
bl ov07_0233F64C
|
|
mov r0, #0x23
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340E44:
|
|
cmp r0, #2
|
|
bne _023414B4
|
|
mov r0, #0xd
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
ldr r2, _02340D90 ; =ov07_023418EC
|
|
ldr r3, _023414C4 ; =0x00003746
|
|
mov r1, r0
|
|
bl ov07_0233F638
|
|
mov r0, #0x24
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340E78:
|
|
bl ov07_0233F678
|
|
mov r5, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #8
|
|
bl ov01_02337938
|
|
cmp r5, #1
|
|
bne _02340EB4
|
|
ldr r1, _023414C8 ; =0x00003749
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x25
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340EB4:
|
|
cmp r5, #2
|
|
cmpne r5, #0x15
|
|
moveq r0, #0x21
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_02340EC8:
|
|
bl ov07_0233F678
|
|
mov r5, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #0xd
|
|
bl ov01_02337938
|
|
cmp r5, #1
|
|
bne _02340F14
|
|
ldr r0, _023414CC ; =0x00003FFF
|
|
ldr r1, _023414C8 ; =0x00003749
|
|
str r0, [r4, #0xc]
|
|
mov r2, #0
|
|
mov r0, #0x1c
|
|
str r2, [r4, #0x10]
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x25
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340F14:
|
|
cmp r5, #2
|
|
cmpne r5, #0x15
|
|
moveq r0, #0x21
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_02340F28:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _023414B4
|
|
bl ov00_022BD5EC
|
|
mov r1, #0x36
|
|
bl MemZero
|
|
bl ov00_022BD5EC
|
|
add r1, r4, #0x20
|
|
mov r2, #0x36
|
|
bl ov07_02341614
|
|
ldr r0, [r4, #0xc]
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, lsr #0x10
|
|
bl ov00_022BD648
|
|
mov r0, #0x30
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340F6C:
|
|
ldrb r0, [r4, #0x2b4]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
str r0, [r4, #0x2bc]
|
|
ldrb r0, [r4, #0x2b5]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
str r0, [r4, #0x2c0]
|
|
ldrb r0, [r4, #0x2b6]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
str r0, [r4, #0x2c4]
|
|
ldrb r0, [r4, #0x2b7]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
str r0, [r4, #0x2c8]
|
|
mov r0, #0x10
|
|
bl ov01_02337928
|
|
str r0, [r4, #0x2e4]
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
add r2, r4, #0x2bc
|
|
str r2, [sp, #4]
|
|
ldr r0, _023414D0 ; =ov07_02341B10
|
|
ldr r1, _023414D4 ; =0x00441C33
|
|
ldr r3, _023414D8 ; =ov07_02341B20
|
|
add r2, r4, #0x2e4
|
|
bl CreateOptionsMenu
|
|
strb r0, [r4, #0x2b8]
|
|
mov r0, #0x27
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02340FFC:
|
|
add r0, r4, #0x200
|
|
ldrsb r0, [r0, #0xb8]
|
|
bl sub_0202D59C
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #0x10
|
|
bl ov01_02337938
|
|
add r0, r4, #0x200
|
|
ldrsb r0, [r0, #0xb8]
|
|
bl IsOptionsMenuActive
|
|
cmp r0, #0
|
|
bne _023410A0
|
|
add r0, r4, #0x200
|
|
ldrsb r0, [r0, #0xb8]
|
|
bl sub_0202D5E4
|
|
cmp r0, #0
|
|
beq _02341098
|
|
ldr r0, [r4, #0x2bc]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
strb r0, [r4, #0x2b4]
|
|
ldr r0, [r4, #0x2c0]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
strb r0, [r4, #0x2b5]
|
|
ldr r0, [r4, #0x2c4]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
strb r0, [r4, #0x2b6]
|
|
ldr r0, [r4, #0x2c8]
|
|
cmp r0, #0
|
|
moveq r0, #1
|
|
movne r0, #0
|
|
strb r0, [r4, #0x2b7]
|
|
mov r0, #1
|
|
b _023410A4
|
|
_02341098:
|
|
mov r0, #2
|
|
b _023410A4
|
|
_023410A0:
|
|
mov r0, #0
|
|
_023410A4:
|
|
cmp r0, #1
|
|
bne _02341128
|
|
bl ov07_023416FC
|
|
bl ov00_022BD6E0
|
|
ldrb r1, [r4, #0x2b4]
|
|
cmp r1, r0
|
|
bne _023410F0
|
|
bl ov00_022BD6F4
|
|
ldrb r1, [r4, #0x2b5]
|
|
cmp r1, r0
|
|
bne _023410F0
|
|
bl ov00_022BD708
|
|
ldrb r1, [r4, #0x2b6]
|
|
cmp r1, r0
|
|
bne _023410F0
|
|
bl ov00_022BD71C
|
|
ldrb r1, [r4, #0x2b7]
|
|
cmp r1, r0
|
|
beq _0234111C
|
|
_023410F0:
|
|
mov r0, #0xe
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
ldr r2, _02340D90 ; =ov07_023418EC
|
|
ldr r3, _023414DC ; =0x00003750
|
|
mov r1, r0
|
|
bl ov07_0233F638
|
|
mov r0, #0x28
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_0234111C:
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02341128:
|
|
cmp r0, #2
|
|
bne _023414B4
|
|
bl ov07_023416FC
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02341140:
|
|
bl ov07_0233F678
|
|
mov r5, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #0xe
|
|
bl ov01_02337938
|
|
cmp r5, #1
|
|
bne _023411C0
|
|
ldrb r0, [r4, #0x2b7]
|
|
cmp r0, #0
|
|
beq _023411A8
|
|
bl ov00_022BD71C
|
|
cmp r0, #0
|
|
bne _023411A8
|
|
mov r0, #0xf
|
|
bl ov01_02337928
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
ldr r2, _02340D90 ; =ov07_023418EC
|
|
ldr r3, _023414E0 ; =0x00003751
|
|
mov r1, r0
|
|
bl ov07_0233F638
|
|
mov r0, #0x29
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023411A8:
|
|
ldr r1, _023414E4 ; =0x00003752
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x2a
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023411C0:
|
|
cmp r5, #2
|
|
cmpne r5, #0x15
|
|
bne _023414B4
|
|
bl sub_02046D20
|
|
mov r0, #0x26
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023411DC:
|
|
bl ov07_0233F678
|
|
mov r5, r0
|
|
bl ov07_02046BA0
|
|
mov r0, r0, lsl #0x18
|
|
mov r1, r0, asr #0x18
|
|
mov r0, #0xf
|
|
bl ov01_02337938
|
|
cmp r5, #1
|
|
bne _02341218
|
|
ldr r1, _023414E4 ; =0x00003752
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x2a
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02341218:
|
|
cmp r5, #2
|
|
cmpne r5, #0x15
|
|
bne _023414B4
|
|
bl sub_02046D20
|
|
mov r0, #0x26
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02341234:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _023414B4
|
|
ldrb r0, [r4, #0x2b4]
|
|
bl ov00_022BD730
|
|
ldrb r0, [r4, #0x2b5]
|
|
bl ov00_022BD744
|
|
ldrb r0, [r4, #0x2b6]
|
|
bl ov00_022BD758
|
|
ldrb r0, [r4, #0x2b7]
|
|
bl ov00_022BD76C
|
|
mov r0, #0x30
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_0234126C:
|
|
bl ov07_0233F678
|
|
cmp r0, #1
|
|
bne _023412A8
|
|
ldr r0, _02340D64 ; =ov07_02341B78
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
strb r2, [r1, #0x468]
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1a
|
|
add r0, r0, #0x400
|
|
bl ov00_022BD578
|
|
bl ov00_022BD4EC
|
|
mov r0, #0x2c
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023412A8:
|
|
cmp r0, #2
|
|
cmpne r0, #0x15
|
|
moveq r0, #0
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_023412BC:
|
|
bl ov07_0233CA80
|
|
ldr r5, [r4, #0x2b0]
|
|
bl sub_0205BD78
|
|
mov r2, r0
|
|
mov r0, r5
|
|
mov r1, #1
|
|
bl ov01_0232C5C8
|
|
ldr r0, [r4, #0x2b0]
|
|
bl ov07_0233CAC8
|
|
ldr r1, _023414E8 ; =0x00003754
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x2d
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_023412F8:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
moveq r0, #0x2e
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_0234130C:
|
|
bl ov07_0233CAE8
|
|
movs r5, r0
|
|
beq _023414B4
|
|
bl ov07_0233CD04
|
|
cmp r5, #1
|
|
bne _0234133C
|
|
ldr r1, _023414EC ; =0x00003755
|
|
mov r2, #1
|
|
mov r0, #0x1c
|
|
strb r2, [r4, #0x468]
|
|
bl ov07_0233F6AC
|
|
b _0234135C
|
|
_0234133C:
|
|
ldr r0, _02340D64 ; =ov07_02341B78
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x1a
|
|
add r0, r0, #0x400
|
|
bl ov00_022BD5A0
|
|
ldr r1, _023414F0 ; =0x00003756
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
_0234135C:
|
|
mov r0, #0x2f
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02341368:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _023414B4
|
|
ldrb r0, [r4, #0x468]
|
|
cmp r0, #0
|
|
movne r0, #0x30
|
|
strne r0, [r4]
|
|
moveq r0, #0
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_02341390:
|
|
bl ov00_022BD780
|
|
ldr r1, _023414F4 ; =0x0000023B
|
|
mov r0, #0
|
|
bl ov07_0233F6AC
|
|
mov r1, #0x31
|
|
ldr r0, _02340D64 ; =ov07_02341B78
|
|
str r1, [r4]
|
|
ldr r1, [r0]
|
|
mov r0, #0
|
|
strb r0, [r1, #0x419]
|
|
bl ov00_022BD264
|
|
_023413BC:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
bne _023414B4
|
|
mov r0, #0xe0
|
|
mov r1, #0x88
|
|
mov r2, #1
|
|
bl sub_02029F88
|
|
mov r0, #0x32
|
|
str r0, [r4]
|
|
bl sub_02003B94
|
|
b _023414B4
|
|
_023413E8:
|
|
mov r0, #3
|
|
bl NoteSaveBase
|
|
mov r5, r0
|
|
bl sub_02003BC8
|
|
bl sub_02029FBC
|
|
cmp r5, #0
|
|
bne _0234142C
|
|
mov r0, #0x1c
|
|
mov r1, #0x23c
|
|
bl ov07_0233F6AC
|
|
ldr r0, _02340D64 ; =ov07_02341B78
|
|
mov r2, #1
|
|
ldr r1, [r0]
|
|
mov r0, #0x33
|
|
strb r2, [r1, #0x419]
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_0234142C:
|
|
cmp r5, #1
|
|
moveq r0, #3
|
|
beq _023414B8
|
|
ldr r1, _023414F8 ; =0x00000239
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #0x34
|
|
str r0, [r4]
|
|
b _023414B4
|
|
_02341450:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
moveq r0, #0
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_02341464:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
moveq r0, #0
|
|
streq r0, [r4]
|
|
b _023414B4
|
|
_02341478:
|
|
bl ov01_0233769C
|
|
mov r0, #0x36
|
|
str r0, [r4]
|
|
_02341484:
|
|
bl ov01_02337718
|
|
cmp r0, #1
|
|
cmpne r0, #3
|
|
bne _023414A0
|
|
bl ov01_023376DC
|
|
mov r0, #2
|
|
b _023414B8
|
|
_023414A0:
|
|
cmp r0, #2
|
|
bne _023414B4
|
|
bl ov01_023376DC
|
|
mov r0, #3
|
|
b _023414B8
|
|
_023414B4:
|
|
mov r0, #0
|
|
_023414B8:
|
|
add sp, sp, #0x2cc
|
|
add sp, sp, #0x400
|
|
ldmia sp!, {r3, r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_023414C4: .word 0x00003746
|
|
_023414C8: .word 0x00003749
|
|
_023414CC: .word 0x00003FFF
|
|
_023414D0: .word ov07_02341B10
|
|
_023414D4: .word 0x00441C33
|
|
_023414D8: .word ov07_02341B20
|
|
_023414DC: .word 0x00003750
|
|
_023414E0: .word 0x00003751
|
|
_023414E4: .word 0x00003752
|
|
_023414E8: .word 0x00003754
|
|
_023414EC: .word 0x00003755
|
|
_023414F0: .word 0x00003756
|
|
_023414F4: .word 0x0000023B
|
|
_023414F8: .word 0x00000239
|
|
arm_func_end ov07_0233FDF8
|
|
|
|
arm_func_start ov07_023414FC
|
|
ov07_023414FC: ; 0x023414FC
|
|
ldr r1, _02341518 ; =ov07_02341B78
|
|
mov r3, #0
|
|
ldr r2, [r1]
|
|
str r3, [r2, #4]
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_02341518: .word ov07_02341B78
|
|
arm_func_end ov07_023414FC
|
|
|
|
arm_func_start ov07_0234151C
|
|
ov07_0234151C: ; 0x0234151C
|
|
stmdb sp!, {r4, lr}
|
|
ldr r0, _02341600 ; =ov07_02341B78
|
|
ldr r4, [r0]
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #3
|
|
addls pc, pc, r0, lsl #2
|
|
b _023415F8
|
|
_02341538: ; jump table
|
|
b _02341548 ; case 0
|
|
b _02341558 ; case 1
|
|
b _02341574 ; case 2
|
|
b _023415E8 ; case 3
|
|
_02341548:
|
|
bl sub_02046D20
|
|
mov r0, #1
|
|
str r0, [r4, #4]
|
|
b _023415F8
|
|
_02341558:
|
|
ldr r1, [r4, #0xc]
|
|
ldr r2, [r4, #0x10]
|
|
mov r0, #3
|
|
bl ov01_0233580C
|
|
mov r0, #2
|
|
str r0, [r4, #4]
|
|
b _023415F8
|
|
_02341574:
|
|
bl ov01_02336014
|
|
cmp r0, #2
|
|
bne _023415D4
|
|
bl ov01_023370AC
|
|
str r0, [r4, #0xc]
|
|
str r1, [r4, #0x10]
|
|
bl ov01_02335FA8
|
|
ldrb r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _023415B4
|
|
bl ov00_022BD630
|
|
ldr r1, [r4, #0x10]
|
|
ldr r2, [r4, #0xc]
|
|
cmp r1, r0, asr #31
|
|
cmpeq r2, r0
|
|
bne _023415BC
|
|
_023415B4:
|
|
mov r0, #1
|
|
ldmia sp!, {r4, pc}
|
|
_023415BC:
|
|
ldr r1, _02341604 ; =0x00003748
|
|
mov r0, #0x1c
|
|
bl ov07_0233F6AC
|
|
mov r0, #3
|
|
str r0, [r4, #4]
|
|
b _023415F8
|
|
_023415D4:
|
|
cmp r0, #1
|
|
bne _023415F8
|
|
bl ov01_02335FA8
|
|
mov r0, #2
|
|
ldmia sp!, {r4, pc}
|
|
_023415E8:
|
|
bl ov07_0233F6C8
|
|
cmp r0, #0x15
|
|
moveq r0, #0
|
|
streq r0, [r4, #4]
|
|
_023415F8:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
_02341600: .word ov07_02341B78
|
|
_02341604: .word 0x00003748
|
|
arm_func_end ov07_0234151C
|
|
|
|
arm_func_start ov07_02341608
|
|
ov07_02341608: ; 0x02341608
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
bx lr
|
|
arm_func_end ov07_02341608
|
|
|
|
arm_func_start ov07_02341614
|
|
ov07_02341614: ; 0x02341614
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
mov r4, #0
|
|
b _0234163C
|
|
_0234162C:
|
|
bl ov07_02341608
|
|
strb r0, [r7], #1
|
|
add r6, r6, #1
|
|
add r4, r4, #1
|
|
_0234163C:
|
|
ldrb r0, [r6]
|
|
cmp r0, #0
|
|
beq _02341650
|
|
cmp r4, r5
|
|
blt _0234162C
|
|
_02341650:
|
|
cmp r4, r5
|
|
movlt r0, #0
|
|
strltb r0, [r7]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
arm_func_end ov07_02341614
|
|
|
|
arm_func_start ov07_02341660
|
|
ov07_02341660: ; 0x02341660
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
mov r8, #0
|
|
mov sl, r0
|
|
mov sb, r1
|
|
mov r7, r8
|
|
mov r6, #0xa
|
|
mov r5, #0x5b
|
|
mov r4, #0x43
|
|
mov fp, #0x4e
|
|
b _023416E4
|
|
_02341688:
|
|
ldrb r0, [sb, r7]
|
|
add r7, r7, #1
|
|
bl ov07_02341608
|
|
strb r0, [sl, r8]
|
|
cmp r7, #0x36
|
|
add r8, r8, #1
|
|
bge _023416F0
|
|
mov r0, r7
|
|
mov r1, #0x1b
|
|
bl _s32_div_f
|
|
cmp r1, #0
|
|
bne _023416E4
|
|
strb r6, [sl, r8]
|
|
add r0, r8, #1
|
|
strb r5, [sl, r0]
|
|
add r0, r8, #2
|
|
strb r4, [sl, r0]
|
|
add r0, r8, #3
|
|
add r1, r8, #4
|
|
strb fp, [sl, r0]
|
|
mov r0, #0x5d
|
|
strb r0, [sl, r1]
|
|
add r8, r8, #5
|
|
_023416E4:
|
|
ldrb r0, [sb, r7]
|
|
cmp r0, #0
|
|
bne _02341688
|
|
_023416F0:
|
|
mov r0, #0
|
|
strb r0, [sl, r8]
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
arm_func_end ov07_02341660
|
|
|
|
arm_func_start ov07_023416FC
|
|
ov07_023416FC: ; 0x023416FC
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _02341734 ; =ov07_02341B78
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x200
|
|
ldrsb r0, [r0, #0xb8]
|
|
cmp r0, r1
|
|
ldmeqia sp!, {r3, pc}
|
|
bl CloseOptionsMenu
|
|
ldr r0, _02341734 ; =ov07_02341B78
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x2b8]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02341734: .word ov07_02341B78
|
|
arm_func_end ov07_023416FC
|
|
|
|
arm_func_start ov07_02341738
|
|
ov07_02341738: ; 0x02341738
|
|
stmdb sp!, {r3, lr}
|
|
ldr r1, _02341798 ; =ov07_02341B78
|
|
mvn r2, #1
|
|
ldr r1, [r1]
|
|
add r1, r1, #0x400
|
|
ldrsb r1, [r1, #0x69]
|
|
cmp r1, r2
|
|
ldmneia sp!, {r3, pc}
|
|
cmp r0, #0
|
|
beq _0234177C
|
|
ldr r0, _0234179C ; =ov07_02341B00
|
|
ldr r1, _023417A0 ; =ov07_02341800
|
|
bl CreateTextBox
|
|
ldr r1, _02341798 ; =ov07_02341B78
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x469]
|
|
ldmia sp!, {r3, pc}
|
|
_0234177C:
|
|
ldr r0, _023417A4 ; =ov07_02341AF0
|
|
ldr r1, _023417A0 ; =ov07_02341800
|
|
bl CreateTextBox
|
|
ldr r1, _02341798 ; =ov07_02341B78
|
|
ldr r1, [r1]
|
|
strb r0, [r1, #0x469]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_02341798: .word ov07_02341B78
|
|
_0234179C: .word ov07_02341B00
|
|
_023417A0: .word ov07_02341800
|
|
_023417A4: .word ov07_02341AF0
|
|
arm_func_end ov07_02341738
|
|
|
|
arm_func_start ov07_023417A8
|
|
ov07_023417A8: ; 0x023417A8
|
|
stmdb sp!, {r3, lr}
|
|
ldr r0, _023417FC ; =ov07_02341B78
|
|
mvn r1, #1
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x400
|
|
ldrsb r0, [r0, #0x69]
|
|
cmp r0, r1
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r3, pc}
|
|
bl sub_0202F954
|
|
ldr r0, _023417FC ; =ov07_02341B78
|
|
ldr r0, [r0]
|
|
add r0, r0, #0x400
|
|
ldrsb r0, [r0, #0x69]
|
|
bl CloseTextBox
|
|
ldr r0, _023417FC ; =ov07_02341B78
|
|
mvn r2, #1
|
|
ldr r1, [r0]
|
|
mov r0, #1
|
|
strb r2, [r1, #0x469]
|
|
ldmia sp!, {r3, pc}
|
|
.align 2, 0
|
|
_023417FC: .word ov07_02341B78
|
|
arm_func_end ov07_023417A8
|
|
|
|
arm_func_start ov07_02341800
|
|
ov07_02341800: ; 0x02341800
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
|
sub sp, sp, #0x108
|
|
mov sl, r0
|
|
bl sub_02027B1C
|
|
mov r7, #0
|
|
ldr fp, _023418B8 ; =ov07_02341B78
|
|
mov r8, r7
|
|
mov r4, #0x17
|
|
add r6, sp, #8
|
|
_02341824:
|
|
mov r0, r6
|
|
mov r1, #0x100
|
|
bl MemZero
|
|
ldr r1, [fp]
|
|
mov r0, r6
|
|
add r1, r1, #0x20
|
|
mov r2, #0x12
|
|
add r1, r1, r7
|
|
bl StrncpySimpleNoPadSafe
|
|
mov r0, #0xd
|
|
mul r5, r8, r0
|
|
str r6, [sp, #4]
|
|
mov sb, #0
|
|
b _02341888
|
|
_0234185C:
|
|
add r0, sp, #4
|
|
bl sub_0202065C
|
|
mov r1, #0xd
|
|
mul r1, sb, r1
|
|
mov r3, r0
|
|
mov r0, sl
|
|
add r1, r1, #4
|
|
add r2, r5, #2
|
|
str r4, [sp]
|
|
bl sub_020264F8
|
|
add sb, sb, #1
|
|
_02341888:
|
|
ldr r0, [sp, #4]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _0234185C
|
|
add r8, r8, #1
|
|
cmp r8, #3
|
|
add r7, r7, #0x12
|
|
blt _02341824
|
|
mov r0, sl
|
|
bl UpdateWindow
|
|
add sp, sp, #0x108
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
|
.align 2, 0
|
|
_023418B8: .word ov07_02341B78
|
|
arm_func_end ov07_02341800
|
|
; 0x023418BC
|
|
#endif
|
|
|
|
.global ov07_023418BC
|
|
ov07_023418BC:
|
|
#ifdef EUROPE
|
|
#define OV07_DATA_OFFSET 2
|
|
#else
|
|
#define OV07_DATA_OFFSET 0
|
|
#endif
|
|
.byte 0x0A + OV07_DATA_OFFSET, 0x37, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0B + OV07_DATA_OFFSET, 0x37, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.global ov07_023418D4
|
|
ov07_023418D4:
|
|
.byte 0xF9 + OV07_DATA_OFFSET, 0x36, 0x00, 0x00
|
|
.global ov07_023418D8
|
|
ov07_023418D8:
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0xFA + OV07_DATA_OFFSET, 0x36, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
#ifndef EUROPE
|
|
.global ov07_023418EC
|
|
ov07_023418EC:
|
|
.byte 0x57, 0x37, 0x00, 0x00
|
|
.global ov07_023418F0
|
|
ov07_023418F0:
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x58, 0x37, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.global ov07_02341904
|
|
ov07_02341904:
|
|
.byte 0x3E, 0x37, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x3F, 0x37, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
#endif
|
|
.global ov07_0234191C
|
|
ov07_0234191C:
|
|
.byte 0x0E + OV07_DATA_OFFSET, 0x37, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F + OV07_DATA_OFFSET, 0x37, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
#ifndef EUROPE
|
|
.global ov07_02341934
|
|
ov07_02341934:
|
|
.byte 0x28, 0x37, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x37, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.global ov07_0234194C
|
|
ov07_0234194C:
|
|
.byte 0x36, 0x37, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x59, 0x37, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
#endif
|
|
.global ov07_02341964
|
|
ov07_02341964:
|
|
.byte 0x23 + OV07_DATA_OFFSET, 0x37, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x24 + OV07_DATA_OFFSET, 0x37, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.global ov07_0234197C
|
|
ov07_0234197C:
|
|
.byte 0x11 + OV07_DATA_OFFSET, 0x37, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12 + OV07_DATA_OFFSET, 0x37, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.global ov07_02341994
|
|
ov07_02341994:
|
|
.byte 0x20 + OV07_DATA_OFFSET, 0x37, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x21 + OV07_DATA_OFFSET, 0x37, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.global ov07_023419AC
|
|
ov07_023419AC:
|
|
.byte 0xE6 + OV07_DATA_OFFSET, 0x36, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE7 + OV07_DATA_OFFSET, 0x36, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.global ov07_023419C4
|
|
ov07_023419C4:
|
|
.byte 0xFB + OV07_DATA_OFFSET, 0x36, 0x00, 0x00
|
|
.global ov07_023419C8
|
|
ov07_023419C8:
|
|
.byte 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0xFC + OV07_DATA_OFFSET, 0x36, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.global ov07_023419DC
|
|
ov07_023419DC:
|
|
.byte 0xF3 + OV07_DATA_OFFSET, 0x36, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0xF4 + OV07_DATA_OFFSET, 0x36, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00
|
|
.byte 0xF5 + OV07_DATA_OFFSET, 0x36, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
#ifndef EUROPE
|
|
.global ov07_023419FC
|
|
ov07_023419FC:
|
|
.byte 0xF0, 0x36, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xF1, 0x36, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0xF2, 0x36, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
#endif
|
|
.global ov07_02341A1C
|
|
ov07_02341A1C:
|
|
.byte 0x1B + OV07_DATA_OFFSET, 0x37, 0x00, 0x00
|
|
.global ov07_02341A20
|
|
ov07_02341A20:
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x1C + OV07_DATA_OFFSET, 0x37, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
#ifndef EUROPE
|
|
.byte 0x1D, 0x37, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
#endif
|
|
.byte 0x1E + OV07_DATA_OFFSET, 0x37, 0x00, 0x00
|
|
.byte 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
#ifdef EUROPE
|
|
.global ov07_023419FC
|
|
ov07_023419FC:
|
|
.byte 0xF2, 0x36, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xF3, 0x36, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0xF4, 0x36, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
#else
|
|
.global ov07_02341A44
|
|
ov07_02341A44:
|
|
.byte 0x2F, 0x37, 0x00, 0x00
|
|
.global ov07_02341A48
|
|
ov07_02341A48:
|
|
.byte 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x30, 0x37, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x31, 0x37, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x32, 0x37, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x59, 0x37, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
#endif
|
|
.global ov07_02341A74
|
|
ov07_02341A74:
|
|
.byte 0xEA + OV07_DATA_OFFSET, 0x36, 0x00, 0x00
|
|
.global ov07_02341A78
|
|
ov07_02341A78:
|
|
.byte 0x03, 0x00, 0x00, 0x00
|
|
.byte 0xEB + OV07_DATA_OFFSET, 0x36, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xEC + OV07_DATA_OFFSET, 0x36, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
#ifndef EUROPE
|
|
.byte 0xED, 0x36, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
#endif
|
|
.byte 0xEE + OV07_DATA_OFFSET, 0x36, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
.byte 0xE8 + OV07_DATA_OFFSET, 0x36, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.global ov07_02341AAC
|
|
ov07_02341AAC:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x1A, 0x11, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov07_02341ABC
|
|
ov07_02341ABC:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x1A, 0x02, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.global ov07_02341ACC
|
|
ov07_02341ACC:
|
|
.byte 0x5B, 0x43, 0x4C, 0x55, 0x4D, 0x5F, 0x53, 0x45, 0x54, 0x3A, 0x38, 0x30, 0x5D, 0x00, 0x00, 0x00
|
|
#ifndef EUROPE
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
.global ov07_02341AE8
|
|
ov07_02341AE8:
|
|
.byte 0x4E, 0x37, 0x4F, 0x37
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov07_02341AF0
|
|
ov07_02341AF0:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x1E, 0x05, 0x00, 0xFE, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov07_02341B00
|
|
ov07_02341B00:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x1E, 0x05, 0x00, 0xFE, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov07_02341B10
|
|
ov07_02341B10:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov07_02341B20
|
|
ov07_02341B20:
|
|
.byte 0x4B, 0x37, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.word ov07_02341AE8
|
|
.byte 0x4D, 0x37, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.word ov07_02341AE8
|
|
.byte 0x4C, 0x37, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
.word ov07_02341AE8
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
#endif
|
|
|
|
.data
|
|
.global ov07_02341B60
|
|
ov07_02341B60:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov07_02341B64
|
|
ov07_02341B64:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov07_02341B68
|
|
ov07_02341B68:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov07_02341B6C
|
|
ov07_02341B6C:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov07_02341B70
|
|
ov07_02341B70:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov07_02341B74
|
|
ov07_02341B74:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global ov07_02341B78
|
|
ov07_02341B78:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.bss
|
|
.global ov07_02341B80
|
|
ov07_02341B80:
|
|
.space 0x4
|
|
.global ov07_02341B84
|
|
ov07_02341B84:
|
|
.space 0x1C
|