pokeheartgold/asm/overlay_92.s

14429 lines
255 KiB
ArmAsm

.include "asm/macros.inc"
.include "overlay_92.inc"
.include "global.inc"
.text
thumb_func_start ov92_0225C540
ov92_0225C540: ; 0x0225C540
push {r4, lr}
ldr r1, [r2]
ldr r0, [r2, #4]
add r4, r3, #0
str r1, [r4, #0x14]
str r0, [r4, #0x18]
bl SetLCRNGSeed
add r0, r4, #0
bl ov92_0225D8D4
pop {r4, pc}
thumb_func_end ov92_0225C540
thumb_func_start ov92_0225C558
ov92_0225C558: ; 0x0225C558
add r0, r3, #0
ldr r3, _0225C560 ; =ov92_0225D8DC
bx r3
nop
_0225C560: .word ov92_0225D8DC
thumb_func_end ov92_0225C558
thumb_func_start ov92_0225C564
ov92_0225C564: ; 0x0225C564
ldr r1, [r3, #4]
lsl r0, r0, #2
add r1, r1, r0
ldr r2, [r2]
ldr r0, _0225C574 ; =0x00002B9C
str r2, [r1, r0]
bx lr
nop
_0225C574: .word 0x00002B9C
thumb_func_end ov92_0225C564
thumb_func_start ov92_0225C578
ov92_0225C578: ; 0x0225C578
lsl r0, r0, #3
ldr r1, [r2]
add r0, r3, r0
str r1, [r0, #0x24]
bx lr
.balign 4, 0
thumb_func_end ov92_0225C578
thumb_func_start ov92_0225C584
ov92_0225C584: ; 0x0225C584
bx lr
.balign 4, 0
thumb_func_end ov92_0225C584
thumb_func_start ov92_0225C588
ov92_0225C588: ; 0x0225C588
mov r0, #0
bx lr
thumb_func_end ov92_0225C588
thumb_func_start ov92_0225C58C
ov92_0225C58C: ; 0x0225C58C
mov r0, #8
bx lr
thumb_func_end ov92_0225C58C
thumb_func_start ov92_0225C590
ov92_0225C590: ; 0x0225C590
mov r0, #4
bx lr
thumb_func_end ov92_0225C590
thumb_func_start ov92_0225C594
ov92_0225C594: ; 0x0225C594
mov r0, #8
bx lr
thumb_func_end ov92_0225C594
thumb_func_start ov92_0225C598
ov92_0225C598: ; 0x0225C598
mov r0, #0x20
bx lr
thumb_func_end ov92_0225C598
thumb_func_start ov92_0225C59C
ov92_0225C59C: ; 0x0225C59C
ldr r0, _0225C5A0 ; =_0226383C
bx lr
.balign 4, 0
_0225C5A0: .word _0226383C
thumb_func_end ov92_0225C59C
thumb_func_start ov92_0225C5A4
ov92_0225C5A4: ; 0x0225C5A4
mov r0, #5
bx lr
thumb_func_end ov92_0225C5A4
thumb_func_start ov92_0225C5A8
ov92_0225C5A8: ; 0x0225C5A8
push {r3, r4, r5, lr}
add r5, r0, #0
bl ov92_0225C59C
add r4, r0, #0
bl ov92_0225C5A4
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 ov92_0225C5A8
thumb_func_start ov92_0225C5C4
ov92_0225C5C4: ; 0x0225C5C4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0xb8
add r5, r0, #0
bl GetLCRNGSeed
add r1, r5, #0
add r1, #0x80
str r0, [r1]
add r0, r5, #0
bl ov92_0225D3CC
ldr r0, _0225C934 ; =ov92_0225D894
add r1, r5, #0
bl Main_SetVBlankIntrCB
bl HBlankInterruptDisable
mov r0, #0x20
mov r1, #0x71
bl GF_CreateVramTransferManager
ldr r1, _0225C938 ; =0x00200010
mov r0, #1
bl sub_02009FE8
mov r0, #1
bl sub_0200A080
bl sub_0203A880
mov r0, #0x71
bl sub_0203A4AC
add r1, sp, #0x24
add r4, r0, #0
bl NNS_G2dGetUnpackedPaletteData
mov r0, #0x20
str r0, [sp]
ldr r1, [sp, #0x24]
ldr r0, [r5, #0x5c]
ldr r1, [r1, #0xc]
mov r2, #2
mov r3, #0xe0
bl PaletteData_LoadPalette
add r0, r4, #0
bl FreeToHeap
bl sub_020347A0
add r4, r0, #0
bl sub_0203769C
str r0, [r5, #0x44]
add r0, r5, #0
bl ov92_0225C5A8
add r0, r5, #0
bl ov92_0225D8C4
cmp r0, #1
bne _0225C64E
add r1, r5, #0
add r0, r4, #0
add r1, #0x48
bl ov92_0225EB40
str r0, [r5]
_0225C64E:
add r2, r5, #0
ldr r1, [r5, #0x44]
add r0, r4, #0
add r2, #0x48
bl ov92_0225EB88
str r0, [r5, #4]
ldrb r2, [r5, #0x14]
ldr r1, _0225C93C ; =0x00002BB4
str r2, [r0, r1]
add r0, r5, #0
add r0, #0x80
ldr r3, [r0]
ldr r2, [r5, #4]
sub r0, r1, #4
str r3, [r2, r0]
bl sub_020210BC
mov r0, #4
bl sub_02021148
add r0, r5, #0
bl ov92_0225E9B4
add r0, r5, #0
bl ov92_0225E3C4
ldr r1, [r5, #4]
add r0, r5, #0
bl ov92_0225E6A4
ldr r0, [r5, #4]
bl ov92_0225DE70
ldr r0, [r5, #4]
bl ov92_0225DE08
ldr r0, [r5, #4]
bl ov92_0225E820
ldr r0, [r5, #4]
bl ov92_0225E93C
ldr r1, [r5, #0x44]
add r0, r5, #0
bl ov92_0226077C
add r1, r0, #0
add r0, r5, #0
bl ov92_0225E130
ldr r4, _0225C940 ; =ov92_02263A14
add r3, sp, #0x38
mov r2, #0x10
_0225C6BA:
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0225C6BA
mov r0, #0
str r0, [sp, #0xc]
ldr r4, [sp, #0xc]
add r0, sp, #0x38
str r0, [sp, #8]
add r0, r5, #0
str r0, [sp, #0x10]
add r0, #0x6c
add r7, r4, #0
add r6, r4, #0
str r0, [sp, #0x10]
_0225C6D8:
mov r0, #0xb5
ldr r2, [sp, #8]
ldr r1, [r5, #4]
lsl r0, r0, #4
add r0, r1, r0
ldr r1, [r5, #0x48]
ldr r2, [r2]
add r0, r0, r4
bl ov92_0225D9A8
mov r0, #0xb5
ldr r1, [r5, #4]
lsl r0, r0, #4
add r0, r1, r0
ldrb r1, [r5, #0x14]
add r0, r0, r4
bl ov92_0225D9B4
ldr r1, [r5, #4]
mov r0, #0x71
str r0, [sp]
ldr r0, [sp, #0x10]
ldr r2, _0225C944 ; =0x00000BC8
str r0, [sp, #4]
ldr r0, _0225C948 ; =0x00000BD8
ldr r3, [sp, #8]
add r0, r1, r0
add r1, r1, r2
ldr r2, [r5, #0x48]
ldr r3, [r3, #4]
add r0, r0, r4
add r1, r1, r4
bl sub_020180BC
mov r0, #0xb5
ldr r1, [r5, #4]
lsl r0, r0, #4
add r0, r1, r0
ldr r2, _0225C948 ; =0x00000BD8
add r0, r0, r4
add r1, r1, r2
add r1, r1, r4
bl sub_020181D4
ldr r1, [r5, #4]
ldr r0, _0225C948 ; =0x00000BD8
add r0, r1, r0
add r0, r0, r4
mov r1, #0
bl sub_02018198
mov r0, #0xb5
ldr r1, [r5, #4]
lsl r0, r0, #4
add r0, r1, r0
add r0, r0, r4
mov r1, #0
bl sub_020182A0
ldrb r0, [r5, #0x14]
ldr r1, [sp, #0xc]
cmp r0, #0
ldr r0, [sp, #0xc]
lsl r2, r1, #0x1f
lsr r0, r0, #0x1f
sub r2, r2, r0
mov r1, #0x1f
ror r2, r1
add r0, r0, r2
beq _0225C7A6
cmp r7, #0
ble _0225C77A
add r0, r6, #0
bl _fflt
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0225C788
_0225C77A:
add r0, r6, #0
bl _fflt
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0225C788:
ldr r1, [r5, #4]
add r1, r1, r4
str r1, [sp, #0x14]
bl _ffix
mov r1, #0xd3
ldr r2, [sp, #0x14]
lsl r1, r1, #4
ldr r1, [r2, r1]
add r2, r1, r0
mov r0, #0xd3
ldr r1, [sp, #0x14]
lsl r0, r0, #4
str r2, [r1, r0]
b _0225C7E6
_0225C7A6:
cmp r7, #0
ble _0225C7BC
add r0, r6, #0
bl _fflt
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0225C7CA
_0225C7BC:
add r0, r6, #0
bl _fflt
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0225C7CA:
ldr r1, [r5, #4]
add r1, r1, r4
str r1, [sp, #0x18]
bl _ffix
mov r1, #0xd3
ldr r2, [sp, #0x18]
lsl r1, r1, #4
ldr r1, [r2, r1]
sub r2, r1, r0
mov r0, #0xd3
ldr r1, [sp, #0x18]
lsl r0, r0, #4
str r2, [r1, r0]
_0225C7E6:
ldr r0, [sp, #0xc]
cmp r0, #8
bge _0225C830
add r1, r0, #1
mov r0, #5
mul r0, r1
cmp r0, #0
ble _0225C808
lsl r0, r0, #0xc
bl _fflt
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0225C816
_0225C808:
lsl r0, r0, #0xc
bl _fflt
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0225C816:
ldr r1, [r5, #4]
add r1, r1, r4
str r1, [sp, #0x1c]
bl _ffix
ldr r2, [sp, #0x1c]
ldr r1, _0225C94C ; =0x00000D38
ldr r1, [r2, r1]
add r2, r1, r0
ldr r1, [sp, #0x1c]
ldr r0, _0225C94C ; =0x00000D38
str r2, [r1, r0]
b _0225C86C
_0225C830:
cmp r7, #0
ble _0225C846
add r0, r6, #0
bl _fflt
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0225C854
_0225C846:
add r0, r6, #0
bl _fflt
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0225C854:
ldr r1, [r5, #4]
add r1, r1, r4
str r1, [sp, #0x20]
bl _ffix
ldr r2, [sp, #0x20]
ldr r1, _0225C94C ; =0x00000D38
ldr r1, [r2, r1]
sub r2, r1, r0
ldr r1, [sp, #0x20]
ldr r0, _0225C94C ; =0x00000D38
str r2, [r1, r0]
_0225C86C:
ldr r0, [sp, #8]
add r7, r7, #5
add r0, #8
str r0, [sp, #8]
mov r0, #0x83
lsl r0, r0, #2
add r4, r4, r0
mov r0, #5
lsl r0, r0, #0xc
add r6, r6, r0
ldr r0, [sp, #0xc]
add r0, r0, #1
str r0, [sp, #0xc]
cmp r0, #8
bge _0225C88C
b _0225C6D8
_0225C88C:
ldr r1, [r5, #4]
ldr r0, _0225C950 ; =0x00000944
mov r2, #0x47
add r0, r1, r0
ldr r1, [r5, #0x48]
bl ov92_0225D9A8
ldr r1, [r5, #4]
ldr r0, _0225C950 ; =0x00000944
add r0, r1, r0
ldrb r1, [r5, #0x14]
bl ov92_0225D9B4
ldr r1, [r5, #4]
ldr r0, _0225C950 ; =0x00000944
add r0, r1, r0
mov r1, #0
bl sub_020182A0
ldr r3, _0225C954 ; =ov92_022638A0
add r2, sp, #0x28
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r1, [r5, #0x44]
add r0, r5, #0
bl ov92_0226077C
lsl r1, r0, #2
add r0, sp, #0x28
ldr r2, [r0, r1]
mov r0, #0x45
ldr r1, [r5, #4]
lsl r0, r0, #2
add r0, r1, r0
ldr r1, [r5, #0x48]
bl ov92_0225D9A8
mov r0, #0x45
ldr r1, [r5, #4]
lsl r0, r0, #2
add r0, r1, r0
ldrb r1, [r5, #0x14]
bl ov92_0225D9B4
mov r0, #0x32
ldr r1, [r5, #4]
lsl r0, r0, #4
add r0, r1, r0
ldr r1, [r5, #0x48]
mov r2, #0x33
bl ov92_0225D9A8
ldr r1, [r5, #4]
ldr r0, _0225C958 ; =0x0000052C
mov r2, #0x39
add r0, r1, r0
ldr r1, [r5, #0x48]
bl ov92_0225D9A8
ldr r1, [r5, #4]
ldr r0, _0225C95C ; =0x00000738
mov r2, #0x37
add r0, r1, r0
ldr r1, [r5, #0x48]
bl ov92_0225D9A8
mov r0, #0x32
ldr r1, [r5, #4]
lsl r0, r0, #4
add r0, r1, r0
ldrb r1, [r5, #0x14]
bl ov92_0225D9B4
ldr r1, [r5, #4]
ldr r0, _0225C958 ; =0x0000052C
add r0, r1, r0
ldrb r1, [r5, #0x14]
bl ov92_0225D9B4
ldr r1, [r5, #4]
ldr r0, _0225C95C ; =0x00000738
b _0225C960
.balign 4, 0
_0225C934: .word ov92_0225D894
_0225C938: .word 0x00200010
_0225C93C: .word 0x00002BB4
_0225C940: .word ov92_02263A14
_0225C944: .word 0x00000BC8
_0225C948: .word 0x00000BD8
_0225C94C: .word 0x00000D38
_0225C950: .word 0x00000944
_0225C954: .word ov92_022638A0
_0225C958: .word 0x0000052C
_0225C95C: .word 0x00000738
_0225C960:
add r0, r1, r0
ldrb r1, [r5, #0x14]
bl ov92_0225D9B4
mov r6, #0x32
ldr r4, [r5, #4]
mov r0, #0x71
str r0, [sp]
add r0, r5, #0
add r0, #0x6c
lsl r6, r6, #4
str r0, [sp, #4]
add r0, r4, r6
add r1, r4, r6
ldr r2, [r5, #0x48]
add r0, #0x88
add r1, #0x78
mov r3, #0x35
bl sub_020180BC
add r0, r4, r6
add r1, r0, #0
add r1, #0x88
bl sub_020181D4
add r0, r4, r6
add r0, #0x88
mov r1, #0
bl sub_02018198
mov r0, #0x71
str r0, [sp]
add r0, r5, #0
add r0, #0x6c
str r0, [sp, #4]
add r0, r4, r6
add r1, r4, r6
ldr r2, [r5, #0x48]
add r0, #0x9c
add r1, #0x78
mov r3, #0x34
bl sub_020180BC
add r0, r4, r6
add r0, #0x9c
mov r1, #0
bl sub_02018198
mov r0, #0x71
str r0, [sp]
add r0, r5, #0
add r0, #0x6c
str r0, [sp, #4]
add r0, r4, r6
add r1, r4, r6
ldr r2, [r5, #0x48]
add r0, #0xb0
add r1, #0x78
mov r3, #0x3a
bl sub_020180BC
add r0, r4, r6
add r0, #0xb0
mov r1, #0
bl sub_02018198
ldr r4, [r5, #4]
mov r0, #0x71
str r0, [sp]
add r0, r5, #0
ldr r6, _0225CAA0 ; =0x0000052C
add r0, #0x6c
str r0, [sp, #4]
add r0, r4, r6
add r1, r4, r6
ldr r2, [r5, #0x48]
add r0, #0x88
add r1, #0x78
mov r3, #0x38
bl sub_020180BC
add r0, r4, r6
add r1, r0, #0
add r1, #0x88
bl sub_020181D4
add r0, r4, r6
add r0, #0x88
mov r1, #0
bl sub_02018198
ldr r4, [r5, #4]
mov r0, #0x71
str r0, [sp]
add r0, r5, #0
ldr r6, _0225CAA4 ; =0x00000738
add r0, #0x6c
str r0, [sp, #4]
add r0, r4, r6
add r1, r4, r6
ldr r2, [r5, #0x48]
add r0, #0x88
add r1, #0x78
mov r3, #0x36
bl sub_020180BC
add r0, r4, r6
add r1, r0, #0
add r1, #0x88
bl sub_020181D4
add r0, r4, r6
add r0, #0x88
mov r1, #0
bl sub_02018198
ldrb r0, [r5, #0x14]
cmp r0, #0
beq _0225CA6C
mov r1, #0xbe
ldr r0, _0225CAA8 ; =0xFFFF8000
ldr r2, [r5, #4]
lsl r1, r1, #2
str r0, [r2, r1]
ldr r2, [r5, #4]
ldr r1, _0225CAAC ; =0x00000504
str r0, [r2, r1]
add r1, r6, #0
ldr r2, [r5, #4]
sub r1, #0x28
str r0, [r2, r1]
ldr r2, [r5, #4]
ldr r1, _0225CAB0 ; =0x0000091C
str r0, [r2, r1]
_0225CA6C:
ldr r0, [r5, #0x54]
bl sub_0200E2B0
mov r1, #0x71
bl ov90_02258BD4
add r1, r5, #0
add r1, #0x84
str r0, [r1]
mov r1, #2
ldr r0, [r5, #0x5c]
mov r2, #0
lsl r3, r1, #8
bl sub_020032A4
add r5, #0x88
ldr r0, [r5]
ldr r0, [r0, #0x3c]
cmp r0, #0
beq _0225CA9A
mov r0, #0x71
bl ov00_021E69A8
_0225CA9A:
add sp, #0xb8
pop {r3, r4, r5, r6, r7, pc}
nop
_0225CAA0: .word 0x0000052C
_0225CAA4: .word 0x00000738
_0225CAA8: .word 0xFFFF8000
_0225CAAC: .word 0x00000504
_0225CAB0: .word 0x0000091C
thumb_func_end ov92_0225C5C4
thumb_func_start ov92_0225CAB4
ov92_0225CAB4: ; 0x0225CAB4
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
mov r2, #0x65
add r4, r0, #0
mov r0, #3
mov r1, #0x71
lsl r2, r2, #0xc
bl CreateHeap
add r0, r4, #0
mov r1, #0xd0
mov r2, #0x71
bl OverlayManager_CreateAndGetData
mov r1, #0
mov r2, #0xd0
str r0, [sp, #4]
bl memset
add r0, r4, #0
bl OverlayManager_GetArgs
ldr r1, [sp, #4]
ldr r6, [sp, #4]
add r1, #0x88
str r0, [r1]
mov r4, #0
add r5, r6, #0
mov r7, #0xff
_0225CAEE:
add r0, r6, #0
add r0, #0xbc
str r7, [r0]
add r0, r4, #0
bl sub_02034818
cmp r0, #0
beq _0225CB06
add r0, r5, #0
add r0, #0xbc
str r4, [r0]
add r5, r5, #4
_0225CB06:
add r4, r4, #1
add r6, r6, #4
cmp r4, #4
blt _0225CAEE
ldr r0, [sp, #4]
add r0, #0x88
ldr r3, [r0]
ldr r0, [sp, #4]
str r3, [sp]
ldr r1, [r3, #0x38]
ldr r2, [r3, #0x34]
add r0, #0x8c
ldr r3, [r3, #0x3c]
str r0, [sp, #4]
bl ov90_02258800
mov r0, #1
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov92_0225CAB4
thumb_func_start ov92_0225CB2C
ov92_0225CB2C: ; 0x0225CB2C
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
cmp r4, #0
bne _0225CBC6
cmp r6, #0
bne _0225CBC6
ldr r3, _0225CC48 ; =0x00001FD4
mov r0, #0
mov r2, #0xc3
str r0, [r5, r3]
add r1, r3, #4
lsl r2, r2, #2
str r0, [r5, r1]
ldr r1, [r5, r2]
cmp r1, #0
beq _0225CB82
mov r0, #0x45
lsl r0, r0, #2
mov r1, #0xfe
add r0, r5, r0
lsl r1, r1, #0x16
bl ov92_02260628
ldr r4, _0225CC4C ; =ov92_02263884
add r3, sp, #0x18
ldmia r4!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r4]
mov r1, #0x4d
str r0, [r3]
add r0, r2, #0
ldr r2, _0225CC50 ; =0x00001FC8
lsl r1, r1, #4
add r1, r5, r1
add r2, r5, r2
bl MTX_MultVec43
add sp, #0x24
pop {r4, r5, r6, r7, pc}
_0225CB82:
add r1, r2, #4
str r0, [r5, r1]
add r2, #8
str r0, [r5, r2]
add r1, r3, #4
ldr r2, [r5, r1]
ldr r1, [r5, r3]
ldr r3, _0225CC54 ; =0x3FF0A3D7
str r2, [sp]
str r3, [sp, #4]
str r0, [sp, #8]
mov r0, #0x45
lsl r0, r0, #2
add r0, r5, r0
add r3, r1, #0
bl ov92_02260428
ldr r0, _0225CC58 ; =0x00001FD8
ldr r2, [r5, r0]
sub r0, r0, #4
ldr r1, [r5, r0]
ldr r0, _0225CC5C ; =0x3E6147AE
str r2, [sp]
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #0x32
lsl r0, r0, #4
add r0, r5, r0
add r3, r1, #0
bl ov92_02260428
add sp, #0x24
pop {r4, r5, r6, r7, pc}
_0225CBC6:
ldr r0, _0225CC60 ; =0x00001FCC
mov r1, #0x28
ldr r0, [r5, r0]
asr r7, r0, #0xc
mov r0, #0x64
sub r0, r0, r7
bl _s32_div_f
bl _fflt
ldr r0, _0225CC48 ; =0x00001FD4
cmp r7, #0x5f
ldr r1, [r5, r0]
cmp r1, #0
bne _0225CBEA
str r4, [r5, r0]
add r0, r0, #4
str r6, [r5, r0]
_0225CBEA:
ldr r3, _0225CC58 ; =0x00001FD8
add r1, r4, #0
ldr r0, [r5, r3]
sub r3, r3, #4
str r0, [sp]
mov r0, #1
lsl r0, r0, #0x1e
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x45
lsl r0, r0, #2
ldr r3, [r5, r3]
add r0, r5, r0
add r2, r6, #0
bl ov92_02260428
ldr r3, _0225CC64 ; =ov92_02263878
add r2, sp, #0xc
ldmia r3!, {r0, r1}
add r7, r2, #0
stmia r2!, {r0, r1}
ldr r0, [r3]
mov r1, #0x4d
str r0, [r2]
ldr r2, _0225CC50 ; =0x00001FC8
lsl r1, r1, #4
add r0, r7, #0
add r1, r5, r1
add r2, r5, r2
bl MTX_MultVec43
ldr r0, _0225CC68 ; =0x0000058A
bl IsSEPlaying
cmp r0, #0
bne _0225CC3A
ldr r0, _0225CC68 ; =0x0000058A
bl PlaySE
_0225CC3A:
ldr r0, _0225CC48 ; =0x00001FD4
str r4, [r5, r0]
add r0, r0, #4
str r6, [r5, r0]
add sp, #0x24
pop {r4, r5, r6, r7, pc}
nop
_0225CC48: .word 0x00001FD4
_0225CC4C: .word ov92_02263884
_0225CC50: .word 0x00001FC8
_0225CC54: .word 0x3FF0A3D7
_0225CC58: .word 0x00001FD8
_0225CC5C: .word 0x3E6147AE
_0225CC60: .word 0x00001FCC
_0225CC64: .word ov92_02263878
_0225CC68: .word 0x0000058A
thumb_func_end ov92_0225CB2C
thumb_func_start ov92_0225CC6C
ov92_0225CC6C: ; 0x0225CC6C
push {r4, r5, r6, r7, lr}
sub sp, #0xcc
ldr r3, _0225CDEC ; =ov92_02263A94
add r5, r0, #0
add r2, sp, #0xc
mov r1, #0x60
_0225CC78:
ldrh r0, [r3]
add r3, r3, #2
strh r0, [r2]
add r2, r2, #2
sub r1, r1, #1
bne _0225CC78
add r0, r5, #0
add r0, #0xf0
ldr r0, [r0]
bl UnkImageStruct_GetSpriteAnimCtrlCurrentFrame
add r7, r0, #0
ldr r1, [r5, #0xc]
mov r0, #0xc
mul r0, r1
add r0, r7, r0
lsl r1, r0, #2
add r0, sp, #0xc
ldrsh r4, [r0, r1]
add r0, sp, #0xc
add r0, #2
ldrsh r6, [r0, r1]
cmp r4, #0
bne _0225CCB8
cmp r6, #0
bne _0225CCB8
mov r1, #0
add r0, r5, #0
add r2, r1, #0
bl ov92_0225CB2C
b _0225CCF0
_0225CCB8:
add r1, r4, #0
add r2, r6, #0
add r0, r5, #0
add r1, #0x80
add r2, #0x80
bl ov92_0225CB2C
cmp r4, #0
beq _0225CCDE
add r4, #0x58
add r6, #0x80
lsl r1, r4, #0x10
lsl r2, r6, #0x10
add r0, r5, #0
asr r1, r1, #0x10
asr r2, r2, #0x10
bl ov92_02260A38
b _0225CCF0
_0225CCDE:
add r4, #0x80
add r6, #0x80
lsl r1, r4, #0x10
lsl r2, r6, #0x10
add r0, r5, #0
asr r1, r1, #0x10
asr r2, r2, #0x10
bl ov92_02260A38
_0225CCF0:
cmp r7, #0
bne _0225CD00
ldr r0, [r5, #8]
cmp r0, r7
beq _0225CD00
ldr r0, [r5, #0xc]
add r0, r0, #1
str r0, [r5, #0xc]
_0225CD00:
str r7, [r5, #8]
ldr r0, [r5, #0xc]
cmp r0, #2
bne _0225CD76
add r0, r5, #0
add r0, #0xf0
ldr r0, [r0]
bl UnkImageStruct_GetSpriteCurrentAnimSeqNo
cmp r0, #2
beq _0225CD76
add r0, r5, #0
add r0, #0xf0
ldr r0, [r0]
mov r1, #0x80
mov r2, #0x64
bl UnkImageStruct_SetSpritePositionXY
add r0, r5, #0
add r0, #0xf0
ldr r0, [r0]
mov r1, #2
bl UnkImageStruct_TryChangeSpriteAnimSeqNo
mov r0, #0xa9
lsl r0, r0, #2
add r0, r5, r0
bl ov92_022630E8
mov r0, #0xad
lsl r0, r0, #2
add r0, r5, r0
bl ov92_022630E8
mov r3, #5
mov r1, #0
ldr r0, _0225CDF0 ; =0x3F4CCCCD
str r3, [sp]
str r0, [sp, #4]
mov r0, #0x45
lsl r0, r0, #2
add r0, r5, r0
add r2, r1, #0
str r1, [sp, #8]
bl ov92_02260428
mov r3, #4
mvn r3, r3
mov r1, #0
ldr r0, _0225CDF0 ; =0x3F4CCCCD
str r3, [sp]
str r0, [sp, #4]
mov r0, #0x45
lsl r0, r0, #2
add r0, r5, r0
add r2, r1, #0
str r1, [sp, #8]
bl ov92_02260428
_0225CD76:
ldr r0, [r5, #0xc]
cmp r0, #3
bne _0225CDDC
cmp r7, #0xb
bne _0225CDDC
mov r1, #0
str r1, [r5, #8]
add r0, r5, #0
str r1, [r5, #0xc]
add r0, #0xf0
ldr r0, [r0]
bl UnkImageStruct_SetSpriteVisibleFlag
mov r0, #0xa9
lsl r0, r0, #2
add r0, r5, r0
bl ov92_022630E8
mov r0, #0xad
lsl r0, r0, #2
add r0, r5, r0
bl ov92_022630E8
mov r3, #5
mov r1, #0
ldr r0, _0225CDF0 ; =0x3F4CCCCD
str r3, [sp]
str r0, [sp, #4]
mov r0, #0x45
lsl r0, r0, #2
add r0, r5, r0
add r2, r1, #0
str r1, [sp, #8]
bl ov92_02260428
mov r3, #4
mvn r3, r3
mov r1, #0
ldr r0, _0225CDF0 ; =0x3F4CCCCD
str r3, [sp]
str r0, [sp, #4]
mov r0, #0x45
lsl r0, r0, #2
add r0, r5, r0
add r2, r1, #0
str r1, [sp, #8]
bl ov92_02260428
add sp, #0xcc
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0225CDDC:
add r5, #0xf0
ldr r0, [r5]
bl UnkImageStruct_TickSpriteAnimation2Frames
mov r0, #0
add sp, #0xcc
pop {r4, r5, r6, r7, pc}
nop
_0225CDEC: .word ov92_02263A94
_0225CDF0: .word 0x3F4CCCCD
thumb_func_end ov92_0225CC6C
thumb_func_start ov92_0225CDF4
ov92_0225CDF4: ; 0x0225CDF4
push {r3, r4, r5, r6, r7, lr}
add r7, r1, #0
bl OverlayManager_GetData
add r4, r0, #0
bl ov92_0225D8E4
cmp r0, #0
beq _0225CE18
cmp r0, #1
beq _0225CE10
cmp r0, #2
beq _0225CE14
b _0225CE18
_0225CE10:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0225CE14:
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0225CE18:
ldr r0, [r7]
cmp r0, #0x14
bls _0225CE20
b _0225D1B8
_0225CE20:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0225CE2C: ; jump table
.short _0225CE56 - _0225CE2C - 2 ; case 0
.short _0225CE74 - _0225CE2C - 2 ; case 1
.short _0225CE8C - _0225CE2C - 2 ; case 2
.short _0225CEBE - _0225CE2C - 2 ; case 3
.short _0225CEDC - _0225CE2C - 2 ; case 4
.short _0225CEEE - _0225CE2C - 2 ; case 5
.short _0225CF0E - _0225CE2C - 2 ; case 6
.short _0225CF44 - _0225CE2C - 2 ; case 7
.short _0225CF52 - _0225CE2C - 2 ; case 8
.short _0225CF6A - _0225CE2C - 2 ; case 9
.short _0225CF92 - _0225CE2C - 2 ; case 10
.short _0225CFE6 - _0225CE2C - 2 ; case 11
.short _0225D00E - _0225CE2C - 2 ; case 12
.short _0225D026 - _0225CE2C - 2 ; case 13
.short _0225D068 - _0225CE2C - 2 ; case 14
.short _0225D096 - _0225CE2C - 2 ; case 15
.short _0225D0AA - _0225CE2C - 2 ; case 16
.short _0225D0C6 - _0225CE2C - 2 ; case 17
.short _0225D12A - _0225CE2C - 2 ; case 18
.short _0225D194 - _0225CE2C - 2 ; case 19
.short _0225D1B8 - _0225CE2C - 2 ; case 20
_0225CE56:
add r0, r4, #0
add r0, #0x8c
mov r1, #0x71
bl ov90_02258920
add r1, r4, #0
add r1, #0x9c
str r0, [r1]
mov r1, #1
add r0, r4, #0
add r2, r1, #0
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225CE74:
add r0, r4, #0
add r0, #0x9c
ldr r0, [r0]
bl ov90_022589BC
add r1, r0, #0
add r0, r4, #0
mov r2, #2
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225CE8C:
add r0, r4, #0
add r0, #0x9c
ldr r0, [r0]
bl ov90_022589CC
strb r0, [r4, #0x14]
add r0, r4, #0
add r0, #0x9c
ldr r0, [r0]
bl ov90_02258938
add r0, r4, #0
mov r1, #0
add r0, #0x9c
str r1, [r0]
add r0, r4, #0
bl ov92_0225C5C4
add r0, r4, #0
mov r1, #1
mov r2, #3
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225CEBE:
mov r0, #0x1b
bl ov92_0225D868
add r5, r0, #0
ldr r1, [r4, #4]
add r0, r4, #0
bl ov92_0225E1A8
add r0, r4, #0
add r1, r5, #0
mov r2, #4
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225CEDC:
bl IsPaletteFadeFinished
add r1, r0, #0
add r0, r4, #0
mov r2, #5
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225CEEE:
ldr r0, [r4, #4]
bl ov92_0225E070
ldr r0, [r4, #4]
bl ov92_0226156C
ldr r0, [r4, #4]
bl ov92_02261B18
add r0, r4, #0
mov r1, #1
mov r2, #6
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225CF0E:
ldr r0, [r4, #4]
bl ov92_0225CC6C
add r5, r0, #0
beq _0225CF36
add r0, r4, #0
bl ov92_0225D8C4
cmp r0, #1
bne _0225CF36
add r0, r4, #0
add r0, #0x80
ldr r0, [r0]
add r1, r4, #0
str r0, [r4, #0x18]
mov r0, #0x16
add r1, #0x14
mov r2, #8
bl sub_02037030
_0225CF36:
add r0, r4, #0
add r1, r5, #0
mov r2, #7
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225CF44:
ldr r1, [r4, #8]
add r0, r4, #0
mov r2, #8
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225CF52:
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
bl ov90_02258C8C
add r0, r4, #0
mov r1, #1
mov r2, #9
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225CF6A:
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
bl ov90_02258CE0
add r5, r0, #0
beq _0225CF84
ldr r0, [r4, #4]
bl ov92_0225E360
ldr r0, [r4, #4]
bl ov92_0225E100
_0225CF84:
add r0, r4, #0
add r1, r5, #0
mov r2, #0xa
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225CF92:
ldr r5, [r4, #0xc]
cmp r5, #0
beq _0225CFA8
ldr r1, [r4, #4]
ldr r0, _0225D1E4 ; =0x00002AE4
ldr r1, [r1, r0]
mov r0, #0x4b
lsl r0, r0, #4
cmp r1, r0
bge _0225CFA8
mov r5, #0
_0225CFA8:
cmp r5, #0
bne _0225CFD8
add r0, r4, #0
bl ov92_0225D8C4
cmp r0, #1
bne _0225CFD2
ldr r0, [r4]
bl ov92_0225EB70
cmp r0, #0
bne _0225CFD2
ldr r0, _0225D1E8 ; =0x00000589
mov r1, #0
bl StopSE
mov r1, #0
mov r0, #0x17
add r2, r1, #0
bl sub_02037030
_0225CFD2:
ldr r0, [r4, #4]
bl ov92_0225FC2C
_0225CFD8:
add r0, r4, #0
add r1, r5, #0
mov r2, #0xb
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225CFE6:
ldr r0, _0225D1EC ; =0x0000058B
mov r1, #0
bl StopSE
ldr r0, _0225D1E8 ; =0x00000589
mov r1, #0
bl StopSE
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
bl ov90_02258CB0
add r0, r4, #0
mov r1, #1
mov r2, #0xc
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225D00E:
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
bl ov90_02258CE0
add r1, r0, #0
add r0, r4, #0
mov r2, #0xd
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225D026:
ldr r1, [r4, #4]
ldr r0, _0225D1F0 ; =0x00002AF0
ldr r0, [r1, r0]
mov r1, #0xa
bl _s32_div_f
mov r1, #0x64
mul r1, r0
ldr r0, _0225D1F4 ; =0x000186A0
str r1, [r4, #0x1c]
cmp r1, r0
blo _0225D040
str r0, [r4, #0x1c]
_0225D040:
ldr r1, [r4, #4]
ldr r0, _0225D1F8 ; =0x00002B94
ldr r0, [r1, r0]
cmp r0, #0
bne _0225D04E
mov r0, #1
str r0, [r4, #0x1c]
_0225D04E:
add r1, r4, #0
mov r0, #0x19
add r1, #0x1c
mov r2, #8
bl sub_02037030
add r0, r4, #0
mov r1, #1
mov r2, #0xe
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225D068:
mov r1, #0
add r0, r1, #0
add r3, r1, #0
add r5, r4, #0
_0225D070:
ldr r2, [r5, #0x24]
cmp r2, #0
beq _0225D078
add r0, r0, #1
_0225D078:
add r3, r3, #1
add r5, #8
cmp r3, #4
blt _0225D070
ldr r2, [r4, #4]
ldr r2, [r2, #4]
cmp r0, r2
bne _0225D08A
mov r1, #1
_0225D08A:
add r0, r4, #0
mov r2, #0xf
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225D096:
mov r0, #0x1a
bl ov92_0225D868
add r1, r0, #0
add r0, r4, #0
mov r2, #0x10
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225D0AA:
bl IsPaletteFadeFinished
add r5, r0, #0
beq _0225D0B8
add r0, r4, #0
bl ov92_0225D1FC
_0225D0B8:
add r0, r4, #0
add r1, r5, #0
mov r2, #0x11
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225D0C6:
mov r6, #0
add r5, r4, #0
_0225D0CA:
add r0, r4, #0
add r1, r6, #0
bl ov92_0226077C
cmp r0, #0xff
beq _0225D0F2
lsl r0, r0, #2
add r1, r4, r0
ldr r2, [r5, #0x24]
add r1, #0xa0
str r2, [r1]
add r1, r4, r0
add r1, #0xa0
ldr r1, [r1]
cmp r1, #1
bhi _0225D0F2
add r1, r4, r0
add r1, #0xa0
mov r0, #0
str r0, [r1]
_0225D0F2:
add r6, r6, #1
add r5, #8
cmp r6, #4
blt _0225D0CA
add r1, r4, #0
add r1, #0x94
ldrb r1, [r1]
add r0, r4, #0
add r0, #0xa0
bl ov90_02258AA8
add r0, r4, #0
add r1, r4, #0
add r0, #0x8c
add r1, #0xa0
mov r2, #0x71
bl ov90_022589EC
add r1, r4, #0
add r1, #0xb8
str r0, [r1]
add r0, r4, #0
mov r1, #1
mov r2, #0x12
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225D12A:
add r0, r4, #0
add r0, #0xb8
ldr r0, [r0]
bl ov90_02258AA0
add r5, r0, #0
beq _0225D186
add r0, r4, #0
add r0, #0xb8
ldr r0, [r0]
bl ov90_02258AA4
add r6, r0, #0
add r0, r4, #0
add r0, #0xb8
ldr r0, [r0]
bl ov90_02258A04
add r0, r4, #0
mov r1, #0
add r0, #0xb8
str r1, [r0]
cmp r6, #0
beq _0225D186
add r0, r4, #0
mov r1, #1
add r0, #0xcc
str r1, [r0]
add r0, r4, #0
bl ov92_0225D344
add r0, r4, #0
add r1, r5, #0
mov r2, #0
add r3, r7, #0
bl ov92_0225D88C
add r0, r4, #0
add r0, #0x88
ldr r0, [r0]
ldr r0, [r0, #0x3c]
cmp r0, #0
beq _0225D1CA
bl ov00_021E6A4C
b _0225D1CA
_0225D186:
add r0, r4, #0
add r1, r5, #0
mov r2, #0x13
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225D194:
mov r0, #0x1b
bl sub_02037AC0
add r0, r4, #0
add r0, #0x88
ldr r0, [r0]
ldr r0, [r0, #0x3c]
cmp r0, #0
beq _0225D1AA
bl ov00_021E6A4C
_0225D1AA:
add r0, r4, #0
mov r1, #1
mov r2, #0x14
add r3, r7, #0
bl ov92_0225D88C
b _0225D1CA
_0225D1B8:
mov r0, #0x1b
bl sub_02037B38
cmp r0, #1
bne _0225D1C6
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0225D1C6:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
_0225D1CA:
ldr r0, [r7]
cmp r0, #3
blt _0225D1E0
cmp r0, #0x10
bge _0225D1E0
ldr r0, [r4, #4]
bl ov92_0225E008
add r0, r4, #0
bl ov92_0225DA40
_0225D1E0:
mov r0, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0225D1E4: .word 0x00002AE4
_0225D1E8: .word 0x00000589
_0225D1EC: .word 0x0000058B
_0225D1F0: .word 0x00002AF0
_0225D1F4: .word 0x000186A0
_0225D1F8: .word 0x00002B94
thumb_func_end ov92_0225CDF4
thumb_func_start ov92_0225D1FC
ov92_0225D1FC: ; 0x0225D1FC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0
add r1, r0, #0
bl Main_SetVBlankIntrCB
bl HBlankInterruptDisable
bl GF_DestroyVramTransferManager
bl sub_02021238
add r0, r5, #0
add r0, #0x80
ldr r0, [r0]
bl SetLCRNGSeed
ldr r0, [r5, #4]
bl ov92_0225E03C
ldr r0, [r5, #4]
bl ov92_0225DEF0
ldr r0, [r5, #4]
bl ov92_0225DF40
ldr r0, [r5, #4]
bl ov92_0225E918
ldr r0, [r5, #4]
bl ov92_0225E9A8
mov r0, #0x45
ldr r1, [r5, #4]
lsl r0, r0, #2
add r0, r1, r0
bl ov92_0225DA2C
mov r0, #0x32
ldr r1, [r5, #4]
lsl r0, r0, #4
add r0, r1, r0
bl ov92_0225DA2C
ldr r1, [r5, #4]
ldr r0, _0225D32C ; =0x0000052C
add r0, r1, r0
bl ov92_0225DA2C
ldr r1, [r5, #4]
ldr r0, _0225D330 ; =0x00000738
add r0, r1, r0
bl ov92_0225DA2C
ldr r1, [r5, #4]
ldr r0, _0225D334 ; =0x00000944
add r0, r1, r0
bl ov92_0225DA2C
mov r0, #0xea
ldr r1, [r5, #4]
lsl r0, r0, #2
add r0, r1, r0
add r1, r5, #0
add r1, #0x6c
bl sub_020180F8
mov r0, #0xef
ldr r1, [r5, #4]
lsl r0, r0, #2
add r0, r1, r0
add r1, r5, #0
add r1, #0x6c
bl sub_020180F8
mov r0, #0x3d
ldr r1, [r5, #4]
lsl r0, r0, #4
add r0, r1, r0
add r1, r5, #0
add r1, #0x6c
bl sub_020180F8
ldr r1, [r5, #4]
ldr r0, _0225D338 ; =0x000005B4
add r0, r1, r0
add r1, r5, #0
add r1, #0x6c
bl sub_020180F8
mov r0, #0x1f
ldr r1, [r5, #4]
lsl r0, r0, #6
add r0, r1, r0
add r1, r5, #0
add r1, #0x6c
bl sub_020180F8
mov r7, #0
add r6, r5, #0
add r4, r7, #0
add r6, #0x6c
_0225D2C8:
mov r0, #0xb5
ldr r1, [r5, #4]
lsl r0, r0, #4
add r0, r1, r0
add r0, r0, r4
bl ov92_0225DA2C
ldr r1, [r5, #4]
ldr r0, _0225D33C ; =0x00000BD8
add r0, r1, r0
add r0, r0, r4
add r1, r6, #0
bl sub_020180F8
ldr r1, [r5, #4]
ldr r0, _0225D340 ; =0x00000BEC
add r0, r1, r0
add r0, r0, r4
add r1, r6, #0
bl sub_020180F8
mov r0, #0x83
lsl r0, r0, #2
add r7, r7, #1
add r4, r4, r0
cmp r7, #8
blt _0225D2C8
add r0, r5, #0
add r0, #0x84
ldr r0, [r0]
bl ov90_02258C38
add r0, r5, #0
bl ov92_0225D49C
add r0, r5, #0
bl ov92_0225D8C4
cmp r0, #1
bne _0225D31E
ldr r0, [r5]
bl ov92_0225EB68
_0225D31E:
ldr r0, [r5, #4]
bl ov92_0225ED60
mov r0, #0
str r0, [r5]
str r0, [r5, #4]
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0225D32C: .word 0x0000052C
_0225D330: .word 0x00000738
_0225D334: .word 0x00000944
_0225D338: .word 0x000005B4
_0225D33C: .word 0x00000BD8
_0225D340: .word 0x00000BEC
thumb_func_end ov92_0225D1FC
thumb_func_start ov92_0225D344
ov92_0225D344: ; 0x0225D344
mov r1, #0
str r1, [r0, #0xc]
str r1, [r0, #8]
str r1, [r0, #0x10]
add r2, r0, #0
strb r1, [r0, #0x1c]
add r2, #0x1c
strb r1, [r2, #1]
strb r1, [r2, #2]
strb r1, [r2, #3]
strb r1, [r2, #4]
strb r1, [r2, #5]
strb r1, [r2, #6]
strb r1, [r2, #7]
ldr r3, _0225D368 ; =memset
add r0, #0x24
mov r2, #0x20
bx r3
.balign 4, 0
_0225D368: .word memset
thumb_func_end ov92_0225D344
thumb_func_start ov92_0225D36C
ov92_0225D36C: ; 0x0225D36C
push {r4, r5, r6, lr}
add r5, r1, #0
ldr r1, [r5]
add r6, r0, #0
cmp r1, #0
bne _0225D3AC
bl OverlayManager_GetData
bl ov92_0225D8E4
add r4, r0, #0
add r0, r6, #0
bl OverlayManager_FreeData
mov r0, #0x71
bl DestroyHeap
mov r0, #0
mov r1, #1
bl sub_020398D4
cmp r4, #0
beq _0225D39E
mov r0, #1
pop {r4, r5, r6, pc}
_0225D39E:
mov r0, #0xe7
bl sub_02037AC0
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0225D3C8
_0225D3AC:
mov r0, #0xe7
bl sub_02037B38
cmp r0, #1
beq _0225D3C4
bl sub_02037454
add r4, r0, #0
bl sub_020347A0
cmp r4, r0
bge _0225D3C8
_0225D3C4:
mov r0, #1
pop {r4, r5, r6, pc}
_0225D3C8:
mov r0, #0
pop {r4, r5, r6, pc}
thumb_func_end ov92_0225D36C
thumb_func_start ov92_0225D3CC
ov92_0225D3CC: ; 0x0225D3CC
push {r4, lr}
sub sp, #8
add r4, r0, #0
mov r0, #0xc1
mov r1, #0x71
bl NARC_New
str r0, [r4, #0x48]
mov r0, #0xbd
mov r1, #0x71
bl NARC_New
str r0, [r4, #0x4c]
mov r0, #0x71
bl BgConfig_Alloc
str r0, [r4, #0x58]
mov r0, #0x71
bl PaletteData_Init
str r0, [r4, #0x5c]
mov r0, #4
str r0, [sp]
mov r1, #0
str r1, [sp, #4]
mov r0, #0x71
mov r2, #1
add r3, r1, #0
bl GF_3DVramMan_Create
str r0, [r4, #0x60]
mov r0, #0x71
bl Camera_New
str r0, [r4, #0x64]
add r0, r4, #0
bl ov92_0225DD88
ldr r0, [r4, #0x5c]
mov r1, #1
bl sub_02003B50
mov r2, #2
ldr r0, [r4, #0x5c]
mov r1, #0
lsl r2, r2, #8
mov r3, #0x71
bl PaletteData_AllocBuffers
mov r1, #1
ldr r0, [r4, #0x5c]
lsl r2, r1, #9
mov r3, #0x71
bl PaletteData_AllocBuffers
mov r1, #2
ldr r0, [r4, #0x5c]
lsl r2, r1, #8
mov r3, #0x71
bl PaletteData_AllocBuffers
mov r2, #2
ldr r0, [r4, #0x5c]
mov r1, #3
lsl r2, r2, #8
mov r3, #0x71
bl PaletteData_AllocBuffers
ldr r0, [r4, #0x58]
bl ov92_0225D594
add r0, r4, #0
bl ov92_0225D7CC
ldr r0, _0225D490 ; =0x04000060
ldr r1, _0225D494 ; =0xFFFFCFFF
ldrh r2, [r0]
add r3, r2, #0
and r3, r1
mov r2, #8
orr r2, r3
strh r2, [r0]
ldrh r2, [r0]
and r2, r1
mov r1, #0x20
orr r1, r2
strh r1, [r0]
ldr r0, _0225D498 ; =ov92_022638B0
bl G3X_SetEdgeColorTable
add r4, #0x6c
add r0, r4, #0
mov r1, #0x71
mov r2, #0x20
bl GF_ExpHeap_FndInitAllocator
add sp, #8
pop {r4, pc}
.balign 4, 0
_0225D490: .word 0x04000060
_0225D494: .word 0xFFFFCFFF
_0225D498: .word ov92_022638B0
thumb_func_end ov92_0225D3CC
thumb_func_start ov92_0225D49C
ov92_0225D49C: ; 0x0225D49C
push {r4, lr}
add r4, r0, #0
mov r0, #1
mov r1, #0
bl GfGfx_EngineATogglePlanes
mov r0, #2
mov r1, #0
bl GfGfx_EngineATogglePlanes
mov r0, #4
mov r1, #0
bl GfGfx_EngineATogglePlanes
mov r0, #8
mov r1, #0
bl GfGfx_EngineATogglePlanes
mov r0, #1
mov r1, #0
bl GfGfx_EngineBTogglePlanes
mov r0, #2
mov r1, #0
bl GfGfx_EngineBTogglePlanes
mov r0, #4
mov r1, #0
bl GfGfx_EngineBTogglePlanes
mov r0, #8
mov r1, #0
bl GfGfx_EngineBTogglePlanes
ldr r0, [r4, #0x58]
mov r1, #0
bl FreeBgTilemapBuffer
ldr r0, [r4, #0x58]
mov r1, #1
bl FreeBgTilemapBuffer
ldr r0, [r4, #0x58]
mov r1, #2
bl FreeBgTilemapBuffer
ldr r0, [r4, #0x58]
mov r1, #3
bl FreeBgTilemapBuffer
ldr r0, [r4, #0x58]
mov r1, #4
bl FreeBgTilemapBuffer
ldr r0, [r4, #0x58]
mov r1, #5
bl FreeBgTilemapBuffer
ldr r0, [r4, #0x58]
mov r1, #6
bl FreeBgTilemapBuffer
ldr r0, [r4, #0x58]
mov r1, #7
bl FreeBgTilemapBuffer
ldr r0, [r4, #0x58]
bl FreeToHeap
ldr r0, [r4, #0x5c]
mov r1, #0
bl PaletteData_FreeBuffers
ldr r0, [r4, #0x5c]
mov r1, #1
bl PaletteData_FreeBuffers
ldr r0, [r4, #0x5c]
mov r1, #2
bl PaletteData_FreeBuffers
ldr r0, [r4, #0x5c]
mov r1, #3
bl PaletteData_FreeBuffers
ldr r0, [r4, #0x5c]
bl PaletteData_Free
ldr r0, [r4, #0x48]
bl NARC_Delete
ldr r0, [r4, #0x4c]
bl NARC_Delete
ldr r0, [r4, #0x60]
bl GF_3DVramMan_Delete
ldr r0, [r4, #0x64]
bl Camera_Delete
ldr r0, [r4, #0x50]
ldr r1, [r4, #0x54]
bl SpriteRenderer_UnloadResourcesAndRemoveGfxHandler
ldr r0, [r4, #0x50]
bl SpriteRenderer_Delete
ldr r0, _0225D588 ; =gSystem + 0x60
mov r1, #0
strb r1, [r0, #9]
bl GfGfx_SwapDisplay
ldr r2, _0225D58C ; =0x04000060
ldr r0, _0225D590 ; =0x0000CFF7
ldrh r1, [r2]
and r0, r1
strh r0, [r2]
pop {r4, pc}
.balign 4, 0
_0225D588: .word gSystem + 0x60
_0225D58C: .word 0x04000060
_0225D590: .word 0x0000CFF7
thumb_func_end ov92_0225D49C
thumb_func_start ov92_0225D594
ov92_0225D594: ; 0x0225D594
push {r4, r5, lr}
sub sp, #0x11c
add r4, r0, #0
bl GfGfx_DisableEngineAPlanes
ldr r5, _0225D7B0 ; =ov92_02263890
add r3, sp, #0x2c
add r2, r3, #0
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
add r0, r2, #0
bl SetBothScreensModesAndDisable
ldr r5, _0225D7B4 ; =ov92_0226390C
add r3, sp, #4
mov r2, #5
_0225D5B8:
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0225D5B8
add r0, sp, #4
bl GfGfx_SetBanks
mov r1, #6
mov r2, #2
mov r0, #0
lsl r1, r1, #0x18
lsl r2, r2, #0x12
bl MIi_CpuClear32
mov r1, #0x62
mov r2, #2
mov r0, #0
lsl r1, r1, #0x14
lsl r2, r2, #0x10
bl MIi_CpuClear32
mov r1, #0x19
mov r2, #1
mov r0, #0
lsl r1, r1, #0x16
lsl r2, r2, #0x12
bl MIi_CpuClear32
mov r1, #0x66
mov r2, #2
mov r0, #0
lsl r1, r1, #0x14
lsl r2, r2, #0x10
bl MIi_CpuClear32
ldr r5, _0225D7B8 ; =ov92_02263934
add r3, sp, #0xac
mov r2, #0xe
_0225D604:
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0225D604
mov r0, #1
mov r1, #0x20
mov r2, #0
mov r3, #0x71
bl BG_ClearCharDataRange
mov r0, #2
mov r1, #0x20
mov r2, #0
mov r3, #0x71
bl BG_ClearCharDataRange
mov r0, #3
mov r1, #0x20
mov r2, #0
mov r3, #0x71
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #1
add r2, sp, #0xc8
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #2
add r2, sp, #0xe4
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #3
add r2, sp, #0x100
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #0
bl BgClearTilemapBufferAndCommit
add r0, r4, #0
mov r1, #1
bl BgClearTilemapBufferAndCommit
add r0, r4, #0
mov r1, #2
bl BgClearTilemapBufferAndCommit
add r0, r4, #0
mov r1, #3
bl BgClearTilemapBufferAndCommit
ldr r5, _0225D7BC ; =ov92_022639A4
add r3, sp, #0x3c
mov r2, #0xe
_0225D67A:
ldmia r5!, {r0, r1}
stmia r3!, {r0, r1}
sub r2, r2, #1
bne _0225D67A
mov r0, #4
mov r1, #0x20
mov r2, #0
mov r3, #0x71
bl BG_ClearCharDataRange
mov r0, #5
mov r1, #0x20
mov r2, #0
mov r3, #0x71
bl BG_ClearCharDataRange
mov r0, #6
mov r1, #0x20
mov r2, #0
mov r3, #0x71
bl BG_ClearCharDataRange
mov r0, #7
mov r1, #0x20
mov r2, #0
mov r3, #0x71
bl BG_ClearCharDataRange
add r0, r4, #0
mov r1, #4
add r2, sp, #0x3c
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #5
add r2, sp, #0x58
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #6
add r2, sp, #0x74
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #7
add r2, sp, #0x90
mov r3, #0
bl InitBgFromTemplate
add r0, r4, #0
mov r1, #4
bl BgClearTilemapBufferAndCommit
add r0, r4, #0
mov r1, #5
bl BgClearTilemapBufferAndCommit
add r0, r4, #0
mov r1, #6
bl BgClearTilemapBufferAndCommit
add r0, r4, #0
mov r1, #7
bl BgClearTilemapBufferAndCommit
mov r0, #4
mov r1, #0x20
mov r2, #0
mov r3, #0x71
bl BG_ClearCharDataRange
mov r0, #5
mov r1, #0x20
mov r2, #0
mov r3, #0x71
bl BG_ClearCharDataRange
mov r0, #6
mov r1, #0x20
mov r2, #0
mov r3, #0x71
bl BG_ClearCharDataRange
mov r0, #7
mov r1, #0x20
mov r2, #0
mov r3, #0x71
bl BG_ClearCharDataRange
mov r0, #1
add r1, r0, #0
bl GfGfx_EngineATogglePlanes
mov r0, #2
mov r1, #1
bl GfGfx_EngineATogglePlanes
mov r0, #4
mov r1, #1
bl GfGfx_EngineATogglePlanes
mov r0, #8
mov r1, #1
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
ldr r0, _0225D7C0 ; =gSystem + 0x60
mov r1, #1
strb r1, [r0, #9]
bl GfGfx_SwapDisplay
mov r0, #0xa
str r0, [sp]
ldr r0, _0225D7C4 ; =0x04000050
mov r1, #0
mov r2, #0x1e
mov r3, #7
bl G2x_SetBlendAlpha_
mov r0, #0xa
str r0, [sp]
ldr r0, _0225D7C8 ; =0x04001050
mov r1, #0
mov r2, #0x11
mov r3, #7
bl G2x_SetBlendAlpha_
add sp, #0x11c
pop {r4, r5, pc}
.balign 4, 0
_0225D7B0: .word ov92_02263890
_0225D7B4: .word ov92_0226390C
_0225D7B8: .word ov92_02263934
_0225D7BC: .word ov92_022639A4
_0225D7C0: .word gSystem + 0x60
_0225D7C4: .word 0x04000050
_0225D7C8: .word 0x04001050
thumb_func_end ov92_0225D594
thumb_func_start ov92_0225D7CC
ov92_0225D7CC: ; 0x0225D7CC
push {r3, r4, r5, r6, lr}
sub sp, #0x4c
add r4, r0, #0
mov r0, #0x71
bl SpriteRenderer_Create
add r2, sp, #0x2c
ldr r5, _0225D85C ; =ov92_022638EC
str r0, [r4, #0x50]
ldmia r5!, {r0, r1}
add r3, r2, #0
stmia r2!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r5!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r5!, {r0, r1}
ldr r6, _0225D860 ; =ov92_022638C0
stmia r2!, {r0, r1}
add r5, sp, #0x18
ldmia r6!, {r0, r1}
add r2, r5, #0
stmia r5!, {r0, r1}
ldmia r6!, {r0, r1}
stmia r5!, {r0, r1}
ldr r0, [r6]
add r1, r3, #0
str r0, [r5]
ldr r0, [r4, #0x50]
mov r3, #0x20
bl sub_0200CF70
ldr r3, _0225D864 ; =ov92_022638D4
add r2, sp, #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, #0x50]
bl SpriteRenderer_CreateGfxHandler
str r0, [r4, #0x54]
ldr r0, [r4, #0x50]
ldr r1, [r4, #0x54]
mov r2, #0xff
bl sub_0200CFF4
cmp r0, #0
bne _0225D836
bl GF_AssertFail
_0225D836:
ldr r0, [r4, #0x50]
ldr r1, [r4, #0x54]
add r2, sp, #0
bl SpriteRenderer_Init2DGfxResManagersFromCountsArray
cmp r0, #0
bne _0225D848
bl GF_AssertFail
_0225D848:
ldr r0, [r4, #0x50]
bl SpriteRenderer_GetG2dRendererPtr
mov r2, #1
mov r1, #0
lsl r2, r2, #0x14
bl G2dRenderer_SetSubSurfaceCoords
add sp, #0x4c
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_0225D85C: .word ov92_022638EC
_0225D860: .word ov92_022638C0
_0225D864: .word ov92_022638D4
thumb_func_end ov92_0225D7CC
thumb_func_start ov92_0225D868
ov92_0225D868: ; 0x0225D868
push {lr}
sub sp, #0xc
add r1, r0, #0
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r0, #0x71
str r0, [sp, #8]
mov r0, #0
add r2, r1, #0
add r3, r0, #0
bl BeginNormalPaletteFade
mov r0, #1
add sp, #0xc
pop {pc}
.balign 4, 0
thumb_func_end ov92_0225D868
thumb_func_start ov92_0225D88C
ov92_0225D88C: ; 0x0225D88C
cmp r1, #0
beq _0225D892
str r2, [r3]
_0225D892:
bx lr
thumb_func_end ov92_0225D88C
thumb_func_start ov92_0225D894
ov92_0225D894: ; 0x0225D894
push {r4, lr}
add r4, r0, #0
bl GF_RunVramTransferTasks
bl thunk_OamManager_ApplyAndResetBuffers
ldr r0, [r4, #0x5c]
bl sub_0200398C
ldr r0, [r4, #0x58]
bl DoScheduledBgGpuUpdates
ldr r3, _0225D8BC ; =0x027E0000
ldr r1, _0225D8C0 ; =0x00003FF8
mov r0, #1
ldr r2, [r3, r1]
orr r0, r2
str r0, [r3, r1]
pop {r4, pc}
nop
_0225D8BC: .word 0x027E0000
_0225D8C0: .word 0x00003FF8
thumb_func_end ov92_0225D894
thumb_func_start ov92_0225D8C4
ov92_0225D8C4: ; 0x0225D8C4
ldr r0, [r0, #0x44]
cmp r0, #0
bne _0225D8CE
mov r0, #1
bx lr
_0225D8CE:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end ov92_0225D8C4
thumb_func_start ov92_0225D8D4
ov92_0225D8D4: ; 0x0225D8D4
mov r1, #1
str r1, [r0, #8]
bx lr
.balign 4, 0
thumb_func_end ov92_0225D8D4
thumb_func_start ov92_0225D8DC
ov92_0225D8DC: ; 0x0225D8DC
mov r1, #1
str r1, [r0, #0xc]
bx lr
.balign 4, 0
thumb_func_end ov92_0225D8DC
thumb_func_start ov92_0225D8E4
ov92_0225D8E4: ; 0x0225D8E4
push {r4, lr}
add r4, r0, #0
add r0, #0x8c
bl ov90_02258B54
cmp r0, #1
bne _0225D96A
add r0, r4, #0
add r0, #0x7c
ldrb r0, [r0]
cmp r0, #0
bne _0225D916
bl IsPaletteFadeFinished
cmp r0, #1
bne _0225D908
bl sub_0200FB70
_0225D908:
mov r0, #0
bl sub_0200FC20
mov r0, #1
add r4, #0x7c
strb r0, [r4]
pop {r4, pc}
_0225D916:
add r0, r4, #0
add r0, #0x8c
bl ov90_02258B98
cmp r0, #0
bne _0225D926
mov r0, #1
pop {r4, pc}
_0225D926:
ldr r0, [r4, #4]
cmp r0, #0
beq _0225D93C
bl ov92_0225E360
ldr r0, [r4, #4]
bl ov92_0225E100
add r0, r4, #0
bl ov92_0225D1FC
_0225D93C:
add r0, r4, #0
add r0, #0xb8
ldr r0, [r0]
cmp r0, #0
beq _0225D952
bl ov90_02258A04
add r0, r4, #0
mov r1, #0
add r0, #0xb8
str r1, [r0]
_0225D952:
add r0, r4, #0
add r0, #0x9c
ldr r0, [r0]
cmp r0, #0
beq _0225D966
bl ov90_02258938
mov r0, #0
add r4, #0x9c
str r0, [r4]
_0225D966:
mov r0, #2
pop {r4, pc}
_0225D96A:
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end ov92_0225D8E4
thumb_func_start ov92_0225D970
ov92_0225D970: ; 0x0225D970
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #0x6c]
add r4, r1, #0
add r6, r2, #0
cmp r0, #0
beq _0225D9A4
bl NNS_G3dGlbFlushP
mov r0, #0x1c
add r1, r6, #0
mov r2, #3
bl NNS_G3dGeBufferOP_N
mov r0, #0x19
add r1, r4, #0
mov r2, #0xc
bl NNS_G3dGeBufferOP_N
add r0, r5, #0
add r0, #0x60
bl NNS_G3dGlbSetBaseScale
add r0, r5, #0
bl NNS_G3dDraw
_0225D9A4:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov92_0225D970
thumb_func_start ov92_0225D9A8
ov92_0225D9A8: ; 0x0225D9A8
push {r3, lr}
add r0, #0x78
mov r3, #0x71
bl sub_02018030
pop {r3, pc}
thumb_func_end ov92_0225D9A8
thumb_func_start ov92_0225D9B4
ov92_0225D9B4: ; 0x0225D9B4
push {r3, r4, r5, lr}
add r4, r0, #0
add r5, r1, #0
add r1, r4, #0
add r1, #0x78
bl sub_020181B0
mov r1, #0
ldr r2, _0225DA28 ; =0xFFFEC000
add r0, r4, #0
add r3, r1, #0
bl sub_020182A8
cmp r5, #0
bne _0225D9E2
mov r1, #1
lsl r1, r1, #0xc
add r0, r4, #0
add r2, r1, #0
add r3, r1, #0
bl sub_020182C4
b _0225D9F0
_0225D9E2:
mov r1, #6
lsl r1, r1, #0xa
add r0, r4, #0
add r2, r1, #0
add r3, r1, #0
bl sub_020182C4
_0225D9F0:
add r0, r4, #0
mov r1, #1
bl sub_020182A0
mov r2, #0x1e
lsl r2, r2, #4
mov r0, #0
ldr r3, _0225DA28 ; =0xFFFEC000
str r0, [r4, r2]
add r1, r2, #4
str r3, [r4, r1]
add r1, r2, #0
add r1, #8
str r0, [r4, r1]
add r1, r2, #0
add r1, #0x1c
str r0, [r4, r1]
add r1, r2, #0
add r1, #0x20
str r0, [r4, r1]
add r1, r2, #0
add r1, #0xc
str r0, [r4, r1]
mov r0, #1
add r2, #0x10
str r0, [r4, r2]
pop {r3, r4, r5, pc}
nop
_0225DA28: .word 0xFFFEC000
thumb_func_end ov92_0225D9B4
thumb_func_start ov92_0225DA2C
ov92_0225DA2C: ; 0x0225DA2C
mov r1, #0x1f
ldr r3, _0225DA3C ; =sub_02018068
mov r2, #0
lsl r1, r1, #4
str r2, [r0, r1]
add r0, #0x78
bx r3
nop
_0225DA3C: .word sub_02018068
thumb_func_end ov92_0225DA2C
thumb_func_start ov92_0225DA40
ov92_0225DA40: ; 0x0225DA40
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r5, r0, #0
bl Thunk_G3X_Reset
bl Camera_PushLookAtToNNSGlb
ldr r4, _0225DD04 ; =ov92_02263B68
add r3, sp, #0x18
ldmia r4!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r4]
add r1, r2, #0
str r0, [r3]
add r0, r2, #0
bl VEC_Normalize
ldr r1, [sp, #0x18]
ldr r2, [sp, #0x1c]
ldr r3, [sp, #0x20]
lsl r1, r1, #0x10
lsl r2, r2, #0x10
lsl r3, r3, #0x10
mov r0, #0
asr r1, r1, #0x10
asr r2, r2, #0x10
asr r3, r3, #0x10
bl NNS_G3dGlbLightVector
ldr r1, _0225DD08 ; =0x00007FFF
mov r0, #0
bl NNS_G3dGlbLightColor
ldr r0, _0225DD08 ; =0x00007FFF
mov r2, #0
add r1, r0, #0
bl NNS_G3dGlbMaterialColorDiffAmb
ldr r0, _0225DD08 ; =0x00007FFF
mov r2, #0
add r1, r0, #0
bl NNS_G3dGlbMaterialColorSpecEmi
mov r7, #0
add r4, r7, #0
_0225DA9C:
mov r0, #0xb5
ldr r1, [r5, #4]
lsl r0, r0, #4
add r0, r1, r0
mov r1, #0
add r6, r0, r4
mov r0, #0x11
add r2, r1, #0
bl NNS_G3dGeBufferOP_N
mov r1, #0x1b
mov r2, #0x1e
lsl r1, r1, #4
lsl r2, r2, #4
add r0, r6, #0
add r1, r6, r1
add r2, r6, r2
bl ov92_0225D970
mov r0, #1
str r0, [sp, #0x14]
mov r0, #0x12
add r1, sp, #0x14
mov r2, #1
bl NNS_G3dGeBufferOP_N
ldr r1, [r5, #4]
ldr r0, _0225DD0C ; =0x00000BD8
add r0, r1, r0
mov r1, #1
add r0, r0, r4
lsl r1, r1, #0xc
bl sub_02018124
mov r0, #0x83
lsl r0, r0, #2
add r7, r7, #1
add r4, r4, r0
cmp r7, #8
blt _0225DA9C
ldr r1, [r5, #4]
sub r0, #0xfc
ldr r0, [r1, r0]
cmp r0, #0
beq _0225DB00
cmp r0, #1
beq _0225DB40
cmp r0, #2
beq _0225DB74
b _0225DBA8
_0225DB00:
mov r0, #0x32
lsl r0, r0, #4
add r0, r1, r0
mov r1, #1
bl sub_020182A0
ldr r1, [r5, #4]
ldr r0, _0225DD10 ; =0x0000052C
add r0, r1, r0
mov r1, #0
bl sub_020182A0
ldr r1, [r5, #4]
ldr r0, _0225DD14 ; =0x00000738
add r0, r1, r0
mov r1, #0
bl sub_020182A0
mov r0, #0xea
ldr r1, [r5, #4]
lsl r0, r0, #2
add r2, r1, r0
ldr r0, _0225DD18 ; =0x00000514
ldr r1, [r1, r0]
mov r0, #0x14
mul r0, r1
mov r1, #1
add r0, r2, r0
lsl r1, r1, #0xc
bl sub_02018124
b _0225DBA8
_0225DB40:
mov r0, #0x32
lsl r0, r0, #4
add r0, r1, r0
mov r1, #0
bl sub_020182A0
ldr r1, [r5, #4]
ldr r0, _0225DD10 ; =0x0000052C
add r0, r1, r0
mov r1, #1
bl sub_020182A0
ldr r1, [r5, #4]
ldr r0, _0225DD14 ; =0x00000738
add r0, r1, r0
mov r1, #0
bl sub_020182A0
ldr r1, [r5, #4]
ldr r0, _0225DD1C ; =0x000005B4
add r0, r1, r0
mov r1, #1
lsl r1, r1, #0xc
bl sub_0201815C
b _0225DBA8
_0225DB74:
mov r0, #0x32
lsl r0, r0, #4
add r0, r1, r0
mov r1, #0
bl sub_020182A0
ldr r1, [r5, #4]
ldr r0, _0225DD10 ; =0x0000052C
add r0, r1, r0
mov r1, #0
bl sub_020182A0
ldr r1, [r5, #4]
ldr r0, _0225DD14 ; =0x00000738
add r0, r1, r0
mov r1, #1
bl sub_020182A0
mov r0, #0x1f
ldr r1, [r5, #4]
lsl r0, r0, #6
add r0, r1, r0
mov r1, #1
lsl r1, r1, #0xc
bl sub_0201815C
_0225DBA8:
mov r0, #0x32
ldr r1, [r5, #4]
lsl r0, r0, #4
add r4, r1, r0
mov r0, #0x11
lsl r0, r0, #4
ldr r1, [r1, r0]
add r0, #0xfc
add r6, r1, #0
mov r1, #0
mul r6, r0
mov r0, #0x11
add r2, r1, #0
bl NNS_G3dGeBufferOP_N
mov r2, #0x1b
lsl r2, r2, #4
add r1, r4, r2
add r2, #0x30
add r0, r4, r6
add r2, r4, r2
bl ov92_0225D970
mov r2, #1
str r2, [sp, #0x10]
mov r0, #0x12
add r1, sp, #0x10
bl NNS_G3dGeBufferOP_N
mov r0, #0x45
ldr r1, [r5, #4]
lsl r0, r0, #2
add r4, r1, r0
mov r1, #0
mov r0, #0x11
add r2, r1, #0
bl NNS_G3dGeBufferOP_N
mov r2, #0x1b
lsl r2, r2, #4
add r1, r4, r2
add r2, #0x30
add r0, r4, #0
add r2, r4, r2
bl ov92_0225D970
mov r2, #1
str r2, [sp, #0xc]
mov r0, #0x12
add r1, sp, #0xc
bl NNS_G3dGeBufferOP_N
ldr r1, [r5, #4]
ldr r0, _0225DD20 ; =0x00000944
add r4, r1, r0
mov r1, #0
mov r0, #0x11
add r2, r1, #0
bl NNS_G3dGeBufferOP_N
mov r2, #0x1b
lsl r2, r2, #4
add r1, r4, r2
add r2, #0x30
add r0, r4, #0
add r2, r4, r2
bl ov92_0225D970
mov r2, #1
str r2, [sp, #8]
mov r0, #0x12
add r1, sp, #8
bl NNS_G3dGeBufferOP_N
ldr r1, [r5, #4]
ldr r0, _0225DD24 ; =0x00001FAC
ldr r0, [r1, r0]
cmp r0, #0
beq _0225DCA6
ldr r0, _0225DD28 ; =0x00001DBC
add r4, r1, r0
mov r1, #0
mov r0, #0x11
add r2, r1, #0
bl NNS_G3dGeBufferOP_N
mov r2, #0x1b
lsl r2, r2, #4
add r1, r4, r2
add r2, #0x30
add r0, r4, #0
add r2, r4, r2
bl ov92_0225D970
mov r2, #1
str r2, [sp, #4]
mov r0, #0x12
add r1, sp, #4
bl NNS_G3dGeBufferOP_N
ldr r1, [r5, #4]
ldr r0, _0225DD2C ; =0x00001FA8
ldr r0, [r1, r0]
cmp r0, #0
beq _0225DCA6
ldr r0, _0225DD30 ; =0x00001E44
add r0, r1, r0
mov r1, #1
lsl r1, r1, #0xc
bl sub_0201815C
add r4, r0, #0
ldr r1, [r5, #4]
ldr r0, _0225DD34 ; =0x00001E58
add r0, r1, r0
mov r1, #1
lsl r1, r1, #0xc
bl sub_0201815C
cmp r4, #0
beq _0225DCA6
cmp r0, #0
beq _0225DCA6
ldr r1, [r5, #4]
ldr r0, _0225DD2C ; =0x00001FA8
mov r2, #0
str r2, [r1, r0]
_0225DCA6:
ldr r1, [r5, #4]
ldr r0, _0225DD38 ; =0x00001DA0
ldr r0, [r1, r0]
cmp r0, #0
beq _0225DCF0
ldr r0, _0225DD3C ; =0x00001BB0
add r4, r1, r0
mov r1, #0
mov r0, #0x11
add r2, r1, #0
bl NNS_G3dGeBufferOP_N
mov r2, #0x1b
lsl r2, r2, #4
add r1, r4, r2
add r2, #0x30
add r0, r4, #0
add r2, r4, r2
bl ov92_0225D970
mov r2, #1
str r2, [sp]
mov r0, #0x12
add r1, sp, #0
bl NNS_G3dGeBufferOP_N
ldr r1, [r5, #4]
ldr r0, _0225DD40 ; =0x00001D9C
ldr r0, [r1, r0]
cmp r0, #0
beq _0225DCF0
ldr r0, _0225DD44 ; =0x00001C4C
add r0, r1, r0
mov r1, #1
lsl r1, r1, #0xc
bl sub_02018124
_0225DCF0:
mov r0, #0
mov r1, #1
bl sub_02026E50
ldr r0, [r5, #0x54]
bl sub_0200D020
add sp, #0x24
pop {r4, r5, r6, r7, pc}
nop
_0225DD04: .word ov92_02263B68
_0225DD08: .word 0x00007FFF
_0225DD0C: .word 0x00000BD8
_0225DD10: .word 0x0000052C
_0225DD14: .word 0x00000738
_0225DD18: .word 0x00000514
_0225DD1C: .word 0x000005B4
_0225DD20: .word 0x00000944
_0225DD24: .word 0x00001FAC
_0225DD28: .word 0x00001DBC
_0225DD2C: .word 0x00001FA8
_0225DD30: .word 0x00001E44
_0225DD34: .word 0x00001E58
_0225DD38: .word 0x00001DA0
_0225DD3C: .word 0x00001BB0
_0225DD40: .word 0x00001D9C
_0225DD44: .word 0x00001C4C
thumb_func_end ov92_0225DA40
thumb_func_start ov92_0225DD48
ov92_0225DD48: ; 0x0225DD48
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, _0225DD84 ; =0x00000514
add r4, r1, #0
ldr r1, [r5, r0]
cmp r4, r1
beq _0225DD82
mov r2, #0x32
lsl r2, r2, #4
add r0, r5, r2
add r2, #0x88
add r3, r5, r2
mov r2, #0x14
mul r2, r1
add r1, r3, r2
bl sub_020181E0
ldr r0, _0225DD84 ; =0x00000514
mov r1, #0x32
lsl r1, r1, #4
str r4, [r5, r0]
add r0, r5, r1
add r1, #0x88
add r2, r5, r1
mov r1, #0x14
mul r1, r4
add r1, r2, r1
bl sub_020181D4
_0225DD82:
pop {r3, r4, r5, pc}
.balign 4, 0
_0225DD84: .word 0x00000514
thumb_func_end ov92_0225DD48
thumb_func_start ov92_0225DD88
ov92_0225DD88: ; 0x0225DD88
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
ldr r6, _0225DDD0 ; =ov92_02263B5C
add r4, r0, #0
ldmia r6!, {r0, r1}
add r5, sp, #8
add r2, r5, #0
stmia r5!, {r0, r1}
ldr r0, [r6]
add r1, r2, #0
mov r2, #0xb6
add r7, sp, #0x14
mov r3, #0
str r3, [r7]
str r3, [r7, #4]
str r3, [r7, #8]
str r0, [r5]
str r3, [sp]
ldr r0, [r4, #0x64]
lsl r2, r2, #4
str r0, [sp, #4]
add r0, r7, #0
bl Camera_Init_FromTargetAndPos
mov r1, #0xfa
ldr r0, _0225DDD4 ; =0xFFC18000
ldr r2, [r4, #0x64]
lsl r1, r1, #0xe
bl Camera_SetPerspectiveClippingPlane
ldr r0, [r4, #0x64]
bl Camera_SetStaticPtr
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
nop
_0225DDD0: .word ov92_02263B5C
_0225DDD4: .word 0xFFC18000
thumb_func_end ov92_0225DD88
thumb_func_start ov92_0225DDD8
ov92_0225DDD8: ; 0x0225DDD8
push {r3, r4}
strh r1, [r0]
strh r2, [r0, #2]
mov r1, #0
strh r1, [r0, #4]
strh r1, [r0, #6]
str r1, [r0, #8]
str r3, [r0, #0x10]
mov r2, #2
str r2, [r0, #0x2c]
str r1, [r0, #0x30]
ldr r1, [sp, #8]
ldr r4, [sp, #0xc]
str r1, [r0, #0xc]
str r4, [r0, #0x14]
str r4, [r0, #0x18]
str r4, [r0, #0x1c]
str r4, [r0, #0x20]
sub r1, r2, #3
str r1, [r0, #0x24]
str r1, [r0, #0x28]
pop {r3, r4}
bx lr
.balign 4, 0
thumb_func_end ov92_0225DDD8
thumb_func_start ov92_0225DE08
ov92_0225DE08: ; 0x0225DE08
push {r4, r5, r6, r7, lr}
sub sp, #0x44
ldr r1, [r0, #0x14]
str r0, [sp, #8]
ldr r0, [r1, #8]
mov r6, #0
ldr r7, [r1, #0xc]
ldr r5, [sp, #8]
str r0, [sp, #0xc]
add r4, r6, #0
_0225DE1C:
mov r0, #3
str r0, [sp]
ldr r0, _0225DE6C ; =0x0000232E
lsl r1, r4, #0x10
str r0, [sp, #4]
add r0, sp, #0x10
asr r1, r1, #0x10
mov r2, #0x14
mov r3, #1
bl ov92_0225DDD8
ldr r0, [sp, #0xc]
add r1, r7, #0
add r2, sp, #0x10
bl SpriteRenderer_LoadResourcesAndCreateSprite
mov r1, #3
str r0, [r5, #0x40]
bl UnkImageStruct_SetSpritePalOffset
add r0, r6, #0
mov r1, #0xb
bl _s32_div_f
ldr r0, [r5, #0x40]
add r1, r1, #1
bl UnkImageStruct_SetSpriteAnimSeqNo
add r6, r6, #1
add r4, #8
add r5, r5, #4
cmp r6, #0x24
blt _0225DE1C
mov r1, #0
ldr r0, [sp, #8]
add r2, r1, #0
bl ov92_0225DF0C
add sp, #0x44
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0225DE6C: .word 0x0000232E
thumb_func_end ov92_0225DE08
thumb_func_start ov92_0225DE70
ov92_0225DE70: ; 0x0225DE70
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x48
add r5, r0, #0
ldr r1, [r5, #0x14]
add r4, sp, #0xc
ldr r0, [r1, #8]
ldr r7, [r1, #0xc]
ldr r1, _0225DEE8 ; =ov92_02263B54
str r0, [sp, #8]
ldrh r2, [r1]
add r0, sp, #0xc
mov r6, #0
strh r2, [r0]
ldrh r2, [r1, #2]
strh r2, [r0, #2]
ldrh r2, [r1, #4]
ldrh r1, [r1, #6]
strh r2, [r0, #4]
strh r1, [r0, #6]
_0225DE96:
mov r0, #1
str r0, [sp]
ldr r0, _0225DEEC ; =0x0000232C
mov r1, #0
str r0, [sp, #4]
ldrsh r1, [r4, r1]
add r0, sp, #0x14
mov r2, #0xe0
mov r3, #1
bl ov92_0225DDD8
mov r0, #0
str r0, [sp, #0x40]
mov r0, #1
str r0, [sp, #0x1c]
ldr r0, [sp, #8]
add r1, r7, #0
add r2, sp, #0x14
bl SpriteRenderer_LoadResourcesAndCreateSprite
add r1, r5, #0
add r1, #0xd0
str r0, [r1]
add r0, r5, #0
add r0, #0xd0
ldr r0, [r0]
bl UnkImageStruct_TickSpriteAnimation2Frames
add r0, r5, #0
add r0, #0xd0
ldr r0, [r0]
mov r1, #1
bl UnkImageStruct_SetSpritePalOffset
add r6, r6, #1
add r4, r4, #2
add r5, r5, #4
cmp r6, #4
blt _0225DE96
add sp, #0x48
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0225DEE8: .word ov92_02263B54
_0225DEEC: .word 0x0000232C
thumb_func_end ov92_0225DE70
thumb_func_start ov92_0225DEF0
ov92_0225DEF0: ; 0x0225DEF0
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_0225DEF6:
add r0, r5, #0
add r0, #0xd0
ldr r0, [r0]
bl sub_0200D9DC
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _0225DEF6
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov92_0225DEF0
thumb_func_start ov92_0225DF0C
ov92_0225DF0C: ; 0x0225DF0C
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
mov r4, #0
_0225DF14:
ldr r0, [r5, #0x40]
add r1, r6, #0
bl UnkImageStruct_SetSpriteVisibleFlag
add r4, r4, #1
add r5, r5, #4
cmp r4, #0x24
blt _0225DF14
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov92_0225DF0C
thumb_func_start ov92_0225DF28
ov92_0225DF28: ; 0x0225DF28
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_0225DF2E:
ldr r0, [r5, #0x40]
bl UnkImageStruct_TickSpriteAnimation2Frames
add r4, r4, #1
add r5, r5, #4
cmp r4, #0x24
blt _0225DF2E
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov92_0225DF28
thumb_func_start ov92_0225DF40
ov92_0225DF40: ; 0x0225DF40
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_0225DF46:
ldr r0, [r5, #0x40]
bl sub_0200D9DC
add r4, r4, #1
add r5, r5, #4
cmp r4, #0x24
blt _0225DF46
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov92_0225DF40
thumb_func_start ov92_0225DF58
ov92_0225DF58: ; 0x0225DF58
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
ldr r4, _0225DFA0 ; =ov92_02263BCC
add r6, r2, #0
add r2, sp, #0
add r5, r0, #0
add r3, r1, #0
add r7, r2, #0
ldmia r4!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r2!, {r0, r1}
lsl r0, r3, #1
add r0, r5, r0
add r0, #0xf4
lsl r4, r6, #3
ldrh r0, [r0]
ldr r1, [r7, r4]
lsl r6, r0, #2
add r0, r5, r6
ldr r0, [r0, #0x1c]
bl UnkImageStruct_SetSpriteAnimSeqNo
add r0, r5, r6
add r1, sp, #4
ldr r0, [r0, #0x28]
ldr r1, [r1, r4]
bl UnkImageStruct_SetSpriteAnimSeqNo
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
nop
_0225DFA0: .word ov92_02263BCC
thumb_func_end ov92_0225DF58
thumb_func_start ov92_0225DFA4
ov92_0225DFA4: ; 0x0225DFA4
push {r4, r5, r6, lr}
sub sp, #0x20
ldr r3, _0225E004 ; =ov92_02263B8C
add r2, sp, #0
add r5, r0, #0
add r4, r1, #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}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
lsl r0, r4, #1
add r0, r5, r0
add r0, #0xf4
ldrh r0, [r0]
lsl r6, r0, #2
add r0, r5, r6
ldr r0, [r0, #0x1c]
bl UnkImageStruct_GetSpriteCurrentAnimSeqNo
add r4, r0, #0
add r0, r5, r6
ldr r0, [r0, #0x28]
bl UnkImageStruct_GetSpriteCurrentAnimSeqNo
mov r2, #0
add r3, sp, #0
_0225DFE0:
ldr r1, [r3]
cmp r4, r1
bne _0225DFF2
ldr r1, [r3, #4]
cmp r0, r1
bne _0225DFF2
add sp, #0x20
add r0, r2, #0
pop {r4, r5, r6, pc}
_0225DFF2:
add r2, r2, #1
add r3, #8
cmp r2, #4
blt _0225DFE0
bl GF_AssertFail
mov r0, #0
add sp, #0x20
pop {r4, r5, r6, pc}
.balign 4, 0
_0225E004: .word ov92_02263B8C
thumb_func_end ov92_0225DFA4
thumb_func_start ov92_0225E008
ov92_0225E008: ; 0x0225E008
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r0, [r6, #4]
mov r4, #0
cmp r0, #0
ble _0225E038
add r5, r6, #0
_0225E016:
ldr r0, [r6]
cmp r4, r0
beq _0225E030
ldr r0, [r5, #0x1c]
bl UnkImageStruct_TickSpriteAnimation2Frames
ldr r0, [r5, #0x28]
bl UnkImageStruct_TickSpriteAnimation2Frames
ldr r0, [r5, #0x34]
bl UnkImageStruct_TickSpriteAnimation2Frames
add r5, r5, #4
_0225E030:
ldr r0, [r6, #4]
add r4, r4, #1
cmp r4, r0
blt _0225E016
_0225E038:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov92_0225E008
thumb_func_start ov92_0225E03C
ov92_0225E03C: ; 0x0225E03C
push {r4, r5, r6, lr}
add r6, r0, #0
ldr r0, [r6, #4]
mov r4, #0
cmp r0, #0
ble _0225E06C
add r5, r6, #0
_0225E04A:
ldr r0, [r6]
cmp r4, r0
beq _0225E064
ldr r0, [r5, #0x1c]
bl sub_0200D9DC
ldr r0, [r5, #0x28]
bl sub_0200D9DC
ldr r0, [r5, #0x34]
bl sub_0200D9DC
add r5, r5, #4
_0225E064:
ldr r0, [r6, #4]
add r4, r4, #1
cmp r4, r0
blt _0225E04A
_0225E06C:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov92_0225E03C
thumb_func_start ov92_0225E070
ov92_0225E070: ; 0x0225E070
push {r3, r4, r5, r6, lr}
sub sp, #0x14
add r5, r0, #0
ldr r0, _0225E0FC ; =0x00001FE0
add r0, r5, r0
bl InitWindow
mov r1, #0x13
str r1, [sp]
mov r0, #0x1c
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #0xe
str r0, [sp, #0xc]
lsl r0, r1, #4
str r0, [sp, #0x10]
ldr r0, [r5, #0x14]
ldr r1, _0225E0FC ; =0x00001FE0
ldr r0, [r0, #0x10]
add r1, r5, r1
mov r2, #7
mov r3, #2
bl AddWindowParameterized
ldr r0, _0225E0FC ; =0x00001FE0
mov r1, #0xff
add r0, r5, r0
bl FillWindowPixelBuffer
mov r0, #0
mov r1, #0x1b
mov r2, #0xeb
mov r3, #0x71
bl NewMsgDataFromNarc
mov r1, #0
add r6, r0, #0
bl NewString_ReadMsgData
add r4, r0, #0
mov r1, #0
ldr r0, _0225E0FC ; =0x00001FE0
str r1, [sp]
str r1, [sp, #4]
add r0, r5, r0
add r2, r4, #0
add r3, r1, #0
str r1, [sp, #8]
bl AddTextPrinterParameterized
add r0, r4, #0
bl String_Delete
add r0, r6, #0
bl DestroyMsgData
ldr r0, _0225E0FC ; =0x00001FE0
mov r1, #0
add r0, r5, r0
mov r2, #0xb4
mov r3, #0xd
bl DrawFrameAndWindow1
ldr r0, _0225E0FC ; =0x00001FE0
add r0, r5, r0
bl CopyWindowToVram
add sp, #0x14
pop {r3, r4, r5, r6, pc}
.balign 4, 0
_0225E0FC: .word 0x00001FE0
thumb_func_end ov92_0225E070
thumb_func_start ov92_0225E100
ov92_0225E100: ; 0x0225E100
push {r4, lr}
add r4, r0, #0
ldr r0, _0225E12C ; =0x00001FE0
add r0, r4, r0
bl WindowIsInUse
cmp r0, #1
bne _0225E12A
ldr r0, _0225E12C ; =0x00001FE0
mov r1, #1
add r0, r4, r0
bl sub_0200E5D4
ldr r0, _0225E12C ; =0x00001FE0
add r0, r4, r0
bl ClearWindowTilemapAndCopyToVram
ldr r0, _0225E12C ; =0x00001FE0
add r0, r4, r0
bl RemoveWindow
_0225E12A:
pop {r4, pc}
.balign 4, 0
_0225E12C: .word 0x00001FE0
thumb_func_end ov92_0225E100
thumb_func_start ov92_0225E130
ov92_0225E130: ; 0x0225E130
push {r4, r5, r6, r7, lr}
sub sp, #0x14
add r7, r0, #0
ldr r0, [r7, #0x5c]
mov r4, #0
str r0, [sp, #0x10]
mov r0, #0x14
ldr r2, _0225E184 ; =_02264020
mul r0, r1
add r5, r4, #0
add r6, r2, r0
_0225E146:
mov r0, #1
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
add r0, r4, #1
lsl r0, r0, #0x14
lsr r0, r0, #0x10
str r0, [sp, #8]
ldr r0, [r7, #4]
mov r2, #0x49
ldr r1, [r0, #4]
mov r0, #0x50
mul r0, r1
add r0, r6, r0
add r0, r5, r0
sub r0, #0x4c
ldr r0, [r0]
mov r1, #0xc1
lsl r0, r0, #0x14
lsr r0, r0, #0x10
str r0, [sp, #0xc]
ldr r0, [sp, #0x10]
mov r3, #0x71
bl PaletteData_LoadFromNarc
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _0225E146
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0225E184: .word _02264020
thumb_func_end ov92_0225E130
thumb_func_start ov92_0225E188
ov92_0225E188: ; 0x0225E188
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0
add r2, r0, #0
bl FontID_String_GetWidth
add r4, r0, #0
add r0, r5, #0
bl GetWindowWidth
lsl r0, r0, #3
sub r1, r0, r4
lsr r0, r1, #0x1f
add r0, r1, r0
asr r0, r0, #1
pop {r3, r4, r5, pc}
thumb_func_end ov92_0225E188
thumb_func_start ov92_0225E1A8
ov92_0225E1A8: ; 0x0225E1A8
push {r4, r5, r6, r7, lr}
sub sp, #0x7c
str r0, [sp, #0x18]
mov r0, #1
lsl r0, r0, #8
add r5, r1, #0
ldr r3, _0225E350 ; =ov92_02263BEC
str r0, [sp, #0x24]
add r2, sp, #0x34
mov r1, #0x24
_0225E1BC:
ldrh r0, [r3]
add r3, r3, #2
strh r0, [r2]
add r2, r2, #2
sub r1, r1, #1
bne _0225E1BC
ldr r0, [r5, #4]
cmp r0, #2
beq _0225E1D8
cmp r0, #3
beq _0225E1F4
cmp r0, #4
beq _0225E210
b _0225E22C
_0225E1D8:
ldr r2, [r5, #0x14]
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
ldr r0, [r2]
ldr r2, [r2, #0x10]
mov r1, #0x4f
mov r3, #7
bl GfGfxLoader_LoadScrnDataFromOpenNarc
b _0225E230
_0225E1F4:
ldr r2, [r5, #0x14]
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
ldr r0, [r2]
ldr r2, [r2, #0x10]
mov r1, #0x50
mov r3, #7
bl GfGfxLoader_LoadScrnDataFromOpenNarc
b _0225E230
_0225E210:
ldr r2, [r5, #0x14]
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
ldr r0, [r2]
ldr r2, [r2, #0x10]
mov r1, #0x51
mov r3, #7
bl GfGfxLoader_LoadScrnDataFromOpenNarc
b _0225E230
_0225E22C:
bl GF_AssertFail
_0225E230:
ldr r0, [r5, #4]
mov r6, #0
cmp r0, #0
bgt _0225E23A
b _0225E34C
_0225E23A:
ldr r0, _0225E354 ; =0x00001FF0
str r6, [sp, #0x1c]
add r4, r5, r0
ldr r0, [sp, #0x18]
add r0, #0x8c
str r0, [sp, #0x18]
_0225E246:
ldr r0, [r5]
cmp r6, r0
beq _0225E342
ldr r0, [sp, #0x18]
add r1, r6, #0
bl ov90_022588A4
str r0, [sp, #0x28]
ldr r0, [sp, #0x18]
add r1, r6, #0
bl ov90_022588CC
str r0, [sp, #0x2c]
add r0, r4, #0
bl InitWindow
ldr r1, [r5, #4]
mov r0, #0x18
add r2, r1, #0
mul r2, r0
add r0, sp, #0x34
add r1, r0, r2
ldr r0, [sp, #0x1c]
mov r2, #7
add r7, r1, r0
mov r0, #0x2b
mvn r0, r0
ldrsh r0, [r7, r0]
add r3, r2, #0
sub r3, #0x37
str r0, [sp, #0x20]
mov r0, #0x29
mvn r0, r0
ldrsh r0, [r7, r0]
add r1, r4, #0
str r0, [sp, #0x30]
mov r0, #0x2d
mvn r0, r0
ldrsh r0, [r7, r0]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp]
ldr r0, [sp, #0x20]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #4]
ldr r0, [sp, #0x30]
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
mov r0, #0xe
str r0, [sp, #0xc]
ldr r0, [sp, #0x24]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
str r0, [sp, #0x10]
ldrsh r3, [r7, r3]
ldr r0, [r5, #0x14]
lsl r3, r3, #0x18
ldr r0, [r0, #0x10]
lsr r3, r3, #0x18
bl AddWindowParameterized
ldr r1, [sp, #0x20]
ldr r0, [sp, #0x30]
add r2, r1, #0
mul r2, r0
ldr r0, [sp, #0x24]
mov r1, #0xff
add r0, r0, r2
str r0, [sp, #0x24]
add r0, r4, #0
bl FillWindowPixelBuffer
ldr r0, [sp, #0x2c]
mov r1, #0x71
bl PlayerProfile_GetPlayerName_NewString
add r7, r0, #0
add r0, r4, #0
add r1, r7, #0
bl ov92_0225E188
add r3, r0, #0
ldr r0, [sp, #0x28]
cmp r0, #0
beq _0225E312
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0225E358 ; =0x0005060F
mov r1, #0
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
str r0, [sp, #0x10]
str r0, [sp, #0x14]
add r0, r4, #0
add r2, r7, #0
bl AddTextPrinterParameterizedWithColorAndSpacing
b _0225E32E
_0225E312:
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
ldr r0, _0225E35C ; =0x0001020F
mov r1, #0
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
str r0, [sp, #0x10]
str r0, [sp, #0x14]
add r0, r4, #0
add r2, r7, #0
bl AddTextPrinterParameterizedWithColorAndSpacing
_0225E32E:
add r0, r7, #0
bl String_Delete
add r0, r4, #0
bl CopyWindowToVram
ldr r0, [sp, #0x1c]
add r4, #0x10
add r0, #8
str r0, [sp, #0x1c]
_0225E342:
ldr r0, [r5, #4]
add r6, r6, #1
cmp r6, r0
bge _0225E34C
b _0225E246
_0225E34C:
add sp, #0x7c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0225E350: .word ov92_02263BEC
_0225E354: .word 0x00001FF0
_0225E358: .word 0x0005060F
_0225E35C: .word 0x0001020F
thumb_func_end ov92_0225E1A8
thumb_func_start ov92_0225E360
ov92_0225E360: ; 0x0225E360
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r6, r0, #0
ldr r0, [r6, #4]
mov r4, #0
cmp r0, #0
ble _0225E3A2
ldr r0, _0225E3C0 ; =0x00001FF0
mov r7, #1
add r5, r6, r0
_0225E374:
ldr r0, [r6]
cmp r4, r0
beq _0225E39A
add r0, r5, #0
bl WindowIsInUse
cmp r0, #1
bne _0225E398
add r0, r5, #0
add r1, r7, #0
bl sub_0200E5D4
add r0, r5, #0
bl ClearWindowTilemapAndCopyToVram
add r0, r5, #0
bl RemoveWindow
_0225E398:
add r5, #0x10
_0225E39A:
ldr r0, [r6, #4]
add r4, r4, #1
cmp r4, r0
blt _0225E374
_0225E3A2:
ldr r2, [r6, #0x14]
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
ldr r0, [r2]
ldr r2, [r2, #0x10]
mov r1, #0x4e
mov r3, #7
bl GfGfxLoader_LoadScrnDataFromOpenNarc
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0225E3C0: .word 0x00001FF0
thumb_func_end ov92_0225E360
thumb_func_start ov92_0225E3C4
ov92_0225E3C4: ; 0x0225E3C4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
ldr r4, [r0, #0x48]
ldr r5, [r0, #0x54]
ldr r6, [r0, #0x50]
ldr r7, [r0, #0x5c]
mov r0, #0
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, _0225E688 ; =0x00002328
add r1, r5, #0
str r0, [sp, #8]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x54
bl SpriteRenderer_LoadCharResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E688 ; =0x00002328
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x53
bl SpriteRenderer_LoadCellResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E688 ; =0x00002328
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x52
bl SpriteRenderer_LoadAnimResObjFromOpenNarc
str r4, [sp]
mov r0, #0x55
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #0xd
str r0, [sp, #0xc]
mov r0, #2
str r0, [sp, #0x10]
ldr r0, _0225E688 ; =0x00002328
mov r1, #3
str r0, [sp, #0x14]
add r0, r7, #0
add r2, r6, #0
add r3, r5, #0
bl sub_0200D68C
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _0225E68C ; =0x0000232B
add r1, r5, #0
str r0, [sp, #8]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x1d
bl SpriteRenderer_LoadCharResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E68C ; =0x0000232B
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x1c
bl SpriteRenderer_LoadCellResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E68C ; =0x0000232B
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x1b
bl SpriteRenderer_LoadAnimResObjFromOpenNarc
str r4, [sp]
mov r0, #0x1e
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, _0225E68C ; =0x0000232B
mov r1, #2
str r0, [sp, #0x14]
add r0, r7, #0
add r2, r6, #0
add r3, r5, #0
bl sub_0200D68C
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _0225E690 ; =0x0000232C
add r1, r5, #0
str r0, [sp, #8]
add r0, r6, #0
add r2, r4, #0
mov r3, #0xd
bl SpriteRenderer_LoadCharResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E690 ; =0x0000232C
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0xc
bl SpriteRenderer_LoadCellResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E690 ; =0x0000232C
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0xb
bl SpriteRenderer_LoadAnimResObjFromOpenNarc
str r4, [sp]
mov r0, #0xe
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, _0225E690 ; =0x0000232C
mov r1, #2
str r0, [sp, #0x14]
add r0, r7, #0
add r2, r6, #0
add r3, r5, #0
bl sub_0200D68C
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _0225E694 ; =0x0000232D
add r1, r5, #0
str r0, [sp, #8]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x15
bl SpriteRenderer_LoadCharResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E694 ; =0x0000232D
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x14
bl SpriteRenderer_LoadCellResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E694 ; =0x0000232D
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x13
bl SpriteRenderer_LoadAnimResObjFromOpenNarc
str r4, [sp]
mov r0, #0x16
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, _0225E694 ; =0x0000232D
mov r1, #2
str r0, [sp, #0x14]
add r0, r7, #0
add r2, r6, #0
add r3, r5, #0
bl sub_0200D68C
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _0225E698 ; =0x0000232E
add r1, r5, #0
str r0, [sp, #8]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x11
bl SpriteRenderer_LoadCharResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E698 ; =0x0000232E
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x10
bl SpriteRenderer_LoadCellResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E698 ; =0x0000232E
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0xf
bl SpriteRenderer_LoadAnimResObjFromOpenNarc
str r4, [sp]
mov r0, #0x12
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
str r0, [sp, #0x10]
ldr r0, _0225E698 ; =0x0000232E
mov r1, #2
str r0, [sp, #0x14]
add r0, r7, #0
add r2, r6, #0
add r3, r5, #0
bl sub_0200D68C
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _0225E69C ; =0x0000232A
add r1, r5, #0
str r0, [sp, #8]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x19
bl SpriteRenderer_LoadCharResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E69C ; =0x0000232A
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x18
bl SpriteRenderer_LoadCellResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E69C ; =0x0000232A
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x17
bl SpriteRenderer_LoadAnimResObjFromOpenNarc
str r4, [sp]
mov r0, #0x1a
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #3
str r0, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
ldr r0, _0225E69C ; =0x0000232A
mov r1, #2
str r0, [sp, #0x14]
add r0, r7, #0
add r2, r6, #0
add r3, r5, #0
bl sub_0200D68C
mov r0, #0xc8
mov r1, #0x71
bl NARC_New
add r4, r0, #0
mov r0, #0
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
ldr r0, _0225E6A0 ; =0x0000232F
add r1, r5, #0
str r0, [sp, #8]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x15
bl SpriteRenderer_LoadCharResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E6A0 ; =0x0000232F
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x16
bl SpriteRenderer_LoadCellResObjFromOpenNarc
mov r0, #0
str r0, [sp]
ldr r0, _0225E6A0 ; =0x0000232F
add r1, r5, #0
str r0, [sp, #4]
add r0, r6, #0
add r2, r4, #0
mov r3, #0x17
bl SpriteRenderer_LoadAnimResObjFromOpenNarc
str r4, [sp]
mov r0, #0x14
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r1, #2
str r1, [sp, #0xc]
mov r0, #1
str r0, [sp, #0x10]
ldr r0, _0225E6A0 ; =0x0000232F
add r2, r6, #0
str r0, [sp, #0x14]
add r0, r7, #0
add r3, r5, #0
bl sub_0200D68C
add r0, r4, #0
bl NARC_Delete
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0225E688: .word 0x00002328
_0225E68C: .word 0x0000232B
_0225E690: .word 0x0000232C
_0225E694: .word 0x0000232D
_0225E698: .word 0x0000232E
_0225E69C: .word 0x0000232A
_0225E6A0: .word 0x0000232F
thumb_func_end ov92_0225E3C4
thumb_func_start ov92_0225E6A4
ov92_0225E6A4: ; 0x0225E6A4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x50
add r6, r1, #0
ldr r1, [r6, #0x14]
str r0, [sp, #8]
ldr r0, [r1, #8]
mov r4, #0
str r0, [sp, #0x18]
ldr r0, [r1, #0xc]
str r4, [sp, #0x10]
str r0, [sp, #0x14]
ldr r0, [r6, #4]
cmp r0, #0
bgt _0225E6C2
b _0225E7D8
_0225E6C2:
str r6, [sp, #0xc]
add r7, r4, #0
add r5, r6, #0
_0225E6C8:
ldr r1, [sp, #0xc]
mov r0, #0xff
add r1, #0xf4
strh r0, [r1]
ldr r0, [r6]
cmp r4, r0
beq _0225E7C8
ldr r1, [sp, #0xc]
ldr r0, [sp, #0x10]
add r1, #0xf4
strh r0, [r1]
mov r0, #0
str r0, [sp]
ldr r0, _0225E7DC ; =0x00002328
mov r2, #6
str r0, [sp, #4]
ldr r1, [r6, #4]
add r0, sp, #0x1c
mul r2, r1
ldr r1, _0225E7E0 ; =ov92_02263B74
mov r3, #2
add r1, r1, r2
add r2, r7, r1
mov r1, #5
mvn r1, r1
ldrsh r1, [r2, r1]
mov r2, #0xf0
bl ov92_0225DDD8
mov r0, #1
str r0, [sp, #0x24]
ldr r0, [sp, #0x18]
ldr r1, [sp, #0x14]
add r2, sp, #0x1c
bl SpriteRenderer_LoadResourcesAndCreateSprite
str r0, [r5, #0x1c]
mov r0, #0
str r0, [sp]
ldr r0, _0225E7DC ; =0x00002328
mov r2, #6
str r0, [sp, #4]
ldr r1, [r6, #4]
add r0, sp, #0x1c
mul r2, r1
ldr r1, _0225E7E0 ; =ov92_02263B74
mov r3, #2
add r1, r1, r2
add r2, r7, r1
mov r1, #5
mvn r1, r1
ldrsh r1, [r2, r1]
mov r2, #0xf0
bl ov92_0225DDD8
mov r0, #2
str r0, [sp, #0x24]
ldr r0, [sp, #0x18]
ldr r1, [sp, #0x14]
add r2, sp, #0x1c
bl SpriteRenderer_LoadResourcesAndCreateSprite
str r0, [r5, #0x28]
ldr r0, [sp, #8]
add r1, r4, #0
bl ov92_0226077C
add r1, r0, #0
ldr r0, [r5, #0x28]
bl UnkImageStruct_SetSpritePalOffset
mov r0, #0
str r0, [sp]
ldr r0, _0225E7DC ; =0x00002328
mov r2, #6
str r0, [sp, #4]
ldr r1, [r6, #4]
add r0, sp, #0x1c
mul r2, r1
ldr r1, _0225E7E0 ; =ov92_02263B74
mov r3, #2
add r1, r1, r2
add r2, r7, r1
mov r1, #5
mvn r1, r1
ldrsh r1, [r2, r1]
mov r2, #0xf0
bl ov92_0225DDD8
mov r0, #3
str r0, [sp, #0x24]
ldr r0, [sp, #0x18]
ldr r1, [sp, #0x14]
add r2, sp, #0x1c
bl SpriteRenderer_LoadResourcesAndCreateSprite
str r0, [r5, #0x34]
ldr r0, [sp, #8]
add r1, r4, #0
bl ov92_0226077C
add r1, r0, #0
ldr r0, [r5, #0x34]
bl UnkImageStruct_SetSpritePalOffset
ldr r0, [r5, #0x34]
mov r1, #5
bl UnkImageStruct_SetSpriteAnimSeqNo
ldr r0, [r5, #0x1c]
bl UnkImageStruct_TickSpriteAnimation2Frames
ldr r0, [r5, #0x28]
bl UnkImageStruct_TickSpriteAnimation2Frames
ldr r0, [r5, #0x34]
bl UnkImageStruct_TickSpriteAnimation2Frames
add r0, r6, #0
add r1, r4, #0
mov r2, #0
bl ov92_0225DF58
ldr r0, [sp, #0x10]
add r7, r7, #2
add r0, r0, #1
add r5, r5, #4
str r0, [sp, #0x10]
_0225E7C8:
ldr r0, [sp, #0xc]
add r4, r4, #1
add r0, r0, #2
str r0, [sp, #0xc]
ldr r0, [r6, #4]
cmp r4, r0
bge _0225E7D8
b _0225E6C8
_0225E7D8:
add sp, #0x50
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0225E7DC: .word 0x00002328
_0225E7E0: .word ov92_02263B74
thumb_func_end ov92_0225E6A4
thumb_func_start ov92_0225E7E4
ov92_0225E7E4: ; 0x0225E7E4
push {r4, r5, lr}
sub sp, #0x3c
ldr r0, [r0, #0x14]
mov r3, #1
ldr r4, [r0, #8]
ldr r5, [r0, #0xc]
mov r0, #0
str r0, [sp]
ldr r0, _0225E81C ; =0x0000232B
str r0, [sp, #4]
add r0, sp, #8
bl ov92_0225DDD8
mov r0, #0
str r0, [sp, #0x34]
str r0, [sp, #0x10]
add r0, r4, #0
add r1, r5, #0
add r2, sp, #8
bl SpriteRenderer_LoadResourcesAndCreateSprite
add r4, r0, #0
bl UnkImageStruct_TickSpriteAnimation2Frames
add r0, r4, #0
add sp, #0x3c
pop {r4, r5, pc}
nop
_0225E81C: .word 0x0000232B
thumb_func_end ov92_0225E7E4
thumb_func_start ov92_0225E820
ov92_0225E820: ; 0x0225E820
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x40
add r5, r0, #0
ldr r0, [r5, #0x14]
add r7, sp, #0xc
ldr r6, [r0, #8]
ldr r4, [r0, #0xc]
mov r0, #0
str r0, [sp, #8]
_0225E832:
mov r0, #4
str r0, [sp]
ldr r0, _0225E910 ; =0x0000232A
mov r1, #0
str r0, [sp, #4]
add r0, r7, #0
add r2, r1, #0
mov r3, #1
bl ov92_0225DDD8
mov r0, #2
str r0, [sp, #0x38]
mov r0, #0x14
str r0, [sp, #0x14]
add r0, r6, #0
add r1, r4, #0
add r2, r7, #0
bl SpriteRenderer_LoadResourcesAndCreateSprite
add r1, r5, #0
add r1, #0xe8
str r0, [r1]
add r0, r5, #0
add r0, #0xe8
ldr r0, [r0]
mov r1, #0
bl UnkImageStruct_SetSpriteAnimSeqNo
add r0, r5, #0
add r0, #0xe8
ldr r0, [r0]
bl UnkImageStruct_TickSpriteAnimation1Frame
add r0, r5, #0
add r0, #0xe8
ldr r0, [r0]
mov r1, #4
bl UnkImageStruct_SetSpritePalOffset
add r0, r5, #0
add r0, #0xe8
ldr r0, [r0]
mov r1, #1
bl sub_0200E0FC
add r0, r5, #0
add r0, #0xe8
ldr r0, [r0]
mov r1, #0
bl UnkImageStruct_SetSpriteVisibleFlag
mov r0, #0
str r0, [sp]
ldr r0, _0225E914 ; =0x00002328
mov r1, #0
str r0, [sp, #4]
add r0, r7, #0
add r2, r1, #0
mov r3, #2
bl ov92_0225DDD8
mov r0, #2
str r0, [sp, #0x38]
mov r0, #0x14
str r0, [sp, #0x14]
add r0, r6, #0
add r1, r4, #0
add r2, r7, #0
bl SpriteRenderer_LoadResourcesAndCreateSprite
add r1, r5, #0
add r1, #0xe0
str r0, [r1]
add r0, r5, #0
add r0, #0xe0
ldr r0, [r0]
mov r1, #6
bl UnkImageStruct_SetSpriteAnimSeqNo
add r0, r5, #0
add r0, #0xe0
ldr r0, [r0]
bl UnkImageStruct_TickSpriteAnimation1Frame
add r0, r5, #0
add r0, #0xe0
ldr r0, [r0]
mov r1, #0
bl UnkImageStruct_SetSpritePalOffset
add r0, r5, #0
add r0, #0xe0
ldr r0, [r0]
mov r1, #1
bl sub_0200E0FC
add r0, r5, #0
add r0, #0xe0
ldr r0, [r0]
mov r1, #0
bl UnkImageStruct_SetSpriteVisibleFlag
ldr r0, [sp, #8]
add r5, r5, #4
add r0, r0, #1
str r0, [sp, #8]
cmp r0, #2
blt _0225E832
add sp, #0x40
pop {r3, r4, r5, r6, r7, pc}
nop
_0225E910: .word 0x0000232A
_0225E914: .word 0x00002328
thumb_func_end ov92_0225E820
thumb_func_start ov92_0225E918
ov92_0225E918: ; 0x0225E918
push {r3, r4, r5, lr}
add r5, r0, #0
mov r4, #0
_0225E91E:
add r0, r5, #0
add r0, #0xe8
ldr r0, [r0]
bl sub_0200D9DC
add r0, r5, #0
add r0, #0xe0
ldr r0, [r0]
bl sub_0200D9DC
add r4, r4, #1
add r5, r5, #4
cmp r4, #2
blt _0225E91E
pop {r3, r4, r5, pc}
thumb_func_end ov92_0225E918
thumb_func_start ov92_0225E93C
ov92_0225E93C: ; 0x0225E93C
push {r3, r4, r5, r6, lr}
sub sp, #0x3c
add r5, r0, #0
ldr r0, [r5, #0x14]
mov r1, #0x80
ldr r6, [r0, #8]
ldr r4, [r0, #0xc]
mov r0, #7
str r0, [sp]
ldr r0, _0225E9A4 ; =0x0000232F
add r2, r1, #0
str r0, [sp, #4]
add r0, sp, #8
mov r3, #1
bl ov92_0225DDD8
mov r0, #0
str r0, [sp, #0x34]
str r0, [sp, #0x10]
add r0, r6, #0
add r1, r4, #0
add r2, sp, #8
bl SpriteRenderer_LoadResourcesAndCreateSprite
add r1, r5, #0
add r1, #0xf0
str r0, [r1]
add r0, r5, #0
add r0, #0xf0
ldr r0, [r0]
mov r1, #1
bl UnkImageStruct_SetSpriteAnimSeqNo
add r0, r5, #0
add r0, #0xf0
ldr r0, [r0]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
add r0, r5, #0
add r0, #0xf0
ldr r0, [r0]
bl UnkImageStruct_TickSpriteAnimation1Frame
add r5, #0xf0
ldr r0, [r5]
mov r1, #7
bl UnkImageStruct_SetSpritePalOffset
add sp, #0x3c
pop {r3, r4, r5, r6, pc}
nop
_0225E9A4: .word 0x0000232F
thumb_func_end ov92_0225E93C
thumb_func_start ov92_0225E9A8
ov92_0225E9A8: ; 0x0225E9A8
ldr r3, _0225E9B0 ; =sub_0200D9DC
add r0, #0xf0
ldr r0, [r0]
bx r3
.balign 4, 0
_0225E9B0: .word sub_0200D9DC
thumb_func_end ov92_0225E9A8
thumb_func_start ov92_0225E9B4
ov92_0225E9B4: ; 0x0225E9B4
push {r4, r5, r6, lr}
sub sp, #0x10
ldr r5, [r0, #0x58]
ldr r4, [r0, #0x48]
ldr r6, [r0, #0x5c]
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0x48
add r2, r5, #0
mov r3, #4
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0x4b
add r2, r5, #0
mov r3, #5
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0x4a
add r2, r5, #0
mov r3, #4
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0x4c
add r2, r5, #0
mov r3, #5
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0x4d
add r2, r5, #0
mov r3, #6
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0x4e
add r2, r5, #0
mov r3, #7
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #1
str r0, [sp]
mov r0, #0xa0
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
add r0, r6, #0
mov r1, #0xc1
mov r2, #0x49
mov r3, #0x71
bl PaletteData_LoadNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #5
add r2, r5, #0
mov r3, #3
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #8
add r2, r5, #0
mov r3, #1
bl GfGfxLoader_LoadCharDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #7
add r2, r5, #0
mov r3, #3
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #9
add r2, r5, #0
mov r3, #1
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
str r0, [sp, #8]
mov r0, #0x71
str r0, [sp, #0xc]
add r0, r4, #0
mov r1, #0xa
add r2, r5, #0
mov r3, #2
bl GfGfxLoader_LoadScrnDataFromOpenNarc
mov r1, #0
str r1, [sp]
mov r0, #0x20
str r0, [sp, #4]
str r1, [sp, #8]
add r0, r6, #0
mov r1, #0xc1
mov r2, #6
mov r3, #0x71
bl PaletteData_LoadNarc
mov r0, #1
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #0xe0
str r0, [sp, #8]
add r0, r6, #0
mov r1, #0x10
mov r2, #8
mov r3, #0x71
bl PaletteData_LoadNarc
bl sub_0200E3D8
add r2, r0, #0
mov r0, #1
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #0xd0
str r0, [sp, #8]
add r0, r6, #0
mov r1, #0x26
mov r3, #0x71
bl PaletteData_LoadNarc
mov r0, #0
str r0, [sp]
mov r0, #0x71
str r0, [sp, #4]
add r0, r5, #0
mov r1, #7
mov r2, #0xb4
mov r3, #0xd
bl LoadUserFrameGfx1
add sp, #0x10
pop {r4, r5, r6, pc}
thumb_func_end ov92_0225E9B4
thumb_func_start ov92_0225EB40
ov92_0225EB40: ; 0x0225EB40
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r1, #0
mov r0, #0x71
mov r1, #0x10
bl AllocFromHeap
add r3, r0, #0
mov r2, #0x10
mov r1, #0
_0225EB54:
strb r1, [r3]
add r3, r3, #1
sub r2, r2, #1
bne _0225EB54
mov r1, #0x4b
str r5, [r0, #4]
lsl r1, r1, #4
strh r1, [r0, #8]
str r4, [r0, #0xc]
pop {r3, r4, r5, pc}
thumb_func_end ov92_0225EB40
thumb_func_start ov92_0225EB68
ov92_0225EB68: ; 0x0225EB68
ldr r3, _0225EB6C ; =FreeToHeap
bx r3
.balign 4, 0
_0225EB6C: .word FreeToHeap
thumb_func_end ov92_0225EB68
thumb_func_start ov92_0225EB70
ov92_0225EB70: ; 0x0225EB70
mov r1, #8
ldrsh r2, [r0, r1]
sub r2, r2, #1
strh r2, [r0, #8]
ldrsh r0, [r0, r1]
cmp r0, #0
ble _0225EB82
mov r0, #1
bx lr
_0225EB82:
mov r0, #0
bx lr
.balign 4, 0
thumb_func_end ov92_0225EB70
thumb_func_start ov92_0225EB88
ov92_0225EB88: ; 0x0225EB88
push {r3, r4, r5, r6, r7, lr}
add r6, r1, #0
add r5, r0, #0
ldr r1, _0225EBD4 ; =0x00002BBC
mov r0, #0x71
add r7, r2, #0
bl AllocFromHeap
ldr r2, _0225EBD4 ; =0x00002BBC
add r4, r0, #0
mov r1, #0
bl memset
str r5, [r4, #4]
ldr r3, _0225EBD8 ; =0x00002BB8
str r6, [r4]
mov r0, #0
str r0, [r4, #8]
str r0, [r4, #0xc]
str r7, [r4, #0x14]
add r1, r3, #0
str r0, [r4, r3]
sub r1, #0xcc
ldr r2, [r4, r1]
ldr r1, _0225EBDC ; =0x00002228
str r2, [r4, r1]
add r2, r3, #0
sub r2, #0xcc
add r2, r4, r2
add r1, r1, #4
str r2, [r4, r1]
sub r3, #0x24
str r0, [r4, r3]
add r0, r4, #0
bl ov92_0225EBE0
add r0, r4, #0
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0225EBD4: .word 0x00002BBC
_0225EBD8: .word 0x00002BB8
_0225EBDC: .word 0x00002228
thumb_func_end ov92_0225EB88
thumb_func_start ov92_0225EBE0
ov92_0225EBE0: ; 0x0225EBE0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
ldr r2, _0225ED44 ; =0x00001FC8
add r7, r0, #0
mov r0, #0
mov r3, #0x19
str r0, [r7, r2]
add r1, r2, #4
lsl r3, r3, #0xe
str r3, [r7, r1]
add r2, #8
mov r3, #0x31
ldr r1, _0225ED48 ; =0x0000051C
str r0, [r7, r2]
str r0, [r7, r1]
add r2, r1, #4
str r0, [r7, r2]
lsl r3, r3, #4
str r0, [r7, r3]
add r2, r3, #4
str r0, [r7, r2]
sub r1, r1, #4
str r0, [r7, r1]
sub r1, r3, #4
sub r3, #0x6c
str r0, [r7, r1]
add r0, r7, r3
bl ov92_022630E8
mov r0, #0xad
lsl r0, r0, #2
add r0, r7, r0
bl ov92_022630E8
mov r0, #0x4b
lsl r0, r0, #4
add r0, r7, r0
bl ov92_022630E8
mov r0, #0x13
lsl r0, r0, #6
add r0, r7, r0
bl ov92_022630E8
ldr r0, _0225ED4C ; =0x00000AD4
add r0, r7, r0
bl ov92_022630E8
ldr r0, _0225ED50 ; =0x00000AE4
add r0, r7, r0
bl ov92_022630E8
mov r0, #0
str r0, [sp, #0xc]
mov r0, #0xce
lsl r0, r0, #4
add r6, r7, r0
add r0, #0x10
add r4, r7, r0
mov r0, #0xb5
lsl r0, r0, #4
add r5, r7, r0
_0225EC5C:
add r0, r6, #0
bl ov92_022630E8
add r0, r4, #0
bl ov92_022630E8
mov r0, #5
str r0, [sp]
ldr r0, _0225ED54 ; =0x3F4CCCCD
mov r1, #0
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
add r0, r5, #0
add r2, r1, #0
mov r3, #5
bl ov92_02260428
mov r1, #0
mov r0, #4
mvn r0, r0
str r0, [sp]
ldr r0, _0225ED54 ; =0x3F4CCCCD
add r2, r1, #0
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
add r0, r5, #0
sub r3, r1, #5
bl ov92_02260428
mov r0, #0x83
lsl r0, r0, #2
add r6, r6, r0
add r4, r4, r0
add r5, r5, r0
ldr r0, [sp, #0xc]
add r0, r0, #1
str r0, [sp, #0xc]
cmp r0, #8
blt _0225EC5C
mov r3, #5
ldr r0, _0225ED58 ; =0x3FF0A3D7
str r3, [sp]
str r0, [sp, #4]
mov r1, #0
mov r0, #0x45
lsl r0, r0, #2
add r0, r7, r0
add r2, r1, #0
str r1, [sp, #8]
bl ov92_02260428
mov r3, #4
mvn r3, r3
mov r1, #0
ldr r0, _0225ED58 ; =0x3FF0A3D7
str r3, [sp]
str r0, [sp, #4]
mov r0, #0x45
lsl r0, r0, #2
add r0, r7, r0
add r2, r1, #0
str r1, [sp, #8]
bl ov92_02260428
mov r3, #5
mov r1, #0
ldr r0, _0225ED54 ; =0x3F4CCCCD
str r3, [sp]
str r0, [sp, #4]
mov r0, #0x32
lsl r0, r0, #4
add r0, r7, r0
add r2, r1, #0
str r1, [sp, #8]
bl ov92_02260428
mov r3, #4
mvn r3, r3
mov r1, #0
ldr r0, _0225ED54 ; =0x3F4CCCCD
str r3, [sp]
str r0, [sp, #4]
mov r0, #0x32
lsl r0, r0, #4
add r0, r7, r0
add r2, r1, #0
str r1, [sp, #8]
bl ov92_02260428
mov r3, #5
mov r1, #0
ldr r0, _0225ED58 ; =0x3FF0A3D7
str r3, [sp]
str r0, [sp, #4]
ldr r0, _0225ED5C ; =0x00000944
add r2, r1, #0
add r0, r7, r0
str r1, [sp, #8]
bl ov92_02260428
mov r3, #4
mvn r3, r3
mov r1, #0
ldr r0, _0225ED54 ; =0x3F4CCCCD
str r3, [sp]
str r0, [sp, #4]
ldr r0, _0225ED5C ; =0x00000944
add r2, r1, #0
add r0, r7, r0
str r1, [sp, #8]
bl ov92_02260428
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0225ED44: .word 0x00001FC8
_0225ED48: .word 0x0000051C
_0225ED4C: .word 0x00000AD4
_0225ED50: .word 0x00000AE4
_0225ED54: .word 0x3F4CCCCD
_0225ED58: .word 0x3FF0A3D7
_0225ED5C: .word 0x00000944
thumb_func_end ov92_0225EBE0
thumb_func_start ov92_0225ED60
ov92_0225ED60: ; 0x0225ED60
ldr r3, _0225ED64 ; =FreeToHeap
bx r3
.balign 4, 0
_0225ED64: .word FreeToHeap
thumb_func_end ov92_0225ED60
thumb_func_start ov92_0225ED68
ov92_0225ED68: ; 0x0225ED68
ldr r1, _0225ED7C ; =0x00001FCC
ldr r0, [r0, r1]
asr r0, r0, #0xc
cmp r0, #0x2d
bgt _0225ED76
mov r0, #1
bx lr
_0225ED76:
mov r0, #0
bx lr
nop
_0225ED7C: .word 0x00001FCC
thumb_func_end ov92_0225ED68
thumb_func_start ov92_0225ED80
ov92_0225ED80: ; 0x0225ED80
push {r3, lr}
ldr r1, _0225EDB0 ; =0x00001FCC
ldr r1, [r0, r1]
asr r1, r1, #0xc
cmp r1, #0x4b
bge _0225ED98
cmp r1, #0x3d
ble _0225ED98
mov r1, #1
bl ov92_0225DD48
pop {r3, pc}
_0225ED98:
cmp r1, #0x3c
bge _0225EDA8
cmp r1, #0x2e
ble _0225EDA8
mov r1, #2
bl ov92_0225DD48
pop {r3, pc}
_0225EDA8:
mov r1, #0
bl ov92_0225DD48
pop {r3, pc}
.balign 4, 0
_0225EDB0: .word 0x00001FCC
thumb_func_end ov92_0225ED80
thumb_func_start ov92_0225EDB4
ov92_0225EDB4: ; 0x0225EDB4
push {r4, r5, r6, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #0x71
mov r1, #0x30
bl AllocFromHeap
mov r1, #0
mov r2, #0x30
add r4, r0, #0
bl memset
add r1, r5, #0
add r1, #0xf4
lsl r0, r6, #1
ldrh r2, [r1, r0]
lsl r2, r2, #2
add r2, r5, r2
ldr r2, [r2, #0x1c]
str r2, [r4, #0xc]
ldrh r0, [r1, r0]
mov r2, #1
add r1, r4, #0
lsl r0, r0, #2
add r0, r5, r0
ldr r0, [r0, #0x28]
lsl r2, r2, #0xc
str r0, [r4, #0x10]
mov r0, #0
str r0, [r4]
str r0, [r4, #4]
ldr r0, [r5, #0x14]
str r0, [r4, #0x2c]
ldr r0, _0225EE00 ; =ov92_0225F254
bl CreateSysTask
pop {r4, r5, r6, pc}
nop
_0225EE00: .word ov92_0225F254
thumb_func_end ov92_0225EDB4
thumb_func_start ov92_0225EE04
ov92_0225EE04: ; 0x0225EE04
push {r3, r4, r5, lr}
ldr r2, _0225EE54 ; =0x000029D0
add r3, r0, r2
mov r2, #0x44
mul r2, r1
add r3, r3, r2
ldr r2, [r3, #0x30]
cmp r2, #1
beq _0225EE52
ldr r4, _0225EE58 ; =0x00002BB4
ldr r2, [r0, r4]
sub r4, #0xac
str r2, [r3, #0x40]
mov r2, #1
add r5, r0, r4
lsl r4, r1, #2
str r2, [r3, #0x30]
add r4, r5, r4
str r4, [r3, #0x2c]
ldr r4, [r4]
lsl r1, r1, #1
add r1, r0, r1
str r4, [r3, #0x28]
add r1, #0xf4
ldrh r1, [r1]
lsl r2, r2, #0xc
lsl r1, r1, #2
add r1, r0, r1
ldr r1, [r1, #0x34]
str r1, [r3, #0xc]
mov r1, #0
str r1, [r3]
str r1, [r3, #4]
ldr r0, [r0, #0x14]
add r1, r3, #0
str r0, [r3, #0x3c]
ldr r0, _0225EE5C ; =ov92_0225F338
bl CreateSysTask
_0225EE52:
pop {r3, r4, r5, pc}
.balign 4, 0
_0225EE54: .word 0x000029D0
_0225EE58: .word 0x00002BB4
_0225EE5C: .word ov92_0225F338
thumb_func_end ov92_0225EE04
thumb_func_start ov92_0225EE60
ov92_0225EE60: ; 0x0225EE60
push {r3, lr}
ldr r2, _0225EEA8 ; =0x000029D0
add r3, r0, r2
mov r2, #0x44
mul r2, r1
add r1, r3, r2
ldr r2, [r1, #0x30]
cmp r2, #1
beq _0225EEA4
ldr r3, _0225EEAC ; =0x00002BB4
ldr r2, [r0, r3]
sub r3, #0xc8
str r2, [r1, #0x40]
mov r2, #1
str r2, [r1, #0x30]
add r3, r0, r3
str r3, [r1, #0x2c]
ldr r3, [r3]
lsl r2, r2, #0xc
str r3, [r1, #0x28]
ldr r3, _0225EEB0 ; =0x00001BB0
add r3, r0, r3
str r3, [r1, #0x34]
ldr r3, _0225EEB4 ; =0x00001DBC
add r3, r0, r3
str r3, [r1, #0x38]
mov r3, #0
str r3, [r1]
str r3, [r1, #4]
ldr r0, [r0, #0x14]
str r0, [r1, #0x3c]
ldr r0, _0225EEB8 ; =ov92_0225F530
bl CreateSysTask
_0225EEA4:
pop {r3, pc}
nop
_0225EEA8: .word 0x000029D0
_0225EEAC: .word 0x00002BB4
_0225EEB0: .word 0x00001BB0
_0225EEB4: .word 0x00001DBC
_0225EEB8: .word ov92_0225F530
thumb_func_end ov92_0225EE60
thumb_func_start ov92_0225EEBC
ov92_0225EEBC: ; 0x0225EEBC
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #0x71
mov r1, #0x7c
bl AllocFromHeap
mov r1, #0
mov r2, #0x7c
add r4, r0, #0
bl memset
mov r0, #0x11
lsl r0, r0, #4
add r1, r5, r0
str r1, [r4, #0xc]
mov r1, #0x32
lsl r1, r1, #4
add r1, r5, r1
add r0, r0, #4
add r2, r4, #0
str r1, [r4, #0x10]
add r0, r5, r0
str r0, [r4, #0x14]
ldr r0, _0225EF3C ; =0x00001FC8
add r2, #0x20
add r3, r5, r0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
mov r1, #0
str r0, [r2]
ldr r0, _0225EF40 ; =0x00002BB4
ldr r0, [r5, r0]
str r0, [r4, #0x74]
ldr r0, [r5, #0x14]
str r0, [r4, #0x78]
add r0, r5, #0
bl ov92_0225DD48
mov r0, #0xea
lsl r0, r0, #2
add r0, r5, r0
mov r1, #0
bl sub_02018198
ldr r0, _0225EF44 ; =0x000005B4
mov r1, #0
add r0, r5, r0
bl sub_02018198
mov r0, #0x1f
lsl r0, r0, #6
add r0, r5, r0
mov r1, #0
bl sub_02018198
mov r2, #1
ldr r0, _0225EF48 ; =ov92_0225EF4C
add r1, r4, #0
lsl r2, r2, #0xc
bl CreateSysTask
pop {r3, r4, r5, pc}
nop
_0225EF3C: .word 0x00001FC8
_0225EF40: .word 0x00002BB4
_0225EF44: .word 0x000005B4
_0225EF48: .word ov92_0225EF4C
thumb_func_end ov92_0225EEBC
thumb_func_start ov92_0225EF4C
ov92_0225EF4C: ; 0x0225EF4C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r1, #0
add r6, r0, #0
ldr r0, [r4, #0x28]
lsl r0, r0, #4
asr r5, r0, #0x10
bl IsPaletteFadeFinished
cmp r0, #0
beq _0225EF6C
ldr r0, [r4, #0x78]
add r0, #0x34
ldrb r0, [r0]
cmp r0, #1
bne _0225EF7C
_0225EF6C:
add r0, r6, #0
bl DestroySysTask
add r0, r4, #0
bl FreeToHeap
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0225EF7C:
ldr r0, [r4]
cmp r0, #3
bls _0225EF84
b _0225F1DE
_0225EF84:
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0225EF90: ; jump table
.short _0225EF98 - _0225EF90 - 2 ; case 0
.short _0225F04A - _0225EF90 - 2 ; case 1
.short _0225F166 - _0225EF90 - 2 ; case 2
.short _0225F1AA - _0225EF90 - 2 ; case 3
_0225EF98:
ldr r0, [r4, #4]
ldr r1, [r4, #0x10]
cmp r0, #0
bne _0225EFEC
mov r0, #0x79
lsl r0, r0, #2
ldr r1, [r1, r0]
mov r2, #3
add r0, r4, #0
lsl r2, r2, #0xe
add r0, #0x44
add r2, r1, r2
mov r3, #4
bl ov92_02260860
cmp r5, #0
ldr r1, [r4, #0x10]
ble _0225EFD4
mov r0, #0x7a
lsl r0, r0, #2
ldr r1, [r1, r0]
mov r2, #1
add r0, r4, #0
lsl r2, r2, #0x10
add r0, #0x5c
add r2, r1, r2
mov r3, #4
bl ov92_02260860
b _0225F036
_0225EFD4:
mov r0, #0x7a
lsl r0, r0, #2
ldr r1, [r1, r0]
mov r2, #1
add r0, r4, #0
lsl r2, r2, #0x10
add r0, #0x5c
sub r2, r1, r2
mov r3, #4
bl ov92_02260860
b _0225F036
_0225EFEC:
mov r0, #0x79
lsl r0, r0, #2
ldr r1, [r1, r0]
mov r2, #3
add r0, r4, #0
lsl r2, r2, #0x10
add r0, #0x44
add r2, r1, r2
mov r3, #8
bl ov92_02260860
cmp r5, #0
ldr r1, [r4, #0x10]
ble _0225F020
mov r0, #0x7a
lsl r0, r0, #2
ldr r1, [r1, r0]
mov r2, #1
add r0, r4, #0
lsl r2, r2, #0x10
add r0, #0x5c
sub r2, r1, r2
mov r3, #8
bl ov92_02260860
b _0225F036
_0225F020:
mov r0, #0x7a
lsl r0, r0, #2
ldr r1, [r1, r0]
mov r2, #1
add r0, r4, #0
lsl r2, r2, #0x10
add r0, #0x5c
add r2, r1, r2
mov r3, #4
bl ov92_02260860
_0225F036:
ldr r0, _0225F240 ; =0x0000060A
bl PlaySE
mov r0, #0
str r0, [r4, #8]
ldr r0, [r4]
add sp, #0xc
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, r7, pc}
_0225F04A:
add r0, r4, #0
add r0, #0x44
bl ov92_02260870
add r7, r0, #0
add r0, r4, #0
add r0, #0x5c
bl ov92_02260870
add r6, r0, #0
mov r0, #0x79
ldr r2, [r4, #0x44]
ldr r1, [r4, #0x10]
lsl r0, r0, #2
str r2, [r1, r0]
add r1, r0, #4
ldr r3, [r4, #0x5c]
ldr r2, [r4, #0x10]
cmp r7, #0
str r3, [r2, r1]
beq _0225F078
cmp r6, #0
bne _0225F07A
_0225F078:
b _0225F23A
_0225F07A:
ldr r1, [r4, #4]
cmp r1, #0
bne _0225F114
ldr r1, [r4, #0xc]
mov r2, #1
str r2, [r1]
ldr r1, [r4, #0x10]
sub r0, #0x54
add r0, r1, r0
bl ov92_022630E8
mov r0, #0x1a
ldr r1, [r4, #0x10]
lsl r0, r0, #4
add r0, r1, r0
bl ov92_022630E8
mov r3, #5
mov r1, #0
ldr r0, _0225F244 ; =0x3F4CCCCD
str r3, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
ldr r0, [r4, #0x10]
add r2, r1, #0
bl ov92_02260428
mov r3, #4
mvn r3, r3
mov r1, #0
ldr r0, _0225F244 ; =0x3F4CCCCD
str r3, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
ldr r0, [r4, #0x10]
add r2, r1, #0
bl ov92_02260428
mov r0, #0x79
mov r2, #3
ldr r1, [r4, #0x10]
lsl r0, r0, #2
ldr r1, [r1, r0]
add r0, r4, #0
lsl r2, r2, #0x10
add r0, #0x44
sub r2, r1, r2
mov r3, #8
bl ov92_02260860
cmp r5, #0
ldr r1, [r4, #0x10]
ble _0225F0FC
mov r0, #0x7a
lsl r0, r0, #2
ldr r1, [r1, r0]
mov r2, #1
add r0, r4, #0
lsl r2, r2, #0x10
add r0, #0x5c
add r2, r1, r2
mov r3, #8
bl ov92_02260860
b _0225F15C
_0225F0FC:
mov r0, #0x7a
lsl r0, r0, #2
ldr r1, [r1, r0]
mov r2, #1
add r0, r4, #0
lsl r2, r2, #0x10
add r0, #0x5c
sub r2, r1, r2
mov r3, #8
bl ov92_02260860
b _0225F15C
_0225F114:
ldr r1, [r4, #0x10]
mov r2, #3
ldr r1, [r1, r0]
add r0, r4, #0
lsl r2, r2, #0xe
add r0, #0x44
sub r2, r1, r2
mov r3, #4
bl ov92_02260860
cmp r5, #0
ldr r1, [r4, #0x10]
ble _0225F146
mov r0, #0x7a
lsl r0, r0, #2
ldr r1, [r1, r0]
mov r2, #1
add r0, r4, #0
lsl r2, r2, #0x10
add r0, #0x5c
sub r2, r1, r2
mov r3, #4
bl ov92_02260860
b _0225F15C
_0225F146:
mov r0, #0x7a
lsl r0, r0, #2
ldr r1, [r1, r0]
mov r2, #1
add r0, r4, #0
lsl r2, r2, #0x10
add r0, #0x5c
add r2, r1, r2
mov r3, #4
bl ov92_02260860
_0225F15C:
ldr r0, [r4]
add sp, #0xc
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, r7, pc}
_0225F166:
add r0, r4, #0
add r0, #0x44
bl ov92_02260870
add r5, r0, #0
add r0, r4, #0
add r0, #0x5c
bl ov92_02260870
mov r1, #0x79
ldr r3, [r4, #0x44]
ldr r2, [r4, #0x10]
lsl r1, r1, #2
str r3, [r2, r1]
add r1, r1, #4
ldr r3, [r4, #0x5c]
ldr r2, [r4, #0x10]
cmp r5, #0
str r3, [r2, r1]
beq _0225F23A
cmp r0, #0
beq _0225F23A
ldr r0, [r4, #4]
cmp r0, #0
bne _0225F1A0
mov r0, #0x63
lsl r0, r0, #4
bl PlaySE
_0225F1A0:
ldr r0, [r4]
add sp, #0xc
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, r7, pc}
_0225F1AA:
ldr r1, [r4, #4]
cmp r1, #0
bne _0225F1D6
ldr r0, [r4, #8]
cmp r0, #8
bne _0225F1BC
ldr r0, _0225F248 ; =0x0000058D
bl PlaySE
_0225F1BC:
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #0x28
blt _0225F23A
ldr r0, [r4, #0xc]
mov r1, #2
str r1, [r0]
ldr r0, [r4]
add sp, #0xc
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, r7, pc}
_0225F1D6:
add r0, r0, #1
add sp, #0xc
str r0, [r4]
pop {r4, r5, r6, r7, pc}
_0225F1DE:
ldr r0, [r4, #4]
cmp r0, #0
ldr r0, [r4, #8]
bne _0225F208
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #0x2d
blt _0225F23A
ldr r0, [r4, #0xc]
mov r1, #0
str r1, [r0]
ldr r0, _0225F240 ; =0x0000060A
bl PlaySE
mov r0, #0
str r0, [r4]
ldr r0, [r4, #4]
add sp, #0xc
add r0, r0, #1
str r0, [r4, #4]
pop {r4, r5, r6, r7, pc}
_0225F208:
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #0xa
blt _0225F23A
ldr r0, [r4, #0x74]
cmp r0, #0
beq _0225F21A
ldr r2, _0225F24C ; =0xFFFF8000
b _0225F21C
_0225F21A:
ldr r2, _0225F250 ; =0xFFFEC000
_0225F21C:
mov r0, #0x79
ldr r1, [r4, #0x10]
lsl r0, r0, #2
str r2, [r1, r0]
mov r0, #0x7a
ldr r1, [r4, #0x10]
mov r2, #0
lsl r0, r0, #2
str r2, [r1, r0]
add r0, r6, #0
bl DestroySysTask
add r0, r4, #0
bl FreeToHeap
_0225F23A:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
_0225F240: .word 0x0000060A
_0225F244: .word 0x3F4CCCCD
_0225F248: .word 0x0000058D
_0225F24C: .word 0xFFFF8000
_0225F250: .word 0xFFFEC000
thumb_func_end ov92_0225EF4C
thumb_func_start ov92_0225F254
ov92_0225F254: ; 0x0225F254
push {r3, r4, r5, lr}
sub sp, #0x10
add r4, r1, #0
add r5, r0, #0
ldr r0, [r4, #0xc]
bl UnkImageStruct_GetSpriteAnimCtrlCurrentFrame
bl IsPaletteFadeFinished
cmp r0, #0
beq _0225F274
ldr r0, [r4, #0x2c]
add r0, #0x34
ldrb r0, [r0]
cmp r0, #1
bne _0225F284
_0225F274:
add r0, r5, #0
bl DestroySysTask
add r0, r4, #0
bl FreeToHeap
add sp, #0x10
pop {r3, r4, r5, pc}
_0225F284:
ldr r0, [r4]
cmp r0, #0
beq _0225F290
cmp r0, #1
beq _0225F2D4
b _0225F300
_0225F290:
mov r0, #0
str r0, [r4, #8]
ldr r0, [r4, #0xc]
add r1, sp, #0xc
add r2, sp, #8
bl UnkImageStruct_GetSpritePositionXY_NoBottomScreenCorrection
ldr r0, [r4, #4]
cmp r0, #0
bne _0225F2B8
mov r2, #2
add r0, r4, #0
ldr r1, [sp, #8]
lsl r2, r2, #0x10
add r0, #0x14
add r2, r1, r2
mov r3, #0x10
bl ov92_02260860
b _0225F2CA
_0225F2B8:
mov r2, #2
add r0, r4, #0
ldr r1, [sp, #8]
lsl r2, r2, #0x10
add r0, #0x14
sub r2, r1, r2
mov r3, #4
bl ov92_02260860
_0225F2CA:
ldr r0, [r4]
add sp, #0x10
add r0, r0, #1
str r0, [r4]
pop {r3, r4, r5, pc}
_0225F2D4:
add r0, r4, #0
add r0, #0x14
bl ov92_02260870
add r5, r0, #0
ldr r0, [r4, #0xc]
add r1, sp, #4
add r2, sp, #0
bl UnkImageStruct_GetSpritePositionXY_NoBottomScreenCorrection
ldr r0, [r4, #0xc]
ldr r1, [sp, #4]
ldr r2, [r4, #0x14]
bl UnkImageStruct_SetSpritePrecisePositionXY_NoBottomScreenCorrection
cmp r5, #0
beq _0225F332
ldr r0, [r4]
add sp, #0x10
add r0, r0, #1
str r0, [r4]
pop {r3, r4, r5, pc}
_0225F300:
ldr r0, [r4, #4]
cmp r0, #0
ldr r0, [r4, #8]
bne _0225F31E
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #0x23
blt _0225F332
ldr r0, [r4, #4]
add sp, #0x10
add r0, r0, #1
str r0, [r4, #4]
mov r0, #0
str r0, [r4]
pop {r3, r4, r5, pc}
_0225F31E:
add r0, r0, #1
str r0, [r4, #8]
cmp r0, #0xa
blt _0225F332
add r0, r5, #0
bl DestroySysTask
add r0, r4, #0
bl FreeToHeap
_0225F332:
add sp, #0x10
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov92_0225F254
thumb_func_start ov92_0225F338
ov92_0225F338: ; 0x0225F338
push {r3, r4, r5, lr}
sub sp, #8
add r5, r0, #0
add r4, r1, #0
bl IsPaletteFadeFinished
cmp r0, #0
beq _0225F352
ldr r0, [r4, #0x3c]
add r0, #0x34
ldrb r0, [r0]
cmp r0, #1
bne _0225F360
_0225F352:
mov r0, #0
str r0, [r4, #0x30]
add r0, r5, #0
bl DestroySysTask
add sp, #8
pop {r3, r4, r5, pc}
_0225F360:
ldr r0, [r4]
cmp r0, #5
bls _0225F368
b _0225F4F2
_0225F368:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0225F374: ; jump table
.short _0225F380 - _0225F374 - 2 ; case 0
.short _0225F3F4 - _0225F374 - 2 ; case 1
.short _0225F426 - _0225F374 - 2 ; case 2
.short _0225F43C - _0225F374 - 2 ; case 3
.short _0225F46C - _0225F374 - 2 ; case 4
.short _0225F4BC - _0225F374 - 2 ; case 5
_0225F380:
ldr r0, [r4, #0xc]
mov r1, #7
bl UnkImageStruct_SetSpriteAnimSeqNo
ldr r0, [r4, #0xc]
mov r1, #0
bl UnkImageStruct_SetSpriteDrawPriority
ldr r0, [r4, #0xc]
mov r1, #2
bl sub_0200DF98
ldr r0, [r4, #0xc]
add r1, sp, #4
add r2, sp, #0
bl sub_0200E060
ldr r0, [sp]
mov r1, #0
bl _fgr
ldr r0, _0225F524 ; =0x45800000
bls _0225F3C0
ldr r1, [sp]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0225F3CE
_0225F3C0:
ldr r1, [sp]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0225F3CE:
bl _ffix
add r1, r0, #0
add r0, r4, #0
mov r2, #2
add r0, #0x10
lsl r2, r2, #0xc
mov r3, #2
bl ov92_02260860
ldr r1, [r4, #0x2c]
ldr r0, [r4, #0xc]
ldr r1, [r1]
sub r1, r1, #1
bl UnkImageStruct_SetSpritePalOffset
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
_0225F3F4:
add r0, r4, #0
add r0, #0x10
bl ov92_02260870
add r5, r0, #0
ldr r0, [r4, #0x10]
bl _fflt
ldr r1, _0225F524 ; =0x45800000
bl _fdiv
add r2, r0, #0
mov r1, #0xfe
ldr r0, [r4, #0xc]
lsl r1, r1, #0x16
bl sub_0200E024
cmp r5, #0
bne _0225F41C
b _0225F520
_0225F41C:
ldr r0, [r4]
add sp, #8
add r0, r0, #1
str r0, [r4]
pop {r3, r4, r5, pc}
_0225F426:
add r0, r4, #0
mov r1, #2
ldr r2, _0225F528 ; =0x00000666
add r0, #0x10
lsl r1, r1, #0xc
mov r3, #4
bl ov92_02260860
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
_0225F43C:
add r0, r4, #0
add r0, #0x10
bl ov92_02260870
add r5, r0, #0
ldr r0, [r4, #0x10]
bl _fflt
ldr r1, _0225F524 ; =0x45800000
bl _fdiv
add r2, r0, #0
mov r1, #0xfe
ldr r0, [r4, #0xc]
lsl r1, r1, #0x16
bl sub_0200E024
cmp r5, #0
beq _0225F520
ldr r0, [r4]
add sp, #8
add r0, r0, #1
str r0, [r4]
pop {r3, r4, r5, pc}
_0225F46C:
ldr r0, [r4, #0x2c]
ldr r1, [r4, #0x28]
ldr r0, [r0]
cmp r1, r0
beq _0225F47C
mov r0, #0
str r0, [r4]
b _0225F4A6
_0225F47C:
ldr r0, [r4, #4]
cmp r0, #0
bne _0225F492
add r0, r4, #0
ldr r1, _0225F528 ; =0x00000666
ldr r2, _0225F52C ; =0x00000CCD
add r0, #0x10
mov r3, #2
bl ov92_02260860
b _0225F4A0
_0225F492:
ldr r1, _0225F52C ; =0x00000CCD
add r0, r4, #0
add r0, #0x10
lsr r2, r1, #1
mov r3, #4
bl ov92_02260860
_0225F4A0:
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
_0225F4A6:
ldr r0, [r4, #0x2c]
ldr r0, [r0]
str r0, [r4, #0x28]
ldr r0, [r4, #0x2c]
ldr r0, [r0]
cmp r0, #0
bne _0225F520
mov r0, #0xff
add sp, #8
str r0, [r4]
pop {r3, r4, r5, pc}
_0225F4BC:
add r0, r4, #0
add r0, #0x10
bl ov92_02260870
add r5, r0, #0
ldr r0, [r4, #0x10]
bl _fflt
ldr r1, _0225F524 ; =0x45800000
bl _fdiv
add r2, r0, #0
mov r1, #0xfe
ldr r0, [r4, #0xc]
lsl r1, r1, #0x16
bl sub_0200E024
cmp r5, #0
beq _0225F520
mov r0, #4
str r0, [r4]
ldr r1, [r4, #4]
mov r0, #1
eor r0, r1
add sp, #8
str r0, [r4, #4]
pop {r3, r4, r5, pc}
_0225F4F2:
mov r1, #0xfe
lsl r1, r1, #0x16
ldr r0, [r4, #0xc]
add r2, r1, #0
bl sub_0200E024
ldr r0, [r4, #0xc]
mov r1, #5
bl UnkImageStruct_SetSpriteAnimSeqNo
ldr r0, [r4, #0xc]
mov r1, #2
bl UnkImageStruct_SetSpriteDrawPriority
ldr r0, [r4, #0xc]
mov r1, #0
bl sub_0200DF98
mov r0, #0
str r0, [r4, #0x30]
add r0, r5, #0
bl DestroySysTask
_0225F520:
add sp, #8
pop {r3, r4, r5, pc}
.balign 4, 0
_0225F524: .word 0x45800000
_0225F528: .word 0x00000666
_0225F52C: .word 0x00000CCD
thumb_func_end ov92_0225F338
thumb_func_start ov92_0225F530
ov92_0225F530: ; 0x0225F530
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r4, r1, #0
add r7, r0, #0
ldr r6, [r4, #0x34]
ldr r5, [r4, #0x38]
bl IsPaletteFadeFinished
cmp r0, #0
beq _0225F550
ldr r2, [r4, #0x3c]
add r0, r2, #0
add r0, #0x34
ldrb r0, [r0]
cmp r0, #1
bne _0225F59A
_0225F550:
add r0, r6, #0
bl ov92_0225DA2C
add r0, r5, #0
bl ov92_0225DA2C
ldr r1, [r4, #0x3c]
add r0, r6, #0
add r0, #0x88
add r1, #0x24
bl sub_020180F8
ldr r1, [r4, #0x3c]
add r6, #0x9c
add r0, r6, #0
add r1, #0x24
bl sub_020180F8
ldr r1, [r4, #0x3c]
add r0, r5, #0
add r0, #0x88
add r1, #0x24
bl sub_020180F8
ldr r1, [r4, #0x3c]
add r5, #0x9c
add r0, r5, #0
add r1, #0x24
bl sub_020180F8
mov r0, #0
str r0, [r4, #0x30]
add r0, r7, #0
bl DestroySysTask
add sp, #0xc
pop {r4, r5, r6, r7, pc}
_0225F59A:
ldr r0, [r4, #0x2c]
ldr r1, [r0]
sub r3, r1, #1
bmi _0225F5A6
cmp r3, #4
ble _0225F5A8
_0225F5A6:
mov r3, #0
_0225F5A8:
ldr r0, [r4]
cmp r0, #5
bls _0225F5B0
b _0225F81E
_0225F5B0:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0225F5BC: ; jump table
.short _0225F5C8 - _0225F5BC - 2 ; case 0
.short _0225F5E8 - _0225F5BC - 2 ; case 1
.short _0225F69C - _0225F5BC - 2 ; case 2
.short _0225F6BC - _0225F5BC - 2 ; case 3
.short _0225F798 - _0225F5BC - 2 ; case 4
.short _0225F7C4 - _0225F5BC - 2 ; case 5
_0225F5C8:
ldr r1, [r2]
ldr r2, _0225F868 ; =ov92_02263CD0
lsl r3, r3, #3
ldr r2, [r2, r3]
add r0, r6, #0
bl ov92_0225D9A8
ldr r1, [r4, #0x40]
add r0, r6, #0
bl ov92_0225D9B4
ldr r0, [r4]
add sp, #0xc
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, r7, pc}
_0225F5E8:
mov r0, #0x71
str r0, [sp]
add r0, r2, #0
add r0, #0x24
str r0, [sp, #4]
add r0, r6, #0
add r1, r6, #0
ldr r2, [r2]
add r0, #0x88
add r1, #0x78
mov r3, #0x27
bl sub_020180BC
add r1, r6, #0
ldr r2, [r4, #0x3c]
mov r0, #0x71
str r0, [sp]
add r0, r2, #0
add r0, #0x24
str r0, [sp, #4]
add r0, r6, #0
ldr r2, [r2]
add r0, #0x9c
add r1, #0x78
mov r3, #0x28
bl sub_020180BC
add r1, r6, #0
add r0, r6, #0
add r1, #0x88
bl sub_020181D4
add r1, r6, #0
add r0, r6, #0
add r1, #0x9c
bl sub_020181D4
add r0, r6, #0
add r0, #0x88
mov r1, #0
bl sub_02018198
add r0, r6, #0
add r0, #0x9c
mov r1, #0
bl sub_02018198
add r0, r6, #0
mov r1, #0
bl sub_020182A0
mov r0, #0x7b
mov r1, #0
lsl r0, r0, #2
str r1, [r6, r0]
sub r0, #0x5c
add r0, r6, r0
bl ov92_022630E8
mov r0, #0x1a
lsl r0, r0, #4
add r0, r6, r0
bl ov92_022630E8
mov r3, #5
mov r1, #0
ldr r0, _0225F86C ; =0x3F4CCCCD
str r3, [sp]
str r0, [sp, #4]
add r0, r6, #0
add r2, r1, #0
str r1, [sp, #8]
bl ov92_02260428
mov r3, #4
mvn r3, r3
mov r1, #0
ldr r0, _0225F86C ; =0x3F4CCCCD
str r3, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
add r0, r6, #0
add r2, r1, #0
bl ov92_02260428
ldr r0, [r4]
add sp, #0xc
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, r7, pc}
_0225F69C:
ldr r1, [r2]
ldr r2, _0225F870 ; =ov92_02263CD4
lsl r3, r3, #3
ldr r2, [r2, r3]
add r0, r5, #0
bl ov92_0225D9A8
ldr r1, [r4, #0x40]
add r0, r5, #0
bl ov92_0225D9B4
ldr r0, [r4]
add sp, #0xc
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, r7, pc}
_0225F6BC:
mov r0, #0x71
str r0, [sp]
add r0, r2, #0
add r0, #0x24
str r0, [sp, #4]
add r0, r5, #0
add r1, r5, #0
ldr r2, [r2]
add r0, #0x88
add r1, #0x78
mov r3, #0x29
bl sub_020180BC
add r1, r5, #0
ldr r2, [r4, #0x3c]
mov r0, #0x71
str r0, [sp]
add r0, r2, #0
add r0, #0x24
str r0, [sp, #4]
add r0, r5, #0
ldr r2, [r2]
add r0, #0x9c
add r1, #0x78
mov r3, #0x2a
bl sub_020180BC
add r1, r5, #0
add r0, r5, #0
add r1, #0x88
bl sub_020181D4
add r1, r5, #0
add r0, r5, #0
add r1, #0x9c
bl sub_020181D4
add r0, r5, #0
add r0, #0x88
mov r1, #0
bl sub_02018198
add r0, r5, #0
add r0, #0x9c
mov r1, #0
bl sub_02018198
add r0, r5, #0
mov r1, #1
bl sub_020182A0
mov r0, #0x7b
mov r1, #1
lsl r0, r0, #2
str r1, [r5, r0]
sub r0, #0x5c
add r0, r5, r0
bl ov92_022630E8
mov r0, #0x1a
lsl r0, r0, #4
add r0, r5, r0
bl ov92_022630E8
mov r3, #5
mov r1, #0
ldr r0, _0225F86C ; =0x3F4CCCCD
str r3, [sp]
str r0, [sp, #4]
add r0, r5, #0
add r2, r1, #0
str r1, [sp, #8]
bl ov92_02260428
mov r3, #4
mvn r3, r3
mov r1, #0
ldr r0, _0225F86C ; =0x3F4CCCCD
str r3, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
add r0, r5, #0
add r2, r1, #0
bl ov92_02260428
ldr r0, [r4, #0x40]
cmp r0, #0
beq _0225F78E
mov r1, #0
ldr r2, _0225F874 ; =0xFFFF8000
add r0, r6, #0
add r3, r1, #0
bl sub_020182A8
mov r1, #0
ldr r2, _0225F874 ; =0xFFFF8000
add r0, r5, #0
add r3, r1, #0
bl sub_020182A8
mov r0, #0x79
ldr r1, _0225F874 ; =0xFFFF8000
lsl r0, r0, #2
str r1, [r6, r0]
str r1, [r5, r0]
_0225F78E:
ldr r0, [r4]
add sp, #0xc
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, r7, pc}
_0225F798:
mov r0, #0x7b
lsl r0, r0, #2
ldr r0, [r5, r0]
cmp r0, #0
bne _0225F864
add r0, r6, #0
mov r1, #1
bl sub_020182A0
add r0, r5, #0
mov r1, #0
bl sub_020182A0
mov r0, #0x7b
mov r1, #1
lsl r0, r0, #2
str r1, [r6, r0]
ldr r0, [r4]
add sp, #0xc
add r0, r0, #1
str r0, [r4]
pop {r4, r5, r6, r7, pc}
_0225F7C4:
cmp r1, #0
bne _0225F7CE
mov r0, #0xff
str r0, [r4]
b _0225F814
_0225F7CE:
ldr r0, [r4, #0x28]
cmp r0, r1
beq _0225F814
add r0, r6, #0
bl ov92_0225DA2C
add r0, r5, #0
bl ov92_0225DA2C
ldr r1, [r4, #0x3c]
add r0, r6, #0
add r0, #0x88
add r1, #0x24
bl sub_020180F8
ldr r1, [r4, #0x3c]
add r6, #0x9c
add r0, r6, #0
add r1, #0x24
bl sub_020180F8
ldr r1, [r4, #0x3c]
add r0, r5, #0
add r0, #0x88
add r1, #0x24
bl sub_020180F8
ldr r1, [r4, #0x3c]
add r5, #0x9c
add r0, r5, #0
add r1, #0x24
bl sub_020180F8
mov r0, #0
str r0, [r4]
_0225F814:
ldr r0, [r4, #0x2c]
add sp, #0xc
ldr r0, [r0]
str r0, [r4, #0x28]
pop {r4, r5, r6, r7, pc}
_0225F81E:
add r0, r6, #0
bl ov92_0225DA2C
add r0, r5, #0
bl ov92_0225DA2C
ldr r1, [r4, #0x3c]
add r0, r6, #0
add r0, #0x88
add r1, #0x24
bl sub_020180F8
ldr r1, [r4, #0x3c]
add r6, #0x9c
add r0, r6, #0
add r1, #0x24
bl sub_020180F8
ldr r1, [r4, #0x3c]
add r0, r5, #0
add r0, #0x88
add r1, #0x24
bl sub_020180F8
ldr r1, [r4, #0x3c]
add r5, #0x9c
add r0, r5, #0
add r1, #0x24
bl sub_020180F8
mov r0, #0
str r0, [r4, #0x30]
add r0, r7, #0
bl DestroySysTask
_0225F864:
add sp, #0xc
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0225F868: .word ov92_02263CD0
_0225F86C: .word 0x3F4CCCCD
_0225F870: .word ov92_02263CD4
_0225F874: .word 0xFFFF8000
thumb_func_end ov92_0225F530
thumb_func_start ov92_0225F878
ov92_0225F878: ; 0x0225F878
push {r3, r4}
sub sp, #8
ldr r3, _0225F8A8 ; =ov92_02263C34
add r2, sp, #0
ldrh r4, [r3, #0x10]
add r1, sp, #0
strh r4, [r2]
ldrh r4, [r3, #0x12]
strh r4, [r2, #2]
ldrh r4, [r3, #0x14]
ldrh r3, [r3, #0x16]
strh r4, [r2, #4]
strh r3, [r2, #6]
ldr r3, _0225F8AC ; =0x00002AF0
sub r2, r3, #4
ldr r2, [r0, r2]
ldr r4, [r0, r3]
lsl r2, r2, #1
ldrh r1, [r1, r2]
add r1, r4, r1
str r1, [r0, r3]
add sp, #8
pop {r3, r4}
bx lr
.balign 4, 0
_0225F8A8: .word ov92_02263C34
_0225F8AC: .word 0x00002AF0
thumb_func_end ov92_0225F878
thumb_func_start ov92_0225F8B0
ov92_0225F8B0: ; 0x0225F8B0
push {r3, r4}
sub sp, #8
ldr r3, _0225F8E4 ; =ov92_02263C34
add r1, sp, #0
ldrh r4, [r3, #0x18]
add r2, sp, #0
strh r4, [r1]
ldrh r4, [r3, #0x1a]
strh r4, [r1, #2]
ldrh r4, [r3, #0x1c]
ldrh r3, [r3, #0x1e]
strh r4, [r1, #4]
ldr r4, _0225F8E8 ; =0x00002AF0
strh r3, [r1, #6]
sub r3, r4, #4
ldr r3, [r0, r3]
ldr r1, [r0, r4]
sub r3, r3, #1
lsl r3, r3, #1
ldrh r2, [r2, r3]
add r1, r1, r2
str r1, [r0, r4]
add sp, #8
pop {r3, r4}
bx lr
nop
_0225F8E4: .word ov92_02263C34
_0225F8E8: .word 0x00002AF0
thumb_func_end ov92_0225F8B0
thumb_func_start ov92_0225F8EC
ov92_0225F8EC: ; 0x0225F8EC
ldr r2, _0225F958 ; =0x00002B18
ldr r1, _0225F95C ; =0x0000010D
ldr r3, [r0, r2]
cmp r3, r1
bgt _0225F906
bge _0225F926
cmp r3, #0
bgt _0225F900
beq _0225F946
b _0225F94C
_0225F900:
cmp r3, #0x77
beq _0225F91E
b _0225F94C
_0225F906:
ldr r1, _0225F960 ; =0x00000239
cmp r3, r1
bgt _0225F916
bge _0225F936
sub r1, #0x96
cmp r3, r1
beq _0225F92E
b _0225F94C
_0225F916:
add r1, #0x96
cmp r3, r1
beq _0225F93E
b _0225F94C
_0225F91E:
mov r1, #1
sub r2, #0x30
str r1, [r0, r2]
b _0225F94C
_0225F926:
mov r1, #2
sub r2, #0x30
str r1, [r0, r2]
b _0225F94C
_0225F92E:
mov r1, #3
sub r2, #0x30
str r1, [r0, r2]
b _0225F94C
_0225F936:
mov r1, #4
sub r2, #0x30
str r1, [r0, r2]
b _0225F94C
_0225F93E:
mov r1, #5
sub r2, #0x30
str r1, [r0, r2]
b _0225F94C
_0225F946:
mov r1, #0
sub r2, #0x30
str r1, [r0, r2]
_0225F94C:
ldr r2, _0225F958 ; =0x00002B18
ldr r3, _0225F964 ; =ov92_0225F968
ldr r1, [r0, r2]
sub r2, #0x2c
add r2, r0, r2
bx r3
.balign 4, 0
_0225F958: .word 0x00002B18
_0225F95C: .word 0x0000010D
_0225F960: .word 0x00000239
_0225F964: .word ov92_0225F968
thumb_func_end ov92_0225F8EC
thumb_func_start ov92_0225F968
ov92_0225F968: ; 0x0225F968
ldr r0, _0225F9B8 ; =0x00000257
cmp r1, r0
bgt _0225F980
bge _0225F998
cmp r1, #0
bgt _0225F978
beq _0225F9B0
b _0225F9B4
_0225F978:
lsr r0, r0, #1
cmp r1, r0
beq _0225F992
b _0225F9B4
_0225F980:
ldr r0, _0225F9BC ; =0x00000383
cmp r1, r0
bgt _0225F98A
beq _0225F9A0
b _0225F9B4
_0225F98A:
ldr r0, _0225F9C0 ; =0x000004AF
cmp r1, r0
beq _0225F9A8
b _0225F9B4
_0225F992:
mov r0, #1
str r0, [r2]
bx lr
_0225F998:
mov r0, #2
str r0, [r2]
mov r0, #1
bx lr
_0225F9A0:
mov r0, #3
str r0, [r2]
mov r0, #1
bx lr
_0225F9A8:
mov r0, #4
str r0, [r2]
mov r0, #1
bx lr
_0225F9B0:
mov r0, #0
str r0, [r2]
_0225F9B4:
mov r0, #0
bx lr
.balign 4, 0
_0225F9B8: .word 0x00000257
_0225F9BC: .word 0x00000383
_0225F9C0: .word 0x000004AF
thumb_func_end ov92_0225F968
thumb_func_start ov92_0225F9C4
ov92_0225F9C4: ; 0x0225F9C4
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
ldr r0, [r5, #4]
mov r4, #0
str r0, [sp, #4]
cmp r0, #0
ble _0225FAA0
ldr r0, _0225FAA4 ; =0x00002B08
add r7, r5, #0
add r0, r5, r0
str r0, [sp]
add r6, r5, #0
_0225F9DE:
ldr r0, [r5]
cmp r4, r0
beq _0225FA8E
ldr r0, _0225FAA8 ; =0x00002B9C
ldr r0, [r7, r0]
cmp r0, #0
beq _0225F9F6
cmp r0, #1
beq _0225FA36
cmp r0, #2
beq _0225FA76
b _0225FA8E
_0225F9F6:
add r0, r5, #0
add r1, r4, #0
bl ov92_0225DFA4
cmp r0, #1
beq _0225FA0C
add r0, r5, #0
add r1, r4, #0
mov r2, #1
bl ov92_0225DF58
_0225FA0C:
mov r1, #0x2b
lsl r1, r1, #8
ldrsh r1, [r6, r1]
ldr r2, [sp]
add r0, r5, #0
bl ov92_0225F968
cmp r0, #0
beq _0225FA26
add r0, r5, #0
add r1, r4, #0
bl ov92_0225EE04
_0225FA26:
mov r0, #0x2b
lsl r0, r0, #8
ldrsh r0, [r6, r0]
add r1, r0, #1
mov r0, #0x2b
lsl r0, r0, #8
strh r1, [r6, r0]
b _0225FA8E
_0225FA36:
ldr r0, _0225FAAC ; =0x00002AFE
mov r1, #0
strh r1, [r5, r0]
add r0, r0, #2
strh r1, [r6, r0]
ldr r0, _0225FAA4 ; =0x00002B08
str r1, [r7, r0]
ldr r0, _0225FAB0 ; =0x000021A4
str r1, [r5, r0]
add r0, r5, #0
add r1, r4, #0
bl ov92_0225DFA4
cmp r0, #3
beq _0225FA8E
ldr r0, _0225FAB4 ; =0x00002BB8
ldr r0, [r5, r0]
cmp r0, #0
bne _0225FA8E
add r0, r5, #0
add r1, r4, #0
mov r2, #3
bl ov92_0225DF58
add r0, r5, #0
add r1, r4, #0
bl ov92_0225EDB4
ldr r0, _0225FAB4 ; =0x00002BB8
mov r1, #1
str r1, [r5, r0]
b _0225FA8E
_0225FA76:
ldr r0, _0225FAB4 ; =0x00002BB8
mov r1, #0
str r1, [r5, r0]
sub r0, #0xba
strh r1, [r5, r0]
mov r0, #0x2b
lsl r0, r0, #8
strh r1, [r6, r0]
add r0, #8
str r1, [r7, r0]
ldr r0, _0225FAA8 ; =0x00002B9C
str r1, [r7, r0]
_0225FA8E:
ldr r0, [sp]
add r4, r4, #1
add r0, r0, #4
str r0, [sp]
ldr r0, [sp, #4]
add r7, r7, #4
add r6, r6, #2
cmp r4, r0
blt _0225F9DE
_0225FAA0:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_0225FAA4: .word 0x00002B08
_0225FAA8: .word 0x00002B9C
_0225FAAC: .word 0x00002AFE
_0225FAB0: .word 0x000021A4
_0225FAB4: .word 0x00002BB8
thumb_func_end ov92_0225F9C4
thumb_func_start ov92_0225FAB8
ov92_0225FAB8: ; 0x0225FAB8
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r1, _0225FC1C ; =0x00002B9C
ldr r2, [r4]
add r3, r4, r1
lsl r2, r2, #2
ldr r5, [r3, r2]
cmp r5, #3
bls _0225FACC
b _0225FC18
_0225FACC:
add r5, r5, r5
add r5, pc
ldrh r5, [r5, #6]
lsl r5, r5, #0x10
asr r5, r5, #0x10
add pc, r5
_0225FAD8: ; jump table
.short _0225FAE0 - _0225FAD8 - 2 ; case 0
.short _0225FB52 - _0225FAD8 - 2 ; case 1
.short _0225FB8C - _0225FAD8 - 2 ; case 2
.short _0225FBEA - _0225FAD8 - 2 ; case 3
_0225FAE0:
mov r1, #0
bl ov92_0225ED68
cmp r0, #0
beq _0225FB28
ldr r0, _0225FC20 ; =0x00002AFC
mov r1, #0
strh r1, [r4, r0]
add r0, r4, #0
bl ov92_0225EEBC
add r0, r4, #0
bl ov92_0225FEB4
ldr r0, [r4]
ldr r1, _0225FC1C ; =0x00002B9C
lsl r0, r0, #2
mov r2, #1
add r0, r4, r0
str r2, [r0, r1]
add r2, r4, r1
ldr r1, [r4]
mov r0, #0x18
lsl r1, r1, #2
add r1, r2, r1
mov r2, #4
bl sub_02037030
ldr r0, _0225FC24 ; =0x00002B18
mov r1, #0
str r1, [r4, r0]
sub r0, #0x1a
strh r1, [r4, r0]
ldr r0, _0225FC28 ; =0x000021A4
str r1, [r4, r0]
pop {r3, r4, r5, pc}
_0225FB28:
add r0, r4, #0
bl ov92_0225ED80
add r0, r4, #0
bl ov92_0225FC9C
add r0, r4, #0
bl ov92_0225FF1C
add r0, r4, #0
bl ov92_0225F878
mov r0, #0x2b
lsl r0, r0, #8
add r2, r4, r0
ldr r0, [r4]
lsl r1, r0, #1
ldrsh r0, [r2, r1]
add r0, r0, #1
strh r0, [r2, r1]
pop {r3, r4, r5, pc}
_0225FB52:
add r0, r1, #0
sub r0, #0xa0
ldrsh r0, [r4, r0]
add r2, r0, #1
add r0, r1, #0
sub r0, #0xa0
strh r2, [r4, r0]
add r0, r1, #0
sub r0, #0xa0
ldrsh r0, [r4, r0]
cmp r0, #0x5a
blt _0225FB74
ldr r0, [r4]
mov r2, #2
lsl r0, r0, #2
add r0, r4, r0
str r2, [r0, r1]
_0225FB74:
ldr r1, _0225FC24 ; =0x00002B18
mov r2, #0
add r0, r1, #0
str r2, [r4, r1]
sub r0, #0x1a
strh r2, [r4, r0]
ldr r0, [r4]
sub r1, #0x18
lsl r0, r0, #1
add r0, r4, r0
strh r2, [r0, r1]
pop {r3, r4, r5, pc}
_0225FB8C:
add r0, r1, #0
sub r0, #0xa0
ldrsh r0, [r4, r0]
cmp r0, #0
beq _0225FBE4
add r2, r1, #0
mov r0, #0
sub r2, #0x84
str r0, [r4, r2]
add r2, r1, #0
sub r2, #0x9e
strh r0, [r4, r2]
add r2, r1, #0
sub r2, #0xa0
strh r0, [r4, r2]
ldr r2, [r4]
lsl r2, r2, #1
add r3, r4, r2
add r2, r1, #0
sub r2, #0x9c
strh r0, [r3, r2]
add r0, r1, #0
sub r0, #0xa4
ldr r2, [r4, r0]
add r0, r1, #0
sub r0, #0xa8
ldr r0, [r4, r0]
cmp r2, r0
beq _0225FBCA
sub r1, #0xa8
str r2, [r4, r1]
_0225FBCA:
add r0, r4, #0
bl ov92_0225EBE0
ldr r1, _0225FC1C ; =0x00002B9C
mov r0, #0x18
add r2, r4, r1
ldr r1, [r4]
lsl r1, r1, #2
add r1, r2, r1
mov r2, #4
bl sub_02037030
pop {r3, r4, r5, pc}
_0225FBE4:
mov r0, #0
str r0, [r3, r2]
pop {r3, r4, r5, pc}
_0225FBEA:
add r2, r1, #0
sub r2, #0xa0
ldrsh r2, [r4, r2]
add r3, r2, #1
add r2, r1, #0
sub r2, #0xa0
strh r3, [r4, r2]
add r2, r1, #0
sub r2, #0xa0
ldrsh r2, [r4, r2]
cmp r2, #0x1d
blo _0225FC18
mov r2, #0
sub r1, #0xa0
strh r2, [r4, r1]
bl ov92_0225EBE0
ldr r0, [r4]
mov r2, #0
lsl r0, r0, #2
add r1, r4, r0
ldr r0, _0225FC1C ; =0x00002B9C
str r2, [r1, r0]
_0225FC18:
pop {r3, r4, r5, pc}
nop
_0225FC1C: .word 0x00002B9C
_0225FC20: .word 0x00002AFC
_0225FC24: .word 0x00002B18
_0225FC28: .word 0x000021A4
thumb_func_end ov92_0225FAB8
thumb_func_start ov92_0225FC2C
ov92_0225FC2C: ; 0x0225FC2C
push {r4, lr}
ldr r1, _0225FC90 ; =0x00002AE4
add r4, r0, #0
ldr r2, [r4, r1]
mov r1, #0x4b
lsl r1, r1, #4
cmp r2, r1
bge _0225FC8C
bl ov92_0225FAB8
add r0, r4, #0
bl ov92_0225F9C4
add r0, r4, #0
bl ov92_0225F8EC
cmp r0, #1
bne _0225FC64
ldr r1, [r4]
add r0, r4, #0
bl ov92_0225EE60
add r0, r4, #0
bl ov92_0225F8B0
ldr r0, _0225FC94 ; =0x0000058C
bl PlaySE
_0225FC64:
add r0, r4, #0
bl ov92_0225FEE4
ldr r1, _0225FC98 ; =0x00002B18
ldr r0, [r4, r1]
add r0, r0, #1
str r0, [r4, r1]
add r0, r1, #0
sub r0, #0x34
ldr r0, [r4, r0]
add r2, r0, #1
add r0, r1, #0
sub r0, #0x34
str r2, [r4, r0]
add r0, r1, #0
sub r0, #0x1a
ldrsh r0, [r4, r0]
sub r1, #0x1a
add r0, r0, #1
strh r0, [r4, r1]
_0225FC8C:
pop {r4, pc}
nop
_0225FC90: .word 0x00002AE4
_0225FC94: .word 0x0000058C
_0225FC98: .word 0x00002B18
thumb_func_end ov92_0225FC2C
thumb_func_start ov92_0225FC9C
ov92_0225FC9C: ; 0x0225FC9C
push {r3, r4, r5, r6, lr}
sub sp, #0x2c
add r5, r0, #0
add r0, sp, #0x10
add r1, sp, #0xc
bl System_GetTouchHeldCoords
ldr r0, _0225FE78 ; =0x00002B84
mov r1, #0
str r1, [r5, r0]
add r0, #0x30
ldr r0, [r5, r0]
cmp r0, #0
beq _0225FCC4
ldr r0, _0225FE7C ; =ov92_02263C3C
ldr r1, [sp, #0x10]
ldr r2, [sp, #0xc]
bl TouchscreenHitbox_FindHitboxAtPoint
b _0225FCCE
_0225FCC4:
ldr r0, _0225FE80 ; =ov92_02263C34
ldr r1, [sp, #0x10]
ldr r2, [sp, #0xc]
bl TouchscreenHitbox_FindHitboxAtPoint
_0225FCCE:
mov r1, #0
mvn r1, r1
cmp r0, r1
bne _0225FD72
ldr r3, _0225FE84 ; =0x00001FD4
mov r0, #0
mov r2, #0xc3
str r0, [r5, r3]
add r1, r3, #4
lsl r2, r2, #2
str r0, [r5, r1]
ldr r1, [r5, r2]
cmp r1, #0
beq _0225FD2E
mov r0, #0x45
lsl r0, r0, #2
mov r1, #0xfe
add r0, r5, r0
lsl r1, r1, #0x16
bl ov92_02260628
mov r0, #0x32
lsl r0, r0, #4
mov r1, #0x3f
add r0, r5, r0
lsl r1, r1, #0x18
bl ov92_02260628
ldr r4, _0225FE88 ; =ov92_02263C5C
add r3, sp, #0x20
ldmia r4!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r4]
mov r1, #0x4d
str r0, [r3]
add r0, r2, #0
ldr r2, _0225FE8C ; =0x00001FC8
lsl r1, r1, #4
add r1, r5, r1
add r2, r5, r2
bl MTX_MultVec43
ldr r0, _0225FE78 ; =0x00002B84
mov r1, #1
add sp, #0x2c
str r1, [r5, r0]
pop {r3, r4, r5, r6, pc}
_0225FD2E:
add r1, r2, #4
str r0, [r5, r1]
add r2, #8
str r0, [r5, r2]
add r1, r3, #4
ldr r2, [r5, r1]
ldr r1, [r5, r3]
ldr r3, _0225FE90 ; =0x3FF0A3D7
str r2, [sp]
str r3, [sp, #4]
str r0, [sp, #8]
mov r0, #0x45
lsl r0, r0, #2
add r0, r5, r0
add r3, r1, #0
bl ov92_02260428
ldr r0, _0225FE94 ; =0x00001FD8
ldr r2, [r5, r0]
sub r0, r0, #4
ldr r1, [r5, r0]
ldr r0, _0225FE98 ; =0x3E6147AE
str r2, [sp]
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #0x32
lsl r0, r0, #4
add r0, r5, r0
add r3, r1, #0
bl ov92_02260428
add sp, #0x2c
pop {r3, r4, r5, r6, pc}
_0225FD72:
ldr r0, _0225FE9C ; =0x00001FCC
mov r1, #0x28
ldr r0, [r5, r0]
asr r4, r0, #0xc
mov r0, #0x64
sub r0, r0, r4
bl _s32_div_f
bl _fflt
add r6, r0, #0
cmp r4, #0x5f
blt _0225FD8E
ldr r6, _0225FEA0 ; =0x3DCCCCCD
_0225FD8E:
add r0, r6, #0
bl _f2d
ldr r2, _0225FEA4 ; =0xC28F5C29
ldr r3, _0225FEA8 ; =0x3FCC28F5
bl _dgeq
blo _0225FDA2
ldr r4, _0225FE98 ; =0x3E6147AE
b _0225FDBA
_0225FDA2:
add r0, r6, #0
bl _f2d
add r2, r0, #0
add r3, r1, #0
ldr r0, _0225FEA4 ; =0xC28F5C29
ldr r1, _0225FEA8 ; =0x3FCC28F5
bl _dsub
bl _d2f
add r4, r0, #0
_0225FDBA:
ldr r0, _0225FE84 ; =0x00001FD4
ldr r1, [r5, r0]
cmp r1, #0
bne _0225FDCC
ldr r1, [sp, #0x10]
str r1, [r5, r0]
ldr r1, [sp, #0xc]
add r0, r0, #4
str r1, [r5, r0]
_0225FDCC:
ldr r3, _0225FE94 ; =0x00001FD8
ldr r0, [r5, r3]
sub r3, r3, #4
str r0, [sp]
mov r0, #1
lsl r0, r0, #0x1e
str r0, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x45
lsl r0, r0, #2
ldr r1, [sp, #0x10]
ldr r2, [sp, #0xc]
ldr r3, [r5, r3]
add r0, r5, r0
bl ov92_02260428
ldr r3, _0225FE94 ; =0x00001FD8
ldr r0, [r5, r3]
sub r3, r3, #4
str r0, [sp]
str r4, [sp, #4]
mov r0, #1
str r0, [sp, #8]
mov r0, #0x32
lsl r0, r0, #4
ldr r1, [sp, #0x10]
ldr r2, [sp, #0xc]
ldr r3, [r5, r3]
add r0, r5, r0
bl ov92_02260428
ldr r4, _0225FEAC ; =ov92_02263C68
add r3, sp, #0x14
ldmia r4!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r4]
mov r1, #0x4d
str r0, [r3]
add r0, r2, #0
ldr r2, _0225FE8C ; =0x00001FC8
lsl r1, r1, #4
add r1, r5, r1
add r2, r5, r2
bl MTX_MultVec43
ldr r0, _0225FE78 ; =0x00002B84
mov r2, #1
add r1, r0, #0
str r2, [r5, r0]
add r1, #0x10
ldr r1, [r5, r1]
cmp r1, #0
bne _0225FE3E
add r0, #0x10
str r2, [r5, r0]
_0225FE3E:
ldr r0, [sp, #0x10]
cmp r0, #0
beq _0225FE66
ldr r0, _0225FEB0 ; =0x0000058A
bl IsSEPlaying
cmp r0, #0
bne _0225FE54
ldr r0, _0225FEB0 ; =0x0000058A
bl PlaySE
_0225FE54:
ldr r1, [sp, #0x10]
ldr r2, [sp, #0xc]
lsl r1, r1, #0x10
lsl r2, r2, #0x10
add r0, r5, #0
asr r1, r1, #0x10
asr r2, r2, #0x10
bl ov92_02260A38
_0225FE66:
ldr r1, [sp, #0x10]
ldr r0, _0225FE84 ; =0x00001FD4
str r1, [r5, r0]
ldr r1, [sp, #0xc]
add r0, r0, #4
str r1, [r5, r0]
add sp, #0x2c
pop {r3, r4, r5, r6, pc}
nop
_0225FE78: .word 0x00002B84
_0225FE7C: .word ov92_02263C3C
_0225FE80: .word ov92_02263C34
_0225FE84: .word 0x00001FD4
_0225FE88: .word ov92_02263C5C
_0225FE8C: .word 0x00001FC8
_0225FE90: .word 0x3FF0A3D7
_0225FE94: .word 0x00001FD8
_0225FE98: .word 0x3E6147AE
_0225FE9C: .word 0x00001FCC
_0225FEA0: .word 0x3DCCCCCD
_0225FEA4: .word 0xC28F5C29
_0225FEA8: .word 0x3FCC28F5
_0225FEAC: .word ov92_02263C68
_0225FEB0: .word 0x0000058A
thumb_func_end ov92_0225FC9C
thumb_func_start ov92_0225FEB4
ov92_0225FEB4: ; 0x0225FEB4
ldr r2, _0225FEE0 ; =0x00002B20
mov r3, #0
add r1, r2, #0
strh r3, [r0, r2]
sub r1, #0x40
str r3, [r0, r1]
add r1, r2, #0
add r1, #0x64
str r3, [r0, r1]
add r1, r2, #0
add r1, #0x68
str r3, [r0, r1]
add r1, r2, #0
add r1, #0x6c
str r3, [r0, r1]
add r1, r2, #0
add r1, #0x70
str r3, [r0, r1]
sub r2, #0x34
str r3, [r0, r2]
bx lr
nop
_0225FEE0: .word 0x00002B20
thumb_func_end ov92_0225FEB4
thumb_func_start ov92_0225FEE4
ov92_0225FEE4: ; 0x0225FEE4
ldr r2, _0225FF14 ; =0x00002AFE
ldrsh r1, [r0, r2]
cmp r1, #0x95
blt _0225FF12
add r1, r2, #0
sub r1, #0xa
ldr r3, [r0, r1]
cmp r3, #8
beq _0225FF12
sub r1, r2, #6
str r3, [r0, r1]
add r1, r2, #0
sub r1, #0xa
ldr r1, [r0, r1]
add r3, r1, #1
add r1, r2, #0
sub r1, #0xa
str r3, [r0, r1]
mov r1, #0
strh r1, [r0, r2]
ldr r1, _0225FF18 ; =0x000021A4
mov r2, #1
str r2, [r0, r1]
_0225FF12:
bx lr
.balign 4, 0
_0225FF14: .word 0x00002AFE
_0225FF18: .word 0x000021A4
thumb_func_end ov92_0225FEE4
thumb_func_start ov92_0225FF1C
ov92_0225FF1C: ; 0x0225FF1C
push {r4, r5, r6, r7, lr}
sub sp, #0x44
ldr r1, _0226023C ; =ov92_02263C34
add r5, r0, #0
ldrh r3, [r1, #0x20]
add r0, sp, #0x18
add r2, sp, #0x18
strh r3, [r0]
ldrh r3, [r1, #0x22]
strh r3, [r0, #2]
ldrh r3, [r1, #0x24]
ldrh r1, [r1, #0x26]
strh r3, [r0, #4]
strh r1, [r0, #6]
ldr r1, _02260240 ; =0x00002AE0
ldr r0, [r5, r1]
add r0, r0, #1
str r0, [r5, r1]
add r0, r1, #0
add r0, #0x40
ldrsh r0, [r5, r0]
cmp r0, #0
bne _0225FF4C
b _02260090
_0225FF4C:
add r0, r1, #0
add r0, #0x42
ldrsh r0, [r5, r0]
cmp r0, #9
bge _0225FFC4
cmp r0, #8
bgt _0225FFAE
add r0, r1, #0
add r0, #0x74
ldr r7, [r5, r0]
add r0, r1, #0
add r0, #0x8c
add r1, #0x74
ldr r6, [r5, r0]
add r0, r5, r1
bl ov92_022607F8
str r0, [sp, #0x10]
ldr r0, _02260244 ; =0x00002B6C
add r0, r5, r0
bl ov92_022607F8
ldr r2, _02260248 ; =0x00002B54
ldr r1, [r5, r2]
add r2, #0x18
sub r1, r1, r7
lsl r1, r1, #4
asr r1, r1, #0x10
str r1, [sp, #0xc]
ldr r1, [r5, r2]
sub r1, r1, r6
lsl r1, r1, #4
asr r4, r1, #0x10
ldr r1, [sp, #0x10]
cmp r1, #1
beq _0225FF98
cmp r0, #1
bne _02260028
_0225FF98:
ldr r1, _02260248 ; =0x00002B54
ldr r0, [r5, r1]
sub r0, r0, r7
str r0, [r5, r1]
add r0, r1, #0
add r0, #0x18
ldr r0, [r5, r0]
add r1, #0x18
sub r0, r0, r6
str r0, [r5, r1]
b _02260028
_0225FFAE:
add r0, r1, #0
add r0, #0x74
ldr r0, [r5, r0]
add r1, #0x8c
lsl r0, r0, #4
asr r0, r0, #0x10
str r0, [sp, #0xc]
ldr r0, [r5, r1]
lsl r0, r0, #4
asr r4, r0, #0x10
b _02260028
_0225FFC4:
add r0, r1, #0
add r0, #0x44
ldr r7, [r5, r0]
add r0, r1, #0
add r0, #0x5c
add r1, #0x44
ldr r6, [r5, r0]
add r0, r5, r1
bl ov92_022607F8
str r0, [sp, #0x14]
ldr r0, _0226024C ; =0x00002B3C
add r0, r5, r0
bl ov92_022607F8
ldr r2, _02260250 ; =0x00002B24
ldr r1, [r5, r2]
add r2, #0x18
sub r1, r1, r7
lsl r1, r1, #4
asr r1, r1, #0x10
str r1, [sp, #0xc]
ldr r1, [r5, r2]
sub r1, r1, r6
lsl r1, r1, #4
asr r4, r1, #0x10
ldr r1, [sp, #0x14]
cmp r1, #1
beq _02260002
cmp r0, #1
bne _02260028
_02260002:
ldr r0, _02260254 ; =0x00002B88
ldr r1, [r5, r0]
cmp r1, #0
bne _02260028
mov r1, #1
str r1, [r5, r0]
add r1, r0, #0
sub r1, #0x64
ldr r1, [r5, r1]
sub r2, r1, r7
add r1, r0, #0
sub r1, #0x64
str r2, [r5, r1]
add r1, r0, #0
sub r1, #0x4c
ldr r1, [r5, r1]
sub r0, #0x4c
sub r1, r1, r6
str r1, [r5, r0]
_02260028:
ldr r0, _02260258 ; =0x3FF0A3D7
str r4, [sp]
str r0, [sp, #4]
mov r1, #0
str r1, [sp, #8]
mov r0, #0x45
lsl r0, r0, #2
ldr r3, [sp, #0xc]
add r0, r5, r0
add r2, r1, #0
bl ov92_02260428
mov r1, #0
ldr r0, _0226025C ; =0x3F4CCCCD
str r4, [sp]
str r0, [sp, #4]
str r1, [sp, #8]
mov r0, #0x32
lsl r0, r0, #4
ldr r3, [sp, #0xc]
add r0, r5, r0
add r2, r1, #0
bl ov92_02260428
cmp r0, #0
beq _0226007A
ldr r4, _02260260 ; =ov92_02263C8C
add r3, sp, #0x38
ldmia r4!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r4]
mov r1, #0x4d
str r0, [r3]
add r0, r2, #0
ldr r2, _02260264 ; =0x00001FC8
lsl r1, r1, #4
add r1, r5, r1
add r2, r5, r2
bl MTX_MultVec43
_0226007A:
ldr r0, _02260268 ; =0x00002B22
add sp, #0x44
ldrsh r1, [r5, r0]
add r1, r1, #1
strh r1, [r5, r0]
sub r1, r0, #2
ldrsh r1, [r5, r1]
sub r0, r0, #2
sub r1, r1, #1
strh r1, [r5, r0]
pop {r4, r5, r6, r7, pc}
_02260090:
ldr r0, [r5, r1]
add r1, #0xc
ldr r1, [r5, r1]
lsl r1, r1, #1
ldrsh r1, [r2, r1]
bl _s32_div_f
cmp r1, #0
bne _022600AE
ldr r0, _02260240 ; =0x00002AE0
mov r1, #0
str r1, [r5, r0]
mov r1, #1
add r0, #0xac
str r1, [r5, r0]
_022600AE:
ldr r1, _0226026C ; =0x00002B84
ldr r2, [r5, r1]
cmp r2, #0
bne _02260124
add r0, r1, #4
ldr r0, [r5, r0]
cmp r0, #1
bne _02260124
add r0, r1, #0
sub r0, #0x48
ldr r0, [r5, r0]
sub r1, #0x60
lsl r0, r0, #4
asr r4, r0, #0x10
ldr r0, [r5, r1]
mov r1, #0
lsl r0, r0, #4
asr r6, r0, #0x10
ldr r0, _02260258 ; =0x3FF0A3D7
str r4, [sp]
str r0, [sp, #4]
mov r0, #0x45
lsl r0, r0, #2
add r0, r5, r0
add r2, r1, #0
add r3, r6, #0
str r1, [sp, #8]
bl ov92_02260428
mov r1, #0
ldr r0, _0226025C ; =0x3F4CCCCD
str r4, [sp]
str r0, [sp, #4]
mov r0, #0x32
lsl r0, r0, #4
add r0, r5, r0
add r2, r1, #0
add r3, r6, #0
str r1, [sp, #8]
bl ov92_02260428
cmp r0, #0
beq _02260194
ldr r4, _02260270 ; =ov92_02263C74
add r3, sp, #0x2c
ldmia r4!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r4]
mov r1, #0x4d
str r0, [r3]
add r0, r2, #0
ldr r2, _02260264 ; =0x00001FC8
lsl r1, r1, #4
add r1, r5, r1
add r2, r5, r2
bl MTX_MultVec43
b _02260194
_02260124:
cmp r2, #1
bne _02260194
ldr r1, _02260254 ; =0x00002B88
ldr r0, [r5, r1]
cmp r0, #1
bne _02260194
add r0, r1, #0
sub r0, #0x4c
ldr r0, [r5, r0]
sub r1, #0x64
lsl r0, r0, #4
asr r4, r0, #0x10
ldr r0, [r5, r1]
mov r1, #0
lsl r0, r0, #4
asr r6, r0, #0x10
ldr r0, _02260258 ; =0x3FF0A3D7
str r4, [sp]
str r0, [sp, #4]
mov r0, #0x45
lsl r0, r0, #2
add r0, r5, r0
add r2, r1, #0
add r3, r6, #0
str r1, [sp, #8]
bl ov92_02260428
mov r1, #0
ldr r0, _0226025C ; =0x3F4CCCCD
str r4, [sp]
str r0, [sp, #4]
mov r0, #0x32
lsl r0, r0, #4
add r0, r5, r0
add r2, r1, #0
add r3, r6, #0
str r1, [sp, #8]
bl ov92_02260428
cmp r0, #0
beq _02260194
ldr r4, _02260274 ; =ov92_02263C80
add r3, sp, #0x20
ldmia r4!, {r0, r1}
add r2, r3, #0
stmia r3!, {r0, r1}
ldr r0, [r4]
mov r1, #0x4d
str r0, [r3]
add r0, r2, #0
ldr r2, _02260264 ; =0x00001FC8
lsl r1, r1, #4
add r1, r5, r1
add r2, r5, r2
bl MTX_MultVec43
_02260194:
ldr r1, _02260278 ; =0x00002B90
ldr r0, [r5, r1]
cmp r0, #0
beq _022601AE
sub r0, r1, #4
ldr r0, [r5, r0]
cmp r0, #1
bne _022601AC
sub r1, #8
ldr r0, [r5, r1]
cmp r0, #1
beq _022601AE
_022601AC:
b _02260408
_022601AE:
bl GetLCRNGSeed
add r4, r0, #0
bl LCRandom
add r6, r0, #0
add r0, r4, #0
bl SetLCRNGSeed
add r0, r6, #0
mov r1, #0x64
bl _u32_div_f
ldr r0, _0226027C ; =0x00002AEC
add r4, r1, #0
ldr r0, [r5, r0]
mov r1, #0
lsl r7, r0, #5
ldr r0, _02260280 ; =ov92_02263D88
add r3, r1, #0
ldr r2, [r0, r7]
ldr r0, _02260284 ; =ov92_02263D84
add r0, r0, r7
_022601DC:
cmp r4, r2
blt _022601EE
add r6, r3, r0
ldr r6, [r6, #0xc]
add r1, r1, #1
add r2, r2, r6
add r3, #8
cmp r1, #3
blt _022601DC
_022601EE:
ldr r0, _02260284 ; =ov92_02263D84
lsl r1, r1, #3
add r0, r0, r7
ldr r6, [r1, r0]
ldr r1, _02260264 ; =0x00001FC8
ldr r0, [r5, r1]
add r1, #8
lsl r0, r0, #4
ldr r1, [r5, r1]
asr r7, r0, #0x10
lsl r0, r1, #4
asr r0, r0, #0x10
cmp r1, #0
bne _02260224
bl LCRandom
lsr r1, r0, #0x1f
lsl r0, r0, #0x1f
sub r0, r0, r1
mov r4, #0x1f
ror r0, r4
add r0, r1, r0
beq _02260220
mov r4, #1
b _02260236
_02260220:
sub r4, #0x20
b _02260236
_02260224:
cmp r0, #0
blt _0226022C
mov r0, #1
b _02260230
_0226022C:
mov r0, #0
mvn r0, r0
_02260230:
neg r0, r0
lsl r0, r0, #0x10
asr r4, r0, #0x10
_02260236:
ldr r0, _02260264 ; =0x00001FC8
b _02260288
nop
_0226023C: .word ov92_02263C34
_02260240: .word 0x00002AE0
_02260244: .word 0x00002B6C
_02260248: .word 0x00002B54
_0226024C: .word 0x00002B3C
_02260250: .word 0x00002B24
_02260254: .word 0x00002B88
_02260258: .word 0x3FF0A3D7
_0226025C: .word 0x3F4CCCCD
_02260260: .word ov92_02263C8C
_02260264: .word 0x00001FC8
_02260268: .word 0x00002B22
_0226026C: .word 0x00002B84
_02260270: .word ov92_02263C74
_02260274: .word ov92_02263C80
_02260278: .word 0x00002B90
_0226027C: .word 0x00002AEC
_02260280: .word ov92_02263D88
_02260284: .word ov92_02263D84
_02260288:
ldr r0, [r5, r0]
cmp r0, #0
bne _022602A8
bl LCRandom
lsr r2, r0, #0x1f
lsl r0, r0, #0x1f
sub r0, r0, r2
mov r1, #0x1f
ror r0, r1
add r0, r2, r0
beq _022602A4
mov r1, #1
b _022602C2
_022602A4:
sub r1, #0x20
b _022602C2
_022602A8:
cmp r7, #0
blt _022602B0
mov r1, #1
b _022602B4
_022602B0:
mov r1, #0
mvn r1, r1
_022602B4:
cmp r4, #0
bge _022602C2
mov r0, #0
mvn r0, r0
mul r0, r1
lsl r0, r0, #0x10
asr r1, r0, #0x10
_022602C2:
ldr r0, _0226040C ; =0x00002AEC
ldr r0, [r5, r0]
cmp r0, #0
bne _022602CC
mov r1, #0
_022602CC:
add r0, r6, #0
mul r0, r1
lsl r0, r0, #0x10
asr r7, r0, #0x10
add r0, r6, #0
mul r0, r4
lsl r0, r0, #0x10
asr r6, r0, #0x10
mov r0, #0x14
add r2, r1, #0
mul r2, r0
mul r0, r4
lsl r0, r0, #0x10
asr r4, r0, #0x10
ldr r0, _02260410 ; =0x00002B98
lsl r1, r2, #0x10
strh r7, [r5, r0]
add r0, r0, #2
asr r1, r1, #0x10
strh r6, [r5, r0]
cmp r1, #0
ble _0226030A
lsl r0, r1, #0xc
bl _fflt
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02260318
_0226030A:
lsl r0, r1, #0xc
bl _fflt
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02260318:
bl _ffix
add r2, r0, #0
mov r0, #8
str r0, [sp]
ldr r0, _02260414 ; =0x00002B54
mov r1, #0
add r0, r5, r0
add r3, r1, #0
bl ov92_02260798
cmp r4, #0
ble _02260344
lsl r0, r4, #0xc
bl _fflt
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02260352
_02260344:
lsl r0, r4, #0xc
bl _fflt
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02260352:
bl _ffix
add r2, r0, #0
mov r0, #8
str r0, [sp]
ldr r0, _02260418 ; =0x00002B6C
mov r1, #0
add r0, r5, r0
add r3, r1, #0
bl ov92_02260798
cmp r7, #0
ble _0226037E
lsl r0, r7, #0xc
bl _fflt
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0226038C
_0226037E:
lsl r0, r7, #0xc
bl _fflt
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0226038C:
bl _ffix
add r2, r0, #0
mov r0, #0xc
str r0, [sp]
ldr r0, _0226041C ; =0x00002B24
mov r1, #0
add r0, r5, r0
add r3, r1, #0
bl ov92_02260798
cmp r6, #0
ble _022603B8
lsl r0, r6, #0xc
bl _fflt
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _022603C6
_022603B8:
lsl r0, r6, #0xc
bl _fflt
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_022603C6:
bl _ffix
add r2, r0, #0
mov r0, #0xc
str r0, [sp]
ldr r0, _02260420 ; =0x00002B3C
mov r1, #0
add r0, r5, r0
add r3, r1, #0
bl ov92_02260798
ldr r0, _02260424 ; =0x00002B20
mov r1, #0x16
strh r1, [r5, r0]
mov r1, #0
add r2, r0, #2
strh r1, [r5, r2]
sub r2, r0, #4
strh r7, [r5, r2]
sub r2, r0, #2
strh r6, [r5, r2]
add r2, r0, #0
add r2, #0x64
str r1, [r5, r2]
add r2, r0, #0
add r2, #0x6c
str r1, [r5, r2]
add r2, r0, #0
add r2, #0x68
str r1, [r5, r2]
mov r1, #1
add r0, #0x70
str r1, [r5, r0]
_02260408:
add sp, #0x44
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_0226040C: .word 0x00002AEC
_02260410: .word 0x00002B98
_02260414: .word 0x00002B54
_02260418: .word 0x00002B6C
_0226041C: .word 0x00002B24
_02260420: .word 0x00002B3C
_02260424: .word 0x00002B20
thumb_func_end ov92_0225FF1C
thumb_func_start ov92_02260428
ov92_02260428: ; 0x02260428
push {r4, r5, r6, r7, lr}
sub sp, #0x4c
add r5, r0, #0
ldr r0, [sp, #0x64]
add r4, r1, #0
add r6, r3, #0
add r7, r2, #0
bl _f2d
str r0, [sp, #0x10]
sub r0, r4, r6
str r1, [sp, #4]
bl _dflt
add r2, r0, #0
add r3, r1, #0
ldr r0, _02260610 ; =0x147AE148
ldr r1, _02260614 ; =0x3F7547AE
bl _dmul
add r2, r0, #0
add r3, r1, #0
ldr r0, [sp, #0x10]
ldr r1, [sp, #4]
bl _dmul
bl _d2f
add r6, r0, #0
ldr r0, [sp, #0x64]
bl _f2d
str r0, [sp, #0x14]
ldr r0, [sp, #0x60]
add r4, r1, #0
sub r0, r7, r0
bl _dflt
add r2, r0, #0
add r3, r1, #0
ldr r0, _02260618 ; =0x55555555
ldr r1, _0226061C ; =0x3F755555
bl _dmul
add r2, r0, #0
add r3, r1, #0
ldr r0, [sp, #0x14]
add r1, r4, #0
bl _dmul
bl _d2f
add r4, r0, #0
ldr r0, [sp, #0x68]
cmp r0, #0
beq _022604DC
mov r0, #0x7f
lsl r0, r0, #2
str r6, [r5, r0]
add r1, r0, #4
str r4, [r5, r1]
sub r1, r0, #4
mov r2, #8
str r2, [r5, r1]
sub r0, r0, #4
ldr r0, [r5, r0]
bl _fflt
add r1, r0, #0
mov r0, #0x7f
lsl r0, r0, #2
ldr r0, [r5, r0]
bl _fdiv
mov r1, #0x81
lsl r1, r1, #2
str r0, [r5, r1]
sub r1, #0xc
ldr r0, [r5, r1]
bl _fflt
add r1, r0, #0
mov r0, #2
lsl r0, r0, #8
ldr r0, [r5, r0]
bl _fdiv
mov r1, #0x82
lsl r1, r1, #2
str r0, [r5, r1]
_022604DC:
add r0, r6, #0
add r1, r6, #0
bl _fmul
add r7, r0, #0
add r0, r4, #0
add r1, r4, #0
bl _fmul
add r1, r0, #0
add r0, r7, #0
bl _fadd
mov r1, #0
add r7, r0, #0
bl _fgr
ldr r0, _02260620 ; =0x45800000
bls _02260514
add r1, r7, #0
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02260522
_02260514:
add r1, r7, #0
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02260522:
bl _ffix
bl FX_Sqrt
add r7, r0, #0
bl _fflt
ldr r1, _02260620 ; =0x45800000
bl _fdiv
str r0, [sp, #0x18]
bl _f2d
add r2, r0, #0
mov r0, #0
add r3, r1, #0
add r1, r0, #0
bl _dneq
beq _0226060A
add r0, r7, #0
bl FX_SinFx64c
str r0, [sp, #0x1c]
str r1, [sp, #0xc]
add r0, r7, #0
bl FX_CosFx64c
str r0, [sp, #0x20]
add r7, r1, #0
ldr r0, [sp, #0x1c]
ldr r1, [sp, #0xc]
bl _f_lltof
ldr r1, _02260624 ; =0x4F800000
bl _fdiv
str r0, [sp, #0x24]
ldr r0, [sp, #0x20]
add r1, r7, #0
bl _f_lltof
ldr r1, _02260624 ; =0x4F800000
bl _fdiv
add r7, r0, #0
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x18]
bl _fdiv
str r0, [sp, #0x28]
ldr r1, [sp, #0x28]
add r0, r4, #0
str r7, [sp, #0x3c]
bl _fmul
str r0, [sp, #0x40]
ldr r1, [sp, #0x28]
add r0, r6, #0
bl _fmul
mov r2, #0x19
str r0, [sp, #0x44]
mov r0, #0
lsl r2, r2, #4
str r0, [sp, #0x48]
add r0, r5, r2
add r2, #0x10
add r1, sp, #0x3c
add r2, r5, r2
bl ov92_02263108
mov r1, #0x15
lsl r1, r1, #4
add r0, r5, r1
add r1, #0x40
add r1, r5, r1
bl ov92_022632E8
mov r1, #0x1a
lsl r1, r1, #4
add r0, r5, r1
sub r1, #0x10
add r1, r5, r1
bl ov92_022630F8
mov r1, #0x15
lsl r1, r1, #4
add r0, r5, r1
add r1, #0x60
add r1, r5, r1
bl ov92_02263824
mov r0, #0x19
lsl r0, r0, #4
add r0, r5, r0
bl ov92_0226325C
mov r7, #0x19
lsl r7, r7, #4
add r3, sp, #0x2c
add r4, r5, r7
add r6, r0, #0
add r2, r3, #0
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r4!, {r0, r1}
stmia r3!, {r0, r1}
add r1, r2, #0
add r0, r5, r7
add r2, r6, #0
bl ov92_022632B4
add sp, #0x4c
mov r0, #1
pop {r4, r5, r6, r7, pc}
_0226060A:
mov r0, #0
add sp, #0x4c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02260610: .word 0x147AE148
_02260614: .word 0x3F7547AE
_02260618: .word 0x55555555
_0226061C: .word 0x3F755555
_02260620: .word 0x45800000
_02260624: .word 0x4F800000
thumb_func_end ov92_02260428
thumb_func_start ov92_02260628
ov92_02260628: ; 0x02260628
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
mov r1, #0x7f
lsl r1, r1, #2
add r5, r0, #0
add r0, r1, #4
ldr r4, [r5, r1]
ldr r0, [r5, r0]
add r1, #8
str r0, [sp]
ldr r1, [r5, r1]
add r0, r4, #0
bl _fsub
mov r1, #0x7f
lsl r1, r1, #2
str r0, [r5, r1]
add r0, r1, #4
add r1, #0xc
ldr r0, [r5, r0]
ldr r1, [r5, r1]
bl _fsub
mov r1, #2
lsl r1, r1, #8
str r0, [r5, r1]
add r0, r1, #0
sub r0, #8
ldr r0, [r5, r0]
sub r1, #8
sub r0, r0, #1
str r0, [r5, r1]
add r0, r4, #0
add r1, r4, #0
bl _fmul
add r6, r0, #0
ldr r0, [sp]
add r1, r0, #0
bl _fmul
add r1, r0, #0
add r0, r6, #0
bl _fadd
mov r1, #0
add r6, r0, #0
bl _fgr
ldr r0, _02260774 ; =0x45800000
bls _022606A0
add r1, r6, #0
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _022606AE
_022606A0:
add r1, r6, #0
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_022606AE:
bl _ffix
bl FX_Sqrt
add r6, r0, #0
bl _fflt
ldr r1, _02260774 ; =0x45800000
bl _fdiv
str r0, [sp, #4]
bl _f2d
add r2, r0, #0
mov r0, #0
add r3, r1, #0
add r1, r0, #0
bl _dneq
beq _0226076E
add r0, r6, #0
bl FX_SinFx64c
str r0, [sp, #8]
add r0, r6, #0
add r7, r1, #0
bl FX_CosFx64c
str r0, [sp, #0xc]
add r6, r1, #0
ldr r0, [sp, #8]
add r1, r7, #0
bl _f_lltof
ldr r1, _02260778 ; =0x4F800000
bl _fdiv
add r7, r0, #0
ldr r0, [sp, #0xc]
add r1, r6, #0
bl _f_lltof
ldr r1, _02260778 ; =0x4F800000
bl _fdiv
add r6, r0, #0
ldr r1, [sp, #4]
add r0, r7, #0
bl _fdiv
add r7, r0, #0
ldr r0, [sp]
add r1, r7, #0
str r6, [sp, #0x10]
bl _fmul
str r0, [sp, #0x14]
add r0, r4, #0
add r1, r7, #0
bl _fmul
mov r2, #0x19
str r0, [sp, #0x18]
mov r0, #0
lsl r2, r2, #4
str r0, [sp, #0x1c]
add r0, r5, r2
add r2, #0x10
add r1, sp, #0x10
add r2, r5, r2
bl ov92_02263108
mov r1, #0x15
lsl r1, r1, #4
add r0, r5, r1
add r1, #0x40
add r1, r5, r1
bl ov92_022632E8
mov r1, #0x1a
lsl r1, r1, #4
add r0, r5, r1
sub r1, #0x10
add r1, r5, r1
bl ov92_022630F8
mov r1, #0x15
lsl r1, r1, #4
add r0, r5, r1
add r1, #0x60
add r1, r5, r1
bl ov92_02263824
add sp, #0x20
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_0226076E:
mov r0, #0
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02260774: .word 0x45800000
_02260778: .word 0x4F800000
thumb_func_end ov92_02260628
thumb_func_start ov92_0226077C
ov92_0226077C: ; 0x0226077C
mov r3, #0
_0226077E:
add r2, r0, #0
add r2, #0xbc
ldr r2, [r2]
cmp r1, r2
bne _0226078C
add r0, r3, #0
bx lr
_0226078C:
add r3, r3, #1
add r0, r0, #4
cmp r3, #4
blt _0226077E
mov r0, #0xff
bx lr
thumb_func_end ov92_0226077C
thumb_func_start ov92_02260798
ov92_02260798: ; 0x02260798
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 ov92_02260798
thumb_func_start ov92_022607F8
ov92_022607F8: ; 0x022607F8
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 _02260858
str r0, [r5, #0x10]
mov r0, #0
pop {r4, r5, r6, pc}
_02260858:
str r1, [r5, #0x10]
mov r0, #1
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov92_022607F8
thumb_func_start ov92_02260860
ov92_02260860: ; 0x02260860
str r1, [r0]
str r1, [r0, #4]
sub r1, r2, r1
str r1, [r0, #0xc]
mov r1, #0
str r1, [r0, #0x10]
str r3, [r0, #0x14]
bx lr
thumb_func_end ov92_02260860
thumb_func_start ov92_02260870
ov92_02260870: ; 0x02260870
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r2, [r5, #0x14]
ldr r0, [r5, #0x10]
cmp r0, r2
blt _02260880
mov r4, #1
b _02260888
_02260880:
add r2, r0, #0
add r0, r0, #1
str r0, [r5, #0x10]
mov r4, #0
_02260888:
ldr r0, [r5, #0xc]
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
ldr r1, [r5, #0x14]
lsl r1, r1, #0xc
bl FX_Div
ldr r1, [r5, #4]
add r0, r0, r1
str r0, [r5]
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov92_02260870
thumb_func_start ov92_022608B8
ov92_022608B8: ; 0x022608B8
push {r4, r5, r6, r7, lr}
sub sp, #0x74
ldr r3, _02260A28 ; =ov92_02263E70
add r6, r0, #0
mov r0, #1
str r1, [sp, #4]
str r0, [sp, #0x18]
add r2, sp, #0x3c
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 r3, _02260A2C ; =ov92_02263E88
add r2, sp, #0x24
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
bl IsPaletteFadeFinished
cmp r0, #0
beq _022608FA
ldr r0, [sp, #4]
add r0, #0xa4
ldr r0, [r0]
add r0, #0x34
ldrb r0, [r0]
cmp r0, #1
bne _0226091C
_022608FA:
ldr r5, [sp, #4]
mov r4, #0
_022608FE:
ldr r0, [r5, #8]
bl sub_0200D9DC
add r4, r4, #1
add r5, r5, #4
cmp r4, #3
blt _022608FE
ldr r0, [sp, #4]
mov r1, #0
str r1, [r0]
add r0, r6, #0
bl DestroySysTask
add sp, #0x74
pop {r4, r5, r6, r7, pc}
_0226091C:
ldr r0, [sp, #4]
ldr r0, [r0, #4]
cmp r0, #0
beq _0226092A
cmp r0, #1
beq _02260994
b _02260A06
_0226092A:
mov r0, #0
str r0, [sp, #8]
ldr r0, [sp, #4]
add r7, sp, #0x3c
add r6, r0, #0
add r5, r0, #0
str r0, [sp, #0x10]
add r6, #0x14
add r4, sp, #0x24
add r5, #0x2c
_0226093E:
ldr r0, [sp, #0x10]
add r1, sp, #0x20
ldr r0, [r0, #8]
add r2, sp, #0x1c
bl UnkImageStruct_GetSpritePositionXY_NoBottomScreenCorrection
ldr r1, [sp, #0x20]
mov r0, #8
str r0, [sp]
ldr r2, [r7]
ldr r3, _02260A30 ; =0x000004CD
add r0, r6, #0
add r2, r1, r2
bl ov92_02260798
ldr r1, [sp, #0x1c]
mov r0, #8
str r0, [sp]
ldr r2, [r4]
ldr r3, _02260A34 ; =0x00000333
add r0, r5, #0
add r2, r1, r2
bl ov92_02260798
ldr r0, [sp, #0x10]
add r7, r7, #4
add r0, r0, #4
str r0, [sp, #0x10]
ldr r0, [sp, #8]
add r6, #0x30
add r0, r0, #1
add r4, r4, #4
add r5, #0x30
str r0, [sp, #8]
cmp r0, #3
blt _0226093E
ldr r0, [sp, #4]
ldr r0, [r0, #4]
add r1, r0, #1
ldr r0, [sp, #4]
add sp, #0x74
str r1, [r0, #4]
pop {r4, r5, r6, r7, pc}
_02260994:
mov r0, #0
str r0, [sp, #0xc]
ldr r0, [sp, #4]
ldr r7, [sp, #4]
ldr r6, [sp, #4]
str r0, [sp, #0x14]
add r0, #0x14
str r0, [sp, #0x14]
add r4, sp, #0x54
add r7, #0x2c
add r5, r6, #0
_022609AA:
ldr r0, [sp, #0x14]
bl ov92_022607F8
str r0, [r4]
add r0, r7, #0
bl ov92_022607F8
str r0, [r4, #4]
ldr r0, [r5, #8]
ldr r1, [r6, #0x14]
ldr r2, [r6, #0x2c]
bl UnkImageStruct_SetSpritePrecisePositionXY_NoBottomScreenCorrection
ldr r0, [r4]
cmp r0, #0
beq _022609D0
ldr r0, [r4, #4]
cmp r0, #0
bne _022609D4
_022609D0:
mov r0, #0
str r0, [sp, #0x18]
_022609D4:
ldr r0, [r5, #8]
bl UnkImageStruct_TickSpriteAnimation1Frame
ldr r0, [sp, #0x14]
add r4, #8
add r0, #0x30
str r0, [sp, #0x14]
ldr r0, [sp, #0xc]
add r7, #0x30
add r0, r0, #1
add r6, #0x30
add r5, r5, #4
str r0, [sp, #0xc]
cmp r0, #3
blt _022609AA
ldr r0, [sp, #0x18]
cmp r0, #0
beq _02260A24
ldr r0, [sp, #4]
ldr r0, [r0, #4]
add r1, r0, #1
ldr r0, [sp, #4]
add sp, #0x74
str r1, [r0, #4]
pop {r4, r5, r6, r7, pc}
_02260A06:
ldr r4, [sp, #4]
mov r5, #0
_02260A0A:
ldr r0, [r4, #8]
bl sub_0200D9DC
add r5, r5, #1
add r4, r4, #4
cmp r5, #3
blt _02260A0A
ldr r0, [sp, #4]
mov r1, #0
str r1, [r0]
add r0, r6, #0
bl DestroySysTask
_02260A24:
add sp, #0x74
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02260A28: .word ov92_02263E70
_02260A2C: .word ov92_02263E88
_02260A30: .word 0x000004CD
_02260A34: .word 0x00000333
thumb_func_end ov92_022608B8
thumb_func_start ov92_02260A38
ov92_02260A38: ; 0x02260A38
push {r4, r5, r6, r7, lr}
sub sp, #0x14
str r0, [sp]
str r1, [sp, #4]
ldr r3, [sp]
ldr r1, _02260AD0 ; =0x00002490
add r5, r2, #0
mov r0, #0
_02260A48:
ldr r2, [r3, r1]
cmp r2, #1
beq _02260AC4
mov r1, #0xa8
mul r1, r0
str r1, [sp, #0xc]
ldr r1, [sp]
mov r7, #0
ldr r3, [r1, #0x14]
add r2, r1, #0
ldr r1, [sp, #0xc]
add r6, r7, #0
add r4, r2, r1
ldr r2, _02260AD4 ; =0x00002534
add r1, r2, #0
str r3, [r4, r2]
sub r1, #0xa0
str r7, [r4, r1]
ldr r1, [sp]
sub r2, #0xa4
add r1, r1, r2
str r1, [sp, #0x10]
add r2, r1, #0
ldr r1, [sp, #0xc]
mov r3, #1
str r3, [r2, r1]
add r1, r0, #1
ldr r0, [sp, #4]
mul r1, r0
str r1, [sp, #8]
_02260A84:
ldr r0, [sp]
ldr r1, [sp, #4]
add r2, r5, #0
bl ov92_0225E7E4
ldr r1, _02260AD8 ; =0x00002498
str r0, [r4, r1]
ldr r0, [sp, #8]
add r1, r6, r5
add r0, r0, r1
mov r1, #3
bl _s32_div_f
ldr r0, _02260AD8 ; =0x00002498
ldr r0, [r4, r0]
bl UnkImageStruct_SetSpriteAnimSeqNo
add r7, r7, #1
add r4, r4, #4
add r6, r6, r5
cmp r7, #3
blt _02260A84
ldr r2, [sp, #0x10]
ldr r1, [sp, #0xc]
ldr r0, _02260ADC ; =ov92_022608B8
add r1, r2, r1
mov r2, #1
lsl r2, r2, #0xc
bl CreateSysTask
add sp, #0x14
pop {r4, r5, r6, r7, pc}
_02260AC4:
add r0, r0, #1
add r3, #0xa8
cmp r0, #8
blt _02260A48
add sp, #0x14
pop {r4, r5, r6, r7, pc}
.balign 4, 0
_02260AD0: .word 0x00002490
_02260AD4: .word 0x00002534
_02260AD8: .word 0x00002498
_02260ADC: .word ov92_022608B8
thumb_func_end ov92_02260A38
thumb_func_start ov92_02260AE0
ov92_02260AE0: ; 0x02260AE0
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r4, r0, #0
ldr r0, [r1]
str r1, [sp]
ldr r5, [r0, #0x14]
bl IsPaletteFadeFinished
cmp r0, #0
beq _02260AFC
add r5, #0x34
ldrb r0, [r5]
cmp r0, #1
bne _02260B14
_02260AFC:
ldr r0, [sp]
mov r1, #0
ldr r0, [r0, #0x10]
str r1, [r0]
add r0, r4, #0
bl DestroySysTask
ldr r0, [sp]
bl FreeToHeap
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
_02260B14:
ldr r0, [sp]
ldr r0, [r0, #4]
cmp r0, #0
beq _02260B28
cmp r0, #1
beq _02260B36
cmp r0, #2
bne _02260B26
b _02260D86
_02260B26:
b _022610BE
_02260B28:
ldr r0, [sp]
mov r1, #0
str r1, [r0, #0xc]
ldr r0, [r0, #4]
add r1, r0, #1
ldr r0, [sp]
str r1, [r0, #4]
_02260B36:
ldr r3, _02260E74 ; =ov92_02263E5C
add r2, sp, #0x1c
mov r1, #0xa
_02260B3C:
ldrh r0, [r3]
add r3, r3, #2
strh r0, [r2]
add r2, r2, #2
sub r1, r1, #1
bne _02260B3C
ldr r0, [sp]
mov r5, #0
ldr r0, [r0, #0xc]
mov r6, #0x3f
lsl r1, r0, #2
add r0, sp, #0x1c
ldrsh r0, [r0, r1]
str r5, [sp, #0xc]
lsl r6, r6, #0x18
str r0, [sp, #0x18]
add r0, sp, #0x1c
add r0, #2
ldrsh r0, [r0, r1]
str r0, [sp, #0x14]
ldr r0, [sp]
str r5, [r0, #8]
add r4, r0, #0
ldr r0, [sp, #0x18]
lsl r0, r0, #0xc
str r0, [sp, #8]
ldr r0, [sp, #0x14]
lsl r0, r0, #0xc
str r0, [sp, #4]
_02260B76:
lsr r2, r5, #0x1f
lsl r1, r5, #0x1f
sub r1, r1, r2
mov r0, #0x1f
ror r1, r0
add r0, r4, #0
add r1, r2, r1
add r0, #0x3a
strb r1, [r0]
add r0, r5, #0
mov r1, #3
bl _s32_div_f
add r7, r1, #0
mov r0, #6
sub r0, r0, r7
lsl r0, r0, #0x10
asr r1, r0, #0x10
add r0, r4, #0
add r0, #0x42
strh r1, [r0]
add r0, r4, #0
add r0, #0x44
strh r1, [r0]
ldr r0, [sp]
ldr r1, [r0]
ldr r0, [sp, #0xc]
add r0, r1, r0
ldr r0, [r0, #0x40]
mov r1, #3
str r0, [r4, #0x14]
add r0, r5, #0
bl _s32_div_f
mov r1, #0x1e
mul r1, r0
str r1, [r4, #0x3c]
add r0, r1, #0
mov r1, #0x5a
lsl r1, r1, #2
bl _s32_div_f
str r1, [r4, #0x3c]
add r1, r4, #0
add r1, #0x40
mov r0, #0
strh r0, [r1]
lsl r0, r7, #1
neg r1, r0
add r0, r4, #0
add r0, #0x46
strh r1, [r0]
ldr r0, [sp, #0x18]
cmp r0, #0
beq _02260BF4
ldr r0, [sp, #8]
bl _ffltu
add r1, r0, #0
add r0, r6, #0
bl _fadd
b _02260C00
_02260BF4:
ldr r0, [sp, #8]
bl _ffltu
add r1, r6, #0
bl _fsub
_02260C00:
bl _ffix
str r0, [r4, #0x20]
ldr r0, [sp, #0x14]
cmp r0, #0
beq _02260C1C
ldr r0, [sp, #4]
bl _ffltu
add r1, r0, #0
add r0, r6, #0
bl _fadd
b _02260C28
_02260C1C:
ldr r0, [sp, #4]
bl _ffltu
add r1, r6, #0
bl _fsub
_02260C28:
bl _ffix
str r0, [r4, #0x24]
mov r0, #0
str r0, [r4, #0x30]
str r0, [r4, #0x34]
str r0, [r4, #0x18]
str r0, [r4, #0x1c]
str r0, [r4, #0x28]
add r1, r4, #0
str r0, [r4, #0x2c]
add r1, #0x38
strb r0, [r1]
add r1, r4, #0
add r1, #0x39
mov r0, #1
strb r0, [r1]
add r1, r4, #0
add r1, #0x3b
mov r0, #0
strb r0, [r1]
ldr r0, [r4, #0x3c]
cmp r0, #0xb4
bne _02260C60
add r1, r4, #0
add r1, #0x38
mov r0, #2
strb r0, [r1]
_02260C60:
ldr r1, [r4, #0x3c]
ldr r0, _02260E78 ; =0x0000010E
cmp r1, r0
blt _02260C74
cmp r1, #0x5a
bgt _02260C74
add r1, r4, #0
add r1, #0x38
mov r0, #1
strb r0, [r1]
_02260C74:
mov r0, #0x42
ldrsh r0, [r4, r0]
cmp r0, #0
ble _02260C8C
lsl r0, r0, #0xc
bl _fflt
add r1, r0, #0
add r0, r6, #0
bl _fadd
b _02260C98
_02260C8C:
lsl r0, r0, #0xc
bl _fflt
add r1, r6, #0
bl _fsub
_02260C98:
bl _ffix
add r7, r0, #0
ldr r0, [r4, #0x3c]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl GF_SinDeg
asr r1, r0, #0x1f
asr r3, r7, #0x1f
add r2, r7, #0
bl _ll_mul
mov r2, #2
lsl r2, r2, #0xa
add r2, r0, r2
ldr r0, _02260E7C ; =0x00000000
adc r1, r0
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
str r1, [r4, #0x30]
mov r0, #0x44
ldrsh r0, [r4, r0]
cmp r0, #0
ble _02260CDC
lsl r0, r0, #0xc
bl _fflt
add r1, r0, #0
add r0, r6, #0
bl _fadd
b _02260CE8
_02260CDC:
lsl r0, r0, #0xc
bl _fflt
add r1, r6, #0
bl _fsub
_02260CE8:
bl _ffix
add r7, r0, #0
ldr r0, [r4, #0x3c]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl GF_CosDeg
asr r1, r0, #0x1f
asr r3, r7, #0x1f
add r2, r7, #0
bl _ll_mul
mov r2, #2
lsl r2, r2, #0xa
add r2, r0, r2
ldr r0, _02260E7C ; =0x00000000
adc r1, r0
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
str r1, [r4, #0x34]
mov r0, #0x40
ldrsh r0, [r4, r0]
cmp r0, #0
ble _02260D2C
lsl r0, r0, #0xc
bl _fflt
add r1, r0, #0
add r0, r6, #0
bl _fadd
b _02260D38
_02260D2C:
lsl r0, r0, #0xc
bl _fflt
add r1, r6, #0
bl _fsub
_02260D38:
bl _ffix
ldr r1, [r4, #0x1c]
add r0, r1, r0
str r0, [r4, #0x1c]
ldr r2, [r4, #0x28]
ldr r1, [r4, #0x20]
mov ip, r0
add r1, r2, r1
ldr r7, [r4, #0x30]
ldr r3, [r4, #0x18]
add r1, r7, r1
add r1, r3, r1
ldr r3, [r4, #0x2c]
ldr r2, [r4, #0x24]
ldr r7, [r4, #0x34]
add r2, r3, r2
add r2, r7, r2
mov r3, ip
add r2, r3, r2
mov r3, #0xe
ldr r0, [r4, #0x14]
lsl r3, r3, #0x10
bl UnkImageStruct_SetSpritePrecisePositionXY
ldr r0, [sp, #0xc]
add r5, r5, #1
add r0, r0, #4
add r4, #0x34
str r0, [sp, #0xc]
cmp r5, #0x24
bge _02260D7A
b _02260B76
_02260D7A:
ldr r0, [sp]
ldr r0, [r0, #4]
add r1, r0, #1
ldr r0, [sp]
str r1, [r0, #4]
b _022610D6
_02260D86:
ldr r0, [sp]
ldr r0, [r0, #8]
cmp r0, #0
bne _02260DA4
add r1, r0, #1
ldr r0, [sp]
mov r2, #0
str r1, [r0, #8]
ldr r0, [r0]
mov r1, #1
bl ov92_0225DF0C
ldr r0, _02260E80 ; =0x0000058B
bl PlaySE
_02260DA4:
ldr r0, [sp]
ldr r0, [r0, #8]
cmp r0, #0x1e
ble _02260DD0
ldr r0, [sp]
mov r1, #1
str r1, [r0, #4]
ldr r0, [r0, #0xc]
ldr r1, [sp]
add r0, r0, #1
str r0, [r1, #0xc]
mov r1, #5
bl _s32_div_f
ldr r0, [sp]
mov r2, #1
str r1, [r0, #0xc]
ldr r0, [r0]
mov r1, #0
bl ov92_0225DF0C
b _022610A8
_02260DD0:
add r1, r0, #1
ldr r0, [sp]
mov r4, #0x3f
str r1, [r0, #8]
mov r0, #0
ldr r5, [sp]
str r0, [sp, #0x10]
lsl r4, r4, #0x18
_02260DE0:
mov r0, #0x46
ldrsh r0, [r5, r0]
add r1, r0, #1
add r0, r5, #0
add r0, #0x46
strh r1, [r0]
mov r0, #0x46
ldrsh r1, [r5, r0]
cmp r1, #0
bge _02260DF6
b _0226109A
_02260DF6:
add r0, r5, #0
add r0, #0x3a
ldrb r0, [r0]
add r0, #0xa
cmp r1, r0
blt _02260EAE
cmp r1, r0
bne _02260E0E
ldr r0, [r5, #0x14]
mov r1, #0
bl UnkImageStruct_SetSpriteAnimSeqNo
_02260E0E:
mov r0, #0x46
ldrsh r1, [r5, r0]
add r0, r5, #0
add r0, #0x3a
ldrb r0, [r0]
add r0, #0x12
cmp r1, r0
bne _02260E28
add r1, r5, #0
add r1, #0x39
mov r0, #0
strb r0, [r1]
b _02260E46
_02260E28:
lsr r2, r1, #0x1f
lsl r1, r1, #0x1f
sub r1, r1, r2
mov r0, #0x1f
ror r1, r0
add r0, r2, r1
beq _02260E46
add r0, r5, #0
add r0, #0x39
ldrb r1, [r0]
mov r0, #1
eor r1, r0
add r0, r5, #0
add r0, #0x39
strb r1, [r0]
_02260E46:
add r1, r5, #0
add r1, #0x39
ldrb r1, [r1]
ldr r0, [r5, #0x14]
bl UnkImageStruct_SetSpriteVisibleFlag
add r0, r5, #0
add r0, #0x3b
ldrb r0, [r0]
cmp r0, #0
beq _02260E66
cmp r0, #1
beq _02260E6C
cmp r0, #2
beq _02260E88
b _02260E8E
_02260E66:
ldr r0, _02260E84 ; =0xFFFFF000
str r0, [r5, #0x28]
b _02260E8E
_02260E6C:
mov r0, #0
str r0, [r5, #0x28]
b _02260E8E
nop
_02260E74: .word ov92_02263E5C
_02260E78: .word 0x0000010E
_02260E7C: .word 0x00000000
_02260E80: .word 0x0000058B
_02260E84: .word 0xFFFFF000
_02260E88:
mov r0, #1
lsl r0, r0, #0xc
str r0, [r5, #0x28]
_02260E8E:
add r0, r5, #0
add r0, #0x3b
ldrb r0, [r0]
add r1, r0, #1
add r0, r5, #0
add r0, #0x3b
strb r1, [r0]
add r0, r5, #0
add r0, #0x3b
ldrb r0, [r0]
mov r1, #3
bl _s32_div_f
add r0, r5, #0
add r0, #0x3b
strb r1, [r0]
_02260EAE:
mov r0, #0x46
ldrsh r1, [r5, r0]
cmp r1, #5
ble _02260EF6
add r0, r5, #0
add r0, #0x38
ldrb r0, [r0]
cmp r0, #0
beq _02260EE8
cmp r0, #1
beq _02260ED8
cmp r0, #2
bne _02260EF6
add r0, r1, #5
mov r1, #6
bl _s32_div_f
add r1, r5, #0
add r1, #0x40
strh r0, [r1]
b _02260EF6
_02260ED8:
add r0, r1, #5
mov r1, #6
bl _s32_div_f
add r1, r5, #0
add r1, #0x40
strh r0, [r1]
b _02260EF6
_02260EE8:
add r0, r1, #5
mov r1, #7
bl _s32_div_f
add r1, r5, #0
add r1, #0x40
strh r0, [r1]
_02260EF6:
add r0, r5, #0
add r0, #0x38
ldrb r0, [r0]
cmp r0, #0
beq _02260F54
cmp r0, #1
beq _02260F2E
cmp r0, #2
bne _02260F2E
mov r0, #0x46
ldrsh r0, [r5, r0]
mov r1, #0x1e
add r2, r0, #5
sub r2, r1, r2
asr r1, r2, #2
lsr r1, r1, #0x1d
add r1, r2, r1
add r2, r0, #7
mov r0, #0x1e
sub r2, r0, r2
asr r0, r2, #2
lsr r0, r0, #0x1d
add r0, r2, r0
lsl r1, r1, #0xd
lsl r0, r0, #0xd
asr r1, r1, #0x10
asr r0, r0, #0x10
b _02260F78
_02260F2E:
mov r0, #0x46
ldrsh r0, [r5, r0]
mov r1, #0x1e
add r2, r0, #5
sub r2, r1, r2
asr r1, r2, #2
lsr r1, r1, #0x1d
add r1, r2, r1
add r2, r0, #6
mov r0, #0x1e
sub r2, r0, r2
asr r0, r2, #2
lsr r0, r0, #0x1d
add r0, r2, r0
lsl r1, r1, #0xd
lsl r0, r0, #0xd
asr r1, r1, #0x10
asr r0, r0, #0x10
b _02260F78
_02260F54:
mov r0, #0x46
ldrsh r0, [r5, r0]
mov r1, #0x1e
add r2, r0, #5
sub r2, r1, r2
asr r1, r2, #2
lsr r1, r1, #0x1d
add r1, r2, r1
add r2, r0, #4
mov r0, #0x1e
sub r2, r0, r2
asr r0, r2, #2
lsr r0, r0, #0x1d
add r0, r2, r0
lsl r1, r1, #0xd
lsl r0, r0, #0xd
asr r1, r1, #0x10
asr r0, r0, #0x10
_02260F78:
cmp r1, #0
ble _02260F84
mov r2, #0x42
ldrsh r2, [r5, r2]
add r2, r2, r1
b _02260F8A
_02260F84:
mov r1, #0x42
ldrsh r1, [r5, r1]
add r2, r1, #1
_02260F8A:
add r1, r5, #0
add r1, #0x42
strh r2, [r1]
cmp r0, #0
ble _02260F9C
mov r1, #0x44
ldrsh r1, [r5, r1]
add r1, r1, r0
b _02260FA2
_02260F9C:
mov r0, #0x44
ldrsh r0, [r5, r0]
add r1, r0, #1
_02260FA2:
add r0, r5, #0
add r0, #0x44
strh r1, [r0]
mov r0, #0x42
ldrsh r0, [r5, r0]
cmp r0, #0
ble _02260FC0
lsl r0, r0, #0xc
bl _fflt
add r1, r0, #0
add r0, r4, #0
bl _fadd
b _02260FCC
_02260FC0:
lsl r0, r0, #0xc
bl _fflt
add r1, r4, #0
bl _fsub
_02260FCC:
bl _ffix
add r6, r0, #0
ldr r0, [r5, #0x3c]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl GF_SinDeg
asr r1, r0, #0x1f
asr r3, r6, #0x1f
add r2, r6, #0
bl _ll_mul
mov r2, #2
lsl r2, r2, #0xa
add r2, r0, r2
ldr r0, _022610E4 ; =0x00000000
adc r1, r0
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
str r1, [r5, #0x30]
mov r0, #0x44
ldrsh r0, [r5, r0]
cmp r0, #0
ble _02261010
lsl r0, r0, #0xc
bl _fflt
add r1, r0, #0
add r0, r4, #0
bl _fadd
b _0226101C
_02261010:
lsl r0, r0, #0xc
bl _fflt
add r1, r4, #0
bl _fsub
_0226101C:
bl _ffix
add r6, r0, #0
ldr r0, [r5, #0x3c]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl GF_CosDeg
asr r1, r0, #0x1f
asr r3, r6, #0x1f
add r2, r6, #0
bl _ll_mul
mov r2, #2
lsl r2, r2, #0xa
add r2, r0, r2
ldr r0, _022610E4 ; =0x00000000
adc r1, r0
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
str r1, [r5, #0x34]
mov r0, #0x40
ldrsh r0, [r5, r0]
cmp r0, #0
ble _02261060
lsl r0, r0, #0xc
bl _fflt
add r1, r0, #0
add r0, r4, #0
bl _fadd
b _0226106C
_02261060:
lsl r0, r0, #0xc
bl _fflt
add r1, r4, #0
bl _fsub
_0226106C:
bl _ffix
ldr r1, [r5, #0x1c]
add r7, r1, r0
str r7, [r5, #0x1c]
ldr r2, [r5, #0x28]
ldr r1, [r5, #0x20]
ldr r3, [r5, #0x30]
add r1, r2, r1
add r1, r3, r1
ldr r6, [r5, #0x18]
ldr r3, [r5, #0x2c]
ldr r2, [r5, #0x24]
add r1, r6, r1
add r2, r3, r2
ldr r6, [r5, #0x34]
mov r3, #0xe
add r2, r6, r2
ldr r0, [r5, #0x14]
add r2, r7, r2
lsl r3, r3, #0x10
bl UnkImageStruct_SetSpritePrecisePositionXY
_0226109A:
ldr r0, [sp, #0x10]
add r5, #0x34
add r0, r0, #1
str r0, [sp, #0x10]
cmp r0, #0x24
bge _022610A8
b _02260DE0
_022610A8:
ldr r0, [sp]
ldr r0, [r0, #0x10]
ldr r0, [r0]
cmp r0, #0
beq _022610D6
ldr r0, [sp]
ldr r0, [r0, #4]
add r1, r0, #1
ldr r0, [sp]
str r1, [r0, #4]
b _022610D6
_022610BE:
ldr r0, [sp]
mov r1, #0
ldr r0, [r0]
add r2, r1, #0
bl ov92_0225DF0C
ldr r0, [sp]
bl FreeToHeap
add r0, r4, #0
bl DestroySysTask
_022610D6:
ldr r0, [sp]
ldr r0, [r0]
bl ov92_0225DF28
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
nop
_022610E4: .word 0x00000000
thumb_func_end ov92_02260AE0
thumb_func_start ov92_022610E8
ov92_022610E8: ; 0x022610E8
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
ldr r1, _02261110 ; =0x00000764
mov r0, #0x71
bl AllocFromHeap
add r1, r0, #0
mov r2, #1
str r5, [r1]
mov r0, #0
str r0, [r1, #4]
str r0, [r1, #8]
ldr r0, _02261114 ; =ov92_02260AE0
lsl r2, r2, #0xc
str r4, [r1, #0x10]
bl CreateSysTask
pop {r3, r4, r5, pc}
nop
_02261110: .word 0x00000764
_02261114: .word ov92_02260AE0
thumb_func_end ov92_022610E8
thumb_func_start ov92_02261118
ov92_02261118: ; 0x02261118
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
ldr r1, [r4, #4]
ldr r0, [r4, #8]
ldr r5, [r4, #0xc]
ldr r6, [r4, #0x14]
ldr r7, [r4, #0x10]
cmp r1, #0
beq _02261206
ldr r1, [r4]
cmp r1, #3
bhi _022611FA
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0226113C: ; jump table
.short _02261144 - _0226113C - 2 ; case 0
.short _0226118A - _0226113C - 2 ; case 1
.short _0226119C - _0226113C - 2 ; case 2
.short _022611B4 - _0226113C - 2 ; case 3
_02261144:
ldr r0, [r5]
cmp r0, #4
bge _02261150
add r0, r0, #1
str r0, [r5]
b _0226115A
_02261150:
mov r0, #4
str r0, [r5]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
_0226115A:
mov r1, #0
str r1, [sp]
ldr r4, [r5]
ldr r3, [r6]
add r0, r7, #0
add r3, r4, r3
lsl r3, r3, #0x18
mov r2, #1
lsr r3, r3, #0x18
bl sub_02003EA4
mov r0, #0
str r0, [sp]
mov r1, #1
ldr r4, [r5]
ldr r3, [r6]
add r0, r7, #0
add r3, r4, r3
lsl r3, r3, #0x18
add r2, r1, #0
lsr r3, r3, #0x18
bl sub_02003EA4
pop {r3, r4, r5, r6, r7, pc}
_0226118A:
mov r1, #1
bl sub_020182A0
mov r0, #0
str r0, [r4, #0x28]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
pop {r3, r4, r5, r6, r7, pc}
_0226119C:
ldr r0, [r4, #0x50]
cmp r0, #1
bne _02261206
ldr r0, [r4, #0x28]
add r0, r0, #1
str r0, [r4, #0x28]
cmp r0, #0xf
blt _02261206
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
pop {r3, r4, r5, r6, r7, pc}
_022611B4:
ldr r0, [r5]
cmp r0, #0
ble _022611C0
sub r0, r0, #1
str r0, [r5]
b _022611CA
_022611C0:
mov r0, #0
str r0, [r5]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
_022611CA:
mov r1, #0
str r1, [sp]
ldr r4, [r5]
ldr r3, [r6]
add r0, r7, #0
add r3, r4, r3
lsl r3, r3, #0x18
mov r2, #1
lsr r3, r3, #0x18
bl sub_02003EA4
mov r0, #0
str r0, [sp]
mov r1, #1
ldr r4, [r5]
ldr r3, [r6]
add r0, r7, #0
add r3, r4, r3
lsl r3, r3, #0x18
add r2, r1, #0
lsr r3, r3, #0x18
bl sub_02003EA4
pop {r3, r4, r5, r6, r7, pc}
_022611FA:
mov r1, #0
str r1, [r4, #0x50]
str r1, [r4, #4]
str r1, [r4]
bl sub_020182A0
_02261206:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov92_02261118
thumb_func_start ov92_02261208
ov92_02261208: ; 0x02261208
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x30
add r5, r0, #0
ldr r0, _02261354 ; =ov92_02263E04
add r3, sp, #0x20
ldrh r1, [r0]
add r6, sp, #0x14
ldr r2, _02261358 ; =ov92_02263E3C
strh r1, [r6, #4]
ldrh r1, [r0, #2]
add r4, r3, #0
add r7, sp, #0x18
strh r1, [r6, #6]
ldrh r1, [r0, #4]
ldrh r0, [r0, #6]
strh r1, [r6, #8]
strh r0, [r6, #0xa]
ldmia r2!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r2!, {r0, r1}
stmia r3!, {r0, r1}
ldr r0, [r5, #4]
cmp r0, #0
bne _0226123A
b _0226134E
_0226123A:
ldr r0, [r5]
cmp r0, #0
beq _0226124A
cmp r0, #1
beq _022612BA
cmp r0, #2
beq _022612D2
b _02261332
_0226124A:
mov r0, #0
str r0, [sp, #0x10]
str r5, [sp, #8]
_02261250:
ldr r0, [sp, #8]
ldr r0, [r0, #8]
str r0, [sp, #0xc]
cmp r0, #0
beq _02261284
add r1, sp, #0x14
add r1, #2
add r2, sp, #0x14
bl UnkImageStruct_GetSpritePositionXY
mov r0, #0
ldrsh r1, [r6, r0]
ldrsh r0, [r7, r0]
cmp r1, r0
ble _02261284
sub r0, r1, #6
strh r0, [r6]
mov r1, #2
mov r2, #0
ldrsh r1, [r6, r1]
ldrsh r2, [r6, r2]
ldr r0, [sp, #0xc]
bl UnkImageStruct_SetSpritePositionXY
mov r0, #0
str r0, [r4]
_02261284:
ldr r0, [sp, #8]
add r7, r7, #2
add r0, r0, #4
str r0, [sp, #8]
ldr r0, [sp, #0x10]
add r4, r4, #4
add r0, r0, #1
str r0, [sp, #0x10]
cmp r0, #4
blt _02261250
ldr r0, [sp, #0x20]
cmp r0, #0
beq _0226133A
ldr r0, [sp, #0x24]
cmp r0, #0
beq _0226133A
ldr r0, [sp, #0x28]
cmp r0, #0
beq _0226133A
beq _0226133A
mov r0, #0
str r0, [r5, #0x28]
str r0, [r5, #0x50]
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0226133A
_022612BA:
ldr r0, [r5, #0x50]
cmp r0, #1
bne _0226133A
ldr r0, [r5, #0x28]
add r0, r0, #1
str r0, [r5, #0x28]
cmp r0, #0xf
blt _0226133A
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0226133A
_022612D2:
mov r0, #0
str r0, [sp, #4]
add r7, r5, #0
_022612D8:
ldr r0, [r7, #8]
str r0, [sp]
cmp r0, #0
beq _02261308
add r1, sp, #0x14
add r1, #2
add r2, sp, #0x14
bl UnkImageStruct_GetSpritePositionXY
mov r0, #0
ldrsh r0, [r6, r0]
cmp r0, #0xe0
bge _02261308
add r0, r0, #6
strh r0, [r6]
mov r1, #2
mov r2, #0
ldrsh r1, [r6, r1]
ldrsh r2, [r6, r2]
ldr r0, [sp]
bl UnkImageStruct_SetSpritePositionXY
mov r0, #0
str r0, [r4]
_02261308:
ldr r0, [sp, #4]
add r7, r7, #4
add r0, r0, #1
add r4, r4, #4
str r0, [sp, #4]
cmp r0, #4
blt _022612D8
ldr r0, [sp, #0x20]
cmp r0, #0
beq _0226133A
ldr r0, [sp, #0x24]
cmp r0, #0
beq _0226133A
ldr r0, [sp, #0x28]
cmp r0, #0
beq _0226133A
beq _0226133A
ldr r0, [r5]
add r0, r0, #1
str r0, [r5]
b _0226133A
_02261332:
mov r0, #0
str r0, [r5, #0x50]
str r0, [r5, #4]
str r0, [r5]
_0226133A:
mov r4, #0
_0226133C:
ldr r0, [r5, #8]
cmp r0, #0
beq _02261346
bl UnkImageStruct_TickSpriteAnimation2Frames
_02261346:
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _0226133C
_0226134E:
add sp, #0x30
pop {r3, r4, r5, r6, r7, pc}
nop
_02261354: .word ov92_02263E04
_02261358: .word ov92_02263E3C
thumb_func_end ov92_02261208
thumb_func_start ov92_0226135C
ov92_0226135C: ; 0x0226135C
push {r3, r4, r5, r6, r7, lr}
str r0, [sp]
ldr r0, [r0, #4]
cmp r0, #0
beq _022613EE
ldr r0, [sp]
ldr r0, [r0]
cmp r0, #0
beq _02261374
cmp r0, #1
beq _022613AE
b _022613CE
_02261374:
mov r7, #0
ldr r4, [sp]
add r5, r7, #0
_0226137A:
ldr r6, [r4, #8]
add r0, r5, #0
mov r1, #0x28
bl _s32_div_f
add r0, r6, #0
add r0, #0x88
bl sub_02018198
add r0, r6, #0
mov r1, #1
bl sub_020182A0
add r7, r7, #1
add r4, r4, #4
add r5, #0x14
cmp r7, #8
blt _0226137A
ldr r0, [sp]
mov r1, #0
str r1, [r0, #0x4c]
ldr r0, [r0]
add r1, r0, #1
ldr r0, [sp]
str r1, [r0]
pop {r3, r4, r5, r6, r7, pc}
_022613AE:
ldr r0, [sp]
ldr r0, [r0, #0x50]
cmp r0, #1
bne _022613EE
ldr r0, [sp]
ldr r0, [r0, #0x4c]
add r1, r0, #1
ldr r0, [sp]
cmp r1, #0xf
str r1, [r0, #0x4c]
blt _022613EE
ldr r0, [r0]
add r1, r0, #1
ldr r0, [sp]
str r1, [r0]
pop {r3, r4, r5, r6, r7, pc}
_022613CE:
mov r5, #0
ldr r4, [sp]
add r6, r5, #0
_022613D4:
ldr r0, [r4, #8]
add r1, r6, #0
bl sub_020182A0
add r5, r5, #1
add r4, r4, #4
cmp r5, #8
blt _022613D4
ldr r0, [sp]
mov r1, #0
str r1, [r0, #0x50]
str r1, [r0, #4]
str r1, [r0]
_022613EE:
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov92_0226135C
thumb_func_start ov92_022613F0
ov92_022613F0: ; 0x022613F0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #4]
cmp r0, #0
beq _02261446
ldr r0, [r4]
cmp r0, #0
beq _02261406
cmp r0, #1
beq _0226141C
b _02261438
_02261406:
add r1, r4, #0
ldr r0, [r4, #8]
add r1, #0x54
bl ov92_022610E8
mov r0, #0
str r0, [r4, #0x28]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
pop {r4, pc}
_0226141C:
ldr r0, [r4, #0x50]
cmp r0, #1
bne _02261446
ldr r0, [r4, #0x28]
add r0, r0, #1
str r0, [r4, #0x28]
cmp r0, #0xf
blt _02261446
mov r0, #1
str r0, [r4, #0x54]
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
pop {r4, pc}
_02261438:
ldr r0, [r4, #0x54]
cmp r0, #0
bne _02261446
mov r0, #0
str r0, [r4, #0x50]
str r0, [r4, #4]
str r0, [r4]
_02261446:
pop {r4, pc}
thumb_func_end ov92_022613F0
thumb_func_start ov92_02261448
ov92_02261448: ; 0x02261448
push {r4, r5, r6, lr}
add r6, r0, #0
mov r0, #0x99
add r4, r1, #0
lsl r0, r0, #2
ldr r5, [r4, r0]
bl IsPaletteFadeFinished
cmp r0, #0
beq _02261464
add r5, #0x34
ldrb r0, [r5]
cmp r0, #1
bne _0226146C
_02261464:
add r0, r6, #0
bl DestroySysTask
pop {r4, r5, r6, pc}
_0226146C:
ldr r0, [r4, #4]
ldr r0, [r0]
cmp r0, #5
bhi _02261508
add r1, r0, r0
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02261480: ; jump table
.short _02261508 - _02261480 - 2 ; case 0
.short _022614F8 - _02261480 - 2 ; case 1
.short _022614D8 - _02261480 - 2 ; case 2
.short _022614BE - _02261480 - 2 ; case 3
.short _022614A0 - _02261480 - 2 ; case 4
.short _0226148C - _02261480 - 2 ; case 5
_0226148C:
mov r0, #0x7b
lsl r0, r0, #2
ldr r1, [r4, r0]
cmp r1, #0
bne _022614A0
mov r1, #1
str r1, [r4, r0]
mov r1, #0
add r0, #0x4c
str r1, [r4, r0]
_022614A0:
mov r0, #0x5d
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #0
bne _022614BE
ldr r0, _02261564 ; =0x0000060E
bl PlaySE
mov r0, #0x5d
mov r1, #1
lsl r0, r0, #2
str r1, [r4, r0]
mov r1, #0
add r0, #0x4c
str r1, [r4, r0]
_022614BE:
add r0, r4, #0
add r0, #0xfc
ldr r0, [r0]
cmp r0, #0
bne _022614D8
add r0, r4, #0
mov r1, #1
add r0, #0xfc
str r1, [r0]
mov r0, #0x52
mov r1, #0
lsl r0, r0, #2
str r1, [r4, r0]
_022614D8:
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
cmp r0, #0
bne _022614F8
ldr r0, _02261568 ; =0x00000589
bl PlaySE
add r0, r4, #0
mov r1, #1
add r0, #0x84
str r1, [r0]
add r0, r4, #0
mov r1, #0
add r0, #0xd0
str r1, [r0]
_022614F8:
ldr r0, [r4, #0xc]
cmp r0, #0
bne _02261530
mov r0, #1
str r0, [r4, #0xc]
mov r0, #0
str r0, [r4, #0x58]
b _02261530
_02261508:
ldr r1, [r4]
cmp r0, r1
beq _02261530
mov r2, #1
add r0, r4, #0
mov r1, #0x52
str r2, [r4, #0x58]
add r0, #0xd0
lsl r1, r1, #2
str r2, [r0]
add r0, r1, #0
str r2, [r4, r1]
add r0, #0x78
str r2, [r4, r0]
add r1, #0xf0
str r2, [r4, r1]
ldr r0, _02261568 ; =0x00000589
mov r1, #0
bl StopSE
_02261530:
add r0, r4, #0
add r0, #8
bl ov92_02261118
add r0, r4, #0
add r0, #0x80
bl ov92_02261208
add r0, r4, #0
add r0, #0xf8
bl ov92_0226135C
mov r0, #0x17
lsl r0, r0, #4
add r0, r4, r0
bl ov92_02261208
mov r0, #0x7a
lsl r0, r0, #2
add r0, r4, r0
bl ov92_022613F0
ldr r0, [r4, #4]
ldr r0, [r0]
str r0, [r4]
pop {r4, r5, r6, pc}
.balign 4, 0
_02261564: .word 0x0000060E
_02261568: .word 0x00000589
thumb_func_end ov92_02261448
thumb_func_start ov92_0226156C
ov92_0226156C: ; 0x0226156C
push {r4, r5, r6, lr}
sub sp, #8
add r4, r0, #0
ldr r1, [r4, #0x14]
ldr r0, _022616BC ; =0x0000248C
mov r6, #0
str r1, [r4, r0]
ldr r0, _022616C0 ; =0x00002AE8
add r1, r4, r0
ldr r0, _022616C4 ; =0x0000222C
str r1, [r4, r0]
ldr r1, [r4, r0]
ldr r2, [r1]
sub r1, r0, #4
add r0, r0, #4
str r2, [r4, r1]
add r5, r4, r0
_0226158E:
mov r1, #0
str r1, [r5]
str r1, [r5, #4]
cmp r6, #4
bhi _0226163C
add r0, r6, r6
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022615A4: ; jump table
.short _022615AE - _022615A4 - 2 ; case 0
.short _022615CA - _022615A4 - 2 ; case 1
.short _02261624 - _022615A4 - 2 ; case 2
.short _0226163E - _022615A4 - 2 ; case 3
.short _02261698 - _022615A4 - 2 ; case 4
_022615AE:
ldr r0, _022616C8 ; =0x00000944
add r0, r4, r0
str r0, [r5, #8]
mov r0, #0x42
lsl r0, r0, #2
add r1, r4, r0
add r0, r0, #4
str r1, [r5, #0xc]
add r0, r4, r0
str r0, [r5, #0x14]
ldr r0, [r4, #0x14]
ldr r0, [r0, #0x14]
str r0, [r5, #0x10]
b _0226169A
_022615CA:
add r0, r4, #0
add r0, #0xd0
ldr r0, [r0]
add r2, sp, #4
str r0, [r5, #8]
add r0, r4, #0
add r0, #0xd4
ldr r0, [r0]
str r0, [r5, #0xc]
str r1, [r5, #0x10]
add r0, r4, #0
str r1, [r5, #0x14]
add r0, #0xd0
add r1, sp, #4
ldr r0, [r0]
add r1, #2
bl UnkImageStruct_GetSpritePositionXY
add r0, r4, #0
add r0, #0xd0
add r2, sp, #0
mov r1, #6
ldrsh r1, [r2, r1]
ldr r0, [r0]
mov r2, #0xe0
bl UnkImageStruct_SetSpritePositionXY
add r0, r4, #0
add r0, #0xd4
add r1, sp, #4
ldr r0, [r0]
add r1, #2
add r2, sp, #4
bl UnkImageStruct_GetSpritePositionXY
add r0, r4, #0
add r0, #0xd4
add r2, sp, #0
mov r1, #6
ldrsh r1, [r2, r1]
ldr r0, [r0]
mov r2, #0xe0
bl UnkImageStruct_SetSpritePositionXY
b _0226169A
_02261624:
mov r0, #0xb5
lsl r0, r0, #4
add r2, r4, r0
mov r0, #0x83
add r3, r5, #0
lsl r0, r0, #2
_02261630:
add r1, r1, #1
str r2, [r3, #8]
add r2, r2, r0
add r3, r3, #4
cmp r1, #8
blt _02261630
_0226163C:
b _0226169A
_0226163E:
str r1, [r5, #8]
add r0, r4, #0
str r1, [r5, #0xc]
add r0, #0xd8
ldr r0, [r0]
add r1, sp, #0
str r0, [r5, #0x10]
add r0, r4, #0
add r0, #0xdc
ldr r0, [r0]
add r1, #2
str r0, [r5, #0x14]
add r0, r4, #0
add r0, #0xd8
ldr r0, [r0]
add r2, sp, #0
bl UnkImageStruct_GetSpritePositionXY
add r0, r4, #0
add r0, #0xd8
add r2, sp, #0
mov r1, #2
ldrsh r1, [r2, r1]
ldr r0, [r0]
mov r2, #0xe0
bl UnkImageStruct_SetSpritePositionXY
add r0, r4, #0
add r0, #0xdc
add r1, sp, #0
ldr r0, [r0]
add r1, #2
add r2, sp, #0
bl UnkImageStruct_GetSpritePositionXY
add r0, r4, #0
add r0, #0xdc
add r2, sp, #0
mov r1, #2
ldrsh r1, [r2, r1]
ldr r0, [r0]
mov r2, #0xe0
bl UnkImageStruct_SetSpritePositionXY
b _0226169A
_02261698:
str r4, [r5, #8]
_0226169A:
add r6, r6, #1
add r5, #0x78
cmp r6, #5
bge _022616A4
b _0226158E
_022616A4:
ldr r1, _022616CC ; =0x00002228
mov r2, #1
ldr r0, _022616D0 ; =ov92_02261448
add r1, r4, r1
lsl r2, r2, #0xc
bl CreateSysTask
ldr r1, _022616D4 ; =0x00002488
str r0, [r4, r1]
add sp, #8
pop {r4, r5, r6, pc}
nop
_022616BC: .word 0x0000248C
_022616C0: .word 0x00002AE8
_022616C4: .word 0x0000222C
_022616C8: .word 0x00000944
_022616CC: .word 0x00002228
_022616D0: .word ov92_02261448
_022616D4: .word 0x00002488
thumb_func_end ov92_0226156C
thumb_func_start ov92_022616D8
ov92_022616D8: ; 0x022616D8
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
mov r1, #0x57
add r5, r0, #0
lsl r1, r1, #2
ldr r0, [r5, r1]
str r0, [sp, #8]
add r0, r1, #4
ldr r0, [r5, r0]
str r0, [sp, #4]
add r0, r1, #0
add r0, #0x14
ldr r0, [r5, r0]
cmp r0, #0
beq _02261700
cmp r0, #1
beq _0226173E
cmp r0, #2
beq _022617E2
b _022617F0
_02261700:
add r1, #0x24
mov r2, #0xa
add r0, r5, r1
mov r1, #0
lsl r2, r2, #0xe
mov r3, #0xa
bl ov92_02260860
mov r0, #0x66
lsl r0, r0, #2
mov r2, #5
add r0, r5, r0
mov r1, #0
lsl r2, r2, #0x10
mov r3, #0xa
bl ov92_02260860
mov r0, #0x1b
lsl r0, r0, #4
ldr r2, _0226184C ; =0xFFFB0000
add r0, r5, r0
mov r1, #0
mov r3, #0xa
bl ov92_02260860
mov r0, #0x17
lsl r0, r0, #4
ldr r1, [r5, r0]
add r1, r1, #1
str r1, [r5, r0]
b _022617F0
_0226173E:
add r1, #0x24
mov r7, #0
add r6, r5, r1
add r4, sp, #0xc
_02261746:
add r0, r6, #0
bl ov92_02260870
add r7, r7, #1
add r6, #0x18
stmia r4!, {r0}
cmp r7, #3
blt _02261746
mov r0, #0x5f
lsl r0, r0, #2
mov r2, #3
ldr r0, [r5, r0]
lsl r3, r2, #7
ldr r3, [r5, r3]
ldr r0, [r0, #0x10]
mov r1, #7
asr r3, r3, #0xc
bl ScheduleSetBgPosText
mov r3, #0x5f
lsl r3, r3, #2
ldr r0, [r5, r3]
add r3, #0x1c
ldr r3, [r5, r3]
ldr r0, [r0, #0x10]
mov r1, #5
mov r2, #0
asr r3, r3, #0xc
bl ScheduleSetBgPosText
mov r3, #0x5f
lsl r3, r3, #2
ldr r0, [r5, r3]
add r3, #0x34
ldr r3, [r5, r3]
ldr r0, [r0, #0x10]
mov r1, #6
mov r2, #0
asr r3, r3, #0xc
bl ScheduleSetBgPosText
mov r3, #0x5f
lsl r3, r3, #2
ldr r0, [r5, r3]
add r3, #0x1c
ldr r3, [r5, r3]
ldr r0, [r0, #0x10]
mov r1, #1
mov r2, #0
asr r3, r3, #0xc
bl ScheduleSetBgPosText
mov r3, #0x5f
lsl r3, r3, #2
ldr r0, [r5, r3]
add r3, #0x34
ldr r3, [r5, r3]
ldr r0, [r0, #0x10]
mov r1, #2
mov r2, #0
asr r3, r3, #0xc
bl ScheduleSetBgPosText
ldr r0, [sp, #0xc]
cmp r0, #0
beq _022617F0
ldr r0, [sp, #0x10]
cmp r0, #0
beq _022617F0
ldr r0, [sp, #0x14]
cmp r0, #0
beq _022617F0
mov r0, #0x17
lsl r0, r0, #4
ldr r1, [r5, r0]
add r1, r1, #1
str r1, [r5, r0]
b _022617F0
_022617E2:
add r0, r1, #0
mov r2, #1
add r0, #0x1c
str r2, [r5, r0]
mov r0, #0
add r1, #0x14
str r0, [r5, r1]
_022617F0:
ldr r0, [sp, #4]
ldr r0, [r0]
cmp r0, #6
bge _022617FE
add r1, r0, #1
ldr r0, [sp, #4]
b _02261802
_022617FE:
ldr r0, [sp, #4]
mov r1, #6
_02261802:
str r1, [r0]
mov r1, #0
ldr r3, [sp, #8]
str r1, [sp]
ldr r4, [r3]
ldr r3, [sp, #4]
mov r0, #0x5f
lsl r0, r0, #2
ldr r3, [r3]
ldr r0, [r5, r0]
add r3, r4, r3
lsl r3, r3, #0x18
ldr r0, [r0, #0x14]
mov r2, #1
lsr r3, r3, #0x18
bl sub_02003EA4
mov r0, #0
str r0, [sp]
ldr r3, [sp, #8]
mov r0, #0x5f
ldr r4, [r3]
ldr r3, [sp, #4]
lsl r0, r0, #2
ldr r3, [r3]
ldr r0, [r5, r0]
add r3, r4, r3
mov r1, #1
lsl r3, r3, #0x18
ldr r0, [r0, #0x14]
add r2, r1, #0
lsr r3, r3, #0x18
bl sub_02003EA4
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
nop
_0226184C: .word 0xFFFB0000
thumb_func_end ov92_022616D8
thumb_func_start ov92_02261850
ov92_02261850: ; 0x02261850
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
mov r1, #0x57
add r5, r0, #0
lsl r1, r1, #2
ldr r0, [r5, r1]
str r0, [sp, #8]
add r0, r1, #4
ldr r0, [r5, r0]
str r0, [sp, #4]
add r0, r1, #0
add r0, #0x14
ldr r0, [r5, r0]
cmp r0, #0
beq _02261878
cmp r0, #1
beq _022618B6
cmp r0, #2
beq _0226195A
b _02261966
_02261878:
add r1, #0x24
add r0, r5, r1
mov r1, #0xa
lsl r1, r1, #0xe
mov r2, #0
mov r3, #0xa
bl ov92_02260860
mov r0, #0x66
lsl r0, r0, #2
mov r1, #5
add r0, r5, r0
lsl r1, r1, #0x10
mov r2, #0
mov r3, #0xa
bl ov92_02260860
mov r0, #0x1b
lsl r0, r0, #4
ldr r1, _022619C0 ; =0xFFFB0000
add r0, r5, r0
mov r2, #0
mov r3, #0xa
bl ov92_02260860
mov r0, #0x17
lsl r0, r0, #4
ldr r1, [r5, r0]
add r1, r1, #1
str r1, [r5, r0]
b _02261966
_022618B6:
add r1, #0x24
mov r7, #0
add r6, r5, r1
add r4, sp, #0xc
_022618BE:
add r0, r6, #0
bl ov92_02260870
add r7, r7, #1
add r6, #0x18
stmia r4!, {r0}
cmp r7, #3
blt _022618BE
mov r0, #0x5f
lsl r0, r0, #2
mov r2, #3
ldr r0, [r5, r0]
lsl r3, r2, #7
ldr r3, [r5, r3]
ldr r0, [r0, #0x10]
mov r1, #7
asr r3, r3, #0xc
bl ScheduleSetBgPosText
mov r3, #0x5f
lsl r3, r3, #2
ldr r0, [r5, r3]
add r3, #0x1c
ldr r3, [r5, r3]
ldr r0, [r0, #0x10]
mov r1, #5
mov r2, #0
asr r3, r3, #0xc
bl ScheduleSetBgPosText
mov r3, #0x5f
lsl r3, r3, #2
ldr r0, [r5, r3]
add r3, #0x34
ldr r3, [r5, r3]
ldr r0, [r0, #0x10]
mov r1, #6
mov r2, #0
asr r3, r3, #0xc
bl ScheduleSetBgPosText
mov r3, #0x5f
lsl r3, r3, #2
ldr r0, [r5, r3]
add r3, #0x1c
ldr r3, [r5, r3]
ldr r0, [r0, #0x10]
mov r1, #1
mov r2, #0
asr r3, r3, #0xc
bl ScheduleSetBgPosText
mov r3, #0x5f
lsl r3, r3, #2
ldr r0, [r5, r3]
add r3, #0x34
ldr r3, [r5, r3]
ldr r0, [r0, #0x10]
mov r1, #2
mov r2, #0
asr r3, r3, #0xc
bl ScheduleSetBgPosText
ldr r0, [sp, #0xc]
cmp r0, #0
beq _02261966
ldr r0, [sp, #0x10]
cmp r0, #0
beq _02261966
ldr r0, [sp, #0x14]
cmp r0, #0
beq _02261966
mov r0, #0x17
lsl r0, r0, #4
ldr r1, [r5, r0]
add r1, r1, #1
str r1, [r5, r0]
b _02261966
_0226195A:
add r0, r1, #0
mov r2, #0
add r0, #0x1c
str r2, [r5, r0]
add r1, #0x14
str r2, [r5, r1]
_02261966:
ldr r0, [sp, #4]
ldr r0, [r0]
cmp r0, #4
ble _02261974
sub r1, r0, #1
ldr r0, [sp, #4]
b _02261978
_02261974:
ldr r0, [sp, #4]
mov r1, #0
_02261978:
str r1, [r0]
mov r1, #0
ldr r3, [sp, #8]
str r1, [sp]
ldr r4, [r3]
ldr r3, [sp, #4]
mov r0, #0x5f
lsl r0, r0, #2
ldr r3, [r3]
ldr r0, [r5, r0]
add r3, r4, r3
lsl r3, r3, #0x18
ldr r0, [r0, #0x14]
mov r2, #1
lsr r3, r3, #0x18
bl sub_02003EA4
mov r0, #0
str r0, [sp]
ldr r3, [sp, #8]
mov r0, #0x5f
ldr r4, [r3]
ldr r3, [sp, #4]
lsl r0, r0, #2
ldr r3, [r3]
ldr r0, [r5, r0]
add r3, r4, r3
mov r1, #1
lsl r3, r3, #0x18
ldr r0, [r0, #0x14]
add r2, r1, #0
lsr r3, r3, #0x18
bl sub_02003EA4
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_022619C0: .word 0xFFFB0000
thumb_func_end ov92_02261850
thumb_func_start ov92_022619C4
ov92_022619C4: ; 0x022619C4
cmp r0, #0xa
bhi _02261A12
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_022619D4: ; jump table
.short _02261A12 - _022619D4 - 2 ; case 0
.short _022619EA - _022619D4 - 2 ; case 1
.short _022619EE - _022619D4 - 2 ; case 2
.short _022619F2 - _022619D4 - 2 ; case 3
.short _022619F6 - _022619D4 - 2 ; case 4
.short _022619FA - _022619D4 - 2 ; case 5
.short _022619FE - _022619D4 - 2 ; case 6
.short _02261A02 - _022619D4 - 2 ; case 7
.short _02261A06 - _022619D4 - 2 ; case 8
.short _02261A0A - _022619D4 - 2 ; case 9
.short _02261A0E - _022619D4 - 2 ; case 10
_022619EA:
mov r0, #0x1c
bx lr
_022619EE:
mov r0, #0xe
bx lr
_022619F2:
mov r0, #0xc
bx lr
_022619F6:
mov r0, #0xa
bx lr
_022619FA:
mov r0, #9
bx lr
_022619FE:
mov r0, #0x20
bx lr
_02261A02:
mov r0, #0xe
bx lr
_02261A06:
mov r0, #0xc
bx lr
_02261A0A:
mov r0, #0xb
bx lr
_02261A0E:
mov r0, #0xb
bx lr
_02261A12:
mov r0, #9
bx lr
.balign 4, 0
thumb_func_end ov92_022619C4
thumb_func_start ov92_02261A18
ov92_02261A18: ; 0x02261A18
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0x56
add r6, r1, #0
lsl r0, r0, #2
ldr r0, [r6, r0]
ldr r4, [r0]
bl IsPaletteFadeFinished
cmp r0, #0
beq _02261A3C
mov r1, #0x5f
lsl r1, r1, #2
ldr r0, [r6, r1]
add r0, #0x34
ldrb r0, [r0]
cmp r0, #1
bne _02261A44
_02261A3C:
add r0, r5, #0
bl DestroySysTask
pop {r3, r4, r5, r6, r7, pc}
_02261A44:
add r0, r1, #0
sub r0, #8
ldr r0, [r6, r0]
cmp r0, #0
beq _02261AD8
sub r0, r1, #4
ldr r0, [r6, r0]
cmp r0, #0
bne _02261A5C
add r0, r6, #0
bl ov92_022616D8
_02261A5C:
mov r1, #0x59
lsl r1, r1, #2
ldr r0, [r6, r1]
cmp r0, #0
bne _02261AF2
cmp r4, #0
beq _02261AF2
cmp r4, #8
bge _02261AF2
add r2, r4, #0
mov r0, #0x28
mul r2, r0
str r2, [sp]
ldr r2, _02261B04 ; =ov92_02263EA0
ldr r3, [sp]
mov r7, #0
ldr r3, [r2, r3]
ldr r4, _02261B08 ; =ov92_02263EA4
str r3, [r6, r1]
add r3, r1, #4
str r7, [r6, r3]
ldr r3, [sp]
lsl r0, r0, #3
ldr r3, [r4, r3]
add r5, r6, #0
sub r3, r3, #1
str r3, [r6, r0]
ldr r3, _02261B0C ; =ov92_02263EA8
ldr r0, [sp]
ldr r3, [r3, r0]
add r0, r1, #0
sub r0, #0x20
str r3, [r6, r0]
add r0, r3, #5
sub r1, #0x1c
str r0, [r6, r1]
ldr r0, [sp]
add r4, r2, r0
_02261AA8:
ldr r1, [r4, #0xc]
ldr r0, [r5]
add r1, r1, #4
bl UnkImageStruct_SetSpritePalOffset
add r0, r5, #0
add r0, #0xa0
ldr r0, [r0]
ldr r1, [r4, #0x18]
bl UnkImageStruct_SetSpritePalOffset
add r7, r7, #1
add r4, r4, #4
add r5, #0x50
cmp r7, #2
blt _02261AA8
ldr r1, _02261B10 ; =ov92_02263EC4
ldr r0, [sp]
ldr r2, _02261B14 ; =0x00001001
ldr r0, [r1, r0]
add r1, r6, #0
bl CreateSysTask
b _02261AF2
_02261AD8:
bne _02261AF2
add r0, r1, #0
sub r0, #0x18
ldr r0, [r6, r0]
cmp r0, #0
bne _02261AF2
sub r0, r1, #4
ldr r0, [r6, r0]
cmp r0, #1
bne _02261AF2
add r0, r6, #0
bl ov92_02261850
_02261AF2:
mov r0, #0x59
lsl r0, r0, #2
ldr r1, [r6, r0]
cmp r1, #0
beq _02261B00
sub r1, r1, #1
str r1, [r6, r0]
_02261B00:
pop {r3, r4, r5, r6, r7, pc}
nop
_02261B04: .word ov92_02263EA0
_02261B08: .word ov92_02263EA4
_02261B0C: .word ov92_02263EA8
_02261B10: .word ov92_02263EC4
_02261B14: .word 0x00001001
thumb_func_end ov92_02261A18
thumb_func_start ov92_02261B18
ov92_02261B18: ; 0x02261B18
push {r4, r5, r6, lr}
add r4, r0, #0
ldr r0, _02261B8C ; =0x00002AF4
ldr r6, _02261B90 ; =0x00002030
add r1, r4, r0
ldr r0, _02261B94 ; =0x00002188
str r1, [r4, r0]
mov r1, #0x42
lsl r1, r1, #2
add r3, r4, r1
add r2, r0, #4
str r3, [r4, r2]
add r1, r1, #4
add r2, r4, r1
add r1, r0, #0
add r1, #8
str r2, [r4, r1]
add r1, r0, #0
ldr r2, [r4, #0x14]
add r1, #0x24
str r2, [r4, r1]
add r2, r0, #0
mov r1, #0
add r2, #0xc
str r1, [r4, r2]
add r2, r0, #0
add r2, #0x18
str r1, [r4, r2]
add r0, #0x1c
str r1, [r4, r0]
add r0, r6, #0
add r2, r4, #0
add r3, r4, #0
add r0, #0xa0
_02261B5C:
add r5, r2, #0
add r5, #0xe8
ldr r5, [r5]
add r1, r1, #1
str r5, [r3, r6]
add r5, r2, #0
add r5, #0xe0
ldr r5, [r5]
add r2, r2, #4
str r5, [r3, r0]
add r3, #0x50
cmp r1, #2
blt _02261B5C
ldr r1, _02261B90 ; =0x00002030
mov r2, #1
ldr r0, _02261B98 ; =ov92_02261A18
add r1, r4, r1
lsl r2, r2, #0xc
bl CreateSysTask
ldr r1, _02261B9C ; =0x00002184
str r0, [r4, r1]
pop {r4, r5, r6, pc}
nop
_02261B8C: .word 0x00002AF4
_02261B90: .word 0x00002030
_02261B94: .word 0x00002188
_02261B98: .word ov92_02261A18
_02261B9C: .word 0x00002184
thumb_func_end ov92_02261B18
thumb_func_start ov92_02261BA0
ov92_02261BA0: ; 0x02261BA0
push {r4, r5, r6, lr}
sub sp, #8
add r5, r0, #0
add r4, r1, #0
bl IsPaletteFadeFinished
cmp r0, #0
beq _02261BBE
mov r1, #0x5f
lsl r1, r1, #2
ldr r0, [r4, r1]
add r0, #0x34
ldrb r0, [r0]
cmp r0, #1
bne _02261BC8
_02261BBE:
add r0, r5, #0
bl DestroySysTask
add sp, #8
pop {r4, r5, r6, pc}
_02261BC8:
add r0, r1, #0
sub r0, #0x14
ldr r0, [r4, r0]
cmp r0, #4
bls _02261BD4
b _02261E74
_02261BD4:
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_02261BE0: ; jump table
.short _02261BEA - _02261BE0 - 2 ; case 0
.short _02261D5A - _02261BE0 - 2 ; case 1
.short _02261DA2 - _02261BE0 - 2 ; case 2
.short _02261DE8 - _02261BE0 - 2 ; case 3
.short _02261E2E - _02261BE0 - 2 ; case 4
_02261BEA:
mov r0, #0
strh r0, [r4, #8]
mov r0, #0x80
strh r0, [r4, #0x14]
mov r0, #0xa0
strh r0, [r4, #0x16]
mov r0, #0x40
str r0, [r4, #0x18]
mov r0, #0x18
str r0, [r4, #0x1c]
ldr r0, [r4]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
add r0, r4, #0
mov r1, #0
add r0, #0xa8
strh r1, [r0]
add r0, r4, #0
mov r1, #0x80
add r0, #0xb4
strh r1, [r0]
add r0, r4, #0
mov r1, #0xa0
add r0, #0xb6
strh r1, [r0]
add r0, r4, #0
mov r1, #0x40
add r0, #0xb8
str r1, [r0]
add r0, r4, #0
mov r1, #0x18
add r0, #0xbc
str r1, [r0]
add r0, r4, #0
add r0, #0xa0
ldr r0, [r0]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
mov r3, #1
ldr r0, [r4]
add r1, sp, #4
add r2, sp, #0
lsl r3, r3, #0x14
bl UnkImageStruct_GetSpritePrecisePositionXY
ldrh r0, [r4, #8]
bl GF_SinDeg
mov r1, #0x14
ldrsh r1, [r4, r1]
lsl r2, r1, #0xc
ldr r1, [r4, #0x18]
mul r0, r1
add r5, r2, r0
ldrh r0, [r4, #8]
bl GF_CosDeg
mov r1, #0x16
ldrsh r1, [r4, r1]
mov r3, #1
lsl r3, r3, #0x14
lsl r2, r1, #0xc
ldr r1, [r4, #0x1c]
mul r0, r1
add r6, r2, r0
ldr r0, [r4]
add r1, r5, #0
add r2, r6, #0
bl UnkImageStruct_SetSpritePrecisePositionXY
mov r0, #0x52
lsl r0, r0, #2
ldr r0, [r4, r0]
bl ov92_022619C4
mov r2, #0x2d
add r3, r0, #0
add r0, r4, #0
lsl r2, r2, #0xe
add r0, #0x20
add r1, r5, #0
add r2, r5, r2
bl ov92_02260860
mov r0, #0x52
lsl r0, r0, #2
ldr r0, [r4, r0]
bl ov92_022619C4
mov r2, #6
add r3, r0, #0
add r0, r4, #0
lsl r2, r2, #0xe
add r0, #0x38
add r1, r6, #0
sub r2, r6, r2
bl ov92_02260860
add r0, r4, #0
add r0, #0xa0
mov r3, #1
ldr r0, [r0]
add r1, sp, #4
add r2, sp, #0
lsl r3, r3, #0x14
bl UnkImageStruct_GetSpritePrecisePositionXY
add r0, r4, #0
add r0, #0xa8
ldrh r0, [r0]
bl GF_SinDeg
mov r1, #0xb4
ldrsh r1, [r4, r1]
lsl r2, r1, #0xc
add r1, r4, #0
add r1, #0xb8
ldr r1, [r1]
mul r0, r1
add r6, r2, r0
add r0, r4, #0
add r0, #0xa8
ldrh r0, [r0]
bl GF_CosDeg
mov r1, #0xb6
ldrsh r1, [r4, r1]
mov r3, #1
lsl r3, r3, #0x14
lsl r2, r1, #0xc
add r1, r4, #0
add r1, #0xbc
ldr r1, [r1]
mul r0, r1
sub r5, r2, r0
add r0, r4, #0
add r0, #0xa0
ldr r0, [r0]
add r1, r6, #0
add r2, r5, #0
bl UnkImageStruct_SetSpritePrecisePositionXY
mov r0, #0x51
lsl r0, r0, #2
ldr r0, [r4, r0]
bl ov92_022619C4
mov r2, #0x2d
add r3, r0, #0
add r0, r4, #0
lsl r2, r2, #0xe
add r0, #0xc0
add r1, r6, #0
sub r2, r6, r2
bl ov92_02260860
mov r0, #0x51
lsl r0, r0, #2
ldr r0, [r4, r0]
bl ov92_022619C4
mov r2, #6
add r3, r0, #0
add r0, r4, #0
lsl r2, r2, #0xe
add r0, #0xd8
add r1, r5, #0
add r2, r5, r2
bl ov92_02260860
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02261D5A:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #1
bl ov92_022620D0
mov r1, #0x52
lsl r1, r1, #2
add r5, r0, #0
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #1
mov r3, #3
bl ov92_02262018
cmp r5, #0
beq _02261E7A
cmp r0, #0
beq _02261E7A
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add sp, #8
add r1, r1, #1
str r1, [r4, r0]
pop {r4, r5, r6, pc}
_02261DA2:
sub r1, #0x38
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #3
bl ov92_02261E88
mov r1, #0x52
lsl r1, r1, #2
add r5, r0, #0
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #1
mov r3, #2
bl ov92_02261E88
cmp r5, #0
beq _02261E7A
cmp r0, #0
beq _02261E7A
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add sp, #8
add r1, r1, #1
str r1, [r4, r0]
pop {r4, r5, r6, pc}
_02261DE8:
sub r1, #0x38
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #2
bl ov92_02261F60
mov r1, #0x52
lsl r1, r1, #2
add r5, r0, #0
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #1
mov r3, #3
bl ov92_02262018
cmp r5, #0
beq _02261E7A
cmp r0, #0
beq _02261E7A
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add sp, #8
add r1, r1, #1
str r1, [r4, r0]
pop {r4, r5, r6, pc}
_02261E2E:
sub r1, #0x38
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #1
bl ov92_022620D0
mov r1, #0x52
lsl r1, r1, #2
add r5, r0, #0
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #1
mov r3, #2
bl ov92_02261E88
cmp r5, #0
beq _02261E7A
cmp r0, #0
beq _02261E7A
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add sp, #8
add r1, r1, #1
str r1, [r4, r0]
pop {r4, r5, r6, pc}
_02261E74:
add r0, r5, #0
bl DestroySysTask
_02261E7A:
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov92_02261BA0
thumb_func_start ov92_02261E80
ov92_02261E80: ; 0x02261E80
mov r1, #0
str r1, [r0, #4]
bx lr
.balign 4, 0
thumb_func_end ov92_02261E80
thumb_func_start ov92_02261E88
ov92_02261E88: ; 0x02261E88
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
ldr r0, [r5, #4]
add r4, r1, #0
add r6, r2, #0
add r7, r3, #0
cmp r0, #0
beq _02261EA0
cmp r0, #1
beq _02261F28
b _02261F52
_02261EA0:
mov r3, #1
ldr r0, [r5]
add r1, sp, #4
add r2, sp, #0
lsl r3, r3, #0x14
bl UnkImageStruct_GetSpritePrecisePositionXY
cmp r6, #0
bne _02261ECE
add r0, r4, #0
ldr r6, [sp, #4]
bl ov92_022619C4
mov r2, #0x2d
add r3, r0, #0
add r0, r5, #0
lsl r2, r2, #0xe
add r0, #0x20
add r1, r6, #0
sub r2, r6, r2
bl ov92_02260860
b _02261EE8
_02261ECE:
add r0, r4, #0
ldr r6, [sp, #4]
bl ov92_022619C4
mov r2, #0x2d
add r3, r0, #0
add r0, r5, #0
lsl r2, r2, #0xe
add r0, #0x20
add r1, r6, #0
add r2, r6, r2
bl ov92_02260860
_02261EE8:
cmp r7, #2
bne _02261F08
add r0, r4, #0
ldr r6, [sp]
bl ov92_022619C4
mov r2, #6
add r3, r0, #0
add r0, r5, #0
lsl r2, r2, #0xe
add r0, #0x38
add r1, r6, #0
sub r2, r6, r2
bl ov92_02260860
b _02261F22
_02261F08:
add r0, r4, #0
ldr r6, [sp]
bl ov92_022619C4
mov r2, #6
add r3, r0, #0
add r0, r5, #0
lsl r2, r2, #0xe
add r0, #0x38
add r1, r6, #0
add r2, r6, r2
bl ov92_02260860
_02261F22:
ldr r0, [r5, #4]
add r0, r0, #1
str r0, [r5, #4]
_02261F28:
add r0, r5, #0
add r0, #0x20
bl ov92_02260870
add r4, r0, #0
add r0, r5, #0
add r0, #0x38
bl ov92_02260870
mov r3, #1
ldr r0, [r5]
ldr r1, [r5, #0x20]
ldr r2, [r5, #0x38]
lsl r3, r3, #0x14
bl UnkImageStruct_SetSpritePrecisePositionXY
cmp r4, #0
beq _02261F58
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02261F52:
add sp, #8
mov r0, #1
pop {r3, r4, r5, r6, r7, pc}
_02261F58:
mov r0, #0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov92_02261E88
thumb_func_start ov92_02261F60
ov92_02261F60: ; 0x02261F60
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #4]
add r4, r1, #0
add r6, r3, #0
cmp r0, #0
beq _02261F74
cmp r0, #1
beq _02261FE4
b _0226200C
_02261F74:
cmp r2, #0
bne _02261F92
add r0, r4, #0
bl ov92_022619C4
add r3, r0, #0
add r0, r5, #0
mov r1, #0x4d
mov r2, #2
add r0, #0x20
lsl r1, r1, #0xe
lsl r2, r2, #0x12
bl ov92_02260860
b _02261FA8
_02261F92:
add r0, r4, #0
bl ov92_022619C4
add r3, r0, #0
add r0, r5, #0
mov r2, #2
ldr r1, _02262014 ; =0xFFFC2000
add r0, #0x20
lsl r2, r2, #0x12
bl ov92_02260860
_02261FA8:
cmp r6, #2
bne _02261FC6
add r0, r4, #0
bl ov92_022619C4
add r3, r0, #0
add r0, r5, #0
mov r1, #0xa
mov r2, #0x22
add r0, #0x38
lsl r1, r1, #0x10
lsl r2, r2, #0xe
bl ov92_02260860
b _02261FDE
_02261FC6:
add r0, r4, #0
bl ov92_022619C4
add r3, r0, #0
add r0, r5, #0
mov r1, #0xa
mov r2, #0x2e
add r0, #0x38
lsl r1, r1, #0x10
lsl r2, r2, #0xe
bl ov92_02260860
_02261FDE:
ldr r0, [r5, #4]
add r0, r0, #1
str r0, [r5, #4]
_02261FE4:
add r0, r5, #0
add r0, #0x20
bl ov92_02260870
add r4, r0, #0
add r0, r5, #0
add r0, #0x38
bl ov92_02260870
mov r3, #1
ldr r0, [r5]
ldr r1, [r5, #0x20]
ldr r2, [r5, #0x38]
lsl r3, r3, #0x14
bl UnkImageStruct_SetSpritePrecisePositionXY
cmp r4, #0
beq _02262010
mov r0, #1
pop {r4, r5, r6, pc}
_0226200C:
mov r0, #1
pop {r4, r5, r6, pc}
_02262010:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_02262014: .word 0xFFFC2000
thumb_func_end ov92_02261F60
thumb_func_start ov92_02262018
ov92_02262018: ; 0x02262018
push {r4, r5, r6, lr}
add r5, r0, #0
ldr r0, [r5, #4]
add r4, r1, #0
add r6, r3, #0
cmp r0, #0
beq _0226202C
cmp r0, #1
beq _0226209C
b _022620C4
_0226202C:
cmp r2, #0
bne _0226204A
add r0, r4, #0
bl ov92_022619C4
add r3, r0, #0
add r0, r5, #0
mov r1, #0x4d
mov r2, #2
add r0, #0x20
lsl r1, r1, #0xe
lsl r2, r2, #0x12
bl ov92_02260860
b _02262060
_0226204A:
add r0, r4, #0
bl ov92_022619C4
add r3, r0, #0
add r0, r5, #0
mov r2, #2
ldr r1, _022620CC ; =0xFFFC2000
add r0, #0x20
lsl r2, r2, #0x12
bl ov92_02260860
_02262060:
cmp r6, #2
bne _0226207E
add r0, r4, #0
bl ov92_022619C4
add r3, r0, #0
add r0, r5, #0
mov r1, #6
mov r2, #0x12
add r0, #0x38
lsl r1, r1, #0x10
lsl r2, r2, #0xe
bl ov92_02260860
b _02262096
_0226207E:
add r0, r4, #0
bl ov92_022619C4
add r3, r0, #0
add r0, r5, #0
mov r1, #6
mov r2, #0x1e
add r0, #0x38
lsl r1, r1, #0x10
lsl r2, r2, #0xe
bl ov92_02260860
_02262096:
ldr r0, [r5, #4]
add r0, r0, #1
str r0, [r5, #4]
_0226209C:
add r0, r5, #0
add r0, #0x20
bl ov92_02260870
add r4, r0, #0
add r0, r5, #0
add r0, #0x38
bl ov92_02260870
mov r3, #1
ldr r0, [r5]
ldr r1, [r5, #0x20]
ldr r2, [r5, #0x38]
lsl r3, r3, #0x14
bl UnkImageStruct_SetSpritePrecisePositionXY
cmp r4, #0
beq _022620C8
mov r0, #1
pop {r4, r5, r6, pc}
_022620C4:
mov r0, #1
pop {r4, r5, r6, pc}
_022620C8:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_022620CC: .word 0xFFFC2000
thumb_func_end ov92_02262018
thumb_func_start ov92_022620D0
ov92_022620D0: ; 0x022620D0
push {r4, r5, r6, lr}
sub sp, #8
add r4, r0, #0
ldr r0, [r4, #4]
add r5, r2, #0
add r6, r3, #0
cmp r0, #0
beq _022620E6
cmp r0, #1
beq _022620F2
b _02262196
_022620E6:
mov r0, #0
str r0, [r4, #0x10]
strh r0, [r4, #8]
ldr r0, [r4, #4]
add r0, r0, #1
str r0, [r4, #4]
_022620F2:
add r0, r1, #0
bl ov92_022619C4
add r1, r0, #0
mov r0, #0x5a
lsl r0, r0, #2
bl _s32_div_f
mov r1, #8
ldrsh r2, [r4, r1]
add r0, r2, r0
strh r0, [r4, #8]
mov r0, #0x5a
ldrsh r1, [r4, r1]
lsl r0, r0, #2
cmp r1, r0
blt _02262118
mov r0, #0
strh r0, [r4, #8]
_02262118:
mov r3, #1
ldr r0, [r4]
add r1, sp, #4
add r2, sp, #0
lsl r3, r3, #0x14
bl UnkImageStruct_GetSpritePrecisePositionXY
cmp r5, #0
ldrh r0, [r4, #8]
bne _02262144
bl GF_SinDeg
mov r1, #0x14
ldrsh r1, [r4, r1]
lsl r2, r1, #0xc
ldr r1, [r4, #0x18]
mul r0, r1
sub r5, r2, r0
ldrh r0, [r4, #8]
bl GF_CosDeg
b _0226215A
_02262144:
bl GF_SinDeg
mov r1, #0x14
ldrsh r1, [r4, r1]
lsl r2, r1, #0xc
ldr r1, [r4, #0x18]
mul r0, r1
add r5, r2, r0
ldrh r0, [r4, #8]
bl GF_CosDeg
_0226215A:
mov r1, #0x16
ldrsh r1, [r4, r1]
mov r3, #1
lsl r3, r3, #0x14
lsl r2, r1, #0xc
ldr r1, [r4, #0x1c]
mul r0, r1
sub r2, r2, r0
ldr r0, [r4]
add r1, r5, #0
bl UnkImageStruct_SetSpritePrecisePositionXY
mov r0, #8
ldrsh r0, [r4, r0]
cmp r0, #0
bne _0226219C
ldr r0, [r4, #0x10]
add r0, r0, #1
str r0, [r4, #0x10]
cmp r0, r6
blt _02262190
ldr r0, [r4, #4]
add sp, #8
add r0, r0, #1
str r0, [r4, #4]
mov r0, #1
pop {r4, r5, r6, pc}
_02262190:
mov r0, #1
str r0, [r4, #4]
b _0226219C
_02262196:
add sp, #8
mov r0, #1
pop {r4, r5, r6, pc}
_0226219C:
mov r0, #0
add sp, #8
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov92_022620D0
thumb_func_start ov92_022621A4
ov92_022621A4: ; 0x022621A4
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
ldr r3, _022621FC ; =ov92_02263E1C
add r2, sp, #0xc
add r5, r0, #0
add r4, r1, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
bl IsPaletteFadeFinished
cmp r0, #0
beq _022621CE
mov r0, #0x5f
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, #0x34
ldrb r1, [r1]
cmp r1, #1
bne _022621D8
_022621CE:
add r0, r5, #0
bl DestroySysTask
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
_022621D8:
add r1, r0, #0
sub r1, #0x14
ldr r1, [r4, r1]
cmp r1, #4
bls _022621E4
b _0226253E
_022621E4:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_022621F0: ; jump table
.short _02262200 - _022621F0 - 2 ; case 0
.short _02262338 - _022621F0 - 2 ; case 1
.short _022623BA - _022621F0 - 2 ; case 2
.short _02262436 - _022621F0 - 2 ; case 3
.short _022624B2 - _022621F0 - 2 ; case 4
nop
_022621FC: .word ov92_02263E1C
_02262200:
sub r0, #0x3c
ldr r0, [r4, r0]
mov r1, #0
str r1, [sp]
cmp r0, #0
ble _02262308
add r5, r4, #0
_0226220E:
mov r0, #0
strh r0, [r5, #8]
mov r0, #0x80
strh r0, [r5, #0x14]
mov r0, #0xa0
strh r0, [r5, #0x16]
mov r0, #0x40
str r0, [r5, #0x18]
mov r0, #0x18
str r0, [r5, #0x1c]
ldr r0, [r5]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
add r1, r5, #0
add r1, #0xa8
mov r0, #0
strh r0, [r1]
add r1, r5, #0
add r1, #0xb4
mov r0, #0x80
strh r0, [r1]
add r1, r5, #0
add r1, #0xb6
mov r0, #0xa0
strh r0, [r1]
add r1, r5, #0
add r1, #0xb8
mov r0, #0x40
str r0, [r1]
add r1, r5, #0
add r1, #0xbc
mov r0, #0x18
str r0, [r1]
add r0, r5, #0
add r0, #0xa0
ldr r0, [r0]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
mov r3, #1
ldr r0, [r5]
add r1, sp, #8
add r2, sp, #4
lsl r3, r3, #0x14
bl UnkImageStruct_GetSpritePrecisePositionXY
ldrh r0, [r5, #8]
bl GF_SinDeg
mov r1, #0x14
ldrsh r1, [r5, r1]
lsl r6, r1, #0xc
ldr r1, [r5, #0x18]
add r7, r1, #0
mul r7, r0
ldrh r0, [r5, #8]
bl GF_CosDeg
mov r1, #0x16
ldrsh r1, [r5, r1]
lsl r3, r1, #0xc
ldr r1, [r5, #0x1c]
add r2, r1, #0
mul r2, r0
add r2, r3, r2
mov r3, #1
ldr r0, [r5]
add r1, r6, r7
lsl r3, r3, #0x14
bl UnkImageStruct_SetSpritePrecisePositionXY
add r0, r5, #0
add r0, #0xa0
mov r3, #1
ldr r0, [r0]
add r1, sp, #8
add r2, sp, #4
lsl r3, r3, #0x14
bl UnkImageStruct_GetSpritePrecisePositionXY
add r0, r5, #0
add r0, #0xa8
ldrh r0, [r0]
bl GF_SinDeg
mov r1, #0xb4
ldrsh r1, [r5, r1]
lsl r6, r1, #0xc
add r1, r5, #0
add r1, #0xb8
ldr r1, [r1]
add r7, r1, #0
mul r7, r0
add r0, r5, #0
add r0, #0xa8
ldrh r0, [r0]
bl GF_CosDeg
mov r1, #0xb6
add r2, r5, #0
ldrsh r1, [r5, r1]
add r2, #0xbc
ldr r2, [r2]
lsl r1, r1, #0xc
mul r0, r2
sub r2, r1, r0
add r0, r5, #0
add r0, #0xa0
mov r3, #1
ldr r0, [r0]
add r1, r6, r7
lsl r3, r3, #0x14
bl UnkImageStruct_SetSpritePrecisePositionXY
ldr r0, [sp]
add r5, #0x50
add r0, r0, #1
str r0, [sp]
mov r0, #5
lsl r0, r0, #6
ldr r1, [r4, r0]
ldr r0, [sp]
cmp r0, r1
blt _0226220E
_02262308:
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
ldr r0, [r4, #0x50]
mov r1, #0
bl UnkImageStruct_SetSpriteVisibleFlag
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02262338:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #3
bl ov92_02261E88
mov r1, #0x51
str r0, [sp, #0xc]
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xf0
mov r2, #0
mov r3, #2
bl ov92_02261F60
mov r1, #0x52
str r0, [sp, #0x10]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #1
mov r3, #3
bl ov92_02262018
mov r2, #1
ldr r1, [sp, #0xc]
str r0, [sp, #0x14]
str r2, [sp, #0x18]
cmp r1, #0
beq _0226240C
ldr r1, [sp, #0x10]
cmp r1, #0
beq _0226240C
cmp r0, #0
beq _0226240C
cmp r2, #0
beq _0226240C
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
ldr r0, [r4, #0x50]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_022623BA:
mov r3, #1
mov r1, #0x51
add r0, r4, #0
str r3, [sp, #0xc]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, #0xf0
mov r2, #0
bl ov92_022620D0
mov r1, #0x52
str r0, [sp, #0x10]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #1
mov r3, #2
bl ov92_02261E88
mov r1, #0x52
str r0, [sp, #0x14]
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0x50
mov r2, #1
mov r3, #3
bl ov92_02262018
ldr r1, [sp, #0xc]
str r0, [sp, #0x18]
cmp r1, #0
beq _0226240C
ldr r1, [sp, #0x10]
cmp r1, #0
beq _0226240C
ldr r1, [sp, #0x14]
cmp r1, #0
beq _0226240C
cmp r0, #0
bne _0226240E
_0226240C:
b _02262544
_0226240E:
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02262436:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #2
bl ov92_02261F60
mov r1, #0x51
str r0, [sp, #0xc]
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xf0
mov r2, #0
mov r3, #3
bl ov92_02261E88
mov r2, #1
mov r1, #0x52
str r0, [sp, #0x10]
add r0, r4, #0
str r2, [sp, #0x14]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, #0x50
mov r3, #2
bl ov92_02261E88
ldr r1, [sp, #0xc]
str r0, [sp, #0x18]
cmp r1, #0
beq _02262544
ldr r1, [sp, #0x10]
cmp r1, #0
beq _02262544
ldr r1, [sp, #0x14]
cmp r1, #0
beq _02262544
cmp r0, #0
beq _02262544
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_022624B2:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #1
bl ov92_022620D0
mov r2, #1
mov r1, #0x52
str r0, [sp, #0xc]
add r0, r4, #0
str r2, [sp, #0x10]
str r2, [sp, #0x14]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, #0x50
mov r3, #2
bl ov92_02261E88
ldr r1, [sp, #0xc]
str r0, [sp, #0x18]
cmp r1, #0
beq _02262544
ldr r1, [sp, #0x10]
cmp r1, #0
beq _02262544
ldr r1, [sp, #0x14]
cmp r1, #0
beq _02262544
cmp r0, #0
beq _02262544
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
mov r1, #0x53
lsl r1, r1, #2
ldr r0, [r4, r1]
cmp r0, #1
beq _0226252A
add r0, r0, #1
str r0, [r4, r1]
mov r0, #1
add r1, #0x1c
add sp, #0x1c
str r0, [r4, r1]
pop {r4, r5, r6, r7, pc}
_0226252A:
mov r0, #0
str r0, [r4, r1]
add r0, r1, #0
add r0, #0x1c
ldr r0, [r4, r0]
add r1, #0x1c
add r0, r0, #1
add sp, #0x1c
str r0, [r4, r1]
pop {r4, r5, r6, r7, pc}
_0226253E:
add r0, r5, #0
bl DestroySysTask
_02262544:
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
thumb_func_end ov92_022621A4
thumb_func_start ov92_02262548
ov92_02262548: ; 0x02262548
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
ldr r3, _022625A0 ; =ov92_02263E0C
add r2, sp, #0xc
add r5, r0, #0
add r4, r1, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
bl IsPaletteFadeFinished
cmp r0, #0
beq _02262572
mov r0, #0x5f
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, #0x34
ldrb r1, [r1]
cmp r1, #1
bne _0226257C
_02262572:
add r0, r5, #0
bl DestroySysTask
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
_0226257C:
add r1, r0, #0
sub r1, #0x14
ldr r1, [r4, r1]
cmp r1, #4
bls _02262588
b _022628E4
_02262588:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02262594: ; jump table
.short _022625A4 - _02262594 - 2 ; case 0
.short _022626DC - _02262594 - 2 ; case 1
.short _0226275E - _02262594 - 2 ; case 2
.short _022627DC - _02262594 - 2 ; case 3
.short _02262858 - _02262594 - 2 ; case 4
nop
_022625A0: .word ov92_02263E0C
_022625A4:
sub r0, #0x3c
ldr r0, [r4, r0]
mov r1, #0
str r1, [sp]
cmp r0, #0
ble _022626AC
add r5, r4, #0
_022625B2:
mov r0, #0
strh r0, [r5, #8]
mov r0, #0x80
strh r0, [r5, #0x14]
mov r0, #0xa0
strh r0, [r5, #0x16]
mov r0, #0x40
str r0, [r5, #0x18]
mov r0, #0x18
str r0, [r5, #0x1c]
ldr r0, [r5]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
add r1, r5, #0
add r1, #0xa8
mov r0, #0
strh r0, [r1]
add r1, r5, #0
add r1, #0xb4
mov r0, #0x80
strh r0, [r1]
add r1, r5, #0
add r1, #0xb6
mov r0, #0xa0
strh r0, [r1]
add r1, r5, #0
add r1, #0xb8
mov r0, #0x40
str r0, [r1]
add r1, r5, #0
add r1, #0xbc
mov r0, #0x18
str r0, [r1]
add r0, r5, #0
add r0, #0xa0
ldr r0, [r0]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
mov r3, #1
ldr r0, [r5]
add r1, sp, #8
add r2, sp, #4
lsl r3, r3, #0x14
bl UnkImageStruct_GetSpritePrecisePositionXY
ldrh r0, [r5, #8]
bl GF_SinDeg
mov r1, #0x14
ldrsh r1, [r5, r1]
lsl r6, r1, #0xc
ldr r1, [r5, #0x18]
add r7, r1, #0
mul r7, r0
ldrh r0, [r5, #8]
bl GF_CosDeg
mov r1, #0x16
ldrsh r1, [r5, r1]
lsl r3, r1, #0xc
ldr r1, [r5, #0x1c]
add r2, r1, #0
mul r2, r0
add r2, r3, r2
mov r3, #1
ldr r0, [r5]
add r1, r6, r7
lsl r3, r3, #0x14
bl UnkImageStruct_SetSpritePrecisePositionXY
add r0, r5, #0
add r0, #0xa0
mov r3, #1
ldr r0, [r0]
add r1, sp, #8
add r2, sp, #4
lsl r3, r3, #0x14
bl UnkImageStruct_GetSpritePrecisePositionXY
add r0, r5, #0
add r0, #0xa8
ldrh r0, [r0]
bl GF_SinDeg
mov r1, #0xb4
ldrsh r1, [r5, r1]
lsl r6, r1, #0xc
add r1, r5, #0
add r1, #0xb8
ldr r1, [r1]
add r7, r1, #0
mul r7, r0
add r0, r5, #0
add r0, #0xa8
ldrh r0, [r0]
bl GF_CosDeg
mov r1, #0xb6
add r2, r5, #0
ldrsh r1, [r5, r1]
add r2, #0xbc
ldr r2, [r2]
lsl r1, r1, #0xc
mul r0, r2
sub r2, r1, r0
add r0, r5, #0
add r0, #0xa0
mov r3, #1
ldr r0, [r0]
add r1, r6, r7
lsl r3, r3, #0x14
bl UnkImageStruct_SetSpritePrecisePositionXY
ldr r0, [sp]
add r5, #0x50
add r0, r0, #1
str r0, [sp]
mov r0, #5
lsl r0, r0, #6
ldr r1, [r4, r0]
ldr r0, [sp]
cmp r0, r1
blt _022625B2
_022626AC:
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
ldr r0, [r4, #0x50]
mov r1, #0
bl UnkImageStruct_SetSpriteVisibleFlag
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_022626DC:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #3
bl ov92_02261E88
mov r1, #0x51
str r0, [sp, #0xc]
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xf0
mov r2, #0
mov r3, #2
bl ov92_02261F60
mov r1, #0x52
str r0, [sp, #0x10]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #1
mov r3, #3
bl ov92_02262018
mov r2, #1
ldr r1, [sp, #0xc]
str r0, [sp, #0x14]
str r2, [sp, #0x18]
cmp r1, #0
beq _022627B2
ldr r1, [sp, #0x10]
cmp r1, #0
beq _022627B2
cmp r0, #0
beq _022627B2
cmp r2, #0
beq _022627B2
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
ldr r0, [r4, #0x50]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_0226275E:
mov r0, #1
mov r1, #0x51
str r0, [sp, #0xc]
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xf0
mov r2, #0
mov r3, #2
bl ov92_022620D0
mov r1, #0x52
str r0, [sp, #0x10]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #1
mov r3, #2
bl ov92_02261E88
mov r1, #0x52
str r0, [sp, #0x14]
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0x50
mov r2, #1
mov r3, #3
bl ov92_02262018
ldr r1, [sp, #0xc]
str r0, [sp, #0x18]
cmp r1, #0
beq _022627B2
ldr r1, [sp, #0x10]
cmp r1, #0
beq _022627B2
ldr r1, [sp, #0x14]
cmp r1, #0
beq _022627B2
cmp r0, #0
bne _022627B4
_022627B2:
b _022628EA
_022627B4:
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_022627DC:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #2
bl ov92_02261F60
mov r1, #0x51
str r0, [sp, #0xc]
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xf0
mov r2, #0
mov r3, #3
bl ov92_02261E88
mov r2, #1
mov r1, #0x52
str r0, [sp, #0x10]
add r0, r4, #0
str r2, [sp, #0x14]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, #0x50
mov r3, #2
bl ov92_02261E88
ldr r1, [sp, #0xc]
str r0, [sp, #0x18]
cmp r1, #0
beq _022628EA
ldr r1, [sp, #0x10]
cmp r1, #0
beq _022628EA
ldr r1, [sp, #0x14]
cmp r1, #0
beq _022628EA
cmp r0, #0
beq _022628EA
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02262858:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #2
bl ov92_022620D0
mov r2, #1
mov r1, #0x52
str r0, [sp, #0xc]
add r0, r4, #0
str r2, [sp, #0x10]
str r2, [sp, #0x14]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, #0x50
mov r3, #2
bl ov92_02261E88
ldr r1, [sp, #0xc]
str r0, [sp, #0x18]
cmp r1, #0
beq _022628EA
ldr r1, [sp, #0x10]
cmp r1, #0
beq _022628EA
ldr r1, [sp, #0x14]
cmp r1, #0
beq _022628EA
cmp r0, #0
beq _022628EA
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
mov r1, #0x53
lsl r1, r1, #2
ldr r0, [r4, r1]
cmp r0, #1
beq _022628D0
add r0, r0, #1
str r0, [r4, r1]
mov r0, #1
add r1, #0x1c
add sp, #0x1c
str r0, [r4, r1]
pop {r4, r5, r6, r7, pc}
_022628D0:
mov r0, #0
str r0, [r4, r1]
add r0, r1, #0
add r0, #0x1c
ldr r0, [r4, r0]
add r1, #0x1c
add r0, r0, #1
add sp, #0x1c
str r0, [r4, r1]
pop {r4, r5, r6, r7, pc}
_022628E4:
add r0, r5, #0
bl DestroySysTask
_022628EA:
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov92_02262548
thumb_func_start ov92_022628F0
ov92_022628F0: ; 0x022628F0
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
ldr r3, _0226294C ; =ov92_02263E2C
add r2, sp, #0xc
add r5, r0, #0
add r4, r1, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
bl IsPaletteFadeFinished
cmp r0, #0
beq _0226291A
mov r0, #0x5f
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, #0x34
ldrb r1, [r1]
cmp r1, #1
bne _02262924
_0226291A:
add r0, r5, #0
bl DestroySysTask
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
_02262924:
add r1, r0, #0
sub r1, #0x14
ldr r1, [r4, r1]
cmp r1, #6
bls _02262930
b _02262CE2
_02262930:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0226293C: ; jump table
.short _02262950 - _0226293C - 2 ; case 0
.short _02262A88 - _0226293C - 2 ; case 1
.short _02262B0A - _0226293C - 2 ; case 2
.short _02262B84 - _0226293C - 2 ; case 3
.short _02262BB0 - _0226293C - 2 ; case 4
.short _02262C2C - _0226293C - 2 ; case 5
.short _02262C96 - _0226293C - 2 ; case 6
nop
_0226294C: .word ov92_02263E2C
_02262950:
sub r0, #0x3c
ldr r0, [r4, r0]
mov r1, #0
str r1, [sp]
cmp r0, #0
ble _02262A58
add r5, r4, #0
_0226295E:
mov r0, #0
strh r0, [r5, #8]
mov r0, #0x80
strh r0, [r5, #0x14]
mov r0, #0xa0
strh r0, [r5, #0x16]
mov r0, #0x40
str r0, [r5, #0x18]
mov r0, #0x18
str r0, [r5, #0x1c]
ldr r0, [r5]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
add r1, r5, #0
add r1, #0xa8
mov r0, #0
strh r0, [r1]
add r1, r5, #0
add r1, #0xb4
mov r0, #0x80
strh r0, [r1]
add r1, r5, #0
add r1, #0xb6
mov r0, #0xa0
strh r0, [r1]
add r1, r5, #0
add r1, #0xb8
mov r0, #0x40
str r0, [r1]
add r1, r5, #0
add r1, #0xbc
mov r0, #0x18
str r0, [r1]
add r0, r5, #0
add r0, #0xa0
ldr r0, [r0]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
mov r3, #1
ldr r0, [r5]
add r1, sp, #8
add r2, sp, #4
lsl r3, r3, #0x14
bl UnkImageStruct_GetSpritePrecisePositionXY
ldrh r0, [r5, #8]
bl GF_SinDeg
mov r1, #0x14
ldrsh r1, [r5, r1]
lsl r6, r1, #0xc
ldr r1, [r5, #0x18]
add r7, r1, #0
mul r7, r0
ldrh r0, [r5, #8]
bl GF_CosDeg
mov r1, #0x16
ldrsh r1, [r5, r1]
lsl r3, r1, #0xc
ldr r1, [r5, #0x1c]
add r2, r1, #0
mul r2, r0
add r2, r3, r2
mov r3, #1
ldr r0, [r5]
add r1, r6, r7
lsl r3, r3, #0x14
bl UnkImageStruct_SetSpritePrecisePositionXY
add r0, r5, #0
add r0, #0xa0
mov r3, #1
ldr r0, [r0]
add r1, sp, #8
add r2, sp, #4
lsl r3, r3, #0x14
bl UnkImageStruct_GetSpritePrecisePositionXY
add r0, r5, #0
add r0, #0xa8
ldrh r0, [r0]
bl GF_SinDeg
mov r1, #0xb4
ldrsh r1, [r5, r1]
lsl r6, r1, #0xc
add r1, r5, #0
add r1, #0xb8
ldr r1, [r1]
add r7, r1, #0
mul r7, r0
add r0, r5, #0
add r0, #0xa8
ldrh r0, [r0]
bl GF_CosDeg
mov r1, #0xb6
add r2, r5, #0
ldrsh r1, [r5, r1]
add r2, #0xbc
ldr r2, [r2]
lsl r1, r1, #0xc
mul r0, r2
sub r2, r1, r0
add r0, r5, #0
add r0, #0xa0
mov r3, #1
ldr r0, [r0]
add r1, r6, r7
lsl r3, r3, #0x14
bl UnkImageStruct_SetSpritePrecisePositionXY
ldr r0, [sp]
add r5, #0x50
add r0, r0, #1
str r0, [sp]
mov r0, #5
lsl r0, r0, #6
ldr r1, [r4, r0]
ldr r0, [sp]
cmp r0, r1
blt _0226295E
_02262A58:
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
ldr r0, [r4, #0x50]
mov r1, #0
bl UnkImageStruct_SetSpriteVisibleFlag
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02262A88:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #3
bl ov92_02261E88
mov r1, #0x51
str r0, [sp, #0xc]
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xf0
mov r2, #0
mov r3, #2
bl ov92_02261F60
mov r1, #0x52
str r0, [sp, #0x10]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #1
mov r3, #3
bl ov92_02262018
mov r2, #1
ldr r1, [sp, #0xc]
str r0, [sp, #0x14]
str r2, [sp, #0x18]
cmp r1, #0
beq _02262B9C
ldr r1, [sp, #0x10]
cmp r1, #0
beq _02262B9C
cmp r0, #0
beq _02262B9C
cmp r2, #0
beq _02262B9C
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
ldr r0, [r4, #0x50]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02262B0A:
mov r3, #1
mov r1, #0x51
add r0, r4, #0
str r3, [sp, #0xc]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, #0xf0
mov r2, #0
bl ov92_022620D0
mov r1, #0x52
str r0, [sp, #0x10]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #1
mov r3, #2
bl ov92_02261E88
mov r1, #0x52
str r0, [sp, #0x14]
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0x50
mov r2, #1
mov r3, #3
bl ov92_02262018
ldr r1, [sp, #0xc]
str r0, [sp, #0x18]
cmp r1, #0
beq _02262B9C
ldr r1, [sp, #0x10]
cmp r1, #0
beq _02262B9C
ldr r1, [sp, #0x14]
cmp r1, #0
beq _02262B9C
cmp r0, #0
beq _02262B9C
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02262B84:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
mov r2, #1
ldr r1, [r4, r1]
add r0, #0xf0
add r3, r2, #0
bl ov92_022620D0
str r0, [sp, #0x10]
cmp r0, #0
bne _02262B9E
_02262B9C:
b _02262CE8
_02262B9E:
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02262BB0:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #2
bl ov92_02261F60
mov r1, #0x51
str r0, [sp, #0xc]
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xf0
mov r2, #0
mov r3, #3
bl ov92_02261E88
mov r2, #1
mov r1, #0x52
str r0, [sp, #0x10]
add r0, r4, #0
str r2, [sp, #0x14]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, #0x50
mov r3, #2
bl ov92_02261E88
ldr r1, [sp, #0xc]
str r0, [sp, #0x18]
cmp r1, #0
beq _02262CE8
ldr r1, [sp, #0x10]
cmp r1, #0
beq _02262CE8
ldr r1, [sp, #0x14]
cmp r1, #0
beq _02262CE8
cmp r0, #0
beq _02262CE8
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02262C2C:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #1
bl ov92_022620D0
mov r2, #1
mov r1, #0x52
str r0, [sp, #0xc]
add r0, r4, #0
str r2, [sp, #0x10]
str r2, [sp, #0x14]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, #0x50
mov r3, #2
bl ov92_02261E88
ldr r1, [sp, #0xc]
str r0, [sp, #0x18]
cmp r1, #0
beq _02262CE8
ldr r1, [sp, #0x10]
cmp r1, #0
beq _02262CE8
ldr r1, [sp, #0x14]
cmp r1, #0
beq _02262CE8
cmp r0, #0
beq _02262CE8
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02262C96:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
mov r2, #1
ldr r1, [r4, r1]
add r0, #0xa0
add r3, r2, #0
bl ov92_022620D0
str r0, [sp, #0xc]
cmp r0, #0
beq _02262CE8
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
mov r1, #0x53
lsl r1, r1, #2
ldr r0, [r4, r1]
cmp r0, #1
beq _02262CCE
add r0, r0, #1
str r0, [r4, r1]
mov r0, #1
add r1, #0x1c
add sp, #0x1c
str r0, [r4, r1]
pop {r4, r5, r6, r7, pc}
_02262CCE:
mov r0, #0
str r0, [r4, r1]
add r0, r1, #0
add r0, #0x1c
ldr r0, [r4, r0]
add r1, #0x1c
add r0, r0, #1
add sp, #0x1c
str r0, [r4, r1]
pop {r4, r5, r6, r7, pc}
_02262CE2:
add r0, r5, #0
bl DestroySysTask
_02262CE8:
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
thumb_func_end ov92_022628F0
thumb_func_start ov92_02262CEC
ov92_02262CEC: ; 0x02262CEC
push {r4, r5, r6, r7, lr}
sub sp, #0x1c
ldr r3, _02262D48 ; =ov92_02263E4C
add r2, sp, #0xc
add r5, r0, #0
add r4, r1, #0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
bl IsPaletteFadeFinished
cmp r0, #0
beq _02262D16
mov r0, #0x5f
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, #0x34
ldrb r1, [r1]
cmp r1, #1
bne _02262D20
_02262D16:
add r0, r5, #0
bl DestroySysTask
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
_02262D20:
add r1, r0, #0
sub r1, #0x14
ldr r1, [r4, r1]
cmp r1, #6
bls _02262D2C
b _022630DE
_02262D2C:
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_02262D38: ; jump table
.short _02262D4C - _02262D38 - 2 ; case 0
.short _02262E84 - _02262D38 - 2 ; case 1
.short _02262F06 - _02262D38 - 2 ; case 2
.short _02262F80 - _02262D38 - 2 ; case 3
.short _02262FAC - _02262D38 - 2 ; case 4
.short _02263028 - _02262D38 - 2 ; case 5
.short _02263092 - _02262D38 - 2 ; case 6
nop
_02262D48: .word ov92_02263E4C
_02262D4C:
sub r0, #0x3c
ldr r0, [r4, r0]
mov r1, #0
str r1, [sp]
cmp r0, #0
ble _02262E54
add r5, r4, #0
_02262D5A:
mov r0, #0
strh r0, [r5, #8]
mov r0, #0x80
strh r0, [r5, #0x14]
mov r0, #0xa0
strh r0, [r5, #0x16]
mov r0, #0x40
str r0, [r5, #0x18]
mov r0, #0x18
str r0, [r5, #0x1c]
ldr r0, [r5]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
add r1, r5, #0
add r1, #0xa8
mov r0, #0
strh r0, [r1]
add r1, r5, #0
add r1, #0xb4
mov r0, #0x80
strh r0, [r1]
add r1, r5, #0
add r1, #0xb6
mov r0, #0xa0
strh r0, [r1]
add r1, r5, #0
add r1, #0xb8
mov r0, #0x40
str r0, [r1]
add r1, r5, #0
add r1, #0xbc
mov r0, #0x18
str r0, [r1]
add r0, r5, #0
add r0, #0xa0
ldr r0, [r0]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
mov r3, #1
ldr r0, [r5]
add r1, sp, #8
add r2, sp, #4
lsl r3, r3, #0x14
bl UnkImageStruct_GetSpritePrecisePositionXY
ldrh r0, [r5, #8]
bl GF_SinDeg
mov r1, #0x14
ldrsh r1, [r5, r1]
lsl r6, r1, #0xc
ldr r1, [r5, #0x18]
add r7, r1, #0
mul r7, r0
ldrh r0, [r5, #8]
bl GF_CosDeg
mov r1, #0x16
ldrsh r1, [r5, r1]
lsl r3, r1, #0xc
ldr r1, [r5, #0x1c]
add r2, r1, #0
mul r2, r0
add r2, r3, r2
mov r3, #1
ldr r0, [r5]
add r1, r6, r7
lsl r3, r3, #0x14
bl UnkImageStruct_SetSpritePrecisePositionXY
add r0, r5, #0
add r0, #0xa0
mov r3, #1
ldr r0, [r0]
add r1, sp, #8
add r2, sp, #4
lsl r3, r3, #0x14
bl UnkImageStruct_GetSpritePrecisePositionXY
add r0, r5, #0
add r0, #0xa8
ldrh r0, [r0]
bl GF_SinDeg
mov r1, #0xb4
ldrsh r1, [r5, r1]
lsl r6, r1, #0xc
add r1, r5, #0
add r1, #0xb8
ldr r1, [r1]
add r7, r1, #0
mul r7, r0
add r0, r5, #0
add r0, #0xa8
ldrh r0, [r0]
bl GF_CosDeg
mov r1, #0xb6
add r2, r5, #0
ldrsh r1, [r5, r1]
add r2, #0xbc
ldr r2, [r2]
lsl r1, r1, #0xc
mul r0, r2
sub r2, r1, r0
add r0, r5, #0
add r0, #0xa0
mov r3, #1
ldr r0, [r0]
add r1, r6, r7
lsl r3, r3, #0x14
bl UnkImageStruct_SetSpritePrecisePositionXY
ldr r0, [sp]
add r5, #0x50
add r0, r0, #1
str r0, [sp]
mov r0, #5
lsl r0, r0, #6
ldr r1, [r4, r0]
ldr r0, [sp]
cmp r0, r1
blt _02262D5A
_02262E54:
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
ldr r0, [r4, #0x50]
mov r1, #0
bl UnkImageStruct_SetSpriteVisibleFlag
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02262E84:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #3
bl ov92_02261E88
mov r1, #0x51
str r0, [sp, #0xc]
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xf0
mov r2, #0
mov r3, #2
bl ov92_02261F60
mov r1, #0x52
str r0, [sp, #0x10]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #1
mov r3, #3
bl ov92_02262018
mov r2, #1
ldr r1, [sp, #0xc]
str r0, [sp, #0x14]
str r2, [sp, #0x18]
cmp r1, #0
beq _02262F98
ldr r1, [sp, #0x10]
cmp r1, #0
beq _02262F98
cmp r0, #0
beq _02262F98
cmp r2, #0
beq _02262F98
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
ldr r0, [r4, #0x50]
mov r1, #1
bl UnkImageStruct_SetSpriteVisibleFlag
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02262F06:
mov r3, #1
mov r1, #0x51
add r0, r4, #0
str r3, [sp, #0xc]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, #0xf0
mov r2, #0
bl ov92_022620D0
mov r1, #0x52
str r0, [sp, #0x10]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, r4, #0
mov r2, #1
mov r3, #2
bl ov92_02261E88
mov r1, #0x52
str r0, [sp, #0x14]
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0x50
mov r2, #1
mov r3, #3
bl ov92_02262018
ldr r1, [sp, #0xc]
str r0, [sp, #0x18]
cmp r1, #0
beq _02262F98
ldr r1, [sp, #0x10]
cmp r1, #0
beq _02262F98
ldr r1, [sp, #0x14]
cmp r1, #0
beq _02262F98
cmp r0, #0
beq _02262F98
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02262F80:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
mov r2, #1
ldr r1, [r4, r1]
add r0, #0xf0
add r3, r2, #0
bl ov92_022620D0
str r0, [sp, #0x10]
cmp r0, #0
bne _02262F9A
_02262F98:
b _022630E4
_02262F9A:
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02262FAC:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #2
bl ov92_02261F60
mov r1, #0x51
str r0, [sp, #0xc]
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xf0
mov r2, #0
mov r3, #3
bl ov92_02261E88
mov r2, #1
mov r1, #0x52
str r0, [sp, #0x10]
add r0, r4, #0
str r2, [sp, #0x14]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, #0x50
mov r3, #2
bl ov92_02261E88
ldr r1, [sp, #0xc]
str r0, [sp, #0x18]
cmp r1, #0
beq _022630E4
ldr r1, [sp, #0x10]
cmp r1, #0
beq _022630E4
ldr r1, [sp, #0x14]
cmp r1, #0
beq _022630E4
cmp r0, #0
beq _022630E4
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02263028:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
ldr r1, [r4, r1]
add r0, #0xa0
mov r2, #0
mov r3, #1
bl ov92_022620D0
mov r2, #1
mov r1, #0x52
str r0, [sp, #0xc]
add r0, r4, #0
str r2, [sp, #0x10]
str r2, [sp, #0x14]
lsl r1, r1, #2
ldr r1, [r4, r1]
add r0, #0x50
mov r3, #2
bl ov92_02261E88
ldr r1, [sp, #0xc]
str r0, [sp, #0x18]
cmp r1, #0
beq _022630E4
ldr r1, [sp, #0x10]
cmp r1, #0
beq _022630E4
ldr r1, [sp, #0x14]
cmp r1, #0
beq _022630E4
cmp r0, #0
beq _022630E4
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
add r0, r4, #0
add r0, #0xf0
bl ov92_02261E80
add r0, r4, #0
bl ov92_02261E80
add r0, r4, #0
add r0, #0x50
bl ov92_02261E80
mov r0, #0x5a
lsl r0, r0, #2
ldr r1, [r4, r0]
add r1, r1, #1
str r1, [r4, r0]
_02263092:
mov r1, #0x51
lsl r1, r1, #2
add r0, r4, #0
mov r2, #1
ldr r1, [r4, r1]
add r0, #0xa0
add r3, r2, #0
bl ov92_022620D0
str r0, [sp, #0xc]
cmp r0, #0
beq _022630E4
add r0, r4, #0
add r0, #0xa0
bl ov92_02261E80
mov r1, #0x53
lsl r1, r1, #2
ldr r0, [r4, r1]
cmp r0, #8
beq _022630CA
add r0, r0, #1
str r0, [r4, r1]
mov r0, #1
add r1, #0x1c
add sp, #0x1c
str r0, [r4, r1]
pop {r4, r5, r6, r7, pc}
_022630CA:
mov r0, #0
str r0, [r4, r1]
add r0, r1, #0
add r0, #0x1c
ldr r0, [r4, r0]
add r1, #0x1c
add r0, r0, #1
add sp, #0x1c
str r0, [r4, r1]
pop {r4, r5, r6, r7, pc}
_022630DE:
add r0, r5, #0
bl DestroySysTask
_022630E4:
add sp, #0x1c
pop {r4, r5, r6, r7, pc}
thumb_func_end ov92_02262CEC
thumb_func_start ov92_022630E8
ov92_022630E8: ; 0x022630E8
mov r1, #0xfe
lsl r1, r1, #0x16
str r1, [r0]
mov r1, #0
str r1, [r0, #4]
str r1, [r0, #8]
str r1, [r0, #0xc]
bx lr
thumb_func_end ov92_022630E8
thumb_func_start ov92_022630F8
ov92_022630F8: ; 0x022630F8
add r3, r0, #0
add r2, r1, #0
ldmia r2!, {r0, r1}
stmia r3!, {r0, r1}
ldmia r2!, {r0, r1}
stmia r3!, {r0, r1}
bx lr
.balign 4, 0
thumb_func_end ov92_022630F8
thumb_func_start ov92_02263108
ov92_02263108: ; 0x02263108
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
add r5, r1, #0
add r4, r2, #0
add r6, r0, #0
ldr r0, [r5]
ldr r1, [r4]
bl _fmul
add r7, r0, #0
ldr r0, [r5, #4]
ldr r1, [r4, #4]
bl _fmul
add r1, r0, #0
add r0, r7, #0
bl _fsub
add r7, r0, #0
ldr r0, [r5, #8]
ldr r1, [r4, #8]
bl _fmul
add r1, r0, #0
add r0, r7, #0
bl _fsub
add r7, r0, #0
ldr r0, [r5, #0xc]
ldr r1, [r4, #0xc]
bl _fmul
add r1, r0, #0
add r0, r7, #0
bl _fsub
str r0, [r6]
ldr r0, [r5, #8]
ldr r1, [r4, #0xc]
bl _fmul
add r7, r0, #0
ldr r0, [r5]
ldr r1, [r4, #4]
bl _fmul
str r0, [sp]
ldr r0, [r5, #4]
ldr r1, [r4]
bl _fmul
add r1, r0, #0
ldr r0, [sp]
bl _fadd
add r1, r0, #0
add r0, r7, #0
bl _fadd
add r7, r0, #0
ldr r0, [r5, #0xc]
ldr r1, [r4, #8]
bl _fmul
add r1, r0, #0
add r0, r7, #0
bl _fsub
str r0, [r6, #4]
ldr r0, [r5, #0xc]
ldr r1, [r4, #4]
bl _fmul
add r7, r0, #0
ldr r0, [r5, #8]
ldr r1, [r4]
bl _fmul
str r0, [sp, #4]
ldr r0, [r5]
ldr r1, [r4, #8]
bl _fmul
str r0, [sp, #8]
ldr r0, [r5, #4]
ldr r1, [r4, #0xc]
bl _fmul
add r1, r0, #0
ldr r0, [sp, #8]
bl _fsub
add r1, r0, #0
ldr r0, [sp, #4]
bl _fadd
add r1, r0, #0
add r0, r7, #0
bl _fadd
str r0, [r6, #8]
ldr r0, [r5, #0xc]
ldr r1, [r4]
bl _fmul
str r0, [sp, #0xc]
ldr r0, [r5]
ldr r1, [r4, #0xc]
bl _fmul
add r7, r0, #0
ldr r0, [r5, #4]
ldr r1, [r4, #8]
bl _fmul
add r1, r0, #0
add r0, r7, #0
bl _fadd
add r7, r0, #0
ldr r0, [r5, #8]
ldr r1, [r4, #4]
bl _fmul
add r1, r0, #0
add r0, r7, #0
bl _fsub
add r1, r0, #0
ldr r0, [sp, #0xc]
bl _fadd
str r0, [r6, #0xc]
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov92_02263108
thumb_func_start ov92_02263218
ov92_02263218: ; 0x02263218
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
ldr r0, [r5, #0xc]
add r1, r0, #0
bl _fadd
add r4, r0, #0
ldr r0, [r5, #8]
add r1, r0, #0
bl _fadd
add r6, r0, #0
ldr r0, [r5]
add r1, r0, #0
bl _fmul
add r7, r0, #0
ldr r0, [r5, #4]
add r1, r0, #0
bl _fadd
add r1, r0, #0
add r0, r7, #0
bl _fadd
add r1, r0, #0
add r0, r6, #0
bl _fadd
add r1, r0, #0
add r0, r4, #0
bl _fadd
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov92_02263218
thumb_func_start ov92_0226325C
ov92_0226325C: ; 0x0226325C
push {r4, lr}
add r4, r0, #0
bl ov92_02263218
mov r1, #0
bl _fgr
bls _02263286
add r0, r4, #0
bl ov92_02263218
add r1, r0, #0
ldr r0, _022632B0 ; =0x45800000
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0226329C
_02263286:
add r0, r4, #0
bl ov92_02263218
add r1, r0, #0
ldr r0, _022632B0 ; =0x45800000
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0226329C:
bl _ffix
bl FX_Sqrt
bl _fflt
ldr r1, _022632B0 ; =0x45800000
bl _fdiv
pop {r4, pc}
.balign 4, 0
_022632B0: .word 0x45800000
thumb_func_end ov92_0226325C
thumb_func_start ov92_022632B4
ov92_022632B4: ; 0x022632B4
push {r4, r5, r6, lr}
add r4, r1, #0
add r5, r0, #0
add r6, r2, #0
ldr r0, [r4]
add r1, r6, #0
bl _fdiv
str r0, [r5]
ldr r0, [r4, #4]
add r1, r6, #0
bl _fdiv
str r0, [r5, #4]
ldr r0, [r4, #8]
add r1, r6, #0
bl _fdiv
str r0, [r5, #8]
ldr r0, [r4, #0xc]
add r1, r6, #0
bl _fdiv
str r0, [r5, #0xc]
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov92_022632B4
thumb_func_start ov92_022632E8
ov92_022632E8: ; 0x022632E8
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r5, r1, #0
add r4, r0, #0
ldr r0, [r5, #4]
add r1, r0, #0
bl _fmul
bl _f2d
add r3, r1, #0
mov r1, #1
add r2, r0, #0
mov r0, #0
lsl r1, r1, #0x1e
bl _dmul
bl _d2f
str r0, [sp, #8]
ldr r0, [r5, #8]
add r1, r0, #0
bl _fmul
bl _f2d
add r3, r1, #0
mov r1, #1
add r2, r0, #0
mov r0, #0
lsl r1, r1, #0x1e
bl _dmul
bl _d2f
str r0, [sp, #0xc]
ldr r0, [r5, #0xc]
add r1, r0, #0
bl _fmul
bl _f2d
add r3, r1, #0
mov r1, #1
add r2, r0, #0
mov r0, #0
lsl r1, r1, #0x1e
bl _dmul
bl _d2f
add r6, r0, #0
ldr r0, [r5, #4]
ldr r1, [r5, #8]
bl _fmul
bl _f2d
add r3, r1, #0
mov r1, #1
add r2, r0, #0
mov r0, #0
lsl r1, r1, #0x1e
bl _dmul
bl _d2f
str r0, [sp, #0x10]
ldr r0, [r5, #8]
ldr r1, [r5, #0xc]
bl _fmul
bl _f2d
add r3, r1, #0
mov r1, #1
add r2, r0, #0
mov r0, #0
lsl r1, r1, #0x1e
bl _dmul
bl _d2f
str r0, [sp, #0x14]
ldr r0, [r5, #0xc]
ldr r1, [r5, #4]
bl _fmul
bl _f2d
add r3, r1, #0
mov r1, #1
add r2, r0, #0
mov r0, #0
lsl r1, r1, #0x1e
bl _dmul
bl _d2f
str r0, [sp, #0x18]
ldr r0, [r5, #4]
ldr r1, [r5]
bl _fmul
bl _f2d
add r3, r1, #0
mov r1, #1
add r2, r0, #0
mov r0, #0
lsl r1, r1, #0x1e
bl _dmul
bl _d2f
str r0, [sp, #0x1c]
ldr r0, [r5, #8]
ldr r1, [r5]
bl _fmul
bl _f2d
add r3, r1, #0
mov r1, #1
add r2, r0, #0
mov r0, #0
lsl r1, r1, #0x1e
bl _dmul
bl _d2f
add r7, r0, #0
ldr r0, [r5, #0xc]
ldr r1, [r5]
bl _fmul
bl _f2d
add r3, r1, #0
mov r1, #1
add r2, r0, #0
mov r0, #0
lsl r1, r1, #0x1e
bl _dmul
bl _d2f
add r5, r0, #0
ldr r0, [sp, #0xc]
bl _f2d
add r3, r1, #0
add r2, r0, #0
ldr r1, _022634F4 ; =0x3FF00000
mov r0, #0
bl _dsub
str r0, [sp, #0x20]
str r1, [sp, #4]
add r0, r6, #0
bl _f2d
add r2, r0, #0
add r3, r1, #0
ldr r0, [sp, #0x20]
ldr r1, [sp, #4]
bl _dsub
bl _d2f
str r0, [r4]
ldr r0, [sp, #0x10]
add r1, r5, #0
bl _fadd
str r0, [r4, #4]
ldr r0, [sp, #0x18]
add r1, r7, #0
bl _fsub
str r0, [r4, #8]
mov r0, #0
str r0, [r4, #0xc]
ldr r0, [sp, #0x10]
add r1, r5, #0
bl _fsub
str r0, [r4, #0x10]
add r0, r6, #0
bl _f2d
add r3, r1, #0
add r2, r0, #0
ldr r1, _022634F4 ; =0x3FF00000
mov r0, #0
bl _dsub
add r6, r0, #0
ldr r0, [sp, #8]
add r5, r1, #0
bl _f2d
add r2, r0, #0
add r3, r1, #0
add r0, r6, #0
add r1, r5, #0
bl _dsub
bl _d2f
str r0, [r4, #0x14]
ldr r0, [sp, #0x14]
ldr r1, [sp, #0x1c]
bl _fadd
str r0, [r4, #0x18]
mov r0, #0
str r0, [r4, #0x1c]
ldr r0, [sp, #0x18]
add r1, r7, #0
bl _fadd
str r0, [r4, #0x20]
ldr r0, [sp, #0x14]
ldr r1, [sp, #0x1c]
bl _fsub
str r0, [r4, #0x24]
ldr r0, [sp, #8]
bl _f2d
add r3, r1, #0
add r2, r0, #0
ldr r1, _022634F4 ; =0x3FF00000
mov r0, #0
bl _dsub
add r6, r0, #0
ldr r0, [sp, #0xc]
add r5, r1, #0
bl _f2d
add r2, r0, #0
add r3, r1, #0
add r0, r6, #0
add r1, r5, #0
bl _dsub
bl _d2f
str r0, [r4, #0x28]
mov r0, #0
str r0, [r4, #0x2c]
str r0, [r4, #0x30]
str r0, [r4, #0x34]
str r0, [r4, #0x38]
mov r0, #0xfe
lsl r0, r0, #0x16
str r0, [r4, #0x3c]
add sp, #0x24
pop {r4, r5, r6, r7, pc}
nop
_022634F4: .word 0x3FF00000
thumb_func_end ov92_022632E8
thumb_func_start ov92_022634F8
ov92_022634F8: ; 0x022634F8
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5]
add r4, r1, #0
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _0226351C
ldr r1, [r5]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0226352A
_0226351C:
ldr r1, [r5]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0226352A:
bl _ffix
str r0, [r4]
ldr r0, [r5, #4]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _0226354E
ldr r1, [r5, #4]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0226355C
_0226354E:
ldr r1, [r5, #4]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0226355C:
bl _ffix
str r0, [r4, #4]
ldr r0, [r5, #8]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _02263580
ldr r1, [r5, #8]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0226358E
_02263580:
ldr r1, [r5, #8]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0226358E:
bl _ffix
str r0, [r4, #8]
ldr r0, [r5, #0xc]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _022635B2
ldr r1, [r5, #0xc]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _022635C0
_022635B2:
ldr r1, [r5, #0xc]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_022635C0:
bl _ffix
str r0, [r4, #0xc]
ldr r0, [r5, #0x10]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _022635E4
ldr r1, [r5, #0x10]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _022635F2
_022635E4:
ldr r1, [r5, #0x10]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_022635F2:
bl _ffix
str r0, [r4, #0x10]
ldr r0, [r5, #0x14]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _02263616
ldr r1, [r5, #0x14]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02263624
_02263616:
ldr r1, [r5, #0x14]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02263624:
bl _ffix
str r0, [r4, #0x14]
ldr r0, [r5, #0x18]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _02263648
ldr r1, [r5, #0x18]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02263656
_02263648:
ldr r1, [r5, #0x18]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02263656:
bl _ffix
str r0, [r4, #0x18]
ldr r0, [r5, #0x1c]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _0226367A
ldr r1, [r5, #0x1c]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02263688
_0226367A:
ldr r1, [r5, #0x1c]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02263688:
bl _ffix
str r0, [r4, #0x1c]
ldr r0, [r5, #0x20]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _022636AC
ldr r1, [r5, #0x20]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _022636BA
_022636AC:
ldr r1, [r5, #0x20]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_022636BA:
bl _ffix
str r0, [r4, #0x20]
ldr r0, [r5, #0x24]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _022636DE
ldr r1, [r5, #0x24]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _022636EC
_022636DE:
ldr r1, [r5, #0x24]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_022636EC:
bl _ffix
str r0, [r4, #0x24]
ldr r0, [r5, #0x28]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _02263710
ldr r1, [r5, #0x28]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _0226371E
_02263710:
ldr r1, [r5, #0x28]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_0226371E:
bl _ffix
str r0, [r4, #0x28]
ldr r0, [r5, #0x2c]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _02263742
ldr r1, [r5, #0x2c]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02263750
_02263742:
ldr r1, [r5, #0x2c]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02263750:
bl _ffix
str r0, [r4, #0x2c]
ldr r0, [r5, #0x30]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _02263774
ldr r1, [r5, #0x30]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02263782
_02263774:
ldr r1, [r5, #0x30]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02263782:
bl _ffix
str r0, [r4, #0x30]
ldr r0, [r5, #0x34]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _022637A6
ldr r1, [r5, #0x34]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _022637B4
_022637A6:
ldr r1, [r5, #0x34]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_022637B4:
bl _ffix
str r0, [r4, #0x34]
ldr r0, [r5, #0x38]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _022637D8
ldr r1, [r5, #0x38]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _022637E6
_022637D8:
ldr r1, [r5, #0x38]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_022637E6:
bl _ffix
str r0, [r4, #0x38]
ldr r0, [r5, #0x3c]
mov r1, #0
bl _fgr
ldr r0, _02263820 ; =0x45800000
bls _0226380A
ldr r1, [r5, #0x3c]
bl _fmul
add r1, r0, #0
mov r0, #0x3f
lsl r0, r0, #0x18
bl _fadd
b _02263818
_0226380A:
ldr r1, [r5, #0x3c]
bl _fmul
mov r1, #0x3f
lsl r1, r1, #0x18
bl _fsub
_02263818:
bl _ffix
str r0, [r4, #0x3c]
pop {r3, r4, r5, pc}
.balign 4, 0
_02263820: .word 0x45800000
thumb_func_end ov92_022634F8
thumb_func_start ov92_02263824
ov92_02263824: ; 0x02263824
push {r4, lr}
sub sp, #0x40
add r4, r1, #0
add r1, sp, #0
bl ov92_022634F8
add r0, sp, #0
add r1, r4, #0
bl MTX_Copy44To43_
add sp, #0x40
pop {r4, pc}
thumb_func_end ov92_02263824
.rodata
_0226383C:
.word ov92_0225C540, ov92_0225C58C, 0
.word ov92_0225C558, ov92_0225C588, 0
.word ov92_0225C564, ov92_0225C590, 0
.word ov92_0225C578, ov92_0225C594, 0
.word ov92_0225C584, ov92_0225C598, 0
ov92_02263878: ; 0x02263878
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x06, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov92_02263884: ; 0x02263884
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00
ov92_02263890: ; 0x02263890
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
ov92_022638A0: ; 0x022638A0
.byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
ov92_022638B0: ; 0x022638B0
.byte 0x00, 0x00, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10
ov92_022638C0: ; 0x022638C0
.byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00
.byte 0x10, 0x00, 0x10, 0x00
ov92_022638D4: ; 0x022638D4
.byte 0x80, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00
.byte 0x80, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
ov92_022638EC: ; 0x022638EC
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
ov92_0226390C: ; 0x0226390C
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x60, 0x00, 0x00, 0x00
ov92_02263934: ; 0x02263934
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x05, 0x05, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x07, 0x05
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x09, 0x04, 0x00, 0x03, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov92_022639A4: ; 0x022639A4
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x16, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x17, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x19, 0x01
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x1B, 0x01, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov92_02263A14: ; 0x02263A14
.byte 0x2C, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
.byte 0x2D, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x31, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
.byte 0x2D, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x31, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
.byte 0x2D, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x31, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00, 0x2B, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00
.byte 0x2D, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00
.byte 0x31, 0x00, 0x00, 0x00
ov92_02263A94: ; 0x02263A94
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xFF, 0x00, 0x00, 0xE2, 0xFF
.byte 0x00, 0x00, 0xEC, 0xFF, 0x00, 0x00, 0xF6, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00
.byte 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xFF, 0x00, 0x00, 0xE2, 0xFF
.byte 0x00, 0x00, 0xEC, 0xFF, 0x00, 0x00, 0xF6, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00
.byte 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x1E, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
.byte 0x46, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x1E, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00
.byte 0x46, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov92_02263B54: ; 0x02263B54
.byte 0x48, 0x00, 0xB4, 0x00, 0x18, 0x00, 0xE8, 0x00
ov92_02263B5C: ; 0x02263B5C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00
ov92_02263B68: ; 0x02263B68
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF
.byte 0x00, 0xF0, 0xFF, 0xFF
ov92_02263B74: ; 0x02263B74
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x55, 0x00, 0xAA, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, 0x00, 0xC0, 0x00
ov92_02263B8C: ; 0x02263B8C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
ov92_02263BCC: ; 0x02263BCC
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
ov92_02263BEC: ; 0x02263BEC
.byte 0x0C, 0x00, 0x08, 0x00
.byte 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x08, 0x00, 0x08, 0x00, 0x02, 0x00, 0x13, 0x00, 0x08, 0x00
.byte 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00
.byte 0x08, 0x00, 0x02, 0x00, 0x0C, 0x00, 0x08, 0x00, 0x08, 0x00, 0x02, 0x00, 0x17, 0x00, 0x08, 0x00
.byte 0x08, 0x00, 0x02, 0x00
ov92_02263C34: ; 0x02263C34
.byte 0xFE, 0x80, 0x80, 0x30, 0xFF, 0x00, 0x00, 0x00
ov92_02263C3C: ; 0x02263C3C
.byte 0xFE, 0x80, 0x80, 0x40
.byte 0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x04, 0x00, 0xBC, 0x02, 0x78, 0x05
.byte 0x34, 0x08, 0xF0, 0x0A, 0x78, 0x00, 0x5A, 0x00, 0x3C, 0x00, 0x2D, 0x00
ov92_02263C5C: ; 0x02263C5C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x40, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00
ov92_02263C68: ; 0x02263C68
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x06, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov92_02263C74: ; 0x02263C74
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00
ov92_02263C80: ; 0x02263C80
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00
ov92_02263C8C: ; 0x02263C8C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x40, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00
.byte 0x29, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00
.byte 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x03, 0x00
.byte 0x04, 0x00, 0x04, 0x00, 0x06, 0x00, 0x06, 0x00, 0x07, 0x00, 0x07, 0x00, 0x08, 0x00, 0x08, 0x00
ov92_02263CD0: ; 0x02263CD0
.byte 0x1F, 0x00, 0x00, 0x00
ov92_02263CD4: ; 0x02263CD4
.byte 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00
.byte 0x23, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00
.byte 0x25, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x04, 0x00
.byte 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0xFF, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEE, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFD, 0xFF, 0xFD, 0xFF, 0xFE, 0xFF, 0xFE, 0xFF
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xEE, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x03, 0x00
.byte 0x03, 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 0xFF, 0x00, 0x00, 0x00
ov92_02263D84: ; 0x02263D84
.byte 0x13, 0x00, 0x00, 0x00
ov92_02263D88: ; 0x02263D88
.byte 0x2D, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
.byte 0x2D, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
.byte 0x32, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
.byte 0x0A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
.byte 0x28, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00
.byte 0x0C, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00
.byte 0x1E, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2D, 0x00, 0x00, 0x00
.byte 0x0F, 0x00, 0x00, 0x00
ov92_02263E04: ; 0x02263E04
.byte 0xBC, 0x00, 0xBC, 0x00, 0xB4, 0x00, 0xB4, 0x00
ov92_02263E0C: ; 0x02263E0C
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
ov92_02263E1C: ; 0x02263E1C
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
ov92_02263E2C: ; 0x02263E2C
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
ov92_02263E3C: ; 0x02263E3C
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
ov92_02263E4C: ; 0x02263E4C
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
ov92_02263E5C: ; 0x02263E5C
.byte 0x60, 0x00, 0x3A, 0x00
.byte 0xE6, 0x00, 0x30, 0x00, 0x80, 0x00, 0x20, 0x00, 0x28, 0x00, 0x40, 0x00, 0xB4, 0x00, 0x30, 0x00
ov92_02263E70: ; 0x02263E70
.byte 0x00, 0xB0, 0xFF, 0xFF, 0x00, 0x30, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0xD0, 0xFF, 0xFF
.byte 0x00, 0x30, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF
ov92_02263E88: ; 0x02263E88
.byte 0x00, 0x40, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00
.byte 0x00, 0xC0, 0xFF, 0xFF, 0x00, 0xB0, 0xFF, 0xFF, 0x00, 0xD0, 0xFF, 0xFF, 0x00, 0x20, 0x00, 0x00
ov92_02263EA0: ; 0x02263EA0
.byte 0x96, 0x00, 0x00, 0x00
ov92_02263EA4: ; 0x02263EA4
.byte 0x00, 0x00, 0x00, 0x00
ov92_02263EA8: ; 0x02263EA8
.byte 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
ov92_02263EC4: ; 0x02263EC4
.byte 0x00, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x01, 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
.word ov92_02261BA0
.byte 0x96, 0x00, 0x00, 0x00, 0x03, 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
.word ov92_022621A4
.byte 0x96, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.word ov92_022621A4
.byte 0x96, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.word ov92_02262548
.byte 0x96, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.word ov92_02262548
.byte 0x96, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.word ov92_022628F0
.byte 0x96, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.word ov92_02262CEC
.byte 0x96, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.word ov92_02262CEC
.data
_02264020:
.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 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 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 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 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 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
_02264160:
; 0x02264160