Files
ph/asm/ov00/Player/PlayerControl.s
T
2024-04-16 20:00:04 +02:00

2960 lines
61 KiB
ArmAsm

.include "ov00/Player/PlayerControl.inc"
.include "macros/function.inc"
.text
.global _ZN13PlayerControl18_ZN13PlayerControl18func_ov00_020aeeacEvEv
arm_func_start _ZN13PlayerControl18_ZN13PlayerControl18func_ov00_020aeeacEvEv
_ZN13PlayerControl18_ZN13PlayerControl18func_ov00_020aeeacEvEv: ; 0x020aeeac
ldr r0, _020aeef0 ; =data_027e077c
ldr r2, _020aeef4 ; =data_02056be4
ldr r1, [r0]
mov r3, r1
ldrb r1, [r2, r1]
tst r1, #1
bne _020aeed4
ldrb r1, [r2, r3]
tst r1, #4
beq _020aeedc
_020aeed4:
mov r0, #0
bx lr
_020aeedc:
ldr r0, [r0, #4]
cmp r3, r0
moveq r0, #1
movne r0, #0
bx lr
.align 2, 0
arm_func_end _ZN13PlayerControl18_ZN13PlayerControl18func_ov00_020aeeacEvEv
_020aeef0: .word data_027e077c
_020aeef4: .word data_02056be4
.global _ZN13PlayerControl18func_ov00_020aeef8Ev
arm_func_start _ZN13PlayerControl18func_ov00_020aeef8Ev
_ZN13PlayerControl18func_ov00_020aeef8Ev: ; 0x020aeef8
stmdb sp!, {r3, lr}
ldr r0, _020aef2c ; =data_027e077c
ldr r1, [r0]
mov r0, r1
cmp r1, #0x37
cmpne r0, #0x3b
moveq r0, #0
ldmeqia sp!, {r3, pc}
cmp r0, #0x3d
moveq r0, #1
ldmeqia sp!, {r3, pc}
bl _ZN13PlayerControl18_ZN13PlayerControl18func_ov00_020aeeacEvEv
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020aeef8Ev
_020aef2c: .word data_027e077c
.global _ZN13PlayerControl18func_ov00_020aef30Ev
thumb_func_start _ZN13PlayerControl18func_ov00_020aef30Ev
_ZN13PlayerControl18func_ov00_020aef30Ev: ; 0x020aef30
push {r3, r4, lr}
sub sp, #0xc
add r4, r0, #0
blx func_ov00_020b78a0
add r4, #0xd4
ldr r0, [r4]
cmp r0, #0
beq _020aef56
ldr r1, _020aef5c ; =0x504c5952
ldr r2, _020aef60 ; =data_ov00_020e6148
str r1, [sp]
mov r1, #0
str r1, [sp, #4]
str r1, [sp, #8]
ldr r4, [r0]
ldr r3, _020aef64 ; =0x5043544c
ldr r4, [r4, #0x20]
blx r4
_020aef56:
add sp, #0xc
pop {r3, r4, pc}
nop
thumb_func_end _ZN13PlayerControl18func_ov00_020aef30Ev
_020aef5c: .word 0x504c5952
_020aef60: .word data_ov00_020e6148
_020aef64: .word 0x5043544c
.global _ZN13PlayerControl9UpdateAimEv
thumb_func_start _ZN13PlayerControl9UpdateAimEv
_ZN13PlayerControl9UpdateAimEv: ; 0x020aef68
push {r4, lr}
add r4, r0, #0
blx func_ov00_020b78a0
add r1, r4, #0
mov r0, #0
add r1, #0xbc
str r0, [r1]
add r1, r4, #0
add r1, #0xc0
str r0, [r1]
add r1, r4, #0
add r1, #0xc4
str r0, [r1]
add r1, r4, #0
add r1, #0x80
strb r0, [r1]
add r1, r4, #0
add r1, #0x82
strb r0, [r1]
add r1, r4, #0
sub r2, r0, #1
add r1, #0x84
str r2, [r1]
add r1, r4, #0
add r1, #0x88
str r2, [r1]
add r1, r4, #0
add r1, #0x8c
str r2, [r1]
add r1, r4, #0
add r1, #0x90
str r2, [r1]
add r1, r4, #0
add r1, #0x81
strb r0, [r1]
ldr r1, _020aeff0 ; =data_027e0d0c
add r0, r4, #0
ldr r2, [r1]
add r0, #0xb0
str r2, [r0]
add r0, r4, #0
ldr r2, [r1, #4]
add r0, #0xb4
str r2, [r0]
add r0, r4, #0
ldr r1, [r1, #8]
add r0, #0xb8
str r1, [r0]
ldr r0, _020aeff4 ; =data_027e0d38
ldr r0, [r0]
blx func_ov00_02078b40
cmp r0, #2
bne _020aefde
ldr r0, _020aeff8 ; =data_027e103c
ldr r0, [r0]
blx func_ov00_020cf2b8
_020aefde:
add r0, r4, #0
mov r1, #0
mvn r1, r1
add r0, #0xc8
str r1, [r0]
add r4, #0xcc
str r1, [r4]
pop {r4, pc}
nop
thumb_func_end _ZN13PlayerControl9UpdateAimEv
_020aeff0: .word data_027e0d0c
_020aeff4: .word data_027e0d38
_020aeff8: .word data_027e103c
.global _ZN13PlayerControl14GetFollowActorEv
arm_func_start _ZN13PlayerControl14GetFollowActorEv
_ZN13PlayerControl14GetFollowActorEv: ; 0x020aeffc
ldr r1, _020af014 ; =data_027e0fe4
mov r2, r0
ldr r0, [r1]
ldr ip, _020af018 ; =_ZN12ActorManager8GetActorEP8ActorRef
add r1, r2, #0x84
bx ip
.align 2, 0
arm_func_end _ZN13PlayerControl14GetFollowActorEv
_020af014: .word data_027e0fe4
_020af018: .word _ZN12ActorManager8GetActorEP8ActorRef
.global _ZN13PlayerControl18func_ov00_020af01cEPc
arm_func_start _ZN13PlayerControl18func_ov00_020af01cEPc
_ZN13PlayerControl18func_ov00_020af01cEPc: ; 0x020af01c
ldrb r2, [r0, #0x81]
cmp r2, #0
moveq r0, #0
bxeq lr
ldrb r2, [r0, #0x9c]
strb r2, [r1]
ldrb r2, [r0, #0x9d]
mov r0, #1
strb r2, [r1, #1]
bx lr
arm_func_end _ZN13PlayerControl18func_ov00_020af01cEPc
.global _ZN13PlayerControl9SetUnk_80Ev
arm_func_start _ZN13PlayerControl9SetUnk_80Ev
_ZN13PlayerControl9SetUnk_80Ev: ; 0x020af044
mov r1, #1
strb r1, [r0, #0x80]
bx lr
arm_func_end _ZN13PlayerControl9SetUnk_80Ev
.global _ZN13PlayerControl13StopFollowingEv
arm_func_start _ZN13PlayerControl13StopFollowingEv
_ZN13PlayerControl13StopFollowingEv: ; 0x020af050
mvn r1, #0
str r1, [r0, #0x84]
str r1, [r0, #0x88]
mov r1, #0
strb r1, [r0, #0x81]
str r1, [r0, #0xa0]
bx lr
arm_func_end _ZN13PlayerControl13StopFollowingEv
.global _ZN13PlayerControl18func_ov00_020af06cEv
arm_func_start _ZN13PlayerControl18func_ov00_020af06cEv
_ZN13PlayerControl18func_ov00_020af06cEv: ; 0x020af06c
stmdb sp!, {r4, r5, r6, lr}
mov r6, r0
ldrb r0, [r6, #0x78]
cmp r0, #0
moveq r0, #0
streqb r0, [r6, #0x79]
ldmeqia sp!, {r4, r5, r6, pc}
ldrb r0, [r6, #0x7a]
ldrb r5, [r6, #0x79]
cmp r0, #0
ldr r0, _020af27c ; =gAdventureFlags
strneb r5, [r6, #0x7b]
ldr r0, [r0]
bl _ZN14AdventureFlags18func_ov00_02097738Ev
cmp r0, #0
ldreq r0, _020af280 ; =data_027e0c68
ldreqb r0, [r0, #4]
cmpeq r0, #0
beq _020af0d4
ldr r0, _020af284 ; =data_027e0d38
ldr r0, [r0]
bl func_ov00_02078b40
cmp r0, #2
movne r0, #0
strneb r0, [r6, #0x79]
ldmia sp!, {r4, r5, r6, pc}
_020af0d4:
ldr r0, _020af288 ; =gItemManager
ldr r0, [r0]
ldr r4, [r0]
cmp r4, #9
bne _020af104
mov r1, #0
bl _ZNK11ItemManager9HasPotionEj
cmp r0, #0
beq _020af124
mov r0, #1
strb r0, [r6, #0x79]
ldmia sp!, {r4, r5, r6, pc}
_020af104:
cmp r4, #0xa
bne _020af124
mov r1, #1
bl _ZNK11ItemManager9HasPotionEj
cmp r0, #0
movne r0, #1
strneb r0, [r6, #0x79]
ldmneia sp!, {r4, r5, r6, pc}
_020af124:
ldr r0, _020af284 ; =data_027e0d38
ldr r0, [r0]
bl func_ov00_02078b40
cmp r0, #2
bne _020af164
mov r1, #1
ldr r0, _020af288 ; =gItemManager
strb r1, [r6, #0x7b]
ldr r0, [r0]
bl _ZN11ItemManager18func_ov00_020ad790Ei
ldrb r1, [r6, #0x7b]
tst r1, r0
movne r0, #1
moveq r0, #0
strb r0, [r6, #0x7b]
b _020af268
_020af164:
ldr r0, _020af28c ; =data_027e05f8
ldrh r0, [r0]
tst r0, #0x300
ldrneb r0, [r6, #0x7e]
cmpne r0, #0
beq _020af190
bl _ZN13PlayerControl18func_ov00_020aeef8Ev
cmp r0, #0
movne r0, #1
strneb r0, [r6, #0x7b]
bne _020af1f8
_020af190:
ldr r0, _020af28c ; =data_027e05f8
ldrh r0, [r0]
tst r0, #0x300
bne _020af1b4
ldrb r0, [r6, #0x83]
cmp r0, #0
movne r0, #0
strneb r0, [r6, #0x7b]
bne _020af1f8
_020af1b4:
ldr r0, _020af290 ; =data_027e103c
ldr r0, [r0]
ldrsh r0, [r0, #0x20]
cmp r0, #2
ldreqb r0, [r6, #0xc]
cmpeq r0, #0
bne _020af1f8
bl _ZN13PlayerControl18func_ov00_020aeef8Ev
cmp r0, #0
beq _020af1f8
ldrb r0, [r6, #0x7b]
cmp r0, #0
moveq r0, #1
movne r0, #0
strb r0, [r6, #0x7b]
mov r0, #0
strb r0, [r6, #0x7c]
_020af1f8:
ldr r0, _020af288 ; =gItemManager
mov r1, #1
ldr r0, [r0]
bl _ZN11ItemManager18func_ov00_020ad790Ei
ldrb r1, [r6, #0x7b]
tst r1, r0
movne r0, #1
moveq r0, #0
cmp r4, #8
strb r0, [r6, #0x7b]
cmpeq r5, #0
ldreqb r0, [r6, #0x7b]
cmpeq r0, #1
bne _020af268
ldr r0, _020af288 ; =gItemManager
mov r1, #0
ldr r0, [r0]
bl _ZNK11ItemManager8GetFairyEi
cmp r0, #0
beq _020af268
ldr r1, _020af294 ; =data_027e0f94
ldr r2, [r0, #0x50]
ldr r1, [r1, #4]
ldr r0, [r0, #0x48]
add r1, r1, #0x800
str r0, [r6, #0xbc]
str r1, [r6, #0xc0]
str r2, [r6, #0xc4]
_020af268:
ldrb r0, [r6, #0x7a]
cmp r0, #0
ldrneb r0, [r6, #0x7b]
strneb r0, [r6, #0x79]
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020af06cEv
_020af27c: .word gAdventureFlags
_020af280: .word data_027e0c68
_020af284: .word data_027e0d38
_020af288: .word gItemManager
_020af28c: .word data_027e05f8
_020af290: .word data_027e103c
_020af294: .word data_027e0f94
.global _ZN13PlayerControl20UpdateUsingEquipItemEv
arm_func_start _ZN13PlayerControl20UpdateUsingEquipItemEv
_ZN13PlayerControl20UpdateUsingEquipItemEv: ; 0x020af298
stmdb sp!, {r4, lr}
ldr r1, _020af2d0 ; =data_027e05f8
mov r4, r0
ldrh r0, [r1]
tst r0, #0x300
beq _020af2c4
bl _ZN13PlayerControl18func_ov00_020aeef8Ev
cmp r0, #0
movne r0, #1
strneb r0, [r4, #0x79]
ldmneia sp!, {r4, pc}
_020af2c4:
mov r0, #0
strb r0, [r4, #0x79]
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl20UpdateUsingEquipItemEv
_020af2d0: .word data_027e05f8
.global _ZN13PlayerControl18func_ov00_020af2d4Ejb
arm_func_start _ZN13PlayerControl18func_ov00_020af2d4Ejb
_ZN13PlayerControl18func_ov00_020af2d4Ejb: ; 0x020af2d4
stmdb sp!, {r4, r5, r6, lr}
ldr r3, _020af3bc ; =data_027e0d38
mov r6, r0
ldr r0, [r3]
mov r5, r1
mov r4, r2
bl func_ov00_02078b40
cmp r0, #2
bne _020af33c
cmp r4, #0
beq _020af33c
bl func_ov15_0213ce4c
ldrb r0, [r0, #0x3d]
cmp r0, #0
movne r0, #0
ldmneia sp!, {r4, r5, r6, pc}
bl func_ov15_0213ce4c
bl func_ov15_0213dcb0
cmp r0, #0
bne _020af334
bl func_ov15_0213ce4c
bl func_ov15_0213dcb8
cmp r0, #0
beq _020af33c
_020af334:
mov r0, #0
ldmia sp!, {r4, r5, r6, pc}
_020af33c:
ldrb r0, [r6, #0x7c]
cmp r0, #0
beq _020af3ac
tst r5, #2
mov r4, #1
mov r2, #0
beq _020af370
ldr r0, _020af3c0 ; =data_027e077c
ldr r1, _020af3c4 ; =data_02056be4
ldr r0, [r0]
ldrb r0, [r1, r0]
tst r0, #1
movne r2, r4
_020af370:
cmp r2, #0
bne _020af3a4
tst r5, #1
beq _020af3a0
bl _ZN13PlayerControl18func_ov00_020aeef8Ev
cmp r0, #0
beq _020af3a0
ldr r0, _020af3c8 ; =data_027e103c
ldr r0, [r0]
ldrb r0, [r0, #0x24]
cmp r0, #0
bne _020af3a4
_020af3a0:
mov r4, #0
_020af3a4:
mov r0, r4
ldmia sp!, {r4, r5, r6, pc}
_020af3ac:
tst r5, #4
movne r0, #1
moveq r0, #0
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020af2d4Ejb
_020af3bc: .word data_027e0d38
_020af3c0: .word data_027e077c
_020af3c4: .word data_02056be4
_020af3c8: .word data_027e103c
.global _ZN13PlayerControl15CheckTouchedNowEj
arm_func_start _ZN13PlayerControl15CheckTouchedNowEj
_ZN13PlayerControl15CheckTouchedNowEj: ; 0x020af3cc
stmdb sp!, {r3, r4, r5, lr}
mov r2, #1
mov r5, r0
mov r4, #0
bl _ZN13PlayerControl18func_ov00_020af2d4Ejb
cmp r0, #0
beq _020af3f4
ldrh r0, [r5, #0x34]
tst r0, #1
movne r4, #1
_020af3f4:
mov r0, r4
ldmia sp!, {r3, r4, r5, pc}
arm_func_end _ZN13PlayerControl15CheckTouchedNowEj
.global _ZN13PlayerControl17CheckUntouchedNowEj
arm_func_start _ZN13PlayerControl17CheckUntouchedNowEj
_ZN13PlayerControl17CheckUntouchedNowEj: ; 0x020af3fc
stmdb sp!, {r3, r4, r5, lr}
mov r2, #1
mov r5, r0
mov r4, #0
bl _ZN13PlayerControl18func_ov00_020af2d4Ejb
cmp r0, #0
beq _020af424
ldrh r0, [r5, #0x34]
tst r0, #2
movne r4, #1
_020af424:
mov r0, r4
ldmia sp!, {r3, r4, r5, pc}
arm_func_end _ZN13PlayerControl17CheckUntouchedNowEj
.global _ZN13PlayerControl13CheckTouchingEj
arm_func_start _ZN13PlayerControl13CheckTouchingEj
_ZN13PlayerControl13CheckTouchingEj: ; 0x020af42c
stmdb sp!, {r4, lr}
mov r2, #1
mov r4, r0
bl _ZN13PlayerControl18func_ov00_020af2d4Ejb
cmp r0, #0
ldrneb r0, [r4, #0xc]
cmpne r0, #0
movne r0, #1
moveq r0, #0
ldmia sp!, {r4, pc}
arm_func_end _ZN13PlayerControl13CheckTouchingEj
.global _ZN13PlayerControl14CheckTouchFastEj
arm_func_start _ZN13PlayerControl14CheckTouchFastEj
_ZN13PlayerControl14CheckTouchFastEj: ; 0x020af454
stmdb sp!, {r4, lr}
mov r2, #1
mov r4, r0
bl _ZN13PlayerControl18func_ov00_020af2d4Ejb
cmp r0, #0
beq _020af49c
ldr r0, [r4, #0x5c]
cmp r0, #0x800
ldrgtsh r0, [r4, #0x64]
cmpgt r0, #0
ble _020af49c
ldrsh r1, [r4, #0x60]
cmp r0, r1
bgt _020af49c
add r0, r0, #0xf
cmp r1, r0
movlt r0, #1
ldmltia sp!, {r4, pc}
_020af49c:
mov r0, #0
ldmia sp!, {r4, pc}
arm_func_end _ZN13PlayerControl14CheckTouchFastEj
.global _ZN13PlayerControl18func_ov00_020af4a4Ev
arm_func_start _ZN13PlayerControl18func_ov00_020af4a4Ev
_ZN13PlayerControl18func_ov00_020af4a4Ev: ; 0x020af4a4
stmdb sp!, {r3, lr}
ldr r0, _020af528 ; =data_027e0d38
ldr r0, [r0]
ldr r0, [r0, #0x28]
ldrb r0, [r0, #0x34]
cmp r0, #0
bne _020af520
ldr r1, _020af52c ; =data_027e0e2c
mvn r0, #0
ldr r1, [r1, #4]
cmp r1, r0
bne _020af520
ldr r0, _020af530 ; =data_027e103c
ldr r0, [r0]
bl func_ov05_02103f4c
cmp r0, #0
bne _020af520
bl _ZN13PlayerControl18_ZN13PlayerControl18func_ov00_020aeeacEvEv
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
ldr r0, _020af534 ; =data_027e077c
ldr r0, [r0]
cmp r0, #0x1a
cmpne r0, #0x1b
cmpne r0, #0x1c
bne _020af518
mov r0, #1
ldmia sp!, {r3, pc}
_020af518:
mov r0, #0
ldmia sp!, {r3, pc}
_020af520:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020af4a4Ev
_020af528: .word data_027e0d38
_020af52c: .word data_027e0e2c
_020af530: .word data_027e103c
_020af534: .word data_027e077c
.global _ZN13PlayerControl18func_ov00_020af538Ev
arm_func_start _ZN13PlayerControl18func_ov00_020af538Ev
_ZN13PlayerControl18func_ov00_020af538Ev: ; 0x020af538
stmdb sp!, {r4, r5, lr}
sub sp, sp, #0xc
mov r4, r0
strb r1, [r4, #0x7c]
strb r2, [r4, #0x7e]
strb r1, [r4, #0x7d]
ldrb r0, [r4, #0x78]
cmp r0, #0
beq _020af57c
ldr r0, _020af6c4 ; =gAdventureFlags
ldr r0, [r0]
bl _ZN14AdventureFlags18func_ov00_02097738Ev
cmp r0, #0
ldreq r0, _020af6c8 ; =data_027e0c68
ldreqb r0, [r0, #4]
cmpeq r0, #0
beq _020af584
_020af57c:
mov r5, #1
b _020af588
_020af584:
mov r5, #0
_020af588:
cmp r5, #0
bne _020af5a0
mov r0, r4
bl _ZN13PlayerControl18func_ov00_020af4a4Ev
cmp r0, #0
bne _020af5a8
_020af5a0:
mov r0, #0
strb r0, [r4, #0x7c]
_020af5a8:
cmp r5, #0
bne _020af5bc
bl _ZN13PlayerControl18func_ov00_020aeef8Ev
cmp r0, #0
bne _020af5c4
_020af5bc:
mov r0, #0
strb r0, [r4, #0x7d]
_020af5c4:
ldrb r1, [r4, #0x7c]
mov r0, r4
bl func_ov00_020b7924
ldrb r0, [r4, #0x7c]
cmp r0, #0
beq _020af644
ldrsh r0, [r4, #0x60]
cmp r0, #0
bne _020af644
mov r0, r4
bl _ZN13PlayerControl14GetFollowActorEv
cmp r0, #0
ldreqb r0, [r4, #0x81]
cmpeq r0, #0
beq _020af620
ldr r1, _020af6cc ; =data_027e0fac
ldr r0, _020af6d0 ; =data_027e0ffc
ldrsh r2, [r1]
ldr r1, _020af6d4 ; =0x0000010a
mov r3, #0
bl func_ov00_020cebcc
mov r0, r4
bl _ZN13PlayerControl13StopFollowingEv
_020af620:
ldr r0, _020af6d8 ; =data_027e0e60
add r1, sp, #0
ldr r0, [r0]
bl func_ov00_02085108
cmp r0, #3
cmpne r0, #7
moveq r0, #1
movne r0, #0
strb r0, [r4, #0x82]
_020af644:
ldrb r5, [r4, #0x79]
mov r0, r4
bl _ZN13PlayerControl18func_ov00_020af06cEv
cmp r5, #0
beq _020af670
ldrb r0, [r4, #0x79]
cmp r0, #0
bne _020af670
ldr r0, _020af6dc ; =data_027e103c
ldr r0, [r0]
bl func_ov00_020cf20c
_020af670:
mov r5, #0
_020af674:
ldr r0, [r4, #0xd0]
ldr r0, [r0, r5, lsl #2]
cmp r0, #0
beq _020af694
ldr r2, [r0]
mov r1, r4
ldr r2, [r2, #0xc]
blx r2
_020af694:
add r5, r5, #1
cmp r5, #2
blt _020af674
mov r1, #0
ldr r0, _020af6e0 ; =data_027e05f8
strb r1, [r4, #0x7f]
ldrh r0, [r0]
tst r0, #0x300
movne r1, #1
strb r1, [r4, #0x83]
add sp, sp, #0xc
ldmia sp!, {r4, r5, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020af538Ev
_020af6c4: .word gAdventureFlags
_020af6c8: .word data_027e0c68
_020af6cc: .word data_027e0fac
_020af6d0: .word data_027e0ffc
_020af6d4: .word 0x0000010a
_020af6d8: .word data_027e0e60
_020af6dc: .word data_027e103c
_020af6e0: .word data_027e05f8
.global _ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii
arm_func_start _ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii
_ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii: ; 0x020af6e4
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #4
cmp r3, #4
mov r4, r0
mov r6, r1
mov r5, r2
addeq sp, sp, #4
ldmeqia sp!, {r3, r4, r5, r6, pc}
cmp r5, #0
ble _020af72c
ldr r0, _020af770 ; =data_027e0f94
bl func_01ff9ec0
cmp r0, r5
addge sp, sp, #4
ldmgeia sp!, {r3, r4, r5, r6, pc}
mvn r0, #0
str r0, [r4, #0x84]
str r0, [r4, #0x88]
_020af72c:
ldr r1, _020af774 ; =data_027e0e60
add r0, sp, #0
ldr r1, [r1]
mov r2, r6
bl func_ov00_02083a1c
ldrb r0, [sp]
mov r2, #1
mov r1, #0
strb r0, [r4, #0x9c]
ldrb r3, [sp, #1]
mov r0, #0xf
strb r3, [r4, #0x9d]
strb r2, [r4, #0x81]
strb r1, [r4, #0x80]
strh r0, [r4, #0xa8]
add sp, sp, #4
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii
_020af770: .word data_027e0f94
_020af774: .word data_027e0e60
.global _ZN13PlayerControl18func_ov00_020af778Ev
arm_func_start _ZN13PlayerControl18func_ov00_020af778Ev
_ZN13PlayerControl18func_ov00_020af778Ev: ; 0x020af778
stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
sub sp, sp, #0x14
mov r9, r0
ldrb r0, [r9, #0x78]
cmp r0, #0
beq _020af7b8
ldr r0, _020afabc ; =gAdventureFlags
ldr r0, [r0]
bl _ZN14AdventureFlags18func_ov00_02097738Ev
cmp r0, #0
bne _020af7b8
ldr r0, _020afabc ; =gAdventureFlags
ldr r0, [r0]
bl _ZN14AdventureFlags18func_ov00_02097750Ev
cmp r0, #0
beq _020af7cc
_020af7b8:
mov r0, #0xf
strh r0, [r9, #0xaa]
add sp, sp, #0x14
mov r0, #0
ldmia sp!, {r4, r5, r6, r7, r8, r9, pc}
_020af7cc:
ldrsh r0, [r9, #0xaa]
cmp r0, #0
ble _020af7ec
sub r0, r0, #1
strh r0, [r9, #0xaa]
add sp, sp, #0x14
mov r0, #0
ldmia sp!, {r4, r5, r6, r7, r8, r9, pc}
_020af7ec:
bl _ZN13PlayerControl18func_ov00_020aeef8Ev
cmp r0, #0
bne _020af810
mvn r0, #0
str r0, [r9, #0x8c]
str r0, [r9, #0x90]
add sp, sp, #0x14
mov r0, #0
ldmia sp!, {r4, r5, r6, r7, r8, r9, pc}
_020af810:
ldrh r0, [r9, #0x34]
mov r4, #0
mov r5, r4
tst r0, #2
beq _020af8b0
ldrsh r0, [r9, #0x60]
cmp r0, #0x15
bge _020af8b0
ldrsh r0, [r9, #0x68]
ldr r1, [r9, #0x28]
ldrsh r2, [r9, #0x66]
sub r1, r1, r0
mul r0, r1, r1
ldr r1, [r9, #0x24]
sub r1, r1, r2
mla r0, r1, r1, r0
cmp r0, #0x64
bge _020af8b0
mov r0, r9
mov r1, #7
mov r2, #1
bl _ZN13PlayerControl18func_ov00_020af2d4Ejb
cmp r0, #0
ldrneb r0, [r9, #0x79]
movne r4, #1
cmpne r0, #0
beq _020af8b0
ldr r0, _020afac0 ; =data_027e0f90
ldr r0, [r0]
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
mov r1, r0
mvn r0, #0
cmp r1, r0
beq _020af8b0
ldr r0, _020afac4 ; =gItemManager
ldr r0, [r0]
bl _ZN11ItemManager12GetEquipItemEi
mov r5, r0
_020af8b0:
ldr r0, _020afac8 ; =data_027e0fc8
mov r8, #0
ldr r1, [r0]
cmp r1, #0
beq _020af8dc
ldr r0, _020afacc ; =data_027e0fe4
add r1, r1, #0x3c
ldr r0, [r0]
bl _ZN12ActorManager8GetActorEP8ActorRef
cmp r0, #0
movne r8, #1
_020af8dc:
cmp r4, #0
mov r4, #0
beq _020afa68
ldr r0, _020afacc ; =data_027e0fe4
add r1, r9, #0x8c
ldr r0, [r0]
bl _ZN12ActorManager8GetActorEP8ActorRef
movs r6, r0
mov r7, r4
beq _020af97c
ldr r7, [r6, #0x12c]
mov r0, r9
mov r1, r7
mov r2, r8
bl _ZN13PlayerControl18func_ov00_020afe88Eib
cmp r0, #0
beq _020af97c
cmp r5, #0
beq _020af944
mov r0, r5
ldr r2, [r0]
mov r1, r7
ldr r2, [r2, #0x44]
blx r2
cmp r0, #0
beq _020af97c
_020af944:
ldr r1, [r9, #0x8c]
mvn r0, #0
str r1, [r9, #0x84]
ldr r2, [r9, #0x90]
mov r1, #0
str r2, [r9, #0x88]
str r0, [r9, #0x8c]
str r0, [r9, #0x90]
mov r0, r6
strb r1, [r9, #0x80]
mov r1, #0xf
strh r1, [r9, #0xa8]
bl _ZN5Actor16XzDistanceToLinkEv
mov r4, r0
_020af97c:
ldr r0, _020afad0 ; =data_027e0e60
add r1, sp, #8
ldr r0, [r0]
bl func_ov00_02085108
ldr r2, _020afad4 ; =data_027e0f94
mov r1, r0
ldr r0, [r2, #4]
cmp r5, #0
str r0, [sp, #0xc]
bne _020af9e0
cmp r1, #0
beq _020afaa8
mov r0, r9
mov r2, r8
bl _ZN13PlayerControl18func_ov00_020afeecEib
cmp r0, #0
beq _020afaa8
add r1, sp, #8
mov r0, r9
mov r2, r4
mov r3, r7
bl _ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii
add sp, sp, #0x14
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, r8, r9, pc}
_020af9e0:
mov r0, r5
ldr r2, [r0]
ldr r2, [r2, #0x48]
blx r2
cmp r0, #0
beq _020afa18
add r1, sp, #8
mov r0, r9
mov r2, r4
mov r3, r7
bl _ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii
add sp, sp, #0x14
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, r8, r9, pc}
_020afa18:
cmp r4, #0
bne _020afaa8
mov r0, r5
ldr r1, [r0]
ldr r1, [r1, #0x40]
blx r1
cmp r0, #0
beq _020afaa8
add r1, sp, #8
mov r0, r9
mov r2, #0
bl func_ov00_020b7d4c
add r1, sp, #8
mov r0, r9
mov r2, r4
mov r3, r7
bl _ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii
add sp, sp, #0x14
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, r8, r9, pc}
_020afa68:
ldr r1, _020afacc ; =data_027e0fe4
add r0, sp, #0
ldr r1, [r1]
mov r2, r4
bl _ZN12ActorManager18func_ov00_020c3484EP8ActorRefP5Actori
ldr r0, [sp]
str r0, [r9, #0x8c]
ldr r0, [sp, #4]
str r0, [r9, #0x90]
ldrsh r0, [r9, #0x60]
cmp r0, #0
bne _020afaa8
ldr r0, [r9, #0x8c]
str r0, [r9, #0x94]
ldr r0, [r9, #0x90]
str r0, [r9, #0x98]
_020afaa8:
cmp r4, #0
movgt r0, #1
movle r0, #0
add sp, sp, #0x14
ldmia sp!, {r4, r5, r6, r7, r8, r9, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020af778Ev
_020afabc: .word gAdventureFlags
_020afac0: .word data_027e0f90
_020afac4: .word gItemManager
_020afac8: .word data_027e0fc8
_020afacc: .word data_027e0fe4
_020afad0: .word data_027e0e60
_020afad4: .word data_027e0f94
.global _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p
arm_func_start _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p
_ZN13PlayerControl18func_ov00_020afad8EP5Vec3p: ; 0x020afad8
stmdb sp!, {lr}
sub sp, sp, #0xc
ldr r2, _020afb60 ; =data_027e0f94
ldr r3, [r1, #4]
ldr r1, [r2, #4]
cmp r3, r1
addge sp, sp, #0xc
movge r0, #0
ldmgeia sp!, {pc}
ldrb r0, [r0, #0x79]
cmp r0, #0
beq _020afb54
ldr r0, _020afb64 ; =data_027e0f90
ldr r0, [r0]
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
cmp r0, #3
bne _020afb48
ldr r0, _020afb68 ; =data_027e0e60
add r1, sp, #0
ldr r0, [r0]
bl func_ov00_02085594
cmp r0, #0
movne r0, #1
add sp, sp, #0xc
moveq r0, #0
ldmia sp!, {pc}
_020afb48:
add sp, sp, #0xc
mov r0, #0
ldmia sp!, {pc}
_020afb54:
mov r0, #0
add sp, sp, #0xc
ldmia sp!, {pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p
_020afb60: .word data_027e0f94
_020afb64: .word data_027e0f90
_020afb68: .word data_027e0e60
.global _ZN13PlayerControl18func_ov00_020afb6cEv
arm_func_start _ZN13PlayerControl18func_ov00_020afb6cEv
_ZN13PlayerControl18func_ov00_020afb6cEv: ; 0x020afb6c
stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
sub sp, sp, #0x20
mov r9, r0
bl _ZN13PlayerControl18func_ov00_020af778Ev
ldr r1, _020afe70 ; =data_027e0fe4
mov r4, r0
ldr r0, [r1]
add r1, r9, #0x84
bl _ZN12ActorManager8GetActorEP8ActorRef
ldr r1, _020afe74 ; =gItemManager
mov r5, r0
ldr r6, [r1]
mov r0, r6
bl _ZNK11ItemManager16GetEquippedFairyEv
mov r1, r0
mov r0, r6
bl _ZNK11ItemManager8GetFairyEi
cmp r5, #0
ldreqb r1, [r9, #0x81]
cmpeq r1, #0
bne _020afbcc
cmp r0, #0
beq _020afbcc
bl func_ov00_020bad18
_020afbcc:
cmp r5, #0
ldr r6, [r9, #0xa4]
beq _020afce8
ldr r0, _020afe78 ; =data_027e0f94
add r1, r5, #0x48
bl func_01ff9ec0
mov r6, r0
add r1, sp, #0x10
mov r0, r5
bl _ZN5Actor9GetHitboxEP8Cylinder
ldr r0, [sp, #0x14]
mov r1, #0
add r0, r0, #0x66
add r2, r0, #0x600
str r2, [sp, #0x14]
ldr r0, [r5, #0x12c]
mov r7, r1
cmp r0, #5
mov r8, #3
addls pc, pc, r0, lsl #2
b _020afc84
_020afc20: ; jump table
b _020afc38 ; case 0
b _020afc48 ; case 1
b _020afc6c ; case 2
b _020afc84 ; case 3
b _020afc84 ; case 4
b _020afc50 ; case 5
_020afc38:
sub r0, r8, #4
str r0, [r9, #0x84]
str r0, [r9, #0x88]
b _020afc9c
_020afc48:
mov r7, #1
b _020afc9c
_020afc50:
add r0, r5, #0x100
ldrsh r0, [r0, #0x1e]
mov r7, #2
mov r8, #1
add r0, r2, r0
str r0, [sp, #0x14]
b _020afc9c
_020afc6c:
ldr r0, [sp, #0x1c]
mov r7, r8
add r0, r2, r0
mov r8, r1
str r0, [sp, #0x14]
b _020afc9c
_020afc84:
ldr r1, [sp, #0x14]
ldr r0, [sp, #0x1c]
mov r7, #2
add r0, r1, r0
mov r8, r7
str r0, [sp, #0x14]
_020afc9c:
cmp r7, #0
beq _020afcf4
ldr r0, _020afe7c ; =data_027e0fc8
ldr r0, [r0]
bl func_ov00_020bc46c
cmp r0, #0
bne _020afcf4
add r1, sp, #0x10
mov r0, r9
mov r2, r7
bl _ZN13PlayerControl18func_ov00_020aff90Eii
cmp r4, #0
beq _020afcf4
ldr r2, [r5, #8]
ldr r0, _020afe80 ; =data_027e0ffc
add r1, sp, #0x10
mov r3, r8
bl func_ov00_020ced64
b _020afcf4
_020afce8:
mvn r0, #0
str r0, [r9, #0x84]
str r0, [r9, #0x88]
_020afcf4:
ldrb r0, [r9, #0x81]
cmp r0, #0
beq _020afe24
ldr r0, _020afe84 ; =data_027e0e60
add r1, r9, #0x9c
ldr r0, [r0]
bl func_ov00_020840c4
str r0, [r9, #0xa0]
cmp r0, #0
beq _020afd88
ldr r1, [r0, #0x18]
str r1, [sp, #4]
ldr r1, [r0, #0x1c]
str r1, [sp, #8]
ldr r0, [r0, #0x20]
str r0, [sp, #0xc]
ldr r0, [r9, #0xa0]
ldr r1, [r0]
ldr r1, [r1, #0x54]
blx r1
cmp r0, #0
moveq r0, #0
beq _020afd5c
ldr r1, [r0]
ldr r1, [r1, #0x44]
blx r1
_020afd5c:
ldr r1, [sp, #8]
add r0, r1, r0
str r0, [sp, #8]
ldr r0, [r9, #0xa0]
ldrsb r0, [r0, #0x12]
cmp r0, #1
moveq r5, #1
moveq r6, #3
movne r5, #2
movne r6, r5
b _020afdc4
_020afd88:
ldr r1, _020afe78 ; =data_027e0f94
ldr r0, _020afe84 ; =data_027e0e60
ldr r1, [r1, #4]
ldr r0, [r0]
str r1, [sp, #8]
ldrb r3, [r9, #0x9c]
ldrb r2, [r9, #0x9d]
sub r5, sp, #4
add r1, sp, #4
strb r3, [r5]
strb r2, [r5, #1]
ldr r2, [r5]
bl func_ov00_02083c7c
mov r5, #2
mov r6, #3
_020afdc4:
cmp r5, #0
beq _020afe10
ldr r0, _020afe7c ; =data_027e0fc8
ldr r0, [r0]
bl func_ov00_020bc46c
cmp r0, #0
bne _020afe10
add r1, sp, #4
mov r0, r9
mov r2, r5
bl _ZN13PlayerControl18func_ov00_020aff90Eii
cmp r4, #0
beq _020afe10
str r6, [sp]
ldrb r2, [r9, #0x9c]
ldrb r3, [r9, #0x9d]
ldr r0, _020afe80 ; =data_027e0ffc
add r1, sp, #4
bl func_ov00_020ced7c
_020afe10:
ldr r0, _020afe78 ; =data_027e0f94
add r1, sp, #4
bl func_01ff9ec0
mov r6, r0
b _020afe2c
_020afe24:
mov r0, #0
str r0, [r9, #0xa0]
_020afe2c:
ldrsh r1, [r9, #0xa8]
cmp r1, #0
ble _020afe64
ldr r0, [r9, #0xa4]
sub r0, r0, r6
cmp r0, #0x29
bgt _020afe64
sub r0, r1, #1
strh r0, [r9, #0xa8]
ldrsh r0, [r9, #0xa8]
cmp r0, #0
bgt _020afe64
mov r0, r9
bl _ZN13PlayerControl13StopFollowingEv
_020afe64:
str r6, [r9, #0xa4]
add sp, sp, #0x20
ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020afb6cEv
_020afe70: .word data_027e0fe4
_020afe74: .word gItemManager
_020afe78: .word data_027e0f94
_020afe7c: .word data_027e0fc8
_020afe80: .word data_027e0ffc
_020afe84: .word data_027e0e60
.global _ZN13PlayerControl18func_ov00_020afe88Eib
arm_func_start _ZN13PlayerControl18func_ov00_020afe88Eib
_ZN13PlayerControl18func_ov00_020afe88Eib: ; 0x020afe88
stmdb sp!, {r3, r4, r5, lr}
ldrb r0, [r0, #0x7d]
mov r5, r1
mov r4, r2
cmp r0, #0
beq _020afebc
ldr r0, _020afee8 ; =data_027e0fcc
ldr r0, [r0]
ldr r2, [r0]
ldr r2, [r2, #0x74]
blx r2
cmp r0, #0
bne _020afec4
_020afebc:
mov r0, #0
ldmia sp!, {r3, r4, r5, pc}
_020afec4:
cmp r4, #0
beq _020afee0
cmp r5, #2
cmpne r5, #6
moveq r0, #1
movne r0, #0
ldmia sp!, {r3, r4, r5, pc}
_020afee0:
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020afe88Eib
_020afee8: .word data_027e0fcc
.global _ZN13PlayerControl18func_ov00_020afeecEib
arm_func_start _ZN13PlayerControl18func_ov00_020afeecEib
_ZN13PlayerControl18func_ov00_020afeecEib: ; 0x020afeec
stmdb sp!, {r3, r4, r5, lr}
ldrb r0, [r0, #0x7d]
mov r5, r1
mov r4, r2
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r0, _020aff8c ; =data_027e0fcc
ldr r0, [r0]
ldr r2, [r0]
ldr r2, [r2, #0x78]
blx r2
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
cmp r5, #0xd
addls pc, pc, r5, lsl #2
b _020aff7c
_020aff34: ; jump table
b _020aff7c ; case 0
b _020aff6c ; case 1
b _020aff6c ; case 2
b _020aff7c ; case 3
b _020aff7c ; case 4
b _020aff7c ; case 5
b _020aff7c ; case 6
b _020aff6c ; case 7
b _020aff7c ; case 8
b _020aff7c ; case 9
b _020aff74 ; case 10
b _020aff74 ; case 11
b _020aff7c ; case 12
b _020aff6c ; case 13
_020aff6c:
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
_020aff74:
mov r0, r4
ldmia sp!, {r3, r4, r5, pc}
_020aff7c:
cmp r4, #0
moveq r0, #1
movne r0, #0
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020afeecEib
_020aff8c: .word data_027e0fcc
.global _ZN13PlayerControl18func_ov00_020aff90Eii
arm_func_start _ZN13PlayerControl18func_ov00_020aff90Eii
_ZN13PlayerControl18func_ov00_020aff90Eii: ; 0x020aff90
stmdb sp!, {r4, r5, r6, lr}
ldr r0, _020affe4 ; =data_027e0d38
mov r6, r1
ldr r0, [r0]
mov r5, r2
bl func_ov00_02078b40
cmp r0, #2
ldmeqia sp!, {r4, r5, r6, pc}
ldr r0, _020affe8 ; =gItemManager
ldr r4, [r0]
mov r0, r4
bl _ZNK11ItemManager16GetEquippedFairyEv
mov r1, r0
mov r0, r4
bl _ZNK11ItemManager8GetFairyEi
cmp r0, #0
ldmeqia sp!, {r4, r5, r6, pc}
mov r1, r6
mov r2, r5
bl func_ov00_020baca8
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020aff90Eii
_020affe4: .word data_027e0d38
_020affe8: .word gItemManager
.global _ZN13PlayerControl18func_ov00_020affecEP5Vec3piiS1_
arm_func_start _ZN13PlayerControl18func_ov00_020affecEP5Vec3piiS1_
_ZN13PlayerControl18func_ov00_020affecEP5Vec3piiS1_: ; 0x020affec
stmdb sp!, {r3, r4, r5, r6, r7, lr}
sub sp, sp, #0x30
mov r7, r0
ldr r0, [r7, #0x44]
mov r6, r1
cmp r0, #0
ldreq r0, [r7, #0x4c]
mov r5, r3
ldr r4, [sp, #0x48]
cmpeq r0, #0
beq _020b0134
mov r0, r2
add r3, sp, #0x24
add r1, r7, #0x44
add r2, r7, #0x38
bl func_01ff9e64
add r0, sp, #0x18
mov r1, #0
str r1, [r0]
str r1, [r0, #4]
str r1, [r0, #8]
ldr r3, [r4]
ldr r2, [sp, #0x24]
ldr r1, [sp, #0x2c]
sub r2, r3, r2
str r2, [sp, #0x18]
ldr r2, [r4, #8]
sub r1, r2, r1
str r1, [sp, #0x20]
bl func_01ff9cec
cmp r0, r5
bgt _020b008c
ldr r0, [sp, #0x24]
str r0, [r6]
ldr r0, [sp, #0x28]
str r0, [r6, #4]
ldr r0, [sp, #0x2c]
add sp, sp, #0x30
str r0, [r6, #8]
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_020b008c:
add r0, sp, #0xc
mov r1, #0
str r1, [r0]
str r1, [r0, #4]
str r1, [r0, #8]
ldr r1, [r7, #0x44]
str r1, [sp, #0xc]
ldr r1, [r7, #0x4c]
str r1, [sp, #0x14]
bl func_01ff9cec
bl func_01ff991c
mov r4, r0
ldr r1, [sp, #0xc]
ldr r0, [sp, #0x14]
smull r2, r3, r1, r4
adds r7, r2, #0x800
smull r2, r1, r0, r4
adc r0, r3, #0
mov r3, r7, lsr #0xc
orr r3, r3, r0, lsl #20
adds r2, r2, #0x800
adc r0, r1, #0
mov r1, r2, lsr #0xc
orr r1, r1, r0, lsl #20
str r1, [sp, #0x14]
add r0, sp, #0x18
add r1, sp, #0xc
str r3, [sp, #0xc]
bl func_01ff9c2c
mov r3, r6
mov r7, r0
add r0, sp, #0xc
add r6, sp, #0
ldmia r0, {r0, r1, r2}
stmia r6, {r0, r1, r2}
sub r0, r7, r5
mov r1, r6
add r2, sp, #0x24
str r4, [sp, #4]
bl func_01ff9e64
add sp, sp, #0x30
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_020b0134:
ldr r0, [r7, #0x38]
stmia r6, {r0, r2}
ldr r0, [r7, #0x40]
str r0, [r6, #8]
add sp, sp, #0x30
ldmia sp!, {r3, r4, r5, r6, r7, pc}
arm_func_end _ZN13PlayerControl18func_ov00_020affecEP5Vec3piiS1_
.global _ZN13PlayerControl18func_ov00_020b014cEv
arm_func_start _ZN13PlayerControl18func_ov00_020b014cEv
_ZN13PlayerControl18func_ov00_020b014cEv: ; 0x020b014c
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x10
ldr r2, _020b0210 ; =data_ov00_020ee198
mov r5, r0
ldr r0, [r2]
mov r4, r1
tst r0, #1
orreq r0, r0, #1
streq r0, [r2]
ldr r0, _020b0214 ; =data_027e0f64
ldr r0, [r0]
ldr r0, [r0, #4]
ldr r0, [r0, #0x15c]
cmp r0, #0x16
addeq sp, sp, #0x10
ldmeqia sp!, {r4, r5, r6, pc}
bl _ZN13PlayerControl18func_ov00_020aeef8Ev
cmp r0, #0
addeq sp, sp, #0x10
ldmeqia sp!, {r4, r5, r6, pc}
ldrsh r0, [r5, #0x60]
cmp r0, #0
addle sp, sp, #0x10
ldmleia sp!, {r4, r5, r6, pc}
ldr r0, _020b0218 ; =gItemManager
ldr r6, [r0]
mov r0, r6
bl _ZNK11ItemManager16GetEquippedFairyEv
mov r1, r0
mov r0, r6
bl _ZNK11ItemManager8GetFairyEi
movs r6, r0
addeq sp, sp, #0x10
ldmeqia sp!, {r4, r5, r6, pc}
add r1, sp, #4
mov r0, r5
str r4, [sp]
mov r2, #0x800
mov r3, #0x8000
bl _ZN13PlayerControl18func_ov00_020affecEP5Vec3piiS1_
ldr r0, [r5, #0x3c]
add r1, sp, #4
add r3, r0, #0x33
mov r0, r6
add r2, r5, #0x44
add r3, r3, #0x4300
bl func_ov00_020ba204
add sp, sp, #0x10
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020b014cEv
_020b0210: .word data_ov00_020ee198
_020b0214: .word data_027e0f64
_020b0218: .word gItemManager
.global _ZN13PlayerControl6SetAimEv
arm_func_start _ZN13PlayerControl6SetAimEv
_ZN13PlayerControl6SetAimEv: ; 0x020b021c
ldr r1, _020b023c ; =data_027e0d0c
ldr r2, [r1]
str r2, [r0, #0xb0]
ldr r2, [r1, #4]
str r2, [r0, #0xb4]
ldr r1, [r1, #8]
str r1, [r0, #0xb8]
bx lr
.align 2, 0
arm_func_end _ZN13PlayerControl6SetAimEv
_020b023c: .word data_027e0d0c
.global _ZN13PlayerControl14UpdateAimWorldEP5Vec3p
arm_func_start _ZN13PlayerControl14UpdateAimWorldEP5Vec3p
_ZN13PlayerControl14UpdateAimWorldEP5Vec3p: ; 0x020b0240
stmdb sp!, {r3, r4, r5, lr}
sub sp, sp, #0x10
ldr r2, _020b031c ; =data_027e0d38
ldr lr, _020b0320 ; =data_027e0f94
ldr r3, [r2]
add ip, sp, #4
mov r5, r0
mov r4, r1
ldmia lr, {r0, r1, r2}
stmia ip, {r0, r1, r2}
add r0, r3, #0xc
bl func_ov00_020a5e9c
cmp r0, #0x2f
bne _020b02a4
ldr r0, _020b0324 ; =data_027e0f64
ldr r0, [r0]
ldr r0, [r0, #4]
ldr r0, [r0, #0x15c]
cmp r0, #0x31
bne _020b02a4
mov r0, r5
mov r1, r4
bl func_ov24_02178348
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, pc}
_020b02a4:
mov r0, r5
mov r1, #1
bl _ZN13PlayerControl13CheckTouchingEj
cmp r0, #0
beq _020b02f8
add r2, sp, #4
str r2, [sp]
mov r0, r5
mov r1, r4
mov r2, #0
mov r3, #0x8000
bl _ZN13PlayerControl18func_ov00_020affecEP5Vec3piiS1_
ldr r1, [r4]
add sp, sp, #0x10
str r1, [r5, #0xbc]
ldr r1, [r4, #4]
mov r0, #1
str r1, [r5, #0xc0]
ldr r1, [r4, #8]
str r1, [r5, #0xc4]
ldmia sp!, {r3, r4, r5, pc}
_020b02f8:
ldr r1, [r5, #0xbc]
mov r0, #0
str r1, [r4]
ldr r1, [r5, #0xc0]
str r1, [r4, #4]
ldr r1, [r5, #0xc4]
str r1, [r4, #8]
add sp, sp, #0x10
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl14UpdateAimWorldEP5Vec3p
_020b031c: .word data_027e0d38
_020b0320: .word data_027e0f94
_020b0324: .word data_027e0f64
.global _ZN13PlayerControl13GetTouchAngleEv
arm_func_start _ZN13PlayerControl13GetTouchAngleEv
_ZN13PlayerControl13GetTouchAngleEv: ; 0x020b0328
ldrsh r1, [r0, #0x60]
cmp r1, #0
ldrgesh r0, [r0, #0x6a]
bxge lr
ldrb r1, [r0, #0x7f]
cmp r1, #0
ldrnesh r0, [r0, #0xac]
moveq r0, #0
bx lr
arm_func_end _ZN13PlayerControl13GetTouchAngleEv
.global _ZN13PlayerControl18func_ov00_020b034cEv
arm_func_start _ZN13PlayerControl18func_ov00_020b034cEv
_ZN13PlayerControl18func_ov00_020b034cEv: ; 0x020b034c
stmdb sp!, {r4, lr}
mov r4, r0
ldrsh r1, [r4, #0x60]
cmp r1, #0
blt _020b03e8
mov r1, #1
mov r2, r1
bl _ZN13PlayerControl18func_ov00_020af2d4Ejb
cmp r0, #0
beq _020b03e8
ldr r0, _020b0410 ; =data_ov00_020e6124
ldr r0, [r0, #0x20]
bl func_01ff992c
ldr ip, [r4, #0x58]
ldrsh r2, [r4, #0x60]
umull r4, lr, r0, ip
mov r3, ip, asr #0x1f
mla lr, r0, r3, lr
mla lr, r1, ip, lr
adds r0, r4, #0x80000000
adc r3, lr, #0
smull r1, r0, r3, r3
adds r3, r1, #0x800
adc r1, r0, #0
mov r0, r3, lsr #0xc
cmp r2, #4
orr r0, r0, r1, lsl #20
bge _020b03d0
rsb r1, r2, #4
mov r2, r1, lsl #0xc
mov r1, r2, asr #0x1
add r1, r2, r1, lsr #30
sub r0, r0, r1, asr #2
_020b03d0:
cmp r0, #0
movlt r0, #0
ldmltia sp!, {r4, pc}
cmp r0, #0x1000
movgt r0, #0x1000
ldmia sp!, {r4, pc}
_020b03e8:
ldrb r0, [r4, #0x7f]
cmp r0, #0
beq _020b0408
ldr r0, _020b0414 ; =data_027e05f8
ldrh r0, [r0]
tst r0, #0xf0
movne r0, #0x1000
ldmneia sp!, {r4, pc}
_020b0408:
mov r0, #0
ldmia sp!, {r4, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020b034cEv
_020b0410: .word data_ov00_020e6124
_020b0414: .word data_027e05f8
.global _ZN13PlayerControl18func_ov00_020b0418Ev
arm_func_start _ZN13PlayerControl18func_ov00_020b0418Ev
_ZN13PlayerControl18func_ov00_020b0418Ev: ; 0x020b0418
stmdb sp!, {r3, lr}
ldr r0, _020b0488 ; =data_ov00_020eec60
bl func_ov00_020d6be4
cmp r0, #0xa
movlt r0, #0
ldmltia sp!, {r3, pc}
cmp r0, #0x19
bge _020b0454
ldr r1, _020b048c ; =0x00000aaa
ldr r2, _020b0490 ; =0x51eb851f
mul r3, r0, r1
smull r1, r0, r2, r3
mov r1, r3, lsr #0x1f
add r0, r1, r0, asr #3
ldmia sp!, {r3, pc}
_020b0454:
cmp r0, #0x96
movge r0, #0x1000
ldmgeia sp!, {r3, pc}
ldr r1, _020b0494 ; =0x00000556
sub r0, r0, #0x19
mul r1, r0, r1
ldr r2, _020b0498 ; =0x10624dd3
mov r0, r1, lsr #0x1f
smull r1, r3, r2, r1
add r3, r0, r3, asr #3
add r0, r3, #0xaa
add r0, r0, #0xa00
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020b0418Ev
_020b0488: .word data_ov00_020eec60
_020b048c: .word 0x00000aaa
_020b0490: .word 0x51eb851f
_020b0494: .word 0x00000556
_020b0498: .word 0x10624dd3
.global _ZN13PlayerControl18func_ov00_020b049cEP5Vec3pb
arm_func_start _ZN13PlayerControl18func_ov00_020b049cEP5Vec3pb
_ZN13PlayerControl18func_ov00_020b049cEP5Vec3pb: ; 0x020b049c
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r4, r1
mov r1, #1
mov r6, r0
mov r5, r2
bl _ZN13PlayerControl17CheckUntouchedNowEj
cmp r0, #0
beq _020b05d0
ldrsh r0, [r6, #0x60]
cmp r0, #0
blt _020b05d0
cmp r0, #0x15
bge _020b05d0
mov r0, r6
mov r1, r4
mov r2, #0x400
bl func_ov00_020b7d4c
ldr r1, _020b05d8 ; =data_027e0f94
mov r0, r4
mov r2, r4
bl func_01ff9bf8
mov r0, r4
bl func_01ff9cec
cmp r0, #0x1400
movge r0, #1
ldmgeia sp!, {r3, r4, r5, r6, r7, pc}
cmp r5, #0
beq _020b05d0
cmp r0, #0x400
bge _020b05bc
ldr r1, _020b05dc ; =data_027e0d0c
ldr r0, _020b05e0 ; =data_027e0fac
ldr r2, [r1]
ldr ip, _020b05e4 ; =data_02050f54
str r2, [r4]
ldr r3, [r1, #4]
mov r2, #0
str r3, [r4, #4]
ldr r3, [r1, #8]
mov r1, #0x1400
str r3, [r4, #8]
ldrh r3, [r0]
ldr r0, [r4]
mov r3, r3, asr #0x4
mov r6, r3, lsl #0x1
mov r3, r6, lsl #0x1
ldrsh r5, [ip, r3]
add r3, r6, #1
mov r3, r3, lsl #0x1
umull r7, r6, r5, r1
ldrsh r3, [ip, r3]
mla r6, r5, r2, r6
umull lr, ip, r3, r1
mov r5, r5, asr #0x1f
adds r7, r7, #0x800
mla r6, r5, r1, r6
adc r5, r6, #0
mov r6, r7, lsr #0xc
orr r6, r6, r5, lsl #20
add r0, r0, r6
str r0, [r4]
adds lr, lr, #0x800
mla ip, r3, r2, ip
mov r0, r3, asr #0x1f
mla ip, r0, r1, ip
adc r0, ip, #0
mov r1, lr, lsr #0xc
ldr r2, [r4, #8]
orr r1, r1, r0, lsl #20
add r0, r2, r1
str r0, [r4, #8]
b _020b05c8
_020b05bc:
mov r0, r4
mov r1, #0x1400
bl func_0202d95c
_020b05c8:
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_020b05d0:
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020b049cEP5Vec3pb
_020b05d8: .word data_027e0f94
_020b05dc: .word data_027e0d0c
_020b05e0: .word data_027e0fac
_020b05e4: .word data_02050f54
.global _ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p
arm_func_start _ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p
_ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p: ; 0x020b05e8
stmdb sp!, {r4, r5, r6, lr}
sub sp, sp, #0x10
mov r5, r1
mov r1, #1
mov r4, r0
bl _ZN13PlayerControl17CheckUntouchedNowEj
cmp r0, #0
beq _020b0758
ldrsh r0, [r4, #0x60]
cmp r0, #0
blt _020b0758
cmp r0, #0x15
bge _020b0758
mov r0, r4
ldr r2, _020b0764 ; =0x00000333
ldr r4, _020b0768 ; =data_027e0f94
add r1, sp, #4
bl func_ov00_020b7d4c
mov r1, r4
ldr r2, [r1, #4]
add r0, sp, #4
str r2, [sp, #8]
bl func_01ff9ec0
cmp r0, #0x1400
addgt sp, sp, #0x10
movgt r0, #0
ldmgtia sp!, {r4, r5, r6, pc}
cmp r0, #0x400
bge _020b06e0
ldr r1, _020b076c ; =data_027e0fac
ldr r0, [r4, #4]
ldrh r2, [r1]
ldr r3, _020b0770 ; =data_02050f54
mov r1, #0x800
mov r2, r2, asr #0x4
mov r6, r2, lsl #0x1
mov r2, r6, lsl #0x1
ldrsh ip, [r3, r2]
add r2, r6, #1
mov r2, r2, lsl #0x1
ldrsh r3, [r3, r2]
mov r2, ip, asr #0x1f
mov lr, r2, lsl #0xa
mov r2, r3, asr #0x1f
mov r2, r2, lsl #0xa
adds r6, r1, ip, lsl #10
orr lr, lr, ip, lsr #22
adc lr, lr, #0
adds ip, r1, r3, lsl #10
orr r2, r2, r3, lsr #22
mov r3, r6, lsr #0xc
adc r1, r2, #0
mov r2, ip, lsr #0xc
ldr r6, [r4]
orr r3, r3, lr, lsl #20
add r3, r6, r3
ldr r6, [r4, #8]
orr r2, r2, r1, lsl #20
add r1, r6, r2
str r0, [sp, #8]
str r3, [sp, #4]
str r1, [sp, #0xc]
_020b06e0:
ldr r1, _020b0774 ; =data_027e0e60
add r0, sp, #0
ldr r1, [r1]
add r2, sp, #4
bl func_ov00_02083a1c
ldr r0, _020b0774 ; =data_027e0e60
ldrb r1, [sp]
ldr r0, [r0]
bl func_ov00_02083c24
ldr r1, [sp, #4]
ldr r2, _020b0774 ; =data_027e0e60
sub r0, r0, r1
add r0, r0, r0, lsr #31
add r3, r1, r0, asr #1
ldrb r1, [sp, #1]
ldr r0, [r2]
str r3, [sp, #4]
bl func_ov00_02083c50
ldr r2, [sp, #0xc]
mov r1, r4
sub r0, r0, r2
add r0, r0, r0, lsr #31
add r3, r2, r0, asr #1
add r0, sp, #4
mov r2, r5
str r3, [sp, #0xc]
bl func_01ff9bf8
add sp, sp, #0x10
mov r0, #1
ldmia sp!, {r4, r5, r6, pc}
_020b0758:
mov r0, #0
add sp, sp, #0x10
ldmia sp!, {r4, r5, r6, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p
_020b0764: .word 0x00000333
_020b0768: .word data_027e0f94
_020b076c: .word data_027e0fac
_020b0770: .word data_02050f54
_020b0774: .word data_027e0e60
.global _ZN13PlayerControl18func_ov00_020b0778EP5Vec3pji
arm_func_start _ZN13PlayerControl18func_ov00_020b0778EP5Vec3pji
_ZN13PlayerControl18func_ov00_020b0778EP5Vec3pji: ; 0x020b0778
stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
sub sp, sp, #0x18
mov r8, r3
mov r3, #0
str r3, [r8]
ldr r4, [r1]
ldr r3, _020b0aac ; =data_027e0f64
str r4, [sp, #0xc]
ldr r4, [r1, #4]
mov r9, r0
str r4, [sp, #0x10]
ldr r1, [r1, #8]
ldr r0, [r3]
mov r4, r2
str r1, [sp, #0x14]
bl func_ov00_0208b180
mov r3, #0
str r3, [sp]
add r1, sp, #0xc
add r2, sp, #8
add r3, sp, #4
bl func_01ffe468
cmp r0, #0
moveq r0, #1
movne r0, #0
cmp r0, #0
addne sp, sp, #0x18
movne r0, #0
ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
mov r0, r4, lsl #0x10
mov r0, r0, lsr #0x10
mov r0, r0, asr #0x4
mov r1, r0, lsl #0x1
add r0, r1, #1
ldr r3, _020b0ab0 ; =data_02050f54
mov r2, r1, lsl #0x1
mov r1, r0, lsl #0x1
ldrsh r2, [r3, r2]
mov r0, #0x30
ldrsh r1, [r3, r1]
smulbb r2, r2, r0
smulbb r3, r1, r0
mov r0, r2, asr #0xb
mov r1, r3, asr #0xb
add r2, r2, r0, lsr #20
add r3, r3, r1, lsr #20
ldr lr, [r9, #0x10]
ldr r4, [sp, #8]
ldr ip, [r9, #0x14]
ldr r5, [sp, #4]
mov r0, r9
mov r1, #1
mov r6, r2, asr #0xc
mov r7, r3, asr #0xc
sub r4, lr, r4
sub r5, ip, r5
bl _ZN13PlayerControl15CheckTouchedNowEj
cmp r0, #0
beq _020b0948
sub r0, r6, #0x18
cmp r0, r4
addle r0, r6, #0x18
cmple r4, r0
suble r0, r7, #0x18
cmple r0, r5
addle r0, r7, #0x18
cmple r5, r0
bgt _020b089c
mov r0, #0x1000
str r0, [r8]
add sp, sp, #0x18
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
_020b089c:
mvn r0, #0x17
sub r1, r0, r6
cmp r1, r4
rsble r1, r6, #0x18
cmple r4, r1
suble r0, r0, r7
cmple r0, r5
rsble r0, r7, #0x18
cmple r5, r0
bgt _020b08dc
mov r0, #0x1000
rsb r0, r0, #0
str r0, [r8]
add sp, sp, #0x18
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
_020b08dc:
rsb r1, r6, #0
cmp r6, r1
movlt r0, r6
movge r0, r1
sub r0, r0, #0x18
cmp r4, r0
blt _020b093c
cmp r6, r1
movle r6, r1
add r0, r6, #0x18
cmp r0, r4
blt _020b093c
rsb r1, r7, #0
cmp r7, r1
movlt r0, r7
movge r0, r1
sub r0, r0, #0x18
cmp r5, r0
blt _020b093c
cmp r7, r1
movle r7, r1
add r0, r7, #0x18
cmp r0, r5
bge _020b0aa0
_020b093c:
add sp, sp, #0x18
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
_020b0948:
mov r0, r9
mov r1, #1
bl _ZN13PlayerControl13CheckTouchingEj
cmp r0, #0
beq _020b0a20
cmp r6, #0
addlt r0, r6, #0x18
cmplt r4, r0
blt _020b099c
cmp r6, #0
subgt r0, r6, #0x18
cmpgt r4, r0
bgt _020b099c
cmp r7, #0
addlt r0, r7, #0x18
cmplt r5, r0
blt _020b099c
cmp r7, #0
subgt r0, r7, #0x18
cmpgt r5, r0
ble _020b09b0
_020b099c:
mov r0, #0x1000
str r0, [r8]
add sp, sp, #0x18
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
_020b09b0:
cmp r6, #0
ble _020b09c4
rsb r0, r6, #0x18
cmp r4, r0
blt _020b0a08
_020b09c4:
cmp r6, #0
bge _020b09dc
mvn r0, #0x17
sub r0, r0, r6
cmp r4, r0
bgt _020b0a08
_020b09dc:
cmp r7, #0
ble _020b09f0
rsb r0, r7, #0x18
cmp r5, r0
blt _020b0a08
_020b09f0:
cmp r7, #0
bge _020b0aa0
mvn r0, #0x17
sub r0, r0, r7
cmp r5, r0
ble _020b0aa0
_020b0a08:
mov r0, #0x1000
rsb r0, r0, #0
str r0, [r8]
add sp, sp, #0x18
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
_020b0a20:
mov r0, r9
mov r1, #1
bl _ZN13PlayerControl17CheckUntouchedNowEj
cmp r0, #0
beq _020b0aa0
ldr r3, [r9, #0x1c]
ldr r2, [sp, #8]
cmp r6, #0
rsblt r6, r6, #0
cmp r7, #0
rsblt r7, r7, #0
ldr r1, [r9, #0x20]
ldr r0, [sp, #4]
sub r2, r3, r2
sub r1, r1, r0
cmp r6, #0x18
ble _020b0a78
cmp r2, #0
rsblt r2, r2, #0
sub r0, r6, #0x18
cmp r2, r0
bgt _020b0a94
_020b0a78:
cmp r7, #0x18
ble _020b0aa0
cmp r1, #0
rsblt r1, r1, #0
sub r0, r7, #0x18
cmp r1, r0
ble _020b0aa0
_020b0a94:
add sp, sp, #0x18
mov r0, #0
ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
_020b0aa0:
mov r0, #1
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020b0778EP5Vec3pji
_020b0aac: .word data_027e0f64
_020b0ab0: .word data_02050f54
.global _ZN13PlayerControl16CheckNotTouchingEv
arm_func_start _ZN13PlayerControl16CheckNotTouchingEv
_ZN13PlayerControl16CheckNotTouchingEv: ; 0x020b0ab4
stmdb sp!, {r3, lr}
mov r1, #1
bl _ZN13PlayerControl13CheckTouchingEj
cmp r0, #0
moveq r0, #1
movne r0, #0
ldmia sp!, {r3, pc}
arm_func_end _ZN13PlayerControl16CheckNotTouchingEv
.global _ZN13PlayerControl18func_ov00_020b0ad0EP5Actor
arm_func_start _ZN13PlayerControl18func_ov00_020b0ad0EP5Actor
_ZN13PlayerControl18func_ov00_020b0ad0EP5Actor: ; 0x020b0ad0
cmp r1, #0
beq _020b0b04
ldr r2, [r1, #8]
ldr r1, [r0, #0x94]
cmp r2, r1
bne _020b0b04
ldrsh r1, [r0, #0x60]
mov r0, #0
cmp r1, #0xf
bxlt lr
cmp r1, #0x1e
movlt r0, #1
bx lr
_020b0b04:
mov r0, #0
bx lr
arm_func_end _ZN13PlayerControl18func_ov00_020b0ad0EP5Actor
.global _ZN13PlayerControl18func_ov00_020b0b0cEPsPiS1_Pb
arm_func_start _ZN13PlayerControl18func_ov00_020b0b0cEPsPiS1_Pb
_ZN13PlayerControl18func_ov00_020b0b0cEPsPiS1_Pb: ; 0x020b0b0c
stmdb sp!, {r4, r5, r6, r7, lr}
sub sp, sp, #0x24
mov r7, r0
ldrb r0, [r7, #0x79]
mov r6, r1
mov r4, r2
mov r5, r3
cmp r0, #0
beq _020b0b80
ldr r0, _020b0de0 ; =gItemManager
mov r1, #1
ldr r0, [r0]
bl _ZN11ItemManager18func_ov00_020ad790Ei
cmp r0, #0
beq _020b0b80
ldr r0, _020b0de0 ; =gItemManager
ldr r0, [r0]
bl _ZNK11ItemManager15GetEquippedItemEv
ldr r1, _020b0de4 ; =data_027e103c
str r0, [r4]
ldr r0, [r1]
bl func_ov00_020cf330
ldr r1, [r4]
mvn r0, #0
cmp r1, r0
movne r0, #1
add sp, sp, #0x24
moveq r0, #0
ldmia sp!, {r4, r5, r6, r7, pc}
_020b0b80:
mov r2, #0
mov r0, r7
mov r1, r5
str r2, [r4]
bl _ZN13PlayerControl18func_ov00_020b1248EPi
cmp r0, #0
beq _020b0bb0
mov r0, #0
str r0, [r4]
add sp, sp, #0x24
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, pc}
_020b0bb0:
mov r0, r7
mov r1, #1
bl _ZN13PlayerControl17CheckUntouchedNowEj
cmp r0, #0
beq _020b0bd8
ldrsh r0, [r7, #0x60]
cmp r0, #0
blt _020b0bd8
cmp r0, #0x15
blt _020b0bf8
_020b0bd8:
mov r0, r7
mov r1, #1
bl _ZN13PlayerControl14CheckTouchFastEj
cmp r0, #0
beq _020b0dd4
ldrsh r0, [r7, #0x62]
cmp r0, #0x15
ble _020b0dd4
_020b0bf8:
ldrsh r2, [r7, #0x68]
ldr r3, [r7, #0x28]
ldrsh r0, [r7, #0x66]
ldr r1, [r7, #0x24]
sub r2, r3, r2
sub r0, r1, r0
mov r3, r2, lsl #0xc
mov r2, r0, lsl #0xc
mov r1, #0
add r0, sp, #0x18
str r2, [sp, #0x18]
str r1, [sp, #0x1c]
str r3, [sp, #0x20]
bl func_01ff9cec
cmp r0, #0xa000
addlt sp, sp, #0x24
movlt r0, #0
ldmltia sp!, {r4, r5, r6, r7, pc}
ldrb r1, [r7, #0x82]
cmp r1, #0
beq _020b0c5c
cmp r0, #0x14000
addlt sp, sp, #0x24
movlt r0, #0
ldmltia sp!, {r4, r5, r6, r7, pc}
_020b0c5c:
mov r0, #0
str r0, [r4]
ldrsh r1, [r7, #0x6a]
ldrsh r0, [r7, #0x6c]
sub r0, r0, r1
mov r0, r0, lsl #0x10
mov r0, r0, asr #0x10
add r0, r0, r0, lsr #31
add r0, r1, r0, asr #1
strh r0, [r6]
ldr r0, [r7, #0x5c]
cmp r0, #0x800
ble _020b0cd8
ldr r0, [r7, #0x50]
ldr r1, [r7, #0x54]
bl func_01ffa0f4
ldr r1, [sp, #0x38]
ldrsh r2, [r6]
cmp r1, #0
add sp, sp, #0x24
sub r0, r0, r2
mov r0, r0, lsl #0x10
mov r2, r0, asr #0x10
movne r0, #1
strneb r0, [r1]
cmp r2, #0
movge r0, #1
movlt r0, #2
str r0, [r5]
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, pc}
_020b0cd8:
ldr r0, [sp, #0x18]
ldr r1, [sp, #0x20]
bl func_01ffa0f4
ldrsh lr, [r6]
add r1, sp, #0xc
mov ip, #0
str ip, [r1]
str ip, [r1, #4]
str ip, [r1, #8]
mov r2, r0, lsl #0x10
ldrsh r3, [r7, #0x66]
rsb r2, lr, r2, asr #16
add r0, sp, #0
mov r3, r3, lsl #0xc
str r3, [sp, #0xc]
ldrsh r4, [r7, #0x68]
mov r3, r2, lsl #0x10
mov r2, r4, lsl #0xc
str r2, [sp, #0x10]
str ip, [r0]
str ip, [r0, #4]
str ip, [r0, #8]
ldr r4, [r7, #0x24]
mov r2, r0
mov r4, r4, lsl #0xc
str r4, [sp]
ldr ip, [r7, #0x28]
mov r4, r3, asr #0x10
mov r3, ip, lsl #0xc
str r3, [sp, #4]
bl func_01ff9bf8
ldr r0, [r7, #0x58]
cmp r0, #0xa000
bgt _020b0d7c
mov r0, #0
str r0, [r5]
ldrsh r1, [r7, #0x6c]
add sp, sp, #0x24
mov r0, #1
strh r1, [r6]
ldmia sp!, {r4, r5, r6, r7, pc}
_020b0d7c:
cmp r4, #0x6000
bge _020b0d94
mov r0, #0x6000
rsb r0, r0, #0
cmp r4, r0
bgt _020b0da0
_020b0d94:
mov r0, #0
str r0, [r5]
b _020b0dc8
_020b0da0:
cmp r4, #0x2000
movge r0, #1
strge r0, [r5]
bge _020b0dc8
add r0, r0, #0x4000
cmp r4, r0
movlt r0, #2
strlt r0, [r5]
movge r0, #3
strge r0, [r5]
_020b0dc8:
add sp, sp, #0x24
mov r0, #1
ldmia sp!, {r4, r5, r6, r7, pc}
_020b0dd4:
mov r0, #0
add sp, sp, #0x24
ldmia sp!, {r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020b0b0cEPsPiS1_Pb
_020b0de0: .word gItemManager
_020b0de4: .word data_027e103c
.global _ZN13PlayerControl18func_ov00_020b0de8EP5Vec3p
arm_func_start _ZN13PlayerControl18func_ov00_020b0de8EP5Vec3p
_ZN13PlayerControl18func_ov00_020b0de8EP5Vec3p: ; 0x020b0de8
stmdb sp!, {r3, r4, r5, lr}
mov r4, r1
mov r1, #1
mov r5, r0
bl _ZN13PlayerControl13CheckTouchingEj
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r0, [r5, #0x28]
ldr r2, [r5, #0x24]
sub r1, r0, #0x60
mov r0, #0xaa00
mul ip, r1, r0
ldr r1, _020b0e50 ; =0x2aaaaaab
sub r2, r2, #0x80
mov r0, #0xaa
mul r3, r2, r0
smull r0, r2, r1, ip
mov r0, ip, lsr #0x1f
add r2, r0, r2, asr #5
str r3, [r4]
mov r1, #0
str r1, [r4, #4]
str r2, [r4, #8]
mov r0, #1
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020b0de8EP5Vec3p
_020b0e50: .word 0x2aaaaaab
.global _ZN13PlayerControl18func_ov00_020b0e54EP5Vec3pS1_
arm_func_start _ZN13PlayerControl18func_ov00_020b0e54EP5Vec3pS1_
_ZN13PlayerControl18func_ov00_020b0e54EP5Vec3pS1_: ; 0x020b0e54
stmdb sp!, {r3, r4, r5, r6, lr}
sub sp, sp, #0xc
mov r6, r0
ldrsh r3, [r6, #0x60]
mov r5, r1
mov r4, r2
cmp r3, #0x10
blt _020b0f0c
add r1, sp, #0
bl _ZN13PlayerControl18func_ov00_020b0de8EP5Vec3p
cmp r0, #0
beq _020b0f0c
mov r0, r6
mov r1, r5
mov r2, #0x800
bl func_ov00_020b7d4c
add r0, sp, #0
bl func_01ff9cec
mov r5, r0
cmp r5, #0x4000
ble _020b0ed0
ldr r0, [sp]
mov r1, r5
mov r0, r0, lsl #0xe
bl func_02002c14
ldr r2, [sp, #8]
str r0, [sp]
mov r1, r5
mov r0, r2, lsl #0xe
bl func_02002c14
str r0, [sp, #8]
_020b0ed0:
ldr r1, [sp]
mov r0, #1
str r1, [r6, #0xb0]
ldr r1, [sp, #4]
str r1, [r6, #0xb4]
ldr r1, [sp, #8]
str r1, [r6, #0xb8]
ldr r1, [sp]
str r1, [r4]
ldr r1, [sp, #4]
str r1, [r4, #4]
ldr r1, [sp, #8]
add sp, sp, #0xc
str r1, [r4, #8]
ldmia sp!, {r3, r4, r5, r6, pc}
_020b0f0c:
ldrsh r0, [r6, #0x60]
cmp r0, #0
blt _020b0f78
mov r1, #1
mov r0, r6
mov r2, r1
bl _ZN13PlayerControl18func_ov00_020af2d4Ejb
cmp r0, #0
beq _020b0f78
ldr r0, [r6, #0x58]
cmp r0, #0x18000
ble _020b0f50
mov r0, r6
mov r1, r5
mov r2, #0x800
bl func_ov00_020b7d4c
b _020b0f6c
_020b0f50:
ldr r0, _020b0f84 ; =data_027e0f94
ldr r1, [r0]
str r1, [r5]
ldr r1, [r0, #4]
str r1, [r5, #4]
ldr r0, [r0, #8]
str r0, [r5, #8]
_020b0f6c:
add sp, sp, #0xc
mov r0, #1
ldmia sp!, {r3, r4, r5, r6, pc}
_020b0f78:
mov r0, #0
add sp, sp, #0xc
ldmia sp!, {r3, r4, r5, r6, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020b0e54EP5Vec3pS1_
_020b0f84: .word data_027e0f94
.global _ZN13PlayerControl18func_ov00_020b0f88EP5Vec3piS1_
arm_func_start _ZN13PlayerControl18func_ov00_020b0f88EP5Vec3piS1_
_ZN13PlayerControl18func_ov00_020b0f88EP5Vec3piS1_: ; 0x020b0f88
stmdb sp!, {r4, r5, r6, r7, lr}
sub sp, sp, #0xc
mov r7, r1
add r1, sp, #0
mov r5, r0
mov r6, r2
mov r4, r3
bl _ZN13PlayerControl18func_ov00_020b0de8EP5Vec3p
cmp r0, #0
beq _020b104c
mov r0, r5
mov r1, r7
mov r2, r6
bl func_ov00_020b7d4c
add r0, sp, #0
bl func_01ff9cec
mov r6, r0
cmp r6, #0x4000
ble _020b0ffc
ldr r0, [sp]
mov r1, r6
mov r0, r0, lsl #0xe
bl func_02002c14
ldr r2, [sp, #8]
str r0, [sp]
mov r1, r6
mov r0, r2, lsl #0xe
bl func_02002c14
str r0, [sp, #8]
_020b0ffc:
ldrsh r0, [r5, #0x74]
ldrsh r1, [r5, #0x72]
smulbb r0, r0, r0
mla r0, r1, r1, r0
add r0, r0, #4
mov r0, r0, lsl #0x4
bl func_01ff9958
mov r2, r0
add r1, sp, #0
mov r0, r4
bl func_0202b2e8
ldr r1, [sp]
mov r0, #1
str r1, [r5, #0xb0]
ldr r1, [sp, #4]
str r1, [r5, #0xb4]
ldr r1, [sp, #8]
add sp, sp, #0xc
str r1, [r5, #0xb8]
ldmia sp!, {r4, r5, r6, r7, pc}
_020b104c:
mov r0, #0
add sp, sp, #0xc
ldmia sp!, {r4, r5, r6, r7, pc}
arm_func_end _ZN13PlayerControl18func_ov00_020b0f88EP5Vec3piS1_
.global _ZN13PlayerControl18func_ov00_020b1058EP5Vec3piS1_S1_
arm_func_start _ZN13PlayerControl18func_ov00_020b1058EP5Vec3piS1_S1_
_ZN13PlayerControl18func_ov00_020b1058EP5Vec3piS1_S1_: ; 0x020b1058
stmdb sp!, {r3, r4, r5, r6, r7, lr}
sub sp, sp, #0x18
mov r7, r1
add r1, sp, #0xc
mov r5, r0
mov r6, r2
mov r4, r3
bl _ZN13PlayerControl18func_ov00_020b0de8EP5Vec3p
cmp r0, #0
beq _020b11cc
mov r0, r5
mov r1, r7
mov r2, r6
bl func_ov00_020b7d4c
ldr r0, [sp, #0x30]
cmp r0, #0
beq _020b1140
ldr r1, _020b11d8 ; =data_027e0f94
add r2, sp, #0
bl func_01ff9bf8
ldr ip, [sp]
ldr r3, [sp, #4]
mov r2, ip, asr #0x1f
mov r0, r3, asr #0x1f
mov lr, r2, lsl #0xb
mov r6, r0, lsl #0xb
ldr r1, [sp, #8]
orr lr, lr, ip, lsr #21
mov r0, r1, asr #0x1f
mov r2, r0, lsl #0xb
mov r0, #0x800
adds r7, r0, ip, lsl #11
adc lr, lr, #0
mov r7, r7, lsr #0xc
orr r7, r7, lr, lsl #20
orr r6, r6, r3, lsr #21
adds ip, r0, r3, lsl #11
adc r6, r6, #0
adds r3, r0, r1, lsl #11
orr r2, r2, r1, lsr #21
mov r1, ip, lsr #0xc
adc r0, r2, #0
mov r2, r3, lsr #0xc
orr r2, r2, r0, lsl #20
orr r1, r1, r6, lsl #20
str r1, [sp, #4]
str r2, [sp, #8]
str r7, [sp]
add r0, sp, #0
add r1, sp, #0xc
mov r2, #0x2800
bl func_0202b2e8
ldr r2, [sp]
ldr r1, [sp, #4]
ldr r0, [sp, #8]
str r2, [sp, #0xc]
str r1, [sp, #0x10]
str r0, [sp, #0x14]
_020b1140:
add r0, sp, #0xc
bl func_01ff9cec
mov r6, r0
cmp r6, #0x4000
ble _020b117c
ldr r0, [sp, #0xc]
mov r1, r6
mov r0, r0, lsl #0xe
bl func_02002c14
ldr r2, [sp, #0x14]
str r0, [sp, #0xc]
mov r1, r6
mov r0, r2, lsl #0xe
bl func_02002c14
str r0, [sp, #0x14]
_020b117c:
ldrsh r0, [r5, #0x74]
ldrsh r1, [r5, #0x72]
smulbb r0, r0, r0
mla r0, r1, r1, r0
add r0, r0, #4
mov r0, r0, lsl #0x4
bl func_01ff9958
mov r2, r0
add r1, sp, #0xc
mov r0, r4
bl func_0202b2e8
ldr r1, [r4]
add sp, sp, #0x18
str r1, [r5, #0xb0]
ldr r1, [r4, #4]
mov r0, #1
str r1, [r5, #0xb4]
ldr r1, [r4, #8]
str r1, [r5, #0xb8]
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_020b11cc:
mov r0, #0
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, r6, r7, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020b1058EP5Vec3piS1_S1_
_020b11d8: .word data_027e0f94
.global _ZN13PlayerControl14IsUntouchedNowEv
arm_func_start _ZN13PlayerControl14IsUntouchedNowEv
_ZN13PlayerControl14IsUntouchedNowEv: ; 0x020b11dc
stmdb sp!, {r3, lr}
mov r1, #7
bl _ZN13PlayerControl17CheckUntouchedNowEj
cmp r0, #0
beq _020b1208
ldr r0, _020b1210 ; =data_027e103c
ldr r0, [r0]
ldrsh r0, [r0, #0x1c]
cmp r0, #0
moveq r0, #1
ldmeqia sp!, {r3, pc}
_020b1208:
mov r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl14IsUntouchedNowEv
_020b1210: .word data_027e103c
.global _ZN13PlayerControl17IsNotUntouchedNowEv
arm_func_start _ZN13PlayerControl17IsNotUntouchedNowEv
_ZN13PlayerControl17IsNotUntouchedNowEv: ; 0x020b1214
stmdb sp!, {r3, lr}
mov r1, #7
bl _ZN13PlayerControl17CheckUntouchedNowEj
cmp r0, #0
movne r0, #1
ldmneia sp!, {r3, pc}
ldr r0, _020b1244 ; =data_027e05f8
ldrh r0, [r0, #2]
tst r0, #3
movne r0, #1
moveq r0, #0
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl17IsNotUntouchedNowEv
_020b1244: .word data_027e05f8
.global _ZN13PlayerControl18func_ov00_020b1248EPi
arm_func_start _ZN13PlayerControl18func_ov00_020b1248EPi
_ZN13PlayerControl18func_ov00_020b1248EPi: ; 0x020b1248
stmdb sp!, {r3, lr}
ldr r2, [r0, #0xd0]
ldr r3, [r2]
cmp r3, #0
ldrneb r2, [r3, #4]
cmpne r2, #0
beq _020b1294
ldr r2, [r3, #8]
cmp r2, #0
moveq r2, #5
movne r2, #6
str r2, [r1]
ldr r0, [r0, #0xd0]
ldr r0, [r0]
ldr r1, [r0]
ldr r1, [r1, #8]
blx r1
mov r0, #1
ldmia sp!, {r3, pc}
_020b1294:
mov r0, #0
ldmia sp!, {r3, pc}
arm_func_end _ZN13PlayerControl18func_ov00_020b1248EPi
.global _ZN13PlayerControl18func_ov00_020b129cEv
arm_func_start _ZN13PlayerControl18func_ov00_020b129cEv
_ZN13PlayerControl18func_ov00_020b129cEv: ; 0x020b129c
ldrsh r3, [r0, #0x60]
mov r1, #1
mov r2, r1
cmp r3, #2
blt _020b12b8
cmp r3, #0xa
movle r2, #0
_020b12b8:
cmp r2, #0
ldreqh r0, [r0, #4]
cmpeq r3, r0
moveq r1, #0
mov r0, r1
bx lr
arm_func_end _ZN13PlayerControl18func_ov00_020b129cEv
.global _ZN13PlayerControl18func_ov00_020b12d0EPs
arm_func_start _ZN13PlayerControl18func_ov00_020b12d0EPs
_ZN13PlayerControl18func_ov00_020b12d0EPs: ; 0x020b12d0
stmdb sp!, {r3, r4, r5, lr}
mov r4, r1
mov r1, #1
mov r2, r1
mov r5, r0
bl _ZN13PlayerControl18func_ov00_020af2d4Ejb
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldrsh r0, [r5, #0x62]
cmp r0, #0xf
bgt _020b1330
mov r0, r5
bl func_ov00_020b7d6c
cmp r0, #0
beq _020b1330
ldrsh r1, [r5, #0x6e]
ldrsh r0, [r5, #0x70]
cmp r1, r0
bne _020b1330
ldrsh r1, [r5, #0x6a]
mov r0, #1
strh r1, [r4]
ldmia sp!, {r3, r4, r5, pc}
_020b1330:
mov r0, #0
ldmia sp!, {r3, r4, r5, pc}
arm_func_end _ZN13PlayerControl18func_ov00_020b12d0EPs
.global _ZN13PlayerControl13IsNotTouchingEv
arm_func_start _ZN13PlayerControl13IsNotTouchingEv
_ZN13PlayerControl13IsNotTouchingEv: ; 0x020b1338
ldrb r0, [r0, #0xc]
cmp r0, #0
moveq r0, #1
movne r0, #0
bx lr
arm_func_end _ZN13PlayerControl13IsNotTouchingEv
.global _ZN13PlayerControl14IsTouchingFastEv
arm_func_start _ZN13PlayerControl14IsTouchingFastEv
_ZN13PlayerControl14IsTouchingFastEv: ; 0x020b134c
stmdb sp!, {r3, lr}
mov r1, #1
bl _ZN13PlayerControl14CheckTouchFastEj
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, pc}
ldr r0, _020b1378 ; =data_ov00_020eec9c
mov r1, #0x17
bl func_ov00_020d77e4
mov r0, #1
ldmia sp!, {r3, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl14IsTouchingFastEv
_020b1378: .word data_ov00_020eec9c
.global _ZN13PlayerControl11IsTappedNowEv
arm_func_start _ZN13PlayerControl11IsTappedNowEv
_ZN13PlayerControl11IsTappedNowEv: ; 0x020b137c
stmdb sp!, {r4, lr}
mov r4, r0
ldrsh r1, [r4, #0x60]
cmp r1, #0xa
bge _020b13bc
mov r1, #1
mov r2, r1
bl _ZN13PlayerControl18func_ov00_020af2d4Ejb
cmp r0, #0
beq _020b13bc
mov r0, r4
mov r1, #1
bl _ZN13PlayerControl17CheckUntouchedNowEj
cmp r0, #0
movne r0, #1
ldmneia sp!, {r4, pc}
_020b13bc:
mov r0, #0
ldmia sp!, {r4, pc}
arm_func_end _ZN13PlayerControl11IsTappedNowEv
.global _ZN13PlayerControl18func_ov00_020b13c4Ev
arm_func_start _ZN13PlayerControl18func_ov00_020b13c4Ev
_ZN13PlayerControl18func_ov00_020b13c4Ev: ; 0x020b13c4
stmdb sp!, {r3, r4, r5, lr}
mov r1, #1
mov r5, r0
bl _ZN13PlayerControl13CheckTouchingEj
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
ldr r0, _020b1494 ; =data_ov00_020e6124
ldr r0, [r0, #0x20]
bl func_01ff992c
ldrsh r0, [r5, #0x64]
ldr r1, [r5, #0x58]
ldrsh r4, [r5, #0x60]
cmp r0, #0
ble _020b1410
cmp r0, r4
sublt r0, r4, r0
movlt r0, r0, lsl #0x10
movlt r4, r0, asr #0x10
_020b1410:
cmp r1, #0x50000
blt _020b1428
cmp r4, #2
movge r0, #1
movlt r0, #0
ldmia sp!, {r3, r4, r5, pc}
_020b1428:
cmp r1, #0x10000
movlt r0, #0
ldmltia sp!, {r3, r4, r5, pc}
mov r0, #0x40000
bl func_01ff991c
ldr r2, [r5, #0x58]
mov r1, #0x18
sub r2, r2, #0x10000
smull r0, r3, r2, r0
adds ip, r0, #0x800
mov r0, #0
adc r2, r3, r0
mov r3, ip, lsr #0xc
orr r3, r3, r2, lsl #20
rsb r2, r3, #0x1000
umull ip, r3, r2, r1
mla r3, r2, r0, r3
mov r2, r2, asr #0x1f
mla r3, r2, r1, r3
adds ip, ip, #0x800
adc r1, r3, r0
mov r2, ip, lsr #0xc
orr r2, r2, r1, lsl #20
add r1, r2, #2
cmp r4, r1
movge r0, #1
ldmia sp!, {r3, r4, r5, pc}
.align 2, 0
arm_func_end _ZN13PlayerControl18func_ov00_020b13c4Ev
_020b1494: .word data_ov00_020e6124
.data
.global data_ov00_020e6104
data_ov00_020e6104: ; 0x020e6104
.ascii "fnl"
.byte 0x00
.global data_ov00_020e6108
data_ov00_020e6108: ; 0x020e6108
.ascii "bow"
.byte 0x00
.global data_ov00_020e610c
data_ov00_020e610c: ; 0x020e610c
.ascii "dco"
.byte 0x00
.global data_ov00_020e6110
data_ov00_020e6110: ; 0x020e6110
.ascii "can"
.byte 0x00
.global data_ov00_020e6114
data_ov00_020e6114: ; 0x020e6114
.ascii "hul"
.byte 0x00
.global data_ov00_020e6118
data_ov00_020e6118: ; 0x020e6118
.ascii "pdl"
.byte 0x00
.global data_ov00_020e611c
data_ov00_020e611c: ; 0x020e611c
.ascii "anc"
.byte 0x00
.global data_ov00_020e6120
data_ov00_020e6120: ; 0x020e6120
.ascii "brg"
.byte 0x00
.global data_ov00_020e6124
data_ov00_020e6124: ; 0x020e6124
.word data_ov00_020e611c
.global data_ov00_020e6128
data_ov00_020e6128: ; 0x020e6128
.word data_ov00_020e6108
.global data_ov00_020e612c
data_ov00_020e612c: ; 0x020e612c
.word data_ov00_020e6114
.global data_ov00_020e6130
data_ov00_020e6130: ; 0x020e6130
.word data_ov00_020e6110
.global data_ov00_020e6134
data_ov00_020e6134: ; 0x020e6134
.word data_ov00_020e610c
.global data_ov00_020e6138
data_ov00_020e6138: ; 0x020e6138
.word data_ov00_020e6118
.global data_ov00_020e613c
data_ov00_020e613c: ; 0x020e613c
.word data_ov00_020e6104
.global data_ov00_020e6140
data_ov00_020e6140: ; 0x020e6140
.word data_ov00_020e6120
.global data_ov00_020e6144
data_ov00_020e6144: ; 0x020e6144
.byte 0x00, 0x00, 0x05, 0x00
.global data_ov00_020e6148
data_ov00_020e6148: ; 0x020e6148
.byte 0x91, 0x80, 0x8d, 0xec
.global data_ov00_020e614c
data_ov00_020e614c: ; 0x020e614c
.byte 0x00, 0x00, 0x00, 0x00
.sbss
.global data_ov00_020ee198
data_ov00_020ee198:
.space 0x4
.global data_ov00_020ee19c
data_ov00_020ee19c:
.space 0x4