prime/asm/Kyoto/Animation/CAnimMathUtils.s

294 lines
15 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global SlerpLocal__14CAnimMathUtilsFRC11CQuaternionRC11CQuaternionf
SlerpLocal__14CAnimMathUtilsFRC11CQuaternionRC11CQuaternionf:
/* 802EB6BC 002E861C 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802EB6C0 002E8620 7C 08 02 A6 */ mflr r0
/* 802EB6C4 002E8624 90 01 00 54 */ stw r0, 0x54(r1)
/* 802EB6C8 002E8628 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 802EB6CC 002E862C F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 802EB6D0 002E8630 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 802EB6D4 002E8634 93 C1 00 38 */ stw r30, 0x38(r1)
/* 802EB6D8 002E8638 C0 44 00 08 */ lfs f2, 8(r4)
/* 802EB6DC 002E863C FF E0 08 90 */ fmr f31, f1
/* 802EB6E0 002E8640 C0 05 00 08 */ lfs f0, 8(r5)
/* 802EB6E4 002E8644 7C 9F 23 78 */ mr r31, r4
/* 802EB6E8 002E8648 C0 64 00 04 */ lfs f3, 4(r4)
/* 802EB6EC 002E864C 7C 7E 1B 78 */ mr r30, r3
/* 802EB6F0 002E8650 EC 02 00 32 */ fmuls f0, f2, f0
/* 802EB6F4 002E8654 C0 45 00 04 */ lfs f2, 4(r5)
/* 802EB6F8 002E8658 C0 A4 00 0C */ lfs f5, 0xc(r4)
/* 802EB6FC 002E865C EC 43 00 BA */ fmadds f2, f3, f2, f0
/* 802EB700 002E8660 C0 85 00 0C */ lfs f4, 0xc(r5)
/* 802EB704 002E8664 C0 C4 00 00 */ lfs f6, 0(r4)
/* 802EB708 002E8668 C0 65 00 00 */ lfs f3, 0(r5)
/* 802EB70C 002E866C EC 45 11 3A */ fmadds f2, f5, f4, f2
/* 802EB710 002E8670 C0 02 C6 3C */ lfs f0, lbl_805AE35C@sda21(r2)
/* 802EB714 002E8674 EC 46 10 FA */ fmadds f2, f6, f3, f2
/* 802EB718 002E8678 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802EB71C 002E867C 4C 41 13 82 */ cror 2, 1, 2
/* 802EB720 002E8680 40 82 00 14 */ bne lbl_802EB734
/* 802EB724 002E8684 38 61 00 28 */ addi r3, r1, 0x28
/* 802EB728 002E8688 48 00 00 71 */ bl Slerp__14CAnimMathUtilsFRC11CQuaternionRC11CQuaternionf
/* 802EB72C 002E868C 38 61 00 28 */ addi r3, r1, 0x28
/* 802EB730 002E8690 48 00 00 28 */ b lbl_802EB758
lbl_802EB734:
/* 802EB734 002E8694 7C A4 2B 78 */ mr r4, r5
/* 802EB738 002E8698 38 61 00 18 */ addi r3, r1, 0x18
/* 802EB73C 002E869C 48 02 5C F5 */ bl BuildEquivalent__11CQuaternionCFv
/* 802EB740 002E86A0 FC 20 F8 90 */ fmr f1, f31
/* 802EB744 002E86A4 7F E4 FB 78 */ mr r4, r31
/* 802EB748 002E86A8 38 61 00 08 */ addi r3, r1, 8
/* 802EB74C 002E86AC 38 A1 00 18 */ addi r5, r1, 0x18
/* 802EB750 002E86B0 48 00 00 49 */ bl Slerp__14CAnimMathUtilsFRC11CQuaternionRC11CQuaternionf
/* 802EB754 002E86B4 38 61 00 08 */ addi r3, r1, 8
lbl_802EB758:
/* 802EB758 002E86B8 C0 03 00 00 */ lfs f0, 0(r3)
/* 802EB75C 002E86BC D0 1E 00 00 */ stfs f0, 0(r30)
/* 802EB760 002E86C0 C0 03 00 04 */ lfs f0, 4(r3)
/* 802EB764 002E86C4 D0 1E 00 04 */ stfs f0, 4(r30)
/* 802EB768 002E86C8 C0 03 00 08 */ lfs f0, 8(r3)
/* 802EB76C 002E86CC D0 1E 00 08 */ stfs f0, 8(r30)
/* 802EB770 002E86D0 C0 03 00 0C */ lfs f0, 0xc(r3)
/* 802EB774 002E86D4 D0 1E 00 0C */ stfs f0, 0xc(r30)
/* 802EB778 002E86D8 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 802EB77C 002E86DC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802EB780 002E86E0 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 802EB784 002E86E4 83 E1 00 3C */ lwz r31, 0x3c(r1)
/* 802EB788 002E86E8 83 C1 00 38 */ lwz r30, 0x38(r1)
/* 802EB78C 002E86EC 7C 08 03 A6 */ mtlr r0
/* 802EB790 002E86F0 38 21 00 50 */ addi r1, r1, 0x50
/* 802EB794 002E86F4 4E 80 00 20 */ blr
.global Slerp__14CAnimMathUtilsFRC11CQuaternionRC11CQuaternionf
Slerp__14CAnimMathUtilsFRC11CQuaternionRC11CQuaternionf:
/* 802EB798 002E86F8 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 802EB79C 002E86FC 7C 08 02 A6 */ mflr r0
/* 802EB7A0 002E8700 90 01 00 64 */ stw r0, 0x64(r1)
/* 802EB7A4 002E8704 DB E1 00 50 */ stfd f31, 0x50(r1)
/* 802EB7A8 002E8708 F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0
/* 802EB7AC 002E870C DB C1 00 40 */ stfd f30, 0x40(r1)
/* 802EB7B0 002E8710 F3 C1 00 48 */ psq_st f30, 72(r1), 0, qr0
/* 802EB7B4 002E8714 DB A1 00 30 */ stfd f29, 0x30(r1)
/* 802EB7B8 002E8718 F3 A1 00 38 */ psq_st f29, 56(r1), 0, qr0
/* 802EB7BC 002E871C DB 81 00 20 */ stfd f28, 0x20(r1)
/* 802EB7C0 002E8720 F3 81 00 28 */ psq_st f28, 40(r1), 0, qr0
/* 802EB7C4 002E8724 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802EB7C8 002E8728 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802EB7CC 002E872C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 802EB7D0 002E8730 FF E0 08 90 */ fmr f31, f1
/* 802EB7D4 002E8734 C0 02 C6 40 */ lfs f0, lbl_805AE360@sda21(r2)
/* 802EB7D8 002E8738 7C 7D 1B 78 */ mr r29, r3
/* 802EB7DC 002E873C 7C 9E 23 78 */ mr r30, r4
/* 802EB7E0 002E8740 7C BF 2B 78 */ mr r31, r5
/* 802EB7E4 002E8744 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 802EB7E8 002E8748 4C 40 13 82 */ cror 2, 0, 2
/* 802EB7EC 002E874C 40 82 00 28 */ bne lbl_802EB814
/* 802EB7F0 002E8750 C0 1E 00 00 */ lfs f0, 0(r30)
/* 802EB7F4 002E8754 D0 1D 00 00 */ stfs f0, 0(r29)
/* 802EB7F8 002E8758 C0 1E 00 04 */ lfs f0, 4(r30)
/* 802EB7FC 002E875C D0 1D 00 04 */ stfs f0, 4(r29)
/* 802EB800 002E8760 C0 1E 00 08 */ lfs f0, 8(r30)
/* 802EB804 002E8764 D0 1D 00 08 */ stfs f0, 8(r29)
/* 802EB808 002E8768 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 802EB80C 002E876C D0 1D 00 0C */ stfs f0, 0xc(r29)
/* 802EB810 002E8770 48 00 01 AC */ b lbl_802EB9BC
lbl_802EB814:
/* 802EB814 002E8774 C0 02 C6 44 */ lfs f0, lbl_805AE364@sda21(r2)
/* 802EB818 002E8778 FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 802EB81C 002E877C 4C 41 13 82 */ cror 2, 1, 2
/* 802EB820 002E8780 40 82 00 28 */ bne lbl_802EB848
/* 802EB824 002E8784 C0 1F 00 00 */ lfs f0, 0(r31)
/* 802EB828 002E8788 D0 1D 00 00 */ stfs f0, 0(r29)
/* 802EB82C 002E878C C0 1F 00 04 */ lfs f0, 4(r31)
/* 802EB830 002E8790 D0 1D 00 04 */ stfs f0, 4(r29)
/* 802EB834 002E8794 C0 1F 00 08 */ lfs f0, 8(r31)
/* 802EB838 002E8798 D0 1D 00 08 */ stfs f0, 8(r29)
/* 802EB83C 002E879C C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 802EB840 002E87A0 D0 1D 00 0C */ stfs f0, 0xc(r29)
/* 802EB844 002E87A4 48 00 01 78 */ b lbl_802EB9BC
lbl_802EB848:
/* 802EB848 002E87A8 C0 9E 00 08 */ lfs f4, 8(r30)
/* 802EB84C 002E87AC C0 5F 00 08 */ lfs f2, 8(r31)
/* 802EB850 002E87B0 C0 BE 00 04 */ lfs f5, 4(r30)
/* 802EB854 002E87B4 EC 04 00 B2 */ fmuls f0, f4, f2
/* 802EB858 002E87B8 C0 7F 00 04 */ lfs f3, 4(r31)
/* 802EB85C 002E87BC C0 FE 00 0C */ lfs f7, 0xc(r30)
/* 802EB860 002E87C0 C0 DF 00 0C */ lfs f6, 0xc(r31)
/* 802EB864 002E87C4 EC 25 00 FA */ fmadds f1, f5, f3, f0
/* 802EB868 002E87C8 C1 1E 00 00 */ lfs f8, 0(r30)
/* 802EB86C 002E87CC C1 3F 00 00 */ lfs f9, 0(r31)
/* 802EB870 002E87D0 C0 02 C6 48 */ lfs f0, lbl_805AE368@sda21(r2)
/* 802EB874 002E87D4 EC 27 09 BA */ fmadds f1, f7, f6, f1
/* 802EB878 002E87D8 EC 28 0A 7A */ fmadds f1, f8, f9, f1
/* 802EB87C 002E87DC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802EB880 002E87E0 4C 41 13 82 */ cror 2, 1, 2
/* 802EB884 002E87E4 40 82 00 24 */ bne lbl_802EB8A8
/* 802EB888 002E87E8 D1 1D 00 00 */ stfs f8, 0(r29)
/* 802EB88C 002E87EC C0 1E 00 04 */ lfs f0, 4(r30)
/* 802EB890 002E87F0 D0 1D 00 04 */ stfs f0, 4(r29)
/* 802EB894 002E87F4 C0 1E 00 08 */ lfs f0, 8(r30)
/* 802EB898 002E87F8 D0 1D 00 08 */ stfs f0, 8(r29)
/* 802EB89C 002E87FC C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 802EB8A0 002E8800 D0 1D 00 0C */ stfs f0, 0xc(r29)
/* 802EB8A4 002E8804 48 00 01 18 */ b lbl_802EB9BC
lbl_802EB8A8:
/* 802EB8A8 002E8808 C0 02 C6 4C */ lfs f0, lbl_805AE36C@sda21(r2)
/* 802EB8AC 002E880C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802EB8B0 002E8810 40 81 00 68 */ ble lbl_802EB918
/* 802EB8B4 002E8814 EC 22 20 28 */ fsubs f1, f2, f4
/* 802EB8B8 002E8818 EC 63 28 28 */ fsubs f3, f3, f5
/* 802EB8BC 002E881C EC 06 38 28 */ fsubs f0, f6, f7
/* 802EB8C0 002E8820 EC 5F 00 72 */ fmuls f2, f31, f1
/* 802EB8C4 002E8824 EC 7F 00 F2 */ fmuls f3, f31, f3
/* 802EB8C8 002E8828 EC 3F 00 32 */ fmuls f1, f31, f0
/* 802EB8CC 002E882C EF C4 10 2A */ fadds f30, f4, f2
/* 802EB8D0 002E8830 EC 49 40 28 */ fsubs f2, f9, f8
/* 802EB8D4 002E8834 EF 85 18 2A */ fadds f28, f5, f3
/* 802EB8D8 002E8838 EC 1E 07 B2 */ fmuls f0, f30, f30
/* 802EB8DC 002E883C EF A7 08 2A */ fadds f29, f7, f1
/* 802EB8E0 002E8840 EF FF 40 BA */ fmadds f31, f31, f2, f8
/* 802EB8E4 002E8844 EC 1C 07 3A */ fmadds f0, f28, f28, f0
/* 802EB8E8 002E8848 EC 1D 07 7A */ fmadds f0, f29, f29, f0
/* 802EB8EC 002E884C EC 3F 07 FA */ fmadds f1, f31, f31, f0
/* 802EB8F0 002E8850 48 02 9A E9 */ bl InvSqrtF__5CMathFf
/* 802EB8F4 002E8854 EC 01 07 F2 */ fmuls f0, f1, f31
/* 802EB8F8 002E8858 EC 61 07 32 */ fmuls f3, f1, f28
/* 802EB8FC 002E885C EC 41 07 B2 */ fmuls f2, f1, f30
/* 802EB900 002E8860 D0 1D 00 00 */ stfs f0, 0(r29)
/* 802EB904 002E8864 EC 01 07 72 */ fmuls f0, f1, f29
/* 802EB908 002E8868 D0 7D 00 04 */ stfs f3, 4(r29)
/* 802EB90C 002E886C D0 5D 00 08 */ stfs f2, 8(r29)
/* 802EB910 002E8870 D0 1D 00 0C */ stfs f0, 0xc(r29)
/* 802EB914 002E8874 48 00 00 A8 */ b lbl_802EB9BC
lbl_802EB918:
/* 802EB918 002E8878 48 02 93 BD */ bl FastArcCosR__5CMathFf
/* 802EB91C 002E887C C0 02 C6 48 */ lfs f0, lbl_805AE368@sda21(r2)
/* 802EB920 002E8880 FF A0 08 90 */ fmr f29, f1
/* 802EB924 002E8884 EC 00 F8 28 */ fsubs f0, f0, f31
/* 802EB928 002E8888 EC 3D 00 32 */ fmuls f1, f29, f0
/* 802EB92C 002E888C 48 02 94 C5 */ bl FastSinR__5CMathFf
/* 802EB930 002E8890 FF C0 08 90 */ fmr f30, f1
/* 802EB934 002E8894 EC 3D 07 F2 */ fmuls f1, f29, f31
/* 802EB938 002E8898 48 02 94 B9 */ bl FastSinR__5CMathFf
/* 802EB93C 002E889C C0 5E 00 08 */ lfs f2, 8(r30)
/* 802EB940 002E88A0 C0 1F 00 08 */ lfs f0, 8(r31)
/* 802EB944 002E88A4 EC 9E 00 B2 */ fmuls f4, f30, f2
/* 802EB948 002E88A8 C0 BE 00 04 */ lfs f5, 4(r30)
/* 802EB94C 002E88AC EC 61 00 32 */ fmuls f3, f1, f0
/* 802EB950 002E88B0 C0 1F 00 04 */ lfs f0, 4(r31)
/* 802EB954 002E88B4 C0 5E 00 0C */ lfs f2, 0xc(r30)
/* 802EB958 002E88B8 EC DE 01 72 */ fmuls f6, f30, f5
/* 802EB95C 002E88BC EC A1 00 32 */ fmuls f5, f1, f0
/* 802EB960 002E88C0 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 802EB964 002E88C4 EF A4 18 2A */ fadds f29, f4, f3
/* 802EB968 002E88C8 C0 9F 00 00 */ lfs f4, 0(r31)
/* 802EB96C 002E88CC EC 7E 00 B2 */ fmuls f3, f30, f2
/* 802EB970 002E88D0 C0 FE 00 00 */ lfs f7, 0(r30)
/* 802EB974 002E88D4 EC 41 00 32 */ fmuls f2, f1, f0
/* 802EB978 002E88D8 EC 21 01 32 */ fmuls f1, f1, f4
/* 802EB97C 002E88DC EF E6 28 2A */ fadds f31, f6, f5
/* 802EB980 002E88E0 EC 1D 07 72 */ fmuls f0, f29, f29
/* 802EB984 002E88E4 EF 83 10 2A */ fadds f28, f3, f2
/* 802EB988 002E88E8 EF DE 09 FA */ fmadds f30, f30, f7, f1
/* 802EB98C 002E88EC EC 1F 07 FA */ fmadds f0, f31, f31, f0
/* 802EB990 002E88F0 EC 1C 07 3A */ fmadds f0, f28, f28, f0
/* 802EB994 002E88F4 EC 3E 07 BA */ fmadds f1, f30, f30, f0
/* 802EB998 002E88F8 48 02 9A 41 */ bl InvSqrtF__5CMathFf
/* 802EB99C 002E88FC EC 01 07 B2 */ fmuls f0, f1, f30
/* 802EB9A0 002E8900 EC 61 07 F2 */ fmuls f3, f1, f31
/* 802EB9A4 002E8904 EC 41 07 72 */ fmuls f2, f1, f29
/* 802EB9A8 002E8908 D0 1D 00 00 */ stfs f0, 0(r29)
/* 802EB9AC 002E890C EC 01 07 32 */ fmuls f0, f1, f28
/* 802EB9B0 002E8910 D0 7D 00 04 */ stfs f3, 4(r29)
/* 802EB9B4 002E8914 D0 5D 00 08 */ stfs f2, 8(r29)
/* 802EB9B8 002E8918 D0 1D 00 0C */ stfs f0, 0xc(r29)
lbl_802EB9BC:
/* 802EB9BC 002E891C E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0
/* 802EB9C0 002E8920 CB E1 00 50 */ lfd f31, 0x50(r1)
/* 802EB9C4 002E8924 E3 C1 00 48 */ psq_l f30, 72(r1), 0, qr0
/* 802EB9C8 002E8928 CB C1 00 40 */ lfd f30, 0x40(r1)
/* 802EB9CC 002E892C E3 A1 00 38 */ psq_l f29, 56(r1), 0, qr0
/* 802EB9D0 002E8930 CB A1 00 30 */ lfd f29, 0x30(r1)
/* 802EB9D4 002E8934 E3 81 00 28 */ psq_l f28, 40(r1), 0, qr0
/* 802EB9D8 002E8938 CB 81 00 20 */ lfd f28, 0x20(r1)
/* 802EB9DC 002E893C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802EB9E0 002E8940 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802EB9E4 002E8944 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802EB9E8 002E8948 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 802EB9EC 002E894C 7C 08 03 A6 */ mtlr r0
/* 802EB9F0 002E8950 38 21 00 60 */ addi r1, r1, 0x60
/* 802EB9F4 002E8954 4E 80 00 20 */ blr
.global "__ct__Q24rstl48vector<11CQuaternion,Q24rstl17rmemory_allocator>FR12CInputStreamRCQ24rstl17rmemory_allocator"
"__ct__Q24rstl48vector<11CQuaternion,Q24rstl17rmemory_allocator>FR12CInputStreamRCQ24rstl17rmemory_allocator":
/* 802EB9F8 002E8958 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802EB9FC 002E895C 7C 08 02 A6 */ mflr r0
/* 802EBA00 002E8960 90 01 00 34 */ stw r0, 0x34(r1)
/* 802EBA04 002E8964 38 00 00 00 */ li r0, 0
/* 802EBA08 002E8968 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802EBA0C 002E896C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802EBA10 002E8970 93 A1 00 24 */ stw r29, 0x24(r1)
/* 802EBA14 002E8974 7C 9D 23 78 */ mr r29, r4
/* 802EBA18 002E8978 93 81 00 20 */ stw r28, 0x20(r1)
/* 802EBA1C 002E897C 7C 7C 1B 78 */ mr r28, r3
/* 802EBA20 002E8980 90 03 00 04 */ stw r0, 4(r3)
/* 802EBA24 002E8984 7F A3 EB 78 */ mr r3, r29
/* 802EBA28 002E8988 90 1C 00 08 */ stw r0, 8(r28)
/* 802EBA2C 002E898C 90 1C 00 0C */ stw r0, 0xc(r28)
/* 802EBA30 002E8990 48 05 32 55 */ bl ReadLong__12CInputStreamFv
/* 802EBA34 002E8994 7C 7F 1B 78 */ mr r31, r3
/* 802EBA38 002E8998 7F 83 E3 78 */ mr r3, r28
/* 802EBA3C 002E899C 7F E4 FB 78 */ mr r4, r31
/* 802EBA40 002E89A0 4B DA 9B 49 */ bl "reserve__Q24rstl48vector<11CQuaternion,Q24rstl17rmemory_allocator>Fi"
/* 802EBA44 002E89A4 3B C0 00 00 */ li r30, 0
/* 802EBA48 002E89A8 48 00 00 7C */ b lbl_802EBAC4
lbl_802EBA4C:
/* 802EBA4C 002E89AC 7F A4 EB 78 */ mr r4, r29
/* 802EBA50 002E89B0 38 61 00 08 */ addi r3, r1, 8
/* 802EBA54 002E89B4 48 02 69 DD */ bl __ct__11CQuaternionFR12CInputStream
/* 802EBA58 002E89B8 80 1C 00 04 */ lwz r0, 4(r28)
/* 802EBA5C 002E89BC 80 BC 00 08 */ lwz r5, 8(r28)
/* 802EBA60 002E89C0 7C 00 28 00 */ cmpw r0, r5
/* 802EBA64 002E89C4 41 80 00 1C */ blt lbl_802EBA80
/* 802EBA68 002E89C8 2C 05 00 00 */ cmpwi r5, 0
/* 802EBA6C 002E89CC 7F 83 E3 78 */ mr r3, r28
/* 802EBA70 002E89D0 38 80 00 04 */ li r4, 4
/* 802EBA74 002E89D4 41 82 00 08 */ beq lbl_802EBA7C
/* 802EBA78 002E89D8 54 A4 08 3C */ slwi r4, r5, 1
lbl_802EBA7C:
/* 802EBA7C 002E89DC 4B DA 9B 0D */ bl "reserve__Q24rstl48vector<11CQuaternion,Q24rstl17rmemory_allocator>Fi"
lbl_802EBA80:
/* 802EBA80 002E89E0 80 1C 00 04 */ lwz r0, 4(r28)
/* 802EBA84 002E89E4 80 7C 00 0C */ lwz r3, 0xc(r28)
/* 802EBA88 002E89E8 54 00 20 36 */ slwi r0, r0, 4
/* 802EBA8C 002E89EC 7C 63 02 15 */ add. r3, r3, r0
/* 802EBA90 002E89F0 41 82 00 24 */ beq lbl_802EBAB4
/* 802EBA94 002E89F4 C0 01 00 08 */ lfs f0, 8(r1)
/* 802EBA98 002E89F8 D0 03 00 00 */ stfs f0, 0(r3)
/* 802EBA9C 002E89FC C0 01 00 0C */ lfs f0, 0xc(r1)
/* 802EBAA0 002E8A00 D0 03 00 04 */ stfs f0, 4(r3)
/* 802EBAA4 002E8A04 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 802EBAA8 002E8A08 D0 03 00 08 */ stfs f0, 8(r3)
/* 802EBAAC 002E8A0C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 802EBAB0 002E8A10 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_802EBAB4:
/* 802EBAB4 002E8A14 80 7C 00 04 */ lwz r3, 4(r28)
/* 802EBAB8 002E8A18 3B DE 00 01 */ addi r30, r30, 1
/* 802EBABC 002E8A1C 38 03 00 01 */ addi r0, r3, 1
/* 802EBAC0 002E8A20 90 1C 00 04 */ stw r0, 4(r28)
lbl_802EBAC4:
/* 802EBAC4 002E8A24 7C 1E F8 00 */ cmpw r30, r31
/* 802EBAC8 002E8A28 41 80 FF 84 */ blt lbl_802EBA4C
/* 802EBACC 002E8A2C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802EBAD0 002E8A30 7F 83 E3 78 */ mr r3, r28
/* 802EBAD4 002E8A34 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802EBAD8 002E8A38 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802EBADC 002E8A3C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 802EBAE0 002E8A40 83 81 00 20 */ lwz r28, 0x20(r1)
/* 802EBAE4 002E8A44 7C 08 03 A6 */ mtlr r0
/* 802EBAE8 002E8A48 38 21 00 30 */ addi r1, r1, 0x30
/* 802EBAEC 002E8A4C 4E 80 00 20 */ blr