pikmin2/asm/plugProjectMorimuraU/shijimiChouState.s
EpochFlame 75c3292df0 reduce label emissions
linkmap goes faster now
2022-11-03 17:02:42 -04:00

1085 lines
54 KiB
ArmAsm

.include "macros.inc"
.section .data, "wa" # 0x8049E220 - 0x804EFC20
.balign 8
.global __vt__Q34Game11ShijimiChou9StateRest
__vt__Q34Game11ShijimiChou9StateRest:
.4byte 0
.4byte 0
.4byte init__Q34Game11ShijimiChou9StateRestFPQ24Game9EnemyBasePQ24Game8StateArg
.4byte exec__Q34Game11ShijimiChou9StateRestFPQ24Game9EnemyBase
.4byte cleanup__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte resume__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte restart__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte transit__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseiPQ24Game8StateArg
.4byte doDirectDraw__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseR8Graphics
.global __vt__Q34Game11ShijimiChou10StateLeave
__vt__Q34Game11ShijimiChou10StateLeave:
.4byte 0
.4byte 0
.4byte init__Q34Game11ShijimiChou10StateLeaveFPQ24Game9EnemyBasePQ24Game8StateArg
.4byte exec__Q34Game11ShijimiChou10StateLeaveFPQ24Game9EnemyBase
.4byte cleanup__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte resume__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte restart__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte transit__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseiPQ24Game8StateArg
.4byte doDirectDraw__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseR8Graphics
.global __vt__Q34Game11ShijimiChou9StateDead
__vt__Q34Game11ShijimiChou9StateDead:
.4byte 0
.4byte 0
.4byte init__Q34Game11ShijimiChou9StateDeadFPQ24Game9EnemyBasePQ24Game8StateArg
.4byte exec__Q34Game11ShijimiChou9StateDeadFPQ24Game9EnemyBase
.4byte cleanup__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte resume__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte restart__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte transit__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseiPQ24Game8StateArg
.4byte doDirectDraw__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseR8Graphics
.global __vt__Q34Game11ShijimiChou9StateFall
__vt__Q34Game11ShijimiChou9StateFall:
.4byte 0
.4byte 0
.4byte init__Q34Game11ShijimiChou9StateFallFPQ24Game9EnemyBasePQ24Game8StateArg
.4byte exec__Q34Game11ShijimiChou9StateFallFPQ24Game9EnemyBase
.4byte cleanup__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte resume__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte restart__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte transit__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseiPQ24Game8StateArg
.4byte doDirectDraw__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseR8Graphics
.global __vt__Q34Game11ShijimiChou8StateFly
__vt__Q34Game11ShijimiChou8StateFly:
.4byte 0
.4byte 0
.4byte init__Q34Game11ShijimiChou8StateFlyFPQ24Game9EnemyBasePQ24Game8StateArg
.4byte exec__Q34Game11ShijimiChou8StateFlyFPQ24Game9EnemyBase
.4byte cleanup__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte resume__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte restart__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte transit__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseiPQ24Game8StateArg
.4byte doDirectDraw__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseR8Graphics
.global __vt__Q34Game11ShijimiChou9StateWait
__vt__Q34Game11ShijimiChou9StateWait:
.4byte 0
.4byte 0
.4byte init__Q34Game11ShijimiChou9StateWaitFPQ24Game9EnemyBasePQ24Game8StateArg
.4byte exec__Q34Game11ShijimiChou9StateWaitFPQ24Game9EnemyBase
.4byte cleanup__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte resume__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte restart__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte transit__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseiPQ24Game8StateArg
.4byte doDirectDraw__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseR8Graphics
.global __vt__Q34Game11ShijimiChou5State
__vt__Q34Game11ShijimiChou5State:
.4byte 0
.4byte 0
.4byte init__Q24Game13EnemyFSMStateFPQ24Game9EnemyBasePQ24Game8StateArg
.4byte exec__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte cleanup__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte resume__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte restart__Q24Game13EnemyFSMStateFPQ24Game9EnemyBase
.4byte transit__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseiPQ24Game8StateArg
.4byte doDirectDraw__Q24Game13EnemyFSMStateFPQ24Game9EnemyBaseR8Graphics
.global __vt__Q34Game11ShijimiChou3FSM
__vt__Q34Game11ShijimiChou3FSM:
.4byte 0
.4byte 0
.4byte init__Q34Game11ShijimiChou3FSMFPQ24Game9EnemyBase
.4byte start__Q24Game17EnemyStateMachineFPQ24Game9EnemyBaseiPQ24Game8StateArg
.4byte exec__Q24Game17EnemyStateMachineFPQ24Game9EnemyBase
.4byte transit__Q24Game17EnemyStateMachineFPQ24Game9EnemyBaseiPQ24Game8StateArg
.4byte doDirectDraw__Q24Game17EnemyStateMachineFPQ24Game9EnemyBaseR8Graphics
.4byte getCurrState__Q24Game17EnemyStateMachineFPQ24Game9EnemyBase
.4byte setCurrState__Q24Game17EnemyStateMachineFPQ24Game9EnemyBasePQ24Game13EnemyFSMState
.section .sdata2, "a" # 0x80516360 - 0x80520E40
.balign 8
lbl_8051EE10:
.asciz "wait"
.balign 4
lbl_8051EE18:
.float 0.0
lbl_8051EE1C:
.float 32768.0
.balign 8
lbl_8051EE20:
.4byte 0x43300000
.4byte 0x80000000
lbl_8051EE28:
.float 180.0
lbl_8051EE2C:
.float 150.0
.balign 4
lbl_8051EE30:
.asciz "fly"
.balign 4
lbl_8051EE34:
.float 60.0
.balign 4
lbl_8051EE38:
.asciz "fall"
.balign 4
lbl_8051EE40:
.float -20.0
.balign 4
lbl_8051EE44:
.asciz "dead"
.balign 4
lbl_8051EE4C:
.float 1.0
.balign 4
lbl_8051EE50:
.asciz "leave"
.balign 4
lbl_8051EE58:
.asciz "rest"
.balign 4
lbl_8051EE60:
.float 30.0
lbl_8051EE64:
.float 100.0
lbl_8051EE68:
.float 50.0
lbl_8051EE6C:
.float 600.0
lbl_8051EE70:
.float 400.0
.section .text, "ax" # 0x800056C0 - 0x80472F00
.global init__Q34Game11ShijimiChou3FSMFPQ24Game9EnemyBase
init__Q34Game11ShijimiChou3FSMFPQ24Game9EnemyBase:
/* 80387718 00384658 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8038771C 0038465C 7C 08 02 A6 */ mflr r0
/* 80387720 00384660 38 80 00 06 */ li r4, 6
/* 80387724 00384664 90 01 00 14 */ stw r0, 0x14(r1)
/* 80387728 00384668 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8038772C 0038466C 7C 7F 1B 78 */ mr r31, r3
/* 80387730 00384670 4B DA 91 35 */ bl create__Q24Game17EnemyStateMachineFi
/* 80387734 00384674 38 60 00 14 */ li r3, 0x14
/* 80387738 00384678 4B C9 C7 6D */ bl __nw__FUl
/* 8038773C 0038467C 7C 64 1B 79 */ or. r4, r3, r3
/* 80387740 00384680 41 82 00 10 */ beq .L_80387750
/* 80387744 00384684 38 80 00 00 */ li r4, 0
/* 80387748 00384688 48 00 00 D9 */ bl __ct__Q34Game11ShijimiChou9StateWaitFi
/* 8038774C 0038468C 7C 64 1B 78 */ mr r4, r3
.L_80387750:
/* 80387750 00384690 7F E3 FB 78 */ mr r3, r31
/* 80387754 00384694 4B DA 91 B5 */ bl registerState__Q24Game17EnemyStateMachineFPQ24Game13EnemyFSMState
/* 80387758 00384698 38 60 00 14 */ li r3, 0x14
/* 8038775C 0038469C 4B C9 C7 49 */ bl __nw__FUl
/* 80387760 003846A0 7C 64 1B 79 */ or. r4, r3, r3
/* 80387764 003846A4 41 82 00 10 */ beq .L_80387774
/* 80387768 003846A8 38 80 00 01 */ li r4, 1
/* 8038776C 003846AC 48 00 02 F1 */ bl __ct__Q34Game11ShijimiChou8StateFlyFi
/* 80387770 003846B0 7C 64 1B 78 */ mr r4, r3
.L_80387774:
/* 80387774 003846B4 7F E3 FB 78 */ mr r3, r31
/* 80387778 003846B8 4B DA 91 91 */ bl registerState__Q24Game17EnemyStateMachineFPQ24Game13EnemyFSMState
/* 8038777C 003846BC 38 60 00 14 */ li r3, 0x14
/* 80387780 003846C0 4B C9 C7 25 */ bl __nw__FUl
/* 80387784 003846C4 7C 64 1B 79 */ or. r4, r3, r3
/* 80387788 003846C8 41 82 00 10 */ beq .L_80387798
/* 8038778C 003846CC 38 80 00 02 */ li r4, 2
/* 80387790 003846D0 48 00 04 45 */ bl __ct__Q34Game11ShijimiChou9StateFallFi
/* 80387794 003846D4 7C 64 1B 78 */ mr r4, r3
.L_80387798:
/* 80387798 003846D8 7F E3 FB 78 */ mr r3, r31
/* 8038779C 003846DC 4B DA 91 6D */ bl registerState__Q24Game17EnemyStateMachineFPQ24Game13EnemyFSMState
/* 803877A0 003846E0 38 60 00 10 */ li r3, 0x10
/* 803877A4 003846E4 4B C9 C7 01 */ bl __nw__FUl
/* 803877A8 003846E8 7C 64 1B 79 */ or. r4, r3, r3
/* 803877AC 003846EC 41 82 00 10 */ beq .L_803877BC
/* 803877B0 003846F0 38 80 00 03 */ li r4, 3
/* 803877B4 003846F4 48 00 05 C1 */ bl __ct__Q34Game11ShijimiChou9StateDeadFi
/* 803877B8 003846F8 7C 64 1B 78 */ mr r4, r3
.L_803877BC:
/* 803877BC 003846FC 7F E3 FB 78 */ mr r3, r31
/* 803877C0 00384700 4B DA 91 49 */ bl registerState__Q24Game17EnemyStateMachineFPQ24Game13EnemyFSMState
/* 803877C4 00384704 38 60 00 10 */ li r3, 0x10
/* 803877C8 00384708 4B C9 C6 DD */ bl __nw__FUl
/* 803877CC 0038470C 7C 64 1B 79 */ or. r4, r3, r3
/* 803877D0 00384710 41 82 00 10 */ beq .L_803877E0
/* 803877D4 00384714 38 80 00 04 */ li r4, 4
/* 803877D8 00384718 48 00 07 8D */ bl __ct__Q34Game11ShijimiChou10StateLeaveFi
/* 803877DC 0038471C 7C 64 1B 78 */ mr r4, r3
.L_803877E0:
/* 803877E0 00384720 7F E3 FB 78 */ mr r3, r31
/* 803877E4 00384724 4B DA 91 25 */ bl registerState__Q24Game17EnemyStateMachineFPQ24Game13EnemyFSMState
/* 803877E8 00384728 38 60 00 20 */ li r3, 0x20
/* 803877EC 0038472C 4B C9 C6 B9 */ bl __nw__FUl
/* 803877F0 00384730 7C 64 1B 79 */ or. r4, r3, r3
/* 803877F4 00384734 41 82 00 10 */ beq .L_80387804
/* 803877F8 00384738 38 80 00 05 */ li r4, 5
/* 803877FC 0038473C 48 00 08 0D */ bl __ct__Q34Game11ShijimiChou9StateRestFi
/* 80387800 00384740 7C 64 1B 78 */ mr r4, r3
.L_80387804:
/* 80387804 00384744 7F E3 FB 78 */ mr r3, r31
/* 80387808 00384748 4B DA 91 01 */ bl registerState__Q24Game17EnemyStateMachineFPQ24Game13EnemyFSMState
/* 8038780C 0038474C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80387810 00384750 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80387814 00384754 7C 08 03 A6 */ mtlr r0
/* 80387818 00384758 38 21 00 10 */ addi r1, r1, 0x10
/* 8038781C 0038475C 4E 80 00 20 */ blr
.global __ct__Q34Game11ShijimiChou9StateWaitFi
__ct__Q34Game11ShijimiChou9StateWaitFi:
/* 80387820 00384760 3C A0 80 4B */ lis r5, __vt__Q24Game13EnemyFSMState@ha
/* 80387824 00384764 3C C0 80 4E */ lis r6, __vt__Q34Game11ShijimiChou5State@ha
/* 80387828 00384768 38 05 F9 A4 */ addi r0, r5, __vt__Q24Game13EnemyFSMState@l
/* 8038782C 0038476C 3C A0 80 4E */ lis r5, __vt__Q34Game11ShijimiChou9StateWait@ha
/* 80387830 00384770 90 03 00 00 */ stw r0, 0(r3)
/* 80387834 00384774 38 E0 00 00 */ li r7, 0
/* 80387838 00384778 38 C6 4B 80 */ addi r6, r6, __vt__Q34Game11ShijimiChou5State@l
/* 8038783C 0038477C 38 A5 4B 5C */ addi r5, r5, __vt__Q34Game11ShijimiChou9StateWait@l
/* 80387840 00384780 90 83 00 04 */ stw r4, 4(r3)
/* 80387844 00384784 38 02 0A B0 */ addi r0, r2, lbl_8051EE10@sda21
/* 80387848 00384788 90 E3 00 08 */ stw r7, 8(r3)
/* 8038784C 0038478C 90 C3 00 00 */ stw r6, 0(r3)
/* 80387850 00384790 90 A3 00 00 */ stw r5, 0(r3)
/* 80387854 00384794 90 03 00 0C */ stw r0, 0xc(r3)
/* 80387858 00384798 4E 80 00 20 */ blr
.global init__Q34Game11ShijimiChou9StateWaitFPQ24Game9EnemyBasePQ24Game8StateArg
init__Q34Game11ShijimiChou9StateWaitFPQ24Game9EnemyBasePQ24Game8StateArg:
/* 8038785C 0038479C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80387860 003847A0 7C 08 02 A6 */ mflr r0
/* 80387864 003847A4 90 01 00 34 */ stw r0, 0x34(r1)
/* 80387868 003847A8 DB E1 00 20 */ stfd f31, 0x20(r1)
/* 8038786C 003847AC F3 E1 00 28 */ psq_st f31, 40(r1), 0, qr0
/* 80387870 003847B0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80387874 003847B4 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80387878 003847B8 7C 9F 23 78 */ mr r31, r4
/* 8038787C 003847BC 7C 7E 1B 78 */ mr r30, r3
/* 80387880 003847C0 80 04 01 E0 */ lwz r0, 0x1e0(r4)
/* 80387884 003847C4 7F E3 FB 78 */ mr r3, r31
/* 80387888 003847C8 C0 02 0A B8 */ lfs f0, lbl_8051EE18@sda21(r2)
/* 8038788C 003847CC 38 80 00 02 */ li r4, 2
/* 80387890 003847D0 60 00 00 04 */ ori r0, r0, 4
/* 80387894 003847D4 38 A0 00 00 */ li r5, 0
/* 80387898 003847D8 90 1F 01 E0 */ stw r0, 0x1e0(r31)
/* 8038789C 003847DC D0 1F 01 D4 */ stfs f0, 0x1d4(r31)
/* 803878A0 003847E0 D0 1F 01 D8 */ stfs f0, 0x1d8(r31)
/* 803878A4 003847E4 D0 1F 01 DC */ stfs f0, 0x1dc(r31)
/* 803878A8 003847E8 D0 1F 01 C8 */ stfs f0, 0x1c8(r31)
/* 803878AC 003847EC D0 1F 01 CC */ stfs f0, 0x1cc(r31)
/* 803878B0 003847F0 D0 1F 01 D0 */ stfs f0, 0x1d0(r31)
/* 803878B4 003847F4 4B D7 D7 51 */ bl startMotion__Q24Game9EnemyBaseFiPQ28SysShape14MotionListener
/* 803878B8 003847F8 4B D4 1C E9 */ bl rand
/* 803878BC 003847FC 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 803878C0 00384800 3C 00 43 30 */ lis r0, 0x4330
/* 803878C4 00384804 90 61 00 0C */ stw r3, 0xc(r1)
/* 803878C8 00384808 7F E3 FB 78 */ mr r3, r31
/* 803878CC 0038480C C8 42 0A C0 */ lfd f2, lbl_8051EE20@sda21(r2)
/* 803878D0 00384810 90 01 00 08 */ stw r0, 8(r1)
/* 803878D4 00384814 C0 02 0A BC */ lfs f0, lbl_8051EE1C@sda21(r2)
/* 803878D8 00384818 C8 21 00 08 */ lfd f1, 8(r1)
/* 803878DC 0038481C EC 21 10 28 */ fsubs f1, f1, f2
/* 803878E0 00384820 EF E1 00 24 */ fdivs f31, f1, f0
/* 803878E4 00384824 4B D7 F9 3D */ bl getMotionFrameMax__Q24Game9EnemyBaseFv
/* 803878E8 00384828 EC 21 07 F2 */ fmuls f1, f1, f31
/* 803878EC 0038482C 7F E3 FB 78 */ mr r3, r31
/* 803878F0 00384830 4B D7 D9 39 */ bl setMotionFrame__Q24Game9EnemyBaseFf
/* 803878F4 00384834 38 00 00 00 */ li r0, 0
/* 803878F8 00384838 90 1E 00 10 */ stw r0, 0x10(r30)
/* 803878FC 0038483C E3 E1 00 28 */ psq_l f31, 40(r1), 0, qr0
/* 80387900 00384840 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80387904 00384844 CB E1 00 20 */ lfd f31, 0x20(r1)
/* 80387908 00384848 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8038790C 0038484C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80387910 00384850 7C 08 03 A6 */ mtlr r0
/* 80387914 00384854 38 21 00 30 */ addi r1, r1, 0x30
/* 80387918 00384858 4E 80 00 20 */ blr
.global exec__Q34Game11ShijimiChou9StateWaitFPQ24Game9EnemyBase
exec__Q34Game11ShijimiChou9StateWaitFPQ24Game9EnemyBase:
/* 8038791C 0038485C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80387920 00384860 7C 08 02 A6 */ mflr r0
/* 80387924 00384864 90 01 00 14 */ stw r0, 0x14(r1)
/* 80387928 00384868 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8038792C 0038486C 7C 9F 23 78 */ mr r31, r4
/* 80387930 00384870 93 C1 00 08 */ stw r30, 8(r1)
/* 80387934 00384874 7C 7E 1B 78 */ mr r30, r3
/* 80387938 00384878 80 A3 00 10 */ lwz r5, 0x10(r3)
/* 8038793C 0038487C 38 05 00 01 */ addi r0, r5, 1
/* 80387940 00384880 90 03 00 10 */ stw r0, 0x10(r3)
/* 80387944 00384884 80 03 00 10 */ lwz r0, 0x10(r3)
/* 80387948 00384888 2C 00 00 0A */ cmpwi r0, 0xa
/* 8038794C 0038488C 40 81 00 DC */ ble .L_80387A28
/* 80387950 00384890 80 1F 02 C0 */ lwz r0, 0x2c0(r31)
/* 80387954 00384894 2C 00 00 03 */ cmpwi r0, 3
/* 80387958 00384898 40 82 00 80 */ bne .L_803879D8
/* 8038795C 0038489C 80 1F 02 E8 */ lwz r0, 0x2e8(r31)
/* 80387960 003848A0 7C 00 F8 40 */ cmplw r0, r31
/* 80387964 003848A4 41 82 00 20 */ beq .L_80387984
/* 80387968 003848A8 81 83 00 00 */ lwz r12, 0(r3)
/* 8038796C 003848AC 38 A0 00 05 */ li r5, 5
/* 80387970 003848B0 38 C0 00 00 */ li r6, 0
/* 80387974 003848B4 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80387978 003848B8 7D 89 03 A6 */ mtctr r12
/* 8038797C 003848BC 4E 80 04 21 */ bctrl
/* 80387980 003848C0 48 00 00 C4 */ b .L_80387A44
.L_80387984:
/* 80387984 003848C4 80 7F 02 C8 */ lwz r3, 0x2c8(r31)
/* 80387988 003848C8 28 03 00 00 */ cmplwi r3, 0
/* 8038798C 003848CC 41 82 00 B0 */ beq .L_80387A3C
/* 80387990 003848D0 80 83 01 E0 */ lwz r4, 0x1e0(r3)
/* 80387994 003848D4 38 60 00 00 */ li r3, 0
/* 80387998 003848D8 54 80 05 6B */ rlwinm. r0, r4, 0, 0x15, 0x15
/* 8038799C 003848DC 40 82 00 0C */ bne .L_803879A8
/* 803879A0 003848E0 54 80 03 5B */ rlwinm. r0, r4, 0, 0xd, 0xd
/* 803879A4 003848E4 41 82 00 08 */ beq .L_803879AC
.L_803879A8:
/* 803879A8 003848E8 38 60 00 01 */ li r3, 1
.L_803879AC:
/* 803879AC 003848EC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 803879B0 003848F0 40 82 00 8C */ bne .L_80387A3C
/* 803879B4 003848F4 7F C3 F3 78 */ mr r3, r30
/* 803879B8 003848F8 7F E4 FB 78 */ mr r4, r31
/* 803879BC 003848FC 81 9E 00 00 */ lwz r12, 0(r30)
/* 803879C0 00384900 38 A0 00 01 */ li r5, 1
/* 803879C4 00384904 38 C0 00 00 */ li r6, 0
/* 803879C8 00384908 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 803879CC 0038490C 7D 89 03 A6 */ mtctr r12
/* 803879D0 00384910 4E 80 04 21 */ bctrl
/* 803879D4 00384914 48 00 00 70 */ b .L_80387A44
.L_803879D8:
/* 803879D8 00384918 80 1F 02 E8 */ lwz r0, 0x2e8(r31)
/* 803879DC 0038491C 7C 00 F8 40 */ cmplw r0, r31
/* 803879E0 00384920 40 82 00 24 */ bne .L_80387A04
/* 803879E4 00384924 C0 22 0A C8 */ lfs f1, lbl_8051EE28@sda21(r2)
/* 803879E8 00384928 7F E3 FB 78 */ mr r3, r31
/* 803879EC 0038492C C0 42 0A CC */ lfs f2, lbl_8051EE2C@sda21(r2)
/* 803879F0 00384930 38 80 00 00 */ li r4, 0
/* 803879F4 00384934 38 A0 00 00 */ li r5, 0
/* 803879F8 00384938 4B D8 B1 6D */ bl "getNearestPikmin__Q24Game9EnemyFuncFPQ24Game8CreatureffPfP23Condition<Q24Game4Piki>"
/* 803879FC 0038493C 28 03 00 00 */ cmplwi r3, 0
/* 80387A00 00384940 41 82 00 3C */ beq .L_80387A3C
.L_80387A04:
/* 80387A04 00384944 7F C3 F3 78 */ mr r3, r30
/* 80387A08 00384948 7F E4 FB 78 */ mr r4, r31
/* 80387A0C 0038494C 81 9E 00 00 */ lwz r12, 0(r30)
/* 80387A10 00384950 38 A0 00 01 */ li r5, 1
/* 80387A14 00384954 38 C0 00 00 */ li r6, 0
/* 80387A18 00384958 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80387A1C 0038495C 7D 89 03 A6 */ mtctr r12
/* 80387A20 00384960 4E 80 04 21 */ bctrl
/* 80387A24 00384964 48 00 00 20 */ b .L_80387A44
.L_80387A28:
/* 80387A28 00384968 80 1F 02 E8 */ lwz r0, 0x2e8(r31)
/* 80387A2C 0038496C 7C 00 F8 40 */ cmplw r0, r31
/* 80387A30 00384970 40 82 00 0C */ bne .L_80387A3C
/* 80387A34 00384974 7F E3 FB 78 */ mr r3, r31
/* 80387A38 00384978 48 00 47 DD */ bl leaderInit__Q34Game11ShijimiChou3ObjFv
.L_80387A3C:
/* 80387A3C 0038497C 7F E3 FB 78 */ mr r3, r31
/* 80387A40 00384980 48 00 31 F9 */ bl fly__Q34Game11ShijimiChou3ObjFv
.L_80387A44:
/* 80387A44 00384984 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80387A48 00384988 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80387A4C 0038498C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80387A50 00384990 7C 08 03 A6 */ mtlr r0
/* 80387A54 00384994 38 21 00 10 */ addi r1, r1, 0x10
/* 80387A58 00384998 4E 80 00 20 */ blr
.global __ct__Q34Game11ShijimiChou8StateFlyFi
__ct__Q34Game11ShijimiChou8StateFlyFi:
/* 80387A5C 0038499C 3C A0 80 4B */ lis r5, __vt__Q24Game13EnemyFSMState@ha
/* 80387A60 003849A0 3C C0 80 4E */ lis r6, __vt__Q34Game11ShijimiChou5State@ha
/* 80387A64 003849A4 38 05 F9 A4 */ addi r0, r5, __vt__Q24Game13EnemyFSMState@l
/* 80387A68 003849A8 3C A0 80 4E */ lis r5, __vt__Q34Game11ShijimiChou8StateFly@ha
/* 80387A6C 003849AC 90 03 00 00 */ stw r0, 0(r3)
/* 80387A70 003849B0 38 E0 00 00 */ li r7, 0
/* 80387A74 003849B4 38 C6 4B 80 */ addi r6, r6, __vt__Q34Game11ShijimiChou5State@l
/* 80387A78 003849B8 38 A5 4B 38 */ addi r5, r5, __vt__Q34Game11ShijimiChou8StateFly@l
/* 80387A7C 003849BC 90 83 00 04 */ stw r4, 4(r3)
/* 80387A80 003849C0 38 02 0A D0 */ addi r0, r2, lbl_8051EE30@sda21
/* 80387A84 003849C4 90 E3 00 08 */ stw r7, 8(r3)
/* 80387A88 003849C8 90 C3 00 00 */ stw r6, 0(r3)
/* 80387A8C 003849CC 90 A3 00 00 */ stw r5, 0(r3)
/* 80387A90 003849D0 90 03 00 0C */ stw r0, 0xc(r3)
/* 80387A94 003849D4 4E 80 00 20 */ blr
.global init__Q34Game11ShijimiChou8StateFlyFPQ24Game9EnemyBasePQ24Game8StateArg
init__Q34Game11ShijimiChou8StateFlyFPQ24Game9EnemyBasePQ24Game8StateArg:
/* 80387A98 003849D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80387A9C 003849DC 7C 08 02 A6 */ mflr r0
/* 80387AA0 003849E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80387AA4 003849E4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80387AA8 003849E8 7C 9F 23 78 */ mr r31, r4
/* 80387AAC 003849EC 93 C1 00 08 */ stw r30, 8(r1)
/* 80387AB0 003849F0 7C 7E 1B 78 */ mr r30, r3
/* 80387AB4 003849F4 7F E3 FB 78 */ mr r3, r31
/* 80387AB8 003849F8 48 00 41 31 */ bl setNextGoal__Q34Game11ShijimiChou3ObjFv
/* 80387ABC 003849FC 38 60 00 00 */ li r3, 0
/* 80387AC0 00384A00 90 7F 02 C4 */ stw r3, 0x2c4(r31)
/* 80387AC4 00384A04 80 1F 01 E0 */ lwz r0, 0x1e0(r31)
/* 80387AC8 00384A08 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18
/* 80387ACC 00384A0C 90 1F 01 E0 */ stw r0, 0x1e0(r31)
/* 80387AD0 00384A10 90 7E 00 10 */ stw r3, 0x10(r30)
/* 80387AD4 00384A14 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80387AD8 00384A18 83 C1 00 08 */ lwz r30, 8(r1)
/* 80387ADC 00384A1C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80387AE0 00384A20 7C 08 03 A6 */ mtlr r0
/* 80387AE4 00384A24 38 21 00 10 */ addi r1, r1, 0x10
/* 80387AE8 00384A28 4E 80 00 20 */ blr
.global exec__Q34Game11ShijimiChou8StateFlyFPQ24Game9EnemyBase
exec__Q34Game11ShijimiChou8StateFlyFPQ24Game9EnemyBase:
/* 80387AEC 00384A2C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80387AF0 00384A30 7C 08 02 A6 */ mflr r0
/* 80387AF4 00384A34 90 01 00 24 */ stw r0, 0x24(r1)
/* 80387AF8 00384A38 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80387AFC 00384A3C 7C 9F 23 78 */ mr r31, r4
/* 80387B00 00384A40 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80387B04 00384A44 7C 7E 1B 78 */ mr r30, r3
/* 80387B08 00384A48 7F E3 FB 78 */ mr r3, r31
/* 80387B0C 00384A4C 48 00 30 AD */ bl checkFlyStart__Q34Game11ShijimiChou3ObjFv
/* 80387B10 00384A50 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80387B14 00384A54 41 82 00 10 */ beq .L_80387B24
/* 80387B18 00384A58 80 7F 02 C4 */ lwz r3, 0x2c4(r31)
/* 80387B1C 00384A5C 38 03 00 01 */ addi r0, r3, 1
/* 80387B20 00384A60 90 1F 02 C4 */ stw r0, 0x2c4(r31)
.L_80387B24:
/* 80387B24 00384A64 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80387B28 00384A68 2C 03 00 0A */ cmpwi r3, 0xa
/* 80387B2C 00384A6C 40 82 00 10 */ bne .L_80387B3C
/* 80387B30 00384A70 7F E3 FB 78 */ mr r3, r31
/* 80387B34 00384A74 48 00 47 F5 */ bl fadeAppearEffect__Q34Game11ShijimiChou3ObjFv
/* 80387B38 00384A78 48 00 00 0C */ b .L_80387B44
.L_80387B3C:
/* 80387B3C 00384A7C 38 03 00 01 */ addi r0, r3, 1
/* 80387B40 00384A80 90 1E 00 10 */ stw r0, 0x10(r30)
.L_80387B44:
/* 80387B44 00384A84 80 1F 02 C0 */ lwz r0, 0x2c0(r31)
/* 80387B48 00384A88 80 7F 00 C0 */ lwz r3, 0xc0(r31)
/* 80387B4C 00384A8C 2C 00 00 02 */ cmpwi r0, 2
/* 80387B50 00384A90 C0 43 08 1C */ lfs f2, 0x81c(r3)
/* 80387B54 00384A94 40 82 00 08 */ bne .L_80387B5C
/* 80387B58 00384A98 C0 43 08 44 */ lfs f2, 0x844(r3)
.L_80387B5C:
/* 80387B5C 00384A9C 2C 00 00 03 */ cmpwi r0, 3
/* 80387B60 00384AA0 40 82 00 08 */ bne .L_80387B68
/* 80387B64 00384AA4 C0 42 0A D4 */ lfs f2, lbl_8051EE34@sda21(r2)
.L_80387B68:
/* 80387B68 00384AA8 80 7F 02 C4 */ lwz r3, 0x2c4(r31)
/* 80387B6C 00384AAC 3C 00 43 30 */ lis r0, 0x4330
/* 80387B70 00384AB0 90 01 00 08 */ stw r0, 8(r1)
/* 80387B74 00384AB4 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80387B78 00384AB8 C8 22 0A C0 */ lfd f1, lbl_8051EE20@sda21(r2)
/* 80387B7C 00384ABC 90 01 00 0C */ stw r0, 0xc(r1)
/* 80387B80 00384AC0 C8 01 00 08 */ lfd f0, 8(r1)
/* 80387B84 00384AC4 EC 00 08 28 */ fsubs f0, f0, f1
/* 80387B88 00384AC8 FC 00 10 40 */ fcmpo cr0, f0, f2
/* 80387B8C 00384ACC 40 81 00 28 */ ble .L_80387BB4
/* 80387B90 00384AD0 7F C3 F3 78 */ mr r3, r30
/* 80387B94 00384AD4 7F E4 FB 78 */ mr r4, r31
/* 80387B98 00384AD8 81 9E 00 00 */ lwz r12, 0(r30)
/* 80387B9C 00384ADC 38 A0 00 04 */ li r5, 4
/* 80387BA0 00384AE0 38 C0 00 00 */ li r6, 0
/* 80387BA4 00384AE4 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80387BA8 00384AE8 7D 89 03 A6 */ mtctr r12
/* 80387BAC 00384AEC 4E 80 04 21 */ bctrl
/* 80387BB0 00384AF0 48 00 00 0C */ b .L_80387BBC
.L_80387BB4:
/* 80387BB4 00384AF4 7F E3 FB 78 */ mr r3, r31
/* 80387BB8 00384AF8 48 00 30 81 */ bl fly__Q34Game11ShijimiChou3ObjFv
.L_80387BBC:
/* 80387BBC 00384AFC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80387BC0 00384B00 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80387BC4 00384B04 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80387BC8 00384B08 7C 08 03 A6 */ mtlr r0
/* 80387BCC 00384B0C 38 21 00 20 */ addi r1, r1, 0x20
/* 80387BD0 00384B10 4E 80 00 20 */ blr
.global __ct__Q34Game11ShijimiChou9StateFallFi
__ct__Q34Game11ShijimiChou9StateFallFi:
/* 80387BD4 00384B14 3C A0 80 4B */ lis r5, __vt__Q24Game13EnemyFSMState@ha
/* 80387BD8 00384B18 3C C0 80 4E */ lis r6, __vt__Q34Game11ShijimiChou5State@ha
/* 80387BDC 00384B1C 38 05 F9 A4 */ addi r0, r5, __vt__Q24Game13EnemyFSMState@l
/* 80387BE0 00384B20 3C A0 80 4E */ lis r5, __vt__Q34Game11ShijimiChou9StateFall@ha
/* 80387BE4 00384B24 90 03 00 00 */ stw r0, 0(r3)
/* 80387BE8 00384B28 38 E0 00 00 */ li r7, 0
/* 80387BEC 00384B2C 38 C6 4B 80 */ addi r6, r6, __vt__Q34Game11ShijimiChou5State@l
/* 80387BF0 00384B30 38 A5 4B 14 */ addi r5, r5, __vt__Q34Game11ShijimiChou9StateFall@l
/* 80387BF4 00384B34 90 83 00 04 */ stw r4, 4(r3)
/* 80387BF8 00384B38 38 02 0A D8 */ addi r0, r2, lbl_8051EE38@sda21
/* 80387BFC 00384B3C 90 E3 00 08 */ stw r7, 8(r3)
/* 80387C00 00384B40 90 C3 00 00 */ stw r6, 0(r3)
/* 80387C04 00384B44 90 A3 00 00 */ stw r5, 0(r3)
/* 80387C08 00384B48 90 03 00 0C */ stw r0, 0xc(r3)
/* 80387C0C 00384B4C 4E 80 00 20 */ blr
.global init__Q34Game11ShijimiChou9StateFallFPQ24Game9EnemyBasePQ24Game8StateArg
init__Q34Game11ShijimiChou9StateFallFPQ24Game9EnemyBasePQ24Game8StateArg:
/* 80387C10 00384B50 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80387C14 00384B54 7C 08 02 A6 */ mflr r0
/* 80387C18 00384B58 90 01 00 34 */ stw r0, 0x34(r1)
/* 80387C1C 00384B5C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80387C20 00384B60 7C 9F 23 78 */ mr r31, r4
/* 80387C24 00384B64 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80387C28 00384B68 7C 7E 1B 78 */ mr r30, r3
/* 80387C2C 00384B6C 7F E3 FB 78 */ mr r3, r31
/* 80387C30 00384B70 4B D7 FB 65 */ bl hardConstraintOff__Q24Game9EnemyBaseFv
/* 80387C34 00384B74 80 1F 01 E0 */ lwz r0, 0x1e0(r31)
/* 80387C38 00384B78 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80387C3C 00384B7C 90 1F 01 E0 */ stw r0, 0x1e0(r31)
/* 80387C40 00384B80 80 7F 00 C0 */ lwz r3, 0xc0(r31)
/* 80387C44 00384B84 88 03 09 4C */ lbz r0, 0x94c(r3)
/* 80387C48 00384B88 28 00 00 00 */ cmplwi r0, 0
/* 80387C4C 00384B8C 41 82 00 28 */ beq .L_80387C74
/* 80387C50 00384B90 C0 3F 01 D4 */ lfs f1, 0x1d4(r31)
/* 80387C54 00384B94 C0 5F 01 D8 */ lfs f2, 0x1d8(r31)
/* 80387C58 00384B98 C0 7F 01 DC */ lfs f3, 0x1dc(r31)
/* 80387C5C 00384B9C C0 02 0A E0 */ lfs f0, lbl_8051EE40@sda21(r2)
/* 80387C60 00384BA0 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 80387C64 00384BA4 D0 1F 01 D8 */ stfs f0, 0x1d8(r31)
/* 80387C68 00384BA8 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 80387C6C 00384BAC D0 61 00 1C */ stfs f3, 0x1c(r1)
/* 80387C70 00384BB0 D0 7F 01 DC */ stfs f3, 0x1dc(r31)
.L_80387C74:
/* 80387C74 00384BB4 7F E4 FB 78 */ mr r4, r31
/* 80387C78 00384BB8 38 61 00 08 */ addi r3, r1, 8
/* 80387C7C 00384BBC 81 9F 00 00 */ lwz r12, 0(r31)
/* 80387C80 00384BC0 81 8C 00 08 */ lwz r12, 8(r12)
/* 80387C84 00384BC4 7D 89 03 A6 */ mtctr r12
/* 80387C88 00384BC8 4E 80 04 21 */ bctrl
/* 80387C8C 00384BCC C0 01 00 08 */ lfs f0, 8(r1)
/* 80387C90 00384BD0 38 80 59 17 */ li r4, 0x5917
/* 80387C94 00384BD4 38 A0 00 00 */ li r5, 0
/* 80387C98 00384BD8 D0 1F 02 CC */ stfs f0, 0x2cc(r31)
/* 80387C9C 00384BDC C0 01 00 0C */ lfs f0, 0xc(r1)
/* 80387CA0 00384BE0 D0 1F 02 D0 */ stfs f0, 0x2d0(r31)
/* 80387CA4 00384BE4 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 80387CA8 00384BE8 D0 1F 02 D4 */ stfs f0, 0x2d4(r31)
/* 80387CAC 00384BEC 80 7F 02 8C */ lwz r3, 0x28c(r31)
/* 80387CB0 00384BF0 81 83 00 28 */ lwz r12, 0x28(r3)
/* 80387CB4 00384BF4 81 8C 00 88 */ lwz r12, 0x88(r12)
/* 80387CB8 00384BF8 7D 89 03 A6 */ mtctr r12
/* 80387CBC 00384BFC 4E 80 04 21 */ bctrl
/* 80387CC0 00384C00 38 00 00 00 */ li r0, 0
/* 80387CC4 00384C04 90 1E 00 10 */ stw r0, 0x10(r30)
/* 80387CC8 00384C08 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80387CCC 00384C0C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80387CD0 00384C10 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80387CD4 00384C14 7C 08 03 A6 */ mtlr r0
/* 80387CD8 00384C18 38 21 00 30 */ addi r1, r1, 0x30
/* 80387CDC 00384C1C 4E 80 00 20 */ blr
.global exec__Q34Game11ShijimiChou9StateFallFPQ24Game9EnemyBase
exec__Q34Game11ShijimiChou9StateFallFPQ24Game9EnemyBase:
/* 80387CE0 00384C20 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80387CE4 00384C24 7C 08 02 A6 */ mflr r0
/* 80387CE8 00384C28 90 01 00 14 */ stw r0, 0x14(r1)
/* 80387CEC 00384C2C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80387CF0 00384C30 7C 9F 23 78 */ mr r31, r4
/* 80387CF4 00384C34 93 C1 00 08 */ stw r30, 8(r1)
/* 80387CF8 00384C38 7C 7E 1B 78 */ mr r30, r3
/* 80387CFC 00384C3C 80 64 00 C0 */ lwz r3, 0xc0(r4)
/* 80387D00 00384C40 88 03 09 4C */ lbz r0, 0x94c(r3)
/* 80387D04 00384C44 28 00 00 00 */ cmplwi r0, 0
/* 80387D08 00384C48 41 82 00 0C */ beq .L_80387D14
/* 80387D0C 00384C4C 7F E3 FB 78 */ mr r3, r31
/* 80387D10 00384C50 48 00 42 71 */ bl fallBehavior__Q34Game11ShijimiChou3ObjFv
.L_80387D14:
/* 80387D14 00384C54 7F E3 FB 78 */ mr r3, r31
/* 80387D18 00384C58 48 00 41 E1 */ bl isFallEnd__Q34Game11ShijimiChou3ObjFv
/* 80387D1C 00384C5C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80387D20 00384C60 40 82 00 10 */ bne .L_80387D30
/* 80387D24 00384C64 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 80387D28 00384C68 2C 00 00 64 */ cmpwi r0, 0x64
/* 80387D2C 00384C6C 40 81 00 24 */ ble .L_80387D50
.L_80387D30:
/* 80387D30 00384C70 7F C3 F3 78 */ mr r3, r30
/* 80387D34 00384C74 7F E4 FB 78 */ mr r4, r31
/* 80387D38 00384C78 81 9E 00 00 */ lwz r12, 0(r30)
/* 80387D3C 00384C7C 38 A0 00 03 */ li r5, 3
/* 80387D40 00384C80 38 C0 00 00 */ li r6, 0
/* 80387D44 00384C84 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 80387D48 00384C88 7D 89 03 A6 */ mtctr r12
/* 80387D4C 00384C8C 4E 80 04 21 */ bctrl
.L_80387D50:
/* 80387D50 00384C90 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80387D54 00384C94 38 03 00 01 */ addi r0, r3, 1
/* 80387D58 00384C98 90 1E 00 10 */ stw r0, 0x10(r30)
/* 80387D5C 00384C9C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80387D60 00384CA0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80387D64 00384CA4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80387D68 00384CA8 7C 08 03 A6 */ mtlr r0
/* 80387D6C 00384CAC 38 21 00 10 */ addi r1, r1, 0x10
/* 80387D70 00384CB0 4E 80 00 20 */ blr
.global __ct__Q34Game11ShijimiChou9StateDeadFi
__ct__Q34Game11ShijimiChou9StateDeadFi:
/* 80387D74 00384CB4 3C A0 80 4B */ lis r5, __vt__Q24Game13EnemyFSMState@ha
/* 80387D78 00384CB8 3C C0 80 4E */ lis r6, __vt__Q34Game11ShijimiChou5State@ha
/* 80387D7C 00384CBC 38 05 F9 A4 */ addi r0, r5, __vt__Q24Game13EnemyFSMState@l
/* 80387D80 00384CC0 3C A0 80 4E */ lis r5, __vt__Q34Game11ShijimiChou9StateDead@ha
/* 80387D84 00384CC4 90 03 00 00 */ stw r0, 0(r3)
/* 80387D88 00384CC8 38 E0 00 00 */ li r7, 0
/* 80387D8C 00384CCC 38 C6 4B 80 */ addi r6, r6, __vt__Q34Game11ShijimiChou5State@l
/* 80387D90 00384CD0 38 A5 4A F0 */ addi r5, r5, __vt__Q34Game11ShijimiChou9StateDead@l
/* 80387D94 00384CD4 90 83 00 04 */ stw r4, 4(r3)
/* 80387D98 00384CD8 38 02 0A E4 */ addi r0, r2, lbl_8051EE44@sda21
/* 80387D9C 00384CDC 90 E3 00 08 */ stw r7, 8(r3)
/* 80387DA0 00384CE0 90 C3 00 00 */ stw r6, 0(r3)
/* 80387DA4 00384CE4 90 A3 00 00 */ stw r5, 0(r3)
/* 80387DA8 00384CE8 90 03 00 0C */ stw r0, 0xc(r3)
/* 80387DAC 00384CEC 4E 80 00 20 */ blr
.global init__Q34Game11ShijimiChou9StateDeadFPQ24Game9EnemyBasePQ24Game8StateArg
init__Q34Game11ShijimiChou9StateDeadFPQ24Game9EnemyBasePQ24Game8StateArg:
/* 80387DB0 00384CF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80387DB4 00384CF4 7C 08 02 A6 */ mflr r0
/* 80387DB8 00384CF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80387DBC 00384CFC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80387DC0 00384D00 7C 9F 23 78 */ mr r31, r4
/* 80387DC4 00384D04 38 80 00 00 */ li r4, 0
/* 80387DC8 00384D08 81 9F 00 00 */ lwz r12, 0(r31)
/* 80387DCC 00384D0C 7F E3 FB 78 */ mr r3, r31
/* 80387DD0 00384D10 81 8C 00 AC */ lwz r12, 0xac(r12)
/* 80387DD4 00384D14 7D 89 03 A6 */ mtctr r12
/* 80387DD8 00384D18 4E 80 04 21 */ bctrl
/* 80387DDC 00384D1C 80 1F 01 E0 */ lwz r0, 0x1e0(r31)
/* 80387DE0 00384D20 7F E3 FB 78 */ mr r3, r31
/* 80387DE4 00384D24 C0 02 0A B8 */ lfs f0, lbl_8051EE18@sda21(r2)
/* 80387DE8 00384D28 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
/* 80387DEC 00384D2C 90 1F 01 E0 */ stw r0, 0x1e0(r31)
/* 80387DF0 00384D30 D0 1F 01 D4 */ stfs f0, 0x1d4(r31)
/* 80387DF4 00384D34 D0 1F 01 D8 */ stfs f0, 0x1d8(r31)
/* 80387DF8 00384D38 D0 1F 01 DC */ stfs f0, 0x1dc(r31)
/* 80387DFC 00384D3C D0 1F 01 C8 */ stfs f0, 0x1c8(r31)
/* 80387E00 00384D40 D0 1F 01 CC */ stfs f0, 0x1cc(r31)
/* 80387E04 00384D44 D0 1F 01 D0 */ stfs f0, 0x1d0(r31)
/* 80387E08 00384D48 80 1F 01 E0 */ lwz r0, 0x1e0(r31)
/* 80387E0C 00384D4C 60 00 00 80 */ ori r0, r0, 0x80
/* 80387E10 00384D50 90 1F 01 E0 */ stw r0, 0x1e0(r31)
/* 80387E14 00384D54 4B D7 D9 0D */ bl deathProcedure__Q24Game9EnemyBaseFv
/* 80387E18 00384D58 7F E3 FB 78 */ mr r3, r31
/* 80387E1C 00384D5C 38 80 00 01 */ li r4, 1
/* 80387E20 00384D60 38 A0 00 00 */ li r5, 0
/* 80387E24 00384D64 4B D7 D1 E1 */ bl startMotion__Q24Game9EnemyBaseFiPQ28SysShape14MotionListener
/* 80387E28 00384D68 C0 22 0A B8 */ lfs f1, lbl_8051EE18@sda21(r2)
/* 80387E2C 00384D6C 7F E3 FB 78 */ mr r3, r31
/* 80387E30 00384D70 48 0E 65 E5 */ bl PSStartEnemyFatalHitSE__FPQ24Game9EnemyBasef
/* 80387E34 00384D74 7F E3 FB 78 */ mr r3, r31
/* 80387E38 00384D78 48 00 41 21 */ bl deadEffect__Q34Game11ShijimiChou3ObjFv
/* 80387E3C 00384D7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80387E40 00384D80 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80387E44 00384D84 7C 08 03 A6 */ mtlr r0
/* 80387E48 00384D88 38 21 00 10 */ addi r1, r1, 0x10
/* 80387E4C 00384D8C 4E 80 00 20 */ blr
.global exec__Q34Game11ShijimiChou9StateDeadFPQ24Game9EnemyBase
exec__Q34Game11ShijimiChou9StateDeadFPQ24Game9EnemyBase:
/* 80387E50 00384D90 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80387E54 00384D94 7C 08 02 A6 */ mflr r0
/* 80387E58 00384D98 90 01 00 54 */ stw r0, 0x54(r1)
/* 80387E5C 00384D9C 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80387E60 00384DA0 7C 9F 23 78 */ mr r31, r4
/* 80387E64 00384DA4 80 64 01 88 */ lwz r3, 0x188(r4)
/* 80387E68 00384DA8 88 03 00 24 */ lbz r0, 0x24(r3)
/* 80387E6C 00384DAC 28 00 00 00 */ cmplwi r0, 0
/* 80387E70 00384DB0 41 82 00 E0 */ beq .L_80387F50
/* 80387E74 00384DB4 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80387E78 00384DB8 28 00 03 E8 */ cmplwi r0, 0x3e8
/* 80387E7C 00384DBC 40 82 00 D4 */ bne .L_80387F50
/* 80387E80 00384DC0 7F E3 FB 78 */ mr r3, r31
/* 80387E84 00384DC4 48 00 2A F9 */ bl genItem__Q34Game11ShijimiChou3ObjFv
/* 80387E88 00384DC8 C0 22 0A B8 */ lfs f1, lbl_8051EE18@sda21(r2)
/* 80387E8C 00384DCC 7F E3 FB 78 */ mr r3, r31
/* 80387E90 00384DD0 48 0E 63 ED */ bl PSStartEnemyGhostSE__FPQ24Game9EnemyBasef
/* 80387E94 00384DD4 7F E3 FB 78 */ mr r3, r31
/* 80387E98 00384DD8 38 81 00 20 */ addi r4, r1, 0x20
/* 80387E9C 00384DDC 81 9F 00 00 */ lwz r12, 0(r31)
/* 80387EA0 00384DE0 81 8C 02 04 */ lwz r12, 0x204(r12)
/* 80387EA4 00384DE4 7D 89 03 A6 */ mtctr r12
/* 80387EA8 00384DE8 4E 80 04 21 */ bctrl
/* 80387EAC 00384DEC 80 81 00 20 */ lwz r4, 0x20(r1)
/* 80387EB0 00384DF0 3C 60 80 4B */ lis r3, __vt__Q23efx5TBase@ha
/* 80387EB4 00384DF4 80 C1 00 24 */ lwz r6, 0x24(r1)
/* 80387EB8 00384DF8 38 03 A7 F8 */ addi r0, r3, __vt__Q23efx5TBase@l
/* 80387EBC 00384DFC 80 A1 00 28 */ lwz r5, 0x28(r1)
/* 80387EC0 00384E00 3C 60 80 4B */ lis r3, __vt__Q23efx3Arg@ha
/* 80387EC4 00384E04 90 81 00 08 */ stw r4, 8(r1)
/* 80387EC8 00384E08 3C 80 80 4E */ lis r4, __vt__Q23efx8TSimple1@ha
/* 80387ECC 00384E0C 39 43 A7 EC */ addi r10, r3, __vt__Q23efx3Arg@l
/* 80387ED0 00384E10 C0 02 0A EC */ lfs f0, lbl_8051EE4C@sda21(r2)
/* 80387ED4 00384E14 90 C1 00 0C */ stw r6, 0xc(r1)
/* 80387ED8 00384E18 3D 20 80 4B */ lis r9, __vt__Q23efx12ArgEnemyType@ha
/* 80387EDC 00384E1C C0 61 00 08 */ lfs f3, 8(r1)
/* 80387EE0 00384E20 3C 60 80 4F */ lis r3, __vt__Q23efx10TEnemyDead@ha
/* 80387EE4 00384E24 90 A1 00 10 */ stw r5, 0x10(r1)
/* 80387EE8 00384E28 39 00 00 0C */ li r8, 0xc
/* 80387EEC 00384E2C C0 41 00 0C */ lfs f2, 0xc(r1)
/* 80387EF0 00384E30 38 C0 00 52 */ li r6, 0x52
/* 80387EF4 00384E34 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 80387EF8 00384E38 38 A0 00 00 */ li r5, 0
/* 80387EFC 00384E3C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80387F00 00384E40 38 E4 6A 78 */ addi r7, r4, __vt__Q23efx8TSimple1@l
/* 80387F04 00384E44 39 29 A7 E0 */ addi r9, r9, __vt__Q23efx12ArgEnemyType@l
/* 80387F08 00384E48 38 03 86 60 */ addi r0, r3, __vt__Q23efx10TEnemyDead@l
/* 80387F0C 00384E4C 91 41 00 2C */ stw r10, 0x2c(r1)
/* 80387F10 00384E50 38 61 00 14 */ addi r3, r1, 0x14
/* 80387F14 00384E54 38 81 00 2C */ addi r4, r1, 0x2c
/* 80387F18 00384E58 90 E1 00 14 */ stw r7, 0x14(r1)
/* 80387F1C 00384E5C D0 61 00 30 */ stfs f3, 0x30(r1)
/* 80387F20 00384E60 D0 41 00 34 */ stfs f2, 0x34(r1)
/* 80387F24 00384E64 D0 21 00 38 */ stfs f1, 0x38(r1)
/* 80387F28 00384E68 91 21 00 2C */ stw r9, 0x2c(r1)
/* 80387F2C 00384E6C 91 01 00 3C */ stw r8, 0x3c(r1)
/* 80387F30 00384E70 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 80387F34 00384E74 B0 C1 00 18 */ sth r6, 0x18(r1)
/* 80387F38 00384E78 90 A1 00 1C */ stw r5, 0x1c(r1)
/* 80387F3C 00384E7C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80387F40 00384E80 48 04 01 6D */ bl create__Q23efx10TEnemyDeadFPQ23efx3Arg
/* 80387F44 00384E84 7F E3 FB 78 */ mr r3, r31
/* 80387F48 00384E88 38 80 00 00 */ li r4, 0
/* 80387F4C 00384E8C 4B DB 31 A5 */ bl kill__Q24Game8CreatureFPQ24Game15CreatureKillArg
.L_80387F50:
/* 80387F50 00384E90 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80387F54 00384E94 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 80387F58 00384E98 7C 08 03 A6 */ mtlr r0
/* 80387F5C 00384E9C 38 21 00 50 */ addi r1, r1, 0x50
/* 80387F60 00384EA0 4E 80 00 20 */ blr
.global __ct__Q34Game11ShijimiChou10StateLeaveFi
__ct__Q34Game11ShijimiChou10StateLeaveFi:
/* 80387F64 00384EA4 3C A0 80 4B */ lis r5, __vt__Q24Game13EnemyFSMState@ha
/* 80387F68 00384EA8 3C C0 80 4E */ lis r6, __vt__Q34Game11ShijimiChou5State@ha
/* 80387F6C 00384EAC 38 05 F9 A4 */ addi r0, r5, __vt__Q24Game13EnemyFSMState@l
/* 80387F70 00384EB0 3C A0 80 4E */ lis r5, __vt__Q34Game11ShijimiChou10StateLeave@ha
/* 80387F74 00384EB4 90 03 00 00 */ stw r0, 0(r3)
/* 80387F78 00384EB8 38 E0 00 00 */ li r7, 0
/* 80387F7C 00384EBC 38 C6 4B 80 */ addi r6, r6, __vt__Q34Game11ShijimiChou5State@l
/* 80387F80 00384EC0 38 A5 4A CC */ addi r5, r5, __vt__Q34Game11ShijimiChou10StateLeave@l
/* 80387F84 00384EC4 90 83 00 04 */ stw r4, 4(r3)
/* 80387F88 00384EC8 38 02 0A F0 */ addi r0, r2, lbl_8051EE50@sda21
/* 80387F8C 00384ECC 90 E3 00 08 */ stw r7, 8(r3)
/* 80387F90 00384ED0 90 C3 00 00 */ stw r6, 0(r3)
/* 80387F94 00384ED4 90 A3 00 00 */ stw r5, 0(r3)
/* 80387F98 00384ED8 90 03 00 0C */ stw r0, 0xc(r3)
/* 80387F9C 00384EDC 4E 80 00 20 */ blr
.global init__Q34Game11ShijimiChou10StateLeaveFPQ24Game9EnemyBasePQ24Game8StateArg
init__Q34Game11ShijimiChou10StateLeaveFPQ24Game9EnemyBasePQ24Game8StateArg:
/* 80387FA0 00384EE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80387FA4 00384EE4 7C 08 02 A6 */ mflr r0
/* 80387FA8 00384EE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80387FAC 00384EEC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80387FB0 00384EF0 7C 9F 23 78 */ mr r31, r4
/* 80387FB4 00384EF4 7F E3 FB 78 */ mr r3, r31
/* 80387FB8 00384EF8 4B D7 99 C5 */ bl setEmotionCaution__Q24Game9EnemyBaseFv
/* 80387FBC 00384EFC 80 1F 01 E0 */ lwz r0, 0x1e0(r31)
/* 80387FC0 00384F00 7F E3 FB 78 */ mr r3, r31
/* 80387FC4 00384F04 60 00 00 40 */ ori r0, r0, 0x40
/* 80387FC8 00384F08 90 1F 01 E0 */ stw r0, 0x1e0(r31)
/* 80387FCC 00384F0C 48 00 3A 71 */ bl leaveInit__Q34Game11ShijimiChou3ObjFv
/* 80387FD0 00384F10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80387FD4 00384F14 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80387FD8 00384F18 7C 08 03 A6 */ mtlr r0
/* 80387FDC 00384F1C 38 21 00 10 */ addi r1, r1, 0x10
/* 80387FE0 00384F20 4E 80 00 20 */ blr
.global exec__Q34Game11ShijimiChou10StateLeaveFPQ24Game9EnemyBase
exec__Q34Game11ShijimiChou10StateLeaveFPQ24Game9EnemyBase:
/* 80387FE4 00384F24 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80387FE8 00384F28 7C 08 02 A6 */ mflr r0
/* 80387FEC 00384F2C 7C 83 23 78 */ mr r3, r4
/* 80387FF0 00384F30 90 01 00 14 */ stw r0, 0x14(r1)
/* 80387FF4 00384F34 48 00 38 D5 */ bl leave__Q34Game11ShijimiChou3ObjFv
/* 80387FF8 00384F38 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80387FFC 00384F3C 7C 08 03 A6 */ mtlr r0
/* 80388000 00384F40 38 21 00 10 */ addi r1, r1, 0x10
/* 80388004 00384F44 4E 80 00 20 */ blr
.global __ct__Q34Game11ShijimiChou9StateRestFi
__ct__Q34Game11ShijimiChou9StateRestFi:
/* 80388008 00384F48 3C A0 80 4B */ lis r5, __vt__Q24Game13EnemyFSMState@ha
/* 8038800C 00384F4C 3C C0 80 4E */ lis r6, __vt__Q34Game11ShijimiChou5State@ha
/* 80388010 00384F50 38 05 F9 A4 */ addi r0, r5, __vt__Q24Game13EnemyFSMState@l
/* 80388014 00384F54 3C A0 80 4E */ lis r5, __vt__Q34Game11ShijimiChou9StateRest@ha
/* 80388018 00384F58 90 03 00 00 */ stw r0, 0(r3)
/* 8038801C 00384F5C 38 E0 00 00 */ li r7, 0
/* 80388020 00384F60 38 C6 4B 80 */ addi r6, r6, __vt__Q34Game11ShijimiChou5State@l
/* 80388024 00384F64 38 A5 4A A8 */ addi r5, r5, __vt__Q34Game11ShijimiChou9StateRest@l
/* 80388028 00384F68 90 83 00 04 */ stw r4, 4(r3)
/* 8038802C 00384F6C 38 02 0A F8 */ addi r0, r2, lbl_8051EE58@sda21
/* 80388030 00384F70 90 E3 00 08 */ stw r7, 8(r3)
/* 80388034 00384F74 90 C3 00 00 */ stw r6, 0(r3)
/* 80388038 00384F78 90 A3 00 00 */ stw r5, 0(r3)
/* 8038803C 00384F7C 90 03 00 0C */ stw r0, 0xc(r3)
/* 80388040 00384F80 4E 80 00 20 */ blr
.global init__Q34Game11ShijimiChou9StateRestFPQ24Game9EnemyBasePQ24Game8StateArg
init__Q34Game11ShijimiChou9StateRestFPQ24Game9EnemyBasePQ24Game8StateArg:
/* 80388044 00384F84 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80388048 00384F88 7C 08 02 A6 */ mflr r0
/* 8038804C 00384F8C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80388050 00384F90 38 00 00 01 */ li r0, 1
/* 80388054 00384F94 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80388058 00384F98 7C 9F 23 78 */ mr r31, r4
/* 8038805C 00384F9C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80388060 00384FA0 7C 7E 1B 78 */ mr r30, r3
/* 80388064 00384FA4 98 03 00 1C */ stb r0, 0x1c(r3)
/* 80388068 00384FA8 38 00 00 00 */ li r0, 0
/* 8038806C 00384FAC 90 03 00 10 */ stw r0, 0x10(r3)
/* 80388070 00384FB0 4B D4 15 31 */ bl rand
/* 80388074 00384FB4 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 80388078 00384FB8 3C 60 43 30 */ lis r3, 0x4330
/* 8038807C 00384FBC 90 01 00 0C */ stw r0, 0xc(r1)
/* 80388080 00384FC0 38 00 00 00 */ li r0, 0
/* 80388084 00384FC4 C8 62 0A C0 */ lfd f3, lbl_8051EE20@sda21(r2)
/* 80388088 00384FC8 90 61 00 08 */ stw r3, 8(r1)
/* 8038808C 00384FCC C0 42 0A BC */ lfs f2, lbl_8051EE1C@sda21(r2)
/* 80388090 00384FD0 C8 01 00 08 */ lfd f0, 8(r1)
/* 80388094 00384FD4 C0 22 0B 04 */ lfs f1, lbl_8051EE64@sda21(r2)
/* 80388098 00384FD8 EC 60 18 28 */ fsubs f3, f0, f3
/* 8038809C 00384FDC C0 02 0B 00 */ lfs f0, lbl_8051EE60@sda21(r2)
/* 803880A0 00384FE0 EC 43 10 24 */ fdivs f2, f3, f2
/* 803880A4 00384FE4 EC 01 00 BA */ fmadds f0, f1, f2, f0
/* 803880A8 00384FE8 FC 00 00 1E */ fctiwz f0, f0
/* 803880AC 00384FEC D8 01 00 10 */ stfd f0, 0x10(r1)
/* 803880B0 00384FF0 80 61 00 14 */ lwz r3, 0x14(r1)
/* 803880B4 00384FF4 90 7E 00 18 */ stw r3, 0x18(r30)
/* 803880B8 00384FF8 98 1E 00 1D */ stb r0, 0x1d(r30)
/* 803880BC 00384FFC 90 1E 00 14 */ stw r0, 0x14(r30)
/* 803880C0 00385000 98 1E 00 1E */ stb r0, 0x1e(r30)
/* 803880C4 00385004 80 6D 93 E8 */ lwz r3, gameSystem__4Game@sda21(r13)
/* 803880C8 00385008 28 03 00 00 */ cmplwi r3, 0
/* 803880CC 0038500C 41 82 00 1C */ beq .L_803880E8
/* 803880D0 00385010 80 03 00 44 */ lwz r0, 0x44(r3)
/* 803880D4 00385014 2C 00 00 04 */ cmpwi r0, 4
/* 803880D8 00385018 40 82 00 10 */ bne .L_803880E8
/* 803880DC 0038501C 80 1F 01 E0 */ lwz r0, 0x1e0(r31)
/* 803880E0 00385020 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18
/* 803880E4 00385024 90 1F 01 E0 */ stw r0, 0x1e0(r31)
.L_803880E8:
/* 803880E8 00385028 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803880EC 0038502C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803880F0 00385030 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803880F4 00385034 7C 08 03 A6 */ mtlr r0
/* 803880F8 00385038 38 21 00 20 */ addi r1, r1, 0x20
/* 803880FC 0038503C 4E 80 00 20 */ blr
.global exec__Q34Game11ShijimiChou9StateRestFPQ24Game9EnemyBase
exec__Q34Game11ShijimiChou9StateRestFPQ24Game9EnemyBase:
/* 80388100 00385040 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 80388104 00385044 7C 08 02 A6 */ mflr r0
/* 80388108 00385048 90 01 00 84 */ stw r0, 0x84(r1)
/* 8038810C 0038504C DB E1 00 70 */ stfd f31, 0x70(r1)
/* 80388110 00385050 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0
/* 80388114 00385054 DB C1 00 60 */ stfd f30, 0x60(r1)
/* 80388118 00385058 F3 C1 00 68 */ psq_st f30, 104(r1), 0, qr0
/* 8038811C 0038505C DB A1 00 50 */ stfd f29, 0x50(r1)
/* 80388120 00385060 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 80388124 00385064 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80388128 00385068 93 C1 00 48 */ stw r30, 0x48(r1)
/* 8038812C 0038506C 7C 7E 1B 78 */ mr r30, r3
/* 80388130 00385070 7C 9F 23 78 */ mr r31, r4
/* 80388134 00385074 88 03 00 1D */ lbz r0, 0x1d(r3)
/* 80388138 00385078 28 00 00 00 */ cmplwi r0, 0
/* 8038813C 0038507C 40 82 00 30 */ bne .L_8038816C
/* 80388140 00385080 80 9F 01 E0 */ lwz r4, 0x1e0(r31)
/* 80388144 00385084 38 60 00 00 */ li r3, 0
/* 80388148 00385088 54 80 05 6B */ rlwinm. r0, r4, 0, 0x15, 0x15
/* 8038814C 0038508C 40 82 00 0C */ bne .L_80388158
/* 80388150 00385090 54 80 03 5B */ rlwinm. r0, r4, 0, 0xd, 0xd
/* 80388154 00385094 41 82 00 08 */ beq .L_8038815C
.L_80388158:
/* 80388158 00385098 38 60 00 01 */ li r3, 1
.L_8038815C:
/* 8038815C 0038509C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80388160 003850A0 40 82 00 0C */ bne .L_8038816C
/* 80388164 003850A4 7F E3 FB 78 */ mr r3, r31
/* 80388168 003850A8 48 00 2E 8D */ bl restFly__Q34Game11ShijimiChou3ObjFv
.L_8038816C:
/* 8038816C 003850AC 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80388170 003850B0 38 03 00 01 */ addi r0, r3, 1
/* 80388174 003850B4 90 1E 00 10 */ stw r0, 0x10(r30)
/* 80388178 003850B8 88 1E 00 1D */ lbz r0, 0x1d(r30)
/* 8038817C 003850BC 28 00 00 00 */ cmplwi r0, 0
/* 80388180 003850C0 41 82 01 FC */ beq .L_8038837C
/* 80388184 003850C4 38 00 00 00 */ li r0, 0
/* 80388188 003850C8 90 1E 00 14 */ stw r0, 0x14(r30)
/* 8038818C 003850CC 88 1E 00 1E */ lbz r0, 0x1e(r30)
/* 80388190 003850D0 28 00 00 00 */ cmplwi r0, 0
/* 80388194 003850D4 41 82 00 0C */ beq .L_803881A0
/* 80388198 003850D8 7F E3 FB 78 */ mr r3, r31
/* 8038819C 003850DC 4B D7 F1 45 */ bl stopMotion__Q24Game9EnemyBaseFv
.L_803881A0:
/* 803881A0 003850E0 88 1E 00 1C */ lbz r0, 0x1c(r30)
/* 803881A4 003850E4 28 00 00 00 */ cmplwi r0, 0
/* 803881A8 003850E8 41 82 00 64 */ beq .L_8038820C
/* 803881AC 003850EC 38 00 00 00 */ li r0, 0
/* 803881B0 003850F0 90 1E 00 10 */ stw r0, 0x10(r30)
/* 803881B4 003850F4 4B D4 13 ED */ bl rand
/* 803881B8 003850F8 6C 60 80 00 */ xoris r0, r3, 0x8000
/* 803881BC 003850FC 3C 80 43 30 */ lis r4, 0x4330
/* 803881C0 00385100 90 01 00 34 */ stw r0, 0x34(r1)
/* 803881C4 00385104 38 00 00 00 */ li r0, 0
/* 803881C8 00385108 C8 62 0A C0 */ lfd f3, lbl_8051EE20@sda21(r2)
/* 803881CC 0038510C 7F E3 FB 78 */ mr r3, r31
/* 803881D0 00385110 90 81 00 30 */ stw r4, 0x30(r1)
/* 803881D4 00385114 C0 22 0A BC */ lfs f1, lbl_8051EE1C@sda21(r2)
/* 803881D8 00385118 C8 41 00 30 */ lfd f2, 0x30(r1)
/* 803881DC 0038511C C0 02 0B 08 */ lfs f0, lbl_8051EE68@sda21(r2)
/* 803881E0 00385120 EC 42 18 28 */ fsubs f2, f2, f3
/* 803881E4 00385124 EC 22 08 24 */ fdivs f1, f2, f1
/* 803881E8 00385128 EC 00 00 7A */ fmadds f0, f0, f1, f0
/* 803881EC 0038512C FC 00 00 1E */ fctiwz f0, f0
/* 803881F0 00385130 D8 01 00 38 */ stfd f0, 0x38(r1)
/* 803881F4 00385134 80 81 00 3C */ lwz r4, 0x3c(r1)
/* 803881F8 00385138 90 9E 00 18 */ stw r4, 0x18(r30)
/* 803881FC 0038513C 98 1E 00 1C */ stb r0, 0x1c(r30)
/* 80388200 00385140 98 1E 00 1E */ stb r0, 0x1e(r30)
/* 80388204 00385144 4B D7 D0 9D */ bl finishMotion__Q24Game9EnemyBaseFv
/* 80388208 00385148 48 00 00 44 */ b .L_8038824C
.L_8038820C:
/* 8038820C 0038514C 7F E3 FB 78 */ mr r3, r31
/* 80388210 00385150 4B D7 F0 F1 */ bl isFinishMotion__Q24Game9EnemyBaseFv
/* 80388214 00385154 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80388218 00385158 41 82 00 34 */ beq .L_8038824C
/* 8038821C 0038515C 80 7F 01 88 */ lwz r3, 0x188(r31)
/* 80388220 00385160 88 03 00 24 */ lbz r0, 0x24(r3)
/* 80388224 00385164 28 00 00 00 */ cmplwi r0, 0
/* 80388228 00385168 41 82 00 24 */ beq .L_8038824C
/* 8038822C 0038516C 80 03 00 1C */ lwz r0, 0x1c(r3)
/* 80388230 00385170 28 00 03 E8 */ cmplwi r0, 0x3e8
/* 80388234 00385174 40 82 00 18 */ bne .L_8038824C
/* 80388238 00385178 38 00 00 01 */ li r0, 1
/* 8038823C 0038517C C0 22 0A B8 */ lfs f1, lbl_8051EE18@sda21(r2)
/* 80388240 00385180 98 1E 00 1E */ stb r0, 0x1e(r30)
/* 80388244 00385184 7F E3 FB 78 */ mr r3, r31
/* 80388248 00385188 4B D7 CF E1 */ bl setMotionFrame__Q24Game9EnemyBaseFf
.L_8038824C:
/* 8038824C 0038518C 7F E3 FB 78 */ mr r3, r31
/* 80388250 00385190 48 00 35 7D */ bl resetRestPos__Q34Game11ShijimiChou3ObjFv
/* 80388254 00385194 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80388258 00385198 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 8038825C 0038519C 7C 03 00 00 */ cmpw r3, r0
/* 80388260 003851A0 41 80 01 B4 */ blt .L_80388414
/* 80388264 003851A4 40 82 00 1C */ bne .L_80388280
/* 80388268 003851A8 7F E3 FB 78 */ mr r3, r31
/* 8038826C 003851AC 38 80 00 02 */ li r4, 2
/* 80388270 003851B0 38 A0 00 00 */ li r5, 0
/* 80388274 003851B4 4B D7 CD 91 */ bl startMotion__Q24Game9EnemyBaseFiPQ28SysShape14MotionListener
/* 80388278 003851B8 38 00 00 00 */ li r0, 0
/* 8038827C 003851BC 98 1E 00 1E */ stb r0, 0x1e(r30)
.L_80388280:
/* 80388280 003851C0 7F E3 FB 78 */ mr r3, r31
/* 80388284 003851C4 48 00 32 9D */ bl checkRestOff__Q34Game11ShijimiChou3ObjFv
/* 80388288 003851C8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8038828C 003851CC 41 82 01 88 */ beq .L_80388414
/* 80388290 003851D0 7F E3 FB 78 */ mr r3, r31
/* 80388294 003851D4 4B D7 F5 01 */ bl hardConstraintOff__Q24Game9EnemyBaseFv
/* 80388298 003851D8 38 60 00 01 */ li r3, 1
/* 8038829C 003851DC 38 00 00 00 */ li r0, 0
/* 803882A0 003851E0 98 7E 00 1C */ stb r3, 0x1c(r30)
/* 803882A4 003851E4 7F E3 FB 78 */ mr r3, r31
/* 803882A8 003851E8 98 1E 00 1D */ stb r0, 0x1d(r30)
/* 803882AC 003851EC 4B D7 EF 59 */ bl startMotion__Q24Game9EnemyBaseFv
/* 803882B0 003851F0 80 9F 02 C8 */ lwz r4, 0x2c8(r31)
/* 803882B4 003851F4 38 61 00 20 */ addi r3, r1, 0x20
/* 803882B8 003851F8 81 84 00 00 */ lwz r12, 0(r4)
/* 803882BC 003851FC 81 8C 00 08 */ lwz r12, 8(r12)
/* 803882C0 00385200 7D 89 03 A6 */ mtctr r12
/* 803882C4 00385204 4E 80 04 21 */ bctrl
/* 803882C8 00385208 7F E4 FB 78 */ mr r4, r31
/* 803882CC 0038520C 38 61 00 14 */ addi r3, r1, 0x14
/* 803882D0 00385210 81 9F 00 00 */ lwz r12, 0(r31)
/* 803882D4 00385214 C3 E1 00 20 */ lfs f31, 0x20(r1)
/* 803882D8 00385218 81 8C 00 08 */ lwz r12, 8(r12)
/* 803882DC 0038521C C3 C1 00 24 */ lfs f30, 0x24(r1)
/* 803882E0 00385220 C3 A1 00 28 */ lfs f29, 0x28(r1)
/* 803882E4 00385224 7D 89 03 A6 */ mtctr r12
/* 803882E8 00385228 4E 80 04 21 */ bctrl
/* 803882EC 0038522C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 803882F0 00385230 38 00 00 00 */ li r0, 0
/* 803882F4 00385234 C0 21 00 18 */ lfs f1, 0x18(r1)
/* 803882F8 00385238 EC 40 F8 28 */ fsubs f2, f0, f31
/* 803882FC 0038523C C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80388300 00385240 EC 21 F0 28 */ fsubs f1, f1, f30
/* 80388304 00385244 EC 00 E8 28 */ fsubs f0, f0, f29
/* 80388308 00385248 EF FF 10 2A */ fadds f31, f31, f2
/* 8038830C 0038524C EF DE 08 2A */ fadds f30, f30, f1
/* 80388310 00385250 EF BD 00 2A */ fadds f29, f29, f0
/* 80388314 00385254 D3 FF 03 04 */ stfs f31, 0x304(r31)
/* 80388318 00385258 D3 DF 03 08 */ stfs f30, 0x308(r31)
/* 8038831C 0038525C D3 BF 03 0C */ stfs f29, 0x30c(r31)
/* 80388320 00385260 90 1E 00 10 */ stw r0, 0x10(r30)
/* 80388324 00385264 4B D4 12 7D */ bl rand
/* 80388328 00385268 6C 63 80 00 */ xoris r3, r3, 0x8000
/* 8038832C 0038526C 3C 00 43 30 */ lis r0, 0x4330
/* 80388330 00385270 90 61 00 3C */ stw r3, 0x3c(r1)
/* 80388334 00385274 7F E3 FB 78 */ mr r3, r31
/* 80388338 00385278 C8 62 0A C0 */ lfd f3, lbl_8051EE20@sda21(r2)
/* 8038833C 0038527C 38 80 00 02 */ li r4, 2
/* 80388340 00385280 90 01 00 38 */ stw r0, 0x38(r1)
/* 80388344 00385284 38 A0 00 00 */ li r5, 0
/* 80388348 00385288 C0 42 0A BC */ lfs f2, lbl_8051EE1C@sda21(r2)
/* 8038834C 0038528C C8 01 00 38 */ lfd f0, 0x38(r1)
/* 80388350 00385290 C0 22 0B 10 */ lfs f1, lbl_8051EE70@sda21(r2)
/* 80388354 00385294 EC 60 18 28 */ fsubs f3, f0, f3
/* 80388358 00385298 C0 02 0B 0C */ lfs f0, lbl_8051EE6C@sda21(r2)
/* 8038835C 0038529C EC 43 10 24 */ fdivs f2, f3, f2
/* 80388360 003852A0 EC 01 00 BA */ fmadds f0, f1, f2, f0
/* 80388364 003852A4 FC 00 00 1E */ fctiwz f0, f0
/* 80388368 003852A8 D8 01 00 30 */ stfd f0, 0x30(r1)
/* 8038836C 003852AC 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80388370 003852B0 90 1E 00 18 */ stw r0, 0x18(r30)
/* 80388374 003852B4 4B D7 CC 91 */ bl startMotion__Q24Game9EnemyBaseFiPQ28SysShape14MotionListener
/* 80388378 003852B8 48 00 00 9C */ b .L_80388414
.L_8038837C:
/* 8038837C 003852BC 80 7E 00 10 */ lwz r3, 0x10(r30)
/* 80388380 003852C0 80 1E 00 18 */ lwz r0, 0x18(r30)
/* 80388384 003852C4 7C 03 00 00 */ cmpw r3, r0
/* 80388388 003852C8 40 81 00 34 */ ble .L_803883BC
/* 8038838C 003852CC 80 9F 02 C8 */ lwz r4, 0x2c8(r31)
/* 80388390 003852D0 38 61 00 08 */ addi r3, r1, 8
/* 80388394 003852D4 81 84 00 00 */ lwz r12, 0(r4)
/* 80388398 003852D8 81 8C 00 08 */ lwz r12, 8(r12)
/* 8038839C 003852DC 7D 89 03 A6 */ mtctr r12
/* 803883A0 003852E0 4E 80 04 21 */ bctrl
/* 803883A4 003852E4 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 803883A8 003852E8 C0 41 00 10 */ lfs f2, 0x10(r1)
/* 803883AC 003852EC C0 01 00 08 */ lfs f0, 8(r1)
/* 803883B0 003852F0 D0 1F 03 04 */ stfs f0, 0x304(r31)
/* 803883B4 003852F4 D0 3F 03 08 */ stfs f1, 0x308(r31)
/* 803883B8 003852F8 D0 5F 03 0C */ stfs f2, 0x30c(r31)
.L_803883BC:
/* 803883BC 003852FC 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 803883C0 00385300 38 03 00 01 */ addi r0, r3, 1
/* 803883C4 00385304 90 1E 00 14 */ stw r0, 0x14(r30)
/* 803883C8 00385308 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 803883CC 0038530C 2C 00 00 14 */ cmpwi r0, 0x14
/* 803883D0 00385310 40 81 00 44 */ ble .L_80388414
/* 803883D4 00385314 7F E3 FB 78 */ mr r3, r31
/* 803883D8 00385318 48 00 2D D9 */ bl checkRestOn__Q34Game11ShijimiChou3ObjFv
/* 803883DC 0038531C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 803883E0 00385320 41 82 00 34 */ beq .L_80388414
/* 803883E4 00385324 38 00 00 01 */ li r0, 1
/* 803883E8 00385328 C0 02 0A B8 */ lfs f0, lbl_8051EE18@sda21(r2)
/* 803883EC 0038532C 98 1E 00 1D */ stb r0, 0x1d(r30)
/* 803883F0 00385330 7F E3 FB 78 */ mr r3, r31
/* 803883F4 00385334 98 1E 00 1C */ stb r0, 0x1c(r30)
/* 803883F8 00385338 D0 1F 01 C8 */ stfs f0, 0x1c8(r31)
/* 803883FC 0038533C D0 1F 01 CC */ stfs f0, 0x1cc(r31)
/* 80388400 00385340 D0 1F 01 D0 */ stfs f0, 0x1d0(r31)
/* 80388404 00385344 D0 1F 01 D4 */ stfs f0, 0x1d4(r31)
/* 80388408 00385348 D0 1F 01 D8 */ stfs f0, 0x1d8(r31)
/* 8038840C 0038534C D0 1F 01 DC */ stfs f0, 0x1dc(r31)
/* 80388410 00385350 4B D7 F3 6D */ bl hardConstraintOn__Q24Game9EnemyBaseFv
.L_80388414:
/* 80388414 00385354 7F E3 FB 78 */ mr r3, r31
/* 80388418 00385358 48 00 2C E5 */ bl restCheck__Q34Game11ShijimiChou3ObjFv
/* 8038841C 0038535C E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0
/* 80388420 00385360 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 80388424 00385364 E3 C1 00 68 */ psq_l f30, 104(r1), 0, qr0
/* 80388428 00385368 CB C1 00 60 */ lfd f30, 0x60(r1)
/* 8038842C 0038536C E3 A1 00 58 */ psq_l f29, 88(r1), 0, qr0
/* 80388430 00385370 CB A1 00 50 */ lfd f29, 0x50(r1)
/* 80388434 00385374 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 80388438 00385378 80 01 00 84 */ lwz r0, 0x84(r1)
/* 8038843C 0038537C 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 80388440 00385380 7C 08 03 A6 */ mtlr r0
/* 80388444 00385384 38 21 00 80 */ addi r1, r1, 0x80
/* 80388448 00385388 4E 80 00 20 */ blr