Files
ph/asm/ov08.s
T
2023-10-06 17:59:49 +02:00

1249 lines
24 KiB
ArmAsm

.include "macros/function.inc"
.include "global.inc"
.text
.global func_ov08_02112c20
arm_func_start func_ov08_02112c20
func_ov08_02112c20: ; 0x02112c20
stmdb sp!, {r4, lr}
ldr r1, _02112c50 ; =data_027e0ce0
mov r4, r0
ldr r1, [r1, #4]
mov r0, #0x10
mov r2, #4
bl func_0202e9dc
cmp r0, #0
ldmeqia sp!, {r4, pc}
mov r1, r4
bl func_ov08_02112c54
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov08_02112c20
_02112c50: .word data_027e0ce0
.global func_ov08_02112c54
arm_func_start func_ov08_02112c54
func_ov08_02112c54: ; 0x02112c54
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x28
ldr r2, _02112d5c ; =data_02057634
mov r4, r0
ldr r0, _02112d60 ; =data_ov08_02113b44
str r2, [r4]
stmia r4, {r0, r1}
mov r1, #0
str r1, [r4, #8]
mov r0, #1
str r1, [r4, #0xc]
bl func_02003f74
mov r0, #2
bl func_02003ce4
mov r0, #4
bl func_02004730
mov r1, #0x4000000
ldr r0, [r1]
add r2, r1, #0x1000
bic r0, r0, #0x1f00
orr r0, r0, #0x1100
str r0, [r1]
ldr r1, [r2]
mov r0, #1
bic r1, r1, #0x1f00
orr r1, r1, #0x100
str r1, [r2]
str r0, [sp]
ldr r0, _02112d64 ; =data_ov08_02113b00
ldr r1, _02112d68 ; =data_ov08_02113b04
ldr r2, _02112d6c ; =data_020691a0
mov r3, #0xcc00
blx func_0202d5b4
mov r5, r0
ldr r1, _02112d70 ; =data_ov08_02113b20
add r0, sp, #0x10
blx func_02031e1c
ldr r1, _02112d74 ; =data_ov08_02113b2c
add r0, sp, #0x1c
blx func_02031e1c
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r1, #2
str r1, [sp, #0xc]
ldr r1, [sp, #0x10]
ldr r2, [sp, #0x14]
ldr r3, [sp, #0x18]
blx func_02027ab4
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #2
str r0, [sp, #0xc]
ldr r1, [sp, #0x1c]
ldr r2, [sp, #0x20]
ldr r3, [sp, #0x24]
mov r0, #4
blx func_02027ab4
mov r0, r5
blx func_02016fcc
mov r0, r4
add sp, sp, #0x28
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov08_02112c54
_02112d5c: .word data_02057634
_02112d60: .word data_ov08_02113b44
_02112d64: .word data_ov08_02113b00
_02112d68: .word data_ov08_02113b04
_02112d6c: .word data_020691a0
_02112d70: .word data_ov08_02113b20
_02112d74: .word data_ov08_02113b2c
.global func_ov08_02112d78
arm_func_start func_ov08_02112d78
func_ov08_02112d78: ; 0x02112d78
stmdb sp!, {r4, lr}
ldr r1, _02112da4 ; =data_ov08_02113b44
mov r4, r0
str r1, [r4]
bl func_02004ba8
bl func_02004b94
bl func_02004c68
mov r0, r4
blx func_0202c0b8
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov08_02112d78
_02112da4: .word data_ov08_02113b44
.global func_ov08_02112da8
arm_func_start func_ov08_02112da8
func_ov08_02112da8: ; 0x02112da8
stmdb sp!, {r4, lr}
ldr r1, _02112ddc ; =data_ov08_02113b44
mov r4, r0
str r1, [r4]
bl func_02004ba8
bl func_02004b94
bl func_02004c68
mov r0, r4
blx func_0202c0b8
mov r0, r4
bl func_0202ea0c
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov08_02112da8
_02112ddc: .word data_ov08_02113b44
.global func_ov08_02112de0
arm_func_start func_ov08_02112de0
func_ov08_02112de0: ; 0x02112de0
stmdb sp!, {r3, r4, r5, lr}
ldr r2, _02112e7c ; =data_027e0618
mov r5, r0
ldr r0, [r2, #0xcc]
mov r4, #0
cmp r0, #0
beq _02112e70
cmp r0, #1
bne _02112e74
cmp r1, #0
bne _02112e74
ldr r0, [r5, #8]
add r0, r0, #1
str r0, [r5, #8]
cmp r0, #1
bne _02112e30
ldr r0, _02112e80 ; =0x027ffc3c
ldr r0, [r0]
str r0, [r5, #0xc]
b _02112e74
_02112e30:
cmp r0, #2
ldreq r0, [r2, #4]
cmpeq r0, #1
bne _02112e44
bl func_ov08_02112e88
_02112e44:
ldr r1, _02112e80 ; =0x027ffc3c
ldr r0, [r5, #0xc]
ldr r1, [r1]
sub r0, r1, r0
cmp r0, #0x3c
blo _02112e74
ldr r0, _02112e7c ; =data_027e0618
mov r1, #1
mov r2, #0
blx func_0202cec8
b _02112e74
_02112e70:
mov r4, #2
_02112e74:
mov r0, r4
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov08_02112de0
_02112e7c: .word data_027e0618
_02112e80: .word 0x027ffc3c
.global func_ov08_02112e84
arm_func_start func_ov08_02112e84
func_ov08_02112e84: ; 0x02112e84
bx lr
arm_func_end func_ov08_02112e84
.global func_ov08_02112e88
arm_func_start func_ov08_02112e88
func_ov08_02112e88: ; 0x02112e88
stmdb sp!, {r3, lr}
blx func_020425e0
ldr r0, _02112ec8 ; =data_027e0900
ldr r2, _02112ecc ; =0x00000000
mov r1, #0
blx func_0202ff44
ldr r0, _02112ed0 ; =data_ov00_020ee734
bl func_ov08_021131ac
ldr r0, _02112ed4 ; =data_027e0d54
bl func_ov08_02112f28
ldr r0, _02112ed8 ; =data_027e0ce0
ldr r0, [r0]
bl func_ov08_02113678
ldr r0, _02112edc ; =data_ov00_020ec754
blx func_ov00_0207a654
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end func_ov08_02112e88
_02112ec8: .word data_027e0900
_02112ecc: .word 0x00000000
_02112ed0: .word data_ov00_020ee734
_02112ed4: .word data_027e0d54
_02112ed8: .word data_027e0ce0
_02112edc: .word data_ov00_020ec754
.global func_ov08_02112ee0
arm_func_start func_ov08_02112ee0
func_ov08_02112ee0: ; 0x02112ee0
stmdb sp!, {r4, lr}
mov r4, r0
mov r1, r4
mov r0, #0
mov r2, #8
bl func_020078f4
mov r1, #0
str r1, [r4, #8]
mov r0, #1
strb r0, [r4, #0xc]
strb r1, [r4, #0xd]
strb r1, [r4, #0xe]
strb r1, [r4, #0xf]
str r1, [r4, #0x10]
strh r1, [r4, #0x14]
mov r0, r4
strh r1, [r4, #0x16]
ldmia sp!, {r4, pc}
arm_func_end func_ov08_02112ee0
.global func_ov08_02112f28
arm_func_start func_ov08_02112f28
func_ov08_02112f28: ; 0x02112f28
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0x34
ldr r1, _0211306c ; =data_027e0ce0
mov r5, r0
mov r0, #4
ldr r1, [r1]
mov r2, r0
bl func_0202e9dc
movs r4, r0
beq _02112f70
mov r1, r4
mov r0, #0
mov r2, #4
bl func_020078f4
mov r1, r4
mov r0, #0
mov r2, #4
bl func_020078f4
_02112f70:
str r4, [r5, #8]
bl func_0200c76c
strh r0, [r5, #0x14]
ldrh r0, [r5, #0x14]
blx func_020400f4
mov r0, #0
mov r3, #0x21
add r1, sp, #0x18
mov r2, #0x1a
strh r3, [sp, #0x14]
strh r0, [sp, #0x16]
strh r0, [sp, #0x32]
mov r4, #1
bl func_020078c0
ldr r0, _02113070 ; =0x00001302
blx func_02040528
cmp r0, #0
bne _02112fc4
blx func_020400c0
str r0, [r5, #0x10]
b _02113038
_02112fc4:
mov r3, #0
str r3, [sp]
str r3, [sp, #4]
mov r0, #6
str r0, [sp, #8]
mov r0, r4
str r0, [sp, #0xc]
ldr r0, _02113074 ; =0x0007ea00
add r1, sp, #0x14
mov r2, #0x20
str r3, [sp, #0x10]
blx func_02040464
cmp r0, #0
bne _02113008
blx func_020400c0
str r0, [r5, #0x10]
b _02113038
_02113008:
ldrh r1, [sp, #0x16]
ldr r0, _02113078 ; =0x0000c2e4
cmp r1, r0
ldreqh r1, [sp, #0x32]
ldreq r0, _0211307c ; =0x00001d3f
cmpeq r1, r0
movne r0, #1
moveq r0, #0
strb r0, [r5, #0xc]
ldrh r0, [sp, #0x14]
cmp r0, #0x21
movne r4, #0
_02113038:
ldrh r0, [r5, #0x14]
blx func_02040100
ldr r0, [r5, #0x10]
cmp r0, #0
movne r0, #1
strneb r0, [r5, #0xf]
ldrb r0, [r5, #0xc]
cmp r0, #0
cmpeq r4, #0
moveq r0, #1
streqb r0, [r5, #0xc]
add sp, sp, #0x34
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end func_ov08_02112f28
_0211306c: .word data_027e0ce0
_02113070: .word 0x00001302
_02113074: .word 0x0007ea00
_02113078: .word 0x0000c2e4
_0211307c: .word 0x00001d3f
.global func_ov08_02113080
arm_func_start func_ov08_02113080
func_ov08_02113080: ; 0x02113080
stmdb sp!, {r4, lr}
sub sp, sp, #8
mov r4, r0
blx func_ov00_0207ac24
blx func_0200a23c
bl func_0200dd94
cmp r0, #0
beq _021130ac
mov r0, #0
bl func_0200a318
b _021130c4
_021130ac:
add r0, sp, #0
bl func_0200a284
cmp r0, #0
beq _021130c4
add r0, sp, #0
bl func_0200a318
_021130c4:
mov r0, r4
add sp, sp, #8
ldmia sp!, {r4, pc}
arm_func_end func_ov08_02113080
.global func_ov08_021130d0
arm_func_start func_ov08_021130d0
func_ov08_021130d0: ; 0x021130d0
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
mov r0, #0
strb r0, [r4]
strh r0, [r4, #2]
bl func_ov01_020efdac
strh r0, [r4, #4]
mov r0, #0xd
str r0, [r4, #8]
mov r3, #4
add r1, r4, #0xc
mov r0, #0
mov r2, #0x1e
str r3, [r4, #0x2c]
bl func_020078c0
ldr r0, _0211314c ; =data_027e0ce0
mov r1, #0x700
ldr r0, [r0, #4]
mov r2, #0x20
blx func_0201739c
mov r5, r0
blx func_ov00_020773c0
cmp r0, #3
moveq r0, #1
streqb r0, [r4]
ldr r0, _0211314c ; =data_027e0ce0
mov r1, r5
ldr r0, [r0, #4]
blx func_020174a4
mov r0, r4
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov08_021130d0
_0211314c: .word data_027e0ce0
.global func_ov08_02113150
arm_func_start func_ov08_02113150
func_ov08_02113150: ; 0x02113150
mov r3, #0
mov r1, #1
str r3, [r0, #0x90]
strb r1, [r0, #0x94]
strb r3, [r0, #0x95]
strb r3, [r0, #0x96]
strb r3, [r0, #0x97]
strb r3, [r0, #0x98]
strb r3, [r0, #0x99]
strb r3, [r0, #0x9a]
str r3, [r0, #0x9c]
str r3, [r0, #0xa0]
sub r1, r1, #2
str r1, [r0, #0xa4]
strb r3, [r0, #0xa8]
strb r3, [r0, #0xa9]
mov r2, r3
_02113194:
add r1, r0, r3, lsl #2
add r3, r3, #1
str r2, [r1, #0xac]
cmp r3, #8
blt _02113194
bx lr
arm_func_end func_ov08_02113150
.global func_ov08_021131ac
arm_func_start func_ov08_021131ac
func_ov08_021131ac: ; 0x021131ac
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
bl func_0200dd94
cmp r0, #0
ldreqb r0, [r6, #0x98]
cmpeq r0, #0
ldmneia sp!, {r4, r5, r6, pc}
bl func_0201f378
ldr r0, _0211326c ; =data_027e0ce0
ldr r1, _02113270 ; =data_ov08_02113b60
ldr r2, [r0, #0xc]
mov r0, r6
str r2, [r6, #0x90]
mov r3, #0
bl func_0202019c
ldr r0, [r6, #0x90]
bl func_020213f0
ldr r1, [r6, #0x90]
mov r0, #9
bl func_02021714
ldr r1, [r6, #0x90]
mov r0, #1
bl func_020209a4
ldr r0, [r6, #0x90]
bl func_0201f1ac
mov r0, #1
str r0, [r6, #0xb0]
ldr r0, _02113274 ; =data_ov00_020eec68
bl func_ov08_021132cc
ldr r0, _02113278 ; =data_ov00_020eec9c
bl func_ov08_0211337c
ldr r0, _0211327c ; =data_ov00_020ee820
bl func_ov08_021133f0
ldr r0, _02113280 ; =data_ov00_020eec60
bl func_ov08_02113474
ldr r0, _0211327c ; =data_ov00_020ee820
bl func_ov00_020d69e4
mov r5, #0
mov r4, r5
_02113248:
mov r0, r5
mov r1, r4
bl func_0201f96c
add r5, r5, #1
cmp r5, #0x10
blt _02113248
mov r0, #1
strb r0, [r6, #0x98]
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end func_ov08_021131ac
_0211326c: .word data_027e0ce0
_02113270: .word data_ov08_02113b60
_02113274: .word data_ov00_020eec68
_02113278: .word data_ov00_020eec9c
_0211327c: .word data_ov00_020ee820
_02113280: .word data_ov00_020eec60
.global func_ov08_02113284
arm_func_start func_ov08_02113284
func_ov08_02113284: ; 0x02113284
mov r2, #0
strb r2, [r0, #0x10]
strb r2, [r0, #0x11]
strb r2, [r0, #0x12]
strb r2, [r0, #0x13]
strb r2, [r0, #0x14]
strb r2, [r0, #0x15]
strb r2, [r0, #0x16]
str r2, [r0, #0x18]
str r2, [r0, #0x1c]
sub r1, r2, #1
str r1, [r0, #0x20]
str r2, [r0, #0x24]
sub r1, r2, #0x80000001
str r1, [r0, #0x28]
mov r1, #0x7f
str r1, [r0, #0x2c]
bx lr
arm_func_end func_ov08_02113284
.global func_ov08_021132cc
arm_func_start func_ov08_021132cc
func_ov08_021132cc: ; 0x021132cc
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
mov r5, r6
mov r4, #0
_021132dc:
mov r0, r5
bl func_0201f704
add r4, r4, #1
cmp r4, #3
add r5, r5, #4
blt _021132dc
add r0, r6, #0xc
bl func_02021a1c
mov r1, #1
strb r1, [r6, #0x11]
mov r0, #0
strb r0, [r6, #0x12]
strb r1, [r6, #0x10]
ldmia sp!, {r4, r5, r6, pc}
arm_func_end func_ov08_021132cc
.global func_ov08_02113314
arm_func_start func_ov08_02113314
func_ov08_02113314: ; 0x02113314
mov r2, #0
str r2, [r0, #4]
strb r2, [r0, #8]
mov r1, #1
strb r2, [r0, #9]
strb r1, [r0, #0xa]
strb r2, [r0, #0xb]
strb r2, [r0, #0xc]
str r2, [r0, #0x10]
sub r1, r1, #2
str r1, [r0, #0x14]
str r1, [r0, #0x18]
str r2, [r0, #0x1c]
str r2, [r0, #0x20]
str r1, [r0, #0x24]
add r3, r0, #0x28
add r1, r0, #0x88
_02113358:
str r2, [r3]
strh r2, [r3, #4]
strb r2, [r3, #6]
strb r2, [r3, #7]
add r3, r3, #0xc
cmp r3, r1
blo _02113358
str r2, [r0, #0x88]
bx lr
arm_func_end func_ov08_02113314
.global func_ov08_0211337c
arm_func_start func_ov08_0211337c
func_ov08_0211337c: ; 0x0211337c
stmdb sp!, {r3, r4, r5, lr}
mov r4, r0
bl func_0200dd94
cmp r0, #0
ldmneia sp!, {r3, r4, r5, pc}
mov r0, r4
bl func_0201f704
add r4, r4, #0x28
mov r5, #0
_021133a0:
add r0, r4, #8
bl func_0201f704
add r5, r5, #1
cmp r5, #8
add r4, r4, #0xc
blt _021133a0
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov08_0211337c
.global func_ov08_021133bc
arm_func_start func_ov08_021133bc
func_ov08_021133bc: ; 0x021133bc
stmdb sp!, {r4, lr}
mov r4, r0
mov r0, #0
strb r0, [r4]
strb r0, [r4, #1]
strb r0, [r4, #2]
sub r3, r0, #1
add r1, r4, #0x40
mov r2, #0x400
str r3, [r4, #0x20]
bl func_02007938
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov08_021133bc
.global func_ov08_021133f0
arm_func_start func_ov08_021133f0
func_ov08_021133f0: ; 0x021133f0
stmdb sp!, {r4, lr}
mov r4, r0
ldrb r0, [r4]
cmp r0, #0
ldmneia sp!, {r4, pc}
blx func_0200aa20
mov r2, #0
str r2, [r4, #4]
add r0, r4, #0x40
str r0, [r4, #8]
mov r1, #0x400
ldr r0, _0211345c ; =0x0000105d
str r1, [r4, #0xc]
str r0, [r4, #0x10]
mov r0, #1
str r0, [r4, #0x14]
str r2, [r4, #0x18]
str r2, [r4, #0x1c]
blx func_0200afac
mov r0, #1
bl func_0200b4dc
mov r0, r4
mov r1, #2
bl func_ov00_020d69d4
mov r0, #1
strb r0, [r4]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov08_021133f0
_0211345c: .word 0x0000105d
.global func_ov08_02113460
arm_func_start func_ov08_02113460
func_ov08_02113460: ; 0x02113460
mov r1, #0
strb r1, [r0]
strb r1, [r0, #1]
strh r1, [r0, #2]
bx lr
arm_func_end func_ov08_02113460
.global func_ov08_02113474
arm_func_start func_ov08_02113474
func_ov08_02113474: ; 0x02113474
stmdb sp!, {r4, lr}
ldr r1, _021134b0 ; =data_ov00_020ee820
mov r4, r0
ldrb r0, [r1]
cmp r0, #0
beq _021134a8
ldrb r0, [r4]
cmp r0, #0
bne _021134a8
ldr r0, _021134b4 ; =data_ov00_020ee824
bl func_020156b4
mov r0, #1
strb r0, [r4]
_021134a8:
bl func_02015718
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov08_02113474
_021134b0: .word data_ov00_020ee820
_021134b4: .word data_ov00_020ee824
.global func_ov08_021134b8
arm_func_start func_ov08_021134b8
func_ov08_021134b8: ; 0x021134b8
stmdb sp!, {r4, lr}
mov r4, r0
mov r1, #0
strb r1, [r4, #4]
mov r0, #0x10
str r0, [r4, #8]
str r0, [r4, #0xc]
str r1, [r4, #0x10]
str r1, [r4, #0x14]
add r2, r4, #0x18
add r0, r4, #0x30
mvn r1, #0
_021134e8:
str r1, [r2]
str r1, [r2, #4]
add r2, r2, #8
cmp r2, r0
blo _021134e8
mov r1, #0
mov r0, r4
strb r1, [r4, #0x38]
bl func_0201f704
mov r1, #1
mov r0, r4
strb r1, [r4, #0x38]
ldmia sp!, {r4, pc}
arm_func_end func_ov08_021134b8
.global func_ov08_0211351c
arm_func_start func_ov08_0211351c
func_ov08_0211351c: ; 0x0211351c
stmdb sp!, {r3, r4, r5, lr}
mov lr, #0
ldr r1, _021135b4 ; =0x00007fff
strb lr, [r0]
strh r1, [r0, #2]
str lr, [r0, #4]
mov ip, #6
mov r2, #0x1f
str ip, [r0, #8]
mov r3, #0xa0
str r3, [r0, #0xc]
str r2, [r0, #0x10]
sub r1, r2, #0x20
str r1, [r0, #0x34]
str ip, [r0, #0x38]
str r3, [r0, #0x3c]
str r2, [r0, #0x40]
strb lr, [r0, #0x44]
strb r2, [r0, #0x45]
strb r2, [r0, #0x46]
mov ip, lr
strb r2, [r0, #0x47]
mov r3, #4
mov r4, #8
mov r5, #0xc
_02113580:
orr r1, ip, r3, lsl #8
orr r1, r1, r4, lsl #16
orr r2, r1, r5, lsl #24
add r1, r0, lr, lsl #2
add lr, lr, #1
str r2, [r1, #0x14]
cmp lr, #8
add r3, r3, #0x10
add ip, ip, #0x10
add r4, r4, #0x10
add r5, r5, #0x10
blt _02113580
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end func_ov08_0211351c
_021135b4: .word 0x00007fff
.global func_ov08_021135b8
arm_func_start func_ov08_021135b8
func_ov08_021135b8: ; 0x021135b8
bx lr
arm_func_end func_ov08_021135b8
.global func_ov08_021135bc
arm_func_start func_ov08_021135bc
func_ov08_021135bc: ; 0x021135bc
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
sub sp, sp, #8
mov sl, r0
mov r8, #0
mov r0, #2
str r0, [sl]
mov r7, #0x2000
rsb r7, r7, #0
strh r8, [sl, #0xe]
mov r0, #0x1000
strh r0, [sl, #0x10]
mov sb, r1
strh r8, [sl, #0x12]
mov r5, r7, lsr #0x11
mov r6, #1
mov r4, r8
mov fp, r8
_02113600:
ldr r0, [sl]
cmp r8, r0
bge _02113648
mov r0, #0x10
mov r1, sb
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _0211363c
str r7, [sp]
mov r1, r8
mov r2, r5
mov r3, #0x2000
str r6, [sp, #4]
bl func_ov08_021136c0
_0211363c:
add r1, sl, r8, lsl #2
str r0, [r1, #4]
b _02113650
_02113648:
add r0, sl, r8, lsl #2
str r4, [r0, #4]
_02113650:
add r0, sl, r8
add r8, r8, #1
strb fp, [r0, #0xc]
cmp r8, #2
blt _02113600
mov r0, sl
bl func_ov00_020a1a3c
mov r0, sl
add sp, sp, #8
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
arm_func_end func_ov08_021135bc
.global func_ov08_02113678
arm_func_start func_ov08_02113678
func_ov08_02113678: ; 0x02113678
stmdb sp!, {r4, lr}
ldr r1, _021136bc ; =data_027e0f88
mov r4, r0
ldr r0, [r1]
cmp r0, #0
ldmneia sp!, {r4, pc}
mov r1, r4
mov r0, #0x14
mov r2, #4
bl func_0202e9dc
cmp r0, #0
beq _021136b0
mov r1, r4
bl func_ov08_021135bc
_021136b0:
ldr r1, _021136bc ; =data_027e0f88
str r0, [r1]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov08_02113678
_021136bc: .word data_027e0f88
.global func_ov08_021136c0
arm_func_start func_ov08_021136c0
func_ov08_021136c0: ; 0x021136c0
stmdb sp!, {r4, lr}
ldrb ip, [sp, #0xc]
mov r4, r0
str r1, [r4]
strh ip, [r4, #4]
strh r2, [r4, #6]
ldrsh r2, [sp, #8]
mov r1, r3
bl func_ov00_020a1b54
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov08_021136c0
.global func_ov08_021136ec
arm_func_start func_ov08_021136ec
func_ov08_021136ec: ; 0x021136ec
mov r1, #0
strh r1, [r0]
strh r1, [r0, #2]
bx lr
arm_func_end func_ov08_021136ec
.global func_ov08_021136fc
arm_func_start func_ov08_021136fc
func_ov08_021136fc: ; 0x021136fc
stmdb sp!, {r4, lr}
mov r4, r0
mov r3, #0
ldr r1, _0211372c ; =0x027ffc3c
str r3, [r4, #0x1c]
ldr r2, [r1]
add r1, r4, #0x10
str r2, [r4, #0x20]
str r3, [r4, #0x24]
blx func_02042744
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov08_021136fc
_0211372c: .word 0x027ffc3c
.global func_ov08_02113730
arm_func_start func_ov08_02113730
func_ov08_02113730: ; 0x02113730
stmdb sp!, {r3, r4, r5, r6, r7, r8, lr}
sub sp, sp, #4
mov r4, r0
mov r1, r4
mov r0, #0
mov r2, #0x10
bl func_020078f4
add r1, r4, #0x10
mov r0, #0
mov r2, #4
bl func_020078f4
add r1, r4, #0x14
mov r0, #0
mov r2, #0xc
bl func_020078f4
mov r0, #0
add r1, r4, #0x20
mov r2, #4
bl func_020078f4
mov r0, #0
strh r0, [r4, #0x7c]
strb r0, [r4, #0x7e]
strb r0, [r4, #0x7f]
mov r0, r4
blx func_ov00_0207a38c
mov r0, #0
add r1, r4, #0xa8
mov r2, #0x48
bl func_02007938
mov r0, #0
add r1, r4, #0xf0
mov r2, #8
bl func_020078c0
ldr r1, _02113950 ; =func_ov08_021139d8
add r0, r4, #0xf8
str r1, [sp]
mov r1, #0x40
mov r2, #8
ldr r3, _02113954 ; =func_ov08_021139dc
bl func_0204f614
ldr r1, _02113958 ; =func_ov08_02113984
add r0, r4, #0x2f8
str r1, [sp]
mov r1, #0xcf
mov r2, #0xc
ldr r3, _0211395c ; =func_ov08_02113988
bl func_0204f614
add r5, r4, #0xac
mov r0, #0
add r1, r5, #0xc00
mov r2, #0x40
bl func_020078f4
add r1, r5, #0xc00
mov r0, #0
mov r2, #0x40
bl func_020078f4
add r0, r4, #0xec
add r5, r0, #0xc00
ldr r1, _02113960 ; =func_ov08_02113968
add r0, r5, #0x30
str r1, [sp]
mov r1, #8
mov r2, #0x30
ldr r3, _02113964 ; =func_ov08_0211396c
bl func_0204f614
add r1, r5, #0x1b0
mov r0, #0
mov r2, #8
bl func_020078f4
add r1, r5, #0x1b8
mov r0, #0
mov r2, #4
bl func_020078f4
mov r0, r5
blx func_ov00_0207a3e4
add r1, r4, #0xeb0
mov r0, #0
mov r2, #8
bl func_020078f4
add r5, r4, #0x2b8
mov r0, #0
add r1, r5, #0xc00
mov r2, #0x540
bl func_020078f4
add r1, r5, #0xc00
mov r0, #0
mov r2, #0x540
bl func_020078f4
mov r0, r4
blx func_ov00_0207a418
mov r0, #0
add r1, r4, #0x1400
mov r2, #0x1000
bl func_02007938
add r8, r4, #0x2580
add r5, r4, #0x2840
mov r7, #0
mov r6, #0x16
_021138b8:
mov r0, r7
mov r1, r8
mov r2, r6
bl func_020078c0
add r8, r8, #0x16
cmp r8, r5
blo _021138b8
mov r0, r5
blx func_ov00_0207a4f0
add r0, r4, #0x2400
blx func_ov00_0207a5ac
add r0, r4, #0x13c
add r8, r4, #0x2900
add r5, r0, #0x2800
mov r7, #0
mov r6, #0x14
_021138f8:
mov r0, r7
mov r1, r8
mov r2, r6
bl func_020078c0
add r8, r8, #0x14
cmp r8, r5
blo _021138f8
add r0, r4, #0x2900
blx func_ov00_0207c170
add r0, r4, #0x13c
add r1, r0, #0x2800
mov r0, #0
mov r2, #4
bl func_020078f4
add r0, r4, #0x2940
blx func_ov00_0207a6d0
add r1, r4, #0x2000
mov r2, #0
mov r0, r4
str r2, [r1, #0x9c0]
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
.align 2, 0
arm_func_end func_ov08_02113730
_02113950: .word func_ov08_021139d8
_02113954: .word func_ov08_021139dc
_02113958: .word func_ov08_02113984
_0211395c: .word func_ov08_02113988
_02113960: .word func_ov08_02113968
_02113964: .word func_ov08_0211396c
.global func_ov08_02113968
arm_func_start func_ov08_02113968
func_ov08_02113968: ; 0x02113968
bx lr
arm_func_end func_ov08_02113968
.global func_ov08_0211396c
arm_func_start func_ov08_0211396c
func_ov08_0211396c: ; 0x0211396c
stmdb sp!, {r4, lr}
mov r4, r0
add r0, r4, #0x1c
bl func_ov00_020c1500
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov08_0211396c
.global func_ov08_02113984
arm_func_start func_ov08_02113984
func_ov08_02113984: ; 0x02113984
bx lr
arm_func_end func_ov08_02113984
.global func_ov08_02113988
arm_func_start func_ov08_02113988
func_ov08_02113988: ; 0x02113988
stmdb sp!, {r4, lr}
mov r4, r0
mov r1, r4
mov r0, #0
mov r2, #8
bl func_020078f4
add r1, r4, #8
mov r0, #0
mov r2, #4
bl func_020078f4
mov r1, r4
mov r0, #0
mov r2, #8
bl func_020078f4
add r1, r4, #8
mov r0, #0
mov r2, #4
bl func_020078f4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov08_02113988
.global func_ov08_021139d8
arm_func_start func_ov08_021139d8
func_ov08_021139d8: ; 0x021139d8
bx lr
arm_func_end func_ov08_021139d8
.global func_ov08_021139dc
arm_func_start func_ov08_021139dc
func_ov08_021139dc: ; 0x021139dc
stmdb sp!, {r4, lr}
mov r4, r0
mov r1, r4
mov r0, #0
mov r2, #4
bl func_020078f4
mov r1, r4
mov r0, #0
mov r2, #8
bl func_020078f4
mov r0, r4
ldmia sp!, {r4, pc}
arm_func_end func_ov08_021139dc
.global func_ov08_02113a0c
arm_func_start func_ov08_02113a0c
func_ov08_02113a0c: ; 0x02113a0c
mov r2, #0
str r2, [r0, #0x900]
str r2, [r0, #0x904]
add r1, r0, #0x900
strh r2, [r1, #8]
strh r2, [r1, #0xa]
mov r1, #0x140
str r1, [r0, #0x90c]
mov r1, #0x1e0
str r1, [r0, #0x910]
mov r1, #2
str r1, [r0, #0x914]
bx lr
arm_func_end func_ov08_02113a0c
.global func_ov08_02113a40
arm_func_start func_ov08_02113a40
func_ov08_02113a40: ; 0x02113a40
stmdb sp!, {r4, lr}
ldr r1, _02113aa0 ; =0x020d8795
mov r4, r0
ldr r0, _02113aa4 ; =data_ov00_020d88b4
ldrb r3, [r1]
str r0, [r4]
add r0, r4, #4
mov r1, #0
mov r2, #0xb
strb r3, [r4, #0xf]
bl func_02007a44
mov r2, #0
mov r3, r2
_02113a74:
ldr r1, [r4]
add r0, r4, r2
add r1, r1, r3
ldrb r1, [r1, #1]
add r2, r2, #1
cmp r2, #0xb
strb r1, [r0, #4]
add r3, r3, #2
blt _02113a74
mov r0, r4
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end func_ov08_02113a40
_02113aa0: .word 0x020d8795
_02113aa4: .word data_ov00_020d88b4
.global func_ov08_02113aa8
arm_func_start func_ov08_02113aa8
func_ov08_02113aa8: ; 0x02113aa8
stmdb sp!, {r4, r5, r6, r7, r8, lr}
mov r8, r0
mov r7, r8
add r4, r8, #0x3c
mov r6, #0
mov r5, #0x14
_02113ac0:
mov r0, r6
mov r1, r7
mov r2, r5
bl func_020078c0
add r7, r7, #0x14
cmp r7, r4
blo _02113ac0
mov r0, r8
blx func_ov00_0207c170
mov r1, #0
mov r0, r8
strb r1, [r8, #0x3c]
ldmia sp!, {r4, r5, r6, r7, r8, pc}
arm_func_end func_ov08_02113aa8
.rodata
.section .init, 4, 1, 4
.section .sinit, 4, 1, 4
.data
.global data_ov08_02113b00
data_ov08_02113b00: ; 0x02113b00
.ascii "NLG"
.byte 0x00
.global data_ov08_02113b04
data_ov08_02113b04: ; 0x02113b04
.ascii "Menu/Bg/NintendoLogo.bin"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov08_02113b20
data_ov08_02113b20: ; 0x02113b20
.ascii "NLG:nLogo"
.byte 0x00, 0x00, 0x00
.global data_ov08_02113b2c
data_ov08_02113b2c: ; 0x02113b2c
.ascii "NLG:rightTxt"
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov08_02113b3c
data_ov08_02113b3c: ; 0x02113b3c
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov08_02113b40
data_ov08_02113b40: ; 0x02113b40
.byte 0x00, 0x00, 0x00, 0x00
.global data_ov08_02113b44
data_ov08_02113b44: ; 0x02113b44
.byte 0x78, 0x2d, 0x11, 0x02
.global data_ov08_02113b48
data_ov08_02113b48: ; 0x02113b48
.byte 0xa8, 0x2d, 0x11, 0x02
.global data_ov08_02113b4c
data_ov08_02113b4c: ; 0x02113b4c
.byte 0xe0, 0x2d, 0x11, 0x02
.global data_ov08_02113b50
data_ov08_02113b50: ; 0x02113b50
.byte 0xbd, 0xc0, 0x02, 0x02
.global data_ov08_02113b54
data_ov08_02113b54: ; 0x02113b54
.byte 0x84, 0x2e, 0x11, 0x02
.global data_ov08_02113b58
data_ov08_02113b58: ; 0x02113b58
.byte 0xc5, 0xc0, 0x02, 0x02
.global data_ov08_02113b5c
data_ov08_02113b5c: ; 0x02113b5c
.byte 0xc9, 0xc0, 0x02, 0x02
.global data_ov08_02113b60
data_ov08_02113b60: ; 0x02113b60
.ascii "SoundData/final_sound_data.sdat"
.byte 0x00
_02113b80:
; 0x02113b80