pmd-sky/asm/overlay_07.s
2023-12-21 00:52:30 -05:00

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