pokeheartgold/asm/overlay_91.s

11854 lines
212 KiB
ArmAsm

.include "asm/macros.inc"
.include "overlay_91.inc"
.include "global.inc"
.text
thumb_func_start ov91_0225C540
ov91_0225C540: ; 0x0225C540
push {r3, r4, r5, lr}
add r4, r0, #0
bl OverlayManager_GetArgs
add r5, r0, #0
mov r0, #3
mov r1, #0x6a
lsl r2, r0, #0x11
bl CreateHeap
add r0, r4, #0
mov r1, #0x88
mov r2, #0x6a
bl OverlayManager_CreateAndGetData
mov r1, #0
mov r2, #0x88
add r4, r0, #0
bl memset
str r5, [sp]
add r1, r5, #0
add r1, #0x39
ldr r2, [r5, #0x34]
add r5, #0x38
add r0, r4, #0
ldrb r1, [r1]
ldrb r3, [r5]
add r0, #8
bl ov90_02258800
add r0, r4, #0
mov r1, #0x6a
bl ov91_0225CBE4
mov r0, #1
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov91_0225C540
thumb_func_start ov91_0225C58C
ov91_0225C58C: ; 0x0225C58C
push {r4, r5, r6, lr}
sub sp, #0x28
add r6, r0, #0
add r5, r1, #0
bl OverlayManager_GetData
add r4, r0, #0
add r0, r6, #0
bl OverlayManager_GetArgs
add r6, r0, #0
add r0, r4, #0
add r0, #8
bl ov90_02258B54
cmp r0, #1
bne _0225C60A
ldr r0, [r4, #0x78]
cmp r0, #0
beq _0225C5BE
cmp r0, #1
beq _0225C5D8
cmp r0, #2
beq _0225C5EC
b _0225C5FA
_0225C5BE:
bl IsPaletteFadeFinished
cmp r0, #1
bne _0225C5CA
bl sub_0200FB70
_0225C5CA:
mov r0, #0
bl sub_0200FC20
ldr r0, [r4, #0x78]
add r0, r0, #1
str r0, [r4, #0x78]
b _0225C604
_0225C5D8:
add r0, r4, #0
add r0, #8
bl ov90_02258B98
cmp r0, #1
bne _0225C604
ldr r0, [r4, #0x78]
add r0, r0, #1
str r0, [r4, #0x78]
b _0225C604
_0225C5EC:
add r0, r4, #0
add r1, r6, #0
bl ov91_0225CC4C
add sp, #0x28
mov r0, #1
pop {r4, r5, r6, pc}
_0225C5FA:
bl GF_AssertFail
add sp, #0x28
mov r0, #1
pop {r4, r5, r6, pc}
_0225C604:
add sp, #0x28
mov r0, #0
pop {r4, r5, r6, pc}
_0225C60A:
ldr r0, [r5]
cmp r0, #0xf
bhi _0225C67E
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0225C61C: ; jump table
.short _0225C63C - _0225C61C - 2 ; case 0
.short _0225C650 - _0225C61C - 2 ; case 1
.short _0225C674 - _0225C61C - 2 ; case 2
.short _0225C77E - _0225C61C - 2 ; case 3
.short _0225C7A8 - _0225C61C - 2 ; case 4
.short _0225C7E0 - _0225C61C - 2 ; case 5
.short _0225C7F6 - _0225C61C - 2 ; case 6
.short _0225C80A - _0225C61C - 2 ; case 7
.short _0225C88C - _0225C61C - 2 ; case 8
.short _0225C8CE - _0225C61C - 2 ; case 9
.short _0225C8E6 - _0225C61C - 2 ; case 10
.short _0225C8FA - _0225C61C - 2 ; case 11
.short _0225C922 - _0225C61C - 2 ; case 12
.short _0225C94C - _0225C61C - 2 ; case 13
.short _0225C99C - _0225C61C - 2 ; case 14
.short _0225C9BE - _0225C61C - 2 ; case 15
_0225C63C:
add r0, r4, #0
add r0, #8
mov r1, #0x6a
bl ov90_02258914
str r0, [r4]
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C650:
ldr r0, [r4]
bl ov90_022589BC
cmp r0, #1
bne _0225C67E
ldr r0, [r4]
bl ov90_022589CC
str r0, [r4, #0x70]
ldr r0, [r4]
bl ov90_02258938
mov r0, #0
str r0, [r4]
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C674:
ldr r0, _0225C940 ; =gSystem
ldr r1, [r0, #0x44]
mov r0, #1
tst r0, r1
beq _0225C680
_0225C67E:
b _0225C9E6
_0225C680:
ldr r0, _0225C944 ; =ov91_0225CB58
add r1, r4, #0
bl Main_SetVBlankIntrCB
bl HBlankInterruptDisable
mov r2, #0
str r2, [r4, #0x38]
str r2, [r4, #0x3c]
add r0, r4, #0
add r1, r4, #0
str r2, [r4, #0x40]
add r0, #0x84
strb r2, [r0]
add r1, #0x84
strb r2, [r1, #1]
strb r2, [r1, #2]
strb r2, [r1, #3]
mov r0, #0x20
mov r1, #0x6a
bl GF_CreateVramTransferManager
add r0, r4, #0
bl ov91_02261B2C
add r0, r4, #0
mov r1, #1
add r0, #0x80
str r1, [r0]
bl sub_020347A0
str r0, [r4, #0x74]
cmp r0, #1
bhi _0225C6C8
bl GF_AssertFail
_0225C6C8:
bl sub_0203769C
add r1, r4, #0
add r1, #0x44
strh r0, [r1]
add r1, r4, #0
add r1, #0x44
add r0, r4, #0
ldrh r1, [r1]
add r0, #8
bl ov90_0225886C
add r1, r4, #0
add r1, #0x46
strh r0, [r1]
add r0, r4, #0
add r0, #0x44
ldrh r0, [r0]
cmp r0, #0
bne _0225C706
mov r1, #0x4b
add r3, r4, #0
ldr r2, [r4, #0x74]
mov r0, #0x6a
lsl r1, r1, #4
add r3, #0x48
bl ov91_0225CCC4
str r0, [r4, #0x30]
mov r0, #1
str r0, [r4, #0x7c]
_0225C706:
add r0, r4, #0
add r0, #0x48
str r0, [sp]
add r3, r4, #0
add r3, #0x46
mov r1, #0x4b
ldrh r3, [r3]
ldr r2, [r4, #0x74]
mov r0, #0x6a
lsl r1, r1, #4
bl ov91_0225CDF4
str r0, [r4, #0x34]
bl sub_0203A880
add r6, #0x38
ldrb r0, [r6]
cmp r0, #0
beq _0225C732
mov r0, #0x6a
bl ov00_021E69A8
_0225C732:
ldr r0, [r4, #0x70]
cmp r0, #0
beq _0225C742
cmp r0, #1
beq _0225C74C
cmp r0, #2
beq _0225C758
b _0225C764
_0225C742:
mov r1, #0
add r0, sp, #0xc
strb r1, [r0, #8]
strb r1, [r0, #9]
b _0225C768
_0225C74C:
mov r1, #0
add r0, sp, #0xc
strb r1, [r0, #8]
mov r1, #1
strb r1, [r0, #9]
b _0225C768
_0225C758:
mov r1, #1
add r0, sp, #0xc
strb r1, [r0, #8]
mov r1, #0
strb r1, [r0, #9]
b _0225C768
_0225C764:
bl GF_AssertFail
_0225C768:
ldr r0, [r4, #0x34]
add r1, sp, #0x14
bl ov91_0225D3C4
mov r0, #1
bl sub_02037AC0
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C77E:
mov r0, #1
bl sub_02037B38
cmp r0, #0
beq _0225C7CE
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x6a
mov r1, #0x1b
str r0, [sp, #8]
ldr r3, _0225C948 ; =0x0000FFFF
mov r0, #0
add r2, r1, #0
bl BeginNormalPaletteFade
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C7A8:
ldr r0, [r4, #0x34]
mov r1, #0
bl ov91_0225CEB4
bl IsPaletteFadeFinished
cmp r0, #0
beq _0225C7CE
add r4, #0x44
ldrh r0, [r4]
cmp r0, #0
bne _0225C7D8
mov r1, #0
mov r0, #0x16
add r2, r1, #0
bl sub_02037030
cmp r0, #0
bne _0225C7D0
_0225C7CE:
b _0225C9E6
_0225C7D0:
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C7D8:
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C7E0:
ldr r0, [r4, #0x34]
mov r1, #0
bl ov91_0225CEB4
ldr r0, [r4, #0x38]
cmp r0, #0
beq _0225C8DC
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C7F6:
ldr r0, [r4, #0x34]
mov r1, #1
bl ov91_0225CEB4
cmp r0, #0
bne _0225C8DC
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C80A:
ldr r0, [r4, #0x3c]
cmp r0, #0
beq _0225C82E
ldr r0, [r4, #0x34]
bl ov91_0225D37C
str r0, [sp, #0x10]
mov r0, #0x19
add r1, sp, #0x10
mov r2, #4
bl sub_02037030
cmp r0, #0
beq _0225C8DC
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C82E:
add r0, r4, #0
add r0, #0x44
ldrh r0, [r0]
cmp r0, #0
bne _0225C878
ldr r0, [r4, #0x30]
bl ov91_0225CCF4
add r5, r0, #0
ldr r0, [r4, #0x30]
bl ov91_0225CD5C
cmp r0, #0
beq _0225C868
ldr r0, [r4, #0x30]
bl ov91_0225CD6C
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0x1b
add r2, sp, #0xc
mov r3, #4
bl ov91_0225CCA8
cmp r0, #1
bne _0225C868
ldr r0, [r4, #0x30]
bl ov91_0225CD64
_0225C868:
cmp r5, #0
bne _0225C878
mov r2, #0
add r0, r4, #0
mov r1, #0x17
add r3, r2, #0
bl ov91_0225CCA8
_0225C878:
ldr r0, [r4, #0x34]
bl ov91_0225D1DC
add r0, r4, #0
bl ov91_0225CB64
add r0, r4, #0
bl ov91_0225CB98
b _0225C9E6
_0225C88C:
ldr r0, [r4, #0x34]
mov r1, #0
bl ov91_0225D078
add r0, r4, #0
add r0, #0x44
ldrh r0, [r0]
cmp r0, #0
bne _0225C8C6
ldr r0, [r4, #0x30]
bl ov91_0225CDAC
cmp r0, #1
bne _0225C8DC
ldr r0, [r4, #0x30]
add r1, sp, #0x18
bl ov91_0225CDC4
mov r0, #0x1a
add r1, sp, #0x18
mov r2, #0x10
bl sub_02037030
cmp r0, #0
beq _0225C8DC
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C8C6:
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C8CE:
ldr r0, [r4, #0x34]
mov r1, #0
bl ov91_0225D078
ldr r0, [r4, #0x40]
cmp r0, #1
beq _0225C8DE
_0225C8DC:
b _0225C9E6
_0225C8DE:
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C8E6:
ldr r0, [r4, #0x34]
mov r1, #1
bl ov91_0225D078
cmp r0, #0
bne _0225C9E6
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C8FA:
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x6a
mov r1, #0x1a
str r0, [sp, #8]
ldr r3, _0225C948 ; =0x0000FFFF
mov r0, #0
add r2, r1, #0
bl BeginNormalPaletteFade
ldr r0, [r4, #0x34]
mov r1, #1
bl ov91_0225D078
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C922:
ldr r0, [r4, #0x34]
mov r1, #1
bl ov91_0225D078
bl IsPaletteFadeFinished
cmp r0, #0
beq _0225C9E6
mov r0, #3
bl sub_02037AC0
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
.balign 4, 0
_0225C940: .word gSystem
_0225C944: .word ov91_0225CB58
_0225C948: .word 0x0000FFFF
_0225C94C:
mov r0, #3
bl sub_02037B38
cmp r0, #0
bne _0225C95C
add sp, #0x28
mov r0, #0
pop {r4, r5, r6, pc}
_0225C95C:
add r6, #0x38
ldrb r0, [r6]
cmp r0, #0
beq _0225C968
bl ov00_021E6A4C
_0225C968:
add r0, r4, #0
add r0, #0x44
ldrh r0, [r0]
cmp r0, #0
bne _0225C97C
ldr r0, [r4, #0x30]
bl ov91_0225CCEC
mov r0, #0
str r0, [r4, #0x30]
_0225C97C:
ldr r0, [r4, #0x34]
bl ov91_0225CE80
mov r0, #0
str r0, [r4, #0x34]
add r1, r0, #0
bl Main_SetVBlankIntrCB
bl HBlankInterruptDisable
bl GF_DestroyVramTransferManager
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C99C:
ldrb r1, [r4, #0x10]
add r0, r4, #0
add r0, #0x18
bl ov90_02258AA8
add r0, r4, #0
add r1, r4, #0
add r0, #8
add r1, #0x18
mov r2, #0x6a
bl ov90_022589E0
str r0, [r4, #4]
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225C9E6
_0225C9BE:
ldr r0, [r4, #4]
bl ov90_02258AA0
cmp r0, #1
bne _0225C9E6
ldr r0, [r4, #4]
bl ov90_02258AA4
add r6, r0, #0
ldr r0, [r4, #4]
bl ov90_02258A04
mov r0, #0
str r0, [r4, #4]
cmp r6, #0
bne _0225C9E4
add sp, #0x28
mov r0, #1
pop {r4, r5, r6, pc}
_0225C9E4:
str r0, [r5]
_0225C9E6:
mov r0, #0
add sp, #0x28
pop {r4, r5, r6, pc}
thumb_func_end ov91_0225C58C
thumb_func_start ov91_0225C9EC
ov91_0225C9EC: ; 0x0225C9EC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r1, #0
bl OverlayManager_GetData
add r6, r0, #0
add r0, r5, #0
bl OverlayManager_GetArgs
ldr r0, [r4]
cmp r0, #0
beq _0225CA0A
cmp r0, #1
beq _0225CA44
b _0225CA60
_0225CA0A:
add r0, r6, #0
add r0, #8
bl ov90_02258B54
add r7, r0, #0
add r0, r6, #0
bl ov91_0225CC38
add r0, r5, #0
bl OverlayManager_FreeData
mov r0, #0x6a
bl DestroyHeap
mov r0, #0
mov r1, #1
bl sub_020398D4
cmp r7, #1
bne _0225CA36
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0225CA36:
mov r0, #4
bl sub_02037AC0
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
b _0225CA60
_0225CA44:
mov r0, #4
bl sub_02037B38
cmp r0, #0
bne _0225CA5C
bl sub_02037454
add r4, r0, #0
bl sub_020347A0
cmp r4, r0
bge _0225CA60
_0225CA5C:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0225CA60:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov91_0225C9EC
thumb_func_start ov91_0225CA64
ov91_0225CA64: ; 0x0225CA64
mov r1, #1
str r1, [r0, #0x38]
bx lr
.balign 4, 0
thumb_func_end ov91_0225CA64
thumb_func_start ov91_0225CA6C
ov91_0225CA6C: ; 0x0225CA6C
mov r1, #1
str r1, [r0, #0x3c]
bx lr
.balign 4, 0
thumb_func_end ov91_0225CA6C
thumb_func_start ov91_0225CA74
ov91_0225CA74: ; 0x0225CA74
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
add r0, #8
add r1, r2, #0
bl ov90_0225886C
add r2, r0, #0
ldr r0, [r5, #0x30]
add r1, r4, #0
bl ov91_0225CD74
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov91_0225CA74
thumb_func_start ov91_0225CA90
ov91_0225CA90: ; 0x0225CA90
ldr r3, _0225CA98 ; =ov91_0225D2EC
ldr r0, [r0, #0x34]
bx r3
nop
_0225CA98: .word ov91_0225D2EC
thumb_func_end ov91_0225CA90
thumb_func_start ov91_0225CA9C
ov91_0225CA9C: ; 0x0225CA9C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
add r0, #8
add r1, r2, #0
bl ov90_0225886C
add r2, r0, #0
ldr r0, [r5, #0x30]
cmp r0, #0
beq _0225CAB8
add r1, r4, #0
bl ov91_0225CD84
_0225CAB8:
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov91_0225CA9C
thumb_func_start ov91_0225CABC
ov91_0225CABC: ; 0x0225CABC
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
add r4, r1, #0
bl ov91_0225D368
mov r0, #1
str r0, [r5, #0x40]
mov r1, #0
_0225CACE:
ldr r0, [r4]
add r1, r1, #1
str r0, [r5, #0x18]
add r4, r4, #4
add r5, r5, #4
cmp r1, #4
blt _0225CACE
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov91_0225CABC
thumb_func_start ov91_0225CAE0
ov91_0225CAE0: ; 0x0225CAE0
ldr r3, _0225CAE8 ; =ov91_0225D380
ldr r0, [r0, #0x34]
bx r3
nop
_0225CAE8: .word ov91_0225D380
thumb_func_end ov91_0225CAE0
thumb_func_start ov91_0225CAEC
ov91_0225CAEC: ; 0x0225CAEC
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
add r0, #8
add r1, r2, #0
bl ov90_0225886C
add r4, r0, #0
ldr r0, [r5, #0x34]
add r1, r6, #0
add r2, r4, #0
bl ov91_0225D3B4
add r1, r5, #0
add r1, #0x84
ldrb r0, [r1, r4]
add r0, r0, #1
strb r0, [r1, r4]
add r0, r5, #0
add r0, #0x44
ldrh r0, [r0]
cmp r0, #0
bne _0225CB4E
ldr r3, [r5, #0x74]
mov r1, #1
mov r0, #0
cmp r3, #0
bls _0225CB3A
ldr r2, [r5, #0x7c]
add r6, r0, #0
_0225CB28:
add r4, r5, r0
add r4, #0x84
ldrb r4, [r4]
cmp r2, r4
bls _0225CB34
add r1, r6, #0
_0225CB34:
add r0, r0, #1
cmp r0, r3
blo _0225CB28
_0225CB3A:
cmp r1, #1
bne _0225CB4E
ldr r0, [r5, #0x7c]
mov r1, #0
add r0, r0, #1
str r0, [r5, #0x7c]
mov r0, #0x1d
add r2, r1, #0
bl sub_02037030
_0225CB4E:
pop {r4, r5, r6, pc}
thumb_func_end ov91_0225CAEC
thumb_func_start ov91_0225CB50
ov91_0225CB50: ; 0x0225CB50
mov r1, #1
add r0, #0x80
str r1, [r0]
bx lr
thumb_func_end ov91_0225CB50
thumb_func_start ov91_0225CB58
ov91_0225CB58: ; 0x0225CB58
ldr r3, _0225CB60 ; =ov91_0225D2D0
ldr r0, [r0, #0x34]
bx r3
nop
_0225CB60: .word ov91_0225D2D0
thumb_func_end ov91_0225CB58
thumb_func_start ov91_0225CB64
ov91_0225CB64: ; 0x0225CB64
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
ldr r0, [r5, #0x34]
add r1, sp, #0
bl ov91_0225D32C
cmp r0, #1
bne _0225CB94
mov r6, #0x18
add r4, sp, #0
mov r7, #0x14
_0225CB7C:
add r0, r5, #0
add r1, r6, #0
add r2, r4, #0
add r3, r7, #0
bl ov91_0225CCA8
ldr r0, [r5, #0x34]
add r1, r4, #0
bl ov91_0225D32C
cmp r0, #1
beq _0225CB7C
_0225CB94:
add sp, #0x14
pop {r4, r5, r6, r7, pc}
thumb_func_end ov91_0225CB64
thumb_func_start ov91_0225CB98
ov91_0225CB98: ; 0x0225CB98
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r0, [r4, #0x34]
bl ov91_0225D2E8
cmp r0, #0
beq _0225CBDE
mov r1, #0x1e
bl _s32_div_f
cmp r1, #0
bne _0225CBDE
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
cmp r0, #1
bne _0225CBDE
ldr r0, [r4, #0x34]
bl ov91_0225D37C
str r0, [sp]
add r0, r4, #0
mov r1, #0x1c
add r2, sp, #0
mov r3, #4
bl ov91_0225CCA8
cmp r0, #0
bne _0225CBD8
bl GF_AssertFail
_0225CBD8:
mov r0, #0
add r4, #0x80
str r0, [r4]
_0225CBDE:
add sp, #4
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov91_0225CB98
thumb_func_start ov91_0225CBE4
ov91_0225CBE4: ; 0x0225CBE4
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r3, r1, #0
mov r1, #0
add r7, r0, #0
str r1, [sp]
add r0, sp, #8
str r0, [sp, #4]
mov r0, #0xd4
add r2, r1, #0
bl GfGfxLoader_LoadFromNarc_GetSizeOut
str r0, [r7, #0x4c]
ldr r0, [sp, #8]
mov r1, #0x18
bl _u32_div_f
str r0, [r7, #0x48]
ldrb r0, [r7, #0x10]
mov r4, #0
cmp r0, #0
ble _0225CC34
add r6, r7, #0
add r5, r7, #0
add r6, #8
_0225CC16:
add r0, r6, #0
add r1, r4, #0
bl ov90_022588CC
str r0, [r5, #0x50]
add r0, r6, #0
add r1, r4, #0
bl ov90_022588A4
str r0, [r5, #0x60]
ldrb r0, [r7, #0x10]
add r4, r4, #1
add r5, r5, #4
cmp r4, r0
blt _0225CC16
_0225CC34:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
thumb_func_end ov91_0225CBE4
thumb_func_start ov91_0225CC38
ov91_0225CC38: ; 0x0225CC38
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x4c]
bl FreeToHeap
mov r0, #0
str r0, [r4, #0x4c]
str r0, [r4, #0x48]
pop {r4, pc}
.balign 4, 0
thumb_func_end ov91_0225CC38
thumb_func_start ov91_0225CC4C
ov91_0225CC4C: ; 0x0225CC4C
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0
add r4, r1, #0
add r1, r0, #0
bl Main_SetVBlankIntrCB
bl HBlankInterruptDisable
ldr r0, [r5]
cmp r0, #0
beq _0225CC6C
bl ov90_02258938
mov r0, #0
str r0, [r5]
_0225CC6C:
ldr r0, [r5, #0x34]
cmp r0, #0
beq _0225CC8C
add r0, r5, #0
add r0, #0x44
ldrh r0, [r0]
cmp r0, #0
bne _0225CC82
ldr r0, [r5, #0x30]
bl ov91_0225CCEC
_0225CC82:
ldr r0, [r5, #0x34]
bl ov91_0225CE80
bl GF_DestroyVramTransferManager
_0225CC8C:
add r4, #0x38
ldrb r0, [r4]
cmp r0, #0
beq _0225CC98
bl ov00_021E6A4C
_0225CC98:
ldr r0, [r5, #4]
cmp r0, #0
beq _0225CCA6
bl ov90_02258A04
mov r0, #0
str r0, [r5, #4]
_0225CCA6:
pop {r3, r4, r5, pc}
thumb_func_end ov91_0225CC4C
thumb_func_start ov91_0225CCA8
ov91_0225CCA8: ; 0x0225CCA8
push {r3, lr}
add r0, #0x80
ldr r0, [r0]
cmp r0, #0
bne _0225CCB6
mov r0, #0
pop {r3, pc}
_0225CCB6:
add r0, r1, #0
add r1, r2, #0
add r2, r3, #0
bl sub_02037030
pop {r3, pc}
.balign 4, 0
thumb_func_end ov91_0225CCA8
thumb_func_start ov91_0225CCC4
ov91_0225CCC4: ; 0x0225CCC4
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
mov r1, #0x38
add r6, r2, #0
add r7, r3, #0
bl AllocFromHeap
add r4, r0, #0
mov r1, #0
mov r2, #0x38
bl memset
str r5, [r4]
str r6, [r4, #8]
str r7, [r4, #0x30]
mov r0, #1
str r0, [r4, #4]
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov91_0225CCC4
thumb_func_start ov91_0225CCEC
ov91_0225CCEC: ; 0x0225CCEC
ldr r3, _0225CCF0 ; =FreeToHeap
bx r3
.balign 4, 0
_0225CCF0: .word FreeToHeap
thumb_func_end ov91_0225CCEC
thumb_func_start ov91_0225CCF4
ov91_0225CCF4: ; 0x0225CCF4
push {r4, r5, r6, r7}
ldr r2, [r0]
cmp r2, #0
ble _0225CD06
ldr r1, [r0, #4]
cmp r1, #1
bne _0225CD06
sub r1, r2, #1
str r1, [r0]
_0225CD06:
ldr r1, [r0]
cmp r1, #0
bgt _0225CD12
mov r0, #0
pop {r4, r5, r6, r7}
bx lr
_0225CD12:
add r1, r0, #0
add r1, #0x36
ldrb r4, [r1]
ldr r5, [r0, #0x30]
ldr r2, [r5]
add r1, r4, #0
add r3, r4, #0
cmp r4, r2
bhs _0225CD3E
ldr r6, [r5, #4]
mov r5, #0x18
mul r5, r4
ldrh r7, [r0, #0x34]
add r6, r6, r5
_0225CD2E:
ldr r5, [r6]
cmp r5, r7
bge _0225CD3E
add r1, r1, #1
add r6, #0x18
add r3, r1, #0
cmp r1, r2
blo _0225CD2E
_0225CD3E:
cmp r3, r2
bne _0225CD44
sub r1, r1, #1
_0225CD44:
cmp r1, r4
beq _0225CD54
add r2, r0, #0
add r2, #0x36
strb r1, [r2]
mov r1, #1
add r0, #0x37
strb r1, [r0]
_0225CD54:
mov r0, #1
pop {r4, r5, r6, r7}
bx lr
.balign 4, 0
thumb_func_end ov91_0225CCF4
thumb_func_start ov91_0225CD5C
ov91_0225CD5C: ; 0x0225CD5C
add r0, #0x37
ldrb r0, [r0]
bx lr
.balign 4, 0
thumb_func_end ov91_0225CD5C
thumb_func_start ov91_0225CD64
ov91_0225CD64: ; 0x0225CD64
mov r1, #0
add r0, #0x37
strb r1, [r0]
bx lr
thumb_func_end ov91_0225CD64
thumb_func_start ov91_0225CD6C
ov91_0225CD6C: ; 0x0225CD6C
add r0, #0x36
ldrb r0, [r0]
bx lr
.balign 4, 0
thumb_func_end ov91_0225CD6C
thumb_func_start ov91_0225CD74
ov91_0225CD74: ; 0x0225CD74
ldrh r1, [r1, #2]
cmp r1, #0
beq _0225CD80
ldrh r1, [r0, #0x34]
add r1, r1, #1
strh r1, [r0, #0x34]
_0225CD80:
bx lr
.balign 4, 0
thumb_func_end ov91_0225CD74
thumb_func_start ov91_0225CD84
ov91_0225CD84: ; 0x0225CD84
push {r3, r4}
ldr r3, _0225CDA8 ; =0x0001869F
cmp r1, r3
bls _0225CD8E
add r1, r3, #0
_0225CD8E:
mov r3, #1
lsl r3, r2
ldr r4, [r0, #0x1c]
tst r4, r3
bne _0225CDA4
lsl r2, r2, #2
add r2, r0, r2
str r1, [r2, #0xc]
ldr r1, [r0, #0x1c]
orr r1, r3
str r1, [r0, #0x1c]
_0225CDA4:
pop {r3, r4}
bx lr
.balign 4, 0
_0225CDA8: .word 0x0001869F
thumb_func_end ov91_0225CD84
thumb_func_start ov91_0225CDAC
ov91_0225CDAC: ; 0x0225CDAC
push {r4, lr}
add r4, r0, #0
bl ov91_0225CDD4
ldr r1, [r4, #8]
cmp r0, r1
blo _0225CDBE
mov r0, #1
pop {r4, pc}
_0225CDBE:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end ov91_0225CDAC
thumb_func_start ov91_0225CDC4
ov91_0225CDC4: ; 0x0225CDC4
add r2, r0, #0
add r3, r1, #0
add r2, #0xc
ldmia r2!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r2!, {r0, r1}
stmia r3!, {r0, r1}
bx lr
thumb_func_end ov91_0225CDC4
thumb_func_start ov91_0225CDD4
ov91_0225CDD4: ; 0x0225CDD4
push {r3, r4}
mov r3, #0
ldr r4, [r0, #0x1c]
add r2, r3, #0
mov r0, #1
_0225CDDE:
add r1, r0, #0
lsl r1, r2
tst r1, r4
beq _0225CDE8
add r3, r3, #1
_0225CDE8:
add r2, r2, #1
cmp r2, #4
blt _0225CDDE
add r0, r3, #0
pop {r3, r4}
bx lr
thumb_func_end ov91_0225CDD4
thumb_func_start ov91_0225CDF4
ov91_0225CDF4: ; 0x0225CDF4
push {r3, r4, r5, r6, r7, lr}
add r6, r1, #0
ldr r1, _0225CE64 ; =0x000087E8
add r5, r0, #0
add r7, r2, #0
str r3, [sp]
bl AllocFromHeap
ldr r2, _0225CE64 ; =0x000087E8
mov r1, #0
add r4, r0, #0
bl memset
mov r0, #1
str r0, [r4, #4]
mov r0, #0
str r0, [r4, #8]
str r6, [r4, #0xc]
ldr r0, [sp]
str r7, [r4, #0x10]
str r0, [r4, #0x14]
ldr r1, [sp, #0x18]
ldr r0, _0225CE68 ; =0x0000877C
str r1, [r4, r0]
ldr r1, _0225CE6C ; =0x000019CC
add r0, r4, #0
add r1, r4, r1
bl ov91_0225DC3C
add r0, r4, #0
add r1, r5, #0
bl ov91_0225F508
ldr r0, _0225CE70 ; =0x0000878C
ldr r1, _0225CE74 ; =0x00001AB4
add r0, r4, r0
add r1, r4, r1
add r2, r5, #0
bl ov91_0225F0C0
ldr r0, _0225CE78 ; =0x000087CC
add r0, r4, r0
bl ov91_0225F388
ldr r0, _0225CE7C ; =ov91_022627C0
mov r1, #8
mov r2, #4
bl sub_020210D8
cmp r0, #1
beq _0225CE5E
bl GF_AssertFail
_0225CE5E:
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_0225CE64: .word 0x000087E8
_0225CE68: .word 0x0000877C
_0225CE6C: .word 0x000019CC
_0225CE70: .word 0x0000878C
_0225CE74: .word 0x00001AB4
_0225CE78: .word 0x000087CC
_0225CE7C: .word ov91_022627C0
thumb_func_end ov91_0225CDF4
thumb_func_start ov91_0225CE80
ov91_0225CE80: ; 0x0225CE80
push {r4, lr}
add r4, r0, #0
bl sub_02021238
cmp r0, #1
beq _0225CE90
bl GF_AssertFail
_0225CE90:
ldr r0, _0225CEAC ; =0x0000878C
ldr r1, _0225CEB0 ; =0x00001AB4
add r0, r4, r0
add r1, r4, r1
bl ov91_0225F1E8
add r0, r4, #0
bl ov91_0225F66C
add r0, r4, #0
bl FreeToHeap
pop {r4, pc}
nop
_0225CEAC: .word 0x0000878C
_0225CEB0: .word 0x00001AB4
thumb_func_end ov91_0225CE80
thumb_func_start ov91_0225CEB4
ov91_0225CEB4: ; 0x0225CEB4
push {r4, r5, r6, lr}
add r4, r0, #0
ldr r0, _0225D054 ; =0x00001F38
add r6, r1, #0
ldr r0, [r4, r0]
mov r5, #1
cmp r0, #4
blo _0225CEE6
ldr r0, _0225D058 ; =0x00008785
ldrb r0, [r4, r0]
cmp r0, #0
beq _0225CED2
add r1, r5, #0
sub r1, #0x79
b _0225CED4
_0225CED2:
mov r1, #0x78
_0225CED4:
ldr r2, _0225D05C ; =0x000019CC
add r0, r4, r2
add r2, r2, #2
ldrh r2, [r4, r2]
add r1, r2, r1
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl ov91_0225DD50
_0225CEE6:
ldr r1, _0225D060 ; =0x00001AB4
add r0, r4, r1
sub r1, #0xe8
add r1, r4, r1
bl ov91_0225DBC0
ldr r0, _0225D064 ; =0x00001F74
ldr r1, _0225D05C ; =0x000019CC
add r0, r4, r0
add r1, r4, r1
bl ov91_022601F4
ldr r0, _0225D064 ; =0x00001F74
ldr r1, _0225D05C ; =0x000019CC
add r0, r4, r0
add r1, r4, r1
bl ov91_02260218
ldr r0, _0225D054 ; =0x00001F38
ldr r1, [r4, r0]
cmp r1, #8
bls _0225CF14
b _0225D036
_0225CF14:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0225CF20: ; jump table
.short _0225CF32 - _0225CF20 - 2 ; case 0
.short _0225CF44 - _0225CF20 - 2 ; case 1
.short _0225CF62 - _0225CF20 - 2 ; case 2
.short _0225CF7C - _0225CF20 - 2 ; case 3
.short _0225CFD2 - _0225CF20 - 2 ; case 4
.short _0225CFDC - _0225CF20 - 2 ; case 5
.short _0225CFF4 - _0225CF20 - 2 ; case 6
.short _0225D00A - _0225CF20 - 2 ; case 7
.short _0225D020 - _0225CF20 - 2 ; case 8
_0225CF32:
ldr r0, _0225D068 ; =0x0000878C
add r0, r4, r0
bl ov91_0225F23C
ldr r0, _0225D054 ; =0x00001F38
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
b _0225D036
_0225CF44:
ldr r0, _0225D068 ; =0x0000878C
add r1, r4, #0
add r0, r4, r0
bl ov91_0225F25C
cmp r0, #1
bne _0225D036
ldr r0, _0225D054 ; =0x00001F38
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
mov r0, #2
bl sub_02037AC0
b _0225D036
_0225CF62:
mov r0, #2
bl sub_02037B38
cmp r0, #0
beq _0225D036
ldr r0, _0225D054 ; =0x00001F38
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
mov r1, #0x41
add r0, #8
str r1, [r4, r0]
b _0225D036
_0225CF7C:
add r1, r0, #0
add r1, #8
ldr r1, [r4, r1]
sub r2, r1, #1
add r1, r0, #0
add r1, #8
str r2, [r4, r1]
add r0, #8
ldr r0, [r4, r0]
cmp r0, #0x32
bne _0225CF98
ldr r0, _0225D06C ; =0x00000619
bl PlaySE
_0225CF98:
mov r0, #0x7d
lsl r0, r0, #6
ldr r0, [r4, r0]
cmp r0, #0x14
bne _0225CFA8
ldr r0, _0225D070 ; =0x0000063D
bl PlaySE
_0225CFA8:
ldr r0, _0225D064 ; =0x00001F74
mov r1, #1
add r0, r4, r0
lsl r1, r1, #0xc
bl ov91_0226031C
mov r0, #0x7d
lsl r0, r0, #6
ldr r1, [r4, r0]
cmp r1, #0
bne _0225D036
ldr r1, _0225D060 ; =0x00001AB4
sub r0, #8
add r0, r4, r0
add r1, r4, r1
bl ov91_0225DB7C
ldr r0, _0225D054 ; =0x00001F38
mov r1, #4
str r1, [r4, r0]
b _0225D036
_0225CFD2:
cmp r6, #1
bne _0225D036
mov r1, #5
str r1, [r4, r0]
b _0225D036
_0225CFDC:
ldr r1, _0225D060 ; =0x00001AB4
add r0, r4, r0
add r1, r4, r1
bl ov91_0225DB18
ldr r0, _0225D074 ; =0x000005DD
bl PlaySE
ldr r0, _0225D054 ; =0x00001F38
mov r1, #6
str r1, [r4, r0]
b _0225D036
_0225CFF4:
ldr r1, _0225D060 ; =0x00001AB4
add r0, r4, r0
add r1, r4, r1
bl ov91_0225DB44
cmp r0, #0
bne _0225D036
ldr r0, _0225D054 ; =0x00001F38
mov r1, #7
str r1, [r4, r0]
b _0225D036
_0225D00A:
ldr r1, _0225D060 ; =0x00001AB4
add r0, r4, r0
add r1, r4, r1
bl ov91_0225DBAC
cmp r0, #0
bne _0225D036
ldr r0, _0225D054 ; =0x00001F38
mov r1, #8
str r1, [r4, r0]
b _0225D036
_0225D020:
ldr r1, _0225D060 ; =0x00001AB4
add r0, r4, r0
add r1, r4, r1
bl ov91_0225DB5C
ldr r0, _0225D05C ; =0x000019CC
mov r1, #1
add r0, r4, r0
bl ov91_0225DD20
mov r5, #0
_0225D036:
ldr r0, _0225D064 ; =0x00001F74
ldr r1, _0225D05C ; =0x000019CC
ldr r2, [r4]
add r0, r4, r0
add r1, r4, r1
bl ov91_022601AC
ldr r1, _0225D060 ; =0x00001AB4
add r0, r4, #0
add r1, r4, r1
bl ov91_0225F7A8
add r0, r5, #0
pop {r4, r5, r6, pc}
nop
_0225D054: .word 0x00001F38
_0225D058: .word 0x00008785
_0225D05C: .word 0x000019CC
_0225D060: .word 0x00001AB4
_0225D064: .word 0x00001F74
_0225D068: .word 0x0000878C
_0225D06C: .word 0x00000619
_0225D070: .word 0x0000063D
_0225D074: .word 0x000005DD
thumb_func_end ov91_0225CEB4
thumb_func_start ov91_0225D078
ov91_0225D078: ; 0x0225D078
push {r3, r4, r5, r6, r7, lr}
add r7, r1, #0
ldr r1, _0225D1B8 ; =0x00001F54
add r4, r0, #0
ldr r2, [r4, r1]
mov r6, #1
cmp r2, #3
bhi _0225D158
add r2, r2, r2
add r2, pc
ldrh r2, [r2, #6]
lsl r2, r2, #0x10
asr r2, r2, #0x10
add pc, r2
_0225D094: ; jump table
.short _0225D09C - _0225D094 - 2 ; case 0
.short _0225D0E2 - _0225D094 - 2 ; case 1
.short _0225D13E - _0225D094 - 2 ; case 2
.short _0225D156 - _0225D094 - 2 ; case 3
_0225D09C:
bl ov91_0225E6B0
add r0, r4, #0
bl ov91_0225EE9C
mov r0, #2
str r0, [sp]
mov r0, #0x18
add r1, r0, #0
sub r1, #0x26
mov r2, #0
mov r3, #0x3f
bl StartBrightnessTransition
ldr r0, _0225D1BC ; =0x00001AB4
add r0, r4, r0
bl ov91_0225DBE4
ldr r0, _0225D1C0 ; =0x000021A4
ldr r0, [r4, r0]
bl ov90_02258CB0
ldr r0, _0225D1C4 ; =0x000087E4
add r0, r4, r0
bl ov91_02261B10
ldr r0, _0225D1C8 ; =0x0000862C
add r0, r4, r0
bl ov91_02261890
ldr r0, _0225D1B8 ; =0x00001F54
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
b _0225D158
_0225D0E2:
ldr r0, _0225D1BC ; =0x00001AB4
add r5, r6, #0
add r0, r4, r0
bl ov91_0225DBF4
cmp r0, #0
bne _0225D0F2
mov r5, #0
_0225D0F2:
add r0, r4, #0
bl ov91_0225E40C
add r0, r4, #0
bl ov91_0225E648
add r0, r4, #0
bl ov91_0225E6D0
cmp r0, #1
bne _0225D10A
mov r5, #0
_0225D10A:
ldr r0, _0225D1BC ; =0x00001AB4
add r0, r4, r0
bl ov91_0225DC24
cmp r0, #0
bne _0225D118
mov r5, #0
_0225D118:
mov r0, #2
bl IsBrightnessTransitionActive
cmp r0, #0
bne _0225D124
mov r5, #0
_0225D124:
cmp r5, #1
bne _0225D158
cmp r7, #1
bne _0225D158
ldr r0, _0225D1CC ; =0x00001F58
mov r1, #0
str r1, [r4, r0]
sub r1, r0, #4
ldr r1, [r4, r1]
sub r0, r0, #4
add r1, r1, #1
str r1, [r4, r0]
b _0225D158
_0225D13E:
add r0, r1, #4
ldr r0, [r4, r0]
add r2, r0, #1
add r0, r1, #4
str r2, [r4, r0]
ldr r0, [r4, r0]
cmp r0, #0x40
blo _0225D158
ldr r0, [r4, r1]
add r0, r0, #1
str r0, [r4, r1]
b _0225D158
_0225D156:
mov r6, #0
_0225D158:
ldr r0, _0225D1D0 ; =0x00008785
ldrb r0, [r4, r0]
cmp r0, #0
beq _0225D166
mov r2, #0x77
mvn r2, r2
b _0225D168
_0225D166:
mov r2, #0x78
_0225D168:
ldr r1, _0225D1D4 ; =0x000019CC
add r0, r4, r1
add r1, r1, #2
ldrh r1, [r4, r1]
add r1, r1, r2
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl ov91_0225DD50
ldr r0, _0225D1D8 ; =0x00001F74
ldr r1, _0225D1D4 ; =0x000019CC
add r0, r4, r0
add r1, r4, r1
bl ov91_022601C8
ldr r0, _0225D1D8 ; =0x00001F74
ldr r1, _0225D1D4 ; =0x000019CC
add r0, r4, r0
add r1, r4, r1
bl ov91_022601F4
ldr r0, _0225D1D8 ; =0x00001F74
ldr r1, _0225D1D4 ; =0x000019CC
ldr r2, [r4]
add r0, r4, r0
add r1, r4, r1
bl ov91_022601AC
ldr r1, _0225D1BC ; =0x00001AB4
add r0, r4, #0
add r1, r4, r1
bl ov91_0225F7A8
ldr r0, _0225D1C8 ; =0x0000862C
add r0, r4, r0
bl ov91_02261928
add r0, r6, #0
pop {r3, r4, r5, r6, r7, pc}
nop
_0225D1B8: .word 0x00001F54
_0225D1BC: .word 0x00001AB4
_0225D1C0: .word 0x000021A4
_0225D1C4: .word 0x000087E4
_0225D1C8: .word 0x0000862C
_0225D1CC: .word 0x00001F58
_0225D1D0: .word 0x00008785
_0225D1D4: .word 0x000019CC
_0225D1D8: .word 0x00001F74
thumb_func_end ov91_0225D078
thumb_func_start ov91_0225D1DC
ov91_0225D1DC: ; 0x0225D1DC
push {r4, lr}
add r4, r0, #0
ldr r2, [r4]
cmp r2, #2
bhs _0225D202
ldr r0, _0225D2A8 ; =ov91_02261C44
lsl r1, r2, #2
ldr r1, [r0, r1]
ldr r0, [r4, #8]
cmp r1, r0
bhi _0225D202
add r0, r2, #1
str r0, [r4]
cmp r0, #1
bne _0225D202
ldr r0, _0225D2AC ; =0x000087E4
add r0, r4, r0
bl ov91_022619E8
_0225D202:
ldr r0, _0225D2B0 ; =0x000086EC
mov r1, #1
add r0, r4, r0
mov r2, #0
bl sub_02021280
add r0, r4, #0
bl ov91_0225EA7C
ldr r0, _0225D2B4 ; =0x00008730
add r0, r4, r0
bl ov91_0225EF70
cmp r0, #0
bne _0225D22A
ldr r1, _0225D2B4 ; =0x00008730
add r0, r4, #0
add r1, r4, r1
bl ov91_0225F008
_0225D22A:
ldr r0, _0225D2B8 ; =0x000087CC
ldr r1, [r4, #0x10]
add r0, r4, r0
bl ov91_0225F3E8
cmp r0, #1
bne _0225D258
ldr r0, _0225D2B8 ; =0x000087CC
add r0, r4, r0
bl ov91_0225F3E4
add r1, r0, #0
ldr r0, _0225D2BC ; =0x0000FFFF
cmp r1, r0
beq _0225D250
ldr r0, _0225D2C0 ; =0x00001F74
add r0, r4, r0
bl ov91_02260370
_0225D250:
ldr r0, _0225D2B8 ; =0x000087CC
add r0, r4, r0
bl ov91_0225F3D4
_0225D258:
add r0, r4, #0
bl ov91_0225E40C
ldr r1, _0225D2C4 ; =0x000019CC
add r0, r4, #0
add r1, r4, r1
bl ov91_0225DCC4
ldr r1, _0225D2C8 ; =0x00001AB4
add r0, r4, #0
add r1, r4, r1
bl ov91_0225F74C
add r0, r4, #0
bl ov91_0225E62C
ldr r0, _0225D2AC ; =0x000087E4
ldr r1, _0225D2CC ; =0x00001C54
ldr r2, _0225D2C0 ; =0x00001F74
add r0, r4, r0
add r1, r4, r1
add r2, r4, r2
bl ov91_02261A00
ldr r0, [r4, #4]
cmp r0, #1
bne _0225D294
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
_0225D294:
ldr r1, [r4, #0xc]
ldr r0, [r4, #8]
cmp r0, r1
blt _0225D2A2
str r1, [r4, #8]
mov r0, #1
pop {r4, pc}
_0225D2A2:
mov r0, #0
pop {r4, pc}
nop
_0225D2A8: .word ov91_02261C44
_0225D2AC: .word 0x000087E4
_0225D2B0: .word 0x000086EC
_0225D2B4: .word 0x00008730
_0225D2B8: .word 0x000087CC
_0225D2BC: .word 0x0000FFFF
_0225D2C0: .word 0x00001F74
_0225D2C4: .word 0x000019CC
_0225D2C8: .word 0x00001AB4
_0225D2CC: .word 0x00001C54
thumb_func_end ov91_0225D1DC
thumb_func_start ov91_0225D2D0
ov91_0225D2D0: ; 0x0225D2D0
push {r3, lr}
ldr r1, _0225D2E4 ; =0x00001AB4
ldr r0, [r0, r1]
bl DoScheduledBgGpuUpdates
bl GF_RunVramTransferTasks
bl OamManager_ApplyAndResetBuffers
pop {r3, pc}
.balign 4, 0
_0225D2E4: .word 0x00001AB4
thumb_func_end ov91_0225D2D0
thumb_func_start ov91_0225D2E8
ov91_0225D2E8: ; 0x0225D2E8
ldr r0, [r0, #8]
bx lr
thumb_func_end ov91_0225D2E8
thumb_func_start ov91_0225D2EC
ov91_0225D2EC: ; 0x0225D2EC
push {r3, r4, r5, lr}
sub sp, #0x28
add r4, r1, #0
add r5, r0, #0
ldrh r0, [r4]
ldr r1, [r5, #0x14]
cmp r1, r0
beq _0225D324
add r0, r4, #0
add r1, sp, #0
bl ov91_0225E294
add r0, r5, #0
add r1, sp, #0
mov r2, #2
bl ov91_0225E2E4
ldrh r0, [r4, #2]
cmp r0, #0
beq _0225D324
mov r2, #0x12
ldr r0, _0225D328 ; =0x00001E38
ldrh r1, [r4]
ldrsb r2, [r4, r2]
ldr r3, [r5]
add r0, r5, r0
bl ov91_0225D694
_0225D324:
add sp, #0x28
pop {r3, r4, r5, pc}
.balign 4, 0
_0225D328: .word 0x00001E38
thumb_func_end ov91_0225D2EC
thumb_func_start ov91_0225D32C
ov91_0225D32C: ; 0x0225D32C
push {r3, r4, r5, lr}
add r5, r0, #0
mov r2, #0
add r3, r5, #0
_0225D334:
add r0, r3, #0
add r0, #0x4c
ldrb r0, [r0]
cmp r0, #4
bne _0225D35A
mov r0, #0x44
add r4, r2, #0
mul r4, r0
add r0, r5, #0
add r0, #0x50
add r0, r0, r4
bl ov91_0225E23C
add r5, #0x4c
add r0, r5, r4
bl ov91_0225E400
mov r0, #1
pop {r3, r4, r5, pc}
_0225D35A:
add r2, r2, #1
add r3, #0x44
cmp r2, #0x60
blt _0225D334
mov r0, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov91_0225D32C
thumb_func_start ov91_0225D368
ov91_0225D368: ; 0x0225D368
add r3, r1, #0
ldr r1, _0225D378 ; =0x000086DC
add r2, r0, r1
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
bx lr
.balign 4, 0
_0225D378: .word 0x000086DC
thumb_func_end ov91_0225D368
thumb_func_start ov91_0225D37C
ov91_0225D37C: ; 0x0225D37C
ldr r0, [r0, #0x18]
bx lr
thumb_func_end ov91_0225D37C
thumb_func_start ov91_0225D380
ov91_0225D380: ; 0x0225D380
push {r3, r4, lr}
sub sp, #4
ldr r4, _0225D3B0 ; =0x00008780
add r3, r0, #0
ldrh r2, [r3, r4]
add r0, r4, #2
strh r2, [r3, r0]
strh r1, [r3, r4]
ldrh r0, [r3, r4]
add r2, r4, #4
sub r1, r4, #4
str r0, [sp]
add r0, r4, #0
sub r0, #0x50
add r4, r4, #2
add r0, r3, r0
ldr r1, [r3, r1]
add r2, r3, r2
ldrh r3, [r3, r4]
bl ov91_0225EED0
add sp, #4
pop {r3, r4, pc}
nop
_0225D3B0: .word 0x00008780
thumb_func_end ov91_0225D380
thumb_func_start ov91_0225D3B4
ov91_0225D3B4: ; 0x0225D3B4
ldr r3, _0225D3BC ; =0x000087CC
add r0, r0, r3
ldr r3, _0225D3C0 ; =ov91_0225F3A0
bx r3
.balign 4, 0
_0225D3BC: .word 0x000087CC
_0225D3C0: .word ov91_0225F3A0
thumb_func_end ov91_0225D3B4
thumb_func_start ov91_0225D3C4
ov91_0225D3C4: ; 0x0225D3C4
push {r4, lr}
add r4, r0, #0
ldrb r0, [r1]
ldr r2, _0225D404 ; =0x00008784
strb r0, [r4, r2]
ldrb r3, [r1, #1]
add r0, r2, #1
strb r3, [r4, r0]
ldrb r3, [r1, #2]
add r0, r2, #2
strb r3, [r4, r0]
ldrb r1, [r1, #3]
add r0, r2, #3
strb r1, [r4, r0]
mov r1, #1
add r0, r2, #4
str r1, [r4, r0]
add r1, r2, #0
add r0, r2, #0
sub r1, #8
sub r0, #0x54
ldr r1, [r4, r1]
add r0, r4, r0
add r2, r4, r2
bl ov91_0225EEBC
ldr r1, _0225D408 ; =0x00008730
add r0, r4, #0
add r1, r4, r1
bl ov91_0225F008
pop {r4, pc}
.balign 4, 0
_0225D404: .word 0x00008784
_0225D408: .word 0x00008730
thumb_func_end ov91_0225D3C4
thumb_func_start ov91_0225D40C
ov91_0225D40C: ; 0x0225D40C
push {r3, r4, r5, r6, r7, lr}
ldr r4, [sp, #0x18]
add r5, r0, #0
add r7, r2, #0
add r0, r3, #0
add r6, r1, #0
lsl r2, r4, #0xc
str r3, [sp]
asr r1, r0, #0x1f
asr r3, r2, #0x1f
bl _ll_mul
add r2, r0, #0
sub r0, r7, r6
mov r7, #2
mov r3, #0
lsl r7, r7, #0xa
add r2, r2, r7
adc r1, r3
lsl r1, r1, #0x14
lsr r2, r2, #0xc
orr r2, r1
sub r2, r0, r2
asr r1, r2, #0x1f
lsr r0, r2, #0x13
lsl r1, r1, #0xd
orr r1, r0
lsl r0, r2, #0xd
add r0, r0, r7
adc r1, r3
lsl r1, r1, #0x14
lsr r0, r0, #0xc
orr r0, r1
add r1, r4, #0
mul r1, r4
lsl r1, r1, #0xc
bl FX_Div
str r6, [r5]
ldr r1, [sp]
str r6, [r5, #4]
str r1, [r5, #8]
str r0, [r5, #0xc]
mov r0, #0
str r0, [r5, #0x10]
str r4, [r5, #0x14]
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov91_0225D40C
thumb_func_start ov91_0225D46C
ov91_0225D46C: ; 0x0225D46C
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r6, [r5, #0x10]
ldr r0, [r5, #8]
lsl r2, r6, #0xc
asr r1, r0, #0x1f
asr r3, r2, #0x1f
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsr r4, r2, #0xc
lsl r0, r1, #0x14
add r2, r6, #0
orr r4, r0
ldr r0, [r5, #0xc]
mul r2, r6
lsl r2, r2, #0xc
asr r1, r0, #0x1f
asr r3, r2, #0x1f
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r0, r0, r2
adc r1, r3
lsl r1, r1, #0x14
lsr r0, r0, #0xc
orr r0, r1
lsl r1, r2, #2
bl FX_Div
ldr r1, [r5, #4]
add r0, r4, r0
add r0, r1, r0
str r0, [r5]
ldr r0, [r5, #0x10]
ldr r1, [r5, #0x14]
add r0, r0, #1
cmp r0, r1
bgt _0225D4CC
str r0, [r5, #0x10]
mov r0, #0
pop {r4, r5, r6, pc}
_0225D4CC:
str r1, [r5, #0x10]
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov91_0225D46C
thumb_func_start ov91_0225D4D4
ov91_0225D4D4: ; 0x0225D4D4
push {r3, r4}
lsl r4, r0, #5
lsl r0, r2, #3
ldr r2, _0225D4F8 ; =ov91_02261F8C
lsl r1, r1, #7
add r2, r2, r1
add r2, r4, r2
ldr r2, [r0, r2]
str r2, [r3]
ldr r2, _0225D4FC ; =ov91_02261F90
add r1, r2, r1
add r1, r4, r1
ldr r1, [r0, r1]
ldr r0, [sp, #8]
str r1, [r0]
pop {r3, r4}
bx lr
nop
_0225D4F8: .word ov91_02261F8C
_0225D4FC: .word ov91_02261F90
thumb_func_end ov91_0225D4D4
thumb_func_start ov91_0225D500
ov91_0225D500: ; 0x0225D500
push {r3, r4, r5, lr}
sub sp, #0x28
add r5, r0, #0
ldr r0, [r5, #0x14]
add r4, r3, #0
add r3, sp, #0
strh r0, [r3]
mov r0, #0
strh r0, [r3, #2]
sub r3, r1, r4
lsr r1, r3, #0x1f
add r1, r3, r1
asr r1, r1, #1
lsl r1, r1, #0x10
asr r1, r1, #4
str r1, [sp, #4]
add r1, sp, #0x28
ldrh r1, [r1, #0x10]
sub r2, r2, r1
lsr r1, r2, #0x1f
add r1, r2, r1
asr r1, r1, #1
lsl r1, r1, #0x10
asr r1, r1, #4
str r0, [sp, #8]
add r0, sp, #4
str r1, [sp, #0xc]
bl VEC_Mag
ldr r1, _0225D5F8 ; =0x0001E200
cmp r0, r1
ble _0225D582
add r0, sp, #4
add r1, r0, #0
bl VEC_Normalize
ldr r0, [sp, #4]
ldr r2, _0225D5F8 ; =0x0001E200
asr r1, r0, #0x1f
mov r3, #0
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
ldr r0, [sp, #0xc]
str r1, [sp, #4]
ldr r2, _0225D5F8 ; =0x0001E200
asr r1, r0, #0x1f
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
str r1, [sp, #0xc]
_0225D582:
mov r0, #0x26
lsl r0, r0, #0xc
str r0, [sp, #8]
add r0, sp, #4
bl VEC_Mag
ldr r2, _0225D5FC ; =0x0000099A
asr r1, r0, #0x1f
mov r3, #0
str r0, [sp, #0x10]
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
add r0, sp, #4
str r1, [sp, #0x10]
add r1, r0, #0
bl VEC_Normalize
lsl r0, r4, #0x10
add r2, sp, #0x28
mov r1, #0x10
ldrsh r1, [r2, r1]
asr r0, r0, #0x10
add r2, sp, #0x14
bl ov91_02260400
mov r0, #0
str r0, [sp, #0x18]
add r2, sp, #0
add r0, sp, #0x14
ldrh r2, [r2]
ldr r3, [r5, #0x10]
add r1, r0, #0
bl ov91_0226045C
add r2, sp, #0
add r0, sp, #4
ldrh r2, [r2]
ldr r3, [r5, #0x10]
add r1, r0, #0
bl ov91_0226045C
mov r0, #0
str r0, [sp, #0x24]
ldr r2, [sp, #0x3c]
add r0, r5, #0
add r1, sp, #0
bl ov91_0225E2E4
add sp, #0x28
pop {r3, r4, r5, pc}
nop
_0225D5F8: .word 0x0001E200
_0225D5FC: .word 0x0000099A
thumb_func_end ov91_0225D500
thumb_func_start ov91_0225D600
ov91_0225D600: ; 0x0225D600
ldr r1, [r0, #0x1c]
cmp r1, #3
blt _0225D60A
mov r1, #2
b _0225D60E
_0225D60A:
lsl r1, r1, #0x18
lsr r1, r1, #0x18
_0225D60E:
lsl r2, r1, #2
ldr r1, _0225D624 ; =ov91_02261C34
ldr r0, [r0]
ldr r1, [r1, r2]
cmp r0, #2
bne _0225D61E
lsl r0, r1, #1
add r1, r1, r0
_0225D61E:
add r0, r1, #0
bx lr
nop
_0225D624: .word ov91_02261C34
thumb_func_end ov91_0225D600
thumb_func_start ov91_0225D628
ov91_0225D628: ; 0x0225D628
push {r4, r5, r6, r7, lr}
sub sp, #0x44
add r6, r1, #0
add r5, r0, #0
ldr r0, [r6, #0x1c]
ldr r7, [sp, #0x58]
str r0, [sp, #0x14]
mov r0, #0x56
lsl r0, r0, #2
add r0, r6, r0
str r0, [sp, #0x18]
mov r0, #1
lsl r0, r0, #0xc
str r0, [sp, #0x28]
str r0, [sp, #0x2c]
str r0, [sp, #0x30]
mov r4, #0
add r0, sp, #0x14
strh r4, [r0, #0x20]
mov r0, #1
str r2, [sp, #0xc]
str r3, [sp, #0x10]
str r4, [sp, #0x38]
str r0, [sp, #0x3c]
str r7, [sp, #0x40]
_0225D65A:
ldr r0, [sp, #0x10]
str r4, [sp]
str r0, [sp, #4]
ldr r3, [sp, #0xc]
add r0, r5, #0
add r1, sp, #0x14
add r2, r6, #0
str r7, [sp, #8]
bl ov91_0225D6B8
add r4, r4, #1
add r5, #0x40
cmp r4, #4
blt _0225D65A
add sp, #0x44
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov91_0225D628
thumb_func_start ov91_0225D67C
ov91_0225D67C: ; 0x0225D67C
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_0225D682:
add r0, r5, #0
bl ov91_0225D750
add r4, r4, #1
add r5, #0x40
cmp r4, #4
blt _0225D682
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov91_0225D67C
thumb_func_start ov91_0225D694
ov91_0225D694: ; 0x0225D694
push {r4, lr}
lsl r4, r1, #6
add r0, r0, r4
bl ov91_0225D768
pop {r4, pc}
thumb_func_end ov91_0225D694
thumb_func_start ov91_0225D6A0
ov91_0225D6A0: ; 0x0225D6A0
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_0225D6A6:
add r0, r5, #0
bl ov91_0225D84C
add r4, r4, #1
add r5, #0x40
cmp r4, #4
blt _0225D6A6
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov91_0225D6A0
thumb_func_start ov91_0225D6B8
ov91_0225D6B8: ; 0x0225D6B8
push {r4, r5, r6, r7, lr}
sub sp, #0x14
str r0, [sp, #4]
ldr r0, [sp, #0x28]
ldr r6, [sp, #4]
str r0, [sp, #0x28]
ldr r0, [sp, #0x2c]
add r5, r1, #0
str r3, [sp, #8]
str r0, [sp, #0x2c]
mov r7, #0
add r4, r6, #0
_0225D6D0:
add r0, sp, #0xc
str r0, [sp]
ldr r0, [sp, #8]
ldr r1, [sp, #0x2c]
ldr r2, [sp, #0x28]
add r3, sp, #0x10
bl ov91_0225D4D4
ldr r0, [sp, #0x10]
add r3, r5, #0
lsl r0, r0, #0xc
str r0, [r5, #8]
ldr r0, [sp, #0xc]
add r2, r6, #0
lsl r0, r0, #0xc
add r3, #8
str r0, [r5, #0xc]
ldmia r3!, {r0, r1}
add r2, #0x18
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
add r0, r5, #0
bl CreateSprite
str r0, [r4]
mov r1, #2
bl Set2dSpriteAnimSeqNo
ldr r0, [r4]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r4]
mov r1, #1
bl Set2dSpriteAnimActiveFlag
mov r1, #6
ldr r0, [r4]
lsl r1, r1, #0xa
bl sub_02024868
mov r0, #0
str r0, [r4, #0xc]
add r7, r7, #1
add r6, #0xc
add r4, r4, #4
cmp r7, #3
blt _0225D6D0
ldr r1, [sp, #0x2c]
ldr r0, [sp, #0x28]
cmp r1, r0
bne _0225D744
ldr r0, [sp, #4]
mov r1, #1
str r1, [r0, #0x3c]
add sp, #0x14
pop {r4, r5, r6, r7, pc}
_0225D744:
ldr r0, [sp, #4]
mov r1, #0
str r1, [r0, #0x3c]
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov91_0225D6B8
thumb_func_start ov91_0225D750
ov91_0225D750: ; 0x0225D750
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_0225D756:
ldr r0, [r5]
bl Sprite_Delete
add r4, r4, #1
add r5, r5, #4
cmp r4, #3
blt _0225D756
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov91_0225D750
thumb_func_start ov91_0225D768
ov91_0225D768: ; 0x0225D768
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
mov r4, #0
str r0, [sp]
add r0, r4, #0
sub r0, r0, #1
ldr r5, [sp]
str r1, [sp, #4]
str r2, [sp, #8]
str r3, [sp, #0xc]
str r4, [sp, #0x10]
str r0, [sp, #0x14]
add r6, r4, #0
_0225D782:
ldr r0, [r5]
bl Get2dSpriteVisibleFlag
cmp r0, #0
bne _0225D794
mov r0, #1
str r6, [sp, #0x14]
str r0, [sp, #0x10]
b _0225D7B4
_0225D794:
ldr r0, [r5]
bl Sprite_GetDrawPriority
add r7, r0, #0
ldr r0, [r5]
add r1, r7, #1
bl Sprite_SetDrawPriority
ldr r0, [sp, #0x10]
cmp r0, #0
bne _0225D7B4
add r0, r7, #1
cmp r4, r0
bhi _0225D7B4
add r4, r0, #0
str r6, [sp, #0x14]
_0225D7B4:
add r6, r6, #1
add r5, r5, #4
cmp r6, #3
blt _0225D782
ldr r0, [sp, #0x14]
cmp r0, #0
bge _0225D7C6
bl GF_AssertFail
_0225D7C6:
ldr r0, [sp, #8]
cmp r0, #3
blo _0225D7D0
mov r0, #2
str r0, [sp, #8]
_0225D7D0:
ldr r0, [sp, #0xc]
cmp r0, #2
beq _0225D7F2
ldr r0, [sp]
ldr r0, [r0, #0x3c]
cmp r0, #1
bne _0225D7E6
ldr r0, [sp, #8]
add r0, r0, #2
str r0, [sp, #8]
b _0225D7EC
_0225D7E6:
ldr r0, [sp, #8]
add r0, #8
str r0, [sp, #8]
_0225D7EC:
ldr r0, [sp, #4]
add r4, r0, #3
b _0225D80A
_0225D7F2:
ldr r0, [sp]
ldr r0, [r0, #0x3c]
cmp r0, #1
bne _0225D802
ldr r0, [sp, #8]
add r0, r0, #5
str r0, [sp, #8]
b _0225D808
_0225D802:
ldr r0, [sp, #8]
add r0, #0xb
str r0, [sp, #8]
_0225D808:
mov r4, #7
_0225D80A:
ldr r0, [sp, #0x14]
ldr r1, [sp, #8]
lsl r5, r0, #2
ldr r0, [sp]
ldr r0, [r0, r5]
bl Set2dSpriteAnimSeqNo
ldr r0, [sp]
mov r1, #0
add r0, r0, r5
str r1, [r0, #0xc]
ldr r0, [sp]
mov r1, #1
ldr r0, [r0, r5]
bl Set2dSpriteVisibleFlag
ldr r0, [sp]
ldr r1, [sp, #0x14]
bl ov91_0225D884
ldr r0, [sp]
mov r1, #0
ldr r0, [r0, r5]
bl Sprite_SetDrawPriority
ldr r0, [sp]
add r1, r4, #0
ldr r0, [r0, r5]
bl Sprite_SetPalIndex
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov91_0225D768
thumb_func_start ov91_0225D84C
ov91_0225D84C: ; 0x0225D84C
push {r4, r5, r6, lr}
add r6, r0, #0
mov r4, #0
add r5, r6, #0
_0225D854:
ldr r0, [r5]
bl Get2dSpriteVisibleFlag
cmp r0, #1
bne _0225D87A
ldr r0, [r5, #0xc]
add r0, r0, #1
str r0, [r5, #0xc]
cmp r0, #0x10
bls _0225D872
add r0, r6, #0
add r1, r4, #0
bl ov91_0225D8E0
b _0225D87A
_0225D872:
add r0, r6, #0
add r1, r4, #0
bl ov91_0225D884
_0225D87A:
add r4, r4, #1
add r5, r5, #4
cmp r4, #3
blt _0225D854
pop {r4, r5, r6, pc}
thumb_func_end ov91_0225D84C
thumb_func_start ov91_0225D884
ov91_0225D884: ; 0x0225D884
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r6, r1, #0
add r5, r0, #0
lsl r4, r6, #2
add r0, r5, r4
ldr r0, [r0, #0xc]
ldr r2, _0225D8DC ; =0xFFFF0000
lsl r0, r0, #0xc
asr r1, r0, #0x1f
asr r3, r2, #0x10
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r0, r0, r2
adc r1, r3
lsl r1, r1, #0x14
lsr r0, r0, #0xc
orr r0, r1
lsl r1, r2, #5
bl FX_Div
add r2, r0, #0
mov r0, #0xc
mul r0, r6
add r6, r5, r0
add r6, #0x18
add r3, sp, #0
ldmia r6!, {r0, r1}
add r7, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r6]
add r1, r7, #0
str r0, [r3]
ldr r0, [sp, #4]
add r0, r0, r2
str r0, [sp, #4]
ldr r0, [r5, r4]
bl Sprite_SetMatrix
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0225D8DC: .word 0xFFFF0000
thumb_func_end ov91_0225D884
thumb_func_start ov91_0225D8E0
ov91_0225D8E0: ; 0x0225D8E0
ldr r3, _0225D8EC ; =Set2dSpriteVisibleFlag
lsl r1, r1, #2
ldr r0, [r0, r1]
mov r1, #0
bx r3
nop
_0225D8EC: .word Set2dSpriteVisibleFlag
thumb_func_end ov91_0225D8E0
thumb_func_start ov91_0225D8F0
ov91_0225D8F0: ; 0x0225D8F0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x40
str r0, [sp, #0x14]
ldr r0, [sp, #0x58]
add r5, r2, #0
str r1, [sp, #0x18]
str r0, [sp, #0x58]
ldr r4, [sp, #0x60]
ldr r2, [sp, #0x14]
str r3, [sp, #0x1c]
mov r1, #0x1c
mov r0, #0
_0225D908:
strb r0, [r2]
add r2, r2, #1
sub r1, r1, #1
bne _0225D908
mov r0, #0x13
str r0, [sp]
mov r0, #0x1c
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #5
str r0, [sp, #0xc]
mov r0, #0xa
str r0, [sp, #0x10]
ldr r0, [sp, #0x18]
ldr r1, [sp, #0x14]
ldr r0, [r0]
add r1, #0xc
mov r2, #1
mov r3, #2
bl AddWindowParameterized
mov r0, #0xe0
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
ldr r0, [sp, #0x14]
mov r2, #0
add r0, #0xc
mov r1, #0xf
add r3, r2, #0
bl FillWindowPixelRect
mov r0, #0x80
add r1, r4, #0
bl String_New
add r6, r0, #0
ldr r0, [sp, #0x18]
mov r1, #0
ldr r0, [r0, #8]
add r2, r6, #0
bl ReadMsgDataIntoString
mov r1, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _0225DAF8 ; =0x0001020F
add r2, r6, #0
str r0, [sp, #8]
ldr r0, [sp, #0x14]
add r3, r1, #0
add r0, #0xc
str r1, [sp, #0xc]
bl AddTextPrinterParameterizedWithColor
add r0, r6, #0
bl String_Delete
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r2, [sp, #0x18]
str r4, [sp, #0xc]
ldr r0, [sp, #0x5c]
ldr r2, [r2]
mov r1, #0x12
mov r3, #2
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
ldr r1, [sp, #0x1c]
ldr r2, [sp, #0x18]
str r4, [sp, #0xc]
ldr r0, [sp, #0x5c]
ldr r2, [r2]
add r1, #0x12
mov r3, #2
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0x80
str r0, [sp]
mov r2, #0
ldr r0, [sp, #0x5c]
mov r1, #0x13
add r3, r2, #0
str r4, [sp, #4]
bl GfGfxLoader_GXLoadPalFromOpenNarc
add r0, sp, #0x30
bl InitWindow
mov r3, #0
str r3, [sp]
mov r0, #8
str r0, [sp, #4]
mov r2, #2
str r2, [sp, #8]
mov r0, #5
str r0, [sp, #0xc]
add r0, #0xfb
str r0, [sp, #0x10]
ldr r0, [sp, #0x18]
add r1, sp, #0x30
ldr r0, [r0]
bl AddWindowParameterized
mov r0, #1
lsl r0, r0, #8
str r0, [sp, #0x28]
mov r0, #0x80
add r1, r4, #0
bl String_New
str r0, [sp, #0x24]
ldr r0, [sp, #0x1c]
mov r4, #0
cmp r0, #0
bls _0225DAD2
ldr r0, [sp, #0x58]
ldr r1, _0225DAFC ; =ov91_02261DAC
lsl r0, r0, #7
add r1, r1, r0
ldr r0, [sp, #0x1c]
lsl r0, r0, #5
add r6, r1, r0
_0225DA0E:
ldr r0, [sp, #0x58]
cmp r4, r0
beq _0225DAC6
add r0, r6, #0
sub r0, #0x20
ldr r0, [r0]
mov r1, #2
str r0, [sp, #0x2c]
add r0, r6, #0
sub r0, #0x1c
ldr r7, [r0]
mov r0, #0xa
str r0, [sp]
mov r0, #4
str r0, [sp, #4]
lsl r0, r4, #0x18
lsr r0, r0, #0x18
ldr r2, [sp, #0x2c]
str r0, [sp, #8]
ldr r0, [sp, #0x18]
sub r2, r2, #1
sub r3, r7, #1
lsl r2, r2, #0x18
lsl r3, r3, #0x18
ldr r0, [r0]
lsr r2, r2, #0x18
lsr r3, r3, #0x18
bl BgTilemapRectChangePalette
add r0, sp, #0x30
mov r1, #0xf
bl FillWindowPixelBuffer
ldr r0, [r5, #0x18]
cmp r0, #1
bne _0225DA5C
ldr r0, _0225DB00 ; =0x0005060F
str r0, [sp, #0x20]
b _0225DA60
_0225DA5C:
ldr r0, _0225DAF8 ; =0x0001020F
str r0, [sp, #0x20]
_0225DA60:
ldr r0, [r5, #8]
ldr r1, [sp, #0x24]
bl PlayerName_FlatToString
ldr r1, [sp, #0x2c]
add r0, sp, #0x30
lsl r1, r1, #0x18
lsr r1, r1, #0x18
bl SetWindowX
lsl r1, r7, #0x18
add r0, sp, #0x30
lsr r1, r1, #0x18
bl SetWindowY
add r0, sp, #0x30
ldrh r1, [r0, #0xa]
ldr r0, _0225DB04 ; =0xFFFF8000
and r0, r1
ldr r1, [sp, #0x28]
lsl r1, r1, #0x10
lsr r2, r1, #0x10
ldr r1, _0225DB08 ; =0x00007FFF
and r1, r2
orr r1, r0
add r0, sp, #0x30
strh r1, [r0, #0xa]
mov r0, #0
ldr r1, [sp, #0x24]
add r2, r0, #0
bl FontID_String_GetWidth
add r7, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x20]
mov r3, #0x40
str r0, [sp, #8]
mov r0, #0
sub r3, r3, r7
str r0, [sp, #0xc]
ldr r2, [sp, #0x24]
add r0, sp, #0x30
mov r1, #0
lsr r3, r3, #1
bl AddTextPrinterParameterizedWithColor
ldr r0, [sp, #0x28]
add r0, #0x10
str r0, [sp, #0x28]
_0225DAC6:
ldr r0, [sp, #0x1c]
add r4, r4, #1
add r6, #8
add r5, r5, #4
cmp r4, r0
blo _0225DA0E
_0225DAD2:
ldr r0, [sp, #0x24]
bl String_Delete
add r0, sp, #0x30
bl RemoveWindow
ldr r0, [sp, #0x14]
mov r1, #0
str r1, [r0, #4]
mov r0, #2
bl GfGfx_EngineATogglePlanes
mov r0, #4
mov r1, #0
bl GfGfx_EngineATogglePlanes
add sp, #0x40
pop {r3, r4, r5, r6, r7, pc}
nop
_0225DAF8: .word 0x0001020F
_0225DAFC: .word ov91_02261DAC
_0225DB00: .word 0x0005060F
_0225DB04: .word 0xFFFF8000
_0225DB08: .word 0x00007FFF
thumb_func_end ov91_0225D8F0
thumb_func_start ov91_0225DB0C
ov91_0225DB0C: ; 0x0225DB0C
ldr r3, _0225DB14 ; =RemoveWindow
add r0, #0xc
bx r3
nop
_0225DB14: .word RemoveWindow
thumb_func_end ov91_0225DB0C
thumb_func_start ov91_0225DB18
ov91_0225DB18: ; 0x0225DB18
push {r4, lr}
add r4, r1, #0
add r0, #0xc
mov r1, #0
mov r2, #1
mov r3, #4
bl DrawFrameAndWindow1
mov r0, #2
mov r1, #1
bl GfGfx_EngineATogglePlanes
mov r0, #4
mov r1, #1
bl GfGfx_EngineATogglePlanes
mov r0, #0x6f
lsl r0, r0, #4
ldr r0, [r4, r0]
bl ov90_02258C8C
pop {r4, pc}
thumb_func_end ov91_0225DB18
thumb_func_start ov91_0225DB44
ov91_0225DB44: ; 0x0225DB44
push {r3, lr}
mov r0, #0x6f
lsl r0, r0, #4
ldr r0, [r1, r0]
bl ov90_02258CE0
cmp r0, #1
beq _0225DB58
mov r0, #1
pop {r3, pc}
_0225DB58:
mov r0, #0
pop {r3, pc}
thumb_func_end ov91_0225DB44
thumb_func_start ov91_0225DB5C
ov91_0225DB5C: ; 0x0225DB5C
push {r4, lr}
add r4, r0, #0
add r0, #0xc
mov r1, #1
bl sub_0200E5D4
add r4, #0xc
add r0, r4, #0
bl ClearWindowTilemapAndScheduleTransfer
mov r0, #4
mov r1, #0
bl GfGfx_EngineATogglePlanes
pop {r4, pc}
.balign 4, 0
thumb_func_end ov91_0225DB5C
thumb_func_start ov91_0225DB7C
ov91_0225DB7C: ; 0x0225DB7C
push {r4, lr}
mov r0, #0x13
add r4, r1, #0
lsl r0, r0, #6
add r0, r4, r0
mov r1, #1
bl ov91_02260298
ldr r0, _0225DBA8 ; =0x0000066C
mov r1, #0x2d
add r0, r4, r0
lsl r1, r1, #0xe
bl sub_02018198
mov r0, #0x13
lsl r0, r0, #6
add r0, r4, r0
mov r1, #1
bl ov91_02260334
pop {r4, pc}
nop
_0225DBA8: .word 0x0000066C
thumb_func_end ov91_0225DB7C
thumb_func_start ov91_0225DBAC
ov91_0225DBAC: ; 0x0225DBAC
ldr r1, [r0, #4]
add r1, r1, #1
str r1, [r0, #4]
cmp r1, #8
bge _0225DBBA
mov r0, #1
bx lr
_0225DBBA:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end ov91_0225DBAC
thumb_func_start ov91_0225DBC0
ov91_0225DBC0: ; 0x0225DBC0
mov r2, #0x13
lsl r2, r2, #6
ldr r3, _0225DBCC ; =ov91_022601C8
add r0, r0, r2
bx r3
nop
_0225DBCC: .word ov91_022601C8
thumb_func_end ov91_0225DBC0
thumb_func_start ov91_0225DBD0
ov91_0225DBD0: ; 0x0225DBD0
mov r1, #0x4a
mov r2, #0
lsl r1, r1, #4
str r2, [r0, r1]
add r1, r1, #4
str r2, [r0, r1]
bx lr
.balign 4, 0
thumb_func_end ov91_0225DBD0
thumb_func_start ov91_0225DBE0
ov91_0225DBE0: ; 0x0225DBE0
bx lr
.balign 4, 0
thumb_func_end ov91_0225DBE0
thumb_func_start ov91_0225DBE4
ov91_0225DBE4: ; 0x0225DBE4
mov r1, #0x13
lsl r1, r1, #6
add r0, r0, r1
ldr r3, _0225DBF0 ; =ov91_02260298
mov r1, #5
bx r3
.balign 4, 0
_0225DBF0: .word ov91_02260298
thumb_func_end ov91_0225DBE4
thumb_func_start ov91_0225DBF4
ov91_0225DBF4: ; 0x0225DBF4
push {r3, lr}
ldr r1, _0225DC1C ; =0x000004A4
ldr r2, [r0, r1]
add r2, r2, #1
str r2, [r0, r1]
ldr r1, [r0, r1]
cmp r1, #0x3c
blo _0225DC18
ldr r1, _0225DC20 ; =0x000006BC
add r0, r0, r1
mov r1, #2
lsl r1, r1, #0xc
bl sub_0201815C
cmp r0, #1
bne _0225DC18
mov r0, #1
pop {r3, pc}
_0225DC18:
mov r0, #0
pop {r3, pc}
.balign 4, 0
_0225DC1C: .word 0x000004A4
_0225DC20: .word 0x000006BC
thumb_func_end ov91_0225DBF4
thumb_func_start ov91_0225DC24
ov91_0225DC24: ; 0x0225DC24
push {r3, lr}
mov r1, #0x6f
lsl r1, r1, #4
ldr r0, [r0, r1]
bl ov90_02258CE0
cmp r0, #1
bne _0225DC38
mov r0, #1
pop {r3, pc}
_0225DC38:
mov r0, #0
pop {r3, pc}
thumb_func_end ov91_0225DC24
thumb_func_start ov91_0225DC3C
ov91_0225DC3C: ; 0x0225DC3C
push {r4, r5, lr}
sub sp, #0xc
add r4, r1, #0
mov r0, #0
strh r0, [r4, #6]
ldr r1, _0225DCB4 ; =0x00007FFF
add r0, r4, #0
bl ov91_0225DD50
ldr r1, _0225DCB8 ; =0x00000E38
add r0, r4, #0
bl ov91_0225DD24
mov r0, #0
strb r0, [r4]
mov r0, #1
strb r0, [r4, #1]
mov r1, #0x32
add r0, r4, #0
add r2, sp, #0
lsl r1, r1, #0xe
add r0, #0x94
str r1, [r0]
add r0, r4, #0
mov r1, #0x7b
add r0, #0x98
str r1, [r0]
mov r0, #5
lsl r0, r0, #0x10
ldr r5, _0225DCBC ; =ov91_02261C28
str r0, [r4, #8]
ldmia r5!, {r0, r1}
add r3, r2, #0
stmia r2!, {r0, r1}
ldr r0, [r5]
str r0, [r2]
add r2, r4, #0
ldmia r3!, {r0, r1}
add r2, #0x9c
stmia r2!, {r0, r1}
ldr r0, [r3]
ldr r1, _0225DCC0 ; =0x000009C4
str r0, [r2]
add r0, r4, #0
bl ov91_0225E09C
add r3, sp, #0
add r2, r4, #0
ldmia r3!, {r0, r1}
add r2, #0xd8
stmia r2!, {r0, r1}
ldr r0, [r3]
str r0, [r2]
add r0, r4, #0
add r0, #0xc0
ldr r0, [r0]
add r4, #0xe4
str r0, [r4]
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
_0225DCB4: .word 0x00007FFF
_0225DCB8: .word 0x00000E38
_0225DCBC: .word ov91_02261C28
_0225DCC0: .word 0x000009C4
thumb_func_end ov91_0225DC3C
thumb_func_start ov91_0225DCC4
ov91_0225DCC4: ; 0x0225DCC4
push {r3, r4, r5, lr}
add r3, r0, #0
ldr r0, [r3]
add r4, r1, #0
cmp r0, #1
bne _0225DCD4
mov r0, #0
b _0225DCD6
_0225DCD4:
mov r0, #1
_0225DCD6:
strb r0, [r4, #1]
ldr r1, [r3, #8]
ldr r2, [r3, #0xc]
ldr r3, [r3]
add r0, r4, #0
lsl r5, r3, #2
ldr r3, _0225DD1C ; =ov91_02261C58
ldr r3, [r3, r5]
blx r3
add r1, r0, #0
add r0, r4, #0
bl ov91_0225DD24
ldrh r1, [r4, #4]
add r0, r4, #0
bl ov91_0225E044
str r0, [r4, #8]
ldrh r1, [r4, #4]
add r0, r4, #0
bl ov91_0225E070
add r1, r4, #0
add r1, #0xe4
str r0, [r1]
ldrh r2, [r4, #2]
ldrh r1, [r4, #6]
add r0, r4, #0
add r1, r2, r1
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl ov91_0225DD50
pop {r3, r4, r5, pc}
nop
_0225DD1C: .word ov91_02261C58
thumb_func_end ov91_0225DCC4
thumb_func_start ov91_0225DD20
ov91_0225DD20: ; 0x0225DD20
strb r1, [r0]
bx lr
thumb_func_end ov91_0225DD20
thumb_func_start ov91_0225DD24
ov91_0225DD24: ; 0x0225DD24
push {r3, r4, r5, lr}
add r4, r0, #0
add r5, r1, #0
add r0, #0xc
strh r5, [r4, #4]
bl MTX_Identity33_
asr r0, r5, #4
lsl r2, r0, #1
lsl r1, r2, #1
ldr r3, _0225DD4C ; =FX_SinCosTable_
add r2, r2, #1
lsl r2, r2, #1
add r4, #0xc
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
add r0, r4, #0
bl MTX_RotX33_
pop {r3, r4, r5, pc}
.balign 4, 0
_0225DD4C: .word FX_SinCosTable_
thumb_func_end ov91_0225DD24
thumb_func_start ov91_0225DD50
ov91_0225DD50: ; 0x0225DD50
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r5, r0, #0
add r4, r1, #0
add r0, #0x54
strh r4, [r5, #2]
bl MTX_Identity33_
add r0, r5, #0
add r0, #0x30
bl MTX_Identity33_
asr r0, r4, #4
lsl r2, r0, #1
lsl r1, r2, #1
ldr r3, _0225DE84 ; =FX_SinCosTable_
add r2, r2, #1
lsl r2, r2, #1
add r0, r5, #0
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
add r0, #0x30
bl MTX_RotY33_
add r0, r5, #0
add r1, r5, #0
add r2, r5, #0
add r0, #0xc
add r1, #0x30
add r2, #0x54
bl MTX_Concat33
add r1, r5, #0
add r2, r5, #0
ldr r0, _0225DE88 ; =ov91_02261C4C
add r1, #0x54
add r2, #0x78
bl MTX_MultVec33
mov r0, #0
add r1, r5, #0
add r2, r5, #0
str r0, [sp, #8]
str r0, [sp, #0xc]
ldr r0, [r5, #8]
add r1, #0x54
neg r0, r0
str r0, [sp, #0x10]
add r0, sp, #8
add r2, #0x84
bl MTX_MultVec33
add r0, r5, #0
add r0, #0xb8
ldr r1, [r0]
add r0, r5, #0
add r0, #0x9c
ldr r0, [r0]
add r0, r1, r0
str r0, [sp, #8]
add r0, r5, #0
add r0, #0xbc
ldr r0, [r0]
str r0, [sp, #0xc]
add r0, r5, #0
add r0, #0xa4
ldr r1, [r0]
mov r0, #5
lsl r0, r0, #0x10
add r0, r1, r0
str r0, [sp, #0x10]
add r0, sp, #8
add r1, r5, #0
add r1, #0x30
add r2, r0, #0
bl MTX_MultVec33
add r1, r5, #0
add r1, #0x84
add r0, sp, #8
add r2, r1, #0
bl VEC_Add
add r0, r5, #0
add r2, r5, #0
add r0, #0x80
add r2, #0x8c
ldr r0, [r0]
ldr r2, [r2]
asr r1, r0, #0x1f
asr r3, r2, #0x1f
bl _ll_mul
add r2, r5, #0
add r2, #0x84
str r0, [sp, #4]
ldr r2, [r2]
ldr r0, [r5, #0x78]
add r6, r1, #0
asr r1, r0, #0x1f
asr r3, r2, #0x1f
bl _ll_mul
str r0, [sp]
add r4, r1, #0
add r2, r5, #0
add r2, #0x88
ldr r0, [r5, #0x7c]
ldr r2, [r2]
asr r1, r0, #0x1f
asr r3, r2, #0x1f
bl _ll_mul
add r2, r1, #0
mov r3, #2
add r7, r0, #0
ldr r1, [sp, #4]
mov r0, #0
lsl r3, r3, #0xa
add r1, r1, r3
adc r6, r0
lsl r3, r6, #0x14
lsr r1, r1, #0xc
orr r1, r3
mov r3, #2
ldr r6, [sp]
lsl r3, r3, #0xa
add r3, r6, r3
adc r4, r0
lsl r4, r4, #0x14
lsr r3, r3, #0xc
orr r3, r4
mov r4, #2
lsl r4, r4, #0xa
add r4, r7, r4
adc r2, r0
lsl r0, r2, #0x14
lsr r2, r4, #0xc
orr r2, r0
add r0, r3, r2
add r1, r1, r0
add r0, r5, #0
add r0, #0x90
str r1, [r0]
add r0, r5, #0
add r1, r5, #0
add r5, #0xd8
add r0, #0x9c
add r1, #0x30
add r2, r5, #0
bl MTX_MultVec33
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0225DE84: .word FX_SinCosTable_
_0225DE88: .word ov91_02261C4C
thumb_func_end ov91_0225DD50
thumb_func_start ov91_0225DE8C
ov91_0225DE8C: ; 0x0225DE8C
push {r4, r5, r6, r7, lr}
sub sp, #0x34
add r4, r0, #0
ldrb r0, [r4]
add r6, r1, #0
add r7, r3, #0
mov r5, #0
cmp r0, #0
bne _0225DEA4
add sp, #0x34
add r0, r5, #0
pop {r4, r5, r6, r7, pc}
_0225DEA4:
add r0, sp, #0x28
str r0, [sp]
add r0, sp, #0xc
add r3, r4, #0
str r0, [sp, #4]
add r3, #0x90
add r1, r2, #0
add r2, r4, #0
ldr r3, [r3]
add r0, r6, #0
add r2, #0x78
bl ov91_02261208
add r0, r4, #0
add r0, #0x84
add r1, r6, #0
add r2, sp, #0x1c
bl VEC_Subtract
add r0, sp, #0x1c
bl VEC_Mag
add r6, r0, #0
ldr r0, [sp, #0xc]
cmp r0, #0
blt _0225DEFA
mov r1, #1
lsl r1, r1, #0xc
cmp r0, r1
bgt _0225DEFA
ldr r1, [r4, #8]
cmp r6, r1
bgt _0225DEF4
ldrb r1, [r4, #1]
cmp r1, #1
bne _0225DEF0
mov r5, #1
b _0225DEFA
_0225DEF0:
mov r5, #2
b _0225DEFA
_0225DEF4:
add sp, #0x34
mov r0, #2
pop {r4, r5, r6, r7, pc}
_0225DEFA:
cmp r0, #0
ble _0225DFAA
add r0, r4, #0
add r0, #0x94
ldr r0, [r0]
cmp r6, r0
bge _0225DFAA
add r2, r4, #0
add r2, #0x98
ldr r2, [r2]
sub r0, r0, r6
asr r1, r0, #0x1f
asr r3, r2, #0x1f
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r5, r2, #0xc
orr r5, r0
add r0, sp, #0x1c
add r1, sp, #0x10
bl VEC_Normalize
asr r0, r5, #0x1f
str r0, [sp, #8]
ldr r0, [sp, #0x10]
ldr r3, [sp, #8]
asr r1, r0, #0x1f
add r2, r5, #0
bl _ll_mul
add r2, r0, #0
mov r0, #2
mov r3, #0
lsl r0, r0, #0xa
add r0, r2, r0
adc r1, r3
lsl r1, r1, #0x14
lsr r0, r0, #0xc
orr r0, r1
str r0, [r7]
ldr r0, [sp, #0x14]
ldr r3, [sp, #8]
asr r1, r0, #0x1f
add r2, r5, #0
bl _ll_mul
add r2, r0, #0
mov r0, #2
mov r3, #0
lsl r0, r0, #0xa
add r0, r2, r0
adc r1, r3
lsl r1, r1, #0x14
lsr r0, r0, #0xc
orr r0, r1
str r0, [r7, #4]
ldr r0, [sp, #0x18]
ldr r3, [sp, #8]
asr r1, r0, #0x1f
add r2, r5, #0
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
str r1, [r7, #8]
ldr r0, [r4, #8]
sub r1, r6, r5
cmp r1, r0
bgt _0225DFA8
ldrb r0, [r4, #1]
cmp r0, #1
bne _0225DFA4
mov r5, #1
b _0225DFAA
_0225DFA4:
mov r5, #2
b _0225DFAA
_0225DFA8:
mov r5, #3
_0225DFAA:
add r0, r5, #0
add sp, #0x34
pop {r4, r5, r6, r7, pc}
thumb_func_end ov91_0225DE8C
thumb_func_start ov91_0225DFB0
ov91_0225DFB0: ; 0x0225DFB0
push {r3, r4, r5, r6, lr}
sub sp, #0x24
add r5, r0, #0
ldrb r0, [r5]
add r4, r1, #0
cmp r0, #0
bne _0225DFC4
add sp, #0x24
mov r0, #0
pop {r3, r4, r5, r6, pc}
_0225DFC4:
add r1, r5, #0
add r1, #0xdc
ldr r0, [r4, #4]
ldr r2, [r1]
cmp r2, r0
bge _0225E03C
add r1, r5, #0
add r1, #0xe4
ldr r1, [r1]
add r1, r2, r1
cmp r1, r0
ble _0225E03C
add r0, r5, #0
add r0, #0xd8
ldr r0, [r0]
mov r1, #0
str r0, [sp, #0xc]
add r0, r5, #0
add r0, #0xe0
ldr r0, [r0]
add r2, sp, #0x18
str r1, [sp, #0x10]
str r0, [sp, #0x14]
ldr r0, [r4]
str r0, [sp]
ldr r0, [r4, #8]
str r0, [sp, #8]
str r1, [sp, #4]
add r0, sp, #0xc
add r1, sp, #0
bl VEC_Subtract
add r0, sp, #0x18
bl VEC_Mag
add r6, r0, #0
add r0, r5, #0
add r0, #0xdc
ldr r1, [r4, #4]
ldr r0, [r0]
sub r0, r1, r0
asr r1, r0, #0xc
add r0, r5, #0
add r0, #0xd0
ldr r0, [r0]
mul r0, r1
add r1, r5, #0
add r1, #0xe4
ldr r1, [r1]
asr r1, r1, #0xc
bl _s32_div_f
add r5, #0xcc
ldr r1, [r5]
sub r0, r1, r0
cmp r6, r0
bge _0225E03C
add sp, #0x24
mov r0, #1
pop {r3, r4, r5, r6, pc}
_0225E03C:
mov r0, #0
add sp, #0x24
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov91_0225DFB0
thumb_func_start ov91_0225E044
ov91_0225E044: ; 0x0225E044
push {r4, lr}
add r4, r0, #0
mov r0, #0x5a
lsl r0, r0, #2
mul r0, r1
ldr r1, _0225E06C ; =0x0000FFFF
bl _s32_div_f
mov r1, #0x5a
sub r2, r1, r0
add r0, r4, #0
add r0, #0xac
ldr r0, [r0]
mul r0, r2
bl _s32_div_f
add r4, #0xb0
ldr r1, [r4]
add r0, r0, r1
pop {r4, pc}
.balign 4, 0
_0225E06C: .word 0x0000FFFF
thumb_func_end ov91_0225E044
thumb_func_start ov91_0225E070
ov91_0225E070: ; 0x0225E070
push {r4, lr}
add r4, r0, #0
mov r0, #0x5a
lsl r0, r0, #2
mul r0, r1
ldr r1, _0225E098 ; =0x0000FFFF
bl _s32_div_f
add r1, r4, #0
add r1, #0xc4
ldr r1, [r1]
mul r1, r0
add r0, r1, #0
mov r1, #0x5a
bl _s32_div_f
add r4, #0xc0
ldr r1, [r4]
add r0, r0, r1
pop {r4, pc}
.balign 4, 0
_0225E098: .word 0x0000FFFF
thumb_func_end ov91_0225E070
thumb_func_start ov91_0225E09C
ov91_0225E09C: ; 0x0225E09C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r0, #0xa8
mov r2, #0x1e
add r4, r1, #0
str r1, [r0]
asr r6, r1, #0x1f
add r0, r4, #0
add r1, r6, #0
lsl r2, r2, #0xc
mov r3, #0
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
add r0, r5, #0
add r0, #0xac
str r1, [r0]
mov r2, #0x32
add r0, r4, #0
add r1, r6, #0
lsl r2, r2, #0xc
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
add r0, r5, #0
add r0, #0xb0
str r1, [r0]
mov r2, #5
add r0, r4, #0
add r1, r6, #0
lsl r2, r2, #0x10
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r7, r2, #0xc
orr r7, r0
add r0, r5, #0
add r0, #0xb4
str r7, [r0]
add r0, r5, #0
add r0, #0xb8
mov r2, #0x37
str r3, [r0]
add r0, r4, #0
add r1, r6, #0
lsl r2, r2, #0xc
bl _ll_mul
add r2, r0, #0
mov r0, #2
mov r3, #0
lsl r0, r0, #0xa
add r0, r2, r0
adc r1, r3
mov r2, #0x96
lsl r1, r1, #0x14
lsr r0, r0, #0xc
orr r0, r1
add r1, r5, #0
add r1, #0xbc
str r0, [r1]
add r0, r4, #0
add r1, r6, #0
lsl r2, r2, #0xc
bl _ll_mul
add r2, r0, #0
mov r0, #2
mov r3, #0
lsl r0, r0, #0xa
add r0, r2, r0
adc r1, r3
mov r2, #0xf
lsl r1, r1, #0x14
lsr r0, r0, #0xc
orr r0, r1
add r1, r5, #0
add r1, #0xc0
str r0, [r1]
add r0, r4, #0
add r1, r6, #0
lsl r2, r2, #0xe
bl _ll_mul
add r2, r0, #0
mov r0, #2
mov r3, #0
lsl r0, r0, #0xa
add r0, r2, r0
adc r1, r3
mov r2, #0x1e
lsl r1, r1, #0x14
lsr r0, r0, #0xc
orr r0, r1
add r1, r5, #0
add r1, #0xc4
str r0, [r1]
add r0, r5, #0
add r0, #0xc8
str r7, [r0]
add r0, r4, #0
add r1, r6, #0
lsl r2, r2, #0xe
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
add r0, r5, #0
add r0, #0xcc
str r1, [r0]
add r0, r5, #0
add r0, #0xcc
ldr r1, [r0]
add r0, r5, #0
add r0, #0xc8
ldr r0, [r0]
mov r2, #6
sub r1, r1, r0
add r0, r5, #0
add r0, #0xd0
str r1, [r0]
add r0, r4, #0
add r1, r6, #0
lsl r2, r2, #0xa
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
add r5, #0xd4
str r1, [r5]
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov91_0225E09C
thumb_func_start ov91_0225E1E0
ov91_0225E1E0: ; 0x0225E1E0
strh r1, [r0, #6]
bx lr
thumb_func_end ov91_0225E1E0
thumb_func_start ov91_0225E1E4
ov91_0225E1E4: ; 0x0225E1E4
add r0, #0xa4
str r1, [r0]
bx lr
.balign 4, 0
thumb_func_end ov91_0225E1E4
thumb_func_start ov91_0225E1EC
ov91_0225E1EC: ; 0x0225E1EC
ldr r0, _0225E1F0 ; =0x00000E38
bx lr
.balign 4, 0
_0225E1F0: .word 0x00000E38
thumb_func_end ov91_0225E1EC
thumb_func_start ov91_0225E1F4
ov91_0225E1F4: ; 0x0225E1F4
ldr r0, _0225E1F8 ; =0x00003FFF
bx lr
.balign 4, 0
_0225E1F8: .word 0x00003FFF
thumb_func_end ov91_0225E1F4
thumb_func_start ov91_0225E1FC
ov91_0225E1FC: ; 0x0225E1FC
push {r3, lr}
ldr r0, _0225E22C ; =0x000002EE
sub r0, r1, r0
mov r1, #0x32
bl _u32_div_f
ldr r0, _0225E230 ; =0x0000638E
mul r0, r1
mov r1, #0x32
bl _s32_div_f
ldr r1, _0225E234 ; =0x000031C7
cmp r0, r1
ble _0225E220
bl _s32_div_f
ldr r0, _0225E234 ; =0x000031C7
sub r0, r0, r1
_0225E220:
ldr r1, _0225E238 ; =0x00000E38
add r0, r0, r1
lsl r0, r0, #0x10
lsr r0, r0, #0x10
pop {r3, pc}
nop
_0225E22C: .word 0x000002EE
_0225E230: .word 0x0000638E
_0225E234: .word 0x000031C7
_0225E238: .word 0x00000E38
thumb_func_end ov91_0225E1FC
thumb_func_start ov91_0225E23C
ov91_0225E23C: ; 0x0225E23C
push {r3, r4, r5, lr}
add r5, r0, #0
ldrh r0, [r5]
add r4, r1, #0
ldr r2, _0225E290 ; =0x0000028F
strh r0, [r4]
ldrh r0, [r5, #2]
mov r3, #0
strh r0, [r4, #2]
ldr r0, [r5, #4]
strh r0, [r4, #4]
ldr r0, [r5, #8]
strh r0, [r4, #6]
ldr r0, [r5, #0xc]
strh r0, [r4, #8]
ldr r0, [r5, #0x10]
asr r1, r0, #0x1f
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
strh r1, [r4, #0x10]
ldr r0, [r5, #0x14]
asr r0, r0, #0xc
strh r0, [r4, #0xa]
ldr r0, [r5, #0x18]
asr r0, r0, #0xc
strh r0, [r4, #0xc]
ldr r0, [r5, #0x1c]
asr r0, r0, #0xc
strh r0, [r4, #0xe]
ldr r0, [r5, #0x20]
strb r0, [r4, #0x12]
ldr r0, [r5, #0x24]
strb r0, [r4, #0x13]
pop {r3, r4, r5, pc}
.balign 4, 0
_0225E290: .word 0x0000028F
thumb_func_end ov91_0225E23C
thumb_func_start ov91_0225E294
ov91_0225E294: ; 0x0225E294
push {r3, r4, r5, lr}
add r5, r0, #0
ldrh r0, [r5]
add r4, r1, #0
ldr r1, _0225E2E0 ; =0x0000028F
strh r0, [r4]
ldrh r0, [r5, #2]
strh r0, [r4, #2]
mov r0, #4
ldrsh r0, [r5, r0]
str r0, [r4, #4]
mov r0, #6
ldrsh r0, [r5, r0]
str r0, [r4, #8]
mov r0, #8
ldrsh r0, [r5, r0]
str r0, [r4, #0xc]
mov r0, #0x10
ldrsh r0, [r5, r0]
bl FX_Div
str r0, [r4, #0x10]
mov r0, #0xa
ldrsh r0, [r5, r0]
lsl r0, r0, #0xc
str r0, [r4, #0x14]
mov r0, #0xc
ldrsh r0, [r5, r0]
lsl r0, r0, #0xc
str r0, [r4, #0x18]
mov r0, #0xe
ldrsh r0, [r5, r0]
lsl r0, r0, #0xc
str r0, [r4, #0x1c]
ldrb r0, [r5, #0x13]
str r0, [r4, #0x24]
pop {r3, r4, r5, pc}
nop
_0225E2E0: .word 0x0000028F
thumb_func_end ov91_0225E294
thumb_func_start ov91_0225E2E4
ov91_0225E2E4: ; 0x0225E2E4
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r0, #0
add r6, r1, #0
str r2, [sp]
mov r1, #0
add r2, r4, #0
_0225E2F2:
add r0, r2, #0
add r0, #0x4c
ldrb r0, [r0]
cmp r0, #0
bne _0225E34C
mov r0, #0x44
add r5, r1, #0
mul r5, r0
add r3, r4, r5
add r7, r6, #0
add r3, #0x50
mov r2, #5
_0225E30A:
ldmia r7!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0225E30A
add r1, r4, r5
ldr r0, [sp]
add r1, #0x4c
add r2, r4, r5
add r6, #0x14
strb r0, [r1]
ldmia r6!, {r0, r1}
add r2, #0x78
stmia r2!, {r0, r1}
ldr r0, [r6]
mov r1, #0
str r0, [r2]
add r0, r4, r5
add r0, #0x4e
strh r1, [r0]
add r0, r4, r5
add r0, #0x88
str r1, [r0]
ldr r0, _0225E3F0 ; =0x00001AB4
add r1, r4, #0
add r1, #0x4c
ldr r2, [r4, #0x10]
ldr r3, [r4, #0x14]
add r0, r4, r0
add r1, r1, r5
bl ov91_02260728
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0225E34C:
add r1, r1, #1
add r2, #0x44
cmp r1, #0x60
blt _0225E2F2
ldr r0, [sp]
cmp r0, #1
bne _0225E3EA
mov r0, #0
add r2, r4, #0
_0225E35E:
add r1, r2, #0
add r1, #0x4c
ldrb r1, [r1]
cmp r1, #2
beq _0225E36C
cmp r1, #5
bne _0225E3DE
_0225E36C:
add r5, r0, #0
add r0, r4, #0
str r0, [sp, #8]
add r0, #0x4c
mov r1, #0x44
str r0, [sp, #8]
mul r5, r1
ldr r0, _0225E3F0 ; =0x00001AB4
ldr r1, [sp, #8]
add r0, r4, r0
add r1, r1, r5
bl ov91_02260754
add r0, r4, #0
str r0, [sp, #4]
add r0, #0x4c
str r0, [sp, #4]
add r0, r0, r5
bl ov91_0225E400
add r2, r4, r5
mov ip, r6
add r2, #0x50
mov r7, #5
_0225E39C:
mov r3, ip
ldmia r3!, {r0, r1}
mov ip, r3
stmia r2!, {r0, r1}
sub r7, r7, #1
bne _0225E39C
ldr r1, [sp]
ldr r0, [sp, #4]
add r2, r4, r5
add r6, #0x14
strb r1, [r0, r5]
ldmia r6!, {r0, r1}
add r2, #0x78
stmia r2!, {r0, r1}
ldr r0, [r6]
mov r1, #0
str r0, [r2]
add r0, r4, r5
add r0, #0x4e
strh r1, [r0]
add r0, r4, r5
add r0, #0x88
str r1, [r0]
ldr r0, _0225E3F0 ; =0x00001AB4
ldr r1, [sp, #8]
ldr r2, [r4, #0x10]
ldr r3, [r4, #0x14]
add r0, r4, r0
add r1, r1, r5
bl ov91_02260728
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0225E3DE:
add r0, r0, #1
add r2, #0x44
cmp r0, #0x60
blt _0225E35E
bl GF_AssertFail
_0225E3EA:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_0225E3F0: .word 0x00001AB4
thumb_func_end ov91_0225E2E4
thumb_func_start ov91_0225E3F4
ov91_0225E3F4: ; 0x0225E3F4
mov r0, #1
strb r0, [r1, #1]
strh r2, [r1, #6]
str r3, [r1, #0x24]
bx lr
.balign 4, 0
thumb_func_end ov91_0225E3F4
thumb_func_start ov91_0225E400
ov91_0225E400: ; 0x0225E400
ldr r3, _0225E408 ; =memset
mov r1, #0
mov r2, #0x44
bx r3
.balign 4, 0
_0225E408: .word memset
thumb_func_end ov91_0225E400
thumb_func_start ov91_0225E40C
ov91_0225E40C: ; 0x0225E40C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r5, #0
mov r7, #0
add r6, r5, #0
add r4, #0x4c
_0225E418:
add r0, r6, #0
add r0, #0x4c
ldrb r0, [r0]
add r1, r0, #0
add r1, #0xff
lsl r1, r1, #0x18
lsr r1, r1, #0x18
cmp r1, #1
bhi _0225E434
add r0, r5, #0
add r1, r4, #0
bl ov91_0225E45C
b _0225E44E
_0225E434:
cmp r0, #5
bne _0225E442
add r0, r4, #0
add r1, r5, #0
bl ov91_0225E8BC
b _0225E44E
_0225E442:
cmp r0, #3
bne _0225E44E
add r0, r4, #0
add r1, r5, #0
bl ov91_0225E9F4
_0225E44E:
add r7, r7, #1
add r6, #0x44
add r4, #0x44
cmp r7, #0x60
blt _0225E418
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov91_0225E40C
thumb_func_start ov91_0225E45C
ov91_0225E45C: ; 0x0225E45C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r4, r1, #0
ldrb r7, [r4]
add r5, r0, #0
cmp r7, #1
beq _0225E470
cmp r7, #2
beq _0225E470
b _0225E5FA
_0225E470:
ldr r0, [r4, #0x30]
add r1, sp, #0x14
str r0, [sp, #4]
add r0, r4, #0
bl ov91_0225E728
ldrb r0, [r4]
cmp r0, #1
bne _0225E496
ldr r0, _0225E600 ; =0x000019CC
add r1, r4, #0
add r0, r5, r0
add r1, #0x2c
add r2, sp, #0x14
add r3, sp, #8
bl ov91_0225DE8C
add r6, r0, #0
b _0225E498
_0225E496:
mov r6, #0
_0225E498:
add r0, r4, #0
add r1, sp, #0x14
bl ov91_0225EA54
cmp r6, #3
beq _0225E4A8
cmp r6, #1
bne _0225E4B0
_0225E4A8:
add r0, r4, #0
add r1, sp, #8
bl ov91_0225EA54
_0225E4B0:
ldrh r0, [r4, #2]
add r0, r0, #1
strh r0, [r4, #2]
cmp r6, #1
bne _0225E544
add r0, r5, #0
bl ov91_0225D600
ldr r1, [r5, #0x18]
add r1, r1, r0
ldr r0, _0225E604 ; =0x0001869F
str r1, [r5, #0x18]
cmp r1, r0
ble _0225E4CE
str r0, [r5, #0x18]
_0225E4CE:
ldr r0, [r5, #0x1c]
cmp r0, #0
beq _0225E4DA
cmp r0, #1
beq _0225E4E8
b _0225E4F6
_0225E4DA:
ldr r0, _0225E608 ; =0x00000582
bl PlaySE
ldr r0, _0225E60C ; =0x00000583
bl PlaySE
b _0225E502
_0225E4E8:
ldr r0, _0225E608 ; =0x00000582
bl PlaySE
ldr r0, _0225E610 ; =0x00000584
bl PlaySE
b _0225E502
_0225E4F6:
ldr r0, _0225E608 ; =0x00000582
bl PlaySE
ldr r0, _0225E614 ; =0x00000585
bl PlaySE
_0225E502:
add r0, r4, #0
add r1, r5, #0
bl ov91_0225E9E4
ldr r0, _0225E618 ; =0x00001E38
ldr r1, [r5, #0x14]
ldr r2, [r5, #0x1c]
ldr r3, [r5]
add r0, r5, r0
bl ov91_0225D694
ldr r0, [r5, #0x1c]
cmp r0, #0x63
bge _0225E522
add r0, r0, #1
str r0, [r5, #0x1c]
_0225E522:
ldr r2, [r5, #0x1c]
ldr r0, _0225E61C ; =0x0000862C
cmp r2, #3
ldr r1, _0225E620 ; =0x00001AB4
bne _0225E538
add r0, r5, r0
add r1, r5, r1
bl ov91_02261808
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
_0225E538:
add r0, r5, r0
add r1, r5, r1
bl ov91_022618B0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
_0225E544:
ldr r0, _0225E600 ; =0x000019CC
add r1, r4, #0
add r0, r5, r0
add r1, #0x2c
mov r6, #0
bl ov91_0225DFB0
cmp r0, #1
bne _0225E56E
mov r6, #1
cmp r7, #1
bne _0225E562
ldr r0, _0225E624 ; =0x00000722
bl PlaySE
_0225E562:
add r0, r4, #0
add r1, r5, #0
mov r2, #1
bl ov91_0225E7C4
b _0225E5E6
_0225E56E:
ldr r1, [r4, #0x30]
ldr r0, _0225E628 ; =0xFFFCE000
cmp r1, r0
bgt _0225E5BE
add r0, r4, #0
bl ov91_0225E990
cmp r0, #0
bne _0225E5A4
ldr r1, _0225E628 ; =0xFFFCE000
ldr r0, [sp, #4]
mov r6, #1
cmp r0, r1
bgt _0225E598
ldr r3, [r5, #0x1c]
add r0, r5, #0
add r1, r4, #0
mov r2, #0
bl ov91_0225E3F4
b _0225E5E6
_0225E598:
add r0, r4, #0
add r1, r5, #0
mov r2, #0
bl ov91_0225E7C4
b _0225E5E6
_0225E5A4:
mov r0, #1
ldr r1, [r4, #0x30]
lsl r0, r0, #0xa
cmp r1, r0
bgt _0225E5E6
ldr r3, [r5, #0x1c]
add r0, r5, #0
add r1, r4, #0
mov r2, #0
mov r6, #1
bl ov91_0225E3F4
b _0225E5E6
_0225E5BE:
add r0, r4, #0
bl ov91_0225E9C0
cmp r0, #1
bne _0225E5E6
add r0, r4, #0
add r0, #0x2c
mov r6, #1
add r1, sp, #0x14
add r2, r0, #0
bl VEC_Subtract
mov r0, #0
add r2, r6, #0
str r0, [sp]
add r0, r4, #0
add r1, r5, #0
lsl r3, r2, #0xa
bl ov91_0225E7E8
_0225E5E6:
cmp r6, #1
bne _0225E5FA
cmp r7, #1
bne _0225E5FA
mov r0, #0
str r0, [r5, #0x1c]
ldr r0, _0225E61C ; =0x0000862C
add r0, r5, r0
bl ov91_02261890
_0225E5FA:
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
nop
_0225E600: .word 0x000019CC
_0225E604: .word 0x0001869F
_0225E608: .word 0x00000582
_0225E60C: .word 0x00000583
_0225E610: .word 0x00000584
_0225E614: .word 0x00000585
_0225E618: .word 0x00001E38
_0225E61C: .word 0x0000862C
_0225E620: .word 0x00001AB4
_0225E624: .word 0x00000722
_0225E628: .word 0xFFFCE000
thumb_func_end ov91_0225E45C
thumb_func_start ov91_0225E62C
ov91_0225E62C: ; 0x0225E62C
push {r4, r5, r6, lr}
add r6, r0, #0
add r5, r6, #0
mov r4, #0
add r5, #0x4c
_0225E636:
add r0, r5, #0
add r1, r6, #0
bl ov91_0225E67C
add r4, r4, #1
add r5, #0x44
cmp r4, #0x60
blt _0225E636
pop {r4, r5, r6, pc}
thumb_func_end ov91_0225E62C
thumb_func_start ov91_0225E648
ov91_0225E648: ; 0x0225E648
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
add r5, r7, #0
mov r6, #0
add r4, r7, #0
add r5, #0x4c
_0225E654:
add r0, r4, #0
add r0, #0x4d
ldrb r0, [r0]
cmp r0, #1
bne _0225E666
add r1, r4, #0
add r1, #0x4c
mov r0, #2
strb r0, [r1]
_0225E666:
add r0, r5, #0
add r1, r7, #0
bl ov91_0225E67C
add r6, r6, #1
add r4, #0x44
add r5, #0x44
cmp r6, #0x60
blt _0225E654
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov91_0225E648
thumb_func_start ov91_0225E67C
ov91_0225E67C: ; 0x0225E67C
push {r3, r4, r5, lr}
add r5, r0, #0
ldrb r0, [r5, #1]
add r4, r1, #0
cmp r0, #0
beq _0225E6AA
ldrb r0, [r5]
cmp r0, #3
bne _0225E69A
ldrh r0, [r5, #6]
cmp r0, #1
bne _0225E69A
mov r0, #4
strb r0, [r5]
b _0225E6A0
_0225E69A:
add r0, r5, #0
bl ov91_0225E400
_0225E6A0:
ldr r0, _0225E6AC ; =0x00001AB4
add r1, r5, #0
add r0, r4, r0
bl ov91_02260754
_0225E6AA:
pop {r3, r4, r5, pc}
.balign 4, 0
_0225E6AC: .word 0x00001AB4
thumb_func_end ov91_0225E67C
thumb_func_start ov91_0225E6B0
ov91_0225E6B0: ; 0x0225E6B0
mov r3, #0
mov r2, #2
_0225E6B4:
add r1, r0, #0
add r1, #0x4c
ldrb r1, [r1]
cmp r1, #1
bne _0225E6C4
add r1, r0, #0
add r1, #0x4c
strb r2, [r1]
_0225E6C4:
add r3, r3, #1
add r0, #0x44
cmp r3, #0x60
blt _0225E6B4
bx lr
.balign 4, 0
thumb_func_end ov91_0225E6B0
thumb_func_start ov91_0225E6D0
ov91_0225E6D0: ; 0x0225E6D0
mov r2, #0
_0225E6D2:
add r1, r0, #0
add r1, #0x4c
ldrb r1, [r1]
cmp r1, #1
beq _0225E6E8
cmp r1, #2
beq _0225E6E8
cmp r1, #5
beq _0225E6E8
cmp r1, #3
bne _0225E6EC
_0225E6E8:
mov r0, #1
bx lr
_0225E6EC:
add r2, r2, #1
add r0, #0x44
cmp r2, #0x60
blt _0225E6D2
mov r0, #0
bx lr
thumb_func_end ov91_0225E6D0
thumb_func_start ov91_0225E6F8
ov91_0225E6F8: ; 0x0225E6F8
push {r4, lr}
add r4, r0, #0
ldrh r0, [r4, #2]
mov r2, #0x67
lsl r2, r2, #4
lsl r0, r0, #0xc
asr r1, r0, #0x1f
mov r3, #0
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
ldr r4, [r4, #0x14]
orr r1, r0
sub r0, r4, r1
bpl _0225E724
add r0, r3, #0
_0225E724:
pop {r4, pc}
.balign 4, 0
thumb_func_end ov91_0225E6F8
thumb_func_start ov91_0225E728
ov91_0225E728: ; 0x0225E728
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r1, #0
bl ov91_0225E6F8
add r7, r0, #0
ldr r0, [r5, #8]
asr r6, r7, #0x1f
asr r1, r0, #0x1f
add r2, r7, #0
add r3, r6, #0
bl _ll_mul
add r2, r0, #0
mov r0, #2
mov r3, #0
lsl r0, r0, #0xa
add r0, r2, r0
adc r1, r3
lsl r1, r1, #0x14
lsr r0, r0, #0xc
orr r0, r1
str r0, [r4]
ldr r0, [r5, #0xc]
add r2, r7, #0
asr r1, r0, #0x1f
add r3, r6, #0
bl _ll_mul
add r2, r0, #0
mov r0, #2
mov r3, #0
lsl r0, r0, #0xa
add r0, r2, r0
adc r1, r3
ldr r2, _0225E7BC ; =0xFFFFECCC
lsl r1, r1, #0x14
lsr r0, r0, #0xc
orr r0, r1
str r0, [r4, #4]
ldrh r0, [r5, #2]
asr r3, r2, #0xd
lsl r0, r0, #0xc
asr r1, r0, #0x1f
bl _ll_mul
mov r3, #2
add r2, r0, #0
lsl r3, r3, #0xa
add r3, r2, r3
ldr r2, _0225E7C0 ; =0x00000000
ldr r0, [r4, #4]
adc r1, r2
lsr r2, r3, #0xc
lsl r1, r1, #0x14
orr r2, r1
add r0, r0, r2
str r0, [r4, #4]
ldr r0, [r5, #0x10]
add r2, r7, #0
asr r1, r0, #0x1f
add r3, r6, #0
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
str r1, [r4, #8]
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0225E7BC: .word 0xFFFFECCC
_0225E7C0: .word 0x00000000
thumb_func_end ov91_0225E728
thumb_func_start ov91_0225E7C4
ov91_0225E7C4: ; 0x0225E7C4
push {r3, r4, lr}
sub sp, #4
cmp r2, #1
bne _0225E7D0
ldr r3, _0225E7E0 ; =0x00000D9A
b _0225E7D2
_0225E7D0:
ldr r3, _0225E7E4 ; =0x00000CCD
_0225E7D2:
mov r4, #1
str r4, [sp]
bl ov91_0225E7E8
add sp, #4
pop {r3, r4, pc}
nop
_0225E7E0: .word 0x00000D9A
_0225E7E4: .word 0x00000CCD
thumb_func_end ov91_0225E7C4
thumb_func_start ov91_0225E7E8
ov91_0225E7E8: ; 0x0225E7E8
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
add r4, r3, #0
cmp r2, #0
beq _0225E87E
ldr r0, [r5, #8]
neg r0, r0
str r0, [r5, #8]
ldr r0, [r5, #0x10]
neg r0, r0
str r0, [r5, #0x10]
ldr r0, [sp, #0x20]
cmp r0, #0
beq _0225E87E
bl MTRandom
ldr r2, [r5, #0x10]
add r1, r0, #0
cmp r2, #0
bge _0225E816
neg r0, r2
b _0225E818
_0225E816:
add r0, r2, #0
_0225E818:
ldr r3, [r5, #8]
cmp r3, #0
bge _0225E822
neg r6, r3
b _0225E824
_0225E822:
add r6, r3, #0
_0225E824:
cmp r6, r0
bgt _0225E854
asr r0, r2, #0x1f
lsr r3, r2, #0x14
lsl r0, r0, #0xc
lsl r6, r2, #0xc
mov r2, #2
orr r0, r3
mov r3, #0
lsl r2, r2, #0xa
add r2, r6, r2
adc r0, r3
lsl r0, r0, #0x14
lsr r2, r2, #0xc
orr r2, r0
mov r0, #1
and r0, r1
cmp r0, #1
bne _0225E850
neg r0, r2
str r0, [r5, #8]
b _0225E87E
_0225E850:
str r2, [r5, #8]
b _0225E87E
_0225E854:
asr r0, r3, #0x1f
lsr r2, r3, #0x14
lsl r0, r0, #0xc
orr r0, r2
mov r2, #2
lsl r6, r3, #0xc
mov r3, #0
lsl r2, r2, #0xa
add r2, r6, r2
adc r0, r3
lsl r0, r0, #0x14
lsr r2, r2, #0xc
orr r2, r0
mov r0, #1
and r0, r1
cmp r0, #1
bne _0225E87C
neg r0, r2
str r0, [r5, #0x10]
b _0225E87E
_0225E87C:
str r2, [r5, #0x10]
_0225E87E:
ldr r0, [r5, #0x14]
asr r3, r4, #0x1f
asr r1, r0, #0x1f
add r2, r4, #0
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
str r1, [r5, #0x14]
strh r3, [r5, #2]
mov r0, #5
strb r0, [r5]
add r0, r5, #0
add r1, sp, #0
bl ov91_0225E728
add r0, r5, #0
add r1, sp, #0
bl ov91_0225EA54
ldrh r0, [r5, #2]
add r0, r0, #1
strh r0, [r5, #2]
add sp, #0xc
pop {r3, r4, r5, r6, pc}
thumb_func_end ov91_0225E7E8
thumb_func_start ov91_0225E8BC
ov91_0225E8BC: ; 0x0225E8BC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
add r4, r1, #0
ldrb r1, [r5]
mov r6, #0
cmp r1, #5
bne _0225E980
add r1, sp, #4
ldr r7, [r5, #0x30]
bl ov91_0225E728
add r0, r5, #0
add r1, sp, #4
bl ov91_0225EA54
ldrh r0, [r5, #2]
add r1, r5, #0
add r1, #0x2c
add r0, r0, #1
strh r0, [r5, #2]
ldr r0, _0225E984 ; =0x000019CC
add r0, r4, r0
bl ov91_0225DFB0
cmp r0, #1
bne _0225E8FE
add r0, r5, #0
add r1, r4, #0
mov r2, #1
bl ov91_0225E7C4
b _0225E964
_0225E8FE:
ldr r1, [r5, #0x30]
ldr r0, _0225E988 ; =0xFFFCE000
cmp r1, r0
bgt _0225E93E
add r0, r5, #0
bl ov91_0225E990
cmp r0, #0
bne _0225E926
ldr r0, _0225E988 ; =0xFFFCE000
cmp r7, r0
bgt _0225E91A
mov r6, #1
b _0225E930
_0225E91A:
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl ov91_0225E7C4
b _0225E930
_0225E926:
ldr r1, [r5, #0x30]
ldr r0, _0225E98C ; =0xFFF9C000
cmp r1, r0
bgt _0225E930
mov r6, #1
_0225E930:
mov r0, #2
ldr r1, [r5, #0x14]
lsl r0, r0, #0xc
cmp r1, r0
bgt _0225E964
mov r6, #1
b _0225E964
_0225E93E:
add r0, r5, #0
bl ov91_0225E9C0
cmp r0, #1
bne _0225E964
add r0, r5, #0
add r0, #0x2c
add r1, sp, #4
add r2, r0, #0
bl VEC_Subtract
add r0, r6, #0
mov r2, #1
str r0, [sp]
add r0, r5, #0
add r1, r4, #0
lsl r3, r2, #0xa
bl ov91_0225E7E8
_0225E964:
mov r0, #1
ldr r1, [r5, #0x14]
lsl r0, r0, #0xc
cmp r1, r0
bgt _0225E970
mov r6, #1
_0225E970:
cmp r6, #1
bne _0225E980
ldr r3, [r4, #0x1c]
add r0, r4, #0
add r1, r5, #0
mov r2, #0
bl ov91_0225E3F4
_0225E980:
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0225E984: .word 0x000019CC
_0225E988: .word 0xFFFCE000
_0225E98C: .word 0xFFF9C000
thumb_func_end ov91_0225E8BC
thumb_func_start ov91_0225E990
ov91_0225E990: ; 0x0225E990
ldr r1, [r0, #0x40]
mov r0, #0x2f
lsl r0, r0, #0xe
cmp r1, r0
blt _0225E9A6
mov r0, #0xf
lsl r0, r0, #0x10
cmp r1, r0
bgt _0225E9A6
mov r0, #1
bx lr
_0225E9A6:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end ov91_0225E990
thumb_func_start ov91_0225E9AC
ov91_0225E9AC: ; 0x0225E9AC
ldr r1, [r0, #0x40]
mov r0, #0x1e
lsl r0, r0, #0xe
cmp r1, r0
bgt _0225E9BA
mov r0, #1
bx lr
_0225E9BA:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end ov91_0225E9AC
thumb_func_start ov91_0225E9C0
ov91_0225E9C0: ; 0x0225E9C0
mov r1, #0xf
ldr r2, [r0, #0x40]
lsl r1, r1, #0x10
cmp r2, r1
blt _0225E9D4
ldr r0, [r0, #0x3c]
cmp r0, #1
bne _0225E9DE
mov r0, #1
bx lr
_0225E9D4:
ldr r1, [r0, #0x3c]
cmp r1, #0
bne _0225E9DE
mov r1, #1
str r1, [r0, #0x3c]
_0225E9DE:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end ov91_0225E9C0
thumb_func_start ov91_0225E9E4
ov91_0225E9E4: ; 0x0225E9E4
mov r2, #3
strb r2, [r0]
mov r2, #8
strh r2, [r0, #0x38]
ldr r1, [r1, #0x1c]
strh r1, [r0, #0x3a]
bx lr
.balign 4, 0
thumb_func_end ov91_0225E9E4
thumb_func_start ov91_0225E9F4
ov91_0225E9F4: ; 0x0225E9F4
push {r4, r5, r6, lr}
sub sp, #0x18
add r6, r1, #0
add r1, sp, #0xc
add r5, r0, #0
bl ov91_0225E728
ldr r0, _0225EA50 ; =0x000019CC
add r1, r5, #0
add r0, r6, r0
add r1, #0x2c
add r2, sp, #0xc
add r3, sp, #0
bl ov91_0225DE8C
add r4, r0, #0
add r0, r5, #0
add r1, sp, #0xc
bl ov91_0225EA54
cmp r4, #3
beq _0225EA24
cmp r4, #1
bne _0225EA2C
_0225EA24:
add r0, r5, #0
add r1, sp, #0
bl ov91_0225EA54
_0225EA2C:
ldrh r0, [r5, #2]
add r0, r0, #1
strh r0, [r5, #2]
mov r0, #0x38
ldrsh r1, [r5, r0]
sub r1, r1, #1
strh r1, [r5, #0x38]
ldrsh r0, [r5, r0]
cmp r0, #0
bgt _0225EA4C
ldrh r3, [r5, #0x3a]
add r0, r6, #0
add r1, r5, #0
mov r2, #1
bl ov91_0225E3F4
_0225EA4C:
add sp, #0x18
pop {r4, r5, r6, pc}
.balign 4, 0
_0225EA50: .word 0x000019CC
thumb_func_end ov91_0225E9F4
thumb_func_start ov91_0225EA54
ov91_0225EA54: ; 0x0225EA54
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
add r0, #0x2c
add r2, r0, #0
bl VEC_Add
mov r0, #0
str r0, [sp, #4]
ldr r0, [r4, #0x2c]
str r0, [sp]
ldr r0, [r4, #0x34]
str r0, [sp, #8]
add r0, sp, #0
bl VEC_Mag
str r0, [r4, #0x40]
add sp, #0xc
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov91_0225EA54
thumb_func_start ov91_0225EA7C
ov91_0225EA7C: ; 0x0225EA7C
push {r3, lr}
ldr r1, _0225EA94 ; =gSystem + 0x40
ldrh r1, [r1, #0x26]
cmp r1, #0
bne _0225EA8C
bl ov91_0225EA98
pop {r3, pc}
_0225EA8C:
bl ov91_0225EC7C
pop {r3, pc}
nop
_0225EA94: .word gSystem + 0x40
thumb_func_end ov91_0225EA7C
thumb_func_start ov91_0225EA98
ov91_0225EA98: ; 0x0225EA98
push {r4, r5, r6, lr}
sub sp, #0x30
add r5, r0, #0
ldr r0, [r5, #0x20]
mov r4, #0
cmp r0, #0
bne _0225EAB0
ldr r0, [r5, #0x48]
add sp, #0x30
add r0, r0, #1
str r0, [r5, #0x48]
pop {r4, r5, r6, pc}
_0225EAB0:
add r0, r5, #0
add r0, #0x20
add r1, sp, #4
bl ov91_0225EE48
cmp r0, #0
bne _0225EAC2
bl GF_AssertFail
_0225EAC2:
add r0, r5, #0
add r0, #0x20
add r1, sp, #0
bl ov91_0225EE64
cmp r0, #0
bne _0225EAD4
bl GF_AssertFail
_0225EAD4:
add r0, r5, #0
add r0, #0x20
bl ov91_0225EE88
add r6, r0, #0
cmp r6, #2
bge _0225EAE4
b _0225EC44
_0225EAE4:
ldr r0, [r5, #0x14]
add r1, sp, #0
strh r0, [r1, #8]
mov r3, #0
strh r3, [r1, #0xa]
mov r0, #4
ldrsh r2, [r1, r0]
ldrsh r0, [r1, r3]
add r1, r6, #0
sub r0, r2, r0
bl _s32_div_f
lsl r0, r0, #0x10
asr r0, r0, #4
str r0, [sp, #0xc]
add r1, sp, #0
mov r0, #6
ldrsh r2, [r1, r0]
mov r0, #2
ldrsh r0, [r1, r0]
add r1, r6, #0
sub r0, r2, r0
bl _s32_div_f
lsl r0, r0, #0x10
asr r0, r0, #4
str r0, [sp, #0x14]
mov r0, #0
str r0, [sp, #0x10]
add r0, sp, #0xc
bl VEC_Mag
mov r1, #2
lsl r1, r1, #0xe
cmp r0, r1
bge _0225EB74
cmp r0, #0
beq _0225EB70
add r0, sp, #0xc
add r1, r0, #0
bl VEC_Normalize
ldr r3, [sp, #0xc]
asr r1, r3, #0x1f
lsr r0, r3, #0x11
lsl r2, r1, #0xf
orr r2, r0
mov r0, #2
lsl r3, r3, #0xf
mov r1, #0
lsl r0, r0, #0xa
add r3, r3, r0
adc r2, r1
lsl r2, r2, #0x14
lsr r3, r3, #0xc
orr r3, r2
ldr r2, [sp, #0x14]
str r3, [sp, #0xc]
asr r3, r2, #0x1f
lsr r6, r2, #0x11
lsl r3, r3, #0xf
orr r3, r6
lsl r2, r2, #0xf
add r2, r2, r0
adc r3, r1
lsl r0, r3, #0x14
lsr r1, r2, #0xc
orr r1, r0
str r1, [sp, #0x14]
b _0225EBBC
_0225EB70:
mov r4, #1
b _0225EBBC
_0225EB74:
ldr r1, _0225EC6C ; =0x0001E200
cmp r0, r1
ble _0225EBBC
add r0, sp, #0xc
add r1, r0, #0
bl VEC_Normalize
ldr r0, [sp, #0xc]
ldr r2, _0225EC6C ; =0x0001E200
asr r1, r0, #0x1f
mov r3, #0
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
ldr r0, [sp, #0x14]
str r1, [sp, #0xc]
ldr r2, _0225EC6C ; =0x0001E200
asr r1, r0, #0x1f
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
str r1, [sp, #0x14]
_0225EBBC:
cmp r4, #0
bne _0225EC46
mov r0, #0x26
lsl r0, r0, #0xc
str r0, [sp, #0x10]
add r0, sp, #0xc
bl VEC_Mag
ldr r2, _0225EC70 ; =0x0000099A
asr r1, r0, #0x1f
mov r3, #0
str r0, [sp, #0x18]
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
add r0, sp, #0xc
str r1, [sp, #0x18]
add r1, r0, #0
bl VEC_Normalize
add r2, sp, #0
mov r0, #0
mov r1, #2
ldrsh r0, [r2, r0]
ldrsh r1, [r2, r1]
add r2, sp, #0x1c
bl ov91_02260400
mov r0, #0
str r0, [sp, #0x20]
add r2, sp, #0
add r0, sp, #0x1c
ldrh r2, [r2, #8]
ldr r3, [r5, #0x10]
add r1, r0, #0
bl ov91_0226045C
add r2, sp, #0
add r0, sp, #0xc
ldrh r2, [r2, #8]
ldr r3, [r5, #0x10]
add r1, r0, #0
bl ov91_0226045C
ldr r0, [r5, #0x1c]
cmp r0, #5
blt _0225EC2E
mov r0, #1
str r0, [sp, #0x2c]
b _0225EC32
_0225EC2E:
mov r0, #0
str r0, [sp, #0x2c]
_0225EC32:
add r0, r5, #0
add r1, sp, #8
mov r2, #1
bl ov91_0225E2E4
ldr r0, _0225EC74 ; =0x0000064F
bl PlaySE
b _0225EC46
_0225EC44:
mov r4, #1
_0225EC46:
cmp r4, #1
bne _0225EC5C
add r3, sp, #0
mov r1, #0
mov r2, #2
ldr r0, _0225EC78 ; =0x0000854C
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
add r0, r5, r0
bl ov91_02260E88
_0225EC5C:
add r0, r5, #0
bl ov91_0225EE9C
mov r0, #0
str r0, [r5, #0x48]
add sp, #0x30
pop {r4, r5, r6, pc}
nop
_0225EC6C: .word 0x0001E200
_0225EC70: .word 0x0000099A
_0225EC74: .word 0x0000064F
_0225EC78: .word 0x0000854C
thumb_func_end ov91_0225EA98
thumb_func_start ov91_0225EC7C
ov91_0225EC7C: ; 0x0225EC7C
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldr r1, [r4, #0x20]
cmp r1, #0
bne _0225ECA4
bl ov91_0225ED6C
cmp r0, #1
bne _0225ECA4
mov r0, #1
str r0, [r4, #0x20]
ldr r0, _0225ED5C ; =0x00008544
add r0, r4, r0
bl ov91_02260CB4
ldr r0, _0225ED60 ; =0x000021A8
add r0, r4, r0
bl ov91_022614D4
_0225ECA4:
ldr r0, [r4, #0x20]
cmp r0, #1
bne _0225ED56
ldr r1, _0225ED64 ; =0x000086EC
ldrh r0, [r4, r1]
cmp r0, #1
bne _0225ECDA
add r0, r1, #2
ldrh r0, [r4, r0]
add r2, sp, #0
mov r3, sp
strh r0, [r2]
add r0, r1, #4
ldrh r0, [r4, r0]
sub r3, r3, #4
add r4, #0x20
strh r0, [r2, #2]
ldrh r1, [r2]
add r0, r4, #0
strh r1, [r3]
ldrh r1, [r2, #2]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov91_0225EDC8
add sp, #4
pop {r3, r4, pc}
_0225ECDA:
cmp r0, #2
blo _0225ED34
add r0, r1, #2
ldrh r0, [r4, r0]
add r2, sp, #0
mov r3, sp
strh r0, [r2]
add r0, r1, #4
ldrh r0, [r4, r0]
sub r3, r3, #4
strh r0, [r2, #2]
ldrh r1, [r2]
add r0, r4, #0
add r0, #0x20
strh r1, [r3]
ldrh r1, [r2, #2]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov91_0225EDC8
ldr r0, _0225ED64 ; =0x000086EC
ldrh r1, [r4, r0]
sub r1, r1, #1
lsl r1, r1, #3
add r3, r4, r1
add r1, r0, #2
ldrh r2, [r3, r1]
add r1, sp, #0
add r0, r0, #4
strh r2, [r1]
ldrh r0, [r3, r0]
mov r3, sp
sub r3, r3, #4
strh r0, [r1, #2]
ldrh r2, [r1]
add r4, #0x20
add r0, r4, #0
strh r2, [r3]
ldrh r1, [r1, #2]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov91_0225EDC8
add sp, #4
pop {r3, r4, pc}
_0225ED34:
ldr r0, _0225ED68 ; =gSystem + 0x40
mov r3, sp
ldrh r2, [r0, #0x20]
add r1, sp, #0
sub r3, r3, #4
strh r2, [r1]
ldrh r0, [r0, #0x22]
add r4, #0x20
strh r0, [r1, #2]
ldrh r2, [r1]
add r0, r4, #0
strh r2, [r3]
ldrh r1, [r1, #2]
strh r1, [r3, #2]
ldr r1, [r3]
bl ov91_0225EDC8
_0225ED56:
add sp, #4
pop {r3, r4, pc}
nop
_0225ED5C: .word 0x00008544
_0225ED60: .word 0x000021A8
_0225ED64: .word 0x000086EC
_0225ED68: .word gSystem + 0x40
thumb_func_end ov91_0225EC7C
thumb_func_start ov91_0225ED6C
ov91_0225ED6C: ; 0x0225ED6C
push {r3, lr}
ldr r0, [r0, #0x48]
cmp r0, #2
bhs _0225ED78
mov r0, #0
pop {r3, pc}
_0225ED78:
ldr r1, _0225EDA8 ; =gSystem + 0x40
mov r0, #0x80
ldrh r2, [r1, #0x20]
ldrh r1, [r1, #0x22]
sub r3, r0, r2
sub r0, #0xe0
sub r2, r0, r1
add r1, r3, #0
add r0, r2, #0
mul r1, r3
mul r0, r2
add r0, r1, r0
lsl r0, r0, #0xc
bl FX_Sqrt
asr r1, r0, #0xc
ldr r0, _0225EDAC ; =0x0000011E
cmp r1, r0
bgt _0225EDA2
mov r0, #1
pop {r3, pc}
_0225EDA2:
mov r0, #0
pop {r3, pc}
nop
_0225EDA8: .word gSystem + 0x40
_0225EDAC: .word 0x0000011E
thumb_func_end ov91_0225ED6C
thumb_func_start ov91_0225EDB0
ov91_0225EDB0: ; 0x0225EDB0
push {r4, lr}
add r4, r0, #0
add r0, r4, #4
mov r1, #0
mov r2, #0x20
bl memset
mov r0, #0
strh r0, [r4, #0x24]
strh r0, [r4, #0x26]
pop {r4, pc}
.balign 4, 0
thumb_func_end ov91_0225EDB0
thumb_func_start ov91_0225EDC8
ov91_0225EDC8: ; 0x0225EDC8
push {r0, r1, r2, r3}
push {r3, r4, lr}
sub sp, #4
add r4, r0, #0
ldrh r1, [r4, #0x26]
add r1, r1, #1
lsr r3, r1, #0x1f
lsl r2, r1, #0x1d
sub r2, r2, r3
mov r1, #0x1d
ror r2, r1
ldrh r1, [r4, #0x24]
add r2, r3, r2
cmp r2, r1
bne _0225EDEC
add r1, sp, #0
bl ov91_0225EE18
_0225EDEC:
ldrh r0, [r4, #0x26]
lsl r0, r0, #2
add r2, r4, r0
add r0, sp, #0x10
ldrh r1, [r0, #4]
strh r1, [r2, #4]
ldrh r0, [r0, #6]
strh r0, [r2, #6]
ldrh r0, [r4, #0x26]
add r0, r0, #1
lsr r2, r0, #0x1f
lsl r1, r0, #0x1d
sub r1, r1, r2
mov r0, #0x1d
ror r1, r0
add r0, r2, r1
strh r0, [r4, #0x26]
add sp, #4
pop {r3, r4}
pop {r3}
add sp, #0x10
bx r3
thumb_func_end ov91_0225EDC8
thumb_func_start ov91_0225EE18
ov91_0225EE18: ; 0x0225EE18
ldrh r3, [r0, #0x24]
ldrh r2, [r0, #0x26]
cmp r2, r3
bne _0225EE24
mov r0, #0
bx lr
_0225EE24:
lsl r2, r3, #2
add r3, r0, r2
ldrh r2, [r3, #4]
strh r2, [r1]
ldrh r2, [r3, #6]
strh r2, [r1, #2]
ldrh r1, [r0, #0x24]
add r1, r1, #1
lsr r3, r1, #0x1f
lsl r2, r1, #0x1d
sub r2, r2, r3
mov r1, #0x1d
ror r2, r1
add r1, r3, r2
strh r1, [r0, #0x24]
mov r0, #1
bx lr
.balign 4, 0
thumb_func_end ov91_0225EE18
thumb_func_start ov91_0225EE48
ov91_0225EE48: ; 0x0225EE48
ldrh r3, [r0, #0x24]
ldrh r2, [r0, #0x26]
cmp r2, r3
bne _0225EE54
mov r0, #0
bx lr
_0225EE54:
lsl r2, r3, #2
add r2, r0, r2
ldrh r0, [r2, #4]
strh r0, [r1]
ldrh r0, [r2, #6]
strh r0, [r1, #2]
mov r0, #1
bx lr
thumb_func_end ov91_0225EE48
thumb_func_start ov91_0225EE64
ov91_0225EE64: ; 0x0225EE64
ldrh r3, [r0, #0x26]
ldrh r2, [r0, #0x24]
cmp r3, r2
bne _0225EE70
mov r0, #0
bx lr
_0225EE70:
sub r2, r3, #1
bpl _0225EE76
add r2, #8
_0225EE76:
lsl r2, r2, #2
add r2, r0, r2
ldrh r0, [r2, #4]
strh r0, [r1]
ldrh r0, [r2, #6]
strh r0, [r1, #2]
mov r0, #1
bx lr
.balign 4, 0
thumb_func_end ov91_0225EE64
thumb_func_start ov91_0225EE88
ov91_0225EE88: ; 0x0225EE88
ldrh r2, [r0, #0x26]
ldrh r1, [r0, #0x24]
cmp r1, r2
bls _0225EE98
mov r0, #8
sub r0, r0, r1
add r0, r0, r2
bx lr
_0225EE98:
sub r0, r2, r1
bx lr
thumb_func_end ov91_0225EE88
thumb_func_start ov91_0225EE9C
ov91_0225EE9C: ; 0x0225EE9C
push {r4, lr}
add r4, r0, #0
mov r0, #0
str r0, [r4, #0x20]
add r0, r4, #0
add r0, #0x20
bl ov91_0225EDB0
ldr r0, _0225EEB8 ; =0x00008544
add r0, r4, r0
bl ov91_02260D00
pop {r4, pc}
nop
_0225EEB8: .word 0x00008544
thumb_func_end ov91_0225EE9C
thumb_func_start ov91_0225EEBC
ov91_0225EEBC: ; 0x0225EEBC
push {r3, lr}
add r3, r0, #0
mov r0, #0x10
str r0, [r3, #0x48]
add r0, r1, #0
add r1, r2, #0
mov r2, #0
bl ov91_0225F05C
pop {r3, pc}
thumb_func_end ov91_0225EEBC
thumb_func_start ov91_0225EED0
ov91_0225EED0: ; 0x0225EED0
push {r4, r5, r6, lr}
sub sp, #0x30
add r6, r2, #0
add r4, r1, #0
add r5, r0, #0
add r2, r3, #0
add r0, r4, #0
add r1, r6, #0
add r3, sp, #0x18
bl ov91_0225F05C
add r2, sp, #0x30
ldrh r2, [r2, #0x10]
add r0, r4, #0
add r1, r6, #0
add r3, sp, #0
bl ov91_0225F05C
add r2, r5, #0
add r3, sp, #0x18
add r2, #0x18
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
add r3, sp, #0x18
add r2, r5, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r1, [sp]
ldr r0, [sp, #0x18]
sub r0, r1, r0
str r0, [r5, #0x30]
ldr r1, [sp, #8]
ldr r0, [sp, #0x20]
sub r0, r1, r0
str r0, [r5, #0x38]
ldr r1, [sp, #0x10]
ldr r0, [sp, #0x28]
sub r0, r1, r0
str r0, [r5, #0x40]
ldr r1, [sp, #0x14]
ldr r0, [sp, #0x2c]
sub r0, r1, r0
str r0, [r5, #0x44]
ldr r2, [sp, #4]
ldr r0, _0225EF6C ; =0x0000FFFF
ldr r3, [sp, #0x1c]
add r0, r2, r0
sub r1, r0, r3
sub r0, r2, r3
cmp r0, r1
bge _0225EF4A
str r0, [r5, #0x34]
b _0225EF4C
_0225EF4A:
str r1, [r5, #0x34]
_0225EF4C:
ldr r2, [sp, #0xc]
ldr r0, _0225EF6C ; =0x0000FFFF
ldr r3, [sp, #0x24]
add r0, r2, r0
sub r1, r0, r3
sub r0, r2, r3
cmp r0, r1
bge _0225EF60
str r0, [r5, #0x3c]
b _0225EF62
_0225EF60:
str r1, [r5, #0x3c]
_0225EF62:
mov r0, #0
str r0, [r5, #0x48]
add sp, #0x30
pop {r4, r5, r6, pc}
nop
_0225EF6C: .word 0x0000FFFF
thumb_func_end ov91_0225EED0
thumb_func_start ov91_0225EF70
ov91_0225EF70: ; 0x0225EF70
push {r3, r4}
ldr r1, [r0, #0x48]
cmp r1, #0x10
blt _0225EF7E
mov r0, #1
pop {r3, r4}
bx lr
_0225EF7E:
add r2, r1, #1
str r2, [r0, #0x48]
ldr r1, [r0, #0x30]
ldr r3, [r0, #0x18]
mul r2, r1
asr r1, r2, #3
lsr r1, r1, #0x1c
add r1, r2, r1
asr r1, r1, #4
add r1, r3, r1
str r1, [r0]
ldr r2, [r0, #0x34]
ldr r1, [r0, #0x48]
add r3, r2, #0
mul r3, r1
asr r1, r3, #3
lsr r1, r1, #0x1c
add r1, r3, r1
ldr r4, [r0, #0x1c]
asr r1, r1, #4
add r1, r4, r1
str r1, [r0, #4]
ldr r2, [r0, #0x38]
ldr r1, [r0, #0x48]
add r3, r2, #0
mul r3, r1
asr r1, r3, #3
lsr r1, r1, #0x1c
add r1, r3, r1
ldr r4, [r0, #0x20]
asr r1, r1, #4
add r1, r4, r1
str r1, [r0, #8]
ldr r2, [r0, #0x3c]
ldr r1, [r0, #0x48]
add r3, r2, #0
mul r3, r1
asr r1, r3, #3
lsr r1, r1, #0x1c
add r1, r3, r1
ldr r4, [r0, #0x24]
asr r1, r1, #4
add r1, r4, r1
str r1, [r0, #0xc]
ldr r2, [r0, #0x40]
ldr r1, [r0, #0x48]
add r3, r2, #0
mul r3, r1
asr r1, r3, #3
lsr r1, r1, #0x1c
add r1, r3, r1
ldr r4, [r0, #0x28]
asr r1, r1, #4
add r1, r4, r1
str r1, [r0, #0x10]
ldr r2, [r0, #0x44]
ldr r1, [r0, #0x48]
add r3, r2, #0
mul r3, r1
asr r1, r3, #3
lsr r1, r1, #0x1c
add r1, r3, r1
ldr r4, [r0, #0x2c]
asr r1, r1, #4
add r1, r4, r1
str r1, [r0, #0x14]
mov r0, #0
pop {r3, r4}
bx lr
thumb_func_end ov91_0225EF70
thumb_func_start ov91_0225F008
ov91_0225F008: ; 0x0225F008
ldr r3, _0225F00C ; =ov91_0225F010
bx r3
.balign 4, 0
_0225F00C: .word ov91_0225F010
thumb_func_end ov91_0225F008
thumb_func_start ov91_0225F010
ov91_0225F010: ; 0x0225F010
push {r3, r4, r5, lr}
add r4, r1, #0
ldr r1, [r4, #4]
add r5, r0, #0
ldr r0, _0225F054 ; =0x000019CC
lsl r1, r1, #0x10
add r0, r5, r0
lsr r1, r1, #0x10
bl ov91_0225E1E0
ldr r0, _0225F058 ; =0x00001AB4
ldr r1, [r4, #8]
add r0, r5, r0
bl ov91_0226137C
ldr r1, [r4, #0xc]
ldr r0, _0225F058 ; =0x00001AB4
lsl r1, r1, #0x10
add r0, r5, r0
lsr r1, r1, #0x10
bl ov91_02261384
ldr r0, _0225F054 ; =0x000019CC
ldr r1, [r4, #0x10]
add r0, r5, r0
bl ov91_0225E1E4
ldr r0, _0225F054 ; =0x000019CC
ldr r1, [r4, #0x14]
add r0, r5, r0
bl ov91_0225E09C
pop {r3, r4, r5, pc}
nop
_0225F054: .word 0x000019CC
_0225F058: .word 0x00001AB4
thumb_func_end ov91_0225F010
thumb_func_start ov91_0225F05C
ov91_0225F05C: ; 0x0225F05C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5]
add r6, r2, #0
add r7, r1, #0
add r4, r3, #0
cmp r6, r0
blo _0225F070
bl GF_AssertFail
_0225F070:
mov r0, #0x18
ldr r1, [r5, #4]
mul r0, r6
add r3, r1, r0
add r2, r4, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r4, #4]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [r4, #4]
ldr r0, [r4, #0xc]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [r4, #0xc]
ldrb r0, [r7]
cmp r0, #0
beq _0225F0B2
add r1, r6, #1
mov r0, #6
sub r2, r0, r1
bpl _0225F0A6
mov r2, #0
_0225F0A6:
mov r0, #0x18
ldr r1, [r5, #4]
mul r0, r2
add r0, r1, r0
ldr r0, [r0, #0x14]
str r0, [r4, #0x14]
_0225F0B2:
ldrb r0, [r7, #1]
cmp r0, #0
beq _0225F0BE
ldr r0, [r4, #4]
neg r0, r0
str r0, [r4, #4]
_0225F0BE:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov91_0225F05C
thumb_func_start ov91_0225F0C0
ov91_0225F0C0: ; 0x0225F0C0
push {r4, r5, r6, r7, lr}
sub sp, #0x4c
add r4, r1, #0
add r6, r2, #0
mov r1, #0
mov r2, #0x40
add r5, r0, #0
bl memset
mov r0, #0xc8
add r1, r6, #0
bl NARC_New
mov r1, #0x78
add r7, r0, #0
str r1, [sp]
mov r0, #2
str r0, [sp, #4]
str r6, [sp, #8]
add r1, #0xd0
ldr r0, [r4, r1]
add r1, r7, #0
mov r2, #0x15
mov r3, #0
bl AddCharResObjFromOpenNarc
str r0, [r5]
mov r1, #0x78
str r1, [sp]
mov r0, #2
str r0, [sp, #4]
str r0, [sp, #8]
str r6, [sp, #0xc]
add r1, #0xd4
ldr r0, [r4, r1]
add r1, r7, #0
mov r2, #0x14
mov r3, #0
bl AddPlttResObjFromOpenNarc
str r0, [r5, #4]
mov r1, #0x78
str r1, [sp]
mov r0, #2
str r0, [sp, #4]
str r6, [sp, #8]
add r1, #0xd8
ldr r0, [r4, r1]
add r1, r7, #0
mov r2, #0x16
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
str r0, [r5, #8]
mov r1, #0x78
str r1, [sp]
mov r0, #3
str r0, [sp, #4]
str r6, [sp, #8]
add r1, #0xdc
ldr r0, [r4, r1]
add r1, r7, #0
mov r2, #0x17
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
str r0, [r5, #0xc]
ldr r0, [r5]
bl sub_0200AE18
cmp r0, #0
bne _0225F154
bl GF_AssertFail
_0225F154:
ldr r0, [r5, #4]
bl sub_0200B00C
cmp r0, #0
bne _0225F162
bl GF_AssertFail
_0225F162:
ldr r0, [r5]
bl sub_0200A740
ldr r0, [r5, #4]
bl sub_0200A740
mov r1, #0x78
add r0, r1, #0
add r2, r1, #0
str r1, [sp]
sub r0, #0x79
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
str r0, [sp, #0x10]
add r2, #0xd0
ldr r2, [r4, r2]
add r3, r1, #0
str r2, [sp, #0x14]
add r2, r1, #0
add r2, #0xd4
ldr r2, [r4, r2]
str r2, [sp, #0x18]
add r2, r1, #0
add r2, #0xd8
ldr r2, [r4, r2]
str r2, [sp, #0x1c]
add r2, r1, #0
add r2, #0xdc
ldr r2, [r4, r2]
str r2, [sp, #0x20]
str r0, [sp, #0x24]
str r0, [sp, #0x28]
add r0, r5, #0
add r0, #0x10
add r2, r1, #0
bl CreateSpriteResourcesHeader
ldr r0, [r4, #0x1c]
str r0, [sp, #0x2c]
add r0, r5, #0
add r0, #0x10
str r0, [sp, #0x30]
mov r0, #2
lsl r0, r0, #0x12
str r0, [sp, #0x34]
mov r0, #0x9e
lsl r0, r0, #0xe
str r0, [sp, #0x38]
mov r0, #0
str r0, [sp, #0x40]
mov r0, #2
str r0, [sp, #0x44]
add r0, sp, #0x2c
str r6, [sp, #0x48]
bl sub_02024714
mov r1, #0
str r0, [r5, #0x34]
bl Set2dSpriteVisibleFlag
add r0, r7, #0
bl NARC_Delete
add sp, #0x4c
pop {r4, r5, r6, r7, pc}
thumb_func_end ov91_0225F0C0
thumb_func_start ov91_0225F1E8
ov91_0225F1E8: ; 0x0225F1E8
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x34]
add r4, r1, #0
bl Sprite_Delete
ldr r0, [r5]
bl sub_0200AEB0
ldr r0, [r5, #4]
bl sub_0200B0A8
mov r0, #0x52
lsl r0, r0, #2
ldr r0, [r4, r0]
ldr r1, [r5]
bl DestroySingle2DGfxResObj
mov r0, #0x53
lsl r0, r0, #2
ldr r0, [r4, r0]
ldr r1, [r5, #4]
bl DestroySingle2DGfxResObj
mov r0, #0x15
lsl r0, r0, #4
ldr r0, [r4, r0]
ldr r1, [r5, #8]
bl DestroySingle2DGfxResObj
mov r0, #0x55
lsl r0, r0, #2
ldr r0, [r4, r0]
ldr r1, [r5, #0xc]
bl DestroySingle2DGfxResObj
add r0, r5, #0
mov r1, #0
mov r2, #0x40
bl memset
pop {r3, r4, r5, pc}
thumb_func_end ov91_0225F1E8
thumb_func_start ov91_0225F23C
ov91_0225F23C: ; 0x0225F23C
add r2, r0, #0
mov r1, #1
add r2, #0x38
strb r1, [r2]
add r2, r0, #0
mov r3, #0
add r2, #0x3a
strb r3, [r2]
add r2, r0, #0
add r2, #0x39
strb r3, [r2]
ldr r3, _0225F258 ; =Set2dSpriteVisibleFlag
ldr r0, [r0, #0x34]
bx r3
.balign 4, 0
_0225F258: .word Set2dSpriteVisibleFlag
thumb_func_end ov91_0225F23C
thumb_func_start ov91_0225F25C
ov91_0225F25C: ; 0x0225F25C
push {r4, r5, r6, lr}
sub sp, #8
add r4, r0, #0
add r0, #0x3a
ldrb r0, [r0]
add r5, r1, #0
cmp r0, #3
bhi _0225F36A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0225F278: ; jump table
.short _0225F280 - _0225F278 - 2 ; case 0
.short _0225F2B2 - _0225F278 - 2 ; case 1
.short _0225F340 - _0225F278 - 2 ; case 2
.short _0225F352 - _0225F278 - 2 ; case 3
_0225F280:
ldr r0, [r4, #0x34]
mov r1, #0
bl Sprite_SetAnimCtrlCurrentFrame
ldr r0, _0225F37C ; =0x00008544
add r0, r5, r0
bl ov91_02260CB4
ldr r0, _0225F37C ; =0x00008544
mov r1, #0x80
add r0, r5, r0
mov r2, #0xb1
bl ov91_02260CE0
add r0, r4, #0
mov r1, #0
add r0, #0x3b
strb r1, [r0]
add r0, r4, #0
add r0, #0x3a
ldrb r0, [r0]
add r4, #0x3a
add r0, r0, #1
strb r0, [r4]
b _0225F36A
_0225F2B2:
mov r1, #2
ldr r0, [r4, #0x34]
lsl r1, r1, #0xc
bl Sprite_TickCellOrMulticellAnimation
ldr r0, [r4, #0x34]
bl Sprite_GetAnimCtrlCurrentFrame
add r6, r0, #0
cmp r6, #0xa
beq _0225F2CE
cmp r6, #0xb
beq _0225F2FA
b _0225F32E
_0225F2CE:
add r0, r4, #0
add r0, #0x3b
ldrb r0, [r0]
cmp r0, #0
bne _0225F32E
mov r0, #0x40
str r0, [sp]
mov r0, #2
mov r1, #0x80
str r0, [sp, #4]
add r0, r5, #0
mov r2, #0x60
add r3, r1, #0
bl ov91_0225D500
ldr r0, _0225F380 ; =0x0000064F
bl PlaySE
mov r0, #1
add r4, #0x3b
strb r0, [r4]
b _0225F32E
_0225F2FA:
add r0, r4, #0
add r0, #0x39
ldrb r0, [r0]
add r1, r0, #1
add r0, r4, #0
add r0, #0x39
strb r1, [r0]
add r0, r4, #0
add r0, #0x39
ldrb r0, [r0]
cmp r0, #2
blo _0225F31A
mov r0, #3
add r4, #0x3a
strb r0, [r4]
b _0225F326
_0225F31A:
add r0, r4, #0
mov r1, #2
add r0, #0x3a
strb r1, [r0]
mov r0, #0x10
str r0, [r4, #0x3c]
_0225F326:
ldr r0, _0225F37C ; =0x00008544
add r0, r5, r0
bl ov91_02260D00
_0225F32E:
ldr r2, _0225F384 ; =ov91_02261C84
lsl r3, r6, #1
ldr r0, _0225F37C ; =0x00008544
ldrsh r2, [r2, r3]
add r0, r5, r0
mov r1, #0x80
bl ov91_02260CE0
b _0225F36A
_0225F340:
ldr r0, [r4, #0x3c]
sub r0, r0, #1
str r0, [r4, #0x3c]
cmp r0, #0
bgt _0225F36A
mov r0, #0
add r4, #0x3a
strb r0, [r4]
b _0225F36A
_0225F352:
add r0, r5, #0
bl ov91_0225E6D0
cmp r0, #0
bne _0225F36A
ldr r0, [r4, #0x34]
mov r1, #0
bl Set2dSpriteVisibleFlag
add sp, #8
mov r0, #1
pop {r4, r5, r6, pc}
_0225F36A:
add r0, r5, #0
bl ov91_0225E40C
add r0, r5, #0
bl ov91_0225E62C
mov r0, #0
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
_0225F37C: .word 0x00008544
_0225F380: .word 0x0000064F
_0225F384: .word ov91_02261C84
thumb_func_end ov91_0225F25C
thumb_func_start ov91_0225F388
ov91_0225F388: ; 0x0225F388
add r3, r0, #0
mov r2, #0x18
mov r1, #0
_0225F38E:
strb r1, [r3]
add r3, r3, #1
sub r2, r2, #1
bne _0225F38E
ldr r1, _0225F39C ; =0x0000FFFF
str r1, [r0, #0x14]
bx lr
.balign 4, 0
_0225F39C: .word 0x0000FFFF
thumb_func_end ov91_0225F388
thumb_func_start ov91_0225F3A0
ov91_0225F3A0: ; 0x0225F3A0
push {r3, r4}
lsl r3, r2, #2
str r1, [r0, r3]
mov r3, #1
ldr r4, [r0, #0x10]
lsl r3, r2
orr r3, r4
str r3, [r0, #0x10]
cmp r1, #0
beq _0225F3CC
ldr r4, [r0, #0x14]
ldr r3, _0225F3D0 ; =0x0000FFFF
cmp r4, r3
beq _0225F3CA
lsl r3, r4, #2
ldr r3, [r0, r3]
cmp r3, r1
bhs _0225F3CC
str r2, [r0, #0x14]
pop {r3, r4}
bx lr
_0225F3CA:
str r2, [r0, #0x14]
_0225F3CC:
pop {r3, r4}
bx lr
.balign 4, 0
_0225F3D0: .word 0x0000FFFF
thumb_func_end ov91_0225F3A0
thumb_func_start ov91_0225F3D4
ov91_0225F3D4: ; 0x0225F3D4
mov r1, #0
str r1, [r0, #0x10]
ldr r1, _0225F3E0 ; =0x0000FFFF
str r1, [r0, #0x14]
bx lr
nop
_0225F3E0: .word 0x0000FFFF
thumb_func_end ov91_0225F3D4
thumb_func_start ov91_0225F3E4
ov91_0225F3E4: ; 0x0225F3E4
ldr r0, [r0, #0x14]
bx lr
thumb_func_end ov91_0225F3E4
thumb_func_start ov91_0225F3E8
ov91_0225F3E8: ; 0x0225F3E8
push {r4, r5}
mov r4, #0
ldr r5, [r0, #0x10]
add r3, r4, #0
mov r0, #1
_0225F3F2:
add r2, r0, #0
lsl r2, r3
tst r2, r5
beq _0225F3FC
add r4, r4, #1
_0225F3FC:
add r3, r3, #1
cmp r3, #4
blt _0225F3F2
cmp r1, r4
bhi _0225F40C
mov r0, #1
pop {r4, r5}
bx lr
_0225F40C:
mov r0, #0
pop {r4, r5}
bx lr
.balign 4, 0
thumb_func_end ov91_0225F3E8
thumb_func_start ov91_0225F414
ov91_0225F414: ; 0x0225F414
push {r4, lr}
sub sp, #0x28
ldr r4, _0225F430 ; =ov91_02261D84
add r3, sp, #0
mov r2, #5
_0225F41E:
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0225F41E
add r0, sp, #0
bl GfGfx_SetBanks
add sp, #0x28
pop {r4, pc}
.balign 4, 0
_0225F430: .word ov91_02261D84
thumb_func_end ov91_0225F414
thumb_func_start ov91_0225F434
ov91_0225F434: ; 0x0225F434
push {r3, lr}
mov r0, #1
add r1, r0, #0
bl GfGfx_EngineATogglePlanes
ldr r0, _0225F4A4 ; =0x04000008
mov r1, #3
ldrh r2, [r0]
bic r2, r1
mov r1, #2
orr r1, r2
strh r1, [r0]
add r0, #0x58
ldrh r2, [r0]
ldr r1, _0225F4A8 ; =0xFFFFCFFD
and r2, r1
strh r2, [r0]
ldrh r3, [r0]
add r2, r1, #2
and r3, r2
mov r2, #0x10
orr r2, r3
strh r2, [r0]
ldrh r3, [r0]
ldr r2, _0225F4AC ; =0x0000CFFB
and r2, r3
strh r2, [r0]
add r2, r1, #2
ldrh r3, [r0]
add r1, r1, #2
and r3, r2
mov r2, #8
orr r2, r3
strh r2, [r0]
ldrh r2, [r0]
and r2, r1
mov r1, #0x20
orr r1, r2
strh r1, [r0]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
bl G3X_SetFog
mov r1, #0
ldr r0, _0225F4B0 ; =0x00006B5A
ldr r2, _0225F4B4 ; =0x00007FFF
mov r3, #0x3f
str r1, [sp]
bl G3X_SetClearColor
ldr r1, _0225F4B8 ; =0xBFFF0000
ldr r0, _0225F4BC ; =0x04000580
str r1, [r0]
pop {r3, pc}
.balign 4, 0
_0225F4A4: .word 0x04000008
_0225F4A8: .word 0xFFFFCFFD
_0225F4AC: .word 0x0000CFFB
_0225F4B0: .word 0x00006B5A
_0225F4B4: .word 0x00007FFF
_0225F4B8: .word 0xBFFF0000
_0225F4BC: .word 0x04000580
thumb_func_end ov91_0225F434
thumb_func_start ov91_0225F4C0
ov91_0225F4C0: ; 0x0225F4C0
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
mov r0, #4
str r0, [sp]
ldr r0, _0225F4F4 ; =ov91_0225F434
add r6, r1, #0
add r7, r2, #0
add r4, r3, #0
mov r1, #0
str r0, [sp, #4]
add r0, r4, #0
mov r2, #1
add r3, r1, #0
bl GF_3DVramMan_Create
str r0, [r5, #0x18]
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
add r3, r4, #0
bl ov91_0225FD2C
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0225F4F4: .word ov91_0225F434
thumb_func_end ov91_0225F4C0
thumb_func_start ov91_0225F4F8
ov91_0225F4F8: ; 0x0225F4F8
push {r4, lr}
add r4, r0, #0
bl ov91_0225FDC8
ldr r0, [r4, #0x18]
bl GF_3DVramMan_Delete
pop {r4, pc}
thumb_func_end ov91_0225F4F8
thumb_func_start ov91_0225F508
ov91_0225F508: ; 0x0225F508
push {r3, r4, r5, r6, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, _0225F638 ; =0x000086CC
mov r2, #0x20
add r0, r5, r0
add r4, r1, #0
bl GF_ExpHeap_FndInitAllocator
bl ov91_0225F414
ldr r0, _0225F63C ; =0x00001AB4
ldr r1, [r5, #0x10]
ldr r2, [r5, #0x14]
add r0, r5, r0
add r3, r4, #0
bl ov91_0225F4C0
ldr r0, _0225F63C ; =0x00001AB4
add r1, r4, #0
add r0, r5, r0
bl ov91_0225F878
ldr r0, _0225F63C ; =0x00001AB4
add r1, r4, #0
add r0, r5, r0
bl ov91_0225FA9C
ldr r0, _0225F63C ; =0x00001AB4
add r1, r4, #0
add r0, r5, r0
bl ov91_0225FCD8
mov r0, #0xbd
add r1, r4, #0
bl NARC_New
add r6, r0, #0
ldr r0, _0225F63C ; =0x00001AB4
add r1, r6, #0
add r0, r5, r0
add r2, r4, #0
bl ov91_0225FB80
ldr r0, [r5, #0x14]
ldr r1, _0225F63C ; =0x00001AB4
str r0, [sp]
ldr r0, _0225F638 ; =0x000086CC
str r4, [sp, #4]
add r0, r5, r0
str r0, [sp, #8]
ldr r0, _0225F640 ; =0x00001C54
ldr r3, [r5, #0x10]
add r0, r5, r0
add r1, r5, r1
add r2, r6, #0
bl ov91_02260F50
ldr r0, _0225F644 ; =0x00001F74
ldr r3, _0225F638 ; =0x000086CC
add r0, r5, r0
add r1, r6, #0
add r2, r4, #0
add r3, r5, r3
bl ov91_0225FF00
ldr r0, _0225F63C ; =0x00001AB4
add r1, r6, #0
add r0, r5, r0
add r2, r4, #0
bl ov91_022604F4
ldr r0, _0225F63C ; =0x00001AB4
ldr r1, _0225F648 ; =0x00008544
ldr r2, [r5, #0x14]
add r0, r5, r0
add r1, r5, r1
add r3, r4, #0
bl ov91_02260C48
ldr r0, _0225F63C ; =0x00001AB4
ldr r1, _0225F64C ; =0x0000854C
ldr r2, [r5, #0x14]
add r0, r5, r0
add r1, r5, r1
add r3, r4, #0
bl ov91_02260D14
ldr r0, _0225F63C ; =0x00001AB4
ldr r2, [r5, #0x14]
add r0, r5, r0
add r1, r6, #0
add r3, r4, #0
bl ov91_0225FDE0
ldr r0, [r5, #0x14]
ldr r1, _0225F63C ; =0x00001AB4
str r0, [sp]
str r6, [sp, #4]
str r4, [sp, #8]
ldr r2, _0225F650 ; =0x0000877C
ldr r0, _0225F654 ; =0x00001F38
ldr r2, [r5, r2]
ldr r3, [r5, #0x10]
add r0, r5, r0
add r1, r5, r1
bl ov91_0225D8F0
ldr r0, _0225F63C ; =0x00001AB4
ldr r1, [r5, #0x10]
ldr r2, [r5, #0x14]
add r0, r5, r0
add r3, r4, #0
bl ov91_0225DBD0
str r4, [sp]
ldr r0, _0225F658 ; =0x00001E38
ldr r1, _0225F63C ; =0x00001AB4
ldr r2, [r5, #0x10]
ldr r3, [r5, #0x14]
add r0, r5, r0
add r1, r5, r1
bl ov91_0225D628
ldr r1, [r5, #0x14]
ldr r0, _0225F65C ; =0x000021A8
lsl r1, r1, #0x18
add r0, r5, r0
lsr r1, r1, #0x18
bl ov91_022613AC
ldr r0, _0225F660 ; =0x0000862C
ldr r1, _0225F63C ; =0x00001AB4
add r0, r5, r0
add r1, r5, r1
add r2, r6, #0
add r3, r4, #0
bl ov91_02261580
add r0, r6, #0
bl NARC_Delete
ldr r0, _0225F664 ; =0x00001AD0
add r1, r4, #0
ldr r0, [r5, r0]
bl ov90_02258BD4
ldr r1, _0225F668 ; =0x000021A4
str r0, [r5, r1]
add sp, #0xc
pop {r3, r4, r5, r6, pc}
nop
_0225F638: .word 0x000086CC
_0225F63C: .word 0x00001AB4
_0225F640: .word 0x00001C54
_0225F644: .word 0x00001F74
_0225F648: .word 0x00008544
_0225F64C: .word 0x0000854C
_0225F650: .word 0x0000877C
_0225F654: .word 0x00001F38
_0225F658: .word 0x00001E38
_0225F65C: .word 0x000021A8
_0225F660: .word 0x0000862C
_0225F664: .word 0x00001AD0
_0225F668: .word 0x000021A4
thumb_func_end ov91_0225F508
thumb_func_start ov91_0225F66C
ov91_0225F66C: ; 0x0225F66C
push {r4, lr}
add r4, r0, #0
ldr r0, _0225F71C ; =0x0000862C
ldr r1, _0225F720 ; =0x00001AB4
add r0, r4, r0
add r1, r4, r1
bl ov91_02261790
ldr r0, _0225F724 ; =0x00001E38
ldr r1, _0225F720 ; =0x00001AB4
add r0, r4, r0
add r1, r4, r1
bl ov91_0225D67C
ldr r0, _0225F720 ; =0x00001AB4
ldr r1, [r4, #0x10]
add r0, r4, r0
bl ov91_0225DBE0
ldr r0, _0225F728 ; =0x00001F38
ldr r1, _0225F720 ; =0x00001AB4
add r0, r4, r0
add r1, r4, r1
bl ov91_0225DB0C
ldr r0, _0225F720 ; =0x00001AB4
add r0, r4, r0
bl ov91_0225FEFC
ldr r0, _0225F720 ; =0x00001AB4
ldr r1, _0225F72C ; =0x0000854C
add r0, r4, r0
add r1, r4, r1
bl ov91_02260D80
ldr r0, _0225F730 ; =0x00008544
add r0, r4, r0
bl ov91_02260CA8
ldr r0, _0225F720 ; =0x00001AB4
add r0, r4, r0
bl ov91_0226066C
ldr r0, _0225F734 ; =0x00001F74
ldr r1, _0225F738 ; =0x000086CC
add r0, r4, r0
add r1, r4, r1
bl ov91_022600FC
ldr r0, _0225F73C ; =0x00001C54
ldr r1, _0225F720 ; =0x00001AB4
ldr r2, _0225F738 ; =0x000086CC
add r0, r4, r0
add r1, r4, r1
add r2, r4, r2
bl ov91_02261070
ldr r0, _0225F720 ; =0x00001AB4
add r0, r4, r0
bl ov91_0225FC84
ldr r0, _0225F740 ; =0x000021A4
ldr r0, [r4, r0]
bl ov90_02258C38
ldr r0, _0225F720 ; =0x00001AB4
add r0, r4, r0
bl ov91_0225FA60
ldr r0, _0225F720 ; =0x00001AB4
add r0, r4, r0
bl ov91_0225FB48
ldr r0, _0225F720 ; =0x00001AB4
add r0, r4, r0
bl ov91_0225FD0C
ldr r0, _0225F720 ; =0x00001AB4
add r0, r4, r0
bl ov91_0225F4F8
ldr r0, _0225F744 ; =0x04000050
mov r1, #0
strh r1, [r0]
ldr r0, _0225F748 ; =0x04001050
strh r1, [r0]
pop {r4, pc}
nop
_0225F71C: .word 0x0000862C
_0225F720: .word 0x00001AB4
_0225F724: .word 0x00001E38
_0225F728: .word 0x00001F38
_0225F72C: .word 0x0000854C
_0225F730: .word 0x00008544
_0225F734: .word 0x00001F74
_0225F738: .word 0x000086CC
_0225F73C: .word 0x00001C54
_0225F740: .word 0x000021A4
_0225F744: .word 0x04000050
_0225F748: .word 0x04001050
thumb_func_end ov91_0225F66C
thumb_func_start ov91_0225F74C
ov91_0225F74C: ; 0x0225F74C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0x13
ldr r1, _0225F798 ; =0x000019CC
lsl r0, r0, #6
ldr r2, [r5]
add r0, r4, r0
add r1, r5, r1
bl ov91_0226014C
mov r0, #0x13
ldr r1, _0225F798 ; =0x000019CC
lsl r0, r0, #6
ldr r2, [r5]
add r0, r4, r0
add r1, r5, r1
bl ov91_022601AC
ldr r0, _0225F79C ; =0x00006A90
add r0, r4, r0
bl ov91_02260CC8
add r0, r5, #0
add r1, r4, #0
bl ov91_0225F7A8
ldr r0, _0225F7A0 ; =0x000006F4
add r1, r4, #0
add r0, r4, r0
bl ov91_022613C8
ldr r0, _0225F7A4 ; =0x00006B78
add r0, r4, r0
bl ov91_02261928
pop {r3, r4, r5, pc}
nop
_0225F798: .word 0x000019CC
_0225F79C: .word 0x00006A90
_0225F7A0: .word 0x000006F4
_0225F7A4: .word 0x00006B78
thumb_func_end ov91_0225F74C
thumb_func_start ov91_0225F7A8
ov91_0225F7A8: ; 0x0225F7A8
push {r4, r5, lr}
sub sp, #0xc
add r5, r0, #0
ldr r0, _0225F868 ; =0x00006A98
add r4, r1, #0
add r0, r4, r0
bl ov91_02260D98
mov r0, #0xe1
lsl r0, r0, #2
add r0, r4, r0
bl ov91_0225D6A0
bl Thunk_G3X_Reset
add r0, r4, #0
bl ov91_0225FDD8
mov r0, #0
ldr r2, _0225F86C ; =0xFFFFF000
add r1, r0, #0
add r3, r0, #0
bl NNS_G3dGlbLightVector
ldr r1, _0225F870 ; =0x00007FFF
mov r0, #0
bl NNS_G3dGlbLightColor
ldr r0, _0225F870 ; =0x00007FFF
mov r2, #0
add r1, r0, #0
bl NNS_G3dGlbMaterialColorDiffAmb
ldr r0, _0225F870 ; =0x00007FFF
mov r2, #0
add r1, r0, #0
bl NNS_G3dGlbMaterialColorSpecEmi
mov r1, #0
mov r0, #0x11
add r2, r1, #0
bl NNS_G3dGeBufferOP_N
mov r0, #0x1a
lsl r0, r0, #4
add r0, r4, r0
bl ov91_022610A8
mov r2, #1
mov r0, #0x12
add r1, sp, #8
str r2, [sp, #8]
bl NNS_G3dGeBufferOP_N
mov r1, #0
mov r0, #0x11
add r2, r1, #0
bl NNS_G3dGeBufferOP_N
mov r0, #0x13
ldr r1, _0225F874 ; =0x000019CC
lsl r0, r0, #6
add r0, r4, r0
add r1, r5, r1
bl ov91_0226023C
mov r2, #1
mov r0, #0x12
add r1, sp, #4
str r2, [sp, #4]
bl NNS_G3dGeBufferOP_N
mov r1, #0
mov r0, #0x11
add r2, r1, #0
bl NNS_G3dGeBufferOP_N
ldr r1, [r5, #0x10]
add r0, r4, #0
bl ov91_0226078C
mov r2, #1
mov r0, #0x12
add r1, sp, #0
str r2, [sp]
bl NNS_G3dGeBufferOP_N
mov r0, #0
add r1, r0, #0
bl sub_02026E50
ldr r0, [r4, #0x1c]
bl sub_0202457C
add sp, #0xc
pop {r4, r5, pc}
.balign 4, 0
_0225F868: .word 0x00006A98
_0225F86C: .word 0xFFFFF000
_0225F870: .word 0x00007FFF
_0225F874: .word 0x000019CC
thumb_func_end ov91_0225F7A8
thumb_func_start ov91_0225F878
ov91_0225F878: ; 0x0225F878
push {r4, r5, r6, lr}
sub sp, #0xc0
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
bl BgConfig_Alloc
add r3, sp, #0xb0
ldr r6, _0225FA44 ; =ov91_02261C74
str r0, [r5]
add r2, r3, #0
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
add r0, r2, #0
bl SetBothScreensModesAndDisable
ldr r6, _0225FA48 ; =ov91_02261C9C
add r3, sp, #0x94
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r6]
mov r1, #1
str r0, [r3]
ldr r0, [r5]
mov r3, #0
bl InitBgFromTemplate
mov r0, #1
mov r1, #0x20
mov r2, #0
add r3, r4, #0
bl BG_ClearCharDataRange
ldr r0, [r5]
mov r1, #1
bl BgClearTilemapBufferAndCommit
ldr r6, _0225FA4C ; =ov91_02261CB8
add r3, sp, #0x78
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r6]
mov r1, #2
str r0, [r3]
ldr r0, [r5]
mov r3, #0
bl InitBgFromTemplate
mov r0, #2
mov r1, #0x20
mov r2, #0
add r3, r4, #0
bl BG_ClearCharDataRange
ldr r0, [r5]
mov r1, #2
bl BgClearTilemapBufferAndCommit
ldr r6, _0225FA50 ; =ov91_02261CD4
add r3, sp, #0x5c
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r6]
mov r1, #4
str r0, [r3]
ldr r0, [r5]
mov r3, #0
bl InitBgFromTemplate
mov r0, #4
mov r1, #0x20
mov r2, #0
add r3, r4, #0
bl BG_ClearCharDataRange
ldr r0, [r5]
mov r1, #4
bl BgClearTilemapBufferAndCommit
ldr r6, _0225FA54 ; =ov91_02261CF0
add r3, sp, #0x40
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r6]
mov r1, #5
str r0, [r3]
ldr r0, [r5]
mov r3, #0
bl InitBgFromTemplate
mov r0, #5
mov r1, #0x20
mov r2, #0
add r3, r4, #0
bl BG_ClearCharDataRange
ldr r0, [r5]
mov r1, #5
bl BgClearTilemapBufferAndCommit
ldr r6, _0225FA58 ; =ov91_02261D0C
add r3, sp, #0x24
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r6]
mov r1, #6
str r0, [r3]
ldr r0, [r5]
mov r3, #0
bl InitBgFromTemplate
mov r0, #6
mov r1, #0x20
mov r2, #0
add r3, r4, #0
bl BG_ClearCharDataRange
ldr r0, [r5]
mov r1, #6
bl BgClearTilemapBufferAndCommit
ldr r6, _0225FA5C ; =ov91_02261D28
add r3, sp, #8
ldmia r6!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r6]
mov r1, #7
str r0, [r3]
ldr r0, [r5]
mov r3, #0
bl InitBgFromTemplate
mov r0, #7
mov r1, #0x20
mov r2, #0
add r3, r4, #0
bl BG_ClearCharDataRange
ldr r0, [r5]
mov r1, #7
bl BgClearTilemapBufferAndCommit
mov r0, #1
add r1, r0, #0
bl GfGfx_EngineATogglePlanes
mov r0, #2
mov r1, #0
bl GfGfx_EngineATogglePlanes
mov r0, #4
mov r1, #1
bl GfGfx_EngineATogglePlanes
mov r0, #8
mov r1, #0
bl GfGfx_EngineATogglePlanes
mov r0, #0x10
mov r1, #1
bl GfGfx_EngineATogglePlanes
mov r0, #1
add r1, r0, #0
bl GfGfx_EngineBTogglePlanes
mov r0, #2
mov r1, #1
bl GfGfx_EngineBTogglePlanes
mov r0, #4
mov r1, #1
bl GfGfx_EngineBTogglePlanes
mov r0, #8
mov r1, #1
bl GfGfx_EngineBTogglePlanes
mov r0, #0x10
mov r1, #1
bl GfGfx_EngineBTogglePlanes
mov r0, #0
mov r1, #0xa0
add r2, r4, #0
bl LoadFontPal1
mov r0, #0
str r0, [sp]
str r4, [sp, #4]
mov r1, #1
ldr r0, [r5]
add r2, r1, #0
mov r3, #4
bl LoadUserFrameGfx1
add sp, #0xc0
pop {r4, r5, r6, pc}
.balign 4, 0
_0225FA44: .word ov91_02261C74
_0225FA48: .word ov91_02261C9C
_0225FA4C: .word ov91_02261CB8
_0225FA50: .word ov91_02261CD4
_0225FA54: .word ov91_02261CF0
_0225FA58: .word ov91_02261D0C
_0225FA5C: .word ov91_02261D28
thumb_func_end ov91_0225F878
thumb_func_start ov91_0225FA60
ov91_0225FA60: ; 0x0225FA60
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
mov r1, #1
bl FreeBgTilemapBuffer
ldr r0, [r4]
mov r1, #2
bl FreeBgTilemapBuffer
ldr r0, [r4]
mov r1, #4
bl FreeBgTilemapBuffer
ldr r0, [r4]
mov r1, #5
bl FreeBgTilemapBuffer
ldr r0, [r4]
mov r1, #6
bl FreeBgTilemapBuffer
ldr r0, [r4]
mov r1, #7
bl FreeBgTilemapBuffer
ldr r0, [r4]
bl FreeToHeap
pop {r4, pc}
thumb_func_end ov91_0225FA60
thumb_func_start ov91_0225FA9C
ov91_0225FA9C: ; 0x0225FA9C
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r7, r0, #0
add r6, r1, #0
bl NNS_G2dInitOamManagerModule
mov r0, #0
str r0, [sp]
mov r1, #0x7e
str r1, [sp, #4]
str r0, [sp, #8]
mov r3, #0x1f
str r3, [sp, #0xc]
add r2, r0, #0
str r6, [sp, #0x10]
bl OamManager_Create
ldr r4, _0225FB40 ; =ov91_02261C64
add r3, sp, #0x14
add r2, r3, #0
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldr r1, _0225FB44 ; =0x00200010
add r0, r2, #0
add r2, r1, #0
str r6, [sp, #0x20]
bl sub_020215C0
mov r0, #0x10
add r1, r6, #0
bl sub_02022588
bl sub_020216C8
bl sub_02022638
ldr r1, _0225FB44 ; =0x00200010
mov r0, #1
bl sub_02009FE8
mov r0, #1
bl sub_0200A080
add r1, r7, #0
mov r0, #0x80
add r1, #0x20
add r2, r6, #0
bl G2dRenderer_Init
str r0, [r7, #0x1c]
add r0, r7, #0
mov r2, #2
add r0, #0x20
mov r1, #0
lsl r2, r2, #0x14
bl G2dRenderer_SetSubSurfaceCoords
mov r4, #0
add r5, r7, #0
_0225FB16:
mov r0, #0x10
add r1, r4, #0
add r2, r6, #0
bl Create2DGfxResObjMan
mov r1, #0x52
lsl r1, r1, #2
str r0, [r5, r1]
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _0225FB16
mov r0, #8
add r1, r6, #0
bl sub_02013534
mov r1, #0x63
lsl r1, r1, #2
str r0, [r7, r1]
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0225FB40: .word ov91_02261C64
_0225FB44: .word 0x00200010
thumb_func_end ov91_0225FA9C
thumb_func_start ov91_0225FB48
ov91_0225FB48: ; 0x0225FB48
push {r4, r5, r6, lr}
add r5, r0, #0
mov r0, #0x63
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_020135AC
ldr r0, [r5, #0x1c]
bl SpriteList_Delete
mov r6, #0x52
mov r4, #0
lsl r6, r6, #2
_0225FB62:
ldr r0, [r5, r6]
bl Destroy2DGfxResObjMan
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _0225FB62
bl sub_0202168C
bl sub_02022608
bl OamManager_Free
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov91_0225FB48
thumb_func_start ov91_0225FB80
ov91_0225FB80: ; 0x0225FB80
push {r3, r4, r5, r6, lr}
sub sp, #0x2c
add r4, r2, #0
mov r2, #0xc8
add r5, r0, #0
str r2, [sp]
mov r0, #1
str r0, [sp, #4]
str r4, [sp, #8]
add r2, #0x80
ldr r0, [r5, r2]
mov r2, #2
mov r3, #0
add r6, r1, #0
bl AddCharResObjFromOpenNarc
mov r1, #0x5f
lsl r1, r1, #2
str r0, [r5, r1]
mov r1, #0xc8
str r1, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #8
str r0, [sp, #8]
str r4, [sp, #0xc]
add r1, #0x84
ldr r0, [r5, r1]
add r1, r6, #0
mov r2, #3
mov r3, #0
bl AddPlttResObjFromOpenNarc
mov r1, #6
lsl r1, r1, #6
str r0, [r5, r1]
mov r1, #0xc8
str r1, [sp]
mov r0, #2
str r0, [sp, #4]
str r4, [sp, #8]
add r1, #0x88
ldr r0, [r5, r1]
add r1, r6, #0
mov r2, #1
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
mov r1, #0x61
lsl r1, r1, #2
str r0, [r5, r1]
mov r1, #0xc8
str r1, [sp]
mov r0, #3
str r0, [sp, #4]
mov r2, #0
str r4, [sp, #8]
add r1, #0x8c
ldr r0, [r5, r1]
add r1, r6, #0
add r3, r2, #0
bl AddCellOrAnimResObjFromOpenNarc
mov r1, #0x62
lsl r1, r1, #2
str r0, [r5, r1]
sub r1, #0xc
ldr r0, [r5, r1]
bl sub_0200AE18
cmp r0, #0
bne _0225FC14
bl GF_AssertFail
_0225FC14:
mov r0, #6
lsl r0, r0, #6
ldr r0, [r5, r0]
bl sub_0200B00C
cmp r0, #0
bne _0225FC26
bl GF_AssertFail
_0225FC26:
mov r0, #0x5f
lsl r0, r0, #2
ldr r0, [r5, r0]
bl sub_0200A740
mov r0, #6
lsl r0, r0, #6
ldr r0, [r5, r0]
bl sub_0200A740
mov r1, #0xc8
add r0, r1, #0
add r2, r1, #0
str r1, [sp]
sub r0, #0xc9
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
str r0, [sp, #0x10]
add r2, #0x80
ldr r2, [r5, r2]
add r3, r1, #0
str r2, [sp, #0x14]
add r2, r1, #0
add r2, #0x84
ldr r2, [r5, r2]
str r2, [sp, #0x18]
add r2, r1, #0
add r2, #0x88
ldr r2, [r5, r2]
str r2, [sp, #0x1c]
add r2, r1, #0
add r2, #0x8c
ldr r2, [r5, r2]
str r2, [sp, #0x20]
str r0, [sp, #0x24]
str r0, [sp, #0x28]
add r0, r1, #0
add r0, #0x90
add r0, r5, r0
add r2, r1, #0
bl CreateSpriteResourcesHeader
add sp, #0x2c
pop {r3, r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov91_0225FB80
thumb_func_start ov91_0225FC84
ov91_0225FC84: ; 0x0225FC84
push {r4, lr}
add r4, r0, #0
mov r0, #0x5f
lsl r0, r0, #2
ldr r0, [r4, r0]
bl sub_0200AEB0
mov r0, #6
lsl r0, r0, #6
ldr r0, [r4, r0]
bl sub_0200B0A8
mov r1, #0x52
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, #0x34
ldr r1, [r4, r1]
bl DestroySingle2DGfxResObj
mov r1, #0x53
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, #0x34
ldr r1, [r4, r1]
bl DestroySingle2DGfxResObj
mov r1, #0x15
lsl r1, r1, #4
ldr r0, [r4, r1]
add r1, #0x34
ldr r1, [r4, r1]
bl DestroySingle2DGfxResObj
mov r1, #0x55
lsl r1, r1, #2
ldr r0, [r4, r1]
add r1, #0x34
ldr r1, [r4, r1]
bl DestroySingle2DGfxResObj
pop {r4, pc}
.balign 4, 0
thumb_func_end ov91_0225FC84
thumb_func_start ov91_0225FCD8
ov91_0225FCD8: ; 0x0225FCD8
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
bl MessageFormat_New
str r0, [r5, #4]
mov r0, #0
mov r1, #0x1b
mov r2, #0xe6
add r3, r4, #0
bl NewMsgDataFromNarc
str r0, [r5, #8]
mov r0, #0x80
add r1, r4, #0
bl String_New
str r0, [r5, #0xc]
mov r0, #0x80
add r1, r4, #0
bl String_New
str r0, [r5, #0x10]
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov91_0225FCD8
thumb_func_start ov91_0225FD0C
ov91_0225FD0C: ; 0x0225FD0C
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x10]
bl String_Delete
ldr r0, [r4, #0xc]
bl String_Delete
ldr r0, [r4, #8]
bl DestroyMsgData
ldr r0, [r4, #4]
bl MessageFormat_Delete
pop {r4, pc}
.balign 4, 0
thumb_func_end ov91_0225FD0C
thumb_func_start ov91_0225FD2C
ov91_0225FD2C: ; 0x0225FD2C
push {r4, r5, r6, lr}
sub sp, #0x20
add r5, r0, #0
add r0, r3, #0
add r4, r1, #0
add r6, r2, #0
bl Camera_New
mov r1, #0x19
lsl r1, r1, #4
str r0, [r5, r1]
mov r0, #0
add r2, r1, #4
str r0, [r5, r2]
add r2, r1, #0
add r2, #8
str r0, [r5, r2]
add r2, r1, #0
add r2, #0xc
str r0, [r5, r2]
ldr r3, _0225FDB8 ; =0x0000F112
add r2, sp, #0xc
strh r3, [r2]
ldr r3, _0225FDBC ; =ov91_02261D5C
lsl r4, r4, #3
lsl r6, r6, #1
add r3, r3, r4
ldrh r3, [r6, r3]
strh r3, [r2, #2]
strh r0, [r2, #4]
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, [r5, r1]
ldr r3, _0225FDC0 ; =0x00000FA4
str r0, [sp, #8]
add r0, r1, #4
ldr r1, _0225FDC4 ; =0x001D9000
add r0, r5, r0
add r2, sp, #0xc
bl Camera_Init_FromTargetDistanceAndAngle
mov r1, #0
mov r0, #1
lsl r0, r0, #0xc
str r0, [sp, #0x18]
str r1, [sp, #0x14]
str r1, [sp, #0x1c]
mov r1, #0x19
lsl r1, r1, #4
ldr r1, [r5, r1]
add r0, sp, #0x14
bl Camera_SetLookAtCamUp
mov r0, #0x19
lsl r0, r0, #4
ldr r0, [r5, r0]
bl Camera_SetStaticPtr
mov r0, #0x32
lsl r0, r0, #0xe
lsr r2, r0, #0xb
mov r1, #0xfa
ldr r2, [r5, r2]
lsl r1, r1, #0xe
bl Camera_SetPerspectiveClippingPlane
add sp, #0x20
pop {r4, r5, r6, pc}
nop
_0225FDB8: .word 0x0000F112
_0225FDBC: .word ov91_02261D5C
_0225FDC0: .word 0x00000FA4
_0225FDC4: .word 0x001D9000
thumb_func_end ov91_0225FD2C
thumb_func_start ov91_0225FDC8
ov91_0225FDC8: ; 0x0225FDC8
mov r1, #0x19
lsl r1, r1, #4
ldr r3, _0225FDD4 ; =Camera_Delete
ldr r0, [r0, r1]
bx r3
nop
_0225FDD4: .word Camera_Delete
thumb_func_end ov91_0225FDC8
thumb_func_start ov91_0225FDD8
ov91_0225FDD8: ; 0x0225FDD8
ldr r3, _0225FDDC ; =Camera_PushLookAtToNNSGlb
bx r3
.balign 4, 0
_0225FDDC: .word Camera_PushLookAtToNNSGlb
thumb_func_end ov91_0225FDD8
thumb_func_start ov91_0225FDE0
ov91_0225FDE0: ; 0x0225FDE0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
add r4, r3, #0
str r0, [sp, #8]
add r6, r1, #0
str r4, [sp, #0xc]
add r7, r2, #0
ldr r2, [r5]
add r0, r6, #0
mov r1, #0xc
mov r3, #4
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
str r4, [sp, #0xc]
ldr r2, [r5]
add r0, r6, #0
mov r1, #0xe
mov r3, #7
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
str r4, [sp, #0xc]
ldr r2, [r5]
add r0, r6, #0
mov r1, #0xf
mov r3, #6
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
str r4, [sp, #0xc]
ldr r2, [r5]
add r0, r6, #0
mov r1, #0x10
mov r3, #5
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
str r4, [sp, #0xc]
ldr r2, [r5]
add r0, r6, #0
mov r1, #0x11
mov r3, #4
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #6
lsl r0, r0, #6
str r0, [sp]
add r0, r6, #0
mov r1, #0xd
mov r2, #4
mov r3, #0
str r4, [sp, #4]
bl GfGfxLoader_GXLoadPalFromOpenNarc
mov r0, #0x20
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0225FEF8 ; =ov91_02261BEC
mov r2, #0
ldrb r0, [r0, r7]
mov r1, #7
add r3, r2, #0
str r0, [sp, #8]
ldr r0, [r5]
bl BgTilemapRectChangePalette
mov r0, #0x20
str r0, [sp]
lsl r4, r7, #1
str r0, [sp, #4]
add r0, r4, #2
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
mov r2, #0
ldr r0, [r5]
mov r1, #6
add r3, r2, #0
bl BgTilemapRectChangePalette
mov r0, #0x20
str r0, [sp]
mov r2, #0
add r4, r4, #1
str r0, [sp, #4]
lsl r0, r4, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
ldr r0, [r5]
mov r1, #5
add r3, r2, #0
bl BgTilemapRectChangePalette
mov r0, #0x20
str r0, [sp]
str r0, [sp, #4]
lsl r0, r4, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
mov r2, #0
ldr r0, [r5]
mov r1, #4
add r3, r2, #0
bl BgTilemapRectChangePalette
ldr r0, [r5]
mov r1, #4
bl BgCommitTilemapBufferToVram
ldr r0, [r5]
mov r1, #5
bl BgCommitTilemapBufferToVram
ldr r0, [r5]
mov r1, #6
bl BgCommitTilemapBufferToVram
ldr r0, [r5]
mov r1, #7
bl BgCommitTilemapBufferToVram
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0225FEF8: .word ov91_02261BEC
thumb_func_end ov91_0225FDE0
thumb_func_start ov91_0225FEFC
ov91_0225FEFC: ; 0x0225FEFC
bx lr
.balign 4, 0
thumb_func_end ov91_0225FEFC
thumb_func_start ov91_0225FF00
ov91_0225FF00: ; 0x0225FF00
push {r4, r5, r6, r7, lr}
sub sp, #0x2c
str r2, [sp, #0x10]
mov r2, #0x23
str r1, [sp, #0xc]
mov r1, #0
lsl r2, r2, #4
str r0, [sp, #8]
str r3, [sp, #0x14]
bl memset
mov r1, #0x5a
ldr r0, [sp, #8]
lsl r1, r1, #2
ldr r6, _022600E4 ; =ov91_02261C04
mov r7, #0
add r4, r0, r1
add r5, r0, #0
_0225FF24:
ldrh r2, [r6]
ldr r1, [sp, #0xc]
ldr r3, [sp, #0x10]
add r0, r4, #0
bl sub_02018030
add r0, r5, #0
add r1, r4, #0
bl sub_020181B0
add r0, r5, #0
mov r1, #0
bl sub_020182A0
mov r1, #0
ldr r2, _022600E8 ; =0xFFEDE000
add r0, r5, #0
add r3, r1, #0
bl sub_020182A8
mov r1, #6
lsl r1, r1, #0xa
add r0, r5, #0
add r2, r1, #0
add r3, r1, #0
bl sub_020182C4
add r7, r7, #1
add r6, r6, #2
add r4, #0x10
add r5, #0x78
cmp r7, #3
blt _0225FF24
mov r0, #0
str r0, [sp, #0x18]
ldr r0, _022600EC ; =ov91_02261C1C
mov r1, #0x66
str r0, [sp, #0x28]
ldr r0, _022600F0 ; =ov91_0226274C
lsl r1, r1, #2
str r0, [sp, #0x24]
ldr r0, [sp, #8]
ldr r6, [sp, #8]
add r0, r0, r1
str r0, [sp, #0x20]
ldr r0, _022600F4 ; =ov91_022621AC
str r0, [sp, #0x1c]
_0225FF82:
ldr r0, [sp, #0x10]
mov r2, #0x5a
str r0, [sp]
ldr r0, [sp, #0x14]
ldr r1, [sp, #8]
lsl r2, r2, #2
add r2, r1, r2
str r0, [sp, #4]
ldr r1, [sp, #0x24]
ldr r3, [sp, #0x28]
ldrb r1, [r1]
ldrh r3, [r3]
ldr r0, [sp, #0x20]
lsl r1, r1, #4
add r1, r2, r1
ldr r2, [sp, #0xc]
bl sub_020180BC
ldr r0, [sp, #0x20]
mov r1, #0
bl sub_02018198
ldr r0, [sp, #0x24]
mov r5, #0
ldrb r0, [r0]
lsl r1, r0, #4
ldr r0, [sp, #8]
add r1, r0, r1
mov r0, #0x17
lsl r0, r0, #4
ldr r4, [r1, r0]
cmp r4, #0
beq _0225FFC8
add r4, #0x40
b _0225FFCA
_0225FFC8:
add r4, r5, #0
_0225FFCA:
cmp r4, #0
bne _0225FFD2
mov r7, #1
b _0225FFE4
_0225FFD2:
mov r7, #0
b _0225FFE4
_0225FFD6:
mov r0, #0x1a
lsl r0, r0, #4
ldr r0, [r6, r0]
add r1, r5, #0
bl NNS_G3dAnmObjDisableID
add r5, r5, #1
_0225FFE4:
cmp r7, #0
bne _02260004
cmp r4, #0
beq _02260000
ldrb r0, [r4, #1]
cmp r5, r0
bhs _02260000
ldrh r0, [r4, #6]
add r1, r4, r0
ldrh r0, [r1, #2]
add r1, r1, r0
lsl r0, r5, #4
add r0, r1, r0
b _02260006
_02260000:
mov r0, #0
b _02260006
_02260004:
mov r0, #0
_02260006:
cmp r0, #0
bne _0225FFD6
ldr r5, [sp, #0x1c]
mov r7, #0
_0226000E:
cmp r4, #0
beq _0226001E
add r0, r4, #0
add r1, r5, #0
bl NNS_G3dGetResDictIdxByName
add r1, r0, #0
b _02260022
_0226001E:
mov r1, #0
mvn r1, r1
_02260022:
mov r0, #0
mvn r0, r0
cmp r1, r0
beq _02260034
mov r0, #0x1a
lsl r0, r0, #4
ldr r0, [r6, r0]
bl NNS_G3dAnmObjEnableID
_02260034:
add r7, r7, #1
add r5, #0x10
cmp r7, #0xf
blt _0226000E
ldr r0, [sp, #0x28]
add r6, #0x14
add r0, r0, #2
str r0, [sp, #0x28]
ldr r0, [sp, #0x24]
add r0, r0, #1
str r0, [sp, #0x24]
ldr r0, [sp, #0x20]
add r0, #0x14
str r0, [sp, #0x20]
ldr r0, [sp, #0x1c]
add r0, #0xf0
str r0, [sp, #0x1c]
ldr r0, [sp, #0x18]
add r0, r0, #1
str r0, [sp, #0x18]
cmp r0, #6
blt _0225FF82
ldr r0, _022600F8 ; =_02261BE8
mov r4, #0x85
ldrb r5, [r0]
ldr r0, [sp, #0x10]
lsl r4, r4, #2
str r0, [sp]
ldr r0, [sp, #0x14]
add r2, r4, #0
str r0, [sp, #4]
ldr r0, [sp, #8]
ldr r1, [sp, #8]
sub r2, #0xac
add r2, r1, r2
lsl r1, r5, #4
add r1, r2, r1
ldr r2, [sp, #0xc]
add r0, r0, r4
mov r3, #0x20
bl sub_020180BC
mov r0, #0x78
add r1, r5, #0
mul r1, r0
ldr r0, [sp, #8]
add r0, r0, r1
ldr r1, [sp, #8]
add r1, r1, r4
bl sub_020181D4
add r2, r4, #0
ldr r0, [sp, #8]
mov r1, #4
add r2, #0x18
strh r1, [r0, r2]
mov r1, #0
add r2, r2, #2
strh r1, [r0, r2]
bl ov91_02260334
ldr r0, [sp, #8]
add r2, r4, #0
ldr r1, [sp, #8]
sub r2, #0x2c
add r0, #0x78
add r1, r1, r2
bl sub_020181D4
add r1, r4, #0
ldr r0, [sp, #8]
sub r1, #0x2c
add r0, r0, r1
mov r1, #0
bl sub_02018198
ldr r0, [sp, #8]
mov r1, #1
add r0, #0x78
bl sub_020182A0
ldr r0, [sp, #8]
mov r2, #4
sub r1, r4, #4
strh r2, [r0, r1]
add sp, #0x2c
pop {r4, r5, r6, r7, pc}
nop
_022600E4: .word ov91_02261C04
_022600E8: .word 0xFFEDE000
_022600EC: .word ov91_02261C1C
_022600F0: .word ov91_0226274C
_022600F4: .word ov91_022621AC
_022600F8: .word _02261BE8
thumb_func_end ov91_0225FF00
thumb_func_start ov91_022600FC
ov91_022600FC: ; 0x022600FC
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
mov r0, #0x5a
lsl r0, r0, #2
add r6, r1, #0
mov r4, #0
add r5, r7, r0
_0226010A:
add r0, r5, #0
bl sub_02018068
add r4, r4, #1
add r5, #0x10
cmp r4, #3
blt _0226010A
mov r0, #0x66
lsl r0, r0, #2
mov r5, #0
add r4, r7, r0
_02260120:
add r0, r4, #0
add r1, r6, #0
bl sub_020180F8
add r5, r5, #1
add r4, #0x14
cmp r5, #6
blt _02260120
mov r0, #0x85
lsl r0, r0, #2
add r0, r7, r0
add r1, r6, #0
bl sub_020180F8
mov r2, #0x23
add r0, r7, #0
mov r1, #0
lsl r2, r2, #4
bl memset
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov91_022600FC
thumb_func_start ov91_0226014C
ov91_0226014C: ; 0x0226014C
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
add r4, r2, #0
bl ov91_022601C8
add r0, r5, #0
add r1, r6, #0
bl ov91_022601F4
add r0, r5, #0
add r1, r6, #0
bl ov91_02260218
cmp r4, #0
beq _02260174
cmp r4, #1
beq _0226018E
cmp r4, #2
bne _022601A8
_02260174:
add r0, r5, #0
mov r1, #1
bl ov91_02260298
ldrh r1, [r6, #4]
add r0, r5, #0
bl ov91_02260254
add r0, r5, #0
mov r1, #1
bl ov91_02260334
pop {r4, r5, r6, pc}
_0226018E:
add r0, r5, #0
mov r1, #3
bl ov91_02260298
add r0, r5, #0
mov r1, #0
bl ov91_02260334
mov r1, #1
add r0, r5, #0
lsl r1, r1, #0xc
bl ov91_0226031C
_022601A8:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov91_0226014C
thumb_func_start ov91_022601AC
ov91_022601AC: ; 0x022601AC
push {r4, lr}
add r4, r0, #0
mov r0, #0x66
lsl r0, r0, #2
mov r1, #1
add r0, r4, r0
lsl r1, r1, #0xc
bl sub_02018124
add r0, r4, #0
bl ov91_02260378
pop {r4, pc}
.balign 4, 0
thumb_func_end ov91_022601AC
thumb_func_start ov91_022601C8
ov91_022601C8: ; 0x022601C8
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r1, #0
mov r6, #0
_022601D0:
add r1, r4, #0
add r2, r4, #0
add r3, r4, #0
add r1, #0xd8
add r2, #0xdc
add r3, #0xe0
ldr r1, [r1]
ldr r2, [r2]
ldr r3, [r3]
add r0, r5, #0
bl sub_020182A8
add r6, r6, #1
add r5, #0x78
cmp r6, #3
blt _022601D0
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov91_022601C8
thumb_func_start ov91_022601F4
ov91_022601F4: ; 0x022601F4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldrh r0, [r1, #2]
mov r4, #0
mov r7, #1
lsl r0, r0, #0x10
lsr r6, r0, #0x10
_02260202:
add r0, r5, #0
add r1, r6, #0
add r2, r7, #0
bl sub_020182E0
add r4, r4, #1
add r5, #0x78
cmp r4, #3
blt _02260202
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov91_022601F4
thumb_func_start ov91_02260218
ov91_02260218: ; 0x02260218
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
mov r4, #0
_02260220:
add r0, r6, #0
add r0, #0xd4
ldr r1, [r0]
add r0, r5, #0
add r2, r1, #0
add r3, r1, #0
bl sub_020182C4
add r4, r4, #1
add r5, #0x78
cmp r4, #3
blt _02260220
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov91_02260218
thumb_func_start ov91_0226023C
ov91_0226023C: ; 0x0226023C
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_02260242:
add r0, r5, #0
bl sub_020181EC
add r4, r4, #1
add r5, #0x78
cmp r4, #3
blt _02260242
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov91_0226023C
thumb_func_start ov91_02260254
ov91_02260254: ; 0x02260254
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _02260290 ; =0x0000F222
add r4, r1, #0
bl GF_DegreeToSinCosIdx
add r1, r0, #0
ldr r0, _02260294 ; =0x00000E38
sub r2, r4, r0
mov r0, #0x5a
mul r0, r2
bl _u32_div_f
mov r1, #0x2d
lsl r1, r1, #0xe
mul r1, r0
add r0, r1, #0
mov r1, #0x5a
bl _s32_div_f
mov r1, #0x2d
lsl r1, r1, #0xe
sub r1, r1, r0
mov r0, #0x6b
lsl r0, r0, #2
add r0, r5, r0
bl sub_02018198
pop {r3, r4, r5, pc}
nop
_02260290: .word 0x0000F222
_02260294: .word 0x00000E38
thumb_func_end ov91_02260254
thumb_func_start ov91_02260298
ov91_02260298: ; 0x02260298
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r5, r0, #0
cmp r4, #6
blo _022602A6
bl GF_AssertFail
_022602A6:
mov r2, #0x21
lsl r2, r2, #4
ldrh r1, [r5, r2]
cmp r1, r4
beq _02260314
ldr r0, _02260318 ; =ov91_0226274C
sub r2, #0x78
ldrb r3, [r0, r1]
mov r0, #0x78
mul r0, r3
add r3, r5, r2
mov r2, #0x14
mul r2, r1
add r0, r5, r0
add r1, r3, r2
bl sub_020181E0
mov r0, #0x66
lsl r0, r0, #2
add r6, r5, r0
mov r0, #0x14
add r7, r4, #0
mul r7, r0
ldr r0, _02260318 ; =ov91_0226274C
ldrb r1, [r0, r4]
mov r0, #0x78
mul r0, r1
str r0, [sp]
add r0, r5, r0
add r1, r6, r7
bl sub_020181D4
add r0, r6, r7
mov r1, #0
bl sub_02018198
mov r0, #0x21
lsl r0, r0, #4
ldrh r1, [r5, r0]
ldr r0, _02260318 ; =ov91_0226274C
ldrb r1, [r0, r1]
mov r0, #0x78
mul r0, r1
add r0, r5, r0
mov r1, #0
bl sub_020182A0
ldr r0, [sp]
mov r1, #1
add r0, r5, r0
bl sub_020182A0
mov r0, #0x21
lsl r0, r0, #4
strh r4, [r5, r0]
_02260314:
pop {r3, r4, r5, r6, r7, pc}
nop
_02260318: .word ov91_0226274C
thumb_func_end ov91_02260298
thumb_func_start ov91_0226031C
ov91_0226031C: ; 0x0226031C
mov r2, #0x66
lsl r2, r2, #2
add r3, r0, r2
add r2, #0x78
ldrh r2, [r0, r2]
mov r0, #0x14
mul r0, r2
add r0, r3, r0
ldr r3, _02260330 ; =sub_0201815C
bx r3
.balign 4, 0
_02260330: .word sub_0201815C
thumb_func_end ov91_0226031C
thumb_func_start ov91_02260334
ov91_02260334: ; 0x02260334
push {r3, r4, r5, lr}
add r4, r1, #0
ldr r1, _02260360 ; =0x00000212
add r5, r0, #0
ldrh r2, [r5, r1]
cmp r2, r4
beq _0226035C
cmp r4, #1
bne _02260350
sub r1, #0x7a
add r1, r5, r1
bl sub_020181D4
b _02260358
_02260350:
sub r1, #0x7a
add r1, r5, r1
bl sub_020181E0
_02260358:
ldr r0, _02260360 ; =0x00000212
strh r4, [r5, r0]
_0226035C:
pop {r3, r4, r5, pc}
nop
_02260360: .word 0x00000212
thumb_func_end ov91_02260334
thumb_func_start ov91_02260364
ov91_02260364: ; 0x02260364
ldr r2, _0226036C ; =0x0000022E
strh r1, [r0, r2]
bx lr
nop
_0226036C: .word 0x0000022E
thumb_func_end ov91_02260364
thumb_func_start ov91_02260370
ov91_02260370: ; 0x02260370
mov r2, #0x8b
lsl r2, r2, #2
strh r1, [r0, r2]
bx lr
thumb_func_end ov91_02260370
thumb_func_start ov91_02260378
ov91_02260378: ; 0x02260378
push {r3, r4, r5, lr}
ldr r2, _022603F4 ; =0x0000022E
add r3, r0, #0
ldrh r0, [r3, r2]
cmp r0, #1
bne _022603AA
sub r0, r2, #6
mov r1, #2
ldr r0, [r3, r0]
lsl r1, r1, #0xc
add r4, r0, r1
mov r0, #0xa
lsl r0, r0, #0xe
cmp r4, r0
bge _022603A2
sub r0, r2, #6
ldr r0, [r3, r0]
add r1, r0, r1
sub r0, r2, #6
str r1, [r3, r0]
b _022603E4
_022603A2:
lsr r1, r1, #1
sub r0, r2, #6
str r1, [r3, r0]
b _022603E4
_022603AA:
sub r0, r2, #2
ldrh r0, [r3, r0]
cmp r0, #4
bne _022603B6
mov r0, #0
b _022603B8
_022603B6:
add r0, r0, #1
_022603B8:
lsl r2, r0, #1
ldr r0, _022603F8 ; =ov91_02261C12
mov r4, #0x8a
ldrb r0, [r0, r2]
lsl r4, r4, #2
ldr r5, [r3, r4]
lsl r1, r0, #0xc
cmp r5, r1
bge _022603CE
str r1, [r3, r4]
b _022603E4
_022603CE:
mov r0, #2
lsl r0, r0, #0xc
add r0, r5, r0
ldr r5, _022603FC ; =ov91_02261C13
ldrb r2, [r5, r2]
lsl r2, r2, #0xc
cmp r0, r2
bge _022603E2
str r0, [r3, r4]
b _022603E4
_022603E2:
str r1, [r3, r4]
_022603E4:
mov r1, #0x85
lsl r1, r1, #2
add r0, r3, r1
add r1, #0x14
ldr r1, [r3, r1]
bl sub_02018198
pop {r3, r4, r5, pc}
.balign 4, 0
_022603F4: .word 0x0000022E
_022603F8: .word ov91_02261C12
_022603FC: .word ov91_02261C13
thumb_func_end ov91_02260378
thumb_func_start ov91_02260400
ov91_02260400: ; 0x02260400
push {r3, r4}
mov r3, #0xff
sub r0, r3, r0
mov r3, #0x96
lsl r3, r3, #4
add r4, r0, #0
mul r4, r3
lsl r0, r3, #7
sub r0, r4, r0
add r4, r1, #0
str r0, [r2]
mul r4, r3
lsl r0, r3, #7
sub r1, r4, r0
ldr r0, _02260428 ; =0xFFED4000
sub r0, r0, r1
str r0, [r2, #8]
pop {r3, r4}
bx lr
nop
_02260428: .word 0xFFED4000
thumb_func_end ov91_02260400
thumb_func_start ov91_0226042C
ov91_0226042C: ; 0x0226042C
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r1, #0x4b
ldr r0, [r5]
lsl r1, r1, #0xc
add r0, r0, r1
lsr r1, r1, #7
bl _s32_div_f
mov r1, #0xff
sub r0, r1, r0
strh r0, [r4]
ldr r1, [r5, #8]
ldr r0, _02260458 ; =0xFFF1F000
sub r0, r0, r1
mov r1, #0x96
lsl r1, r1, #4
bl _s32_div_f
strh r0, [r4, #2]
pop {r3, r4, r5, pc}
.balign 4, 0
_02260458: .word 0xFFF1F000
thumb_func_end ov91_0226042C
thumb_func_start ov91_0226045C
ov91_0226045C: ; 0x0226045C
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r6, r0, #0
add r0, sp, #0
add r7, r1, #0
add r5, r2, #0
add r4, r3, #0
bl MTX_Identity33_
ldr r0, _0226049C ; =ov91_02261D3C
lsl r2, r4, #3
lsl r1, r5, #1
add r0, r0, r2
ldrh r0, [r1, r0]
ldr r3, _022604A0 ; =FX_SinCosTable_
asr r0, r0, #4
lsl r2, r0, #1
lsl r1, r2, #1
add r2, r2, #1
lsl r2, r2, #1
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
add r0, sp, #0
bl MTX_RotY33_
add r0, r6, #0
add r1, sp, #0
add r2, r7, #0
bl MTX_MultVec33
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0226049C: .word ov91_02261D3C
_022604A0: .word FX_SinCosTable_
thumb_func_end ov91_0226045C
thumb_func_start ov91_022604A4
ov91_022604A4: ; 0x022604A4
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r6, r0, #0
add r0, sp, #0
add r7, r1, #0
add r5, r2, #0
add r4, r3, #0
bl MTX_Identity33_
ldr r0, _022604EC ; =ov91_02261D3C
lsl r2, r4, #3
lsl r1, r5, #1
add r0, r0, r2
ldrh r0, [r1, r0]
ldr r3, _022604F0 ; =FX_SinCosTable_
asr r0, r0, #4
lsl r2, r0, #1
lsl r1, r2, #1
add r2, r2, #1
lsl r2, r2, #1
ldrsh r1, [r3, r1]
ldrsh r2, [r3, r2]
add r0, sp, #0
bl MTX_RotY33_
add r0, sp, #0
add r1, r0, #0
bl MTX_Inverse33
add r0, r6, #0
add r1, sp, #0
add r2, r7, #0
bl MTX_MultVec33
add sp, #0x24
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_022604EC: .word ov91_02261D3C
_022604F0: .word FX_SinCosTable_
thumb_func_end ov91_022604A4
thumb_func_start ov91_022604F4
ov91_022604F4: ; 0x022604F4
push {r4, r5, r6, r7, lr}
sub sp, #0x34
add r5, r0, #0
mov r0, #0
str r0, [sp, #0x30]
ldr r0, _0226064C ; =0x000006FC
ldr r4, _02260650 ; =ov91_02261BF0
str r1, [sp, #0x2c]
add r7, r2, #0
add r6, r5, r0
_02260508:
ldrb r2, [r4]
ldr r1, [sp, #0x2c]
add r0, r6, #0
add r3, r7, #0
bl sub_02018030
ldr r0, [sp, #0x30]
add r4, r4, #1
add r0, r0, #1
add r6, #0x10
str r0, [sp, #0x30]
cmp r0, #5
blt _02260508
ldr r0, _02260654 ; =0x0000074C
ldr r1, [sp, #0x2c]
add r0, r5, r0
mov r2, #0x2e
add r3, r7, #0
bl sub_02018030
ldr r0, _02260658 ; =0x00000754
mov r2, #0x1f
ldr r0, [r5, r0]
mov r1, #0
lsl r2, r2, #0x10
bl NNSi_G3dModifyPolygonAttrMask
mov r1, #0x64
str r1, [sp]
mov r0, #2
str r0, [sp, #4]
str r7, [sp, #8]
add r1, #0xe4
ldr r0, [r5, r1]
ldr r1, [sp, #0x2c]
mov r2, #7
mov r3, #0
bl AddCharResObjFromOpenNarc
ldr r1, _0226065C ; =0x0000075C
mov r2, #4
str r0, [r5, r1]
mov r1, #0x64
str r1, [sp]
mov r0, #2
str r0, [sp, #4]
str r2, [sp, #8]
str r7, [sp, #0xc]
add r1, #0xe8
ldr r0, [r5, r1]
ldr r1, [sp, #0x2c]
mov r3, #0
bl AddPlttResObjFromOpenNarc
mov r1, #0x76
lsl r1, r1, #4
str r0, [r5, r1]
mov r1, #0x64
str r1, [sp]
mov r0, #2
str r0, [sp, #4]
str r7, [sp, #8]
add r1, #0xec
ldr r0, [r5, r1]
ldr r1, [sp, #0x2c]
mov r2, #6
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
ldr r1, _02260660 ; =0x00000764
mov r2, #5
str r0, [r5, r1]
mov r1, #0x64
str r1, [sp]
mov r0, #3
str r0, [sp, #4]
str r7, [sp, #8]
add r1, #0xf0
ldr r0, [r5, r1]
ldr r1, [sp, #0x2c]
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
ldr r1, _02260664 ; =0x00000768
str r0, [r5, r1]
sub r1, #0xc
ldr r0, [r5, r1]
bl sub_0200AE18
cmp r0, #0
bne _022605C2
bl GF_AssertFail
_022605C2:
mov r0, #0x76
lsl r0, r0, #4
ldr r0, [r5, r0]
bl sub_0200B00C
cmp r0, #0
bne _022605D4
bl GF_AssertFail
_022605D4:
ldr r0, _0226065C ; =0x0000075C
ldr r0, [r5, r0]
bl sub_0200A740
mov r0, #0x76
lsl r0, r0, #4
ldr r0, [r5, r0]
bl sub_0200A740
mov r1, #0x64
add r0, r1, #0
add r2, r1, #0
str r1, [sp]
sub r0, #0x65
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
str r0, [sp, #0x10]
add r2, #0xe4
ldr r2, [r5, r2]
add r3, r1, #0
str r2, [sp, #0x14]
add r2, r1, #0
add r2, #0xe8
ldr r2, [r5, r2]
str r2, [sp, #0x18]
add r2, r1, #0
add r2, #0xec
ldr r2, [r5, r2]
str r2, [sp, #0x1c]
add r2, r1, #0
add r2, #0xf0
ldr r2, [r5, r2]
str r2, [sp, #0x20]
str r0, [sp, #0x24]
str r0, [sp, #0x28]
ldr r0, _02260668 ; =0x0000076C
add r2, r1, #0
add r0, r5, r0
bl CreateSpriteResourcesHeader
mov r0, #0x79
lsl r0, r0, #4
mov r6, #0
add r4, r5, r0
_02260630:
add r0, r5, #0
add r1, r4, #0
add r2, r7, #0
bl ov91_022607C4
mov r0, #0x42
lsl r0, r0, #2
add r6, r6, #1
add r4, r4, r0
cmp r6, #0x60
blt _02260630
add sp, #0x34
pop {r4, r5, r6, r7, pc}
nop
_0226064C: .word 0x000006FC
_02260650: .word ov91_02261BF0
_02260654: .word 0x0000074C
_02260658: .word 0x00000754
_0226065C: .word 0x0000075C
_02260660: .word 0x00000764
_02260664: .word 0x00000768
_02260668: .word 0x0000076C
thumb_func_end ov91_022604F4
thumb_func_start ov91_0226066C
ov91_0226066C: ; 0x0226066C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0x79
lsl r0, r0, #4
mov r7, #0x42
mov r6, #0
add r4, r5, r0
lsl r7, r7, #2
_0226067C:
add r0, r5, #0
add r1, r4, #0
bl ov91_02260830
add r6, r6, #1
add r4, r4, r7
cmp r6, #0x60
blt _0226067C
ldr r0, _02260714 ; =0x0000075C
ldr r0, [r5, r0]
bl sub_0200AEB0
mov r0, #0x76
lsl r0, r0, #4
ldr r0, [r5, r0]
bl sub_0200B0A8
mov r0, #0x52
ldr r1, _02260714 ; =0x0000075C
lsl r0, r0, #2
ldr r0, [r5, r0]
ldr r1, [r5, r1]
bl DestroySingle2DGfxResObj
mov r0, #0x53
mov r1, #0x76
lsl r0, r0, #2
lsl r1, r1, #4
ldr r0, [r5, r0]
ldr r1, [r5, r1]
bl DestroySingle2DGfxResObj
mov r0, #0x15
ldr r1, _02260718 ; =0x00000764
lsl r0, r0, #4
ldr r0, [r5, r0]
ldr r1, [r5, r1]
bl DestroySingle2DGfxResObj
mov r0, #0x55
ldr r1, _0226071C ; =0x00000768
lsl r0, r0, #2
ldr r0, [r5, r0]
ldr r1, [r5, r1]
bl DestroySingle2DGfxResObj
ldr r0, _02260720 ; =0x000006FC
mov r6, #0
add r4, r5, r0
_022606DE:
add r0, r4, #0
bl sub_02018068
add r6, r6, #1
add r4, #0x10
cmp r6, #5
blt _022606DE
ldr r0, _02260724 ; =0x0000074C
add r0, r5, r0
bl sub_02018068
ldr r0, _02260720 ; =0x000006FC
mov r1, #0
add r0, r5, r0
mov r2, #0x94
bl memset
mov r0, #0x79
lsl r0, r0, #4
mov r2, #0x63
add r0, r5, r0
mov r1, #0
lsl r2, r2, #8
bl memset
pop {r3, r4, r5, r6, r7, pc}
nop
_02260714: .word 0x0000075C
_02260718: .word 0x00000764
_0226071C: .word 0x00000768
_02260720: .word 0x000006FC
_02260724: .word 0x0000074C
thumb_func_end ov91_0226066C
thumb_func_start ov91_02260728
ov91_02260728: ; 0x02260728
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
add r5, r0, #0
add r7, r2, #0
add r6, r3, #0
bl ov91_02260A50
add r1, r0, #0
ldrh r0, [r4, #4]
cmp r0, r6
bne _0226074A
add r0, r5, #0
add r2, r4, #0
add r3, r7, #0
bl ov91_02260848
pop {r3, r4, r5, r6, r7, pc}
_0226074A:
add r0, r5, #0
add r2, r4, #0
bl ov91_02260884
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov91_02260728
thumb_func_start ov91_02260754
ov91_02260754: ; 0x02260754
push {r4, r5, r6, lr}
mov r3, #0x42
ldr r4, _02260788 ; =0x00000888
mov r2, #0
add r6, r0, #0
lsl r3, r3, #2
_02260760:
ldr r5, [r6, r4]
cmp r5, r1
bne _0226077A
mov r1, #0x79
lsl r1, r1, #4
add r1, r0, r1
mov r0, #0x42
lsl r0, r0, #2
mul r0, r2
add r0, r1, r0
bl ov91_02260A2C
pop {r4, r5, r6, pc}
_0226077A:
add r2, r2, #1
add r6, r6, r3
cmp r2, #0x60
blt _02260760
bl GF_AssertFail
pop {r4, r5, r6, pc}
.balign 4, 0
_02260788: .word 0x00000888
thumb_func_end ov91_02260754
thumb_func_start ov91_0226078C
ov91_0226078C: ; 0x0226078C
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
mov r0, #0x79
lsl r0, r0, #4
str r1, [sp]
mov r6, #0
add r4, r7, #0
add r5, r7, r0
_0226079C:
ldr r0, _022607C0 ; =0x00000888
ldr r0, [r4, r0]
cmp r0, #0
beq _022607AE
ldr r2, [sp]
add r0, r5, #0
add r1, r7, #0
bl ov91_022608A8
_022607AE:
mov r0, #0x42
lsl r0, r0, #2
add r6, r6, #1
add r4, r4, r0
add r5, r5, r0
cmp r6, #0x60
blt _0226079C
pop {r3, r4, r5, r6, r7, pc}
nop
_022607C0: .word 0x00000888
thumb_func_end ov91_0226078C
thumb_func_start ov91_022607C4
ov91_022607C4: ; 0x022607C4
push {r4, r5, r6, lr}
sub sp, #0x30
add r5, r0, #0
add r3, sp, #0
mov r0, #0
add r4, r1, #0
add r6, r3, #0
add r1, r0, #0
stmia r6!, {r0, r1}
stmia r6!, {r0, r1}
stmia r6!, {r0, r1}
stmia r6!, {r0, r1}
stmia r6!, {r0, r1}
stmia r6!, {r0, r1}
ldr r0, [r5, #0x1c]
str r0, [sp]
ldr r0, _02260828 ; =0x0000076C
str r2, [sp, #0x2c]
add r0, r5, r0
str r0, [sp, #4]
mov r0, #1
lsl r0, r0, #0xc
str r0, [sp, #0x14]
str r0, [sp, #0x18]
str r0, [sp, #0x1c]
mov r0, #0x20
str r0, [sp, #0x24]
mov r0, #2
str r0, [sp, #0x28]
add r0, r3, #0
bl CreateSprite
mov r1, #0
str r0, [r4]
bl Set2dSpriteVisibleFlag
ldr r1, _0226082C ; =0x0000074C
add r0, r4, #0
add r0, #0x7c
add r1, r5, r1
bl sub_020181B0
add r4, #0x7c
add r0, r4, #0
mov r1, #0
bl sub_020182A0
add sp, #0x30
pop {r4, r5, r6, pc}
nop
_02260828: .word 0x0000076C
_0226082C: .word 0x0000074C
thumb_func_end ov91_022607C4
thumb_func_start ov91_02260830
ov91_02260830: ; 0x02260830
push {r4, lr}
add r4, r1, #0
ldr r0, [r4]
bl Sprite_Delete
mov r2, #0x42
add r0, r4, #0
mov r1, #0
lsl r2, r2, #2
bl memset
pop {r4, pc}
thumb_func_end ov91_02260830
thumb_func_start ov91_02260848
ov91_02260848: ; 0x02260848
push {r4, r5, r6, lr}
add r5, r1, #0
add r0, r5, #0
add r4, r2, #0
add r0, #0xf8
str r4, [r0]
add r0, r5, #0
mov r1, #1
add r0, #0xf4
str r1, [r0]
mov r0, #0x41
mov r1, #0
lsl r0, r0, #2
strh r1, [r5, r0]
ldrh r1, [r4, #4]
ldr r0, [r5]
add r6, r3, #0
bl Sprite_SetPalIndex
add r0, r5, #0
add r1, r4, #0
add r2, r6, #0
bl ov91_02260A88
ldr r0, [r5]
mov r1, #1
bl Set2dSpriteVisibleFlag
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov91_02260848
thumb_func_start ov91_02260884
ov91_02260884: ; 0x02260884
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
add r0, r4, #0
add r0, #0xf8
str r2, [r0]
mov r0, #0x41
mov r1, #0
lsl r0, r0, #2
strh r1, [r4, r0]
ldr r0, [r4]
bl Set2dSpriteVisibleFlag
add r0, r4, #0
add r1, r5, #0
bl ov91_02260AF8
pop {r3, r4, r5, pc}
thumb_func_end ov91_02260884
thumb_func_start ov91_022608A8
ov91_022608A8: ; 0x022608A8
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
add r1, r5, #0
add r1, #0xf4
ldr r1, [r1]
cmp r1, #1
bne _022608CE
add r1, r5, #0
add r1, #0xf8
ldr r1, [r1]
bl ov91_02260A88
cmp r0, #0
bne _022608CE
add r0, r5, #0
add r1, r4, #0
bl ov91_02260AF8
_022608CE:
add r0, r5, #0
add r0, #0xf4
ldr r0, [r0]
cmp r0, #0
bne _02260940
add r0, r5, #0
add r0, #0xf8
ldr r1, _02260944 ; =0x000006FC
ldr r0, [r0]
add r1, r4, r1
bl ov91_02260B48
add r1, r5, #0
add r1, #0xf8
ldr r1, [r1]
ldr r0, [r0, #8]
ldrb r1, [r1]
cmp r1, #5
bne _022608FC
ldr r1, _02260948 ; =0x00007FFF
bl NNS_G3dMdlSetMdlAmbAll
b _02260902
_022608FC:
ldr r1, _0226094C ; =0x00004A52
bl NNS_G3dMdlSetMdlAmbAll
_02260902:
add r0, r5, #0
bl ov91_02260B5C
add r0, r5, #0
add r0, #0xf8
ldr r3, [r0]
add r0, r5, #4
ldr r1, [r3, #0x2c]
ldr r2, [r3, #0x30]
ldr r3, [r3, #0x34]
bl sub_020182A8
add r0, r5, #4
bl sub_020181EC
add r0, r5, #0
add r0, #0x7c
bl sub_020182A4
cmp r0, #1
bne _02260940
add r0, r5, #0
bl ov91_02260950
add r0, r5, #0
add r0, #0x7c
bl sub_020181EC
add r0, r5, #0
bl ov91_02260A10
_02260940:
pop {r3, r4, r5, pc}
nop
_02260944: .word 0x000006FC
_02260948: .word 0x00007FFF
_0226094C: .word 0x00004A52
thumb_func_end ov91_022608A8
thumb_func_start ov91_02260950
ov91_02260950: ; 0x02260950
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
add r0, #0xf8
ldr r0, [r0]
bl ov91_0225E9AC
cmp r0, #1
bne _02260966
ldr r4, _02260A08 ; =0xFFED4000
b _0226097A
_02260966:
add r0, r5, #0
add r0, #0xf8
ldr r0, [r0]
bl ov91_0225E990
cmp r0, #0
bne _02260978
ldr r4, _02260A0C ; =0xFFFCD000
b _0226097A
_02260978:
ldr r4, _02260A08 ; =0xFFED4000
_0226097A:
add r0, r5, #0
add r0, #0xf8
ldr r3, [r0]
add r0, r5, #0
ldr r1, [r3, #0x2c]
ldr r3, [r3, #0x34]
add r0, #0x7c
add r2, r4, #0
bl sub_020182A8
add r0, r5, #0
add r0, #0xf8
ldr r0, [r0]
mov r2, #0
ldr r0, [r0, #0x30]
sub r4, r0, r4
asr r6, r4, #0x1f
lsr r1, r4, #0x14
lsl r0, r6, #0xc
orr r0, r1
mov r1, #2
lsl r3, r4, #0xc
lsl r1, r1, #0xa
add r3, r3, r1
adc r0, r2
lsl r1, r0, #0x14
lsr r0, r3, #0xc
orr r0, r1
mov r1, #0x4b
lsl r1, r1, #0xe
bl FX_Div
mov r7, #1
add r3, r0, #0
lsl r7, r7, #0xc
add r1, r3, r7
add r5, #0x7c
add r0, r5, #0
add r2, r1, #0
add r3, r3, r7
bl sub_020182C4
lsr r0, r4, #0x10
lsl r3, r6, #0x10
orr r3, r0
lsl r2, r4, #0x10
mov r1, #0
lsr r0, r7, #1
add r0, r2, r0
adc r3, r1
lsl r1, r3, #0x14
lsr r0, r0, #0xc
orr r0, r1
mov r1, #0x4b
lsl r1, r1, #0xe
bl FX_Div
asr r1, r0, #0xc
mov r0, #0x18
sub r0, r0, r1
str r0, [sp]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
str r0, [sp, #4]
bl NNS_G3dGlbPolygonAttr
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_02260A08: .word 0xFFED4000
_02260A0C: .word 0xFFFCD000
thumb_func_end ov91_02260950
thumb_func_start ov91_02260A10
ov91_02260A10: ; 0x02260A10
push {r3, lr}
sub sp, #8
mov r0, #0x1f
str r0, [sp]
mov r0, #0
add r1, r0, #0
add r2, r0, #0
add r3, r0, #0
str r0, [sp, #4]
bl NNS_G3dGlbPolygonAttr
add sp, #8
pop {r3, pc}
.balign 4, 0
thumb_func_end ov91_02260A10
thumb_func_start ov91_02260A2C
ov91_02260A2C: ; 0x02260A2C
push {r4, lr}
add r4, r0, #0
mov r1, #0
add r0, #0xf8
str r1, [r0]
add r0, r4, #0
add r0, #0xf4
str r1, [r0]
ldr r0, [r4]
bl Set2dSpriteVisibleFlag
add r4, #0x7c
add r0, r4, #0
mov r1, #0
bl sub_020182A0
pop {r4, pc}
.balign 4, 0
thumb_func_end ov91_02260A2C
thumb_func_start ov91_02260A50
ov91_02260A50: ; 0x02260A50
push {r3, r4, r5, lr}
mov r2, #0x42
ldr r3, _02260A84 ; =0x00000888
mov r1, #0
add r5, r0, #0
lsl r2, r2, #2
_02260A5C:
ldr r4, [r5, r3]
cmp r4, #0
bne _02260A72
mov r2, #0x79
lsl r2, r2, #4
add r2, r0, r2
mov r0, #0x42
lsl r0, r0, #2
mul r0, r1
add r0, r2, r0
pop {r3, r4, r5, pc}
_02260A72:
add r1, r1, #1
add r5, r5, r2
cmp r1, #0x60
blt _02260A5C
bl GF_AssertFail
mov r0, #0
pop {r3, r4, r5, pc}
nop
_02260A84: .word 0x00000888
thumb_func_end ov91_02260A50
thumb_func_start ov91_02260A88
ov91_02260A88: ; 0x02260A88
push {r4, r5, r6, lr}
sub sp, #0x10
add r4, r0, #0
add r0, #0xf8
ldr r6, [r0]
add r5, sp, #4
add r6, #0x2c
ldmia r6!, {r0, r1}
add r3, r2, #0
add r2, r5, #0
stmia r5!, {r0, r1}
ldr r0, [r6]
add r1, r2, #0
str r0, [r5]
add r0, r2, #0
add r2, r4, #0
add r2, #0xf8
ldr r2, [r2]
ldrh r2, [r2, #4]
bl ov91_022604A4
add r0, sp, #4
add r1, sp, #0
bl ov91_0226042C
add r1, sp, #0
mov r2, #0
ldrsh r0, [r1, r2]
lsl r0, r0, #0xc
str r0, [sp, #4]
mov r0, #2
ldrsh r1, [r1, r0]
lsl r0, r0, #0x14
lsl r1, r1, #0xc
add r0, r1, r0
str r2, [sp, #0xc]
str r0, [sp, #8]
ldr r0, [r4]
add r1, sp, #4
bl Sprite_SetMatrix
add r1, sp, #0
mov r0, #0
ldrsh r0, [r1, r0]
cmp r0, #0
blt _02260AEC
mov r0, #2
ldrsh r0, [r1, r0]
cmp r0, #0
bge _02260AF2
_02260AEC:
add sp, #0x10
mov r0, #0
pop {r4, r5, r6, pc}
_02260AF2:
mov r0, #1
add sp, #0x10
pop {r4, r5, r6, pc}
thumb_func_end ov91_02260A88
thumb_func_start ov91_02260AF8
ov91_02260AF8: ; 0x02260AF8
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
mov r1, #0
bl Set2dSpriteVisibleFlag
add r0, r5, #0
mov r1, #0
add r0, #0xf4
str r1, [r0]
add r0, r5, #0
add r0, #0xf8
ldr r1, _02260B44 ; =0x000006FC
ldr r0, [r0]
add r1, r4, r1
bl ov91_02260B48
add r1, r0, #0
add r0, r5, #4
bl sub_020181B0
add r0, r5, #4
mov r1, #1
bl sub_020182A0
add r0, r5, #0
add r0, #0xf8
ldr r0, [r0]
ldrb r0, [r0]
cmp r0, #1
bne _02260B42
add r5, #0x7c
add r0, r5, #0
mov r1, #1
bl sub_020182A0
_02260B42:
pop {r3, r4, r5, pc}
.balign 4, 0
_02260B44: .word 0x000006FC
thumb_func_end ov91_02260AF8
thumb_func_start ov91_02260B48
ov91_02260B48: ; 0x02260B48
ldr r2, [r0, #0x28]
cmp r2, #1
bne _02260B52
mov r0, #4
b _02260B54
_02260B52:
ldrh r0, [r0, #4]
_02260B54:
lsl r0, r0, #4
add r0, r1, r0
bx lr
.balign 4, 0
thumb_func_end ov91_02260B48
thumb_func_start ov91_02260B5C
ov91_02260B5C: ; 0x02260B5C
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0x41
lsl r0, r0, #2
ldrsh r1, [r5, r0]
sub r1, r1, #1
strh r1, [r5, r0]
ldrsh r0, [r5, r0]
cmp r0, #0
bge _02260BFA
add r0, r5, #0
add r0, #0xf8
ldr r0, [r0]
bl ov91_0225E6F8
add r6, r0, #0
add r0, r5, #0
add r0, #0xf8
ldr r1, [r0]
ldr r0, [r1, #0x10]
ldr r1, [r1, #8]
bl FX_Atan2Idx
asr r0, r0, #4
lsl r4, r0, #1
ldr r1, _02260C3C ; =0x0001E200
lsl r0, r6, #9
bl _s32_div_f
lsl r0, r0, #0x10
lsr r6, r0, #4
asr r7, r6, #0x1f
ldr r0, _02260C40 ; =FX_SinCosTable_
lsl r1, r4, #1
ldrsh r0, [r0, r1]
add r2, r6, #0
add r3, r7, #0
asr r1, r0, #0x1f
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r0, r0, r2
adc r1, r3
lsl r1, r1, #0x14
lsr r0, r0, #0xc
orr r0, r1
asr r1, r0, #0xc
lsr r0, r2, #2
add r1, r1, r0
lsr r0, r2, #3
strh r1, [r5, r0]
add r0, r4, #1
lsl r1, r0, #1
ldr r0, _02260C40 ; =FX_SinCosTable_
add r2, r6, #0
ldrsh r0, [r0, r1]
add r3, r7, #0
asr r1, r0, #0x1f
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r4, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r4, #0xc
orr r1, r0
asr r1, r1, #0xc
lsr r0, r2, #2
add r1, r1, r0
ldr r0, _02260C44 ; =0x00000102
strh r1, [r5, r0]
mov r1, #8
add r0, r1, #0
add r0, #0xfc
strh r1, [r5, r0]
_02260BFA:
add r0, r5, #0
add r0, #0xfc
ldrh r2, [r0]
mov r0, #1
lsl r0, r0, #8
ldrh r1, [r5, r0]
add r0, r0, #2
add r2, r2, r1
add r1, r5, #0
add r1, #0xfc
strh r2, [r1]
add r1, r5, #0
add r1, #0xfe
ldrh r1, [r1]
ldrh r0, [r5, r0]
mov r2, #0
add r1, r1, r0
add r0, r5, #0
add r0, #0xfe
strh r1, [r0]
add r1, r5, #0
add r1, #0xfc
ldrh r1, [r1]
add r0, r5, #4
bl sub_020182E0
add r0, r5, #4
add r5, #0xfe
ldrh r1, [r5]
mov r2, #2
bl sub_020182E0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02260C3C: .word 0x0001E200
_02260C40: .word FX_SinCosTable_
_02260C44: .word 0x00000102
thumb_func_end ov91_02260B5C
thumb_func_start ov91_02260C48
ov91_02260C48: ; 0x02260C48
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r6, r0, #0
add r7, sp, #0
add r4, r2, #0
mov r0, #0
add r5, r1, #0
add r2, r7, #0
add r1, r0, #0
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r6, #0x1c]
str r0, [sp]
ldr r0, _02260CA4 ; =0x0000076C
str r3, [sp, #0x2c]
add r0, r6, r0
str r0, [sp, #4]
mov r0, #1
lsl r0, r0, #0xc
str r0, [sp, #0x14]
str r0, [sp, #0x18]
str r0, [sp, #0x1c]
mov r0, #0x20
str r0, [sp, #0x24]
mov r0, #2
str r0, [sp, #0x28]
add r0, r7, #0
bl CreateSprite
str r0, [r5, #4]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #4]
add r1, r4, #0
bl Sprite_SetPalIndex
mov r0, #0
str r0, [r5]
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
nop
_02260CA4: .word 0x0000076C
thumb_func_end ov91_02260C48
thumb_func_start ov91_02260CA8
ov91_02260CA8: ; 0x02260CA8
ldr r3, _02260CB0 ; =Sprite_Delete
ldr r0, [r0, #4]
bx r3
nop
_02260CB0: .word Sprite_Delete
thumb_func_end ov91_02260CA8
thumb_func_start ov91_02260CB4
ov91_02260CB4: ; 0x02260CB4
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #4]
mov r1, #1
bl Set2dSpriteVisibleFlag
mov r0, #1
str r0, [r4]
pop {r4, pc}
.balign 4, 0
thumb_func_end ov91_02260CB4
thumb_func_start ov91_02260CC8
ov91_02260CC8: ; 0x02260CC8
push {r3, lr}
ldr r1, [r0]
cmp r1, #0
beq _02260CDA
ldr r2, _02260CDC ; =gSystem + 0x40
ldrh r1, [r2, #0x20]
ldrh r2, [r2, #0x22]
bl ov91_02260CE0
_02260CDA:
pop {r3, pc}
.balign 4, 0
_02260CDC: .word gSystem + 0x40
thumb_func_end ov91_02260CC8
thumb_func_start ov91_02260CE0
ov91_02260CE0: ; 0x02260CE0
push {lr}
sub sp, #0xc
lsl r1, r1, #0xc
str r1, [sp]
mov r1, #2
lsl r2, r2, #0xc
lsl r1, r1, #0x14
add r1, r2, r1
str r1, [sp, #4]
ldr r0, [r0, #4]
add r1, sp, #0
bl Sprite_SetMatrix
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end ov91_02260CE0
thumb_func_start ov91_02260D00
ov91_02260D00: ; 0x02260D00
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #4]
mov r1, #0
bl Set2dSpriteVisibleFlag
mov r0, #0
str r0, [r4]
pop {r4, pc}
.balign 4, 0
thumb_func_end ov91_02260D00
thumb_func_start ov91_02260D14
ov91_02260D14: ; 0x02260D14
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
mov r4, #0
add r7, r0, #0
add r5, r1, #0
add r6, r2, #0
add r2, sp, #0
add r0, r4, #0
add r1, r4, #0
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r7, #0x1c]
str r0, [sp]
ldr r0, _02260D7C ; =0x0000076C
str r3, [sp, #0x2c]
add r0, r7, r0
str r0, [sp, #4]
mov r0, #9
str r0, [sp, #0x14]
str r0, [sp, #0x18]
str r0, [sp, #0x1c]
mov r0, #0x20
str r0, [sp, #0x24]
mov r0, #2
str r0, [sp, #0x28]
add r7, r4, #0
_02260D50:
add r0, sp, #0
bl CreateSprite
str r0, [r5, #4]
mov r1, #0
bl Set2dSpriteVisibleFlag
ldr r0, [r5, #4]
mov r1, #1
bl sub_0202487C
ldr r0, [r5, #4]
add r1, r6, #0
bl Sprite_SetPalIndex
str r7, [r5]
add r4, r4, #1
add r5, #0x1c
cmp r4, #8
blt _02260D50
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02260D7C: .word 0x0000076C
thumb_func_end ov91_02260D14
thumb_func_start ov91_02260D80
ov91_02260D80: ; 0x02260D80
push {r3, r4, r5, lr}
add r5, r1, #0
mov r4, #0
_02260D86:
ldr r0, [r5, #4]
bl Sprite_Delete
add r4, r4, #1
add r5, #0x1c
cmp r4, #8
blt _02260D86
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov91_02260D80
thumb_func_start ov91_02260D98
ov91_02260D98: ; 0x02260D98
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r0, #0
mov r4, #0
add r6, sp, #0x10
add r7, sp, #0xc
_02260DA4:
ldr r0, [r5]
cmp r0, #1
bne _02260E78
ldr r0, [r5, #0x14]
cmp r0, #0x10
bge _02260DC4
mov r1, #0x7d
str r1, [sp]
str r6, [sp, #4]
mov r1, #0x10
mov r2, #8
mov r3, #0xbe
str r7, [sp, #8]
bl ov91_02260EE0
b _02260DF2
_02260DC4:
cmp r0, #0x1a
bge _02260DDE
mov r1, #0x8c
str r1, [sp]
str r6, [sp, #4]
sub r0, #0x10
mov r1, #0xa
mov r2, #4
mov r3, #0xb6
str r7, [sp, #8]
bl ov91_02260EE0
b _02260DF2
_02260DDE:
mov r1, #0xa0
str r1, [sp]
str r6, [sp, #4]
sub r0, #0x1a
mov r1, #6
mov r2, #3
mov r3, #0xb4
str r7, [sp, #8]
bl ov91_02260EE0
_02260DF2:
ldr r0, [r5, #0x14]
add r1, r0, #1
lsl r0, r1, #1
str r1, [r5, #0x14]
add r1, r1, r0
asr r0, r1, #4
lsr r0, r0, #0x1b
add r0, r1, r0
asr r1, r0, #5
mov r0, #9
sub r0, r0, r1
mov r1, #0xa
lsl r0, r0, #0xc
lsl r1, r1, #0xc
bl FX_Div
str r0, [sp, #0x14]
str r0, [sp, #0x18]
ldr r0, [r5, #4]
add r1, sp, #0x14
bl sub_020247F4
ldr r0, [r5, #0x18]
ldr r1, [r5, #8]
cmp r0, #0
beq _02260E2E
ldr r0, [sp, #0x10]
lsl r0, r0, #0xc
add r0, r1, r0
b _02260E34
_02260E2E:
ldr r0, [sp, #0x10]
lsl r0, r0, #0xc
sub r0, r1, r0
_02260E34:
str r0, [r5, #8]
ldr r0, [sp, #0xc]
ldr r1, [r5, #0xc]
lsl r0, r0, #0xc
add r0, r1, r0
str r0, [r5, #0xc]
add r1, r5, #0
ldr r0, [r5, #4]
add r1, #8
bl Sprite_SetMatrix
ldr r1, [r5, #8]
ldr r0, _02260E84 ; =0xFFFE0000
cmp r1, r0
blt _02260E6C
mov r0, #0x12
lsl r0, r0, #0x10
cmp r1, r0
bgt _02260E6C
mov r0, #0x1e
ldr r1, [r5, #0xc]
lsl r0, r0, #0x10
cmp r1, r0
blt _02260E6C
mov r0, #0x2e
lsl r0, r0, #0x10
cmp r1, r0
ble _02260E78
_02260E6C:
mov r0, #0
str r0, [r5]
ldr r0, [r5, #4]
mov r1, #0
bl Set2dSpriteVisibleFlag
_02260E78:
add r4, r4, #1
add r5, #0x1c
cmp r4, #8
blt _02260DA4
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02260E84: .word 0xFFFE0000
thumb_func_end ov91_02260D98
thumb_func_start ov91_02260E88
ov91_02260E88: ; 0x02260E88
push {r4, r5, r6, lr}
mov r4, #0
add r3, r4, #0
add r6, r0, #0
_02260E90:
ldr r5, [r6]
cmp r5, #0
bne _02260E9E
mov r4, #0x1c
mul r4, r3
add r4, r0, r4
b _02260EA6
_02260E9E:
add r3, r3, #1
add r6, #0x1c
cmp r3, #8
blt _02260E90
_02260EA6:
cmp r4, #0
beq _02260EDC
cmp r1, #0x80
bge _02260EB2
mov r0, #1
b _02260EB4
_02260EB2:
mov r0, #0
_02260EB4:
str r0, [r4, #0x18]
lsl r0, r1, #0xc
str r0, [r4, #8]
mov r0, #2
lsl r1, r2, #0xc
lsl r0, r0, #0x14
add r0, r1, r0
str r0, [r4, #0xc]
add r1, r4, #0
ldr r0, [r4, #4]
add r1, #8
bl Sprite_SetMatrix
mov r1, #1
str r1, [r4]
ldr r0, [r4, #4]
bl Set2dSpriteVisibleFlag
mov r0, #0
str r0, [r4, #0x14]
_02260EDC:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov91_02260E88
thumb_func_start ov91_02260EE0
ov91_02260EE0: ; 0x02260EE0
push {r4, r5, r6, lr}
add r4, r2, #0
ldr r2, [sp, #0x10]
add r5, r3, #0
sub r2, r2, r5
mul r2, r0
add r0, r2, #0
bl _s32_div_f
add r0, r5, r0
lsl r0, r0, #0x10
asr r0, r0, #0x10
lsl r0, r0, #0x10
lsr r6, r0, #0x10
add r0, r6, #0
bl GF_CosDegNoWrap
lsl r5, r4, #0xc
asr r4, r5, #0x1f
asr r1, r0, #0x1f
add r2, r5, #0
add r3, r4, #0
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
ldr r0, [sp, #0x14]
asr r1, r1, #0xc
str r1, [r0]
add r0, r6, #0
bl GF_SinDegNoWrap
asr r1, r0, #0x1f
add r2, r5, #0
add r3, r4, #0
bl _ll_mul
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
ldr r0, [sp, #0x18]
asr r1, r1, #0xc
str r1, [r0]
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov91_02260EE0
thumb_func_start ov91_02260F50
ov91_02260F50: ; 0x02260F50
push {r4, r5, r6, r7, lr}
sub sp, #0x24
str r0, [sp, #8]
ldr r0, [sp, #0x40]
mov r1, #0x5a
str r0, [sp, #0x40]
ldr r0, [sp, #8]
str r2, [sp, #0xc]
lsl r1, r1, #2
add r6, r0, r1
sub r2, r3, #1
add r5, r0, #0
lsl r0, r2, #1
str r0, [sp, #0x14]
ldr r1, _0226105C ; =ov91_02261D64
lsl r0, r2, #3
add r0, r1, r0
str r0, [sp, #0x18]
ldr r0, [sp, #0x38]
ldr r7, [sp, #0x3c]
lsl r0, r0, #1
mov r4, #0
str r0, [sp, #0x1c]
_02260F7E:
cmp r4, #0
bne _02260F86
mov r2, #0x24
b _02260F94
_02260F86:
cmp r4, #1
bne _02260F8E
mov r2, #0x25
b _02260F94
_02260F8E:
ldr r1, _02261060 ; =ov91_02261C0A
ldr r0, [sp, #0x14]
ldrh r2, [r1, r0]
_02260F94:
ldr r1, [sp, #0xc]
add r0, r6, #0
add r3, r7, #0
bl sub_02018030
add r0, r5, #0
add r1, r6, #0
bl sub_020181B0
mov r1, #0
ldr r2, _02261064 ; =0xFFF9E000
add r0, r5, #0
add r3, r1, #0
bl sub_020182A8
mov r1, #6
lsl r1, r1, #0xa
add r0, r5, #0
add r2, r1, #0
add r3, r1, #0
bl sub_020182C4
cmp r4, #1
bne _02260FCC
add r0, r5, #0
mov r1, #0
bl sub_020182A0
_02260FCC:
cmp r4, #1
bhi _02260FE0
ldr r2, [sp, #0x18]
ldr r1, [sp, #0x1c]
add r0, r5, #0
ldrh r1, [r2, r1]
mov r2, #1
bl sub_020182E0
b _02260FF0
_02260FE0:
mov r0, #0xb4
bl GF_DegreeToSinCosIdxNoWrap
add r1, r0, #0
add r0, r5, #0
mov r2, #1
bl sub_020182E0
_02260FF0:
add r4, r4, #1
add r6, #0x10
add r5, #0x78
cmp r4, #3
blt _02260F7E
mov r0, #0
str r0, [sp, #0x10]
mov r1, #0x66
ldr r0, [sp, #8]
lsl r1, r1, #2
add r5, r0, r1
sub r1, #0x30
add r0, r0, r1
ldr r6, _02261068 ; =ov91_02261BF8
ldr r4, _0226106C ; =ov91_02261BFE
str r0, [sp, #0x20]
_02261010:
ldr r0, [sp, #0x40]
str r7, [sp]
str r0, [sp, #4]
ldrh r1, [r4]
ldrh r3, [r6]
add r0, r5, #0
lsl r2, r1, #4
ldr r1, [sp, #0x20]
add r1, r1, r2
ldr r2, [sp, #0xc]
bl sub_020180BC
ldrh r1, [r4]
mov r0, #0x78
add r2, r1, #0
mul r2, r0
ldr r0, [sp, #8]
add r1, r5, #0
add r0, r0, r2
bl sub_020181D4
ldr r0, [sp, #0x10]
add r6, r6, #2
add r0, r0, #1
add r4, r4, #2
add r5, #0x14
str r0, [sp, #0x10]
cmp r0, #3
blt _02261010
mov r2, #1
mov r1, #0x75
ldr r0, [sp, #8]
lsl r2, r2, #0xc
lsl r1, r1, #2
str r2, [r0, r1]
add sp, #0x24
pop {r4, r5, r6, r7, pc}
nop
_0226105C: .word ov91_02261D64
_02261060: .word ov91_02261C0A
_02261064: .word 0xFFF9E000
_02261068: .word ov91_02261BF8
_0226106C: .word ov91_02261BFE
thumb_func_end ov91_02260F50
thumb_func_start ov91_02261070
ov91_02261070: ; 0x02261070
push {r3, r4, r5, r6, r7, lr}
add r7, r0, #0
mov r0, #0x66
lsl r0, r0, #2
add r6, r2, #0
mov r4, #0
add r5, r7, r0
_0226107E:
add r0, r5, #0
add r1, r6, #0
bl sub_020180F8
add r4, r4, #1
add r5, #0x14
cmp r4, #3
blt _0226107E
mov r0, #0x5a
lsl r0, r0, #2
mov r4, #0
add r5, r7, r0
_02261096:
add r0, r5, #0
bl sub_02018068
add r4, r4, #1
add r5, #0x10
cmp r4, #3
blt _02261096
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov91_02261070
thumb_func_start ov91_022610A8
ov91_022610A8: ; 0x022610A8
push {r3, r4, r5, lr}
mov r1, #0x66
add r4, r0, #0
lsl r1, r1, #2
add r0, r4, r1
add r1, #0x3c
ldr r1, [r4, r1]
bl sub_02018124
mov r0, #0x76
lsl r0, r0, #2
ldrb r1, [r4, r0]
cmp r1, #0
beq _022611B4
add r1, r0, #1
ldrb r1, [r4, r1]
cmp r1, #0
beq _022610D6
cmp r1, #1
beq _02261128
cmp r1, #2
beq _0226116C
b _02261194
_022610D6:
add r1, r0, #0
add r1, #8
add r2, r0, #4
ldr r1, [r4, r1]
ldr r2, [r4, r2]
add r3, r2, r1
mov r2, #0x33
lsl r2, r2, #0xc
cmp r3, r2
bge _022610F2
add r2, r0, #4
ldr r2, [r4, r2]
add r1, r2, r1
b _022610F4
_022610F2:
mov r1, #0
_022610F4:
add r0, r0, #4
str r1, [r4, r0]
mov r1, #0x1e
lsl r1, r1, #4
add r0, r1, #0
ldr r2, [r4, r1]
sub r0, #0x46
add r3, r2, r0
ldr r0, _022611C8 ; =0x000024CD
cmp r3, r0
bgt _02261114
add r0, r1, #0
sub r0, #0x46
add r0, r2, r0
str r0, [r4, r1]
b _02261198
_02261114:
str r0, [r4, r1]
mov r2, #0x18
sub r0, r1, #6
strh r2, [r4, r0]
sub r0, r1, #7
ldrb r0, [r4, r0]
add r2, r0, #1
sub r0, r1, #7
strb r2, [r4, r0]
b _02261198
_02261128:
add r1, r0, #0
add r1, #8
add r2, r0, #4
ldr r1, [r4, r1]
ldr r2, [r4, r2]
add r3, r2, r1
mov r2, #0x33
lsl r2, r2, #0xc
cmp r3, r2
bge _02261144
add r2, r0, #4
ldr r2, [r4, r2]
add r1, r2, r1
b _02261146
_02261144:
mov r1, #0
_02261146:
add r0, r0, #4
str r1, [r4, r0]
ldr r1, _022611CC ; =0x000001DA
ldrsh r0, [r4, r1]
sub r0, r0, #1
strh r0, [r4, r1]
ldrsh r0, [r4, r1]
cmp r0, #0
bgt _02261198
sub r0, r1, #1
ldrb r0, [r4, r0]
add r2, r0, #1
sub r0, r1, #1
strb r2, [r4, r0]
mov r2, #0x33
lsl r2, r2, #0xc
add r0, r1, #2
str r2, [r4, r0]
b _02261198
_0226116C:
add r1, r0, #4
mov r2, #1
ldr r1, [r4, r1]
lsl r2, r2, #0xc
add r3, r1, r2
mov r1, #0x19
lsl r1, r1, #0xe
cmp r3, r1
bge _0226118A
add r1, r0, #4
ldr r1, [r4, r1]
add r0, r0, #4
add r1, r1, r2
str r1, [r4, r0]
b _02261198
_0226118A:
mov r1, #0x33
lsl r1, r1, #0xc
add r0, r0, #4
str r1, [r4, r0]
b _02261198
_02261194:
bl GF_AssertFail
_02261198:
mov r1, #0x6b
lsl r1, r1, #2
add r0, r4, r1
add r1, #0x30
ldr r1, [r4, r1]
bl sub_02018198
mov r1, #7
lsl r1, r1, #6
add r0, r4, r1
add r1, #0x1c
ldr r1, [r4, r1]
bl sub_02018198
_022611B4:
mov r5, #0
_022611B6:
add r0, r4, #0
bl sub_020181EC
add r5, r5, #1
add r4, #0x78
cmp r5, #3
blt _022611B6
pop {r3, r4, r5, pc}
nop
_022611C8: .word 0x000024CD
_022611CC: .word 0x000001DA
thumb_func_end ov91_022610A8
thumb_func_start ov91_022611D0
ov91_022611D0: ; 0x022611D0
push {r4, lr}
add r4, r0, #0
mov r1, #0
bl sub_020182A0
add r0, r4, #0
add r0, #0x78
mov r1, #1
bl sub_020182A0
mov r0, #0x77
lsl r0, r0, #2
mov r3, #0
mov r2, #1
str r3, [r4, r0]
lsl r2, r2, #0xc
add r1, r0, #4
str r2, [r4, r1]
sub r1, r0, #4
mov r2, #1
strb r2, [r4, r1]
sub r0, r0, #3
strb r3, [r4, r0]
pop {r4, pc}
thumb_func_end ov91_022611D0
thumb_func_start ov91_02261200
ov91_02261200: ; 0x02261200
mov r2, #0x75
lsl r2, r2, #2
str r1, [r0, r2]
bx lr
thumb_func_end ov91_02261200
thumb_func_start ov91_02261208
ov91_02261208: ; 0x02261208
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x50
add r4, r0, #0
ldr r0, [sp, #0x68]
ldr r6, [r2]
str r0, [sp, #0x68]
ldr r0, [r2, #4]
ldr r7, [r2, #8]
str r0, [sp, #0x2c]
asr r0, r0, #0x1f
str r0, [sp, #0x30]
asr r0, r6, #0x1f
str r0, [sp, #0x34]
add r5, r1, #0
asr r0, r7, #0x1f
str r0, [sp, #0x38]
ldr r2, [r4]
str r3, [sp]
ldr r1, [sp, #0x34]
add r0, r6, #0
asr r3, r2, #0x1f
bl _ll_mul
ldr r2, [r4, #4]
str r0, [sp, #0x3c]
str r1, [sp, #0x28]
ldr r0, [sp, #0x2c]
ldr r1, [sp, #0x30]
asr r3, r2, #0x1f
bl _ll_mul
ldr r2, [r4, #8]
str r1, [sp, #0x20]
str r0, [sp, #0x40]
ldr r1, [sp, #0x38]
add r0, r7, #0
asr r3, r2, #0x1f
bl _ll_mul
ldr r2, [r5, #8]
str r1, [sp, #0x18]
str r0, [sp, #0x44]
ldr r1, [sp, #0x38]
add r0, r7, #0
asr r3, r2, #0x1f
bl _ll_mul
ldr r2, [r5]
str r1, [sp, #0x10]
str r0, [sp, #0x48]
ldr r1, [sp, #0x34]
add r0, r6, #0
asr r3, r2, #0x1f
bl _ll_mul
ldr r2, [r5, #4]
str r0, [sp, #0x4c]
add r6, r1, #0
ldr r0, [sp, #0x2c]
ldr r1, [sp, #0x30]
asr r3, r2, #0x1f
bl _ll_mul
mov ip, r0
mov r7, #2
str r1, [sp, #8]
ldr r0, [sp, #0x3c]
lsl r7, r7, #0xa
mov r1, #0
add r2, r0, r7
ldr r0, [sp, #0x28]
ldr r3, [sp, #0x20]
adc r0, r1
str r0, [sp, #0x28]
lsl r0, r0, #0x14
lsr r2, r2, #0xc
orr r2, r0
ldr r0, [sp, #0x40]
add r0, r0, r7
adc r3, r1
str r3, [sp, #0x20]
lsl r3, r3, #0x14
lsr r0, r0, #0xc
orr r0, r3
add r2, r2, r0
ldr r0, [sp, #0x44]
ldr r3, [sp, #0x18]
add r0, r0, r7
adc r3, r1
str r3, [sp, #0x18]
lsl r3, r3, #0x14
lsr r0, r0, #0xc
orr r0, r3
add r2, r2, r0
ldr r0, [sp]
sub r0, r0, r2
ldr r2, [sp, #0x48]
add r3, r2, r7
ldr r2, [sp, #0x10]
adc r2, r1
str r2, [sp, #0x10]
lsl r2, r2, #0x14
lsr r3, r3, #0xc
orr r3, r2
ldr r2, [sp, #0x4c]
add r2, r2, r7
adc r6, r1
lsl r6, r6, #0x14
lsr r2, r2, #0xc
orr r2, r6
mov r6, ip
add r7, r6, r7
ldr r6, [sp, #8]
adc r6, r1
str r6, [sp, #8]
lsl r1, r6, #0x14
lsr r6, r7, #0xc
orr r6, r1
add r1, r2, r6
add r1, r3, r1
bl FX_Div
add r6, r0, #0
ldr r0, [r5]
asr r7, r6, #0x1f
asr r1, r0, #0x1f
add r2, r6, #0
add r3, r7, #0
bl _ll_mul
mov r3, #2
add r2, r0, #0
lsl r3, r3, #0xa
add r3, r2, r3
ldr r2, _02261378 ; =0x00000000
ldr r0, [r4]
adc r1, r2
lsr r2, r3, #0xc
lsl r1, r1, #0x14
orr r2, r1
add r1, r0, r2
ldr r0, [sp, #0x68]
add r2, r6, #0
str r1, [r0]
ldr r0, [r5, #4]
add r3, r7, #0
asr r1, r0, #0x1f
bl _ll_mul
mov r3, #2
add r2, r0, #0
lsl r3, r3, #0xa
add r3, r2, r3
ldr r2, _02261378 ; =0x00000000
ldr r0, [r4, #4]
adc r1, r2
lsr r2, r3, #0xc
lsl r1, r1, #0x14
orr r2, r1
add r1, r0, r2
ldr r0, [sp, #0x68]
add r2, r6, #0
str r1, [r0, #4]
ldr r0, [r5, #8]
add r3, r7, #0
asr r1, r0, #0x1f
bl _ll_mul
mov r3, #2
ldr r2, [r4, #8]
mov r4, #0
lsl r3, r3, #0xa
add r3, r0, r3
adc r1, r4
lsl r0, r1, #0x14
lsr r1, r3, #0xc
orr r1, r0
ldr r0, [sp, #0x68]
add r1, r2, r1
str r1, [r0]
ldr r0, [sp, #0x6c]
str r6, [r0]
add sp, #0x50
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02261378: .word 0x00000000
thumb_func_end ov91_02261208
thumb_func_start ov91_0226137C
ov91_0226137C: ; 0x0226137C
mov r2, #0x66
lsl r2, r2, #2
str r1, [r0, r2]
bx lr
thumb_func_end ov91_0226137C
thumb_func_start ov91_02261384
ov91_02261384: ; 0x02261384
push {r3, r4, r5, lr}
sub sp, #8
add r4, r1, #0
mov r1, #0x19
add r5, r0, #0
lsl r1, r1, #4
ldr r1, [r5, r1]
add r0, sp, #0
bl Camera_GetAngle
add r0, sp, #0
mov r1, #0x19
strh r4, [r0]
lsl r1, r1, #4
ldr r1, [r5, r1]
add r0, sp, #0
bl Camera_SetAnglePos
add sp, #8
pop {r3, r4, r5, pc}
thumb_func_end ov91_02261384
thumb_func_start ov91_022613AC
ov91_022613AC: ; 0x022613AC
mov r2, #0
strb r2, [r0]
strb r2, [r0, #1]
strb r2, [r0, #2]
strb r2, [r0, #3]
strb r2, [r0, #4]
strb r2, [r0, #5]
strb r2, [r0, #6]
strb r2, [r0, #7]
mov r2, #2
strh r2, [r0, #4]
strb r1, [r0, #6]
bx lr
.balign 4, 0
thumb_func_end ov91_022613AC
thumb_func_start ov91_022613C8
ov91_022613C8: ; 0x022613C8
push {r3, r4, r5, r6, lr}
sub sp, #4
add r4, r0, #0
ldrh r0, [r4]
add r5, r1, #0
cmp r0, #3
bhi _022614CA
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022613E2: ; jump table
.short _022614CA - _022613E2 - 2 ; case 0
.short _022613EA - _022613E2 - 2 ; case 1
.short _02261406 - _022613E2 - 2 ; case 2
.short _0226148E - _022613E2 - 2 ; case 3
_022613EA:
mov r1, #4
ldrsh r1, [r4, r1]
ldrb r2, [r4, #6]
add r0, r5, #0
sub r1, r1, #1
lsl r1, r1, #0x10
asr r1, r1, #0x10
bl ov91_022614FC
ldrh r0, [r4]
add r0, r0, #1
strh r0, [r4]
mov r0, #0
strh r0, [r4, #2]
_02261406:
mov r0, #2
ldrsh r0, [r4, r0]
cmp r0, #0x10
blt _0226143E
mov r0, #3
strh r0, [r4]
mov r0, #0
strh r0, [r4, #2]
mov r1, #4
ldrsh r1, [r4, r1]
ldrb r2, [r4, #6]
add r0, r5, #0
bl ov91_022614FC
mov r0, #0x10
str r0, [sp]
mov r1, #4
ldrsh r2, [r4, r1]
mov r3, #1
add r1, r3, #0
lsl r1, r2
ldr r0, _022614D0 ; =0x04001050
mov r2, #8
mov r3, #0
bl G2x_SetBlendAlpha_
add sp, #4
pop {r3, r4, r5, r6, pc}
_0226143E:
add r0, r0, #1
strh r0, [r4, #2]
mov r0, #4
ldrsh r2, [r4, r0]
sub r5, r2, #2
sub r6, r2, #1
cmp r2, #0
bge _02261450
add r2, r2, #3
_02261450:
cmp r5, #0
bge _02261456
add r5, r5, #3
_02261456:
cmp r6, #0
bge _0226145C
add r6, r6, #3
_0226145C:
mov r0, #2
ldrsh r0, [r4, r0]
mov r4, #1
lsl r1, r0, #4
asr r0, r1, #3
lsr r0, r0, #0x1c
add r0, r1, r0
asr r1, r0, #4
mov r0, #0x10
sub r3, r0, r1
add r1, r4, #0
lsl r1, r2
add r2, r4, #0
sub r0, r0, r3
str r0, [sp]
lsl r2, r5
lsl r4, r6
orr r4, r2
mov r2, #8
ldr r0, _022614D0 ; =0x04001050
orr r2, r4
bl G2x_SetBlendAlpha_
add sp, #4
pop {r3, r4, r5, r6, pc}
_0226148E:
mov r0, #2
ldrsh r1, [r4, r0]
cmp r1, #8
blt _022614A2
mov r1, #0
ldr r0, _022614D0 ; =0x04001050
strh r1, [r4]
strh r1, [r0]
add sp, #4
pop {r3, r4, r5, r6, pc}
_022614A2:
add r1, r1, #1
strh r1, [r4, #2]
ldrsh r0, [r4, r0]
mov r5, #1
lsl r1, r0, #4
asr r0, r1, #2
lsr r0, r0, #0x1d
add r0, r1, r0
asr r3, r0, #3
mov r0, #0x10
sub r0, r0, r3
str r0, [sp]
mov r1, #4
ldrsh r2, [r4, r1]
add r1, r5, #0
ldr r0, _022614D0 ; =0x04001050
lsl r1, r2
mov r2, #8
bl G2x_SetBlendAlpha_
_022614CA:
add sp, #4
pop {r3, r4, r5, r6, pc}
nop
_022614D0: .word 0x04001050
thumb_func_end ov91_022613C8
thumb_func_start ov91_022614D4
ov91_022614D4: ; 0x022614D4
push {r4, lr}
add r4, r0, #0
ldrb r0, [r4, #7]
add r0, r0, #1
strb r0, [r4, #7]
ldrb r0, [r4, #7]
cmp r0, #0xa
blo _022614FA
mov r0, #1
strh r0, [r4]
mov r0, #4
ldrsh r0, [r4, r0]
mov r1, #3
add r0, r0, #1
bl _s32_div_f
strh r1, [r4, #4]
mov r0, #0
strb r0, [r4, #7]
_022614FA:
pop {r4, pc}
thumb_func_end ov91_022614D4
thumb_func_start ov91_022614FC
ov91_022614FC: ; 0x022614FC
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r6, r0, #0
lsl r0, r2, #1
str r1, [sp, #0xc]
add r1, r0, #2
add r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #0x10]
lsl r0, r1, #0x18
mov r4, #0
lsr r7, r0, #0x18
_02261516:
ldr r0, [sp, #0xc]
sub r5, r0, r4
bpl _0226151E
add r5, r5, #3
_0226151E:
mov r1, #2
add r0, r5, #4
sub r1, r1, r4
lsl r0, r0, #0x18
lsl r1, r1, #0x18
lsr r0, r0, #0x18
lsr r1, r1, #0x18
bl SetBgPriority
cmp r4, #0
bne _0226154E
mov r0, #0x20
str r0, [sp]
str r0, [sp, #4]
str r7, [sp, #8]
add r1, r5, #4
lsl r1, r1, #0x18
mov r2, #0
ldr r0, [r6]
lsr r1, r1, #0x18
add r3, r2, #0
bl BgTilemapRectChangePalette
b _02261568
_0226154E:
mov r0, #0x20
str r0, [sp]
str r0, [sp, #4]
ldr r0, [sp, #0x10]
add r1, r5, #4
str r0, [sp, #8]
lsl r1, r1, #0x18
mov r2, #0
ldr r0, [r6]
lsr r1, r1, #0x18
add r3, r2, #0
bl BgTilemapRectChangePalette
_02261568:
add r1, r5, #4
lsl r1, r1, #0x18
ldr r0, [r6]
lsr r1, r1, #0x18
bl BgCommitTilemapBufferToVram
add r4, r4, #1
cmp r4, #3
blt _02261516
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov91_022614FC
thumb_func_start ov91_02261580
ov91_02261580: ; 0x02261580
push {r4, r5, r6, r7, lr}
sub sp, #0x7c
add r5, r0, #0
add r6, r3, #0
add r0, #0x9c
add r4, r1, #0
str r6, [r0]
mov r1, #0x8c
str r1, [sp]
mov r0, #1
str r0, [sp, #4]
add r7, r2, #0
str r6, [sp, #8]
add r1, #0xbc
ldr r0, [r4, r1]
add r1, r7, #0
mov r2, #0xa
mov r3, #0
bl AddCharResObjFromOpenNarc
str r0, [r5]
mov r1, #0x8c
str r1, [sp]
mov r0, #1
str r0, [sp, #4]
str r0, [sp, #8]
str r6, [sp, #0xc]
add r1, #0xc0
ldr r0, [r4, r1]
add r1, r7, #0
mov r2, #0xb
mov r3, #0
bl AddPlttResObjFromOpenNarc
str r0, [r5, #4]
mov r1, #0x8c
str r1, [sp]
mov r0, #2
str r0, [sp, #4]
str r6, [sp, #8]
add r1, #0xc4
ldr r0, [r4, r1]
add r1, r7, #0
mov r2, #9
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
str r0, [r5, #8]
mov r1, #0x8c
str r1, [sp]
mov r0, #3
str r0, [sp, #4]
str r6, [sp, #8]
add r1, #0xc8
ldr r0, [r4, r1]
add r1, r7, #0
mov r2, #8
mov r3, #0
bl AddCellOrAnimResObjFromOpenNarc
str r0, [r5, #0xc]
ldr r0, [r5]
bl sub_0200AE18
cmp r0, #0
bne _02261608
bl GF_AssertFail
_02261608:
ldr r0, [r5, #4]
bl sub_0200B00C
cmp r0, #0
bne _02261616
bl GF_AssertFail
_02261616:
ldr r0, [r5]
bl sub_0200A740
ldr r0, [r5, #4]
bl sub_0200A740
mov r1, #0x8c
add r0, r1, #0
add r2, r1, #0
str r1, [sp]
sub r0, #0x8d
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
str r0, [sp, #0x10]
add r2, #0xbc
ldr r2, [r4, r2]
add r3, r1, #0
str r2, [sp, #0x14]
add r2, r1, #0
add r2, #0xc0
ldr r2, [r4, r2]
str r2, [sp, #0x18]
add r2, r1, #0
add r2, #0xc4
ldr r2, [r4, r2]
str r2, [sp, #0x1c]
add r2, r1, #0
add r2, #0xc8
ldr r2, [r4, r2]
str r2, [sp, #0x20]
str r0, [sp, #0x24]
str r0, [sp, #0x28]
add r0, r5, #0
add r0, #0x10
add r2, r1, #0
bl CreateSpriteResourcesHeader
ldr r0, [r4, #0x1c]
str r0, [sp, #0x5c]
add r0, r5, #0
add r0, #0x10
str r0, [sp, #0x60]
ldr r0, _0226178C ; =0xFFFC0000
str r6, [sp, #0x78]
str r0, [sp, #0x64]
mov r0, #3
lsl r0, r0, #0x10
str r0, [sp, #0x68]
mov r0, #1
str r0, [sp, #0x70]
str r0, [sp, #0x74]
add r0, sp, #0x5c
bl sub_02024714
mov r1, #0
str r0, [r5, #0x34]
bl Set2dSpriteVisibleFlag
mov r0, #0x10
add r1, r6, #0
bl String_New
str r0, [r5, #0x5c]
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
add r1, r5, #0
ldr r0, [r4]
add r1, #0x38
mov r2, #3
mov r3, #2
bl AddTextWindowTopLeftCorner
add r0, r5, #0
add r0, #0x38
add r1, r6, #0
bl sub_02013910
mov r1, #1
str r0, [r5, #0x4c]
bl sub_02013948
mov r1, #1
add r3, r5, #0
add r2, r1, #0
add r3, #0x50
bl sub_02021AC8
cmp r0, #1
beq _022616D2
bl GF_AssertFail
_022616D2:
mov r1, #0x96
str r1, [sp]
mov r0, #1
str r0, [sp, #4]
str r0, [sp, #8]
str r6, [sp, #0xc]
add r1, #0xb6
ldr r0, [r4, r1]
mov r1, #0x10
mov r2, #7
mov r3, #0
bl AddPlttResObjFromNarc
str r0, [r5, #0x60]
bl sub_0200B00C
cmp r0, #0
bne _022616FA
bl GF_AssertFail
_022616FA:
ldr r0, [r5, #0x60]
bl sub_0200A740
mov r0, #0x63
lsl r0, r0, #2
ldr r0, [r4, r0]
mov r1, #0
str r0, [sp, #0x2c]
add r0, r5, #0
add r0, #0x38
str r0, [sp, #0x30]
ldr r0, [r4, #0x1c]
str r0, [sp, #0x34]
ldr r0, [r5, #0x60]
bl sub_0200B0F8
str r0, [sp, #0x38]
ldr r0, [r5, #0x34]
str r0, [sp, #0x3c]
ldr r0, [r5, #0x54]
str r0, [sp, #0x40]
mov r0, #6
mvn r0, r0
str r0, [sp, #0x44]
add r0, r0, #2
str r0, [sp, #0x48]
mov r0, #0
str r0, [sp, #0x4c]
str r0, [sp, #0x50]
mov r0, #1
str r0, [sp, #0x54]
str r6, [sp, #0x58]
ldr r1, [r5, #0x4c]
add r0, sp, #0x2c
bl sub_02013950
mov r1, #0
str r0, [r5, #0x48]
bl sub_020137C0
add r0, r5, #0
add r0, #0x38
bl RemoveWindow
mov r2, #8
add r0, r5, #0
mov r3, #9
str r2, [sp]
ldr r1, _0226178C ; =0xFFFC0000
add r0, #0x64
lsl r2, r2, #0xe
lsl r3, r3, #0xe
bl ov91_0225D40C
mov r0, #4
mov r1, #3
lsl r1, r1, #0x10
str r0, [sp]
add r0, r5, #0
add r0, #0x7c
add r2, r1, #0
lsr r3, r1, #2
bl ov91_0225D40C
add r0, r5, #0
mov r1, #0
add r0, #0x94
strh r1, [r0]
mov r0, #4
add r5, #0x96
strh r0, [r5]
add sp, #0x7c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0226178C: .word 0xFFFC0000
thumb_func_end ov91_02261580
thumb_func_start ov91_02261790
ov91_02261790: ; 0x02261790
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #0x48]
add r4, r1, #0
bl sub_020139C8
ldr r0, [r5, #0x60]
bl sub_0200B0A8
mov r0, #0x53
lsl r0, r0, #2
ldr r0, [r4, r0]
ldr r1, [r5, #0x60]
bl DestroySingle2DGfxResObj
add r0, r5, #0
add r0, #0x50
bl sub_02021B5C
ldr r0, [r5, #0x4c]
bl sub_02013938
ldr r0, [r5, #0x5c]
bl String_Delete
ldr r0, [r5, #0x34]
bl Sprite_Delete
ldr r0, [r5]
bl sub_0200AEB0
ldr r0, [r5, #4]
bl sub_0200B0A8
mov r0, #0x52
lsl r0, r0, #2
ldr r0, [r4, r0]
ldr r1, [r5]
bl DestroySingle2DGfxResObj
mov r0, #0x53
lsl r0, r0, #2
ldr r0, [r4, r0]
ldr r1, [r5, #4]
bl DestroySingle2DGfxResObj
mov r0, #0x15
lsl r0, r0, #4
ldr r0, [r4, r0]
ldr r1, [r5, #8]
bl DestroySingle2DGfxResObj
mov r0, #0x55
lsl r0, r0, #2
ldr r0, [r4, r0]
ldr r1, [r5, #0xc]
bl DestroySingle2DGfxResObj
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov91_02261790
thumb_func_start ov91_02261808
ov91_02261808: ; 0x02261808
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
mov r0, #1
add r4, r1, #0
str r0, [sp]
add r1, r2, #0
mov r2, #2
ldr r0, [r5, #0x5c]
add r3, r2, #0
bl String16_FormatInteger
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
add r1, r5, #0
ldr r0, [r4]
add r1, #0x38
mov r2, #3
mov r3, #2
bl AddTextWindowTopLeftCorner
mov r1, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _0226188C ; =0x000F0E00
add r3, r1, #0
str r0, [sp, #8]
str r1, [sp, #0xc]
add r0, r5, #0
ldr r2, [r5, #0x5c]
add r0, #0x38
bl AddTextPrinterParameterizedWithColor
add r3, r5, #0
add r3, #0x9c
add r2, r5, #0
ldr r0, [r5, #0x48]
ldr r1, [r5, #0x4c]
ldr r3, [r3]
add r2, #0x38
bl sub_020139D0
add r0, r5, #0
add r0, #0x38
bl RemoveWindow
ldr r0, [r5, #0x48]
mov r1, #1
bl sub_020137C0
ldr r0, [r5, #0x34]
mov r1, #1
bl Set2dSpriteVisibleFlag
add r0, r5, #0
mov r1, #1
add r0, #0x98
strh r1, [r0]
mov r0, #0
add r5, #0x9a
strh r0, [r5]
add sp, #0x10
pop {r3, r4, r5, pc}
nop
_0226188C: .word 0x000F0E00
thumb_func_end ov91_02261808
thumb_func_start ov91_02261890
ov91_02261890: ; 0x02261890
add r1, r0, #0
add r1, #0x98
ldrh r1, [r1]
cmp r1, #3
beq _022618AC
cmp r1, #2
bne _022618A6
add r1, r0, #0
mov r2, #0xc
add r1, #0x9a
strh r2, [r1]
_022618A6:
mov r1, #3
add r0, #0x98
strh r1, [r0]
_022618AC:
bx lr
.balign 4, 0
thumb_func_end ov91_02261890
thumb_func_start ov91_022618B0
ov91_022618B0: ; 0x022618B0
push {r3, r4, r5, lr}
sub sp, #0x10
add r5, r0, #0
add r0, #0x98
ldrh r0, [r0]
add r4, r1, #0
cmp r0, #3
beq _0226191E
mov r0, #1
str r0, [sp]
add r1, r2, #0
mov r2, #2
ldr r0, [r5, #0x5c]
add r3, r2, #0
bl String16_FormatInteger
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
add r1, r5, #0
ldr r0, [r4]
add r1, #0x38
mov r2, #3
mov r3, #2
bl AddTextWindowTopLeftCorner
mov r1, #0
str r1, [sp]
mov r0, #0xff
str r0, [sp, #4]
ldr r0, _02261924 ; =0x000F0E00
add r3, r1, #0
str r0, [sp, #8]
str r1, [sp, #0xc]
add r0, r5, #0
ldr r2, [r5, #0x5c]
add r0, #0x38
bl AddTextPrinterParameterizedWithColor
add r3, r5, #0
add r3, #0x9c
add r2, r5, #0
ldr r0, [r5, #0x48]
ldr r1, [r5, #0x4c]
ldr r3, [r3]
add r2, #0x38
bl sub_020139D0
add r0, r5, #0
add r0, #0x38
bl RemoveWindow
mov r0, #0
add r5, #0x96
strh r0, [r5]
_0226191E:
add sp, #0x10
pop {r3, r4, r5, pc}
nop
_02261924: .word 0x000F0E00
thumb_func_end ov91_022618B0
thumb_func_start ov91_02261928
ov91_02261928: ; 0x02261928
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
add r0, #0x98
ldrh r0, [r0]
cmp r0, #3
bhi _022619A0
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02261942: ; jump table
.short _022619A0 - _02261942 - 2 ; case 0
.short _0226194A - _02261942 - 2 ; case 1
.short _022619A0 - _02261942 - 2 ; case 2
.short _02261966 - _02261942 - 2 ; case 3
_0226194A:
mov r0, #0x94
ldrsh r0, [r4, r0]
cmp r0, #8
bge _0226195C
add r1, r0, #1
add r0, r4, #0
add r0, #0x94
strh r1, [r0]
b _022619A0
_0226195C:
add r0, r4, #0
mov r1, #2
add r0, #0x98
strh r1, [r0]
b _022619A0
_02261966:
mov r0, #0x9a
ldrsh r0, [r4, r0]
cmp r0, #0
ble _02261978
sub r1, r0, #1
add r0, r4, #0
add r0, #0x9a
strh r1, [r0]
b _022619A0
_02261978:
mov r0, #0x94
ldrsh r0, [r4, r0]
cmp r0, #0
ble _0226198A
sub r1, r0, #1
add r0, r4, #0
add r0, #0x94
strh r1, [r0]
b _022619A0
_0226198A:
add r0, r4, #0
mov r1, #0
add r0, #0x98
strh r1, [r0]
ldr r0, [r4, #0x48]
bl sub_020137C0
ldr r0, [r4, #0x34]
mov r1, #0
bl Set2dSpriteVisibleFlag
_022619A0:
mov r1, #0x96
ldrsh r0, [r4, r1]
cmp r0, #4
bge _022619C0
add r2, r0, #1
add r0, r4, #0
add r0, #0x96
strh r2, [r0]
add r0, r4, #0
ldrsh r1, [r4, r1]
add r0, #0x8c
str r1, [r0]
add r0, r4, #0
add r0, #0x7c
bl ov91_0225D46C
_022619C0:
mov r0, #0x94
ldrsh r0, [r4, r0]
str r0, [r4, #0x74]
add r0, r4, #0
add r0, #0x64
bl ov91_0225D46C
ldr r0, [r4, #0x64]
add r1, sp, #0
str r0, [sp]
ldr r0, [r4, #0x7c]
str r0, [sp, #4]
ldr r0, [r4, #0x34]
bl Sprite_SetMatrix
ldr r0, [r4, #0x48]
bl sub_02013728
add sp, #0xc
pop {r3, r4, pc}
thumb_func_end ov91_02261928
thumb_func_start ov91_022619E8
ov91_022619E8: ; 0x022619E8
mov r2, #0
strh r2, [r0]
mov r1, #1
strb r1, [r0, #2]
strb r2, [r0, #3]
ldr r3, _022619F8 ; =PlaySE
ldr r0, _022619FC ; =0x00000586
bx r3
.balign 4, 0
_022619F8: .word PlaySE
_022619FC: .word 0x00000586
thumb_func_end ov91_022619E8
thumb_func_start ov91_02261A00
ov91_02261A00: ; 0x02261A00
push {r3, r4, r5, r6, lr}
sub sp, #4
add r4, r0, #0
ldrb r0, [r4, #2]
add r5, r1, #0
add r6, r2, #0
cmp r0, #0
beq _02261B08
ldrh r0, [r4]
cmp r0, #5
bhi _02261B08
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02261A22: ; jump table
.short _02261A2E - _02261A22 - 2 ; case 0
.short _02261A8E - _02261A22 - 2 ; case 1
.short _02261AA8 - _02261A22 - 2 ; case 2
.short _02261AD4 - _02261A22 - 2 ; case 3
.short _02261AEE - _02261A22 - 2 ; case 4
.short _02261B02 - _02261A22 - 2 ; case 5
_02261A2E:
mov r0, #3
ldrsb r1, [r4, r0]
add r1, r1, #1
strb r1, [r4, #3]
ldrsb r1, [r4, r0]
mov r0, #0x19
lsl r0, r0, #0xc
mul r0, r1
mov r1, #0x3a
bl _s32_div_f
mov r1, #1
add r2, r0, #0
lsl r1, r1, #0xc
add r0, r5, #0
add r1, r2, r1
bl ov91_02261200
mov r0, #3
ldrsb r1, [r4, r0]
mov r0, #0x96
mul r0, r1
mov r1, #0x3a
bl _s32_div_f
add r2, r0, #0
mov r0, #7
add r1, r0, #0
add r1, #0xf9
add r1, r2, r1
bl GF_SndHandleSetTempoRatio
mov r0, #3
ldrsb r0, [r4, r0]
cmp r0, #0xc
bne _02261A7C
ldr r0, _02261B0C ; =0x00000587
bl PlaySE
_02261A7C:
mov r0, #3
ldrsb r0, [r4, r0]
cmp r0, #0x3a
blt _02261B08
ldrh r0, [r4]
add sp, #4
add r0, r0, #1
strh r0, [r4]
pop {r3, r4, r5, r6, pc}
_02261A8E:
mov r0, #1
str r0, [sp]
mov r0, #4
mov r1, #0x10
mov r2, #0
mov r3, #0x3f
bl StartBrightnessTransition
ldrh r0, [r4]
add sp, #4
add r0, r0, #1
strh r0, [r4]
pop {r3, r4, r5, r6, pc}
_02261AA8:
mov r0, #1
bl IsBrightnessTransitionActive
cmp r0, #1
bne _02261B08
add r0, r5, #0
bl ov91_022611D0
mov r1, #2
add r0, r5, #0
lsl r1, r1, #0xc
bl ov91_02261200
add r0, r6, #0
mov r1, #1
bl ov91_02260364
ldrh r0, [r4]
add sp, #4
add r0, r0, #1
strh r0, [r4]
pop {r3, r4, r5, r6, pc}
_02261AD4:
mov r0, #1
str r0, [sp]
mov r0, #0xe
mov r1, #0
mov r2, #0x10
mov r3, #0x3f
bl StartBrightnessTransition
ldrh r0, [r4]
add sp, #4
add r0, r0, #1
strh r0, [r4]
pop {r3, r4, r5, r6, pc}
_02261AEE:
mov r0, #1
bl IsBrightnessTransitionActive
cmp r0, #1
bne _02261B08
ldrh r0, [r4]
add sp, #4
add r0, r0, #1
strh r0, [r4]
pop {r3, r4, r5, r6, pc}
_02261B02:
mov r0, #0
strb r0, [r4, #2]
strh r0, [r4]
_02261B08:
add sp, #4
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_02261B0C: .word 0x00000587
thumb_func_end ov91_02261A00
thumb_func_start ov91_02261B10
ov91_02261B10: ; 0x02261B10
mov r0, #7
add r1, r0, #0
ldr r3, _02261B1C ; =GF_SndHandleSetTempoRatio
add r1, #0xf9
bx r3
nop
_02261B1C: .word GF_SndHandleSetTempoRatio
thumb_func_end ov91_02261B10
thumb_func_start ov91_02261B20
ov91_02261B20: ; 0x02261B20
ldr r0, _02261B24 ; =ov91_02262754
bx lr
.balign 4, 0
_02261B24: .word ov91_02262754
thumb_func_end ov91_02261B20
thumb_func_start ov91_02261B28
ov91_02261B28: ; 0x02261B28
mov r0, #8
bx lr
thumb_func_end ov91_02261B28
thumb_func_start ov91_02261B2C
ov91_02261B2C: ; 0x02261B2C
push {r3, r4, r5, lr}
add r5, r0, #0
bl ov91_02261B20
add r4, r0, #0
bl ov91_02261B28
add r1, r0, #0
add r0, r4, #0
add r2, r5, #0
bl sub_0203410C
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov91_02261B2C
thumb_func_start ov91_02261B48
ov91_02261B48: ; 0x02261B48
mov r0, #0
bx lr
thumb_func_end ov91_02261B48
thumb_func_start ov91_02261B4C
ov91_02261B4C: ; 0x02261B4C
add r0, r3, #0
ldr r3, _02261B54 ; =ov91_0225CA64
bx r3
nop
_02261B54: .word ov91_0225CA64
thumb_func_end ov91_02261B4C
thumb_func_start ov91_02261B58
ov91_02261B58: ; 0x02261B58
add r0, r3, #0
ldr r3, _02261B60 ; =ov91_0225CA6C
bx r3
nop
_02261B60: .word ov91_0225CA6C
thumb_func_end ov91_02261B58
thumb_func_start ov91_02261B64
ov91_02261B64: ; 0x02261B64
push {r4, r5, r6, lr}
add r4, r2, #0
add r5, r0, #0
add r6, r3, #0
add r0, r6, #0
add r1, r4, #0
add r2, r5, #0
bl ov91_0225CA90
bl sub_0203769C
cmp r0, #0
bne _02261B88
add r0, r6, #0
add r1, r4, #0
add r2, r5, #0
bl ov91_0225CA74
_02261B88:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov91_02261B64
thumb_func_start ov91_02261B8C
ov91_02261B8C: ; 0x02261B8C
push {r4, lr}
add r4, r0, #0
ldr r1, [r2]
add r0, r3, #0
add r2, r4, #0
bl ov91_0225CA9C
pop {r4, pc}
thumb_func_end ov91_02261B8C
thumb_func_start ov91_02261B9C
ov91_02261B9C: ; 0x02261B9C
push {r4, lr}
add r4, r0, #0
add r1, r2, #0
add r0, r3, #0
add r2, r4, #0
bl ov91_0225CABC
pop {r4, pc}
thumb_func_end ov91_02261B9C
thumb_func_start ov91_02261BAC
ov91_02261BAC: ; 0x02261BAC
push {r4, lr}
add r4, r0, #0
ldr r1, [r2]
add r0, r3, #0
add r2, r4, #0
bl ov91_0225CAEC
pop {r4, pc}
thumb_func_end ov91_02261BAC
thumb_func_start ov91_02261BBC
ov91_02261BBC: ; 0x02261BBC
add r0, r3, #0
ldr r3, _02261BC4 ; =ov91_0225CB50
bx r3
nop
_02261BC4: .word ov91_0225CB50
thumb_func_end ov91_02261BBC
thumb_func_start ov91_02261BC8
ov91_02261BC8: ; 0x02261BC8
push {r3, lr}
ldr r1, [r2]
cmp r0, #0
bne _02261BD6
add r0, r3, #0
bl ov91_0225CAE0
_02261BD6:
pop {r3, pc}
thumb_func_end ov91_02261BC8
thumb_func_start ov91_02261BD8
ov91_02261BD8: ; 0x02261BD8
mov r0, #0x14
bx lr
thumb_func_end ov91_02261BD8
thumb_func_start ov91_02261BDC
ov91_02261BDC: ; 0x02261BDC
mov r0, #0x10
bx lr
thumb_func_end ov91_02261BDC
thumb_func_start ov91_02261BE0
ov91_02261BE0: ; 0x02261BE0
mov r0, #4
bx lr
thumb_func_end ov91_02261BE0
thumb_func_start ov91_02261BE4
ov91_02261BE4: ; 0x02261BE4
mov r0, #4
bx lr
thumb_func_end ov91_02261BE4
.rodata
_02261BE8:
.byte 0x00, 0x00, 0x00, 0x00
ov91_02261BEC: ; 0x02261BEC
.byte 0x00, 0x09, 0x0A, 0x0B
ov91_02261BF0: ; 0x02261BF0
.byte 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x00, 0x00, 0x00
ov91_02261BF8: ; 0x02261BF8
.byte 0x26, 0x00, 0x27, 0x00, 0x28, 0x00
ov91_02261BFE: ; 0x02261BFE
.byte 0x00, 0x00
.byte 0x01, 0x00, 0x01, 0x00
ov91_02261C04: ; 0x02261C04
.byte 0x17, 0x00, 0x18, 0x00, 0x19, 0x00
ov91_02261C0A: ; 0x02261C0A
.byte 0x23, 0x00, 0x23, 0x00, 0x22, 0x00
.byte 0x21, 0x00
ov91_02261C12: ; 0x02261C12
.byte 0x00
ov91_02261C13: ; 0x02261C13
.byte 0x00, 0x01, 0x0A, 0x0B, 0x14, 0x15, 0x1E, 0x1F, 0x28
ov91_02261C1C: ; 0x02261C1C
.byte 0x1A, 0x00, 0x1B, 0x00
.byte 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00
ov91_02261C28: ; 0x02261C28
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFA, 0xFF
.byte 0x00, 0x00, 0x00, 0x00
ov91_02261C34: ; 0x02261C34
.byte 0x64, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x00, 0x2C, 0x01, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov91_02261C44: ; 0x02261C44
.byte 0x94, 0x02, 0x00, 0x00, 0xEE, 0x02, 0x00, 0x00
ov91_02261C4C: ; 0x02261C4C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x40, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00
ov91_02261C58: ; 0x02261C58
.word ov91_0225E1EC
.word ov91_0225E1F4
.word ov91_0225E1FC
ov91_02261C64: ; 0x02261C64
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov91_02261C74: ; 0x02261C74
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
ov91_02261C84: ; 0x02261C84
.byte 0xB1, 0x00, 0xA7, 0x00, 0x93, 0x00, 0x89, 0x00, 0x7F, 0x00, 0x75, 0x00
.byte 0x6B, 0x00, 0x61, 0x00, 0x57, 0x00, 0x4D, 0x00, 0x4D, 0x00, 0x4D, 0x00
ov91_02261C9C: ; 0x02261C9C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0F, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov91_02261CB8: ; 0x02261CB8
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0E, 0x01, 0x00, 0x01, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov91_02261CD4: ; 0x02261CD4
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov91_02261CF0: ; 0x02261CF0
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x1B, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov91_02261D0C: ; 0x02261D0C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x00
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov91_02261D28: ; 0x02261D28
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x00
ov91_02261D3C: ; 0x02261D3C
.byte 0x00, 0x03, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0xAA, 0xAA, 0x00, 0x00
ov91_02261D5C: ; 0x02261D5C
.byte 0x00, 0x00, 0xFF, 0x7F
.byte 0xFF, 0x3F, 0xFF, 0xBF
ov91_02261D64: ; 0x02261D64
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x54, 0xD5, 0xAA, 0x2A, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00
.byte 0xFF, 0xBF, 0xFF, 0x3F
ov91_02261D84: ; 0x02261D84
.byte 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
ov91_02261DAC: ; 0x02261DAC
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x06, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov91_02261F8C: ; 0x02261F8C
.byte 0x17, 0x00, 0x00, 0x00
ov91_02261F90: ; 0x02261F90
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
.byte 0x90, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
.byte 0x90, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00
.byte 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
.byte 0x90, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00
.byte 0x60, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
.byte 0x30, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00
.byte 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00
.byte 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
.byte 0x30, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00
.byte 0x60, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00
.byte 0x40, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
.byte 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00
.byte 0x60, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
.byte 0x90, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x00, 0x00, 0x00
.byte 0x60, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
.byte 0x30, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00
ov91_022621AC: ; 0x022621AC
.ascii "polySurface2"
.space 16-(.-ov91_022621AC)
ov91_022621BC:
.ascii "polySurface3"
.space 16-(.-ov91_022621BC)
ov91_022621CC:
.ascii "pTorus2"
.space 16-(.-ov91_022621CC)
ov91_022621DC:
.ascii "null1"
.space 16-(.-ov91_022621DC)
ov91_022621EC:
.ascii ""
.space 16-(ov91_022621EC-.)
ov91_022621FC:
.ascii ""
.space 16-(.-ov91_022621FC)
ov91_0226220C:
.ascii ""
.space 16-(.-ov91_0226220C)
ov91_0226221C:
.ascii ""
.space 16-(.-ov91_0226221C)
ov91_0226222C:
.ascii ""
.space 16-(.-ov91_0226222C)
ov91_0226223C:
.ascii ""
.space 16-(.-ov91_0226223C)
ov91_0226224C:
.ascii ""
.space 16-(.-ov91_0226224C)
ov91_0226225C:
.ascii ""
.space 16-(.-ov91_0226225C)
ov91_0226226C:
.ascii ""
.space 16-(.-ov91_0226226C)
ov91_0226227C:
.ascii ""
.space 16-(.-ov91_0226227C)
ov91_0226228C:
.ascii ""
.space 16-(.-ov91_0226228C)
ov91_0226229C:
.ascii "polySurface7"
.space 16-(.-ov91_0226229C)
ov91_022622AC:
.ascii "polySurface13"
.space 16-(.-ov91_022622AC)
ov91_022622BC:
.ascii "pSphere2"
.space 16-(.-ov91_022622BC)
ov91_022622CC:
.ascii "pSphere3"
.space 16-(.-ov91_022622CC)
ov91_022622DC:
.ascii "pSphere6"
.space 16-(.-ov91_022622DC)
ov91_022622EC:
.ascii "pSphere7"
.space 16-(.-ov91_022622EC)
ov91_022622FC:
.ascii ""
.space 16-(.-ov91_022622FC)
ov91_0226230C:
.ascii ""
.space 16-(.-ov91_0226230C)
ov91_0226231C:
.ascii ""
.space 16-(.-ov91_0226231C)
ov91_0226232C:
.ascii ""
.space 16-(.-ov91_0226232C)
ov91_0226233C:
.ascii ""
.space 16-(.-ov91_0226233C)
ov91_0226234C:
.ascii ""
.space 16-(.-ov91_0226234C)
ov91_0226235C:
.ascii ""
.space 16-(.-ov91_0226235C)
ov91_0226236C:
.ascii ""
.space 16-(.-ov91_0226236C)
ov91_0226237C:
.ascii ""
.space 16-(.-ov91_0226237C)
ov91_0226238C:
.ascii "polySurface13"
.space 16-(.-ov91_0226238C)
ov91_0226239C:
.ascii "pSphere7"
.space 16-(.-ov91_0226239C)
ov91_022623AC:
.ascii ""
.space 16-(.-ov91_022623AC)
ov91_022623BC:
.ascii ""
.space 16-(.-ov91_022623BC)
ov91_022623CC:
.ascii ""
.space 16-(.-ov91_022623CC)
ov91_022623DC:
.ascii ""
.space 16-(.-ov91_022623DC)
ov91_022623EC:
.ascii ""
.space 16-(.-ov91_022623EC)
ov91_022623FC:
.ascii ""
.space 16-(.-ov91_022623FC)
ov91_0226240C:
.ascii ""
.space 16-(.-ov91_0226240C)
ov91_0226241C:
.ascii ""
.space 16-(.-ov91_0226241C)
ov91_0226242C:
.ascii ""
.space 16-(.-ov91_0226242C)
ov91_0226243C:
.ascii ""
.space 16-(.-ov91_0226243C)
ov91_0226244C:
.ascii ""
.space 16-(.-ov91_0226244C)
ov91_0226245C:
.ascii ""
.space 16-(.-ov91_0226245C)
ov91_0226246C:
.ascii ""
.space 16-(.-ov91_0226246C)
ov91_0226247C:
.ascii "null1"
.space 16-(.-ov91_0226247C)
ov91_0226248C:
.ascii "pCylinder4"
.space 16-(.-ov91_0226248C)
ov91_0226249C:
.ascii "pCylinder5"
.space 16-(.-ov91_0226249C)
ov91_022624AC:
.ascii "pSphere2"
.space 16-(.-ov91_022624AC)
ov91_022624BC:
.ascii "pSphere3"
.space 16-(.-ov91_022624BC)
ov91_022624CC:
.ascii "pSphere6"
.space 16-(.-ov91_022624CC)
ov91_022624DC:
.ascii "pSphere7"
.space 16-(.-ov91_022624DC)
ov91_022624EC:
.ascii "pTorus1"
.space 16-(.-ov91_022624EC)
ov91_022624FC:
.ascii "pTorus2"
.space 16-(.-ov91_022624FC)
ov91_0226250C:
.ascii "polySurface13"
.space 16-(.-ov91_0226250C)
ov91_0226251C:
.ascii "polySurface8"
.space 16-(.-ov91_0226251C)
ov91_0226252C:
.ascii "polySurface2"
.space 16-(.-ov91_0226252C)
ov91_0226253C:
.ascii "polySurface3"
.space 16-(.-ov91_0226253C)
ov91_0226254C:
.ascii "polySurface7"
.space 16-(.-ov91_0226254C)
ov91_0226255C:
.ascii "polySurface12"
.space 16-(.-ov91_0226255C)
ov91_0226256C:
.ascii "polySurface7"
.space 16-(.-ov91_0226256C)
ov91_0226257C:
.ascii "polySurface13"
.space 16-(.-ov91_0226257C)
ov91_0226258C:
.ascii "pSphere2"
.space 16-(.-ov91_0226258C)
ov91_0226259C:
.ascii "pSphere3"
.space 16-(.-ov91_0226259C)
ov91_022625AC:
.ascii "pSphere6"
.space 16-(.-ov91_022625AC)
ov91_022625BC:
.ascii "pSphere7"
.space 16-(.-ov91_022625BC)
ov91_022625CC:
.ascii "null1"
.space 16-(.-ov91_022625CC)
ov91_022625DC:
.ascii ""
.space 16-(.-ov91_022625DC)
ov91_022625EC:
.ascii ""
.space 16-(.-ov91_022625EC)
ov91_022625FC:
.ascii ""
.space 16-(.-ov91_022625FC)
ov91_0226260C:
.ascii ""
.space 16-(.-ov91_0226260C)
ov91_0226261C:
.ascii ""
.space 16-(.-ov91_0226261C)
ov91_0226262C:
.ascii ""
.space 16-(.-ov91_0226262C)
ov91_0226263C:
.ascii ""
.space 16-(.-ov91_0226263C)
ov91_0226264C:
.ascii ""
.space 16-(.-ov91_0226264C)
ov91_0226265C:
.ascii "polySurface7"
.space 16-(.-ov91_0226265C)
ov91_0226266C:
.ascii "polySurface13"
.space 16-(.-ov91_0226266C)
ov91_0226267C:
.ascii "pSphere2"
.space 16-(.-ov91_0226267C)
ov91_0226268C:
.ascii "pSphere3"
.space 16-(.-ov91_0226268C)
ov91_0226269C:
.ascii "pSphere6"
.space 16-(.-ov91_0226269C)
ov91_022626AC:
.ascii "pSphere7"
.space 16-(.-ov91_022626AC)
ov91_022626BC:
.ascii ""
.space 16-(.-ov91_022626BC)
ov91_022626CC:
.ascii ""
.space 16-(.-ov91_022626CC)
ov91_022626DC:
.ascii ""
.space 16-(.-ov91_022626DC)
ov91_022626EC:
.ascii ""
.space 16-(.-ov91_022626EC)
ov91_022626FC:
.ascii ""
.space 16-(.-ov91_022626FC)
ov91_0226270C:
.ascii ""
.space 16-(.-ov91_0226270C)
ov91_0226271C:
.ascii ""
.space 16-(.-ov91_0226271C)
ov91_0226272C:
.ascii ""
.space 16-(.-ov91_0226272C)
ov91_0226273C:
.ascii ""
.space 16-(.-ov91_0226273C)
ov91_0226274C: ; 0x0226274C
.byte 0x00, 0x00, 0x00, 0x02
.byte 0x01, 0x00, 0x00, 0x00
ov91_02262754: ; 0x02262754
.word ov91_02261B4C
.word ov91_02261B48
.word 0
.word ov91_02261B58
.word ov91_02261B48
.word 0
.word ov91_02261B64
.word ov91_02261BD8
.word 0
.word ov91_02261B8C
.word ov91_02261BE0
.word 0
.word ov91_02261B9C
.word ov91_02261BDC
.word 0
.word ov91_02261BC8
.word ov91_02261BE4
.word 0
.word ov91_02261BAC
.word ov91_02261BE0
.word 0
.word ov91_02261BBC
.word ov91_02261B48
.word 0
; 0x022627B4
.bss
ov91_022627C0: ; 0x022627C0
.space 0x40